<?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>83467</bug_id>
          
          <creation_ts>2012-04-09 07:36:41 -0700</creation_ts>
          <short_desc>Web Inspector: get rid of WebInspector.Resource.category, use  WebInspector.Resource.type instead.</short_desc>
          <delta_ts>2012-04-09 09:44:35 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>598275</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-09 07:36:41 -0700</bug_when>
    <thetext>WebInspector.Resource.category is derived from the  WebInspector.Resource.type and there is no real need it maintaining both.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598276</commentid>
    <comment_count>1</comment_count>
      <attachid>136222</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-09 07:40:48 -0700</bug_when>
    <thetext>Created attachment 136222
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598284</commentid>
    <comment_count>2</comment_count>
      <attachid>136222</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-04-09 08:13:47 -0700</bug_when>
    <thetext>Comment on attachment 136222
Patch

Attachment 136222 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12373193</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598307</commentid>
    <comment_count>3</comment_count>
      <attachid>136222</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-04-09 09:03:45 -0700</bug_when>
    <thetext>Comment on attachment 136222
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        WebInspector.Resource.category is derived from the  WebInspector.Resource.type and there is no real need it maintaining both.

typo: it -&gt; in</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598348</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-09 09:44:35 -0700</bug_when>
    <thetext>Committed r113587: &lt;http://trac.webkit.org/changeset/113587&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136222</attachid>
            <date>2012-04-09 07:40:48 -0700</date>
            <delta_ts>2012-04-09 09:03:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83467-20120409184046.patch</filename>
            <type>text/plain</type>
            <size>73959</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDMwZWE2YzU1ZmYyN2I5
