<?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>89555</bug_id>
          
          <creation_ts>2012-06-20 02:31:46 -0700</creation_ts>
          <short_desc>Web Inspector: Move requestId allocation from FileSystem frontend to backend</short_desc>
          <delta_ts>2012-06-21 00:24:09 -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>
          
          <blocked>68203</blocked>
    
    <blocked>73301</blocked>
    
    <blocked>87856</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Taiju Tsuiki">tzik</reporter>
          <assigned_to name="Taiju Tsuiki">tzik</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>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>653303</commentid>
    <comment_count>0</comment_count>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2012-06-20 02:31:46 -0700</bug_when>
    <thetext>Per https://bugs.webkit.org/show_bug.cgi?id=87856#c6, we should allocate requestId in backend-side,
 and should rename getFileSystemRoot and readDirectory to requestFileSystemRoot and requestDirectoryContent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653304</commentid>
    <comment_count>1</comment_count>
      <attachid>148527</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2012-06-20 02:37:04 -0700</bug_when>
    <thetext>Created attachment 148527
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653869</commentid>
    <comment_count>2</comment_count>
      <attachid>148527</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-06-20 14:07:30 -0700</bug_when>
    <thetext>Comment on attachment 148527
Patch

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

Please fix a couple of nits before landing.

&gt; Source/WebCore/ChangeLog:10
&gt; +

Please remove extra blank line.

&gt; Source/WebCore/inspector/Inspector.json:1441
&gt; +                    { &quot;name&quot;: &quot;requestId&quot;, &quot;$ref&quot;: &quot;FileSystem.RequestId&quot;, &quot;description&quot;: &quot;Request identifier. Corresponding fileSystemRootReceived event should have same requestId with this.&quot; }

&quot;$ref&quot;: &quot;RequestId&quot; is enough since you are inside FileSystem domain.

&gt; Source/WebCore/inspector/Inspector.json:1453
&gt; +                &quot;description&quot;: &quot;Returns content of the directory as didReadDirectory event.&quot;

didReadDirectory -&gt;directoryContentReceived

&gt; Source/WebCore/inspector/InspectorFileSystemAgent.cpp:413
&gt; +    ASSERT(requestId);

This is up to the protocol implementation to provide correct output parameter pointer, you should not check it here.

&gt; Source/WebCore/inspector/InspectorFileSystemAgent.cpp:427
&gt; +    ASSERT(requestId);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654149</commentid>
    <comment_count>3</comment_count>
      <attachid>148709</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2012-06-20 19:06:08 -0700</bug_when>
    <thetext>Created attachment 148709
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654150</commentid>
    <comment_count>4</comment_count>
      <attachid>148527</attachid>
    <who name="Taiju Tsuiki">tzik</who>
    <bug_when>2012-06-20 19:09:08 -0700</bug_when>
    <thetext>Comment on attachment 148527
Patch

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

Thanks, I updated the patch.

&gt;&gt; Source/WebCore/ChangeLog:10
&gt;&gt; +
&gt; 
&gt; Please remove extra blank line.

Done

&gt;&gt; Source/WebCore/inspector/Inspector.json:1441
&gt;&gt; +                    { &quot;name&quot;: &quot;requestId&quot;, &quot;$ref&quot;: &quot;FileSystem.RequestId&quot;, &quot;description&quot;: &quot;Request identifier. Corresponding fileSystemRootReceived event should have same requestId with this.&quot; }
&gt; 
&gt; &quot;$ref&quot;: &quot;RequestId&quot; is enough since you are inside FileSystem domain.

Done

&gt;&gt; Source/WebCore/inspector/Inspector.json:1453
&gt;&gt; +                &quot;description&quot;: &quot;Returns content of the directory as didReadDirectory event.&quot;
&gt; 
&gt; didReadDirectory -&gt;directoryContentReceived

Done

&gt;&gt; Source/WebCore/inspector/InspectorFileSystemAgent.cpp:413
&gt;&gt; +    ASSERT(requestId);
&gt; 
&gt; This is up to the protocol implementation to provide correct output parameter pointer, you should not check it here.

Removed

&gt;&gt; Source/WebCore/inspector/InspectorFileSystemAgent.cpp:427
&gt;&gt; +    ASSERT(requestId);
&gt; 
&gt; Ditto.

Removed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654293</commentid>
    <comment_count>5</comment_count>
      <attachid>148709</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-21 00:24:05 -0700</bug_when>
    <thetext>Comment on attachment 148709
Patch

Clearing flags on attachment: 148709

Committed r120906: &lt;http://trac.webkit.org/changeset/120906&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654294</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-21 00:24:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148527</attachid>
            <date>2012-06-20 02:37:04 -0700</date>
            <delta_ts>2012-06-20 19:09:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89555-20120620183703.patch</filename>
            <type>text/plain</type>
            <size>24438</size>
            <attacher name="Taiju Tsuiki">tzik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmM1ZWRmYzJiMjFkYWQx
