<?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>133063</bug_id>
          
          <creation_ts>2014-05-18 22:29:43 -0700</creation_ts>
          <short_desc>Fix the quirks mode selector matching of the pseudo classes :hover and :active</short_desc>
          <delta_ts>2014-05-26 14:46:19 -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>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>syoichi</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1010146</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-18 22:29:43 -0700</bug_when>
    <thetext>Fix the quirks mode selector matching of the pseudo classes :hover and :active</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010153</commentid>
    <comment_count>1</comment_count>
      <attachid>231677</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-18 22:54:02 -0700</bug_when>
    <thetext>Created attachment 231677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010311</commentid>
    <comment_count>2</comment_count>
      <attachid>231677</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-19 15:05:36 -0700</bug_when>
    <thetext>Comment on attachment 231677
Patch

I got to test Internet Explorer today, it does not follow Firefox.

Let&apos;s go with http://quirks.spec.whatwg.org/#the-:active-and-:hover-quirk instead. It is very similar to what we had before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011662</commentid>
    <comment_count>3</comment_count>
      <attachid>232064</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-26 00:24:56 -0700</bug_when>
    <thetext>Created attachment 232064
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011663</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-26 00:26:27 -0700</bug_when>
    <thetext>As discussed with Antti on IRC, it is better to follow the spec, especially since the spec is a generalization of our old behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011702</commentid>
    <comment_count>5</comment_count>
      <attachid>232064</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-05-26 05:07:32 -0700</bug_when>
    <thetext>Comment on attachment 232064
Patch

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

r=me

&gt; Source/WebCore/css/SelectorChecker.cpp:361
&gt; +    // In quirks mode, a compound selector selector that matches the following conditions must not match elements that would not also match the &apos;:any-link&apos; selector.

The second selector in &quot;a compound selector selector&quot; could use single quotes around it (the original uses italics).

&gt; LayoutTests/ChangeLog:9
&gt; +        The test coverage of :hover and :active was extremly poor.
&gt; +        Those new tests add coverage for the cases fixed by this patch.

Thanks for extensive tests!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011703</commentid>
    <comment_count>6</comment_count>
      <attachid>232064</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-05-26 05:24:22 -0700</bug_when>
    <thetext>Comment on attachment 232064
Patch

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

&gt; Source/WebCore/ChangeLog:32
&gt; +        Tests: fast/selectors/active-hover-quirks.html
&gt; +               fast/selectors/active-quirks.html
&gt; +               fast/selectors/hover-quirks.html

It might be good to also land the same tests in standards mode to document the behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1011837</commentid>
    <comment_count>7</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-26 14:46:19 -0700</bug_when>
    <thetext>Committed r169360: &lt;http://trac.webkit.org/changeset/169360&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231677</attachid>
            <date>2014-05-18 22:54:02 -0700</date>
            <delta_ts>2014-05-26 00:24:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133063-20140518225338.patch</filename>
            <type>text/plain</type>
            <size>36827</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5MDA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjQ1NmY2YTcwMTM5MDBm
