<?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>80201</bug_id>
          
          <creation_ts>2012-03-02 16:26:29 -0800</creation_ts>
          <short_desc>[chromium] more comprehensive tests for gesture scrolling</short_desc>
          <delta_ts>2012-03-08 17:27:51 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>80075</dependson>
          <blocked>67822</blocked>
    
    <blocked>80311</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Robert Kroeger">rjkroege</reporter>
          <assigned_to name="Robert Kroeger">rjkroege</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>570029</commentid>
    <comment_count>0</comment_count>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2012-03-02 16:26:29 -0800</bug_when>
    <thetext>I am planning to refactor part of the code in WebCore than scrolls in response to arriving GestureScroll* to correctly handle GestureScrollBegin and GestureScrollEnd events. This patch adds some tests to ensure that the refactor will not alter the (currently correct) behaviour of GestureScrollUpdate events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570037</commentid>
    <comment_count>1</comment_count>
      <attachid>129980</attachid>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2012-03-02 16:44:01 -0800</bug_when>
    <thetext>Created attachment 129980
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570039</commentid>
    <comment_count>2</comment_count>
      <attachid>129980</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-02 16:46:21 -0800</bug_when>
    <thetext>Comment on attachment 129980
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570079</commentid>
    <comment_count>3</comment_count>
      <attachid>129980</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-02 18:45:26 -0800</bug_when>
    <thetext>Comment on attachment 129980
Patch

Rejecting attachment 129980 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 1

Last 500 characters of output:
_by_email
    return self._reviewer_only(self.account_by_email(email))
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/common/config/committers.py&quot;, line 632, in account_by_email
    return self._email_to_account_map().get(email.lower()) if email else None
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/common/config/committers.py&quot;, line 525, in _email_to_account_map
    assert(email not in self._accounts_by_email)  # We should never have duplicate emails.
AssertionError

Full output: http://queues.webkit.org/results/11807023</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570081</commentid>
    <comment_count>4</comment_count>
      <attachid>129980</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-02 18:47:45 -0800</bug_when>
    <thetext>Comment on attachment 129980
Patch

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

New failing tests:
fast/events/touch/gesture/touch-gesture-scroll-shy-target.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570292</commentid>
    <comment_count>5</comment_count>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2012-03-04 13:20:00 -0800</bug_when>
    <thetext>The tests need to be adjusted for the changed in 80075. New patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573986</commentid>
    <comment_count>6</comment_count>
      <attachid>130860</attachid>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2012-03-08 11:18:53 -0800</bug_when>
    <thetext>Created attachment 130860
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574021</commentid>
    <comment_count>7</comment_count>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2012-03-08 11:45:24 -0800</bug_when>
    <thetext>abarth: please take another look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574418</commentid>
    <comment_count>8</comment_count>
      <attachid>130860</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-08 17:27:45 -0800</bug_when>
    <thetext>Comment on attachment 130860
Patch

Clearing flags on attachment: 130860

Committed r110240: &lt;http://trac.webkit.org/changeset/110240&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574419</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-08 17:27:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129980</attachid>
            <date>2012-03-02 16:44:01 -0800</date>
            <delta_ts>2012-03-08 11:18:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80201-20120302194400.patch</filename>
            <type>text/plain</type>
            <size>25838</size>
            <attacher name="Robert Kroeger">rjkroege</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5NjMxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTJhYTQ2MjEwN2NlNmUwY2Q5MDg2
