<?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>52452</bug_id>
          
          <creation_ts>2011-01-14 08:54:30 -0800</creation_ts>
          <short_desc>Web Inspector: [Extensions API] webInspector.resources.onFinished is not fired for redirected resources</short_desc>
          <delta_ts>2011-11-30 09:42:16 -0800</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>1</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</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>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>334332</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-01-14 08:54:30 -0800</bug_when>
    <thetext>webInspector.resources.onFinished is not fired for resources that were redirected.

In general, the logic of starting/finishing is often inconsistent in NetworkManager: sometimes, not all consumers are notified on resource being finished, sometimes resources are not cleaned up upon finishing from NetworkManager._resourcesById.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334346</commentid>
    <comment_count>1</comment_count>
      <attachid>78948</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-01-14 09:17:45 -0800</bug_when>
    <thetext>Created attachment 78948
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335215</commentid>
    <comment_count>2</comment_count>
      <attachid>78948</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-01-17 01:59:32 -0800</bug_when>
    <thetext>Comment on attachment 78948
patch

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

&gt; Source/WebCore/inspector/front-end/NetworkManager.js:183
&gt; +        this._finishResource(resource, time);

We should not do two refreshes per operation.

&gt; Source/WebCore/inspector/front-end/NetworkManager.js:221
&gt; +        this._startResource(resource);

Audits will break on web sockets.

&gt; Source/WebCore/inspector/front-end/NetworkManager.js:258
&gt; +        this._finishResource(resource, time);

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335356</commentid>
    <comment_count>3</comment_count>
      <attachid>79180</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-01-17 09:15:45 -0800</bug_when>
    <thetext>Created attachment 79180
patch to land</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335358</commentid>
    <comment_count>4</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-01-17 09:19:43 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 78948 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=78948&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/NetworkManager.js:183
&gt; &gt; +        this._finishResource(resource, time);
&gt; 
&gt; We should not do two refreshes per operation.

As discussed, I would rather leave this as is: NetworkPanel.refreshResources() is cheap, as it postpones actual DOM refresh to an async timer event (so two refreshes will still be one). OTOH, I&apos;m reluctant to put any skipRefresh-like flags into the interface, especially in view of planned transition to events.

&gt; &gt; Source/WebCore/inspector/front-end/NetworkManager.js:221
&gt; &gt; +        this._startResource(resource);
&gt; 
&gt; Audits will break on web sockets.
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/NetworkManager.js:258
&gt; &gt; +        this._finishResource(resource, time);
&gt; 
&gt; ditto

We just use these events there for updating the progress indicator, so it won&apos;r really break. Thanks, though, fixed this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342896</commentid>
    <comment_count>5</comment_count>
      <attachid>78948</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-31 16:07:09 -0800</bug_when>
    <thetext>Comment on attachment 78948
patch

Cleared Pavel Feldman&apos;s review+ from obsolete attachment 78948 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511821</commentid>
    <comment_count>6</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-11-30 09:42:16 -0800</bug_when>
    <thetext>Manually committed r75950: http://trac.webkit.org/changeset/75950</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78948</attachid>
            <date>2011-01-14 09:17:45 -0800</date>
            <delta_ts>2011-01-31 16:07:09 -0800</delta_ts>
            <desc>patch</desc>
            <filename>redirect-finish.diff</filename>
            <type>text/plain</type>
            <size>14265</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0ZjY4OTAwLi42ZTZlMWVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTUgQEAKIDIwMTEtMDEt
MTQgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAorICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBbRXh0ZW5z
aW9ucyBBUEldIHdlYkluc3BlY3Rvci5yZXNvdXJjZXMub25GaW5pc2hlZCBpcyBub3QgZmlyZWQg
Zm9yIHJlZGlyZWN0ZWQgcmVzb3VyY2VzCisgICAgICAgIEFkZGVkIHRlc3QgZm9yIGZpbmlzaGVk
IGV2ZW50IGJlaW5nIHNlbnQgZm9yIHJlZGlyZWN0ZWQgcmVzb3VyY2VzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI0NTIKKworICAgICAgICAqIGh0
dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtcmVzb3VyY2VzLXJlZGlyZWN0Lmh0bWw6CisK
KzIwMTEtMDEtMTQgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKwogICAg
ICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IHJlZGlyZWN0ZWQgcmVzb3VyY2VzIG5vdCBoYW5kbGVkIHByb3Blcmx5IGluIE5ldHdvcmsgcGFu
ZWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lv
bnMtcmVzb3VyY2VzLXJlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtcmVzb3VyY2VzLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApp
bmRleCAxN2E4YmM0Li5jMTkwM2RlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNlcy1yZWRpcmVjdC1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1yZXNvdXJjZXMt
cmVkaXJlY3QtZXhwZWN0ZWQudHh0CkBAIC01LDcgKzUsMTEgQEAgU3RhcnRlZCBleHRlbnNpb24u
CiAKIFJ1bm5pbmcgdGVzdHMuLi4KIFJVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RHZXRSZWRp
cmVjdFJlc291cmNlQ29udGVudAorCiBjb250ZW50OiB1bmRlZmluZWQsIGVuY29kaW5nOiB1bmRl
ZmluZWQKK1JVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RSZWRpcmVjdFJlc291cmNlRmluaXNo
ZWQKK0ZpbmlzaGVkIHJlc291cmNlOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbG9hZGluZy9yZXNv
dXJjZXMvcmVkaXJlY3QtbWV0aG9kcy1yZXN1bHQucGhwP3JlZGlyZWN0ZWQ9dHJ1ZQorRmluaXNo
ZWQgcmVzb3VyY2U6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9sb2FkaW5nL3Jlc291cmNlcy9yZWRp
cmVjdC1tZXRob2RzLXJlc3VsdC5waHA/c3RhdHVzPTMwMgogUlVOTklORyBURVNUOiBleHRlbnNp
b25fdGVzdFJlZGlyZWN0UmVzb3VyY2VzSW5IQVIKIFJlc291cmNlcyBpbiBIQVI6CiBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2V4dGVuc2lvbnMtcmVzb3VyY2VzLXJlZGlyZWN0Lmh0
bWwKQEAgLTEzLDYgKzE3LDggQEAgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9leHRl
bnNpb25zLXJlc291cmNlcy10ZXN0LmpzCiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9y
L2V4dGVuc2lvbnMtdGVzdC5qcwogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9pbnNw
ZWN0b3ItdGVzdDIuanMKIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9sb2FkaW5nL3Jlc291cmNlcy9y
ZWRpcmVjdC1tZXRob2RzLXJlc3VsdC5waHA/cmVkaXJlY3RlZD10cnVlCitodHRwOi8vMTI3LjAu
MC4xOjgwMDAvbG9hZGluZy9yZXNvdXJjZXMvcmVkaXJlY3QtbWV0aG9kcy1yZXN1bHQucGhwP3Jl
ZGlyZWN0ZWQ9dHJ1ZQoraHR0cDovLzEyNy4wLjAuMTo4MDAwL2xvYWRpbmcvcmVzb3VyY2VzL3Jl
ZGlyZWN0LW1ldGhvZHMtcmVzdWx0LnBocD9zdGF0dXM9MzAyCiBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvbG9hZGluZy9yZXNvdXJjZXMvcmVkaXJlY3QtbWV0aG9kcy1yZXN1bHQucGhwP3N0YXR1cz0z
MDIKIEFsbCB0ZXN0cyBkb25lLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNlcy1yZWRpcmVjdC5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1yZXNvdXJjZXMtcmVkaXJlY3QuaHRt
bAppbmRleCBiNmQ1Yjc2Li40OGM0MGZmIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNlcy1yZWRpcmVjdC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtcmVzb3VyY2VzLXJlZGly
ZWN0Lmh0bWwKQEAgLTU0LDEzICs1NCwyOCBAQCBmdW5jdGlvbiBleHRlbnNpb25fdGVzdFJlZGly
ZWN0UmVzb3VyY2VzSW5IQVIobmV4dFRlc3QpCiAgICAgZXh0ZW5zaW9uX2RvUmVxdWVzdChvbkZp
bmlzaGVkKTsKIH0KIAorZnVuY3Rpb24gZXh0ZW5zaW9uX3Rlc3RSZWRpcmVjdFJlc291cmNlRmlu
aXNoZWQobmV4dFRlc3QpCit7CisgICAgdmFyIGZpbmlzaGVkQ291bnQgPSAwOworICAgIGZ1bmN0
aW9uIG9uRmluaXNoZWQocmVzb3VyY2UpCisgICAgeworICAgICAgICBvdXRwdXQoIkZpbmlzaGVk
IHJlc291cmNlOiAiICsgcmVzb3VyY2UucmVxdWVzdC51cmwpOworICAgICAgICBpZiAoKytmaW5p
c2hlZENvdW50ID09PSAyKSB7CisgICAgICAgICAgICB3ZWJJbnNwZWN0b3IucmVzb3VyY2VzLm9u
RmluaXNoZWQucmVtb3ZlTGlzdGVuZXIob25GaW5pc2hlZCk7CisgICAgICAgICAgICBuZXh0VGVz
dCgpOworICAgICAgICB9CisgICAgfQorICAgIHdlYkluc3BlY3Rvci5yZXNvdXJjZXMub25GaW5p
c2hlZC5hZGRMaXN0ZW5lcihvbkZpbmlzaGVkKTsKKyAgICB3ZWJJbnNwZWN0b3IuaW5zcGVjdGVk
V2luZG93LmV2YWwoImRvUmVxdWVzdCh0cnVlKSIpOworfQorCiB2YXIgcmVxdWVzdERvbmUgPSBm
YWxzZTsKIAotZnVuY3Rpb24gZG9SZXF1ZXN0KCkKK2Z1bmN0aW9uIGRvUmVxdWVzdChmb3JjZSkK
IHsKICAgICAvLyBPbmx5IGRvIHJlcXVlc3Qgb25jZSBwZXIgdGVzdCBzdWl0ZSwgdG8gbWFrZSB0
ZXN0cyBpbmRlcGVuZGVudCBvbiBlYWNoIG90aGVyLgogICAgIC8vIFJldHVybnMgdHJ1ZSBpZmYg
cmVxdWVzdCBpcyBhbHJlZHkgZG9uZSAoc28gdGhlIGNhbGxlciBzaG91bGRuJ3Qgd2FpdCBmb3Ig
b25GaW5pc2hlZCkuCi0gICAgaWYgKHJlcXVlc3REb25lKQorICAgIGlmIChyZXF1ZXN0RG9uZSAm
JiAhZm9yY2UpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIHJlcXVlc3REb25lID0gdHJ1ZTsK
ICAgICAvLyBXZSBjYW4ndCB1c2UgWEhSIGhlcmUgLS0gdGhlIGNvbnRlbnQgZm9yIFhIUnMgaXMg
cHVzaGVkIGZyb20gYmFjay1lbmQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTQ1MTg2My4uOGZlM2NkYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDExLTAxLTE0ICBBbmRyZXkgS29zeWFrb3YgIDxj
YXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogW0V4dGVuc2lvbnMgQVBJXSB3ZWJJbnNwZWN0b3Iu
cmVzb3VyY2VzLm9uRmluaXNoZWQgaXMgbm90IGZpcmVkIGZvciByZWRpcmVjdGVkIHJlc291cmNl
cworICAgICAgICBFeHRyYWN0IHJlc291cmNlIHN0YXJ0L2ZpbmlzaCBsb2dpYyB0byBtZXRob2Rz
IHNvIHN0YXJ0L2ZpbmlzaCBhcmUgaGFuZGxlZCBtb3JlIGNvbnNpc3RlbnRseSBvdmVyIHZhcmlv
dXMgZXZlbnRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTI0NTIKKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya01hbmFnZXIu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLnByb3RvdHlwZS5pZGVudGlmaWVyRm9ySW5pdGlhbFJl
cXVlc3QpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLnByb3RvdHlwZS53
aWxsU2VuZFJlcXVlc3QpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLnBy
b3RvdHlwZS5tYXJrUmVzb3VyY2VBc0NhY2hlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0
d29ya01hbmFnZXIucHJvdG90eXBlLmRpZFJlY2VpdmVSZXNwb25zZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuTmV0d29ya01hbmFnZXIucHJvdG90eXBlLmRpZFJlY2VpdmVDb250ZW50TGVuZ3Ro
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5wcm90b3R5cGUuZGlkRmlu
aXNoTG9hZGluZyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIucHJvdG90
eXBlLmRpZEZhaWxMb2FkaW5nKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdl
ci5wcm90b3R5cGUuZGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5wcm90b3R5cGUuZGlkQ3JlYXRlV2ViU29ja2V0KToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5wcm90b3R5cGUud2lsbFNlbmRX
ZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3Jr
TWFuYWdlci5wcm90b3R5cGUuZGlkUmVjZWl2ZVdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5wcm90b3R5cGUuZGlkQ2xvc2VX
ZWJTb2NrZXQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLnByb3RvdHlw
ZS5fYXBwZW5kUmVkaXJlY3QpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2Vy
LnByb3RvdHlwZS5fc3RhcnRSZXNvdXJjZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29y
a01hbmFnZXIucHJvdG90eXBlLl9maW5pc2hSZXNvdXJjZSk6CisKIDIwMTEtMDEtMTIgIElseWEg
VGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IFl1cnkgU2VtaWtoYXRza3kuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL05ldHdvcmtNYW5hZ2VyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9OZXR3b3JrTWFuYWdlci5qcwppbmRleCBjOGZmMmUwLi41OTY5ZmE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtNYW5hZ2VyLmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya01hbmFnZXIu
anMKQEAgLTMwLDcgKzMwLDcgQEAKIAogV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyID0gZnVu
Y3Rpb24ocmVzb3VyY2VUcmVlTW9kZWwpCiB7Ci0gICAgdGhpcy5fcmVzb3VyY2VzQnlJZCA9IHt9
OworICAgIHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzID0ge307CiAgICAgdGhpcy5fcmVzb3VyY2VU
cmVlTW9kZWwgPSByZXNvdXJjZVRyZWVNb2RlbDsKICAgICB0aGlzLl9sYXN0SWRlbnRpZmllckZv
ckNhY2hlZFJlc291cmNlID0gMDsKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRG9tYWlu
RGlzcGF0Y2hlcigiTmV0d29yayIsIHRoaXMpOwpAQCAtODksMTYgKzg5LDEyIEBAIFdlYkluc3Bl
Y3Rvci5OZXR3b3JrTWFuYWdlci51cGRhdGVSZXNvdXJjZVdpdGhDYWNoZWRSZXNvdXJjZSA9IGZ1
bmN0aW9uKHJlc291cmNlCiBXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIucHJvdG90eXBlID0g
ewogICAgIGlkZW50aWZpZXJGb3JJbml0aWFsUmVxdWVzdDogZnVuY3Rpb24oaWRlbnRpZmllciwg
dXJsLCBsb2FkZXIsIGNhbGxTdGFjaykKICAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZSA9IHRo
aXMuX3Jlc291cmNlVHJlZU1vZGVsLmNyZWF0ZVJlc291cmNlKGlkZW50aWZpZXIsIHVybCwgbG9h
ZGVyLCBjYWxsU3RhY2spOwotICAgICAgICB0aGlzLl9yZXNvdXJjZXNCeUlkW2lkZW50aWZpZXJd
ID0gcmVzb3VyY2U7Ci0KLSAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5uZXR3b3JrLmFwcGVu
ZFJlc291cmNlKHJlc291cmNlKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5hdWRpdHMu
cmVzb3VyY2VTdGFydGVkKHJlc291cmNlKTsKKyAgICAgICAgdGhpcy5fc3RhcnRSZXNvdXJjZSh0
aGlzLl9yZXNvdXJjZVRyZWVNb2RlbC5jcmVhdGVSZXNvdXJjZShpZGVudGlmaWVyLCB1cmwsIGxv
YWRlciwgY2FsbFN0YWNrKSk7CiAgICAgfSwKIAogICAgIHdpbGxTZW5kUmVxdWVzdDogZnVuY3Rp
b24oaWRlbnRpZmllciwgdGltZSwgcmVxdWVzdCwgcmVkaXJlY3RSZXNwb25zZSkKICAgICB7Ci0g
ICAgICAgIHZhciByZXNvdXJjZSA9IHRoaXMuX3Jlc291cmNlc0J5SWRbaWRlbnRpZmllcl07Cisg
ICAgICAgIHZhciByZXNvdXJjZSA9IHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzW2lkZW50aWZpZXJd
OwogICAgICAgICBpZiAoIXJlc291cmNlKQogICAgICAgICAgICAgcmV0dXJuOwogCkBAIC0xMDYs
MjQgKzEwMiwyMiBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIucHJvdG90eXBlID0gewog
ICAgICAgICAvLyBTZWUgaHR0cC90ZXN0cy9taXNjL3dpbGwtc2VuZC1yZXF1ZXN0LXJldHVybnMt
bnVsbC1vbi1yZWRpcmVjdC5odG1sCiAgICAgICAgIHZhciBpc1JlZGlyZWN0ID0gIXJlZGlyZWN0
UmVzcG9uc2UuaXNOdWxsICYmIHJlcXVlc3QudXJsLmxlbmd0aDsKICAgICAgICAgaWYgKGlzUmVk
aXJlY3QpIHsKLSAgICAgICAgICAgIHJlc291cmNlLmVuZFRpbWUgPSB0aW1lOwogICAgICAgICAg
ICAgdGhpcy5kaWRSZWNlaXZlUmVzcG9uc2UoaWRlbnRpZmllciwgdGltZSwgIk90aGVyIiwgcmVk
aXJlY3RSZXNwb25zZSk7Ci0gICAgICAgICAgICByZXNvdXJjZSA9IHRoaXMuX2FwcGVuZFJlZGly
ZWN0KHJlc291cmNlLmlkZW50aWZpZXIsIHJlcXVlc3QudXJsKTsKKyAgICAgICAgICAgIHJlc291
cmNlID0gdGhpcy5fYXBwZW5kUmVkaXJlY3QocmVzb3VyY2UuaWRlbnRpZmllciwgdGltZSwgcmVx
dWVzdC51cmwpOwogICAgICAgICB9CiAKICAgICAgICAgV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5h
Z2VyLnVwZGF0ZVJlc291cmNlV2l0aFJlcXVlc3QocmVzb3VyY2UsIHJlcXVlc3QpOwogICAgICAg
ICByZXNvdXJjZS5zdGFydFRpbWUgPSB0aW1lOwogCi0gICAgICAgIGlmIChpc1JlZGlyZWN0KSB7
Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLm5ldHdvcmsuYXBwZW5kUmVzb3VyY2Uo
cmVzb3VyY2UpOwotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5hdWRpdHMucmVzb3Vy
Y2VTdGFydGVkKHJlc291cmNlKTsKLSAgICAgICAgfSBlbHNlCisgICAgICAgIGlmIChpc1JlZGly
ZWN0KQorICAgICAgICAgICAgdGhpcy5fc3RhcnRSZXNvdXJjZShyZXNvdXJjZSk7CisgICAgICAg
IGVsc2UKICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMubmV0d29yay5yZWZyZXNoUmVz
b3VyY2UocmVzb3VyY2UpOwogICAgIH0sCiAKICAgICBtYXJrUmVzb3VyY2VBc0NhY2hlZDogZnVu
Y3Rpb24oaWRlbnRpZmllcikKICAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZSA9IHRoaXMuX3Jl
c291cmNlc0J5SWRbaWRlbnRpZmllcl07CisgICAgICAgIHZhciByZXNvdXJjZSA9IHRoaXMuX2lu
ZmxpZ2h0UmVzb3VyY2VzW2lkZW50aWZpZXJdOwogICAgICAgICBpZiAoIXJlc291cmNlKQogICAg
ICAgICAgICAgcmV0dXJuOwogCkBAIC0xMzMsNyArMTI3LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdv
cmtNYW5hZ2VyLnByb3RvdHlwZSA9IHsKIAogICAgIGRpZFJlY2VpdmVSZXNwb25zZTogZnVuY3Rp
b24oaWRlbnRpZmllciwgdGltZSwgcmVzb3VyY2VUeXBlLCByZXNwb25zZSkKICAgICB7Ci0gICAg
ICAgIHZhciByZXNvdXJjZSA9IHRoaXMuX3Jlc291cmNlc0J5SWRbaWRlbnRpZmllcl07CisgICAg
ICAgIHZhciByZXNvdXJjZSA9IHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzW2lkZW50aWZpZXJdOwog
ICAgICAgICBpZiAoIXJlc291cmNlKQogICAgICAgICAgICAgcmV0dXJuOwogCkBAIC0xNDgsNyAr
MTQyLDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLnByb3RvdHlwZSA9IHsKIAogICAg
IGRpZFJlY2VpdmVDb250ZW50TGVuZ3RoOiBmdW5jdGlvbihpZGVudGlmaWVyLCB0aW1lLCBsZW5n
dGhSZWNlaXZlZCkKICAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZSA9IHRoaXMuX3Jlc291cmNl
c0J5SWRbaWRlbnRpZmllcl07CisgICAgICAgIHZhciByZXNvdXJjZSA9IHRoaXMuX2luZmxpZ2h0
UmVzb3VyY2VzW2lkZW50aWZpZXJdOwogICAgICAgICBpZiAoIXJlc291cmNlKQogICAgICAgICAg
ICAgcmV0dXJuOwogCkBAIC0xNjAsMzQgKzE1NCwyMiBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya01h
bmFnZXIucHJvdG90eXBlID0gewogCiAgICAgZGlkRmluaXNoTG9hZGluZzogZnVuY3Rpb24oaWRl
bnRpZmllciwgZmluaXNoVGltZSkKICAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZSA9IHRoaXMu
X3Jlc291cmNlc0J5SWRbaWRlbnRpZmllcl07CisgICAgICAgIHZhciByZXNvdXJjZSA9IHRoaXMu
X2luZmxpZ2h0UmVzb3VyY2VzW2lkZW50aWZpZXJdOwogICAgICAgICBpZiAoIXJlc291cmNlKQog
ICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHJlc291cmNlLmVuZFRpbWUgPSBmaW5pc2hU
aW1lOwotICAgICAgICByZXNvdXJjZS5maW5pc2hlZCA9IHRydWU7Ci0KLSAgICAgICAgV2ViSW5z
cGVjdG9yLnBhbmVscy5uZXR3b3JrLnJlZnJlc2hSZXNvdXJjZShyZXNvdXJjZSk7Ci0gICAgICAg
IFdlYkluc3BlY3Rvci5wYW5lbHMuYXVkaXRzLnJlc291cmNlRmluaXNoZWQocmVzb3VyY2UpOwot
ICAgICAgICBXZWJJbnNwZWN0b3IuZXh0ZW5zaW9uU2VydmVyLm5vdGlmeVJlc291cmNlRmluaXNo
ZWQocmVzb3VyY2UpOwotICAgICAgICBkZWxldGUgdGhpcy5fcmVzb3VyY2VzQnlJZFtpZGVudGlm
aWVyXTsKKyAgICAgICAgdGhpcy5fZmluaXNoUmVzb3VyY2UocmVzb3VyY2UsIGZpbmlzaFRpbWUp
OwogICAgIH0sCiAKICAgICBkaWRGYWlsTG9hZGluZzogZnVuY3Rpb24oaWRlbnRpZmllciwgdGlt
ZSwgbG9jYWxpemVkRGVzY3JpcHRpb24pCiAgICAgewotICAgICAgICB2YXIgcmVzb3VyY2UgPSB0
aGlzLl9yZXNvdXJjZXNCeUlkW2lkZW50aWZpZXJdOworICAgICAgICB2YXIgcmVzb3VyY2UgPSB0
aGlzLl9pbmZsaWdodFJlc291cmNlc1tpZGVudGlmaWVyXTsKICAgICAgICAgaWYgKCFyZXNvdXJj
ZSkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICByZXNvdXJjZS5mYWlsZWQgPSB0cnVl
OwogICAgICAgICByZXNvdXJjZS5sb2NhbGl6ZWRGYWlsRGVzY3JpcHRpb24gPSBsb2NhbGl6ZWRE
ZXNjcmlwdGlvbjsKLSAgICAgICAgcmVzb3VyY2UuZmluaXNoZWQgPSB0cnVlOwotICAgICAgICBy
ZXNvdXJjZS5lbmRUaW1lID0gdGltZTsKLQotICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLm5l
dHdvcmsucmVmcmVzaFJlc291cmNlKHJlc291cmNlKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLnBh
bmVscy5hdWRpdHMucmVzb3VyY2VGaW5pc2hlZChyZXNvdXJjZSk7Ci0gICAgICAgIFdlYkluc3Bl
Y3Rvci5leHRlbnNpb25TZXJ2ZXIubm90aWZ5UmVzb3VyY2VGaW5pc2hlZChyZXNvdXJjZSk7Ci0g
ICAgICAgIGRlbGV0ZSB0aGlzLl9yZXNvdXJjZXNCeUlkW2lkZW50aWZpZXJdOworICAgICAgICB0
aGlzLl9maW5pc2hSZXNvdXJjZShyZXNvdXJjZSwgdGltZSk7CiAgICAgfSwKIAogICAgIGRpZExv
YWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZTogZnVuY3Rpb24odGltZSwgY2FjaGVkUmVzb3VyY2Up
CkBAIC0xOTYsMTIgKzE3OCw5IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5wcm90b3R5
cGUgPSB7CiAgICAgICAgIFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci51cGRhdGVSZXNvdXJj
ZVdpdGhDYWNoZWRSZXNvdXJjZShyZXNvdXJjZSwgY2FjaGVkUmVzb3VyY2UpOwogICAgICAgICBy
ZXNvdXJjZS5jYWNoZWQgPSB0cnVlOwogICAgICAgICByZXNvdXJjZS5yZXF1ZXN0TWV0aG9kID0g
IkdFVCI7Ci0gICAgICAgIHJlc291cmNlLnN0YXJ0VGltZSA9IHJlc291cmNlLnJlc3BvbnNlUmVj
ZWl2ZWRUaW1lID0gcmVzb3VyY2UuZW5kVGltZSA9IHRpbWU7Ci0gICAgICAgIHJlc291cmNlLmZp
bmlzaGVkID0gdHJ1ZTsKLQotICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLm5ldHdvcmsuYXBw
ZW5kUmVzb3VyY2UocmVzb3VyY2UpOwotICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLmF1ZGl0
cy5yZXNvdXJjZVN0YXJ0ZWQocmVzb3VyY2UpOwotICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxz
LmF1ZGl0cy5yZXNvdXJjZUZpbmlzaGVkKHJlc291cmNlKTsKKyAgICAgICAgdGhpcy5fc3RhcnRS
ZXNvdXJjZShyZXNvdXJjZSk7CisgICAgICAgIHJlc291cmNlLnN0YXJ0VGltZSA9IHJlc291cmNl
LnJlc3BvbnNlUmVjZWl2ZWRUaW1lID0gdGltZTsKKyAgICAgICAgdGhpcy5fZmluaXNoUmVzb3Vy
Y2UocmVzb3VyY2UsIHRpbWUpOwogICAgICAgICB0aGlzLl9yZXNvdXJjZVRyZWVNb2RlbC5hZGRS
ZXNvdXJjZVRvRnJhbWUocmVzb3VyY2UubG9hZGVyLmZyYW1lSWQsIHJlc291cmNlKTsKICAgICB9
LAogCkBAIC0yMzgsMTQgKzIxNywxMyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIucHJv
dG90eXBlID0gewogICAgIGRpZENyZWF0ZVdlYlNvY2tldDogZnVuY3Rpb24oaWRlbnRpZmllciwg
cmVxdWVzdFVSTCkKICAgICB7CiAgICAgICAgIHZhciByZXNvdXJjZSA9IHRoaXMuX3Jlc291cmNl
VHJlZU1vZGVsLmNyZWF0ZVJlc291cmNlKGlkZW50aWZpZXIsIHJlcXVlc3RVUkwpOwotICAgICAg
ICB0aGlzLl9yZXNvdXJjZXNCeUlkW2lkZW50aWZpZXJdID0gcmVzb3VyY2U7CiAgICAgICAgIHJl
c291cmNlLnR5cGUgPSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5XZWJTb2NrZXQ7Ci0gICAg
ICAgIFdlYkluc3BlY3Rvci5wYW5lbHMubmV0d29yay5hcHBlbmRSZXNvdXJjZShyZXNvdXJjZSk7
CisgICAgICAgIHRoaXMuX3N0YXJ0UmVzb3VyY2UocmVzb3VyY2UpOwogICAgIH0sCiAKICAgICB3
aWxsU2VuZFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3Q6IGZ1bmN0aW9uKGlkZW50aWZpZXIsIHRp
bWUsIHJlcXVlc3QpCiAgICAgewotICAgICAgICB2YXIgcmVzb3VyY2UgPSB0aGlzLl9yZXNvdXJj
ZXNCeUlkW2lkZW50aWZpZXJdOworICAgICAgICB2YXIgcmVzb3VyY2UgPSB0aGlzLl9pbmZsaWdo
dFJlc291cmNlc1tpZGVudGlmaWVyXTsKICAgICAgICAgaWYgKCFyZXNvdXJjZSkKICAgICAgICAg
ICAgIHJldHVybjsKIApAQCAtMjU5LDcgKzIzNyw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTWFu
YWdlci5wcm90b3R5cGUgPSB7CiAKICAgICBkaWRSZWNlaXZlV2ViU29ja2V0SGFuZHNoYWtlUmVz
cG9uc2U6IGZ1bmN0aW9uKGlkZW50aWZpZXIsIHRpbWUsIHJlc3BvbnNlKQogICAgIHsKLSAgICAg
ICAgdmFyIHJlc291cmNlID0gdGhpcy5fcmVzb3VyY2VzQnlJZFtpZGVudGlmaWVyXTsKKyAgICAg
ICAgdmFyIHJlc291cmNlID0gdGhpcy5faW5mbGlnaHRSZXNvdXJjZXNbaWRlbnRpZmllcl07CiAg
ICAgICAgIGlmICghcmVzb3VyY2UpCiAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTI3NCwyMSAr
MjUyLDE5IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5wcm90b3R5cGUgPSB7CiAKICAg
ICBkaWRDbG9zZVdlYlNvY2tldDogZnVuY3Rpb24oaWRlbnRpZmllciwgdGltZSkKICAgICB7Ci0g
ICAgICAgIHZhciByZXNvdXJjZSA9IHRoaXMuX3Jlc291cmNlc0J5SWRbaWRlbnRpZmllcl07Cisg
ICAgICAgIHZhciByZXNvdXJjZSA9IHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzW2lkZW50aWZpZXJd
OwogICAgICAgICBpZiAoIXJlc291cmNlKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBy
ZXNvdXJjZS5lbmRUaW1lID0gdGltZTsKLQotICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLm5l
dHdvcmsucmVmcmVzaFJlc291cmNlKHJlc291cmNlKTsKKyAgICAgICAgdGhpcy5fZmluaXNoUmVz
b3VyY2UocmVzb3VyY2UsIHRpbWUpOwogICAgIH0sCiAKLSAgICBfYXBwZW5kUmVkaXJlY3Q6IGZ1
bmN0aW9uKGlkZW50aWZpZXIsIHJlZGlyZWN0VVJMKQorICAgIF9hcHBlbmRSZWRpcmVjdDogZnVu
Y3Rpb24oaWRlbnRpZmllciwgdGltZSwgcmVkaXJlY3RVUkwpCiAgICAgewotICAgICAgICB2YXIg
b3JpZ2luYWxSZXNvdXJjZSA9IHRoaXMuX3Jlc291cmNlc0J5SWRbaWRlbnRpZmllcl07CisgICAg
ICAgIHZhciBvcmlnaW5hbFJlc291cmNlID0gdGhpcy5faW5mbGlnaHRSZXNvdXJjZXNbaWRlbnRp
Zmllcl07CiAgICAgICAgIHZhciBwcmV2aW91c1JlZGlyZWN0cyA9IG9yaWdpbmFsUmVzb3VyY2Uu
cmVkaXJlY3RzIHx8IFtdOwotICAgICAgICBvcmlnaW5hbFJlc291cmNlLmZpbmlzaGVkID0gdHJ1
ZTsKICAgICAgICAgb3JpZ2luYWxSZXNvdXJjZS5pZGVudGlmaWVyID0gInJlZGlyZWN0ZWQ6IiAr
IGlkZW50aWZpZXIgKyAiLiIgKyBwcmV2aW91c1JlZGlyZWN0cy5sZW5ndGg7CiAgICAgICAgIGRl
bGV0ZSBvcmlnaW5hbFJlc291cmNlLnJlZGlyZWN0czsKKyAgICAgICAgdGhpcy5fZmluaXNoUmVz
b3VyY2Uob3JpZ2luYWxSZXNvdXJjZSwgdGltZSk7CiAgICAgICAgIC8vIFdlIGJvdW5kIHJlc291
cmNlIGVhcmx5LCBidXQgaXQgaGFwcGVuZWQgdG8gYmUgYSByZWRpcmVjdCBhbmQgd29uJ3QgbWFr
ZSBpdCB0aHJvdWdoIHRvCiAgICAgICAgIC8vIHRoZSByZXNvdXJjZSB0cmVlIC0tIHNvIHVuYmlu
ZCBpdC4KICAgICAgICAgLy8gRklYTUU6IHdlIHNob3VsZCBiaW5kIHVwb24gYWRkaW5nIHRvIHRo
ZSB0cmVlIG9ubHkgKGVuY2Fwc3VsYXRlZCBpbnRvIFJlc291cmNlVHJlZU1vZGVsKSwKQEAgLTI5
Nyw3ICsyNzMsMjMgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgCiAgICAgICAgIHZhciBuZXdSZXNvdXJjZSA9IHRoaXMuX3Jlc291cmNlVHJlZU1v
ZGVsLmNyZWF0ZVJlc291cmNlKGlkZW50aWZpZXIsIHJlZGlyZWN0VVJMLCBvcmlnaW5hbFJlc291
cmNlLmxvYWRlciwgb3JpZ2luYWxSZXNvdXJjZS5zdGFja1RyYWNlKTsKICAgICAgICAgbmV3UmVz
b3VyY2UucmVkaXJlY3RzID0gcHJldmlvdXNSZWRpcmVjdHMuY29uY2F0KG9yaWdpbmFsUmVzb3Vy
Y2UpOwotICAgICAgICB0aGlzLl9yZXNvdXJjZXNCeUlkW2lkZW50aWZpZXJdID0gbmV3UmVzb3Vy
Y2U7CiAgICAgICAgIHJldHVybiBuZXdSZXNvdXJjZTsKKyAgICB9LAorCisgICAgX3N0YXJ0UmVz
b3VyY2U6IGZ1bmN0aW9uKHJlc291cmNlKQorICAgIHsKKyAgICAgICAgdGhpcy5faW5mbGlnaHRS
ZXNvdXJjZXNbcmVzb3VyY2UuaWRlbnRpZmllcl0gPSByZXNvdXJjZTsKKyAgICAgICAgV2ViSW5z
cGVjdG9yLnBhbmVscy5uZXR3b3JrLmFwcGVuZFJlc291cmNlKHJlc291cmNlKTsKKyAgICAgICAg
V2ViSW5zcGVjdG9yLnBhbmVscy5hdWRpdHMucmVzb3VyY2VTdGFydGVkKHJlc291cmNlKTsKKyAg
ICB9LAorCisgICAgX2ZpbmlzaFJlc291cmNlOiBmdW5jdGlvbihyZXNvdXJjZSwgZmluaXNoVGlt
ZSkKKyAgICB7CisgICAgICAgIHJlc291cmNlLmVuZFRpbWUgPSBmaW5pc2hUaW1lOworICAgICAg
ICByZXNvdXJjZS5maW5pc2hlZCA9IHRydWU7CisgICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMu
bmV0d29yay5yZWZyZXNoUmVzb3VyY2UocmVzb3VyY2UpOworICAgICAgICBXZWJJbnNwZWN0b3Iu
cGFuZWxzLmF1ZGl0cy5yZXNvdXJjZUZpbmlzaGVkKHJlc291cmNlKTsKKyAgICAgICAgV2ViSW5z
cGVjdG9yLmV4dGVuc2lvblNlcnZlci5ub3RpZnlSZXNvdXJjZUZpbmlzaGVkKHJlc291cmNlKTsK
KyAgICAgICAgZGVsZXRlIHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzW3Jlc291cmNlLmlkZW50aWZp
ZXJdOwogICAgIH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79180</attachid>
            <date>2011-01-17 09:15:45 -0800</date>
            <delta_ts>2011-01-17 09:15:45 -0800</delta_ts>
            <desc>patch to land</desc>
            <filename>redirect-finish.diff</filename>
            <type>text/plain</type>
            <size>15790</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlZDllN2JmLi40OTE5OTY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDEt
MTcgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBQYXZlbCBGZWxkbWFuLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtFeHRlbnNp
b25zIEFQSV0gd2ViSW5zcGVjdG9yLnJlc291cmNlcy5vbkZpbmlzaGVkIGlzIG5vdCBmaXJlZCBm
b3IgcmVkaXJlY3RlZCByZXNvdXJjZXMKKyAgICAgICAgQWRkZWQgdGVzdCBmb3IgZmluaXNoZWQg
ZXZlbnQgYmVpbmcgc2VudCBmb3IgcmVkaXJlY3RlZCByZXNvdXJjZXMuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjQ1MgorCisgICAgICAgICogaHR0
cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1yZXNvdXJjZXMtcmVkaXJlY3QtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtcmVzb3VyY2Vz
LXJlZGlyZWN0Lmh0bWw6CisKIDIwMTEtMDEtMTcgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgTm90IHJldmlld2VkOiBmaXJzdCB0aW1lbGluZS1uZXR3
b3JrLXJlc291cmNlIGZsYWtpbmVzcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtcmVzb3VyY2VzLXJlZGlyZWN0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtcmVzb3VyY2VzLXJl
ZGlyZWN0LWV4cGVjdGVkLnR4dAppbmRleCAxN2E4YmM0Li5jMTkwM2RlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNlcy1yZWRp
cmVjdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
ZXh0ZW5zaW9ucy1yZXNvdXJjZXMtcmVkaXJlY3QtZXhwZWN0ZWQudHh0CkBAIC01LDcgKzUsMTEg
QEAgU3RhcnRlZCBleHRlbnNpb24uCiAKIFJ1bm5pbmcgdGVzdHMuLi4KIFJVTk5JTkcgVEVTVDog
ZXh0ZW5zaW9uX3Rlc3RHZXRSZWRpcmVjdFJlc291cmNlQ29udGVudAorCiBjb250ZW50OiB1bmRl
ZmluZWQsIGVuY29kaW5nOiB1bmRlZmluZWQKK1JVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RS
ZWRpcmVjdFJlc291cmNlRmluaXNoZWQKK0ZpbmlzaGVkIHJlc291cmNlOiBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvbG9hZGluZy9yZXNvdXJjZXMvcmVkaXJlY3QtbWV0aG9kcy1yZXN1bHQucGhwP3Jl
ZGlyZWN0ZWQ9dHJ1ZQorRmluaXNoZWQgcmVzb3VyY2U6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9s
b2FkaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1tZXRob2RzLXJlc3VsdC5waHA/c3RhdHVzPTMwMgog
UlVOTklORyBURVNUOiBleHRlbnNpb25fdGVzdFJlZGlyZWN0UmVzb3VyY2VzSW5IQVIKIFJlc291
cmNlcyBpbiBIQVI6CiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2V4dGVuc2lvbnMt
cmVzb3VyY2VzLXJlZGlyZWN0Lmh0bWwKQEAgLTEzLDYgKzE3LDggQEAgaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNlcy10ZXN0LmpzCiBodHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2V4dGVuc2lvbnMtdGVzdC5qcwogaHR0cDovLzEyNy4wLjAu
MTo4MDAwL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdDIuanMKIGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9sb2FkaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1tZXRob2RzLXJlc3VsdC5waHA/cmVkaXJlY3Rl
ZD10cnVlCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvbG9hZGluZy9yZXNvdXJjZXMvcmVkaXJlY3Qt
bWV0aG9kcy1yZXN1bHQucGhwP3JlZGlyZWN0ZWQ9dHJ1ZQoraHR0cDovLzEyNy4wLjAuMTo4MDAw
L2xvYWRpbmcvcmVzb3VyY2VzL3JlZGlyZWN0LW1ldGhvZHMtcmVzdWx0LnBocD9zdGF0dXM9MzAy
CiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbG9hZGluZy9yZXNvdXJjZXMvcmVkaXJlY3QtbWV0aG9k
cy1yZXN1bHQucGhwP3N0YXR1cz0zMDIKIEFsbCB0ZXN0cyBkb25lLgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNlcy1yZWRp
cmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy1y
ZXNvdXJjZXMtcmVkaXJlY3QuaHRtbAppbmRleCA0YjY0OTg5Li44ZTgzMWYxIDEwMDc1NQotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXJlc291cmNlcy1y
ZWRpcmVjdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVu
c2lvbnMtcmVzb3VyY2VzLXJlZGlyZWN0Lmh0bWwKQEAgLTU4LDEzICs1OCwyOCBAQCBmdW5jdGlv
biBleHRlbnNpb25fdGVzdFJlZGlyZWN0UmVzb3VyY2VzSW5IQVIobmV4dFRlc3QpCiAgICAgZXh0
ZW5zaW9uX2RvUmVxdWVzdChvbkZpbmlzaGVkKTsKIH0KIAorZnVuY3Rpb24gZXh0ZW5zaW9uX3Rl
c3RSZWRpcmVjdFJlc291cmNlRmluaXNoZWQobmV4dFRlc3QpCit7CisgICAgdmFyIGZpbmlzaGVk
Q291bnQgPSAwOworICAgIGZ1bmN0aW9uIG9uRmluaXNoZWQocmVzb3VyY2UpCisgICAgeworICAg
ICAgICBvdXRwdXQoIkZpbmlzaGVkIHJlc291cmNlOiAiICsgcmVzb3VyY2UucmVxdWVzdC51cmwp
OworICAgICAgICBpZiAoKytmaW5pc2hlZENvdW50ID09PSAyKSB7CisgICAgICAgICAgICB3ZWJJ
bnNwZWN0b3IucmVzb3VyY2VzLm9uRmluaXNoZWQucmVtb3ZlTGlzdGVuZXIob25GaW5pc2hlZCk7
CisgICAgICAgICAgICBuZXh0VGVzdCgpOworICAgICAgICB9CisgICAgfQorICAgIHdlYkluc3Bl
Y3Rvci5yZXNvdXJjZXMub25GaW5pc2hlZC5hZGRMaXN0ZW5lcihvbkZpbmlzaGVkKTsKKyAgICB3
ZWJJbnNwZWN0b3IuaW5zcGVjdGVkV2luZG93LmV2YWwoImRvUmVxdWVzdCh0cnVlKSIpOworfQor
CiB2YXIgcmVxdWVzdERvbmUgPSBmYWxzZTsKIAotZnVuY3Rpb24gZG9SZXF1ZXN0KCkKK2Z1bmN0
aW9uIGRvUmVxdWVzdChmb3JjZSkKIHsKICAgICAvLyBPbmx5IGRvIHJlcXVlc3Qgb25jZSBwZXIg
dGVzdCBzdWl0ZSwgdG8gbWFrZSB0ZXN0cyBpbmRlcGVuZGVudCBvbiBlYWNoIG90aGVyLgogICAg
IC8vIFJldHVybnMgdHJ1ZSBpZmYgcmVxdWVzdCBpcyBhbHJlZHkgZG9uZSAoc28gdGhlIGNhbGxl
ciBzaG91bGRuJ3Qgd2FpdCBmb3Igb25GaW5pc2hlZCkuCi0gICAgaWYgKHJlcXVlc3REb25lKQor
ICAgIGlmIChyZXF1ZXN0RG9uZSAmJiAhZm9yY2UpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IHJlcXVlc3REb25lID0gdHJ1ZTsKICAgICAvLyBXZSBjYW4ndCB1c2UgWEhSIGhlcmUgLS0gdGhl
IGNvbnRlbnQgZm9yIFhIUnMgaXMgcHVzaGVkIGZyb20gYmFjay1lbmQuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YjI5ZmU0OC4uNTUzNDA1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDExLTAxLTE3
ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBbRXh0ZW5zaW9u
cyBBUEldIHdlYkluc3BlY3Rvci5yZXNvdXJjZXMub25GaW5pc2hlZCBpcyBub3QgZmlyZWQgZm9y
IHJlZGlyZWN0ZWQgcmVzb3VyY2VzCisgICAgICAgIE1ha2UgcmVzb3VyY2Ugc3RhcnQvZmluaXNo
IGhhbmxkaW5nIG1vcmUgY29uc2lzdGVudC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTUyNDUyCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L0F1ZGl0TGF1bmNoZXJWaWV3LmpzOiBJZ25vcmUgV2ViU29ja2V0IHJlc291cmNlcyB3aGVuIGRp
c3BsYXlpbmcgcHJvZ3Jlc3MgaW5kaWNhdG9yCisgICAgICAgIChXZWJJbnNwZWN0b3IuQXVkaXRM
YXVuY2hlclZpZXcucHJvdG90eXBlLl9yZXNldFJlc291cmNlQ291bnQpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkF1ZGl0TGF1bmNoZXJWaWV3LnByb3RvdHlwZS5yZXNvdXJjZVN0YXJ0ZWQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkF1ZGl0TGF1bmNoZXJWaWV3LnByb3RvdHlwZS5yZXNvdXJj
ZUZpbmlzaGVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtNYW5hZ2Vy
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyKTogRmFjdG9yIG91dCBy
ZXNvdXJjZSBzdGFydC9maW5pc2ggbG9naWMgdG8gX3N0YXJ0UmVzb3VyY2UoKS9fZmluaXNoUmVz
b3VyY2UoKQorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLnByb3RvdHlwZS5p
ZGVudGlmaWVyRm9ySW5pdGlhbFJlcXVlc3QpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdv
cmtNYW5hZ2VyLnByb3RvdHlwZS53aWxsU2VuZFJlcXVlc3QpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLk5ldHdvcmtNYW5hZ2VyLnByb3RvdHlwZS5tYXJrUmVzb3VyY2VBc0NhY2hlZCk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIucHJvdG90eXBlLmRpZFJlY2VpdmVSZXNw
b25zZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIucHJvdG90eXBlLmRp
ZFJlY2VpdmVDb250ZW50TGVuZ3RoKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTWFu
YWdlci5wcm90b3R5cGUuZGlkRmluaXNoTG9hZGluZyk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
TmV0d29ya01hbmFnZXIucHJvdG90eXBlLmRpZEZhaWxMb2FkaW5nKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5OZXR3b3JrTWFuYWdlci5wcm90b3R5cGUuZGlkTG9hZFJlc291cmNlRnJvbU1lbW9y
eUNhY2hlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5wcm90b3R5cGUu
ZGlkQ3JlYXRlV2ViU29ja2V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdl
ci5wcm90b3R5cGUud2lsbFNlbmRXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0KToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5wcm90b3R5cGUuZGlkUmVjZWl2ZVdlYlNvY2tl
dEhhbmRzaGFrZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdl
ci5wcm90b3R5cGUuZGlkQ2xvc2VXZWJTb2NrZXQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5l
dHdvcmtNYW5hZ2VyLnByb3RvdHlwZS5fYXBwZW5kUmVkaXJlY3QpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLk5ldHdvcmtNYW5hZ2VyLnByb3RvdHlwZS5fc3RhcnRSZXNvdXJjZSk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIucHJvdG90eXBlLl9maW5pc2hSZXNvdXJjZSk6
CisKIDIwMTEtMDEtMTcgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRMYXVuY2hlclZpZXcuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0TGF1bmNoZXJWaWV3LmpzCmluZGV4
IDNlYzRiYTIuLmMxNDA1ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvQXVkaXRMYXVuY2hlclZpZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9BdWRpdExhdW5jaGVyVmlldy5qcwpAQCAtODIsMjAgKzgyLDIxIEBAIFdl
Ykluc3BlY3Rvci5BdWRpdExhdW5jaGVyVmlldy5wcm90b3R5cGUgPSB7CiAgICAgX3Jlc2V0UmVz
b3VyY2VDb3VudDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdGhpcy5sb2FkZWRSZXNvdXJj
ZXMgPSAwOwotCi0gICAgICAgIC8vIFdlIG5ldmVyIHJlY2VpdmUgYSByZXNvdXJjZVN0YXJ0ZWQg
bm90aWZpY2F0aW9uIGZvciB0aGUgbWFpbiByZXNvdXJjZQotICAgICAgICAvLyAoc2VlIEluc3Bl
Y3RvckNvbnRyb2xsZXIud2lsbFNlbmRSZXF1ZXN0KCkpCi0gICAgICAgIHRoaXMudG90YWxSZXNv
dXJjZXMgPSAxOworICAgICAgICB0aGlzLnRvdGFsUmVzb3VyY2VzID0gMDsKICAgICB9LAogCiAg
ICAgcmVzb3VyY2VTdGFydGVkOiBmdW5jdGlvbihyZXNvdXJjZSkKICAgICB7Ci0gICAgICAgICsr
dGhpcy50b3RhbFJlc291cmNlczsKKyAgICAgICAgLy8gSWdub3JlIGxvbmctbGl2aW5nIFdlYlNv
Y2tldHMgZm9yIHRoZSBzYWtlIG9mIHByb2dyZXNzIGluZGljYXRvciwgYXMgd2Ugd29uJ3QgYmUg
d2FpdGluZyB0aGVtIGFueXdheS4KKyAgICAgICAgaWYgKHJlc291cmNlLnR5cGUgIT09IFdlYklu
c3BlY3Rvci5SZXNvdXJjZS5UeXBlLldlYlNvY2tldCkKKyAgICAgICAgICAgICsrdGhpcy50b3Rh
bFJlc291cmNlczsKICAgICB9LAogCiAgICAgcmVzb3VyY2VGaW5pc2hlZDogZnVuY3Rpb24ocmVz
b3VyY2UpCiAgICAgewotICAgICAgICArK3RoaXMubG9hZGVkUmVzb3VyY2VzOworICAgICAgICAv
LyBTZWUgcmVzb3JjZVN0YXJ0ZWQgZm9yIGRldGFpbHMuCisgICAgICAgIGlmIChyZXNvdXJjZS50
eXBlICE9PSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5XZWJTb2NrZXQpCisgICAgICAgICAg
ICArK3RoaXMubG9hZGVkUmVzb3VyY2VzOwogICAgIH0sCiAKICAgICByZXNldDogZnVuY3Rpb24o
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3Jr
TWFuYWdlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya01h
bmFnZXIuanMKaW5kZXggMzk0MmRiNi4uYTY1NzM3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrTWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtNYW5hZ2VyLmpzCkBAIC0zMCw3ICszMCw3
IEBACiAKIFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlciA9IGZ1bmN0aW9uKHJlc291cmNlVHJl
ZU1vZGVsKQogewotICAgIHRoaXMuX3Jlc291cmNlc0J5SWQgPSB7fTsKKyAgICB0aGlzLl9pbmZs
aWdodFJlc291cmNlcyA9IHt9OwogICAgIHRoaXMuX3Jlc291cmNlVHJlZU1vZGVsID0gcmVzb3Vy
Y2VUcmVlTW9kZWw7CiAgICAgdGhpcy5fbGFzdElkZW50aWZpZXJGb3JDYWNoZWRSZXNvdXJjZSA9
IDA7CiAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRvbWFpbkRpc3BhdGNoZXIoIk5ldHdv
cmsiLCB0aGlzKTsKQEAgLTk2LDE2ICs5NiwxMiBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFn
ZXIucHJvdG90eXBlID0gewogCiAgICAgaWRlbnRpZmllckZvckluaXRpYWxSZXF1ZXN0OiBmdW5j
dGlvbihpZGVudGlmaWVyLCB1cmwsIGxvYWRlciwgY2FsbFN0YWNrKQogICAgIHsKLSAgICAgICAg
dmFyIHJlc291cmNlID0gdGhpcy5fcmVzb3VyY2VUcmVlTW9kZWwuY3JlYXRlUmVzb3VyY2UoaWRl
bnRpZmllciwgdXJsLCBsb2FkZXIsIGNhbGxTdGFjayk7Ci0gICAgICAgIHRoaXMuX3Jlc291cmNl
c0J5SWRbaWRlbnRpZmllcl0gPSByZXNvdXJjZTsKLQotICAgICAgICBXZWJJbnNwZWN0b3IucGFu
ZWxzLm5ldHdvcmsuYXBwZW5kUmVzb3VyY2UocmVzb3VyY2UpOwotICAgICAgICBXZWJJbnNwZWN0
b3IucGFuZWxzLmF1ZGl0cy5yZXNvdXJjZVN0YXJ0ZWQocmVzb3VyY2UpOworICAgICAgICB0aGlz
Ll9zdGFydFJlc291cmNlKHRoaXMuX3Jlc291cmNlVHJlZU1vZGVsLmNyZWF0ZVJlc291cmNlKGlk
ZW50aWZpZXIsIHVybCwgbG9hZGVyLCBjYWxsU3RhY2spKTsKICAgICB9LAogCiAgICAgd2lsbFNl
bmRSZXF1ZXN0OiBmdW5jdGlvbihpZGVudGlmaWVyLCB0aW1lLCByZXF1ZXN0LCByZWRpcmVjdFJl
c3BvbnNlKQogICAgIHsKLSAgICAgICAgdmFyIHJlc291cmNlID0gdGhpcy5fcmVzb3VyY2VzQnlJ
ZFtpZGVudGlmaWVyXTsKKyAgICAgICAgdmFyIHJlc291cmNlID0gdGhpcy5faW5mbGlnaHRSZXNv
dXJjZXNbaWRlbnRpZmllcl07CiAgICAgICAgIGlmICghcmVzb3VyY2UpCiAgICAgICAgICAgICBy
ZXR1cm47CiAKQEAgLTExMywyNCArMTA5LDIyIEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdl
ci5wcm90b3R5cGUgPSB7CiAgICAgICAgIC8vIFNlZSBodHRwL3Rlc3RzL21pc2Mvd2lsbC1zZW5k
LXJlcXVlc3QtcmV0dXJucy1udWxsLW9uLXJlZGlyZWN0Lmh0bWwKICAgICAgICAgdmFyIGlzUmVk
aXJlY3QgPSAhcmVkaXJlY3RSZXNwb25zZS5pc051bGwgJiYgcmVxdWVzdC51cmwubGVuZ3RoOwog
ICAgICAgICBpZiAoaXNSZWRpcmVjdCkgewotICAgICAgICAgICAgcmVzb3VyY2UuZW5kVGltZSA9
IHRpbWU7CiAgICAgICAgICAgICB0aGlzLmRpZFJlY2VpdmVSZXNwb25zZShpZGVudGlmaWVyLCB0
aW1lLCAiT3RoZXIiLCByZWRpcmVjdFJlc3BvbnNlKTsKLSAgICAgICAgICAgIHJlc291cmNlID0g
dGhpcy5fYXBwZW5kUmVkaXJlY3QocmVzb3VyY2UuaWRlbnRpZmllciwgcmVxdWVzdC51cmwpOwor
ICAgICAgICAgICAgcmVzb3VyY2UgPSB0aGlzLl9hcHBlbmRSZWRpcmVjdChyZXNvdXJjZS5pZGVu
dGlmaWVyLCB0aW1lLCByZXF1ZXN0LnVybCk7CiAgICAgICAgIH0KIAogICAgICAgICBXZWJJbnNw
ZWN0b3IuTmV0d29ya01hbmFnZXIudXBkYXRlUmVzb3VyY2VXaXRoUmVxdWVzdChyZXNvdXJjZSwg
cmVxdWVzdCk7CiAgICAgICAgIHJlc291cmNlLnN0YXJ0VGltZSA9IHRpbWU7CiAKLSAgICAgICAg
aWYgKGlzUmVkaXJlY3QpIHsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMubmV0d29y
ay5hcHBlbmRSZXNvdXJjZShyZXNvdXJjZSk7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IucGFu
ZWxzLmF1ZGl0cy5yZXNvdXJjZVN0YXJ0ZWQocmVzb3VyY2UpOwotICAgICAgICB9IGVsc2UKKyAg
ICAgICAgaWYgKGlzUmVkaXJlY3QpCisgICAgICAgICAgICB0aGlzLl9zdGFydFJlc291cmNlKHJl
c291cmNlKTsKKyAgICAgICAgZWxzZQogICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5u
ZXR3b3JrLnJlZnJlc2hSZXNvdXJjZShyZXNvdXJjZSk7CiAgICAgfSwKIAogICAgIG1hcmtSZXNv
dXJjZUFzQ2FjaGVkOiBmdW5jdGlvbihpZGVudGlmaWVyKQogICAgIHsKLSAgICAgICAgdmFyIHJl
c291cmNlID0gdGhpcy5fcmVzb3VyY2VzQnlJZFtpZGVudGlmaWVyXTsKKyAgICAgICAgdmFyIHJl
c291cmNlID0gdGhpcy5faW5mbGlnaHRSZXNvdXJjZXNbaWRlbnRpZmllcl07CiAgICAgICAgIGlm
ICghcmVzb3VyY2UpCiAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTE0MCw3ICsxMzQsNyBAQCBX
ZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIucHJvdG90eXBlID0gewogCiAgICAgZGlkUmVjZWl2
ZVJlc3BvbnNlOiBmdW5jdGlvbihpZGVudGlmaWVyLCB0aW1lLCByZXNvdXJjZVR5cGUsIHJlc3Bv
bnNlKQogICAgIHsKLSAgICAgICAgdmFyIHJlc291cmNlID0gdGhpcy5fcmVzb3VyY2VzQnlJZFtp
ZGVudGlmaWVyXTsKKyAgICAgICAgdmFyIHJlc291cmNlID0gdGhpcy5faW5mbGlnaHRSZXNvdXJj
ZXNbaWRlbnRpZmllcl07CiAgICAgICAgIGlmICghcmVzb3VyY2UpCiAgICAgICAgICAgICByZXR1
cm47CiAKQEAgLTE1NSw3ICsxNDksNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIucHJv
dG90eXBlID0gewogCiAgICAgZGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGg6IGZ1bmN0aW9uKGlkZW50
aWZpZXIsIHRpbWUsIGxlbmd0aFJlY2VpdmVkKQogICAgIHsKLSAgICAgICAgdmFyIHJlc291cmNl
ID0gdGhpcy5fcmVzb3VyY2VzQnlJZFtpZGVudGlmaWVyXTsKKyAgICAgICAgdmFyIHJlc291cmNl
ID0gdGhpcy5faW5mbGlnaHRSZXNvdXJjZXNbaWRlbnRpZmllcl07CiAgICAgICAgIGlmICghcmVz
b3VyY2UpCiAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTE2NywzNCArMTYxLDIyIEBAIFdlYklu
c3BlY3Rvci5OZXR3b3JrTWFuYWdlci5wcm90b3R5cGUgPSB7CiAKICAgICBkaWRGaW5pc2hMb2Fk
aW5nOiBmdW5jdGlvbihpZGVudGlmaWVyLCBmaW5pc2hUaW1lKQogICAgIHsKLSAgICAgICAgdmFy
IHJlc291cmNlID0gdGhpcy5fcmVzb3VyY2VzQnlJZFtpZGVudGlmaWVyXTsKKyAgICAgICAgdmFy
IHJlc291cmNlID0gdGhpcy5faW5mbGlnaHRSZXNvdXJjZXNbaWRlbnRpZmllcl07CiAgICAgICAg
IGlmICghcmVzb3VyY2UpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgcmVzb3VyY2Uu
ZW5kVGltZSA9IGZpbmlzaFRpbWU7Ci0gICAgICAgIHJlc291cmNlLmZpbmlzaGVkID0gdHJ1ZTsK
LQotICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLm5ldHdvcmsucmVmcmVzaFJlc291cmNlKHJl
c291cmNlKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5hdWRpdHMucmVzb3VyY2VGaW5p
c2hlZChyZXNvdXJjZSk7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5leHRlbnNpb25TZXJ2ZXIubm90
aWZ5UmVzb3VyY2VGaW5pc2hlZChyZXNvdXJjZSk7Ci0gICAgICAgIGRlbGV0ZSB0aGlzLl9yZXNv
dXJjZXNCeUlkW2lkZW50aWZpZXJdOworICAgICAgICB0aGlzLl9maW5pc2hSZXNvdXJjZShyZXNv
dXJjZSwgZmluaXNoVGltZSk7CiAgICAgfSwKIAogICAgIGRpZEZhaWxMb2FkaW5nOiBmdW5jdGlv
bihpZGVudGlmaWVyLCB0aW1lLCBsb2NhbGl6ZWREZXNjcmlwdGlvbikKICAgICB7Ci0gICAgICAg
IHZhciByZXNvdXJjZSA9IHRoaXMuX3Jlc291cmNlc0J5SWRbaWRlbnRpZmllcl07CisgICAgICAg
IHZhciByZXNvdXJjZSA9IHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzW2lkZW50aWZpZXJdOwogICAg
ICAgICBpZiAoIXJlc291cmNlKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHJlc291
cmNlLmZhaWxlZCA9IHRydWU7CiAgICAgICAgIHJlc291cmNlLmxvY2FsaXplZEZhaWxEZXNjcmlw
dGlvbiA9IGxvY2FsaXplZERlc2NyaXB0aW9uOwotICAgICAgICByZXNvdXJjZS5maW5pc2hlZCA9
IHRydWU7Ci0gICAgICAgIHJlc291cmNlLmVuZFRpbWUgPSB0aW1lOwotCi0gICAgICAgIFdlYklu
c3BlY3Rvci5wYW5lbHMubmV0d29yay5yZWZyZXNoUmVzb3VyY2UocmVzb3VyY2UpOwotICAgICAg
ICBXZWJJbnNwZWN0b3IucGFuZWxzLmF1ZGl0cy5yZXNvdXJjZUZpbmlzaGVkKHJlc291cmNlKTsK
LSAgICAgICAgV2ViSW5zcGVjdG9yLmV4dGVuc2lvblNlcnZlci5ub3RpZnlSZXNvdXJjZUZpbmlz
aGVkKHJlc291cmNlKTsKLSAgICAgICAgZGVsZXRlIHRoaXMuX3Jlc291cmNlc0J5SWRbaWRlbnRp
Zmllcl07CisgICAgICAgIHRoaXMuX2ZpbmlzaFJlc291cmNlKHJlc291cmNlLCB0aW1lKTsKICAg
ICB9LAogCiAgICAgZGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlOiBmdW5jdGlvbih0aW1l
LCBjYWNoZWRSZXNvdXJjZSkKQEAgLTIwMywxMiArMTg1LDkgQEAgV2ViSW5zcGVjdG9yLk5ldHdv
cmtNYW5hZ2VyLnByb3RvdHlwZSA9IHsKICAgICAgICAgV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5h
Z2VyLnVwZGF0ZVJlc291cmNlV2l0aENhY2hlZFJlc291cmNlKHJlc291cmNlLCBjYWNoZWRSZXNv
dXJjZSk7CiAgICAgICAgIHJlc291cmNlLmNhY2hlZCA9IHRydWU7CiAgICAgICAgIHJlc291cmNl
LnJlcXVlc3RNZXRob2QgPSAiR0VUIjsKLSAgICAgICAgcmVzb3VyY2Uuc3RhcnRUaW1lID0gcmVz
b3VyY2UucmVzcG9uc2VSZWNlaXZlZFRpbWUgPSByZXNvdXJjZS5lbmRUaW1lID0gdGltZTsKLSAg
ICAgICAgcmVzb3VyY2UuZmluaXNoZWQgPSB0cnVlOwotCi0gICAgICAgIFdlYkluc3BlY3Rvci5w
YW5lbHMubmV0d29yay5hcHBlbmRSZXNvdXJjZShyZXNvdXJjZSk7Ci0gICAgICAgIFdlYkluc3Bl
Y3Rvci5wYW5lbHMuYXVkaXRzLnJlc291cmNlU3RhcnRlZChyZXNvdXJjZSk7Ci0gICAgICAgIFdl
Ykluc3BlY3Rvci5wYW5lbHMuYXVkaXRzLnJlc291cmNlRmluaXNoZWQocmVzb3VyY2UpOworICAg
ICAgICB0aGlzLl9zdGFydFJlc291cmNlKHJlc291cmNlKTsKKyAgICAgICAgcmVzb3VyY2Uuc3Rh
cnRUaW1lID0gcmVzb3VyY2UucmVzcG9uc2VSZWNlaXZlZFRpbWUgPSB0aW1lOworICAgICAgICB0
aGlzLl9maW5pc2hSZXNvdXJjZShyZXNvdXJjZSwgdGltZSk7CiAgICAgICAgIHRoaXMuX3Jlc291
cmNlVHJlZU1vZGVsLmFkZFJlc291cmNlVG9GcmFtZShyZXNvdXJjZS5sb2FkZXIuZnJhbWVJZCwg
cmVzb3VyY2UpOwogICAgIH0sCiAKQEAgLTI0NSwxNCArMjI0LDEzIEBAIFdlYkluc3BlY3Rvci5O
ZXR3b3JrTWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICAgZGlkQ3JlYXRlV2ViU29ja2V0OiBmdW5j
dGlvbihpZGVudGlmaWVyLCByZXF1ZXN0VVJMKQogICAgIHsKICAgICAgICAgdmFyIHJlc291cmNl
ID0gdGhpcy5fcmVzb3VyY2VUcmVlTW9kZWwuY3JlYXRlUmVzb3VyY2UoaWRlbnRpZmllciwgcmVx
dWVzdFVSTCk7Ci0gICAgICAgIHRoaXMuX3Jlc291cmNlc0J5SWRbaWRlbnRpZmllcl0gPSByZXNv
dXJjZTsKICAgICAgICAgcmVzb3VyY2UudHlwZSA9IFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBl
LldlYlNvY2tldDsKLSAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5uZXR3b3JrLmFwcGVuZFJl
c291cmNlKHJlc291cmNlKTsKKyAgICAgICAgdGhpcy5fc3RhcnRSZXNvdXJjZShyZXNvdXJjZSk7
CiAgICAgfSwKIAogICAgIHdpbGxTZW5kV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdDogZnVuY3Rp
b24oaWRlbnRpZmllciwgdGltZSwgcmVxdWVzdCkKICAgICB7Ci0gICAgICAgIHZhciByZXNvdXJj
ZSA9IHRoaXMuX3Jlc291cmNlc0J5SWRbaWRlbnRpZmllcl07CisgICAgICAgIHZhciByZXNvdXJj
ZSA9IHRoaXMuX2luZmxpZ2h0UmVzb3VyY2VzW2lkZW50aWZpZXJdOwogICAgICAgICBpZiAoIXJl
c291cmNlKQogICAgICAgICAgICAgcmV0dXJuOwogCkBAIC0yNjYsNyArMjQ0LDcgQEAgV2ViSW5z
cGVjdG9yLk5ldHdvcmtNYW5hZ2VyLnByb3RvdHlwZSA9IHsKIAogICAgIGRpZFJlY2VpdmVXZWJT
b2NrZXRIYW5kc2hha2VSZXNwb25zZTogZnVuY3Rpb24oaWRlbnRpZmllciwgdGltZSwgcmVzcG9u
c2UpCiAgICAgewotICAgICAgICB2YXIgcmVzb3VyY2UgPSB0aGlzLl9yZXNvdXJjZXNCeUlkW2lk
ZW50aWZpZXJdOworICAgICAgICB2YXIgcmVzb3VyY2UgPSB0aGlzLl9pbmZsaWdodFJlc291cmNl
c1tpZGVudGlmaWVyXTsKICAgICAgICAgaWYgKCFyZXNvdXJjZSkKICAgICAgICAgICAgIHJldHVy
bjsKIApAQCAtMjgxLDIxICsyNTksMTkgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLnBy
b3RvdHlwZSA9IHsKIAogICAgIGRpZENsb3NlV2ViU29ja2V0OiBmdW5jdGlvbihpZGVudGlmaWVy
LCB0aW1lKQogICAgIHsKLSAgICAgICAgdmFyIHJlc291cmNlID0gdGhpcy5fcmVzb3VyY2VzQnlJ
ZFtpZGVudGlmaWVyXTsKKyAgICAgICAgdmFyIHJlc291cmNlID0gdGhpcy5faW5mbGlnaHRSZXNv
dXJjZXNbaWRlbnRpZmllcl07CiAgICAgICAgIGlmICghcmVzb3VyY2UpCiAgICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIHJlc291cmNlLmVuZFRpbWUgPSB0aW1lOwotCi0gICAgICAgIFdlYklu
c3BlY3Rvci5wYW5lbHMubmV0d29yay5yZWZyZXNoUmVzb3VyY2UocmVzb3VyY2UpOworICAgICAg
ICB0aGlzLl9maW5pc2hSZXNvdXJjZShyZXNvdXJjZSwgdGltZSk7CiAgICAgfSwKIAotICAgIF9h
cHBlbmRSZWRpcmVjdDogZnVuY3Rpb24oaWRlbnRpZmllciwgcmVkaXJlY3RVUkwpCisgICAgX2Fw
cGVuZFJlZGlyZWN0OiBmdW5jdGlvbihpZGVudGlmaWVyLCB0aW1lLCByZWRpcmVjdFVSTCkKICAg
ICB7Ci0gICAgICAgIHZhciBvcmlnaW5hbFJlc291cmNlID0gdGhpcy5fcmVzb3VyY2VzQnlJZFtp
ZGVudGlmaWVyXTsKKyAgICAgICAgdmFyIG9yaWdpbmFsUmVzb3VyY2UgPSB0aGlzLl9pbmZsaWdo
dFJlc291cmNlc1tpZGVudGlmaWVyXTsKICAgICAgICAgdmFyIHByZXZpb3VzUmVkaXJlY3RzID0g
b3JpZ2luYWxSZXNvdXJjZS5yZWRpcmVjdHMgfHwgW107Ci0gICAgICAgIG9yaWdpbmFsUmVzb3Vy
Y2UuZmluaXNoZWQgPSB0cnVlOwogICAgICAgICBvcmlnaW5hbFJlc291cmNlLmlkZW50aWZpZXIg
PSAicmVkaXJlY3RlZDoiICsgaWRlbnRpZmllciArICIuIiArIHByZXZpb3VzUmVkaXJlY3RzLmxl
bmd0aDsKICAgICAgICAgZGVsZXRlIG9yaWdpbmFsUmVzb3VyY2UucmVkaXJlY3RzOworICAgICAg
ICB0aGlzLl9maW5pc2hSZXNvdXJjZShvcmlnaW5hbFJlc291cmNlLCB0aW1lKTsKICAgICAgICAg
Ly8gV2UgYm91bmQgcmVzb3VyY2UgZWFybHksIGJ1dCBpdCBoYXBwZW5lZCB0byBiZSBhIHJlZGly
ZWN0IGFuZCB3b24ndCBtYWtlIGl0IHRocm91Z2ggdG8KICAgICAgICAgLy8gdGhlIHJlc291cmNl
IHRyZWUgLS0gc28gdW5iaW5kIGl0LgogICAgICAgICAvLyBGSVhNRTogd2Ugc2hvdWxkIGJpbmQg
dXBvbiBhZGRpbmcgdG8gdGhlIHRyZWUgb25seSAoZW5jYXBzdWxhdGVkIGludG8gUmVzb3VyY2VU
cmVlTW9kZWwpLApAQCAtMzA0LDcgKzI4MCwyMyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFn
ZXIucHJvdG90eXBlID0gewogICAgICAgICAKICAgICAgICAgdmFyIG5ld1Jlc291cmNlID0gdGhp
cy5fcmVzb3VyY2VUcmVlTW9kZWwuY3JlYXRlUmVzb3VyY2UoaWRlbnRpZmllciwgcmVkaXJlY3RV
UkwsIG9yaWdpbmFsUmVzb3VyY2UubG9hZGVyLCBvcmlnaW5hbFJlc291cmNlLnN0YWNrVHJhY2Up
OwogICAgICAgICBuZXdSZXNvdXJjZS5yZWRpcmVjdHMgPSBwcmV2aW91c1JlZGlyZWN0cy5jb25j
YXQob3JpZ2luYWxSZXNvdXJjZSk7Ci0gICAgICAgIHRoaXMuX3Jlc291cmNlc0J5SWRbaWRlbnRp
Zmllcl0gPSBuZXdSZXNvdXJjZTsKICAgICAgICAgcmV0dXJuIG5ld1Jlc291cmNlOworICAgIH0s
CisKKyAgICBfc3RhcnRSZXNvdXJjZTogZnVuY3Rpb24ocmVzb3VyY2UsIHNraXBSZWZyZXNoKQor
ICAgIHsKKyAgICAgICAgdGhpcy5faW5mbGlnaHRSZXNvdXJjZXNbcmVzb3VyY2UuaWRlbnRpZmll
cl0gPSByZXNvdXJjZTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5uZXR3b3JrLmFwcGVu
ZFJlc291cmNlKHJlc291cmNlLCBza2lwUmVmcmVzaCk7CisgICAgICAgIFdlYkluc3BlY3Rvci5w
YW5lbHMuYXVkaXRzLnJlc291cmNlU3RhcnRlZChyZXNvdXJjZSk7CisgICAgfSwKKworICAgIF9m
aW5pc2hSZXNvdXJjZTogZnVuY3Rpb24ocmVzb3VyY2UsIGZpbmlzaFRpbWUpCisgICAgeworICAg
ICAgICByZXNvdXJjZS5lbmRUaW1lID0gZmluaXNoVGltZTsKKyAgICAgICAgcmVzb3VyY2UuZmlu
aXNoZWQgPSB0cnVlOworICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLm5ldHdvcmsucmVmcmVz
aFJlc291cmNlKHJlc291cmNlKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5hdWRpdHMu
cmVzb3VyY2VGaW5pc2hlZChyZXNvdXJjZSk7CisgICAgICAgIFdlYkluc3BlY3Rvci5leHRlbnNp
b25TZXJ2ZXIubm90aWZ5UmVzb3VyY2VGaW5pc2hlZChyZXNvdXJjZSk7CisgICAgICAgIGRlbGV0
ZSB0aGlzLl9pbmZsaWdodFJlc291cmNlc1tyZXNvdXJjZS5pZGVudGlmaWVyXTsKICAgICB9CiB9
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>