<?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>165492</bug_id>
          
          <creation_ts>2016-12-06 14:32:51 -0800</creation_ts>
          <short_desc>[Modern Media Controls] Automatically hide the controls bar when the mouse is idle</short_desc>
          <delta_ts>2016-12-06 15:40:24 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1256971</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-12-06 14:32:51 -0800</bug_when>
    <thetext>[Modern Media Controls] Automatically hide the controls bar when the mouse is idle</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256982</commentid>
    <comment_count>1</comment_count>
      <attachid>296324</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-12-06 14:41:33 -0800</bug_when>
    <thetext>Created attachment 296324
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257008</commentid>
    <comment_count>2</comment_count>
      <attachid>296324</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-12-06 15:17:36 -0800</bug_when>
    <thetext>Comment on attachment 296324
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        visible for 4 seconds, regardless of where the mouse pointer is located. When the user mouves over the

typo moves or mouses, i&apos;m not sure.

&gt; Source/WebCore/ChangeLog:11
&gt; +        moved his mouve over the media. When the user mouses out of the media, the controls automatically hide.

typo mouse

&gt; Source/WebCore/ChangeLog:13
&gt; +        When the mouse is over the controls bar, it remains visible. When the media is paused, the controls bar
&gt; +        remain visible regardless of the mouse position.

Dan thinks this is not the correct experience. He thinks you should be able to click to hide the controls, so that you can take a screenshot. This is how Sochi worked.

&gt; Source/WebCore/ChangeLog:22
&gt; +        * Modules/modern-media-controls/controls/controls-bar.css: Copied from Source/WebCore/Modules/modern-media-controls/controls/controls-bar.js.

Next time I see this it is r-

&gt; Source/WebCore/Modules/modern-media-controls/controls/controls-bar.js:39
&gt; +        this.autoHideDelay = ControlsBar.DefaultAutoHideDelay;

It&apos;s annoying that your dataset attribute means that you need an instance of the delay on the object.

&gt; Source/WebCore/Modules/modern-media-controls/controls/controls-bar.js:144
&gt; +                this._rewindAutoHideTimer(true);

I think this should be _resetAutoHideTimer

&gt; Source/WebCore/Modules/modern-media-controls/controls/controls-bar.js:182
&gt; +    _rewindAutoHideTimer(cancelable)

Prefer _resetAutoHideTimer.

&gt; LayoutTests/media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-enter-and-mouse-leave.html:4
&gt; +&lt;video src=&quot;../../content/test.mp4&quot; style=&quot;position: absolute; left: 0; top: 0; width: 320px; height: 240px;&quot; controls autoplay data-auto-hide-delay=&quot;250&quot;&gt;&lt;/video&gt;

Can you make it 100?

&gt; LayoutTests/media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-enter-and-mouse-leave.html:25
&gt; +        eventSender.mouseMoveTo(100, 100);

I&apos;d really prefer UIScripts here, but I guess they don&apos;t work on macOS.

