<?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>79675</bug_id>
          
          <creation_ts>2012-02-27 08:29:06 -0800</creation_ts>
          <short_desc>Web Inspector: extract TimelineModel and TimelinePresentationModel into their own files.</short_desc>
          <delta_ts>2012-02-27 08:58:28 -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>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</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>565670</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-02-27 08:29:06 -0800</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565678</commentid>
    <comment_count>1</comment_count>
      <attachid>129044</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-02-27 08:38:54 -0800</bug_when>
    <thetext>Created attachment 129044
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565683</commentid>
    <comment_count>2</comment_count>
      <attachid>129044</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-02-27 08:42:46 -0800</bug_when>
    <thetext>Comment on attachment 129044
Patch

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

&gt; Source/WebCore/inspector/front-end/TimelineModel.js:127
&gt; +    _loadFromFile: function(file)

So, where this is called from?

&gt; Source/WebCore/inspector/front-end/TimelineModel.js:158
&gt; +    _saveToFile: function()

ditto.

&gt; Source/WebCore/inspector/front-end/TimelineModel.js:171
&gt; +    _reset: function()

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565686</commentid>
    <comment_count>3</comment_count>
      <attachid>129045</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-02-27 08:51:48 -0800</bug_when>
    <thetext>Created attachment 129045
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565689</commentid>
    <comment_count>4</comment_count>
      <attachid>129045</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-02-27 08:54:31 -0800</bug_when>
    <thetext>Comment on attachment 129045
Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565696</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-02-27 08:58:28 -0800</bug_when>
    <thetext>Committed r108997: &lt;http://trac.webkit.org/changeset/108997&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129044</attachid>
            <date>2012-02-27 08:38:54 -0800</date>
            <delta_ts>2012-02-27 08:51:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79675-20120227203852.patch</filename>
            <type>text/plain</type>
            <size>43748</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4OTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjNiZjQ2M2Y5ZDE0ZmU1
