<?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>52588</bug_id>
          
          <creation_ts>2011-01-17 10:30:31 -0800</creation_ts>
          <short_desc>Web Inspector: [refactoring] use events to notify NetworkManager clients</short_desc>
          <delta_ts>2011-01-19 23:44:35 -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>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>335387</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-01-17 10:30:31 -0800</bug_when>
    <thetext>Currently, NetworkManager directly calls each client to notify it on resource start/update/finish. This should be done via generic event dispatch to decouple higher-level code from NetworkManager.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335449</commentid>
    <comment_count>1</comment_count>
      <attachid>79204</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-01-17 12:35:07 -0800</bug_when>
    <thetext>Created attachment 79204
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335743</commentid>
    <comment_count>2</comment_count>
      <attachid>79204</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-01-18 04:05:09 -0800</bug_when>
    <thetext>Comment on attachment 79204
patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        (WebInspector.AuditLauncherView): Do not expose public interface to resource count. Do not c reset resource count upon reset().

typo: Do not __c__ reset</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335748</commentid>
    <comment_count>3</comment_count>
      <attachid>79204</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-01-18 04:23:02 -0800</bug_when>
    <thetext>Comment on attachment 79204
patch

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

&gt; Source/WebCore/inspector/front-end/NetworkManager.js:132
&gt; +            this.dispatchEventToListeners(WebInspector.NetworkManager.EventTypes.ResourceUpdated, resource);

nit: _fireResourceUpdated(resource);

&gt; Source/WebCore/inspector/front-end/NetworkManager.js:218
&gt; +        this.dispatchEventToListeners(WebInspector.NetworkManager.EventTypes.ResourceContentUpdated, resource);

We only need this to remove XHRs, so ResourceUpdated should be sufficient.

&gt; Source/WebCore/inspector/front-end/NetworkManager.js:229
&gt; +                this.dispatchEventToListeners(WebInspector.NetworkManager.EventTypes.MainResourceChanged, mainResource);

MainResourceChanged sounds weird. How about MainResourceCommitLoad?

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:84
&gt; +    WebInspector.networkManager.addEventListener(WebInspector.NetworkManager.EventTypes.ResourceContentUpdated, this._onResourceUpdated, this);

No need to listen to content update.

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:1438
&gt; +            this._resource.populateImageSource(previewImage);

This will get merged hopefully.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337162</commentid>
    <comment_count>4</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-01-19 23:44:35 -0800</bug_when>
    <thetext>Manually committed r76022: http://trac.webkit.org/changeset/76022</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79204</attachid>
            <date>2011-01-17 12:35:07 -0800</date>
            <delta_ts>2011-01-18 04:23:02 -0800</delta_ts>
            <desc>patch</desc>
            <filename>resource-events.diff</filename>
            <type>text/plain</type>
            <size>19233</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiMGQ5N2RmLi41ZDllODViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMg
QEAKKzIwMTEtMDEtMTcgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBbcmVmYWN0b3JpbmddIHVzZSBldmVudHMgdG8gbm90aWZ5IE5ldHdvcmtNYW5hZ2VyIGNs
aWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUy
NTg4CisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0TGF1bmNoZXJWaWV3Lmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkF1ZGl0TGF1bmNoZXJWaWV3KTogRG8gbm90IGV4cG9z
ZSBwdWJsaWMgaW50ZXJmYWNlIHRvIHJlc291cmNlIGNvdW50LiBEbyBub3QgYyByZXNldCByZXNv
dXJjZSBjb3VudCB1cG9uIHJlc2V0KCkuCisgICAgICAgIChXZWJJbnNwZWN0b3IuQXVkaXRMYXVu
Y2hlclZpZXcucHJvdG90eXBlLl9yZXNldFJlc291cmNlQ291bnQpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkF1ZGl0TGF1bmNoZXJWaWV3LnByb3RvdHlwZS5fb25SZXNvdXJjZVN0YXJ0ZWQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkF1ZGl0TGF1bmNoZXJWaWV3LnByb3RvdHlwZS5fb25SZXNv
dXJjZUZpbmlzaGVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0c1BhbmVs
LmpzOiBEbyBub3QgZXhwb3NlIHB1YmxpYyBpbnRlcmZhY2UgdG8gcmVzb3VyY2Ugc3RhcnQvZmlu
aXNoIGV2ZW50cy4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZl
ci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUuX25vdGlmeVJlc291cmNlRmlu
aXNoZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5wcm90b3R5cGUu
aW5pdEV4dGVuc2lvbnMpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya01h
bmFnZXIuanM6IERpc3BhdGNoIGV2ZW50cyByYXRoZXIgdGhhbiBkaXJlY3RseSBjYWxsIGNsaWVu
dHMuCisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLnByb3RvdHlwZS53aWxsU2VuZFJlcXVlc3QpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLnByb3RvdHlwZS5tYXJrUmVzb3VyY2VB
c0NhY2hlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIucHJvdG90eXBl
LmRpZFJlY2VpdmVSZXNwb25zZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFn
ZXIucHJvdG90eXBlLmRpZFJlY2VpdmVDb250ZW50TGVuZ3RoKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5OZXR3b3JrTWFuYWdlci5wcm90b3R5cGUuc2V0SW5pdGlhbENvbnRlbnQpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLnByb3RvdHlwZS5kaWRDb21taXRMb2FkRm9y
RnJhbWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLnByb3RvdHlwZS53
aWxsU2VuZFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3QpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
Lk5ldHdvcmtNYW5hZ2VyLnByb3RvdHlwZS5kaWRSZWNlaXZlV2ViU29ja2V0SGFuZHNoYWtlUmVz
cG9uc2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLnByb3RvdHlwZS5f
c3RhcnRSZXNvdXJjZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIucHJv
dG90eXBlLl9maW5pc2hSZXNvdXJjZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9O
ZXR3b3JrUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1BhbmVsKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJvdG90eXBlLl9vblJlc291cmNlU3Rh
cnRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1BhbmVsLnByb3RvdHlwZS5fYXBw
ZW5kUmVzb3VyY2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtQYW5lbC5wcm90b3R5
cGUuX29uUmVzb3VyY2VVcGRhdGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrUGFu
ZWwucHJvdG90eXBlLl9yZWZyZXNoUmVzb3VyY2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5l
dHdvcmtQYW5lbC5wcm90b3R5cGUuX29uTWFpblJlc291cmNlQ2hhbmdlZCk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5SZXNvdXJjZXNQYW5lbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFu
ZWwucHJvdG90eXBlLl9yZWZyZXNoUmVzb3VyY2UpOgorCiAyMDExLTAxLTE3ICBQYXZlbCBGZWxk
bWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFl1cnkg
U2VtaWtoYXRza3kuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0F1ZGl0TGF1bmNoZXJWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9BdWRpdExhdW5jaGVyVmlldy5qcwppbmRleCBjMTQwNTg5Li5kZjE2YTQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0TGF1bmNoZXJWaWV3
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRMYXVuY2hl
clZpZXcuanMKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKQEAgLTUwLDYwICs1MCwzOCBAQCBXZWJJbnNwZWN0b3IuQXVkaXRMYXVuY2hlclZpZXcg
PSBmdW5jdGlvbihydW5uZXJDYWxsYmFjaykKICAgICB0aGlzLl9oZWFkZXJFbGVtZW50LmNsYXNz
TmFtZSA9ICJuby1hdWRpdHMiOwogICAgIHRoaXMuX2hlYWRlckVsZW1lbnQudGV4dENvbnRlbnQg
PSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk5vIGF1ZGl0cyB0byBydW4iKTsKICAgICB0aGlzLl9j
b250ZW50RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9oZWFkZXJFbGVtZW50KTsKKworICAgIFdl
Ykluc3BlY3Rvci5uZXR3b3JrTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5O
ZXR3b3JrTWFuYWdlci5FdmVudFR5cGVzLlJlc291cmNlU3RhcnRlZCwgdGhpcy5fb25SZXNvdXJj
ZVN0YXJ0ZWQsIHRoaXMpOworICAgIFdlYkluc3BlY3Rvci5uZXR3b3JrTWFuYWdlci5hZGRFdmVu
dExpc3RlbmVyKFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5FdmVudFR5cGVzLlJlc291cmNl
RmluaXNoZWQsIHRoaXMuX29uUmVzb3VyY2VGaW5pc2hlZCwgdGhpcyk7CiB9CiAKIFdlYkluc3Bl
Y3Rvci5BdWRpdExhdW5jaGVyVmlldy5wcm90b3R5cGUgPSB7Ci0gICAgZ2V0IHRvdGFsUmVzb3Vy
Y2VzKCkKKyAgICBfcmVzZXRSZXNvdXJjZUNvdW50OiBmdW5jdGlvbigpCiAgICAgewotICAgICAg
ICByZXR1cm4gdGhpcy5fdG90YWxSZXNvdXJjZXM7CisgICAgICAgIHRoaXMuX2xvYWRlZFJlc291
cmNlcyA9IDA7CisgICAgICAgIHRoaXMuX3RvdGFsUmVzb3VyY2VzID0gMDsKICAgICB9LAogCi0g
ICAgc2V0IHRvdGFsUmVzb3VyY2VzKHgpCisgICAgX29uUmVzb3VyY2VTdGFydGVkOiBmdW5jdGlv
bihldmVudCkKICAgICB7Ci0gICAgICAgIGlmICh0aGlzLl90b3RhbFJlc291cmNlcyA9PT0geCkK
KyAgICAgICAgdmFyIHJlc291cmNlID0gZXZlbnQuZGF0YTsKKyAgICAgICAgLy8gSWdub3JlIGxv
bmctbGl2aW5nIFdlYlNvY2tldHMgZm9yIHRoZSBzYWtlIG9mIHByb2dyZXNzIGluZGljYXRvciwg
YXMgd2Ugd29uJ3QgYmUgd2FpdGluZyB0aGVtIGFueXdheS4KKyAgICAgICAgaWYgKHJlc291cmNl
LnR5cGUgPT09IFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLldlYlNvY2tldCkKICAgICAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgdGhpcy5fdG90YWxSZXNvdXJjZXMgPSB4OworICAgICAgICAr
K3RoaXMuX3RvdGFsUmVzb3VyY2VzOwogICAgICAgICB0aGlzLl91cGRhdGVSZXNvdXJjZVByb2dy
ZXNzKCk7CiAgICAgfSwKIAotICAgIGdldCBsb2FkZWRSZXNvdXJjZXMoKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIHRoaXMuX2xvYWRlZFJlc291cmNlczsKLSAgICB9LAotCi0gICAgc2V0IGxvYWRl
ZFJlc291cmNlcyh4KQorICAgIF9vblJlc291cmNlRmluaXNoZWQ6IGZ1bmN0aW9uKGV2ZW50KQog
ICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX2xvYWRlZFJlc291cmNlcyA9PT0geCkKKyAgICAgICAg
dmFyIHJlc291cmNlID0gZXZlbnQuZGF0YTsKKyAgICAgICAgLy8gU2VlIHJlc29yY2VTdGFydGVk
IGZvciBkZXRhaWxzLgorICAgICAgICBpZiAocmVzb3VyY2UudHlwZSA9PT0gV2ViSW5zcGVjdG9y
LlJlc291cmNlLlR5cGUuV2ViU29ja2V0KQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB0
aGlzLl9sb2FkZWRSZXNvdXJjZXMgPSB4OworICAgICAgICArK3RoaXMuX2xvYWRlZFJlc291cmNl
czsKICAgICAgICAgdGhpcy5fdXBkYXRlUmVzb3VyY2VQcm9ncmVzcygpOwogICAgIH0sCiAKLSAg
ICBfcmVzZXRSZXNvdXJjZUNvdW50OiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICB0aGlzLmxv
YWRlZFJlc291cmNlcyA9IDA7Ci0gICAgICAgIHRoaXMudG90YWxSZXNvdXJjZXMgPSAwOwotICAg
IH0sCi0KLSAgICByZXNvdXJjZVN0YXJ0ZWQ6IGZ1bmN0aW9uKHJlc291cmNlKQotICAgIHsKLSAg
ICAgICAgLy8gSWdub3JlIGxvbmctbGl2aW5nIFdlYlNvY2tldHMgZm9yIHRoZSBzYWtlIG9mIHBy
b2dyZXNzIGluZGljYXRvciwgYXMgd2Ugd29uJ3QgYmUgd2FpdGluZyB0aGVtIGFueXdheS4KLSAg
ICAgICAgaWYgKHJlc291cmNlLnR5cGUgIT09IFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLldl
YlNvY2tldCkKLSAgICAgICAgICAgICsrdGhpcy50b3RhbFJlc291cmNlczsKLSAgICB9LAotCi0g
ICAgcmVzb3VyY2VGaW5pc2hlZDogZnVuY3Rpb24ocmVzb3VyY2UpCi0gICAgewotICAgICAgICAv
LyBTZWUgcmVzb3JjZVN0YXJ0ZWQgZm9yIGRldGFpbHMuCi0gICAgICAgIGlmIChyZXNvdXJjZS50
eXBlICE9PSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5XZWJTb2NrZXQpCi0gICAgICAgICAg
ICArK3RoaXMubG9hZGVkUmVzb3VyY2VzOwotICAgIH0sCi0KLSAgICByZXNldDogZnVuY3Rpb24o
KQotICAgIHsKLSAgICAgICAgdGhpcy5fcmVzZXRSZXNvdXJjZUNvdW50KCk7Ci0gICAgfSwKLQog
ICAgIGFkZENhdGVnb3J5OiBmdW5jdGlvbihjYXRlZ29yeSkKICAgICB7CiAgICAgICAgIGlmICgh
dGhpcy5fc29ydGVkQ2F0ZWdvcmllcy5sZW5ndGgpCkBAIC0yNjQsNyArMjQyLDcgQEAgV2ViSW5z
cGVjdG9yLkF1ZGl0TGF1bmNoZXJWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMu
X3Jlc291cmNlUHJvZ3Jlc3NDb250YWluZXIuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CiAgICAg
ICAgIH0gZWxzZQogICAgICAgICAgICAgdGhpcy5fcmVzb3VyY2VQcm9ncmVzc0NvbnRhaW5lci5y
ZW1vdmVTdHlsZUNsYXNzKCJoaWRkZW4iKTsKLSAgICAgICAgdGhpcy5fcmVzb3VyY2VQcm9ncmVz
c1RleHRFbGVtZW50LnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMb2FkaW5n
ICglZCBvZiAlZCkiLCB0aGlzLmxvYWRlZFJlc291cmNlcywgdGhpcy50b3RhbFJlc291cmNlcyk7
CisgICAgICAgIHRoaXMuX3Jlc291cmNlUHJvZ3Jlc3NUZXh0RWxlbWVudC50ZXh0Q29udGVudCA9
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTG9hZGluZyAoJWQgb2YgJWQpIiwgdGhpcy5fbG9hZGVk
UmVzb3VyY2VzLCB0aGlzLl90b3RhbFJlc291cmNlcyk7CiAgICAgfSwKIAogICAgIF91cGRhdGVC
dXR0b246IGZ1bmN0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvQXVkaXRzUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0F1ZGl0c1BhbmVsLmpzCmluZGV4IGM2MzlmNDcuLmU2Yjk5MTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRzUGFuZWwuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdHNQYW5lbC5qcwpAQCAtOTYsMTYg
Kzk2LDYgQEAgV2ViSW5zcGVjdG9yLkF1ZGl0c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAg
cmV0dXJuIHRoaXMuX2F1ZGl0Q2F0ZWdvcmllc0J5SWQ7CiAgICAgfSwKIAotICAgIHJlc291cmNl
U3RhcnRlZDogZnVuY3Rpb24ocmVzb3VyY2UpCi0gICAgewotICAgICAgICB0aGlzLl9sYXVuY2hl
clZpZXcucmVzb3VyY2VTdGFydGVkKHJlc291cmNlKTsKLSAgICB9LAotCi0gICAgcmVzb3VyY2VG
aW5pc2hlZDogZnVuY3Rpb24ocmVzb3VyY2UpCi0gICAgewotICAgICAgICB0aGlzLl9sYXVuY2hl
clZpZXcucmVzb3VyY2VGaW5pc2hlZChyZXNvdXJjZSk7Ci0gICAgfSwKLQogICAgIGFkZENhdGVn
b3J5OiBmdW5jdGlvbihjYXRlZ29yeSkKICAgICB7CiAgICAgICAgIHRoaXMuY2F0ZWdvcmllc0J5
SWRbY2F0ZWdvcnkuaWRdID0gY2F0ZWdvcnk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblNlcnZlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzCmluZGV4IDEzMjBlZmIuLjk2MWM3
YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5z
aW9uU2VydmVyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0
ZW5zaW9uU2VydmVyLmpzCkBAIC01Myw3ICs1Myw2IEBAIFdlYkluc3BlY3Rvci5FeHRlbnNpb25T
ZXJ2ZXIgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5fcmVnaXN0ZXJIYW5kbGVyKCJzdWJzY3JpYmUi
LCB0aGlzLl9vblN1YnNjcmliZS5iaW5kKHRoaXMpKTsKICAgICB0aGlzLl9yZWdpc3RlckhhbmRs
ZXIoInVuc3Vic2NyaWJlIiwgdGhpcy5fb25VbnN1YnNjcmliZS5iaW5kKHRoaXMpKTsKIAotCiAg
ICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCB0aGlzLl9vbldpbmRvd01lc3Nh
Z2UuYmluZCh0aGlzKSwgZmFsc2UpOwogfQogCkBAIC02OCwxMSArNjcsNiBAQCBXZWJJbnNwZWN0
b3IuRXh0ZW5zaW9uU2VydmVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fcG9zdE5vdGlm
aWNhdGlvbigicGFuZWwtb2JqZWN0U2VsZWN0ZWQtIiArIHBhbmVsSWQsIG9iamVjdElkKTsKICAg
ICB9LAogCi0gICAgbm90aWZ5UmVzb3VyY2VGaW5pc2hlZDogZnVuY3Rpb24ocmVzb3VyY2UpCi0g
ICAgewotICAgICAgICB0aGlzLl9wb3N0Tm90aWZpY2F0aW9uKCJyZXNvdXJjZS1maW5pc2hlZCIs
IHJlc291cmNlLmlkZW50aWZpZXIsIChuZXcgV2ViSW5zcGVjdG9yLkhBUkVudHJ5KHJlc291cmNl
KSkuYnVpbGQoKSk7Ci0gICAgfSwKLQogICAgIG5vdGlmeVNlYXJjaEFjdGlvbjogZnVuY3Rpb24o
cGFuZWxJZCwgYWN0aW9uLCBzZWFyY2hTdHJpbmcpCiAgICAgewogICAgICAgICB0aGlzLl9wb3N0
Tm90aWZpY2F0aW9uKCJwYW5lbC1zZWFyY2gtIiArIHBhbmVsSWQsIGFjdGlvbiwgc2VhcmNoU3Ry
aW5nKTsKQEAgLTExNCw2ICsxMDgsMTIgQEAgV2ViSW5zcGVjdG9yLkV4dGVuc2lvblNlcnZlci5w
cm90b3R5cGUgPSB7CiAgICAgICAgIGRlbGV0ZSB0aGlzLl9jbGllbnRPYmplY3RzW2F1ZGl0UnVu
LmlkXTsKICAgICB9LAogCisgICAgX25vdGlmeVJlc291cmNlRmluaXNoZWQ6IGZ1bmN0aW9uKGV2
ZW50KQorICAgIHsKKyAgICAgICAgdmFyIHJlc291cmNlID0gZXZlbnQuZGF0YTsKKyAgICAgICAg
dGhpcy5fcG9zdE5vdGlmaWNhdGlvbigicmVzb3VyY2UtZmluaXNoZWQiLCByZXNvdXJjZS5pZGVu
dGlmaWVyLCAobmV3IFdlYkluc3BlY3Rvci5IQVJFbnRyeShyZXNvdXJjZSkpLmJ1aWxkKCkpOwor
ICAgIH0sCisKICAgICBfcG9zdE5vdGlmaWNhdGlvbjogZnVuY3Rpb24odHlwZSwgZGV0YWlscykK
ICAgICB7CiAgICAgICAgIHZhciBzdWJzY3JpYmVycyA9IHRoaXMuX3N1YnNjcmliZXJzW3R5cGVd
OwpAQCAtMzU2LDYgKzM1Niw5IEBAIFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90
eXBlID0gewogCiAgICAgaW5pdEV4dGVuc2lvbnM6IGZ1bmN0aW9uKCkKICAgICB7CisgICAgICAg
IC8vIFRoZSBuZXR3b3JrTWFuYWdlciBpcyBub3JtYWxseSBjcmVhdGVkIGFmdGVyIHRoZSBFeHRl
bnNpb25TZXJ2ZXIgaXMgY29uc3RydWN0ZWQsIGJ1dCBiZWZvcmUgaW5pdEV4dGVuc2lvbnMoKSBp
cyBjYWxsZWQuCisgICAgICAgIFdlYkluc3BlY3Rvci5uZXR3b3JrTWFuYWdlci5hZGRFdmVudExp
c3RlbmVyKFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5FdmVudFR5cGVzLlJlc291cmNlRmlu
aXNoZWQsIHRoaXMuX25vdGlmeVJlc291cmNlRmluaXNoZWQsIHRoaXMpOworCiAgICAgICAgIElu
c3BlY3RvckV4dGVuc2lvblJlZ2lzdHJ5LmdldEV4dGVuc2lvbnNBc3luYygpOwogICAgIH0sCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya01h
bmFnZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtNYW5h
Z2VyLmpzCmluZGV4IGE2NTczNzcuLjM1ZTNmMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya01hbmFnZXIuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrTWFuYWdlci5qcwpAQCAtMzAsNiArMzAsOCBA
QAogCiBXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIgPSBmdW5jdGlvbihyZXNvdXJjZVRyZWVN
b2RlbCkKIHsKKyAgICBXZWJJbnNwZWN0b3IuT2JqZWN0LmNhbGwodGhpcyk7CisKICAgICB0aGlz
Ll9pbmZsaWdodFJlc291cmNlcyA9IHt9OwogICAgIHRoaXMuX3Jlc291cmNlVHJlZU1vZGVsID0g
cmVzb3VyY2VUcmVlTW9kZWw7CiAgICAgdGhpcy5fbGFzdElkZW50aWZpZXJGb3JDYWNoZWRSZXNv
dXJjZSA9IDA7CkBAIC04Niw2ICs4OCwxNCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIu
dXBkYXRlUmVzb3VyY2VXaXRoQ2FjaGVkUmVzb3VyY2UgPSBmdW5jdGlvbihyZXNvdXJjZQogICAg
IFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci51cGRhdGVSZXNvdXJjZVdpdGhSZXNwb25zZShy
ZXNvdXJjZSwgY2FjaGVkUmVzb3VyY2UucmVzcG9uc2UpOwogfQogCitXZWJJbnNwZWN0b3IuTmV0
d29ya01hbmFnZXIuRXZlbnRUeXBlcyA9IHsKKyAgICBSZXNvdXJjZVN0YXJ0ZWQ6ICJSZXNvdXJj
ZVN0YXJ0ZWQiLAorICAgIFJlc291cmNlVXBkYXRlZDogIlJlc291cmNlVXBkYXRlZCIsCisgICAg
UmVzb3VyY2VDb250ZW50VXBkYXRlZDogIlJlc291cmNlQ29udGVudFVwZGF0ZWQiLAorICAgIE1h
aW5SZXNvdXJjZUNoYW5nZWQ6ICJNYWluUmVzb3VyY2VDaGFuZ2VkIiwKKyAgICBSZXNvdXJjZUZp
bmlzaGVkOiAiUmVzb3VyY2VGaW5pc2hlZCIKK30KKwogV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5h
Z2VyLnByb3RvdHlwZSA9IHsKICAgICByZXNldDogZnVuY3Rpb24oKQogICAgIHsKQEAgLTExOSw3
ICsxMjksNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIucHJvdG90eXBlID0gewogICAg
ICAgICBpZiAoaXNSZWRpcmVjdCkKICAgICAgICAgICAgIHRoaXMuX3N0YXJ0UmVzb3VyY2UocmVz
b3VyY2UpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLm5l
dHdvcmsucmVmcmVzaFJlc291cmNlKHJlc291cmNlKTsKKyAgICAgICAgICAgIHRoaXMuZGlzcGF0
Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5FdmVudFR5cGVz
LlJlc291cmNlVXBkYXRlZCwgcmVzb3VyY2UpOwogICAgIH0sCiAKICAgICBtYXJrUmVzb3VyY2VB
c0NhY2hlZDogZnVuY3Rpb24oaWRlbnRpZmllcikKQEAgLTEyOSw3ICsxMzksNyBAQCBXZWJJbnNw
ZWN0b3IuTmV0d29ya01hbmFnZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0dXJuOwog
CiAgICAgICAgIHJlc291cmNlLmNhY2hlZCA9IHRydWU7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5w
YW5lbHMubmV0d29yay5yZWZyZXNoUmVzb3VyY2UocmVzb3VyY2UpOworICAgICAgICB0aGlzLmRp
c3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuRXZlbnRU
eXBlcy5SZXNvdXJjZVVwZGF0ZWQsIHJlc291cmNlKTsKICAgICB9LAogCiAgICAgZGlkUmVjZWl2
ZVJlc3BvbnNlOiBmdW5jdGlvbihpZGVudGlmaWVyLCB0aW1lLCByZXNvdXJjZVR5cGUsIHJlc3Bv
bnNlKQpAQCAtMTQzLDcgKzE1Myw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5wcm90
b3R5cGUgPSB7CiAKICAgICAgICAgV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLnVwZGF0ZVJl
c291cmNlV2l0aFJlc3BvbnNlKHJlc291cmNlLCByZXNwb25zZSk7CiAKLSAgICAgICAgV2ViSW5z
cGVjdG9yLnBhbmVscy5uZXR3b3JrLnJlZnJlc2hSZXNvdXJjZShyZXNvdXJjZSk7CisgICAgICAg
IHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdl
ci5FdmVudFR5cGVzLlJlc291cmNlVXBkYXRlZCwgcmVzb3VyY2UpOwogICAgICAgICB0aGlzLl9y
ZXNvdXJjZVRyZWVNb2RlbC5hZGRSZXNvdXJjZVRvRnJhbWUocmVzb3VyY2UubG9hZGVyLmZyYW1l
SWQsIHJlc291cmNlKTsKICAgICB9LAogCkBAIC0xNTYsNyArMTY2LDcgQEAgV2ViSW5zcGVjdG9y
Lk5ldHdvcmtNYW5hZ2VyLnByb3RvdHlwZSA9IHsKICAgICAgICAgcmVzb3VyY2UucmVzb3VyY2VT
aXplICs9IGxlbmd0aFJlY2VpdmVkOwogICAgICAgICByZXNvdXJjZS5lbmRUaW1lID0gdGltZTsK
IAotICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLm5ldHdvcmsucmVmcmVzaFJlc291cmNlKHJl
c291cmNlKTsKKyAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVj
dG9yLk5ldHdvcmtNYW5hZ2VyLkV2ZW50VHlwZXMuUmVzb3VyY2VVcGRhdGVkLCByZXNvdXJjZSk7
CiAgICAgfSwKIAogICAgIGRpZEZpbmlzaExvYWRpbmc6IGZ1bmN0aW9uKGlkZW50aWZpZXIsIGZp
bmlzaFRpbWUpCkBAIC0yMDQsOCArMjE0LDggQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2Vy
LnByb3RvdHlwZSA9IHsKIAogICAgICAgICByZXNvdXJjZS50eXBlID0gV2ViSW5zcGVjdG9yLlJl
c291cmNlLlR5cGVbdHlwZV07CiAgICAgICAgIHJlc291cmNlLnNldEluaXRpYWxDb250ZW50KHNv
dXJjZVN0cmluZyk7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMucmVzb3VyY2VzLnJlZnJl
c2hSZXNvdXJjZShyZXNvdXJjZSk7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMubmV0d29y
ay5yZWZyZXNoUmVzb3VyY2UocmVzb3VyY2UpOworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRU
b0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuRXZlbnRUeXBlcy5SZXNvdXJj
ZVVwZGF0ZWQsIHJlc291cmNlKTsKKyAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5l
cnMoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLkV2ZW50VHlwZXMuUmVzb3VyY2VDb250ZW50
VXBkYXRlZCwgcmVzb3VyY2UpOwogICAgIH0sCiAKICAgICBkaWRDb21taXRMb2FkRm9yRnJhbWU6
IGZ1bmN0aW9uKGZyYW1lLCBsb2FkZXIpCkBAIC0yMTYsNyArMjI2LDcgQEAgV2ViSW5zcGVjdG9y
Lk5ldHdvcmtNYW5hZ2VyLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGlmIChtYWluUmVzb3Vy
Y2UpIHsKICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IubWFpblJlc291cmNlID0gbWFpblJl
c291cmNlOwogICAgICAgICAgICAgICAgIG1haW5SZXNvdXJjZS5pc01haW5SZXNvdXJjZSA9IHRy
dWU7Ci0gICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5uZXR3b3JrLm1haW5SZXNv
dXJjZUNoYW5nZWQoKTsKKyAgICAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3Rl
bmVycyhXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuRXZlbnRUeXBlcy5NYWluUmVzb3VyY2VD
aGFuZ2VkLCBtYWluUmVzb3VyY2UpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSwK
QEAgLTIzOSw3ICsyNDksNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIucHJvdG90eXBl
ID0gewogICAgICAgICByZXNvdXJjZS53ZWJTb2NrZXRSZXF1ZXN0S2V5MyA9IHJlcXVlc3Qud2Vi
U29ja2V0UmVxdWVzdEtleTM7CiAgICAgICAgIHJlc291cmNlLnN0YXJ0VGltZSA9IHRpbWU7CiAK
LSAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5uZXR3b3JrLnJlZnJlc2hSZXNvdXJjZShyZXNv
dXJjZSk7CisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rv
ci5OZXR3b3JrTWFuYWdlci5FdmVudFR5cGVzLlJlc291cmNlVXBkYXRlZCwgcmVzb3VyY2UpOwog
ICAgIH0sCiAKICAgICBkaWRSZWNlaXZlV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2U6IGZ1bmN0
aW9uKGlkZW50aWZpZXIsIHRpbWUsIHJlc3BvbnNlKQpAQCAtMjU0LDcgKzI2NCw3IEBAIFdlYklu
c3BlY3Rvci5OZXR3b3JrTWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJlc291cmNlLndl
YlNvY2tldENoYWxsZW5nZVJlc3BvbnNlID0gcmVzcG9uc2Uud2ViU29ja2V0Q2hhbGxlbmdlUmVz
cG9uc2U7CiAgICAgICAgIHJlc291cmNlLnJlc3BvbnNlUmVjZWl2ZWRUaW1lID0gdGltZTsKIAot
ICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLm5ldHdvcmsucmVmcmVzaFJlc291cmNlKHJlc291
cmNlKTsKKyAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9y
Lk5ldHdvcmtNYW5hZ2VyLkV2ZW50VHlwZXMuUmVzb3VyY2VVcGRhdGVkLCByZXNvdXJjZSk7CiAg
ICAgfSwKIAogICAgIGRpZENsb3NlV2ViU29ja2V0OiBmdW5jdGlvbihpZGVudGlmaWVyLCB0aW1l
KQpAQCAtMjgzLDIwICsyOTMsMTkgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgcmV0dXJuIG5ld1Jlc291cmNlOwogICAgIH0sCiAKLSAgICBfc3Rh
cnRSZXNvdXJjZTogZnVuY3Rpb24ocmVzb3VyY2UsIHNraXBSZWZyZXNoKQorICAgIF9zdGFydFJl
c291cmNlOiBmdW5jdGlvbihyZXNvdXJjZSkKICAgICB7CiAgICAgICAgIHRoaXMuX2luZmxpZ2h0
UmVzb3VyY2VzW3Jlc291cmNlLmlkZW50aWZpZXJdID0gcmVzb3VyY2U7Ci0gICAgICAgIFdlYklu
c3BlY3Rvci5wYW5lbHMubmV0d29yay5hcHBlbmRSZXNvdXJjZShyZXNvdXJjZSwgc2tpcFJlZnJl
c2gpOwotICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLmF1ZGl0cy5yZXNvdXJjZVN0YXJ0ZWQo
cmVzb3VyY2UpOworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNw
ZWN0b3IuTmV0d29ya01hbmFnZXIuRXZlbnRUeXBlcy5SZXNvdXJjZVN0YXJ0ZWQsIHJlc291cmNl
KTsKICAgICB9LAogCiAgICAgX2ZpbmlzaFJlc291cmNlOiBmdW5jdGlvbihyZXNvdXJjZSwgZmlu
aXNoVGltZSkKICAgICB7CiAgICAgICAgIHJlc291cmNlLmVuZFRpbWUgPSBmaW5pc2hUaW1lOwog
ICAgICAgICByZXNvdXJjZS5maW5pc2hlZCA9IHRydWU7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5w
YW5lbHMubmV0d29yay5yZWZyZXNoUmVzb3VyY2UocmVzb3VyY2UpOwotICAgICAgICBXZWJJbnNw
ZWN0b3IucGFuZWxzLmF1ZGl0cy5yZXNvdXJjZUZpbmlzaGVkKHJlc291cmNlKTsKLSAgICAgICAg
V2ViSW5zcGVjdG9yLmV4dGVuc2lvblNlcnZlci5ub3RpZnlSZXNvdXJjZUZpbmlzaGVkKHJlc291
cmNlKTsKKyAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9y
Lk5ldHdvcmtNYW5hZ2VyLkV2ZW50VHlwZXMuUmVzb3VyY2VGaW5pc2hlZCwgcmVzb3VyY2UpOwog
ICAgICAgICBkZWxldGUgdGhpcy5faW5mbGlnaHRSZXNvdXJjZXNbcmVzb3VyY2UuaWRlbnRpZmll
cl07CiAgICAgfQogfQorCitXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIucHJvdG90eXBlLl9f
cHJvdG9fXyA9IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwppbmRleCBlOWUwZGNm
Li5hNGI4M2E4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L05ldHdvcmtQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L05ldHdvcmtQYW5lbC5qcwpAQCAtNzgsNiArNzgsMTIgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtQ
YW5lbCA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLl9maWx0ZXIodGhpcy5fZmlsdGVyQWxsRWxlbWVu
dCwgZmFsc2UpOwogCiAgICAgdGhpcy5fdG9nZ2xlR3JpZE1vZGUoKTsKKworICAgIFdlYkluc3Bl
Y3Rvci5uZXR3b3JrTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5OZXR3b3Jr
TWFuYWdlci5FdmVudFR5cGVzLlJlc291cmNlU3RhcnRlZCwgdGhpcy5fb25SZXNvdXJjZVN0YXJ0
ZWQsIHRoaXMpOworICAgIFdlYkluc3BlY3Rvci5uZXR3b3JrTWFuYWdlci5hZGRFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5FdmVudFR5cGVzLlJlc291cmNlVXBkYXRl
ZCwgdGhpcy5fb25SZXNvdXJjZVVwZGF0ZWQsIHRoaXMpOworICAgIFdlYkluc3BlY3Rvci5uZXR3
b3JrTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5F
dmVudFR5cGVzLlJlc291cmNlQ29udGVudFVwZGF0ZWQsIHRoaXMuX29uUmVzb3VyY2VVcGRhdGVk
LCB0aGlzKTsKKyAgICBXZWJJbnNwZWN0b3IubmV0d29ya01hbmFnZXIuYWRkRXZlbnRMaXN0ZW5l
cihXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuRXZlbnRUeXBlcy5SZXNvdXJjZUZpbmlzaGVk
LCB0aGlzLl9vblJlc291cmNlVXBkYXRlZCwgdGhpcyk7CisgICAgV2ViSW5zcGVjdG9yLm5ldHdv
cmtNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLkV2
ZW50VHlwZXMuTWFpblJlc291cmNlQ2hhbmdlZCwgdGhpcy5fb25NYWluUmVzb3VyY2VDaGFuZ2Vk
LCB0aGlzKTsKIH0KIAogV2ViSW5zcGVjdG9yLk5ldHdvcmtQYW5lbC5wcm90b3R5cGUgPSB7CkBA
IC03NzIsNyArNzc4LDEyIEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJvdG90eXBlID0g
ewogICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2VzQnlJZFtpZF07CiAgICAgfSwKIAotICAg
IGFwcGVuZFJlc291cmNlOiBmdW5jdGlvbihyZXNvdXJjZSkKKyAgICBfb25SZXNvdXJjZVN0YXJ0
ZWQ6IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgdGhpcy5fYXBwZW5kUmVzb3VyY2Uo
ZXZlbnQuZGF0YSk7CisgICAgfSwKKworICAgIF9hcHBlbmRSZXNvdXJjZTogZnVuY3Rpb24ocmVz
b3VyY2UpCiAgICAgewogICAgICAgICB0aGlzLl9yZXNvdXJjZXMucHVzaChyZXNvdXJjZSk7CiAg
ICAgICAgIHRoaXMuX3Jlc291cmNlc0J5SWRbcmVzb3VyY2UuaWRlbnRpZmllcl0gPSByZXNvdXJj
ZTsKQEAgLTc4MSwxMyArNzkyLDE4IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJvdG90
eXBlID0gewogICAgICAgICAvLyBQdWxsIGFsbCB0aGUgcmVkaXJlY3RzIG9mIHRoZSBtYWluIHJl
c291cmNlIHVwb24gY29tbWl0IGxvYWQuCiAgICAgICAgIGlmIChyZXNvdXJjZS5yZWRpcmVjdHMp
IHsKICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzb3VyY2UucmVkaXJlY3RzLmxl
bmd0aDsgKytpKQotICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaFJlc291cmNlKHJlc291cmNl
LnJlZGlyZWN0c1tpXSk7CisgICAgICAgICAgICAgICAgdGhpcy5fcmVmcmVzaFJlc291cmNlKHJl
c291cmNlLnJlZGlyZWN0c1tpXSk7CiAgICAgICAgIH0KIAotICAgICAgICB0aGlzLnJlZnJlc2hS
ZXNvdXJjZShyZXNvdXJjZSk7CisgICAgICAgIHRoaXMuX3JlZnJlc2hSZXNvdXJjZShyZXNvdXJj
ZSk7CisgICAgfSwKKworICAgIF9vblJlc291cmNlVXBkYXRlZDogZnVuY3Rpb24oZXZlbnQpCisg
ICAgeworICAgICAgICB0aGlzLl9yZWZyZXNoUmVzb3VyY2UoZXZlbnQuZGF0YSk7CiAgICAgfSwK
IAotICAgIHJlZnJlc2hSZXNvdXJjZTogZnVuY3Rpb24ocmVzb3VyY2UpCisgICAgX3JlZnJlc2hS
ZXNvdXJjZTogZnVuY3Rpb24ocmVzb3VyY2UpCiAgICAgewogICAgICAgICB0aGlzLl9zdGFsZVJl
c291cmNlcy5wdXNoKHJlc291cmNlKTsKICAgICAgICAgdGhpcy5fc2NoZWR1bGVSZWZyZXNoKCk7
CkBAIC04MTIsMTIgKzgyOCwxMiBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya1BhbmVsLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgdGhpcy5fcmVzZXQoKTsKICAgICB9LAogCi0gICAgbWFpblJlc291cmNl
Q2hhbmdlZDogZnVuY3Rpb24oKQorICAgIF9vbk1haW5SZXNvdXJjZUNoYW5nZWQ6IGZ1bmN0aW9u
KCkKICAgICB7CiAgICAgICAgIHRoaXMuY2xlYXIoKTsKICAgICAgICAgLy8gTm93IHJlc3VycmVj
dCB0aGUgbWFpbiByZXNvdXJjZSBhbG9uZyB3aXRoIGFsbCByZWRpcmVjdHMgdGhhdCBsZWFkIHRv
IGl0LgogICAgICAgICB2YXIgcmVzb3VyY2VzVG9BcHBlbmQgPSAoV2ViSW5zcGVjdG9yLm1haW5S
ZXNvdXJjZS5yZWRpcmVjdHMgfHwgW10pLmNvbmNhdChXZWJJbnNwZWN0b3IubWFpblJlc291cmNl
KTsKLSAgICAgICAgcmVzb3VyY2VzVG9BcHBlbmQuZm9yRWFjaCh0aGlzLmFwcGVuZFJlc291cmNl
LCB0aGlzKTsKKyAgICAgICAgcmVzb3VyY2VzVG9BcHBlbmQuZm9yRWFjaCh0aGlzLl9hcHBlbmRS
ZXNvdXJjZSwgdGhpcyk7CiAgICAgfSwKIAogICAgIGNhblNob3dTb3VyY2VMaW5lOiBmdW5jdGlv
bih1cmwsIGxpbmUpCkBAIC0xNDE5LDcgKzE0MzUsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0Rh
dGFHcmlkTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmICh0aGlzLl9yZXNvdXJjZS5jYXRl
Z29yeSA9PT0gV2ViSW5zcGVjdG9yLnJlc291cmNlQ2F0ZWdvcmllcy5pbWFnZXMpIHsKICAgICAg
ICAgICAgIHZhciBwcmV2aWV3SW1hZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsK
ICAgICAgICAgICAgIHByZXZpZXdJbWFnZS5jbGFzc05hbWUgPSAiaW1hZ2UtbmV0d29yay1pY29u
LXByZXZpZXciOwotICAgICAgICAgICAgdGhpcy5fcmVzb3VyY2UucG9wdWxhdGVJbWFnZVNvdXJj
ZShpbWFnZVByZXZpZXdFbGVtZW50KTsKKyAgICAgICAgICAgIHRoaXMuX3Jlc291cmNlLnBvcHVs
YXRlSW1hZ2VTb3VyY2UocHJldmlld0ltYWdlKTsKIAogICAgICAgICAgICAgdmFyIGljb25FbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgICAgICAgICBpY29uRWxl
bWVudC5jbGFzc05hbWUgPSAiaWNvbiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcwppbmRleCBkOTY5ODliLi4zYzU0ZTM4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1Bh
bmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2Vz
UGFuZWwuanMKQEAgLTc4LDYgKzc4LDggQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsID0g
ZnVuY3Rpb24oZGF0YWJhc2UpCiAKICAgICB0aGlzLnNpZGViYXJFbGVtZW50LmFkZEV2ZW50TGlz
dGVuZXIoIm1vdXNlbW92ZSIsIHRoaXMuX29ubW91c2Vtb3ZlLmJpbmQodGhpcyksIGZhbHNlKTsK
ICAgICB0aGlzLnNpZGViYXJFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0IiwgdGhp
cy5fb25tb3VzZW91dC5iaW5kKHRoaXMpLCBmYWxzZSk7CisKKyAgICBXZWJJbnNwZWN0b3IubmV0
d29ya01hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIu
RXZlbnRUeXBlcy5SZXNvdXJjZUNvbnRlbnRVcGRhdGVkLCB0aGlzLl9yZWZyZXNoUmVzb3VyY2Us
IHRoaXMpOwogfQogCiBXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlID0gewpA
QCAtMjUzLDggKzI1NSw5IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUg
PSB7CiAgICAgICAgICAgICBmcmFtZVRyZWVFbGVtZW50LnJlbW92ZUNoaWxkcmVuKCk7CiAgICAg
fSwKIAotICAgIHJlZnJlc2hSZXNvdXJjZTogZnVuY3Rpb24ocmVzb3VyY2UpCisgICAgX3JlZnJl
c2hSZXNvdXJjZTogZnVuY3Rpb24oZXZlbnQpCiAgICAgeworICAgICAgICB2YXIgcmVzb3VyY2Ug
PSBldmVudC5kYXRhOwogICAgICAgICAvLyBGSVhNRTogZG8gbm90IGFkZCBYSFIgaW4gdGhlIGZp
cnN0IHBsYWNlIGJhc2VkIG9uIHRoZSBuYXRpdmUgaW5zdHJ1bWVudGF0aW9uLgogICAgICAgICBp
ZiAocmVzb3VyY2UudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5cGUuWEhSKSB7CiAg
ICAgICAgICAgICB2YXIgcmVzb3VyY2VUcmVlRWxlbWVudCA9IHRoaXMuX2ZpbmRUcmVlRWxlbWVu
dEZvclJlc291cmNlKHJlc291cmNlKTsK
</data>
<flag name="review"
          id="70586"
          type_id="1"
          status="+"
          setter="yurys"
    />
    <flag name="commit-queue"
          id="70587"
          type_id="3"
          status="-"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>