&gt; LayoutTests/media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-enter-and-mouse-leave.html:26
&gt; +        window.requestAnimationFrame(() =&gt; {

Why rAF instead of a timer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257023</commentid>
    <comment_count>3</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-12-06 15:33:53 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 296324 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=296324&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        visible for 4 seconds, regardless of where the mouse pointer is located. When the user mouves over the
&gt; 
&gt; typo moves or mouses, i&apos;m not sure.
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:11
&gt; &gt; +        moved his mouve over the media. When the user mouses out of the media, the controls automatically hide.
&gt; 
&gt; typo mouse
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:13
&gt; &gt; +        When the mouse is over the controls bar, it remains visible. When the media is paused, the controls bar
&gt; &gt; +        remain visible regardless of the mouse position.
&gt; 
&gt; Dan thinks this is not the correct experience. He thinks you should be able
&gt; to click to hide the controls, so that you can take a screenshot. This is
&gt; how Sochi worked.

Yes, I have it fixed in my branch, this is covered by a separate bug.

&gt; &gt; Source/WebCore/ChangeLog:22
&gt; &gt; +        * Modules/modern-media-controls/controls/controls-bar.css: Copied from Source/WebCore/Modules/modern-media-controls/controls/controls-bar.js.
&gt; 
&gt; Next time I see this it is r-

Oops.

&gt; &gt; Source/WebCore/Modules/modern-media-controls/controls/controls-bar.js:39
&gt; &gt; +        this.autoHideDelay = ControlsBar.DefaultAutoHideDelay;
&gt; 
&gt; It&apos;s annoying that your dataset attribute means that you need an instance of
&gt; the delay on the object.

Yes, that&apos;s the best way I could think of modifying the timer from a test though.

&gt; &gt; Source/WebCore/Modules/modern-media-controls/controls/controls-bar.js:144
&gt; &gt; +                this._rewindAutoHideTimer(true);
&gt; 
&gt; I think this should be _resetAutoHideTimer
&gt; 
&gt; &gt; Source/WebCore/Modules/modern-media-controls/controls/controls-bar.js:182
&gt; &gt; +    _rewindAutoHideTimer(cancelable)
&gt; 
&gt; Prefer _resetAutoHideTimer.

OK, will fix.

&gt; &gt; LayoutTests/media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-enter-and-mouse-leave.html:4
&gt; &gt; +&lt;video src=&quot;../../content/test.mp4&quot; style=&quot;position: absolute; left: 0; top: 0; width: 320px; height: 240px;&quot; controls autoplay data-auto-hide-delay=&quot;250&quot;&gt;&lt;/video&gt;
&gt; 
&gt; Can you make it 100?

I prefer to use 250, I worry that 100 would be too short and that we might face some timing-related issues.

&gt; &gt; LayoutTests/media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-enter-and-mouse-leave.html:26
&gt; &gt; +        window.requestAnimationFrame(() =&gt; {
&gt; 
&gt; Why rAF instead of a timer?

Because we want to wait for the media controls scheduler to perform its layout tasks on the next rAF.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257027</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-12-06 15:40:24 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/209430</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296324</attachid>
            <date>2016-12-06 14:41:33 -0800</date>
            <delta_ts>2016-12-06 15:17:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165492-20161206144056.patch</filename>
            <type>text/plain</type>
            <size>37860</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5MzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzcyN2IxOTU4NzYxMjcx
NDMzYjFhNzNmNDg4MWVjMTlkNTIzMThjOC4uYWI0MDExYTMxMmEyOTVhMjNlMjgyMTEwZjJlZjEw
M2RhNDQ5YjFlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDE2LTEyLTA2ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW01vZGVybiBNZWRpYSBD
b250cm9sc10gQXV0b21hdGljYWxseSBoaWRlIHRoZSBjb250cm9scyBiYXIgd2hlbiB0aGUgbW91
c2UgaXMgaWRsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY1NDkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV2Ugbm93IGF1dG9tYXRpY2FsbHkgaGlkZSB0aGUgY29udHJvbHMgYmFyLiBXaGVuIHRoZSBt
ZWRpYSBpcyBubyBsb25nZXIgcGF1c2VkLCB0aGUgY29udHJvbHMgcmVtYWluCisgICAgICAgIHZp
c2libGUgZm9yIDQgc2Vjb25kcywgcmVnYXJkbGVzcyBvZiB3aGVyZSB0aGUgbW91c2UgcG9pbnRl
ciBpcyBsb2NhdGVkLiBXaGVuIHRoZSB1c2VyIG1vdXZlcyBvdmVyIHRoZQorICAgICAgICBtZWRp
YSwgdGhlIGNvbnRyb2xzIGJlY29tZSB2aXNpYmxlIGFuZCBhdXRvbWF0aWNhbGx5IGhpZGUgNCBz
ZWNvbmRzIGFmdGVyIHRoZSBsYXN0IHRpbWUgdGhlIHVzZXIgaGFzCisgICAgICAgIG1vdmVkIGhp
cyBtb3V2ZSBvdmVyIHRoZSBtZWRpYS4gV2hlbiB0aGUgdXNlciBtb3VzZXMgb3V0IG9mIHRoZSBt
ZWRpYSwgdGhlIGNvbnRyb2xzIGF1dG9tYXRpY2FsbHkgaGlkZS4KKyAgICAgICAgV2hlbiB0aGUg
bW91c2UgaXMgb3ZlciB0aGUgY29udHJvbHMgYmFyLCBpdCByZW1haW5zIHZpc2libGUuIFdoZW4g
dGhlIG1lZGlhIGlzIHBhdXNlZCwgdGhlIGNvbnRyb2xzIGJhcgorICAgICAgICByZW1haW4gdmlz
aWJsZSByZWdhcmRsZXNzIG9mIHRoZSBtb3VzZSBwb3NpdGlvbi4KKworICAgICAgICBUZXN0czog
bWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJv
bGxlci1hdXRvLWhpZGUtbW91c2UtZW50ZXItYW5kLW1vdXNlLWxlYXZlLmh0bWwKKyAgICAgICAg
ICAgICAgIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlh
LWNvbnRyb2xsZXItYXV0by1oaWRlLW1vdXNlLWVudGVyLW92ZXItY29udHJvbHMtYmFyLmh0bWwK
KyAgICAgICAgICAgICAgIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9s
bGVyL21lZGlhLWNvbnRyb2xsZXItYXV0by1oaWRlLW1vdXNlLWxlYXZlLWFmdGVyLXBsYXkuaHRt
bAorICAgICAgICAgICAgICAgbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRy
b2xsZXIvbWVkaWEtY29udHJvbGxlci1hdXRvLWhpZGUtcGF1c2UuaHRtbAorICAgICAgICAgICAg
ICAgbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29u
dHJvbGxlci1hdXRvLWhpZGUtcmV3aW5kLXdpdGgtbW91c2UtZW50ZXIuaHRtbAorICAgICAgICAg
ICAgICAgbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEt
Y29udHJvbGxlci1hdXRvLWhpZGUuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvY29udHJvbHMvY29udHJvbHMtYmFyLmNzczogQ29waWVkIGZyb20gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvY29udHJvbHMt
YmFyLmpzLgorICAgICAgICAoLmNvbnRyb2xzLWJhcik6CisgICAgICAgICguY29udHJvbHMtYmFy
LmZhZGVkKToKKyAgICAgICAgKiBNb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9s
cy9jb250cm9scy1iYXIuanM6CisgICAgICAgIChDb250cm9sc0Jhci5wcm90b3R5cGUuZ2V0IHVz
ZXJJbnRlcmFjdGlvbkVuYWJsZWQpOgorICAgICAgICAoQ29udHJvbHNCYXIucHJvdG90eXBlLnNl
dCB1c2VySW50ZXJhY3Rpb25FbmFibGVkKToKKyAgICAgICAgKENvbnRyb2xzQmFyLnByb3RvdHlw
ZS5nZXQgZmFkZXNXaGlsZUlkbGUpOgorICAgICAgICAoQ29udHJvbHNCYXIucHJvdG90eXBlLnNl
dCBmYWRlc1doaWxlSWRsZSk6CisgICAgICAgIChDb250cm9sc0Jhci5wcm90b3R5cGUuZ2V0IHZp
c2libGUpOgorICAgICAgICAoQ29udHJvbHNCYXIucHJvdG90eXBlLnNldCB2aXNpYmxlKToKKyAg
ICAgICAgKENvbnRyb2xzQmFyLnByb3RvdHlwZS5nZXQgZmFkZWQpOgorICAgICAgICAoQ29udHJv
bHNCYXIucHJvdG90eXBlLnNldCBmYWRlZCk6CisgICAgICAgIChDb250cm9sc0Jhci5wcm90b3R5
cGUuaGFuZGxlRXZlbnQpOgorICAgICAgICAoQ29udHJvbHNCYXIucHJvdG90eXBlLmNvbW1pdFBy
b3BlcnR5KToKKyAgICAgICAgKENvbnRyb2xzQmFyLnByb3RvdHlwZS5fY2FuY2VsQXV0b0hpZGVU
aW1lcik6CisgICAgICAgIChDb250cm9sc0Jhci5wcm90b3R5cGUuX3Jld2luZEF1dG9IaWRlVGlt
ZXIpOgorICAgICAgICAoQ29udHJvbHNCYXIucHJvdG90eXBlLl9hdXRvSGlkZVRpbWVyRmlyZWQp
OgorICAgICAgICAqIE1vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21lZGlh
LWNvbnRyb2xzLmpzOgorICAgICAgICAqIE1vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21l
ZGlhL2NvbnRyb2xzLXZpc2liaWxpdHktc3VwcG9ydC5qczoKKyAgICAgICAgKENvbnRyb2xzVmlz
aWJpbGl0eVN1cHBvcnQucHJvdG90eXBlLmdldCBtZWRpYUV2ZW50cyk6CisgICAgICAgIChDb250
cm9sc1Zpc2liaWxpdHlTdXBwb3J0LnByb3RvdHlwZS5zeW5jQ29udHJvbCk6CisgICAgICAgIChD
b250cm9sc1Zpc2liaWxpdHlTdXBwb3J0KToKKyAgICAgICAgKiBNb2R1bGVzL21vZGVybi1tZWRp
YS1jb250cm9scy9tZWRpYS9tZWRpYS1jb250cm9sbGVyLmpzOgorICAgICAgICAoTWVkaWFDb250
cm9sbGVyLnByb3RvdHlwZS5fdXBkYXRlQ29udHJvbHNJZk5lZWRlZCk6CisKIDIwMTYtMTItMDYg
IFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBbV2ViSURMXSBBZGQgc3Vw
cG9ydCBmb3IgY29udmVydGluZyBkaWN0aW9uYXJpZXMgdG8gSlMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2NvbnRyb2xz
LWJhci5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9j
b250cm9scy9jb250cm9scy1iYXIuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU3MmFlYTljY2UxZjAwNzcwOGQ4
MjcwYzgyNzI1ZTRlZmJmY2Y5YzkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9jb250cm9scy1iYXIuY3NzCkBA
IC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwg
UmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisuY29udHJvbHMtYmFyIHsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgdHJhbnNp
dGlvbjogb3BhY2l0eSAwLjFzIGxpbmVhcjsKK30KKworLmNvbnRyb2xzLWJhci5mYWRlZCB7Cisg
ICAgb3BhY2l0eTogMDsKKyAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKKyAgICB0cmFuc2l0aW9u
LWR1cmF0aW9uOiAwLjI1czsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2NvbnRyb2xzLWJhci5qcyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2NvbnRyb2xzLWJh
ci5qcwppbmRleCAwZGZlM2E4YjJlNzBmNTQyZWJjOWE4ZGU4MGIzNDgxNDM4MDYzMzY5Li5kODkz
ZmNhYjIwYWZkMDVmOWYyZTliNjBjMzlkOWM4ZmVmZjFkOTI5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9jb250cm9scy1i
YXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
Y29udHJvbHMvY29udHJvbHMtYmFyLmpzCkBAIC0yNiwxMSArMjYsMTcgQEAKIGNsYXNzIENvbnRy
b2xzQmFyIGV4dGVuZHMgTGF5b3V0Tm9kZQogewogCi0gICAgY29uc3RydWN0b3IoKQorICAgIGNv
bnN0cnVjdG9yKG1lZGlhQ29udHJvbHMpCiAgICAgewogICAgICAgICBzdXBlcihgPGRpdiBjbGFz
cz0iY29udHJvbHMtYmFyIj5gKTsKIAogICAgICAgICB0aGlzLl90cmFuc2xhdGlvbiA9IG5ldyBE
T01Qb2ludDsKKyAgICAgICAgdGhpcy5fbWVkaWFDb250cm9scyA9IG1lZGlhQ29udHJvbHM7CisK
KyAgICAgICAgdGhpcy5mYWRlc1doaWxlSWRsZSA9IGZhbHNlOworICAgICAgICB0aGlzLnVzZXJJ
bnRlcmFjdGlvbkVuYWJsZWQgPSB0cnVlOworCisgICAgICAgIHRoaXMuYXV0b0hpZGVEZWxheSA9
IENvbnRyb2xzQmFyLkRlZmF1bHRBdXRvSGlkZURlbGF5OwogICAgIH0KIAogICAgIC8vIFB1Ymxp
YwpAQCAtNDksMTQgKzU1LDE1NSBAQCBjbGFzcyBDb250cm9sc0JhciBleHRlbmRzIExheW91dE5v
ZGUKICAgICAgICAgdGhpcy5tYXJrRGlydHlQcm9wZXJ0eSgidHJhbnNsYXRpb24iKTsKICAgICB9
CiAKKyAgICBnZXQgdXNlckludGVyYWN0aW9uRW5hYmxlZCgpCisgICAgeworICAgICAgICByZXR1
cm4gdGhpcy5fdXNlckludGVyYWN0aW9uRW5hYmxlZDsKKyAgICB9CisKKyAgICBzZXQgdXNlcklu
dGVyYWN0aW9uRW5hYmxlZChmbGFnKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX3VzZXJJbnRl
cmFjdGlvbkVuYWJsZWQgPT09IGZsYWcpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAg
dGhpcy5fdXNlckludGVyYWN0aW9uRW5hYmxlZCA9IGZsYWc7CisgICAgICAgIHRoaXMubWFya0Rp
cnR5UHJvcGVydHkoInVzZXJJbnRlcmFjdGlvbkVuYWJsZWQiKTsKKyAgICB9CisKKyAgICBnZXQg
ZmFkZXNXaGlsZUlkbGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2ZhZGVzV2hpbGVJ
ZGxlOworICAgIH0KKworICAgIHNldCBmYWRlc1doaWxlSWRsZShmbGFnKQorICAgIHsKKyAgICAg
ICAgaWYgKHRoaXMuX2ZhZGVzV2hpbGVJZGxlID09IGZsYWcpCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgdGhpcy5fZmFkZXNXaGlsZUlkbGUgPSBmbGFnOworCisgICAgICAgIGlmIChm
bGFnKSB7CisgICAgICAgICAgICB0aGlzLl9tZWRpYUNvbnRyb2xzLmVsZW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigibW91c2Vtb3ZlIiwgdGhpcyk7CisgICAgICAgICAgICB0aGlzLl9tZWRpYUNvbnRy
b2xzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsIHRoaXMpOworICAgICAg
ICAgICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLCB0aGlzKTsK
KyAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIiwg
dGhpcyk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB0aGlzLl9tZWRpYUNvbnRyb2xz
LmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIiwgdGhpcyk7CisgICAgICAg
ICAgICB0aGlzLl9tZWRpYUNvbnRyb2xzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91
c2VsZWF2ZSIsIHRoaXMpOworICAgICAgICAgICAgdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlz
dGVuZXIoIm1vdXNlZW50ZXIiLCB0aGlzKTsKKyAgICAgICAgICAgIHRoaXMuZWxlbWVudC5yZW1v
dmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIiwgdGhpcyk7CisgICAgICAgIH0KKworICAgICAg
ICBpZiAoZmxhZyAmJiAhdGhpcy5mYWRlZCkKKyAgICAgICAgICAgIHRoaXMuX3Jld2luZEF1dG9I
aWRlVGltZXIoZmFsc2UpOworICAgICAgICBlbHNlIGlmICghZmxhZykKKyAgICAgICAgICAgIHRo
aXMuZmFkZWQgPSBmYWxzZTsKKyAgICB9CisKKyAgICBnZXQgdmlzaWJsZSgpCisgICAgeworICAg
ICAgICByZXR1cm4gc3VwZXIudmlzaWJsZTsKKyAgICB9CisKKyAgICBzZXQgdmlzaWJsZShmbGFn
KQorICAgIHsKKyAgICAgICAgLy8gSWYgd2UganVzdCBnb3QgbWFkZSB2aXNpYmxlIGFnYWluLCBs
ZXQncyBmYWRlIHRoZSBjb250cm9scyBpbi4KKyAgICAgICAgaWYgKGZsYWcgJiYgIXRoaXMudmlz
aWJsZSkKKyAgICAgICAgICAgIHRoaXMuZmFkZWQgPSBmYWxzZTsKKyAgICAgICAgZWxzZSBpZiAo
IWZsYWcpCisgICAgICAgICAgICB0aGlzLl9jYW5jZWxBdXRvSGlkZVRpbWVyKCk7CisKKyAgICAg
ICAgc3VwZXIudmlzaWJsZSA9IGZsYWc7CisgICAgfQorCisgICAgZ2V0IGZhZGVkKCkKKyAgICB7
CisgICAgICAgIHJldHVybiAhIXRoaXMuX2ZhZGVkOworICAgIH0KKworICAgIHNldCBmYWRlZChm
bGFnKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX2ZhZGVkID09PSBmbGFnKQorICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgIHRoaXMuX2ZhZGVkID0gZmxhZzsKKyAgICAgICAgaWYgKCFm
bGFnKQorICAgICAgICAgICAgdGhpcy5fcmV3aW5kQXV0b0hpZGVUaW1lcih0cnVlKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2VuZm9yY2VBdXRvSGlkZVRpbWVyOwor
CisgICAgICAgIHRoaXMubWFya0RpcnR5UHJvcGVydHkoImZhZGVkIik7CisgICAgfQorCiAgICAg
Ly8gUHJvdGVjdGVkCiAKKyAgICBoYW5kbGVFdmVudChldmVudCkKKyAgICB7CisgICAgICAgIGlm
IChldmVudC5jdXJyZW50VGFyZ2V0ID09PSB0aGlzLl9tZWRpYUNvbnRyb2xzLmVsZW1lbnQpIHsK
KyAgICAgICAgICAgIGlmIChldmVudC50eXBlID09PSAibW91c2Vtb3ZlIikgeworICAgICAgICAg
ICAgICAgIHRoaXMuZmFkZWQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICB0aGlzLl9yZXdpbmRB
dXRvSGlkZVRpbWVyKHRydWUpOworICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC50eXBlID09
PSAibW91c2VsZWF2ZSIgJiYgdGhpcy5fZmFkZXNXaGlsZUlkbGUgJiYgIXRoaXMuX2VuZm9yY2VB
dXRvSGlkZVRpbWVyKQorICAgICAgICAgICAgICAgIHRoaXMuZmFkZWQgPSB0cnVlOworICAgICAg
ICB9IGVsc2UgaWYgKGV2ZW50LmN1cnJlbnRUYXJnZXQgPT09IHRoaXMuZWxlbWVudCkgeworICAg
ICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICJtb3VzZWVudGVyIikgeworICAgICAgICAgICAg
ICAgIHRoaXMuX2Rpc2FibGVBdXRvSGlkaW5nID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB0aGlz
Ll9jYW5jZWxBdXRvSGlkZVRpbWVyKCk7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LnR5
cGUgPT09ICJtb3VzZWxlYXZlIikgeworICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9kaXNh
YmxlQXV0b0hpZGluZzsKKyAgICAgICAgICAgICAgICB0aGlzLl9yZXdpbmRBdXRvSGlkZVRpbWVy
KHRydWUpOworICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC50eXBlID09PSAiZm9jdXMiKQor
ICAgICAgICAgICAgICAgIHRoaXMuZmFkZWQgPSBmYWxzZTsKKyAgICAgICAgfQorICAgIH0KKwog
ICAgIGNvbW1pdFByb3BlcnR5KHByb3BlcnR5TmFtZSkKICAgICB7CiAgICAgICAgIGlmIChwcm9w
ZXJ0eU5hbWUgPT09ICJ0cmFuc2xhdGlvbiIpCiAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuc3R5
bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZSgke3RoaXMuX3RyYW5zbGF0aW9uLnh9cHgsICR7dGhp
cy5fdHJhbnNsYXRpb24ueX1weClgOworICAgICAgICBlbHNlIGlmIChwcm9wZXJ0eU5hbWUgPT09
ICJmYWRlZCIpCisgICAgICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgiZmFk
ZWQiLCB0aGlzLmZhZGVkKTsKKyAgICAgICAgZWxzZSBpZiAocHJvcGVydHlOYW1lID09PSAidXNl
ckludGVyYWN0aW9uRW5hYmxlZCIpCisgICAgICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUucG9p
bnRlckV2ZW50cyA9IHRoaXMuX3VzZXJJbnRlcmFjdGlvbkVuYWJsZWQgPyAiYWxsIiA6ICJub25l
IjsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgc3VwZXIuY29tbWl0UHJvcGVydHkocHJvcGVy
dHlOYW1lKTsKICAgICB9CiAKKyAgICAvLyBQcml2YXRlCisKKyAgICBfY2FuY2VsQXV0b0hpZGVU
aW1lcigpCisgICAgeworICAgICAgICBpZiAodGhpcy5fZW5mb3JjZUF1dG9IaWRlVGltZXIpCisg
ICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLl9h
dXRvSGlkZVRpbWVyKTsKKyAgICAgICAgZGVsZXRlIHRoaXMuX2F1dG9IaWRlVGltZXI7CisgICAg
fQorCisgICAgX3Jld2luZEF1dG9IaWRlVGltZXIoY2FuY2VsYWJsZSkKKyAgICB7CisgICAgICAg
IGlmIChjYW5jZWxhYmxlICYmIHRoaXMuX2VuZm9yY2VBdXRvSGlkZVRpbWVyKQorICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgIHRoaXMuX2NhbmNlbEF1dG9IaWRlVGltZXIoKTsKKworICAg
ICAgICBpZiAoY2FuY2VsYWJsZSkKKyAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9lbmZvcmNlQXV0
b0hpZGVUaW1lcjsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhpcy5fZW5mb3JjZUF1dG9I
aWRlVGltZXIgPSB0cnVlOworCisgICAgICAgIHRoaXMuX2F1dG9IaWRlVGltZXIgPSB3aW5kb3cu
c2V0VGltZW91dCh0aGlzLl9hdXRvSGlkZVRpbWVyRmlyZWQuYmluZCh0aGlzKSwgdGhpcy5hdXRv
SGlkZURlbGF5KTsKKyAgICB9CisKKyAgICBfYXV0b0hpZGVUaW1lckZpcmVkKCkKKyAgICB7Cisg
ICAgICAgIGRlbGV0ZSB0aGlzLl9lbmZvcmNlQXV0b0hpZGVUaW1lcjsKKyAgICAgICAgaWYgKHRo
aXMuX2Rpc2FibGVBdXRvSGlkaW5nKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRo
aXMuX2NhbmNlbEF1dG9IaWRlVGltZXIoKTsKKyAgICAgICAgdGhpcy5mYWRlZCA9IHRoaXMuX2Zh
ZGVzV2hpbGVJZGxlOworICAgIH0KKwogfQorCitDb250cm9sc0Jhci5EZWZhdWx0QXV0b0hpZGVE
ZWxheSA9IDQwMDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1t
ZWRpYS1jb250cm9scy9jb250cm9scy9tZWRpYS1jb250cm9scy5qcyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21lZGlhLWNvbnRyb2xzLmpz
CmluZGV4IDI4Zjc3NGEzZThlNjQ2NmUyYWZkMmY5YmY0ZGFlYWVkNDkwZWQ5NzcuLmZkNTQ4OGEz
MjI5YTM2Y2VjZDUyZmUyY2U2YzdjMzg2YTQ3MjEyNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21lZGlhLWNvbnRyb2xz
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2Nv
bnRyb2xzL21lZGlhLWNvbnRyb2xzLmpzCkBAIC00NSw3ICs0NSw3IEBAIGNsYXNzIE1lZGlhQ29u
dHJvbHMgZXh0ZW5kcyBMYXlvdXROb2RlCiAgICAgICAgIHRoaXMuc3RhdHVzTGFiZWwgPSBuZXcg
U3RhdHVzTGFiZWwodGhpcykKICAgICAgICAgdGhpcy50aW1lQ29udHJvbCA9IG5ldyBUaW1lQ29u
dHJvbCh0aGlzKTsKIAotICAgICAgICB0aGlzLmNvbnRyb2xzQmFyID0gbmV3IENvbnRyb2xzQmFy
OworICAgICAgICB0aGlzLmNvbnRyb2xzQmFyID0gbmV3IENvbnRyb2xzQmFyKHRoaXMpOwogCiAg
ICAgICAgIHRoaXMuYWlycGxheVBsYWNhcmQgPSBuZXcgQWlycGxheVBsYWNhcmQodGhpcyk7CiAg
ICAgICAgIHRoaXMuaW52YWxpZFBsYWNhcmQgPSBuZXcgSW52YWxpZFBsYWNhcmQodGhpcyk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9t
ZWRpYS9jb250cm9scy12aXNpYmlsaXR5LXN1cHBvcnQuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9jb250cm9scy12aXNpYmlsaXR5LXN1cHBv
cnQuanMKaW5kZXggNDhkYTY0ODgxMmIyZDY0YzZmNmVkNGE3NDBmNzYzMzg5MWM4MTQwMS4uMjBk
M2YzM2YwN2IxOTAxZjFlNWY3MTMwNDE0MTc1ZTg5YjA3NzIxZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvY29udHJvbHMtdmlz
aWJpbGl0eS1zdXBwb3J0LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL21lZGlhL2NvbnRyb2xzLXZpc2liaWxpdHktc3VwcG9ydC5qcwpAQCAtNDMs
MTcgKzQzLDIxIEBAIGNsYXNzIENvbnRyb2xzVmlzaWJpbGl0eVN1cHBvcnQgZXh0ZW5kcyBNZWRp
YUNvbnRyb2xsZXJTdXBwb3J0CiAKICAgICBnZXQgbWVkaWFFdmVudHMoKQogICAgIHsKLSAgICAg
ICAgcmV0dXJuIFsibG9hZGVkbWV0YWRhdGEiXTsKKyAgICAgICAgcmV0dXJuIFsibG9hZGVkbWV0
YWRhdGEiLCAicGxheSIsICJwYXVzZSJdOwogICAgIH0KIAogICAgIHN5bmNDb250cm9sKCkKICAg
ICB7CisgICAgICAgIGNvbnN0IG1lZGlhID0gdGhpcy5tZWRpYUNvbnRyb2xsZXIubWVkaWE7Cisg
ICAgICAgIGNvbnN0IGlzVmlkZW8gPSBtZWRpYSBpbnN0YW5jZW9mIEhUTUxWaWRlb0VsZW1lbnQ7
CiAgICAgICAgIGxldCBzaG91bGRTaG93Q29udHJvbHMgPSB0aGlzLm1lZGlhQ29udHJvbGxlci5t
ZWRpYS5jb250cm9sczsKLSAgICAgICAgaWYgKHRoaXMubWVkaWFDb250cm9sbGVyLm1lZGlhIGlu
c3RhbmNlb2YgSFRNTFZpZGVvRWxlbWVudCkKLSAgICAgICAgICAgIHNob3VsZFNob3dDb250cm9s
cyA9IHNob3VsZFNob3dDb250cm9scyAmJiB0aGlzLm1lZGlhQ29udHJvbGxlci5tZWRpYS5yZWFk
eVN0YXRlID4gSFRNTE1lZGlhRWxlbWVudC5IQVZFX05PVEhJTkc7CisgICAgICAgIGlmIChpc1Zp
ZGVvKQorICAgICAgICAgICAgc2hvdWxkU2hvd0NvbnRyb2xzID0gc2hvdWxkU2hvd0NvbnRyb2xz
ICYmIG1lZGlhLnJlYWR5U3RhdGUgPiBIVE1MTWVkaWFFbGVtZW50LkhBVkVfTk9USElORzsKIAot
ICAgICAgICB0aGlzLm1lZGlhQ29udHJvbGxlci5jb250cm9scy5zdGFydEJ1dHRvbi52aXNpYmxl
ID0gc2hvdWxkU2hvd0NvbnRyb2xzOwotICAgICAgICB0aGlzLm1lZGlhQ29udHJvbGxlci5jb250
cm9scy5jb250cm9sc0Jhci52aXNpYmxlID0gc2hvdWxkU2hvd0NvbnRyb2xzOworICAgICAgICBj
b25zdCBjb250cm9scyA9IHRoaXMubWVkaWFDb250cm9sbGVyLmNvbnRyb2xzOworICAgICAgICBj
b250cm9scy5zdGFydEJ1dHRvbi52aXNpYmxlID0gc2hvdWxkU2hvd0NvbnRyb2xzOworICAgICAg
ICBjb250cm9scy5jb250cm9sc0Jhci52aXNpYmxlID0gc2hvdWxkU2hvd0NvbnRyb2xzOworICAg
ICAgICBjb250cm9scy5jb250cm9sc0Jhci5mYWRlc1doaWxlSWRsZSA9IGlzVmlkZW8gPyAhbWVk
aWEucGF1c2VkIDogZmFsc2U7CiAgICAgfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9tZWRpYS1jb250cm9sbGVyLmpz
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvbWVk
aWEtY29udHJvbGxlci5qcwppbmRleCAwYTgwNDAzMzcxZjE2MzkzNmQ2Y2RkNTkzYWQzZWFkZGI1
M2E0YTJlLi5mZWM0NTJjOWNkNWRiZGYxNmIwOGYyZWJiMGFlN2Q4ZTYyOWI3MjkzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9t
ZWRpYS1jb250cm9sbGVyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL21lZGlhL21lZGlhLWNvbnRyb2xsZXIuanMKQEAgLTk0LDYgKzk0LDkgQEAg
Y2xhc3MgTWVkaWFDb250cm9sbGVyCiAKICAgICAgICAgdGhpcy5jb250cm9scyA9IG5ldyBDb250
cm9sc0NsYXNzOwogCisgICAgICAgIGlmICh0aGlzLnNoYWRvd1Jvb3QuaG9zdCAmJiB0aGlzLnNo
YWRvd1Jvb3QuaG9zdC5kYXRhc2V0LmF1dG9IaWRlRGVsYXkpCisgICAgICAgICAgICB0aGlzLmNv
bnRyb2xzLmNvbnRyb2xzQmFyLmF1dG9IaWRlRGVsYXkgPSB0aGlzLnNoYWRvd1Jvb3QuaG9zdC5k
YXRhc2V0LmF1dG9IaWRlRGVsYXk7CisKICAgICAgICAgaWYgKHByZXZpb3VzQ29udHJvbHMpIHsK
ICAgICAgICAgICAgIHRoaXMuY29udHJvbHMuZmFkZUluKCk7CiAgICAgICAgICAgICB0aGlzLnNo
YWRvd1Jvb3QucmVwbGFjZUNoaWxkKHRoaXMuY29udHJvbHMuZWxlbWVudCwgcHJldmlvdXNDb250
cm9scy5lbGVtZW50KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzMWU0YmJiM2I5ZmNhZmY5NjBhZDY1NWY2NjI4OTZiZWVm
N2I0MDczLi5lNGM0OWFlZjM2YzhjODY3OWRlZjA1YjdkMWY0MjgzMzIxODY1MzA1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNDQgQEAKKzIwMTYtMTItMDYgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxl
LmNvbT4KKworICAgICAgICBbTW9kZXJuIE1lZGlhIENvbnRyb2xzXSBBdXRvbWF0aWNhbGx5IGhp
ZGUgdGhlIGNvbnRyb2xzIGJhciB3aGVuIHRoZSBtb3VzZSBpcyBpZGxlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjU0OTIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBhZGQgbmV3IHRlc3RzIHRvIGNo
ZWNrIHRoZSBmb2xsb3dpbmcgc2NlbmFyaW9zOgorCisgICAgICAgIDEuIG1lZGlhLWNvbnRyb2xs
ZXItYXV0by1oaWRlLW1vdXNlLWVudGVyLWFuZC1tb3VzZS1sZWF2ZS5odG1sIGNoZWNrcyB0aGF0
LCBkdXJpbmcgbWVkaWEgcGxheWJhY2ssCisgICAgICAgIGFzIHRoZSBtb3VzZSBlbnRlcnMgdGhl
IG1lZGlhIHRoZSBjb250cm9scyBiYXIgYmVjb21lcyB2aXNpYmxlLCBhbmQgYXMgdGhlIG1vdXNl
IGV4aXRzIHRoZSBtZWRpYSwKKyAgICAgICAgdGhlIGNvbnRyb2xzIGJhciBiZWNvbWVzIGZhZGVk
LgorCisgICAgICAgIDIuIG1lZGlhLWNvbnRyb2xsZXItYXV0by1oaWRlLW1vdXNlLWVudGVyLW92
ZXItY29udHJvbHMtYmFyLmh0bWwgY2hlY2tzIHRoYXQsIGR1cmluZyBtZWRpYSBwbGF5YmFjaywK
KyAgICAgICAgYXMgdGhlIG1vdXNlIGVudGVycyB0aGUgbWVkaWEgYW5kIHJlbWFpbnMgaWRsZSBv
dmVyIHRoZSBjb250cm9scyBiYXIsIHRoZSBjb250cm9scyBiYXIgcmVtYWluIHZpc2libGUuCisK
KyAgICAgICAgMy4gbWVkaWEtY29udHJvbGxlci1hdXRvLWhpZGUtbW91c2UtbGVhdmUtYWZ0ZXIt
cGxheS5odG1sIGNoZWNrcyB0aGF0IHdoZW4gdGhlIG1lZGlhIGdvZXMgZnJvbSBwYXVzZWQKKyAg
ICAgICAgdG8gcGxheWluZywgaGF2aW5nIHRoZSBtb3VzZSBlbnRlciBhbmQgbGVhdmUgdGhlIG1l
ZGlhIGRvZXMgbm90IGhpZGUgdGhlIG1lZGlhIGNvbnRyb2xzIHVudGlsIHRoZSBpbml0aWFsCisg
ICAgICAgIGF1dG8taGlkZSB0aW1lciBzdGFydGVkIGFzIHRoZSBwbGF5YmFjayBzdGF0dXMgY2hh
bmdlZCBoYXMgZWxhcHNlZC4KKworICAgICAgICA0LiBtZWRpYS1jb250cm9sbGVyLWF1dG8taGlk
ZS1wYXVzZS5odG1sIGNoZWNrcyB0aGF0IHRoZSBjb250cm9scyBiYXIgcmVtYWlucyB2aXNpYmxl
IGFzIHRoZSBtZWRpYSBpcyBwYXVzZWQuCisKKyAgICAgICAgNS4gbWVkaWEtY29udHJvbGxlci1h
dXRvLWhpZGUtcmV3aW5kLXdpdGgtbW91c2UtZW50ZXIuaHRtbCBjaGVja3MgdGhhdCB0aGUgY29u
dHJvbHMgYmFyIGJlY29tZXMgdmlzaWJsZQorICAgICAgICBhcyB0aGUgbW91c2UgZW50ZXJzIHRo
ZSBtZWRpYS4KKworICAgICAgICA2LiBtZWRpYS1jb250cm9sbGVyLWF1dG8taGlkZS5odG1sIGNo
ZWNrcyB0aGF0IHRoZSBjb250cm9scyBiYXIgYmVjb21lcyBmYWRlZCBhZnRlciB0aGUgYXV0by1o
aWRlIHRpbWVyCisgICAgICAgIGhhcyBlbGFwc2VkIGFmdGVyIGluaXRpYWwgcGxheWJhY2suCisK
KyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9t
ZWRpYS1jb250cm9sbGVyLWF1dG8taGlkZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRy
b2xsZXItYXV0by1oaWRlLW1vdXNlLWVudGVyLWFuZC1tb3VzZS1sZWF2ZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250
cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItYXV0by1oaWRlLW1vdXNlLWVudGVyLWFuZC1tb3VzZS1s
ZWF2ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
bWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWF1dG8taGlkZS1tb3VzZS1lbnRlci1v
dmVyLWNvbnRyb2xzLWJhci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL21v
ZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItYXV0
by1oaWRlLW1vdXNlLWVudGVyLW92ZXItY29udHJvbHMtYmFyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNv
bnRyb2xsZXItYXV0by1oaWRlLW1vdXNlLWxlYXZlLWFmdGVyLXBsYXktZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJv
bGxlci9tZWRpYS1jb250cm9sbGVyLWF1dG8taGlkZS1tb3VzZS1sZWF2ZS1hZnRlci1wbGF5Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1j
b250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItYXV0by1oaWRlLXBhdXNlLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRy
b2xsZXIvbWVkaWEtY29udHJvbGxlci1hdXRvLWhpZGUtcGF1c2UuaHRtbDogQWRkZWQuCisgICAg
ICAgICogbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEt
Y29udHJvbGxlci1hdXRvLWhpZGUtcmV3aW5kLXdpdGgtbW91c2UtZW50ZXItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29u
dHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWF1dG8taGlkZS1yZXdpbmQtd2l0aC1tb3VzZS1lbnRl
ci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVk
aWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWF1dG8taGlkZS5odG1sOiBBZGRlZC4KKwog
MjAxNi0xMi0wNiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtXZWJJ
RExdIEFkZCBzdXBwb3J0IGZvciBjb252ZXJ0aW5nIGRpY3Rpb25hcmllcyB0byBKUwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRy
b2xsZXIvbWVkaWEtY29udHJvbGxlci1hdXRvLWhpZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29u
dHJvbGxlci1hdXRvLWhpZGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwODBmNzkxOTc4NGY3
OWE2N2Y0YjY1OGM2OTcxNWU1MDMyNjgxZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250
cm9sbGVyLWF1dG8taGlkZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorVGVzdGluZyB0
aGUgY29udHJvbHMgYmFyIGZhZGVzIG91dCBhcyBleHBlY3RlZCBhZnRlciB0aGUgYXV0by1oaWRl
IGRlbGF5IGV4cGlyZXMgdXBvbiBmaXJzdCBwbGF5LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworVmlkZW8gc3RhcnRlZCBwbGF5aW5nLCBjb250cm9scyBiYXIgaXMgdmlzaWJsZSBi
eSBkZWZhdWx0LgorUEFTUyBjb250cm9sc0Jhci5jbGFzc0xpc3QuY29udGFpbnMoJ2ZhZGVkJykg
aXMgZmFsc2UKKworQXV0by1oaWRlIHRpbWVyIGhhcyBiZWVuIGdvaW5nIGZvciAyMDBtcywgY29u
dHJvbHMgYmFyIHNob3VsZCBzdGlsbCBiZSB2aXNpYmxlLgorUEFTUyBjb250cm9sc0Jhci5jbGFz
c0xpc3QuY29udGFpbnMoJ2ZhZGVkJykgaXMgZmFsc2UKKworQXV0by1oaWRlIHRpbWVyIGhhcyBl
bGFwc2VkLCBjb250cm9scyBiYXIgc2hvdWxkIGJlIGZhZGVkLgorUEFTUyBjb250cm9sc0Jhci5j
bGFzc0xpc3QuY29udGFpbnMoJ2ZhZGVkJykgaXMgdHJ1ZQorCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
bWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJv
bGxlci1hdXRvLWhpZGUtbW91c2UtZW50ZXItYW5kLW1vdXNlLWxlYXZlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVy
L21lZGlhLWNvbnRyb2xsZXItYXV0by1oaWRlLW1vdXNlLWVudGVyLWFuZC1tb3VzZS1sZWF2ZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzQ0Yjk4YTNkMzI3NzhlMzMyYzM0MDVkZTczOWNhY2Yx
YWZiNTY5YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRp
YS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItYXV0by1oaWRlLW1v
dXNlLWVudGVyLWFuZC1tb3VzZS1sZWF2ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMSBAQAor
VGVzdGluZyB0aGUgY29udHJvbHMgYmFyIGFwcGVhcnMgd2hlbiB0aGUgbW91c2UgZW50ZXJzIGFu
ZCBkaXNhcHBlYXJzIHdoZW4gdGhlIG1vdXNlIGxlYXZlcyB0aGUgbWVkaWEuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitWaWRlbyBzdGFydGVkIHBsYXlpbmcsIGNvbnRyb2xzIGJh
ciBpcyB2aXNpYmxlIGJ5IGRlZmF1bHQuCitQQVNTIGNvbnRyb2xzQmFyLmNsYXNzTGlzdC5jb250
YWlucygnZmFkZWQnKSBpcyBmYWxzZQorCitBdXRvLWhpZGUgdGltZXIgaGFzIGVsYXBzZWQsIGNv
bnRyb2xzIGJhciBzaG91bGQgYmUgZmFkZWQuCitQQVNTIGNvbnRyb2xzQmFyLmNsYXNzTGlzdC5j
b250YWlucygnZmFkZWQnKSBpcyB0cnVlCisKK01vdXNlIG1vdmVkIG92ZXIgdGhlIG1lZGlhLCBj
b250cm9scyBiYXIgc2hvdWxkIGJlIHZpc2libGUuCitQQVNTIGNvbnRyb2xzQmFyLmNsYXNzTGlz
dC5jb250YWlucygnZmFkZWQnKSBpcyBmYWxzZQorCitNb3VzZSBtb3ZlZCBvdXQgb2YgdGhlIG1l
ZGlhLCBjb250cm9scyBiYXIgc2hvdWxkIGJlIGZhZGVkLgorUEFTUyBjb250cm9sc0Jhci5jbGFz
c0xpc3QuY29udGFpbnMoJ2ZhZGVkJykgaXMgdHJ1ZQorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVk
aWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxl
ci1hdXRvLWhpZGUtbW91c2UtZW50ZXItYW5kLW1vdXNlLWxlYXZlLmh0bWwgYi9MYXlvdXRUZXN0
cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250
cm9sbGVyLWF1dG8taGlkZS1tb3VzZS1lbnRlci1hbmQtbW91c2UtbGVhdmUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44NTIyOWY3NWY2ODFiM2Q2NGI3NjJmMjAwM2E0OTBiYTE2MjU1Mjc3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNv
bnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1hdXRvLWhpZGUtbW91c2UtZW50ZXItYW5kLW1vdXNl
LWxlYXZlLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyBlbmFibGVNb2Rlcm5NZWRpYUNvbnRyb2xzPXRydWUgXSAtLT4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPGJv
ZHk+Cis8dmlkZW8gc3JjPSIuLi8uLi9jb250ZW50L3Rlc3QubXA0IiBzdHlsZT0icG9zaXRpb246
IGFic29sdXRlOyBsZWZ0OiAwOyB0b3A6IDA7IHdpZHRoOiAzMjBweDsgaGVpZ2h0OiAyNDBweDsi
IGNvbnRyb2xzIGF1dG9wbGF5IGRhdGEtYXV0by1oaWRlLWRlbGF5PSIyNTAiPjwvdmlkZW8+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworZGVzY3JpcHRpb24oIlRlc3RpbmcgdGhlIGNvbnRyb2xzIGJhciBhcHBlYXJzIHdo
ZW4gdGhlIG1vdXNlIGVudGVycyBhbmQgZGlzYXBwZWFycyB3aGVuIHRoZSBtb3VzZSBsZWF2ZXMg
dGhlIG1lZGlhLiIpOworCitsZXQgY29udHJvbHNCYXI7CisKK2RvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoInZpZGVvIikuYWRkRXZlbnRMaXN0ZW5lcigicGxheSIsIChldmVudCkgPT4geworICAgIGNv
bnN0IG1lZGlhID0gZXZlbnQudGFyZ2V0OworICAgIGNvbnRyb2xzQmFyID0gd2luZG93LmludGVy
bmFscy5zaGFkb3dSb290KG1lZGlhKS5xdWVyeVNlbGVjdG9yKCIuY29udHJvbHMtYmFyIik7CisK
KyAgICBkZWJ1ZygiVmlkZW8gc3RhcnRlZCBwbGF5aW5nLCBjb250cm9scyBiYXIgaXMgdmlzaWJs
ZSBieSBkZWZhdWx0LiIpOworICAgIHNob3VsZEJlRmFsc2UoImNvbnRyb2xzQmFyLmNsYXNzTGlz
dC5jb250YWlucygnZmFkZWQnKSIpOworCisgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAg
IGRlYnVnKCIiKTsKKyAgICAgICAgZGVidWcoIkF1dG8taGlkZSB0aW1lciBoYXMgZWxhcHNlZCwg
Y29udHJvbHMgYmFyIHNob3VsZCBiZSBmYWRlZC4iKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJj
b250cm9sc0Jhci5jbGFzc0xpc3QuY29udGFpbnMoJ2ZhZGVkJykiKTsKKworICAgICAgICBldmVu
dFNlbmRlci5tb3VzZU1vdmVUbygxMDAsIDEwMCk7CisgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5p
bWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAg
ZGVidWcoIk1vdXNlIG1vdmVkIG92ZXIgdGhlIG1lZGlhLCBjb250cm9scyBiYXIgc2hvdWxkIGJl
IHZpc2libGUuIik7CisgICAgICAgICAgICBzaG91bGRCZUZhbHNlKCJjb250cm9sc0Jhci5jbGFz
c0xpc3QuY29udGFpbnMoJ2ZhZGVkJykiKTsKKworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91
c2VNb3ZlVG8oNDAwLCA0MDApOworICAgICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25G
cmFtZSgoKSA9PiB7CisgICAgICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgICAg
IGRlYnVnKCJNb3VzZSBtb3ZlZCBvdXQgb2YgdGhlIG1lZGlhLCBjb250cm9scyBiYXIgc2hvdWxk
IGJlIGZhZGVkLiIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiY29udHJvbHNCYXIu
Y2xhc3NMaXN0LmNvbnRhaW5zKCdmYWRlZCcpIik7CisKKyAgICAgICAgICAgICAgICBkZWJ1Zygi
Iik7CisgICAgICAgICAgICAgICAgbWVkaWEucmVtb3ZlKCk7CisgICAgICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSk7CisgICAgfSwgMzAwKTsK
K30pOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21l
ZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xs
ZXItYXV0by1oaWRlLW1vdXNlLWVudGVyLW92ZXItY29udHJvbHMtYmFyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVy
L21lZGlhLWNvbnRyb2xsZXItYXV0by1oaWRlLW1vdXNlLWVudGVyLW92ZXItY29udHJvbHMtYmFy
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZjhjNGM2MTMxODdjMmRhNTFlMzBhZjdjZTBlM2M0
MTkwN2NhNWYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1hdXRvLWhpZGUt
bW91c2UtZW50ZXItb3Zlci1jb250cm9scy1iYXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjEg
QEAKK1Rlc3RpbmcgdGhlIGNvbnRyb2xzIGJhciByZWFwcGVhcnMgYW5kIHJlbWFpbnMgdmlzaWJs
ZSB3aGVuIHRoZSBtb3VzZSBlbnRlcnMgdGhlIG1lZGlhIG92ZXIgdGhlIGNvbnRyb2xzIGJhci4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1ZpZGVvIHN0YXJ0ZWQgcGxheWluZywg
Y29udHJvbHMgYmFyIGlzIHZpc2libGUgYnkgZGVmYXVsdC4KK1BBU1MgY29udHJvbHNCYXIuY2xh
c3NMaXN0LmNvbnRhaW5zKCdmYWRlZCcpIGlzIGZhbHNlCisKK0F1dG8taGlkZSB0aW1lciBoYXMg
ZWxhcHNlZCwgY29udHJvbHMgYmFyIHNob3VsZCBiZSBmYWRlZC4KK1BBU1MgY29udHJvbHNCYXIu
Y2xhc3NMaXN0LmNvbnRhaW5zKCdmYWRlZCcpIGlzIHRydWUKKworTW91c2UgbW92ZWQgb3ZlciB0
aGUgbWVkaWEsIGNvbnRyb2xzIGJhciBzaG91bGQgYmUgdmlzaWJsZS4KK1BBU1MgY29udHJvbHNC
YXIuY2xhc3NMaXN0LmNvbnRhaW5zKCdmYWRlZCcpIGlzIGZhbHNlCisKK0F1dG8taGlkZSB0aW1l
ciB3b3VsZCBoYXZlIGVsYXBzZWQsIGJ1dCB0aGUgY29udHJvbHMgYmFyIHJlbWFpbnMgdmlzaWJs
ZSBzaW5jZSB0aGUgbW91c2UgaXMgb3ZlciB0aGUgY29udHJvbHMgYmFyLgorUEFTUyBjb250cm9s
c0Jhci5jbGFzc0xpc3QuY29udGFpbnMoJ2ZhZGVkJykgaXMgZmFsc2UKKworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlh
LWNvbnRyb2xsZXItYXV0by1oaWRlLW1vdXNlLWVudGVyLW92ZXItY29udHJvbHMtYmFyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxl
ci9tZWRpYS1jb250cm9sbGVyLWF1dG8taGlkZS1tb3VzZS1lbnRlci1vdmVyLWNvbnRyb2xzLWJh
ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQyODRiMGIyNTU0NWRhNTQ1M2QwNjMxOTExMDhiNTJhZTFlNzM4
MjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29u
dHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWF1dG8taGlkZS1tb3VzZS1l
bnRlci1vdmVyLWNvbnRyb2xzLWJhci5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBo
dG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlTW9kZXJuTWVkaWFDb250cm9scz10
cnVlIF0gLS0+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxib2R5PgorPHZpZGVvIHNyYz0iLi4vLi4vY29udGVudC90ZXN0Lm1wNCIg
c3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDsgdG9wOiAwOyB3aWR0aDogMzIwcHg7
IGhlaWdodDogMjQwcHg7IiBjb250cm9scyBhdXRvcGxheSBkYXRhLWF1dG8taGlkZS1kZWxheT0i
MjUwIj48L3ZpZGVvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCit3aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7CisKK2Rlc2NyaXB0aW9uKCJUZXN0aW5nIHRoZSBjb250cm9s
cyBiYXIgcmVhcHBlYXJzIGFuZCByZW1haW5zIHZpc2libGUgd2hlbiB0aGUgbW91c2UgZW50ZXJz
IHRoZSBtZWRpYSBvdmVyIHRoZSBjb250cm9scyBiYXIuIik7CisKK2xldCBjb250cm9sc0JhcjsK
KworZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW8iKS5hZGRFdmVudExpc3RlbmVyKCJwbGF5
IiwgKGV2ZW50KSA9PiB7CisgICAgY29uc3QgbWVkaWEgPSBldmVudC50YXJnZXQ7CisgICAgY29u
dHJvbHNCYXIgPSB3aW5kb3cuaW50ZXJuYWxzLnNoYWRvd1Jvb3QobWVkaWEpLnF1ZXJ5U2VsZWN0
b3IoIi5jb250cm9scy1iYXIiKTsKKworICAgIGRlYnVnKCJWaWRlbyBzdGFydGVkIHBsYXlpbmcs
IGNvbnRyb2xzIGJhciBpcyB2aXNpYmxlIGJ5IGRlZmF1bHQuIik7CisgICAgc2hvdWxkQmVGYWxz
ZSgiY29udHJvbHNCYXIuY2xhc3NMaXN0LmNvbnRhaW5zKCdmYWRlZCcpIik7CisKKyAgICBzZXRU
aW1lb3V0KCgpID0+IHsKKyAgICAgICAgZGVidWcoIiIpOworICAgICAgICBkZWJ1ZygiQXV0by1o
aWRlIHRpbWVyIGhhcyBlbGFwc2VkLCBjb250cm9scyBiYXIgc2hvdWxkIGJlIGZhZGVkLiIpOwor
ICAgICAgICBzaG91bGRCZVRydWUoImNvbnRyb2xzQmFyLmNsYXNzTGlzdC5jb250YWlucygnZmFk
ZWQnKSIpOworCisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDEwMCwgMjIwKTsKKyAg
ICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICBk
ZWJ1ZygiIik7CisgICAgICAgICAgICBkZWJ1ZygiTW91c2UgbW92ZWQgb3ZlciB0aGUgbWVkaWEs
IGNvbnRyb2xzIGJhciBzaG91bGQgYmUgdmlzaWJsZS4iKTsKKyAgICAgICAgICAgIHNob3VsZEJl
RmFsc2UoImNvbnRyb2xzQmFyLmNsYXNzTGlzdC5jb250YWlucygnZmFkZWQnKSIpOworICAgICAg
ICB9KTsKKworICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgICAgIGRlYnVnKCIi
KTsKKyAgICAgICAgICAgIGRlYnVnKCJBdXRvLWhpZGUgdGltZXIgd291bGQgaGF2ZSBlbGFwc2Vk
LCBidXQgdGhlIGNvbnRyb2xzIGJhciByZW1haW5zIHZpc2libGUgc2luY2UgdGhlIG1vdXNlIGlz
IG92ZXIgdGhlIGNvbnRyb2xzIGJhci4iKTsKKyAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoImNv
bnRyb2xzQmFyLmNsYXNzTGlzdC5jb250YWlucygnZmFkZWQnKSIpOworCisgICAgICAgICAgICBk
ZWJ1ZygiIik7CisgICAgICAgICAgICBtZWRpYS5yZW1vdmUoKTsKKyAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOworICAgICAgICB9LCAzMDApOworCisgICAgfSwgMzAwKTsKK30pOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1t
ZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItYXV0by1oaWRl
LW1vdXNlLWxlYXZlLWFmdGVyLXBsYXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1h
dXRvLWhpZGUtbW91c2UtbGVhdmUtYWZ0ZXItcGxheS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
Y2JjMjY0ZjlhOTkxYzIxMTY3ZDhjYjA0NDhhOWU1OTFmYjlkYzVjZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9s
bGVyL21lZGlhLWNvbnRyb2xsZXItYXV0by1oaWRlLW1vdXNlLWxlYXZlLWFmdGVyLXBsYXktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjYgQEAKK1Rlc3RpbmcgdGhlIGNvbnRyb2xzIGJhciBhcHBl
YXJzIHdoZW4gdGhlIG1vdXNlIGVudGVycyBhbmQgZGlzYXBwZWFycyB3aGVuIHRoZSBtb3VzZSBs
ZWF2ZXMgdGhlIG1lZGlhLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVmlkZW8g
c3RhcnRlZCBwbGF5aW5nLCBjb250cm9scyBiYXIgaXMgdmlzaWJsZSBieSBkZWZhdWx0LgorUEFT
UyBjb250cm9sc0Jhci5jbGFzc0xpc3QuY29udGFpbnMoJ2ZhZGVkJykgaXMgZmFsc2UKKworUGF1
c2luZyBtZWRpYSwgdGhpcyBzdG9wcyB0aGUgYXV0by1oaWRlIHRpbWVyLgorCitSZXN1bWluZyBt
ZWRpYSBwbGF5YmFjaywgdGhpcyBzaG91bGQgcmV3aW5kIHRoZSBhdXRvLWhpZGUgdGltZXIgYW5k
IGVuc3VyZSB0aGF0IGVudGVyaW5nIGFuZCBsZWF2aW5nIHRoZSBtZWRpYSBkb2Vzbid0IGhpZGUg
dGhlIGNvbnRyb2xzIGJhciB1bnRpbCB0aGUgYXV0by1oaWRlIHRpbWVyIGhhcyBleHBpcmVkIGFm
dGVyIHBsYXlpbmcuCisKK01vdXNlIGVudGVyaW5nIHRoZSBtZWRpYS4KKworTW91c2UgbGVhdmlu
ZyB0aGUgbWVkaWEuCisKK1RoZSBpbml0aWFsIGF1dG8taGlkZSB0aW1lciBzdGFydGVkIHdoZW4g
d2UgcmVzdW1lZCBwbGF5YmFjayBzaG91bGQgbm90IGhhdmUgZXhwaXJlZCBvciBiZSBvdmVycmlk
ZW4gYnkgdGhlIG1vdXNlIGVudGVyaW5nIGFuZCBsZWF2aW5nIHRoZSBtZWRpYSwgdGhlIGNvbnRy
b2xzIHNob3VsZCByZW1haW4gdmlzaWJsZS4KK1BBU1MgY29udHJvbHNCYXIuY2xhc3NMaXN0LmNv
bnRhaW5zKCdmYWRlZCcpIGlzIGZhbHNlCisKK1RoZSBpbml0aWFsIGF1dG8taGlkZSB0aW1lciBz
dGFydGVkIHdoZW4gd2UgcmVzdW1lZCBwbGF5YmFjayBzaG91bGQgbm93IGhhdmUgZXhwaXJlZCBh
bmQgdGhlIGNvbnRyb2xzIHNob3VsZCBiZSBmYWRlZC4KK1BBU1MgY29udHJvbHNCYXIuY2xhc3NM
aXN0LmNvbnRhaW5zKCdmYWRlZCcpIGlzIHRydWUKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlh
L21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXIt
YXV0by1oaWRlLW1vdXNlLWxlYXZlLWFmdGVyLXBsYXkuaHRtbCBiL0xheW91dFRlc3RzL21lZGlh
L21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXIt
YXV0by1oaWRlLW1vdXNlLWxlYXZlLWFmdGVyLXBsYXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZjRjYjI4
MGRiYzIyZjQ4NzAzZTVkNWVjMTNmYzAxNTcwYzE0OWU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVk
aWEtY29udHJvbGxlci1hdXRvLWhpZGUtbW91c2UtbGVhdmUtYWZ0ZXItcGxheS5odG1sCkBAIC0w
LDAgKzEsNjggQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5h
YmxlTW9kZXJuTWVkaWFDb250cm9scz10cnVlIF0gLS0+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHZpZGVvIHNyYz0i
Li4vLi4vY29udGVudC90ZXN0Lm1wNCIgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDog
MDsgdG9wOiAwOyB3aWR0aDogMzIwcHg7IGhlaWdodDogMjQwcHg7IiBjb250cm9scyBhdXRvcGxh
eSBkYXRhLWF1dG8taGlkZS1kZWxheT0iMjUwIj48L3ZpZGVvPgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPgorCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2Rlc2NyaXB0
aW9uKCJUZXN0aW5nIHRoZSBjb250cm9scyBiYXIgYXBwZWFycyB3aGVuIHRoZSBtb3VzZSBlbnRl
cnMgYW5kIGRpc2FwcGVhcnMgd2hlbiB0aGUgbW91c2UgbGVhdmVzIHRoZSBtZWRpYS4iKTsKKwor
bGV0IGNvbnRyb2xzQmFyOworbGV0IHBsYXllZCA9IGZhbHNlOworCitkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCJ2aWRlbyIpLmFkZEV2ZW50TGlzdGVuZXIoInBsYXkiLCAoZXZlbnQpID0+IHsKKyAg
ICBpZiAocGxheWVkKQorICAgICAgICByZXR1cm47CisKKyAgICBwbGF5ZWQgPSB0cnVlOworCisg
ICAgY29uc3QgbWVkaWEgPSBldmVudC50YXJnZXQ7CisgICAgY29udHJvbHNCYXIgPSB3aW5kb3cu
aW50ZXJuYWxzLnNoYWRvd1Jvb3QobWVkaWEpLnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9scy1iYXIi
KTsKKworICAgIGRlYnVnKCJWaWRlbyBzdGFydGVkIHBsYXlpbmcsIGNvbnRyb2xzIGJhciBpcyB2
aXNpYmxlIGJ5IGRlZmF1bHQuIik7CisgICAgc2hvdWxkQmVGYWxzZSgiY29udHJvbHNCYXIuY2xh
c3NMaXN0LmNvbnRhaW5zKCdmYWRlZCcpIik7CisKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWco
IlBhdXNpbmcgbWVkaWEsIHRoaXMgc3RvcHMgdGhlIGF1dG8taGlkZSB0aW1lci4iKTsKKyAgICBt
ZWRpYS5wYXVzZSgpOworCisgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgIGRlYnVnKCIi
KTsKKyAgICAgICAgZGVidWcoIlJlc3VtaW5nIG1lZGlhIHBsYXliYWNrLCB0aGlzIHNob3VsZCBy
ZXdpbmQgdGhlIGF1dG8taGlkZSB0aW1lciBhbmQgZW5zdXJlIHRoYXQgZW50ZXJpbmcgYW5kIGxl
YXZpbmcgdGhlIG1lZGlhIGRvZXNuJ3QgaGlkZSB0aGUgY29udHJvbHMgYmFyIHVudGlsIHRoZSBh
dXRvLWhpZGUgdGltZXIgaGFzIGV4cGlyZWQgYWZ0ZXIgcGxheWluZy4iKTsKKyAgICAgICAgbWVk
aWEucGxheSgpOworCisgICAgICAgIHNldFRpbWVvdXQoKCkgPT4geworICAgICAgICAgICAgZGVi
dWcoIiIpOworICAgICAgICAgICAgZGVidWcoIk1vdXNlIGVudGVyaW5nIHRoZSBtZWRpYS4iKTsK
KyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDEwMCwgMTAwKTsKKworICAgICAg
ICAgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgICAgICAgICAgZGVidWcoIiIpOworICAg
ICAgICAgICAgICAgIGRlYnVnKCJNb3VzZSBsZWF2aW5nIHRoZSBtZWRpYS4iKTsKKyAgICAgICAg
ICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyg0MDAsIDQwMCk7CisKKyAgICAgICAgICAg
ICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgICAgICAg
ICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgICAgICAgICBkZWJ1ZygiVGhlIGluaXRpYWwg
YXV0by1oaWRlIHRpbWVyIHN0YXJ0ZWQgd2hlbiB3ZSByZXN1bWVkIHBsYXliYWNrIHNob3VsZCBu
b3QgaGF2ZSBleHBpcmVkIG9yIGJlIG92ZXJyaWRlbiBieSB0aGUgbW91c2UgZW50ZXJpbmcgYW5k
IGxlYXZpbmcgdGhlIG1lZGlhLCB0aGUgY29udHJvbHMgc2hvdWxkIHJlbWFpbiB2aXNpYmxlLiIp
OworICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUZhbHNlKCJjb250cm9sc0Jhci5jbGFzc0xp
c3QuY29udGFpbnMoJ2ZhZGVkJykiKTsKKworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSwgNTApOworICAgICAgICB9LCA1MCk7CisKKyAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7
CisgICAgICAgICAgICBkZWJ1ZygiIik7CisgICAgICAgICAgICBkZWJ1ZygiVGhlIGluaXRpYWwg
YXV0by1oaWRlIHRpbWVyIHN0YXJ0ZWQgd2hlbiB3ZSByZXN1bWVkIHBsYXliYWNrIHNob3VsZCBu
b3cgaGF2ZSBleHBpcmVkIGFuZCB0aGUgY29udHJvbHMgc2hvdWxkIGJlIGZhZGVkLiIpOworICAg
ICAgICAgICAgc2hvdWxkQmVUcnVlKCJjb250cm9sc0Jhci5jbGFzc0xpc3QuY29udGFpbnMoJ2Zh
ZGVkJykiKTsKKworICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgbWVkaWEucmVt
b3ZlKCk7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfSwgMzAwKTsKKyAg
ICB9KTsKK30pOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNv
bnRyb2xsZXItYXV0by1oaWRlLXBhdXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlh
L21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXIt
YXV0by1oaWRlLXBhdXNlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNzExYzBhZWQ4Y2JiMmZj
MzZhMWFhNDZhZGViMDU4MjlhOGZlY2I4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
bWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJv
bGxlci1hdXRvLWhpZGUtcGF1c2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1Rlc3Rp
bmcgdGhlIGNvbnRyb2xzIGJhciByZW1haW5zIHZpc2libGUgd2hlbiB0aGUgbWVkaWEgaXMgcGF1
c2VkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVmlkZW8gc3RhcnRlZCBwbGF5
aW5nLCBjb250cm9scyBiYXIgaXMgdmlzaWJsZSBieSBkZWZhdWx0LgorUEFTUyBjb250cm9sc0Jh
ci5jbGFzc0xpc3QuY29udGFpbnMoJ2ZhZGVkJykgaXMgZmFsc2UKKworQXV0by1oaWRlIHRpbWVy
IHdvdWxkIGhhdmUgZWxhcHNlZCwgYnV0IG1lZGlhIHdhcyBwYXVzZWQgc28gY29udHJvbHMgYmFy
IHNob3VsZCByZW1haW4gdmlzaWJsZS4KK1BBU1MgY29udHJvbHNCYXIuY2xhc3NMaXN0LmNvbnRh
aW5zKCdmYWRlZCcpIGlzIGZhbHNlCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4t
bWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWF1dG8taGlk
ZS1wYXVzZS5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21l
ZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1hdXRvLWhpZGUtcGF1c2UuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41Nzc0NzhmZWMxNjBkNzJkNGQ4YTMxM2ZmNGYyY2M2MmYwZjhjM2Q5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlh
LWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1hdXRvLWhpZGUtcGF1c2UuaHRtbApAQCAtMCww
ICsxLDM1IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJs
ZU1vZGVybk1lZGlhQ29udHJvbHM9dHJ1ZSBdIC0tPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzx2aWRlbyBzcmM9Ii4u
Ly4uL2NvbnRlbnQvdGVzdC5tcDQiIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7
IHRvcDogMDsgd2lkdGg6IDMyMHB4OyBoZWlnaHQ6IDI0MHB4OyIgY29udHJvbHMgYXV0b3BsYXkg
ZGF0YS1hdXRvLWhpZGUtZGVsYXk9IjI1MCI+PC92aWRlbz4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij4KKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCitkZXNjcmlwdGlv
bigiVGVzdGluZyB0aGUgY29udHJvbHMgYmFyIHJlbWFpbnMgdmlzaWJsZSB3aGVuIHRoZSBtZWRp
YSBpcyBwYXVzZWQuIik7CisKK2xldCBjb250cm9sc0JhcjsKKworZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcigidmlkZW8iKS5hZGRFdmVudExpc3RlbmVyKCJwbGF5IiwgKGV2ZW50KSA9PiB7CisgICAg
Y29uc3QgbWVkaWEgPSBldmVudC50YXJnZXQ7CisgICAgY29udHJvbHNCYXIgPSB3aW5kb3cuaW50
ZXJuYWxzLnNoYWRvd1Jvb3QobWVkaWEpLnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9scy1iYXIiKTsK
KworICAgIGRlYnVnKCJWaWRlbyBzdGFydGVkIHBsYXlpbmcsIGNvbnRyb2xzIGJhciBpcyB2aXNp
YmxlIGJ5IGRlZmF1bHQuIik7CisgICAgc2hvdWxkQmVGYWxzZSgiY29udHJvbHNCYXIuY2xhc3NM
aXN0LmNvbnRhaW5zKCdmYWRlZCcpIik7CisKKyAgICBtZWRpYS5wYXVzZSgpOworCisgICAgc2V0
VGltZW91dCgoKSA9PiB7CisgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgZGVidWcoIkF1dG8t
aGlkZSB0aW1lciB3b3VsZCBoYXZlIGVsYXBzZWQsIGJ1dCBtZWRpYSB3YXMgcGF1c2VkIHNvIGNv
bnRyb2xzIGJhciBzaG91bGQgcmVtYWluIHZpc2libGUuIik7CisgICAgICAgIHNob3VsZEJlRmFs
c2UoImNvbnRyb2xzQmFyLmNsYXNzTGlzdC5jb250YWlucygnZmFkZWQnKSIpOworCisgICAgICAg
IGRlYnVnKCIiKTsKKyAgICAgICAgbWVkaWEucmVtb3ZlKCk7CisgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgIH0sIDMwMCk7Cit9KTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJv
bGxlci9tZWRpYS1jb250cm9sbGVyLWF1dG8taGlkZS1yZXdpbmQtd2l0aC1tb3VzZS1lbnRlci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVk
aWEtY29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWF1dG8taGlkZS1yZXdpbmQtd2l0aC1tb3Vz
ZS1lbnRlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGI2MDE4NWFhZjNjZjM3NTBlZDdjNDQ2
ODYzNjQ2OWEzZTYzZDExMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21v
ZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS1jb250cm9sbGVyL21lZGlhLWNvbnRyb2xsZXItYXV0
by1oaWRlLXJld2luZC13aXRoLW1vdXNlLWVudGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIx
IEBACitUZXN0aW5nIHRoZSBjb250cm9scyBiYXIgcmVhcHBlYXJzIHdoZW4gdGhlIG1vdXNlIGVu
dGVycyB0aGUgbWVkaWEuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitWaWRlbyBz
dGFydGVkIHBsYXlpbmcsIGNvbnRyb2xzIGJhciBpcyB2aXNpYmxlIGJ5IGRlZmF1bHQuCitQQVNT
IGNvbnRyb2xzQmFyLmNsYXNzTGlzdC5jb250YWlucygnZmFkZWQnKSBpcyBmYWxzZQorCitBdXRv
LWhpZGUgdGltZXIgaGFzIGVsYXBzZWQsIGNvbnRyb2xzIGJhciBzaG91bGQgYmUgZmFkZWQuCitQ
QVNTIGNvbnRyb2xzQmFyLmNsYXNzTGlzdC5jb250YWlucygnZmFkZWQnKSBpcyB0cnVlCisKK01v
dXNlIG1vdmVkIG92ZXIgdGhlIG1lZGlhLCBjb250cm9scyBiYXIgc2hvdWxkIGJlIHZpc2libGUu
CitQQVNTIGNvbnRyb2xzQmFyLmNsYXNzTGlzdC5jb250YWlucygnZmFkZWQnKSBpcyBmYWxzZQor
CitBdXRvLWhpZGUgdGltZXIgaGFzIGVsYXBzZWQsIGNvbnRyb2xzIGJhciBzaG91bGQgYmUgZmFk
ZWQuCitQQVNTIGNvbnRyb2xzQmFyLmNsYXNzTGlzdC5jb250YWlucygnZmFkZWQnKSBpcyB0cnVl
CisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEt
Y29udHJvbGxlci9tZWRpYS1jb250cm9sbGVyLWF1dG8taGlkZS1yZXdpbmQtd2l0aC1tb3VzZS1l
bnRlci5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlh
LWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1hdXRvLWhpZGUtcmV3aW5kLXdpdGgtbW91c2Ut
ZW50ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YTk2MTg3ZjRjZjA1ZDRkNzQ4OWJiZDk4OGI4ZjZlYTRm
ZDVhOGUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1hdXRvLWhpZGUtcmV3
aW5kLXdpdGgtbW91c2UtZW50ZXIuaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgaHRt
bD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZU1vZGVybk1lZGlhQ29udHJvbHM9dHJ1
ZSBdIC0tPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8Ym9keT4KKzx2aWRlbyBzcmM9Ii4uLy4uL2NvbnRlbnQvdGVzdC5tcDQiIHN0
eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHRvcDogMDsgd2lkdGg6IDMyMHB4OyBo
ZWlnaHQ6IDI0MHB4OyIgY29udHJvbHMgYXV0b3BsYXkgZGF0YS1hdXRvLWhpZGUtZGVsYXk9IjI1
MCI+PC92aWRlbz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKword2luZG93Lmpz
VGVzdElzQXN5bmMgPSB0cnVlOworCitkZXNjcmlwdGlvbigiVGVzdGluZyB0aGUgY29udHJvbHMg
YmFyIHJlYXBwZWFycyB3aGVuIHRoZSBtb3VzZSBlbnRlcnMgdGhlIG1lZGlhLiIpOworCitsZXQg
Y29udHJvbHNCYXI7CisKK2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvIikuYWRkRXZlbnRM
aXN0ZW5lcigicGxheSIsIChldmVudCkgPT4geworICAgIGNvbnN0IG1lZGlhID0gZXZlbnQudGFy
Z2V0OworICAgIGNvbnRyb2xzQmFyID0gd2luZG93LmludGVybmFscy5zaGFkb3dSb290KG1lZGlh
KS5xdWVyeVNlbGVjdG9yKCIuY29udHJvbHMtYmFyIik7CisKKyAgICBkZWJ1ZygiVmlkZW8gc3Rh
cnRlZCBwbGF5aW5nLCBjb250cm9scyBiYXIgaXMgdmlzaWJsZSBieSBkZWZhdWx0LiIpOworICAg
IHNob3VsZEJlRmFsc2UoImNvbnRyb2xzQmFyLmNsYXNzTGlzdC5jb250YWlucygnZmFkZWQnKSIp
OworCisgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAg
ZGVidWcoIkF1dG8taGlkZSB0aW1lciBoYXMgZWxhcHNlZCwgY29udHJvbHMgYmFyIHNob3VsZCBi
ZSBmYWRlZC4iKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJjb250cm9sc0Jhci5jbGFzc0xpc3Qu
Y29udGFpbnMoJ2ZhZGVkJykiKTsKKworICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygx
MDAsIDEwMCk7CisgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gewor
ICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgZGVidWcoIk1vdXNlIG1vdmVkIG92
ZXIgdGhlIG1lZGlhLCBjb250cm9scyBiYXIgc2hvdWxkIGJlIHZpc2libGUuIik7CisgICAgICAg
ICAgICBzaG91bGRCZUZhbHNlKCJjb250cm9sc0Jhci5jbGFzc0xpc3QuY29udGFpbnMoJ2ZhZGVk
JykiKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAg
ICAgICBkZWJ1ZygiIik7CisgICAgICAgICAgICBkZWJ1ZygiQXV0by1oaWRlIHRpbWVyIGhhcyBl
bGFwc2VkLCBjb250cm9scyBiYXIgc2hvdWxkIGJlIGZhZGVkLiIpOworICAgICAgICAgICAgc2hv
dWxkQmVUcnVlKCJjb250cm9sc0Jhci5jbGFzc0xpc3QuY29udGFpbnMoJ2ZhZGVkJykiKTsKKwor
ICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgbWVkaWEucmVtb3ZlKCk7CisgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfSwgMzAwKTsKKworICAgIH0sIDMwMCk7
Cit9KTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9t
ZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEtY29udHJvbGxlci9tZWRpYS1jb250cm9s
bGVyLWF1dG8taGlkZS5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRy
b2xzL21lZGlhLWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1hdXRvLWhpZGUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44NTAxNGI0OTNiMmU3NjM2MzM1MzdjNzA4Y2Q1NWVhMGQ0YTI0YWEwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlh
LWNvbnRyb2xsZXIvbWVkaWEtY29udHJvbGxlci1hdXRvLWhpZGUuaHRtbApAQCAtMCwwICsxLDM5
IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZU1vZGVy
bk1lZGlhQ29udHJvbHM9dHJ1ZSBdIC0tPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzx2aWRlbyBzcmM9Ii4uLy4uL2Nv
bnRlbnQvdGVzdC5tcDQiIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHRvcDog
MDsgd2lkdGg6IDMyMHB4OyBoZWlnaHQ6IDI0MHB4OyIgY29udHJvbHMgYXV0b3BsYXkgZGF0YS1h
dXRvLWhpZGUtZGVsYXk9IjI1MCI+PC92aWRlbz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij4KKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCitkZXNjcmlwdGlvbigiVGVz
dGluZyB0aGUgY29udHJvbHMgYmFyIGZhZGVzIG91dCBhcyBleHBlY3RlZCBhZnRlciB0aGUgYXV0
by1oaWRlIGRlbGF5IGV4cGlyZXMgdXBvbiBmaXJzdCBwbGF5LiIpOworCitsZXQgY29udHJvbHNC
YXI7CisKK2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvIikuYWRkRXZlbnRMaXN0ZW5lcigi
cGxheSIsIChldmVudCkgPT4geworICAgIGNvbnN0IG1lZGlhID0gZXZlbnQudGFyZ2V0OworICAg
IGNvbnRyb2xzQmFyID0gd2luZG93LmludGVybmFscy5zaGFkb3dSb290KG1lZGlhKS5xdWVyeVNl
bGVjdG9yKCIuY29udHJvbHMtYmFyIik7CisKKyAgICBkZWJ1ZygiVmlkZW8gc3RhcnRlZCBwbGF5
aW5nLCBjb250cm9scyBiYXIgaXMgdmlzaWJsZSBieSBkZWZhdWx0LiIpOworICAgIHNob3VsZEJl
RmFsc2UoImNvbnRyb2xzQmFyLmNsYXNzTGlzdC5jb250YWlucygnZmFkZWQnKSIpOworCisgICAg
c2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgZGVidWcoIkF1
dG8taGlkZSB0aW1lciBoYXMgYmVlbiBnb2luZyBmb3IgMjAwbXMsIGNvbnRyb2xzIGJhciBzaG91
bGQgc3RpbGwgYmUgdmlzaWJsZS4iKTsKKyAgICAgICAgc2hvdWxkQmVGYWxzZSgiY29udHJvbHNC
YXIuY2xhc3NMaXN0LmNvbnRhaW5zKCdmYWRlZCcpIik7CisgICAgfSwgMjAwKTsKKworICAgIHNl
dFRpbWVvdXQoKCkgPT4geworICAgICAgICBkZWJ1ZygiIik7CisgICAgICAgIGRlYnVnKCJBdXRv
LWhpZGUgdGltZXIgaGFzIGVsYXBzZWQsIGNvbnRyb2xzIGJhciBzaG91bGQgYmUgZmFkZWQuIik7
CisgICAgICAgIHNob3VsZEJlVHJ1ZSgiY29udHJvbHNCYXIuY2xhc3NMaXN0LmNvbnRhaW5zKCdm
YWRlZCcpIik7CisKKyAgICAgICAgZGVidWcoIiIpOworICAgICAgICBtZWRpYS5yZW1vdmUoKTsK
KyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfSwgMzAwKTsKK30pOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4K
</data>
<flag name="review"
          id="318779"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>