MGU1YTBlNGQ5MzJiNTY4YmQ5YS4uZDIxZjYxNDg1ZDU1YTdlNzM0MmIzZWNmMTNmMDkzZTBhODVm
YTU4MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTAzLTAyICBSb2JlcnQgS3JvZWdlciAg
PHJqa3JvZWdlQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIG1vcmUgY29tcHJl
aGVuc2l2ZSB0ZXN0cyBmb3IgZ2VzdHVyZSBzY3JvbGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMjAxCisKKyAgICAgICAgVGVzdHMgdG8gZW5z
dXJlIHRoYXQgYSBwbGFubmVkIGNoYW5nZSB0byBjb3JyZWN0IHRoZSBoYW5kbGluZyBvZiBHZXN0
dXJlU2Nyb2xsQmVnaW4gYW5kCisgICAgICAgIEdlc3R1cmVTY3JvbGxFbmQgZXZlbnRzIGRvZXNu
J3QgcmVncmVzcyB0aGUgY3VycmVudGx5IGNvcnJlY3QgaGFuZGxpbmcgb2YgR2VzdHVyZVNjcm9s
bFVwZGF0ZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGZhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvcmVzb3VyY2VzL2dlc3R1cmUtaGVscGVycy5q
czogQWRkZWQuIENvbnZlbmllbmNlIEphdmFTY3JpcHQgZnVuY3Rpb25zLgorICAgICAgICAocmVj
b3JkV2hlZWwpOgorICAgICAgICAocmVjb3JkU2Nyb2xsKToKKyAgICAgICAgKGV4aXRJZk5lY2Vz
c2FyeSk6CisgICAgICAgIChjaGVja1Rlc3REZXBlbmRlbmNpZXMpOgorICAgICAgICAoY2hlY2tT
Y3JvbGxPZmZzZXQpOgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvcmVzb3Vy
Y2VzL3Njcm9sbC1pbnNpZGUtaWZyYW1lLmh0bWw6IEFkZGVkOiBpZnJhbWUgY29udGVudHMuCisg
ICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1k
aXYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy90b3VjaC9nZXN0
dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWRpdi5odG1sOiBBZGRlZDogZ2VzdHVyZSBzY3JvbGxz
IHdvcmsgaW4gYW4gb3ZlcmZsb3cgZGl2CisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvZ2Vz
dHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1pZnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZDogZ2Vz
dHVyZSBzY3JvbGxzIHdvcmsgaW4gYW4gaWZyYW1lLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3Rv
dWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtaWZyYW1lLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtcGFn
ZS1leHBlY3RlZC50eHQ6IEFkZGVkOiBnZXN0dXJlIHNjcm9sbHMgd29yayBvbiBhIHBhZ2UuCisg
ICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1w
YWdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91
Y2gtZ2VzdHVyZS1zY3JvbGwtc2h5LXRhcmdldC1leHBlY3RlZC50eHQ6IEFkZGVkOiBnZXN0dXJl
IHNjcm9sbHMgd29yayBvbiBhIGRpdgorICAgICAgICByZW1vdmVkIGZyb20gdGhlIERPTSBkdXJp
bmcgZXZlbnQgZGVsaXZlcnkuCisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90
b3VjaC1nZXN0dXJlLXNjcm9sbC1zaHktdGFyZ2V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1z
Y3JvbGwtZGl2LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1pZnJhbWUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2
ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLXBhZ2UtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy90b3VjaC9n
ZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLXNoeS10YXJnZXQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKwogMjAxMi0wMy0wMiAgQWRhbSBLbGVpbiAgPGFkYW1rQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBVbnJldmlld2VkIHJlYmFzZWxpbmUgb2YgU1ZHIGZlSW1hZ2UgdGVzdHMgYWZ0ZXIgcjEw
NTYxMiBhbmQgcjEwNjExMy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Rv
dWNoL2dlc3R1cmUvcmVzb3VyY2VzL2dlc3R1cmUtaGVscGVycy5qcyBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvcmVzb3VyY2VzL2dlc3R1cmUtaGVscGVycy5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hNDQ4ZTdiM2ExZWYxMDBmOTk0YmFlOTg1ZTY2OTg3MGJiMjkzZDgzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS9yZXNvdXJj
ZXMvZ2VzdHVyZS1oZWxwZXJzLmpzCkBAIC0wLDAgKzEsNTEgQEAKK2Z1bmN0aW9uIHJlY29yZFdo
ZWVsKGV2ZW50KQoreworICAgIGRlYnVnKCd3aGVlbCBldmVudCAnICsgd2hlZWxFdmVudHNPY2N1
cnJlZCArICcrPiAnICsgZXZlbnQudGFyZ2V0KTsKKyAgICB3aGVlbEV2ZW50c09jY3VycmVkKys7
Cit9CisKK2Z1bmN0aW9uIHJlY29yZFNjcm9sbChldmVudCkKK3sKKyAgICBkZWJ1Zygnc2Nyb2xs
IGV2ZW50ICcgKyBzY3JvbGxFdmVudHNPY2N1cnJlZCArICcrPiAnICsgZXZlbnQudGFyZ2V0KTsK
KyAgICBzY3JvbGxFdmVudHNPY2N1cnJlZCsrOworCisgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRl
cikgeworICAgICAgICAvLyBCZWNhdXNlIHNjcm9sbCBldmVudHMgYXJyaXZlIGFzeW5jaHJvbm91
c2x5LCBvbmx5IG9uZSB3aWxsIGFycml2ZS4KKyAgICAgICAgaWYgKGdlc3R1cmVzT2NjdXJyZWQg
PT0gZXhwZWN0ZWRHZXN0dXJlc1RvdGFsKSB7CisgICAgICAgICAgICBzaG91bGRCZSgnc2Nyb2xs
RXZlbnRzT2NjdXJyZWQnLCBleHBlY3RlZFNjcm9sbEV2ZW50c09jY3VycmVkKTsKKyAgICAgICAg
ICAgIC8vIElmIHdlJ3ZlIGdvdCBoZXJlLCB3ZSd2ZSBwYXNzZWQuCisgICAgICAgICAgICBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICAgICAgICAgICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQo
KTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAg
ICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9Cisg
ICAgfQorfQorCitmdW5jdGlvbiBleGl0SWZOZWNlc3NhcnkoKQoreworICAgIGRlYnVnKCdnZXN0
dXJlIGV2ZW50cyBub3QgaW1wbGVtZW50ZWQgb24gdGhpcyBwbGF0Zm9ybSBvciBnZXN0dXJlIGV2
ZW50IHNjcm9sbGluZyBvZiBhIGRvY3VtZW50IGlzIGJyb2tlbicpOworICAgIHN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7CisgICAgaXNTdWNjZXNzZnVsbHlQYXJzZWQoKTsKKyAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIGNoZWNrVGVzdERlcGVuZGVuY2llcygpCit7Cisg
ICAgcmV0dXJuIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxCZWdpbiAmJiBldmVudFNlbmRlci5n
ZXN0dXJlU2Nyb2xsVXBkYXRlICYmIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxFbmQ7Cit9CisK
K2Z1bmN0aW9uIGNoZWNrU2Nyb2xsT2Zmc2V0KCkKK3sKKyAgICBpZiAod2luZG93LmV2ZW50U2Vu
ZGVyKSB7CisgICAgICAgIHNob3VsZEJlKHNjcm9sbGVkRWxlbWVudCArICcuJyArICdzY3JvbGxU
b3AnLCBzY3JvbGxBbW91bnRZW2dlc3R1cmVzT2NjdXJyZWRdKTsKKyAgICAgICAgc2hvdWxkQmUo
c2Nyb2xsZWRFbGVtZW50ICsgJy4nICsgJ3Njcm9sbExlZnQnLCBzY3JvbGxBbW91bnRYW2dlc3R1
cmVzT2NjdXJyZWRdKTsKKyAgICAgICAgc2hvdWxkQmUoJ3doZWVsRXZlbnRzT2NjdXJyZWQnLCBl
eHBlY3RlZFdoZWVsRXZlbnRzT2NjdXJyZWRbZ2VzdHVyZXNPY2N1cnJlZF0pOworICAgICAgICBn
ZXN0dXJlc09jY3VycmVkKys7CisgICAgfQorICAgIGlmIChnZXN0dXJlc09jY3VycmVkIDwgZXhw
ZWN0ZWRHZXN0dXJlc1RvdGFsKSB7CisgICAgICAgIHdoZWVsRXZlbnRzT2NjdXJyZWQgPSAwOwor
ICAgICAgICBzZWNvbmRHZXN0dXJlU2Nyb2xsKCk7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS9yZXNvdXJjZXMvc2Nyb2xsLWluc2lk
ZS1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvcmVz
b3VyY2VzL3Njcm9sbC1pbnNpZGUtaWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTRmNzg4NzdjNTJi
YTU3NmI0YzUxMTgwMGY0MTRiODRkMDQzN2Q5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvcmVzb3VyY2VzL3Njcm9sbC1pbnNpZGUtaWZy
YW1lLmh0bWwKQEAgLTAsMCArMSwzNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZSB0eXBlPSJ0
ZXh0L2NzcyI+CisjZ3JlZW5ib3ggeworICB3aWR0aDogMTAwcHg7CisgIGhlaWdodDogMTAwcHg7
CisgIGJhY2tncm91bmQ6IGdyZWVuOworICBwYWRkaW5nOiAwcHg7CisgIG1hcmdpbjogMHB4O2EK
K30KKyNyZWRib3ggeworICB3aWR0aDogMTAwcHg7CisgIGhlaWdodDogMTAwcHg7CisgIGJhY2tn
cm91bmQ6IHJlZDsKKyAgcGFkZGluZzogMHB4OworICBtYXJnaW46IDBweDsKK30KKwordGQgewor
ICBwYWRkaW5nOiAwcHg7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHkgc3R5bGU9Im1hcmdp
bjowIiBvbmxvYWQ9InBhcmVudC5ydW5UZXN0KCkiPgorCis8dGFibGUgaWQ9InRhYmxlX3RvX2Zp
bGwiPgorICAgIDx0cj48dGQ+PGRpdiBpZD0iZ3JlZW5ib3giPjwvZGl2PjwvdGQ+PC90cj4KKyAg
ICA8dHI+PHRkPjxkaXYgaWQ9InJlZGJveCI+PC9kaXY+PC90ZD48L3RyPgorICAgIDx0cj48dGQ+
PGRpdiBpZD0iZ3JlZW5ib3giPjwvZGl2PjwvdGQ+PC90cj4KKyAgICA8dHI+PHRkPjxkaXYgaWQ9
InJlZGJveCI+PC9kaXY+PC90ZD48L3RyPgorPC90YWJsZT4KKzxib2R5PgorPC9odG1sPgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdl
c3R1cmUtc2Nyb2xsLWRpdi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90
b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWRpdi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNzNhYjc5NWY4ZGVhMTk2YTc3ZmE2NTgzYTg5N2EwMmYzZDQyMzk1YQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2Vz
dHVyZS1zY3JvbGwtZGl2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUaGlzIHRlc3Rz
IGdlc3R1cmUgZXZlbnQgc2Nyb2xsaW5nIG9mIGFuIG92ZXJmbG93IGRpdi4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK2dlc3R1cmUgZXZlbnRzIG5vdCBpbXBsZW1lbnRlZCBvbiB0
aGlzIHBsYXRmb3JtIG9yIGdlc3R1cmUgZXZlbnQgc2Nyb2xsaW5nIG9mIGEgZG9jdW1lbnQgaXMg
YnJva2VuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3Vj
aC1nZXN0dXJlLXNjcm9sbC1kaXYuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNo
L2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtZGl2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmU0NWI4
MTIyYTMyNGVjMjkxM2I0ZGFkOTdiNDU0MmY1YWI1MzRkMQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwt
ZGl2Lmh0bWwKQEAgLTAsMCArMSwxMjAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvZ2VzdHVyZS1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2Nz
cyI+CisjdG91Y2h0YXJnZXQgeworICB3aWR0aDogMTAwcHg7CisgIGhlaWdodDogMTAwcHg7Cisg
IHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgYmFja2dyb3VuZDogd2hpdGU7Cit9CisKKyNtb3Zpbmdi
b3ggeworICB3aWR0aDogMTAwJTsKKyAgaGVpZ2h0OiAxMDAlOworICBwb3NpdGlvbjogYWJzb2x1
dGU7CisgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKKyAgb3ZlcmZsb3cteTogc2Nyb2xsOworICBv
dmVyZmxvdy14OiBzY3JvbGw7CisgIGRpc3BsYXk6IGJsb2NrOworfQorCisjZ3JlZW5ib3ggewor
ICB3aWR0aDogMTAwcHg7CisgIGhlaWdodDogMTAwcHg7CisgIGJhY2tncm91bmQ6IGdyZWVuOwor
ICBwYWRkaW5nOiAwcHg7CisgIG1hcmdpbjogMHB4OworfQorCisjcmVkYm94IHsKKyAgd2lkdGg6
IDEwMHB4OworICBoZWlnaHQ6IDEwMHB4OworICBiYWNrZ3JvdW5kOiByZWQ7CisgIHBhZGRpbmc6
IDBweDsKKyAgbWFyZ2luOiAwcHg7Cit9CisKK3RkIHsKKyAgcGFkZGluZzogMHB4OworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5IHN0eWxlPSJtYXJnaW46MCIgb25sb2FkPSJydW5UZXN0KCk7
Ij4KKzxkaXYgaWQ9InRvdWNodGFyZ2V0Ij4KKyAgPGRpdiBpZD0ibW92aW5nYm94Ij4KKyAgICA8
dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMHB4IiBpZD0idGFibGVmb28iPgorICAgICAg
PHRyPgorICAgICAgICA8dGQ+PGRpdiBpZD0icmVkYm94Ij48L2Rpdj48L3RkPgorICAgICAgICA8
dGQ+PGRpdiBpZD0iZ3JlZW5ib3giPjwvZGl2PjwvdGQ+CisgICAgICA8L3RyPgorICAgICAgPHRy
PgorICAgICAgICA8dGQ+PGRpdiBpZD0iZ3JlZW5ib3giPjwvZGl2PjwvdGQ+CisgICAgICAgIDx0
ZD48ZGl2IGlkPSJncmVlbmJveCI+PC9kaXY+PC90ZD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJs
ZT4KKyAgPC9kaXY+Cis8L2Rpdj4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKwordmFy
IG1vdmluZ2RpdjsKK3ZhciBleHBlY3RlZEdlc3R1cmVzVG90YWwgPSAyOwordmFyIGdlc3R1cmVz
T2NjdXJyZWQgPSAwOwordmFyIHNjcm9sbEFtb3VudFggPSBbJzkwJywgJzkwJ107Cit2YXIgc2Ny
b2xsQW1vdW50WSA9IFsnMCcsICc5NSddOwordmFyIHdoZWVsRXZlbnRzT2NjdXJyZWQgPSAwOwor
dmFyIGV4cGVjdGVkV2hlZWxFdmVudHNPY2N1cnJlZCA9IFsnMScsICcxJ107Cit2YXIgc2Nyb2xs
RXZlbnRzT2NjdXJyZWQgPSAwOwordmFyIGV4cGVjdGVkU2Nyb2xsRXZlbnRzT2NjdXJyZWQgPSAn
MSc7Cit2YXIgc2Nyb2xsZWRFbGVtZW50ID0gJ21vdmluZ2RpdicKKworZnVuY3Rpb24gZmlyc3RH
ZXN0dXJlU2Nyb2xsKCkKK3sKKyAgICBkZWJ1ZygiZmlyc3QgZ2VzdHVyZSIpOworICAgIGV2ZW50
U2VuZGVyLmdlc3R1cmVTY3JvbGxCZWdpbig5NSwgMTIpOworICAgIGV2ZW50U2VuZGVyLmdlc3R1
cmVTY3JvbGxVcGRhdGUoLTkwLCAwKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsRW5k
KDAsIDApOworCisgICAgLy8gV2FpdCBmb3IgbGF5b3V0LgorICAgIGNoZWNrU2Nyb2xsT2Zmc2V0
KCk7Cit9CisKK2Z1bmN0aW9uIHNlY29uZEdlc3R1cmVTY3JvbGwoKQoreworICAgIGRlYnVnKCJz
ZWNvbmQgZ2VzdHVyZSIpOworICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxCZWdpbigxMiwg
OTcpOworICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxVcGRhdGUoMCwgLTk1KTsKKyAgICBl
dmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsRW5kKDAsIDApOworCisgICAgLy8gV2FpdCBmb3IgbGF5
b3V0LgorICAgIGNoZWNrU2Nyb2xsT2Zmc2V0KCk7Cit9CisKK2lmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwor
CitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBtb3ZpbmdkaXYgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnbW92aW5nYm94Jyk7CisgICAgbW92aW5nZGl2LmFkZEV2ZW50TGlzdGVuZXIoInNj
cm9sbCIsIHJlY29yZFNjcm9sbCk7CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNl
d2hlZWwiLCByZWNvcmRXaGVlbCk7CisKKyAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7Cisg
ICAgICAgIGRlc2NyaXB0aW9uKCdUaGlzIHRlc3RzIGdlc3R1cmUgZXZlbnQgc2Nyb2xsaW5nIG9m
IGFuIG92ZXJmbG93IGRpdi4nKTsKKworICAgICAgICBpZiAoY2hlY2tUZXN0RGVwZW5kZW5jaWVz
KCkpCisgICAgICAgICAgICBmaXJzdEdlc3R1cmVTY3JvbGwoKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgZXhpdElmTmVjZXNzYXJ5KCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZGVidWco
IlRoaXMgdGVzdCByZXF1aXJlcyBEdW1wUmVuZGVyVHJlZS4gIFRvdWNoIHNjcm9sbCB0aGUgcmVk
IHJlY3QgdG8gbG9nLiIpOworICAgIH0KK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1n
ZXN0dXJlLXNjcm9sbC1pZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1pZnJhbWUtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyNGEyZWE1NjM1NWRlY2YyZjM4NzcxMjYzNWNmMjQwYzVmMGVhYmEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3Rv
dWNoLWdlc3R1cmUtc2Nyb2xsLWlmcmFtZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAor
CitUaGlzIHRlc3RzIGdlc3R1cmUgZXZlbnQgc2Nyb2xsaW5nIGluIGlmcmFtZXMuIFJlZC1ncmVl
biBzdHJpcCBpcyBzY3JvbGxlZCBvbiBwYXNzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworZ2VzdHVyZSBldmVudHMgbm90IGltcGxlbWVudGVkIG9uIHRoaXMgcGxhdGZvcm0gb3Ig
Z2VzdHVyZSBldmVudCBzY3JvbGxpbmcgb2YgYSBkb2N1bWVudCBpcyBicm9rZW4KK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xs
LWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3Vj
aC1nZXN0dXJlLXNjcm9sbC1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ODczM2QwOWZhNmRjMjA2
OGFjYzJjZGJmMTA0MGM3MzE3Zjk5ODAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1pZnJhbWUuaHRt
bApAQCAtMCwwICsxLDc3IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL2dlc3R1cmUtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cis8c3R5bGUgdHlwZT0i
dGV4dC9jc3MiPgorI3RvdWNodGFyZ2V0IHsKKyAgd2lkdGg6IDIwMHB4OworICBoZWlnaHQ6IDIw
MHB4OworICBwb3NpdGlvbjogcmVsYXRpdmU7CisgIGJhY2tncm91bmQ6IHdoaXRlOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGlmcmFtZSBpZD0idG91Y2h0YXJnZXQiIHNyYz0icmVz
b3VyY2VzL3Njcm9sbC1pbnNpZGUtaWZyYW1lLmh0bWwiPjwvaWZyYW1lPgorICAgIDxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCI+CisKK3ZhciB0b3VjaHRhcmdldDsKK3ZhciBleHBlY3RlZEdlc3R1
cmVzVG90YWwgPSAyOwordmFyIGdlc3R1cmVzT2NjdXJyZWQgPSAwOwordmFyIHNjcm9sbEFtb3Vu
dFggPSBbJzAnLCAnMCddOwordmFyIHNjcm9sbEFtb3VudFkgPSBbJzE0MCcsICcyMDAnXTsKK3Zh
ciB3aGVlbEV2ZW50c09jY3VycmVkID0gMDsKK3ZhciBleHBlY3RlZFdoZWVsRXZlbnRzT2NjdXJy
ZWQgPSBbJzEnLCAnMSddOwordmFyIHNjcm9sbEV2ZW50c09jY3VycmVkID0gMDsKK3ZhciBleHBl
Y3RlZFNjcm9sbEV2ZW50c09jY3VycmVkID0gJzEnOwordmFyIHNjcm9sbGVkRWxlbWVudCA9ICd0
b3VjaHRhcmdldC5jb250ZW50RG9jdW1lbnQuYm9keScKKworZnVuY3Rpb24gZmlyc3RHZXN0dXJl
U2Nyb2xsKCkKK3sKKyAgICBkZWJ1ZygiZmlyc3QgZ2VzdHVyZSIpOworICAgIGV2ZW50U2VuZGVy
Lmdlc3R1cmVTY3JvbGxCZWdpbigxMiwgMTUwKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Ny
b2xsVXBkYXRlKDAsIC0xNDApOworICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxFbmQoMCwg
MCk7CisKKyAgICAvLyBXYWl0IGZvciBsYXlvdXQuCisgICAgY2hlY2tTY3JvbGxPZmZzZXQoKTsK
K30KKworZnVuY3Rpb24gc2Vjb25kR2VzdHVyZVNjcm9sbCgpCit7CisgICAgZGVidWcoInNlY29u
ZCBnZXN0dXJlIik7CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbEJlZ2luKDEyLCAxMTAp
OworICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxVcGRhdGUoMCwgLTYwKTsKKyAgICBldmVu
dFNlbmRlci5nZXN0dXJlU2Nyb2xsRW5kKDAsIDApOworCisgICAgLy8gV2FpdCBmb3IgbGF5b3V0
LgorICAgIGNoZWNrU2Nyb2xsT2Zmc2V0KCk7Cit9CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCitm
dW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICB0b3VjaHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCd0b3VjaHRhcmdldCcpOworICAgIHRvdWNodGFyZ2V0LmNvbnRlbnREb2N1bWVudC5h
ZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCByZWNvcmRTY3JvbGwpOworICAgIHRvdWNodGFyZ2V0
LmNvbnRlbnREb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNld2hlZWwiLCByZWNv
cmRXaGVlbCk7CisKKyAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgIGRlc2Ny
aXB0aW9uKCdUaGlzIHRlc3RzIGdlc3R1cmUgZXZlbnQgc2Nyb2xsaW5nIGluIGlmcmFtZXMuICcg
KworICAgICAgICAgICAgJ1JlZC1ncmVlbiBzdHJpcCBpcyBzY3JvbGxlZCBvbiBwYXNzLicpOwor
ICAgICAgICBpZiAoY2hlY2tUZXN0RGVwZW5kZW5jaWVzKCkpCisgICAgICAgICAgICBmaXJzdEdl
c3R1cmVTY3JvbGwoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZXhpdElmTmVjZXNzYXJ5
KCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZGVidWcoIlRoaXMgdGVzdCByZXF1aXJlcyBEdW1w
UmVuZGVyVHJlZSAuICBUb3VjaC1zY3JvbGwgdGhlIHJlZC9ncmVlbiBzdHJpcC4iKTsKKyAgICB9
Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtcGFnZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdl
c3R1cmUtc2Nyb2xsLXBhZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkOTA2NDZlNzgwMjZj
OTIyNjUxOWM2ODU3MmUyYjRiYWZjODhkYmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLXBhZ2UtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1RoaXMgdGVzdHMgc2Nyb2xsIGdlc3R1cmUgZXZl
bnQgc2Nyb2xsaW5nIG9uIGEgd2hvbGUgcGFnZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK2dlc3R1cmUgZXZlbnRzIG5vdCBpbXBsZW1lbnRlZCBvbiB0aGlzIHBsYXRmb3JtIG9y
IGdlc3R1cmUgZXZlbnQgc2Nyb2xsaW5nIG9mIGEgZG9jdW1lbnQgaXMgYnJva2VuCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9s
bC1wYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNo
LWdlc3R1cmUtc2Nyb2xsLXBhZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNTE5YmU5ZDNmOGM1Mzc2MmY1
MzNiNDQxNzdiYmFjMDNiNGUxZTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1wYWdlLmh0bWwKQEAg
LTAsMCArMSwxMTUgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvZ2VzdHVyZS1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxzdHlsZSB0eXBlPSJ0ZXh0
L2NzcyI+CisjZ3JlZW5ib3ggeworICB3aWR0aDogMTAwcHg7CisgIGhlaWdodDogMTAwcHg7Cisg
IGJhY2tncm91bmQ6IGdyZWVuOworICBwYWRkaW5nOiAwcHg7CisgIG1hcmdpbjogMHB4OworfQor
I3JlZGJveCB7CisgIHdpZHRoOiAxMDBweDsKKyAgaGVpZ2h0OiAxMDBweDsKKyAgYmFja2dyb3Vu
ZDogcmVkOworICBwYWRkaW5nOiAwcHg7CisgIG1hcmdpbjogMHB4OworfQorCit0ZCB7CisgIHBh
ZGRpbmc6IDBweDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0ibWFyZ2luOjAi
IG9ubG9hZD0icnVuVGVzdCgpOyI+CisKKzx0YWJsZSBpZD0idGFibGVfdG9fZmlsbCI+CisgICAg
PHRyPjx0ZD48ZGl2IGlkPSJncmVlbmJveCI+PC9kaXY+PC90ZD48L3RyPgorICAgIDx0cj48dGQ+
PGRpdiBpZD0icmVkYm94Ij48L2Rpdj48L3RkPjwvdHI+Cis8L3RhYmxlPgorCis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgorCit2YXIgZXhwZWN0ZWRHZXN0dXJlc1RvdGFsID0gMjsKK3ZhciBn
ZXN0dXJlc09jY3VycmVkID0gMDsKK3ZhciBzY3JvbGxBbW91bnRYID0gWycwJywgJzAnXTsKK3Zh
ciBzY3JvbGxBbW91bnRZID0gWyc3MCcsICcxMzAnXTsKK3ZhciB3aGVlbEV2ZW50c09jY3VycmVk
ID0gMDsKK3ZhciBleHBlY3RlZFdoZWVsRXZlbnRzT2NjdXJyZWQgPSBbJzInLCAnMiddOwordmFy
IHNjcm9sbEV2ZW50c09jY3VycmVkID0gMDsKK3ZhciBleHBlY3RlZFNjcm9sbEV2ZW50c09jY3Vy
cmVkID0gJzEnOwordmFyIHNjcm9sbGVkRWxlbWVudCA9ICdkb2N1bWVudC5ib2R5JworCisvLyBB
bHdheXMgY29uc3RydWN0IGEgcGFnZSBsYXJnZXIgdGhhbiB0aGUgdmVydGljYWwgaGVpZ2h0IG9m
IHRoZSB3aW5kb3cuCitmdW5jdGlvbiBidWlsZFBhZ2UoKQoreworICAgIHZhciB0YWJsZSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YWJsZV90b19maWxsJyk7CisgICAgdmFyIHRhcmdldEhl
aWdodCA9IGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OworICAgIHZhciBjZWxsUGFpckhlaWdo
dCA9IHRhYmxlLm9mZnNldEhlaWdodDsKKyAgICB2YXIgbnVtYmVyT2ZSZXBzID0gdGFyZ2V0SGVp
Z2h0IC8gY2VsbFBhaXJIZWlnaHQgKiAyOworICAgIHZhciBpOworICAgIGZvciAoaSA9IDA7IGkg
PCBudW1iZXJPZlJlcHM7IGkrKykgeworICAgICAgICB2YXIgcCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ3RyJyk7CisgICAgICAgIHAuaW5uZXJIVE1MID0gJzx0ZD48ZGl2IGlkPSJncmVlbmJv
eCI+PC9kaXY+PC90ZD4nOworICAgICAgICB0YWJsZS5hcHBlbmRDaGlsZChwKTsKKyAgICAgICAg
dmFyIHAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOworICAgICAgICBwLmlubmVySFRN
TCA9ICc8dGQ+PGRpdiBpZD0icmVkYm94Ij48L2Rpdj48L3RkPic7CisgICAgICAgIHRhYmxlLmFw
cGVuZENoaWxkKHApOworICAgIH0KKworICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3Jv
bGwiLCByZWNvcmRTY3JvbGwpOworICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXdo
ZWVsIiwgcmVjb3JkV2hlZWwpOworfQorCitmdW5jdGlvbiBmaXJzdEdlc3R1cmVTY3JvbGwoKQor
eworICAgIGRlYnVnKCJmaXJzdCBnZXN0dXJlIik7CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNj
cm9sbEJlZ2luKDEwLCA3Mik7CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbFVwZGF0ZSgw
LCAtMzApOworICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxVcGRhdGUoMCwgLTQwKTsKKyAg
ICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsRW5kKDAsIDApOworCisgICAgLy8gV2FpdCBmb3Ig
bGF5b3V0LgorICAgIGNoZWNrU2Nyb2xsT2Zmc2V0KCk7Cit9CisKK2Z1bmN0aW9uIHNlY29uZEdl
c3R1cmVTY3JvbGwoKQoreworICAgIGRlYnVnKCJzZWNvbmQgZ2VzdHVyZSIpOworICAgIGV2ZW50
U2VuZGVyLmdlc3R1cmVTY3JvbGxCZWdpbigxMiwgNDApOworICAgIGV2ZW50U2VuZGVyLmdlc3R1
cmVTY3JvbGxVcGRhdGUoMCwgLTMwKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsVXBk
YXRlKDAsIC0zMCk7CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbEVuZCgwLCAwKTsKKwor
ICAgIC8vIFdhaXQgZm9yIGxheW91dC4KKyAgICBjaGVja1Njcm9sbE9mZnNldCgpOworfQorCitp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVy
LndhaXRVbnRpbERvbmUoKTsKKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgYnVpbGRQYWdl
KCk7CisgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICBkZXNjcmlwdGlvbign
VGhpcyB0ZXN0cyBzY3JvbGwgZ2VzdHVyZSBldmVudCBzY3JvbGxpbmcgb24gYSB3aG9sZSBwYWdl
LicpOworICAgICAgICBpZiAoY2hlY2tUZXN0RGVwZW5kZW5jaWVzKCkpCisgICAgICAgICAgICBm
aXJzdEdlc3R1cmVTY3JvbGwoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZXhpdElmTmVj
ZXNzYXJ5KCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZGVidWcoIlRoaXMgdGVzdCByZXF1aXJl
cyBEdW1wUmVuZGVyVHJlZS4gIEdlc3R1cmUtc2Nyb2xsIHRoZSBwYWdlIHRvIHZhbGlkYXRlIHRo
ZSBpbXBsZW1lbnRhdGlvbi4iKTsKKyAgIH0KK30KKzwvc2NyaXB0PgorCisKKworPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVy
ZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1zaHktdGFyZ2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtc2h5LXRh
cmdldC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWEyZmQzYTg0NmRiN2UwMWE1ZDM1Mjg3NDMz
YmM3MjBhMTc0YzllMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtc2h5LXRhcmdldC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMCBAQAorVGhpcyB0ZXN0cyBnZXN0dXJlIHNjcm9sbGluZyBkaXYgd2hp
Y2ggaXMgZGVsZXRlZCB3aGlsZSBsYXRjaGVkLCBTcXVhcmUgaXMgKG1vc3RseSkgZ3JlZW4gb24g
cGFzcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworZ2VzdHVyZSBldmVudHMgbm90
IGltcGxlbWVudGVkIG9uIHRoaXMgcGxhdGZvcm0gb3IgZ2VzdHVyZSBldmVudCBzY3JvbGxpbmcg
b2YgYSBkb2N1bWVudCBpcyBicm9rZW4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90
b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLXNoeS10YXJnZXQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtc2h5
LXRhcmdldC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkZjVkNTNhMWNhY2IzZTQwM2YyMDRmYjNmZTZlNjU4
NTk5Mzk5MDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3Vj
aC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLXNoeS10YXJnZXQuaHRtbApAQCAtMCwwICsx
LDE0NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy9nZXN0dXJlLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4K
KyN0b3VjaHRhcmdldCB7CisgIHdpZHRoOiAxMDBweDsKKyAgaGVpZ2h0OiAxMDBweDsKKyAgcG9z
aXRpb246IGFic29sdXRlOworICBiYWNrZ3JvdW5kOiB3aGl0ZTsKKyAgdG9wOiAxMDBweDsKKyAg
bGVmdDogMTAwcHg7Cit9CisKKyNtb3Zpbmdib3ggeworICB3aWR0aDogMTAwJTsKKyAgaGVpZ2h0
OiAxMDAlOworICBwb3NpdGlvbjogYWJzb2x1dGU7CisgIHdvcmQtd3JhcDogYnJlYWstd29yZDsK
KyAgb3ZlcmZsb3cteTogc2Nyb2xsOworICBvdmVyZmxvdy14OiBzY3JvbGw7CisgIGRpc3BsYXk6
IGJsb2NrOworfQorCisuZ3JlZW5ib3ggeworICB3aWR0aDogMTAwcHg7CisgIGhlaWdodDogMTAw
cHg7CisgIGJhY2tncm91bmQ6IGdyZWVuOworICBwYWRkaW5nOiAwcHg7CisgIG1hcmdpbjogMHB4
OworfQorCisucmVkYm94IHsKKyAgd2lkdGg6IDEwMHB4OworICBoZWlnaHQ6IDEwMHB4OworICBi
YWNrZ3JvdW5kOiByZWQ7CisgIHBhZGRpbmc6IDBweDsKKyAgbWFyZ2luOiAwcHg7Cit9CisKK3Rk
IHsKKyAgcGFkZGluZzogMHB4OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IHN0eWxlPSJt
YXJnaW46MCIgb25sb2FkPSJydW5UZXN0KCk7Ij4KKzxkaXYgaWQ9InRvdWNodGFyZ2V0Ij4KKyAg
PGRpdiBpZD0ibW92aW5nYm94Ij4KKyAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0i
MHB4IiBpZD0idGFibGUiPgorICAgICAgPHRyPgorICAgICAgICA8dGQ+PGRpdiBjbGFzcz0icmVk
Ym94IiBpZD0icmVkYm94Ij48L2Rpdj48L3RkPgorICAgICAgICA8dGQ+PGRpdiBjbGFzcz0iZ3Jl
ZW5ib3giIGlkPSJncmVlbmJveF8xIj48L2Rpdj48L3RkPgorICAgICAgPC90cj4KKyAgICAgIDx0
cj4KKyAgICAgICAgPHRkPjxkaXYgY2xhc3M9ImdyZWVuYm94IiBpZD0iZ3JlZW5ib3hfMiI+PC9k
aXY+PC90ZD4KKyAgICAgICAgPHRkPjxkaXYgY2xhc3M9ImdyZWVuYm94IiBpZD0iZ3JlZW5ib3hf
MyI+PC9kaXY+PC90ZD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgPC9kaXY+Cis8L2Rp
dj4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKwordmFyIG1vdmluZ2RpdjsKK3ZhciBl
eHBlY3RlZEdlc3R1cmVzVG90YWwgPSAxOwordmFyIGdlc3R1cmVzT2NjdXJyZWQgPSAwOwordmFy
IHNjcm9sbEFtb3VudFggPSBbJzYzJywgJzkwJ107Cit2YXIgc2Nyb2xsQW1vdW50WSA9IFsnNjIn
LCAnOTUnXTsKK3ZhciBnZXN0dXJlRGlzcGF0Y2hSZWNvcmQgPSBbJzEzJywgJzEzJ107CisKK3Zh
ciB3aGVlbEV2ZW50c09jY3VycmVkID0gMDsKK3ZhciBleHBlY3RlZFdoZWVsRXZlbnRzT2NjdXJy
ZWQgPSBbJzMnLCAnMyddOwordmFyIHNjcm9sbEV2ZW50c09jY3VycmVkID0gMDsKK3ZhciBleHBl
Y3RlZFNjcm9sbEV2ZW50c09jY3VycmVkID0gJzEnOwordmFyIHNjcm9sbGVkRWxlbWVudCA9ICdt
b3ZpbmdkaXYnCisKK2RvY3VtZW50Lm9ua2V5cHJlc3MgPSBmdW5jdGlvbigpCit7CisgICAgZGVi
dWcoJ3JlY2VpdmVkIGVsZW1lbnQgcmVtb3Zpbmcga2V5cHJlc3MnKTsKKyAgICB2YXIgcGFyZW50
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvdWNodGFyZ2V0Jyk7CisgICAgbW92aW5nZGl2
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vdmluZ2JveCcpOworICAgIHBhcmVudC5yZW1v
dmVDaGlsZChtb3ZpbmdkaXYpOworICAgIHJldHVybiBmYWxzZTsKK30KKworZnVuY3Rpb24gZmly
c3RHZXN0dXJlU2Nyb2xsKCkKK3sKKyAgICBkZWJ1ZygiZmlyc3QgZ2VzdHVyZSIpOworICAgIGV2
ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxCZWdpbigxOTUsIDE5NSk7CisgICAgZXZlbnRTZW5kZXIu
Z2VzdHVyZVNjcm9sbFVwZGF0ZSgtMjAsIC0yOCk7CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNj
cm9sbFVwZGF0ZSgtMTQsIC00KTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsVXBkYXRl
KC0yOSwgLTMwKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsRW5kKDAsIDApOworCisg
ICAgLy8gV2FpdCBmb3IgbGF5b3V0LgorICAgIGNoZWNrU2Nyb2xsT2Zmc2V0KCk7Cit9CisKK2Z1
bmN0aW9uIHNlY29uZEdlc3R1cmVTY3JvbGwoKQoreworICAgIG1vdmluZ2Rpdi5zY3JvbGxUb3Ag
PSAwOworICAgIG1vdmluZ2Rpdi5zY3JvbGxMZWZ0ID0gMDsKKworICAgIGRlYnVnKCJzZWNvbmQg
Z2VzdHVyZSIpOworICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxCZWdpbigxOTUsIDE5NSk7
CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbFVwZGF0ZSgtMjAsIC0yOCk7CisgICAgZXZl
bnRTZW5kZXIuZ2VzdHVyZVNjcm9sbFVwZGF0ZSgtMTQsIC00KTsKKyAgICBldmVudFNlbmRlci5n
ZXN0dXJlU2Nyb2xsVXBkYXRlKC0yOSwgLTMwKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Ny
b2xsRW5kKDAsIDApOworCisgICAgLy8gU2VuZCBhIGtleSB0byBkZWxldGUgdGhlIHRhcmdldCBF
bGVtZW50LgorICAgIGV2ZW50U2VuZGVyLmtleURvd24oImQiLCBbXSk7CisKKyAgICBldmVudFNl
bmRlci5nZXN0dXJlU2Nyb2xsVXBkYXRlKC0yOSwgLTMwKTsKKyAgICBldmVudFNlbmRlci5nZXN0
dXJlU2Nyb2xsRW5kKDAsIDApOworCisgICAgLy8gQnkgZ2V0dGluZyBoZXJlIHN1Y2Nlc3NmdWxs
eSwgdGhlIHRlc3QgZGVtb25zdHJhdGVzIHRoYXQgdGhlIGltcGxlbWVudGF0aW9uCisgICAgLy8g
ZG9lcyBub3QgY3Jhc2ggd2hlbiBhIGxhdGNoZWQgRWxlbWVudCBpcyByZW1vdmVkIGZyb20gdGhl
IERPTS4KK30KKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQorewor
ICAgIG1vdmluZ2RpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb3Zpbmdib3gnKTsKKyAg
ICBtb3ZpbmdkaXYuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgcmVjb3JkU2Nyb2xsKTsKKyAg
ICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V3aGVlbCIsIHJlY29yZFdoZWVsKTsKKyAg
IAorICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgZGVzY3JpcHRpb24oJ1Ro
aXMgdGVzdHMgZ2VzdHVyZSBzY3JvbGxpbmcgZGl2IHdoaWNoIGlzIGRlbGV0ZWQgd2hpbGUgbGF0
Y2hlZCwgJyArIAorICAgICAgICAgICAgJ1NxdWFyZSBpcyAobW9zdGx5KSBncmVlbiBvbiBwYXNz
Jyk7CisgICAgICAgIGlmIChjaGVja1Rlc3REZXBlbmRlbmNpZXMoKSkKKyAgICAgICAgICAgIGZp
cnN0R2VzdHVyZVNjcm9sbCgpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBleGl0SWZOZWNl
c3NhcnkoKTsKKyAgICB9IGVsc2UgeworICAgICAgICBkZWJ1ZygiVGhpcyB0ZXN0IHJlcXVpcmVz
IER1bXBSZW5kZXJUcmVlLiAgVG91Y2gtc2Nyb2xsIHRoZSByZWQgcmVjdCB0byBsb2cuIik7Cisg
ICAgfQorfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdl
c3R1cmUtc2Nyb2xsLWRpdi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWRpdi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM2ODNhOWI3OTBmMjExODRmNTQ2YjE4YzExMjJkYmU2
MjE3MzgzZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtZGl2LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDIxIEBACitUaGlzIHRlc3RzIGdlc3R1cmUgZXZlbnQgc2Nyb2xs
aW5nIG9mIGFuIG92ZXJmbG93IGRpdi4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K2ZpcnN0IGdlc3R1cmUKK3doZWVsIGV2ZW50IDArPiBbb2JqZWN0IEhUTUxEaXZFbGVtZW50XQor
UEFTUyBtb3ZpbmdkaXYuc2Nyb2xsVG9wIGlzIDAKK1BBU1MgbW92aW5nZGl2LnNjcm9sbExlZnQg
aXMgOTAKK1BBU1Mgd2hlZWxFdmVudHNPY2N1cnJlZCBpcyAxCitzZWNvbmQgZ2VzdHVyZQord2hl
ZWwgZXZlbnQgMCs+IFtvYmplY3QgSFRNTERpdkVsZW1lbnRdCitQQVNTIG1vdmluZ2Rpdi5zY3Jv
bGxUb3AgaXMgOTUKK1BBU1MgbW92aW5nZGl2LnNjcm9sbExlZnQgaXMgOTAKK1BBU1Mgd2hlZWxF
dmVudHNPY2N1cnJlZCBpcyAxCitzY3JvbGwgZXZlbnQgMCs+IFtvYmplY3QgSFRNTERpdkVsZW1l
bnRdCitQQVNTIHNjcm9sbEV2ZW50c09jY3VycmVkIGlzIDEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUt
c2Nyb2xsLWlmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWlmcmFtZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWUwZjNmZjBlOWZmMDcwZGE2OWFmZmMwOWU0ZDljYzM0
NGM3NzU5NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtaWZyYW1lLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDIyIEBACisKK1RoaXMgdGVzdHMgZ2VzdHVyZSBldmVudCBz
Y3JvbGxpbmcgaW4gaWZyYW1lcy4gUmVkLWdyZWVuIHN0cmlwIGlzIHNjcm9sbGVkIG9uIHBhc3Mu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitmaXJzdCBnZXN0dXJlCit3aGVlbCBl
dmVudCAwKz4gW29iamVjdCBIVE1MVGFibGVFbGVtZW50XQorUEFTUyB0b3VjaHRhcmdldC5jb250
ZW50RG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgaXMgMTQwCitQQVNTIHRvdWNodGFyZ2V0LmNvbnRl
bnREb2N1bWVudC5ib2R5LnNjcm9sbExlZnQgaXMgMAorUEFTUyB3aGVlbEV2ZW50c09jY3VycmVk
IGlzIDEKK3NlY29uZCBnZXN0dXJlCit3aGVlbCBldmVudCAwKz4gW29iamVjdCBIVE1MRGl2RWxl
bWVudF0KK1BBU1MgdG91Y2h0YXJnZXQuY29udGVudERvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIGlz
IDIwMAorUEFTUyB0b3VjaHRhcmdldC5jb250ZW50RG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IGlz
IDAKK1BBU1Mgd2hlZWxFdmVudHNPY2N1cnJlZCBpcyAxCitzY3JvbGwgZXZlbnQgMCs+IFtvYmpl
Y3QgSFRNTERvY3VtZW50XQorUEFTUyBzY3JvbGxFdmVudHNPY2N1cnJlZCBpcyAxCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90
b3VjaC1nZXN0dXJlLXNjcm9sbC1wYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3Jv
bGwtcGFnZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmVhMWMxYTRlMWRhYTJiZWM5NDNiNDE2
ZWE3OWJlYmVkZTAyMjA2MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwt
cGFnZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorVGhpcyB0ZXN0cyBzY3JvbGwgZ2Vz
dHVyZSBldmVudCBzY3JvbGxpbmcgb24gYSB3aG9sZSBwYWdlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworZmlyc3QgZ2VzdHVyZQord2hlZWwgZXZlbnQgMCs+IFtvYmplY3QgSFRN
TERpdkVsZW1lbnRdCit3aGVlbCBldmVudCAxKz4gW29iamVjdCBIVE1MRGl2RWxlbWVudF0KK1BB
U1MgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgaXMgNzAKK1BBU1MgZG9jdW1lbnQuYm9keS5zY3Jv
bGxMZWZ0IGlzIDAKK1BBU1Mgd2hlZWxFdmVudHNPY2N1cnJlZCBpcyAyCitzZWNvbmQgZ2VzdHVy
ZQord2hlZWwgZXZlbnQgMCs+IFtvYmplY3QgSFRNTERpdkVsZW1lbnRdCit3aGVlbCBldmVudCAx
Kz4gW29iamVjdCBIVE1MRGl2RWxlbWVudF0KK1BBU1MgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3Ag
aXMgMTMwCitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCBpcyAwCitQQVNTIHdoZWVsRXZl
bnRzT2NjdXJyZWQgaXMgMgorc2Nyb2xsIGV2ZW50IDArPiBbb2JqZWN0IEhUTUxEb2N1bWVudF0K
K1BBU1Mgc2Nyb2xsRXZlbnRzT2NjdXJyZWQgaXMgMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3Jv
bGwtc2h5LXRhcmdldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLXNoeS10YXJn
ZXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhMzIwZmZkMjM0N2E2NDY1ZjkwMGVlOTMzYWZl
NjRmMDYxZjYzYTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLXNoeS10
YXJnZXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK1RoaXMgdGVzdHMgZ2VzdHVyZSBz
Y3JvbGxpbmcgZGl2IHdoaWNoIGlzIGRlbGV0ZWQgd2hpbGUgbGF0Y2hlZCwgU3F1YXJlIGlzICht
b3N0bHkpIGdyZWVuIG9uIHBhc3MKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2Zp
cnN0IGdlc3R1cmUKK3doZWVsIGV2ZW50IDArPiBbb2JqZWN0IEhUTUxEaXZFbGVtZW50XQord2hl
ZWwgZXZlbnQgMSs+IFtvYmplY3QgSFRNTERpdkVsZW1lbnRdCit3aGVlbCBldmVudCAyKz4gW29i
amVjdCBIVE1MVGFibGVFbGVtZW50XQorUEFTUyBtb3ZpbmdkaXYuc2Nyb2xsVG9wIGlzIDYyCitQ
QVNTIG1vdmluZ2Rpdi5zY3JvbGxMZWZ0IGlzIDYzCitQQVNTIHdoZWVsRXZlbnRzT2NjdXJyZWQg
aXMgMworc2Nyb2xsIGV2ZW50IDArPiBbb2JqZWN0IEhUTUxEaXZFbGVtZW50XQorUEFTUyBzY3Jv
bGxFdmVudHNPY2N1cnJlZCBpcyAxCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130860</attachid>
            <date>2012-03-08 11:18:53 -0800</date>
            <delta_ts>2012-03-08 17:27:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80201-20120308141851.patch</filename>
            <type>text/plain</type>
            <size>26646</size>
            <attacher name="Robert Kroeger">rjkroege</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMTY5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDY5YzVmMzhkMGU2MTc2NGFkMjhi
