<?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>90318</bug_id>
          
          <creation_ts>2012-06-29 15:47:01 -0700</creation_ts>
          <short_desc>Allow AudioDestination to support local/live audio input</short_desc>
          <delta_ts>2012-08-01 00:04:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Rogers">crogers</reporter>
          <assigned_to name="Chris Rogers">crogers</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>ericbidelman</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>fishd</cc>
    
    <cc>henrika</cc>
    
    <cc>jamesr</cc>
    
    <cc>kbr</cc>
    
    <cc>pnormand</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xingnan.wang</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>660835</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-06-29 15:47:01 -0700</bug_when>
    <thetext>Allow AudioDestination to support local/live audio input</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660844</commentid>
    <comment_count>1</comment_count>
      <attachid>150267</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-06-29 16:03:57 -0700</bug_when>
    <thetext>Created attachment 150267
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660845</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-29 16:05:37 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660847</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-06-29 16:07:27 -0700</bug_when>
    <thetext>This change works with:
https://bugs.webkit.org/show_bug.cgi?id=90110

In order to help implement MediaStreamAudioSourceNode

This patch deals with the lower-level audio hardware aspects of getting local/live audio input.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660910</commentid>
    <comment_count>4</comment_count>
      <attachid>150267</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-29 18:22:55 -0700</bug_when>
    <thetext>Comment on attachment 150267
Patch

API change LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683470</commentid>
    <comment_count>5</comment_count>
      <attachid>150267</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-07-31 14:18:27 -0700</bug_when>
    <thetext>Comment on attachment 150267
Patch

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

Looks good overall. Couple of minor bookkeeping questions. r=me

&gt; Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:326
&gt; +    // FIXME: Add support for local/live audio input.

Is there a bug filed to track this work?

&gt; Source/WebCore/platform/audio/mac/AudioDestinationMac.cpp:158
&gt; +    // FIXME: Add support for local/live audio input.

Same question.

&gt; Source/WebKit/chromium/src/AudioDestinationChromium.cpp:133
&gt; +    // FIXME: Add support for local/live audio input.

Here too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683580</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-07-31 16:05:03 -0700</bug_when>
    <thetext>Committed r124264: &lt;http://trac.webkit.org/changeset/124264&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683925</commentid>
    <comment_count>7</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-08-01 00:04:03 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 150267 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=150267&amp;action=review
&gt; 
&gt; Looks good overall. Couple of minor bookkeeping questions. r=me
&gt; 
&gt; &gt; Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:326
&gt; &gt; +    // FIXME: Add support for local/live audio input.
&gt; 
&gt; Is there a bug filed to track this work?
&gt; 

I&apos;ll try to take care of this one soon.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150267</attachid>
            <date>2012-06-29 16:03:57 -0700</date>
            <delta_ts>2012-07-31 14:18:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90318-20120629160357.patch</filename>
            <type>text/plain</type>
            <size>33659</size>
            <attacher name="Chris Rogers">crogers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCA0YzJkY2Q0MGY5MjBj
