<?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>168118</bug_id>
          
          <creation_ts>2017-02-10 08:31:20 -0800</creation_ts>
          <short_desc>[WebRTC] Implement Outgoing libwebrtc audio source support</short_desc>
          <delta_ts>2017-02-10 13:31:11 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jer.noble</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1275331</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-02-10 08:31:20 -0800</bug_when>
    <thetext>[WebRTC] Implement Outgoing LibWebRTCNetwork audio source support</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275345</commentid>
    <comment_count>1</comment_count>
      <attachid>301161</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-02-10 09:29:15 -0800</bug_when>
    <thetext>Created attachment 301161
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275363</commentid>
    <comment_count>2</comment_count>
      <attachid>301168</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-02-10 10:14:15 -0800</bug_when>
    <thetext>Created attachment 301168
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275404</commentid>
    <comment_count>3</comment_count>
      <attachid>301176</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-02-10 10:52:21 -0800</bug_when>
    <thetext>Created attachment 301176
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275408</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-02-10 10:55:12 -0800</bug_when>
    <thetext>The story about muted/disabled tracks is not clear to me yet.
Should we continue being called by the capture thread?
Should we be notified and stop filling the ring buffer?
Or should we just not send any data to libwebrtc?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275491</commentid>
    <comment_count>5</comment_count>
      <attachid>301176</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2017-02-10 12:37:49 -0800</bug_when>
    <thetext>Comment on attachment 301176
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        Using an AudioSampleDataSource to convert the captured data in libwebrtc expected format.

Nit: &quot;in&quot; -&gt; &quot;to&quot;

&gt; Source/WebCore/ChangeLog:14
&gt; +        Introducing bWebRTCAudioFormat.h to centrialise libwbebrtc expected audio format.

Nit: &quot;bWebRTCAudioFormat.h&quot; -&gt; &quot;WebRTCAudioFormat.h&quot;

&gt; Source/WebCore/platform/audio/mac/AudioSampleDataSource.cpp:289
&gt; +bool AudioSampleDataSource::pullAvalaibleSamplesAsChunks(AudioBufferList&amp; buffer, size_t sampleCountPerChunk, uint64_t timeStamp, Function&lt;void()&gt;&amp;&amp; bufferIsFilled)

Nit: &quot;bufferIsFilled&quot; reads like it should be a bool, something like &quot;consumeSamples&quot;, or &quot;processSamples&quot; might be better.

&gt; Source/WebCore/platform/mediastream/mac/RealtimeOutgoingAudioSource.h:70
&gt; +    void audioSamplesAvailable(const MediaTime&amp;,  const PlatformAudioData&amp;, const AudioStreamDescription&amp;, size_t) final;

Nit: extra space.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275506</commentid>
    <comment_count>6</comment_count>
      <attachid>301195</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-02-10 12:58:04 -0800</bug_when>
    <thetext>Created attachment 301195
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275528</commentid>
    <comment_count>7</comment_count>
      <attachid>301195</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-10 13:31:07 -0800</bug_when>
    <thetext>Comment on attachment 301195
Patch for landing

Clearing flags on attachment: 301195

Committed r212144: &lt;http://trac.webkit.org/changeset/212144&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275529</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-10 13:31:11 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301161</attachid>
            <date>2017-02-10 09:29:15 -0800</date>
            <delta_ts>2017-02-10 10:14:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168118-20170210092648.patch</filename>
            <type>text/plain</type>
            <size>13295</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyMTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWVmOWE4YTJlZTJhMDdl