NTZiNGQ4NWE2NThkZjczNzQ3ZC4uNzkwZjdiNDU1MTMwNWFhMDBjNTMwYzgxMzVhNWI4MTQ2NzVm
NTc4YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTAzLTA4ICBSb2JlcnQgS3JvZWdlciAg
PHJqa3JvZWdlQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIG1vcmUgY29tcHJl
aGVuc2l2ZSB0ZXN0cyBmb3IgZ2VzdHVyZSBzY3JvbGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMjAxCisgICAgICAgIAorICAgICAgICBQcmlv
ciB0byBsYW5kaW5nIHNvbWUgY2hhbmdlcyB0byBFdmVudEhhbmRsZXI6OmhhbmRsZUdlc3R1cmVF
dmVudCwgYWRkCisgICAgICAgIHNvbWUgdGVzdHMgdG8gZW5zdXJlIHRoYXQgdGhlIGJlaGF2aW91
ciBvZiBoYW5kbGVHZXN0dXJlRXZlbnQgYW5kIAorICAgICAgICBoYW5kbGVXaGVlbEV2ZW50IGRv
bid0IHJlZ3Jlc3MuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3Jlc291cmNlcy9nZXN0dXJlLWhlbHBl
cnMuanM6IEFkZGVkOiB1dGlsaXR5IGZ1bmN0aW9ucy4KKyAgICAgICAgKHJlY29yZFdoZWVsKToK
KyAgICAgICAgKHJlY29yZFNjcm9sbCk6CisgICAgICAgIChleGl0SWZOZWNlc3NhcnkpOgorICAg
ICAgICAoY2hlY2tUZXN0RGVwZW5kZW5jaWVzKToKKyAgICAgICAgKGNoZWNrU2Nyb2xsT2Zmc2V0
KToKKyAgICAgICAgKiBmYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3Jlc291cmNlcy9zY3JvbGwt
aW5zaWRlLWlmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy90b3VjaC9n
ZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWRpdi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtZGl2
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gt
Z2VzdHVyZS1zY3JvbGwtaWZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1pZnJhbWUuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJl
LXNjcm9sbC1wYWdlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMv
dG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1wYWdlLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtc2h5
LXRhcmdldC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNo
L2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtc2h5LXRhcmdldC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNo
LWdlc3R1cmUtc2Nyb2xsLWRpdi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3Jv
bGwtaWZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1wYWdlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVu
dHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1zaHktdGFyZ2V0LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisKIDIwMTItMDMtMDggIFZpY3RvciBDYXJidW5lICA8dmNhcmJ1bmVAYWRv
YmUuY29tPgogCiAgICAgICAgIEZpeCBmbGFreSB0ZXN0IGJ5IGRlY3JlYXNpbmcgZ3JhbnVsYXJp
dHkgb2YgY3VlcyAoY3VlcyBjb3ZlciBsb25nZXIgdGltZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS9yZXNvdXJjZXMvZ2VzdHVyZS1oZWxwZXJzLmpz
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS9yZXNvdXJjZXMvZ2VzdHVy
ZS1oZWxwZXJzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0NDhlN2IzYTFlZjEwMGY5OTRiYWU5ODVlNjY5ODcw
YmIyOTNkODMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3Vj
aC9nZXN0dXJlL3Jlc291cmNlcy9nZXN0dXJlLWhlbHBlcnMuanMKQEAgLTAsMCArMSw1MSBAQAor
ZnVuY3Rpb24gcmVjb3JkV2hlZWwoZXZlbnQpCit7CisgICAgZGVidWcoJ3doZWVsIGV2ZW50ICcg
KyB3aGVlbEV2ZW50c09jY3VycmVkICsgJys+ICcgKyBldmVudC50YXJnZXQpOworICAgIHdoZWVs
RXZlbnRzT2NjdXJyZWQrKzsKK30KKworZnVuY3Rpb24gcmVjb3JkU2Nyb2xsKGV2ZW50KQorewor
ICAgIGRlYnVnKCdzY3JvbGwgZXZlbnQgJyArIHNjcm9sbEV2ZW50c09jY3VycmVkICsgJys+ICcg
KyBldmVudC50YXJnZXQpOworICAgIHNjcm9sbEV2ZW50c09jY3VycmVkKys7CisKKyAgICBpZiAo
d2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgIC8vIEJlY2F1c2Ugc2Nyb2xsIGV2ZW50cyBh
cnJpdmUgYXN5bmNocm9ub3VzbHksIG9ubHkgb25lIHdpbGwgYXJyaXZlLgorICAgICAgICBpZiAo
Z2VzdHVyZXNPY2N1cnJlZCA9PSBleHBlY3RlZEdlc3R1cmVzVG90YWwpIHsKKyAgICAgICAgICAg
IHNob3VsZEJlKCdzY3JvbGxFdmVudHNPY2N1cnJlZCcsIGV4cGVjdGVkU2Nyb2xsRXZlbnRzT2Nj
dXJyZWQpOworICAgICAgICAgICAgLy8gSWYgd2UndmUgZ290IGhlcmUsIHdlJ3ZlIHBhc3NlZC4K
KyAgICAgICAgICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisgICAgICAgICAgICBpc1N1
Y2Nlc3NmdWxseVBhcnNlZCgpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7CisgICAgICAgIH0KKyAgICB9Cit9CisKK2Z1bmN0aW9uIGV4aXRJZk5lY2Vzc2FyeSgpCit7
CisgICAgZGVidWcoJ2dlc3R1cmUgZXZlbnRzIG5vdCBpbXBsZW1lbnRlZCBvbiB0aGlzIHBsYXRm
b3JtIG9yIGdlc3R1cmUgZXZlbnQgc2Nyb2xsaW5nIG9mIGEgZG9jdW1lbnQgaXMgYnJva2VuJyk7
CisgICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgICBpc1N1Y2Nlc3NmdWxseVBhcnNl
ZCgpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gY2hlY2tUZXN0RGVw
ZW5kZW5jaWVzKCkKK3sKKyAgICByZXR1cm4gZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbEJlZ2lu
ICYmIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxVcGRhdGUgJiYgZXZlbnRTZW5kZXIuZ2VzdHVy
ZVNjcm9sbEVuZDsKK30KKworZnVuY3Rpb24gY2hlY2tTY3JvbGxPZmZzZXQoKQoreworICAgIGlm
ICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgc2hvdWxkQmUoc2Nyb2xsZWRFbGVtZW50
ICsgJy4nICsgJ3Njcm9sbFRvcCcsIHNjcm9sbEFtb3VudFlbZ2VzdHVyZXNPY2N1cnJlZF0pOwor
ICAgICAgICBzaG91bGRCZShzY3JvbGxlZEVsZW1lbnQgKyAnLicgKyAnc2Nyb2xsTGVmdCcsIHNj
cm9sbEFtb3VudFhbZ2VzdHVyZXNPY2N1cnJlZF0pOworICAgICAgICBzaG91bGRCZSgnd2hlZWxF
dmVudHNPY2N1cnJlZCcsIGV4cGVjdGVkV2hlZWxFdmVudHNPY2N1cnJlZFtnZXN0dXJlc09jY3Vy
cmVkXSk7CisgICAgICAgIGdlc3R1cmVzT2NjdXJyZWQrKzsKKyAgICB9CisgICAgaWYgKGdlc3R1
cmVzT2NjdXJyZWQgPCBleHBlY3RlZEdlc3R1cmVzVG90YWwpIHsKKyAgICAgICAgd2hlZWxFdmVu
dHNPY2N1cnJlZCA9IDA7CisgICAgICAgIHNlY29uZEdlc3R1cmVTY3JvbGwoKTsKKyAgICB9Cit9
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3Jlc291
cmNlcy9zY3JvbGwtaW5zaWRlLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
dG91Y2gvZ2VzdHVyZS9yZXNvdXJjZXMvc2Nyb2xsLWluc2lkZS1pZnJhbWUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45NGY3ODg3N2M1MmJhNTc2YjRjNTExODAwZjQxNGI4NGQwNDM3ZDljCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS9yZXNvdXJjZXMv
c2Nyb2xsLWluc2lkZS1pZnJhbWUuaHRtbApAQCAtMCwwICsxLDM0IEBACis8aHRtbD4KKzxoZWFk
PgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyNncmVlbmJveCB7CisgIHdpZHRoOiAxMDBweDsK
KyAgaGVpZ2h0OiAxMDBweDsKKyAgYmFja2dyb3VuZDogZ3JlZW47CisgIHBhZGRpbmc6IDBweDsK
KyAgbWFyZ2luOiAwcHg7YQorfQorI3JlZGJveCB7CisgIHdpZHRoOiAxMDBweDsKKyAgaGVpZ2h0
OiAxMDBweDsKKyAgYmFja2dyb3VuZDogcmVkOworICBwYWRkaW5nOiAwcHg7CisgIG1hcmdpbjog
MHB4OworfQorCit0ZCB7CisgIHBhZGRpbmc6IDBweDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keSBzdHlsZT0ibWFyZ2luOjAiIG9ubG9hZD0icGFyZW50LnJ1blRlc3QoKSI+CisKKzx0YWJs
ZSBpZD0idGFibGVfdG9fZmlsbCI+CisgICAgPHRyPjx0ZD48ZGl2IGlkPSJncmVlbmJveCI+PC9k
aXY+PC90ZD48L3RyPgorICAgIDx0cj48dGQ+PGRpdiBpZD0icmVkYm94Ij48L2Rpdj48L3RkPjwv
dHI+CisgICAgPHRyPjx0ZD48ZGl2IGlkPSJncmVlbmJveCI+PC9kaXY+PC90ZD48L3RyPgorICAg
IDx0cj48dGQ+PGRpdiBpZD0icmVkYm94Ij48L2Rpdj48L3RkPjwvdHI+Cis8L3RhYmxlPgorPGJv
ZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNo
L2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtZGl2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtZGl2LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43M2FiNzk1ZjhkZWExOTZhNzdmYTY1ODNhODk3YTAyZjNk
NDIzOTVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gv
Z2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1kaXYtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTAgQEAKK1RoaXMgdGVzdHMgZ2VzdHVyZSBldmVudCBzY3JvbGxpbmcgb2YgYW4gb3ZlcmZsb3cg
ZGl2LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworZ2VzdHVyZSBldmVudHMgbm90
IGltcGxlbWVudGVkIG9uIHRoaXMgcGxhdGZvcm0gb3IgZ2VzdHVyZSBldmVudCBzY3JvbGxpbmcg
b2YgYSBkb2N1bWVudCBpcyBicm9rZW4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90
b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWRpdi5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1kaXYuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmMxODBjNGQyMjllZTg4YWUyNmJmY2VmNjk5YzI1MDE2MmU5MTg4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3Vj
aC1nZXN0dXJlLXNjcm9sbC1kaXYuaHRtbApAQCAtMCwwICsxLDEyNSBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9nZXN0dXJlLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorPHN0
eWxlIHR5cGU9InRleHQvY3NzIj4KKyN0b3VjaHRhcmdldCB7CisgIHdpZHRoOiAxMDBweDsKKyAg
aGVpZ2h0OiAxMDBweDsKKyAgcG9zaXRpb246IHJlbGF0aXZlOworICBiYWNrZ3JvdW5kOiB3aGl0
ZTsKK30KKworOjotd2Via2l0LXNjcm9sbGJhciB7CisgICAgd2lkdGg6IDBweDsKKyAgICBoZWln
aHQ6IDBweDsKK30KKworI21vdmluZ2JveCB7CisgIHdpZHRoOiAxMDAlOworICBoZWlnaHQ6IDEw
MCU7CisgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgd29yZC13cmFwOiBicmVhay13b3JkOworICBv
dmVyZmxvdy15OiBzY3JvbGw7CisgIG92ZXJmbG93LXg6IHNjcm9sbDsKKyAgZGlzcGxheTogYmxv
Y2s7Cit9CisKKyNncmVlbmJveCB7CisgIHdpZHRoOiAxMDBweDsKKyAgaGVpZ2h0OiAxMDBweDsK
KyAgYmFja2dyb3VuZDogZ3JlZW47CisgIHBhZGRpbmc6IDBweDsKKyAgbWFyZ2luOiAwcHg7Cit9
CisKKyNyZWRib3ggeworICB3aWR0aDogMTAwcHg7CisgIGhlaWdodDogMTAwcHg7CisgIGJhY2tn
cm91bmQ6IHJlZDsKKyAgcGFkZGluZzogMHB4OworICBtYXJnaW46IDBweDsKK30KKwordGQgewor
ICBwYWRkaW5nOiAwcHg7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHkgc3R5bGU9Im1hcmdp
bjowIiBvbmxvYWQ9InJ1blRlc3QoKTsiPgorPGRpdiBpZD0idG91Y2h0YXJnZXQiPgorICA8ZGl2
IGlkPSJtb3Zpbmdib3giPgorICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwcHgi
IGlkPSJ0YWJsZWZvbyI+CisgICAgICA8dHI+CisgICAgICAgIDx0ZD48ZGl2IGlkPSJyZWRib3gi
PjwvZGl2PjwvdGQ+CisgICAgICAgIDx0ZD48ZGl2IGlkPSJncmVlbmJveCI+PC9kaXY+PC90ZD4K
KyAgICAgIDwvdHI+CisgICAgICA8dHI+CisgICAgICAgIDx0ZD48ZGl2IGlkPSJncmVlbmJveCI+
PC9kaXY+PC90ZD4KKyAgICAgICAgPHRkPjxkaXYgaWQ9ImdyZWVuYm94Ij48L2Rpdj48L3RkPgor
ICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgorICA8L2Rpdj4KKzwvZGl2PgorCis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgorCit2YXIgbW92aW5nZGl2OwordmFyIGV4cGVjdGVkR2VzdHVyZXNU
b3RhbCA9IDI7Cit2YXIgZ2VzdHVyZXNPY2N1cnJlZCA9IDA7Cit2YXIgc2Nyb2xsQW1vdW50WCA9
IFsnOTAnLCAnOTAnXTsKK3ZhciBzY3JvbGxBbW91bnRZID0gWycwJywgJzk1J107Cit2YXIgd2hl
ZWxFdmVudHNPY2N1cnJlZCA9IDA7Cit2YXIgZXhwZWN0ZWRXaGVlbEV2ZW50c09jY3VycmVkID0g
WycxJywgJzEnXTsKK3ZhciBzY3JvbGxFdmVudHNPY2N1cnJlZCA9IDA7Cit2YXIgZXhwZWN0ZWRT
Y3JvbGxFdmVudHNPY2N1cnJlZCA9ICcxJzsKK3ZhciBzY3JvbGxlZEVsZW1lbnQgPSAnbW92aW5n
ZGl2JworCitmdW5jdGlvbiBmaXJzdEdlc3R1cmVTY3JvbGwoKQoreworICAgIGRlYnVnKCJmaXJz
dCBnZXN0dXJlIik7CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbEJlZ2luKDk1LCAxMik7
CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbFVwZGF0ZSgtOTAsIDApOworICAgIGV2ZW50
U2VuZGVyLmdlc3R1cmVTY3JvbGxFbmQoMCwgMCk7CisKKyAgICAvLyBXYWl0IGZvciBsYXlvdXQu
CisgICAgY2hlY2tTY3JvbGxPZmZzZXQoKTsKK30KKworZnVuY3Rpb24gc2Vjb25kR2VzdHVyZVNj
cm9sbCgpCit7CisgICAgZGVidWcoInNlY29uZCBnZXN0dXJlIik7CisgICAgZXZlbnRTZW5kZXIu
Z2VzdHVyZVNjcm9sbEJlZ2luKDEyLCA5Nyk7CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9s
bFVwZGF0ZSgwLCAtOTUpOworICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxFbmQoMCwgMCk7
CisKKyAgICAvLyBXYWl0IGZvciBsYXlvdXQuCisgICAgY2hlY2tTY3JvbGxPZmZzZXQoKTsKK30K
KworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIG1vdmlu
Z2RpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb3Zpbmdib3gnKTsKKyAgICBtb3Zpbmdk
aXYuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwgcmVjb3JkU2Nyb2xsKTsKKyAgICB3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcigibW91c2V3aGVlbCIsIHJlY29yZFdoZWVsKTsKKworICAgIGlmICh3
aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgZGVzY3JpcHRpb24oJ1RoaXMgdGVzdHMgZ2Vz
dHVyZSBldmVudCBzY3JvbGxpbmcgb2YgYW4gb3ZlcmZsb3cgZGl2LicpOworCisgICAgICAgIGlm
IChjaGVja1Rlc3REZXBlbmRlbmNpZXMoKSkKKyAgICAgICAgICAgIGZpcnN0R2VzdHVyZVNjcm9s
bCgpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBleGl0SWZOZWNlc3NhcnkoKTsKKyAgICB9
IGVsc2UgeworICAgICAgICBkZWJ1ZygiVGhpcyB0ZXN0IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVl
LiAgVG91Y2ggc2Nyb2xsIHRoZSByZWQgcmVjdCB0byBsb2cuIik7CisgICAgfQorfQorPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWlmcmFtZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Ny
b2xsLWlmcmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODI0YTJlYTU2MzU1ZGVjZjJmMzg3
NzEyNjM1Y2YyNDBjNWYwZWFiYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtaWZyYW1lLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDExIEBACisKK1RoaXMgdGVzdHMgZ2VzdHVyZSBldmVudCBzY3JvbGxp
bmcgaW4gaWZyYW1lcy4gUmVkLWdyZWVuIHN0cmlwIGlzIHNjcm9sbGVkIG9uIHBhc3MuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitnZXN0dXJlIGV2ZW50cyBub3QgaW1wbGVtZW50
ZWQgb24gdGhpcyBwbGF0Zm9ybSBvciBnZXN0dXJlIGV2ZW50IHNjcm9sbGluZyBvZiBhIGRvY3Vt
ZW50IGlzIGJyb2tlbgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1
cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWlmcmFtZS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmU0NjQ2NTkxNDAyNGZkMTY3M2JkNDk5MGZjMjEzOWJhZTE1ZGU3OTEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdl
c3R1cmUtc2Nyb2xsLWlmcmFtZS5odG1sCkBAIC0wLDAgKzEsODMgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZ2VzdHVyZS1oZWxwZXJzLmpzIj48
L3NjcmlwdD4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisjdG91Y2h0YXJnZXQgeworICB3aWR0
aDogMjAwcHg7CisgIGhlaWdodDogMjAwcHg7CisgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgYmFj
a2dyb3VuZDogd2hpdGU7Cit9CisKKzo6LXdlYmtpdC1zY3JvbGxiYXIgeworICAgIHdpZHRoOiAw
cHg7CisgICAgaGVpZ2h0OiAwcHg7Cit9CisKKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxp
ZnJhbWUgaWQ9InRvdWNodGFyZ2V0IiBzcmM9InJlc291cmNlcy9zY3JvbGwtaW5zaWRlLWlmcmFt
ZS5odG1sIj48L2lmcmFtZT4KKyAgICA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCit2YXIg
dG91Y2h0YXJnZXQ7Cit2YXIgZXhwZWN0ZWRHZXN0dXJlc1RvdGFsID0gMjsKK3ZhciBnZXN0dXJl
c09jY3VycmVkID0gMDsKK3ZhciBzY3JvbGxBbW91bnRYID0gWycwJywgJzAnXTsKK3ZhciBzY3Jv
bGxBbW91bnRZID0gWycxNDAnLCAnMjAwJ107Cit2YXIgd2hlZWxFdmVudHNPY2N1cnJlZCA9IDA7
Cit2YXIgZXhwZWN0ZWRXaGVlbEV2ZW50c09jY3VycmVkID0gWycxJywgJzEnXTsKK3ZhciBzY3Jv
bGxFdmVudHNPY2N1cnJlZCA9IDA7Cit2YXIgZXhwZWN0ZWRTY3JvbGxFdmVudHNPY2N1cnJlZCA9
ICcxJzsKK3ZhciBzY3JvbGxlZEVsZW1lbnQgPSAndG91Y2h0YXJnZXQuY29udGVudERvY3VtZW50
LmJvZHknCisKK2Z1bmN0aW9uIGZpcnN0R2VzdHVyZVNjcm9sbCgpCit7CisgICAgZGVidWcoImZp
cnN0IGdlc3R1cmUiKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsQmVnaW4oMTIsIDE1
MCk7CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbFVwZGF0ZSgwLCAtMTQwKTsKKyAgICBl
dmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsRW5kKDAsIDApOworCisgICAgLy8gV2FpdCBmb3IgbGF5
b3V0LgorICAgIGNoZWNrU2Nyb2xsT2Zmc2V0KCk7Cit9CisKK2Z1bmN0aW9uIHNlY29uZEdlc3R1
cmVTY3JvbGwoKQoreworICAgIGRlYnVnKCJzZWNvbmQgZ2VzdHVyZSIpOworICAgIGV2ZW50U2Vu
ZGVyLmdlc3R1cmVTY3JvbGxCZWdpbigxMiwgMTEwKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJl
U2Nyb2xsVXBkYXRlKDAsIC02MCk7CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbEVuZCgw
LCAwKTsKKworICAgIC8vIFdhaXQgZm9yIGxheW91dC4KKyAgICBjaGVja1Njcm9sbE9mZnNldCgp
OworfQorCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RD
b250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAg
dG91Y2h0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG91Y2h0YXJnZXQnKTsKKyAg
ICB0b3VjaHRhcmdldC5jb250ZW50RG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwg
cmVjb3JkU2Nyb2xsKTsKKyAgICB0b3VjaHRhcmdldC5jb250ZW50RG9jdW1lbnQuYm9keS5hZGRF
dmVudExpc3RlbmVyKCJtb3VzZXdoZWVsIiwgcmVjb3JkV2hlZWwpOworCisgICAgaWYgKHdpbmRv
dy5ldmVudFNlbmRlcikgeworICAgICAgICBkZXNjcmlwdGlvbignVGhpcyB0ZXN0cyBnZXN0dXJl
IGV2ZW50IHNjcm9sbGluZyBpbiBpZnJhbWVzLiAnICsKKyAgICAgICAgICAgICdSZWQtZ3JlZW4g
c3RyaXAgaXMgc2Nyb2xsZWQgb24gcGFzcy4nKTsKKyAgICAgICAgaWYgKGNoZWNrVGVzdERlcGVu
ZGVuY2llcygpKQorICAgICAgICAgICAgZmlyc3RHZXN0dXJlU2Nyb2xsKCk7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIGV4aXRJZk5lY2Vzc2FyeSgpOworICAgIH0gZWxzZSB7CisgICAgICAg
IGRlYnVnKCJUaGlzIHRlc3QgcmVxdWlyZXMgRHVtcFJlbmRlclRyZWUgLiAgVG91Y2gtc2Nyb2xs
IHRoZSByZWQvZ3JlZW4gc3RyaXAuIik7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJl
L3RvdWNoLWdlc3R1cmUtc2Nyb2xsLXBhZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1wYWdlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xZDkwNjQ2ZTc4MDI2YzkyMjY1MTljNjg1NzJlMmI0YmFmYzg4ZGJj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVy
ZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1wYWdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBA
CitUaGlzIHRlc3RzIHNjcm9sbCBnZXN0dXJlIGV2ZW50IHNjcm9sbGluZyBvbiBhIHdob2xlIHBh
Z2UuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitnZXN0dXJlIGV2ZW50cyBub3Qg
aW1wbGVtZW50ZWQgb24gdGhpcyBwbGF0Zm9ybSBvciBnZXN0dXJlIGV2ZW50IHNjcm9sbGluZyBv
ZiBhIGRvY3VtZW50IGlzIGJyb2tlbgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Rv
dWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtcGFnZS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1wYWdlLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNThiMTQzNmQ2MzEzM2YxYzNlMTVmODRhMDBlYzBjMjk4ZWU4NGQ5ZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91
Y2gtZ2VzdHVyZS1zY3JvbGwtcGFnZS5odG1sCkBAIC0wLDAgKzEsMTM4IEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2dlc3R1cmUtaGVscGVycy5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorOjotd2Via2l0LXNjcm9sbGJh
ciB7CisgICAgd2lkdGg6IDBweDsKKyAgICBoZWlnaHQ6IDBweDsKK30KKworI2dyZWVuYm94IHsK
KyAgd2lkdGg6IDEwMHB4OworICBoZWlnaHQ6IDEwMHB4OworICBiYWNrZ3JvdW5kOiBncmVlbjsK
KyAgcGFkZGluZzogMHB4OworICBtYXJnaW46IDBweDsKK30KKyNyZWRib3ggeworICB3aWR0aDog
MTAwcHg7CisgIGhlaWdodDogMTAwcHg7CisgIGJhY2tncm91bmQ6IHJlZDsKKyAgcGFkZGluZzog
MHB4OworICBtYXJnaW46IDBweDsKK30KKwordGQgeworICBwYWRkaW5nOiAwcHg7Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHkgc3R5bGU9Im1hcmdpbjowIiBvbmxvYWQ9InJ1blRlc3QoKTsi
PgorCis8dGFibGUgaWQ9InRhYmxlX3RvX2ZpbGwiPgorICAgIDx0cj48dGQ+PGRpdiBpZD0iZ3Jl
ZW5ib3giPjwvZGl2PjwvdGQ+PC90cj4KKyAgICA8dHI+PHRkPjxkaXYgaWQ9InJlZGJveCI+PC9k
aXY+PC90ZD48L3RyPgorPC90YWJsZT4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKwor
dmFyIGV4cGVjdGVkR2VzdHVyZXNUb3RhbCA9IDI7Cit2YXIgZ2VzdHVyZXNPY2N1cnJlZCA9IDA7
Cit2YXIgc2Nyb2xsQW1vdW50WCA9IFsnMCcsICcwJ107Cit2YXIgc2Nyb2xsQW1vdW50WSA9IFsn
NzAnLCAnMTMwJ107Cit2YXIgd2hlZWxFdmVudHNPY2N1cnJlZCA9IDA7Cit2YXIgZXhwZWN0ZWRX
aGVlbEV2ZW50c09jY3VycmVkID0gWycyJywgJzInXTsKK3ZhciBzY3JvbGxFdmVudHNPY2N1cnJl
ZCA9IDA7Cit2YXIgc2Nyb2xsZWRFbGVtZW50ID0gJ2RvY3VtZW50LmJvZHknCit2YXIgc2Nyb2xs
RXZlbnRzT2NjdXJyZWQgPSAwOwordmFyIGV4cGVjdGVkU2Nyb2xsRXZlbnRzT2NjdXJyZWQgPSAn
MSc7CisKK2Z1bmN0aW9uIHJlY29yZFNjcm9sbChldmVudCkgeworCWRlYnVnKCdzY3JvbGwgZXZl
bnQgJyArIHNjcm9sbEV2ZW50c09jY3VycmVkICsgJys+ICcgKyBldmVudC50YXJnZXQpOworCXNj
cm9sbEV2ZW50c09jY3VycmVkKys7CisKKwlpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisJCS8v
IEJlY2F1c2Ugc2Nyb2xsIGV2ZW50cyBhcnJpdmUgYXN5bmNocm9ub3VzbHksIG9ubHkgb25lIHdp
bGwgYXJyaXZlLgorCSAgICBpZiAoZ2VzdHVyZXNPY2N1cnJlZCA9PSBleHBlY3RlZEdlc3R1cmVz
VG90YWwpIHsKKwkJCXNob3VsZEJlKCdzY3JvbGxFdmVudHNPY2N1cnJlZCcsIGV4cGVjdGVkU2Ny
b2xsRXZlbnRzT2NjdXJyZWQpOworCSAgICAgICAgLy8gSWYgd2UndmUgZ290IGhlcmUsIHdlJ3Zl
IHBhc3NlZC4KKwkgICAgICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisJICAgICAgICBp
c1N1Y2Nlc3NmdWxseVBhcnNlZCgpOworCSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKwkgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
CisJCX0KKyAgICB9Cit9CisKKy8vIEFsd2F5cyBjb25zdHJ1Y3QgYSBwYWdlIGxhcmdlciB0aGFu
IHRoZSB2ZXJ0aWNhbCBoZWlnaHQgb2YgdGhlIHdpbmRvdy4KK2Z1bmN0aW9uIGJ1aWxkUGFnZSgp
Cit7CisgICAgdmFyIHRhYmxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhYmxlX3RvX2Zp
bGwnKTsKKyAgICB2YXIgdGFyZ2V0SGVpZ2h0ID0gZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7
CisgICAgdmFyIGNlbGxQYWlySGVpZ2h0ID0gdGFibGUub2Zmc2V0SGVpZ2h0OworICAgIHZhciBu
dW1iZXJPZlJlcHMgPSB0YXJnZXRIZWlnaHQgLyBjZWxsUGFpckhlaWdodCAqIDI7CisgICAgdmFy
IGk7CisgICAgZm9yIChpID0gMDsgaSA8IG51bWJlck9mUmVwczsgaSsrKSB7CisgICAgICAgIHZh
ciBwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKKyAgICAgICAgcC5pbm5lckhUTUwg
PSAnPHRkPjxkaXYgaWQ9ImdyZWVuYm94Ij48L2Rpdj48L3RkPic7CisgICAgICAgIHRhYmxlLmFw
cGVuZENoaWxkKHApOworICAgICAgICB2YXIgcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Ry
Jyk7CisgICAgICAgIHAuaW5uZXJIVE1MID0gJzx0ZD48ZGl2IGlkPSJyZWRib3giPjwvZGl2Pjwv
dGQ+JzsKKyAgICAgICAgdGFibGUuYXBwZW5kQ2hpbGQocCk7CisgICAgfQorCisgICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHJlY29yZFNjcm9sbCk7CisgICAgd2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoIm1vdXNld2hlZWwiLCByZWNvcmRXaGVlbCk7Cit9CisKK2Z1bmN0aW9u
IGZpcnN0R2VzdHVyZVNjcm9sbCgpCit7CisgICAgZGVidWcoImZpcnN0IGdlc3R1cmUiKTsKKyAg
ICBldmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsQmVnaW4oMTAsIDcyKTsKKyAgICBldmVudFNlbmRl
ci5nZXN0dXJlU2Nyb2xsVXBkYXRlKDAsIC0zMCk7CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNj
cm9sbFVwZGF0ZSgwLCAtNDApOworICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxFbmQoMCwg
MCk7CisKKyAgICAvLyBXYWl0IGZvciBsYXlvdXQuCisgICAgY2hlY2tTY3JvbGxPZmZzZXQoKTsK
K30KKworZnVuY3Rpb24gc2Vjb25kR2VzdHVyZVNjcm9sbCgpCit7CisgICAgZGVidWcoInNlY29u
ZCBnZXN0dXJlIik7CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbEJlZ2luKDEyLCA0MCk7
CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbFVwZGF0ZSgwLCAtMzApOworICAgIGV2ZW50
U2VuZGVyLmdlc3R1cmVTY3JvbGxVcGRhdGUoMCwgLTMwKTsKKyAgICBldmVudFNlbmRlci5nZXN0
dXJlU2Nyb2xsRW5kKDAsIDApOworCisgICAgLy8gV2FpdCBmb3IgbGF5b3V0LgorICAgIGNoZWNr
U2Nyb2xsT2Zmc2V0KCk7Cit9CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCitmdW5jdGlvbiBydW5U
ZXN0KCkKK3sKKyAgICBidWlsZFBhZ2UoKTsKKyAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7
CisgICAgICAgIGRlc2NyaXB0aW9uKCdUaGlzIHRlc3RzIHNjcm9sbCBnZXN0dXJlIGV2ZW50IHNj
cm9sbGluZyBvbiBhIHdob2xlIHBhZ2UuJyk7CisgICAgICAgIGlmIChjaGVja1Rlc3REZXBlbmRl
bmNpZXMoKSkKKyAgICAgICAgICAgIGZpcnN0R2VzdHVyZVNjcm9sbCgpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICBleGl0SWZOZWNlc3NhcnkoKTsKKyAgICB9IGVsc2UgeworICAgICAgICBk
ZWJ1ZygiVGhpcyB0ZXN0IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVlLiAgR2VzdHVyZS1zY3JvbGwg
dGhlIHBhZ2UgdG8gdmFsaWRhdGUgdGhlIGltcGxlbWVudGF0aW9uLiIpOworICAgIH0KK30KKzwv
c2NyaXB0PgorCisKKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1zaHktdGFyZ2V0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91
Y2gtZ2VzdHVyZS1zY3JvbGwtc2h5LXRhcmdldC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWEy
ZmQzYTg0NmRiN2UwMWE1ZDM1Mjg3NDMzYmM3MjBhMTc0YzllMgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3Jv
bGwtc2h5LXRhcmdldC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGhpcyB0ZXN0cyBn
ZXN0dXJlIHNjcm9sbGluZyBkaXYgd2hpY2ggaXMgZGVsZXRlZCB3aGlsZSBsYXRjaGVkLCBTcXVh
cmUgaXMgKG1vc3RseSkgZ3JlZW4gb24gcGFzcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworZ2VzdHVyZSBldmVudHMgbm90IGltcGxlbWVudGVkIG9uIHRoaXMgcGxhdGZvcm0gb3Ig
Z2VzdHVyZSBldmVudCBzY3JvbGxpbmcgb2YgYSBkb2N1bWVudCBpcyBicm9rZW4KK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xs
LXNoeS10YXJnZXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUv
dG91Y2gtZ2VzdHVyZS1zY3JvbGwtc2h5LXRhcmdldC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1Njc0Yjdm
ZWQ5N2YzMmQ2ZDRlZTQ2MThmOTEyNGFmMjI5MzQzMGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLXNo
eS10YXJnZXQuaHRtbApAQCAtMCwwICsxLDE0OSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9nZXN0dXJlLWhlbHBlcnMuanMiPjwvc2NyaXB0Pgor
PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKzo6LXdlYmtpdC1zY3JvbGxiYXIgeworICAgIHdpZHRo
OiAwcHg7CisgICAgaGVpZ2h0OiAwcHg7Cit9CisKKyN0b3VjaHRhcmdldCB7CisgIHdpZHRoOiAx
MDBweDsKKyAgaGVpZ2h0OiAxMDBweDsKKyAgcG9zaXRpb246IGFic29sdXRlOworICBiYWNrZ3Jv
dW5kOiB3aGl0ZTsKKyAgdG9wOiAxMDBweDsKKyAgbGVmdDogMTAwcHg7Cit9CisKKyNtb3Zpbmdi
b3ggeworICB3aWR0aDogMTAwJTsKKyAgaGVpZ2h0OiAxMDAlOworICBwb3NpdGlvbjogYWJzb2x1
dGU7CisgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKKyAgb3ZlcmZsb3cteTogc2Nyb2xsOworICBv
dmVyZmxvdy14OiBzY3JvbGw7CisgIGRpc3BsYXk6IGJsb2NrOworfQorCisuZ3JlZW5ib3ggewor
ICB3aWR0aDogMTAwcHg7CisgIGhlaWdodDogMTAwcHg7CisgIGJhY2tncm91bmQ6IGdyZWVuOwor
ICBwYWRkaW5nOiAwcHg7CisgIG1hcmdpbjogMHB4OworfQorCisucmVkYm94IHsKKyAgd2lkdGg6
IDEwMHB4OworICBoZWlnaHQ6IDEwMHB4OworICBiYWNrZ3JvdW5kOiByZWQ7CisgIHBhZGRpbmc6
IDBweDsKKyAgbWFyZ2luOiAwcHg7Cit9CisKK3RkIHsKKyAgcGFkZGluZzogMHB4OworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5IHN0eWxlPSJtYXJnaW46MCIgb25sb2FkPSJydW5UZXN0KCk7
Ij4KKzxkaXYgaWQ9InRvdWNodGFyZ2V0Ij4KKyAgPGRpdiBpZD0ibW92aW5nYm94Ij4KKyAgICA8
dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMHB4IiBpZD0idGFibGUiPgorICAgICAgPHRy
PgorICAgICAgICA8dGQ+PGRpdiBjbGFzcz0icmVkYm94IiBpZD0icmVkYm94Ij48L2Rpdj48L3Rk
PgorICAgICAgICA8dGQ+PGRpdiBjbGFzcz0iZ3JlZW5ib3giIGlkPSJncmVlbmJveF8xIj48L2Rp
dj48L3RkPgorICAgICAgPC90cj4KKyAgICAgIDx0cj4KKyAgICAgICAgPHRkPjxkaXYgY2xhc3M9
ImdyZWVuYm94IiBpZD0iZ3JlZW5ib3hfMiI+PC9kaXY+PC90ZD4KKyAgICAgICAgPHRkPjxkaXYg
Y2xhc3M9ImdyZWVuYm94IiBpZD0iZ3JlZW5ib3hfMyI+PC9kaXY+PC90ZD4KKyAgICAgIDwvdHI+
CisgICAgPC90YWJsZT4KKyAgPC9kaXY+Cis8L2Rpdj4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij4KKwordmFyIG1vdmluZ2RpdjsKK3ZhciBleHBlY3RlZEdlc3R1cmVzVG90YWwgPSAyOwor
dmFyIGdlc3R1cmVzT2NjdXJyZWQgPSAwOwordmFyIHNjcm9sbEFtb3VudFggPSBbJzYzJywgJzAn
XTsKK3ZhciBzY3JvbGxBbW91bnRZID0gWyc2MicsICcwJ107Cit2YXIgd2hlZWxFdmVudHNPY2N1
cnJlZCA9IDA7Cit2YXIgZXhwZWN0ZWRXaGVlbEV2ZW50c09jY3VycmVkID0gWyczJywgJzMnXTsK
K3ZhciBzY3JvbGxFdmVudHNPY2N1cnJlZCA9IDA7Cit2YXIgZXhwZWN0ZWRTY3JvbGxFdmVudHNP
Y2N1cnJlZCA9ICcxJzsKK3ZhciBzY3JvbGxlZEVsZW1lbnQgPSAnbW92aW5nZGl2JworCitkb2N1
bWVudC5vbmtleXByZXNzID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCdyZWNlaXZlZCBlbGVt
ZW50IHJlbW92aW5nIGtleXByZXNzJyk7CisgICAgdmFyIHBhcmVudCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCd0b3VjaHRhcmdldCcpOworICAgIG1vdmluZ2RpdiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdtb3Zpbmdib3gnKTsKKyAgICBwYXJlbnQucmVtb3ZlQ2hpbGQobW92aW5nZGl2
KTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Z1bmN0aW9uIGZpcnN0R2VzdHVyZVNjcm9sbCgp
Cit7CisgICAgZGVidWcoImZpcnN0IGdlc3R1cmUiKTsKKyAgICBldmVudFNlbmRlci5nZXN0dXJl
U2Nyb2xsQmVnaW4oMTk1LCAxOTUpOworICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxVcGRh
dGUoLTIwLCAtMjgpOworICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxVcGRhdGUoLTE0LCAt
NCk7CisgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbFVwZGF0ZSgtMjksIC0zMCk7CisgICAg
ZXZlbnRTZW5kZXIuZ2VzdHVyZVNjcm9sbEVuZCgwLCAwKTsKKworICAgIC8vIFdhaXQgZm9yIGxh
eW91dC4KKyAgICBjaGVja1Njcm9sbE9mZnNldCgpOworfQorCitmdW5jdGlvbiBzZWNvbmRHZXN0
dXJlU2Nyb2xsKCkKK3sKKyAgICBtb3ZpbmdkaXYuc2Nyb2xsVG9wID0gMDsKKyAgICBtb3Zpbmdk
aXYuc2Nyb2xsTGVmdCA9IDA7CisKKyAgICBkZWJ1Zygic2Vjb25kIGdlc3R1cmUiKTsKKyAgICBl
dmVudFNlbmRlci5nZXN0dXJlU2Nyb2xsQmVnaW4oMTk1LCAxOTUpOworICAgIGV2ZW50U2VuZGVy
Lmdlc3R1cmVTY3JvbGxVcGRhdGUoLTIwLCAtMjgpOworICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVT
Y3JvbGxVcGRhdGUoLTE0LCAtNCk7CisKKyAgICAvLyBTZW5kIGEga2V5IHRvIGRlbGV0ZSB0aGUg
dGFyZ2V0IEVsZW1lbnQuCisgICAgZXZlbnRTZW5kZXIua2V5RG93bigiZCIsIFtdKTsKKworICAg
IGV2ZW50U2VuZGVyLmdlc3R1cmVTY3JvbGxVcGRhdGUoLTI5LCAtMzApOworICAgIGV2ZW50U2Vu
ZGVyLmdlc3R1cmVTY3JvbGxFbmQoMCwgMCk7CisKKyAgICAvLyBCeSBnZXR0aW5nIGhlcmUgc3Vj
Y2Vzc2Z1bGx5LCB0aGUgdGVzdCBkZW1vbnN0cmF0ZXMgdGhhdCB0aGUgaW1wbGVtZW50YXRpb24K
KyAgICAvLyBkb2VzIG5vdCBjcmFzaCB3aGVuIGEgbGF0Y2hlZCBFbGVtZW50IGlzIHJlbW92ZWQg
ZnJvbSB0aGUgRE9NLgorICAgIGNoZWNrU2Nyb2xsT2Zmc2V0KCk7Cit9CisKK2lmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOworCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBtb3ZpbmdkaXYgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnbW92aW5nYm94Jyk7CisgICAgbW92aW5nZGl2LmFkZEV2ZW50TGlz
dGVuZXIoInNjcm9sbCIsIHJlY29yZFNjcm9sbCk7CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoIm1vdXNld2hlZWwiLCByZWNvcmRXaGVlbCk7CisKKyAgICBpZiAod2luZG93LmV2ZW50U2Vu
ZGVyKSB7CisgICAgICAgIGRlc2NyaXB0aW9uKCdUaGlzIHRlc3RzIGdlc3R1cmUgc2Nyb2xsaW5n
IGRpdiB3aGljaCBpcyBkZWxldGVkIHdoaWxlIGxhdGNoZWQsICcgKworICAgICAgICAgICAgJ1Nx
dWFyZSBpcyAobW9zdGx5KSBncmVlbiBvbiBwYXNzJyk7CisgICAgICAgIGlmIChjaGVja1Rlc3RE
ZXBlbmRlbmNpZXMoKSkKKyAgICAgICAgICAgIGZpcnN0R2VzdHVyZVNjcm9sbCgpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBleGl0SWZOZWNlc3NhcnkoKTsKKyAgICB9IGVsc2UgeworICAg
ICAgICBkZWJ1ZygiVGhpcyB0ZXN0IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVlLiAgVG91Y2gtc2Ny
b2xsIHRoZSByZWQgcmVjdCB0byBsb2cuIik7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0
L2V2ZW50cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWRpdi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0
dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWRpdi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM2
ODNhOWI3OTBmMjExODRmNTQ2YjE4YzExMjJkYmU2MjE3MzgzZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUv
dG91Y2gtZ2VzdHVyZS1zY3JvbGwtZGl2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIxIEBACitU
aGlzIHRlc3RzIGdlc3R1cmUgZXZlbnQgc2Nyb2xsaW5nIG9mIGFuIG92ZXJmbG93IGRpdi4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2ZpcnN0IGdlc3R1cmUKK3doZWVsIGV2ZW50
IDArPiBbb2JqZWN0IEhUTUxEaXZFbGVtZW50XQorUEFTUyBtb3ZpbmdkaXYuc2Nyb2xsVG9wIGlz
IDAKK1BBU1MgbW92aW5nZGl2LnNjcm9sbExlZnQgaXMgOTAKK1BBU1Mgd2hlZWxFdmVudHNPY2N1
cnJlZCBpcyAxCitzZWNvbmQgZ2VzdHVyZQord2hlZWwgZXZlbnQgMCs+IFtvYmplY3QgSFRNTERp
dkVsZW1lbnRdCitQQVNTIG1vdmluZ2Rpdi5zY3JvbGxUb3AgaXMgOTUKK1BBU1MgbW92aW5nZGl2
LnNjcm9sbExlZnQgaXMgOTAKK1BBU1Mgd2hlZWxFdmVudHNPY2N1cnJlZCBpcyAxCitzY3JvbGwg
ZXZlbnQgMCs+IFtvYmplY3QgSFRNTERpdkVsZW1lbnRdCitQQVNTIHNjcm9sbEV2ZW50c09jY3Vy
cmVkIGlzIDEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50
cy90b3VjaC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWlmcmFtZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJl
L3RvdWNoLWdlc3R1cmUtc2Nyb2xsLWlmcmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODZi
MjVkNjU1NDczYmU4ZTJjYjkxZTMwYjk4OTAwNTJhZTZiMzYwMQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUv
dG91Y2gtZ2VzdHVyZS1zY3JvbGwtaWZyYW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIyIEBA
CisKK1RoaXMgdGVzdHMgZ2VzdHVyZSBldmVudCBzY3JvbGxpbmcgaW4gaWZyYW1lcy4gUmVkLWdy
ZWVuIHN0cmlwIGlzIHNjcm9sbGVkIG9uIHBhc3MuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitmaXJzdCBnZXN0dXJlCit3aGVlbCBldmVudCAwKz4gW29iamVjdCBIVE1MRGl2RWxl
bWVudF0KK1BBU1MgdG91Y2h0YXJnZXQuY29udGVudERvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIGlz
IDE0MAorUEFTUyB0b3VjaHRhcmdldC5jb250ZW50RG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0IGlz
IDAKK1BBU1Mgd2hlZWxFdmVudHNPY2N1cnJlZCBpcyAxCitzZWNvbmQgZ2VzdHVyZQord2hlZWwg
ZXZlbnQgMCs+IFtvYmplY3QgSFRNTERpdkVsZW1lbnRdCitQQVNTIHRvdWNodGFyZ2V0LmNvbnRl
bnREb2N1bWVudC5ib2R5LnNjcm9sbFRvcCBpcyAyMDAKK1BBU1MgdG91Y2h0YXJnZXQuY29udGVu
dERvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCBpcyAwCitQQVNTIHdoZWVsRXZlbnRzT2NjdXJyZWQg
aXMgMQorc2Nyb2xsIGV2ZW50IDArPiBbb2JqZWN0IEhUTUxEb2N1bWVudF0KK1BBU1Mgc2Nyb2xs
RXZlbnRzT2NjdXJyZWQgaXMgMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvdG91Y2gtZ2VzdHVyZS1zY3JvbGwtcGFnZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy90b3Vj
aC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLXBhZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmJlYTFjMWE0ZTFkYWEyYmVjOTQzYjQxNmVhNzliZWJlZGUwMjIwNjMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy90b3VjaC9n
ZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLXBhZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MjMgQEAKK1RoaXMgdGVzdHMgc2Nyb2xsIGdlc3R1cmUgZXZlbnQgc2Nyb2xsaW5nIG9uIGEgd2hv
bGUgcGFnZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2ZpcnN0IGdlc3R1cmUK
K3doZWVsIGV2ZW50IDArPiBbb2JqZWN0IEhUTUxEaXZFbGVtZW50XQord2hlZWwgZXZlbnQgMSs+
IFtvYmplY3QgSFRNTERpdkVsZW1lbnRdCitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIGlz
IDcwCitQQVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCBpcyAwCitQQVNTIHdoZWVsRXZlbnRz
T2NjdXJyZWQgaXMgMgorc2Vjb25kIGdlc3R1cmUKK3doZWVsIGV2ZW50IDArPiBbb2JqZWN0IEhU
TUxEaXZFbGVtZW50XQord2hlZWwgZXZlbnQgMSs+IFtvYmplY3QgSFRNTERpdkVsZW1lbnRdCitQ
QVNTIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIGlzIDEzMAorUEFTUyBkb2N1bWVudC5ib2R5LnNj
cm9sbExlZnQgaXMgMAorUEFTUyB3aGVlbEV2ZW50c09jY3VycmVkIGlzIDIKK3Njcm9sbCBldmVu
dCAwKz4gW29iamVjdCBIVE1MRG9jdW1lbnRdCitQQVNTIHNjcm9sbEV2ZW50c09jY3VycmVkIGlz
IDEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy90b3Vj
aC9nZXN0dXJlL3RvdWNoLWdlc3R1cmUtc2Nyb2xsLXNoeS10YXJnZXQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS90
b3VjaC1nZXN0dXJlLXNjcm9sbC1zaHktdGFyZ2V0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
NjliYzllZTI4Y2UzZTNiNjY1Njc0NTYyODc0ZjZjYTJkNWY1NDU0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVy
ZS90b3VjaC1nZXN0dXJlLXNjcm9sbC1zaHktdGFyZ2V0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDI2IEBACitUaGlzIHRlc3RzIGdlc3R1cmUgc2Nyb2xsaW5nIGRpdiB3aGljaCBpcyBkZWxldGVk
IHdoaWxlIGxhdGNoZWQsIFNxdWFyZSBpcyAobW9zdGx5KSBncmVlbiBvbiBwYXNzCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitmaXJzdCBnZXN0dXJlCit3aGVlbCBldmVudCAwKz4g
W29iamVjdCBIVE1MRGl2RWxlbWVudF0KK3doZWVsIGV2ZW50IDErPiBbb2JqZWN0IEhUTUxEaXZF
bGVtZW50XQord2hlZWwgZXZlbnQgMis+IFtvYmplY3QgSFRNTERpdkVsZW1lbnRdCitQQVNTIG1v
dmluZ2Rpdi5zY3JvbGxUb3AgaXMgNjIKK1BBU1MgbW92aW5nZGl2LnNjcm9sbExlZnQgaXMgNjMK
K1BBU1Mgd2hlZWxFdmVudHNPY2N1cnJlZCBpcyAzCitzZWNvbmQgZ2VzdHVyZQord2hlZWwgZXZl
bnQgMCs+IFtvYmplY3QgSFRNTERpdkVsZW1lbnRdCit3aGVlbCBldmVudCAxKz4gW29iamVjdCBI
VE1MRGl2RWxlbWVudF0KK3JlY2VpdmVkIGVsZW1lbnQgcmVtb3Zpbmcga2V5cHJlc3MKK3doZWVs
IGV2ZW50IDIrPiBbb2JqZWN0IEhUTUxEaXZFbGVtZW50XQorUEFTUyBtb3ZpbmdkaXYuc2Nyb2xs
VG9wIGlzIDAKK1BBU1MgbW92aW5nZGl2LnNjcm9sbExlZnQgaXMgMAorUEFTUyB3aGVlbEV2ZW50
c09jY3VycmVkIGlzIDMKK3Njcm9sbCBldmVudCAwKz4gW29iamVjdCBIVE1MRGl2RWxlbWVudF0K
K1BBU1Mgc2Nyb2xsRXZlbnRzT2NjdXJyZWQgaXMgMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
</data>

          </attachment>
      

    </bug>

</bugzilla>