ZTgzOWUyZmFkNGM0OGE4YWE0YThhYjNjNC4uNGZiY2RmMjk5NTZhOGM4MzJjNmQwMmJmOTNmN2Nj
NmZkNDA3NjliZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkwIEBACisyMDEyLTA0LTA5ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGdldCByaWQgb2YgV2ViSW5zcGVjdG9yLlJlc291cmNlLmNhdGVnb3J5LCB1c2UgIFdlYklu
c3BlY3Rvci5SZXNvdXJjZS50eXBlIGluc3RlYWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzQ2NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5jYXRlZ29yeSBpcyBk
ZXJpdmVkIGZyb20gdGhlICBXZWJJbnNwZWN0b3IuUmVzb3VyY2UudHlwZSBhbmQgdGhlcmUgaXMg
bm8gcmVhbCBuZWVkIGl0IG1haW50YWluaW5nIGJvdGguCisKKyAgICAgICAgKiBXZWJDb3JlLmd5
cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICog
aW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvQXVkaXRMYXVuY2hlclZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXVkaXRM
YXVuY2hlclZpZXcucHJvdG90eXBlLl9vblJlc291cmNlU3RhcnRlZCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQXVkaXRMYXVuY2hlclZpZXcucHJvdG90eXBlLl9vblJlc291cmNlRmluaXNoZWQp
OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRSdWxlcy5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkd6aXBSdWxlLnByb3RvdHlwZS5fc2hvdWxkQ29tcHJl
c3MpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuQ29tYmluZUpzUmVzb3VyY2Vz
UnVsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5Db21iaW5lQ3NzUmVzb3Vy
Y2VzUnVsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5QYXJhbGxlbGl6ZURv
d25sb2FkUnVsZS5wcm90b3R5cGUuZG9SdW4pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkF1ZGl0
UnVsZXMuVW51c2VkQ3NzUnVsZS5wcm90b3R5cGUuZG9SdW4uZXZhbENhbGxiYWNrLnNlbGVjdG9y
c0NhbGxiYWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkNhY2hlQ29udHJv
bFJ1bGUucHJvdG90eXBlLmlzQ29tcHJlc3NpYmxlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5B
dWRpdFJ1bGVzLlN0YXRpY0Nvb2tpZWxlc3NSdWxlLnByb3RvdHlwZS5wcm9jZXNzQ29va2llcyk6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTdHlsZU1vZGVsLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWxSZXNvdXJjZUJpbmRpbmcpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWxSZXNvdXJjZUJpbmRpbmcucHJvdG90eXBlLnNldENv
bnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWxSZXNvdXJjZUJpbmRp
bmcucHJvdG90eXBlLl9pbm5lclN0eWxlU2hlZXRDaGFuZ2VkKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL0NvbnRlbnRQcm92aWRlcnMuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
UmVzb3VyY2VDb250ZW50UHJvdmlkZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
RGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1
Z2dlclByZXNlbnRhdGlvbk1vZGVsUmVzb3VyY2VCaW5kaW5nKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRWxl
bWVudHNQYW5lbC5wcm90b3R5cGUuX2dldFBvcG92ZXJBbmNob3IpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUuX21ha2VSZXNvdXJjZSk6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrTWFuYWdlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5OZXR3b3JrTWFuYWdlci5nZXQgdGhpcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29y
a01hbmFnZXIuZ2V0IE5ldHdvcmtBZ2VudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29y
a01hbmFnZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3Rv
dHlwZS5fdXBkYXRlUmVzb3VyY2VXaXRoUmVzcG9uc2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
Lk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZS5fbWltZVR5cGVJc0NvbnNpc3RlbnRXaXRoVHlw
ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlLl91
cGRhdGVSZXNvdXJjZVdpdGhDYWNoZWRSZXNvdXJjZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
TmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlLnJlc3BvbnNlUmVjZWl2ZWQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZS53ZWJTb2NrZXRDcmVhdGVk
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUuX2NyZWF0ZUZpbHRlclN0
YXR1c0Jhckl0ZW1zKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90
b3R5cGUuX3VwZGF0ZVN1bW1hcnlCYXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtE
YXRhR3JpZE5vZGUucHJvdG90eXBlLmlzRmlsdGVyZWRPdXQpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLk5ldHdvcmtEYXRhR3JpZE5vZGUucHJvdG90eXBlLnJlZnJlc2hSZXNvdXJjZSk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0RhdGFHcmlkTm9kZS5wcm90b3R5cGUuX3JlZnJlc2hO
YW1lQ2VsbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0RhdGFHcmlkTm9kZS5wcm90
b3R5cGUucmVmcmVzaEdyYXBoKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291
cmNlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5SZXNvdXJjZS5yZWdpc3RlckRvbWFpbk1vZGVsQmluZGluZyk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlLnNldCB0eXBlKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5SZXNvdXJjZS5wcm90b3R5cGUuaXNFZGl0YWJsZSk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlLnNldENvbnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlJlc291cmNlLnByb3RvdHlwZS5yZXF1ZXN0Q29udGVudCk6CisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9SZXNvdXJjZUNhdGVnb3J5LmpzOiBSZW1vdmVkLgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VQcmV2aWV3Vmlldy5qczoKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5SZXNvdXJjZVByZXZpZXdWaWV3LnByb3RvdHlwZS5fY3JlYXRlUHJldmlld1ZpZXcp
OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VTY3JpcHRNYXBwaW5nLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlU2NyaXB0TWFwcGluZy5wcm90b3R5cGUu
YWRkU2NyaXB0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVHJlZU1v
ZGVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLnByb3RvdHlw
ZS5fb25SZXNvdXJjZVVwZGF0ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJl
ZU1vZGVsLnByb3RvdHlwZS5fb25SZXNvdXJjZVVwZGF0ZURyb3BwZWQpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLnByb3RvdHlwZS5fYWRkRnJhbWVzUmVjdXJzaXZl
bHkpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VUeXBlLmpzOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZVR5cGUpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlJlc291cmNlVHlwZS5wcm90b3R5cGUubmFtZSk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuUmVzb3VyY2VUeXBlLnByb3RvdHlwZS50aXRsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
UmVzb3VyY2VUeXBlLnByb3RvdHlwZS5jYXRlZ29yeVRpdGxlKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5SZXNvdXJjZVR5cGUucHJvdG90eXBlLmNvbG9yKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5SZXNvdXJjZVR5cGUucHJvdG90eXBlLmlzVGV4dFR5cGUpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlJlc291cmNlVHlwZS5wcm90b3R5cGUudG9TdHJpbmcpOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvUmVzb3VyY2VWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291
cmNlVmlldy5oYXNUZXh0Q29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VW
aWV3Lm5vblNvdXJjZVZpZXdGb3JSZXNvdXJjZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRWRp
dGFibGVSZXNvdXJjZVNvdXJjZUZyYW1lLnByb3RvdHlwZS5jYW5FZGl0U291cmNlKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkZyYW1lVHJlZUVsZW1lbnQucHJvdG90eXBlLmFwcGVuZFJlc291cmNlKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5GcmFtZVJlc291cmNlVHJlZUVsZW1lbnQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkZyYW1lUmVzb3VyY2VUcmVlRWxlbWVudC5wcm90b3R5cGUub25hdHRhY2gp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlUmV2aXNpb25UcmVlRWxlbWVudCk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWw6CisKIDIwMTItMDQtMDkgIEphbWVzIFJvYmlu
c29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZW1vdmUgcGFydGlhbGx5IGlt
cGxlbWVudGVkIHBlci1FbGVtZW50IHZpc2liaWxpdHkgY2hlY2tzIGZyb20gcmVxdWVzdEFuaW1h
dGlvbkZyYW1lIGxvZ2ljCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMGE5NmUzMjVkOGExMzlmYWFiYTQ0
NzA1MWRkMGZhZGVkMGE0YTZjNy4uOWNjZTViOTA3MmM3MGYyZWExNTkxNjBkMTZjYzdlZTk4OWMw
NTE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNjM0MCw3ICs2MzQwLDYgQEAKICAgICAgICAgICAg
ICdpbnNwZWN0b3IvZnJvbnQtZW5kL1Jhd1NvdXJjZUNvZGUuanMnLAogICAgICAgICAgICAgJ2lu
c3BlY3Rvci9mcm9udC1lbmQvUmVtb3RlT2JqZWN0LmpzJywKICAgICAgICAgICAgICdpbnNwZWN0
b3IvZnJvbnQtZW5kL1Jlc291cmNlLmpzJywKLSAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQt
ZW5kL1Jlc291cmNlQ2F0ZWdvcnkuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1l
bmQvUmVzb3VyY2VDb29raWVzVmlldy5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250
LWVuZC9SZXNvdXJjZUhlYWRlcnNWaWV3LmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJv
bnQtZW5kL1Jlc291cmNlSlNPTlZpZXcuanMnLApAQCAtNjM0OSw2ICs2MzQ4LDcgQEAKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlU2NyaXB0TWFwcGluZy5qcycsCiAg
ICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVRpbWluZ1ZpZXcuanMnLAog
ICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VUcmVlTW9kZWwuanMnLAor
ICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VUeXBlLmpzJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVXRpbHMuanMnLAogICAgICAgICAg
ICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VWaWV3LmpzJywKICAgICAgICAgICAgICdp
bnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzJywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggNmVhMzQyNTJlMGViZmYzNDk5N2Ew
M2JiMjU3NDlmZTYwOGJkMDkyOS4uZWNkOWRmNTM2YTUwOWRmYjdiNDNjMzZhNjhmZjVmYTFkNDQ1
OWJjMCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
QEAgLTc0MDEzLDEwICs3NDAxMyw2IEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUK
LQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXFJlc291cmNlQ2F0ZWdv
cnkuanMiCi0JCQkJCT4KLQkJCQk8L0ZpbGU+Ci0JCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRo
PSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXFJlc291cmNlQ29va2llc1ZpZXcuanMiCiAJCQkJCT4K
IAkJCQk8L0ZpbGU+CkBAIC03NDA2MSw2ICs3NDA1NywxMCBAQAogCQkJCQk+CiAJCQkJPC9GaWxl
PgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxS
ZXNvdXJjZVR5cGUuanMiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVs
YXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXFJlc291cmNlVXRpbHMuanMiCiAJCQkJ
CT4KIAkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvY29t
cGlsZS1mcm9udC1lbmQucHkgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9u
dC1lbmQucHkKaW5kZXggMzRiMjYyNGRiYjQzNGY2NmEwMTNlNjhmYTIwNmEwNWVhNDQ4Yjc5NC4u
Njg0YzdkNWZiNzUzNmVlZjNjODI4N2UwMzcxYzc1MTViMzI4NmUwMSAxMDA3NTUKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5weQpAQCAtODcsOSArODcsOSBAQCBt
b2R1bGVzID0gWwogICAgICAgICAgICAgIlJhd1NvdXJjZUNvZGUuanMiLAogICAgICAgICAgICAg
IlJlbW90ZU9iamVjdC5qcyIsCiAgICAgICAgICAgICAiUmVzb3VyY2UuanMiLAotICAgICAgICAg
ICAgIlJlc291cmNlQ2F0ZWdvcnkuanMiLAogICAgICAgICAgICAgIlJlc291cmNlU2NyaXB0TWFw
cGluZy5qcyIsCiAgICAgICAgICAgICAiUmVzb3VyY2VUcmVlTW9kZWwuanMiLAorICAgICAgICAg
ICAgIlJlc291cmNlVHlwZS5qcyIsCiAgICAgICAgICAgICAiUmVzb3VyY2VVdGlscy5qcyIsCiAg
ICAgICAgICAgICAiTmV0d29ya01hbmFnZXIuanMiLAogICAgICAgICAgICAgIlVJU291cmNlQ29k
ZS5qcyIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1
ZGl0TGF1bmNoZXJWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9B
dWRpdExhdW5jaGVyVmlldy5qcwppbmRleCA5YThlOWRlZTAxYzU2MTAyNDgzOWYzNjQ1MWY1Zjkw
MDk0YWQ2MzVhLi5hYWFmNDBhNGNjZGYwMmY0YTk2YzNkYTRhM2ExOTYwNjBiMGNkNWIwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0TGF1bmNoZXJW
aWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRMYXVu
Y2hlclZpZXcuanMKQEAgLTczLDcgKzczLDcgQEAgV2ViSW5zcGVjdG9yLkF1ZGl0TGF1bmNoZXJW
aWV3LnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIHZhciByZXNvdXJjZSA9IGV2ZW50LmRh
dGE7CiAgICAgICAgIC8vIElnbm9yZSBsb25nLWxpdmluZyBXZWJTb2NrZXRzIGZvciB0aGUgc2Fr
ZSBvZiBwcm9ncmVzcyBpbmRpY2F0b3IsIGFzIHdlIHdvbid0IGJlIHdhaXRpbmcgdGhlbSBhbnl3
YXkuCi0gICAgICAgIGlmIChyZXNvdXJjZS50eXBlID09PSBXZWJJbnNwZWN0b3IuUmVzb3VyY2Uu
VHlwZS5XZWJTb2NrZXQpCisgICAgICAgIGlmIChyZXNvdXJjZS50eXBlID09PSBXZWJJbnNwZWN0
b3IucmVzb3VyY2VUeXBlcy5XZWJTb2NrZXQpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
ICsrdGhpcy5fdG90YWxSZXNvdXJjZXM7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVJlc291cmNlUHJv
Z3Jlc3MoKTsKQEAgLTgzLDcgKzgzLDcgQEAgV2ViSW5zcGVjdG9yLkF1ZGl0TGF1bmNoZXJWaWV3
LnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIHZhciByZXNvdXJjZSA9IGV2ZW50LmRhdGE7
CiAgICAgICAgIC8vIFNlZSByZXNvcmNlU3RhcnRlZCBmb3IgZGV0YWlscy4KLSAgICAgICAgaWYg
KHJlc291cmNlLnR5cGUgPT09IFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLldlYlNvY2tldCkK
KyAgICAgICAgaWYgKHJlc291cmNlLnR5cGUgPT09IFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVz
LldlYlNvY2tldCkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgKyt0aGlzLl9sb2FkZWRS
ZXNvdXJjZXM7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVJlc291cmNlUHJvZ3Jlc3MoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRSdWxlcy5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRSdWxlcy5qcwppbmRleCAx
MWQyMDk2NmQ4Y2Y2YWZjYjllZDM2MmU2ODlkOGMxZTAwZDlkNmI3Li5hMmRkYzQzNjY2OTE2YWZi
Y2Y5Mjc3ZjY1YmYzYzYwODNhM2U4ZTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0F1ZGl0UnVsZXMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9BdWRpdFJ1bGVzLmpzCkBAIC0xMTMsNyArMTEzLDcgQEAgV2ViSW5zcGVj
dG9yLkF1ZGl0UnVsZXMuR3ppcFJ1bGUucHJvdG90eXBlID0gewogCiAgICAgX3Nob3VsZENvbXBy
ZXNzOiBmdW5jdGlvbihyZXNvdXJjZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBXZWJJbnNwZWN0
b3IuUmVzb3VyY2UuVHlwZS5pc1RleHRUeXBlKHJlc291cmNlLnR5cGUpICYmIHJlc291cmNlLmRv
bWFpbiAmJiByZXNvdXJjZS5yZXNvdXJjZVNpemUgIT09IHVuZGVmaW5lZCAmJiByZXNvdXJjZS5y
ZXNvdXJjZVNpemUgPiAxNTA7CisgICAgICAgIHJldHVybiByZXNvdXJjZS50eXBlLmlzVGV4dFR5
cGUoKSAmJiByZXNvdXJjZS5kb21haW4gJiYgcmVzb3VyY2UucmVzb3VyY2VTaXplICE9PSB1bmRl
ZmluZWQgJiYgcmVzb3VyY2UucmVzb3VyY2VTaXplID4gMTUwOwogICAgIH0KIH0KIApAQCAtMTYy
LDcgKzE2Miw3IEBAIFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkNvbWJpbmVFeHRlcm5hbFJlc291
cmNlc1J1bGUucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluCiAgKiBAZXh0ZW5kcyB7V2ViSW5z
cGVjdG9yLkF1ZGl0UnVsZXMuQ29tYmluZUV4dGVybmFsUmVzb3VyY2VzUnVsZX0KICAqLwogV2Vi
SW5zcGVjdG9yLkF1ZGl0UnVsZXMuQ29tYmluZUpzUmVzb3VyY2VzUnVsZSA9IGZ1bmN0aW9uKGFs
bG93ZWRQZXJEb21haW4pIHsKLSAgICBXZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5Db21iaW5lRXh0
ZXJuYWxSZXNvdXJjZXNSdWxlLmNhbGwodGhpcywgInBhZ2UtZXh0ZXJuYWxqcyIsICJDb21iaW5l
IGV4dGVybmFsIEphdmFTY3JpcHQiLCBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5TY3JpcHQs
ICJKYXZhU2NyaXB0IiwgYWxsb3dlZFBlckRvbWFpbik7CisgICAgV2ViSW5zcGVjdG9yLkF1ZGl0
UnVsZXMuQ29tYmluZUV4dGVybmFsUmVzb3VyY2VzUnVsZS5jYWxsKHRoaXMsICJwYWdlLWV4dGVy
bmFsanMiLCAiQ29tYmluZSBleHRlcm5hbCBKYXZhU2NyaXB0IiwgV2ViSW5zcGVjdG9yLnJlc291
cmNlVHlwZXMuU2NyaXB0LCAiSmF2YVNjcmlwdCIsIGFsbG93ZWRQZXJEb21haW4pOwogfQogCiBX
ZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5Db21iaW5lSnNSZXNvdXJjZXNSdWxlLnByb3RvdHlwZS5f
X3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5Db21iaW5lRXh0ZXJuYWxSZXNvdXJj
ZXNSdWxlLnByb3RvdHlwZTsKQEAgLTE3Miw3ICsxNzIsNyBAQCBXZWJJbnNwZWN0b3IuQXVkaXRS
dWxlcy5Db21iaW5lSnNSZXNvdXJjZXNSdWxlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNw
ZWN0bwogICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkNvbWJpbmVFeHRlcm5h
bFJlc291cmNlc1J1bGV9CiAgKi8KIFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkNvbWJpbmVDc3NS
ZXNvdXJjZXNSdWxlID0gZnVuY3Rpb24oYWxsb3dlZFBlckRvbWFpbikgewotICAgIFdlYkluc3Bl
Y3Rvci5BdWRpdFJ1bGVzLkNvbWJpbmVFeHRlcm5hbFJlc291cmNlc1J1bGUuY2FsbCh0aGlzLCAi
cGFnZS1leHRlcm5hbGNzcyIsICJDb21iaW5lIGV4dGVybmFsIENTUyIsIFdlYkluc3BlY3Rvci5S
ZXNvdXJjZS5UeXBlLlN0eWxlc2hlZXQsICJDU1MiLCBhbGxvd2VkUGVyRG9tYWluKTsKKyAgICBX
ZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5Db21iaW5lRXh0ZXJuYWxSZXNvdXJjZXNSdWxlLmNhbGwo
dGhpcywgInBhZ2UtZXh0ZXJuYWxjc3MiLCAiQ29tYmluZSBleHRlcm5hbCBDU1MiLCBXZWJJbnNw
ZWN0b3IucmVzb3VyY2VUeXBlcy5TdHlsZXNoZWV0LCAiQ1NTIiwgYWxsb3dlZFBlckRvbWFpbik7
CiB9CiAKIFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkNvbWJpbmVDc3NSZXNvdXJjZXNSdWxlLnBy
b3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5Db21iaW5lRXh0ZXJu
YWxSZXNvdXJjZXNSdWxlLnByb3RvdHlwZTsKQEAgLTIzNiw3ICsyMzYsNyBAQCBXZWJJbnNwZWN0
b3IuQXVkaXRSdWxlcy5QYXJhbGxlbGl6ZURvd25sb2FkUnVsZS5wcm90b3R5cGUgPSB7CiAKICAg
ICAgICAgdmFyIGRvbWFpblRvUmVzb3VyY2VzTWFwID0gV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMu
Z2V0RG9tYWluVG9SZXNvdXJjZXNNYXAoCiAgICAgICAgICAgICByZXNvdXJjZXMsCi0gICAgICAg
ICAgICBbV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5cGUuU3R5bGVzaGVldCwgV2ViSW5zcGVjdG9y
LlJlc291cmNlLlR5cGUuSW1hZ2VdLAorICAgICAgICAgICAgW1dlYkluc3BlY3Rvci5yZXNvdXJj
ZVR5cGVzLlN0eWxlc2hlZXQsIFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLkltYWdlXSwKICAg
ICAgICAgICAgIHRydWUpOwogCiAgICAgICAgIHZhciBob3N0cyA9IFtdOwpAQCAtMzUzLDcgKzM1
Myw3IEBAIFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLlVudXNlZENzc1J1bGUucHJvdG90eXBlID0g
ewogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgICAgICAgICAg
ICAgdmFyIHJlc291cmNlID0gV2ViSW5zcGVjdG9yLnJlc291cmNlRm9yVVJMKHN0eWxlU2hlZXQu
c291cmNlVVJMKTsKLSAgICAgICAgICAgICAgICAgICAgdmFyIGlzSW5saW5lQmxvY2sgPSByZXNv
dXJjZSAmJiByZXNvdXJjZS50eXBlID09IFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLkRvY3Vt
ZW50OworICAgICAgICAgICAgICAgICAgICB2YXIgaXNJbmxpbmVCbG9jayA9IHJlc291cmNlICYm
IHJlc291cmNlLnR5cGUgPT0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuRG9jdW1lbnQ7CiAg
ICAgICAgICAgICAgICAgICAgIHZhciB1cmwgPSAhaXNJbmxpbmVCbG9jayA/IFdlYkluc3BlY3Rv
ci5BdWRpdFJ1bGVSZXN1bHQubGlua2lmeURpc3BsYXlOYW1lKHN0eWxlU2hlZXQuc291cmNlVVJM
KSA6IFN0cmluZy5zcHJpbnRmKCJJbmxpbmUgYmxvY2sgIyVkIiwgKytpbmxpbmVCbG9ja09yZGlu
YWwpOwogICAgICAgICAgICAgICAgICAgICB2YXIgcGN0VW51c2VkID0gTWF0aC5yb3VuZCgxMDAg
KiB1bnVzZWRTdHlsZXNoZWV0U2l6ZSAvIHN0eWxlc2hlZXRTaXplKTsKICAgICAgICAgICAgICAg
ICAgICAgaWYgKCFzdW1tYXJ5KQpAQCAtNTI0LDcgKzUyNCw3IEBAIFdlYkluc3BlY3Rvci5BdWRp
dFJ1bGVzLkNhY2hlQ29udHJvbFJ1bGUucHJvdG90eXBlID0gewogCiAgICAgaXNDb21wcmVzc2li
bGU6IGZ1bmN0aW9uKHJlc291cmNlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rv
ci5SZXNvdXJjZS5UeXBlLmlzVGV4dFR5cGUocmVzb3VyY2UudHlwZSk7CisgICAgICAgIHJldHVy
biByZXNvdXJjZS50eXBlLmlzVGV4dFR5cGUoKTsKICAgICB9LAogCiAgICAgaXNQdWJsaWNseUNh
Y2hlYWJsZTogZnVuY3Rpb24ocmVzb3VyY2UpCkBAIC0xMzAxLDggKzEzMDEsOCBAQCBXZWJJbnNw
ZWN0b3IuQXVkaXRSdWxlcy5TdGF0aWNDb29raWVsZXNzUnVsZS5wcm90b3R5cGUgPSB7CiAgICAg
cHJvY2Vzc0Nvb2tpZXM6IGZ1bmN0aW9uKGFsbENvb2tpZXMsIHJlc291cmNlcywgcmVzdWx0KQog
ICAgIHsKICAgICAgICAgdmFyIGRvbWFpblRvUmVzb3VyY2VzTWFwID0gV2ViSW5zcGVjdG9yLkF1
ZGl0UnVsZXMuZ2V0RG9tYWluVG9SZXNvdXJjZXNNYXAocmVzb3VyY2VzLAotICAgICAgICAgICAg
ICAgIFtXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5TdHlsZXNoZWV0LAotICAgICAgICAgICAg
ICAgICBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5JbWFnZV0sCisgICAgICAgICAgICAgICAg
W1dlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlN0eWxlc2hlZXQsCisgICAgICAgICAgICAgICAg
IFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLkltYWdlXSwKICAgICAgICAgICAgICAgICB0cnVl
KTsKICAgICAgICAgdmFyIHRvdGFsU3RhdGljUmVzb3VyY2VzID0gMDsKICAgICAgICAgZm9yICh2
YXIgZG9tYWluIGluIGRvbWFpblRvUmVzb3VyY2VzTWFwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTdHlsZU1vZGVsLmpzIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTdHlsZU1vZGVsLmpzCmluZGV4IGJjZWUwMWQ1N2Uz
ZGY1ZGE5NjNiNGQ3ZWNjYTEzODVhM2YxZmM4YzcuLjM2NTVmNmM2ZGNlYzM5NWRmMTVmZDk4NTUy
NDAxYjUxZTczNTI0MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQ1NTU3R5bGVNb2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0NTU1N0eWxlTW9kZWwuanMKQEAgLTc5OSwxMyArNzk5LDEzIEBAIFdlYkluc3BlY3Rv
ci5DU1NTdHlsZU1vZGVsUmVzb3VyY2VCaW5kaW5nID0gZnVuY3Rpb24oY3NzTW9kZWwpCiAgICAg
dGhpcy5fc3R5bGVTaGVldElkVG9VUkwgPSB7fTsKICAgICB0aGlzLl9jc3NNb2RlbC5hZGRFdmVu
dExpc3RlbmVyKFdlYkluc3BlY3Rvci5DU1NTdHlsZU1vZGVsLkV2ZW50cy5TdHlsZVNoZWV0Q2hh
bmdlZCwgdGhpcy5fc3R5bGVTaGVldENoYW5nZWQsIHRoaXMpOwogICAgIFdlYkluc3BlY3Rvci5y
ZXNvdXJjZVRyZWVNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRy
ZWVNb2RlbC5FdmVudFR5cGVzLkluc3BlY3RlZFVSTENoYW5nZWQsIHRoaXMuX2luc3BlY3RlZFVS
TENoYW5nZWQsIHRoaXMpOwotICAgIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5yZWdpc3RlckRvbWFp
bk1vZGVsQmluZGluZyhXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5TdHlsZXNoZWV0LCB0aGlz
KTsKKyAgICBXZWJJbnNwZWN0b3IuUmVzb3VyY2UucmVnaXN0ZXJEb21haW5Nb2RlbEJpbmRpbmco
V2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU3R5bGVzaGVldCwgdGhpcyk7CiB9CiAKIFdlYklu
c3BlY3Rvci5DU1NTdHlsZU1vZGVsUmVzb3VyY2VCaW5kaW5nLnByb3RvdHlwZSA9IHsKICAgICBz
ZXRDb250ZW50OiBmdW5jdGlvbihyZXNvdXJjZSwgY29udGVudCwgbWFqb3JDaGFuZ2UsIHVzZXJD
YWxsYmFjaykKICAgICB7Ci0gICAgICAgIGlmIChtYWpvckNoYW5nZSAmJiByZXNvdXJjZS50eXBl
ID09PSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5TdHlsZXNoZWV0KQorICAgICAgICBpZiAo
bWFqb3JDaGFuZ2UgJiYgcmVzb3VyY2UudHlwZSA9PT0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlw
ZXMuU3R5bGVzaGVldCkKICAgICAgICAgICAgIHJlc291cmNlLmFkZFJldmlzaW9uKGNvbnRlbnQp
OwogCiAgICAgICAgIGlmICh0aGlzLl91cmxUb1N0eWxlU2hlZXRJZFtyZXNvdXJjZS51cmxdKSB7
CkBAIC04OTUsNyArODk1LDcgQEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWxSZXNvdXJjZUJp
bmRpbmcucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICAg
ICAgdmFyIHJlc291cmNlID0gV2ViSW5zcGVjdG9yLnJlc291cmNlRm9yVVJMKHVybCk7Ci0gICAg
ICAgICAgICBpZiAocmVzb3VyY2UgJiYgcmVzb3VyY2UudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlJl
c291cmNlLlR5cGUuU3R5bGVzaGVldCkKKyAgICAgICAgICAgIGlmIChyZXNvdXJjZSAmJiByZXNv
dXJjZS50eXBlID09PSBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TdHlsZXNoZWV0KQogICAg
ICAgICAgICAgICAgIHJlc291cmNlLmFkZFJldmlzaW9uKGNvbnRlbnQpOwogICAgICAgICB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29udGVudFBy
b3ZpZGVycy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29udGVudFBy
b3ZpZGVycy5qcwppbmRleCBiODY5NzE2NmQwODliNzI1NTM5MWRiYWY0OTlhNDI1M2IxMWVkYjY2
Li44YTg0ODQ3NTdiNTE4OWMzNzg2ZWMyMDVhYWZmZDc1MTZlNjRiOGMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnRlbnRQcm92aWRlcnMuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db250ZW50UHJvdmlkZXJzLmpz
CkBAIC0yMDgsNyArMjA4LDcgQEAgV2ViSW5zcGVjdG9yLkNvbmNhdGVuYXRlZFNjcmlwdHNDb250
ZW50UHJvdmlkZXIucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3QKICAqLwogV2ViSW5z
cGVjdG9yLlJlc291cmNlQ29udGVudFByb3ZpZGVyID0gZnVuY3Rpb24ocmVzb3VyY2UpCiB7Ci0g
ICAgdGhpcy5fbWltZVR5cGUgPSByZXNvdXJjZS50eXBlID09PSBXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2UuVHlwZS5TY3JpcHQgPyAidGV4dC9qYXZhc2NyaXB0IiA6ICJ0ZXh0L2h0bWwiOworICAgIHRo
aXMuX21pbWVUeXBlID0gcmVzb3VyY2UudHlwZSA9PT0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlw
ZXMuU2NyaXB0ID8gInRleHQvamF2YXNjcmlwdCIgOiAidGV4dC9odG1sIjsKICAgICB0aGlzLl9y
ZXNvdXJjZSA9IHJlc291cmNlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzCmlu
ZGV4IDQ3MjRkY2NjMWZkZjkxYTljNzkzODY5YjA4ZmE0NzRjYjczMGNiYmUuLjJiMjA3YWMzOTY2
NjFlZjMxMTA1ZGVkYWZmNDUzM2EwYjhlYzMzYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9uTW9k
ZWwuanMKQEAgLTc1Nyw3ICs3NTcsNyBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRp
b25Nb2RlbC5DYWxsRnJhbWVQbGFjYXJkLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZQogV2ViSW5z
cGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWxSZXNvdXJjZUJpbmRpbmcgPSBmdW5jdGlv
bihtb2RlbCkKIHsKICAgICB0aGlzLl9wcmVzZW50YXRpb25Nb2RlbCA9IG1vZGVsOwotICAgIFdl
Ykluc3BlY3Rvci5SZXNvdXJjZS5yZWdpc3RlckRvbWFpbk1vZGVsQmluZGluZyhXZWJJbnNwZWN0
b3IuUmVzb3VyY2UuVHlwZS5TY3JpcHQsIHRoaXMpOworICAgIFdlYkluc3BlY3Rvci5SZXNvdXJj
ZS5yZWdpc3RlckRvbWFpbk1vZGVsQmluZGluZyhXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5T
Y3JpcHQsIHRoaXMpOwogfQogCiBXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2Rl
bFJlc291cmNlQmluZGluZy5wcm90b3R5cGUgPSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMKaW5kZXggMTkzZThkZjkyNDhhODUy
NzVmYjMwMDQyZGQ3MTRiMGYyMDVlYTgxNi4uNzljMTUyNDUzODE4MGM4YjlhMDQ5ZGE3MTU3MmZk
MzA1ZTc0YmM2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9FbGVtZW50c1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvRWxlbWVudHNQYW5lbC5qcwpAQCAtMzQ5LDcgKzM0OSw3IEBAIFdlYkluc3BlY3Rvci5FbGVt
ZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKIAog
ICAgICAgICAgICAgdmFyIHJlc291cmNlID0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVs
LnJlc291cmNlRm9yVVJMKGFuY2hvci5ocmVmKTsKLSAgICAgICAgICAgIGlmICghcmVzb3VyY2Ug
fHwgcmVzb3VyY2UudHlwZSAhPT0gV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5cGUuSW1hZ2UpCisg
ICAgICAgICAgICBpZiAoIXJlc291cmNlIHx8IHJlc291cmNlLnR5cGUgIT09IFdlYkluc3BlY3Rv
ci5yZXNvdXJjZVR5cGVzLkltYWdlKQogICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogCiAg
ICAgICAgICAgICBhbmNob3IucmVtb3ZlQXR0cmlidXRlKCJ0aXRsZSIpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5qcwppbmRl
eCBlMDBlNGVmODI1MWU2YzRjNGIzMTU5NDY0MmIzOWFmNTRhYzI5MWIyLi5hNDM1ZTM4YzIyNTYw
YzUyZGFhNWVjZGE5MDcwZTEwMDgyMGMwYTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5qcwpAQCAtNDE3LDcgKzQxNyw3
IEBAIFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlID0gewogICAgIHsKICAg
ICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgIHVybDogcmVzb3VyY2UudXJsLAotICAgICAgICAg
ICAgdHlwZTogV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5cGUudG9TdHJpbmcocmVzb3VyY2UudHlw
ZSkKKyAgICAgICAgICAgIHR5cGU6IHJlc291cmNlLnR5cGUubmFtZSgpCiAgICAgICAgIH07CiAg
ICAgfSwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9O
ZXR3b3JrTWFuYWdlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0
d29ya01hbmFnZXIuanMKaW5kZXggN2Q0MzhjMjUwZmY3MzhmNWEzZmM4OGJjOGVjNjZlN2FjNGU5
YWVjZi4uMGY2OGZjZTNhNTI3MjU2MDAyNmM0YzFhNWQ4ZjlkNjZmOTgyNGJiNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrTWFuYWdlci5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtNYW5hZ2VyLmpz
CkBAIC01Nyw2ICs1Nyw0MiBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuRXZlbnRUeXBl
cyA9IHsKICAgICBSZXNvdXJjZVVwZGF0ZURyb3BwZWQ6ICJSZXNvdXJjZVVwZGF0ZURyb3BwZWQi
CiB9CiAKK1dlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5fTUlNRVR5cGVzID0geworICAgICJ0
ZXh0L2h0bWwiOiAgICAgICAgICAgICAgICAgICB7ImRvY3VtZW50IjogdHJ1ZX0sCisgICAgInRl
eHQveG1sIjogICAgICAgICAgICAgICAgICAgIHsiZG9jdW1lbnQiOiB0cnVlfSwKKyAgICAidGV4
dC9wbGFpbiI6ICAgICAgICAgICAgICAgICAgeyJkb2N1bWVudCI6IHRydWV9LAorICAgICJhcHBs
aWNhdGlvbi94aHRtbCt4bWwiOiAgICAgICB7ImRvY3VtZW50IjogdHJ1ZX0sCisgICAgInRleHQv
Y3NzIjogICAgICAgICAgICAgICAgICAgIHsic3R5bGVzaGVldCI6IHRydWV9LAorICAgICJ0ZXh0
L3hzbCI6ICAgICAgICAgICAgICAgICAgICB7InN0eWxlc2hlZXQiOiB0cnVlfSwKKyAgICAiaW1h
Z2UvanBlZyI6ICAgICAgICAgICAgICAgICAgeyJpbWFnZSI6IHRydWV9LAorICAgICJpbWFnZS9w
bmciOiAgICAgICAgICAgICAgICAgICB7ImltYWdlIjogdHJ1ZX0sCisgICAgImltYWdlL2dpZiI6
ICAgICAgICAgICAgICAgICAgIHsiaW1hZ2UiOiB0cnVlfSwKKyAgICAiaW1hZ2UvYm1wIjogICAg
ICAgICAgICAgICAgICAgeyJpbWFnZSI6IHRydWV9LAorICAgICJpbWFnZS9zdmcreG1sIjogICAg
ICAgICAgICAgICB7ImltYWdlIjogdHJ1ZX0sCisgICAgImltYWdlL3ZuZC5taWNyb3NvZnQuaWNv
biI6ICAgIHsiaW1hZ2UiOiB0cnVlfSwKKyAgICAiaW1hZ2Uvd2VicCI6ICAgICAgICAgICAgICAg
ICAgeyJpbWFnZSI6IHRydWV9LAorICAgICJpbWFnZS94LWljb24iOiAgICAgICAgICAgICAgICB7
ImltYWdlIjogdHJ1ZX0sCisgICAgImltYWdlL3gteGJpdG1hcCI6ICAgICAgICAgICAgIHsiaW1h
Z2UiOiB0cnVlfSwKKyAgICAiZm9udC90dGYiOiAgICAgICAgICAgICAgICAgICAgeyJmb250Ijog
dHJ1ZX0sCisgICAgImZvbnQvb3BlbnR5cGUiOiAgICAgICAgICAgICAgIHsiZm9udCI6IHRydWV9
LAorICAgICJmb250L3dvZmYiOiAgICAgICAgICAgICAgICAgICB7ImZvbnQiOiB0cnVlfSwKKyAg
ICAiYXBwbGljYXRpb24veC1mb250LXR5cGUxIjogICAgeyJmb250IjogdHJ1ZX0sCisgICAgImFw
cGxpY2F0aW9uL3gtZm9udC10dGYiOiAgICAgIHsiZm9udCI6IHRydWV9LAorICAgICJhcHBsaWNh
dGlvbi94LWZvbnQtd29mZiI6ICAgICB7ImZvbnQiOiB0cnVlfSwKKyAgICAiYXBwbGljYXRpb24v
eC10cnVldHlwZS1mb250IjogeyJmb250IjogdHJ1ZX0sCisgICAgInRleHQvamF2YXNjcmlwdCI6
ICAgICAgICAgICAgIHsic2NyaXB0IjogdHJ1ZX0sCisgICAgInRleHQvZWNtYXNjcmlwdCI6ICAg
ICAgICAgICAgIHsic2NyaXB0IjogdHJ1ZX0sCisgICAgImFwcGxpY2F0aW9uL2phdmFzY3JpcHQi
OiAgICAgIHsic2NyaXB0IjogdHJ1ZX0sCisgICAgImFwcGxpY2F0aW9uL2VjbWFzY3JpcHQiOiAg
ICAgIHsic2NyaXB0IjogdHJ1ZX0sCisgICAgImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI6ICAg
IHsic2NyaXB0IjogdHJ1ZX0sCisgICAgImFwcGxpY2F0aW9uL2pzb24iOiAgICAgICAgICAgIHsi
c2NyaXB0IjogdHJ1ZX0sCisgICAgInRleHQvamF2YXNjcmlwdDEuMSI6ICAgICAgICAgIHsic2Ny
aXB0IjogdHJ1ZX0sCisgICAgInRleHQvamF2YXNjcmlwdDEuMiI6ICAgICAgICAgIHsic2NyaXB0
IjogdHJ1ZX0sCisgICAgInRleHQvamF2YXNjcmlwdDEuMyI6ICAgICAgICAgIHsic2NyaXB0Ijog
dHJ1ZX0sCisgICAgInRleHQvanNjcmlwdCI6ICAgICAgICAgICAgICAgIHsic2NyaXB0IjogdHJ1
ZX0sCisgICAgInRleHQvbGl2ZXNjcmlwdCI6ICAgICAgICAgICAgIHsic2NyaXB0IjogdHJ1ZX0s
Cit9CisKIFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICAgLyoq
CiAgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuUmVzb3VyY2V9IHJlc291cmNlCkBAIC0xODAs
NyArMjE2LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgaWYgKCF0aGlzLl9taW1lVHlwZUlzQ29uc2lzdGVudFdpdGhUeXBlKHJlc291cmNl
KSkgewogICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmNvbnNvbGUuYWRkTWVzc2FnZShXZWJJbnNw
ZWN0b3IuQ29uc29sZU1lc3NhZ2UuY3JlYXRlKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5N
ZXNzYWdlU291cmNlLk5ldHdvcmssCiAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLkNvbnNv
bGVNZXNzYWdlLk1lc3NhZ2VMZXZlbC5XYXJuaW5nLAotICAgICAgICAgICAgICAgIFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiUmVzb3VyY2UgaW50ZXJwcmV0ZWQgYXMgJXMgYnV0IHRyYW5zZmVycmVk
IHdpdGggTUlNRSB0eXBlICVzOiBcIiVzXCIuIiwgV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5cGUu
dG9VSVN0cmluZyhyZXNvdXJjZS50eXBlKSwgcmVzb3VyY2UubWltZVR5cGUsIHJlc291cmNlLnVy
bCksCisgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSZXNvdXJjZSBpbnRl
cnByZXRlZCBhcyAlcyBidXQgdHJhbnNmZXJyZWQgd2l0aCBNSU1FIHR5cGUgJXM6IFwiJXNcIi4i
LCByZXNvdXJjZS50eXBlLnRpdGxlKCksIHJlc291cmNlLm1pbWVUeXBlLCByZXNvdXJjZS51cmwp
LAogICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlVHlw
ZS5Mb2csCiAgICAgICAgICAgICAgICAgIiIsCiAgICAgICAgICAgICAgICAgMCwKQEAgLTIwNywx
NiArMjQzLDE2IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5cGUgPSB7
CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgICAgICBpZiAodHlwZW9mIHJlc291cmNl
LnR5cGUgPT09ICJ1bmRlZmluZWQiCi0gICAgICAgICAgICB8fCByZXNvdXJjZS50eXBlID09PSBX
ZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5PdGhlcgotICAgICAgICAgICAgfHwgcmVzb3VyY2Uu
dHlwZSA9PT0gV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5cGUuWEhSCi0gICAgICAgICAgICB8fCBy
ZXNvdXJjZS50eXBlID09PSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5XZWJTb2NrZXQpCisg
ICAgICAgICAgICB8fCByZXNvdXJjZS50eXBlID09PSBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBl
cy5PdGhlcgorICAgICAgICAgICAgfHwgcmVzb3VyY2UudHlwZSA9PT0gV2ViSW5zcGVjdG9yLnJl
c291cmNlVHlwZXMuWEhSCisgICAgICAgICAgICB8fCByZXNvdXJjZS50eXBlID09PSBXZWJJbnNw
ZWN0b3IucmVzb3VyY2VUeXBlcy5XZWJTb2NrZXQpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
IAogICAgICAgICBpZiAoIXJlc291cmNlLm1pbWVUeXBlKQogICAgICAgICAgICAgcmV0dXJuIHRy
dWU7IC8vIE1pZ2h0IGJlIG5vdCBrbm93biBmb3IgY2FjaGVkIHJlc291cmNlcyB3aXRoIG51bGwg
cmVzcG9uc2VzLgogCi0gICAgICAgIGlmIChyZXNvdXJjZS5taW1lVHlwZSBpbiBXZWJJbnNwZWN0
b3IuTUlNRVR5cGVzKQotICAgICAgICAgICAgcmV0dXJuIHJlc291cmNlLnR5cGUgaW4gV2ViSW5z
cGVjdG9yLk1JTUVUeXBlc1tyZXNvdXJjZS5taW1lVHlwZV07CisgICAgICAgIGlmIChyZXNvdXJj
ZS5taW1lVHlwZSBpbiBXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuX01JTUVUeXBlcykKKyAg
ICAgICAgICAgIHJldHVybiByZXNvdXJjZS50eXBlLm5hbWUoKSBpbiBXZWJJbnNwZWN0b3IuTmV0
d29ya01hbmFnZXIuX01JTUVUeXBlc1tyZXNvdXJjZS5taW1lVHlwZV07CiAKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIH0sCkBAIC0yMjcsNyArMjYzLDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdv
cmtEaXNwYXRjaGVyLnByb3RvdHlwZSA9IHsKICAgICAgKi8KICAgICBfdXBkYXRlUmVzb3VyY2VX
aXRoQ2FjaGVkUmVzb3VyY2U6IGZ1bmN0aW9uKHJlc291cmNlLCBjYWNoZWRSZXNvdXJjZSkKICAg
ICB7Ci0gICAgICAgIHJlc291cmNlLnR5cGUgPSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZVtj
YWNoZWRSZXNvdXJjZS50eXBlXTsKKyAgICAgICAgcmVzb3VyY2UudHlwZSA9IFdlYkluc3BlY3Rv
ci5yZXNvdXJjZVR5cGVzW2NhY2hlZFJlc291cmNlLnR5cGVdOwogICAgICAgICByZXNvdXJjZS5y
ZXNvdXJjZVNpemUgPSBjYWNoZWRSZXNvdXJjZS5ib2R5U2l6ZTsKICAgICAgICAgdGhpcy5fdXBk
YXRlUmVzb3VyY2VXaXRoUmVzcG9uc2UocmVzb3VyY2UsIGNhY2hlZFJlc291cmNlLnJlc3BvbnNl
KTsKICAgICB9LApAQCAtMzEyLDcgKzM0OCw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrRGlzcGF0
Y2hlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KIAogICAgICAgICByZXNvdXJjZS5yZXNwb25z
ZVJlY2VpdmVkVGltZSA9IHRpbWU7Ci0gICAgICAgIHJlc291cmNlLnR5cGUgPSBXZWJJbnNwZWN0
b3IuUmVzb3VyY2UuVHlwZVtyZXNvdXJjZVR5cGVdOworICAgICAgICByZXNvdXJjZS50eXBlID0g
V2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXNbcmVzb3VyY2VUeXBlXTsKIAogICAgICAgICB0aGlz
Ll91cGRhdGVSZXNvdXJjZVdpdGhSZXNwb25zZShyZXNvdXJjZSwgcmVzcG9uc2UpOwogCkBAIC0z
OTYsNyArNDMyLDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZSA9
IHsKICAgICB3ZWJTb2NrZXRDcmVhdGVkOiBmdW5jdGlvbihyZXF1ZXN0SWQsIHJlcXVlc3RVUkwp
CiAgICAgewogICAgICAgICB2YXIgcmVzb3VyY2UgPSBuZXcgV2ViSW5zcGVjdG9yLlJlc291cmNl
KHJlcXVlc3RJZCwgcmVxdWVzdFVSTCwgIiIsIG51bGwpOwotICAgICAgICByZXNvdXJjZS50eXBl
ID0gV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5cGUuV2ViU29ja2V0OworICAgICAgICByZXNvdXJj
ZS50eXBlID0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuV2ViU29ja2V0OwogICAgICAgICB0
aGlzLl9zdGFydFJlc291cmNlKHJlc291cmNlKTsKICAgICB9LAogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCmluZGV4IDFlODczMWMy
NDE1Yzk3NDQyZDQ0ZDBlNThlZmY4NmNkMTkxMTIzMGUuLmYyMmZjNjQwMWZhMzZiM2JkZDQ3ODBi
ZTdiNTdhN2VlODE4NTQyMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCkBAIC01MSw3ICs1MSw3IEBAIFdlYkluc3BlY3Rvci5O
ZXR3b3JrTG9nVmlldyA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLl9tYXRjaGVkUmVzb3VyY2VzTWFw
ID0ge307CiAgICAgdGhpcy5fY3VycmVudE1hdGNoZWRSZXNvdXJjZUluZGV4ID0gLTE7CiAKLSAg
ICB0aGlzLl9jYXRlZ29yaWVzID0gV2ViSW5zcGVjdG9yLnJlc291cmNlQ2F0ZWdvcmllczsKKyAg
ICB0aGlzLl9jYXRlZ29yaWVzID0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXM7CiAKICAgICB0
aGlzLl9jcmVhdGVTdGF0dXNiYXJCdXR0b25zKCk7CiAgICAgdGhpcy5fY3JlYXRlRmlsdGVyU3Rh
dHVzQmFySXRlbXMoKTsKQEAgLTM1Niw3ICszNTYsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xv
Z1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICBmaWx0ZXJCYXJFbGVtZW50LmFwcGVuZENoaWxk
KGRpdmlkZXJFbGVtZW50KTsKIAogICAgICAgICBmb3IgKHZhciBjYXRlZ29yeSBpbiB0aGlzLl9j
YXRlZ29yaWVzKQotICAgICAgICAgICAgY3JlYXRlRmlsdGVyRWxlbWVudC5jYWxsKHRoaXMsIGNh
dGVnb3J5LCB0aGlzLl9jYXRlZ29yaWVzW2NhdGVnb3J5XS50aXRsZSk7CisgICAgICAgICAgICBj
cmVhdGVGaWx0ZXJFbGVtZW50LmNhbGwodGhpcywgY2F0ZWdvcnksIHRoaXMuX2NhdGVnb3JpZXNb
Y2F0ZWdvcnldLmNhdGVnb3J5VGl0bGUpOwogICAgICAgICB0aGlzLl9maWx0ZXJCYXJFbGVtZW50
ID0gZmlsdGVyQmFyRWxlbWVudDsKICAgICB9LAogCkBAIC0zOTksNyArMzk5LDcgQEAgV2ViSW5z
cGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHZhciByZXNv
dXJjZSA9IHRoaXMuX3Jlc291cmNlc1tpXTsKICAgICAgICAgICAgIHZhciByZXNvdXJjZVRyYW5z
ZmVyU2l6ZSA9IChyZXNvdXJjZS5jYWNoZWQgfHwgIXJlc291cmNlLnRyYW5zZmVyU2l6ZSkgPyAw
IDogcmVzb3VyY2UudHJhbnNmZXJTaXplOwogICAgICAgICAgICAgdHJhbnNmZXJTaXplICs9IHJl
c291cmNlVHJhbnNmZXJTaXplOwotICAgICAgICAgICAgaWYgKCF0aGlzLl9oaWRkZW5DYXRlZ29y
aWVzLmFsbCB8fCAhdGhpcy5faGlkZGVuQ2F0ZWdvcmllc1tyZXNvdXJjZS5jYXRlZ29yeS5uYW1l
XSkgeworICAgICAgICAgICAgaWYgKCF0aGlzLl9oaWRkZW5DYXRlZ29yaWVzLmFsbCB8fCAhdGhp
cy5faGlkZGVuQ2F0ZWdvcmllc1tyZXNvdXJjZS50eXBlLm5hbWUoKV0pIHsKICAgICAgICAgICAg
ICAgICBzZWxlY3RlZFJlcXVlc3RzTnVtYmVyKys7CiAgICAgICAgICAgICAgICAgc2VsZWN0ZWRU
cmFuc2ZlclNpemUgKz0gcmVzb3VyY2VUcmFuc2ZlclNpemU7CiAgICAgICAgICAgICB9CkBAIC0x
NzE5LDcgKzE3MTksNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0RhdGFHcmlkTm9kZS5wcm90b3R5
cGUgPSB7CiAgICAgewogICAgICAgICBpZiAoIXRoaXMuX3BhcmVudFZpZXcuX2hpZGRlbkNhdGVn
b3JpZXMuYWxsKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICByZXR1cm4gdGhp
cy5fcmVzb3VyY2UuY2F0ZWdvcnkubmFtZSBpbiB0aGlzLl9wYXJlbnRWaWV3Ll9oaWRkZW5DYXRl
Z29yaWVzOworICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2UudHlwZS5uYW1lKCkgaW4gdGhp
cy5fcGFyZW50Vmlldy5faGlkZGVuQ2F0ZWdvcmllczsKICAgICB9LAogCiAgICAgc2VsZWN0OiBm
dW5jdGlvbigpCkBAIC0xODA5LDkgKzE4MDksOSBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0RhdGFH
cmlkTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLl9ncmFwaEVsZW1lbnQuYWRk
U3R5bGVDbGFzcygicmVzb3VyY2UtY2FjaGVkIik7CiAKICAgICAgICAgdGhpcy5fZWxlbWVudC5h
ZGRTdHlsZUNsYXNzKCJuZXR3b3JrLWl0ZW0iKTsKLSAgICAgICAgaWYgKCF0aGlzLl9lbGVtZW50
Lmhhc1N0eWxlQ2xhc3MoIm5ldHdvcmstY2F0ZWdvcnktIiArIHRoaXMuX3Jlc291cmNlLmNhdGVn
b3J5Lm5hbWUpKSB7CisgICAgICAgIGlmICghdGhpcy5fZWxlbWVudC5oYXNTdHlsZUNsYXNzKCJu
ZXR3b3JrLWNhdGVnb3J5LSIgKyB0aGlzLl9yZXNvdXJjZS50eXBlLm5hbWUoKSkpIHsKICAgICAg
ICAgICAgIHRoaXMuX2VsZW1lbnQucmVtb3ZlTWF0Y2hpbmdTdHlsZUNsYXNzZXMoIm5ldHdvcmst
Y2F0ZWdvcnktXFx3KyIpOwotICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5hZGRTdHlsZUNsYXNz
KCJuZXR3b3JrLWNhdGVnb3J5LSIgKyB0aGlzLl9yZXNvdXJjZS5jYXRlZ29yeS5uYW1lKTsKKyAg
ICAgICAgICAgIHRoaXMuX2VsZW1lbnQuYWRkU3R5bGVDbGFzcygibmV0d29yay1jYXRlZ29yeS0i
ICsgdGhpcy5fcmVzb3VyY2UudHlwZS5uYW1lKCkpOwogICAgICAgICB9CiAgICAgfSwKIApAQCAt
MTgxOSw3ICsxODE5LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtEYXRhR3JpZE5vZGUucHJvdG90
eXBlID0gewogICAgIHsKICAgICAgICAgdGhpcy5fbmFtZUNlbGwucmVtb3ZlQ2hpbGRyZW4oKTsK
IAotICAgICAgICBpZiAodGhpcy5fcmVzb3VyY2UuY2F0ZWdvcnkgPT09IFdlYkluc3BlY3Rvci5y
ZXNvdXJjZUNhdGVnb3JpZXMuaW1hZ2VzKSB7CisgICAgICAgIGlmICh0aGlzLl9yZXNvdXJjZS50
eXBlID09PSBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5JbWFnZSkgewogICAgICAgICAgICAg
dmFyIHByZXZpZXdJbWFnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOwogICAgICAg
ICAgICAgcHJldmlld0ltYWdlLmNsYXNzTmFtZSA9ICJpbWFnZS1uZXR3b3JrLWljb24tcHJldmll
dyI7CiAgICAgICAgICAgICB0aGlzLl9yZXNvdXJjZS5wb3B1bGF0ZUltYWdlU291cmNlKHByZXZp
ZXdJbWFnZSk7CkBAIC0xOTc3LDkgKzE5NzcsOSBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0RhdGFH
cmlkTm9kZS5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgdGhpcy5fYmFyQXJlYUVsZW1lbnQucmVt
b3ZlU3R5bGVDbGFzcygiaGlkZGVuIik7CiAKLSAgICAgICAgaWYgKCF0aGlzLl9ncmFwaEVsZW1l
bnQuaGFzU3R5bGVDbGFzcygibmV0d29yay1jYXRlZ29yeS0iICsgdGhpcy5fcmVzb3VyY2UuY2F0
ZWdvcnkubmFtZSkpIHsKKyAgICAgICAgaWYgKCF0aGlzLl9ncmFwaEVsZW1lbnQuaGFzU3R5bGVD
bGFzcygibmV0d29yay1jYXRlZ29yeS0iICsgdGhpcy5fcmVzb3VyY2UudHlwZS5uYW1lKCkpKSB7
CiAgICAgICAgICAgICB0aGlzLl9ncmFwaEVsZW1lbnQucmVtb3ZlTWF0Y2hpbmdTdHlsZUNsYXNz
ZXMoIm5ldHdvcmstY2F0ZWdvcnktXFx3KyIpOwotICAgICAgICAgICAgdGhpcy5fZ3JhcGhFbGVt
ZW50LmFkZFN0eWxlQ2xhc3MoIm5ldHdvcmstY2F0ZWdvcnktIiArIHRoaXMuX3Jlc291cmNlLmNh
dGVnb3J5Lm5hbWUpOworICAgICAgICAgICAgdGhpcy5fZ3JhcGhFbGVtZW50LmFkZFN0eWxlQ2xh
c3MoIm5ldHdvcmstY2F0ZWdvcnktIiArIHRoaXMuX3Jlc291cmNlLnR5cGUubmFtZSgpKTsKICAg
ICAgICAgfQogCiAgICAgICAgIHRoaXMuX2JhckxlZnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5
KCJsZWZ0IiwgcGVyY2VudGFnZXMuc3RhcnQgKyAiJSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2UuanMKaW5kZXggMDQwYzgzYTE2N2NjZWI2OTE4ZmM4
MWU2ODM5Y2ZjYjU5ODMxYWE2Yy4uY2E5MGUyYTU0OTFjNzAzYzUyNTkzZDg1NWFhYzQyMjYxOGZh
ZTE4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNv
dXJjZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNl
LmpzCkBAIC0yNiw0NyArMjYsNiBAQAogICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0vLyBUaGlzIHRhYmxl
IG1hcHMgTUlNRSB0eXBlcyB0byB0aGUgUmVzb3VyY2UuVHlwZXMgd2hpY2ggYXJlIHZhbGlkIGZv
ciB0aGVtLgotLy8gVGhlIGZvbGxvd2luZyBsaW5lOgotLy8gICAgInRleHQvaHRtbCI6ICAgICAg
ICAgICAgICAgIHswOiAxfSwKLS8vIG1lYW5zIHRoYXQgdGV4dC9odG1sIGlzIGEgdmFsaWQgTUlN
RSB0eXBlIGZvciByZXNvdXJjZXMgdGhhdCBoYXZlIHR5cGUKLS8vIFdlYkluc3BlY3Rvci5SZXNv
dXJjZS5UeXBlLkRvY3VtZW50ICh3aGljaCBoYXMgYSB2YWx1ZSBvZiAwKS4KLVdlYkluc3BlY3Rv
ci5NSU1FVHlwZXMgPSB7Ci0gICAgInRleHQvaHRtbCI6ICAgICAgICAgICAgICAgICAgIHswOiB0
cnVlfSwKLSAgICAidGV4dC94bWwiOiAgICAgICAgICAgICAgICAgICAgezA6IHRydWV9LAotICAg
ICJ0ZXh0L3BsYWluIjogICAgICAgICAgICAgICAgICB7MDogdHJ1ZX0sCi0gICAgImFwcGxpY2F0
aW9uL3hodG1sK3htbCI6ICAgICAgIHswOiB0cnVlfSwKLSAgICAidGV4dC9jc3MiOiAgICAgICAg
ICAgICAgICAgICAgezE6IHRydWV9LAotICAgICJ0ZXh0L3hzbCI6ICAgICAgICAgICAgICAgICAg
ICB7MTogdHJ1ZX0sCi0gICAgImltYWdlL2pwZWciOiAgICAgICAgICAgICAgICAgIHsyOiB0cnVl
fSwKLSAgICAiaW1hZ2UvcG5nIjogICAgICAgICAgICAgICAgICAgezI6IHRydWV9LAotICAgICJp
bWFnZS9naWYiOiAgICAgICAgICAgICAgICAgICB7MjogdHJ1ZX0sCi0gICAgImltYWdlL2JtcCI6
ICAgICAgICAgICAgICAgICAgIHsyOiB0cnVlfSwKLSAgICAiaW1hZ2Uvc3ZnK3htbCI6ICAgICAg
ICAgICAgICAgezI6IHRydWV9LAotICAgICJpbWFnZS92bmQubWljcm9zb2Z0Lmljb24iOiAgICB7
MjogdHJ1ZX0sCi0gICAgImltYWdlL3dlYnAiOiAgICAgICAgICAgICAgICAgIHsyOiB0cnVlfSwK
LSAgICAiaW1hZ2UveC1pY29uIjogICAgICAgICAgICAgICAgezI6IHRydWV9LAotICAgICJpbWFn
ZS94LXhiaXRtYXAiOiAgICAgICAgICAgICB7MjogdHJ1ZX0sCi0gICAgImZvbnQvdHRmIjogICAg
ICAgICAgICAgICAgICAgIHszOiB0cnVlfSwKLSAgICAiZm9udC9vcGVudHlwZSI6ICAgICAgICAg
ICAgICAgezM6IHRydWV9LAotICAgICJmb250L3dvZmYiOiAgICAgICAgICAgICAgICAgICB7Mzog
dHJ1ZX0sCi0gICAgImFwcGxpY2F0aW9uL3gtZm9udC10eXBlMSI6ICAgIHszOiB0cnVlfSwKLSAg
ICAiYXBwbGljYXRpb24veC1mb250LXR0ZiI6ICAgICAgezM6IHRydWV9LAotICAgICJhcHBsaWNh
dGlvbi94LWZvbnQtd29mZiI6ICAgICB7MzogdHJ1ZX0sCi0gICAgImFwcGxpY2F0aW9uL3gtdHJ1
ZXR5cGUtZm9udCI6IHszOiB0cnVlfSwKLSAgICAidGV4dC9qYXZhc2NyaXB0IjogICAgICAgICAg
ICAgezQ6IHRydWV9LAotICAgICJ0ZXh0L2VjbWFzY3JpcHQiOiAgICAgICAgICAgICB7NDogdHJ1
ZX0sCi0gICAgImFwcGxpY2F0aW9uL2phdmFzY3JpcHQiOiAgICAgIHs0OiB0cnVlfSwKLSAgICAi
YXBwbGljYXRpb24vZWNtYXNjcmlwdCI6ICAgICAgezQ6IHRydWV9LAotICAgICJhcHBsaWNhdGlv
bi94LWphdmFzY3JpcHQiOiAgICB7NDogdHJ1ZX0sCi0gICAgImFwcGxpY2F0aW9uL2pzb24iOiAg
ICAgICAgICAgIHs0OiB0cnVlfSwKLSAgICAidGV4dC9qYXZhc2NyaXB0MS4xIjogICAgICAgICAg
ezQ6IHRydWV9LAotICAgICJ0ZXh0L2phdmFzY3JpcHQxLjIiOiAgICAgICAgICB7NDogdHJ1ZX0s
Ci0gICAgInRleHQvamF2YXNjcmlwdDEuMyI6ICAgICAgICAgIHs0OiB0cnVlfSwKLSAgICAidGV4
dC9qc2NyaXB0IjogICAgICAgICAgICAgICAgezQ6IHRydWV9LAotICAgICJ0ZXh0L2xpdmVzY3Jp
cHQiOiAgICAgICAgICAgICB7NDogdHJ1ZX0sCi19Ci0KIC8qKgogICogQGNvbnN0cnVjdG9yCiAg
KiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLk9iamVjdH0KQEAgLTg0LDcgKzQzLDcgQEAgV2ViSW5z
cGVjdG9yLlJlc291cmNlID0gZnVuY3Rpb24ocmVxdWVzdElkLCB1cmwsIGZyYW1lSWQsIGxvYWRl
cklkKQogICAgIHRoaXMubG9hZGVySWQgPSBsb2FkZXJJZDsKICAgICB0aGlzLl9zdGFydFRpbWUg
PSAtMTsKICAgICB0aGlzLl9lbmRUaW1lID0gLTE7Ci0gICAgdGhpcy5fY2F0ZWdvcnkgPSBXZWJJ
bnNwZWN0b3IucmVzb3VyY2VDYXRlZ29yaWVzLm90aGVyOworICAgIHRoaXMuX3R5cGUgPSBXZWJJ
bnNwZWN0b3IucmVzb3VyY2VUeXBlcy5PdGhlcjsKICAgICB0aGlzLl9wZW5kaW5nQ29udGVudENh
bGxiYWNrcyA9IFtdOwogICAgIHRoaXMuaGlzdG9yeSA9IFtdOwogICAgIC8qKiBAdHlwZSB7bnVt
YmVyfSAqLwpAQCAtMTA0LDkyICs2MywxNSBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuZGlzcGxh
eU5hbWUgPSBmdW5jdGlvbih1cmwpCiAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2UoImZha2UtdHJhbnNpZW50LXJlc291cmNlIiwgdXJsLCAiIiwgbnVsbCkuZGlzcGxheU5hbWU7
CiB9CiAKLS8vIEtlZXAgdGhlc2UgaW4gc3luYyB3aXRoIFdlYkNvcmU6Okluc3BlY3RvclJlc291
cmNlOjpUeXBlCi1XZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZSA9IHsKLSAgICBEb2N1bWVudDog
ICAwLAotICAgIFN0eWxlc2hlZXQ6IDEsCi0gICAgSW1hZ2U6ICAgICAgMiwKLSAgICBGb250OiAg
ICAgICAzLAotICAgIFNjcmlwdDogICAgIDQsCi0gICAgWEhSOiAgICAgICAgNSwKLSAgICBXZWJT
b2NrZXQ6ICA3LAotICAgIE90aGVyOiAgICAgIDgsCi0KLSAgICAvKioKLSAgICAgKiBAcGFyYW0g
e251bWJlcn0gdHlwZQotICAgICAqIEByZXR1cm4ge2Jvb2xlYW59Ci0gICAgICovCi0gICAgaXNU
ZXh0VHlwZTogZnVuY3Rpb24odHlwZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiAodHlwZSA9PT0g
V2ViSW5zcGVjdG9yLlJlc291cmNlLlR5cGUuRG9jdW1lbnQpIHx8ICh0eXBlID09PSBXZWJJbnNw
ZWN0b3IuUmVzb3VyY2UuVHlwZS5TdHlsZXNoZWV0KSB8fCAodHlwZSA9PT0gV2ViSW5zcGVjdG9y
LlJlc291cmNlLlR5cGUuU2NyaXB0KSB8fCAodHlwZSA9PT0gV2ViSW5zcGVjdG9yLlJlc291cmNl
LlR5cGUuWEhSKTsKLSAgICB9LAotCi0gICAgLyoqCi0gICAgICogQHBhcmFtIHtudW1iZXJ9IHR5
cGUKLSAgICAgKiBAcmV0dXJuIHtzdHJpbmd9Ci0gICAgICovCi0gICAgdG9VSVN0cmluZzogZnVu
Y3Rpb24odHlwZSkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAodHlwZSkgewotICAgICAgICAgICAg
Y2FzZSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5Eb2N1bWVudDoKLSAgICAgICAgICAgICAg
ICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJEb2N1bWVudCIpOwotICAgICAgICAgICAg
Y2FzZSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5TdHlsZXNoZWV0OgotICAgICAgICAgICAg
ICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlN0eWxlc2hlZXQiKTsKLSAgICAgICAg
ICAgIGNhc2UgV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5cGUuSW1hZ2U6Ci0gICAgICAgICAgICAg
ICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW1hZ2UiKTsKLSAgICAgICAgICAgIGNh
c2UgV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5cGUuRm9udDoKLSAgICAgICAgICAgICAgICByZXR1
cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJGb250Iik7Ci0gICAgICAgICAgICBjYXNlIFdlYklu
c3BlY3Rvci5SZXNvdXJjZS5UeXBlLlNjcmlwdDoKLSAgICAgICAgICAgICAgICByZXR1cm4gV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJTY3JpcHQiKTsKLSAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVj
dG9yLlJlc291cmNlLlR5cGUuWEhSOgotICAgICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIlhIUiIpOwotICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2UuVHlwZS5XZWJTb2NrZXQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5V
SVN0cmluZygiV2ViU29ja2V0Iik7Ci0gICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5SZXNv
dXJjZS5UeXBlLk90aGVyOgotICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJPdGhlciIpOwotICAgICAgICB9Ci0gICAgfSwK
LQotICAgIC8qKgotICAgICAqIFJldHVybnMgbG9jYWxlLWluZGVwZW5kZW50IHN0cmluZyBpZGVu
dGlmaWVyIG9mIHJlc291cmNlIHR5cGUgKHByaW1hcmlseSBmb3IgdXNlIGluIGV4dGVuc2lvbiBB
UEkpLgotICAgICAqIFRoZSBJRHMgbmVlZCB0byBiZSBrZXB0IGluIHN5bmMgd2l0aCB3ZWJJbnNw
ZWN0b3IucmVzb3VyZWNlcy5UeXBlcyBvYmplY3QgaW4gRXh0ZW5zaW9uQVBJLmpzLgotICAgICAq
IEBwYXJhbSB7bnVtYmVyfSB0eXBlCi0gICAgICogQHJldHVybiB7c3RyaW5nfQotICAgICAqLwot
ICAgIHRvU3RyaW5nOiBmdW5jdGlvbih0eXBlKQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0eXBl
KSB7Ci0gICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLkRvY3VtZW50
OgotICAgICAgICAgICAgICAgIHJldHVybiAiZG9jdW1lbnQiOwotICAgICAgICAgICAgY2FzZSBX
ZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5TdHlsZXNoZWV0OgotICAgICAgICAgICAgICAgIHJl
dHVybiAic3R5bGVzaGVldCI7Ci0gICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5SZXNvdXJj
ZS5UeXBlLkltYWdlOgotICAgICAgICAgICAgICAgIHJldHVybiAiaW1hZ2UiOwotICAgICAgICAg
ICAgY2FzZSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5Gb250OgotICAgICAgICAgICAgICAg
IHJldHVybiAiZm9udCI7Ci0gICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5U
eXBlLlNjcmlwdDoKLSAgICAgICAgICAgICAgICByZXR1cm4gInNjcmlwdCI7Ci0gICAgICAgICAg
ICBjYXNlIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLlhIUjoKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gInhociI7Ci0gICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBl
LldlYlNvY2tldDoKLSAgICAgICAgICAgICAgICByZXR1cm4gIndlYnNvY2tldCI7Ci0gICAgICAg
ICAgICBjYXNlIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLk90aGVyOgotICAgICAgICAgICAg
ZGVmYXVsdDoKLSAgICAgICAgICAgICAgICByZXR1cm4gIm90aGVyIjsKLSAgICAgICAgfQotICAg
IH0KLX0KLQogV2ViSW5zcGVjdG9yLlJlc291cmNlLl9kb21haW5Nb2RlbEJpbmRpbmdzID0gW107
CiAKIC8qKgotICogQHBhcmFtIHtudW1iZXJ9IHR5cGUKKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9y
LlJlc291cmNlVHlwZX0gdHlwZQogICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuUmVzb3VyY2VEb21h
aW5Nb2RlbEJpbmRpbmd9IGJpbmRpbmcKICAqLwogV2ViSW5zcGVjdG9yLlJlc291cmNlLnJlZ2lz
dGVyRG9tYWluTW9kZWxCaW5kaW5nID0gZnVuY3Rpb24odHlwZSwgYmluZGluZykKIHsKLSAgICBX
ZWJJbnNwZWN0b3IuUmVzb3VyY2UuX2RvbWFpbk1vZGVsQmluZGluZ3NbdHlwZV0gPSBiaW5kaW5n
OworICAgIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5fZG9tYWluTW9kZWxCaW5kaW5nc1t0eXBlLm5h
bWUoKV0gPSBiaW5kaW5nOwogfQogCiBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuX3Jlc291cmNlUmV2
aXNpb25SZWdpc3RyeSA9IGZ1bmN0aW9uKCkKQEAgLTI3OSw3ICsxNjEsNyBAQCBXZWJJbnNwZWN0
b3IuUmVzb3VyY2UuRXZlbnRzID0gewogCiBXZWJJbnNwZWN0b3IuUmVzb3VyY2UucHJvdG90eXBl
ID0gewogICAgIC8qKgotICAgICAqIEByZXR1cm4ge3N0cmluZ30KKyAgICAgKiBAdHlwZSB7c3Ry
aW5nfQogICAgICAqLwogICAgIGdldCB1cmwoKQogICAgIHsKQEAgLTMwMyw3ICsxODUsNyBAQCBX
ZWJJbnNwZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlID0gewogICAgIH0sCiAKICAgICAvKioKLSAg
ICAgKiBAcmV0dXJuIHtzdHJpbmd9CisgICAgICogQHR5cGUge3N0cmluZ30KICAgICAgKi8KICAg
ICBnZXQgZG9jdW1lbnRVUkwoKQogICAgIHsKQEAgLTMxNiw3ICsxOTgsNyBAQCBXZWJJbnNwZWN0
b3IuUmVzb3VyY2UucHJvdG90eXBlID0gewogICAgIH0sCiAKICAgICAvKioKLSAgICAgKiBAcmV0
dXJuIHtzdHJpbmd9CisgICAgICogQHR5cGUge3N0cmluZ30KICAgICAgKi8KICAgICBnZXQgZGlz
cGxheU5hbWUoKQogICAgIHsKQEAgLTMzMyw3ICsyMTUsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2UucHJvdG90eXBlID0gewogICAgIH0sCiAKICAgICAvKioKLSAgICAgKiBAcmV0dXJuIHtzdHJp
bmd9CisgICAgICogQHR5cGUge3N0cmluZ30KICAgICAgKi8KICAgICBnZXQgZm9sZGVyKCkKICAg
ICB7CkBAIC0zNDYsNyArMjI4LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlLnByb3RvdHlwZSA9
IHsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHJldHVybiB7c3RyaW5nfQorICAgICAqIEB0
eXBlIHtzdHJpbmd9CiAgICAgICovCiAgICAgZ2V0IGRpc3BsYXlEb21haW4oKQogICAgIHsKQEAg
LTM1Nyw3ICsyMzksNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlID0gewogICAg
IH0sCiAKICAgICAvKioKLSAgICAgKiBAcmV0dXJuIHtudW1iZXJ9CisgICAgICogQHR5cGUge251
bWJlcn0KICAgICAgKi8KICAgICBnZXQgc3RhcnRUaW1lKCkKICAgICB7CkBAIC0zNzAsNyArMjUy
LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlLnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAg
LyoqCi0gICAgICogQHJldHVybiB7bnVtYmVyfQorICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAg
ICovCiAgICAgZ2V0IHJlc3BvbnNlUmVjZWl2ZWRUaW1lKCkKICAgICB7CkBAIC0zODMsNyArMjY1
LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlLnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAg
LyoqCi0gICAgICogQHJldHVybiB7bnVtYmVyfQorICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAg
ICovCiAgICAgZ2V0IGVuZFRpbWUoKQogICAgIHsKQEAgLTQwNCw3ICsyODYsNyBAQCBXZWJJbnNw
ZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlID0gewogICAgIH0sCiAKICAgICAvKioKLSAgICAgKiBA
cmV0dXJuIHtudW1iZXJ9CisgICAgICogQHR5cGUge251bWJlcn0KICAgICAgKi8KICAgICBnZXQg
ZHVyYXRpb24oKQogICAgIHsKQEAgLTQxNCw3ICsyOTYsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2UucHJvdG90eXBlID0gewogICAgIH0sCiAKICAgICAvKioKLSAgICAgKiBAcmV0dXJuIHtudW1i
ZXJ9CisgICAgICogQHR5cGUge251bWJlcn0KICAgICAgKi8KICAgICBnZXQgbGF0ZW5jeSgpCiAg
ICAgewpAQCAtNDI0LDcgKzMwNiw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5wcm90b3R5cGUg
PSB7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEByZXR1cm4ge251bWJlcn0KKyAgICAgKiBA
dHlwZSB7bnVtYmVyfQogICAgICAqLwogICAgIGdldCByZWNlaXZlRHVyYXRpb24oKQogICAgIHsK
QEAgLTQzNCw3ICszMTYsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlID0gewog
ICAgIH0sCiAKICAgICAvKioKLSAgICAgKiBAcmV0dXJuIHtudW1iZXJ9CisgICAgICogQHR5cGUg
e251bWJlcn0KICAgICAgKi8KICAgICBnZXQgcmVzb3VyY2VTaXplKCkKICAgICB7CkBAIC00NDcs
NyArMzI5LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlLnByb3RvdHlwZSA9IHsKICAgICB9LAog
CiAgICAgLyoqCi0gICAgICogQHJldHVybiB7bnVtYmVyfQorICAgICAqIEB0eXBlIHtudW1iZXJ9
CiAgICAgICovCiAgICAgZ2V0IHRyYW5zZmVyU2l6ZSgpCiAgICAgewpAQCAtNDgwLDcgKzM2Miw3
IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5wcm90b3R5cGUgPSB7CiAgICAgfSwKIAogICAgIC8q
KgotICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CisgICAgICogQHR5cGUge2Jvb2xlYW59CiAgICAg
ICovCiAgICAgZ2V0IGZpbmlzaGVkKCkKICAgICB7CkBAIC01MDIsNyArMzg0LDcgQEAgV2ViSW5z
cGVjdG9yLlJlc291cmNlLnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICog
QHJldHVybiB7Ym9vbGVhbn0KKyAgICAgKiBAdHlwZSB7Ym9vbGVhbn0KICAgICAgKi8KICAgICBn
ZXQgZmFpbGVkKCkKICAgICB7CkBAIC01MTUsNyArMzk3LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291
cmNlLnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHJldHVybiB7Ym9v
bGVhbn0KKyAgICAgKiBAdHlwZSB7Ym9vbGVhbn0KICAgICAgKi8KICAgICBnZXQgY2FuY2VsZWQo
KQogICAgIHsKQEAgLTUyOCwyMCArNDEwLDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlLnByb3Rv
dHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHJldHVybiB7V2ViSW5zcGVjdG9y
LlJlc291cmNlQ2F0ZWdvcnl9Ci0gICAgICovCi0gICAgZ2V0IGNhdGVnb3J5KCkKLSAgICB7Ci0g
ICAgICAgIHJldHVybiB0aGlzLl9jYXRlZ29yeTsKLSAgICB9LAotCi0gICAgc2V0IGNhdGVnb3J5
KHgpCi0gICAgewotICAgICAgICB0aGlzLl9jYXRlZ29yeSA9IHg7Ci0gICAgfSwKLQotICAgIC8q
KgotICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CisgICAgICogQHR5cGUge2Jvb2xlYW59CiAgICAg
ICovCiAgICAgZ2V0IGNhY2hlZCgpCiAgICAgewpAQCAtNTU2LDcgKzQyNSw3IEBAIFdlYkluc3Bl
Y3Rvci5SZXNvdXJjZS5wcm90b3R5cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEBy
ZXR1cm4ge05ldHdvcmtBZ2VudC5SZXNvdXJjZVRpbWluZ3x1bmRlZmluZWR9CisgICAgICogQHR5
cGUge05ldHdvcmtBZ2VudC5SZXNvdXJjZVRpbWluZ3x1bmRlZmluZWR9CiAgICAgICovCiAgICAg
Z2V0IHRpbWluZygpCiAgICAgewpAQCAtNTc3LDcgKzQ0Niw3IEBAIFdlYkluc3BlY3Rvci5SZXNv
dXJjZS5wcm90b3R5cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEByZXR1cm4ge3N0
cmluZ30KKyAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICAqLwogICAgIGdldCBtaW1lVHlwZSgp
CiAgICAgewpAQCAtNTkwLDcgKzQ1OSw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5wcm90b3R5
cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEByZXR1cm4ge251bWJlcn0KKyAgICAg
KiBAdHlwZSB7V2ViSW5zcGVjdG9yLlJlc291cmNlVHlwZX0KICAgICAgKi8KICAgICBnZXQgdHlw
ZSgpCiAgICAgewpAQCAtNTk5LDQyICs0NjgsMTEgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlLnBy
b3RvdHlwZSA9IHsKIAogICAgIHNldCB0eXBlKHgpCiAgICAgewotICAgICAgICBpZiAodGhpcy5f
dHlwZSA9PT0geCkKLSAgICAgICAgICAgIHJldHVybjsKLQogICAgICAgICB0aGlzLl90eXBlID0g
eDsKLQotICAgICAgICBzd2l0Y2ggKHgpIHsKLSAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9y
LlJlc291cmNlLlR5cGUuRG9jdW1lbnQ6Ci0gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeSA9
IFdlYkluc3BlY3Rvci5yZXNvdXJjZUNhdGVnb3JpZXMuZG9jdW1lbnRzOwotICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5T
dHlsZXNoZWV0OgotICAgICAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnkgPSBXZWJJbnNwZWN0b3Iu
cmVzb3VyY2VDYXRlZ29yaWVzLnN0eWxlc2hlZXRzOwotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5TY3JpcHQ6Ci0gICAg
ICAgICAgICAgICAgdGhpcy5jYXRlZ29yeSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZUNhdGVnb3Jp
ZXMuc2NyaXB0czsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgV2Vi
SW5zcGVjdG9yLlJlc291cmNlLlR5cGUuSW1hZ2U6Ci0gICAgICAgICAgICAgICAgdGhpcy5jYXRl
Z29yeSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZUNhdGVnb3JpZXMuaW1hZ2VzOwotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlw
ZS5Gb250OgotICAgICAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnkgPSBXZWJJbnNwZWN0b3IucmVz
b3VyY2VDYXRlZ29yaWVzLmZvbnRzOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgY2FzZSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5YSFI6Ci0gICAgICAgICAgICAgICAg
dGhpcy5jYXRlZ29yeSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZUNhdGVnb3JpZXMueGhyOwotICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2UuVHlwZS5XZWJTb2NrZXQ6Ci0gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yeSA9IFdlYklu
c3BlY3Rvci5yZXNvdXJjZUNhdGVnb3JpZXMud2Vic29ja2V0czsKLSAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5cGUuT3RoZXI6
Ci0gICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnkgPSBX
ZWJJbnNwZWN0b3IucmVzb3VyY2VDYXRlZ29yaWVzLm90aGVyOwotICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICB9CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEByZXR1cm4ge1dlYklu
c3BlY3Rvci5SZXNvdXJjZXx1bmRlZmluZWR9CisgICAgICogQHR5cGUge1dlYkluc3BlY3Rvci5S
ZXNvdXJjZXx1bmRlZmluZWR9CiAgICAgICovCiAgICAgZ2V0IHJlZGlyZWN0U291cmNlKCkKICAg
ICB7CkBAIC02NDksNyArNDg3LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlLnByb3RvdHlwZSA9
IHsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHJldHVybiB7T2JqZWN0fQorICAgICAqIEB0
eXBlIHtPYmplY3R9CiAgICAgICovCiAgICAgZ2V0IHJlcXVlc3RIZWFkZXJzKCkKICAgICB7CkBA
IC02NjYsNyArNTA0LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlLnByb3RvdHlwZSA9IHsKICAg
ICB9LAogCiAgICAgLyoqCi0gICAgICogQHJldHVybiB7c3RyaW5nfQorICAgICAqIEB0eXBlIHtz
dHJpbmd9CiAgICAgICovCiAgICAgZ2V0IHJlcXVlc3RIZWFkZXJzVGV4dCgpCiAgICAgewpAQCAt
Njg2LDcgKzUyNCw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5wcm90b3R5cGUgPSB7CiAgICAg
fSwKIAogICAgIC8qKgotICAgICAqIEByZXR1cm4ge251bWJlcn0KKyAgICAgKiBAdHlwZSB7bnVt
YmVyfQogICAgICAqLwogICAgIGdldCByZXF1ZXN0SGVhZGVyc1NpemUoKQogICAgIHsKQEAgLTY5
NCw3ICs1MzIsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlID0gewogICAgIH0s
CiAKICAgICAvKioKLSAgICAgKiBAcmV0dXJuIHtBcnJheS48T2JqZWN0Pn0KKyAgICAgKiBAdHlw
ZSB7QXJyYXkuPE9iamVjdD59CiAgICAgICovCiAgICAgZ2V0IHNvcnRlZFJlcXVlc3RIZWFkZXJz
KCkKICAgICB7CkBAIC05OTQsNyArODMyLDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlLnByb3Rv
dHlwZSA9IHsKICAgICB7CiAgICAgICAgIGlmICh0aGlzLl9hY3R1YWxSZXNvdXJjZSkKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgdmFyIGJpbmRpbmcgPSBXZWJJbnNwZWN0b3Iu
UmVzb3VyY2UuX2RvbWFpbk1vZGVsQmluZGluZ3NbdGhpcy50eXBlXTsKKyAgICAgICAgdmFyIGJp
bmRpbmcgPSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuX2RvbWFpbk1vZGVsQmluZGluZ3NbdGhpcy50
eXBlLm5hbWUoKV07CiAgICAgICAgIHJldHVybiBiaW5kaW5nICYmIGJpbmRpbmcuY2FuU2V0Q29u
dGVudCh0aGlzKTsKICAgICB9LAogCkBAIC0xMDEwLDcgKzg0OCw3IEBAIFdlYkluc3BlY3Rvci5S
ZXNvdXJjZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgY2FsbGJhY2soIlJlc291cmNl
IGlzIG5vdCBlZGl0YWJsZSIpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAg
ICAgIHZhciBiaW5kaW5nID0gV2ViSW5zcGVjdG9yLlJlc291cmNlLl9kb21haW5Nb2RlbEJpbmRp
bmdzW3RoaXMudHlwZV07CisgICAgICAgIHZhciBiaW5kaW5nID0gV2ViSW5zcGVjdG9yLlJlc291
cmNlLl9kb21haW5Nb2RlbEJpbmRpbmdzW3RoaXMudHlwZS5uYW1lKCldOwogICAgICAgICBiaW5k
aW5nLnNldENvbnRlbnQodGhpcywgbmV3Q29udGVudCwgbWFqb3JDaGFuZ2UsIGNhbGxiYWNrKTsK
ICAgICB9LAogCkBAIC0xMDQ2LDcgKzg4NCw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5wcm90
b3R5cGUgPSB7CiAgICAgICAgIC8vIFdlIGRvIG5vdCBzdXBwb3J0IGNvbnRlbnQgcmV0cmlldmFs
IGZvciBXZWJTb2NrZXRzIGF0IHRoZSBtb21lbnQuCiAgICAgICAgIC8vIFNpbmNlIFdlYlNvY2tl
dHMgYXJlIHBvdGVudGlhbGx5IGxvbmctbGl2aW5nLCBmYWlsIHJlcXVlc3RzIGltbWVkaWF0ZWx5
CiAgICAgICAgIC8vIHRvIHByZXZlbnQgY2FsbGVyIGJsb2NraW5nIHVudGlsIHJlc291cmNlIGlz
IG1hcmtlZCBhcyBmaW5pc2hlZC4KLSAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gV2ViSW5zcGVj
dG9yLlJlc291cmNlLlR5cGUuV2ViU29ja2V0KSB7CisgICAgICAgIGlmICh0aGlzLnR5cGUgPT09
IFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLldlYlNvY2tldCkgewogICAgICAgICAgICAgY2Fs
bGJhY2sobnVsbCwgbnVsbCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VDYXRlZ29y
eS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VDYXRlZ29y
eS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTExODA3M2E0N2YwYmRmZjUxY2Zk
NGQ4NDljZGNjNmIzMGRkNjA3My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlQ2F0
ZWdvcnkuanMKKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDA3LCAyMDA4IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5j
LiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotLyoqCi0gKiBA
Y29uc3RydWN0b3IKLSAqLwotV2ViSW5zcGVjdG9yLlJlc291cmNlQ2F0ZWdvcnkgPSBmdW5jdGlv
bihuYW1lLCB0aXRsZSwgY29sb3IpCi17Ci0gICAgdGhpcy5uYW1lID0gbmFtZTsKLSAgICB0aGlz
Ll90aXRsZSA9IHRpdGxlOwotICAgIHRoaXMuY29sb3IgPSBjb2xvcjsKLX0KLQotV2ViSW5zcGVj
dG9yLlJlc291cmNlQ2F0ZWdvcnkucHJvdG90eXBlID0gewotICAgIC8qKgotICAgICAqIEByZXR1
cm4ge3N0cmluZ30KLSAgICAgKi8KLSAgICB0b1N0cmluZzogZnVuY3Rpb24oKQotICAgIHsKLSAg
ICAgICAgcmV0dXJuIHRoaXMudGl0bGU7Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqIEByZXR1
cm4ge3N0cmluZ30KLSAgICAgKi8KLSAgICBnZXQgdGl0bGUoKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZyh0aGlzLl90aXRsZSk7Ci0gICAgfQotfQotCi1XZWJJ
bnNwZWN0b3IucmVzb3VyY2VDYXRlZ29yaWVzID0gewotICAgIGRvY3VtZW50czogbmV3IFdlYklu
c3BlY3Rvci5SZXNvdXJjZUNhdGVnb3J5KCJkb2N1bWVudHMiLCAiRG9jdW1lbnRzIiwgInJnYig0
NywxMDIsMjM2KSIpLAotICAgIHN0eWxlc2hlZXRzOiBuZXcgV2ViSW5zcGVjdG9yLlJlc291cmNl
Q2F0ZWdvcnkoInN0eWxlc2hlZXRzIiwgIlN0eWxlc2hlZXRzIiwgInJnYigxNTcsMjMxLDExOSki
KSwKLSAgICBpbWFnZXM6IG5ldyBXZWJJbnNwZWN0b3IuUmVzb3VyY2VDYXRlZ29yeSgiaW1hZ2Vz
IiwgIkltYWdlcyIsICJyZ2IoMTY0LDYwLDI1NSkiKSwKLSAgICBzY3JpcHRzOiBuZXcgV2ViSW5z
cGVjdG9yLlJlc291cmNlQ2F0ZWdvcnkoInNjcmlwdHMiLCAiU2NyaXB0cyIsICJyZ2IoMjU1LDEy
MSwwKSIpLAotICAgIHhocjogbmV3IFdlYkluc3BlY3Rvci5SZXNvdXJjZUNhdGVnb3J5KCJ4aHIi
LCAiWEhSIiwgInJnYigyMzEsMjMxLDEwKSIpLAotICAgIGZvbnRzOiBuZXcgV2ViSW5zcGVjdG9y
LlJlc291cmNlQ2F0ZWdvcnkoImZvbnRzIiwgIkZvbnRzIiwgInJnYigyNTUsODIsNjIpIiksCi0g
ICAgd2Vic29ja2V0czogbmV3IFdlYkluc3BlY3Rvci5SZXNvdXJjZUNhdGVnb3J5KCJ3ZWJzb2Nr
ZXRzIiwgIldlYlNvY2tldHMiLCAicmdiKDE4NiwxODYsMTg2KSIpLCAvLyBGSVhNRTogRGVjaWRl
IHRoZSBjb2xvci4KLSAgICBvdGhlcjogbmV3IFdlYkluc3BlY3Rvci5SZXNvdXJjZUNhdGVnb3J5
KCJvdGhlciIsICJPdGhlciIsICJyZ2IoMTg2LDE4NiwxODYpIikKLX0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VQcmV2aWV3Vmlldy5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VQcmV2aWV3Vmlldy5q
cwppbmRleCBhMDM0ODAxOTExYzllOTBlZGJhYTE4MmMxNzdjOTkxNzgwMjMyYjlmLi40NTE2Nzdj
ZDBiZjE3ZmYxNjZkMTAyZTJkYWVjZWYwMDZiODg4MTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlUHJldmlld1ZpZXcuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVByZXZpZXdWaWV3LmpzCkBA
IC03MCwxMyArNzAsMTMgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlUHJldmlld1ZpZXcucHJvdG90
eXBlID0gewogICAgICAgICBpZiAodGhpcy5yZXNvdXJjZS5oYXNFcnJvclN0YXR1c0NvZGUoKSAm
JiB0aGlzLnJlc291cmNlLmNvbnRlbnQpCiAgICAgICAgICAgICByZXR1cm4gbmV3IFdlYkluc3Bl
Y3Rvci5SZXNvdXJjZUhUTUxWaWV3KHRoaXMucmVzb3VyY2UpOwogCi0gICAgICAgIGlmICh0aGlz
LnJlc291cmNlLmNhdGVnb3J5ID09PSBXZWJJbnNwZWN0b3IucmVzb3VyY2VDYXRlZ29yaWVzLnho
ciAmJiB0aGlzLnJlc291cmNlLmNvbnRlbnQpIHsKKyAgICAgICAgaWYgKHRoaXMucmVzb3VyY2Uu
dHlwZSA9PT0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuWEhSICYmIHRoaXMucmVzb3VyY2Uu
Y29udGVudCkgewogICAgICAgICAgICAgdmFyIHBhcnNlZEpTT04gPSBXZWJJbnNwZWN0b3IuUmVz
b3VyY2VKU09OVmlldy5wYXJzZUpTT04odGhpcy5yZXNvdXJjZS5jb250ZW50KTsKICAgICAgICAg
ICAgIGlmIChwYXJzZWRKU09OKQogICAgICAgICAgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVj
dG9yLlJlc291cmNlSlNPTlZpZXcodGhpcy5yZXNvdXJjZSwgcGFyc2VkSlNPTik7CiAgICAgICAg
IH0KIAotICAgICAgICBpZiAodGhpcy5yZXNvdXJjZS5jb250ZW50ICYmIHRoaXMucmVzb3VyY2Uu
Y2F0ZWdvcnkgPT09IFdlYkluc3BlY3Rvci5yZXNvdXJjZUNhdGVnb3JpZXMuc2NyaXB0cyAmJiB0
aGlzLnJlc291cmNlLm1pbWVUeXBlID09PSAiYXBwbGljYXRpb24vanNvbiIpIHsKKyAgICAgICAg
aWYgKHRoaXMucmVzb3VyY2UuY29udGVudCAmJiB0aGlzLnJlc291cmNlLnR5cGUgPT09IFdlYklu
c3BlY3Rvci5yZXNvdXJjZVR5cGVzLlNjcmlwdCAmJiB0aGlzLnJlc291cmNlLm1pbWVUeXBlID09
PSAiYXBwbGljYXRpb24vanNvbiIpIHsKICAgICAgICAgICAgIHZhciBwYXJzZWRKU09OUCA9IFdl
Ykluc3BlY3Rvci5SZXNvdXJjZUpTT05WaWV3LnBhcnNlSlNPTlAodGhpcy5yZXNvdXJjZS5jb250
ZW50KTsKICAgICAgICAgICAgIGlmIChwYXJzZWRKU09OUCkKICAgICAgICAgICAgICAgICByZXR1
cm4gbmV3IFdlYkluc3BlY3Rvci5SZXNvdXJjZUpTT05WaWV3KHRoaXMucmVzb3VyY2UsIHBhcnNl
ZEpTT05QKTsKQEAgLTg1LDcgKzg1LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlUHJldmlld1Zp
ZXcucHJvdG90eXBlID0gewogICAgICAgICBpZiAodGhpcy5fcmVzcG9uc2VWaWV3LnNvdXJjZVZp
ZXcpCiAgICAgICAgICAgICByZXR1cm4gdGhpcy5fcmVzcG9uc2VWaWV3LnNvdXJjZVZpZXc7CiAK
LSAgICAgICAgaWYgKHRoaXMucmVzb3VyY2UuY2F0ZWdvcnkgPT09IFdlYkluc3BlY3Rvci5yZXNv
dXJjZUNhdGVnb3JpZXMub3RoZXIpCisgICAgICAgIGlmICh0aGlzLnJlc291cmNlLnR5cGUgPT09
IFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLk90aGVyKQogICAgICAgICAgICAgcmV0dXJuIHRo
aXMuX2NyZWF0ZUVtcHR5VmlldygpOwogCiAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuUmVz
b3VyY2VWaWV3Lm5vblNvdXJjZVZpZXdGb3JSZXNvdXJjZSh0aGlzLnJlc291cmNlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VTY3JpcHRN
YXBwaW5nLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVNj
cmlwdE1hcHBpbmcuanMKaW5kZXggYzIwMTY0ZDkzMWQ0M2JmY2E3ZWE3MWVhNzc0ZTgzMDFhZDlm
YWE3Ny4uNzM3OTM2NjIzNzI4MDZlMDRkMzJiMzE5N2MxOTdlN2QxMjE1N2ZlMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVNjcmlwdE1hcHBp
bmcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVNj
cmlwdE1hcHBpbmcuanMKQEAgLTg5LDcgKzg5LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlU2Ny
aXB0TWFwcGluZy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZhciBpc0lubGluZVNjcmlwdCA9IGZh
bHNlOwogICAgICAgICBpZiAoc2NyaXB0LmlzSW5saW5lU2NyaXB0KCkpIHsKICAgICAgICAgICAg
IHJlc291cmNlID0gV2ViSW5zcGVjdG9yLm5ldHdvcmtNYW5hZ2VyLmluZmxpZ2h0UmVzb3VyY2VG
b3JVUkwoc2NyaXB0LnNvdXJjZVVSTCkgfHwgV2ViSW5zcGVjdG9yLnJlc291cmNlRm9yVVJMKHNj
cmlwdC5zb3VyY2VVUkwpOwotICAgICAgICAgICAgaWYgKHJlc291cmNlICYmIHJlc291cmNlLnR5
cGUgPT09IFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLkRvY3VtZW50KSB7CisgICAgICAgICAg
ICBpZiAocmVzb3VyY2UgJiYgcmVzb3VyY2UudHlwZSA9PT0gV2ViSW5zcGVjdG9yLnJlc291cmNl
VHlwZXMuRG9jdW1lbnQpIHsKICAgICAgICAgICAgICAgICBpc0lubGluZVNjcmlwdCA9IHRydWU7
CiAgICAgICAgICAgICAgICAgdmFyIHJhd1NvdXJjZUNvZGUgPSB0aGlzLl9yYXdTb3VyY2VDb2Rl
Rm9yRG9jdW1lbnRVUkxbc2NyaXB0LnNvdXJjZVVSTF07CiAgICAgICAgICAgICAgICAgaWYgKHJh
d1NvdXJjZUNvZGUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvUmVzb3VyY2VUcmVlTW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1Jlc291cmNlVHJlZU1vZGVsLmpzCmluZGV4IGVkYzVlYmU4YmMwOTJiMTczOGYxYmIx
MGE0OWQ2MWQ4MTQ3NzliNDAuLjZkZTZlMjM3YzA5OTE3OTg0MjlmNGM0YzZlZmUxNjkwZDY3YjI1
ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3Vy
Y2VUcmVlTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9S
ZXNvdXJjZVRyZWVNb2RlbC5qcwpAQCAtMjAxLDcgKzIwMSw3IEBAIFdlYkluc3BlY3Rvci5SZXNv
dXJjZVRyZWVNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZhciByZXNvdXJjZSA9IC8qKiBA
dHlwZSB7V2ViSW5zcGVjdG9yLlJlc291cmNlfSAqLyBldmVudC5kYXRhOwogICAgICAgICB0aGlz
Ll9hZGRQZW5kaW5nQ29uc29sZU1lc3NhZ2VzVG9SZXNvdXJjZShyZXNvdXJjZSk7CiAKLSAgICAg
ICAgaWYgKHJlc291cmNlLmZhaWxlZCB8fCByZXNvdXJjZS50eXBlID09PSBXZWJJbnNwZWN0b3Iu
UmVzb3VyY2UuVHlwZS5YSFIpCisgICAgICAgIGlmIChyZXNvdXJjZS5mYWlsZWQgfHwgcmVzb3Vy
Y2UudHlwZSA9PT0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuWEhSKQogICAgICAgICAgICAg
cmV0dXJuOwogCiAgICAgICAgIHZhciBmcmFtZSA9IHRoaXMuX2ZyYW1lc1tyZXNvdXJjZS5mcmFt
ZUlkXTsKQEAgLTIyNyw3ICsyMjcsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwu
cHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHZhciByZXNvdXJj
ZSA9IHRoaXMuX2NyZWF0ZVJlc291cmNlKHVybCwgZnJhbWUudXJsLCBmcmFtZUlkLCBldmVudC5k
YXRhLmxvYWRlcklkKTsKLSAgICAgICAgcmVzb3VyY2UudHlwZSA9IFdlYkluc3BlY3Rvci5SZXNv
dXJjZS5UeXBlW2V2ZW50LmRhdGEucmVzb3VyY2VUeXBlXTsKKyAgICAgICAgcmVzb3VyY2UudHlw
ZSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzW2V2ZW50LmRhdGEucmVzb3VyY2VUeXBlXTsK
ICAgICAgICAgcmVzb3VyY2UubWltZVR5cGUgPSBldmVudC5kYXRhLm1pbWVUeXBlOwogICAgICAg
ICByZXNvdXJjZS5maW5pc2hlZCA9IHRydWU7CiAgICAgICAgIGZyYW1lLl9hZGRSZXNvdXJjZShy
ZXNvdXJjZSk7CkBAIC0zNDAsNyArMzQwLDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1v
ZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgLy8gQ3JlYXRlIGZyYW1lIHJlc291cmNlLgogICAg
ICAgICB2YXIgZnJhbWVSZXNvdXJjZSA9IHRoaXMuX2NyZWF0ZVJlc291cmNlRnJvbUZyYW1lUGF5
bG9hZChmcmFtZVBheWxvYWQsIGZyYW1lUGF5bG9hZC51cmwpOwogICAgICAgICBmcmFtZVJlc291
cmNlLm1pbWVUeXBlID0gZnJhbWVQYXlsb2FkLm1pbWVUeXBlOwotICAgICAgICBmcmFtZVJlc291
cmNlLnR5cGUgPSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5Eb2N1bWVudDsKKyAgICAgICAg
ZnJhbWVSZXNvdXJjZS50eXBlID0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuRG9jdW1lbnQ7
CiAgICAgICAgIGZyYW1lUmVzb3VyY2UuZmluaXNoZWQgPSB0cnVlOwogCiAgICAgICAgIGlmIChm
cmFtZS5pc01haW5GcmFtZSgpKQpAQCAtMzU5LDcgKzM1OSw3IEBAIFdlYkluc3BlY3Rvci5SZXNv
dXJjZVRyZWVNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
ZnJhbWVUcmVlUGF5bG9hZC5yZXNvdXJjZXMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIHZh
ciBzdWJyZXNvdXJjZSA9IGZyYW1lVHJlZVBheWxvYWQucmVzb3VyY2VzW2ldOwogICAgICAgICAg
ICAgdmFyIHJlc291cmNlID0gdGhpcy5fY3JlYXRlUmVzb3VyY2VGcm9tRnJhbWVQYXlsb2FkKGZy
YW1lUGF5bG9hZCwgc3VicmVzb3VyY2UudXJsKTsKLSAgICAgICAgICAgIHJlc291cmNlLnR5cGUg
PSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZVtzdWJyZXNvdXJjZS50eXBlXTsKKyAgICAgICAg
ICAgIHJlc291cmNlLnR5cGUgPSBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlc1tzdWJyZXNvdXJj
ZS50eXBlXTsKICAgICAgICAgICAgIHJlc291cmNlLm1pbWVUeXBlID0gc3VicmVzb3VyY2UubWlt
ZVR5cGU7CiAgICAgICAgICAgICByZXNvdXJjZS5maW5pc2hlZCA9IHRydWU7CiAgICAgICAgICAg
ICBmcmFtZS5fYWRkUmVzb3VyY2UocmVzb3VyY2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVR5cGUuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzI5ZmRjMjY3
NDAyNWU5NzBmMTljZjRkZTNjMDA4N2Y0NzdmYjY4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVR5cGUuanMKQEAgLTAsMCArMSwx
MDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggQXBwbGUgSW5jLiAgQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1l
IG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAg
ICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICog
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICogQHBhcmFtIHtzdHJpbmd9IG5h
bWUKKyAqIEBwYXJhbSB7c3RyaW5nfSB0aXRsZQorICogQHBhcmFtIHtzdHJpbmd9IGNhdGVnb3J5
VGl0bGUKKyAqIEBwYXJhbSB7c3RyaW5nfSBjb2xvcgorICogQHBhcmFtIHtib29sZWFufSBpc1Rl
eHRUeXBlCisgKi8KK1dlYkluc3BlY3Rvci5SZXNvdXJjZVR5cGUgPSBmdW5jdGlvbihuYW1lLCB0
aXRsZSwgY2F0ZWdvcnlUaXRsZSwgY29sb3IsIGlzVGV4dFR5cGUpCit7CisgICAgdGhpcy5fbmFt
ZSA9IG5hbWU7CisgICAgdGhpcy5fdGl0bGUgPSB0aXRsZTsKKyAgICB0aGlzLl9jYXRlZ29yeVRp
dGxlID0gY2F0ZWdvcnlUaXRsZTsKKyAgICB0aGlzLl9jb2xvciA9IGNvbG9yOworICAgIHRoaXMu
X2lzVGV4dFR5cGUgPSBpc1RleHRUeXBlOworfQorCitXZWJJbnNwZWN0b3IuUmVzb3VyY2VUeXBl
LnByb3RvdHlwZSA9IHsKKyAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CisgICAgICov
CisgICAgbmFtZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX25hbWU7
CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEByZXR1cm4ge3N0cmluZ30KKyAgICAgKi8KKyAg
ICB0aXRsZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3RpdGxlOwor
ICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CisgICAgICovCisgICAg
Y2F0ZWdvcnlUaXRsZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2Nh
dGVnb3J5VGl0bGU7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEByZXR1cm4ge3N0cmluZ30K
KyAgICAgKi8KKyAgICBjb2xvcjogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRo
aXMuX2NvbG9yOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtib29sZWFufQor
ICAgICAqLworICAgIGlzVGV4dFR5cGU6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVy
biB0aGlzLl9pc1RleHRUeXBlOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtz
dHJpbmd9CisgICAgICovCisgICAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAg
IHJldHVybiB0aGlzLl9uYW1lOworICAgIH0KK30KKworLy9LZWVwIHRoZXNlIGluIHN5bmMgd2l0
aCBXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OnJlc291cmNlVHlwZUpzb24KK1dlYkluc3Bl
Y3Rvci5yZXNvdXJjZVR5cGVzID0geworICAgIERvY3VtZW50OiBuZXcgV2ViSW5zcGVjdG9yLlJl
c291cmNlVHlwZSgiZG9jdW1lbnQiLCAiRG9jdW1lbnQiLCAiRG9jdW1lbnRzIiwgInJnYig0Nywx
MDIsMjM2KSIsIHRydWUpLAorICAgIFN0eWxlc2hlZXQ6IG5ldyBXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2VUeXBlKCJzdHlsZXNoZWV0IiwgIlN0eWxlc2hlZXQiLCAiU3R5bGVzaGVldHMiLCAicmdiKDE1
NywyMzEsMTE5KSIsIHRydWUpLAorICAgIEltYWdlOiBuZXcgV2ViSW5zcGVjdG9yLlJlc291cmNl
VHlwZSgiaW1hZ2UiLCAiSW1hZ2UiLCAiSW1hZ2VzIiwgInJnYigxNjQsNjAsMjU1KSIsIGZhbHNl
KSwKKyAgICBTY3JpcHQ6IG5ldyBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUeXBlKCJzY3JpcHQiLCAi
U2NyaXB0IiwgIlNjcmlwdHMiLCAicmdiKDI1NSwxMjEsMCkiLCB0cnVlKSwKKyAgICBYSFI6IG5l
dyBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUeXBlKCJ4aHIiLCAiWEhSIiwgIlhIUiIsICJyZ2IoMjMx
LDIzMSwxMCkiLCB0cnVlKSwKKyAgICBGb250OiBuZXcgV2ViSW5zcGVjdG9yLlJlc291cmNlVHlw
ZSgiZm9udCIsICJGb250IiwgIkZvbnRzIiwgInJnYigyNTUsODIsNjIpIiwgZmFsc2UpLAorICAg
IFdlYlNvY2tldDogbmV3IFdlYkluc3BlY3Rvci5SZXNvdXJjZVR5cGUoIndlYnNvY2tldCIsICJX
ZWJTb2NrZXQiLCAiV2ViU29ja2V0cyIsICJyZ2IoMTg2LDE4NiwxODYpIiwgZmFsc2UpLCAvLyBG
SVhNRTogRGVjaWRlIHRoZSBjb2xvci4KKyAgICBPdGhlcjogbmV3IFdlYkluc3BlY3Rvci5SZXNv
dXJjZVR5cGUoIm90aGVyIiwgIk90aGVyIiwgIk90aGVyIiwgInJnYigxODYsMTg2LDE4NikiLCBm
YWxzZSkKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
UmVzb3VyY2VWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNv
dXJjZVZpZXcuanMKaW5kZXggOGQ1OTI5MmQ3YmI1MTEzY2NjYjY5NTE0YTAyN2JlMzNmYjNkNWVi
OS4uMDVkZDI3NjJiZGNhNGVhMTFmZDhjMjE3Y2QzMTZjYmYyNTc3NTNiNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVZpZXcuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVZpZXcuanMKQEAgLTUx
LDI1ICs1MSwxOSBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VWaWV3LnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGU7CiAKIFdlYkluc3BlY3Rvci5SZXNvdXJj
ZVZpZXcuaGFzVGV4dENvbnRlbnQgPSBmdW5jdGlvbihyZXNvdXJjZSkKIHsKLSAgICBzd2l0Y2gg
KHJlc291cmNlLmNhdGVnb3J5KSB7Ci0gICAgY2FzZSBXZWJJbnNwZWN0b3IucmVzb3VyY2VDYXRl
Z29yaWVzLmRvY3VtZW50czoKLSAgICBjYXNlIFdlYkluc3BlY3Rvci5yZXNvdXJjZUNhdGVnb3Jp
ZXMuc2NyaXB0czoKLSAgICBjYXNlIFdlYkluc3BlY3Rvci5yZXNvdXJjZUNhdGVnb3JpZXMueGhy
OgotICAgIGNhc2UgV2ViSW5zcGVjdG9yLnJlc291cmNlQ2F0ZWdvcmllcy5zdHlsZXNoZWV0czoK
LSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBXZWJJbnNwZWN0b3IucmVzb3VyY2VDYXRl
Z29yaWVzLm90aGVyOgorICAgIGlmIChyZXNvdXJjZS50eXBlLmlzVGV4dFR5cGUoKSkKKyAgICAg
ICAgcmV0dXJuIHRydWU7IAorICAgIGlmIChyZXNvdXJjZS50eXBlID09PSBXZWJJbnNwZWN0b3Iu
cmVzb3VyY2VUeXBlcy5PdGhlcikKICAgICAgICAgcmV0dXJuIHJlc291cmNlLmNvbnRlbnQgJiYg
IXJlc291cmNlLmNvbnRlbnRFbmNvZGVkOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICB9CisgICAgcmV0dXJuIGZhbHNlOwogfQogCiBXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2VWaWV3Lm5vblNvdXJjZVZpZXdGb3JSZXNvdXJjZSA9IGZ1bmN0aW9uKHJlc291cmNlKQogewot
ICAgIHN3aXRjaCAocmVzb3VyY2UuY2F0ZWdvcnkpIHsKLSAgICBjYXNlIFdlYkluc3BlY3Rvci5y
ZXNvdXJjZUNhdGVnb3JpZXMuaW1hZ2VzOgorICAgIHN3aXRjaCAocmVzb3VyY2UudHlwZSkgewor
ICAgIGNhc2UgV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuSW1hZ2U6CiAgICAgICAgIHJldHVy
biBuZXcgV2ViSW5zcGVjdG9yLkltYWdlVmlldyhyZXNvdXJjZSk7Ci0gICAgY2FzZSBXZWJJbnNw
ZWN0b3IucmVzb3VyY2VDYXRlZ29yaWVzLmZvbnRzOgorICAgIGNhc2UgV2ViSW5zcGVjdG9yLnJl
c291cmNlVHlwZXMuRm9udDoKICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuRm9udFZp
ZXcocmVzb3VyY2UpOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVj
dG9yLlJlc291cmNlVmlldyhyZXNvdXJjZSk7CkBAIC0xNDEsNyArMTM1LDcgQEAgV2ViSW5zcGVj
dG9yLkVkaXRhYmxlUmVzb3VyY2VTb3VyY2VGcmFtZS5wcm90b3R5cGUgPSB7CiAgICAgY2FuRWRp
dFNvdXJjZTogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgLy9GSVhNRTogbWFrZSBsaXZlIGVk
aXQgc3RvcCB1c2luZyByZXNvdXJjZSBjb250ZW50IGJpbmRpbmcuCi0gICAgICAgIHJldHVybiB0
aGlzLl9yZXNvdXJjZS5pc0VkaXRhYmxlKCkgJiYgdGhpcy5fcmVzb3VyY2UudHlwZSA9PT0gV2Vi
SW5zcGVjdG9yLlJlc291cmNlLlR5cGUuU3R5bGVzaGVldDsKKyAgICAgICAgcmV0dXJuIHRoaXMu
X3Jlc291cmNlLmlzRWRpdGFibGUoKSAmJiB0aGlzLl9yZXNvdXJjZS50eXBlID09PSBXZWJJbnNw
ZWN0b3IucmVzb3VyY2VUeXBlcy5TdHlsZXNoZWV0OwogICAgIH0sCiAKICAgICBlZGl0Q29udGVu
dDogZnVuY3Rpb24obmV3VGV4dCwgY2FsbGJhY2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcwppbmRleCA3Y2FmNWU1ZjJlNDFl
NzNiNWI3ZmY5ODNhNWU1YWQ2ODcyMDYxNDViLi5jMjM3NTgyMjg3ZDQzM2U5NWQyZmVjZjM5YzEw
NDU3OWEyMjg5NWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1Jlc291cmNlc1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvUmVzb3VyY2VzUGFuZWwuanMKQEAgLTExMTYsMTEgKzExMTYsMTEgQEAgV2ViSW5zcGVj
dG9yLkZyYW1lVHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogCiAgICAgYXBwZW5kUmVzb3VyY2U6
IGZ1bmN0aW9uKHJlc291cmNlKQogICAgIHsKLSAgICAgICAgdmFyIGNhdGVnb3J5TmFtZSA9IHJl
c291cmNlLmNhdGVnb3J5Lm5hbWU7Ci0gICAgICAgIHZhciBjYXRlZ29yeUVsZW1lbnQgPSByZXNv
dXJjZS5jYXRlZ29yeSA9PT0gV2ViSW5zcGVjdG9yLnJlc291cmNlQ2F0ZWdvcmllcy5kb2N1bWVu
dHMgPyB0aGlzIDogdGhpcy5fY2F0ZWdvcnlFbGVtZW50c1tjYXRlZ29yeU5hbWVdOworICAgICAg
ICB2YXIgY2F0ZWdvcnlOYW1lID0gcmVzb3VyY2UudHlwZS5uYW1lKCk7CisgICAgICAgIHZhciBj
YXRlZ29yeUVsZW1lbnQgPSByZXNvdXJjZS50eXBlID09PSBXZWJJbnNwZWN0b3IucmVzb3VyY2VU
eXBlcy5Eb2N1bWVudCA/IHRoaXMgOiB0aGlzLl9jYXRlZ29yeUVsZW1lbnRzW2NhdGVnb3J5TmFt
ZV07CiAgICAgICAgIGlmICghY2F0ZWdvcnlFbGVtZW50KSB7Ci0gICAgICAgICAgICBjYXRlZ29y
eUVsZW1lbnQgPSBuZXcgV2ViSW5zcGVjdG9yLlN0b3JhZ2VDYXRlZ29yeVRyZWVFbGVtZW50KHRo
aXMuX3N0b3JhZ2VQYW5lbCwgcmVzb3VyY2UuY2F0ZWdvcnkudGl0bGUsIGNhdGVnb3J5TmFtZSwg
bnVsbCwgdHJ1ZSk7Ci0gICAgICAgICAgICB0aGlzLl9jYXRlZ29yeUVsZW1lbnRzW3Jlc291cmNl
LmNhdGVnb3J5Lm5hbWVdID0gY2F0ZWdvcnlFbGVtZW50OworICAgICAgICAgICAgY2F0ZWdvcnlF
bGVtZW50ID0gbmV3IFdlYkluc3BlY3Rvci5TdG9yYWdlQ2F0ZWdvcnlUcmVlRWxlbWVudCh0aGlz
Ll9zdG9yYWdlUGFuZWwsIHJlc291cmNlLnR5cGUuY2F0ZWdvcnlUaXRsZSgpLCBjYXRlZ29yeU5h
bWUsIG51bGwsIHRydWUpOworICAgICAgICAgICAgdGhpcy5fY2F0ZWdvcnlFbGVtZW50c1tyZXNv
dXJjZS50eXBlLm5hbWUoKV0gPSBjYXRlZ29yeUVsZW1lbnQ7CiAgICAgICAgICAgICB0aGlzLl9p
bnNlcnRJblByZXNlbnRhdGlvbk9yZGVyKHRoaXMsIGNhdGVnb3J5RWxlbWVudCk7CiAgICAgICAg
IH0KICAgICAgICAgdmFyIHJlc291cmNlVHJlZUVsZW1lbnQgPSBuZXcgV2ViSW5zcGVjdG9yLkZy
YW1lUmVzb3VyY2VUcmVlRWxlbWVudCh0aGlzLl9zdG9yYWdlUGFuZWwsIHJlc291cmNlKTsKQEAg
LTExODksNyArMTE4OSw3IEBAIFdlYkluc3BlY3Rvci5GcmFtZVRyZWVFbGVtZW50LnByb3RvdHlw
ZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuQmFzZVN0b3JhZ2VUcmVlCiAgKi8KIFdlYkluc3Bl
Y3Rvci5GcmFtZVJlc291cmNlVHJlZUVsZW1lbnQgPSBmdW5jdGlvbihzdG9yYWdlUGFuZWwsIHJl
c291cmNlKQogewotICAgIFdlYkluc3BlY3Rvci5CYXNlU3RvcmFnZVRyZWVFbGVtZW50LmNhbGwo
dGhpcywgc3RvcmFnZVBhbmVsLCByZXNvdXJjZSwgcmVzb3VyY2UuZGlzcGxheU5hbWUsIFsicmVz
b3VyY2Utc2lkZWJhci10cmVlLWl0ZW0iLCAicmVzb3VyY2VzLWNhdGVnb3J5LSIgKyByZXNvdXJj
ZS5jYXRlZ29yeS5uYW1lXSk7CisgICAgV2ViSW5zcGVjdG9yLkJhc2VTdG9yYWdlVHJlZUVsZW1l
bnQuY2FsbCh0aGlzLCBzdG9yYWdlUGFuZWwsIHJlc291cmNlLCByZXNvdXJjZS5kaXNwbGF5TmFt
ZSwgWyJyZXNvdXJjZS1zaWRlYmFyLXRyZWUtaXRlbSIsICJyZXNvdXJjZXMtY2F0ZWdvcnktIiAr
IHJlc291cmNlLnR5cGUubmFtZSgpXSk7CiAgICAgdGhpcy5fcmVzb3VyY2UgPSByZXNvdXJjZTsK
ICAgICB0aGlzLl9yZXNvdXJjZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXNvdXJj
ZS5FdmVudHMuTWVzc2FnZUFkZGVkLCB0aGlzLl9jb25zb2xlTWVzc2FnZUFkZGVkLCB0aGlzKTsK
ICAgICB0aGlzLl9yZXNvdXJjZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXNvdXJj
ZS5FdmVudHMuTWVzc2FnZXNDbGVhcmVkLCB0aGlzLl9jb25zb2xlTWVzc2FnZXNDbGVhcmVkLCB0
aGlzKTsKQEAgLTEyMTgsNyArMTIxOCw3IEBAIFdlYkluc3BlY3Rvci5GcmFtZVJlc291cmNlVHJl
ZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgV2ViSW5zcGVjdG9yLkJhc2VT
dG9yYWdlVHJlZUVsZW1lbnQucHJvdG90eXBlLm9uYXR0YWNoLmNhbGwodGhpcyk7CiAKLSAgICAg
ICAgaWYgKHRoaXMuX3Jlc291cmNlLmNhdGVnb3J5ID09PSBXZWJJbnNwZWN0b3IucmVzb3VyY2VD
YXRlZ29yaWVzLmltYWdlcykgeworICAgICAgICBpZiAodGhpcy5fcmVzb3VyY2UudHlwZSA9PT0g
V2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuSW1hZ2UpIHsKICAgICAgICAgICAgIHZhciBwcmV2
aWV3SW1hZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKICAgICAgICAgICAgIHBy
ZXZpZXdJbWFnZS5jbGFzc05hbWUgPSAiaW1hZ2UtcmVzb3VyY2UtaWNvbi1wcmV2aWV3IjsKICAg
ICAgICAgICAgIHRoaXMuX3Jlc291cmNlLnBvcHVsYXRlSW1hZ2VTb3VyY2UocHJldmlld0ltYWdl
KTsKQEAgLTEyNzEsOSArMTI3MSw5IEBAIFdlYkluc3BlY3Rvci5GcmFtZVJlc291cmNlVHJlZUVs
ZW1lbnQucHJvdG90eXBlID0gewogICAgICAgICBpZiAoIUluc3BlY3RvckZyb250ZW5kSG9zdC5j
YW5TYXZlKCkpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgaWYgKHRoaXMuX3Jlc291
cmNlLnR5cGUgIT09IFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLkRvY3VtZW50ICYmCi0gICAg
ICAgICAgICB0aGlzLl9yZXNvdXJjZS50eXBlICE9PSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlw
ZS5TdHlsZXNoZWV0ICYmCi0gICAgICAgICAgICB0aGlzLl9yZXNvdXJjZS50eXBlICE9PSBXZWJJ
bnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5TY3JpcHQpCisgICAgICAgIGlmICh0aGlzLl9yZXNvdXJj
ZS50eXBlICE9PSBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5Eb2N1bWVudCAmJgorICAgICAg
ICAgICAgdGhpcy5fcmVzb3VyY2UudHlwZSAhPT0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMu
U3R5bGVzaGVldCAmJgorICAgICAgICAgICAgdGhpcy5fcmVzb3VyY2UudHlwZSAhPT0gV2ViSW5z
cGVjdG9yLnJlc291cmNlVHlwZXMuU2NyaXB0KQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAg
ICAgIGZ1bmN0aW9uIGRvU2F2ZShmb3JjZVNhdmVBcywgY29udGVudCkKQEAgLTIwMDYsNyArMjAw
Niw3IEBAIFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlRnJhbWVUcmVlRWxlbWVudC5wcm90
b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yCiBXZWJJbnNwZWN0b3IuUmVzb3VyY2VSZXZp
c2lvblRyZWVFbGVtZW50ID0gZnVuY3Rpb24oc3RvcmFnZVBhbmVsLCByZXZpc2lvbikKIHsKICAg
ICB2YXIgdGl0bGUgPSByZXZpc2lvbi50aW1lc3RhbXAgPyByZXZpc2lvbi50aW1lc3RhbXAudG9M
b2NhbGVUaW1lU3RyaW5nKCkgOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIihvcmlnaW5hbCkiKTsK
LSAgICBXZWJJbnNwZWN0b3IuQmFzZVN0b3JhZ2VUcmVlRWxlbWVudC5jYWxsKHRoaXMsIHN0b3Jh
Z2VQYW5lbCwgcmV2aXNpb24sIHRpdGxlLCBbInJlc291cmNlLXNpZGViYXItdHJlZS1pdGVtIiwg
InJlc291cmNlcy1jYXRlZ29yeS0iICsgcmV2aXNpb24ucmVzb3VyY2UuY2F0ZWdvcnkubmFtZV0p
OworICAgIFdlYkluc3BlY3Rvci5CYXNlU3RvcmFnZVRyZWVFbGVtZW50LmNhbGwodGhpcywgc3Rv
cmFnZVBhbmVsLCByZXZpc2lvbiwgdGl0bGUsIFsicmVzb3VyY2Utc2lkZWJhci10cmVlLWl0ZW0i
LCAicmVzb3VyY2VzLWNhdGVnb3J5LSIgKyByZXZpc2lvbi5yZXNvdXJjZS50eXBlLm5hbWUoKV0p
OwogICAgIGlmIChyZXZpc2lvbi50aW1lc3RhbXApCiAgICAgICAgIHRoaXMudG9vbHRpcCA9IHJl
dmlzaW9uLnRpbWVzdGFtcC50b0xvY2FsZVN0cmluZygpOwogICAgIHRoaXMuX3JldmlzaW9uID0g
cmV2aXNpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1dlYktpdC5xcmMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5x
cmMKaW5kZXggYjFlYjJkZmRhYWY0MmJlOTNmNzczNDliNzJkOWU5YTJkZmUzMjg0Ni4uYWEyYWIx
M2EwN2MyN2YwYzRjNTkyOWE5NWM3NTMxOWMxYjk5NzM1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYwpAQCAtMTAyLDcgKzEwMiw2IEBACiAgICAg
PGZpbGU+UmF3U291cmNlQ29kZS5qczwvZmlsZT4KICAgICA8ZmlsZT5SZW1vdGVPYmplY3QuanM8
L2ZpbGU+CiAgICAgPGZpbGU+UmVzb3VyY2UuanM8L2ZpbGU+Ci0gICAgPGZpbGU+UmVzb3VyY2VD
YXRlZ29yeS5qczwvZmlsZT4KICAgICA8ZmlsZT5SZXNvdXJjZUNvb2tpZXNWaWV3LmpzPC9maWxl
PgogICAgIDxmaWxlPlJlc291cmNlSlNPTlZpZXcuanM8L2ZpbGU+CiAgICAgPGZpbGU+UmVzb3Vy
Y2VIVE1MVmlldy5qczwvZmlsZT4KQEAgLTExMiw2ICsxMTEsNyBAQAogICAgIDxmaWxlPlJlc291
cmNlU2NyaXB0TWFwcGluZy5qczwvZmlsZT4KICAgICA8ZmlsZT5SZXNvdXJjZVRpbWluZ1ZpZXcu
anM8L2ZpbGU+CiAgICAgPGZpbGU+UmVzb3VyY2VUcmVlTW9kZWwuanM8L2ZpbGU+CisgICAgPGZp
bGU+UmVzb3VyY2VUeXBlLmpzPC9maWxlPgogICAgIDxmaWxlPlJlc291cmNlVXRpbHMuanM8L2Zp
bGU+CiAgICAgPGZpbGU+UmVzb3VyY2VWaWV3LmpzPC9maWxlPgogICAgIDxmaWxlPlJlc291cmNl
c1BhbmVsLmpzPC9maWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9pbnNwZWN0b3IuaHRtbCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvaW5zcGVjdG9yLmh0bWwKaW5kZXggYTRkMDM0ODMxNjIxNDZlMGNlOWUwMjQyOWI4NGQ2Zjkx
MGFlYWI2ZS4uMWY5NjY3MTNjMTJkYjAyMGFiMWI5MDUzMTY4ZGZmNzJhMTNlMWM2YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCkBA
IC03MCw3ICs3MCw3IEBAIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iTmV0d29ya0xvZy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iUmVzb3VyY2VUcmVlTW9kZWwuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlJlc291cmNlVXRpbHMuanMiPjwvc2Ny
aXB0PgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlJlc291cmNlQ2F0
ZWdvcnkuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9IlJlc291cmNlVHlwZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iVGltZWxpbmVNYW5hZ2VyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJUaW1lbGluZU1vZGVsLmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJVc2VyQWdlbnRTdXBwb3J0
LmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1NjhhOWJlYWExNzMyNWFjNGUxMDJlOTVmYTI0ZjM3YmFl
NmM1NmIzLi5hYTc4NWZmNWNjMjVkNDU0MzQ5OGUyMDlhN2ZiN2YyZjY3YzE5MTNkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTItMDQtMDkgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogZ2V0IHJpZCBvZiBXZWJJbnNwZWN0
b3IuUmVzb3VyY2UuY2F0ZWdvcnksIHVzZSAgV2ViSW5zcGVjdG9yLlJlc291cmNlLnR5cGUgaW5z
dGVhZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgz
NDY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2FzeW5jLXhoci1qc29uLW1pbWUtdHlwZS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3Jr
LWlmcmFtZS1sb2FkLWFuZC1kZWxldGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVz
dHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay14aHItYXN5bmMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay14aHItc2FtZS11cmwt
YXMtbWFpbi1yZXNvdXJjZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL25l
dHdvcmsvbmV0d29yay14aHItc3luYy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0
cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWludmFsaWQtbWltZS10eXBl
LWNzcy1jb250ZW50Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3Vy
Y2UtdHJlZS9yZXNvdXJjZS10cmVlLW1pbWV0eXBlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLXRlc3QuanM6CisgICAgICAg
IChpbml0aWFsaXplX1Jlc291cmNlVHJlZVRlc3QuSW5zcGVjdG9yVGVzdC5kdW1wUmVzb3VyY2VU
cmVlRXZlcnl0aGluZyk6CisgICAgICAgIChpbml0aWFsaXplX1Jlc291cmNlVHJlZVRlc3QpOgor
ICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9yYXctc291cmNlLWNvZGUuaHRtbDoKKwogMjAx
Mi0wNC0wOSAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJlbW92ZSBwYXJ0aWFsbHkgaW1wbGVtZW50ZWQgcGVyLUVsZW1lbnQgdmlzaWJpbGl0eSBjaGVj
a3MgZnJvbSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgbG9naWMKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvYXN5bmMteGhyLWpzb24tbWltZS10eXBl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsv
YXN5bmMteGhyLWpzb24tbWltZS10eXBlLWV4cGVjdGVkLnR4dAppbmRleCAyMTMyNjgyMmFhZmRj
ODJmZWI3NjY1ODA1OWFiOGU1YjVkYzExOTJlLi41ZGRkMGI4ZWZkMGYzNzAzZjJlYjRkZDQ0NWM3
MzU0MDkzODc4Y2RjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9uZXR3b3JrL2FzeW5jLXhoci1qc29uLW1pbWUtdHlwZS1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9hc3luYy14aHItanNvbi1taW1l
LXR5cGUtZXhwZWN0ZWQudHh0CkBAIC0yLDcgKzIsNyBAQCBDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MTM6IERvbmUuCiBUZXN0cyBYSFIgbmV0d29yayByZXNvdXJjZSBjb250ZW50IGZvciBhc3luY2hy
b25vdXMgcmVxdWVzdHMgd2l0aCBhcHBsaWNhdGlvbi9qc29uIG1pbWUgdHlwZS4gQnVnIDgwNjg0
CiAKIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvanNv
bi5waHAKLXJlc291cmNlLnR5cGU6IDUKK3Jlc291cmNlLnR5cGU6IHhocgogcmVzb3VyY2UuY29u
dGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiB1bmRlZmluZWQKIHJlc291cmNlLmNvbnRl
bnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiB7Im51bWJlciI6ICI0MiJ9CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1lbWJl
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3Jr
L25ldHdvcmstZW1iZWQtZXhwZWN0ZWQudHh0CmluZGV4IGUzYzVjYTUxZWE4MTExODhiZWEyODAy
ODg2NjA2ZGE4NzNhYTNjNTkuLmQzZDg1MjI0ZTBmNzc3YWJiN2UxMTBlZGQzYmIxNjBhNjc3MzY1
ZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsv
bmV0d29yay1lbWJlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWVtYmVkLWV4cGVjdGVkLnR4dApAQCAtMywxMSArMywx
MSBAQCBUZXN0cyB0aGF0IG5ldHdvcmsgcGFuZWwgc2hvd3MgY29udGVudCBmb3IgZW1iZWQgb2Jq
ZWN0cy4KIAogCiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3Vy
Y2VzL3Jlc291cmNlLnBocD90eXBlPWltYWdlCi1yZXNvdXJjZS50eXBlOiA4CityZXNvdXJjZS50
eXBlOiBvdGhlcgogcmVzb3VyY2UuY29udGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiB1
bmRlZmluZWQKIHJlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiBudWxs
CiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3BsdWdp
bi1kYXRhLnBocD9maWxlbmFtZT11dGY4LnhtbCZtaW1ldHlwZT10ZXh0L2h0bWwmY2hhcnNldD11
dGY4Ci1yZXNvdXJjZS50eXBlOiA4CityZXNvdXJjZS50eXBlOiBvdGhlcgogcmVzb3VyY2UuY29u
dGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiB1bmRlZmluZWQKIHJlc291cmNlLmNvbnRl
bnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiA8P3htbCB2ZXJzaW9uPScxLjAnIGVuY29kaW5n
PSd1dGYtOCc/PgogPHJvb3Q+CkBAIC0xNSw3ICsxNSw3IEBAIHJlc291cmNlLmNvbnRlbnQgYWZ0
ZXIgcmVxdWVzdGluZyBjb250ZW50OiA8P3htbCB2ZXJzaW9uPScxLjAnIGVuY29kaW5nPSd1dGYt
OCc/CiA8L3Jvb3Q+CiAKIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9y
ZXNvdXJjZXMvcGx1Z2luLWRhdGEucGhwP2ZpbGVuYW1lPWNwMTI1MS54bWwmbWltZXR5cGU9dGV4
dC9odG1sJmNoYXJzZXQ9Y3AxMjUxCi1yZXNvdXJjZS50eXBlOiA4CityZXNvdXJjZS50eXBlOiBv
dGhlcgogcmVzb3VyY2UuY29udGVudCBiZWZvcmUgcmVxdWVzdGluZyBjb250ZW50OiB1bmRlZmlu
ZWQKIHJlc291cmNlLmNvbnRlbnQgYWZ0ZXIgcmVxdWVzdGluZyBjb250ZW50OiA8P3htbCB2ZXJz
aW9uPScxLjAnIGVuY29kaW5nPSdjcDEyNTEnPz4KIDxyb290PgpAQCAtMjMsNyArMjMsNyBAQCBy
ZXNvdXJjZS5jb250ZW50IGFmdGVyIHJlcXVlc3RpbmcgY29udGVudDogPD94bWwgdmVyc2lvbj0n
MS4wJyBlbmNvZGluZz0nY3AxMjUxJwogPC9yb290PgogCiBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
aW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3BsdWdpbi1kYXRhLnBocD9maWxlbmFtZT11dGY4
LnhtbCZtaW1ldHlwZT1hcHBsaWNhdGlvbi94bWwKLXJlc291cmNlLnR5cGU6IDgKK3Jlc291cmNl
LnR5cGU6IG90aGVyCiByZXNvdXJjZS5jb250ZW50IGJlZm9yZSByZXF1ZXN0aW5nIGNvbnRlbnQ6
IHVuZGVmaW5lZAogcmVzb3VyY2UuY29udGVudCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6IDw/
eG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J3V0Zi04Jz8+CiA8cm9vdD4KQEAgLTMxLDcgKzMx
LDcgQEAgcmVzb3VyY2UuY29udGVudCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6IDw/eG1sIHZl
cnNpb249JzEuMCcgZW5jb2Rpbmc9J3V0Zi04Jz8KIDwvcm9vdD4KIAogaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9wbHVnaW4tZGF0YS5waHA/ZmlsZW5h
bWU9Y3AxMjUxLnhtbCZtaW1ldHlwZT1hcHBsaWNhdGlvbi94bWwKLXJlc291cmNlLnR5cGU6IDgK
K3Jlc291cmNlLnR5cGU6IG90aGVyCiByZXNvdXJjZS5jb250ZW50IGJlZm9yZSByZXF1ZXN0aW5n
IGNvbnRlbnQ6IHVuZGVmaW5lZAogcmVzb3VyY2UuY29udGVudCBhZnRlciByZXF1ZXN0aW5nIGNv
bnRlbnQ6IDw/eG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J2NwMTI1MSc/PgogPHJvb3Q+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdv
cmstaWZyYW1lLWxvYWQtYW5kLWRlbGV0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstaWZyYW1lLWxvYWQtYW5kLWRlbGV0ZS1l
eHBlY3RlZC50eHQKaW5kZXggNDYzOTM4NjZlZjBlMTliMDQxNWEzNTIzZWU3ZTBlZGY0OTcwOTcw
ZS4uMjQ1NWM4NDM4MWI3NmRhYjlkZjllNGZmODZkZTczOWEzMjRmYWI4OSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLWlmcmFtZS1s
b2FkLWFuZC1kZWxldGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay1pZnJhbWUtbG9hZC1hbmQtZGVsZXRlLWV4cGVjdGVk
LnR4dApAQCAtMiwxMSArMiwxMSBAQCBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzY6IERvbmUuCiBU
ZXN0cyB0aGF0IGlmIGlmcmFtZSBpcyBsb2FkZWQgYW5kIHRoZW4gZGVsZXRlZCwgaW5zcGVjdG9y
IGNvdWxkIHN0aWxsIHNob3cgaXRzIGNvbnRlbnQuIE5vdGUgdGhhdCBpZiBpZnJhbWUuc3JjIGlz
IGNoYW5nZWQgdG8gImphdmFzY3JpcHQ6Jy4uLnNvbWUgaHRtbC4uLiciIGFmdGVyIGxvYWRpbmcs
IHRoZW4gd2UgaGF2ZSBkaWZmZXJlbnQgY29kZXBhdGgsIGhlbmNlIHR3byB0ZXN0czsKIAogaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNlcy9yZXNvdXJjZS5w
aHAKLXJlc291cmNlLnR5cGU6IDAKK3Jlc291cmNlLnR5cGU6IGRvY3VtZW50CiByZXNvdXJjZS5j
b250ZW50IGJlZm9yZSByZXF1ZXN0aW5nIGNvbnRlbnQ6IHVuZGVmaW5lZAogcmVzb3VyY2UuY29u
dGVudCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6IEhlbGxvIHdvcmxkCiBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBocAotcmVzb3Vy
Y2UudHlwZTogMAorcmVzb3VyY2UudHlwZTogZG9jdW1lbnQKIHJlc291cmNlLmNvbnRlbnQgYmVm
b3JlIHJlcXVlc3RpbmcgY29udGVudDogdW5kZWZpbmVkCiByZXNvdXJjZS5jb250ZW50IGFmdGVy
IHJlcXVlc3RpbmcgY29udGVudDogSGVsbG8gd29ybGQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXNoYXJlZC13b3JrZXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3
b3JrLXNoYXJlZC13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGRiNjU3YjRjNzU3ZmUyZmY2Njdl
ZGRkYTUzY2MzZThhYzc4OTJjOTkuLjUxNmNiZDljMGE5Y2JiMzUxYzc3ZTcyYmM5ZTM0YjMyMzM2
Mjk0OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdv
cmsvbmV0d29yay1zaGFyZWQtd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstc2hhcmVkLXdvcmtlci1leHBlY3Rl
ZC50eHQKQEAgLTMsNyArMyw3IEBAIFRlc3RzIHRoYXQgc2hhcmVkIHdvcmtlciBjb250ZW50IGlz
IGF2YWlsYWJsZSBpbiBuZXR3b3JrIHBhbmVsLgogCiBCdWcgNjU5MjkKIGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZXMvc2hhcmVkLXdvcmtlci5qcwotcmVz
b3VyY2UudHlwZTogNAorcmVzb3VyY2UudHlwZTogc2NyaXB0CiByZXNvdXJjZS5jb250ZW50IGJl
Zm9yZSByZXF1ZXN0aW5nIGNvbnRlbnQ6IHVuZGVmaW5lZAogcmVzb3VyY2UuY29udGVudCBhZnRl
ciByZXF1ZXN0aW5nIGNvbnRlbnQ6IG9uY29ubmVjdCA9IGZ1bmN0aW9uKGV2ZW50KQogewpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3Jr
LXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9u
ZXR3b3JrL25ldHdvcmstd29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBkM2RjOTJkODcxMzQ1NzJm
OGVmNThiNDNkMTE3ZTNmOWRmZGM4ZGVmLi5jYmVhNDU0MzQwNTJhMjhhYTZiMzNkZGNkNTczODhi
NTMyZTQ5ODUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9u
ZXR3b3JrL25ldHdvcmstd29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmstd29ya2VyLWV4cGVjdGVkLnR4dApAQCAt
Myw3ICszLDcgQEAgVGVzdHMgdGhhdCB3b3JrZXIgY29udGVudCBpcyBhdmFpbGFibGUgaW4gbmV0
d29yayBwYW5lbC4KIAogQnVnIDY1OTI5CiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9y
L25ldHdvcmsvcmVzb3VyY2VzL3dvcmtlci5qcwotcmVzb3VyY2UudHlwZTogNAorcmVzb3VyY2Uu
dHlwZTogc2NyaXB0CiByZXNvdXJjZS5jb250ZW50IGJlZm9yZSByZXF1ZXN0aW5nIGNvbnRlbnQ6
IHVuZGVmaW5lZAogcmVzb3VyY2UuY29udGVudCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6IHBv
c3RNZXNzYWdlKCJEb25lLiIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9uZXR3b3JrL25ldHdvcmsteGhyLWFzeW5jLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay14aHItYXN5bmMtZXhw
ZWN0ZWQudHh0CmluZGV4IDQ1ZTU1NTEzOTk4ZWIxNTUxZjA3ZjA5NGFiNTJhZThlYzA5MmNmM2Iu
Ljc5MWVlNzE5YjRiOTU4YjAyN2Q0ODM0YWRiYWQzYmI2Y2ZiMzNlMjQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay14aHItYXN5bmMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdv
cmsvbmV0d29yay14aHItYXN5bmMtZXhwZWN0ZWQudHh0CkBAIC0yLDcgKzIsNyBAQCBDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMTM6IERvbmUuCiBUZXN0cyBYSFIgbmV0d29yayByZXNvdXJjZSB0eXBl
IGFuZCBjb250ZW50IGZvciBhc3luY2hyb25vdXMgcmVxdWVzdHMuIEJ1ZyA2MTIwNQogCiBodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2VzL3Jlc291cmNlLnBo
cAotcmVzb3VyY2UudHlwZTogNQorcmVzb3VyY2UudHlwZTogeGhyCiByZXNvdXJjZS5jb250ZW50
IGJlZm9yZSByZXF1ZXN0aW5nIGNvbnRlbnQ6IHVuZGVmaW5lZAogcmVzb3VyY2UuY29udGVudCBh
ZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6IEhlbGxvIHdvcmxkCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay14aHItc2FtZS11cmwt
YXMtbWFpbi1yZXNvdXJjZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
bmV0d29yay9uZXR3b3JrLXhoci1zYW1lLXVybC1hcy1tYWluLXJlc291cmNlLmh0bWwKaW5kZXgg
MTNjOTgzYjYyOGEwNjJhNGI5YjcwNGJlNWFmZDFjMDg3OTRiOGFiZC4uYjNhNzJkZTJhOTYxM2Qx
NTFmZjQ3NzgyZjJiMzhhZDU2M2MzZWQ3YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXhoci1zYW1lLXVybC1hcy1tYWluLXJlc291
cmNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9u
ZXR3b3JrLXhoci1zYW1lLXVybC1hcy1tYWluLXJlc291cmNlLmh0bWwKQEAgLTIxLDcgKzIxLDcg
QEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgZnVuY3Rpb24gc3RlcDIoKQogICAgIHsKICAgICAgICAg
dmFyIHJlc291cmNlMSA9IFdlYkluc3BlY3Rvci5wYW5lbHMubmV0d29yay5yZXNvdXJjZXNbV2Vi
SW5zcGVjdG9yLnBhbmVscy5uZXR3b3JrLnJlc291cmNlcy5sZW5ndGggLSAxXTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQocmVzb3VyY2UxLmNhdGVnb3J5Lm5hbWUpOworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXNvdXJjZTEudHlwZS5uYW1lKCkpOwogICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvbmV0d29yay14aHItc3luYy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL25l
dHdvcmsteGhyLXN5bmMtZXhwZWN0ZWQudHh0CmluZGV4IDM0NDM0N2MwZTUxZTgyMWE1YzZjMzg2
NzQ5YTNhYzEzYjNmNWRmNzIuLjU3Mzc3YjliZmIyZjBhMTA4MDgzMmM0NWViN2YxNmFkZWFmMDYw
ZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsv
bmV0d29yay14aHItc3luYy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvbmV0d29yay9uZXR3b3JrLXhoci1zeW5jLWV4cGVjdGVkLnR4dApAQCAtMiw3
ICsyLDcgQEAgQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiBEb25lLgogVGVzdHMgWEhSIG5ldHdv
cmsgcmVzb3VyY2UgdHlwZSBhbmQgY29udGVudCBmb3Igc3luY2hyb25vdXMgcmVxdWVzdHMuIEJ1
ZyA2MTIwNQogCiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL25ldHdvcmsvcmVzb3Vy
Y2VzL3Jlc291cmNlLnBocAotcmVzb3VyY2UudHlwZTogNQorcmVzb3VyY2UudHlwZTogeGhyCiBy
ZXNvdXJjZS5jb250ZW50IGJlZm9yZSByZXF1ZXN0aW5nIGNvbnRlbnQ6IHVuZGVmaW5lZAogcmVz
b3VyY2UuY29udGVudCBhZnRlciByZXF1ZXN0aW5nIGNvbnRlbnQ6IEhlbGxvIHdvcmxkCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUv
cmVzb3VyY2UtdHJlZS1pbnZhbGlkLW1pbWUtdHlwZS1jc3MtY29udGVudC5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWlu
dmFsaWQtbWltZS10eXBlLWNzcy1jb250ZW50Lmh0bWwKaW5kZXggNDE4NDQzNjQyNzU1OGY4ZGYw
OTY2MmY4NTIyMWExN2YxMDAwNjg0Yy4uOWY0M2Y1ZGMyOTgyZjVlYTM2MjE5NWRiYTEwM2ZlNjM1
ZDJkYjBiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZS10cmVlLWludmFsaWQtbWltZS10eXBlLWNzcy1jb250ZW50Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9y
ZXNvdXJjZS10cmVlLWludmFsaWQtbWltZS10eXBlLWNzcy1jb250ZW50Lmh0bWwKQEAgLTE5LDcg
KzE5LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICAgICAgICAgY3NzUmVzb3VyY2UgPSBy
ZXNvdXJjZTsKICAgICAgICAgfQogICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChjc3NS
ZXNvdXJjZS51cmwpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyhjc3NSZXNv
dXJjZS50eXBlLCBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5TdHlsZXNoZWV0LCAiUmVzb3Vy
Y2UgdHlwZSBzaG91bGQgYmUgU3R5bGVzaGVldC4iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5h
c3NlcnRFcXVhbHMoY3NzUmVzb3VyY2UudHlwZSwgV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMu
U3R5bGVzaGVldCwgIlJlc291cmNlIHR5cGUgc2hvdWxkIGJlIFN0eWxlc2hlZXQuIik7CiAgICAg
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZSghY3NzUmVzb3VyY2UuZmFpbGVkLCAiUmVzb3Vy
Y2UgbG9hZGluZyBmYWlsZWQuIik7CiAgICAgICAgIGNzc1Jlc291cmNlLnJlcXVlc3RDb250ZW50
KHN0ZXAyKTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlLXRyZWUtbWltZXR5cGUuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1taW1l
dHlwZS5odG1sCmluZGV4IDBhMjU5NDZiMzU1YzIxMGY2OTkzNTE5NDI0MzQ0YjU5OGE0NDdjYTAu
LmRkYThiZTliOTY5ZWNlYmU2MDg3NzdmMGRhMzNiZWI2MzM3NDNlZGIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJl
ZS1taW1ldHlwZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jl
c291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS1taW1ldHlwZS5odG1sCkBAIC0xNSw3ICsxNSw3IEBA
IGZ1bmN0aW9uIHRlc3QoKQogICAgIHsKICAgICAgICAgZnVuY3Rpb24gZm9ybWF0KHJlc291cmNl
KQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5
cGUudG9TdHJpbmcocmVzb3VyY2UudHlwZSkgKyAiICIgKyByZXNvdXJjZS5taW1lVHlwZSArICIg
IiArIHJlc291cmNlLnVybDsKKyAgICAgICAgICAgIHJldHVybiByZXNvdXJjZS50eXBlLm5hbWUo
KSArICIgIiArIHJlc291cmNlLm1pbWVUeXBlICsgIiAiICsgcmVzb3VyY2UudXJsOwogICAgICAg
ICB9CiAKICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wUmVzb3VyY2VzKGZvcm1hdCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jl
c291cmNlLXRyZWUtdGVzdC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jl
c291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS10ZXN0LmpzCmluZGV4IDRhYzM4N2YzOWViODNjZTI2
M2JmNTY2ZTkyYzU4YTk4MDU2OTQyODUuLmVhZTc1NjRkMDU0OWY2MDFiNGVlNTBiMTJhMDNmNGU3
MDVlNDU0YzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jl
c291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2UtdHJlZS10ZXN0LmpzCkBAIC03
Miw3ICs3Miw3IEBAIEluc3BlY3RvclRlc3QuZHVtcFJlc291cmNlVHJlZUV2ZXJ5dGhpbmcgPSBm
dW5jdGlvbigpCiB7CiAgICAgZnVuY3Rpb24gZm9ybWF0KHJlc291cmNlKQogICAgIHsKLSAgICAg
ICAgcmV0dXJuIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLnRvU3RyaW5nKHJlc291cmNlLnR5
cGUpICsgIiAiICsgcmVzb3VyY2UudXJsOworICAgICAgICByZXR1cm4gcmVzb3VyY2UudHlwZS5u
YW1lKCkgKyAiICIgKyByZXNvdXJjZS51cmw7CiAgICAgfQogCiAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIlJlc291cmNlczoiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kZWJ1Z2dlci9yYXctc291cmNlLWNvZGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9k
ZWJ1Z2dlci9yYXctc291cmNlLWNvZGUuaHRtbAppbmRleCA0Zjc5Yjc2ZmI0OGMxYmE5YzFhNzI3
NmRmNTQyZmVhNzA1NjM4NTQxLi5mZGE4ODAwZTQ3OTYzYjcxY2ExZTczYzExMzk3ZmMxZGMxZDM2
ODUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmF3LXNvdXJj
ZS1jb2RlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jhdy1zb3Vy
Y2UtY29kZS5odG1sCkBAIC0xMCw3ICsxMCw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIGZ1bmN0
aW9uIGNyZWF0ZVJlc291cmNlTW9jayh0eXBlLCBmaW5pc2hlZCwgY29udGVudCkKICAgICB7CiAg
ICAgICAgIHZhciByZXNvdXJjZSA9IHt9OwotICAgICAgICByZXNvdXJjZS50eXBlID0gdHlwZSA9
PT0gImRvY3VtZW50IiA/IFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLkRvY3VtZW50IDogV2Vi
SW5zcGVjdG9yLlJlc291cmNlLlR5cGUuU2NyaXB0OworICAgICAgICByZXNvdXJjZS50eXBlID0g
dHlwZSA9PT0gImRvY3VtZW50IiA/IFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLkRvY3VtZW50
IDogV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU2NyaXB0OwogICAgICAgICByZXNvdXJjZS5m
aW5pc2hlZCA9IGZpbmlzaGVkOwogICAgICAgICByZXNvdXJjZS5jb250ZW50ID0gY29udGVudDsK
ICAgICAgICAgcmVzb3VyY2UucmVxdWVzdENvbnRlbnQgPSBmdW5jdGlvbihjYWxsYmFjaykgeyBj
YWxsYmFjayhyZXNvdXJjZS5jb250ZW50KTsgfTsK
</data>
<flag name="review"
          id="140939"
          type_id="1"
          status="+"
          setter="yurys"
    />
    <flag name="commit-queue"
          id="140945"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
      

    </bug>

</bugzilla>