MWYzMzNhZTgzMGFhZjc3NjgxNDU2YjI1Ny4uZjRmYjlmYWUyNmNjYzBjMDE5YmE1MGU1ZGVjNDNl
MWY3NWQ3MDM1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA2LTIwICBUYWlq
dSBUc3Vpa2kgIDx0emlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBN
b3ZlIHJlcXVlc3RJZCBhbGxvY2F0aW9uIGZyb20gRmlsZVN5c3RlbSBmcm9udGVuZCB0byBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTU1
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6
IGh0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vZ2V0LWZpbGVzeXN0ZW0tcm9vdC5odG1s
OgorICAgICAgICAgICAgICBodHRwL3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVtL3JlYWQtZGly
ZWN0b3J5Lmh0bWw6CisKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50Ojpy
ZXF1ZXN0RmlsZVN5c3RlbVJvb3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRmlsZVN5
c3RlbUFnZW50OjpyZXF1ZXN0RGlyZWN0b3J5Q29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudCk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oOgorICAgICAgICAoSW5z
cGVjdG9yRmlsZVN5c3RlbUFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0Zp
bGVTeXN0ZW1Nb2RlbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtTW9kZWwu
cHJvdG90eXBlLl9vcmlnaW5BZGRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZVN5c3Rl
bU1vZGVsLnByb3RvdHlwZS5fZmlsZVN5c3RlbVJvb3RSZWNlaXZlZCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuRmlsZVN5c3RlbVJlcXVlc3RNYW5hZ2VyKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5GaWxlU3lzdGVtUmVxdWVzdE1hbmFnZXIucHJvdG90eXBlLnJlcXVlc3RGaWxlU3lzdGVtUm9v
dC5yZXF1ZXN0QWNjZXB0ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1SZXF1
ZXN0TWFuYWdlci5wcm90b3R5cGUucmVxdWVzdEZpbGVTeXN0ZW1Sb290KToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5GaWxlU3lzdGVtUmVxdWVzdE1hbmFnZXIucHJvdG90eXBlLl9maWxlU3lzdGVt
Um9vdFJlY2VpdmVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtUmVxdWVzdE1h
bmFnZXIucHJvdG90eXBlLnJlcXVlc3REaXJlY3RvcnlDb250ZW50LnJlcXVlc3RBY2NlcHRlZCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbVJlcXVlc3RNYW5hZ2VyLnByb3RvdHlw
ZS5yZXF1ZXN0RGlyZWN0b3J5Q29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZVN5
c3RlbVJlcXVlc3RNYW5hZ2VyLnByb3RvdHlwZS5fZGlyZWN0b3J5Q29udGVudFJlY2VpdmVkKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtRGlzcGF0Y2hlci5wcm90b3R5cGUuZmls
ZVN5c3RlbVJvb3RSZWNlaXZlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbURp
c3BhdGNoZXIucHJvdG90eXBlLmRpcmVjdG9yeUNvbnRlbnRSZWNlaXZlZCk6CisKIDIwMTItMDYt
MTkgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbVjhdIEZp
eCBpc3N1ZSB3aGVyZSBhIGNhbGxiYWNrIGdvdCBhIG51bGwgY2FsbGluZyBjb250ZXh0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggN2E3ODBjODZhZmY4MGQ3NTg4
OTNhMGQxYWJkMTEyMTJiYmVjNGI0Yy4uZjkxZGEzMDBhNzFjOTQzMjk3YjYzZGM5ZGIwYWQ4ZmM3
NWE4ZTQyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5q
c29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtNjE3
LDcgKzYxNyw3IEBACiAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYWRkSW5zcGVjdGVkSGVhcE9i
amVjdCIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCiAgICAgICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAiaGVhcE9iamVjdElkIiwgInR5cGUiOiAiaW50ZWdlciIgfQotCQldCisg
ICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgfQogICAgICAgICBdLAogICAgICAgICAiZXZl
bnRzIjogWwpAQCAtMTQwNSw2ICsxNDA1LDExIEBACiAgICAgICAgICJoaWRkZW4iOiB0cnVlLAog
ICAgICAgICAidHlwZXMiOiBbCiAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgImlkIjog
IlJlcXVlc3RJZCIsCisgICAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIsCisgICAgICAg
ICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJlcXVlc3QgSWRlbnRpZmllciB0byBnbHVlIGEgcmVx
dWVzdCBhbmQgaXRzIGNvbXBsZXRpb24gZXZlbnQuIgorICAgICAgICAgICAgfSwKKyAgICAgICAg
ICAgIHsKICAgICAgICAgICAgICAgICAiaWQiOiAiRW50cnkiLAogICAgICAgICAgICAgICAgICJ0
eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiBbCkBAIC0xNDI3
LDQxICsxNDMyLDQ1IEBACiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVz
IGV2ZW50cyBmcm9tIGJhY2tlbmQuIgogICAgICAgICAgICAgfSwKICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAibmFtZSI6ICJnZXRGaWxlU3lzdGVtUm9vdCIsCisgICAgICAgICAgICAg
ICAgIm5hbWUiOiAicmVxdWVzdEZpbGVTeXN0ZW1Sb290IiwKICAgICAgICAgICAgICAgICAicGFy
YW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXF1ZXN0SWQiLCAi
dHlwZSI6ICJpbnRlZ2VyIiwgImRlc2NyaXB0aW9uIjogIlJlcXVlc3QgSWRlbnRpZmllciBvZiB0
aGUgY29tbWFuZC4gVGhlIGJhY2tlbmQgc2hvdWxkIHBhc3MgYmFjayB0aGlzIHZhbHVlIG9uIGNv
cnJlc3BvbmRpbmcgZ290RmlsZVN5c3RlbVJvb3QgZXZlbnQuIiB9LAogICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogIm9yaWdpbiIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6
ICJTZWN1cml0eSBvcmlnaW4gb2YgcmVxdWVzdGluZyBGaWxlU3lzdGVtLiBPbmUgb2YgZnJhbWVz
IGluIGN1cnJlbnQgcGFnZSBuZWVkcyB0byBoYXZlIHRoaXMgc2VjdXJpdHkgb3JpZ2luLiIgfSwK
ICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0eXBlIiwgInR5cGUiOiAic3RyaW5nIiwg
ImVudW0iOiBbInRlbXBvcmFyeSIsICJwZXJzaXN0ZW50Il0sICJkZXNjcmlwdGlvbiI6ICJGaWxl
U3lzdGVtIHR5cGUgb2YgcmVxdWVzdGluZyBGaWxlU3lzdGVtLiIgfQogICAgICAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJldHVybnMgcm9vdCBkaXJlY3Rv
cnkgb2YgdGhlIEZpbGVTeXN0ZW0gaWYgZXhpc3RzLiIKKyAgICAgICAgICAgICAgICAicmV0dXJu
cyI6IFsKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXF1ZXN0SWQiLCAiJHJlZiI6
ICJGaWxlU3lzdGVtLlJlcXVlc3RJZCIsICJkZXNjcmlwdGlvbiI6ICJSZXF1ZXN0IGlkZW50aWZp
ZXIuIENvcnJlc3BvbmRpbmcgZmlsZVN5c3RlbVJvb3RSZWNlaXZlZCBldmVudCBzaG91bGQgaGF2
ZSBzYW1lIHJlcXVlc3RJZCB3aXRoIHRoaXMuIiB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAg
ICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyByb290IGRpcmVjdG9yeSBvZiB0aGUg
RmlsZVN5c3RlbSBhcyBmaWxlU3lzdGVtUm9vdFJlY2VpdmVkIGV2ZW50LCBpZiBleGlzdHMuIgog
ICAgICAgICAgICAgfSwKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJy
ZWFkRGlyZWN0b3J5IiwKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJyZXF1ZXN0RGlyZWN0b3J5
Q29udGVudCIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAicmVxdWVzdElkIiwgInR5cGUiOiAiaW50ZWdlciIsICJkZXNjcmlw
dGlvbiI6ICJSZXF1ZXN0IElkZW50aWZpZXIgb2YgdGhlIGNvbW1hbmQuIFRoZSBiYWNrZW5kIHNo
b3VsZCBwYXNzIGJhY2sgdGhpcyB2YWx1ZSBvbiBjb3JyZXNwb25kaW5nIGRpZFJlYWREaXJlY3Rv
cnkgZXZlbnQuIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInVybCIsICJ0eXBl
IjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJVUkwgb2YgdGhlIGRpcmVjdG9yeSB0aGF0IHRo
ZSBmcm9udGVuZCBpcyByZXF1ZXN0aW5nIHRvIHJlYWQgZnJvbS4iIH0KICAgICAgICAgICAgICAg
ICBdLAotICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJSZXF1ZXN0cyB0byByZWFkIHRo
ZSBkaXJlY3RvcnkgY29udGVudC4gUmVzdWx0IHNob3VsZCByZXR1cm4gb24gZGlkUmVhZERpcmVj
dG9yeSBldmVudCB3aXRoIHJlcXVlc3QgaWQuIgorICAgICAgICAgICAgICAgICJyZXR1cm5zIjog
WworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlcXVlc3RJZCIsICIkcmVmIjogIkZp
bGVTeXN0ZW0uUmVxdWVzdElkIiwgImRlc2NyaXB0aW9uIjogIlJlcXVlc3QgaWRlbnRpZmllci4g
Q29ycmVzcG9uZGluZyBkaXJlY3RvcnlDb250ZW50UmVjZWl2ZWQgZXZlbnQgc2hvdWxkIGhhdmUg
c2FtZSByZXF1ZXN0SWQgd2l0aCB0aGlzLiIgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAg
ICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJldHVybnMgY29udGVudCBvZiB0aGUgZGlyZWN0b3J5
IGFzIGRpZFJlYWREaXJlY3RvcnkgZXZlbnQuIgogICAgICAgICAgICAgfQogICAgICAgICBdLAog
ICAgICAgICAiZXZlbnRzIjogWwogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1l
IjogImdvdEZpbGVTeXN0ZW1Sb290IiwKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJmaWxlU3lz
dGVtUm9vdFJlY2VpdmVkIiwKICAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXF1ZXN0SWQiLCAidHlwZSI6ICJpbnRlZ2VyIiwg
ImRlc2NyaXB0aW9uIjogIlJlcXVlc3QgSWRlbnRpZmllciB0aGF0IHdhcyBwYXNzZWQgdG8gY29y
cmVzcG9uZGluZyBnZXRGaWxlU3lzdGVtUm9vdCBjb21tYW5kLiIgfSwKKyAgICAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJyZXF1ZXN0SWQiLCAidHlwZSI6ICJpbnRlZ2VyIiwgImRlc2NyaXB0
aW9uIjogIlJlcXVlc3QgSWRlbnRpZmllciB0aGF0IHdhcyByZXR1cm5lZCBieSBjb3JyZXNwb25k
aW5nIHJlcXVlc3RGaWxlU3lzdGVtUm9vdCBjb21tYW5kLiIgfSwKICAgICAgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJlcnJvckNvZGUiLCAidHlwZSI6ICJpbnRlZ2VyIiwgImRlc2NyaXB0aW9u
IjogIjAsIGlmIG5vIGVycm9yLiBPdGhlcndpc2UsIGVycm9yQ29kZSBpcyBzZXQgdG8gRmlsZUVy
cm9yOjpFcnJvckNvZGUgdmFsdWUuIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
InJvb3QiLCAiJHJlZiI6ICJGaWxlU3lzdGVtLkVudHJ5IiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRl
c2NyaXB0aW9uIjogIkNvbnRhaW5zIHJvb3Qgb2YgdGhlIHJlcXVlc3RlZCBGaWxlU3lzdGVtIGlm
IHRoZSBjb21tYW5kIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuIiB9CiAgICAgICAgICAgICAgICAg
XSwKLSAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ29tcGxldGlvbiBldmVudCBvZiBn
ZXRGaWxlU3lzdGVtUm9vdCBjb21tYW5kLiIKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24i
OiAiQ29tcGxldGlvbiBldmVudCBvZiByZXF1ZXN0RmlsZVN5c3RlbVJvb3QgY29tbWFuZC4iCiAg
ICAgICAgICAgICB9LAogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogImRp
ZFJlYWREaXJlY3RvcnkiLAorICAgICAgICAgICAgICAgICJuYW1lIjogImRpcmVjdG9yeUNvbnRl
bnRSZWNlaXZlZCIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAicmVxdWVzdElkIiwgInR5cGUiOiAiaW50ZWdlciIsICJkZXNj
cmlwdGlvbiI6ICJSZXF1ZXN0IElkZW50aWZpZXIgdGhhdCB3YXMgcGFzc2VkIHRvIGNvcnJlc3Bv
bmRpbmcgcmVhZERpcmVjdG9yeSByZXF1ZXN0LiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJyZXF1ZXN0SWQiLCAidHlwZSI6ICJpbnRlZ2VyIiwgImRlc2NyaXB0aW9uIjogIlJl
cXVlc3QgSWRlbnRpZmllciB0aGF0IHdhcyByZXR1cm5lZCBieSBjb3JyZXNwb25kaW5nIHJlcXVl
c3REaXJlY3RvcnlDb250ZW50IGNvbW1hbmQuIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogImVycm9yQ29kZSIsICJ0eXBlIjogImludGVnZXIiLCAiZGVzY3JpcHRpb24iOiAiMCwg
aWYgbm8gZXJyb3IuIE90aGVyd2lzZSwgZXJyb3JDb2RlIGlzIHNldCB0byBGaWxlRXJyb3I6OkVy
cm9yQ29kZSB2YWx1ZS4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZW50cmll
cyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJGaWxlU3lzdGVtLkVudHJ5
IiB9LCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiQ29udGFpbnMgYWxsIGVudHJp
ZXMgb24gZGlyZWN0b3J5IGlmIHRoZSBjb21tYW5kIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuIiB9
CiAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ29t
cGxldGlvbiBldmVudCBvZiByZWFkRGlyZWN0b3J5IGNvbW1hbmQuIgorICAgICAgICAgICAgICAg
ICJkZXNjcmlwdGlvbiI6ICJDb21wbGV0aW9uIGV2ZW50IG9mIHJlcXVlc3REaXJlY3RvcnlDb250
ZW50IGNvbW1hbmQuIgogICAgICAgICAgICAgfQogICAgICAgICBdCiAgICAgfSwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAK
aW5kZXggODVlNDEwNWEzNDRiMjJkODliNDE0ZjI1YWE3MWE0YmY2YmRhOTAzNC4uZWQ4NmIyYmU5
YjZhZWE0Yjk5NjYyMTZkYTBlOWQ3MTZhODNjMTJmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAKQEAgLTExNiw3ICsx
MTYsNyBAQCBwcml2YXRlOgogICAgIHsKICAgICAgICAgaWYgKCFtX2Zyb250ZW5kUHJvdmlkZXIg
fHwgIW1fZnJvbnRlbmRQcm92aWRlci0+ZnJvbnRlbmQoKSkKICAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgbV9mcm9udGVuZFByb3ZpZGVyLT5mcm9udGVuZCgpLT5nb3RGaWxlU3lzdGVtUm9v
dChtX3JlcXVlc3RJZCwgc3RhdGljX2Nhc3Q8aW50PihlcnJvckNvZGUpLCBlbnRyeSk7CisgICAg
ICAgIG1fZnJvbnRlbmRQcm92aWRlci0+ZnJvbnRlbmQoKS0+ZmlsZVN5c3RlbVJvb3RSZWNlaXZl
ZChtX3JlcXVlc3RJZCwgc3RhdGljX2Nhc3Q8aW50PihlcnJvckNvZGUpLCBlbnRyeSk7CiAgICAg
ICAgIG1fZnJvbnRlbmRQcm92aWRlciA9IDA7CiAgICAgfQogCkBAIC0yMjIsNyArMjIyLDcgQEAg
cHJpdmF0ZToKICAgICB7CiAgICAgICAgIGlmICghbV9mcm9udGVuZFByb3ZpZGVyIHx8ICFtX2Zy
b250ZW5kUHJvdmlkZXItPmZyb250ZW5kKCkpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IG1fZnJvbnRlbmRQcm92aWRlci0+ZnJvbnRlbmQoKS0+ZGlkUmVhZERpcmVjdG9yeShtX3JlcXVl
c3RJZCwgc3RhdGljX2Nhc3Q8aW50PihlcnJvckNvZGUpLCBlbnRyaWVzKTsKKyAgICAgICAgbV9m
cm9udGVuZFByb3ZpZGVyLT5mcm9udGVuZCgpLT5kaXJlY3RvcnlDb250ZW50UmVjZWl2ZWQobV9y
ZXF1ZXN0SWQsIHN0YXRpY19jYXN0PGludD4oZXJyb3JDb2RlKSwgZW50cmllcyk7CiAgICAgICAg
IG1fZnJvbnRlbmRQcm92aWRlciA9IDA7CiAgICAgfQogCkBAIC00MDgsMjggKzQwOCwzMyBAQCB2
b2lkIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6ZGlzYWJsZShFcnJvclN0cmluZyopCiAgICAg
bV9zdGF0ZS0+c2V0Qm9vbGVhbihGaWxlU3lzdGVtQWdlbnRTdGF0ZTo6ZmlsZVN5c3RlbUFnZW50
RW5hYmxlZCwgbV9lbmFibGVkKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6
OmdldEZpbGVTeXN0ZW1Sb290KEVycm9yU3RyaW5nKiwgaW50IHJlcXVlc3RJZCwgY29uc3QgU3Ry
aW5nJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgdHlwZSkKK3ZvaWQgSW5zcGVjdG9yRmlsZVN5c3Rl
bUFnZW50OjpyZXF1ZXN0RmlsZVN5c3RlbVJvb3QoRXJyb3JTdHJpbmcqIGVycm9yLCBjb25zdCBT
dHJpbmcmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiB0eXBlLCBpbnQqIHJlcXVlc3RJZCkKIHsKKyAg
ICBBU1NFUlQocmVxdWVzdElkKTsKICAgICBpZiAoIW1fZW5hYmxlZCB8fCAhbV9mcm9udGVuZFBy
b3ZpZGVyKQogICAgICAgICByZXR1cm47CiAgICAgQVNTRVJUKG1fZnJvbnRlbmRQcm92aWRlci0+
ZnJvbnRlbmQoKSk7CiAKKyAgICAqcmVxdWVzdElkID0gbV9uZXh0UmVxdWVzdElkKys7CiAgICAg
aWYgKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgPSBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0Rm9yT3JpZ2luKFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVGcm9tU3Ry
aW5nKG9yaWdpbikuZ2V0KCkpKQotICAgICAgICBHZXRGaWxlU3lzdGVtUm9vdFRhc2s6OmNyZWF0
ZShtX2Zyb250ZW5kUHJvdmlkZXIsIHJlcXVlc3RJZCwgdHlwZSktPnN0YXJ0KHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQpOworICAgICAgICBHZXRGaWxlU3lzdGVtUm9vdFRhc2s6OmNyZWF0ZShtX2Zy
b250ZW5kUHJvdmlkZXIsICpyZXF1ZXN0SWQsIHR5cGUpLT5zdGFydChzY3JpcHRFeGVjdXRpb25D
b250ZXh0KTsKICAgICBlbHNlCi0gICAgICAgIG1fZnJvbnRlbmRQcm92aWRlci0+ZnJvbnRlbmQo
KS0+Z290RmlsZVN5c3RlbVJvb3QocmVxdWVzdElkLCBzdGF0aWNfY2FzdDxpbnQ+KEZpbGVFcnJv
cjo6QUJPUlRfRVJSKSwgMCk7CisgICAgICAgIG1fZnJvbnRlbmRQcm92aWRlci0+ZnJvbnRlbmQo
KS0+ZmlsZVN5c3RlbVJvb3RSZWNlaXZlZCgqcmVxdWVzdElkLCBzdGF0aWNfY2FzdDxpbnQ+KEZp
bGVFcnJvcjo6QUJPUlRfRVJSKSwgMCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFn
ZW50OjpyZWFkRGlyZWN0b3J5KEVycm9yU3RyaW5nKiwgaW50IHJlcXVlc3RJZCwgY29uc3QgU3Ry
aW5nJiB1cmwpCit2b2lkIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6cmVxdWVzdERpcmVjdG9y
eUNvbnRlbnQoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIHVybCwgaW50KiByZXF1ZXN0SWQp
CiB7CisgICAgQVNTRVJUKHJlcXVlc3RJZCk7CiAgICAgaWYgKCFtX2VuYWJsZWQgfHwgIW1fZnJv
bnRlbmRQcm92aWRlcikKICAgICAgICAgcmV0dXJuOwogICAgIEFTU0VSVChtX2Zyb250ZW5kUHJv
dmlkZXItPmZyb250ZW5kKCkpOwogCisgICAgKnJlcXVlc3RJZCA9IG1fbmV4dFJlcXVlc3RJZCsr
OworCiAgICAgaWYgKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0Rm9yT3JpZ2luKFNlY3VyaXR5T3JpZ2luOjpjcmVh
dGVGcm9tU3RyaW5nKHVybCkuZ2V0KCkpKQotICAgICAgICBSZWFkRGlyZWN0b3J5VGFzazo6Y3Jl
YXRlKG1fZnJvbnRlbmRQcm92aWRlciwgcmVxdWVzdElkLCB1cmwpLT5zdGFydChzY3JpcHRFeGVj
dXRpb25Db250ZXh0KTsKKyAgICAgICAgUmVhZERpcmVjdG9yeVRhc2s6OmNyZWF0ZShtX2Zyb250
ZW5kUHJvdmlkZXIsICpyZXF1ZXN0SWQsIHVybCktPnN0YXJ0KHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQpOwogICAgIGVsc2UKLSAgICAgICAgbV9mcm9udGVuZFByb3ZpZGVyLT5mcm9udGVuZCgpLT5k
aWRSZWFkRGlyZWN0b3J5KHJlcXVlc3RJZCwgc3RhdGljX2Nhc3Q8aW50PihGaWxlRXJyb3I6OkFC
T1JUX0VSUiksIDApOworICAgICAgICBtX2Zyb250ZW5kUHJvdmlkZXItPmZyb250ZW5kKCktPmRp
cmVjdG9yeUNvbnRlbnRSZWNlaXZlZCgqcmVxdWVzdElkLCBzdGF0aWNfY2FzdDxpbnQ+KEZpbGVF
cnJvcjo6QUJPUlRfRVJSKSwgMCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50
OjpzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQpCkBAIC00NTcsNiArNDYy
LDcgQEAgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQo
SW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWUKICAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJ
bnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ+KCJGaWxlU3lzdGVtIiwgaW5zdHJ1bWVudGluZ0FnZW50
cywgc3RhdGUpCiAgICAgLCBtX3BhZ2VBZ2VudChwYWdlQWdlbnQpCiAgICAgLCBtX2VuYWJsZWQo
ZmFsc2UpCisgICAgLCBtX25leHRSZXF1ZXN0SWQoMSkKIHsKICAgICBBU1NFUlQoaW5zdHJ1bWVu
dGluZ0FnZW50cyk7CiAgICAgQVNTRVJUKHN0YXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaAppbmRleCA3ZjQ0YWMwZTg2ZjMz
ZGNjNTFmYmVjMzJlMTc5MDRmMTIzNGQxN2QzLi41OWExNmU5MDdiMzMzOGU3NTMwZmE3YWY1YzE3
MGEyMjU0NmExZDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRmlsZVN5c3RlbUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZpbGVTeXN0ZW1BZ2VudC5oCkBAIC01OSw4ICs1OSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgZW5hYmxlKEVycm9yU3RyaW5nKikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lk
IGRpc2FibGUoRXJyb3JTdHJpbmcqKSBPVkVSUklERTsKIAotICAgIHZpcnR1YWwgdm9pZCBnZXRG
aWxlU3lzdGVtUm9vdChFcnJvclN0cmluZyosIGludCByZXF1ZXN0SWQsIGNvbnN0IFN0cmluZyYg
b3JpZ2luLCBjb25zdCBTdHJpbmcmIHR5cGUpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBy
ZWFkRGlyZWN0b3J5KEVycm9yU3RyaW5nKiwgaW50IHJlcXVlc3RJZCwgY29uc3QgU3RyaW5nJiB1
cmwpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0RmlsZVN5c3RlbVJvb3QoRXJy
b3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiB0eXBlLCBpbnQq
IHJlcXVlc3RJZCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3REaXJlY3RvcnlD
b250ZW50KEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiB1cmwsIGludCogcmVxdWVzdElkKSBP
VkVSUklERTsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVu
ZCopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhckZyb250ZW5kKCkgT1ZFUlJJREU7
CkBAIC03Myw2ICs3Myw3IEBAIHByaXZhdGU6CiAgICAgSW5zcGVjdG9yUGFnZUFnZW50KiBtX3Bh
Z2VBZ2VudDsKICAgICBSZWZQdHI8RnJvbnRlbmRQcm92aWRlcj4gbV9mcm9udGVuZFByb3ZpZGVy
OwogICAgIGJvb2wgbV9lbmFibGVkOworICAgIGludCBtX25leHRSZXF1ZXN0SWQ7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW1Nb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvRmlsZVN5c3RlbU1vZGVsLmpzCmluZGV4IGYyZWY2OWVjMmE2NWUwNThiNThj
ODkwNDc0ZGI0NzA1OWVmMmZlYjEuLjUxOGRiNzcwZTBlMmFhNGRlMzllNGUxYTRkMzZkMjAwNmU2
MGM5N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmls
ZVN5c3RlbU1vZGVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RmlsZVN5c3RlbU1vZGVsLmpzCkBAIC0xNDgsNyArMTQ4LDcgQEAgV2ViSW5zcGVjdG9yLkZpbGVT
eXN0ZW1Nb2RlbC5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgdmFyIHR5cGVzID0gWyJwZXJzaXN0
ZW50IiwgInRlbXBvcmFyeSJdOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHR5cGVzLmxl
bmd0aDsgKytpKQotICAgICAgICAgICAgdGhpcy5fYWdlbnRXcmFwcGVyLmdldEZpbGVTeXN0ZW1S
b290KG9yaWdpbiwgdHlwZXNbaV0sIHRoaXMuX2dvdEZpbGVTeXN0ZW0uYmluZCh0aGlzLCBvcmln
aW4sIHR5cGVzW2ldLCB0aGlzLl9maWxlU3lzdGVtc0Zvck9yaWdpbltvcmlnaW5dKSk7CisgICAg
ICAgICAgICB0aGlzLl9hZ2VudFdyYXBwZXIucmVxdWVzdEZpbGVTeXN0ZW1Sb290KG9yaWdpbiwg
dHlwZXNbaV0sIHRoaXMuX2ZpbGVTeXN0ZW1Sb290UmVjZWl2ZWQuYmluZCh0aGlzLCBvcmlnaW4s
IHR5cGVzW2ldLCB0aGlzLl9maWxlU3lzdGVtc0Zvck9yaWdpbltvcmlnaW5dKSk7CiAgICAgfSwK
IAogICAgIC8qKgpAQCAtMTk1LDcgKzE5NSw3IEBAIFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtTW9k
ZWwucHJvdG90eXBlID0gewogICAgICAqIEBwYXJhbSB7bnVtYmVyfSBlcnJvckNvZGUKICAgICAg
KiBAcGFyYW0ge0ZpbGVTeXN0ZW1BZ2VudC5FbnRyeT19IGJhY2tlbmRSb290RW50cnkKICAgICAg
Ki8KLSAgICBfZ290RmlsZVN5c3RlbTogZnVuY3Rpb24ob3JpZ2luLCB0eXBlLCBzdG9yZSwgZXJy
b3JDb2RlLCBiYWNrZW5kUm9vdEVudHJ5KQorICAgIF9maWxlU3lzdGVtUm9vdFJlY2VpdmVkOiBm
dW5jdGlvbihvcmlnaW4sIHR5cGUsIHN0b3JlLCBlcnJvckNvZGUsIGJhY2tlbmRSb290RW50cnkp
CiAgICAgewogICAgICAgICBpZiAoZXJyb3JDb2RlID09PSAwICYmIGJhY2tlbmRSb290RW50cnkg
JiYgdGhpcy5fZmlsZVN5c3RlbXNGb3JPcmlnaW5bb3JpZ2luXSA9PT0gc3RvcmUpIHsKICAgICAg
ICAgICAgIHZhciBmaWxlU3lzdGVtID0gbmV3IFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtTW9kZWwu
RmlsZVN5c3RlbSh0aGlzLCBvcmlnaW4sIHR5cGUsIGJhY2tlbmRSb290RW50cnkpOwpAQCAtMjM3
LDM0ICsyMzcsMjkgQEAgV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1Nb2RlbC5GaWxlU3lzdGVtLnBy
b3RvdHlwZSA9IHsKICAqLwogV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1SZXF1ZXN0TWFuYWdlciA9
IGZ1bmN0aW9uKCkKIHsKLSAgICB0aGlzLl9wZW5kaW5nR2V0RmlsZVN5c3RlbVJvb3RSZXF1ZXN0
cyA9IHt9OwotICAgIHRoaXMuX3BlbmRpbmdSZWFkRGlyZWN0b3J5UmVxdWVzdHMgPSB7fTsKKyAg
ICB0aGlzLl9wZW5kaW5nRmlsZVN5c3RlbVJvb3RSZXF1ZXN0cyA9IHt9OworICAgIHRoaXMuX3Bl
bmRpbmdEaXJlY3RvcnlDb250ZW50UmVxdWVzdHMgPSB7fTsKIAogICAgIEluc3BlY3RvckJhY2tl
bmQucmVnaXN0ZXJGaWxlU3lzdGVtRGlzcGF0Y2hlcihuZXcgV2ViSW5zcGVjdG9yLkZpbGVTeXN0
ZW1EaXNwYXRjaGVyKHRoaXMpKTsKICAgICBGaWxlU3lzdGVtQWdlbnQuZW5hYmxlKCk7CiB9CiAK
LVdlYkluc3BlY3Rvci5GaWxlU3lzdGVtUmVxdWVzdE1hbmFnZXIubmV4dFJlcXVlc3RJZCA9IDE7
Ci0KIFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtUmVxdWVzdE1hbmFnZXIucHJvdG90eXBlID0gewog
ICAgIC8qKgotICAgICAqIEByZXR1cm4ge251bWJlcn0KLSAgICAgKi8KLSAgICBfcmVxdWVzdElk
OiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLkZpbGVTeXN0
ZW1SZXF1ZXN0TWFuYWdlci5uZXh0UmVxdWVzdElkKys7Ci0gICAgfSwKLQotICAgIC8qKgogICAg
ICAqIEBwYXJhbSB7c3RyaW5nfSBvcmlnaW4KICAgICAgKiBAcGFyYW0ge3N0cmluZ30gdHlwZQog
ICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24obnVtYmVyLCBGaWxlU3lzdGVtQWdlbnQuRW50cnkpfSBj
YWxsYmFjawogICAgICAqLwotICAgIGdldEZpbGVTeXN0ZW1Sb290OiBmdW5jdGlvbihvcmlnaW4s
IHR5cGUsIGNhbGxiYWNrKQorICAgIHJlcXVlc3RGaWxlU3lzdGVtUm9vdDogZnVuY3Rpb24ob3Jp
Z2luLCB0eXBlLCBjYWxsYmFjaykKICAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0SWQgPSB0aGlz
Ll9yZXF1ZXN0SWQoKTsKLSAgICAgICAgdGhpcy5fcGVuZGluZ0dldEZpbGVTeXN0ZW1Sb290UmVx
dWVzdHNbcmVxdWVzdElkXSA9IGNhbGxiYWNrOwotICAgICAgICBGaWxlU3lzdGVtQWdlbnQuZ2V0
RmlsZVN5c3RlbVJvb3QocmVxdWVzdElkLCBvcmlnaW4sIHR5cGUpOworICAgICAgICB2YXIgc3Rv
cmUgPSB0aGlzLl9wZW5kaW5nRmlsZVN5c3RlbVJvb3RSZXF1ZXN0czsKKyAgICAgICAgRmlsZVN5
c3RlbUFnZW50LnJlcXVlc3RGaWxlU3lzdGVtUm9vdChvcmlnaW4sIHR5cGUsIHJlcXVlc3RBY2Nl
cHRlZCk7CisKKyAgICAgICAgZnVuY3Rpb24gcmVxdWVzdEFjY2VwdGVkKGVycm9yLCByZXF1ZXN0
SWQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghZXJyb3IpCisgICAgICAgICAgICAgICAg
c3RvcmVbcmVxdWVzdElkXSA9IGNhbGxiYWNrOworICAgICAgICB9CiAgICAgfSwKIAogICAgIC8q
KgpAQCAtMjcyLDEyICsyNjcsMTIgQEAgV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1SZXF1ZXN0TWFu
YWdlci5wcm90b3R5cGUgPSB7CiAgICAgICogQHBhcmFtIHtudW1iZXJ9IGVycm9yQ29kZQogICAg
ICAqIEBwYXJhbSB7RmlsZVN5c3RlbUFnZW50LkVudHJ5PX0gYmFja2VuZFJvb3RFbnRyeQogICAg
ICAqLwotICAgIF9nb3RGaWxlU3lzdGVtUm9vdDogZnVuY3Rpb24ocmVxdWVzdElkLCBlcnJvckNv
ZGUsIGJhY2tlbmRSb290RW50cnkpCisgICAgX2ZpbGVTeXN0ZW1Sb290UmVjZWl2ZWQ6IGZ1bmN0
aW9uKHJlcXVlc3RJZCwgZXJyb3JDb2RlLCBiYWNrZW5kUm9vdEVudHJ5KQogICAgIHsKLSAgICAg
ICAgdmFyIGNhbGxiYWNrID0gdGhpcy5fcGVuZGluZ0dldEZpbGVTeXN0ZW1Sb290UmVxdWVzdHNb
cmVxdWVzdElkXTsKKyAgICAgICAgdmFyIGNhbGxiYWNrID0gdGhpcy5fcGVuZGluZ0ZpbGVTeXN0
ZW1Sb290UmVxdWVzdHNbcmVxdWVzdElkXTsKICAgICAgICAgaWYgKCFjYWxsYmFjaykKICAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgZGVsZXRlIHRoaXMuX3BlbmRpbmdHZXRGaWxlU3lzdGVt
Um9vdFJlcXVlc3RzW3JlcXVlc3RJZF07CisgICAgICAgIGRlbGV0ZSB0aGlzLl9wZW5kaW5nRmls
ZVN5c3RlbVJvb3RSZXF1ZXN0c1tyZXF1ZXN0SWRdOwogICAgICAgICBjYWxsYmFjayhlcnJvckNv
ZGUsIGJhY2tlbmRSb290RW50cnkpOwogICAgIH0sCiAKQEAgLTI4NSwxMSArMjgwLDE2IEBAIFdl
Ykluc3BlY3Rvci5GaWxlU3lzdGVtUmVxdWVzdE1hbmFnZXIucHJvdG90eXBlID0gewogICAgICAq
IEBwYXJhbSB7c3RyaW5nfSB1cmwKICAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG51bWJlciwgQXJy
YXkuPEZpbGVTeXN0ZW1BZ2VudC5FbnRyeT49KX0gY2FsbGJhY2sKICAgICAgKi8KLSAgICByZWFk
RGlyZWN0b3J5OiBmdW5jdGlvbih1cmwsIGNhbGxiYWNrKQorICAgIHJlcXVlc3REaXJlY3RvcnlD
b250ZW50OiBmdW5jdGlvbih1cmwsIGNhbGxiYWNrKQogICAgIHsKLSAgICAgICAgdmFyIHJlcXVl
c3RJZCA9IHRoaXMucmVxdWVzdElkKCk7Ci0gICAgICAgIHRoaXMuX3BlbmRpbmdSZWFkRGlyZWN0
b3J5UmVxdWVzdHNbcmVxdWVzdElkXSA9IGNhbGxiYWNrOwotICAgICAgICBGaWxlU3lzdGVtQWdl
bnQucmVhZERpcmVjdG9yeShyZXF1ZXN0SWQsIHVybCk7CisgICAgICAgIHZhciBzdG9yZSA9IHRo
aXMuX3BlbmRpbmdEaXJlY3RvcnlDb250ZW50UmVxdWVzdHM7CisgICAgICAgIEZpbGVTeXN0ZW1B
Z2VudC5yZXF1ZXN0RGlyZWN0b3J5Q29udGVudCh1cmwsIHJlcXVlc3RBY2NlcHRlZCk7CisKKyAg
ICAgICAgZnVuY3Rpb24gcmVxdWVzdEFjY2VwdGVkKGVycm9yLCByZXF1ZXN0SWQpCisgICAgICAg
IHsKKyAgICAgICAgICAgIGlmICghZXJyb3IpCisgICAgICAgICAgICAgICAgc3RvcmVbcmVxdWVz
dElkXSA9IGNhbGxiYWNrOworICAgICAgICB9CiAgICAgfSwKIAogICAgIC8qKgpAQCAtMjk3LDEy
ICsyOTcsMTIgQEAgV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1SZXF1ZXN0TWFuYWdlci5wcm90b3R5
cGUgPSB7CiAgICAgICogQHBhcmFtIHtudW1iZXJ9IGVycm9yQ29kZQogICAgICAqIEBwYXJhbSB7
QXJyYXkuPEZpbGVTeXN0ZW1BZ2VudC5FbnRyeT49fSBiYWNrZW5kRW50cmllcwogICAgICAqLwot
ICAgIF9kaWRSZWFkRGlyZWN0b3J5OiBmdW5jdGlvbihyZXF1ZXN0SWQsIGVycm9yQ29kZSwgYmFj
a2VuZEVudHJpZXMpCisgICAgX2RpcmVjdG9yeUNvbnRlbnRSZWNlaXZlZDogZnVuY3Rpb24ocmVx
dWVzdElkLCBlcnJvckNvZGUsIGJhY2tlbmRFbnRyaWVzKQogICAgIHsKLSAgICAgICAgdmFyIGNh
bGxiYWNrID0gLyoqIEB0eXBlIHtmdW5jdGlvbihudW1iZXIsIEFycmF5LjxGaWxlU3lzdGVtQWdl
bnQuRW50cnk+PSl9ICovIHRoaXMuX3BlbmRpbmdSZWFkRGlyZWN0b3J5UmVxdWVzdHNbcmVxdWVz
dElkXTsKKyAgICAgICAgdmFyIGNhbGxiYWNrID0gLyoqIEB0eXBlIHtmdW5jdGlvbihudW1iZXIs
IEFycmF5LjxGaWxlU3lzdGVtQWdlbnQuRW50cnk+PSl9ICovIHRoaXMuX3BlbmRpbmdEaXJlY3Rv
cnlDb250ZW50UmVxdWVzdHNbcmVxdWVzdElkXTsKICAgICAgICAgaWYgKCFjYWxsYmFjaykKICAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgZGVsZXRlIHRoaXMuX3BlbmRpbmdSZWFkRGlyZWN0
b3J5UmVxdWVzdHNbcmVxdWVzdElkXTsKKyAgICAgICAgZGVsZXRlIHRoaXMuX3BlbmRpbmdEaXJl
Y3RvcnlDb250ZW50UmVxdWVzdHNbcmVxdWVzdElkXTsKICAgICAgICAgY2FsbGJhY2soZXJyb3JD
b2RlLCBiYWNrZW5kRW50cmllcyk7CiAgICAgfQogfQpAQCAtMzIzLDkgKzMyMyw5IEBAIFdlYklu
c3BlY3Rvci5GaWxlU3lzdGVtRGlzcGF0Y2hlci5wcm90b3R5cGUgPSB7CiAgICAgICogQHBhcmFt
IHtudW1iZXJ9IGVycm9yQ29kZQogICAgICAqIEBwYXJhbSB7RmlsZVN5c3RlbUFnZW50LkVudHJ5
PX0gYmFja2VuZFJvb3RFbnRyeQogICAgICAqLwotICAgIGdvdEZpbGVTeXN0ZW1Sb290OiBmdW5j
dGlvbihyZXF1ZXN0SWQsIGVycm9yQ29kZSwgYmFja2VuZFJvb3RFbnRyeSkKKyAgICBmaWxlU3lz
dGVtUm9vdFJlY2VpdmVkOiBmdW5jdGlvbihyZXF1ZXN0SWQsIGVycm9yQ29kZSwgYmFja2VuZFJv
b3RFbnRyeSkKICAgICB7Ci0gICAgICAgIHRoaXMuX2FnZW50V3JhcHBlci5fZ290RmlsZVN5c3Rl
bVJvb3QocmVxdWVzdElkLCBlcnJvckNvZGUsIGJhY2tlbmRSb290RW50cnkpOworICAgICAgICB0
aGlzLl9hZ2VudFdyYXBwZXIuX2ZpbGVTeXN0ZW1Sb290UmVjZWl2ZWQocmVxdWVzdElkLCBlcnJv
ckNvZGUsIGJhY2tlbmRSb290RW50cnkpOwogICAgIH0sCiAKICAgICAvKioKQEAgLTMzMyw4ICsz
MzMsOCBAQCBXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbURpc3BhdGNoZXIucHJvdG90eXBlID0gewog
ICAgICAqIEBwYXJhbSB7bnVtYmVyfSBlcnJvckNvZGUKICAgICAgKiBAcGFyYW0ge0FycmF5LjxG
aWxlU3lzdGVtQWdlbnQuRW50cnk+PX0gYmFja2VuZEVudHJpZXMKICAgICAgKi8KLSAgICBkaWRS
ZWFkRGlyZWN0b3J5OiBmdW5jdGlvbihyZXF1ZXN0SWQsIGVycm9yQ29kZSwgYmFja2VuZEVudHJp
ZXMpCisgICAgZGlyZWN0b3J5Q29udGVudFJlY2VpdmVkOiBmdW5jdGlvbihyZXF1ZXN0SWQsIGVy
cm9yQ29kZSwgYmFja2VuZEVudHJpZXMpCiAgICAgewotICAgICAgICB0aGlzLl9hZ2VudFdyYXBw
ZXIuX2RpZFJlYWREaXJlY3RvcnkocmVxdWVzdElkLCBlcnJvckNvZGUsIGJhY2tlbmRFbnRyaWVz
KTsKKyAgICAgICAgdGhpcy5fYWdlbnRXcmFwcGVyLl9kaXJlY3RvcnlDb250ZW50UmVjZWl2ZWQo
cmVxdWVzdElkLCBlcnJvckNvZGUsIGJhY2tlbmRFbnRyaWVzKTsKICAgICB9CiB9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
ZDk5NDQzZDI5NDIwODYxNGJlZjIzZjIxYzgwOTkzMzM4NzMwOWJiNC4uZTg0M2I5NmIyODZiYTJm
NTlmNjE2YjY2NjFiMGI2ZmQ5MTgwNGYyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA2
LTIwICBUYWlqdSBUc3Vpa2kgIDx0emlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBNb3ZlIHJlcXVlc3RJZCBhbGxvY2F0aW9uIGZyb20gRmlsZVN5c3RlbSBmcm9udGVu
ZCB0byBiYWNrZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04OTU1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9maWxlc3lzdGVtLXRlc3QuanM6
CisgICAgICAgIChpbml0aWFsaXplX0ZpbGVTeXN0ZW1UZXN0Lkluc3BlY3RvclRlc3QuZHVtcFJl
YWREaXJlY3RvcnlSZXN1bHQpOgorICAgICAgICAoaW5pdGlhbGl6ZV9GaWxlU3lzdGVtVGVzdCk6
CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9nZXQtZmlsZXN5c3Rl
bS1yb290Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9y
ZWFkLWRpcmVjdG9yeS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0
b3IvZmlsZXN5c3RlbS9yZWFkLWRpcmVjdG9yeS5odG1sOgorCiAyMDEyLTA2LTE5ICBKb24gSG9u
ZXljdXR0ICA8amhvbmV5Y3V0dEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHRoZSBmYWls
aW5nIGV4cGVjdGVkIHJlc3VsdHMgYWRkZWQgaW4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vZmlsZXN5c3RlbS10ZXN0LmpzIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9maWxlc3lzdGVtLXRlc3QuanMK
aW5kZXggMzA4NjNkN2Y1NDFjNTg5ZDg0NTRlYWNmZWQwZTdiODJlZWZhMDY2YS4uZThhM2UyZTc2
ZGYyNTY2YWMyNDUxMjM2OGMwZTA3ODVhNDdkZjVhOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9maWxlc3lzdGVtLXRlc3QuanMKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9maWxlc3lzdGVtLXRl
c3QuanMKQEAgLTM0LDkgKzM0LDggQEAgdmFyIGluaXRpYWxpemVfRmlsZVN5c3RlbVRlc3QgPSBm
dW5jdGlvbigpCiAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImNsZWFyRmls
ZVN5c3RlbSgiICsgSW5zcGVjdG9yVGVzdC5yZWdpc3RlckNhbGxiYWNrKGNhbGxiYWNrKSArICIp
Iik7CiAgICAgfTsKIAotICAgIEluc3BlY3RvclRlc3QuZHVtcFJlYWREaXJlY3RvcnlSZXN1bHQg
PSBmdW5jdGlvbihyZXF1ZXN0SWQsIGVycm9yQ29kZSwgZW50cmllcykKKyAgICBJbnNwZWN0b3JU
ZXN0LmR1bXBSZWFkRGlyZWN0b3J5UmVzdWx0ID0gZnVuY3Rpb24oZXJyb3JDb2RlLCBlbnRyaWVz
KQogICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoInJlcXVlc3RJZDogIiAr
IHJlcXVlc3RJZCk7CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJlcnJvckNvZGU6
ICIgKyBlcnJvckNvZGUpOwogCiAgICAgICAgIGlmICghZW50cmllcykgewpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9nZXQtZmlsZXN5c3Rl
bS1yb290Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVt
L2dldC1maWxlc3lzdGVtLXJvb3QuaHRtbAppbmRleCBjM2E4NzQxNjk2MGJkMTdlNDcwZWQ1ZTE2
YTk3MmUzZTBkNjc5MjQ1Li5jNDJiY2Q2MGE2MjVhMTdlN2RlNTkwNzNkMzhlNDQxN2FhZWEyMmQx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVt
L2dldC1maWxlc3lzdGVtLXJvb3QuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9maWxlc3lzdGVtL2dldC1maWxlc3lzdGVtLXJvb3QuaHRtbApAQCAtNSw3ICs1LDcg
QEAKIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCBydW5UZXN0
KTsKIGZ1bmN0aW9uIHRlc3QoKQogewotICAgIHZhciBmaWxlU3lzdGVtUmVxdWVzdE1hbmFnZXIg
PSBuZXcgV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1SZXF1ZXN0TWFuYWdlcigpOworICAgIHZhciBy
ZXF1ZXN0TWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbVJlcXVlc3RNYW5hZ2Vy
KCk7CiAKICAgICBJbnNwZWN0b3JUZXN0LmNsZWFyRmlsZVN5c3RlbShzdGVwMSk7CiAKQEAgLTE4
LDcgKzE4LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAKICAgICBmdW5jdGlvbiBzdGVwMigpCiAgICAg
ewotICAgICAgICBmaWxlU3lzdGVtUmVxdWVzdE1hbmFnZXIuZ2V0RmlsZVN5c3RlbVJvb3QoImh0
dHA6Ly8xMjcuMC4wLjE6ODAwMCIsICJ0ZW1wb3JhcnkiLCBzdGVwMyk7CisgICAgICAgIHJlcXVl
c3RNYW5hZ2VyLnJlcXVlc3RGaWxlU3lzdGVtUm9vdCgiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiwg
InRlbXBvcmFyeSIsIHN0ZXAzKTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBzdGVwMyhlcnJvckNv
ZGUsIGJhY2tlbmRSb290RW50cnkpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9maWxlc3lzdGVtL3JlYWQtZGlyZWN0b3J5LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vcmVhZC1kaXJlY3RvcnktZXhw
ZWN0ZWQudHh0CmluZGV4IDM4NWEwYTMxMDgwNGQzNzg5MWI4MTE2OTk0ZjMzYzk3YTUyNTY3ZmYu
LjBhMGM3MzU5Mjg0NTI5OGViOTY4OWUzZDRmNWUxY2IxNmYzYTlhYzEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vcmVhZC1kaXJlY3Rvcnkt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVz
eXN0ZW0vcmVhZC1kaXJlY3RvcnktZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNSBAQAogVGVzdHMg
cmVhZERpcmVjdG9yeS4KIAotcmVxdWVzdElkOiAxCiBlcnJvckNvZGU6IDAKIGVudHJpZXM6CiAg
IDA6CkBAIC0xMyw3ICsxMiw2IEBAIGVudHJpZXM6CiAgICAgdXJsOiBmaWxlc3lzdGVtOmh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC90ZW1wb3JhcnkvaG9nZS9mdWdhCiAgICAgbmFtZTogZnVnYQogICAg
IGlzRGlyZWN0b3J5OiB0cnVlCi1yZXF1ZXN0SWQ6IDEKIGVycm9yQ29kZTogMQogZW50cmllczog
KG51bGwpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2Zp
bGVzeXN0ZW0vcmVhZC1kaXJlY3RvcnkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2ZpbGVzeXN0ZW0vcmVhZC1kaXJlY3RvcnkuaHRtbAppbmRleCA5NWYwOWYwODljYzI1
MjE5MzNlYjUyNDQ1NDBiZGZhOTI5NzEwOGI4Li42NGFiZmZlOGFjYjQ5MjZjYWI1YmZkNDRlMjhk
YmIzY2JmYTQyMzlkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9maWxlc3lzdGVtL3JlYWQtZGlyZWN0b3J5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9yZWFkLWRpcmVjdG9yeS5odG1sCkBAIC01LDE2ICs1
LDcgQEAKIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCBydW5U
ZXN0KTsKIGZ1bmN0aW9uIHRlc3QoKQogewotICAgIC8vIEZJWE1FOiBSZXBsYWNlIEZpbGVTeXN0
ZW1EaXNwYXRjaGVyIHdpdGggRmlsZVN5c3RlbURpc3BhdGNoZXIgaW1wbGVtZW50YXRpb24gYWZ0
ZXIgaXQgbGFuZGVkLgotICAgIGZ1bmN0aW9uIEZpbGVTeXN0ZW1EaXNwYXRjaGVyKCkge30KLSAg
ICBGaWxlU3lzdGVtRGlzcGF0Y2hlci5wcm90b3R5cGUgPSB7Ci0gICAgICAgIGRpZFJlYWREaXJl
Y3Rvcnk6IGZ1bmN0aW9uKHJlcXVlc3RJZCwgZXJyb3JDb2RlLCBlbnRyaWVzKQotICAgICAgICB7
Ci0gICAgICAgIH0KLSAgICB9OwotCi0gICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckZpbGVT
eXN0ZW1EaXNwYXRjaGVyKG5ldyBGaWxlU3lzdGVtRGlzcGF0Y2hlcigpKTsKLSAgICBGaWxlU3lz
dGVtQWdlbnQuZW5hYmxlKCk7CisgICAgdmFyIHJlcXVlc3RNYW5hZ2VyID0gbmV3IFdlYkluc3Bl
Y3Rvci5GaWxlU3lzdGVtUmVxdWVzdE1hbmFnZXIoKTsKIAogICAgIEluc3BlY3RvclRlc3QuY2xl
YXJGaWxlU3lzdGVtKHN0ZXAxKTsKIApAQCAtMzUsMjIgKzI2LDE3IEBAIGZ1bmN0aW9uIHRlc3Qo
KQogCiAgICAgZnVuY3Rpb24gc3RlcDQoKQogICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRTbmlmZmVyKEZpbGVTeXN0ZW1EaXNwYXRjaGVyLnByb3RvdHlwZSwgImRpZFJlYWREaXJlY3Rv
cnkiLCBzdGVwNSwgZmFsc2UpOwotICAgICAgICAvLyBGSVhNRTogQ2FsbCBGaWxlU3lzdGVtRGlz
cGF0Y2hlciB0aHJvdWdoIEZpbGVTeXN0ZW1EaXNwYXRjaGVyIGltcGxlbWVudGF0aW9uIGFmdGVy
IGl0IGxhbmRlZC4KLSAgICAgICAgRmlsZVN5c3RlbUFnZW50LnJlYWREaXJlY3RvcnkoMSwgImZp
bGVzeXN0ZW06aHR0cDovLzEyNy4wLjAuMTo4MDAwL3RlbXBvcmFyeS9ob2dlIik7CisgICAgICAg
IHJlcXVlc3RNYW5hZ2VyLnJlcXVlc3REaXJlY3RvcnlDb250ZW50KCJmaWxlc3lzdGVtOmh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC90ZW1wb3JhcnkvaG9nZSIsIHN0ZXA1KTsKICAgICB9CiAKLSAgICBm
dW5jdGlvbiBzdGVwNShyZXF1ZXN0SWQsIGVycm9yQ29kZSwgZW50cmllcykKKyAgICBmdW5jdGlv
biBzdGVwNShlcnJvckNvZGUsIGVudHJpZXMpCiAgICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0
LmR1bXBSZWFkRGlyZWN0b3J5UmVzdWx0KHJlcXVlc3RJZCwgZXJyb3JDb2RlLCBlbnRyaWVzKTsK
LQotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoRmlsZVN5c3RlbURpc3BhdGNoZXIu
cHJvdG90eXBlLCAiZGlkUmVhZERpcmVjdG9yeSIsIHN0ZXA2LCBmYWxzZSk7Ci0gICAgICAgIC8v
IEZJWE1FOiBDYWxsIEZpbGVTeXN0ZW1EaXNwYXRjaGVyIHRocm91Z2ggRmlsZVN5c3RlbURpc3Bh
dGNoZXIgaW1wbGVtZW50YXRpb24gYWZ0ZXIgaXQgbGFuZGVkLgotICAgICAgICBGaWxlU3lzdGVt
QWdlbnQucmVhZERpcmVjdG9yeSgxLCAiZmlsZXN5c3RlbTpodHRwOi8vMTI3LjAuMC4xOjgwMDAv
dGVtcG9yYXJ5L2ZvbyIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBSZWFkRGlyZWN0b3J5
UmVzdWx0KGVycm9yQ29kZSwgZW50cmllcyk7CisgICAgICAgIHJlcXVlc3RNYW5hZ2VyLnJlcXVl
c3REaXJlY3RvcnlDb250ZW50KCJmaWxlc3lzdGVtOmh0dHA6Ly8xMjcuMC4wLjE6ODAwMC90ZW1w
b3JhcnkvZm9vIiwgc3RlcDYpOwogICAgIH0KIAotICAgIGZ1bmN0aW9uIHN0ZXA2KHJlcXVlc3RJ
ZCwgZXJyb3JDb2RlLCBlbnRyaWVzKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFJlYWRE
aXJlY3RvcnlSZXN1bHQocmVxdWVzdElkLCBlcnJvckNvZGUsIGVudHJpZXMpOworICAgIGZ1bmN0
aW9uIHN0ZXA2KGVycm9yQ29kZSwgZW50cmllcykgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1
bXBSZWFkRGlyZWN0b3J5UmVzdWx0KGVycm9yQ29kZSwgZW50cmllcyk7CiAKICAgICAgICAgSW5z
cGVjdG9yVGVzdC5jbGVhckZpbGVTeXN0ZW0oc3RlcDcpOwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148709</attachid>
            <date>2012-06-20 19:06:08 -0700</date>
            <delta_ts>2012-06-21 00:24:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89555-20120621110608.patch</filename>
            <type>text/plain</type>
            <size>24416</size>
            <attacher name="Taiju Tsuiki">tzik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwODk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2ZlOWVhYTQ5NTFjYzgx