YWVhYjVjODE4MTYyMGY1NzRkNzMxOTc1Zi4uMjg0ZDhhNGJiMmI5NWJjYzEyODM2OGExZmRkNmIx
YTlmZmZjNzdiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE3LTAyLTEwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBGaXggMTY4MTE4CisKKyAg
ICAgICAgW1dlYlJUQ10gSW1wbGVtZW50IE91dGdvaW5nIGxpYndlYnJ0YyBhdWRpbyBzb3VyY2Ug
c3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTY4MTE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TYW1wbGVEYXRhU291cmNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6cHVsbEF2YWxhaWJsZVNhbXBsZXNBc0No
dW5rcyk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2FtcGxlRGF0YVNvdXJj
ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5n
QXVkaW9Tb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVPdXRnb2luZ0F1ZGlv
U291cmNlOjpzb3VyY2VNdXRlZENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVP
dXRnb2luZ0F1ZGlvU291cmNlOjphdWRpb1NhbXBsZXNBdmFpbGFibGUpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlOjpwdWxsQXVkaW9EYXRhKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNl
Lmg6CisKIDIwMTctMDItMDcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtXZWJSVENdW01hY10gQWN0aXZhdGUgbGlid2VicnRjCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNDY1MjdlOTNjODVm
Yzc0OGRhNjgyODhhZTA1ZDM1MWVlMjIyMWE1Ny4uZmY2MTNhZTM4ZGM3ZmYyNzI0OGE4OGNlMjkw
NmVlOWMxMTQ1YWQyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtODg3Niw2ICs4ODc2LDcgQEAKIAkJNDFDRjhCRTYxRDQ2MjIy
QzAwNzA3REM5IC8qIEZldGNoSW50ZXJuYWxzLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZh
c2NyaXB0OyBwYXRoID0gRmV0Y2hJbnRlcm5hbHMuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQxRDAxNUM4MEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb250ZW50VHlwZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MUQwMTVDOTBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29udGVudFR5cGUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUQ1MUJCMjFFNEUyRTgxMDAxMzFBNUIgLyog
TGliV2ViUlRDQXVkaW9Gb3JtYXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
TGliV2ViUlRDQXVkaW9Gb3JtYXQuaDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJSVENBdWRpb0Zv
cm1hdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUUxQjFDQTBGRjU5ODY5MDA1
NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQWJzdHJhY3RXb3JrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MUUxQjFDQjBGRjU5ODY5MDA1NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWJzdHJhY3RXb3JrZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDFFMUIxQ0MwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2Vy
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBYnN0cmFjdFdvcmtlci5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjg0NSw2ICsxNjg0Niw3IEBACiAJCTQxNTc0NzQyMUUz
ODY5ODAwMEU5MTREOCAvKiBsaWJ3ZWJydGMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKAorCQkJCTQxRDUxQkIyMUU0RTJFODEwMDEzMUE1QiAvKiBMaWJXZWJSVENB
dWRpb0Zvcm1hdC5oICovLAogCQkJCTQxNTA4MDM0MUUzRjAwQUEwMDUxRDc1RCAvKiBMaWJXZWJS
VENBdWRpb01vZHVsZS5jcHAgKi8sCiAJCQkJNDE1MDgwMzUxRTNGMDBBQTAwNTFENzVEIC8qIExp
YldlYlJUQ0F1ZGlvTW9kdWxlLmggKi8sCiAJCQkJNDE1NzQ3NDMxRTM4Njk5RTAwRTkxNEQ4IC8q
IExpYldlYlJUQ01hY3Jvcy5oICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vbWFjL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TYW1wbGVEYXRhU291cmNlLmNwcAppbmRleCA2N2IyNDE0
NjMzZDQ4MjA0MzQ0ZmNlZGY1Y2U3ZDAzMGVmZmU2N2NkLi5iZTE0Y2YyNzcwMjk0YjUzMDY0ZmY3
ZDJjOGFhNGYzNmVmNzdmYTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9tYWMvQXVkaW9TYW1wbGVEYXRhU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TYW1wbGVEYXRhU291cmNlLmNwcApAQCAtMjg2LDYgKzI4
NiwzNSBAQCBib29sIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6cHVsbFNhbXBsZXNJbnRlcm5hbChB
dWRpb0J1ZmZlckxpc3QmIGJ1ZmZlciwgc2l6ZV90JgogICAgIHJldHVybiB0cnVlOwogfQogCiti
b29sIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6cHVsbEF2YWxhaWJsZVNhbXBsZXNBc0NodW5rcyhB
dWRpb0J1ZmZlckxpc3QmIGJ1ZmZlciwgc2l6ZV90IHNhbXBsZUNvdW50UGVyQ2h1bmssIHVpbnQ2
NF90IHRpbWVTdGFtcCwgRnVuY3Rpb248dm9pZCgpPiYmIGJ1ZmZlcklzRmlsbGVkKQoreworICAg
IHN0ZDo6dW5pcXVlX2xvY2s8TG9jaz4gbG9jayhtX2xvY2ssIHN0ZDo6dHJ5X3RvX2xvY2spOwor
ICAgIGlmICghbG9jay5vd25zX2xvY2soKSB8fCAhbV9yaW5nQnVmZmVyKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBBU1NFUlQoYnVmZmVyLm1OdW1iZXJCdWZmZXJzID09IG1fcmluZ0J1
ZmZlci0+Y2hhbm5lbENvdW50KCkpOworICAgIGlmIChidWZmZXIubU51bWJlckJ1ZmZlcnMgIT0g
bV9yaW5nQnVmZmVyLT5jaGFubmVsQ291bnQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgaWYgKCFtX3JpbmdCdWZmZXIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHVpbnQ2
NF90IHN0YXJ0RnJhbWUgPSAwOworICAgIHVpbnQ2NF90IGVuZEZyYW1lID0gMDsKKyAgICBtX3Jp
bmdCdWZmZXItPmdldEN1cnJlbnRGcmFtZUJvdW5kcyhzdGFydEZyYW1lLCBlbmRGcmFtZSk7Cisg
ICAgaWYgKHRpbWVTdGFtcCA8IHN0YXJ0RnJhbWUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIHN0YXJ0RnJhbWUgPSB0aW1lU3RhbXA7CisgICAgd2hpbGUgKGVuZEZyYW1lIC0gc3RhcnRG
cmFtZSA+PSBzYW1wbGVDb3VudFBlckNodW5rKSB7CisgICAgICAgIGlmIChtX3JpbmdCdWZmZXIt
PmZldGNoKCZidWZmZXIsIHNhbXBsZUNvdW50UGVyQ2h1bmssIHN0YXJ0RnJhbWUsIENBUmluZ0J1
ZmZlcjo6Q29weSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGJ1ZmZlcklz
RmlsbGVkKCk7CisgICAgICAgIHN0YXJ0RnJhbWUgKz0gc2FtcGxlQ291bnRQZXJDaHVuazsKKyAg
ICB9CisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpw
dWxsU2FtcGxlcyhBdWRpb0J1ZmZlckxpc3QmIGJ1ZmZlciwgc2l6ZV90IHNhbXBsZUNvdW50LCB1
aW50NjRfdCB0aW1lU3RhbXAsIGRvdWJsZSBob3N0VGltZSwgUHVsbE1vZGUgbW9kZSkKIHsKICAg
ICBzdGQ6OnVuaXF1ZV9sb2NrPExvY2s+IGxvY2sobV9sb2NrLCBzdGQ6OnRyeV90b19sb2NrKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBs
ZURhdGFTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1Nh
bXBsZURhdGFTb3VyY2UuaAppbmRleCAzNGQ4NDdkZTYwNWVkZjkzM2VlNzJhOGU2OGQwYmNjZDUw
NzNlNmEwLi4zY2M4OGZlODhmODMzODJlODViMGU0NGY2Mzg3ZGY0MjkzODJkYjNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TYW1wbGVEYXRhU291
cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2FtcGxl
RGF0YVNvdXJjZS5oCkBAIC01OSw2ICs1OSw4IEBAIHB1YmxpYzoKICAgICBib29sIHB1bGxTYW1w
bGVzKEF1ZGlvU2FtcGxlQnVmZmVyTGlzdCYsIHNpemVfdCwgdWludDY0X3QsIGRvdWJsZSwgUHVs
bE1vZGUpOwogICAgIGJvb2wgcHVsbFNhbXBsZXMoQXVkaW9CdWZmZXJMaXN0Jiwgc2l6ZV90LCB1
aW50NjRfdCwgZG91YmxlLCBQdWxsTW9kZSk7CiAKKyAgICBib29sIHB1bGxBdmFsYWlibGVTYW1w
bGVzQXNDaHVua3MoQXVkaW9CdWZmZXJMaXN0Jiwgc2l6ZV90IGZyYW1lQ291bnQsIHVpbnQ2NF90
IHRpbWVTdGFtcCwgRnVuY3Rpb248dm9pZCgpPiYmKTsKKwogICAgIHZvaWQgc2V0UGF1c2VkKGJv
b2wpOwogCiAgICAgdm9pZCBzZXRWb2x1bWUoZmxvYXQgdm9sdW1lKSB7IG1fdm9sdW1lID0gdm9s
dW1lOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvTGliV2ViUlRDQXVkaW9Gb3JtYXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENBdWRpb0Zvcm1hdC5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU0OTEwN2YxMDJlYjY3Mjg1ZTY4YTY2MmFjMzRmOGM1NzRlYTlhNWQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDQXVkaW9Gb3JtYXQuaApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK25hbWVz
cGFjZSBMaWJXZWJSVENBdWRpb0Zvcm1hdCB7CisKK3N0YXRpYyBjb25zdCBzaXplX3Qgc2FtcGxl
UmF0ZSA9IDQ4MDAwOworc3RhdGljIGNvbnN0IHNpemVfdCBjaHVua1NhbXBsZUNvdW50ID0gNDgw
Oworc3RhdGljIGNvbnN0IHNpemVfdCBzYW1wbGVTaXplID0gMTY7CitzdGF0aWMgY29uc3Qgc2l6
ZV90IHNhbXBsZUJ5dGVTaXplID0gMjsKK3N0YXRpYyBjb25zdCBib29sIGlzRmxvYXQgPSBmYWxz
ZTsKK3N0YXRpYyBjb25zdCBib29sIGlzQmlnRW5kaWFuID0gZmFsc2U7CitzdGF0aWMgY29uc3Qg
Ym9vbCBpc05vbkludGVybGVhdmVkID0gZmFsc2U7CisKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0
Z29pbmdBdWRpb1NvdXJjZS5jcHAKaW5kZXggMmQxZWVlYWE2MjVhNTcwNThiNTJhODFlYTI1NGEz
NzUwZWIwNTgyOS4uZmU4ZmMzZDZlNmJiYzI1Mzg5ODY0NWFlODYwMDkzNzBlMmZhMzQ0YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1l
T3V0Z29pbmdBdWRpb1NvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZS5jcHAKQEAgLTMxLDEzICsz
MSw2NiBAQAogCiAjaWYgVVNFKExJQldFQlJUQykKIAotI2luY2x1ZGUgIk5vdEltcGxlbWVudGVk
LmgiCisjaW5jbHVkZSAiQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmgiCisjaW5jbHVkZSAiTGli
V2ViUlRDQXVkaW9Gb3JtYXQuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENVdGlscy5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlOjphdWRp
b1NhbXBsZXNBdmFpbGFibGUoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgUGxhdGZvcm1BdWRpb0Rh
dGEmLCBjb25zdCBBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiwgc2l6ZV90KQorc3RhdGljIGlubGlu
ZSBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gbGlid2VicnRjQXVkaW9Gb3JtYXQoc2l6ZV90
IGNoYW5uZWxDb3VudCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIEF1ZGlvU3RyZWFt
QmFzaWNEZXNjcmlwdGlvbiBzdHJlYW1Gb3JtYXQ7CisgICAgRmlsbE91dEFTQkRGb3JMUENNKHN0
cmVhbUZvcm1hdCwgTGliV2ViUlRDQXVkaW9Gb3JtYXQ6OnNhbXBsZVJhdGUsIGNoYW5uZWxDb3Vu
dCwgTGliV2ViUlRDQXVkaW9Gb3JtYXQ6OnNhbXBsZVNpemUsIExpYldlYlJUQ0F1ZGlvRm9ybWF0
OjpzYW1wbGVTaXplLCBMaWJXZWJSVENBdWRpb0Zvcm1hdDo6aXNGbG9hdCwgTGliV2ViUlRDQXVk
aW9Gb3JtYXQ6OmlzQmlnRW5kaWFuLCBMaWJXZWJSVENBdWRpb0Zvcm1hdDo6aXNOb25JbnRlcmxl
YXZlZCk7CisgICAgcmV0dXJuIHN0cmVhbUZvcm1hdDsKK30KKworUmVhbHRpbWVPdXRnb2luZ0F1
ZGlvU291cmNlOjpSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UoUmVmPFJlYWx0aW1lTWVkaWFT
b3VyY2U+JiYgYXVkaW9Tb3VyY2UpCisgICAgOiBtX2F1ZGlvU291cmNlKFdURk1vdmUoYXVkaW9T
b3VyY2UpKQorICAgICwgbV9zYW1wbGVDb252ZXJ0ZXIoQXVkaW9TYW1wbGVEYXRhU291cmNlOjpj
cmVhdGUoTGliV2ViUlRDQXVkaW9Gb3JtYXQ6OnNhbXBsZVJhdGUgKiAyKSkKK3sKKyAgICBtX2F1
ZGlvU291cmNlLT5hZGRPYnNlcnZlcigqdGhpcyk7Cit9CisKK3ZvaWQgUmVhbHRpbWVPdXRnb2lu
Z0F1ZGlvU291cmNlOjpzb3VyY2VNdXRlZENoYW5nZWQoKQoreworICAgIG1faXNNdXRlZCA9IG1f
YXVkaW9Tb3VyY2UtPm11dGVkKCk7Cit9CisKK3ZvaWQgUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291
cmNlOjphdWRpb1NhbXBsZXNBdmFpbGFibGUoY29uc3QgTWVkaWFUaW1lJiB0aW1lLCBQbGF0Zm9y
bUF1ZGlvRGF0YSYgYXVkaW9EYXRhLCBjb25zdCBBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBzdHJl
YW1EZXNjcmlwdGlvbiwgc2l6ZV90IHNhbXBsZUNvdW50KQoreworICAgIGlmIChtX2lucHV0U3Ry
ZWFtRGVzY3JpcHRpb24gIT0gc3RyZWFtRGVzY3JpcHRpb24pIHsKKyAgICAgICAgbV9pbnB1dFN0
cmVhbURlc2NyaXB0aW9uID0gdG9DQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24oc3RyZWFtRGVzY3Jp
cHRpb24pOworICAgICAgICBhdXRvIHN0YXR1cyAgPSBtX3NhbXBsZUNvbnZlcnRlci0+c2V0SW5w
dXRGb3JtYXQobV9pbnB1dFN0cmVhbURlc2NyaXB0aW9uKTsKKyAgICAgICAgQVNTRVJUX1VOVVNF
RChzdGF0dXMsICFzdGF0dXMpOworCisgICAgICAgIHN0YXR1cyA9IG1fc2FtcGxlQ29udmVydGVy
LT5zZXRPdXRwdXRGb3JtYXQobGlid2VicnRjQXVkaW9Gb3JtYXQoc3RyZWFtRGVzY3JpcHRpb24u
bnVtYmVyT2ZDaGFubmVscygpKSk7CisgICAgICAgIEFTU0VSVCghc3RhdHVzKTsKKyAgICB9Cisg
ICAgbV9zYW1wbGVDb252ZXJ0ZXItPnB1c2hTYW1wbGVzKHRpbWUsIGF1ZGlvRGF0YSwgc2FtcGxl
Q291bnQpOworCisgICAgY2FsbE9uV2ViUlRDU2lnbmFsaW5nVGhyZWFkKFtwcm90ZWN0ZWRUaGlz
ID0gbWFrZVJlZigqdGhpcyldIHsKKyAgICAgICAgcHJvdGVjdGVkVGhpcy0+cHVsbEF1ZGlvRGF0
YSgpOworICAgIH0pOworfQorCit2b2lkIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZTo6cHVs
bEF1ZGlvRGF0YSgpCit7CisgICAgc2l6ZV90IGJ1ZmZlclNpemUgPSBMaWJXZWJSVENBdWRpb0Zv
cm1hdDo6Y2h1bmtTYW1wbGVDb3VudCAqIExpYldlYlJUQ0F1ZGlvRm9ybWF0OjpzYW1wbGVCeXRl
U2l6ZSAqIG1faW5wdXRTdHJlYW1EZXNjcmlwdGlvbi5udW1iZXJPZkNoYW5uZWxzKCk7CisgICAg
bV9hdWRpb0J1ZmZlci5yZXNlcnZlQ2FwYWNpdHkoYnVmZmVyU2l6ZSk7CisKKyAgICBBdWRpb0J1
ZmZlckxpc3QgYnVmZmVyTGlzdDsKKyAgICBidWZmZXJMaXN0Lm1OdW1iZXJCdWZmZXJzID0gMTsK
KyAgICBidWZmZXJMaXN0Lm1CdWZmZXJzWzBdLm1OdW1iZXJDaGFubmVscyA9IG1faW5wdXRTdHJl
YW1EZXNjcmlwdGlvbi5udW1iZXJPZkNoYW5uZWxzKCk7CisgICAgYnVmZmVyTGlzdC5tQnVmZmVy
c1swXS5tRGF0YUJ5dGVTaXplID0gYnVmZmVyU2l6ZTsKKyAgICBidWZmZXJMaXN0Lm1CdWZmZXJz
WzBdLm1EYXRhID0gbV9hdWRpb0J1ZmZlci5kYXRhKCk7CisKKyAgICBtX3NhbXBsZUNvbnZlcnRl
ci0+cHVsbEF2YWxhaWJsZVNhbXBsZXNBc0NodW5rcyhidWZmZXJMaXN0LCBMaWJXZWJSVENBdWRp
b0Zvcm1hdDo6Y2h1bmtTYW1wbGVDb3VudCwgbV9zdGFydEZyYW1lLCBbdGhpc10geworICAgICAg
ICBtX3N0YXJ0RnJhbWUgKz0gTGliV2ViUlRDQXVkaW9Gb3JtYXQ6OmNodW5rU2FtcGxlQ291bnQ7
CisgICAgICAgIGlmIChtX2lzTXV0ZWQpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGZv
ciAoYXV0byBzaW5rIDogbV9zaW5rcykKKyAgICAgICAgICAgIHNpbmstPk9uRGF0YShtX2F1ZGlv
QnVmZmVyLmRhdGEoKSwgTGliV2ViUlRDQXVkaW9Gb3JtYXQ6OnNhbXBsZVNpemUsIExpYldlYlJU
Q0F1ZGlvRm9ybWF0OjpzYW1wbGVSYXRlLCBtX2lucHV0U3RyZWFtRGVzY3JpcHRpb24ubnVtYmVy
T2ZDaGFubmVscygpLCBMaWJXZWJSVENBdWRpb0Zvcm1hdDo6Y2h1bmtTYW1wbGVDb3VudCk7Cisg
ICAgfSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3Vy
Y2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91
dGdvaW5nQXVkaW9Tb3VyY2UuaAppbmRleCA3OGRkZjczMjdiZDAxZDc3NDg1NmYwMDdjMDcxYWZj
ZjQwY2M4MTNlLi5lNDVlOTI1OGQzMjQ3ZTdiMTk2ZTQyMjY0OGRiODJmMjNiYWE2NjI0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVP
dXRnb2luZ0F1ZGlvU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZS5oCkBAIC0zMCw2ICszMCw3IEBA
CiAKICNpZiBVU0UoTElCV0VCUlRDKQogCisjaW5jbHVkZSAiQXVkaW9TYW1wbGVEYXRhU291cmNl
LmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDTWFjcm9zLmgiCiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRp
YVNvdXJjZS5oIgogI2luY2x1ZGUgPHdlYnJ0Yy9hcGkvbWVkaWFzdHJlYW1pbnRlcmZhY2UuaD4K
QEAgLTQ5LDcgKzUwLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VHJhY2socnRjOjpzY29wZWRf
cmVmcHRyPHdlYnJ0Yzo6QXVkaW9UcmFja0ludGVyZmFjZT4mJiB0cmFjaykgeyBtX3RyYWNrID0g
V1RGTW92ZSh0cmFjayk7IH0KIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBSZWFsdGltZU91dGdv
aW5nQXVkaW9Tb3VyY2UoUmVmPFJlYWx0aW1lTWVkaWFTb3VyY2U+JiYgYXVkaW9Tb3VyY2UpIDog
bV9hdWRpb1NvdXJjZShXVEZNb3ZlKGF1ZGlvU291cmNlKSkgeyBtX2F1ZGlvU291cmNlLT5hZGRP
YnNlcnZlcigqdGhpcyk7IH0KKyAgICBleHBsaWNpdCBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3Vy
Y2UoUmVmPFJlYWx0aW1lTWVkaWFTb3VyY2U+JiYpOwogCiAgICAgdmlydHVhbCB2b2lkIEFkZFNp
bmsod2VicnRjOjpBdWRpb1RyYWNrU2lua0ludGVyZmFjZSogc2luaykgeyBtX3NpbmtzLmFwcGVu
ZChzaW5rKTsgfQogICAgIHZpcnR1YWwgdm9pZCBSZW1vdmVTaW5rKHdlYnJ0Yzo6QXVkaW9UcmFj
a1NpbmtJbnRlcmZhY2UqIHNpbmspIHsgbV9zaW5rcy5yZW1vdmVGaXJzdChzaW5rKTsgfQpAQCAt
NjMsMTcgKzY0LDIyIEBAIHByaXZhdGU6CiAKICAgICAvLyBSZWFsdGltZU1lZGlhU291cmNlOjpP
YnNlcnZlciBBUEkKICAgICB2b2lkIHNvdXJjZVN0b3BwZWQoKSBmaW5hbCB7IH0KLSAgICB2b2lk
IHNvdXJjZU11dGVkQ2hhbmdlZCgpIGZpbmFsIHsgfQorICAgIHZvaWQgc291cmNlTXV0ZWRDaGFu
Z2VkKCkgZmluYWw7CiAgICAgdm9pZCBzb3VyY2VTZXR0aW5nc0NoYW5nZWQoKSBmaW5hbCB7IH0K
ICAgICBib29sIHByZXZlbnRTb3VyY2VGcm9tU3RvcHBpbmcoKSBmaW5hbCB7IHJldHVybiBmYWxz
ZTsgfQogICAgIHZvaWQgYXVkaW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IE1lZGlhVGltZSYsIGNv
bnN0IFBsYXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHNp
emVfdCkgZmluYWw7CiAKLSAgICB2b2lkIGNvbnZlcnRBbmRTZW5kTW9ub1NhbXBsZXMoKTsKLSAg
ICB2b2lkIGNvbnZlcnRBbmRTZW5kU3RlcmVvU2FtcGxlcygpOworICAgIHZvaWQgcHVsbEF1ZGlv
RGF0YSgpOwogCiAgICAgVmVjdG9yPHdlYnJ0Yzo6QXVkaW9UcmFja1NpbmtJbnRlcmZhY2UqPiBt
X3NpbmtzOwogICAgIFJlZjxSZWFsdGltZU1lZGlhU291cmNlPiBtX2F1ZGlvU291cmNlOwogICAg
IHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkF1ZGlvVHJhY2tJbnRlcmZhY2U+IG1fdHJhY2s7
CisgICAgUmVmPEF1ZGlvU2FtcGxlRGF0YVNvdXJjZT4gbV9zYW1wbGVDb252ZXJ0ZXI7CisgICAg
Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uIG1faW5wdXRTdHJlYW1EZXNjcmlwdGlvbjsKKworICAg
IFZlY3Rvcjx1aW50MTZfdD4gbV9hdWRpb0J1ZmZlcjsKKyAgICB1aW50NjRfdCBtX3N0YXJ0RnJh
bWUgeyAwIH07CisgICAgYm9vbCBtX2lzTXV0ZWQgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301168</attachid>
            <date>2017-02-10 10:14:15 -0800</date>
            <delta_ts>2017-02-10 10:52:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168118-20170210101148.patch</filename>
            <type>text/plain</type>
            <size>13424</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyMTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWVmOWE4YTJlZTJhMDdl
