<?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>58518</bug_id>
          
          <creation_ts>2011-04-13 23:28:33 -0700</creation_ts>
          <short_desc>BlobBuilder should be vendor-prefixed</short_desc>
          <delta_ts>2011-04-17 22:45:17 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kinuko Yasuda">kinuko</reporter>
          <assigned_to name="Jian Li">jianli</assigned_to>
          <cc>ericu</cc>
    
    <cc>fishd</cc>
    
    <cc>tzik</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>385547</commentid>
    <comment_count>0</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2011-04-13 23:28:33 -0700</bug_when>
    <thetext>Since FileWriter API is not yet standard, we should vendor-prefix BlobBuilder.
(As for FileWriter it cannot be created without requesting FileSystem, whose entry point will be prefixed as well, we won&apos;t need to prefix it separately.)

window.BlobBuilder -&gt; window.webkitBlobBuilder</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385791</commentid>
    <comment_count>1</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-04-14 08:59:14 -0700</bug_when>
    <thetext>Shouldn&apos;t it be WebKitBlobBuilder, like WebKitPoint?  Things you can construct start with an upper-case letter, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385971</commentid>
    <comment_count>2</comment_count>
      <attachid>89631</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2011-04-14 13:01:27 -0700</bug_when>
    <thetext>Created attachment 89631
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387548</commentid>
    <comment_count>3</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2011-04-17 22:45:17 -0700</bug_when>
    <thetext>Submitted: http://trac.webkit.org/changeset/83884</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89631</attachid>
            <date>2011-04-14 13:01:27 -0700</date>
            <delta_ts>2011-04-14 13:09:57 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>58518</filename>
            <type>text/plain</type>
            <size>72160</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0ODk0OWIzLi4yMWRlOGU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNTIgQEAKIDIwMTEtMDQt
MTQgIEppYW4gTGkgIDxqaWFubGlAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJsb2JCdWlsZGVyIHNob3VsZCBiZSB2ZW5kb3It
cHJlZml4ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTU4NTE4CisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL3dpbmRvdy1w
cm9wZXJ0eS1kZXNjcmlwdG9ycy5qczoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3Bl
cnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9wcm90b3R5
cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vcHJvdG90
eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9zY3JpcHQt
dGVzdHMvY29uc3RydWN0ZWQtb2JqZWN0cy1wcm90b3R5cGVzLmpzOgorICAgICAgICAoY29uc3Ry
dWN0b3JQcm9wZXJ0aWVzT25XaW5kb3cpOgorICAgICAgICAqIGZhc3QvZG9tL3NjcmlwdC10ZXN0
cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qczoKKyAgICAgICAgKGNvbnN0cnVjdG9yTmFtZXNG
b3JXaW5kb3cpOgorICAgICAgICAqIGZhc3QvZG9tL3NjcmlwdC10ZXN0cy9wcm90b3R5cGUtaW5o
ZXJpdGFuY2UuanM6CisgICAgICAgICogZmFzdC9kb20vd2luZG93LWRvbXVybC1jcmFzaC5odG1s
OgorICAgICAgICAqIGZhc3QvZmlsZXMvYmxvYi1zbGljZS1vdmVyZmxvdy5odG1sOgorICAgICAg
ICAqIGZhc3QvZmlsZXMvYmxvYi1zbGljZS10ZXN0Lmh0bWw6CisgICAgICAgICogZmFzdC9maWxl
cy9yZXNvdXJjZXMvcmVhZC1ibG9iLXRlc3QtY2FzZXMuanM6CisgICAgICAgICh0ZXN0UmVhZGlu
Z1RyaXBsZVNsaWNlZEh5YnJpZEJsb2IpOgorICAgICAgICAqIGZhc3QvZmlsZXMvcmVzb3VyY2Vz
L3JlYWQtY29tbW9uLmpzOgorICAgICAgICAoYnVpbGRCbG9iKToKKyAgICAgICAgKiBmYXN0L2Zp
bGVzL3dvcmtlcnMvaW5saW5lLXdvcmtlci12aWEtYmxvYi11cmwuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZpbGUtd3JpdGVyLWV2ZW50cy5qczoKKyAgICAgICAg
KHRlblhCbG9iKToKKyAgICAgICAgKHN0YXJ0V3JpdGUpOgorICAgICAgICAqIGZhc3QvZmlsZXN5
c3RlbS9yZXNvdXJjZXMvZmlsZS13cml0ZXItZ2MtYmxvYi5qczoKKyAgICAgICAgKHRlblhCbG9i
KToKKyAgICAgICAgKHN0YXJ0V3JpdGUpOgorICAgICAgICAqIGZhc3QvZmlsZXN5c3RlbS9yZXNv
dXJjZXMvZmlsZS13cml0ZXItc3luYy10cnVuY2F0ZS1leHRlbmQuanM6CisgICAgICAgICogZmFz
dC9maWxlc3lzdGVtL3Jlc291cmNlcy9maWxlLXdyaXRlci1zeW5jLXdyaXRlLW92ZXJsYXBwZWQu
anM6CisgICAgICAgICogZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9maWxlLXdyaXRlci11dGls
cy5qczoKKyAgICAgICAgKiBmYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGZhc3QvanMvc2NyaXB0LXRlc3RzL2dsb2JhbC1jb25zdHJ1Y3RvcnMuanM6
CisgICAgICAgICogaHR0cC90ZXN0cy9maWxlYXBpL2NyZWF0ZS1ibG9iLXVybC1mcm9tLWRhdGEt
dXJsLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9sb2NhbC9ibG9iL3Jlc291cmNlcy9oeWJy
aWQtYmxvYi11dGlsLmpzOgorICAgICAgICAoSHlicmlkQmxvYlRlc3RVdGlsLnRoaXMuYXBwZW5k
QW5kQ3JlYXRlQmxvYik6CisgICAgICAgIChIeWJyaWRCbG9iVGVzdFV0aWwpOgorICAgICAgICAq
IGh0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2NyZWF0ZS1maWxlc3lzdGVtLWZpbGUuaHRt
bDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJp
dGFuY2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZG9tL1dpbmRv
dy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL3F0L2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZmFzdC9kb20vd2luZG93LWRvbXVybC1jcmFz
aC1leHBlY3RlZC50eHQ6CisKKzIwMTEtMDQtMTQgIEppYW4gTGkgIDxqaWFubGlAY2hyb21pdW0u
b3JnPgorCiAgICAgICAgIFVucmV2aWV3ZWQsIGZpeGVkIHRlc3RzIGNhdXNlZCBieSByODM4NzMu
CiAKICAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZpbGUtd3JpdGVyLXV0aWxz
LmpzOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3NjcmlwdC10ZXN0
cy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9X
aW5kb3cvc2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy5qcwppbmRleCAx
NGY2Njc4Li45ZWMzMjRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cv
c2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy5qcworKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlw
dG9ycy5qcwpAQCAtMzksNiArMzksNyBAQCB2YXIgX19za2lwX18gPSB7CiAgICAgIkZsb2F0MzJB
cnJheSIgOiAxLAogICAgICJGaWxlRXJyb3IiIDogMSwKICAgICAiRmlsZVJlYWRlciIgOiAxLAor
ICAgICJXZWJLaXRCbG9iQnVpbGRlciIgOiAxLAogICAgICJvbmRldmljZW9yaWVudGF0aW9uIiA6
IDEsCiAgICAgLy8gSWdub3JlIHRoaXMgcHJvcGVydHkgYmVjYXVzZSBpdCBvbmx5IGFwcGVhcnMg
aW4gZGVidWcgYnVpbGRzIGFuZCBub3QgaW4gcmVsZWFzZS4KICAgICAianNjcHJpbnQiIDogMSwK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGll
cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0
bWwKaW5kZXggZTk5ODFmZC4uMTQ4ZTM5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWwKQEAgLTgzLDcgKzgzLDcgQEAgdmFyIF9f
c2tpcF9fID0gewogICAgICJ3aW5kb3cuQmxvYi5wcm90b3R5cGUud2Via2l0U2xpY2UiIDogMSwK
ICAgICAid2luZG93LkZpbGVFcnJvciIgOiAxLAogICAgICJ3aW5kb3cuRmlsZVJlYWRlciIgOiAx
LAotICAgICJ3aW5kb3cuQmxvYkJ1aWxkZXIiIDogMSwKKyAgICAid2luZG93LldlYktpdEJsb2JC
dWlsZGVyIiA6IDEsCiAgICAgIndpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50IiA6IDEsCiAg
ICAgIndpbmRvdy5vbmRldmljZW9yaWVudGF0aW9uIiA6IDEsCiAgICAgIndpbmRvdy5EZXZpY2VN
b3Rpb25FdmVudCIgOiAxLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93
L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dApp
bmRleCA1YzMwODQyLi44ZGY3MzFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9X
aW5kb3cvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVj
dGVkLnR4dApAQCAtOCw3ICs4LDYgQEAgUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcih3aW5kb3csICdBdHRyJykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnQXVkaW8nKSBpcyAnb2JqZWN0Jwog
UEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdCZWZv
cmVMb2FkRXZlbnQnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcih3aW5kb3csICdCbG9iJykgaXMgJ29iamVjdCcKLVBBU1MgdHlwZW9mIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnQmxvYkJ1aWxkZXInKSBpcyAn
b2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5k
b3csICdCb29sZWFuJykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnQ0RBVEFTZWN0aW9uJykgaXMgJ29iamVjdCcKIFBBU1Mg
dHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnQ1NTQ2hhcnNl
dFJ1bGUnKSBpcyAnb2JqZWN0JwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJv
dG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
cHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0ZWQudHh0CmluZGV4IDUwMThkOWMuLmZmNzVk
YzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5j
ZS0yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5o
ZXJpdGFuY2UtMi1leHBlY3RlZC50eHQKQEAgLTIxOCw3ICsyMTgsNiBAQCBQQVNTIFdlYktpdENT
U0tleWZyYW1lc1J1bGUgZnJvbSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXlT
dHlsZSIpLnNoZQogUEFTUyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlQ29uc3RydWN0b3IgZnJvbSBp
bm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNzc1J1bGVz
LjYuY29uc3RydWN0b3IKIFBBU1MgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZVByb3RvdHlwZSBmcm9t
IGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdW1teVN0eWxlIikuc2hlZXQuY3NzUnVs
ZXMuNi5fX3Byb3RvX18KIE5ldmVyIGZvdW5kIEF1ZGlvCi1OZXZlciBmb3VuZCBCbG9iQnVpbGRl
cgogTmV2ZXIgZm91bmQgQmxvYgogTmV2ZXIgZm91bmQgQ0RBVEFTZWN0aW9uCiBOZXZlciBmb3Vu
ZCBDU1NSdWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5o
ZXJpdGFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWlu
aGVyaXRhbmNlLWV4cGVjdGVkLnR4dAppbmRleCBjYmI1Nzc0Li41NTg1ODAyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3Rl
ZC50eHQKQEAgLTEzLDggKzEzLDYgQEAgUEFTUyBpbm5lci5CZWZvcmVMb2FkRXZlbnQuaXNJbm5l
ciBpcyB0cnVlCiBQQVNTIGlubmVyLkJlZm9yZUxvYWRFdmVudC5jb25zdHJ1Y3Rvci5pc0lubmVy
IGlzIHRydWUKIFBBU1MgaW5uZXIuQmxvYi5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQmxv
Yi5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKLVBBU1MgaW5uZXIuQmxvYkJ1aWxkZXIuaXNJ
bm5lciBpcyB0cnVlCi1QQVNTIGlubmVyLkJsb2JCdWlsZGVyLmNvbnN0cnVjdG9yLmlzSW5uZXIg
aXMgdHJ1ZQogUEFTUyBpbm5lci5Cb29sZWFuLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5C
b29sZWFuLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5DREFUQVNlY3Rp
b24uaXNJbm5lciBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3Jp
cHQtdGVzdHMvY29uc3RydWN0ZWQtb2JqZWN0cy1wcm90b3R5cGVzLmpzIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2NyaXB0LXRlc3RzL2NvbnN0cnVjdGVkLW9iamVjdHMtcHJvdG90eXBlcy5qcwpp
bmRleCBhZGI4MDcyLi5kNWE1Y2E4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
Y3JpcHQtdGVzdHMvY29uc3RydWN0ZWQtb2JqZWN0cy1wcm90b3R5cGVzLmpzCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9jb25zdHJ1Y3RlZC1vYmplY3RzLXByb3RvdHlw
ZXMuanMKQEAgLTM4LDcgKzM4LDcgQEAgZnVuY3Rpb24gY29uc3RydWN0b3JQcm9wZXJ0aWVzT25X
aW5kb3coZ2xvYmFsT2JqZWN0KQogICAgICAgICAgICAgdHlwZSA9PSJVaW50MzJBcnJheUNvbnN0
cnVjdG9yIiB8fAogICAgICAgICAgICAgdHlwZSA9PSAiRmlsZUVycm9yQ29uc3RydWN0b3IiIHx8
CiAgICAgICAgICAgICB0eXBlID09ICJGaWxlUmVhZGVyQ29uc3RydWN0b3IiIHx8Ci0gICAgICAg
ICAgICB0eXBlID09ICJCbG9iQnVpbGRlckNvbnN0cnVjdG9yIikKKyAgICAgICAgICAgIHR5cGUg
PT0gIldlYktpdEJsb2JCdWlsZGVyQ29uc3RydWN0b3IiKQogICAgICAgICAgICAgY29udGludWU7
CiAgICAgICAgIGlmICghdHlwZS5tYXRjaCgnQ29uc3RydWN0b3IkJykpCiAgICAgICAgICAgICBj
b250aW51ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9w
cm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10
ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qcwppbmRleCBiZWMyNmU4Li40NDI3MzYxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMvcHJvdG90eXBlLWlu
aGVyaXRhbmNlLTIuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL3By
b3RvdHlwZS1pbmhlcml0YW5jZS0yLmpzCkBAIC04MCw3ICs4MCw4IEBAIGZ1bmN0aW9uIGNvbnN0
cnVjdG9yTmFtZXNGb3JXaW5kb3coZ2xvYmFsT2JqZWN0KQogICAgICAgICAgICAgdHlwZSA9PSJV
aW50MTZBcnJheUNvbnN0cnVjdG9yIiB8fAogICAgICAgICAgICAgdHlwZSA9PSJVaW50MzJBcnJh
eUNvbnN0cnVjdG9yIiB8fAogICAgICAgICAgICAgdHlwZSA9PSAiRmlsZUVycm9yQ29uc3RydWN0
b3IiIHx8Ci0gICAgICAgICAgICB0eXBlID09ICJGaWxlUmVhZGVyQ29uc3RydWN0b3IiKQorICAg
ICAgICAgICAgdHlwZSA9PSAiRmlsZVJlYWRlckNvbnN0cnVjdG9yIiB8fAorICAgICAgICAgICAg
dHlwZSA9PSAiV2ViS2l0QmxvYkJ1aWxkZXJDb25zdHJ1Y3RvciIpCiAgICAgICAgICAgICBjb250
aW51ZTsgLy8gV2UgaWdub3JlIFdlYkdMUmVuZGVyaW5nQ29udGV4dCBhbmQgdGVzdCBpdCBlbHNl
d2hlcmUsIHNpbmNlIGl0IGlzIG5vdCBpbiBhbGwgYnVpbGRzCiAgICAgICAgIGlmICghdHlwZS5t
YXRjaCgnQ29uc3RydWN0b3IkJykpCiAgICAgICAgICAgICBjb250aW51ZTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2Uu
anMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRh
bmNlLmpzCmluZGV4IGQ5ODY4MzcuLjU0NTU1NzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NjcmlwdC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UuanMKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS5qcwpAQCAt
MTksNyArMTksNyBAQCB2YXIgc2tpcHBlZFByb3BlcnRpZXMgPSBbCiAgICAgIldlYkdMUmVuZGVy
aW5nQ29udGV4dCIsICJXZWJHTEFjdGl2ZUluZm8iLCAiV2ViR0xCdWZmZXIiLCAiV2ViR0xGcmFt
ZWJ1ZmZlciIsICJXZWJHTFByb2dyYW0iLCAiV2ViR0xSZW5kZXJidWZmZXIiLCAiV2ViR0xTaGFk
ZXIiLCAiV2ViR0xUZXh0dXJlIiwgIldlYkdMVW5pZm9ybUxvY2F0aW9uIiwKICAgICAiQXJyYXlC
dWZmZXIiLAogICAgICJEYXRhVmlldyIsICJJbnQ4QXJyYXkiLCAiVWludDhBcnJheSIsICJJbnQx
NkFycmF5IiwgIlVpbnQxNkFycmF5IiwgIkludDMyQXJyYXkiLCAiVWludDMyQXJyYXkiLCAiRmxv
YXQzMkFycmF5IiwKLSAgICAiRmlsZUVycm9yIiwgIkZpbGVSZWFkZXIiLCAicmVxdWVzdEZpbGVT
eXN0ZW0iLAorICAgICJGaWxlRXJyb3IiLCAiRmlsZVJlYWRlciIsICJXZWJLaXRCbG9iQnVpbGRl
ciIsICJyZXF1ZXN0RmlsZVN5c3RlbSIsCiAgICAgImluZGV4ZWREQiIsICJJREJLZXlSYW5nZSIs
ICJJREJDdXJzb3IiLCAiSURCRGF0YWJhc2UiLCAiSURCRGF0YWJhc2VFcnJvciIsICJJREJEYXRh
YmFzZUV4Y2VwdGlvbiIsICJJREJFcnJvckV2ZW50IiwgIklEQkV2ZW50IiwgIklEQkZhY3Rvcnki
LCAiSURCSW5kZXgiLCAiSURCT2JqZWN0U3RvcmUiLCAiSURCUmVxdWVzdCIsICJJREJTdWNjZXNz
RXZlbnQiLCAiSURCVHJhbnNhY3Rpb24iLAogICAgICJzaG93TW9kYWxEaWFsb2ciLAogICAgICJ3
ZWJraXRVUkwiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vd2luZG93LWRvbXVy
bC1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vd2luZG93LWRvbXVybC1jcmFzaC5o
dG1sCmluZGV4IDYzNDg2MzIuLjdkNWMwNGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3dpbmRvdy1kb211cmwtY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS93
aW5kb3ctZG9tdXJsLWNyYXNoLmh0bWwKQEAgLTEsNyArMSw3IEBACiA8aHRtbD4NCiA8aGVhZD4N
CiA8c2NyaXB0Pg0KLXZhciBibG9iID0gKG5ldyBCbG9iQnVpbGRlcikuZ2V0QmxvYigpOw0KK3Zh
ciBibG9iID0gKG5ldyBXZWJLaXRCbG9iQnVpbGRlcikuZ2V0QmxvYigpOw0KIHZhciB1cmwgPSBu
dWxsOw0KIHZhciBjb3VudCA9IDA7DQogDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
aWxlcy9ibG9iLXNsaWNlLW92ZXJmbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2Js
b2Itc2xpY2Utb3ZlcmZsb3cuaHRtbAppbmRleCAwNDQyZDc3Li5lYzhmYThjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2Jsb2Itc2xpY2Utb3ZlcmZsb3cuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2Jsb2Itc2xpY2Utb3ZlcmZsb3cuaHRtbApAQCAtOCw3ICs4
LDcgQEAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewogICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7CiAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERv
bmUoKQogfQotdmFyIGJ1aWxkZXIgPSAgbmV3IEJsb2JCdWlsZGVyKCk7Cit2YXIgYnVpbGRlciA9
ICBuZXcgV2ViS2l0QmxvYkJ1aWxkZXIoKTsKIHZhciB0ZXh0ID0gJyc7CiBmb3IgKHZhciBpID0g
MDsgaSA8IDIwMDA7ICsraSkgdGV4dCArPSAnQSc7CiBidWlsZGVyLmFwcGVuZCh0ZXh0KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvYmxvYi1zbGljZS10ZXN0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2ZpbGVzL2Jsb2Itc2xpY2UtdGVzdC5odG1sCmluZGV4IDhlNmJkOTAu
LjBmZjE4YjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvYmxvYi1zbGljZS10
ZXN0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9ibG9iLXNsaWNlLXRlc3QuaHRt
bApAQCAtNzcsNyArNzcsNyBAQCBmdW5jdGlvbiBydW5OZXh0VGVzdCgpCiAKIGZ1bmN0aW9uIHJ1
blRlc3RzKCkKIHsKLSAgICB2YXIgYnVpbGRlciA9IG5ldyBCbG9iQnVpbGRlcigpOworICAgIHZh
ciBidWlsZGVyID0gbmV3IFdlYktpdEJsb2JCdWlsZGVyKCk7CiAgICAgYnVpbGRlci5hcHBlbmQo
IjAxMjM0NTY3ODkiKTsKICAgICBibG9iID0gYnVpbGRlci5nZXRCbG9iKCk7CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXMvcmVzb3VyY2VzL3JlYWQtYmxvYi10ZXN0LWNhc2Vz
LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy9yZXNvdXJjZXMvcmVhZC1ibG9iLXRlc3QtY2Fz
ZXMuanMKaW5kZXggZmJhODFjNy4uODE5Y2EwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9maWxlcy9yZXNvdXJjZXMvcmVhZC1ibG9iLXRlc3QtY2FzZXMuanMKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9maWxlcy9yZXNvdXJjZXMvcmVhZC1ibG9iLXRlc3QtY2FzZXMuanMKQEAgLTE3MCw3
ICsxNzAsNyBAQCBmdW5jdGlvbiB0ZXN0UmVhZGluZ1NsaWNlZEh5YnJpZEJsb2IodGVzdEZpbGVz
KQogZnVuY3Rpb24gdGVzdFJlYWRpbmdUcmlwbGVTbGljZWRIeWJyaWRCbG9iKHRlc3RGaWxlcykK
IHsKICAgICBsb2coIlRlc3QgcmVhZGluZyBhIHRyaXBsZS1zbGljZWQgaHlicmlkIGJsb2IiKTsK
LSAgICB2YXIgYnVpbGRlciA9IG5ldyBCbG9iQnVpbGRlcigpOworICAgIHZhciBidWlsZGVyID0g
bmV3IFdlYktpdEJsb2JCdWlsZGVyKCk7CiAgICAgdmFyIGFycmF5ID0gbmV3IFVpbnQ4QXJyYXko
WzQ4LCA0OSwgNTBdKTsKICAgICB2YXIgYmxvYiA9IGJ1aWxkQmxvYihbJ0ZpcnN0JywgdGVzdEZp
bGVzWydmaWxlMSddLndlYmtpdFNsaWNlKDEsIDExKSwgdGVzdEZpbGVzWydlbXB0eS1maWxlJ10s
ICdTZWNvbmQnLCB0ZXN0RmlsZXNbJ2ZpbGUyJ10sIHRlc3RGaWxlc1snZmlsZTMnXSwgJ1RoaXJk
JywgYXJyYXkuYnVmZmVyXSwgdW5kZWZpbmVkLCBidWlsZGVyKTsKICAgICB2YXIgYmxvYiA9IGJs
b2Iud2Via2l0U2xpY2UoNywgMTkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxl
cy9yZXNvdXJjZXMvcmVhZC1jb21tb24uanMgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3Jlc291
cmNlcy9yZWFkLWNvbW1vbi5qcwppbmRleCAzYjc0NDdhLi42MDlmMGVkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3Jlc291cmNlcy9yZWFkLWNvbW1vbi5qcworKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZpbGVzL3Jlc291cmNlcy9yZWFkLWNvbW1vbi5qcwpAQCAtNCw3ICs0LDcg
QEAKIGZ1bmN0aW9uIGJ1aWxkQmxvYihpdGVtcywgY29udGVudFR5cGUsIGJ1aWxkZXIpCiB7CiAg
ICAgaWYgKGJ1aWxkZXIgPT09IHVuZGVmaW5lZCkKLSAgICAgICAgYnVpbGRlciA9IG5ldyBCbG9i
QnVpbGRlcigpOworICAgICAgICBidWlsZGVyID0gbmV3IFdlYktpdEJsb2JCdWlsZGVyKCk7CiAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykKICAgICAgICAgYnVpbGRl
ci5hcHBlbmQoaXRlbXNbaV0pOwogICAgIHJldHVybiBidWlsZGVyLmdldEJsb2IoY29udGVudFR5
cGUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlcy93b3JrZXJzL2lubGluZS13
b3JrZXItdmlhLWJsb2ItdXJsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3dvcmtlcnMv
aW5saW5lLXdvcmtlci12aWEtYmxvYi11cmwuaHRtbAppbmRleCAxYjM0ZDA2Li4zYmFjY2RhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3dvcmtlcnMvaW5saW5lLXdvcmtlci12
aWEtYmxvYi11cmwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzL3dvcmtlcnMvaW5s
aW5lLXdvcmtlci12aWEtYmxvYi11cmwuaHRtbApAQCAtMTAsNyArMTAsNyBAQCBmdW5jdGlvbiBs
b2cobWVzc2FnZSkKIGZ1bmN0aW9uIHJ1blRlc3QoKQogewogICAgIGxvZygiVGVzdCBpbmxpbmUg
d2ViIHdvcmtlciB2aWEgYmxvYiBVUkwuIik7Ci0gICAgdmFyIGJsb2JCdWlsZGVyID0gbmV3IEJs
b2JCdWlsZGVyKCk7CisgICAgdmFyIGJsb2JCdWlsZGVyID0gbmV3IFdlYktpdEJsb2JCdWlsZGVy
KCk7CiAgICAgYmxvYkJ1aWxkZXIuYXBwZW5kKFsKICAgICAgICAgIm9ubWVzc2FnZSA9IGZ1bmN0
aW9uKGUpIHsiLAogICAgICAgICAiICAgIHBvc3RNZXNzYWdlKCdIZWxsbyBmcm9tIHdvcmtlcicp
OyIsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2Zp
bGUtd3JpdGVyLWV2ZW50cy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJj
ZXMvZmlsZS13cml0ZXItZXZlbnRzLmpzCmluZGV4IDkxNDI2OTMuLjcyNzQ1NWEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZmlsZS13cml0ZXItZXZl
bnRzLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZmlsZS13
cml0ZXItZXZlbnRzLmpzCkBAIC0xNSw3ICsxNSw3IEBAIHZhciBsYXN0UHJvZ3Jlc3MgPSAwOwog
dmFyIHRvQmVXcml0dGVuOwogCiBmdW5jdGlvbiB0ZW5YQmxvYihibG9iKSB7Ci0gICAgdmFyIGJi
ID0gbmV3IEJsb2JCdWlsZGVyKCk7CisgICAgdmFyIGJiID0gbmV3IFdlYktpdEJsb2JCdWlsZGVy
KCk7CiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDsgKytpKSB7CiAgICAgICAgIGJiLmFwcGVu
ZChibG9iKTsKICAgICB9CkBAIC03Nyw3ICs3Nyw3IEBAIGZ1bmN0aW9uIG9uV3JpdGVFbmQoZSkg
ewogCiBmdW5jdGlvbiBzdGFydFdyaXRlKGZpbGVXcml0ZXIpIHsKICAgICAvLyBMZXQncyBtYWtl
IGl0IGFib3V0IGEgbWVnYWJ5dGUuCi0gICAgdmFyIGJiID0gbmV3IEJsb2JCdWlsZGVyKCk7Cisg
ICAgdmFyIGJiID0gbmV3IFdlYktpdEJsb2JCdWlsZGVyKCk7CiAgICAgYmIuYXBwZW5kKCJsb3Jl
bSBpcHN1bSIpOwogICAgIHZhciBibG9iID0gdGVuWEJsb2IoYmIuZ2V0QmxvYigpKTsKICAgICBi
bG9iID0gdGVuWEJsb2IoYmxvYik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vcmVzb3VyY2VzL2ZpbGUtd3JpdGVyLWdjLWJsb2IuanMgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZpbGUtd3JpdGVyLWdjLWJsb2IuanMKaW5kZXggODdkMGI1
ZC4uMDM3ZTBiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291
cmNlcy9maWxlLXdyaXRlci1nYy1ibG9iLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5
c3RlbS9yZXNvdXJjZXMvZmlsZS13cml0ZXItZ2MtYmxvYi5qcwpAQCAtMjksNyArMjksNyBAQCBm
dW5jdGlvbiBvblRlc3RTdWNjZXNzKCkgewogfQogCiBmdW5jdGlvbiB0ZW5YQmxvYihibG9iKSB7
Ci0gICAgdmFyIGJiID0gbmV3IEJsb2JCdWlsZGVyKCk7CisgICAgdmFyIGJiID0gbmV3IFdlYktp
dEJsb2JCdWlsZGVyKCk7CiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDsgKytpKSB7CiAgICAg
ICAgIGJiLmFwcGVuZChibG9iKTsKICAgICB9CkBAIC0zOCw3ICszOCw3IEBAIGZ1bmN0aW9uIHRl
blhCbG9iKGJsb2IpIHsKIAogZnVuY3Rpb24gc3RhcnRXcml0ZSh3cml0ZXIpIHsKICAgICAvLyBM
ZXQncyBtYWtlIGl0IGFib3V0IGEgbWVnYWJ5dGUuCi0gICAgdmFyIGJiID0gbmV3IEJsb2JCdWls
ZGVyKCk7CisgICAgdmFyIGJiID0gbmV3IFdlYktpdEJsb2JCdWlsZGVyKCk7CiAgICAgYmIuYXBw
ZW5kKCJsb3JlbSBpcHN1bSIpOwogICAgIHZhciBibG9iID0gdGVuWEJsb2IoYmIuZ2V0QmxvYigp
KTsKICAgICBibG9iID0gdGVuWEJsb2IoYmxvYik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZpbGUtd3JpdGVyLXN5bmMtdHJ1bmNhdGUtZXh0ZW5k
LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9maWxlLXdyaXRlci1z
eW5jLXRydW5jYXRlLWV4dGVuZC5qcwppbmRleCAzYTBjMDVjLi4wNjdjMzk1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZpbGUtd3JpdGVyLXN5bmMt
dHJ1bmNhdGUtZXh0ZW5kLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNv
dXJjZXMvZmlsZS13cml0ZXItc3luYy10cnVuY2F0ZS1leHRlbmQuanMKQEAgLTE0LDcgKzE0LDcg
QEAgcmVtb3ZlQWxsSW5EaXJlY3RvcnlTeW5jKGZpbGVTeXN0ZW0ucm9vdCk7CiB2YXIgZW50cnkg
PSBmaWxlU3lzdGVtLnJvb3QuZ2V0RmlsZSgnYScsIHtjcmVhdGU6dHJ1ZSwgZXhjbHVzaXZlOnRy
dWV9KTsKIHZhciB3cml0ZXIgPSBlbnRyeS5jcmVhdGVXcml0ZXIoKTsKIGFzc2VydCghd3JpdGVy
LnBvc2l0aW9uKTsKLXZhciBidWlsZGVyID0gbmV3IEJsb2JCdWlsZGVyKCk7Cit2YXIgYnVpbGRl
ciA9IG5ldyBXZWJLaXRCbG9iQnVpbGRlcigpOwogdmFyIHRlc3REYXRhID0gInRlc3QgZGF0YSI7
CiBidWlsZGVyLmFwcGVuZCh0ZXN0RGF0YSk7CiB3cml0ZXIud3JpdGUoYnVpbGRlci5nZXRCbG9i
KCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9m
aWxlLXdyaXRlci1zeW5jLXdyaXRlLW92ZXJsYXBwZWQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zp
bGVzeXN0ZW0vcmVzb3VyY2VzL2ZpbGUtd3JpdGVyLXN5bmMtd3JpdGUtb3ZlcmxhcHBlZC5qcwpp
bmRleCAzN2FkYzU5Li5mZDQzNWNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vcmVzb3VyY2VzL2ZpbGUtd3JpdGVyLXN5bmMtd3JpdGUtb3ZlcmxhcHBlZC5qcworKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZpbGUtd3JpdGVyLXN5bmMt
d3JpdGUtb3ZlcmxhcHBlZC5qcwpAQCAtMTQsNyArMTQsNyBAQCByZW1vdmVBbGxJbkRpcmVjdG9y
eVN5bmMoZmlsZVN5c3RlbS5yb290KTsKIHZhciBlbnRyeSA9IGZpbGVTeXN0ZW0ucm9vdC5nZXRG
aWxlKCdhJywge2NyZWF0ZTp0cnVlLCBleGNsdXNpdmU6dHJ1ZX0pOwogdmFyIHdyaXRlciA9IGVu
dHJ5LmNyZWF0ZVdyaXRlcigpOwogYXNzZXJ0KCF3cml0ZXIucG9zaXRpb24pOwotdmFyIGJ1aWxk
ZXIgPSBuZXcgQmxvYkJ1aWxkZXIoKTsKK3ZhciBidWlsZGVyID0gbmV3IFdlYktpdEJsb2JCdWls
ZGVyKCk7CiB2YXIgdGVzdERhdGEgPSAidGVzdCBkYXRhIjsKIGJ1aWxkZXIuYXBwZW5kKHRlc3RE
YXRhKTsKIHZhciBibG9iID0gYnVpbGRlci5nZXRCbG9iKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL2ZpbGUtd3JpdGVyLXV0aWxzLmpzIGIvTGF5
b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9maWxlLXdyaXRlci11dGlscy5qcwpp
bmRleCAyMzU2NzIwLi40MzI4MGE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vcmVzb3VyY2VzL2ZpbGUtd3JpdGVyLXV0aWxzLmpzCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvZmlsZS13cml0ZXItdXRpbHMuanMKQEAgLTEzNCw3ICsx
MzQsNyBAQCBmdW5jdGlvbiBjcmVhdGVFbXB0eUZpbGUoZmlsZVN5c3RlbSwgZmlsZU5hbWUsIG9u
U3VjY2VzcykKIAogZnVuY3Rpb24gd3JpdGVTdHJpbmcoZmlsZUVudHJ5LCBmaWxlV3JpdGVyLCBv
ZmZzZXQsIGRhdGEsIG9uU3VjY2VzcykKIHsKLSAgICB2YXIgYmIgPSBuZXcgQmxvYkJ1aWxkZXIo
KTsKKyAgICB2YXIgYmIgPSBuZXcgV2ViS2l0QmxvYkJ1aWxkZXIoKTsKICAgICBiYi5hcHBlbmQo
ZGF0YSk7CiAgICAgdmFyIGJsb2IgPSBiYi5nZXRCbG9iKCk7CiAgICAgZmlsZVdyaXRlci5zZWVr
KG9mZnNldCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1
Y3RvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0
b3JzLWV4cGVjdGVkLnR4dAppbmRleCA1MjdmNzRkLi5iMDJkZjgyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKQEAgLTcs
NyArNyw2IEBAIFBBU1MgQXR0ci50b1N0cmluZygpIGlzICdbb2JqZWN0IEF0dHJDb25zdHJ1Y3Rv
cl0nCiBQQVNTIEF1ZGlvLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQXVkaW9Db25zdHJ1Y3Rvcl0n
CiBQQVNTIEJlZm9yZUxvYWRFdmVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IEJlZm9yZUxvYWRF
dmVudENvbnN0cnVjdG9yXScKIFBBU1MgQmxvYi50b1N0cmluZygpIGlzICdbb2JqZWN0IEJsb2JD
b25zdHJ1Y3Rvcl0nCi1QQVNTIEJsb2JCdWlsZGVyLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQmxv
YkJ1aWxkZXJDb25zdHJ1Y3Rvcl0nCiBQQVNTIENEQVRBU2VjdGlvbi50b1N0cmluZygpIGlzICdb
b2JqZWN0IENEQVRBU2VjdGlvbkNvbnN0cnVjdG9yXScKIFBBU1MgQ1NTQ2hhcnNldFJ1bGUudG9T
dHJpbmcoKSBpcyAnW29iamVjdCBDU1NDaGFyc2V0UnVsZUNvbnN0cnVjdG9yXScKIFBBU1MgQ1NT
Rm9udEZhY2VSdWxlLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTRm9udEZhY2VSdWxlQ29uc3Ry
dWN0b3JdJwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvZ2xv
YmFsLWNvbnN0cnVjdG9ycy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2ds
b2JhbC1jb25zdHJ1Y3RvcnMuanMKaW5kZXggMTEyNGE1OC4uZmRmMDBjNyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvZ2xvYmFsLWNvbnN0cnVjdG9ycy5qcwor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9nbG9iYWwtY29uc3RydWN0b3Jz
LmpzCkBAIC0zNiw3ICszNiw4IEBAIGZvciAodmFyIHggaW4gY29uc3RydWN0b3JOYW1lcykgewog
ICAgICAgICBuYW1lID09ICJVaW50MzJBcnJheSIgfHwKICAgICAgICAgbmFtZSA9PSAiRmxvYXQz
MkFycmF5IiB8fAogICAgICAgICBuYW1lID09ICJGaWxlRXJyb3IiIHx8Ci0gICAgICAgIG5hbWUg
PT0gIkZpbGVSZWFkZXIiKQorICAgICAgICBuYW1lID09ICJGaWxlUmVhZGVyIiB8fAorICAgICAg
ICBuYW1lID09ICJXZWJLaXRCbG9iQnVpbGRlciIpCiAgICAgICAgIGNvbnRpbnVlOwogCiAgICAg
aWYgKG5hbWUgPT0gIlhNTERvY3VtZW50IikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvZmlsZWFwaS9jcmVhdGUtYmxvYi11cmwtZnJvbS1kYXRhLXVybC5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9maWxlYXBpL2NyZWF0ZS1ibG9iLXVybC1mcm9tLWRhdGEtdXJsLmh0
bWwKaW5kZXggZDRhZjliMi4uMDRjOWJlMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9maWxlYXBpL2NyZWF0ZS1ibG9iLXVybC1mcm9tLWRhdGEtdXJsLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9maWxlYXBpL2NyZWF0ZS1ibG9iLXVybC1mcm9tLWRhdGEtdXJs
Lmh0bWwKQEAgLTI4LDYgKzI4LDYgQEAgdmFyIHQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpewog
PGJvZHk+CiA8cD4gVGVzdCBjYXNlIGZvciBjaGVja2luZyBibG9iIFVSTCBub3QgYWxsb3dlZCB0
byBiZSBjcmVhdGVkIGZyb20gdGhlIGNvZGUgcnVubmluZyBmcm9tIGRhdGEgVVJJPC9wPgogPHBy
ZSBpZD0nY29uc29sZSc+PC9wcmU+Ci08aWZyYW1lIHNyYz0iZGF0YTp0ZXh0L2h0bWwsJTNDc2Ny
aXB0JTNFdmFyJTIwYiUyMCUzRCUyMG5ldyUyMEJsb2JCdWlsZGVyKCklM0JiLmFwcGVuZCglMjJG
b28lMjIpJTNCdmFyJTIwYmIlMjAlM0QlMjBiLmdldEJsb2IoJ3RleHQlMkZodG1sJyklM0J0b3Au
bG9jYXRpb24lM0QnaHR0cCUzQSUyRiUyRjEyNy4wLjAuMSUzQTgwMDAlMkZmaWxlYXBpJTJGY3Jl
YXRlLWJsb2ItdXJsLWZyb20tZGF0YS11cmwuaHRtbCUyMyclMjAlMkIlMjB3aW5kb3cud2Via2l0
VVJMLmNyZWF0ZU9iamVjdFVSTChiYiklM0IlM0MlMkZzY3JpcHQlM0UiPjwvaWZyYW1lPgorPGlm
cmFtZSBzcmM9ImRhdGE6dGV4dC9odG1sLCUzQ3NjcmlwdCUzRXZhciUyMGIlMjAlM0QlMjBuZXcl
MjBXZWJLaXRCbG9iQnVpbGRlcigpJTNCYi5hcHBlbmQoJTIyRm9vJTIyKSUzQnZhciUyMGJiJTIw
JTNEJTIwYi5nZXRCbG9iKCd0ZXh0JTJGaHRtbCcpJTNCdG9wLmxvY2F0aW9uJTNEJ2h0dHAlM0El
MkYlMkYxMjcuMC4wLjElM0E4MDAwJTJGZmlsZWFwaSUyRmNyZWF0ZS1ibG9iLXVybC1mcm9tLWRh
dGEtdXJsLmh0bWwlMjMnJTIwJTJCJTIwd2luZG93LndlYmtpdFVSTC5jcmVhdGVPYmplY3RVUkwo
YmIpJTNCJTNDJTJGc2NyaXB0JTNFIj48L2lmcmFtZT4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvYmxvYi9yZXNvdXJjZXMvaHlicmlk
LWJsb2ItdXRpbC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbG9jYWwvYmxvYi9yZXNvdXJj
ZXMvaHlicmlkLWJsb2ItdXRpbC5qcwppbmRleCBiZjE1ZjE2Li4wNjE1OTk2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2xvY2FsL2Jsb2IvcmVzb3VyY2VzL2h5YnJpZC1ibG9i
LXV0aWwuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9ibG9iL3Jlc291cmNl
cy9oeWJyaWQtYmxvYi11dGlsLmpzCkBAIC0xMzEsNyArMTMxLDcgQEAgdmFyIEh5YnJpZEJsb2JU
ZXN0VXRpbCA9IGZ1bmN0aW9uKHRlc3RGdW5jLCBvcHRfZmlsZVBhdGhzKSB7CiAKICAgICB0aGlz
LmFwcGVuZEFuZENyZWF0ZUJsb2IgPSBmdW5jdGlvbihpdGVtcywgb3B0X2VuZGluZywgb3B0X3R5
cGUpCiAgICAgewotICAgICAgICB2YXIgYmIgPSBuZXcgQmxvYkJ1aWxkZXIoKTsKKyAgICAgICAg
dmFyIGJiID0gbmV3IFdlYktpdEJsb2JCdWlsZGVyKCk7CiAgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgIGlmIChpdGVtc1tpXSBpbnN0
YW5jZW9mIEFycmF5KSB7CiAgICAgICAgICAgICAgICAgLy8gSWYgaXQncyBhbiBhcnJheSwgY29t
YmluZSBpdHMgZWxlbWVudHMgYW5kIGFwcGVuZCBhcyBhIGJsb2IuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcmVhdGUtZmlsZXN5c3RlbS1m
aWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9jcmVh
dGUtZmlsZXN5c3RlbS1maWxlLmh0bWwKaW5kZXggZTkyNGFiNy4uODE2NmUzNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvY3JlYXRlLWZpbGVz
eXN0ZW0tZmlsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVz
b3VyY2VzL2NyZWF0ZS1maWxlc3lzdGVtLWZpbGUuaHRtbApAQCAtNSw3ICs1LDcgQEAKICAgICAg
ICAgICAgIHJlcXVlc3RGaWxlU3lzdGVtKFRFTVBPUkFSWSwgMTAwLCBmdW5jdGlvbihmcykgewog
ICAgICAgICAgICAgICAgIGZzLnJvb3QuZ2V0RmlsZSgicGFnZS5odG1sIiwge2NyZWF0ZTp0cnVl
fSwgZnVuY3Rpb24oZW50cnkpIHsKICAgICAgICAgICAgICAgICAgICAgZW50cnkuY3JlYXRlV3Jp
dGVyKGZ1bmN0aW9uKHdyaXRlcikgewotICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGJiID0g
bmV3IEJsb2JCdWlsZGVyKCk7CisgICAgICAgICAgICAgICAgICAgICAgICB2YXIgYmIgPSBuZXcg
V2ViS2l0QmxvYkJ1aWxkZXIoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGJiLmFwcGVuZCgn
PGRpdiBpZD0iaW5uZXJEaXYiPlZpc2libGUgQ29udGVudHM8L2Rpdj5cbicpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgd3JpdGVyLndyaXRlKGJiLmdldEJsb2IoKSk7CiAgICAgICAgICAgICAg
ICAgICAgIH0pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0
L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4
dAppbmRleCBjNWI2ZjhiLi44OTMwZTg1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhl
cml0YW5jZS1leHBlY3RlZC50eHQKQEAgLTEzLDggKzEzLDYgQEAgUEFTUyBpbm5lci5CZWZvcmVM
b2FkRXZlbnQuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkJlZm9yZUxvYWRFdmVudC5jb25z
dHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQmxvYi5pc0lubmVyIGlzIHRydWUK
IFBBU1MgaW5uZXIuQmxvYi5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKLVBBU1MgaW5uZXIu
QmxvYkJ1aWxkZXIuaXNJbm5lciBpcyB0cnVlCi1QQVNTIGlubmVyLkJsb2JCdWlsZGVyLmNvbnN0
cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5Cb29sZWFuLmlzSW5uZXIgaXMgdHJ1
ZQogUEFTUyBpbm5lci5Cb29sZWFuLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBp
bm5lci5DREFUQVNlY3Rpb24uaXNJbm5lciBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3Jz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL1dpbmRvdy93
aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CmluZGV4IDBlNWU5MzkuLjE4
OTczN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL1dpbmRv
dy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRv
cnMtZXhwZWN0ZWQudHh0CkBAIC04LDcgKzgsNiBAQCBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0F0dHInKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBl
b2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdBdWRpbycpIGlzICdv
YmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRv
dywgJ0JlZm9yZUxvYWRFdmVudCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0Jsb2InKSBpcyAnb2JqZWN0JwotUEFTUyB0
eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdCbG9iQnVpbGRl
cicpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKHdpbmRvdywgJ0Jvb2xlYW4nKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdDREFUQVNlY3Rpb24nKSBpcyAnb2JqZWN0
JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdD
U1NDaGFyc2V0UnVsZScpIGlzICdvYmplY3QnCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVj
dGVkLnR4dAppbmRleCBiYTBlODE3Li44YTIzNGYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5j
ZS1leHBlY3RlZC50eHQKQEAgLTEzLDggKzEzLDYgQEAgUEFTUyBpbm5lci5CZWZvcmVMb2FkRXZl
bnQuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkJlZm9yZUxvYWRFdmVudC5jb25zdHJ1Y3Rv
ci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuQmxvYi5pc0lubmVyIGlzIHRydWUKIFBBU1Mg
aW5uZXIuQmxvYi5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKLVBBU1MgaW5uZXIuQmxvYkJ1
aWxkZXIuaXNJbm5lciBpcyB0cnVlCi1QQVNTIGlubmVyLkJsb2JCdWlsZGVyLmNvbnN0cnVjdG9y
LmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5Cb29sZWFuLmlzSW5uZXIgaXMgdHJ1ZQogUEFT
UyBpbm5lci5Cb29sZWFuLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5D
REFUQVNlY3Rpb24uaXNJbm5lciBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4
dAppbmRleCAzNzEyMDVkLi4xZGQzNjU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50
eHQKQEAgLTcsNyArNyw2IEBAIFBBU1MgQXR0ci50b1N0cmluZygpIGlzICdbb2JqZWN0IEF0dHJD
b25zdHJ1Y3Rvcl0nCiBQQVNTIEF1ZGlvLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQXVkaW9Db25z
dHJ1Y3Rvcl0nCiBQQVNTIEJlZm9yZUxvYWRFdmVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IEJl
Zm9yZUxvYWRFdmVudENvbnN0cnVjdG9yXScKIFBBU1MgQmxvYi50b1N0cmluZygpIGlzICdbb2Jq
ZWN0IEJsb2JDb25zdHJ1Y3Rvcl0nCi1QQVNTIEJsb2JCdWlsZGVyLnRvU3RyaW5nKCkgaXMgJ1tv
YmplY3QgQmxvYkJ1aWxkZXJDb25zdHJ1Y3Rvcl0nCiBQQVNTIENEQVRBU2VjdGlvbi50b1N0cmlu
ZygpIGlzICdbb2JqZWN0IENEQVRBU2VjdGlvbkNvbnN0cnVjdG9yXScKIFBBU1MgQ1NTQ2hhcnNl
dFJ1bGUudG9TdHJpbmcoKSBpcyAnW29iamVjdCBDU1NDaGFyc2V0UnVsZUNvbnN0cnVjdG9yXScK
IFBBU1MgQ1NTRm9udEZhY2VSdWxlLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgQ1NTRm9udEZhY2VS
dWxlQ29uc3RydWN0b3JdJwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zh
c3QvZG9tL3dpbmRvdy1kb211cmwtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL2Zhc3QvZG9tL3dpbmRvdy1kb211cmwtY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4
IDdlODY3YjQuLjgxMWY4NGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9m
YXN0L2RvbS93aW5kb3ctZG9tdXJsLWNyYXNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vZmFzdC9kb20vd2luZG93LWRvbXVybC1jcmFzaC1leHBlY3RlZC50eHQK
QEAgLTEsMiArMSwyIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDogUmVmZXJlbmNlRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IEJsb2JCdWlsZGVyCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
NDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFdlYktpdEJsb2JCdWlsZGVy
CiBQQVNTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmlu
ZGluZ3MubWsgYi9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsK
aW5kZXggMTM2ZjAxNy4uNjAwNzNmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQW5kcm9p
ZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rCisrKyBiL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQuZGVy
aXZlZC5qc2NiaW5kaW5ncy5tawpAQCAtMTU1LDcgKzE1NSw2IEBAICQocGF0c3Vic3QgJS5oLCUu
Y3BwLCQoR0VOKSk6ICQoaW50ZXJtZWRpYXRlcykvZG9tLyUuY3BwIDogJChpbnRlcm1lZGlhdGVz
KS9kb20vCiAjIEhUTUwKIEdFTiA6PSBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pTQmxv
Yi5oIFwKLSAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNCbG9iQnVpbGRlci5oIFwKICAgICAk
KGludGVybWVkaWF0ZXMpL2h0bWwvSlNET01Gb3JtRGF0YS5oIFwKICAgICAkKGludGVybWVkaWF0
ZXMpL2h0bWwvSlNET01TZXR0YWJsZVRva2VuTGlzdC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMp
L2h0bWwvSlNET01Ub2tlbkxpc3QuaCBcCkBAIC0yNDEsNyArMjQwLDggQEAgR0VOIDo9IFwKICAg
ICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNUZXh0TWV0cmljcy5oIFwKICAgICAkKGludGVybWVk
aWF0ZXMpL2h0bWwvSlNUaW1lUmFuZ2VzLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9K
U1ZhbGlkaXR5U3RhdGUuaCBcCi0gICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pTVm9pZENhbGxi
YWNrLmgKKyAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNWb2lkQ2FsbGJhY2suaCBcCisgICAg
JChpbnRlcm1lZGlhdGVzKS9odG1sL0pTV2ViS2l0QmxvYkJ1aWxkZXIuaAogCiAkKEdFTik6IFBS
SVZBVEVfUEFUSCA6PSAkKExPQ0FMX1BBVEgpCiAkKEdFTik6IFBSSVZBVEVfQ1VTVE9NX1RPT0wg
PSBwZXJsIC1JJChQUklWQVRFX1BBVEgpL2JpbmRpbmdzL3NjcmlwdHMgJChQUklWQVRFX1BBVEgp
L2JpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwgLS1kZWZpbmVzICIkKEZFQVRV
UkVfREVGSU5FUykgTEFOR1VBR0VfSkFWQVNDUklQVCIgLS1nZW5lcmF0b3IgSlMgLS1pbmNsdWRl
IGRvbSAtLWluY2x1ZGUgaHRtbCAtLW91dHB1dGRpciAkKGRpciAkQCkgJDwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rIGIvU291cmNlL1dl
YkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKaW5kZXggMTQ0MDFkZC4uYmY2ZmNh
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3Mu
bWsKKysrIGIvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKQEAg
LTEzNyw3ICsxMzcsNiBAQCAkKHBhdHN1YnN0ICUuaCwlLmNwcCwkKEdFTikpOiAkKGludGVybWVk
aWF0ZXMpL2JpbmRpbmdzLyUuY3BwIDogJChpbnRlcm1lZGlhdGVzKQogIyBIVE1MCiBHRU4gOj0g
XAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhCbG9iLmggXAotICAgICQoaW50ZXJt
ZWRpYXRlcykvYmluZGluZ3MvVjhCbG9iQnVpbGRlci5oIFwKICAgICAkKGludGVybWVkaWF0ZXMp
L2JpbmRpbmdzL1Y4RE9NVG9rZW5MaXN0LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGlu
Z3MvVjhET01TZXR0YWJsZVRva2VuTGlzdC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRp
bmdzL1Y4RE9NVVJMLmggXApAQCAtMjIyLDcgKzIyMSw4IEBAIEdFTiA6PSBcCiAgICAgJChpbnRl
cm1lZGlhdGVzKS9iaW5kaW5ncy9WOFRleHRNZXRyaWNzLmggXAogICAgICQoaW50ZXJtZWRpYXRl
cykvYmluZGluZ3MvVjhUaW1lUmFuZ2VzLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGlu
Z3MvVjhWYWxpZGl0eVN0YXRlLmggXAotICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhW
b2lkQ2FsbGJhY2suaAorICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhWb2lkQ2FsbGJh
Y2suaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOFdlYktpdEJsb2JCdWlsZGVy
LmgKIAogJChHRU4pOiBQUklWQVRFX1BBVEggOj0gJChMT0NBTF9QQVRIKQogJChHRU4pOiBQUklW
QVRFX0NVU1RPTV9UT09MID0gU09VUkNFX1JPT1Q9JChQUklWQVRFX1BBVEgpIHBlcmwgLUkkKFBS
SVZBVEVfUEFUSCkvYmluZGluZ3Mvc2NyaXB0cyAkKFBSSVZBVEVfUEFUSCkvYmluZGluZ3Mvc2Ny
aXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbCAtLWRlZmluZXMgIiQoRkVBVFVSRV9ERUZJTkVTKSBM
QU5HVUFHRV9KQVZBU0NSSVBUIiAtLWdlbmVyYXRvciBWOCAtLWluY2x1ZGUgZG9tIC0taW5jbHVk
ZSBodG1sIC0tb3V0cHV0ZGlyICQoZGlyICRAKSAkPApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA2
YmRhMmU3Li4wN2E0OTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTg1LDExICsxODUsMTEg
QEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgZG9tL1doZWVsRXZlbnQuaWRsCiAKICAgICBm
aWxlYXBpL0Jsb2IuaWRsCi0gICAgZmlsZWFwaS9CbG9iQnVpbGRlci5pZGwKICAgICBmaWxlYXBp
L0ZpbGVFcnJvci5pZGwKICAgICBmaWxlYXBpL0ZpbGUuaWRsCiAgICAgZmlsZWFwaS9GaWxlTGlz
dC5pZGwKICAgICBmaWxlYXBpL0ZpbGVSZWFkZXIuaWRsCisgICAgZmlsZWFwaS9XZWJLaXRCbG9i
QnVpbGRlci5pZGwKIAogICAgIGh0bWwvRGF0YUdyaWRDb2x1bW4uaWRsCiAgICAgaHRtbC9EYXRh
R3JpZENvbHVtbkxpc3QuaWRsCkBAIC02OTEsMTEgKzY5MSwxMSBAQCBTRVQoV2ViQ29yZV9TT1VS
Q0VTCiAgICAgZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcAogCiAgICAgZmlsZWFwaS9CbG9iLmNw
cAotICAgIGZpbGVhcGkvQmxvYkJ1aWxkZXIuY3BwCiAgICAgZmlsZWFwaS9CbG9iVVJMLmNwcAog
ICAgIGZpbGVhcGkvRmlsZS5jcHAKICAgICBmaWxlYXBpL0ZpbGVMaXN0LmNwcAogICAgIGZpbGVh
cGkvVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5jcHAKKyAgICBmaWxlYXBpL1dlYktpdEJsb2JCdWls
ZGVyLmNwcAogCiAgICAgaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuY3BwCiAgICAgaGlz
dG9yeS9CYWNrRm9yd2FyZExpc3RJbXBsLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGEyNzhhZGYuLmYwYjIx
Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxMS0wNC0xNCAgSmlhbiBMaSAgPGpp
YW5saUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQmxvYkJ1aWxkZXIgc2hvdWxkIGJlIHZlbmRvci1wcmVmaXhlZAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg1MTgKKworICAgICAg
ICBSZW5hbWVkIEJsb2JCdWlsZGVyIHRvIFdlYktpdEJsb2JCdWlsZGVyLgorCisgICAgICAgICog
QW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rOgorICAgICAgICAqIEFuZHJvaWQuZGVyaXZl
ZC52OGJpbmRpbmdzLm1rOgorICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIENv
ZGVHZW5lcmF0b3JzLnByaToKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAg
ICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgor
ICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAg
KiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRl
ci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2JCdWlsZGVyLmNw
cC4KKyAgICAgICAgKFdlYkNvcmU6OldlYktpdEJsb2JCdWlsZGVyOjpXZWJLaXRCbG9iQnVpbGRl
cik6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRCbG9iQnVpbGRlcjo6Z2V0QnVmZmVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYktpdEJsb2JCdWlsZGVyOjphcHBlbmQpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViS2l0QmxvYkJ1aWxkZXI6OmdldEJsb2IpOgorICAgICAgICAqIGZpbGVhcGkvV2Vi
S2l0QmxvYkJ1aWxkZXIuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxv
YkJ1aWxkZXIuaC4KKyAgICAgICAgKFdlYkNvcmU6OldlYktpdEJsb2JCdWlsZGVyOjpjcmVhdGUp
OgorICAgICAgICAqIGZpbGVhcGkvV2ViS2l0QmxvYkJ1aWxkZXIuaWRsOiBSZW5hbWVkIGZyb20g
U291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iQnVpbGRlci5pZGwuCisgICAgICAgICogcGFnZS9E
T01XaW5kb3cuaWRsOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5pZGw6CisKIDIw
MTEtMDQtMTQgIEtlbm5ldGggUnVzc2VsbCAgPGtickBnb29nbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Nv
ZGVHZW5lcmF0b3JzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQppbmRl
eCA1YjFlODY0Li5iNzhmY2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJh
dG9ycy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCkBAIC0xNTks
NyArMTU5LDYgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBkb20vV2ViS2l0VHJhbnNpdGlvbkV2
ZW50LmlkbCBcCiAgICAgZG9tL1doZWVsRXZlbnQuaWRsIFwKICAgICBmaWxlYXBpL0Jsb2IuaWRs
IFwKLSAgICBmaWxlYXBpL0Jsb2JCdWlsZGVyLmlkbCBcCiAgICAgZmlsZWFwaS9EaXJlY3RvcnlF
bnRyeS5pZGwgXAogICAgIGZpbGVhcGkvRGlyZWN0b3J5RW50cnlTeW5jLmlkbCBcCiAgICAgZmls
ZWFwaS9EaXJlY3RvcnlSZWFkZXIuaWRsIFwKQEAgLTE4OCw2ICsxODcsNyBAQCBJRExfQklORElO
R1MgKz0gXAogICAgIGZpbGVhcGkvRmxhZ3MuaWRsIFwKICAgICBmaWxlYXBpL01ldGFkYXRhLmlk
bCBcCiAgICAgZmlsZWFwaS9NZXRhZGF0YUNhbGxiYWNrLmlkbCBcCisgICAgZmlsZWFwaS9XZWJL
aXRCbG9iQnVpbGRlci5pZGwgXAogICAgIGh0bWwvY2FudmFzL0FycmF5QnVmZmVyVmlldy5pZGwg
XAogICAgIGh0bWwvY2FudmFzL0FycmF5QnVmZmVyLmlkbCBcCiAgICAgaHRtbC9jYW52YXMvRGF0
YVZpZXcuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCAyY2FlODBjLi4xYmEw
MzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0zNCw3ICszNCw2IEBACiAjaW5j
bHVkZSAiSlNCYXJJbmZvLmNwcCIKICNpbmNsdWRlICJKU0JlZm9yZUxvYWRFdmVudC5jcHAiCiAj
aW5jbHVkZSAiSlNCbG9iLmNwcCIKLSNpbmNsdWRlICJKU0Jsb2JCdWlsZGVyLmNwcCIKICNpbmNs
dWRlICJKU0NhbnZhc0dyYWRpZW50LmNwcCIKICNpbmNsdWRlICJKU0NhbnZhc1BhdHRlcm4uY3Bw
IgogI2luY2x1ZGUgIkpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5jcHAiCkBAIC00NDEsNiArNDQw
LDcgQEAKICNpbmNsdWRlICJKU1dlYktpdEFuaW1hdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNXZWJL
aXRBbmltYXRpb25FdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNXZWJLaXRBbmltYXRpb25MaXN0LmNw
cCIKKyNpbmNsdWRlICJKU1dlYktpdEJsb2JCdWlsZGVyLmNwcCIKICNpbmNsdWRlICJKU1dlYktp
dENTU0tleWZyYW1lUnVsZS5jcHAiCiAjaW5jbHVkZSAiSlNXZWJLaXRDU1NLZXlmcmFtZXNSdWxl
LmNwcCIKICNpbmNsdWRlICJKU1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDc2ZjExNzQuLjg0NmI5NjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQpAQCAtNzksNyArNzksNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBC
ZWZvcmVMb2FkRXZlbnQgXAogICAgIEJlZm9yZVByb2Nlc3NFdmVudCBcCiAgICAgQmxvYiBcCi0g
ICAgQmxvYkJ1aWxkZXIgXAorICAgIFdlYktpdEJsb2JCdWlsZGVyIFwKICAgICBDREFUQVNlY3Rp
b24gXAogICAgIENTU0NoYXJzZXRSdWxlIFwKICAgICBDU1NGb250RmFjZVJ1bGUgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYmM2Yzc1Mi4uZTlhY2MwMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCkBAIC0zOSw4ICszOSw2IEBAIHdlYmNvcmVfYnVpbHRfc291cmNl
cyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0JlZm9yZUxvYWRFdmVudC5oIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQmVmb3JlUHJvY2Vzc0V2ZW50LmNwcCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0JlZm9yZVByb2Nlc3NFdmVudC5oIFwKLQlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQmxvYkJ1aWxkZXIuY3BwIFwKLQlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
QmxvYkJ1aWxkZXIuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Jsb2IuY3BwIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQmxvYi5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQ2FudmFzR3JhZGllbnQuY3BwIFwKQEAgLTUyMSw2ICs1MTksOCBAQCB3ZWJjb3JlX2J1aWx0
X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRBbmltYXRpb25M
aXN0LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRBbmltYXRpb25MaXN0LmNw
cCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdEFuaW1hdGlvbkV2ZW50LmggXAor
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRCbG9iQnVpbGRlci5jcHAgXAorCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRCbG9iQnVpbGRlci5oIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1dlYktpdENTU0tleWZyYW1lUnVsZS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHAgXApAQCAtMTQxMyw4ICsxNDEzLDYgQEAg
d2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1dyaXRpbmdEaXJl
Y3Rpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9Bc3luY0ZpbGVXcml0ZXIuaCBcCiAJ
U291cmNlL1dlYkNvcmUvZmlsZWFwaS9Bc3luY0ZpbGVXcml0ZXJDbGllbnQuaCBcCi0JU291cmNl
L1dlYkNvcmUvZmlsZWFwaS9CbG9iQnVpbGRlci5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2ZpbGVh
cGkvQmxvYkJ1aWxkZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmggXAogCVNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkv
QmxvYlVSTC5jcHAgXApAQCAtMTQ4OCw2ICsxNDg2LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViQ29yZS9maWxlYXBpL01ldGFkYXRhLmggXAogCVNvdXJjZS9XZWJDb3JlL2Zp
bGVhcGkvVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2ZpbGVh
cGkvVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dl
YktpdEJsb2JCdWlsZGVyLmNwcCBcCisJU291cmNlL1dlYkNvcmUvZmlsZWFwaS9XZWJLaXRCbG9i
QnVpbGRlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxl
ci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmgg
XAogCVNvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRMaXN0LmggXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCmluZGV4IDY5NGYyOGYuLjZiNjFiYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTExNTYsNyAr
MTE1Niw2IEBACiAgICAgICAgICAgICAnZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5pZGwnLAog
ICAgICAgICAgICAgJ2RvbS9XaGVlbEV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9C
bG9iLmlkbCcsCi0gICAgICAgICAgICAnZmlsZWFwaS9CbG9iQnVpbGRlci5pZGwnLAogICAgICAg
ICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5RW50cnkuaWRsJywKICAgICAgICAgICAgICdmaWxlYXBp
L0RpcmVjdG9yeUVudHJ5U3luYy5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvRGlyZWN0b3J5
UmVhZGVyLmlkbCcsCkBAIC0xMTg2LDYgKzExODUsNyBAQAogICAgICAgICAgICAgJ2ZpbGVhcGkv
RmxhZ3MuaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL01ldGFkYXRhLmlkbCcsCiAgICAgICAg
ICAgICAnZmlsZWFwaS9NZXRhZGF0YUNhbGxiYWNrLmlkbCcsCisgICAgICAgICAgICAnZmlsZWFw
aS9XZWJLaXRCbG9iQnVpbGRlci5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvRE9NRm9ybURhdGEu
aWRsJywKICAgICAgICAgICAgICdodG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmlkbCcsCiAgICAg
ICAgICAgICAnaHRtbC9ET01Ub2tlbkxpc3QuaWRsJywKQEAgLTI2OTEsOCArMjY5MSw2IEBACiAg
ICAgICAgICAgICAnZmlsZWFwaS9Bc3luY0ZpbGVXcml0ZXJDbGllbnQuaCcsCiAgICAgICAgICAg
ICAnZmlsZWFwaS9CbG9iLmNwcCcsCiAgICAgICAgICAgICAnZmlsZWFwaS9CbG9iLmgnLAotICAg
ICAgICAgICAgJ2ZpbGVhcGkvQmxvYkJ1aWxkZXIuY3BwJywKLSAgICAgICAgICAgICdmaWxlYXBp
L0Jsb2JCdWlsZGVyLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvQmxvYlVSTC5jcHAnLAogICAg
ICAgICAgICAgJ2ZpbGVhcGkvQmxvYlVSTC5oJywKICAgICAgICAgICAgICdmaWxlYXBpL0RPTUZp
bGVQYXRoLmNwcCcsCkBAIC0yNzY3LDYgKzI3NjUsOCBAQAogICAgICAgICAgICAgJ2ZpbGVhcGkv
U3luY0NhbGxiYWNrSGVscGVyLmgnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvVGhyZWFkYWJsZUJs
b2JSZWdpc3RyeS5jcHAnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvVGhyZWFkYWJsZUJsb2JSZWdp
c3RyeS5oJywKKyAgICAgICAgICAgICdmaWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcCcsCisg
ICAgICAgICAgICAnZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5oJywKICAgICAgICAgICAgICdo
aXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5jcHAnLAogICAgICAgICAgICAgJ2hpc3Rvcnkv
QmFja0ZvcndhcmRMaXN0SW1wbC5jcHAnLAogICAgICAgICAgICAgJ2hpc3RvcnkvQ2FjaGVkRnJh
bWUuY3BwJywKQEAgLTY5OTUsOCArNjk5NSw2IEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0JlZm9yZVByb2Nlc3NFdmVudC5oJywKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQmxvYi5jcHAn
LAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNC
bG9iLmgnLAotICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNCbG9iQnVpbGRlci5jcHAnLAotICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNCbG9iQnVpbGRlci5oJywKICAgICAgICAgICAgICc8KFBST0RV
Q1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ0RBVEFTZWN0aW9uLmNwcCcsCiAgICAg
ICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NEQVRBU2Vj
dGlvbi5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTQ1NTQ2hhcnNldFJ1bGUuY3BwJywKQEAgLTc5MTAsNiArNzkwOCw4IEBACiAgICAgICAg
ICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdEFuaW1h
dGlvbkV2ZW50LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNXZWJLaXRBbmltYXRpb25MaXN0LmNwcCcsCiAgICAgICAgICAgICAnPChQUk9E
VUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdEFuaW1hdGlvbkxpc3QuaCcs
CisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dl
YktpdEJsb2JCdWlsZGVyLmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdEJsb2JCdWlsZGVyLmgnLAogICAgICAgICAgICAgJzwo
UFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRDU1NLZXlmcmFtZVJ1
bGUuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcCcs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUucHJvCmluZGV4IGE1YTllNjEuLjgxNDE4NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC02
MTMsNyArNjEzLDYgQEAgU09VUkNFUyArPSBcCiAgICAgZWRpdGluZy92aXNpYmxlX3VuaXRzLmNw
cCBcCiAgICAgZWRpdGluZy9XcmFwQ29udGVudHNJbkR1bW15U3BhbkNvbW1hbmQuY3BwIFwKICAg
ICBmaWxlYXBpL0Jsb2IuY3BwIFwKLSAgICBmaWxlYXBpL0Jsb2JCdWlsZGVyLmNwcCBcCiAgICAg
ZmlsZWFwaS9CbG9iVVJMLmNwcCBcCiAgICAgZmlsZWFwaS9GaWxlLmNwcCBcCiAgICAgZmlsZWFw
aS9GaWxlTGlzdC5jcHAgXApAQCAtNjIzLDYgKzYyMiw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGZp
bGVhcGkvRmlsZVN0cmVhbVByb3h5LmNwcCBcCiAgICAgZmlsZWFwaS9GaWxlVGhyZWFkLmNwcCBc
CiAgICAgZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmNwcCBcCisgICAgZmlsZWFwaS9X
ZWJLaXRCbG9iQnVpbGRlci5jcHAgXAogICAgIGhpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVy
LmNwcCBcCiAgICAgaGlzdG9yeS9CYWNrRm9yd2FyZExpc3RJbXBsLmNwcCBcCiAgICAgaGlzdG9y
eS9DYWNoZWRGcmFtZS5jcHAgXApAQCAtMTU3Niw3ICsxNTc2LDYgQEAgSEVBREVSUyArPSBcCiAg
ICAgZWRpdGluZy92aXNpYmxlX3VuaXRzLmggXAogICAgIGVkaXRpbmcvV3JhcENvbnRlbnRzSW5E
dW1teVNwYW5Db21tYW5kLmggXAogICAgIGZpbGVhcGkvQmxvYi5oIFwKLSAgICBmaWxlYXBpL0Js
b2JCdWlsZGVyLmggXAogICAgIGZpbGVhcGkvQmxvYlVSTC5oIFwKICAgICBmaWxlYXBpL0ZpbGUu
aCBcCiAgICAgZmlsZWFwaS9GaWxlRXJyb3IuaCBcCkBAIC0xNTg5LDYgKzE1ODgsNyBAQCBIRUFE
RVJTICs9IFwKICAgICBmaWxlYXBpL0ZpbGVTdHJlYW1Qcm94eS5oIFwKICAgICBmaWxlYXBpL0Zp
bGVUaHJlYWQuaCBcCiAgICAgZmlsZWFwaS9GaWxlVGhyZWFkVGFzay5oIFwKKyAgICBmaWxlYXBp
L1dlYktpdEJsb2JCdWlsZGVyLmggXAogICAgIGhpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVy
LmggXAogICAgIGhpc3RvcnkvQmFja0ZvcndhcmRMaXN0SW1wbC5oIFwKICAgICBoaXN0b3J5L0Jh
Y2tGb3J3YXJkTGlzdC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKaW5kZXggMDZjNDE5ZS4uZWNlYmUyNyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTkxNCw2MiArOTE0LDYgQEAKIAkJCQk+CiAJ
CQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVp
bGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0Jsb2JCdWlsZGVyLmNw
cCIKLQkJCQk+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMy
IgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgot
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8
V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29s
Ci0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlJlbGVhc2VfQ2Fp
cm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgot
CQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJE
ZWJ1Z19BbGx8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0J
CQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlBy
b2R1Y3Rpb258V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0J
CQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0
aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU0Jsb2JCdWlsZGVyLmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZpbGUKIAkJCQlS
ZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNDYW52YXNHcmFkaWVudC5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgpAQCAtMjIwMjIsNiArMjE5NjYsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJ
CQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwk
KFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1dlYktpdEJsb2JCdWlsZGVyLmNwcCIKKwkJ
CQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIi
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZM
aXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19B
bGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxU
b29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rp
b258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxU
b29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChD
b25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U1dlYktpdEJsb2JCdWlsZGVyLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlS
ZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNXZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3BwIgogCQkJCT4KIAkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTI1MjQ2LDYgKzI1MjQ2LDE0IEBACiAJCQkJPgogCQkJPC9G
aWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGZpbGVhcGlcV2ViS2l0QmxvYkJ1
aWxkZXIuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxmaWxlYXBpXFdlYktpdEJsb2JCdWlsZGVyLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJ
PEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcV2ViS2l0UG9pbnQuaCIKIAkJCQk+CiAJ
CQk8L0ZpbGU+CkBAIC01MTE1MCwxNCArNTExNTgsNiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJ
CTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxmaWxlYXBpXEJsb2JCdWlsZGVyLmNwcCIKLQkJ
CQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cZmlsZWFwaVxC
bG9iQnVpbGRlci5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxmaWxlYXBpXEJsb2JVUkwuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiM2Mw
NTMxLi41MTkzYmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC0yNzUzLDggKzI3NTMsOCBAQAogCQk4OTg3ODVGNTEyMkUxRUFD
MDAzQUFCREEgLyogSlNGaWxlUmVhZGVyU3luYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODk4Nzg1RjMxMjJFMUVBQzAwM0FBQkRBIC8qIEpTRmlsZVJl
YWRlclN5bmMuaCAqLzsgfTsKIAkJODlCNUVBQTExMUU4MDAzRDAwRjIzNjdFIC8qIExpbmVFbmRp
bmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODlC
NUVBOUYxMUU4MDAzRDAwRjIzNjdFIC8qIExpbmVFbmRpbmcuY3BwICovOyB9OwogCQk4OUI1RUFB
MjExRTgwMDNEMDBGMjM2N0UgLyogTGluZUVuZGluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODlCNUVBQTAxMUU4MDAzRDAwRjIzNjdFIC8qIExpbmVF
bmRpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owot
CQk4OUNEMDI5MzExQzg1Qjg3MDA3MEI3OTEgLyogSlNCbG9iQnVpbGRlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OUNEMDI5MTExQzg1Qjg3MDA3
MEI3OTEgLyogSlNCbG9iQnVpbGRlci5jcHAgKi87IH07Ci0JCTg5Q0QwMjk0MTFDODVCODcwMDcw
Qjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4OUNEMDI5MjExQzg1Qjg3MDA3MEI3OTEgLyogSlNCbG9iQnVpbGRlci5o
ICovOyB9OworCQk4OUNEMDI5MzExQzg1Qjg3MDA3MEI3OTEgLyogSlNXZWJLaXRCbG9iQnVpbGRl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OUNE
MDI5MTExQzg1Qjg3MDA3MEI3OTEgLyogSlNXZWJLaXRCbG9iQnVpbGRlci5jcHAgKi87IH07CisJ
CTg5Q0QwMjk0MTFDODVCODcwMDcwQjc5MSAvKiBKU1dlYktpdEJsb2JCdWlsZGVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OUNEMDI5MjExQzg1Qjg3
MDA3MEI3OTEgLyogSlNXZWJLaXRCbG9iQnVpbGRlci5oICovOyB9OwogCQk4OUQwOEQ5RjEyMjI4
NDUxMDAxMjQxREYgLyogQXN5bmNGaWxlU3lzdGVtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5RDA4RDlDMTIyMjg0NTEwMDEyNDFERiAvKiBBc3lu
Y0ZpbGVTeXN0ZW0uY3BwICovOyB9OwogCQk4OUQwOERBMDEyMjI4NDUxMDAxMjQxREYgLyogQXN5
bmNGaWxlU3lzdGVtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4OUQwOEQ5RDEyMjI4NDUxMDAxMjQxREYgLyogQXN5bmNGaWxlU3lzdGVtLmggKi87IH07
CiAJCTg5RDA4REExMTIyMjg0NTEwMDEyNDFERiAvKiBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3Mu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5RDA4RDlF
MTIyMjg0NTEwMDEyNDFERiAvKiBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaCAqLzsgfTsKQEAg
LTMwNzAsOCArMzA3MCw4IEBACiAJCTk3NkQ2Qzc3MTIyQjhBM0QwMDFGRDFGNyAvKiBBc3luY0Zp
bGVXcml0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDk3NkQ2QzU4MTIyQjhBM0QwMDFGRDFGNyAvKiBBc3luY0ZpbGVXcml0ZXIuaCAqLzsgfTsKIAkJ
OTc2RDZDNzgxMjJCOEEzRDAwMUZEMUY3IC8qIEJsb2IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc2RDZDNTkxMjJCOEEzRDAwMUZEMUY3IC8qIEJs
b2IuY3BwICovOyB9OwogCQk5NzZENkM3OTEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc2RDZDNUExMjJCOEEz
RDAwMUZEMUY3IC8qIEJsb2IuaCAqLzsgfTsKLQkJOTc2RDZDN0IxMjJCOEEzRDAwMUZEMUY3IC8q
IEJsb2JCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDk3NkQ2QzVDMTIyQjhBM0QwMDFGRDFGNyAvKiBCbG9iQnVpbGRlci5jcHAgKi87IH07
Ci0JCTk3NkQ2QzdDMTIyQjhBM0QwMDFGRDFGNyAvKiBCbG9iQnVpbGRlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc2RDZDNUQxMjJCOEEzRDAwMUZE
MUY3IC8qIEJsb2JCdWlsZGVyLmggKi87IH07CisJCTk3NkQ2QzdCMTIyQjhBM0QwMDFGRDFGNyAv
KiBXZWJLaXRCbG9iQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5NzZENkM1QzEyMkI4QTNEMDAxRkQxRjcgLyogV2ViS2l0QmxvYkJ1aWxk
ZXIuY3BwICovOyB9OworCQk5NzZENkM3QzEyMkI4QTNEMDAxRkQxRjcgLyogV2ViS2l0QmxvYkJ1
aWxkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3
NkQ2QzVEMTIyQjhBM0QwMDFGRDFGNyAvKiBXZWJLaXRCbG9iQnVpbGRlci5oICovOyB9OwogCQk5
NzZENkM3RTEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYlVSTC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzZENkM1RjEyMkI4QTNEMDAxRkQxRjcgLyog
QmxvYlVSTC5jcHAgKi87IH07CiAJCTk3NkQ2QzdGMTIyQjhBM0QwMDFGRDFGNyAvKiBCbG9iVVJM
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzZENkM2
MDEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYlVSTC5oICovOyB9OwogCQk5NzZENkM4MDEyMkI4QTNE
MDAxRkQxRjcgLyogRmlsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5NzZENkM2MTEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZS5jcHAgKi87IH07CkBA
IC05Mjk1LDggKzkyOTUsOCBAQAogCQk4OTg3ODVGMzEyMkUxRUFDMDAzQUFCREEgLyogSlNGaWxl
UmVhZGVyU3luYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0ZpbGVSZWFk
ZXJTeW5jLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5QjVFQTlGMTFFODAwM0Qw
MEYyMzY3RSAvKiBMaW5lRW5kaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IExpbmVFbmRpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OUI1
RUFBMDExRTgwMDNEMDBGMjM2N0UgLyogTGluZUVuZGluZy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBMaW5lRW5kaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTg5Q0QwMjkxMTFDODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQmxvYkJ1aWxkZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk4OUNEMDI5MjExQzg1Qjg3MDA3MEI3OTEgLyogSlNCbG9iQnVp
bGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Jsb2JCdWlsZGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5Q0QwMjkxMTFDODVCODcwMDcwQjc5MSAv
KiBKU1dlYktpdEJsb2JCdWlsZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTV2ViS2l0QmxvYkJ1aWxkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk4OUNEMDI5MjExQzg1Qjg3MDA3MEI3OTEgLyogSlNXZWJLaXRCbG9iQnVpbGRlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dlYktpdEJsb2JCdWlsZGVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5RDA4RDlDMTIyMjg0NTEwMDEyNDFERiAvKiBB
c3luY0ZpbGVTeXN0ZW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
QXN5bmNGaWxlU3lzdGVtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODlEMDhE
OUQxMjIyODQ1MTAwMTI0MURGIC8qIEFzeW5jRmlsZVN5c3RlbS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBBc3luY0ZpbGVTeXN0ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODlEMDhEOUUxMjIyODQ1MTAwMTI0MURGIC8qIEFzeW5jRmlsZVN5c3RlbUNhbGxi
YWNrcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBc3luY0ZpbGVTeXN0ZW1D
YWxsYmFja3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk2MDksOCArOTYwOSw4
IEBACiAJCTk3NkQ2QzU4MTIyQjhBM0QwMDFGRDFGNyAvKiBBc3luY0ZpbGVXcml0ZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQXN5bmNGaWxlV3JpdGVyLmg7IHBhdGggPSBm
aWxlYXBpL0FzeW5jRmlsZVdyaXRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
NzZENkM1OTEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBCbG9iLmNwcDsgcGF0aCA9IGZpbGVhcGkvQmxvYi5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3NkQ2QzVBMTIyQjhBM0QwMDFGRDFGNyAvKiBCbG9i
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEJsb2IuaDsgcGF0aCA9IGZpbGVh
cGkvQmxvYi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5NzZENkM1QzEyMkI4QTNE
MDAxRkQxRjcgLyogQmxvYkJ1aWxkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gQmxvYkJ1aWxkZXIuY3BwOyBwYXRoID0gZmlsZWFwaS9CbG9iQnVpbGRlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk3NkQ2QzVEMTIyQjhBM0QwMDFGRDFGNyAv
KiBCbG9iQnVpbGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBCbG9iQnVp
bGRlci5oOyBwYXRoID0gZmlsZWFwaS9CbG9iQnVpbGRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk5NzZENkM1QzEyMkI4QTNEMDAxRkQxRjcgLyogV2ViS2l0QmxvYkJ1aWxkZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViS2l0QmxvYkJ1aWxk
ZXIuY3BwOyBwYXRoID0gZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTk3NkQ2QzVEMTIyQjhBM0QwMDFGRDFGNyAvKiBXZWJLaXRCbG9i
QnVpbGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJLaXRCbG9iQnVp
bGRlci5oOyBwYXRoID0gZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk5NzZENkM1RjEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYlVSTC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBCbG9iVVJMLmNwcDsgcGF0aCA9
IGZpbGVhcGkvQmxvYlVSTC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3NkQ2
QzYwMTIyQjhBM0QwMDFGRDFGNyAvKiBCbG9iVVJMLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IEJsb2JVUkwuaDsgcGF0aCA9IGZpbGVhcGkvQmxvYlVSTC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk5NzZENkM2MTEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGaWxlLmNwcDsgcGF0aCA9IGZp
bGVhcGkvRmlsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTUxNSw4ICsx
NTUxNSw4IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQkyRTJEOTlDQjEwRTJCQkRBMDA0OTYzMzcg
LyogSlNCbG9iLmNwcCAqLywKIAkJCQkyRTJEOTlDQzEwRTJCQkRBMDA0OTYzMzcgLyogSlNCbG9i
LmggKi8sCi0JCQkJODlDRDAyOTExMUM4NUI4NzAwNzBCNzkxIC8qIEpTQmxvYkJ1aWxkZXIuY3Bw
ICovLAotCQkJCTg5Q0QwMjkyMTFDODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JCdWlsZGVyLmggKi8s
CisJCQkJODlDRDAyOTExMUM4NUI4NzAwNzBCNzkxIC8qIEpTV2ViS2l0QmxvYkJ1aWxkZXIuY3Bw
ICovLAorCQkJCTg5Q0QwMjkyMTFDODVCODcwMDcwQjc5MSAvKiBKU1dlYktpdEJsb2JCdWlsZGVy
LmggKi8sCiAJCQkJODk4Nzg1ODYxMjJDQTI2QTAwM0FBQkRBIC8qIEpTRGlyZWN0b3J5RW50cnku
Y3BwICovLAogCQkJCTg5ODc4NTg3MTIyQ0EyNkEwMDNBQUJEQSAvKiBKU0RpcmVjdG9yeUVudHJ5
LmggKi8sCiAJCQkJODkzQzQ4MjYxMjQ5NTQ3MjAwMkIzRDg2IC8qIEpTRGlyZWN0b3J5RW50cnlT
eW5jLmNwcCAqLywKQEAgLTE2MTQyLDggKzE2MTQyLDggQEAKIAkJCQk5NzZENkM3NDEyMkI4QTNE
MDAxRkQxRjcgLyogQXN5bmNGaWxlV3JpdGVyQ2xpZW50LmggKi8sCiAJCQkJOTc2RDZDNTkxMjJC
OEEzRDAwMUZEMUY3IC8qIEJsb2IuY3BwICovLAogCQkJCTk3NkQ2QzVBMTIyQjhBM0QwMDFGRDFG
NyAvKiBCbG9iLmggKi8sCi0JCQkJOTc2RDZDNUMxMjJCOEEzRDAwMUZEMUY3IC8qIEJsb2JCdWls
ZGVyLmNwcCAqLywKLQkJCQk5NzZENkM1RDEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYkJ1aWxkZXIu
aCAqLywKKwkJCQk5NzZENkM1QzEyMkI4QTNEMDAxRkQxRjcgLyogV2ViS2l0QmxvYkJ1aWxkZXIu
Y3BwICovLAorCQkJCTk3NkQ2QzVEMTIyQjhBM0QwMDFGRDFGNyAvKiBXZWJLaXRCbG9iQnVpbGRl
ci5oICovLAogCQkJCTk3NkQ2QzVGMTIyQjhBM0QwMDFGRDFGNyAvKiBCbG9iVVJMLmNwcCAqLywK
IAkJCQk5NzZENkM2MDEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYlVSTC5oICovLAogCQkJCTg5ODc4
NTM5MTIyQ0EwNjQwMDNBQUJEQSAvKiBEaXJlY3RvcnlFbnRyeS5jcHAgKi8sCkBAIC0xOTk0MCw3
ICsxOTk0MCw3IEBACiAJCQkJRkQzMTYwMjcxMkIwMjY3NjAwQzFBMzU5IC8qIEJpcXVhZFByb2Nl
c3Nvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg5OTQzMjgwQjQyMzM4ODAwRDdDODAyIC8qIEJp
dG1hcEltYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzZENkM3OTEyMkI4QTNEMDAxRkQxRjcg
LyogQmxvYi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJOTc2RDZDN0MxMjJCOEEzRDAwMUZEMUY3IC8q
IEJsb2JCdWlsZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk5NzZENkM3QzEyMkI4QTNEMDAxRkQx
RjcgLyogV2ViS2l0QmxvYkJ1aWxkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFREVGMUY0MTIx
QjBFRkMwMDcyNkRCMiAvKiBCbG9iRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkVERUYxRjUx
MjFCMEVGQzAwNzI2REIyIC8qIEJsb2JSZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkVE
RUYxRjcxMjFCMEVGQzAwNzI2REIyIC8qIEJsb2JSZWdpc3RyeUltcGwuaCBpbiBIZWFkZXJzICov
LApAQCAtMjEzOTksNyArMjEzOTksNyBAQAogCQkJCUJDOTQ2MzQ4MTA3QTkzNjYwMDg1NzE5MyAv
KiBKU0JlZm9yZUxvYWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE3MjFGRDMxMUQyN0VG
MjAwNjM4QjQyIC8qIEpTQmVmb3JlUHJvY2Vzc0V2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQky
RTJEOTlDRTEwRTJCQkRBMDA0OTYzMzcgLyogSlNCbG9iLmggaW4gSGVhZGVycyAqLywKLQkJCQk4
OUNEMDI5NDExQzg1Qjg3MDA3MEI3OTEgLyogSlNCbG9iQnVpbGRlci5oIGluIEhlYWRlcnMgKi8s
CisJCQkJODlDRDAyOTQxMUM4NUI4NzAwNzBCNzkxIC8qIEpTV2ViS2l0QmxvYkJ1aWxkZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTE0NDlFMjRDMTA3RDRBODQwMEI1NzkzRiAvKiBKU0NhbGxiYWNr
RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVERjMyM0EwOUQxREU2NTAwMEJFMzI1IC8qIEpT
Q2FudmFzR3JhZGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1REYzMjNDMDlEMURFNjUwMDBC
RTMyNSAvKiBKU0NhbnZhc1BhdHRlcm4uaCBpbiBIZWFkZXJzICovLApAQCAtMjMyOTksNyArMjMy
OTksNyBAQAogCQkJCUZEMzE2MDI2MTJCMDI2NzYwMEMxQTM1OSAvKiBCaXF1YWRQcm9jZXNzb3Iu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg5OTQzMjkwQjQyMzM4ODAwRDdDODAyIC8qIEJpdG1h
cEltYWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3NkQ2Qzc4MTIyQjhBM0QwMDFGRDFGNyAv
KiBCbG9iLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTk3NkQ2QzdCMTIyQjhBM0QwMDFGRDFGNyAv
KiBCbG9iQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5NzZENkM3QjEyMkI4QTNEMDAx
RkQxRjcgLyogV2ViS2l0QmxvYkJ1aWxkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkVERUYx
RjMxMjFCMEVGQzAwNzI2REIyIC8qIEJsb2JEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJF
REVGMUY2MTIxQjBFRkMwMDcyNkRCMiAvKiBCbG9iUmVnaXN0cnlJbXBsLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTJFQjRCQ0QyMTIxRjAzRTMwMEVDNDg4NSAvKiBCbG9iUmVzb3VyY2VIYW5kbGUu
Y3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yNDIwNSw3ICsyNDIwNSw3IEBACiAJCQkJQkM5NDYzNDYx
MDdBOTM0QjAwODU3MTkzIC8qIEpTQmVmb3JlTG9hZEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTUxNzIxRkQyMTFEMjdFRjIwMDYzOEI0MiAvKiBKU0JlZm9yZVByb2Nlc3NFdmVudC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkyRTJEOTlDRDEwRTJCQkRBMDA0OTYzMzcgLyogSlNCbG9iLmNw
cCBpbiBTb3VyY2VzICovLAotCQkJCTg5Q0QwMjkzMTFDODVCODcwMDcwQjc5MSAvKiBKU0Jsb2JC
dWlsZGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTg5Q0QwMjkzMTFDODVCODcwMDcwQjc5MSAv
KiBKU1dlYktpdEJsb2JCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0NDlFMjg3MTA3
RDREQjQwMEI1NzkzRiAvKiBKU0NhbGxiYWNrRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2
NURGMzIzOTA5RDFERTY1MDAwQkUzMjUgLyogSlNDYW52YXNHcmFkaWVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk2NURGMzIzQjA5RDFERTY1MDAwQkUzMjUgLyogSlNDYW52YXNQYXR0ZXJuLmNw
cCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9i
QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Jsb2JCdWlsZGVyLmNwcApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTQwNjg5OS4uMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9maWxlYXBpL0Jsb2JCdWlsZGVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEzMiAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0g
KgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
Ci0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaW5jbHVkZSAiQmxvYkJ1aWxkZXIuaCIKLQot
I2luY2x1ZGUgIkFycmF5QnVmZmVyLmgiCi0jaW5jbHVkZSAiQmxvYi5oIgotI2luY2x1ZGUgIkV4
Y2VwdGlvbkNvZGUuaCIKLSNpbmNsdWRlICJGaWxlLmgiCi0jaW5jbHVkZSAiTGluZUVuZGluZy5o
IgotI2luY2x1ZGUgIlRleHRFbmNvZGluZy5oIgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+
Ci0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmlu
Zy5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi1CbG9iQnVpbGRlcjo6QmxvYkJ1aWxkZXIoKQotICAgIDogbV9zaXplKDApCi17Ci19Ci0K
LVZlY3RvcjxjaGFyPiYgQmxvYkJ1aWxkZXI6OmdldEJ1ZmZlcigpCi17Ci0gICAgLy8gSWYgdGhl
IGxhc3QgaXRlbSBpcyBub3QgYSBkYXRhIGl0ZW0sIGNyZWF0ZSBvbmUuIE90aGVyd2lzZSwgd2Ug
c2ltcGx5IGFwcGVuZCB0aGUgbmV3IHN0cmluZyB0byB0aGUgbGFzdCBkYXRhIGl0ZW0uCi0gICAg
aWYgKG1faXRlbXMuaXNFbXB0eSgpIHx8IG1faXRlbXNbbV9pdGVtcy5zaXplKCkgLSAxXS50eXBl
ICE9IEJsb2JEYXRhSXRlbTo6RGF0YSkKLSAgICAgICAgbV9pdGVtcy5hcHBlbmQoQmxvYkRhdGFJ
dGVtKFJhd0RhdGE6OmNyZWF0ZSgpKSk7Ci0KLSAgICByZXR1cm4gKm1faXRlbXNbbV9pdGVtcy5z
aXplKCkgLSAxXS5kYXRhLT5tdXRhYmxlRGF0YSgpOwotfQotCi12b2lkIEJsb2JCdWlsZGVyOjph
cHBlbmQoY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBTdHJpbmcmIGVuZGluZ1R5cGUsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQotewotICAgIGJvb2wgaXNFbmRpbmdUeXBlVHJhbnNwYXJlbnQgPSBlbmRp
bmdUeXBlID09ICJ0cmFuc3BhcmVudCI7Ci0gICAgYm9vbCBpc0VuZGluZ1R5cGVOYXRpdmUgPSBl
bmRpbmdUeXBlID09ICJuYXRpdmUiOwotICAgIGlmICghZW5kaW5nVHlwZS5pc0VtcHR5KCkgJiYg
IWlzRW5kaW5nVHlwZVRyYW5zcGFyZW50ICYmICFpc0VuZGluZ1R5cGVOYXRpdmUpIHsKLSAgICAg
ICAgZWMgPSBTWU5UQVhfRVJSOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgQ1N0cmlu
ZyB1dGY4VGV4dCA9IFVURjhFbmNvZGluZygpLmVuY29kZSh0ZXh0LmNoYXJhY3RlcnMoKSwgdGV4
dC5sZW5ndGgoKSwgRW50aXRpZXNGb3JVbmVuY29kYWJsZXMpOwotCi0gICAgVmVjdG9yPGNoYXI+
JiBidWZmZXIgPSBnZXRCdWZmZXIoKTsKLSAgICBzaXplX3Qgb2xkU2l6ZSA9IGJ1ZmZlci5zaXpl
KCk7Ci0KLSAgICBpZiAoaXNFbmRpbmdUeXBlTmF0aXZlKQotICAgICAgICBub3JtYWxpemVMaW5l
RW5kaW5nc1RvTmF0aXZlKHV0ZjhUZXh0LCBidWZmZXIpOwotICAgIGVsc2UKLSAgICAgICAgYnVm
ZmVyLmFwcGVuZCh1dGY4VGV4dC5kYXRhKCksIHV0ZjhUZXh0Lmxlbmd0aCgpKTsKLSAgICBtX3Np
emUgKz0gYnVmZmVyLnNpemUoKSAtIG9sZFNpemU7Ci19Ci0KLXZvaWQgQmxvYkJ1aWxkZXI6OmFw
cGVuZChjb25zdCBTdHJpbmcmIHRleHQsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIGFwcGVu
ZCh0ZXh0LCBTdHJpbmcoKSwgZWMpOwotfQotCi0jaWYgRU5BQkxFKEJMT0IpCi12b2lkIEJsb2JC
dWlsZGVyOjphcHBlbmQoQXJyYXlCdWZmZXIqIGFycmF5QnVmZmVyKQotewotICAgIFZlY3Rvcjxj
aGFyPiYgYnVmZmVyID0gZ2V0QnVmZmVyKCk7Ci0gICAgc2l6ZV90IG9sZFNpemUgPSBidWZmZXIu
c2l6ZSgpOwotICAgIGJ1ZmZlci5hcHBlbmQoc3RhdGljX2Nhc3Q8Y29uc3QgY2hhcio+KGFycmF5
QnVmZmVyLT5kYXRhKCkpLCBhcnJheUJ1ZmZlci0+Ynl0ZUxlbmd0aCgpKTsKLSAgICBtX3NpemUg
Kz0gYnVmZmVyLnNpemUoKSAtIG9sZFNpemU7Ci19Ci0jZW5kaWYKLQotdm9pZCBCbG9iQnVpbGRl
cjo6YXBwZW5kKEJsb2IqIGJsb2IpCi17Ci0gICAgaWYgKGJsb2ItPmlzRmlsZSgpKSB7Ci0gICAg
ICAgIC8vIElmIHRoZSBibG9iIGlzIGZpbGUgdGhhdCBpcyBub3Qgc25hcHNob3RlZCwgY2FwdHVy
ZSB0aGUgc25hcHNob3Qgbm93LgotICAgICAgICAvLyBGSVhNRTogVGhpcyBpbnZvbHZlcyBzeW5j
aHJvbm91cyBmaWxlIG9wZXJhdGlvbi4gV2UgbmVlZCB0byBmaWd1cmUgb3V0IGhvdyB0byBtYWtl
IGl0IGFzeW5jaHJvbm91cy4KLSAgICAgICAgRmlsZSogZmlsZSA9IHN0YXRpY19jYXN0PEZpbGUq
PihibG9iKTsKLSAgICAgICAgbG9uZyBsb25nIHNuYXBzaG90U2l6ZTsKLSAgICAgICAgZG91Ymxl
IHNuYXBzaG90TW9kaWZpY2F0aW9uVGltZTsKLSAgICAgICAgZmlsZS0+Y2FwdHVyZVNuYXBzaG90
KHNuYXBzaG90U2l6ZSwgc25hcHNob3RNb2RpZmljYXRpb25UaW1lKTsKLQotICAgICAgICBtX3Np
emUgKz0gc25hcHNob3RTaXplOwotICAgICAgICBtX2l0ZW1zLmFwcGVuZChCbG9iRGF0YUl0ZW0o
ZmlsZS0+cGF0aCgpLCAwLCBzbmFwc2hvdFNpemUsIHNuYXBzaG90TW9kaWZpY2F0aW9uVGltZSkp
OwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGxvbmcgbG9uZyBibG9iU2l6ZSA9IHN0YXRpY19jYXN0
PGxvbmcgbG9uZz4oYmxvYi0+c2l6ZSgpKTsKLSAgICAgICAgbV9zaXplICs9IGJsb2JTaXplOwot
ICAgICAgICBtX2l0ZW1zLmFwcGVuZChCbG9iRGF0YUl0ZW0oYmxvYi0+dXJsKCksIDAsIGJsb2JT
aXplKSk7Ci0gICAgfQotfQotCi1QYXNzUmVmUHRyPEJsb2I+IEJsb2JCdWlsZGVyOjpnZXRCbG9i
KGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpCi17Ci0gICAgT3duUHRyPEJsb2JEYXRhPiBibG9i
RGF0YSA9IEJsb2JEYXRhOjpjcmVhdGUoKTsKLSAgICBibG9iRGF0YS0+c2V0Q29udGVudFR5cGUo
Y29udGVudFR5cGUpOwotICAgIGJsb2JEYXRhLT5zd2FwSXRlbXMobV9pdGVtcyk7Ci0KLSAgICBS
ZWZQdHI8QmxvYj4gYmxvYiA9IEJsb2I6OmNyZWF0ZShibG9iRGF0YS5yZWxlYXNlKCksIG1fc2l6
ZSk7Ci0KLSAgICAvLyBBZnRlciBjcmVhdGluZyBhIGJsb2IgZnJvbSB0aGUgY3VycmVudCBibG9i
IGRhdGEsIHdlIGRvIG5vdCBuZWVkIHRvIGtlZXAgdGhlIGRhdGEgYXJvdW5kIGFueSBtb3JlLiBJ
bnN0ZWFkLCB3ZSBvbmx5Ci0gICAgLy8gbmVlZCB0byBrZWVwIGEgcmVmZXJlbmNlIHRvIHRoZSBV
Ukwgb2YgdGhlIGJsb2IganVzdCBjcmVhdGVkLgotICAgIG1faXRlbXMuYXBwZW5kKEJsb2JEYXRh
SXRlbShibG9iLT51cmwoKSwgMCwgbV9zaXplKSk7Ci0KLSAgICByZXR1cm4gYmxvYjsKLX0KLQot
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFw
aS9CbG9iQnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iQnVpbGRlci5oCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYjQ2NTkxLi4wMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYkJ1aWxkZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDcwICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAq
Ci0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
LSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaWZuZGVmIEJsb2JCdWlsZGVyX2gKLSNkZWZpbmUgQmxvYkJ1aWxkZXJfaAotCi0jaW5j
bHVkZSAiQmxvYkRhdGEuaCIKLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgQXJyYXlCdWZm
ZXI7Ci1jbGFzcyBCbG9iOwotY2xhc3MgVGV4dEVuY29kaW5nOwotCi10eXBlZGVmIGludCBFeGNl
cHRpb25Db2RlOwotCi1jbGFzcyBCbG9iQnVpbGRlciA6IHB1YmxpYyBSZWZDb3VudGVkPEJsb2JC
dWlsZGVyPiB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8QmxvYkJ1aWxkZXI+IGNy
ZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBCbG9iQnVpbGRlcigpKTsgfQotCi0gICAgdm9p
ZCBhcHBlbmQoQmxvYiopOwotICAgIHZvaWQgYXBwZW5kKGNvbnN0IFN0cmluZyYgdGV4dCwgRXhj
ZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgYXBwZW5kKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3Qg
U3RyaW5nJiBlbmRpbmcsIEV4Y2VwdGlvbkNvZGUmKTsKLSNpZiBFTkFCTEUoQkxPQikKLSAgICB2
b2lkIGFwcGVuZChBcnJheUJ1ZmZlciopOwotI2VuZGlmCi0KLSAgICBQYXNzUmVmUHRyPEJsb2I+
IGdldEJsb2IoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSA9IFN0cmluZygpKTsKLQotcHJpdmF0
ZToKLSAgICBCbG9iQnVpbGRlcigpOwotCi0gICAgVmVjdG9yPGNoYXI+JiBnZXRCdWZmZXIoKTsK
LQotICAgIGxvbmcgbG9uZyBtX3NpemU7Ci0gICAgQmxvYkRhdGFJdGVtTGlzdCBtX2l0ZW1zOwot
fTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gQmxvYkJ1aWxkZXJfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iQnVpbGRlci5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL0Jsb2JCdWlsZGVyLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOGY1MDQ5Zi4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Js
b2JCdWlsZGVyLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0
aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAot
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1tb2R1bGUgaHRtbCB7
Ci0gICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ2FuQmVDb25zdHJ1Y3RlZCwKLSAgICAgICAgR2Vu
ZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCi0gICAgICAgIE5vU3RhdGljVGFibGVzCi0gICAgXSBCbG9i
QnVpbGRlciB7Ci0jaWYgIWRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpCi0gICAgICAgIEJs
b2IgZ2V0QmxvYihpbiBbT3B0aW9uYWwsIENvbnZlcnRVbmRlZmluZWRPck51bGxUb051bGxTdHJp
bmddIERPTVN0cmluZyBjb250ZW50VHlwZSk7Ci0jZW5kaWYKLSAgICAgICAgdm9pZCBhcHBlbmQo
aW4gQmxvYiBibG9iKTsKLSNpZiBkZWZpbmVkKEVOQUJMRV9CTE9CKSAmJiBFTkFCTEVfQkxPQgot
ICAgICAgICB2b2lkIGFwcGVuZChpbiBBcnJheUJ1ZmZlciBhcnJheUJ1ZmZlcik7Ci0jZW5kaWYK
LSAgICAgICAgdm9pZCBhcHBlbmQoaW4gRE9NU3RyaW5nIHZhbHVlLCBpbiBbT3B0aW9uYWwsIENv
bnZlcnRVbmRlZmluZWRPck51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBlbmRpbmdzKSByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7Ci0gICAgfTsKLQotfQotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9maWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVh
cGkvV2ViS2l0QmxvYkJ1aWxkZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjJmNDBkYjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dl
YktpdEJsb2JCdWlsZGVyLmNwcApAQCAtMCwwICsxLDEzMiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KworI2luY2x1ZGUgIldlYktpdEJsb2JCdWlsZGVyLmgiCisKKyNpbmNsdWRlICJBcnJheUJ1ZmZl
ci5oIgorI2luY2x1ZGUgIkJsb2IuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5j
bHVkZSAiRmlsZS5oIgorI2luY2x1ZGUgIkxpbmVFbmRpbmcuaCIKKyNpbmNsdWRlICJUZXh0RW5j
b2RpbmcuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYv
dGV4dC9DU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV2ViS2l0QmxvYkJ1aWxk
ZXI6OldlYktpdEJsb2JCdWlsZGVyKCkKKyAgICA6IG1fc2l6ZSgwKQoreworfQorCitWZWN0b3I8
Y2hhcj4mIFdlYktpdEJsb2JCdWlsZGVyOjpnZXRCdWZmZXIoKQoreworICAgIC8vIElmIHRoZSBs
YXN0IGl0ZW0gaXMgbm90IGEgZGF0YSBpdGVtLCBjcmVhdGUgb25lLiBPdGhlcndpc2UsIHdlIHNp
bXBseSBhcHBlbmQgdGhlIG5ldyBzdHJpbmcgdG8gdGhlIGxhc3QgZGF0YSBpdGVtLgorICAgIGlm
IChtX2l0ZW1zLmlzRW1wdHkoKSB8fCBtX2l0ZW1zW21faXRlbXMuc2l6ZSgpIC0gMV0udHlwZSAh
PSBCbG9iRGF0YUl0ZW06OkRhdGEpCisgICAgICAgIG1faXRlbXMuYXBwZW5kKEJsb2JEYXRhSXRl
bShSYXdEYXRhOjpjcmVhdGUoKSkpOworCisgICAgcmV0dXJuICptX2l0ZW1zW21faXRlbXMuc2l6
ZSgpIC0gMV0uZGF0YS0+bXV0YWJsZURhdGEoKTsKK30KKwordm9pZCBXZWJLaXRCbG9iQnVpbGRl
cjo6YXBwZW5kKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgU3RyaW5nJiBlbmRpbmdUeXBlLCBF
eGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBib29sIGlzRW5kaW5nVHlwZVRyYW5zcGFyZW50ID0g
ZW5kaW5nVHlwZSA9PSAidHJhbnNwYXJlbnQiOworICAgIGJvb2wgaXNFbmRpbmdUeXBlTmF0aXZl
ID0gZW5kaW5nVHlwZSA9PSAibmF0aXZlIjsKKyAgICBpZiAoIWVuZGluZ1R5cGUuaXNFbXB0eSgp
ICYmICFpc0VuZGluZ1R5cGVUcmFuc3BhcmVudCAmJiAhaXNFbmRpbmdUeXBlTmF0aXZlKSB7Cisg
ICAgICAgIGVjID0gU1lOVEFYX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIENT
dHJpbmcgdXRmOFRleHQgPSBVVEY4RW5jb2RpbmcoKS5lbmNvZGUodGV4dC5jaGFyYWN0ZXJzKCks
IHRleHQubGVuZ3RoKCksIEVudGl0aWVzRm9yVW5lbmNvZGFibGVzKTsKKworICAgIFZlY3Rvcjxj
aGFyPiYgYnVmZmVyID0gZ2V0QnVmZmVyKCk7CisgICAgc2l6ZV90IG9sZFNpemUgPSBidWZmZXIu
c2l6ZSgpOworCisgICAgaWYgKGlzRW5kaW5nVHlwZU5hdGl2ZSkKKyAgICAgICAgbm9ybWFsaXpl
TGluZUVuZGluZ3NUb05hdGl2ZSh1dGY4VGV4dCwgYnVmZmVyKTsKKyAgICBlbHNlCisgICAgICAg
IGJ1ZmZlci5hcHBlbmQodXRmOFRleHQuZGF0YSgpLCB1dGY4VGV4dC5sZW5ndGgoKSk7CisgICAg
bV9zaXplICs9IGJ1ZmZlci5zaXplKCkgLSBvbGRTaXplOworfQorCit2b2lkIFdlYktpdEJsb2JC
dWlsZGVyOjphcHBlbmQoY29uc3QgU3RyaW5nJiB0ZXh0LCBFeGNlcHRpb25Db2RlJiBlYykKK3sK
KyAgICBhcHBlbmQodGV4dCwgU3RyaW5nKCksIGVjKTsKK30KKworI2lmIEVOQUJMRShCTE9CKQor
dm9pZCBXZWJLaXRCbG9iQnVpbGRlcjo6YXBwZW5kKEFycmF5QnVmZmVyKiBhcnJheUJ1ZmZlcikK
K3sKKyAgICBWZWN0b3I8Y2hhcj4mIGJ1ZmZlciA9IGdldEJ1ZmZlcigpOworICAgIHNpemVfdCBv
bGRTaXplID0gYnVmZmVyLnNpemUoKTsKKyAgICBidWZmZXIuYXBwZW5kKHN0YXRpY19jYXN0PGNv
bnN0IGNoYXIqPihhcnJheUJ1ZmZlci0+ZGF0YSgpKSwgYXJyYXlCdWZmZXItPmJ5dGVMZW5ndGgo
KSk7CisgICAgbV9zaXplICs9IGJ1ZmZlci5zaXplKCkgLSBvbGRTaXplOworfQorI2VuZGlmCisK
K3ZvaWQgV2ViS2l0QmxvYkJ1aWxkZXI6OmFwcGVuZChCbG9iKiBibG9iKQoreworICAgIGlmIChi
bG9iLT5pc0ZpbGUoKSkgeworICAgICAgICAvLyBJZiB0aGUgYmxvYiBpcyBmaWxlIHRoYXQgaXMg
bm90IHNuYXBzaG90ZWQsIGNhcHR1cmUgdGhlIHNuYXBzaG90IG5vdy4KKyAgICAgICAgLy8gRklY
TUU6IFRoaXMgaW52b2x2ZXMgc3luY2hyb25vdXMgZmlsZSBvcGVyYXRpb24uIFdlIG5lZWQgdG8g
ZmlndXJlIG91dCBob3cgdG8gbWFrZSBpdCBhc3luY2hyb25vdXMuCisgICAgICAgIEZpbGUqIGZp
bGUgPSBzdGF0aWNfY2FzdDxGaWxlKj4oYmxvYik7CisgICAgICAgIGxvbmcgbG9uZyBzbmFwc2hv
dFNpemU7CisgICAgICAgIGRvdWJsZSBzbmFwc2hvdE1vZGlmaWNhdGlvblRpbWU7CisgICAgICAg
IGZpbGUtPmNhcHR1cmVTbmFwc2hvdChzbmFwc2hvdFNpemUsIHNuYXBzaG90TW9kaWZpY2F0aW9u
VGltZSk7CisKKyAgICAgICAgbV9zaXplICs9IHNuYXBzaG90U2l6ZTsKKyAgICAgICAgbV9pdGVt
cy5hcHBlbmQoQmxvYkRhdGFJdGVtKGZpbGUtPnBhdGgoKSwgMCwgc25hcHNob3RTaXplLCBzbmFw
c2hvdE1vZGlmaWNhdGlvblRpbWUpKTsKKyAgICB9IGVsc2UgeworICAgICAgICBsb25nIGxvbmcg
YmxvYlNpemUgPSBzdGF0aWNfY2FzdDxsb25nIGxvbmc+KGJsb2ItPnNpemUoKSk7CisgICAgICAg
IG1fc2l6ZSArPSBibG9iU2l6ZTsKKyAgICAgICAgbV9pdGVtcy5hcHBlbmQoQmxvYkRhdGFJdGVt
KGJsb2ItPnVybCgpLCAwLCBibG9iU2l6ZSkpOworICAgIH0KK30KKworUGFzc1JlZlB0cjxCbG9i
PiBXZWJLaXRCbG9iQnVpbGRlcjo6Z2V0QmxvYihjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlKQor
eworICAgIE93blB0cjxCbG9iRGF0YT4gYmxvYkRhdGEgPSBCbG9iRGF0YTo6Y3JlYXRlKCk7Cisg
ICAgYmxvYkRhdGEtPnNldENvbnRlbnRUeXBlKGNvbnRlbnRUeXBlKTsKKyAgICBibG9iRGF0YS0+
c3dhcEl0ZW1zKG1faXRlbXMpOworCisgICAgUmVmUHRyPEJsb2I+IGJsb2IgPSBCbG9iOjpjcmVh
dGUoYmxvYkRhdGEucmVsZWFzZSgpLCBtX3NpemUpOworCisgICAgLy8gQWZ0ZXIgY3JlYXRpbmcg
YSBibG9iIGZyb20gdGhlIGN1cnJlbnQgYmxvYiBkYXRhLCB3ZSBkbyBub3QgbmVlZCB0byBrZWVw
IHRoZSBkYXRhIGFyb3VuZCBhbnkgbW9yZS4gSW5zdGVhZCwgd2Ugb25seQorICAgIC8vIG5lZWQg
dG8ga2VlcCBhIHJlZmVyZW5jZSB0byB0aGUgVVJMIG9mIHRoZSBibG9iIGp1c3QgY3JlYXRlZC4K
KyAgICBtX2l0ZW1zLmFwcGVuZChCbG9iRGF0YUl0ZW0oYmxvYi0+dXJsKCksIDAsIG1fc2l6ZSkp
OworCisgICAgcmV0dXJuIGJsb2I7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvV2ViS2l0QmxvYkJ1aWxkZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvV2ViS2l0QmxvYkJ1aWxkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4zNDM5NmZlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5oCkBAIC0wLDAgKzEsNzAgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdl
YktpdEJsb2JCdWlsZGVyX2gKKyNkZWZpbmUgV2ViS2l0QmxvYkJ1aWxkZXJfaAorCisjaW5jbHVk
ZSAiQmxvYkRhdGEuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQXJyYXlCdWZmZXI7
CitjbGFzcyBCbG9iOworY2xhc3MgVGV4dEVuY29kaW5nOworCit0eXBlZGVmIGludCBFeGNlcHRp
b25Db2RlOworCitjbGFzcyBXZWJLaXRCbG9iQnVpbGRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdl
YktpdEJsb2JCdWlsZGVyPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViS2l0
QmxvYkJ1aWxkZXI+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJLaXRCbG9iQnVp
bGRlcigpKTsgfQorCisgICAgdm9pZCBhcHBlbmQoQmxvYiopOworICAgIHZvaWQgYXBwZW5kKGNv
bnN0IFN0cmluZyYgdGV4dCwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgYXBwZW5kKGNvbnN0
IFN0cmluZyYgdGV4dCwgY29uc3QgU3RyaW5nJiBlbmRpbmcsIEV4Y2VwdGlvbkNvZGUmKTsKKyNp
ZiBFTkFCTEUoQkxPQikKKyAgICB2b2lkIGFwcGVuZChBcnJheUJ1ZmZlciopOworI2VuZGlmCisK
KyAgICBQYXNzUmVmUHRyPEJsb2I+IGdldEJsb2IoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSA9
IFN0cmluZygpKTsKKworcHJpdmF0ZToKKyAgICBXZWJLaXRCbG9iQnVpbGRlcigpOworCisgICAg
VmVjdG9yPGNoYXI+JiBnZXRCdWZmZXIoKTsKKworICAgIGxvbmcgbG9uZyBtX3NpemU7CisgICAg
QmxvYkRhdGFJdGVtTGlzdCBtX2l0ZW1zOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gV2ViS2l0QmxvYkJ1aWxkZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBp
L1dlYktpdEJsb2JCdWlsZGVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li42MGQwYzBhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9XZWJL
aXRCbG9iQnVpbGRlci5pZGwKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBodG1sIHsKKyAgICBpbnRl
cmZhY2UgWworICAgICAgICBDYW5CZUNvbnN0cnVjdGVkLAorICAgICAgICBHZW5lcmF0ZU5hdGl2
ZUNvbnZlcnRlciwKKyAgICAgICAgTm9TdGF0aWNUYWJsZXMKKyAgICBdIFdlYktpdEJsb2JCdWls
ZGVyIHsKKyNpZiAhZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykKKyAgICAgICAgQmxvYiBn
ZXRCbG9iKGluIFtPcHRpb25hbCwgQ29udmVydFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZ10g
RE9NU3RyaW5nIGNvbnRlbnRUeXBlKTsKKyNlbmRpZgorICAgICAgICB2b2lkIGFwcGVuZChpbiBC
bG9iIGJsb2IpOworI2lmIGRlZmluZWQoRU5BQkxFX0JMT0IpICYmIEVOQUJMRV9CTE9CCisgICAg
ICAgIHZvaWQgYXBwZW5kKGluIEFycmF5QnVmZmVyIGFycmF5QnVmZmVyKTsKKyNlbmRpZgorICAg
ICAgICB2b2lkIGFwcGVuZChpbiBET01TdHJpbmcgdmFsdWUsIGluIFtPcHRpb25hbCwgQ29udmVy
dFVuZGVmaW5lZE9yTnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIGVuZGluZ3MpIHJhaXNlcyAo
RE9NRXhjZXB0aW9uKTsKKyAgICB9OworCit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApp
bmRleCBjZDQ5ZWM4Li5mNDYxNGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC03
ODIsNyArNzgyLDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0
aW9uYWw9QkxPQnxGSUxFX1NZU1RFTV0gRmlsZUVycm9yQ29uc3RydWN0b3IgRmlsZUVycm9yOwog
ICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPUJMT0JdIEZpbGVSZWFkZXJDb25zdHJ1Y3Rv
ciBGaWxlUmVhZGVyOwogCi0gICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9QkxPQl0gQmxv
YkJ1aWxkZXJDb25zdHJ1Y3RvciBCbG9iQnVpbGRlcjsKKyAgICAgICAgYXR0cmlidXRlIFtDb25k
aXRpb25hbD1CTE9CXSBXZWJLaXRCbG9iQnVpbGRlckNvbnN0cnVjdG9yIFdlYktpdEJsb2JCdWls
ZGVyOwogCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9QkxPQl0gRE9N
VVJMIHdlYmtpdFVSTDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJDb250ZXh0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5pZGwK
aW5kZXggN2IyYWY2Yi4uMGM3M2U0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJDb250ZXh0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNv
bnRleHQuaWRsCkBAIC05OCw3ICs5OCw3IEBAIG1vZHVsZSB0aHJlYWRzIHsKICNlbmRpZgogCiAj
aWYgZGVmaW5lZChFTkFCTEVfQkxPQikgJiYgRU5BQkxFX0JMT0IKLSAgICAgICAgYXR0cmlidXRl
IEJsb2JCdWlsZGVyQ29uc3RydWN0b3IgQmxvYkJ1aWxkZXI7CisgICAgICAgIGF0dHJpYnV0ZSBX
ZWJLaXRCbG9iQnVpbGRlckNvbnN0cnVjdG9yIFdlYktpdEJsb2JCdWlsZGVyOwogICAgICAgICBh
dHRyaWJ1dGUgRmlsZVJlYWRlckNvbnN0cnVjdG9yIEZpbGVSZWFkZXI7CiAgICAgICAgIGF0dHJp
YnV0ZSBGaWxlUmVhZGVyU3luY0NvbnN0cnVjdG9yIEZpbGVSZWFkZXJTeW5jOwogI2VuZGlmCg==
</data>
<flag name="review"
          id="82335"
          type_id="1"
          status="+"
          setter="fishd"
    />
    <flag name="commit-queue"
          id="82336"
          type_id="3"
          status="-"
          setter="jianli"
    />
          </attachment>
      

    </bug>

</bugzilla>