<?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>225060</bug_id>
          
          <creation_ts>2021-04-26 10:35:47 -0700</creation_ts>
          <short_desc>Web Inspector: CSS Grid - measure usage of grid overlay options</short_desc>
          <delta_ts>2021-11-17 18:01: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</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>233298</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Razvan Caliman">rcaliman</reporter>
          <assigned_to name="Razvan Caliman">rcaliman</assigned_to>
          <cc>bburg</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1754255</commentid>
    <comment_count>0</comment_count>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-04-26 10:35:47 -0700</bug_when>
    <thetext>&lt;rdar://75843294&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754286</commentid>
    <comment_count>1</comment_count>
      <attachid>427072</attachid>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-04-26 11:45:16 -0700</bug_when>
    <thetext>Created attachment 427072
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754778</commentid>
    <comment_count>2</comment_count>
      <attachid>427072</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2021-04-27 13:57:05 -0700</bug_when>
    <thetext>Comment on attachment 427072
Patch

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

r=me, nice work!

&gt; Source/WebInspectorUI/UserInterface/Controllers/GridOverlayConfigurationDiagnosticEventRecorder.js:50
&gt; +        window.addEventListener(&quot;focus&quot;, this, options);

Eventually we should consolidate our various places in the code that listen for user interaction and have a class manage it. For now, it is fine to continue in this direction until we encounter perf / user input lag.