YWVhYjVjODE4MTYyMGY1NzRkNzMxOTc1Zi4uMjg0ZDhhNGJiMmI5NWJjYzEyODM2OGExZmRkNmIx
YTlmZmZjNzdiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE3LTAyLTEwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBGaXggMTY4MTE4CisKKyAg
ICAgICAgW1dlYlJUQ10gSW1wbGVtZW50IE91dGdvaW5nIGxpYndlYnJ0YyBhdWRpbyBzb3VyY2Ug
c3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTY4MTE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TYW1wbGVEYXRhU291cmNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6cHVsbEF2YWxhaWJsZVNhbXBsZXNBc0No
dW5rcyk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2FtcGxlRGF0YVNvdXJj
ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5n
QXVkaW9Tb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVPdXRnb2luZ0F1ZGlv
U291cmNlOjpzb3VyY2VNdXRlZENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVP
dXRnb2luZ0F1ZGlvU291cmNlOjphdWRpb1NhbXBsZXNBdmFpbGFibGUpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlOjpwdWxsQXVkaW9EYXRhKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNl
Lmg6CisKIDIwMTctMDItMDcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtXZWJSVENdW01hY10gQWN0aXZhdGUgbGlid2VicnRjCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNDY1MjdlOTNjODVm
Yzc0OGRhNjgyODhhZTA1ZDM1MWVlMjIyMWE1Ny4uZmY2MTNhZTM4ZGM3ZmYyNzI0OGE4OGNlMjkw
NmVlOWMxMTQ1YWQyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtODg3Niw2ICs4ODc2LDcgQEAKIAkJNDFDRjhCRTYxRDQ2MjIy
QzAwNzA3REM5IC8qIEZldGNoSW50ZXJuYWxzLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZh
c2NyaXB0OyBwYXRoID0gRmV0Y2hJbnRlcm5hbHMuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQxRDAxNUM4MEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb250ZW50VHlwZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MUQwMTVDOTBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29udGVudFR5cGUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUQ1MUJCMjFFNEUyRTgxMDAxMzFBNUIgLyog
TGliV2ViUlRDQXVkaW9Gb3JtYXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
TGliV2ViUlRDQXVkaW9Gb3JtYXQuaDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJSVENBdWRpb0Zv
cm1hdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUUxQjFDQTBGRjU5ODY5MDA1
NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQWJzdHJhY3RXb3JrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MUUxQjFDQjBGRjU5ODY5MDA1NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWJzdHJhY3RXb3JrZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDFFMUIxQ0MwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2Vy
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBYnN0cmFjdFdvcmtlci5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjg0NSw2ICsxNjg0Niw3IEBACiAJCTQxNTc0NzQyMUUz
ODY5ODAwMEU5MTREOCAvKiBsaWJ3ZWJydGMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKAorCQkJCTQxRDUxQkIyMUU0RTJFODEwMDEzMUE1QiAvKiBMaWJXZWJSVENB
dWRpb0Zvcm1hdC5oICovLAogCQkJCTQxNTA4MDM0MUUzRjAwQUEwMDUxRDc1RCAvKiBMaWJXZWJS
VENBdWRpb01vZHVsZS5jcHAgKi8sCiAJCQkJNDE1MDgwMzUxRTNGMDBBQTAwNTFENzVEIC8qIExp
YldlYlJUQ0F1ZGlvTW9kdWxlLmggKi8sCiAJCQkJNDE1NzQ3NDMxRTM4Njk5RTAwRTkxNEQ4IC8q
IExpYldlYlJUQ01hY3Jvcy5oICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vbWFjL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TYW1wbGVEYXRhU291cmNlLmNwcAppbmRleCA2N2IyNDE0
NjMzZDQ4MjA0MzQ0ZmNlZGY1Y2U3ZDAzMGVmZmU2N2NkLi5iZTE0Y2YyNzcwMjk0YjUzMDY0ZmY3
ZDJjOGFhNGYzNmVmNzdmYTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9tYWMvQXVkaW9TYW1wbGVEYXRhU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TYW1wbGVEYXRhU291cmNlLmNwcApAQCAtMjg2LDYgKzI4
NiwzNSBAQCBib29sIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6cHVsbFNhbXBsZXNJbnRlcm5hbChB
dWRpb0J1ZmZlckxpc3QmIGJ1ZmZlciwgc2l6ZV90JgogICAgIHJldHVybiB0cnVlOwogfQogCiti
b29sIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6cHVsbEF2YWxhaWJsZVNhbXBsZXNBc0NodW5rcyhB
dWRpb0J1ZmZlckxpc3QmIGJ1ZmZlciwgc2l6ZV90IHNhbXBsZUNvdW50UGVyQ2h1bmssIHVpbnQ2
NF90IHRpbWVTdGFtcCwgRnVuY3Rpb248dm9pZCgpPiYmIGJ1ZmZlcklzRmlsbGVkKQoreworICAg
IHN0ZDo6dW5pcXVlX2xvY2s8TG9jaz4gbG9jayhtX2xvY2ssIHN0ZDo6dHJ5X3RvX2xvY2spOwor
ICAgIGlmICghbG9jay5vd25zX2xvY2soKSB8fCAhbV9yaW5nQnVmZmVyKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBBU1NFUlQoYnVmZmVyLm1OdW1iZXJCdWZmZXJzID09IG1fcmluZ0J1
ZmZlci0+Y2hhbm5lbENvdW50KCkpOworICAgIGlmIChidWZmZXIubU51bWJlckJ1ZmZlcnMgIT0g
bV9yaW5nQnVmZmVyLT5jaGFubmVsQ291bnQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgaWYgKCFtX3JpbmdCdWZmZXIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHVpbnQ2
NF90IHN0YXJ0RnJhbWUgPSAwOworICAgIHVpbnQ2NF90IGVuZEZyYW1lID0gMDsKKyAgICBtX3Jp
bmdCdWZmZXItPmdldEN1cnJlbnRGcmFtZUJvdW5kcyhzdGFydEZyYW1lLCBlbmRGcmFtZSk7Cisg
ICAgaWYgKHRpbWVTdGFtcCA8IHN0YXJ0RnJhbWUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIHN0YXJ0RnJhbWUgPSB0aW1lU3RhbXA7CisgICAgd2hpbGUgKGVuZEZyYW1lIC0gc3RhcnRG
cmFtZSA+PSBzYW1wbGVDb3VudFBlckNodW5rKSB7CisgICAgICAgIGlmIChtX3JpbmdCdWZmZXIt
PmZldGNoKCZidWZmZXIsIHNhbXBsZUNvdW50UGVyQ2h1bmssIHN0YXJ0RnJhbWUsIENBUmluZ0J1
ZmZlcjo6Q29weSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGJ1ZmZlcklz
RmlsbGVkKCk7CisgICAgICAgIHN0YXJ0RnJhbWUgKz0gc2FtcGxlQ291bnRQZXJDaHVuazsKKyAg
ICB9CisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgQXVkaW9TYW1wbGVEYXRhU291cmNlOjpw
dWxsU2FtcGxlcyhBdWRpb0J1ZmZlckxpc3QmIGJ1ZmZlciwgc2l6ZV90IHNhbXBsZUNvdW50LCB1
aW50NjRfdCB0aW1lU3RhbXAsIGRvdWJsZSBob3N0VGltZSwgUHVsbE1vZGUgbW9kZSkKIHsKICAg
ICBzdGQ6OnVuaXF1ZV9sb2NrPExvY2s+IGxvY2sobV9sb2NrLCBzdGQ6OnRyeV90b19sb2NrKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBs
ZURhdGFTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1Nh
bXBsZURhdGFTb3VyY2UuaAppbmRleCAzNGQ4NDdkZTYwNWVkZjkzM2VlNzJhOGU2OGQwYmNjZDUw
NzNlNmEwLi4zY2M4OGZlODhmODMzODJlODViMGU0NGY2Mzg3ZGY0MjkzODJkYjNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TYW1wbGVEYXRhU291
cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2FtcGxl
RGF0YVNvdXJjZS5oCkBAIC01OSw2ICs1OSw4IEBAIHB1YmxpYzoKICAgICBib29sIHB1bGxTYW1w
bGVzKEF1ZGlvU2FtcGxlQnVmZmVyTGlzdCYsIHNpemVfdCwgdWludDY0X3QsIGRvdWJsZSwgUHVs
bE1vZGUpOwogICAgIGJvb2wgcHVsbFNhbXBsZXMoQXVkaW9CdWZmZXJMaXN0Jiwgc2l6ZV90LCB1
aW50NjRfdCwgZG91YmxlLCBQdWxsTW9kZSk7CiAKKyAgICBib29sIHB1bGxBdmFsYWlibGVTYW1w
bGVzQXNDaHVua3MoQXVkaW9CdWZmZXJMaXN0Jiwgc2l6ZV90IGZyYW1lQ291bnQsIHVpbnQ2NF90
IHRpbWVTdGFtcCwgRnVuY3Rpb248dm9pZCgpPiYmKTsKKwogICAgIHZvaWQgc2V0UGF1c2VkKGJv
b2wpOwogCiAgICAgdm9pZCBzZXRWb2x1bWUoZmxvYXQgdm9sdW1lKSB7IG1fdm9sdW1lID0gdm9s
dW1lOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvTGliV2ViUlRDQXVkaW9Gb3JtYXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENBdWRpb0Zvcm1hdC5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU0OTEwN2YxMDJlYjY3Mjg1ZTY4YTY2MmFjMzRmOGM1NzRlYTlhNWQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDQXVkaW9Gb3JtYXQuaApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK25hbWVz
cGFjZSBMaWJXZWJSVENBdWRpb0Zvcm1hdCB7CisKK3N0YXRpYyBjb25zdCBzaXplX3Qgc2FtcGxl
UmF0ZSA9IDQ4MDAwOworc3RhdGljIGNvbnN0IHNpemVfdCBjaHVua1NhbXBsZUNvdW50ID0gNDgw
Oworc3RhdGljIGNvbnN0IHNpemVfdCBzYW1wbGVTaXplID0gMTY7CitzdGF0aWMgY29uc3Qgc2l6
ZV90IHNhbXBsZUJ5dGVTaXplID0gMjsKK3N0YXRpYyBjb25zdCBib29sIGlzRmxvYXQgPSBmYWxz
ZTsKK3N0YXRpYyBjb25zdCBib29sIGlzQmlnRW5kaWFuID0gZmFsc2U7CitzdGF0aWMgY29uc3Qg
Ym9vbCBpc05vbkludGVybGVhdmVkID0gZmFsc2U7CisKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0
Z29pbmdBdWRpb1NvdXJjZS5jcHAKaW5kZXggMmQxZWVlYWE2MjVhNTcwNThiNTJhODFlYTI1NGEz
NzUwZWIwNTgyOS4uYWNkMDEwMDExMzBlM2FhMWRlOWQ2YWY2MmQzMDM4M2MyYmQ4ZDI1OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1l
T3V0Z29pbmdBdWRpb1NvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZS5jcHAKQEAgLTMxLDEzICsz
MSw2NiBAQAogCiAjaWYgVVNFKExJQldFQlJUQykKIAotI2luY2x1ZGUgIk5vdEltcGxlbWVudGVk
LmgiCisjaW5jbHVkZSAiQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmgiCisjaW5jbHVkZSAiTGli
V2ViUlRDQXVkaW9Gb3JtYXQuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENVdGlscy5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlOjphdWRp
b1NhbXBsZXNBdmFpbGFibGUoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgUGxhdGZvcm1BdWRpb0Rh
dGEmLCBjb25zdCBBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiwgc2l6ZV90KQorc3RhdGljIGlubGlu
ZSBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gbGlid2VicnRjQXVkaW9Gb3JtYXQoc2l6ZV90
IGNoYW5uZWxDb3VudCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIEF1ZGlvU3RyZWFt
QmFzaWNEZXNjcmlwdGlvbiBzdHJlYW1Gb3JtYXQ7CisgICAgRmlsbE91dEFTQkRGb3JMUENNKHN0
cmVhbUZvcm1hdCwgTGliV2ViUlRDQXVkaW9Gb3JtYXQ6OnNhbXBsZVJhdGUsIGNoYW5uZWxDb3Vu
dCwgTGliV2ViUlRDQXVkaW9Gb3JtYXQ6OnNhbXBsZVNpemUsIExpYldlYlJUQ0F1ZGlvRm9ybWF0
OjpzYW1wbGVTaXplLCBMaWJXZWJSVENBdWRpb0Zvcm1hdDo6aXNGbG9hdCwgTGliV2ViUlRDQXVk
aW9Gb3JtYXQ6OmlzQmlnRW5kaWFuLCBMaWJXZWJSVENBdWRpb0Zvcm1hdDo6aXNOb25JbnRlcmxl
YXZlZCk7CisgICAgcmV0dXJuIHN0cmVhbUZvcm1hdDsKK30KKworUmVhbHRpbWVPdXRnb2luZ0F1
ZGlvU291cmNlOjpSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UoUmVmPFJlYWx0aW1lTWVkaWFT
b3VyY2U+JiYgYXVkaW9Tb3VyY2UpCisgICAgOiBtX2F1ZGlvU291cmNlKFdURk1vdmUoYXVkaW9T
b3VyY2UpKQorICAgICwgbV9zYW1wbGVDb252ZXJ0ZXIoQXVkaW9TYW1wbGVEYXRhU291cmNlOjpj
cmVhdGUoTGliV2ViUlRDQXVkaW9Gb3JtYXQ6OnNhbXBsZVJhdGUgKiAyKSkKK3sKKyAgICBtX2F1
ZGlvU291cmNlLT5hZGRPYnNlcnZlcigqdGhpcyk7Cit9CisKK3ZvaWQgUmVhbHRpbWVPdXRnb2lu
Z0F1ZGlvU291cmNlOjpzb3VyY2VNdXRlZENoYW5nZWQoKQoreworICAgIG1faXNNdXRlZCA9IG1f
YXVkaW9Tb3VyY2UtPm11dGVkKCk7Cit9CisKK3ZvaWQgUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291
cmNlOjphdWRpb1NhbXBsZXNBdmFpbGFibGUoY29uc3QgTWVkaWFUaW1lJiB0aW1lLCBjb25zdCBQ
bGF0Zm9ybUF1ZGlvRGF0YSYgYXVkaW9EYXRhLCBjb25zdCBBdWRpb1N0cmVhbURlc2NyaXB0aW9u
JiBzdHJlYW1EZXNjcmlwdGlvbiwgc2l6ZV90IHNhbXBsZUNvdW50KQoreworICAgIGlmIChtX2lu
cHV0U3RyZWFtRGVzY3JpcHRpb24gIT0gc3RyZWFtRGVzY3JpcHRpb24pIHsKKyAgICAgICAgbV9p
bnB1dFN0cmVhbURlc2NyaXB0aW9uID0gdG9DQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24oc3RyZWFt
RGVzY3JpcHRpb24pOworICAgICAgICBhdXRvIHN0YXR1cyAgPSBtX3NhbXBsZUNvbnZlcnRlci0+
c2V0SW5wdXRGb3JtYXQobV9pbnB1dFN0cmVhbURlc2NyaXB0aW9uKTsKKyAgICAgICAgQVNTRVJU
X1VOVVNFRChzdGF0dXMsICFzdGF0dXMpOworCisgICAgICAgIHN0YXR1cyA9IG1fc2FtcGxlQ29u
dmVydGVyLT5zZXRPdXRwdXRGb3JtYXQobGlid2VicnRjQXVkaW9Gb3JtYXQoc3RyZWFtRGVzY3Jp
cHRpb24ubnVtYmVyT2ZDaGFubmVscygpKSk7CisgICAgICAgIEFTU0VSVCghc3RhdHVzKTsKKyAg
ICB9CisgICAgbV9zYW1wbGVDb252ZXJ0ZXItPnB1c2hTYW1wbGVzKHRpbWUsIGF1ZGlvRGF0YSwg
c2FtcGxlQ291bnQpOworCisgICAgY2FsbE9uV2ViUlRDU2lnbmFsaW5nVGhyZWFkKFtwcm90ZWN0
ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldIHsKKyAgICAgICAgcHJvdGVjdGVkVGhpcy0+cHVsbEF1
ZGlvRGF0YSgpOworICAgIH0pOworfQorCit2b2lkIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJj
ZTo6cHVsbEF1ZGlvRGF0YSgpCit7CisgICAgc2l6ZV90IGJ1ZmZlclNpemUgPSBMaWJXZWJSVENB
dWRpb0Zvcm1hdDo6Y2h1bmtTYW1wbGVDb3VudCAqIExpYldlYlJUQ0F1ZGlvRm9ybWF0OjpzYW1w
bGVCeXRlU2l6ZSAqIG1faW5wdXRTdHJlYW1EZXNjcmlwdGlvbi5udW1iZXJPZkNoYW5uZWxzKCk7
CisgICAgbV9hdWRpb0J1ZmZlci5yZXNlcnZlQ2FwYWNpdHkoYnVmZmVyU2l6ZSk7CisKKyAgICBB
dWRpb0J1ZmZlckxpc3QgYnVmZmVyTGlzdDsKKyAgICBidWZmZXJMaXN0Lm1OdW1iZXJCdWZmZXJz
ID0gMTsKKyAgICBidWZmZXJMaXN0Lm1CdWZmZXJzWzBdLm1OdW1iZXJDaGFubmVscyA9IG1faW5w
dXRTdHJlYW1EZXNjcmlwdGlvbi5udW1iZXJPZkNoYW5uZWxzKCk7CisgICAgYnVmZmVyTGlzdC5t
QnVmZmVyc1swXS5tRGF0YUJ5dGVTaXplID0gYnVmZmVyU2l6ZTsKKyAgICBidWZmZXJMaXN0Lm1C
dWZmZXJzWzBdLm1EYXRhID0gbV9hdWRpb0J1ZmZlci5kYXRhKCk7CisKKyAgICBtX3NhbXBsZUNv
bnZlcnRlci0+cHVsbEF2YWxhaWJsZVNhbXBsZXNBc0NodW5rcyhidWZmZXJMaXN0LCBMaWJXZWJS
VENBdWRpb0Zvcm1hdDo6Y2h1bmtTYW1wbGVDb3VudCwgbV9zdGFydEZyYW1lLCBbdGhpc10gewor
ICAgICAgICBtX3N0YXJ0RnJhbWUgKz0gTGliV2ViUlRDQXVkaW9Gb3JtYXQ6OmNodW5rU2FtcGxl
Q291bnQ7CisgICAgICAgIGlmIChtX2lzTXV0ZWQpCisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIGZvciAoYXV0byBzaW5rIDogbV9zaW5rcykKKyAgICAgICAgICAgIHNpbmstPk9uRGF0YSht
X2F1ZGlvQnVmZmVyLmRhdGEoKSwgTGliV2ViUlRDQXVkaW9Gb3JtYXQ6OnNhbXBsZVNpemUsIExp
YldlYlJUQ0F1ZGlvRm9ybWF0OjpzYW1wbGVSYXRlLCBtX2lucHV0U3RyZWFtRGVzY3JpcHRpb24u
bnVtYmVyT2ZDaGFubmVscygpLCBMaWJXZWJSVENBdWRpb0Zvcm1hdDo6Y2h1bmtTYW1wbGVDb3Vu
dCk7CisgICAgfSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nQXVk
aW9Tb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFs
dGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaAppbmRleCA3OGRkZjczMjdiZDAxZDc3NDg1NmYwMDdj
MDcxYWZjZjQwY2M4MTNlLi42YjkxZWIwMWUxNmU1YmJhYzc0MTM1MDhmNGQ5YTEyOWUzZGQwZjVm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVh
bHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZS5oCkBAIC0zMCw2ICsz
MCw3IEBACiAKICNpZiBVU0UoTElCV0VCUlRDKQogCisjaW5jbHVkZSAiQXVkaW9TYW1wbGVEYXRh
U291cmNlLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDTWFjcm9zLmgiCiAjaW5jbHVkZSAiUmVhbHRp
bWVNZWRpYVNvdXJjZS5oIgogI2luY2x1ZGUgPHdlYnJ0Yy9hcGkvbWVkaWFzdHJlYW1pbnRlcmZh
Y2UuaD4KQEAgLTQ5LDcgKzUwLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VHJhY2socnRjOjpz
Y29wZWRfcmVmcHRyPHdlYnJ0Yzo6QXVkaW9UcmFja0ludGVyZmFjZT4mJiB0cmFjaykgeyBtX3Ry
YWNrID0gV1RGTW92ZSh0cmFjayk7IH0KIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBSZWFsdGlt
ZU91dGdvaW5nQXVkaW9Tb3VyY2UoUmVmPFJlYWx0aW1lTWVkaWFTb3VyY2U+JiYgYXVkaW9Tb3Vy
Y2UpIDogbV9hdWRpb1NvdXJjZShXVEZNb3ZlKGF1ZGlvU291cmNlKSkgeyBtX2F1ZGlvU291cmNl
LT5hZGRPYnNlcnZlcigqdGhpcyk7IH0KKyAgICBleHBsaWNpdCBSZWFsdGltZU91dGdvaW5nQXVk
aW9Tb3VyY2UoUmVmPFJlYWx0aW1lTWVkaWFTb3VyY2U+JiYpOwogCiAgICAgdmlydHVhbCB2b2lk
IEFkZFNpbmsod2VicnRjOjpBdWRpb1RyYWNrU2lua0ludGVyZmFjZSogc2luaykgeyBtX3Npbmtz
LmFwcGVuZChzaW5rKTsgfQogICAgIHZpcnR1YWwgdm9pZCBSZW1vdmVTaW5rKHdlYnJ0Yzo6QXVk
aW9UcmFja1NpbmtJbnRlcmZhY2UqIHNpbmspIHsgbV9zaW5rcy5yZW1vdmVGaXJzdChzaW5rKTsg
fQpAQCAtNjMsMTcgKzY0LDIyIEBAIHByaXZhdGU6CiAKICAgICAvLyBSZWFsdGltZU1lZGlhU291
cmNlOjpPYnNlcnZlciBBUEkKICAgICB2b2lkIHNvdXJjZVN0b3BwZWQoKSBmaW5hbCB7IH0KLSAg
ICB2b2lkIHNvdXJjZU11dGVkQ2hhbmdlZCgpIGZpbmFsIHsgfQorICAgIHZvaWQgc291cmNlTXV0
ZWRDaGFuZ2VkKCkgZmluYWw7CiAgICAgdm9pZCBzb3VyY2VTZXR0aW5nc0NoYW5nZWQoKSBmaW5h
bCB7IH0KICAgICBib29sIHByZXZlbnRTb3VyY2VGcm9tU3RvcHBpbmcoKSBmaW5hbCB7IHJldHVy
biBmYWxzZTsgfQotICAgIHZvaWQgYXVkaW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IE1lZGlhVGlt
ZSYsIGNvbnN0IFBsYXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlv
biYsIHNpemVfdCkgZmluYWw7CisgICAgdm9pZCBhdWRpb1NhbXBsZXNBdmFpbGFibGUoY29uc3Qg
TWVkaWFUaW1lJiwgIGNvbnN0IFBsYXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgQXVkaW9TdHJlYW1E
ZXNjcmlwdGlvbiYsIHNpemVfdCkgZmluYWw7CiAKLSAgICB2b2lkIGNvbnZlcnRBbmRTZW5kTW9u
b1NhbXBsZXMoKTsKLSAgICB2b2lkIGNvbnZlcnRBbmRTZW5kU3RlcmVvU2FtcGxlcygpOworICAg
IHZvaWQgcHVsbEF1ZGlvRGF0YSgpOwogCiAgICAgVmVjdG9yPHdlYnJ0Yzo6QXVkaW9UcmFja1Np
bmtJbnRlcmZhY2UqPiBtX3NpbmtzOwogICAgIFJlZjxSZWFsdGltZU1lZGlhU291cmNlPiBtX2F1
ZGlvU291cmNlOwogICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkF1ZGlvVHJhY2tJbnRl
cmZhY2U+IG1fdHJhY2s7CisgICAgUmVmPEF1ZGlvU2FtcGxlRGF0YVNvdXJjZT4gbV9zYW1wbGVD
b252ZXJ0ZXI7CisgICAgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uIG1faW5wdXRTdHJlYW1EZXNj
cmlwdGlvbjsKKworICAgIFZlY3Rvcjx1aW50MTZfdD4gbV9hdWRpb0J1ZmZlcjsKKyAgICB1aW50
NjRfdCBtX3N0YXJ0RnJhbWUgeyAwIH07CisgICAgYm9vbCBtX2lzTXV0ZWQgeyBmYWxzZSB9Owog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301176</attachid>
            <date>2017-02-10 10:52:21 -0800</date>
            <delta_ts>2017-02-10 12:58:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168118-20170210104954.patch</filename>
            <type>text/plain</type>
            <size>16634</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyMTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWVmOWE4YTJlZTJhMDdl