NmI5ZTI2Yjk5ZWIxMDliZWM2ZjA1MDRhNi4uMjM4ZDJlNmI5NmZkOTVjZDA0ODBkMWFlYmE2ZWE4
ZGMzODExYmRlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA2LTIwICBUYWlq
dSBUc3Vpa2kgIDx0emlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBN
b3ZlIHJlcXVlc3RJZCBhbGxvY2F0aW9uIGZyb20gRmlsZVN5c3RlbSBmcm9udGVuZCB0byBiYWNr
ZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTU1
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6
IGh0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vZ2V0LWZpbGVzeXN0ZW0tcm9vdC5odG1s
OgorICAgICAgICAgICAgICBodHRwL3Rlc3RzL2luc3BlY3Rvci9maWxlc3lzdGVtL3JlYWQtZGly
ZWN0b3J5Lmh0bWw6CisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6cmVx
dWVzdEZpbGVTeXN0ZW1Sb290KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZpbGVTeXN0
ZW1BZ2VudDo6cmVxdWVzdERpcmVjdG9yeUNvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yRmlsZVN5c3RlbUFnZW50OjpJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQpOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaDoKKyAgICAgICAgKEluc3Bl
Y3RvckZpbGVTeXN0ZW1BZ2VudCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxl
U3lzdGVtTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbU1vZGVsLnBy
b3RvdHlwZS5fb3JpZ2luQWRkZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1N
b2RlbC5wcm90b3R5cGUuX2ZpbGVTeXN0ZW1Sb290UmVjZWl2ZWQpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkZpbGVTeXN0ZW1SZXF1ZXN0TWFuYWdlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RmlsZVN5c3RlbVJlcXVlc3RNYW5hZ2VyLnByb3RvdHlwZS5yZXF1ZXN0RmlsZVN5c3RlbVJvb3Qu
cmVxdWVzdEFjY2VwdGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtUmVxdWVz
dE1hbmFnZXIucHJvdG90eXBlLnJlcXVlc3RGaWxlU3lzdGVtUm9vdCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuRmlsZVN5c3RlbVJlcXVlc3RNYW5hZ2VyLnByb3RvdHlwZS5fZmlsZVN5c3RlbVJv
b3RSZWNlaXZlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbVJlcXVlc3RNYW5h
Z2VyLnByb3RvdHlwZS5yZXF1ZXN0RGlyZWN0b3J5Q29udGVudC5yZXF1ZXN0QWNjZXB0ZWQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1SZXF1ZXN0TWFuYWdlci5wcm90b3R5cGUu
cmVxdWVzdERpcmVjdG9yeUNvbnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVTeXN0
ZW1SZXF1ZXN0TWFuYWdlci5wcm90b3R5cGUuX2RpcmVjdG9yeUNvbnRlbnRSZWNlaXZlZCk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbURpc3BhdGNoZXIucHJvdG90eXBlLmZpbGVT
eXN0ZW1Sb290UmVjZWl2ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1EaXNw
YXRjaGVyLnByb3RvdHlwZS5kaXJlY3RvcnlDb250ZW50UmVjZWl2ZWQpOgorCiAyMDEyLTA2LTIw
ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbU2hhZG93XVtF
ZGl0aW5nXSBEZWxldGluZyBjaGFyYWN0ZXIgaW4gZGlzdHJpYnV0ZWQgZWxlbWVudCBjYXVzZWQg
YSBjcmFzaC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3Iu
anNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCA3YTc4
MGM4NmFmZjgwZDc1ODg5M2EwZDFhYmQxMTIxMmJiZWM0YjRjLi40MmQzYmUwMmIzNDM1MGY5MTUw
NTY1ZDY0MzVkZDAwNDI4YzRmY2FiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ci5qc29uCkBAIC02MTcsNyArNjE3LDcgQEAKICAgICAgICAgICAgICAgICAibmFtZSI6ICJhZGRJ
bnNwZWN0ZWRIZWFwT2JqZWN0IiwKICAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKICAg
ICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJoZWFwT2JqZWN0SWQiLCAidHlwZSI6ICJpbnRl
Z2VyIiB9Ci0JCV0KKyAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9CiAgICAgICAgIF0s
CiAgICAgICAgICJldmVudHMiOiBbCkBAIC0xNDA1LDYgKzE0MDUsMTEgQEAKICAgICAgICAgImhp
ZGRlbiI6IHRydWUsCiAgICAgICAgICJ0eXBlcyI6IFsKICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAiaWQiOiAiUmVxdWVzdElkIiwKKyAgICAgICAgICAgICAgICAidHlwZSI6ICJpbnRl
Z2VyIiwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmVxdWVzdCBJZGVudGlmaWVy
IHRvIGdsdWUgYSByZXF1ZXN0IGFuZCBpdHMgY29tcGxldGlvbiBldmVudC4iCisgICAgICAgICAg
ICB9LAorICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICJpZCI6ICJFbnRyeSIsCiAgICAg
ICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICAgICAicHJvcGVydGll
cyI6IFsKQEAgLTE0MjcsNDEgKzE0MzIsNDUgQEAKICAgICAgICAgICAgICAgICAiZGVzY3JpcHRp
b24iOiAiRGlzYWJsZXMgZXZlbnRzIGZyb20gYmFja2VuZC4iCiAgICAgICAgICAgICB9LAogICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogImdldEZpbGVTeXN0ZW1Sb290IiwK
KyAgICAgICAgICAgICAgICAibmFtZSI6ICJyZXF1ZXN0RmlsZVN5c3RlbVJvb3QiLAogICAgICAg
ICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
InJlcXVlc3RJZCIsICJ0eXBlIjogImludGVnZXIiLCAiZGVzY3JpcHRpb24iOiAiUmVxdWVzdCBJ
ZGVudGlmaWVyIG9mIHRoZSBjb21tYW5kLiBUaGUgYmFja2VuZCBzaG91bGQgcGFzcyBiYWNrIHRo
aXMgdmFsdWUgb24gY29ycmVzcG9uZGluZyBnb3RGaWxlU3lzdGVtUm9vdCBldmVudC4iIH0sCiAg
ICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAib3JpZ2luIiwgInR5cGUiOiAic3RyaW5nIiwg
ImRlc2NyaXB0aW9uIjogIlNlY3VyaXR5IG9yaWdpbiBvZiByZXF1ZXN0aW5nIEZpbGVTeXN0ZW0u
IE9uZSBvZiBmcmFtZXMgaW4gY3VycmVudCBwYWdlIG5lZWRzIHRvIGhhdmUgdGhpcyBzZWN1cml0
eSBvcmlnaW4uIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInR5cGUiLCAidHlw
ZSI6ICJzdHJpbmciLCAiZW51bSI6IFsidGVtcG9yYXJ5IiwgInBlcnNpc3RlbnQiXSwgImRlc2Ny
aXB0aW9uIjogIkZpbGVTeXN0ZW0gdHlwZSBvZiByZXF1ZXN0aW5nIEZpbGVTeXN0ZW0uIiB9CiAg
ICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmV0dXJu
cyByb290IGRpcmVjdG9yeSBvZiB0aGUgRmlsZVN5c3RlbSBpZiBleGlzdHMuIgorICAgICAgICAg
ICAgICAgICJyZXR1cm5zIjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlcXVl
c3RJZCIsICIkcmVmIjogIlJlcXVlc3RJZCIsICJkZXNjcmlwdGlvbiI6ICJSZXF1ZXN0IGlkZW50
aWZpZXIuIENvcnJlc3BvbmRpbmcgZmlsZVN5c3RlbVJvb3RSZWNlaXZlZCBldmVudCBzaG91bGQg
aGF2ZSBzYW1lIHJlcXVlc3RJZCB3aXRoIHRoaXMuIiB9CisgICAgICAgICAgICAgICAgXSwKKyAg
ICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyByb290IGRpcmVjdG9yeSBvZiB0
aGUgRmlsZVN5c3RlbSBhcyBmaWxlU3lzdGVtUm9vdFJlY2VpdmVkIGV2ZW50LCBpZiBleGlzdHMu
IgogICAgICAgICAgICAgfSwKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJyZWFkRGlyZWN0b3J5IiwKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJyZXF1ZXN0RGlyZWN0
b3J5Q29udGVudCIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAicmVxdWVzdElkIiwgInR5cGUiOiAiaW50ZWdlciIsICJkZXNj
cmlwdGlvbiI6ICJSZXF1ZXN0IElkZW50aWZpZXIgb2YgdGhlIGNvbW1hbmQuIFRoZSBiYWNrZW5k
IHNob3VsZCBwYXNzIGJhY2sgdGhpcyB2YWx1ZSBvbiBjb3JyZXNwb25kaW5nIGRpZFJlYWREaXJl
Y3RvcnkgZXZlbnQuIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInVybCIsICJ0
eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJVUkwgb2YgdGhlIGRpcmVjdG9yeSB0aGF0
IHRoZSBmcm9udGVuZCBpcyByZXF1ZXN0aW5nIHRvIHJlYWQgZnJvbS4iIH0KICAgICAgICAgICAg
ICAgICBdLAotICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJSZXF1ZXN0cyB0byByZWFk
IHRoZSBkaXJlY3RvcnkgY29udGVudC4gUmVzdWx0IHNob3VsZCByZXR1cm4gb24gZGlkUmVhZERp
cmVjdG9yeSBldmVudCB3aXRoIHJlcXVlc3QgaWQuIgorICAgICAgICAgICAgICAgICJyZXR1cm5z
IjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlcXVlc3RJZCIsICIkcmVmIjog
IlJlcXVlc3RJZCIsICJkZXNjcmlwdGlvbiI6ICJSZXF1ZXN0IGlkZW50aWZpZXIuIENvcnJlc3Bv
bmRpbmcgZGlyZWN0b3J5Q29udGVudFJlY2VpdmVkIGV2ZW50IHNob3VsZCBoYXZlIHNhbWUgcmVx
dWVzdElkIHdpdGggdGhpcy4iIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAg
ICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIGNvbnRlbnQgb2YgdGhlIGRpcmVjdG9yeSBhcyBkaXJl
Y3RvcnlDb250ZW50UmVjZWl2ZWQgZXZlbnQuIgogICAgICAgICAgICAgfQogICAgICAgICBdLAog
ICAgICAgICAiZXZlbnRzIjogWwogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1l
IjogImdvdEZpbGVTeXN0ZW1Sb290IiwKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJmaWxlU3lz
dGVtUm9vdFJlY2VpdmVkIiwKICAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXF1ZXN0SWQiLCAidHlwZSI6ICJpbnRlZ2VyIiwg
ImRlc2NyaXB0aW9uIjogIlJlcXVlc3QgSWRlbnRpZmllciB0aGF0IHdhcyBwYXNzZWQgdG8gY29y
cmVzcG9uZGluZyBnZXRGaWxlU3lzdGVtUm9vdCBjb21tYW5kLiIgfSwKKyAgICAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJyZXF1ZXN0SWQiLCAidHlwZSI6ICJpbnRlZ2VyIiwgImRlc2NyaXB0
aW9uIjogIlJlcXVlc3QgSWRlbnRpZmllciB0aGF0IHdhcyByZXR1cm5lZCBieSBjb3JyZXNwb25k
aW5nIHJlcXVlc3RGaWxlU3lzdGVtUm9vdCBjb21tYW5kLiIgfSwKICAgICAgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJlcnJvckNvZGUiLCAidHlwZSI6ICJpbnRlZ2VyIiwgImRlc2NyaXB0aW9u
IjogIjAsIGlmIG5vIGVycm9yLiBPdGhlcndpc2UsIGVycm9yQ29kZSBpcyBzZXQgdG8gRmlsZUVy
cm9yOjpFcnJvckNvZGUgdmFsdWUuIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
InJvb3QiLCAiJHJlZiI6ICJGaWxlU3lzdGVtLkVudHJ5IiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRl
c2NyaXB0aW9uIjogIkNvbnRhaW5zIHJvb3Qgb2YgdGhlIHJlcXVlc3RlZCBGaWxlU3lzdGVtIGlm
IHRoZSBjb21tYW5kIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuIiB9CiAgICAgICAgICAgICAgICAg
XSwKLSAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ29tcGxldGlvbiBldmVudCBvZiBn
ZXRGaWxlU3lzdGVtUm9vdCBjb21tYW5kLiIKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24i
OiAiQ29tcGxldGlvbiBldmVudCBvZiByZXF1ZXN0RmlsZVN5c3RlbVJvb3QgY29tbWFuZC4iCiAg
ICAgICAgICAgICB9LAogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogImRp
ZFJlYWREaXJlY3RvcnkiLAorICAgICAgICAgICAgICAgICJuYW1lIjogImRpcmVjdG9yeUNvbnRl
bnRSZWNlaXZlZCIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAicmVxdWVzdElkIiwgInR5cGUiOiAiaW50ZWdlciIsICJkZXNj
cmlwdGlvbiI6ICJSZXF1ZXN0IElkZW50aWZpZXIgdGhhdCB3YXMgcGFzc2VkIHRvIGNvcnJlc3Bv
bmRpbmcgcmVhZERpcmVjdG9yeSByZXF1ZXN0LiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJyZXF1ZXN0SWQiLCAidHlwZSI6ICJpbnRlZ2VyIiwgImRlc2NyaXB0aW9uIjogIlJl
cXVlc3QgSWRlbnRpZmllciB0aGF0IHdhcyByZXR1cm5lZCBieSBjb3JyZXNwb25kaW5nIHJlcXVl
c3REaXJlY3RvcnlDb250ZW50IGNvbW1hbmQuIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogImVycm9yQ29kZSIsICJ0eXBlIjogImludGVnZXIiLCAiZGVzY3JpcHRpb24iOiAiMCwg
aWYgbm8gZXJyb3IuIE90aGVyd2lzZSwgZXJyb3JDb2RlIGlzIHNldCB0byBGaWxlRXJyb3I6OkVy
cm9yQ29kZSB2YWx1ZS4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZW50cmll
cyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJGaWxlU3lzdGVtLkVudHJ5
IiB9LCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiQ29udGFpbnMgYWxsIGVudHJp
ZXMgb24gZGlyZWN0b3J5IGlmIHRoZSBjb21tYW5kIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuIiB9
CiAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ29t
cGxldGlvbiBldmVudCBvZiByZWFkRGlyZWN0b3J5IGNvbW1hbmQuIgorICAgICAgICAgICAgICAg
ICJkZXNjcmlwdGlvbiI6ICJDb21wbGV0aW9uIGV2ZW50IG9mIHJlcXVlc3REaXJlY3RvcnlDb250
ZW50IGNvbW1hbmQuIgogICAgICAgICAgICAgfQogICAgICAgICBdCiAgICAgfSwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAK
aW5kZXggODVlNDEwNWEzNDRiMjJkODliNDE0ZjI1YWE3MWE0YmY2YmRhOTAzNC4uMjAzZmY3Yjk4
YmYxZmY2NGFkNzlkNGYwOGQ4MDU3ZjhlNzhhMWZiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAKQEAgLTExNiw3ICsx
MTYsNyBAQCBwcml2YXRlOgogICAgIHsKICAgICAgICAgaWYgKCFtX2Zyb250ZW5kUHJvdmlkZXIg
fHwgIW1fZnJvbnRlbmRQcm92aWRlci0+ZnJvbnRlbmQoKSkKICAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgbV9mcm9udGVuZFByb3ZpZGVyLT5mcm9udGVuZCgpLT5nb3RGaWxlU3lzdGVtUm9v
dChtX3JlcXVlc3RJZCwgc3RhdGljX2Nhc3Q8aW50PihlcnJvckNvZGUpLCBlbnRyeSk7CisgICAg
ICAgIG1fZnJvbnRlbmRQcm92aWRlci0+ZnJvbnRlbmQoKS0+ZmlsZVN5c3RlbVJvb3RSZWNlaXZl
ZChtX3JlcXVlc3RJZCwgc3RhdGljX2Nhc3Q8aW50PihlcnJvckNvZGUpLCBlbnRyeSk7CiAgICAg
ICAgIG1fZnJvbnRlbmRQcm92aWRlciA9IDA7CiAgICAgfQogCkBAIC0yMjIsNyArMjIyLDcgQEAg
cHJpdmF0ZToKICAgICB7CiAgICAgICAgIGlmICghbV9mcm9udGVuZFByb3ZpZGVyIHx8ICFtX2Zy
b250ZW5kUHJvdmlkZXItPmZyb250ZW5kKCkpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IG1fZnJvbnRlbmRQcm92aWRlci0+ZnJvbnRlbmQoKS0+ZGlkUmVhZERpcmVjdG9yeShtX3JlcXVl
c3RJZCwgc3RhdGljX2Nhc3Q8aW50PihlcnJvckNvZGUpLCBlbnRyaWVzKTsKKyAgICAgICAgbV9m
cm9udGVuZFByb3ZpZGVyLT5mcm9udGVuZCgpLT5kaXJlY3RvcnlDb250ZW50UmVjZWl2ZWQobV9y
ZXF1ZXN0SWQsIHN0YXRpY19jYXN0PGludD4oZXJyb3JDb2RlKSwgZW50cmllcyk7CiAgICAgICAg
IG1fZnJvbnRlbmRQcm92aWRlciA9IDA7CiAgICAgfQogCkBAIC00MDgsMjggKzQwOCwzMSBAQCB2
b2lkIEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6ZGlzYWJsZShFcnJvclN0cmluZyopCiAgICAg
bV9zdGF0ZS0+c2V0Qm9vbGVhbihGaWxlU3lzdGVtQWdlbnRTdGF0ZTo6ZmlsZVN5c3RlbUFnZW50
RW5hYmxlZCwgbV9lbmFibGVkKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6
OmdldEZpbGVTeXN0ZW1Sb290KEVycm9yU3RyaW5nKiwgaW50IHJlcXVlc3RJZCwgY29uc3QgU3Ry
aW5nJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgdHlwZSkKK3ZvaWQgSW5zcGVjdG9yRmlsZVN5c3Rl
bUFnZW50OjpyZXF1ZXN0RmlsZVN5c3RlbVJvb3QoRXJyb3JTdHJpbmcqIGVycm9yLCBjb25zdCBT
dHJpbmcmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiB0eXBlLCBpbnQqIHJlcXVlc3RJZCkKIHsKICAg
ICBpZiAoIW1fZW5hYmxlZCB8fCAhbV9mcm9udGVuZFByb3ZpZGVyKQogICAgICAgICByZXR1cm47
CiAgICAgQVNTRVJUKG1fZnJvbnRlbmRQcm92aWRlci0+ZnJvbnRlbmQoKSk7CiAKKyAgICAqcmVx
dWVzdElkID0gbV9uZXh0UmVxdWVzdElkKys7CiAgICAgaWYgKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0Rm9yT3Jp
Z2luKFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVGcm9tU3RyaW5nKG9yaWdpbikuZ2V0KCkpKQotICAg
ICAgICBHZXRGaWxlU3lzdGVtUm9vdFRhc2s6OmNyZWF0ZShtX2Zyb250ZW5kUHJvdmlkZXIsIHJl
cXVlc3RJZCwgdHlwZSktPnN0YXJ0KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOworICAgICAgICBH
ZXRGaWxlU3lzdGVtUm9vdFRhc2s6OmNyZWF0ZShtX2Zyb250ZW5kUHJvdmlkZXIsICpyZXF1ZXN0
SWQsIHR5cGUpLT5zdGFydChzY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKICAgICBlbHNlCi0gICAg
ICAgIG1fZnJvbnRlbmRQcm92aWRlci0+ZnJvbnRlbmQoKS0+Z290RmlsZVN5c3RlbVJvb3QocmVx
dWVzdElkLCBzdGF0aWNfY2FzdDxpbnQ+KEZpbGVFcnJvcjo6QUJPUlRfRVJSKSwgMCk7CisgICAg
ICAgIG1fZnJvbnRlbmRQcm92aWRlci0+ZnJvbnRlbmQoKS0+ZmlsZVN5c3RlbVJvb3RSZWNlaXZl
ZCgqcmVxdWVzdElkLCBzdGF0aWNfY2FzdDxpbnQ+KEZpbGVFcnJvcjo6QUJPUlRfRVJSKSwgMCk7
CiB9CiAKLXZvaWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpyZWFkRGlyZWN0b3J5KEVycm9y
U3RyaW5nKiwgaW50IHJlcXVlc3RJZCwgY29uc3QgU3RyaW5nJiB1cmwpCit2b2lkIEluc3BlY3Rv
ckZpbGVTeXN0ZW1BZ2VudDo6cmVxdWVzdERpcmVjdG9yeUNvbnRlbnQoRXJyb3JTdHJpbmcqLCBj
b25zdCBTdHJpbmcmIHVybCwgaW50KiByZXF1ZXN0SWQpCiB7CiAgICAgaWYgKCFtX2VuYWJsZWQg
fHwgIW1fZnJvbnRlbmRQcm92aWRlcikKICAgICAgICAgcmV0dXJuOwogICAgIEFTU0VSVChtX2Zy
b250ZW5kUHJvdmlkZXItPmZyb250ZW5kKCkpOwogCisgICAgKnJlcXVlc3RJZCA9IG1fbmV4dFJl
cXVlc3RJZCsrOworCiAgICAgaWYgKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0Rm9yT3JpZ2luKFNlY3VyaXR5T3Jp
Z2luOjpjcmVhdGVGcm9tU3RyaW5nKHVybCkuZ2V0KCkpKQotICAgICAgICBSZWFkRGlyZWN0b3J5
VGFzazo6Y3JlYXRlKG1fZnJvbnRlbmRQcm92aWRlciwgcmVxdWVzdElkLCB1cmwpLT5zdGFydChz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KTsKKyAgICAgICAgUmVhZERpcmVjdG9yeVRhc2s6OmNyZWF0
ZShtX2Zyb250ZW5kUHJvdmlkZXIsICpyZXF1ZXN0SWQsIHVybCktPnN0YXJ0KHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQpOwogICAgIGVsc2UKLSAgICAgICAgbV9mcm9udGVuZFByb3ZpZGVyLT5mcm9u
dGVuZCgpLT5kaWRSZWFkRGlyZWN0b3J5KHJlcXVlc3RJZCwgc3RhdGljX2Nhc3Q8aW50PihGaWxl
RXJyb3I6OkFCT1JUX0VSUiksIDApOworICAgICAgICBtX2Zyb250ZW5kUHJvdmlkZXItPmZyb250
ZW5kKCktPmRpcmVjdG9yeUNvbnRlbnRSZWNlaXZlZCgqcmVxdWVzdElkLCBzdGF0aWNfY2FzdDxp
bnQ+KEZpbGVFcnJvcjo6QUJPUlRfRVJSKSwgMCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yRmlsZVN5
c3RlbUFnZW50OjpzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQpCkBAIC00
NTcsNiArNDYwLDcgQEAgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpJbnNwZWN0b3JGaWxlU3lz
dGVtQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWUKICAgICA6IEluc3BlY3RvckJh
c2VBZ2VudDxJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ+KCJGaWxlU3lzdGVtIiwgaW5zdHJ1bWVu
dGluZ0FnZW50cywgc3RhdGUpCiAgICAgLCBtX3BhZ2VBZ2VudChwYWdlQWdlbnQpCiAgICAgLCBt
X2VuYWJsZWQoZmFsc2UpCisgICAgLCBtX25leHRSZXF1ZXN0SWQoMSkKIHsKICAgICBBU1NFUlQo
aW5zdHJ1bWVudGluZ0FnZW50cyk7CiAgICAgQVNTRVJUKHN0YXRlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuaAppbmRleCA3ZjQ0
YWMwZTg2ZjMzZGNjNTFmYmVjMzJlMTc5MDRmMTIzNGQxN2QzLi41OWExNmU5MDdiMzMzOGU3NTMw
ZmE3YWY1YzE3MGEyMjU0NmExZDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5oCkBAIC01OSw4ICs1OSw4IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgZW5hYmxlKEVycm9yU3RyaW5nKikgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCB2b2lkIGRpc2FibGUoRXJyb3JTdHJpbmcqKSBPVkVSUklERTsKIAotICAgIHZpcnR1YWwg
dm9pZCBnZXRGaWxlU3lzdGVtUm9vdChFcnJvclN0cmluZyosIGludCByZXF1ZXN0SWQsIGNvbnN0
IFN0cmluZyYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIHR5cGUpIE9WRVJSSURFOwotICAgIHZpcnR1
YWwgdm9pZCByZWFkRGlyZWN0b3J5KEVycm9yU3RyaW5nKiwgaW50IHJlcXVlc3RJZCwgY29uc3Qg
U3RyaW5nJiB1cmwpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0RmlsZVN5c3Rl
bVJvb3QoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiB0
eXBlLCBpbnQqIHJlcXVlc3RJZCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RE
aXJlY3RvcnlDb250ZW50KEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiB1cmwsIGludCogcmVx
dWVzdElkKSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRGcm9udGVuZChJbnNwZWN0
b3JGcm9udGVuZCopIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhckZyb250ZW5kKCkg
T1ZFUlJJREU7CkBAIC03Myw2ICs3Myw3IEBAIHByaXZhdGU6CiAgICAgSW5zcGVjdG9yUGFnZUFn
ZW50KiBtX3BhZ2VBZ2VudDsKICAgICBSZWZQdHI8RnJvbnRlbmRQcm92aWRlcj4gbV9mcm9udGVu
ZFByb3ZpZGVyOwogICAgIGJvb2wgbV9lbmFibGVkOworICAgIGludCBtX25leHRSZXF1ZXN0SWQ7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW1Nb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbU1vZGVsLmpzCmluZGV4IGYyZWY2OWVjMmE2
NWUwNThiNThjODkwNDc0ZGI0NzA1OWVmMmZlYjEuLjUxOGRiNzcwZTBlMmFhNGRlMzllNGUxYTRk
MzZkMjAwNmU2MGM5N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvRmlsZVN5c3RlbU1vZGVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRmlsZVN5c3RlbU1vZGVsLmpzCkBAIC0xNDgsNyArMTQ4LDcgQEAgV2ViSW5zcGVj
dG9yLkZpbGVTeXN0ZW1Nb2RlbC5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgdmFyIHR5cGVzID0g
WyJwZXJzaXN0ZW50IiwgInRlbXBvcmFyeSJdOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHR5cGVzLmxlbmd0aDsgKytpKQotICAgICAgICAgICAgdGhpcy5fYWdlbnRXcmFwcGVyLmdldEZp
bGVTeXN0ZW1Sb290KG9yaWdpbiwgdHlwZXNbaV0sIHRoaXMuX2dvdEZpbGVTeXN0ZW0uYmluZCh0
aGlzLCBvcmlnaW4sIHR5cGVzW2ldLCB0aGlzLl9maWxlU3lzdGVtc0Zvck9yaWdpbltvcmlnaW5d
KSk7CisgICAgICAgICAgICB0aGlzLl9hZ2VudFdyYXBwZXIucmVxdWVzdEZpbGVTeXN0ZW1Sb290
KG9yaWdpbiwgdHlwZXNbaV0sIHRoaXMuX2ZpbGVTeXN0ZW1Sb290UmVjZWl2ZWQuYmluZCh0aGlz
LCBvcmlnaW4sIHR5cGVzW2ldLCB0aGlzLl9maWxlU3lzdGVtc0Zvck9yaWdpbltvcmlnaW5dKSk7
CiAgICAgfSwKIAogICAgIC8qKgpAQCAtMTk1LDcgKzE5NSw3IEBAIFdlYkluc3BlY3Rvci5GaWxl
U3lzdGVtTW9kZWwucHJvdG90eXBlID0gewogICAgICAqIEBwYXJhbSB7bnVtYmVyfSBlcnJvckNv
ZGUKICAgICAgKiBAcGFyYW0ge0ZpbGVTeXN0ZW1BZ2VudC5FbnRyeT19IGJhY2tlbmRSb290RW50
cnkKICAgICAgKi8KLSAgICBfZ290RmlsZVN5c3RlbTogZnVuY3Rpb24ob3JpZ2luLCB0eXBlLCBz
dG9yZSwgZXJyb3JDb2RlLCBiYWNrZW5kUm9vdEVudHJ5KQorICAgIF9maWxlU3lzdGVtUm9vdFJl
Y2VpdmVkOiBmdW5jdGlvbihvcmlnaW4sIHR5cGUsIHN0b3JlLCBlcnJvckNvZGUsIGJhY2tlbmRS
b290RW50cnkpCiAgICAgewogICAgICAgICBpZiAoZXJyb3JDb2RlID09PSAwICYmIGJhY2tlbmRS
b290RW50cnkgJiYgdGhpcy5fZmlsZVN5c3RlbXNGb3JPcmlnaW5bb3JpZ2luXSA9PT0gc3RvcmUp
IHsKICAgICAgICAgICAgIHZhciBmaWxlU3lzdGVtID0gbmV3IFdlYkluc3BlY3Rvci5GaWxlU3lz
dGVtTW9kZWwuRmlsZVN5c3RlbSh0aGlzLCBvcmlnaW4sIHR5cGUsIGJhY2tlbmRSb290RW50cnkp
OwpAQCAtMjM3LDM0ICsyMzcsMjkgQEAgV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1Nb2RlbC5GaWxl
U3lzdGVtLnByb3RvdHlwZSA9IHsKICAqLwogV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1SZXF1ZXN0
TWFuYWdlciA9IGZ1bmN0aW9uKCkKIHsKLSAgICB0aGlzLl9wZW5kaW5nR2V0RmlsZVN5c3RlbVJv
b3RSZXF1ZXN0cyA9IHt9OwotICAgIHRoaXMuX3BlbmRpbmdSZWFkRGlyZWN0b3J5UmVxdWVzdHMg
PSB7fTsKKyAgICB0aGlzLl9wZW5kaW5nRmlsZVN5c3RlbVJvb3RSZXF1ZXN0cyA9IHt9OworICAg
IHRoaXMuX3BlbmRpbmdEaXJlY3RvcnlDb250ZW50UmVxdWVzdHMgPSB7fTsKIAogICAgIEluc3Bl
Y3RvckJhY2tlbmQucmVnaXN0ZXJGaWxlU3lzdGVtRGlzcGF0Y2hlcihuZXcgV2ViSW5zcGVjdG9y
LkZpbGVTeXN0ZW1EaXNwYXRjaGVyKHRoaXMpKTsKICAgICBGaWxlU3lzdGVtQWdlbnQuZW5hYmxl
KCk7CiB9CiAKLVdlYkluc3BlY3Rvci5GaWxlU3lzdGVtUmVxdWVzdE1hbmFnZXIubmV4dFJlcXVl
c3RJZCA9IDE7Ci0KIFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtUmVxdWVzdE1hbmFnZXIucHJvdG90
eXBlID0gewogICAgIC8qKgotICAgICAqIEByZXR1cm4ge251bWJlcn0KLSAgICAgKi8KLSAgICBf
cmVxdWVzdElkOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9y
LkZpbGVTeXN0ZW1SZXF1ZXN0TWFuYWdlci5uZXh0UmVxdWVzdElkKys7Ci0gICAgfSwKLQotICAg
IC8qKgogICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcmlnaW4KICAgICAgKiBAcGFyYW0ge3N0cmlu
Z30gdHlwZQogICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24obnVtYmVyLCBGaWxlU3lzdGVtQWdlbnQu
RW50cnkpfSBjYWxsYmFjawogICAgICAqLwotICAgIGdldEZpbGVTeXN0ZW1Sb290OiBmdW5jdGlv
bihvcmlnaW4sIHR5cGUsIGNhbGxiYWNrKQorICAgIHJlcXVlc3RGaWxlU3lzdGVtUm9vdDogZnVu
Y3Rpb24ob3JpZ2luLCB0eXBlLCBjYWxsYmFjaykKICAgICB7Ci0gICAgICAgIHZhciByZXF1ZXN0
SWQgPSB0aGlzLl9yZXF1ZXN0SWQoKTsKLSAgICAgICAgdGhpcy5fcGVuZGluZ0dldEZpbGVTeXN0
ZW1Sb290UmVxdWVzdHNbcmVxdWVzdElkXSA9IGNhbGxiYWNrOwotICAgICAgICBGaWxlU3lzdGVt
QWdlbnQuZ2V0RmlsZVN5c3RlbVJvb3QocmVxdWVzdElkLCBvcmlnaW4sIHR5cGUpOworICAgICAg
ICB2YXIgc3RvcmUgPSB0aGlzLl9wZW5kaW5nRmlsZVN5c3RlbVJvb3RSZXF1ZXN0czsKKyAgICAg
ICAgRmlsZVN5c3RlbUFnZW50LnJlcXVlc3RGaWxlU3lzdGVtUm9vdChvcmlnaW4sIHR5cGUsIHJl
cXVlc3RBY2NlcHRlZCk7CisKKyAgICAgICAgZnVuY3Rpb24gcmVxdWVzdEFjY2VwdGVkKGVycm9y
LCByZXF1ZXN0SWQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghZXJyb3IpCisgICAgICAg
ICAgICAgICAgc3RvcmVbcmVxdWVzdElkXSA9IGNhbGxiYWNrOworICAgICAgICB9CiAgICAgfSwK
IAogICAgIC8qKgpAQCAtMjcyLDEyICsyNjcsMTIgQEAgV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1S
ZXF1ZXN0TWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICAgICogQHBhcmFtIHtudW1iZXJ9IGVycm9y
Q29kZQogICAgICAqIEBwYXJhbSB7RmlsZVN5c3RlbUFnZW50LkVudHJ5PX0gYmFja2VuZFJvb3RF
bnRyeQogICAgICAqLwotICAgIF9nb3RGaWxlU3lzdGVtUm9vdDogZnVuY3Rpb24ocmVxdWVzdElk
LCBlcnJvckNvZGUsIGJhY2tlbmRSb290RW50cnkpCisgICAgX2ZpbGVTeXN0ZW1Sb290UmVjZWl2
ZWQ6IGZ1bmN0aW9uKHJlcXVlc3RJZCwgZXJyb3JDb2RlLCBiYWNrZW5kUm9vdEVudHJ5KQogICAg
IHsKLSAgICAgICAgdmFyIGNhbGxiYWNrID0gdGhpcy5fcGVuZGluZ0dldEZpbGVTeXN0ZW1Sb290
UmVxdWVzdHNbcmVxdWVzdElkXTsKKyAgICAgICAgdmFyIGNhbGxiYWNrID0gdGhpcy5fcGVuZGlu
Z0ZpbGVTeXN0ZW1Sb290UmVxdWVzdHNbcmVxdWVzdElkXTsKICAgICAgICAgaWYgKCFjYWxsYmFj
aykKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgZGVsZXRlIHRoaXMuX3BlbmRpbmdHZXRG
aWxlU3lzdGVtUm9vdFJlcXVlc3RzW3JlcXVlc3RJZF07CisgICAgICAgIGRlbGV0ZSB0aGlzLl9w
ZW5kaW5nRmlsZVN5c3RlbVJvb3RSZXF1ZXN0c1tyZXF1ZXN0SWRdOwogICAgICAgICBjYWxsYmFj
ayhlcnJvckNvZGUsIGJhY2tlbmRSb290RW50cnkpOwogICAgIH0sCiAKQEAgLTI4NSwxMSArMjgw
LDE2IEBAIFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtUmVxdWVzdE1hbmFnZXIucHJvdG90eXBlID0g
ewogICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwKICAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG51
bWJlciwgQXJyYXkuPEZpbGVTeXN0ZW1BZ2VudC5FbnRyeT49KX0gY2FsbGJhY2sKICAgICAgKi8K
LSAgICByZWFkRGlyZWN0b3J5OiBmdW5jdGlvbih1cmwsIGNhbGxiYWNrKQorICAgIHJlcXVlc3RE
aXJlY3RvcnlDb250ZW50OiBmdW5jdGlvbih1cmwsIGNhbGxiYWNrKQogICAgIHsKLSAgICAgICAg
dmFyIHJlcXVlc3RJZCA9IHRoaXMucmVxdWVzdElkKCk7Ci0gICAgICAgIHRoaXMuX3BlbmRpbmdS
ZWFkRGlyZWN0b3J5UmVxdWVzdHNbcmVxdWVzdElkXSA9IGNhbGxiYWNrOwotICAgICAgICBGaWxl
U3lzdGVtQWdlbnQucmVhZERpcmVjdG9yeShyZXF1ZXN0SWQsIHVybCk7CisgICAgICAgIHZhciBz
dG9yZSA9IHRoaXMuX3BlbmRpbmdEaXJlY3RvcnlDb250ZW50UmVxdWVzdHM7CisgICAgICAgIEZp
bGVTeXN0ZW1BZ2VudC5yZXF1ZXN0RGlyZWN0b3J5Q29udGVudCh1cmwsIHJlcXVlc3RBY2NlcHRl
ZCk7CisKKyAgICAgICAgZnVuY3Rpb24gcmVxdWVzdEFjY2VwdGVkKGVycm9yLCByZXF1ZXN0SWQp
CisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghZXJyb3IpCisgICAgICAgICAgICAgICAgc3Rv
cmVbcmVxdWVzdElkXSA9IGNhbGxiYWNrOworICAgICAgICB9CiAgICAgfSwKIAogICAgIC8qKgpA
QCAtMjk3LDEyICsyOTcsMTIgQEAgV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1SZXF1ZXN0TWFuYWdl
ci5wcm90b3R5cGUgPSB7CiAgICAgICogQHBhcmFtIHtudW1iZXJ9IGVycm9yQ29kZQogICAgICAq
IEBwYXJhbSB7QXJyYXkuPEZpbGVTeXN0ZW1BZ2VudC5FbnRyeT49fSBiYWNrZW5kRW50cmllcwog
ICAgICAqLwotICAgIF9kaWRSZWFkRGlyZWN0b3J5OiBmdW5jdGlvbihyZXF1ZXN0SWQsIGVycm9y
Q29kZSwgYmFja2VuZEVudHJpZXMpCisgICAgX2RpcmVjdG9yeUNvbnRlbnRSZWNlaXZlZDogZnVu
Y3Rpb24ocmVxdWVzdElkLCBlcnJvckNvZGUsIGJhY2tlbmRFbnRyaWVzKQogICAgIHsKLSAgICAg
ICAgdmFyIGNhbGxiYWNrID0gLyoqIEB0eXBlIHtmdW5jdGlvbihudW1iZXIsIEFycmF5LjxGaWxl
U3lzdGVtQWdlbnQuRW50cnk+PSl9ICovIHRoaXMuX3BlbmRpbmdSZWFkRGlyZWN0b3J5UmVxdWVz
dHNbcmVxdWVzdElkXTsKKyAgICAgICAgdmFyIGNhbGxiYWNrID0gLyoqIEB0eXBlIHtmdW5jdGlv
bihudW1iZXIsIEFycmF5LjxGaWxlU3lzdGVtQWdlbnQuRW50cnk+PSl9ICovIHRoaXMuX3BlbmRp
bmdEaXJlY3RvcnlDb250ZW50UmVxdWVzdHNbcmVxdWVzdElkXTsKICAgICAgICAgaWYgKCFjYWxs
YmFjaykKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgZGVsZXRlIHRoaXMuX3BlbmRpbmdS
ZWFkRGlyZWN0b3J5UmVxdWVzdHNbcmVxdWVzdElkXTsKKyAgICAgICAgZGVsZXRlIHRoaXMuX3Bl
bmRpbmdEaXJlY3RvcnlDb250ZW50UmVxdWVzdHNbcmVxdWVzdElkXTsKICAgICAgICAgY2FsbGJh
Y2soZXJyb3JDb2RlLCBiYWNrZW5kRW50cmllcyk7CiAgICAgfQogfQpAQCAtMzIzLDkgKzMyMyw5
IEBAIFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtRGlzcGF0Y2hlci5wcm90b3R5cGUgPSB7CiAgICAg
ICogQHBhcmFtIHtudW1iZXJ9IGVycm9yQ29kZQogICAgICAqIEBwYXJhbSB7RmlsZVN5c3RlbUFn
ZW50LkVudHJ5PX0gYmFja2VuZFJvb3RFbnRyeQogICAgICAqLwotICAgIGdvdEZpbGVTeXN0ZW1S
b290OiBmdW5jdGlvbihyZXF1ZXN0SWQsIGVycm9yQ29kZSwgYmFja2VuZFJvb3RFbnRyeSkKKyAg
ICBmaWxlU3lzdGVtUm9vdFJlY2VpdmVkOiBmdW5jdGlvbihyZXF1ZXN0SWQsIGVycm9yQ29kZSwg
YmFja2VuZFJvb3RFbnRyeSkKICAgICB7Ci0gICAgICAgIHRoaXMuX2FnZW50V3JhcHBlci5fZ290
RmlsZVN5c3RlbVJvb3QocmVxdWVzdElkLCBlcnJvckNvZGUsIGJhY2tlbmRSb290RW50cnkpOwor
ICAgICAgICB0aGlzLl9hZ2VudFdyYXBwZXIuX2ZpbGVTeXN0ZW1Sb290UmVjZWl2ZWQocmVxdWVz
dElkLCBlcnJvckNvZGUsIGJhY2tlbmRSb290RW50cnkpOwogICAgIH0sCiAKICAgICAvKioKQEAg
LTMzMyw4ICszMzMsOCBAQCBXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbURpc3BhdGNoZXIucHJvdG90
eXBlID0gewogICAgICAqIEBwYXJhbSB7bnVtYmVyfSBlcnJvckNvZGUKICAgICAgKiBAcGFyYW0g
e0FycmF5LjxGaWxlU3lzdGVtQWdlbnQuRW50cnk+PX0gYmFja2VuZEVudHJpZXMKICAgICAgKi8K
LSAgICBkaWRSZWFkRGlyZWN0b3J5OiBmdW5jdGlvbihyZXF1ZXN0SWQsIGVycm9yQ29kZSwgYmFj
a2VuZEVudHJpZXMpCisgICAgZGlyZWN0b3J5Q29udGVudFJlY2VpdmVkOiBmdW5jdGlvbihyZXF1
ZXN0SWQsIGVycm9yQ29kZSwgYmFja2VuZEVudHJpZXMpCiAgICAgewotICAgICAgICB0aGlzLl9h
Z2VudFdyYXBwZXIuX2RpZFJlYWREaXJlY3RvcnkocmVxdWVzdElkLCBlcnJvckNvZGUsIGJhY2tl
bmRFbnRyaWVzKTsKKyAgICAgICAgdGhpcy5fYWdlbnRXcmFwcGVyLl9kaXJlY3RvcnlDb250ZW50
UmVjZWl2ZWQocmVxdWVzdElkLCBlcnJvckNvZGUsIGJhY2tlbmRFbnRyaWVzKTsKICAgICB9CiB9
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggNDI5MzI3NTkxY2VkZGI3YjlkMzcwNjZlMjQ2ZmNlNmY2NjRkMzYwMC4uY2I5MDky
N2YzY2RhMjM2NmJiM2NmYTA5MzJlOTljNzIxNDg1MThmZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBA
CisyMDEyLTA2LTIwICBUYWlqdSBUc3Vpa2kgIDx0emlrQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBNb3ZlIHJlcXVlc3RJZCBhbGxvY2F0aW9uIGZyb20gRmlsZVN5c3Rl
bSBmcm9udGVuZCB0byBiYWNrZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04OTU1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9maWxlc3lzdGVt
LXRlc3QuanM6CisgICAgICAgIChpbml0aWFsaXplX0ZpbGVTeXN0ZW1UZXN0Lkluc3BlY3RvclRl
c3QuZHVtcFJlYWREaXJlY3RvcnlSZXN1bHQpOgorICAgICAgICAoaW5pdGlhbGl6ZV9GaWxlU3lz
dGVtVGVzdCk6CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9nZXQt
ZmlsZXN5c3RlbS1yb290Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmls
ZXN5c3RlbS9yZWFkLWRpcmVjdG9yeS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0
cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9yZWFkLWRpcmVjdG9yeS5odG1sOgorCiAyMDEyLTA2LTIw
ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbU2hhZG93XVtF
ZGl0aW5nXSBEZWxldGluZyBjaGFyYWN0ZXIgaW4gZGlzdHJpYnV0ZWQgZWxlbWVudCBjYXVzZWQg
YSBjcmFzaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmls
ZXN5c3RlbS9maWxlc3lzdGVtLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9maWxlc3lzdGVtL2ZpbGVzeXN0ZW0tdGVzdC5qcwppbmRleCAzMDg2M2Q3ZjU0MWM1ODlk
ODQ1NGVhY2ZlZDBlN2I4MmVlZmEwNjZhLi5lOGEzZTJlNzZkZjI1NjZhYzI0NTEyMzY4YzBlMDc4
NWE0N2RmNWE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9m
aWxlc3lzdGVtL2ZpbGVzeXN0ZW0tdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9maWxlc3lzdGVtL2ZpbGVzeXN0ZW0tdGVzdC5qcwpAQCAtMzQsOSArMzQsOCBA
QCB2YXIgaW5pdGlhbGl6ZV9GaWxlU3lzdGVtVGVzdCA9IGZ1bmN0aW9uKCkKICAgICAgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiY2xlYXJGaWxlU3lzdGVtKCIgKyBJbnNwZWN0b3JU
ZXN0LnJlZ2lzdGVyQ2FsbGJhY2soY2FsbGJhY2spICsgIikiKTsKICAgICB9OwogCi0gICAgSW5z
cGVjdG9yVGVzdC5kdW1wUmVhZERpcmVjdG9yeVJlc3VsdCA9IGZ1bmN0aW9uKHJlcXVlc3RJZCwg
ZXJyb3JDb2RlLCBlbnRyaWVzKQorICAgIEluc3BlY3RvclRlc3QuZHVtcFJlYWREaXJlY3RvcnlS
ZXN1bHQgPSBmdW5jdGlvbihlcnJvckNvZGUsIGVudHJpZXMpCiAgICAgewotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgicmVxdWVzdElkOiAiICsgcmVxdWVzdElkKTsKICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImVycm9yQ29kZTogIiArIGVycm9yQ29kZSk7CiAKICAg
ICAgICAgaWYgKCFlbnRyaWVzKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9maWxlc3lzdGVtL2dldC1maWxlc3lzdGVtLXJvb3QuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vZ2V0LWZpbGVzeXN0ZW0tcm9vdC5o
dG1sCmluZGV4IGMzYTg3NDE2OTYwYmQxN2U0NzBlZDVlMTZhOTcyZTNlMGQ2NzkyNDUuLmM0MmJj
ZDYwYTYyNWExN2U3ZGU1OTA3M2QzOGU0NDE3YWFlYTIyZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vZ2V0LWZpbGVzeXN0ZW0tcm9vdC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vZ2V0
LWZpbGVzeXN0ZW0tcm9vdC5odG1sCkBAIC01LDcgKzUsNyBAQAogZG9jdW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIHJ1blRlc3QpOwogZnVuY3Rpb24gdGVzdCgpCiB7
Ci0gICAgdmFyIGZpbGVTeXN0ZW1SZXF1ZXN0TWFuYWdlciA9IG5ldyBXZWJJbnNwZWN0b3IuRmls
ZVN5c3RlbVJlcXVlc3RNYW5hZ2VyKCk7CisgICAgdmFyIHJlcXVlc3RNYW5hZ2VyID0gbmV3IFdl
Ykluc3BlY3Rvci5GaWxlU3lzdGVtUmVxdWVzdE1hbmFnZXIoKTsKIAogICAgIEluc3BlY3RvclRl
c3QuY2xlYXJGaWxlU3lzdGVtKHN0ZXAxKTsKIApAQCAtMTgsNyArMTgsNyBAQCBmdW5jdGlvbiB0
ZXN0KCkKIAogICAgIGZ1bmN0aW9uIHN0ZXAyKCkKICAgICB7Ci0gICAgICAgIGZpbGVTeXN0ZW1S
ZXF1ZXN0TWFuYWdlci5nZXRGaWxlU3lzdGVtUm9vdCgiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiwg
InRlbXBvcmFyeSIsIHN0ZXAzKTsKKyAgICAgICAgcmVxdWVzdE1hbmFnZXIucmVxdWVzdEZpbGVT
eXN0ZW1Sb290KCJodHRwOi8vMTI3LjAuMC4xOjgwMDAiLCAidGVtcG9yYXJ5Iiwgc3RlcDMpOwog
ICAgIH0KIAogICAgIGZ1bmN0aW9uIHN0ZXAzKGVycm9yQ29kZSwgYmFja2VuZFJvb3RFbnRyeSkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0v
cmVhZC1kaXJlY3RvcnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvZmlsZXN5c3RlbS9yZWFkLWRpcmVjdG9yeS1leHBlY3RlZC50eHQKaW5kZXggMzg1YTBh
MzEwODA0ZDM3ODkxYjgxMTY5OTRmMzNjOTdhNTI1NjdmZi4uMGEwYzczNTkyODQ1Mjk4ZWI5Njg5
ZTNkNGY1ZTFjYjE2ZjNhOWFjMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvZmlsZXN5c3RlbS9yZWFkLWRpcmVjdG9yeS1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9yZWFkLWRpcmVjdG9yeS1l
eHBlY3RlZC50eHQKQEAgLTEsNiArMSw1IEBACiBUZXN0cyByZWFkRGlyZWN0b3J5LgogCi1yZXF1
ZXN0SWQ6IDEKIGVycm9yQ29kZTogMAogZW50cmllczoKICAgMDoKQEAgLTEzLDcgKzEyLDYgQEAg
ZW50cmllczoKICAgICB1cmw6IGZpbGVzeXN0ZW06aHR0cDovLzEyNy4wLjAuMTo4MDAwL3RlbXBv
cmFyeS9ob2dlL2Z1Z2EKICAgICBuYW1lOiBmdWdhCiAgICAgaXNEaXJlY3Rvcnk6IHRydWUKLXJl
cXVlc3RJZDogMQogZXJyb3JDb2RlOiAxCiBlbnRyaWVzOiAobnVsbCkKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9yZWFkLWRpcmVjdG9y
eS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZmlsZXN5c3RlbS9yZWFk
LWRpcmVjdG9yeS5odG1sCmluZGV4IDk1ZjA5ZjA4OWNjMjUyMTkzM2ViNTI0NDU0MGJkZmE5Mjk3
MTA4YjguLjY0YWJmZmU4YWNiNDkyNmNhYjViZmQ0NGUyOGRiYjNjYmZhNDIzOWQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2ZpbGVzeXN0ZW0vcmVhZC1kaXJl
Y3RvcnkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9maWxlc3lz
dGVtL3JlYWQtZGlyZWN0b3J5Lmh0bWwKQEAgLTUsMTYgKzUsNyBAQAogZG9jdW1lbnQuYWRkRXZl
bnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIHJ1blRlc3QpOwogZnVuY3Rpb24gdGVzdCgp
CiB7Ci0gICAgLy8gRklYTUU6IFJlcGxhY2UgRmlsZVN5c3RlbURpc3BhdGNoZXIgd2l0aCBGaWxl
U3lzdGVtRGlzcGF0Y2hlciBpbXBsZW1lbnRhdGlvbiBhZnRlciBpdCBsYW5kZWQuCi0gICAgZnVu
Y3Rpb24gRmlsZVN5c3RlbURpc3BhdGNoZXIoKSB7fQotICAgIEZpbGVTeXN0ZW1EaXNwYXRjaGVy
LnByb3RvdHlwZSA9IHsKLSAgICAgICAgZGlkUmVhZERpcmVjdG9yeTogZnVuY3Rpb24ocmVxdWVz
dElkLCBlcnJvckNvZGUsIGVudHJpZXMpCi0gICAgICAgIHsKLSAgICAgICAgfQotICAgIH07Ci0K
LSAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRmlsZVN5c3RlbURpc3BhdGNoZXIobmV3IEZp
bGVTeXN0ZW1EaXNwYXRjaGVyKCkpOwotICAgIEZpbGVTeXN0ZW1BZ2VudC5lbmFibGUoKTsKKyAg
ICB2YXIgcmVxdWVzdE1hbmFnZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1SZXF1ZXN0
TWFuYWdlcigpOwogCiAgICAgSW5zcGVjdG9yVGVzdC5jbGVhckZpbGVTeXN0ZW0oc3RlcDEpOwog
CkBAIC0zNSwyMiArMjYsMTcgQEAgZnVuY3Rpb24gdGVzdCgpCiAKICAgICBmdW5jdGlvbiBzdGVw
NCgpCiAgICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoRmlsZVN5c3RlbURp
c3BhdGNoZXIucHJvdG90eXBlLCAiZGlkUmVhZERpcmVjdG9yeSIsIHN0ZXA1LCBmYWxzZSk7Ci0g
ICAgICAgIC8vIEZJWE1FOiBDYWxsIEZpbGVTeXN0ZW1EaXNwYXRjaGVyIHRocm91Z2ggRmlsZVN5
c3RlbURpc3BhdGNoZXIgaW1wbGVtZW50YXRpb24gYWZ0ZXIgaXQgbGFuZGVkLgotICAgICAgICBG
aWxlU3lzdGVtQWdlbnQucmVhZERpcmVjdG9yeSgxLCAiZmlsZXN5c3RlbTpodHRwOi8vMTI3LjAu
MC4xOjgwMDAvdGVtcG9yYXJ5L2hvZ2UiKTsKKyAgICAgICAgcmVxdWVzdE1hbmFnZXIucmVxdWVz
dERpcmVjdG9yeUNvbnRlbnQoImZpbGVzeXN0ZW06aHR0cDovLzEyNy4wLjAuMTo4MDAwL3RlbXBv
cmFyeS9ob2dlIiwgc3RlcDUpOwogICAgIH0KIAotICAgIGZ1bmN0aW9uIHN0ZXA1KHJlcXVlc3RJ
ZCwgZXJyb3JDb2RlLCBlbnRyaWVzKQorICAgIGZ1bmN0aW9uIHN0ZXA1KGVycm9yQ29kZSwgZW50
cmllcykKICAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFJlYWREaXJlY3RvcnlSZXN1
bHQocmVxdWVzdElkLCBlcnJvckNvZGUsIGVudHJpZXMpOwotCi0gICAgICAgIEluc3BlY3RvclRl
c3QuYWRkU25pZmZlcihGaWxlU3lzdGVtRGlzcGF0Y2hlci5wcm90b3R5cGUsICJkaWRSZWFkRGly
ZWN0b3J5Iiwgc3RlcDYsIGZhbHNlKTsKLSAgICAgICAgLy8gRklYTUU6IENhbGwgRmlsZVN5c3Rl
bURpc3BhdGNoZXIgdGhyb3VnaCBGaWxlU3lzdGVtRGlzcGF0Y2hlciBpbXBsZW1lbnRhdGlvbiBh
ZnRlciBpdCBsYW5kZWQuCi0gICAgICAgIEZpbGVTeXN0ZW1BZ2VudC5yZWFkRGlyZWN0b3J5KDEs
ICJmaWxlc3lzdGVtOmh0dHA6Ly8xMjcuMC4wLjE6ODAwMC90ZW1wb3JhcnkvZm9vIik7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuZHVtcFJlYWREaXJlY3RvcnlSZXN1bHQoZXJyb3JDb2RlLCBlbnRy
aWVzKTsKKyAgICAgICAgcmVxdWVzdE1hbmFnZXIucmVxdWVzdERpcmVjdG9yeUNvbnRlbnQoImZp
bGVzeXN0ZW06aHR0cDovLzEyNy4wLjAuMTo4MDAwL3RlbXBvcmFyeS9mb28iLCBzdGVwNik7CiAg
ICAgfQogCi0gICAgZnVuY3Rpb24gc3RlcDYocmVxdWVzdElkLCBlcnJvckNvZGUsIGVudHJpZXMp
IHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wUmVhZERpcmVjdG9yeVJlc3VsdChyZXF1ZXN0
SWQsIGVycm9yQ29kZSwgZW50cmllcyk7CisgICAgZnVuY3Rpb24gc3RlcDYoZXJyb3JDb2RlLCBl
bnRyaWVzKSB7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcFJlYWREaXJlY3RvcnlSZXN1bHQo
ZXJyb3JDb2RlLCBlbnRyaWVzKTsKIAogICAgICAgICBJbnNwZWN0b3JUZXN0LmNsZWFyRmlsZVN5
c3RlbShzdGVwNyk7CiAgICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>