YzI3ZmQ3NzAzNTIzZTY2ODQxZDhjN2I1ZS4uZDgxMDVlN2JkMGY3NzdjYzFlNWE3MDZlMWZlMDJl
MjY5NmY5MGEzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ4IEBACiAyMDEyLTAyLTI3ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KIAorICAgICAgICBXZWIgSW5zcGVjdG9y
OiBleHRyYWN0IFRpbWVsaW5lTW9kZWwgYW5kIFRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwgaW50
byB0aGVpciBvd24gZmlsZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03OTY3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qOgorICAgICAgICAqIGluc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5zaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lQWdlbnQuanM6IFJlbW92ZWQuCisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1vZGVsLmpzOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5UaW1lbGluZU1vZGVsLnByb3RvdHlwZS5zdGFydFJlY29yZCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuVGltZWxpbmVNb2RlbC5wcm90b3R5cGUuc3RvcFJlY29yZCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVGltZWxpbmVNb2RlbC5wcm90b3R5cGUuZ2V0IHJlY29yZHMpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwucHJvdG90eXBlLl9vblJlY29yZEFkZGVkKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLnByb3RvdHlwZS5fYWRkUmVjb3JkKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLnByb3RvdHlwZS5fbG9hZE5leHRD
aHVuayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5wcm90b3R5cGUuX2xv
YWRGcm9tRmlsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5wcm90b3R5
cGUuX2xvYWRGcm9tRmlsZS5vbkVycm9yKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGlu
ZU1vZGVsLnByb3RvdHlwZS5fc2F2ZVRvRmlsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVNb2RlbC5wcm90b3R5cGUuX3Jlc2V0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1RpbWVsaW5lUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5l
bC5wcm90b3R5cGUuZ2V0IF9yZWNvcmRTdHlsZXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUGFuZWwucHJvdG90eXBlLl9jcmVhdGVFdmVudERpdmlkZXIpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlLl9maW5kUGFyZW50UmVjb3JkKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZS5faW5uZXJBZGRSZWNv
cmRUb1RpbWVsaW5lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnByb3Rv
dHlwZS5fcmVmcmVzaFJlY29yZHMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFu
ZWwuRm9ybWF0dGVkUmVjb3JkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVs
LkZvcm1hdHRlZFJlY29yZC5wcm90b3R5cGUuX2dlbmVyYXRlUG9wdXBDb250ZW50KToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLkZvcm1hdHRlZFJlY29yZC5wcm90b3R5cGUu
X2dldFJlY29yZERldGFpbHMpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxp
bmVQcmVzZW50YXRpb25Nb2RlbC5qczogQWRkZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVQcmVzZW50YXRpb25Nb2RlbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQ
cmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUucmVzZXQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLmdldCBjYXRlZ29yaWVzKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZS5h
ZGRDYXRlZ29yeSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25N
b2RlbC5wcm90b3R5cGUuc2V0V2luZG93UG9zaXRpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLnNldFdpbmRvd0luZGljZXMpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBl
LnNldENhdGVnb3J5VmlzaWJpbGl0eSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9X
ZWJLaXQucXJjOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWw6
CisKKzIwMTItMDItMjcgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgorCiAg
ICAgICAgIFtTaGFkb3ddOiBFeHBvc2Ugb25lIFNoYWRvd1Jvb3QgaW4gdGhlIEVsZW1lbnRzIHBh
bmVsICh1bmRlciBleHBlcmltZW50IGZsYWcpCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03ODIwMgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggZWIyZjU5Y2Nk
NGYxYTVhMDM2OTg5OTY2MjBhMmUyYWI1NWM3MmE2NS4uNDg2YWM0NjQxMmFjODQ2NzgwODM4MDk1
ZWFhNzQzODIwMmU5ZjhkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNjI1NSw4ICs2MjU1LDkgQEAK
ICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRFZGl0b3JNb2RlbC5qcycsCiAg
ICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0UHJvbXB0LmpzJywKICAgICAgICAg
ICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRWaWV3ZXIuanMnLAotICAgICAgICAgICAgJ2lu
c3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVBZ2VudC5qcycsCiAgICAgICAgICAgICAnaW5zcGVj
dG9yL2Zyb250LWVuZC9UaW1lbGluZU1hbmFnZXIuanMnLAorICAgICAgICAgICAgJ2luc3BlY3Rv
ci9mcm9udC1lbmQvVGltZWxpbmVNb2RlbC5qcycsCisgICAgICAgICAgICAnaW5zcGVjdG9yL2Zy
b250LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzJywKICAgICAgICAgICAgICdpbnNw
ZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lT3ZlcnZpZXdQYW5lLmpzJywKICAgICAgICAgICAgICdp
bnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lR3JpZC5qcycsCiAgICAgICAgICAgICAnaW5zcGVj
dG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggOGVmZjlkNGMwODdiZjkzNGE4ZjUzYzhjYjNi
YmM4YTVkYTg5MDFlNC4uMGE3MThhMWRmNDQwNzY4ZWM4NTQ0YjYxZWJjOGExM2YwNDYwNjU2ZSAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTcz
NTg1LDE1ICs3MzU4NSwxNSBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCi0JCQkJ
CVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxUaW1lbGluZUFnZW50LmpzIgor
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcVGltZWxpbmVHcmlkLmpz
IgogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5c
aW5zcGVjdG9yXGZyb250LWVuZFxUaW1lbGluZUdyaWQuanMiCisJCQkJCVJlbGF0aXZlUGF0aD0i
Li5caW5zcGVjdG9yXGZyb250LWVuZFxUaW1lbGluZU1hbmFnZXIuanMiCiAJCQkJCT4KIAkJCQk8
L0ZpbGU+CiAJCQkJPEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQt
ZW5kXFRpbWVsaW5lTWFuYWdlci5qcyIKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3Jc
ZnJvbnQtZW5kXFRpbWVsaW5lTW9kZWwuanMiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZp
bGUKQEAgLTczNjAxLDYgKzczNjAxLDEwIEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZp
bGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXFRpbWVsaW5lUHJl
c2VudGF0aW9uTW9kZWwuanMiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXHRpbWVsaW5lUGFuZWwuY3NzIgog
CQkJCQk+CiAJCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2NvbXBpbGUtZnJvbnQtZW5kLnNoIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUt
ZnJvbnQtZW5kLnNoCmluZGV4IDE3ZWQxMDM5ZDY2OWRiZmRjNmE1ZGU0MmM2ZmMxYTM0NDlkN2Jl
NDAuLjIyMmRlZmU5OTZiMzlmYTEzZTNkZmJiY2YxNmRkZWNhNmUzNWE3NWYgMTAwNzU1Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5zaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQuc2gKQEAgLTQ1LDcgKzQ1LDcg
QEAgamF2YSAtamFyIH4vY2xvc3VyZS9jb21waWxlci5qYXIgLS1zdW1tYXJ5X2RldGFpbF9sZXZl
bCAzIC0tY29tcGlsYXRpb25fbGV2ZWwgU0kKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1VzZXJNZXRyaWNzLmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hhbmRsZXJSZWdpc3RyeS5qcyBcCiAgICAgICAg
IC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVu
ZEhvc3RTdHViLmpzIFwKLSAgICAtLW1vZHVsZSBqc21vZHVsZV9zZGs6MzA6anNtb2R1bGVfY29t
bW9uIFwKKyAgICAtLW1vZHVsZSBqc21vZHVsZV9zZGs6MzM6anNtb2R1bGVfY29tbW9uIFwKICAg
ICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckJh
Y2tlbmQuanMgXAogICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvQXBwbGljYXRpb25DYWNoZU1vZGVsLmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbG9yLmpzIFwKQEAgLTY4LDYgKzY4LDkgQEAgamF2YSAt
amFyIH4vY2xvc3VyZS9jb21waWxlci5qYXIgLS1zdW1tYXJ5X2RldGFpbF9sZXZlbCAzIC0tY29t
cGlsYXRpb25fbGV2ZWwgU0kKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1BsYWNhcmQuanMgXAogICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU2NyaXB0LmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdEZvcm1hdHRlci5qcyBcCisgICAgICAgIC0tanMgU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1hbmFnZXIuanMgXAorICAg
ICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVNb2Rl
bC5qcyBcCisgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9U
aW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jhd1NvdXJjZUNvZGUuanMgXAogICAgICAgICAtLWpzIFNv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVtb3RlT2JqZWN0LmpzIFwKICAgICAg
ICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlLmpzIFwK
QEAgLTExMyw3ICsxMTYsNyBAQCBqYXZhIC1qYXIgfi9jbG9zdXJlL2NvbXBpbGVyLmphciAtLXN1
bW1hcnlfZGV0YWlsX2xldmVsIDMgLS1jb21waWxhdGlvbl9sZXZlbCBTSQogICAgICAgICAtLWpz
IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVG9vbGJhci5qcyBcCiAgICAgICAg
IC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVV0aWxzLmpzIFwKICAg
ICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1ZpZXcuanMgXAot
ICAgIC0tbW9kdWxlIGpzbW9kdWxlX2NvbXBvbmVudHM6MTY6anNtb2R1bGVfc2RrLGpzbW9kdWxl
X3VpIFwKKyAgICAtLW1vZHVsZSBqc21vZHVsZV9jb21wb25lbnRzOjE0OmpzbW9kdWxlX3Nkayxq
c21vZHVsZV91aSBcCiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9Db25zb2xlTWVzc2FnZS5qcyBcCiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50c1NpZGViYXJQYW5lLmpzIFwKICAgICAgICAgLS1q
cyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUJyZWFrcG9pbnRzU2lkZWJh
clBhbmUuanMgXApAQCAtMTI3LDkgKzEzMCw3IEBAIGphdmEgLWphciB+L2Nsb3N1cmUvY29tcGls
ZXIuamFyIC0tc3VtbWFyeV9kZXRhaWxfbGV2ZWwgMyAtLWNvbXBpbGF0aW9uX2xldmVsIFNJCiAg
ICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9w
ZXJ0aWVzU2VjdGlvbi5qcyBcCiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Qcm9wZXJ0aWVzU2lkZWJhclBhbmUuanMgXAogICAgICAgICAtLWpzIFNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMgXAotICAgICAgICAt
LWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVBZ2VudC5qcyBc
CiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGlu
ZUdyaWQuanMgXAotICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvVGltZWxpbmVNYW5hZ2VyLmpzIFwKICAgICAtLW1vZHVsZSBqc21vZHVsZV9lbGVtZW50czoz
OmpzbW9kdWxlX2NvbXBvbmVudHMgXAogICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMgXAogICAgICAgICAtLWpzIFNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTWV0cmljc1NpZGViYXJQYW5lLmpzIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVBZ2Vu
dC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVBZ2VudC5q
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDZhZDdlYWUwYzhlODY2YzMyNDQ2NjMx
OGExODVkODlmY2IxZWUyMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lQWdlbnQu
anMKKysrIC9kZXYvbnVsbApAQCAtMSw3MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
LSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
LSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotLyoqCi0gKiBAY29uc3RydWN0b3IKLSAq
LwotV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQgPSBmdW5jdGlvbigpIHsKLSAgICAvLyBOb3Qg
aW1wbGVtZW50ZWQuCi19Ci0KLS8vIE11c3QgYmUga2VwdCBpbiBzeW5jIHdpdGggSW5zcGVjdG9y
VGltZWxpbmVBZ2VudC5oCi1XZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlID0g
ewotICAgIEV2ZW50RGlzcGF0Y2g6ICJFdmVudERpc3BhdGNoIiwKLSAgICBMYXlvdXQ6ICJMYXlv
dXQiLAotICAgIFJlY2FsY3VsYXRlU3R5bGVzOiAiUmVjYWxjdWxhdGVTdHlsZXMiLAotICAgIFBh
aW50OiAiUGFpbnQiLAotICAgIFBhcnNlSFRNTDogIlBhcnNlSFRNTCIsCi0KLQotICAgIFRpbWVy
SW5zdGFsbDogIlRpbWVySW5zdGFsbCIsCi0gICAgVGltZXJSZW1vdmU6ICJUaW1lclJlbW92ZSIs
Ci0gICAgVGltZXJGaXJlOiAiVGltZXJGaXJlIiwKLQotICAgIFhIUlJlYWR5U3RhdGVDaGFuZ2U6
ICJYSFJSZWFkeVN0YXRlQ2hhbmdlIiwKLSAgICBYSFJMb2FkOiAiWEhSTG9hZCIsCi0gICAgRXZh
bHVhdGVTY3JpcHQ6ICJFdmFsdWF0ZVNjcmlwdCIsCi0KLSAgICBUaW1lU3RhbXA6ICJUaW1lU3Rh
bXAiLAotCi0gICAgTWFya0xvYWQ6ICJNYXJrTG9hZCIsCi0gICAgTWFya0RPTUNvbnRlbnQ6ICJN
YXJrRE9NQ29udGVudCIsCi0KLSAgICBTY2hlZHVsZVJlc291cmNlUmVxdWVzdDogIlNjaGVkdWxl
UmVzb3VyY2VSZXF1ZXN0IiwKLSAgICBSZXNvdXJjZVNlbmRSZXF1ZXN0OiAiUmVzb3VyY2VTZW5k
UmVxdWVzdCIsCi0gICAgUmVzb3VyY2VSZWNlaXZlUmVzcG9uc2U6ICJSZXNvdXJjZVJlY2VpdmVS
ZXNwb25zZSIsCi0gICAgUmVzb3VyY2VSZWNlaXZlZERhdGE6ICJSZXNvdXJjZVJlY2VpdmVkRGF0
YSIsCi0gICAgUmVzb3VyY2VGaW5pc2g6ICJSZXNvdXJjZUZpbmlzaCIsCi0KLSAgICBGdW5jdGlv
bkNhbGw6ICJGdW5jdGlvbkNhbGwiLAotICAgIEdDRXZlbnQ6ICJHQ0V2ZW50IiwKLQotICAgIFJl
cXVlc3RBbmltYXRpb25GcmFtZTogIlJlcXVlc3RBbmltYXRpb25GcmFtZSIsCi0gICAgQ2FuY2Vs
QW5pbWF0aW9uRnJhbWU6ICJDYW5jZWxBbmltYXRpb25GcmFtZSIsCi0gICAgRmlyZUFuaW1hdGlv
bkZyYW1lOiAiRmlyZUFuaW1hdGlvbkZyYW1lIgotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1vZGVsLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhMzIzMTk3
MTE2NzRhODM1MDRhOTVlODdiMmQwMjg0Y2MwMjg4MDQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lTW9kZWwuanMKQEAgLTAsMCAr
MSwxNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5P
YmplY3R9CisgKi8KK1dlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsID0gZnVuY3Rpb24oKQorewor
ICAgIHRoaXMuX3JlY29yZHMgPSBbXTsKKyAgICB0aGlzLl9jb2xsZWN0aW9uRW5hYmxlZCA9IGZh
bHNlOworCisgICAgV2ViSW5zcGVjdG9yLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIuRXZlbnRUeXBlcy5UaW1lbGluZUV2ZW50UmVj
b3JkZWQsIHRoaXMuX29uUmVjb3JkQWRkZWQsIHRoaXMpOworfQorCitXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVNb2RlbC5SZWNvcmRUeXBlID0geworICAgIEV2ZW50RGlzcGF0Y2g6ICJFdmVudERpc3Bh
dGNoIiwKKyAgICBMYXlvdXQ6ICJMYXlvdXQiLAorICAgIFJlY2FsY3VsYXRlU3R5bGVzOiAiUmVj
YWxjdWxhdGVTdHlsZXMiLAorICAgIFBhaW50OiAiUGFpbnQiLAorICAgIFBhcnNlSFRNTDogIlBh
cnNlSFRNTCIsCisKKworICAgIFRpbWVySW5zdGFsbDogIlRpbWVySW5zdGFsbCIsCisgICAgVGlt
ZXJSZW1vdmU6ICJUaW1lclJlbW92ZSIsCisgICAgVGltZXJGaXJlOiAiVGltZXJGaXJlIiwKKwor
ICAgIFhIUlJlYWR5U3RhdGVDaGFuZ2U6ICJYSFJSZWFkeVN0YXRlQ2hhbmdlIiwKKyAgICBYSFJM
b2FkOiAiWEhSTG9hZCIsCisgICAgRXZhbHVhdGVTY3JpcHQ6ICJFdmFsdWF0ZVNjcmlwdCIsCisK
KyAgICBUaW1lU3RhbXA6ICJUaW1lU3RhbXAiLAorCisgICAgTWFya0xvYWQ6ICJNYXJrTG9hZCIs
CisgICAgTWFya0RPTUNvbnRlbnQ6ICJNYXJrRE9NQ29udGVudCIsCisKKyAgICBTY2hlZHVsZVJl
c291cmNlUmVxdWVzdDogIlNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0IiwKKyAgICBSZXNvdXJjZVNl
bmRSZXF1ZXN0OiAiUmVzb3VyY2VTZW5kUmVxdWVzdCIsCisgICAgUmVzb3VyY2VSZWNlaXZlUmVz
cG9uc2U6ICJSZXNvdXJjZVJlY2VpdmVSZXNwb25zZSIsCisgICAgUmVzb3VyY2VSZWNlaXZlZERh
dGE6ICJSZXNvdXJjZVJlY2VpdmVkRGF0YSIsCisgICAgUmVzb3VyY2VGaW5pc2g6ICJSZXNvdXJj
ZUZpbmlzaCIsCisKKyAgICBGdW5jdGlvbkNhbGw6ICJGdW5jdGlvbkNhbGwiLAorICAgIEdDRXZl
bnQ6ICJHQ0V2ZW50IiwKKworICAgIFJlcXVlc3RBbmltYXRpb25GcmFtZTogIlJlcXVlc3RBbmlt
YXRpb25GcmFtZSIsCisgICAgQ2FuY2VsQW5pbWF0aW9uRnJhbWU6ICJDYW5jZWxBbmltYXRpb25G
cmFtZSIsCisgICAgRmlyZUFuaW1hdGlvbkZyYW1lOiAiRmlyZUFuaW1hdGlvbkZyYW1lIgorfQor
CitXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5FdmVudHMgPSB7CisgICAgUmVjb3JkQWRkZWQ6
ICJSZWNvcmRBZGRlZCIsCisgICAgUmVjb3Jkc0NsZWFyZWQ6ICJSZWNvcmRzQ2xlYXJlZCIKK30K
KworV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwucHJvdG90eXBlID0geworICAgIHN0YXJ0UmVj
b3JkOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBpZiAodGhpcy5fY29sbGVjdGlvbkVuYWJs
ZWQpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIHRoaXMuX3Jlc2V0KCk7CisgICAgICAg
IFdlYkluc3BlY3Rvci50aW1lbGluZU1hbmFnZXIuc3RhcnQoMzApOworICAgICAgICB0aGlzLl9j
b2xsZWN0aW9uRW5hYmxlZCA9IHRydWU7CisgICAgfSwKKworICAgIHN0b3BSZWNvcmQ6IGZ1bmN0
aW9uKCkKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5fY29sbGVjdGlvbkVuYWJsZWQpCisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIFdlYkluc3BlY3Rvci50aW1lbGluZU1hbmFnZXIuc3Rv
cCgpOworICAgICAgICB0aGlzLl9jb2xsZWN0aW9uRW5hYmxlZCA9IGZhbHNlOworICAgIH0sCisK
KyAgICBnZXQgcmVjb3JkcygpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fcmVjb3JkczsK
KyAgICB9LAorCisgICAgX29uUmVjb3JkQWRkZWQ6IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKKyAg
ICAgICAgaWYgKHRoaXMuX2NvbGxlY3Rpb25FbmFibGVkKQorICAgICAgICAgICAgdGhpcy5fYWRk
UmVjb3JkKGV2ZW50LmRhdGEpOworICAgIH0sCisKKyAgICBfYWRkUmVjb3JkOiBmdW5jdGlvbihy
ZWNvcmQpCisgICAgeworICAgICAgICB0aGlzLl9yZWNvcmRzLnB1c2gocmVjb3JkKTsKKyAgICAg
ICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9k
ZWwuRXZlbnRzLlJlY29yZEFkZGVkLCByZWNvcmQpOworICAgIH0sCisKKyAgICBfbG9hZE5leHRD
aHVuazogZnVuY3Rpb24oZGF0YSwgaW5kZXgpCisgICAgeworICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IDIwICYmIGluZGV4IDwgZGF0YS5sZW5ndGg7ICsraSwgKytpbmRleCkKKyAgICAgICAg
ICAgIHRoaXMuX2FkZFJlY29yZChkYXRhW2luZGV4XSk7CisKKyAgICAgICAgaWYgKGluZGV4ICE9
PSBkYXRhLmxlbmd0aCkKKyAgICAgICAgICAgIHNldFRpbWVvdXQodGhpcy5fbG9hZE5leHRDaHVu
ay5iaW5kKHRoaXMsIGRhdGEsIGluZGV4KSwgMCk7CisgICAgfSwKKworICAgIF9sb2FkRnJvbUZp
bGU6IGZ1bmN0aW9uKGZpbGUpCisgICAgeworICAgICAgICBmdW5jdGlvbiBvbkxvYWQoZSkKKyAg
ICAgICAgeworICAgICAgICAgICAgdmFyIGRhdGEgPSBKU09OLnBhcnNlKGUudGFyZ2V0LnJlc3Vs
dCk7CisgICAgICAgICAgICB0aGlzLl9yZXNldCgpOworICAgICAgICAgICAgdGhpcy5fbG9hZE5l
eHRDaHVuayhkYXRhLCAxKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIG9uRXJyb3Io
ZSkKKyAgICAgICAgeworICAgICAgICAgICAgc3dpdGNoKGUudGFyZ2V0LmVycm9yLmNvZGUpIHsK
KyAgICAgICAgICAgIGNhc2UgZS50YXJnZXQuZXJyb3IuTk9UX0ZPVU5EX0VSUjoKKyAgICAgICAg
ICAgICAgICBXZWJJbnNwZWN0b3IubG9nKFdlYkluc3BlY3Rvci5VSVN0cmluZygnVGltZWxpbmUu
bG9hZEZyb21GaWxlOiBGaWxlICIlcyIgbm90IGZvdW5kLicsIGZpbGUubmFtZSkpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIGUudGFyZ2V0LmVycm9yLk5PVF9SRUFEQUJM
RV9FUlI6CisgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmxvZyhXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoJ1RpbWVsaW5lLmxvYWRGcm9tRmlsZTogRmlsZSAiJXMiIGlzIG5vdCByZWFkYWJsZScs
IGZpbGUubmFtZSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIGUudGFy
Z2V0LmVycm9yLkFCT1JUX0VSUjoKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
IGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmxvZyhXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoJ1RpbWVsaW5lLmxvYWRGcm9tRmlsZTogQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUg
cmVhZGluZyB0aGUgZmlsZSAiJXMiJywgZmlsZS5uYW1lKSk7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0KKworICAgICAgICB2YXIgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTsKKyAgICAgICAg
cmVhZGVyLm9ubG9hZCA9IG9uTG9hZC5iaW5kKHRoaXMpOworICAgICAgICByZWFkZXIub25lcnJv
ciA9IG9uRXJyb3I7CisgICAgICAgIHJlYWRlci5yZWFkQXNUZXh0KGZpbGUpOworICAgIH0sCisK
KyAgICBfc2F2ZVRvRmlsZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdmFyIHJlY29yZHMg
PSBbJ1snICsgSlNPTi5zdHJpbmdpZnkobmV3IFN0cmluZyh3aW5kb3cubmF2aWdhdG9yLmFwcFZl
cnNpb24pKV07CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5fcmVjb3Jkcy5sZW5n
dGg7ICsraSkKKyAgICAgICAgICAgIHJlY29yZHMucHVzaChKU09OLnN0cmluZ2lmeSh0aGlzLl9y
ZWNvcmRzW2ldKSk7CisKKyAgICAgICAgcmVjb3Jkc1tyZWNvcmRzLmxlbmd0aCAtIDFdID0gcmVj
b3Jkc1tyZWNvcmRzLmxlbmd0aCAtIDFdICsgIl0iOworCisgICAgICAgIHZhciBub3cgPSBuZXcg
RGF0ZSgpOworICAgICAgICB2YXIgc3VnZ2VzdGVkRmlsZU5hbWUgPSAiVGltZWxpbmVSYXdEYXRh
LSIgKyBub3cudG9JU084NjAxQ29tcGFjdCgpICsgIi5qc29uIjsKKyAgICAgICAgSW5zcGVjdG9y
RnJvbnRlbmRIb3N0LnNhdmVBcyhzdWdnZXN0ZWRGaWxlTmFtZSwgcmVjb3Jkcy5qb2luKCIsXG4i
KSk7CisgICAgfSwKKworICAgIF9yZXNldDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhp
cy5zdG9wUmVjb3JkKCk7CisgICAgICAgIHRoaXMuX3JlY29yZHMgPSBbXTsKKyAgICAgICAgdGhp
cy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuRXZl
bnRzLlJlY29yZHNDbGVhcmVkKTsKKyAgICB9Cit9CisKK1dlYkluc3BlY3Rvci5UaW1lbGluZU1v
ZGVsLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQ
YW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5l
bC5qcwppbmRleCA5ZThhMTkwM2JkYjAyOTA2MmQ5MjQ3ODE0YTkzMmZiOGUyZmIxNDM2Li41ZTky
NDE0MzZiMzg0MjkzYjI2ZDU2MmQzYjE1YTlkMjU0NjkwM2EzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzCkBAIC0yMDgsNyAr
MjA4LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlID0gewogICAgIGdl
dCBfcmVjb3JkU3R5bGVzKCkKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5fcmVjb3JkU3R5bGVz
QXJyYXkpIHsKLSAgICAgICAgICAgIHZhciByZWNvcmRUeXBlcyA9IFdlYkluc3BlY3Rvci5UaW1l
bGluZUFnZW50LlJlY29yZFR5cGU7CisgICAgICAgICAgICB2YXIgcmVjb3JkVHlwZXMgPSBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlOwogICAgICAgICAgICAgdmFyIGNhdGVn
b3JpZXMgPSB0aGlzLl9wcmVzZW50YXRpb25Nb2RlbC5jYXRlZ29yaWVzOwogCiAgICAgICAgICAg
ICB2YXIgcmVjb3JkU3R5bGVzID0ge307CkBAIC0zODcsNyArMzg3LDcgQEAgV2ViSW5zcGVjdG9y
LlRpbWVsaW5lUGFuZWwucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdmFyIGV2ZW50RGl2
aWRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICBldmVudERpdmlk
ZXIuY2xhc3NOYW1lID0gInJlc291cmNlcy1ldmVudC1kaXZpZGVyIjsKLSAgICAgICAgdmFyIHJl
Y29yZFR5cGVzID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZTsKKyAgICAg
ICAgdmFyIHJlY29yZFR5cGVzID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlw
ZTsKIAogICAgICAgICB2YXIgZXZlbnREaXZpZGVyUGFkZGluZyA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwogICAgICAgICBldmVudERpdmlkZXJQYWRkaW5nLmNsYXNzTmFtZSA9ICJy
ZXNvdXJjZXMtZXZlbnQtZGl2aWRlci1wYWRkaW5nIjsKQEAgLTQ5NCw3ICs0OTQsNyBAQCBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmICghdGhpcy5f
Z2x1ZVBhcmVudEJ1dHRvbi50b2dnbGVkKQogICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAKLSAg
ICAgICAgdmFyIHJlY29yZFR5cGVzID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3Jk
VHlwZTsKKyAgICAgICAgdmFyIHJlY29yZFR5cGVzID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9k
ZWwuUmVjb3JkVHlwZTsKICAgICAgICAgdmFyIHBhcmVudFJlY29yZDsKICAgICAgICAgaWYgKHJl
Y29yZC50eXBlID09PSByZWNvcmRUeXBlcy5SZXNvdXJjZVJlY2VpdmVSZXNwb25zZSB8fAogICAg
ICAgICAgICAgcmVjb3JkLnR5cGUgPT09IHJlY29yZFR5cGVzLlJlc291cmNlRmluaXNoIHx8CkBA
IC01MTIsNyArNTEyLDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlID0g
ewogICAgIF9pbm5lckFkZFJlY29yZFRvVGltZWxpbmU6IGZ1bmN0aW9uKHJlY29yZCwgcGFyZW50
UmVjb3JkKQogICAgIHsKICAgICAgICAgdmFyIGNvbm5lY3RlZFRvT2xkUmVjb3JkID0gZmFsc2U7
Ci0gICAgICAgIHZhciByZWNvcmRUeXBlcyA9IFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJl
Y29yZFR5cGU7CisgICAgICAgIHZhciByZWNvcmRUeXBlcyA9IFdlYkluc3BlY3Rvci5UaW1lbGlu
ZU1vZGVsLlJlY29yZFR5cGU7CiAKICAgICAgICAgaWYgKHJlY29yZC50eXBlID09PSByZWNvcmRU
eXBlcy5NYXJrRE9NQ29udGVudCB8fCByZWNvcmQudHlwZSA9PT0gcmVjb3JkVHlwZXMuTWFya0xv
YWQpCiAgICAgICAgICAgICBwYXJlbnRSZWNvcmQgPSBudWxsOyAvLyBObyBiYXIgZW50cnkgZm9y
IGxvYWQgZXZlbnRzLgpAQCAtNzg0LDcgKzc4NCw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVBh
bmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5zY3JvbGxU
b3AgPSBpbmRleCAqIFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnJvd0hlaWdodDsKICAgICB9
LAogCi0gICAgX3JlZnJlc2hSZWNvcmRzOiBmdW5jdGlvbih1cGRhdGVCb3VuZGFyaWVzLCByZWNv
cmRUb1JldmVhbCkKKyAgICBfcmVmcmVzaFJlY29yZHM6IGZ1bmN0aW9uKHVwZGF0ZUJvdW5kYXJp
ZXMpCiAgICAgewogICAgICAgICB2YXIgcmVjb3Jkc0luV2luZG93ID0gdGhpcy5fZmlsdGVyUmVj
b3JkcygpOwogCkBAIC0xMjAzLDcgKzEyMDMsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5l
bC5mb3JBbGxSZWNvcmRzID0gZnVuY3Rpb24ocmVjb3Jkc0FycmF5LCBjYWxsYmFjaykKIFdlYklu
c3BlY3Rvci5UaW1lbGluZVBhbmVsLkZvcm1hdHRlZFJlY29yZCA9IGZ1bmN0aW9uKHJlY29yZCwg
cGFyZW50UmVjb3JkLCBwYW5lbCwgbGlua2lmaWVyLCBzY3JpcHREZXRhaWxzKQogewogICAgIHRo
aXMuX2xpbmtpZmllciA9IGxpbmtpZmllcjsKLSAgICB2YXIgcmVjb3JkVHlwZXMgPSBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlOworICAgIHZhciByZWNvcmRUeXBlcyA9IFdl
Ykluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGU7CiAgICAgdmFyIHN0eWxlID0gcGFu
ZWwuX3JlY29yZFN0eWxlc1tyZWNvcmQudHlwZV07CiAgICAgdGhpcy5wYXJlbnQgPSBwYXJlbnRS
ZWNvcmQ7CiAgICAgaWYgKHBhcmVudFJlY29yZCkKQEAgLTEzMTMsNyArMTMxMyw3IEBAIFdlYklu
c3BlY3Rvci5UaW1lbGluZVBhbmVsLkZvcm1hdHRlZFJlY29yZC5wcm90b3R5cGUgPSB7CiAgICAg
ICAgICAgICBjYWxjdWxhdG9yLmZvcm1hdFZhbHVlKHRoaXMuc3RhcnRUaW1lIC0gY2FsY3VsYXRv
ci5taW5pbXVtQm91bmRhcnkpKTsKICAgICAgICAgY29udGVudEhlbHBlci5fYXBwZW5kVGV4dFJv
dyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkR1cmF0aW9uIiksIHRleHQpOwogCi0gICAgICAgIGNv
bnN0IHJlY29yZFR5cGVzID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZTsK
KyAgICAgICAgY29uc3QgcmVjb3JkVHlwZXMgPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5S
ZWNvcmRUeXBlOwogCiAgICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7CiAgICAgICAgICAgICBj
YXNlIHJlY29yZFR5cGVzLkdDRXZlbnQ6CkBAIC0xMzg1LDM4ICsxMzg1LDM4IEBAIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVBhbmVsLkZvcm1hdHRlZFJlY29yZC5wcm90b3R5cGUgPSB7CiAgICAgX2dl
dFJlY29yZERldGFpbHM6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHN3aXRjaCAodGhpcy50
eXBlKSB7Ci0gICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29y
ZFR5cGUuR0NFdmVudDoKKyAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9k
ZWwuUmVjb3JkVHlwZS5HQ0V2ZW50OgogICAgICAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIiVzIGNvbGxlY3RlZCIsIE51bWJlci5ieXRlc1RvU3RyaW5nKHRoaXMuZGF0
YVsidXNlZEhlYXBTaXplRGVsdGEiXSkpOwotICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLlRpbWVyRmlyZToKKyAgICAgICAgICAgIGNhc2UgV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5UaW1lckZpcmU6CiAgICAgICAgICAg
ICAgICAgcmV0dXJuIHRoaXMuX2xpbmtpZnlTY3JpcHRMb2NhdGlvbih0aGlzLmRhdGFbInRpbWVy
SWQiXSk7Ci0gICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29y
ZFR5cGUuRnVuY3Rpb25DYWxsOgorICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxp
bmVNb2RlbC5SZWNvcmRUeXBlLkZ1bmN0aW9uQ2FsbDoKICAgICAgICAgICAgICAgICByZXR1cm4g
dGhpcy5fbGlua2lmeVNjcmlwdExvY2F0aW9uKCk7Ci0gICAgICAgICAgICBjYXNlIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuRmlyZUFuaW1hdGlvbkZyYW1lOgorICAgICAg
ICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLkZpcmVBbmlt
YXRpb25GcmFtZToKICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fbGlua2lmeVNjcmlwdExv
Y2F0aW9uKHRoaXMuZGF0YVsiaWQiXSk7Ci0gICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5U
aW1lbGluZUFnZW50LlJlY29yZFR5cGUuRXZlbnREaXNwYXRjaDoKKyAgICAgICAgICAgIGNhc2Ug
V2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5FdmVudERpc3BhdGNoOgogICAg
ICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGEgPyB0aGlzLmRhdGFbInR5cGUiXSA6IG51bGw7
Ci0gICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUu
UGFpbnQ6CisgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29y
ZFR5cGUuUGFpbnQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVsid2lkdGgiXSAr
ICJcdTIwMDlcdTAwZDdcdTIwMDkiICsgdGhpcy5kYXRhWyJoZWlnaHQiXTsKLSAgICAgICAgICAg
IGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5UaW1lckluc3RhbGw6
Ci0gICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUu
VGltZXJSZW1vdmU6CisgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVs
LlJlY29yZFR5cGUuVGltZXJJbnN0YWxsOgorICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlRpbWVyUmVtb3ZlOgogICAgICAgICAgICAgICAgIHJl
dHVybiB0aGlzLl9saW5raWZ5VG9wQ2FsbEZyYW1lKHRoaXMuZGF0YVsidGltZXJJZCJdKTsKLSAg
ICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5SZXF1
ZXN0QW5pbWF0aW9uRnJhbWU6Ci0gICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZUFnZW50LlJlY29yZFR5cGUuQ2FuY2VsQW5pbWF0aW9uRnJhbWU6CisgICAgICAgICAgICBjYXNl
IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuUmVxdWVzdEFuaW1hdGlvbkZy
YW1lOgorICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRU
eXBlLkNhbmNlbEFuaW1hdGlvbkZyYW1lOgogICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9s
aW5raWZ5VG9wQ2FsbEZyYW1lKHRoaXMuZGF0YVsiaWQiXSk7Ci0gICAgICAgICAgICBjYXNlIFdl
Ykluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuUGFyc2VIVE1MOgotICAgICAgICAg
ICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLlJlY2FsY3VsYXRl
U3R5bGVzOgorICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNv
cmRUeXBlLlBhcnNlSFRNTDoKKyAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5l
TW9kZWwuUmVjb3JkVHlwZS5SZWNhbGN1bGF0ZVN0eWxlczoKICAgICAgICAgICAgICAgICByZXR1
cm4gdGhpcy5fbGlua2lmeVRvcENhbGxGcmFtZSgpOwotICAgICAgICAgICAgY2FzZSBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLkV2YWx1YXRlU2NyaXB0OgorICAgICAgICAg
ICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLkV2YWx1YXRlU2Ny
aXB0OgogICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnVybCA/IHRoaXMuX2xpbmtpZnlMb2Nh
dGlvbih0aGlzLnVybCwgdGhpcy5kYXRhWyJsaW5lTnVtYmVyIl0sIDApIDogbnVsbDsKLSAgICAg
ICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5YSFJSZWFk
eVN0YXRlQ2hhbmdlOgotICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2Vu
dC5SZWNvcmRUeXBlLlhIUkxvYWQ6Ci0gICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1l
bGluZUFnZW50LlJlY29yZFR5cGUuU2NoZWR1bGVSZXNvdXJjZVJlcXVlc3Q6Ci0gICAgICAgICAg
ICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuUmVzb3VyY2VTZW5k
UmVxdWVzdDoKLSAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVj
b3JkVHlwZS5SZXNvdXJjZVJlY2VpdmVkRGF0YToKLSAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVj
dG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5SZXNvdXJjZVJlY2VpdmVSZXNwb25zZToKLSAg
ICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5SZXNv
dXJjZUZpbmlzaDoKKyAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwu
UmVjb3JkVHlwZS5YSFJSZWFkeVN0YXRlQ2hhbmdlOgorICAgICAgICAgICAgY2FzZSBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlhIUkxvYWQ6CisgICAgICAgICAgICBjYXNl
IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuU2NoZWR1bGVSZXNvdXJjZVJl
cXVlc3Q6CisgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29y
ZFR5cGUuUmVzb3VyY2VTZW5kUmVxdWVzdDoKKyAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9y
LlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5SZXNvdXJjZVJlY2VpdmVkRGF0YToKKyAgICAgICAg
ICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5SZXNvdXJjZVJl
Y2VpdmVSZXNwb25zZToKKyAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9k
ZWwuUmVjb3JkVHlwZS5SZXNvdXJjZUZpbmlzaDoKICAgICAgICAgICAgICAgICByZXR1cm4gV2Vi
SW5zcGVjdG9yLmRpc3BsYXlOYW1lRm9yVVJMKHRoaXMudXJsKTsKLSAgICAgICAgICAgIGNhc2Ug
V2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5UaW1lU3RhbXA6CisgICAgICAg
ICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuVGltZVN0YW1w
OgogICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGFbIm1lc3NhZ2UiXTsKICAgICAgICAg
ICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CkBAIC0xNTk4LDE5MSAr
MTU5OCw2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZUV4cGFuZGFibGVFbGVtZW50LnByb3RvdHlw
ZSA9IHsKIAogLyoqCiAgKiBAY29uc3RydWN0b3IKLSAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3Iu
T2JqZWN0fQotICovCi1XZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbCA9IGZ1bmN0aW9uKCkKLXsK
LSAgICB0aGlzLl9yZWNvcmRzID0gW107Ci0gICAgdGhpcy5fY29sbGVjdGlvbkVuYWJsZWQgPSBm
YWxzZTsKLQotICAgIFdlYkluc3BlY3Rvci50aW1lbGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5l
cihXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLkV2ZW50VHlwZXMuVGltZWxpbmVFdmVudFJl
Y29yZGVkLCB0aGlzLl9vblJlY29yZEFkZGVkLCB0aGlzKTsKLX0KLQotV2ViSW5zcGVjdG9yLlRp
bWVsaW5lTW9kZWwuRXZlbnRzID0gewotICAgIFJlY29yZEFkZGVkOiAiUmVjb3JkQWRkZWQiLAot
ICAgIFJlY29yZHNDbGVhcmVkOiAiUmVjb3Jkc0NsZWFyZWQiCi19Ci0KLVdlYkluc3BlY3Rvci5U
aW1lbGluZU1vZGVsLnByb3RvdHlwZSA9IHsKLSAgICBzdGFydFJlY29yZDogZnVuY3Rpb24oKQot
ICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX2NvbGxlY3Rpb25FbmFibGVkKQotICAgICAgICAgICAg
cmV0dXJuOwotICAgICAgICB0aGlzLl9yZXNldCgpOwotICAgICAgICBXZWJJbnNwZWN0b3IudGlt
ZWxpbmVNYW5hZ2VyLnN0YXJ0KDMwKTsKLSAgICAgICAgdGhpcy5fY29sbGVjdGlvbkVuYWJsZWQg
PSB0cnVlOwotICAgIH0sCi0KLSAgICBzdG9wUmVjb3JkOiBmdW5jdGlvbigpCi0gICAgewotICAg
ICAgICBpZiAoIXRoaXMuX2NvbGxlY3Rpb25FbmFibGVkKQotICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICBXZWJJbnNwZWN0b3IudGltZWxpbmVNYW5hZ2VyLnN0b3AoKTsKLSAgICAgICAgdGhp
cy5fY29sbGVjdGlvbkVuYWJsZWQgPSBmYWxzZTsKLSAgICB9LAotCi0gICAgZ2V0IHJlY29yZHMo
KQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3JlY29yZHM7Ci0gICAgfSwKLQotICAgIF9v
blJlY29yZEFkZGVkOiBmdW5jdGlvbihldmVudCkKLSAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9j
b2xsZWN0aW9uRW5hYmxlZCkKLSAgICAgICAgICAgIHRoaXMuX2FkZFJlY29yZChldmVudC5kYXRh
KTsKLSAgICB9LAotCi0gICAgX2FkZFJlY29yZDogZnVuY3Rpb24ocmVjb3JkKQotICAgIHsKLSAg
ICAgICAgdGhpcy5fcmVjb3Jkcy5wdXNoKHJlY29yZCk7Ci0gICAgICAgIHRoaXMuZGlzcGF0Y2hF
dmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLkV2ZW50cy5SZWNvcmRB
ZGRlZCwgcmVjb3JkKTsKLSAgICB9LAotCi0gICAgX2xvYWROZXh0Q2h1bms6IGZ1bmN0aW9uKGRh
dGEsIGluZGV4KQotICAgIHsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAyMCAmJiBpbmRl
eCA8IGRhdGEubGVuZ3RoOyArK2ksICsraW5kZXgpCi0gICAgICAgICAgICB0aGlzLl9hZGRSZWNv
cmQoZGF0YVtpbmRleF0pOwotCi0gICAgICAgIGlmIChpbmRleCAhPT0gZGF0YS5sZW5ndGgpCi0g
ICAgICAgICAgICBzZXRUaW1lb3V0KHRoaXMuX2xvYWROZXh0Q2h1bmsuYmluZCh0aGlzLCBkYXRh
LCBpbmRleCksIDApOwotICAgIH0sCi0KLSAgICBfbG9hZEZyb21GaWxlOiBmdW5jdGlvbihmaWxl
KQotICAgIHsKLSAgICAgICAgZnVuY3Rpb24gb25Mb2FkKGUpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIHZhciBkYXRhID0gSlNPTi5wYXJzZShlLnRhcmdldC5yZXN1bHQpOwotICAgICAgICAgICAg
dGhpcy5fcmVzZXQoKTsKLSAgICAgICAgICAgIHRoaXMuX2xvYWROZXh0Q2h1bmsoZGF0YSwgMSk7
Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBvbkVycm9yKGUpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIHN3aXRjaChlLnRhcmdldC5lcnJvci5jb2RlKSB7Ci0gICAgICAgICAgICBjYXNl
IGUudGFyZ2V0LmVycm9yLk5PVF9GT1VORF9FUlI6Ci0gICAgICAgICAgICAgICAgV2ViSW5zcGVj
dG9yLmxvZyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoJ1RpbWVsaW5lLmxvYWRGcm9tRmlsZTogRmls
ZSAiJXMiIG5vdCBmb3VuZC4nLCBmaWxlLm5hbWUpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICAgICAgY2FzZSBlLnRhcmdldC5lcnJvci5OT1RfUkVBREFCTEVfRVJSOgotICAgICAgICAg
ICAgICAgIFdlYkluc3BlY3Rvci5sb2coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCdUaW1lbGluZS5s
b2FkRnJvbUZpbGU6IEZpbGUgIiVzIiBpcyBub3QgcmVhZGFibGUnLCBmaWxlLm5hbWUpKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBlLnRhcmdldC5lcnJvci5BQk9SVF9F
UlI6Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBkZWZhdWx0OgotICAgICAg
ICAgICAgICAgIFdlYkluc3BlY3Rvci5sb2coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCdUaW1lbGlu
ZS5sb2FkRnJvbUZpbGU6IEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHJlYWRpbmcgdGhlIGZpbGUg
IiVzIicsIGZpbGUubmFtZSkpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAg
dmFyIHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7Ci0gICAgICAgIHJlYWRlci5vbmxvYWQgPSBv
bkxvYWQuYmluZCh0aGlzKTsKLSAgICAgICAgcmVhZGVyLm9uZXJyb3IgPSBvbkVycm9yOwotICAg
ICAgICByZWFkZXIucmVhZEFzVGV4dChmaWxlKTsKLSAgICB9LAotCi0gICAgX3NhdmVUb0ZpbGU6
IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHZhciByZWNvcmRzID0gWydbJyArIEpTT04uc3Ry
aW5naWZ5KG5ldyBTdHJpbmcod2luZG93Lm5hdmlnYXRvci5hcHBWZXJzaW9uKSldOwotICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX3JlY29yZHMubGVuZ3RoOyArK2kpCi0gICAgICAg
ICAgICByZWNvcmRzLnB1c2goSlNPTi5zdHJpbmdpZnkodGhpcy5fcmVjb3Jkc1tpXSkpOwotCi0g
ICAgICAgIHJlY29yZHNbcmVjb3Jkcy5sZW5ndGggLSAxXSA9IHJlY29yZHNbcmVjb3Jkcy5sZW5n
dGggLSAxXSArICJdIjsKLQotICAgICAgICB2YXIgbm93ID0gbmV3IERhdGUoKTsKLSAgICAgICAg
dmFyIHN1Z2dlc3RlZEZpbGVOYW1lID0gIlRpbWVsaW5lUmF3RGF0YS0iICsgbm93LnRvSVNPODYw
MUNvbXBhY3QoKSArICIuanNvbiI7Ci0gICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5zYXZl
QXMoc3VnZ2VzdGVkRmlsZU5hbWUsIHJlY29yZHMuam9pbigiLFxuIikpOwotICAgIH0sCi0KLSAg
ICBfcmVzZXQ6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuc3RvcFJlY29yZCgpOwot
ICAgICAgICB0aGlzLl9yZWNvcmRzID0gW107Ci0gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRv
TGlzdGVuZXJzKFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLkV2ZW50cy5SZWNvcmRzQ2xlYXJl
ZCk7Ci0gICAgfQotfQotCi1XZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5wcm90b3R5cGUuX19w
cm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7Ci0KLS8qKgotICogQGNvbnN0
cnVjdG9yCi0gKiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLk9iamVjdH0KLSAqLwotV2ViSW5zcGVj
dG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwgPSBmdW5jdGlvbigpCi17Ci0gICAgdGhpcy5f
Y2F0ZWdvcmllcyA9IHt9OwotICAgIHRoaXMucmVzZXQoKTsKLX0KLQotV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuRXZlbnRzID0gewotICAgIFdpbmRvd0NoYW5nZWQ6ICJX
aW5kb3dDaGFuZ2VkIiwKLSAgICBDYXRlZ29yeVZpc2liaWxpdHlDaGFuZ2VkOiAiQ2F0ZWdvcnlW
aXNpYmlsaXR5Q2hhbmdlZCIKLX0KLQotV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9u
TW9kZWwucHJvdG90eXBlID0gewotICAgIHJlc2V0OiBmdW5jdGlvbigpCi0gICAgewotICAgICAg
ICB0aGlzLndpbmRvd0xlZnQgPSAwLjA7Ci0gICAgICAgIHRoaXMud2luZG93UmlnaHQgPSAxLjA7
Ci0gICAgICAgIHRoaXMud2luZG93SW5kZXhMZWZ0ID0gMDsKLSAgICAgICAgdGhpcy53aW5kb3dJ
bmRleFJpZ2h0ID0gbnVsbDsKLSAgICB9LAotCi0gICAgZ2V0IGNhdGVnb3JpZXMoKQotICAgIHsK
LSAgICAgICAgcmV0dXJuIHRoaXMuX2NhdGVnb3JpZXM7Ci0gICAgfSwKLQotICAgIC8qKgotICAg
ICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlRpbWVsaW5lQ2F0ZWdvcnl9IGNhdGVnb3J5Ci0gICAg
ICovCi0gICAgYWRkQ2F0ZWdvcnk6IGZ1bmN0aW9uKGNhdGVnb3J5KQotICAgIHsKLSAgICAgICAg
dGhpcy5fY2F0ZWdvcmllc1tjYXRlZ29yeS5uYW1lXSA9IGNhdGVnb3J5OwotICAgIH0sCi0KLSAg
ICAvKioKLSAgICAgKiBAcGFyYW0ge251bWJlcn0gbGVmdAotICAgICAqIEBwYXJhbSB7bnVtYmVy
fSByaWdodAotICAgICAqLwotICAgIHNldFdpbmRvd1Bvc2l0aW9uOiBmdW5jdGlvbihsZWZ0LCBy
aWdodCkKLSAgICB7Ci0gICAgICAgIHRoaXMud2luZG93TGVmdCA9IGxlZnQ7Ci0gICAgICAgIHRo
aXMud2luZG93UmlnaHQgPSByaWdodDsKLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0
ZW5lcnMoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuRXZlbnRzLldpbmRv
d0NoYW5nZWQpOwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBAcGFyYW0ge251bWJlcn0gbGVm
dAotICAgICAqIEBwYXJhbSB7P251bWJlcn0gcmlnaHQKLSAgICAgKi8KLSAgICBzZXRXaW5kb3dJ
bmRpY2VzOiBmdW5jdGlvbihsZWZ0LCByaWdodCkKLSAgICB7Ci0gICAgICAgIHRoaXMud2luZG93
SW5kZXhMZWZ0ID0gbGVmdDsKLSAgICAgICAgdGhpcy53aW5kb3dJbmRleFJpZ2h0ID0gcmlnaHQ7
Ci0gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5UaW1l
bGluZVByZXNlbnRhdGlvbk1vZGVsLkV2ZW50cy5XaW5kb3dDaGFuZ2VkKTsKLSAgICB9LAotCi0g
ICAgLyoqCi0gICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVGltZWxpbmVDYXRlZ29yeX0gY2F0
ZWdvcnkKLSAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IHZpc2libGUKLSAgICAgKi8KLSAgICBzZXRD
YXRlZ29yeVZpc2liaWxpdHk6IGZ1bmN0aW9uKGNhdGVnb3J5LCB2aXNpYmxlKQotICAgIHsKLSAg
ICAgICAgY2F0ZWdvcnkuaGlkZGVuID0gIXZpc2libGU7Ci0gICAgICAgIHRoaXMuZGlzcGF0Y2hF
dmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLkV2
ZW50cy5DYXRlZ29yeVZpc2liaWxpdHlDaGFuZ2VkLCBjYXRlZ29yeSk7Ci0gICAgfQotfQotCi0v
KioKLSAqIEBjb25zdHJ1Y3RvcgogICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVGltZWxpbmVDYWxj
dWxhdG9yfSBjYWxjdWxhdG9yCiAgKiBAcGFyYW0ge2Jvb2xlYW59IHNob3dTaG9ydEV2ZW50cwog
ICovCkBAIC0xODM4LDUgKzE2NTMsMyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVTdGFydEF0WmVy
b1JlY29yZEZpbHRlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAodHlwZW9mIHRoaXMuX3dp
bmRvd0luZGV4UmlnaHQgIT09ICJudW1iZXIiIHx8IHRoaXMuX3RvcExldmVsUmVjb3JkSW5kZXgg
PD0gdGhpcy5fd2luZG93SW5kZXhSaWdodCk7CiAgICAgfQogfQotCi1XZWJJbnNwZWN0b3IuVGlt
ZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9y
Lk9iamVjdC5wcm90b3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1RpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTEyMmU2YjczNGUxMGE4ZTViOTM0ZjgwZDkwMmYxMTkwZDZmZjg3ZQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQcmVzZW50
YXRpb25Nb2RlbC5qcwpAQCAtMCwwICsxLDEwMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8qKgorICogQGNvbnN0cnVjdG9yCisgKiBA
ZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLk9iamVjdH0KKyAqLworV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UHJlc2VudGF0aW9uTW9kZWwgPSBmdW5jdGlvbigpCit7CisgICAgdGhpcy5fY2F0ZWdvcmllcyA9
IHt9OworICAgIHRoaXMucmVzZXQoKTsKK30KKworV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2Vu
dGF0aW9uTW9kZWwuRXZlbnRzID0geworICAgIFdpbmRvd0NoYW5nZWQ6ICJXaW5kb3dDaGFuZ2Vk
IiwKKyAgICBDYXRlZ29yeVZpc2liaWxpdHlDaGFuZ2VkOiAiQ2F0ZWdvcnlWaXNpYmlsaXR5Q2hh
bmdlZCIKK30KKworV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90
eXBlID0geworICAgIHJlc2V0OiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB0aGlzLndpbmRv
d0xlZnQgPSAwLjA7CisgICAgICAgIHRoaXMud2luZG93UmlnaHQgPSAxLjA7CisgICAgICAgIHRo
aXMud2luZG93SW5kZXhMZWZ0ID0gMDsKKyAgICAgICAgdGhpcy53aW5kb3dJbmRleFJpZ2h0ID0g
bnVsbDsKKyAgICB9LAorCisgICAgZ2V0IGNhdGVnb3JpZXMoKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIHRoaXMuX2NhdGVnb3JpZXM7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7
V2ViSW5zcGVjdG9yLlRpbWVsaW5lQ2F0ZWdvcnl9IGNhdGVnb3J5CisgICAgICovCisgICAgYWRk
Q2F0ZWdvcnk6IGZ1bmN0aW9uKGNhdGVnb3J5KQorICAgIHsKKyAgICAgICAgdGhpcy5fY2F0ZWdv
cmllc1tjYXRlZ29yeS5uYW1lXSA9IGNhdGVnb3J5OworICAgIH0sCisKKyAgICAvKioKKyAgICAg
KiBAcGFyYW0ge251bWJlcn0gbGVmdAorICAgICAqIEBwYXJhbSB7bnVtYmVyfSByaWdodAorICAg
ICAqLworICAgIHNldFdpbmRvd1Bvc2l0aW9uOiBmdW5jdGlvbihsZWZ0LCByaWdodCkKKyAgICB7
CisgICAgICAgIHRoaXMud2luZG93TGVmdCA9IGxlZnQ7CisgICAgICAgIHRoaXMud2luZG93Umln
aHQgPSByaWdodDsKKyAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5z
cGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuRXZlbnRzLldpbmRvd0NoYW5nZWQpOwor
ICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge251bWJlcn0gbGVmdAorICAgICAqIEBw
YXJhbSB7P251bWJlcn0gcmlnaHQKKyAgICAgKi8KKyAgICBzZXRXaW5kb3dJbmRpY2VzOiBmdW5j
dGlvbihsZWZ0LCByaWdodCkKKyAgICB7CisgICAgICAgIHRoaXMud2luZG93SW5kZXhMZWZ0ID0g
bGVmdDsKKyAgICAgICAgdGhpcy53aW5kb3dJbmRleFJpZ2h0ID0gcmlnaHQ7CisgICAgICAgIHRo
aXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRh
dGlvbk1vZGVsLkV2ZW50cy5XaW5kb3dDaGFuZ2VkKTsKKyAgICB9LAorCisgICAgLyoqCisgICAg
ICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVGltZWxpbmVDYXRlZ29yeX0gY2F0ZWdvcnkKKyAgICAg
KiBAcGFyYW0ge2Jvb2xlYW59IHZpc2libGUKKyAgICAgKi8KKyAgICBzZXRDYXRlZ29yeVZpc2li
aWxpdHk6IGZ1bmN0aW9uKGNhdGVnb3J5LCB2aXNpYmxlKQorICAgIHsKKyAgICAgICAgY2F0ZWdv
cnkuaGlkZGVuID0gIXZpc2libGU7CisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVu
ZXJzKFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLkV2ZW50cy5DYXRlZ29y
eVZpc2liaWxpdHlDaGFuZ2VkLCBjYXRlZ29yeSk7CisgICAgfQorfQorCitXZWJJbnNwZWN0b3Iu
VGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVj
dG9yLk9iamVjdC5wcm90b3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1dlYktpdC5xcmMKaW5kZXggZDEwMzFlMjg4Mzk1YTdiZGVlNDM1ZjljZGRlYWY4NzliMDA2
ZTMzNC4uOGRiMzkxZDkwMzA5MTk2NWVmN2QzNzk2MDFjYjY2ZDExOTBiYWQ5YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYwpAQCAtMTQ3LDggKzE0
Nyw5IEBACiAgICAgPGZpbGU+VGV4dEVkaXRvck1vZGVsLmpzPC9maWxlPgogICAgIDxmaWxlPlRl
eHRQcm9tcHQuanM8L2ZpbGU+CiAgICAgPGZpbGU+VGV4dFZpZXdlci5qczwvZmlsZT4KLSAgICA8
ZmlsZT5UaW1lbGluZUFnZW50LmpzPC9maWxlPgogICAgIDxmaWxlPlRpbWVsaW5lTWFuYWdlci5q
czwvZmlsZT4KKyAgICA8ZmlsZT5UaW1lbGluZU1vZGVsLmpzPC9maWxlPgorICAgIDxmaWxlPlRp
bWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuanM8L2ZpbGU+CiAgICAgPGZpbGU+VGltZWxpbmVHcmlk
LmpzPC9maWxlPgogICAgIDxmaWxlPlRpbWVsaW5lT3ZlcnZpZXdQYW5lLmpzPC9maWxlPgogICAg
IDxmaWxlPlRpbWVsaW5lUGFuZWwuanM8L2ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAppbmRleCBlZTU2Yzg2YjIzMDk5ZDJkNzlm
ZDNlNjY5ZDQyMmEwNjUxYWI5NjYyLi40MTI0ZjA3NjE5MDc1NmZjYTI3MjRhYTI2MjFjM2IzNTQ0
NTcyZTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5odG1sCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5z
cGVjdG9yLmh0bWwKQEAgLTcyLDYgKzcyLDcgQEAgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAgICA8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSJSZXNvdXJjZVV0aWxzLmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJSZXNvdXJjZUNhdGVnb3J5LmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJUaW1lbGlu
ZU1hbmFnZXIuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9IlRpbWVsaW5lTW9kZWwuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9IkRhdGFiYXNlLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJET01TdG9yYWdlLmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJET01TdG9yYWdlSXRlbXNWaWV3Lmpz
Ij48L3NjcmlwdD4KQEAgLTE3NSw3ICsxNzYsNyBAQCBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICAgIDxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkNvbXBpbGVyU291cmNlTWFwcGluZy5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iU2NyaXB0c1NlYXJj
aFNjb3BlLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSJET01BZ2VudC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iVGltZWxpbmVBZ2VudC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iVGltZWxpbmVQ
YW5lbC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iVGltZWxpbmVPdmVydmlld1BhbmUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9IlRlc3RDb250cm9sbGVyLmpzIj48L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBlOWQ2ZDdiN2YxYzk4OGRkNTIyOTVhNmQwMDVmMmFmYjg4OGQzMDUzLi4wOThlMzJjM2NiMTZh
ZGZkNTBkNDI5MjJjOGZiZjA2MDEzYzM4MzJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjMgQEAKIDIwMTIt
MDItMjcgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgogCisgICAgICAgIFdl
YiBJbnNwZWN0b3I6IGV4dHJhY3QgVGltZWxpbmVNb2RlbCBhbmQgVGltZWxpbmVQcmVzZW50YXRp
b25Nb2RlbCBpbnRvIHRoZWlyIG93biBmaWxlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTc5Njc1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZW51bS1z
dGFiaWxpdHkuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0
d29yay1yZXNvdXJjZS5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGlu
ZS1wYWludC5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1zY3Jp
cHQtdGFnLTEuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtdGVz
dC5qczoKKyAgICAgICAgKGluaXRpYWxpemVfVGltZWxpbmUuSW5zcGVjdG9yVGVzdC53YWl0Rm9y
UmVjb3JkVHlwZS5hZGRSZWNvcmQpOgorICAgICAgICAoaW5pdGlhbGl6ZV9UaW1lbGluZS5JbnNw
ZWN0b3JUZXN0LndhaXRGb3JSZWNvcmRUeXBlKToKKyAgICAgICAgKGluaXRpYWxpemVfVGltZWxp
bmUuSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3Jkcyk6CisgICAgICAgIChpbml0aWFs
aXplX1RpbWVsaW5lLkluc3BlY3RvclRlc3QuZHVtcFRpbWVsaW5lUmVjb3JkKToKKyAgICAgICAg
KGluaXRpYWxpemVfVGltZWxpbmUuSW5zcGVjdG9yVGVzdC5fdGltZWxpbmVBZ2VudFR5cGVUb1N0
cmluZyk6CisKKzIwMTItMDItMjcgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29t
PgorCiAgICAgICAgIFtTaGFkb3ddOiBFeHBvc2Ugb25lIFNoYWRvd1Jvb3QgaW4gdGhlIEVsZW1l
bnRzIHBhbmVsCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03ODIwMgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGlt
ZWxpbmUtZW51bS1zdGFiaWxpdHkuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGlu
ZS90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS5odG1sCmluZGV4IDE4OGI0NjM2NzNkOTE5NGExMmEw
MTk0YTQ5N2RiZWM1ZDM4Y2Y1Y2YuLmViMGIyMjk0MjRkOTE4YjI2ZWZiOGI1Mjg0MDEzY2E4NDZm
OTNlOGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGlu
ZS1lbnVtLXN0YWJpbGl0eS5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGlu
ZS90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS5odG1sCkBAIC01LDcgKzUsNyBAQAogCiBmdW5jdGlv
biB0ZXN0KCkKIHsKLSAgICBJbnNwZWN0b3JUZXN0LmFkZE9iamVjdChXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVBZ2VudC5SZWNvcmRUeXBlKTsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZE9iamVjdChXZWJJ
bnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlKTsKICAgICBJbnNwZWN0b3JUZXN0LmNv
bXBsZXRlVGVzdCgpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2UuaHRtbAppbmRleCA4ZGM5ODE1
YTcyNzQ2NTA1YjY4YzY5ZDliYmU2NWViOGY3OGU4OTBkLi40MjBmYTBiNzhhY2NlODA4ZGU5Njli
OTcwNDAyZmMzYWM5M2Q2NWUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291cmNlLmh0bWwKQEAgLTM1LDEx
ICszNSwxMSBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICB7CiAgICAgICAgIGZ1bmN0aW9uIGZvcm1h
dChyZWNvcmQpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmIChyZWNvcmQudHlwZSA9PT0gV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5SZXNvdXJjZVNlbmRSZXF1ZXN0KQor
ICAgICAgICAgICAgaWYgKHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2Rl
bC5SZWNvcmRUeXBlLlJlc291cmNlU2VuZFJlcXVlc3QpCiAgICAgICAgICAgICAgICAgcHJpbnRT
ZW5kKHJlY29yZCk7Ci0gICAgICAgICAgICBlbHNlIGlmIChyZWNvcmQudHlwZSA9PT0gV2ViSW5z
cGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5SZXNvdXJjZVJlY2VpdmVSZXNwb25zZSkK
KyAgICAgICAgICAgIGVsc2UgaWYgKHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxp
bmVNb2RlbC5SZWNvcmRUeXBlLlJlc291cmNlUmVjZWl2ZVJlc3BvbnNlKQogICAgICAgICAgICAg
ICAgIHByaW50UmVjZWl2ZShyZWNvcmQpOwotICAgICAgICAgICAgZWxzZSBpZiAocmVjb3JkLnR5
cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuUmVzb3VyY2VGaW5p
c2gpCisgICAgICAgICAgICBlbHNlIGlmIChyZWNvcmQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRp
bWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5SZXNvdXJjZUZpbmlzaCkKICAgICAgICAgICAgICAgICBw
cmludEZpbmlzaChyZWNvcmQpOwogICAgICAgICB9CiAgICAgICAgIEluc3BlY3RvclRlc3QucHJp
bnRUaW1lbGluZVJlY29yZHMobnVsbCwgZm9ybWF0KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1wYWludC5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXBhaW50Lmh0bWwKaW5kZXggODIwMThjZjcxZjllZWMz
OTBlZDk4ODUxODMzMzMzYjk0Yzg1M2MxNS4uMmVmMjEzMmM2NTYyYTkyZWQ4NjE5YzZiYzc4YWIw
NzAyZTIzMzFjZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3Rp
bWVsaW5lLXBhaW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3Rp
bWVsaW5lLXBhaW50Lmh0bWwKQEAgLTI3LDcgKzI3LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAg
ewogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY29yZHMubGVuZ3RoOyArK2kpIHsKICAg
ICAgICAgICAgIHZhciByZWNvcmQgPSByZWNvcmRzW2ldOwotICAgICAgICAgICAgaWYgKHJlY29y
ZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLlBhaW50KSB7
CisgICAgICAgICAgICBpZiAocmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1v
ZGVsLlJlY29yZFR5cGUuUGFpbnQpIHsKICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnBy
aW50VGltZWxpbmVSZWNvcmRQcm9wZXJ0aWVzKHJlY29yZCk7CiAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWwKaW5kZXggOGQ3OTBmNjgyODY2Yjhl
YWE3Y2Q2NjJlNTM0ZDg4OGMyNmM4ZjY4MC4uZWZjZDAwNGU2Y2ExNDI2ODEyNzhlYzJlYjY1OGI3
MzMxYjMwZjc0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3Rp
bWVsaW5lLXNjcmlwdC10YWctMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1l
bGluZS90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRtbApAQCAtMjksMTIgKzI5LDEyIEBAIGZ1bmN0
aW9uIHRlc3QoKQogICAgIHsKICAgICAgICAgZnVuY3Rpb24gZm9ybWF0KHJlY29yZCkKICAgICAg
ICAgewotICAgICAgICAgICAgaWYgKHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxp
bmVBZ2VudC5SZWNvcmRUeXBlLkV2YWx1YXRlU2NyaXB0KQorICAgICAgICAgICAgaWYgKHJlY29y
ZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLkV2YWx1YXRl
U2NyaXB0KQogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29y
ZFByb3BlcnRpZXMocmVjb3JkKTsKLSAgICAgICAgICAgIGVsc2UgaWYgKHJlY29yZC50eXBlID09
PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLlBhcnNlSFRNTCkgeworICAg
ICAgICAgICAgZWxzZSBpZiAocmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1v
ZGVsLlJlY29yZFR5cGUuUGFyc2VIVE1MKSB7CiAgICAgICAgICAgICAgICAgdmFyIGNoaWxkcmVu
ID0gW107CiAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZWNvcmQuY2hpbGRy
ZW4ubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHJlY29yZC5jaGlsZHJl
bltpXS50eXBlICE9PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLlJlY2Fs
Y3VsYXRlU3R5bGVzKQorICAgICAgICAgICAgICAgICAgICBpZiAocmVjb3JkLmNoaWxkcmVuW2ld
LnR5cGUgIT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuUmVjYWxjdWxh
dGVTdHlsZXMpCiAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbi5wdXNoKHJlY29yZC5j
aGlsZHJlbltpXSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIHJlY29yZC5j
aGlsZHJlbiA9IGNoaWxkcmVuOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Rp
bWVsaW5lL3RpbWVsaW5lLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUv
dGltZWxpbmUtdGVzdC5qcwppbmRleCA1NmQ5MjNiZTQ4ZDAyOGYyYzQ1NmUzMTE0ZjBmMWFjNzQ4
YTM0NzBlLi41M2FjZjM0MDRhYWJmNjAzNGMyYzVkMGYyMGRkMDViMDJjZjM5MjhiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtdGVzdC5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtdGVzdC5qcwpAQCAtNDEs
NyArNDEsNyBAQCBJbnNwZWN0b3JUZXN0LndhaXRGb3JSZWNvcmRUeXBlID0gZnVuY3Rpb24ocmVj
b3JkVHlwZSwgY2FsbGJhY2spCiAKICAgICBmdW5jdGlvbiBhZGRSZWNvcmQocmVjb3JkKQogICAg
IHsKLSAgICAgICAgaWYgKHJlY29yZC50eXBlICE9PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2Vu
dC5SZWNvcmRUeXBlW3JlY29yZFR5cGVdKSB7CisgICAgICAgIGlmIChyZWNvcmQudHlwZSAhPT0g
V2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZVtyZWNvcmRUeXBlXSkgewogICAg
ICAgICAgICAgZm9yICh2YXIgaSA9IDA7IHJlY29yZC5jaGlsZHJlbiAmJiBpIDwgcmVjb3JkLmNo
aWxkcmVuLmxlbmd0aDsgKytpKQogICAgICAgICAgICAgICAgIGFkZFJlY29yZChyZWNvcmQuY2hp
bGRyZW5baV0pOwogICAgICAgICAgICAgcmV0dXJuIDsKQEAgLTg0LDcgKzg0LDcgQEAgSW5zcGVj
dG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3JkcyA9IGZ1bmN0aW9uKHR5cGVOYW1lLCBmb3JtYXR0
ZXIpCiB7CiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBJbnNwZWN0b3JUZXN0Ll90aW1lbGluZVJl
Y29yZHMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgdmFyIHJlY29yZCA9IEluc3BlY3RvclRlc3Qu
X3RpbWVsaW5lUmVjb3Jkc1tpXTsKLSAgICAgICAgaWYgKHR5cGVOYW1lICYmIHJlY29yZC50eXBl
ID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlW3R5cGVOYW1lXSkKKyAg
ICAgICAgaWYgKHR5cGVOYW1lICYmIHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxp
bmVNb2RlbC5SZWNvcmRUeXBlW3R5cGVOYW1lXSkKICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
cHJpbnRUaW1lbGluZVJlY29yZFByb3BlcnRpZXMocmVjb3JkKTsKICAgICAgICAgaWYgKGZvcm1h
dHRlcikKICAgICAgICAgICAgIGZvcm1hdHRlcihyZWNvcmQpOwpAQCAtMTAyLDcgKzEwMiw3IEBA
IEluc3BlY3RvclRlc3QuZHVtcFRpbWVsaW5lUmVjb3JkID0gZnVuY3Rpb24ocmVjb3JkLCBsZXZl
bCkKICAgICAgICAgcHJlZml4ID0gIi0tLS0iICsgcHJlZml4OwogICAgIGlmIChsZXZlbCA+IDAp
CiAgICAgICAgIHByZWZpeCA9IHByZWZpeCArICI+ICI7Ci0gICAgaWYgKHJlY29yZC50eXBlID09
PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLlRpbWVTdGFtcCkgeworICAg
IGlmIChyZWNvcmQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlw
ZS5UaW1lU3RhbXApIHsKICAgICAgICAgc3VmZml4ID0gIiA6ICIgKyByZWNvcmQuZGF0YS5tZXNz
YWdlOwogICAgIH0KICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChwcmVmaXggKyBJbnNwZWN0
b3JUZXN0Ll90aW1lbGluZUFnZW50VHlwZVRvU3RyaW5nKHJlY29yZC50eXBlKSArIHN1ZmZpeCk7
CkBAIC0xMjcsOCArMTI3LDggQEAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3JkUHJv
cGVydGllcyA9IGZ1bmN0aW9uKHJlY29yZCkKIAogSW5zcGVjdG9yVGVzdC5fdGltZWxpbmVBZ2Vu
dFR5cGVUb1N0cmluZyA9IGZ1bmN0aW9uKG51bWVyaWNUeXBlKQogewotICAgIGZvciAodmFyIHBy
b3AgaW4gV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZSkgewotICAgICAgICBp
ZiAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZVtwcm9wXSA9PT0gbnVtZXJp
Y1R5cGUpCisgICAgZm9yICh2YXIgcHJvcCBpbiBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5S
ZWNvcmRUeXBlKSB7CisgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNv
cmRUeXBlW3Byb3BdID09PSBudW1lcmljVHlwZSkKICAgICAgICAgICAgIHJldHVybiBwcm9wOwog
ICAgIH0KICAgICByZXR1cm4gdW5kZWZpbmVkOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129045</attachid>
            <date>2012-02-27 08:51:48 -0800</date>
            <delta_ts>2012-02-27 08:56:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79675-20120227205146.patch</filename>
            <type>text/plain</type>
            <size>45077</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4OTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjNiZjQ2M2Y5ZDE0ZmU1
