<?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>88818</bug_id>
          
          <creation_ts>2012-06-11 16:27:10 -0700</creation_ts>
          <short_desc>Add fullscreen button to Chrome video controls</short_desc>
          <delta_ts>2013-01-06 19:49:31 -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>Media</component>
          <version>528+ (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>
          <dependson>87683</dependson>
    
    <dependson>87835</dependson>
    
    <dependson>88297</dependson>
    
    <dependson>88623</dependson>
    
    <dependson>88724</dependson>
    
    <dependson>88743</dependson>
          <blocked>84672</blocked>
    
    <blocked>89050</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Silvia Pfeiffer">silviapf</reporter>
          <assigned_to name="Silvia Pfeiffer">silviapf</assigned_to>
          <cc>annacc</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>s.choi</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>646401</commentid>
    <comment_count>0</comment_count>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2012-06-11 16:27:10 -0700</bug_when>
    <thetext>This patch is part of the introduction of the new Chromium video controls, master bug at https://bugs.webkit.org/show_bug.cgi?id=84672 . It introduces a fullscreen button.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646590</commentid>
    <comment_count>1</comment_count>
      <attachid>147000</attachid>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2012-06-11 20:41:38 -0700</bug_when>
    <thetext>Created attachment 147000
Full patch for layout tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646597</commentid>
    <comment_count>2</comment_count>
      <attachid>147003</attachid>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2012-06-11 20:46:51 -0700</bug_when>
    <thetext>Created attachment 147003
Use this for review

Fullscreen related changes only</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646903</commentid>
    <comment_count>3</comment_count>
      <attachid>147003</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-06-12 06:54:45 -0700</bug_when>
    <thetext>Comment on attachment 147003
Use this for review

it looks like this was created largely by copying and pasting chunks from MediaControlRootElement.cpp. This makes sense in as much as the patch adds functionality  that is already in the media controls root used by all of the other ports, but it also means that the two classes are more and more similar without actually sharing any code. We now have two classes that perform exactly the same function and that are called from cross platform code, but that share by copy and paste instead of by using a common base class. 

I don&apos;t know why Steve decided to create this file by cloning MediaControlRootElement instead of factoring the common code into a base class, and clearly I should not have r+d the original change, but I think it is time to reevaluate. Instead of making this mess worse, how hard would it be to add these fullscreen changes by factoring the code from MediaControlRootElement into a base class?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646905</commentid>
    <comment_count>4</comment_count>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2012-06-12 07:02:42 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 147003 [details])
&gt; I don&apos;t know why Steve decided to create this file by cloning MediaControlRootElement instead of 
&gt; factoring the common code into a base class, and clearly I should not have r+d the original change, but 
&gt;I think it is time to reevaluate. Instead of making this mess worse, how hard would it be to add these
&gt; fullscreen changes by factoring the code from MediaControlRootElement into a base class?

Actually, today, a patch landed that added fullscreen support for Android, so half this patch has already landed.

Also, if you look at the individual functions, some of them are actually quite different between the two files.

I understand where you&apos;re coming from and I am sympathetic, but I&apos;d prefer doing it after this patch. I am supposed to land this this week so it can make it into Chrome 21. So, I&apos;d prefer to do the analysis and clean-up afterwards.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646918</commentid>
    <comment_count>5</comment_count>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2012-06-12 07:29:35 -0700</bug_when>
    <thetext>Created a new bug for the code restructing issue, see bug 88871 .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647000</commentid>
    <comment_count>6</comment_count>
      <attachid>147096</attachid>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2012-06-12 09:20:56 -0700</bug_when>
    <thetext>Created attachment 147096
adapted to work with recent fullscreen commits</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647002</commentid>
    <comment_count>7</comment_count>
      <attachid>147098</attachid>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2012-06-12 09:24:00 -0700</bug_when>
    <thetext>Created attachment 147098
Use this for review

Substantial change with recent comment, see bug 88266.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647011</commentid>
    <comment_count>8</comment_count>
      <attachid>147098</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-06-12 09:41:20 -0700</bug_when>
    <thetext>Comment on attachment 147098
Use this for review

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

This generally looks OK, but I would like to see a version with corrected ChangeLogs.

&gt; Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp:365
&gt; +            // When we get a mouse move in fullscreen mode, show the media controls, and start a timer
&gt; +            // that will hide the media controls after a 3 seconds without a mouse move.

Copy-pasta: you redefined timeWithoutMouseMovementBeforeHidingControls above to 2 seconds.

&gt; Source/WebCore/rendering/RenderMediaControlsChromium.cpp:277
&gt; -    DEFINE_STATIC_LOCAL(Image*, mediaFullscreen, (platformResource(&quot;mediaFullscreen&quot;)));
&gt; -    return paintMediaButton(paintInfo.context, rect, mediaFullscreen);
&gt; +    static Image* mediaFullscreenButton = platformResource(&quot;mediaplayerFullscreen&quot;);

Why the change from &quot;DEFINE_STATIC_LOCAL&quot; to just &quot;static&quot;?

&gt; Source/WebCore/rendering/RenderThemeChromiumSkia.cpp:462
&gt; -String formatMediaControlsTime(float time) const
&gt; +String formatMediaControlsTime(float time)

Is it not possible for RenderMediaControlsChromium::formatMediaControlsTime to be const?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647018</commentid>
    <comment_count>9</comment_count>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2012-06-12 09:49:09 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 147098 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=147098&amp;action=review
&gt; 
&gt; This generally looks OK, but I would like to see a version with corrected ChangeLogs.

Actually, I was hasty with this diff, since it includes more than it should, in particular the weird changes to the ChangeLogs and the Skia changes (the latter of which need to go into bug 88724 where the skia builds failed.
 
&gt; &gt; Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp:365
&gt; &gt; +            // When we get a mouse move in fullscreen mode, show the media controls, and start a timer
&gt; &gt; +            // that will hide the media controls after a 3 seconds without a mouse move.
&gt; 
&gt; Copy-pasta: you redefined timeWithoutMouseMovementBeforeHidingControls above to 2 seconds.

Thanks for noticing!
 
&gt; &gt; Source/WebCore/rendering/RenderMediaControlsChromium.cpp:277
&gt; &gt; -    DEFINE_STATIC_LOCAL(Image*, mediaFullscreen, (platformResource(&quot;mediaFullscreen&quot;)));
&gt; &gt; -    return paintMediaButton(paintInfo.context, rect, mediaFullscreen);
&gt; &gt; +    static Image* mediaFullscreenButton = platformResource(&quot;mediaplayerFullscreen&quot;);
&gt; 
&gt; Why the change from &quot;DEFINE_STATIC_LOCAL&quot; to just &quot;static&quot;?

All images are now pulled in in this way - the previous way doesn&apos;t work any more.


&gt; &gt; Source/WebCore/rendering/RenderThemeChromiumSkia.cpp:462
&gt; &gt; -String formatMediaControlsTime(float time) const
&gt; &gt; +String formatMediaControlsTime(float time)
&gt; 
&gt; Is it not possible for RenderMediaControlsChromium::formatMediaControlsTime to be const?

It&apos;s not a class member function, just a static helper so can&apos;t declare it in this way. Hmm... I missed the &quot;static&quot;. Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647101</commentid>
    <comment_count>10</comment_count>
      <attachid>147096</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-12 11:14:08 -0700</bug_when>
    <thetext>Comment on attachment 147096
adapted to work with recent fullscreen commits

Attachment 147096 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12938788</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649111</commentid>
    <comment_count>11</comment_count>
      <attachid>147568</attachid>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2012-06-14 06:15:22 -0700</bug_when>
    <thetext>Created attachment 147568
added a fullscreen transparent background for audio (full patch)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649113</commentid>
    <comment_count>12</comment_count>
      <attachid>147569</attachid>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2012-06-14 06:21:36 -0700</bug_when>
    <thetext>Created attachment 147569
Use this for review

This patch plus the changelog will be what I&apos;m planning to land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649237</commentid>
    <comment_count>13</comment_count>
      <attachid>147569</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-06-14 09:42:00 -0700</bug_when>
    <thetext>Comment on attachment 147569
Use this for review

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

&gt; Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp:365
&gt; +            // When we get a mouse move in fullscreen mode, show the media controls, and start a timer
&gt; +            // that will hide the media controls after a 3 seconds without a mouse move.

Nit: you hide the controls after 2 seconds, not 3.

&gt; Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp:369
&gt; +        if (m_isFullscreen) {
&gt; +            // When we get a mouse move in fullscreen mode, show the media controls, and start a timer
&gt; +            // that will hide the media controls after a 3 seconds without a mouse move.
&gt; +            makeOpaque();
&gt; +            if (shouldHideControls())
&gt; +                startHideFullscreenControlsTimer();
&gt; +        }

Does it matter that you may call startHideFullscreenControlsTimer() multiple times?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649520</commentid>
    <comment_count>14</comment_count>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2012-06-14 15:00:25 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 147569 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=147569&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp:365
&gt; &gt; +            // When we get a mouse move in fullscreen mode, show the media controls, and start a timer
&gt; &gt; +            // that will hide the media controls after a 3 seconds without a mouse move.
&gt; 
&gt; Nit: you hide the controls after 2 seconds, not 3.

DONE.

 
&gt; &gt; Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp:369
&gt; &gt; +        if (m_isFullscreen) {
&gt; &gt; +            // When we get a mouse move in fullscreen mode, show the media controls, and start a timer
&gt; &gt; +            // that will hide the media controls after a 3 seconds without a mouse move.
&gt; &gt; +            makeOpaque();
&gt; &gt; +            if (shouldHideControls())
&gt; &gt; +                startHideFullscreenControlsTimer();
&gt; &gt; +        }
&gt; 
&gt; Does it matter that you may call startHideFullscreenControlsTimer() multiple times?

Every time that the mouse is moved, the timer has to be reset. So, no, it&apos;s intended. (Also note that MediaControlRootElement.cpp does the same thing.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649661</commentid>
    <comment_count>15</comment_count>
      <attachid>147687</attachid>
    <who name="Silvia Pfeiffer">silviapf</who>
    <bug_when>2012-06-14 17:26:24 -0700</bug_when>
    <thetext>Created attachment 147687
patch for cq</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649956</commentid>
    <comment_count>16</comment_count>
      <attachid>147687</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-15 00:20:09 -0700</bug_when>
    <thetext>Comment on attachment 147687
patch for cq

Clearing flags on attachment: 147687

Committed r120414: &lt;http://trac.webkit.org/changeset/120414&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649957</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-15 00:20:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147000</attachid>
            <date>2012-06-11 20:41:38 -0700</date>
            <delta_ts>2012-06-12 09:20:35 -0700</delta_ts>
            <desc>Full patch for layout tests</desc>
            <filename>bug-88818-20120612134136.patch</filename>
            <type>text/plain</type>
            <size>91448</size>
            <attacher name="Silvia Pfeiffer">silviapf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5OTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmU5MWY2ZTUyY2ZlMGUw
ZWQ2OTMyMjM4NWRkMzdhMWVhYjRkNzgzMC4uOGVhMTFjOWZiNGRkZmVhN2RmMWQxZTFhZGM0ZmI0
NzJjOWFlOTM1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4OCBAQAorMjAxMi0wNi0xMiAgU2ls
dmlhIFBmZWlmZmVyICA8c2lsdmlhcGZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBmdWxs
c2NyZWVuIGJ1dHRvbiB0byBDaHJvbWUgdmlkZW8gY29udHJvbHMgZm9yIHZpZGVvLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg4MTgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGZp
bmFsIHBhdGNoIHdpbGwgY29udGFpbiB0aGUgcmViYXNlbGluZWQgdGVzdHMuCisKKyAgICAgICAg
VGhlIENocm9tZSB2aWRlbyBjb250cm9scyBhcmUgcmVjZWl2aW5nIGEgdmlzdWFsIHVwZGF0ZS4K
KyAgICAgICAgVGhpcyBwYXRjaCBpbmNsdWRlcyBhIGZ1bGxzY3JlZW4gYnV0dG9uIGZvciB2aWRl
byBlbGVtZW50cyBhbmQgdGhlIHJlbmRlcmluZyBvZiB0aGUgY29udHJvbHMKKyAgICAgICAgaW4g
ZnVsbHNjcmVlbiBpbmNsdWRpbmcgaGlkaW5nIHRoZW0gYWZ0ZXIgMiBzZWNvbmRzIHdoZW4gdGhl
IG1vdXNlIGlzIG91dCBvZiB0aGUgY29udHJvbHMKKyAgICAgICAgYW5kIG5vdCBtb3ZlZC4KKwor
ICAgICAgICAqIGNzcy9tZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3NzOgorICAgICAgICAodmlkZW86
LXdlYmtpdC1mdWxsLXBhZ2UtbWVkaWE6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcGFuZWwpOgor
ICAgICAgICBBbGlnbiBjb250cm9scyB0byB0aGUgYm90dG9tIG9mIHRoZSBmdWxsc2NyZWVuIHBh
Z2UuCisgICAgICAgIChhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1mdWxsc2NyZWVuLWJ1
dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNjcmVlbi1idXR0b24pOgor
ICAgICAgICBJbmNsdWRlIHN0eWxpbmcgZm9yIHRoZSBmdWxsc2NyZWVuIGJ1dHRvbi4KKyAgICAg
ICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICBBZGQgYSBjb25zdGFudCBmb3Igd2hlbiB0byBoaWRl
IHRoZSBjb250cm9scyBpbiBmdWxsc2NyZWVuLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250
cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bSk6
CisgICAgICAgIEFkZCBtZW1iZXIgZmllbGRzIGZvciBmdWxsc2NyZWVuIGJ1dHRvbiwgaGlkaW5n
IHRpbWVyIGFuZCB0cmFja2luZyBvZiB3aGV0aGVyIHdlIGFyZSBpbiBmdWxsc2NyZWVuLgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6Y3JlYXRlKToK
KyAgICAgICAgQWRkIGZ1bGxzY3JlZW4gYnV0dG9uIGVsZW1lbnQgdG8gdGhlIHZpc3VhbCBsYXlv
dXQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpz
ZXRNZWRpYUNvbnRyb2xsZXIpOgorICAgICAgICBBZGQgZnVsbHNjcmVlbiBidXR0b24gZWxlbWVu
dCB0byB0aGUgbWVkaWEgY29udHJvbGxlci4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJv
bFJvb3RFbGVtZW50Q2hyb21pdW06OnJlc2V0KToKKyAgICAgICAgU2hvdyB0aGUgZnVsbHNjcmVl
biBidXR0b24gaWYgdGhlIGNvbnRyb2xsZXIgc3VwcG9ydHMgZnVsbHNjcmVlbi4KKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnBsYXliYWNrU3RhcnRl
ZCk6CisgICAgICAgIFN0YXJ0IHRoZSB0aW1lciB0byBoaWRlIHRoZSBjb250cm9scyBpbiBmdWxs
c2NyZWVuLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1
bTo6cGxheWJhY2tTdG9wcGVkKToKKyAgICAgICAgRG9uJ3QgaGlkZSB0aGUgY29udHJvbHMgd2hl
biB0aGUgdmlkZW8gaXMgcGF1c2VkIGluIGZ1bGxzY3JlZW4uCisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpyZXBvcnRlZEVycm9yKToKKyAgICAgICAg
SGlkZSB0aGUgZnVsbHNjcmVlbiBidXR0b24gd2hlbiB3ZSBoaXQgYW4gZXJyb3IuCisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpkZWZhdWx0RXZlbnRI
YW5kbGVyKToKKyAgICAgICAgQWRkIGxvZ2ljIGZvciBtb3VzZSBldmVudHMgaW4gZnVsbHNjcmVl
biB0byBzdGFydC9zdG9wIHRoZSBoaWRpbmcgdGltZXIuCisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpzdGFydEhpZGVGdWxsc2NyZWVuQ29udHJvbHNU
aW1lcik6CisgICAgICAgIFN0YXJ0IHRoZSBmdWxsc2NyZWVuIGhpZGluZyB0aW1lci4KKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmhpZGVGdWxsc2Ny
ZWVuQ29udHJvbHNUaW1lckZpcmVkKToKKyAgICAgICAgVGltZXIgZmlyZWQ6IGhpZGUgdGhlIHZp
ZGVvIGNvbnRyb2xzIGluIGZ1bGxzY3JlZW4uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRy
b2xSb290RWxlbWVudENocm9taXVtOjpzdG9wSGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKToK
KyAgICAgICAgUmVzZXQgdGhlIGZ1bGxzY3JlZW4gaGlkaW5nIHRpbWVyLgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6ZW50ZXJlZEZ1bGxzY3JlZW4p
OgorICAgICAgICBBZGQgbG9naWMgdG8gZW50ZXIgZnVsbHNjcmVlbi4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmV4aXRlZEZ1bGxzY3JlZW4pOgor
ICAgICAgICBBZGQgbG9naWMgdG8gZXhpdCBmdWxsc2NyZWVuLgorICAgICAgICAqIGh0bWwvc2hh
ZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uaDoKKyAgICAgICAgKE1lZGlhQ29u
dHJvbFJvb3RFbGVtZW50Q2hyb21pdW0pOgorICAgICAgICBBZGQgZGVjbGFyYXRpb24gb2YgbWVt
YmVyIGZ1bmN0aW9ucyBhbmQgZmllbGRzIGZvciBmdWxsc2NyZWVuLgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
cGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24pOgorICAgICAgICBVc2UgdGhlIG5ldyBpbWFnZSBm
b3IgdGhlIGZ1bGxzY3JlZW4gYnV0dG9uLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZUNocm9taXVtTWFjLmg6CisgICAgICAgIChSZW5kZXJUaGVtZUNocm9taXVtTWFjKToKKyAgICAg
ICAgRGVjbGFyZSB0aGUgZnVsbHNjcmVlbiBwYWludGluZyBmdW5jdGlvbiBmb3IgQ2hyb21lIE1h
Yy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFGdWxsc2NyZWVu
QnV0dG9uKToKKyAgICAgICAgSG9vayB1cCB0aGUgZnVsbHNjcmVlbiBwYWluaW5nIGZ1bmN0aW9u
IGZvciBDaHJvbWUgTWFjLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVt
U2tpYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6cGFp
bnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24pOgorICAgICAgICBIb29rIHVwIHRoZSBmdWxsc2NyZWVu
IHBhaW5pbmcgZnVuY3Rpb24gZm9yIENocm9tZSBTa2lhLgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oOgorICAgICAgICAoUmVuZGVyVGhlbWVDaHJvbWl1bVNr
aWEpOgorICAgICAgICBEZWNsYXJlIHRoZSBmdWxsc2NyZWVuIHBhaW50aW5nIGZ1bmN0aW9uIGZv
ciBDaHJvbWUgU2tpYS4KKworMjAxMi0wNi0xMSAgU2lsdmlhIFBmZWlmZmVyICA8c2lsdmlhcGZA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIENoYW5nZSBtdXRlIGJ1dHRvbiBhbmQgdm9sdW1lIHNs
aWRlciBiZWhhdmlvdXIgZm9yIG5ldyBDaHJvbWl1bSB2aWRlbyBjb250cm9scy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NzQzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBmaW5h
bCBwYXRjaCB3aWxsIGNvbnRhaW4gdGhlIHJlYmFzZWxpbmVkIHRlc3RzLgorCisgICAgICAgIFRo
ZSBDaHJvbWUgdmlkZW8gY29udHJvbHMgYXJlIHJlY2VpdmluZyBhIHZpc3VhbCB1cGRhdGUuIFRo
aXMgcGF0Y2ggbWFrZXMgdGhlIG11dGUgYnV0dG9uIGFuZAorICAgICAgICB0aGUgdm9sdW1lIHNs
aWRlciBpbnRlcmFjdCB3aXRoIGVhY2ggb3RoZXIuIFdoZW4gdGhlIHVzZXIgbXV0ZXMgdGhlIHZp
ZGVvIHRocm91Z2ggY2xpY2tpbmcgdGhlCisgICAgICAgIG11dGUgYnV0dG9uLCB0aGUgdm9sdW1l
IHNsaWRlciBhbmltYXRlcyB0byAwJSB2b2x1bWUuIFVwb24gdW5tdXRlLCB0aGUgcHJldmlvdXMg
dm9sdW1lIGxldmVsCisgICAgICAgIGlzIHJlc3RvcmVkLiBGdXJ0aGVyLCB3aGVuIHRoZSB1c2Vy
IGRyYWdzIHRoZSB2b2x1bWUgc2xpZGVyIHRodW1iIG9yIGNsaWNrcyBvbiB0aGUgc2xpZGVyIGFu
ZAorICAgICAgICB0aGUgdmlkZW8gaXMgbXV0ZWQsIHRoZSB2aWRlbyB1bm11dGVzIGFuZCBzZXRz
IHRoZSB2b2x1bWUgdG8gdGhlIHVzZXIncyBjaG9zZW4gbGV2ZWwuCisKKyAgICAgICAgKiBodG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50OjpNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVt
ZW50KToKKyAgICAgICAgQWRkIGEgbWVtYmVyIGZpZWxkIHRvIHRoZSB2b2x1bWUgc2xpZGVyIHRv
IGFsbG93IHVzZXIgaW50ZXJhY3Rpb24gdG8gdW5tdXRlIHRoZSB2aWRlby4KKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRs
ZXIpOgorICAgICAgICBBZGQgdGhlIGxvZ2ljIHRvIHVubXV0ZSB0aGUgdmlkZW8gaWYgdGhlIG1f
Y2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uIG1lbWJlciBmaWVsZCBpcyB0cnVlLgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6c2V0Q2xlYXJNdXRl
ZE9uVXNlckludGVyYWN0aW9uKToKKyAgICAgICAgQWRkIGEgbWVtYmVyIGZ1bmN0aW9uIHRvIGNo
YW5nZSB0aGUgdmFsdWUgb2YgdGhlIG1fY2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uIG1lbWJl
ciBmaWVsZC4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oOgor
ICAgICAgICAoTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudCk6CisgICAgICAgIEFkZCB0
aGUgc2V0Q2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uIG1lbWJlciBmdW5jdGlvbiBhbmQgdGhl
IG1fY2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uIG1lbWJlciBmaWVsZC4KKyAgICAgICAgKiBo
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmNyZWF0ZSk6CisgICAg
ICAgIEFjdGl2YXRlIHVubXV0ZSBvbiB1c2VyIGludGVyYWN0aW9uIG9uIHRoZSBDaHJvbWl1bSB2
aWRlbyB2b2x1bWUgc2xpZGVyLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVs
ZW1lbnRDaHJvbWl1bTo6Y2hhbmdlZE11dGUpOgorICAgICAgICBBZGQgbG9naWMgdG8gc2V0IHZv
bHVtZSBzbGlkZXIgdG8gMCB3aGVuIG11dGVkIGFuZCByZXNldCB0byB2b2x1bWUgd2hlbiB1bm11
dGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRNZWRpYVZvbHVtZVNsaWRlcik6CisgICAgICAgIEFk
ZCBsb2dpYyB0byBwYWludCB0aGUgdm9sdW1lIHNsaWRlciBhY3RpdmUgYXJlYSBhcyAwIHdoZW4g
bXV0ZWQuCisKKzIwMTItMDYtMTAgIFNpbHZpYSBQZmVpZmZlciAgPHNpbHZpYXBmQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBVcGRhdGUgdGhlIHRpbWUgZGlzcGxheSBvZiB0aGUgbmV3IENocm9t
aXVtIG1lZGlhIGNvbnRyb2xzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODg3MjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBObyBuZXcgdGVzdHMsIGZpbmFsIHBhdGNoIHdpbGwgY29udGFpbiB0aGUgcmVi
YXNlbGluZWQgdGVzdHMuCisKKyAgICAgICAgVGhlIENocm9tZSB2aWRlbyBjb250cm9scyBhcmUg
cmVjZWl2aW5nIGEgdmlzdWFsIHVwZGF0ZS4gVGhpcyBwYXRjaCBjaGFuZ2VzCisgICAgICAgIHRo
ZSBmb3JtYXQgb2YgdGhlIHRpbWUgZGlnaXRzIHRoYXQgYXJlIGRpc3BsYXllZC4gVGhleSBhcmUg
ZGlmZmVyZW50IGZvciBtZWRpYQorICAgICAgICBmaWxlcyBvZiBkaWZmZXJlbnQgZHVyYXRpb24u
IEZvciBub24tYXV0b3BsYXlpbmcgdmlkZW9zLCB0aGUgZHVyYXRpb24gaXMgc2hvd24KKyAgICAg
ICAgYmVmb3JlIHBsYXliYWNrIGlzIHN0YXJ0ZWQuCisKKyAgICAgICAgKiBjc3MvbWVkaWFDb250
cm9sc0Nocm9taXVtLmNzczoKKyAgICAgICAgKGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xz
LXRpbWUtcmVtYWluaW5nLWRpc3BsYXksIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRp
bWUtcmVtYWluaW5nLWRpc3BsYXkpOgorICAgICAgICBGb3JtYXQgdGhlIG5ldyBkdXJhdGlvbiBk
aXNwbGF5IHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50IHRpbWUgZGlzcGxheS4KKyAgICAgICAgKiBo
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06Ok1lZGlhQ29udHJvbFJv
b3RFbGVtZW50Q2hyb21pdW0pOgorICAgICAgICBBZGQgYSBtZW1iZXIgZmllbGQgZm9yIHRoZSBk
dXJhdGlvbiBkaXNwbGF5LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1l
bnRDaHJvbWl1bTo6Y3JlYXRlKToKKyAgICAgICAgQWRkIGFuIGVsZW1lbnQgZm9yIHRoZSBkdXJh
dGlvbiBkaXNwbGF5IGFuZCBpbml0aWFsbHkgaGlkZSB0aGUgY3VycmVudCB0aW1lIGRpc3BsYXku
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpzZXRN
ZWRpYUNvbnRyb2xsZXIpOgorICAgICAgICBBZGQgdGhlIGR1cmF0aW9uIGRpc3BsYXkgdG8gdGhl
IGNvbnRyb2xsZXIuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENo
cm9taXVtOjpyZXNldCk6CisgICAgICAgIEFkZCByZXNldCBmdW5jdGlvbmFsaXR5IGZvciB0aGUg
ZHVyYXRpb24gZGlzcGxheS4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50Q2hyb21pdW06OnBsYXliYWNrU3RhcnRlZCk6CisgICAgICAgIFNob3cgdGhlIGN1cnJlbnQg
dGltZSBkaXNwbGF5IGFuZCBoaWRlIHRoZSBkdXJhdGlvbiBkaXNwbGF5IHVwb24gcGxheWJhY2sg
c3RhcnQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVt
Ojp1cGRhdGVUaW1lRGlzcGxheSk6CisgICAgICAgIFNob3cgdGhlIGN1cnJlbnQgdGltZSBkaXNw
bGF5IGFuZCBoaWRlIHRoZSBkdXJhdGlvbiBkaXNwbGF5IHdoZW4gY3VycmVudCB0aW1lIGlzIG5v
bi16ZXJvLgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hy
b21pdW0uaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICBBZGQgdGhlIE1lZGlhQ29udHJv
bFRpbWVSZW1haW5pbmdEaXNwbGF5RWxlbWVudCB3aGljaCBwcm92aWRlcyB1c2Ugd2l0aCB0aGUg
ZHVyYXRpb24gZGlzcGxheS4KKyAgICAgICAgKE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21p
dW0pOgorICAgICAgICBBZGQgYSBkdXJhdGlvbiBtZW1iZXIgZmllbGQsIHJldXNpbmcgdGhlIGV4
aXN0aW5nIE1lZGlhQ29udHJvbFRpbWVSZW1haW5pbmdEaXNwbGF5RWxlbWVudC4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmZvcm1hdENocm9taXVtTWVkaWFDb250cm9sc1RpbWUpOgorICAgICAgICBGb3JtYXRz
IGEgZ2l2ZW4gdGltZSB1bmRlciB0aGUgY29uZGl0aW9uIG9mIGEgZ2l2ZW4gZHVyYXRpb24uCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OmZvcm1hdE1lZGlh
Q29udHJvbHNUaW1lKToKKyAgICAgICAgV2hlbiBmb3JtYXR0aW5nIGEgc2luZ2xlIHRpbWUsIGFz
c3VtZSBpdCB0byBhbHNvIHByb3ZpZGUgdGhlIGR1cmF0aW9uIGNvbmRpdGlvbnMuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OmZvcm1hdE1lZGlhQ29udHJv
bHNDdXJyZW50VGltZSk6CisgICAgICAgIEZvcm1hdCB0aGUgY3VycmVudCB0aW1lIGdpdmVuIHRo
ZSBkdXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1
bTo6Zm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUpOgorICAgICAgICBGb3JtYXQgdGhl
IHJlbWFpbmluZyB0aW1lIGZyb20gdGhlIGN1cnJlbnQgdGltZSBnaXZlbiB0aGUgZHVyYXRpb24u
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5oOgorICAg
ICAgICAoUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtKToKKyAgICAgICAgRGVjbGFyZSB0aGUg
dGltZSBmb3JtYXR0aW5nIG1lbWJlciBmdW5jdGlvbnMuCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRoZW1lQ2hyb21pdW1NYWMuaDoKKyAgICAgICAgKFJlbmRlclRoZW1lQ2hyb21pdW1NYWMp
OgorICAgICAgICBEZWNsYXJlIHRoZSB0aW1lIGZvcm1hdHRpbmcgbWVtYmVyIGZ1bmN0aW9ucyBm
b3IgQ2hyb21pdW0gb24gdGhlIE1hYy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVD
aHJvbWl1bU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1NYWM6
OmZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
Q2hyb21pdW1NYWM6OmZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGltZSk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWlu
aW5nVGltZSk6CisgICAgICAgIENhbGwgdGhlIHRpbWUgZm9ybWF0dGluZyBtZW1iZXIgZnVuY3Rp
b25zIG9mIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bSBvbiB0aGUgTWFjLgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojpmb3JtYXRNZWRpYUNvbnRyb2xzVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpmb3JtYXRNZWRp
YUNvbnRyb2xzQ3VycmVudFRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6Zm9ybWF0TWVkaWFDb250
cm9sc1JlbWFpbmluZ1RpbWUpOgorICAgICAgICBDYWxsIHRoZSB0aW1lIGZvcm1hdHRpbmcgbWVt
YmVyIGZ1bmN0aW9ucyBvZiBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0gb24gU2tpYS4KKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaDoKKyAgICAgICAgKFJl
bmRlclRoZW1lQ2hyb21pdW1Ta2lhKToKKyAgICAgICAgRGVjbGFyZSB0aGUgdGltZSBmb3JtYXR0
aW5nIG1lbWJlciBmdW5jdGlvbnMgZm9yIENocm9taXVtIFNraWEuCisKKzIwMTItMDYtMDkgIFNp
bHZpYSBQZmVpZmZlciAgPHNpbHZpYXBmQGNocm9taXVtLm9yZz4KKworICAgICAgICBVcGRhdGUg
cmFuZ2Ugc2xpZGVycyByZW5kZXJpbmcgZm9yIHZvbHVtZSBhbmQgcGxheWJhY2sgcG9zaXRpb24g
b2YgbmV3IENocm9tZSB2aWRlbyBjb250cm9scy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NjIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBmaW5hbCBwYXRjaCB3aWxsIGNvbnRh
aW4gdGhlIHJlYmFzZWxpbmVkIHRlc3RzLgorCisgICAgICAgIFRoZSBDaHJvbWUgdmlkZW8gY29u
dHJvbHMgYXJlIHJlY2VpdmluZyBhIHZpc3VhbCB1cGRhdGUuIFRoaXMgcGF0Y2ggY29udGFpbnMg
dXBkYXRlcyB0byB0aGUKKyAgICAgICAgcmVuZGVyaW5nIG9mIHRoZSByYW5nZSBzbGlkZXJzIGZv
ciB0aGUgcGxheWJhY2sgcG9zaXRpb24gYW5kIHRoZSB2b2x1bWUuIFRoaXMgaW5jbHVkZXMgdGhl
CisgICAgICAgIGNyZWF0aW9uIG9mIGEgc2hhZG93UHNldWRvSWQgdG8gYmUgYWJsZSB0byBzdHls
ZSB0aGUgcmFuZ2Ugc2xpZGVycyB2aWEgQ1NTLCB0aGUgcmVuZGVyaW5nCisgICAgICAgIG9mIHRo
ZSBzbGlkZXIgYmFja2dyb3VuZCBhbmQgdGhlIGhpZ2hsaWdodGVkIHJhbmdlcy4KKworICAgICAg
ICAqIGNzcy9tZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3NzOgorICAgICAgICAoaW5wdXRbdHlwZT0i
cmFuZ2UiXTo6LXdlYmtpdC1tZWRpYS1zbGlkZXItY29udGFpbmVyKToKKyAgICAgICAgQWRqdXN0
IHRoZSBzdHlsaW5nIG9mIHRoZSBzbGlkZXIgY29udGFpbmVyIGJhY2tncm91bmRzLgorICAgICAg
ICAoaW5wdXRbdHlwZT0icmFuZ2UiXTo6LXdlYmtpdC1tZWRpYS1zbGlkZXItdGh1bWIpOgorICAg
ICAgICBBZGp1c3QgdGhlIHN0eWxpbmcgb2YgdGhlIHNsaWRlciB0aHVtYnMuCisgICAgICAgICog
aHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNs
aWRlclRodW1iU2hhZG93UHNldWRvSWQpOgorICAgICAgICBBZGQgYW4gYWNjZXNzb3IgZnVuY3Rp
b24gZm9yIHRoZSBzbGlkZXIgdGh1bWIgc2hhZG93UHNldWRvSWQuCisgICAgICAgIChXZWJDb3Jl
OjptZWRpYVNsaWRlclRodW1iU2hhZG93UHNldWRvSWQpOgorICAgICAgICBBZGQgYW4gYWNjZXNz
b3IgZnVuY3Rpb24gZm9yIHRoZSBtZWRpYSBzbGlkZXIgdGh1bWIgc2hhZG93UHNldWRvSWQuCisg
ICAgICAgIChXZWJDb3JlOjpTbGlkZXJUaHVtYkVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKToKKyAg
ICAgICAgQWRkIGEgZGlmZmVyZW50IENTUyBwc2V1ZG8tY2xhc3MgbmFtZSB0byB0aGUgbWVkaWEg
c2xpZGVyIHRodW1icy4KKyAgICAgICAgKFdlYkNvcmU6OlRyYWNrTGltaXRlckVsZW1lbnQ6OnNo
YWRvd1BzZXVkb0lkKToKKyAgICAgICAgQWRkIGEgZGlmZmVyZW50IENTUyBwc2V1ZG8tY2xhc3Mg
bmFtZSB0byB0aGUgbWVkaWEgc2xpZGVyIHRodW1icy4KKyAgICAgICAgKFdlYkNvcmU6OlNsaWRl
ckNvbnRhaW5lckVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKToKKyAgICAgICAgQWRkIGEgZGlmZmVy
ZW50IENTUyBwc2V1ZG8tY2xhc3MgbmFtZSB0byB0aGUgbWVkaWEgc2xpZGVyIGJhY2tncm91bmQg
Y29udGFpbmVyLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21p
dW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRSb3VuZGVkU2xpZGVyQmFja2dyb3VuZCk6
CisgICAgICAgIEFkZCBmdW5jdGlvbiB0byBkcmF3IHJvdW5kZWQgYmFja2dyb3VuZCBvZiBzbGlk
ZXJzIGluIGEgZGFyayBjb2xvci4KKyAgICAgICAgKFdlYkNvcmU6OnBhaW50U2xpZGVyUmFuZ2VI
aWdobGlnaHQpOgorICAgICAgICBBZGQgZnVuY3Rpb24gdG8gZHJhdyBhIGhpZ2hsaWdodGVkIGdy
ZXkgcmVnaW9uIG9uIHRoZSBzbGlkZXJzLCB3aGljaCBpcyByb3VuZGVkIG9ubHkgYXQKKyAgICAg
ICAgaXRzIGVuZHMuCisgICAgICAgIChXZWJDb3JlOjpwYWludE1lZGlhU2xpZGVyKToKKyAgICAg
ICAgVXBkYXRlIHRoZSBiYWNrZ3JvdW5kIGFuZCBidWZmZXJlZCByYW5nZSByZW5kZXJpbmdzIG9u
IHRoZSBwbGF5YmFjayBwb3NpdGlvbiBzbGlkZXIgYnkgbWFraW5nCisgICAgICAgIHVzZSBvZiB0
aGUgbmV3IGhlbHBlciBmdW5jdGlvbnMuCisgICAgICAgIChXZWJDb3JlOjpwYWludE1lZGlhVm9s
dW1lU2xpZGVyKToKKyAgICAgICAgVXBkYXRlIHRoZSBiYWNrZ3JvdW5kIGFuZCBidWZmZXJlZCBy
YW5nZSByZW5kZXJpbmdzIG9uIHRoZSB2b2x1bWUgc2xpZGVyIGJ5IG1ha2luZworICAgICAgICB1
c2Ugb2YgdGhlIG5ldyBoZWxwZXIgZnVuY3Rpb25zLgorCisyMDEyLTA2LTA2ICBTaWx2aWEgUGZl
aWZmZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2hhbmdlIHRoZSBzdHls
aW5nIG9mIHRoZSBDaHJvbWl1bSB2aWRlbyBjb250cm9scy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4Mjk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoZmluYWwgcGF0Y2ggd2ls
bCBjb250YWluIHRoZSByZWJhc2VsaW5lZCB0ZXN0cykKKworICAgICAgICBUaGUgQ2hyb21lIHZp
ZGVvIGNvbnRyb2xzIGFyZSByZWNlaXZpbmcgYSB2aXN1YWwgdXBkYXRlLiBUaGlzIHBhdGNoIGlu
Y2x1ZGVzIENTUyBjaGFuZ2VzLAorICAgICAgICB0aGUgcmVtb3ZhbCBvZiB0aGUgbm93IG5vIGxv
bmdlciBuZWVkZWQgY29udHJvbHMgYmFja2dyb3VuZCBkaXYsIGFuZCB0aGUgaW50cm9kdWN0aW9u
IG9mCisgICAgICAgIG5ldyBpbWFnZXMgZm9yIHRoZSBidXR0b25zLgorCisgICAgICAgICogY3Nz
L21lZGlhQ29udHJvbHNDaHJvbWl1bS5jc3M6CisgICAgICAgIChhdWRpbyk6CisgICAgICAgIEFk
anVzdCBoZWlnaHQgb2YgYXVkaW8gY29udHJvbHMuCisgICAgICAgICg6Oi13ZWJraXQtbWVkaWEt
Y29udHJvbHMpOgorICAgICAgICBVc2UgZmxleGJveCBvbiBtZWRpYSBjb250cm9scyBzaGFkb3cg
RE9NLgorICAgICAgICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZW5jbG9zdXJlLCB2
aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1lbmNsb3N1cmUpOgorICAgICAgICBBZGp1c3Qg
aGVpZ2h0LCBtYXgtd2lkdGgsIHRleHQtaW5kZW50IGFuZCBib3gtc2l6aW5nLCBhbmQgcmVzZXQg
cGFkZGluZyB0byAwLgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZW5j
bG9zdXJlKToKKyAgICAgICAgVXNlIDVweCBwYWRkaW5nIG9ubHkgZm9yIHZpZGVvIGNvbnRyb2xz
IGFuZCBhZGp1c3QgaGVpZ2h0IGFjY29yZGluZ2x5LgorICAgICAgICAoYXVkaW86Oi13ZWJraXQt
bWVkaWEtY29udHJvbHMtcGFuZWwsIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVs
KToKKyAgICAgICAgVXNlIGZsZXhib3ggb24gcGFuZWwsIGFkanVzdCBib3R0b20gYWxpZ25tZW50
LCBoZWlnaHQsIGJhY2tncm91bmQgY29sb3IgYW5kIGJvcmRlciByYWRpdXMuCisgICAgICAgIChh
dWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1tdXRlLWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQt
bWVkaWEtY29udHJvbHMtbXV0ZS1idXR0b24pOgorICAgICAgICBEaXNwbGF5IGJ1dHRvbnMgaW5s
aW5lIHdpdGggZml4ZWQgd2lkdGggYW5kIGhlaWdodCwgdmVydGljYWxseSBjZW50ZXJlZCwgbm8g
cGFkZGluZyBhbmQKKyAgICAgICAgNnB4IHNwYWNlIHRvIG5leHQgY29udHJvbHMgZWxlbWVudCAo
dGhpcyB3aWxsIGJlIDE1cHggaW5jbCB0aGUgc3BhY2UgaW4gdGhlIGltYWdlKS4KKyAgICAgICAg
KGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBsYXktYnV0dG9uLCB2aWRlbzo6LXdlYmtp
dC1tZWRpYS1jb250cm9scy1wbGF5LWJ1dHRvbik6CisgICAgICAgIERpc3BsYXkgYnV0dG9ucyBp
bmxpbmUgd2l0aCBmaXhlZCB3aWR0aCBhbmQgaGVpZ2h0LCB2ZXJ0aWNhbGx5IGNlbnRlcmVkLCBu
byBwYWRkaW5nIGFuZAorICAgICAgICA5cHggc3BhY2UgdG8gbmV4dCBjb250cm9scyBlbGVtZW50
ICh0aGlzIHdpbGwgYmUgMTVweCBpbmNsIHRoZSBzcGFjZSBpbiB0aGUgaW1hZ2UpLgorICAgICAg
ICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY3VycmVudC10aW1lLWRpc3BsYXksIHZp
ZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWN1cnJlbnQtdGltZS1kaXNwbGF5KToKKyAgICAg
ICAgRGlzcGxheSB0ZXh0IGFzIGJsb2NrLCB3aXRob3V0IGJyb2RlciwgYWRqdXN0ZWQgaGVpZ2h0
LCBmb250LWZhbWlseSwgZm9udC1zaXplIGFuZCA5cHggc3BhY2UKKyAgICAgICAgdG8gbmV4dCBj
b250cm9scyBlbGVtZW50ICh0aGlzIHdpbGwgYmUgMTVweCBpbmNsIHRoZSBzcGFjZSBpbiB0aGUg
aW1hZ2UpLgorICAgICAgICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUs
IHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWVsaW5lKToKKyAgICAgICAgQWRqdXN0
IGhlaWdodCwgcGFkZGluZywgYmFja2dyb3VuZC1jb2xvciwgbWluLXdkaXRoIGFuZCAxNXB4IHNw
YWNlIHRvIG5leHQgY29udHJvbHMgZWxlbWVudC4KKyAgICAgICAgKGF1ZGlvOjotd2Via2l0LW1l
ZGlhLWNvbnRyb2xzLXZvbHVtZS1zbGlkZXIsIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xz
LXZvbHVtZS1zbGlkZXIpOgorICAgICAgICBBZGp1c3QgaGVpZ2h0LCBtYXgtIGFuZCBtaW4td2lk
dGgsIGJhY2tncm91bmQtY29sb3IgYW5kIDE1cHggc3BhY2UgdG8gbmV4dCBjb250cm9scyBlbGVt
ZW50LgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21p
dW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1
bTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bSk6CisgICAgICAgIFJlbW92ZSB0aW1l
bGluZSBjb250YWluZXIsIHdoaWNoIGlzIG5vdCBuZWNlc3NhcnkgYW55IGxvbmdlciBiZWNhdXNl
IG9mIHRoZSB1c2Ugb2YgZmxleGJveC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJv
b3RFbGVtZW50Q2hyb21pdW06OmNyZWF0ZSk6CisgICAgICAgIFJlbW92ZSB0aW1lbGluZSBjb250
YWluZXIsIHdoaWNoIGlzIG5vdCBuZWNlc3NhcnkgYW55IGxvbmdlciBiZWNhdXNlIG9mIHRoZSB1
c2Ugb2YgZmxleGJveC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50
Q2hyb21pdW06OnNldE1lZGlhQ29udHJvbGxlcik6CisgICAgICAgIFJlbW92ZSB0aW1lbGluZSBj
b250YWluZXIsIHdoaWNoIGlzIG5vdCBuZWNlc3NhcnkgYW55IGxvbmdlciBiZWNhdXNlIG9mIHRo
ZSB1c2Ugb2YgZmxleGJveC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50Q2hyb21pdW06OnJlc2V0KToKKyAgICAgICAgU2hvdyB0aGUgdGltZWxpbmUgaW5zdGVhZCBv
ZiB0aGUgdGltZWxpbmUgY29udGFpbmVyIHdoZW4gcmVzZXR0aW5nLgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6cmVwb3J0ZWRFcnJvcik6CisgICAg
ICAgIEhpZGUgdGhlIHRpbWVsaW5lIGluc3RlYWQgb2YgdGhlIHRpbWVsaW5lIGNvbnRhaW5lciB3
aGVuIHJ1bm5pbmcgaW50byBhbiBlcnJvci4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVk
aWFDb250cm9sc0Nocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhaW50TWVkaWFNdXRl
QnV0dG9uKToKKyAgICAgICAgSW50cm9kdWNlIG5ldyBpbWFnZSByZXNvdXJjZXMgZm9yIHRoZSBt
dXRlIGJ1dHRvbiBhbmQgYWRqdXN0IGl0IGJhc2VkIG9uIHZvbHVtZSBsZXZlbHMuCisgICAgICAg
IChXZWJDb3JlOjpwYWludE1lZGlhUGxheUJ1dHRvbik6CisgICAgICAgIEludHJvZHVjZSBuZXcg
aW1hZ2UgcmVzb3VyY2VzIGZvciB0aGUgcGxheSBidXR0b24uCisgICAgICAgIChXZWJDb3JlOjpn
ZXRNZWRpYVNsaWRlclRodW1iKToKKyAgICAgICAgSW50cm9kdWNlIG5ldyBpbWFnZSByZXNvdXJj
ZXMgZm9yIHRoZSBwb3NpdGlvbiBzbGlkZXIgdGh1bWIuCisgICAgICAgIChXZWJDb3JlOjpwYWlu
dE1lZGlhVm9sdW1lU2xpZGVyVGh1bWIpOgorICAgICAgICBJbnRyb2R1Y2UgbmV3IGltYWdlIHJl
c291cmNlcyBmb3IgdGhlIHZvbHVtZSBzbGlkZXIgdGh1bWIuCisgICAgICAgIFJlbW92ZSB0aW1l
bGluZSBjb250YWluZXIgcmVuZGVyaW5nLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWVkaWFD
b250cm9sc0Nocm9taXVtOjpwYWludE1lZGlhQ29udHJvbHNQYXJ0KToKKyAgICAgICAgQWRkIHRp
bWVsaW5lIGNvbnRhaW5lciBwYWludGluZyB0byB0aGUgIm5vdCByZWFjaGVkIiBlbGVtZW50cy4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICBQcm92aWRlIHNpemUgc2V0dGluZ3MgZm9yIHRo
ZSBwb3NpdGlvbiBhbmQgdm9sdW1lIHNsaWRlcnMuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJN
ZWRpYUNvbnRyb2xzQ2hyb21pdW06OmFkanVzdE1lZGlhU2xpZGVyVGh1bWJTaXplKToKKyAgICAg
ICAgQ2FsY3VsYXRlIGNvcnJlY3Qgd2lkdGggYW5kIGhlaWdodCBzZXR0aW5ncyBmb3IgdGhlIG5l
dyBpbWFnZSByZXNvdXJjZXMgb2YgdGhlIHBvc2l0aW9uIGFuZCB2b2x1bWUKKyAgICAgICAgc2xp
ZGVyIHRodW1icy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5o
OgorICAgICAgICAoUmVuZGVyVGhlbWVDaHJvbWl1bU1hYyk6CisgICAgICAgIFJlbW92ZSB0aW1l
bGluZSBjb250YWluZXIgcmVuZGVyaW5nIChpLmUuIHRoZSBtZWRpYSBjb250cm9scyBiYWNrZ3Jv
dW5kKS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5tbToKKyAg
ICAgICAgUmVtb3ZlIHRpbWVsaW5lIGNvbnRhaW5lciByZW5kZXJpbmcgKGkuZS4gdGhlIG1lZGlh
IGNvbnRyb2xzIGJhY2tncm91bmQpLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUNo
cm9taXVtU2tpYS5jcHA6CisgICAgICAgIFJlbW92ZSB0aW1lbGluZSBjb250YWluZXIgcmVuZGVy
aW5nIChpLmUuIHRoZSBtZWRpYSBjb250cm9scyBiYWNrZ3JvdW5kKS4KKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaDoKKyAgICAgICAgKFJlbmRlclRoZW1lQ2hy
b21pdW1Ta2lhKToKKyAgICAgICAgUmVtb3ZlIHRpbWVsaW5lIGNvbnRhaW5lciByZW5kZXJpbmcg
KGkuZS4gdGhlIG1lZGlhIGNvbnRyb2xzIGJhY2tncm91bmQpLgorCisyMDEyLTA2LTA1ICBTaWx2
aWEgUGZlaWZmZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2hhbmdlIHRo
ZSB2b2x1bWUgc2xpZGVyIHRvIGhvcml6b250YWwgcmVuZGVyaW5nIGZvciBDaHJvbWUgdmlkZW8g
Y29udHJvbHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04NzgzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cy4gKHZpc3VhbCB1cGRhdGUgd2lsbCBjb250YWluIHJlYmFzZWxpbmVkIHRl
c3RzKQorCisgICAgICAgIFRoZSBDaHJvbWUgdmlkZW8gY29udHJvbHMgYXJlIHJlY2VpdmluZyBh
IHZpc3VhbCB1cGRhdGUuIFRoZSB2b2x1bWUgc2xpZGVyIGlzIGluY2x1ZGVkIGludG8KKyAgICAg
ICAgdGhlIGNvbnRyb2xzIHdpdGggaG9yaXpvbnRhbCByZW5kZXJpbmcsIHRoZSB2b2x1bWUgc2xp
ZGVyIGNvbnRhaW5lciBpcyByZW1vdmVkLiBUaGUgdmlzdWFsCisgICAgICAgIHVwZGF0ZSBpdHNl
bGYgaXMgaW4gYSBzZXBhcmF0ZSBwYXRjaC4KKworICAgICAgICAqIGNzcy9tZWRpYUNvbnRyb2xz
Q2hyb21pdW0uY3NzOgorICAgICAgICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtbXV0
ZS1idXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLW11dGUtYnV0dG9uKToKKyAg
ICAgICAgUmVtb3ZlZCByZWxhdGl2ZSBwb3NpdGlvbmluZyB0byByZW5kZXIgYWxsIGNvbnRyb2xz
IGVsZW1lbnRzIGVxdWFsbHkgaW4gRE9NIG9yZGVyLgorICAgICAgICAoYXVkaW86Oi13ZWJraXQt
bWVkaWEtY29udHJvbHMtcGxheS1idXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xz
LXBsYXktYnV0dG9uKToKKyAgICAgICAgUmVtb3ZlZCBhYnNvbHV0ZSBwb3NpdGlvbmluZyB0byBy
ZW5kZXIgYWxsIGNvbnRyb2xzIGVsZW1lbnRzIGVxdWFsbHkgaW4gRE9NIG9yZGVyLgorICAgICAg
ICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUtY29udGFpbmVyLCB2aWRl
bzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lbGluZS1jb250YWluZXIpOgorICAgICAgICBS
ZW1vdmVkIGFic29sdXRlIHBvc2l0aW9uaW5nIHRvIHJlbmRlciBhbGwgY29udHJvbHMgZWxlbWVu
dHMgZXF1YWxseSBpbiBET00gb3JkZXIuCisgICAgICAgIChhdWRpbzo6LXdlYmtpdC1tZWRpYS1j
b250cm9scy12b2x1bWUtc2xpZGVyLWNvbnRhaW5lciwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29u
dHJvbHMtdm9sdW1lLXNsaWRlci1jb250YWluZXIpOgorICAgICAgICBSZW1vdmVkIHZvbHVtZSBz
bGlkZXIgY29udGFpbmVyIC0gaXQncyBub3QgbmVjZXNzYXJ5IGFueSBtb3JlLgorICAgICAgICAo
YXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY3VycmVudC10aW1lLWRpc3BsYXksIHZpZGVv
Ojotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWN1cnJlbnQtdGltZS1kaXNwbGF5KToKKyAgICAgICAg
UmVtb3ZlIGZsZXhib3ggYW5kIGludHJvZHVjZSBpbmxpbmUgZGlzcGxheSB0byBhbHdheXMgZGlz
cGxheSB0aGlzIGZpZWxkLgorICAgICAgICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMt
dm9sdW1lLXNsaWRlciwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdm9sdW1lLXNsaWRl
cik6CisgICAgICAgIFJlbW92ZWQgYWJzb2x1dGUgcG9zaXRpb25pbmcgdG8gcmVuZGVyIGFsbCBj
b250cm9scyBlbGVtZW50cyBlcXVhbGx5IGluIERPTSBvcmRlci4KKyAgICAgICAgKiBodG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06Ok1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50Q2hyb21pdW0pOgorICAgICAgICBSZW1vdmVkIHZvbHVtZSBzbGlkZXIgY29udGFpbmVyIC0g
aXQncyBub3QgbmVjZXNzYXJ5IGFueSBtb3JlLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250
cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6Y3JlYXRlKToKKyAgICAgICAgQXBwZW5kZWQgdGhlIHZv
bHVtZSBzbGlkZXIgYW5kIHRoZSBtdXRlIGJ1dHRvbiBkaXJlY3RseSB0byB0aGUgcGFuZWwsIHJl
bW92ZWQgdm9sdW1lIHNsaWRlciBjb250YWluZXIuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNv
bnRyb2xSb290RWxlbWVudENocm9taXVtOjpzZXRNZWRpYUNvbnRyb2xsZXIpOgorICAgICAgICBS
ZW1vdmVkIHZvbHVtZSBzbGlkZXIgY29udGFpbmVyLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFD
b250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6cmVwb3J0ZWRFcnJvcik6CisgICAgICAgIFJlbW92
ZWQgdm9sdW1lIHNsaWRlciBjb250YWluZXIuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRy
b2xSb290RWxlbWVudENocm9taXVtOjpzaG93Vm9sdW1lU2xpZGVyKToKKyAgICAgICAgUmVtb3Zl
ZCB2b2x1bWUgc2xpZGVyIGNvbnRhaW5lci4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xSb290RWxlbWVudENocm9taXVtLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0pOgorICAgICAgICBSZW1vdmVkIHZvbHVt
ZSBzbGlkZXIgY29udGFpbmVyLgorICAgICAgICAqIGh0bWwvc2hhZG93L1NsaWRlclRodW1iRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpoYXNWZXJ0aWNhbEFwcGVhcmFuY2UpOgorICAg
ICAgICBBbGxvdyB1c2Ugb2YgaG9yaXpvbnRhbCBtZWRpYSB2b2x1bWUgc2xpZGVyLgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU2xpZGVyVGh1bWI6OmxheW91dCk6CisgICAgICAgIFJldXNlIGhh
c1ZlcnRpY2FsQXBwZWFyYW5jZSBmdW5jdGlvbi4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TWVkaWFDb250cm9sc0Nocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lZGlh
Q29udHJvbHNDaHJvbWl1bTo6cGFpbnRNZWRpYVZvbHVtZVNsaWRlcik6CisgICAgICAgIENoYW5n
ZSBsaW5lIGRyYXdpbmcgZnJvbSB2ZXJ0aWNhbCB0byBob3Jpem9udGFsLgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnVz
ZXNWZXJ0aWNhbFZvbHVtZVNsaWRlcik6CisgICAgICAgIEFkZCB1c2VzVmVydGljYWxWb2x1bWVT
bGlkZXIgZnVuY3Rpb24gdG8gYWxsb3cgaG9yaXpvbnRhbCB2b2x1bWUgc2xpZGVycy4KKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6dXNlc1ZlcnRpY2FsVm9sdW1lU2xpZGVyKToKKyAg
ICAgICAgQWRkIHVzZXNWZXJ0aWNhbFZvbHVtZVNsaWRlciBmdW5jdGlvbiB0byBhbGxvdyBob3Jp
em9udGFsIHZvbHVtZSBzbGlkZXJzLgorICAgICAgICBBZGQgdXNlc1ZlcnRpY2FsVm9sdW1lU2xp
ZGVyIGZ1bmN0aW9uIHRvIGFsbG93IGhvcml6b250YWwgdm9sdW1lIHNsaWRlcnMuCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmg6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6dXNlc1ZlcnRpY2FsVm9sdW1lU2xpZGVyKToKKyAg
ICAgICAgQWRkIHVzZXNWZXJ0aWNhbFZvbHVtZVNsaWRlciBmdW5jdGlvbiB0byBhbGxvdyBob3Jp
em9udGFsIHZvbHVtZSBzbGlkZXJzLgorCisyMDEyLTA1LTI4ICBTaWx2aWEgUGZlaWZmZXIgIDxz
aWx2aWFwZkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW50cm9kdWNlIGFuIEVuY2xvc3VyZSBF
bGVtZW50IGZvciBDaHJvbWl1bSB2aWRlbyBjb250cm9scy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NjgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlZCB0ZXN0cy4KKworICAgICAgICBUaGUg
Q2hyb21lIHZpZGVvIGNvbnRyb2xzIGFyZSByZWNlaXZpbmcgYSB2aXN1YWwgdXBkYXRlLiBBIG5l
dyBlbmNsb3N1cmUgZGl2IGlzIHJlcXVpcmVkCisgICAgICAgIHRvIHByb3ZpZGUgZm9yIGEgb2Zm
c2V0IHNwYWNlIGZyb20gdGhlIHZpZGVvJ3MgYm91bmRhcmllcy4gVGhlIHZpc3VhbCB1cGRhdGUg
aXRzZWxmIGlzIGluCisgICAgICAgIGEgc2VwYXJhdGUgcGF0Y2guCisKKyAgICAgICAgKiBjc3Mv
bWVkaWFDb250cm9sc0Nocm9taXVtLmNzczoKKyAgICAgICAgKHZpZGVvOjotd2Via2l0LW1lZGlh
LWNvbnRyb2xzLWVuY2xvc3VyZSk6CisgICAgICAgIEludHJvZHVjZSBDU1MgZm9yIGVuY2xvc3Vy
ZSBkaXYgc28gaXQgZG9lc24ndCBzaG93IHlldC4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRp
YUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q29udHJvbENocm9taXVtRW5jbG9zdXJlRWxlbWVudDo6TWVkaWFDb250cm9sQ2hyb21pdW1FbmNs
b3N1cmVFbGVtZW50KToKKyAgICAgICAgRGVmaW5pdGlvbiBvZiB0aGUgbmV3IGVuY2xvc3VyZSBl
bGVtZW50LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sQ2hyb21pdW1FbmNsb3N1cmVF
bGVtZW50OjpjcmVhdGUpOgorICAgICAgICBEZWZpbml0aW9uIG9mIGEgY3JlYXRlIG9wZXJhdG9y
IGZvciB0aGUgbmV3IGVuY2xvc3VyZSBlbGVtZW50LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFD
b250cm9sQ2hyb21pdW1FbmNsb3N1cmVFbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCk6CisgICAgICAg
IERlZmluaXRpb24gb2YgdGhlIHNoYWRvd1BzZXVkb0lkIG9mIC13ZWJraXQtbWVkaWEtY29udHJv
bHMtZW5jbG9zdXJlIGZvciB0aGUgZW5jbG9zdXJlIGRpdi4KKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hy
b21pdW0pOgorICAgICAgICBJbml0aWFsaXplIG1lbWJlciBlbGVtZW50IGZvciBlbmNsb3N1cmUg
ZGl2LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6
Y3JlYXRlKToKKyAgICAgICAgSW5zdGFudGlhdGUgZW5jbG9zdXJlIGRpdiBhbmQgYWRkIGludG8g
RE9NIGJldHdlZW4gY29udHJvbHMgYW5kIHBhbmVsIGVsZW1lbnRzLgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6c2V0TWVkaWFDb250cm9sbGVyKToK
KyAgICAgICAgU2V0IG1lZGlhIGNvbnRyb2xsZXIgZm9yIGVuY2xvc3VyZSBkaXYuCisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpjcmVhdGVUZXh0VHJh
Y2tEaXNwbGF5KToKKyAgICAgICAgSW5zZXJ0IHRleHQgdHJhY2sgZGlzcGxheSBjb250YWluZXIg
dG8gZW5jbG9zdXJlIHJhdGhlciB0aGFuIHBhbmVsLgorICAgICAgICAqIGh0bWwvc2hhZG93L01l
ZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoTWVkaWFDb250cm9sQ2hyb21pdW1FbmNsb3N1cmVFbGVtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhQ29udHJvbENocm9taXVtRW5jbG9zdXJlRWxlbWVudDo6c2V0TWVkaWFDb250
cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbENocm9taXVtRW5jbG9zdXJl
RWxlbWVudDo6bWVkaWFDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJv
bENocm9taXVtRW5jbG9zdXJlRWxlbWVudDo6aXNNZWRpYUNvbnRyb2xFbGVtZW50KToKKyAgICAg
ICAgQWRkIGRlY2xhcmF0aW9uIG9mIHRoZSBuZXcgZW5jbG9zdXJlIGVsZW1lbnQgYW5kIGl0cyBt
ZW1iZXIgZnVuY3Rpb25zLgorICAgICAgICAoTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1
bSk6CisgICAgICAgIEFkZCBtZW1iZXIgdmFyaWFibGUgdG8gY29udHJvbHMgcm9vdCBlbGVtZW50
IHRvIGhvbGQgdGhlIGVuY2xvc3VyZSBlbGVtZW50LgorCiAyMDEyLTA2LTEwICBZb3NoaWZ1bWkg
SW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Zvcm1zXSBJbnRyb2R1Y2Ug
RGVjaW1hbCBiZWhpbmQgdGhlIElucHV0TnVtYmVyIHR5cGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3NzIGIvU291cmNlL1dlYkNvcmUvY3Nz
L21lZGlhQ29udHJvbHNDaHJvbWl1bS5jc3MKaW5kZXggNDA5Mzk4YzVkMGNjZjBjOWQ2M2Y2MGU5
YjY5MzcyZTlhMzkyNGQyNi4uYjM5MzEwMTZlMDQ1ZmIyNzQ3MjJjNDJiOGI5MjY1OTY4MDFhOWVm
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHNDaHJvbWl1bS5j
c3MKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHNDaHJvbWl1bS5jc3MKQEAg
LTMxLDcgKzMxLDcgQEAgYm9keTotd2Via2l0LWZ1bGwtcGFnZS1tZWRpYSB7CiAKIGF1ZGlvIHsK
ICAgICB3aWR0aDogMzAwcHg7Ci0gICAgaGVpZ2h0OiAzMnB4OworICAgIGhlaWdodDogMzBweDsK
IH0KIAogYXVkaW86LXdlYmtpdC1mdWxsLXBhZ2UtbWVkaWEsIHZpZGVvOi13ZWJraXQtZnVsbC1w
YWdlLW1lZGlhIHsKQEAgLTM5LDkwICszOSw4NCBAQCBhdWRpbzotd2Via2l0LWZ1bGwtcGFnZS1t
ZWRpYSwgdmlkZW86LXdlYmtpdC1mdWxsLXBhZ2UtbWVkaWEgewogICAgIG1heC13aWR0aDogMTAw
JTsKIH0KIAotYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcGFuZWwsIHZpZGVvOjotd2Vi
a2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVsIHsKLSAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25l
OwotICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDsKLSAgICBwb3NpdGlvbjogcmVsYXRpdmU7Ci0g
ICAgb3ZlcmZsb3c6IHZpc2libGU7Ci0gICAgYm90dG9tOiAwOwotICAgIHdpZHRoOiAxMDAlOwot
ICAgIGhlaWdodDogMzJweDsKLSAgICB6LWluZGV4OiAwOwotICAgIGJhY2tncm91bmQtY29sb3I6
IHJnYmEoMCwgMCwgMCwgMC42KTsKLX0KLQorYXVkaW86LXdlYmtpdC1mdWxsLXBhZ2UtbWVkaWE6
Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcGFuZWwsCiB2aWRlbzotd2Via2l0LWZ1bGwtcGFnZS1t
ZWRpYTo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1wYW5lbCB7CiAgICAgYm90dG9tOiAwcHg7CiB9
CiAKLWF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVsLCB2aWRlbzo6LXdlYmtpdC1t
ZWRpYS1jb250cm9scy1wYW5lbCB7Ci0gICAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZDsKKzo6LXdl
YmtpdC1tZWRpYS1jb250cm9scyB7CisgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CisgICAgLXdl
YmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKKyAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7Cisg
ICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKIH0KIAotYXVkaW86Oi13ZWJraXQtbWVkaWEt
Y29udHJvbHMtbXV0ZS1idXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLW11dGUt
YnV0dG9uIHsKLSAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lZGlhLW11dGUtYnV0dG9uOwotICAg
IHBvc2l0aW9uOiByZWxhdGl2ZTsKLSAgICB0b3A6IGF1dG87CithdWRpbzo6LXdlYmtpdC1tZWRp
YS1jb250cm9scy1lbmNsb3N1cmUsIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWVuY2xv
c3VyZSB7CisgICAgd2lkdGg6IDEwMCU7CisgICAgbWF4LXdpZHRoOiA4MDBweDsKKyAgICBoZWln
aHQ6IDMwcHg7CiAgICAgYm90dG9tOiAwOwotICAgIHJpZ2h0OiAwOwotICAgIGxlZnQ6IGF1dG87
Ci0KLSAgICB3aWR0aDogMzRweDsKLSAgICBoZWlnaHQ6IDMycHg7CisgICAgdGV4dC1pbmRlbnQ6
IDA7CisgICAgcGFkZGluZzogMDsKKyAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogfQogCi1h
dWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1wbGF5LWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQt
bWVkaWEtY29udHJvbHMtcGxheS1idXR0b24gewotICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWVk
aWEtcGxheS1idXR0b247Ci0KLSAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgdG9wOiBhdXRv
OwotICAgIGJvdHRvbTogN3B4OwotICAgIGxlZnQ6IDdweDsKLSAgICByaWdodDogNnB4OwotCi0g
ICAgd2lkdGg6IDE4cHg7Ci0gICAgaGVpZ2h0OiAxOXB4OwordmlkZW86Oi13ZWJraXQtbWVkaWEt
Y29udHJvbHMtZW5jbG9zdXJlIHsKKyAgICBwYWRkaW5nOiAwcHggNXB4IDVweCA1cHg7CisgICAg
aGVpZ2h0OiAzNXB4OwogfQogCi1hdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lbGlu
ZS1jb250YWluZXIsIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWVsaW5lLWNvbnRh
aW5lciB7Ci0gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZWRpYS10aW1lbGluZS1jb250YWluZXI7
Ci0gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKK2F1ZGlvOjotd2Via2l0LW1lZGlhLWNv
bnRyb2xzLXBhbmVsLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1wYW5lbCB7CisgICAg
ZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFs
OwogICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAgLXdlYmtpdC1ib3gtcGFjazog
Y2VudGVyOwotICAgIC13ZWJraXQtYm94LWZsZXg6IDE7Ci0KLSAgICBwb3NpdGlvbjogYWJzb2x1
dGU7Ci0gICAgdG9wOiBhdXRvOwotICAgIGJvdHRvbTogMDsKLSAgICBsZWZ0OiAzMHB4OwotICAg
IHJpZ2h0OiAzNHB4OworICAgIGJvdHRvbTogYXV0bzsKKyAgICBoZWlnaHQ6IDMwcHg7CisgICAg
YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMCwgMjAsIDIwLCAwLjgpOworICAgIGJvcmRlci1yYWRp
dXM6IDVweDsKK30KIAotICAgIHdpZHRoOiBhdXRvOwotICAgIGhlaWdodDogMzJweDsKK2F1ZGlv
Ojotd2Via2l0LW1lZGlhLWNvbnRyb2xzLW11dGUtYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRp
YS1jb250cm9scy1tdXRlLWJ1dHRvbiB7CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZWRpYS1t
dXRlLWJ1dHRvbjsKKyAgICBkaXNwbGF5OiBpbmxpbmU7CisgICAgYm9yZGVyOiBub25lOworICAg
IGJveC1zaXppbmc6IGJvcmRlci1ib3g7CisgICAgd2lkdGg6IDM1cHg7CisgICAgaGVpZ2h0OiAz
MHB4OworICAgIGxpbmUtaGVpZ2h0OiAzMHB4OworICAgIG1hcmdpbjogMCA2cHggMCAwOworICAg
IHBhZGRpbmc6IDA7Cit9CiAKLSAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjU1LCAy
NTUsIDI1NSwgMC4yKTsKLSAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1
LCAyNTUsIDAuMik7CithdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1wbGF5LWJ1dHRvbiwg
dmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcGxheS1idXR0b24geworICAgIC13ZWJraXQt
YXBwZWFyYW5jZTogbWVkaWEtcGxheS1idXR0b247CisgICAgZGlzcGxheTogaW5saW5lOworICAg
IGJvcmRlcjogbm9uZTsKKyAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OworICAgIHdpZHRoOiAz
MHB4OworICAgIGhlaWdodDogMzBweDsKKyAgICBsaW5lLWhlaWdodDogMzBweDsKKyAgICBtYXJn
aW4tbGVmdDogOXB4OworICAgIG1hcmdpbi1yaWdodDogOXB4OworICAgIHBhZGRpbmc6IDA7CiB9
CiAKLWF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWN1cnJlbnQtdGltZS1kaXNwbGF5LCB2
aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jdXJyZW50LXRpbWUtZGlzcGxheSB7CithdWRp
bzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jdXJyZW50LXRpbWUtZGlzcGxheSwgdmlkZW86Oi13
ZWJraXQtbWVkaWEtY29udHJvbHMtY3VycmVudC10aW1lLWRpc3BsYXksCithdWRpbzo6LXdlYmtp
dC1tZWRpYS1jb250cm9scy10aW1lLXJlbWFpbmluZy1kaXNwbGF5LCB2aWRlbzo6LXdlYmtpdC1t
ZWRpYS1jb250cm9scy10aW1lLXJlbWFpbmluZy1kaXNwbGF5IHsKICAgICAtd2Via2l0LWFwcGVh
cmFuY2U6IG1lZGlhLWN1cnJlbnQtdGltZS1kaXNwbGF5OwogICAgIC13ZWJraXQtdXNlci1zZWxl
Y3Q6IG5vbmU7Ci0gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7Ci0gICAgLXdlYmtpdC1ib3gtZmxl
eDogMDsKLSAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7Ci0gICAgLXdlYmtpdC1ib3gtYWxp
Z246IGNlbnRlcjsKLQotICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgZGlzcGxheTogYmxvY2s7
CisgICAgYm9yZGVyOiBub25lOwogICAgIGN1cnNvcjogZGVmYXVsdDsKIAotICAgIGxpbmUtaGVp
Z2h0OiAyMXB4OwotICAgIGhlaWdodDogMjBweDsKLSAgICB3aWR0aDogNThweDsKKyAgICBoZWln
aHQ6IDMwcHg7CisgICAgbWFyZ2luOiAwIDlweCAwIDA7CisgICAgcGFkZGluZzogMDsKIAotICAg
IHRleHQtYWxpZ246IGNlbnRlcjsKLSAgICBmb250LWZhbWlseTogQXJpYWw7Ci0gICAgZm9udC1z
aXplOiAxNnB4OworICAgIGxpbmUtaGVpZ2h0OiAzMHB4OworICAgIGZvbnQtZmFtaWx5OiBBcmlh
bCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOworICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICBmb250
LXdlaWdodDogYm9sZDsKICAgICBjb2xvcjogd2hpdGU7CiAKQEAgLTEzNyw0MCArMTMxLDYxIEBA
IGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWN1cnJlbnQtdGltZS1kaXNwbGF5LCB2aWRl
bzo6LXdlYmtpdC1tZWRpYS1jb250cm9sCiBhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10
aW1lbGluZSwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUgewogICAgIC13
ZWJraXQtYXBwZWFyYW5jZTogbWVkaWEtc2xpZGVyOwogICAgIGRpc3BsYXk6IC13ZWJraXQtYm94
OwotICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgLXdlYmtpdC1ib3gtZmxleDogMTsK
LQotICAgIHBhZGRpbmc6IDBweDsKLSAgICBtYXJnaW46IDBweCA2cHg7Ci0gICAgaGVpZ2h0OiAx
OHB4OwotCi0gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7Ci0gICAg
Ym9yZGVyLXN0eWxlOiBzb2xpZDsKLSAgICBib3JkZXItd2lkdGg6IDFweDsKLSAgICBib3JkZXIt
cmFkaXVzOiAycHg7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAw
LjA4KTsKLSAgICBjb2xvcjogcmdiKDUwLCAxNDAsIDIyMyk7CisgICAgaGVpZ2h0OiA4cHg7Cisg
ICAgbWFyZ2luOiAwIDE1cHggMCAwOworICAgIHBhZGRpbmc6IDA7CisgICAgYmFja2dyb3VuZC1j
b2xvcjogdHJhbnNwYXJlbnQ7CisgICAgbWluLXdpZHRoOiAyNXB4OwogfQogCi1hdWRpbzo6LXdl
YmtpdC1tZWRpYS1jb250cm9scy12b2x1bWUtc2xpZGVyLWNvbnRhaW5lciwgdmlkZW86Oi13ZWJr
aXQtbWVkaWEtY29udHJvbHMtdm9sdW1lLXNsaWRlci1jb250YWluZXIgewotICAgIC13ZWJraXQt
YXBwZWFyYW5jZTogbWVkaWEtdm9sdW1lLXNsaWRlci1jb250YWluZXI7Ci0gICAgcG9zaXRpb246
IGFic29sdXRlOwotICAgIGJvdHRvbTogMzJweDsKK2F1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRy
b2xzLXZvbHVtZS1zbGlkZXIsIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXZvbHVtZS1z
bGlkZXIgeworICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWVkaWEtdm9sdW1lLXNsaWRlcjsKKyAg
ICBkaXNwbGF5OiAtd2Via2l0LWJveDsKKyAgICAtd2Via2l0LWJveC1mbGV4OiAxOworICAgIGhl
aWdodDogOHB4OworICAgIG1heC13aWR0aDogNzBweDsKKyAgICBtYXJnaW46IDAgMTVweCAwIDA7
CisgICAgcGFkZGluZzogMDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKKyAg
ICBtaW4td2lkdGg6IDE1cHg7Cit9CiAKLSAgICB3aWR0aDogMzRweDsKLSAgICBoZWlnaHQ6IDEw
MHB4OworLyogRklYTUUgdGhlc2Ugc2hvdWxkbid0IHVzZSBzcGVjaWFsIHBzZXVkb1NoYWRvd0lk
cywgYnV0IG5pY2VyIHJ1bGVzLgorICAgaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1
bS9pc3N1ZXMvZGV0YWlsP2lkPTExMjUwOAorICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTYyMjE4CisqLworaW5wdXRbdHlwZT0icmFuZ2UiXTo6LXdlYmtpdC1tZWRp
YS1zbGlkZXItY29udGFpbmVyIHsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKKyAgICAtd2Vi
a2l0LWJveC1hbGlnbjogY2VudGVyOworICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRh
bDsgLyogVGhpcyBwcm9wZXJ0eSBpcyB1cGRhdGVkIGJ5IEMrKyBjb2RlLiAqLworICAgIC13ZWJr
aXQtYm94LXNpemluZzogYm9yZGVyLWJveDsKKyAgICBoZWlnaHQ6IDEwMCU7CisgICAgd2lkdGg6
IDEwMCU7CisgICAgYm9yZGVyOiAxcHggc29saWQgcmdiKDEzMCwgMTMwLCAxMzApOworICAgIGJv
cmRlci1yYWRpdXM6IDRweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyog
QmFja2dyb3VuZCBkcmF3aW5nIGlzIG1hbmFnZWQgYnkgQysrIGNvZGUgdG8gZHJhdyByYW5nZXMu
ICovCit9CiAKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7CitpbnB1
dFt0eXBlPSJyYW5nZSJdOjotd2Via2l0LW1lZGlhLXNsaWRlci10aHVtYiB7CisgICAgZGlzcGxh
eTogYmxvY2s7CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBzbGlkZXJ0aHVtYi1ob3Jpem9udGFs
OworICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsKKyAgICBwb3NpdGlvbjogcmVs
YXRpdmU7CisgICAgYm90dG9tOiAxcHg7CisgICAgbWFyZ2luLWxlZnQ6IC03cHg7CisgICAgbWFy
Z2luLXJpZ2h0OiAtN3B4OwogfQogCi1hdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy12b2x1
bWUtc2xpZGVyLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy12b2x1bWUtc2xpZGVyIHsK
LSAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lZGlhLXZvbHVtZS1zbGlkZXI7CithdWRpbzo6LXdl
YmtpdC1tZWRpYS1jb250cm9scy1mdWxsc2NyZWVuLWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVk
aWEtY29udHJvbHMtZnVsbHNjcmVlbi1idXR0b24geworICAgIC13ZWJraXQtYXBwZWFyYW5jZTog
bWVkaWEtZW50ZXItZnVsbHNjcmVlbi1idXR0b247CiAgICAgZGlzcGxheTogaW5saW5lOwotICAg
IHBvc2l0aW9uOiBhYnNvbHV0ZTsKLQotICAgIHRvcDogMTBweDsKLSAgICBsZWZ0OiAxMnB4Owot
Ci0gICAgd2lkdGg6IDEwcHg7Ci0gICAgaGVpZ2h0OiA4MHB4OworICAgIGJvcmRlcjogbm9uZTsK
KyAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OworICAgIHdpZHRoOiAzMHB4OworICAgIGhlaWdo
dDogMzBweDsKKyAgICBsaW5lLWhlaWdodDogMzBweDsKKyAgICBtYXJnaW4tbGVmdDogLTVweDsK
KyAgICBtYXJnaW4tcmlnaHQ6IDlweDsKKyAgICBwYWRkaW5nOiAwOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IDIx
MjA0OGFiMjJiYjQwMzk1NTBiNGIwM2E4MGJkZDg1ODQ3Njk1MzcuLjIyMTE5MmM1YTdjODJiOTU0
ZTM0OTI2MTBhNmYwMGRiZGUxODc3ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTkwMSw2ICs5MDEsNyBAQCBjb25z
dCBBdG9taWNTdHJpbmcmIE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudDo6c2hhZG93UHNldWRv
SWQoKSBjb25zdAogCiBpbmxpbmUgTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6TWVk
aWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBN
ZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQoZG9jdW1lbnQsIE1lZGlhVm9sdW1lU2xpZGVyKQorICAg
ICwgbV9jbGVhck11dGVkT25Vc2VySW50ZXJhY3Rpb24oZmFsc2UpCiB7CiB9CiAKQEAgLTkzNCw2
ICs5MzUsOCBAQCB2b2lkIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OmRlZmF1bHRF
dmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogICAgICAgICBtZWRpYUNvbnRyb2xsZXIoKS0+c2V0
Vm9sdW1lKHZvbHVtZSwgZWMpOwogICAgICAgICBBU1NFUlQoIWVjKTsKICAgICB9CisgICAgaWYg
KG1fY2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uKQorICAgICAgICBtZWRpYUNvbnRyb2xsZXIo
KS0+c2V0TXV0ZWQoZmFsc2UpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVs
ZW1lbnQ6OnNldFZvbHVtZShmbG9hdCB2b2x1bWUpCkBAIC05NDIsNiArOTQ1LDExIEBAIHZvaWQg
TWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6c2V0Vm9sdW1lKGZsb2F0IHZvbHVtZSkK
ICAgICAgICAgc2V0VmFsdWUoU3RyaW5nOjpudW1iZXIodm9sdW1lKSk7CiB9CiAKK3ZvaWQgTWVk
aWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6c2V0Q2xlYXJNdXRlZE9uVXNlckludGVyYWN0
aW9uKGJvb2wgY2xlYXJNdXRlKQoreworICAgIG1fY2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9u
ID0gY2xlYXJNdXRlOworfQorCiBjb25zdCBBdG9taWNTdHJpbmcmIE1lZGlhQ29udHJvbFZvbHVt
ZVNsaWRlckVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKCkgY29uc3QKIHsKICAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKEF0b21pY1N0cmluZywgaWQsICgiLXdlYmtpdC1tZWRpYS1jb250cm9scy12b2x1
bWUtc2xpZGVyIikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVk
aWFDb250cm9sRWxlbWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29u
dHJvbEVsZW1lbnRzLmgKaW5kZXggMDM1NzBmNzU1MTUzY2M2ZjMzYWRlZGU4Yzk0MzI4ZWZmNjZi
ZGQ3OS4uZGI3YzY0MDU0OTY3YWE3NjllZTNmZTc5MGUzNmFmOTExYzI0MzJjNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oCkBAIC0z
ODksMTIgKzM4OSwxNCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50
SGFuZGxlcihFdmVudCopOwogICAgIHZvaWQgc2V0Vm9sdW1lKGZsb2F0KTsKKyAgICB2b2lkIHNl
dENsZWFyTXV0ZWRPblVzZXJJbnRlcmFjdGlvbihib29sKTsKIAogcHJvdGVjdGVkOgogICAgIE1l
ZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQoRG9jdW1lbnQqKTsKIAogcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgc2hhZG93UHNldWRvSWQoKSBjb25zdDsKKyAg
ICBib29sIG1fY2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uOwogfTsKIAogLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcAppbmRleCBiZGNk
OTE2NGQ4OWRhZDRiN2ZkNzg4ZGFhMjJiMzM5NjhmOWUwMGE1Li5hMjUxMmZjYWFmMGMxYjk1YzJl
MWI0M2I4NDkyMWQxMDZkMGUyNzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcApAQCAt
MjksNiArMjksNyBAQAogI2lmIEVOQUJMRShWSURFTykKICNpbmNsdWRlICJNZWRpYUNvbnRyb2xS
b290RWxlbWVudENocm9taXVtLmgiCiAKKyNpbmNsdWRlICJIVE1MRGl2RWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNs
dWRlICJNZWRpYUNvbnRyb2xFbGVtZW50cy5oIgpAQCAtNDUsMjMgKzQ2LDQ1IEBAIHVzaW5nIG5h
bWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIGNvbnN0IGRvdWJs
ZSB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyA9IDI7CisKK01l
ZGlhQ29udHJvbENocm9taXVtRW5jbG9zdXJlRWxlbWVudDo6TWVkaWFDb250cm9sQ2hyb21pdW1F
bmNsb3N1cmVFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCkKKyAgICA6IEhUTUxEaXZFbGVtZW50
KEhUTUxOYW1lczo6ZGl2VGFnLCBkb2N1bWVudC0+ZG9jdW1lbnQoKSkKKyAgICAsIG1fbWVkaWFD
b250cm9sbGVyKDApCit7Cit9CisKK1Bhc3NSZWZQdHI8TWVkaWFDb250cm9sQ2hyb21pdW1FbmNs
b3N1cmVFbGVtZW50PiBNZWRpYUNvbnRyb2xDaHJvbWl1bUVuY2xvc3VyZUVsZW1lbnQ6OmNyZWF0
ZShEb2N1bWVudCogZG9jdW1lbnQpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYUNv
bnRyb2xDaHJvbWl1bUVuY2xvc3VyZUVsZW1lbnQoZG9jdW1lbnQpKTsKK30KKworY29uc3QgQXRv
bWljU3RyaW5nJiBNZWRpYUNvbnRyb2xDaHJvbWl1bUVuY2xvc3VyZUVsZW1lbnQ6OnNoYWRvd1Bz
ZXVkb0lkKCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywg
aWQsICgiLXdlYmtpdC1tZWRpYS1jb250cm9scy1lbmNsb3N1cmUiKSk7CisgICAgcmV0dXJuIGlk
OworfQorCiBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpNZWRpYUNvbnRyb2xSb290
RWxlbWVudENocm9taXVtKERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IE1lZGlhQ29udHJvbHMo
ZG9jdW1lbnQpCiAgICAgLCBtX21lZGlhQ29udHJvbGxlcigwKQogICAgICwgbV9wbGF5QnV0dG9u
KDApCiAgICAgLCBtX2N1cnJlbnRUaW1lRGlzcGxheSgwKQorICAgICwgbV9kdXJhdGlvbkRpc3Bs
YXkoMCkKICAgICAsIG1fdGltZWxpbmUoMCkKLSAgICAsIG1fdGltZWxpbmVDb250YWluZXIoMCkK
ICAgICAsIG1fcGFuZWxNdXRlQnV0dG9uKDApCiAgICAgLCBtX3ZvbHVtZVNsaWRlcigwKQotICAg
ICwgbV92b2x1bWVTbGlkZXJDb250YWluZXIoMCkKKyAgICAsIG1fZnVsbFNjcmVlbkJ1dHRvbigw
KQogICAgICwgbV9wYW5lbCgwKQorICAgICwgbV9lbmNsb3N1cmUoMCkKICNpZiBFTkFCTEUoVklE
RU9fVFJBQ0spCiAgICAgLCBtX3RleHREaXNwbGF5Q29udGFpbmVyKDApCiAgICAgLCBtX3RleHRU
cmFja0Rpc3BsYXkoMCkKICNlbmRpZgogICAgICwgbV9vcGFxdWUodHJ1ZSkKKyAgICAsIG1faGlk
ZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKHRoaXMsICZNZWRpYUNvbnRyb2xSb290RWxlbWVudENo
cm9taXVtOjpoaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXJGaXJlZCkKICAgICAsIG1faXNNb3Vz
ZU92ZXJDb250cm9scyhmYWxzZSkKKyAgICAsIG1faXNGdWxsc2NyZWVuKGZhbHNlKQogewogfQog
CkBAIC03Nyw2ICsxMDAsOSBAQCBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hy
b21pdW0+IE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmNyZQogCiAgICAgUmVmUHRy
PE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0+IGNvbnRyb2xzID0gYWRvcHRSZWYobmV3
IE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0oZG9jdW1lbnQpKTsKIAorICAgIC8vIENy
ZWF0ZSBhbiBlbmNsb3NpbmcgZWxlbWVudCBmb3IgdGhlIHBhbmVsIHNvIHdlIGNhbiB2aXN1YWxs
eSBvZmZzZXQgdGhlIGNvbnRyb2xzIGNvcnJlY3RseS4KKyAgICBSZWZQdHI8TWVkaWFDb250cm9s
Q2hyb21pdW1FbmNsb3N1cmVFbGVtZW50PiBlbmNsb3N1cmUgPSBNZWRpYUNvbnRyb2xDaHJvbWl1
bUVuY2xvc3VyZUVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7CisKICAgICBSZWZQdHI8TWVkaWFD
b250cm9sUGFuZWxFbGVtZW50PiBwYW5lbCA9IE1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6Y3Jl
YXRlKGRvY3VtZW50KTsKIAogICAgIEV4Y2VwdGlvbkNvZGUgZWM7CkBAIC04Nyw1MiArMTEzLDUx
IEBAIFBhc3NSZWZQdHI8TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bT4gTWVkaWFDb250
cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6Y3JlCiAgICAgaWYgKGVjKQogICAgICAgICByZXR1cm4g
MDsKIAotICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xUaW1lbGluZUNvbnRhaW5lckVsZW1lbnQ+IHRp
bWVsaW5lQ29udGFpbmVyID0gTWVkaWFDb250cm9sVGltZWxpbmVDb250YWluZXJFbGVtZW50Ojpj
cmVhdGUoZG9jdW1lbnQpOwotCiAgICAgUmVmUHRyPE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVu
dD4gdGltZWxpbmUgPSBNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVu
dCwgY29udHJvbHMuZ2V0KCkpOwogICAgIGNvbnRyb2xzLT5tX3RpbWVsaW5lID0gdGltZWxpbmUu
Z2V0KCk7Ci0gICAgdGltZWxpbmVDb250YWluZXItPmFwcGVuZENoaWxkKHRpbWVsaW5lLnJlbGVh
c2UoKSwgZWMsIHRydWUpOworICAgIHBhbmVsLT5hcHBlbmRDaGlsZCh0aW1lbGluZS5yZWxlYXNl
KCksIGVjLCB0cnVlKTsKICAgICBpZiAoZWMpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgUmVm
UHRyPE1lZGlhQ29udHJvbEN1cnJlbnRUaW1lRGlzcGxheUVsZW1lbnQ+IGN1cnJlbnRUaW1lRGlz
cGxheSA9IE1lZGlhQ29udHJvbEN1cnJlbnRUaW1lRGlzcGxheUVsZW1lbnQ6OmNyZWF0ZShkb2N1
bWVudCk7CiAgICAgY29udHJvbHMtPm1fY3VycmVudFRpbWVEaXNwbGF5ID0gY3VycmVudFRpbWVE
aXNwbGF5LmdldCgpOwotICAgIHRpbWVsaW5lQ29udGFpbmVyLT5hcHBlbmRDaGlsZChjdXJyZW50
VGltZURpc3BsYXkucmVsZWFzZSgpLCBlYywgdHJ1ZSk7CisgICAgY29udHJvbHMtPm1fY3VycmVu
dFRpbWVEaXNwbGF5LT5oaWRlKCk7CisgICAgcGFuZWwtPmFwcGVuZENoaWxkKGN1cnJlbnRUaW1l
RGlzcGxheS5yZWxlYXNlKCksIGVjLCB0cnVlKTsKICAgICBpZiAoZWMpCiAgICAgICAgIHJldHVy
biAwOwogCi0gICAgY29udHJvbHMtPm1fdGltZWxpbmVDb250YWluZXIgPSB0aW1lbGluZUNvbnRh
aW5lci5nZXQoKTsKLSAgICBwYW5lbC0+YXBwZW5kQ2hpbGQodGltZWxpbmVDb250YWluZXIucmVs
ZWFzZSgpLCBlYywgdHJ1ZSk7CisgICAgUmVmUHRyPE1lZGlhQ29udHJvbFRpbWVSZW1haW5pbmdE
aXNwbGF5RWxlbWVudD4gZHVyYXRpb25EaXNwbGF5ID0gTWVkaWFDb250cm9sVGltZVJlbWFpbmlu
Z0Rpc3BsYXlFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQpOworICAgIGNvbnRyb2xzLT5tX2R1cmF0
aW9uRGlzcGxheSA9IGR1cmF0aW9uRGlzcGxheS5nZXQoKTsKKyAgICBwYW5lbC0+YXBwZW5kQ2hp
bGQoZHVyYXRpb25EaXNwbGF5LnJlbGVhc2UoKSwgZWMsIHRydWUpOwogICAgIGlmIChlYykKICAg
ICAgICAgcmV0dXJuIDA7CiAKLSAgICBSZWZQdHI8SFRNTERpdkVsZW1lbnQ+IHBhbmVsVm9sdW1l
Q29udHJvbENvbnRhaW5lciA9IEhUTUxEaXZFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQpOwotCi0g
ICAgUmVmUHRyPE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckNvbnRhaW5lckVsZW1lbnQ+IHZvbHVt
ZVNsaWRlckNvbnRhaW5lciA9IE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckNvbnRhaW5lckVsZW1l
bnQ6OmNyZWF0ZShkb2N1bWVudCk7Ci0KLSAgICBSZWZQdHI8TWVkaWFDb250cm9sVm9sdW1lU2xp
ZGVyRWxlbWVudD4gc2xpZGVyID0gTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6Y3Jl
YXRlKGRvY3VtZW50KTsKLSAgICBjb250cm9scy0+bV92b2x1bWVTbGlkZXIgPSBzbGlkZXIuZ2V0
KCk7Ci0gICAgdm9sdW1lU2xpZGVyQ29udGFpbmVyLT5hcHBlbmRDaGlsZChzbGlkZXIucmVsZWFz
ZSgpLCBlYywgdHJ1ZSk7CisgICAgUmVmUHRyPE1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVs
ZW1lbnQ+IHBhbmVsTXV0ZUJ1dHRvbiA9IE1lZGlhQ29udHJvbFBhbmVsTXV0ZUJ1dHRvbkVsZW1l
bnQ6OmNyZWF0ZShkb2N1bWVudCwgY29udHJvbHMuZ2V0KCkpOworICAgIGNvbnRyb2xzLT5tX3Bh
bmVsTXV0ZUJ1dHRvbiA9IHBhbmVsTXV0ZUJ1dHRvbi5nZXQoKTsKKyAgICBwYW5lbC0+YXBwZW5k
Q2hpbGQocGFuZWxNdXRlQnV0dG9uLnJlbGVhc2UoKSwgZWMsIHRydWUpOwogICAgIGlmIChlYykK
ICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBjb250cm9scy0+bV92b2x1bWVTbGlkZXJDb250YWlu
ZXIgPSB2b2x1bWVTbGlkZXJDb250YWluZXIuZ2V0KCk7Ci0gICAgcGFuZWxWb2x1bWVDb250cm9s
Q29udGFpbmVyLT5hcHBlbmRDaGlsZCh2b2x1bWVTbGlkZXJDb250YWluZXIucmVsZWFzZSgpLCBl
YywgdHJ1ZSk7CisgICAgUmVmUHRyPE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ+IHNs
aWRlciA9IE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7
CisgICAgY29udHJvbHMtPm1fdm9sdW1lU2xpZGVyID0gc2xpZGVyLmdldCgpOworICAgIGNvbnRy
b2xzLT5tX3ZvbHVtZVNsaWRlci0+c2V0Q2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uKHRydWUp
OworICAgIHBhbmVsLT5hcHBlbmRDaGlsZChzbGlkZXIucmVsZWFzZSgpLCBlYywgdHJ1ZSk7CiAg
ICAgaWYgKGVjKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xQ
YW5lbE11dGVCdXR0b25FbGVtZW50PiBwYW5lbE11dGVCdXR0b24gPSBNZWRpYUNvbnRyb2xQYW5l
bE11dGVCdXR0b25FbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIGNvbnRyb2xzLmdldCgpKTsKLSAg
ICBjb250cm9scy0+bV9wYW5lbE11dGVCdXR0b24gPSBwYW5lbE11dGVCdXR0b24uZ2V0KCk7Ci0g
ICAgcGFuZWxWb2x1bWVDb250cm9sQ29udGFpbmVyLT5hcHBlbmRDaGlsZChwYW5lbE11dGVCdXR0
b24ucmVsZWFzZSgpLCBlYywgdHJ1ZSk7CisgICAgUmVmUHRyPE1lZGlhQ29udHJvbEZ1bGxzY3Jl
ZW5CdXR0b25FbGVtZW50PiBmdWxsU2NyZWVuQnV0dG9uID0gTWVkaWFDb250cm9sRnVsbHNjcmVl
bkJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgY29udHJvbHMuZ2V0KCkpOworICAgIGNv
bnRyb2xzLT5tX2Z1bGxTY3JlZW5CdXR0b24gPSBmdWxsU2NyZWVuQnV0dG9uLmdldCgpOworICAg
IHBhbmVsLT5hcHBlbmRDaGlsZChmdWxsU2NyZWVuQnV0dG9uLnJlbGVhc2UoKSwgZWMsIHRydWUp
OwogICAgIGlmIChlYykKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBwYW5lbC0+YXBwZW5kQ2hp
bGQocGFuZWxWb2x1bWVDb250cm9sQ29udGFpbmVyLCBlYywgdHJ1ZSk7CisgICAgY29udHJvbHMt
Pm1fcGFuZWwgPSBwYW5lbC5nZXQoKTsKKyAgICBlbmNsb3N1cmUtPmFwcGVuZENoaWxkKHBhbmVs
LnJlbGVhc2UoKSwgZWMsIHRydWUpOwogICAgIGlmIChlYykKICAgICAgICAgcmV0dXJuIDA7CiAK
LSAgICBjb250cm9scy0+bV9wYW5lbCA9IHBhbmVsLmdldCgpOwotICAgIGNvbnRyb2xzLT5hcHBl
bmRDaGlsZChwYW5lbC5yZWxlYXNlKCksIGVjLCB0cnVlKTsKKyAgICBjb250cm9scy0+bV9lbmNs
b3N1cmUgPSBlbmNsb3N1cmUuZ2V0KCk7CisgICAgY29udHJvbHMtPmFwcGVuZENoaWxkKGVuY2xv
c3VyZS5yZWxlYXNlKCksIGVjLCB0cnVlKTsKICAgICBpZiAoZWMpCiAgICAgICAgIHJldHVybiAw
OwogCkBAIC0xNDksMTggKzE3NCwyMCBAQCB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hy
b21pdW06OnNldE1lZGlhQ29udHJvbGxlcihNZWRpYUNvbnRyb2xsZXJJbnRlcmZhYwogICAgICAg
ICBtX3BsYXlCdXR0b24tPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKICAgICBpZiAo
bV9jdXJyZW50VGltZURpc3BsYXkpCiAgICAgICAgIG1fY3VycmVudFRpbWVEaXNwbGF5LT5zZXRN
ZWRpYUNvbnRyb2xsZXIoY29udHJvbGxlcik7CisgICAgaWYgKG1fZHVyYXRpb25EaXNwbGF5KQor
ICAgICAgICBtX2R1cmF0aW9uRGlzcGxheS0+c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIp
OwogICAgIGlmIChtX3RpbWVsaW5lKQogICAgICAgICBtX3RpbWVsaW5lLT5zZXRNZWRpYUNvbnRy
b2xsZXIoY29udHJvbGxlcik7Ci0gICAgaWYgKG1fdGltZWxpbmVDb250YWluZXIpCi0gICAgICAg
IG1fdGltZWxpbmVDb250YWluZXItPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKICAg
ICBpZiAobV9wYW5lbE11dGVCdXR0b24pCiAgICAgICAgIG1fcGFuZWxNdXRlQnV0dG9uLT5zZXRN
ZWRpYUNvbnRyb2xsZXIoY29udHJvbGxlcik7CiAgICAgaWYgKG1fdm9sdW1lU2xpZGVyKQogICAg
ICAgICBtX3ZvbHVtZVNsaWRlci0+c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOwotICAg
IGlmIChtX3ZvbHVtZVNsaWRlckNvbnRhaW5lcikKLSAgICAgICAgbV92b2x1bWVTbGlkZXJDb250
YWluZXItPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKKyAgICBpZiAobV9mdWxsU2Ny
ZWVuQnV0dG9uKQorICAgICAgICBtX2Z1bGxTY3JlZW5CdXR0b24tPnNldE1lZGlhQ29udHJvbGxl
cihjb250cm9sbGVyKTsKICAgICBpZiAobV9wYW5lbCkKICAgICAgICAgbV9wYW5lbC0+c2V0TWVk
aWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOworICAgIGlmIChtX2VuY2xvc3VyZSkKKyAgICAgICAg
bV9lbmNsb3N1cmUtPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKICNpZiBFTkFCTEUo
VklERU9fVFJBQ0spCiAgICAgaWYgKG1fdGV4dERpc3BsYXlDb250YWluZXIpCiAgICAgICAgIG1f
dGV4dERpc3BsYXlDb250YWluZXItPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKQEAg
LTE3OCw3ICsyMDUsNiBAQCB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06Omhp
ZGUoKQogewogICAgIG1fcGFuZWwtPnNldElzRGlzcGxheWVkKGZhbHNlKTsKICAgICBtX3BhbmVs
LT5oaWRlKCk7Ci0gICAgbV92b2x1bWVTbGlkZXJDb250YWluZXItPmhpZGUoKTsKIH0KIAogdm9p
ZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjptYWtlT3BhcXVlKCkKQEAgLTE4OSw3
ICsyMTUsNiBAQCB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06Om1ha2VPcGFx
dWUoKQogdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjptYWtlVHJhbnNwYXJl
bnQoKQogewogICAgIG1fcGFuZWwtPm1ha2VUcmFuc3BhcmVudCgpOwotICAgIG1fdm9sdW1lU2xp
ZGVyQ29udGFpbmVyLT5oaWRlKCk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRD
aHJvbWl1bTo6cmVzZXQoKQpAQCAtMjAyLDcgKzIyNywxMSBAQCB2b2lkIE1lZGlhQ29udHJvbFJv
b3RFbGVtZW50Q2hyb21pdW06OnJlc2V0KCkKIAogICAgIGZsb2F0IGR1cmF0aW9uID0gbV9tZWRp
YUNvbnRyb2xsZXItPmR1cmF0aW9uKCk7CiAgICAgbV90aW1lbGluZS0+c2V0RHVyYXRpb24oZHVy
YXRpb24pOwotICAgIG1fdGltZWxpbmVDb250YWluZXItPnNob3coKTsKKyAgICBtX3RpbWVsaW5l
LT5zaG93KCk7CisKKyAgICBtX2R1cmF0aW9uRGlzcGxheS0+c2V0SW5uZXJUZXh0KHBhZ2UtPnRo
ZW1lKCktPmZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKGR1cmF0aW9uKSwgQVNTRVJUX05PX0VYQ0VQ
VElPTik7CisgICAgbV9kdXJhdGlvbkRpc3BsYXktPnNldEN1cnJlbnRWYWx1ZShkdXJhdGlvbik7
CisKICAgICBtX3RpbWVsaW5lLT5zZXRQb3NpdGlvbihtX21lZGlhQ29udHJvbGxlci0+Y3VycmVu
dFRpbWUoKSk7CiAgICAgdXBkYXRlVGltZURpc3BsYXkoKTsKIApAQCAtMjExLDYgKzI0MCwxMSBA
QCB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnJlc2V0KCkKICAgICBpZiAo
bV92b2x1bWVTbGlkZXIpCiAgICAgICAgIG1fdm9sdW1lU2xpZGVyLT5zZXRWb2x1bWUobV9tZWRp
YUNvbnRyb2xsZXItPnZvbHVtZSgpKTsKIAorICAgIGlmIChtX21lZGlhQ29udHJvbGxlci0+c3Vw
cG9ydHNGdWxsc2NyZWVuKCkpCisgICAgICAgIG1fZnVsbFNjcmVlbkJ1dHRvbi0+c2hvdygpOwor
ICAgIGVsc2UKKyAgICAgICAgbV9mdWxsU2NyZWVuQnV0dG9uLT5oaWRlKCk7CisKICAgICBtYWtl
T3BhcXVlKCk7CiB9CiAKQEAgLTIxOCw3ICsyNTIsMTIgQEAgdm9pZCBNZWRpYUNvbnRyb2xSb290
RWxlbWVudENocm9taXVtOjpwbGF5YmFja1N0YXJ0ZWQoKQogewogICAgIG1fcGxheUJ1dHRvbi0+
dXBkYXRlRGlzcGxheVR5cGUoKTsKICAgICBtX3RpbWVsaW5lLT5zZXRQb3NpdGlvbihtX21lZGlh
Q29udHJvbGxlci0+Y3VycmVudFRpbWUoKSk7CisgICAgbV9jdXJyZW50VGltZURpc3BsYXktPnNo
b3coKTsKKyAgICBtX2R1cmF0aW9uRGlzcGxheS0+aGlkZSgpOwogICAgIHVwZGF0ZVRpbWVEaXNw
bGF5KCk7CisKKyAgICBpZiAobV9pc0Z1bGxzY3JlZW4pCisgICAgICAgIHN0YXJ0SGlkZUZ1bGxz
Y3JlZW5Db250cm9sc1RpbWVyKCk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRD
aHJvbWl1bTo6cGxheWJhY2tQcm9ncmVzc2VkKCkKQEAgLTIzNiw2ICsyNzUsOCBAQCB2b2lkIE1l
ZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnBsYXliYWNrU3RvcHBlZCgpCiAgICAgbV90
aW1lbGluZS0+c2V0UG9zaXRpb24obV9tZWRpYUNvbnRyb2xsZXItPmN1cnJlbnRUaW1lKCkpOwog
ICAgIHVwZGF0ZVRpbWVEaXNwbGF5KCk7CiAgICAgbWFrZU9wYXF1ZSgpOworCisgICAgc3RvcEhp
ZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcigpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbFJvb3RF
bGVtZW50Q2hyb21pdW06OnVwZGF0ZVRpbWVEaXNwbGF5KCkKQEAgLTI0Nyw2ICsyODgsMTIgQEAg
dm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjp1cGRhdGVUaW1lRGlzcGxheSgp
CiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm47CiAKKyAgICAvLyBBZnRlciBzZWVrLCBo
aWRlIGR1cmF0aW9uIGRpc3BsYXkgYW5kIHNob3cgY3VycmVudCB0aW1lLgorICAgIGlmIChub3cg
PiAwKSB7CisgICAgICAgIG1fY3VycmVudFRpbWVEaXNwbGF5LT5zaG93KCk7CisgICAgICAgIG1f
ZHVyYXRpb25EaXNwbGF5LT5oaWRlKCk7CisgICAgfQorCiAgICAgLy8gQWxsb3cgdGhlIHRoZW1l
IHRvIGZvcm1hdCB0aGUgdGltZS4KICAgICBFeGNlcHRpb25Db2RlIGVjOwogICAgIG1fY3VycmVu
dFRpbWVEaXNwbGF5LT5zZXRJbm5lclRleHQocGFnZS0+dGhlbWUoKS0+Zm9ybWF0TWVkaWFDb250
cm9sc0N1cnJlbnRUaW1lKG5vdywgZHVyYXRpb24pLCBlYyk7CkBAIC0yNTksOSArMzA2LDEwIEBA
IHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6cmVwb3J0ZWRFcnJvcigpCiAg
ICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3RpbWVsaW5lQ29udGFpbmVy
LT5oaWRlKCk7CisgICAgbV90aW1lbGluZS0+aGlkZSgpOwogICAgIG1fcGFuZWxNdXRlQnV0dG9u
LT5oaWRlKCk7Ci0gICAgbV92b2x1bWVTbGlkZXJDb250YWluZXItPmhpZGUoKTsKKyAgICBtX3Zv
bHVtZVNsaWRlci0+aGlkZSgpOworICAgIG1fZnVsbFNjcmVlbkJ1dHRvbi0+aGlkZSgpOwogfQog
CiB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnVwZGF0ZVN0YXR1c0Rpc3Bs
YXkoKQpAQCAtMjk1LDE1ICszNDMsNTUgQEAgdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENo
cm9taXVtOjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKICAgICBpZiAoZXZlbnQt
PnR5cGUoKSA9PSBldmVudE5hbWVzKCkubW91c2VvdmVyRXZlbnQpIHsKICAgICAgICAgaWYgKCFj
b250YWluc1JlbGF0ZWRUYXJnZXQoZXZlbnQpKSB7CiAgICAgICAgICAgICBtX2lzTW91c2VPdmVy
Q29udHJvbHMgPSB0cnVlOwotICAgICAgICAgICAgaWYgKCFtX21lZGlhQ29udHJvbGxlci0+Y2Fu
UGxheSgpKQorICAgICAgICAgICAgaWYgKCFtX21lZGlhQ29udHJvbGxlci0+Y2FuUGxheSgpKSB7
CiAgICAgICAgICAgICAgICAgbWFrZU9wYXF1ZSgpOworICAgICAgICAgICAgICAgIGlmIChzaG91
bGRIaWRlQ29udHJvbHMoKSkKKyAgICAgICAgICAgICAgICAgICAgc3RhcnRIaWRlRnVsbHNjcmVl
bkNvbnRyb2xzVGltZXIoKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0gZWxzZSBp
ZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkubW91c2VvdXRFdmVudCkgewotICAgICAg
ICBpZiAoIWNvbnRhaW5zUmVsYXRlZFRhcmdldChldmVudCkpCisgICAgICAgIGlmICghY29udGFp
bnNSZWxhdGVkVGFyZ2V0KGV2ZW50KSkgewogICAgICAgICAgICAgbV9pc01vdXNlT3ZlckNvbnRy
b2xzID0gZmFsc2U7CisgICAgICAgICAgICBzdG9wSGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVy
KCk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1l
cygpLm1vdXNlbW92ZUV2ZW50KSB7CisgICAgICAgIGlmIChtX2lzRnVsbHNjcmVlbikgeworICAg
ICAgICAgICAgLy8gV2hlbiB3ZSBnZXQgYSBtb3VzZSBtb3ZlIGluIGZ1bGxzY3JlZW4gbW9kZSwg
c2hvdyB0aGUgbWVkaWEgY29udHJvbHMsIGFuZCBzdGFydCBhIHRpbWVyCisgICAgICAgICAgICAv
LyB0aGF0IHdpbGwgaGlkZSB0aGUgbWVkaWEgY29udHJvbHMgYWZ0ZXIgYSAzIHNlY29uZHMgd2l0
aG91dCBhIG1vdXNlIG1vdmUuCisgICAgICAgICAgICBtYWtlT3BhcXVlKCk7CisgICAgICAgICAg
ICBpZiAoc2hvdWxkSGlkZUNvbnRyb2xzKCkpCisgICAgICAgICAgICAgICAgc3RhcnRIaWRlRnVs
bHNjcmVlbkNvbnRyb2xzVGltZXIoKTsKKyAgICAgICAgfQogICAgIH0KIH0KIAordm9pZCBNZWRp
YUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpzdGFydEhpZGVGdWxsc2NyZWVuQ29udHJvbHNU
aW1lcigpCit7CisgICAgaWYgKCFtX2lzRnVsbHNjcmVlbikKKyAgICAgICAgcmV0dXJuOworCisg
ICAgbV9oaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIuc3RhcnRPbmVTaG90KHRpbWVXaXRob3V0
TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKTsKK30KKwordm9pZCBNZWRpYUNvbnRy
b2xSb290RWxlbWVudENocm9taXVtOjpoaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXJGaXJlZChU
aW1lcjxNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtPiopCit7CisgICAgaWYgKG1fbWVk
aWFDb250cm9sbGVyLT5wYXVzZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFtX2lz
RnVsbHNjcmVlbikKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFzaG91bGRIaWRlQ29udHJv
bHMoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbWFrZVRyYW5zcGFyZW50KCk7Cit9CisKK3Zv
aWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6c3RvcEhpZGVGdWxsc2NyZWVuQ29u
dHJvbHNUaW1lcigpCit7CisgICAgbV9oaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIuc3RvcCgp
OworfQorCiB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmNoYW5nZWRDbG9z
ZWRDYXB0aW9uc1Zpc2liaWxpdHkoKQogewogfQpAQCAtMzExLDYgKzM5OSwxMSBAQCB2b2lkIE1l
ZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmNoYW5nZWRDbG9zZWRDYXB0aW9uc1Zpc2li
aWxpdHkoKQogdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpjaGFuZ2VkTXV0
ZSgpCiB7CiAgICAgbV9wYW5lbE11dGVCdXR0b24tPmNoYW5nZWRNdXRlKCk7CisKKyAgICBpZiAo
bV9tZWRpYUNvbnRyb2xsZXItPm11dGVkKCkpCisgICAgICAgIG1fdm9sdW1lU2xpZGVyLT5zZXRW
b2x1bWUoMCk7CisgICAgZWxzZQorICAgICAgICBtX3ZvbHVtZVNsaWRlci0+c2V0Vm9sdW1lKG1f
bWVkaWFDb250cm9sbGVyLT52b2x1bWUoKSk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVs
ZW1lbnRDaHJvbWl1bTo6Y2hhbmdlZFZvbHVtZSgpCkBAIC0zMjAsMTAgKzQxMywxNiBAQCB2b2lk
IE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmNoYW5nZWRWb2x1bWUoKQogCiB2b2lk
IE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmVudGVyZWRGdWxsc2NyZWVuKCkKIHsK
KyAgICBtX2lzRnVsbHNjcmVlbiA9IHRydWU7CisgICAgbV9mdWxsU2NyZWVuQnV0dG9uLT5zZXRJ
c0Z1bGxzY3JlZW4odHJ1ZSk7CisgICAgc3RhcnRIaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIo
KTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpleGl0ZWRGdWxs
c2NyZWVuKCkKIHsKKyAgICBtX2lzRnVsbHNjcmVlbiA9IGZhbHNlOworICAgIG1fZnVsbFNjcmVl
bkJ1dHRvbi0+c2V0SXNGdWxsc2NyZWVuKGZhbHNlKTsKKyAgICBzdG9wSGlkZUZ1bGxzY3JlZW5D
b250cm9sc1RpbWVyKCk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1
bTo6c2hvd1ZvbHVtZVNsaWRlcigpCkBAIC0zMzEsNyArNDMwLDcgQEAgdm9pZCBNZWRpYUNvbnRy
b2xSb290RWxlbWVudENocm9taXVtOjpzaG93Vm9sdW1lU2xpZGVyKCkKICAgICBpZiAoIW1fbWVk
aWFDb250cm9sbGVyLT5oYXNBdWRpbygpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3ZvbHVt
ZVNsaWRlckNvbnRhaW5lci0+c2hvdygpOworICAgIG1fdm9sdW1lU2xpZGVyLT5zaG93KCk7CiB9
CiAKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCkBAIC0zNDUsNyArNDQ0LDcgQEAgdm9pZCBNZWRp
YUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpjcmVhdGVUZXh0VHJhY2tEaXNwbGF5KCkKIAog
ICAgIC8vIEluc2VydCBpdCBiZWZvcmUgdGhlIGZpcnN0IGNvbnRyb2xsZXIgZWxlbWVudCBzbyBp
dCBhbHdheXMgZGlzcGxheXMgYmVoaW5kIHRoZSBjb250cm9scy4KICAgICBFeGNlcHRpb25Db2Rl
IGVjOwotICAgIGluc2VydEJlZm9yZSh0ZXh0RGlzcGxheUNvbnRhaW5lci5yZWxlYXNlKCksIG1f
cGFuZWwsIGVjLCB0cnVlKTsKKyAgICBpbnNlcnRCZWZvcmUodGV4dERpc3BsYXlDb250YWluZXIu
cmVsZWFzZSgpLCBtX2VuY2xvc3VyZSwgZWMsIHRydWUpOwogfQogCiB2b2lkIE1lZGlhQ29udHJv
bFJvb3RFbGVtZW50Q2hyb21pdW06OnNob3dUZXh0VHJhY2tEaXNwbGF5KCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21p
dW0uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50
Q2hyb21pdW0uaAppbmRleCAzNjYxODZiNjVlMWY4MjU1NWJiMWY1NzFjNTY5YjM3Zjk0N2UwMWM5
Li44MmU1OWQ0MzA5NzJiM2ExZjc0NmM4OGFlYjk2YWRjZjg0NmZhNTJmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVt
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1l
bnRDaHJvbWl1bS5oCkBAIC00MCw2ICs0MCw3IEBAIGNsYXNzIEV2ZW50OwogY2xhc3MgTWVkaWFD
b250cm9sUGFuZWxNdXRlQnV0dG9uRWxlbWVudDsKIGNsYXNzIE1lZGlhQ29udHJvbFBsYXlCdXR0
b25FbGVtZW50OwogY2xhc3MgTWVkaWFDb250cm9sQ3VycmVudFRpbWVEaXNwbGF5RWxlbWVudDsK
K2NsYXNzIE1lZGlhQ29udHJvbFRpbWVSZW1haW5pbmdEaXNwbGF5RWxlbWVudDsKIGNsYXNzIE1l
ZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudDsKIGNsYXNzIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRl
ckVsZW1lbnQ7CiBjbGFzcyBNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudDsKQEAg
LTQ3LDggKzQ4LDggQEAgY2xhc3MgTWVkaWFDb250cm9sVGltZURpc3BsYXlFbGVtZW50OwogY2xh
c3MgTWVkaWFDb250cm9sVGltZWxpbmVDb250YWluZXJFbGVtZW50OwogY2xhc3MgTWVkaWFDb250
cm9sTXV0ZUJ1dHRvbkVsZW1lbnQ7CiBjbGFzcyBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVt
ZW50OwotY2xhc3MgTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyQ29udGFpbmVyRWxlbWVudDsKIGNs
YXNzIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDsKK2NsYXNzIE1lZGlhQ29udHJvbENocm9taXVt
RW5jbG9zdXJlRWxlbWVudDsKIGNsYXNzIE1lZGlhQ29udHJvbGxlckludGVyZmFjZTsKIGNsYXNz
IE1lZGlhUGxheWVyOwogCkBAIC02MCw2ICs2MSwyNCBAQCBjbGFzcyBNZWRpYUNvbnRyb2xUZXh0
VHJhY2tDb250YWluZXJFbGVtZW50OwogY2xhc3MgTWVkaWFDb250cm9sVGV4dFRyYWNrRGlzcGxh
eUVsZW1lbnQ7CiAjZW5kaWYKIAorY2xhc3MgTWVkaWFDb250cm9sQ2hyb21pdW1FbmNsb3N1cmVF
bGVtZW50IDogcHVibGljIEhUTUxEaXZFbGVtZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxNZWRpYUNvbnRyb2xDaHJvbWl1bUVuY2xvc3VyZUVsZW1lbnQ+IGNyZWF0ZShEb2N1
bWVudCopOworCisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHNoYWRvd1BzZXVkb0lk
KCkgY29uc3Q7CisKKyAgICB2b2lkIHNldE1lZGlhQ29udHJvbGxlcihNZWRpYUNvbnRyb2xsZXJJ
bnRlcmZhY2UqIGNvbnRyb2xsZXIpIHsgbV9tZWRpYUNvbnRyb2xsZXIgPSBjb250cm9sbGVyOyB9
CisgICAgTWVkaWFDb250cm9sbGVySW50ZXJmYWNlKiBtZWRpYUNvbnRyb2xsZXIoKSBjb25zdCB7
IHJldHVybiBtX21lZGlhQ29udHJvbGxlcjsgfQorCitwcm90ZWN0ZWQ6CisgICAgTWVkaWFDb250
cm9sQ2hyb21pdW1FbmNsb3N1cmVFbGVtZW50KERvY3VtZW50Kik7CisKK3ByaXZhdGU6CisgICAg
dmlydHVhbCBib29sIGlzTWVkaWFDb250cm9sRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7
IH0KKworICAgIE1lZGlhQ29udHJvbGxlckludGVyZmFjZSogbV9tZWRpYUNvbnRyb2xsZXI7Cit9
OworCiBjbGFzcyBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtIDogcHVibGljIE1lZGlh
Q29udHJvbHMgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFJv
b3RFbGVtZW50Q2hyb21pdW0+IGNyZWF0ZShEb2N1bWVudCopOwpAQCAtMTA3LDYgKzEyNiw5IEBA
IHByaXZhdGU6CiAgICAgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bShEb2N1bWVudCop
OwogCiAgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsKKyAgICB2
b2lkIGhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lckZpcmVkKFRpbWVyPE1lZGlhQ29udHJvbFJv
b3RFbGVtZW50Q2hyb21pdW0+Kik7CisgICAgdm9pZCBzdGFydEhpZGVGdWxsc2NyZWVuQ29udHJv
bHNUaW1lcigpOworICAgIHZvaWQgc3RvcEhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcigpOwog
CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHNoYWRvd1BzZXVkb0lkKCkgY29uc3Q7
CiAKQEAgLTExNiwxOSArMTM4LDIzIEBAIHByaXZhdGU6CiAKICAgICBNZWRpYUNvbnRyb2xQbGF5
QnV0dG9uRWxlbWVudCogbV9wbGF5QnV0dG9uOwogICAgIE1lZGlhQ29udHJvbEN1cnJlbnRUaW1l
RGlzcGxheUVsZW1lbnQqIG1fY3VycmVudFRpbWVEaXNwbGF5OworICAgIE1lZGlhQ29udHJvbFRp
bWVSZW1haW5pbmdEaXNwbGF5RWxlbWVudCogbV9kdXJhdGlvbkRpc3BsYXk7CiAgICAgTWVkaWFD
b250cm9sVGltZWxpbmVFbGVtZW50KiBtX3RpbWVsaW5lOwogICAgIE1lZGlhQ29udHJvbFRpbWVs
aW5lQ29udGFpbmVyRWxlbWVudCogbV90aW1lbGluZUNvbnRhaW5lcjsKICAgICBNZWRpYUNvbnRy
b2xQYW5lbE11dGVCdXR0b25FbGVtZW50KiBtX3BhbmVsTXV0ZUJ1dHRvbjsKICAgICBNZWRpYUNv
bnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50KiBtX3ZvbHVtZVNsaWRlcjsKLSAgICBNZWRpYUNvbnRy
b2xWb2x1bWVTbGlkZXJDb250YWluZXJFbGVtZW50KiBtX3ZvbHVtZVNsaWRlckNvbnRhaW5lcjsK
KyAgICBNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudCogbV9mdWxsU2NyZWVuQnV0
dG9uOwogICAgIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVudCogbV9wYW5lbDsKKyAgICBNZWRpYUNv
bnRyb2xDaHJvbWl1bUVuY2xvc3VyZUVsZW1lbnQqIG1fZW5jbG9zdXJlOwogI2lmIEVOQUJMRShW
SURFT19UUkFDSykKICAgICBNZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50KiBt
X3RleHREaXNwbGF5Q29udGFpbmVyOwogICAgIE1lZGlhQ29udHJvbFRleHRUcmFja0Rpc3BsYXlF
bGVtZW50KiBtX3RleHRUcmFja0Rpc3BsYXk7CiAjZW5kaWYKIAogICAgIGJvb2wgbV9vcGFxdWU7
CisgICAgVGltZXI8TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bT4gbV9oaWRlRnVsbHNj
cmVlbkNvbnRyb2xzVGltZXI7CiAgICAgYm9vbCBtX2lzTW91c2VPdmVyQ29udHJvbHM7CisgICAg
Ym9vbCBtX2lzRnVsbHNjcmVlbjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L1NsaWRlclRodW1iRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwCmluZGV4IDRlNzE0YTAzOTFlNDZjYjFlZDJi
YTFlZWE1NDE0MmIyN2I1MDk0NDYuLmI1MzM5NTk5ZDBmOGNhZTE0YzkwMzM5ZjhhNjdhNTgxOGMw
ZWViOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1i
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJF
bGVtZW50LmNwcApAQCAtNjIsNyArNjIsMTAgQEAgaW5saW5lIHN0YXRpYyBib29sIGhhc1ZlcnRp
Y2FsQXBwZWFyYW5jZShIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCkKIHsKICAgICBBU1NFUlQoaW5w
dXQtPnJlbmRlcmVyKCkpOwogICAgIFJlbmRlclN0eWxlKiBzbGlkZXJTdHlsZSA9IGlucHV0LT5y
ZW5kZXJlcigpLT5zdHlsZSgpOwotICAgIHJldHVybiBzbGlkZXJTdHlsZS0+YXBwZWFyYW5jZSgp
ID09IFNsaWRlclZlcnRpY2FsUGFydCB8fCBzbGlkZXJTdHlsZS0+YXBwZWFyYW5jZSgpID09IE1l
ZGlhVm9sdW1lU2xpZGVyUGFydDsKKyAgICBSZW5kZXJUaGVtZSogc2xpZGVyVGhlbWUgPSBpbnB1
dC0+cmVuZGVyZXIoKS0+dGhlbWUoKTsKKworICAgIHJldHVybiBzbGlkZXJTdHlsZS0+YXBwZWFy
YW5jZSgpID09IFNsaWRlclZlcnRpY2FsUGFydAorICAgICAgICB8fCAoc2xpZGVyU3R5bGUtPmFw
cGVhcmFuY2UoKSA9PSBNZWRpYVZvbHVtZVNsaWRlclBhcnQgJiYgc2xpZGVyVGhlbWUtPnVzZXNW
ZXJ0aWNhbFZvbHVtZVNsaWRlcigpKTsKIH0KIAogU2xpZGVyVGh1bWJFbGVtZW50KiBzbGlkZXJU
aHVtYkVsZW1lbnRPZihOb2RlKiBub2RlKQpAQCAtMTA4LDcgKzExMSw3IEBAIHZvaWQgUmVuZGVy
U2xpZGVyVGh1bWI6OmxheW91dCgpCiAgICAgLy8gRG8gbm90IGNhc3Qgbm9kZSgpIHRvIFNsaWRl
clRodW1iRWxlbWVudC4gVGhpcyByZW5kZXJlciBpcyB1c2VkIGZvcgogICAgIC8vIFRyYWNrTGlt
aXRFbGVtZW50IHRvby4KICAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCA9IG5vZGUoKS0+c2hh
ZG93QW5jZXN0b3JOb2RlKCktPnRvSW5wdXRFbGVtZW50KCk7Ci0gICAgYm9vbCBpc1ZlcnRpY2Fs
ID0gc3R5bGUoKS0+YXBwZWFyYW5jZSgpID09IFNsaWRlclRodW1iVmVydGljYWxQYXJ0IHx8IHN0
eWxlKCktPmFwcGVhcmFuY2UoKSA9PSBNZWRpYVZvbHVtZVNsaWRlclRodW1iUGFydDsKKyAgICBi
b29sIGlzVmVydGljYWwgPSBoYXNWZXJ0aWNhbEFwcGVhcmFuY2UoaW5wdXQpOwogCiAgICAgZG91
YmxlIGZyYWN0aW9uID0gY29udmVydElucHV0TnVtYmVyVG9Eb3VibGUoc2xpZGVyUG9zaXRpb24o
aW5wdXQpICogMTAwKTsKICAgICBpZiAoaXNWZXJ0aWNhbCkKQEAgLTMyMSwxMiArMzI0LDM4IEBA
IEhUTUxJbnB1dEVsZW1lbnQqIFNsaWRlclRodW1iRWxlbWVudDo6aG9zdElucHV0KCkgY29uc3QK
ICAgICByZXR1cm4gc2hhZG93QW5jZXN0b3JOb2RlKCktPnRvSW5wdXRFbGVtZW50KCk7CiB9CiAK
LWNvbnN0IEF0b21pY1N0cmluZyYgU2xpZGVyVGh1bWJFbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgp
IGNvbnN0CitzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBzbGlkZXJUaHVtYlNoYWRvd1BzZXVk
b0lkKCkKIHsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgc2xpZGVyVGh1
bWIsICgiLXdlYmtpdC1zbGlkZXItdGh1bWIiKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChj
b25zdCBBdG9taWNTdHJpbmcsIHNsaWRlclRodW1iLCAoIi13ZWJraXQtc2xpZGVyLXRodW1iIikp
OwogICAgIHJldHVybiBzbGlkZXJUaHVtYjsKIH0KIAorc3RhdGljIGNvbnN0IEF0b21pY1N0cmlu
ZyYgbWVkaWFTbGlkZXJUaHVtYlNoYWRvd1BzZXVkb0lkKCkKK3sKKyAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgbWVkaWFTbGlkZXJUaHVtYiwgKCItd2Via2l0LW1l
ZGlhLXNsaWRlci10aHVtYiIpKTsKKyAgICByZXR1cm4gbWVkaWFTbGlkZXJUaHVtYjsKK30KKwor
Y29uc3QgQXRvbWljU3RyaW5nJiBTbGlkZXJUaHVtYkVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKCkg
Y29uc3QKK3sKKyAgICBIVE1MSW5wdXRFbGVtZW50KiBpbnB1dCA9IGhvc3RJbnB1dCgpOworICAg
IGlmICghaW5wdXQpCisgICAgICAgIHJldHVybiBzbGlkZXJUaHVtYlNoYWRvd1BzZXVkb0lkKCk7
CisKKyAgICBSZW5kZXJTdHlsZSogc2xpZGVyU3R5bGUgPSBpbnB1dC0+cmVuZGVyZXIoKS0+c3R5
bGUoKTsKKyAgICBzd2l0Y2ggKHNsaWRlclN0eWxlLT5hcHBlYXJhbmNlKCkpIHsKKyAgICBjYXNl
IE1lZGlhU2xpZGVyUGFydDoKKyAgICBjYXNlIE1lZGlhU2xpZGVyVGh1bWJQYXJ0OgorICAgIGNh
c2UgTWVkaWFWb2x1bWVTbGlkZXJQYXJ0OgorICAgIGNhc2UgTWVkaWFWb2x1bWVTbGlkZXJUaHVt
YlBhcnQ6CisgICAgY2FzZSBNZWRpYUZ1bGxTY3JlZW5Wb2x1bWVTbGlkZXJQYXJ0OgorICAgIGNh
c2UgTWVkaWFGdWxsU2NyZWVuVm9sdW1lU2xpZGVyVGh1bWJQYXJ0OgorICAgICAgICByZXR1cm4g
bWVkaWFTbGlkZXJUaHVtYlNoYWRvd1BzZXVkb0lkKCk7CisgICAgZGVmYXVsdDoKKyAgICAgICAg
cmV0dXJuIHNsaWRlclRodW1iU2hhZG93UHNldWRvSWQoKTsKKyAgICB9Cit9CisKIC8vIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIGlubGluZSBUcmFja0xpbWl0ZXJFbGVtZW50
OjpUcmFja0xpbWl0ZXJFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCkKQEAgLTM1MSw4ICszODAs
MjIgQEAgUmVuZGVyT2JqZWN0KiBUcmFja0xpbWl0ZXJFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihS
ZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWwKIAogY29uc3QgQXRvbWljU3RyaW5nJiBUcmFj
a0xpbWl0ZXJFbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0CiB7Ci0gICAgREVGSU5FX1NU
QVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIHNsaWRlclRodW1iLCAoIi13ZWJraXQtc2xpZGVyLXRo
dW1iIikpOwotICAgIHJldHVybiBzbGlkZXJUaHVtYjsKKyAgICBIVE1MSW5wdXRFbGVtZW50KiBp
bnB1dCA9IHNoYWRvd0FuY2VzdG9yTm9kZSgpLT50b0lucHV0RWxlbWVudCgpOworICAgIGlmICgh
aW5wdXQpCisgICAgICAgIHJldHVybiBzbGlkZXJUaHVtYlNoYWRvd1BzZXVkb0lkKCk7CisKKyAg
ICBSZW5kZXJTdHlsZSogc2xpZGVyU3R5bGUgPSBpbnB1dC0+cmVuZGVyZXIoKS0+c3R5bGUoKTsK
KyAgICBzd2l0Y2ggKHNsaWRlclN0eWxlLT5hcHBlYXJhbmNlKCkpIHsKKyAgICBjYXNlIE1lZGlh
U2xpZGVyUGFydDoKKyAgICBjYXNlIE1lZGlhU2xpZGVyVGh1bWJQYXJ0OgorICAgIGNhc2UgTWVk
aWFWb2x1bWVTbGlkZXJQYXJ0OgorICAgIGNhc2UgTWVkaWFWb2x1bWVTbGlkZXJUaHVtYlBhcnQ6
CisgICAgY2FzZSBNZWRpYUZ1bGxTY3JlZW5Wb2x1bWVTbGlkZXJQYXJ0OgorICAgIGNhc2UgTWVk
aWFGdWxsU2NyZWVuVm9sdW1lU2xpZGVyVGh1bWJQYXJ0OgorICAgICAgICByZXR1cm4gbWVkaWFT
bGlkZXJUaHVtYlNoYWRvd1BzZXVkb0lkKCk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJu
IHNsaWRlclRodW1iU2hhZG93UHNldWRvSWQoKTsKKyAgICB9CiB9CiAKIFRyYWNrTGltaXRlckVs
ZW1lbnQqIHRyYWNrTGltaXRlckVsZW1lbnRPZihOb2RlKiBub2RlKQpAQCAtMzg1LDggKzQyOCwy
NSBAQCBSZW5kZXJPYmplY3QqIFNsaWRlckNvbnRhaW5lckVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVy
KFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVyUwogCiBjb25zdCBBdG9taWNTdHJpbmcmIFNsaWRl
ckNvbnRhaW5lckVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKCkgY29uc3QKIHsKLSAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgc2xpZGVyVGh1bWIsICgiLXdlYmtpdC1zbGlkZXIt
Y29udGFpbmVyIikpOwotICAgIHJldHVybiBzbGlkZXJUaHVtYjsKKyAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKEF0b21pY1N0cmluZywgbWVkaWFTbGlkZXJDb250YWluZXIsICgiLXdlYmtpdC1tZWRp
YS1zbGlkZXItY29udGFpbmVyIikpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3Ry
aW5nLCBzbGlkZXJDb250YWluZXIsICgiLXdlYmtpdC1zbGlkZXItY29udGFpbmVyIikpOworCisg
ICAgSFRNTElucHV0RWxlbWVudCogaW5wdXQgPSBzaGFkb3dBbmNlc3Rvck5vZGUoKS0+dG9JbnB1
dEVsZW1lbnQoKTsKKyAgICBpZiAoIWlucHV0KQorICAgICAgICByZXR1cm4gc2xpZGVyQ29udGFp
bmVyOworCisgICAgUmVuZGVyU3R5bGUqIHNsaWRlclN0eWxlID0gaW5wdXQtPnJlbmRlcmVyKCkt
PnN0eWxlKCk7CisgICAgc3dpdGNoIChzbGlkZXJTdHlsZS0+YXBwZWFyYW5jZSgpKSB7CisgICAg
Y2FzZSBNZWRpYVNsaWRlclBhcnQ6CisgICAgY2FzZSBNZWRpYVNsaWRlclRodW1iUGFydDoKKyAg
ICBjYXNlIE1lZGlhVm9sdW1lU2xpZGVyUGFydDoKKyAgICBjYXNlIE1lZGlhVm9sdW1lU2xpZGVy
VGh1bWJQYXJ0OgorICAgIGNhc2UgTWVkaWFGdWxsU2NyZWVuVm9sdW1lU2xpZGVyUGFydDoKKyAg
ICBjYXNlIE1lZGlhRnVsbFNjcmVlblZvbHVtZVNsaWRlclRodW1iUGFydDoKKyAgICAgICAgcmV0
dXJuIG1lZGlhU2xpZGVyQ29udGFpbmVyOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBz
bGlkZXJDb250YWluZXI7CisgICAgfQogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3BwCmluZGV4IDcyZTEy
Yzg4MWJjNzNmZDA1ZTk2NWE5OGIwZGI5YmY2YjA4ZWU4ZmYuLmRkZWEzNWUyY2RhMjAyNjhhY2Ji
NDQyYjRhODZmYWVhOGM3NTJkYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3BwCkBAIC03NCwxNCArNzQsMjEg
QEAgc3RhdGljIGJvb2wgcGFpbnRNZWRpYU11dGVCdXR0b24oUmVuZGVyT2JqZWN0KiBvYmplY3Qs
IGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmYKICAgICBpZiAoIW1lZGlhRWxlbWVudCkKICAgICAg
IHJldHVybiBmYWxzZTsKIAotICAgIHN0YXRpYyBJbWFnZSogc291bmRGdWxsID0gcGxhdGZvcm1S
ZXNvdXJjZSgibWVkaWFTb3VuZEZ1bGwiKTsKLSAgICBzdGF0aWMgSW1hZ2UqIHNvdW5kTm9uZSA9
IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhU291bmROb25lIik7Ci0gICAgc3RhdGljIEltYWdlKiBz
b3VuZERpc2FibGVkID0gcGxhdGZvcm1SZXNvdXJjZSgibWVkaWFTb3VuZERpc2FibGVkIik7Cisg
ICAgc3RhdGljIEltYWdlKiBzb3VuZExldmVsMyA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhcGxh
eWVyU291bmRMZXZlbDMiKTsKKyAgICBzdGF0aWMgSW1hZ2UqIHNvdW5kTGV2ZWwyID0gcGxhdGZv
cm1SZXNvdXJjZSgibWVkaWFwbGF5ZXJTb3VuZExldmVsMiIpOworICAgIHN0YXRpYyBJbWFnZSog
c291bmRMZXZlbDEgPSBwbGF0Zm9ybVJlc291cmNlKCJtZWRpYXBsYXllclNvdW5kTGV2ZWwxIik7
CisgICAgc3RhdGljIEltYWdlKiBzb3VuZERpc2FibGVkID0gcGxhdGZvcm1SZXNvdXJjZSgibWVk
aWFwbGF5ZXJTb3VuZERpc2FibGVkIik7CiAKLSAgICBpZiAoIWhhc1NvdXJjZShtZWRpYUVsZW1l
bnQpIHx8ICFtZWRpYUVsZW1lbnQtPmhhc0F1ZGlvKCkpCisgICAgaWYgKCFoYXNTb3VyY2UobWVk
aWFFbGVtZW50KSB8fCAhbWVkaWFFbGVtZW50LT5oYXNBdWRpbygpIHx8IG1lZGlhRWxlbWVudC0+
bXV0ZWQoKSB8fCBtZWRpYUVsZW1lbnQtPnZvbHVtZSgpIDw9IDApCiAgICAgICAgIHJldHVybiBw
YWludE1lZGlhQnV0dG9uKHBhaW50SW5mby5jb250ZXh0LCByZWN0LCBzb3VuZERpc2FibGVkKTsK
IAotICAgIHJldHVybiBwYWludE1lZGlhQnV0dG9uKHBhaW50SW5mby5jb250ZXh0LCByZWN0LCBt
ZWRpYUVsZW1lbnQtPm11dGVkKCkgPyBzb3VuZE5vbmU6IHNvdW5kRnVsbCk7CisgICAgaWYgKG1l
ZGlhRWxlbWVudC0+dm9sdW1lKCkgPD0gMC4zMykKKyAgICAgICAgcmV0dXJuIHBhaW50TWVkaWFC
dXR0b24ocGFpbnRJbmZvLmNvbnRleHQsIHJlY3QsIHNvdW5kTGV2ZWwxKTsKKworICAgIGlmICht
ZWRpYUVsZW1lbnQtPnZvbHVtZSgpIDw9IDAuNjYpCisgICAgICAgIHJldHVybiBwYWludE1lZGlh
QnV0dG9uKHBhaW50SW5mby5jb250ZXh0LCByZWN0LCBzb3VuZExldmVsMik7CisKKyAgICByZXR1
cm4gcGFpbnRNZWRpYUJ1dHRvbihwYWludEluZm8uY29udGV4dCwgcmVjdCwgc291bmRMZXZlbDMp
OwogfQogCiBzdGF0aWMgYm9vbCBwYWludE1lZGlhUGxheUJ1dHRvbihSZW5kZXJPYmplY3QqIG9i
amVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCkBA
IC05MCw5ICs5Nyw5IEBAIHN0YXRpYyBib29sIHBhaW50TWVkaWFQbGF5QnV0dG9uKFJlbmRlck9i
amVjdCogb2JqZWN0LCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mCiAgICAgaWYgKCFtZWRpYUVs
ZW1lbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHN0YXRpYyBJbWFnZSogbWVkaWFQ
bGF5ID0gcGxhdGZvcm1SZXNvdXJjZSgibWVkaWFQbGF5Iik7Ci0gICAgc3RhdGljIEltYWdlKiBt
ZWRpYVBhdXNlID0gcGxhdGZvcm1SZXNvdXJjZSgibWVkaWFQYXVzZSIpOwotICAgIHN0YXRpYyBJ
bWFnZSogbWVkaWFQbGF5RGlzYWJsZWQgPSBwbGF0Zm9ybVJlc291cmNlKCJtZWRpYVBsYXlEaXNh
YmxlZCIpOworICAgIHN0YXRpYyBJbWFnZSogbWVkaWFQbGF5ID0gcGxhdGZvcm1SZXNvdXJjZSgi
bWVkaWFwbGF5ZXJQbGF5Iik7CisgICAgc3RhdGljIEltYWdlKiBtZWRpYVBhdXNlID0gcGxhdGZv
cm1SZXNvdXJjZSgibWVkaWFwbGF5ZXJQYXVzZSIpOworICAgIHN0YXRpYyBJbWFnZSogbWVkaWFQ
bGF5RGlzYWJsZWQgPSBwbGF0Zm9ybVJlc291cmNlKCJtZWRpYXBsYXllclBsYXlEaXNhYmxlZCIp
OwogCiAgICAgaWYgKCFoYXNTb3VyY2UobWVkaWFFbGVtZW50KSkKICAgICAgICAgcmV0dXJuIHBh
aW50TWVkaWFCdXR0b24ocGFpbnRJbmZvLmNvbnRleHQsIHJlY3QsIG1lZGlhUGxheURpc2FibGVk
KTsKQEAgLTEwMiwxMCArMTA5LDc1IEBAIHN0YXRpYyBib29sIHBhaW50TWVkaWFQbGF5QnV0dG9u
KFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mCiAKIHN0YXRp
YyBJbWFnZSogZ2V0TWVkaWFTbGlkZXJUaHVtYigpCiB7Ci0gICAgc3RhdGljIEltYWdlKiBtZWRp
YVNsaWRlclRodW1iID0gcGxhdGZvcm1SZXNvdXJjZSgibWVkaWFTbGlkZXJUaHVtYiIpOworICAg
IHN0YXRpYyBJbWFnZSogbWVkaWFTbGlkZXJUaHVtYiA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlh
cGxheWVyU2xpZGVyVGh1bWIiKTsKICAgICByZXR1cm4gbWVkaWFTbGlkZXJUaHVtYjsKIH0KIAor
c3RhdGljIHZvaWQgcGFpbnRSb3VuZGVkU2xpZGVyQmFja2dyb3VuZChjb25zdCBJbnRSZWN0JiBy
ZWN0LCBjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCkK
K3sKKyAgICBpbnQgYm9yZGVyUmFkaXVzID0gcmVjdC5oZWlnaHQoKSAvIDI7CisgICAgSW50U2l6
ZSByYWRpaShib3JkZXJSYWRpdXMsIGJvcmRlclJhZGl1cyk7CisgICAgQ29sb3Igc2xpZGVyQmFj
a2dyb3VuZENvbG9yID0gQ29sb3IoMjksIDI5LCAyOSk7CisgICAgY29udGV4dC0+c2F2ZSgpOwor
ICAgIGNvbnRleHQtPmZpbGxSb3VuZGVkUmVjdChyZWN0LCByYWRpaSwgcmFkaWksIHJhZGlpLCBy
YWRpaSwgc2xpZGVyQmFja2dyb3VuZENvbG9yLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKyAgICBj
b250ZXh0LT5yZXN0b3JlKCk7Cit9CisKK3N0YXRpYyB2b2lkIHBhaW50U2xpZGVyUmFuZ2VIaWdo
bGlnaHQoY29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBHcmFw
aGljc0NvbnRleHQqIGNvbnRleHQsIGZsb2F0IHN0YXJ0RnJhY3Rpb24sIGZsb2F0IHdpZHRoRnJh
Y3Rpb24pCit7CisgICAgaWYgKHN0YXJ0RnJhY3Rpb24gPCAwKQorICAgICAgICBzdGFydEZyYWN0
aW9uID0gMDsKKyAgICBpZiAod2lkdGhGcmFjdGlvbiA+IDEpCisgICAgICAgIHdpZHRoRnJhY3Rp
b24gPSAxOworICAgIGZsb2F0IGVuZEZyYWN0aW9uID0gc3RhcnRGcmFjdGlvbiArIHdpZHRoRnJh
Y3Rpb247CisgICAgaWYgKGVuZEZyYWN0aW9uID4gMSkgeworICAgICAgICB3aWR0aEZyYWN0aW9u
ID0gd2lkdGhGcmFjdGlvbiAtIHN0YXJ0RnJhY3Rpb247CisgICAgICAgIGVuZEZyYWN0aW9uID0g
c3RhcnRGcmFjdGlvbiArIHdpZHRoRnJhY3Rpb247CisgICAgfQorCisgICAgLy8gU2V0IHJlY3Rh
bmdsZSB0byBoaWdobGlnaHQgcmFuZ2UuCisgICAgSW50UmVjdCBoaWdobGlnaHRSZWN0ID0gcmVj
dDsKKyAgICBpbnQgc3RhcnRPZmZzZXQgPSBzdGFydEZyYWN0aW9uICogcmVjdC53aWR0aCgpOwor
ICAgIGludCBlbmRPZmZzZXQgPSByZWN0LndpZHRoKCkgLSBlbmRGcmFjdGlvbiAqIHJlY3Qud2lk
dGgoKTsKKyAgICBpbnQgcmFuZ2VXaWR0aCA9IHdpZHRoRnJhY3Rpb24gKiByZWN0LndpZHRoKCk7
CisgICAgaGlnaGxpZ2h0UmVjdC5tb3ZlKHN0YXJ0T2Zmc2V0LCAwKTsKKyAgICBoaWdobGlnaHRS
ZWN0LnNldFdpZHRoKHJhbmdlV2lkdGgpOworCisgICAgLy8gRG9uJ3QgYm90aGVyIGRyYXdpbmcg
YW4gZW1wdHkgYXJlYS4KKyAgICBpZiAoaGlnaGxpZ2h0UmVjdC5pc0VtcHR5KCkpCisgICAgICAg
IHJldHVybjsKKworICAgIC8vIENhbGN1bGF0ZSBib3JkZXIgcmFkaXVzOyBuZWVkIHRvIGF2b2lk
IGJlaW5nIHNtYWxsZXIgdGhhbiBoYWxmIHRoZSBzbGlkZXIgaGVpZ2h0CisgICAgLy8gYmVjYXVz
ZSBvZiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAxNDMuCisgICAg
aW50IGJvcmRlclJhZGl1cyA9IHJlY3QuaGVpZ2h0KCkgLyAyOworICAgIEludFNpemUgcmFkaWko
Ym9yZGVyUmFkaXVzLCBib3JkZXJSYWRpdXMpOworCisgICAgLy8gQ2FsY3VsYXRlIHdoaXRlLWdy
ZXkgZ3JhZGllbnQuCisgICAgSW50UG9pbnQgc2xpZGVyVG9wTGVmdCA9IGhpZ2hsaWdodFJlY3Qu
bG9jYXRpb24oKTsKKyAgICBJbnRQb2ludCBzbGlkZXJCb3R0b21MZWZ0ID0gc2xpZGVyVG9wTGVm
dDsKKyAgICBzbGlkZXJCb3R0b21MZWZ0Lm1vdmUoMCwgaGlnaGxpZ2h0UmVjdC5oZWlnaHQoKSk7
CisgICAgQ29sb3Igc3RhcnRDb2xvciA9IENvbG9yKDIyMCwgMjIwLCAyMjApOworICAgIENvbG9y
IGVuZENvbG9yID0gQ29sb3IoMjQwLCAyNDAsIDI0MCk7CisgICAgUmVmUHRyPEdyYWRpZW50PiBn
cmFkaWVudCA9IEdyYWRpZW50OjpjcmVhdGUoc2xpZGVyVG9wTGVmdCwgc2xpZGVyQm90dG9tTGVm
dCk7CisgICAgZ3JhZGllbnQtPmFkZENvbG9yU3RvcCgwLjAsIHN0YXJ0Q29sb3IpOworICAgIGdy
YWRpZW50LT5hZGRDb2xvclN0b3AoMS4wLCBlbmRDb2xvcik7CisKKyAgICAvLyBGaWxsIGhpZ2hs
aWdodCByZWN0YW5nbGUgd2l0aCBncmFkaWVudCwgcG90ZW50aWFsbHkgcm91bmRlZCBpZiBvbiBs
ZWZ0IG9yIHJpZ2h0IGVkZ2UuCisgICAgY29udGV4dC0+c2F2ZSgpOworICAgIGNvbnRleHQtPnNl
dEZpbGxHcmFkaWVudChncmFkaWVudCk7CisKKyAgICBpZiAoc3RhcnRPZmZzZXQgPCBib3JkZXJS
YWRpdXMgJiYgZW5kT2Zmc2V0IDwgYm9yZGVyUmFkaXVzKQorICAgICAgICBjb250ZXh0LT5maWxs
Um91bmRlZFJlY3QoaGlnaGxpZ2h0UmVjdCwgcmFkaWksIHJhZGlpLCByYWRpaSwgcmFkaWksIHN0
YXJ0Q29sb3IsIENvbG9yU3BhY2VEZXZpY2VSR0IpOworICAgIGVsc2UgaWYgKHN0YXJ0T2Zmc2V0
IDwgYm9yZGVyUmFkaXVzKQorICAgICAgICBjb250ZXh0LT5maWxsUm91bmRlZFJlY3QoaGlnaGxp
Z2h0UmVjdCwgcmFkaWksIEludFNpemUoMCwgMCksIHJhZGlpLCBJbnRTaXplKDAsIDApLCBzdGFy
dENvbG9yLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKyAgICBlbHNlIGlmIChlbmRPZmZzZXQgPCBi
b3JkZXJSYWRpdXMpCisgICAgICAgIGNvbnRleHQtPmZpbGxSb3VuZGVkUmVjdChoaWdobGlnaHRS
ZWN0LCBJbnRTaXplKDAsIDApLCByYWRpaSwgSW50U2l6ZSgwLCAwKSwgcmFkaWksIHN0YXJ0Q29s
b3IsIENvbG9yU3BhY2VEZXZpY2VSR0IpOworICAgIGVsc2UKKyAgICAgICAgY29udGV4dC0+Zmls
bFJlY3QoaGlnaGxpZ2h0UmVjdCk7CisKKyAgICBjb250ZXh0LT5yZXN0b3JlKCk7Cit9CisKIHN0
YXRpYyBib29sIHBhaW50TWVkaWFTbGlkZXIoUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBh
aW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQogewogICAgIEhUTUxNZWRp
YUVsZW1lbnQqIG1lZGlhRWxlbWVudCA9IHRvUGFyZW50TWVkaWFFbGVtZW50KG9iamVjdCk7CkBA
IC0xMTUsMjMgKzE4NywxMCBAQCBzdGF0aWMgYm9vbCBwYWludE1lZGlhU2xpZGVyKFJlbmRlck9i
amVjdCogb2JqZWN0LCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgYwogICAgIFJlbmRlclN0
eWxlKiBzdHlsZSA9IG9iamVjdC0+c3R5bGUoKTsKICAgICBHcmFwaGljc0NvbnRleHQqIGNvbnRl
eHQgPSBwYWludEluZm8uY29udGV4dDsKIAotICAgIC8vIERyYXcgdGhlIGJvcmRlciBvZiB0aGUg
dGltZSBiYXIuCi0gICAgLy8gRklYTUU6IHRoaXMgc2hvdWxkIGJlIGEgcm91bmRlZCByZWN0IGJ1
dCBuZWVkIHRvIGZpeCBHcmFwaGljc0NvbnRleHRTa2lhIGZpcnN0LgotICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDE0MwotICAgIGNvbnRleHQtPnNhdmUo
KTsKLSAgICBjb250ZXh0LT5zZXRTaG91bGRBbnRpYWxpYXModHJ1ZSk7Ci0gICAgY29udGV4dC0+
c2V0U3Ryb2tlU3R5bGUoU29saWRTdHJva2UpOwotICAgIGNvbnRleHQtPnNldFN0cm9rZUNvbG9y
KHN0eWxlLT52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlCb3JkZXJMZWZ0Q29sb3Ip
LCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKLSAgICBjb250ZXh0LT5zZXRTdHJva2VUaGlja25lc3Mo
c3R5bGUtPmJvcmRlckxlZnRXaWR0aCgpKTsKLSAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3Ioc3R5
bGUtPnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUJhY2tncm91bmRDb2xvciksIENv
bG9yU3BhY2VEZXZpY2VSR0IpOwotICAgIGNvbnRleHQtPmRyYXdSZWN0KHJlY3QpOwotICAgIGNv
bnRleHQtPnJlc3RvcmUoKTsKKyAgICBwYWludFJvdW5kZWRTbGlkZXJCYWNrZ3JvdW5kKHJlY3Qs
IHN0eWxlLCBjb250ZXh0KTsKIAogICAgIC8vIERyYXcgdGhlIGJ1ZmZlcmVkIHJhbmdlLiBTaW5j
ZSB0aGUgZWxlbWVudCBtYXkgaGF2ZSBtdWx0aXBsZSBidWZmZXJlZCByYW5nZXMgYW5kIGl0J2Qg
YmUKICAgICAvLyBkaXN0cmFjdGluZy8nYnVzeScgdG8gc2hvdyBhbGwgb2YgdGhlbSwgc2hvdyBv
bmx5IHRoZSBidWZmZXJlZCByYW5nZSBjb250YWluaW5nIHRoZSBjdXJyZW50IHBsYXkgaGVhZC4K
LSAgICBJbnRSZWN0IGJ1ZmZlcmVkUmVjdCA9IHJlY3Q7Ci0gICAgYnVmZmVyZWRSZWN0LmluZmxh
dGUoLXN0eWxlLT5ib3JkZXJMZWZ0V2lkdGgoKSk7Ci0KICAgICBSZWZQdHI8VGltZVJhbmdlcz4g
YnVmZmVyZWRUaW1lUmFuZ2VzID0gbWVkaWFFbGVtZW50LT5idWZmZXJlZCgpOwogICAgIGZsb2F0
IGR1cmF0aW9uID0gbWVkaWFFbGVtZW50LT5kdXJhdGlvbigpOwogICAgIGZsb2F0IGN1cnJlbnRU
aW1lID0gbWVkaWFFbGVtZW50LT5jdXJyZW50VGltZSgpOwpAQCAtMTQ2LDI3ICsyMDUsOCBAQCBz
dGF0aWMgYm9vbCBwYWludE1lZGlhU2xpZGVyKFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQ
YWludEluZm8mIHBhaW50SW5mbywgYwogICAgICAgICBmbG9hdCBzdGFydEZyYWN0aW9uID0gc3Rh
cnQgLyBkdXJhdGlvbjsKICAgICAgICAgZmxvYXQgZW5kRnJhY3Rpb24gPSBlbmQgLyBkdXJhdGlv
bjsKICAgICAgICAgZmxvYXQgd2lkdGhGcmFjdGlvbiA9IGVuZEZyYWN0aW9uIC0gc3RhcnRGcmFj
dGlvbjsKLSAgICAgICAgYnVmZmVyZWRSZWN0Lm1vdmUoc3RhcnRGcmFjdGlvbiAqIGJ1ZmZlcmVk
UmVjdC53aWR0aCgpLCAwKTsKLSAgICAgICAgYnVmZmVyZWRSZWN0LnNldFdpZHRoKHdpZHRoRnJh
Y3Rpb24gKiBidWZmZXJlZFJlY3Qud2lkdGgoKSk7Ci0KLSAgICAgICAgLy8gRG9uJ3QgYm90aGVy
IGRyYXdpbmcgYW4gZW1wdHkgYXJlYS4KLSAgICAgICAgaWYgKGJ1ZmZlcmVkUmVjdC5pc0VtcHR5
KCkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgICAgICBJbnRQb2ludCBzbGlkZXJU
b3BMZWZ0ID0gYnVmZmVyZWRSZWN0LmxvY2F0aW9uKCk7Ci0gICAgICAgIEludFBvaW50IHNsaWRl
ckJvdHRvbUxlZnQgPSBzbGlkZXJUb3BMZWZ0OwotICAgICAgICBzbGlkZXJCb3R0b21MZWZ0Lm1v
dmUoMCwgYnVmZmVyZWRSZWN0LmhlaWdodCgpKTsKLQotICAgICAgICBSZWZQdHI8R3JhZGllbnQ+
IGdyYWRpZW50ID0gR3JhZGllbnQ6OmNyZWF0ZShzbGlkZXJUb3BMZWZ0LCBzbGlkZXJCb3R0b21M
ZWZ0KTsKLSAgICAgICAgQ29sb3Igc3RhcnRDb2xvciA9IG9iamVjdC0+c3R5bGUoKS0+dmlzaXRl
ZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5Q29sb3IpOwotICAgICAgICBncmFkaWVudC0+YWRk
Q29sb3JTdG9wKDAuMCwgc3RhcnRDb2xvcik7Ci0gICAgICAgIGdyYWRpZW50LT5hZGRDb2xvclN0
b3AoMS4wLCBDb2xvcihzdGFydENvbG9yLnJlZCgpIC8gMiwgc3RhcnRDb2xvci5ncmVlbigpIC8g
Miwgc3RhcnRDb2xvci5ibHVlKCkgLyAyLCBzdGFydENvbG9yLmFscGhhKCkpKTsKLQotICAgICAg
ICBjb250ZXh0LT5zYXZlKCk7Ci0gICAgICAgIGNvbnRleHQtPnNldFN0cm9rZVN0eWxlKE5vU3Ry
b2tlKTsKLSAgICAgICAgY29udGV4dC0+c2V0RmlsbEdyYWRpZW50KGdyYWRpZW50KTsKLSAgICAg
ICAgY29udGV4dC0+ZmlsbFJlY3QoYnVmZmVyZWRSZWN0KTsKLSAgICAgICAgY29udGV4dC0+cmVz
dG9yZSgpOworCisgICAgICAgIHBhaW50U2xpZGVyUmFuZ2VIaWdobGlnaHQocmVjdCwgc3R5bGUs
IGNvbnRleHQsIHN0YXJ0RnJhY3Rpb24sIHdpZHRoRnJhY3Rpb24pOwogICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICB9CiAKQEAgLTE4OSw2ICsyMjksOCBAQCBzdGF0aWMgYm9vbCBwYWludE1lZGlh
U2xpZGVyVGh1bWIoUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJ
bgogICAgIHJldHVybiBwYWludE1lZGlhQnV0dG9uKHBhaW50SW5mby5jb250ZXh0LCByZWN0LCBt
ZWRpYVNsaWRlclRodW1iKTsKIH0KIAorY29uc3QgaW50IG1lZGlhVm9sdW1lU2xpZGVyVGh1bWJX
aWR0aCA9IDI0OworCiBzdGF0aWMgYm9vbCBwYWludE1lZGlhVm9sdW1lU2xpZGVyKFJlbmRlck9i
amVjdCogb2JqZWN0LCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYg
cmVjdCkKIHsKICAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSB0b1BhcmVudE1l
ZGlhRWxlbWVudChvYmplY3QpOwpAQCAtMTk2LDY1ICsyMzgsNDQgQEAgc3RhdGljIGJvb2wgcGFp
bnRNZWRpYVZvbHVtZVNsaWRlcihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZv
JiBwYWludEkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgR3JhcGhpY3NDb250ZXh0KiBj
b250ZXh0ID0gcGFpbnRJbmZvLmNvbnRleHQ7Ci0gICAgQ29sb3Igb3JpZ2luYWxDb2xvciA9IGNv
bnRleHQtPnN0cm9rZUNvbG9yKCk7Ci0gICAgaWYgKG9yaWdpbmFsQ29sb3IgIT0gQ29sb3I6Ondo
aXRlKQotICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VDb2xvcihDb2xvcjo6d2hpdGUsIENvbG9y
U3BhY2VEZXZpY2VSR0IpOworICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IG9iamVjdC0+c3R5bGUo
KTsKKworICAgIHBhaW50Um91bmRlZFNsaWRlckJhY2tncm91bmQocmVjdCwgc3R5bGUsIGNvbnRl
eHQpOworCisgICAgLy8gQ2FsY3VsYXRlIHZvbHVtZSBwb3NpdGlvbiBmb3Igd2hpdGUgYmFja2dy
b3VuZCByZWN0YW5nbGUuCisgICAgZmxvYXQgdm9sdW1lID0gbWVkaWFFbGVtZW50LT52b2x1bWUo
KTsKKyAgICBpZiAoaXNuYW4odm9sdW1lKSB8fCB2b2x1bWUgPCAwKQorICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICBpZiAodm9sdW1lID4gMSkKKyAgICAgICAgdm9sdW1lID0gMTsKKyAgICBpZiAo
bWVkaWFFbGVtZW50LT5tdXRlZCgpKQorICAgICAgICB2b2x1bWUgPSAwOworCisgICAgLy8gQ2Fs
Y3VsYXRlIHRoZSBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgY2VudGVyIG9mIHRoZSB0aHVtYi4K
KyAgICBmbG9hdCB0aHVtYkNlbnRlciA9IG1lZGlhVm9sdW1lU2xpZGVyVGh1bWJXaWR0aCAvIDI7
CisgICAgZmxvYXQgem9vbUxldmVsID0gc3R5bGUtPmVmZmVjdGl2ZVpvb20oKTsKKyAgICBmbG9h
dCBwb3NpdGlvbldpZHRoID0gdm9sdW1lICogKHJlY3Qud2lkdGgoKSAtICh6b29tTGV2ZWwgKiB0
aHVtYkNlbnRlcikpOworICAgIGZsb2F0IGZpbGxXaWR0aCA9IHBvc2l0aW9uV2lkdGggKyAoem9v
bUxldmVsICogdGh1bWJDZW50ZXIgLyAyKTsKIAotICAgIGludCB4ID0gcmVjdC54KCkgKyByZWN0
LndpZHRoKCkgLyAyOwotICAgIGNvbnRleHQtPmRyYXdMaW5lKEludFBvaW50KHgsIHJlY3QueSgp
KSwgIEludFBvaW50KHgsIHJlY3QueSgpICsgcmVjdC5oZWlnaHQoKSkpOworICAgIHBhaW50U2xp
ZGVyUmFuZ2VIaWdobGlnaHQocmVjdCwgc3R5bGUsIGNvbnRleHQsIDAuMCwgZmlsbFdpZHRoIC8g
cmVjdC53aWR0aCgpKTsKIAotICAgIGlmIChvcmlnaW5hbENvbG9yICE9IENvbG9yOjp3aGl0ZSkK
LSAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlQ29sb3Iob3JpZ2luYWxDb2xvciwgQ29sb3JTcGFj
ZURldmljZVJHQik7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKIHN0YXRpYyBib29sIHBhaW50TWVk
aWFWb2x1bWVTbGlkZXJUaHVtYihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZv
JiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCiB7Ci0gICAgc3RhdGljIEltYWdlKiBt
ZWRpYVZvbHVtZVNsaWRlclRodW1iID0gcGxhdGZvcm1SZXNvdXJjZSgibWVkaWFWb2x1bWVTbGlk
ZXJUaHVtYiIpOworICAgIHN0YXRpYyBJbWFnZSogbWVkaWFWb2x1bWVTbGlkZXJUaHVtYiA9IHBs
YXRmb3JtUmVzb3VyY2UoIm1lZGlhcGxheWVyVm9sdW1lU2xpZGVyVGh1bWIiKTsKICAgICByZXR1
cm4gcGFpbnRNZWRpYUJ1dHRvbihwYWludEluZm8uY29udGV4dCwgcmVjdCwgbWVkaWFWb2x1bWVT
bGlkZXJUaHVtYik7CiB9CiAKLXN0YXRpYyBib29sIHBhaW50TWVkaWFUaW1lbGluZUNvbnRhaW5l
cihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0
IEludFJlY3QmIHJlY3QpCi17Ci0gICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50ID0g
dG9QYXJlbnRNZWRpYUVsZW1lbnQob2JqZWN0KTsKLSAgICBpZiAoIW1lZGlhRWxlbWVudCkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKCFyZWN0LmlzRW1wdHkoKSkgewotICAgICAg
ICBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQgPSBwYWludEluZm8uY29udGV4dDsKLSAgICAgICAg
Q29sb3Igb3JpZ2luYWxDb2xvciA9IGNvbnRleHQtPnN0cm9rZUNvbG9yKCk7Ci0gICAgICAgIGZs
b2F0IG9yaWdpbmFsVGhpY2tuZXNzID0gY29udGV4dC0+c3Ryb2tlVGhpY2tuZXNzKCk7Ci0gICAg
ICAgIFN0cm9rZVN0eWxlIG9yaWdpbmFsU3R5bGUgPSBjb250ZXh0LT5zdHJva2VTdHlsZSgpOwot
Ci0gICAgICAgIGNvbnRleHQtPnNldFN0cm9rZVN0eWxlKFNvbGlkU3Ryb2tlKTsKLQotICAgICAg
ICAvLyBEcmF3IHRoZSBsZWZ0IGJvcmRlciB1c2luZyBDU1MgZGVmaW5lZCB3aWR0aCBhbmQgY29s
b3IuCi0gICAgICAgIGNvbnRleHQtPnNldFN0cm9rZVRoaWNrbmVzcyhvYmplY3QtPnN0eWxlKCkt
PmJvcmRlckxlZnRXaWR0aCgpKTsKLSAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlQ29sb3Iob2Jq
ZWN0LT5zdHlsZSgpLT52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlCb3JkZXJMZWZ0
Q29sb3IpLnJnYigpLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKLSAgICAgICAgY29udGV4dC0+ZHJh
d0xpbmUoSW50UG9pbnQocmVjdC54KCkgKyAxLCByZWN0LnkoKSksCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIEludFBvaW50KHJlY3QueCgpICsgMSwgcmVjdC55KCkgKyByZWN0LmhlaWdodCgp
KSk7Ci0KLSAgICAgICAgLy8gRHJhdyB0aGUgcmlnaHQgYm9yZGVyIHVzaW5nIENTUyBkZWZpbmVk
IHdpZHRoIGFuZCBjb2xvci4KLSAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlVGhpY2tuZXNzKG9i
amVjdC0+c3R5bGUoKS0+Ym9yZGVyUmlnaHRXaWR0aCgpKTsKLSAgICAgICAgY29udGV4dC0+c2V0
U3Ryb2tlQ29sb3Iob2JqZWN0LT5zdHlsZSgpLT52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJv
cGVydHlCb3JkZXJSaWdodENvbG9yKS5yZ2IoKSwgQ29sb3JTcGFjZURldmljZVJHQik7Ci0gICAg
ICAgIGNvbnRleHQtPmRyYXdMaW5lKEludFBvaW50KHJlY3QueCgpICsgcmVjdC53aWR0aCgpIC0g
MSwgcmVjdC55KCkpLAotICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRQb2ludChyZWN0Lngo
KSArIHJlY3Qud2lkdGgoKSAtIDEsIHJlY3QueSgpICsgcmVjdC5oZWlnaHQoKSkpOwotCi0gICAg
ICAgIGNvbnRleHQtPnNldFN0cm9rZUNvbG9yKG9yaWdpbmFsQ29sb3IsIENvbG9yU3BhY2VEZXZp
Y2VSR0IpOwotICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VUaGlja25lc3Mob3JpZ2luYWxUaGlj
a25lc3MpOwotICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VTdHlsZShvcmlnaW5hbFN0eWxlKTsK
LSAgICB9Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIHN0YXRpYyBib29sIHBhaW50TWVkaWFGdWxs
c2NyZWVuQnV0dG9uKFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQYWludEluZm8mIHBhaW50
SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKICAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRp
YUVsZW1lbnQgPSB0b1BhcmVudE1lZGlhRWxlbWVudChvYmplY3QpOwogICAgIGlmICghbWVkaWFF
bGVtZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KEltYWdlKiwgbWVkaWFGdWxsc2NyZWVuLCAocGxhdGZvcm1SZXNvdXJjZSgibWVkaWFGdWxsc2Ny
ZWVuIikpKTsKLSAgICByZXR1cm4gcGFpbnRNZWRpYUJ1dHRvbihwYWludEluZm8uY29udGV4dCwg
cmVjdCwgbWVkaWFGdWxsc2NyZWVuKTsKKyAgICBzdGF0aWMgSW1hZ2UqIG1lZGlhRnVsbHNjcmVl
bkJ1dHRvbiA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhcGxheWVyRnVsbHNjcmVlbiIpOworICAg
IHJldHVybiBwYWludE1lZGlhQnV0dG9uKHBhaW50SW5mby5jb250ZXh0LCByZWN0LCBtZWRpYUZ1
bGxzY3JlZW5CdXR0b24pOwogfQogCiBib29sIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6
cGFpbnRNZWRpYUNvbnRyb2xzUGFydChNZWRpYUNvbnRyb2xFbGVtZW50VHlwZSBwYXJ0LCBSZW5k
ZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJl
Y3QmIHJlY3QpCkBAIC0yNzQsOCArMjk1LDYgQEAgYm9vbCBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hy
b21pdW06OnBhaW50TWVkaWFDb250cm9sc1BhcnQoTWVkaWFDb250cm9sRWxlbWVudFR5cGUKICAg
ICAgICAgcmV0dXJuIHBhaW50TWVkaWFWb2x1bWVTbGlkZXIob2JqZWN0LCBwYWludEluZm8sIHJl
Y3QpOwogICAgIGNhc2UgTWVkaWFWb2x1bWVTbGlkZXJUaHVtYjoKICAgICAgICAgcmV0dXJuIHBh
aW50TWVkaWFWb2x1bWVTbGlkZXJUaHVtYihvYmplY3QsIHBhaW50SW5mbywgcmVjdCk7Ci0gICAg
Y2FzZSBNZWRpYVRpbWVsaW5lQ29udGFpbmVyOgotICAgICAgICByZXR1cm4gcGFpbnRNZWRpYVRp
bWVsaW5lQ29udGFpbmVyKG9iamVjdCwgcGFpbnRJbmZvLCByZWN0KTsKICAgICBjYXNlIE1lZGlh
RW50ZXJGdWxsc2NyZWVuQnV0dG9uOgogICAgIGNhc2UgTWVkaWFFeGl0RnVsbHNjcmVlbkJ1dHRv
bjoKICAgICAgICAgcmV0dXJuIHBhaW50TWVkaWFGdWxsc2NyZWVuQnV0dG9uKG9iamVjdCwgcGFp
bnRJbmZvLCByZWN0KTsKQEAgLTI4Myw2ICszMDIsNyBAQCBib29sIFJlbmRlck1lZGlhQ29udHJv
bHNDaHJvbWl1bTo6cGFpbnRNZWRpYUNvbnRyb2xzUGFydChNZWRpYUNvbnRyb2xFbGVtZW50VHlw
ZQogICAgIGNhc2UgTWVkaWFTZWVrQmFja0J1dHRvbjoKICAgICBjYXNlIE1lZGlhU2Vla0Zvcndh
cmRCdXR0b246CiAgICAgY2FzZSBNZWRpYVZvbHVtZVNsaWRlckNvbnRhaW5lcjoKKyAgICBjYXNl
IE1lZGlhVGltZWxpbmVDb250YWluZXI6CiAgICAgY2FzZSBNZWRpYUN1cnJlbnRUaW1lRGlzcGxh
eToKICAgICBjYXNlIE1lZGlhVGltZVJlbWFpbmluZ0Rpc3BsYXk6CiAgICAgY2FzZSBNZWRpYUNv
bnRyb2xzUGFuZWw6CkBAIC0zMDEsMjQgKzMyMSw3NCBAQCBib29sIFJlbmRlck1lZGlhQ29udHJv
bHNDaHJvbWl1bTo6cGFpbnRNZWRpYUNvbnRyb2xzUGFydChNZWRpYUNvbnRyb2xFbGVtZW50VHlw
ZQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorY29uc3QgaW50IG1lZGlhU2xpZGVyVGh1bWJXaWR0
aCA9IDMyOworY29uc3QgaW50IG1lZGlhU2xpZGVyVGh1bWJIZWlnaHQgPSAyNDsKK2NvbnN0IGlu
dCBtZWRpYVZvbHVtZVNsaWRlclRodW1iSGVpZ2h0ID0gMjQ7CisKIHZvaWQgUmVuZGVyTWVkaWFD
b250cm9sc0Nocm9taXVtOjphZGp1c3RNZWRpYVNsaWRlclRodW1iU2l6ZShSZW5kZXJTdHlsZSog
c3R5bGUpCiB7Ci0gICAgc3RhdGljIEltYWdlKiBtZWRpYVNsaWRlclRodW1iID0gcGxhdGZvcm1S
ZXNvdXJjZSgibWVkaWFTbGlkZXJUaHVtYiIpOwotICAgIHN0YXRpYyBJbWFnZSogbWVkaWFWb2x1
bWVTbGlkZXJUaHVtYiA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhVm9sdW1lU2xpZGVyVGh1bWIi
KTsKKyAgICBzdGF0aWMgSW1hZ2UqIG1lZGlhU2xpZGVyVGh1bWIgPSBwbGF0Zm9ybVJlc291cmNl
KCJtZWRpYXBsYXllclNsaWRlclRodW1iIik7CisgICAgc3RhdGljIEltYWdlKiBtZWRpYVZvbHVt
ZVNsaWRlclRodW1iID0gcGxhdGZvcm1SZXNvdXJjZSgibWVkaWFwbGF5ZXJWb2x1bWVTbGlkZXJU
aHVtYiIpOworICAgIGludCB3aWR0aCA9IDA7CisgICAgaW50IGhlaWdodCA9IDA7CiAKICAgICBJ
bWFnZSogdGh1bWJJbWFnZSA9IDA7Ci0gICAgaWYgKHN0eWxlLT5hcHBlYXJhbmNlKCkgPT0gTWVk
aWFTbGlkZXJUaHVtYlBhcnQpCisgICAgaWYgKHN0eWxlLT5hcHBlYXJhbmNlKCkgPT0gTWVkaWFT
bGlkZXJUaHVtYlBhcnQpIHsKICAgICAgICAgdGh1bWJJbWFnZSA9IG1lZGlhU2xpZGVyVGh1bWI7
Ci0gICAgZWxzZSBpZiAoc3R5bGUtPmFwcGVhcmFuY2UoKSA9PSBNZWRpYVZvbHVtZVNsaWRlclRo
dW1iUGFydCkKKyAgICAgICAgd2lkdGggPSBtZWRpYVNsaWRlclRodW1iV2lkdGg7CisgICAgICAg
IGhlaWdodCA9IG1lZGlhU2xpZGVyVGh1bWJIZWlnaHQ7CisgICAgfSBlbHNlIGlmIChzdHlsZS0+
YXBwZWFyYW5jZSgpID09IE1lZGlhVm9sdW1lU2xpZGVyVGh1bWJQYXJ0KSB7CiAgICAgICAgIHRo
dW1iSW1hZ2UgPSBtZWRpYVZvbHVtZVNsaWRlclRodW1iOworICAgICAgICB3aWR0aCA9IG1lZGlh
Vm9sdW1lU2xpZGVyVGh1bWJXaWR0aDsKKyAgICAgICAgaGVpZ2h0ID0gbWVkaWFWb2x1bWVTbGlk
ZXJUaHVtYkhlaWdodDsKKyAgICB9CiAKICAgICBmbG9hdCB6b29tTGV2ZWwgPSBzdHlsZS0+ZWZm
ZWN0aXZlWm9vbSgpOwogICAgIGlmICh0aHVtYkltYWdlKSB7Ci0gICAgICAgIHN0eWxlLT5zZXRX
aWR0aChMZW5ndGgoc3RhdGljX2Nhc3Q8aW50Pih0aHVtYkltYWdlLT53aWR0aCgpICogem9vbUxl
dmVsKSwgRml4ZWQpKTsKLSAgICAgICAgc3R5bGUtPnNldEhlaWdodChMZW5ndGgoc3RhdGljX2Nh
c3Q8aW50Pih0aHVtYkltYWdlLT5oZWlnaHQoKSAqIHpvb21MZXZlbCksIEZpeGVkKSk7CisgICAg
ICAgIHN0eWxlLT5zZXRXaWR0aChMZW5ndGgoc3RhdGljX2Nhc3Q8aW50Pih3aWR0aCAqIHpvb21M
ZXZlbCksIEZpeGVkKSk7CisgICAgICAgIHN0eWxlLT5zZXRIZWlnaHQoTGVuZ3RoKHN0YXRpY19j
YXN0PGludD4oaGVpZ2h0ICogem9vbUxldmVsKSwgRml4ZWQpKTsKICAgICB9CiB9CiAKK3N0YXRp
YyBTdHJpbmcgZm9ybWF0Q2hyb21pdW1NZWRpYUNvbnRyb2xzVGltZShmbG9hdCB0aW1lLCBmbG9h
dCBkdXJhdGlvbikKK3sKKyAgICBpZiAoIWlzZmluaXRlKHRpbWUpKQorICAgICAgICB0aW1lID0g
MDsKKyAgICBpZiAoIWlzZmluaXRlKGR1cmF0aW9uKSkKKyAgICAgICAgZHVyYXRpb24gPSAwOwor
ICAgIGludCBzZWNvbmRzID0gKGludClmYWJzZih0aW1lKTsKKyAgICBpbnQgaG91cnMgPSBzZWNv
bmRzIC8gKDYwICogNjApOworICAgIGludCBtaW51dGVzID0gKHNlY29uZHMgLyA2MCkgJSA2MDsK
KyAgICBzZWNvbmRzICU9IDYwOworCisgICAgLy8gZHVyYXRpb24gZGVmaW5lcyB0aGUgZm9ybWF0
IG9mIGhvdyB0aGUgdGltZSBpcyByZW5kZXJlZAorICAgIGludCBkdXJhdGlvblNlY3MgPSAoaW50
KWZhYnNmKGR1cmF0aW9uKTsKKyAgICBpbnQgZHVyYXRpb25Ib3VycyA9IGR1cmF0aW9uU2VjcyAv
ICg2MCAqIDYwKTsKKyAgICBpbnQgZHVyYXRpb25NaW5zID0gKGR1cmF0aW9uU2VjcyAvIDYwKSAl
IDYwOworCisgICAgaWYgKGR1cmF0aW9uSG91cnMgfHwgaG91cnMpCisgICAgICAgIHJldHVybiBT
dHJpbmc6OmZvcm1hdCgiJXMlMDFkOiUwMmQ6JTAyZCIsICh0aW1lIDwgMCA/ICItIiA6ICIiKSwg
aG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpOworICAgIGlmIChkdXJhdGlvbk1pbnMgPiA5KQorICAg
ICAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoIiVzJTAyZDolMDJkIiwgKHRpbWUgPCAwID8gIi0i
IDogIiIpLCBtaW51dGVzLCBzZWNvbmRzKTsKKworICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgi
JXMlMDFkOiUwMmQiLCAodGltZSA8IDAgPyAiLSIgOiAiIiksIG1pbnV0ZXMsIHNlY29uZHMpOwor
fQorCitTdHJpbmcgUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtOjpmb3JtYXRNZWRpYUNvbnRy
b2xzVGltZShmbG9hdCB0aW1lKQoreworICAgIHJldHVybiBmb3JtYXRDaHJvbWl1bU1lZGlhQ29u
dHJvbHNUaW1lKHRpbWUsIHRpbWUpOworfQorCitTdHJpbmcgUmVuZGVyTWVkaWFDb250cm9sc0No
cm9taXVtOjpmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRpbWUoZmxvYXQgY3VycmVudFRpbWUs
IGZsb2F0IGR1cmF0aW9uKQoreworICAgIHJldHVybiBmb3JtYXRDaHJvbWl1bU1lZGlhQ29udHJv
bHNUaW1lKGN1cnJlbnRUaW1lLCBkdXJhdGlvbik7Cit9CisKK1N0cmluZyBSZW5kZXJNZWRpYUNv
bnRyb2xzQ2hyb21pdW06OmZvcm1hdE1lZGlhQ29udHJvbHNSZW1haW5pbmdUaW1lKGZsb2F0IGN1
cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikKK3sKKyAgICByZXR1cm4gZm9ybWF0Q2hyb21pdW1N
ZWRpYUNvbnRyb2xzVGltZShjdXJyZW50VGltZSAtIGR1cmF0aW9uLCBkdXJhdGlvbik7Cit9CisK
ICNlbmRpZiAgLy8gI2lmIEVOQUJMRShWSURFTykKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHND
aHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHND
aHJvbWl1bS5oCmluZGV4IDlhZjkzOTYwZmZlZmNjZTk5YWYxMjY0Mzg0ZWQzMzQxNmEyZDlmNjEu
LmE2N2E0MTM5YTZkNDBhM2QzNjQyOTk2ODVmMjE4ZjNlMGI2NzdmYmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmgK
QEAgLTM4LDYgKzM4LDEwIEBAIGNsYXNzIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bSB7CiBw
dWJsaWM6CiAgICAgc3RhdGljIGJvb2wgcGFpbnRNZWRpYUNvbnRyb2xzUGFydChNZWRpYUNvbnRy
b2xFbGVtZW50VHlwZSwgUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50
UmVjdCYpOwogICAgIHN0YXRpYyB2b2lkIGFkanVzdE1lZGlhU2xpZGVyVGh1bWJTaXplKFJlbmRl
clN0eWxlKik7CisgICAgc3RhdGljIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzVGltZShmbG9h
dCB0aW1lKTsKKyAgICBzdGF0aWMgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGlt
ZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pOworICAgIHN0YXRpYyBTdHJpbmcg
Zm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0
IGR1cmF0aW9uKTsKKwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRleCA4MTY3YmE4MmY4ZmMxNmQwZjg4OTcxMWU0MmZm
ZmFjNGU5NDU4OTk5Li41ZTU2YjZkZjUwZWNmYjAzZTVkMTEyOWFkZjk2Nzc0N2YzYTNlNzJmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtMTk4LDYgKzE5OCw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaGFzT3duRGlzYWJsZWRTdGF0ZUhhbmRsaW5nRm9y
KENvbnRyb2xQYXJ0KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCB1
c2VzTWVkaWFDb250cm9sU3RhdHVzRGlzcGxheSgpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmly
dHVhbCBib29sIHVzZXNNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXIoKSBjb25zdCB7IHJldHVybiB0
cnVlOyB9CisgICAgdmlydHVhbCBib29sIHVzZXNWZXJ0aWNhbFZvbHVtZVNsaWRlcigpIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGRvdWJsZSBtZWRpYUNvbnRyb2xzRmFkZUlu
RHVyYXRpb24oKSB7IHJldHVybiAwLjE7IH0KICAgICB2aXJ0dWFsIGRvdWJsZSBtZWRpYUNvbnRy
b2xzRmFkZU91dER1cmF0aW9uKCkgeyByZXR1cm4gMC4zOyB9CiAgICAgdmlydHVhbCBTdHJpbmcg
Zm9ybWF0TWVkaWFDb250cm9sc1RpbWUoZmxvYXQgdGltZSkgY29uc3Q7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMuaAppbmRleCAyYjRjOGM2
MzVjYzIyM2MxODNiNTE4YjEyY2VhZWVmNTJmYWIwYzQzLi45NzMyOTlhMzE5MWYzN2JlNTY0NTQx
YmFhYzY3MmEwNjlmNDNkZTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtTWFjLmgKQEAgLTQyLDcgKzQyLDYgQEAgcHJvdGVjdGVkOgogICAg
IHZpcnR1YWwgYm9vbCBwYWludE1lZGlhUGxheUJ1dHRvbihSZW5kZXJPYmplY3QqLCBjb25zdCBQ
YWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAgICAgdmlydHVhbCBib29sIHBhaW50TWVkaWFN
dXRlQnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3Qm
KTsKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZWRpYVNsaWRlclRyYWNrKFJlbmRlck9iamVjdCos
IGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKLSAgICB2aXJ0dWFsIGJvb2wgcGFp
bnRNZWRpYUNvbnRyb2xzQmFja2dyb3VuZChSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8m
LCBjb25zdCBJbnRSZWN0Jik7CiAgICAgdmlydHVhbCBTdHJpbmcgZXh0cmFNZWRpYUNvbnRyb2xz
U3R5bGVTaGVldCgpOwogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICB2aXJ0dWFsIFN0
cmluZyBleHRyYUZ1bGxTY3JlZW5TdHlsZVNoZWV0KCk7CkBAIC01NSw2ICs1NCwxMSBAQCBwcm90
ZWN0ZWQ6CiAgICAgdmlydHVhbCBJbnRQb2ludCB2b2x1bWVTbGlkZXJPZmZzZXRGcm9tTXV0ZUJ1
dHRvbihSZW5kZXJCb3gqLCBjb25zdCBJbnRTaXplJikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCBib29sIHVzZXNNZWRpYUNvbnRyb2xTdGF0dXNEaXNwbGF5KCkgeyByZXR1cm4gZmFsc2U7
IH0KICAgICB2aXJ0dWFsIGJvb2wgaGFzT3duRGlzYWJsZWRTdGF0ZUhhbmRsaW5nRm9yKENvbnRy
b2xQYXJ0KSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBib29sIHVzZXNWZXJ0
aWNhbFZvbHVtZVNsaWRlcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBT
dHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1RpbWUoZmxvYXQgdGltZSkgY29uc3Q7CisgICAgdmly
dHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRU
aW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CisgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVk
aWFDb250cm9sc1JlbWFpbmluZ1RpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9u
KSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24oUmVu
ZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwogI2VuZGlmCiAK
ICAgICB2aXJ0dWFsIGJvb2wgdXNlc1Rlc3RNb2RlRm9jdXNSaW5nQ29sb3IoKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFj
Lm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMubW0K
aW5kZXggYTc3ODIyOGM1NTIyZDZjMDI5NDI3MWVmMzdhOWI0NmM0MGNlZDU0Zi4uMTc5MWIwOWFi
NjUyOGExNWZkNTNmOTRhODk3ZTk4MjUzN2VkMzcwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMubW0KQEAgLTE3MywxMSArMTczLDYg
QEAgYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpwYWludE1lZGlhU2xpZGVyVHJhY2soUmVu
ZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFAKICAgICByZXR1cm4gUmVuZGVyTWVkaWFDb250cm9s
c0Nocm9taXVtOjpwYWludE1lZGlhQ29udHJvbHNQYXJ0KE1lZGlhU2xpZGVyLCBvYmplY3QsIHBh
aW50SW5mbywgcmVjdCk7CiB9CiAKLWJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRN
ZWRpYUNvbnRyb2xzQmFja2dyb3VuZChSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJ
bmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCi17Ci0gICAgcmV0dXJuIFJlbmRl
ck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6cGFpbnRNZWRpYUNvbnRyb2xzUGFydChNZWRpYVRpbWVs
aW5lQ29udGFpbmVyLCBvYmplY3QsIHBhaW50SW5mbywgcmVjdCk7Ci19Ci0KIFN0cmluZyBSZW5k
ZXJUaGVtZUNocm9taXVtTWFjOjpleHRyYU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkKIHsKICAg
ICByZXR1cm4gU3RyaW5nKG1lZGlhQ29udHJvbHNDaHJvbWl1bVVzZXJBZ2VudFN0eWxlU2hlZXQs
IHNpemVvZihtZWRpYUNvbnRyb2xzQ2hyb21pdW1Vc2VyQWdlbnRTdHlsZVNoZWV0KSk7CkBAIC0y
MjgsNiArMjIzLDI2IEBAIEludFBvaW50IFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnZvbHVtZVNs
aWRlck9mZnNldEZyb21NdXRlQnV0dG9uKFJlbmRlckJveCogbXV0CiB7CiAgICAgcmV0dXJuIFJl
bmRlclRoZW1lOjp2b2x1bWVTbGlkZXJPZmZzZXRGcm9tTXV0ZUJ1dHRvbihtdXRlQnV0dG9uQm94
LCBzaXplKTsKIH0KKworU3RyaW5nIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OmZvcm1hdE1lZGlh
Q29udHJvbHNUaW1lKGZsb2F0IHRpbWUpIGNvbnN0Cit7CisgICAgcmV0dXJuIFJlbmRlck1lZGlh
Q29udHJvbHNDaHJvbWl1bTo6Zm9ybWF0TWVkaWFDb250cm9sc1RpbWUodGltZSk7Cit9CisKK1N0
cmluZyBSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRp
bWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdAoreworICAgIHJldHVy
biBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OmZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50
VGltZShjdXJyZW50VGltZSwgZHVyYXRpb24pOworfQorCitTdHJpbmcgUmVuZGVyVGhlbWVDaHJv
bWl1bU1hYzo6Zm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUoZmxvYXQgY3VycmVudFRp
bWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdAoreworICAgIHJldHVybiBSZW5kZXJUaGVtZUNocm9t
aXVtTWFjOjpmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWluaW5nVGltZShjdXJyZW50VGltZSwgZHVy
YXRpb24pOworfQorCitib29sIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFGdWxs
c2NyZWVuQnV0dG9uKFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQYWludEluZm8mIHBhaW50
SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCkKK3sKKyAgICByZXR1cm4gUmVuZGVyTWVkaWFDb250
cm9sc0Nocm9taXVtOjpwYWludE1lZGlhQ29udHJvbHNQYXJ0KE1lZGlhRW50ZXJGdWxsc2NyZWVu
QnV0dG9uLCBvYmplY3QsIHBhaW50SW5mbywgcmVjdCk7Cit9CiAjZW5kaWYKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lQ2hyb21pdW1Ta2lhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUNocm9taXVtU2tpYS5jcHAKaW5kZXggN2FkMmMxMmMzNTA0MWQ4MTllMzdlM2FkOWI2NWFi
ZDI3ZGI2M2I4NS4uNzFmZDA5MTJmNmI1MWZhYTBhN2E1YzliZDMyZGM2ZGQ3NDE3ZTIyNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lh
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNr
aWEuY3BwCkBAIC0zNzgsMTggKzM3OCw2IEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6
OnBhaW50U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uKFJlbmRlck9iamVjdCogbWFnbmlmCiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCi1ib29sIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjpwYWludE1l
ZGlhQ29udHJvbHNCYWNrZ3JvdW5kKFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQYWludElu
Zm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCkKLXsKLSNpZiBFTkFCTEUoVklERU8p
Ci0gICAgcmV0dXJuIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6cGFpbnRNZWRpYUNvbnRy
b2xzUGFydChNZWRpYVRpbWVsaW5lQ29udGFpbmVyLCBvYmplY3QsIHBhaW50SW5mbywgcmVjdCk7
Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShvYmplY3QpOwotICAgIFVOVVNFRF9QQVJBTShwYWlu
dEluZm8pOwotICAgIFVOVVNFRF9QQVJBTShyZWN0KTsKLSAgICByZXR1cm4gZmFsc2U7Ci0jZW5k
aWYKLX0KLQogYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6cGFpbnRNZWRpYVNsaWRlclRy
YWNrKFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29u
c3QgSW50UmVjdCYgcmVjdCkKIHsKICNpZiBFTkFCTEUoVklERU8pCkBAIC00NzEsNiArNDU5LDUw
IEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6OnBhaW50TWVkaWFNdXRlQnV0dG9uKFJl
bmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQCiAjZW5kaWYKIH0KIAorU3RyaW5nIGZvcm1hdE1l
ZGlhQ29udHJvbHNUaW1lKGZsb2F0IHRpbWUpIGNvbnN0Cit7CisjaWYgRU5BQkxFKFZJREVPKQor
ICAgIHJldHVybiBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OmZvcm1hdE1lZGlhQ29udHJv
bHNUaW1lKHRpbWUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0odGltZSk7CisgICAgcmV0dXJu
IDA7CisjZW5kaWYKK30KKworU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGltZShm
bG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0Cit7CisjaWYgRU5BQkxFKFZJ
REVPKQorICAgIHJldHVybiBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OmZvcm1hdE1lZGlh
Q29udHJvbHNDdXJyZW50VGltZShjdXJyZW50VGltZSwgZHVyYXRpb24pOworI2Vsc2UKKyAgICBV
TlVTRURfUEFSQU0oY3VycmVudFRpbWUpOworICAgIFVOVVNFRF9QQVJBTShkdXJhdGlvbik7Cisg
ICAgcmV0dXJuIDA7CisjZW5kaWYKK30KKworU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNSZW1h
aW5pbmdUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3QKK3sKKyNp
ZiBFTkFCTEUoVklERU8pCisgICAgcmV0dXJuIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6
Zm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUoY3VycmVudFRpbWUsIGR1cmF0aW9uKTsK
KyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGN1cnJlbnRUaW1lKTsKKyAgICBVTlVTRURfUEFSQU0o
ZHVyYXRpb24pOworICAgIHJldHVybiAwOworI2VuZGlmCit9CisKK2Jvb2wgUmVuZGVyVGhlbWVD
aHJvbWl1bVNraWE6OnBhaW50TWVkaWFGdWxsc2NyZWVuQnV0dG9uKFJlbmRlck9iamVjdCogb2Jq
ZWN0LCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCkKK3sK
KyNpZiBFTkFCTEUoVklERU8pCisgICAgcmV0dXJuIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1
bTo6cGFpbnRNZWRpYUNvbnRyb2xzUGFydChNZWRpYUVudGVyRnVsbHNjcmVlbkJ1dHRvbiwgb2Jq
ZWN0LCBwYWludEluZm8sIHJlY3QpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ob2JqZWN0KTsK
KyAgICBVTlVTRURfUEFSQU0ocGFpbnRJbmZvKTsKKyAgICBVTlVTRURfUEFSQU0ocmVjdCk7Cisg
ICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKIHZvaWQgUmVuZGVyVGhlbWVDaHJvbWl1bVNr
aWE6OmFkanVzdE1lbnVMaXN0U3R5bGUoU3R5bGVSZXNvbHZlciosIFJlbmRlclN0eWxlKiBzdHls
ZSwgV2ViQ29yZTo6RWxlbWVudCopIGNvbnN0CiB7CiAgICAgLy8gSGVpZ2h0IGlzIGxvY2tlZCB0
byBhdXRvIG9uIGFsbCBicm93c2Vycy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmgKaW5kZXggMjg5ODkzZTMxMzE3ODIwMTRmMTM1MGI3
NDY1NjA5ODZmNmRmM2NiNy4uY2JhYTY1MmYzMWY1MzdlZDk2OGUzYWVjZDc4YjMyMGJmMDhmMjk2
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21p
dW1Ta2lhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21p
dW1Ta2lhLmgKQEAgLTkxLDcgKzkxLDYgQEAgY2xhc3MgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEg
OiBwdWJsaWMgUmVuZGVyVGhlbWUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0U2VhcmNo
RmllbGRSZXN1bHRzQnV0dG9uU3R5bGUoU3R5bGVSZXNvbHZlciosIFJlbmRlclN0eWxlKiwgRWxl
bWVudCopIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRTZWFyY2hGaWVsZFJlc3Vs
dHNCdXR0b24oUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYp
OwogCi0gICAgICAgIHZpcnR1YWwgYm9vbCBwYWludE1lZGlhQ29udHJvbHNCYWNrZ3JvdW5kKFJl
bmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKICAgICAgICAg
dmlydHVhbCBib29sIHBhaW50TWVkaWFTbGlkZXJUcmFjayhSZW5kZXJPYmplY3QqLCBjb25zdCBQ
YWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBwYWludE1l
ZGlhVm9sdW1lU2xpZGVyVHJhY2soUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29u
c3QgSW50UmVjdCYpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0U2xpZGVyVGh1bWJTaXpl
KFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwpAQCAtOTksNiArOTgsMTAgQEAgY2xhc3Mg
UmVuZGVyVGhlbWVDaHJvbWl1bVNraWEgOiBwdWJsaWMgUmVuZGVyVGhlbWUgewogICAgICAgICB2
aXJ0dWFsIGJvb2wgcGFpbnRNZWRpYVZvbHVtZVNsaWRlclRodW1iKFJlbmRlck9iamVjdCosIGNv
bnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKICAgICAgICAgdmlydHVhbCBib29sIHBh
aW50TWVkaWFQbGF5QnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0
IEludFJlY3QmKTsKICAgICAgICAgdmlydHVhbCBib29sIHBhaW50TWVkaWFNdXRlQnV0dG9uKFJl
bmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKKyAgICAgICAg
dmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1RpbWUoZmxvYXQgdGltZSkgY29uc3Q7
CisgICAgICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGltZShm
bG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0OworICAgICAgICB2aXJ0dWFs
IFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWluaW5nVGltZShmbG9hdCBjdXJyZW50VGlt
ZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0OworICAgICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZWRp
YUZ1bGxzY3JlZW5CdXR0b24oUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3Qg
SW50UmVjdCYpOwogCiAgICAgICAgIC8vIE1lbnVMaXN0IHJlZmVycyB0byBhbiB1bnN0eWxlZCBt
ZW51bGlzdCAobWVhbmluZyBhIG1lbnVsaXN0IHdpdGhvdXQKICAgICAgICAgLy8gYmFja2dyb3Vu
ZC1jb2xvciBvciBib3JkZXIgc2V0KSBhbmQgTWVudUxpc3RCdXR0b24gcmVmZXJzIHRvIGEgc3R5
bGVkCkBAIC0xMjcsNiArMTMwLDcgQEAgY2xhc3MgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEgOiBw
dWJsaWMgUmVuZGVyVGhlbWUgewogI2lmIEVOQUJMRShWSURFTykKICAgICAgICAgLy8gTWVkaWEg
Y29udHJvbHMKICAgICAgICAgdmlydHVhbCBib29sIGhhc093bkRpc2FibGVkU3RhdGVIYW5kbGlu
Z0ZvcihDb250cm9sUGFydCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorICAgICAgICB2aXJ0dWFs
IGJvb2wgdXNlc1ZlcnRpY2FsVm9sdW1lU2xpZGVyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
ICNlbmRpZgogCiAgICAgICAgIC8vIFByb3ZpZGUgYSB3YXkgdG8gcGFzcyB0aGUgZGVmYXVsdCBm
b250IHNpemUgZnJvbSB0aGUgU2V0dGluZ3Mgb2JqZWN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDhhZGM4MzY5ZTM1N2Y3
NTUxNTUzZjIzZGZhNzU0MjFkZGY1ZGY0ZC4uZDA5ZDk2MWUxMzc0YmY4ODI4ZjA4NGI4YWEyMzk5
Yjc2MThlOTk3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA2LTA1ICBTaWx2aWEgUGZl
aWZmZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2hhbmdlIHRoZSB2b2x1
bWUgc2xpZGVyIHRvIGhvcml6b250YWwgcmVuZGVyaW5nIGZvciBDaHJvbWUgdmlkZW8gY29udHJv
bHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IENocm9tZSB2aWRlbyBjb250cm9scyBhcmUgcmVjZWl2aW5nIGEgdmlzdWFsIHVwZGF0ZS4gVGhl
IHZvbHVtZSBzbGlkZXIgaXMgaW5jbHVkZWQgaW50bworICAgICAgICB0aGUgY29udHJvbHMgd2l0
aCBob3Jpem9udGFsIHJlbmRlcmluZywgdGhlIHZvbHVtZSBzbGlkZXIgY29udGFpbmVyIGlzIHJl
bW92ZWQuIFRoZSB2aXN1YWwKKyAgICAgICAgdXBkYXRlIGl0c2VsZiBpcyBpbiBhIHNlcGFyYXRl
IHBhdGNoLgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczoK
KyAgICAgICAgVGVtcG9yYXJpbHkgc2tpcCB0ZXN0cyByZWxhdGVkIHRvIHZvbHVtZSBjb250cm9s
cyByZW5kZXJpbmcgZm9yIENocm9taXVtLgorCisyMDEyLTA1LTI4ICBTaWx2aWEgUGZlaWZmZXIg
IDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW50cm9kdWNlIGFuIEVuY2xvc3Vy
ZSBFbGVtZW50IGZvciBDaHJvbWl1bSB2aWRlbyBjb250cm9scy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3NjgzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGZ1bGxzY3JlZW4vdmlkZW8tY29u
dHJvbHMtb3ZlcnJpZGUuaHRtbCwgbWVkaWEvbWVkaWEtY29udHJvbHMtaW52YWxpZC11cmwuaHRt
bCBhbmQKKyAgICAgICAgbWVkaWEvdHJhY2svdHJhY2stY3VlLXJlbmRlcmluZy1zbmFwLXRvLWxp
bmVzLW5vdC1zZXQuaHRtbCB0byBkZWFsIHdpdGggdGhlIG5ldyBlbmNsb3N1cmUKKyAgICAgICAg
ZGl2IGluIENocm9taXVtIGNvbnRyb2xzIGFuZCB1c2UgdGhlIG1lZGlhQ29udHJvbHNFbGVtZW50
KCkgaGVscGVyIGZ1bmN0aW9uIHRvIGZpbmQgZWxlbWVudHMKKyAgICAgICAgaW5zaWRlIHRoZSBj
b250cm9scy4KKyAgICAgICAgRmFpbCB2aWRlbyBjb250cm9scyB0ZXN0cyBpbiB0ZXN0IGV4cGVj
dGF0aW9ucy4KKworICAgICAgICAqIGZ1bGxzY3JlZW4vdmlkZW8tY29udHJvbHMtb3ZlcnJpZGUt
ZXhwZWN0ZWQudHh0OiBVcGRhdGVkLgorICAgICAgICAqIGZ1bGxzY3JlZW4vdmlkZW8tY29udHJv
bHMtb3ZlcnJpZGUuaHRtbDogVXNlIG1lZGlhQ29udHJvbHNFbGVtZW50IGhlbHBlciBmdW5jdGlv
bi4KKyAgICAgICAgKiBtZWRpYS9tZWRpYS1jb250cm9scy1pbnZhbGlkLXVybC5odG1sOiBVc2Ug
bWVkaWFDb250cm9sc0VsZW1lbnQgaGVscGVyIGZ1bmN0aW9uLgorICAgICAgICAqIG1lZGlhL3Ry
YWNrL3RyYWNrLWN1ZS1yZW5kZXJpbmctc25hcC10by1saW5lcy1ub3Qtc2V0Lmh0bWw6IEhlaWdo
dCBpcyBwcm92aWRlZCBieSBlbmNsb3N1cmUgZWxlbWVudC4KKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOiBGYWlsIHZpZGVvIGNvbnRyb2xzIHRlc3RzLgorCiAy
MDEyLTA2LTEwICBZb3NoaWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgW0Zvcm1zXSBJbnRyb2R1Y2UgRGVjaW1hbCBiZWhpbmQgdGhlIElucHV0TnVtYmVyIHR5cGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vdmlkZW8tY29udHJvbHMtb3ZlcnJp
ZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi92aWRlby1jb250cm9scy1v
dmVycmlkZS1leHBlY3RlZC50eHQKaW5kZXggZjE5MmEzOTE3M2Q1NGQxZDlmNTFiMTQxZGFhNDFl
YmVhMWYyOGYyYS4uMjYzNDhiYjdlOWJlODVkZDQ3ZTM4OWI1MGU2NGMzYTBjNGUwNzIzMCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi92aWRlby1jb250cm9scy1vdmVycmlkZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZnVsbHNjcmVlbi92aWRlby1jb250cm9scy1v
dmVycmlkZS1leHBlY3RlZC50eHQKQEAgLTIsNyArMiw3IEBAIFRoaXMgdGVzdHMgdGhhdCB0aGUg
dmlkZW8gZWxlbWVudCdzICJjb250cm9scyIgYXR0cmlidXRlIGlzIG92ZXJyaWRkZW4gaW4gZnVs
bCBzCiAKIEVWRU5UKHdlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UpCiBFWFBFQ1RFRCAoc2hhZG93Um9v
dCA9IGludGVybmFscy5zaGFkb3dSb290KHZpZGVvKSAhPSAnbnVsbCcpIE9LCi1FWFBFQ1RFRCAo
cGFuZWwgPSBzaGFkb3dSb290LmZpcnN0Q2hpbGQuZmlyc3RDaGlsZCAhPSAnbnVsbCcpIE9LCitF
WFBFQ1RFRCAocGFuZWwgPSBtZWRpYUNvbnRyb2xzRWxlbWVudChzaGFkb3dSb290LmZpcnN0Q2hp
bGQsICctd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVsJykgIT0gJ251bGwnKSBPSwogRVhQRUNU
RUQgKGludGVybmFscy5zaGFkb3dQc2V1ZG9JZChwYW5lbCkgPT0gJy13ZWJraXQtbWVkaWEtY29u
dHJvbHMtcGFuZWwnKSBPSwogRVhQRUNURUQgKGRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1
dGVkU3R5bGUocGFuZWwpWydkaXNwbGF5J10gIT0gJ25vbmUnKSBPSwogRVhQRUNURUQgKGRvY3Vt
ZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUocGFuZWwpWydoZWlnaHQnXSA+PSAnMjBw
eCcpIE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL3ZpZGVvLWNvbnRyb2xz
LW92ZXJyaWRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mdWxsc2NyZWVuL3ZpZGVvLWNvbnRyb2xzLW92
ZXJyaWRlLmh0bWwKaW5kZXggNzIxNGJiYTA3ZmQzMDdjMTIyNWYyZmU1YWYxYjM4YTU3ZGIyMDQy
MS4uNDdmYTRmZTQxYjQ5MDEwODEyY2FjNmEyMDY5NmFkYTRiYmJmMmU5MSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZnVsbHNjcmVlbi92aWRlby1jb250cm9scy1vdmVycmlkZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Z1bGxzY3JlZW4vdmlkZW8tY29udHJvbHMtb3ZlcnJpZGUuaHRtbApAQCAt
Miw2ICsyLDcgQEAKICAgICA8cD5UaGlzIHRlc3RzIHRoYXQgdGhlIHZpZGVvIGVsZW1lbnQncyAi
Y29udHJvbHMiIGF0dHJpYnV0ZSBpcyBvdmVycmlkZGVuIGluIGZ1bGwgc2NyZWVuIG1vZGUsIGFu
ZCB0aGF0IHRoZSBjb250cm9scyBhcmUgY29ycmVjdGx5IGhpZGRlbiB1cG9uIGV4aXRpbmcgZnVs
bCBzY3JlZW4uICBQcmVzcyBhbnkga2V5IHRvIGNvbnRpbnVlLjwvcD4KICAgICA8dmlkZW8gaWQ9
InZpZGVvIiB3aWR0aD0iMzAwIj48L3ZpZGVvPgogICAgIDxzY3JpcHQgc3JjPSJmdWxsLXNjcmVl
bi10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vbWVkaWEvbWVkaWEtY29u
dHJvbHMuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQ+CiAgICAgICAgIHZhciBjYWxsYmFjazsK
ICAgICAgICAgdmFyIHNoYWRvd1Jvb3Q7CkBAIC0xOSw3ICsyMCw3IEBACiAgICAgICAgIHZhciB2
aWRlb0VudGVyZWRGdWxsU2NyZWVuID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICBpZiAod2lu
ZG93LmludGVybmFscykgewogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgic2hhZG93Um9v
dCA9IGludGVybmFscy5zaGFkb3dSb290KHZpZGVvKSIsIG51bGwsICIhPSIpOwotICAgICAgICAg
ICAgICAgIHRlc3RFeHBlY3RlZCgicGFuZWwgPSBzaGFkb3dSb290LmZpcnN0Q2hpbGQuZmlyc3RD
aGlsZCIsIG51bGwsICIhPSIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgicGFuZWwg
PSBtZWRpYUNvbnRyb2xzRWxlbWVudChzaGFkb3dSb290LmZpcnN0Q2hpbGQsICctd2Via2l0LW1l
ZGlhLWNvbnRyb2xzLXBhbmVsJykiLCBudWxsLCAiIT0iKTsKICAgICAgICAgICAgICAgICB0ZXN0
RXhwZWN0ZWQoImludGVybmFscy5zaGFkb3dQc2V1ZG9JZChwYW5lbCkiLCAiLXdlYmtpdC1tZWRp
YS1jb250cm9scy1wYW5lbCIpOwogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiZG9jdW1l
bnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShwYW5lbClbJ2Rpc3BsYXknXSIsICdub25l
JywgIiE9Iik7CiAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJkb2N1bWVudC5kZWZhdWx0
Vmlldy5nZXRDb21wdXRlZFN0eWxlKHBhbmVsKVsnaGVpZ2h0J10iLCAnMjBweCcsICI+PSIpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY29udHJvbHMtaW52YWxpZC11cmwu
aHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNvbnRyb2xzLWludmFsaWQtdXJsLmh0bWwK
aW5kZXggODI4NjVlZGRlZTcyY2IyMTUwZGE4OTE2ODY2NjIyMDMwYmFkZWQ3NC4uY2RmNjRjZmQ0
YzVjMTNiY2VmZjZmOGYyM2JjNjc0ZWEyZjlkNTNkZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
bWVkaWEvbWVkaWEtY29udHJvbHMtaW52YWxpZC11cmwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9t
ZWRpYS9tZWRpYS1jb250cm9scy1pbnZhbGlkLXVybC5odG1sCkBAIC0zLDYgKzMsNyBAQAogICAg
IDxoZWFkPgogICAgICAgICA8c2NyaXB0IHNyYz1tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgogICAg
ICAgICA8c2NyaXB0IHNyYz12aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
IHNyYz1tZWRpYS1jb250cm9scy5qcz48L3NjcmlwdD4KICAgICAgICAgPHNjcmlwdD4KICAgICAg
ICAgICAgIHZhciB2aWRlbzsKIApAQCAtMTgsMjkgKzE5LDE1IEBACiAKICAgICAgICAgICAgIGZ1
bmN0aW9uIGdldFRpbWVMaW5lVmFsdWUoKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IHZhciB0aW1lbGluZUNvbnRhaW5lcjsKLSAgICAgICAgICAgICAgICB2YXIgdGltZWxpbmVWYWx1
ZTsKKyAgICAgICAgICAgICAgICB2YXIgdGltZWxpbmU7CisgICAgICAgICAgICAgICAgdmFyIHNo
YWRvd1Jvb3QgPSBpbnRlcm5hbHMuc2hhZG93Um9vdCh2aWRlbyk7CiAKLSAgICAgICAgICAgICAg
ICB2YXIgY29udHJvbHNTaGFkb3cgPSBpbnRlcm5hbHMuc2hhZG93Um9vdCh2aWRlbykuZmlyc3RD
aGlsZC5maXJzdENoaWxkOwotICAgICAgICAgICAgICAgIGZvciAoY2hpbGQgPSBjb250cm9sc1No
YWRvdy5maXJzdENoaWxkOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC5uZXh0U2libGluZykKLSAgICAg
ICAgICAgICAgICAgICAgaWYgKGludGVybmFscy5zaGFkb3dQc2V1ZG9JZChjaGlsZCkgPT0gIi13
ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUtY29udGFpbmVyIikgewotICAgICAgICAgICAg
ICAgICAgICAgICAgdGltZWxpbmVDb250YWluZXIgPSBjaGlsZDsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgdGlt
ZWxpbmUgPSBtZWRpYUNvbnRyb2xzRWxlbWVudChzaGFkb3dSb290LmZpcnN0Q2hpbGQuZmlyc3RD
aGlsZCwgJy13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUnKTsKIAotICAgICAgICAgICAg
ICAgIGlmKCF0aW1lbGluZUNvbnRhaW5lcikKLSAgICAgICAgICAgICAgICAgICAgdGhyb3cgIkZh
aWxkIHRvIGZpbmQgLXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lbGluZS1jb250YWluZXIiOwot
Ci0gICAgICAgICAgICAgICAgZm9yIChjaGlsZCA9IHRpbWVsaW5lQ29udGFpbmVyLmZpcnN0Q2hp
bGQ7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLm5leHRTaWJsaW5nKQotICAgICAgICAgICAgICAgICAg
ICBpZiAoaW50ZXJuYWxzLnNoYWRvd1BzZXVkb0lkKGNoaWxkKSA9PSAiLXdlYmtpdC1tZWRpYS1j
b250cm9scy10aW1lbGluZSIpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVsaW5lVmFs
dWUgPSBjaGlsZC52YWx1ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBpZighdGltZWxpbmVDb250YWluZXIp
CisgICAgICAgICAgICAgICAgaWYoIXRpbWVsaW5lKQogICAgICAgICAgICAgICAgICAgICB0aHJv
dyAiRmFpbGQgdG8gZmluZCAtd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWVsaW5lIjsKIAotICAg
ICAgICAgICAgICAgIHJldHVybiB0aW1lbGluZVZhbHVlOworICAgICAgICAgICAgICAgIHJldHVy
biB0aW1lbGluZS52YWx1ZTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgZnVuY3Rpb24g
ZXJyb3IoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stY3VlLXJl
bmRlcmluZy1zbmFwLXRvLWxpbmVzLW5vdC1zZXQuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL3Ry
YWNrL3RyYWNrLWN1ZS1yZW5kZXJpbmctc25hcC10by1saW5lcy1ub3Qtc2V0Lmh0bWwKaW5kZXgg
MjlkNWM4NTcxZjY4Njg3NTNkOWI1MjAzYjFlMTJlOTNhMjQ1NjE4NS4uMjJlYWZlM2U5NTQ0NjM1
NTMxZTBkMjM5YWU0YWI3M2EzM2UyNzE4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEv
dHJhY2svdHJhY2stY3VlLXJlbmRlcmluZy1zbmFwLXRvLWxpbmVzLW5vdC1zZXQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1jdWUtcmVuZGVyaW5nLXNuYXAtdG8tbGlu
ZXMtbm90LXNldC5odG1sCkBAIC04OSw3ICs4OSwxMCBAQAogICAgICAgICAgICAgZmluZE1lZGlh
RWxlbWVudCgpOwogICAgICAgICAgICAgdGVzdFRyYWNrID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigndHJhY2snKTsKICAgICAgICAgICAgIHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoJ3ZpZGVv
JywgJy4uL2NvbnRlbnQvdGVzdCcpOwotICAgICAgICAgICAgY29udHJvbHNQYW5lbEVsZW1lbnQg
PSBtZWRpYUNvbnRyb2xzRWxlbWVudChpbnRlcm5hbHMuc2hhZG93Um9vdCh2aWRlbykuZmlyc3RD
aGlsZCwgJy13ZWJraXQtbWVkaWEtY29udHJvbHMtcGFuZWwnKTsKKworICAgICAgICAgICAgLy8g
SW4gQ2hyb21pdW0gaXQgaXMgdGhlIGVuY2xvc3VyZSBlbGVtZW50LCB3aGljaCBwcm92aWRlcyB0
aGUgY29udHJvbHMgaGVpZ2h0LCBvdGhlcndpc2UgdGhlIHBhbmVsOworICAgICAgICAgICAgLy8g
Ym90aCBhcmUgdGhlIHNlY29uZCBjaGlsZCBpbiB0aGUgc2hhZG93IERPTS4KKyAgICAgICAgICAg
IGNvbnRyb2xzUGFuZWxFbGVtZW50ID0gaW50ZXJuYWxzLnNoYWRvd1Jvb3QodmlkZW8pLmZpcnN0
Q2hpbGQuZmlyc3RDaGlsZDsKIAogICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdjYW5wbGF5dGhy
b3VnaCcsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgIGN1ZURpc3BsYXlDb250YWluZXIg
PSB0ZXh0VHJhY2tEaXNwbGF5RWxlbWVudCh2aWRlbyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3NDdlODk5ZmIzOGM2NjA3MGFiMzI2
YzE1ZjI2Zjc5MjNiMWQ1ZmQ2Li5kZTdjMTk0Nzk0ZWEyMjMwOGEzZWEwNjVlNjdiZTlkZjI0ZmZh
ZjZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTc3MSw2ICs3NzEsMTEgQEAgV09OVEZJWCBTS0lQIDogbWVkaWEvdmlkZW8tc2l6ZS1p
bnRyaW5zaWMtc2NhbGUuaHRtbCA9IFBBU1MKIC8vIERvZXNuJ3QgYXBwbHkgdG8gQ2hyb21pdW0g
KFF1aWNrVGltZS1zcGVjaWZpYyBiZWhhdmlvcikKIFdPTlRGSVggU0tJUCA6IG1lZGlhL3ZpZGVv
LWRvZXMtbm90LWxvb3AuaHRtbCA9IFRJTUVPVVQKIAorLy8gRG9lc24ndCBhcHBseSB0byBDaHJv
bWl1bSBhbnkgbG9uZ2VyIC0gdm9sdW1lIHNsaWRlciBpcyBpbmxpbmUgd2l0aCB2aWRlbyBjb250
cm9scy4KK1dPTlRGSVggU0tJUCA6IG1lZGlhL3ZpZGVvLXZvbHVtZS1zbGlkZXIuaHRtbCA9IEZB
SUwKK1dPTlRGSVggU0tJUCA6IG1lZGlhL21lZGlhLXZvbHVtZS1zbGlkZXItcmVuZGVyZWQtYmVs
b3cuaHRtbCA9IEZBSUwKK1dPTlRGSVggU0tJUCA6IG1lZGlhL21lZGlhLXZvbHVtZS1zbGlkZXIt
cmVuZGVyZWQtbm9ybWFsLmh0bWwgPSBGQUlMCisKIC8vIFF1aWNrVGltZSByZWZlcmVuY2UgbW92
aWVzIG5vdCBzdXBwb3J0ZWQuCiBXT05URklYIFNLSVAgOiBodHRwL3Rlc3RzL21lZGlhL3ZpZGVv
LWNyb3NzLXNpdGUuaHRtbCA9IFBBU1MKIApAQCAtMjk2Niw2ICsyOTcxLDI4IEBAIEJVR1dLNzM4
NjUgOiBtZWRpYS90cmFjay90ZXh0LXRyYWNrLWlzLXJlYWNoYWJsZS5odG1sID0gVEVYVAogQlVH
V0s4MTQwMiBXSU4gOiBtZWRpYS90cmFjay90cmFjay1hY3RpdmUtY3Vlcy5odG1sID0gUEFTUyBU
SU1FT1VUCiBCVUdXSzgzODgyIDogbWVkaWEvdHJhY2svdHJhY2stbW9kZS5odG1sID0gUEFTUyBU
RVhUIFRJTUVPVVQKIAorLy8gTmVlZCByZWJhc2VsaW5lLgorQlVHV0s4NzY4MyA6IGZhc3QvbGF5
ZXJzL3ZpZGVvLWxheWVyLmh0bWwgPSBGQUlMCitCVUdXSzg3NjgzIDogZnVsbHNjcmVlbi9mdWxs
LXNjcmVlbi1zdGFja2luZy1jb250ZXh0Lmh0bWwgPSBGQUlMCitCVUdXSzg3NjgzIDogbWVkaWEv
YXVkaW8tY29udHJvbHMtcmVuZGVyaW5nLmh0bWwgPSBGQUlMCitCVUdXSzg3NjgzIDogbWVkaWEv
YXVkaW8tcmVwYWludC5odG1sID0gRkFJTAorQlVHV0s4NzY4MyA6IG1lZGlhL2NvbnRyb2xzLWFm
dGVyLXJlbG9hZC5odG1sID0gRkFJTAorQlVHV0s4NzY4MyA6IG1lZGlhL2NvbnRyb2xzLWxheW91
dC1kaXJlY3Rpb24uaHRtbCA9IEZBSUwKK0JVR1dLODc2ODMgOiBtZWRpYS9jb250cm9scy1zdHJp
Y3QuaHRtbCA9IEZBSUwKK0JVR1dLODc2ODMgOiBtZWRpYS9jb250cm9scy1zdHlsaW5nLmh0bWwg
PSBGQUlMCitCVUdXSzg3NjgzIDogbWVkaWEvY29udHJvbHMtd2l0aG91dC1wcmVsb2FkLmh0bWwg
PSBGQUlMCitCVUdXSzg3NjgzIDogbWVkaWEvbWVkaWEtY29udHJvbHMtY2xvbmUuaHRtbCA9IEZB
SUwKK0JVR1dLODc2ODMgOiBtZWRpYS9tZWRpYS1kb2N1bWVudC1hdWRpby1yZXBhaW50Lmh0bWwg
PSBGQUlMCitCVUdXSzg3NjgzIDogbWVkaWEvdmlkZW8tY29udHJvbHMtcmVuZGVyaW5nLmh0bWwg
PSBGQUlMCitCVUdXSzg3NjgzIDogbWVkaWEvdmlkZW8tZGlzcGxheS10b2dnbGUuaHRtbCA9IEZB
SUwKK0JVR1dLODc2ODMgOiBtZWRpYS92aWRlby1lbXB0eS1zb3VyY2UuaHRtbCA9IEZBSUwKK0JV
R1dLODc2ODMgOiBtZWRpYS92aWRlby1uby1hdWRpby5odG1sID0gRkFJTAorQlVHV0s4NzY4MyA6
IG1lZGlhL3ZpZGVvLXBsYXlpbmctYW5kLXBhdXNlLmh0bWwgPSBGQUlMCitCVUdXSzg3NjgzIDog
bWVkaWEvdmlkZW8tem9vbS1jb250cm9scy5odG1sID0gRkFJTAorQlVHV0s4NzgzNSA6IGh0dHAv
dGVzdHMvbWVkaWEvdmlkZW8tYnVmZmVyZWQtcmFuZ2UtY29udGFpbnMtY3VycmVudFRpbWUuaHRt
bCA9IEZBSUwKKworQlVHV0s3MjI3MSBTTk9XTEVPUEFSRCBERUJVRyA6IGZhc3QvZG9tL25vZGUt
aXRlcmF0b3ItcmVmZXJlbmNlLW5vZGUtbW92ZWQtY3Jhc2guaHRtbCA9IFBBU1MgQ1JBU0gKKwog
QlVHV0s3MjM3NiBXSU4gOiBmYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS1sYWJlbC5odG1sID0g
VEVYVCBQQVNTCiAKIC8vIEFuaW1hdGlvbnMgdGVzdHMgdXNlIGFuIGluaGVyZW50bHktZmxha3kg
dGltZXItYmFzZWQgZGVzaWduLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147003</attachid>
            <date>2012-06-11 20:46:51 -0700</date>
            <delta_ts>2012-06-12 09:20:44 -0700</delta_ts>
            <desc>Use this for review</desc>
            <filename>patch7.diff</filename>
            <type>text/plain</type>
            <size>16499</size>
            <attacher name="Silvia Pfeiffer">silviapf</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5MzlhZTJlLi44ZWExMWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzAg
QEAKKzIwMTItMDYtMTIgIFNpbHZpYSBQZmVpZmZlciAgPHNpbHZpYXBmQGNocm9taXVtLm9yZz4K
KworICAgICAgICBBZGQgZnVsbHNjcmVlbiBidXR0b24gdG8gQ2hyb21lIHZpZGVvIGNvbnRyb2xz
IGZvciB2aWRlby4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg4ODE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzLCBmaW5hbCBwYXRjaCB3aWxsIGNvbnRhaW4gdGhlIHJlYmFzZWxpbmVk
IHRlc3RzLgorCisgICAgICAgIFRoZSBDaHJvbWUgdmlkZW8gY29udHJvbHMgYXJlIHJlY2Vpdmlu
ZyBhIHZpc3VhbCB1cGRhdGUuCisgICAgICAgIFRoaXMgcGF0Y2ggaW5jbHVkZXMgYSBmdWxsc2Ny
ZWVuIGJ1dHRvbiBmb3IgdmlkZW8gZWxlbWVudHMgYW5kIHRoZSByZW5kZXJpbmcgb2YgdGhlIGNv
bnRyb2xzCisgICAgICAgIGluIGZ1bGxzY3JlZW4gaW5jbHVkaW5nIGhpZGluZyB0aGVtIGFmdGVy
IDIgc2Vjb25kcyB3aGVuIHRoZSBtb3VzZSBpcyBvdXQgb2YgdGhlIGNvbnRyb2xzCisgICAgICAg
IGFuZCBub3QgbW92ZWQuCisKKyAgICAgICAgKiBjc3MvbWVkaWFDb250cm9sc0Nocm9taXVtLmNz
czoKKyAgICAgICAgKHZpZGVvOi13ZWJraXQtZnVsbC1wYWdlLW1lZGlhOjotd2Via2l0LW1lZGlh
LWNvbnRyb2xzLXBhbmVsKToKKyAgICAgICAgQWxpZ24gY29udHJvbHMgdG8gdGhlIGJvdHRvbSBv
ZiB0aGUgZnVsbHNjcmVlbiBwYWdlLgorICAgICAgICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29u
dHJvbHMtZnVsbHNjcmVlbi1idXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWZ1
bGxzY3JlZW4tYnV0dG9uKToKKyAgICAgICAgSW5jbHVkZSBzdHlsaW5nIGZvciB0aGUgZnVsbHNj
cmVlbiBidXR0b24uCisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1l
bnRDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgQWRkIGEgY29uc3Rh
bnQgZm9yIHdoZW4gdG8gaGlkZSB0aGUgY29udHJvbHMgaW4gZnVsbHNjcmVlbi4KKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06Ok1lZGlhQ29udHJvbFJv
b3RFbGVtZW50Q2hyb21pdW0pOgorICAgICAgICBBZGQgbWVtYmVyIGZpZWxkcyBmb3IgZnVsbHNj
cmVlbiBidXR0b24sIGhpZGluZyB0aW1lciBhbmQgdHJhY2tpbmcgb2Ygd2hldGhlciB3ZSBhcmUg
aW4gZnVsbHNjcmVlbi4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50
Q2hyb21pdW06OmNyZWF0ZSk6CisgICAgICAgIEFkZCBmdWxsc2NyZWVuIGJ1dHRvbiBlbGVtZW50
IHRvIHRoZSB2aXN1YWwgbGF5b3V0LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9v
dEVsZW1lbnRDaHJvbWl1bTo6c2V0TWVkaWFDb250cm9sbGVyKToKKyAgICAgICAgQWRkIGZ1bGxz
Y3JlZW4gYnV0dG9uIGVsZW1lbnQgdG8gdGhlIG1lZGlhIGNvbnRyb2xsZXIuCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpyZXNldCk6CisgICAgICAg
IFNob3cgdGhlIGZ1bGxzY3JlZW4gYnV0dG9uIGlmIHRoZSBjb250cm9sbGVyIHN1cHBvcnRzIGZ1
bGxzY3JlZW4uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9t
aXVtOjpwbGF5YmFja1N0YXJ0ZWQpOgorICAgICAgICBTdGFydCB0aGUgdGltZXIgdG8gaGlkZSB0
aGUgY29udHJvbHMgaW4gZnVsbHNjcmVlbi4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJv
bFJvb3RFbGVtZW50Q2hyb21pdW06OnBsYXliYWNrU3RvcHBlZCk6CisgICAgICAgIERvbid0IGhp
ZGUgdGhlIGNvbnRyb2xzIHdoZW4gdGhlIHZpZGVvIGlzIHBhdXNlZCBpbiBmdWxsc2NyZWVuLgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6cmVwb3J0
ZWRFcnJvcik6CisgICAgICAgIEhpZGUgdGhlIGZ1bGxzY3JlZW4gYnV0dG9uIHdoZW4gd2UgaGl0
IGFuIGVycm9yLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJv
bWl1bTo6ZGVmYXVsdEV2ZW50SGFuZGxlcik6CisgICAgICAgIEFkZCBsb2dpYyBmb3IgbW91c2Ug
ZXZlbnRzIGluIGZ1bGxzY3JlZW4gdG8gc3RhcnQvc3RvcCB0aGUgaGlkaW5nIHRpbWVyLgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6c3RhcnRIaWRl
RnVsbHNjcmVlbkNvbnRyb2xzVGltZXIpOgorICAgICAgICBTdGFydCB0aGUgZnVsbHNjcmVlbiBo
aWRpbmcgdGltZXIuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENo
cm9taXVtOjpoaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXJGaXJlZCk6CisgICAgICAgIFRpbWVy
IGZpcmVkOiBoaWRlIHRoZSB2aWRlbyBjb250cm9scyBpbiBmdWxsc2NyZWVuLgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6c3RvcEhpZGVGdWxsc2Ny
ZWVuQ29udHJvbHNUaW1lcik6CisgICAgICAgIFJlc2V0IHRoZSBmdWxsc2NyZWVuIGhpZGluZyB0
aW1lci4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06
OmVudGVyZWRGdWxsc2NyZWVuKToKKyAgICAgICAgQWRkIGxvZ2ljIHRvIGVudGVyIGZ1bGxzY3Jl
ZW4uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpl
eGl0ZWRGdWxsc2NyZWVuKToKKyAgICAgICAgQWRkIGxvZ2ljIHRvIGV4aXQgZnVsbHNjcmVlbi4K
KyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmg6
CisgICAgICAgIChNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtKToKKyAgICAgICAgQWRk
IGRlY2xhcmF0aW9uIG9mIG1lbWJlciBmdW5jdGlvbnMgYW5kIGZpZWxkcyBmb3IgZnVsbHNjcmVl
bi4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnBhaW50TWVkaWFGdWxsc2NyZWVuQnV0dG9uKToKKyAgICAgICAg
VXNlIHRoZSBuZXcgaW1hZ2UgZm9yIHRoZSBmdWxsc2NyZWVuIGJ1dHRvbi4KKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5oOgorICAgICAgICAoUmVuZGVyVGhlbWVD
aHJvbWl1bU1hYyk6CisgICAgICAgIERlY2xhcmUgdGhlIGZ1bGxzY3JlZW4gcGFpbnRpbmcgZnVu
Y3Rpb24gZm9yIENocm9tZSBNYWMuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hy
b21pdW1NYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpw
YWludE1lZGlhRnVsbHNjcmVlbkJ1dHRvbik6CisgICAgICAgIEhvb2sgdXAgdGhlIGZ1bGxzY3Jl
ZW4gcGFpbmluZyBmdW5jdGlvbiBmb3IgQ2hyb21lIE1hYy4KKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWVDaHJvbWl1bVNraWE6OnBhaW50TWVkaWFGdWxsc2NyZWVuQnV0dG9uKToKKyAgICAgICAgSG9v
ayB1cCB0aGUgZnVsbHNjcmVlbiBwYWluaW5nIGZ1bmN0aW9uIGZvciBDaHJvbWUgU2tpYS4KKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaDoKKyAgICAgICAgKFJl
bmRlclRoZW1lQ2hyb21pdW1Ta2lhKToKKyAgICAgICAgRGVjbGFyZSB0aGUgZnVsbHNjcmVlbiBw
YWludGluZyBmdW5jdGlvbiBmb3IgQ2hyb21lIFNraWEuCisKIDIwMTItMDYtMTEgIFNpbHZpYSBQ
ZmVpZmZlciAgPHNpbHZpYXBmQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDaGFuZ2UgbXV0ZSBi
dXR0b24gYW5kIHZvbHVtZSBzbGlkZXIgYmVoYXZpb3VyIGZvciBuZXcgQ2hyb21pdW0gdmlkZW8g
Y29udHJvbHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvbWVkaWFDb250cm9sc0No
cm9taXVtLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3Nz
CmluZGV4IDM5NmY2NjEuLmIzOTMxMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9t
ZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNv
bnRyb2xzQ2hyb21pdW0uY3NzCkBAIC0zOSw2ICszOSwxMSBAQCBhdWRpbzotd2Via2l0LWZ1bGwt
cGFnZS1tZWRpYSwgdmlkZW86LXdlYmtpdC1mdWxsLXBhZ2UtbWVkaWEgewogICAgIG1heC13aWR0
aDogMTAwJTsKIH0KIAorYXVkaW86LXdlYmtpdC1mdWxsLXBhZ2UtbWVkaWE6Oi13ZWJraXQtbWVk
aWEtY29udHJvbHMtcGFuZWwsCit2aWRlbzotd2Via2l0LWZ1bGwtcGFnZS1tZWRpYTo6LXdlYmtp
dC1tZWRpYS1jb250cm9scy1wYW5lbCB7CisgICAgYm90dG9tOiAwcHg7Cit9CisKIDo6LXdlYmtp
dC1tZWRpYS1jb250cm9scyB7CiAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICAgLXdlYmtp
dC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKQEAgLTE3MCw0ICsxNzUsMTcgQEAgaW5wdXRbdHlwZT0i
cmFuZ2UiXTo6LXdlYmtpdC1tZWRpYS1zbGlkZXItdGh1bWIgewogICAgIGJvdHRvbTogMXB4Owog
ICAgIG1hcmdpbi1sZWZ0OiAtN3B4OwogICAgIG1hcmdpbi1yaWdodDogLTdweDsKLX0KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9CisKK2F1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xz
LWZ1bGxzY3JlZW4tYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1mdWxsc2Ny
ZWVuLWJ1dHRvbiB7CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZWRpYS1lbnRlci1mdWxsc2Ny
ZWVuLWJ1dHRvbjsKKyAgICBkaXNwbGF5OiBpbmxpbmU7CisgICAgYm9yZGVyOiBub25lOworICAg
IGJveC1zaXppbmc6IGJvcmRlci1ib3g7CisgICAgd2lkdGg6IDMwcHg7CisgICAgaGVpZ2h0OiAz
MHB4OworICAgIGxpbmUtaGVpZ2h0OiAzMHB4OworICAgIG1hcmdpbi1sZWZ0OiAtNXB4OworICAg
IG1hcmdpbi1yaWdodDogOXB4OworICAgIHBhZGRpbmc6IDA7Cit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hy
b21pdW0uY3BwCmluZGV4IGM0Zjc0NzYuLmEyNTEyZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21p
dW0uY3BwCkBAIC00Niw2ICs0Niw4IEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorc3RhdGljIGNvbnN0IGRvdWJsZSB0aW1lV2l0aG91dE1vdXNlTW92ZW1l
bnRCZWZvcmVIaWRpbmdDb250cm9scyA9IDI7CisKIE1lZGlhQ29udHJvbENocm9taXVtRW5jbG9z
dXJlRWxlbWVudDo6TWVkaWFDb250cm9sQ2hyb21pdW1FbmNsb3N1cmVFbGVtZW50KERvY3VtZW50
KiBkb2N1bWVudCkKICAgICA6IEhUTUxEaXZFbGVtZW50KEhUTUxOYW1lczo6ZGl2VGFnLCBkb2N1
bWVudC0+ZG9jdW1lbnQoKSkKICAgICAsIG1fbWVkaWFDb250cm9sbGVyKDApCkBAIC03Miw2ICs3
NCw3IEBAIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06Ok1lZGlhQ29udHJvbFJvb3RF
bGVtZW50Q2hyb21pdW0oRG9jdW1lbnQqIGRvY3VtCiAgICAgLCBtX3RpbWVsaW5lKDApCiAgICAg
LCBtX3BhbmVsTXV0ZUJ1dHRvbigwKQogICAgICwgbV92b2x1bWVTbGlkZXIoMCkKKyAgICAsIG1f
ZnVsbFNjcmVlbkJ1dHRvbigwKQogICAgICwgbV9wYW5lbCgwKQogICAgICwgbV9lbmNsb3N1cmUo
MCkKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCkBAIC03OSw3ICs4Miw5IEBAIE1lZGlhQ29udHJv
bFJvb3RFbGVtZW50Q2hyb21pdW06Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0oRG9j
dW1lbnQqIGRvY3VtCiAgICAgLCBtX3RleHRUcmFja0Rpc3BsYXkoMCkKICNlbmRpZgogICAgICwg
bV9vcGFxdWUodHJ1ZSkKKyAgICAsIG1faGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKHRoaXMs
ICZNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpoaWRlRnVsbHNjcmVlbkNvbnRyb2xz
VGltZXJGaXJlZCkKICAgICAsIG1faXNNb3VzZU92ZXJDb250cm9scyhmYWxzZSkKKyAgICAsIG1f
aXNGdWxsc2NyZWVuKGZhbHNlKQogewogfQogCkBAIC0xNDAsNiArMTQ1LDEyIEBAIFBhc3NSZWZQ
dHI8TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bT4gTWVkaWFDb250cm9sUm9vdEVsZW1l
bnRDaHJvbWl1bTo6Y3JlCiAgICAgaWYgKGVjKQogICAgICAgICByZXR1cm4gMDsKIAorICAgIFJl
ZlB0cjxNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudD4gZnVsbFNjcmVlbkJ1dHRv
biA9IE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQs
IGNvbnRyb2xzLmdldCgpKTsKKyAgICBjb250cm9scy0+bV9mdWxsU2NyZWVuQnV0dG9uID0gZnVs
bFNjcmVlbkJ1dHRvbi5nZXQoKTsKKyAgICBwYW5lbC0+YXBwZW5kQ2hpbGQoZnVsbFNjcmVlbkJ1
dHRvbi5yZWxlYXNlKCksIGVjLCB0cnVlKTsKKyAgICBpZiAoZWMpCisgICAgICAgIHJldHVybiAw
OworCiAgICAgY29udHJvbHMtPm1fcGFuZWwgPSBwYW5lbC5nZXQoKTsKICAgICBlbmNsb3N1cmUt
PmFwcGVuZENoaWxkKHBhbmVsLnJlbGVhc2UoKSwgZWMsIHRydWUpOwogICAgIGlmIChlYykKQEAg
LTE3MSw2ICsxODIsOCBAQCB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnNl
dE1lZGlhQ29udHJvbGxlcihNZWRpYUNvbnRyb2xsZXJJbnRlcmZhYwogICAgICAgICBtX3BhbmVs
TXV0ZUJ1dHRvbi0+c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOwogICAgIGlmIChtX3Zv
bHVtZVNsaWRlcikKICAgICAgICAgbV92b2x1bWVTbGlkZXItPnNldE1lZGlhQ29udHJvbGxlcihj
b250cm9sbGVyKTsKKyAgICBpZiAobV9mdWxsU2NyZWVuQnV0dG9uKQorICAgICAgICBtX2Z1bGxT
Y3JlZW5CdXR0b24tPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKICAgICBpZiAobV9w
YW5lbCkKICAgICAgICAgbV9wYW5lbC0+c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOwog
ICAgIGlmIChtX2VuY2xvc3VyZSkKQEAgLTIyNyw2ICsyNDAsMTEgQEAgdm9pZCBNZWRpYUNvbnRy
b2xSb290RWxlbWVudENocm9taXVtOjpyZXNldCgpCiAgICAgaWYgKG1fdm9sdW1lU2xpZGVyKQog
ICAgICAgICBtX3ZvbHVtZVNsaWRlci0+c2V0Vm9sdW1lKG1fbWVkaWFDb250cm9sbGVyLT52b2x1
bWUoKSk7CiAKKyAgICBpZiAobV9tZWRpYUNvbnRyb2xsZXItPnN1cHBvcnRzRnVsbHNjcmVlbigp
KQorICAgICAgICBtX2Z1bGxTY3JlZW5CdXR0b24tPnNob3coKTsKKyAgICBlbHNlCisgICAgICAg
IG1fZnVsbFNjcmVlbkJ1dHRvbi0+aGlkZSgpOworCiAgICAgbWFrZU9wYXF1ZSgpOwogfQogCkBA
IC0yMzcsNiArMjU1LDkgQEAgdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpw
bGF5YmFja1N0YXJ0ZWQoKQogICAgIG1fY3VycmVudFRpbWVEaXNwbGF5LT5zaG93KCk7CiAgICAg
bV9kdXJhdGlvbkRpc3BsYXktPmhpZGUoKTsKICAgICB1cGRhdGVUaW1lRGlzcGxheSgpOworCisg
ICAgaWYgKG1faXNGdWxsc2NyZWVuKQorICAgICAgICBzdGFydEhpZGVGdWxsc2NyZWVuQ29udHJv
bHNUaW1lcigpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnBs
YXliYWNrUHJvZ3Jlc3NlZCgpCkBAIC0yNTQsNiArMjc1LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xS
b290RWxlbWVudENocm9taXVtOjpwbGF5YmFja1N0b3BwZWQoKQogICAgIG1fdGltZWxpbmUtPnNl
dFBvc2l0aW9uKG1fbWVkaWFDb250cm9sbGVyLT5jdXJyZW50VGltZSgpKTsKICAgICB1cGRhdGVU
aW1lRGlzcGxheSgpOwogICAgIG1ha2VPcGFxdWUoKTsKKworICAgIHN0b3BIaWRlRnVsbHNjcmVl
bkNvbnRyb2xzVGltZXIoKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9t
aXVtOjp1cGRhdGVUaW1lRGlzcGxheSgpCkBAIC0yODYsNiArMzA5LDcgQEAgdm9pZCBNZWRpYUNv
bnRyb2xSb290RWxlbWVudENocm9taXVtOjpyZXBvcnRlZEVycm9yKCkKICAgICBtX3RpbWVsaW5l
LT5oaWRlKCk7CiAgICAgbV9wYW5lbE11dGVCdXR0b24tPmhpZGUoKTsKICAgICBtX3ZvbHVtZVNs
aWRlci0+aGlkZSgpOworICAgIG1fZnVsbFNjcmVlbkJ1dHRvbi0+aGlkZSgpOwogfQogCiB2b2lk
IE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnVwZGF0ZVN0YXR1c0Rpc3BsYXkoKQpA
QCAtMzE5LDE1ICszNDMsNTUgQEAgdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVt
OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKICAgICBpZiAoZXZlbnQtPnR5cGUo
KSA9PSBldmVudE5hbWVzKCkubW91c2VvdmVyRXZlbnQpIHsKICAgICAgICAgaWYgKCFjb250YWlu
c1JlbGF0ZWRUYXJnZXQoZXZlbnQpKSB7CiAgICAgICAgICAgICBtX2lzTW91c2VPdmVyQ29udHJv
bHMgPSB0cnVlOwotICAgICAgICAgICAgaWYgKCFtX21lZGlhQ29udHJvbGxlci0+Y2FuUGxheSgp
KQorICAgICAgICAgICAgaWYgKCFtX21lZGlhQ29udHJvbGxlci0+Y2FuUGxheSgpKSB7CiAgICAg
ICAgICAgICAgICAgbWFrZU9wYXF1ZSgpOworICAgICAgICAgICAgICAgIGlmIChzaG91bGRIaWRl
Q29udHJvbHMoKSkKKyAgICAgICAgICAgICAgICAgICAgc3RhcnRIaWRlRnVsbHNjcmVlbkNvbnRy
b2xzVGltZXIoKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoZXZl
bnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkubW91c2VvdXRFdmVudCkgewotICAgICAgICBpZiAo
IWNvbnRhaW5zUmVsYXRlZFRhcmdldChldmVudCkpCisgICAgICAgIGlmICghY29udGFpbnNSZWxh
dGVkVGFyZ2V0KGV2ZW50KSkgewogICAgICAgICAgICAgbV9pc01vdXNlT3ZlckNvbnRyb2xzID0g
ZmFsc2U7CisgICAgICAgICAgICBzdG9wSGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKCk7Cisg
ICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLm1v
dXNlbW92ZUV2ZW50KSB7CisgICAgICAgIGlmIChtX2lzRnVsbHNjcmVlbikgeworICAgICAgICAg
ICAgLy8gV2hlbiB3ZSBnZXQgYSBtb3VzZSBtb3ZlIGluIGZ1bGxzY3JlZW4gbW9kZSwgc2hvdyB0
aGUgbWVkaWEgY29udHJvbHMsIGFuZCBzdGFydCBhIHRpbWVyCisgICAgICAgICAgICAvLyB0aGF0
IHdpbGwgaGlkZSB0aGUgbWVkaWEgY29udHJvbHMgYWZ0ZXIgYSAzIHNlY29uZHMgd2l0aG91dCBh
IG1vdXNlIG1vdmUuCisgICAgICAgICAgICBtYWtlT3BhcXVlKCk7CisgICAgICAgICAgICBpZiAo
c2hvdWxkSGlkZUNvbnRyb2xzKCkpCisgICAgICAgICAgICAgICAgc3RhcnRIaWRlRnVsbHNjcmVl
bkNvbnRyb2xzVGltZXIoKTsKKyAgICAgICAgfQogICAgIH0KIH0KIAordm9pZCBNZWRpYUNvbnRy
b2xSb290RWxlbWVudENocm9taXVtOjpzdGFydEhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcigp
Cit7CisgICAgaWYgKCFtX2lzRnVsbHNjcmVlbikKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9o
aWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIuc3RhcnRPbmVTaG90KHRpbWVXaXRob3V0TW91c2VN
b3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKTsKK30KKwordm9pZCBNZWRpYUNvbnRyb2xSb290
RWxlbWVudENocm9taXVtOjpoaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXJGaXJlZChUaW1lcjxN
ZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtPiopCit7CisgICAgaWYgKG1fbWVkaWFDb250
cm9sbGVyLT5wYXVzZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFtX2lzRnVsbHNj
cmVlbikKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFzaG91bGRIaWRlQ29udHJvbHMoKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgbWFrZVRyYW5zcGFyZW50KCk7Cit9CisKK3ZvaWQgTWVk
aWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6c3RvcEhpZGVGdWxsc2NyZWVuQ29udHJvbHNU
aW1lcigpCit7CisgICAgbV9oaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIuc3RvcCgpOworfQor
CiB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmNoYW5nZWRDbG9zZWRDYXB0
aW9uc1Zpc2liaWxpdHkoKQogewogfQpAQCAtMzQ5LDEwICs0MTMsMTYgQEAgdm9pZCBNZWRpYUNv
bnRyb2xSb290RWxlbWVudENocm9taXVtOjpjaGFuZ2VkVm9sdW1lKCkKIAogdm9pZCBNZWRpYUNv
bnRyb2xSb290RWxlbWVudENocm9taXVtOjplbnRlcmVkRnVsbHNjcmVlbigpCiB7CisgICAgbV9p
c0Z1bGxzY3JlZW4gPSB0cnVlOworICAgIG1fZnVsbFNjcmVlbkJ1dHRvbi0+c2V0SXNGdWxsc2Ny
ZWVuKHRydWUpOworICAgIHN0YXJ0SGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKCk7CiB9CiAK
IHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6ZXhpdGVkRnVsbHNjcmVlbigp
CiB7CisgICAgbV9pc0Z1bGxzY3JlZW4gPSBmYWxzZTsKKyAgICBtX2Z1bGxTY3JlZW5CdXR0b24t
PnNldElzRnVsbHNjcmVlbihmYWxzZSk7CisgICAgc3RvcEhpZGVGdWxsc2NyZWVuQ29udHJvbHNU
aW1lcigpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnNob3dW
b2x1bWVTbGlkZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVk
aWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5oCmluZGV4IGIzNjVjYzMuLjgyZTU5
ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJv
b3RFbGVtZW50Q2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRp
YUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmgKQEAgLTEyNiw2ICsxMjYsOSBAQCBwcml2YXRl
OgogICAgIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0oRG9jdW1lbnQqKTsKIAogICAg
IHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CisgICAgdm9pZCBoaWRl
RnVsbHNjcmVlbkNvbnRyb2xzVGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xSb290RWxlbWVu
dENocm9taXVtPiopOworICAgIHZvaWQgc3RhcnRIaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIo
KTsKKyAgICB2b2lkIHN0b3BIaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIoKTsKIAogICAgIHZp
cnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0OwogCkBAIC0x
NDAsNiArMTQzLDcgQEAgcHJpdmF0ZToKICAgICBNZWRpYUNvbnRyb2xUaW1lbGluZUNvbnRhaW5l
ckVsZW1lbnQqIG1fdGltZWxpbmVDb250YWluZXI7CiAgICAgTWVkaWFDb250cm9sUGFuZWxNdXRl
QnV0dG9uRWxlbWVudCogbV9wYW5lbE11dGVCdXR0b247CiAgICAgTWVkaWFDb250cm9sVm9sdW1l
U2xpZGVyRWxlbWVudCogbV92b2x1bWVTbGlkZXI7CisgICAgTWVkaWFDb250cm9sRnVsbHNjcmVl
bkJ1dHRvbkVsZW1lbnQqIG1fZnVsbFNjcmVlbkJ1dHRvbjsKICAgICBNZWRpYUNvbnRyb2xQYW5l
bEVsZW1lbnQqIG1fcGFuZWw7CiAgICAgTWVkaWFDb250cm9sQ2hyb21pdW1FbmNsb3N1cmVFbGVt
ZW50KiBtX2VuY2xvc3VyZTsKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCkBAIC0xNDgsNyArMTUy
LDkgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgYm9vbCBtX29wYXF1ZTsKKyAgICBUaW1lcjxN
ZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtPiBtX2hpZGVGdWxsc2NyZWVuQ29udHJvbHNU
aW1lcjsKICAgICBib29sIG1faXNNb3VzZU92ZXJDb250cm9sczsKKyAgICBib29sIG1faXNGdWxs
c2NyZWVuOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcAppbmRleCAxZjMwMTNmLi5kZGVhMzVlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0No
cm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250
cm9sc0Nocm9taXVtLmNwcApAQCAtMjc0LDggKzI3NCw4IEBAIHN0YXRpYyBib29sIHBhaW50TWVk
aWFGdWxsc2NyZWVuQnV0dG9uKFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQYWludEluZm8m
IHBhCiAgICAgaWYgKCFtZWRpYUVsZW1lbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAg
IERFRklORV9TVEFUSUNfTE9DQUwoSW1hZ2UqLCBtZWRpYUZ1bGxzY3JlZW4sIChwbGF0Zm9ybVJl
c291cmNlKCJtZWRpYUZ1bGxzY3JlZW4iKSkpOwotICAgIHJldHVybiBwYWludE1lZGlhQnV0dG9u
KHBhaW50SW5mby5jb250ZXh0LCByZWN0LCBtZWRpYUZ1bGxzY3JlZW4pOworICAgIHN0YXRpYyBJ
bWFnZSogbWVkaWFGdWxsc2NyZWVuQnV0dG9uID0gcGxhdGZvcm1SZXNvdXJjZSgibWVkaWFwbGF5
ZXJGdWxsc2NyZWVuIik7CisgICAgcmV0dXJuIHBhaW50TWVkaWFCdXR0b24ocGFpbnRJbmZvLmNv
bnRleHQsIHJlY3QsIG1lZGlhRnVsbHNjcmVlbkJ1dHRvbik7CiB9CiAKIGJvb2wgUmVuZGVyTWVk
aWFDb250cm9sc0Nocm9taXVtOjpwYWludE1lZGlhQ29udHJvbHNQYXJ0KE1lZGlhQ29udHJvbEVs
ZW1lbnRUeXBlIHBhcnQsIFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQYWludEluZm8mIHBh
aW50SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5oCmluZGV4IGQzYjM2MDEuLjk3MzI5OWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFj
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMu
aApAQCAtNTgsNiArNTgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0
TWVkaWFDb250cm9sc1RpbWUoZmxvYXQgdGltZSkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcg
Zm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBk
dXJhdGlvbikgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1Jl
bWFpbmluZ1RpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKKyAg
ICB2aXJ0dWFsIGJvb2wgcGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24oUmVuZGVyT2JqZWN0Kiwg
Y29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwogI2VuZGlmCiAKICAgICB2aXJ0dWFs
IGJvb2wgdXNlc1Rlc3RNb2RlRm9jdXNSaW5nQ29sb3IoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLm1tIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMubW0KaW5kZXggOWY0YWE5
MS4uMTc5MWIwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lQ2hyb21pdW1NYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lQ2hyb21pdW1NYWMubW0KQEAgLTIzOCw2ICsyMzgsMTEgQEAgU3RyaW5nIFJlbmRlclRoZW1l
Q2hyb21pdW1NYWM6OmZvcm1hdE1lZGlhQ29udHJvbHNSZW1haW5pbmdUaW1lKGZsb2F0IGN1cnJl
bnRUaW0KIHsKICAgICByZXR1cm4gUmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6Zm9ybWF0TWVkaWFD
b250cm9sc1JlbWFpbmluZ1RpbWUoY3VycmVudFRpbWUsIGR1cmF0aW9uKTsKIH0KKworYm9vbCBS
ZW5kZXJUaGVtZUNocm9taXVtTWFjOjpwYWludE1lZGlhRnVsbHNjcmVlbkJ1dHRvbihSZW5kZXJP
YmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3Qm
IHJlY3QpCit7CisgICAgcmV0dXJuIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6cGFpbnRN
ZWRpYUNvbnRyb2xzUGFydChNZWRpYUVudGVyRnVsbHNjcmVlbkJ1dHRvbiwgb2JqZWN0LCBwYWlu
dEluZm8sIHJlY3QpOworfQogI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3Bw
CmluZGV4IDcyOTNkZDEuLjcxZmQwOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmNwcApAQCAtNDkxLDYgKzQ5MSwxOCBAQCBT
dHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUoZmxvYXQgY3VycmVudFRpbWUs
IGZsb2F0IGR1cmF0aW9uKSBjb25zdAogI2VuZGlmCiB9CiAKK2Jvb2wgUmVuZGVyVGhlbWVDaHJv
bWl1bVNraWE6OnBhaW50TWVkaWFGdWxsc2NyZWVuQnV0dG9uKFJlbmRlck9iamVjdCogb2JqZWN0
LCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCkKK3sKKyNp
ZiBFTkFCTEUoVklERU8pCisgICAgcmV0dXJuIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6
cGFpbnRNZWRpYUNvbnRyb2xzUGFydChNZWRpYUVudGVyRnVsbHNjcmVlbkJ1dHRvbiwgb2JqZWN0
LCBwYWludEluZm8sIHJlY3QpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ob2JqZWN0KTsKKyAg
ICBVTlVTRURfUEFSQU0ocGFpbnRJbmZvKTsKKyAgICBVTlVTRURfUEFSQU0ocmVjdCk7CisgICAg
cmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKIHZvaWQgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6
OmFkanVzdE1lbnVMaXN0U3R5bGUoU3R5bGVSZXNvbHZlciosIFJlbmRlclN0eWxlKiBzdHlsZSwg
V2ViQ29yZTo6RWxlbWVudCopIGNvbnN0CiB7CiAgICAgLy8gSGVpZ2h0IGlzIGxvY2tlZCB0byBh
dXRvIG9uIGFsbCBicm93c2Vycy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lQ2hyb21pdW1Ta2lhLmgKaW5kZXggNDU3YjEwNS4uY2JhYTY1MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmgKQEAg
LTEwMSw2ICsxMDEsNyBAQCBjbGFzcyBSZW5kZXJUaGVtZUNocm9taXVtU2tpYSA6IHB1YmxpYyBS
ZW5kZXJUaGVtZSB7CiAgICAgICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNU
aW1lKGZsb2F0IHRpbWUpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRp
YUNvbnRyb2xzQ3VycmVudFRpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBj
b25zdDsKICAgICAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmlu
Z1RpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKKyAgICAgICAg
dmlydHVhbCBib29sIHBhaW50TWVkaWFGdWxsc2NyZWVuQnV0dG9uKFJlbmRlck9iamVjdCosIGNv
bnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKIAogICAgICAgICAvLyBNZW51TGlzdCBy
ZWZlcnMgdG8gYW4gdW5zdHlsZWQgbWVudWxpc3QgKG1lYW5pbmcgYSBtZW51bGlzdCB3aXRob3V0
CiAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3Igb3IgYm9yZGVyIHNldCkgYW5kIE1lbnVMaXN0
QnV0dG9uIHJlZmVycyB0byBhIHN0eWxlZAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147096</attachid>
            <date>2012-06-12 09:20:56 -0700</date>
            <delta_ts>2012-06-14 06:14:59 -0700</delta_ts>
            <desc>adapted to work with recent fullscreen commits</desc>
            <filename>bug-88818-20120613022053.patch</filename>
            <type>text/plain</type>
            <size>66384</size>
            <attacher name="Silvia Pfeiffer">silviapf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMDgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzdiYzNmOTNlNTViNzRm
OWNjN2UxYmZhM2M2MDNkNzdlOWY0ZjUzMy4uYzQzODI0NjM5ZTAyYjM4NjQwNjAzNTk3NWMzOTIy
OTg2OWQ2YTEzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4NyBAQAorMjAxMi0wNi0xMiAgU2ls
dmlhIFBmZWlmZmVyICA8c2lsdmlhcGZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBmdWxs
c2NyZWVuIGJ1dHRvbiB0byBDaHJvbWUgdmlkZW8gY29udHJvbHMgZm9yIHZpZGVvLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg4MTgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGZp
bmFsIHBhdGNoIHdpbGwgY29udGFpbiB0aGUgcmViYXNlbGluZWQgdGVzdHMuCisKKyAgICAgICAg
VGhlIENocm9tZSB2aWRlbyBjb250cm9scyBhcmUgcmVjZWl2aW5nIGEgdmlzdWFsIHVwZGF0ZS4K
KyAgICAgICAgVGhpcyBwYXRjaCBpbmNsdWRlcyBhIGZ1bGxzY3JlZW4gYnV0dG9uIGZvciB2aWRl
byBlbGVtZW50cyBhbmQgdGhlIHJlbmRlcmluZyBvZiB0aGUgY29udHJvbHMKKyAgICAgICAgaW4g
ZnVsbHNjcmVlbiBpbmNsdWRpbmcgaGlkaW5nIHRoZW0gYWZ0ZXIgMiBzZWNvbmRzIHdoZW4gdGhl
IG1vdXNlIGlzIG91dCBvZiB0aGUgY29udHJvbHMKKyAgICAgICAgYW5kIG5vdCBtb3ZlZC4KKwor
ICAgICAgICAqIGNzcy9tZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3NzOgorICAgICAgICAodmlkZW86
LXdlYmtpdC1mdWxsLXBhZ2UtbWVkaWE6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcGFuZWwpOgor
ICAgICAgICBBbGlnbiBjb250cm9scyB0byB0aGUgYm90dG9tIG9mIHRoZSBmdWxsc2NyZWVuIHBh
Z2UuCisgICAgICAgIChhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1mdWxsc2NyZWVuLWJ1
dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNjcmVlbi1idXR0b24pOgor
ICAgICAgICBJbmNsdWRlIHN0eWxpbmcgZm9yIHRoZSBmdWxsc2NyZWVuIGJ1dHRvbi4KKyAgICAg
ICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICBBZGQgYSBjb25zdGFudCBmb3Igd2hlbiB0byBoaWRl
IHRoZSBjb250cm9scyBpbiBmdWxsc2NyZWVuLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250
cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bSk6
CisgICAgICAgIEFkZCBtZW1iZXIgZmllbGRzIGZvciBmdWxsc2NyZWVuIGJ1dHRvbiwgaGlkaW5n
IHRpbWVyIGFuZCB0cmFja2luZyBvZiB3aGV0aGVyIHdlIGFyZSBpbiBmdWxsc2NyZWVuLgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6Y3JlYXRlKToK
KyAgICAgICAgQWRkIGZ1bGxzY3JlZW4gYnV0dG9uIGVsZW1lbnQgdG8gdGhlIHZpc3VhbCBsYXlv
dXQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpz
ZXRNZWRpYUNvbnRyb2xsZXIpOgorICAgICAgICBBZGQgZnVsbHNjcmVlbiBidXR0b24gZWxlbWVu
dCB0byB0aGUgbWVkaWEgY29udHJvbGxlci4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJv
bFJvb3RFbGVtZW50Q2hyb21pdW06OnJlc2V0KToKKyAgICAgICAgU2hvdyB0aGUgZnVsbHNjcmVl
biBidXR0b24gaWYgdGhlIGNvbnRyb2xsZXIgc3VwcG9ydHMgZnVsbHNjcmVlbi4KKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnBsYXliYWNrU3RhcnRl
ZCk6CisgICAgICAgIFN0YXJ0IHRoZSB0aW1lciB0byBoaWRlIHRoZSBjb250cm9scyBpbiBmdWxs
c2NyZWVuLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1
bTo6cGxheWJhY2tTdG9wcGVkKToKKyAgICAgICAgRG9uJ3QgaGlkZSB0aGUgY29udHJvbHMgd2hl
biB0aGUgdmlkZW8gaXMgcGF1c2VkIGluIGZ1bGxzY3JlZW4uCisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpyZXBvcnRlZEVycm9yKToKKyAgICAgICAg
SGlkZSB0aGUgZnVsbHNjcmVlbiBidXR0b24gd2hlbiB3ZSBoaXQgYW4gZXJyb3IuCisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpkZWZhdWx0RXZlbnRI
YW5kbGVyKToKKyAgICAgICAgQWRkIGxvZ2ljIGZvciBtb3VzZSBldmVudHMgaW4gZnVsbHNjcmVl
biB0byBzdGFydC9zdG9wIHRoZSBoaWRpbmcgdGltZXIuCisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpzdGFydEhpZGVGdWxsc2NyZWVuQ29udHJvbHNU
aW1lcik6CisgICAgICAgIFN0YXJ0IHRoZSBmdWxsc2NyZWVuIGhpZGluZyB0aW1lci4KKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmhpZGVGdWxsc2Ny
ZWVuQ29udHJvbHNUaW1lckZpcmVkKToKKyAgICAgICAgVGltZXIgZmlyZWQ6IGhpZGUgdGhlIHZp
ZGVvIGNvbnRyb2xzIGluIGZ1bGxzY3JlZW4uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRy
b2xSb290RWxlbWVudENocm9taXVtOjpzdG9wSGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKToK
KyAgICAgICAgUmVzZXQgdGhlIGZ1bGxzY3JlZW4gaGlkaW5nIHRpbWVyLgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6ZW50ZXJlZEZ1bGxzY3JlZW4p
OgorICAgICAgICBBZGQgbG9naWMgdG8gZW50ZXIgZnVsbHNjcmVlbi4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmV4aXRlZEZ1bGxzY3JlZW4pOgor
ICAgICAgICBBZGQgbG9naWMgdG8gZXhpdCBmdWxsc2NyZWVuLgorICAgICAgICAqIGh0bWwvc2hh
ZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uaDoKKyAgICAgICAgKE1lZGlhQ29u
dHJvbFJvb3RFbGVtZW50Q2hyb21pdW0pOgorICAgICAgICBBZGQgZGVjbGFyYXRpb24gb2YgbWVt
YmVyIGZ1bmN0aW9ucyBhbmQgZmllbGRzIGZvciBmdWxsc2NyZWVuLgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
cGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24pOgorICAgICAgICBVc2UgdGhlIG5ldyBpbWFnZSBm
b3IgdGhlIGZ1bGxzY3JlZW4gYnV0dG9uLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZUNocm9taXVtTWFjLmg6CisgICAgICAgIChSZW5kZXJUaGVtZUNocm9taXVtTWFjKToKKyAgICAg
ICAgRGVjbGFyZSB0aGUgZnVsbHNjcmVlbiBwYWludGluZyBmdW5jdGlvbiBmb3IgQ2hyb21lIE1h
Yy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFGdWxsc2NyZWVu
QnV0dG9uKToKKyAgICAgICAgSG9vayB1cCB0aGUgZnVsbHNjcmVlbiBwYWluaW5nIGZ1bmN0aW9u
IGZvciBDaHJvbWUgTWFjLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVt
U2tpYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6cGFp
bnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24pOgorICAgICAgICBIb29rIHVwIHRoZSBmdWxsc2NyZWVu
IHBhaW5pbmcgZnVuY3Rpb24gZm9yIENocm9tZSBTa2lhLgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oOgorICAgICAgICAoUmVuZGVyVGhlbWVDaHJvbWl1bVNr
aWEpOgorICAgICAgICBEZWNsYXJlIHRoZSBmdWxsc2NyZWVuIHBhaW50aW5nIGZ1bmN0aW9uIGZv
ciBDaHJvbWUgU2tpYS4KKworMjAxMi0wNi0xMSAgU2lsdmlhIFBmZWlmZmVyICA8c2lsdmlhcGZA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIENoYW5nZSBtdXRlIGJ1dHRvbiBhbmQgdm9sdW1lIHNs
aWRlciBiZWhhdmlvdXIgZm9yIG5ldyBDaHJvbWl1bSB2aWRlbyBjb250cm9scy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NzQzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBmaW5h
bCBwYXRjaCB3aWxsIGNvbnRhaW4gdGhlIHJlYmFzZWxpbmVkIHRlc3RzLgorCisgICAgICAgIFRo
ZSBDaHJvbWUgdmlkZW8gY29udHJvbHMgYXJlIHJlY2VpdmluZyBhIHZpc3VhbCB1cGRhdGUuIFRo
aXMgcGF0Y2ggbWFrZXMgdGhlIG11dGUgYnV0dG9uIGFuZAorICAgICAgICB0aGUgdm9sdW1lIHNs
aWRlciBpbnRlcmFjdCB3aXRoIGVhY2ggb3RoZXIuIFdoZW4gdGhlIHVzZXIgbXV0ZXMgdGhlIHZp
ZGVvIHRocm91Z2ggY2xpY2tpbmcgdGhlCisgICAgICAgIG11dGUgYnV0dG9uLCB0aGUgdm9sdW1l
IHNsaWRlciBhbmltYXRlcyB0byAwJSB2b2x1bWUuIFVwb24gdW5tdXRlLCB0aGUgcHJldmlvdXMg
dm9sdW1lIGxldmVsCisgICAgICAgIGlzIHJlc3RvcmVkLiBGdXJ0aGVyLCB3aGVuIHRoZSB1c2Vy
IGRyYWdzIHRoZSB2b2x1bWUgc2xpZGVyIHRodW1iIG9yIGNsaWNrcyBvbiB0aGUgc2xpZGVyIGFu
ZAorICAgICAgICB0aGUgdmlkZW8gaXMgbXV0ZWQsIHRoZSB2aWRlbyB1bm11dGVzIGFuZCBzZXRz
IHRoZSB2b2x1bWUgdG8gdGhlIHVzZXIncyBjaG9zZW4gbGV2ZWwuCisKKyAgICAgICAgKiBodG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50OjpNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVt
ZW50KToKKyAgICAgICAgQWRkIGEgbWVtYmVyIGZpZWxkIHRvIHRoZSB2b2x1bWUgc2xpZGVyIHRv
IGFsbG93IHVzZXIgaW50ZXJhY3Rpb24gdG8gdW5tdXRlIHRoZSB2aWRlby4KKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRs
ZXIpOgorICAgICAgICBBZGQgdGhlIGxvZ2ljIHRvIHVubXV0ZSB0aGUgdmlkZW8gaWYgdGhlIG1f
Y2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uIG1lbWJlciBmaWVsZCBpcyB0cnVlLgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6c2V0Q2xlYXJNdXRl
ZE9uVXNlckludGVyYWN0aW9uKToKKyAgICAgICAgQWRkIGEgbWVtYmVyIGZ1bmN0aW9uIHRvIGNo
YW5nZSB0aGUgdmFsdWUgb2YgdGhlIG1fY2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uIG1lbWJl
ciBmaWVsZC4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oOgor
ICAgICAgICAoTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudCk6CisgICAgICAgIEFkZCB0
aGUgc2V0Q2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uIG1lbWJlciBmdW5jdGlvbiBhbmQgdGhl
IG1fY2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uIG1lbWJlciBmaWVsZC4KKyAgICAgICAgKiBo
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmNyZWF0ZSk6CisgICAg
ICAgIEFjdGl2YXRlIHVubXV0ZSBvbiB1c2VyIGludGVyYWN0aW9uIG9uIHRoZSBDaHJvbWl1bSB2
aWRlbyB2b2x1bWUgc2xpZGVyLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVs
ZW1lbnRDaHJvbWl1bTo6Y2hhbmdlZE11dGUpOgorICAgICAgICBBZGQgbG9naWMgdG8gc2V0IHZv
bHVtZSBzbGlkZXIgdG8gMCB3aGVuIG11dGVkIGFuZCByZXNldCB0byB2b2x1bWUgd2hlbiB1bm11
dGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRNZWRpYVZvbHVtZVNsaWRlcik6CisgICAgICAgIEFk
ZCBsb2dpYyB0byBwYWludCB0aGUgdm9sdW1lIHNsaWRlciBhY3RpdmUgYXJlYSBhcyAwIHdoZW4g
bXV0ZWQuCisKKzIwMTItMDYtMTAgIFNpbHZpYSBQZmVpZmZlciAgPHNpbHZpYXBmQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBVcGRhdGUgdGhlIHRpbWUgZGlzcGxheSBvZiB0aGUgbmV3IENocm9t
aXVtIG1lZGlhIGNvbnRyb2xzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODg3MjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBObyBuZXcgdGVzdHMsIGZpbmFsIHBhdGNoIHdpbGwgY29udGFpbiB0aGUgcmVi
YXNlbGluZWQgdGVzdHMuCisKKyAgICAgICAgVGhlIENocm9tZSB2aWRlbyBjb250cm9scyBhcmUg
cmVjZWl2aW5nIGEgdmlzdWFsIHVwZGF0ZS4gVGhpcyBwYXRjaCBjaGFuZ2VzCisgICAgICAgIHRo
ZSBmb3JtYXQgb2YgdGhlIHRpbWUgZGlnaXRzIHRoYXQgYXJlIGRpc3BsYXllZC4gVGhleSBhcmUg
ZGlmZmVyZW50IGZvciBtZWRpYQorICAgICAgICBmaWxlcyBvZiBkaWZmZXJlbnQgZHVyYXRpb24u
IEZvciBub24tYXV0b3BsYXlpbmcgdmlkZW9zLCB0aGUgZHVyYXRpb24gaXMgc2hvd24KKyAgICAg
ICAgYmVmb3JlIHBsYXliYWNrIGlzIHN0YXJ0ZWQuCisKKyAgICAgICAgKiBjc3MvbWVkaWFDb250
cm9sc0Nocm9taXVtLmNzczoKKyAgICAgICAgKGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xz
LXRpbWUtcmVtYWluaW5nLWRpc3BsYXksIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRp
bWUtcmVtYWluaW5nLWRpc3BsYXkpOgorICAgICAgICBGb3JtYXQgdGhlIG5ldyBkdXJhdGlvbiBk
aXNwbGF5IHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50IHRpbWUgZGlzcGxheS4KKyAgICAgICAgKiBo
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06Ok1lZGlhQ29udHJvbFJv
b3RFbGVtZW50Q2hyb21pdW0pOgorICAgICAgICBBZGQgYSBtZW1iZXIgZmllbGQgZm9yIHRoZSBk
dXJhdGlvbiBkaXNwbGF5LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1l
bnRDaHJvbWl1bTo6Y3JlYXRlKToKKyAgICAgICAgQWRkIGFuIGVsZW1lbnQgZm9yIHRoZSBkdXJh
dGlvbiBkaXNwbGF5IGFuZCBpbml0aWFsbHkgaGlkZSB0aGUgY3VycmVudCB0aW1lIGRpc3BsYXku
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpzZXRN
ZWRpYUNvbnRyb2xsZXIpOgorICAgICAgICBBZGQgdGhlIGR1cmF0aW9uIGRpc3BsYXkgdG8gdGhl
IGNvbnRyb2xsZXIuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENo
cm9taXVtOjpyZXNldCk6CisgICAgICAgIEFkZCByZXNldCBmdW5jdGlvbmFsaXR5IGZvciB0aGUg
ZHVyYXRpb24gZGlzcGxheS4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50Q2hyb21pdW06OnBsYXliYWNrU3RhcnRlZCk6CisgICAgICAgIFNob3cgdGhlIGN1cnJlbnQg
dGltZSBkaXNwbGF5IGFuZCBoaWRlIHRoZSBkdXJhdGlvbiBkaXNwbGF5IHVwb24gcGxheWJhY2sg
c3RhcnQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVt
Ojp1cGRhdGVUaW1lRGlzcGxheSk6CisgICAgICAgIFNob3cgdGhlIGN1cnJlbnQgdGltZSBkaXNw
bGF5IGFuZCBoaWRlIHRoZSBkdXJhdGlvbiBkaXNwbGF5IHdoZW4gY3VycmVudCB0aW1lIGlzIG5v
bi16ZXJvLgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hy
b21pdW0uaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICBBZGQgdGhlIE1lZGlhQ29udHJv
bFRpbWVSZW1haW5pbmdEaXNwbGF5RWxlbWVudCB3aGljaCBwcm92aWRlcyB1c2Ugd2l0aCB0aGUg
ZHVyYXRpb24gZGlzcGxheS4KKyAgICAgICAgKE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21p
dW0pOgorICAgICAgICBBZGQgYSBkdXJhdGlvbiBtZW1iZXIgZmllbGQsIHJldXNpbmcgdGhlIGV4
aXN0aW5nIE1lZGlhQ29udHJvbFRpbWVSZW1haW5pbmdEaXNwbGF5RWxlbWVudC4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmZvcm1hdENocm9taXVtTWVkaWFDb250cm9sc1RpbWUpOgorICAgICAgICBGb3JtYXRz
IGEgZ2l2ZW4gdGltZSB1bmRlciB0aGUgY29uZGl0aW9uIG9mIGEgZ2l2ZW4gZHVyYXRpb24uCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OmZvcm1hdE1lZGlh
Q29udHJvbHNUaW1lKToKKyAgICAgICAgV2hlbiBmb3JtYXR0aW5nIGEgc2luZ2xlIHRpbWUsIGFz
c3VtZSBpdCB0byBhbHNvIHByb3ZpZGUgdGhlIGR1cmF0aW9uIGNvbmRpdGlvbnMuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OmZvcm1hdE1lZGlhQ29udHJv
bHNDdXJyZW50VGltZSk6CisgICAgICAgIEZvcm1hdCB0aGUgY3VycmVudCB0aW1lIGdpdmVuIHRo
ZSBkdXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1
bTo6Zm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUpOgorICAgICAgICBGb3JtYXQgdGhl
IHJlbWFpbmluZyB0aW1lIGZyb20gdGhlIGN1cnJlbnQgdGltZSBnaXZlbiB0aGUgZHVyYXRpb24u
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5oOgorICAg
ICAgICAoUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtKToKKyAgICAgICAgRGVjbGFyZSB0aGUg
dGltZSBmb3JtYXR0aW5nIG1lbWJlciBmdW5jdGlvbnMuCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRoZW1lQ2hyb21pdW1NYWMuaDoKKyAgICAgICAgKFJlbmRlclRoZW1lQ2hyb21pdW1NYWMp
OgorICAgICAgICBEZWNsYXJlIHRoZSB0aW1lIGZvcm1hdHRpbmcgbWVtYmVyIGZ1bmN0aW9ucyBm
b3IgQ2hyb21pdW0gb24gdGhlIE1hYy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVD
aHJvbWl1bU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1NYWM6
OmZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
Q2hyb21pdW1NYWM6OmZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGltZSk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWlu
aW5nVGltZSk6CisgICAgICAgIENhbGwgdGhlIHRpbWUgZm9ybWF0dGluZyBtZW1iZXIgZnVuY3Rp
b25zIG9mIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bSBvbiB0aGUgTWFjLgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojpmb3JtYXRNZWRpYUNvbnRyb2xzVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpmb3JtYXRNZWRp
YUNvbnRyb2xzQ3VycmVudFRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6Zm9ybWF0TWVkaWFDb250
cm9sc1JlbWFpbmluZ1RpbWUpOgorICAgICAgICBDYWxsIHRoZSB0aW1lIGZvcm1hdHRpbmcgbWVt
YmVyIGZ1bmN0aW9ucyBvZiBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0gb24gU2tpYS4KKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaDoKKyAgICAgICAgKFJl
bmRlclRoZW1lQ2hyb21pdW1Ta2lhKToKKyAgICAgICAgRGVjbGFyZSB0aGUgdGltZSBmb3JtYXR0
aW5nIG1lbWJlciBmdW5jdGlvbnMgZm9yIENocm9taXVtIFNraWEuCisKKzIwMTItMDYtMDkgIFNp
bHZpYSBQZmVpZmZlciAgPHNpbHZpYXBmQGNocm9taXVtLm9yZz4KKworICAgICAgICBVcGRhdGUg
cmFuZ2Ugc2xpZGVycyByZW5kZXJpbmcgZm9yIHZvbHVtZSBhbmQgcGxheWJhY2sgcG9zaXRpb24g
b2YgbmV3IENocm9tZSB2aWRlbyBjb250cm9scy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NjIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBmaW5hbCBwYXRjaCB3aWxsIGNvbnRh
aW4gdGhlIHJlYmFzZWxpbmVkIHRlc3RzLgorCisgICAgICAgIFRoZSBDaHJvbWUgdmlkZW8gY29u
dHJvbHMgYXJlIHJlY2VpdmluZyBhIHZpc3VhbCB1cGRhdGUuIFRoaXMgcGF0Y2ggY29udGFpbnMg
dXBkYXRlcyB0byB0aGUKKyAgICAgICAgcmVuZGVyaW5nIG9mIHRoZSByYW5nZSBzbGlkZXJzIGZv
ciB0aGUgcGxheWJhY2sgcG9zaXRpb24gYW5kIHRoZSB2b2x1bWUuIFRoaXMgaW5jbHVkZXMgdGhl
CisgICAgICAgIGNyZWF0aW9uIG9mIGEgc2hhZG93UHNldWRvSWQgdG8gYmUgYWJsZSB0byBzdHls
ZSB0aGUgcmFuZ2Ugc2xpZGVycyB2aWEgQ1NTLCB0aGUgcmVuZGVyaW5nCisgICAgICAgIG9mIHRo
ZSBzbGlkZXIgYmFja2dyb3VuZCBhbmQgdGhlIGhpZ2hsaWdodGVkIHJhbmdlcy4KKworICAgICAg
ICAqIGNzcy9tZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3NzOgorICAgICAgICAoaW5wdXRbdHlwZT0i
cmFuZ2UiXTo6LXdlYmtpdC1tZWRpYS1zbGlkZXItY29udGFpbmVyKToKKyAgICAgICAgQWRqdXN0
IHRoZSBzdHlsaW5nIG9mIHRoZSBzbGlkZXIgY29udGFpbmVyIGJhY2tncm91bmRzLgorICAgICAg
ICAoaW5wdXRbdHlwZT0icmFuZ2UiXTo6LXdlYmtpdC1tZWRpYS1zbGlkZXItdGh1bWIpOgorICAg
ICAgICBBZGp1c3QgdGhlIHN0eWxpbmcgb2YgdGhlIHNsaWRlciB0aHVtYnMuCisgICAgICAgICog
aHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNs
aWRlclRodW1iU2hhZG93UHNldWRvSWQpOgorICAgICAgICBBZGQgYW4gYWNjZXNzb3IgZnVuY3Rp
b24gZm9yIHRoZSBzbGlkZXIgdGh1bWIgc2hhZG93UHNldWRvSWQuCisgICAgICAgIChXZWJDb3Jl
OjptZWRpYVNsaWRlclRodW1iU2hhZG93UHNldWRvSWQpOgorICAgICAgICBBZGQgYW4gYWNjZXNz
b3IgZnVuY3Rpb24gZm9yIHRoZSBtZWRpYSBzbGlkZXIgdGh1bWIgc2hhZG93UHNldWRvSWQuCisg
ICAgICAgIChXZWJDb3JlOjpTbGlkZXJUaHVtYkVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKToKKyAg
ICAgICAgQWRkIGEgZGlmZmVyZW50IENTUyBwc2V1ZG8tY2xhc3MgbmFtZSB0byB0aGUgbWVkaWEg
c2xpZGVyIHRodW1icy4KKyAgICAgICAgKFdlYkNvcmU6OlRyYWNrTGltaXRlckVsZW1lbnQ6OnNo
YWRvd1BzZXVkb0lkKToKKyAgICAgICAgQWRkIGEgZGlmZmVyZW50IENTUyBwc2V1ZG8tY2xhc3Mg
bmFtZSB0byB0aGUgbWVkaWEgc2xpZGVyIHRodW1icy4KKyAgICAgICAgKFdlYkNvcmU6OlNsaWRl
ckNvbnRhaW5lckVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKToKKyAgICAgICAgQWRkIGEgZGlmZmVy
ZW50IENTUyBwc2V1ZG8tY2xhc3MgbmFtZSB0byB0aGUgbWVkaWEgc2xpZGVyIGJhY2tncm91bmQg
Y29udGFpbmVyLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21p
dW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRSb3VuZGVkU2xpZGVyQmFja2dyb3VuZCk6
CisgICAgICAgIEFkZCBmdW5jdGlvbiB0byBkcmF3IHJvdW5kZWQgYmFja2dyb3VuZCBvZiBzbGlk
ZXJzIGluIGEgZGFyayBjb2xvci4KKyAgICAgICAgKFdlYkNvcmU6OnBhaW50U2xpZGVyUmFuZ2VI
aWdobGlnaHQpOgorICAgICAgICBBZGQgZnVuY3Rpb24gdG8gZHJhdyBhIGhpZ2hsaWdodGVkIGdy
ZXkgcmVnaW9uIG9uIHRoZSBzbGlkZXJzLCB3aGljaCBpcyByb3VuZGVkIG9ubHkgYXQKKyAgICAg
ICAgaXRzIGVuZHMuCisgICAgICAgIChXZWJDb3JlOjpwYWludE1lZGlhU2xpZGVyKToKKyAgICAg
ICAgVXBkYXRlIHRoZSBiYWNrZ3JvdW5kIGFuZCBidWZmZXJlZCByYW5nZSByZW5kZXJpbmdzIG9u
IHRoZSBwbGF5YmFjayBwb3NpdGlvbiBzbGlkZXIgYnkgbWFraW5nCisgICAgICAgIHVzZSBvZiB0
aGUgbmV3IGhlbHBlciBmdW5jdGlvbnMuCisgICAgICAgIChXZWJDb3JlOjpwYWludE1lZGlhVm9s
dW1lU2xpZGVyKToKKyAgICAgICAgVXBkYXRlIHRoZSBiYWNrZ3JvdW5kIGFuZCBidWZmZXJlZCBy
YW5nZSByZW5kZXJpbmdzIG9uIHRoZSB2b2x1bWUgc2xpZGVyIGJ5IG1ha2luZworICAgICAgICB1
c2Ugb2YgdGhlIG5ldyBoZWxwZXIgZnVuY3Rpb25zLgorCisyMDEyLTA2LTA2ICBTaWx2aWEgUGZl
aWZmZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2hhbmdlIHRoZSBzdHls
aW5nIG9mIHRoZSBDaHJvbWl1bSB2aWRlbyBjb250cm9scy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4Mjk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoZmluYWwgcGF0Y2ggd2ls
bCBjb250YWluIHRoZSByZWJhc2VsaW5lZCB0ZXN0cykKKworICAgICAgICBUaGUgQ2hyb21lIHZp
ZGVvIGNvbnRyb2xzIGFyZSByZWNlaXZpbmcgYSB2aXN1YWwgdXBkYXRlLiBUaGlzIHBhdGNoIGlu
Y2x1ZGVzIENTUyBjaGFuZ2VzLAorICAgICAgICB0aGUgcmVtb3ZhbCBvZiB0aGUgbm93IG5vIGxv
bmdlciBuZWVkZWQgY29udHJvbHMgYmFja2dyb3VuZCBkaXYsIGFuZCB0aGUgaW50cm9kdWN0aW9u
IG9mCisgICAgICAgIG5ldyBpbWFnZXMgZm9yIHRoZSBidXR0b25zLgorCisgICAgICAgICogY3Nz
L21lZGlhQ29udHJvbHNDaHJvbWl1bS5jc3M6CisgICAgICAgIChhdWRpbyk6CisgICAgICAgIEFk
anVzdCBoZWlnaHQgb2YgYXVkaW8gY29udHJvbHMuCisgICAgICAgICg6Oi13ZWJraXQtbWVkaWEt
Y29udHJvbHMpOgorICAgICAgICBVc2UgZmxleGJveCBvbiBtZWRpYSBjb250cm9scyBzaGFkb3cg
RE9NLgorICAgICAgICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZW5jbG9zdXJlLCB2
aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1lbmNsb3N1cmUpOgorICAgICAgICBBZGp1c3Qg
aGVpZ2h0LCBtYXgtd2lkdGgsIHRleHQtaW5kZW50IGFuZCBib3gtc2l6aW5nLCBhbmQgcmVzZXQg
cGFkZGluZyB0byAwLgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZW5j
bG9zdXJlKToKKyAgICAgICAgVXNlIDVweCBwYWRkaW5nIG9ubHkgZm9yIHZpZGVvIGNvbnRyb2xz
IGFuZCBhZGp1c3QgaGVpZ2h0IGFjY29yZGluZ2x5LgorICAgICAgICAoYXVkaW86Oi13ZWJraXQt
bWVkaWEtY29udHJvbHMtcGFuZWwsIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVs
KToKKyAgICAgICAgVXNlIGZsZXhib3ggb24gcGFuZWwsIGFkanVzdCBib3R0b20gYWxpZ25tZW50
LCBoZWlnaHQsIGJhY2tncm91bmQgY29sb3IgYW5kIGJvcmRlciByYWRpdXMuCisgICAgICAgIChh
dWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1tdXRlLWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQt
bWVkaWEtY29udHJvbHMtbXV0ZS1idXR0b24pOgorICAgICAgICBEaXNwbGF5IGJ1dHRvbnMgaW5s
aW5lIHdpdGggZml4ZWQgd2lkdGggYW5kIGhlaWdodCwgdmVydGljYWxseSBjZW50ZXJlZCwgbm8g
cGFkZGluZyBhbmQKKyAgICAgICAgNnB4IHNwYWNlIHRvIG5leHQgY29udHJvbHMgZWxlbWVudCAo
dGhpcyB3aWxsIGJlIDE1cHggaW5jbCB0aGUgc3BhY2UgaW4gdGhlIGltYWdlKS4KKyAgICAgICAg
KGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBsYXktYnV0dG9uLCB2aWRlbzo6LXdlYmtp
dC1tZWRpYS1jb250cm9scy1wbGF5LWJ1dHRvbik6CisgICAgICAgIERpc3BsYXkgYnV0dG9ucyBp
bmxpbmUgd2l0aCBmaXhlZCB3aWR0aCBhbmQgaGVpZ2h0LCB2ZXJ0aWNhbGx5IGNlbnRlcmVkLCBu
byBwYWRkaW5nIGFuZAorICAgICAgICA5cHggc3BhY2UgdG8gbmV4dCBjb250cm9scyBlbGVtZW50
ICh0aGlzIHdpbGwgYmUgMTVweCBpbmNsIHRoZSBzcGFjZSBpbiB0aGUgaW1hZ2UpLgorICAgICAg
ICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY3VycmVudC10aW1lLWRpc3BsYXksIHZp
ZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWN1cnJlbnQtdGltZS1kaXNwbGF5KToKKyAgICAg
ICAgRGlzcGxheSB0ZXh0IGFzIGJsb2NrLCB3aXRob3V0IGJyb2RlciwgYWRqdXN0ZWQgaGVpZ2h0
LCBmb250LWZhbWlseSwgZm9udC1zaXplIGFuZCA5cHggc3BhY2UKKyAgICAgICAgdG8gbmV4dCBj
b250cm9scyBlbGVtZW50ICh0aGlzIHdpbGwgYmUgMTVweCBpbmNsIHRoZSBzcGFjZSBpbiB0aGUg
aW1hZ2UpLgorICAgICAgICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUs
IHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWVsaW5lKToKKyAgICAgICAgQWRqdXN0
IGhlaWdodCwgcGFkZGluZywgYmFja2dyb3VuZC1jb2xvciwgbWluLXdkaXRoIGFuZCAxNXB4IHNw
YWNlIHRvIG5leHQgY29udHJvbHMgZWxlbWVudC4KKyAgICAgICAgKGF1ZGlvOjotd2Via2l0LW1l
ZGlhLWNvbnRyb2xzLXZvbHVtZS1zbGlkZXIsIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xz
LXZvbHVtZS1zbGlkZXIpOgorICAgICAgICBBZGp1c3QgaGVpZ2h0LCBtYXgtIGFuZCBtaW4td2lk
dGgsIGJhY2tncm91bmQtY29sb3IgYW5kIDE1cHggc3BhY2UgdG8gbmV4dCBjb250cm9scyBlbGVt
ZW50LgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21p
dW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1
bTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bSk6CisgICAgICAgIFJlbW92ZSB0aW1l
bGluZSBjb250YWluZXIsIHdoaWNoIGlzIG5vdCBuZWNlc3NhcnkgYW55IGxvbmdlciBiZWNhdXNl
IG9mIHRoZSB1c2Ugb2YgZmxleGJveC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJv
b3RFbGVtZW50Q2hyb21pdW06OmNyZWF0ZSk6CisgICAgICAgIFJlbW92ZSB0aW1lbGluZSBjb250
YWluZXIsIHdoaWNoIGlzIG5vdCBuZWNlc3NhcnkgYW55IGxvbmdlciBiZWNhdXNlIG9mIHRoZSB1
c2Ugb2YgZmxleGJveC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50
Q2hyb21pdW06OnNldE1lZGlhQ29udHJvbGxlcik6CisgICAgICAgIFJlbW92ZSB0aW1lbGluZSBj
b250YWluZXIsIHdoaWNoIGlzIG5vdCBuZWNlc3NhcnkgYW55IGxvbmdlciBiZWNhdXNlIG9mIHRo
ZSB1c2Ugb2YgZmxleGJveC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50Q2hyb21pdW06OnJlc2V0KToKKyAgICAgICAgU2hvdyB0aGUgdGltZWxpbmUgaW5zdGVhZCBv
ZiB0aGUgdGltZWxpbmUgY29udGFpbmVyIHdoZW4gcmVzZXR0aW5nLgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6cmVwb3J0ZWRFcnJvcik6CisgICAg
ICAgIEhpZGUgdGhlIHRpbWVsaW5lIGluc3RlYWQgb2YgdGhlIHRpbWVsaW5lIGNvbnRhaW5lciB3
aGVuIHJ1bm5pbmcgaW50byBhbiBlcnJvci4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVk
aWFDb250cm9sc0Nocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhaW50TWVkaWFNdXRl
QnV0dG9uKToKKyAgICAgICAgSW50cm9kdWNlIG5ldyBpbWFnZSByZXNvdXJjZXMgZm9yIHRoZSBt
dXRlIGJ1dHRvbiBhbmQgYWRqdXN0IGl0IGJhc2VkIG9uIHZvbHVtZSBsZXZlbHMuCisgICAgICAg
IChXZWJDb3JlOjpwYWludE1lZGlhUGxheUJ1dHRvbik6CisgICAgICAgIEludHJvZHVjZSBuZXcg
aW1hZ2UgcmVzb3VyY2VzIGZvciB0aGUgcGxheSBidXR0b24uCisgICAgICAgIChXZWJDb3JlOjpn
ZXRNZWRpYVNsaWRlclRodW1iKToKKyAgICAgICAgSW50cm9kdWNlIG5ldyBpbWFnZSByZXNvdXJj
ZXMgZm9yIHRoZSBwb3NpdGlvbiBzbGlkZXIgdGh1bWIuCisgICAgICAgIChXZWJDb3JlOjpwYWlu
dE1lZGlhVm9sdW1lU2xpZGVyVGh1bWIpOgorICAgICAgICBJbnRyb2R1Y2UgbmV3IGltYWdlIHJl
c291cmNlcyBmb3IgdGhlIHZvbHVtZSBzbGlkZXIgdGh1bWIuCisgICAgICAgIFJlbW92ZSB0aW1l
bGluZSBjb250YWluZXIgcmVuZGVyaW5nLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWVkaWFD
b250cm9sc0Nocm9taXVtOjpwYWludE1lZGlhQ29udHJvbHNQYXJ0KToKKyAgICAgICAgQWRkIHRp
bWVsaW5lIGNvbnRhaW5lciBwYWludGluZyB0byB0aGUgIm5vdCByZWFjaGVkIiBlbGVtZW50cy4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICBQcm92aWRlIHNpemUgc2V0dGluZ3MgZm9yIHRo
ZSBwb3NpdGlvbiBhbmQgdm9sdW1lIHNsaWRlcnMuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJN
ZWRpYUNvbnRyb2xzQ2hyb21pdW06OmFkanVzdE1lZGlhU2xpZGVyVGh1bWJTaXplKToKKyAgICAg
ICAgQ2FsY3VsYXRlIGNvcnJlY3Qgd2lkdGggYW5kIGhlaWdodCBzZXR0aW5ncyBmb3IgdGhlIG5l
dyBpbWFnZSByZXNvdXJjZXMgb2YgdGhlIHBvc2l0aW9uIGFuZCB2b2x1bWUKKyAgICAgICAgc2xp
ZGVyIHRodW1icy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5o
OgorICAgICAgICAoUmVuZGVyVGhlbWVDaHJvbWl1bU1hYyk6CisgICAgICAgIFJlbW92ZSB0aW1l
bGluZSBjb250YWluZXIgcmVuZGVyaW5nIChpLmUuIHRoZSBtZWRpYSBjb250cm9scyBiYWNrZ3Jv
dW5kKS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5tbToKKyAg
ICAgICAgUmVtb3ZlIHRpbWVsaW5lIGNvbnRhaW5lciByZW5kZXJpbmcgKGkuZS4gdGhlIG1lZGlh
IGNvbnRyb2xzIGJhY2tncm91bmQpLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUNo
cm9taXVtU2tpYS5jcHA6CisgICAgICAgIFJlbW92ZSB0aW1lbGluZSBjb250YWluZXIgcmVuZGVy
aW5nIChpLmUuIHRoZSBtZWRpYSBjb250cm9scyBiYWNrZ3JvdW5kKS4KKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaDoKKyAgICAgICAgKFJlbmRlclRoZW1lQ2hy
b21pdW1Ta2lhKToKKyAgICAgICAgUmVtb3ZlIHRpbWVsaW5lIGNvbnRhaW5lciByZW5kZXJpbmcg
KGkuZS4gdGhlIG1lZGlhIGNvbnRyb2xzIGJhY2tncm91bmQpLgorCiAyMDEyLTA2LTEyICBUaGlh
Z28gTWFyY29zIFAuIFNhbnRvcyAgPHRoaWFnby5zYW50b3NAaW50ZWwuY29tPgogCiAgICAgICAg
IEdlbmVyYXRlIC13ZWJraXQtYm94LWRlY29yYXRpb24tYnJlYWsgcHJvcGVydHkgb25seSB3aGVu
IHRoZSBmZWF0dXJlIGlzIGVuYWJsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9t
ZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3NzIGIvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJv
bHNDaHJvbWl1bS5jc3MKaW5kZXggNjViZjc4N2E1OTk3MDRlNzllMGE4NzFhYmVlNDcyYmU4NWEz
ZTc3YS4uYjM5MzEwMTZlMDQ1ZmIyNzQ3MjJjNDJiOGI5MjY1OTY4MDFhOWVmNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHNDaHJvbWl1bS5jc3MKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHNDaHJvbWl1bS5jc3MKQEAgLTMxLDcgKzMxLDcg
QEAgYm9keTotd2Via2l0LWZ1bGwtcGFnZS1tZWRpYSB7CiAKIGF1ZGlvIHsKICAgICB3aWR0aDog
MzAwcHg7Ci0gICAgaGVpZ2h0OiAzMnB4OworICAgIGhlaWdodDogMzBweDsKIH0KIAogYXVkaW86
LXdlYmtpdC1mdWxsLXBhZ2UtbWVkaWEsIHZpZGVvOi13ZWJraXQtZnVsbC1wYWdlLW1lZGlhIHsK
QEAgLTM5LDc0ICszOSw4NCBAQCBhdWRpbzotd2Via2l0LWZ1bGwtcGFnZS1tZWRpYSwgdmlkZW86
LXdlYmtpdC1mdWxsLXBhZ2UtbWVkaWEgewogICAgIG1heC13aWR0aDogMTAwJTsKIH0KIAotYXVk
aW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZW5jbG9zdXJlLCB2aWRlbzo6LXdlYmtpdC1tZWRp
YS1jb250cm9scy1lbmNsb3N1cmUgewotICAgIHdpZHRoOiAxMDAlOwotICAgIGhlaWdodDogMzJw
eDsKLSAgICBib3R0b206IDA7CithdWRpbzotd2Via2l0LWZ1bGwtcGFnZS1tZWRpYTo6LXdlYmtp
dC1tZWRpYS1jb250cm9scy1wYW5lbCwKK3ZpZGVvOi13ZWJraXQtZnVsbC1wYWdlLW1lZGlhOjot
d2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVsIHsKKyAgICBib3R0b206IDBweDsKIH0KIAotYXVk
aW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcGFuZWwsIHZpZGVvOjotd2Via2l0LW1lZGlhLWNv
bnRyb2xzLXBhbmVsIHsKLSAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOworOjotd2Via2l0
LW1lZGlhLWNvbnRyb2xzIHsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKKyAgICAtd2Via2l0
LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDsKLSAgICBw
b3NpdGlvbjogcmVsYXRpdmU7Ci0gICAgb3ZlcmZsb3c6IHZpc2libGU7Ci0gICAgYm90dG9tOiAw
OworICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7Cit9CisKK2F1ZGlvOjotd2Via2l0LW1l
ZGlhLWNvbnRyb2xzLWVuY2xvc3VyZSwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZW5j
bG9zdXJlIHsKICAgICB3aWR0aDogMTAwJTsKLSAgICBoZWlnaHQ6IDMycHg7Ci0gICAgei1pbmRl
eDogMDsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7CisgICAgbWF4
LXdpZHRoOiA4MDBweDsKKyAgICBoZWlnaHQ6IDMwcHg7CisgICAgYm90dG9tOiAwOworICAgIHRl
eHQtaW5kZW50OiAwOworICAgIHBhZGRpbmc6IDA7CisgICAgYm94LXNpemluZzogYm9yZGVyLWJv
eDsKIH0KIAotdmlkZW86LXdlYmtpdC1mdWxsLXBhZ2UtbWVkaWE6Oi13ZWJraXQtbWVkaWEtY29u
dHJvbHMtcGFuZWwgewotICAgIGJvdHRvbTogMHB4OwordmlkZW86Oi13ZWJraXQtbWVkaWEtY29u
dHJvbHMtZW5jbG9zdXJlIHsKKyAgICBwYWRkaW5nOiAwcHggNXB4IDVweCA1cHg7CisgICAgaGVp
Z2h0OiAzNXB4OwogfQogCiBhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1wYW5lbCwgdmlk
ZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcGFuZWwgewotICAgIC13ZWJraXQtYm94LWFsaWdu
OiBlbmQ7CisgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CisgICAgLXdlYmtpdC1ib3gtb3JpZW50
OiBob3Jpem9udGFsOworICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CisgICAgLXdlYmtp
dC1ib3gtcGFjazogY2VudGVyOworICAgIGJvdHRvbTogYXV0bzsKKyAgICBoZWlnaHQ6IDMwcHg7
CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMCwgMjAsIDIwLCAwLjgpOworICAgIGJvcmRl
ci1yYWRpdXM6IDVweDsKIH0KIAogYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtbXV0ZS1i
dXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLW11dGUtYnV0dG9uIHsKICAgICAt
d2Via2l0LWFwcGVhcmFuY2U6IG1lZGlhLW11dGUtYnV0dG9uOwotICAgIHdpZHRoOiAzNHB4Owot
ICAgIGhlaWdodDogMzJweDsKKyAgICBkaXNwbGF5OiBpbmxpbmU7CisgICAgYm9yZGVyOiBub25l
OworICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CisgICAgd2lkdGg6IDM1cHg7CisgICAgaGVp
Z2h0OiAzMHB4OworICAgIGxpbmUtaGVpZ2h0OiAzMHB4OworICAgIG1hcmdpbjogMCA2cHggMCAw
OworICAgIHBhZGRpbmc6IDA7CiB9CiAKIGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBs
YXktYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1wbGF5LWJ1dHRvbiB7CiAg
ICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZWRpYS1wbGF5LWJ1dHRvbjsKLSAgICBtYXJnaW46IDdw
eCA4cHggNnB4IDhweDsKLSAgICB3aWR0aDogMThweDsKLSAgICBoZWlnaHQ6IDE5cHg7Ci19Ci0K
LWF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWVsaW5lLWNvbnRhaW5lciwgdmlkZW86
Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUtY29udGFpbmVyIHsKLSAgICAtd2Via2l0
LWFwcGVhcmFuY2U6IG1lZGlhLXRpbWVsaW5lLWNvbnRhaW5lcjsKLSAgICAtd2Via2l0LXVzZXIt
c2VsZWN0OiBub25lOwotICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDsKLSAgICAt
d2Via2l0LWJveC1hbGlnbjogY2VudGVyOwotICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsK
LSAgICAtd2Via2l0LWJveC1mbGV4OiAxOwotICAgIHdpZHRoOiBhdXRvOwotICAgIGhlaWdodDog
MzJweDsKLQotICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAw
LjIpOwotICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4y
KTsKKyAgICBkaXNwbGF5OiBpbmxpbmU7CisgICAgYm9yZGVyOiBub25lOworICAgIGJveC1zaXpp
bmc6IGJvcmRlci1ib3g7CisgICAgd2lkdGg6IDMwcHg7CisgICAgaGVpZ2h0OiAzMHB4OworICAg
IGxpbmUtaGVpZ2h0OiAzMHB4OworICAgIG1hcmdpbi1sZWZ0OiA5cHg7CisgICAgbWFyZ2luLXJp
Z2h0OiA5cHg7CisgICAgcGFkZGluZzogMDsKIH0KIAotYXVkaW86Oi13ZWJraXQtbWVkaWEtY29u
dHJvbHMtY3VycmVudC10aW1lLWRpc3BsYXksIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xz
LWN1cnJlbnQtdGltZS1kaXNwbGF5IHsKK2F1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWN1
cnJlbnQtdGltZS1kaXNwbGF5LCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1jdXJyZW50
LXRpbWUtZGlzcGxheSwKK2F1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWUtcmVtYWlu
aW5nLWRpc3BsYXksIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWUtcmVtYWluaW5n
LWRpc3BsYXkgewogICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWVkaWEtY3VycmVudC10aW1lLWRp
c3BsYXk7CiAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKLSAgICBkaXNwbGF5OiBpbmxp
bmU7Ci0KLSAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIGRpc3BsYXk6IGJsb2NrOworICAgIGJv
cmRlcjogbm9uZTsKICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAKLSAgICBsaW5lLWhlaWdodDogMjFw
eDsKLSAgICBoZWlnaHQ6IDIwcHg7Ci0gICAgd2lkdGg6IDU4cHg7CisgICAgaGVpZ2h0OiAzMHB4
OworICAgIG1hcmdpbjogMCA5cHggMCAwOworICAgIHBhZGRpbmc6IDA7CiAKLSAgICB0ZXh0LWFs
aWduOiBjZW50ZXI7Ci0gICAgZm9udC1mYW1pbHk6IEFyaWFsOwotICAgIGZvbnQtc2l6ZTogMTZw
eDsKKyAgICBsaW5lLWhlaWdodDogMzBweDsKKyAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZl
dGljYSwgc2Fucy1zZXJpZjsKKyAgICBmb250LXNpemU6IDEzcHg7CiAgICAgZm9udC13ZWlnaHQ6
IGJvbGQ7CiAgICAgY29sb3I6IHdoaXRlOwogCkBAIC0xMjEsMjYgKzEzMSw2MSBAQCBhdWRpbzo6
LXdlYmtpdC1tZWRpYS1jb250cm9scy1jdXJyZW50LXRpbWUtZGlzcGxheSwgdmlkZW86Oi13ZWJr
aXQtbWVkaWEtY29udHJvbAogYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUs
IHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWVsaW5lIHsKICAgICAtd2Via2l0LWFw
cGVhcmFuY2U6IG1lZGlhLXNsaWRlcjsKICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKLSAgICBi
b3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgIC13ZWJraXQtYm94LWZsZXg6IDE7Ci0KLSAgICBw
YWRkaW5nOiAwcHg7Ci0gICAgbWFyZ2luOiAwcHggNnB4OwotICAgIGhlaWdodDogMThweDsKLQot
ICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOwotICAgIGJvcmRlci1z
dHlsZTogc29saWQ7Ci0gICAgYm9yZGVyLXdpZHRoOiAxcHg7Ci0gICAgYm9yZGVyLXJhZGl1czog
MnB4OwotICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7Ci0g
ICAgY29sb3I6IHJnYig1MCwgMTQwLCAyMjMpOworICAgIGhlaWdodDogOHB4OworICAgIG1hcmdp
bjogMCAxNXB4IDAgMDsKKyAgICBwYWRkaW5nOiAwOworICAgIGJhY2tncm91bmQtY29sb3I6IHRy
YW5zcGFyZW50OworICAgIG1pbi13aWR0aDogMjVweDsKIH0KIAogYXVkaW86Oi13ZWJraXQtbWVk
aWEtY29udHJvbHMtdm9sdW1lLXNsaWRlciwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMt
dm9sdW1lLXNsaWRlciB7CiAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZWRpYS12b2x1bWUtc2xp
ZGVyOwogICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgIC13ZWJraXQtYm94LWZsZXg6IDE7
Ci0gICAgbWFyZ2luLXJpZ2h0OiA1cHg7Ci0gICAgbWF4LXdpZHRoOiAxMDBweDsKLSAgICBoZWln
aHQ6IDMycHg7CisgICAgaGVpZ2h0OiA4cHg7CisgICAgbWF4LXdpZHRoOiA3MHB4OworICAgIG1h
cmdpbjogMCAxNXB4IDAgMDsKKyAgICBwYWRkaW5nOiAwOworICAgIGJhY2tncm91bmQtY29sb3I6
IHRyYW5zcGFyZW50OworICAgIG1pbi13aWR0aDogMTVweDsKK30KKworLyogRklYTUUgdGhlc2Ug
c2hvdWxkbid0IHVzZSBzcGVjaWFsIHBzZXVkb1NoYWRvd0lkcywgYnV0IG5pY2VyIHJ1bGVzLgor
ICAgaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTEx
MjUwOAorICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjE4Cisq
LworaW5wdXRbdHlwZT0icmFuZ2UiXTo6LXdlYmtpdC1tZWRpYS1zbGlkZXItY29udGFpbmVyIHsK
KyAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKKyAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVy
OworICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDsgLyogVGhpcyBwcm9wZXJ0eSBp
cyB1cGRhdGVkIGJ5IEMrKyBjb2RlLiAqLworICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVy
LWJveDsKKyAgICBoZWlnaHQ6IDEwMCU7CisgICAgd2lkdGg6IDEwMCU7CisgICAgYm9yZGVyOiAx
cHggc29saWQgcmdiKDEzMCwgMTMwLCAxMzApOworICAgIGJvcmRlci1yYWRpdXM6IDRweDsKKyAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogQmFja2dyb3VuZCBkcmF3aW5nIGlz
IG1hbmFnZWQgYnkgQysrIGNvZGUgdG8gZHJhdyByYW5nZXMuICovCit9CisKK2lucHV0W3R5cGU9
InJhbmdlIl06Oi13ZWJraXQtbWVkaWEtc2xpZGVyLXRodW1iIHsKKyAgICBkaXNwbGF5OiBibG9j
azsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHNsaWRlcnRodW1iLWhvcml6b250YWw7CisgICAg
LXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OworICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsK
KyAgICBib3R0b206IDFweDsKKyAgICBtYXJnaW4tbGVmdDogLTdweDsKKyAgICBtYXJnaW4tcmln
aHQ6IC03cHg7Cit9CisKK2F1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWZ1bGxzY3JlZW4t
YnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1mdWxsc2NyZWVuLWJ1dHRvbiB7
CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZWRpYS1lbnRlci1mdWxsc2NyZWVuLWJ1dHRvbjsK
KyAgICBkaXNwbGF5OiBpbmxpbmU7CisgICAgYm9yZGVyOiBub25lOworICAgIGJveC1zaXppbmc6
IGJvcmRlci1ib3g7CisgICAgd2lkdGg6IDMwcHg7CisgICAgaGVpZ2h0OiAzMHB4OworICAgIGxp
bmUtaGVpZ2h0OiAzMHB4OworICAgIG1hcmdpbi1sZWZ0OiAtNXB4OworICAgIG1hcmdpbi1yaWdo
dDogOXB4OworICAgIHBhZGRpbmc6IDA7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKaW5kZXggYzBkYWZjOWFjODY4ZDQ0YTBj
OTYwMzQ4NWEzMGNjYzQ2NjdjNDc3ZC4uMjM2Mzg0ZjE2OTg5NjhjZTgyMWVkODJhMTJiZGQ4NmUz
Y2EyOTk3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9sRWxlbWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29u
dHJvbEVsZW1lbnRzLmNwcApAQCAtOTAxLDYgKzkwMSw3IEBAIGNvbnN0IEF0b21pY1N0cmluZyYg
TWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0CiAKIGlu
bGluZSBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50OjpNZWRpYUNvbnRyb2xWb2x1bWVT
bGlkZXJFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IE1lZGlhQ29udHJvbElucHV0
RWxlbWVudChkb2N1bWVudCwgTWVkaWFWb2x1bWVTbGlkZXIpCisgICAgLCBtX2NsZWFyTXV0ZWRP
blVzZXJJbnRlcmFjdGlvbihmYWxzZSkKIHsKIH0KIApAQCAtOTM0LDYgKzkzNSw4IEBAIHZvaWQg
TWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVu
dCogZXZlbnQpCiAgICAgICAgIG1lZGlhQ29udHJvbGxlcigpLT5zZXRWb2x1bWUodm9sdW1lLCBl
Yyk7CiAgICAgICAgIEFTU0VSVCghZWMpOwogICAgIH0KKyAgICBpZiAobV9jbGVhck11dGVkT25V
c2VySW50ZXJhY3Rpb24pCisgICAgICAgIG1lZGlhQ29udHJvbGxlcigpLT5zZXRNdXRlZChmYWxz
ZSk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6c2V0Vm9sdW1l
KGZsb2F0IHZvbHVtZSkKQEAgLTk0Miw2ICs5NDUsMTEgQEAgdm9pZCBNZWRpYUNvbnRyb2xWb2x1
bWVTbGlkZXJFbGVtZW50OjpzZXRWb2x1bWUoZmxvYXQgdm9sdW1lKQogICAgICAgICBzZXRWYWx1
ZShTdHJpbmc6Om51bWJlcih2b2x1bWUpKTsKIH0KIAordm9pZCBNZWRpYUNvbnRyb2xWb2x1bWVT
bGlkZXJFbGVtZW50OjpzZXRDbGVhck11dGVkT25Vc2VySW50ZXJhY3Rpb24oYm9vbCBjbGVhck11
dGUpCit7CisgICAgbV9jbGVhck11dGVkT25Vc2VySW50ZXJhY3Rpb24gPSBjbGVhck11dGU7Cit9
CisKIGNvbnN0IEF0b21pY1N0cmluZyYgTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6
c2hhZG93UHNldWRvSWQoKSBjb25zdAogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWlj
U3RyaW5nLCBpZCwgKCItd2Via2l0LW1lZGlhLWNvbnRyb2xzLXZvbHVtZS1zbGlkZXIiKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaApp
bmRleCA1YmNhNWE5YTY1YzIwMWY4MzE0MjU2MTNlZWQ4YjFmMjY1Mzg0ZGJhLi5lZmRiMjFmMGRh
YTAwZGQ3NjA1NDAwYzIzNTRhZjViN2JjNjcyYmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgKQEAgLTM4OSwxMiArMzg5LDE0IEBA
IHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7
CiAgICAgdm9pZCBzZXRWb2x1bWUoZmxvYXQpOworICAgIHZvaWQgc2V0Q2xlYXJNdXRlZE9uVXNl
ckludGVyYWN0aW9uKGJvb2wpOwogCiBwcm90ZWN0ZWQ6CiAgICAgTWVkaWFDb250cm9sVm9sdW1l
U2xpZGVyRWxlbWVudChEb2N1bWVudCopOwogCiBwcml2YXRlOgogICAgIHZpcnR1YWwgY29uc3Qg
QXRvbWljU3RyaW5nJiBzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0OworICAgIGJvb2wgbV9jbGVhck11
dGVkT25Vc2VySW50ZXJhY3Rpb247CiB9OwogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xS
b290RWxlbWVudENocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlh
Q29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uY3BwCmluZGV4IDYyNDUxNDlhYmEyODFmNTYwNzhk
NDkxODkxMjQxYTY0NzdhZjIwNTAuLjM4MDFlOTI2M2ExOWMzMjYxYTMzMDAyMjczZDAxODgxYzRk
OTI3NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bFJvb3RFbGVtZW50Q2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uY3BwCkBAIC00Niw2ICs0Niw4IEBAIHVz
aW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIGNvbnN0
IGRvdWJsZSB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyA9IDI7
CisKIE1lZGlhQ29udHJvbENocm9taXVtRW5jbG9zdXJlRWxlbWVudDo6TWVkaWFDb250cm9sQ2hy
b21pdW1FbmNsb3N1cmVFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IEhUTUxEaXZF
bGVtZW50KEhUTUxOYW1lczo6ZGl2VGFnLCBkb2N1bWVudC0+ZG9jdW1lbnQoKSkKICAgICAsIG1f
bWVkaWFDb250cm9sbGVyKDApCkBAIC02OCw4ICs3MCw4IEBAIE1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50Q2hyb21pdW06Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0oRG9jdW1lbnQqIGRv
Y3VtCiAgICAgLCBtX21lZGlhQ29udHJvbGxlcigwKQogICAgICwgbV9wbGF5QnV0dG9uKDApCiAg
ICAgLCBtX2N1cnJlbnRUaW1lRGlzcGxheSgwKQorICAgICwgbV9kdXJhdGlvbkRpc3BsYXkoMCkK
ICAgICAsIG1fdGltZWxpbmUoMCkKLSAgICAsIG1fdGltZWxpbmVDb250YWluZXIoMCkKICAgICAs
IG1fcGFuZWxNdXRlQnV0dG9uKDApCiAgICAgLCBtX3ZvbHVtZVNsaWRlcigwKQogI2lmIEVOQUJM
RShGVUxMU0NSRUVOX01FRElBX0NPTlRST0xTKQpAQCAtODEsNyArODMsOSBAQCBNZWRpYUNvbnRy
b2xSb290RWxlbWVudENocm9taXVtOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtKERv
Y3VtZW50KiBkb2N1bQogICAgICwgbV90ZXh0RGlzcGxheUNvbnRhaW5lcigwKQogI2VuZGlmCiAg
ICAgLCBtX29wYXF1ZSh0cnVlKQorICAgICwgbV9oaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIo
dGhpcywgJk1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmhpZGVGdWxsc2NyZWVuQ29u
dHJvbHNUaW1lckZpcmVkKQogICAgICwgbV9pc01vdXNlT3ZlckNvbnRyb2xzKGZhbHNlKQorICAg
ICwgbV9pc0Z1bGxzY3JlZW4oZmFsc2UpCiB7CiB9CiAKQEAgLTExMCwyMiArMTE0LDIyIEBAIFBh
c3NSZWZQdHI8TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bT4gTWVkaWFDb250cm9sUm9v
dEVsZW1lbnRDaHJvbWl1bTo6Y3JlCiAgICAgaWYgKGVjKQogICAgICAgICByZXR1cm4gMDsKIAot
ICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xUaW1lbGluZUNvbnRhaW5lckVsZW1lbnQ+IHRpbWVsaW5l
Q29udGFpbmVyID0gTWVkaWFDb250cm9sVGltZWxpbmVDb250YWluZXJFbGVtZW50OjpjcmVhdGUo
ZG9jdW1lbnQpOwotCiAgICAgUmVmUHRyPE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudD4gdGlt
ZWxpbmUgPSBNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgY29u
dHJvbHMuZ2V0KCkpOwogICAgIGNvbnRyb2xzLT5tX3RpbWVsaW5lID0gdGltZWxpbmUuZ2V0KCk7
Ci0gICAgdGltZWxpbmVDb250YWluZXItPmFwcGVuZENoaWxkKHRpbWVsaW5lLnJlbGVhc2UoKSwg
ZWMsIHRydWUpOworICAgIHBhbmVsLT5hcHBlbmRDaGlsZCh0aW1lbGluZS5yZWxlYXNlKCksIGVj
LCB0cnVlKTsKICAgICBpZiAoZWMpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgUmVmUHRyPE1l
ZGlhQ29udHJvbEN1cnJlbnRUaW1lRGlzcGxheUVsZW1lbnQ+IGN1cnJlbnRUaW1lRGlzcGxheSA9
IE1lZGlhQ29udHJvbEN1cnJlbnRUaW1lRGlzcGxheUVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7
CiAgICAgY29udHJvbHMtPm1fY3VycmVudFRpbWVEaXNwbGF5ID0gY3VycmVudFRpbWVEaXNwbGF5
LmdldCgpOwotICAgIHRpbWVsaW5lQ29udGFpbmVyLT5hcHBlbmRDaGlsZChjdXJyZW50VGltZURp
c3BsYXkucmVsZWFzZSgpLCBlYywgdHJ1ZSk7CisgICAgY29udHJvbHMtPm1fY3VycmVudFRpbWVE
aXNwbGF5LT5oaWRlKCk7CisgICAgcGFuZWwtPmFwcGVuZENoaWxkKGN1cnJlbnRUaW1lRGlzcGxh
eS5yZWxlYXNlKCksIGVjLCB0cnVlKTsKICAgICBpZiAoZWMpCiAgICAgICAgIHJldHVybiAwOwog
Ci0gICAgY29udHJvbHMtPm1fdGltZWxpbmVDb250YWluZXIgPSB0aW1lbGluZUNvbnRhaW5lci5n
ZXQoKTsKLSAgICBwYW5lbC0+YXBwZW5kQ2hpbGQodGltZWxpbmVDb250YWluZXIucmVsZWFzZSgp
LCBlYywgdHJ1ZSk7CisgICAgUmVmUHRyPE1lZGlhQ29udHJvbFRpbWVSZW1haW5pbmdEaXNwbGF5
RWxlbWVudD4gZHVyYXRpb25EaXNwbGF5ID0gTWVkaWFDb250cm9sVGltZVJlbWFpbmluZ0Rpc3Bs
YXlFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQpOworICAgIGNvbnRyb2xzLT5tX2R1cmF0aW9uRGlz
cGxheSA9IGR1cmF0aW9uRGlzcGxheS5nZXQoKTsKKyAgICBwYW5lbC0+YXBwZW5kQ2hpbGQoZHVy
YXRpb25EaXNwbGF5LnJlbGVhc2UoKSwgZWMsIHRydWUpOwogICAgIGlmIChlYykKICAgICAgICAg
cmV0dXJuIDA7CiAKQEAgLTEzNyw2ICsxNDEsNyBAQCBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFJv
b3RFbGVtZW50Q2hyb21pdW0+IE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmNyZQog
CiAgICAgUmVmUHRyPE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ+IHNsaWRlciA9IE1l
ZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCk7CiAgICAgY29u
dHJvbHMtPm1fdm9sdW1lU2xpZGVyID0gc2xpZGVyLmdldCgpOworICAgIGNvbnRyb2xzLT5tX3Zv
bHVtZVNsaWRlci0+c2V0Q2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9uKHRydWUpOwogICAgIHBh
bmVsLT5hcHBlbmRDaGlsZChzbGlkZXIucmVsZWFzZSgpLCBlYywgdHJ1ZSk7CiAgICAgaWYgKGVj
KQogICAgICAgICByZXR1cm4gMDsKQEAgLTE3MiwxMCArMTc3LDEwIEBAIHZvaWQgTWVkaWFDb250
cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6c2V0TWVkaWFDb250cm9sbGVyKE1lZGlhQ29udHJvbGxl
ckludGVyZmFjCiAgICAgICAgIG1fcGxheUJ1dHRvbi0+c2V0TWVkaWFDb250cm9sbGVyKGNvbnRy
b2xsZXIpOwogICAgIGlmIChtX2N1cnJlbnRUaW1lRGlzcGxheSkKICAgICAgICAgbV9jdXJyZW50
VGltZURpc3BsYXktPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKKyAgICBpZiAobV9k
dXJhdGlvbkRpc3BsYXkpCisgICAgICAgIG1fZHVyYXRpb25EaXNwbGF5LT5zZXRNZWRpYUNvbnRy
b2xsZXIoY29udHJvbGxlcik7CiAgICAgaWYgKG1fdGltZWxpbmUpCiAgICAgICAgIG1fdGltZWxp
bmUtPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKLSAgICBpZiAobV90aW1lbGluZUNv
bnRhaW5lcikKLSAgICAgICAgbV90aW1lbGluZUNvbnRhaW5lci0+c2V0TWVkaWFDb250cm9sbGVy
KGNvbnRyb2xsZXIpOwogICAgIGlmIChtX3BhbmVsTXV0ZUJ1dHRvbikKICAgICAgICAgbV9wYW5l
bE11dGVCdXR0b24tPnNldE1lZGlhQ29udHJvbGxlcihjb250cm9sbGVyKTsKICAgICBpZiAobV92
b2x1bWVTbGlkZXIpCkBAIC0yMjcsNyArMjMyLDExIEBAIHZvaWQgTWVkaWFDb250cm9sUm9vdEVs
ZW1lbnRDaHJvbWl1bTo6cmVzZXQoKQogCiAgICAgZmxvYXQgZHVyYXRpb24gPSBtX21lZGlhQ29u
dHJvbGxlci0+ZHVyYXRpb24oKTsKICAgICBtX3RpbWVsaW5lLT5zZXREdXJhdGlvbihkdXJhdGlv
bik7Ci0gICAgbV90aW1lbGluZUNvbnRhaW5lci0+c2hvdygpOworICAgIG1fdGltZWxpbmUtPnNo
b3coKTsKKworICAgIG1fZHVyYXRpb25EaXNwbGF5LT5zZXRJbm5lclRleHQocGFnZS0+dGhlbWUo
KS0+Zm9ybWF0TWVkaWFDb250cm9sc1RpbWUoZHVyYXRpb24pLCBBU1NFUlRfTk9fRVhDRVBUSU9O
KTsKKyAgICBtX2R1cmF0aW9uRGlzcGxheS0+c2V0Q3VycmVudFZhbHVlKGR1cmF0aW9uKTsKKwog
ICAgIG1fdGltZWxpbmUtPnNldFBvc2l0aW9uKG1fbWVkaWFDb250cm9sbGVyLT5jdXJyZW50VGlt
ZSgpKTsKICAgICB1cGRhdGVUaW1lRGlzcGxheSgpOwogCkBAIC0yNDYsNyArMjU1LDEyIEBAIHZv
aWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6cGxheWJhY2tTdGFydGVkKCkKIHsK
ICAgICBtX3BsYXlCdXR0b24tPnVwZGF0ZURpc3BsYXlUeXBlKCk7CiAgICAgbV90aW1lbGluZS0+
c2V0UG9zaXRpb24obV9tZWRpYUNvbnRyb2xsZXItPmN1cnJlbnRUaW1lKCkpOworICAgIG1fY3Vy
cmVudFRpbWVEaXNwbGF5LT5zaG93KCk7CisgICAgbV9kdXJhdGlvbkRpc3BsYXktPmhpZGUoKTsK
ICAgICB1cGRhdGVUaW1lRGlzcGxheSgpOworCisgICAgaWYgKG1faXNGdWxsc2NyZWVuKQorICAg
ICAgICBzdGFydEhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcigpOwogfQogCiB2b2lkIE1lZGlh
Q29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnBsYXliYWNrUHJvZ3Jlc3NlZCgpCkBAIC0yNjQs
NiArMjc4LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpwbGF5YmFj
a1N0b3BwZWQoKQogICAgIG1fdGltZWxpbmUtPnNldFBvc2l0aW9uKG1fbWVkaWFDb250cm9sbGVy
LT5jdXJyZW50VGltZSgpKTsKICAgICB1cGRhdGVUaW1lRGlzcGxheSgpOwogICAgIG1ha2VPcGFx
dWUoKTsKKworICAgIHN0b3BIaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIoKTsKIH0KIAogdm9p
ZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjp1cGRhdGVUaW1lRGlzcGxheSgpCkBA
IC0yNzUsNiArMjkxLDEyIEBAIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6
dXBkYXRlVGltZURpc3BsYXkoKQogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuOwogCisg
ICAgLy8gQWZ0ZXIgc2VlaywgaGlkZSBkdXJhdGlvbiBkaXNwbGF5IGFuZCBzaG93IGN1cnJlbnQg
dGltZS4KKyAgICBpZiAobm93ID4gMCkgeworICAgICAgICBtX2N1cnJlbnRUaW1lRGlzcGxheS0+
c2hvdygpOworICAgICAgICBtX2R1cmF0aW9uRGlzcGxheS0+aGlkZSgpOworICAgIH0KKwogICAg
IC8vIEFsbG93IHRoZSB0aGVtZSB0byBmb3JtYXQgdGhlIHRpbWUuCiAgICAgRXhjZXB0aW9uQ29k
ZSBlYzsKICAgICBtX2N1cnJlbnRUaW1lRGlzcGxheS0+c2V0SW5uZXJUZXh0KHBhZ2UtPnRoZW1l
KCktPmZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGltZShub3csIGR1cmF0aW9uKSwgZWMpOwpA
QCAtMjg3LDEyICszMDksMTIgQEAgdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVt
OjpyZXBvcnRlZEVycm9yKCkKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybjsKIAotICAg
IG1fdGltZWxpbmVDb250YWluZXItPmhpZGUoKTsKKyAgICBtX3RpbWVsaW5lLT5oaWRlKCk7CiAg
ICAgbV9wYW5lbE11dGVCdXR0b24tPmhpZGUoKTsKKyAgICBtX3ZvbHVtZVNsaWRlci0+aGlkZSgp
OwogI2lmIEVOQUJMRShGVUxMU0NSRUVOX01FRElBX0NPTlRST0xTKQogICAgIG1fZnVsbHNjcmVl
bkJ1dHRvbi0+aGlkZSgpOwogI2VuZGlmCi0gICAgbV92b2x1bWVTbGlkZXItPmhpZGUoKTsKIH0K
IAogdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjp1cGRhdGVTdGF0dXNEaXNw
bGF5KCkKQEAgLTMyNiwxNSArMzQ4LDU1IEBAIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRD
aHJvbWl1bTo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiAgICAgaWYgKGV2ZW50
LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLm1vdXNlb3ZlckV2ZW50KSB7CiAgICAgICAgIGlmICgh
Y29udGFpbnNSZWxhdGVkVGFyZ2V0KGV2ZW50KSkgewogICAgICAgICAgICAgbV9pc01vdXNlT3Zl
ckNvbnRyb2xzID0gdHJ1ZTsKLSAgICAgICAgICAgIGlmICghbV9tZWRpYUNvbnRyb2xsZXItPmNh
blBsYXkoKSkKKyAgICAgICAgICAgIGlmICghbV9tZWRpYUNvbnRyb2xsZXItPmNhblBsYXkoKSkg
ewogICAgICAgICAgICAgICAgIG1ha2VPcGFxdWUoKTsKKyAgICAgICAgICAgICAgICBpZiAoc2hv
dWxkSGlkZUNvbnRyb2xzKCkpCisgICAgICAgICAgICAgICAgICAgIHN0YXJ0SGlkZUZ1bGxzY3Jl
ZW5Db250cm9sc1RpbWVyKCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9IGVsc2Ug
aWYgKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLm1vdXNlb3V0RXZlbnQpIHsKLSAgICAg
ICAgaWYgKCFjb250YWluc1JlbGF0ZWRUYXJnZXQoZXZlbnQpKQorICAgICAgICBpZiAoIWNvbnRh
aW5zUmVsYXRlZFRhcmdldChldmVudCkpIHsKICAgICAgICAgICAgIG1faXNNb3VzZU92ZXJDb250
cm9scyA9IGZhbHNlOworICAgICAgICAgICAgc3RvcEhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1l
cigpOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50TmFt
ZXMoKS5tb3VzZW1vdmVFdmVudCkgeworICAgICAgICBpZiAobV9pc0Z1bGxzY3JlZW4pIHsKKyAg
ICAgICAgICAgIC8vIFdoZW4gd2UgZ2V0IGEgbW91c2UgbW92ZSBpbiBmdWxsc2NyZWVuIG1vZGUs
IHNob3cgdGhlIG1lZGlhIGNvbnRyb2xzLCBhbmQgc3RhcnQgYSB0aW1lcgorICAgICAgICAgICAg
Ly8gdGhhdCB3aWxsIGhpZGUgdGhlIG1lZGlhIGNvbnRyb2xzIGFmdGVyIGEgMyBzZWNvbmRzIHdp
dGhvdXQgYSBtb3VzZSBtb3ZlLgorICAgICAgICAgICAgbWFrZU9wYXF1ZSgpOworICAgICAgICAg
ICAgaWYgKHNob3VsZEhpZGVDb250cm9scygpKQorICAgICAgICAgICAgICAgIHN0YXJ0SGlkZUZ1
bGxzY3JlZW5Db250cm9sc1RpbWVyKCk7CisgICAgICAgIH0KICAgICB9CiB9CiAKK3ZvaWQgTWVk
aWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6c3RhcnRIaWRlRnVsbHNjcmVlbkNvbnRyb2xz
VGltZXIoKQoreworICAgIGlmICghbV9pc0Z1bGxzY3JlZW4pCisgICAgICAgIHJldHVybjsKKwor
ICAgIG1faGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyLnN0YXJ0T25lU2hvdCh0aW1lV2l0aG91
dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyk7Cit9CisKK3ZvaWQgTWVkaWFDb250
cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6aGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyRmlyZWQo
VGltZXI8TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bT4qKQoreworICAgIGlmIChtX21l
ZGlhQ29udHJvbGxlci0+cGF1c2VkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghbV9p
c0Z1bGxzY3JlZW4pCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghc2hvdWxkSGlkZUNvbnRy
b2xzKCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1ha2VUcmFuc3BhcmVudCgpOworfQorCit2
b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnN0b3BIaWRlRnVsbHNjcmVlbkNv
bnRyb2xzVGltZXIoKQoreworICAgIG1faGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyLnN0b3Ao
KTsKK30KKwogdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpjaGFuZ2VkQ2xv
c2VkQ2FwdGlvbnNWaXNpYmlsaXR5KCkKIHsKIH0KQEAgLTM0Miw2ICs0MDQsMTEgQEAgdm9pZCBN
ZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpjaGFuZ2VkQ2xvc2VkQ2FwdGlvbnNWaXNp
YmlsaXR5KCkKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6Y2hhbmdlZE11
dGUoKQogewogICAgIG1fcGFuZWxNdXRlQnV0dG9uLT5jaGFuZ2VkTXV0ZSgpOworCisgICAgaWYg
KG1fbWVkaWFDb250cm9sbGVyLT5tdXRlZCgpKQorICAgICAgICBtX3ZvbHVtZVNsaWRlci0+c2V0
Vm9sdW1lKDApOworICAgIGVsc2UKKyAgICAgICAgbV92b2x1bWVTbGlkZXItPnNldFZvbHVtZSht
X21lZGlhQ29udHJvbGxlci0+dm9sdW1lKCkpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbFJvb3RF
bGVtZW50Q2hyb21pdW06OmNoYW5nZWRWb2x1bWUoKQpAQCAtMzUxLDEwICs0MTgsMTYgQEAgdm9p
ZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpjaGFuZ2VkVm9sdW1lKCkKIAogdm9p
ZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjplbnRlcmVkRnVsbHNjcmVlbigpCiB7
CisgICAgbV9pc0Z1bGxzY3JlZW4gPSB0cnVlOworICAgIG1fZnVsbHNjcmVlbkJ1dHRvbi0+c2V0
SXNGdWxsc2NyZWVuKHRydWUpOworICAgIHN0YXJ0SGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVy
KCk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6ZXhpdGVkRnVs
bHNjcmVlbigpCiB7CisgICAgbV9pc0Z1bGxzY3JlZW4gPSBmYWxzZTsKKyAgICBtX2Z1bGxzY3Jl
ZW5CdXR0b24tPnNldElzRnVsbHNjcmVlbihmYWxzZSk7CisgICAgc3RvcEhpZGVGdWxsc2NyZWVu
Q29udHJvbHNUaW1lcigpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21p
dW06OnNob3dWb2x1bWVTbGlkZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5oCmluZGV4IGY0YzM5
MjFhYzdkMGM1YTllYmIzNzU2MGMzM2NiYWYyM2VhMzU0ZTQuLmYxMGI3MjhlODBlMjFkYTU2OWQ0
NTgzNDA1ZmY2ODE0MjY1N2E0OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmgKQEAgLTQwLDYg
KzQwLDcgQEAgY2xhc3MgRXZlbnQ7CiBjbGFzcyBNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25F
bGVtZW50OwogY2xhc3MgTWVkaWFDb250cm9sUGxheUJ1dHRvbkVsZW1lbnQ7CiBjbGFzcyBNZWRp
YUNvbnRyb2xDdXJyZW50VGltZURpc3BsYXlFbGVtZW50OworY2xhc3MgTWVkaWFDb250cm9sVGlt
ZVJlbWFpbmluZ0Rpc3BsYXlFbGVtZW50OwogY2xhc3MgTWVkaWFDb250cm9sVGltZWxpbmVFbGVt
ZW50OwogY2xhc3MgTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDsKIGNsYXNzIE1lZGlh
Q29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50OwpAQCAtMTI1LDYgKzEyNiw5IEBAIHByaXZh
dGU6CiAgICAgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bShEb2N1bWVudCopOwogCiAg
ICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsKKyAgICB2b2lkIGhp
ZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lckZpcmVkKFRpbWVyPE1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50Q2hyb21pdW0+Kik7CisgICAgdm9pZCBzdGFydEhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1l
cigpOworICAgIHZvaWQgc3RvcEhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcigpOwogCiAgICAg
dmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHNoYWRvd1BzZXVkb0lkKCkgY29uc3Q7CiAKQEAg
LTEzNCw2ICsxMzgsNyBAQCBwcml2YXRlOgogCiAgICAgTWVkaWFDb250cm9sUGxheUJ1dHRvbkVs
ZW1lbnQqIG1fcGxheUJ1dHRvbjsKICAgICBNZWRpYUNvbnRyb2xDdXJyZW50VGltZURpc3BsYXlF
bGVtZW50KiBtX2N1cnJlbnRUaW1lRGlzcGxheTsKKyAgICBNZWRpYUNvbnRyb2xUaW1lUmVtYWlu
aW5nRGlzcGxheUVsZW1lbnQqIG1fZHVyYXRpb25EaXNwbGF5OwogICAgIE1lZGlhQ29udHJvbFRp
bWVsaW5lRWxlbWVudCogbV90aW1lbGluZTsKICAgICBNZWRpYUNvbnRyb2xUaW1lbGluZUNvbnRh
aW5lckVsZW1lbnQqIG1fdGltZWxpbmVDb250YWluZXI7CiAgICAgTWVkaWFDb250cm9sUGFuZWxN
dXRlQnV0dG9uRWxlbWVudCogbV9wYW5lbE11dGVCdXR0b247CkBAIC0xNDgsNyArMTUzLDkgQEAg
cHJpdmF0ZToKICNlbmRpZgogCiAgICAgYm9vbCBtX29wYXF1ZTsKKyAgICBUaW1lcjxNZWRpYUNv
bnRyb2xSb290RWxlbWVudENocm9taXVtPiBtX2hpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcjsK
ICAgICBib29sIG1faXNNb3VzZU92ZXJDb250cm9sczsKKyAgICBib29sIG1faXNGdWxsc2NyZWVu
OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVy
VGh1bWJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NsaWRlclRodW1i
RWxlbWVudC5jcHAKaW5kZXggYWE3NTBjYWIxZDYwNGY2Y2YwZmViMWIwNWFhMGE0MGZmMTJiZWIz
ZS4uYjUzMzk1OTlkMGY4Y2FlMTRjOTAzMzlmOGE2N2E1ODE4YzBlZWI4ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2xpZGVyVGh1bWJFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQuY3BwCkBAIC0zMjQs
MTIgKzMyNCwzOCBAQCBIVE1MSW5wdXRFbGVtZW50KiBTbGlkZXJUaHVtYkVsZW1lbnQ6Omhvc3RJ
bnB1dCgpIGNvbnN0CiAgICAgcmV0dXJuIHNoYWRvd0FuY2VzdG9yTm9kZSgpLT50b0lucHV0RWxl
bWVudCgpOwogfQogCi1jb25zdCBBdG9taWNTdHJpbmcmIFNsaWRlclRodW1iRWxlbWVudDo6c2hh
ZG93UHNldWRvSWQoKSBjb25zdAorc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgc2xpZGVyVGh1
bWJTaGFkb3dQc2V1ZG9JZCgpCiB7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJp
bmcsIHNsaWRlclRodW1iLCAoIi13ZWJraXQtc2xpZGVyLXRodW1iIikpOworICAgIERFRklORV9T
VEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBzbGlkZXJUaHVtYiwgKCItd2Via2l0LXNs
aWRlci10aHVtYiIpKTsKICAgICByZXR1cm4gc2xpZGVyVGh1bWI7CiB9CiAKK3N0YXRpYyBjb25z
dCBBdG9taWNTdHJpbmcmIG1lZGlhU2xpZGVyVGh1bWJTaGFkb3dQc2V1ZG9JZCgpCit7CisgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIG1lZGlhU2xpZGVyVGh1bWIs
ICgiLXdlYmtpdC1tZWRpYS1zbGlkZXItdGh1bWIiKSk7CisgICAgcmV0dXJuIG1lZGlhU2xpZGVy
VGh1bWI7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgU2xpZGVyVGh1bWJFbGVtZW50OjpzaGFk
b3dQc2V1ZG9JZCgpIGNvbnN0Cit7CisgICAgSFRNTElucHV0RWxlbWVudCogaW5wdXQgPSBob3N0
SW5wdXQoKTsKKyAgICBpZiAoIWlucHV0KQorICAgICAgICByZXR1cm4gc2xpZGVyVGh1bWJTaGFk
b3dQc2V1ZG9JZCgpOworCisgICAgUmVuZGVyU3R5bGUqIHNsaWRlclN0eWxlID0gaW5wdXQtPnJl
bmRlcmVyKCktPnN0eWxlKCk7CisgICAgc3dpdGNoIChzbGlkZXJTdHlsZS0+YXBwZWFyYW5jZSgp
KSB7CisgICAgY2FzZSBNZWRpYVNsaWRlclBhcnQ6CisgICAgY2FzZSBNZWRpYVNsaWRlclRodW1i
UGFydDoKKyAgICBjYXNlIE1lZGlhVm9sdW1lU2xpZGVyUGFydDoKKyAgICBjYXNlIE1lZGlhVm9s
dW1lU2xpZGVyVGh1bWJQYXJ0OgorICAgIGNhc2UgTWVkaWFGdWxsU2NyZWVuVm9sdW1lU2xpZGVy
UGFydDoKKyAgICBjYXNlIE1lZGlhRnVsbFNjcmVlblZvbHVtZVNsaWRlclRodW1iUGFydDoKKyAg
ICAgICAgcmV0dXJuIG1lZGlhU2xpZGVyVGh1bWJTaGFkb3dQc2V1ZG9JZCgpOworICAgIGRlZmF1
bHQ6CisgICAgICAgIHJldHVybiBzbGlkZXJUaHVtYlNoYWRvd1BzZXVkb0lkKCk7CisgICAgfQor
fQorCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBpbmxpbmUgVHJhY2tM
aW1pdGVyRWxlbWVudDo6VHJhY2tMaW1pdGVyRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQpCkBA
IC0zNTQsOCArMzgwLDIyIEBAIFJlbmRlck9iamVjdCogVHJhY2tMaW1pdGVyRWxlbWVudDo6Y3Jl
YXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsCiAKIGNvbnN0IEF0b21p
Y1N0cmluZyYgVHJhY2tMaW1pdGVyRWxlbWVudDo6c2hhZG93UHNldWRvSWQoKSBjb25zdAogewot
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBzbGlkZXJUaHVtYiwgKCItd2Vi
a2l0LXNsaWRlci10aHVtYiIpKTsKLSAgICByZXR1cm4gc2xpZGVyVGh1bWI7CisgICAgSFRNTElu
cHV0RWxlbWVudCogaW5wdXQgPSBzaGFkb3dBbmNlc3Rvck5vZGUoKS0+dG9JbnB1dEVsZW1lbnQo
KTsKKyAgICBpZiAoIWlucHV0KQorICAgICAgICByZXR1cm4gc2xpZGVyVGh1bWJTaGFkb3dQc2V1
ZG9JZCgpOworCisgICAgUmVuZGVyU3R5bGUqIHNsaWRlclN0eWxlID0gaW5wdXQtPnJlbmRlcmVy
KCktPnN0eWxlKCk7CisgICAgc3dpdGNoIChzbGlkZXJTdHlsZS0+YXBwZWFyYW5jZSgpKSB7Cisg
ICAgY2FzZSBNZWRpYVNsaWRlclBhcnQ6CisgICAgY2FzZSBNZWRpYVNsaWRlclRodW1iUGFydDoK
KyAgICBjYXNlIE1lZGlhVm9sdW1lU2xpZGVyUGFydDoKKyAgICBjYXNlIE1lZGlhVm9sdW1lU2xp
ZGVyVGh1bWJQYXJ0OgorICAgIGNhc2UgTWVkaWFGdWxsU2NyZWVuVm9sdW1lU2xpZGVyUGFydDoK
KyAgICBjYXNlIE1lZGlhRnVsbFNjcmVlblZvbHVtZVNsaWRlclRodW1iUGFydDoKKyAgICAgICAg
cmV0dXJuIG1lZGlhU2xpZGVyVGh1bWJTaGFkb3dQc2V1ZG9JZCgpOworICAgIGRlZmF1bHQ6Cisg
ICAgICAgIHJldHVybiBzbGlkZXJUaHVtYlNoYWRvd1BzZXVkb0lkKCk7CisgICAgfQogfQogCiBU
cmFja0xpbWl0ZXJFbGVtZW50KiB0cmFja0xpbWl0ZXJFbGVtZW50T2YoTm9kZSogbm9kZSkKQEAg
LTM4OCw4ICs0MjgsMjUgQEAgUmVuZGVyT2JqZWN0KiBTbGlkZXJDb250YWluZXJFbGVtZW50Ojpj
cmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclMKIAogY29uc3QgQXRvbWlj
U3RyaW5nJiBTbGlkZXJDb250YWluZXJFbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0CiB7
Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIHNsaWRlclRodW1iLCAoIi13
ZWJraXQtc2xpZGVyLWNvbnRhaW5lciIpKTsKLSAgICByZXR1cm4gc2xpZGVyVGh1bWI7CisgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG1lZGlhU2xpZGVyQ29udGFpbmVyLCAo
Ii13ZWJraXQtbWVkaWEtc2xpZGVyLWNvbnRhaW5lciIpKTsKKyAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKEF0b21pY1N0cmluZywgc2xpZGVyQ29udGFpbmVyLCAoIi13ZWJraXQtc2xpZGVyLWNvbnRh
aW5lciIpKTsKKworICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gc2hhZG93QW5jZXN0b3JO
b2RlKCktPnRvSW5wdXRFbGVtZW50KCk7CisgICAgaWYgKCFpbnB1dCkKKyAgICAgICAgcmV0dXJu
IHNsaWRlckNvbnRhaW5lcjsKKworICAgIFJlbmRlclN0eWxlKiBzbGlkZXJTdHlsZSA9IGlucHV0
LT5yZW5kZXJlcigpLT5zdHlsZSgpOworICAgIHN3aXRjaCAoc2xpZGVyU3R5bGUtPmFwcGVhcmFu
Y2UoKSkgeworICAgIGNhc2UgTWVkaWFTbGlkZXJQYXJ0OgorICAgIGNhc2UgTWVkaWFTbGlkZXJU
aHVtYlBhcnQ6CisgICAgY2FzZSBNZWRpYVZvbHVtZVNsaWRlclBhcnQ6CisgICAgY2FzZSBNZWRp
YVZvbHVtZVNsaWRlclRodW1iUGFydDoKKyAgICBjYXNlIE1lZGlhRnVsbFNjcmVlblZvbHVtZVNs
aWRlclBhcnQ6CisgICAgY2FzZSBNZWRpYUZ1bGxTY3JlZW5Wb2x1bWVTbGlkZXJUaHVtYlBhcnQ6
CisgICAgICAgIHJldHVybiBtZWRpYVNsaWRlckNvbnRhaW5lcjsKKyAgICBkZWZhdWx0OgorICAg
ICAgICByZXR1cm4gc2xpZGVyQ29udGFpbmVyOworICAgIH0KIH0KIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNw
cAppbmRleCBiMGMzMDhmYjI1YzBhYjFiYmE5NzMyYmYyYzc5MmRmNTI5NjA5Mzc0Li41NjBjZGFh
ODQ4OWIxZTA1Mjk5MDY0NmZhYmRiNDdiNGRhY2MwNmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcApAQCAt
NzQsMTQgKzc0LDIxIEBAIHN0YXRpYyBib29sIHBhaW50TWVkaWFNdXRlQnV0dG9uKFJlbmRlck9i
amVjdCogb2JqZWN0LCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mCiAgICAgaWYgKCFtZWRpYUVs
ZW1lbnQpCiAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBzdGF0aWMgSW1hZ2UqIHNvdW5kRnVs
bCA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhU291bmRGdWxsIik7Ci0gICAgc3RhdGljIEltYWdl
KiBzb3VuZE5vbmUgPSBwbGF0Zm9ybVJlc291cmNlKCJtZWRpYVNvdW5kTm9uZSIpOwotICAgIHN0
YXRpYyBJbWFnZSogc291bmREaXNhYmxlZCA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhU291bmRE
aXNhYmxlZCIpOworICAgIHN0YXRpYyBJbWFnZSogc291bmRMZXZlbDMgPSBwbGF0Zm9ybVJlc291
cmNlKCJtZWRpYXBsYXllclNvdW5kTGV2ZWwzIik7CisgICAgc3RhdGljIEltYWdlKiBzb3VuZExl
dmVsMiA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhcGxheWVyU291bmRMZXZlbDIiKTsKKyAgICBz
dGF0aWMgSW1hZ2UqIHNvdW5kTGV2ZWwxID0gcGxhdGZvcm1SZXNvdXJjZSgibWVkaWFwbGF5ZXJT
b3VuZExldmVsMSIpOworICAgIHN0YXRpYyBJbWFnZSogc291bmREaXNhYmxlZCA9IHBsYXRmb3Jt
UmVzb3VyY2UoIm1lZGlhcGxheWVyU291bmREaXNhYmxlZCIpOwogCi0gICAgaWYgKCFoYXNTb3Vy
Y2UobWVkaWFFbGVtZW50KSB8fCAhbWVkaWFFbGVtZW50LT5oYXNBdWRpbygpKQorICAgIGlmICgh
aGFzU291cmNlKG1lZGlhRWxlbWVudCkgfHwgIW1lZGlhRWxlbWVudC0+aGFzQXVkaW8oKSB8fCBt
ZWRpYUVsZW1lbnQtPm11dGVkKCkgfHwgbWVkaWFFbGVtZW50LT52b2x1bWUoKSA8PSAwKQogICAg
ICAgICByZXR1cm4gcGFpbnRNZWRpYUJ1dHRvbihwYWludEluZm8uY29udGV4dCwgcmVjdCwgc291
bmREaXNhYmxlZCk7CiAKLSAgICByZXR1cm4gcGFpbnRNZWRpYUJ1dHRvbihwYWludEluZm8uY29u
dGV4dCwgcmVjdCwgbWVkaWFFbGVtZW50LT5tdXRlZCgpID8gc291bmROb25lOiBzb3VuZEZ1bGwp
OworICAgIGlmIChtZWRpYUVsZW1lbnQtPnZvbHVtZSgpIDw9IDAuMzMpCisgICAgICAgIHJldHVy
biBwYWludE1lZGlhQnV0dG9uKHBhaW50SW5mby5jb250ZXh0LCByZWN0LCBzb3VuZExldmVsMSk7
CisKKyAgICBpZiAobWVkaWFFbGVtZW50LT52b2x1bWUoKSA8PSAwLjY2KQorICAgICAgICByZXR1
cm4gcGFpbnRNZWRpYUJ1dHRvbihwYWludEluZm8uY29udGV4dCwgcmVjdCwgc291bmRMZXZlbDIp
OworCisgICAgcmV0dXJuIHBhaW50TWVkaWFCdXR0b24ocGFpbnRJbmZvLmNvbnRleHQsIHJlY3Qs
IHNvdW5kTGV2ZWwzKTsKIH0KIAogc3RhdGljIGJvb2wgcGFpbnRNZWRpYVBsYXlCdXR0b24oUmVu
ZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRS
ZWN0JiByZWN0KQpAQCAtOTAsOSArOTcsOSBAQCBzdGF0aWMgYm9vbCBwYWludE1lZGlhUGxheUJ1
dHRvbihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZgogICAg
IGlmICghbWVkaWFFbGVtZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBzdGF0aWMg
SW1hZ2UqIG1lZGlhUGxheSA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhUGxheSIpOwotICAgIHN0
YXRpYyBJbWFnZSogbWVkaWFQYXVzZSA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhUGF1c2UiKTsK
LSAgICBzdGF0aWMgSW1hZ2UqIG1lZGlhUGxheURpc2FibGVkID0gcGxhdGZvcm1SZXNvdXJjZSgi
bWVkaWFQbGF5RGlzYWJsZWQiKTsKKyAgICBzdGF0aWMgSW1hZ2UqIG1lZGlhUGxheSA9IHBsYXRm
b3JtUmVzb3VyY2UoIm1lZGlhcGxheWVyUGxheSIpOworICAgIHN0YXRpYyBJbWFnZSogbWVkaWFQ
YXVzZSA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhcGxheWVyUGF1c2UiKTsKKyAgICBzdGF0aWMg
SW1hZ2UqIG1lZGlhUGxheURpc2FibGVkID0gcGxhdGZvcm1SZXNvdXJjZSgibWVkaWFwbGF5ZXJQ
bGF5RGlzYWJsZWQiKTsKIAogICAgIGlmICghaGFzU291cmNlKG1lZGlhRWxlbWVudCkpCiAgICAg
ICAgIHJldHVybiBwYWludE1lZGlhQnV0dG9uKHBhaW50SW5mby5jb250ZXh0LCByZWN0LCBtZWRp
YVBsYXlEaXNhYmxlZCk7CkBAIC0xMDIsMTAgKzEwOSw3NSBAQCBzdGF0aWMgYm9vbCBwYWludE1l
ZGlhUGxheUJ1dHRvbihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWlu
dEluZgogCiBzdGF0aWMgSW1hZ2UqIGdldE1lZGlhU2xpZGVyVGh1bWIoKQogewotICAgIHN0YXRp
YyBJbWFnZSogbWVkaWFTbGlkZXJUaHVtYiA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhU2xpZGVy
VGh1bWIiKTsKKyAgICBzdGF0aWMgSW1hZ2UqIG1lZGlhU2xpZGVyVGh1bWIgPSBwbGF0Zm9ybVJl
c291cmNlKCJtZWRpYXBsYXllclNsaWRlclRodW1iIik7CiAgICAgcmV0dXJuIG1lZGlhU2xpZGVy
VGh1bWI7CiB9CiAKK3N0YXRpYyB2b2lkIHBhaW50Um91bmRlZFNsaWRlckJhY2tncm91bmQoY29u
c3QgSW50UmVjdCYgcmVjdCwgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBHcmFwaGljc0NvbnRl
eHQqIGNvbnRleHQpCit7CisgICAgaW50IGJvcmRlclJhZGl1cyA9IHJlY3QuaGVpZ2h0KCkgLyAy
OworICAgIEludFNpemUgcmFkaWkoYm9yZGVyUmFkaXVzLCBib3JkZXJSYWRpdXMpOworICAgIENv
bG9yIHNsaWRlckJhY2tncm91bmRDb2xvciA9IENvbG9yKDI5LCAyOSwgMjkpOworICAgIGNvbnRl
eHQtPnNhdmUoKTsKKyAgICBjb250ZXh0LT5maWxsUm91bmRlZFJlY3QocmVjdCwgcmFkaWksIHJh
ZGlpLCByYWRpaSwgcmFkaWksIHNsaWRlckJhY2tncm91bmRDb2xvciwgQ29sb3JTcGFjZURldmlj
ZVJHQik7CisgICAgY29udGV4dC0+cmVzdG9yZSgpOworfQorCitzdGF0aWMgdm9pZCBwYWludFNs
aWRlclJhbmdlSGlnaGxpZ2h0KGNvbnN0IEludFJlY3QmIHJlY3QsIGNvbnN0IFJlbmRlclN0eWxl
KiBzdHlsZSwgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBmbG9hdCBzdGFydEZyYWN0aW9uLCBm
bG9hdCB3aWR0aEZyYWN0aW9uKQoreworICAgIGlmIChzdGFydEZyYWN0aW9uIDwgMCkKKyAgICAg
ICAgc3RhcnRGcmFjdGlvbiA9IDA7CisgICAgaWYgKHdpZHRoRnJhY3Rpb24gPiAxKQorICAgICAg
ICB3aWR0aEZyYWN0aW9uID0gMTsKKyAgICBmbG9hdCBlbmRGcmFjdGlvbiA9IHN0YXJ0RnJhY3Rp
b24gKyB3aWR0aEZyYWN0aW9uOworICAgIGlmIChlbmRGcmFjdGlvbiA+IDEpIHsKKyAgICAgICAg
d2lkdGhGcmFjdGlvbiA9IHdpZHRoRnJhY3Rpb24gLSBzdGFydEZyYWN0aW9uOworICAgICAgICBl
bmRGcmFjdGlvbiA9IHN0YXJ0RnJhY3Rpb24gKyB3aWR0aEZyYWN0aW9uOworICAgIH0KKworICAg
IC8vIFNldCByZWN0YW5nbGUgdG8gaGlnaGxpZ2h0IHJhbmdlLgorICAgIEludFJlY3QgaGlnaGxp
Z2h0UmVjdCA9IHJlY3Q7CisgICAgaW50IHN0YXJ0T2Zmc2V0ID0gc3RhcnRGcmFjdGlvbiAqIHJl
Y3Qud2lkdGgoKTsKKyAgICBpbnQgZW5kT2Zmc2V0ID0gcmVjdC53aWR0aCgpIC0gZW5kRnJhY3Rp
b24gKiByZWN0LndpZHRoKCk7CisgICAgaW50IHJhbmdlV2lkdGggPSB3aWR0aEZyYWN0aW9uICog
cmVjdC53aWR0aCgpOworICAgIGhpZ2hsaWdodFJlY3QubW92ZShzdGFydE9mZnNldCwgMCk7Cisg
ICAgaGlnaGxpZ2h0UmVjdC5zZXRXaWR0aChyYW5nZVdpZHRoKTsKKworICAgIC8vIERvbid0IGJv
dGhlciBkcmF3aW5nIGFuIGVtcHR5IGFyZWEuCisgICAgaWYgKGhpZ2hsaWdodFJlY3QuaXNFbXB0
eSgpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBDYWxjdWxhdGUgYm9yZGVyIHJhZGl1czsg
bmVlZCB0byBhdm9pZCBiZWluZyBzbWFsbGVyIHRoYW4gaGFsZiB0aGUgc2xpZGVyIGhlaWdodAor
ICAgIC8vIGJlY2F1c2Ugb2YgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTMwMTQzLgorICAgIGludCBib3JkZXJSYWRpdXMgPSByZWN0LmhlaWdodCgpIC8gMjsKKyAgICBJ
bnRTaXplIHJhZGlpKGJvcmRlclJhZGl1cywgYm9yZGVyUmFkaXVzKTsKKworICAgIC8vIENhbGN1
bGF0ZSB3aGl0ZS1ncmV5IGdyYWRpZW50LgorICAgIEludFBvaW50IHNsaWRlclRvcExlZnQgPSBo
aWdobGlnaHRSZWN0LmxvY2F0aW9uKCk7CisgICAgSW50UG9pbnQgc2xpZGVyQm90dG9tTGVmdCA9
IHNsaWRlclRvcExlZnQ7CisgICAgc2xpZGVyQm90dG9tTGVmdC5tb3ZlKDAsIGhpZ2hsaWdodFJl
Y3QuaGVpZ2h0KCkpOworICAgIENvbG9yIHN0YXJ0Q29sb3IgPSBDb2xvcigyMjAsIDIyMCwgMjIw
KTsKKyAgICBDb2xvciBlbmRDb2xvciA9IENvbG9yKDI0MCwgMjQwLCAyNDApOworICAgIFJlZlB0
cjxHcmFkaWVudD4gZ3JhZGllbnQgPSBHcmFkaWVudDo6Y3JlYXRlKHNsaWRlclRvcExlZnQsIHNs
aWRlckJvdHRvbUxlZnQpOworICAgIGdyYWRpZW50LT5hZGRDb2xvclN0b3AoMC4wLCBzdGFydENv
bG9yKTsKKyAgICBncmFkaWVudC0+YWRkQ29sb3JTdG9wKDEuMCwgZW5kQ29sb3IpOworCisgICAg
Ly8gRmlsbCBoaWdobGlnaHQgcmVjdGFuZ2xlIHdpdGggZ3JhZGllbnQsIHBvdGVudGlhbGx5IHJv
dW5kZWQgaWYgb24gbGVmdCBvciByaWdodCBlZGdlLgorICAgIGNvbnRleHQtPnNhdmUoKTsKKyAg
ICBjb250ZXh0LT5zZXRGaWxsR3JhZGllbnQoZ3JhZGllbnQpOworCisgICAgaWYgKHN0YXJ0T2Zm
c2V0IDwgYm9yZGVyUmFkaXVzICYmIGVuZE9mZnNldCA8IGJvcmRlclJhZGl1cykKKyAgICAgICAg
Y29udGV4dC0+ZmlsbFJvdW5kZWRSZWN0KGhpZ2hsaWdodFJlY3QsIHJhZGlpLCByYWRpaSwgcmFk
aWksIHJhZGlpLCBzdGFydENvbG9yLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKyAgICBlbHNlIGlm
IChzdGFydE9mZnNldCA8IGJvcmRlclJhZGl1cykKKyAgICAgICAgY29udGV4dC0+ZmlsbFJvdW5k
ZWRSZWN0KGhpZ2hsaWdodFJlY3QsIHJhZGlpLCBJbnRTaXplKDAsIDApLCByYWRpaSwgSW50U2l6
ZSgwLCAwKSwgc3RhcnRDb2xvciwgQ29sb3JTcGFjZURldmljZVJHQik7CisgICAgZWxzZSBpZiAo
ZW5kT2Zmc2V0IDwgYm9yZGVyUmFkaXVzKQorICAgICAgICBjb250ZXh0LT5maWxsUm91bmRlZFJl
Y3QoaGlnaGxpZ2h0UmVjdCwgSW50U2l6ZSgwLCAwKSwgcmFkaWksIEludFNpemUoMCwgMCksIHJh
ZGlpLCBzdGFydENvbG9yLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKyAgICBlbHNlCisgICAgICAg
IGNvbnRleHQtPmZpbGxSZWN0KGhpZ2hsaWdodFJlY3QpOworCisgICAgY29udGV4dC0+cmVzdG9y
ZSgpOworfQorCiBzdGF0aWMgYm9vbCBwYWludE1lZGlhU2xpZGVyKFJlbmRlck9iamVjdCogb2Jq
ZWN0LCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCkKIHsK
ICAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSB0b1BhcmVudE1lZGlhRWxlbWVu
dChvYmplY3QpOwpAQCAtMTE1LDIzICsxODcsMTAgQEAgc3RhdGljIGJvb2wgcGFpbnRNZWRpYVNs
aWRlcihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGMK
ICAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSBvYmplY3QtPnN0eWxlKCk7CiAgICAgR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0ID0gcGFpbnRJbmZvLmNvbnRleHQ7CiAKLSAgICAvLyBEcmF3IHRoZSBi
b3JkZXIgb2YgdGhlIHRpbWUgYmFyLgotICAgIC8vIEZJWE1FOiB0aGlzIHNob3VsZCBiZSBhIHJv
dW5kZWQgcmVjdCBidXQgbmVlZCB0byBmaXggR3JhcGhpY3NDb250ZXh0U2tpYSBmaXJzdC4KLSAg
ICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAxNDMKLSAgICBj
b250ZXh0LT5zYXZlKCk7Ci0gICAgY29udGV4dC0+c2V0U2hvdWxkQW50aWFsaWFzKHRydWUpOwot
ICAgIGNvbnRleHQtPnNldFN0cm9rZVN0eWxlKFNvbGlkU3Ryb2tlKTsKLSAgICBjb250ZXh0LT5z
ZXRTdHJva2VDb2xvcihzdHlsZS0+dmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5Qm9y
ZGVyTGVmdENvbG9yKSwgQ29sb3JTcGFjZURldmljZVJHQik7Ci0gICAgY29udGV4dC0+c2V0U3Ry
b2tlVGhpY2tuZXNzKHN0eWxlLT5ib3JkZXJMZWZ0V2lkdGgoKSk7Ci0gICAgY29udGV4dC0+c2V0
RmlsbENvbG9yKHN0eWxlLT52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlCYWNrZ3Jv
dW5kQ29sb3IpLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKLSAgICBjb250ZXh0LT5kcmF3UmVjdChy
ZWN0KTsKLSAgICBjb250ZXh0LT5yZXN0b3JlKCk7CisgICAgcGFpbnRSb3VuZGVkU2xpZGVyQmFj
a2dyb3VuZChyZWN0LCBzdHlsZSwgY29udGV4dCk7CiAKICAgICAvLyBEcmF3IHRoZSBidWZmZXJl
ZCByYW5nZS4gU2luY2UgdGhlIGVsZW1lbnQgbWF5IGhhdmUgbXVsdGlwbGUgYnVmZmVyZWQgcmFu
Z2VzIGFuZCBpdCdkIGJlCiAgICAgLy8gZGlzdHJhY3RpbmcvJ2J1c3knIHRvIHNob3cgYWxsIG9m
IHRoZW0sIHNob3cgb25seSB0aGUgYnVmZmVyZWQgcmFuZ2UgY29udGFpbmluZyB0aGUgY3VycmVu
dCBwbGF5IGhlYWQuCi0gICAgSW50UmVjdCBidWZmZXJlZFJlY3QgPSByZWN0OwotICAgIGJ1ZmZl
cmVkUmVjdC5pbmZsYXRlKC1zdHlsZS0+Ym9yZGVyTGVmdFdpZHRoKCkpOwotCiAgICAgUmVmUHRy
PFRpbWVSYW5nZXM+IGJ1ZmZlcmVkVGltZVJhbmdlcyA9IG1lZGlhRWxlbWVudC0+YnVmZmVyZWQo
KTsKICAgICBmbG9hdCBkdXJhdGlvbiA9IG1lZGlhRWxlbWVudC0+ZHVyYXRpb24oKTsKICAgICBm
bG9hdCBjdXJyZW50VGltZSA9IG1lZGlhRWxlbWVudC0+Y3VycmVudFRpbWUoKTsKQEAgLTE0Niwy
NyArMjA1LDggQEAgc3RhdGljIGJvb2wgcGFpbnRNZWRpYVNsaWRlcihSZW5kZXJPYmplY3QqIG9i
amVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGMKICAgICAgICAgZmxvYXQgc3RhcnRG
cmFjdGlvbiA9IHN0YXJ0IC8gZHVyYXRpb247CiAgICAgICAgIGZsb2F0IGVuZEZyYWN0aW9uID0g
ZW5kIC8gZHVyYXRpb247CiAgICAgICAgIGZsb2F0IHdpZHRoRnJhY3Rpb24gPSBlbmRGcmFjdGlv
biAtIHN0YXJ0RnJhY3Rpb247Ci0gICAgICAgIGJ1ZmZlcmVkUmVjdC5tb3ZlKHN0YXJ0RnJhY3Rp
b24gKiBidWZmZXJlZFJlY3Qud2lkdGgoKSwgMCk7Ci0gICAgICAgIGJ1ZmZlcmVkUmVjdC5zZXRX
aWR0aCh3aWR0aEZyYWN0aW9uICogYnVmZmVyZWRSZWN0LndpZHRoKCkpOwotCi0gICAgICAgIC8v
IERvbid0IGJvdGhlciBkcmF3aW5nIGFuIGVtcHR5IGFyZWEuCi0gICAgICAgIGlmIChidWZmZXJl
ZFJlY3QuaXNFbXB0eSgpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICAgICAgSW50
UG9pbnQgc2xpZGVyVG9wTGVmdCA9IGJ1ZmZlcmVkUmVjdC5sb2NhdGlvbigpOwotICAgICAgICBJ
bnRQb2ludCBzbGlkZXJCb3R0b21MZWZ0ID0gc2xpZGVyVG9wTGVmdDsKLSAgICAgICAgc2xpZGVy
Qm90dG9tTGVmdC5tb3ZlKDAsIGJ1ZmZlcmVkUmVjdC5oZWlnaHQoKSk7Ci0KLSAgICAgICAgUmVm
UHRyPEdyYWRpZW50PiBncmFkaWVudCA9IEdyYWRpZW50OjpjcmVhdGUoc2xpZGVyVG9wTGVmdCwg
c2xpZGVyQm90dG9tTGVmdCk7Ci0gICAgICAgIENvbG9yIHN0YXJ0Q29sb3IgPSBvYmplY3QtPnN0
eWxlKCktPnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUNvbG9yKTsKLSAgICAgICAg
Z3JhZGllbnQtPmFkZENvbG9yU3RvcCgwLjAsIHN0YXJ0Q29sb3IpOwotICAgICAgICBncmFkaWVu
dC0+YWRkQ29sb3JTdG9wKDEuMCwgQ29sb3Ioc3RhcnRDb2xvci5yZWQoKSAvIDIsIHN0YXJ0Q29s
b3IuZ3JlZW4oKSAvIDIsIHN0YXJ0Q29sb3IuYmx1ZSgpIC8gMiwgc3RhcnRDb2xvci5hbHBoYSgp
KSk7Ci0KLSAgICAgICAgY29udGV4dC0+c2F2ZSgpOwotICAgICAgICBjb250ZXh0LT5zZXRTdHJv
a2VTdHlsZShOb1N0cm9rZSk7Ci0gICAgICAgIGNvbnRleHQtPnNldEZpbGxHcmFkaWVudChncmFk
aWVudCk7Ci0gICAgICAgIGNvbnRleHQtPmZpbGxSZWN0KGJ1ZmZlcmVkUmVjdCk7Ci0gICAgICAg
IGNvbnRleHQtPnJlc3RvcmUoKTsKKworICAgICAgICBwYWludFNsaWRlclJhbmdlSGlnaGxpZ2h0
KHJlY3QsIHN0eWxlLCBjb250ZXh0LCBzdGFydEZyYWN0aW9uLCB3aWR0aEZyYWN0aW9uKTsKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCkBAIC0xODksNiArMjI5LDggQEAgc3RhdGljIGJv
b2wgcGFpbnRNZWRpYVNsaWRlclRodW1iKFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQYWlu
dEluZm8mIHBhaW50SW4KICAgICByZXR1cm4gcGFpbnRNZWRpYUJ1dHRvbihwYWludEluZm8uY29u
dGV4dCwgcmVjdCwgbWVkaWFTbGlkZXJUaHVtYik7CiB9CiAKK2NvbnN0IGludCBtZWRpYVZvbHVt
ZVNsaWRlclRodW1iV2lkdGggPSAyNDsKKwogc3RhdGljIGJvb2wgcGFpbnRNZWRpYVZvbHVtZVNs
aWRlcihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNv
bnN0IEludFJlY3QmIHJlY3QpCiB7CiAgICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50
ID0gdG9QYXJlbnRNZWRpYUVsZW1lbnQob2JqZWN0KTsKQEAgLTE5Niw2NSArMjM4LDQ0IEBAIHN0
YXRpYyBib29sIHBhaW50TWVkaWFWb2x1bWVTbGlkZXIoUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNv
bnN0IFBhaW50SW5mbyYgcGFpbnRJCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIEdyYXBo
aWNzQ29udGV4dCogY29udGV4dCA9IHBhaW50SW5mby5jb250ZXh0OwotICAgIENvbG9yIG9yaWdp
bmFsQ29sb3IgPSBjb250ZXh0LT5zdHJva2VDb2xvcigpOwotICAgIGlmIChvcmlnaW5hbENvbG9y
ICE9IENvbG9yOjp3aGl0ZSkKLSAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlQ29sb3IoQ29sb3I6
OndoaXRlLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKyAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSBv
YmplY3QtPnN0eWxlKCk7CisKKyAgICBwYWludFJvdW5kZWRTbGlkZXJCYWNrZ3JvdW5kKHJlY3Qs
IHN0eWxlLCBjb250ZXh0KTsKKworICAgIC8vIENhbGN1bGF0ZSB2b2x1bWUgcG9zaXRpb24gZm9y
IHdoaXRlIGJhY2tncm91bmQgcmVjdGFuZ2xlLgorICAgIGZsb2F0IHZvbHVtZSA9IG1lZGlhRWxl
bWVudC0+dm9sdW1lKCk7CisgICAgaWYgKGlzbmFuKHZvbHVtZSkgfHwgdm9sdW1lIDwgMCkKKyAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgaWYgKHZvbHVtZSA+IDEpCisgICAgICAgIHZvbHVtZSA9
IDE7CisgICAgaWYgKG1lZGlhRWxlbWVudC0+bXV0ZWQoKSkKKyAgICAgICAgdm9sdW1lID0gMDsK
KworICAgIC8vIENhbGN1bGF0ZSB0aGUgcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIGNlbnRlciBv
ZiB0aGUgdGh1bWIuCisgICAgZmxvYXQgdGh1bWJDZW50ZXIgPSBtZWRpYVZvbHVtZVNsaWRlclRo
dW1iV2lkdGggLyAyOworICAgIGZsb2F0IHpvb21MZXZlbCA9IHN0eWxlLT5lZmZlY3RpdmVab29t
KCk7CisgICAgZmxvYXQgcG9zaXRpb25XaWR0aCA9IHZvbHVtZSAqIChyZWN0LndpZHRoKCkgLSAo
em9vbUxldmVsICogdGh1bWJDZW50ZXIpKTsKKyAgICBmbG9hdCBmaWxsV2lkdGggPSBwb3NpdGlv
bldpZHRoICsgKHpvb21MZXZlbCAqIHRodW1iQ2VudGVyIC8gMik7CiAKLSAgICBpbnQgeSA9IHJl
Y3QueSgpICsgcmVjdC5oZWlnaHQoKSAvIDI7Ci0gICAgY29udGV4dC0+ZHJhd0xpbmUoSW50UG9p
bnQocmVjdC54KCksIHkpLCAgSW50UG9pbnQocmVjdC54KCkgKyByZWN0LndpZHRoKCksIHkpKTsK
KyAgICBwYWludFNsaWRlclJhbmdlSGlnaGxpZ2h0KHJlY3QsIHN0eWxlLCBjb250ZXh0LCAwLjAs
IGZpbGxXaWR0aCAvIHJlY3Qud2lkdGgoKSk7CiAKLSAgICBpZiAob3JpZ2luYWxDb2xvciAhPSBD
b2xvcjo6d2hpdGUpCi0gICAgICAgIGNvbnRleHQtPnNldFN0cm9rZUNvbG9yKG9yaWdpbmFsQ29s
b3IsIENvbG9yU3BhY2VEZXZpY2VSR0IpOwogICAgIHJldHVybiB0cnVlOwogfQogCiBzdGF0aWMg
Ym9vbCBwYWludE1lZGlhVm9sdW1lU2xpZGVyVGh1bWIoUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNv
bnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQogewotICAgIHN0
YXRpYyBJbWFnZSogbWVkaWFWb2x1bWVTbGlkZXJUaHVtYiA9IHBsYXRmb3JtUmVzb3VyY2UoIm1l
ZGlhVm9sdW1lU2xpZGVyVGh1bWIiKTsKKyAgICBzdGF0aWMgSW1hZ2UqIG1lZGlhVm9sdW1lU2xp
ZGVyVGh1bWIgPSBwbGF0Zm9ybVJlc291cmNlKCJtZWRpYXBsYXllclZvbHVtZVNsaWRlclRodW1i
Iik7CiAgICAgcmV0dXJuIHBhaW50TWVkaWFCdXR0b24ocGFpbnRJbmZvLmNvbnRleHQsIHJlY3Qs
IG1lZGlhVm9sdW1lU2xpZGVyVGh1bWIpOwogfQogCi1zdGF0aWMgYm9vbCBwYWludE1lZGlhVGlt
ZWxpbmVDb250YWluZXIoUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5mbyYgcGFp
bnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQotewotICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1l
ZGlhRWxlbWVudCA9IHRvUGFyZW50TWVkaWFFbGVtZW50KG9iamVjdCk7Ci0gICAgaWYgKCFtZWRp
YUVsZW1lbnQpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICghcmVjdC5pc0VtcHR5
KCkpIHsKLSAgICAgICAgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0ID0gcGFpbnRJbmZvLmNvbnRl
eHQ7Ci0gICAgICAgIENvbG9yIG9yaWdpbmFsQ29sb3IgPSBjb250ZXh0LT5zdHJva2VDb2xvcigp
OwotICAgICAgICBmbG9hdCBvcmlnaW5hbFRoaWNrbmVzcyA9IGNvbnRleHQtPnN0cm9rZVRoaWNr
bmVzcygpOwotICAgICAgICBTdHJva2VTdHlsZSBvcmlnaW5hbFN0eWxlID0gY29udGV4dC0+c3Ry
b2tlU3R5bGUoKTsKLQotICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VTdHlsZShTb2xpZFN0cm9r
ZSk7Ci0KLSAgICAgICAgLy8gRHJhdyB0aGUgbGVmdCBib3JkZXIgdXNpbmcgQ1NTIGRlZmluZWQg
d2lkdGggYW5kIGNvbG9yLgotICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VUaGlja25lc3Mob2Jq
ZWN0LT5zdHlsZSgpLT5ib3JkZXJMZWZ0V2lkdGgoKSk7Ci0gICAgICAgIGNvbnRleHQtPnNldFN0
cm9rZUNvbG9yKG9iamVjdC0+c3R5bGUoKS0+dmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3Bl
cnR5Qm9yZGVyTGVmdENvbG9yKS5yZ2IoKSwgQ29sb3JTcGFjZURldmljZVJHQik7Ci0gICAgICAg
IGNvbnRleHQtPmRyYXdMaW5lKEludFBvaW50KHJlY3QueCgpICsgMSwgcmVjdC55KCkpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICBJbnRQb2ludChyZWN0LngoKSArIDEsIHJlY3QueSgpICsg
cmVjdC5oZWlnaHQoKSkpOwotCi0gICAgICAgIC8vIERyYXcgdGhlIHJpZ2h0IGJvcmRlciB1c2lu
ZyBDU1MgZGVmaW5lZCB3aWR0aCBhbmQgY29sb3IuCi0gICAgICAgIGNvbnRleHQtPnNldFN0cm9r
ZVRoaWNrbmVzcyhvYmplY3QtPnN0eWxlKCktPmJvcmRlclJpZ2h0V2lkdGgoKSk7Ci0gICAgICAg
IGNvbnRleHQtPnNldFN0cm9rZUNvbG9yKG9iamVjdC0+c3R5bGUoKS0+dmlzaXRlZERlcGVuZGVu
dENvbG9yKENTU1Byb3BlcnR5Qm9yZGVyUmlnaHRDb2xvcikucmdiKCksIENvbG9yU3BhY2VEZXZp
Y2VSR0IpOwotICAgICAgICBjb250ZXh0LT5kcmF3TGluZShJbnRQb2ludChyZWN0LngoKSArIHJl
Y3Qud2lkdGgoKSAtIDEsIHJlY3QueSgpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgSW50
UG9pbnQocmVjdC54KCkgKyByZWN0LndpZHRoKCkgLSAxLCByZWN0LnkoKSArIHJlY3QuaGVpZ2h0
KCkpKTsKLQotICAgICAgICBjb250ZXh0LT5zZXRTdHJva2VDb2xvcihvcmlnaW5hbENvbG9yLCBD
b2xvclNwYWNlRGV2aWNlUkdCKTsKLSAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlVGhpY2tuZXNz
KG9yaWdpbmFsVGhpY2tuZXNzKTsKLSAgICAgICAgY29udGV4dC0+c2V0U3Ryb2tlU3R5bGUob3Jp
Z2luYWxTdHlsZSk7Ci0gICAgfQotICAgIHJldHVybiB0cnVlOwotfQotCiBzdGF0aWMgYm9vbCBw
YWludE1lZGlhRnVsbHNjcmVlbkJ1dHRvbihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFp
bnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCiB7CiAgICAgSFRNTE1lZGlh
RWxlbWVudCogbWVkaWFFbGVtZW50ID0gdG9QYXJlbnRNZWRpYUVsZW1lbnQob2JqZWN0KTsKICAg
ICBpZiAoIW1lZGlhRWxlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgREVGSU5F
X1NUQVRJQ19MT0NBTChJbWFnZSosIG1lZGlhRnVsbHNjcmVlbiwgKHBsYXRmb3JtUmVzb3VyY2Uo
Im1lZGlhRnVsbHNjcmVlbiIpKSk7Ci0gICAgcmV0dXJuIHBhaW50TWVkaWFCdXR0b24ocGFpbnRJ
bmZvLmNvbnRleHQsIHJlY3QsIG1lZGlhRnVsbHNjcmVlbik7CisgICAgc3RhdGljIEltYWdlKiBt
ZWRpYUZ1bGxzY3JlZW5CdXR0b24gPSBwbGF0Zm9ybVJlc291cmNlKCJtZWRpYXBsYXllckZ1bGxz
Y3JlZW4iKTsKKyAgICByZXR1cm4gcGFpbnRNZWRpYUJ1dHRvbihwYWludEluZm8uY29udGV4dCwg
cmVjdCwgbWVkaWFGdWxsc2NyZWVuQnV0dG9uKTsKIH0KIAogYm9vbCBSZW5kZXJNZWRpYUNvbnRy
b2xzQ2hyb21pdW06OnBhaW50TWVkaWFDb250cm9sc1BhcnQoTWVkaWFDb250cm9sRWxlbWVudFR5
cGUgcGFydCwgUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZv
LCBjb25zdCBJbnRSZWN0JiByZWN0KQpAQCAtMjc0LDggKzI5NSw2IEBAIGJvb2wgUmVuZGVyTWVk
aWFDb250cm9sc0Nocm9taXVtOjpwYWludE1lZGlhQ29udHJvbHNQYXJ0KE1lZGlhQ29udHJvbEVs
ZW1lbnRUeXBlCiAgICAgICAgIHJldHVybiBwYWludE1lZGlhVm9sdW1lU2xpZGVyKG9iamVjdCwg
cGFpbnRJbmZvLCByZWN0KTsKICAgICBjYXNlIE1lZGlhVm9sdW1lU2xpZGVyVGh1bWI6CiAgICAg
ICAgIHJldHVybiBwYWludE1lZGlhVm9sdW1lU2xpZGVyVGh1bWIob2JqZWN0LCBwYWludEluZm8s
IHJlY3QpOwotICAgIGNhc2UgTWVkaWFUaW1lbGluZUNvbnRhaW5lcjoKLSAgICAgICAgcmV0dXJu
IHBhaW50TWVkaWFUaW1lbGluZUNvbnRhaW5lcihvYmplY3QsIHBhaW50SW5mbywgcmVjdCk7CiAg
ICAgY2FzZSBNZWRpYUVudGVyRnVsbHNjcmVlbkJ1dHRvbjoKICAgICBjYXNlIE1lZGlhRXhpdEZ1
bGxzY3JlZW5CdXR0b246CiAgICAgICAgIHJldHVybiBwYWludE1lZGlhRnVsbHNjcmVlbkJ1dHRv
bihvYmplY3QsIHBhaW50SW5mbywgcmVjdCk7CkBAIC0yODMsNiArMzAyLDcgQEAgYm9vbCBSZW5k
ZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OnBhaW50TWVkaWFDb250cm9sc1BhcnQoTWVkaWFDb250
cm9sRWxlbWVudFR5cGUKICAgICBjYXNlIE1lZGlhU2Vla0JhY2tCdXR0b246CiAgICAgY2FzZSBN
ZWRpYVNlZWtGb3J3YXJkQnV0dG9uOgogICAgIGNhc2UgTWVkaWFWb2x1bWVTbGlkZXJDb250YWlu
ZXI6CisgICAgY2FzZSBNZWRpYVRpbWVsaW5lQ29udGFpbmVyOgogICAgIGNhc2UgTWVkaWFDdXJy
ZW50VGltZURpc3BsYXk6CiAgICAgY2FzZSBNZWRpYVRpbWVSZW1haW5pbmdEaXNwbGF5OgogICAg
IGNhc2UgTWVkaWFDb250cm9sc1BhbmVsOgpAQCAtMzAxLDI0ICszMjEsNzQgQEAgYm9vbCBSZW5k
ZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OnBhaW50TWVkaWFDb250cm9sc1BhcnQoTWVkaWFDb250
cm9sRWxlbWVudFR5cGUKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2NvbnN0IGludCBtZWRpYVNs
aWRlclRodW1iV2lkdGggPSAzMjsKK2NvbnN0IGludCBtZWRpYVNsaWRlclRodW1iSGVpZ2h0ID0g
MjQ7Citjb25zdCBpbnQgbWVkaWFWb2x1bWVTbGlkZXJUaHVtYkhlaWdodCA9IDI0OworCiB2b2lk
IFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6YWRqdXN0TWVkaWFTbGlkZXJUaHVtYlNpemUo
UmVuZGVyU3R5bGUqIHN0eWxlKQogewotICAgIHN0YXRpYyBJbWFnZSogbWVkaWFTbGlkZXJUaHVt
YiA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhU2xpZGVyVGh1bWIiKTsKLSAgICBzdGF0aWMgSW1h
Z2UqIG1lZGlhVm9sdW1lU2xpZGVyVGh1bWIgPSBwbGF0Zm9ybVJlc291cmNlKCJtZWRpYVZvbHVt
ZVNsaWRlclRodW1iIik7CisgICAgc3RhdGljIEltYWdlKiBtZWRpYVNsaWRlclRodW1iID0gcGxh
dGZvcm1SZXNvdXJjZSgibWVkaWFwbGF5ZXJTbGlkZXJUaHVtYiIpOworICAgIHN0YXRpYyBJbWFn
ZSogbWVkaWFWb2x1bWVTbGlkZXJUaHVtYiA9IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhcGxheWVy
Vm9sdW1lU2xpZGVyVGh1bWIiKTsKKyAgICBpbnQgd2lkdGggPSAwOworICAgIGludCBoZWlnaHQg
PSAwOwogCiAgICAgSW1hZ2UqIHRodW1iSW1hZ2UgPSAwOwotICAgIGlmIChzdHlsZS0+YXBwZWFy
YW5jZSgpID09IE1lZGlhU2xpZGVyVGh1bWJQYXJ0KQorICAgIGlmIChzdHlsZS0+YXBwZWFyYW5j
ZSgpID09IE1lZGlhU2xpZGVyVGh1bWJQYXJ0KSB7CiAgICAgICAgIHRodW1iSW1hZ2UgPSBtZWRp
YVNsaWRlclRodW1iOwotICAgIGVsc2UgaWYgKHN0eWxlLT5hcHBlYXJhbmNlKCkgPT0gTWVkaWFW
b2x1bWVTbGlkZXJUaHVtYlBhcnQpCisgICAgICAgIHdpZHRoID0gbWVkaWFTbGlkZXJUaHVtYldp
ZHRoOworICAgICAgICBoZWlnaHQgPSBtZWRpYVNsaWRlclRodW1iSGVpZ2h0OworICAgIH0gZWxz
ZSBpZiAoc3R5bGUtPmFwcGVhcmFuY2UoKSA9PSBNZWRpYVZvbHVtZVNsaWRlclRodW1iUGFydCkg
ewogICAgICAgICB0aHVtYkltYWdlID0gbWVkaWFWb2x1bWVTbGlkZXJUaHVtYjsKKyAgICAgICAg
d2lkdGggPSBtZWRpYVZvbHVtZVNsaWRlclRodW1iV2lkdGg7CisgICAgICAgIGhlaWdodCA9IG1l
ZGlhVm9sdW1lU2xpZGVyVGh1bWJIZWlnaHQ7CisgICAgfQogCiAgICAgZmxvYXQgem9vbUxldmVs
ID0gc3R5bGUtPmVmZmVjdGl2ZVpvb20oKTsKICAgICBpZiAodGh1bWJJbWFnZSkgewotICAgICAg
ICBzdHlsZS0+c2V0V2lkdGgoTGVuZ3RoKHN0YXRpY19jYXN0PGludD4odGh1bWJJbWFnZS0+d2lk
dGgoKSAqIHpvb21MZXZlbCksIEZpeGVkKSk7Ci0gICAgICAgIHN0eWxlLT5zZXRIZWlnaHQoTGVu
Z3RoKHN0YXRpY19jYXN0PGludD4odGh1bWJJbWFnZS0+aGVpZ2h0KCkgKiB6b29tTGV2ZWwpLCBG
aXhlZCkpOworICAgICAgICBzdHlsZS0+c2V0V2lkdGgoTGVuZ3RoKHN0YXRpY19jYXN0PGludD4o
d2lkdGggKiB6b29tTGV2ZWwpLCBGaXhlZCkpOworICAgICAgICBzdHlsZS0+c2V0SGVpZ2h0KExl
bmd0aChzdGF0aWNfY2FzdDxpbnQ+KGhlaWdodCAqIHpvb21MZXZlbCksIEZpeGVkKSk7CiAgICAg
fQogfQogCitzdGF0aWMgU3RyaW5nIGZvcm1hdENocm9taXVtTWVkaWFDb250cm9sc1RpbWUoZmxv
YXQgdGltZSwgZmxvYXQgZHVyYXRpb24pCit7CisgICAgaWYgKCFpc2Zpbml0ZSh0aW1lKSkKKyAg
ICAgICAgdGltZSA9IDA7CisgICAgaWYgKCFpc2Zpbml0ZShkdXJhdGlvbikpCisgICAgICAgIGR1
cmF0aW9uID0gMDsKKyAgICBpbnQgc2Vjb25kcyA9IHN0YXRpY19jYXN0PGludD4oZmFic2YodGlt
ZSkpOworICAgIGludCBob3VycyA9IHNlY29uZHMgLyAoNjAgKiA2MCk7CisgICAgaW50IG1pbnV0
ZXMgPSAoc2Vjb25kcyAvIDYwKSAlIDYwOworICAgIHNlY29uZHMgJT0gNjA7CisKKyAgICAvLyBk
dXJhdGlvbiBkZWZpbmVzIHRoZSBmb3JtYXQgb2YgaG93IHRoZSB0aW1lIGlzIHJlbmRlcmVkCisg
ICAgaW50IGR1cmF0aW9uU2VjcyA9IHN0YXRpY19jYXN0PGludD4oZmFic2YoZHVyYXRpb24pKTsK
KyAgICBpbnQgZHVyYXRpb25Ib3VycyA9IGR1cmF0aW9uU2VjcyAvICg2MCAqIDYwKTsKKyAgICBp
bnQgZHVyYXRpb25NaW5zID0gKGR1cmF0aW9uU2VjcyAvIDYwKSAlIDYwOworCisgICAgaWYgKGR1
cmF0aW9uSG91cnMgfHwgaG91cnMpCisgICAgICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJXMl
MDFkOiUwMmQ6JTAyZCIsICh0aW1lIDwgMCA/ICItIiA6ICIiKSwgaG91cnMsIG1pbnV0ZXMsIHNl
Y29uZHMpOworICAgIGlmIChkdXJhdGlvbk1pbnMgPiA5KQorICAgICAgICByZXR1cm4gU3RyaW5n
Ojpmb3JtYXQoIiVzJTAyZDolMDJkIiwgKHRpbWUgPCAwID8gIi0iIDogIiIpLCBtaW51dGVzLCBz
ZWNvbmRzKTsKKworICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJXMlMDFkOiUwMmQiLCAodGlt
ZSA8IDAgPyAiLSIgOiAiIiksIG1pbnV0ZXMsIHNlY29uZHMpOworfQorCitTdHJpbmcgUmVuZGVy
TWVkaWFDb250cm9sc0Nocm9taXVtOjpmb3JtYXRNZWRpYUNvbnRyb2xzVGltZShmbG9hdCB0aW1l
KQoreworICAgIHJldHVybiBmb3JtYXRDaHJvbWl1bU1lZGlhQ29udHJvbHNUaW1lKHRpbWUsIHRp
bWUpOworfQorCitTdHJpbmcgUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtOjpmb3JtYXRNZWRp
YUNvbnRyb2xzQ3VycmVudFRpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKQor
eworICAgIHJldHVybiBmb3JtYXRDaHJvbWl1bU1lZGlhQ29udHJvbHNUaW1lKGN1cnJlbnRUaW1l
LCBkdXJhdGlvbik7Cit9CisKK1N0cmluZyBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OmZv
cm1hdE1lZGlhQ29udHJvbHNSZW1haW5pbmdUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBk
dXJhdGlvbikKK3sKKyAgICByZXR1cm4gZm9ybWF0Q2hyb21pdW1NZWRpYUNvbnRyb2xzVGltZShj
dXJyZW50VGltZSAtIGR1cmF0aW9uLCBkdXJhdGlvbik7Cit9CisKICNlbmRpZiAgLy8gI2lmIEVO
QUJMRShWSURFTykKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5oCmluZGV4IDlh
ZjkzOTYwZmZlZmNjZTk5YWYxMjY0Mzg0ZWQzMzQxNmEyZDlmNjEuLmE2N2E0MTM5YTZkNDBhM2Qz
NjQyOTk2ODVmMjE4ZjNlMGI2NzdmYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmgKQEAgLTM4LDYgKzM4LDEwIEBA
IGNsYXNzIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bSB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IGJvb2wgcGFpbnRNZWRpYUNvbnRyb2xzUGFydChNZWRpYUNvbnRyb2xFbGVtZW50VHlwZSwgUmVu
ZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwogICAgIHN0YXRp
YyB2b2lkIGFkanVzdE1lZGlhU2xpZGVyVGh1bWJTaXplKFJlbmRlclN0eWxlKik7CisgICAgc3Rh
dGljIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzVGltZShmbG9hdCB0aW1lKTsKKyAgICBzdGF0
aWMgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGltZShmbG9hdCBjdXJyZW50VGlt
ZSwgZmxvYXQgZHVyYXRpb24pOworICAgIHN0YXRpYyBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9s
c1JlbWFpbmluZ1RpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKTsKKwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLmgKaW5kZXggNjViZmFiMjE1N2ZjYjMxNWI5YmFmYjVh
YzMxNmQ2Yzg1YWYxZDk1Ny4uOTczMjk5YTMxOTFmMzdiZTU2NDU0MWJhYWM2NzJhMDY5ZjQzZGUx
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21p
dW1NYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1
bU1hYy5oCkBAIC00Miw3ICs0Miw2IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIGJvb2wgcGFp
bnRNZWRpYVBsYXlCdXR0b24oUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3Qg
SW50UmVjdCYpOwogICAgIHZpcnR1YWwgYm9vbCBwYWludE1lZGlhTXV0ZUJ1dHRvbihSZW5kZXJP
YmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAgICAgdmlydHVhbCBi
b29sIHBhaW50TWVkaWFTbGlkZXJUcmFjayhSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8m
LCBjb25zdCBJbnRSZWN0Jik7Ci0gICAgdmlydHVhbCBib29sIHBhaW50TWVkaWFDb250cm9sc0Jh
Y2tncm91bmQoUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYp
OwogICAgIHZpcnR1YWwgU3RyaW5nIGV4dHJhTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKTsKICNp
ZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgdmlydHVhbCBTdHJpbmcgZXh0cmFGdWxsU2Ny
ZWVuU3R5bGVTaGVldCgpOwpAQCAtNTYsNiArNTUsMTAgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1
YWwgYm9vbCB1c2VzTWVkaWFDb250cm9sU3RhdHVzRGlzcGxheSgpIHsgcmV0dXJuIGZhbHNlOyB9
CiAgICAgdmlydHVhbCBib29sIGhhc093bkRpc2FibGVkU3RhdGVIYW5kbGluZ0ZvcihDb250cm9s
UGFydCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCB1c2VzVmVydGlj
YWxWb2x1bWVTbGlkZXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgU3Ry
aW5nIGZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKGZsb2F0IHRpbWUpIGNvbnN0OworICAgIHZpcnR1
YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGltZShmbG9hdCBjdXJyZW50VGlt
ZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0OworICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlh
Q29udHJvbHNSZW1haW5pbmdUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikg
Y29uc3Q7CisgICAgdmlydHVhbCBib29sIHBhaW50TWVkaWFGdWxsc2NyZWVuQnV0dG9uKFJlbmRl
ck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKICNlbmRpZgogCiAg
ICAgdmlydHVhbCBib29sIHVzZXNUZXN0TW9kZUZvY3VzUmluZ0NvbG9yKCkgY29uc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLm1tCmlu
ZGV4IGE3NzgyMjhjNTUyMmQ2YzAyOTQyNzFlZjM3YTliNDZjNDBjZWQ1NGYuLjE3OTFiMDlhYjY1
MjhhMTVmZDUzZjk0YTg5N2U5ODI1MzdlZDM3MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLm1tCkBAIC0xNzMsMTEgKzE3Myw2IEBA
IGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRNZWRpYVNsaWRlclRyYWNrKFJlbmRl
ck9iamVjdCogb2JqZWN0LCBjb25zdCBQCiAgICAgcmV0dXJuIFJlbmRlck1lZGlhQ29udHJvbHND
aHJvbWl1bTo6cGFpbnRNZWRpYUNvbnRyb2xzUGFydChNZWRpYVNsaWRlciwgb2JqZWN0LCBwYWlu
dEluZm8sIHJlY3QpOwogfQogCi1ib29sIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVk
aWFDb250cm9sc0JhY2tncm91bmQoUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5m
byYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQotewotICAgIHJldHVybiBSZW5kZXJN
ZWRpYUNvbnRyb2xzQ2hyb21pdW06OnBhaW50TWVkaWFDb250cm9sc1BhcnQoTWVkaWFUaW1lbGlu
ZUNvbnRhaW5lciwgb2JqZWN0LCBwYWludEluZm8sIHJlY3QpOwotfQotCiBTdHJpbmcgUmVuZGVy
VGhlbWVDaHJvbWl1bU1hYzo6ZXh0cmFNZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpCiB7CiAgICAg
cmV0dXJuIFN0cmluZyhtZWRpYUNvbnRyb2xzQ2hyb21pdW1Vc2VyQWdlbnRTdHlsZVNoZWV0LCBz
aXplb2YobWVkaWFDb250cm9sc0Nocm9taXVtVXNlckFnZW50U3R5bGVTaGVldCkpOwpAQCAtMjI4
LDYgKzIyMywyNiBAQCBJbnRQb2ludCBSZW5kZXJUaGVtZUNocm9taXVtTWFjOjp2b2x1bWVTbGlk
ZXJPZmZzZXRGcm9tTXV0ZUJ1dHRvbihSZW5kZXJCb3gqIG11dAogewogICAgIHJldHVybiBSZW5k
ZXJUaGVtZTo6dm9sdW1lU2xpZGVyT2Zmc2V0RnJvbU11dGVCdXR0b24obXV0ZUJ1dHRvbkJveCwg
c2l6ZSk7CiB9CisKK1N0cmluZyBSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpmb3JtYXRNZWRpYUNv
bnRyb2xzVGltZShmbG9hdCB0aW1lKSBjb25zdAoreworICAgIHJldHVybiBSZW5kZXJNZWRpYUNv
bnRyb2xzQ2hyb21pdW06OmZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKHRpbWUpOworfQorCitTdHJp
bmcgUmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6Zm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1l
KGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3QKK3sKKyAgICByZXR1cm4g
UmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtOjpmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRp
bWUoY3VycmVudFRpbWUsIGR1cmF0aW9uKTsKK30KKworU3RyaW5nIFJlbmRlclRoZW1lQ2hyb21p
dW1NYWM6OmZvcm1hdE1lZGlhQ29udHJvbHNSZW1haW5pbmdUaW1lKGZsb2F0IGN1cnJlbnRUaW1l
LCBmbG9hdCBkdXJhdGlvbikgY29uc3QKK3sKKyAgICByZXR1cm4gUmVuZGVyVGhlbWVDaHJvbWl1
bU1hYzo6Zm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUoY3VycmVudFRpbWUsIGR1cmF0
aW9uKTsKK30KKworYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpwYWludE1lZGlhRnVsbHNj
cmVlbkJ1dHRvbihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludElu
Zm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgcmV0dXJuIFJlbmRlck1lZGlhQ29udHJv
bHNDaHJvbWl1bTo6cGFpbnRNZWRpYUNvbnRyb2xzUGFydChNZWRpYUVudGVyRnVsbHNjcmVlbkJ1
dHRvbiwgb2JqZWN0LCBwYWludEluZm8sIHJlY3QpOworfQogI2VuZGlmCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUNocm9taXVtU2tpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVDaHJvbWl1bVNraWEuY3BwCmluZGV4IDAzODZjMDEzNzQxZTdlZjNjMzUxMWQ4ODIyZjA4OWE3
ZWQxMzY3MzQuLjE4MTJlOWVlZTE2Yjc0OTQwMGI2YmU5YmJkZjBiMjIwNjgyZjRhNTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lh
LmNwcApAQCAtMzc4LDE4ICszNzgsNiBAQCBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjpw
YWludFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbihSZW5kZXJPYmplY3QqIG1hZ25pZgogICAgIHJl
dHVybiBmYWxzZTsKIH0KIAotYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6cGFpbnRNZWRp
YUNvbnRyb2xzQmFja2dyb3VuZChSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZv
JiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCi17Ci0jaWYgRU5BQkxFKFZJREVPKQot
ICAgIHJldHVybiBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OnBhaW50TWVkaWFDb250cm9s
c1BhcnQoTWVkaWFUaW1lbGluZUNvbnRhaW5lciwgb2JqZWN0LCBwYWludEluZm8sIHJlY3QpOwot
I2Vsc2UKLSAgICBVTlVTRURfUEFSQU0ob2JqZWN0KTsKLSAgICBVTlVTRURfUEFSQU0ocGFpbnRJ
bmZvKTsKLSAgICBVTlVTRURfUEFSQU0ocmVjdCk7Ci0gICAgcmV0dXJuIGZhbHNlOwotI2VuZGlm
Ci19Ci0KIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWE6OnBhaW50TWVkaWFTbGlkZXJUcmFj
ayhSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0
IEludFJlY3QmIHJlY3QpCiB7CiAjaWYgRU5BQkxFKFZJREVPKQpAQCAtNDcxLDYgKzQ1OSw1MCBA
QCBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjpwYWludE1lZGlhTXV0ZUJ1dHRvbihSZW5k
ZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUAogI2VuZGlmCiB9CiAKK1N0cmluZyBmb3JtYXRNZWRp
YUNvbnRyb2xzVGltZShmbG9hdCB0aW1lKQoreworI2lmIEVOQUJMRShWSURFTykKKyAgICByZXR1
cm4gUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtOjpmb3JtYXRNZWRpYUNvbnRyb2xzVGltZSh0
aW1lKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHRpbWUpOworICAgIHJldHVybiAwOworI2Vu
ZGlmCit9CisKK1N0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRpbWUoZmxvYXQgY3Vy
cmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKQoreworI2lmIEVOQUJMRShWSURFTykKKyAgICByZXR1
cm4gUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtOjpmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVu
dFRpbWUoY3VycmVudFRpbWUsIGR1cmF0aW9uKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGN1
cnJlbnRUaW1lKTsKKyAgICBVTlVTRURfUEFSQU0oZHVyYXRpb24pOworICAgIHJldHVybiAwOwor
I2VuZGlmCit9CisKK1N0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWluaW5nVGltZShmbG9h
dCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pCit7CisjaWYgRU5BQkxFKFZJREVPKQorICAg
IHJldHVybiBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OmZvcm1hdE1lZGlhQ29udHJvbHNS
ZW1haW5pbmdUaW1lKGN1cnJlbnRUaW1lLCBkdXJhdGlvbik7CisjZWxzZQorICAgIFVOVVNFRF9Q
QVJBTShjdXJyZW50VGltZSk7CisgICAgVU5VU0VEX1BBUkFNKGR1cmF0aW9uKTsKKyAgICByZXR1
cm4gMDsKKyNlbmRpZgorfQorCitib29sIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjpwYWludE1l
ZGlhRnVsbHNjcmVlbkJ1dHRvbihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZv
JiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisjaWYgRU5BQkxFKFZJREVPKQor
ICAgIHJldHVybiBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OnBhaW50TWVkaWFDb250cm9s
c1BhcnQoTWVkaWFFbnRlckZ1bGxzY3JlZW5CdXR0b24sIG9iamVjdCwgcGFpbnRJbmZvLCByZWN0
KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKG9iamVjdCk7CisgICAgVU5VU0VEX1BBUkFNKHBh
aW50SW5mbyk7CisgICAgVU5VU0VEX1BBUkFNKHJlY3QpOworICAgIHJldHVybiBmYWxzZTsKKyNl
bmRpZgorfQorCiB2b2lkIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjphZGp1c3RNZW51TGlzdFN0
eWxlKFN0eWxlUmVzb2x2ZXIqLCBSZW5kZXJTdHlsZSogc3R5bGUsIFdlYkNvcmU6OkVsZW1lbnQq
KSBjb25zdAogewogICAgIC8vIEhlaWdodCBpcyBsb2NrZWQgdG8gYXV0byBvbiBhbGwgYnJvd3Nl
cnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJv
bWl1bVNraWEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVt
U2tpYS5oCmluZGV4IDFlYTA2ZmUzMTk4YWE1YjE5ZTk5YTQyZmIwOThlODMzM2Q4NTU5ODQuLjc0
NTg3MzA1MmZkZTYzMmFiOWUyMzhkYTdlYzRkZDg3YjQ2ZDIxZDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oCkBAIC05MSw3ICs5
MSw2IEBAIGNsYXNzIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhIDogcHVibGljIFJlbmRlclRoZW1l
IHsKICAgICAgICAgdmlydHVhbCB2b2lkIGFkanVzdFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvblN0
eWxlKFN0eWxlUmVzb2x2ZXIqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsKICAgICAg
ICAgdmlydHVhbCBib29sIHBhaW50U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uKFJlbmRlck9iamVj
dCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKIAotICAgICAgICB2aXJ0dWFs
IGJvb2wgcGFpbnRNZWRpYUNvbnRyb2xzQmFja2dyb3VuZChSZW5kZXJPYmplY3QqLCBjb25zdCBQ
YWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBwYWludE1l
ZGlhU2xpZGVyVHJhY2soUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50
UmVjdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZWRpYVZvbHVtZVNsaWRlclRyYWNr
KFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKICAgICAg
ICAgdmlydHVhbCB2b2lkIGFkanVzdFNsaWRlclRodW1iU2l6ZShSZW5kZXJTdHlsZSosIEVsZW1l
bnQqKSBjb25zdDsKQEAgLTk5LDYgKzk4LDEwIEBAIGNsYXNzIFJlbmRlclRoZW1lQ2hyb21pdW1T
a2lhIDogcHVibGljIFJlbmRlclRoZW1lIHsKICAgICAgICAgdmlydHVhbCBib29sIHBhaW50TWVk
aWFWb2x1bWVTbGlkZXJUaHVtYihSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25z
dCBJbnRSZWN0Jik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBwYWludE1lZGlhUGxheUJ1dHRvbihS
ZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAgICAgICAg
IHZpcnR1YWwgYm9vbCBwYWludE1lZGlhTXV0ZUJ1dHRvbihSZW5kZXJPYmplY3QqLCBjb25zdCBQ
YWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CisgICAgICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1h
dE1lZGlhQ29udHJvbHNUaW1lKGZsb2F0IHRpbWUpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIFN0
cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZs
b2F0IGR1cmF0aW9uKSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFD
b250cm9sc1JlbWFpbmluZ1RpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBj
b25zdDsKKyAgICAgICAgdmlydHVhbCBib29sIHBhaW50TWVkaWFGdWxsc2NyZWVuQnV0dG9uKFJl
bmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKIAogICAgICAg
ICAvLyBNZW51TGlzdCByZWZlcnMgdG8gYW4gdW5zdHlsZWQgbWVudWxpc3QgKG1lYW5pbmcgYSBt
ZW51bGlzdCB3aXRob3V0CiAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3Igb3IgYm9yZGVyIHNl
dCkgYW5kIE1lbnVMaXN0QnV0dG9uIHJlZmVycyB0byBhIHN0eWxlZApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9mZWF0dXJlcy5neXBpCmluZGV4IDk5NDVmMDRiY2E0NjU3NzdkZmI4NmQ3MjdkZWVmMGNiMmU3
YTcyYWEuLjk3NmFiOWJkYjFmNGVlYjliMGM4MDcwOTZlMGQ5OGY2NjJjODNhMzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKQEAgLTE2MSw3ICsxNjEsNyBAQAogICAgICAgICAn
ZmVhdHVyZV9kZWZpbmVzJzogWwogICAgICAgICAgICdFTkFCTEVfQ0FMRU5EQVJfUElDS0VSPTEn
LAogICAgICAgICAgICdFTkFCTEVfRk9OVF9CT09TVElORz0wJywKLSAgICAgICAgICAnRU5BQkxF
X0ZVTExTQ1JFRU5fTUVESUFfQ09OVFJPTFM9MCcsCisgICAgICAgICAgJ0VOQUJMRV9GVUxMU0NS
RUVOX01FRElBX0NPTlRST0xTPTEnLAogICAgICAgICAgICdFTkFCTEVfSU5QVVRfU1BFRUNIPTEn
LAogICAgICAgICAgICdFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRT0wJywKICAgICAgICAgICAn
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTD0wJywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147098</attachid>
            <date>2012-06-12 09:24:00 -0700</date>
            <delta_ts>2012-06-14 06:15:09 -0700</delta_ts>
            <desc>Use this for review</desc>
            <filename>patch7_rebase_new_commit.diff</filename>
            <type>text/plain</type>
            <size>24176</size>
            <attacher name="Silvia Pfeiffer">silviapf</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyZWE3ZDhmLi4zMzZiYzEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDM1ICsxLDMgQEAKLTIwMTItMDYt
MDUgIFNpbHZpYSBQZmVpZmZlciAgPHNpbHZpYXBmQGNocm9taXVtLm9yZz4KLQotICAgICAgICBD
aGFuZ2UgdGhlIHZvbHVtZSBzbGlkZXIgdG8gaG9yaXpvbnRhbCByZW5kZXJpbmcgZm9yIENocm9t
ZSB2aWRlbyBjb250cm9scy4KLQotICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
LQotICAgICAgICBUaGUgQ2hyb21lIHZpZGVvIGNvbnRyb2xzIGFyZSByZWNlaXZpbmcgYSB2aXN1
YWwgdXBkYXRlLiBUaGUgdm9sdW1lIHNsaWRlciBpcyBpbmNsdWRlZCBpbnRvCi0gICAgICAgIHRo
ZSBjb250cm9scyB3aXRoIGhvcml6b250YWwgcmVuZGVyaW5nLCB0aGUgdm9sdW1lIHNsaWRlciBj
b250YWluZXIgaXMgcmVtb3ZlZC4gVGhlIHZpc3VhbAotICAgICAgICB1cGRhdGUgaXRzZWxmIGlz
IGluIGEgc2VwYXJhdGUgcGF0Y2guCi0KLSAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0
RXhwZWN0YXRpb25zOgotICAgICAgICBUZW1wb3JhcmlseSBza2lwIHRlc3RzIHJlbGF0ZWQgdG8g
dm9sdW1lIGNvbnRyb2xzIHJlbmRlcmluZyBmb3IgQ2hyb21pdW0uCi0KLTIwMTItMDUtMjggIFNp
bHZpYSBQZmVpZmZlciAgPHNpbHZpYXBmQGNocm9taXVtLm9yZz4KLQotICAgICAgICBJbnRyb2R1
Y2UgYW4gRW5jbG9zdXJlIEVsZW1lbnQgZm9yIENocm9taXVtIHZpZGVvIGNvbnRyb2xzLgotICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc2ODMKLQotICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KLQotICAgICAgICBDaGFuZ2UgZnVsbHNj
cmVlbi92aWRlby1jb250cm9scy1vdmVycmlkZS5odG1sLCBtZWRpYS9tZWRpYS1jb250cm9scy1p
bnZhbGlkLXVybC5odG1sIGFuZAotICAgICAgICBtZWRpYS90cmFjay90cmFjay1jdWUtcmVuZGVy
aW5nLXNuYXAtdG8tbGluZXMtbm90LXNldC5odG1sIHRvIGRlYWwgd2l0aCB0aGUgbmV3IGVuY2xv
c3VyZQotICAgICAgICBkaXYgaW4gQ2hyb21pdW0gY29udHJvbHMgYW5kIHVzZSB0aGUgbWVkaWFD
b250cm9sc0VsZW1lbnQoKSBoZWxwZXIgZnVuY3Rpb24gdG8gZmluZCBlbGVtZW50cwotICAgICAg
ICBpbnNpZGUgdGhlIGNvbnRyb2xzLgotICAgICAgICBGYWlsIHZpZGVvIGNvbnRyb2xzIHRlc3Rz
IGluIHRlc3QgZXhwZWN0YXRpb25zLgotCi0gICAgICAgICogZnVsbHNjcmVlbi92aWRlby1jb250
cm9scy1vdmVycmlkZS1leHBlY3RlZC50eHQ6IFVwZGF0ZWQuCi0gICAgICAgICogZnVsbHNjcmVl
bi92aWRlby1jb250cm9scy1vdmVycmlkZS5odG1sOiBVc2UgbWVkaWFDb250cm9sc0VsZW1lbnQg
aGVscGVyIGZ1bmN0aW9uLgotICAgICAgICAqIG1lZGlhL21lZGlhLWNvbnRyb2xzLWludmFsaWQt
dXJsLmh0bWw6IFVzZSBtZWRpYUNvbnRyb2xzRWxlbWVudCBoZWxwZXIgZnVuY3Rpb24uCi0gICAg
ICAgICogbWVkaWEvdHJhY2svdHJhY2stY3VlLXJlbmRlcmluZy1zbmFwLXRvLWxpbmVzLW5vdC1z
ZXQuaHRtbDogSGVpZ2h0IGlzIHByb3ZpZGVkIGJ5IGVuY2xvc3VyZSBlbGVtZW50LgotICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6IEZhaWwgdmlkZW8gY29udHJv
bHMgdGVzdHMuCi0KIDIwMTItMDYtMTIgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtHdGtdIE1hbnkgdGVzdHMgcmV2ZWFsZWQgYXMgcGFzc2lu
ZyBhZnRlciBtb3ZpbmcgZnJvbSBTa2lwcGVkIHRvIHRlc3RfZXhwZWN0YXRpb25zLnR4dApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDY1Y2FjMzIuLmM0MzgyNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3MCBAQAor
MjAxMi0wNi0xMiAgU2lsdmlhIFBmZWlmZmVyICA8c2lsdmlhcGZAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIEFkZCBmdWxsc2NyZWVuIGJ1dHRvbiB0byBDaHJvbWUgdmlkZW8gY29udHJvbHMgZm9y
IHZpZGVvLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODg4MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBO
byBuZXcgdGVzdHMsIGZpbmFsIHBhdGNoIHdpbGwgY29udGFpbiB0aGUgcmViYXNlbGluZWQgdGVz
dHMuCisKKyAgICAgICAgVGhlIENocm9tZSB2aWRlbyBjb250cm9scyBhcmUgcmVjZWl2aW5nIGEg
dmlzdWFsIHVwZGF0ZS4KKyAgICAgICAgVGhpcyBwYXRjaCBpbmNsdWRlcyBhIGZ1bGxzY3JlZW4g
YnV0dG9uIGZvciB2aWRlbyBlbGVtZW50cyBhbmQgdGhlIHJlbmRlcmluZyBvZiB0aGUgY29udHJv
bHMKKyAgICAgICAgaW4gZnVsbHNjcmVlbiBpbmNsdWRpbmcgaGlkaW5nIHRoZW0gYWZ0ZXIgMiBz
ZWNvbmRzIHdoZW4gdGhlIG1vdXNlIGlzIG91dCBvZiB0aGUgY29udHJvbHMKKyAgICAgICAgYW5k
IG5vdCBtb3ZlZC4KKworICAgICAgICAqIGNzcy9tZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3NzOgor
ICAgICAgICAodmlkZW86LXdlYmtpdC1mdWxsLXBhZ2UtbWVkaWE6Oi13ZWJraXQtbWVkaWEtY29u
dHJvbHMtcGFuZWwpOgorICAgICAgICBBbGlnbiBjb250cm9scyB0byB0aGUgYm90dG9tIG9mIHRo
ZSBmdWxsc2NyZWVuIHBhZ2UuCisgICAgICAgIChhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9s
cy1mdWxsc2NyZWVuLWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNj
cmVlbi1idXR0b24pOgorICAgICAgICBJbmNsdWRlIHN0eWxpbmcgZm9yIHRoZSBmdWxsc2NyZWVu
IGJ1dHRvbi4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENo
cm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICBBZGQgYSBjb25zdGFudCBm
b3Igd2hlbiB0byBoaWRlIHRoZSBjb250cm9scyBpbiBmdWxsc2NyZWVuLgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6TWVkaWFDb250cm9sUm9vdEVs
ZW1lbnRDaHJvbWl1bSk6CisgICAgICAgIEFkZCBtZW1iZXIgZmllbGRzIGZvciBmdWxsc2NyZWVu
IGJ1dHRvbiwgaGlkaW5nIHRpbWVyIGFuZCB0cmFja2luZyBvZiB3aGV0aGVyIHdlIGFyZSBpbiBm
dWxsc2NyZWVuLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJv
bWl1bTo6Y3JlYXRlKToKKyAgICAgICAgQWRkIGZ1bGxzY3JlZW4gYnV0dG9uIGVsZW1lbnQgdG8g
dGhlIHZpc3VhbCBsYXlvdXQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxl
bWVudENocm9taXVtOjpzZXRNZWRpYUNvbnRyb2xsZXIpOgorICAgICAgICBBZGQgZnVsbHNjcmVl
biBidXR0b24gZWxlbWVudCB0byB0aGUgbWVkaWEgY29udHJvbGxlci4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnJlc2V0KToKKyAgICAgICAgU2hv
dyB0aGUgZnVsbHNjcmVlbiBidXR0b24gaWYgdGhlIGNvbnRyb2xsZXIgc3VwcG9ydHMgZnVsbHNj
cmVlbi4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06
OnBsYXliYWNrU3RhcnRlZCk6CisgICAgICAgIFN0YXJ0IHRoZSB0aW1lciB0byBoaWRlIHRoZSBj
b250cm9scyBpbiBmdWxsc2NyZWVuLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9v
dEVsZW1lbnRDaHJvbWl1bTo6cGxheWJhY2tTdG9wcGVkKToKKyAgICAgICAgRG9uJ3QgaGlkZSB0
aGUgY29udHJvbHMgd2hlbiB0aGUgdmlkZW8gaXMgcGF1c2VkIGluIGZ1bGxzY3JlZW4uCisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpyZXBvcnRlZEVy
cm9yKToKKyAgICAgICAgSGlkZSB0aGUgZnVsbHNjcmVlbiBidXR0b24gd2hlbiB3ZSBoaXQgYW4g
ZXJyb3IuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVt
OjpkZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgQWRkIGxvZ2ljIGZvciBtb3VzZSBldmVu
dHMgaW4gZnVsbHNjcmVlbiB0byBzdGFydC9zdG9wIHRoZSBoaWRpbmcgdGltZXIuCisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpzdGFydEhpZGVGdWxs
c2NyZWVuQ29udHJvbHNUaW1lcik6CisgICAgICAgIFN0YXJ0IHRoZSBmdWxsc2NyZWVuIGhpZGlu
ZyB0aW1lci4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21p
dW06OmhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lckZpcmVkKToKKyAgICAgICAgVGltZXIgZmly
ZWQ6IGhpZGUgdGhlIHZpZGVvIGNvbnRyb2xzIGluIGZ1bGxzY3JlZW4uCisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpzdG9wSGlkZUZ1bGxzY3JlZW5D
b250cm9sc1RpbWVyKToKKyAgICAgICAgUmVzZXQgdGhlIGZ1bGxzY3JlZW4gaGlkaW5nIHRpbWVy
LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6ZW50
ZXJlZEZ1bGxzY3JlZW4pOgorICAgICAgICBBZGQgbG9naWMgdG8gZW50ZXIgZnVsbHNjcmVlbi4K
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmV4aXRl
ZEZ1bGxzY3JlZW4pOgorICAgICAgICBBZGQgbG9naWMgdG8gZXhpdCBmdWxsc2NyZWVuLgorICAg
ICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uaDoKKyAg
ICAgICAgKE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0pOgorICAgICAgICBBZGQgZGVj
bGFyYXRpb24gb2YgbWVtYmVyIGZ1bmN0aW9ucyBhbmQgZmllbGRzIGZvciBmdWxsc2NyZWVuLgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6cGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24pOgorICAgICAgICBVc2Ug
dGhlIG5ldyBpbWFnZSBmb3IgdGhlIGZ1bGxzY3JlZW4gYnV0dG9uLgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLmg6CisgICAgICAgIChSZW5kZXJUaGVtZUNocm9t
aXVtTWFjKToKKyAgICAgICAgRGVjbGFyZSB0aGUgZnVsbHNjcmVlbiBwYWludGluZyBmdW5jdGlv
biBmb3IgQ2hyb21lIE1hYy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1
bU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OnBhaW50
TWVkaWFGdWxsc2NyZWVuQnV0dG9uKToKKyAgICAgICAgSG9vayB1cCB0aGUgZnVsbHNjcmVlbiBw
YWluaW5nIGZ1bmN0aW9uIGZvciBDaHJvbWUgTWFjLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUaGVtZUNocm9taXVtU2tpYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNo
cm9taXVtU2tpYTo6cGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24pOgorICAgICAgICBIb29rIHVw
IHRoZSBmdWxsc2NyZWVuIHBhaW5pbmcgZnVuY3Rpb24gZm9yIENocm9tZSBTa2lhLgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oOgorICAgICAgICAoUmVuZGVy
VGhlbWVDaHJvbWl1bVNraWEpOgorICAgICAgICBEZWNsYXJlIHRoZSBmdWxsc2NyZWVuIHBhaW50
aW5nIGZ1bmN0aW9uIGZvciBDaHJvbWUgU2tpYS4KKwogMjAxMi0wNi0xMSAgU2lsdmlhIFBmZWlm
ZmVyICA8c2lsdmlhcGZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENoYW5nZSBtdXRlIGJ1dHRv
biBhbmQgdm9sdW1lIHNsaWRlciBiZWhhdmlvdXIgZm9yIG5ldyBDaHJvbWl1bSB2aWRlbyBjb250
cm9scy4KQEAgLTIxNSwxMDcgKzI4Miw2IEBACiAgICAgICAgIChSZW5kZXJUaGVtZUNocm9taXVt
U2tpYSk6CiAgICAgICAgIFJlbW92ZSB0aW1lbGluZSBjb250YWluZXIgcmVuZGVyaW5nIChpLmUu
IHRoZSBtZWRpYSBjb250cm9scyBiYWNrZ3JvdW5kKS4KIAotMjAxMi0wNi0wNSAgU2lsdmlhIFBm
ZWlmZmVyICA8c2lsdmlhcGZAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIENoYW5nZSB0aGUgdm9s
dW1lIHNsaWRlciB0byBob3Jpem9udGFsIHJlbmRlcmluZyBmb3IgQ2hyb21lIHZpZGVvIGNvbnRy
b2xzLgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc4
MzUKLQotICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KLQotICAgICAgICBObyBu
ZXcgdGVzdHMuICh2aXN1YWwgdXBkYXRlIHdpbGwgY29udGFpbiByZWJhc2VsaW5lZCB0ZXN0cykK
LQotICAgICAgICBUaGUgQ2hyb21lIHZpZGVvIGNvbnRyb2xzIGFyZSByZWNlaXZpbmcgYSB2aXN1
YWwgdXBkYXRlLiBUaGUgdm9sdW1lIHNsaWRlciBpcyBpbmNsdWRlZCBpbnRvCi0gICAgICAgIHRo
ZSBjb250cm9scyB3aXRoIGhvcml6b250YWwgcmVuZGVyaW5nLCB0aGUgdm9sdW1lIHNsaWRlciBj
b250YWluZXIgaXMgcmVtb3ZlZC4gVGhlIHZpc3VhbAotICAgICAgICB1cGRhdGUgaXRzZWxmIGlz
IGluIGEgc2VwYXJhdGUgcGF0Y2guCi0KLSAgICAgICAgKiBjc3MvbWVkaWFDb250cm9sc0Nocm9t
aXVtLmNzczoKLSAgICAgICAgKGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLW11dGUtYnV0
dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1tdXRlLWJ1dHRvbik6Ci0gICAgICAg
IFJlbW92ZWQgcmVsYXRpdmUgcG9zaXRpb25pbmcgdG8gcmVuZGVyIGFsbCBjb250cm9scyBlbGVt
ZW50cyBlcXVhbGx5IGluIERPTSBvcmRlci4KLSAgICAgICAgKGF1ZGlvOjotd2Via2l0LW1lZGlh
LWNvbnRyb2xzLXBsYXktYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1wbGF5
LWJ1dHRvbik6Ci0gICAgICAgIFJlbW92ZWQgYWJzb2x1dGUgcG9zaXRpb25pbmcgdG8gcmVuZGVy
IGFsbCBjb250cm9scyBlbGVtZW50cyBlcXVhbGx5IGluIERPTSBvcmRlci4KLSAgICAgICAgKGF1
ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWVsaW5lLWNvbnRhaW5lciwgdmlkZW86Oi13
ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUtY29udGFpbmVyKToKLSAgICAgICAgUmVtb3Zl
ZCBhYnNvbHV0ZSBwb3NpdGlvbmluZyB0byByZW5kZXIgYWxsIGNvbnRyb2xzIGVsZW1lbnRzIGVx
dWFsbHkgaW4gRE9NIG9yZGVyLgotICAgICAgICAoYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJv
bHMtdm9sdW1lLXNsaWRlci1jb250YWluZXIsIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xz
LXZvbHVtZS1zbGlkZXItY29udGFpbmVyKToKLSAgICAgICAgUmVtb3ZlZCB2b2x1bWUgc2xpZGVy
IGNvbnRhaW5lciAtIGl0J3Mgbm90IG5lY2Vzc2FyeSBhbnkgbW9yZS4KLSAgICAgICAgKGF1ZGlv
Ojotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWN1cnJlbnQtdGltZS1kaXNwbGF5LCB2aWRlbzo6LXdl
YmtpdC1tZWRpYS1jb250cm9scy1jdXJyZW50LXRpbWUtZGlzcGxheSk6Ci0gICAgICAgIFJlbW92
ZSBmbGV4Ym94IGFuZCBpbnRyb2R1Y2UgaW5saW5lIGRpc3BsYXkgdG8gYWx3YXlzIGRpc3BsYXkg
dGhpcyBmaWVsZC4KLSAgICAgICAgKGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXZvbHVt
ZS1zbGlkZXIsIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXZvbHVtZS1zbGlkZXIpOgot
ICAgICAgICBSZW1vdmVkIGFic29sdXRlIHBvc2l0aW9uaW5nIHRvIHJlbmRlciBhbGwgY29udHJv
bHMgZWxlbWVudHMgZXF1YWxseSBpbiBET00gb3JkZXIuCi0gICAgICAgICogaHRtbC9zaGFkb3cv
TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpN
ZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENo
cm9taXVtKToKLSAgICAgICAgUmVtb3ZlZCB2b2x1bWUgc2xpZGVyIGNvbnRhaW5lciAtIGl0J3Mg
bm90IG5lY2Vzc2FyeSBhbnkgbW9yZS4KLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJv
b3RFbGVtZW50Q2hyb21pdW06OmNyZWF0ZSk6Ci0gICAgICAgIEFwcGVuZGVkIHRoZSB2b2x1bWUg
c2xpZGVyIGFuZCB0aGUgbXV0ZSBidXR0b24gZGlyZWN0bHkgdG8gdGhlIHBhbmVsLCByZW1vdmVk
IHZvbHVtZSBzbGlkZXIgY29udGFpbmVyLgotICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
Um9vdEVsZW1lbnRDaHJvbWl1bTo6c2V0TWVkaWFDb250cm9sbGVyKToKLSAgICAgICAgUmVtb3Zl
ZCB2b2x1bWUgc2xpZGVyIGNvbnRhaW5lci4KLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJv
bFJvb3RFbGVtZW50Q2hyb21pdW06OnJlcG9ydGVkRXJyb3IpOgotICAgICAgICBSZW1vdmVkIHZv
bHVtZSBzbGlkZXIgY29udGFpbmVyLgotICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9v
dEVsZW1lbnRDaHJvbWl1bTo6c2hvd1ZvbHVtZVNsaWRlcik6Ci0gICAgICAgIFJlbW92ZWQgdm9s
dW1lIHNsaWRlciBjb250YWluZXIuCi0gICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
Um9vdEVsZW1lbnRDaHJvbWl1bS5oOgotICAgICAgICAoV2ViQ29yZSk6Ci0gICAgICAgIChNZWRp
YUNvbnRyb2xSb290RWxlbWVudENocm9taXVtKToKLSAgICAgICAgUmVtb3ZlZCB2b2x1bWUgc2xp
ZGVyIGNvbnRhaW5lci4KLSAgICAgICAgKiBodG1sL3NoYWRvdy9TbGlkZXJUaHVtYkVsZW1lbnQu
Y3BwOgotICAgICAgICAoV2ViQ29yZTo6aGFzVmVydGljYWxBcHBlYXJhbmNlKToKLSAgICAgICAg
QWxsb3cgdXNlIG9mIGhvcml6b250YWwgbWVkaWEgdm9sdW1lIHNsaWRlci4KLSAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclNsaWRlclRodW1iOjpsYXlvdXQpOgotICAgICAgICBSZXVzZSBoYXNWZXJ0
aWNhbEFwcGVhcmFuY2UgZnVuY3Rpb24uCi0gICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lZGlh
Q29udHJvbHNDaHJvbWl1bS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZWRpYUNvbnRy
b2xzQ2hyb21pdW06OnBhaW50TWVkaWFWb2x1bWVTbGlkZXIpOgotICAgICAgICBDaGFuZ2UgbGlu
ZSBkcmF3aW5nIGZyb20gdmVydGljYWwgdG8gaG9yaXpvbnRhbC4KLSAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyVGhlbWUuaDoKLSAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjp1c2VzVmVy
dGljYWxWb2x1bWVTbGlkZXIpOgotICAgICAgICBBZGQgdXNlc1ZlcnRpY2FsVm9sdW1lU2xpZGVy
IGZ1bmN0aW9uIHRvIGFsbG93IGhvcml6b250YWwgdm9sdW1lIHNsaWRlcnMuCi0gICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMuaDoKLSAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lQ2hyb21pdW1NYWM6OnVzZXNWZXJ0aWNhbFZvbHVtZVNsaWRlcik6Ci0gICAgICAg
IEFkZCB1c2VzVmVydGljYWxWb2x1bWVTbGlkZXIgZnVuY3Rpb24gdG8gYWxsb3cgaG9yaXpvbnRh
bCB2b2x1bWUgc2xpZGVycy4KLSAgICAgICAgQWRkIHVzZXNWZXJ0aWNhbFZvbHVtZVNsaWRlciBm
dW5jdGlvbiB0byBhbGxvdyBob3Jpem9udGFsIHZvbHVtZSBzbGlkZXJzLgotICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oOgotICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGhlbWVDaHJvbWl1bVNraWE6OnVzZXNWZXJ0aWNhbFZvbHVtZVNsaWRlcik6Ci0gICAgICAg
IEFkZCB1c2VzVmVydGljYWxWb2x1bWVTbGlkZXIgZnVuY3Rpb24gdG8gYWxsb3cgaG9yaXpvbnRh
bCB2b2x1bWUgc2xpZGVycy4KLQotMjAxMi0wNS0yOCAgU2lsdmlhIFBmZWlmZmVyICA8c2lsdmlh
cGZAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIEludHJvZHVjZSBhbiBFbmNsb3N1cmUgRWxlbWVu
dCBmb3IgQ2hyb21pdW0gdmlkZW8gY29udHJvbHMuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzY4MwotCi0gICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgotCi0gICAgICAgIFVwZGF0ZWQgdGVzdHMuCi0KLSAgICAgICAgVGhlIENocm9t
ZSB2aWRlbyBjb250cm9scyBhcmUgcmVjZWl2aW5nIGEgdmlzdWFsIHVwZGF0ZS4gQSBuZXcgZW5j
bG9zdXJlIGRpdiBpcyByZXF1aXJlZAotICAgICAgICB0byBwcm92aWRlIGZvciBhIG9mZnNldCBz
cGFjZSBmcm9tIHRoZSB2aWRlbydzIGJvdW5kYXJpZXMuIFRoZSB2aXN1YWwgdXBkYXRlIGl0c2Vs
ZiBpcyBpbgotICAgICAgICBhIHNlcGFyYXRlIHBhdGNoLgotCi0gICAgICAgICogY3NzL21lZGlh
Q29udHJvbHNDaHJvbWl1bS5jc3M6Ci0gICAgICAgICh2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250
cm9scy1lbmNsb3N1cmUpOgotICAgICAgICBJbnRyb2R1Y2UgQ1NTIGZvciBlbmNsb3N1cmUgZGl2
IHNvIGl0IGRvZXNuJ3Qgc2hvdyB5ZXQuCi0gICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRy
b2xDaHJvbWl1bUVuY2xvc3VyZUVsZW1lbnQ6Ok1lZGlhQ29udHJvbENocm9taXVtRW5jbG9zdXJl
RWxlbWVudCk6Ci0gICAgICAgIERlZmluaXRpb24gb2YgdGhlIG5ldyBlbmNsb3N1cmUgZWxlbWVu
dC4KLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbENocm9taXVtRW5jbG9zdXJlRWxlbWVu
dDo6Y3JlYXRlKToKLSAgICAgICAgRGVmaW5pdGlvbiBvZiBhIGNyZWF0ZSBvcGVyYXRvciBmb3Ig
dGhlIG5ldyBlbmNsb3N1cmUgZWxlbWVudC4KLSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJv
bENocm9taXVtRW5jbG9zdXJlRWxlbWVudDo6c2hhZG93UHNldWRvSWQpOgotICAgICAgICBEZWZp
bml0aW9uIG9mIHRoZSBzaGFkb3dQc2V1ZG9JZCBvZiAtd2Via2l0LW1lZGlhLWNvbnRyb2xzLWVu
Y2xvc3VyZSBmb3IgdGhlIGVuY2xvc3VyZSBkaXYuCi0gICAgICAgIChXZWJDb3JlOjpNZWRpYUNv
bnRyb2xSb290RWxlbWVudENocm9taXVtOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVt
KToKLSAgICAgICAgSW5pdGlhbGl6ZSBtZW1iZXIgZWxlbWVudCBmb3IgZW5jbG9zdXJlIGRpdi4K
LSAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmNyZWF0
ZSk6Ci0gICAgICAgIEluc3RhbnRpYXRlIGVuY2xvc3VyZSBkaXYgYW5kIGFkZCBpbnRvIERPTSBi
ZXR3ZWVuIGNvbnRyb2xzIGFuZCBwYW5lbCBlbGVtZW50cy4KLSAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnNldE1lZGlhQ29udHJvbGxlcik6Ci0gICAg
ICAgIFNldCBtZWRpYSBjb250cm9sbGVyIGZvciBlbmNsb3N1cmUgZGl2LgotICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6Y3JlYXRlVGV4dFRyYWNrRGlz
cGxheSk6Ci0gICAgICAgIEluc2VydCB0ZXh0IHRyYWNrIGRpc3BsYXkgY29udGFpbmVyIHRvIGVu
Y2xvc3VyZSByYXRoZXIgdGhhbiBwYW5lbC4KLSAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xSb290RWxlbWVudENocm9taXVtLmg6Ci0gICAgICAgIChXZWJDb3JlKToKLSAgICAgICAg
KE1lZGlhQ29udHJvbENocm9taXVtRW5jbG9zdXJlRWxlbWVudCk6Ci0gICAgICAgIChXZWJDb3Jl
OjpNZWRpYUNvbnRyb2xDaHJvbWl1bUVuY2xvc3VyZUVsZW1lbnQ6OnNldE1lZGlhQ29udHJvbGxl
cik6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xDaHJvbWl1bUVuY2xvc3VyZUVsZW1l
bnQ6Om1lZGlhQ29udHJvbGxlcik6Ci0gICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xDaHJv
bWl1bUVuY2xvc3VyZUVsZW1lbnQ6OmlzTWVkaWFDb250cm9sRWxlbWVudCk6Ci0gICAgICAgIEFk
ZCBkZWNsYXJhdGlvbiBvZiB0aGUgbmV3IGVuY2xvc3VyZSBlbGVtZW50IGFuZCBpdHMgbWVtYmVy
IGZ1bmN0aW9ucy4KLSAgICAgICAgKE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0pOgot
ICAgICAgICBBZGQgbWVtYmVyIHZhcmlhYmxlIHRvIGNvbnRyb2xzIHJvb3QgZWxlbWVudCB0byBo
b2xkIHRoZSBlbmNsb3N1cmUgZWxlbWVudC4KLQogMjAxMi0wNi0xMiAgVGhpYWdvIE1hcmNvcyBQ
LiBTYW50b3MgIDx0aGlhZ28uc2FudG9zQGludGVsLmNvbT4KIAogICAgICAgICBHZW5lcmF0ZSAt
d2Via2l0LWJveC1kZWNvcmF0aW9uLWJyZWFrIHByb3BlcnR5IG9ubHkgd2hlbiB0aGUgZmVhdHVy
ZSBpcyBlbmFibGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvbWVkaWFDb250cm9s
c0Nocm9taXVtLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzQ2hyb21pdW0u
Y3NzCmluZGV4IDM5NmY2NjEuLmIzOTMxMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9tZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRp
YUNvbnRyb2xzQ2hyb21pdW0uY3NzCkBAIC0zOSw2ICszOSwxMSBAQCBhdWRpbzotd2Via2l0LWZ1
bGwtcGFnZS1tZWRpYSwgdmlkZW86LXdlYmtpdC1mdWxsLXBhZ2UtbWVkaWEgewogICAgIG1heC13
aWR0aDogMTAwJTsKIH0KIAorYXVkaW86LXdlYmtpdC1mdWxsLXBhZ2UtbWVkaWE6Oi13ZWJraXQt
bWVkaWEtY29udHJvbHMtcGFuZWwsCit2aWRlbzotd2Via2l0LWZ1bGwtcGFnZS1tZWRpYTo6LXdl
YmtpdC1tZWRpYS1jb250cm9scy1wYW5lbCB7CisgICAgYm90dG9tOiAwcHg7Cit9CisKIDo6LXdl
YmtpdC1tZWRpYS1jb250cm9scyB7CiAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICAgLXdl
YmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKQEAgLTE3MCw0ICsxNzUsMTcgQEAgaW5wdXRbdHlw
ZT0icmFuZ2UiXTo6LXdlYmtpdC1tZWRpYS1zbGlkZXItdGh1bWIgewogICAgIGJvdHRvbTogMXB4
OwogICAgIG1hcmdpbi1sZWZ0OiAtN3B4OwogICAgIG1hcmdpbi1yaWdodDogLTdweDsKLX0KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9CisKK2F1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRy
b2xzLWZ1bGxzY3JlZW4tYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1mdWxs
c2NyZWVuLWJ1dHRvbiB7CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZWRpYS1lbnRlci1mdWxs
c2NyZWVuLWJ1dHRvbjsKKyAgICBkaXNwbGF5OiBpbmxpbmU7CisgICAgYm9yZGVyOiBub25lOwor
ICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CisgICAgd2lkdGg6IDMwcHg7CisgICAgaGVpZ2h0
OiAzMHB4OworICAgIGxpbmUtaGVpZ2h0OiAzMHB4OworICAgIG1hcmdpbi1sZWZ0OiAtNXB4Owor
ICAgIG1hcmdpbi1yaWdodDogOXB4OworICAgIHBhZGRpbmc6IDA7Cit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVt
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50
Q2hyb21pdW0uY3BwCmluZGV4IDBhYjFiYWYuLjM4MDFlOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hy
b21pdW0uY3BwCkBAIC00Niw2ICs0Niw4IEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIGNvbnN0IGRvdWJsZSB0aW1lV2l0aG91dE1vdXNlTW92
ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyA9IDI7CisKIE1lZGlhQ29udHJvbENocm9taXVtRW5j
bG9zdXJlRWxlbWVudDo6TWVkaWFDb250cm9sQ2hyb21pdW1FbmNsb3N1cmVFbGVtZW50KERvY3Vt
ZW50KiBkb2N1bWVudCkKICAgICA6IEhUTUxEaXZFbGVtZW50KEhUTUxOYW1lczo6ZGl2VGFnLCBk
b2N1bWVudC0+ZG9jdW1lbnQoKSkKICAgICAsIG1fbWVkaWFDb250cm9sbGVyKDApCkBAIC04MSw3
ICs4Myw5IEBAIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06Ok1lZGlhQ29udHJvbFJv
b3RFbGVtZW50Q2hyb21pdW0oRG9jdW1lbnQqIGRvY3VtCiAgICAgLCBtX3RleHREaXNwbGF5Q29u
dGFpbmVyKDApCiAjZW5kaWYKICAgICAsIG1fb3BhcXVlKHRydWUpCisgICAgLCBtX2hpZGVGdWxs
c2NyZWVuQ29udHJvbHNUaW1lcih0aGlzLCAmTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1
bTo6aGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyRmlyZWQpCiAgICAgLCBtX2lzTW91c2VPdmVy
Q29udHJvbHMoZmFsc2UpCisgICAgLCBtX2lzRnVsbHNjcmVlbihmYWxzZSkKIHsKIH0KIApAQCAt
MjU0LDYgKzI1OCw5IEBAIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6cGxh
eWJhY2tTdGFydGVkKCkKICAgICBtX2N1cnJlbnRUaW1lRGlzcGxheS0+c2hvdygpOwogICAgIG1f
ZHVyYXRpb25EaXNwbGF5LT5oaWRlKCk7CiAgICAgdXBkYXRlVGltZURpc3BsYXkoKTsKKworICAg
IGlmIChtX2lzRnVsbHNjcmVlbikKKyAgICAgICAgc3RhcnRIaWRlRnVsbHNjcmVlbkNvbnRyb2xz
VGltZXIoKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpwbGF5
YmFja1Byb2dyZXNzZWQoKQpAQCAtMjcxLDYgKzI3OCw4IEBAIHZvaWQgTWVkaWFDb250cm9sUm9v
dEVsZW1lbnRDaHJvbWl1bTo6cGxheWJhY2tTdG9wcGVkKCkKICAgICBtX3RpbWVsaW5lLT5zZXRQ
b3NpdGlvbihtX21lZGlhQ29udHJvbGxlci0+Y3VycmVudFRpbWUoKSk7CiAgICAgdXBkYXRlVGlt
ZURpc3BsYXkoKTsKICAgICBtYWtlT3BhcXVlKCk7CisKKyAgICBzdG9wSGlkZUZ1bGxzY3JlZW5D
b250cm9sc1RpbWVyKCk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1
bTo6dXBkYXRlVGltZURpc3BsYXkoKQpAQCAtMzM5LDE1ICszNDgsNTUgQEAgdm9pZCBNZWRpYUNv
bnRyb2xSb290RWxlbWVudENocm9taXVtOjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVu
dCkKICAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkubW91c2VvdmVyRXZlbnQp
IHsKICAgICAgICAgaWYgKCFjb250YWluc1JlbGF0ZWRUYXJnZXQoZXZlbnQpKSB7CiAgICAgICAg
ICAgICBtX2lzTW91c2VPdmVyQ29udHJvbHMgPSB0cnVlOwotICAgICAgICAgICAgaWYgKCFtX21l
ZGlhQ29udHJvbGxlci0+Y2FuUGxheSgpKQorICAgICAgICAgICAgaWYgKCFtX21lZGlhQ29udHJv
bGxlci0+Y2FuUGxheSgpKSB7CiAgICAgICAgICAgICAgICAgbWFrZU9wYXF1ZSgpOworICAgICAg
ICAgICAgICAgIGlmIChzaG91bGRIaWRlQ29udHJvbHMoKSkKKyAgICAgICAgICAgICAgICAgICAg
c3RhcnRIaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIoKTsKKyAgICAgICAgICAgIH0KICAgICAg
ICAgfQogICAgIH0gZWxzZSBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkubW91c2Vv
dXRFdmVudCkgewotICAgICAgICBpZiAoIWNvbnRhaW5zUmVsYXRlZFRhcmdldChldmVudCkpCisg
ICAgICAgIGlmICghY29udGFpbnNSZWxhdGVkVGFyZ2V0KGV2ZW50KSkgewogICAgICAgICAgICAg
bV9pc01vdXNlT3ZlckNvbnRyb2xzID0gZmFsc2U7CisgICAgICAgICAgICBzdG9wSGlkZUZ1bGxz
Y3JlZW5Db250cm9sc1RpbWVyKCk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKGV2ZW50LT50
eXBlKCkgPT0gZXZlbnROYW1lcygpLm1vdXNlbW92ZUV2ZW50KSB7CisgICAgICAgIGlmIChtX2lz
RnVsbHNjcmVlbikgeworICAgICAgICAgICAgLy8gV2hlbiB3ZSBnZXQgYSBtb3VzZSBtb3ZlIGlu
IGZ1bGxzY3JlZW4gbW9kZSwgc2hvdyB0aGUgbWVkaWEgY29udHJvbHMsIGFuZCBzdGFydCBhIHRp
bWVyCisgICAgICAgICAgICAvLyB0aGF0IHdpbGwgaGlkZSB0aGUgbWVkaWEgY29udHJvbHMgYWZ0
ZXIgYSAzIHNlY29uZHMgd2l0aG91dCBhIG1vdXNlIG1vdmUuCisgICAgICAgICAgICBtYWtlT3Bh
cXVlKCk7CisgICAgICAgICAgICBpZiAoc2hvdWxkSGlkZUNvbnRyb2xzKCkpCisgICAgICAgICAg
ICAgICAgc3RhcnRIaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIoKTsKKyAgICAgICAgfQogICAg
IH0KIH0KIAordm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpzdGFydEhpZGVG
dWxsc2NyZWVuQ29udHJvbHNUaW1lcigpCit7CisgICAgaWYgKCFtX2lzRnVsbHNjcmVlbikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgbV9oaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIuc3RhcnRP
bmVTaG90KHRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKTsKK30K
Kwordm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpoaWRlRnVsbHNjcmVlbkNv
bnRyb2xzVGltZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtPiop
Cit7CisgICAgaWYgKG1fbWVkaWFDb250cm9sbGVyLT5wYXVzZWQoKSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgaWYgKCFtX2lzRnVsbHNjcmVlbikKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYg
KCFzaG91bGRIaWRlQ29udHJvbHMoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbWFrZVRyYW5z
cGFyZW50KCk7Cit9CisKK3ZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6c3Rv
cEhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcigpCit7CisgICAgbV9oaWRlRnVsbHNjcmVlbkNv
bnRyb2xzVGltZXIuc3RvcCgpOworfQorCiB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hy
b21pdW06OmNoYW5nZWRDbG9zZWRDYXB0aW9uc1Zpc2liaWxpdHkoKQogewogfQpAQCAtMzY5LDEw
ICs0MTgsMTYgQEAgdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpjaGFuZ2Vk
Vm9sdW1lKCkKIAogdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjplbnRlcmVk
RnVsbHNjcmVlbigpCiB7CisgICAgbV9pc0Z1bGxzY3JlZW4gPSB0cnVlOworICAgIG1fZnVsbHNj
cmVlbkJ1dHRvbi0+c2V0SXNGdWxsc2NyZWVuKHRydWUpOworICAgIHN0YXJ0SGlkZUZ1bGxzY3Jl
ZW5Db250cm9sc1RpbWVyKCk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJv
bWl1bTo6ZXhpdGVkRnVsbHNjcmVlbigpCiB7CisgICAgbV9pc0Z1bGxzY3JlZW4gPSBmYWxzZTsK
KyAgICBtX2Z1bGxzY3JlZW5CdXR0b24tPnNldElzRnVsbHNjcmVlbihmYWxzZSk7CisgICAgc3Rv
cEhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcigpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbFJv
b3RFbGVtZW50Q2hyb21pdW06OnNob3dWb2x1bWVTbGlkZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1
bS5oCmluZGV4IGM1ZjUwMjguLmYxMGI3MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmgKQEAg
LTEyNiw2ICsxMjYsOSBAQCBwcml2YXRlOgogICAgIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hy
b21pdW0oRG9jdW1lbnQqKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVy
KEV2ZW50Kik7CisgICAgdm9pZCBoaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXJGaXJlZChUaW1l
cjxNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtPiopOworICAgIHZvaWQgc3RhcnRIaWRl
RnVsbHNjcmVlbkNvbnRyb2xzVGltZXIoKTsKKyAgICB2b2lkIHN0b3BIaWRlRnVsbHNjcmVlbkNv
bnRyb2xzVGltZXIoKTsKIAogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBzaGFkb3dQ
c2V1ZG9JZCgpIGNvbnN0OwogCkBAIC0xNTAsNyArMTUzLDkgQEAgcHJpdmF0ZToKICNlbmRpZgog
CiAgICAgYm9vbCBtX29wYXF1ZTsKKyAgICBUaW1lcjxNZWRpYUNvbnRyb2xSb290RWxlbWVudENo
cm9taXVtPiBtX2hpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcjsKICAgICBib29sIG1faXNNb3Vz
ZU92ZXJDb250cm9sczsKKyAgICBib29sIG1faXNGdWxsc2NyZWVuOwogfTsKIAogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9t
aXVtLmNwcAppbmRleCBjNDhiNDEyLi41NjBjZGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcApAQCAtMjc0
LDggKzI3NCw4IEBAIHN0YXRpYyBib29sIHBhaW50TWVkaWFGdWxsc2NyZWVuQnV0dG9uKFJlbmRl
ck9iamVjdCogb2JqZWN0LCBjb25zdCBQYWludEluZm8mIHBhCiAgICAgaWYgKCFtZWRpYUVsZW1l
bnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIERFRklORV9TVEFUSUNfTE9DQUwoSW1h
Z2UqLCBtZWRpYUZ1bGxzY3JlZW4sIChwbGF0Zm9ybVJlc291cmNlKCJtZWRpYUZ1bGxzY3JlZW4i
KSkpOwotICAgIHJldHVybiBwYWludE1lZGlhQnV0dG9uKHBhaW50SW5mby5jb250ZXh0LCByZWN0
LCBtZWRpYUZ1bGxzY3JlZW4pOworICAgIHN0YXRpYyBJbWFnZSogbWVkaWFGdWxsc2NyZWVuQnV0
dG9uID0gcGxhdGZvcm1SZXNvdXJjZSgibWVkaWFwbGF5ZXJGdWxsc2NyZWVuIik7CisgICAgcmV0
dXJuIHBhaW50TWVkaWFCdXR0b24ocGFpbnRJbmZvLmNvbnRleHQsIHJlY3QsIG1lZGlhRnVsbHNj
cmVlbkJ1dHRvbik7CiB9CiAKIGJvb2wgUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtOjpwYWlu
dE1lZGlhQ29udHJvbHNQYXJ0KE1lZGlhQ29udHJvbEVsZW1lbnRUeXBlIHBhcnQsIFJlbmRlck9i
amVjdCogb2JqZWN0LCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYg
cmVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNo
cm9taXVtTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1
bU1hYy5oCmluZGV4IGQzYjM2MDEuLjk3MzI5OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMuaApAQCAtNTgsNiArNTgsNyBAQCBwcm90
ZWN0ZWQ6CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1RpbWUoZmxvYXQg
dGltZSkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc0N1cnJl
bnRUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CiAgICAgdmly
dHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUoZmxvYXQgY3VycmVu
dFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZWRp
YUZ1bGxzY3JlZW5CdXR0b24oUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3Qg
SW50UmVjdCYpOwogI2VuZGlmCiAKICAgICB2aXJ0dWFsIGJvb2wgdXNlc1Rlc3RNb2RlRm9jdXNS
aW5nQ29sb3IoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lQ2hyb21pdW1NYWMubW0KaW5kZXggOWY0YWE5MS4uMTc5MWIwOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMubW0KQEAgLTIz
OCw2ICsyMzgsMTEgQEAgU3RyaW5nIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OmZvcm1hdE1lZGlh
Q29udHJvbHNSZW1haW5pbmdUaW1lKGZsb2F0IGN1cnJlbnRUaW0KIHsKICAgICByZXR1cm4gUmVu
ZGVyVGhlbWVDaHJvbWl1bU1hYzo6Zm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUoY3Vy
cmVudFRpbWUsIGR1cmF0aW9uKTsKIH0KKworYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpw
YWludE1lZGlhRnVsbHNjcmVlbkJ1dHRvbihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFp
bnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgcmV0dXJuIFJl
bmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6cGFpbnRNZWRpYUNvbnRyb2xzUGFydChNZWRpYUVu
dGVyRnVsbHNjcmVlbkJ1dHRvbiwgb2JqZWN0LCBwYWludEluZm8sIHJlY3QpOworfQogI2VuZGlm
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3BwCmluZGV4IDk2MTA5NDEuLjE4MTJlOWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVt
U2tpYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21p
dW1Ta2lhLmNwcApAQCAtNDU5LDcgKzQ1OSw3IEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bVNr
aWE6OnBhaW50TWVkaWFNdXRlQnV0dG9uKFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQCiAj
ZW5kaWYKIH0KIAotU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKGZsb2F0IHRpbWUpIGNv
bnN0CitTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1RpbWUoZmxvYXQgdGltZSkKIHsKICNpZiBF
TkFCTEUoVklERU8pCiAgICAgcmV0dXJuIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6Zm9y
bWF0TWVkaWFDb250cm9sc1RpbWUodGltZSk7CkBAIC00NjksNyArNDY5LDcgQEAgU3RyaW5nIGZv
cm1hdE1lZGlhQ29udHJvbHNUaW1lKGZsb2F0IHRpbWUpIGNvbnN0CiAjZW5kaWYKIH0KIAotU3Ry
aW5nIGZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxv
YXQgZHVyYXRpb24pIGNvbnN0CitTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1l
KGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikKIHsKICNpZiBFTkFCTEUoVklERU8p
CiAgICAgcmV0dXJuIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6Zm9ybWF0TWVkaWFDb250
cm9sc0N1cnJlbnRUaW1lKGN1cnJlbnRUaW1lLCBkdXJhdGlvbik7CkBAIC00ODAsNyArNDgwLDcg
QEAgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGltZShmbG9hdCBjdXJyZW50VGlt
ZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0CiAjZW5kaWYKIH0KIAotU3RyaW5nIGZvcm1hdE1lZGlh
Q29udHJvbHNSZW1haW5pbmdUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikg
Y29uc3QKK1N0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWluaW5nVGltZShmbG9hdCBjdXJy
ZW50VGltZSwgZmxvYXQgZHVyYXRpb24pCiB7CiAjaWYgRU5BQkxFKFZJREVPKQogICAgIHJldHVy
biBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OmZvcm1hdE1lZGlhQ29udHJvbHNSZW1haW5p
bmdUaW1lKGN1cnJlbnRUaW1lLCBkdXJhdGlvbik7CkBAIC00OTEsNiArNDkxLDE4IEBAIFN0cmlu
ZyBmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWluaW5nVGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxv
YXQgZHVyYXRpb24pIGNvbnN0CiAjZW5kaWYKIH0KIAorYm9vbCBSZW5kZXJUaGVtZUNocm9taXVt
U2tpYTo6cGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24oUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNv
bnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworI2lmIEVO
QUJMRShWSURFTykKKyAgICByZXR1cm4gUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtOjpwYWlu
dE1lZGlhQ29udHJvbHNQYXJ0KE1lZGlhRW50ZXJGdWxsc2NyZWVuQnV0dG9uLCBvYmplY3QsIHBh
aW50SW5mbywgcmVjdCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShvYmplY3QpOworICAgIFVO
VVNFRF9QQVJBTShwYWludEluZm8pOworICAgIFVOVVNFRF9QQVJBTShyZWN0KTsKKyAgICByZXR1
cm4gZmFsc2U7CisjZW5kaWYKK30KKwogdm9pZCBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6YWRq
dXN0TWVudUxpc3RTdHlsZShTdHlsZVJlc29sdmVyKiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBXZWJD
b3JlOjpFbGVtZW50KikgY29uc3QKIHsKICAgICAvLyBIZWlnaHQgaXMgbG9ja2VkIHRvIGF1dG8g
b24gYWxsIGJyb3dzZXJzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lQ2hyb21pdW1Ta2lhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVDaHJvbWl1bVNraWEuaAppbmRleCA0YjY2MTMyLi43NDU4NzMwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaApAQCAtMTAx
LDYgKzEwMSw3IEBAIGNsYXNzIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhIDogcHVibGljIFJlbmRl
clRoZW1lIHsKICAgICAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1RpbWUo
ZmxvYXQgdGltZSkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29u
dHJvbHNDdXJyZW50VGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0
OwogICAgICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWluaW5nVGlt
ZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0OworICAgICAgICB2aXJ0
dWFsIGJvb2wgcGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24oUmVuZGVyT2JqZWN0KiwgY29uc3Qg
UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwogCiAgICAgICAgIC8vIE1lbnVMaXN0IHJlZmVy
cyB0byBhbiB1bnN0eWxlZCBtZW51bGlzdCAobWVhbmluZyBhIG1lbnVsaXN0IHdpdGhvdXQKICAg
ICAgICAgLy8gYmFja2dyb3VuZC1jb2xvciBvciBib3JkZXIgc2V0KSBhbmQgTWVudUxpc3RCdXR0
b24gcmVmZXJzIHRvIGEgc3R5bGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L2ZlYXR1cmVzLmd5cGkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKaW5k
ZXggOTk0NWYwNC4uOTc2YWI5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9m
ZWF0dXJlcy5neXBpCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQpA
QCAtMTYxLDcgKzE2MSw3IEBACiAgICAgICAgICdmZWF0dXJlX2RlZmluZXMnOiBbCiAgICAgICAg
ICAgJ0VOQUJMRV9DQUxFTkRBUl9QSUNLRVI9MScsCiAgICAgICAgICAgJ0VOQUJMRV9GT05UX0JP
T1NUSU5HPTAnLAotICAgICAgICAgICdFTkFCTEVfRlVMTFNDUkVFTl9NRURJQV9DT05UUk9MUz0w
JywKKyAgICAgICAgICAnRU5BQkxFX0ZVTExTQ1JFRU5fTUVESUFfQ09OVFJPTFM9MScsCiAgICAg
ICAgICAgJ0VOQUJMRV9JTlBVVF9TUEVFQ0g9MScsCiAgICAgICAgICAgJ0VOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FPTAnLAogICAgICAgICAgICdFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMPTAnLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147568</attachid>
            <date>2012-06-14 06:15:22 -0700</date>
            <delta_ts>2012-06-14 17:26:03 -0700</delta_ts>
            <desc>added a fullscreen transparent background for audio (full patch)</desc>
            <filename>bug-88818-20120614231518.patch</filename>
            <type>text/plain</type>
            <size>27971</size>
            <attacher name="Silvia Pfeiffer">silviapf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWE1OGU5YjQxZGJhODE5
MmZhMDAxNDJmN2I2MDBmZTk1ZWZjZDA2OS4uNWJkNGE4YWQwNjAyZDhlZGZmODFlOGM5MWFlMDg4
MDJlMmI1NDE0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDEyLTA2LTE0ICBTaWx2
aWEgUGZlaWZmZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGZ1bGxz
Y3JlZW4gYnV0dG9uIHRvIENocm9tZSB2aWRlbyBjb250cm9scyBmb3IgdmlkZW8uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODgxOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgZmlu
YWwgcGF0Y2ggd2lsbCBjb250YWluIHRoZSByZWJhc2VsaW5lZCB0ZXN0cy4KKworICAgICAgICBU
aGUgQ2hyb21lIHZpZGVvIGNvbnRyb2xzIGFyZSByZWNlaXZpbmcgYSB2aXN1YWwgdXBkYXRlLgor
ICAgICAgICBUaGlzIHBhdGNoIGluY2x1ZGVzIGEgZnVsbHNjcmVlbiBidXR0b24gZm9yIHZpZGVv
IGVsZW1lbnRzIGFuZCB0aGUgcmVuZGVyaW5nIG9mIHRoZSBjb250cm9scworICAgICAgICBpbiBm
dWxsc2NyZWVuIGluY2x1ZGluZyBoaWRpbmcgdGhlbSBhZnRlciAyIHNlY29uZHMgd2hlbiB0aGUg
bW91c2UgaXMgb3V0IG9mIHRoZSBjb250cm9scworICAgICAgICBhbmQgbm90IG1vdmVkLgorCisg
ICAgICAgICogY3NzL2Z1bGxzY3JlZW4uY3NzOgorICAgICAgICAodmlkZW86LXdlYmtpdC1mdWxs
LXNjcmVlbiwgYXVkaW86LXdlYmtpdC1mdWxsLXNjcmVlbik6CisgICAgICAgIEFkZCBhdWRpbyB0
byB0aGUgZGVmYXVsdCBmdWxsc2NyZWVuIHN0eWxpbmcgcnVsZXMuCisgICAgICAgICogY3NzL21l
ZGlhQ29udHJvbHNDaHJvbWl1bS5jc3M6CisgICAgICAgICh2aWRlbzotd2Via2l0LWZ1bGwtcGFn
ZS1tZWRpYTo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1wYW5lbCk6CisgICAgICAgIEFsaWduIGNv
bnRyb2xzIHRvIHRoZSBib3R0b20gb2YgdGhlIGZ1bGxzY3JlZW4gcGFnZS4KKyAgICAgICAgKGF1
ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWZ1bGxzY3JlZW4tYnV0dG9uLCB2aWRlbzo6LXdl
YmtpdC1tZWRpYS1jb250cm9scy1mdWxsc2NyZWVuLWJ1dHRvbik6CisgICAgICAgIEluY2x1ZGUg
c3R5bGluZyBmb3IgdGhlIGZ1bGxzY3JlZW4gYnV0dG9uLgorICAgICAgICAqIGh0bWwvc2hhZG93
L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIEFkZCBhIGNvbnN0YW50IGZvciB3aGVuIHRvIGhpZGUgdGhlIGNvbnRyb2xzIGlu
IGZ1bGxzY3JlZW4uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENo
cm9taXVtOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtKToKKyAgICAgICAgQWRkIG1l
bWJlciBmaWVsZHMgZm9yIGZ1bGxzY3JlZW4gYnV0dG9uLCBoaWRpbmcgdGltZXIgYW5kIHRyYWNr
aW5nIG9mIHdoZXRoZXIgd2UgYXJlIGluIGZ1bGxzY3JlZW4uCisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpjcmVhdGUpOgorICAgICAgICBBZGQgZnVs
bHNjcmVlbiBidXR0b24gZWxlbWVudCB0byB0aGUgdmlzdWFsIGxheW91dC4KKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnNldE1lZGlhQ29udHJvbGxl
cik6CisgICAgICAgIEFkZCBmdWxsc2NyZWVuIGJ1dHRvbiBlbGVtZW50IHRvIHRoZSBtZWRpYSBj
b250cm9sbGVyLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJv
bWl1bTo6cmVzZXQpOgorICAgICAgICBTaG93IHRoZSBmdWxsc2NyZWVuIGJ1dHRvbiBpZiB0aGUg
Y29udHJvbGxlciBzdXBwb3J0cyBmdWxsc2NyZWVuLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFD
b250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6cGxheWJhY2tTdGFydGVkKToKKyAgICAgICAgU3Rh
cnQgdGhlIHRpbWVyIHRvIGhpZGUgdGhlIGNvbnRyb2xzIGluIGZ1bGxzY3JlZW4uCisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpwbGF5YmFja1N0b3Bw
ZWQpOgorICAgICAgICBEb24ndCBoaWRlIHRoZSBjb250cm9scyB3aGVuIHRoZSB2aWRlbyBpcyBw
YXVzZWQgaW4gZnVsbHNjcmVlbi4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RF
bGVtZW50Q2hyb21pdW06OnJlcG9ydGVkRXJyb3IpOgorICAgICAgICBIaWRlIHRoZSBmdWxsc2Ny
ZWVuIGJ1dHRvbiB3aGVuIHdlIGhpdCBhbiBlcnJvci4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAg
ICBBZGQgbG9naWMgZm9yIG1vdXNlIGV2ZW50cyBpbiBmdWxsc2NyZWVuIHRvIHN0YXJ0L3N0b3Ag
dGhlIGhpZGluZyB0aW1lci4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50Q2hyb21pdW06OnN0YXJ0SGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKToKKyAgICAgICAg
U3RhcnQgdGhlIGZ1bGxzY3JlZW4gaGlkaW5nIHRpbWVyLgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6aGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVy
RmlyZWQpOgorICAgICAgICBUaW1lciBmaXJlZDogaGlkZSB0aGUgdmlkZW8gY29udHJvbHMgaW4g
ZnVsbHNjcmVlbi4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hy
b21pdW06OnN0b3BIaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIpOgorICAgICAgICBSZXNldCB0
aGUgZnVsbHNjcmVlbiBoaWRpbmcgdGltZXIuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRy
b2xSb290RWxlbWVudENocm9taXVtOjplbnRlcmVkRnVsbHNjcmVlbik6CisgICAgICAgIEFkZCBs
b2dpYyB0byBlbnRlciBmdWxsc2NyZWVuLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
Um9vdEVsZW1lbnRDaHJvbWl1bTo6ZXhpdGVkRnVsbHNjcmVlbik6CisgICAgICAgIEFkZCBsb2dp
YyB0byBleGl0IGZ1bGxzY3JlZW4uCisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
Um9vdEVsZW1lbnRDaHJvbWl1bS5oOgorICAgICAgICAoTWVkaWFDb250cm9sUm9vdEVsZW1lbnRD
aHJvbWl1bSk6CisgICAgICAgIEFkZCBkZWNsYXJhdGlvbiBvZiBtZW1iZXIgZnVuY3Rpb25zIGFu
ZCBmaWVsZHMgZm9yIGZ1bGxzY3JlZW4uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lZGlh
Q29udHJvbHNDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwYWludE1lZGlhRnVsbHNj
cmVlbkJ1dHRvbik6CisgICAgICAgIFVzZSB0aGUgbmV3IGltYWdlIGZvciB0aGUgZnVsbHNjcmVl
biBidXR0b24uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMuaDoK
KyAgICAgICAgKFJlbmRlclRoZW1lQ2hyb21pdW1NYWMpOgorICAgICAgICBEZWNsYXJlIHRoZSBm
dWxsc2NyZWVuIHBhaW50aW5nIGZ1bmN0aW9uIGZvciBDaHJvbWUgTWFjLgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24pOgorICAgICAg
ICBIb29rIHVwIHRoZSBmdWxsc2NyZWVuIHBhaW5pbmcgZnVuY3Rpb24gZm9yIENocm9tZSBNYWMu
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjpwYWludE1lZGlhRnVsbHNjcmVl
bkJ1dHRvbik6CisgICAgICAgIEhvb2sgdXAgdGhlIGZ1bGxzY3JlZW4gcGFpbmluZyBmdW5jdGlv
biBmb3IgQ2hyb21lIFNraWEuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21p
dW1Ta2lhLmg6CisgICAgICAgIChSZW5kZXJUaGVtZUNocm9taXVtU2tpYSk6CisgICAgICAgIERl
Y2xhcmUgdGhlIGZ1bGxzY3JlZW4gcGFpbnRpbmcgZnVuY3Rpb24gZm9yIENocm9tZSBTa2lhLgor
CiAyMDEyLTA2LTEzICBZYWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNvbT4KIAogICAg
ICAgICBSZW1vdmUgcmVkdW5kYW50IGNvZGUgZnJvbSBSZW5kZXJWaWV3IGFuZCBSZW5kZXJCbG9j
awpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL2Z1bGxzY3JlZW4uY3NzIGIvU291cmNl
L1dlYkNvcmUvY3NzL2Z1bGxzY3JlZW4uY3NzCmluZGV4IDhlN2M4NzM2MGVkMGI5NmFhODA5MGZl
ZjYwMDhlNjk4ZGE3MjM0OTkuLjEzNWFjYjE2OTI0YzZkZWQ0MmI0NzA4NmNkZGIxYTBlZWUzM2Zm
YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9mdWxsc2NyZWVuLmNzcworKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvZnVsbHNjcmVlbi5jc3MKQEAgLTIwLDcgKzIwLDcgQEAKICAgICAt
d2Via2l0LXRyYW5zZm9ybS1zdHlsZTogZmxhdCAhaW1wb3J0YW50OwogfQogCi12aWRlbzotd2Vi
a2l0LWZ1bGwtc2NyZWVuIHsKK3ZpZGVvOi13ZWJraXQtZnVsbC1zY3JlZW4sIGF1ZGlvOi13ZWJr
aXQtZnVsbC1zY3JlZW4gewogICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBv
cnRhbnQ7CiAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50OwogICAgIG1hcmdpbjogMCAh
aW1wb3J0YW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHND
aHJvbWl1bS5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWVkaWFDb250cm9sc0Nocm9taXVtLmNz
cwppbmRleCA0MjBkMjY4OGU5NzRmNzhmODJlNDFhMTg0OTE3YjVlMzJmY2U3ZGZkLi5iMzkzMTAx
NmUwNDVmYjI3NDcyMmM0MmI4YjkyNjU5NjgwMWE5ZWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvbWVkaWFDb250cm9sc0Nocm9taXVtLmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvbWVkaWFDb250cm9sc0Nocm9taXVtLmNzcwpAQCAtMzksNiArMzksMTEgQEAgYXVkaW86LXdl
YmtpdC1mdWxsLXBhZ2UtbWVkaWEsIHZpZGVvOi13ZWJraXQtZnVsbC1wYWdlLW1lZGlhIHsKICAg
ICBtYXgtd2lkdGg6IDEwMCU7CiB9CiAKK2F1ZGlvOi13ZWJraXQtZnVsbC1wYWdlLW1lZGlhOjot
d2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVsLAordmlkZW86LXdlYmtpdC1mdWxsLXBhZ2UtbWVk
aWE6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcGFuZWwgeworICAgIGJvdHRvbTogMHB4OworfQor
CiA6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMgewogICAgIGRpc3BsYXk6IC13ZWJraXQtYm94Owog
ICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CkBAIC05Nyw3ICsxMDIsOCBAQCBhdWRp
bzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1wbGF5LWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVk
aWEtY29udHJvbHMtcGxheS1idQogICAgIHBhZGRpbmc6IDA7CiB9CiAKLWF1ZGlvOjotd2Via2l0
LW1lZGlhLWNvbnRyb2xzLWN1cnJlbnQtdGltZS1kaXNwbGF5LCB2aWRlbzo6LXdlYmtpdC1tZWRp
YS1jb250cm9scy1jdXJyZW50LXRpbWUtZGlzcGxheSB7CithdWRpbzo6LXdlYmtpdC1tZWRpYS1j
b250cm9scy1jdXJyZW50LXRpbWUtZGlzcGxheSwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJv
bHMtY3VycmVudC10aW1lLWRpc3BsYXksCithdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10
aW1lLXJlbWFpbmluZy1kaXNwbGF5LCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1l
LXJlbWFpbmluZy1kaXNwbGF5IHsKICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lZGlhLWN1cnJl
bnQtdGltZS1kaXNwbGF5OwogICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgZGlz
cGxheTogYmxvY2s7CkBAIC0xMTEsNiArMTE3LDcgQEAgYXVkaW86Oi13ZWJraXQtbWVkaWEtY29u
dHJvbHMtY3VycmVudC10aW1lLWRpc3BsYXksIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2wK
ICAgICBsaW5lLWhlaWdodDogMzBweDsKICAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGlj
YSwgc2Fucy1zZXJpZjsKICAgICBmb250LXNpemU6IDEzcHg7CisgICAgZm9udC13ZWlnaHQ6IGJv
bGQ7CiAgICAgY29sb3I6IHdoaXRlOwogCiAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsKQEAg
LTE2OSwzICsxNzYsMTYgQEAgaW5wdXRbdHlwZT0icmFuZ2UiXTo6LXdlYmtpdC1tZWRpYS1zbGlk
ZXItdGh1bWIgewogICAgIG1hcmdpbi1sZWZ0OiAtN3B4OwogICAgIG1hcmdpbi1yaWdodDogLTdw
eDsKIH0KKworYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNjcmVlbi1idXR0b24s
IHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLWZ1bGxzY3JlZW4tYnV0dG9uIHsKKyAgICAt
d2Via2l0LWFwcGVhcmFuY2U6IG1lZGlhLWVudGVyLWZ1bGxzY3JlZW4tYnV0dG9uOworICAgIGRp
c3BsYXk6IGlubGluZTsKKyAgICBib3JkZXI6IG5vbmU7CisgICAgYm94LXNpemluZzogYm9yZGVy
LWJveDsKKyAgICB3aWR0aDogMzBweDsKKyAgICBoZWlnaHQ6IDMwcHg7CisgICAgbGluZS1oZWln
aHQ6IDMwcHg7CisgICAgbWFyZ2luLWxlZnQ6IC01cHg7CisgICAgbWFyZ2luLXJpZ2h0OiA5cHg7
CisgICAgcGFkZGluZzogMDsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAppbmRleCBjMGRhZmM5YWM4NjhkNDRhMGM5NjAzNDg1
YTMwY2NjNDY2N2M0NzdkLi4yMzYzODRmMTY5ODk2OGNlODIxZWQ4MmExMmJkZDg2ZTNjYTI5OTcz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVt
ZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxl
bWVudHMuY3BwCkBAIC05MDEsNiArOTAxLDcgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBNZWRpYUNv
bnRyb2xUaW1lbGluZUVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKCkgY29uc3QKIAogaW5saW5lIE1l
ZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6Ok1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVs
ZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogTWVkaWFDb250cm9sSW5wdXRFbGVtZW50
KGRvY3VtZW50LCBNZWRpYVZvbHVtZVNsaWRlcikKKyAgICAsIG1fY2xlYXJNdXRlZE9uVXNlcklu
dGVyYWN0aW9uKGZhbHNlKQogewogfQogCkBAIC05MzQsNiArOTM1LDggQEAgdm9pZCBNZWRpYUNv
bnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVu
dCkKICAgICAgICAgbWVkaWFDb250cm9sbGVyKCktPnNldFZvbHVtZSh2b2x1bWUsIGVjKTsKICAg
ICAgICAgQVNTRVJUKCFlYyk7CiAgICAgfQorICAgIGlmIChtX2NsZWFyTXV0ZWRPblVzZXJJbnRl
cmFjdGlvbikKKyAgICAgICAgbWVkaWFDb250cm9sbGVyKCktPnNldE11dGVkKGZhbHNlKTsKIH0K
IAogdm9pZCBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50OjpzZXRWb2x1bWUoZmxvYXQg
dm9sdW1lKQpAQCAtOTQyLDYgKzk0NSwxMSBAQCB2b2lkIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRl
ckVsZW1lbnQ6OnNldFZvbHVtZShmbG9hdCB2b2x1bWUpCiAgICAgICAgIHNldFZhbHVlKFN0cmlu
Zzo6bnVtYmVyKHZvbHVtZSkpOwogfQogCit2b2lkIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVs
ZW1lbnQ6OnNldENsZWFyTXV0ZWRPblVzZXJJbnRlcmFjdGlvbihib29sIGNsZWFyTXV0ZSkKK3sK
KyAgICBtX2NsZWFyTXV0ZWRPblVzZXJJbnRlcmFjdGlvbiA9IGNsZWFyTXV0ZTsKK30KKwogY29u
c3QgQXRvbWljU3RyaW5nJiBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50OjpzaGFkb3dQ
c2V1ZG9JZCgpIGNvbnN0CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcs
IGlkLCAoIi13ZWJraXQtbWVkaWEtY29udHJvbHMtdm9sdW1lLXNsaWRlciIpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oCmluZGV4IDVi
Y2E1YTlhNjVjMjAxZjgzMTQyNTYxM2VlZDhiMWYyNjUzODRkYmEuLmVmZGIyMWYwZGFhMDBkZDc2
MDU0MDBjMjM1NGFmNWI3YmM2NzJiZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuaApAQCAtMzg5LDEyICszODksMTQgQEAgcHVibGlj
OgogCiAgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsKICAgICB2
b2lkIHNldFZvbHVtZShmbG9hdCk7CisgICAgdm9pZCBzZXRDbGVhck11dGVkT25Vc2VySW50ZXJh
Y3Rpb24oYm9vbCk7CiAKIHByb3RlY3RlZDoKICAgICBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJF
bGVtZW50KERvY3VtZW50Kik7CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNT
dHJpbmcmIHNoYWRvd1BzZXVkb0lkKCkgY29uc3Q7CisgICAgYm9vbCBtX2NsZWFyTXV0ZWRPblVz
ZXJJbnRlcmFjdGlvbjsKIH07CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVt
ZW50Q2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
Um9vdEVsZW1lbnRDaHJvbWl1bS5jcHAKaW5kZXggN2UwN2NmMmU0NzQxZTNhZmVkNGRhMTgyZDYy
ZGVmZTNjNGNlMWQxNy4uMzgwMWU5MjYzYTE5YzMyNjFhMzMwMDIyNzNkMDE4ODFjNGQ5Mjc1MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVs
ZW1lbnRDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5jcHAKQEAgLTQ2LDYgKzQ2LDggQEAgdXNpbmcgbmFt
ZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgY29uc3QgZG91Ymxl
IHRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzID0gMjsKKwogTWVk
aWFDb250cm9sQ2hyb21pdW1FbmNsb3N1cmVFbGVtZW50OjpNZWRpYUNvbnRyb2xDaHJvbWl1bUVu
Y2xvc3VyZUVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogSFRNTERpdkVsZW1lbnQo
SFRNTE5hbWVzOjpkaXZUYWcsIGRvY3VtZW50LT5kb2N1bWVudCgpKQogICAgICwgbV9tZWRpYUNv
bnRyb2xsZXIoMCkKQEAgLTY4LDYgKzcwLDcgQEAgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJv
bWl1bTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bShEb2N1bWVudCogZG9jdW0KICAg
ICAsIG1fbWVkaWFDb250cm9sbGVyKDApCiAgICAgLCBtX3BsYXlCdXR0b24oMCkKICAgICAsIG1f
Y3VycmVudFRpbWVEaXNwbGF5KDApCisgICAgLCBtX2R1cmF0aW9uRGlzcGxheSgwKQogICAgICwg
bV90aW1lbGluZSgwKQogICAgICwgbV9wYW5lbE11dGVCdXR0b24oMCkKICAgICAsIG1fdm9sdW1l
U2xpZGVyKDApCkBAIC04MCw3ICs4Myw5IEBAIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21p
dW06Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0oRG9jdW1lbnQqIGRvY3VtCiAgICAg
LCBtX3RleHREaXNwbGF5Q29udGFpbmVyKDApCiAjZW5kaWYKICAgICAsIG1fb3BhcXVlKHRydWUp
CisgICAgLCBtX2hpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcih0aGlzLCAmTWVkaWFDb250cm9s
Um9vdEVsZW1lbnRDaHJvbWl1bTo6aGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyRmlyZWQpCiAg
ICAgLCBtX2lzTW91c2VPdmVyQ29udHJvbHMoZmFsc2UpCisgICAgLCBtX2lzRnVsbHNjcmVlbihm
YWxzZSkKIHsKIH0KIApAQCAtMTE3LDEwICsxMjIsMTcgQEAgUGFzc1JlZlB0cjxNZWRpYUNvbnRy
b2xSb290RWxlbWVudENocm9taXVtPiBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpj
cmUKIAogICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xDdXJyZW50VGltZURpc3BsYXlFbGVtZW50PiBj
dXJyZW50VGltZURpc3BsYXkgPSBNZWRpYUNvbnRyb2xDdXJyZW50VGltZURpc3BsYXlFbGVtZW50
OjpjcmVhdGUoZG9jdW1lbnQpOwogICAgIGNvbnRyb2xzLT5tX2N1cnJlbnRUaW1lRGlzcGxheSA9
IGN1cnJlbnRUaW1lRGlzcGxheS5nZXQoKTsKKyAgICBjb250cm9scy0+bV9jdXJyZW50VGltZURp
c3BsYXktPmhpZGUoKTsKICAgICBwYW5lbC0+YXBwZW5kQ2hpbGQoY3VycmVudFRpbWVEaXNwbGF5
LnJlbGVhc2UoKSwgZWMsIHRydWUpOwogICAgIGlmIChlYykKICAgICAgICAgcmV0dXJuIDA7CiAK
KyAgICBSZWZQdHI8TWVkaWFDb250cm9sVGltZVJlbWFpbmluZ0Rpc3BsYXlFbGVtZW50PiBkdXJh
dGlvbkRpc3BsYXkgPSBNZWRpYUNvbnRyb2xUaW1lUmVtYWluaW5nRGlzcGxheUVsZW1lbnQ6OmNy
ZWF0ZShkb2N1bWVudCk7CisgICAgY29udHJvbHMtPm1fZHVyYXRpb25EaXNwbGF5ID0gZHVyYXRp
b25EaXNwbGF5LmdldCgpOworICAgIHBhbmVsLT5hcHBlbmRDaGlsZChkdXJhdGlvbkRpc3BsYXku
cmVsZWFzZSgpLCBlYywgdHJ1ZSk7CisgICAgaWYgKGVjKQorICAgICAgICByZXR1cm4gMDsKKwog
ICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50PiBwYW5lbE11dGVC
dXR0b24gPSBNZWRpYUNvbnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50OjpjcmVhdGUoZG9jdW1l
bnQsIGNvbnRyb2xzLmdldCgpKTsKICAgICBjb250cm9scy0+bV9wYW5lbE11dGVCdXR0b24gPSBw
YW5lbE11dGVCdXR0b24uZ2V0KCk7CiAgICAgcGFuZWwtPmFwcGVuZENoaWxkKHBhbmVsTXV0ZUJ1
dHRvbi5yZWxlYXNlKCksIGVjLCB0cnVlKTsKQEAgLTEyOSw2ICsxNDEsNyBAQCBQYXNzUmVmUHRy
PE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0+IE1lZGlhQ29udHJvbFJvb3RFbGVtZW50
Q2hyb21pdW06OmNyZQogCiAgICAgUmVmUHRyPE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1l
bnQ+IHNsaWRlciA9IE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OmNyZWF0ZShkb2N1
bWVudCk7CiAgICAgY29udHJvbHMtPm1fdm9sdW1lU2xpZGVyID0gc2xpZGVyLmdldCgpOworICAg
IGNvbnRyb2xzLT5tX3ZvbHVtZVNsaWRlci0+c2V0Q2xlYXJNdXRlZE9uVXNlckludGVyYWN0aW9u
KHRydWUpOwogICAgIHBhbmVsLT5hcHBlbmRDaGlsZChzbGlkZXIucmVsZWFzZSgpLCBlYywgdHJ1
ZSk7CiAgICAgaWYgKGVjKQogICAgICAgICByZXR1cm4gMDsKQEAgLTE2NCw2ICsxNzcsOCBAQCB2
b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnNldE1lZGlhQ29udHJvbGxlcihN
ZWRpYUNvbnRyb2xsZXJJbnRlcmZhYwogICAgICAgICBtX3BsYXlCdXR0b24tPnNldE1lZGlhQ29u
dHJvbGxlcihjb250cm9sbGVyKTsKICAgICBpZiAobV9jdXJyZW50VGltZURpc3BsYXkpCiAgICAg
ICAgIG1fY3VycmVudFRpbWVEaXNwbGF5LT5zZXRNZWRpYUNvbnRyb2xsZXIoY29udHJvbGxlcik7
CisgICAgaWYgKG1fZHVyYXRpb25EaXNwbGF5KQorICAgICAgICBtX2R1cmF0aW9uRGlzcGxheS0+
c2V0TWVkaWFDb250cm9sbGVyKGNvbnRyb2xsZXIpOwogICAgIGlmIChtX3RpbWVsaW5lKQogICAg
ICAgICBtX3RpbWVsaW5lLT5zZXRNZWRpYUNvbnRyb2xsZXIoY29udHJvbGxlcik7CiAgICAgaWYg
KG1fcGFuZWxNdXRlQnV0dG9uKQpAQCAtMjE4LDYgKzIzMywxMCBAQCB2b2lkIE1lZGlhQ29udHJv
bFJvb3RFbGVtZW50Q2hyb21pdW06OnJlc2V0KCkKICAgICBmbG9hdCBkdXJhdGlvbiA9IG1fbWVk
aWFDb250cm9sbGVyLT5kdXJhdGlvbigpOwogICAgIG1fdGltZWxpbmUtPnNldER1cmF0aW9uKGR1
cmF0aW9uKTsKICAgICBtX3RpbWVsaW5lLT5zaG93KCk7CisKKyAgICBtX2R1cmF0aW9uRGlzcGxh
eS0+c2V0SW5uZXJUZXh0KHBhZ2UtPnRoZW1lKCktPmZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKGR1
cmF0aW9uKSwgQVNTRVJUX05PX0VYQ0VQVElPTik7CisgICAgbV9kdXJhdGlvbkRpc3BsYXktPnNl
dEN1cnJlbnRWYWx1ZShkdXJhdGlvbik7CisKICAgICBtX3RpbWVsaW5lLT5zZXRQb3NpdGlvbiht
X21lZGlhQ29udHJvbGxlci0+Y3VycmVudFRpbWUoKSk7CiAgICAgdXBkYXRlVGltZURpc3BsYXko
KTsKIApAQCAtMjM2LDcgKzI1NSwxMiBAQCB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hy
b21pdW06OnBsYXliYWNrU3RhcnRlZCgpCiB7CiAgICAgbV9wbGF5QnV0dG9uLT51cGRhdGVEaXNw
bGF5VHlwZSgpOwogICAgIG1fdGltZWxpbmUtPnNldFBvc2l0aW9uKG1fbWVkaWFDb250cm9sbGVy
LT5jdXJyZW50VGltZSgpKTsKKyAgICBtX2N1cnJlbnRUaW1lRGlzcGxheS0+c2hvdygpOworICAg
IG1fZHVyYXRpb25EaXNwbGF5LT5oaWRlKCk7CiAgICAgdXBkYXRlVGltZURpc3BsYXkoKTsKKwor
ICAgIGlmIChtX2lzRnVsbHNjcmVlbikKKyAgICAgICAgc3RhcnRIaWRlRnVsbHNjcmVlbkNvbnRy
b2xzVGltZXIoKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpw
bGF5YmFja1Byb2dyZXNzZWQoKQpAQCAtMjU0LDYgKzI3OCw4IEBAIHZvaWQgTWVkaWFDb250cm9s
Um9vdEVsZW1lbnRDaHJvbWl1bTo6cGxheWJhY2tTdG9wcGVkKCkKICAgICBtX3RpbWVsaW5lLT5z
ZXRQb3NpdGlvbihtX21lZGlhQ29udHJvbGxlci0+Y3VycmVudFRpbWUoKSk7CiAgICAgdXBkYXRl
VGltZURpc3BsYXkoKTsKICAgICBtYWtlT3BhcXVlKCk7CisKKyAgICBzdG9wSGlkZUZ1bGxzY3Jl
ZW5Db250cm9sc1RpbWVyKCk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJv
bWl1bTo6dXBkYXRlVGltZURpc3BsYXkoKQpAQCAtMjY1LDYgKzI5MSwxMiBAQCB2b2lkIE1lZGlh
Q29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnVwZGF0ZVRpbWVEaXNwbGF5KCkKICAgICBpZiAo
IXBhZ2UpCiAgICAgICAgIHJldHVybjsKIAorICAgIC8vIEFmdGVyIHNlZWssIGhpZGUgZHVyYXRp
b24gZGlzcGxheSBhbmQgc2hvdyBjdXJyZW50IHRpbWUuCisgICAgaWYgKG5vdyA+IDApIHsKKyAg
ICAgICAgbV9jdXJyZW50VGltZURpc3BsYXktPnNob3coKTsKKyAgICAgICAgbV9kdXJhdGlvbkRp
c3BsYXktPmhpZGUoKTsKKyAgICB9CisKICAgICAvLyBBbGxvdyB0aGUgdGhlbWUgdG8gZm9ybWF0
IHRoZSB0aW1lLgogICAgIEV4Y2VwdGlvbkNvZGUgZWM7CiAgICAgbV9jdXJyZW50VGltZURpc3Bs
YXktPnNldElubmVyVGV4dChwYWdlLT50aGVtZSgpLT5mb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVu
dFRpbWUobm93LCBkdXJhdGlvbiksIGVjKTsKQEAgLTMxNiwxNSArMzQ4LDU1IEBAIHZvaWQgTWVk
aWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCog
ZXZlbnQpCiAgICAgaWYgKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLm1vdXNlb3ZlckV2
ZW50KSB7CiAgICAgICAgIGlmICghY29udGFpbnNSZWxhdGVkVGFyZ2V0KGV2ZW50KSkgewogICAg
ICAgICAgICAgbV9pc01vdXNlT3ZlckNvbnRyb2xzID0gdHJ1ZTsKLSAgICAgICAgICAgIGlmICgh
bV9tZWRpYUNvbnRyb2xsZXItPmNhblBsYXkoKSkKKyAgICAgICAgICAgIGlmICghbV9tZWRpYUNv
bnRyb2xsZXItPmNhblBsYXkoKSkgewogICAgICAgICAgICAgICAgIG1ha2VPcGFxdWUoKTsKKyAg
ICAgICAgICAgICAgICBpZiAoc2hvdWxkSGlkZUNvbnRyb2xzKCkpCisgICAgICAgICAgICAgICAg
ICAgIHN0YXJ0SGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKCk7CisgICAgICAgICAgICB9CiAg
ICAgICAgIH0KICAgICB9IGVsc2UgaWYgKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLm1v
dXNlb3V0RXZlbnQpIHsKLSAgICAgICAgaWYgKCFjb250YWluc1JlbGF0ZWRUYXJnZXQoZXZlbnQp
KQorICAgICAgICBpZiAoIWNvbnRhaW5zUmVsYXRlZFRhcmdldChldmVudCkpIHsKICAgICAgICAg
ICAgIG1faXNNb3VzZU92ZXJDb250cm9scyA9IGZhbHNlOworICAgICAgICAgICAgc3RvcEhpZGVG
dWxsc2NyZWVuQ29udHJvbHNUaW1lcigpOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChldmVu
dC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudCkgeworICAgICAgICBpZiAo
bV9pc0Z1bGxzY3JlZW4pIHsKKyAgICAgICAgICAgIC8vIFdoZW4gd2UgZ2V0IGEgbW91c2UgbW92
ZSBpbiBmdWxsc2NyZWVuIG1vZGUsIHNob3cgdGhlIG1lZGlhIGNvbnRyb2xzLCBhbmQgc3RhcnQg
YSB0aW1lcgorICAgICAgICAgICAgLy8gdGhhdCB3aWxsIGhpZGUgdGhlIG1lZGlhIGNvbnRyb2xz
IGFmdGVyIGEgMyBzZWNvbmRzIHdpdGhvdXQgYSBtb3VzZSBtb3ZlLgorICAgICAgICAgICAgbWFr
ZU9wYXF1ZSgpOworICAgICAgICAgICAgaWYgKHNob3VsZEhpZGVDb250cm9scygpKQorICAgICAg
ICAgICAgICAgIHN0YXJ0SGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKCk7CisgICAgICAgIH0K
ICAgICB9CiB9CiAKK3ZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6c3RhcnRI
aWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIoKQoreworICAgIGlmICghbV9pc0Z1bGxzY3JlZW4p
CisgICAgICAgIHJldHVybjsKKworICAgIG1faGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyLnN0
YXJ0T25lU2hvdCh0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyk7
Cit9CisKK3ZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6aGlkZUZ1bGxzY3Jl
ZW5Db250cm9sc1RpbWVyRmlyZWQoVGltZXI8TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1
bT4qKQoreworICAgIGlmIChtX21lZGlhQ29udHJvbGxlci0+cGF1c2VkKCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIGlmICghbV9pc0Z1bGxzY3JlZW4pCisgICAgICAgIHJldHVybjsKKworICAg
IGlmICghc2hvdWxkSGlkZUNvbnRyb2xzKCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1ha2VU
cmFuc3BhcmVudCgpOworfQorCit2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06
OnN0b3BIaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIoKQoreworICAgIG1faGlkZUZ1bGxzY3Jl
ZW5Db250cm9sc1RpbWVyLnN0b3AoKTsKK30KKwogdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVu
dENocm9taXVtOjpjaGFuZ2VkQ2xvc2VkQ2FwdGlvbnNWaXNpYmlsaXR5KCkKIHsKIH0KQEAgLTMz
Miw2ICs0MDQsMTEgQEAgdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpjaGFu
Z2VkQ2xvc2VkQ2FwdGlvbnNWaXNpYmlsaXR5KCkKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1l
bnRDaHJvbWl1bTo6Y2hhbmdlZE11dGUoKQogewogICAgIG1fcGFuZWxNdXRlQnV0dG9uLT5jaGFu
Z2VkTXV0ZSgpOworCisgICAgaWYgKG1fbWVkaWFDb250cm9sbGVyLT5tdXRlZCgpKQorICAgICAg
ICBtX3ZvbHVtZVNsaWRlci0+c2V0Vm9sdW1lKDApOworICAgIGVsc2UKKyAgICAgICAgbV92b2x1
bWVTbGlkZXItPnNldFZvbHVtZShtX21lZGlhQ29udHJvbGxlci0+dm9sdW1lKCkpOwogfQogCiB2
b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmNoYW5nZWRWb2x1bWUoKQpAQCAt
MzQxLDEwICs0MTgsMTYgQEAgdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpj
aGFuZ2VkVm9sdW1lKCkKIAogdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpl
bnRlcmVkRnVsbHNjcmVlbigpCiB7CisgICAgbV9pc0Z1bGxzY3JlZW4gPSB0cnVlOworICAgIG1f
ZnVsbHNjcmVlbkJ1dHRvbi0+c2V0SXNGdWxsc2NyZWVuKHRydWUpOworICAgIHN0YXJ0SGlkZUZ1
bGxzY3JlZW5Db250cm9sc1RpbWVyKCk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1l
bnRDaHJvbWl1bTo6ZXhpdGVkRnVsbHNjcmVlbigpCiB7CisgICAgbV9pc0Z1bGxzY3JlZW4gPSBm
YWxzZTsKKyAgICBtX2Z1bGxzY3JlZW5CdXR0b24tPnNldElzRnVsbHNjcmVlbihmYWxzZSk7Cisg
ICAgc3RvcEhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcigpOwogfQogCiB2b2lkIE1lZGlhQ29u
dHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnNob3dWb2x1bWVTbGlkZXIoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1
bS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnRD
aHJvbWl1bS5oCmluZGV4IGY0YzM5MjFhYzdkMGM1YTllYmIzNzU2MGMzM2NiYWYyM2VhMzU0ZTQu
LmYxMGI3MjhlODBlMjFkYTU2OWQ0NTgzNDA1ZmY2ODE0MjY1N2E0OTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVu
dENocm9taXVtLmgKQEAgLTQwLDYgKzQwLDcgQEAgY2xhc3MgRXZlbnQ7CiBjbGFzcyBNZWRpYUNv
bnRyb2xQYW5lbE11dGVCdXR0b25FbGVtZW50OwogY2xhc3MgTWVkaWFDb250cm9sUGxheUJ1dHRv
bkVsZW1lbnQ7CiBjbGFzcyBNZWRpYUNvbnRyb2xDdXJyZW50VGltZURpc3BsYXlFbGVtZW50Owor
Y2xhc3MgTWVkaWFDb250cm9sVGltZVJlbWFpbmluZ0Rpc3BsYXlFbGVtZW50OwogY2xhc3MgTWVk
aWFDb250cm9sVGltZWxpbmVFbGVtZW50OwogY2xhc3MgTWVkaWFDb250cm9sVm9sdW1lU2xpZGVy
RWxlbWVudDsKIGNsYXNzIE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50OwpAQCAt
MTI1LDYgKzEyNiw5IEBAIHByaXZhdGU6CiAgICAgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJv
bWl1bShEb2N1bWVudCopOwogCiAgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIo
RXZlbnQqKTsKKyAgICB2b2lkIGhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lckZpcmVkKFRpbWVy
PE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0+Kik7CisgICAgdm9pZCBzdGFydEhpZGVG
dWxsc2NyZWVuQ29udHJvbHNUaW1lcigpOworICAgIHZvaWQgc3RvcEhpZGVGdWxsc2NyZWVuQ29u
dHJvbHNUaW1lcigpOwogCiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHNoYWRvd1Bz
ZXVkb0lkKCkgY29uc3Q7CiAKQEAgLTEzNCw2ICsxMzgsNyBAQCBwcml2YXRlOgogCiAgICAgTWVk
aWFDb250cm9sUGxheUJ1dHRvbkVsZW1lbnQqIG1fcGxheUJ1dHRvbjsKICAgICBNZWRpYUNvbnRy
b2xDdXJyZW50VGltZURpc3BsYXlFbGVtZW50KiBtX2N1cnJlbnRUaW1lRGlzcGxheTsKKyAgICBN
ZWRpYUNvbnRyb2xUaW1lUmVtYWluaW5nRGlzcGxheUVsZW1lbnQqIG1fZHVyYXRpb25EaXNwbGF5
OwogICAgIE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudCogbV90aW1lbGluZTsKICAgICBNZWRp
YUNvbnRyb2xUaW1lbGluZUNvbnRhaW5lckVsZW1lbnQqIG1fdGltZWxpbmVDb250YWluZXI7CiAg
ICAgTWVkaWFDb250cm9sUGFuZWxNdXRlQnV0dG9uRWxlbWVudCogbV9wYW5lbE11dGVCdXR0b247
CkBAIC0xNDgsNyArMTUzLDkgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgYm9vbCBtX29wYXF1
ZTsKKyAgICBUaW1lcjxNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtPiBtX2hpZGVGdWxs
c2NyZWVuQ29udHJvbHNUaW1lcjsKICAgICBib29sIG1faXNNb3VzZU92ZXJDb250cm9sczsKKyAg
ICBib29sIG1faXNGdWxsc2NyZWVuOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcAppbmRleCBiNmI0
NGY4Njc1YjMxMjEwNjQ5ZjQ0MzkwNDRiNTM1MWJjNTg3ZWEwLi41NjBjZGFhODQ4OWIxZTA1Mjk5
MDY0NmZhYmRiNDdiNGRhY2MwNmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcApAQCAtMjQ4LDYgKzI0OCw4
IEBAIHN0YXRpYyBib29sIHBhaW50TWVkaWFWb2x1bWVTbGlkZXIoUmVuZGVyT2JqZWN0KiBvYmpl
Y3QsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIGlm
ICh2b2x1bWUgPiAxKQogICAgICAgICB2b2x1bWUgPSAxOworICAgIGlmIChtZWRpYUVsZW1lbnQt
Pm11dGVkKCkpCisgICAgICAgIHZvbHVtZSA9IDA7CiAKICAgICAvLyBDYWxjdWxhdGUgdGhlIHBv
c2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBjZW50ZXIgb2YgdGhlIHRodW1iLgogICAgIGZsb2F0IHRo
dW1iQ2VudGVyID0gbWVkaWFWb2x1bWVTbGlkZXJUaHVtYldpZHRoIC8gMjsKQEAgLTI3Miw4ICsy
NzQsOCBAQCBzdGF0aWMgYm9vbCBwYWludE1lZGlhRnVsbHNjcmVlbkJ1dHRvbihSZW5kZXJPYmpl
Y3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYQogICAgIGlmICghbWVkaWFFbGVtZW50KQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEltYWdlKiwg
bWVkaWFGdWxsc2NyZWVuLCAocGxhdGZvcm1SZXNvdXJjZSgibWVkaWFGdWxsc2NyZWVuIikpKTsK
LSAgICByZXR1cm4gcGFpbnRNZWRpYUJ1dHRvbihwYWludEluZm8uY29udGV4dCwgcmVjdCwgbWVk
aWFGdWxsc2NyZWVuKTsKKyAgICBzdGF0aWMgSW1hZ2UqIG1lZGlhRnVsbHNjcmVlbkJ1dHRvbiA9
IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhcGxheWVyRnVsbHNjcmVlbiIpOworICAgIHJldHVybiBw
YWludE1lZGlhQnV0dG9uKHBhaW50SW5mby5jb250ZXh0LCByZWN0LCBtZWRpYUZ1bGxzY3JlZW5C
dXR0b24pOwogfQogCiBib29sIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6cGFpbnRNZWRp
YUNvbnRyb2xzUGFydChNZWRpYUNvbnRyb2xFbGVtZW50VHlwZSBwYXJ0LCBSZW5kZXJPYmplY3Qq
IG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3Qp
CkBAIC0zNDgsNiArMzUwLDQ1IEBAIHZvaWQgUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtOjph
ZGp1c3RNZWRpYVNsaWRlclRodW1iU2l6ZShSZW5kZXJTdHlsZSogc3R5bGUpCiAgICAgfQogfQog
CitzdGF0aWMgU3RyaW5nIGZvcm1hdENocm9taXVtTWVkaWFDb250cm9sc1RpbWUoZmxvYXQgdGlt
ZSwgZmxvYXQgZHVyYXRpb24pCit7CisgICAgaWYgKCFpc2Zpbml0ZSh0aW1lKSkKKyAgICAgICAg
dGltZSA9IDA7CisgICAgaWYgKCFpc2Zpbml0ZShkdXJhdGlvbikpCisgICAgICAgIGR1cmF0aW9u
ID0gMDsKKyAgICBpbnQgc2Vjb25kcyA9IHN0YXRpY19jYXN0PGludD4oZmFic2YodGltZSkpOwor
ICAgIGludCBob3VycyA9IHNlY29uZHMgLyAoNjAgKiA2MCk7CisgICAgaW50IG1pbnV0ZXMgPSAo
c2Vjb25kcyAvIDYwKSAlIDYwOworICAgIHNlY29uZHMgJT0gNjA7CisKKyAgICAvLyBkdXJhdGlv
biBkZWZpbmVzIHRoZSBmb3JtYXQgb2YgaG93IHRoZSB0aW1lIGlzIHJlbmRlcmVkCisgICAgaW50
IGR1cmF0aW9uU2VjcyA9IHN0YXRpY19jYXN0PGludD4oZmFic2YoZHVyYXRpb24pKTsKKyAgICBp
bnQgZHVyYXRpb25Ib3VycyA9IGR1cmF0aW9uU2VjcyAvICg2MCAqIDYwKTsKKyAgICBpbnQgZHVy
YXRpb25NaW5zID0gKGR1cmF0aW9uU2VjcyAvIDYwKSAlIDYwOworCisgICAgaWYgKGR1cmF0aW9u
SG91cnMgfHwgaG91cnMpCisgICAgICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJXMlMDFkOiUw
MmQ6JTAyZCIsICh0aW1lIDwgMCA/ICItIiA6ICIiKSwgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMp
OworICAgIGlmIChkdXJhdGlvbk1pbnMgPiA5KQorICAgICAgICByZXR1cm4gU3RyaW5nOjpmb3Jt
YXQoIiVzJTAyZDolMDJkIiwgKHRpbWUgPCAwID8gIi0iIDogIiIpLCBtaW51dGVzLCBzZWNvbmRz
KTsKKworICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJXMlMDFkOiUwMmQiLCAodGltZSA8IDAg
PyAiLSIgOiAiIiksIG1pbnV0ZXMsIHNlY29uZHMpOworfQorCitTdHJpbmcgUmVuZGVyTWVkaWFD
b250cm9sc0Nocm9taXVtOjpmb3JtYXRNZWRpYUNvbnRyb2xzVGltZShmbG9hdCB0aW1lKQorewor
ICAgIHJldHVybiBmb3JtYXRDaHJvbWl1bU1lZGlhQ29udHJvbHNUaW1lKHRpbWUsIHRpbWUpOwor
fQorCitTdHJpbmcgUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtOjpmb3JtYXRNZWRpYUNvbnRy
b2xzQ3VycmVudFRpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKQoreworICAg
IHJldHVybiBmb3JtYXRDaHJvbWl1bU1lZGlhQ29udHJvbHNUaW1lKGN1cnJlbnRUaW1lLCBkdXJh
dGlvbik7Cit9CisKK1N0cmluZyBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OmZvcm1hdE1l
ZGlhQ29udHJvbHNSZW1haW5pbmdUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlv
bikKK3sKKyAgICByZXR1cm4gZm9ybWF0Q2hyb21pdW1NZWRpYUNvbnRyb2xzVGltZShjdXJyZW50
VGltZSAtIGR1cmF0aW9uLCBkdXJhdGlvbik7Cit9CisKICNlbmRpZiAgLy8gI2lmIEVOQUJMRShW
SURFTykKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5oCmluZGV4IDlhZjkzOTYw
ZmZlZmNjZTk5YWYxMjY0Mzg0ZWQzMzQxNmEyZDlmNjEuLmMzYjgwMWJmMGNjMWU5ODE5MWNmMzM2
MzBmYWIyMjcxYjMzYzMyYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmgKQEAgLTM4LDYgKzM4LDkgQEAgY2xhc3Mg
UmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBw
YWludE1lZGlhQ29udHJvbHNQYXJ0KE1lZGlhQ29udHJvbEVsZW1lbnRUeXBlLCBSZW5kZXJPYmpl
Y3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAgICAgc3RhdGljIHZvaWQg
YWRqdXN0TWVkaWFTbGlkZXJUaHVtYlNpemUoUmVuZGVyU3R5bGUqKTsKKyAgICBzdGF0aWMgU3Ry
aW5nIGZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKGZsb2F0IHRpbWUpOworICAgIHN0YXRpYyBTdHJp
bmcgZm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9h
dCBkdXJhdGlvbik7CisgICAgc3RhdGljIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWlu
aW5nVGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lQ2hyb21pdW1NYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUNocm9taXVtTWFjLmgKaW5kZXggYWE5NGE0MjlmNzkzZDFmMjJhNDg3NzAxZjk3MDRhOTUy
MTFkYTMxNC4uOTczMjk5YTMxOTFmMzdiZTU2NDU0MWJhYWM2NzJhMDY5ZjQzZGUxZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5oCkBA
IC01NSw2ICs1NSwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBib29sIHVzZXNNZWRpYUNv
bnRyb2xTdGF0dXNEaXNwbGF5KCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wg
aGFzT3duRGlzYWJsZWRTdGF0ZUhhbmRsaW5nRm9yKENvbnRyb2xQYXJ0KSBjb25zdCB7IHJldHVy
biB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIHVzZXNWZXJ0aWNhbFZvbHVtZVNsaWRlcigpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250
cm9sc1RpbWUoZmxvYXQgdGltZSkgY29uc3Q7CisgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVk
aWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikg
Y29uc3Q7CisgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1Rp
bWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKKyAgICB2aXJ0dWFs
IGJvb2wgcGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24oUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFp
bnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwogI2VuZGlmCiAKICAgICB2aXJ0dWFsIGJvb2wgdXNl
c1Rlc3RNb2RlRm9jdXNSaW5nQ29sb3IoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLm1tIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMubW0KaW5kZXggNWE1YWY0ZGE2NWFiNGI0
MDAwYTk1MDkzY2RjODVlNjc4NTZlZTQxOC4uMTc5MWIwOWFiNjUyOGExNWZkNTNmOTRhODk3ZTk4
MjUzN2VkMzcwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lQ2hyb21pdW1NYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lQ2hyb21pdW1NYWMubW0KQEAgLTIyMyw2ICsyMjMsMjYgQEAgSW50UG9pbnQgUmVuZGVyVGhl
bWVDaHJvbWl1bU1hYzo6dm9sdW1lU2xpZGVyT2Zmc2V0RnJvbU11dGVCdXR0b24oUmVuZGVyQm94
KiBtdXQKIHsKICAgICByZXR1cm4gUmVuZGVyVGhlbWU6OnZvbHVtZVNsaWRlck9mZnNldEZyb21N
dXRlQnV0dG9uKG11dGVCdXR0b25Cb3gsIHNpemUpOwogfQorCitTdHJpbmcgUmVuZGVyVGhlbWVD
aHJvbWl1bU1hYzo6Zm9ybWF0TWVkaWFDb250cm9sc1RpbWUoZmxvYXQgdGltZSkgY29uc3QKK3sK
KyAgICByZXR1cm4gUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtOjpmb3JtYXRNZWRpYUNvbnRy
b2xzVGltZSh0aW1lKTsKK30KKworU3RyaW5nIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OmZvcm1h
dE1lZGlhQ29udHJvbHNDdXJyZW50VGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRp
b24pIGNvbnN0Cit7CisgICAgcmV0dXJuIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6Zm9y
bWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGN1cnJlbnRUaW1lLCBkdXJhdGlvbik7Cit9CisK
K1N0cmluZyBSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWlu
aW5nVGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0Cit7CisgICAg
cmV0dXJuIFJlbmRlclRoZW1lQ2hyb21pdW1NYWM6OmZvcm1hdE1lZGlhQ29udHJvbHNSZW1haW5p
bmdUaW1lKGN1cnJlbnRUaW1lLCBkdXJhdGlvbik7Cit9CisKK2Jvb2wgUmVuZGVyVGhlbWVDaHJv
bWl1bU1hYzo6cGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24oUmVuZGVyT2JqZWN0KiBvYmplY3Qs
IGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAg
IHJldHVybiBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OnBhaW50TWVkaWFDb250cm9sc1Bh
cnQoTWVkaWFFbnRlckZ1bGxzY3JlZW5CdXR0b24sIG9iamVjdCwgcGFpbnRJbmZvLCByZWN0KTsK
K30KICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmNwcAppbmRleCBjMTVmOTZk
ZjRiZTQ2YTQ4ODJlZWIyMDBiMDc4M2Q0ZDYzY2MzMjUwLi5jODgwNjY2MTY3ODJhOWQxZjMzM2Q1
NjBkNTY0YmFkYzZiNGVkZjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHAKQEAgLTQ1OSw2ICs0NTksNTAgQEAgYm9vbCBS
ZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6cGFpbnRNZWRpYU11dGVCdXR0b24oUmVuZGVyT2JqZWN0
KiBvYmplY3QsIGNvbnN0IFAKICNlbmRpZgogfQogCitTdHJpbmcgUmVuZGVyVGhlbWVDaHJvbWl1
bVNraWE6OmZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKGZsb2F0IHRpbWUpIGNvbnN0Cit7CisjaWYg
RU5BQkxFKFZJREVPKQorICAgIHJldHVybiBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OmZv
cm1hdE1lZGlhQ29udHJvbHNUaW1lKHRpbWUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0odGlt
ZSk7CisgICAgcmV0dXJuIDA7CisjZW5kaWYKK30KKworU3RyaW5nIFJlbmRlclRoZW1lQ2hyb21p
dW1Ta2lhOjpmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRpbWUoZmxvYXQgY3VycmVudFRpbWUs
IGZsb2F0IGR1cmF0aW9uKSBjb25zdAoreworI2lmIEVOQUJMRShWSURFTykKKyAgICByZXR1cm4g
UmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtOjpmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRp
bWUoY3VycmVudFRpbWUsIGR1cmF0aW9uKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGN1cnJl
bnRUaW1lKTsKKyAgICBVTlVTRURfUEFSQU0oZHVyYXRpb24pOworICAgIHJldHVybiAwOworI2Vu
ZGlmCit9CisKK1N0cmluZyBSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6Zm9ybWF0TWVkaWFDb250
cm9sc1JlbWFpbmluZ1RpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25z
dAoreworI2lmIEVOQUJMRShWSURFTykKKyAgICByZXR1cm4gUmVuZGVyTWVkaWFDb250cm9sc0No
cm9taXVtOjpmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWluaW5nVGltZShjdXJyZW50VGltZSwgZHVy
YXRpb24pOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oY3VycmVudFRpbWUpOworICAgIFVOVVNF
RF9QQVJBTShkdXJhdGlvbik7CisgICAgcmV0dXJuIDA7CisjZW5kaWYKK30KKworYm9vbCBSZW5k
ZXJUaGVtZUNocm9taXVtU2tpYTo6cGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24oUmVuZGVyT2Jq
ZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiBy
ZWN0KQoreworI2lmIEVOQUJMRShWSURFTykKKyAgICByZXR1cm4gUmVuZGVyTWVkaWFDb250cm9s
c0Nocm9taXVtOjpwYWludE1lZGlhQ29udHJvbHNQYXJ0KE1lZGlhRW50ZXJGdWxsc2NyZWVuQnV0
dG9uLCBvYmplY3QsIHBhaW50SW5mbywgcmVjdCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShv
YmplY3QpOworICAgIFVOVVNFRF9QQVJBTShwYWludEluZm8pOworICAgIFVOVVNFRF9QQVJBTShy
ZWN0KTsKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogdm9pZCBSZW5kZXJUaGVtZUNo
cm9taXVtU2tpYTo6YWRqdXN0TWVudUxpc3RTdHlsZShTdHlsZVJlc29sdmVyKiwgUmVuZGVyU3R5
bGUqIHN0eWxlLCBXZWJDb3JlOjpFbGVtZW50KikgY29uc3QKIHsKICAgICAvLyBIZWlnaHQgaXMg
bG9ja2VkIHRvIGF1dG8gb24gYWxsIGJyb3dzZXJzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaAppbmRleCA1M2Q2ZDIzMTViYmZmMDY1
NWZjMWZmNmQ2OTlhZWQzMzEyNTc3MWNkLi43NDU4NzMwNTJmZGU2MzJhYjllMjM4ZGE3ZWM0ZGQ4
N2I0NmQyMWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVDaHJvbWl1bVNraWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVDaHJvbWl1bVNraWEuaApAQCAtOTgsNiArOTgsMTAgQEAgY2xhc3MgUmVuZGVyVGhlbWVDaHJv
bWl1bVNraWEgOiBwdWJsaWMgUmVuZGVyVGhlbWUgewogICAgICAgICB2aXJ0dWFsIGJvb2wgcGFp
bnRNZWRpYVZvbHVtZVNsaWRlclRodW1iKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYs
IGNvbnN0IEludFJlY3QmKTsKICAgICAgICAgdmlydHVhbCBib29sIHBhaW50TWVkaWFQbGF5QnV0
dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKICAg
ICAgICAgdmlydHVhbCBib29sIHBhaW50TWVkaWFNdXRlQnV0dG9uKFJlbmRlck9iamVjdCosIGNv
bnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKKyAgICAgICAgdmlydHVhbCBTdHJpbmcg
Zm9ybWF0TWVkaWFDb250cm9sc1RpbWUoZmxvYXQgdGltZSkgY29uc3Q7CisgICAgICAgIHZpcnR1
YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGltZShmbG9hdCBjdXJyZW50VGlt
ZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0OworICAgICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRN
ZWRpYUNvbnRyb2xzUmVtYWluaW5nVGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRp
b24pIGNvbnN0OworICAgICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0
b24oUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwogCiAg
ICAgICAgIC8vIE1lbnVMaXN0IHJlZmVycyB0byBhbiB1bnN0eWxlZCBtZW51bGlzdCAobWVhbmlu
ZyBhIG1lbnVsaXN0IHdpdGhvdXQKICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvciBvciBib3Jk
ZXIgc2V0KSBhbmQgTWVudUxpc3RCdXR0b24gcmVmZXJzIHRvIGEgc3R5bGVkCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL2ZlYXR1cmVzLmd5cGkKaW5kZXggOTk0NWYwNGJjYTQ2NTc3N2RmYjg2ZDcyN2RlZWYw
Y2IyZTdhNzJhYS4uOTc2YWI5YmRiMWY0ZWViOWIwYzgwNzA5NmUwZDk4ZjY2MmM4M2EzMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQpAQCAtMTYxLDcgKzE2MSw3IEBACiAgICAg
ICAgICdmZWF0dXJlX2RlZmluZXMnOiBbCiAgICAgICAgICAgJ0VOQUJMRV9DQUxFTkRBUl9QSUNL
RVI9MScsCiAgICAgICAgICAgJ0VOQUJMRV9GT05UX0JPT1NUSU5HPTAnLAotICAgICAgICAgICdF
TkFCTEVfRlVMTFNDUkVFTl9NRURJQV9DT05UUk9MUz0wJywKKyAgICAgICAgICAnRU5BQkxFX0ZV
TExTQ1JFRU5fTUVESUFfQ09OVFJPTFM9MScsCiAgICAgICAgICAgJ0VOQUJMRV9JTlBVVF9TUEVF
Q0g9MScsCiAgICAgICAgICAgJ0VOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FPTAnLAogICAgICAg
ICAgICdFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMPTAnLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147569</attachid>
            <date>2012-06-14 06:21:36 -0700</date>
            <delta_ts>2012-06-14 17:26:12 -0700</delta_ts>
            <desc>Use this for review</desc>
            <filename>patch7_for_review.diff</filename>
            <type>text/plain</type>
            <size>11098</size>
            <attacher name="Silvia Pfeiffer">silviapf</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9mdWxsc2NyZWVuLmNzcyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9mdWxsc2NyZWVuLmNzcwppbmRleCA4ZTdjODczLi4xMzVhY2IxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvZnVsbHNjcmVlbi5jc3MKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL2Z1bGxzY3JlZW4uY3NzCkBAIC0yMCw3ICsyMCw3IEBACiAgICAgLXdlYmtpdC10cmFu
c2Zvcm0tc3R5bGU6IGZsYXQgIWltcG9ydGFudDsKIH0KIAotdmlkZW86LXdlYmtpdC1mdWxsLXNj
cmVlbiB7Cit2aWRlbzotd2Via2l0LWZ1bGwtc2NyZWVuLCBhdWRpbzotd2Via2l0LWZ1bGwtc2Ny
ZWVuIHsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OwogICAg
IHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsKICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3Nz
IGIvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHNDaHJvbWl1bS5jc3MKaW5kZXggMjI5
NjE4YS4uYjM5MzEwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJv
bHNDaHJvbWl1bS5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHNDaHJv
bWl1bS5jc3MKQEAgLTM5LDYgKzM5LDExIEBAIGF1ZGlvOi13ZWJraXQtZnVsbC1wYWdlLW1lZGlh
LCB2aWRlbzotd2Via2l0LWZ1bGwtcGFnZS1tZWRpYSB7CiAgICAgbWF4LXdpZHRoOiAxMDAlOwog
fQogCithdWRpbzotd2Via2l0LWZ1bGwtcGFnZS1tZWRpYTo6LXdlYmtpdC1tZWRpYS1jb250cm9s
cy1wYW5lbCwKK3ZpZGVvOi13ZWJraXQtZnVsbC1wYWdlLW1lZGlhOjotd2Via2l0LW1lZGlhLWNv
bnRyb2xzLXBhbmVsIHsKKyAgICBib3R0b206IDBweDsKK30KKwogOjotd2Via2l0LW1lZGlhLWNv
bnRyb2xzIHsKICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgICAtd2Via2l0LWJveC1vcmll
bnQ6IHZlcnRpY2FsOwpAQCAtMTcxLDMgKzE3NiwxNiBAQCBpbnB1dFt0eXBlPSJyYW5nZSJdOjot
d2Via2l0LW1lZGlhLXNsaWRlci10aHVtYiB7CiAgICAgbWFyZ2luLWxlZnQ6IC03cHg7CiAgICAg
bWFyZ2luLXJpZ2h0OiAtN3B4OwogfQorCithdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1m
dWxsc2NyZWVuLWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNjcmVl
bi1idXR0b24geworICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWVkaWEtZW50ZXItZnVsbHNjcmVl
bi1idXR0b247CisgICAgZGlzcGxheTogaW5saW5lOworICAgIGJvcmRlcjogbm9uZTsKKyAgICBi
b3gtc2l6aW5nOiBib3JkZXItYm94OworICAgIHdpZHRoOiAzMHB4OworICAgIGhlaWdodDogMzBw
eDsKKyAgICBsaW5lLWhlaWdodDogMzBweDsKKyAgICBtYXJnaW4tbGVmdDogLTVweDsKKyAgICBt
YXJnaW4tcmlnaHQ6IDlweDsKKyAgICBwYWRkaW5nOiAwOworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9t
aXVtLmNwcAppbmRleCAwYWIxYmFmLi4zODAxZTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVt
LmNwcApAQCAtNDYsNiArNDYsOCBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK3N0YXRpYyBjb25zdCBkb3VibGUgdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50
QmVmb3JlSGlkaW5nQ29udHJvbHMgPSAyOworCiBNZWRpYUNvbnRyb2xDaHJvbWl1bUVuY2xvc3Vy
ZUVsZW1lbnQ6Ok1lZGlhQ29udHJvbENocm9taXVtRW5jbG9zdXJlRWxlbWVudChEb2N1bWVudCog
ZG9jdW1lbnQpCiAgICAgOiBIVE1MRGl2RWxlbWVudChIVE1MTmFtZXM6OmRpdlRhZywgZG9jdW1l
bnQtPmRvY3VtZW50KCkpCiAgICAgLCBtX21lZGlhQ29udHJvbGxlcigwKQpAQCAtODEsNyArODMs
OSBAQCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpNZWRpYUNvbnRyb2xSb290RWxl
bWVudENocm9taXVtKERvY3VtZW50KiBkb2N1bQogICAgICwgbV90ZXh0RGlzcGxheUNvbnRhaW5l
cigwKQogI2VuZGlmCiAgICAgLCBtX29wYXF1ZSh0cnVlKQorICAgICwgbV9oaWRlRnVsbHNjcmVl
bkNvbnRyb2xzVGltZXIodGhpcywgJk1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06Omhp
ZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lckZpcmVkKQogICAgICwgbV9pc01vdXNlT3ZlckNvbnRy
b2xzKGZhbHNlKQorICAgICwgbV9pc0Z1bGxzY3JlZW4oZmFsc2UpCiB7CiB9CiAKQEAgLTI1NCw2
ICsyNTgsOSBAQCB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnBsYXliYWNr
U3RhcnRlZCgpCiAgICAgbV9jdXJyZW50VGltZURpc3BsYXktPnNob3coKTsKICAgICBtX2R1cmF0
aW9uRGlzcGxheS0+aGlkZSgpOwogICAgIHVwZGF0ZVRpbWVEaXNwbGF5KCk7CisKKyAgICBpZiAo
bV9pc0Z1bGxzY3JlZW4pCisgICAgICAgIHN0YXJ0SGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVy
KCk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6cGxheWJhY2tQ
cm9ncmVzc2VkKCkKQEAgLTI3MSw2ICsyNzgsOCBAQCB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVt
ZW50Q2hyb21pdW06OnBsYXliYWNrU3RvcHBlZCgpCiAgICAgbV90aW1lbGluZS0+c2V0UG9zaXRp
b24obV9tZWRpYUNvbnRyb2xsZXItPmN1cnJlbnRUaW1lKCkpOwogICAgIHVwZGF0ZVRpbWVEaXNw
bGF5KCk7CiAgICAgbWFrZU9wYXF1ZSgpOworCisgICAgc3RvcEhpZGVGdWxsc2NyZWVuQ29udHJv
bHNUaW1lcigpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnVw
ZGF0ZVRpbWVEaXNwbGF5KCkKQEAgLTMzOSwxNSArMzQ4LDU1IEBAIHZvaWQgTWVkaWFDb250cm9s
Um9vdEVsZW1lbnRDaHJvbWl1bTo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiAg
ICAgaWYgKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLm1vdXNlb3ZlckV2ZW50KSB7CiAg
ICAgICAgIGlmICghY29udGFpbnNSZWxhdGVkVGFyZ2V0KGV2ZW50KSkgewogICAgICAgICAgICAg
bV9pc01vdXNlT3ZlckNvbnRyb2xzID0gdHJ1ZTsKLSAgICAgICAgICAgIGlmICghbV9tZWRpYUNv
bnRyb2xsZXItPmNhblBsYXkoKSkKKyAgICAgICAgICAgIGlmICghbV9tZWRpYUNvbnRyb2xsZXIt
PmNhblBsYXkoKSkgewogICAgICAgICAgICAgICAgIG1ha2VPcGFxdWUoKTsKKyAgICAgICAgICAg
ICAgICBpZiAoc2hvdWxkSGlkZUNvbnRyb2xzKCkpCisgICAgICAgICAgICAgICAgICAgIHN0YXJ0
SGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0K
ICAgICB9IGVsc2UgaWYgKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLm1vdXNlb3V0RXZl
bnQpIHsKLSAgICAgICAgaWYgKCFjb250YWluc1JlbGF0ZWRUYXJnZXQoZXZlbnQpKQorICAgICAg
ICBpZiAoIWNvbnRhaW5zUmVsYXRlZFRhcmdldChldmVudCkpIHsKICAgICAgICAgICAgIG1faXNN
b3VzZU92ZXJDb250cm9scyA9IGZhbHNlOworICAgICAgICAgICAgc3RvcEhpZGVGdWxsc2NyZWVu
Q29udHJvbHNUaW1lcigpOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChldmVudC0+dHlwZSgp
ID09IGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudCkgeworICAgICAgICBpZiAobV9pc0Z1bGxz
Y3JlZW4pIHsKKyAgICAgICAgICAgIC8vIFdoZW4gd2UgZ2V0IGEgbW91c2UgbW92ZSBpbiBmdWxs
c2NyZWVuIG1vZGUsIHNob3cgdGhlIG1lZGlhIGNvbnRyb2xzLCBhbmQgc3RhcnQgYSB0aW1lcgor
ICAgICAgICAgICAgLy8gdGhhdCB3aWxsIGhpZGUgdGhlIG1lZGlhIGNvbnRyb2xzIGFmdGVyIGEg
MyBzZWNvbmRzIHdpdGhvdXQgYSBtb3VzZSBtb3ZlLgorICAgICAgICAgICAgbWFrZU9wYXF1ZSgp
OworICAgICAgICAgICAgaWYgKHNob3VsZEhpZGVDb250cm9scygpKQorICAgICAgICAgICAgICAg
IHN0YXJ0SGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKCk7CisgICAgICAgIH0KICAgICB9CiB9
CiAKK3ZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6c3RhcnRIaWRlRnVsbHNj
cmVlbkNvbnRyb2xzVGltZXIoKQoreworICAgIGlmICghbV9pc0Z1bGxzY3JlZW4pCisgICAgICAg
IHJldHVybjsKKworICAgIG1faGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyLnN0YXJ0T25lU2hv
dCh0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyk7Cit9CisKK3Zv
aWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6aGlkZUZ1bGxzY3JlZW5Db250cm9s
c1RpbWVyRmlyZWQoVGltZXI8TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bT4qKQorewor
ICAgIGlmIChtX21lZGlhQ29udHJvbGxlci0+cGF1c2VkKCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGlmICghbV9pc0Z1bGxzY3JlZW4pCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghc2hv
dWxkSGlkZUNvbnRyb2xzKCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1ha2VUcmFuc3BhcmVu
dCgpOworfQorCit2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnN0b3BIaWRl
RnVsbHNjcmVlbkNvbnRyb2xzVGltZXIoKQoreworICAgIG1faGlkZUZ1bGxzY3JlZW5Db250cm9s
c1RpbWVyLnN0b3AoKTsKK30KKwogdm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVt
OjpjaGFuZ2VkQ2xvc2VkQ2FwdGlvbnNWaXNpYmlsaXR5KCkKIHsKIH0KQEAgLTM2OSwxMCArNDE4
LDE2IEBAIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6Y2hhbmdlZFZvbHVt
ZSgpCiAKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6ZW50ZXJlZEZ1bGxz
Y3JlZW4oKQogeworICAgIG1faXNGdWxsc2NyZWVuID0gdHJ1ZTsKKyAgICBtX2Z1bGxzY3JlZW5C
dXR0b24tPnNldElzRnVsbHNjcmVlbih0cnVlKTsKKyAgICBzdGFydEhpZGVGdWxsc2NyZWVuQ29u
dHJvbHNUaW1lcigpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06
OmV4aXRlZEZ1bGxzY3JlZW4oKQogeworICAgIG1faXNGdWxsc2NyZWVuID0gZmFsc2U7CisgICAg
bV9mdWxsc2NyZWVuQnV0dG9uLT5zZXRJc0Z1bGxzY3JlZW4oZmFsc2UpOworICAgIHN0b3BIaWRl
RnVsbHNjcmVlbkNvbnRyb2xzVGltZXIoKTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xSb290RWxl
bWVudENocm9taXVtOjpzaG93Vm9sdW1lU2xpZGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW0uaApp
bmRleCBjNWY1MDI4Li5mMTBiNzI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5oCkBAIC0xMjYs
NiArMTI2LDkgQEAgcHJpdmF0ZToKICAgICBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVt
KERvY3VtZW50Kik7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVu
dCopOworICAgIHZvaWQgaGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyRmlyZWQoVGltZXI8TWVk
aWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bT4qKTsKKyAgICB2b2lkIHN0YXJ0SGlkZUZ1bGxz
Y3JlZW5Db250cm9sc1RpbWVyKCk7CisgICAgdm9pZCBzdG9wSGlkZUZ1bGxzY3JlZW5Db250cm9s
c1RpbWVyKCk7CiAKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgc2hhZG93UHNldWRv
SWQoKSBjb25zdDsKIApAQCAtMTUwLDcgKzE1Myw5IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAg
IGJvb2wgbV9vcGFxdWU7CisgICAgVGltZXI8TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1
bT4gbV9oaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXI7CiAgICAgYm9vbCBtX2lzTW91c2VPdmVy
Q29udHJvbHM7CisgICAgYm9vbCBtX2lzRnVsbHNjcmVlbjsKIH07CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5j
cHAKaW5kZXggYzQ4YjQxMi4uNTYwY2RhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHAKQEAgLTI3NCw4ICsy
NzQsOCBAQCBzdGF0aWMgYm9vbCBwYWludE1lZGlhRnVsbHNjcmVlbkJ1dHRvbihSZW5kZXJPYmpl
Y3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYQogICAgIGlmICghbWVkaWFFbGVtZW50KQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEltYWdlKiwg
bWVkaWFGdWxsc2NyZWVuLCAocGxhdGZvcm1SZXNvdXJjZSgibWVkaWFGdWxsc2NyZWVuIikpKTsK
LSAgICByZXR1cm4gcGFpbnRNZWRpYUJ1dHRvbihwYWludEluZm8uY29udGV4dCwgcmVjdCwgbWVk
aWFGdWxsc2NyZWVuKTsKKyAgICBzdGF0aWMgSW1hZ2UqIG1lZGlhRnVsbHNjcmVlbkJ1dHRvbiA9
IHBsYXRmb3JtUmVzb3VyY2UoIm1lZGlhcGxheWVyRnVsbHNjcmVlbiIpOworICAgIHJldHVybiBw
YWludE1lZGlhQnV0dG9uKHBhaW50SW5mby5jb250ZXh0LCByZWN0LCBtZWRpYUZ1bGxzY3JlZW5C
dXR0b24pOwogfQogCiBib29sIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6cGFpbnRNZWRp
YUNvbnRyb2xzUGFydChNZWRpYUNvbnRyb2xFbGVtZW50VHlwZSBwYXJ0LCBSZW5kZXJPYmplY3Qq
IG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3Qp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1
bU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMu
aAppbmRleCBkM2IzNjAxLi45NzMyOTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLmgKQEAgLTU4LDYgKzU4LDcgQEAgcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKGZsb2F0IHRpbWUp
IGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGlt
ZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0OwogICAgIHZpcnR1YWwg
U3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNSZW1haW5pbmdUaW1lKGZsb2F0IGN1cnJlbnRUaW1l
LCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIHBhaW50TWVkaWFGdWxs
c2NyZWVuQnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJl
Y3QmKTsKICNlbmRpZgogCiAgICAgdmlydHVhbCBib29sIHVzZXNUZXN0TW9kZUZvY3VzUmluZ0Nv
bG9yKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVDaHJvbWl1bU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZUNocm9taXVtTWFjLm1tCmluZGV4IDlmNGFhOTEuLjE3OTFiMDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLm1tCkBAIC0yMzgsNiAr
MjM4LDExIEBAIFN0cmluZyBSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpmb3JtYXRNZWRpYUNvbnRy
b2xzUmVtYWluaW5nVGltZShmbG9hdCBjdXJyZW50VGltCiB7CiAgICAgcmV0dXJuIFJlbmRlclRo
ZW1lQ2hyb21pdW1NYWM6OmZvcm1hdE1lZGlhQ29udHJvbHNSZW1haW5pbmdUaW1lKGN1cnJlbnRU
aW1lLCBkdXJhdGlvbik7CiB9CisKK2Jvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6cGFpbnRN
ZWRpYUZ1bGxzY3JlZW5CdXR0b24oUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5m
byYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIHJldHVybiBSZW5kZXJN
ZWRpYUNvbnRyb2xzQ2hyb21pdW06OnBhaW50TWVkaWFDb250cm9sc1BhcnQoTWVkaWFFbnRlckZ1
bGxzY3JlZW5CdXR0b24sIG9iamVjdCwgcGFpbnRJbmZvLCByZWN0KTsKK30KICNlbmRpZgogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmNwcAppbmRleCBiNzM1YmJmLi5jODgwNjY2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tp
YS5jcHAKQEAgLTQ5MSw2ICs0OTEsMTggQEAgU3RyaW5nIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lh
Ojpmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWluaW5nVGltZShmbG9hdCBjdXJyZW50VGkKICNlbmRp
ZgogfQogCitib29sIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjpwYWludE1lZGlhRnVsbHNjcmVl
bkJ1dHRvbihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8s
IGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisjaWYgRU5BQkxFKFZJREVPKQorICAgIHJldHVybiBS
ZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OnBhaW50TWVkaWFDb250cm9sc1BhcnQoTWVkaWFF
bnRlckZ1bGxzY3JlZW5CdXR0b24sIG9iamVjdCwgcGFpbnRJbmZvLCByZWN0KTsKKyNlbHNlCisg
ICAgVU5VU0VEX1BBUkFNKG9iamVjdCk7CisgICAgVU5VU0VEX1BBUkFNKHBhaW50SW5mbyk7Cisg
ICAgVU5VU0VEX1BBUkFNKHJlY3QpOworICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCiB2
b2lkIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjphZGp1c3RNZW51TGlzdFN0eWxlKFN0eWxlUmVz
b2x2ZXIqLCBSZW5kZXJTdHlsZSogc3R5bGUsIFdlYkNvcmU6OkVsZW1lbnQqKSBjb25zdAogewog
ICAgIC8vIEhlaWdodCBpcyBsb2NrZWQgdG8gYXV0byBvbiBhbGwgYnJvd3NlcnMuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oCmluZGV4
IDRiNjYxMzIuLjc0NTg3MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oCkBAIC0xMDEsNiArMTAxLDcgQEAgY2xhc3MgUmVuZGVy
VGhlbWVDaHJvbWl1bVNraWEgOiBwdWJsaWMgUmVuZGVyVGhlbWUgewogICAgICAgICB2aXJ0dWFs
IFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzVGltZShmbG9hdCB0aW1lKSBjb25zdDsKICAgICAg
ICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1
cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgU3RyaW5n
IGZvcm1hdE1lZGlhQ29udHJvbHNSZW1haW5pbmdUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9h
dCBkdXJhdGlvbikgY29uc3Q7CisgICAgICAgIHZpcnR1YWwgYm9vbCBwYWludE1lZGlhRnVsbHNj
cmVlbkJ1dHRvbihSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0
Jik7CiAKICAgICAgICAgLy8gTWVudUxpc3QgcmVmZXJzIHRvIGFuIHVuc3R5bGVkIG1lbnVsaXN0
IChtZWFuaW5nIGEgbWVudWxpc3Qgd2l0aG91dAogICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9y
IG9yIGJvcmRlciBzZXQpIGFuZCBNZW51TGlzdEJ1dHRvbiByZWZlcnMgdG8gYSBzdHlsZWQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaSBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQppbmRleCA5OTQ1ZjA0Li45NzZhYjliIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCkBAIC0xNjEsNyArMTYxLDcgQEAKICAgICAg
ICAgJ2ZlYXR1cmVfZGVmaW5lcyc6IFsKICAgICAgICAgICAnRU5BQkxFX0NBTEVOREFSX1BJQ0tF
Uj0xJywKICAgICAgICAgICAnRU5BQkxFX0ZPTlRfQk9PU1RJTkc9MCcsCi0gICAgICAgICAgJ0VO
QUJMRV9GVUxMU0NSRUVOX01FRElBX0NPTlRST0xTPTAnLAorICAgICAgICAgICdFTkFCTEVfRlVM
TFNDUkVFTl9NRURJQV9DT05UUk9MUz0xJywKICAgICAgICAgICAnRU5BQkxFX0lOUFVUX1NQRUVD
SD0xJywKICAgICAgICAgICAnRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUU9MCcsCiAgICAgICAg
ICAgJ0VOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUw9MCcsCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147687</attachid>
            <date>2012-06-14 17:26:24 -0700</date>
            <delta_ts>2012-06-15 00:20:09 -0700</delta_ts>
            <desc>patch for cq</desc>
            <filename>bug-88818-20120615102621.patch</filename>
            <type>text/plain</type>
            <size>16140</size>
            <attacher name="Silvia Pfeiffer">silviapf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMzYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzE0OTZiYTE3YmU4ZDg3
YzJmNjViNzBlMzBiODFmNmYzYzVkMjJjOS4uMmQ2ODIxMDI1NzQ2OTQwOTViZGE5NzY1YWVjYzk0
NzM0ZWRlYzNhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDEyLTA2LTE0ICBTaWx2
aWEgUGZlaWZmZXIgIDxzaWx2aWFwZkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGZ1bGxz
Y3JlZW4gYnV0dG9uIHRvIENocm9tZSB2aWRlbyBjb250cm9scyBmb3IgdmlkZW8uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODgxOAorCisgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGZpbmFs
IHBhdGNoIHdpbGwgY29udGFpbiB0aGUgcmViYXNlbGluZWQgdGVzdHMuCisKKyAgICAgICAgVGhl
IENocm9tZSB2aWRlbyBjb250cm9scyBhcmUgcmVjZWl2aW5nIGEgdmlzdWFsIHVwZGF0ZS4KKyAg
ICAgICAgVGhpcyBwYXRjaCBpbmNsdWRlcyBhIGZ1bGxzY3JlZW4gYnV0dG9uIGZvciB2aWRlbyBl
bGVtZW50cyBhbmQgdGhlIHJlbmRlcmluZyBvZiB0aGUgY29udHJvbHMKKyAgICAgICAgaW4gZnVs
bHNjcmVlbiBpbmNsdWRpbmcgaGlkaW5nIHRoZW0gYWZ0ZXIgMiBzZWNvbmRzIHdoZW4gdGhlIG1v
dXNlIGlzIG91dCBvZiB0aGUgY29udHJvbHMKKyAgICAgICAgYW5kIG5vdCBtb3ZlZC4KKworICAg
ICAgICAqIGNzcy9mdWxsc2NyZWVuLmNzczoKKyAgICAgICAgKHZpZGVvOi13ZWJraXQtZnVsbC1z
Y3JlZW4sIGF1ZGlvOi13ZWJraXQtZnVsbC1zY3JlZW4pOgorICAgICAgICBBZGQgYXVkaW8gdG8g
dGhlIGRlZmF1bHQgZnVsbHNjcmVlbiBzdHlsaW5nIHJ1bGVzLgorICAgICAgICAqIGNzcy9tZWRp
YUNvbnRyb2xzQ2hyb21pdW0uY3NzOgorICAgICAgICAodmlkZW86LXdlYmtpdC1mdWxsLXBhZ2Ut
bWVkaWE6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcGFuZWwpOgorICAgICAgICBBbGlnbiBjb250
cm9scyB0byB0aGUgYm90dG9tIG9mIHRoZSBmdWxsc2NyZWVuIHBhZ2UuCisgICAgICAgIChhdWRp
bzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1mdWxsc2NyZWVuLWJ1dHRvbiwgdmlkZW86Oi13ZWJr
aXQtbWVkaWEtY29udHJvbHMtZnVsbHNjcmVlbi1idXR0b24pOgorICAgICAgICBJbmNsdWRlIHN0
eWxpbmcgZm9yIHRoZSBmdWxsc2NyZWVuIGJ1dHRvbi4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9N
ZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICBBZGQgYSBjb25zdGFudCBmb3Igd2hlbiB0byBoaWRlIHRoZSBjb250cm9scyBpbiBm
dWxsc2NyZWVuLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJv
bWl1bTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bSk6CisgICAgICAgIEFkZCBtZW1i
ZXIgZmllbGRzIGZvciBmdWxsc2NyZWVuIGJ1dHRvbiwgaGlkaW5nIHRpbWVyIGFuZCB0cmFja2lu
ZyBvZiB3aGV0aGVyIHdlIGFyZSBpbiBmdWxsc2NyZWVuLgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6Y3JlYXRlKToKKyAgICAgICAgQWRkIGZ1bGxz
Y3JlZW4gYnV0dG9uIGVsZW1lbnQgdG8gdGhlIHZpc3VhbCBsYXlvdXQuCisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpzZXRNZWRpYUNvbnRyb2xsZXIp
OgorICAgICAgICBBZGQgZnVsbHNjcmVlbiBidXR0b24gZWxlbWVudCB0byB0aGUgbWVkaWEgY29u
dHJvbGxlci4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21p
dW06OnJlc2V0KToKKyAgICAgICAgU2hvdyB0aGUgZnVsbHNjcmVlbiBidXR0b24gaWYgdGhlIGNv
bnRyb2xsZXIgc3VwcG9ydHMgZnVsbHNjcmVlbi4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29u
dHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnBsYXliYWNrU3RhcnRlZCk6CisgICAgICAgIFN0YXJ0
IHRoZSB0aW1lciB0byBoaWRlIHRoZSBjb250cm9scyBpbiBmdWxsc2NyZWVuLgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6cGxheWJhY2tTdG9wcGVk
KToKKyAgICAgICAgRG9uJ3QgaGlkZSB0aGUgY29udHJvbHMgd2hlbiB0aGUgdmlkZW8gaXMgcGF1
c2VkIGluIGZ1bGxzY3JlZW4uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxl
bWVudENocm9taXVtOjpyZXBvcnRlZEVycm9yKToKKyAgICAgICAgSGlkZSB0aGUgZnVsbHNjcmVl
biBidXR0b24gd2hlbiB3ZSBoaXQgYW4gZXJyb3IuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNv
bnRyb2xSb290RWxlbWVudENocm9taXVtOjpkZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAg
QWRkIGxvZ2ljIGZvciBtb3VzZSBldmVudHMgaW4gZnVsbHNjcmVlbiB0byBzdGFydC9zdG9wIHRo
ZSBoaWRpbmcgdGltZXIuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVu
dENocm9taXVtOjpzdGFydEhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcik6CisgICAgICAgIFN0
YXJ0IHRoZSBmdWxsc2NyZWVuIGhpZGluZyB0aW1lci4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lckZp
cmVkKToKKyAgICAgICAgVGltZXIgZmlyZWQ6IGhpZGUgdGhlIHZpZGVvIGNvbnRyb2xzIGluIGZ1
bGxzY3JlZW4uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9t
aXVtOjpzdG9wSGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKToKKyAgICAgICAgUmVzZXQgdGhl
IGZ1bGxzY3JlZW4gaGlkaW5nIHRpbWVyLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
Um9vdEVsZW1lbnRDaHJvbWl1bTo6ZW50ZXJlZEZ1bGxzY3JlZW4pOgorICAgICAgICBBZGQgbG9n
aWMgdG8gZW50ZXIgZnVsbHNjcmVlbi4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJv
b3RFbGVtZW50Q2hyb21pdW06OmV4aXRlZEZ1bGxzY3JlZW4pOgorICAgICAgICBBZGQgbG9naWMg
dG8gZXhpdCBmdWxsc2NyZWVuLgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbFJv
b3RFbGVtZW50Q2hyb21pdW0uaDoKKyAgICAgICAgKE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hy
b21pdW0pOgorICAgICAgICBBZGQgZGVjbGFyYXRpb24gb2YgbWVtYmVyIGZ1bmN0aW9ucyBhbmQg
ZmllbGRzIGZvciBmdWxsc2NyZWVuLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZWRpYUNv
bnRyb2xzQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFpbnRNZWRpYUZ1bGxzY3Jl
ZW5CdXR0b24pOgorICAgICAgICBVc2UgdGhlIG5ldyBpbWFnZSBmb3IgdGhlIGZ1bGxzY3JlZW4g
YnV0dG9uLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLmg6Cisg
ICAgICAgIChSZW5kZXJUaGVtZUNocm9taXVtTWFjKToKKyAgICAgICAgRGVjbGFyZSB0aGUgZnVs
bHNjcmVlbiBwYWludGluZyBmdW5jdGlvbiBmb3IgQ2hyb21lIE1hYy4KKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRoZW1lQ2hyb21pdW1NYWM6OnBhaW50TWVkaWFGdWxsc2NyZWVuQnV0dG9uKToKKyAgICAgICAg
SG9vayB1cCB0aGUgZnVsbHNjcmVlbiBwYWluaW5nIGZ1bmN0aW9uIGZvciBDaHJvbWUgTWFjLgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtU2tpYTo6cGFpbnRNZWRpYUZ1bGxzY3JlZW5C
dXR0b24pOgorICAgICAgICBIb29rIHVwIHRoZSBmdWxsc2NyZWVuIHBhaW5pbmcgZnVuY3Rpb24g
Zm9yIENocm9tZSBTa2lhLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVt
U2tpYS5oOgorICAgICAgICAoUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEpOgorICAgICAgICBEZWNs
YXJlIHRoZSBmdWxsc2NyZWVuIHBhaW50aW5nIGZ1bmN0aW9uIGZvciBDaHJvbWUgU2tpYS4KKwog
MjAxMi0wNi0xNCAgTWFjaWVqIFN0YWNob3dpYWsgIDxtanNAYXBwbGUuY29tPgogCiAgICAgICAg
IFRoZSB3aG9sZSB3b3JsZCByZWJ1aWxkcyB3aGVuIHlvdSB0b3VjaCBhbnkgSURMIGZpbGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9mdWxsc2NyZWVuLmNzcyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9mdWxsc2NyZWVuLmNzcwppbmRleCA4ZTdjODczNjBlZDBiOTZhYTgwOTBmZWY2MDA4
ZTY5OGRhNzIzNDk5Li4xMzVhY2IxNjkyNGM2ZGVkNDJiNDcwODZjZGRiMWEwZWVlMzNmZmFmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvZnVsbHNjcmVlbi5jc3MKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL2Z1bGxzY3JlZW4uY3NzCkBAIC0yMCw3ICsyMCw3IEBACiAgICAgLXdlYmtp
dC10cmFuc2Zvcm0tc3R5bGU6IGZsYXQgIWltcG9ydGFudDsKIH0KIAotdmlkZW86LXdlYmtpdC1m
dWxsLXNjcmVlbiB7Cit2aWRlbzotd2Via2l0LWZ1bGwtc2NyZWVuLCBhdWRpbzotd2Via2l0LWZ1
bGwtc2NyZWVuIHsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50
OwogICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsKICAgICBtYXJnaW46IDAgIWltcG9y
dGFudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tZWRpYUNvbnRyb2xzQ2hyb21p
dW0uY3NzIGIvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHNDaHJvbWl1bS5jc3MKaW5k
ZXggMjI5NjE4YTFlYTg5YTk3OTEyNzdkYjVkNzA5MWY2NDZmMzc1YzFlNi4uYjM5MzEwMTZlMDQ1
ZmIyNzQ3MjJjNDJiOGI5MjY1OTY4MDFhOWVmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL21lZGlhQ29udHJvbHNDaHJvbWl1bS5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL21l
ZGlhQ29udHJvbHNDaHJvbWl1bS5jc3MKQEAgLTM5LDYgKzM5LDExIEBAIGF1ZGlvOi13ZWJraXQt
ZnVsbC1wYWdlLW1lZGlhLCB2aWRlbzotd2Via2l0LWZ1bGwtcGFnZS1tZWRpYSB7CiAgICAgbWF4
LXdpZHRoOiAxMDAlOwogfQogCithdWRpbzotd2Via2l0LWZ1bGwtcGFnZS1tZWRpYTo6LXdlYmtp
dC1tZWRpYS1jb250cm9scy1wYW5lbCwKK3ZpZGVvOi13ZWJraXQtZnVsbC1wYWdlLW1lZGlhOjot
d2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVsIHsKKyAgICBib3R0b206IDBweDsKK30KKwogOjot
d2Via2l0LW1lZGlhLWNvbnRyb2xzIHsKICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgICAt
d2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwpAQCAtMTcxLDMgKzE3NiwxNiBAQCBpbnB1dFt0
eXBlPSJyYW5nZSJdOjotd2Via2l0LW1lZGlhLXNsaWRlci10aHVtYiB7CiAgICAgbWFyZ2luLWxl
ZnQ6IC03cHg7CiAgICAgbWFyZ2luLXJpZ2h0OiAtN3B4OwogfQorCithdWRpbzo6LXdlYmtpdC1t
ZWRpYS1jb250cm9scy1mdWxsc2NyZWVuLWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29u
dHJvbHMtZnVsbHNjcmVlbi1idXR0b24geworICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWVkaWEt
ZW50ZXItZnVsbHNjcmVlbi1idXR0b247CisgICAgZGlzcGxheTogaW5saW5lOworICAgIGJvcmRl
cjogbm9uZTsKKyAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OworICAgIHdpZHRoOiAzMHB4Owor
ICAgIGhlaWdodDogMzBweDsKKyAgICBsaW5lLWhlaWdodDogMzBweDsKKyAgICBtYXJnaW4tbGVm
dDogLTVweDsKKyAgICBtYXJnaW4tcmlnaHQ6IDlweDsKKyAgICBwYWRkaW5nOiAwOworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sUm9vdEVsZW1l
bnRDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xS
b290RWxlbWVudENocm9taXVtLmNwcAppbmRleCAwYWIxYmFmMzNhMjNhNjJjNGYzNDk2ZjhiODRl
NTgwMWIzODYwODMzLi5mNGNlM2Q2MTdiMzU4M2NjNzA5YjdlZmU0MGI1OWFiODA5NTA4N2FmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxl
bWVudENocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xSb290RWxlbWVudENocm9taXVtLmNwcApAQCAtNDYsNiArNDYsOCBAQCB1c2luZyBuYW1l
c3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRpYyBjb25zdCBkb3VibGUg
dGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMgPSAyOworCiBNZWRp
YUNvbnRyb2xDaHJvbWl1bUVuY2xvc3VyZUVsZW1lbnQ6Ok1lZGlhQ29udHJvbENocm9taXVtRW5j
bG9zdXJlRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBIVE1MRGl2RWxlbWVudChI
VE1MTmFtZXM6OmRpdlRhZywgZG9jdW1lbnQtPmRvY3VtZW50KCkpCiAgICAgLCBtX21lZGlhQ29u
dHJvbGxlcigwKQpAQCAtODEsNyArODMsOSBAQCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9t
aXVtOjpNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtKERvY3VtZW50KiBkb2N1bQogICAg
ICwgbV90ZXh0RGlzcGxheUNvbnRhaW5lcigwKQogI2VuZGlmCiAgICAgLCBtX29wYXF1ZSh0cnVl
KQorICAgICwgbV9oaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIodGhpcywgJk1lZGlhQ29udHJv
bFJvb3RFbGVtZW50Q2hyb21pdW06OmhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lckZpcmVkKQog
ICAgICwgbV9pc01vdXNlT3ZlckNvbnRyb2xzKGZhbHNlKQorICAgICwgbV9pc0Z1bGxzY3JlZW4o
ZmFsc2UpCiB7CiB9CiAKQEAgLTI1NCw2ICsyNTgsOSBAQCB2b2lkIE1lZGlhQ29udHJvbFJvb3RF
bGVtZW50Q2hyb21pdW06OnBsYXliYWNrU3RhcnRlZCgpCiAgICAgbV9jdXJyZW50VGltZURpc3Bs
YXktPnNob3coKTsKICAgICBtX2R1cmF0aW9uRGlzcGxheS0+aGlkZSgpOwogICAgIHVwZGF0ZVRp
bWVEaXNwbGF5KCk7CisKKyAgICBpZiAobV9pc0Z1bGxzY3JlZW4pCisgICAgICAgIHN0YXJ0SGlk
ZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKCk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVs
ZW1lbnRDaHJvbWl1bTo6cGxheWJhY2tQcm9ncmVzc2VkKCkKQEAgLTI3MSw2ICsyNzgsOCBAQCB2
b2lkIE1lZGlhQ29udHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OnBsYXliYWNrU3RvcHBlZCgpCiAg
ICAgbV90aW1lbGluZS0+c2V0UG9zaXRpb24obV9tZWRpYUNvbnRyb2xsZXItPmN1cnJlbnRUaW1l
KCkpOwogICAgIHVwZGF0ZVRpbWVEaXNwbGF5KCk7CiAgICAgbWFrZU9wYXF1ZSgpOworCisgICAg
c3RvcEhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcigpOwogfQogCiB2b2lkIE1lZGlhQ29udHJv
bFJvb3RFbGVtZW50Q2hyb21pdW06OnVwZGF0ZVRpbWVEaXNwbGF5KCkKQEAgLTMzOSwxNSArMzQ4
LDU1IEBAIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bTo6ZGVmYXVsdEV2ZW50
SGFuZGxlcihFdmVudCogZXZlbnQpCiAgICAgaWYgKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1l
cygpLm1vdXNlb3ZlckV2ZW50KSB7CiAgICAgICAgIGlmICghY29udGFpbnNSZWxhdGVkVGFyZ2V0
KGV2ZW50KSkgewogICAgICAgICAgICAgbV9pc01vdXNlT3ZlckNvbnRyb2xzID0gdHJ1ZTsKLSAg
ICAgICAgICAgIGlmICghbV9tZWRpYUNvbnRyb2xsZXItPmNhblBsYXkoKSkKKyAgICAgICAgICAg
IGlmICghbV9tZWRpYUNvbnRyb2xsZXItPmNhblBsYXkoKSkgewogICAgICAgICAgICAgICAgIG1h
a2VPcGFxdWUoKTsKKyAgICAgICAgICAgICAgICBpZiAoc2hvdWxkSGlkZUNvbnRyb2xzKCkpCisg
ICAgICAgICAgICAgICAgICAgIHN0YXJ0SGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKCk7Cisg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKGV2ZW50LT50eXBlKCkgPT0g
ZXZlbnROYW1lcygpLm1vdXNlb3V0RXZlbnQpIHsKLSAgICAgICAgaWYgKCFjb250YWluc1JlbGF0
ZWRUYXJnZXQoZXZlbnQpKQorICAgICAgICBpZiAoIWNvbnRhaW5zUmVsYXRlZFRhcmdldChldmVu
dCkpIHsKICAgICAgICAgICAgIG1faXNNb3VzZU92ZXJDb250cm9scyA9IGZhbHNlOworICAgICAg
ICAgICAgc3RvcEhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcigpOworICAgICAgICB9CisgICAg
fSBlbHNlIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudCkg
eworICAgICAgICBpZiAobV9pc0Z1bGxzY3JlZW4pIHsKKyAgICAgICAgICAgIC8vIFdoZW4gd2Ug
Z2V0IGEgbW91c2UgbW92ZSBpbiBmdWxsc2NyZWVuIG1vZGUsIHNob3cgdGhlIG1lZGlhIGNvbnRy
b2xzLCBhbmQgc3RhcnQgYSB0aW1lcgorICAgICAgICAgICAgLy8gdGhhdCB3aWxsIGhpZGUgdGhl
IG1lZGlhIGNvbnRyb2xzIGFmdGVyIGEgMiBzZWNvbmRzIHdpdGhvdXQgYSBtb3VzZSBtb3ZlLgor
ICAgICAgICAgICAgbWFrZU9wYXF1ZSgpOworICAgICAgICAgICAgaWYgKHNob3VsZEhpZGVDb250
cm9scygpKQorICAgICAgICAgICAgICAgIHN0YXJ0SGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVy
KCk7CisgICAgICAgIH0KICAgICB9CiB9CiAKK3ZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRD
aHJvbWl1bTo6c3RhcnRIaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIoKQoreworICAgIGlmICgh
bV9pc0Z1bGxzY3JlZW4pCisgICAgICAgIHJldHVybjsKKworICAgIG1faGlkZUZ1bGxzY3JlZW5D
b250cm9sc1RpbWVyLnN0YXJ0T25lU2hvdCh0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVI
aWRpbmdDb250cm9scyk7Cit9CisKK3ZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1
bTo6aGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyRmlyZWQoVGltZXI8TWVkaWFDb250cm9sUm9v
dEVsZW1lbnRDaHJvbWl1bT4qKQoreworICAgIGlmIChtX21lZGlhQ29udHJvbGxlci0+cGF1c2Vk
KCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghbV9pc0Z1bGxzY3JlZW4pCisgICAgICAg
IHJldHVybjsKKworICAgIGlmICghc2hvdWxkSGlkZUNvbnRyb2xzKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIG1ha2VUcmFuc3BhcmVudCgpOworfQorCit2b2lkIE1lZGlhQ29udHJvbFJvb3RF
bGVtZW50Q2hyb21pdW06OnN0b3BIaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIoKQoreworICAg
IG1faGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyLnN0b3AoKTsKK30KKwogdm9pZCBNZWRpYUNv
bnRyb2xSb290RWxlbWVudENocm9taXVtOjpjaGFuZ2VkQ2xvc2VkQ2FwdGlvbnNWaXNpYmlsaXR5
KCkKIHsKIH0KQEAgLTM2OSwxMCArNDE4LDE2IEBAIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1l
bnRDaHJvbWl1bTo6Y2hhbmdlZFZvbHVtZSgpCiAKIHZvaWQgTWVkaWFDb250cm9sUm9vdEVsZW1l
bnRDaHJvbWl1bTo6ZW50ZXJlZEZ1bGxzY3JlZW4oKQogeworICAgIG1faXNGdWxsc2NyZWVuID0g
dHJ1ZTsKKyAgICBtX2Z1bGxzY3JlZW5CdXR0b24tPnNldElzRnVsbHNjcmVlbih0cnVlKTsKKyAg
ICBzdGFydEhpZGVGdWxsc2NyZWVuQ29udHJvbHNUaW1lcigpOwogfQogCiB2b2lkIE1lZGlhQ29u
dHJvbFJvb3RFbGVtZW50Q2hyb21pdW06OmV4aXRlZEZ1bGxzY3JlZW4oKQogeworICAgIG1faXNG
dWxsc2NyZWVuID0gZmFsc2U7CisgICAgbV9mdWxsc2NyZWVuQnV0dG9uLT5zZXRJc0Z1bGxzY3Jl
ZW4oZmFsc2UpOworICAgIHN0b3BIaWRlRnVsbHNjcmVlbkNvbnRyb2xzVGltZXIoKTsKIH0KIAog
dm9pZCBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtOjpzaG93Vm9sdW1lU2xpZGVyKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbFJvb3RF
bGVtZW50Q2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bFJvb3RFbGVtZW50Q2hyb21pdW0uaAppbmRleCBjNWY1MDI4NzNkM2YyYTgwMDg5YjNiNmZmM2Jj
MDg5NzA2ZjlmZmFkLi5mMTBiNzI4ZTgwZTIxZGE1NjlkNDU4MzQwNWZmNjgxNDI2NTdhNDkwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xSb290RWxl
bWVudENocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9sUm9vdEVsZW1lbnRDaHJvbWl1bS5oCkBAIC0xMjYsNiArMTI2LDkgQEAgcHJpdmF0ZToKICAg
ICBNZWRpYUNvbnRyb2xSb290RWxlbWVudENocm9taXVtKERvY3VtZW50Kik7CiAKICAgICB2aXJ0
dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCopOworICAgIHZvaWQgaGlkZUZ1bGxz
Y3JlZW5Db250cm9sc1RpbWVyRmlyZWQoVGltZXI8TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJv
bWl1bT4qKTsKKyAgICB2b2lkIHN0YXJ0SGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKCk7Cisg
ICAgdm9pZCBzdG9wSGlkZUZ1bGxzY3JlZW5Db250cm9sc1RpbWVyKCk7CiAKICAgICB2aXJ0dWFs
IGNvbnN0IEF0b21pY1N0cmluZyYgc2hhZG93UHNldWRvSWQoKSBjb25zdDsKIApAQCAtMTUwLDcg
KzE1Myw5IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIGJvb2wgbV9vcGFxdWU7CisgICAgVGlt
ZXI8TWVkaWFDb250cm9sUm9vdEVsZW1lbnRDaHJvbWl1bT4gbV9oaWRlRnVsbHNjcmVlbkNvbnRy
b2xzVGltZXI7CiAgICAgYm9vbCBtX2lzTW91c2VPdmVyQ29udHJvbHM7CisgICAgYm9vbCBtX2lz
RnVsbHNjcmVlbjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHAKaW5kZXggYzQ4YjQxMjBjNzQ1ZDFm
MmZhZDZkOWE3MjgyZWExMjQ0YWZjM2ZiMC4uNTYwY2RhYTg0ODliMWUwNTI5OTA2NDZmYWJkYjQ3
YjRkYWNjMDZjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1l
ZGlhQ29udHJvbHNDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHAKQEAgLTI3NCw4ICsyNzQsOCBAQCBzdGF0aWMg
Ym9vbCBwYWludE1lZGlhRnVsbHNjcmVlbkJ1dHRvbihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29u
c3QgUGFpbnRJbmZvJiBwYQogICAgIGlmICghbWVkaWFFbGVtZW50KQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEltYWdlKiwgbWVkaWFGdWxsc2NyZWVu
LCAocGxhdGZvcm1SZXNvdXJjZSgibWVkaWFGdWxsc2NyZWVuIikpKTsKLSAgICByZXR1cm4gcGFp
bnRNZWRpYUJ1dHRvbihwYWludEluZm8uY29udGV4dCwgcmVjdCwgbWVkaWFGdWxsc2NyZWVuKTsK
KyAgICBzdGF0aWMgSW1hZ2UqIG1lZGlhRnVsbHNjcmVlbkJ1dHRvbiA9IHBsYXRmb3JtUmVzb3Vy
Y2UoIm1lZGlhcGxheWVyRnVsbHNjcmVlbiIpOworICAgIHJldHVybiBwYWludE1lZGlhQnV0dG9u
KHBhaW50SW5mby5jb250ZXh0LCByZWN0LCBtZWRpYUZ1bGxzY3JlZW5CdXR0b24pOwogfQogCiBi
b29sIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6cGFpbnRNZWRpYUNvbnRyb2xzUGFydChN
ZWRpYUNvbnRyb2xFbGVtZW50VHlwZSBwYXJ0LCBSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3Qg
UGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1NYWMuaAppbmRleCBkM2IzNjAx
MDcyN2Y3OTdlNTg1NTY2OTAxNTU4NTk5ZWQxODkzMjBlLi45NzMyOTlhMzE5MWYzN2JlNTY0NTQx
YmFhYzY3MmEwNjlmNDNkZTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVDaHJvbWl1bU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtTWFjLmgKQEAgLTU4LDYgKzU4LDcgQEAgcHJvdGVjdGVkOgogICAg
IHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKGZsb2F0IHRpbWUpIGNvbnN0
OwogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGltZShmbG9h
dCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5n
IGZvcm1hdE1lZGlhQ29udHJvbHNSZW1haW5pbmdUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9h
dCBkdXJhdGlvbikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIHBhaW50TWVkaWFGdWxsc2NyZWVu
QnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsK
ICNlbmRpZgogCiAgICAgdmlydHVhbCBib29sIHVzZXNUZXN0TW9kZUZvY3VzUmluZ0NvbG9yKCkg
Y29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVD
aHJvbWl1bU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9t
aXVtTWFjLm1tCmluZGV4IDlmNGFhOTEwN2FmOTc5NWQwMDNmNWUzNzlkYTQ4M2JkNTQxMTNmMDMu
LjE3OTFiMDlhYjY1MjhhMTVmZDUzZjk0YTg5N2U5ODI1MzdlZDM3MDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtTWFjLm1tCkBAIC0yMzgs
NiArMjM4LDExIEBAIFN0cmluZyBSZW5kZXJUaGVtZUNocm9taXVtTWFjOjpmb3JtYXRNZWRpYUNv
bnRyb2xzUmVtYWluaW5nVGltZShmbG9hdCBjdXJyZW50VGltCiB7CiAgICAgcmV0dXJuIFJlbmRl
clRoZW1lQ2hyb21pdW1NYWM6OmZvcm1hdE1lZGlhQ29udHJvbHNSZW1haW5pbmdUaW1lKGN1cnJl
bnRUaW1lLCBkdXJhdGlvbik7CiB9CisKK2Jvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bU1hYzo6cGFp
bnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24oUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50
SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIHJldHVybiBSZW5k
ZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OnBhaW50TWVkaWFDb250cm9sc1BhcnQoTWVkaWFFbnRl
ckZ1bGxzY3JlZW5CdXR0b24sIG9iamVjdCwgcGFpbnRJbmZvLCByZWN0KTsKK30KICNlbmRpZgog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Ta2lhLmNwcAppbmRleCBiNzM1YmJmMzY3OGYwNjg5ZDU3
YjFkMzU1ZWM2NDYxNWYzNjFkM2U3Li5jODgwNjY2MTY3ODJhOWQxZjMzM2Q1NjBkNTY0YmFkYzZi
NGVkZjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVD
aHJvbWl1bVNraWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZUNocm9taXVtU2tpYS5jcHAKQEAgLTQ5MSw2ICs0OTEsMTggQEAgU3RyaW5nIFJlbmRlclRoZW1l
Q2hyb21pdW1Ta2lhOjpmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWluaW5nVGltZShmbG9hdCBjdXJy
ZW50VGkKICNlbmRpZgogfQogCitib29sIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjpwYWludE1l
ZGlhRnVsbHNjcmVlbkJ1dHRvbihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZv
JiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisjaWYgRU5BQkxFKFZJREVPKQor
ICAgIHJldHVybiBSZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW06OnBhaW50TWVkaWFDb250cm9s
c1BhcnQoTWVkaWFFbnRlckZ1bGxzY3JlZW5CdXR0b24sIG9iamVjdCwgcGFpbnRJbmZvLCByZWN0
KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKG9iamVjdCk7CisgICAgVU5VU0VEX1BBUkFNKHBh
aW50SW5mbyk7CisgICAgVU5VU0VEX1BBUkFNKHJlY3QpOworICAgIHJldHVybiBmYWxzZTsKKyNl
bmRpZgorfQorCiB2b2lkIFJlbmRlclRoZW1lQ2hyb21pdW1Ta2lhOjphZGp1c3RNZW51TGlzdFN0
eWxlKFN0eWxlUmVzb2x2ZXIqLCBSZW5kZXJTdHlsZSogc3R5bGUsIFdlYkNvcmU6OkVsZW1lbnQq
KSBjb25zdAogewogICAgIC8vIEhlaWdodCBpcyBsb2NrZWQgdG8gYXV0byBvbiBhbGwgYnJvd3Nl
cnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJv
bWl1bVNraWEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVt
U2tpYS5oCmluZGV4IDRiNjYxMzJhMDBhNzQ0NWFiMzQxZDZhNmQyZGY3YjBkNmQ4Njc5YTYuLjc0
NTg3MzA1MmZkZTYzMmFiOWUyMzhkYTdlYzRkZDg3YjQ2ZDIxZDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtU2tpYS5oCkBAIC0xMDEsNiAr
MTAxLDcgQEAgY2xhc3MgUmVuZGVyVGhlbWVDaHJvbWl1bVNraWEgOiBwdWJsaWMgUmVuZGVyVGhl
bWUgewogICAgICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzVGltZShmbG9h
dCB0aW1lKSBjb25zdDsKICAgICAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9s
c0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CiAg
ICAgICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNSZW1haW5pbmdUaW1lKGZs
b2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CisgICAgICAgIHZpcnR1YWwg
Ym9vbCBwYWludE1lZGlhRnVsbHNjcmVlbkJ1dHRvbihSZW5kZXJPYmplY3QqLCBjb25zdCBQYWlu
dEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAKICAgICAgICAgLy8gTWVudUxpc3QgcmVmZXJzIHRv
IGFuIHVuc3R5bGVkIG1lbnVsaXN0IChtZWFuaW5nIGEgbWVudWxpc3Qgd2l0aG91dAogICAgICAg
ICAvLyBiYWNrZ3JvdW5kLWNvbG9yIG9yIGJvcmRlciBzZXQpIGFuZCBNZW51TGlzdEJ1dHRvbiBy
ZWZlcnMgdG8gYSBzdHlsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVh
dHVyZXMuZ3lwaSBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQppbmRleCA3
Mjc3MjY3MDc1Mjg1N2M3NDA4Yzc2MTQ4Mjc0Njg5MzcxOWM3NmI3Li40ZGU2OGQ0Y2FmNTlhODM3
NjcwODAzNDgxYjk2OWQ3NTY4NzQzNjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL2ZlYXR1cmVzLmd5cGkKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5n
eXBpCkBAIC0xNjEsNyArMTYxLDcgQEAKICAgICAgICAgJ2ZlYXR1cmVfZGVmaW5lcyc6IFsKICAg
ICAgICAgICAnRU5BQkxFX0NBTEVOREFSX1BJQ0tFUj0xJywKICAgICAgICAgICAnRU5BQkxFX0ZP
TlRfQk9PU1RJTkc9MCcsCi0gICAgICAgICAgJ0VOQUJMRV9GVUxMU0NSRUVOX01FRElBX0NPTlRS
T0xTPTAnLAorICAgICAgICAgICdFTkFCTEVfRlVMTFNDUkVFTl9NRURJQV9DT05UUk9MUz0xJywK
ICAgICAgICAgICAnRU5BQkxFX0lOUFVUX1NQRUVDSD0xJywKICAgICAgICAgICAnRU5BQkxFX0pB
VkFTQ1JJUFRfSTE4Tl9BUEk9MScsCiAgICAgICAgICAgJ0VOQUJMRV9MRUdBQ1lfTk9USUZJQ0FU
SU9OUz0xJywK
</data>

          </attachment>
      

    </bug>

</bugzilla>