<?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>52365</bug_id>
          
          <creation_ts>2011-01-13 05:50:33 -0800</creation_ts>
          <short_desc>Web Inspector: Cleanup after r75613 -- make all UI-facing strings to be passed directly to WebInspector.UIString</short_desc>
          <delta_ts>2011-01-13 07:51:22 -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="Mikhail Naganov">mnaganov</reporter>
          <assigned_to name="Mikhail Naganov">mnaganov</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>333649</commentid>
    <comment_count>0</comment_count>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2011-01-13 05:50:33 -0800</bug_when>
    <thetext>As Timothy suggested, I&apos;m forcing all UI-facing strings to be passed to WebInspector.UIString directly. This removes the need of previously introduced /*@LS*/ annotation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333653</commentid>
    <comment_count>1</comment_count>
      <attachid>78802</attachid>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2011-01-13 05:54:41 -0800</bug_when>
    <thetext>Created attachment 78802
patch

Calling WebInspector.UIString from Number.{bytes|seconds}ToString introduces a run-time dependency of utilities.js on inspector.js, but it&apos;s OK for all of the usages, because they happen after WebInspector has been created.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333684</commentid>
    <comment_count>2</comment_count>
    <who name="Mikhail Naganov">mnaganov</who>
    <bug_when>2011-01-13 07:51:22 -0800</bug_when>
    <thetext>Manually committed as http://trac.webkit.org/changeset/75714


    2011-01-13  Mikhail Naganov  &lt;mnaganov@chromium.org&gt;
    
            Reviewed by Timothy Hatcher.
    
            Web Inspector: Cleanup after r75613 -- make all UI-facing strings
            to be passed directly to WebInspector.UIString
    
            https://bugs.webkit.org/show_bug.cgi?id=52365
    
            * English.lproj/localizedStrings.js:
            * inspector/front-end/ApplicationCacheItemsView.js:
            (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
            (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
            * inspector/front-end/AuditRules.js:
            (WebInspector.AuditRules.GzipRule.prototype.doRun):
            (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
            (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
            * inspector/front-end/BreakpointsSidebarPane.js:
            (WebInspector.EventListenerBreakpointsSidebarPane):
            (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
            * inspector/front-end/CookieItemsView.js:
            (WebInspector.CookieItemsView.prototype._updateWithCookies):
            * inspector/front-end/ImageView.js:
            (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
            (WebInspector.ImageView.prototype._createContentIfNeeded):
            * inspector/front-end/NetworkPanel.js:
            (WebInspector.NetworkTimeCalculator.prototype.formatValue):
            (WebInspector.NetworkTransferTimeCalculator.prototype.formatValue):
            (WebInspector.NetworkTransferDurationCalculator.prototype.formatValue):
            * inspector/front-end/ProfileDataGridTree.js:
            (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
            (WebInspector.ProfileDataGridNode.prototype.get data):
            * inspector/front-end/Resource.js:
            (WebInspector.Resource.Type.toUIString):
            (WebInspector.Resource.Type.toString):
            * inspector/front-end/TimelineOverviewPane.js:
            (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
            * inspector/front-end/TimelinePanel.js:
            (WebInspector.TimelinePanel):
            (WebInspector.TimelineCalculator.prototype.formatValue):
            (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
            (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
            (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
            * inspector/front-end/utilities.js:
            ():
            * Scripts/check-inspector-strings:</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78802</attachid>
            <date>2011-01-13 05:54:41 -0800</date>
            <delta_ts>2011-01-13 07:21:23 -0800</delta_ts>
            <desc>patch</desc>
            <filename>52365-patch</filename>
            <type>text/plain</type>
            <size>28735</size>
            <attacher name="Mikhail Naganov">mnaganov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlNjI2Mjc4Li42NWU1ZmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkg
QEAKKzIwMTEtMDEtMTMgIE1pa2hhaWwgTmFnYW5vdiAgPG1uYWdhbm92QGNocm9taXVtLm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBDbGVhbnVwIGFmdGVyIHI3NTYxMyAtLSBtYWtlIGFsbCBVSS1mYWNpbmcgc3RyaW5n
cworICAgICAgICB0byBiZSBwYXNzZWQgZGlyZWN0bHkgdG8gV2ViSW5zcGVjdG9yLlVJU3RyaW5n
CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyMzY1
CisKKyAgICAgICAgKiBFbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9BcHBsaWNhdGlvbkNhY2hlSXRlbXNWaWV3LmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVJdGVtc1ZpZXcucHJvdG90eXBlLl91
cGRhdGVDYWxsYmFjayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZUl0
ZW1zVmlldy5wcm90b3R5cGUuX3BvcHVsYXRlRGF0YUdyaWQpOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvQXVkaXRSdWxlcy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5BdWRpdFJ1
bGVzLkd6aXBSdWxlLnByb3RvdHlwZS5kb1J1bik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXVk
aXRSdWxlcy5Db29raWVTaXplUnVsZS5wcm90b3R5cGUucHJvY2Vzc0Nvb2tpZXMpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuU3RhdGljQ29va2llbGVzc1J1bGUucHJvdG90eXBl
LnByb2Nlc3NDb29raWVzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFrcG9p
bnRzU2lkZWJhclBhbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lckJy
ZWFrcG9pbnRzU2lkZWJhclBhbmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVu
ZXJCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fY3JlYXRlQ2F0ZWdvcnkpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29va2llSXRlbXNWaWV3LmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNvb2tpZUl0ZW1zVmlldy5wcm90b3R5cGUuX3VwZGF0ZVdpdGhDb29raWVz
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlVmlldy5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5JbWFnZVZpZXcucHJvdG90eXBlLl9jcmVhdGVDb250ZW50SWZOZWVkZWQu
b25JbWFnZUxvYWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkltYWdlVmlldy5wcm90b3R5cGUu
X2NyZWF0ZUNvbnRlbnRJZk5lZWRlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9O
ZXR3b3JrUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1RpbWVDYWxjdWxh
dG9yLnByb3RvdHlwZS5mb3JtYXRWYWx1ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29y
a1RyYW5zZmVyVGltZUNhbGN1bGF0b3IucHJvdG90eXBlLmZvcm1hdFZhbHVlKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5OZXR3b3JrVHJhbnNmZXJEdXJhdGlvbkNhbGN1bGF0b3IucHJvdG90eXBl
LmZvcm1hdFZhbHVlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVEYXRh
R3JpZFRyZWUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUHJvZmlsZURhdGFHcmlkTm9kZS5w
cm90b3R5cGUuZ2V0IGRhdGEuZm9ybWF0TWlsbGlzZWNvbmRzKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5Qcm9maWxlRGF0YUdyaWROb2RlLnByb3RvdHlwZS5nZXQgZGF0YSk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5S
ZXNvdXJjZS5UeXBlLnRvVUlTdHJpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNl
LlR5cGUudG9TdHJpbmcpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVP
dmVydmlld1BhbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld0Nh
bGN1bGF0b3IucHJvdG90eXBlLmZvcm1hdFZhbHVlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL1RpbWVsaW5lUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQ
YW5lbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVDYWxjdWxhdG9yLnByb3RvdHlw
ZS5mb3JtYXRWYWx1ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5Gb3Jt
YXR0ZWRSZWNvcmQucHJvdG90eXBlLl9nZW5lcmF0ZUFnZ3JlZ2F0ZWRJbmZvKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLkZvcm1hdHRlZFJlY29yZC5wcm90b3R5cGUuX2dl
bmVyYXRlUG9wdXBDb250ZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVs
LkZvcm1hdHRlZFJlY29yZC5wcm90b3R5cGUuX2dldFJlY29yZERldGFpbHMpOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzOgorICAgICAgICAoKToKKwogMjAxMS0w
MS0xMyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgWGFuIExvcGV6LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRW5n
bGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGIvU291cmNlL1dlYkNvcmUvRW5nbGlzaC5s
cHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IDk1ODY3YTQuLjcyYjU3ZGUgMTAwNjQ0CkJp
bmFyeSBmaWxlcyBhL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5n
cy5qcyBhbmQgYi9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3Mu
anMgZGlmZmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0FwcGxpY2F0aW9uQ2FjaGVJdGVtc1ZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0FwcGxpY2F0aW9uQ2FjaGVJdGVtc1ZpZXcuanMKaW5kZXggZjUxNDdlMy4uZTdh
YTE4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BcHBs
aWNhdGlvbkNhY2hlSXRlbXNWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvQXBwbGljYXRpb25DYWNoZUl0ZW1zVmlldy5qcwpAQCAtMTY3LDcgKzE2Nyw3IEBA
IFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlSXRlbXNWaWV3LnByb3RvdHlwZSA9IHsKICAg
ICAgICAgdGhpcy5fZW1wdHlNc2dFbGVtZW50LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOwogICAg
ICAgICB0aGlzLmRlbGV0ZUJ1dHRvbi52aXNpYmxlID0gdHJ1ZTsKIAotICAgICAgICB2YXIgdG90
YWxTaXplU3RyaW5nID0gTnVtYmVyLmJ5dGVzVG9TdHJpbmcodGhpcy5fc2l6ZSwgV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKTsKKyAgICAgICAgdmFyIHRvdGFsU2l6ZVN0cmluZyA9IE51bWJlci5ieXRl
c1RvU3RyaW5nKHRoaXMuX3NpemUpOwogICAgICAgICB0aGlzLl90cmVlRWxlbWVudC5zdWJ0aXRs
ZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiJXMgKCVzKSIsIGxhc3RQYXRoQ29tcG9uZW50LCB0
b3RhbFNpemVTdHJpbmcpOwogCiAgICAgICAgIC8vIEZJWE1FOiBGb3IgQ2hyb21lLCBwdXQgY3Jl
YXRpb25UaW1lIGFuZCB1cGRhdGVUaW1lIHNvbWV3aGVyZS4KQEAgLTIyMyw3ICsyMjMsNyBAQCBX
ZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZUl0ZW1zVmlldy5wcm90b3R5cGUgPSB7CiAgICAg
ICAgICAgICB2YXIgcmVzb3VyY2UgPSB0aGlzLl9yZXNvdXJjZXNbaV07CiAgICAgICAgICAgICBk
YXRhWzBdID0gcmVzb3VyY2UubmFtZTsKICAgICAgICAgICAgIGRhdGFbMV0gPSByZXNvdXJjZS50
eXBlOwotICAgICAgICAgICAgZGF0YVsyXSA9IE51bWJlci5ieXRlc1RvU3RyaW5nKHJlc291cmNl
LnNpemUsIFdlYkluc3BlY3Rvci5VSVN0cmluZyk7CisgICAgICAgICAgICBkYXRhWzJdID0gTnVt
YmVyLmJ5dGVzVG9TdHJpbmcocmVzb3VyY2Uuc2l6ZSk7CiAgICAgICAgICAgICB2YXIgbm9kZSA9
IG5ldyBXZWJJbnNwZWN0b3IuRGF0YUdyaWROb2RlKGRhdGEpOwogICAgICAgICAgICAgbm9kZS5y
ZXNvdXJjZSA9IHJlc291cmNlOwogICAgICAgICAgICAgbm9kZS5zZWxlY3RhYmxlID0gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRSdWxl
cy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRSdWxlcy5qcwpp
bmRleCAzZjc5YzI1Li43YWE4OTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0F1ZGl0UnVsZXMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9BdWRpdFJ1bGVzLmpzCkBAIC05MiwxMyArOTIsMTMgQEAgV2ViSW5zcGVjdG9y
LkF1ZGl0UnVsZXMuR3ppcFJ1bGUucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICB2YXIgc2F2aW5ncyA9IDIgKiBzaXplIC8gMzsKICAgICAgICAgICAgICAg
ICB0b3RhbFNhdmluZ3MgKz0gc2F2aW5nczsKLSAgICAgICAgICAgICAgICBzdW1tYXJ5LmFkZENo
aWxkKFN0cmluZy5zcHJpbnRmKCIlcyBjb3VsZCBzYXZlIH4lcyIsIFdlYkluc3BlY3Rvci5BdWRp
dFJ1bGVSZXN1bHQubGlua2lmeURpc3BsYXlOYW1lKHJlc291cmNlLnVybCksIE51bWJlci5ieXRl
c1RvU3RyaW5nKHNhdmluZ3MsIFdlYkluc3BlY3Rvci5VSVN0cmluZykpKTsKKyAgICAgICAgICAg
ICAgICBzdW1tYXJ5LmFkZENoaWxkKFN0cmluZy5zcHJpbnRmKCIlcyBjb3VsZCBzYXZlIH4lcyIs
IFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVSZXN1bHQubGlua2lmeURpc3BsYXlOYW1lKHJlc291cmNl
LnVybCksIE51bWJlci5ieXRlc1RvU3RyaW5nKHNhdmluZ3MpKSk7CiAgICAgICAgICAgICAgICAg
cmVzdWx0LnZpb2xhdGlvbkNvdW50Kys7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAg
ICAgaWYgKCF0b3RhbFNhdmluZ3MpCiAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2sobnVsbCk7
Ci0gICAgICAgIHN1bW1hcnkudmFsdWUgPSBTdHJpbmcuc3ByaW50ZigiQ29tcHJlc3NpbmcgdGhl
IGZvbGxvd2luZyByZXNvdXJjZXMgd2l0aCBnemlwIGNvdWxkIHJlZHVjZSB0aGVpciB0cmFuc2Zl
ciBzaXplIGJ5IGFib3V0IHR3byB0aGlyZHMgKH4lcyk6IiwgTnVtYmVyLmJ5dGVzVG9TdHJpbmco
dG90YWxTYXZpbmdzLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcpKTsKKyAgICAgICAgc3VtbWFyeS52
YWx1ZSA9IFN0cmluZy5zcHJpbnRmKCJDb21wcmVzc2luZyB0aGUgZm9sbG93aW5nIHJlc291cmNl
cyB3aXRoIGd6aXAgY291bGQgcmVkdWNlIHRoZWlyIHRyYW5zZmVyIHNpemUgYnkgYWJvdXQgdHdv
IHRoaXJkcyAofiVzKToiLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyh0b3RhbFNhdmluZ3MpKTsKICAg
ICAgICAgY2FsbGJhY2socmVzdWx0KTsKICAgICB9LAogCkBAIC05NjYsNyArOTY2LDcgQEAgV2Vi
SW5zcGVjdG9yLkF1ZGl0UnVsZXMuQ29va2llU2l6ZVJ1bGUucHJvdG90eXBlID0gewogICAgICAg
ICBmb3IgKHZhciBpID0gMCwgbGVuID0gc29ydGVkQ29va2llU2l6ZXMubGVuZ3RoOyBpIDwgbGVu
OyArK2kpIHsKICAgICAgICAgICAgIHZhciBtYXhDb29raWVTaXplID0gc29ydGVkQ29va2llU2l6
ZXNbaV0ubWF4Q29va2llU2l6ZTsKICAgICAgICAgICAgIGlmIChtYXhDb29raWVTaXplID4gdGhp
cy5fbWF4Qnl0ZXNUaHJlc2hvbGQpCi0gICAgICAgICAgICAgICAgaHVnZUNvb2tpZURvbWFpbnMu
cHVzaChXZWJJbnNwZWN0b3IuQXVkaXRSdWxlUmVzdWx0LnJlc291cmNlRG9tYWluKHNvcnRlZENv
b2tpZVNpemVzW2ldLmRvbWFpbikgKyAiOiAiICsgTnVtYmVyLmJ5dGVzVG9TdHJpbmcobWF4Q29v
a2llU2l6ZSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKSk7CisgICAgICAgICAgICAgICAgaHVnZUNv
b2tpZURvbWFpbnMucHVzaChXZWJJbnNwZWN0b3IuQXVkaXRSdWxlUmVzdWx0LnJlc291cmNlRG9t
YWluKHNvcnRlZENvb2tpZVNpemVzW2ldLmRvbWFpbikgKyAiOiAiICsgTnVtYmVyLmJ5dGVzVG9T
dHJpbmcobWF4Q29va2llU2l6ZSkpOwogICAgICAgICB9CiAKICAgICAgICAgdmFyIGJpZ0F2Z0Nv
b2tpZURvbWFpbnMgPSBbXTsKQEAgLTk3NSw5ICs5NzUsOSBAQCBXZWJJbnNwZWN0b3IuQXVkaXRS
dWxlcy5Db29raWVTaXplUnVsZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB2YXIgZG9tYWlu
ID0gc29ydGVkQ29va2llU2l6ZXNbaV0uZG9tYWluOwogICAgICAgICAgICAgdmFyIGF2Z0Nvb2tp
ZVNpemUgPSBzb3J0ZWRDb29raWVTaXplc1tpXS5hdmdDb29raWVTaXplOwogICAgICAgICAgICAg
aWYgKGF2Z0Nvb2tpZVNpemUgPiB0aGlzLl9hdmdCeXRlc1RocmVzaG9sZCAmJiBhdmdDb29raWVT
aXplIDwgdGhpcy5fbWF4Qnl0ZXNUaHJlc2hvbGQpCi0gICAgICAgICAgICAgICAgYmlnQXZnQ29v
a2llRG9tYWlucy5wdXNoKFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVSZXN1bHQucmVzb3VyY2VEb21h
aW4oZG9tYWluKSArICI6ICIgKyBOdW1iZXIuYnl0ZXNUb1N0cmluZyhhdmdDb29raWVTaXplLCBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcpKTsKKyAgICAgICAgICAgICAgICBiaWdBdmdDb29raWVEb21h
aW5zLnB1c2goV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZVJlc3VsdC5yZXNvdXJjZURvbWFpbihkb21h
aW4pICsgIjogIiArIE51bWJlci5ieXRlc1RvU3RyaW5nKGF2Z0Nvb2tpZVNpemUpKTsKICAgICAg
ICAgfQotICAgICAgICByZXN1bHQuYWRkQ2hpbGQoU3RyaW5nLnNwcmludGYoIlRoZSBhdmVyYWdl
IGNvb2tpZSBzaXplIGZvciBhbGwgcmVxdWVzdHMgb24gdGhpcyBwYWdlIGlzICVzIiwgTnVtYmVy
LmJ5dGVzVG9TdHJpbmcoYXZnQWxsQ29va2llc1NpemUsIFdlYkluc3BlY3Rvci5VSVN0cmluZykp
KTsKKyAgICAgICAgcmVzdWx0LmFkZENoaWxkKFN0cmluZy5zcHJpbnRmKCJUaGUgYXZlcmFnZSBj
b29raWUgc2l6ZSBmb3IgYWxsIHJlcXVlc3RzIG9uIHRoaXMgcGFnZSBpcyAlcyIsIE51bWJlci5i
eXRlc1RvU3RyaW5nKGF2Z0FsbENvb2tpZXNTaXplKSkpOwogCiAgICAgICAgIHZhciBtZXNzYWdl
OwogICAgICAgICBpZiAoaHVnZUNvb2tpZURvbWFpbnMubGVuZ3RoKSB7CkBAIC0xMDI3LDcgKzEw
MjcsNyBAQCBXZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5TdGF0aWNDb29raWVsZXNzUnVsZS5wcm90
b3R5cGUgPSB7CiAgICAgICAgIGlmIChiYWRVcmxzLmxlbmd0aCA8IHRoaXMuX21pblJlc291cmNl
cykKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB2YXIgZW50cnkgPSByZXN1bHQuYWRk
Q2hpbGQoU3RyaW5nLnNwcmludGYoIiVzIG9mIGNvb2tpZXMgd2VyZSBzZW50IHdpdGggdGhlIGZv
bGxvd2luZyBzdGF0aWMgcmVzb3VyY2VzLiBTZXJ2ZSB0aGVzZSBzdGF0aWMgcmVzb3VyY2VzIGZy
b20gYSBkb21haW4gdGhhdCBkb2VzIG5vdCBzZXQgY29va2llczoiLCBOdW1iZXIuYnl0ZXNUb1N0
cmluZyhjb29raWVCeXRlcywgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKSksIHRydWUpOworICAgICAg
ICB2YXIgZW50cnkgPSByZXN1bHQuYWRkQ2hpbGQoU3RyaW5nLnNwcmludGYoIiVzIG9mIGNvb2tp
ZXMgd2VyZSBzZW50IHdpdGggdGhlIGZvbGxvd2luZyBzdGF0aWMgcmVzb3VyY2VzLiBTZXJ2ZSB0
aGVzZSBzdGF0aWMgcmVzb3VyY2VzIGZyb20gYSBkb21haW4gdGhhdCBkb2VzIG5vdCBzZXQgY29v
a2llczoiLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyhjb29raWVCeXRlcykpLCB0cnVlKTsKICAgICAg
ICAgZW50cnkuYWRkVVJMcyhiYWRVcmxzKTsKICAgICAgICAgcmVzdWx0LnZpb2xhdGlvbkNvdW50
ID0gYmFkVXJscy5sZW5ndGg7CiAgICAgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5qcwppbmRleCA2
MTAzYzAwLi40MDhjNWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0JyZWFrcG9pbnRzU2lkZWJhclBhbmUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50c1NpZGViYXJQYW5lLmpzCkBAIC0yNjUsMjQgKzI2
NSwyNCBAQCBXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRzU2lkZWJhclBhbmUg
PSBmdW5jdGlvbigpCiAgICAgV2ViSW5zcGVjdG9yLmJyZWFrcG9pbnRNYW5hZ2VyLmFkZEV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLkV2ZW50cy5FdmVudExpc3Rl
bmVyQnJlYWtwb2ludEFkZGVkLCB0aGlzLl9icmVha3BvaW50QWRkZWQsIHRoaXMpOwogCiAgICAg
dGhpcy5fYnJlYWtwb2ludEl0ZW1zID0ge307Ci0gICAgdGhpcy5fY3JlYXRlQ2F0ZWdvcnkoLypA
TFMqLyJLZXlib2FyZCIsICJsaXN0ZW5lciIsIFsia2V5ZG93biIsICJrZXl1cCIsICJrZXlwcmVz
cyIsICJ0ZXh0SW5wdXQiXSk7Ci0gICAgdGhpcy5fY3JlYXRlQ2F0ZWdvcnkoLypATFMqLyJNb3Vz
ZSIsICJsaXN0ZW5lciIsIFsiY2xpY2siLCAiZGJsY2xpY2siLCAibW91c2Vkb3duIiwgIm1vdXNl
dXAiLCAibW91c2VvdmVyIiwgIm1vdXNlbW92ZSIsICJtb3VzZW91dCIsICJtb3VzZXdoZWVsIl0p
OworICAgIHRoaXMuX2NyZWF0ZUNhdGVnb3J5KFdlYkluc3BlY3Rvci5VSVN0cmluZygiS2V5Ym9h
cmQiKSwgImxpc3RlbmVyIiwgWyJrZXlkb3duIiwgImtleXVwIiwgImtleXByZXNzIiwgInRleHRJ
bnB1dCJdKTsKKyAgICB0aGlzLl9jcmVhdGVDYXRlZ29yeShXZWJJbnNwZWN0b3IuVUlTdHJpbmco
Ik1vdXNlIiksICJsaXN0ZW5lciIsIFsiY2xpY2siLCAiZGJsY2xpY2siLCAibW91c2Vkb3duIiwg
Im1vdXNldXAiLCAibW91c2VvdmVyIiwgIm1vdXNlbW92ZSIsICJtb3VzZW91dCIsICJtb3VzZXdo
ZWVsIl0pOwogICAgIC8vIEZJWE1FOiB1bmNvbW1lbnQgZm9sbG93aW5nIG9uY2UgaW5zcGVjdG9y
IHN0b3BzIGJlaW5nIGRyb3AgdGFyZ2VyIGluIG1ham9yIHBvcnRzLgogICAgIC8vIE90aGVyd2lz
ZSwgaW5zcGVjdG9yIHBhZ2UgcmVhY3RzIG9uIGRyb3AgZXZlbnQgYW5kIHRyaWVzIHRvIGxvYWQg
dGhlIGV2ZW50IGRhdGEuCi0gICAgLy8gdGhpcy5fY3JlYXRlQ2F0ZWdvcnkoLypATFMqLyJEcmFn
IiwgImxpc3RlbmVyIiwgWyJkcmFnIiwgImRyb3AiLCAiZHJhZ3N0YXJ0IiwgImRyYWdlbmQiLCAi
ZHJhZ2VudGVyIiwgImRyYWdsZWF2ZSIsICJkcmFnb3ZlciJdKTsKLSAgICB0aGlzLl9jcmVhdGVD
YXRlZ29yeSgvKkBMUyovIkNvbnRyb2wiLCAibGlzdGVuZXIiLCBbInJlc2l6ZSIsICJzY3JvbGwi
LCAiem9vbSIsICJmb2N1cyIsICJibHVyIiwgInNlbGVjdCIsICJjaGFuZ2UiLCAic3VibWl0Iiwg
InJlc2V0Il0pOwotICAgIHRoaXMuX2NyZWF0ZUNhdGVnb3J5KC8qQExTKi8iQ2xpcGJvYXJkIiwg
Imxpc3RlbmVyIiwgWyJjb3B5IiwgImN1dCIsICJwYXN0ZSIsICJiZWZvcmVjb3B5IiwgImJlZm9y
ZWN1dCIsICJiZWZvcmVwYXN0ZSJdKTsKLSAgICB0aGlzLl9jcmVhdGVDYXRlZ29yeSgvKkBMUyov
IkxvYWQiLCAibGlzdGVuZXIiLCBbImxvYWQiLCAidW5sb2FkIiwgImFib3J0IiwgImVycm9yIl0p
OwotICAgIHRoaXMuX2NyZWF0ZUNhdGVnb3J5KC8qQExTKi8iRE9NIE11dGF0aW9uIiwgImxpc3Rl
bmVyIiwgWyJET01BY3RpdmF0ZSIsICJET01Gb2N1c0luIiwgIkRPTUZvY3VzT3V0IiwgIkRPTUF0
dHJNb2RpZmllZCIsICJET01DaGFyYWN0ZXJEYXRhTW9kaWZpZWQiLCAiRE9NTm9kZUluc2VydGVk
IiwgIkRPTU5vZGVJbnNlcnRlZEludG9Eb2N1bWVudCIsICJET01Ob2RlUmVtb3ZlZCIsICJET01O
b2RlUmVtb3ZlZEZyb21Eb2N1bWVudCIsICJET01TdWJ0cmVlTW9kaWZpZWQiLCAiRE9NQ29udGVu
dExvYWRlZCJdKTsKLSAgICB0aGlzLl9jcmVhdGVDYXRlZ29yeSgvKkBMUyovIkRldmljZSIsICJs
aXN0ZW5lciIsIFsiZGV2aWNlb3JpZW50YXRpb24iLCAiZGV2aWNlbW90aW9uIl0pOwotICAgIHRo
aXMuX2NyZWF0ZUNhdGVnb3J5KC8qQExTKi8iVGltZXIiLCAiaW5zdHJ1bWVudGF0aW9uIiwgWyJz
ZXRUaW1lciIsICJjbGVhclRpbWVyIiwgInRpbWVyRmlyZWQiXSk7CisgICAgLy8gdGhpcy5fY3Jl
YXRlQ2F0ZWdvcnkoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJEcmFnIiksICJsaXN0ZW5lciIsIFsi
ZHJhZyIsICJkcm9wIiwgImRyYWdzdGFydCIsICJkcmFnZW5kIiwgImRyYWdlbnRlciIsICJkcmFn
bGVhdmUiLCAiZHJhZ292ZXIiXSk7CisgICAgdGhpcy5fY3JlYXRlQ2F0ZWdvcnkoV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJDb250cm9sIiksICJsaXN0ZW5lciIsIFsicmVzaXplIiwgInNjcm9sbCIs
ICJ6b29tIiwgImZvY3VzIiwgImJsdXIiLCAic2VsZWN0IiwgImNoYW5nZSIsICJzdWJtaXQiLCAi
cmVzZXQiXSk7CisgICAgdGhpcy5fY3JlYXRlQ2F0ZWdvcnkoV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJDbGlwYm9hcmQiKSwgImxpc3RlbmVyIiwgWyJjb3B5IiwgImN1dCIsICJwYXN0ZSIsICJiZWZv
cmVjb3B5IiwgImJlZm9yZWN1dCIsICJiZWZvcmVwYXN0ZSJdKTsKKyAgICB0aGlzLl9jcmVhdGVD
YXRlZ29yeShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkxvYWQiKSwgImxpc3RlbmVyIiwgWyJsb2Fk
IiwgInVubG9hZCIsICJhYm9ydCIsICJlcnJvciJdKTsKKyAgICB0aGlzLl9jcmVhdGVDYXRlZ29y
eShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRPTSBNdXRhdGlvbiIpLCAibGlzdGVuZXIiLCBbIkRP
TUFjdGl2YXRlIiwgIkRPTUZvY3VzSW4iLCAiRE9NRm9jdXNPdXQiLCAiRE9NQXR0ck1vZGlmaWVk
IiwgIkRPTUNoYXJhY3RlckRhdGFNb2RpZmllZCIsICJET01Ob2RlSW5zZXJ0ZWQiLCAiRE9NTm9k
ZUluc2VydGVkSW50b0RvY3VtZW50IiwgIkRPTU5vZGVSZW1vdmVkIiwgIkRPTU5vZGVSZW1vdmVk
RnJvbURvY3VtZW50IiwgIkRPTVN1YnRyZWVNb2RpZmllZCIsICJET01Db250ZW50TG9hZGVkIl0p
OworICAgIHRoaXMuX2NyZWF0ZUNhdGVnb3J5KFdlYkluc3BlY3Rvci5VSVN0cmluZygiRGV2aWNl
IiksICJsaXN0ZW5lciIsIFsiZGV2aWNlb3JpZW50YXRpb24iLCAiZGV2aWNlbW90aW9uIl0pOwor
ICAgIHRoaXMuX2NyZWF0ZUNhdGVnb3J5KFdlYkluc3BlY3Rvci5VSVN0cmluZygiVGltZXIiKSwg
Imluc3RydW1lbnRhdGlvbiIsIFsic2V0VGltZXIiLCAiY2xlYXJUaW1lciIsICJ0aW1lckZpcmVk
Il0pOwogfQogCiBXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRzU2lkZWJhclBh
bmUucHJvdG90eXBlID0gewogICAgIF9jcmVhdGVDYXRlZ29yeTogZnVuY3Rpb24obmFtZSwgdHlw
ZSwgZXZlbnROYW1lcykKICAgICB7CiAgICAgICAgIHZhciBjYXRlZ29yeUl0ZW0gPSB7fTsKLSAg
ICAgICAgY2F0ZWdvcnlJdGVtLmVsZW1lbnQgPSBuZXcgVHJlZUVsZW1lbnQoV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKG5hbWUpKTsKKyAgICAgICAgY2F0ZWdvcnlJdGVtLmVsZW1lbnQgPSBuZXcgVHJl
ZUVsZW1lbnQobmFtZSk7CiAgICAgICAgIHRoaXMuY2F0ZWdvcmllc1RyZWVPdXRsaW5lLmFwcGVu
ZENoaWxkKGNhdGVnb3J5SXRlbS5lbGVtZW50KTsKICAgICAgICAgY2F0ZWdvcnlJdGVtLmVsZW1l
bnQubGlzdEl0ZW1FbGVtZW50LmFkZFN0eWxlQ2xhc3MoImV2ZW50LWNhdGVnb3J5Iik7CiAgICAg
ICAgIGNhdGVnb3J5SXRlbS5lbGVtZW50LnNlbGVjdGFibGUgPSB0cnVlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29raWVJdGVtc1ZpZXcuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nvb2tpZUl0ZW1zVmlldy5qcwppbmRl
eCBmOWI5YzZkLi5kYzc2YjM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0Nvb2tpZUl0ZW1zVmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0Nvb2tpZUl0ZW1zVmlldy5qcwpAQCAtMTAxLDcgKzEwMSw3IEBAIFdlYklu
c3BlY3Rvci5Db29raWVJdGVtc1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9lbXB0
eU1zZ0VsZW1lbnQuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CiAgICAgICAgIGlmIChpc0FkdmFu
Y2VkKSB7CiAgICAgICAgICAgICB0aGlzLl90cmVlRWxlbWVudC5zdWJ0aXRsZSA9IFN0cmluZy5z
cHJpbnRmKFdlYkluc3BlY3Rvci5VSVN0cmluZygiJWQgY29va2llcyAoJXMpIiksIHRoaXMuX2Nv
b2tpZXMubGVuZ3RoLAotICAgICAgICAgICAgICAgIE51bWJlci5ieXRlc1RvU3RyaW5nKHRoaXMu
X3RvdGFsU2l6ZSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKSk7CisgICAgICAgICAgICAgICAgTnVt
YmVyLmJ5dGVzVG9TdHJpbmcodGhpcy5fdG90YWxTaXplKSk7CiAgICAgICAgICAgICB0aGlzLl9k
ZWxldGVCdXR0b24udmlzaWJsZSA9IHRydWU7CiAgICAgICAgIH0KICAgICAgICAgdGhpcy5fY29v
a2llc1RhYmxlLnVwZGF0ZVdpZHRocygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9JbWFnZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0ltYWdlVmlldy5qcwppbmRleCA1NGExNmJiLi5jNTc3MmM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlVmlldy5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlVmlldy5qcwpAQCAtODcsNyAr
ODcsNyBAQCBXZWJJbnNwZWN0b3IuSW1hZ2VWaWV3LnByb3RvdHlwZSA9IHsKIAogICAgICAgICAg
ICAgdmFyIGltYWdlUHJvcGVydGllcyA9IFsKICAgICAgICAgICAgICAgICB7IG5hbWU6IFdlYklu
c3BlY3Rvci5VSVN0cmluZygiRGltZW5zaW9ucyIpLCB2YWx1ZTogV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCIlZCDDlyAlZCIsIGltYWdlUHJldmlld0VsZW1lbnQubmF0dXJhbFdpZHRoLCBpbWFnZVBy
ZXZpZXdFbGVtZW50Lm5hdHVyYWxIZWlnaHQpIH0sCi0gICAgICAgICAgICAgICAgeyBuYW1lOiBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkZpbGUgc2l6ZSIpLCB2YWx1ZTogTnVtYmVyLmJ5dGVzVG9T
dHJpbmcocmVzb3VyY2VTaXplLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcpIH0sCisgICAgICAgICAg
ICAgICAgeyBuYW1lOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkZpbGUgc2l6ZSIpLCB2YWx1ZTog
TnVtYmVyLmJ5dGVzVG9TdHJpbmcocmVzb3VyY2VTaXplKSB9LAogICAgICAgICAgICAgICAgIHsg
bmFtZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJNSU1FIHR5cGUiKSwgdmFsdWU6IHRoaXMucmVz
b3VyY2UubWltZVR5cGUgfQogICAgICAgICAgICAgXTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMKaW5kZXggN2I2ZGY4Yi4u
ZmY0MjA2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9O
ZXR3b3JrUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9O
ZXR3b3JrUGFuZWwuanMKQEAgLTEyMzAsNyArMTIzMCw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3Jr
VGltZUNhbGN1bGF0b3IucHJvdG90eXBlID0gewogCiAgICAgZm9ybWF0VmFsdWU6IGZ1bmN0aW9u
KHZhbHVlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIE51bWJlci5zZWNvbmRzVG9TdHJpbmcodmFs
dWUsIFdlYkluc3BlY3Rvci5VSVN0cmluZyk7CisgICAgICAgIHJldHVybiBOdW1iZXIuc2Vjb25k
c1RvU3RyaW5nKHZhbHVlKTsKICAgICB9LAogCiAgICAgX2xvd2VyQm91bmQ6IGZ1bmN0aW9uKHJl
c291cmNlKQpAQCAtMTI1NCw3ICsxMjU0LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtUcmFuc2Zl
clRpbWVDYWxjdWxhdG9yID0gZnVuY3Rpb24oKQogV2ViSW5zcGVjdG9yLk5ldHdvcmtUcmFuc2Zl
clRpbWVDYWxjdWxhdG9yLnByb3RvdHlwZSA9IHsKICAgICBmb3JtYXRWYWx1ZTogZnVuY3Rpb24o
dmFsdWUpCiAgICAgewotICAgICAgICByZXR1cm4gTnVtYmVyLnNlY29uZHNUb1N0cmluZyh2YWx1
ZSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKTsKKyAgICAgICAgcmV0dXJuIE51bWJlci5zZWNvbmRz
VG9TdHJpbmcodmFsdWUpOwogICAgIH0sCiAKICAgICBfbG93ZXJCb3VuZDogZnVuY3Rpb24ocmVz
b3VyY2UpCkBAIC0xMjc4LDcgKzEyNzgsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya1RyYW5zZmVy
RHVyYXRpb25DYWxjdWxhdG9yID0gZnVuY3Rpb24oKQogV2ViSW5zcGVjdG9yLk5ldHdvcmtUcmFu
c2ZlckR1cmF0aW9uQ2FsY3VsYXRvci5wcm90b3R5cGUgPSB7CiAgICAgZm9ybWF0VmFsdWU6IGZ1
bmN0aW9uKHZhbHVlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIE51bWJlci5zZWNvbmRzVG9TdHJp
bmcodmFsdWUsIFdlYkluc3BlY3Rvci5VSVN0cmluZyk7CisgICAgICAgIHJldHVybiBOdW1iZXIu
c2Vjb25kc1RvU3RyaW5nKHZhbHVlKTsKICAgICB9LAogCiAgICAgX3VwcGVyQm91bmQ6IGZ1bmN0
aW9uKHJlc291cmNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9Qcm9maWxlRGF0YUdyaWRUcmVlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9Qcm9maWxlRGF0YUdyaWRUcmVlLmpzCmluZGV4IGFkZjM0ZjEuLjc5ODg2NzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUHJvZmlsZURhdGFH
cmlkVHJlZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2Zp
bGVEYXRhR3JpZFRyZWUuanMKQEAgLTUwLDcgKzUwLDcgQEAgV2ViSW5zcGVjdG9yLlByb2ZpbGVE
YXRhR3JpZE5vZGUucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgZnVuY3Rpb24gZm9ybWF0
TWlsbGlzZWNvbmRzKHRpbWUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBOdW1iZXIu
c2Vjb25kc1RvU3RyaW5nKHRpbWUgLyAxMDAwLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcsICFQcmVm
ZXJlbmNlcy5zYW1wbGluZ0NQVVByb2ZpbGVyKTsKKyAgICAgICAgICAgIHJldHVybiBOdW1iZXIu
c2Vjb25kc1RvU3RyaW5nKHRpbWUgLyAxMDAwLCAhUHJlZmVyZW5jZXMuc2FtcGxpbmdDUFVQcm9m
aWxlcik7CiAgICAgICAgIH0KIAogICAgICAgICB2YXIgZGF0YSA9IHt9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZS5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2UuanMKaW5kZXggZmQ1NmVlOS4uOTg4
YzRlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNv
dXJjZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNl
LmpzCkBAIC01NSw3ICs1NSwyNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZSA9IHsKIAog
ICAgIHRvVUlTdHJpbmc6IGZ1bmN0aW9uKHR5cGUpCiAgICAgewotICAgICAgICByZXR1cm4gV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLnRvU3RyaW5nKHR5
cGUpKTsKKyAgICAgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgICAgICBjYXNlIHRoaXMuRG9j
dW1lbnQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiRG9j
dW1lbnQiKTsKKyAgICAgICAgICAgIGNhc2UgdGhpcy5TdHlsZXNoZWV0OgorICAgICAgICAgICAg
ICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlN0eWxlc2hlZXQiKTsKKyAgICAgICAg
ICAgIGNhc2UgdGhpcy5JbWFnZToKKyAgICAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJJbWFnZSIpOworICAgICAgICAgICAgY2FzZSB0aGlzLkZvbnQ6CisgICAgICAg
ICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiRm9udCIpOworICAgICAgICAg
ICAgY2FzZSB0aGlzLlNjcmlwdDoKKyAgICAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJTY3JpcHQiKTsKKyAgICAgICAgICAgIGNhc2UgdGhpcy5YSFI6CisgICAgICAg
ICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiWEhSIik7CisgICAgICAgICAg
ICBjYXNlIHRoaXMuTWVkaWE6CisgICAgICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5V
SVN0cmluZygiTWVkaWEiKTsKKyAgICAgICAgICAgIGNhc2UgdGhpcy5XZWJTb2NrZXQ6CisgICAg
ICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiV2ViU29ja2V0Iik7Cisg
ICAgICAgICAgICBjYXNlIHRoaXMuT3RoZXI6CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAg
ICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk90aGVyIik7CisgICAgICAg
IH0KICAgICB9LAogCiAgICAgLy8gUmV0dXJucyBsb2NhbGUtaW5kZXBlbmRlbnQgc3RyaW5nIGlk
ZW50aWZpZXIgb2YgcmVzb3VyY2UgdHlwZSAocHJpbWFyaWx5IGZvciB1c2UgaW4gZXh0ZW5zaW9u
IEFQSSkuCkBAIC02NCwyNCArODQsMjQgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5cGUgPSB7
CiAgICAgewogICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICAgICAgICAgIGNhc2UgdGhpcy5E
b2N1bWVudDoKLSAgICAgICAgICAgICAgICByZXR1cm4gLypATFMqLyJkb2N1bWVudCI7CisgICAg
ICAgICAgICAgICAgcmV0dXJuICJkb2N1bWVudCI7CiAgICAgICAgICAgICBjYXNlIHRoaXMuU3R5
bGVzaGVldDoKLSAgICAgICAgICAgICAgICByZXR1cm4gLypATFMqLyJzdHlsZXNoZWV0IjsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gInN0eWxlc2hlZXQiOwogICAgICAgICAgICAgY2FzZSB0aGlz
LkltYWdlOgotICAgICAgICAgICAgICAgIHJldHVybiAvKkBMUyovImltYWdlIjsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gImltYWdlIjsKICAgICAgICAgICAgIGNhc2UgdGhpcy5Gb250OgotICAg
ICAgICAgICAgICAgIHJldHVybiAvKkBMUyovImZvbnQiOworICAgICAgICAgICAgICAgIHJldHVy
biAiZm9udCI7CiAgICAgICAgICAgICBjYXNlIHRoaXMuU2NyaXB0OgotICAgICAgICAgICAgICAg
IHJldHVybiAvKkBMUyovInNjcmlwdCI7CisgICAgICAgICAgICAgICAgcmV0dXJuICJzY3JpcHQi
OwogICAgICAgICAgICAgY2FzZSB0aGlzLlhIUjoKLSAgICAgICAgICAgICAgICByZXR1cm4gLypA
TFMqLyJ4aHIiOworICAgICAgICAgICAgICAgIHJldHVybiAieGhyIjsKICAgICAgICAgICAgIGNh
c2UgdGhpcy5NZWRpYToKLSAgICAgICAgICAgICAgICByZXR1cm4gLypATFMqLyJtZWRpYSI7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuICJtZWRpYSI7CiAgICAgICAgICAgICBjYXNlIHRoaXMuV2Vi
U29ja2V0OgotICAgICAgICAgICAgICAgIHJldHVybiAvKkBMUyovIndlYnNvY2tldCI7CisgICAg
ICAgICAgICAgICAgcmV0dXJuICJ3ZWJzb2NrZXQiOwogICAgICAgICAgICAgY2FzZSB0aGlzLk90
aGVyOgogICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICByZXR1cm4gLypATFMq
LyJvdGhlciI7CisgICAgICAgICAgICAgICAgcmV0dXJuICJvdGhlciI7CiAgICAgICAgIH0KICAg
ICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Rp
bWVsaW5lT3ZlcnZpZXdQYW5lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9UaW1lbGluZU92ZXJ2aWV3UGFuZS5qcwppbmRleCA1NWUyNGM1Li4wZGFjOTE2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lT3ZlcnZpZXdQ
YW5lLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVP
dmVydmlld1BhbmUuanMKQEAgLTM5OCw3ICszOTgsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVP
dmVydmlld0NhbGN1bGF0b3IucHJvdG90eXBlID0gewogCiAgICAgZm9ybWF0VmFsdWU6IGZ1bmN0
aW9uKHZhbHVlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIE51bWJlci5zZWNvbmRzVG9TdHJpbmco
dmFsdWUsIFdlYkluc3BlY3Rvci5VSVN0cmluZyk7CisgICAgICAgIHJldHVybiBOdW1iZXIuc2Vj
b25kc1RvU3RyaW5nKHZhbHVlKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcwppbmRleCBhY2NhMzg3Li43MjA2
ZDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVs
aW5lUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1l
bGluZVBhbmVsLmpzCkBAIC04Myw3ICs4Myw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVs
ID0gZnVuY3Rpb24oKQogCiAgICAgdGhpcy5fY2FsY3VsYXRvciA9IG5ldyBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVDYWxjdWxhdG9yKCk7CiAgICAgdGhpcy5fY2FsY3VsYXRvci5fc2hvd1Nob3J0RXZl
bnRzID0gZmFsc2U7Ci0gICAgdmFyIHNob3J0UmVjb3JkVGhyZXNob2xkVGl0bGUgPSBOdW1iZXIu
c2Vjb25kc1RvU3RyaW5nKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnNob3J0UmVjb3JkVGhy
ZXNob2xkLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcpOworICAgIHZhciBzaG9ydFJlY29yZFRocmVz
aG9sZFRpdGxlID0gTnVtYmVyLnNlY29uZHNUb1N0cmluZyhXZWJJbnNwZWN0b3IuVGltZWxpbmVQ
YW5lbC5zaG9ydFJlY29yZFRocmVzaG9sZCk7CiAgICAgdGhpcy5fc2hvd1Nob3J0UmVjb3Jkc1Rp
dGxlVGV4dCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2hvdyB0aGUgcmVjb3JkcyB0aGF0IGFy
ZSBzaG9ydGVyIHRoYW4gJXMiLCBzaG9ydFJlY29yZFRocmVzaG9sZFRpdGxlKTsKICAgICB0aGlz
Ll9oaWRlU2hvcnRSZWNvcmRzVGl0bGVUZXh0ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJIaWRl
IHRoZSByZWNvcmRzIHRoYXQgYXJlIHNob3J0ZXIgdGhhbiAlcyIsIHNob3J0UmVjb3JkVGhyZXNo
b2xkVGl0bGUpOwogICAgIHRoaXMuX2NyZWF0ZVN0YXR1c2JhckJ1dHRvbnMoKTsKQEAgLTcxMCw3
ICs3MTAsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVDYWxjdWxhdG9yLnByb3RvdHlwZSA9IHsK
IAogICAgIGZvcm1hdFZhbHVlOiBmdW5jdGlvbih2YWx1ZSkKICAgICB7Ci0gICAgICAgIHJldHVy
biBOdW1iZXIuc2Vjb25kc1RvU3RyaW5nKHZhbHVlICsgdGhpcy5taW5pbXVtQm91bmRhcnkgLSB0
aGlzLl9hYnNvbHV0ZU1pbmltdW1Cb3VuZGFyeSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKTsKKyAg
ICAgICAgcmV0dXJuIE51bWJlci5zZWNvbmRzVG9TdHJpbmcodmFsdWUgKyB0aGlzLm1pbmltdW1C
b3VuZGFyeSAtIHRoaXMuX2Fic29sdXRlTWluaW11bUJvdW5kYXJ5KTsKICAgICB9CiB9CiAKQEAg
LTkwOCw3ICs5MDgsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5Gb3JtYXR0ZWRSZWNv
cmQucHJvdG90eXBlID0gewogICAgICAgICAgICAgbGFiZWwuY2xhc3NOYW1lID0gInRpbWVsaW5l
LWFnZ3JlZ2F0ZWQtY2F0ZWdvcnkgdGltZWxpbmUtIiArIGluZGV4OwogICAgICAgICAgICAgY2Vs
bC5hcHBlbmRDaGlsZChsYWJlbCk7CiAgICAgICAgICAgICB2YXIgdGV4dCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInNwYW4iKTsKLSAgICAgICAgICAgIHRleHQudGV4dENvbnRlbnQgPSBOdW1i
ZXIuc2Vjb25kc1RvU3RyaW5nKHRoaXMuX2FnZ3JlZ2F0ZWRTdGF0c1tpbmRleF0gKyAwLjAwMDEs
IFdlYkluc3BlY3Rvci5VSVN0cmluZyk7CisgICAgICAgICAgICB0ZXh0LnRleHRDb250ZW50ID0g
TnVtYmVyLnNlY29uZHNUb1N0cmluZyh0aGlzLl9hZ2dyZWdhdGVkU3RhdHNbaW5kZXhdICsgMC4w
MDAxKTsKICAgICAgICAgICAgIGNlbGwuYXBwZW5kQ2hpbGQodGV4dCk7CiAgICAgICAgIH0KICAg
ICAgICAgcmV0dXJuIGNlbGw7CkBAIC05MTksMTAgKzkxOSwxMCBAQCBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVQYW5lbC5Gb3JtYXR0ZWRSZWNvcmQucHJvdG90eXBlID0gewogICAgICAgICB2YXIgY29u
dGVudEhlbHBlciA9IG5ldyBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5Qb3B1cENvbnRlbnRI
ZWxwZXIodGhpcy50aXRsZSk7CiAKICAgICAgICAgaWYgKHRoaXMuX2NoaWxkcmVuICYmIHRoaXMu
X2NoaWxkcmVuLmxlbmd0aCkgewotICAgICAgICAgICAgY29udGVudEhlbHBlci5fYXBwZW5kVGV4
dFJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNlbGYgVGltZSIpLCBOdW1iZXIuc2Vjb25kc1Rv
U3RyaW5nKHRoaXMuX3NlbGZUaW1lICsgMC4wMDAxLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcpKTsK
KyAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuX2FwcGVuZFRleHRSb3coV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJTZWxmIFRpbWUiKSwgTnVtYmVyLnNlY29uZHNUb1N0cmluZyh0aGlzLl9zZWxmVGlt
ZSArIDAuMDAwMSkpOwogICAgICAgICAgICAgY29udGVudEhlbHBlci5fYXBwZW5kRWxlbWVudFJv
dyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkFnZ3JlZ2F0ZWQgVGltZSIpLCB0aGlzLl9nZW5lcmF0
ZUFnZ3JlZ2F0ZWRJbmZvKCkpOwogICAgICAgICB9Ci0gICAgICAgIHZhciB0ZXh0ID0gV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCIlcyAoYXQgJXMpIiwgTnVtYmVyLnNlY29uZHNUb1N0cmluZyh0aGlz
Ll9sYXN0Q2hpbGRFbmRUaW1lIC0gdGhpcy5zdGFydFRpbWUsIFdlYkluc3BlY3Rvci5VSVN0cmlu
ZyksCisgICAgICAgIHZhciB0ZXh0ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlcyAoYXQgJXMp
IiwgTnVtYmVyLnNlY29uZHNUb1N0cmluZyh0aGlzLl9sYXN0Q2hpbGRFbmRUaW1lIC0gdGhpcy5z
dGFydFRpbWUpLAogICAgICAgICAgICAgY2FsY3VsYXRvci5mb3JtYXRWYWx1ZSh0aGlzLnN0YXJ0
VGltZSAtIGNhbGN1bGF0b3IubWluaW11bUJvdW5kYXJ5KSk7CiAgICAgICAgIGNvbnRlbnRIZWxw
ZXIuX2FwcGVuZFRleHRSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJEdXJhdGlvbiIpLCB0ZXh0
KTsKIApAQCAtOTMwLDE0ICs5MzAsMTQgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwuRm9y
bWF0dGVkUmVjb3JkLnByb3RvdHlwZSA9IHsKIAogICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkg
ewogICAgICAgICAgICAgY2FzZSByZWNvcmRUeXBlcy5HQ0V2ZW50OgotICAgICAgICAgICAgICAg
IGNvbnRlbnRIZWxwZXIuX2FwcGVuZFRleHRSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDb2xs
ZWN0ZWQiKSwgTnVtYmVyLmJ5dGVzVG9TdHJpbmcodGhpcy5kYXRhLnVzZWRIZWFwU2l6ZURlbHRh
LCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcpKTsKKyAgICAgICAgICAgICAgICBjb250ZW50SGVscGVy
Ll9hcHBlbmRUZXh0Um93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ29sbGVjdGVkIiksIE51bWJl
ci5ieXRlc1RvU3RyaW5nKHRoaXMuZGF0YS51c2VkSGVhcFNpemVEZWx0YSkpOwogICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSByZWNvcmRUeXBlcy5UaW1lckluc3RhbGw6
CiAgICAgICAgICAgICBjYXNlIHJlY29yZFR5cGVzLlRpbWVyRmlyZToKICAgICAgICAgICAgIGNh
c2UgcmVjb3JkVHlwZXMuVGltZXJSZW1vdmU6CiAgICAgICAgICAgICAgICAgY29udGVudEhlbHBl
ci5fYXBwZW5kVGV4dFJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRpbWVyIElEIiksIHRoaXMu
ZGF0YS50aW1lcklkKTsKICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMudGltZW91dCA9
PT0gIm51bWJlciIpIHsKLSAgICAgICAgICAgICAgICAgICAgY29udGVudEhlbHBlci5fYXBwZW5k
VGV4dFJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRpbWVvdXQiKSwgTnVtYmVyLnNlY29uZHNU
b1N0cmluZyh0aGlzLnRpbWVvdXQgLyAxMDAwLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcpKTsKKyAg
ICAgICAgICAgICAgICAgICAgY29udGVudEhlbHBlci5fYXBwZW5kVGV4dFJvdyhXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIlRpbWVvdXQiKSwgTnVtYmVyLnNlY29uZHNUb1N0cmluZyh0aGlzLnRpbWVv
dXQgLyAxMDAwKSk7CiAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuX2FwcGVuZFRl
eHRSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSZXBlYXRzIiksICF0aGlzLnNpbmdsZVNob3Qp
OwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTk3OCw3ICs5
NzgsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5Gb3JtYXR0ZWRSZWNvcmQucHJvdG90
eXBlID0gewogICAgICAgICAgICAgY29udGVudEhlbHBlci5fYXBwZW5kTGlua1JvdyhXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIkZ1bmN0aW9uIENhbGwiKSwgdGhpcy5kYXRhLnNjcmlwdE5hbWUsIHRo
aXMuZGF0YS5zY3JpcHRMaW5lKTsKIAogICAgICAgICBpZiAodGhpcy51c2VkSGVhcFNpemUpCi0g
ICAgICAgICAgICBjb250ZW50SGVscGVyLl9hcHBlbmRUZXh0Um93KFdlYkluc3BlY3Rvci5VSVN0
cmluZygiVXNlZCBIZWFwIFNpemUiKSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlcyBvZiAlcyIs
IE51bWJlci5ieXRlc1RvU3RyaW5nKHRoaXMudXNlZEhlYXBTaXplLCBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcpLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyh0aGlzLnRvdGFsSGVhcFNpemUsIFdlYkluc3Bl
Y3Rvci5VSVN0cmluZykpKTsKKyAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuX2FwcGVuZFRleHRS
b3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJVc2VkIEhlYXAgU2l6ZSIpLCBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIiVzIG9mICVzIiwgTnVtYmVyLmJ5dGVzVG9TdHJpbmcodGhpcy51c2VkSGVhcFNp
emUpLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyh0aGlzLnRvdGFsSGVhcFNpemUpKSk7CiAKICAgICAg
ICAgaWYgKHRoaXMuY2FsbFNpdGVTdGFja1RyYWNlICYmIHRoaXMuY2FsbFNpdGVTdGFja1RyYWNl
Lmxlbmd0aCkKICAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuX2FwcGVuZFN0YWNrVHJhY2UoV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJDYWxsIFNpdGUgc3RhY2siKSwgdGhpcy5jYWxsU2l0ZVN0YWNr
VHJhY2UpOwpAQCAtOTkzLDcgKzk5Myw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLkZv
cm1hdHRlZFJlY29yZC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBzd2l0Y2ggKHJlY29y
ZC50eXBlKSB7CiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJl
Y29yZFR5cGUuR0NFdmVudDoKLSAgICAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCIlcyBjb2xsZWN0ZWQiLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyhyZWNvcmQuZGF0YS51
c2VkSGVhcFNpemVEZWx0YSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKSk7CisgICAgICAgICAgICAg
ICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiJXMgY29sbGVjdGVkIiwgTnVtYmVyLmJ5
dGVzVG9TdHJpbmcocmVjb3JkLmRhdGEudXNlZEhlYXBTaXplRGVsdGEpKTsKICAgICAgICAgICAg
IGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5UaW1lckZpcmU6CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIHJlY29yZC5kYXRhLnNjcmlwdE5hbWUgPyBXZWJJbnNwZWN0
b3IubGlua2lmeVJlc291cmNlQXNOb2RlKHJlY29yZC5kYXRhLnNjcmlwdE5hbWUsICJzY3JpcHRz
IiwgcmVjb3JkLmRhdGEuc2NyaXB0TGluZSwgIiIsICIiKSA6IHJlY29yZC5kYXRhLnRpbWVySWQ7
CiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUu
RnVuY3Rpb25DYWxsOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC91dGlsaXRpZXMuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0
aWxpdGllcy5qcwppbmRleCA2NTNlNTNhLi44NzA1ZmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxpdGllcy5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxpdGllcy5qcwpAQCAtNjQzLDYxICs2NDMsNTYgQEAg
ZnVuY3Rpb24gcGFyZW50Tm9kZShub2RlKQogICAgIHJldHVybiBub2RlLnBhcmVudE5vZGU7CiB9
CiAKLU51bWJlci5taWxsaXNUb1N0cmluZyA9IGZ1bmN0aW9uKG1zLCBmb3JtYXR0ZXJGdW5jdGlv
biwgaGlnaGVyUmVzb2x1dGlvbikKK051bWJlci5taWxsaXNUb1N0cmluZyA9IGZ1bmN0aW9uKG1z
LCBoaWdoZXJSZXNvbHV0aW9uKQogewotICAgIHJldHVybiBOdW1iZXIuc2Vjb25kc1RvU3RyaW5n
KG1zIC8gMTAwMCwgZm9ybWF0dGVyRnVuY3Rpb24sIGhpZ2hlclJlc29sdXRpb24pOworICAgIHJl
dHVybiBOdW1iZXIuc2Vjb25kc1RvU3RyaW5nKG1zIC8gMTAwMCwgaGlnaGVyUmVzb2x1dGlvbik7
CiB9CiAKLU51bWJlci5zZWNvbmRzVG9TdHJpbmcgPSBmdW5jdGlvbihzZWNvbmRzLCBmb3JtYXR0
ZXJGdW5jdGlvbiwgaGlnaGVyUmVzb2x1dGlvbikKK051bWJlci5zZWNvbmRzVG9TdHJpbmcgPSBm
dW5jdGlvbihzZWNvbmRzLCBoaWdoZXJSZXNvbHV0aW9uKQogewotICAgIGlmICghZm9ybWF0dGVy
RnVuY3Rpb24pCi0gICAgICAgIGZvcm1hdHRlckZ1bmN0aW9uID0gU3RyaW5nLnNwcmludGY7Ci0K
ICAgICBpZiAoc2Vjb25kcyA9PT0gMCkKICAgICAgICAgcmV0dXJuICIwIjsKIAogICAgIHZhciBt
cyA9IHNlY29uZHMgKiAxMDAwOwogICAgIGlmIChoaWdoZXJSZXNvbHV0aW9uICYmIG1zIDwgMTAw
MCkKLSAgICAgICAgcmV0dXJuIGZvcm1hdHRlckZ1bmN0aW9uKC8qQExTKi8iJS4zZm1zIiwgbXMp
OworICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlLjNmbXMiLCBtcyk7CiAg
ICAgZWxzZSBpZiAobXMgPCAxMDAwKQotICAgICAgICByZXR1cm4gZm9ybWF0dGVyRnVuY3Rpb24o
LypATFMqLyIlLjBmbXMiLCBtcyk7CisgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIiUuMGZtcyIsIG1zKTsKIAogICAgIGlmIChzZWNvbmRzIDwgNjApCi0gICAgICAgIHJldHVy
biBmb3JtYXR0ZXJGdW5jdGlvbigvKkBMUyovIiUuMmZzIiwgc2Vjb25kcyk7CisgICAgICAgIHJl
dHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiUuMmZzIiwgc2Vjb25kcyk7CiAKICAgICB2YXIg
bWludXRlcyA9IHNlY29uZHMgLyA2MDsKICAgICBpZiAobWludXRlcyA8IDYwKQotICAgICAgICBy
ZXR1cm4gZm9ybWF0dGVyRnVuY3Rpb24oLypATFMqLyIlLjFmbWluIiwgbWludXRlcyk7CisgICAg
ICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiUuMWZtaW4iLCBtaW51dGVzKTsKIAog
ICAgIHZhciBob3VycyA9IG1pbnV0ZXMgLyA2MDsKICAgICBpZiAoaG91cnMgPCAyNCkKLSAgICAg
ICAgcmV0dXJuIGZvcm1hdHRlckZ1bmN0aW9uKC8qQExTKi8iJS4xZmhycyIsIGhvdXJzKTsKKyAg
ICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiJS4xZmhycyIsIGhvdXJzKTsKIAog
ICAgIHZhciBkYXlzID0gaG91cnMgLyAyNDsKLSAgICByZXR1cm4gZm9ybWF0dGVyRnVuY3Rpb24o
LypATFMqLyIlLjFmIGRheXMiLCBkYXlzKTsKKyAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCIlLjFmIGRheXMiLCBkYXlzKTsKIH0KIAotTnVtYmVyLmJ5dGVzVG9TdHJpbmcgPSBmdW5j
dGlvbihieXRlcywgZm9ybWF0dGVyRnVuY3Rpb24sIGhpZ2hlclJlc29sdXRpb24pCitOdW1iZXIu
Ynl0ZXNUb1N0cmluZyA9IGZ1bmN0aW9uKGJ5dGVzLCBoaWdoZXJSZXNvbHV0aW9uKQogewotICAg
IGlmICghZm9ybWF0dGVyRnVuY3Rpb24pCi0gICAgICAgIGZvcm1hdHRlckZ1bmN0aW9uID0gU3Ry
aW5nLnNwcmludGY7CiAgICAgaWYgKHR5cGVvZiBoaWdoZXJSZXNvbHV0aW9uID09PSAidW5kZWZp
bmVkIikKICAgICAgICAgaGlnaGVyUmVzb2x1dGlvbiA9IHRydWU7CiAKICAgICBpZiAoYnl0ZXMg
PCAxMDI0KQotICAgICAgICByZXR1cm4gZm9ybWF0dGVyRnVuY3Rpb24oLypATFMqLyIlLjBmQiIs
IGJ5dGVzKTsKKyAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiJS4wZkIiLCBi
eXRlcyk7CiAKICAgICB2YXIga2lsb2J5dGVzID0gYnl0ZXMgLyAxMDI0OwogICAgIGlmIChoaWdo
ZXJSZXNvbHV0aW9uICYmIGtpbG9ieXRlcyA8IDEwMjQpCi0gICAgICAgIHJldHVybiBmb3JtYXR0
ZXJGdW5jdGlvbigvKkBMUyovIiUuMmZLQiIsIGtpbG9ieXRlcyk7CisgICAgICAgIHJldHVybiBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiUuMmZLQiIsIGtpbG9ieXRlcyk7CiAgICAgZWxzZSBpZiAo
a2lsb2J5dGVzIDwgMTAyNCkKLSAgICAgICAgcmV0dXJuIGZvcm1hdHRlckZ1bmN0aW9uKC8qQExT
Ki8iJS4wZktCIiwga2lsb2J5dGVzKTsKKyAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0
cmluZygiJS4wZktCIiwga2lsb2J5dGVzKTsKIAogICAgIHZhciBtZWdhYnl0ZXMgPSBraWxvYnl0
ZXMgLyAxMDI0OwogICAgIGlmIChoaWdoZXJSZXNvbHV0aW9uKQotICAgICAgICByZXR1cm4gZm9y
bWF0dGVyRnVuY3Rpb24oLypATFMqLyIlLjJmTUIiLCBtZWdhYnl0ZXMpOworICAgICAgICByZXR1
cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlLjJmTUIiLCBtZWdhYnl0ZXMpOwogICAgIGVsc2UK
LSAgICAgICAgcmV0dXJuIGZvcm1hdHRlckZ1bmN0aW9uKC8qQExTKi8iJS4wZk1CIiwgbWVnYWJ5
dGVzKTsKKyAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiJS4wZk1CIiwgbWVn
YWJ5dGVzKTsKIH0KIAogTnVtYmVyLmNvbnN0cmFpbiA9IGZ1bmN0aW9uKG51bSwgbWluLCBtYXgp
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNzhi
ZDc5MS4uMTE5YWExZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTAxLTEzICBNaWtoYWlsIE5hZ2Fub3YgIDxt
bmFnYW5vdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ2xlYW51cCBhZnRlciByNzU2MTMgLS0gbWFr
ZSBhbGwgVUktZmFjaW5nIHN0cmluZ3MKKyAgICAgICAgdG8gYmUgcGFzc2VkIGRpcmVjdGx5IHRv
IFdlYkluc3BlY3Rvci5VSVN0cmluZworCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01MjM2NQorCisgICAgICAgICogU2NyaXB0cy9jaGVjay1pbnNwZWN0
b3Itc3RyaW5nczoKKwogMjAxMS0wMS0xMyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJv
dEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjc0ODgxLgpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9jaGVjay1pbnNwZWN0b3Itc3RyaW5ncyBiL1Rvb2xz
L1NjcmlwdHMvY2hlY2staW5zcGVjdG9yLXN0cmluZ3MKaW5kZXggOTAxZDUwMi4uODJjMDhkNyAx
MDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9jaGVjay1pbnNwZWN0b3Itc3RyaW5ncworKysgYi9U
b29scy9TY3JpcHRzL2NoZWNrLWluc3BlY3Rvci1zdHJpbmdzCkBAIC05NCw3ICs5NCw3IEBAIGlm
IF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgX2xvZy5kZWJ1ZygiV2ViS2l0IGNoZWNrb3V0
IGZvdW5kIHdpdGggcm9vdDogJXMiICUgY2hlY2tvdXRfcm9vdCkKICAgICBjaGFuZ2VfZGlyZWN0
b3J5KGNoZWNrb3V0X3Jvb3Q9Y2hlY2tvdXRfcm9vdCwgcGF0aHM9Tm9uZSkKIAotICAgIHN0cmlu
Z3NfZXh0cmFjdG9yID0gU3RyaW5nc0V4dHJhY3RvcihbciIoPzpXZWJJbnNwZWN0b3JcLig/OlVJ
U3RyaW5nfGZvcm1hdExvY2FsaXplZClcKHwvXCpATFNcKi8pXCIoKD86W15cIlxcXXxcXC4pKj8p
XCIiLCByIlwiKCg/OlteXCJcXF18XFwuKSo/KVwiIl0pCisgICAgc3RyaW5nc19leHRyYWN0b3Ig
PSBTdHJpbmdzRXh0cmFjdG9yKFtyIldlYkluc3BlY3RvclwuKD86VUlTdHJpbmd8Zm9ybWF0TG9j
YWxpemVkKVwoXCIoKD86W15cIlxcXXxcXC4pKj8pXCIiLCByIlwiKCg/OlteXCJcXF18XFwuKSo/
KVwiIl0pCiAgICAgZmlsZV9yZWFkZXIgPSBUZXh0RmlsZVJlYWRlcihzdHJpbmdzX2V4dHJhY3Rv
cikKICAgICBmaWxlX3JlYWRlci5wcm9jZXNzX3BhdGhzKFtfaW5zcGVjdG9yX2RpcmVjdG9yeV0p
CiAgICAgbG9jYWxpemVkX3N0cmluZ3NfZXh0cmFjdG9yID0gTG9jYWxpemVkU3RyaW5nc0V4dHJh
Y3RvcigpCg==
</data>
<flag name="review"
          id="70164"
          type_id="1"
          status="+"
          setter="timothy"
    />
    <flag name="commit-queue"
          id="70165"
          type_id="3"
          status="-"
          setter="mnaganov"
    />
          </attachment>
      

    </bug>

</bugzilla>