YWVhYjVjODE4MTYyMGY1NzRkNzMxOTc1Zi4uOWM0ZTFlOWNlZWQ5MmUzMTk1YzM0ZWY2NzQzNjdj
MTUxMjUyN2ZiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE3LTAyLTEwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViUlRDXSBJbXBsZW1l
bnQgT3V0Z29pbmcgbGlid2VicnRjIGF1ZGlvIHNvdXJjZSBzdXBwb3J0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgxMTgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgYXV0b21hdGVkIHRlc3Rz
IGFzIHdlIG5lZWQgdGhlIGF1ZGlvIHJlbmRlcmluZyB0byB3b3JrIHRvIHRlc3QgdGhlIHdob2xl
IGxvb3AuCisKKyAgICAgICAgVXNpbmcgYW4gQXVkaW9TYW1wbGVEYXRhU291cmNlIHRvIGNvbnZl
cnQgdGhlIGNhcHR1cmVkIGRhdGEgaW4gbGlid2VicnRjIGV4cGVjdGVkIGZvcm1hdC4KKyAgICAg
ICAgQ2FwdHVyaW5nIGFuZCBwdXNoaW5nIGRhdGEgaGFwcGVucyBpbiB0aGUgY2FwdHVyZSB0aHJl
YWQuCisgICAgICAgIFB1bGxpbmcgb2YgY29udmVydGVkIGRhdGEgaGFwcGVucyBpbiBsaWJ3ZWJy
dGMgdGhyZWFkLgorCisgICAgICAgIEludHJvZHVjaW5nIGJXZWJSVENBdWRpb0Zvcm1hdC5oIHRv
IGNlbnRyaWFsaXNlIGxpYndiZWJydGMgZXhwZWN0ZWQgYXVkaW8gZm9ybWF0LgorCisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3Jt
L2F1ZGlvL1dlYkF1ZGlvQnVmZmVyTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJBdWRp
b0J1ZmZlckxpc3Q6OldlYkF1ZGlvQnVmZmVyTGlzdCk6IE1pc3NpbmcgaW5pdGlhbGl6YXRpb24g
bGVhZHMgdG8gYXNzZXJ0aW9uIGZhaWx1cmUuCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vbWFj
L0F1ZGlvU2FtcGxlQnVmZmVyTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1NhbXBs
ZUJ1ZmZlckxpc3Q6OmNvcHlGcm9tKTogSW4gY2FzZSBvZiBpbnRlcmxlYXZlZCBjaGFubmVscywg
dGhlcmUgaXMgb25lIGJ1ZmZlciBidXQgdHdvIGNoYW5uZWxzLgorICAgICAgICAqIHBsYXRmb3Jt
L2F1ZGlvL21hYy9BdWRpb1NhbXBsZURhdGFTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QXVkaW9TYW1wbGVEYXRhU291cmNlOjpwdXNoU2FtcGxlcyk6CisgICAgICAgIChXZWJDb3JlOjpB
dWRpb1NhbXBsZURhdGFTb3VyY2U6OnB1bGxBdmFsYWlibGVTYW1wbGVzQXNDaHVua3MpOgorICAg
ICAgICAqIHBsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBsZURhdGFTb3VyY2UuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDQXVkaW9Gb3JtYXQu
aDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0
Z29pbmdBdWRpb1NvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsaWJ3ZWJydGNBdWRpb0Zv
cm1hdCk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2U6OlJl
YWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU91
dGdvaW5nQXVkaW9Tb3VyY2U6OnNvdXJjZU11dGVkQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2U6OmF1ZGlvU2FtcGxlc0F2YWlsYWJsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2U6OnB1bGxBdWRpb0Rh
dGEpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5n
QXVkaW9Tb3VyY2UuaDoKKwogMjAxNy0wMi0wNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW1dlYlJUQ11bTWFjXSBBY3RpdmF0ZSBsaWJ3ZWJydGMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0
NjUyN2U5M2M4NWZjNzQ4ZGE2ODI4OGFlMDVkMzUxZWUyMjIxYTU3Li5mZjYxM2FlMzhkYzdmZjI3
MjQ4YTg4Y2UyOTA2ZWU5YzExNDVhZDI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04ODc2LDYgKzg4NzYsNyBAQAogCQk0MUNG
OEJFNjFENDYyMjJDMDA3MDdEQzkgLyogRmV0Y2hJbnRlcm5hbHMuanMgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBGZXRjaEludGVybmFscy5qczsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDFEMDE1QzgwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRUeXBlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRDAxNUM5MEY0QjVDNzEwMDRBNjYyRiAvKiBDb250
ZW50VHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb250ZW50
VHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRDUxQkIyMUU0RTJFODEw
MDEzMUE1QiAvKiBMaWJXZWJSVENBdWRpb0Zvcm1hdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBMaWJXZWJSVENBdWRpb0Zvcm1hdC5oOyBwYXRoID0gbGlid2VicnRjL0xpYldl
YlJUQ0F1ZGlvRm9ybWF0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRTFCMUNB
MEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBBYnN0cmFjdFdvcmtlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQxRTFCMUNCMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBYnN0cmFjdFdvcmtlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUUxQjFDQzBGRjU5ODY5MDA1NzZCM0IgLyogQWJz
dHJhY3RXb3JrZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFic3RyYWN0V29ya2VyLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2ODQ1LDYgKzE2ODQ2LDcgQEAKIAkJ
NDE1NzQ3NDIxRTM4Njk4MDAwRTkxNEQ4IC8qIGxpYndlYnJ0YyAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNDFENTFCQjIxRTRFMkU4MTAwMTMxQTVCIC8q
IExpYldlYlJUQ0F1ZGlvRm9ybWF0LmggKi8sCiAJCQkJNDE1MDgwMzQxRTNGMDBBQTAwNTFENzVE
IC8qIExpYldlYlJUQ0F1ZGlvTW9kdWxlLmNwcCAqLywKIAkJCQk0MTUwODAzNTFFM0YwMEFBMDA1
MUQ3NUQgLyogTGliV2ViUlRDQXVkaW9Nb2R1bGUuaCAqLywKIAkJCQk0MTU3NDc0MzFFMzg2OTlF
MDBFOTE0RDggLyogTGliV2ViUlRDTWFjcm9zLmggKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9XZWJBdWRpb0J1ZmZlckxpc3QuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vV2ViQXVkaW9CdWZmZXJMaXN0LmNwcAppbmRleCAwOTM2OThjMzli
YzlhNWI2NjY1ZGU2OTdkMjkxMTgyMjgxYThjYmMwLi4zN2I1MTI1ZjEwZDYzZmU3NzRmZjI4ZmQy
MWU3MDhlYWQ1NjhiMmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9XZWJBdWRpb0J1ZmZlckxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL1dlYkF1ZGlvQnVmZmVyTGlzdC5jcHAKQEAgLTY0LDYgKzY0LDcgQEAgV2ViQXVkaW9CdWZm
ZXJMaXN0OjpXZWJBdWRpb0J1ZmZlckxpc3QoY29uc3QgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9u
JiBmb3JtYXQsIHUKIAogICAgIGZvciAodWludDMyX3QgYnVmZmVyID0gMDsgYnVmZmVyIDwgbV9s
aXN0LT5tTnVtYmVyQnVmZmVyczsgKytidWZmZXIpIHsKICAgICAgICAgbV9saXN0LT5tQnVmZmVy
c1tidWZmZXJdLm1EYXRhID0gZGF0YTsKKyAgICAgICAgbV9saXN0LT5tQnVmZmVyc1tidWZmZXJd
Lm1EYXRhQnl0ZVNpemUgPSBieXRlc1BlckJ1ZmZlcjsKICAgICAgICAgZGF0YSArPSBieXRlc1Bl
ckJ1ZmZlcjsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9tYWMvQXVkaW9TYW1wbGVCdWZmZXJMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBsZUJ1ZmZlckxpc3QuY3BwCmluZGV4IDc5NGU4NmMxYzI4
ZTAyOWZkYjFhMTNhNGRhYTI2MGRmNjM3NjFhNDIuLmMxOWVmN2Q5OGZmNWNiZDQ4NmRhMzBjOTU1
NzhkY2MyZTU2MjMxYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L21hYy9BdWRpb1NhbXBsZUJ1ZmZlckxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBsZUJ1ZmZlckxpc3QuY3BwCkBAIC0yNjAsNyArMjYwLDcg
QEAgT1NTdGF0dXMgQXVkaW9TYW1wbGVCdWZmZXJMaXN0Ojpjb3B5RnJvbShjb25zdCBBdWRpb0J1
ZmZlckxpc3QmIHNvdXJjZSwgQXVkaW9Db24KICAgICBwcm9wZXJ0eURhdGFTaXplID0gc2l6ZW9m
KG91dHB1dEZvcm1hdCk7CiAgICAgQXVkaW9Db252ZXJ0ZXJHZXRQcm9wZXJ0eShjb252ZXJ0ZXIs
IGtBdWRpb0NvbnZlcnRlckN1cnJlbnRPdXRwdXRTdHJlYW1EZXNjcmlwdGlvbiwgJnByb3BlcnR5
RGF0YVNpemUsICZvdXRwdXRGb3JtYXQpOwogCi0gICAgQVNTRVJUKG91dHB1dEZvcm1hdC5tQ2hh
bm5lbHNQZXJGcmFtZSA9PSBtX2J1ZmZlckxpc3QtPmJ1ZmZlckNvdW50KCkpOworICAgIEFTU0VS
VChDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24ob3V0cHV0Rm9ybWF0KS5udW1iZXJPZkNoYW5uZWxT
dHJlYW1zKCkgPT0gbV9idWZmZXJMaXN0LT5idWZmZXJDb3VudCgpKTsKICAgICBmb3IgKHVpbnQz
Ml90IGkgPSAwOyBpIDwgbV9idWZmZXJMaXN0LT5idWZmZXJDb3VudCgpOyArK2kpIHsKICAgICAg
ICAgQVNTRVJUKG1fYnVmZmVyTGlzdC0+YnVmZmVyKGkpLT5tRGF0YSk7CiAgICAgICAgIEFTU0VS
VChtX2J1ZmZlckxpc3QtPmJ1ZmZlcihpKS0+bURhdGFCeXRlU2l6ZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TYW1wbGVEYXRhU291cmNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBsZURhdGFTb3Vy
Y2UuY3BwCmluZGV4IDY3YjI0MTQ2MzNkNDgyMDQzNDRmY2VkZjVjZTdkMDMwZWZmZTY3Y2QuLjI4
YmQ0Nzg4ZjZjYzQ0NjFjYmY3YTI2Nzk3NzQ4ODBkOGMyZTVlMjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBsZURhdGFTb3VyY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBsZURhdGFTb3Vy
Y2UuY3BwCkBAIC0yMDEsNyArMjAxLDcgQEAgdm9pZCBBdWRpb1NhbXBsZURhdGFTb3VyY2U6OnB1
c2hTYW1wbGVzKGNvbnN0IE1lZGlhVGltZSYgc2FtcGxlVGltZSwgY29uc3QgUGxhdGYKIHsKICAg
ICBzdGQ6OnVuaXF1ZV9sb2NrPExvY2s+IGxvY2sobV9sb2NrLCBzdGQ6OnRyeV90b19sb2NrKTsK
ICAgICBBU1NFUlQoaXM8V2ViQXVkaW9CdWZmZXJMaXN0PihhdWRpb0RhdGEpKTsKLSAgICBwdXNo
U2FtcGxlc0ludGVybmFsKGRvd25jYXN0PFdlYkF1ZGlvQnVmZmVyTGlzdD4oYXVkaW9EYXRhKSwg
c2FtcGxlVGltZSwgc2FtcGxlQ291bnQpOworICAgIHB1c2hTYW1wbGVzSW50ZXJuYWwoKmRvd25j
YXN0PFdlYkF1ZGlvQnVmZmVyTGlzdD4oYXVkaW9EYXRhKS5saXN0KCksIHNhbXBsZVRpbWUsIHNh
bXBsZUNvdW50KTsKIH0KIAogYm9vbCBBdWRpb1NhbXBsZURhdGFTb3VyY2U6OnB1bGxTYW1wbGVz
SW50ZXJuYWwoQXVkaW9CdWZmZXJMaXN0JiBidWZmZXIsIHNpemVfdCYgc2FtcGxlQ291bnQsIHVp
bnQ2NF90IHRpbWVTdGFtcCwgZG91YmxlIC8qaG9zdFRpbWUqLywgUHVsbE1vZGUgbW9kZSkKQEAg
LTI4Niw2ICsyODYsMzIgQEAgYm9vbCBBdWRpb1NhbXBsZURhdGFTb3VyY2U6OnB1bGxTYW1wbGVz
SW50ZXJuYWwoQXVkaW9CdWZmZXJMaXN0JiBidWZmZXIsIHNpemVfdCYKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAorYm9vbCBBdWRpb1NhbXBsZURhdGFTb3VyY2U6OnB1bGxBdmFsYWlibGVTYW1wbGVz
QXNDaHVua3MoQXVkaW9CdWZmZXJMaXN0JiBidWZmZXIsIHNpemVfdCBzYW1wbGVDb3VudFBlckNo
dW5rLCB1aW50NjRfdCB0aW1lU3RhbXAsIEZ1bmN0aW9uPHZvaWQoKT4mJiBidWZmZXJJc0ZpbGxl
ZCkKK3sKKyAgICBzdGQ6OnVuaXF1ZV9sb2NrPExvY2s+IGxvY2sobV9sb2NrLCBzdGQ6OnRyeV90
b19sb2NrKTsKKyAgICBpZiAoIWxvY2sub3duc19sb2NrKCkgfHwgIW1fcmluZ0J1ZmZlcikKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgQVNTRVJUKGJ1ZmZlci5tTnVtYmVyQnVmZmVycyA9
PSBtX3JpbmdCdWZmZXItPmNoYW5uZWxDb3VudCgpKTsKKyAgICBpZiAoYnVmZmVyLm1OdW1iZXJC
dWZmZXJzICE9IG1fcmluZ0J1ZmZlci0+Y2hhbm5lbENvdW50KCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIHVpbnQ2NF90IHN0YXJ0RnJhbWUgPSAwOworICAgIHVpbnQ2NF90IGVuZEZy
YW1lID0gMDsKKyAgICBtX3JpbmdCdWZmZXItPmdldEN1cnJlbnRGcmFtZUJvdW5kcyhzdGFydEZy
YW1lLCBlbmRGcmFtZSk7CisgICAgaWYgKHRpbWVTdGFtcCA8IHN0YXJ0RnJhbWUpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIHN0YXJ0RnJhbWUgPSB0aW1lU3RhbXA7CisgICAgd2hpbGUg
KGVuZEZyYW1lIC0gc3RhcnRGcmFtZSA+PSBzYW1wbGVDb3VudFBlckNodW5rKSB7CisgICAgICAg
IGlmIChtX3JpbmdCdWZmZXItPmZldGNoKCZidWZmZXIsIHNhbXBsZUNvdW50UGVyQ2h1bmssIHN0
YXJ0RnJhbWUsIENBUmluZ0J1ZmZlcjo6Q29weSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgIGJ1ZmZlcklzRmlsbGVkKCk7CisgICAgICAgIHN0YXJ0RnJhbWUgKz0gc2FtcGxl
Q291bnRQZXJDaHVuazsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgQXVkaW9T
YW1wbGVEYXRhU291cmNlOjpwdWxsU2FtcGxlcyhBdWRpb0J1ZmZlckxpc3QmIGJ1ZmZlciwgc2l6
ZV90IHNhbXBsZUNvdW50LCB1aW50NjRfdCB0aW1lU3RhbXAsIGRvdWJsZSBob3N0VGltZSwgUHVs
bE1vZGUgbW9kZSkKIHsKICAgICBzdGQ6OnVuaXF1ZV9sb2NrPExvY2s+IGxvY2sobV9sb2NrLCBz
dGQ6OnRyeV90b19sb2NrKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL21hYy9BdWRpb1NhbXBsZURhdGFTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL21hYy9BdWRpb1NhbXBsZURhdGFTb3VyY2UuaAppbmRleCAzNGQ4NDdkZTYwNWVkZjkz
M2VlNzJhOGU2OGQwYmNjZDUwNzNlNmEwLi4zY2M4OGZlODhmODMzODJlODViMGU0NGY2Mzg3ZGY0
MjkzODJkYjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMv
QXVkaW9TYW1wbGVEYXRhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vbWFjL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oCkBAIC01OSw2ICs1OSw4IEBAIHB1YmxpYzoK
ICAgICBib29sIHB1bGxTYW1wbGVzKEF1ZGlvU2FtcGxlQnVmZmVyTGlzdCYsIHNpemVfdCwgdWlu
dDY0X3QsIGRvdWJsZSwgUHVsbE1vZGUpOwogICAgIGJvb2wgcHVsbFNhbXBsZXMoQXVkaW9CdWZm
ZXJMaXN0Jiwgc2l6ZV90LCB1aW50NjRfdCwgZG91YmxlLCBQdWxsTW9kZSk7CiAKKyAgICBib29s
IHB1bGxBdmFsYWlibGVTYW1wbGVzQXNDaHVua3MoQXVkaW9CdWZmZXJMaXN0Jiwgc2l6ZV90IGZy
YW1lQ291bnQsIHVpbnQ2NF90IHRpbWVTdGFtcCwgRnVuY3Rpb248dm9pZCgpPiYmKTsKKwogICAg
IHZvaWQgc2V0UGF1c2VkKGJvb2wpOwogCiAgICAgdm9pZCBzZXRWb2x1bWUoZmxvYXQgdm9sdW1l
KSB7IG1fdm9sdW1lID0gdm9sdW1lOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDQXVkaW9Gb3JtYXQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENBdWRpb0Zv
cm1hdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmU0OTEwN2YxMDJlYjY3Mjg1ZTY4YTY2MmFjMzRmOGM1NzRlYTlh
NWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDQXVkaW9Gb3JtYXQuaApAQCAtMCwwICsxLDQ2IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK25hbWVzcGFjZSBMaWJXZWJSVENBdWRpb0Zvcm1hdCB7CisKK3N0YXRpYyBj
b25zdCBzaXplX3Qgc2FtcGxlUmF0ZSA9IDQ4MDAwOworc3RhdGljIGNvbnN0IHNpemVfdCBjaHVu
a1NhbXBsZUNvdW50ID0gNDgwOworc3RhdGljIGNvbnN0IHNpemVfdCBzYW1wbGVTaXplID0gMTY7
CitzdGF0aWMgY29uc3Qgc2l6ZV90IHNhbXBsZUJ5dGVTaXplID0gMjsKK3N0YXRpYyBjb25zdCBi
b29sIGlzRmxvYXQgPSBmYWxzZTsKK3N0YXRpYyBjb25zdCBib29sIGlzQmlnRW5kaWFuID0gZmFs
c2U7CitzdGF0aWMgY29uc3QgYm9vbCBpc05vbkludGVybGVhdmVkID0gZmFsc2U7CisKK30KKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91
dGdvaW5nQXVkaW9Tb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZS5jcHAKaW5kZXggMmQxZWVlYWE2MjVh
NTcwNThiNTJhODFlYTI1NGEzNzUwZWIwNTgyOS4uYWNkMDEwMDExMzBlM2FhMWRlOWQ2YWY2MmQz
MDM4M2MyYmQ4ZDI1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJj
ZS5jcHAKQEAgLTMxLDEzICszMSw2NiBAQAogCiAjaWYgVVNFKExJQldFQlJUQykKIAotI2luY2x1
ZGUgIk5vdEltcGxlbWVudGVkLmgiCisjaW5jbHVkZSAiQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9u
LmgiCisjaW5jbHVkZSAiTGliV2ViUlRDQXVkaW9Gb3JtYXQuaCIKKyNpbmNsdWRlICJMaWJXZWJS
VENVdGlscy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgUmVhbHRpbWVPdXRnb2lu
Z0F1ZGlvU291cmNlOjphdWRpb1NhbXBsZXNBdmFpbGFibGUoY29uc3QgTWVkaWFUaW1lJiwgY29u
c3QgUGxhdGZvcm1BdWRpb0RhdGEmLCBjb25zdCBBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiwgc2l6
ZV90KQorc3RhdGljIGlubGluZSBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gbGlid2VicnRj
QXVkaW9Gb3JtYXQoc2l6ZV90IGNoYW5uZWxDb3VudCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgp
OworICAgIEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiBzdHJlYW1Gb3JtYXQ7CisgICAgRmls
bE91dEFTQkRGb3JMUENNKHN0cmVhbUZvcm1hdCwgTGliV2ViUlRDQXVkaW9Gb3JtYXQ6OnNhbXBs
ZVJhdGUsIGNoYW5uZWxDb3VudCwgTGliV2ViUlRDQXVkaW9Gb3JtYXQ6OnNhbXBsZVNpemUsIExp
YldlYlJUQ0F1ZGlvRm9ybWF0OjpzYW1wbGVTaXplLCBMaWJXZWJSVENBdWRpb0Zvcm1hdDo6aXNG
bG9hdCwgTGliV2ViUlRDQXVkaW9Gb3JtYXQ6OmlzQmlnRW5kaWFuLCBMaWJXZWJSVENBdWRpb0Zv
cm1hdDo6aXNOb25JbnRlcmxlYXZlZCk7CisgICAgcmV0dXJuIHN0cmVhbUZvcm1hdDsKK30KKwor
UmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlOjpSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2Uo
UmVmPFJlYWx0aW1lTWVkaWFTb3VyY2U+JiYgYXVkaW9Tb3VyY2UpCisgICAgOiBtX2F1ZGlvU291
cmNlKFdURk1vdmUoYXVkaW9Tb3VyY2UpKQorICAgICwgbV9zYW1wbGVDb252ZXJ0ZXIoQXVkaW9T
YW1wbGVEYXRhU291cmNlOjpjcmVhdGUoTGliV2ViUlRDQXVkaW9Gb3JtYXQ6OnNhbXBsZVJhdGUg
KiAyKSkKK3sKKyAgICBtX2F1ZGlvU291cmNlLT5hZGRPYnNlcnZlcigqdGhpcyk7Cit9CisKK3Zv
aWQgUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlOjpzb3VyY2VNdXRlZENoYW5nZWQoKQorewor
ICAgIG1faXNNdXRlZCA9IG1fYXVkaW9Tb3VyY2UtPm11dGVkKCk7Cit9CisKK3ZvaWQgUmVhbHRp
bWVPdXRnb2luZ0F1ZGlvU291cmNlOjphdWRpb1NhbXBsZXNBdmFpbGFibGUoY29uc3QgTWVkaWFU
aW1lJiB0aW1lLCBjb25zdCBQbGF0Zm9ybUF1ZGlvRGF0YSYgYXVkaW9EYXRhLCBjb25zdCBBdWRp
b1N0cmVhbURlc2NyaXB0aW9uJiBzdHJlYW1EZXNjcmlwdGlvbiwgc2l6ZV90IHNhbXBsZUNvdW50
KQoreworICAgIGlmIChtX2lucHV0U3RyZWFtRGVzY3JpcHRpb24gIT0gc3RyZWFtRGVzY3JpcHRp
b24pIHsKKyAgICAgICAgbV9pbnB1dFN0cmVhbURlc2NyaXB0aW9uID0gdG9DQUF1ZGlvU3RyZWFt
RGVzY3JpcHRpb24oc3RyZWFtRGVzY3JpcHRpb24pOworICAgICAgICBhdXRvIHN0YXR1cyAgPSBt
X3NhbXBsZUNvbnZlcnRlci0+c2V0SW5wdXRGb3JtYXQobV9pbnB1dFN0cmVhbURlc2NyaXB0aW9u
KTsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChzdGF0dXMsICFzdGF0dXMpOworCisgICAgICAgIHN0
YXR1cyA9IG1fc2FtcGxlQ29udmVydGVyLT5zZXRPdXRwdXRGb3JtYXQobGlid2VicnRjQXVkaW9G
b3JtYXQoc3RyZWFtRGVzY3JpcHRpb24ubnVtYmVyT2ZDaGFubmVscygpKSk7CisgICAgICAgIEFT
U0VSVCghc3RhdHVzKTsKKyAgICB9CisgICAgbV9zYW1wbGVDb252ZXJ0ZXItPnB1c2hTYW1wbGVz
KHRpbWUsIGF1ZGlvRGF0YSwgc2FtcGxlQ291bnQpOworCisgICAgY2FsbE9uV2ViUlRDU2lnbmFs
aW5nVGhyZWFkKFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldIHsKKyAgICAgICAgcHJv
dGVjdGVkVGhpcy0+cHVsbEF1ZGlvRGF0YSgpOworICAgIH0pOworfQorCit2b2lkIFJlYWx0aW1l
T3V0Z29pbmdBdWRpb1NvdXJjZTo6cHVsbEF1ZGlvRGF0YSgpCit7CisgICAgc2l6ZV90IGJ1ZmZl
clNpemUgPSBMaWJXZWJSVENBdWRpb0Zvcm1hdDo6Y2h1bmtTYW1wbGVDb3VudCAqIExpYldlYlJU
Q0F1ZGlvRm9ybWF0OjpzYW1wbGVCeXRlU2l6ZSAqIG1faW5wdXRTdHJlYW1EZXNjcmlwdGlvbi5u
dW1iZXJPZkNoYW5uZWxzKCk7CisgICAgbV9hdWRpb0J1ZmZlci5yZXNlcnZlQ2FwYWNpdHkoYnVm
ZmVyU2l6ZSk7CisKKyAgICBBdWRpb0J1ZmZlckxpc3QgYnVmZmVyTGlzdDsKKyAgICBidWZmZXJM
aXN0Lm1OdW1iZXJCdWZmZXJzID0gMTsKKyAgICBidWZmZXJMaXN0Lm1CdWZmZXJzWzBdLm1OdW1i
ZXJDaGFubmVscyA9IG1faW5wdXRTdHJlYW1EZXNjcmlwdGlvbi5udW1iZXJPZkNoYW5uZWxzKCk7
CisgICAgYnVmZmVyTGlzdC5tQnVmZmVyc1swXS5tRGF0YUJ5dGVTaXplID0gYnVmZmVyU2l6ZTsK
KyAgICBidWZmZXJMaXN0Lm1CdWZmZXJzWzBdLm1EYXRhID0gbV9hdWRpb0J1ZmZlci5kYXRhKCk7
CisKKyAgICBtX3NhbXBsZUNvbnZlcnRlci0+cHVsbEF2YWxhaWJsZVNhbXBsZXNBc0NodW5rcyhi
dWZmZXJMaXN0LCBMaWJXZWJSVENBdWRpb0Zvcm1hdDo6Y2h1bmtTYW1wbGVDb3VudCwgbV9zdGFy
dEZyYW1lLCBbdGhpc10geworICAgICAgICBtX3N0YXJ0RnJhbWUgKz0gTGliV2ViUlRDQXVkaW9G
b3JtYXQ6OmNodW5rU2FtcGxlQ291bnQ7CisgICAgICAgIGlmIChtX2lzTXV0ZWQpCisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIGZvciAoYXV0byBzaW5rIDogbV9zaW5rcykKKyAgICAgICAg
ICAgIHNpbmstPk9uRGF0YShtX2F1ZGlvQnVmZmVyLmRhdGEoKSwgTGliV2ViUlRDQXVkaW9Gb3Jt
YXQ6OnNhbXBsZVNpemUsIExpYldlYlJUQ0F1ZGlvRm9ybWF0OjpzYW1wbGVSYXRlLCBtX2lucHV0
U3RyZWFtRGVzY3JpcHRpb24ubnVtYmVyT2ZDaGFubmVscygpLCBMaWJXZWJSVENBdWRpb0Zvcm1h
dDo6Y2h1bmtTYW1wbGVDb3VudCk7CisgICAgfSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9S
ZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaAppbmRleCA3OGRkZjcz
MjdiZDAxZDc3NDg1NmYwMDdjMDcxYWZjZjQwY2M4MTNlLi42YjkxZWIwMWUxNmU1YmJhYzc0MTM1
MDhmNGQ5YTEyOWUzZGQwZjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1Nv
dXJjZS5oCkBAIC0zMCw2ICszMCw3IEBACiAKICNpZiBVU0UoTElCV0VCUlRDKQogCisjaW5jbHVk
ZSAiQXVkaW9TYW1wbGVEYXRhU291cmNlLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDTWFjcm9zLmgi
CiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZS5oIgogI2luY2x1ZGUgPHdlYnJ0Yy9hcGkv
bWVkaWFzdHJlYW1pbnRlcmZhY2UuaD4KQEAgLTQ5LDcgKzUwLDcgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0VHJhY2socnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6QXVkaW9UcmFja0ludGVyZmFj
ZT4mJiB0cmFjaykgeyBtX3RyYWNrID0gV1RGTW92ZSh0cmFjayk7IH0KIAogcHJpdmF0ZToKLSAg
ICBleHBsaWNpdCBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UoUmVmPFJlYWx0aW1lTWVkaWFT
b3VyY2U+JiYgYXVkaW9Tb3VyY2UpIDogbV9hdWRpb1NvdXJjZShXVEZNb3ZlKGF1ZGlvU291cmNl
KSkgeyBtX2F1ZGlvU291cmNlLT5hZGRPYnNlcnZlcigqdGhpcyk7IH0KKyAgICBleHBsaWNpdCBS
ZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UoUmVmPFJlYWx0aW1lTWVkaWFTb3VyY2U+JiYpOwog
CiAgICAgdmlydHVhbCB2b2lkIEFkZFNpbmsod2VicnRjOjpBdWRpb1RyYWNrU2lua0ludGVyZmFj
ZSogc2luaykgeyBtX3NpbmtzLmFwcGVuZChzaW5rKTsgfQogICAgIHZpcnR1YWwgdm9pZCBSZW1v
dmVTaW5rKHdlYnJ0Yzo6QXVkaW9UcmFja1NpbmtJbnRlcmZhY2UqIHNpbmspIHsgbV9zaW5rcy5y
ZW1vdmVGaXJzdChzaW5rKTsgfQpAQCAtNjMsMTcgKzY0LDIyIEBAIHByaXZhdGU6CiAKICAgICAv
LyBSZWFsdGltZU1lZGlhU291cmNlOjpPYnNlcnZlciBBUEkKICAgICB2b2lkIHNvdXJjZVN0b3Bw
ZWQoKSBmaW5hbCB7IH0KLSAgICB2b2lkIHNvdXJjZU11dGVkQ2hhbmdlZCgpIGZpbmFsIHsgfQor
ICAgIHZvaWQgc291cmNlTXV0ZWRDaGFuZ2VkKCkgZmluYWw7CiAgICAgdm9pZCBzb3VyY2VTZXR0
aW5nc0NoYW5nZWQoKSBmaW5hbCB7IH0KICAgICBib29sIHByZXZlbnRTb3VyY2VGcm9tU3RvcHBp
bmcoKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQotICAgIHZvaWQgYXVkaW9TYW1wbGVzQXZhaWxh
YmxlKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IFBsYXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgQXVk
aW9TdHJlYW1EZXNjcmlwdGlvbiYsIHNpemVfdCkgZmluYWw7CisgICAgdm9pZCBhdWRpb1NhbXBs
ZXNBdmFpbGFibGUoY29uc3QgTWVkaWFUaW1lJiwgIGNvbnN0IFBsYXRmb3JtQXVkaW9EYXRhJiwg
Y29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHNpemVfdCkgZmluYWw7CiAKLSAgICB2b2lk
IGNvbnZlcnRBbmRTZW5kTW9ub1NhbXBsZXMoKTsKLSAgICB2b2lkIGNvbnZlcnRBbmRTZW5kU3Rl
cmVvU2FtcGxlcygpOworICAgIHZvaWQgcHVsbEF1ZGlvRGF0YSgpOwogCiAgICAgVmVjdG9yPHdl
YnJ0Yzo6QXVkaW9UcmFja1NpbmtJbnRlcmZhY2UqPiBtX3NpbmtzOwogICAgIFJlZjxSZWFsdGlt
ZU1lZGlhU291cmNlPiBtX2F1ZGlvU291cmNlOwogICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJy
dGM6OkF1ZGlvVHJhY2tJbnRlcmZhY2U+IG1fdHJhY2s7CisgICAgUmVmPEF1ZGlvU2FtcGxlRGF0
YVNvdXJjZT4gbV9zYW1wbGVDb252ZXJ0ZXI7CisgICAgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9u
IG1faW5wdXRTdHJlYW1EZXNjcmlwdGlvbjsKKworICAgIFZlY3Rvcjx1aW50MTZfdD4gbV9hdWRp
b0J1ZmZlcjsKKyAgICB1aW50NjRfdCBtX3N0YXJ0RnJhbWUgeyAwIH07CisgICAgYm9vbCBtX2lz
TXV0ZWQgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301195</attachid>
            <date>2017-02-10 12:58:04 -0800</date>
            <delta_ts>2017-02-10 13:31:07 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-168118-20170210125537.patch</filename>
            <type>text/plain</type>
            <size>16530</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyMTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzJjMGM2M2Q0YTE1MDdj
