<?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>66714</bug_id>
          
          <creation_ts>2011-08-22 14:35:07 -0700</creation_ts>
          <short_desc>Add webkitPostMessage to allow for adding transferable support.</short_desc>
          <delta_ts>2011-09-16 21:00:44 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>65209</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Levin">levin</reporter>
          <assigned_to name="Dmitry Lomov">dslomov</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>dslomov</cc>
    
    <cc>kbr</cc>
    
    <cc>levin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>454933</commentid>
    <comment_count>0</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-08-22 14:35:07 -0700</bug_when>
    <thetext>Per the comment here https://bugs.webkit.org/show_bug.cgi?id=65209#c6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468158</commentid>
    <comment_count>1</comment_count>
      <attachid>107565</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-09-15 16:40:21 -0700</bug_when>
    <thetext>Created attachment 107565
Adds webkitPostMessage + tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468165</commentid>
    <comment_count>2</comment_count>
      <attachid>107566</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-09-15 16:56:47 -0700</bug_when>
    <thetext>Created attachment 107566
Minor fixes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468273</commentid>
    <comment_count>3</comment_count>
      <attachid>107566</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-15 20:38:52 -0700</bug_when>
    <thetext>Comment on attachment 107566
Minor fixes

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

New failing tests:
fast/dom/prototype-inheritance.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468560</commentid>
    <comment_count>4</comment_count>
      <attachid>107672</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2011-09-16 10:03:52 -0700</bug_when>
    <thetext>Created attachment 107672
Rebaselined chromium test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469007</commentid>
    <comment_count>5</comment_count>
      <attachid>107672</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-16 21:00:39 -0700</bug_when>
    <thetext>Comment on attachment 107672
Rebaselined chromium test

Clearing flags on attachment: 107672

Committed r95362: &lt;http://trac.webkit.org/changeset/95362&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469008</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-16 21:00:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107565</attachid>
            <date>2011-09-15 16:40:21 -0700</date>
            <delta_ts>2011-09-15 16:56:47 -0700</delta_ts>
            <desc>Adds webkitPostMessage + tests</desc>
            <filename>66714.patch</filename>
            <type>text/plain</type>
            <size>35640</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0ODMxYmEzLi5kNTU0ZmYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDkt
MTUgIERtaXRyeSBMb21vdiAgPGRzbG9tb3ZAZ29vZ2xlLmNvbT4KKworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MTQKKyAgICAgICAgQWRkIHdlYmtp
dFBvc3RNZXNzYWdlIHRvIGFsbG93IGZvciBhZGRpbmcgdHJhbnNmZXJhYmxlIHN1cHBvcnQuCisg
ICAgICAgIFRoaXMgYWRkcyB3ZWJraXRQb3N0TWVzc2FnZSwgY3VycmVudGx5IGlkZW50aWNhbCB0
byBwb3N0TWVzc2FnZSwgd2hpY2ggCisgICAgICAgIHdvdWxkIGxhdGVyIGJlIGEgdmVoaWNsZSBm
b3IgYWRkaW5nIHRyYW5zZmVyYWJsZSBzdXBwb3J0IGZvciBtZXNzYWdpbmcuCisgICAgICAgIFRo
ZSB0ZXN0cyBlbnN1cmUgdGhhdCB3ZWJraXRQb3N0TWVzc2FnZSBhbmQgcG9zdE1lc3NhZ2UgYmVo
YXZlIGlkZW50aWNhbGx5LgorCisgICAgICAgIEJhc2VkIG9uIHBhdGNoIGJ5IEx1a2UgWmFya28u
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0
L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWFyZ3MtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtYXJncy5odG1sOgorICAgICAg
ICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0Lmh0bWw6CisgICAgICAgICogZmFzdC93
b3JrZXJzL3Jlc291cmNlcy93b3JrZXItY2FsbC5qczoKKyAgICAgICAgKiBmYXN0L3dvcmtlcnMv
d29ya2VyLWNhbGwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtYXJncy1leHBlY3RlZC50eHQ6CisKIDIw
MTEtMDktMTUgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDA3MgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1hcmdzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtYXJn
cy1leHBlY3RlZC50eHQKaW5kZXggODk5NjhjMS4uMzJjOGI4MSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1hcmdzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWFy
Z3MtZXhwZWN0ZWQudHh0CkBAIC0xLDE4ICsxLDMxIEBACiBUZXN0IHRoYXQgdGhlIHNlY29uZCBh
cmd1bWVudCBvZiB3aW5kb3cucG9zdE1lc3NhZ2UgaXMgaWdub3JlZCBvciB0cmlnZ2VycyBhbiBl
cnJvciBpZiBpdCBpcyBub3QgYSBtZXNzYWdlIHBvcnQuIFlvdSBzaG91bGQgc2VlIFBBU1MgbWVz
c2FnZSAnMScgdGhyb3VnaCAnNycsIGZvbGxvd2VkIGJ5ICdkb25lJywgd2l0aCBtZXNzYWdlcyA0
LTcgcmVjZWl2ZWQgYmVsb3cuCiAKIFBBU1M6IFBvc3RpbmcgbWVzc2FnZSAoJzEnLCAxKTogdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvcgorUEFTUzogUG9zdGluZyBtZXNzYWdl
ICgnMScsIDEpOiB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yCitQQVNTOiBQ
b3N0aW5nIG1lc3NhZ2UgKCcyJywgKTogdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBl
cnJvcgogUEFTUzogUG9zdGluZyBtZXNzYWdlICgnMicsICk6IHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IFR5cGUgZXJyb3IKIFBBU1M6IFBvc3RpbmcgbWVzc2FnZSAoJzMnLCBbb2JqZWN0IE9i
amVjdF0pOiB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yCitQQVNTOiBQb3N0
aW5nIG1lc3NhZ2UgKCczJywgW29iamVjdCBPYmplY3RdKTogdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogVHlwZSBlcnJvcgogUEFTUzogUG9zdGluZyBtZXNzYWdlICgnNCcsIFtvYmplY3QgRE9N
V2luZG93XSkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KK1BBU1M6IFBvc3RpbmcgbWVzc2Fn
ZSAoJzQnLCBbb2JqZWN0IERPTVdpbmRvd10pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQ
QVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCc1JywgbnVsbCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRp
b24KIFBBU1M6IFBvc3RpbmcgbWVzc2FnZSAoJzUnLCBudWxsKSBkaWQgbm90IHRocm93IGFuIGV4
Y2VwdGlvbgogUEFTUzogUG9zdGluZyBtZXNzYWdlICgnNicsIHVuZGVmaW5lZCkgZGlkIG5vdCB0
aHJvdyBhbiBleGNlcHRpb24KK1BBU1M6IFBvc3RpbmcgbWVzc2FnZSAoJzYnLCB1bmRlZmluZWQp
IGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCc3Jywg
W29iamVjdCBNZXNzYWdlUG9ydF0sW29iamVjdCBNZXNzYWdlUG9ydF0pIGRpZCBub3QgdGhyb3cg
YW4gZXhjZXB0aW9uCiBQQVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCc3JywgW29iamVjdCBNZXNzYWdl
UG9ydF0sW29iamVjdCBNZXNzYWdlUG9ydF0pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCiBQ
QVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCcyMTQ3NDgzNjQ4JywgbnVsbCkgZGlkIG5vdCB0aHJvdyBh
biBleGNlcHRpb24KK1BBU1M6IFBvc3RpbmcgbWVzc2FnZSAoJzIxNDc0ODM2NDgnLCBudWxsKSBk
aWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgogUEFTUzogUG9zdGluZyBtZXNzYWdlICgnZG9uZScs
ICopIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCi1SZWNlaXZlZCBtZXNzYWdlICc0JyB3aXRo
IDAgcG9ydHMuCi1SZWNlaXZlZCBtZXNzYWdlICc1JyB3aXRoIDAgcG9ydHMuCi1SZWNlaXZlZCBt
ZXNzYWdlICc2JyB3aXRoIDAgcG9ydHMuCitSZWNlaXZlZCBtZXNzYWdlICc0JworUmVjZWl2ZWQg
bWVzc2FnZSAnNCcKK1JlY2VpdmVkIG1lc3NhZ2UgJzUnCitSZWNlaXZlZCBtZXNzYWdlICc1Jwor
UmVjZWl2ZWQgbWVzc2FnZSAnNicKK1JlY2VpdmVkIG1lc3NhZ2UgJzYnCitSZWNlaXZlZCBtZXNz
YWdlICc3JyB3aXRoIDIgcG9ydHMuCiBSZWNlaXZlZCBtZXNzYWdlICc3JyB3aXRoIDIgcG9ydHMu
Ci1SZWNlaXZlZCBtZXNzYWdlICcyMTQ3NDgzNjQ4JyB3aXRoIDAgcG9ydHMuCi1SZWNlaXZlZCBt
ZXNzYWdlICdkb25lJyB3aXRoIDAgcG9ydHMuCitSZWNlaXZlZCBtZXNzYWdlICcyMTQ3NDgzNjQ4
JworUmVjZWl2ZWQgbWVzc2FnZSAnMjE0NzQ4MzY0OCcKK1JlY2VpdmVkIG1lc3NhZ2UgJ2RvbmUn
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1l
c3NhZ2UtYXJncy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0
bWVzc2FnZS1hcmdzLmh0bWwKaW5kZXggNzJhMjdlNy4uY2JkMjQzZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1hcmdzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1hcmdzLmh0
bWwKQEAgLTIzLDMwICsyMywzNyBAQCBmdW5jdGlvbiBvbm1lc3NhZ2UoZXZ0KSB7CiAKIHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgb25tZXNzYWdlLCBmYWxzZSk7CiAKLWZ1bmN0
aW9uIHRyeVBvc3RNZXNzYWdlKGZpcnN0LCBzZWNvbmQsIHRoaXJkLCBzaG91bGRGYWlsKSB7Ci0g
ICAgdHJ5IHsKK2Z1bmN0aW9uIHRyeVBvc3RNZXNzYWdlRnVuY3Rpb24ocG9zdE1lc3NhZ2VGdW5j
dGlvbiwgZmlyc3QsIHNlY29uZCwgdGhpcmQsIHNob3VsZEZhaWwpIHsKKyAgIHRyeSB7CiAgICAg
ICAgIGlmICghdGhpcmQpCi0gICAgICAgICAgICB3aW5kb3cucG9zdE1lc3NhZ2UoZmlyc3QsIHNl
Y29uZCk7CisgICAgICAgICAgICBwb3N0TWVzc2FnZUZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpOwog
ICAgICAgICBlbHNlCi0gICAgICAgICAgICB3aW5kb3cucG9zdE1lc3NhZ2UoZmlyc3QsIHNlY29u
ZCwgdGhpcmQpOworICAgICAgICAgICAgcG9zdE1lc3NhZ2VGdW5jdGlvbihmaXJzdCwgc2Vjb25k
LCB0aGlyZCk7CiAgICAgICAgIGNvbnNvbGUuaW5uZXJIVE1MICs9IChzaG91bGRGYWlsID8gIkZB
SUwiIDogIlBBU1MiKSArICI6IFBvc3RpbmcgbWVzc2FnZSAoJyIgKyBmaXJzdCArICInLCAiICsg
c2Vjb25kICsgIikgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb248YnI+IjsKICAgIH0gY2F0Y2gg
KGUpIHsKICAgICAgICAgY29uc29sZS5pbm5lckhUTUwgKz0gKHNob3VsZEZhaWwgPyAiUEFTUyIg
OiAiRkFJTCIpICsgIjogUG9zdGluZyBtZXNzYWdlICgnIiArIGZpcnN0ICsgIicsICIgKyBzZWNv
bmQgKyAiKTogdGhyZXcgZXhjZXB0aW9uICIgKyBlICsgIjxicj4iOwogICAgfQogfQogCitmdW5j
dGlvbiB0cnlQb3N0TWVzc2FnZShmaXJzdCwgc2Vjb25kLCB0aGlyZCwgc2hvdWxkRmFpbCkgewor
ICAgIHRyeVBvc3RNZXNzYWdlRnVuY3Rpb24od2luZG93LnBvc3RNZXNzYWdlLCBmaXJzdCwgc2Vj
b25kLCB0aGlyZCwgc2hvdWxkRmFpbCk7CisgICAgdHJ5UG9zdE1lc3NhZ2VGdW5jdGlvbih3aW5k
b3cud2Via2l0UG9zdE1lc3NhZ2UsIGZpcnN0LCBzZWNvbmQsIHRoaXJkLCBzaG91bGRGYWlsKTsK
K30KKwogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uIikuaW5uZXJIVE1MID0g
IlRlc3QgdGhhdCB0aGUgc2Vjb25kIGFyZ3VtZW50IG9mIHdpbmRvdy5wb3N0TWVzc2FnZSBpcyBp
Z25vcmVkIG9yIHRyaWdnZXJzIGFuIGVycm9yIGlmIGl0IGlzIG5vdCBhIG1lc3NhZ2UgcG9ydC4g
WW91IHNob3VsZCBzZWUgUEFTUyBtZXNzYWdlICcxJyB0aHJvdWdoICc3JywgZm9sbG93ZWQgYnkg
J2RvbmUnLCB3aXRoIG1lc3NhZ2VzIDQtNyByZWNlaXZlZCBiZWxvdy48YnI+PGJyPiI7CiAKLXZh
ciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsOwogdHJ5UG9zdE1lc3NhZ2UoJzEnLCAxLCAn
KicsIHRydWUpOwogdHJ5UG9zdE1lc3NhZ2UoJzInLCAiIiwgJyonLCB0cnVlKTsKIHRyeVBvc3RN
ZXNzYWdlKCczJywgeyB4OiAxIH0sICcqJywgdHJ1ZSk7CiB0cnlQb3N0TWVzc2FnZSgnNCcsIHdp
bmRvdywgJyonKTsgIC8vIFBhc3NlcyBiZWNhdXNlIHdpbmRvdyBoYXMgYSAibGVuZ3RoIiBhdHRy
aWJ1dGUgb2YgdmFsdWUgJzAnLCBzbyBpdCBsb29rcyBsaWtlIGFuIGFycmF5CiB0cnlQb3N0TWVz
c2FnZSgnNScsIG51bGwsICcqJyk7CiB0cnlQb3N0TWVzc2FnZSgnNicsIHZvaWQgMCwgJyonKTsK
LXRyeVBvc3RNZXNzYWdlKCc3JywgW2NoYW5uZWwucG9ydDEsIGNoYW5uZWwucG9ydDJdLCAnKicp
OwordmFyIGNoYW5uZWwxID0gbmV3IE1lc3NhZ2VDaGFubmVsOwordHJ5UG9zdE1lc3NhZ2VGdW5j
dGlvbih3aW5kb3cucG9zdE1lc3NhZ2UsICc3JywgW2NoYW5uZWwxLnBvcnQxLCBjaGFubmVsMS5w
b3J0Ml0sICcqJyk7Cit2YXIgY2hhbm5lbDIgPSBuZXcgTWVzc2FnZUNoYW5uZWw7Cit0cnlQb3N0
TWVzc2FnZUZ1bmN0aW9uKHdpbmRvdy53ZWJraXRQb3N0TWVzc2FnZSwgJzcnLCBbY2hhbm5lbDIu
cG9ydDEsIGNoYW5uZWwyLnBvcnQyXSwgJyonKTsKIHRyeVBvc3RNZXNzYWdlKDIxNDc0ODM2NDgs
IG51bGwsICcqJyk7Ci10cnlQb3N0TWVzc2FnZSgnZG9uZScsICcqJyk7Cit0cnlQb3N0TWVzc2Fn
ZUZ1bmN0aW9uKHdpbmRvdy5wb3N0TWVzc2FnZSwgJ2RvbmUnLCAnKicpOwogPC9zY3JpcHQ+CiA8
L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cv
d2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDZiNDc3ZTEuLmU3MTk2MGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dp
bmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0
ZWQudHh0CkBAIC01NDMsNiArNTQzLDcgQEAgUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKHdpbmRvdywgJ3RvU3RyaW5nJykgaXMgdW5kZWZpbmVkLgogUEFTUyBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ3ZhbHVlT2YnKSBpcyB1bmRlZmluZWQuCiBQ
QVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnd2Via2l0Q29udmVy
dFBvaW50RnJvbU5vZGVUb1BhZ2UnKSBpcyB1bmRlZmluZWQuCiBQQVNTIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnd2Via2l0Q29udmVydFBvaW50RnJvbVBhZ2VUb05v
ZGUnKSBpcyB1bmRlZmluZWQuCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
d2luZG93LCAnd2Via2l0UG9zdE1lc3NhZ2UnKSBpcyB1bmRlZmluZWQuCiBQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtZXhwZWN0ZWQudHh0CmluZGV4IDFjOTFkNWMuLjk1NWFk
MzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LWV4cGVj
dGVkLnR4dApAQCAtMyw5ICszLDE0IEBAIFRlc3QgY3Jvc3MtZnJhbWUgTWVzc2FnZVBvcnQgY29t
bXVuaWNhdGlvbi4KIFNob3VsZCBiZSBhIHNlcmllcyBvZiBTVUNDRVNTIG1lc3NhZ2VzLCBmb2xs
b3dlZCB3aXRoIERPTkUuCiAKIFNpbXBsZSBleGNoYW5nZTogU1VDQ0VTUworU2ltcGxlIGV4Y2hh
bmdlOiBTVUNDRVNTCitQb3N0ZWQgcG9ydDogU1VDQ0VTUwogUG9zdGVkIHBvcnQ6IFNVQ0NFU1MK
IEV2ZW50IExpc3RlbmVyOiBTVUNDRVNTCitFdmVudCBMaXN0ZW5lcjogU1VDQ0VTUwogQ2xvc2Vk
IHBvcnQ6IFNVQ0NFU1MKK0Nsb3NlZCBwb3J0OiBTVUNDRVNTCitNZXNzYWdlRXZlbnQuY2FuY2Vs
YWJsZSBkZWZhdWx0cyB0byBmYWxzZTogUEFTUwogTWVzc2FnZUV2ZW50LmNhbmNlbGFibGUgZGVm
YXVsdHMgdG8gZmFsc2U6IFBBU1MKIERPTkUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvbWVzc2FnZS1wb3J0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tZXNz
YWdlLXBvcnQuaHRtbAppbmRleCBlYjgwMTgzLi5iNTkwZTQ3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9tZXNzYWdlLXBvcnQuaHRtbApAQCAtMTUsNDMgKzE1LDYzIEBAIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKIAogdmFyIG1haW5Qb3J0OwogCi1mdW5jdGlvbiB0ZXN0
KCkKK3ZhciBhbGxUZXN0czsKK3ZhciBjdXJyZW50VGVzdCA9IDA7CisKK2Z1bmN0aW9uIG5leHRU
ZXN0KCkgCit7CisgICAgdmFyIGZ1biA9IGN1cnJlbnRUZXN0ICUgMiA9PSAwID8gInBvc3RNZXNz
YWdlIiA6ICJ3ZWJraXRQb3N0TWVzc2FnZSI7CisgICAgdmFyIHRlc3RGdW5ObyA9IE1hdGguZmxv
b3IoY3VycmVudFRlc3QgLyAyKTsKKyAgICBpZiAodGVzdEZ1bk5vIDwgYWxsVGVzdHMubGVuZ3Ro
KQorICAgIHsKKyAgICAgICAgdmFyIHRlc3QgPSBhbGxUZXN0c1t0ZXN0RnVuTm9dOworICAgICAg
ICBjdXJyZW50VGVzdCsrOworICAgICAgICB0ZXN0KGZ1bik7CisgICAgfQorICAgIGVsc2UKKyAg
ICB7CisgICAgICAgIGRvbmUoKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3QocG9zdE1lc3Nh
Z2VGdW4pCiB7CiAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWw7Ci0gICAgd2lu
ZG93LmZyYW1lc1swXS5wb3N0TWVzc2FnZSgibXNnIiwgW2NoYW5uZWwucG9ydDJdLCAiKiIpOwor
CisgICAgd2luZG93LmZyYW1lc1swXVtwb3N0TWVzc2FnZUZ1bl0oIm1zZyIsIFtjaGFubmVsLnBv
cnQyXSwgIioiKTsKICAgICBtYWluUG9ydCA9IGNoYW5uZWwucG9ydDE7Ci0gICAgbWFpblBvcnQu
cG9zdE1lc3NhZ2UoInBpbmciKTsKKyAgICBtYWluUG9ydFtwb3N0TWVzc2FnZUZ1bl0oInBpbmci
KTsKICAgICBtYWluUG9ydC5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldnQpIHsKICAgICAgICAgaWYg
KGV2dC5kYXRhID09ICJwb25nIiAmJiBldnQub3JpZ2luID09ICIiKQogICAgICAgICAgICAgbG9n
KCJTaW1wbGUgZXhjaGFuZ2U6IFNVQ0NFU1MiKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAg
bG9nKCJTaW1wbGUgZXhjaGFuZ2U6IEZBSUwuIEdvdCBtZXNzYWdlICciICsgZXZ0LmRhdGEgKyAi
JyBmcm9tICciICsgZXZ0Lm9yaWdpbiArICInLiIpOwotICAgICAgICB0ZXN0MigpOworICAgICAg
ICBuZXh0VGVzdCgpOwogICAgIH07CiB9CiAKLWZ1bmN0aW9uIHRlc3QyKCkKK2Z1bmN0aW9uIHRl
c3QyKHBvc3RNZXNzYWdlRnVuKQogewogICAgIHZhciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFu
bmVsOwotICAgIG1haW5Qb3J0LnBvc3RNZXNzYWdlKCJuZXdQb3J0IiwgW2NoYW5uZWwucG9ydDJd
KTsKKyAgICBtYWluUG9ydFtwb3N0TWVzc2FnZUZ1bl0oIm5ld1BvcnQiLCBbY2hhbm5lbC5wb3J0
Ml0pOwogICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gZnVuY3Rpb24oZXZ0KSB7CiAgICAg
ICAgIGlmIChldnQuZGF0YSA9PSAieW8iICYmIGV2dC5vcmlnaW4gPT0gIiIpCiAgICAgICAgICAg
ICBsb2coIlBvc3RlZCBwb3J0OiBTVUNDRVNTIik7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAg
IGxvZygiUG9zdGVkIHBvcnQ6IEZBSUwuIEdvdCBtZXNzYWdlICciICsgZXZ0LmRhdGEgKyAiJyBm
cm9tICciICsgZXZ0Lm9yaWdpbiArICInLiIpOwotICAgICAgICB0ZXN0MygpOworICAgICAgICBu
ZXh0VGVzdCgpOwogICAgIH07CiB9CiAKLWZ1bmN0aW9uIHRlc3QzKCkKK2Z1bmN0aW9uIHRlc3Qz
KHBvc3RNZXNzYWdlRnVuKQogewogICAgIHZhciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVs
OwotICAgIGNoYW5uZWwucG9ydDEucG9zdE1lc3NhZ2UoIjEiKTsKKyAgICBjaGFubmVsLnBvcnQx
W3Bvc3RNZXNzYWdlRnVuXSgiMSIpOwogICAgIHZhciBzdGFydGVkID0gZmFsc2U7CiAgICAgY2hh
bm5lbC5wb3J0Mi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24oZXZ0KSB7CiAg
ICAgICAgIGlmIChzdGFydGVkKSB7CiAgICAgICAgICAgICBsb2coIkV2ZW50IExpc3RlbmVyOiBT
VUNDRVNTIik7Ci0gICAgICAgICAgICB0ZXN0NCgpOworICAgICAgICAgICAgbmV4dFRlc3QoKTsK
ICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBsb2coIkV2ZW50IExpc3RlbmVyOiBGQUlMLiBF
dmVudCBsaXN0ZW5lciBjYWxsZWQgYmVmb3JlIHN0YXJ0KCkiKTsKICAgIH0pOwpAQCAtNjIsMzYg
KzgyLDM2IEBAIGZ1bmN0aW9uIHRlc3QzKCkKIAogfQogCi1mdW5jdGlvbiB0ZXN0NCgpCitmdW5j
dGlvbiB0ZXN0NChwb3N0TWVzc2FnZUZ1bikKIHsKICAgICB2YXIgY2hhbm5lbCA9IG5ldyBNZXNz
YWdlQ2hhbm5lbDsKLSAgICBjaGFubmVsLnBvcnQxLnBvc3RNZXNzYWdlKCIxIik7CisgICAgY2hh
bm5lbC5wb3J0MVtwb3N0TWVzc2FnZUZ1bl0oIjEiKTsKICAgICBjaGFubmVsLnBvcnQxLmNsb3Nl
KCk7Ci0gICAgY2hhbm5lbC5wb3J0MS5wb3N0TWVzc2FnZSgiMiIpOworICAgIGNoYW5uZWwucG9y
dDFbcG9zdE1lc3NhZ2VGdW5dKCIyIik7CiAgICAgY2hhbm5lbC5wb3J0Mi5vbm1lc3NhZ2UgPSBm
dW5jdGlvbihldnQpIHsKICAgICAgICAgaWYgKGV2dC5kYXRhID09ICIxIikgewogICAgICAgICAg
ICAgbG9nKCJDbG9zZWQgcG9ydDogU1VDQ0VTUyIpOwotICAgICAgICAgICAgdGVzdDUoKTsKKyAg
ICAgICAgICAgIG5leHRUZXN0KCk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgbG9nKCJD
bG9zZWQgcG9ydDogRkFJTC4gR290IG1lc3NhZ2U6ICIgKyBldnQuZGF0YSArICIgYWZ0ZXIgY2xv
c2UiKTsKICAgIH0KIH0KIAotZnVuY3Rpb24gdGVzdDUoKQorZnVuY3Rpb24gdGVzdDUocG9zdE1l
c3NhZ2VGdW4pCiB7CiAgICAgLy8gQ3JlYXRlIGEgY2hhbm5lbCBhbmQgcHV0IHNvbWUgbWVzc2Fn
ZXMgaW4gaXQgd2hpY2ggd2lsbCBnbyB1bmRlbGl2ZXJlZCBhbmQgc2hvdWxkIG5vdCBsZWFrCiAg
ICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWw7Ci0gICAgY2hhbm5lbC5wb3J0MS5w
b3N0TWVzc2FnZSgiYWJjZGUiKTsKLSAgICB0ZXN0NigpOworICAgIGNoYW5uZWwucG9ydDFbcG9z
dE1lc3NhZ2VGdW5dKCJhYmNkZSIpOworICAgIG5leHRUZXN0KCk7CiB9CiAKLWZ1bmN0aW9uIHRl
c3Q2KCkKK2Z1bmN0aW9uIHRlc3Q2KHBvc3RNZXNzYWdlRnVuKQogewogICAgIHZhciBjaGFubmVs
ID0gbmV3IE1lc3NhZ2VDaGFubmVsOwotICAgIGNoYW5uZWwucG9ydDEucG9zdE1lc3NhZ2UoImhv
d2R5Iik7CisgICAgY2hhbm5lbC5wb3J0MVtwb3N0TWVzc2FnZUZ1bl0oImhvd2R5Iik7CiAgICAg
Y2hhbm5lbC5wb3J0Mi5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkgewogICAgICAgICBsb2co
Ik1lc3NhZ2VFdmVudC5jYW5jZWxhYmxlIGRlZmF1bHRzIHRvICIgKyBldmVudC5jYW5jZWxhYmxl
ICsgIjogIiArIChldmVudC5jYW5jZWxhYmxlID8gIkZBSUwiIDogIlBBU1MiKSk7Ci0gICAgICAg
IGRvbmUoKTsKKyAgICAgICAgbmV4dFRlc3QoKTsKICAgICB9CiB9CiAKQEAgLTEwNCw2ICsxMjQs
OCBAQCBmdW5jdGlvbiBkb25lKCkgewogICAgIH0sIDEwMCk7CiB9CiAKK2FsbFRlc3RzID0gWyB0
ZXN0LCB0ZXN0MiwgdGVzdDMsIHRlc3Q0LCB0ZXN0NSwgdGVzdDYgXQorCiA8L3NjcmlwdD4KLTxp
ZnJhbWUgc3JjPSJyZXNvdXJjZXMvbWVzc2FnZS1wb3J0LWlmcmFtZS5odG1sIiBvbmxvYWQ9InRl
c3QoKSI+PC9pZnJhbWU+Cis8aWZyYW1lIHNyYz0icmVzb3VyY2VzL21lc3NhZ2UtcG9ydC1pZnJh
bWUuaHRtbCIgb25sb2FkPSJuZXh0VGVzdCgpIj48L2lmcmFtZT4KIDwvYm9keT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9yZXNvdXJjZXMvd29ya2VyLWNhbGwuanMgYi9M
YXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtlci1jYWxsLmpzCmluZGV4IDJm
MWFlMmYuLjk3ODA1NmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9yZXNv
dXJjZXMvd29ya2VyLWNhbGwuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3Jlc291
cmNlcy93b3JrZXItY2FsbC5qcwpAQCAtMSw1ICsxLDkgQEAKIHBvc3RNZXNzYWdlKCJTVUNDRVNT
OiBwb3N0TWVzc2FnZSgpIGNhbGxlZCBkaXJlY3RseSIpOword2Via2l0UG9zdE1lc3NhZ2UoIlNV
Q0NFU1M6IHdlYmtpdFBvc3RNZXNzYWdlKCkgY2FsbGVkIGRpcmVjdGx5Iik7CiBwb3N0TWVzc2Fn
ZS5jYWxsKG51bGwsICJTVUNDRVNTOiBwb3N0TWVzc2FnZSgpIGludm9rZWQgdmlhIHBvc3RNZXNz
YWdlLmNhbGwoKSIpOword2Via2l0UG9zdE1lc3NhZ2UuY2FsbChudWxsLCAiU1VDQ0VTUzogd2Vi
a2l0UG9zdE1lc3NhZ2UoKSBpbnZva2VkIHZpYSB3ZWJraXRQb3N0TWVzc2FnZS5jYWxsKCkiKTsK
IHZhciBzYXZlZCA9IHBvc3RNZXNzYWdlOwogc2F2ZWQoIlNVQ0NFU1M6IHBvc3RNZXNzYWdlKCkg
Y2FsbGVkIHZpYSBpbnRlcm1lZGlhdGUgdmFyaWFibGUiKTsKK3ZhciBzYXZlZDEgPSB3ZWJraXRQ
b3N0TWVzc2FnZTsKK3NhdmVkMSgiU1VDQ0VTUzogd2Via2l0UG9zdE1lc3NhZ2UoKSBjYWxsZWQg
dmlhIGludGVybWVkaWF0ZSB2YXJpYWJsZSIpOwogcG9zdE1lc3NhZ2UoIkRPTkUiKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy93b3JrZXItY2FsbC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvd29ya2VyLWNhbGwtZXhwZWN0ZWQudHh0CmluZGV4
IDYyMWQzYjUuLmI3ZDZjYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy93
b3JrZXItY2FsbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3dv
cmtlci1jYWxsLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDEwIEBACiBUZXN0IGNhbGxpbmcgZnVu
Y3Rpb25zIGZyb20gV29ya2VyQ29udGV4dC4gU2hvdWxkIHByaW50IG11bHRpcGxlIFNVQ0NFU1Mg
bGluZXMsIGZvbGxvd2VkIGJ5IERPTkUuCiAKIFNVQ0NFU1M6IHBvc3RNZXNzYWdlKCkgY2FsbGVk
IGRpcmVjdGx5CitTVUNDRVNTOiB3ZWJraXRQb3N0TWVzc2FnZSgpIGNhbGxlZCBkaXJlY3RseQog
U1VDQ0VTUzogcG9zdE1lc3NhZ2UoKSBpbnZva2VkIHZpYSBwb3N0TWVzc2FnZS5jYWxsKCkKK1NV
Q0NFU1M6IHdlYmtpdFBvc3RNZXNzYWdlKCkgaW52b2tlZCB2aWEgd2Via2l0UG9zdE1lc3NhZ2Uu
Y2FsbCgpCiBTVUNDRVNTOiBwb3N0TWVzc2FnZSgpIGNhbGxlZCB2aWEgaW50ZXJtZWRpYXRlIHZh
cmlhYmxlCitTVUNDRVNTOiB3ZWJraXRQb3N0TWVzc2FnZSgpIGNhbGxlZCB2aWEgaW50ZXJtZWRp
YXRlIHZhcmlhYmxlCiBET05FCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtYXJncy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2RvbS9XaW5kb3cvd2luZG93
LXBvc3RtZXNzYWdlLWFyZ3MtZXhwZWN0ZWQudHh0CmluZGV4IDQ1ZWM3M2QuLjVmOGU5OWQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZG9tL1dpbmRvdy93
aW5kb3ctcG9zdG1lc3NhZ2UtYXJncy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1hcmdzLWV4
cGVjdGVkLnR4dApAQCAtMSwxOCArMSwzMSBAQAogVGVzdCB0aGF0IHRoZSBzZWNvbmQgYXJndW1l
bnQgb2Ygd2luZG93LnBvc3RNZXNzYWdlIGlzIGlnbm9yZWQgb3IgdHJpZ2dlcnMgYW4gZXJyb3Ig
aWYgaXQgaXMgbm90IGEgbWVzc2FnZSBwb3J0LiBZb3Ugc2hvdWxkIHNlZSBQQVNTIG1lc3NhZ2Ug
JzEnIHRocm91Z2ggJzcnLCBmb2xsb3dlZCBieSAnZG9uZScsIHdpdGggbWVzc2FnZXMgNC03IHJl
Y2VpdmVkIGJlbG93LgogCiBQQVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCcxJywgMSk6IHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IE1lc3NhZ2VQb3J0QXJyYXkgYXJndW1lbnQgbXVzdCBiZSBhbiBv
YmplY3QKK1BBU1M6IFBvc3RpbmcgbWVzc2FnZSAoJzEnLCAxKTogdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogTWVzc2FnZVBvcnRBcnJheSBhcmd1bWVudCBtdXN0IGJlIGFuIG9iamVjdAorUEFT
UzogUG9zdGluZyBtZXNzYWdlICgnMicsICk6IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE1l
c3NhZ2VQb3J0QXJyYXkgYXJndW1lbnQgbXVzdCBiZSBhbiBvYmplY3QKIFBBU1M6IFBvc3Rpbmcg
bWVzc2FnZSAoJzInLCApOiB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBNZXNzYWdlUG9ydEFy
cmF5IGFyZ3VtZW50IG11c3QgYmUgYW4gb2JqZWN0CiBQQVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCcz
JywgW29iamVjdCBPYmplY3RdKTogdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTWVzc2FnZVBv
cnRBcnJheSBhcmd1bWVudCBoYXMgbm8gbGVuZ3RoIGF0dHJpYnV0ZQorUEFTUzogUG9zdGluZyBt
ZXNzYWdlICgnMycsIFtvYmplY3QgT2JqZWN0XSk6IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IE1lc3NhZ2VQb3J0QXJyYXkgYXJndW1lbnQgaGFzIG5vIGxlbmd0aCBhdHRyaWJ1dGUKK1BBU1M6
IFBvc3RpbmcgbWVzc2FnZSAoJzQnLCBbb2JqZWN0IERPTVdpbmRvd10pIGRpZCBub3QgdGhyb3cg
YW4gZXhjZXB0aW9uCiBQQVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCc0JywgW29iamVjdCBET01XaW5k
b3ddKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgogUEFTUzogUG9zdGluZyBtZXNzYWdlICgn
NScsIG51bGwpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTOiBQb3N0aW5nIG1lc3Nh
Z2UgKCc1JywgbnVsbCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KK1BBU1M6IFBvc3Rpbmcg
bWVzc2FnZSAoJzYnLCB1bmRlZmluZWQpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCiBQQVNT
OiBQb3N0aW5nIG1lc3NhZ2UgKCc2JywgdW5kZWZpbmVkKSBkaWQgbm90IHRocm93IGFuIGV4Y2Vw
dGlvbgogUEFTUzogUG9zdGluZyBtZXNzYWdlICgnNycsIFtvYmplY3QgTWVzc2FnZVBvcnRdLFtv
YmplY3QgTWVzc2FnZVBvcnRdKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgorUEFTUzogUG9z
dGluZyBtZXNzYWdlICgnNycsIFtvYmplY3QgTWVzc2FnZVBvcnRdLFtvYmplY3QgTWVzc2FnZVBv
cnRdKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgorUEFTUzogUG9zdGluZyBtZXNzYWdlICgn
MjE0NzQ4MzY0OCcsIG51bGwpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCiBQQVNTOiBQb3N0
aW5nIG1lc3NhZ2UgKCcyMTQ3NDgzNjQ4JywgbnVsbCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRp
b24KIFBBU1M6IFBvc3RpbmcgbWVzc2FnZSAoJ2RvbmUnLCAqKSBkaWQgbm90IHRocm93IGFuIGV4
Y2VwdGlvbgogUmVjZWl2ZWQgbWVzc2FnZSAnNCcgd2l0aCAwIHBvcnRzLgorUmVjZWl2ZWQgbWVz
c2FnZSAnNCcgd2l0aCAwIHBvcnRzLgorUmVjZWl2ZWQgbWVzc2FnZSAnNScgd2l0aCAwIHBvcnRz
LgogUmVjZWl2ZWQgbWVzc2FnZSAnNScgd2l0aCAwIHBvcnRzLgogUmVjZWl2ZWQgbWVzc2FnZSAn
Nicgd2l0aCAwIHBvcnRzLgorUmVjZWl2ZWQgbWVzc2FnZSAnNicgd2l0aCAwIHBvcnRzLgorUmVj
ZWl2ZWQgbWVzc2FnZSAnNycgd2l0aCAyIHBvcnRzLgogUmVjZWl2ZWQgbWVzc2FnZSAnNycgd2l0
aCAyIHBvcnRzLgogUmVjZWl2ZWQgbWVzc2FnZSAnMjE0NzQ4MzY0OCcgd2l0aCAwIHBvcnRzLgor
UmVjZWl2ZWQgbWVzc2FnZSAnMjE0NzQ4MzY0OCcgd2l0aCAwIHBvcnRzLgogUmVjZWl2ZWQgbWVz
c2FnZSAnZG9uZScgd2l0aCAwIHBvcnRzLgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjc4Njc5MC4uNTg5YWFk
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDExLTA5LTE1ICBEbWl0cnkgTG9tb3Yg
IDxkc2xvbW92QGdvb2dsZS5jb20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY2NzE0CisgICAgICAgIEFkZCB3ZWJraXRQb3N0TWVzc2FnZSB0byBh
bGxvdyBmb3IgYWRkaW5nIHRyYW5zZmVyYWJsZSBzdXBwb3J0LgorICAgICAgICBUaGlzIGFkZHMg
d2Via2l0UG9zdE1lc3NhZ2UsIGN1cnJlbnRseSBpZGVudGljYWwgdG8gcG9zdE1lc3NhZ2UsIHdo
aWNoIAorICAgICAgICB3b3VsZCBsYXRlciBiZSBhIHZlaGljbGUgZm9yIGFkZGluZyB0cmFuc2Zl
cmFibGUgc3VwcG9ydCBmb3IgbWVzc2FnaW5nLgorICAgICAgICAKKyAgICAgICAgQmFzZWQgb24g
cGF0Y2ggYnkgTHVrZSBaYXJrby4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkpTRE9NV2luZG93Ojp3ZWJraXRQb3N0TWVzc2FnZSk6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkpTRGVkaWNhdGVkV29ya2VyQ29udGV4dDo6d2Via2l0UG9zdE1lc3NhZ2UpOgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkpTTWVzc2FnZUV2ZW50Ojp3ZWJraXRJbml0TWVzc2FnZUV2ZW50KToKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTTWVzc2FnZVBvcnQ6OndlYmtpdFBvc3RNZXNzYWdlKToKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU1dvcmtlckN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1dvcmtlcjo6cG9z
dE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6SlNXb3JrZXI6OndlYmtpdFBvc3RNZXNzYWdl
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6aGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayk6CisgICAgICAgIChX
ZWJDb3JlOjpWOERPTVdpbmRvdzo6cG9zdE1lc3NhZ2VDYWxsYmFjayk6CisgICAgICAgIChXZWJD
b3JlOjpWOERPTVdpbmRvdzo6d2Via2l0UG9zdE1lc3NhZ2VDYWxsYmFjayk6CisgICAgICAgICog
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKToKKyAgICAgICAgKFdl
YkNvcmU6OlY4RGVkaWNhdGVkV29ya2VyQ29udGV4dDo6cG9zdE1lc3NhZ2VDYWxsYmFjayk6Cisg
ICAgICAgIChXZWJDb3JlOjpWOERlZGljYXRlZFdvcmtlckNvbnRleHQ6OndlYmtpdFBvc3RNZXNz
YWdlQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VFdmVu
dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOE1lc3NhZ2VFdmVudDo6aW5pdE1lc3Nh
Z2VFdmVudENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4TWVzc2FnZUV2ZW50Ojp3ZWJr
aXRJbml0TWVzc2FnZUV2ZW50Q2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOE1lc3NhZ2VQb3J0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmhhbmRsZVBvc3RN
ZXNzYWdlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhNZXNzYWdlUG9ydDo6cG9zdE1l
c3NhZ2VDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOE1lc3NhZ2VQb3J0Ojp3ZWJraXRQ
b3N0TWVzc2FnZUNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhXb3Jr
ZXJDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6aGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFj
ayk6CisgICAgICAgIChXZWJDb3JlOjpWOFdvcmtlcjo6cG9zdE1lc3NhZ2VDYWxsYmFjayk6Cisg
ICAgICAgIChXZWJDb3JlOjpWOFdvcmtlcjo6d2Via2l0UG9zdE1lc3NhZ2VDYWxsYmFjayk6Cisg
ICAgICAgICogZG9tL01lc3NhZ2VFdmVudC5pZGw6CisgICAgICAgICogZG9tL01lc3NhZ2VQb3J0
LmlkbDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisgICAgICAgICogd29ya2Vycy9E
ZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmlkbDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5pZGw6
CisKIDIwMTEtMDktMTUgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDA3MgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IGY2Yzg5
ZDkuLjg0MjYxMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V2luZG93Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd0N1c3RvbS5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA3
LCAyMDA4LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCkBAIC03MjQsNiArNzI1LDExIEBAIEpTVmFsdWUgSlNET01XaW5kb3c6OnBv
c3RNZXNzYWdlKEV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKIH0K
IAorSlNWYWx1ZSBKU0RPTVdpbmRvdzo6d2Via2l0UG9zdE1lc3NhZ2UoRXhlY1N0YXRlKiBleGVj
KQoreworICAgIHJldHVybiBwb3N0TWVzc2FnZShleGVjKTsKK30KKwogSlNWYWx1ZSBKU0RPTVdp
bmRvdzo6c2V0VGltZW91dChFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgQ29udGVudFNlY3VyaXR5
UG9saWN5KiBjb250ZW50U2VjdXJpdHlQb2xpY3kgPSBpbXBsKCktPmRvY3VtZW50KCkgPyBpbXBs
KCktPmRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpIDogMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3Rv
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlZGljYXRlZFdvcmtlckNvbnRl
eHRDdXN0b20uY3BwCmluZGV4IDIyMjIzNTMuLmFiMGM1ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3Vz
dG9tLmNwcApAQCAtMSw2ICsxLDYgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSwg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCkBAIC00Nyw2ICs0NywxMSBAQCBKU0M6OkpTVmFsdWUgSlNEZWRpY2F0ZWRXb3Jr
ZXJDb250ZXh0Ojpwb3N0TWVzc2FnZShKU0M6OkV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4g
aGFuZGxlUG9zdE1lc3NhZ2UoZXhlYywgaW1wbCgpKTsKIH0KIAorSlNDOjpKU1ZhbHVlIEpTRGVk
aWNhdGVkV29ya2VyQ29udGV4dDo6d2Via2l0UG9zdE1lc3NhZ2UoSlNDOjpFeGVjU3RhdGUqIGV4
ZWMpCit7CisgICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlKGV4ZWMsIGltcGwoKSk7Cit9CisK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXT1JLRVJTKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNzYWdlRXZlbnRDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNzYWdlRXZlbnRDdXN0b20uY3Bw
CmluZGV4IDhiZTgxYmUuLmU3NDhjZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAKQEAgLTExOSw0ICsxMTksOSBAQCBKU0M6
OkpTVmFsdWUgSlNNZXNzYWdlRXZlbnQ6OmluaXRNZXNzYWdlRXZlbnQoSlNDOjpFeGVjU3RhdGUq
IGV4ZWMpCiAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiB9CiAKK0pTQzo6SlNWYWx1ZSBKU01l
c3NhZ2VFdmVudDo6d2Via2l0SW5pdE1lc3NhZ2VFdmVudChKU0M6OkV4ZWNTdGF0ZSogZXhlYykK
K3sKKyAgICByZXR1cm4gaW5pdE1lc3NhZ2VFdmVudChleGVjKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNz
YWdlUG9ydEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lc3NhZ2VQ
b3J0Q3VzdG9tLmNwcAppbmRleCAwMTdiMjRiLi44YWRmNGE3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcApAQCAtMSw1ICsxLDYg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgUmlnaHRz
IFJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCBSaWdodHMg
UmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTYwLDYgKzYxLDEx
IEBAIEpTQzo6SlNWYWx1ZSBKU01lc3NhZ2VQb3J0Ojpwb3N0TWVzc2FnZShKU0M6OkV4ZWNTdGF0
ZSogZXhlYykKICAgICByZXR1cm4gaGFuZGxlUG9zdE1lc3NhZ2UoZXhlYywgaW1wbCgpKTsKIH0K
IAorSlNDOjpKU1ZhbHVlIEpTTWVzc2FnZVBvcnQ6OndlYmtpdFBvc3RNZXNzYWdlKEpTQzo6RXhl
Y1N0YXRlKiBleGVjKQoreworICAgIHJldHVybiBoYW5kbGVQb3N0TWVzc2FnZShleGVjLCBpbXBs
KCkpOworfQorCiB2b2lkIGZpbGxNZXNzYWdlUG9ydEFycmF5KEpTQzo6RXhlY1N0YXRlKiBleGVj
LCBKU0M6OkpTVmFsdWUgdmFsdWUsIE1lc3NhZ2VQb3J0QXJyYXkmIHBvcnRBcnJheSkKIHsKICAg
ICAvLyBDb252ZXJ0IGZyb20gdGhlIHBhc3NlZC1pbiBKUyBhcnJheS1saWtlIG9iamVjdCB0byBh
IE1lc3NhZ2VQb3J0QXJyYXkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1dvcmtlckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtl
ckN1c3RvbS5jcHAKaW5kZXggM2FmZGMwOS4uMGJhMzdlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTV29ya2VyQ3VzdG9tLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ0LDYgKzQ1LDExIEBAIEpTQzo6SlNW
YWx1ZSBKU1dvcmtlcjo6cG9zdE1lc3NhZ2UoSlNDOjpFeGVjU3RhdGUqIGV4ZWMpCiAgICAgcmV0
dXJuIGhhbmRsZVBvc3RNZXNzYWdlKGV4ZWMsIGltcGwoKSk7CiB9CiAKK0pTQzo6SlNWYWx1ZSBK
U1dvcmtlcjo6d2Via2l0UG9zdE1lc3NhZ2UoSlNDOjpFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAg
cmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlKGV4ZWMsIGltcGwoKSk7Cit9CisKIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgSlNXb3JrZXJDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0SlNXb3JrZXIo
RXhlY1N0YXRlKiBleGVjKQogewogICAgIEpTV29ya2VyQ29uc3RydWN0b3IqIGpzQ29uc3RydWN0
b3IgPSBzdGF0aWNfY2FzdDxKU1dvcmtlckNvbnN0cnVjdG9yKj4oZXhlYy0+Y2FsbGVlKCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRv
d0N1c3RvbS5jcHAKaW5kZXggMjM0MmZlNi4uY2MwNDA0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBA
IC0zMTMsOSArMzEzLDggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RE9NV2luZG93OjpyZW1v
dmVFdmVudExpc3RlbmVyQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW4KICAgICByZXR1cm4gdjg6
OlVuZGVmaW5lZCgpOwogfQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhET01XaW5kb3c6OnBv
c3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKK3N0YXRpYyB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gaGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayhjb25zdCB2ODo6QXJn
dW1lbnRzJiBhcmdzKQogewotICAgIElOQ19TVEFUUygiRE9NLkRPTVdpbmRvdy5wb3N0TWVzc2Fn
ZSgpIik7CiAgICAgRE9NV2luZG93KiB3aW5kb3cgPSBWOERPTVdpbmRvdzo6dG9OYXRpdmUoYXJn
cy5Ib2xkZXIoKSk7CiAKICAgICBET01XaW5kb3cqIHNvdXJjZSA9IFY4UHJveHk6OnJldHJpZXZl
RnJhbWVGb3JDYWxsaW5nQ29udGV4dCgpLT5kb21XaW5kb3coKTsKQEAgLTM1MCw2ICszNDksMTgg
QEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RE9NV2luZG93Ojpwb3N0TWVzc2FnZUNhbGxiYWNr
KGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MKICAgICByZXR1cm4gdGhyb3dFcnJvcihlYyk7CiB9
CiAKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERPTVdpbmRvdzo6cG9zdE1lc3NhZ2VDYWxsYmFj
ayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIElOQ19TVEFUUygiRE9NLkRPTVdp
bmRvdy5wb3N0TWVzc2FnZSgpIik7CisgICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJh
Y2soYXJncyk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERPTVdpbmRvdzo6d2Via2l0
UG9zdE1lc3NhZ2VDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIElO
Q19TVEFUUygiRE9NLkRPTVdpbmRvdy53ZWJraXRQb3N0TWVzc2FnZSgpIik7CisgICAgcmV0dXJu
IGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2soYXJncyk7Cit9CisKIC8vIEZJWE1FKGZxaWFuKTog
cmV0dXJuaW5nIHN0cmluZyBpcyBjaGVhdGluZywgYW5kIHdlIHNob3VsZAogLy8gZml4IHRoaXMg
YnkgY2FsbGluZyB0b1N0cmluZyBmdW5jdGlvbiBvbiB0aGUgcmVjZWl2ZXIuCiAvLyBIb3dldmVy
LCBWOCBpbXBsZW1lbnRzIHRvU3RyaW5nIGluIEphdmFTY3JpcHQsIHdoaWNoIHJlcXVpcmVzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZWRpY2F0ZWRX
b3JrZXJDb250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwCmluZGV4IDhmY2Y5YTguLmMzODU3
M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERlZGlj
YXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOERlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC00Miw5
ICs0Miw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IFY4RGVkaWNhdGVkV29ya2VyQ29udGV4dDo6cG9zdE1lc3NhZ2VDYWxsYmFjayhjb25zdCB2ODo6
QXJndW1lbnRzJiBhcmdzKQorc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBoYW5kbGVQb3N0
TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7Ci0gICAgSU5DX1NU
QVRTKEwiRE9NLkRlZGljYXRlZFdvcmtlckNvbnRleHQucG9zdE1lc3NhZ2UiKTsKICAgICBEZWRp
Y2F0ZWRXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0ID0gVjhEZWRpY2F0ZWRXb3JrZXJDb250
ZXh0Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBib29sIGRpZFRocm93ID0gZmFsc2U7
CiAgICAgUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gbWVzc2FnZSA9IFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZTo6Y3JlYXRlKGFyZ3NbMF0sIGRpZFRocm93KTsKQEAgLTYwLDYgKzU5LDE4IEBA
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERlZGljYXRlZFdvcmtlckNvbnRleHQ6OnBvc3RNZXNz
YWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyCiAgICAgcmV0dXJuIHRocm93RXJyb3IoZWMpOwogfQog
Cit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Ojpwb3N0TWVz
c2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRT
KEwiRE9NLkRlZGljYXRlZFdvcmtlckNvbnRleHQucG9zdE1lc3NhZ2UiKTsKKyAgICByZXR1cm4g
aGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayhhcmdzKTsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFs
dWU+IFY4RGVkaWNhdGVkV29ya2VyQ29udGV4dDo6d2Via2l0UG9zdE1lc3NhZ2VDYWxsYmFjayhj
b25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIElOQ19TVEFUUyhMIkRPTS5EZWRpY2F0
ZWRXb3JrZXJDb250ZXh0LnBvc3RNZXNzYWdlIik7CisgICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNz
YWdlQ2FsbGJhY2soYXJncyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIEVOQUJMRShXT1JLRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VFdmVudEN1c3RvbS5jcHAKaW5kZXggZDY0MDgzYy4uYjk5
NjcyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVz
c2FnZUV2ZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhNZXNzYWdlRXZlbnRDdXN0b20uY3BwCkBAIC0xMjUsNiArMTI1LDEzIEBAIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOE1lc3NhZ2VFdmVudDo6aW5pdE1lc3NhZ2VFdmVudENhbGxiYWNrKGNv
bnN0IHY4OjpBcmd1bWVuCiAgICAgdjg6OlByb3BlcnR5QXR0cmlidXRlIGRhdGFBdHRyID0gc3Rh
dGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6RG9udERlbGV0ZSB8IHY4OjpSZWFk
T25seSk7CiAgICAgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpkZXNlcmlhbGl6ZUFuZFNldFByb3Bl
cnR5KGFyZ3MuSG9sZGVyKCksICJkYXRhIiwgZGF0YUF0dHIsIGV2ZW50LT5kYXRhQXNTZXJpYWxp
emVkU2NyaXB0VmFsdWUoKSk7CiAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKLSAgfQorfQor
Cit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhNZXNzYWdlRXZlbnQ6OndlYmtpdEluaXRNZXNzYWdl
RXZlbnRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIElOQ19TVEFU
UygiRE9NLk1lc3NhZ2VFdmVudC53ZWJraXRJbml0TWVzc2FnZUV2ZW50Iik7CisgICAgcmV0dXJu
IGluaXRNZXNzYWdlRXZlbnRDYWxsYmFjayhhcmdzKTsKK30KKwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhN
ZXNzYWdlUG9ydEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhNZXNzYWdlUG9ydEN1c3RvbS5jcHAKaW5kZXggOTRlMTc0My4uNTU0M2ExYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZVBvcnRDdXN0b20u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VQb3J0
Q3VzdG9tLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQpAQCAtNDIsOSArNDIsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LXY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE1lc3NhZ2VQb3J0Ojpwb3N0TWVzc2FnZUNhbGxiYWNr
KGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCitzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsK
LSAgICBJTkNfU1RBVFMoIkRPTS5NZXNzYWdlUG9ydC5wb3N0TWVzc2FnZSIpOwogICAgIE1lc3Nh
Z2VQb3J0KiBtZXNzYWdlUG9ydCA9IFY4TWVzc2FnZVBvcnQ6OnRvTmF0aXZlKGFyZ3MuSG9sZGVy
KCkpOwogICAgIGJvb2wgZGlkVGhyb3cgPSBmYWxzZTsKICAgICBSZWZQdHI8U2VyaWFsaXplZFNj
cmlwdFZhbHVlPiBtZXNzYWdlID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoYXJnc1sw
XSwgZGlkVGhyb3cpOwpAQCAtNjAsNiArNTksMTggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4
TWVzc2FnZVBvcnQ6OnBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXIK
ICAgICByZXR1cm4gdGhyb3dFcnJvcihlYyk7CiB9CiAKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OE1lc3NhZ2VQb3J0Ojpwb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFy
Z3MpCit7CisgICAgSU5DX1NUQVRTKCJET00uTWVzc2FnZVBvcnQucG9zdE1lc3NhZ2UiKTsKKyAg
ICByZXR1cm4gaGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayhhcmdzKTsKK30KKwordjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4TWVzc2FnZVBvcnQ6OndlYmtpdFBvc3RNZXNzYWdlQ2FsbGJhY2soY29u
c3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5NZXNzYWdlUG9y
dC53ZWJraXRQb3N0TWVzc2FnZSIpOworICAgIHJldHVybiBoYW5kbGVQb3N0TWVzc2FnZUNhbGxi
YWNrKGFyZ3MpOworfQorCiBib29sIGdldE1lc3NhZ2VQb3J0QXJyYXkodjg6OkxvY2FsPHY4OjpW
YWx1ZT4gdmFsdWUsIE1lc3NhZ2VQb3J0QXJyYXkmIHBvcnRBcnJheSkKIHsKICAgICBpZiAoaXNV
bmRlZmluZWRPck51bGwodmFsdWUpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhXb3JrZXJDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4V29ya2VyQ3VzdG9tLmNwcAppbmRleCAzYTA0MDU3Li5hODQxMjBhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXb3JrZXJDdXN0
b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckN1
c3RvbS5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gVjhXb3JrZXI6OnBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6
OkFyZ3VtZW50cyYgYXJncykKK3N0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gaGFuZGxlUG9z
dE1lc3NhZ2VDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewogICAgIElOQ19T
VEFUUygiRE9NLldvcmtlci5wb3N0TWVzc2FnZSIpOwogICAgIFdvcmtlciogd29ya2VyID0gVjhX
b3JrZXI6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwpAQCAtNjUsNiArNjUsMTkgQEAgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4V29ya2VyOjpwb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVudHMmIGFyZ3MpCiAgICAgcmV0dXJuIHRocm93RXJyb3IoZWMpOwogfQogCit2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gVjhXb3JrZXI6OnBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFy
Z3VtZW50cyYgYXJncykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5Xb3JrZXIucG9zdE1lc3NhZ2Ui
KTsKKyAgICByZXR1cm4gaGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayhhcmdzKTsKK30KKwordjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4V29ya2VyOjp3ZWJraXRQb3N0TWVzc2FnZUNhbGxiYWNrKGNv
bnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJET00uV29ya2VyLndl
YmtpdFBvc3RNZXNzYWdlIik7CisgICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2so
YXJncyk7Cit9CisKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxF
KFdPUktFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuaWRsCmluZGV4IDk2OTRkZWUuLjZi
YjJiNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuaWRsCkBAIC0xLDUgKzEsNiBAQAog
LyoKICAqIENvcHlyaWdodCAoQykgMjAwNyBIZW5yeSBNYXNvbiA8aG1hc29uQG1hYy5jb20+Cisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDQsNiArNDUsMTUgQEAgbW9kdWxlIGV2
ZW50cyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9u
YWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBsYXN0RXZlbnRJZEFyZywgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9Q2FsbFdpdGhE
ZWZhdWx0VmFsdWVdIERPTVdpbmRvdyBzb3VyY2VBcmcsIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBBcnJh
eSBtZXNzYWdlUG9ydHMpOworCisgICAgICAgIFtDdXN0b21dIHZvaWQgd2Via2l0SW5pdE1lc3Nh
Z2VFdmVudChpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyB0eXBl
QXJnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09w
dGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBib29sZWFuIGNhbkJ1YmJsZUFyZywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1DYWxs
V2l0aERlZmF1bHRWYWx1ZV0gYm9vbGVhbiBjYW5jZWxhYmxlQXJnLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVs
dFZhbHVlXSBTZXJpYWxpemVkU2NyaXB0VmFsdWUgZGF0YUFyZywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRW
YWx1ZV0gRE9NU3RyaW5nIG9yaWdpbkFyZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3Ry
aW5nIGxhc3RFdmVudElkQXJnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01XaW5kb3cgc291
cmNlQXJnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
W09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBBcnJheSB0cmFuc2ZlcmFibGVzKTsKICNl
bHNlCiAgICAgICAgIC8vIENvZGUgZ2VuZXJhdG9yIGZvciBPYmpDIGJpbmRpbmdzIGRvZXMgbm90
IHN1cHBvcnQgY3VzdG9tIGJpbmRpbmdzLCB0aHVzIHRoZXJlIGlzIG5vIGdvb2Qgd2F5IHRvCiAg
ICAgICAgIC8vIHJldHVybiBhIHZhcmlhbnQgdmFsdWUuIEFzIHdvcmthcm91bmQsIGV4cG9zZSB0
aGUgZGF0YSBhdHRyaWJ1dGUgYXMgU2VyaWFsaXplZFNjcmlwdFZhbHVlLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9N
ZXNzYWdlUG9ydC5pZGwKaW5kZXggMjg4MzNjZS4uYjI2ZjMyMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVz
c2FnZVBvcnQuaWRsCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOCBB
cHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtMzgsNiArMzksOCBAQCBtb2R1bGUgZXZlbnRzIHsKICNpZiBkZWZpbmVkKExBTkdV
QUdFX0pBVkFTQ1JJUFQpICYmIExBTkdVQUdFX0pBVkFTQ1JJUFQKICAgICAgICAgW0N1c3RvbV0g
dm9pZCBwb3N0TWVzc2FnZShpbiBET01TdHJpbmcgbWVzc2FnZSwgaW4gW09wdGlvbmFsXSBBcnJh
eSBtZXNzYWdlUG9ydHMpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAg
ICAgW0N1c3RvbV0gdm9pZCB3ZWJraXRQb3N0TWVzc2FnZShpbiBET01TdHJpbmcgbWVzc2FnZSwg
aW4gW09wdGlvbmFsXSBBcnJheSB0cmFuc2ZlcikKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNl
cHRpb24pOwogICAgICAgICB2b2lkIHN0YXJ0KCk7CiAgICAgICAgIHZvaWQgY2xvc2UoKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDVmYzNkNzYuLmU5MDNjMDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChD
KSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMTUsNiArMjE2LDggQEAgbW9kdWxl
IHdpbmRvdyB7CiAjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9K
QVZBU0NSSVBUCiAgICAgICAgIFtEb05vdENoZWNrRG9tYWluU2VjdXJpdHksIEN1c3RvbV0gdm9p
ZCBwb3N0TWVzc2FnZShpbiBTZXJpYWxpemVkU2NyaXB0VmFsdWUgbWVzc2FnZSwgaW4gW09wdGlv
bmFsXSBBcnJheSBtZXNzYWdlUG9ydHMsIGluIERPTVN0cmluZyB0YXJnZXRPcmlnaW4pCiAgICAg
ICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgW0RvTm90Q2hlY2tEb21haW5T
ZWN1cml0eSwgQ3VzdG9tXSB2b2lkIHdlYmtpdFBvc3RNZXNzYWdlKGluIFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZSBtZXNzYWdlLCBpbiBbT3B0aW9uYWxdIEFycmF5IHRyYW5zZmVyTGlzdCwgaW4gRE9N
U3RyaW5nIHRhcmdldE9yaWdpbikKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwog
I2Vsc2UKICAgICAgICAgLy8gVGhlcmUncyBubyBnb29kIHdheSB0byBleHBvc2UgYW4gYXJyYXkg
dmlhIHRoZSBPYmpDIGJpbmRpbmdzLCBzbyBmb3Igbm93IGp1c3QgYWxsb3cgcGFzc2luZyBpbiBh
IHNpbmdsZSBwb3J0LgogICAgICAgICBbRG9Ob3RDaGVja0RvbWFpblNlY3VyaXR5LCBDdXN0b21d
IHZvaWQgcG9zdE1lc3NhZ2UoaW4gU2VyaWFsaXplZFNjcmlwdFZhbHVlIG1lc3NhZ2UsIGluIFtP
cHRpb25hbF0gTWVzc2FnZVBvcnQgbWVzc2FnZVBvcnQsIGluIERPTVN0cmluZyB0YXJnZXRPcmln
aW4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckNv
bnRleHQuaWRsIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJDb250ZXh0
LmlkbAppbmRleCAyMmQzNTI1Li45ZWJiMGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL0RlZGljYXRlZFdvcmtlckNvbnRleHQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvRGVkaWNhdGVkV29ya2VyQ29udGV4dC5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDksIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTQzLDYgKzQzLDggQEAgbW9k
dWxlIHRocmVhZHMgewogI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgJiYgTEFOR1VB
R0VfSkFWQVNDUklQVAogICAgICAgICBbQ3VzdG9tXSB2b2lkIHBvc3RNZXNzYWdlKGluIGFueSBt
ZXNzYWdlLCBpbiBbT3B0aW9uYWxdIEFycmF5IG1lc3NhZ2VQb3J0cykKICAgICAgICAgICAgIHJh
aXNlcyhET01FeGNlcHRpb24pOworICAgICAgICBbQ3VzdG9tXSB2b2lkIHdlYmtpdFBvc3RNZXNz
YWdlKGluIGFueSBtZXNzYWdlLCBpbiBbT3B0aW9uYWxdIEFycmF5IHRyYW5zZmVyTGlzdCkKKyAg
ICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogI2Vsc2UKICAgICAgICAgLy8gVGhlcmUn
cyBubyBnb29kIHdheSB0byBleHBvc2UgYW4gYXJyYXkgdmlhIHRoZSBPYmpDIGJpbmRpbmdzLCBz
byBmb3Igbm93IGp1c3QgYWxsb3cgcGFzc2luZyBpbiBhIHNpbmdsZSBwb3J0LgogICAgICAgICB2
b2lkIHBvc3RNZXNzYWdlKGluIERPTVN0cmluZyBtZXNzYWdlLCBpbiBbT3B0aW9uYWxdIE1lc3Nh
Z2VQb3J0IG1lc3NhZ2VQb3J0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCmluZGV4IGY4NzFk
ZjkuLjFmYWFjN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwKQEAgLTEsNSArMSw2IEBA
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDEwIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBS
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00NSw2ICs0Niw4IEBA
IG1vZHVsZSB0aHJlYWRzIHsKICNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpICYmIExB
TkdVQUdFX0pBVkFTQ1JJUFQKICAgICAgICAgW0N1c3RvbV0gdm9pZCBwb3N0TWVzc2FnZShpbiBT
ZXJpYWxpc2VkU2NyaXB0VmFsdWUgbWVzc2FnZSwgaW4gW09wdGlvbmFsXSBBcnJheSBtZXNzYWdl
UG9ydHMpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgW0N1c3Rv
bV0gdm9pZCB3ZWJraXRQb3N0TWVzc2FnZShpbiBTZXJpYWxpc2VkU2NyaXB0VmFsdWUgbWVzc2Fn
ZSwgaW4gW09wdGlvbmFsXSBBcnJheSBtZXNzYWdlUG9ydHMpCisgICAgICAgICAgICByYWlzZXMo
RE9NRXhjZXB0aW9uKTsKICNlbHNlCiAgICAgICAgIC8vIFRoZXJlJ3Mgbm8gZ29vZCB3YXkgdG8g
ZXhwb3NlIGFuIGFycmF5IHZpYSB0aGUgT2JqQyBiaW5kaW5ncywgc28gZm9yIG5vdyBqdXN0IGFs
bG93IHBhc3NpbmcgaW4gYSBzaW5nbGUgcG9ydC4KICAgICAgICAgdm9pZCBwb3N0TWVzc2FnZShp
biBTZXJpYWxpemVkU2NyaXB0VmFsdWUgbWVzc2FnZSwgaW4gW09wdGlvbmFsXSBNZXNzYWdlUG9y
dCBtZXNzYWdlUG9ydCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107566</attachid>
            <date>2011-09-15 16:56:47 -0700</date>
            <delta_ts>2011-09-16 10:03:52 -0700</delta_ts>
            <desc>Minor fixes</desc>
            <filename>66714.patch</filename>
            <type>text/plain</type>
            <size>35574</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0ODMxYmEzLi5kNTU0ZmYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDkt
MTUgIERtaXRyeSBMb21vdiAgPGRzbG9tb3ZAZ29vZ2xlLmNvbT4KKworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MTQKKyAgICAgICAgQWRkIHdlYmtp
dFBvc3RNZXNzYWdlIHRvIGFsbG93IGZvciBhZGRpbmcgdHJhbnNmZXJhYmxlIHN1cHBvcnQuCisg
ICAgICAgIFRoaXMgYWRkcyB3ZWJraXRQb3N0TWVzc2FnZSwgY3VycmVudGx5IGlkZW50aWNhbCB0
byBwb3N0TWVzc2FnZSwgd2hpY2ggCisgICAgICAgIHdvdWxkIGxhdGVyIGJlIGEgdmVoaWNsZSBm
b3IgYWRkaW5nIHRyYW5zZmVyYWJsZSBzdXBwb3J0IGZvciBtZXNzYWdpbmcuCisgICAgICAgIFRo
ZSB0ZXN0cyBlbnN1cmUgdGhhdCB3ZWJraXRQb3N0TWVzc2FnZSBhbmQgcG9zdE1lc3NhZ2UgYmVo
YXZlIGlkZW50aWNhbGx5LgorCisgICAgICAgIEJhc2VkIG9uIHBhdGNoIGJ5IEx1a2UgWmFya28u
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0
L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWFyZ3MtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtYXJncy5odG1sOgorICAgICAg
ICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0Lmh0bWw6CisgICAgICAgICogZmFzdC93
b3JrZXJzL3Jlc291cmNlcy93b3JrZXItY2FsbC5qczoKKyAgICAgICAgKiBmYXN0L3dvcmtlcnMv
d29ya2VyLWNhbGwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtYXJncy1leHBlY3RlZC50eHQ6CisKIDIw
MTEtMDktMTUgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDA3MgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1hcmdzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtYXJn
cy1leHBlY3RlZC50eHQKaW5kZXggODk5NjhjMS4uZjY0ZGQxNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1hcmdzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWFy
Z3MtZXhwZWN0ZWQudHh0CkBAIC0xLDE4ICsxLDMxIEBACiBUZXN0IHRoYXQgdGhlIHNlY29uZCBh
cmd1bWVudCBvZiB3aW5kb3cucG9zdE1lc3NhZ2UgaXMgaWdub3JlZCBvciB0cmlnZ2VycyBhbiBl
cnJvciBpZiBpdCBpcyBub3QgYSBtZXNzYWdlIHBvcnQuIFlvdSBzaG91bGQgc2VlIFBBU1MgbWVz
c2FnZSAnMScgdGhyb3VnaCAnNycsIGZvbGxvd2VkIGJ5ICdkb25lJywgd2l0aCBtZXNzYWdlcyA0
LTcgcmVjZWl2ZWQgYmVsb3cuCiAKIFBBU1M6IFBvc3RpbmcgbWVzc2FnZSAoJzEnLCAxKTogdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvcgorUEFTUzogUG9zdGluZyBtZXNzYWdl
ICgnMScsIDEpOiB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yCitQQVNTOiBQ
b3N0aW5nIG1lc3NhZ2UgKCcyJywgKTogdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBl
cnJvcgogUEFTUzogUG9zdGluZyBtZXNzYWdlICgnMicsICk6IHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IFR5cGUgZXJyb3IKIFBBU1M6IFBvc3RpbmcgbWVzc2FnZSAoJzMnLCBbb2JqZWN0IE9i
amVjdF0pOiB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yCitQQVNTOiBQb3N0
aW5nIG1lc3NhZ2UgKCczJywgW29iamVjdCBPYmplY3RdKTogdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogVHlwZSBlcnJvcgorUEFTUzogUG9zdGluZyBtZXNzYWdlICgnNCcsIFtvYmplY3QgRE9N
V2luZG93XSkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KIFBBU1M6IFBvc3RpbmcgbWVzc2Fn
ZSAoJzQnLCBbb2JqZWN0IERPTVdpbmRvd10pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCiBQ
QVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCc1JywgbnVsbCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRp
b24KK1BBU1M6IFBvc3RpbmcgbWVzc2FnZSAoJzUnLCBudWxsKSBkaWQgbm90IHRocm93IGFuIGV4
Y2VwdGlvbgorUEFTUzogUG9zdGluZyBtZXNzYWdlICgnNicsIHVuZGVmaW5lZCkgZGlkIG5vdCB0
aHJvdyBhbiBleGNlcHRpb24KIFBBU1M6IFBvc3RpbmcgbWVzc2FnZSAoJzYnLCB1bmRlZmluZWQp
IGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCiBQQVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCc3Jywg
W29iamVjdCBNZXNzYWdlUG9ydF0sW29iamVjdCBNZXNzYWdlUG9ydF0pIGRpZCBub3QgdGhyb3cg
YW4gZXhjZXB0aW9uCitQQVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCc3JywgW29iamVjdCBNZXNzYWdl
UG9ydF0sW29iamVjdCBNZXNzYWdlUG9ydF0pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQ
QVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCcyMTQ3NDgzNjQ4JywgbnVsbCkgZGlkIG5vdCB0aHJvdyBh
biBleGNlcHRpb24KIFBBU1M6IFBvc3RpbmcgbWVzc2FnZSAoJzIxNDc0ODM2NDgnLCBudWxsKSBk
aWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgogUEFTUzogUG9zdGluZyBtZXNzYWdlICgnZG9uZScs
ICopIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCiBSZWNlaXZlZCBtZXNzYWdlICc0JyB3aXRo
IDAgcG9ydHMuCitSZWNlaXZlZCBtZXNzYWdlICc0JyB3aXRoIDAgcG9ydHMuCitSZWNlaXZlZCBt
ZXNzYWdlICc1JyB3aXRoIDAgcG9ydHMuCiBSZWNlaXZlZCBtZXNzYWdlICc1JyB3aXRoIDAgcG9y
dHMuCiBSZWNlaXZlZCBtZXNzYWdlICc2JyB3aXRoIDAgcG9ydHMuCitSZWNlaXZlZCBtZXNzYWdl
ICc2JyB3aXRoIDAgcG9ydHMuCitSZWNlaXZlZCBtZXNzYWdlICc3JyB3aXRoIDIgcG9ydHMuCiBS
ZWNlaXZlZCBtZXNzYWdlICc3JyB3aXRoIDIgcG9ydHMuCiBSZWNlaXZlZCBtZXNzYWdlICcyMTQ3
NDgzNjQ4JyB3aXRoIDAgcG9ydHMuCitSZWNlaXZlZCBtZXNzYWdlICcyMTQ3NDgzNjQ4JyB3aXRo
IDAgcG9ydHMuCiBSZWNlaXZlZCBtZXNzYWdlICdkb25lJyB3aXRoIDAgcG9ydHMuCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtYXJn
cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1h
cmdzLmh0bWwKaW5kZXggNzJhMjdlNy4uY2JkMjQzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1hcmdzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1hcmdzLmh0bWwKQEAgLTIz
LDMwICsyMywzNyBAQCBmdW5jdGlvbiBvbm1lc3NhZ2UoZXZ0KSB7CiAKIHdpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCdtZXNzYWdlJywgb25tZXNzYWdlLCBmYWxzZSk7CiAKLWZ1bmN0aW9uIHRyeVBv
c3RNZXNzYWdlKGZpcnN0LCBzZWNvbmQsIHRoaXJkLCBzaG91bGRGYWlsKSB7Ci0gICAgdHJ5IHsK
K2Z1bmN0aW9uIHRyeVBvc3RNZXNzYWdlRnVuY3Rpb24ocG9zdE1lc3NhZ2VGdW5jdGlvbiwgZmly
c3QsIHNlY29uZCwgdGhpcmQsIHNob3VsZEZhaWwpIHsKKyAgIHRyeSB7CiAgICAgICAgIGlmICgh
dGhpcmQpCi0gICAgICAgICAgICB3aW5kb3cucG9zdE1lc3NhZ2UoZmlyc3QsIHNlY29uZCk7Cisg
ICAgICAgICAgICBwb3N0TWVzc2FnZUZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpOwogICAgICAgICBl
bHNlCi0gICAgICAgICAgICB3aW5kb3cucG9zdE1lc3NhZ2UoZmlyc3QsIHNlY29uZCwgdGhpcmQp
OworICAgICAgICAgICAgcG9zdE1lc3NhZ2VGdW5jdGlvbihmaXJzdCwgc2Vjb25kLCB0aGlyZCk7
CiAgICAgICAgIGNvbnNvbGUuaW5uZXJIVE1MICs9IChzaG91bGRGYWlsID8gIkZBSUwiIDogIlBB
U1MiKSArICI6IFBvc3RpbmcgbWVzc2FnZSAoJyIgKyBmaXJzdCArICInLCAiICsgc2Vjb25kICsg
IikgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb248YnI+IjsKICAgIH0gY2F0Y2ggKGUpIHsKICAg
ICAgICAgY29uc29sZS5pbm5lckhUTUwgKz0gKHNob3VsZEZhaWwgPyAiUEFTUyIgOiAiRkFJTCIp
ICsgIjogUG9zdGluZyBtZXNzYWdlICgnIiArIGZpcnN0ICsgIicsICIgKyBzZWNvbmQgKyAiKTog
dGhyZXcgZXhjZXB0aW9uICIgKyBlICsgIjxicj4iOwogICAgfQogfQogCitmdW5jdGlvbiB0cnlQ
b3N0TWVzc2FnZShmaXJzdCwgc2Vjb25kLCB0aGlyZCwgc2hvdWxkRmFpbCkgeworICAgIHRyeVBv
c3RNZXNzYWdlRnVuY3Rpb24od2luZG93LnBvc3RNZXNzYWdlLCBmaXJzdCwgc2Vjb25kLCB0aGly
ZCwgc2hvdWxkRmFpbCk7CisgICAgdHJ5UG9zdE1lc3NhZ2VGdW5jdGlvbih3aW5kb3cud2Via2l0
UG9zdE1lc3NhZ2UsIGZpcnN0LCBzZWNvbmQsIHRoaXJkLCBzaG91bGRGYWlsKTsKK30KKwogZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uIikuaW5uZXJIVE1MID0gIlRlc3QgdGhh
dCB0aGUgc2Vjb25kIGFyZ3VtZW50IG9mIHdpbmRvdy5wb3N0TWVzc2FnZSBpcyBpZ25vcmVkIG9y
IHRyaWdnZXJzIGFuIGVycm9yIGlmIGl0IGlzIG5vdCBhIG1lc3NhZ2UgcG9ydC4gWW91IHNob3Vs
ZCBzZWUgUEFTUyBtZXNzYWdlICcxJyB0aHJvdWdoICc3JywgZm9sbG93ZWQgYnkgJ2RvbmUnLCB3
aXRoIG1lc3NhZ2VzIDQtNyByZWNlaXZlZCBiZWxvdy48YnI+PGJyPiI7CiAKLXZhciBjaGFubmVs
ID0gbmV3IE1lc3NhZ2VDaGFubmVsOwogdHJ5UG9zdE1lc3NhZ2UoJzEnLCAxLCAnKicsIHRydWUp
OwogdHJ5UG9zdE1lc3NhZ2UoJzInLCAiIiwgJyonLCB0cnVlKTsKIHRyeVBvc3RNZXNzYWdlKCcz
JywgeyB4OiAxIH0sICcqJywgdHJ1ZSk7CiB0cnlQb3N0TWVzc2FnZSgnNCcsIHdpbmRvdywgJyon
KTsgIC8vIFBhc3NlcyBiZWNhdXNlIHdpbmRvdyBoYXMgYSAibGVuZ3RoIiBhdHRyaWJ1dGUgb2Yg
dmFsdWUgJzAnLCBzbyBpdCBsb29rcyBsaWtlIGFuIGFycmF5CiB0cnlQb3N0TWVzc2FnZSgnNScs
IG51bGwsICcqJyk7CiB0cnlQb3N0TWVzc2FnZSgnNicsIHZvaWQgMCwgJyonKTsKLXRyeVBvc3RN
ZXNzYWdlKCc3JywgW2NoYW5uZWwucG9ydDEsIGNoYW5uZWwucG9ydDJdLCAnKicpOwordmFyIGNo
YW5uZWwxID0gbmV3IE1lc3NhZ2VDaGFubmVsOwordHJ5UG9zdE1lc3NhZ2VGdW5jdGlvbih3aW5k
b3cucG9zdE1lc3NhZ2UsICc3JywgW2NoYW5uZWwxLnBvcnQxLCBjaGFubmVsMS5wb3J0Ml0sICcq
Jyk7Cit2YXIgY2hhbm5lbDIgPSBuZXcgTWVzc2FnZUNoYW5uZWw7Cit0cnlQb3N0TWVzc2FnZUZ1
bmN0aW9uKHdpbmRvdy53ZWJraXRQb3N0TWVzc2FnZSwgJzcnLCBbY2hhbm5lbDIucG9ydDEsIGNo
YW5uZWwyLnBvcnQyXSwgJyonKTsKIHRyeVBvc3RNZXNzYWdlKDIxNDc0ODM2NDgsIG51bGwsICcq
Jyk7Ci10cnlQb3N0TWVzc2FnZSgnZG9uZScsICcqJyk7Cit0cnlQb3N0TWVzc2FnZUZ1bmN0aW9u
KHdpbmRvdy5wb3N0TWVzc2FnZSwgJ2RvbmUnLCAnKicpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBy
b3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dp
bmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CmluZGV4IDZiNDc3
ZTEuLmU3MTk2MGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CkBA
IC01NDMsNiArNTQzLDcgQEAgUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdp
bmRvdywgJ3RvU3RyaW5nJykgaXMgdW5kZWZpbmVkLgogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKHdpbmRvdywgJ3ZhbHVlT2YnKSBpcyB1bmRlZmluZWQuCiBQQVNTIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnd2Via2l0Q29udmVydFBvaW50RnJv
bU5vZGVUb1BhZ2UnKSBpcyB1bmRlZmluZWQuCiBQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3Iod2luZG93LCAnd2Via2l0Q29udmVydFBvaW50RnJvbVBhZ2VUb05vZGUnKSBpcyB1
bmRlZmluZWQuCitQQVNTIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAn
d2Via2l0UG9zdE1lc3NhZ2UnKSBpcyB1bmRlZmluZWQuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL21lc3NhZ2UtcG9ydC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9tZXNzYWdlLXBvcnQtZXhwZWN0ZWQudHh0CmluZGV4IDFjOTFkNWMuLjk1NWFkMzcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LWV4cGVjdGVkLnR4dApA
QCAtMyw5ICszLDE0IEBAIFRlc3QgY3Jvc3MtZnJhbWUgTWVzc2FnZVBvcnQgY29tbXVuaWNhdGlv
bi4KIFNob3VsZCBiZSBhIHNlcmllcyBvZiBTVUNDRVNTIG1lc3NhZ2VzLCBmb2xsb3dlZCB3aXRo
IERPTkUuCiAKIFNpbXBsZSBleGNoYW5nZTogU1VDQ0VTUworU2ltcGxlIGV4Y2hhbmdlOiBTVUND
RVNTCitQb3N0ZWQgcG9ydDogU1VDQ0VTUwogUG9zdGVkIHBvcnQ6IFNVQ0NFU1MKIEV2ZW50IExp
c3RlbmVyOiBTVUNDRVNTCitFdmVudCBMaXN0ZW5lcjogU1VDQ0VTUwogQ2xvc2VkIHBvcnQ6IFNV
Q0NFU1MKK0Nsb3NlZCBwb3J0OiBTVUNDRVNTCitNZXNzYWdlRXZlbnQuY2FuY2VsYWJsZSBkZWZh
dWx0cyB0byBmYWxzZTogUEFTUwogTWVzc2FnZUV2ZW50LmNhbmNlbGFibGUgZGVmYXVsdHMgdG8g
ZmFsc2U6IFBBU1MKIERPTkUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
bWVzc2FnZS1wb3J0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQu
aHRtbAppbmRleCBlYjgwMTgzLi5iNTkwZTQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9tZXNzYWdlLXBvcnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9t
ZXNzYWdlLXBvcnQuaHRtbApAQCAtMTUsNDMgKzE1LDYzIEBAIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpIHsKIAogdmFyIG1haW5Qb3J0OwogCi1mdW5jdGlvbiB0ZXN0KCkKK3ZhciBh
bGxUZXN0czsKK3ZhciBjdXJyZW50VGVzdCA9IDA7CisKK2Z1bmN0aW9uIG5leHRUZXN0KCkgCit7
CisgICAgdmFyIGZ1biA9IGN1cnJlbnRUZXN0ICUgMiA9PSAwID8gInBvc3RNZXNzYWdlIiA6ICJ3
ZWJraXRQb3N0TWVzc2FnZSI7CisgICAgdmFyIHRlc3RGdW5ObyA9IE1hdGguZmxvb3IoY3VycmVu
dFRlc3QgLyAyKTsKKyAgICBpZiAodGVzdEZ1bk5vIDwgYWxsVGVzdHMubGVuZ3RoKQorICAgIHsK
KyAgICAgICAgdmFyIHRlc3QgPSBhbGxUZXN0c1t0ZXN0RnVuTm9dOworICAgICAgICBjdXJyZW50
VGVzdCsrOworICAgICAgICB0ZXN0KGZ1bik7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAg
ICAgIGRvbmUoKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3QocG9zdE1lc3NhZ2VGdW4pCiB7
CiAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWw7Ci0gICAgd2luZG93LmZyYW1l
c1swXS5wb3N0TWVzc2FnZSgibXNnIiwgW2NoYW5uZWwucG9ydDJdLCAiKiIpOworCisgICAgd2lu
ZG93LmZyYW1lc1swXVtwb3N0TWVzc2FnZUZ1bl0oIm1zZyIsIFtjaGFubmVsLnBvcnQyXSwgIioi
KTsKICAgICBtYWluUG9ydCA9IGNoYW5uZWwucG9ydDE7Ci0gICAgbWFpblBvcnQucG9zdE1lc3Nh
Z2UoInBpbmciKTsKKyAgICBtYWluUG9ydFtwb3N0TWVzc2FnZUZ1bl0oInBpbmciKTsKICAgICBt
YWluUG9ydC5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldnQpIHsKICAgICAgICAgaWYgKGV2dC5kYXRh
ID09ICJwb25nIiAmJiBldnQub3JpZ2luID09ICIiKQogICAgICAgICAgICAgbG9nKCJTaW1wbGUg
ZXhjaGFuZ2U6IFNVQ0NFU1MiKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbG9nKCJTaW1w
bGUgZXhjaGFuZ2U6IEZBSUwuIEdvdCBtZXNzYWdlICciICsgZXZ0LmRhdGEgKyAiJyBmcm9tICci
ICsgZXZ0Lm9yaWdpbiArICInLiIpOwotICAgICAgICB0ZXN0MigpOworICAgICAgICBuZXh0VGVz
dCgpOwogICAgIH07CiB9CiAKLWZ1bmN0aW9uIHRlc3QyKCkKK2Z1bmN0aW9uIHRlc3QyKHBvc3RN
ZXNzYWdlRnVuKQogewogICAgIHZhciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsOwotICAg
IG1haW5Qb3J0LnBvc3RNZXNzYWdlKCJuZXdQb3J0IiwgW2NoYW5uZWwucG9ydDJdKTsKKyAgICBt
YWluUG9ydFtwb3N0TWVzc2FnZUZ1bl0oIm5ld1BvcnQiLCBbY2hhbm5lbC5wb3J0Ml0pOwogICAg
IGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gZnVuY3Rpb24oZXZ0KSB7CiAgICAgICAgIGlmIChl
dnQuZGF0YSA9PSAieW8iICYmIGV2dC5vcmlnaW4gPT0gIiIpCiAgICAgICAgICAgICBsb2coIlBv
c3RlZCBwb3J0OiBTVUNDRVNTIik7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGxvZygiUG9z
dGVkIHBvcnQ6IEZBSUwuIEdvdCBtZXNzYWdlICciICsgZXZ0LmRhdGEgKyAiJyBmcm9tICciICsg
ZXZ0Lm9yaWdpbiArICInLiIpOwotICAgICAgICB0ZXN0MygpOworICAgICAgICBuZXh0VGVzdCgp
OwogICAgIH07CiB9CiAKLWZ1bmN0aW9uIHRlc3QzKCkKK2Z1bmN0aW9uIHRlc3QzKHBvc3RNZXNz
YWdlRnVuKQogewogICAgIHZhciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsOwotICAgIGNo
YW5uZWwucG9ydDEucG9zdE1lc3NhZ2UoIjEiKTsKKyAgICBjaGFubmVsLnBvcnQxW3Bvc3RNZXNz
YWdlRnVuXSgiMSIpOwogICAgIHZhciBzdGFydGVkID0gZmFsc2U7CiAgICAgY2hhbm5lbC5wb3J0
Mi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24oZXZ0KSB7CiAgICAgICAgIGlm
IChzdGFydGVkKSB7CiAgICAgICAgICAgICBsb2coIkV2ZW50IExpc3RlbmVyOiBTVUNDRVNTIik7
Ci0gICAgICAgICAgICB0ZXN0NCgpOworICAgICAgICAgICAgbmV4dFRlc3QoKTsKICAgICAgICAg
fSBlbHNlCiAgICAgICAgICAgICBsb2coIkV2ZW50IExpc3RlbmVyOiBGQUlMLiBFdmVudCBsaXN0
ZW5lciBjYWxsZWQgYmVmb3JlIHN0YXJ0KCkiKTsKICAgIH0pOwpAQCAtNjIsMzYgKzgyLDM2IEBA
IGZ1bmN0aW9uIHRlc3QzKCkKIAogfQogCi1mdW5jdGlvbiB0ZXN0NCgpCitmdW5jdGlvbiB0ZXN0
NChwb3N0TWVzc2FnZUZ1bikKIHsKICAgICB2YXIgY2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5l
bDsKLSAgICBjaGFubmVsLnBvcnQxLnBvc3RNZXNzYWdlKCIxIik7CisgICAgY2hhbm5lbC5wb3J0
MVtwb3N0TWVzc2FnZUZ1bl0oIjEiKTsKICAgICBjaGFubmVsLnBvcnQxLmNsb3NlKCk7Ci0gICAg
Y2hhbm5lbC5wb3J0MS5wb3N0TWVzc2FnZSgiMiIpOworICAgIGNoYW5uZWwucG9ydDFbcG9zdE1l
c3NhZ2VGdW5dKCIyIik7CiAgICAgY2hhbm5lbC5wb3J0Mi5vbm1lc3NhZ2UgPSBmdW5jdGlvbihl
dnQpIHsKICAgICAgICAgaWYgKGV2dC5kYXRhID09ICIxIikgewogICAgICAgICAgICAgbG9nKCJD
bG9zZWQgcG9ydDogU1VDQ0VTUyIpOwotICAgICAgICAgICAgdGVzdDUoKTsKKyAgICAgICAgICAg
IG5leHRUZXN0KCk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgbG9nKCJDbG9zZWQgcG9y
dDogRkFJTC4gR290IG1lc3NhZ2U6ICIgKyBldnQuZGF0YSArICIgYWZ0ZXIgY2xvc2UiKTsKICAg
IH0KIH0KIAotZnVuY3Rpb24gdGVzdDUoKQorZnVuY3Rpb24gdGVzdDUocG9zdE1lc3NhZ2VGdW4p
CiB7CiAgICAgLy8gQ3JlYXRlIGEgY2hhbm5lbCBhbmQgcHV0IHNvbWUgbWVzc2FnZXMgaW4gaXQg
d2hpY2ggd2lsbCBnbyB1bmRlbGl2ZXJlZCBhbmQgc2hvdWxkIG5vdCBsZWFrCiAgICAgdmFyIGNo
YW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWw7Ci0gICAgY2hhbm5lbC5wb3J0MS5wb3N0TWVzc2Fn
ZSgiYWJjZGUiKTsKLSAgICB0ZXN0NigpOworICAgIGNoYW5uZWwucG9ydDFbcG9zdE1lc3NhZ2VG
dW5dKCJhYmNkZSIpOworICAgIG5leHRUZXN0KCk7CiB9CiAKLWZ1bmN0aW9uIHRlc3Q2KCkKK2Z1
bmN0aW9uIHRlc3Q2KHBvc3RNZXNzYWdlRnVuKQogewogICAgIHZhciBjaGFubmVsID0gbmV3IE1l
c3NhZ2VDaGFubmVsOwotICAgIGNoYW5uZWwucG9ydDEucG9zdE1lc3NhZ2UoImhvd2R5Iik7Cisg
ICAgY2hhbm5lbC5wb3J0MVtwb3N0TWVzc2FnZUZ1bl0oImhvd2R5Iik7CiAgICAgY2hhbm5lbC5w
b3J0Mi5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkgewogICAgICAgICBsb2coIk1lc3NhZ2VF
dmVudC5jYW5jZWxhYmxlIGRlZmF1bHRzIHRvICIgKyBldmVudC5jYW5jZWxhYmxlICsgIjogIiAr
IChldmVudC5jYW5jZWxhYmxlID8gIkZBSUwiIDogIlBBU1MiKSk7Ci0gICAgICAgIGRvbmUoKTsK
KyAgICAgICAgbmV4dFRlc3QoKTsKICAgICB9CiB9CiAKQEAgLTEwNCw2ICsxMjQsOCBAQCBmdW5j
dGlvbiBkb25lKCkgewogICAgIH0sIDEwMCk7CiB9CiAKK2FsbFRlc3RzID0gWyB0ZXN0LCB0ZXN0
MiwgdGVzdDMsIHRlc3Q0LCB0ZXN0NSwgdGVzdDYgXQorCiA8L3NjcmlwdD4KLTxpZnJhbWUgc3Jj
PSJyZXNvdXJjZXMvbWVzc2FnZS1wb3J0LWlmcmFtZS5odG1sIiBvbmxvYWQ9InRlc3QoKSI+PC9p
ZnJhbWU+Cis8aWZyYW1lIHNyYz0icmVzb3VyY2VzL21lc3NhZ2UtcG9ydC1pZnJhbWUuaHRtbCIg
b25sb2FkPSJuZXh0VGVzdCgpIj48L2lmcmFtZT4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3Qvd29ya2Vycy9yZXNvdXJjZXMvd29ya2VyLWNhbGwuanMgYi9MYXlvdXRUZXN0
cy9mYXN0L3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtlci1jYWxsLmpzCmluZGV4IDJmMWFlMmYuLjk3
ODA1NmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9yZXNvdXJjZXMvd29y
a2VyLWNhbGwuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3Jlc291cmNlcy93b3Jr
ZXItY2FsbC5qcwpAQCAtMSw1ICsxLDkgQEAKIHBvc3RNZXNzYWdlKCJTVUNDRVNTOiBwb3N0TWVz
c2FnZSgpIGNhbGxlZCBkaXJlY3RseSIpOword2Via2l0UG9zdE1lc3NhZ2UoIlNVQ0NFU1M6IHdl
YmtpdFBvc3RNZXNzYWdlKCkgY2FsbGVkIGRpcmVjdGx5Iik7CiBwb3N0TWVzc2FnZS5jYWxsKG51
bGwsICJTVUNDRVNTOiBwb3N0TWVzc2FnZSgpIGludm9rZWQgdmlhIHBvc3RNZXNzYWdlLmNhbGwo
KSIpOword2Via2l0UG9zdE1lc3NhZ2UuY2FsbChudWxsLCAiU1VDQ0VTUzogd2Via2l0UG9zdE1l
c3NhZ2UoKSBpbnZva2VkIHZpYSB3ZWJraXRQb3N0TWVzc2FnZS5jYWxsKCkiKTsKIHZhciBzYXZl
ZCA9IHBvc3RNZXNzYWdlOwogc2F2ZWQoIlNVQ0NFU1M6IHBvc3RNZXNzYWdlKCkgY2FsbGVkIHZp
YSBpbnRlcm1lZGlhdGUgdmFyaWFibGUiKTsKK3ZhciBzYXZlZDEgPSB3ZWJraXRQb3N0TWVzc2Fn
ZTsKK3NhdmVkMSgiU1VDQ0VTUzogd2Via2l0UG9zdE1lc3NhZ2UoKSBjYWxsZWQgdmlhIGludGVy
bWVkaWF0ZSB2YXJpYWJsZSIpOwogcG9zdE1lc3NhZ2UoIkRPTkUiKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3Qvd29ya2Vycy93b3JrZXItY2FsbC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L3dvcmtlcnMvd29ya2VyLWNhbGwtZXhwZWN0ZWQudHh0CmluZGV4IDYyMWQzYjUu
LmI3ZDZjYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy93b3JrZXItY2Fs
bC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3dvcmtlci1jYWxs
LWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDEwIEBACiBUZXN0IGNhbGxpbmcgZnVuY3Rpb25zIGZy
b20gV29ya2VyQ29udGV4dC4gU2hvdWxkIHByaW50IG11bHRpcGxlIFNVQ0NFU1MgbGluZXMsIGZv
bGxvd2VkIGJ5IERPTkUuCiAKIFNVQ0NFU1M6IHBvc3RNZXNzYWdlKCkgY2FsbGVkIGRpcmVjdGx5
CitTVUNDRVNTOiB3ZWJraXRQb3N0TWVzc2FnZSgpIGNhbGxlZCBkaXJlY3RseQogU1VDQ0VTUzog
cG9zdE1lc3NhZ2UoKSBpbnZva2VkIHZpYSBwb3N0TWVzc2FnZS5jYWxsKCkKK1NVQ0NFU1M6IHdl
YmtpdFBvc3RNZXNzYWdlKCkgaW52b2tlZCB2aWEgd2Via2l0UG9zdE1lc3NhZ2UuY2FsbCgpCiBT
VUNDRVNTOiBwb3N0TWVzc2FnZSgpIGNhbGxlZCB2aWEgaW50ZXJtZWRpYXRlIHZhcmlhYmxlCitT
VUNDRVNTOiB3ZWJraXRQb3N0TWVzc2FnZSgpIGNhbGxlZCB2aWEgaW50ZXJtZWRpYXRlIHZhcmlh
YmxlCiBET05FCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtYXJncy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNz
YWdlLWFyZ3MtZXhwZWN0ZWQudHh0CmluZGV4IDQ1ZWM3M2QuLjVmOGU5OWQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9z
dG1lc3NhZ2UtYXJncy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1hcmdzLWV4cGVjdGVkLnR4
dApAQCAtMSwxOCArMSwzMSBAQAogVGVzdCB0aGF0IHRoZSBzZWNvbmQgYXJndW1lbnQgb2Ygd2lu
ZG93LnBvc3RNZXNzYWdlIGlzIGlnbm9yZWQgb3IgdHJpZ2dlcnMgYW4gZXJyb3IgaWYgaXQgaXMg
bm90IGEgbWVzc2FnZSBwb3J0LiBZb3Ugc2hvdWxkIHNlZSBQQVNTIG1lc3NhZ2UgJzEnIHRocm91
Z2ggJzcnLCBmb2xsb3dlZCBieSAnZG9uZScsIHdpdGggbWVzc2FnZXMgNC03IHJlY2VpdmVkIGJl
bG93LgogCiBQQVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCcxJywgMSk6IHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IE1lc3NhZ2VQb3J0QXJyYXkgYXJndW1lbnQgbXVzdCBiZSBhbiBvYmplY3QKK1BB
U1M6IFBvc3RpbmcgbWVzc2FnZSAoJzEnLCAxKTogdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
TWVzc2FnZVBvcnRBcnJheSBhcmd1bWVudCBtdXN0IGJlIGFuIG9iamVjdAorUEFTUzogUG9zdGlu
ZyBtZXNzYWdlICgnMicsICk6IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE1lc3NhZ2VQb3J0
QXJyYXkgYXJndW1lbnQgbXVzdCBiZSBhbiBvYmplY3QKIFBBU1M6IFBvc3RpbmcgbWVzc2FnZSAo
JzInLCApOiB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBNZXNzYWdlUG9ydEFycmF5IGFyZ3Vt
ZW50IG11c3QgYmUgYW4gb2JqZWN0CiBQQVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCczJywgW29iamVj
dCBPYmplY3RdKTogdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTWVzc2FnZVBvcnRBcnJheSBh
cmd1bWVudCBoYXMgbm8gbGVuZ3RoIGF0dHJpYnV0ZQorUEFTUzogUG9zdGluZyBtZXNzYWdlICgn
MycsIFtvYmplY3QgT2JqZWN0XSk6IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE1lc3NhZ2VQ
b3J0QXJyYXkgYXJndW1lbnQgaGFzIG5vIGxlbmd0aCBhdHRyaWJ1dGUKK1BBU1M6IFBvc3Rpbmcg
bWVzc2FnZSAoJzQnLCBbb2JqZWN0IERPTVdpbmRvd10pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0
aW9uCiBQQVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCc0JywgW29iamVjdCBET01XaW5kb3ddKSBkaWQg
bm90IHRocm93IGFuIGV4Y2VwdGlvbgogUEFTUzogUG9zdGluZyBtZXNzYWdlICgnNScsIG51bGwp
IGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCc1Jywg
bnVsbCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KK1BBU1M6IFBvc3RpbmcgbWVzc2FnZSAo
JzYnLCB1bmRlZmluZWQpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCiBQQVNTOiBQb3N0aW5n
IG1lc3NhZ2UgKCc2JywgdW5kZWZpbmVkKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgogUEFT
UzogUG9zdGluZyBtZXNzYWdlICgnNycsIFtvYmplY3QgTWVzc2FnZVBvcnRdLFtvYmplY3QgTWVz
c2FnZVBvcnRdKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgorUEFTUzogUG9zdGluZyBtZXNz
YWdlICgnNycsIFtvYmplY3QgTWVzc2FnZVBvcnRdLFtvYmplY3QgTWVzc2FnZVBvcnRdKSBkaWQg
bm90IHRocm93IGFuIGV4Y2VwdGlvbgorUEFTUzogUG9zdGluZyBtZXNzYWdlICgnMjE0NzQ4MzY0
OCcsIG51bGwpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCiBQQVNTOiBQb3N0aW5nIG1lc3Nh
Z2UgKCcyMTQ3NDgzNjQ4JywgbnVsbCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KIFBBU1M6
IFBvc3RpbmcgbWVzc2FnZSAoJ2RvbmUnLCAqKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgog
UmVjZWl2ZWQgbWVzc2FnZSAnNCcgd2l0aCAwIHBvcnRzLgorUmVjZWl2ZWQgbWVzc2FnZSAnNCcg
d2l0aCAwIHBvcnRzLgorUmVjZWl2ZWQgbWVzc2FnZSAnNScgd2l0aCAwIHBvcnRzLgogUmVjZWl2
ZWQgbWVzc2FnZSAnNScgd2l0aCAwIHBvcnRzLgogUmVjZWl2ZWQgbWVzc2FnZSAnNicgd2l0aCAw
IHBvcnRzLgorUmVjZWl2ZWQgbWVzc2FnZSAnNicgd2l0aCAwIHBvcnRzLgorUmVjZWl2ZWQgbWVz
c2FnZSAnNycgd2l0aCAyIHBvcnRzLgogUmVjZWl2ZWQgbWVzc2FnZSAnNycgd2l0aCAyIHBvcnRz
LgogUmVjZWl2ZWQgbWVzc2FnZSAnMjE0NzQ4MzY0OCcgd2l0aCAwIHBvcnRzLgorUmVjZWl2ZWQg
bWVzc2FnZSAnMjE0NzQ4MzY0OCcgd2l0aCAwIHBvcnRzLgogUmVjZWl2ZWQgbWVzc2FnZSAnZG9u
ZScgd2l0aCAwIHBvcnRzLgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjc4Njc5MC4uNTg5YWFkZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDExLTA5LTE1ICBEbWl0cnkgTG9tb3YgIDxkc2xvbW92
QGdvb2dsZS5jb20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY2NzE0CisgICAgICAgIEFkZCB3ZWJraXRQb3N0TWVzc2FnZSB0byBhbGxvdyBmb3Ig
YWRkaW5nIHRyYW5zZmVyYWJsZSBzdXBwb3J0LgorICAgICAgICBUaGlzIGFkZHMgd2Via2l0UG9z
dE1lc3NhZ2UsIGN1cnJlbnRseSBpZGVudGljYWwgdG8gcG9zdE1lc3NhZ2UsIHdoaWNoIAorICAg
ICAgICB3b3VsZCBsYXRlciBiZSBhIHZlaGljbGUgZm9yIGFkZGluZyB0cmFuc2ZlcmFibGUgc3Vw
cG9ydCBmb3IgbWVzc2FnaW5nLgorICAgICAgICAKKyAgICAgICAgQmFzZWQgb24gcGF0Y2ggYnkg
THVrZSBaYXJrby4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTRE9NV2luZG93Ojp3ZWJraXRQb3N0TWVzc2FnZSk6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTRGVkaWNhdGVkV29ya2VyQ29udGV4dDo6d2Via2l0UG9zdE1lc3NhZ2UpOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTTWVzc2FnZUV2ZW50Ojp3ZWJraXRJbml0TWVzc2FnZUV2ZW50KToKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTTWVz
c2FnZVBvcnQ6OndlYmtpdFBvc3RNZXNzYWdlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dv
cmtlckN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1dvcmtlcjo6cG9zdE1lc3NhZ2Up
OgorICAgICAgICAoV2ViQ29yZTo6SlNXb3JrZXI6OndlYmtpdFBvc3RNZXNzYWdlKToKKyAgICAg
ICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6aGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpW
OERPTVdpbmRvdzo6cG9zdE1lc3NhZ2VDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOERP
TVdpbmRvdzo6d2Via2l0UG9zdE1lc3NhZ2VDYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4
RGVkaWNhdGVkV29ya2VyQ29udGV4dDo6cG9zdE1lc3NhZ2VDYWxsYmFjayk6CisgICAgICAgIChX
ZWJDb3JlOjpWOERlZGljYXRlZFdvcmtlckNvbnRleHQ6OndlYmtpdFBvc3RNZXNzYWdlQ2FsbGJh
Y2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VFdmVudEN1c3RvbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpWOE1lc3NhZ2VFdmVudDo6aW5pdE1lc3NhZ2VFdmVudENh
bGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4TWVzc2FnZUV2ZW50Ojp3ZWJraXRJbml0TWVz
c2FnZUV2ZW50Q2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3Nh
Z2VQb3J0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmhhbmRsZVBvc3RNZXNzYWdlQ2Fs
bGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhNZXNzYWdlUG9ydDo6cG9zdE1lc3NhZ2VDYWxs
YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOE1lc3NhZ2VQb3J0Ojp3ZWJraXRQb3N0TWVzc2Fn
ZUNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhXb3JrZXJDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6aGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayk6CisgICAg
ICAgIChXZWJDb3JlOjpWOFdvcmtlcjo6cG9zdE1lc3NhZ2VDYWxsYmFjayk6CisgICAgICAgIChX
ZWJDb3JlOjpWOFdvcmtlcjo6d2Via2l0UG9zdE1lc3NhZ2VDYWxsYmFjayk6CisgICAgICAgICog
ZG9tL01lc3NhZ2VFdmVudC5pZGw6CisgICAgICAgICogZG9tL01lc3NhZ2VQb3J0LmlkbDoKKyAg
ICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRX
b3JrZXJDb250ZXh0LmlkbDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5pZGw6CisKIDIwMTEt
MDktMTUgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDA3MgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IGY2Yzg5ZDkuLjg0MjYx
MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3Vz
dG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3Rv
bS5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4LCAy
MDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCkBAIC03MjQsNiArNzI1LDExIEBAIEpTVmFsdWUgSlNET01XaW5kb3c6OnBvc3RNZXNzYWdl
KEV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKIH0KIAorSlNWYWx1
ZSBKU0RPTVdpbmRvdzo6d2Via2l0UG9zdE1lc3NhZ2UoRXhlY1N0YXRlKiBleGVjKQoreworICAg
IHJldHVybiBwb3N0TWVzc2FnZShleGVjKTsKK30KKwogSlNWYWx1ZSBKU0RPTVdpbmRvdzo6c2V0
VGltZW91dChFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgQ29udGVudFNlY3VyaXR5UG9saWN5KiBj
b250ZW50U2VjdXJpdHlQb2xpY3kgPSBpbXBsKCktPmRvY3VtZW50KCkgPyBpbXBsKCktPmRvY3Vt
ZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpIDogMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20u
Y3BwCmluZGV4IDIyMjIzNTMuLmFiMGM1ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcApA
QCAtMSw2ICsxLDYgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSwgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CkBAIC00Nyw2ICs0NywxMSBAQCBKU0M6OkpTVmFsdWUgSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0
Ojpwb3N0TWVzc2FnZShKU0M6OkV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4gaGFuZGxlUG9z
dE1lc3NhZ2UoZXhlYywgaW1wbCgpKTsKIH0KIAorSlNDOjpKU1ZhbHVlIEpTRGVkaWNhdGVkV29y
a2VyQ29udGV4dDo6d2Via2l0UG9zdE1lc3NhZ2UoSlNDOjpFeGVjU3RhdGUqIGV4ZWMpCit7Cisg
ICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlKGV4ZWMsIGltcGwoKSk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXT1JLRVJTKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwCmluZGV4IDhi
ZTgxYmUuLmU3NDhjZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
TWVzc2FnZUV2ZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U01lc3NhZ2VFdmVudEN1c3RvbS5jcHAKQEAgLTExOSw0ICsxMTksOSBAQCBKU0M6OkpTVmFsdWUg
SlNNZXNzYWdlRXZlbnQ6OmluaXRNZXNzYWdlRXZlbnQoSlNDOjpFeGVjU3RhdGUqIGV4ZWMpCiAg
ICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiB9CiAKK0pTQzo6SlNWYWx1ZSBKU01lc3NhZ2VFdmVu
dDo6d2Via2l0SW5pdE1lc3NhZ2VFdmVudChKU0M6OkV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBy
ZXR1cm4gaW5pdE1lc3NhZ2VFdmVudChleGVjKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9t
LmNwcAppbmRleCAwMTdiMjRiLi44YWRmNGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTYwLDYgKzYxLDExIEBAIEpTQzo6
SlNWYWx1ZSBKU01lc3NhZ2VQb3J0Ojpwb3N0TWVzc2FnZShKU0M6OkV4ZWNTdGF0ZSogZXhlYykK
ICAgICByZXR1cm4gaGFuZGxlUG9zdE1lc3NhZ2UoZXhlYywgaW1wbCgpKTsKIH0KIAorSlNDOjpK
U1ZhbHVlIEpTTWVzc2FnZVBvcnQ6OndlYmtpdFBvc3RNZXNzYWdlKEpTQzo6RXhlY1N0YXRlKiBl
eGVjKQoreworICAgIHJldHVybiBoYW5kbGVQb3N0TWVzc2FnZShleGVjLCBpbXBsKCkpOworfQor
CiB2b2lkIGZpbGxNZXNzYWdlUG9ydEFycmF5KEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpT
VmFsdWUgdmFsdWUsIE1lc3NhZ2VQb3J0QXJyYXkmIHBvcnRBcnJheSkKIHsKICAgICAvLyBDb252
ZXJ0IGZyb20gdGhlIHBhc3NlZC1pbiBKUyBhcnJheS1saWtlIG9iamVjdCB0byBhIE1lc3NhZ2VQ
b3J0QXJyYXkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtl
ckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckN1c3RvbS5j
cHAKaW5kZXggM2FmZGMwOS4uMGJhMzdlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNXb3JrZXJDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTV29ya2VyQ3VzdG9tLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ0LDYgKzQ1LDExIEBAIEpTQzo6SlNWYWx1ZSBKU1dv
cmtlcjo6cG9zdE1lc3NhZ2UoSlNDOjpFeGVjU3RhdGUqIGV4ZWMpCiAgICAgcmV0dXJuIGhhbmRs
ZVBvc3RNZXNzYWdlKGV4ZWMsIGltcGwoKSk7CiB9CiAKK0pTQzo6SlNWYWx1ZSBKU1dvcmtlcjo6
d2Via2l0UG9zdE1lc3NhZ2UoSlNDOjpFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgcmV0dXJuIGhh
bmRsZVBvc3RNZXNzYWdlKGV4ZWMsIGltcGwoKSk7Cit9CisKIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgSlNXb3JrZXJDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0SlNXb3JrZXIoRXhlY1N0YXRl
KiBleGVjKQogewogICAgIEpTV29ya2VyQ29uc3RydWN0b3IqIGpzQ29uc3RydWN0b3IgPSBzdGF0
aWNfY2FzdDxKU1dvcmtlckNvbnN0cnVjdG9yKj4oZXhlYy0+Y2FsbGVlKCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5j
cHAKaW5kZXggMjM0MmZlNi4uY2MwNDA0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zMTMsOSAr
MzEzLDggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RE9NV2luZG93OjpyZW1vdmVFdmVudExp
c3RlbmVyQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW4KICAgICByZXR1cm4gdjg6OlVuZGVmaW5l
ZCgpOwogfQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhET01XaW5kb3c6OnBvc3RNZXNzYWdl
Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKK3N0YXRpYyB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gaGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBh
cmdzKQogewotICAgIElOQ19TVEFUUygiRE9NLkRPTVdpbmRvdy5wb3N0TWVzc2FnZSgpIik7CiAg
ICAgRE9NV2luZG93KiB3aW5kb3cgPSBWOERPTVdpbmRvdzo6dG9OYXRpdmUoYXJncy5Ib2xkZXIo
KSk7CiAKICAgICBET01XaW5kb3cqIHNvdXJjZSA9IFY4UHJveHk6OnJldHJpZXZlRnJhbWVGb3JD
YWxsaW5nQ29udGV4dCgpLT5kb21XaW5kb3coKTsKQEAgLTM1MCw2ICszNDksMTggQEAgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4RE9NV2luZG93Ojpwb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4
OjpBcmd1bWVudHMmIGFyZ3MKICAgICByZXR1cm4gdGhyb3dFcnJvcihlYyk7CiB9CiAKK3Y4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOERPTVdpbmRvdzo6cG9zdE1lc3NhZ2VDYWxsYmFjayhjb25zdCB2
ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIElOQ19TVEFUUygiRE9NLkRPTVdpbmRvdy5wb3N0
TWVzc2FnZSgpIik7CisgICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2soYXJncyk7
Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERPTVdpbmRvdzo6d2Via2l0UG9zdE1lc3Nh
Z2VDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIElOQ19TVEFUUygi
RE9NLkRPTVdpbmRvdy53ZWJraXRQb3N0TWVzc2FnZSgpIik7CisgICAgcmV0dXJuIGhhbmRsZVBv
c3RNZXNzYWdlQ2FsbGJhY2soYXJncyk7Cit9CisKIC8vIEZJWE1FKGZxaWFuKTogcmV0dXJuaW5n
IHN0cmluZyBpcyBjaGVhdGluZywgYW5kIHdlIHNob3VsZAogLy8gZml4IHRoaXMgYnkgY2FsbGlu
ZyB0b1N0cmluZyBmdW5jdGlvbiBvbiB0aGUgcmVjZWl2ZXIuCiAvLyBIb3dldmVyLCBWOCBpbXBs
ZW1lbnRzIHRvU3RyaW5nIGluIEphdmFTY3JpcHQsIHdoaWNoIHJlcXVpcmVzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZWRpY2F0ZWRXb3JrZXJDb250
ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERlZGlj
YXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwCmluZGV4IDhmY2Y5YTguLmMzODU3M2EgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERlZGljYXRlZFdvcmtl
ckNvbnRleHRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC00Miw5ICs0Miw4IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGVkaWNh
dGVkV29ya2VyQ29udGV4dDo6cG9zdE1lc3NhZ2VDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRz
JiBhcmdzKQorc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBoYW5kbGVQb3N0TWVzc2FnZUNh
bGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7Ci0gICAgSU5DX1NUQVRTKEwiRE9N
LkRlZGljYXRlZFdvcmtlckNvbnRleHQucG9zdE1lc3NhZ2UiKTsKICAgICBEZWRpY2F0ZWRXb3Jr
ZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0ID0gVjhEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Ojp0b05h
dGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBib29sIGRpZFRocm93ID0gZmFsc2U7CiAgICAgUmVm
UHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gbWVzc2FnZSA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTo6Y3JlYXRlKGFyZ3NbMF0sIGRpZFRocm93KTsKQEAgLTYwLDYgKzU5LDE4IEBAIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOERlZGljYXRlZFdvcmtlckNvbnRleHQ6OnBvc3RNZXNzYWdlQ2FsbGJh
Y2soY29uc3Qgdjg6OkFyCiAgICAgcmV0dXJuIHRocm93RXJyb3IoZWMpOwogfQogCit2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gVjhEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Ojpwb3N0TWVzc2FnZUNhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKEwiRE9NLkRl
ZGljYXRlZFdvcmtlckNvbnRleHQucG9zdE1lc3NhZ2UiKTsKKyAgICByZXR1cm4gaGFuZGxlUG9z
dE1lc3NhZ2VDYWxsYmFjayhhcmdzKTsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGVk
aWNhdGVkV29ya2VyQ29udGV4dDo6d2Via2l0UG9zdE1lc3NhZ2VDYWxsYmFjayhjb25zdCB2ODo6
QXJndW1lbnRzJiBhcmdzKQoreworICAgIElOQ19TVEFUUyhMIkRPTS5EZWRpY2F0ZWRXb3JrZXJD
b250ZXh0LnBvc3RNZXNzYWdlIik7CisgICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJh
Y2soYXJncyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJM
RShXT1JLRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4TWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOE1lc3NhZ2VFdmVudEN1c3RvbS5jcHAKaW5kZXggZDY0MDgzYy4uYjk5NjcyZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50
Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNZXNz
YWdlRXZlbnRDdXN0b20uY3BwCkBAIC0xMjUsNiArMTI1LDEzIEBAIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBWOE1lc3NhZ2VFdmVudDo6aW5pdE1lc3NhZ2VFdmVudENhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVuCiAgICAgdjg6OlByb3BlcnR5QXR0cmlidXRlIGRhdGFBdHRyID0gc3RhdGljX2Nhc3Q8
djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6RG9udERlbGV0ZSB8IHY4OjpSZWFkT25seSk7CiAg
ICAgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpkZXNlcmlhbGl6ZUFuZFNldFByb3BlcnR5KGFyZ3Mu
SG9sZGVyKCksICJkYXRhIiwgZGF0YUF0dHIsIGV2ZW50LT5kYXRhQXNTZXJpYWxpemVkU2NyaXB0
VmFsdWUoKSk7CiAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKLSAgfQorfQorCit2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gVjhNZXNzYWdlRXZlbnQ6OndlYmtpdEluaXRNZXNzYWdlRXZlbnRDYWxs
YmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIElOQ19TVEFUUygiRE9NLk1l
c3NhZ2VFdmVudC53ZWJraXRJbml0TWVzc2FnZUV2ZW50Iik7CisgICAgcmV0dXJuIGluaXRNZXNz
YWdlRXZlbnRDYWxsYmFjayhhcmdzKTsKK30KKwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlUG9y
dEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdl
UG9ydEN1c3RvbS5jcHAKaW5kZXggOTRlMTc0My4uNTU0M2ExYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZVBvcnRDdXN0b20uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VQb3J0Q3VzdG9tLmNw
cApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQpAQCAtNDIsOSArNDIsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXY4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOE1lc3NhZ2VQb3J0Ojpwb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4
OjpBcmd1bWVudHMmIGFyZ3MpCitzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGhhbmRsZVBv
c3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKLSAgICBJTkNf
U1RBVFMoIkRPTS5NZXNzYWdlUG9ydC5wb3N0TWVzc2FnZSIpOwogICAgIE1lc3NhZ2VQb3J0KiBt
ZXNzYWdlUG9ydCA9IFY4TWVzc2FnZVBvcnQ6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAg
IGJvb2wgZGlkVGhyb3cgPSBmYWxzZTsKICAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVl
PiBtZXNzYWdlID0gU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoYXJnc1swXSwgZGlkVGhy
b3cpOwpAQCAtNjAsNiArNTksMTggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4TWVzc2FnZVBv
cnQ6OnBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXIKICAgICByZXR1
cm4gdGhyb3dFcnJvcihlYyk7CiB9CiAKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE1lc3NhZ2VQ
b3J0Ojpwb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCit7Cisg
ICAgSU5DX1NUQVRTKCJET00uTWVzc2FnZVBvcnQucG9zdE1lc3NhZ2UiKTsKKyAgICByZXR1cm4g
aGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayhhcmdzKTsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFs
dWU+IFY4TWVzc2FnZVBvcnQ6OndlYmtpdFBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFy
Z3VtZW50cyYgYXJncykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5NZXNzYWdlUG9ydC53ZWJraXRQ
b3N0TWVzc2FnZSIpOworICAgIHJldHVybiBoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKGFyZ3Mp
OworfQorCiBib29sIGdldE1lc3NhZ2VQb3J0QXJyYXkodjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFs
dWUsIE1lc3NhZ2VQb3J0QXJyYXkmIHBvcnRBcnJheSkKIHsKICAgICBpZiAoaXNVbmRlZmluZWRP
ck51bGwodmFsdWUpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhXb3JrZXJDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4V29ya2VyQ3VzdG9tLmNwcAppbmRleCAzYTA0MDU3Li5hODQxMjBhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXb3JrZXJDdXN0b20uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckN1c3RvbS5jcHAK
QEAgLTQ3LDcgKzQ3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gVjhXb3JrZXI6OnBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50
cyYgYXJncykKK3N0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gaGFuZGxlUG9zdE1lc3NhZ2VD
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewogICAgIElOQ19TVEFUUygiRE9N
Lldvcmtlci5wb3N0TWVzc2FnZSIpOwogICAgIFdvcmtlciogd29ya2VyID0gVjhXb3JrZXI6OnRv
TmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwpAQCAtNjUsNiArNjUsMTkgQEAgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IFY4V29ya2VyOjpwb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMm
IGFyZ3MpCiAgICAgcmV0dXJuIHRocm93RXJyb3IoZWMpOwogfQogCit2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gVjhXb3JrZXI6OnBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYg
YXJncykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5Xb3JrZXIucG9zdE1lc3NhZ2UiKTsKKyAgICBy
ZXR1cm4gaGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayhhcmdzKTsKK30KKwordjg6OkhhbmRsZTx2
ODo6VmFsdWU+IFY4V29ya2VyOjp3ZWJraXRQb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVudHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJET00uV29ya2VyLndlYmtpdFBvc3RN
ZXNzYWdlIik7CisgICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2soYXJncyk7Cit9
CisKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdPUktFUlMp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuaWRsCmluZGV4IDk2OTRkZWUuLjZiYjJiNjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuaWRsCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENv
cHlyaWdodCAoQykgMjAwNyBIZW5yeSBNYXNvbiA8aG1hc29uQG1hYy5jb20+CisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDQsNiArNDUsMTUgQEAgbW9kdWxlIGV2ZW50cyB7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9Q2FsbFdp
dGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBsYXN0RXZlbnRJZEFyZywgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFs
dWVdIERPTVdpbmRvdyBzb3VyY2VBcmcsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBBcnJheSBtZXNzYWdl
UG9ydHMpOworCisgICAgICAgIFtDdXN0b21dIHZvaWQgd2Via2l0SW5pdE1lc3NhZ2VFdmVudChp
biBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyB0eXBlQXJnLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPUNh
bGxXaXRoRGVmYXVsdFZhbHVlXSBib29sZWFuIGNhbkJ1YmJsZUFyZywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1
bHRWYWx1ZV0gYm9vbGVhbiBjYW5jZWxhYmxlQXJnLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBT
ZXJpYWxpemVkU2NyaXB0VmFsdWUgZGF0YUFyZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9N
U3RyaW5nIG9yaWdpbkFyZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3RyaW5nIGxhc3RF
dmVudElkQXJnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01XaW5kb3cgc291cmNlQXJnLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFs
PUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBBcnJheSB0cmFuc2ZlcmFibGVzKTsKICNlbHNlCiAgICAg
ICAgIC8vIENvZGUgZ2VuZXJhdG9yIGZvciBPYmpDIGJpbmRpbmdzIGRvZXMgbm90IHN1cHBvcnQg
Y3VzdG9tIGJpbmRpbmdzLCB0aHVzIHRoZXJlIGlzIG5vIGdvb2Qgd2F5IHRvCiAgICAgICAgIC8v
IHJldHVybiBhIHZhcmlhbnQgdmFsdWUuIEFzIHdvcmthcm91bmQsIGV4cG9zZSB0aGUgZGF0YSBh
dHRyaWJ1dGUgYXMgU2VyaWFsaXplZFNjcmlwdFZhbHVlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL01lc3NhZ2VQb3J0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9y
dC5pZGwKaW5kZXggMjg4MzNjZS4uYjI2ZjMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL01lc3NhZ2VQb3J0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQu
aWRsCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMu
IEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4g
QWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
MzgsNiArMzksOCBAQCBtb2R1bGUgZXZlbnRzIHsKICNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFT
Q1JJUFQpICYmIExBTkdVQUdFX0pBVkFTQ1JJUFQKICAgICAgICAgW0N1c3RvbV0gdm9pZCBwb3N0
TWVzc2FnZShpbiBET01TdHJpbmcgbWVzc2FnZSwgaW4gW09wdGlvbmFsXSBBcnJheSBtZXNzYWdl
UG9ydHMpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgW0N1c3Rv
bV0gdm9pZCB3ZWJraXRQb3N0TWVzc2FnZShpbiBET01TdHJpbmcgbWVzc2FnZSwgaW4gW09wdGlv
bmFsXSBBcnJheSB0cmFuc2ZlcikKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwog
ICAgICAgICB2b2lkIHN0YXJ0KCk7CiAgICAgICAgIHZvaWQgY2xvc2UoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuaWRsCmluZGV4IDVmYzNkNzYuLmU5MDNjMDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5pZGwKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2LCAy
MDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMTUsNiArMjE2LDggQEAgbW9kdWxlIHdpbmRvdyB7
CiAjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9KQVZBU0NSSVBU
CiAgICAgICAgIFtEb05vdENoZWNrRG9tYWluU2VjdXJpdHksIEN1c3RvbV0gdm9pZCBwb3N0TWVz
c2FnZShpbiBTZXJpYWxpemVkU2NyaXB0VmFsdWUgbWVzc2FnZSwgaW4gW09wdGlvbmFsXSBBcnJh
eSBtZXNzYWdlUG9ydHMsIGluIERPTVN0cmluZyB0YXJnZXRPcmlnaW4pCiAgICAgICAgICAgICBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgW0RvTm90Q2hlY2tEb21haW5TZWN1cml0eSwg
Q3VzdG9tXSB2b2lkIHdlYmtpdFBvc3RNZXNzYWdlKGluIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBt
ZXNzYWdlLCBpbiBbT3B0aW9uYWxdIEFycmF5IHRyYW5zZmVyTGlzdCwgaW4gRE9NU3RyaW5nIHRh
cmdldE9yaWdpbikKKyAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogI2Vsc2UKICAg
ICAgICAgLy8gVGhlcmUncyBubyBnb29kIHdheSB0byBleHBvc2UgYW4gYXJyYXkgdmlhIHRoZSBP
YmpDIGJpbmRpbmdzLCBzbyBmb3Igbm93IGp1c3QgYWxsb3cgcGFzc2luZyBpbiBhIHNpbmdsZSBw
b3J0LgogICAgICAgICBbRG9Ob3RDaGVja0RvbWFpblNlY3VyaXR5LCBDdXN0b21dIHZvaWQgcG9z
dE1lc3NhZ2UoaW4gU2VyaWFsaXplZFNjcmlwdFZhbHVlIG1lc3NhZ2UsIGluIFtPcHRpb25hbF0g
TWVzc2FnZVBvcnQgbWVzc2FnZVBvcnQsIGluIERPTVN0cmluZyB0YXJnZXRPcmlnaW4pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckNvbnRleHQuaWRs
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmlkbAppbmRl
eCAyMmQzNTI1Li45ZWJiMGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Rl
ZGljYXRlZFdvcmtlckNvbnRleHQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVk
aWNhdGVkV29ya2VyQ29udGV4dC5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDksIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTQzLDYgKzQzLDggQEAgbW9kdWxlIHRocmVh
ZHMgewogI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgJiYgTEFOR1VBR0VfSkFWQVND
UklQVAogICAgICAgICBbQ3VzdG9tXSB2b2lkIHBvc3RNZXNzYWdlKGluIGFueSBtZXNzYWdlLCBp
biBbT3B0aW9uYWxdIEFycmF5IG1lc3NhZ2VQb3J0cykKICAgICAgICAgICAgIHJhaXNlcyhET01F
eGNlcHRpb24pOworICAgICAgICBbQ3VzdG9tXSB2b2lkIHdlYmtpdFBvc3RNZXNzYWdlKGluIGFu
eSBtZXNzYWdlLCBpbiBbT3B0aW9uYWxdIEFycmF5IHRyYW5zZmVyTGlzdCkKKyAgICAgICAgICAg
IHJhaXNlcyhET01FeGNlcHRpb24pOwogI2Vsc2UKICAgICAgICAgLy8gVGhlcmUncyBubyBnb29k
IHdheSB0byBleHBvc2UgYW4gYXJyYXkgdmlhIHRoZSBPYmpDIGJpbmRpbmdzLCBzbyBmb3Igbm93
IGp1c3QgYWxsb3cgcGFzc2luZyBpbiBhIHNpbmdsZSBwb3J0LgogICAgICAgICB2b2lkIHBvc3RN
ZXNzYWdlKGluIERPTVN0cmluZyBtZXNzYWdlLCBpbiBbT3B0aW9uYWxdIE1lc3NhZ2VQb3J0IG1l
c3NhZ2VQb3J0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRs
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCmluZGV4IGY4NzFkZjkuLjFmYWFj
N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwKQEAgLTEsNSArMSw2IEBACiAvKgogICog
Q29weXJpZ2h0IChDKSAyMDA4LCAyMDEwIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00NSw2ICs0Niw4IEBAIG1vZHVsZSB0
aHJlYWRzIHsKICNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpICYmIExBTkdVQUdFX0pB
VkFTQ1JJUFQKICAgICAgICAgW0N1c3RvbV0gdm9pZCBwb3N0TWVzc2FnZShpbiBTZXJpYWxpc2Vk
U2NyaXB0VmFsdWUgbWVzc2FnZSwgaW4gW09wdGlvbmFsXSBBcnJheSBtZXNzYWdlUG9ydHMpCiAg
ICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgW0N1c3RvbV0gdm9pZCB3
ZWJraXRQb3N0TWVzc2FnZShpbiBTZXJpYWxpc2VkU2NyaXB0VmFsdWUgbWVzc2FnZSwgaW4gW09w
dGlvbmFsXSBBcnJheSBtZXNzYWdlUG9ydHMpCisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0
aW9uKTsKICNlbHNlCiAgICAgICAgIC8vIFRoZXJlJ3Mgbm8gZ29vZCB3YXkgdG8gZXhwb3NlIGFu
IGFycmF5IHZpYSB0aGUgT2JqQyBiaW5kaW5ncywgc28gZm9yIG5vdyBqdXN0IGFsbG93IHBhc3Np
bmcgaW4gYSBzaW5nbGUgcG9ydC4KICAgICAgICAgdm9pZCBwb3N0TWVzc2FnZShpbiBTZXJpYWxp
emVkU2NyaXB0VmFsdWUgbWVzc2FnZSwgaW4gW09wdGlvbmFsXSBNZXNzYWdlUG9ydCBtZXNzYWdl
UG9ydCkK
</data>
<flag name="commit-queue"
          id="104287"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107672</attachid>
            <date>2011-09-16 10:03:52 -0700</date>
            <delta_ts>2011-09-16 21:00:39 -0700</delta_ts>
            <desc>Rebaselined chromium test</desc>
            <filename>66714.patch</filename>
            <type>text/plain</type>
            <size>36433</size>
            <attacher name="Dmitry Lomov">dslomov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyYTQ2YzZjLi4wZGE5MWU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDkt
MTUgIERtaXRyeSBMb21vdiAgPGRzbG9tb3ZAZ29vZ2xlLmNvbT4KKworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MTQKKyAgICAgICAgQWRkIHdlYmtp
dFBvc3RNZXNzYWdlIHRvIGFsbG93IGZvciBhZGRpbmcgdHJhbnNmZXJhYmxlIHN1cHBvcnQuCisg
ICAgICAgIFRoaXMgYWRkcyB3ZWJraXRQb3N0TWVzc2FnZSwgY3VycmVudGx5IGlkZW50aWNhbCB0
byBwb3N0TWVzc2FnZSwgd2hpY2ggCisgICAgICAgIHdvdWxkIGxhdGVyIGJlIGEgdmVoaWNsZSBm
b3IgYWRkaW5nIHRyYW5zZmVyYWJsZSBzdXBwb3J0IGZvciBtZXNzYWdpbmcuCisgICAgICAgIFRo
ZSB0ZXN0cyBlbnN1cmUgdGhhdCB3ZWJraXRQb3N0TWVzc2FnZSBhbmQgcG9zdE1lc3NhZ2UgYmVo
YXZlIGlkZW50aWNhbGx5LgorCisgICAgICAgIEJhc2VkIG9uIHBhdGNoIGJ5IEx1a2UgWmFya28u
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0
L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWFyZ3MtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtYXJncy5odG1sOgorICAgICAg
ICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0Lmh0bWw6CisgICAgICAgICogZmFzdC93
b3JrZXJzL3Jlc291cmNlcy93b3JrZXItY2FsbC5qczoKKyAgICAgICAgKiBmYXN0L3dvcmtlcnMv
d29ya2VyLWNhbGwtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtYXJncy1leHBlY3RlZC50eHQ6CisKIDIw
MTEtMDktMTYgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IFVJIHBlcmZvcm1hbmNlIHRlc3RzIGFyZSByZXF1aXJlZC4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2Ut
YXJncy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBv
c3RtZXNzYWdlLWFyZ3MtZXhwZWN0ZWQudHh0CmluZGV4IDg5OTY4YzEuLmY2NGRkMTQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtYXJn
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1w
b3N0bWVzc2FnZS1hcmdzLWV4cGVjdGVkLnR4dApAQCAtMSwxOCArMSwzMSBAQAogVGVzdCB0aGF0
IHRoZSBzZWNvbmQgYXJndW1lbnQgb2Ygd2luZG93LnBvc3RNZXNzYWdlIGlzIGlnbm9yZWQgb3Ig
dHJpZ2dlcnMgYW4gZXJyb3IgaWYgaXQgaXMgbm90IGEgbWVzc2FnZSBwb3J0LiBZb3Ugc2hvdWxk
IHNlZSBQQVNTIG1lc3NhZ2UgJzEnIHRocm91Z2ggJzcnLCBmb2xsb3dlZCBieSAnZG9uZScsIHdp
dGggbWVzc2FnZXMgNC03IHJlY2VpdmVkIGJlbG93LgogCiBQQVNTOiBQb3N0aW5nIG1lc3NhZ2Ug
KCcxJywgMSk6IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IKK1BBU1M6IFBv
c3RpbmcgbWVzc2FnZSAoJzEnLCAxKTogdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBl
cnJvcgorUEFTUzogUG9zdGluZyBtZXNzYWdlICgnMicsICk6IHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IFR5cGUgZXJyb3IKIFBBU1M6IFBvc3RpbmcgbWVzc2FnZSAoJzInLCApOiB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yCiBQQVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCcz
JywgW29iamVjdCBPYmplY3RdKTogdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJv
cgorUEFTUzogUG9zdGluZyBtZXNzYWdlICgnMycsIFtvYmplY3QgT2JqZWN0XSk6IHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IKK1BBU1M6IFBvc3RpbmcgbWVzc2FnZSAoJzQn
LCBbb2JqZWN0IERPTVdpbmRvd10pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCiBQQVNTOiBQ
b3N0aW5nIG1lc3NhZ2UgKCc0JywgW29iamVjdCBET01XaW5kb3ddKSBkaWQgbm90IHRocm93IGFu
IGV4Y2VwdGlvbgogUEFTUzogUG9zdGluZyBtZXNzYWdlICgnNScsIG51bGwpIGRpZCBub3QgdGhy
b3cgYW4gZXhjZXB0aW9uCitQQVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCc1JywgbnVsbCkgZGlkIG5v
dCB0aHJvdyBhbiBleGNlcHRpb24KK1BBU1M6IFBvc3RpbmcgbWVzc2FnZSAoJzYnLCB1bmRlZmlu
ZWQpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCiBQQVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCc2
JywgdW5kZWZpbmVkKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgogUEFTUzogUG9zdGluZyBt
ZXNzYWdlICgnNycsIFtvYmplY3QgTWVzc2FnZVBvcnRdLFtvYmplY3QgTWVzc2FnZVBvcnRdKSBk
aWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgorUEFTUzogUG9zdGluZyBtZXNzYWdlICgnNycsIFtv
YmplY3QgTWVzc2FnZVBvcnRdLFtvYmplY3QgTWVzc2FnZVBvcnRdKSBkaWQgbm90IHRocm93IGFu
IGV4Y2VwdGlvbgorUEFTUzogUG9zdGluZyBtZXNzYWdlICgnMjE0NzQ4MzY0OCcsIG51bGwpIGRp
ZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCiBQQVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCcyMTQ3NDgz
NjQ4JywgbnVsbCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KIFBBU1M6IFBvc3RpbmcgbWVz
c2FnZSAoJ2RvbmUnLCAqKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgogUmVjZWl2ZWQgbWVz
c2FnZSAnNCcgd2l0aCAwIHBvcnRzLgorUmVjZWl2ZWQgbWVzc2FnZSAnNCcgd2l0aCAwIHBvcnRz
LgorUmVjZWl2ZWQgbWVzc2FnZSAnNScgd2l0aCAwIHBvcnRzLgogUmVjZWl2ZWQgbWVzc2FnZSAn
NScgd2l0aCAwIHBvcnRzLgogUmVjZWl2ZWQgbWVzc2FnZSAnNicgd2l0aCAwIHBvcnRzLgorUmVj
ZWl2ZWQgbWVzc2FnZSAnNicgd2l0aCAwIHBvcnRzLgorUmVjZWl2ZWQgbWVzc2FnZSAnNycgd2l0
aCAyIHBvcnRzLgogUmVjZWl2ZWQgbWVzc2FnZSAnNycgd2l0aCAyIHBvcnRzLgogUmVjZWl2ZWQg
bWVzc2FnZSAnMjE0NzQ4MzY0OCcgd2l0aCAwIHBvcnRzLgorUmVjZWl2ZWQgbWVzc2FnZSAnMjE0
NzQ4MzY0OCcgd2l0aCAwIHBvcnRzLgogUmVjZWl2ZWQgbWVzc2FnZSAnZG9uZScgd2l0aCAwIHBv
cnRzLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBv
c3RtZXNzYWdlLWFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ct
cG9zdG1lc3NhZ2UtYXJncy5odG1sCmluZGV4IDcyYTI3ZTcuLmNiZDI0M2YgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtYXJncy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtYXJn
cy5odG1sCkBAIC0yMywzMCArMjMsMzcgQEAgZnVuY3Rpb24gb25tZXNzYWdlKGV2dCkgewogCiB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIG9ubWVzc2FnZSwgZmFsc2UpOwogCi1m
dW5jdGlvbiB0cnlQb3N0TWVzc2FnZShmaXJzdCwgc2Vjb25kLCB0aGlyZCwgc2hvdWxkRmFpbCkg
ewotICAgIHRyeSB7CitmdW5jdGlvbiB0cnlQb3N0TWVzc2FnZUZ1bmN0aW9uKHBvc3RNZXNzYWdl
RnVuY3Rpb24sIGZpcnN0LCBzZWNvbmQsIHRoaXJkLCBzaG91bGRGYWlsKSB7CisgICB0cnkgewog
ICAgICAgICBpZiAoIXRoaXJkKQotICAgICAgICAgICAgd2luZG93LnBvc3RNZXNzYWdlKGZpcnN0
LCBzZWNvbmQpOworICAgICAgICAgICAgcG9zdE1lc3NhZ2VGdW5jdGlvbihmaXJzdCwgc2Vjb25k
KTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgd2luZG93LnBvc3RNZXNzYWdlKGZpcnN0LCBz
ZWNvbmQsIHRoaXJkKTsKKyAgICAgICAgICAgIHBvc3RNZXNzYWdlRnVuY3Rpb24oZmlyc3QsIHNl
Y29uZCwgdGhpcmQpOwogICAgICAgICBjb25zb2xlLmlubmVySFRNTCArPSAoc2hvdWxkRmFpbCA/
ICJGQUlMIiA6ICJQQVNTIikgKyAiOiBQb3N0aW5nIG1lc3NhZ2UgKCciICsgZmlyc3QgKyAiJywg
IiArIHNlY29uZCArICIpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uPGJyPiI7CiAgICB9IGNh
dGNoIChlKSB7CiAgICAgICAgIGNvbnNvbGUuaW5uZXJIVE1MICs9IChzaG91bGRGYWlsID8gIlBB
U1MiIDogIkZBSUwiKSArICI6IFBvc3RpbmcgbWVzc2FnZSAoJyIgKyBmaXJzdCArICInLCAiICsg
c2Vjb25kICsgIik6IHRocmV3IGV4Y2VwdGlvbiAiICsgZSArICI8YnI+IjsKICAgIH0KIH0KIAor
ZnVuY3Rpb24gdHJ5UG9zdE1lc3NhZ2UoZmlyc3QsIHNlY29uZCwgdGhpcmQsIHNob3VsZEZhaWwp
IHsKKyAgICB0cnlQb3N0TWVzc2FnZUZ1bmN0aW9uKHdpbmRvdy5wb3N0TWVzc2FnZSwgZmlyc3Qs
IHNlY29uZCwgdGhpcmQsIHNob3VsZEZhaWwpOworICAgIHRyeVBvc3RNZXNzYWdlRnVuY3Rpb24o
d2luZG93LndlYmtpdFBvc3RNZXNzYWdlLCBmaXJzdCwgc2Vjb25kLCB0aGlyZCwgc2hvdWxkRmFp
bCk7Cit9CisKIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZXNjcmlwdGlvbiIpLmlubmVySFRN
TCA9ICJUZXN0IHRoYXQgdGhlIHNlY29uZCBhcmd1bWVudCBvZiB3aW5kb3cucG9zdE1lc3NhZ2Ug
aXMgaWdub3JlZCBvciB0cmlnZ2VycyBhbiBlcnJvciBpZiBpdCBpcyBub3QgYSBtZXNzYWdlIHBv
cnQuIFlvdSBzaG91bGQgc2VlIFBBU1MgbWVzc2FnZSAnMScgdGhyb3VnaCAnNycsIGZvbGxvd2Vk
IGJ5ICdkb25lJywgd2l0aCBtZXNzYWdlcyA0LTcgcmVjZWl2ZWQgYmVsb3cuPGJyPjxicj4iOwog
Ci12YXIgY2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbDsKIHRyeVBvc3RNZXNzYWdlKCcxJywg
MSwgJyonLCB0cnVlKTsKIHRyeVBvc3RNZXNzYWdlKCcyJywgIiIsICcqJywgdHJ1ZSk7CiB0cnlQ
b3N0TWVzc2FnZSgnMycsIHsgeDogMSB9LCAnKicsIHRydWUpOwogdHJ5UG9zdE1lc3NhZ2UoJzQn
LCB3aW5kb3csICcqJyk7ICAvLyBQYXNzZXMgYmVjYXVzZSB3aW5kb3cgaGFzIGEgImxlbmd0aCIg
YXR0cmlidXRlIG9mIHZhbHVlICcwJywgc28gaXQgbG9va3MgbGlrZSBhbiBhcnJheQogdHJ5UG9z
dE1lc3NhZ2UoJzUnLCBudWxsLCAnKicpOwogdHJ5UG9zdE1lc3NhZ2UoJzYnLCB2b2lkIDAsICcq
Jyk7Ci10cnlQb3N0TWVzc2FnZSgnNycsIFtjaGFubmVsLnBvcnQxLCBjaGFubmVsLnBvcnQyXSwg
JyonKTsKK3ZhciBjaGFubmVsMSA9IG5ldyBNZXNzYWdlQ2hhbm5lbDsKK3RyeVBvc3RNZXNzYWdl
RnVuY3Rpb24od2luZG93LnBvc3RNZXNzYWdlLCAnNycsIFtjaGFubmVsMS5wb3J0MSwgY2hhbm5l
bDEucG9ydDJdLCAnKicpOwordmFyIGNoYW5uZWwyID0gbmV3IE1lc3NhZ2VDaGFubmVsOwordHJ5
UG9zdE1lc3NhZ2VGdW5jdGlvbih3aW5kb3cud2Via2l0UG9zdE1lc3NhZ2UsICc3JywgW2NoYW5u
ZWwyLnBvcnQxLCBjaGFubmVsMi5wb3J0Ml0sICcqJyk7CiB0cnlQb3N0TWVzc2FnZSgyMTQ3NDgz
NjQ4LCBudWxsLCAnKicpOwotdHJ5UG9zdE1lc3NhZ2UoJ2RvbmUnLCAnKicpOwordHJ5UG9zdE1l
c3NhZ2VGdW5jdGlvbih3aW5kb3cucG9zdE1lc3NhZ2UsICdkb25lJywgJyonKTsKIDwvc2NyaXB0
PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4
dAppbmRleCA2YjQ3N2UxLi5lNzE5NjBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4
cGVjdGVkLnR4dApAQCAtNTQzLDYgKzU0Myw3IEBAIFBBU1MgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcih3aW5kb3csICd0b1N0cmluZycpIGlzIHVuZGVmaW5lZC4KIFBBU1MgT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICd2YWx1ZU9mJykgaXMgdW5kZWZpbmVk
LgogUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ3dlYmtpdENv
bnZlcnRQb2ludEZyb21Ob2RlVG9QYWdlJykgaXMgdW5kZWZpbmVkLgogUEFTUyBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ3dlYmtpdENvbnZlcnRQb2ludEZyb21QYWdl
VG9Ob2RlJykgaXMgdW5kZWZpbmVkLgorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKHdpbmRvdywgJ3dlYmtpdFBvc3RNZXNzYWdlJykgaXMgdW5kZWZpbmVkLgogUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LWV4cGVjdGVkLnR4dAppbmRleCAxYzkxZDVjLi45
NTVhZDM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1l
eHBlY3RlZC50eHQKQEAgLTMsOSArMywxNCBAQCBUZXN0IGNyb3NzLWZyYW1lIE1lc3NhZ2VQb3J0
IGNvbW11bmljYXRpb24uCiBTaG91bGQgYmUgYSBzZXJpZXMgb2YgU1VDQ0VTUyBtZXNzYWdlcywg
Zm9sbG93ZWQgd2l0aCBET05FLgogCiBTaW1wbGUgZXhjaGFuZ2U6IFNVQ0NFU1MKK1NpbXBsZSBl
eGNoYW5nZTogU1VDQ0VTUworUG9zdGVkIHBvcnQ6IFNVQ0NFU1MKIFBvc3RlZCBwb3J0OiBTVUND
RVNTCiBFdmVudCBMaXN0ZW5lcjogU1VDQ0VTUworRXZlbnQgTGlzdGVuZXI6IFNVQ0NFU1MKIENs
b3NlZCBwb3J0OiBTVUNDRVNTCitDbG9zZWQgcG9ydDogU1VDQ0VTUworTWVzc2FnZUV2ZW50LmNh
bmNlbGFibGUgZGVmYXVsdHMgdG8gZmFsc2U6IFBBU1MKIE1lc3NhZ2VFdmVudC5jYW5jZWxhYmxl
IGRlZmF1bHRzIHRvIGZhbHNlOiBQQVNTCiBET05FCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
bWVzc2FnZS1wb3J0Lmh0bWwKaW5kZXggZWI4MDE4My4uYjU5MGU0NyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0Lmh0bWwKQEAgLTE1LDQzICsxNSw2MyBAQCBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CiAKIHZhciBtYWluUG9ydDsKIAotZnVuY3Rpb24g
dGVzdCgpCit2YXIgYWxsVGVzdHM7Cit2YXIgY3VycmVudFRlc3QgPSAwOworCitmdW5jdGlvbiBu
ZXh0VGVzdCgpIAoreworICAgIHZhciBmdW4gPSBjdXJyZW50VGVzdCAlIDIgPT0gMCA/ICJwb3N0
TWVzc2FnZSIgOiAid2Via2l0UG9zdE1lc3NhZ2UiOworICAgIHZhciB0ZXN0RnVuTm8gPSBNYXRo
LmZsb29yKGN1cnJlbnRUZXN0IC8gMik7CisgICAgaWYgKHRlc3RGdW5ObyA8IGFsbFRlc3RzLmxl
bmd0aCkKKyAgICB7CisgICAgICAgIHZhciB0ZXN0ID0gYWxsVGVzdHNbdGVzdEZ1bk5vXTsKKyAg
ICAgICAgY3VycmVudFRlc3QrKzsKKyAgICAgICAgdGVzdChmdW4pOworICAgIH0KKyAgICBlbHNl
CisgICAgeworICAgICAgICBkb25lKCk7CisgICAgfQorfQorCitmdW5jdGlvbiB0ZXN0KHBvc3RN
ZXNzYWdlRnVuKQogewogICAgIHZhciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsOwotICAg
IHdpbmRvdy5mcmFtZXNbMF0ucG9zdE1lc3NhZ2UoIm1zZyIsIFtjaGFubmVsLnBvcnQyXSwgIioi
KTsKKworICAgIHdpbmRvdy5mcmFtZXNbMF1bcG9zdE1lc3NhZ2VGdW5dKCJtc2ciLCBbY2hhbm5l
bC5wb3J0Ml0sICIqIik7CiAgICAgbWFpblBvcnQgPSBjaGFubmVsLnBvcnQxOwotICAgIG1haW5Q
b3J0LnBvc3RNZXNzYWdlKCJwaW5nIik7CisgICAgbWFpblBvcnRbcG9zdE1lc3NhZ2VGdW5dKCJw
aW5nIik7CiAgICAgbWFpblBvcnQub25tZXNzYWdlID0gZnVuY3Rpb24oZXZ0KSB7CiAgICAgICAg
IGlmIChldnQuZGF0YSA9PSAicG9uZyIgJiYgZXZ0Lm9yaWdpbiA9PSAiIikKICAgICAgICAgICAg
IGxvZygiU2ltcGxlIGV4Y2hhbmdlOiBTVUNDRVNTIik7CiAgICAgICAgIGVsc2UKICAgICAgICAg
ICAgIGxvZygiU2ltcGxlIGV4Y2hhbmdlOiBGQUlMLiBHb3QgbWVzc2FnZSAnIiArIGV2dC5kYXRh
ICsgIicgZnJvbSAnIiArIGV2dC5vcmlnaW4gKyAiJy4iKTsKLSAgICAgICAgdGVzdDIoKTsKKyAg
ICAgICAgbmV4dFRlc3QoKTsKICAgICB9OwogfQogCi1mdW5jdGlvbiB0ZXN0MigpCitmdW5jdGlv
biB0ZXN0Mihwb3N0TWVzc2FnZUZ1bikKIHsKICAgICB2YXIgY2hhbm5lbCA9IG5ldyBNZXNzYWdl
Q2hhbm5lbDsKLSAgICBtYWluUG9ydC5wb3N0TWVzc2FnZSgibmV3UG9ydCIsIFtjaGFubmVsLnBv
cnQyXSk7CisgICAgbWFpblBvcnRbcG9zdE1lc3NhZ2VGdW5dKCJuZXdQb3J0IiwgW2NoYW5uZWwu
cG9ydDJdKTsKICAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2dCkgewog
ICAgICAgICBpZiAoZXZ0LmRhdGEgPT0gInlvIiAmJiBldnQub3JpZ2luID09ICIiKQogICAgICAg
ICAgICAgbG9nKCJQb3N0ZWQgcG9ydDogU1VDQ0VTUyIpOwogICAgICAgICBlbHNlCiAgICAgICAg
ICAgICBsb2coIlBvc3RlZCBwb3J0OiBGQUlMLiBHb3QgbWVzc2FnZSAnIiArIGV2dC5kYXRhICsg
IicgZnJvbSAnIiArIGV2dC5vcmlnaW4gKyAiJy4iKTsKLSAgICAgICAgdGVzdDMoKTsKKyAgICAg
ICAgbmV4dFRlc3QoKTsKICAgICB9OwogfQogCi1mdW5jdGlvbiB0ZXN0MygpCitmdW5jdGlvbiB0
ZXN0Myhwb3N0TWVzc2FnZUZ1bikKIHsKICAgICB2YXIgY2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hh
bm5lbDsKLSAgICBjaGFubmVsLnBvcnQxLnBvc3RNZXNzYWdlKCIxIik7CisgICAgY2hhbm5lbC5w
b3J0MVtwb3N0TWVzc2FnZUZ1bl0oIjEiKTsKICAgICB2YXIgc3RhcnRlZCA9IGZhbHNlOwogICAg
IGNoYW5uZWwucG9ydDIuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIGZ1bmN0aW9uKGV2dCkg
ewogICAgICAgICBpZiAoc3RhcnRlZCkgewogICAgICAgICAgICAgbG9nKCJFdmVudCBMaXN0ZW5l
cjogU1VDQ0VTUyIpOwotICAgICAgICAgICAgdGVzdDQoKTsKKyAgICAgICAgICAgIG5leHRUZXN0
KCk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgbG9nKCJFdmVudCBMaXN0ZW5lcjogRkFJ
TC4gRXZlbnQgbGlzdGVuZXIgY2FsbGVkIGJlZm9yZSBzdGFydCgpIik7CiAgICB9KTsKQEAgLTYy
LDM2ICs4MiwzNiBAQCBmdW5jdGlvbiB0ZXN0MygpCiAKIH0KIAotZnVuY3Rpb24gdGVzdDQoKQor
ZnVuY3Rpb24gdGVzdDQocG9zdE1lc3NhZ2VGdW4pCiB7CiAgICAgdmFyIGNoYW5uZWwgPSBuZXcg
TWVzc2FnZUNoYW5uZWw7Ci0gICAgY2hhbm5lbC5wb3J0MS5wb3N0TWVzc2FnZSgiMSIpOworICAg
IGNoYW5uZWwucG9ydDFbcG9zdE1lc3NhZ2VGdW5dKCIxIik7CiAgICAgY2hhbm5lbC5wb3J0MS5j
bG9zZSgpOwotICAgIGNoYW5uZWwucG9ydDEucG9zdE1lc3NhZ2UoIjIiKTsKKyAgICBjaGFubmVs
LnBvcnQxW3Bvc3RNZXNzYWdlRnVuXSgiMiIpOwogICAgIGNoYW5uZWwucG9ydDIub25tZXNzYWdl
ID0gZnVuY3Rpb24oZXZ0KSB7CiAgICAgICAgIGlmIChldnQuZGF0YSA9PSAiMSIpIHsKICAgICAg
ICAgICAgIGxvZygiQ2xvc2VkIHBvcnQ6IFNVQ0NFU1MiKTsKLSAgICAgICAgICAgIHRlc3Q1KCk7
CisgICAgICAgICAgICBuZXh0VGVzdCgpOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIGxv
ZygiQ2xvc2VkIHBvcnQ6IEZBSUwuIEdvdCBtZXNzYWdlOiAiICsgZXZ0LmRhdGEgKyAiIGFmdGVy
IGNsb3NlIik7CiAgICB9CiB9CiAKLWZ1bmN0aW9uIHRlc3Q1KCkKK2Z1bmN0aW9uIHRlc3Q1KHBv
c3RNZXNzYWdlRnVuKQogewogICAgIC8vIENyZWF0ZSBhIGNoYW5uZWwgYW5kIHB1dCBzb21lIG1l
c3NhZ2VzIGluIGl0IHdoaWNoIHdpbGwgZ28gdW5kZWxpdmVyZWQgYW5kIHNob3VsZCBub3QgbGVh
awogICAgIHZhciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsOwotICAgIGNoYW5uZWwucG9y
dDEucG9zdE1lc3NhZ2UoImFiY2RlIik7Ci0gICAgdGVzdDYoKTsKKyAgICBjaGFubmVsLnBvcnQx
W3Bvc3RNZXNzYWdlRnVuXSgiYWJjZGUiKTsKKyAgICBuZXh0VGVzdCgpOwogfQogCi1mdW5jdGlv
biB0ZXN0NigpCitmdW5jdGlvbiB0ZXN0Nihwb3N0TWVzc2FnZUZ1bikKIHsKICAgICB2YXIgY2hh
bm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbDsKLSAgICBjaGFubmVsLnBvcnQxLnBvc3RNZXNzYWdl
KCJob3dkeSIpOworICAgIGNoYW5uZWwucG9ydDFbcG9zdE1lc3NhZ2VGdW5dKCJob3dkeSIpOwog
ICAgIGNoYW5uZWwucG9ydDIub25tZXNzYWdlID0gZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICAg
bG9nKCJNZXNzYWdlRXZlbnQuY2FuY2VsYWJsZSBkZWZhdWx0cyB0byAiICsgZXZlbnQuY2FuY2Vs
YWJsZSArICI6ICIgKyAoZXZlbnQuY2FuY2VsYWJsZSA/ICJGQUlMIiA6ICJQQVNTIikpOwotICAg
ICAgICBkb25lKCk7CisgICAgICAgIG5leHRUZXN0KCk7CiAgICAgfQogfQogCkBAIC0xMDQsNiAr
MTI0LDggQEAgZnVuY3Rpb24gZG9uZSgpIHsKICAgICB9LCAxMDApOwogfQogCithbGxUZXN0cyA9
IFsgdGVzdCwgdGVzdDIsIHRlc3QzLCB0ZXN0NCwgdGVzdDUsIHRlc3Q2IF0KKwogPC9zY3JpcHQ+
Ci08aWZyYW1lIHNyYz0icmVzb3VyY2VzL21lc3NhZ2UtcG9ydC1pZnJhbWUuaHRtbCIgb25sb2Fk
PSJ0ZXN0KCkiPjwvaWZyYW1lPgorPGlmcmFtZSBzcmM9InJlc291cmNlcy9tZXNzYWdlLXBvcnQt
aWZyYW1lLmh0bWwiIG9ubG9hZD0ibmV4dFRlc3QoKSI+PC9pZnJhbWU+CiA8L2JvZHk+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtlci1jYWxsLmpz
IGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItY2FsbC5qcwppbmRl
eCAyZjFhZTJmLi45NzgwNTZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMv
cmVzb3VyY2VzL3dvcmtlci1jYWxsLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9y
ZXNvdXJjZXMvd29ya2VyLWNhbGwuanMKQEAgLTEsNSArMSw5IEBACiBwb3N0TWVzc2FnZSgiU1VD
Q0VTUzogcG9zdE1lc3NhZ2UoKSBjYWxsZWQgZGlyZWN0bHkiKTsKK3dlYmtpdFBvc3RNZXNzYWdl
KCJTVUNDRVNTOiB3ZWJraXRQb3N0TWVzc2FnZSgpIGNhbGxlZCBkaXJlY3RseSIpOwogcG9zdE1l
c3NhZ2UuY2FsbChudWxsLCAiU1VDQ0VTUzogcG9zdE1lc3NhZ2UoKSBpbnZva2VkIHZpYSBwb3N0
TWVzc2FnZS5jYWxsKCkiKTsKK3dlYmtpdFBvc3RNZXNzYWdlLmNhbGwobnVsbCwgIlNVQ0NFU1M6
IHdlYmtpdFBvc3RNZXNzYWdlKCkgaW52b2tlZCB2aWEgd2Via2l0UG9zdE1lc3NhZ2UuY2FsbCgp
Iik7CiB2YXIgc2F2ZWQgPSBwb3N0TWVzc2FnZTsKIHNhdmVkKCJTVUNDRVNTOiBwb3N0TWVzc2Fn
ZSgpIGNhbGxlZCB2aWEgaW50ZXJtZWRpYXRlIHZhcmlhYmxlIik7Cit2YXIgc2F2ZWQxID0gd2Vi
a2l0UG9zdE1lc3NhZ2U7CitzYXZlZDEoIlNVQ0NFU1M6IHdlYmtpdFBvc3RNZXNzYWdlKCkgY2Fs
bGVkIHZpYSBpbnRlcm1lZGlhdGUgdmFyaWFibGUiKTsKIHBvc3RNZXNzYWdlKCJET05FIik7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvd29ya2VyLWNhbGwtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3dvcmtlci1jYWxsLWV4cGVjdGVkLnR4dApp
bmRleCA2MjFkM2I1Li5iN2Q2Y2M0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtl
cnMvd29ya2VyLWNhbGwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vy
cy93b3JrZXItY2FsbC1leHBlY3RlZC50eHQKQEAgLTEsNyArMSwxMCBAQAogVGVzdCBjYWxsaW5n
IGZ1bmN0aW9ucyBmcm9tIFdvcmtlckNvbnRleHQuIFNob3VsZCBwcmludCBtdWx0aXBsZSBTVUND
RVNTIGxpbmVzLCBmb2xsb3dlZCBieSBET05FLgogCiBTVUNDRVNTOiBwb3N0TWVzc2FnZSgpIGNh
bGxlZCBkaXJlY3RseQorU1VDQ0VTUzogd2Via2l0UG9zdE1lc3NhZ2UoKSBjYWxsZWQgZGlyZWN0
bHkKIFNVQ0NFU1M6IHBvc3RNZXNzYWdlKCkgaW52b2tlZCB2aWEgcG9zdE1lc3NhZ2UuY2FsbCgp
CitTVUNDRVNTOiB3ZWJraXRQb3N0TWVzc2FnZSgpIGludm9rZWQgdmlhIHdlYmtpdFBvc3RNZXNz
YWdlLmNhbGwoKQogU1VDQ0VTUzogcG9zdE1lc3NhZ2UoKSBjYWxsZWQgdmlhIGludGVybWVkaWF0
ZSB2YXJpYWJsZQorU1VDQ0VTUzogd2Via2l0UG9zdE1lc3NhZ2UoKSBjYWxsZWQgdmlhIGludGVy
bWVkaWF0ZSB2YXJpYWJsZQogRE9ORQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWFyZ3MtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9kb20vV2luZG93L3dp
bmRvdy1wb3N0bWVzc2FnZS1hcmdzLWV4cGVjdGVkLnR4dAppbmRleCA0NWVjNzNkLi41ZjhlOTlk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2RvbS9XaW5k
b3cvd2luZG93LXBvc3RtZXNzYWdlLWFyZ3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtYXJn
cy1leHBlY3RlZC50eHQKQEAgLTEsMTggKzEsMzEgQEAKIFRlc3QgdGhhdCB0aGUgc2Vjb25kIGFy
Z3VtZW50IG9mIHdpbmRvdy5wb3N0TWVzc2FnZSBpcyBpZ25vcmVkIG9yIHRyaWdnZXJzIGFuIGVy
cm9yIGlmIGl0IGlzIG5vdCBhIG1lc3NhZ2UgcG9ydC4gWW91IHNob3VsZCBzZWUgUEFTUyBtZXNz
YWdlICcxJyB0aHJvdWdoICc3JywgZm9sbG93ZWQgYnkgJ2RvbmUnLCB3aXRoIG1lc3NhZ2VzIDQt
NyByZWNlaXZlZCBiZWxvdy4KIAogUEFTUzogUG9zdGluZyBtZXNzYWdlICgnMScsIDEpOiB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBNZXNzYWdlUG9ydEFycmF5IGFyZ3VtZW50IG11c3QgYmUg
YW4gb2JqZWN0CitQQVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCcxJywgMSk6IHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IE1lc3NhZ2VQb3J0QXJyYXkgYXJndW1lbnQgbXVzdCBiZSBhbiBvYmplY3QK
K1BBU1M6IFBvc3RpbmcgbWVzc2FnZSAoJzInLCApOiB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBNZXNzYWdlUG9ydEFycmF5IGFyZ3VtZW50IG11c3QgYmUgYW4gb2JqZWN0CiBQQVNTOiBQb3N0
aW5nIG1lc3NhZ2UgKCcyJywgKTogdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTWVzc2FnZVBv
cnRBcnJheSBhcmd1bWVudCBtdXN0IGJlIGFuIG9iamVjdAogUEFTUzogUG9zdGluZyBtZXNzYWdl
ICgnMycsIFtvYmplY3QgT2JqZWN0XSk6IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE1lc3Nh
Z2VQb3J0QXJyYXkgYXJndW1lbnQgaGFzIG5vIGxlbmd0aCBhdHRyaWJ1dGUKK1BBU1M6IFBvc3Rp
bmcgbWVzc2FnZSAoJzMnLCBbb2JqZWN0IE9iamVjdF0pOiB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBNZXNzYWdlUG9ydEFycmF5IGFyZ3VtZW50IGhhcyBubyBsZW5ndGggYXR0cmlidXRlCitQ
QVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCc0JywgW29iamVjdCBET01XaW5kb3ddKSBkaWQgbm90IHRo
cm93IGFuIGV4Y2VwdGlvbgogUEFTUzogUG9zdGluZyBtZXNzYWdlICgnNCcsIFtvYmplY3QgRE9N
V2luZG93XSkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KIFBBU1M6IFBvc3RpbmcgbWVzc2Fn
ZSAoJzUnLCBudWxsKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgorUEFTUzogUG9zdGluZyBt
ZXNzYWdlICgnNScsIG51bGwpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTOiBQb3N0
aW5nIG1lc3NhZ2UgKCc2JywgdW5kZWZpbmVkKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgog
UEFTUzogUG9zdGluZyBtZXNzYWdlICgnNicsIHVuZGVmaW5lZCkgZGlkIG5vdCB0aHJvdyBhbiBl
eGNlcHRpb24KIFBBU1M6IFBvc3RpbmcgbWVzc2FnZSAoJzcnLCBbb2JqZWN0IE1lc3NhZ2VQb3J0
XSxbb2JqZWN0IE1lc3NhZ2VQb3J0XSkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KK1BBU1M6
IFBvc3RpbmcgbWVzc2FnZSAoJzcnLCBbb2JqZWN0IE1lc3NhZ2VQb3J0XSxbb2JqZWN0IE1lc3Nh
Z2VQb3J0XSkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KK1BBU1M6IFBvc3RpbmcgbWVzc2Fn
ZSAoJzIxNDc0ODM2NDgnLCBudWxsKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgogUEFTUzog
UG9zdGluZyBtZXNzYWdlICgnMjE0NzQ4MzY0OCcsIG51bGwpIGRpZCBub3QgdGhyb3cgYW4gZXhj
ZXB0aW9uCiBQQVNTOiBQb3N0aW5nIG1lc3NhZ2UgKCdkb25lJywgKikgZGlkIG5vdCB0aHJvdyBh
biBleGNlcHRpb24KIFJlY2VpdmVkIG1lc3NhZ2UgJzQnIHdpdGggMCBwb3J0cy4KK1JlY2VpdmVk
IG1lc3NhZ2UgJzQnIHdpdGggMCBwb3J0cy4KK1JlY2VpdmVkIG1lc3NhZ2UgJzUnIHdpdGggMCBw
b3J0cy4KIFJlY2VpdmVkIG1lc3NhZ2UgJzUnIHdpdGggMCBwb3J0cy4KIFJlY2VpdmVkIG1lc3Nh
Z2UgJzYnIHdpdGggMCBwb3J0cy4KK1JlY2VpdmVkIG1lc3NhZ2UgJzYnIHdpdGggMCBwb3J0cy4K
K1JlY2VpdmVkIG1lc3NhZ2UgJzcnIHdpdGggMiBwb3J0cy4KIFJlY2VpdmVkIG1lc3NhZ2UgJzcn
IHdpdGggMiBwb3J0cy4KIFJlY2VpdmVkIG1lc3NhZ2UgJzIxNDc0ODM2NDgnIHdpdGggMCBwb3J0
cy4KK1JlY2VpdmVkIG1lc3NhZ2UgJzIxNDc0ODM2NDgnIHdpdGggMCBwb3J0cy4KIFJlY2VpdmVk
IG1lc3NhZ2UgJ2RvbmUnIHdpdGggMCBwb3J0cy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZG9tL3Byb3RvdHlwZS1p
bmhlcml0YW5jZS1leHBlY3RlZC50eHQKaW5kZXggODVjZWM5OC4uYzk1ODY1MCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9kb20vcHJvdG90eXBlLWluaGVy
aXRhbmNlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9m
YXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CkBAIC00NSw2ICs0NSw4
IEBAIEZBSUwgaW5uZXIudG9vbGJhci5pc0lubmVyIHNob3VsZCBiZSB0cnVlLiBXYXMgZmFsc2Uu
CiBGQUlMIGlubmVyLnRvb2xiYXIuY29uc3RydWN0b3IuaXNJbm5lciBzaG91bGQgYmUgdHJ1ZS4g
V2FzIGZhbHNlLgogRkFJTCBpbm5lci53ZWJraXRJbmRleGVkREIuaXNJbm5lciBzaG91bGQgYmUg
dHJ1ZS4gV2FzIGZhbHNlLgogRkFJTCBpbm5lci53ZWJraXRJbmRleGVkREIuY29uc3RydWN0b3Iu
aXNJbm5lciBzaG91bGQgYmUgdHJ1ZS4gV2FzIGZhbHNlLgorRkFJTCBpbm5lci53ZWJraXRQb3N0
TWVzc2FnZS5pc0lubmVyIHNob3VsZCBiZSB0cnVlLiBXYXMgZmFsc2UuCitGQUlMIGlubmVyLndl
YmtpdFBvc3RNZXNzYWdlLmNvbnN0cnVjdG9yLmlzSW5uZXIgc2hvdWxkIGJlIHRydWUuIFdhcyBm
YWxzZS4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDllY2RjZjkuLmM0OGY0Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MCBA
QAorMjAxMS0wOS0xNSAgRG1pdHJ5IExvbW92ICA8ZHNsb21vdkBnb29nbGUuY29tPgorCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcxNAorICAgICAg
ICBBZGQgd2Via2l0UG9zdE1lc3NhZ2UgdG8gYWxsb3cgZm9yIGFkZGluZyB0cmFuc2ZlcmFibGUg
c3VwcG9ydC4KKyAgICAgICAgVGhpcyBhZGRzIHdlYmtpdFBvc3RNZXNzYWdlLCBjdXJyZW50bHkg
aWRlbnRpY2FsIHRvIHBvc3RNZXNzYWdlLCB3aGljaCAKKyAgICAgICAgd291bGQgbGF0ZXIgYmUg
YSB2ZWhpY2xlIGZvciBhZGRpbmcgdHJhbnNmZXJhYmxlIHN1cHBvcnQgZm9yIG1lc3NhZ2luZy4K
KyAgICAgICAgCisgICAgICAgIEJhc2VkIG9uIHBhdGNoIGJ5IEx1a2UgWmFya28uCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6d2Vi
a2l0UG9zdE1lc3NhZ2UpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRGVkaWNhdGVkV29ya2Vy
Q29udGV4dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RlZGljYXRlZFdvcmtlckNv
bnRleHQ6OndlYmtpdFBvc3RNZXNzYWdlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU01lc3Nh
Z2VFdmVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU01lc3NhZ2VFdmVudDo6d2Vi
a2l0SW5pdE1lc3NhZ2VFdmVudCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNNZXNzYWdlUG9y
dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU01lc3NhZ2VQb3J0Ojp3ZWJraXRQb3N0
TWVzc2FnZSk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXb3JrZXJDdXN0b20uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNXb3JrZXI6OnBvc3RNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6
OkpTV29ya2VyOjp3ZWJraXRQb3N0TWVzc2FnZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmhhbmRsZVBvc3RN
ZXNzYWdlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhET01XaW5kb3c6OnBvc3RNZXNz
YWdlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhET01XaW5kb3c6OndlYmtpdFBvc3RN
ZXNzYWdlQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERlZGljYXRl
ZFdvcmtlckNvbnRleHRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6aGFuZGxlUG9zdE1l
c3NhZ2VDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpWOERlZGljYXRlZFdvcmtlckNvbnRl
eHQ6OnBvc3RNZXNzYWdlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhEZWRpY2F0ZWRX
b3JrZXJDb250ZXh0Ojp3ZWJraXRQb3N0TWVzc2FnZUNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhNZXNzYWdlRXZlbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VjhNZXNzYWdlRXZlbnQ6OmluaXRNZXNzYWdlRXZlbnRDYWxsYmFjayk6CisgICAgICAgIChX
ZWJDb3JlOjpWOE1lc3NhZ2VFdmVudDo6d2Via2l0SW5pdE1lc3NhZ2VFdmVudENhbGxiYWNrKToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlUG9ydEN1c3RvbS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKToKKyAgICAgICAgKFdl
YkNvcmU6OlY4TWVzc2FnZVBvcnQ6OnBvc3RNZXNzYWdlQ2FsbGJhY2spOgorICAgICAgICAoV2Vi
Q29yZTo6VjhNZXNzYWdlUG9ydDo6d2Via2l0UG9zdE1lc3NhZ2VDYWxsYmFjayk6CisgICAgICAg
ICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4V29ya2VyQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhXb3Jr
ZXI6OnBvc3RNZXNzYWdlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhXb3JrZXI6Ondl
YmtpdFBvc3RNZXNzYWdlQ2FsbGJhY2spOgorICAgICAgICAqIGRvbS9NZXNzYWdlRXZlbnQuaWRs
OgorICAgICAgICAqIGRvbS9NZXNzYWdlUG9ydC5pZGw6CisgICAgICAgICogcGFnZS9ET01XaW5k
b3cuaWRsOgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyQ29udGV4dC5pZGw6Cisg
ICAgICAgICogd29ya2Vycy9Xb3JrZXIuaWRsOgorCiAyMDExLTA5LTE2ICBBbnR0aSBLb2l2aXN0
byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyOTUwNTIpOiBTZWxl
Y3RvckNoZWNrZXIgaWRlbnRpZmllciBmaWx0ZXIgbm90IHdvcmtpbmcKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAppbmRleCBmNmM4OWQ5Li44
NDI2MTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dD
dXN0b20uY3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNywgMjAw
OCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYwpAQCAtNzI0LDYgKzcyNSwxMSBAQCBKU1ZhbHVlIEpTRE9NV2luZG93Ojpwb3N0TWVz
c2FnZShFeGVjU3RhdGUqIGV4ZWMpCiAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiB9CiAKK0pT
VmFsdWUgSlNET01XaW5kb3c6OndlYmtpdFBvc3RNZXNzYWdlKEV4ZWNTdGF0ZSogZXhlYykKK3sK
KyAgICByZXR1cm4gcG9zdE1lc3NhZ2UoZXhlYyk7Cit9CisKIEpTVmFsdWUgSlNET01XaW5kb3c6
OnNldFRpbWVvdXQoRXhlY1N0YXRlKiBleGVjKQogewogICAgIENvbnRlbnRTZWN1cml0eVBvbGlj
eSogY29udGVudFNlY3VyaXR5UG9saWN5ID0gaW1wbCgpLT5kb2N1bWVudCgpID8gaW1wbCgpLT5k
b2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKSA6IDA7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3Vz
dG9tLmNwcAppbmRleCAyMjIyMzUzLi5hYjBjNWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5j
cHAKQEAgLTEsNiArMSw2IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgQXBwbGUsIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQpAQCAtNDcsNiArNDcsMTEgQEAgSlNDOjpKU1ZhbHVlIEpTRGVkaWNhdGVkV29ya2VyQ29u
dGV4dDo6cG9zdE1lc3NhZ2UoSlNDOjpFeGVjU3RhdGUqIGV4ZWMpCiAgICAgcmV0dXJuIGhhbmRs
ZVBvc3RNZXNzYWdlKGV4ZWMsIGltcGwoKSk7CiB9CiAKK0pTQzo6SlNWYWx1ZSBKU0RlZGljYXRl
ZFdvcmtlckNvbnRleHQ6OndlYmtpdFBvc3RNZXNzYWdlKEpTQzo6RXhlY1N0YXRlKiBleGVjKQor
eworICAgIHJldHVybiBoYW5kbGVQb3N0TWVzc2FnZShleGVjLCBpbXBsKCkpOworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV09SS0VSUykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcAppbmRl
eCA4YmU4MWJlLi5lNzQ4Y2ZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwCkBAIC0xMTksNCArMTE5LDkgQEAgSlNDOjpKU1Zh
bHVlIEpTTWVzc2FnZUV2ZW50Ojppbml0TWVzc2FnZUV2ZW50KEpTQzo6RXhlY1N0YXRlKiBleGVj
KQogICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogfQogCitKU0M6OkpTVmFsdWUgSlNNZXNzYWdl
RXZlbnQ6OndlYmtpdEluaXRNZXNzYWdlRXZlbnQoSlNDOjpFeGVjU3RhdGUqIGV4ZWMpCit7Cisg
ICAgcmV0dXJuIGluaXRNZXNzYWdlRXZlbnQoZXhlYyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVzc2FnZVBv
cnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1
c3RvbS5jcHAKaW5kZXggMDE3YjI0Yi4uOGFkZjRhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1c3RvbS5jcHAKQEAgLTEsNSArMSw2IEBACiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02MCw2ICs2MSwxMSBAQCBK
U0M6OkpTVmFsdWUgSlNNZXNzYWdlUG9ydDo6cG9zdE1lc3NhZ2UoSlNDOjpFeGVjU3RhdGUqIGV4
ZWMpCiAgICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlKGV4ZWMsIGltcGwoKSk7CiB9CiAKK0pT
Qzo6SlNWYWx1ZSBKU01lc3NhZ2VQb3J0Ojp3ZWJraXRQb3N0TWVzc2FnZShKU0M6OkV4ZWNTdGF0
ZSogZXhlYykKK3sKKyAgICByZXR1cm4gaGFuZGxlUG9zdE1lc3NhZ2UoZXhlYywgaW1wbCgpKTsK
K30KKwogdm9pZCBmaWxsTWVzc2FnZVBvcnRBcnJheShKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlND
OjpKU1ZhbHVlIHZhbHVlLCBNZXNzYWdlUG9ydEFycmF5JiBwb3J0QXJyYXkpCiB7CiAgICAgLy8g
Q29udmVydCBmcm9tIHRoZSBwYXNzZWQtaW4gSlMgYXJyYXktbGlrZSBvYmplY3QgdG8gYSBNZXNz
YWdlUG9ydEFycmF5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
b3JrZXJDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJDdXN0
b20uY3BwCmluZGV4IDNhZmRjMDkuLjBiYTM3ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTV29ya2VyQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1dvcmtlckN1c3RvbS5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJp
Z2h0IChDKSAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00NCw2ICs0NSwxMSBAQCBKU0M6OkpTVmFsdWUg
SlNXb3JrZXI6OnBvc3RNZXNzYWdlKEpTQzo6RXhlY1N0YXRlKiBleGVjKQogICAgIHJldHVybiBo
YW5kbGVQb3N0TWVzc2FnZShleGVjLCBpbXBsKCkpOwogfQogCitKU0M6OkpTVmFsdWUgSlNXb3Jr
ZXI6OndlYmtpdFBvc3RNZXNzYWdlKEpTQzo6RXhlY1N0YXRlKiBleGVjKQoreworICAgIHJldHVy
biBoYW5kbGVQb3N0TWVzc2FnZShleGVjLCBpbXBsKCkpOworfQorCiBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIEpTV29ya2VyQ29uc3RydWN0b3I6OmNvbnN0cnVjdEpTV29ya2VyKEV4ZWNT
dGF0ZSogZXhlYykKIHsKICAgICBKU1dvcmtlckNvbnN0cnVjdG9yKiBqc0NvbnN0cnVjdG9yID0g
c3RhdGljX2Nhc3Q8SlNXb3JrZXJDb25zdHJ1Y3Rvcio+KGV4ZWMtPmNhbGxlZSgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3Rv
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0
b20uY3BwCmluZGV4IDIzNDJmZTYuLmNjMDQwNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcApAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzEz
LDkgKzMxMyw4IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERPTVdpbmRvdzo6cmVtb3ZlRXZl
bnRMaXN0ZW5lckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVuCiAgICAgcmV0dXJuIHY4OjpVbmRl
ZmluZWQoKTsKIH0KIAotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RE9NV2luZG93Ojpwb3N0TWVz
c2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCitzdGF0aWMgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50
cyYgYXJncykKIHsKLSAgICBJTkNfU1RBVFMoIkRPTS5ET01XaW5kb3cucG9zdE1lc3NhZ2UoKSIp
OwogICAgIERPTVdpbmRvdyogd2luZG93ID0gVjhET01XaW5kb3c6OnRvTmF0aXZlKGFyZ3MuSG9s
ZGVyKCkpOwogCiAgICAgRE9NV2luZG93KiBzb3VyY2UgPSBWOFByb3h5OjpyZXRyaWV2ZUZyYW1l
Rm9yQ2FsbGluZ0NvbnRleHQoKS0+ZG9tV2luZG93KCk7CkBAIC0zNTAsNiArMzQ5LDE4IEBAIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBWOERPTVdpbmRvdzo6cG9zdE1lc3NhZ2VDYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzJiBhcmdzCiAgICAgcmV0dXJuIHRocm93RXJyb3IoZWMpOwogfQogCit2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhET01XaW5kb3c6OnBvc3RNZXNzYWdlQ2FsbGJhY2soY29u
c3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5ET01XaW5kb3cu
cG9zdE1lc3NhZ2UoKSIpOworICAgIHJldHVybiBoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKGFy
Z3MpOworfQorCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhET01XaW5kb3c6OndlYmtpdFBvc3RN
ZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKK3sKKyAgICBJTkNfU1RB
VFMoIkRPTS5ET01XaW5kb3cud2Via2l0UG9zdE1lc3NhZ2UoKSIpOworICAgIHJldHVybiBoYW5k
bGVQb3N0TWVzc2FnZUNhbGxiYWNrKGFyZ3MpOworfQorCiAvLyBGSVhNRShmcWlhbik6IHJldHVy
bmluZyBzdHJpbmcgaXMgY2hlYXRpbmcsIGFuZCB3ZSBzaG91bGQKIC8vIGZpeCB0aGlzIGJ5IGNh
bGxpbmcgdG9TdHJpbmcgZnVuY3Rpb24gb24gdGhlIHJlY2VpdmVyLgogLy8gSG93ZXZlciwgVjgg
aW1wbGVtZW50cyB0b1N0cmluZyBpbiBKYXZhU2NyaXB0LCB3aGljaCByZXF1aXJlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29ya2Vy
Q29udGV4dEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhE
ZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcAppbmRleCA4ZmNmOWE4Li5jMzg1NzNhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZWRpY2F0ZWRX
b3JrZXJDb250ZXh0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNDIsOSArNDIs
OCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERl
ZGljYXRlZFdvcmtlckNvbnRleHQ6OnBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3Vt
ZW50cyYgYXJncykKK3N0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gaGFuZGxlUG9zdE1lc3Nh
Z2VDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewotICAgIElOQ19TVEFUUyhM
IkRPTS5EZWRpY2F0ZWRXb3JrZXJDb250ZXh0LnBvc3RNZXNzYWdlIik7CiAgICAgRGVkaWNhdGVk
V29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCA9IFY4RGVkaWNhdGVkV29ya2VyQ29udGV4dDo6
dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgYm9vbCBkaWRUaHJvdyA9IGZhbHNlOwogICAg
IFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1lc3NhZ2UgPSBTZXJpYWxpemVkU2NyaXB0
VmFsdWU6OmNyZWF0ZShhcmdzWzBdLCBkaWRUaHJvdyk7CkBAIC02MCw2ICs1OSwxOCBAQCB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Ojpwb3N0TWVzc2FnZUNh
bGxiYWNrKGNvbnN0IHY4OjpBcgogICAgIHJldHVybiB0aHJvd0Vycm9yKGVjKTsKIH0KIAordjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGVkaWNhdGVkV29ya2VyQ29udGV4dDo6cG9zdE1lc3NhZ2VD
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIElOQ19TVEFUUyhMIkRP
TS5EZWRpY2F0ZWRXb3JrZXJDb250ZXh0LnBvc3RNZXNzYWdlIik7CisgICAgcmV0dXJuIGhhbmRs
ZVBvc3RNZXNzYWdlQ2FsbGJhY2soYXJncyk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OERlZGljYXRlZFdvcmtlckNvbnRleHQ6OndlYmtpdFBvc3RNZXNzYWdlQ2FsbGJhY2soY29uc3Qg
djg6OkFyZ3VtZW50cyYgYXJncykKK3sKKyAgICBJTkNfU1RBVFMoTCJET00uRGVkaWNhdGVkV29y
a2VyQ29udGV4dC5wb3N0TWVzc2FnZSIpOworICAgIHJldHVybiBoYW5kbGVQb3N0TWVzc2FnZUNh
bGxiYWNrKGFyZ3MpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBF
TkFCTEUoV09SS0VSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOE1lc3NhZ2VFdmVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhNZXNzYWdlRXZlbnRDdXN0b20uY3BwCmluZGV4IGQ2NDA4M2MuLmI5OTY3MmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VF
dmVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
TWVzc2FnZUV2ZW50Q3VzdG9tLmNwcApAQCAtMTI1LDYgKzEyNSwxMyBAQCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gVjhNZXNzYWdlRXZlbnQ6OmluaXRNZXNzYWdlRXZlbnRDYWxsYmFjayhjb25zdCB2
ODo6QXJndW1lbgogICAgIHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZSBkYXRhQXR0ciA9IHN0YXRpY19j
YXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6OkRvbnREZWxldGUgfCB2ODo6UmVhZE9ubHkp
OwogICAgIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6ZGVzZXJpYWxpemVBbmRTZXRQcm9wZXJ0eShh
cmdzLkhvbGRlcigpLCAiZGF0YSIsIGRhdGFBdHRyLCBldmVudC0+ZGF0YUFzU2VyaWFsaXplZFNj
cmlwdFZhbHVlKCkpOwogICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7Ci0gIH0KK30KKwordjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4TWVzc2FnZUV2ZW50Ojp3ZWJraXRJbml0TWVzc2FnZUV2ZW50
Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKK3sKKyAgICBJTkNfU1RBVFMoIkRP
TS5NZXNzYWdlRXZlbnQud2Via2l0SW5pdE1lc3NhZ2VFdmVudCIpOworICAgIHJldHVybiBpbml0
TWVzc2FnZUV2ZW50Q2FsbGJhY2soYXJncyk7Cit9CisKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2Fn
ZVBvcnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVz
c2FnZVBvcnRDdXN0b20uY3BwCmluZGV4IDk0ZTE3NDMuLjU1NDNhMWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VQb3J0Q3VzdG9tLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlUG9ydEN1c3Rv
bS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKQEAgLTQyLDkgKzQyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gVjhNZXNzYWdlUG9ydDo6cG9zdE1lc3NhZ2VDYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzJiBhcmdzKQorc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBoYW5k
bGVQb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7Ci0gICAg
SU5DX1NUQVRTKCJET00uTWVzc2FnZVBvcnQucG9zdE1lc3NhZ2UiKTsKICAgICBNZXNzYWdlUG9y
dCogbWVzc2FnZVBvcnQgPSBWOE1lc3NhZ2VQb3J0Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsK
ICAgICBib29sIGRpZFRocm93ID0gZmFsc2U7CiAgICAgUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZT4gbWVzc2FnZSA9IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKGFyZ3NbMF0sIGRp
ZFRocm93KTsKQEAgLTYwLDYgKzU5LDE4IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE1lc3Nh
Z2VQb3J0Ojpwb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyCiAgICAg
cmV0dXJuIHRocm93RXJyb3IoZWMpOwogfQogCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhNZXNz
YWdlUG9ydDo6cG9zdE1lc3NhZ2VDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQor
eworICAgIElOQ19TVEFUUygiRE9NLk1lc3NhZ2VQb3J0LnBvc3RNZXNzYWdlIik7CisgICAgcmV0
dXJuIGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2soYXJncyk7Cit9CisKK3Y4OjpIYW5kbGU8djg6
OlZhbHVlPiBWOE1lc3NhZ2VQb3J0Ojp3ZWJraXRQb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4
OjpBcmd1bWVudHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJET00uTWVzc2FnZVBvcnQud2Vi
a2l0UG9zdE1lc3NhZ2UiKTsKKyAgICByZXR1cm4gaGFuZGxlUG9zdE1lc3NhZ2VDYWxsYmFjayhh
cmdzKTsKK30KKwogYm9vbCBnZXRNZXNzYWdlUG9ydEFycmF5KHY4OjpMb2NhbDx2ODo6VmFsdWU+
IHZhbHVlLCBNZXNzYWdlUG9ydEFycmF5JiBwb3J0QXJyYXkpCiB7CiAgICAgaWYgKGlzVW5kZWZp
bmVkT3JOdWxsKHZhbHVlKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4V29ya2VyQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOFdvcmtlckN1c3RvbS5jcHAKaW5kZXggM2EwNDA1Ny4uYTg0MTIwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V29ya2VyQ3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXb3JrZXJDdXN0b20u
Y3BwCkBAIC00Nyw3ICs0Nyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4V29ya2VyOjpwb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1
bWVudHMmIGFyZ3MpCitzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGhhbmRsZVBvc3RNZXNz
YWdlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKICAgICBJTkNfU1RBVFMo
IkRPTS5Xb3JrZXIucG9zdE1lc3NhZ2UiKTsKICAgICBXb3JrZXIqIHdvcmtlciA9IFY4V29ya2Vy
Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKQEAgLTY1LDYgKzY1LDE5IEBAIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBWOFdvcmtlcjo6cG9zdE1lc3NhZ2VDYWxsYmFjayhjb25zdCB2ODo6QXJndW1l
bnRzJiBhcmdzKQogICAgIHJldHVybiB0aHJvd0Vycm9yKGVjKTsKIH0KIAordjg6OkhhbmRsZTx2
ODo6VmFsdWU+IFY4V29ya2VyOjpwb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVu
dHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJET00uV29ya2VyLnBvc3RNZXNzYWdlIik7Cisg
ICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2soYXJncyk7Cit9CisKK3Y4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOFdvcmtlcjo6d2Via2l0UG9zdE1lc3NhZ2VDYWxsYmFjayhjb25zdCB2
ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIElOQ19TVEFUUygiRE9NLldvcmtlci53ZWJraXRQ
b3N0TWVzc2FnZSIpOworICAgIHJldHVybiBoYW5kbGVQb3N0TWVzc2FnZUNhbGxiYWNrKGFyZ3Mp
OworfQorCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXT1JL
RVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VFdmVudC5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmlkbAppbmRleCA5Njk0ZGVlLi42YmIyYjY1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmlkbApAQCAtMSw1ICsxLDYgQEAKIC8qCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMDcgSGVucnkgTWFzb24gPGhtYXNvbkBtYWMuY29tPgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ0LDYgKzQ1LDE1IEBAIG1vZHVsZSBldmVudHMg
ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPUNh
bGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcgbGFzdEV2ZW50SWRBcmcsIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVs
dFZhbHVlXSBET01XaW5kb3cgc291cmNlQXJnLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gQXJyYXkgbWVz
c2FnZVBvcnRzKTsKKworICAgICAgICBbQ3VzdG9tXSB2b2lkIHdlYmtpdEluaXRNZXNzYWdlRXZl
bnQoaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcgdHlwZUFyZywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25h
bD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gYm9vbGVhbiBjYW5CdWJibGVBcmcsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9Q2FsbFdpdGhE
ZWZhdWx0VmFsdWVdIGJvb2xlYW4gY2FuY2VsYWJsZUFyZywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1
ZV0gU2VyaWFsaXplZFNjcmlwdFZhbHVlIGRhdGFBcmcsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVd
IERPTVN0cmluZyBvcmlnaW5BcmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyBs
YXN0RXZlbnRJZEFyZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NV2luZG93IHNvdXJjZUFy
ZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRp
b25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gQXJyYXkgdHJhbnNmZXJhYmxlcyk7CiAjZWxzZQog
ICAgICAgICAvLyBDb2RlIGdlbmVyYXRvciBmb3IgT2JqQyBiaW5kaW5ncyBkb2VzIG5vdCBzdXBw
b3J0IGN1c3RvbSBiaW5kaW5ncywgdGh1cyB0aGVyZSBpcyBubyBnb29kIHdheSB0bwogICAgICAg
ICAvLyByZXR1cm4gYSB2YXJpYW50IHZhbHVlLiBBcyB3b3JrYXJvdW5kLCBleHBvc2UgdGhlIGRh
dGEgYXR0cmlidXRlIGFzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2Fn
ZVBvcnQuaWRsCmluZGV4IDI4ODMzY2UuLmIyNmYzMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9NZXNzYWdlUG9ydC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQ
b3J0LmlkbApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUg
SW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJ
bmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTM4LDYgKzM5LDggQEAgbW9kdWxlIGV2ZW50cyB7CiAjaWYgZGVmaW5lZChMQU5HVUFHRV9K
QVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9KQVZBU0NSSVBUCiAgICAgICAgIFtDdXN0b21dIHZvaWQg
cG9zdE1lc3NhZ2UoaW4gRE9NU3RyaW5nIG1lc3NhZ2UsIGluIFtPcHRpb25hbF0gQXJyYXkgbWVz
c2FnZVBvcnRzKQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIFtD
dXN0b21dIHZvaWQgd2Via2l0UG9zdE1lc3NhZ2UoaW4gRE9NU3RyaW5nIG1lc3NhZ2UsIGluIFtP
cHRpb25hbF0gQXJyYXkgdHJhbnNmZXIpCisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9u
KTsKICAgICAgICAgdm9pZCBzdGFydCgpOwogICAgICAgICB2b2lkIGNsb3NlKCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCBmYzkwNzgyLi45MWQ0NGZhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuaWRsCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAw
NiwgMjAwNywgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjE1LDYgKzIxNiw4IEBAIG1vZHVsZSB3aW5k
b3cgewogI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgJiYgTEFOR1VBR0VfSkFWQVND
UklQVAogICAgICAgICBbRG9Ob3RDaGVja0RvbWFpblNlY3VyaXR5LCBDdXN0b21dIHZvaWQgcG9z
dE1lc3NhZ2UoaW4gU2VyaWFsaXplZFNjcmlwdFZhbHVlIG1lc3NhZ2UsIGluIFtPcHRpb25hbF0g
QXJyYXkgbWVzc2FnZVBvcnRzLCBpbiBET01TdHJpbmcgdGFyZ2V0T3JpZ2luKQogICAgICAgICAg
ICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIFtEb05vdENoZWNrRG9tYWluU2VjdXJp
dHksIEN1c3RvbV0gdm9pZCB3ZWJraXRQb3N0TWVzc2FnZShpbiBTZXJpYWxpemVkU2NyaXB0VmFs
dWUgbWVzc2FnZSwgaW4gW09wdGlvbmFsXSBBcnJheSB0cmFuc2Zlckxpc3QsIGluIERPTVN0cmlu
ZyB0YXJnZXRPcmlnaW4pCisgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICNlbHNl
CiAgICAgICAgIC8vIFRoZXJlJ3Mgbm8gZ29vZCB3YXkgdG8gZXhwb3NlIGFuIGFycmF5IHZpYSB0
aGUgT2JqQyBiaW5kaW5ncywgc28gZm9yIG5vdyBqdXN0IGFsbG93IHBhc3NpbmcgaW4gYSBzaW5n
bGUgcG9ydC4KICAgICAgICAgW0RvTm90Q2hlY2tEb21haW5TZWN1cml0eSwgQ3VzdG9tXSB2b2lk
IHBvc3RNZXNzYWdlKGluIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBtZXNzYWdlLCBpbiBbT3B0aW9u
YWxdIE1lc3NhZ2VQb3J0IG1lc3NhZ2VQb3J0LCBpbiBET01TdHJpbmcgdGFyZ2V0T3JpZ2luKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJDb250ZXh0
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyQ29udGV4dC5pZGwK
aW5kZXggMjJkMzUyNS4uOWViYjBkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9EZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L0RlZGljYXRlZFdvcmtlckNvbnRleHQuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDA5LCAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC00Myw2ICs0Myw4IEBAIG1vZHVsZSB0
aHJlYWRzIHsKICNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpICYmIExBTkdVQUdFX0pB
VkFTQ1JJUFQKICAgICAgICAgW0N1c3RvbV0gdm9pZCBwb3N0TWVzc2FnZShpbiBhbnkgbWVzc2Fn
ZSwgaW4gW09wdGlvbmFsXSBBcnJheSBtZXNzYWdlUG9ydHMpCiAgICAgICAgICAgICByYWlzZXMo
RE9NRXhjZXB0aW9uKTsKKyAgICAgICAgW0N1c3RvbV0gdm9pZCB3ZWJraXRQb3N0TWVzc2FnZShp
biBhbnkgbWVzc2FnZSwgaW4gW09wdGlvbmFsXSBBcnJheSB0cmFuc2Zlckxpc3QpCisgICAgICAg
ICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICNlbHNlCiAgICAgICAgIC8vIFRoZXJlJ3Mgbm8g
Z29vZCB3YXkgdG8gZXhwb3NlIGFuIGFycmF5IHZpYSB0aGUgT2JqQyBiaW5kaW5ncywgc28gZm9y
IG5vdyBqdXN0IGFsbG93IHBhc3NpbmcgaW4gYSBzaW5nbGUgcG9ydC4KICAgICAgICAgdm9pZCBw
b3N0TWVzc2FnZShpbiBET01TdHJpbmcgbWVzc2FnZSwgaW4gW09wdGlvbmFsXSBNZXNzYWdlUG9y
dCBtZXNzYWdlUG9ydCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAppbmRleCBmODcxZGY5Li4x
ZmFhYzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCkBAIC0xLDUgKzEsNiBAQAogLyoK
ICAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAxMCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDUsNiArNDYsOCBAQCBtb2R1
bGUgdGhyZWFkcyB7CiAjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFH
RV9KQVZBU0NSSVBUCiAgICAgICAgIFtDdXN0b21dIHZvaWQgcG9zdE1lc3NhZ2UoaW4gU2VyaWFs
aXNlZFNjcmlwdFZhbHVlIG1lc3NhZ2UsIGluIFtPcHRpb25hbF0gQXJyYXkgbWVzc2FnZVBvcnRz
KQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIFtDdXN0b21dIHZv
aWQgd2Via2l0UG9zdE1lc3NhZ2UoaW4gU2VyaWFsaXNlZFNjcmlwdFZhbHVlIG1lc3NhZ2UsIGlu
IFtPcHRpb25hbF0gQXJyYXkgbWVzc2FnZVBvcnRzKQorICAgICAgICAgICAgcmFpc2VzKERPTUV4
Y2VwdGlvbik7CiAjZWxzZQogICAgICAgICAvLyBUaGVyZSdzIG5vIGdvb2Qgd2F5IHRvIGV4cG9z
ZSBhbiBhcnJheSB2aWEgdGhlIE9iakMgYmluZGluZ3MsIHNvIGZvciBub3cganVzdCBhbGxvdyBw
YXNzaW5nIGluIGEgc2luZ2xlIHBvcnQuCiAgICAgICAgIHZvaWQgcG9zdE1lc3NhZ2UoaW4gU2Vy
aWFsaXplZFNjcmlwdFZhbHVlIG1lc3NhZ2UsIGluIFtPcHRpb25hbF0gTWVzc2FnZVBvcnQgbWVz
c2FnZVBvcnQpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>