M2M1N2VkOTgyNmY2NGI4MDAzZWM2NGFhMi4uN2JmMzA4YzlhMGMzNWNlMjQwNTQ1OTdiMDE2ZTRm
ODQwZjBlM2NhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE0LTA1LTE4ICBCZW5q
YW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBGaXggdGhlIHF1
aXJrcyBtb2RlIHNlbGVjdG9yIG1hdGNoaW5nIG9mIHRoZSBwc2V1ZG8gY2xhc3NlcyA6aG92ZXIg
YW5kIDphY3RpdmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzMzA2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE91ciBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgcXVpcmtzIG1vZGUgb2YgOmFjdGl2ZSBhbmQg
OmhvdmVyIHdhcyB2ZXJ5IHdyb25nLiBUaGUgb25seQorICAgICAgICB0aGluZyBpdCB3YXMgZG9p
bmcgaXMgdmVyaWZ5IHRoZSBwc2V1ZG8gY2xhc3MgaXMgbm90IHRoZSBmaXJzdCBzZWxlY3RvciBv
ZiBhIGZyYWdtZW50CisgICAgICAgICh3aGljaCB3YXMgY29udmVuaWVudGx5IHRoZSBvbmx5IHRo
aW5nIHRoYXQgd2FzIHRlc3RlZCA6KSkuCisKKyAgICAgICAgU2luY2UgdGhvc2UgcHNldWRvIGNs
YXNzIHdlcmUgb25seSBjaGVja2luZyBmb3IgdGhlIG9yZGVyIG9mIHRoZSBmaWx0ZXJzLCBzb21l
dGhpbmcgbGlrZQorICAgICAgICAgICAgI3RhcmdldDpob3ZlcgorICAgICAgICB3b3VsZCBzdWNj
ZWVkIGJlY2F1c2UgOmhvdmVyIGlzIG5vdCB0aGUgZmlyc3Qgc2ltcGxlIHNlbGVjdG9yLCB3aGls
ZQorICAgICAgICAgICAgOmhvdmVyI3RhcmdldAorICAgICAgICB3b3VsZCBmYWlsLgorCisgICAg
ICAgIFRoYXQgYmVoYXZpb3IgaXMgYWxzbyBhIHByb2JsZW0gZm9yIHRoZSBDU1MgSklUIGFzIGl0
IGlzIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbCBvZiBTZWxlY3RvckNoZWNrZXIKKyAgICAgICAg
YW5kIGNvbXBpbGluZyBzb21ldGhpbmcgbGlrZSB0aGF0IHdpdGggb3VyIG91dC1vZi1vcmRlciBt
YXRjaGluZyB3b3VsZCBiZSBub25zZW5zZS4KKworICAgICAgICBUaGVyZSBpcyBubyBkZWZpbml0
aXZlIHNwZWNpZmljYXRpb24gb2Ygd2hhdCA6aG92ZXIgYW5kIDphY3RpdmUgc2hvdWxkIGRvIGlu
IHF1aXJrcyBtb2RlLgorCisgICAgICAgIFRoZXJlIGlzIHNvbWUgc3BlY2lmaWNhdGlvbiBvZiBo
dHRwOi8vcXVpcmtzLnNwZWMud2hhdHdnLm9yZy8jdGhlLTphY3RpdmUtYW5kLTpob3Zlci1xdWly
aworICAgICAgICBidXQgbm8gZW5naW5lIHNlZW1zIHRvIGZvbGxvdyBpdC4KKworICAgICAgICBH
ZWNrbyBoYXMgYSB3ZWxsIGRvY3VtZW50ZWQgYmVoYXZpb3Igd2l0aCBhIGdvb2QgdHJhY2sgcmVj
b3JkIHNvIEkgZGVjaWRlZCB0byBmb2xsb3cgdGhhdC4KKyAgICAgICAgSW4gR2Vja28sIHRoZSBm
b2xsb3dpbmcgcXVhbGlmeSA6aG92ZXIgYW5kIDphY3RpdmU6CisgICAgICAgICAgICAtdGFnIG5h
bWUKKyAgICAgICAgICAgIC1pZAorICAgICAgICAgICAgLWNsYXNzCisgICAgICAgICAgICAtYXR0
cmlidXRlCisKKyAgICAgICAgVG8gaW1wbGVtZW50IHRoaXMgYmVoYXZpb3IsIEkgbmVlZGVkIHRv
IGJlIGFibGUgdG8gaW5zcGVjdCBhIGNvbXBsZXRlIHNlbGVjdG9yIGZyYWdtZW50LCBpbmNsdWRp
bmcKKyAgICAgICAgd2hhdCBpcyBiZWZvcmUgYW5kIGFmdGVyIDpob3Zlci86YWN0aXZlLgorICAg
ICAgICBUbyBkbyB0aGF0LCBJIHJlcGxhY2VkIHRoZSBib29sZWFuIGlzU3ViU2VsZWN0b3IgYnkg
YSBwb2ludGVyIHRvIHRoZSBmaXJzdCBzZWxlY3RvciBvZiB0aGUgZnJhZ21lbnQuCisgICAgICAg
IFdoZW4gd2UgbmVlZCB0byBtYXRjaCA6YWN0aXZlLzpob3ZlciBpbiBxdWlya3MgbW9kZSwgd2Ug
anVzdCBnbyBvdmVyIGFsbCB0aGUgc2VsZWN0b3JzIGluIHRoZSBmcmFnbWVudAorICAgICAgICB0
byBmaW5kIG9uZSBvZiB0aGUgcXVhbGlmeWluZyBtYXRjaCB0eXBlLgorCisgICAgICAgIFRlc3Rz
OiBmYXN0L3NlbGVjdG9ycy9hY3RpdmUtcXVpcmtzLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3Qv
c2VsZWN0b3JzL2hvdmVyLXF1aXJrcy5odG1sCisKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVj
a2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6bWF0Y2hSZWN1cnNp
dmVseSk6CisgICAgICAgIChXZWJDb3JlOjpmcmFnbWVudFN0YXJ0aW5nQXRTZWxlY3RvckNhbk1h
dGNoSG92ZXJJblF1aXJrc01vZGUpOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDaGVja2Vy
OjpjaGVja09uZSk6CisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlci5oOgorICAgICAgICAo
V2ViQ29yZTo6U2VsZWN0b3JDaGVja2VyOjpTZWxlY3RvckNoZWNraW5nQ29udGV4dDo6U2VsZWN0
b3JDaGVja2luZ0NvbnRleHQpOgorCiAyMDE0LTA1LTE3ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5n
QGFwcGxlLmNvbT4KIAogICAgICAgICBXZSBzaG91bGRuJ3QgbWFrZSBhIFNjcm9sbGluZ1RocmVh
ZCBvbiBpT1MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCmluZGV4IDhiY2Qz
NDM3MDBhNzg2NGU1MWY1ZjI4ZDkxZDNmNzU0NmRmOGUzNjMuLmQwZTlhODNjNDczY2YyYjRjOWE0
OTFlM2I1NzQyODBhMzhjODI1NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxl
Y3RvckNoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIu
Y3BwCkBAIC0xOTIsNyArMTkyLDcgQEAgU2VsZWN0b3JDaGVja2VyOjpNYXRjaCBTZWxlY3RvckNo
ZWNrZXI6Om1hdGNoUmVjdXJzaXZlbHkoY29uc3QgU2VsZWN0b3JDaGVja2luZ0MKICAgICAgICAg
ICAgIHJldHVybiBTZWxlY3RvckZhaWxzQ29tcGxldGVseTsKIAogICAgICAgICAvLyBEaXNhYmxl
IDp2aXNpdGVkIG1hdGNoaW5nIHdoZW4gd2Ugc2VlIHRoZSBmaXJzdCBsaW5rIG9yIHRyeSB0byBt
YXRjaCBhbnl0aGluZyBlbHNlIHRoYW4gYW4gYW5jZXN0b3JzLgotICAgICAgICBpZiAoIWNvbnRl
eHQuaXNTdWJTZWxlY3RvciAmJiAoY29udGV4dC5lbGVtZW50LT5pc0xpbmsoKSB8fCAocmVsYXRp
b24gIT0gQ1NTU2VsZWN0b3I6OkRlc2NlbmRhbnQgJiYgcmVsYXRpb24gIT0gQ1NTU2VsZWN0b3I6
OkNoaWxkKSkpCisgICAgICAgIGlmIChjb250ZXh0LmZpcnN0U2VsZWN0b3JPZlRoZUZyYWdtZW50
ID09IGNvbnRleHQuc2VsZWN0b3IgJiYgKGNvbnRleHQuZWxlbWVudC0+aXNMaW5rKCkgfHwgKHJl
bGF0aW9uICE9IENTU1NlbGVjdG9yOjpEZXNjZW5kYW50ICYmIHJlbGF0aW9uICE9IENTU1NlbGVj
dG9yOjpDaGlsZCkpKQogICAgICAgICAgICAgbmV4dENvbnRleHQudmlzaXRlZE1hdGNoVHlwZSA9
IFZpc2l0ZWRNYXRjaERpc2FibGVkOwogCiAgICAgICAgIG5leHRDb250ZXh0LnBzZXVkb0lkID0g
Tk9QU0VVRE87CkBAIC0yMDEsNyArMjAxLDcgQEAgU2VsZWN0b3JDaGVja2VyOjpNYXRjaCBTZWxl
Y3RvckNoZWNrZXI6Om1hdGNoUmVjdXJzaXZlbHkoY29uc3QgU2VsZWN0b3JDaGVja2luZ0MKICAg
ICBzd2l0Y2ggKHJlbGF0aW9uKSB7CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6RGVzY2VuZGFudDoK
ICAgICAgICAgbmV4dENvbnRleHQuZWxlbWVudCA9IGNvbnRleHQuZWxlbWVudC0+cGFyZW50RWxl
bWVudCgpOwotICAgICAgICBuZXh0Q29udGV4dC5pc1N1YlNlbGVjdG9yID0gZmFsc2U7CisgICAg
ICAgIG5leHRDb250ZXh0LmZpcnN0U2VsZWN0b3JPZlRoZUZyYWdtZW50ID0gbmV4dENvbnRleHQu
c2VsZWN0b3I7CiAgICAgICAgIG5leHRDb250ZXh0LmVsZW1lbnRTdHlsZSA9IDA7CiAgICAgICAg
IGZvciAoOyBuZXh0Q29udGV4dC5lbGVtZW50OyBuZXh0Q29udGV4dC5lbGVtZW50ID0gbmV4dENv
bnRleHQuZWxlbWVudC0+cGFyZW50RWxlbWVudCgpKSB7CiAgICAgICAgICAgICBNYXRjaCBtYXRj
aCA9IHRoaXMtPm1hdGNoUmVjdXJzaXZlbHkobmV4dENvbnRleHQsIGlnbm9yZUR5bmFtaWNQc2V1
ZG8pOwpAQCAtMjE1LDcgKzIxNSw3IEBAIFNlbGVjdG9yQ2hlY2tlcjo6TWF0Y2ggU2VsZWN0b3JD
aGVja2VyOjptYXRjaFJlY3Vyc2l2ZWx5KGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdDCiAgICAgICAg
ICAgICBuZXh0Q29udGV4dC5lbGVtZW50ID0gY29udGV4dC5lbGVtZW50LT5wYXJlbnRFbGVtZW50
KCk7CiAgICAgICAgICAgICBpZiAoIW5leHRDb250ZXh0LmVsZW1lbnQpCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIFNlbGVjdG9yRmFpbHNDb21wbGV0ZWx5OwotICAgICAgICAgICAgbmV4dENvbnRl
eHQuaXNTdWJTZWxlY3RvciA9IGZhbHNlOworICAgICAgICAgICAgbmV4dENvbnRleHQuZmlyc3RT
ZWxlY3Rvck9mVGhlRnJhZ21lbnQgPSBuZXh0Q29udGV4dC5zZWxlY3RvcjsKICAgICAgICAgICAg
IG5leHRDb250ZXh0LmVsZW1lbnRTdHlsZSA9IG51bGxwdHI7CiAgICAgICAgICAgICBNYXRjaCBt
YXRjaCA9IG1hdGNoUmVjdXJzaXZlbHkobmV4dENvbnRleHQsIGlnbm9yZUR5bmFtaWNQc2V1ZG8p
OwogICAgICAgICAgICAgaWYgKG1hdGNoID09IFNlbGVjdG9yTWF0Y2hlcyB8fCBtYXRjaCA9PSBT
ZWxlY3RvckZhaWxzQ29tcGxldGVseSkKQEAgLTIzMSw3ICsyMzEsNyBAQCBTZWxlY3RvckNoZWNr
ZXI6Ok1hdGNoIFNlbGVjdG9yQ2hlY2tlcjo6bWF0Y2hSZWN1cnNpdmVseShjb25zdCBTZWxlY3Rv
ckNoZWNraW5nQwogICAgICAgICBuZXh0Q29udGV4dC5lbGVtZW50ID0gY29udGV4dC5lbGVtZW50
LT5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKCk7CiAgICAgICAgIGlmICghbmV4dENvbnRleHQuZWxl
bWVudCkKICAgICAgICAgICAgIHJldHVybiBTZWxlY3RvckZhaWxzQWxsU2libGluZ3M7Ci0gICAg
ICAgIG5leHRDb250ZXh0LmlzU3ViU2VsZWN0b3IgPSBmYWxzZTsKKyAgICAgICAgbmV4dENvbnRl
eHQuZmlyc3RTZWxlY3Rvck9mVGhlRnJhZ21lbnQgPSBuZXh0Q29udGV4dC5zZWxlY3RvcjsKICAg
ICAgICAgbmV4dENvbnRleHQuZWxlbWVudFN0eWxlID0gMDsKICAgICAgICAgcmV0dXJuIG1hdGNo
UmVjdXJzaXZlbHkobmV4dENvbnRleHQsIGlnbm9yZUR5bmFtaWNQc2V1ZG8pOwogCkBAIC0yNDEs
NyArMjQxLDcgQEAgU2VsZWN0b3JDaGVja2VyOjpNYXRjaCBTZWxlY3RvckNoZWNrZXI6Om1hdGNo
UmVjdXJzaXZlbHkoY29uc3QgU2VsZWN0b3JDaGVja2luZ0MKICAgICAgICAgICAgICAgICBwYXJl
bnRFbGVtZW50LT5zZXRDaGlsZHJlbkFmZmVjdGVkQnlGb3J3YXJkUG9zaXRpb25hbFJ1bGVzKCk7
CiAgICAgICAgIH0KICAgICAgICAgbmV4dENvbnRleHQuZWxlbWVudCA9IGNvbnRleHQuZWxlbWVu
dC0+cHJldmlvdXNFbGVtZW50U2libGluZygpOwotICAgICAgICBuZXh0Q29udGV4dC5pc1N1YlNl
bGVjdG9yID0gZmFsc2U7CisgICAgICAgIG5leHRDb250ZXh0LmZpcnN0U2VsZWN0b3JPZlRoZUZy
YWdtZW50ID0gbmV4dENvbnRleHQuc2VsZWN0b3I7CiAgICAgICAgIG5leHRDb250ZXh0LmVsZW1l
bnRTdHlsZSA9IDA7CiAgICAgICAgIGZvciAoOyBuZXh0Q29udGV4dC5lbGVtZW50OyBuZXh0Q29u
dGV4dC5lbGVtZW50ID0gbmV4dENvbnRleHQuZWxlbWVudC0+cHJldmlvdXNFbGVtZW50U2libGlu
ZygpKSB7CiAgICAgICAgICAgICBNYXRjaCBtYXRjaCA9IHRoaXMtPm1hdGNoUmVjdXJzaXZlbHko
bmV4dENvbnRleHQsIGlnbm9yZUR5bmFtaWNQc2V1ZG8pOwpAQCAtMjYwLDcgKzI2MCw2IEBAIFNl
bGVjdG9yQ2hlY2tlcjo6TWF0Y2ggU2VsZWN0b3JDaGVja2VyOjptYXRjaFJlY3Vyc2l2ZWx5KGNv
bnN0IFNlbGVjdG9yQ2hlY2tpbmdDCiAgICAgICAgICAgICAmJiAhbmV4dENvbnRleHQuaGFzU2Vs
ZWN0aW9uUHNldWRvCiAgICAgICAgICAgICAmJiAhKG5leHRDb250ZXh0Lmhhc1Njcm9sbGJhclBz
ZXVkbyAmJiBuZXh0Q29udGV4dC5zZWxlY3Rvci0+bV9tYXRjaCA9PSBDU1NTZWxlY3Rvcjo6UHNl
dWRvQ2xhc3MpKQogICAgICAgICAgICAgcmV0dXJuIFNlbGVjdG9yRmFpbHNDb21wbGV0ZWx5Owot
ICAgICAgICBuZXh0Q29udGV4dC5pc1N1YlNlbGVjdG9yID0gdHJ1ZTsKICAgICAgICAgcmV0dXJu
IG1hdGNoUmVjdXJzaXZlbHkobmV4dENvbnRleHQsIGR5bmFtaWNQc2V1ZG8pOwogCiAgICAgY2Fz
ZSBDU1NTZWxlY3Rvcjo6U2hhZG93RGVzY2VuZGFudDoKQEAgLTI2OSw3ICsyNjgsNyBAQCBTZWxl
Y3RvckNoZWNrZXI6Ok1hdGNoIFNlbGVjdG9yQ2hlY2tlcjo6bWF0Y2hSZWN1cnNpdmVseShjb25z
dCBTZWxlY3RvckNoZWNraW5nQwogICAgICAgICAgICAgaWYgKCFzaGFkb3dIb3N0Tm9kZSkKICAg
ICAgICAgICAgICAgICByZXR1cm4gU2VsZWN0b3JGYWlsc0NvbXBsZXRlbHk7CiAgICAgICAgICAg
ICBuZXh0Q29udGV4dC5lbGVtZW50ID0gc2hhZG93SG9zdE5vZGU7Ci0gICAgICAgICAgICBuZXh0
Q29udGV4dC5pc1N1YlNlbGVjdG9yID0gZmFsc2U7CisgICAgICAgICAgICBuZXh0Q29udGV4dC5m
aXJzdFNlbGVjdG9yT2ZUaGVGcmFnbWVudCA9IG5leHRDb250ZXh0LnNlbGVjdG9yOwogICAgICAg
ICAgICAgbmV4dENvbnRleHQuZWxlbWVudFN0eWxlID0gMDsKICAgICAgICAgICAgIHJldHVybiBt
YXRjaFJlY3Vyc2l2ZWx5KG5leHRDb250ZXh0LCBpZ25vcmVEeW5hbWljUHNldWRvKTsKICAgICAg
ICAgfQpAQCAtMzU2LDYgKzM1NSw0OSBAQCBzdGF0aWMgYm9vbCBhbnlBdHRyaWJ1dGVNYXRjaGVz
KEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IENTU1NlbGVjdG9yKiBzZWxlY3RvciwgYwogICAgIHJl
dHVybiBmYWxzZTsKIH0KIAorc3RhdGljIGJvb2wgZnJhZ21lbnRTdGFydGluZ0F0U2VsZWN0b3JD
YW5NYXRjaEhvdmVySW5RdWlya3NNb2RlKGNvbnN0IENTU1NlbGVjdG9yKiBmaXJzdFNlbGVjdG9y
KQoreworICAgIC8vIEluIHF1aXJrcyBtb2RlLCB3aGVuICc6aG92ZXInIGlzIGFwcGxpZWQgdG8g
YW4gZWxlbWVudCB0aGF0IGlzIG5vdCBhIGxpbmssIGl0IGNhbiBvbmx5IG1hdGNoIGlmCisgICAg
Ly8gdGhlICJTZWxlY3RvciBGcmFnbWVudCIgKGEgc2VxdWVuY2Ugb2Ygc2ltcGxlIHNlbGVjdG9y
cykgdGVzdCBmb3I6CisgICAgLy8gLWEgdGFnIGZpbHRlciAoZXhjbHVkaW5nIHRoZSB1bml2ZXJz
YWwgc2VsZWN0b3IgJyonKS4KKyAgICAvLyAtYW4gaWQgZmlsdGVyLgorICAgIC8vIC1hIGNsYXNz
IGZpbHRlci4KKyAgICAvLyAtYW4gYXR0cmlidXRlIGZpbHRlci4KKyAgICAvLyBUaGlzIHF1aXJr
cyBvZiA6aG92ZXIgb3JpZ2luYXRlIGZyb20gY29tcGF0aWJpbGl0eSBpc3N1ZXMgd2l0aCBJbnRl
cm5ldCBFeHBsb3Jlci4KKyAgICAvLyBUaGUgbGlzdCBhYm92ZSBvZiBmaWx0ZXIgdGhhdCBzdXBw
b3J0IDpob3ZlciBpcyB0aGUgc2FtZSB1c2VkIGJ5IEdlY2tvLgorCisgICAgLy8gT24gdG9wIG9m
IHRoZSAic3RhbmRhcmQgcXVpcmtzIiBsaXN0ZWQgYWJvdmUsIHdlIGFsc28gYWxsb3cgOmhvdmVy
IGluIHRoZSBzaGFkb3cgc3VidHJlZSB0cmVlIGZvciBjb21wYXRpYmlsaXR5LgorICAgIC8vIFRo
aXMgYmVoYXZpb3IgaXMgbm9uLXN0YW5kYXJkIGFuZCBzaG91bGQgYmUgcmV2aXNpdGVkIGlmIHNo
YWRvdyBET00gd2FzIGV4cG9zZWQgdG8gd2ViIGF1dGhvcnMuCisgICAgZm9yIChjb25zdCBDU1NT
ZWxlY3Rvciogc2VsZWN0b3IgPSBmaXJzdFNlbGVjdG9yOyBzZWxlY3Rvcjsgc2VsZWN0b3IgPSBz
ZWxlY3Rvci0+dGFnSGlzdG9yeSgpKSB7CisgICAgICAgIHN3aXRjaCAoc2VsZWN0b3ItPm1fbWF0
Y2gpIHsKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6VGFnOgorICAgICAgICAgICAgaWYgKHNl
bGVjdG9yLT50YWdRTmFtZSgpICE9IGFueVFOYW1lKCkpCisgICAgICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6SWQ6
CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkNsYXNzOgorICAgICAgICBjYXNlIENTU1NlbGVj
dG9yOjpFeGFjdDoKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2V0OgorICAgICAgICBjYXNl
IENTU1NlbGVjdG9yOjpMaXN0OgorICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpIeXBoZW46Cisg
ICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkNvbnRhaW46CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0
b3I6OkJlZ2luOgorICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpFbmQ6CisgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICB9CisKKyAgICAgICAgQ1NTU2VsZWN0b3I6OlJlbGF0aW9uIHJlbGF0aW9uID0gc2VsZWN0b3It
PnJlbGF0aW9uKCk7CisgICAgICAgIGlmIChyZWxhdGlvbiA9PSBDU1NTZWxlY3Rvcjo6U2hhZG93
RGVzY2VuZGFudCkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgIGlmIChyZWxh
dGlvbiAhPSBDU1NTZWxlY3Rvcjo6U3ViU2VsZWN0b3IpCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBTZWxlY3RvckNoZWNrZXI6
OmNoZWNrT25lKGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0JiBjb250ZXh0KSBjb25zdAog
ewogICAgIEVsZW1lbnQqIGNvbnN0ICYgZWxlbWVudCA9IGNvbnRleHQuZWxlbWVudDsKQEAgLTM5
Myw3ICs0MzUsNyBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmUoY29uc3QgU2VsZWN0
b3JDaGVja2luZ0NvbnRleHQmIGNvbnRleHQpIGNvbnN0CiAgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCiAgICAgICAgICAgICBTZWxlY3RvckNoZWNraW5nQ29udGV4dCBzdWJDb250ZXh0
KGNvbnRleHQpOwotICAgICAgICAgICAgc3ViQ29udGV4dC5pc1N1YlNlbGVjdG9yID0gdHJ1ZTsK
KyAgICAgICAgICAgIHN1YkNvbnRleHQuZmlyc3RTZWxlY3Rvck9mVGhlRnJhZ21lbnQgPSBzZWxl
Y3Rvckxpc3QtPmZpcnN0KCk7CiAgICAgICAgICAgICBmb3IgKHN1YkNvbnRleHQuc2VsZWN0b3Ig
PSBzZWxlY3Rvckxpc3QtPmZpcnN0KCk7IHN1YkNvbnRleHQuc2VsZWN0b3I7IHN1YkNvbnRleHQu
c2VsZWN0b3IgPSBzdWJDb250ZXh0LnNlbGVjdG9yLT50YWdIaXN0b3J5KCkpIHsKICAgICAgICAg
ICAgICAgICBpZiAoc3ViQ29udGV4dC5zZWxlY3Rvci0+bV9tYXRjaCA9PSBDU1NTZWxlY3Rvcjo6
UHNldWRvQ2xhc3MpIHsKICAgICAgICAgICAgICAgICAgICAgLy8gOm5vdCBjYW5ub3QgbmVzdC4g
SSBkb24ndCByZWFsbHkga25vdyB3aHkgdGhpcyBpcyBhCkBAIC01ODIsOSArNjI0LDkgQEAgYm9v
bCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lKGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0
JiBjb250ZXh0KSBjb25zdAogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0Fu
eToKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBTZWxlY3RvckNoZWNraW5nQ29udGV4
dCBzdWJDb250ZXh0KGNvbnRleHQpOwotICAgICAgICAgICAgICAgIHN1YkNvbnRleHQuaXNTdWJT
ZWxlY3RvciA9IHRydWU7CiAgICAgICAgICAgICAgICAgUHNldWRvSWQgaWdub3JlRHluYW1pY1Bz
ZXVkbyA9IE5PUFNFVURPOwogICAgICAgICAgICAgICAgIGZvciAoc3ViQ29udGV4dC5zZWxlY3Rv
ciA9IHNlbGVjdG9yLT5zZWxlY3Rvckxpc3QoKS0+Zmlyc3QoKTsgc3ViQ29udGV4dC5zZWxlY3Rv
cjsgc3ViQ29udGV4dC5zZWxlY3RvciA9IENTU1NlbGVjdG9yTGlzdDo6bmV4dChzdWJDb250ZXh0
LnNlbGVjdG9yKSkgeworICAgICAgICAgICAgICAgICAgICBzdWJDb250ZXh0LmZpcnN0U2VsZWN0
b3JPZlRoZUZyYWdtZW50ID0gc3ViQ29udGV4dC5zZWxlY3RvcjsKICAgICAgICAgICAgICAgICAg
ICAgaWYgKG1hdGNoUmVjdXJzaXZlbHkoc3ViQ29udGV4dCwgaWdub3JlRHluYW1pY1BzZXVkbykg
PT0gU2VsZWN0b3JNYXRjaGVzKQogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgICAgICAgICAgICAgfQpAQCAtNjEyLDkgKzY1NCw3IEBAIGJvb2wgU2VsZWN0b3JDaGVj
a2VyOjpjaGVja09uZShjb25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYgY29udGV4dCkgY29u
c3QKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NGb2N1czoKICAgICAgICAg
ICAgIHJldHVybiBtYXRjaGVzRm9jdXNQc2V1ZG9DbGFzcyhlbGVtZW50KTsKICAgICAgICAgY2Fz
ZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NIb3ZlcjoKLSAgICAgICAgICAgIC8vIElmIHdlJ3Jl
IGluIHF1aXJrcyBtb2RlLCB0aGVuIGhvdmVyIHNob3VsZCBuZXZlciBtYXRjaCBhbmNob3JzIHdp
dGggbm8KLSAgICAgICAgICAgIC8vIGhyZWYgYW5kICo6aG92ZXIgc2hvdWxkIG5vdCBtYXRjaCBh
bnl0aGluZy4gVGhpcyBpcyBpbXBvcnRhbnQgZm9yIHNpdGVzIGxpa2Ugd3NqLmNvbS4KLSAgICAg
ICAgICAgIGlmIChtX3N0cmljdFBhcnNpbmcgfHwgY29udGV4dC5pc1N1YlNlbGVjdG9yIHx8IGVs
ZW1lbnQtPmlzTGluaygpKSB7CisgICAgICAgICAgICBpZiAobV9zdHJpY3RQYXJzaW5nIHx8IGVs
ZW1lbnQtPmlzTGluaygpIHx8IGZyYWdtZW50U3RhcnRpbmdBdFNlbGVjdG9yQ2FuTWF0Y2hIb3Zl
ckluUXVpcmtzTW9kZShjb250ZXh0LmZpcnN0U2VsZWN0b3JPZlRoZUZyYWdtZW50KSkgewogICAg
ICAgICAgICAgICAgIGlmIChtX21vZGUgPT0gUmVzb2x2aW5nU3R5bGUpIHsKICAgICAgICAgICAg
ICAgICAgICAgaWYgKGNvbnRleHQuZWxlbWVudFN0eWxlKQogICAgICAgICAgICAgICAgICAgICAg
ICAgY29udGV4dC5lbGVtZW50U3R5bGUtPnNldEFmZmVjdGVkQnlIb3ZlcigpOwpAQCAtNjI2LDkg
KzY2Niw3IEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja09uZShjb25zdCBTZWxlY3RvckNo
ZWNraW5nQ29udGV4dCYgY29udGV4dCkgY29uc3QKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0FjdGl2ZToKLSAg
ICAgICAgICAgIC8vIElmIHdlJ3JlIGluIHF1aXJrcyBtb2RlLCB0aGVuIDphY3RpdmUgc2hvdWxk
IG5ldmVyIG1hdGNoIGFuY2hvcnMgd2l0aCBubwotICAgICAgICAgICAgLy8gaHJlZiBhbmQgKjph
Y3RpdmUgc2hvdWxkIG5vdCBtYXRjaCBhbnl0aGluZy4KLSAgICAgICAgICAgIGlmIChtX3N0cmlj
dFBhcnNpbmcgfHwgY29udGV4dC5pc1N1YlNlbGVjdG9yIHx8IGVsZW1lbnQtPmlzTGluaygpKSB7
CisgICAgICAgICAgICBpZiAobV9zdHJpY3RQYXJzaW5nIHx8IGVsZW1lbnQtPmlzTGluaygpIHx8
IGZyYWdtZW50U3RhcnRpbmdBdFNlbGVjdG9yQ2FuTWF0Y2hIb3ZlckluUXVpcmtzTW9kZShjb250
ZXh0LmZpcnN0U2VsZWN0b3JPZlRoZUZyYWdtZW50KSkgewogICAgICAgICAgICAgICAgIGlmICht
X21vZGUgPT0gUmVzb2x2aW5nU3R5bGUpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRl
eHQuZWxlbWVudFN0eWxlKQogICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5lbGVtZW50
U3R5bGUtPnNldEFmZmVjdGVkQnlBY3RpdmUoKTsKQEAgLTc0MiwxMSArNzgwLDExIEBAIGJvb2wg
U2VsZWN0b3JDaGVja2VyOjpjaGVja09uZShjb25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYg
Y29udGV4dCkgY29uc3QKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAgICAgZWxzZSBpZiAoc2Vs
ZWN0b3ItPm1fbWF0Y2ggPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnQgJiYgc2VsZWN0b3It
PnBzZXVkb0VsZW1lbnRUeXBlKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRDdWUpIHsK
ICAgICAgICAgU2VsZWN0b3JDaGVja2luZ0NvbnRleHQgc3ViQ29udGV4dChjb250ZXh0KTsKLSAg
ICAgICAgc3ViQ29udGV4dC5pc1N1YlNlbGVjdG9yID0gdHJ1ZTsKIAogICAgICAgICBQc2V1ZG9J
ZCBpZ25vcmVEeW5hbWljUHNldWRvID0gTk9QU0VVRE87CiAgICAgICAgIGNvbnN0IENTU1NlbGVj
dG9yKiBjb25zdCAmIHNlbGVjdG9yID0gY29udGV4dC5zZWxlY3RvcjsKICAgICAgICAgZm9yIChz
dWJDb250ZXh0LnNlbGVjdG9yID0gc2VsZWN0b3ItPnNlbGVjdG9yTGlzdCgpLT5maXJzdCgpOyBz
dWJDb250ZXh0LnNlbGVjdG9yOyBzdWJDb250ZXh0LnNlbGVjdG9yID0gQ1NTU2VsZWN0b3JMaXN0
OjpuZXh0KHN1YkNvbnRleHQuc2VsZWN0b3IpKSB7CisgICAgICAgICAgICBzdWJDb250ZXh0LmZp
cnN0U2VsZWN0b3JPZlRoZUZyYWdtZW50ID0gc3ViQ29udGV4dC5zZWxlY3RvcjsKICAgICAgICAg
ICAgIGlmIChtYXRjaFJlY3Vyc2l2ZWx5KHN1YkNvbnRleHQsIGlnbm9yZUR5bmFtaWNQc2V1ZG8p
ID09IFNlbGVjdG9yTWF0Y2hlcykKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5oCmluZGV4IGFmYTk2MmY5ZjNlMmM5
YjAzODUyOGM1ZTJiMjRjNTJiZmI1YWU1MDcuLmU1YWNiMWNhYzA3YzBhZmI2ZDMwNWU0OWE0NmU1
YmQ1OGM3NzUzYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNr
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmgKQEAgLTIsNyAr
Miw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykK
ICAqICAgICAgICAgICAoQykgMjAwNC0yMDA1IEFsbGFuIFNhbmRmZWxkIEplbnNlbiAoa2RlQGNh
cmV3b2xmLmNvbSkKICAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBOaWNob2xhcyBTaGFua3Mg
KHdlYmtpdEBuaWNrc2hhbmtzLmNvbSkKLSAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwNiwgMjAw
NywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxMSwgMjAxMiwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIw
MDksIDIwMTAsIDIwMTEsIDIwMTIsIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA3IEFsZXhleSBQcm9za3VyeWFrb3YgPGFwQHdl
YmtpdC5vcmc+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggRXJpYyBTZWlkZWwgPGVyaWNA
d2Via2l0Lm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBUb3JjaCBNb2JpbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQpAQCAt
NjEsOCArNjEsOCBAQCBwdWJsaWM6CiAgICAgICAgICAgICAsIHBzZXVkb0lkKE5PUFNFVURPKQog
ICAgICAgICAgICAgLCBlbGVtZW50U3R5bGUoMCkKICAgICAgICAgICAgICwgc2Nyb2xsYmFyKDAp
CisgICAgICAgICAgICAsIGZpcnN0U2VsZWN0b3JPZlRoZUZyYWdtZW50KHNlbGVjdG9yKQogICAg
ICAgICAgICAgLCBzY3JvbGxiYXJQYXJ0KE5vUGFydCkKLSAgICAgICAgICAgICwgaXNTdWJTZWxl
Y3RvcihmYWxzZSkKICAgICAgICAgICAgICwgaGFzU2Nyb2xsYmFyUHNldWRvKGZhbHNlKQogICAg
ICAgICAgICAgLCBoYXNTZWxlY3Rpb25Qc2V1ZG8oZmFsc2UpCiAgICAgICAgIHsgfQpAQCAtNzQs
OCArNzQsOCBAQCBwdWJsaWM6CiAgICAgICAgIFBzZXVkb0lkIHBzZXVkb0lkOwogICAgICAgICBS
ZW5kZXJTdHlsZSogZWxlbWVudFN0eWxlOwogICAgICAgICBSZW5kZXJTY3JvbGxiYXIqIHNjcm9s
bGJhcjsKKyAgICAgICAgY29uc3QgQ1NTU2VsZWN0b3IqIGZpcnN0U2VsZWN0b3JPZlRoZUZyYWdt
ZW50OwogICAgICAgICBTY3JvbGxiYXJQYXJ0IHNjcm9sbGJhclBhcnQ7Ci0gICAgICAgIGJvb2wg
aXNTdWJTZWxlY3RvcjsKICAgICAgICAgYm9vbCBoYXNTY3JvbGxiYXJQc2V1ZG87CiAgICAgICAg
IGJvb2wgaGFzU2VsZWN0aW9uUHNldWRvOwogICAgIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjc4ZDhjM2JhMWI3ZmVk
OTE0OTg0ZDMwMGU1MTM1MTJkMjUxZGY1NC4uM2I3OWM0YmE2ODNiNjI3ZjM1MTQyOWZmZTkxNzg4
M2M2MWM2MWM1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE0LTA1LTE4ICBCZW5qYW1pbiBQ
b3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBGaXggdGhlIHF1aXJrcyBt
b2RlIHNlbGVjdG9yIG1hdGNoaW5nIG9mIHRoZSBwc2V1ZG8gY2xhc3NlcyA6aG92ZXIgYW5kIDph
Y3RpdmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
MzA2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
ZSB0ZXN0IGNvdmVyYWdlIG9mIDpob3ZlciBhbmQgOmFjdGl2ZSB3YXMgZXh0cmVtbHkgcG9vci4K
KyAgICAgICAgVGhvc2UgbmV3IHRlc3RzIGFkZCBjb3ZlcmFnZSBmb3IgdGhlIGNhc2VzIGZpeGVk
IGJ5IHRoaXMgcGF0Y2guCisKKyAgICAgICAgQWxsIHRoZSByZXN1bHRzIGNvbXBsZXRlbHkgbWF0
Y2ggR2Vja28gb2YgRmlyZWZveCAyOS4KKworICAgICAgICAqIGZhc3Qvc2VsZWN0b3JzL2FjdGl2
ZS1xdWlya3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3NlbGVjdG9ycy9h
Y3RpdmUtcXVpcmtzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2VsZWN0b3JzL2hvdmVy
LXF1aXJrcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2VsZWN0b3JzL2hv
dmVyLXF1aXJrcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3NlbGVjdG9ycy9yZXNvdXJj
ZXMvaG92ZXItYWN0aXZlLXF1aXJrcy11dGlsaXR5LmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3RR
dWVyeVNlbGVjdG9yKToKKyAgICAgICAgKHRlc3QpOgorCiAyMDE0LTA1LTE3ICBQaW90ciBHcmFk
ICA8cC5ncmFkQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFNldHRpbmcgcGxheWJhY2sgcmF0ZSBv
biB2aWRlbyB3aXRoIG1lZGlhIGNvbnRyb2xsZXIgaXMgbm90IGlnbm9yZWQuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9hY3RpdmUtcXVpcmtzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2FjdGl2ZS1xdWlya3MtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjFjMTU1Y2M0ZGM0NDM5NmMyODIzYjBiZGY0MjIyZGJlYWIyODk2ZjAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9hY3RpdmUtcXVpcmtzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDk5IEBACitUZXN0IHRoZSA6YWN0aXZlIHNlbGVjdG9yIHdo
ZW4gdGhlIGRvY3VtZW50IGlzIGluIHF1aXJrcyBtb2RlLiBUbyB0ZXN0IG1hbnVhbGx5LCBtb3Zl
IHRoZSBjdXJzb3Igb3ZlciB0aGUgZ3JlZW4gcmVjdGFuZ2xlIGFuZCBwcmVzcyBhIG1vdXNlIGJ1
dHRvbiB1bnRpbCB0aGUgdGVzdCBpcyBmaW5pc2hlZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmFjdGl2ZSIpLmxlbmd0
aCBpcyAwCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRh
cmdldCIpKS5jb2xvciBpcyAicmdiKDEsIDIsIDMpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVj
dG9yQWxsKCIqOmFjdGl2ZSIpLmxlbmd0aCBpcyAwCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDEsIDIsIDMpIgor
UEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6bnRoLWNoaWxkKG4pOmFjdGl2ZSIpLmxl
bmd0aCBpcyAwCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRhcmdldCIpKS5jb2xvciBpcyAicmdiKDEsIDIsIDMpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yQWxsKCI6YWN0aXZlOm50aC1jaGlsZChuKSIpLmxlbmd0aCBpcyAwCitQQVNTIGdldENv
bXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAi
cmdiKDEsIDIsIDMpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6bnRoLWNoaWxk
KG4pOmFjdGl2ZTpudGgtY2hpbGQobikiKS5sZW5ndGggaXMgMAorUEFTUyBnZXRDb21wdXRlZFN0
eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYigxLCAy
LCAzKSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOm50aC1jaGlsZChuKTphY3Rp
dmUgPiBkaXYiKS5sZW5ndGggaXMgMAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BBU1MgZG9j
dW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmFjdGl2ZTpudGgtY2hpbGQobikgPiBkaXYiKS5sZW5n
dGggaXMgMAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
YXJnZXQiKSkuY29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxl
Y3RvckFsbCgiOm50aC1jaGlsZChuKTphY3RpdmU6bnRoLWNoaWxkKG4pID4gZGl2IikubGVuZ3Ro
IGlzIDAKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFy
Z2V0IikpLmNvbG9yIGlzICJyZ2IoMSwgMiwgMykiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3JBbGwoIjpudGgtY2hpbGQobik6YWN0aXZlIGRpdiIpLmxlbmd0aCBpcyAwCitQQVNTIGdldENv
bXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAi
cmdiKDEsIDIsIDMpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6YWN0aXZlOm50
aC1jaGlsZChuKSBkaXYiKS5sZW5ndGggaXMgMAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BB
U1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOm50aC1jaGlsZChuKTphY3RpdmU6bnRoLWNo
aWxkKG4pIGRpdiIpLmxlbmd0aCBpcyAwCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDEsIDIsIDMpIgorUEFTUyBk
b2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6bnRoLWNoaWxkKG4pOmFjdGl2ZSArIGRpdiIpLmxl
bmd0aCBpcyAwCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRhcmdldCIpKS5jb2xvciBpcyAicmdiKDEsIDIsIDMpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yQWxsKCI6YWN0aXZlOm50aC1jaGlsZChuKSArIGRpdiIpLmxlbmd0aCBpcyAwCitQQVNT
IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xv
ciBpcyAicmdiKDEsIDIsIDMpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6bnRo
LWNoaWxkKG4pOmFjdGl2ZTpudGgtY2hpbGQobikgKyBkaXYiKS5sZW5ndGggaXMgMAorUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3Ig
aXMgInJnYigxLCAyLCAzKSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOm50aC1j
aGlsZChuKTphY3RpdmUgfiBkaXYiKS5sZW5ndGggaXMgMAorUEFTUyBnZXRDb21wdXRlZFN0eWxl
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYigxLCAyLCAz
KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmFjdGl2ZTpudGgtY2hpbGQobikg
fiBkaXYiKS5sZW5ndGggaXMgMAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BBU1MgZG9jdW1l
bnQucXVlcnlTZWxlY3RvckFsbCgiOm50aC1jaGlsZChuKTphY3RpdmU6bnRoLWNoaWxkKG4pIH4g
ZGl2IikubGVuZ3RoIGlzIDAKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoMSwgMiwgMykiCitQQVNTIGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3JBbGwoImRpdjphY3RpdmUiKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21w
dXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJn
Yig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiI3RhcmdldDphY3Rp
dmUiKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQu
cXVlcnlTZWxlY3RvckFsbCgiOmFjdGl2ZSN0YXJnZXQiKS5sZW5ndGggaXMgMQorUEFTUyBnZXRD
b21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMg
InJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiI3RhcmdldDph
Y3RpdmUjdGFyZ2V0IikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNT
IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5hQ2xhc3M6YWN0aXZlIikubGVuZ3RoIGlzIDEK
K1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0Iikp
LmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwo
IjphY3RpdmUuYUNsYXNzIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQ
QVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5hQ2xhc3M6YWN0aXZlLm90aGVyQ2xhc3Mi
KS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVl
cnlTZWxlY3RvckFsbCgiLmFDbGFzc1t3ZWJraXRdIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJy
Z2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjphY3RpdmVbd2Vi
a2l0XSIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yQWxsKCJbaWRdOmFjdGl2ZVt3ZWJraXRdIikubGVuZ3RoIGlzIDEKK1BB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNv
bG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5h
Q2xhc3Nbd2Via2l0PXJvY2tzXSIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYp
IgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6YWN0aXZlW3dlYmtpdD1yb2Nrc10i
KS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVl
cnlTZWxlY3RvckFsbCgiW2lkPXRhcmdldF06YWN0aXZlW3dlYmtpdD1yb2Nrc10iKS5sZW5ndGgg
aXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJn
ZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3Rv
ckFsbCgiLmFDbGFzc1t3ZWJraXRePXJvXSIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVk
U3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQs
IDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6YWN0aXZlW3dlYmtpdF49
cm9dIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3JBbGwoIltpZF49dGFdOmFjdGl2ZVt3ZWJraXRePXJvXSIpLmxlbmd0aCBp
cyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdl
dCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
QWxsKCIuYUNsYXNzW3dlYmtpdCQ9a3NdIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwg
NSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjphY3RpdmVbd2Via2l0JD1r
c10iKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQu
cXVlcnlTZWxlY3RvckFsbCgiW2lkJD1ldF06YWN0aXZlW3dlYmtpdCQ9a3NdIikubGVuZ3RoIGlz
IDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0
IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoIi5hQ2xhc3Nbd2Via2l0Kj1ja10iKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0
eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1
LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmFjdGl2ZVt3ZWJraXQqPWNr
XSIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5x
dWVyeVNlbGVjdG9yQWxsKCJbaWQqPXJnXTphY3RpdmVbd2Via2l0Kj1ja10iKS5sZW5ndGggaXMg
MQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQi
KSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFs
bCgiLmFDbGFzc1t3ZWJraXR+PXJvY2tzXSIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVk
U3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQs
IDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6YWN0aXZlW3dlYmtpdH49
cm9ja3NdIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltpZH49dGFyZ2V0XTphY3RpdmVbd2Via2l0fj1yb2Nrc10i
KS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVl
cnlTZWxlY3RvckFsbCgiLmFDbGFzc1t3ZWJraXR8PXJvY2tzXSIpLmxlbmd0aCBpcyAxCitQQVNT
IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xv
ciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6YWN0
aXZlW3dlYmtpdHw9cm9ja3NdIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNiki
CitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltpZHw9dGFyZ2V0XTphY3RpdmVbd2Vi
a2l0fD1yb2Nrc10iKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9hY3RpdmUtcXVpcmtzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3NlbGVjdG9ycy9hY3RpdmUtcXVpcmtzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGRjMmJl
M2Q4YmM0ZDNlNTlhMGZmMmMyNjc1NWQ0ZWViODYwM2UzNgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2FjdGl2ZS1xdWlya3MuaHRtbApAQCAtMCwwICsxLDMz
IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2hvdmVyLWFjdGl2ZS1x
dWlya3MtdXRpbGl0eS5qcyI+PC9zY3JpcHQ+Cis8c3R5bGUgaWQ9InRlc3RTdHlsZSI+Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJ0YXJnZXQiIGNsYXNzPSJhQ2xhc3Mgb3Ro
ZXJDbGFzcyIgd2Via2l0PSJyb2NrcyIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6Z3JlZW47IHdp
ZHRoOjIwMHB4OyBoZWlnaHQ6MjAwcHg7Ij48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3QgdGhlIDphY3Rp
dmUgc2VsZWN0b3Igd2hlbiB0aGUgZG9jdW1lbnQgaXMgaW4gcXVpcmtzIG1vZGUuIFRvIHRlc3Qg
bWFudWFsbHksIG1vdmUgdGhlIGN1cnNvciBvdmVyIHRoZSBncmVlbiByZWN0YW5nbGUgYW5kIHBy
ZXNzIGEgbW91c2UgYnV0dG9uIHVudGlsIHRoZSB0ZXN0IGlzIGZpbmlzaGVkLicpOworCisKK2lm
ICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3RhcmdldCcpOworICAgIHZhciB4ID0gdGFyZ2V0Lm9mZnNldExlZnQgKyB0YXJn
ZXQub2Zmc2V0V2lkdGggLyAyOworICAgIHZhciB5ID0gdGFyZ2V0Lm9mZnNldFRvcCArIHRhcmdl
dC5vZmZzZXRIZWlnaHQgLyAyOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOwor
ICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgIHRlc3QoJzphY3RpdmUnKTsKKyAgICBl
dmVudFNlbmRlci5tb3VzZVVwKCkKK30gZWxzZSB7CisgICAgLy8gRm9yIHNvbWUgcmVhc29ucywg
dGhlIHRlc3QgZG9lcyBub3Qgd29yayB3ZWxsIHdpdGhvdXQgdGhlIHRpbWVvdXQgb24gRmlyZWZv
eC4KKyAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpOwor
ICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBmdW5jdGlvbigpIHsgc2V0
VGltZW91dCh0ZXN0LCAyNTAsICc6YWN0aXZlJyk7IH0pOworfQorCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2hvdmVyLXF1aXJrcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9ob3Zlci1xdWlya3MtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA3MTYzMmJkYTc4YWI4MTFlOTZhNjc2MzliODc4ZmNhODA0
YzdhYTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9ob3Zl
ci1xdWlya3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOTkgQEAKK1Rlc3QgdGhlIDpob3ZlciBz
ZWxlY3RvciB3aGVuIHRoZSBkb2N1bWVudCBpcyBpbiBxdWlya3MgbW9kZS4gVG8gdGVzdCBtYW51
YWxseSwgbW92ZSB0aGUgY3Vyc29yIG92ZXIgdGhlIGdyZWVuIHJlY3RhbmdsZSBhbmQgcmVsb2Fk
IHRoZSBwYWdlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yQWxsKCI6aG92ZXIiKS5sZW5ndGggaXMgMAorUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYigx
LCAyLCAzKSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiKjpob3ZlciIpLmxlbmd0
aCBpcyAwCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRh
cmdldCIpKS5jb2xvciBpcyAicmdiKDEsIDIsIDMpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVj
dG9yQWxsKCI6bnRoLWNoaWxkKG4pOmhvdmVyIikubGVuZ3RoIGlzIDAKK1BBU1MgZ2V0Q29tcHV0
ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2Io
MSwgMiwgMykiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpob3ZlcjpudGgtY2hp
bGQobikiKS5sZW5ndGggaXMgMAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BBU1MgZG9jdW1l
bnQucXVlcnlTZWxlY3RvckFsbCgiOm50aC1jaGlsZChuKTpob3ZlcjpudGgtY2hpbGQobikiKS5s
ZW5ndGggaXMgMAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BBU1MgZG9jdW1lbnQucXVlcnlT
ZWxlY3RvckFsbCgiOm50aC1jaGlsZChuKTpob3ZlciA+IGRpdiIpLmxlbmd0aCBpcyAwCitQQVNT
IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xv
ciBpcyAicmdiKDEsIDIsIDMpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6aG92
ZXI6bnRoLWNoaWxkKG4pID4gZGl2IikubGVuZ3RoIGlzIDAKK1BBU1MgZ2V0Q29tcHV0ZWRTdHls
ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoMSwgMiwg
MykiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpudGgtY2hpbGQobik6aG92ZXI6
bnRoLWNoaWxkKG4pID4gZGl2IikubGVuZ3RoIGlzIDAKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoMSwgMiwgMyki
CitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpudGgtY2hpbGQobik6aG92ZXIgZGl2
IikubGVuZ3RoIGlzIDAKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoMSwgMiwgMykiCitQQVNTIGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3JBbGwoIjpob3ZlcjpudGgtY2hpbGQobikgZGl2IikubGVuZ3RoIGlzIDAKK1BB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNv
bG9yIGlzICJyZ2IoMSwgMiwgMykiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpu
dGgtY2hpbGQobik6aG92ZXI6bnRoLWNoaWxkKG4pIGRpdiIpLmxlbmd0aCBpcyAwCitQQVNTIGdl
dENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBp
cyAicmdiKDEsIDIsIDMpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6bnRoLWNo
aWxkKG4pOmhvdmVyICsgZGl2IikubGVuZ3RoIGlzIDAKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoMSwgMiwgMyki
CitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpob3ZlcjpudGgtY2hpbGQobikgKyBk
aXYiKS5sZW5ndGggaXMgMAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BBU1MgZG9jdW1lbnQu
cXVlcnlTZWxlY3RvckFsbCgiOm50aC1jaGlsZChuKTpob3ZlcjpudGgtY2hpbGQobikgKyBkaXYi
KS5sZW5ndGggaXMgMAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BBU1MgZG9jdW1lbnQucXVl
cnlTZWxlY3RvckFsbCgiOm50aC1jaGlsZChuKTpob3ZlciB+IGRpdiIpLmxlbmd0aCBpcyAwCitQ
QVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5j
b2xvciBpcyAicmdiKDEsIDIsIDMpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6
aG92ZXI6bnRoLWNoaWxkKG4pIH4gZGl2IikubGVuZ3RoIGlzIDAKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoMSwg
MiwgMykiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpudGgtY2hpbGQobik6aG92
ZXI6bnRoLWNoaWxkKG4pIH4gZGl2IikubGVuZ3RoIGlzIDAKK1BBU1MgZ2V0Q29tcHV0ZWRTdHls
ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoMSwgMiwg
MykiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImRpdjpob3ZlciIpLmxlbmd0aCBp
cyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdl
dCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
QWxsKCIjdGFyZ2V0OmhvdmVyIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNiki
CitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpob3ZlciN0YXJnZXQiKS5sZW5ndGgg
aXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJn
ZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3Rv
ckFsbCgiI3RhcmdldDpob3ZlciN0YXJnZXQiKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0
LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmFDbGFzczpob3ZlciIp
Lmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yQWxsKCI6aG92ZXIuYUNsYXNzIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0
ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2Io
NCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5hQ2xhc3M6aG92ZXIu
b3RoZXJDbGFzcyIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBk
b2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuYUNsYXNzW3dlYmtpdF0iKS5sZW5ndGggaXMgMQor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSku
Y29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgi
OmhvdmVyW3dlYmtpdF0iKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BB
U1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2lkXTpob3Zlclt3ZWJraXRdIikubGVuZ3Ro
IGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFy
Z2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3JBbGwoIi5hQ2xhc3Nbd2Via2l0PXJvY2tzXSIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1
dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdi
KDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6aG92ZXJbd2Via2l0
PXJvY2tzXSIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1
bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbaWQ9dGFyZ2V0XTpob3Zlclt3ZWJraXQ9cm9ja3NdIiku
bGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3JBbGwoIi5hQ2xhc3Nbd2Via2l0Xj1yb10iKS5sZW5ndGggaXMgMQorUEFTUyBnZXRD
b21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMg
InJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmhvdmVyW3dl
YmtpdF49cm9dIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltpZF49dGFdOmhvdmVyW3dlYmtpdF49cm9dIikubGVu
Z3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3JBbGwoIi5hQ2xhc3Nbd2Via2l0JD1rc10iKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21w
dXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJn
Yig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmhvdmVyW3dlYmtp
dCQ9a3NdIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltpZCQ9ZXRdOmhvdmVyW3dlYmtpdCQ9a3NdIikubGVuZ3Ro
IGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFy
Z2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3JBbGwoIi5hQ2xhc3Nbd2Via2l0Kj1ja10iKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0
LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmhvdmVyW3dlYmtpdCo9
Y2tdIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3JBbGwoIltpZCo9cmddOmhvdmVyW3dlYmtpdCo9Y2tdIikubGVuZ3RoIGlz
IDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0
IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoIi5hQ2xhc3Nbd2Via2l0fj1yb2Nrc10iKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0
LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmhvdmVyW3dlYmtpdH49
cm9ja3NdIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltpZH49dGFyZ2V0XTpob3Zlclt3ZWJraXR+PXJvY2tzXSIp
Lmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yQWxsKCIuYUNsYXNzW3dlYmtpdHw9cm9ja3NdIikubGVuZ3RoIGlzIDEKK1BBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9y
IGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpob3Zl
clt3ZWJraXR8PXJvY2tzXSIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgor
UEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbaWR8PXRhcmdldF06aG92ZXJbd2Via2l0
fD1yb2Nrc10iKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9ob3Zlci1xdWlya3MuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2VsZWN0b3JzL2hvdmVyLXF1aXJrcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI1YjFhNDU4ZjNi
NDg4ZjgwYmJmNDRjZDYwODYzMzAxODE1MmVlODMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3NlbGVjdG9ycy9ob3Zlci1xdWlya3MuaHRtbApAQCAtMCwwICsxLDI5IEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2hvdmVyLWFjdGl2ZS1xdWlya3Mt
dXRpbGl0eS5qcyI+PC9zY3JpcHQ+Cis8c3R5bGUgaWQ9InRlc3RTdHlsZSI+Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJ0YXJnZXQiIGNsYXNzPSJhQ2xhc3Mgb3RoZXJDbGFz
cyIgd2Via2l0PSJyb2NrcyIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6Z3JlZW47IHdpZHRoOjIw
MHB4OyBoZWlnaHQ6MjAwcHg7Ij48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9k
aXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3QgdGhlIDpob3ZlciBzZWxl
Y3RvciB3aGVuIHRoZSBkb2N1bWVudCBpcyBpbiBxdWlya3MgbW9kZS4gVG8gdGVzdCBtYW51YWxs
eSwgbW92ZSB0aGUgY3Vyc29yIG92ZXIgdGhlIGdyZWVuIHJlY3RhbmdsZSBhbmQgcmVsb2FkIHRo
ZSBwYWdlLicpOworCitpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgdmFyIHRhcmdldCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKTsKKyAgICB2YXIgeCA9IHRhcmdldC5v
ZmZzZXRMZWZ0ICsgdGFyZ2V0Lm9mZnNldFdpZHRoIC8gMjsKKyAgICB2YXIgeSA9IHRhcmdldC5v
ZmZzZXRUb3AgKyB0YXJnZXQub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICBldmVudFNlbmRlci5tb3Vz
ZU1vdmVUbyh4LCB5KTsKKyAgICB0ZXN0KCc6aG92ZXInKTsKK30gZWxzZSB7CisgICAgLy8gVG8g
dGVzdCBtYW51YWxseSwgd2FpdCBhIGJpdCB0byBtYWtlIHN1cmUgdGhlIGJyb3dlcnMgaGFzIHVw
ZGF0ZWQgaXRzIHN0YXRlLCB0aGVuIHJ1biB0aGUgdGVzdHMuCisgICAgc2V0VGltZW91dCh0ZXN0
LCAyNTAsICc6aG92ZXInKTsKK30KKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9yZXNvdXJjZXMvaG92ZXItYWN0aXZlLXF1aXJrcy11
dGlsaXR5LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvcmVzb3VyY2VzL2hvdmVyLWFj
dGl2ZS1xdWlya3MtdXRpbGl0eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MjY3YjdiNDNkMzA0Mjg5MjQzZDNj
ZWUwNDNjOGYwZTczODlhNzc4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9z
ZWxlY3RvcnMvcmVzb3VyY2VzL2hvdmVyLWFjdGl2ZS1xdWlya3MtdXRpbGl0eS5qcwpAQCAtMCww
ICsxLDkyIEBACisKK3ZhciB0ZXN0Q2FzZXMgPSBbCisgICAgLy8gQ2xhc3NpYyBhY3RpdmUgd2l0
aCB0aGUgdW5pdmVyc2FsIHNlbGVjdG9yLgorICAgIFsiUExBQ0VIT0xERVIiLCBmYWxzZV0sCisg
ICAgWyIqUExBQ0VIT0xERVIiLCBmYWxzZV0sCisKKyAgICAvLyBUaGVzZSBhcmUgdW5xdWFsaWZp
ZWQgUExBQ0VIT0xERVIsIHRoZXkgc2hvdWxkIG5vdCBtYXRjaCBhbnl0aGluZywgcmVnYXJkbGVz
cyBvZiB0aGUgb3JkZXIuCisgICAgWyI6bnRoLWNoaWxkKG4pUExBQ0VIT0xERVIiLCBmYWxzZV0s
CisgICAgWyJQTEFDRUhPTERFUjpudGgtY2hpbGQobikiLCBmYWxzZV0sCisgICAgWyI6bnRoLWNo
aWxkKG4pUExBQ0VIT0xERVI6bnRoLWNoaWxkKG4pIiwgZmFsc2VdLAorICAgIC8vIFNhbWUgd2l0
aCBjaGlsZC4KKyAgICBbIjpudGgtY2hpbGQobilQTEFDRUhPTERFUiA+IGRpdiIsIGZhbHNlXSwK
KyAgICBbIlBMQUNFSE9MREVSOm50aC1jaGlsZChuKSA+IGRpdiIsIGZhbHNlXSwKKyAgICBbIjpu
dGgtY2hpbGQobilQTEFDRUhPTERFUjpudGgtY2hpbGQobikgPiBkaXYiLCBmYWxzZV0sCisgICAg
Ly8gU2FtZSB3aXRoIGRlc2NlbmRhbnQuCisgICAgWyI6bnRoLWNoaWxkKG4pUExBQ0VIT0xERVIg
ZGl2IiwgZmFsc2VdLAorICAgIFsiUExBQ0VIT0xERVI6bnRoLWNoaWxkKG4pIGRpdiIsIGZhbHNl
XSwKKyAgICBbIjpudGgtY2hpbGQobilQTEFDRUhPTERFUjpudGgtY2hpbGQobikgZGl2IiwgZmFs
c2VdLAorICAgIC8vIFNhbWUgd2l0aCBkaXJlY3QgYWRqYWNlbnQuCisgICAgWyI6bnRoLWNoaWxk
KG4pUExBQ0VIT0xERVIgKyBkaXYiLCBmYWxzZV0sCisgICAgWyJQTEFDRUhPTERFUjpudGgtY2hp
bGQobikgKyBkaXYiLCBmYWxzZV0sCisgICAgWyI6bnRoLWNoaWxkKG4pUExBQ0VIT0xERVI6bnRo
LWNoaWxkKG4pICsgZGl2IiwgZmFsc2VdLAorICAgIC8vIFNhbWUgd2l0aCBpbmRpcmVjdCBhZGph
Y2VudC4KKyAgICBbIjpudGgtY2hpbGQobilQTEFDRUhPTERFUiB+IGRpdiIsIGZhbHNlXSwKKyAg
ICBbIlBMQUNFSE9MREVSOm50aC1jaGlsZChuKSB+IGRpdiIsIGZhbHNlXSwKKyAgICBbIjpudGgt
Y2hpbGQobilQTEFDRUhPTERFUjpudGgtY2hpbGQobikgfiBkaXYiLCBmYWxzZV0sCisKKyAgICAv
LyBUYWcgcXVhbGlmeSB0aGUgcHNldWRvIGNsYXNzLgorICAgIFsiZGl2UExBQ0VIT0xERVIiLCB0
cnVlXSwKKworICAgIC8vIElkIHF1YWxpZnkgdGhlIHBzZXVkbyBjbGFzcy4KKyAgICBbIiN0YXJn
ZXRQTEFDRUhPTERFUiIsIHRydWVdLAorICAgIFsiUExBQ0VIT0xERVIjdGFyZ2V0IiwgdHJ1ZV0s
CisgICAgWyIjdGFyZ2V0UExBQ0VIT0xERVIjdGFyZ2V0IiwgdHJ1ZV0sCisKKyAgICAvLyBDbGFz
cyBxdWFsaWZ5IHRoZSBwc2V1ZG8gY2xhc3MuCisgICAgWyIuYUNsYXNzUExBQ0VIT0xERVIiLCB0
cnVlXSwKKyAgICBbIlBMQUNFSE9MREVSLmFDbGFzcyIsIHRydWVdLAorICAgIFsiLmFDbGFzc1BM
QUNFSE9MREVSLm90aGVyQ2xhc3MiLCB0cnVlXSwKKworICAgIC8vIEFueSBhdHRyaWJ1dGUgZmls
dGVyIHF1YWxpZnkgdGhlIHBzZXVkbyBjbGFzcy4KKyAgICBbIi5hQ2xhc3Nbd2Via2l0XSIsIHRy
dWVdLAorICAgIFsiUExBQ0VIT0xERVJbd2Via2l0XSIsIHRydWVdLAorICAgIFsiW2lkXVBMQUNF
SE9MREVSW3dlYmtpdF0iLCB0cnVlXSwKKworICAgIFsiLmFDbGFzc1t3ZWJraXQ9cm9ja3NdIiwg
dHJ1ZV0sCisgICAgWyJQTEFDRUhPTERFUlt3ZWJraXQ9cm9ja3NdIiwgdHJ1ZV0sCisgICAgWyJb
aWQ9dGFyZ2V0XVBMQUNFSE9MREVSW3dlYmtpdD1yb2Nrc10iLCB0cnVlXSwKKworICAgIFsiLmFD
bGFzc1t3ZWJraXRePXJvXSIsIHRydWVdLAorICAgIFsiUExBQ0VIT0xERVJbd2Via2l0Xj1yb10i
LCB0cnVlXSwKKyAgICBbIltpZF49dGFdUExBQ0VIT0xERVJbd2Via2l0Xj1yb10iLCB0cnVlXSwK
KworICAgIFsiLmFDbGFzc1t3ZWJraXQkPWtzXSIsIHRydWVdLAorICAgIFsiUExBQ0VIT0xERVJb
d2Via2l0JD1rc10iLCB0cnVlXSwKKyAgICBbIltpZCQ9ZXRdUExBQ0VIT0xERVJbd2Via2l0JD1r
c10iLCB0cnVlXSwKKworICAgIFsiLmFDbGFzc1t3ZWJraXQqPWNrXSIsIHRydWVdLAorICAgIFsi
UExBQ0VIT0xERVJbd2Via2l0Kj1ja10iLCB0cnVlXSwKKyAgICBbIltpZCo9cmddUExBQ0VIT0xE
RVJbd2Via2l0Kj1ja10iLCB0cnVlXSwKKworICAgIFsiLmFDbGFzc1t3ZWJraXR+PXJvY2tzXSIs
IHRydWVdLAorICAgIFsiUExBQ0VIT0xERVJbd2Via2l0fj1yb2Nrc10iLCB0cnVlXSwKKyAgICBb
IltpZH49dGFyZ2V0XVBMQUNFSE9MREVSW3dlYmtpdH49cm9ja3NdIiwgdHJ1ZV0sCisKKyAgICBb
Ii5hQ2xhc3Nbd2Via2l0fD1yb2Nrc10iLCB0cnVlXSwKKyAgICBbIlBMQUNFSE9MREVSW3dlYmtp
dHw9cm9ja3NdIiwgdHJ1ZV0sCisgICAgWyJbaWR8PXRhcmdldF1QTEFDRUhPTERFUlt3ZWJraXR8
PXJvY2tzXSIsIHRydWVdLAorXTsKKworZnVuY3Rpb24gdGVzdFF1ZXJ5U2VsZWN0b3Ioc2VsZWN0
b3IsIHNob3VsZE1hdGNoKSB7CisgICAgc2hvdWxkQmUoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoIicgKyBzZWxlY3RvciArICciKS5sZW5ndGgnLCBzaG91bGRNYXRjaD8gJzEnIDogJzAnKTsK
K30KKworZnVuY3Rpb24gdGVzdFN0eWxpbmcoc2VsZWN0b3IsIHNob3VsZE1hdGNoKSB7CisgICAg
dmFyIHRlc3RTdHlsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0U3R5bGUnKTsKKyAg
ICB2YXIgbm9NYXRjaFN0eWxlID0gInJnYigxLCAyLCAzKSI7CisgICAgdmFyIG1hdGNoU3R5bGUg
PSAicmdiKDQsIDUsIDYpIgorICAgIHRlc3RTdHlsZS50ZXh0Q29udGVudCA9ICIjdGFyZ2V0IHsg
Y29sb3I6IiArIG5vTWF0Y2hTdHlsZSArICIgfSAiICsgc2VsZWN0b3IgKyAiIHsgY29sb3I6IiAr
IG1hdGNoU3R5bGUgKyAiICFpbXBvcnRhbnQgfSI7CisKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5j
b2xvcicsIHNob3VsZE1hdGNoID8gbWF0Y2hTdHlsZSA6IG5vTWF0Y2hTdHlsZSk7CisKKyAgICB0
ZXN0U3R5bGUudGV4dENvbnRlbnQgPSAiIjsKK30KKworZnVuY3Rpb24gdGVzdChwc2V1ZG9DbGFz
cykgeworICAgIGZvciAodmFyIGkgPSAwLCBsZW5ndGggPSB0ZXN0Q2FzZXMubGVuZ3RoOyBpIDwg
bGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdmFyIHNlbGVjdG9yID0gdGVzdENhc2VzW2ldWzBdLnJl
cGxhY2UoJ1BMQUNFSE9MREVSJywgcHNldWRvQ2xhc3MpCisgICAgICAgIHRlc3RRdWVyeVNlbGVj
dG9yKHNlbGVjdG9yLCB0ZXN0Q2FzZXNbaV1bMV0pOworICAgICAgICB0ZXN0U3R5bGluZyhzZWxl
Y3RvciwgdGVzdENhc2VzW2ldWzFdKTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232064</attachid>
            <date>2014-05-26 00:24:56 -0700</date>
            <delta_ts>2014-05-26 05:24:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133063-20140526002431.patch</filename>
            <type>text/plain</type>
            <size>46968</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5MzI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDhkNGJlODBlOWE1ZTcy
OGE5OGJhNmRlY2I2NTVkZTQ5NTdjNzRmMS4uOThmNTJmZTE3NjE5OGZjYTI2NmNhN2IwMjRkNGY5
YjEwYzk3OWE4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE0LTA1LTI1ICBCZW5q
YW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBGaXggdGhlIHF1
aXJrcyBtb2RlIHNlbGVjdG9yIG1hdGNoaW5nIG9mIHRoZSBwc2V1ZG8gY2xhc3NlcyA6aG92ZXIg
YW5kIDphY3RpdmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzMzA2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE91ciBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgcXVpcmtzIG1vZGUgb2YgOmFjdGl2ZSBhbmQg
OmhvdmVyIHdhcyB2ZXJ5IHdyb25nLiBUaGUgb25seQorICAgICAgICB0aGluZyBpdCB3YXMgZG9p
bmcgaXMgdmVyaWZ5IHRoZSBwc2V1ZG8gY2xhc3MgaXMgbm90IHRoZSBmaXJzdCBzZWxlY3RvciBv
ZiBhIGZyYWdtZW50CisgICAgICAgICh3aGljaCB3YXMgY29udmVuaWVudGx5IHRoZSBvbmx5IHRo
aW5nIHRoYXQgd2FzIHRlc3RlZCA6KSkuCisKKyAgICAgICAgU2luY2UgdGhvc2UgcHNldWRvIGNs
YXNzIHdlcmUgb25seSBjaGVja2luZyBmb3IgdGhlIG9yZGVyIG9mIHRoZSBmaWx0ZXJzLCBzb21l
dGhpbmcgbGlrZQorICAgICAgICAgICAgI3RhcmdldDpob3ZlcgorICAgICAgICB3b3VsZCBzdWNj
ZWVkIGJlY2F1c2UgOmhvdmVyIGlzIG5vdCB0aGUgZmlyc3Qgc2ltcGxlIHNlbGVjdG9yLCB3aGls
ZQorICAgICAgICAgICAgOmhvdmVyI3RhcmdldAorICAgICAgICB3b3VsZCBmYWlsLgorCisgICAg
ICAgIFRoYXQgYmVoYXZpb3IgaXMgYWxzbyBhIHByb2JsZW0gZm9yIHRoZSBDU1MgSklUIGFzIGl0
IGlzIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbCBvZiBTZWxlY3RvckNoZWNrZXIKKyAgICAgICAg
YW5kIGNvbXBpbGluZyBzb21ldGhpbmcgbGlrZSB0aGF0IHdpdGggb3VyIG91dC1vZi1vcmRlciBt
YXRjaGluZyB3b3VsZCBiZSBub25zZW5zZS4KKworICAgICAgICBUaGlzIHBhdGNoIHVwZGF0ZSB0
aGUgaW1wbGVtZW50YXRpb24gdG8gZm9sbG93IGh0dHA6Ly9xdWlya3Muc3BlYy53aGF0d2cub3Jn
LyN0aGUtOmFjdGl2ZS1hbmQtOmhvdmVyLXF1aXJrCisgICAgICAgIEJhc2ljYWxseSwgdGhlIG9u
bHkgY2FzZXMgdGhhdCBkbyBub3Qgd29yayBpbiBxdWlya3MgbW9kZSBhcmUgc2VsZWN0b3JzIGNv
bXBvc2VkIG9ubHkgb2YgIiosIDpob3ZlciBhbmQgOmFjdGl2ZSIuCisKKyAgICAgICAgVG8gaW1w
bGVtZW50IHRoaXMgYmVoYXZpb3IsIEkgbmVlZGVkIHRvIGJlIGFibGUgdG8gaW5zcGVjdCBhIGNv
bXBsZXRlIHNlbGVjdG9yIGZyYWdtZW50LCBpbmNsdWRpbmcKKyAgICAgICAgd2hhdCBpcyBiZWZv
cmUgYW5kIGFmdGVyIDpob3Zlci86YWN0aXZlLgorICAgICAgICBUbyBkbyB0aGF0LCBJIHJlcGxh
Y2VkIHRoZSBib29sZWFuIGlzU3ViU2VsZWN0b3IgYnkgYSBwb2ludGVyIHRvIHRoZSBmaXJzdCBz
ZWxlY3RvciBvZiB0aGUgZnJhZ21lbnQuCisgICAgICAgIFdoZW4gd2UgbmVlZCB0byBtYXRjaCA6
YWN0aXZlLzpob3ZlciBpbiBxdWlya3MgbW9kZSwgd2UganVzdCBnbyBvdmVyIGFsbCB0aGUgc2Vs
ZWN0b3JzIGluIHRoZSBmcmFnbWVudAorICAgICAgICB0byBmaW5kIG9uZSBvZiB0aGUgcXVhbGlm
eWluZyBtYXRjaCB0eXBlLgorCisgICAgICAgIFRlc3RzOiBmYXN0L3NlbGVjdG9ycy9hY3RpdmUt
aG92ZXItcXVpcmtzLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3Qvc2VsZWN0b3JzL2FjdGl2ZS1x
dWlya3MuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9zZWxlY3RvcnMvaG92ZXItcXVpcmtzLmh0
bWwKKworICAgICAgICAqIGNzcy9TZWxlY3RvckNoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2VsZWN0b3JDaGVja2VyOjptYXRjaFJlY3Vyc2l2ZWx5KToKKyAgICAgICAgKFdlYkNvcmU6
OmNhbk1hdGNoSG92ZXJPckFjdGl2ZUluUXVpcmtzTW9kZSk6CisgICAgICAgIChXZWJDb3JlOjpT
ZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lKToKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2Vy
Lmg6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNoZWNrZXI6OlNlbGVjdG9yQ2hlY2tpbmdD
b250ZXh0OjpTZWxlY3RvckNoZWNraW5nQ29udGV4dCk6CisKIDIwMTQtMDUtMjUgIEppbndvbyBT
b25nICA8amlud29vNy5zb25nQHNhbXN1bmcuY29tPgogCiAgICAgICAgIHNldERhdGEoKSBvZiBE
YXRhVHJhbnNmZXIgaGFzIGEgdm9pZCByZXR1cm4gdHlwZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0
b3JDaGVja2VyLmNwcAppbmRleCA4YmNkMzQzNzAwYTc4NjRlNTFmNWYyOGQ5MWQzZjc1NDZkZjhl
MzYzLi5jNmFiODEzMjM1Yjk0NzMwMWNmODViNmU3YWM0MDU2YjNlY2JiZGZlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcApAQCAtMTkyLDcgKzE5Miw3IEBAIFNlbGVjdG9y
Q2hlY2tlcjo6TWF0Y2ggU2VsZWN0b3JDaGVja2VyOjptYXRjaFJlY3Vyc2l2ZWx5KGNvbnN0IFNl
bGVjdG9yQ2hlY2tpbmdDCiAgICAgICAgICAgICByZXR1cm4gU2VsZWN0b3JGYWlsc0NvbXBsZXRl
bHk7CiAKICAgICAgICAgLy8gRGlzYWJsZSA6dmlzaXRlZCBtYXRjaGluZyB3aGVuIHdlIHNlZSB0
aGUgZmlyc3QgbGluayBvciB0cnkgdG8gbWF0Y2ggYW55dGhpbmcgZWxzZSB0aGFuIGFuIGFuY2Vz
dG9ycy4KLSAgICAgICAgaWYgKCFjb250ZXh0LmlzU3ViU2VsZWN0b3IgJiYgKGNvbnRleHQuZWxl
bWVudC0+aXNMaW5rKCkgfHwgKHJlbGF0aW9uICE9IENTU1NlbGVjdG9yOjpEZXNjZW5kYW50ICYm
IHJlbGF0aW9uICE9IENTU1NlbGVjdG9yOjpDaGlsZCkpKQorICAgICAgICBpZiAoY29udGV4dC5m
aXJzdFNlbGVjdG9yT2ZUaGVGcmFnbWVudCA9PSBjb250ZXh0LnNlbGVjdG9yICYmIChjb250ZXh0
LmVsZW1lbnQtPmlzTGluaygpIHx8IChyZWxhdGlvbiAhPSBDU1NTZWxlY3Rvcjo6RGVzY2VuZGFu
dCAmJiByZWxhdGlvbiAhPSBDU1NTZWxlY3Rvcjo6Q2hpbGQpKSkKICAgICAgICAgICAgIG5leHRD
b250ZXh0LnZpc2l0ZWRNYXRjaFR5cGUgPSBWaXNpdGVkTWF0Y2hEaXNhYmxlZDsKIAogICAgICAg
ICBuZXh0Q29udGV4dC5wc2V1ZG9JZCA9IE5PUFNFVURPOwpAQCAtMjAxLDcgKzIwMSw3IEBAIFNl
bGVjdG9yQ2hlY2tlcjo6TWF0Y2ggU2VsZWN0b3JDaGVja2VyOjptYXRjaFJlY3Vyc2l2ZWx5KGNv
bnN0IFNlbGVjdG9yQ2hlY2tpbmdDCiAgICAgc3dpdGNoIChyZWxhdGlvbikgewogICAgIGNhc2Ug
Q1NTU2VsZWN0b3I6OkRlc2NlbmRhbnQ6CiAgICAgICAgIG5leHRDb250ZXh0LmVsZW1lbnQgPSBj
b250ZXh0LmVsZW1lbnQtPnBhcmVudEVsZW1lbnQoKTsKLSAgICAgICAgbmV4dENvbnRleHQuaXNT
dWJTZWxlY3RvciA9IGZhbHNlOworICAgICAgICBuZXh0Q29udGV4dC5maXJzdFNlbGVjdG9yT2ZU
aGVGcmFnbWVudCA9IG5leHRDb250ZXh0LnNlbGVjdG9yOwogICAgICAgICBuZXh0Q29udGV4dC5l
bGVtZW50U3R5bGUgPSAwOwogICAgICAgICBmb3IgKDsgbmV4dENvbnRleHQuZWxlbWVudDsgbmV4
dENvbnRleHQuZWxlbWVudCA9IG5leHRDb250ZXh0LmVsZW1lbnQtPnBhcmVudEVsZW1lbnQoKSkg
ewogICAgICAgICAgICAgTWF0Y2ggbWF0Y2ggPSB0aGlzLT5tYXRjaFJlY3Vyc2l2ZWx5KG5leHRD
b250ZXh0LCBpZ25vcmVEeW5hbWljUHNldWRvKTsKQEAgLTIxNSw3ICsyMTUsNyBAQCBTZWxlY3Rv
ckNoZWNrZXI6Ok1hdGNoIFNlbGVjdG9yQ2hlY2tlcjo6bWF0Y2hSZWN1cnNpdmVseShjb25zdCBT
ZWxlY3RvckNoZWNraW5nQwogICAgICAgICAgICAgbmV4dENvbnRleHQuZWxlbWVudCA9IGNvbnRl
eHQuZWxlbWVudC0+cGFyZW50RWxlbWVudCgpOwogICAgICAgICAgICAgaWYgKCFuZXh0Q29udGV4
dC5lbGVtZW50KQogICAgICAgICAgICAgICAgIHJldHVybiBTZWxlY3RvckZhaWxzQ29tcGxldGVs
eTsKLSAgICAgICAgICAgIG5leHRDb250ZXh0LmlzU3ViU2VsZWN0b3IgPSBmYWxzZTsKKyAgICAg
ICAgICAgIG5leHRDb250ZXh0LmZpcnN0U2VsZWN0b3JPZlRoZUZyYWdtZW50ID0gbmV4dENvbnRl
eHQuc2VsZWN0b3I7CiAgICAgICAgICAgICBuZXh0Q29udGV4dC5lbGVtZW50U3R5bGUgPSBudWxs
cHRyOwogICAgICAgICAgICAgTWF0Y2ggbWF0Y2ggPSBtYXRjaFJlY3Vyc2l2ZWx5KG5leHRDb250
ZXh0LCBpZ25vcmVEeW5hbWljUHNldWRvKTsKICAgICAgICAgICAgIGlmIChtYXRjaCA9PSBTZWxl
Y3Rvck1hdGNoZXMgfHwgbWF0Y2ggPT0gU2VsZWN0b3JGYWlsc0NvbXBsZXRlbHkpCkBAIC0yMzEs
NyArMjMxLDcgQEAgU2VsZWN0b3JDaGVja2VyOjpNYXRjaCBTZWxlY3RvckNoZWNrZXI6Om1hdGNo
UmVjdXJzaXZlbHkoY29uc3QgU2VsZWN0b3JDaGVja2luZ0MKICAgICAgICAgbmV4dENvbnRleHQu
ZWxlbWVudCA9IGNvbnRleHQuZWxlbWVudC0+cHJldmlvdXNFbGVtZW50U2libGluZygpOwogICAg
ICAgICBpZiAoIW5leHRDb250ZXh0LmVsZW1lbnQpCiAgICAgICAgICAgICByZXR1cm4gU2VsZWN0
b3JGYWlsc0FsbFNpYmxpbmdzOwotICAgICAgICBuZXh0Q29udGV4dC5pc1N1YlNlbGVjdG9yID0g
ZmFsc2U7CisgICAgICAgIG5leHRDb250ZXh0LmZpcnN0U2VsZWN0b3JPZlRoZUZyYWdtZW50ID0g
bmV4dENvbnRleHQuc2VsZWN0b3I7CiAgICAgICAgIG5leHRDb250ZXh0LmVsZW1lbnRTdHlsZSA9
IDA7CiAgICAgICAgIHJldHVybiBtYXRjaFJlY3Vyc2l2ZWx5KG5leHRDb250ZXh0LCBpZ25vcmVE
eW5hbWljUHNldWRvKTsKIApAQCAtMjQxLDcgKzI0MSw3IEBAIFNlbGVjdG9yQ2hlY2tlcjo6TWF0
Y2ggU2VsZWN0b3JDaGVja2VyOjptYXRjaFJlY3Vyc2l2ZWx5KGNvbnN0IFNlbGVjdG9yQ2hlY2tp
bmdDCiAgICAgICAgICAgICAgICAgcGFyZW50RWxlbWVudC0+c2V0Q2hpbGRyZW5BZmZlY3RlZEJ5
Rm9yd2FyZFBvc2l0aW9uYWxSdWxlcygpOwogICAgICAgICB9CiAgICAgICAgIG5leHRDb250ZXh0
LmVsZW1lbnQgPSBjb250ZXh0LmVsZW1lbnQtPnByZXZpb3VzRWxlbWVudFNpYmxpbmcoKTsKLSAg
ICAgICAgbmV4dENvbnRleHQuaXNTdWJTZWxlY3RvciA9IGZhbHNlOworICAgICAgICBuZXh0Q29u
dGV4dC5maXJzdFNlbGVjdG9yT2ZUaGVGcmFnbWVudCA9IG5leHRDb250ZXh0LnNlbGVjdG9yOwog
ICAgICAgICBuZXh0Q29udGV4dC5lbGVtZW50U3R5bGUgPSAwOwogICAgICAgICBmb3IgKDsgbmV4
dENvbnRleHQuZWxlbWVudDsgbmV4dENvbnRleHQuZWxlbWVudCA9IG5leHRDb250ZXh0LmVsZW1l
bnQtPnByZXZpb3VzRWxlbWVudFNpYmxpbmcoKSkgewogICAgICAgICAgICAgTWF0Y2ggbWF0Y2gg
PSB0aGlzLT5tYXRjaFJlY3Vyc2l2ZWx5KG5leHRDb250ZXh0LCBpZ25vcmVEeW5hbWljUHNldWRv
KTsKQEAgLTI2MCw3ICsyNjAsNiBAQCBTZWxlY3RvckNoZWNrZXI6Ok1hdGNoIFNlbGVjdG9yQ2hl
Y2tlcjo6bWF0Y2hSZWN1cnNpdmVseShjb25zdCBTZWxlY3RvckNoZWNraW5nQwogICAgICAgICAg
ICAgJiYgIW5leHRDb250ZXh0Lmhhc1NlbGVjdGlvblBzZXVkbwogICAgICAgICAgICAgJiYgIShu
ZXh0Q29udGV4dC5oYXNTY3JvbGxiYXJQc2V1ZG8gJiYgbmV4dENvbnRleHQuc2VsZWN0b3ItPm1f
bWF0Y2ggPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzKSkKICAgICAgICAgICAgIHJldHVybiBT
ZWxlY3RvckZhaWxzQ29tcGxldGVseTsKLSAgICAgICAgbmV4dENvbnRleHQuaXNTdWJTZWxlY3Rv
ciA9IHRydWU7CiAgICAgICAgIHJldHVybiBtYXRjaFJlY3Vyc2l2ZWx5KG5leHRDb250ZXh0LCBk
eW5hbWljUHNldWRvKTsKIAogICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd0Rlc2NlbmRhbnQ6
CkBAIC0yNjksNyArMjY4LDcgQEAgU2VsZWN0b3JDaGVja2VyOjpNYXRjaCBTZWxlY3RvckNoZWNr
ZXI6Om1hdGNoUmVjdXJzaXZlbHkoY29uc3QgU2VsZWN0b3JDaGVja2luZ0MKICAgICAgICAgICAg
IGlmICghc2hhZG93SG9zdE5vZGUpCiAgICAgICAgICAgICAgICAgcmV0dXJuIFNlbGVjdG9yRmFp
bHNDb21wbGV0ZWx5OwogICAgICAgICAgICAgbmV4dENvbnRleHQuZWxlbWVudCA9IHNoYWRvd0hv
c3ROb2RlOwotICAgICAgICAgICAgbmV4dENvbnRleHQuaXNTdWJTZWxlY3RvciA9IGZhbHNlOwor
ICAgICAgICAgICAgbmV4dENvbnRleHQuZmlyc3RTZWxlY3Rvck9mVGhlRnJhZ21lbnQgPSBuZXh0
Q29udGV4dC5zZWxlY3RvcjsKICAgICAgICAgICAgIG5leHRDb250ZXh0LmVsZW1lbnRTdHlsZSA9
IDA7CiAgICAgICAgICAgICByZXR1cm4gbWF0Y2hSZWN1cnNpdmVseShuZXh0Q29udGV4dCwgaWdu
b3JlRHluYW1pY1BzZXVkbyk7CiAgICAgICAgIH0KQEAgLTM1Niw2ICszNTUsNjEgQEAgc3RhdGlj
IGJvb2wgYW55QXR0cmlidXRlTWF0Y2hlcyhFbGVtZW50KiBlbGVtZW50LCBjb25zdCBDU1NTZWxl
Y3Rvciogc2VsZWN0b3IsIGMKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK3N0YXRpYyBib29sIGNh
bk1hdGNoSG92ZXJPckFjdGl2ZUluUXVpcmtzTW9kZShjb25zdCBTZWxlY3RvckNoZWNrZXI6OlNl
bGVjdG9yQ2hlY2tpbmdDb250ZXh0JiBjb250ZXh0KQoreworICAgIC8vIEZvciBxdWlya3MgbW9k
ZSwgZm9sbG93IHRoaXM6IGh0dHA6Ly9xdWlya3Muc3BlYy53aGF0d2cub3JnLyN0aGUtOmFjdGl2
ZS1hbmQtOmhvdmVyLXF1aXJrCisgICAgLy8gSW4gcXVpcmtzIG1vZGUsIGEgY29tcG91bmQgc2Vs
ZWN0b3Igc2VsZWN0b3IgdGhhdCBtYXRjaGVzIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBtdXN0
IG5vdCBtYXRjaCBlbGVtZW50cyB0aGF0IHdvdWxkIG5vdCBhbHNvIG1hdGNoIHRoZSAnOmFueS1s
aW5rJyBzZWxlY3Rvci4KKyAgICAvLworICAgIC8vICAgIHNlbGVjdG9yIHVzZXMgdGhlICc6YWN0
aXZlJyBvciAnOmhvdmVyJyBwc2V1ZG8tY2xhc3Nlcy4KKyAgICAvLyAgICBzZWxlY3RvciBkb2Vz
IG5vdCB1c2UgYSB0eXBlIHNlbGVjdG9yLgorICAgIC8vICAgIHNlbGVjdG9yIGRvZXMgbm90IHVz
ZSBhbiBhdHRyaWJ1dGUgc2VsZWN0b3IuCisgICAgLy8gICAgc2VsZWN0b3IgZG9lcyBub3QgdXNl
IGFuIElEIHNlbGVjdG9yLgorICAgIC8vICAgIHNlbGVjdG9yIGRvZXMgbm90IHVzZSBhIGNsYXNz
IHNlbGVjdG9yLgorICAgIC8vICAgIHNlbGVjdG9yIGRvZXMgbm90IHVzZSBhIHBzZXVkby1jbGFz
cyBzZWxlY3RvciBvdGhlciB0aGFuICc6YWN0aXZlJyBhbmQgJzpob3ZlcicuCisgICAgLy8gICAg
c2VsZWN0b3IgZG9lcyBub3QgdXNlIGEgcHNldWRvLWVsZW1lbnQgc2VsZWN0b3IuCisgICAgLy8g
ICAgc2VsZWN0b3IgaXMgbm90IHBhcnQgb2YgYW4gYXJndW1lbnQgdG8gYSBmdW5jdGlvbmFsIHBz
ZXVkby1jbGFzcyBvciBwc2V1ZG8tZWxlbWVudC4KKyAgICBpZiAoY29udGV4dC5pbkZ1bmN0aW9u
YWxQc2V1ZG9DbGFzcykKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBmb3IgKGNvbnN0IENT
U1NlbGVjdG9yKiBzZWxlY3RvciA9IGNvbnRleHQuZmlyc3RTZWxlY3Rvck9mVGhlRnJhZ21lbnQ7
IHNlbGVjdG9yOyBzZWxlY3RvciA9IHNlbGVjdG9yLT50YWdIaXN0b3J5KCkpIHsKKyAgICAgICAg
c3dpdGNoIChzZWxlY3Rvci0+bV9tYXRjaCkgeworICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpU
YWc6CisgICAgICAgICAgICBpZiAoc2VsZWN0b3ItPnRhZ1FOYW1lKCkgIT0gYW55UU5hbWUoKSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzczogeworICAgICAgICAgICAgQ1NTU2VsZWN0
b3I6OlBzZXVkb0NsYXNzVHlwZSBwc2V1ZG9DbGFzc1R5cGUgPSBzZWxlY3Rvci0+cHNldWRvQ2xh
c3NUeXBlKCk7CisgICAgICAgICAgICBpZiAocHNldWRvQ2xhc3NUeXBlICE9IENTU1NlbGVjdG9y
OjpQc2V1ZG9DbGFzc0hvdmVyICYmIHBzZXVkb0NsYXNzVHlwZSAhPSBDU1NTZWxlY3Rvcjo6UHNl
dWRvQ2xhc3NBY3RpdmUpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpJZDoKKyAgICAg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6Q2xhc3M6CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkV4
YWN0OgorICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpTZXQ6CisgICAgICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6Okxpc3Q6CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6Okh5cGhlbjoKKyAgICAgICAg
Y2FzZSBDU1NTZWxlY3Rvcjo6Q29udGFpbjoKKyAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6QmVn
aW46CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkVuZDoKKyAgICAgICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6UGFnZVBzZXVkb0NsYXNzOgorICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9F
bGVtZW50OgorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0
b3I6OlVua25vd246CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgQ1NTU2VsZWN0b3I6OlJlbGF0aW9uIHJl
bGF0aW9uID0gc2VsZWN0b3ItPnJlbGF0aW9uKCk7CisgICAgICAgIGlmIChyZWxhdGlvbiA9PSBD
U1NTZWxlY3Rvcjo6U2hhZG93RGVzY2VuZGFudCkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
CisgICAgICAgIGlmIChyZWxhdGlvbiAhPSBDU1NTZWxlY3Rvcjo6U3ViU2VsZWN0b3IpCisgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9v
bCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lKGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0
JiBjb250ZXh0KSBjb25zdAogewogICAgIEVsZW1lbnQqIGNvbnN0ICYgZWxlbWVudCA9IGNvbnRl
eHQuZWxlbWVudDsKQEAgLTM5Myw3ICs0NDcsOCBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6Y2hl
Y2tPbmUoY29uc3QgU2VsZWN0b3JDaGVja2luZ0NvbnRleHQmIGNvbnRleHQpIGNvbnN0CiAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgICAgICBTZWxlY3RvckNoZWNraW5n
Q29udGV4dCBzdWJDb250ZXh0KGNvbnRleHQpOwotICAgICAgICAgICAgc3ViQ29udGV4dC5pc1N1
YlNlbGVjdG9yID0gdHJ1ZTsKKyAgICAgICAgICAgIHN1YkNvbnRleHQuaW5GdW5jdGlvbmFsUHNl
dWRvQ2xhc3MgPSB0cnVlOworICAgICAgICAgICAgc3ViQ29udGV4dC5maXJzdFNlbGVjdG9yT2ZU
aGVGcmFnbWVudCA9IHNlbGVjdG9yTGlzdC0+Zmlyc3QoKTsKICAgICAgICAgICAgIGZvciAoc3Vi
Q29udGV4dC5zZWxlY3RvciA9IHNlbGVjdG9yTGlzdC0+Zmlyc3QoKTsgc3ViQ29udGV4dC5zZWxl
Y3Rvcjsgc3ViQ29udGV4dC5zZWxlY3RvciA9IHN1YkNvbnRleHQuc2VsZWN0b3ItPnRhZ0hpc3Rv
cnkoKSkgewogICAgICAgICAgICAgICAgIGlmIChzdWJDb250ZXh0LnNlbGVjdG9yLT5tX21hdGNo
ID09IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzcykgewogICAgICAgICAgICAgICAgICAgICAvLyA6
bm90IGNhbm5vdCBuZXN0LiBJIGRvbid0IHJlYWxseSBrbm93IHdoeSB0aGlzIGlzIGEKQEAgLTU4
Miw5ICs2MzcsMTAgQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lKGNvbnN0IFNlbGVj
dG9yQ2hlY2tpbmdDb250ZXh0JiBjb250ZXh0KSBjb25zdAogICAgICAgICBjYXNlIENTU1NlbGVj
dG9yOjpQc2V1ZG9DbGFzc0FueToKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBTZWxl
Y3RvckNoZWNraW5nQ29udGV4dCBzdWJDb250ZXh0KGNvbnRleHQpOwotICAgICAgICAgICAgICAg
IHN1YkNvbnRleHQuaXNTdWJTZWxlY3RvciA9IHRydWU7CisgICAgICAgICAgICAgICAgc3ViQ29u
dGV4dC5pbkZ1bmN0aW9uYWxQc2V1ZG9DbGFzcyA9IHRydWU7CiAgICAgICAgICAgICAgICAgUHNl
dWRvSWQgaWdub3JlRHluYW1pY1BzZXVkbyA9IE5PUFNFVURPOwogICAgICAgICAgICAgICAgIGZv
ciAoc3ViQ29udGV4dC5zZWxlY3RvciA9IHNlbGVjdG9yLT5zZWxlY3Rvckxpc3QoKS0+Zmlyc3Qo
KTsgc3ViQ29udGV4dC5zZWxlY3Rvcjsgc3ViQ29udGV4dC5zZWxlY3RvciA9IENTU1NlbGVjdG9y
TGlzdDo6bmV4dChzdWJDb250ZXh0LnNlbGVjdG9yKSkgeworICAgICAgICAgICAgICAgICAgICBz
dWJDb250ZXh0LmZpcnN0U2VsZWN0b3JPZlRoZUZyYWdtZW50ID0gc3ViQ29udGV4dC5zZWxlY3Rv
cjsKICAgICAgICAgICAgICAgICAgICAgaWYgKG1hdGNoUmVjdXJzaXZlbHkoc3ViQ29udGV4dCwg
aWdub3JlRHluYW1pY1BzZXVkbykgPT0gU2VsZWN0b3JNYXRjaGVzKQogICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgfQpAQCAtNjEyLDkgKzY2OCw3
IEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja09uZShjb25zdCBTZWxlY3RvckNoZWNraW5n
Q29udGV4dCYgY29udGV4dCkgY29uc3QKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRv
Q2xhc3NGb2N1czoKICAgICAgICAgICAgIHJldHVybiBtYXRjaGVzRm9jdXNQc2V1ZG9DbGFzcyhl
bGVtZW50KTsKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NIb3ZlcjoKLSAg
ICAgICAgICAgIC8vIElmIHdlJ3JlIGluIHF1aXJrcyBtb2RlLCB0aGVuIGhvdmVyIHNob3VsZCBu
ZXZlciBtYXRjaCBhbmNob3JzIHdpdGggbm8KLSAgICAgICAgICAgIC8vIGhyZWYgYW5kICo6aG92
ZXIgc2hvdWxkIG5vdCBtYXRjaCBhbnl0aGluZy4gVGhpcyBpcyBpbXBvcnRhbnQgZm9yIHNpdGVz
IGxpa2Ugd3NqLmNvbS4KLSAgICAgICAgICAgIGlmIChtX3N0cmljdFBhcnNpbmcgfHwgY29udGV4
dC5pc1N1YlNlbGVjdG9yIHx8IGVsZW1lbnQtPmlzTGluaygpKSB7CisgICAgICAgICAgICBpZiAo
bV9zdHJpY3RQYXJzaW5nIHx8IGVsZW1lbnQtPmlzTGluaygpIHx8IGNhbk1hdGNoSG92ZXJPckFj
dGl2ZUluUXVpcmtzTW9kZShjb250ZXh0KSkgewogICAgICAgICAgICAgICAgIGlmIChtX21vZGUg
PT0gUmVzb2x2aW5nU3R5bGUpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRleHQuZWxl
bWVudFN0eWxlKQogICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5lbGVtZW50U3R5bGUt
PnNldEFmZmVjdGVkQnlIb3ZlcigpOwpAQCAtNjI2LDkgKzY4MCw3IEBAIGJvb2wgU2VsZWN0b3JD
aGVja2VyOjpjaGVja09uZShjb25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYgY29udGV4dCkg
Y29uc3QKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENT
U1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0FjdGl2ZToKLSAgICAgICAgICAgIC8vIElmIHdlJ3JlIGlu
IHF1aXJrcyBtb2RlLCB0aGVuIDphY3RpdmUgc2hvdWxkIG5ldmVyIG1hdGNoIGFuY2hvcnMgd2l0
aCBubwotICAgICAgICAgICAgLy8gaHJlZiBhbmQgKjphY3RpdmUgc2hvdWxkIG5vdCBtYXRjaCBh
bnl0aGluZy4KLSAgICAgICAgICAgIGlmIChtX3N0cmljdFBhcnNpbmcgfHwgY29udGV4dC5pc1N1
YlNlbGVjdG9yIHx8IGVsZW1lbnQtPmlzTGluaygpKSB7CisgICAgICAgICAgICBpZiAobV9zdHJp
Y3RQYXJzaW5nIHx8IGVsZW1lbnQtPmlzTGluaygpIHx8IGNhbk1hdGNoSG92ZXJPckFjdGl2ZUlu
UXVpcmtzTW9kZShjb250ZXh0KSkgewogICAgICAgICAgICAgICAgIGlmIChtX21vZGUgPT0gUmVz
b2x2aW5nU3R5bGUpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRleHQuZWxlbWVudFN0
eWxlKQogICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5lbGVtZW50U3R5bGUtPnNldEFm
ZmVjdGVkQnlBY3RpdmUoKTsKQEAgLTc0MiwxMSArNzk0LDEyIEBAIGJvb2wgU2VsZWN0b3JDaGVj
a2VyOjpjaGVja09uZShjb25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYgY29udGV4dCkgY29u
c3QKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAgICAgZWxzZSBpZiAoc2VsZWN0b3ItPm1fbWF0
Y2ggPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnQgJiYgc2VsZWN0b3ItPnBzZXVkb0VsZW1l
bnRUeXBlKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRDdWUpIHsKICAgICAgICAgU2Vs
ZWN0b3JDaGVja2luZ0NvbnRleHQgc3ViQ29udGV4dChjb250ZXh0KTsKLSAgICAgICAgc3ViQ29u
dGV4dC5pc1N1YlNlbGVjdG9yID0gdHJ1ZTsKIAogICAgICAgICBQc2V1ZG9JZCBpZ25vcmVEeW5h
bWljUHNldWRvID0gTk9QU0VVRE87CiAgICAgICAgIGNvbnN0IENTU1NlbGVjdG9yKiBjb25zdCAm
IHNlbGVjdG9yID0gY29udGV4dC5zZWxlY3RvcjsKICAgICAgICAgZm9yIChzdWJDb250ZXh0LnNl
bGVjdG9yID0gc2VsZWN0b3ItPnNlbGVjdG9yTGlzdCgpLT5maXJzdCgpOyBzdWJDb250ZXh0LnNl
bGVjdG9yOyBzdWJDb250ZXh0LnNlbGVjdG9yID0gQ1NTU2VsZWN0b3JMaXN0OjpuZXh0KHN1YkNv
bnRleHQuc2VsZWN0b3IpKSB7CisgICAgICAgICAgICBzdWJDb250ZXh0LmZpcnN0U2VsZWN0b3JP
ZlRoZUZyYWdtZW50ID0gc3ViQ29udGV4dC5zZWxlY3RvcjsKKyAgICAgICAgICAgIHN1YkNvbnRl
eHQuaW5GdW5jdGlvbmFsUHNldWRvQ2xhc3MgPSB0cnVlOwogICAgICAgICAgICAgaWYgKG1hdGNo
UmVjdXJzaXZlbHkoc3ViQ29udGV4dCwgaWdub3JlRHluYW1pY1BzZXVkbykgPT0gU2VsZWN0b3JN
YXRjaGVzKQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU2VsZWN0b3JDaGVja2VyLmgKaW5kZXggYWZhOTYyZjlmM2UyYzliMDM4NTI4YzVlMmIy
NGM1MmJmYjVhZTUwNy4uODA2OTc0ZmRkYjhmZmViNzBkMzUzZTUwZWJhMWI0ZjRkMGUxYjk0ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuaApAQCAtMiw3ICsyLDcgQEAKICAqIENv
cHlyaWdodCAoQykgMTk5OSBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQogICogICAgICAgICAg
IChDKSAyMDA0LTIwMDUgQWxsYW4gU2FuZGZlbGQgSmVuc2VuIChrZGVAY2FyZXdvbGYuY29tKQog
ICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3IE5pY2hvbGFzIFNoYW5rcyAod2Via2l0QG5pY2tz
aGFua3MuY29tKQotICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5
LCAyMDEwLCAyMDExLCAyMDEyLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAx
MSwgMjAxMiwgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDcgQWxleGV5IFByb3NrdXJ5YWtvdiA8YXBAd2Via2l0Lm9yZz4KICAq
IENvcHlyaWdodCAoQykgMjAwNywgMjAwOCBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgog
ICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCkBAIC02MSw4ICs2MSw5IEBA
IHB1YmxpYzoKICAgICAgICAgICAgICwgcHNldWRvSWQoTk9QU0VVRE8pCiAgICAgICAgICAgICAs
IGVsZW1lbnRTdHlsZSgwKQogICAgICAgICAgICAgLCBzY3JvbGxiYXIoMCkKKyAgICAgICAgICAg
ICwgZmlyc3RTZWxlY3Rvck9mVGhlRnJhZ21lbnQoc2VsZWN0b3IpCiAgICAgICAgICAgICAsIHNj
cm9sbGJhclBhcnQoTm9QYXJ0KQotICAgICAgICAgICAgLCBpc1N1YlNlbGVjdG9yKGZhbHNlKQor
ICAgICAgICAgICAgLCBpbkZ1bmN0aW9uYWxQc2V1ZG9DbGFzcyhmYWxzZSkKICAgICAgICAgICAg
ICwgaGFzU2Nyb2xsYmFyUHNldWRvKGZhbHNlKQogICAgICAgICAgICAgLCBoYXNTZWxlY3Rpb25Q
c2V1ZG8oZmFsc2UpCiAgICAgICAgIHsgfQpAQCAtNzQsOCArNzUsOSBAQCBwdWJsaWM6CiAgICAg
ICAgIFBzZXVkb0lkIHBzZXVkb0lkOwogICAgICAgICBSZW5kZXJTdHlsZSogZWxlbWVudFN0eWxl
OwogICAgICAgICBSZW5kZXJTY3JvbGxiYXIqIHNjcm9sbGJhcjsKKyAgICAgICAgY29uc3QgQ1NT
U2VsZWN0b3IqIGZpcnN0U2VsZWN0b3JPZlRoZUZyYWdtZW50OwogICAgICAgICBTY3JvbGxiYXJQ
YXJ0IHNjcm9sbGJhclBhcnQ7Ci0gICAgICAgIGJvb2wgaXNTdWJTZWxlY3RvcjsKKyAgICAgICAg
Ym9vbCBpbkZ1bmN0aW9uYWxQc2V1ZG9DbGFzczsKICAgICAgICAgYm9vbCBoYXNTY3JvbGxiYXJQ
c2V1ZG87CiAgICAgICAgIGJvb2wgaGFzU2VsZWN0aW9uUHNldWRvOwogICAgIH07CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
Y2VmNmI2YWYwOWEyNDhkY2MxNTdhOWEyZTg5ZWNiMGJiY2FhOTg3NC4uYTc0ODVhZjM4ZDBlN2Jk
MGFhOTdlODIxNTBjMWJkYTVjZjkzNTMwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE0LTA1
LTI1ICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBG
aXggdGhlIHF1aXJrcyBtb2RlIHNlbGVjdG9yIG1hdGNoaW5nIG9mIHRoZSBwc2V1ZG8gY2xhc3Nl
cyA6aG92ZXIgYW5kIDphY3RpdmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEzMzA2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoZSB0ZXN0IGNvdmVyYWdlIG9mIDpob3ZlciBhbmQgOmFjdGl2ZSB3YXMg
ZXh0cmVtbHkgcG9vci4KKyAgICAgICAgVGhvc2UgbmV3IHRlc3RzIGFkZCBjb3ZlcmFnZSBmb3Ig
dGhlIGNhc2VzIGZpeGVkIGJ5IHRoaXMgcGF0Y2guCisKKyAgICAgICAgKiBmYXN0L3NlbGVjdG9y
cy9hY3RpdmUtaG92ZXItcXVpcmtzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9zZWxlY3RvcnMvYWN0aXZlLWhvdmVyLXF1aXJrcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3NlbGVjdG9ycy9hY3RpdmUtcXVpcmtzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9zZWxlY3RvcnMvYWN0aXZlLXF1aXJrcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3NlbGVjdG9ycy9ob3Zlci1xdWlya3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3NlbGVjdG9ycy9ob3Zlci1xdWlya3MuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC9zZWxlY3RvcnMvcmVzb3VyY2VzL2hvdmVyLWFjdGl2ZS1xdWlya3MtdXRpbGl0eS5qczogQWRk
ZWQuCisKIDIwMTQtMDUtMjUgIEppbndvbyBTb25nICA8amlud29vNy5zb25nQHNhbXN1bmcuY29t
PgogCiAgICAgICAgIHNldERhdGEoKSBvZiBEYXRhVHJhbnNmZXIgaGFzIGEgdm9pZCByZXR1cm4g
dHlwZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvYWN0aXZlLWhvdmVy
LXF1aXJrcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9hY3RpdmUt
aG92ZXItcXVpcmtzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NGI5YmI2MGU3ODJkOWM0YWEz
ZmEzNTRiMzYwMmIwMmM5OWViNTJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9zZWxlY3RvcnMvYWN0aXZlLWhvdmVyLXF1aXJrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MDEgQEAKK1Rlc3QgdGhlIDphY3RpdmUgc2VsZWN0b3Igd2hlbiB0aGUgZG9jdW1lbnQgaXMgaW4g
cXVpcmtzIG1vZGUuIFRvIHRlc3QgbWFudWFsbHksIG1vdmUgdGhlIGN1cnNvciBvdmVyIHRoZSBn
cmVlbiByZWN0YW5nbGUgYW5kIHByZXNzIGEgbW91c2UgYnV0dG9uIHVudGlsIHRoZSB0ZXN0IGlz
IGZpbmlzaGVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yQWxsKCI6YWN0aXZlOmhvdmVyIikubGVuZ3RoIGlzIDAKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlz
ICJyZ2IoMSwgMiwgMykiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIio6YWN0aXZl
OmhvdmVyIikubGVuZ3RoIGlzIDAKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoMSwgMiwgMykiCitQQVNTIGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjphY3RpdmU6aG92ZXI6aG92ZXIiKS5sZW5ndGggaXMgMAor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSku
Y29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgi
OmhvdmVyOmFjdGl2ZTpob3ZlciIpLmxlbmd0aCBpcyAwCitQQVNTIGdldENvbXB1dGVkU3R5bGUo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDEsIDIsIDMp
IgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6aG92ZXI6YWN0aXZlOmhvdmVyOmhv
dmVyIikubGVuZ3RoIGlzIDAKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoMSwgMiwgMykiCitQQVNTIGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3JBbGwoIjphY3RpdmU6aG92ZXI6YWN0aXZlIikubGVuZ3RoIGlzIDAKK1BB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNv
bG9yIGlzICJyZ2IoMSwgMiwgMykiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjph
Y3RpdmU6YWN0aXZlOmhvdmVyIikubGVuZ3RoIGlzIDAKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoMSwgMiwgMyki
CitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjphY3RpdmU6YWN0aXZlOmhvdmVyOmFj
dGl2ZSIpLmxlbmd0aCBpcyAwCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDEsIDIsIDMpIgorUEFTUyBkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yQWxsKCJkaXY6YWN0aXZlOmhvdmVyIikubGVuZ3RoIGlzIDEKK1BBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9y
IGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIiN0YXJn
ZXQ6YWN0aXZlOmhvdmVyIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQ
QVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjphY3RpdmU6aG92ZXIjdGFyZ2V0IikubGVu
Z3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3JBbGwoIiN0YXJnZXQ6YWN0aXZlOmhvdmVyI3RhcmdldCIpLmxlbmd0aCBpcyAxCitQQVNT
IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xv
ciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuYUNs
YXNzOmFjdGl2ZTpob3ZlciIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgor
UEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6YWN0aXZlOmhvdmVyLmFDbGFzcyIpLmxl
bmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yQWxsKCIuYUNsYXNzOmFjdGl2ZTpob3Zlci5vdGhlckNsYXNzIikubGVuZ3RoIGlzIDEK
K1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0Iikp
LmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwo
Ii5hQ2xhc3Nbd2Via2l0XSIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgor
UEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6YWN0aXZlOmhvdmVyW3dlYmtpdF0iKS5s
ZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlT
ZWxlY3RvckFsbCgiW2lkXTphY3RpdmU6aG92ZXJbd2Via2l0XSIpLmxlbmd0aCBpcyAxCitQQVNT
IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xv
ciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuYUNs
YXNzW3dlYmtpdD1yb2Nrc10iKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIK
K1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmFjdGl2ZTpob3Zlclt3ZWJraXQ9cm9j
a3NdIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3JBbGwoIltpZD10YXJnZXRdOmFjdGl2ZTpob3Zlclt3ZWJraXQ9cm9ja3Nd
IikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3JBbGwoIi5hQ2xhc3Nbd2Via2l0Xj1yb10iKS5sZW5ndGggaXMgMQorUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3Ig
aXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmFjdGl2
ZTpob3Zlclt3ZWJraXRePXJvXSIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYp
IgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbaWRePXRhXTphY3RpdmU6aG92ZXJb
d2Via2l0Xj1yb10iKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1Mg
ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmFDbGFzc1t3ZWJraXQkPWtzXSIpLmxlbmd0aCBp
cyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdl
dCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
QWxsKCI6YWN0aXZlOmhvdmVyW3dlYmtpdCQ9a3NdIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJy
Z2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltpZCQ9ZXRdOmFj
dGl2ZTpob3Zlclt3ZWJraXQkPWtzXSIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5
bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUs
IDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuYUNsYXNzW3dlYmtpdCo9Y2td
IikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3JBbGwoIjphY3RpdmU6aG92ZXJbd2Via2l0Kj1ja10iKS5sZW5ndGggaXMgMQor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSku
Y29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgi
W2lkKj1yZ106YWN0aXZlOmhvdmVyW3dlYmtpdCo9Y2tdIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlz
ICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5hQ2xhc3Nb
d2Via2l0fj1yb2Nrc10iKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BB
U1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmFjdGl2ZTpob3Zlclt3ZWJraXR+PXJvY2tz
XSIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5x
dWVyeVNlbGVjdG9yQWxsKCJbaWR+PXRhcmdldF06YWN0aXZlOmhvdmVyW3dlYmtpdH49cm9ja3Nd
IikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3JBbGwoIi5hQ2xhc3Nbd2Via2l0fD1yb2Nrc10iKS5sZW5ndGggaXMgMQorUEFT
UyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29s
b3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmFj
dGl2ZTpob3Zlclt3ZWJraXR8PXJvY2tzXSIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVk
U3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQs
IDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbaWR8PXRhcmdldF06YWN0
aXZlOmhvdmVyW3dlYmtpdHw9cm9ja3NdIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwg
NSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpudGgtY2hpbGQoMSk6YWN0
aXZlOmhvdmVyIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjphY3RpdmU6aG92ZXI6bnRoLWNoaWxkKDEpIikubGVu
Z3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3JBbGwoIjpudGgtY2hpbGQoMSk6YWN0aXZlOmhvdmVyOm50aC1jaGlsZCgxKSIpLmxlbmd0
aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRh
cmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVj
dG9yQWxsKCI6bnRoLWNoaWxkKG4pOmFjdGl2ZTpob3ZlciA+ICN0YXJnZXQiKS5sZW5ndGggaXMg
MQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQi
KSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFs
bCgiOmFjdGl2ZTpob3ZlcjpudGgtY2hpbGQobikgPiAjdGFyZ2V0IikubGVuZ3RoIGlzIDEKK1BB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNv
bG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpu
dGgtY2hpbGQobik6YWN0aXZlOmhvdmVyOm50aC1jaGlsZChuKSA+ICN0YXJnZXQiKS5sZW5ndGgg
aXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJn
ZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3Rv
ckFsbCgiOm50aC1jaGlsZChuKTphY3RpdmU6aG92ZXIgI3RhcmdldCIpLmxlbmd0aCBpcyAxCitQ
QVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5j
b2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6
YWN0aXZlOmhvdmVyOm50aC1jaGlsZChuKSAjdGFyZ2V0IikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlz
ICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpudGgtY2hp
bGQobik6YWN0aXZlOmhvdmVyOm50aC1jaGlsZChuKSAjdGFyZ2V0IikubGVuZ3RoIGlzIDEKK1BB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNv
bG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjot
d2Via2l0LWFueSg6YWN0aXZlOmhvdmVyKSAjdGFyZ2V0IikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlz
ICJyZ2IoNCwgNSwgNikiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvYWN0aXZl
LWhvdmVyLXF1aXJrcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvYWN0aXZlLWhv
dmVyLXF1aXJrcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2YjUwZDBlODA0MmIzODI0YjVmZmUzNWM5NDA2
MDkwYmQ1YmQ5NGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9y
cy9hY3RpdmUtaG92ZXItcXVpcmtzLmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9ob3Zlci1hY3RpdmUtcXVpcmtzLXV0aWxpdHkuanMi
Pjwvc2NyaXB0PgorPHN0eWxlIGlkPSJ0ZXN0U3R5bGUiPgorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdiBpZD0idGFyZ2V0IiBjbGFzcz0iYUNsYXNzIG90aGVyQ2xhc3MiIHdlYmtpdD0i
cm9ja3MiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmdyZWVuOyB3aWR0aDoyMDBweDsgaGVpZ2h0
OjIwMHB4OyI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvZGl2PgorPC9ib2R5
PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHRoZSA6YWN0aXZlIHNlbGVjdG9yIHdoZW4g
dGhlIGRvY3VtZW50IGlzIGluIHF1aXJrcyBtb2RlLiBUbyB0ZXN0IG1hbnVhbGx5LCBtb3ZlIHRo
ZSBjdXJzb3Igb3ZlciB0aGUgZ3JlZW4gcmVjdGFuZ2xlIGFuZCBwcmVzcyBhIG1vdXNlIGJ1dHRv
biB1bnRpbCB0aGUgdGVzdCBpcyBmaW5pc2hlZC4nKTsKKworCitpZiAod2luZG93LmV2ZW50U2Vu
ZGVyKSB7CisgICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQn
KTsKKyAgICB2YXIgeCA9IHRhcmdldC5vZmZzZXRMZWZ0ICsgdGFyZ2V0Lm9mZnNldFdpZHRoIC8g
MjsKKyAgICB2YXIgeSA9IHRhcmdldC5vZmZzZXRUb3AgKyB0YXJnZXQub2Zmc2V0SGVpZ2h0IC8g
MjsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKKyAgICBldmVudFNlbmRlci5t
b3VzZURvd24oKTsKKyAgICB0ZXN0KCc6YWN0aXZlOmhvdmVyJyk7CisgICAgZXZlbnRTZW5kZXIu
bW91c2VVcCgpCit9IGVsc2UgeworICAgIC8vIEZvciBzb21lIHJlYXNvbnMsIHRoZSB0ZXN0IGRv
ZXMgbm90IHdvcmsgd2VsbCB3aXRob3V0IHRoZSB0aW1lb3V0IG9uIEZpcmVmb3guCisgICAgdmFy
IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKTsKKyAgICB0YXJnZXQu
YWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgZnVuY3Rpb24oKSB7IHNldFRpbWVvdXQodGVz
dCwgMjUwLCAnOmFjdGl2ZTpob3ZlcicpOyB9KTsKK30KKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9hY3RpdmUtcXVpcmtzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2FjdGl2ZS1xdWlya3MtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjAxOWQ2ZDBiYzI5YjRjYmJlNmFlMTdhOTVlMjcwZDIxNmI3MmVh
MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9hY3RpdmUt
cXVpcmtzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwMSBAQAorVGVzdCB0aGUgOmFjdGl2ZSBz
ZWxlY3RvciB3aGVuIHRoZSBkb2N1bWVudCBpcyBpbiBxdWlya3MgbW9kZS4gVG8gdGVzdCBtYW51
YWxseSwgbW92ZSB0aGUgY3Vyc29yIG92ZXIgdGhlIGdyZWVuIHJlY3RhbmdsZSBhbmQgcHJlc3Mg
YSBtb3VzZSBidXR0b24gdW50aWwgdGhlIHRlc3QgaXMgZmluaXNoZWQuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjphY3Rp
dmUiKS5sZW5ndGggaXMgMAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BBU1MgZG9jdW1lbnQu
cXVlcnlTZWxlY3RvckFsbCgiKjphY3RpdmUiKS5sZW5ndGggaXMgMAorUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYigx
LCAyLCAzKSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmFjdGl2ZTpob3ZlciIp
Lmxlbmd0aCBpcyAwCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDEsIDIsIDMpIgorUEFTUyBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yQWxsKCI6aG92ZXI6YWN0aXZlIikubGVuZ3RoIGlzIDAKK1BBU1MgZ2V0Q29tcHV0
ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2Io
MSwgMiwgMykiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpob3ZlcjphY3RpdmU6
aG92ZXIiKS5sZW5ndGggaXMgMAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BBU1MgZG9jdW1l
bnQucXVlcnlTZWxlY3RvckFsbCgiOmFjdGl2ZTphY3RpdmUiKS5sZW5ndGggaXMgMAorUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3Ig
aXMgInJnYigxLCAyLCAzKSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmFjdGl2
ZTphY3RpdmUiKS5sZW5ndGggaXMgMAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BBU1MgZG9j
dW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmFjdGl2ZTphY3RpdmU6YWN0aXZlIikubGVuZ3RoIGlz
IDAKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0
IikpLmNvbG9yIGlzICJyZ2IoMSwgMiwgMykiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoImRpdjphY3RpdmUiKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BB
U1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiI3RhcmdldDphY3RpdmUiKS5sZW5ndGggaXMg
MQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQi
KSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFs
bCgiOmFjdGl2ZSN0YXJnZXQiKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIK
K1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiI3RhcmdldDphY3RpdmUjdGFyZ2V0Iiku
bGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3JBbGwoIi5hQ2xhc3M6YWN0aXZlIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0
ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2Io
NCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjphY3RpdmUuYUNsYXNz
IikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3JBbGwoIi5hQ2xhc3M6YWN0aXZlLm90aGVyQ2xhc3MiKS5sZW5ndGggaXMgMQor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSku
Y29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgi
LmFDbGFzc1t3ZWJraXRdIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQ
QVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjphY3RpdmVbd2Via2l0XSIpLmxlbmd0aCBp
cyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdl
dCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
QWxsKCJbaWRdOmFjdGl2ZVt3ZWJraXRdIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwg
NSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5hQ2xhc3Nbd2Via2l0PXJv
Y2tzXSIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yQWxsKCI6YWN0aXZlW3dlYmtpdD1yb2Nrc10iKS5sZW5ndGggaXMgMQor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSku
Y29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgi
W2lkPXRhcmdldF06YWN0aXZlW3dlYmtpdD1yb2Nrc10iKS5sZW5ndGggaXMgMQorUEFTUyBnZXRD
b21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMg
InJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmFDbGFzc1t3
ZWJraXRePXJvXSIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBk
b2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6YWN0aXZlW3dlYmtpdF49cm9dIikubGVuZ3RoIGlz
IDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0
IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoIltpZF49dGFdOmFjdGl2ZVt3ZWJraXRePXJvXSIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENv
bXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAi
cmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuYUNsYXNzW3dl
YmtpdCQ9a3NdIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjphY3RpdmVbd2Via2l0JD1rc10iKS5sZW5ndGggaXMg
MQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQi
KSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFs
bCgiW2lkJD1ldF06YWN0aXZlW3dlYmtpdCQ9a3NdIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJy
Z2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5hQ2xhc3Nbd2Vi
a2l0Kj1ja10iKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9j
dW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmFjdGl2ZVt3ZWJraXQqPWNrXSIpLmxlbmd0aCBpcyAx
CitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIp
KS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxs
KCJbaWQqPXJnXTphY3RpdmVbd2Via2l0Kj1ja10iKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21w
dXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJn
Yig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmFDbGFzc1t3ZWJr
aXR+PXJvY2tzXSIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBk
b2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6YWN0aXZlW3dlYmtpdH49cm9ja3NdIikubGVuZ3Ro
IGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFy
Z2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3JBbGwoIltpZH49dGFyZ2V0XTphY3RpdmVbd2Via2l0fj1yb2Nrc10iKS5sZW5ndGggaXMgMQor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSku
Y29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgi
LmFDbGFzc1t3ZWJraXR8PXJvY2tzXSIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5
bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUs
IDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6YWN0aXZlW3dlYmtpdHw9cm9j
a3NdIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3JBbGwoIltpZHw9dGFyZ2V0XTphY3RpdmVbd2Via2l0fD1yb2Nrc10iKS5s
ZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlT
ZWxlY3RvckFsbCgiOm50aC1jaGlsZCgxKTphY3RpdmUiKS5sZW5ndGggaXMgMQorUEFTUyBnZXRD
b21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMg
InJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmFjdGl2ZTpu
dGgtY2hpbGQoMSkiKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1Mg
ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOm50aC1jaGlsZCgxKTphY3RpdmU6bnRoLWNoaWxk
KDEpIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3JBbGwoIjpudGgtY2hpbGQobik6YWN0aXZlID4gI3RhcmdldCIpLmxlbmd0
aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRh
cmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVj
dG9yQWxsKCI6YWN0aXZlOm50aC1jaGlsZChuKSA+ICN0YXJnZXQiKS5sZW5ndGggaXMgMQorUEFT
UyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29s
b3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOm50
aC1jaGlsZChuKTphY3RpdmU6bnRoLWNoaWxkKG4pID4gI3RhcmdldCIpLmxlbmd0aCBpcyAxCitQ
QVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5j
b2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6
bnRoLWNoaWxkKG4pOmFjdGl2ZSAjdGFyZ2V0IikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0
ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2Io
NCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjphY3RpdmU6bnRoLWNo
aWxkKG4pICN0YXJnZXQiKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BB
U1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOm50aC1jaGlsZChuKTphY3RpdmU6bnRoLWNo
aWxkKG4pICN0YXJnZXQiKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BB
U1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOi13ZWJraXQtYW55KDphY3RpdmUpICN0YXJn
ZXQiKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3NlbGVjdG9ycy9hY3RpdmUtcXVpcmtzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3NlbGVjdG9ycy9hY3RpdmUtcXVpcmtzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGRjMmJlM2Q4YmM0ZDNl
NTlhMGZmMmMyNjc1NWQ0ZWViODYwM2UzNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2VsZWN0b3JzL2FjdGl2ZS1xdWlya3MuaHRtbApAQCAtMCwwICsxLDMzIEBACis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2hvdmVyLWFjdGl2ZS1xdWlya3MtdXRp
bGl0eS5qcyI+PC9zY3JpcHQ+Cis8c3R5bGUgaWQ9InRlc3RTdHlsZSI+Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJ0YXJnZXQiIGNsYXNzPSJhQ2xhc3Mgb3RoZXJDbGFzcyIg
d2Via2l0PSJyb2NrcyIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6Z3JlZW47IHdpZHRoOjIwMHB4
OyBoZWlnaHQ6MjAwcHg7Ij48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9kaXY+
Cis8L2JvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3QgdGhlIDphY3RpdmUgc2VsZWN0
b3Igd2hlbiB0aGUgZG9jdW1lbnQgaXMgaW4gcXVpcmtzIG1vZGUuIFRvIHRlc3QgbWFudWFsbHks
IG1vdmUgdGhlIGN1cnNvciBvdmVyIHRoZSBncmVlbiByZWN0YW5nbGUgYW5kIHByZXNzIGEgbW91
c2UgYnV0dG9uIHVudGlsIHRoZSB0ZXN0IGlzIGZpbmlzaGVkLicpOworCisKK2lmICh3aW5kb3cu
ZXZlbnRTZW5kZXIpIHsKKyAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3RhcmdldCcpOworICAgIHZhciB4ID0gdGFyZ2V0Lm9mZnNldExlZnQgKyB0YXJnZXQub2Zmc2V0
V2lkdGggLyAyOworICAgIHZhciB5ID0gdGFyZ2V0Lm9mZnNldFRvcCArIHRhcmdldC5vZmZzZXRI
ZWlnaHQgLyAyOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOworICAgIGV2ZW50
U2VuZGVyLm1vdXNlRG93bigpOworICAgIHRlc3QoJzphY3RpdmUnKTsKKyAgICBldmVudFNlbmRl
ci5tb3VzZVVwKCkKK30gZWxzZSB7CisgICAgLy8gRm9yIHNvbWUgcmVhc29ucywgdGhlIHRlc3Qg
ZG9lcyBub3Qgd29yayB3ZWxsIHdpdGhvdXQgdGhlIHRpbWVvdXQgb24gRmlyZWZveC4KKyAgICB2
YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpOworICAgIHRhcmdl
dC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBmdW5jdGlvbigpIHsgc2V0VGltZW91dCh0
ZXN0LCAyNTAsICc6YWN0aXZlJyk7IH0pOworfQorCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2hvdmVyLXF1aXJrcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9ob3Zlci1xdWlya3MtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmRhMmFjMDgwYjU3ZDg2NGFlODQ3NjkxYWM1MTk1ZWQyNDQ3OGVlMmQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9ob3Zlci1xdWlya3Mt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAxIEBACitUZXN0IHRoZSA6aG92ZXIgc2VsZWN0b3Ig
d2hlbiB0aGUgZG9jdW1lbnQgaXMgaW4gcXVpcmtzIG1vZGUuIFRvIHRlc3QgbWFudWFsbHksIG1v
dmUgdGhlIGN1cnNvciBvdmVyIHRoZSBncmVlbiByZWN0YW5nbGUgYW5kIHJlbG9hZCB0aGUgcGFn
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZG9jdW1lbnQucXVlcnlT
ZWxlY3RvckFsbCgiOmhvdmVyIikubGVuZ3RoIGlzIDAKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoMSwgMiwgMyki
CitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIio6aG92ZXIiKS5sZW5ndGggaXMgMAor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSku
Y29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgi
OmhvdmVyOmhvdmVyIikubGVuZ3RoIGlzIDAKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoMSwgMiwgMykiCitQQVNT
IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpob3Zlcjpob3ZlciIpLmxlbmd0aCBpcyAwCitQ
QVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5j
b2xvciBpcyAicmdiKDEsIDIsIDMpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6
aG92ZXI6aG92ZXI6aG92ZXIiKS5sZW5ndGggaXMgMAorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYigxLCAyLCAzKSIK
K1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmhvdmVyOmFjdGl2ZSIpLmxlbmd0aCBp
cyAwCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdl
dCIpKS5jb2xvciBpcyAicmdiKDEsIDIsIDMpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
QWxsKCI6YWN0aXZlOmhvdmVyIikubGVuZ3RoIGlzIDAKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoMSwgMiwgMyki
CitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjphY3RpdmU6aG92ZXI6YWN0aXZlIiku
bGVuZ3RoIGlzIDAKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoMSwgMiwgMykiCitQQVNTIGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3JBbGwoImRpdjpob3ZlciIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5
bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUs
IDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIjdGFyZ2V0OmhvdmVyIikubGVu
Z3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3JBbGwoIjpob3ZlciN0YXJnZXQiKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0
eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1
LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiI3RhcmdldDpob3ZlciN0YXJn
ZXQiKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQu
cXVlcnlTZWxlY3RvckFsbCgiLmFDbGFzczpob3ZlciIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENv
bXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAi
cmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6aG92ZXIuYUNs
YXNzIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3JBbGwoIi5hQ2xhc3M6aG92ZXIub3RoZXJDbGFzcyIpLmxlbmd0aCBpcyAx
CitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIp
KS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxs
KCIuYUNsYXNzW3dlYmtpdF0iKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIK
K1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmhvdmVyW3dlYmtpdF0iKS5sZW5ndGgg
aXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJn
ZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3Rv
ckFsbCgiW2lkXTpob3Zlclt3ZWJraXRdIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwg
NSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5hQ2xhc3Nbd2Via2l0PXJv
Y2tzXSIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yQWxsKCI6aG92ZXJbd2Via2l0PXJvY2tzXSIpLmxlbmd0aCBpcyAxCitQ
QVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5j
b2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJb
aWQ9dGFyZ2V0XTpob3Zlclt3ZWJraXQ9cm9ja3NdIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29t
cHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJy
Z2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5hQ2xhc3Nbd2Vi
a2l0Xj1yb10iKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9j
dW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmhvdmVyW3dlYmtpdF49cm9dIikubGVuZ3RoIGlzIDEK
K1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0Iikp
LmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwo
IltpZF49dGFdOmhvdmVyW3dlYmtpdF49cm9dIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0
ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2Io
NCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5hQ2xhc3Nbd2Via2l0
JD1rc10iKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1l
bnQucXVlcnlTZWxlY3RvckFsbCgiOmhvdmVyW3dlYmtpdCQ9a3NdIikubGVuZ3RoIGlzIDEKK1BB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNv
bG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltp
ZCQ9ZXRdOmhvdmVyW3dlYmtpdCQ9a3NdIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwg
NSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5hQ2xhc3Nbd2Via2l0Kj1j
a10iKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQu
cXVlcnlTZWxlY3RvckFsbCgiOmhvdmVyW3dlYmtpdCo9Y2tdIikubGVuZ3RoIGlzIDEKK1BBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9y
IGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltpZCo9
cmddOmhvdmVyW3dlYmtpdCo9Y2tdIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHls
ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwg
NikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5hQ2xhc3Nbd2Via2l0fj1yb2Nr
c10iKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQu
cXVlcnlTZWxlY3RvckFsbCgiOmhvdmVyW3dlYmtpdH49cm9ja3NdIikubGVuZ3RoIGlzIDEKK1BB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNv
bG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltp
ZH49dGFyZ2V0XTpob3Zlclt3ZWJraXR+PXJvY2tzXSIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENv
bXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAi
cmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuYUNsYXNzW3dl
YmtpdHw9cm9ja3NdIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNT
IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpob3Zlclt3ZWJraXR8PXJvY2tzXSIpLmxlbmd0
aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRh
cmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVj
dG9yQWxsKCJbaWR8PXRhcmdldF06aG92ZXJbd2Via2l0fD1yb2Nrc10iKS5sZW5ndGggaXMgMQor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSku
Y29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgi
Om50aC1jaGlsZCgxKTpob3ZlciIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUsIDYp
IgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6aG92ZXI6bnRoLWNoaWxkKDEpIiku
bGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3JBbGwoIjpudGgtY2hpbGQoMSk6aG92ZXI6bnRoLWNoaWxkKDEpIikubGVuZ3RoIGlz
IDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0
IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoIjpudGgtY2hpbGQobik6aG92ZXIgPiAjdGFyZ2V0IikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlz
ICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpob3Zlcjpu
dGgtY2hpbGQobikgPiAjdGFyZ2V0IikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHls
ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwg
NikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpudGgtY2hpbGQobik6aG92ZXI6
bnRoLWNoaWxkKG4pID4gI3RhcmdldCIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5
bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xvciBpcyAicmdiKDQsIDUs
IDYpIgorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6bnRoLWNoaWxkKG4pOmhvdmVy
ICN0YXJnZXQiKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9j
dW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmhvdmVyOm50aC1jaGlsZChuKSAjdGFyZ2V0IikubGVu
Z3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGFyZ2V0IikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3JBbGwoIjpudGgtY2hpbGQobik6aG92ZXI6bnRoLWNoaWxkKG4pICN0YXJnZXQiKS5sZW5n
dGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
YXJnZXQiKSkuY29sb3IgaXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxl
Y3RvckFsbCgiOi13ZWJraXQtYW55KDpob3ZlcikgI3RhcmdldCIpLmxlbmd0aCBpcyAxCitQQVNT
IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpKS5jb2xv
ciBpcyAicmdiKDQsIDUsIDYpIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2hv
dmVyLXF1aXJrcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvaG92ZXItcXVpcmtz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjViMWE0NThmM2I0ODhmODBiYmY0NGNkNjA4NjMzMDE4MTUyZWU4
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2hvdmVyLXF1
aXJrcy5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvaG92ZXItYWN0aXZlLXF1aXJrcy11dGlsaXR5LmpzIj48L3NjcmlwdD4KKzxzdHls
ZSBpZD0idGVzdFN0eWxlIj4KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9InRh
cmdldCIgY2xhc3M9ImFDbGFzcyBvdGhlckNsYXNzIiB3ZWJraXQ9InJvY2tzIiBzdHlsZT0iYmFj
a2dyb3VuZC1jb2xvcjpncmVlbjsgd2lkdGg6MjAwcHg7IGhlaWdodDoyMDBweDsiPjwvZGl2Pgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CitkZXNj
cmlwdGlvbignVGVzdCB0aGUgOmhvdmVyIHNlbGVjdG9yIHdoZW4gdGhlIGRvY3VtZW50IGlzIGlu
IHF1aXJrcyBtb2RlLiBUbyB0ZXN0IG1hbnVhbGx5LCBtb3ZlIHRoZSBjdXJzb3Igb3ZlciB0aGUg
Z3JlZW4gcmVjdGFuZ2xlIGFuZCByZWxvYWQgdGhlIHBhZ2UuJyk7CisKK2lmICh3aW5kb3cuZXZl
bnRTZW5kZXIpIHsKKyAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rh
cmdldCcpOworICAgIHZhciB4ID0gdGFyZ2V0Lm9mZnNldExlZnQgKyB0YXJnZXQub2Zmc2V0V2lk
dGggLyAyOworICAgIHZhciB5ID0gdGFyZ2V0Lm9mZnNldFRvcCArIHRhcmdldC5vZmZzZXRIZWln
aHQgLyAyOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOworICAgIHRlc3QoJzpo
b3ZlcicpOworfSBlbHNlIHsKKyAgICAvLyBUbyB0ZXN0IG1hbnVhbGx5LCB3YWl0IGEgYml0IHRv
IG1ha2Ugc3VyZSB0aGUgYnJvd2VycyBoYXMgdXBkYXRlZCBpdHMgc3RhdGUsIHRoZW4gcnVuIHRo
ZSB0ZXN0cy4KKyAgICBzZXRUaW1lb3V0KHRlc3QsIDI1MCwgJzpob3ZlcicpOworfQorCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL3Jl
c291cmNlcy9ob3Zlci1hY3RpdmUtcXVpcmtzLXV0aWxpdHkuanMgYi9MYXlvdXRUZXN0cy9mYXN0
L3NlbGVjdG9ycy9yZXNvdXJjZXMvaG92ZXItYWN0aXZlLXF1aXJrcy11dGlsaXR5LmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjA0ZDY4NmUxYzQyMjVjZjE4NGI1NTBkOTRlMmMyZGM2NjFjOTBmYmEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9yZXNvdXJjZXMvaG92ZXItYWN0
aXZlLXF1aXJrcy11dGlsaXR5LmpzCkBAIC0wLDAgKzEsOTQgQEAKKwordmFyIHRlc3RDYXNlcyA9
IFsKKyAgICAvLyBUaGUgdW5pdmVyc2FsIHNlbGVjdG9yIGRvZXMgbm90IHF1YWxpZnkgdGhlIHBz
ZXVkbyBjbGFzcy4KKyAgICBbIlBMQUNFSE9MREVSIiwgZmFsc2VdLAorICAgIFsiKlBMQUNFSE9M
REVSIiwgZmFsc2VdLAorCisgICAgLy8gSGF2aW5nIDpob3ZlciBvciA6YWN0aXZlIGRvZXMgbm90
IHF1YWxpZnkgdGhlIHBzdWVkbyBjbGFzcy4KKyAgICBbIlBMQUNFSE9MREVSOmhvdmVyIiwgZmFs
c2VdLAorICAgIFsiOmhvdmVyUExBQ0VIT0xERVIiLCBmYWxzZV0sCisgICAgWyI6aG92ZXJQTEFD
RUhPTERFUjpob3ZlciIsIGZhbHNlXSwKKyAgICBbIlBMQUNFSE9MREVSOmFjdGl2ZSIsIGZhbHNl
XSwKKyAgICBbIjphY3RpdmVQTEFDRUhPTERFUiIsIGZhbHNlXSwKKyAgICBbIjphY3RpdmVQTEFD
RUhPTERFUjphY3RpdmUiLCBmYWxzZV0sCisKKyAgICAvLyBUYWcgcXVhbGlmeSB0aGUgcHNldWRv
IGNsYXNzLgorICAgIFsiZGl2UExBQ0VIT0xERVIiLCB0cnVlXSwKKworICAgIC8vIElkIHF1YWxp
ZnkgdGhlIHBzZXVkbyBjbGFzcy4KKyAgICBbIiN0YXJnZXRQTEFDRUhPTERFUiIsIHRydWVdLAor
ICAgIFsiUExBQ0VIT0xERVIjdGFyZ2V0IiwgdHJ1ZV0sCisgICAgWyIjdGFyZ2V0UExBQ0VIT0xE
RVIjdGFyZ2V0IiwgdHJ1ZV0sCisKKyAgICAvLyBDbGFzcyBxdWFsaWZ5IHRoZSBwc2V1ZG8gY2xh
c3MuCisgICAgWyIuYUNsYXNzUExBQ0VIT0xERVIiLCB0cnVlXSwKKyAgICBbIlBMQUNFSE9MREVS
LmFDbGFzcyIsIHRydWVdLAorICAgIFsiLmFDbGFzc1BMQUNFSE9MREVSLm90aGVyQ2xhc3MiLCB0
cnVlXSwKKworICAgIC8vIEFueSBhdHRyaWJ1dGUgZmlsdGVyIHF1YWxpZnkgdGhlIHBzZXVkbyBj
bGFzcy4KKyAgICBbIi5hQ2xhc3Nbd2Via2l0XSIsIHRydWVdLAorICAgIFsiUExBQ0VIT0xERVJb
d2Via2l0XSIsIHRydWVdLAorICAgIFsiW2lkXVBMQUNFSE9MREVSW3dlYmtpdF0iLCB0cnVlXSwK
KworICAgIFsiLmFDbGFzc1t3ZWJraXQ9cm9ja3NdIiwgdHJ1ZV0sCisgICAgWyJQTEFDRUhPTERF
Ult3ZWJraXQ9cm9ja3NdIiwgdHJ1ZV0sCisgICAgWyJbaWQ9dGFyZ2V0XVBMQUNFSE9MREVSW3dl
YmtpdD1yb2Nrc10iLCB0cnVlXSwKKworICAgIFsiLmFDbGFzc1t3ZWJraXRePXJvXSIsIHRydWVd
LAorICAgIFsiUExBQ0VIT0xERVJbd2Via2l0Xj1yb10iLCB0cnVlXSwKKyAgICBbIltpZF49dGFd
UExBQ0VIT0xERVJbd2Via2l0Xj1yb10iLCB0cnVlXSwKKworICAgIFsiLmFDbGFzc1t3ZWJraXQk
PWtzXSIsIHRydWVdLAorICAgIFsiUExBQ0VIT0xERVJbd2Via2l0JD1rc10iLCB0cnVlXSwKKyAg
ICBbIltpZCQ9ZXRdUExBQ0VIT0xERVJbd2Via2l0JD1rc10iLCB0cnVlXSwKKworICAgIFsiLmFD
bGFzc1t3ZWJraXQqPWNrXSIsIHRydWVdLAorICAgIFsiUExBQ0VIT0xERVJbd2Via2l0Kj1ja10i
LCB0cnVlXSwKKyAgICBbIltpZCo9cmddUExBQ0VIT0xERVJbd2Via2l0Kj1ja10iLCB0cnVlXSwK
KworICAgIFsiLmFDbGFzc1t3ZWJraXR+PXJvY2tzXSIsIHRydWVdLAorICAgIFsiUExBQ0VIT0xE
RVJbd2Via2l0fj1yb2Nrc10iLCB0cnVlXSwKKyAgICBbIltpZH49dGFyZ2V0XVBMQUNFSE9MREVS
W3dlYmtpdH49cm9ja3NdIiwgdHJ1ZV0sCisKKyAgICBbIi5hQ2xhc3Nbd2Via2l0fD1yb2Nrc10i
LCB0cnVlXSwKKyAgICBbIlBMQUNFSE9MREVSW3dlYmtpdHw9cm9ja3NdIiwgdHJ1ZV0sCisgICAg
WyJbaWR8PXRhcmdldF1QTEFDRUhPTERFUlt3ZWJraXR8PXJvY2tzXSIsIHRydWVdLAorCisgICAg
Ly8gQSBwc2V1ZG8tY2xhc3Mgb3RoZXIgdGhhbiA6YWN0aXZlLzpob3ZlciBxdWFsaWZ5IHRoZSBw
c2V1ZG8gY2xhc3MuCisgICAgWyI6bnRoLWNoaWxkKDEpUExBQ0VIT0xERVIiLCB0cnVlXSwKKyAg
ICBbIlBMQUNFSE9MREVSOm50aC1jaGlsZCgxKSIsIHRydWVdLAorICAgIFsiOm50aC1jaGlsZCgx
KVBMQUNFSE9MREVSOm50aC1jaGlsZCgxKSIsIHRydWVdLAorICAgIC8vIFNhbWUgd2l0aCBjaGls
ZC4KKyAgICBbIjpudGgtY2hpbGQobilQTEFDRUhPTERFUiA+ICN0YXJnZXQiLCB0cnVlXSwKKyAg
ICBbIlBMQUNFSE9MREVSOm50aC1jaGlsZChuKSA+ICN0YXJnZXQiLCB0cnVlXSwKKyAgICBbIjpu
dGgtY2hpbGQobilQTEFDRUhPTERFUjpudGgtY2hpbGQobikgPiAjdGFyZ2V0IiwgdHJ1ZV0sCisg
ICAgLy8gU2FtZSB3aXRoIGRlc2NlbmRhbnQuCisgICAgWyI6bnRoLWNoaWxkKG4pUExBQ0VIT0xE
RVIgI3RhcmdldCIsIHRydWVdLAorICAgIFsiUExBQ0VIT0xERVI6bnRoLWNoaWxkKG4pICN0YXJn
ZXQiLCB0cnVlXSwKKyAgICBbIjpudGgtY2hpbGQobilQTEFDRUhPTERFUjpudGgtY2hpbGQobikg
I3RhcmdldCIsIHRydWVdLAorCisgICAgWyI6LXdlYmtpdC1hbnkoUExBQ0VIT0xERVIpICN0YXJn
ZXQiLCB0cnVlXSwKK107CisKK2Z1bmN0aW9uIHRlc3RRdWVyeVNlbGVjdG9yKHNlbGVjdG9yLCBz
aG91bGRNYXRjaCkgeworICAgIHNob3VsZEJlKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIn
ICsgc2VsZWN0b3IgKyAnIikubGVuZ3RoJywgc2hvdWxkTWF0Y2g/ICcxJyA6ICcwJyk7Cit9CisK
K2Z1bmN0aW9uIHRlc3RTdHlsaW5nKHNlbGVjdG9yLCBzaG91bGRNYXRjaCkgeworICAgIHZhciB0
ZXN0U3R5bGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdFN0eWxlJyk7CisgICAgdmFy
IG5vTWF0Y2hTdHlsZSA9ICJyZ2IoMSwgMiwgMykiOworICAgIHZhciBtYXRjaFN0eWxlID0gInJn
Yig0LCA1LCA2KSIKKyAgICB0ZXN0U3R5bGUudGV4dENvbnRlbnQgPSAiI3RhcmdldCB7IGNvbG9y
OiIgKyBub01hdGNoU3R5bGUgKyAiIH0gIiArIHNlbGVjdG9yICsgIiB7IGNvbG9yOiIgKyBtYXRj
aFN0eWxlICsgIiAhaW1wb3J0YW50IH0iOworCisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3In
LCBzaG91bGRNYXRjaCA/IG1hdGNoU3R5bGUgOiBub01hdGNoU3R5bGUpOworCisgICAgdGVzdFN0
eWxlLnRleHRDb250ZW50ID0gIiI7Cit9CisKK2Z1bmN0aW9uIHRlc3QocHNldWRvQ2xhc3MpIHsK
KyAgICBmb3IgKHZhciBpID0gMCwgbGVuZ3RoID0gdGVzdENhc2VzLmxlbmd0aDsgaSA8IGxlbmd0
aDsgKytpKSB7CisgICAgICAgIHZhciBzZWxlY3RvciA9IHRlc3RDYXNlc1tpXVswXS5yZXBsYWNl
KCdQTEFDRUhPTERFUicsIHBzZXVkb0NsYXNzKQorICAgICAgICB0ZXN0UXVlcnlTZWxlY3Rvcihz
ZWxlY3RvciwgdGVzdENhc2VzW2ldWzFdKTsKKyAgICAgICAgdGVzdFN0eWxpbmcoc2VsZWN0b3Is
IHRlc3RDYXNlc1tpXVsxXSk7CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>
<flag name="review"
          id="256536"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>