MzRjYmJlYTY3ZGI3NDI3YzVhYWNlMDliYzAwLi5hMWY1Mjc3OTVkZTdmZWE0ZjM3YWJiMzBkZTUz
Njc4OGY5NzUxMDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0wNi0yOSAg
Q2hyaXMgUm9nZXJzICA8Y3JvZ2Vyc0Bnb29nbGUuY29tPgorCisgICAgICAgIEFsbG93IEF1ZGlv
RGVzdGluYXRpb24gdG8gc3VwcG9ydCBsb2NhbC9saXZlIGF1ZGlvIGlucHV0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDMxOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY2hyb21pdW0vcHVibGljL1dl
YkF1ZGlvRGV2aWNlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkF1ZGlvRGV2aWNlOjpSZW5kZXJD
YWxsYmFjazo6cmVuZGVyKToKKyAgICAgICAgKFJlbmRlckNhbGxiYWNrKToKKwogMjAxMi0wNi0y
NiAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJv
bWl1bV0gUmVtb3ZlIFdlYlZpZXc6OmdyYXBoaWNzQ29udGV4dDNEIGdldHRlcgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGI2MGQxMThlYTljNjZkYzNhMmVhYTZkMTNlMGNjMWQxNmNmMjU3ZWUuLmNlYTQ3YTAxZDZi
ZDIyNWUwYzU5ZDY0YTI1YTdkODcyNWJiNjU3ZDUgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2NSBA
QAorMjAxMi0wNi0yOSAgQ2hyaXMgUm9nZXJzICA8Y3JvZ2Vyc0Bnb29nbGUuY29tPgorCisgICAg
ICAgIEFsbG93IEF1ZGlvRGVzdGluYXRpb24gdG8gc3VwcG9ydCBsb2NhbC9saXZlIGF1ZGlvIGlu
cHV0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDMx
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
Q29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICBBZGQgQXVkaW9JT0NhbGxi
YWNrLmggdG8gbWFrZSBmaWxlcy4KKyAgICAgICAgCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRp
by9BdWRpb0Rlc3RpbmF0aW9uTm9kZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVk
aW9EZXN0aW5hdGlvbk5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9EZXN0aW5hdGlv
bk5vZGU6OnJlbmRlcik6CisgICAgICAgIENoYW5nZSBwcm92aWRlSW5wdXQoKSBtZXRob2QgdG8g
cmVuZGVyKCkgdG8gc3VwcG9ydCBvcHRpb25hbCBhdWRpbyBpbnB1dC4KKworICAgICAgICAoQXVk
aW9EZXN0aW5hdGlvbk5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9EZXN0aW5hdGlvbk5v
ZGU6OmxvY2FsQXVkaW9JbnB1dFByb3ZpZGVyKToKKyAgICAgICAgRXhwb3NlIHB1YmxpYyBhY2Nl
c3MgdG8gYW4gQXVkaW9Tb3VyY2VQcm92aWRlciBmb3IgbG9jYWwvbGl2ZSBhdWRpbyBpbnB1dC4K
KworICAgICAgICAoTG9jYWxBdWRpb0lucHV0UHJvdmlkZXIpOgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9EZXN0aW5hdGlvbk5vZGU6OkxvY2FsQXVkaW9JbnB1dFByb3ZpZGVyOjpMb2NhbEF1ZGlv
SW5wdXRQcm92aWRlcik6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0Rlc3RpbmF0aW9uTm9kZTo6
TG9jYWxBdWRpb0lucHV0UHJvdmlkZXI6OnNldCk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0Rl
c3RpbmF0aW9uTm9kZTo6TG9jYWxBdWRpb0lucHV0UHJvdmlkZXI6OnByb3ZpZGVJbnB1dCk6Cisg
ICAgICAgIEFkZCBzaW1wbGUgQXVkaW9Tb3VyY2VQcm92aWRlciBpbXBsZW1lbnRhdGlvbiB3aGlj
aCBkaXNoZXMgb3V0IGEgc2luZ2xlIEF1ZGlvQnVzIGVhY2gKKyAgICAgICAgcmVuZGVyIHF1YW50
dW0gZm9yIG9wdGlvbmFsIGxvY2FsL2xpdmUgYXVkaW8gaW5wdXQuCisKKyAgICAgICAgKiBNb2R1
bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oOgorICAgICAgICAqIE1v
ZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok9mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZTo6c3RhcnRSZW5kZXJpbmcpOgor
ICAgICAgICAoV2ViQ29yZTo6T2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpvZmZsaW5lUmVu
ZGVyRW50cnkpOgorICAgICAgICAoV2ViQ29yZTo6T2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2Rl
OjpvZmZsaW5lUmVuZGVyKToKKyAgICAgICAgU2ltcGxlIG5hbWUgY2hhbmdlIHVzaW5nICJvZmZs
aW5lIiBwcmVmaXggdG8gYXZvaWQgY29uZnVzaW9uIHdpdGggQXVkaW9EZXN0aW5hdGlvbk5vZGU6
OnJlbmRlcigpIG1ldGhvZCAoaW1wbGVtZW50aW5nIEF1ZGlvSU9DYWxsYmFjaykKKworICAgICAg
ICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvRGVzdGluYXRpb24uaDoKKyAgICAgICAgU3dpdGNoIGNy
ZWF0ZSgpIG1ldGhvZCB0byB0YWtlIGFuIEF1ZGlvSU9DYWxsYmFjayBpbnN0ZWFkIG9mIEF1ZGlv
U291cmNlUHJvdmlkZXIuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0lPQ2FsbGJh
Y2suaDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvSU9DYWxsYmFjazo6fkF1ZGlvSU9DYWxsYmFj
ayk6CisgICAgICAgIEFkZCBuZXcgQXVkaW9JT0NhbGxiYWNrIGludGVyZmFjZSBmb3IgYXVkaW8g
aW5wdXQvb3V0cHV0LgorCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlv
RGVzdGluYXRpb25HU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9EZXN0aW5h
dGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRGVzdGluYXRpb25HU3RyZWFt
ZXI6OkF1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlv
L2dzdHJlYW1lci9BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyLmg6CisgICAgICAgIChBdWRpb0Rl
c3RpbmF0aW9uR1N0cmVhbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvRGVzdGluYXRpb25H
U3RyZWFtZXI6OmNhbGxiYWNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIv
V2ViS2l0V2ViQXVkaW9Tb3VyY2VHU3RyZWFtZXIuY3BwOgorICAgICAgICAoX1dlYktpdFdlYkF1
ZGlvU291cmNlUHJpdmF0ZSk6CisgICAgICAgICh3ZWJLaXRXZWJBdWRpb1NyY1NldFByb3BlcnR5
KToKKyAgICAgICAgKHdlYktpdFdlYkF1ZGlvU3JjTG9vcCk6CisgICAgICAgIFNtYWxsIHR3ZWFr
cyB0byBBdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyIGltcGxlbWVudGF0aW9uIHRvIGFjY291bnQg
Zm9yIHN3aXRjaCB0byBBdWRpb0lPQ2FsbGJhY2suCisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRp
by9tYWMvQXVkaW9EZXN0aW5hdGlvbk1hYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0Rl
c3RpbmF0aW9uOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9EZXN0aW5hdGlvbk1h
Yzo6QXVkaW9EZXN0aW5hdGlvbk1hYyk6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0Rlc3RpbmF0
aW9uTWFjOjpyZW5kZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb0Rlc3Rp
bmF0aW9uTWFjLmg6CisgICAgICAgIChBdWRpb0Rlc3RpbmF0aW9uTWFjKToKKyAgICAgICAgU21h
bGwgdHdlYWtzIHRvIEF1ZGlvRGVzdGluYXRpb25NYWMgaW1wbGVtZW50YXRpb24gdG8gYWNjb3Vu
dCBmb3Igc3dpdGNoIHRvIEF1ZGlvSU9DYWxsYmFjay4KKwogMjAxMi0wNi0yNyAgSWFuIFZvbGxp
Y2sgIDx2b2xsaWNrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIEFsbG93IHNj
cmVlbiBzcGFjZSByZWN0cyBhbmQgb2NjbHVkaW5nIHJlY3RzIHRvIGJlIHZpc3VhbGl6ZWQgZm9y
IGRlYnVnZ2luZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggODE3ZDJhOTE4YTNjZmFl
NjkzMGI1YWNlNWM2OGEzZDAyMjlkODdiNy4uZTBmZDg0ZjMxMmRiNjA3NmY2ZWZlODJiMzhjMWQ2
OTA3Y2EzMmE5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAor
MjAxMi0wNi0yOSAgQ2hyaXMgUm9nZXJzICA8Y3JvZ2Vyc0Bnb29nbGUuY29tPgorCisgICAgICAg
IEFsbG93IEF1ZGlvRGVzdGluYXRpb24gdG8gc3VwcG9ydCBsb2NhbC9saXZlIGF1ZGlvIGlucHV0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDMxOAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3JjL0F1
ZGlvRGVzdGluYXRpb25DaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb0Rlc3Rp
bmF0aW9uOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9EZXN0aW5hdGlvbkNocm9t
aXVtOjpBdWRpb0Rlc3RpbmF0aW9uQ2hyb21pdW0pOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9E
ZXN0aW5hdGlvbkNocm9taXVtOjpwcm92aWRlSW5wdXQpOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogc3JjL0F1ZGlvRGVzdGluYXRpb25DaHJvbWl1bS5oOgorICAgICAgICAoQXVkaW9E
ZXN0aW5hdGlvbkNocm9taXVtKToKKwogMjAxMi0wNi0yNyAgSm9zaHVhIEJlbGwgIDxqc2JlbGxA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gSW5kZXhlZERCOiBFeHBvc2UgV2Vi
SURCVHJhbnNhY3Rpb246OmNvbW1pdCgpIG1ldGhvZCBpbiBwdWJsaWMgQVBJCmRpZmYgLS1naXQg
YS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkF1ZGlvRGV2aWNlLmggYi9Tb3Vy
Y2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkF1ZGlvRGV2aWNlLmgKaW5kZXggMDBhZWE5
NzVmZTUwNDMzNTA0ODZjZDViYzBlZDI4MjU1NDkyYjA1MC4uYWIzZTU4NzViMDM3OWQxOGUwMjFj
NTU1NTk5MjExNzZmMzYwZDA2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVt
L3B1YmxpYy9XZWJBdWRpb0RldmljZS5oCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9w
dWJsaWMvV2ViQXVkaW9EZXZpY2UuaApAQCAtMzksNyArMzksMTEgQEAgY2xhc3MgV2ViQXVkaW9E
ZXZpY2UgewogcHVibGljOgogICAgIGNsYXNzIFJlbmRlckNhbGxiYWNrIHsKICAgICBwdWJsaWM6
CisgICAgICAgIHZpcnR1YWwgdm9pZCByZW5kZXIoY29uc3QgV2ViVmVjdG9yPGZsb2F0Kj4mIHNv
dXJjZURhdGEsIGNvbnN0IFdlYlZlY3RvcjxmbG9hdCo+JiBkZXN0aW5hdGlvbkRhdGEsIHNpemVf
dCBudW1iZXJPZkZyYW1lcykgeyB9OworCisgICAgICAgIC8vIEZJWE1FOiB0byBiZSByZW1vdmVk
IG9uY2Ugd2Ugc3dpdGNoIG92ZXIgdG8gbmV3ZXIgcmVuZGVyKCkgbWV0aG9kIGhhbmRsaW5nIGJv
dGggYXVkaW8gb3V0cHV0IGFuZCAob3B0aW9uYWwpIGlucHV0LgogICAgICAgICB2aXJ0dWFsIHZv
aWQgcmVuZGVyKGNvbnN0IFdlYlZlY3RvcjxmbG9hdCo+JiBhdWRpb0RhdGEsIHNpemVfdCBudW1i
ZXJPZkZyYW1lcykgPSAwOworCiAgICAgcHJvdGVjdGVkOgogICAgICAgICB2aXJ0dWFsIH5SZW5k
ZXJDYWxsYmFjaygpIHsgfQogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRl
eCAzNWVjMmVjMTU1NmY0NGYyNmYxOWQxOWRmMTczYmM3N2U0M2YyYzhlLi4xZDlkNTU5MjE3OWMz
NzQ3NTk3Zjk2ZDQxMGE4OTM0YjgwNjA0Mjc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KQEAgLTU3MTcsNiArNTcxNyw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9EU1BLZXJuZWxQcm9jZXNzb3IuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0RTUEtlcm5lbFByb2Nlc3Nvci5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0ZpbGVSZWFkZXIuaCBcCisJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9JT0NhbGxiYWNrLmggXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvUHJvY2Vzc29yLmggXAogCVNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0F1ZGlvUmVzYW1wbGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vQXVkaW9SZXNhbXBsZXIuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCmluZGV4IDZmNDg5YjJh
OTIzNjQ1MjUyYjMyYWJhZjY3ODc0ZmM0MzcyYjMyZjIuLjJkM2VlZjYwZGE4ODQ5MjRiNTYzNTQ0
OGVlZWY1ZGYxYTQ3NjFiNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwCkBAIC0yOCw3ICsyOCw2IEBACiAK
ICNpbmNsdWRlICJBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oIgogCi0jaW5jbHVkZSAiQXVkaW9CdXMu
aCIKICNpbmNsdWRlICJBdWRpb0NvbnRleHQuaCIKICNpbmNsdWRlICJBdWRpb05vZGVJbnB1dC5o
IgogI2luY2x1ZGUgIkF1ZGlvTm9kZU91dHB1dC5oIgpAQCAtNTEsOCArNTAsNyBAQCBBdWRpb0Rl
c3RpbmF0aW9uTm9kZTo6fkF1ZGlvRGVzdGluYXRpb25Ob2RlKCkKICAgICB1bmluaXRpYWxpemUo
KTsKIH0KIAotLy8gVGhlIGF1ZGlvIGhhcmR3YXJlIGNhbGxzIHVzIGJhY2sgaGVyZSB0byBnZXRz
IGl0cyBpbnB1dCBzdHJlYW0uCi12b2lkIEF1ZGlvRGVzdGluYXRpb25Ob2RlOjpwcm92aWRlSW5w
dXQoQXVkaW9CdXMqIGRlc3RpbmF0aW9uQnVzLCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMpCit2b2lk
IEF1ZGlvRGVzdGluYXRpb25Ob2RlOjpyZW5kZXIoQXVkaW9CdXMqIHNvdXJjZUJ1cywgQXVkaW9C
dXMqIGRlc3RpbmF0aW9uQnVzLCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMpCiB7CiAgICAgLy8gV2Ug
ZG9uJ3Qgd2FudCBkZW5vcm1hbHMgc2xvd2luZyBkb3duIGFueSBvZiB0aGUgYXVkaW8gcHJvY2Vz
c2luZwogICAgIC8vIHNpbmNlIHRoZXkgY2FuIHZlcnkgc2VyaW91c2x5IGh1cnQgcGVyZm9ybWFu
Y2UuCkBAIC02OSw2ICs2NywxMCBAQCB2b2lkIEF1ZGlvRGVzdGluYXRpb25Ob2RlOjpwcm92aWRl
SW5wdXQoQXVkaW9CdXMqIGRlc3RpbmF0aW9uQnVzLCBzaXplX3QgbnVtYmVyTwogICAgIC8vIExl
dCB0aGUgY29udGV4dCB0YWtlIGNhcmUgb2YgYW55IGJ1c2luZXNzIGF0IHRoZSBzdGFydCBvZiBl
YWNoIHJlbmRlciBxdWFudHVtLgogICAgIGNvbnRleHQoKS0+aGFuZGxlUHJlUmVuZGVyVGFza3Mo
KTsKIAorICAgIC8vIFByZXBhcmUgdGhlIGxvY2FsIGF1ZGlvIGlucHV0IHByb3ZpZGVyIGZvciB0
aGlzIHJlbmRlciBxdWFudHVtLgorICAgIGlmIChzb3VyY2VCdXMpCisgICAgICAgIG1fbG9jYWxB
dWRpb0lucHV0UHJvdmlkZXIuc2V0KHNvdXJjZUJ1cyk7CisKICAgICAvLyBUaGlzIHdpbGwgY2F1
c2UgdGhlIG5vZGUocykgY29ubmVjdGVkIHRvIHVzIHRvIHByb2Nlc3MsIHdoaWNoIGluIHR1cm4g
d2lsbCBwdWxsIG9uIHRoZWlyIGlucHV0KHMpLAogICAgIC8vIGFsbCB0aGUgd2F5IGJhY2t3YXJk
cyB0aHJvdWdoIHRoZSByZW5kZXJpbmcgZ3JhcGguCiAgICAgQXVkaW9CdXMqIHJlbmRlcmVkQnVz
ID0gaW5wdXQoMCktPnB1bGwoZGVzdGluYXRpb25CdXMsIG51bWJlck9mRnJhbWVzKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5v
ZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5v
ZGUuaAppbmRleCBkYTdlMjVhOTE2MGU3N2MyZmMxYmM1YTFhMTBlNjYzOWU5YTM4NGM2Li4yYjky
OWE0ZWY5MzM1YjJhZThmZTY0OWM4MjU5MjBlM2Y0MmM2OTY5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvRGVzdGluYXRpb25Ob2RlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Rlc3RpbmF0aW9uTm9kZS5oCkBAIC0y
Niw2ICsyNiw4IEBACiAjZGVmaW5lIEF1ZGlvRGVzdGluYXRpb25Ob2RlX2gKIAogI2luY2x1ZGUg
IkF1ZGlvQnVmZmVyLmgiCisjaW5jbHVkZSAiQXVkaW9CdXMuaCIKKyNpbmNsdWRlICJBdWRpb0lP
Q2FsbGJhY2suaCIKICNpbmNsdWRlICJBdWRpb05vZGUuaCIKICNpbmNsdWRlICJBdWRpb1NvdXJj
ZVByb3ZpZGVyLmgiCiAKQEAgLTM0LDcgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgQXVkaW9CdXM7CiBjbGFzcyBBdWRpb0NvbnRleHQ7CiAgICAgCi1jbGFzcyBBdWRpb0Rlc3Rp
bmF0aW9uTm9kZSA6IHB1YmxpYyBBdWRpb05vZGUsIHB1YmxpYyBBdWRpb1NvdXJjZVByb3ZpZGVy
IHsKK2NsYXNzIEF1ZGlvRGVzdGluYXRpb25Ob2RlIDogcHVibGljIEF1ZGlvTm9kZSwgcHVibGlj
IEF1ZGlvSU9DYWxsYmFjayB7CiBwdWJsaWM6CiAgICAgQXVkaW9EZXN0aW5hdGlvbk5vZGUoQXVk
aW9Db250ZXh0KiwgZmxvYXQgc2FtcGxlUmF0ZSk7CiAgICAgdmlydHVhbCB+QXVkaW9EZXN0aW5h
dGlvbk5vZGUoKTsKQEAgLTQzLDggKzQ1LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBw
cm9jZXNzKHNpemVfdCkgeyB9OyAvLyB3ZSdyZSBwdWxsZWQgYnkgaGFyZHdhcmUgc28gdGhpcyBp
cyBuZXZlciBjYWxsZWQKICAgICB2aXJ0dWFsIHZvaWQgcmVzZXQoKSB7IG1fY3VycmVudFNhbXBs
ZUZyYW1lID0gMDsgfTsKICAgICAKLSAgICAvLyBUaGUgYXVkaW8gaGFyZHdhcmUgY2FsbHMgaGVy
ZSBwZXJpb2RpY2FsbHkgdG8gZ2V0cyBpdHMgaW5wdXQgc3RyZWFtLgotICAgIHZpcnR1YWwgdm9p
ZCBwcm92aWRlSW5wdXQoQXVkaW9CdXMqLCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMpOworICAgIC8v
IFRoZSBhdWRpbyBoYXJkd2FyZSBjYWxscyByZW5kZXIoKSB0byBnZXQgdGhlIG5leHQgcmVuZGVy
IHF1YW50dW0gb2YgYXVkaW8gaW50byBkZXN0aW5hdGlvbkJ1cy4KKyAgICAvLyBJdCB3aWxsIG9w
dGlvbmFsbHkgZ2l2ZSB1cyBsb2NhbC9saXZlIGF1ZGlvIGlucHV0IGluIHNvdXJjZUJ1cyAoaWYg
aXQncyBub3QgMCkuCisgICAgdmlydHVhbCB2b2lkIHJlbmRlcihBdWRpb0J1cyogc291cmNlQnVz
LCBBdWRpb0J1cyogZGVzdGluYXRpb25CdXMsIHNpemVfdCBudW1iZXJPZkZyYW1lcyk7CiAKICAg
ICBzaXplX3QgY3VycmVudFNhbXBsZUZyYW1lKCkgY29uc3QgeyByZXR1cm4gbV9jdXJyZW50U2Ft
cGxlRnJhbWU7IH0KICAgICBkb3VibGUgY3VycmVudFRpbWUoKSBjb25zdCB7IHJldHVybiBjdXJy
ZW50U2FtcGxlRnJhbWUoKSAvIHN0YXRpY19jYXN0PGRvdWJsZT4oc2FtcGxlUmF0ZSgpKTsgfQpA
QCAtNTIsMTMgKzU1LDQ1IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHVuc2lnbmVkIG51bWJlck9m
Q2hhbm5lbHMoKSBjb25zdCB7IHJldHVybiAyOyB9IC8vIEZJWE1FOiB1cGRhdGUgd2hlbiBtdWx0
aS1jaGFubmVsIChtb3JlIHRoYW4gc3RlcmVvKSBpcyBzdXBwb3J0ZWQKIAogICAgIHZpcnR1YWwg
dm9pZCBzdGFydFJlbmRlcmluZygpID0gMDsKKworICAgIEF1ZGlvU291cmNlUHJvdmlkZXIqIGxv
Y2FsQXVkaW9JbnB1dFByb3ZpZGVyKCkgeyByZXR1cm4gJm1fbG9jYWxBdWRpb0lucHV0UHJvdmlk
ZXI7IH0KICAgICAKIHByb3RlY3RlZDoKKyAgICAvLyBMb2NhbEF1ZGlvSW5wdXRQcm92aWRlciBh
bGxvd3MgdXMgdG8gZXhwb3NlIGFuIEF1ZGlvU291cmNlUHJvdmlkZXIgZm9yIGxvY2FsL2xpdmUg
YXVkaW8gaW5wdXQuCisgICAgLy8gSWYgdGhlcmUgaXMgbG9jYWwvbGl2ZSBhdWRpbyBpbnB1dCwg
d2UgY2FsbCBzZXQoKSB3aXRoIHRoZSBhdWRpbyBpbnB1dCBkYXRhIGV2ZXJ5IHJlbmRlciBxdWFu
dHVtLgorICAgIGNsYXNzIExvY2FsQXVkaW9JbnB1dFByb3ZpZGVyIDogcHVibGljIEF1ZGlvU291
cmNlUHJvdmlkZXIgeworICAgIHB1YmxpYzoKKyAgICAgICAgTG9jYWxBdWRpb0lucHV0UHJvdmlk
ZXIoKQorICAgICAgICAgICAgOiBtX3NvdXJjZUJ1cygyLCBBdWRpb05vZGU6OlByb2Nlc3NpbmdT
aXplSW5GcmFtZXMpIC8vIEZJWE1FOiBoYW5kbGUgbm9uLXN0ZXJlbyBsb2NhbCBpbnB1dC4KKyAg
ICAgICAgeworICAgICAgICB9CisKKyAgICAgICAgdm9pZCBzZXQoQXVkaW9CdXMqIGJ1cykKKyAg
ICAgICAgeworICAgICAgICAgICAgaWYgKGJ1cykKKyAgICAgICAgICAgICAgICBtX3NvdXJjZUJ1
cy5jb3B5RnJvbSgqYnVzKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIEF1ZGlvU291cmNlUHJv
dmlkZXIuCisgICAgICAgIHZpcnR1YWwgdm9pZCBwcm92aWRlSW5wdXQoQXVkaW9CdXMqIGRlc3Rp
bmF0aW9uQnVzLCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMpCisgICAgICAgIHsKKyAgICAgICAgICAg
IGJvb2wgaXNHb29kID0gZGVzdGluYXRpb25CdXMgJiYgZGVzdGluYXRpb25CdXMtPmxlbmd0aCgp
ID09IG51bWJlck9mRnJhbWVzICYmIG1fc291cmNlQnVzLmxlbmd0aCgpID09IG51bWJlck9mRnJh
bWVzOworICAgICAgICAgICAgQVNTRVJUKGlzR29vZCk7CisgICAgICAgICAgICBpZiAoaXNHb29k
KQorICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uQnVzLT5jb3B5RnJvbShtX3NvdXJjZUJ1cyk7
CisgICAgICAgIH0KKworICAgIHByaXZhdGU6CisgICAgICAgIEF1ZGlvQnVzIG1fc291cmNlQnVz
OworICAgIH07CisKICAgICB2aXJ0dWFsIGRvdWJsZSB0YWlsVGltZSgpIGNvbnN0IE9WRVJSSURF
IHsgcmV0dXJuIDA7IH0KICAgICB2aXJ0dWFsIGRvdWJsZSBsYXRlbmN5VGltZSgpIGNvbnN0IE9W
RVJSSURFIHsgcmV0dXJuIDA7IH0KIAogICAgIC8vIENvdW50cyB0aGUgbnVtYmVyIG9mIHNhbXBs
ZS1mcmFtZXMgcHJvY2Vzc2VkIGJ5IHRoZSBkZXN0aW5hdGlvbi4KICAgICBzaXplX3QgbV9jdXJy
ZW50U2FtcGxlRnJhbWU7CisKKyAgICBMb2NhbEF1ZGlvSW5wdXRQcm92aWRlciBtX2xvY2FsQXVk
aW9JbnB1dFByb3ZpZGVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0aW5hdGlv
bk5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9E
ZXN0aW5hdGlvbk5vZGUuY3BwCmluZGV4IGE0MGU2MDU3YmJmMDY5NDFiMDE1ZjBiM2QxNjZmOGM4
ZjY4NjJmNTUuLjA4M2Q5YmJlOTgxOTMxMGZiOTk5OWE0NDk2MDU1YWM0ZTMwMzY4N2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvRGVzdGlu
YXRpb25Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxp
bmVBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKQEAgLTg1LDE5ICs4NSwxOSBAQCB2b2lkIE9mZmxp
bmVBdWRpb0Rlc3RpbmF0aW9uTm9kZTo6c3RhcnRSZW5kZXJpbmcoKQogICAgIGlmICghbV9zdGFy
dGVkUmVuZGVyaW5nKSB7CiAgICAgICAgIG1fc3RhcnRlZFJlbmRlcmluZyA9IHRydWU7CiAgICAg
ICAgIHJlZigpOyAvLyBTZWUgY29ycmVzcG9uZGluZyBkZXJlZigpIGNhbGwgaW4gbm90aWZ5Q29t
cGxldGVEaXNwYXRjaCgpLgotICAgICAgICBtX3JlbmRlclRocmVhZCA9IGNyZWF0ZVRocmVhZChP
ZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGU6OnJlbmRlckVudHJ5LCB0aGlzLCAib2ZmbGluZSBy
ZW5kZXJlciIpOworICAgICAgICBtX3JlbmRlclRocmVhZCA9IGNyZWF0ZVRocmVhZChPZmZsaW5l
QXVkaW9EZXN0aW5hdGlvbk5vZGU6Om9mZmxpbmVSZW5kZXJFbnRyeSwgdGhpcywgIm9mZmxpbmUg
cmVuZGVyZXIiKTsKICAgICB9CiB9CiAKIC8vIERvIG9mZmxpbmUgcmVuZGVyaW5nIGluIHRoaXMg
dGhyZWFkLgotdm9pZCBPZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGU6OnJlbmRlckVudHJ5KHZv
aWQqIHRocmVhZERhdGEpCit2b2lkIE9mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZTo6b2ZmbGlu
ZVJlbmRlckVudHJ5KHZvaWQqIHRocmVhZERhdGEpCiB7CiAgICAgT2ZmbGluZUF1ZGlvRGVzdGlu
YXRpb25Ob2RlKiBkZXN0aW5hdGlvbk5vZGUgPSByZWludGVycHJldF9jYXN0PE9mZmxpbmVBdWRp
b0Rlc3RpbmF0aW9uTm9kZSo+KHRocmVhZERhdGEpOwogICAgIEFTU0VSVChkZXN0aW5hdGlvbk5v
ZGUpOwotICAgIGRlc3RpbmF0aW9uTm9kZS0+cmVuZGVyKCk7CisgICAgZGVzdGluYXRpb25Ob2Rl
LT5vZmZsaW5lUmVuZGVyKCk7CiB9CiAKLXZvaWQgT2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2Rl
OjpyZW5kZXIoKQordm9pZCBPZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGU6Om9mZmxpbmVSZW5k
ZXIoKQogewogICAgIEFTU0VSVCghaXNNYWluVGhyZWFkKCkpOwogICAgIEFTU0VSVChtX3JlbmRl
ckJ1cy5nZXQoKSk7CkBAIC0xMzEsNyArMTMxLDcgQEAgdm9pZCBPZmZsaW5lQXVkaW9EZXN0aW5h
dGlvbk5vZGU6OnJlbmRlcigpCiAgICAgdW5zaWduZWQgbiA9IDA7CiAgICAgd2hpbGUgKGZyYW1l
c1RvUHJvY2VzcyA+IDApIHsKICAgICAgICAgLy8gUmVuZGVyIG9uZSByZW5kZXIgcXVhbnR1bS4K
LSAgICAgICAgcHJvdmlkZUlucHV0KG1fcmVuZGVyQnVzLmdldCgpLCByZW5kZXJRdWFudHVtU2l6
ZSk7CisgICAgICAgIHJlbmRlcigwLCBtX3JlbmRlckJ1cy5nZXQoKSwgcmVuZGVyUXVhbnR1bVNp
emUpOwogICAgICAgICAKICAgICAgICAgc2l6ZV90IGZyYW1lc0F2YWlsYWJsZVRvQ29weSA9IG1p
bihmcmFtZXNUb1Byb2Nlc3MsIHJlbmRlclF1YW50dW1TaXplKTsKICAgICAgICAgCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Rlc3RpbmF0
aW9uTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9E
ZXN0aW5hdGlvbk5vZGUuaAppbmRleCBjMmRhNmZmZmM0ZWMxZWI0MzRmNGIxOWZlMWQ0M2U2MDYw
NDkxYjAzLi42N2VkMjQxMzA0YTc1Mzk1NGQyMzg4NDEyZDFkZjA0NjZhMjI0MmEwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Rlc3RpbmF0
aW9uTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1
ZGlvRGVzdGluYXRpb25Ob2RlLmgKQEAgLTY0LDggKzY0LDggQEAgcHJpdmF0ZToKICAgICAvLyBS
ZW5kZXJpbmcgdGhyZWFkLgogICAgIHZvbGF0aWxlIFRocmVhZElkZW50aWZpZXIgbV9yZW5kZXJU
aHJlYWQ7CiAgICAgYm9vbCBtX3N0YXJ0ZWRSZW5kZXJpbmc7Ci0gICAgc3RhdGljIHZvaWQgcmVu
ZGVyRW50cnkodm9pZCogdGhyZWFkRGF0YSk7Ci0gICAgdm9pZCByZW5kZXIoKTsKKyAgICBzdGF0
aWMgdm9pZCBvZmZsaW5lUmVuZGVyRW50cnkodm9pZCogdGhyZWFkRGF0YSk7CisgICAgdm9pZCBv
ZmZsaW5lUmVuZGVyKCk7CiAgICAgCiAgICAgLy8gRm9yIGNvbXBsZXRpb24gY2FsbGJhY2sgb24g
bWFpbiB0aHJlYWQuCiAgICAgc3RhdGljIHZvaWQgbm90aWZ5Q29tcGxldGVEaXNwYXRjaCh2b2lk
KiB1c2VyRGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMTA1NGUwNzI1NWNhNzZhYjhiZGU1ZTRj
MDI5YTk2NWU5ZDMwMjgwNS4uMzQ5Mjc1YWViNWNlNGVkM2U1M2NmYmFjNWM1NjNmMDc0YWJjNjk3
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMzI1NSw2ICszMjU1LDcgQEAKICAgICAgICAgICAgICdw
bGF0Zm9ybS9hdWRpby9BdWRpb0RTUEtlcm5lbFByb2Nlc3Nvci5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9hdWRpby9BdWRpb0Rlc3RpbmF0aW9uLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L2F1ZGlvL0F1ZGlvRmlsZVJlYWRlci5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9hdWRpby9B
dWRpb0lPQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vYXVkaW8vQXVkaW9Qcm9j
ZXNzb3IuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vYXVkaW8vQXVkaW9QdWxsRklGTy5jcHAn
LAogICAgICAgICAgICAgJ3BsYXRmb3JtL2F1ZGlvL0F1ZGlvUHVsbEZJRk8uaCcsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMmRk
MzU4YzY4MjJiN2M5OGRkZGYzNjdiMTAxNjVjODE4ZDI4ZDZmNy4uZTlkNGUyNzZkZWUzMWViZjJl
OGE0NzI1YTNiMTBlM2YxN2NjMWQwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjQ0MCw2ICs2NDQwLDcgQEAKIAkJRkRCMTcw
MDYxNEEyQkFCMjAwQTJCNUQ5IC8qIE11bHRpQ2hhbm5lbFJlc2FtcGxlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkRCMTcwMDQxNEEyQkFCMjAwQTJC
NUQ5IC8qIE11bHRpQ2hhbm5lbFJlc2FtcGxlci5oICovOyB9OwogCQlGREM1NEYwNDEzOTlCMERB
MDA4RDkxMTcgLyogQmlxdWFkRmlsdGVyTm9kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGREM1NEYwMTEzOTlCMERBMDA4RDkxMTcgLyogQmlxdWFk
RmlsdGVyTm9kZS5jcHAgKi87IH07CiAJCUZEQzU0RjA1MTM5OUIwREEwMDhEOTExNyAvKiBCaXF1
YWRGaWx0ZXJOb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGREM1NEYwMjEzOTlCMERBMDA4RDkxMTcgLyogQmlxdWFkRmlsdGVyTm9kZS5oICovOyB9
OworCQlGREUyRDU1QjE1OUU2NkVCMDBEQ0NDRjggLyogQXVkaW9JT0NhbGxiYWNrLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGREUyRDU1QTE1OUU2NkVC
MDBEQ0NDRjggLyogQXVkaW9JT0NhbGxiYWNrLmggKi87IH07CiAJCUZERUE2MjQyMTUyMTAyRTIw
MDQ3OURGMCAvKiBKU09zY2lsbGF0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRkRFQTYyNDAxNTIxMDJFMjAwNDc5REYwIC8qIEpTT3NjaWxsYXRv
ci5jcHAgKi87IH07CiAJCUZERUE2MjQzMTUyMTAyRTIwMDQ3OURGMCAvKiBKU09zY2lsbGF0b3Iu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZERUE2MjQx
MTUyMTAyRTIwMDQ3OURGMCAvKiBKU09zY2lsbGF0b3IuaCAqLzsgfTsKIAkJRkRFQTYyNDYxNTIx
MDJGQzAwNDc5REYwIC8qIEpTV2F2ZVRhYmxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZERUE2MjQ0MTUyMTAyRkMwMDQ3OURGMCAvKiBKU1dhdmVU
YWJsZS5jcHAgKi87IH07CkBAIC0xMzc2MCw2ICsxMzc2MSw3IEBACiAJCUZEQzU0RjAxMTM5OUIw
REEwMDhEOTExNyAvKiBCaXF1YWRGaWx0ZXJOb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEJpcXVhZEZpbHRlck5vZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGREM1NEYwMjEzOTlCMERBMDA4RDkxMTcgLyogQmlxdWFkRmlsdGVyTm9kZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCaXF1YWRGaWx0ZXJOb2RlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZEQzU0RjAzMTM5OUIwREEwMDhEOTExNyAvKiBC
aXF1YWRGaWx0ZXJOb2RlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBCaXF1YWRGaWx0ZXJO
b2RlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkRFMkQ1NUExNTlFNjZFQjAw
RENDQ0Y4IC8qIEF1ZGlvSU9DYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBBdWRpb0lPQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkRF
QTYyNDAxNTIxMDJFMjAwNDc5REYwIC8qIEpTT3NjaWxsYXRvci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU09zY2lsbGF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGREVBNjI0MTE1MjEwMkUyMDA0NzlERjAgLyogSlNPc2NpbGxhdG9yLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTT3NjaWxsYXRvci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlGREVBNjI0NDE1MjEwMkZDMDA0NzlERjAgLyogSlNXYXZl
VGFibGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNXYXZlVGFi
bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjE3NjQsNiArMjE3NjYsNyBA
QAogCQkJCUZEMzE2MDRCMTJCMDI2RjcwMEMxQTM1OSAvKiBBdWRpb0RTUEtlcm5lbFByb2Nlc3Nv
ci5jcHAgKi8sCiAJCQkJRkQzMTYwNEMxMkIwMjZGNzAwQzFBMzU5IC8qIEF1ZGlvRFNQS2VybmVs
UHJvY2Vzc29yLmggKi8sCiAJCQkJRkQzMTYwNEQxMkIwMjZGNzAwQzFBMzU5IC8qIEF1ZGlvRmls
ZVJlYWRlci5oICovLAorCQkJCUZERTJENTVBMTU5RTY2RUIwMERDQ0NGOCAvKiBBdWRpb0lPQ2Fs
bGJhY2suaCAqLywKIAkJCQlGRDMxNjA0RTEyQjAyNkY3MDBDMUEzNTkgLyogQXVkaW9Qcm9jZXNz
b3IuaCAqLywKIAkJCQlGRDMxNjA0RjEyQjAyNkY3MDBDMUEzNTkgLyogQXVkaW9SZXNhbXBsZXIu
Y3BwICovLAogCQkJCUZEMzE2MDUwMTJCMDI2RjcwMEMxQTM1OSAvKiBBdWRpb1Jlc2FtcGxlci5o
ICovLApAQCAtMjUxNTUsNiArMjUxNTgsNyBAQAogCQkJCTUwOTg3QzI3MTU3RDY3NkQwMEJEQTgz
NSAvKiBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQk0RjMy
QkIxQjE0RkE4NUU4MDBGNkMxQTMgLyogTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBODgyREEyMzE1OTM4NDhEMDAwMTE1RUQgLyogQ1NTVG9TdHlsZU1hcC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJRkRFMkQ1NUIxNTlFNjZFQjAwRENDQ0Y4IC8qIEF1ZGlvSU9DYWxs
YmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9BdWRpb0Rlc3RpbmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9BdWRpb0Rlc3RpbmF0aW9uLmgKaW5kZXggNzU4ODJjMGE2MzVmZjNmODc3NGM1MjljNzQwNGYx
ZGVkMWQ1M2MzMy4uNzNjZGIzMjQ4NzU1OTI1Y2YyNzkyNTRlZjI0MmQyODA2Y2I5YzkxMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9EZXN0aW5hdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvRGVzdGluYXRpb24uaApA
QCAtMzQsMTQgKzM0LDE1IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQXVkaW9T
b3VyY2VQcm92aWRlcjsKK2NsYXNzIEF1ZGlvSU9DYWxsYmFjazsKIAotLy8gQWJzdHJhY3Rpb24g
Zm9yIGFuIGF1ZGlvIG91dHB1dCB0byB0aGUgYXVkaW8gaGFyZHdhcmUKLS8vIEFuIEF1ZGlvU291
cmNlUHJvdmlkZXIgaXMgY2FsbGVkIGJhY2sgcGVyaW9kaWNhbGx5IHRvIHByb3ZpZGUgdGhlIHJl
bmRlcmVkIGF1ZGlvIHN0cmVhbS4KKy8vIEF1ZGlvRGVzdGluYXRpb24gaXMgYW4gYWJzdHJhY3Rp
b24gZm9yIGF1ZGlvIGhhcmR3YXJlIEkvTy4KKy8vIFRoZSBhdWRpbyBoYXJkd2FyZSBwZXJpb2Rp
Y2FsbHkgY2FsbHMgdGhlIEF1ZGlvSU9DYWxsYmFjayByZW5kZXIoKSBtZXRob2QgYXNraW5nIGl0
IHRvIHJlbmRlci9vdXRwdXQgdGhlIG5leHQgcmVuZGVyIHF1YW50dW0gb2YgYXVkaW8uCisvLyBJ
dCBvcHRpb25hbGx5IHdpbGwgcGFzcyBpbiBsb2NhbC9saXZlIGF1ZGlvIGlucHV0IHdoZW4gaXQg
Y2FsbHMgcmVuZGVyKCkuCiAKIGNsYXNzIEF1ZGlvRGVzdGluYXRpb24gewogcHVibGljOgotICAg
IHN0YXRpYyBQYXNzT3duUHRyPEF1ZGlvRGVzdGluYXRpb24+IGNyZWF0ZShBdWRpb1NvdXJjZVBy
b3ZpZGVyJiwgZmxvYXQgc2FtcGxlUmF0ZSk7CisgICAgc3RhdGljIFBhc3NPd25QdHI8QXVkaW9E
ZXN0aW5hdGlvbj4gY3JlYXRlKEF1ZGlvSU9DYWxsYmFjayYsIGZsb2F0IHNhbXBsZVJhdGUpOwog
CiAgICAgdmlydHVhbCB+QXVkaW9EZXN0aW5hdGlvbigpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0lPQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvSU9DYWxsYmFjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJjYzNhOWRm
MmRkNzRlOWFmY2IwZTllNDU3NTQyNTk2YWEzOWMxMzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0lPQ2FsbGJhY2suaApAQCAtMCwwICsxLDQ4
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgor
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBs
ZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQK
KyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBBdWRpb0lPQ2FsbGJhY2tfaAorI2RlZmluZSBBdWRpb0lPQ2FsbGJhY2tf
aAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEF1ZGlvQnVzOworCisvLyBBYnN0cmFj
dCBiYXNlLWNsYXNzIGZvciBpc29jaHJvbm91cyBhdWRpbyBJL08gY2xpZW50LgorY2xhc3MgQXVk
aW9JT0NhbGxiYWNrIHsKK3B1YmxpYzoKKyAgICAvLyByZW5kZXIoKSBpcyBjYWxsZWQgcGVyaW9k
aWNhbGx5IHRvIGdldCB0aGUgbmV4dCByZW5kZXIgcXVhbnR1bSBvZiBhdWRpbyBpbnRvIGRlc3Rp
bmF0aW9uQnVzLgorICAgIC8vIE9wdGlvbmFsIGF1ZGlvIGlucHV0IGlzIGdpdmVuIGluIHNvdXJj
ZUJ1cyAoaWYgaXQncyBub3QgMCkuCisgICAgdmlydHVhbCB2b2lkIHJlbmRlcihBdWRpb0J1cyog
c291cmNlQnVzLCBBdWRpb0J1cyogZGVzdGluYXRpb25CdXMsIHNpemVfdCBmcmFtZXNUb1Byb2Nl
c3MpID0gMDsKKworICAgIHZpcnR1YWwgfkF1ZGlvSU9DYWxsYmFjaygpIHsgfQorfTsKKworfSAv
LyBXZWJDb3JlCisKKyNlbmRpZiAvLyBBdWRpb0lPQ2FsbGJhY2tfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlvRGVzdGluYXRpb25HU3Ry
ZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlv
RGVzdGluYXRpb25HU3RyZWFtZXIuY3BwCmluZGV4IDU2MTFiZGI2NzE1MjhiOTM4MWI4NWM4YTAz
NzY0NDcwOWMyYjBjM2IuLjAxYWEzNzFjZjY1OTA1ZTMzYTQwNTAxY2RhNWFhNGU2MzJhYTBkMWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRp
b0Rlc3RpbmF0aW9uR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9nc3RyZWFtZXIvQXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lci5jcHAKQEAgLTM2LDkgKzM2
LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gbmVlZHMgdG8gaGFuZGxlIHRoaXMgbnVtYmVy
IG9mIGZyYW1lcyBwZXIgY3ljbGUgYXMgd2VsbC4KIGNvbnN0IHVuc2lnbmVkIGZyYW1lc1RvUHVs
bCA9IDEyODsKIAotUGFzc093blB0cjxBdWRpb0Rlc3RpbmF0aW9uPiBBdWRpb0Rlc3RpbmF0aW9u
OjpjcmVhdGUoQXVkaW9Tb3VyY2VQcm92aWRlciYgcHJvdmlkZXIsIGZsb2F0IHNhbXBsZVJhdGUp
CitQYXNzT3duUHRyPEF1ZGlvRGVzdGluYXRpb24+IEF1ZGlvRGVzdGluYXRpb246OmNyZWF0ZShB
dWRpb0lPQ2FsbGJhY2smIGNhbGxiYWNrLCBmbG9hdCBzYW1wbGVSYXRlKQogewotICAgIHJldHVy
biBhZG9wdFB0cihuZXcgQXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lcihwcm92aWRlciwgc2FtcGxl
UmF0ZSkpOworICAgIHJldHVybiBhZG9wdFB0cihuZXcgQXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1l
cihjYWxsYmFjaywgc2FtcGxlUmF0ZSkpOwogfQogCiBmbG9hdCBBdWRpb0Rlc3RpbmF0aW9uOjpo
YXJkd2FyZVNhbXBsZVJhdGUoKQpAQCAtNTEsOCArNTEsOCBAQCBzdGF0aWMgdm9pZCBvbkdTdHJl
YW1lcldhdnBhcnNlUGFkQWRkZWRDYWxsYmFjayhHc3RFbGVtZW50KiBlbGVtZW50LCBHc3RQYWQq
IHBhZAogICAgIGRlc3RpbmF0aW9uLT5maW5pc2hCdWlsZGluZ1BpcGVsaW5lQWZ0ZXJXYXZQYXJz
ZXJQYWRSZWFkeShwYWQpOwogfQogCi1BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyOjpBdWRpb0Rl
c3RpbmF0aW9uR1N0cmVhbWVyKEF1ZGlvU291cmNlUHJvdmlkZXImIHByb3ZpZGVyLCBmbG9hdCBz
YW1wbGVSYXRlKQotICAgIDogbV9wcm92aWRlcihwcm92aWRlcikKK0F1ZGlvRGVzdGluYXRpb25H
U3RyZWFtZXI6OkF1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIoQXVkaW9JT0NhbGxiYWNrJiBjYWxs
YmFjaywgZmxvYXQgc2FtcGxlUmF0ZSkKKyAgICA6IG1fY2FsbGJhY2soY2FsbGJhY2spCiAgICAg
LCBtX3JlbmRlckJ1cygyLCBmcmFtZXNUb1B1bGwsIHRydWUpCiAgICAgLCBtX3NhbXBsZVJhdGUo
c2FtcGxlUmF0ZSkKICAgICAsIG1faXNQbGF5aW5nKGZhbHNlKQpAQCAtNjIsNyArNjIsNyBAQCBB
dWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyOjpBdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyKEF1ZGlv
U291cmNlUHJvdmlkZXImIHByb3ZpZAogICAgIEdzdEVsZW1lbnQqIHdlYmtpdEF1ZGlvU3JjID0g
cmVpbnRlcnByZXRfY2FzdDxHc3RFbGVtZW50Kj4oZ19vYmplY3RfbmV3KFdFQktJVF9UWVBFX1dF
Ql9BVURJT19TUkMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJhdGUiLCBzYW1wbGVSYXRlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJidXMiLCAmbV9yZW5kZXJCdXMsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
InByb3ZpZGVyIiwgJm1fcHJvdmlkZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByb3ZpZGVyIiwg
Jm1fY2FsbGJhY2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyYW1lcyIsIGZyYW1lc1RvUHVsbCwg
TlVMTCkpOwogCiAgICAgR3N0RWxlbWVudCogd2F2UGFyc2VyID0gZ3N0X2VsZW1lbnRfZmFjdG9y
eV9tYWtlKCJ3YXZwYXJzZSIsIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVy
LmgKaW5kZXggNGU4Y2RmNThjNTE5NjVhNTJiODAxNTViZGFiYWMxYzg0ZWQ1Mzc2ZS4uOGJlYmI1
YWY3Y2IwNmIxYTI3MTdjMjQ5OTQ5NjE5NTE0ODdhMGY0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0F1ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvQXVkaW9EZXN0
aW5hdGlvbkdTdHJlYW1lci5oCkBAIC0yOSw3ICsyOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgQXVkaW9EZXN0aW5hdGlvbkdTdHJlYW1lciA6IHB1YmxpYyBBdWRpb0Rlc3RpbmF0
aW9uIHsKIHB1YmxpYzoKLSAgICBBdWRpb0Rlc3RpbmF0aW9uR1N0cmVhbWVyKEF1ZGlvU291cmNl
UHJvdmlkZXImLCBmbG9hdCBzYW1wbGVSYXRlKTsKKyAgICBBdWRpb0Rlc3RpbmF0aW9uR1N0cmVh
bWVyKEF1ZGlvSU9DYWxsYmFjayYsIGZsb2F0IHNhbXBsZVJhdGUpOwogICAgIHZpcnR1YWwgfkF1
ZGlvRGVzdGluYXRpb25HU3RyZWFtZXIoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBzdGFydCgpOwpA
QCAtMzcsMTIgKzM3LDEyIEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNQbGF5aW5nKCkgeyByZXR1
cm4gbV9pc1BsYXlpbmc7IH0KICAgICBmbG9hdCBzYW1wbGVSYXRlKCkgY29uc3QgeyByZXR1cm4g
bV9zYW1wbGVSYXRlOyB9Ci0gICAgQXVkaW9Tb3VyY2VQcm92aWRlciYgc291cmNlUHJvdmlkZXIo
KSBjb25zdCB7IHJldHVybiBtX3Byb3ZpZGVyOyB9CisgICAgQXVkaW9JT0NhbGxiYWNrJiBjYWxs
YmFjaygpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGJhY2s7IH0KIAogICAgIHZvaWQgZmluaXNoQnVp
bGRpbmdQaXBlbGluZUFmdGVyV2F2UGFyc2VyUGFkUmVhZHkoR3N0UGFkKik7CiAKIHByaXZhdGU6
Ci0gICAgQXVkaW9Tb3VyY2VQcm92aWRlciYgbV9wcm92aWRlcjsKKyAgICBBdWRpb0lPQ2FsbGJh
Y2smIG1fY2FsbGJhY2s7CiAgICAgQXVkaW9CdXMgbV9yZW5kZXJCdXM7CiAKICAgICBmbG9hdCBt
X3NhbXBsZVJhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9n
c3RyZWFtZXIvV2ViS2l0V2ViQXVkaW9Tb3VyY2VHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL1dlYktpdFdlYkF1ZGlvU291cmNlR1N0cmVhbWVy
LmNwcAppbmRleCAwMGU0NDkxZTYwZGFlZDVjNWEwODRjNjgwNWU3ZDZkYmFlMzQ4ZTBjLi5jM2Jj
YmJlZWFmMjI1NTJhZDBkMmE5MWM1Njg2M2ZlODU1NDFiNWU2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvV2ViS2l0V2ViQXVkaW9Tb3VyY2VHU3Ry
ZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9X
ZWJLaXRXZWJBdWRpb1NvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTIzLDcgKzIzLDcgQEAKICNpZiBF
TkFCTEUoV0VCX0FVRElPKSAmJiBVU0UoR1NUUkVBTUVSKQogCiAjaW5jbHVkZSAiQXVkaW9CdXMu
aCIKLSNpbmNsdWRlICJBdWRpb1NvdXJjZVByb3ZpZGVyLmgiCisjaW5jbHVkZSAiQXVkaW9JT0Nh
bGxiYWNrLmgiCiAjaW5jbHVkZSA8d3RmL2dvYmplY3QvR093blB0ci5oPgogI2luY2x1ZGUgIkdS
ZWZQdHJHU3RyZWFtZXIuaCIKICNpbmNsdWRlIDxnc3QvYXVkaW8vbXVsdGljaGFubmVsLmg+CkBA
IC00Nyw3ICs0Nyw3IEBAIHN0cnVjdCBfV2ViS2l0V2ViQXVkaW9TcmNDbGFzcyB7CiBzdHJ1Y3Qg
X1dlYktpdFdlYkF1ZGlvU291cmNlUHJpdmF0ZSB7CiAgICAgZ2Zsb2F0IHNhbXBsZVJhdGU7CiAg
ICAgQXVkaW9CdXMqIGJ1czsKLSAgICBBdWRpb1NvdXJjZVByb3ZpZGVyKiBwcm92aWRlcjsKKyAg
ICBBdWRpb0lPQ2FsbGJhY2sqIHByb3ZpZGVyOwogICAgIGd1aW50IGZyYW1lc1RvUHVsbDsKICAg
ICBndWludDY0IGN1cnJlbnRCdWZmZXJPZmZzZXQ7CiAKQEAgLTI3OSw3ICsyNzksNyBAQCBzdGF0
aWMgdm9pZCB3ZWJLaXRXZWJBdWRpb1NyY1NldFByb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3Vp
bnQgcHJvcGVydHlJZCwgY29ucwogICAgICAgICBwcml2LT5idXMgPSBzdGF0aWNfY2FzdDxBdWRp
b0J1cyo+KGdfdmFsdWVfZ2V0X3BvaW50ZXIodmFsdWUpKTsKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBQUk9QX1BST1ZJREVSOgotICAgICAgICBwcml2LT5wcm92aWRlciA9IHN0YXRpY19jYXN0
PEF1ZGlvU291cmNlUHJvdmlkZXIqPihnX3ZhbHVlX2dldF9wb2ludGVyKHZhbHVlKSk7CisgICAg
ICAgIHByaXYtPnByb3ZpZGVyID0gc3RhdGljX2Nhc3Q8QXVkaW9JT0NhbGxiYWNrKj4oZ192YWx1
ZV9nZXRfcG9pbnRlcih2YWx1ZSkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfRlJB
TUVTOgogICAgICAgICBwcml2LT5mcmFtZXNUb1B1bGwgPSBnX3ZhbHVlX2dldF91aW50KHZhbHVl
KTsKQEAgLTMyMyw3ICszMjMsOCBAQCBzdGF0aWMgdm9pZCB3ZWJLaXRXZWJBdWRpb1NyY0xvb3Ao
V2ViS2l0V2ViQXVkaW9TcmMqIHNyYykKICAgICBpZiAoIXByaXYtPnByb3ZpZGVyIHx8ICFwcml2
LT5idXMpCiAgICAgICAgIHJldHVybjsKIAotICAgIHByaXYtPnByb3ZpZGVyLT5wcm92aWRlSW5w
dXQocHJpdi0+YnVzLCBwcml2LT5mcmFtZXNUb1B1bGwpOworICAgIC8vIEZJWE1FOiBBZGQgc3Vw
cG9ydCBmb3IgbG9jYWwvbGl2ZSBhdWRpbyBpbnB1dC4KKyAgICBwcml2LT5wcm92aWRlci0+cmVu
ZGVyKDAsIHByaXYtPmJ1cywgcHJpdi0+ZnJhbWVzVG9QdWxsKTsKIAogICAgIHVuc2lnbmVkIGJ1
ZmZlclNpemUgPSBwcml2LT5mcmFtZXNUb1B1bGwgKiBzaXplb2YoZmxvYXQpOwogICAgIGZvciAo
dW5zaWduZWQgaW5kZXggPSAwOyBpbmRleCA8IGdfc2xpc3RfbGVuZ3RoKHByaXYtPnBhZHMpOyBp
bmRleCsrKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMv
QXVkaW9EZXN0aW5hdGlvbk1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9t
YWMvQXVkaW9EZXN0aW5hdGlvbk1hYy5jcHAKaW5kZXggNWZiMTY0ZGQyZGEzOWFlN2I5ZTUxNzYy
OGVjNjhkZTQ1NTVlMzQ2MS4uOTVkMmViMzNlNDQzOTkxZmU5ZmU3ZGU2MWY1MTYyNzViNzcwNzZm
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvRGVz
dGluYXRpb25NYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9B
dWRpb0Rlc3RpbmF0aW9uTWFjLmNwcApAQCAtMzIsNyArMzIsNyBAQAogCiAjaW5jbHVkZSAiQXVk
aW9EZXN0aW5hdGlvbk1hYy5oIgogCi0jaW5jbHVkZSAiQXVkaW9Tb3VyY2VQcm92aWRlci5oIgor
I2luY2x1ZGUgIkF1ZGlvSU9DYWxsYmFjay5oIgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5o
IgogI2luY2x1ZGUgPENvcmVBdWRpby9BdWRpb0hhcmR3YXJlLmg+CiAKQEAgLTQxLDkgKzQxLDkg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY29uc3QgaW50IGtCdWZmZXJTaXplID0gMTI4OwogCiAv
LyBGYWN0b3J5IG1ldGhvZDogTWFjLWltcGxlbWVudGF0aW9uCi1QYXNzT3duUHRyPEF1ZGlvRGVz
dGluYXRpb24+IEF1ZGlvRGVzdGluYXRpb246OmNyZWF0ZShBdWRpb1NvdXJjZVByb3ZpZGVyJiBw
cm92aWRlciwgZmxvYXQgc2FtcGxlUmF0ZSkKK1Bhc3NPd25QdHI8QXVkaW9EZXN0aW5hdGlvbj4g
QXVkaW9EZXN0aW5hdGlvbjo6Y3JlYXRlKEF1ZGlvSU9DYWxsYmFjayYgY2FsbGJhY2ssIGZsb2F0
IHNhbXBsZVJhdGUpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBBdWRpb0Rlc3RpbmF0aW9u
TWFjKHByb3ZpZGVyLCBzYW1wbGVSYXRlKSk7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBBdWRp
b0Rlc3RpbmF0aW9uTWFjKGNhbGxiYWNrLCBzYW1wbGVSYXRlKSk7CiB9CiAKIGZsb2F0IEF1ZGlv
RGVzdGluYXRpb246OmhhcmR3YXJlU2FtcGxlUmF0ZSgpCkBAIC02OCw5ICs2OCw5IEBAIGZsb2F0
IEF1ZGlvRGVzdGluYXRpb246OmhhcmR3YXJlU2FtcGxlUmF0ZSgpCiAgICAgcmV0dXJuIG5hcnJv
d1ByZWNpc2lvblRvRmxvYXQobm9taW5hbFNhbXBsZVJhdGUpOwogfQogCi1BdWRpb0Rlc3RpbmF0
aW9uTWFjOjpBdWRpb0Rlc3RpbmF0aW9uTWFjKEF1ZGlvU291cmNlUHJvdmlkZXImIHByb3ZpZGVy
LCBmbG9hdCBzYW1wbGVSYXRlKQorQXVkaW9EZXN0aW5hdGlvbk1hYzo6QXVkaW9EZXN0aW5hdGlv
bk1hYyhBdWRpb0lPQ2FsbGJhY2smIGNhbGxiYWNrLCBmbG9hdCBzYW1wbGVSYXRlKQogICAgIDog
bV9vdXRwdXRVbml0KDApCi0gICAgLCBtX3Byb3ZpZGVyKHByb3ZpZGVyKQorICAgICwgbV9jYWxs
YmFjayhjYWxsYmFjaykKICAgICAsIG1fcmVuZGVyQnVzKDIsIGtCdWZmZXJTaXplLCBmYWxzZSkK
ICAgICAsIG1fc2FtcGxlUmF0ZShzYW1wbGVSYXRlKQogICAgICwgbV9pc1BsYXlpbmcoZmFsc2Up
CkBAIC0xNTUsNyArMTU1LDggQEAgT1NTdGF0dXMgQXVkaW9EZXN0aW5hdGlvbk1hYzo6cmVuZGVy
KFVJbnQzMiBudW1iZXJPZkZyYW1lcywgQXVkaW9CdWZmZXJMaXN0KiBpb0QKICAgICBtX3JlbmRl
ckJ1cy5zZXRDaGFubmVsTWVtb3J5KDAsIChmbG9hdCopYnVmZmVyc1swXS5tRGF0YSwgbnVtYmVy
T2ZGcmFtZXMpOwogICAgIG1fcmVuZGVyQnVzLnNldENoYW5uZWxNZW1vcnkoMSwgKGZsb2F0Kili
dWZmZXJzWzFdLm1EYXRhLCBudW1iZXJPZkZyYW1lcyk7CiAKLSAgICBtX3Byb3ZpZGVyLnByb3Zp
ZGVJbnB1dCgmbV9yZW5kZXJCdXMsIG51bWJlck9mRnJhbWVzKTsKKyAgICAvLyBGSVhNRTogQWRk
IHN1cHBvcnQgZm9yIGxvY2FsL2xpdmUgYXVkaW8gaW5wdXQuCisgICAgbV9jYWxsYmFjay5yZW5k
ZXIoMCwgJm1fcmVuZGVyQnVzLCBudW1iZXJPZkZyYW1lcyk7CiAKICAgICByZXR1cm4gbm9FcnI7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9E
ZXN0aW5hdGlvbk1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlv
RGVzdGluYXRpb25NYWMuaAppbmRleCA5NjNmN2M3MzU1MTVhNjUwY2MyMDBmMmJhZWQ2Njg5Nzcx
ZjUwZDIzLi4xZjAxMDhmNjM3OTkxYTNiZjYyYjFlZjAyZmQ1YjBhZDVlZGY0NTk2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9EZXN0aW5hdGlvbk1h
Yy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb0Rlc3RpbmF0
aW9uTWFjLmgKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBB
dWRpb0Rlc3RpbmF0aW9uTWFjIDogcHVibGljIEF1ZGlvRGVzdGluYXRpb24gewogcHVibGljOgot
ICAgIEF1ZGlvRGVzdGluYXRpb25NYWMoQXVkaW9Tb3VyY2VQcm92aWRlciYsIGZsb2F0IHNhbXBs
ZVJhdGUpOworICAgIEF1ZGlvRGVzdGluYXRpb25NYWMoQXVkaW9JT0NhbGxiYWNrJiwgZmxvYXQg
c2FtcGxlUmF0ZSk7CiAgICAgdmlydHVhbCB+QXVkaW9EZXN0aW5hdGlvbk1hYygpOwogCiAgICAg
dmlydHVhbCB2b2lkIHN0YXJ0KCk7CkBAIC01Nyw3ICs1Nyw3IEBAIHByaXZhdGU6CiAgICAgT1NT
dGF0dXMgcmVuZGVyKFVJbnQzMiBudW1iZXJPZkZyYW1lcywgQXVkaW9CdWZmZXJMaXN0KiBpb0Rh
dGEpOwogCiAgICAgQXVkaW9Vbml0IG1fb3V0cHV0VW5pdDsKLSAgICBBdWRpb1NvdXJjZVByb3Zp
ZGVyJiBtX3Byb3ZpZGVyOworICAgIEF1ZGlvSU9DYWxsYmFjayYgbV9jYWxsYmFjazsKICAgICBB
dWRpb0J1cyBtX3JlbmRlckJ1czsKIAogICAgIGZsb2F0IG1fc2FtcGxlUmF0ZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0F1ZGlvRGVzdGluYXRpb25DaHJvbWl1bS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9BdWRpb0Rlc3RpbmF0aW9uQ2hyb21pdW0u
Y3BwCmluZGV4IGNhZGIyZTNhOTUwOWJlOGZiMDI5NDJkNWM4ZmY4MTAxYWMyN2U0ZjguLjY0NmU5
ZWYwZGUxNzQyYWMxMWZmMTdmZmVhODBjMDRhYWUwNjQyNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0F1ZGlvRGVzdGluYXRpb25DaHJvbWl1bS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXVkaW9EZXN0aW5hdGlvbkNocm9taXVtLmNwcApAQCAt
NTIsMTMgKzUyLDE0IEBAIGNvbnN0IHNpemVfdCBmaWZvU2l6ZSA9IDgxOTI7CiBjb25zdCB1bnNp
Z25lZCBudW1iZXJPZkNoYW5uZWxzID0gMjsKIAogLy8gRmFjdG9yeSBtZXRob2Q6IENocm9taXVt
LWltcGxlbWVudGF0aW9uCi1QYXNzT3duUHRyPEF1ZGlvRGVzdGluYXRpb24+IEF1ZGlvRGVzdGlu
YXRpb246OmNyZWF0ZShBdWRpb1NvdXJjZVByb3ZpZGVyJiBwcm92aWRlciwgZmxvYXQgc2FtcGxl
UmF0ZSkKK1Bhc3NPd25QdHI8QXVkaW9EZXN0aW5hdGlvbj4gQXVkaW9EZXN0aW5hdGlvbjo6Y3Jl
YXRlKEF1ZGlvSU9DYWxsYmFjayYgY2FsbGJhY2ssIGZsb2F0IHNhbXBsZVJhdGUpCiB7Ci0gICAg
cmV0dXJuIGFkb3B0UHRyKG5ldyBBdWRpb0Rlc3RpbmF0aW9uQ2hyb21pdW0ocHJvdmlkZXIsIHNh
bXBsZVJhdGUpKTsKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IEF1ZGlvRGVzdGluYXRpb25DaHJv
bWl1bShjYWxsYmFjaywgc2FtcGxlUmF0ZSkpOwogfQogCi1BdWRpb0Rlc3RpbmF0aW9uQ2hyb21p
dW06OkF1ZGlvRGVzdGluYXRpb25DaHJvbWl1bShBdWRpb1NvdXJjZVByb3ZpZGVyJiBwcm92aWRl
ciwgZmxvYXQgc2FtcGxlUmF0ZSkKLSAgICA6IG1fcmVuZGVyQnVzKG51bWJlck9mQ2hhbm5lbHMs
IHJlbmRlckJ1ZmZlclNpemUsIGZhbHNlKQorQXVkaW9EZXN0aW5hdGlvbkNocm9taXVtOjpBdWRp
b0Rlc3RpbmF0aW9uQ2hyb21pdW0oQXVkaW9JT0NhbGxiYWNrJiBjYWxsYmFjaywgZmxvYXQgc2Ft
cGxlUmF0ZSkKKyAgICA6IG1fY2FsbGJhY2soY2FsbGJhY2spCisgICAgLCBtX3JlbmRlckJ1cyhu
dW1iZXJPZkNoYW5uZWxzLCByZW5kZXJCdWZmZXJTaXplLCBmYWxzZSkKICAgICAsIG1fc2FtcGxl
UmF0ZShzYW1wbGVSYXRlKQogICAgICwgbV9pc1BsYXlpbmcoZmFsc2UpCiB7CkBAIC03OCw3ICs3
OSw3IEBAIEF1ZGlvRGVzdGluYXRpb25DaHJvbWl1bTo6QXVkaW9EZXN0aW5hdGlvbkNocm9taXVt
KEF1ZGlvU291cmNlUHJvdmlkZXImIHByb3ZpZGVyCiAgICAgLy8gY29udGFpbnMgZW5vdWdoIGRh
dGEsIHRoZSBkYXRhIHdpbGwgYmUgcHJvdmlkZWQgZGlyZWN0bHkuCiAgICAgLy8gT3RoZXJ3aXNl
LCB0aGUgRklGTyB3aWxsIGNhbGwgdGhlIHByb3ZpZGVyIGVub3VnaCB0aW1lcyB0bwogICAgIC8v
IHNhdGlzZnkgdGhlIHJlcXVlc3QgZm9yIGRhdGEuCi0gICAgbV9maWZvID0gYWRvcHRQdHIobmV3
IEF1ZGlvUHVsbEZJRk8ocHJvdmlkZXIsIG51bWJlck9mQ2hhbm5lbHMsIGZpZm9TaXplLCByZW5k
ZXJCdWZmZXJTaXplKSk7CisgICAgbV9maWZvID0gYWRvcHRQdHIobmV3IEF1ZGlvUHVsbEZJRk8o
KnRoaXMsIG51bWJlck9mQ2hhbm5lbHMsIGZpZm9TaXplLCByZW5kZXJCdWZmZXJTaXplKSk7CiB9
CiAKIEF1ZGlvRGVzdGluYXRpb25DaHJvbWl1bTo6fkF1ZGlvRGVzdGluYXRpb25DaHJvbWl1bSgp
CkBAIC0xMjcsNiArMTI4LDEyIEBAIHZvaWQgQXVkaW9EZXN0aW5hdGlvbkNocm9taXVtOjpyZW5k
ZXIoY29uc3QgV2ViVmVjdG9yPGZsb2F0Kj4mIGF1ZGlvRGF0YSwgc2l6ZV90CiAgICAgbV9maWZv
LT5jb25zdW1lKCZtX3JlbmRlckJ1cywgbnVtYmVyT2ZGcmFtZXMpOwogfQogCit2b2lkIEF1ZGlv
RGVzdGluYXRpb25DaHJvbWl1bTo6cHJvdmlkZUlucHV0KEF1ZGlvQnVzKiBidXMsIHNpemVfdCBm
cmFtZXNUb1Byb2Nlc3MpCit7CisgICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBsb2NhbC9s
aXZlIGF1ZGlvIGlucHV0LgorICAgIG1fY2FsbGJhY2sucmVuZGVyKDAsIGJ1cywgZnJhbWVzVG9Q
cm9jZXNzKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxF
KFdFQl9BVURJTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0F1ZGlv
RGVzdGluYXRpb25DaHJvbWl1bS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXVkaW9E
ZXN0aW5hdGlvbkNocm9taXVtLmgKaW5kZXggYmU0Y2M0Yjg0NmVjYTc4NjM5N2EwNGM0YjFhN2My
MDYyNzhhZTJkYS4uZmQ2NzZkMTAyZGM2NzQyMzkzOTY2OWE1MWVjMjI4YjkwN2I0MWNmYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXVkaW9EZXN0aW5hdGlvbkNocm9t
aXVtLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXVkaW9EZXN0aW5hdGlvbkNo
cm9taXVtLmgKQEAgLTMxLDYgKzMxLDcgQEAKIAogI2luY2x1ZGUgIkF1ZGlvQnVzLmgiCiAjaW5j
bHVkZSAiQXVkaW9EZXN0aW5hdGlvbi5oIgorI2luY2x1ZGUgIkF1ZGlvSU9DYWxsYmFjay5oIgog
I2luY2x1ZGUgIkF1ZGlvU291cmNlUHJvdmlkZXIuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJB
dWRpb0RldmljZS5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYlZlY3Rvci5oIgpAQCAtNDMsOSAr
NDQsOSBAQCBjbGFzcyBBdWRpb1B1bGxGSUZPOwogCiAvLyBBbiBBdWRpb0Rlc3RpbmF0aW9uIHVz
aW5nIENocm9taXVtJ3MgYXVkaW8gc3lzdGVtCiAKLWNsYXNzIEF1ZGlvRGVzdGluYXRpb25DaHJv
bWl1bSA6IHB1YmxpYyBBdWRpb0Rlc3RpbmF0aW9uLCBwdWJsaWMgV2ViS2l0OjpXZWJBdWRpb0Rl
dmljZTo6UmVuZGVyQ2FsbGJhY2sgeworY2xhc3MgQXVkaW9EZXN0aW5hdGlvbkNocm9taXVtIDog
cHVibGljIEF1ZGlvRGVzdGluYXRpb24sIHB1YmxpYyBXZWJLaXQ6OldlYkF1ZGlvRGV2aWNlOjpS
ZW5kZXJDYWxsYmFjaywgcHVibGljIEF1ZGlvU291cmNlUHJvdmlkZXIgewogcHVibGljOgotICAg
IEF1ZGlvRGVzdGluYXRpb25DaHJvbWl1bShBdWRpb1NvdXJjZVByb3ZpZGVyJiwgZmxvYXQgc2Ft
cGxlUmF0ZSk7CisgICAgQXVkaW9EZXN0aW5hdGlvbkNocm9taXVtKEF1ZGlvSU9DYWxsYmFjayYs
IGZsb2F0IHNhbXBsZVJhdGUpOwogICAgIHZpcnR1YWwgfkF1ZGlvRGVzdGluYXRpb25DaHJvbWl1
bSgpOwogCiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0KCk7CkBAIC01Nyw3ICs1OCwxMSBAQCBwdWJs
aWM6CiAgICAgLy8gV2ViS2l0OjpXZWJBdWRpb0RldmljZTo6UmVuZGVyQ2FsbGJhY2sKICAgICB2
aXJ0dWFsIHZvaWQgcmVuZGVyKGNvbnN0IFdlYktpdDo6V2ViVmVjdG9yPGZsb2F0Kj4mIGF1ZGlv
RGF0YSwgc2l6ZV90IG51bWJlck9mRnJhbWVzKTsKIAorICAgIC8vIFdlYkNvcmU6OkF1ZGlvU291
cmNlUHJvdmlkZXIKKyAgICB2aXJ0dWFsIHZvaWQgcHJvdmlkZUlucHV0KEF1ZGlvQnVzKiwgc2l6
ZV90IGZyYW1lc1RvUHJvY2Vzcyk7CisKIHByaXZhdGU6CisgICAgQXVkaW9JT0NhbGxiYWNrJiBt
X2NhbGxiYWNrOwogICAgIEF1ZGlvQnVzIG1fcmVuZGVyQnVzOwogICAgIGZsb2F0IG1fc2FtcGxl
UmF0ZTsKICAgICBib29sIG1faXNQbGF5aW5nOwo=
</data>
<flag name="review"
          id="158491"
          type_id="1"
          status="+"
          setter="kbr"
    />
          </attachment>
      

    </bug>

</bugzilla>