&gt; Source/WebInspectorUI/UserInterface/Controllers/GridOverlayConfigurationDiagnosticEventRecorder.js:118
&gt; +        if (this._eventSamplingTimerIdentifier) {

Nit: call _stopEventSamplingTimer() rather than duplicating.

&gt; Source/WebInspectorUI/UserInterface/Controllers/GridOverlayConfigurationDiagnosticEventRecorder.js:123
&gt; +        this._eventSamplingTimerIdentifier = setTimeout(this._sampleCurrentOverlayConfiguration.bind(this), GridOverlayConfigurationDiagnosticEventRecorder.eventSamplingInterval);

Nit: WI.GridOverlayConfigurationDiagnosticEventRecorder

&gt; Source/WebInspectorUI/UserInterface/Controllers/GridOverlayConfigurationDiagnosticEventRecorder.js:126
&gt; +    _stopEventSamplingTimer()

Nit: _stopEventSamplingTimerIfNeeded

&gt; Source/WebInspectorUI/UserInterface/Controllers/GridOverlayConfigurationDiagnosticEventRecorder.js:142
&gt; +            if (WI.settings.debugAutoLogDiagnosticEvents.valueRespectingDebugUIAvailability)

Neat.

&gt; Source/WebInspectorUI/UserInterface/Controllers/GridOverlayConfigurationDiagnosticEventRecorder.js:155
&gt; +        // Encode the configuration of overaly options as a sum of increasing powers of 10 for each overlay option that is enabled (zero if disabled), convert to string and pad with zero if necessary.

Nit: overlay</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755003</commentid>
    <comment_count>3</comment_count>
      <attachid>427256</attachid>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-04-28 06:43:09 -0700</bug_when>
    <thetext>Created attachment 427256
Patch

Carry over R+; Address code review comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755034</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-28 08:36:22 -0700</bug_when>
    <thetext>Committed r276714 (237118@main): &lt;https://commits.webkit.org/237118@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 427256.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427072</attachid>
            <date>2021-04-26 11:45:16 -0700</date>
            <delta_ts>2021-04-28 06:43:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225060-20210426204513.patch</filename>
            <type>text/plain</type>
            <size>13224</size>
            <attacher name="Razvan Caliman">rcaliman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDdlMjg1ZWFkY2M1NGE5ZWJhNGZmODMwZjI0Y2I2
MjYxY2FhMjdhNDguLmEwZTJmN2Y4ZjcwZWUzZWQxOWNiMDc2OTY4N2UzN2UzMGFlODU0MjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTA0LTI2ICBSYXp2
YW4gQ2FsaW1hbiAgPHJjYWxpbWFuQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBDU1MgR3JpZCAtIG1lYXN1cmUgdXNhZ2Ugb2YgZ3JpZCBvdmVybGF5IG9wdGlvbnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTA2MAorICAgICAg
ICA8cmRhcjovLzc1ODQzMjk0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCB0ZWxlbWV0cnkgaW5zdHJ1bWVudGF0aW9uIHRvIHRyYWNrIGdyaWQg
b3ZlcmxheSBjb25maWd1cmF0aW9ucyBhbmQgdGltZSBzcGVudCB1c2luZyB0aGVtLgorCisgICAg
ICAgICogVXNlckludGVyZmFjZS9CYXNlL01haW4uanM6CisgICAgICAgIChXSS5jb250ZW50TG9h
ZGVkKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0dyaWRPdmVybGF5Q29u
ZmlndXJhdGlvbkRpYWdub3N0aWNFdmVudFJlY29yZGVyLmpzOiBBZGRlZC4KKyAgICAgICAgKFdJ
LkdyaWRPdmVybGF5Q29uZmlndXJhdGlvbkRpYWdub3N0aWNFdmVudFJlY29yZGVyKToKKyAgICAg
ICAgKFdJLkdyaWRPdmVybGF5Q29uZmlndXJhdGlvbkRpYWdub3N0aWNFdmVudFJlY29yZGVyLmdl
dCBldmVudFNhbXBsaW5nSW50ZXJ2YWwpOgorICAgICAgICAoV0kuR3JpZE92ZXJsYXlDb25maWd1
cmF0aW9uRGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIucHJvdG90eXBlLnNldHVwKToKKyAgICAgICAg
KFdJLkdyaWRPdmVybGF5Q29uZmlndXJhdGlvbkRpYWdub3N0aWNFdmVudFJlY29yZGVyLnByb3Rv
dHlwZS50ZWFyZG93bik6CisgICAgICAgIChXSS5HcmlkT3ZlcmxheUNvbmZpZ3VyYXRpb25EaWFn
bm9zdGljRXZlbnRSZWNvcmRlci5wcm90b3R5cGUuX2hhbmRsZUdyaWRPdmVybGF5U2hvd24pOgor
ICAgICAgICAoV0kuR3JpZE92ZXJsYXlDb25maWd1cmF0aW9uRGlhZ25vc3RpY0V2ZW50UmVjb3Jk
ZXIucHJvdG90eXBlLl9oYW5kbGVHcmlkT3ZlcmxheUhpZGRlbik6CisgICAgICAgIChXSS5Hcmlk
T3ZlcmxheUNvbmZpZ3VyYXRpb25EaWFnbm9zdGljRXZlbnRSZWNvcmRlci5wcm90b3R5cGUuaGFu
ZGxlRXZlbnQpOgorICAgICAgICAoV0kuR3JpZE92ZXJsYXlDb25maWd1cmF0aW9uRGlhZ25vc3Rp
Y0V2ZW50UmVjb3JkZXIucHJvdG90eXBlLl9zdGFydEV2ZW50U2FtcGxpbmdUaW1lcik6CisgICAg
ICAgIChXSS5HcmlkT3ZlcmxheUNvbmZpZ3VyYXRpb25EaWFnbm9zdGljRXZlbnRSZWNvcmRlci5w
cm90b3R5cGUuX3N0b3BFdmVudFNhbXBsaW5nVGltZXIpOgorICAgICAgICAoV0kuR3JpZE92ZXJs
YXlDb25maWd1cmF0aW9uRGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIucHJvdG90eXBlLl9zYW1wbGVD
dXJyZW50T3ZlcmxheUNvbmZpZ3VyYXRpb24pOgorICAgICAgICAoV0kuR3JpZE92ZXJsYXlDb25m
aWd1cmF0aW9uRGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIucHJvdG90eXBlLl9kaWRPYnNlcnZlVXNl
ckludGVyYWN0aW9uKToKKyAgICAgICAgKFdJLkdyaWRPdmVybGF5Q29uZmlndXJhdGlvbkRpYWdu
b3N0aWNFdmVudFJlY29yZGVyLnByb3RvdHlwZS5faGFuZGxlV2luZG93Rm9jdXMpOgorICAgICAg
ICAoV0kuR3JpZE92ZXJsYXlDb25maWd1cmF0aW9uRGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIucHJv
dG90eXBlLl9oYW5kbGVXaW5kb3dCbHVyKToKKyAgICAgICAgKFdJLkdyaWRPdmVybGF5Q29uZmln
dXJhdGlvbkRpYWdub3N0aWNFdmVudFJlY29yZGVyLnByb3RvdHlwZS5faGFuZGxlV2luZG93S2V5
RG93bik6CisgICAgICAgIChXSS5HcmlkT3ZlcmxheUNvbmZpZ3VyYXRpb25EaWFnbm9zdGljRXZl
bnRSZWNvcmRlci5wcm90b3R5cGUuX2hhbmRsZVdpbmRvd01vdXNlRG93bik6CisgICAgICAgICog
VXNlckludGVyZmFjZS9Db250cm9sbGVycy9PdmVybGF5TWFuYWdlci5qczoKKyAgICAgICAgKFdJ
Lk92ZXJsYXlNYW5hZ2VyLnByb3RvdHlwZS5oYXNWaXNpYmxlR3JpZE92ZXJsYXlzKToKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL01haW4uaHRtbDoKKwogMjAyMS0wNC0yMiAgQkogQnVyZyAgPGJi
dXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIHJlLWVuYWJsZSB0ZXN0IGNhc2UgV0tJ
bnNwZWN0b3JEZWxlZ2F0ZS5JbnNwZWN0b3JDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKaW5kZXggY2ZkNTczMzJmODhk
MTE3YmFmNGY1NTI3MGY3MGY3ZGJiM2YxOGE5Ni4uMjY3MGY5MTYzMGI5ZWU5YTBmZTA0YWFiNTJk
MGY5ZmRhM2MyODBmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvQmFzZS9NYWluLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0Jhc2UvTWFpbi5qcwpAQCAtNTkwLDggKzU5MCwxMCBAQCBXSS5jb250ZW50TG9hZGVkID0g
ZnVuY3Rpb24oKQogICAgICAgICBXSS5kaWFnbm9zdGljQ29udHJvbGxlci5hZGRSZWNvcmRlcihu
ZXcgV0kuVGFiQWN0aXZpdHlEaWFnbm9zdGljRXZlbnRSZWNvcmRlcihXSS5kaWFnbm9zdGljQ29u
dHJvbGxlcikpOwogICAgICAgICBXSS5kaWFnbm9zdGljQ29udHJvbGxlci5hZGRSZWNvcmRlcihu
ZXcgV0kuVGFiTmF2aWdhdGlvbkRpYWdub3N0aWNFdmVudFJlY29yZGVyKFdJLmRpYWdub3N0aWND
b250cm9sbGVyKSk7CiAKLSAgICAgICAgaWYgKEluc3BlY3RvckJhY2tlbmQuaGFzQ29tbWFuZCgi
RE9NLnNob3dHcmlkT3ZlcmxheSIpKQorICAgICAgICBpZiAoSW5zcGVjdG9yQmFja2VuZC5oYXND
b21tYW5kKCJET00uc2hvd0dyaWRPdmVybGF5IikpIHsKICAgICAgICAgICAgIFdJLmRpYWdub3N0
aWNDb250cm9sbGVyLmFkZFJlY29yZGVyKG5ldyBXSS5HcmlkT3ZlcmxheURpYWdub3N0aWNFdmVu
dFJlY29yZGVyKFdJLmRpYWdub3N0aWNDb250cm9sbGVyKSk7CisgICAgICAgICAgICBXSS5kaWFn
bm9zdGljQ29udHJvbGxlci5hZGRSZWNvcmRlcihuZXcgV0kuR3JpZE92ZXJsYXlDb25maWd1cmF0
aW9uRGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIoV0kuZGlhZ25vc3RpY0NvbnRyb2xsZXIpKTsKKyAg
ICAgICAgfQogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0dyaWRPdmVybGF5Q29uZmlndXJhdGlvbkRpYWdub3N0
aWNFdmVudFJlY29yZGVyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Q29udHJvbGxlcnMvR3JpZE92ZXJsYXlDb25maWd1cmF0aW9uRGlhZ25vc3RpY0V2ZW50UmVjb3Jk
ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzY3YjM2ZTgwYTBhZjUwOGMwY2Y1NjY2NGYyNjI1YmNhNGFmOTcx
MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0NvbnRyb2xsZXJzL0dyaWRPdmVybGF5Q29uZmlndXJhdGlvbkRpYWdub3N0aWNFdmVudFJlY29y
ZGVyLmpzCkBAIC0wLDAgKzEsMjAyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworV0kuR3JpZE92ZXJsYXlDb25m
aWd1cmF0aW9uRGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIgPSBjbGFzcyBHcmlkT3ZlcmxheUNvbmZp
Z3VyYXRpb25EaWFnbm9zdGljRXZlbnRSZWNvcmRlciBleHRlbmRzIFdJLkRpYWdub3N0aWNFdmVu
dFJlY29yZGVyCit7CisgICAgY29uc3RydWN0b3IoY29udHJvbGxlcikKKyAgICB7CisgICAgICAg
IHN1cGVyKCJHcmlkT3ZlcmxheUNvbmZpZ3VyYXRpb24iLCBjb250cm9sbGVyKTsKKworICAgICAg
ICB0aGlzLl9pbnNwZWN0b3JIYXNGb2N1cyA9IHRydWU7CisgICAgICAgIHRoaXMuX2xhc3RVc2Vy
SW50ZXJhY3Rpb25UaW1lc3RhbXAgPSB1bmRlZmluZWQ7CisgICAgICAgIHRoaXMuX2V2ZW50U2Ft
cGxpbmdUaW1lcklkZW50aWZpZXIgPSB1bmRlZmluZWQ7CisgICAgICAgIHRoaXMuX292ZXJsYXlP
cHRpb25zID0ge307CisgICAgfQorCisgICAgLy8gU3RhdGljCisKKyAgICAvLyBJbiBtaWxsaXNl
Y29uZHMuCisgICAgc3RhdGljIGdldCBldmVudFNhbXBsaW5nSW50ZXJ2YWwoKSB7IHJldHVybiA2
MCAqIDEwMDA7IH0KKworICAgIC8vIFByb3RlY3RlZAorCisgICAgc2V0dXAoKQorICAgIHsKKyAg
ICAgICAgY29uc3Qgb3B0aW9ucyA9IHsKKyAgICAgICAgICAgIGNhcHR1cmU6IHRydWUsCisgICAg
ICAgIH07CisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsIHRoaXMsIG9w
dGlvbnMpOworICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsIHRoaXMsIG9w
dGlvbnMpOworICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIHRoaXMs
IG9wdGlvbnMpOworICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwg
dGhpcywgb3B0aW9ucyk7CisgICAgICAgIFdJLm92ZXJsYXlNYW5hZ2VyLmFkZEV2ZW50TGlzdGVu
ZXIoV0kuT3ZlcmxheU1hbmFnZXIuRXZlbnQuR3JpZE92ZXJsYXlTaG93biwgdGhpcy5faGFuZGxl
R3JpZE92ZXJsYXlTaG93biwgdGhpcyk7CisgICAgICAgIFdJLm92ZXJsYXlNYW5hZ2VyLmFkZEV2
ZW50TGlzdGVuZXIoV0kuT3ZlcmxheU1hbmFnZXIuRXZlbnQuR3JpZE92ZXJsYXlIaWRkZW4sIHRo
aXMuX2hhbmRsZUdyaWRPdmVybGF5SGlkZGVuLCB0aGlzKTsKKyAgICB9CisKKyAgICB0ZWFyZG93
bigpCisgICAgeworICAgICAgICBjb25zdCBvcHRpb25zID0geworICAgICAgICAgICAgY2FwdHVy
ZTogdHJ1ZSwKKyAgICAgICAgfTsKKyAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIo
ImZvY3VzIiwgdGhpcywgb3B0aW9ucyk7CisgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3Rl
bmVyKCJibHVyIiwgdGhpcywgb3B0aW9ucyk7CisgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExp
c3RlbmVyKCJrZXlkb3duIiwgdGhpcywgb3B0aW9ucyk7CisgICAgICAgIHdpbmRvdy5yZW1vdmVF
dmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCB0aGlzLCBvcHRpb25zKTsKKyAgICAgICAgV0kub3Zl
cmxheU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5PdmVybGF5TWFuYWdlci5FdmVudC5Hcmlk
T3ZlcmxheVNob3duLCB0aGlzLl9oYW5kbGVHcmlkT3ZlcmxheVNob3duLCB0aGlzKTsKKyAgICAg
ICAgV0kub3ZlcmxheU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5PdmVybGF5TWFuYWdlci5F
dmVudC5HcmlkT3ZlcmxheUhpZGRlbiwgdGhpcy5faGFuZGxlR3JpZE92ZXJsYXlIaWRkZW4sIHRo
aXMpOworCisgICAgICAgIHRoaXMuX3N0b3BFdmVudFNhbXBsaW5nVGltZXIoKTsKKyAgICB9CisK
KyAgICBfaGFuZGxlR3JpZE92ZXJsYXlTaG93bihldmVudCkKKyAgICB7CisgICAgICAgIHRoaXMu
X292ZXJsYXlPcHRpb25zLnNob3dUcmFja1NpemVzID0gZXZlbnQuZGF0YS5zaG93VHJhY2tTaXpl
czsKKyAgICAgICAgdGhpcy5fb3ZlcmxheU9wdGlvbnMuc2hvd0xpbmVOdW1iZXJzID0gZXZlbnQu
ZGF0YS5zaG93TGluZU51bWJlcnM7CisgICAgICAgIHRoaXMuX292ZXJsYXlPcHRpb25zLnNob3dM
aW5lTmFtZXMgPSBldmVudC5kYXRhLnNob3dMaW5lTmFtZXM7CisgICAgICAgIHRoaXMuX292ZXJs
YXlPcHRpb25zLnNob3dBcmVhTmFtZXMgPSBldmVudC5kYXRhLnNob3dBcmVhTmFtZXM7CisgICAg
ICAgIHRoaXMuX292ZXJsYXlPcHRpb25zLnNob3dFeHRlbmRlZEdyaWRMaW5lcyA9IGV2ZW50LmRh
dGEuc2hvd0V4dGVuZGVkR3JpZExpbmVzOworCisgICAgICAgIGlmICghdGhpcy5fZXZlbnRTYW1w
bGluZ1RpbWVySWRlbnRpZmllcikKKyAgICAgICAgICAgIHRoaXMuX3N0YXJ0RXZlbnRTYW1wbGlu
Z1RpbWVyKCk7CisgICAgfQorCisgICAgX2hhbmRsZUdyaWRPdmVybGF5SGlkZGVuKCkKKyAgICB7
CisgICAgICAgIGlmIChXSS5vdmVybGF5TWFuYWdlci5oYXNWaXNpYmxlR3JpZE92ZXJsYXlzKCkp
CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdGhpcy5fc3RvcEV2ZW50U2FtcGxpbmdU
aW1lcigpOworICAgICAgICB0aGlzLl9vdmVybGF5T3B0aW9ucyA9IHt9OworICAgIH0KKworICAg
IC8vIFB1YmxpYworCisgICAgaGFuZGxlRXZlbnQoZXZlbnQpCisgICAgeworICAgICAgICBzd2l0
Y2ggKGV2ZW50LnR5cGUpIHsKKyAgICAgICAgY2FzZSAiZm9jdXMiOgorICAgICAgICAgICAgdGhp
cy5faGFuZGxlV2luZG93Rm9jdXMoZXZlbnQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IGNhc2UgImJsdXIiOgorICAgICAgICAgICAgdGhpcy5faGFuZGxlV2luZG93Qmx1cihldmVudCk7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAia2V5ZG93biI6CisgICAgICAgICAg
ICB0aGlzLl9oYW5kbGVXaW5kb3dLZXlEb3duKGV2ZW50KTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjYXNlICJtb3VzZWRvd24iOgorICAgICAgICAgICAgdGhpcy5faGFuZGxlV2luZG93
TW91c2VEb3duKGV2ZW50KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQor
CisgICAgLy8gUHJpdmF0ZQorCisgICAgX3N0YXJ0RXZlbnRTYW1wbGluZ1RpbWVyKCkKKyAgICB7
CisgICAgICAgIGlmICh0aGlzLl9ldmVudFNhbXBsaW5nVGltZXJJZGVudGlmaWVyKSB7CisgICAg
ICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fZXZlbnRTYW1wbGluZ1RpbWVySWRlbnRpZmllcik7
CisgICAgICAgICAgICB0aGlzLl9ldmVudFNhbXBsaW5nVGltZXJJZGVudGlmaWVyID0gdW5kZWZp
bmVkOworICAgICAgICB9CisKKyAgICAgICAgdGhpcy5fZXZlbnRTYW1wbGluZ1RpbWVySWRlbnRp
ZmllciA9IHNldFRpbWVvdXQodGhpcy5fc2FtcGxlQ3VycmVudE92ZXJsYXlDb25maWd1cmF0aW9u
LmJpbmQodGhpcyksIEdyaWRPdmVybGF5Q29uZmlndXJhdGlvbkRpYWdub3N0aWNFdmVudFJlY29y
ZGVyLmV2ZW50U2FtcGxpbmdJbnRlcnZhbCk7CisgICAgfQorCisgICAgX3N0b3BFdmVudFNhbXBs
aW5nVGltZXIoKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX2V2ZW50U2FtcGxpbmdUaW1lcklk
ZW50aWZpZXIpIHsKKyAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9ldmVudFNhbXBsaW5n
VGltZXJJZGVudGlmaWVyKTsKKyAgICAgICAgICAgIHRoaXMuX2V2ZW50U2FtcGxpbmdUaW1lcklk
ZW50aWZpZXIgPSB1bmRlZmluZWQ7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBfc2FtcGxlQ3Vy
cmVudE92ZXJsYXlDb25maWd1cmF0aW9uKCkKKyAgICB7CisgICAgICAgIC8vIFNldCB1cCB0aGUg
bmV4dCB0aW1lciBmaXJzdCBzbyBsYXRlciBjb2RlIGNhbiBiYWlsIG91dCBpZiB0aGVyZSdzIG5v
dGhpbmcgdG8gZG8uCisgICAgICAgIHRoaXMuX3N0b3BFdmVudFNhbXBsaW5nVGltZXIoKTsKKyAg
ICAgICAgdGhpcy5fc3RhcnRFdmVudFNhbXBsaW5nVGltZXIoKTsKKworICAgICAgICBsZXQgaW50
ZXJ2YWxTaW5jZUxhc3RVc2VySW50ZXJhY3Rpb24gPSBwZXJmb3JtYW5jZS5ub3coKSAtIHRoaXMu
X2xhc3RVc2VySW50ZXJhY3Rpb25UaW1lc3RhbXA7CisgICAgICAgIGlmIChpbnRlcnZhbFNpbmNl
TGFzdFVzZXJJbnRlcmFjdGlvbiA+IEdyaWRPdmVybGF5Q29uZmlndXJhdGlvbkRpYWdub3N0aWNF
dmVudFJlY29yZGVyLmV2ZW50U2FtcGxpbmdJbnRlcnZhbCkgeworICAgICAgICAgICAgaWYgKFdJ
LnNldHRpbmdzLmRlYnVnQXV0b0xvZ0RpYWdub3N0aWNFdmVudHMudmFsdWVSZXNwZWN0aW5nRGVi
dWdVSUF2YWlsYWJpbGl0eSkKKyAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygiR3JpZE92ZXJs
YXlDb25maWd1cmF0aW9uOiBzYW1wbGUgbm90IHJlcG9ydGVkLCBsYXN0IHVzZXIgaW50ZXJhY3Rp
b24gd2FzICUuMWYgc2Vjb25kcyBhZ28uIi5mb3JtYXQoaW50ZXJ2YWxTaW5jZUxhc3RVc2VySW50
ZXJhY3Rpb24gLyAxMDAwKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAg
ICAgICBsZXQgc2VsZWN0ZWRUYWJDb250ZW50VmlldyA9IFdJLnRhYkJyb3dzZXIuc2VsZWN0ZWRU
YWJDb250ZW50VmlldzsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoc2VsZWN0ZWRUYWJDb250ZW50
Vmlldyk7CisgICAgICAgIGlmICghc2VsZWN0ZWRUYWJDb250ZW50VmlldykKKyAgICAgICAgICAg
IHJldHVybjsKKworICAgICAgICBsZXQgaW50ZXJ2YWwgPSBHcmlkT3ZlcmxheUNvbmZpZ3VyYXRp
b25EaWFnbm9zdGljRXZlbnRSZWNvcmRlci5ldmVudFNhbXBsaW5nSW50ZXJ2YWwgLyAxMDAwOwor
ICAgICAgICBsZXQge3Nob3dUcmFja1NpemVzLCBzaG93TGluZU51bWJlcnMsIHNob3dMaW5lTmFt
ZXMsIHNob3dBcmVhTmFtZXMsIHNob3dFeHRlbmRlZEdyaWRMaW5lc30gPSB0aGlzLl9vdmVybGF5
T3B0aW9uczsKKworICAgICAgICAvLyBFbmNvZGUgdGhlIGNvbmZpZ3VyYXRpb24gb2Ygb3ZlcmFs
eSBvcHRpb25zIGFzIGEgc3VtIG9mIGluY3JlYXNpbmcgcG93ZXJzIG9mIDEwIGZvciBlYWNoIG92
ZXJsYXkgb3B0aW9uIHRoYXQgaXMgZW5hYmxlZCAoemVybyBpZiBkaXNhYmxlZCksIGNvbnZlcnQg
dG8gc3RyaW5nIGFuZCBwYWQgd2l0aCB6ZXJvIGlmIG5lY2Vzc2FyeS4KKyAgICAgICAgLy8gRm9y
IGV4YW1wbGUsICIwMTEwMCIgPSBzaG93VHJhY2tTaXplczogZmFsc2UsIHNob3dMaW5lTnVtYmVy
czogdHJ1ZSwgc2hvd0xpbmVOYW1lczogdHJ1ZSwgc2hvd0FyZWFOYW1lczogZmFsc2UsIHNob3dF
eHRlbmRlZEdyaWRMaW5lczogZmFsc2U7CisgICAgICAgIGxldCBjb25maWd1cmF0aW9uID0gMDsK
KyAgICAgICAgY29uZmlndXJhdGlvbiArPSBzaG93VHJhY2tTaXplcyA/IDEwMDAwIDogMDsKKyAg
ICAgICAgY29uZmlndXJhdGlvbiArPSBzaG93TGluZU51bWJlcnMgPyAxMDAwIDogMDsKKyAgICAg
ICAgY29uZmlndXJhdGlvbiArPSBzaG93TGluZU5hbWVzID8gMTAwIDogMDsKKyAgICAgICAgY29u
ZmlndXJhdGlvbiArPSBzaG93QXJlYU5hbWVzID8gMTAgOiAwOworICAgICAgICBjb25maWd1cmF0
aW9uICs9IHNob3dFeHRlbmRlZEdyaWRMaW5lcyA/IDEgOiAwOworICAgICAgICBjb25maWd1cmF0
aW9uID0gY29uZmlndXJhdGlvbi50b1N0cmluZygpLnBhZFN0YXJ0KDUsICIwIik7CisKKyAgICAg
ICAgdGhpcy5sb2dEaWFnbm9zdGljRXZlbnQodGhpcy5uYW1lLCB7aW50ZXJ2YWwsIGNvbmZpZ3Vy
YXRpb24sIHNob3dUcmFja1NpemVzLCBzaG93TGluZU51bWJlcnMsIHNob3dMaW5lTmFtZXMsIHNo
b3dBcmVhTmFtZXMsIHNob3dFeHRlbmRlZEdyaWRMaW5lc30pOworICAgIH0KKworICAgIF9kaWRP
YnNlcnZlVXNlckludGVyYWN0aW9uKCkKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5faW5zcGVj
dG9ySGFzRm9jdXMpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdGhpcy5fbGFzdFVz
ZXJJbnRlcmFjdGlvblRpbWVzdGFtcCA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIH0KKworICAg
IF9oYW5kbGVXaW5kb3dGb2N1cyhldmVudCkKKyAgICB7CisgICAgICAgIGlmIChldmVudC50YXJn
ZXQgIT09IHdpbmRvdykKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLl9pbnNw
ZWN0b3JIYXNGb2N1cyA9IHRydWU7CisgICAgfQorCisgICAgX2hhbmRsZVdpbmRvd0JsdXIoZXZl
bnQpCisgICAgeworICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ICE9PSB3aW5kb3cpCisgICAgICAg
ICAgICByZXR1cm47CisKKyAgICAgICAgdGhpcy5faW5zcGVjdG9ySGFzRm9jdXMgPSBmYWxzZTsK
KyAgICB9CisKKyAgICBfaGFuZGxlV2luZG93S2V5RG93bihldmVudCkKKyAgICB7CisgICAgICAg
IHRoaXMuX2RpZE9ic2VydmVVc2VySW50ZXJhY3Rpb24oKTsKKyAgICB9CisKKyAgICBfaGFuZGxl
V2luZG93TW91c2VEb3duKGV2ZW50KQorICAgIHsKKyAgICAgICAgdGhpcy5fZGlkT2JzZXJ2ZVVz
ZXJJbnRlcmFjdGlvbigpOworICAgIH0KK307CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL092ZXJsYXlNYW5hZ2VyLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvT3ZlcmxheU1hbmFn
ZXIuanMKaW5kZXggMTYyZWIzMTRjMjJjZjkxNWQ1OTk4MjQ1MjNmZmViYjc0NDkyOGU2Ni4uMDJi
NzZmMThiNzU3ODhiZjFlZWE3ZmZjOWEyMTUwY2Q4ZTUxOTU2NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvT3ZlcmxheU1hbmFnZXIu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMv
T3ZlcmxheU1hbmFnZXIuanMKQEAgLTk3LDYgKzk3LDExIEBAIFdJLk92ZXJsYXlNYW5hZ2VyID0g
Y2xhc3MgT3ZlcmxheU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgdGhpcy5kaXNw
YXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuT3ZlcmxheU1hbmFnZXIuRXZlbnQuR3JpZE92ZXJsYXlI
aWRkZW4sIG92ZXJsYXkpOwogICAgIH0KIAorICAgIGhhc1Zpc2libGVHcmlkT3ZlcmxheXMoKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2dyaWRPdmVybGF5Rm9yTm9kZU1hcC5zaXplID4g
MDsKKyAgICB9CisKICAgICBpc0dyaWRPdmVybGF5VmlzaWJsZShkb21Ob2RlKQogICAgIHsKICAg
ICAgICAgcmV0dXJuIHRoaXMuX2dyaWRPdmVybGF5Rm9yTm9kZU1hcC5oYXMoZG9tTm9kZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKaW5kZXggZTE2
NzRkYmMxMGRkM2M3ODIxODQxN2U5NzVkY2ZjYjk5YzEyMDU3OC4uYzI0MmQ5ODhhMDdiOTViMDdj
OTkzN2EzODkzN2I2ZjM4MjA4Mjk5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL01haW4uaHRtbApAQCAtOTI3LDYgKzkyNyw3IEBACiAKICAgICA8c2NyaXB0IHNy
Yz0iQ29udHJvbGxlcnMvRGlhZ25vc3RpY0NvbnRyb2xsZXIuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgc3JjPSJDb250cm9sbGVycy9EaWFnbm9zdGljRXZlbnRSZWNvcmRlci5qcyI+PC9zY3Jp
cHQ+CisgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0dyaWRPdmVybGF5Q29uZmlndXJhdGlv
bkRpYWdub3N0aWNFdmVudFJlY29yZGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0i
Q29udHJvbGxlcnMvR3JpZE92ZXJsYXlEaWFnbm9zdGljRXZlbnRSZWNvcmRlci5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0luc3BlY3RlZFRhcmdldFR5cGVzRGlh
Z25vc3RpY0V2ZW50UmVjb3JkZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJDb250
cm9sbGVycy9UYWJBY3Rpdml0eURpYWdub3N0aWNFdmVudFJlY29yZGVyLmpzIj48L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427256</attachid>
            <date>2021-04-28 06:43:09 -0700</date>
            <delta_ts>2021-04-28 08:36:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225060-20210428154305.patch</filename>
            <type>text/plain</type>
            <size>13139</size>
            <attacher name="Razvan Caliman">rcaliman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGNiZDJlYzdiZGYzZTdhNmU1ZjBiMTE1YWEwYWRj
NTIzMzY5ZGVmMzAuLjZiNWNjY2Y2YWU5YTdmYzJkMTIwODY5ZWY0YTMxOWZiZGRiNjU4ZDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTA0LTI4ICBSYXp2
YW4gQ2FsaW1hbiAgPHJjYWxpbWFuQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBDU1MgR3JpZCAtIG1lYXN1cmUgdXNhZ2Ugb2YgZ3JpZCBvdmVybGF5IG9wdGlvbnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTA2MAorICAgICAg
ICA8cmRhcjovLzc1ODQzMjk0PgorCisgICAgICAgIFJldmlld2VkIGJ5IEJKIEJ1cmcuCisKKyAg
ICAgICAgQWRkIHRlbGVtZXRyeSBpbnN0cnVtZW50YXRpb24gdG8gdHJhY2sgZ3JpZCBvdmVybGF5
IGNvbmZpZ3VyYXRpb25zIGFuZCB0aW1lIHNwZW50IHVzaW5nIHRoZW0uCisKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qczoKKyAgICAgICAgKFdJLmNvbnRlbnRMb2FkZWQpOgor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvR3JpZE92ZXJsYXlDb25maWd1cmF0
aW9uRGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIuanM6IEFkZGVkLgorICAgICAgICAoV0kuR3JpZE92
ZXJsYXlDb25maWd1cmF0aW9uRGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIpOgorICAgICAgICAoV0ku
R3JpZE92ZXJsYXlDb25maWd1cmF0aW9uRGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIuZ2V0IGV2ZW50
U2FtcGxpbmdJbnRlcnZhbCk6CisgICAgICAgIChXSS5HcmlkT3ZlcmxheUNvbmZpZ3VyYXRpb25E
aWFnbm9zdGljRXZlbnRSZWNvcmRlci5wcm90b3R5cGUuc2V0dXApOgorICAgICAgICAoV0kuR3Jp
ZE92ZXJsYXlDb25maWd1cmF0aW9uRGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIucHJvdG90eXBlLnRl
YXJkb3duKToKKyAgICAgICAgKFdJLkdyaWRPdmVybGF5Q29uZmlndXJhdGlvbkRpYWdub3N0aWNF
dmVudFJlY29yZGVyLnByb3RvdHlwZS5faGFuZGxlR3JpZE92ZXJsYXlTaG93bik6CisgICAgICAg
IChXSS5HcmlkT3ZlcmxheUNvbmZpZ3VyYXRpb25EaWFnbm9zdGljRXZlbnRSZWNvcmRlci5wcm90
b3R5cGUuX2hhbmRsZUdyaWRPdmVybGF5SGlkZGVuKToKKyAgICAgICAgKFdJLkdyaWRPdmVybGF5
Q29uZmlndXJhdGlvbkRpYWdub3N0aWNFdmVudFJlY29yZGVyLnByb3RvdHlwZS5oYW5kbGVFdmVu
dCk6CisgICAgICAgIChXSS5HcmlkT3ZlcmxheUNvbmZpZ3VyYXRpb25EaWFnbm9zdGljRXZlbnRS
ZWNvcmRlci5wcm90b3R5cGUuX3N0YXJ0RXZlbnRTYW1wbGluZ1RpbWVyKToKKyAgICAgICAgKFdJ
LkdyaWRPdmVybGF5Q29uZmlndXJhdGlvbkRpYWdub3N0aWNFdmVudFJlY29yZGVyLnByb3RvdHlw
ZS5fc3RvcEV2ZW50U2FtcGxpbmdUaW1lcik6CisgICAgICAgIChXSS5HcmlkT3ZlcmxheUNvbmZp
Z3VyYXRpb25EaWFnbm9zdGljRXZlbnRSZWNvcmRlci5wcm90b3R5cGUuX3NhbXBsZUN1cnJlbnRP
dmVybGF5Q29uZmlndXJhdGlvbik6CisgICAgICAgIChXSS5HcmlkT3ZlcmxheUNvbmZpZ3VyYXRp
b25EaWFnbm9zdGljRXZlbnRSZWNvcmRlci5wcm90b3R5cGUuX2RpZE9ic2VydmVVc2VySW50ZXJh
Y3Rpb24pOgorICAgICAgICAoV0kuR3JpZE92ZXJsYXlDb25maWd1cmF0aW9uRGlhZ25vc3RpY0V2
ZW50UmVjb3JkZXIucHJvdG90eXBlLl9oYW5kbGVXaW5kb3dGb2N1cyk6CisgICAgICAgIChXSS5H
cmlkT3ZlcmxheUNvbmZpZ3VyYXRpb25EaWFnbm9zdGljRXZlbnRSZWNvcmRlci5wcm90b3R5cGUu
X2hhbmRsZVdpbmRvd0JsdXIpOgorICAgICAgICAoV0kuR3JpZE92ZXJsYXlDb25maWd1cmF0aW9u
RGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIucHJvdG90eXBlLl9oYW5kbGVXaW5kb3dLZXlEb3duKToK
KyAgICAgICAgKFdJLkdyaWRPdmVybGF5Q29uZmlndXJhdGlvbkRpYWdub3N0aWNFdmVudFJlY29y
ZGVyLnByb3RvdHlwZS5faGFuZGxlV2luZG93TW91c2VEb3duKToKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL0NvbnRyb2xsZXJzL092ZXJsYXlNYW5hZ2VyLmpzOgorICAgICAgICAoV0kuT3Zlcmxh
eU1hbmFnZXIucHJvdG90eXBlLmhhc1Zpc2libGVHcmlkT3ZlcmxheXMpOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvTWFpbi5odG1sOgorCiAyMDIxLTA0LTI3ICBQYXRyaWNrIEFuZ2xlICA8cGFu
Z2xlQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBSZW5hbWUgIk9wZW4gaW4g
TmV3IFRhYiIgY29udGV4dCBtZW51IGl0ZW0gdG8gIk9wZW4gaW4gTmV3IFdpbmRvdyIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcwppbmRleCBj
ZmQ1NzMzMmY4OGQxMTdiYWY0ZjU1MjcwZjcwZjdkYmIzZjE4YTk2Li4yNjcwZjkxNjMwYjllZTlh
MGZlMDRhYWI1MmQwZjlmZGEzYzI4MGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCkBAIC01OTAsOCArNTkwLDEwIEBAIFdJLmNvbnRl
bnRMb2FkZWQgPSBmdW5jdGlvbigpCiAgICAgICAgIFdJLmRpYWdub3N0aWNDb250cm9sbGVyLmFk
ZFJlY29yZGVyKG5ldyBXSS5UYWJBY3Rpdml0eURpYWdub3N0aWNFdmVudFJlY29yZGVyKFdJLmRp
YWdub3N0aWNDb250cm9sbGVyKSk7CiAgICAgICAgIFdJLmRpYWdub3N0aWNDb250cm9sbGVyLmFk
ZFJlY29yZGVyKG5ldyBXSS5UYWJOYXZpZ2F0aW9uRGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIoV0ku
ZGlhZ25vc3RpY0NvbnRyb2xsZXIpKTsKIAotICAgICAgICBpZiAoSW5zcGVjdG9yQmFja2VuZC5o
YXNDb21tYW5kKCJET00uc2hvd0dyaWRPdmVybGF5IikpCisgICAgICAgIGlmIChJbnNwZWN0b3JC
YWNrZW5kLmhhc0NvbW1hbmQoIkRPTS5zaG93R3JpZE92ZXJsYXkiKSkgewogICAgICAgICAgICAg
V0kuZGlhZ25vc3RpY0NvbnRyb2xsZXIuYWRkUmVjb3JkZXIobmV3IFdJLkdyaWRPdmVybGF5RGlh
Z25vc3RpY0V2ZW50UmVjb3JkZXIoV0kuZGlhZ25vc3RpY0NvbnRyb2xsZXIpKTsKKyAgICAgICAg
ICAgIFdJLmRpYWdub3N0aWNDb250cm9sbGVyLmFkZFJlY29yZGVyKG5ldyBXSS5HcmlkT3Zlcmxh
eUNvbmZpZ3VyYXRpb25EaWFnbm9zdGljRXZlbnRSZWNvcmRlcihXSS5kaWFnbm9zdGljQ29udHJv
bGxlcikpOworICAgICAgICB9CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvR3JpZE92ZXJsYXlDb25maWd1cmF0
aW9uRGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Db250cm9sbGVycy9HcmlkT3ZlcmxheUNvbmZpZ3VyYXRpb25EaWFnbm9zdGlj
RXZlbnRSZWNvcmRlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZTg4N2ZhOWQ0ZWMwZDM4ZTY0MzMyYjBhMWI0
YWIxODdmNzBhZDdiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvR3JpZE92ZXJsYXlDb25maWd1cmF0aW9uRGlhZ25vc3Rp
Y0V2ZW50UmVjb3JkZXIuanMKQEAgLTAsMCArMSwxOTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitXSS5Hcmlk
T3ZlcmxheUNvbmZpZ3VyYXRpb25EaWFnbm9zdGljRXZlbnRSZWNvcmRlciA9IGNsYXNzIEdyaWRP
dmVybGF5Q29uZmlndXJhdGlvbkRpYWdub3N0aWNFdmVudFJlY29yZGVyIGV4dGVuZHMgV0kuRGlh
Z25vc3RpY0V2ZW50UmVjb3JkZXIKK3sKKyAgICBjb25zdHJ1Y3Rvcihjb250cm9sbGVyKQorICAg
IHsKKyAgICAgICAgc3VwZXIoIkdyaWRPdmVybGF5Q29uZmlndXJhdGlvbiIsIGNvbnRyb2xsZXIp
OworCisgICAgICAgIHRoaXMuX2luc3BlY3Rvckhhc0ZvY3VzID0gdHJ1ZTsKKyAgICAgICAgdGhp
cy5fbGFzdFVzZXJJbnRlcmFjdGlvblRpbWVzdGFtcCA9IHVuZGVmaW5lZDsKKyAgICAgICAgdGhp
cy5fZXZlbnRTYW1wbGluZ1RpbWVySWRlbnRpZmllciA9IHVuZGVmaW5lZDsKKyAgICAgICAgdGhp
cy5fb3ZlcmxheU9wdGlvbnMgPSB7fTsKKyAgICB9CisKKyAgICAvLyBTdGF0aWMKKworICAgIC8v
IEluIG1pbGxpc2Vjb25kcy4KKyAgICBzdGF0aWMgZ2V0IGV2ZW50U2FtcGxpbmdJbnRlcnZhbCgp
IHsgcmV0dXJuIDYwICogMTAwMDsgfQorCisgICAgLy8gUHJvdGVjdGVkCisKKyAgICBzZXR1cCgp
CisgICAgeworICAgICAgICBjb25zdCBvcHRpb25zID0geworICAgICAgICAgICAgY2FwdHVyZTog
dHJ1ZSwKKyAgICAgICAgfTsKKyAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vz
IiwgdGhpcywgb3B0aW9ucyk7CisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJibHVy
IiwgdGhpcywgb3B0aW9ucyk7CisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlk
b3duIiwgdGhpcywgb3B0aW9ucyk7CisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJt
b3VzZWRvd24iLCB0aGlzLCBvcHRpb25zKTsKKyAgICAgICAgV0kub3ZlcmxheU1hbmFnZXIuYWRk
RXZlbnRMaXN0ZW5lcihXSS5PdmVybGF5TWFuYWdlci5FdmVudC5HcmlkT3ZlcmxheVNob3duLCB0
aGlzLl9oYW5kbGVHcmlkT3ZlcmxheVNob3duLCB0aGlzKTsKKyAgICAgICAgV0kub3ZlcmxheU1h
bmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5PdmVybGF5TWFuYWdlci5FdmVudC5HcmlkT3Zlcmxh
eUhpZGRlbiwgdGhpcy5faGFuZGxlR3JpZE92ZXJsYXlIaWRkZW4sIHRoaXMpOworICAgIH0KKwor
ICAgIHRlYXJkb3duKCkKKyAgICB7CisgICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7CisgICAgICAg
ICAgICBjYXB0dXJlOiB0cnVlLAorICAgICAgICB9OworICAgICAgICB3aW5kb3cucmVtb3ZlRXZl
bnRMaXN0ZW5lcigiZm9jdXMiLCB0aGlzLCBvcHRpb25zKTsKKyAgICAgICAgd2luZG93LnJlbW92
ZUV2ZW50TGlzdGVuZXIoImJsdXIiLCB0aGlzLCBvcHRpb25zKTsKKyAgICAgICAgd2luZG93LnJl
bW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLCB0aGlzLCBvcHRpb25zKTsKKyAgICAgICAgd2lu
ZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIHRoaXMsIG9wdGlvbnMpOworICAg
ICAgICBXSS5vdmVybGF5TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLk92ZXJsYXlNYW5hZ2Vy
LkV2ZW50LkdyaWRPdmVybGF5U2hvd24sIHRoaXMuX2hhbmRsZUdyaWRPdmVybGF5U2hvd24sIHRo
aXMpOworICAgICAgICBXSS5vdmVybGF5TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLk92ZXJs
YXlNYW5hZ2VyLkV2ZW50LkdyaWRPdmVybGF5SGlkZGVuLCB0aGlzLl9oYW5kbGVHcmlkT3Zlcmxh
eUhpZGRlbiwgdGhpcyk7CisKKyAgICAgICAgdGhpcy5fc3RvcEV2ZW50U2FtcGxpbmdUaW1lcklm
TmVlZGVkKCk7CisgICAgfQorCisgICAgX2hhbmRsZUdyaWRPdmVybGF5U2hvd24oZXZlbnQpCisg
ICAgeworICAgICAgICB0aGlzLl9vdmVybGF5T3B0aW9ucy5zaG93VHJhY2tTaXplcyA9IGV2ZW50
LmRhdGEuc2hvd1RyYWNrU2l6ZXM7CisgICAgICAgIHRoaXMuX292ZXJsYXlPcHRpb25zLnNob3dM
aW5lTnVtYmVycyA9IGV2ZW50LmRhdGEuc2hvd0xpbmVOdW1iZXJzOworICAgICAgICB0aGlzLl9v
dmVybGF5T3B0aW9ucy5zaG93TGluZU5hbWVzID0gZXZlbnQuZGF0YS5zaG93TGluZU5hbWVzOwor
ICAgICAgICB0aGlzLl9vdmVybGF5T3B0aW9ucy5zaG93QXJlYU5hbWVzID0gZXZlbnQuZGF0YS5z
aG93QXJlYU5hbWVzOworICAgICAgICB0aGlzLl9vdmVybGF5T3B0aW9ucy5zaG93RXh0ZW5kZWRH
cmlkTGluZXMgPSBldmVudC5kYXRhLnNob3dFeHRlbmRlZEdyaWRMaW5lczsKKworICAgICAgICBp
ZiAoIXRoaXMuX2V2ZW50U2FtcGxpbmdUaW1lcklkZW50aWZpZXIpCisgICAgICAgICAgICB0aGlz
Ll9zdGFydEV2ZW50U2FtcGxpbmdUaW1lcigpOworICAgIH0KKworICAgIF9oYW5kbGVHcmlkT3Zl
cmxheUhpZGRlbigpCisgICAgeworICAgICAgICBpZiAoV0kub3ZlcmxheU1hbmFnZXIuaGFzVmlz
aWJsZUdyaWRPdmVybGF5cygpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRoaXMu
X3N0b3BFdmVudFNhbXBsaW5nVGltZXJJZk5lZWRlZCgpOworICAgICAgICB0aGlzLl9vdmVybGF5
T3B0aW9ucyA9IHt9OworICAgIH0KKworICAgIC8vIFB1YmxpYworCisgICAgaGFuZGxlRXZlbnQo
ZXZlbnQpCisgICAgeworICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHsKKyAgICAgICAgY2Fz
ZSAiZm9jdXMiOgorICAgICAgICAgICAgdGhpcy5faGFuZGxlV2luZG93Rm9jdXMoZXZlbnQpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgImJsdXIiOgorICAgICAgICAgICAgdGhp
cy5faGFuZGxlV2luZG93Qmx1cihldmVudCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
Y2FzZSAia2V5ZG93biI6CisgICAgICAgICAgICB0aGlzLl9oYW5kbGVXaW5kb3dLZXlEb3duKGV2
ZW50KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICJtb3VzZWRvd24iOgorICAg
ICAgICAgICAgdGhpcy5faGFuZGxlV2luZG93TW91c2VEb3duKGV2ZW50KTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgLy8gUHJpdmF0ZQorCisgICAgX3N0YXJ0
RXZlbnRTYW1wbGluZ1RpbWVyKCkKKyAgICB7CisgICAgICAgIHRoaXMuX3N0b3BFdmVudFNhbXBs
aW5nVGltZXJJZk5lZWRlZCgpOworCisgICAgICAgIHRoaXMuX2V2ZW50U2FtcGxpbmdUaW1lcklk
ZW50aWZpZXIgPSBzZXRUaW1lb3V0KHRoaXMuX3NhbXBsZUN1cnJlbnRPdmVybGF5Q29uZmlndXJh
dGlvbi5iaW5kKHRoaXMpLCBXSS5HcmlkT3ZlcmxheUNvbmZpZ3VyYXRpb25EaWFnbm9zdGljRXZl
bnRSZWNvcmRlci5ldmVudFNhbXBsaW5nSW50ZXJ2YWwpOworICAgIH0KKworICAgIF9zdG9wRXZl
bnRTYW1wbGluZ1RpbWVySWZOZWVkZWQoKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX2V2ZW50
U2FtcGxpbmdUaW1lcklkZW50aWZpZXIpIHsKKyAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlz
Ll9ldmVudFNhbXBsaW5nVGltZXJJZGVudGlmaWVyKTsKKyAgICAgICAgICAgIHRoaXMuX2V2ZW50
U2FtcGxpbmdUaW1lcklkZW50aWZpZXIgPSB1bmRlZmluZWQ7CisgICAgICAgIH0KKyAgICB9CisK
KyAgICBfc2FtcGxlQ3VycmVudE92ZXJsYXlDb25maWd1cmF0aW9uKCkKKyAgICB7CisgICAgICAg
IC8vIFNldCB1cCB0aGUgbmV4dCB0aW1lciBmaXJzdCBzbyBsYXRlciBjb2RlIGNhbiBiYWlsIG91
dCBpZiB0aGVyZSdzIG5vdGhpbmcgdG8gZG8uCisgICAgICAgIHRoaXMuX3N0b3BFdmVudFNhbXBs
aW5nVGltZXJJZk5lZWRlZCgpOworICAgICAgICB0aGlzLl9zdGFydEV2ZW50U2FtcGxpbmdUaW1l
cigpOworCisgICAgICAgIGxldCBpbnRlcnZhbFNpbmNlTGFzdFVzZXJJbnRlcmFjdGlvbiA9IHBl
cmZvcm1hbmNlLm5vdygpIC0gdGhpcy5fbGFzdFVzZXJJbnRlcmFjdGlvblRpbWVzdGFtcDsKKyAg
ICAgICAgaWYgKGludGVydmFsU2luY2VMYXN0VXNlckludGVyYWN0aW9uID4gV0kuR3JpZE92ZXJs
YXlDb25maWd1cmF0aW9uRGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIuZXZlbnRTYW1wbGluZ0ludGVy
dmFsKSB7CisgICAgICAgICAgICBpZiAoV0kuc2V0dGluZ3MuZGVidWdBdXRvTG9nRGlhZ25vc3Rp
Y0V2ZW50cy52YWx1ZVJlc3BlY3RpbmdEZWJ1Z1VJQXZhaWxhYmlsaXR5KQorICAgICAgICAgICAg
ICAgIGNvbnNvbGUubG9nKCJHcmlkT3ZlcmxheUNvbmZpZ3VyYXRpb246IHNhbXBsZSBub3QgcmVw
b3J0ZWQsIGxhc3QgdXNlciBpbnRlcmFjdGlvbiB3YXMgJS4xZiBzZWNvbmRzIGFnby4iLmZvcm1h
dChpbnRlcnZhbFNpbmNlTGFzdFVzZXJJbnRlcmFjdGlvbiAvIDEwMDApKTsKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGxldCBzZWxlY3RlZFRhYkNvbnRlbnRWaWV3
ID0gV0kudGFiQnJvd3Nlci5zZWxlY3RlZFRhYkNvbnRlbnRWaWV3OworICAgICAgICBjb25zb2xl
LmFzc2VydChzZWxlY3RlZFRhYkNvbnRlbnRWaWV3KTsKKyAgICAgICAgaWYgKCFzZWxlY3RlZFRh
YkNvbnRlbnRWaWV3KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGxldCBpbnRlcnZh
bCA9IFdJLkdyaWRPdmVybGF5Q29uZmlndXJhdGlvbkRpYWdub3N0aWNFdmVudFJlY29yZGVyLmV2
ZW50U2FtcGxpbmdJbnRlcnZhbCAvIDEwMDA7CisgICAgICAgIGxldCB7c2hvd1RyYWNrU2l6ZXMs
IHNob3dMaW5lTnVtYmVycywgc2hvd0xpbmVOYW1lcywgc2hvd0FyZWFOYW1lcywgc2hvd0V4dGVu
ZGVkR3JpZExpbmVzfSA9IHRoaXMuX292ZXJsYXlPcHRpb25zOworCisgICAgICAgIC8vIEVuY29k
ZSB0aGUgY29uZmlndXJhdGlvbiBvZiBvdmVybGF5IG9wdGlvbnMgYXMgYSBzdW0gb2YgaW5jcmVh
c2luZyBwb3dlcnMgb2YgMTAgZm9yIGVhY2ggb3ZlcmxheSBvcHRpb24gdGhhdCBpcyBlbmFibGVk
ICh6ZXJvIGlmIGRpc2FibGVkKSwgY29udmVydCB0byBzdHJpbmcgYW5kIHBhZCB3aXRoIHplcm8g
aWYgbmVjZXNzYXJ5LgorICAgICAgICAvLyBGb3IgZXhhbXBsZSwgIjAxMTAwIiA9IHNob3dUcmFj
a1NpemVzOiBmYWxzZSwgc2hvd0xpbmVOdW1iZXJzOiB0cnVlLCBzaG93TGluZU5hbWVzOiB0cnVl
LCBzaG93QXJlYU5hbWVzOiBmYWxzZSwgc2hvd0V4dGVuZGVkR3JpZExpbmVzOiBmYWxzZTsKKyAg
ICAgICAgbGV0IGNvbmZpZ3VyYXRpb24gPSAwOworICAgICAgICBjb25maWd1cmF0aW9uICs9IHNo
b3dUcmFja1NpemVzID8gMTAwMDAgOiAwOworICAgICAgICBjb25maWd1cmF0aW9uICs9IHNob3dM
aW5lTnVtYmVycyA/IDEwMDAgOiAwOworICAgICAgICBjb25maWd1cmF0aW9uICs9IHNob3dMaW5l
TmFtZXMgPyAxMDAgOiAwOworICAgICAgICBjb25maWd1cmF0aW9uICs9IHNob3dBcmVhTmFtZXMg
PyAxMCA6IDA7CisgICAgICAgIGNvbmZpZ3VyYXRpb24gKz0gc2hvd0V4dGVuZGVkR3JpZExpbmVz
ID8gMSA6IDA7CisgICAgICAgIGNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uLnRvU3RyaW5n
KCkucGFkU3RhcnQoNSwgIjAiKTsKKworICAgICAgICB0aGlzLmxvZ0RpYWdub3N0aWNFdmVudCh0
aGlzLm5hbWUsIHtpbnRlcnZhbCwgY29uZmlndXJhdGlvbiwgc2hvd1RyYWNrU2l6ZXMsIHNob3dM
aW5lTnVtYmVycywgc2hvd0xpbmVOYW1lcywgc2hvd0FyZWFOYW1lcywgc2hvd0V4dGVuZGVkR3Jp
ZExpbmVzfSk7CisgICAgfQorCisgICAgX2RpZE9ic2VydmVVc2VySW50ZXJhY3Rpb24oKQorICAg
IHsKKyAgICAgICAgaWYgKCF0aGlzLl9pbnNwZWN0b3JIYXNGb2N1cykKKyAgICAgICAgICAgIHJl
dHVybjsKKworICAgICAgICB0aGlzLl9sYXN0VXNlckludGVyYWN0aW9uVGltZXN0YW1wID0gcGVy
Zm9ybWFuY2Uubm93KCk7CisgICAgfQorCisgICAgX2hhbmRsZVdpbmRvd0ZvY3VzKGV2ZW50KQor
ICAgIHsKKyAgICAgICAgaWYgKGV2ZW50LnRhcmdldCAhPT0gd2luZG93KQorICAgICAgICAgICAg
cmV0dXJuOworCisgICAgICAgIHRoaXMuX2luc3BlY3Rvckhhc0ZvY3VzID0gdHJ1ZTsKKyAgICB9
CisKKyAgICBfaGFuZGxlV2luZG93Qmx1cihldmVudCkKKyAgICB7CisgICAgICAgIGlmIChldmVu
dC50YXJnZXQgIT09IHdpbmRvdykKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlz
Ll9pbnNwZWN0b3JIYXNGb2N1cyA9IGZhbHNlOworICAgIH0KKworICAgIF9oYW5kbGVXaW5kb3dL
ZXlEb3duKGV2ZW50KQorICAgIHsKKyAgICAgICAgdGhpcy5fZGlkT2JzZXJ2ZVVzZXJJbnRlcmFj
dGlvbigpOworICAgIH0KKworICAgIF9oYW5kbGVXaW5kb3dNb3VzZURvd24oZXZlbnQpCisgICAg
eworICAgICAgICB0aGlzLl9kaWRPYnNlcnZlVXNlckludGVyYWN0aW9uKCk7CisgICAgfQorfTsK
KwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJv
bGxlcnMvT3ZlcmxheU1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Db250cm9sbGVycy9PdmVybGF5TWFuYWdlci5qcwppbmRleCAxNjJlYjMxNGMyMmNmOTE1
ZDU5OTgyNDUyM2ZmZWJiNzQ0OTI4ZTY2Li4wMmI3NmYxOGI3NTc4OGJmMWVlYTdmZmM5YTIxNTBj
ZDhlNTE5NTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Db250cm9sbGVycy9PdmVybGF5TWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9PdmVybGF5TWFuYWdlci5qcwpAQCAtOTcsNiAr
OTcsMTEgQEAgV0kuT3ZlcmxheU1hbmFnZXIgPSBjbGFzcyBPdmVybGF5TWFuYWdlciBleHRlbmRz
IFdJLk9iamVjdAogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5PdmVy
bGF5TWFuYWdlci5FdmVudC5HcmlkT3ZlcmxheUhpZGRlbiwgb3ZlcmxheSk7CiAgICAgfQogCisg
ICAgaGFzVmlzaWJsZUdyaWRPdmVybGF5cygpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5f
Z3JpZE92ZXJsYXlGb3JOb2RlTWFwLnNpemUgPiAwOworICAgIH0KKwogICAgIGlzR3JpZE92ZXJs
YXlWaXNpYmxlKGRvbU5vZGUpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fZ3JpZE92ZXJs
YXlGb3JOb2RlTWFwLmhhcyhkb21Ob2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbCBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL01haW4uaHRtbAppbmRleCBhNTNmZWZkZmYyYjk0MDEzODNlOThjODhlYzdjOTAx
NmIwZmVmOTc2Li4zZjIxNDczZGMzOGE2MGNjZDI4ZjJkZmM3Nzk2OWZiNmU2OTY3YThkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCkBAIC05Mjcs
NiArOTI3LDcgQEAKIAogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9EaWFnbm9zdGljQ29u
dHJvbGxlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL0RpYWdu
b3N0aWNFdmVudFJlY29yZGVyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iQ29udHJv
bGxlcnMvR3JpZE92ZXJsYXlDb25maWd1cmF0aW9uRGlhZ25vc3RpY0V2ZW50UmVjb3JkZXIuanMi
Pjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJDb250cm9sbGVycy9HcmlkT3ZlcmxheURpYWdu
b3N0aWNFdmVudFJlY29yZGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udHJv
bGxlcnMvSW5zcGVjdGVkVGFyZ2V0VHlwZXNEaWFnbm9zdGljRXZlbnRSZWNvcmRlci5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkNvbnRyb2xsZXJzL1RhYkFjdGl2aXR5RGlhZ25vc3Rp
Y0V2ZW50UmVjb3JkZXIuanMiPjwvc2NyaXB0Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>