YzI3ZmQ3NzAzNTIzZTY2ODQxZDhjN2I1ZS4uZDgxMDVlN2JkMGY3NzdjYzFlNWE3MDZlMWZlMDJl
MjY5NmY5MGEzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ4IEBACiAyMDEyLTAyLTI3ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KIAorICAgICAgICBXZWIgSW5zcGVjdG9y
OiBleHRyYWN0IFRpbWVsaW5lTW9kZWwgYW5kIFRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwgaW50
byB0aGVpciBvd24gZmlsZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03OTY3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qOgorICAgICAgICAqIGluc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5zaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lQWdlbnQuanM6IFJlbW92ZWQuCisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1vZGVsLmpzOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5UaW1lbGluZU1vZGVsLnByb3RvdHlwZS5zdGFydFJlY29yZCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuVGltZWxpbmVNb2RlbC5wcm90b3R5cGUuc3RvcFJlY29yZCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVGltZWxpbmVNb2RlbC5wcm90b3R5cGUuZ2V0IHJlY29yZHMpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwucHJvdG90eXBlLl9vblJlY29yZEFkZGVkKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLnByb3RvdHlwZS5fYWRkUmVjb3JkKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLnByb3RvdHlwZS5fbG9hZE5leHRD
aHVuayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5wcm90b3R5cGUuX2xv
YWRGcm9tRmlsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5wcm90b3R5
cGUuX2xvYWRGcm9tRmlsZS5vbkVycm9yKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGlu
ZU1vZGVsLnByb3RvdHlwZS5fc2F2ZVRvRmlsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVNb2RlbC5wcm90b3R5cGUuX3Jlc2V0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1RpbWVsaW5lUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5l
bC5wcm90b3R5cGUuZ2V0IF9yZWNvcmRTdHlsZXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUGFuZWwucHJvdG90eXBlLl9jcmVhdGVFdmVudERpdmlkZXIpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlLl9maW5kUGFyZW50UmVjb3JkKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZS5faW5uZXJBZGRSZWNv
cmRUb1RpbWVsaW5lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnByb3Rv
dHlwZS5fcmVmcmVzaFJlY29yZHMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFu
ZWwuRm9ybWF0dGVkUmVjb3JkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVs
LkZvcm1hdHRlZFJlY29yZC5wcm90b3R5cGUuX2dlbmVyYXRlUG9wdXBDb250ZW50KToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLkZvcm1hdHRlZFJlY29yZC5wcm90b3R5cGUu
X2dldFJlY29yZERldGFpbHMpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxp
bmVQcmVzZW50YXRpb25Nb2RlbC5qczogQWRkZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVQcmVzZW50YXRpb25Nb2RlbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQ
cmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUucmVzZXQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLmdldCBjYXRlZ29yaWVzKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZS5h
ZGRDYXRlZ29yeSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25N
b2RlbC5wcm90b3R5cGUuc2V0V2luZG93UG9zaXRpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLnNldFdpbmRvd0luZGljZXMpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBl
LnNldENhdGVnb3J5VmlzaWJpbGl0eSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9X
ZWJLaXQucXJjOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWw6
CisKKzIwMTItMDItMjcgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgorCiAg
ICAgICAgIFtTaGFkb3ddOiBFeHBvc2Ugb25lIFNoYWRvd1Jvb3QgaW4gdGhlIEVsZW1lbnRzIHBh
bmVsICh1bmRlciBleHBlcmltZW50IGZsYWcpCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03ODIwMgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggZWIyZjU5Y2Nk
NGYxYTVhMDM2OTg5OTY2MjBhMmUyYWI1NWM3MmE2NS4uNDg2YWM0NjQxMmFjODQ2NzgwODM4MDk1
ZWFhNzQzODIwMmU5ZjhkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNjI1NSw4ICs2MjU1LDkgQEAK
ICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRFZGl0b3JNb2RlbC5qcycsCiAg
ICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0UHJvbXB0LmpzJywKICAgICAgICAg
ICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRWaWV3ZXIuanMnLAotICAgICAgICAgICAgJ2lu
c3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVBZ2VudC5qcycsCiAgICAgICAgICAgICAnaW5zcGVj
dG9yL2Zyb250LWVuZC9UaW1lbGluZU1hbmFnZXIuanMnLAorICAgICAgICAgICAgJ2luc3BlY3Rv
ci9mcm9udC1lbmQvVGltZWxpbmVNb2RlbC5qcycsCisgICAgICAgICAgICAnaW5zcGVjdG9yL2Zy
b250LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzJywKICAgICAgICAgICAgICdpbnNw
ZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lT3ZlcnZpZXdQYW5lLmpzJywKICAgICAgICAgICAgICdp
bnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lR3JpZC5qcycsCiAgICAgICAgICAgICAnaW5zcGVj
dG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggOGVmZjlkNGMwODdiZjkzNGE4ZjUzYzhjYjNi
YmM4YTVkYTg5MDFlNC4uMGE3MThhMWRmNDQwNzY4ZWM4NTQ0YjYxZWJjOGExM2YwNDYwNjU2ZSAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTcz
NTg1LDE1ICs3MzU4NSwxNSBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCi0JCQkJ
CVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxUaW1lbGluZUFnZW50LmpzIgor
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcVGltZWxpbmVHcmlkLmpz
IgogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5c
aW5zcGVjdG9yXGZyb250LWVuZFxUaW1lbGluZUdyaWQuanMiCisJCQkJCVJlbGF0aXZlUGF0aD0i
Li5caW5zcGVjdG9yXGZyb250LWVuZFxUaW1lbGluZU1hbmFnZXIuanMiCiAJCQkJCT4KIAkJCQk8
L0ZpbGU+CiAJCQkJPEZpbGUKLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQt
ZW5kXFRpbWVsaW5lTWFuYWdlci5qcyIKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3Jc
ZnJvbnQtZW5kXFRpbWVsaW5lTW9kZWwuanMiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZp
bGUKQEAgLTczNjAxLDYgKzczNjAxLDEwIEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZp
bGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXFRpbWVsaW5lUHJl
c2VudGF0aW9uTW9kZWwuanMiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXHRpbWVsaW5lUGFuZWwuY3NzIgog
CQkJCQk+CiAJCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2NvbXBpbGUtZnJvbnQtZW5kLnNoIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUt
ZnJvbnQtZW5kLnNoCmluZGV4IDE3ZWQxMDM5ZDY2OWRiZmRjNmE1ZGU0MmM2ZmMxYTM0NDlkN2Jl
NDAuLjIyMmRlZmU5OTZiMzlmYTEzZTNkZmJiY2YxNmRkZWNhNmUzNWE3NWYgMTAwNzU1Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5zaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQuc2gKQEAgLTQ1LDcgKzQ1LDcg
QEAgamF2YSAtamFyIH4vY2xvc3VyZS9jb21waWxlci5qYXIgLS1zdW1tYXJ5X2RldGFpbF9sZXZl
bCAzIC0tY29tcGlsYXRpb25fbGV2ZWwgU0kKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1VzZXJNZXRyaWNzLmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hhbmRsZXJSZWdpc3RyeS5qcyBcCiAgICAgICAg
IC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVu
ZEhvc3RTdHViLmpzIFwKLSAgICAtLW1vZHVsZSBqc21vZHVsZV9zZGs6MzA6anNtb2R1bGVfY29t
bW9uIFwKKyAgICAtLW1vZHVsZSBqc21vZHVsZV9zZGs6MzM6anNtb2R1bGVfY29tbW9uIFwKICAg
ICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckJh
Y2tlbmQuanMgXAogICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvQXBwbGljYXRpb25DYWNoZU1vZGVsLmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbG9yLmpzIFwKQEAgLTY4LDYgKzY4LDkgQEAgamF2YSAt
amFyIH4vY2xvc3VyZS9jb21waWxlci5qYXIgLS1zdW1tYXJ5X2RldGFpbF9sZXZlbCAzIC0tY29t
cGlsYXRpb25fbGV2ZWwgU0kKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1BsYWNhcmQuanMgXAogICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU2NyaXB0LmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdEZvcm1hdHRlci5qcyBcCisgICAgICAgIC0tanMgU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1hbmFnZXIuanMgXAorICAg
ICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVNb2Rl
bC5qcyBcCisgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9U
aW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jhd1NvdXJjZUNvZGUuanMgXAogICAgICAgICAtLWpzIFNv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVtb3RlT2JqZWN0LmpzIFwKICAgICAg
ICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlLmpzIFwK
QEAgLTExMyw3ICsxMTYsNyBAQCBqYXZhIC1qYXIgfi9jbG9zdXJlL2NvbXBpbGVyLmphciAtLXN1
bW1hcnlfZGV0YWlsX2xldmVsIDMgLS1jb21waWxhdGlvbl9sZXZlbCBTSQogICAgICAgICAtLWpz
IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVG9vbGJhci5qcyBcCiAgICAgICAg
IC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVV0aWxzLmpzIFwKICAg
ICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1ZpZXcuanMgXAot
ICAgIC0tbW9kdWxlIGpzbW9kdWxlX2NvbXBvbmVudHM6MTY6anNtb2R1bGVfc2RrLGpzbW9kdWxl
X3VpIFwKKyAgICAtLW1vZHVsZSBqc21vZHVsZV9jb21wb25lbnRzOjE0OmpzbW9kdWxlX3Nkayxq
c21vZHVsZV91aSBcCiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9Db25zb2xlTWVzc2FnZS5qcyBcCiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50c1NpZGViYXJQYW5lLmpzIFwKICAgICAgICAgLS1q
cyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUJyZWFrcG9pbnRzU2lkZWJh
clBhbmUuanMgXApAQCAtMTI3LDkgKzEzMCw3IEBAIGphdmEgLWphciB+L2Nsb3N1cmUvY29tcGls
ZXIuamFyIC0tc3VtbWFyeV9kZXRhaWxfbGV2ZWwgMyAtLWNvbXBpbGF0aW9uX2xldmVsIFNJCiAg
ICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9w
ZXJ0aWVzU2VjdGlvbi5qcyBcCiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Qcm9wZXJ0aWVzU2lkZWJhclBhbmUuanMgXAogICAgICAgICAtLWpzIFNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMgXAotICAgICAgICAt
LWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVBZ2VudC5qcyBc
CiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGlu
ZUdyaWQuanMgXAotICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvVGltZWxpbmVNYW5hZ2VyLmpzIFwKICAgICAtLW1vZHVsZSBqc21vZHVsZV9lbGVtZW50czoz
OmpzbW9kdWxlX2NvbXBvbmVudHMgXAogICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMgXAogICAgICAgICAtLWpzIFNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTWV0cmljc1NpZGViYXJQYW5lLmpzIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVBZ2Vu
dC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVBZ2VudC5q
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDZhZDdlYWUwYzhlODY2YzMyNDQ2NjMx
OGExODVkODlmY2IxZWUyMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lQWdlbnQu
anMKKysrIC9kZXYvbnVsbApAQCAtMSw3MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
LSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
LSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotLyoqCi0gKiBAY29uc3RydWN0b3IKLSAq
LwotV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQgPSBmdW5jdGlvbigpIHsKLSAgICAvLyBOb3Qg
aW1wbGVtZW50ZWQuCi19Ci0KLS8vIE11c3QgYmUga2VwdCBpbiBzeW5jIHdpdGggSW5zcGVjdG9y
VGltZWxpbmVBZ2VudC5oCi1XZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlID0g
ewotICAgIEV2ZW50RGlzcGF0Y2g6ICJFdmVudERpc3BhdGNoIiwKLSAgICBMYXlvdXQ6ICJMYXlv
dXQiLAotICAgIFJlY2FsY3VsYXRlU3R5bGVzOiAiUmVjYWxjdWxhdGVTdHlsZXMiLAotICAgIFBh
aW50OiAiUGFpbnQiLAotICAgIFBhcnNlSFRNTDogIlBhcnNlSFRNTCIsCi0KLQotICAgIFRpbWVy
SW5zdGFsbDogIlRpbWVySW5zdGFsbCIsCi0gICAgVGltZXJSZW1vdmU6ICJUaW1lclJlbW92ZSIs
Ci0gICAgVGltZXJGaXJlOiAiVGltZXJGaXJlIiwKLQotICAgIFhIUlJlYWR5U3RhdGVDaGFuZ2U6
ICJYSFJSZWFkeVN0YXRlQ2hhbmdlIiwKLSAgICBYSFJMb2FkOiAiWEhSTG9hZCIsCi0gICAgRXZh
bHVhdGVTY3JpcHQ6ICJFdmFsdWF0ZVNjcmlwdCIsCi0KLSAgICBUaW1lU3RhbXA6ICJUaW1lU3Rh
bXAiLAotCi0gICAgTWFya0xvYWQ6ICJNYXJrTG9hZCIsCi0gICAgTWFya0RPTUNvbnRlbnQ6ICJN
YXJrRE9NQ29udGVudCIsCi0KLSAgICBTY2hlZHVsZVJlc291cmNlUmVxdWVzdDogIlNjaGVkdWxl
UmVzb3VyY2VSZXF1ZXN0IiwKLSAgICBSZXNvdXJjZVNlbmRSZXF1ZXN0OiAiUmVzb3VyY2VTZW5k
UmVxdWVzdCIsCi0gICAgUmVzb3VyY2VSZWNlaXZlUmVzcG9uc2U6ICJSZXNvdXJjZVJlY2VpdmVS
ZXNwb25zZSIsCi0gICAgUmVzb3VyY2VSZWNlaXZlZERhdGE6ICJSZXNvdXJjZVJlY2VpdmVkRGF0
YSIsCi0gICAgUmVzb3VyY2VGaW5pc2g6ICJSZXNvdXJjZUZpbmlzaCIsCi0KLSAgICBGdW5jdGlv
bkNhbGw6ICJGdW5jdGlvbkNhbGwiLAotICAgIEdDRXZlbnQ6ICJHQ0V2ZW50IiwKLQotICAgIFJl
cXVlc3RBbmltYXRpb25GcmFtZTogIlJlcXVlc3RBbmltYXRpb25GcmFtZSIsCi0gICAgQ2FuY2Vs
QW5pbWF0aW9uRnJhbWU6ICJDYW5jZWxBbmltYXRpb25GcmFtZSIsCi0gICAgRmlyZUFuaW1hdGlv
bkZyYW1lOiAiRmlyZUFuaW1hdGlvbkZyYW1lIgotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1vZGVsLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2ZjI1NDQx
ODUxNGUxYTVmMThmYjZmNzQ4OWY4YjJmZmYwZmI3MTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lTW9kZWwuanMKQEAgLTAsMCAr
MSwxNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5P
YmplY3R9CisgKi8KK1dlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsID0gZnVuY3Rpb24oKQorewor
ICAgIHRoaXMuX3JlY29yZHMgPSBbXTsKKyAgICB0aGlzLl9jb2xsZWN0aW9uRW5hYmxlZCA9IGZh
bHNlOworCisgICAgV2ViSW5zcGVjdG9yLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIuRXZlbnRUeXBlcy5UaW1lbGluZUV2ZW50UmVj
b3JkZWQsIHRoaXMuX29uUmVjb3JkQWRkZWQsIHRoaXMpOworfQorCitXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVNb2RlbC5SZWNvcmRUeXBlID0geworICAgIEV2ZW50RGlzcGF0Y2g6ICJFdmVudERpc3Bh
dGNoIiwKKyAgICBMYXlvdXQ6ICJMYXlvdXQiLAorICAgIFJlY2FsY3VsYXRlU3R5bGVzOiAiUmVj
YWxjdWxhdGVTdHlsZXMiLAorICAgIFBhaW50OiAiUGFpbnQiLAorICAgIFBhcnNlSFRNTDogIlBh
cnNlSFRNTCIsCisKKworICAgIFRpbWVySW5zdGFsbDogIlRpbWVySW5zdGFsbCIsCisgICAgVGlt
ZXJSZW1vdmU6ICJUaW1lclJlbW92ZSIsCisgICAgVGltZXJGaXJlOiAiVGltZXJGaXJlIiwKKwor
ICAgIFhIUlJlYWR5U3RhdGVDaGFuZ2U6ICJYSFJSZWFkeVN0YXRlQ2hhbmdlIiwKKyAgICBYSFJM
b2FkOiAiWEhSTG9hZCIsCisgICAgRXZhbHVhdGVTY3JpcHQ6ICJFdmFsdWF0ZVNjcmlwdCIsCisK
KyAgICBUaW1lU3RhbXA6ICJUaW1lU3RhbXAiLAorCisgICAgTWFya0xvYWQ6ICJNYXJrTG9hZCIs
CisgICAgTWFya0RPTUNvbnRlbnQ6ICJNYXJrRE9NQ29udGVudCIsCisKKyAgICBTY2hlZHVsZVJl
c291cmNlUmVxdWVzdDogIlNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0IiwKKyAgICBSZXNvdXJjZVNl
bmRSZXF1ZXN0OiAiUmVzb3VyY2VTZW5kUmVxdWVzdCIsCisgICAgUmVzb3VyY2VSZWNlaXZlUmVz
cG9uc2U6ICJSZXNvdXJjZVJlY2VpdmVSZXNwb25zZSIsCisgICAgUmVzb3VyY2VSZWNlaXZlZERh
dGE6ICJSZXNvdXJjZVJlY2VpdmVkRGF0YSIsCisgICAgUmVzb3VyY2VGaW5pc2g6ICJSZXNvdXJj
ZUZpbmlzaCIsCisKKyAgICBGdW5jdGlvbkNhbGw6ICJGdW5jdGlvbkNhbGwiLAorICAgIEdDRXZl
bnQ6ICJHQ0V2ZW50IiwKKworICAgIFJlcXVlc3RBbmltYXRpb25GcmFtZTogIlJlcXVlc3RBbmlt
YXRpb25GcmFtZSIsCisgICAgQ2FuY2VsQW5pbWF0aW9uRnJhbWU6ICJDYW5jZWxBbmltYXRpb25G
cmFtZSIsCisgICAgRmlyZUFuaW1hdGlvbkZyYW1lOiAiRmlyZUFuaW1hdGlvbkZyYW1lIgorfQor
CitXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5FdmVudHMgPSB7CisgICAgUmVjb3JkQWRkZWQ6
ICJSZWNvcmRBZGRlZCIsCisgICAgUmVjb3Jkc0NsZWFyZWQ6ICJSZWNvcmRzQ2xlYXJlZCIKK30K
KworV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwucHJvdG90eXBlID0geworICAgIHN0YXJ0UmVj
b3JkOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBpZiAodGhpcy5fY29sbGVjdGlvbkVuYWJs
ZWQpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIHRoaXMucmVzZXQoKTsKKyAgICAgICAg
V2ViSW5zcGVjdG9yLnRpbWVsaW5lTWFuYWdlci5zdGFydCgzMCk7CisgICAgICAgIHRoaXMuX2Nv
bGxlY3Rpb25FbmFibGVkID0gdHJ1ZTsKKyAgICB9LAorCisgICAgc3RvcFJlY29yZDogZnVuY3Rp
b24oKQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLl9jb2xsZWN0aW9uRW5hYmxlZCkKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgV2ViSW5zcGVjdG9yLnRpbWVsaW5lTWFuYWdlci5zdG9w
KCk7CisgICAgICAgIHRoaXMuX2NvbGxlY3Rpb25FbmFibGVkID0gZmFsc2U7CisgICAgfSwKKwor
ICAgIGdldCByZWNvcmRzKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9yZWNvcmRzOwor
ICAgIH0sCisKKyAgICBfb25SZWNvcmRBZGRlZDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAg
ICAgICBpZiAodGhpcy5fY29sbGVjdGlvbkVuYWJsZWQpCisgICAgICAgICAgICB0aGlzLl9hZGRS
ZWNvcmQoZXZlbnQuZGF0YSk7CisgICAgfSwKKworICAgIF9hZGRSZWNvcmQ6IGZ1bmN0aW9uKHJl
Y29yZCkKKyAgICB7CisgICAgICAgIHRoaXMuX3JlY29yZHMucHVzaChyZWNvcmQpOworICAgICAg
ICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2Rl
bC5FdmVudHMuUmVjb3JkQWRkZWQsIHJlY29yZCk7CisgICAgfSwKKworICAgIF9sb2FkTmV4dENo
dW5rOiBmdW5jdGlvbihkYXRhLCBpbmRleCkKKyAgICB7CisgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgMjAgJiYgaW5kZXggPCBkYXRhLmxlbmd0aDsgKytpLCArK2luZGV4KQorICAgICAgICAg
ICAgdGhpcy5fYWRkUmVjb3JkKGRhdGFbaW5kZXhdKTsKKworICAgICAgICBpZiAoaW5kZXggIT09
IGRhdGEubGVuZ3RoKQorICAgICAgICAgICAgc2V0VGltZW91dCh0aGlzLl9sb2FkTmV4dENodW5r
LmJpbmQodGhpcywgZGF0YSwgaW5kZXgpLCAwKTsKKyAgICB9LAorCisgICAgbG9hZEZyb21GaWxl
OiBmdW5jdGlvbihmaWxlKQorICAgIHsKKyAgICAgICAgZnVuY3Rpb24gb25Mb2FkKGUpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIHZhciBkYXRhID0gSlNPTi5wYXJzZShlLnRhcmdldC5yZXN1bHQp
OworICAgICAgICAgICAgdGhpcy5yZXNldCgpOworICAgICAgICAgICAgdGhpcy5fbG9hZE5leHRD
aHVuayhkYXRhLCAxKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIG9uRXJyb3IoZSkK
KyAgICAgICAgeworICAgICAgICAgICAgc3dpdGNoKGUudGFyZ2V0LmVycm9yLmNvZGUpIHsKKyAg
ICAgICAgICAgIGNhc2UgZS50YXJnZXQuZXJyb3IuTk9UX0ZPVU5EX0VSUjoKKyAgICAgICAgICAg
ICAgICBXZWJJbnNwZWN0b3IubG9nKFdlYkluc3BlY3Rvci5VSVN0cmluZygnVGltZWxpbmUubG9h
ZEZyb21GaWxlOiBGaWxlICIlcyIgbm90IGZvdW5kLicsIGZpbGUubmFtZSkpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIGUudGFyZ2V0LmVycm9yLk5PVF9SRUFEQUJMRV9F
UlI6CisgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmxvZyhXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoJ1RpbWVsaW5lLmxvYWRGcm9tRmlsZTogRmlsZSAiJXMiIGlzIG5vdCByZWFkYWJsZScsIGZp
bGUubmFtZSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIGUudGFyZ2V0
LmVycm9yLkFCT1JUX0VSUjoKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRl
ZmF1bHQ6CisgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmxvZyhXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoJ1RpbWVsaW5lLmxvYWRGcm9tRmlsZTogQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVh
ZGluZyB0aGUgZmlsZSAiJXMiJywgZmlsZS5uYW1lKSk7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKworICAgICAgICB2YXIgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTsKKyAgICAgICAgcmVh
ZGVyLm9ubG9hZCA9IG9uTG9hZC5iaW5kKHRoaXMpOworICAgICAgICByZWFkZXIub25lcnJvciA9
IG9uRXJyb3I7CisgICAgICAgIHJlYWRlci5yZWFkQXNUZXh0KGZpbGUpOworICAgIH0sCisKKyAg
ICBzYXZlVG9GaWxlOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB2YXIgcmVjb3JkcyA9IFsn
WycgKyBKU09OLnN0cmluZ2lmeShuZXcgU3RyaW5nKHdpbmRvdy5uYXZpZ2F0b3IuYXBwVmVyc2lv
bikpXTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9yZWNvcmRzLmxlbmd0aDsg
KytpKQorICAgICAgICAgICAgcmVjb3Jkcy5wdXNoKEpTT04uc3RyaW5naWZ5KHRoaXMuX3JlY29y
ZHNbaV0pKTsKKworICAgICAgICByZWNvcmRzW3JlY29yZHMubGVuZ3RoIC0gMV0gPSByZWNvcmRz
W3JlY29yZHMubGVuZ3RoIC0gMV0gKyAiXSI7CisKKyAgICAgICAgdmFyIG5vdyA9IG5ldyBEYXRl
KCk7CisgICAgICAgIHZhciBzdWdnZXN0ZWRGaWxlTmFtZSA9ICJUaW1lbGluZVJhd0RhdGEtIiAr
IG5vdy50b0lTTzg2MDFDb21wYWN0KCkgKyAiLmpzb24iOworICAgICAgICBJbnNwZWN0b3JGcm9u
dGVuZEhvc3Quc2F2ZUFzKHN1Z2dlc3RlZEZpbGVOYW1lLCByZWNvcmRzLmpvaW4oIixcbiIpKTsK
KyAgICB9LAorCisgICAgcmVzZXQ6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMuc3Rv
cFJlY29yZCgpOworICAgICAgICB0aGlzLl9yZWNvcmRzID0gW107CisgICAgICAgIHRoaXMuZGlz
cGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLkV2ZW50cy5S
ZWNvcmRzQ2xlYXJlZCk7CisgICAgfQorfQorCitXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5w
cm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwu
anMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMK
aW5kZXggOWU4YTE5MDNiZGIwMjkwNjJkOTI0NzgxNGE5MzJmYjhlMmZiMTQzNi4uMjE0ZjFhMjI3
MThhOWIxNjRhZTE5YmMwZmM2MzQxODFiZDgyMDc4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcwpAQCAtMjA4LDcgKzIwOCw3
IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZSA9IHsKICAgICBnZXQgX3Jl
Y29yZFN0eWxlcygpCiAgICAgewogICAgICAgICBpZiAoIXRoaXMuX3JlY29yZFN0eWxlc0FycmF5
KSB7Ci0gICAgICAgICAgICB2YXIgcmVjb3JkVHlwZXMgPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVB
Z2VudC5SZWNvcmRUeXBlOworICAgICAgICAgICAgdmFyIHJlY29yZFR5cGVzID0gV2ViSW5zcGVj
dG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZTsKICAgICAgICAgICAgIHZhciBjYXRlZ29yaWVz
ID0gdGhpcy5fcHJlc2VudGF0aW9uTW9kZWwuY2F0ZWdvcmllczsKIAogICAgICAgICAgICAgdmFy
IHJlY29yZFN0eWxlcyA9IHt9OwpAQCAtMzQ2LDcgKzM0Niw3IEBAIFdlYkluc3BlY3Rvci5UaW1l
bGluZVBhbmVsLnByb3RvdHlwZSA9IHsKIAogICAgIF9zYXZlVG9GaWxlOiBmdW5jdGlvbigpCiAg
ICAgewotICAgICAgICB0aGlzLl9tb2RlbC5fc2F2ZVRvRmlsZSgpOworICAgICAgICB0aGlzLl9t
b2RlbC5zYXZlVG9GaWxlKCk7CiAgICAgfSwKIAogICAgIF9sb2FkRnJvbUZpbGU6IGZ1bmN0aW9u
KCkKQEAgLTM1NSw3ICszNTUsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5
cGUgPSB7CiAgICAgICAgICAgICB0aGlzLnRvZ2dsZVRpbWVsaW5lQnV0dG9uLnRvZ2dsZWQgPSBm
YWxzZTsKICAgICAgICAgICAgIHRoaXMuX21vZGVsLnN0b3BSZWNvcmQoKTsKICAgICAgICAgfQot
ICAgICAgICB0aGlzLl9tb2RlbC5fbG9hZEZyb21GaWxlKHRoaXMuX2ZpbGVTZWxlY3RvckVsZW1l
bnQuZmlsZXNbMF0pOworICAgICAgICB0aGlzLl9tb2RlbC5sb2FkRnJvbUZpbGUodGhpcy5fZmls
ZVNlbGVjdG9yRWxlbWVudC5maWxlc1swXSk7CiAgICAgICAgIHRoaXMuX2NyZWF0ZUZpbGVTZWxl
Y3RvcigpOwogICAgIH0sCiAKQEAgLTM4Nyw3ICszODcsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxp
bmVQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB2YXIgZXZlbnREaXZpZGVyID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgICAgIGV2ZW50RGl2aWRlci5jbGFz
c05hbWUgPSAicmVzb3VyY2VzLWV2ZW50LWRpdmlkZXIiOwotICAgICAgICB2YXIgcmVjb3JkVHlw
ZXMgPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlOworICAgICAgICB2YXIg
cmVjb3JkVHlwZXMgPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlOwogCiAg
ICAgICAgIHZhciBldmVudERpdmlkZXJQYWRkaW5nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CiAgICAgICAgIGV2ZW50RGl2aWRlclBhZGRpbmcuY2xhc3NOYW1lID0gInJlc291cmNl
cy1ldmVudC1kaXZpZGVyLXBhZGRpbmciOwpAQCAtNDk0LDcgKzQ5NCw3IEBAIFdlYkluc3BlY3Rv
ci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKCF0aGlzLl9nbHVlUGFy
ZW50QnV0dG9uLnRvZ2dsZWQpCiAgICAgICAgICAgICByZXR1cm4gbnVsbDsKIAotICAgICAgICB2
YXIgcmVjb3JkVHlwZXMgPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlOwor
ICAgICAgICB2YXIgcmVjb3JkVHlwZXMgPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNv
cmRUeXBlOwogICAgICAgICB2YXIgcGFyZW50UmVjb3JkOwogICAgICAgICBpZiAocmVjb3JkLnR5
cGUgPT09IHJlY29yZFR5cGVzLlJlc291cmNlUmVjZWl2ZVJlc3BvbnNlIHx8CiAgICAgICAgICAg
ICByZWNvcmQudHlwZSA9PT0gcmVjb3JkVHlwZXMuUmVzb3VyY2VGaW5pc2ggfHwKQEAgLTUxMiw3
ICs1MTIsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAg
X2lubmVyQWRkUmVjb3JkVG9UaW1lbGluZTogZnVuY3Rpb24ocmVjb3JkLCBwYXJlbnRSZWNvcmQp
CiAgICAgewogICAgICAgICB2YXIgY29ubmVjdGVkVG9PbGRSZWNvcmQgPSBmYWxzZTsKLSAgICAg
ICAgdmFyIHJlY29yZFR5cGVzID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlw
ZTsKKyAgICAgICAgdmFyIHJlY29yZFR5cGVzID0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwu
UmVjb3JkVHlwZTsKIAogICAgICAgICBpZiAocmVjb3JkLnR5cGUgPT09IHJlY29yZFR5cGVzLk1h
cmtET01Db250ZW50IHx8IHJlY29yZC50eXBlID09PSByZWNvcmRUeXBlcy5NYXJrTG9hZCkKICAg
ICAgICAgICAgIHBhcmVudFJlY29yZCA9IG51bGw7IC8vIE5vIGJhciBlbnRyeSBmb3IgbG9hZCBl
dmVudHMuCkBAIC02MTQsNyArNjE0LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJv
dG90eXBlID0gewogCiAgICAgX2NsZWFyUGFuZWw6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAg
IHRoaXMuX21vZGVsLl9yZXNldCgpOworICAgICAgICB0aGlzLl9tb2RlbC5yZXNldCgpOwogICAg
IH0sCiAKICAgICBfb25SZWNvcmRzQ2xlYXJlZDogZnVuY3Rpb24oKQpAQCAtNzg0LDcgKzc4NCw3
IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhp
cy5fY29udGFpbmVyRWxlbWVudC5zY3JvbGxUb3AgPSBpbmRleCAqIFdlYkluc3BlY3Rvci5UaW1l
bGluZVBhbmVsLnJvd0hlaWdodDsKICAgICB9LAogCi0gICAgX3JlZnJlc2hSZWNvcmRzOiBmdW5j
dGlvbih1cGRhdGVCb3VuZGFyaWVzLCByZWNvcmRUb1JldmVhbCkKKyAgICBfcmVmcmVzaFJlY29y
ZHM6IGZ1bmN0aW9uKHVwZGF0ZUJvdW5kYXJpZXMpCiAgICAgewogICAgICAgICB2YXIgcmVjb3Jk
c0luV2luZG93ID0gdGhpcy5fZmlsdGVyUmVjb3JkcygpOwogCkBAIC0xMjAzLDcgKzEyMDMsNyBA
QCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5mb3JBbGxSZWNvcmRzID0gZnVuY3Rpb24ocmVj
b3Jkc0FycmF5LCBjYWxsYmFjaykKIFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLkZvcm1hdHRl
ZFJlY29yZCA9IGZ1bmN0aW9uKHJlY29yZCwgcGFyZW50UmVjb3JkLCBwYW5lbCwgbGlua2lmaWVy
LCBzY3JpcHREZXRhaWxzKQogewogICAgIHRoaXMuX2xpbmtpZmllciA9IGxpbmtpZmllcjsKLSAg
ICB2YXIgcmVjb3JkVHlwZXMgPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBl
OworICAgIHZhciByZWNvcmRUeXBlcyA9IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29y
ZFR5cGU7CiAgICAgdmFyIHN0eWxlID0gcGFuZWwuX3JlY29yZFN0eWxlc1tyZWNvcmQudHlwZV07
CiAgICAgdGhpcy5wYXJlbnQgPSBwYXJlbnRSZWNvcmQ7CiAgICAgaWYgKHBhcmVudFJlY29yZCkK
QEAgLTEzMTMsNyArMTMxMyw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLkZvcm1hdHRl
ZFJlY29yZC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBjYWxjdWxhdG9yLmZvcm1hdFZhbHVl
KHRoaXMuc3RhcnRUaW1lIC0gY2FsY3VsYXRvci5taW5pbXVtQm91bmRhcnkpKTsKICAgICAgICAg
Y29udGVudEhlbHBlci5fYXBwZW5kVGV4dFJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkR1cmF0
aW9uIiksIHRleHQpOwogCi0gICAgICAgIGNvbnN0IHJlY29yZFR5cGVzID0gV2ViSW5zcGVjdG9y
LlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZTsKKyAgICAgICAgY29uc3QgcmVjb3JkVHlwZXMgPSBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlOwogCiAgICAgICAgIHN3aXRjaCAo
dGhpcy50eXBlKSB7CiAgICAgICAgICAgICBjYXNlIHJlY29yZFR5cGVzLkdDRXZlbnQ6CkBAIC0x
Mzg1LDM4ICsxMzg1LDM4IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLkZvcm1hdHRlZFJl
Y29yZC5wcm90b3R5cGUgPSB7CiAgICAgX2dldFJlY29yZERldGFpbHM6IGZ1bmN0aW9uKCkKICAg
ICB7CiAgICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7Ci0gICAgICAgICAgICBjYXNlIFdlYklu
c3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuR0NFdmVudDoKKyAgICAgICAgICAgIGNh
c2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5HQ0V2ZW50OgogICAgICAg
ICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiVzIGNvbGxlY3RlZCIsIE51
bWJlci5ieXRlc1RvU3RyaW5nKHRoaXMuZGF0YVsidXNlZEhlYXBTaXplRGVsdGEiXSkpOwotICAg
ICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLlRpbWVy
RmlyZToKKyAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3Jk
VHlwZS5UaW1lckZpcmU6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2xpbmtpZnlTY3Jp
cHRMb2NhdGlvbih0aGlzLmRhdGFbInRpbWVySWQiXSk7Ci0gICAgICAgICAgICBjYXNlIFdlYklu
c3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuRnVuY3Rpb25DYWxsOgorICAgICAgICAg
ICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLkZ1bmN0aW9uQ2Fs
bDoKICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fbGlua2lmeVNjcmlwdExvY2F0aW9uKCk7
Ci0gICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUu
RmlyZUFuaW1hdGlvbkZyYW1lOgorICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxp
bmVNb2RlbC5SZWNvcmRUeXBlLkZpcmVBbmltYXRpb25GcmFtZToKICAgICAgICAgICAgICAgICBy
ZXR1cm4gdGhpcy5fbGlua2lmeVNjcmlwdExvY2F0aW9uKHRoaXMuZGF0YVsiaWQiXSk7Ci0gICAg
ICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuRXZlbnRE
aXNwYXRjaDoKKyAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVj
b3JkVHlwZS5FdmVudERpc3BhdGNoOgogICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGEg
PyB0aGlzLmRhdGFbInR5cGUiXSA6IG51bGw7Ci0gICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rv
ci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuUGFpbnQ6CisgICAgICAgICAgICBjYXNlIFdlYklu
c3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuUGFpbnQ6CiAgICAgICAgICAgICAgICAg
cmV0dXJuIHRoaXMuZGF0YVsid2lkdGgiXSArICJcdTIwMDlcdTAwZDdcdTIwMDkiICsgdGhpcy5k
YXRhWyJoZWlnaHQiXTsKLSAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdl
bnQuUmVjb3JkVHlwZS5UaW1lckluc3RhbGw6Ci0gICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rv
ci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuVGltZXJSZW1vdmU6CisgICAgICAgICAgICBjYXNl
IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuVGltZXJJbnN0YWxsOgorICAg
ICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlRpbWVy
UmVtb3ZlOgogICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9saW5raWZ5VG9wQ2FsbEZyYW1l
KHRoaXMuZGF0YVsidGltZXJJZCJdKTsKLSAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5SZXF1ZXN0QW5pbWF0aW9uRnJhbWU6Ci0gICAgICAgICAg
ICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuQ2FuY2VsQW5pbWF0
aW9uRnJhbWU6CisgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJl
Y29yZFR5cGUuUmVxdWVzdEFuaW1hdGlvbkZyYW1lOgorICAgICAgICAgICAgY2FzZSBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLkNhbmNlbEFuaW1hdGlvbkZyYW1lOgogICAg
ICAgICAgICAgICAgIHJldHVybiB0aGlzLl9saW5raWZ5VG9wQ2FsbEZyYW1lKHRoaXMuZGF0YVsi
aWQiXSk7Ci0gICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29y
ZFR5cGUuUGFyc2VIVE1MOgotICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVB
Z2VudC5SZWNvcmRUeXBlLlJlY2FsY3VsYXRlU3R5bGVzOgorICAgICAgICAgICAgY2FzZSBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlBhcnNlSFRNTDoKKyAgICAgICAgICAg
IGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5SZWNhbGN1bGF0ZVN0
eWxlczoKICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fbGlua2lmeVRvcENhbGxGcmFtZSgp
OwotICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBl
LkV2YWx1YXRlU2NyaXB0OgorICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVN
b2RlbC5SZWNvcmRUeXBlLkV2YWx1YXRlU2NyaXB0OgogICAgICAgICAgICAgICAgIHJldHVybiB0
aGlzLnVybCA/IHRoaXMuX2xpbmtpZnlMb2NhdGlvbih0aGlzLnVybCwgdGhpcy5kYXRhWyJsaW5l
TnVtYmVyIl0sIDApIDogbnVsbDsKLSAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVs
aW5lQWdlbnQuUmVjb3JkVHlwZS5YSFJSZWFkeVN0YXRlQ2hhbmdlOgotICAgICAgICAgICAgY2Fz
ZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLlhIUkxvYWQ6Ci0gICAgICAg
ICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuU2NoZWR1bGVS
ZXNvdXJjZVJlcXVlc3Q6Ci0gICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZUFn
ZW50LlJlY29yZFR5cGUuUmVzb3VyY2VTZW5kUmVxdWVzdDoKLSAgICAgICAgICAgIGNhc2UgV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5SZXNvdXJjZVJlY2VpdmVkRGF0YToK
LSAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5S
ZXNvdXJjZVJlY2VpdmVSZXNwb25zZToKLSAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5SZXNvdXJjZUZpbmlzaDoKKyAgICAgICAgICAgIGNhc2Ug
V2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5YSFJSZWFkeVN0YXRlQ2hhbmdl
OgorICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBl
LlhIUkxvYWQ6CisgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJl
Y29yZFR5cGUuU2NoZWR1bGVSZXNvdXJjZVJlcXVlc3Q6CisgICAgICAgICAgICBjYXNlIFdlYklu
c3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuUmVzb3VyY2VTZW5kUmVxdWVzdDoKKyAg
ICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5SZXNv
dXJjZVJlY2VpdmVkRGF0YToKKyAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5l
TW9kZWwuUmVjb3JkVHlwZS5SZXNvdXJjZVJlY2VpdmVSZXNwb25zZToKKyAgICAgICAgICAgIGNh
c2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5SZXNvdXJjZUZpbmlzaDoK
ICAgICAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLmRpc3BsYXlOYW1lRm9yVVJMKHRo
aXMudXJsKTsKLSAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVj
b3JkVHlwZS5UaW1lU3RhbXA6CisgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZU1vZGVsLlJlY29yZFR5cGUuVGltZVN0YW1wOgogICAgICAgICAgICAgICAgIHJldHVybiB0aGlz
LmRhdGFbIm1lc3NhZ2UiXTsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAg
cmV0dXJuIG51bGw7CkBAIC0xNTk4LDE5MSArMTU5OCw2IEBAIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZUV4cGFuZGFibGVFbGVtZW50LnByb3RvdHlwZSA9IHsKIAogLyoqCiAgKiBAY29uc3RydWN0b3IK
LSAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3IuT2JqZWN0fQotICovCi1XZWJJbnNwZWN0b3IuVGlt
ZWxpbmVNb2RlbCA9IGZ1bmN0aW9uKCkKLXsKLSAgICB0aGlzLl9yZWNvcmRzID0gW107Ci0gICAg
dGhpcy5fY29sbGVjdGlvbkVuYWJsZWQgPSBmYWxzZTsKLQotICAgIFdlYkluc3BlY3Rvci50aW1l
bGluZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2Vy
LkV2ZW50VHlwZXMuVGltZWxpbmVFdmVudFJlY29yZGVkLCB0aGlzLl9vblJlY29yZEFkZGVkLCB0
aGlzKTsKLX0KLQotV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuRXZlbnRzID0gewotICAgIFJl
Y29yZEFkZGVkOiAiUmVjb3JkQWRkZWQiLAotICAgIFJlY29yZHNDbGVhcmVkOiAiUmVjb3Jkc0Ns
ZWFyZWQiCi19Ci0KLVdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLnByb3RvdHlwZSA9IHsKLSAg
ICBzdGFydFJlY29yZDogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX2NvbGxl
Y3Rpb25FbmFibGVkKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB0aGlzLl9yZXNldCgp
OwotICAgICAgICBXZWJJbnNwZWN0b3IudGltZWxpbmVNYW5hZ2VyLnN0YXJ0KDMwKTsKLSAgICAg
ICAgdGhpcy5fY29sbGVjdGlvbkVuYWJsZWQgPSB0cnVlOwotICAgIH0sCi0KLSAgICBzdG9wUmVj
b3JkOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICBpZiAoIXRoaXMuX2NvbGxlY3Rpb25FbmFi
bGVkKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBXZWJJbnNwZWN0b3IudGltZWxpbmVN
YW5hZ2VyLnN0b3AoKTsKLSAgICAgICAgdGhpcy5fY29sbGVjdGlvbkVuYWJsZWQgPSBmYWxzZTsK
LSAgICB9LAotCi0gICAgZ2V0IHJlY29yZHMoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMu
X3JlY29yZHM7Ci0gICAgfSwKLQotICAgIF9vblJlY29yZEFkZGVkOiBmdW5jdGlvbihldmVudCkK
LSAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9jb2xsZWN0aW9uRW5hYmxlZCkKLSAgICAgICAgICAg
IHRoaXMuX2FkZFJlY29yZChldmVudC5kYXRhKTsKLSAgICB9LAotCi0gICAgX2FkZFJlY29yZDog
ZnVuY3Rpb24ocmVjb3JkKQotICAgIHsKLSAgICAgICAgdGhpcy5fcmVjb3Jkcy5wdXNoKHJlY29y
ZCk7Ci0gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5U
aW1lbGluZU1vZGVsLkV2ZW50cy5SZWNvcmRBZGRlZCwgcmVjb3JkKTsKLSAgICB9LAotCi0gICAg
X2xvYWROZXh0Q2h1bms6IGZ1bmN0aW9uKGRhdGEsIGluZGV4KQotICAgIHsKLSAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCAyMCAmJiBpbmRleCA8IGRhdGEubGVuZ3RoOyArK2ksICsraW5kZXgp
Ci0gICAgICAgICAgICB0aGlzLl9hZGRSZWNvcmQoZGF0YVtpbmRleF0pOwotCi0gICAgICAgIGlm
IChpbmRleCAhPT0gZGF0YS5sZW5ndGgpCi0gICAgICAgICAgICBzZXRUaW1lb3V0KHRoaXMuX2xv
YWROZXh0Q2h1bmsuYmluZCh0aGlzLCBkYXRhLCBpbmRleCksIDApOwotICAgIH0sCi0KLSAgICBf
bG9hZEZyb21GaWxlOiBmdW5jdGlvbihmaWxlKQotICAgIHsKLSAgICAgICAgZnVuY3Rpb24gb25M
b2FkKGUpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciBkYXRhID0gSlNPTi5wYXJzZShlLnRh
cmdldC5yZXN1bHQpOwotICAgICAgICAgICAgdGhpcy5fcmVzZXQoKTsKLSAgICAgICAgICAgIHRo
aXMuX2xvYWROZXh0Q2h1bmsoZGF0YSwgMSk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlv
biBvbkVycm9yKGUpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHN3aXRjaChlLnRhcmdldC5lcnJv
ci5jb2RlKSB7Ci0gICAgICAgICAgICBjYXNlIGUudGFyZ2V0LmVycm9yLk5PVF9GT1VORF9FUlI6
Ci0gICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmxvZyhXZWJJbnNwZWN0b3IuVUlTdHJpbmco
J1RpbWVsaW5lLmxvYWRGcm9tRmlsZTogRmlsZSAiJXMiIG5vdCBmb3VuZC4nLCBmaWxlLm5hbWUp
KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBlLnRhcmdldC5lcnJvci5O
T1RfUkVBREFCTEVfRVJSOgotICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5sb2coV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCdUaW1lbGluZS5sb2FkRnJvbUZpbGU6IEZpbGUgIiVzIiBpcyBub3Qg
cmVhZGFibGUnLCBmaWxlLm5hbWUpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
Y2FzZSBlLnRhcmdldC5lcnJvci5BQk9SVF9FUlI6Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5sb2coV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCdUaW1lbGluZS5sb2FkRnJvbUZpbGU6IEFuIGVycm9yIG9jY3Vy
cmVkIHdoaWxlIHJlYWRpbmcgdGhlIGZpbGUgIiVzIicsIGZpbGUubmFtZSkpOwotICAgICAgICAg
ICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgdmFyIHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7
Ci0gICAgICAgIHJlYWRlci5vbmxvYWQgPSBvbkxvYWQuYmluZCh0aGlzKTsKLSAgICAgICAgcmVh
ZGVyLm9uZXJyb3IgPSBvbkVycm9yOwotICAgICAgICByZWFkZXIucmVhZEFzVGV4dChmaWxlKTsK
LSAgICB9LAotCi0gICAgX3NhdmVUb0ZpbGU6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHZh
ciByZWNvcmRzID0gWydbJyArIEpTT04uc3RyaW5naWZ5KG5ldyBTdHJpbmcod2luZG93Lm5hdmln
YXRvci5hcHBWZXJzaW9uKSldOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX3Jl
Y29yZHMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICByZWNvcmRzLnB1c2goSlNPTi5zdHJpbmdp
ZnkodGhpcy5fcmVjb3Jkc1tpXSkpOwotCi0gICAgICAgIHJlY29yZHNbcmVjb3Jkcy5sZW5ndGgg
LSAxXSA9IHJlY29yZHNbcmVjb3Jkcy5sZW5ndGggLSAxXSArICJdIjsKLQotICAgICAgICB2YXIg
bm93ID0gbmV3IERhdGUoKTsKLSAgICAgICAgdmFyIHN1Z2dlc3RlZEZpbGVOYW1lID0gIlRpbWVs
aW5lUmF3RGF0YS0iICsgbm93LnRvSVNPODYwMUNvbXBhY3QoKSArICIuanNvbiI7Ci0gICAgICAg
IEluc3BlY3RvckZyb250ZW5kSG9zdC5zYXZlQXMoc3VnZ2VzdGVkRmlsZU5hbWUsIHJlY29yZHMu
am9pbigiLFxuIikpOwotICAgIH0sCi0KLSAgICBfcmVzZXQ6IGZ1bmN0aW9uKCkKLSAgICB7Ci0g
ICAgICAgIHRoaXMuc3RvcFJlY29yZCgpOwotICAgICAgICB0aGlzLl9yZWNvcmRzID0gW107Ci0g
ICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5UaW1lbGlu
ZU1vZGVsLkV2ZW50cy5SZWNvcmRzQ2xlYXJlZCk7Ci0gICAgfQotfQotCi1XZWJJbnNwZWN0b3Iu
VGltZWxpbmVNb2RlbC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5w
cm90b3R5cGU7Ci0KLS8qKgotICogQGNvbnN0cnVjdG9yCi0gKiBAZXh0ZW5kcyB7V2ViSW5zcGVj
dG9yLk9iamVjdH0KLSAqLwotV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwg
PSBmdW5jdGlvbigpCi17Ci0gICAgdGhpcy5fY2F0ZWdvcmllcyA9IHt9OwotICAgIHRoaXMucmVz
ZXQoKTsKLX0KLQotV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuRXZlbnRz
ID0gewotICAgIFdpbmRvd0NoYW5nZWQ6ICJXaW5kb3dDaGFuZ2VkIiwKLSAgICBDYXRlZ29yeVZp
c2liaWxpdHlDaGFuZ2VkOiAiQ2F0ZWdvcnlWaXNpYmlsaXR5Q2hhbmdlZCIKLX0KLQotV2ViSW5z
cGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0gewotICAgIHJlc2V0
OiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICB0aGlzLndpbmRvd0xlZnQgPSAwLjA7Ci0gICAg
ICAgIHRoaXMud2luZG93UmlnaHQgPSAxLjA7Ci0gICAgICAgIHRoaXMud2luZG93SW5kZXhMZWZ0
ID0gMDsKLSAgICAgICAgdGhpcy53aW5kb3dJbmRleFJpZ2h0ID0gbnVsbDsKLSAgICB9LAotCi0g
ICAgZ2V0IGNhdGVnb3JpZXMoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2NhdGVnb3Jp
ZXM7Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlRpbWVs
aW5lQ2F0ZWdvcnl9IGNhdGVnb3J5Ci0gICAgICovCi0gICAgYWRkQ2F0ZWdvcnk6IGZ1bmN0aW9u
KGNhdGVnb3J5KQotICAgIHsKLSAgICAgICAgdGhpcy5fY2F0ZWdvcmllc1tjYXRlZ29yeS5uYW1l
XSA9IGNhdGVnb3J5OwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBAcGFyYW0ge251bWJlcn0g
bGVmdAotICAgICAqIEBwYXJhbSB7bnVtYmVyfSByaWdodAotICAgICAqLwotICAgIHNldFdpbmRv
d1Bvc2l0aW9uOiBmdW5jdGlvbihsZWZ0LCByaWdodCkKLSAgICB7Ci0gICAgICAgIHRoaXMud2lu
ZG93TGVmdCA9IGxlZnQ7Ci0gICAgICAgIHRoaXMud2luZG93UmlnaHQgPSByaWdodDsKLSAgICAg
ICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJl
c2VudGF0aW9uTW9kZWwuRXZlbnRzLldpbmRvd0NoYW5nZWQpOwotICAgIH0sCi0KLSAgICAvKioK
LSAgICAgKiBAcGFyYW0ge251bWJlcn0gbGVmdAotICAgICAqIEBwYXJhbSB7P251bWJlcn0gcmln
aHQKLSAgICAgKi8KLSAgICBzZXRXaW5kb3dJbmRpY2VzOiBmdW5jdGlvbihsZWZ0LCByaWdodCkK
LSAgICB7Ci0gICAgICAgIHRoaXMud2luZG93SW5kZXhMZWZ0ID0gbGVmdDsKLSAgICAgICAgdGhp
cy53aW5kb3dJbmRleFJpZ2h0ID0gcmlnaHQ7Ci0gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRv
TGlzdGVuZXJzKFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLkV2ZW50cy5X
aW5kb3dDaGFuZ2VkKTsKLSAgICB9LAotCi0gICAgLyoqCi0gICAgICogQHBhcmFtIHtXZWJJbnNw
ZWN0b3IuVGltZWxpbmVDYXRlZ29yeX0gY2F0ZWdvcnkKLSAgICAgKiBAcGFyYW0ge2Jvb2xlYW59
IHZpc2libGUKLSAgICAgKi8KLSAgICBzZXRDYXRlZ29yeVZpc2liaWxpdHk6IGZ1bmN0aW9uKGNh
dGVnb3J5LCB2aXNpYmxlKQotICAgIHsKLSAgICAgICAgY2F0ZWdvcnkuaGlkZGVuID0gIXZpc2li
bGU7Ci0gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5U
aW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLkV2ZW50cy5DYXRlZ29yeVZpc2liaWxpdHlDaGFuZ2Vk
LCBjYXRlZ29yeSk7Ci0gICAgfQotfQotCi0vKioKLSAqIEBjb25zdHJ1Y3RvcgogICogQHBhcmFt
IHtXZWJJbnNwZWN0b3IuVGltZWxpbmVDYWxjdWxhdG9yfSBjYWxjdWxhdG9yCiAgKiBAcGFyYW0g
e2Jvb2xlYW59IHNob3dTaG9ydEV2ZW50cwogICovCkBAIC0xODM4LDUgKzE2NTMsMyBAQCBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVTdGFydEF0WmVyb1JlY29yZEZpbHRlci5wcm90b3R5cGUgPSB7CiAg
ICAgICAgICAgICAodHlwZW9mIHRoaXMuX3dpbmRvd0luZGV4UmlnaHQgIT09ICJudW1iZXIiIHx8
IHRoaXMuX3RvcExldmVsUmVjb3JkSW5kZXggPD0gdGhpcy5fd2luZG93SW5kZXhSaWdodCk7CiAg
ICAgfQogfQotCi1XZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5
cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUHJlc2VudGF0aW9u
TW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUHJl
c2VudGF0aW9uTW9kZWwuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTEyMmU2YjczNGUxMGE4ZTViOTM0ZjgwZDkw
MmYxMTkwZDZmZjg3ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5qcwpAQCAtMCwwICsxLDEwMSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
Ky8qKgorICogQGNvbnN0cnVjdG9yCisgKiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLk9iamVjdH0K
KyAqLworV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwgPSBmdW5jdGlvbigp
Cit7CisgICAgdGhpcy5fY2F0ZWdvcmllcyA9IHt9OworICAgIHRoaXMucmVzZXQoKTsKK30KKwor
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuRXZlbnRzID0geworICAgIFdp
bmRvd0NoYW5nZWQ6ICJXaW5kb3dDaGFuZ2VkIiwKKyAgICBDYXRlZ29yeVZpc2liaWxpdHlDaGFu
Z2VkOiAiQ2F0ZWdvcnlWaXNpYmlsaXR5Q2hhbmdlZCIKK30KKworV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0geworICAgIHJlc2V0OiBmdW5jdGlvbigp
CisgICAgeworICAgICAgICB0aGlzLndpbmRvd0xlZnQgPSAwLjA7CisgICAgICAgIHRoaXMud2lu
ZG93UmlnaHQgPSAxLjA7CisgICAgICAgIHRoaXMud2luZG93SW5kZXhMZWZ0ID0gMDsKKyAgICAg
ICAgdGhpcy53aW5kb3dJbmRleFJpZ2h0ID0gbnVsbDsKKyAgICB9LAorCisgICAgZ2V0IGNhdGVn
b3JpZXMoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2NhdGVnb3JpZXM7CisgICAgfSwK
KworICAgIC8qKgorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlRpbWVsaW5lQ2F0ZWdvcnl9
IGNhdGVnb3J5CisgICAgICovCisgICAgYWRkQ2F0ZWdvcnk6IGZ1bmN0aW9uKGNhdGVnb3J5KQor
ICAgIHsKKyAgICAgICAgdGhpcy5fY2F0ZWdvcmllc1tjYXRlZ29yeS5uYW1lXSA9IGNhdGVnb3J5
OworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge251bWJlcn0gbGVmdAorICAgICAq
IEBwYXJhbSB7bnVtYmVyfSByaWdodAorICAgICAqLworICAgIHNldFdpbmRvd1Bvc2l0aW9uOiBm
dW5jdGlvbihsZWZ0LCByaWdodCkKKyAgICB7CisgICAgICAgIHRoaXMud2luZG93TGVmdCA9IGxl
ZnQ7CisgICAgICAgIHRoaXMud2luZG93UmlnaHQgPSByaWdodDsKKyAgICAgICAgdGhpcy5kaXNw
YXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9k
ZWwuRXZlbnRzLldpbmRvd0NoYW5nZWQpOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFy
YW0ge251bWJlcn0gbGVmdAorICAgICAqIEBwYXJhbSB7P251bWJlcn0gcmlnaHQKKyAgICAgKi8K
KyAgICBzZXRXaW5kb3dJbmRpY2VzOiBmdW5jdGlvbihsZWZ0LCByaWdodCkKKyAgICB7CisgICAg
ICAgIHRoaXMud2luZG93SW5kZXhMZWZ0ID0gbGVmdDsKKyAgICAgICAgdGhpcy53aW5kb3dJbmRl
eFJpZ2h0ID0gcmlnaHQ7CisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdl
Ykluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLkV2ZW50cy5XaW5kb3dDaGFuZ2Vk
KTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVGltZWxp
bmVDYXRlZ29yeX0gY2F0ZWdvcnkKKyAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IHZpc2libGUKKyAg
ICAgKi8KKyAgICBzZXRDYXRlZ29yeVZpc2liaWxpdHk6IGZ1bmN0aW9uKGNhdGVnb3J5LCB2aXNp
YmxlKQorICAgIHsKKyAgICAgICAgY2F0ZWdvcnkuaGlkZGVuID0gIXZpc2libGU7CisgICAgICAg
IHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNl
bnRhdGlvbk1vZGVsLkV2ZW50cy5DYXRlZ29yeVZpc2liaWxpdHlDaGFuZ2VkLCBjYXRlZ29yeSk7
CisgICAgfQorfQorCitXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5wcm90
b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMKaW5kZXggZDEwMzFlMjg4
Mzk1YTdiZGVlNDM1ZjljZGRlYWY4NzliMDA2ZTMzNC4uOGRiMzkxZDkwMzA5MTk2NWVmN2QzNzk2
MDFjYjY2ZDExOTBiYWQ5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9XZWJLaXQucXJjCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvV2ViS2l0LnFyYwpAQCAtMTQ3LDggKzE0Nyw5IEBACiAgICAgPGZpbGU+VGV4dEVkaXRvck1v
ZGVsLmpzPC9maWxlPgogICAgIDxmaWxlPlRleHRQcm9tcHQuanM8L2ZpbGU+CiAgICAgPGZpbGU+
VGV4dFZpZXdlci5qczwvZmlsZT4KLSAgICA8ZmlsZT5UaW1lbGluZUFnZW50LmpzPC9maWxlPgog
ICAgIDxmaWxlPlRpbWVsaW5lTWFuYWdlci5qczwvZmlsZT4KKyAgICA8ZmlsZT5UaW1lbGluZU1v
ZGVsLmpzPC9maWxlPgorICAgIDxmaWxlPlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuanM8L2Zp
bGU+CiAgICAgPGZpbGU+VGltZWxpbmVHcmlkLmpzPC9maWxlPgogICAgIDxmaWxlPlRpbWVsaW5l
T3ZlcnZpZXdQYW5lLmpzPC9maWxlPgogICAgIDxmaWxlPlRpbWVsaW5lUGFuZWwuanM8L2ZpbGU+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
ci5odG1sIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRt
bAppbmRleCBlZTU2Yzg2YjIzMDk5ZDJkNzlmZDNlNjY5ZDQyMmEwNjUxYWI5NjYyLi40MTI0ZjA3
NjE5MDc1NmZjYTI3MjRhYTI2MjFjM2IzNTQ0NTcyZTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKQEAgLTcyLDYgKzcyLDcgQEAg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJSZXNvdXJj
ZVV0aWxzLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSJSZXNvdXJjZUNhdGVnb3J5LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSJUaW1lbGluZU1hbmFnZXIuanMiPjwvc2NyaXB0PgorICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlRpbWVsaW5lTW9kZWwuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkRhdGFiYXNlLmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJET01T
dG9yYWdlLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSJET01TdG9yYWdlSXRlbXNWaWV3LmpzIj48L3NjcmlwdD4KQEAgLTE3NSw3ICsxNzYsNyBA
QCBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkNvbXBp
bGVyU291cmNlTWFwcGluZy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iU2NyaXB0c1NlYXJjaFNjb3BlLmpzIj48L3NjcmlwdD4KICAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJET01BZ2VudC5qcyI+PC9zY3JpcHQ+Ci0g
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iVGltZWxpbmVBZ2VudC5qcyI+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iVGltZWxp
bmVQcmVzZW50YXRpb25Nb2RlbC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iVGltZWxpbmVQYW5lbC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iVGltZWxpbmVPdmVydmlld1BhbmUuanMiPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlRlc3RDb250
cm9sbGVyLmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlOWQ2ZDdiN2YxYzk4OGRkNTIyOTVhNmQwMDVm
MmFmYjg4OGQzMDUzLi4wOThlMzJjM2NiMTZhZGZkNTBkNDI5MjJjOGZiZjA2MDEzYzM4MzJjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDUgKzEsMjMgQEAKIDIwMTItMDItMjcgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1h
bkBnb29nbGUuY29tPgogCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGV4dHJhY3QgVGltZWxpbmVN
b2RlbCBhbmQgVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbCBpbnRvIHRoZWlyIG93biBmaWxlcy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5Njc1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvdGltZWxpbmUvdGltZWxpbmUtZW51bS1zdGFiaWxpdHkuaHRtbDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5odG1sOgorICAgICAgICAq
IGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1wYWludC5odG1sOgorICAgICAgICAqIGluc3Bl
Y3Rvci90aW1lbGluZS90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRtbDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtdGVzdC5qczoKKyAgICAgICAgKGluaXRpYWxpemVfVGlt
ZWxpbmUuSW5zcGVjdG9yVGVzdC53YWl0Rm9yUmVjb3JkVHlwZS5hZGRSZWNvcmQpOgorICAgICAg
ICAoaW5pdGlhbGl6ZV9UaW1lbGluZS5JbnNwZWN0b3JUZXN0LndhaXRGb3JSZWNvcmRUeXBlKToK
KyAgICAgICAgKGluaXRpYWxpemVfVGltZWxpbmUuSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5l
UmVjb3Jkcyk6CisgICAgICAgIChpbml0aWFsaXplX1RpbWVsaW5lLkluc3BlY3RvclRlc3QuZHVt
cFRpbWVsaW5lUmVjb3JkKToKKyAgICAgICAgKGluaXRpYWxpemVfVGltZWxpbmUuSW5zcGVjdG9y
VGVzdC5fdGltZWxpbmVBZ2VudFR5cGVUb1N0cmluZyk6CisKKzIwMTItMDItMjcgIFBhdmVsIEZl
bGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgorCiAgICAgICAgIFtTaGFkb3ddOiBFeHBvc2Ug
b25lIFNoYWRvd1Jvb3QgaW4gdGhlIEVsZW1lbnRzIHBhbmVsCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODIwMgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZW51bS1zdGFiaWxpdHkuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS5odG1s
CmluZGV4IDE4OGI0NjM2NzNkOTE5NGExMmEwMTk0YTQ5N2RiZWM1ZDM4Y2Y1Y2YuLmViMGIyMjk0
MjRkOTE4YjI2ZWZiOGI1Mjg0MDEzY2E4NDZmOTNlOGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS5odG1s
CkBAIC01LDcgKzUsNyBAQAogCiBmdW5jdGlvbiB0ZXN0KCkKIHsKLSAgICBJbnNwZWN0b3JUZXN0
LmFkZE9iamVjdChXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlKTsKKyAgICBJ
bnNwZWN0b3JUZXN0LmFkZE9iamVjdChXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRU
eXBlKTsKICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwogfQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbG9hZC5odG1sIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWxvYWQuaHRtbAppbmRleCA4Mzkx
ZmMzNWY1ODBkMmI2NTYyZWM0OTY5NzgzZjg1NDMzY2M2ZDk5Li4xNzEyYTc0Y2FmNTNkZTkxZWVm
OTgyYmYxN2FjMjFhNmVkYWI3YzBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dGltZWxpbmUvdGltZWxpbmUtbG9hZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90
aW1lbGluZS90aW1lbGluZS1sb2FkLmh0bWwKQEAgLTI0LDcgKzI0LDcgQEAgZnVuY3Rpb24gdGVz
dCgpCiAKICAgICBmdW5jdGlvbiBsb2FkTmV4dENodW5rKCkKICAgICB7Ci0gICAgICAgIFdlYklu
c3BlY3Rvci5wYW5lbHMudGltZWxpbmUuX21vZGVsLl9zYXZlVG9GaWxlKCk7CisgICAgICAgIFdl
Ykluc3BlY3Rvci5wYW5lbHMudGltZWxpbmUuX21vZGVsLnNhdmVUb0ZpbGUoKTsKICAgICB9CiAK
ICAgICBmdW5jdGlvbiBzYXZlQXMobmFtZSwgc2F2ZURhdGEpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLW5ldHdvcmstcmVzb3VyY2Uu
aHRtbAppbmRleCA4ZGM5ODE1YTcyNzQ2NTA1YjY4YzY5ZDliYmU2NWViOGY3OGU4OTBkLi40MjBm
YTBiNzhhY2NlODA4ZGU5NjliOTcwNDAyZmMzYWM5M2Q2NWUyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtbmV0d29yay1yZXNvdXJjZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1uZXR3b3JrLXJlc291
cmNlLmh0bWwKQEAgLTM1LDExICszNSwxMSBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICB7CiAgICAg
ICAgIGZ1bmN0aW9uIGZvcm1hdChyZWNvcmQpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmIChy
ZWNvcmQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5SZXNv
dXJjZVNlbmRSZXF1ZXN0KQorICAgICAgICAgICAgaWYgKHJlY29yZC50eXBlID09PSBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlJlc291cmNlU2VuZFJlcXVlc3QpCiAgICAg
ICAgICAgICAgICAgcHJpbnRTZW5kKHJlY29yZCk7Ci0gICAgICAgICAgICBlbHNlIGlmIChyZWNv
cmQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5SZXNvdXJj
ZVJlY2VpdmVSZXNwb25zZSkKKyAgICAgICAgICAgIGVsc2UgaWYgKHJlY29yZC50eXBlID09PSBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlLlJlc291cmNlUmVjZWl2ZVJlc3Bv
bnNlKQogICAgICAgICAgICAgICAgIHByaW50UmVjZWl2ZShyZWNvcmQpOwotICAgICAgICAgICAg
ZWxzZSBpZiAocmVjb3JkLnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29y
ZFR5cGUuUmVzb3VyY2VGaW5pc2gpCisgICAgICAgICAgICBlbHNlIGlmIChyZWNvcmQudHlwZSA9
PT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5SZXNvdXJjZUZpbmlzaCkK
ICAgICAgICAgICAgICAgICBwcmludEZpbmlzaChyZWNvcmQpOwogICAgICAgICB9CiAgICAgICAg
IEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZHMobnVsbCwgZm9ybWF0KTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1wYWludC5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXBhaW50Lmh0bWwKaW5k
ZXggODIwMThjZjcxZjllZWMzOTBlZDk4ODUxODMzMzMzYjk0Yzg1M2MxNS4uMmVmMjEzMmM2NTYy
YTkyZWQ4NjE5YzZiYzc4YWIwNzAyZTIzMzFjZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXBhaW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXBhaW50Lmh0bWwKQEAgLTI3LDcgKzI3LDcgQEAgZnVu
Y3Rpb24gdGVzdCgpCiAgICAgewogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY29yZHMu
bGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIHZhciByZWNvcmQgPSByZWNvcmRzW2ldOwotICAg
ICAgICAgICAgaWYgKHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5S
ZWNvcmRUeXBlLlBhaW50KSB7CisgICAgICAgICAgICBpZiAocmVjb3JkLnR5cGUgPT09IFdlYklu
c3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuUGFpbnQpIHsKICAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LnByaW50VGltZWxpbmVSZWNvcmRQcm9wZXJ0aWVzKHJlY29yZCk7CiAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWwKaW5k
ZXggOGQ3OTBmNjgyODY2YjhlYWE3Y2Q2NjJlNTM0ZDg4OGMyNmM4ZjY4MC4uZWZjZDAwNGU2Y2Ex
NDI2ODEyNzhlYzJlYjY1OGI3MzMxYjMwZjc0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXNjcmlwdC10YWctMS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1zY3JpcHQtdGFnLTEuaHRtbApAQCAtMjks
MTIgKzI5LDEyIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIHsKICAgICAgICAgZnVuY3Rpb24gZm9y
bWF0KHJlY29yZCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKHJlY29yZC50eXBlID09PSBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLkV2YWx1YXRlU2NyaXB0KQorICAg
ICAgICAgICAgaWYgKHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5S
ZWNvcmRUeXBlLkV2YWx1YXRlU2NyaXB0KQogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
cHJpbnRUaW1lbGluZVJlY29yZFByb3BlcnRpZXMocmVjb3JkKTsKLSAgICAgICAgICAgIGVsc2Ug
aWYgKHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBl
LlBhcnNlSFRNTCkgeworICAgICAgICAgICAgZWxzZSBpZiAocmVjb3JkLnR5cGUgPT09IFdlYklu
c3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuUGFyc2VIVE1MKSB7CiAgICAgICAgICAg
ICAgICAgdmFyIGNoaWxkcmVuID0gW107CiAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCByZWNvcmQuY2hpbGRyZW4ubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKHJlY29yZC5jaGlsZHJlbltpXS50eXBlICE9PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2Vu
dC5SZWNvcmRUeXBlLlJlY2FsY3VsYXRlU3R5bGVzKQorICAgICAgICAgICAgICAgICAgICBpZiAo
cmVjb3JkLmNoaWxkcmVuW2ldLnR5cGUgIT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJl
Y29yZFR5cGUuUmVjYWxjdWxhdGVTdHlsZXMpCiAgICAgICAgICAgICAgICAgICAgICAgICBjaGls
ZHJlbi5wdXNoKHJlY29yZC5jaGlsZHJlbltpXSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgIHJlY29yZC5jaGlsZHJlbiA9IGNoaWxkcmVuOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtdGVzdC5qcwppbmRleCA1NmQ5MjNiZTQ4ZDAyOGYy
YzQ1NmUzMTE0ZjBmMWFjNzQ4YTM0NzBlLi41M2FjZjM0MDRhYWJmNjAzNGMyYzVkMGYyMGRkMDVi
MDJjZjM5MjhiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGlt
ZWxpbmUtdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxp
bmUtdGVzdC5qcwpAQCAtNDEsNyArNDEsNyBAQCBJbnNwZWN0b3JUZXN0LndhaXRGb3JSZWNvcmRU
eXBlID0gZnVuY3Rpb24ocmVjb3JkVHlwZSwgY2FsbGJhY2spCiAKICAgICBmdW5jdGlvbiBhZGRS
ZWNvcmQocmVjb3JkKQogICAgIHsKLSAgICAgICAgaWYgKHJlY29yZC50eXBlICE9PSBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlW3JlY29yZFR5cGVdKSB7CisgICAgICAgIGlm
IChyZWNvcmQudHlwZSAhPT0gV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZVty
ZWNvcmRUeXBlXSkgewogICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IHJlY29yZC5jaGlsZHJl
biAmJiBpIDwgcmVjb3JkLmNoaWxkcmVuLmxlbmd0aDsgKytpKQogICAgICAgICAgICAgICAgIGFk
ZFJlY29yZChyZWNvcmQuY2hpbGRyZW5baV0pOwogICAgICAgICAgICAgcmV0dXJuIDsKQEAgLTg0
LDcgKzg0LDcgQEAgSW5zcGVjdG9yVGVzdC5wcmludFRpbWVsaW5lUmVjb3JkcyA9IGZ1bmN0aW9u
KHR5cGVOYW1lLCBmb3JtYXR0ZXIpCiB7CiAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBJbnNwZWN0
b3JUZXN0Ll90aW1lbGluZVJlY29yZHMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgdmFyIHJlY29y
ZCA9IEluc3BlY3RvclRlc3QuX3RpbWVsaW5lUmVjb3Jkc1tpXTsKLSAgICAgICAgaWYgKHR5cGVO
YW1lICYmIHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRU
eXBlW3R5cGVOYW1lXSkKKyAgICAgICAgaWYgKHR5cGVOYW1lICYmIHJlY29yZC50eXBlID09PSBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlW3R5cGVOYW1lXSkKICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QucHJpbnRUaW1lbGluZVJlY29yZFByb3BlcnRpZXMocmVjb3JkKTsK
ICAgICAgICAgaWYgKGZvcm1hdHRlcikKICAgICAgICAgICAgIGZvcm1hdHRlcihyZWNvcmQpOwpA
QCAtMTAyLDcgKzEwMiw3IEBAIEluc3BlY3RvclRlc3QuZHVtcFRpbWVsaW5lUmVjb3JkID0gZnVu
Y3Rpb24ocmVjb3JkLCBsZXZlbCkKICAgICAgICAgcHJlZml4ID0gIi0tLS0iICsgcHJlZml4Owog
ICAgIGlmIChsZXZlbCA+IDApCiAgICAgICAgIHByZWZpeCA9IHByZWZpeCArICI+ICI7Ci0gICAg
aWYgKHJlY29yZC50eXBlID09PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBl
LlRpbWVTdGFtcCkgeworICAgIGlmIChyZWNvcmQudHlwZSA9PT0gV2ViSW5zcGVjdG9yLlRpbWVs
aW5lTW9kZWwuUmVjb3JkVHlwZS5UaW1lU3RhbXApIHsKICAgICAgICAgc3VmZml4ID0gIiA6ICIg
KyByZWNvcmQuZGF0YS5tZXNzYWdlOwogICAgIH0KICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dChwcmVmaXggKyBJbnNwZWN0b3JUZXN0Ll90aW1lbGluZUFnZW50VHlwZVRvU3RyaW5nKHJlY29y
ZC50eXBlKSArIHN1ZmZpeCk7CkBAIC0xMjcsOCArMTI3LDggQEAgSW5zcGVjdG9yVGVzdC5wcmlu
dFRpbWVsaW5lUmVjb3JkUHJvcGVydGllcyA9IGZ1bmN0aW9uKHJlY29yZCkKIAogSW5zcGVjdG9y
VGVzdC5fdGltZWxpbmVBZ2VudFR5cGVUb1N0cmluZyA9IGZ1bmN0aW9uKG51bWVyaWNUeXBlKQog
ewotICAgIGZvciAodmFyIHByb3AgaW4gV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3Jk
VHlwZSkgewotICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlw
ZVtwcm9wXSA9PT0gbnVtZXJpY1R5cGUpCisgICAgZm9yICh2YXIgcHJvcCBpbiBXZWJJbnNwZWN0
b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlKSB7CisgICAgICAgIGlmIChXZWJJbnNwZWN0b3Iu
VGltZWxpbmVNb2RlbC5SZWNvcmRUeXBlW3Byb3BdID09PSBudW1lcmljVHlwZSkKICAgICAgICAg
ICAgIHJldHVybiBwcm9wOwogICAgIH0KICAgICByZXR1cm4gdW5kZWZpbmVkOwo=
</data>
<flag name="review"
          id="131594"
          type_id="1"
          status="+"
          setter="vsevik"
    />
          </attachment>
      

    </bug>

</bugzilla>