MWQwZWI1YTI1NGUwODg5YzJjMzYzMjlkYi4uMWY1YTM4YzI1YzA4NGQ3NWZjMDM2MzdhMzU5Y2Yy
NjQyZTRiZjUyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE3LTAyLTEwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViUlRDXSBJbXBsZW1l
bnQgT3V0Z29pbmcgbGlid2VicnRjIGF1ZGlvIHNvdXJjZSBzdXBwb3J0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgxMTgKKworICAgICAgICBSZXZp
ZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgTm8gbmV3IGF1dG9tYXRlZCB0ZXN0cyBh
cyB3ZSBuZWVkIHRoZSBhdWRpbyByZW5kZXJpbmcgdG8gd29yayB0byB0ZXN0IHRoZSB3aG9sZSBs
b29wLgorCisgICAgICAgIFVzaW5nIGFuIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZSB0byBjb252ZXJ0
IHRoZSBjYXB0dXJlZCBkYXRhIHRvIGxpYndlYnJ0YyBleHBlY3RlZCBmb3JtYXQuCisgICAgICAg
IENhcHR1cmluZyBhbmQgcHVzaGluZyBkYXRhIGhhcHBlbnMgaW4gdGhlIGNhcHR1cmUgdGhyZWFk
LgorICAgICAgICBQdWxsaW5nIG9mIGNvbnZlcnRlZCBkYXRhIGhhcHBlbnMgaW4gbGlid2VicnRj
IHRocmVhZC4KKworICAgICAgICBJbnRyb2R1Y2luZyBMaWJXZWJSVENBdWRpb0Zvcm1hdC5oIHRv
IGNlbnRyYWxpemUgbGlid2JlYnJ0YyBleHBlY3RlZCBhdWRpbyBmb3JtYXQuCisKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vV2ViQXVkaW9CdWZmZXJMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkF1ZGlv
QnVmZmVyTGlzdDo6V2ViQXVkaW9CdWZmZXJMaXN0KTogTWlzc2luZyBpbml0aWFsaXphdGlvbiBs
ZWFkcyB0byBhc3NlcnRpb24gZmFpbHVyZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9tYWMv
QXVkaW9TYW1wbGVCdWZmZXJMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2FtcGxl
QnVmZmVyTGlzdDo6Y29weUZyb20pOiBJbiBjYXNlIG9mIGludGVybGVhdmVkIGNoYW5uZWxzLCB0
aGVyZSBpcyBvbmUgYnVmZmVyIGJ1dCB0d28gY2hhbm5lbHMuCisgICAgICAgICogcGxhdGZvcm0v
YXVkaW8vbWFjL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpB
dWRpb1NhbXBsZURhdGFTb3VyY2U6OnB1c2hTYW1wbGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkF1
ZGlvU2FtcGxlRGF0YVNvdXJjZTo6cHVsbEF2YWxhaWJsZVNhbXBsZXNBc0NodW5rcyk6CisgICAg
ICAgICogcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENBdWRpb0Zvcm1hdC5o
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRn
b2luZ0F1ZGlvU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmxpYndlYnJ0Y0F1ZGlvRm9y
bWF0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZTo6UmVh
bHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lT3V0
Z29pbmdBdWRpb1NvdXJjZTo6c291cmNlTXV0ZWRDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZTo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZTo6cHVsbEF1ZGlvRGF0
YSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdB
dWRpb1NvdXJjZS5oOgorCiAyMDE3LTAyLTEwICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbRU1FXSBJbXBsZW1lbnQgTWVkaWFLZXlTZXNzaW9uOjpsb2Fk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCA0NjUyN2U5M2M4NWZjNzQ4ZGE2ODI4OGFlMDVkMzUxZWUyMjIxYTU3Li5mZjYxM2Fl
MzhkYzdmZjI3MjQ4YTg4Y2UyOTA2ZWU5YzExNDVhZDI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04ODc2LDYgKzg4NzYsNyBA
QAogCQk0MUNGOEJFNjFENDYyMjJDMDA3MDdEQzkgLyogRmV0Y2hJbnRlcm5hbHMuanMgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBGZXRjaEludGVybmFscy5qczsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFEMDE1QzgwRjRCNUM3MTAwNEE2NjJGIC8qIENv
bnRlbnRUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRUeXBl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRDAxNUM5MEY0QjVDNzEwMDRBNjYy
RiAvKiBDb250ZW50VHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBDb250ZW50VHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRDUxQkIy
MUU0RTJFODEwMDEzMUE1QiAvKiBMaWJXZWJSVENBdWRpb0Zvcm1hdC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJXZWJSVENBdWRpb0Zvcm1hdC5oOyBwYXRoID0gbGlid2Vi
cnRjL0xpYldlYlJUQ0F1ZGlvRm9ybWF0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQxRTFCMUNBMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBYnN0cmFjdFdvcmtlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRTFCMUNCMEZGNTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFj
dFdvcmtlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBYnN0cmFjdFdvcmtl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUUxQjFDQzBGRjU5ODY5MDA1NzZC
M0IgLyogQWJzdHJhY3RXb3JrZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFic3RyYWN0
V29ya2VyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2ODQ1LDYgKzE2ODQ2
LDcgQEAKIAkJNDE1NzQ3NDIxRTM4Njk4MDAwRTkxNEQ4IC8qIGxpYndlYnJ0YyAqLyA9IHsKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNDFENTFCQjIxRTRFMkU4MTAw
MTMxQTVCIC8qIExpYldlYlJUQ0F1ZGlvRm9ybWF0LmggKi8sCiAJCQkJNDE1MDgwMzQxRTNGMDBB
QTAwNTFENzVEIC8qIExpYldlYlJUQ0F1ZGlvTW9kdWxlLmNwcCAqLywKIAkJCQk0MTUwODAzNTFF
M0YwMEFBMDA1MUQ3NUQgLyogTGliV2ViUlRDQXVkaW9Nb2R1bGUuaCAqLywKIAkJCQk0MTU3NDc0
MzFFMzg2OTlFMDBFOTE0RDggLyogTGliV2ViUlRDTWFjcm9zLmggKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9XZWJBdWRpb0J1ZmZlckxpc3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vV2ViQXVkaW9CdWZmZXJMaXN0LmNwcAppbmRleCAw
OTM2OThjMzliYzlhNWI2NjY1ZGU2OTdkMjkxMTgyMjgxYThjYmMwLi4zN2I1MTI1ZjEwZDYzZmU3
NzRmZjI4ZmQyMWU3MDhlYWQ1NjhiMmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9XZWJBdWRpb0J1ZmZlckxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL1dlYkF1ZGlvQnVmZmVyTGlzdC5jcHAKQEAgLTY0LDYgKzY0LDcgQEAgV2Vi
QXVkaW9CdWZmZXJMaXN0OjpXZWJBdWRpb0J1ZmZlckxpc3QoY29uc3QgQ0FBdWRpb1N0cmVhbURl
c2NyaXB0aW9uJiBmb3JtYXQsIHUKIAogICAgIGZvciAodWludDMyX3QgYnVmZmVyID0gMDsgYnVm
ZmVyIDwgbV9saXN0LT5tTnVtYmVyQnVmZmVyczsgKytidWZmZXIpIHsKICAgICAgICAgbV9saXN0
LT5tQnVmZmVyc1tidWZmZXJdLm1EYXRhID0gZGF0YTsKKyAgICAgICAgbV9saXN0LT5tQnVmZmVy
c1tidWZmZXJdLm1EYXRhQnl0ZVNpemUgPSBieXRlc1BlckJ1ZmZlcjsKICAgICAgICAgZGF0YSAr
PSBieXRlc1BlckJ1ZmZlcjsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TYW1wbGVCdWZmZXJMaXN0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBsZUJ1ZmZlckxpc3QuY3BwCmluZGV4IDc5
NGU4NmMxYzI4ZTAyOWZkYjFhMTNhNGRhYTI2MGRmNjM3NjFhNDIuLmMxOWVmN2Q5OGZmNWNiZDQ4
NmRhMzBjOTU1NzhkY2MyZTU2MjMxYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBsZUJ1ZmZlckxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBsZUJ1ZmZlckxpc3QuY3BwCkBAIC0yNjAs
NyArMjYwLDcgQEAgT1NTdGF0dXMgQXVkaW9TYW1wbGVCdWZmZXJMaXN0Ojpjb3B5RnJvbShjb25z
dCBBdWRpb0J1ZmZlckxpc3QmIHNvdXJjZSwgQXVkaW9Db24KICAgICBwcm9wZXJ0eURhdGFTaXpl
ID0gc2l6ZW9mKG91dHB1dEZvcm1hdCk7CiAgICAgQXVkaW9Db252ZXJ0ZXJHZXRQcm9wZXJ0eShj
b252ZXJ0ZXIsIGtBdWRpb0NvbnZlcnRlckN1cnJlbnRPdXRwdXRTdHJlYW1EZXNjcmlwdGlvbiwg
JnByb3BlcnR5RGF0YVNpemUsICZvdXRwdXRGb3JtYXQpOwogCi0gICAgQVNTRVJUKG91dHB1dEZv
cm1hdC5tQ2hhbm5lbHNQZXJGcmFtZSA9PSBtX2J1ZmZlckxpc3QtPmJ1ZmZlckNvdW50KCkpOwor
ICAgIEFTU0VSVChDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24ob3V0cHV0Rm9ybWF0KS5udW1iZXJP
ZkNoYW5uZWxTdHJlYW1zKCkgPT0gbV9idWZmZXJMaXN0LT5idWZmZXJDb3VudCgpKTsKICAgICBm
b3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgbV9idWZmZXJMaXN0LT5idWZmZXJDb3VudCgpOyArK2kp
IHsKICAgICAgICAgQVNTRVJUKG1fYnVmZmVyTGlzdC0+YnVmZmVyKGkpLT5tRGF0YSk7CiAgICAg
ICAgIEFTU0VSVChtX2J1ZmZlckxpc3QtPmJ1ZmZlcihpKS0+bURhdGFCeXRlU2l6ZSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TYW1wbGVEYXRh
U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBs
ZURhdGFTb3VyY2UuY3BwCmluZGV4IDY3YjI0MTQ2MzNkNDgyMDQzNDRmY2VkZjVjZTdkMDMwZWZm
ZTY3Y2QuLmViOTM5OTA3YTBkZDI3ZmI3ZmM5MjczZjZkMWRmZDdhM2FlOTVhMWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBsZURhdGFTb3Vy
Y2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBs
ZURhdGFTb3VyY2UuY3BwCkBAIC0yMDEsNyArMjAxLDcgQEAgdm9pZCBBdWRpb1NhbXBsZURhdGFT
b3VyY2U6OnB1c2hTYW1wbGVzKGNvbnN0IE1lZGlhVGltZSYgc2FtcGxlVGltZSwgY29uc3QgUGxh
dGYKIHsKICAgICBzdGQ6OnVuaXF1ZV9sb2NrPExvY2s+IGxvY2sobV9sb2NrLCBzdGQ6OnRyeV90
b19sb2NrKTsKICAgICBBU1NFUlQoaXM8V2ViQXVkaW9CdWZmZXJMaXN0PihhdWRpb0RhdGEpKTsK
LSAgICBwdXNoU2FtcGxlc0ludGVybmFsKGRvd25jYXN0PFdlYkF1ZGlvQnVmZmVyTGlzdD4oYXVk
aW9EYXRhKSwgc2FtcGxlVGltZSwgc2FtcGxlQ291bnQpOworICAgIHB1c2hTYW1wbGVzSW50ZXJu
YWwoKmRvd25jYXN0PFdlYkF1ZGlvQnVmZmVyTGlzdD4oYXVkaW9EYXRhKS5saXN0KCksIHNhbXBs
ZVRpbWUsIHNhbXBsZUNvdW50KTsKIH0KIAogYm9vbCBBdWRpb1NhbXBsZURhdGFTb3VyY2U6OnB1
bGxTYW1wbGVzSW50ZXJuYWwoQXVkaW9CdWZmZXJMaXN0JiBidWZmZXIsIHNpemVfdCYgc2FtcGxl
Q291bnQsIHVpbnQ2NF90IHRpbWVTdGFtcCwgZG91YmxlIC8qaG9zdFRpbWUqLywgUHVsbE1vZGUg
bW9kZSkKQEAgLTI4Niw2ICsyODYsMzIgQEAgYm9vbCBBdWRpb1NhbXBsZURhdGFTb3VyY2U6OnB1
bGxTYW1wbGVzSW50ZXJuYWwoQXVkaW9CdWZmZXJMaXN0JiBidWZmZXIsIHNpemVfdCYKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBBdWRpb1NhbXBsZURhdGFTb3VyY2U6OnB1bGxBdmFsYWli
bGVTYW1wbGVzQXNDaHVua3MoQXVkaW9CdWZmZXJMaXN0JiBidWZmZXIsIHNpemVfdCBzYW1wbGVD
b3VudFBlckNodW5rLCB1aW50NjRfdCB0aW1lU3RhbXAsIEZ1bmN0aW9uPHZvaWQoKT4mJiBjb25z
dW1lRmlsbGVkQnVmZmVyKQoreworICAgIHN0ZDo6dW5pcXVlX2xvY2s8TG9jaz4gbG9jayhtX2xv
Y2ssIHN0ZDo6dHJ5X3RvX2xvY2spOworICAgIGlmICghbG9jay5vd25zX2xvY2soKSB8fCAhbV9y
aW5nQnVmZmVyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBBU1NFUlQoYnVmZmVyLm1O
dW1iZXJCdWZmZXJzID09IG1fcmluZ0J1ZmZlci0+Y2hhbm5lbENvdW50KCkpOworICAgIGlmIChi
dWZmZXIubU51bWJlckJ1ZmZlcnMgIT0gbV9yaW5nQnVmZmVyLT5jaGFubmVsQ291bnQoKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgdWludDY0X3Qgc3RhcnRGcmFtZSA9IDA7CisgICAg
dWludDY0X3QgZW5kRnJhbWUgPSAwOworICAgIG1fcmluZ0J1ZmZlci0+Z2V0Q3VycmVudEZyYW1l
Qm91bmRzKHN0YXJ0RnJhbWUsIGVuZEZyYW1lKTsKKyAgICBpZiAodGltZVN0YW1wIDwgc3RhcnRG
cmFtZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgc3RhcnRGcmFtZSA9IHRpbWVTdGFt
cDsKKyAgICB3aGlsZSAoZW5kRnJhbWUgLSBzdGFydEZyYW1lID49IHNhbXBsZUNvdW50UGVyQ2h1
bmspIHsKKyAgICAgICAgaWYgKG1fcmluZ0J1ZmZlci0+ZmV0Y2goJmJ1ZmZlciwgc2FtcGxlQ291
bnRQZXJDaHVuaywgc3RhcnRGcmFtZSwgQ0FSaW5nQnVmZmVyOjpDb3B5KSkKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgY29uc3VtZUZpbGxlZEJ1ZmZlcigpOworICAgICAgICBz
dGFydEZyYW1lICs9IHNhbXBsZUNvdW50UGVyQ2h1bms7CisgICAgfQorICAgIHJldHVybiB0cnVl
OworfQorCiBib29sIEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6cHVsbFNhbXBsZXMoQXVkaW9CdWZm
ZXJMaXN0JiBidWZmZXIsIHNpemVfdCBzYW1wbGVDb3VudCwgdWludDY0X3QgdGltZVN0YW1wLCBk
b3VibGUgaG9zdFRpbWUsIFB1bGxNb2RlIG1vZGUpCiB7CiAgICAgc3RkOjp1bmlxdWVfbG9jazxM
b2NrPiBsb2NrKG1fbG9jaywgc3RkOjp0cnlfdG9fbG9jayk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TYW1wbGVEYXRhU291cmNlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TYW1wbGVEYXRhU291cmNlLmgKaW5k
ZXggMzRkODQ3ZGU2MDVlZGY5MzNlZTcyYThlNjhkMGJjY2Q1MDczZTZhMC4uM2NjODhmZTg4Zjgz
MzgyZTg1YjBlNDRmNjM4N2RmNDI5MzgyZGIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1NhbXBsZURhdGFTb3VyY2UuaApAQCAtNTks
NiArNTksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBwdWxsU2FtcGxlcyhBdWRpb1NhbXBsZUJ1ZmZl
ckxpc3QmLCBzaXplX3QsIHVpbnQ2NF90LCBkb3VibGUsIFB1bGxNb2RlKTsKICAgICBib29sIHB1
bGxTYW1wbGVzKEF1ZGlvQnVmZmVyTGlzdCYsIHNpemVfdCwgdWludDY0X3QsIGRvdWJsZSwgUHVs
bE1vZGUpOwogCisgICAgYm9vbCBwdWxsQXZhbGFpYmxlU2FtcGxlc0FzQ2h1bmtzKEF1ZGlvQnVm
ZmVyTGlzdCYsIHNpemVfdCBmcmFtZUNvdW50LCB1aW50NjRfdCB0aW1lU3RhbXAsIEZ1bmN0aW9u
PHZvaWQoKT4mJik7CisKICAgICB2b2lkIHNldFBhdXNlZChib29sKTsKIAogICAgIHZvaWQgc2V0
Vm9sdW1lKGZsb2F0IHZvbHVtZSkgeyBtX3ZvbHVtZSA9IHZvbHVtZTsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0F1
ZGlvRm9ybWF0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDQXVkaW9Gb3JtYXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNDkxMDdmMTAyZWI2NzI4NWU2
OGE2NjJhYzM0ZjhjNTc0ZWE5YTVkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0F1ZGlvRm9ybWF0LmgKQEAg
LTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNFKExJQldF
QlJUQykKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3BhY2UgTGliV2ViUlRDQXVkaW9G
b3JtYXQgeworCitzdGF0aWMgY29uc3Qgc2l6ZV90IHNhbXBsZVJhdGUgPSA0ODAwMDsKK3N0YXRp
YyBjb25zdCBzaXplX3QgY2h1bmtTYW1wbGVDb3VudCA9IDQ4MDsKK3N0YXRpYyBjb25zdCBzaXpl
X3Qgc2FtcGxlU2l6ZSA9IDE2Oworc3RhdGljIGNvbnN0IHNpemVfdCBzYW1wbGVCeXRlU2l6ZSA9
IDI7CitzdGF0aWMgY29uc3QgYm9vbCBpc0Zsb2F0ID0gZmFsc2U7CitzdGF0aWMgY29uc3QgYm9v
bCBpc0JpZ0VuZGlhbiA9IGZhbHNlOworc3RhdGljIGNvbnN0IGJvb2wgaXNOb25JbnRlcmxlYXZl
ZCA9IGZhbHNlOworCit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFVT
RShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuY3Bw
CmluZGV4IDJkMWVlZWFhNjI1YTU3MDU4YjUyYTgxZWEyNTRhMzc1MGViMDU4MjkuLmFjZDAxMDAx
MTMwZTNhYTFkZTlkNmFmNjJkMzAzODNjMmJkOGQyNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGlt
ZU91dGdvaW5nQXVkaW9Tb3VyY2UuY3BwCkBAIC0zMSwxMyArMzEsNjYgQEAKIAogI2lmIFVTRShM
SUJXRUJSVEMpCiAKLSNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1ZGUgIkNBQXVk
aW9TdHJlYW1EZXNjcmlwdGlvbi5oIgorI2luY2x1ZGUgIkxpYldlYlJUQ0F1ZGlvRm9ybWF0Lmgi
CisjaW5jbHVkZSAiTGliV2ViUlRDVXRpbHMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12
b2lkIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZTo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKGNv
bnN0IE1lZGlhVGltZSYsIGNvbnN0IFBsYXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgQXVkaW9TdHJl
YW1EZXNjcmlwdGlvbiYsIHNpemVfdCkKK3N0YXRpYyBpbmxpbmUgQXVkaW9TdHJlYW1CYXNpY0Rl
c2NyaXB0aW9uIGxpYndlYnJ0Y0F1ZGlvRm9ybWF0KHNpemVfdCBjaGFubmVsQ291bnQpCiB7Ci0g
ICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24gc3Ry
ZWFtRm9ybWF0OworICAgIEZpbGxPdXRBU0JERm9yTFBDTShzdHJlYW1Gb3JtYXQsIExpYldlYlJU
Q0F1ZGlvRm9ybWF0OjpzYW1wbGVSYXRlLCBjaGFubmVsQ291bnQsIExpYldlYlJUQ0F1ZGlvRm9y
bWF0OjpzYW1wbGVTaXplLCBMaWJXZWJSVENBdWRpb0Zvcm1hdDo6c2FtcGxlU2l6ZSwgTGliV2Vi
UlRDQXVkaW9Gb3JtYXQ6OmlzRmxvYXQsIExpYldlYlJUQ0F1ZGlvRm9ybWF0Ojppc0JpZ0VuZGlh
biwgTGliV2ViUlRDQXVkaW9Gb3JtYXQ6OmlzTm9uSW50ZXJsZWF2ZWQpOworICAgIHJldHVybiBz
dHJlYW1Gb3JtYXQ7Cit9CisKK1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZTo6UmVhbHRpbWVP
dXRnb2luZ0F1ZGlvU291cmNlKFJlZjxSZWFsdGltZU1lZGlhU291cmNlPiYmIGF1ZGlvU291cmNl
KQorICAgIDogbV9hdWRpb1NvdXJjZShXVEZNb3ZlKGF1ZGlvU291cmNlKSkKKyAgICAsIG1fc2Ft
cGxlQ29udmVydGVyKEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6Y3JlYXRlKExpYldlYlJUQ0F1ZGlv
Rm9ybWF0OjpzYW1wbGVSYXRlICogMikpCit7CisgICAgbV9hdWRpb1NvdXJjZS0+YWRkT2JzZXJ2
ZXIoKnRoaXMpOworfQorCit2b2lkIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZTo6c291cmNl
TXV0ZWRDaGFuZ2VkKCkKK3sKKyAgICBtX2lzTXV0ZWQgPSBtX2F1ZGlvU291cmNlLT5tdXRlZCgp
OworfQorCit2b2lkIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZTo6YXVkaW9TYW1wbGVzQXZh
aWxhYmxlKGNvbnN0IE1lZGlhVGltZSYgdGltZSwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmIGF1
ZGlvRGF0YSwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgc3RyZWFtRGVzY3JpcHRpb24s
IHNpemVfdCBzYW1wbGVDb3VudCkKK3sKKyAgICBpZiAobV9pbnB1dFN0cmVhbURlc2NyaXB0aW9u
ICE9IHN0cmVhbURlc2NyaXB0aW9uKSB7CisgICAgICAgIG1faW5wdXRTdHJlYW1EZXNjcmlwdGlv
biA9IHRvQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uKHN0cmVhbURlc2NyaXB0aW9uKTsKKyAgICAg
ICAgYXV0byBzdGF0dXMgID0gbV9zYW1wbGVDb252ZXJ0ZXItPnNldElucHV0Rm9ybWF0KG1faW5w
dXRTdHJlYW1EZXNjcmlwdGlvbik7CisgICAgICAgIEFTU0VSVF9VTlVTRUQoc3RhdHVzLCAhc3Rh
dHVzKTsKKworICAgICAgICBzdGF0dXMgPSBtX3NhbXBsZUNvbnZlcnRlci0+c2V0T3V0cHV0Rm9y
bWF0KGxpYndlYnJ0Y0F1ZGlvRm9ybWF0KHN0cmVhbURlc2NyaXB0aW9uLm51bWJlck9mQ2hhbm5l
bHMoKSkpOworICAgICAgICBBU1NFUlQoIXN0YXR1cyk7CisgICAgfQorICAgIG1fc2FtcGxlQ29u
dmVydGVyLT5wdXNoU2FtcGxlcyh0aW1lLCBhdWRpb0RhdGEsIHNhbXBsZUNvdW50KTsKKworICAg
IGNhbGxPbldlYlJUQ1NpZ25hbGluZ1RocmVhZChbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRo
aXMpXSB7CisgICAgICAgIHByb3RlY3RlZFRoaXMtPnB1bGxBdWRpb0RhdGEoKTsKKyAgICB9KTsK
K30KKwordm9pZCBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2U6OnB1bGxBdWRpb0RhdGEoKQor
eworICAgIHNpemVfdCBidWZmZXJTaXplID0gTGliV2ViUlRDQXVkaW9Gb3JtYXQ6OmNodW5rU2Ft
cGxlQ291bnQgKiBMaWJXZWJSVENBdWRpb0Zvcm1hdDo6c2FtcGxlQnl0ZVNpemUgKiBtX2lucHV0
U3RyZWFtRGVzY3JpcHRpb24ubnVtYmVyT2ZDaGFubmVscygpOworICAgIG1fYXVkaW9CdWZmZXIu
cmVzZXJ2ZUNhcGFjaXR5KGJ1ZmZlclNpemUpOworCisgICAgQXVkaW9CdWZmZXJMaXN0IGJ1ZmZl
ckxpc3Q7CisgICAgYnVmZmVyTGlzdC5tTnVtYmVyQnVmZmVycyA9IDE7CisgICAgYnVmZmVyTGlz
dC5tQnVmZmVyc1swXS5tTnVtYmVyQ2hhbm5lbHMgPSBtX2lucHV0U3RyZWFtRGVzY3JpcHRpb24u
bnVtYmVyT2ZDaGFubmVscygpOworICAgIGJ1ZmZlckxpc3QubUJ1ZmZlcnNbMF0ubURhdGFCeXRl
U2l6ZSA9IGJ1ZmZlclNpemU7CisgICAgYnVmZmVyTGlzdC5tQnVmZmVyc1swXS5tRGF0YSA9IG1f
YXVkaW9CdWZmZXIuZGF0YSgpOworCisgICAgbV9zYW1wbGVDb252ZXJ0ZXItPnB1bGxBdmFsYWli
bGVTYW1wbGVzQXNDaHVua3MoYnVmZmVyTGlzdCwgTGliV2ViUlRDQXVkaW9Gb3JtYXQ6OmNodW5r
U2FtcGxlQ291bnQsIG1fc3RhcnRGcmFtZSwgW3RoaXNdIHsKKyAgICAgICAgbV9zdGFydEZyYW1l
ICs9IExpYldlYlJUQ0F1ZGlvRm9ybWF0OjpjaHVua1NhbXBsZUNvdW50OworICAgICAgICBpZiAo
bV9pc011dGVkKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBmb3IgKGF1dG8gc2luayA6
IG1fc2lua3MpCisgICAgICAgICAgICBzaW5rLT5PbkRhdGEobV9hdWRpb0J1ZmZlci5kYXRhKCks
IExpYldlYlJUQ0F1ZGlvRm9ybWF0OjpzYW1wbGVTaXplLCBMaWJXZWJSVENBdWRpb0Zvcm1hdDo6
c2FtcGxlUmF0ZSwgbV9pbnB1dFN0cmVhbURlc2NyaXB0aW9uLm51bWJlck9mQ2hhbm5lbHMoKSwg
TGliV2ViUlRDQXVkaW9Gb3JtYXQ6OmNodW5rU2FtcGxlQ291bnQpOworICAgIH0pOwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291
cmNlLmgKaW5kZXggNzhkZGY3MzI3YmQwMWQ3NzQ4NTZmMDA3YzA3MWFmY2Y0MGNjODEzZS4uZTQ1
ZTkyNThkMzI0N2U3YjE5NmU0MjI2NDhkYjgyZjIzYmFhNjYyNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1Nv
dXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFs
dGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaApAQCAtMzAsNiArMzAsNyBAQAogCiAjaWYgVVNFKExJ
QldFQlJUQykKIAorI2luY2x1ZGUgIkF1ZGlvU2FtcGxlRGF0YVNvdXJjZS5oIgogI2luY2x1ZGUg
IkxpYldlYlJUQ01hY3Jvcy5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2UuaCIKICNp
bmNsdWRlIDx3ZWJydGMvYXBpL21lZGlhc3RyZWFtaW50ZXJmYWNlLmg+CkBAIC00OSw3ICs1MCw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFRyYWNrKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6
OkF1ZGlvVHJhY2tJbnRlcmZhY2U+JiYgdHJhY2spIHsgbV90cmFjayA9IFdURk1vdmUodHJhY2sp
OyB9CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNl
KFJlZjxSZWFsdGltZU1lZGlhU291cmNlPiYmIGF1ZGlvU291cmNlKSA6IG1fYXVkaW9Tb3VyY2Uo
V1RGTW92ZShhdWRpb1NvdXJjZSkpIHsgbV9hdWRpb1NvdXJjZS0+YWRkT2JzZXJ2ZXIoKnRoaXMp
OyB9CisgICAgZXhwbGljaXQgUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlKFJlZjxSZWFsdGlt
ZU1lZGlhU291cmNlPiYmKTsKIAogICAgIHZpcnR1YWwgdm9pZCBBZGRTaW5rKHdlYnJ0Yzo6QXVk
aW9UcmFja1NpbmtJbnRlcmZhY2UqIHNpbmspIHsgbV9zaW5rcy5hcHBlbmQoc2luayk7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgUmVtb3ZlU2luayh3ZWJydGM6OkF1ZGlvVHJhY2tTaW5rSW50ZXJmYWNl
KiBzaW5rKSB7IG1fc2lua3MucmVtb3ZlRmlyc3Qoc2luayk7IH0KQEAgLTYzLDE3ICs2NCwyMiBA
QCBwcml2YXRlOgogCiAgICAgLy8gUmVhbHRpbWVNZWRpYVNvdXJjZTo6T2JzZXJ2ZXIgQVBJCiAg
ICAgdm9pZCBzb3VyY2VTdG9wcGVkKCkgZmluYWwgeyB9Ci0gICAgdm9pZCBzb3VyY2VNdXRlZENo
YW5nZWQoKSBmaW5hbCB7IH0KKyAgICB2b2lkIHNvdXJjZU11dGVkQ2hhbmdlZCgpIGZpbmFsOwog
ICAgIHZvaWQgc291cmNlU2V0dGluZ3NDaGFuZ2VkKCkgZmluYWwgeyB9CiAgICAgYm9vbCBwcmV2
ZW50U291cmNlRnJvbVN0b3BwaW5nKCkgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2b2lk
IGF1ZGlvU2FtcGxlc0F2YWlsYWJsZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBQbGF0Zm9ybUF1
ZGlvRGF0YSYsIGNvbnN0IEF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mLCBzaXplX3QpIGZpbmFsOwog
Ci0gICAgdm9pZCBjb252ZXJ0QW5kU2VuZE1vbm9TYW1wbGVzKCk7Ci0gICAgdm9pZCBjb252ZXJ0
QW5kU2VuZFN0ZXJlb1NhbXBsZXMoKTsKKyAgICB2b2lkIHB1bGxBdWRpb0RhdGEoKTsKIAogICAg
IFZlY3Rvcjx3ZWJydGM6OkF1ZGlvVHJhY2tTaW5rSW50ZXJmYWNlKj4gbV9zaW5rczsKICAgICBS
ZWY8UmVhbHRpbWVNZWRpYVNvdXJjZT4gbV9hdWRpb1NvdXJjZTsKICAgICBydGM6OnNjb3BlZF9y
ZWZwdHI8d2VicnRjOjpBdWRpb1RyYWNrSW50ZXJmYWNlPiBtX3RyYWNrOworICAgIFJlZjxBdWRp
b1NhbXBsZURhdGFTb3VyY2U+IG1fc2FtcGxlQ29udmVydGVyOworICAgIENBQXVkaW9TdHJlYW1E
ZXNjcmlwdGlvbiBtX2lucHV0U3RyZWFtRGVzY3JpcHRpb247CisKKyAgICBWZWN0b3I8dWludDE2
X3Q+IG1fYXVkaW9CdWZmZXI7CisgICAgdWludDY0X3QgbV9zdGFydEZyYW1lIHsgMCB9OworICAg
IGJvb2wgbV9pc011dGVkIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
      

    </bug>

</bugzilla>