<?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>168802</bug_id>
          
          <creation_ts>2017-02-23 14:41:31 -0800</creation_ts>
          <short_desc>[WebRTC] RealtimOutgoingVideoSource should not need to do image conversion</short_desc>
          <delta_ts>2017-03-02 23:34:35 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=168778</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</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>
    
    <cc>jonlee</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1280509</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-02-23 14:41:31 -0800</bug_when>
    <thetext>At least in the case of camera capture</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280512</commentid>
    <comment_count>1</comment_count>
      <attachid>302582</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-02-23 14:44:39 -0800</bug_when>
    <thetext>Created attachment 302582
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280513</commentid>
    <comment_count>2</comment_count>
      <attachid>302583</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-02-23 14:48:10 -0800</bug_when>
    <thetext>Created attachment 302583
style</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280532</commentid>
    <comment_count>3</comment_count>
      <attachid>302589</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-02-23 15:28:59 -0800</bug_when>
    <thetext>Created attachment 302589
Fixing build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280565</commentid>
    <comment_count>4</comment_count>
      <attachid>302589</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2017-02-23 16:26:15 -0800</bug_when>
    <thetext>Comment on attachment 302589
Fixing build

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

&gt; Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSource.cpp:34
&gt; +#include &quot;webrtc/common_video/include/corevideo_frame_buffer.h&quot;

not &lt;...&gt;?

&gt; Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSource.cpp:79
&gt; +        sink-&gt;OnFrame(frame);

definitely no chance that sink==nullptr?

&gt; Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSource.h:77
&gt; +    std::unique_ptr&lt;webrtc::VideoFrame&gt; m_blackFrame;

This is never used?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280867</commentid>
    <comment_count>5</comment_count>
      <attachid>302688</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-02-24 14:13:42 -0800</bug_when>
    <thetext>Created attachment 302688
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280870</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-02-24 14:17:41 -0800</bug_when>
    <thetext>Thanks for the review.

(In reply to comment #4)
&gt; Comment on attachment 302589 [details]
&gt; Fixing build
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=302589&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSource.cpp:34
&gt; &gt; +#include &quot;webrtc/common_video/include/corevideo_frame_buffer.h&quot;
&gt; 
&gt; not &lt;...&gt;?

Fixed.

&gt; &gt; Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSource.cpp:79
&gt; &gt; +        sink-&gt;OnFrame(frame);
&gt; 
&gt; definitely no chance that sink==nullptr?

No.
If this was pure WebCore code, the addObserver/removeObserver would take references and m_sinks would be a Vector of std::reference_wrapper.
We could still do the latter but the removeObserver would contain more lines of code.
Maybe we should specialise Vector when containing sd::reference_wrapper though.

&gt; &gt; Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSource.h:77
&gt; &gt; +    std::unique_ptr&lt;webrtc::VideoFrame&gt; m_blackFrame;
&gt; 
&gt; This is never used?

I initially thought of having just one m_blackFrame but the buffer pool is probably good enough for now. Removed this declaration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280938</commentid>
    <comment_count>7</comment_count>
      <attachid>302688</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-24 17:06:22 -0800</bug_when>
    <thetext>Comment on attachment 302688
Patch for landing

Rejecting attachment 302688 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 302688, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
/git.webkit.org/WebKit
   51cb4f6..7abdaa1  master     -&gt; origin/master
Partial-rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc ...
Currently at 212976 = 51cb4f6247106b06c3049ec9e928b2855d3e0903
r212977 = 7abdaa1c8b4381865e22187a3cd9dcfbde6c2cc8
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.

Full output: http://webkit-queues.webkit.org/results/3187950</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1281381</commentid>
    <comment_count>8</comment_count>
      <attachid>302688</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-27 08:31:02 -0800</bug_when>
    <thetext>Comment on attachment 302688
Patch for landing

Clearing flags on attachment: 302688

Committed r213066: &lt;http://trac.webkit.org/changeset/213066&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1281382</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-27 08:31:07 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1283104</commentid>
    <comment_count>10</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2017-03-02 23:34:35 -0800</bug_when>
    <thetext>rdar://problem/30294032</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302582</attachid>
            <date>2017-02-23 14:44:39 -0800</date>
            <delta_ts>2017-02-23 14:48:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168802-20170223144150.patch</filename>
            <type>text/plain</type>
            <size>10492</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyODQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjgzNzFiYTQzOWI3MDVm
OGU5ZmVlMmM4ZDk1NzI1ZGY2MDA3NDM4ZS4uZDFjMjcwYTY2MGQ1NjI0YjJjOTRlZjlmZTBiM2Yy
NzUwMWVjM2FkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE3LTAyLTIzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBbV2ViUlRDXSBSZWFsdGlt
T3V0Z29pbmdWaWRlb1NvdXJjZSBzaG91bGQgbm90IG5lZWQgdG8gZG8gaW1hZ2UgY29udmVyc2lv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4ODAy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJl
ZCBieSBtYW51YWwgdGVzdGluZyBhcyBtb2NrIHNvdXJjZXMgZG8gbm90IGhpdCB0aGUgc2FtZSBj
b2RlIHBhdGguCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0Nh
cHR1cmVTb3VyY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRl
b0NhcHR1cmVTb3VyY2UubW06CisgICAgICAgIChXZWJDb3JlOjpBVlZpZGVvQ2FwdHVyZVNvdXJj
ZTo6Y3VycmVudEZyYW1lQ0dJbWFnZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2U6OnNlbmRGcmFtZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2U6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291
cmNlLmg6CisKKzIwMTctMDItMjMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgor
CiAgICAgICAgIFtXZWJSVENdIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZSBkb2VzIG5vdCBu
ZWVkIHRvIHVwc2FtcGxlIGF1ZGlvIGJ1ZmZlcnMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODc5NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5o
CmluZGV4IDIwYzA1MzA1NTMyMWJlNGQ3OTU2YTg4NWYwZWFiNDFkYjRhNDYxZDcuLjQ0MmYzNGRi
YWM2NDU2NTc3MmUyNDU1OGE0ZjI2NzdjMTZjMjM2YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNv
dXJjZS5oCkBAIC0zOSw5ICszOSwxMCBAQCB0eXBlZGVmIHN0cnVjdCBvcGFxdWVDTVNhbXBsZUJ1
ZmZlciAqQ01TYW1wbGVCdWZmZXJSZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3Mg
QVZWaWRlb1NvdXJjZVByZXZpZXc7CiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBHcmFwaGljc0Nv
bnRleHQ7Ci1jbGFzcyBBVlZpZGVvU291cmNlUHJldmlldzsKK2NsYXNzIFBpeGVsQnVmZmVyQ29u
Zm9ybWVyQ1Y7CiAKIGNsYXNzIEFWVmlkZW9DYXB0dXJlU291cmNlIDogcHVibGljIEFWTWVkaWFD
YXB0dXJlU291cmNlIHsKIHB1YmxpYzoKQEAgLTg3LDYgKzg4LDggQEAgcHJpdmF0ZToKICAgICBS
ZXRhaW5QdHI8Q0dJbWFnZVJlZj4gbV9sYXN0SW1hZ2U7CiAgICAgUmV0YWluUHRyPEFWQ2FwdHVy
ZVZpZGVvRGF0YU91dHB1dD4gbV92aWRlb091dHB1dDsKIAorICAgIHN0ZDo6dW5pcXVlX3B0cjxQ
aXhlbEJ1ZmZlckNvbmZvcm1lckNWPiBtX3BpeGVsQnVmZmVyQ29uZm9ybWVyOworCiAgICAgVmVj
dG9yPEZsb2F0NjQ+IG1fdmlkZW9GcmFtZVRpbWVTdGFtcHM7CiAgICAgRmxvYXQ2NCBtX2ZyYW1l
UmF0ZSB7IDAgfTsKICAgICBpbnQzMl90IG1fd2lkdGggeyAwIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2Uu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1
cmVTb3VyY2UubW0KaW5kZXggNzJjOTg1MmIxZTAyZDMxMDE5MDlhN2Y3YjFhZmIzMTJmYTAyZmEx
Yy4uZjA4YjNhZTJiNDdlNzUzN2NjMDkzOTk0YzJjNWIxNGI1NzFiYThmOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlkZW9DYXB0dXJlU291
cmNlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZp
ZGVvQ2FwdHVyZVNvdXJjZS5tbQpAQCAtMzYsNiArMzYsNyBAQAogI2ltcG9ydCAiTWVkaWFDb25z
dHJhaW50cy5oIgogI2ltcG9ydCAiTWVkaWFTYW1wbGVBVkZPYmpDLmgiCiAjaW1wb3J0ICJOb3RJ
bXBsZW1lbnRlZC5oIgorI2ltcG9ydCAiUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oIgogI2ltcG9y
dCAiUGxhdGZvcm1MYXllci5oIgogI2ltcG9ydCAiUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5o
IgogI2ltcG9ydCAiUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzLmgiCkBAIC0xMDIsNyArMTAz
LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y29uc3QgT1NUeXBlIHZpZGVvQ2FwdHVyZUZvcm1hdCA9IGtDVlBpeGVsRm9ybWF0VHlwZV8zMkJH
UkE7Citjb25zdCBPU1R5cGUgdmlkZW9DYXB0dXJlRm9ybWF0ID0ga0NWUGl4ZWxGb3JtYXRUeXBl
XzQyMFlwQ2JDcjhQbGFuYXI7CiAKIFJlZlB0cjxBVk1lZGlhQ2FwdHVyZVNvdXJjZT4gQVZWaWRl
b0NhcHR1cmVTb3VyY2U6OmNyZWF0ZShBVkNhcHR1cmVEZXZpY2VUeXBlZGVmKiBkZXZpY2UsIGNv
bnN0IEF0b21pY1N0cmluZyYgaWQsIGNvbnN0IE1lZGlhQ29uc3RyYWludHMqIGNvbnN0cmFpbnRz
LCBTdHJpbmcmIGludmFsaWRDb25zdHJhaW50KQogewpAQCAtNDYyLDE2ICs0NjMsMTYgQEAgUmV0
YWluUHRyPENHSW1hZ2VSZWY+IEFWVmlkZW9DYXB0dXJlU291cmNlOjpjdXJyZW50RnJhbWVDR0lt
YWdlKCkKICAgICBDVlBpeGVsQnVmZmVyUmVmIHBpeGVsQnVmZmVyID0gc3RhdGljX2Nhc3Q8Q1ZQ
aXhlbEJ1ZmZlclJlZj4oQ01TYW1wbGVCdWZmZXJHZXRJbWFnZUJ1ZmZlcihtX2J1ZmZlci5nZXQo
KSkpOwogICAgIEFTU0VSVChDVlBpeGVsQnVmZmVyR2V0UGl4ZWxGb3JtYXRUeXBlKHBpeGVsQnVm
ZmVyKSA9PSB2aWRlb0NhcHR1cmVGb3JtYXQpOwogCi0gICAgQ1ZQaXhlbEJ1ZmZlckxvY2tCYXNl
QWRkcmVzcyhwaXhlbEJ1ZmZlciwgMCk7Ci0gICAgdm9pZCAqYmFzZUFkZHJlc3MgPSBDVlBpeGVs
QnVmZmVyR2V0QmFzZUFkZHJlc3MocGl4ZWxCdWZmZXIpOwotICAgIHNpemVfdCBieXRlc1BlclJv
dyA9IENWUGl4ZWxCdWZmZXJHZXRCeXRlc1BlclJvdyhwaXhlbEJ1ZmZlcik7Ci0gICAgc2l6ZV90
IHdpZHRoID0gQ1ZQaXhlbEJ1ZmZlckdldFdpZHRoKHBpeGVsQnVmZmVyKTsKLSAgICBzaXplX3Qg
aGVpZ2h0ID0gQ1ZQaXhlbEJ1ZmZlckdldEhlaWdodChwaXhlbEJ1ZmZlcik7Ci0KLSAgICBSZXRh
aW5QdHI8Q0dEYXRhUHJvdmlkZXJSZWY+IHByb3ZpZGVyID0gYWRvcHRDRihDR0RhdGFQcm92aWRl
ckNyZWF0ZVdpdGhEYXRhKE5VTEwsIGJhc2VBZGRyZXNzLCBieXRlc1BlclJvdyAqIGhlaWdodCwg
TlVMTCkpOwotICAgIG1fbGFzdEltYWdlID0gYWRvcHRDRihDR0ltYWdlQ3JlYXRlKHdpZHRoLCBo
ZWlnaHQsIDgsIDMyLCBieXRlc1BlclJvdywgc1JHQkNvbG9yU3BhY2VSZWYoKSwga0NHQml0bWFw
Qnl0ZU9yZGVyMzJMaXR0bGUgfCBrQ0dJbWFnZUFscGhhUHJlbXVsdGlwbGllZEZpcnN0LCBwcm92
aWRlci5nZXQoKSwgTlVMTCwgdHJ1ZSwga0NHUmVuZGVyaW5nSW50ZW50RGVmYXVsdCkpOworICAg
IGlmICghbV9waXhlbEJ1ZmZlckNvbmZvcm1lcikgeworI2lmIFVTRShWSURFT1RPT0xCT1gpCisg
ICAgICAgIE5TRGljdGlvbmFyeSAqYXR0cmlidXRlcyA9IEB7IChOU1N0cmluZyAqKWtDVlBpeGVs
QnVmZmVyUGl4ZWxGb3JtYXRUeXBlS2V5OiBAKGtDVlBpeGVsRm9ybWF0VHlwZV8zMkJHUkEpIH07
CisjZWxzZQorICAgICAgICBOU0RpY3Rpb25hcnkgKmF0dHJpYnV0ZXMgPSBuaWw7CisjZW5kaWYK
KyAgICAgICAgbV9waXhlbEJ1ZmZlckNvbmZvcm1lciA9IHN0ZDo6bWFrZV91bmlxdWU8UGl4ZWxC
dWZmZXJDb25mb3JtZXJDVj4oKENGRGljdGlvbmFyeVJlZilhdHRyaWJ1dGVzKTsKKyAgICB9CiAK
LSAgICBDVlBpeGVsQnVmZmVyVW5sb2NrQmFzZUFkZHJlc3MocGl4ZWxCdWZmZXIsIDApOworICAg
IG1fbGFzdEltYWdlID0gbV9waXhlbEJ1ZmZlckNvbmZvcm1lci0+Y3JlYXRlSW1hZ2VGcm9tUGl4
ZWxCdWZmZXIocGl4ZWxCdWZmZXIpOwogCiAgICAgcmV0dXJuIG1fbGFzdEltYWdlOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1l
T3V0Z29pbmdWaWRlb1NvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmNwcAppbmRleCA1MTQ1Mjk5NGNi
ODYwZjcyOGU2MGI5YmRlMmI0ZDQ4YTIzNzQ5N2UyLi44MTI4YTdiNGIwMjk2MjIyNTZhZWE3MTUy
NTg4ZmU3YzliODliZWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291
cmNlLmNwcApAQCAtMzEsNiArMzEsNyBAQAogCiAjaWYgVVNFKExJQldFQlJUQykKIAorI2luY2x1
ZGUgIndlYnJ0Yy9jb21tb25fdmlkZW8vaW5jbHVkZS9jb3JldmlkZW9fZnJhbWVfYnVmZmVyLmgi
CiAjaW5jbHVkZSA8d2VicnRjL2NvbW1vbl92aWRlby9saWJ5dXYvaW5jbHVkZS93ZWJydGNfbGli
eXV2Lmg+CiAjaW5jbHVkZSA8d2VicnRjL21lZGlhL2Jhc2UvdmlkZW9mcmFtZS5oPgogCkBAIC03
MSw0NSArNzIsNDkgQEAgdm9pZCBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2U6OlJlbW92ZVNp
bmsocnRjOjpWaWRlb1NpbmtJbnRlcmZhY2U8d2VicnRjOjpWaWQKICAgICBtX3NpbmtzLnJlbW92
ZUZpcnN0KHNpbmspOwogfQogCit2b2lkIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZTo6c2Vu
ZEZyYW1lKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlZpZGVvRnJhbWVCdWZmZXI+JiYgYnVm
ZmVyKQoreworICAgIHdlYnJ0Yzo6VmlkZW9GcmFtZSBmcmFtZShidWZmZXIsIDAsIDAsICB3ZWJy
dGM6OmtWaWRlb1JvdGF0aW9uXzApOworICAgIGZvciAoYXV0byogc2luayA6IG1fc2lua3MpCisg
ICAgICAgIHNpbmstPk9uRnJhbWUoZnJhbWUpOworfQorCiB2b2lkIFJlYWx0aW1lT3V0Z29pbmdW
aWRlb1NvdXJjZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSkKIHsK
ICAgICBpZiAoIW1fc2lua3Muc2l6ZSgpKQogICAgICAgICByZXR1cm47CiAKLQogICAgIC8vIEZJ
WE1FOiBTaG91bGRuJ3Qgd2UgdXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OnNpemUoKQogICAgIGNv
bnN0IGF1dG8mIHNldHRpbmdzID0gbV92aWRlb1NvdXJjZS0+c2V0dGluZ3MoKTsKIAotICAgIC8v
IEZJWE1FOiBXZSBzaG91bGQgbm90IG5lZWQgdG8gYWxsb2NhdGUgb25lIGJ1ZmZlciBwZXIgZnJh
bWUuCi0gICAgYXV0byBkZXN0ID0gd2VicnRjOjpJNDIwQnVmZmVyOjpDcmVhdGUoc2V0dGluZ3Mu
d2lkdGgoKSwgc2V0dGluZ3MuaGVpZ2h0KCkpOwotCi0gICAgaWYgKCFtX211dGVkICYmIG1fZW5h
YmxlZCkgewotICAgICAgICBBU1NFUlQoc2FtcGxlLnBsYXRmb3JtU2FtcGxlKCkudHlwZSA9PSBQ
bGF0Zm9ybVNhbXBsZTo6Q01TYW1wbGVCdWZmZXJUeXBlKTsKLSAgICAgICAgYXV0byBwaXhlbEJ1
ZmZlciA9IHN0YXRpY19jYXN0PENWUGl4ZWxCdWZmZXJSZWY+KENNU2FtcGxlQnVmZmVyR2V0SW1h
Z2VCdWZmZXIoc2FtcGxlLnBsYXRmb3JtU2FtcGxlKCkuc2FtcGxlLmNtU2FtcGxlQnVmZmVyKSk7
Ci0gICAgICAgIGF1dG8gcGl4ZWxGb3JtYXRUeXBlID0gQ1ZQaXhlbEJ1ZmZlckdldFBpeGVsRm9y
bWF0VHlwZShwaXhlbEJ1ZmZlcik7Ci0KLSAgICAgICAgQ1ZQaXhlbEJ1ZmZlckxvY2tCYXNlQWRk
cmVzcyhwaXhlbEJ1ZmZlciwgMCk7Ci0gICAgICAgIHVpbnQ4X3QqIHNyYyA9IHJlaW50ZXJwcmV0
X2Nhc3Q8dWludDhfdCo+KENWUGl4ZWxCdWZmZXJHZXRCYXNlQWRkcmVzc09mUGxhbmUocGl4ZWxC
dWZmZXIsIDApKTsKLQotICAgICAgICBpZiAocGl4ZWxGb3JtYXRUeXBlID09IGtDVlBpeGVsRm9y
bWF0VHlwZV80MjBZcENiQ3I4UGxhbmFyKSB7Ci0gICAgICAgICAgICAvLyBXZSBwcm9iYWJseSBj
YW4gbWVtY3B5IHRoZSBkYXRhIGRpcmVjdGx5Ci0gICAgICAgICAgICB3ZWJydGM6OkNvbnZlcnRU
b0k0MjAod2VicnRjOjprSTQyMCwgc3JjLCAwLCAwLCBzZXR0aW5ncy53aWR0aCgpLCBzZXR0aW5n
cy5oZWlnaHQoKSwgMCwgd2VicnRjOjprVmlkZW9Sb3RhdGlvbl8wLCBkZXN0KTsKLSAgICAgICAg
fSBlbHNlIGlmIChwaXhlbEZvcm1hdFR5cGUgPT0ga0NWUGl4ZWxGb3JtYXRUeXBlXzMyQkdSQSkK
LSAgICAgICAgICAgIHdlYnJ0Yzo6Q29udmVydFRvSTQyMCh3ZWJydGM6OmtBUkdCLCBzcmMsIDAs
IDAsIHNldHRpbmdzLndpZHRoKCksIHNldHRpbmdzLmhlaWdodCgpLCAwLCB3ZWJydGM6OmtWaWRl
b1JvdGF0aW9uXzAsIGRlc3QpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIC8vIEZJWE1F
OiBNb2NrIHNvdXJjZSBjb252ZXJzaW9uIHdvcmtzIHdpdGgga0JHUkEgd2hpbGUgcmVndWxhciBj
YW1lcmEgd29ya3Mgd2l0aCBrQVJHQgotICAgICAgICAgICAgQVNTRVJUKHBpeGVsRm9ybWF0VHlw
ZSA9PSBrQ1ZQaXhlbEZvcm1hdFR5cGVfMzJBUkdCKTsKLSAgICAgICAgICAgIHdlYnJ0Yzo6Q29u
dmVydFRvSTQyMCh3ZWJydGM6OmtCR1JBLCBzcmMsIDAsIDAsIHNldHRpbmdzLndpZHRoKCksIHNl
dHRpbmdzLmhlaWdodCgpLCAwLCB3ZWJydGM6OmtWaWRlb1JvdGF0aW9uXzAsIGRlc3QpOwotICAg
ICAgICB9Ci0KLSAgICAgICAgQ1ZQaXhlbEJ1ZmZlclVubG9ja0Jhc2VBZGRyZXNzKHBpeGVsQnVm
ZmVyLCAwKTsKLSAgICB9IGVsc2UgewotICAgICAgICBkZXN0LT5TZXRUb0JsYWNrKCk7CisgICAg
aWYgKG1fbXV0ZWQgfHwgIW1fZW5hYmxlZCkgeworICAgICAgICBhdXRvIGJsYWNrQnVmZmVyID0g
bV9idWZmZXJQb29sLkNyZWF0ZUJ1ZmZlcihzZXR0aW5ncy53aWR0aCgpLCBzZXR0aW5ncy5oZWln
aHQoKSk7CisgICAgICAgIGJsYWNrQnVmZmVyLT5TZXRUb0JsYWNrKCk7CisgICAgICAgIHNlbmRG
cmFtZShXVEZNb3ZlKGJsYWNrQnVmZmVyKSk7CiAgICAgfQogCi0gICAgd2VicnRjOjpWaWRlb0Zy
YW1lIGZyYW1lKGRlc3QsIDAsIDAsICB3ZWJydGM6OmtWaWRlb1JvdGF0aW9uXzApOwotICAgIGZv
ciAoYXV0byogc2luayA6IG1fc2lua3MpCi0gICAgICAgIHNpbmstPk9uRnJhbWUoZnJhbWUpOwor
ICAgIEFTU0VSVChzYW1wbGUucGxhdGZvcm1TYW1wbGUoKS50eXBlID09IFBsYXRmb3JtU2FtcGxl
OjpDTVNhbXBsZUJ1ZmZlclR5cGUpOworICAgIGF1dG8gcGl4ZWxCdWZmZXIgPSBzdGF0aWNfY2Fz
dDxDVlBpeGVsQnVmZmVyUmVmPihDTVNhbXBsZUJ1ZmZlckdldEltYWdlQnVmZmVyKHNhbXBsZS5w
bGF0Zm9ybVNhbXBsZSgpLnNhbXBsZS5jbVNhbXBsZUJ1ZmZlcikpOworICAgIGF1dG8gcGl4ZWxG
b3JtYXRUeXBlID0gQ1ZQaXhlbEJ1ZmZlckdldFBpeGVsRm9ybWF0VHlwZShwaXhlbEJ1ZmZlcik7
CisKKyAgICBpZiAocGl4ZWxGb3JtYXRUeXBlID09IGtDVlBpeGVsRm9ybWF0VHlwZV80MjBZcENi
Q3I4UGxhbmFyKSB7CisgICAgICAgIHNlbmRGcmFtZShuZXcgcnRjOjpSZWZDb3VudGVkT2JqZWN0
PHdlYnJ0Yzo6Q29yZVZpZGVvRnJhbWVCdWZmZXI+KHBpeGVsQnVmZmVyKSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBDVlBpeGVsQnVmZmVyTG9ja0Jhc2VBZGRyZXNzKHBpeGVsQnVm
ZmVyLCAwKTsKKyAgICB1aW50OF90KiBzb3VyY2UgPSByZWludGVycHJldF9jYXN0PHVpbnQ4X3Qq
PihDVlBpeGVsQnVmZmVyR2V0QmFzZUFkZHJlc3NPZlBsYW5lKHBpeGVsQnVmZmVyLCAwKSk7CisK
KyAgICBhdXRvIG5ld0J1ZmZlciA9IG1fYnVmZmVyUG9vbC5DcmVhdGVCdWZmZXIoc2V0dGluZ3Mu
d2lkdGgoKSwgc2V0dGluZ3MuaGVpZ2h0KCkpOworICAgIGlmIChwaXhlbEZvcm1hdFR5cGUgPT0g
a0NWUGl4ZWxGb3JtYXRUeXBlXzMyQkdSQSkKKyAgICAgICAgd2VicnRjOjpDb252ZXJ0VG9JNDIw
KHdlYnJ0Yzo6a0FSR0IsIHNvdXJjZSwgMCwgMCwgc2V0dGluZ3Mud2lkdGgoKSwgc2V0dGluZ3Mu
aGVpZ2h0KCksIDAsIHdlYnJ0Yzo6a1ZpZGVvUm90YXRpb25fMCwgbmV3QnVmZmVyKTsKKyAgICBl
bHNlIHsKKyAgICAgICAgLy8gRklYTUU6IE1vY2sgc291cmNlIGNvbnZlcnNpb24gd29ya3Mgd2l0
aCBrQkdSQSB3aGlsZSByZWd1bGFyIGNhbWVyYSB3b3JrcyB3aXRoIGtBUkdCCisgICAgICAgIEFT
U0VSVChwaXhlbEZvcm1hdFR5cGUgPT0ga0NWUGl4ZWxGb3JtYXRUeXBlXzMyQVJHQik7CisgICAg
ICAgIHdlYnJ0Yzo6Q29udmVydFRvSTQyMCh3ZWJydGM6OmtCR1JBLCBzb3VyY2UsIDAsIDAsIHNl
dHRpbmdzLndpZHRoKCksIHNldHRpbmdzLmhlaWdodCgpLCAwLCB3ZWJydGM6OmtWaWRlb1JvdGF0
aW9uXzAsIG5ld0J1ZmZlcik7CisgICAgfQorICAgIENWUGl4ZWxCdWZmZXJVbmxvY2tCYXNlQWRk
cmVzcyhwaXhlbEJ1ZmZlciwgMCk7CisgICAgc2VuZEZyYW1lKFdURk1vdmUobmV3QnVmZmVyKSk7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5n
VmlkZW9Tb3VyY2UuaAppbmRleCA0YzZkYzcxMmJiODJmY2M2MGE2MDliYTQwYjI4YThjM2MxZmRj
ODg5Li5hNjA0ZWMxMWRjNjJkZTgxOTU0OTEyZTVhOTFkODllYzZiMDRkMGJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2lu
Z1ZpZGVvU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZS5oCkBAIC0zNCw2ICszNCw3IEBACiAjaW5j
bHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZS5oIgogI2luY2x1ZGUgPHdlYnJ0Yy9hcGkvbWVkaWFz
dHJlYW1pbnRlcmZhY2UuaD4KICNpbmNsdWRlIDx3ZWJydGMvYmFzZS9vcHRpb25hbC5oPgorI2lu
Y2x1ZGUgPHdlYnJ0Yy9jb21tb25fdmlkZW8vaW5jbHVkZS9pNDIwX2J1ZmZlcl9wb29sLmg+CiAj
aW5jbHVkZSA8d2VicnRjL21lZGlhL2Jhc2UvdmlkZW9zaW5raW50ZXJmYWNlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTQ4LDYgKzQ5LDggQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBS
ZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UoUmVmPFJlYWx0aW1lTWVkaWFTb3VyY2U+JiYpOwog
CisgICAgdm9pZCBzZW5kRnJhbWUocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VmlkZW9GcmFt
ZUJ1ZmZlcj4mJik7CisKICAgICAvLyBOb3RpZmllciBBUEkKICAgICB2b2lkIFJlZ2lzdGVyT2Jz
ZXJ2ZXIod2VicnRjOjpPYnNlcnZlckludGVyZmFjZSopIGZpbmFsIHsgfQogICAgIHZvaWQgVW5y
ZWdpc3Rlck9ic2VydmVyKHdlYnJ0Yzo6T2JzZXJ2ZXJJbnRlcmZhY2UqKSBmaW5hbCB7IH0KQEAg
LTcxLDYgKzc0LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1l
ZGlhU2FtcGxlJikgZmluYWw7CiAKICAgICBWZWN0b3I8cnRjOjpWaWRlb1NpbmtJbnRlcmZhY2U8
d2VicnRjOjpWaWRlb0ZyYW1lPio+IG1fc2lua3M7CisgICAgc3RkOjp1bmlxdWVfcHRyPHdlYnJ0
Yzo6VmlkZW9GcmFtZT4gbV9ibGFja0ZyYW1lOworICAgIHdlYnJ0Yzo6STQyMEJ1ZmZlclBvb2wg
bV9idWZmZXJQb29sOwogICAgIFJlZjxSZWFsdGltZU1lZGlhU291cmNlPiBtX3ZpZGVvU291cmNl
OwogICAgIGJvb2wgbV9lbmFibGVkIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9tdXRlZCB7IGZhbHNl
IH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302583</attachid>
            <date>2017-02-23 14:48:10 -0800</date>
            <delta_ts>2017-02-23 15:28:55 -0800</delta_ts>
            <desc>style</desc>
            <filename>bug-168802-20170223144521.patch</filename>
            <type>text/plain</type>
            <size>10491</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyODQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjgzNzFiYTQzOWI3MDVm
OGU5ZmVlMmM4ZDk1NzI1ZGY2MDA3NDM4ZS4uZDFjMjcwYTY2MGQ1NjI0YjJjOTRlZjlmZTBiM2Yy
NzUwMWVjM2FkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE3LTAyLTIzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBbV2ViUlRDXSBSZWFsdGlt
T3V0Z29pbmdWaWRlb1NvdXJjZSBzaG91bGQgbm90IG5lZWQgdG8gZG8gaW1hZ2UgY29udmVyc2lv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4ODAy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJl
ZCBieSBtYW51YWwgdGVzdGluZyBhcyBtb2NrIHNvdXJjZXMgZG8gbm90IGhpdCB0aGUgc2FtZSBj
b2RlIHBhdGguCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0Nh
cHR1cmVTb3VyY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRl
b0NhcHR1cmVTb3VyY2UubW06CisgICAgICAgIChXZWJDb3JlOjpBVlZpZGVvQ2FwdHVyZVNvdXJj
ZTo6Y3VycmVudEZyYW1lQ0dJbWFnZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2U6OnNlbmRGcmFtZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2U6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291
cmNlLmg6CisKKzIwMTctMDItMjMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgor
CiAgICAgICAgIFtXZWJSVENdIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZSBkb2VzIG5vdCBu
ZWVkIHRvIHVwc2FtcGxlIGF1ZGlvIGJ1ZmZlcnMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODc5NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5o
CmluZGV4IDIwYzA1MzA1NTMyMWJlNGQ3OTU2YTg4NWYwZWFiNDFkYjRhNDYxZDcuLjQ0MmYzNGRi
YWM2NDU2NTc3MmUyNDU1OGE0ZjI2NzdjMTZjMjM2YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNv
dXJjZS5oCkBAIC0zOSw5ICszOSwxMCBAQCB0eXBlZGVmIHN0cnVjdCBvcGFxdWVDTVNhbXBsZUJ1
ZmZlciAqQ01TYW1wbGVCdWZmZXJSZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3Mg
QVZWaWRlb1NvdXJjZVByZXZpZXc7CiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBHcmFwaGljc0Nv
bnRleHQ7Ci1jbGFzcyBBVlZpZGVvU291cmNlUHJldmlldzsKK2NsYXNzIFBpeGVsQnVmZmVyQ29u
Zm9ybWVyQ1Y7CiAKIGNsYXNzIEFWVmlkZW9DYXB0dXJlU291cmNlIDogcHVibGljIEFWTWVkaWFD
YXB0dXJlU291cmNlIHsKIHB1YmxpYzoKQEAgLTg3LDYgKzg4LDggQEAgcHJpdmF0ZToKICAgICBS
ZXRhaW5QdHI8Q0dJbWFnZVJlZj4gbV9sYXN0SW1hZ2U7CiAgICAgUmV0YWluUHRyPEFWQ2FwdHVy
ZVZpZGVvRGF0YU91dHB1dD4gbV92aWRlb091dHB1dDsKIAorICAgIHN0ZDo6dW5pcXVlX3B0cjxQ
aXhlbEJ1ZmZlckNvbmZvcm1lckNWPiBtX3BpeGVsQnVmZmVyQ29uZm9ybWVyOworCiAgICAgVmVj
dG9yPEZsb2F0NjQ+IG1fdmlkZW9GcmFtZVRpbWVTdGFtcHM7CiAgICAgRmxvYXQ2NCBtX2ZyYW1l
UmF0ZSB7IDAgfTsKICAgICBpbnQzMl90IG1fd2lkdGggeyAwIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2Uu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1
cmVTb3VyY2UubW0KaW5kZXggNzJjOTg1MmIxZTAyZDMxMDE5MDlhN2Y3YjFhZmIzMTJmYTAyZmEx
Yy4uZjA4YjNhZTJiNDdlNzUzN2NjMDkzOTk0YzJjNWIxNGI1NzFiYThmOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlkZW9DYXB0dXJlU291
cmNlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZp
ZGVvQ2FwdHVyZVNvdXJjZS5tbQpAQCAtMzYsNiArMzYsNyBAQAogI2ltcG9ydCAiTWVkaWFDb25z
dHJhaW50cy5oIgogI2ltcG9ydCAiTWVkaWFTYW1wbGVBVkZPYmpDLmgiCiAjaW1wb3J0ICJOb3RJ
bXBsZW1lbnRlZC5oIgorI2ltcG9ydCAiUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oIgogI2ltcG9y
dCAiUGxhdGZvcm1MYXllci5oIgogI2ltcG9ydCAiUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5o
IgogI2ltcG9ydCAiUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzLmgiCkBAIC0xMDIsNyArMTAz
LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y29uc3QgT1NUeXBlIHZpZGVvQ2FwdHVyZUZvcm1hdCA9IGtDVlBpeGVsRm9ybWF0VHlwZV8zMkJH
UkE7Citjb25zdCBPU1R5cGUgdmlkZW9DYXB0dXJlRm9ybWF0ID0ga0NWUGl4ZWxGb3JtYXRUeXBl
XzQyMFlwQ2JDcjhQbGFuYXI7CiAKIFJlZlB0cjxBVk1lZGlhQ2FwdHVyZVNvdXJjZT4gQVZWaWRl
b0NhcHR1cmVTb3VyY2U6OmNyZWF0ZShBVkNhcHR1cmVEZXZpY2VUeXBlZGVmKiBkZXZpY2UsIGNv
bnN0IEF0b21pY1N0cmluZyYgaWQsIGNvbnN0IE1lZGlhQ29uc3RyYWludHMqIGNvbnN0cmFpbnRz
LCBTdHJpbmcmIGludmFsaWRDb25zdHJhaW50KQogewpAQCAtNDYyLDE2ICs0NjMsMTYgQEAgUmV0
YWluUHRyPENHSW1hZ2VSZWY+IEFWVmlkZW9DYXB0dXJlU291cmNlOjpjdXJyZW50RnJhbWVDR0lt
YWdlKCkKICAgICBDVlBpeGVsQnVmZmVyUmVmIHBpeGVsQnVmZmVyID0gc3RhdGljX2Nhc3Q8Q1ZQ
aXhlbEJ1ZmZlclJlZj4oQ01TYW1wbGVCdWZmZXJHZXRJbWFnZUJ1ZmZlcihtX2J1ZmZlci5nZXQo
KSkpOwogICAgIEFTU0VSVChDVlBpeGVsQnVmZmVyR2V0UGl4ZWxGb3JtYXRUeXBlKHBpeGVsQnVm
ZmVyKSA9PSB2aWRlb0NhcHR1cmVGb3JtYXQpOwogCi0gICAgQ1ZQaXhlbEJ1ZmZlckxvY2tCYXNl
QWRkcmVzcyhwaXhlbEJ1ZmZlciwgMCk7Ci0gICAgdm9pZCAqYmFzZUFkZHJlc3MgPSBDVlBpeGVs
QnVmZmVyR2V0QmFzZUFkZHJlc3MocGl4ZWxCdWZmZXIpOwotICAgIHNpemVfdCBieXRlc1BlclJv
dyA9IENWUGl4ZWxCdWZmZXJHZXRCeXRlc1BlclJvdyhwaXhlbEJ1ZmZlcik7Ci0gICAgc2l6ZV90
IHdpZHRoID0gQ1ZQaXhlbEJ1ZmZlckdldFdpZHRoKHBpeGVsQnVmZmVyKTsKLSAgICBzaXplX3Qg
aGVpZ2h0ID0gQ1ZQaXhlbEJ1ZmZlckdldEhlaWdodChwaXhlbEJ1ZmZlcik7Ci0KLSAgICBSZXRh
aW5QdHI8Q0dEYXRhUHJvdmlkZXJSZWY+IHByb3ZpZGVyID0gYWRvcHRDRihDR0RhdGFQcm92aWRl
ckNyZWF0ZVdpdGhEYXRhKE5VTEwsIGJhc2VBZGRyZXNzLCBieXRlc1BlclJvdyAqIGhlaWdodCwg
TlVMTCkpOwotICAgIG1fbGFzdEltYWdlID0gYWRvcHRDRihDR0ltYWdlQ3JlYXRlKHdpZHRoLCBo
ZWlnaHQsIDgsIDMyLCBieXRlc1BlclJvdywgc1JHQkNvbG9yU3BhY2VSZWYoKSwga0NHQml0bWFw
Qnl0ZU9yZGVyMzJMaXR0bGUgfCBrQ0dJbWFnZUFscGhhUHJlbXVsdGlwbGllZEZpcnN0LCBwcm92
aWRlci5nZXQoKSwgTlVMTCwgdHJ1ZSwga0NHUmVuZGVyaW5nSW50ZW50RGVmYXVsdCkpOworICAg
IGlmICghbV9waXhlbEJ1ZmZlckNvbmZvcm1lcikgeworI2lmIFVTRShWSURFT1RPT0xCT1gpCisg
ICAgICAgIE5TRGljdGlvbmFyeSAqYXR0cmlidXRlcyA9IEB7IChOU1N0cmluZyAqKWtDVlBpeGVs
QnVmZmVyUGl4ZWxGb3JtYXRUeXBlS2V5OiBAKGtDVlBpeGVsRm9ybWF0VHlwZV8zMkJHUkEpIH07
CisjZWxzZQorICAgICAgICBOU0RpY3Rpb25hcnkgKmF0dHJpYnV0ZXMgPSBuaWw7CisjZW5kaWYK
KyAgICAgICAgbV9waXhlbEJ1ZmZlckNvbmZvcm1lciA9IHN0ZDo6bWFrZV91bmlxdWU8UGl4ZWxC
dWZmZXJDb25mb3JtZXJDVj4oKENGRGljdGlvbmFyeVJlZilhdHRyaWJ1dGVzKTsKKyAgICB9CiAK
LSAgICBDVlBpeGVsQnVmZmVyVW5sb2NrQmFzZUFkZHJlc3MocGl4ZWxCdWZmZXIsIDApOworICAg
IG1fbGFzdEltYWdlID0gbV9waXhlbEJ1ZmZlckNvbmZvcm1lci0+Y3JlYXRlSW1hZ2VGcm9tUGl4
ZWxCdWZmZXIocGl4ZWxCdWZmZXIpOwogCiAgICAgcmV0dXJuIG1fbGFzdEltYWdlOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1l
T3V0Z29pbmdWaWRlb1NvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmNwcAppbmRleCA1MTQ1Mjk5NGNi
ODYwZjcyOGU2MGI5YmRlMmI0ZDQ4YTIzNzQ5N2UyLi42YWMzNGMwNzM2OTFiZTI1NGRkY2FjZDc5
NGI1YjI0OWYxY2JhYWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291
cmNlLmNwcApAQCAtMzEsNiArMzEsNyBAQAogCiAjaWYgVVNFKExJQldFQlJUQykKIAorI2luY2x1
ZGUgIndlYnJ0Yy9jb21tb25fdmlkZW8vaW5jbHVkZS9jb3JldmlkZW9fZnJhbWVfYnVmZmVyLmgi
CiAjaW5jbHVkZSA8d2VicnRjL2NvbW1vbl92aWRlby9saWJ5dXYvaW5jbHVkZS93ZWJydGNfbGli
eXV2Lmg+CiAjaW5jbHVkZSA8d2VicnRjL21lZGlhL2Jhc2UvdmlkZW9mcmFtZS5oPgogCkBAIC03
MSw0NSArNzIsNDkgQEAgdm9pZCBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2U6OlJlbW92ZVNp
bmsocnRjOjpWaWRlb1NpbmtJbnRlcmZhY2U8d2VicnRjOjpWaWQKICAgICBtX3NpbmtzLnJlbW92
ZUZpcnN0KHNpbmspOwogfQogCit2b2lkIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZTo6c2Vu
ZEZyYW1lKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlZpZGVvRnJhbWVCdWZmZXI+JiYgYnVm
ZmVyKQoreworICAgIHdlYnJ0Yzo6VmlkZW9GcmFtZSBmcmFtZShidWZmZXIsIDAsIDAsIHdlYnJ0
Yzo6a1ZpZGVvUm90YXRpb25fMCk7CisgICAgZm9yIChhdXRvKiBzaW5rIDogbV9zaW5rcykKKyAg
ICAgICAgc2luay0+T25GcmFtZShmcmFtZSk7Cit9CisKIHZvaWQgUmVhbHRpbWVPdXRnb2luZ1Zp
ZGVvU291cmNlOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlKQogewog
ICAgIGlmICghbV9zaW5rcy5zaXplKCkpCiAgICAgICAgIHJldHVybjsKIAotCiAgICAgLy8gRklY
TUU6IFNob3VsZG4ndCB3ZSB1c2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6c2l6ZSgpCiAgICAgY29u
c3QgYXV0byYgc2V0dGluZ3MgPSBtX3ZpZGVvU291cmNlLT5zZXR0aW5ncygpOwogCi0gICAgLy8g
RklYTUU6IFdlIHNob3VsZCBub3QgbmVlZCB0byBhbGxvY2F0ZSBvbmUgYnVmZmVyIHBlciBmcmFt
ZS4KLSAgICBhdXRvIGRlc3QgPSB3ZWJydGM6Okk0MjBCdWZmZXI6OkNyZWF0ZShzZXR0aW5ncy53
aWR0aCgpLCBzZXR0aW5ncy5oZWlnaHQoKSk7Ci0KLSAgICBpZiAoIW1fbXV0ZWQgJiYgbV9lbmFi
bGVkKSB7Ci0gICAgICAgIEFTU0VSVChzYW1wbGUucGxhdGZvcm1TYW1wbGUoKS50eXBlID09IFBs
YXRmb3JtU2FtcGxlOjpDTVNhbXBsZUJ1ZmZlclR5cGUpOwotICAgICAgICBhdXRvIHBpeGVsQnVm
ZmVyID0gc3RhdGljX2Nhc3Q8Q1ZQaXhlbEJ1ZmZlclJlZj4oQ01TYW1wbGVCdWZmZXJHZXRJbWFn
ZUJ1ZmZlcihzYW1wbGUucGxhdGZvcm1TYW1wbGUoKS5zYW1wbGUuY21TYW1wbGVCdWZmZXIpKTsK
LSAgICAgICAgYXV0byBwaXhlbEZvcm1hdFR5cGUgPSBDVlBpeGVsQnVmZmVyR2V0UGl4ZWxGb3Jt
YXRUeXBlKHBpeGVsQnVmZmVyKTsKLQotICAgICAgICBDVlBpeGVsQnVmZmVyTG9ja0Jhc2VBZGRy
ZXNzKHBpeGVsQnVmZmVyLCAwKTsKLSAgICAgICAgdWludDhfdCogc3JjID0gcmVpbnRlcnByZXRf
Y2FzdDx1aW50OF90Kj4oQ1ZQaXhlbEJ1ZmZlckdldEJhc2VBZGRyZXNzT2ZQbGFuZShwaXhlbEJ1
ZmZlciwgMCkpOwotCi0gICAgICAgIGlmIChwaXhlbEZvcm1hdFR5cGUgPT0ga0NWUGl4ZWxGb3Jt
YXRUeXBlXzQyMFlwQ2JDcjhQbGFuYXIpIHsKLSAgICAgICAgICAgIC8vIFdlIHByb2JhYmx5IGNh
biBtZW1jcHkgdGhlIGRhdGEgZGlyZWN0bHkKLSAgICAgICAgICAgIHdlYnJ0Yzo6Q29udmVydFRv
STQyMCh3ZWJydGM6OmtJNDIwLCBzcmMsIDAsIDAsIHNldHRpbmdzLndpZHRoKCksIHNldHRpbmdz
LmhlaWdodCgpLCAwLCB3ZWJydGM6OmtWaWRlb1JvdGF0aW9uXzAsIGRlc3QpOwotICAgICAgICB9
IGVsc2UgaWYgKHBpeGVsRm9ybWF0VHlwZSA9PSBrQ1ZQaXhlbEZvcm1hdFR5cGVfMzJCR1JBKQot
ICAgICAgICAgICAgd2VicnRjOjpDb252ZXJ0VG9JNDIwKHdlYnJ0Yzo6a0FSR0IsIHNyYywgMCwg
MCwgc2V0dGluZ3Mud2lkdGgoKSwgc2V0dGluZ3MuaGVpZ2h0KCksIDAsIHdlYnJ0Yzo6a1ZpZGVv
Um90YXRpb25fMCwgZGVzdCk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgLy8gRklYTUU6
IE1vY2sgc291cmNlIGNvbnZlcnNpb24gd29ya3Mgd2l0aCBrQkdSQSB3aGlsZSByZWd1bGFyIGNh
bWVyYSB3b3JrcyB3aXRoIGtBUkdCCi0gICAgICAgICAgICBBU1NFUlQocGl4ZWxGb3JtYXRUeXBl
ID09IGtDVlBpeGVsRm9ybWF0VHlwZV8zMkFSR0IpOwotICAgICAgICAgICAgd2VicnRjOjpDb252
ZXJ0VG9JNDIwKHdlYnJ0Yzo6a0JHUkEsIHNyYywgMCwgMCwgc2V0dGluZ3Mud2lkdGgoKSwgc2V0
dGluZ3MuaGVpZ2h0KCksIDAsIHdlYnJ0Yzo6a1ZpZGVvUm90YXRpb25fMCwgZGVzdCk7Ci0gICAg
ICAgIH0KLQotICAgICAgICBDVlBpeGVsQnVmZmVyVW5sb2NrQmFzZUFkZHJlc3MocGl4ZWxCdWZm
ZXIsIDApOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGRlc3QtPlNldFRvQmxhY2soKTsKKyAgICBp
ZiAobV9tdXRlZCB8fCAhbV9lbmFibGVkKSB7CisgICAgICAgIGF1dG8gYmxhY2tCdWZmZXIgPSBt
X2J1ZmZlclBvb2wuQ3JlYXRlQnVmZmVyKHNldHRpbmdzLndpZHRoKCksIHNldHRpbmdzLmhlaWdo
dCgpKTsKKyAgICAgICAgYmxhY2tCdWZmZXItPlNldFRvQmxhY2soKTsKKyAgICAgICAgc2VuZEZy
YW1lKFdURk1vdmUoYmxhY2tCdWZmZXIpKTsKICAgICB9CiAKLSAgICB3ZWJydGM6OlZpZGVvRnJh
bWUgZnJhbWUoZGVzdCwgMCwgMCwgIHdlYnJ0Yzo6a1ZpZGVvUm90YXRpb25fMCk7Ci0gICAgZm9y
IChhdXRvKiBzaW5rIDogbV9zaW5rcykKLSAgICAgICAgc2luay0+T25GcmFtZShmcmFtZSk7Cisg
ICAgQVNTRVJUKHNhbXBsZS5wbGF0Zm9ybVNhbXBsZSgpLnR5cGUgPT0gUGxhdGZvcm1TYW1wbGU6
OkNNU2FtcGxlQnVmZmVyVHlwZSk7CisgICAgYXV0byBwaXhlbEJ1ZmZlciA9IHN0YXRpY19jYXN0
PENWUGl4ZWxCdWZmZXJSZWY+KENNU2FtcGxlQnVmZmVyR2V0SW1hZ2VCdWZmZXIoc2FtcGxlLnBs
YXRmb3JtU2FtcGxlKCkuc2FtcGxlLmNtU2FtcGxlQnVmZmVyKSk7CisgICAgYXV0byBwaXhlbEZv
cm1hdFR5cGUgPSBDVlBpeGVsQnVmZmVyR2V0UGl4ZWxGb3JtYXRUeXBlKHBpeGVsQnVmZmVyKTsK
KworICAgIGlmIChwaXhlbEZvcm1hdFR5cGUgPT0ga0NWUGl4ZWxGb3JtYXRUeXBlXzQyMFlwQ2JD
cjhQbGFuYXIpIHsKKyAgICAgICAgc2VuZEZyYW1lKG5ldyBydGM6OlJlZkNvdW50ZWRPYmplY3Q8
d2VicnRjOjpDb3JlVmlkZW9GcmFtZUJ1ZmZlcj4ocGl4ZWxCdWZmZXIpKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIENWUGl4ZWxCdWZmZXJMb2NrQmFzZUFkZHJlc3MocGl4ZWxCdWZm
ZXIsIDApOworICAgIHVpbnQ4X3QqIHNvdXJjZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+
KENWUGl4ZWxCdWZmZXJHZXRCYXNlQWRkcmVzc09mUGxhbmUocGl4ZWxCdWZmZXIsIDApKTsKKwor
ICAgIGF1dG8gbmV3QnVmZmVyID0gbV9idWZmZXJQb29sLkNyZWF0ZUJ1ZmZlcihzZXR0aW5ncy53
aWR0aCgpLCBzZXR0aW5ncy5oZWlnaHQoKSk7CisgICAgaWYgKHBpeGVsRm9ybWF0VHlwZSA9PSBr
Q1ZQaXhlbEZvcm1hdFR5cGVfMzJCR1JBKQorICAgICAgICB3ZWJydGM6OkNvbnZlcnRUb0k0MjAo
d2VicnRjOjprQVJHQiwgc291cmNlLCAwLCAwLCBzZXR0aW5ncy53aWR0aCgpLCBzZXR0aW5ncy5o
ZWlnaHQoKSwgMCwgd2VicnRjOjprVmlkZW9Sb3RhdGlvbl8wLCBuZXdCdWZmZXIpOworICAgIGVs
c2UgeworICAgICAgICAvLyBGSVhNRTogTW9jayBzb3VyY2UgY29udmVyc2lvbiB3b3JrcyB3aXRo
IGtCR1JBIHdoaWxlIHJlZ3VsYXIgY2FtZXJhIHdvcmtzIHdpdGgga0FSR0IKKyAgICAgICAgQVNT
RVJUKHBpeGVsRm9ybWF0VHlwZSA9PSBrQ1ZQaXhlbEZvcm1hdFR5cGVfMzJBUkdCKTsKKyAgICAg
ICAgd2VicnRjOjpDb252ZXJ0VG9JNDIwKHdlYnJ0Yzo6a0JHUkEsIHNvdXJjZSwgMCwgMCwgc2V0
dGluZ3Mud2lkdGgoKSwgc2V0dGluZ3MuaGVpZ2h0KCksIDAsIHdlYnJ0Yzo6a1ZpZGVvUm90YXRp
b25fMCwgbmV3QnVmZmVyKTsKKyAgICB9CisgICAgQ1ZQaXhlbEJ1ZmZlclVubG9ja0Jhc2VBZGRy
ZXNzKHBpeGVsQnVmZmVyLCAwKTsKKyAgICBzZW5kRnJhbWUoV1RGTW92ZShuZXdCdWZmZXIpKTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdW
aWRlb1NvdXJjZS5oCmluZGV4IDRjNmRjNzEyYmI4MmZjYzYwYTYwOWJhNDBiMjhhOGMzYzFmZGM4
ODkuLmE2MDRlYzExZGM2MmRlODE5NTQ5MTJlNWE5MWQ4OWVjNmIwNGQwYmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5n
VmlkZW9Tb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9t
YWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNs
dWRlICJSZWFsdGltZU1lZGlhU291cmNlLmgiCiAjaW5jbHVkZSA8d2VicnRjL2FwaS9tZWRpYXN0
cmVhbWludGVyZmFjZS5oPgogI2luY2x1ZGUgPHdlYnJ0Yy9iYXNlL29wdGlvbmFsLmg+CisjaW5j
bHVkZSA8d2VicnRjL2NvbW1vbl92aWRlby9pbmNsdWRlL2k0MjBfYnVmZmVyX3Bvb2wuaD4KICNp
bmNsdWRlIDx3ZWJydGMvbWVkaWEvYmFzZS92aWRlb3NpbmtpbnRlcmZhY2UuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNDgsNiArNDksOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFJl
YWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZShSZWY8UmVhbHRpbWVNZWRpYVNvdXJjZT4mJik7CiAK
KyAgICB2b2lkIHNlbmRGcmFtZShydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpWaWRlb0ZyYW1l
QnVmZmVyPiYmKTsKKwogICAgIC8vIE5vdGlmaWVyIEFQSQogICAgIHZvaWQgUmVnaXN0ZXJPYnNl
cnZlcih3ZWJydGM6Ok9ic2VydmVySW50ZXJmYWNlKikgZmluYWwgeyB9CiAgICAgdm9pZCBVbnJl
Z2lzdGVyT2JzZXJ2ZXIod2VicnRjOjpPYnNlcnZlckludGVyZmFjZSopIGZpbmFsIHsgfQpAQCAt
NzEsNiArNzQsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVk
aWFTYW1wbGUmKSBmaW5hbDsKIAogICAgIFZlY3RvcjxydGM6OlZpZGVvU2lua0ludGVyZmFjZTx3
ZWJydGM6OlZpZGVvRnJhbWU+Kj4gbV9zaW5rczsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8d2VicnRj
OjpWaWRlb0ZyYW1lPiBtX2JsYWNrRnJhbWU7CisgICAgd2VicnRjOjpJNDIwQnVmZmVyUG9vbCBt
X2J1ZmZlclBvb2w7CiAgICAgUmVmPFJlYWx0aW1lTWVkaWFTb3VyY2U+IG1fdmlkZW9Tb3VyY2U7
CiAgICAgYm9vbCBtX2VuYWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX211dGVkIHsgZmFsc2Ug
fTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302589</attachid>
            <date>2017-02-23 15:28:59 -0800</date>
            <delta_ts>2017-02-24 14:13:39 -0800</delta_ts>
            <desc>Fixing build</desc>
            <filename>bug-168802-20170223152610.patch</filename>
            <type>text/plain</type>
            <size>22711</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyODQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCBhOTMxOWIxMjA5YjFhNDg5MzcwNTA2ZWM3NTIxMTVkOTlkY2MxZDdkLi4yNjhm
ZmMxZTE0NzIyYzRkYjc0MWMxNjIyOTNlOWYzZjA1ZTBjNDdkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNy0wMi0yMyAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYlJUQ10gUmVhbHRpbU91dGdv
aW5nVmlkZW9Tb3VyY2Ugc2hvdWxkIG5vdCBuZWVkIHRvIGRvIGltYWdlIGNvbnZlcnNpb24KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODgwMgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4cG9ydGluZyBu
ZXcgc3ltYm9scy4KKyAgICAgICAgSW5jbHVkaW5nIGhlYWRlcnMgaW4gdGhlIHByb2plY3QgZmls
ZS4KKworICAgICAgICAqIFNvdXJjZS93ZWJydGMvY29tbW9uX3ZpZGVvL2luY2x1ZGUvY29yZXZp
ZGVvX2ZyYW1lX2J1ZmZlci5oOgorICAgICAgICAqIFNvdXJjZS93ZWJydGMvY29tbW9uX3ZpZGVv
L2luY2x1ZGUvaTQyMF9idWZmZXJfcG9vbC5oOgorICAgICAgICAqIFNvdXJjZS93ZWJydGMvY29t
bW9uX3ZpZGVvL2luY2x1ZGUvdmlkZW9fZnJhbWVfYnVmZmVyLmg6CisgICAgICAgICogbGlid2Vi
cnRjLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTctMDItMjIgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJSVENdIERpc2FibGUgbGlid2Vi
cnRjIHN0ZGVyciBsb2dnaW5nIGluIHJlbGVhc2UgbW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDI4MzcxYmE0
MzliNzA1ZjhlOWZlZTJjOGQ5NTcyNWRmNjAwNzQzOGUuLmQxYzI3MGE2NjBkNTYyNGIyYzk0ZWY5
ZmUwYjNmMjc1MDFlYzNhZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMiBAQAogMjAxNy0wMi0y
MyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKKyAgICAgICAgW1dlYlJUQ10g
UmVhbHRpbU91dGdvaW5nVmlkZW9Tb3VyY2Ugc2hvdWxkIG5vdCBuZWVkIHRvIGRvIGltYWdlIGNv
bnZlcnNpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2ODgwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IENvdmVyZWQgYnkgbWFudWFsIHRlc3RpbmcgYXMgbW9jayBzb3VyY2VzIGRvIG5vdCBoaXQgdGhl
IHNhbWUgY29kZSBwYXRoLgorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FW
VmlkZW9DYXB0dXJlU291cmNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L0FWVmlkZW9DYXB0dXJlU291cmNlLm1tOgorICAgICAgICAoV2ViQ29yZTo6QVZWaWRlb0NhcHR1
cmVTb3VyY2U6OmN1cnJlbnRGcmFtZUNHSW1hZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlh
c3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlOjpzZW5kRnJhbWUpOgorICAgICAgICAo
V2ViQ29yZTo6UmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlOjp2aWRlb1NhbXBsZUF2YWlsYWJs
ZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdW
aWRlb1NvdXJjZS5oOgorCisyMDE3LTAyLTIzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KKwogICAgICAgICBbV2ViUlRDXSBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UgZG9l
cyBub3QgbmVlZCB0byB1cHNhbXBsZSBhdWRpbyBidWZmZXJzCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjg3OTYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvY29tbW9uX3ZpZGVvL2luY2x1ZGUv
Y29yZXZpZGVvX2ZyYW1lX2J1ZmZlci5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS93ZWJydGMvY29tbW9uX3ZpZGVvL2luY2x1ZGUvY29yZXZpZGVvX2ZyYW1lX2J1ZmZlci5o
CmluZGV4IGM5MjVjYmZjOTdjNWMxZGEwNmIyNWQ0NjBlMTYxYzYxMzkzNTZjOWMuLjk0NGE0YjFl
MTQ5NjdhM2IwNjUyYjAxYjU4OGJiNjMyMjM0YjJlYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL2NvbW1vbl92aWRlby9pbmNsdWRlL2NvcmV2
aWRlb19mcmFtZV9idWZmZXIuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3dlYnJ0Yy9jb21tb25fdmlkZW8vaW5jbHVkZS9jb3JldmlkZW9fZnJhbWVfYnVmZmVyLmgK
QEAgLTE5LDcgKzE5LDcgQEAKIAogbmFtZXNwYWNlIHdlYnJ0YyB7CiAKLWNsYXNzIENvcmVWaWRl
b0ZyYW1lQnVmZmVyIDogcHVibGljIE5hdGl2ZUhhbmRsZUJ1ZmZlciB7CitjbGFzcyBXRUJSVENf
RVhQT1JUIENvcmVWaWRlb0ZyYW1lQnVmZmVyIDogcHVibGljIE5hdGl2ZUhhbmRsZUJ1ZmZlciB7
CiAgcHVibGljOgogICBleHBsaWNpdCBDb3JlVmlkZW9GcmFtZUJ1ZmZlcihDVlBpeGVsQnVmZmVy
UmVmIHBpeGVsX2J1ZmZlcik7CiAgIENvcmVWaWRlb0ZyYW1lQnVmZmVyKENWUGl4ZWxCdWZmZXJS
ZWYgcGl4ZWxfYnVmZmVyLApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS93ZWJydGMvY29tbW9uX3ZpZGVvL2luY2x1ZGUvaTQyMF9idWZmZXJfcG9vbC5oIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvY29tbW9uX3ZpZGVvL2lu
Y2x1ZGUvaTQyMF9idWZmZXJfcG9vbC5oCmluZGV4IGYwNTYyNjM0YWVhYjQzZjIyNWI4YjNlY2Vi
YmVhMGYyZjUyNTQ2NDQuLjBiMDQ5YWJiZDkzNzAwM2M1NDNhZmFlYWE4ZGFjMDlhNmVjMTdhYzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL2Nv
bW1vbl92aWRlby9pbmNsdWRlL2k0MjBfYnVmZmVyX3Bvb2wuaAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9jb21tb25fdmlkZW8vaW5jbHVkZS9pNDIwX2J1
ZmZlcl9wb29sLmgKQEAgLTI2LDcgKzI2LDcgQEAgbmFtZXNwYWNlIHdlYnJ0YyB7CiAvLyBjaGFu
Z2VzLCBvbGQgYnVmZmVycyB3aWxsIGJlIHB1cmdlZCBmcm9tIHRoZSBwb29sLgogLy8gTm90ZSB0
aGF0IENyZWF0ZUJ1ZmZlciB3aWxsIGNyYXNoIGlmIG1vcmUgdGhhbiBrTWF4TnVtYmVyT2ZGcmFt
ZXNCZWZvcmVDcmFzaAogLy8gYXJlIGNyZWF0ZWQuIFRoaXMgaXMgdG8gcHJldmVudCBtZW1vcnkg
bGVha3Mgd2hlcmUgZnJhbWVzIGFyZSBub3QgcmV0dXJuZWQuCi1jbGFzcyBJNDIwQnVmZmVyUG9v
bCB7CitjbGFzcyBXRUJSVENfRVhQT1JUIEk0MjBCdWZmZXJQb29sIHsKICBwdWJsaWM6CiAgIEk0
MjBCdWZmZXJQb29sKCkKICAgICAgIDogSTQyMEJ1ZmZlclBvb2woZmFsc2UpIHt9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9jb21tb25fdmlk
ZW8vaW5jbHVkZS92aWRlb19mcmFtZV9idWZmZXIuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2Uvd2VicnRjL2NvbW1vbl92aWRlby9pbmNsdWRlL3ZpZGVvX2ZyYW1lX2J1ZmZl
ci5oCmluZGV4IDg1OGE4ZTVhYzFmYWRlYTRjZGJiZDNkN2U3NmY0ZjJiNWY5NmM3NmUuLmZhYjE5
N2U0NTYyOTNiMzQ3OTRhMDczZjY4OWEyNDQ2ZmJjMWZmYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL2NvbW1vbl92aWRlby9pbmNsdWRlL3Zp
ZGVvX2ZyYW1lX2J1ZmZlci5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3Vy
Y2Uvd2VicnRjL2NvbW1vbl92aWRlby9pbmNsdWRlL3ZpZGVvX2ZyYW1lX2J1ZmZlci5oCkBAIC0x
NTcsNyArMTU3LDcgQEAgY2xhc3MgV0VCUlRDX0VYUE9SVCBJNDIwQnVmZmVyIDogcHVibGljIFZp
ZGVvRnJhbWVCdWZmZXIgewogLy8gVGhpcyBpcyB1c2VkIGZvciBjb252ZW5pZW5jZSBhcyBtb3N0
IG5hdGl2ZS1oYW5kbGUgaW1wbGVtZW50YXRpb25zIGNhbiBzaGFyZQogLy8gbWFueSBWaWRlb0Zy
YW1lIGltcGxlbWVudGF0aW9ucywgYnV0IG5lZWQgdG8gaW1wbGVtZW50IGEgZmV3IG90aGVycyAo
c3VjaAogLy8gYXMgdGhlaXIgb3duIGRlc3RydWN0b3JzIG9yIGNvbnZlcnNpb24gbWV0aG9kcyBi
YWNrIHRvIHNvZnR3YXJlIEk0MjApLgotY2xhc3MgTmF0aXZlSGFuZGxlQnVmZmVyIDogcHVibGlj
IFZpZGVvRnJhbWVCdWZmZXIgeworY2xhc3MgV0VCUlRDX0VYUE9SVCBOYXRpdmVIYW5kbGVCdWZm
ZXIgOiBwdWJsaWMgVmlkZW9GcmFtZUJ1ZmZlciB7CiAgcHVibGljOgogICBOYXRpdmVIYW5kbGVC
dWZmZXIodm9pZCogbmF0aXZlX2hhbmRsZSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL2xpYndlYnJ0Yy54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL2xpYndlYnJ0Yy54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGMxYmU0NTljODM5YjEzNWYzZjcxZDU1ZmJh
ZWE1ZmNmYjI5M2EyODMuLjdkM2RiM2NlYzQ4NjgwZmUyZmNlZWNkNjZlMzMwMjRhNDdhODA4NGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9saWJ3ZWJydGMueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvbGli
d2VicnRjLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIxLDYgKzIxLDEzIEBACiAvKiBF
bmQgUEJYQWdncmVnYXRlVGFyZ2V0IHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYQnVpbGRGaWxl
IHNlY3Rpb24gKi8KKwkJNDExMDlBQUMxRTVGQTE5MjAwQzA5NTVBIC8qIGNvcmV2aWRlb19mcmFt
ZV9idWZmZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxMTA5QUE1MUU1RkExOTIwMEMwOTU1QSAvKiBjb3JldmlkZW9fZnJhbWVfYnVmZmVyLmggKi87
IH07CisJCTQxMTA5QUFEMUU1RkExOTIwMEMwOTU1QSAvKiBpNDIwX2J1ZmZlcl9wb29sLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTEwOUFBNjFFNUZB
MTkyMDBDMDk1NUEgLyogaTQyMF9idWZmZXJfcG9vbC5oICovOyB9OworCQk0MTEwOUFBRTFFNUZB
MTkyMDBDMDk1NUEgLyogdmlkZW9fZnJhbWVfYnVmZmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTEwOUFBNzFFNUZBMTkyMDBDMDk1NUEgLyogdmlk
ZW9fZnJhbWVfYnVmZmVyLmggKi87IH07CisJCTQxMTA5QUFGMUU1RkExOTIwMEMwOTU1QSAvKiBm
cmFtZV9jYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDExMDlBQTgxRTVGQTE5MjAwQzA5NTVBIC8qIGZyYW1lX2NhbGxiYWNrLmggKi87IH07
CisJCTQxMTA5QUIwMUU1RkExOTIwMEMwOTU1QSAvKiBiaXRyYXRlX2FkanVzdGVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTEwOUFBOTFFNUZBMTky
MDBDMDk1NUEgLyogYml0cmF0ZV9hZGp1c3Rlci5oICovOyB9OworCQk0MTEwOUFCMTFFNUZBMTky
MDBDMDk1NUEgLyogaW5jb21pbmdfdmlkZW9fc3RyZWFtLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTEwOUFBQTFFNUZBMTkyMDBDMDk1NUEgLyogaW5j
b21pbmdfdmlkZW9fc3RyZWFtLmggKi87IH07CisJCTQxMTA5QUIyMUU1RkExOTIwMEMwOTU1QSAv
KiB2aWRlb19pbWFnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDExMDlBQUIxRTVGQTE5MjAwQzA5NTVBIC8qIHZpZGVvX2ltYWdlLmggKi87IH07CiAJ
CTQxNDBCODIwMUU0RTMzODMwMDc0MDlFNiAvKiBhdWRpb19lbmNvZGVyX3BjbS5jYyBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNDBCODE4MUU0RTMzODMw
MDc0MDlFNiAvKiBhdWRpb19lbmNvZGVyX3BjbS5jYyAqLzsgfTsKIAkJNDE0MEI4MjExRTRFMzM4
MzAwNzQwOUU2IC8qIGF1ZGlvX2VuY29kZXJfcGNtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTQwQjgxOTFFNEUzMzgzMDA3NDA5RTYgLyogYXVkaW9f
ZW5jb2Rlcl9wY20uaCAqLzsgfTsKIAkJNDE0MEI4MjIxRTRFMzM4MzAwNzQwOUU2IC8qIGF1ZGlv
X2RlY29kZXJfcGNtLmNjIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDE0MEI4MUExRTRFMzM4MzAwNzQwOUU2IC8qIGF1ZGlvX2RlY29kZXJfcGNtLmNjICov
OyB9OwpAQCAtMjY0OCw2ICsyNjU1LDEzIEBACiAvKiBFbmQgUEJYQ29weUZpbGVzQnVpbGRQaGFz
ZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLworCQk0
MTEwOUFBNTFFNUZBMTkyMDBDMDk1NUEgLyogY29yZXZpZGVvX2ZyYW1lX2J1ZmZlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBjb3JldmlkZW9fZnJhbWVfYnVmZmVyLmg7IHBh
dGggPSBpbmNsdWRlL2NvcmV2aWRlb19mcmFtZV9idWZmZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNDExMDlBQTYxRTVGQTE5MjAwQzA5NTVBIC8qIGk0MjBfYnVmZmVyX3Bvb2wu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gaTQyMF9idWZmZXJfcG9vbC5oOyBw
YXRoID0gaW5jbHVkZS9pNDIwX2J1ZmZlcl9wb29sLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTQxMTA5QUE3MUU1RkExOTIwMEMwOTU1QSAvKiB2aWRlb19mcmFtZV9idWZmZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gdmlkZW9fZnJhbWVfYnVmZmVyLmg7IHBh
dGggPSBpbmNsdWRlL3ZpZGVvX2ZyYW1lX2J1ZmZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk0MTEwOUFBODFFNUZBMTkyMDBDMDk1NUEgLyogZnJhbWVfY2FsbGJhY2suaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gZnJhbWVfY2FsbGJhY2suaDsgcGF0aCA9IGlu
Y2x1ZGUvZnJhbWVfY2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEx
MDlBQTkxRTVGQTE5MjAwQzA5NTVBIC8qIGJpdHJhdGVfYWRqdXN0ZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gYml0cmF0ZV9hZGp1c3Rlci5oOyBwYXRoID0gaW5jbHVkZS9i
aXRyYXRlX2FkanVzdGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMTA5QUFB
MUU1RkExOTIwMEMwOTU1QSAvKiBpbmNvbWluZ192aWRlb19zdHJlYW0uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gaW5jb21pbmdfdmlkZW9fc3RyZWFtLmg7IHBhdGggPSBpbmNs
dWRlL2luY29taW5nX3ZpZGVvX3N0cmVhbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0MTEwOUFBQjFFNUZBMTkyMDBDMDk1NUEgLyogdmlkZW9faW1hZ2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gdmlkZW9faW1hZ2UuaDsgcGF0aCA9IGluY2x1ZGUvdmlkZW9f
aW1hZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE0MEI4MTgxRTRFMzM4MzAw
NzQwOUU2IC8qIGF1ZGlvX2VuY29kZXJfcGNtLmNjICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gYXVkaW9fZW5jb2Rlcl9wY20uY2M7IHBhdGggPSBnNzExL2F1ZGlvX2VuY29k
ZXJfcGNtLmNjOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTQwQjgxOTFFNEUzMzgz
MDA3NDA5RTYgLyogYXVkaW9fZW5jb2Rlcl9wY20uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gYXVkaW9fZW5jb2Rlcl9wY20uaDsgcGF0aCA9IGc3MTEvYXVkaW9fZW5jb2Rlcl9w
Y20uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE0MEI4MUExRTRFMzM4MzAwNzQw
OUU2IC8qIGF1ZGlvX2RlY29kZXJfcGNtLmNjICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gYXVkaW9fZGVjb2Rlcl9wY20uY2M7IHBhdGggPSBnNzExL2F1ZGlvX2RlY29kZXJf
cGNtLmNjOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTE0Niw2ICs1MTYwLDIwIEBA
CiAvKiBFbmQgUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQ
QlhHcm91cCBzZWN0aW9uICovCisJCTQxMTA5QUE0MUU1RkExODEwMEMwOTU1QSAvKiBpbmNsdWRl
ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0MTEwOUFB
NTFFNUZBMTkyMDBDMDk1NUEgLyogY29yZXZpZGVvX2ZyYW1lX2J1ZmZlci5oICovLAorCQkJCTQx
MTA5QUE2MUU1RkExOTIwMEMwOTU1QSAvKiBpNDIwX2J1ZmZlcl9wb29sLmggKi8sCisJCQkJNDEx
MDlBQTcxRTVGQTE5MjAwQzA5NTVBIC8qIHZpZGVvX2ZyYW1lX2J1ZmZlci5oICovLAorCQkJCTQx
MTA5QUE4MUU1RkExOTIwMEMwOTU1QSAvKiBmcmFtZV9jYWxsYmFjay5oICovLAorCQkJCTQxMTA5
QUE5MUU1RkExOTIwMEMwOTU1QSAvKiBiaXRyYXRlX2FkanVzdGVyLmggKi8sCisJCQkJNDExMDlB
QUExRTVGQTE5MjAwQzA5NTVBIC8qIGluY29taW5nX3ZpZGVvX3N0cmVhbS5oICovLAorCQkJCTQx
MTA5QUFCMUU1RkExOTIwMEMwOTU1QSAvKiB2aWRlb19pbWFnZS5oICovLAorCQkJKTsKKwkJCW5h
bWUgPSBpbmNsdWRlOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJNDE0MEI4
MTYxRTRFMzM1RTAwNzQwOUU2IC8qIGc3MTEgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKApAQCAtNjM1MSw2ICs2Mzc5LDcgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCiAJCQkJNUNERDgzNDExRTQzMjU2NDAwNjIxRTkyIC8qIGgyNjQgKi8s
CisJCQkJNDExMDlBQTQxRTVGQTE4MTAwQzA5NTVBIC8qIGluY2x1ZGUgKi8sCiAJCQkJNUNERDgz
NjUxRTQzMjVDMjAwNjIxRTkyIC8qIGxpYnl1diAqLywKIAkJCQk1QzRCNEMxMDFFNDMxRjc1MDAy
NjUxQzggLyogYml0cmF0ZV9hZGp1c3Rlci5jYyAqLywKIAkJCQk1QzRCNEMxMTFFNDMxRjc1MDAy
NjUxQzggLyogY29yZXZpZGVvX2ZyYW1lX2J1ZmZlci5jYyAqLywKQEAgLTk0ODEsNiArOTUxMCw3
IEBACiAJCQkJNUNERDgzQ0QxRTQzOUE2RjAwNjIxRTkyIC8qIGVuY29kZWRfZnJhbWUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTVDREQ4NUEwMUU0M0I1QzAwMDYyMUU5MiAvKiBlbmNvZGVyX3J0Y3Bf
ZmVlZGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTVDREQ4Qjk5MUU0M0MyQjUwMDYyMUU5MiAv
KiBlbmVyZ3lfaW52ZXJzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDExMDlBQUMxRTVGQTE5MjAw
QzA5NTVBIC8qIGNvcmV2aWRlb19mcmFtZV9idWZmZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTVD
REQ4QjlCMUU0M0MyQjUwMDYyMUU5MiAvKiBlbmhfdXBzYW1wbGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTVDREQ4QjlGMUU0M0MyQjUwMDYyMUU5MiAvKiBlbmhhbmNlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNUNERDhCOUQxRTQzQzJCNTAwNjIxRTkyIC8qIGVuaGFuY2VyX2ludGVyZmFjZS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC05NTg1LDYgKzk2MTUsNyBAQAogCQkJCTVDNEI0OEU0MUU0MkMxRTMw
MDI2NTFDOCAvKiBoeWJyaWRkYXRhZW5naW5lLmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzYzRjgw
MjFFNDE2Mjg4MDAyQ0E1MzEgLyogaWZhZGRyc19jb252ZXJ0ZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTVDNjNGODA1MUU0MTYyODgwMDJDQTUzMSAvKiBpZ25vcmVfd3VuZGVmLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk0MTEwOUFBRTFFNUZBMTkyMDBDMDk1NUEgLyogdmlkZW9fZnJhbWVfYnVmZmVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0REOEJCNDFFNDNDMkI1MDA2MjFFOTIgLyogaWxiYy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNUNERDhCQjYxRTQzQzJCNTAwNjIxRTkyIC8qIGluZGV4X2Nv
bnZfZGVjLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0REOEJCODFFNDNDMkI1MDA2MjFFOTIgLyog
aW5kZXhfY29udl9lbmMuaCBpbiBIZWFkZXJzICovLApAQCAtOTYxMyw2ICs5NjQ0LDcgQEAKIAkJ
CQk1QzRCNEM3MTFFNDMxRjlDMDAyNjUxQzggLyogbGFwcGVkX3RyYW5zZm9ybS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNUNERDg0MjAxRTQzOUIyOTAwNjIxRTkyIC8qIGxlZ2FjeV9lbmNvZGVkX2F1
ZGlvX2ZyYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0REOTAyODFFNDNDRURFMDA2MjFFOTIg
LyogbGV2ZWxfY29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDExMDlBQjExRTVGQTE5
MjAwQzA5NTVBIC8qIGluY29taW5nX3ZpZGVvX3N0cmVhbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NUNERDkwMjUxRTQzQ0VERTAwNjIxRTkyIC8qIGxldmVsX2NvbnRyb2xsZXJfY29uc3RhbnRzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1Q0REODRCOTFFNDNBRjEzMDA2MjFFOTIgLyogbGV2ZWxfZXN0
aW1hdG9yX2ltcGwuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDREQ4NDYwMUU0M0FFMjkwMDYyMUU5
MiAvKiBsZXZlbF9pbmRpY2F0b3IuaCBpbiBIZWFkZXJzICovLApAQCAtOTYyMyw2ICs5NjU1LDcg
QEAKIAkJCQk1QzYzRjgxMDFFNDE2Mjg4MDAyQ0E1MzEgLyogbG9nZ2luZy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNUM2M0Y4MTIxRTQxNjI4ODAwMkNBNTMxIC8qIGxvZ3NpbmtzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1Q0REODcwNjFFNDNCQTc1MDA2MjFFOTIgLyogbG91ZG5lc3NfaGlzdG9ncmFt
LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTEwOUFCMjFFNUZBMTkyMDBDMDk1NUEgLyogdmlkZW9f
aW1hZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDREQ4N0M2MUU0M0JDMDUwMDYyMUU5MiAvKiBs
cGNfYW5hbHlzaXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDREQ4QkMyMUU0M0MyQjUwMDYyMUU5
MiAvKiBscGNfZW5jb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0REODdDODFFNDNCQzA1MDA2
MjFFOTIgLyogbHBjX2dhaW5fc3diX3RhYmxlcy5oIGluIEhlYWRlcnMgKi8sCkBAIC05NjM4LDYg
Kzk2NzEsNyBAQAogCQkJCTVDNjNGODEzMUU0MTYyODgwMDJDQTUzMSAvKiBtYWNjb2NvYXRocmVh
ZGhlbHBlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUM2M0Y4MTYxRTQxNjI4ODAwMkNBNTMxIC8q
IG1hY2NvbnZlcnNpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTVDNjNGODE4MUU0MTYyODgwMDJD
QTUzMSAvKiBtYWN1dGlscy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDExMDlBQjAxRTVGQTE5MjAw
QzA5NTVBIC8qIGJpdHJhdGVfYWRqdXN0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDNjNGODFB
MUU0MTYyODgwMDJDQTUzMSAvKiBtYWN3aW5kb3dwaWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTVDNjNGODFCMUU0MTYyODgwMDJDQTUzMSAvKiBtYXRodXRpbHMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTVDREQ5MDdFMUU0M0QxNUMwMDYyMUU5MiAvKiBtYXRyaXguaCBpbiBIZWFkZXJzICovLApA
QCAtOTc5MSw2ICs5ODI1LDcgQEAKIAkJCQk1QzYzRjg1NjFFNDE2Mjg4MDAyQ0E1MzEgLyogcmFj
ZV9jaGVja2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzYzRjg1ODFFNDE2Mjg4MDAyQ0E1MzEg
LyogcmFuZG9tLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0REOEE0QjFFNDNCRkIzMDA2MjFFOTIg
LyogcmFuZG9tX3ZlY3Rvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDExMDlBQUYxRTVGQTE5MjAw
QzA5NTVBIC8qIGZyYW1lX2NhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0REODk1QzFF
NDNCRjNBMDA2MjFFOTIgLyogcmFwaWRfcmVzeW5jX3JlcXVlc3QuaCBpbiBIZWFkZXJzICovLAog
CQkJCTVDNjNGODVBMUU0MTYyODgwMDJDQTUzMSAvKiByYXRlX2xpbWl0ZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTVDNjNGODVDMUU0MTYyODgwMDJDQTUzMSAvKiByYXRlX3N0YXRpc3RpY3MuaCBp
biBIZWFkZXJzICovLApAQCAtOTgzOSw2ICs5ODc0LDcgQEAKIAkJCQk1Q0REODg5QjFFNDNCRTND
MDA2MjFFOTIgLyogcnRjcF9yZWNlaXZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUNERDg4OUUx
RTQzQkUzQzAwNjIxRTkyIC8qIHJ0Y3Bfc2VuZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0RE
ODhBMTFFNDNCRTNDMDA2MjFFOTIgLyogcnRjcF91dGlsaXR5LmggaW4gSGVhZGVycyAqLywKKwkJ
CQk0MTEwOUFBRDFFNUZBMTkyMDBDMDk1NUEgLyogaTQyMF9idWZmZXJfcG9vbC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNUM2M0Y5NjUxRTQxNzM3QjAwMkNBNTMxIC8qIHJ0Y3N0YXRzY29sbGVjdG9y
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0REOEFCNzFFNDNDMDBGMDA2MjFFOTIgLyogcnRwX2Zp
bGVfc291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0REODhCMTFFNDNCRTNDMDA2MjFFOTIg
LyogcnRwX2Zvcm1hdC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5o
CmluZGV4IDIwYzA1MzA1NTMyMWJlNGQ3OTU2YTg4NWYwZWFiNDFkYjRhNDYxZDcuLjI0MzFmYjdh
OTUyNGMwY2I3OGM3NWEyNTU2MWRhNzExMTI1NTMxMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNv
dXJjZS5oCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRmxv
YXRSZWN0OwogY2xhc3MgR3JhcGhpY3NDb250ZXh0OwotY2xhc3MgQVZWaWRlb1NvdXJjZVByZXZp
ZXc7CitjbGFzcyBQaXhlbEJ1ZmZlckNvbmZvcm1lckNWOwogCiBjbGFzcyBBVlZpZGVvQ2FwdHVy
ZVNvdXJjZSA6IHB1YmxpYyBBVk1lZGlhQ2FwdHVyZVNvdXJjZSB7CiBwdWJsaWM6CkBAIC04Nyw2
ICs4Nyw4IEBAIHByaXZhdGU6CiAgICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IG1fbGFzdEltYWdl
OwogICAgIFJldGFpblB0cjxBVkNhcHR1cmVWaWRlb0RhdGFPdXRwdXQ+IG1fdmlkZW9PdXRwdXQ7
CiAKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UGl4ZWxCdWZmZXJDb25mb3JtZXJDVj4gbV9waXhlbEJ1
ZmZlckNvbmZvcm1lcjsKKwogICAgIFZlY3RvcjxGbG9hdDY0PiBtX3ZpZGVvRnJhbWVUaW1lU3Rh
bXBzOwogICAgIEZsb2F0NjQgbV9mcmFtZVJhdGUgeyAwIH07CiAgICAgaW50MzJfdCBtX3dpZHRo
IHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLm1tCmluZGV4IDcyYzk4NTJiMWUwMmQz
MTAxOTA5YTdmN2IxYWZiMzEyZmEwMmZhMWMuLmYwOGIzYWUyYjQ3ZTc1MzdjYzA5Mzk5NGMyYzVi
MTRiNTcxYmE4ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UubW0KQEAgLTM2LDYgKzM2
LDcgQEAKICNpbXBvcnQgIk1lZGlhQ29uc3RyYWludHMuaCIKICNpbXBvcnQgIk1lZGlhU2FtcGxl
QVZGT2JqQy5oIgogI2ltcG9ydCAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbXBvcnQgIlBpeGVsQnVm
ZmVyQ29uZm9ybWVyQ1YuaCIKICNpbXBvcnQgIlBsYXRmb3JtTGF5ZXIuaCIKICNpbXBvcnQgIlJl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaCIKICNpbXBvcnQgIlJlYWx0aW1lTWVkaWFTb3VyY2VT
ZXR0aW5ncy5oIgpAQCAtMTAyLDcgKzEwMyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IE9TVHlwZSB2aWRlb0NhcHR1cmVGb3JtYXQg
PSBrQ1ZQaXhlbEZvcm1hdFR5cGVfMzJCR1JBOworY29uc3QgT1NUeXBlIHZpZGVvQ2FwdHVyZUZv
cm1hdCA9IGtDVlBpeGVsRm9ybWF0VHlwZV80MjBZcENiQ3I4UGxhbmFyOwogCiBSZWZQdHI8QVZN
ZWRpYUNhcHR1cmVTb3VyY2U+IEFWVmlkZW9DYXB0dXJlU291cmNlOjpjcmVhdGUoQVZDYXB0dXJl
RGV2aWNlVHlwZWRlZiogZGV2aWNlLCBjb25zdCBBdG9taWNTdHJpbmcmIGlkLCBjb25zdCBNZWRp
YUNvbnN0cmFpbnRzKiBjb25zdHJhaW50cywgU3RyaW5nJiBpbnZhbGlkQ29uc3RyYWludCkKIHsK
QEAgLTQ2MiwxNiArNDYzLDE2IEBAIFJldGFpblB0cjxDR0ltYWdlUmVmPiBBVlZpZGVvQ2FwdHVy
ZVNvdXJjZTo6Y3VycmVudEZyYW1lQ0dJbWFnZSgpCiAgICAgQ1ZQaXhlbEJ1ZmZlclJlZiBwaXhl
bEJ1ZmZlciA9IHN0YXRpY19jYXN0PENWUGl4ZWxCdWZmZXJSZWY+KENNU2FtcGxlQnVmZmVyR2V0
SW1hZ2VCdWZmZXIobV9idWZmZXIuZ2V0KCkpKTsKICAgICBBU1NFUlQoQ1ZQaXhlbEJ1ZmZlckdl
dFBpeGVsRm9ybWF0VHlwZShwaXhlbEJ1ZmZlcikgPT0gdmlkZW9DYXB0dXJlRm9ybWF0KTsKIAot
ICAgIENWUGl4ZWxCdWZmZXJMb2NrQmFzZUFkZHJlc3MocGl4ZWxCdWZmZXIsIDApOwotICAgIHZv
aWQgKmJhc2VBZGRyZXNzID0gQ1ZQaXhlbEJ1ZmZlckdldEJhc2VBZGRyZXNzKHBpeGVsQnVmZmVy
KTsKLSAgICBzaXplX3QgYnl0ZXNQZXJSb3cgPSBDVlBpeGVsQnVmZmVyR2V0Qnl0ZXNQZXJSb3co
cGl4ZWxCdWZmZXIpOwotICAgIHNpemVfdCB3aWR0aCA9IENWUGl4ZWxCdWZmZXJHZXRXaWR0aChw
aXhlbEJ1ZmZlcik7Ci0gICAgc2l6ZV90IGhlaWdodCA9IENWUGl4ZWxCdWZmZXJHZXRIZWlnaHQo
cGl4ZWxCdWZmZXIpOwotCi0gICAgUmV0YWluUHRyPENHRGF0YVByb3ZpZGVyUmVmPiBwcm92aWRl
ciA9IGFkb3B0Q0YoQ0dEYXRhUHJvdmlkZXJDcmVhdGVXaXRoRGF0YShOVUxMLCBiYXNlQWRkcmVz
cywgYnl0ZXNQZXJSb3cgKiBoZWlnaHQsIE5VTEwpKTsKLSAgICBtX2xhc3RJbWFnZSA9IGFkb3B0
Q0YoQ0dJbWFnZUNyZWF0ZSh3aWR0aCwgaGVpZ2h0LCA4LCAzMiwgYnl0ZXNQZXJSb3csIHNSR0JD
b2xvclNwYWNlUmVmKCksIGtDR0JpdG1hcEJ5dGVPcmRlcjMyTGl0dGxlIHwga0NHSW1hZ2VBbHBo
YVByZW11bHRpcGxpZWRGaXJzdCwgcHJvdmlkZXIuZ2V0KCksIE5VTEwsIHRydWUsIGtDR1JlbmRl
cmluZ0ludGVudERlZmF1bHQpKTsKKyAgICBpZiAoIW1fcGl4ZWxCdWZmZXJDb25mb3JtZXIpIHsK
KyNpZiBVU0UoVklERU9UT09MQk9YKQorICAgICAgICBOU0RpY3Rpb25hcnkgKmF0dHJpYnV0ZXMg
PSBAeyAoTlNTdHJpbmcgKilrQ1ZQaXhlbEJ1ZmZlclBpeGVsRm9ybWF0VHlwZUtleTogQChrQ1ZQ
aXhlbEZvcm1hdFR5cGVfMzJCR1JBKSB9OworI2Vsc2UKKyAgICAgICAgTlNEaWN0aW9uYXJ5ICph
dHRyaWJ1dGVzID0gbmlsOworI2VuZGlmCisgICAgICAgIG1fcGl4ZWxCdWZmZXJDb25mb3JtZXIg
PSBzdGQ6Om1ha2VfdW5pcXVlPFBpeGVsQnVmZmVyQ29uZm9ybWVyQ1Y+KChDRkRpY3Rpb25hcnlS
ZWYpYXR0cmlidXRlcyk7CisgICAgfQogCi0gICAgQ1ZQaXhlbEJ1ZmZlclVubG9ja0Jhc2VBZGRy
ZXNzKHBpeGVsQnVmZmVyLCAwKTsKKyAgICBtX2xhc3RJbWFnZSA9IG1fcGl4ZWxCdWZmZXJDb25m
b3JtZXItPmNyZWF0ZUltYWdlRnJvbVBpeGVsQnVmZmVyKHBpeGVsQnVmZmVyKTsKIAogICAgIHJl
dHVybiBtX2xhc3RJbWFnZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1Nv
dXJjZS5jcHAKaW5kZXggNTE0NTI5OTRjYjg2MGY3MjhlNjBiOWJkZTJiNGQ0OGEyMzc0OTdlMi4u
OGM1NWY0NDM3NDk1OTA5ZGI1MjM0YTg5ODVlMDcyYTA2ZDc4MWRhMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRl
b1NvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZS5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKIAogI2lm
IFVTRShMSUJXRUJSVEMpCiAKKyNpbmNsdWRlICJ3ZWJydGMvY29tbW9uX3ZpZGVvL2luY2x1ZGUv
Y29yZXZpZGVvX2ZyYW1lX2J1ZmZlci5oIgogI2luY2x1ZGUgPHdlYnJ0Yy9jb21tb25fdmlkZW8v
bGlieXV2L2luY2x1ZGUvd2VicnRjX2xpYnl1di5oPgogI2luY2x1ZGUgPHdlYnJ0Yy9tZWRpYS9i
YXNlL3ZpZGVvZnJhbWUuaD4KIApAQCAtNzEsNDUgKzcyLDQ5IEBAIHZvaWQgUmVhbHRpbWVPdXRn
b2luZ1ZpZGVvU291cmNlOjpSZW1vdmVTaW5rKHJ0Yzo6VmlkZW9TaW5rSW50ZXJmYWNlPHdlYnJ0
Yzo6VmlkCiAgICAgbV9zaW5rcy5yZW1vdmVGaXJzdChzaW5rKTsKIH0KIAordm9pZCBSZWFsdGlt
ZU91dGdvaW5nVmlkZW9Tb3VyY2U6OnNlbmRGcmFtZShydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRj
OjpWaWRlb0ZyYW1lQnVmZmVyPiYmIGJ1ZmZlcikKK3sKKyAgICB3ZWJydGM6OlZpZGVvRnJhbWUg
ZnJhbWUoYnVmZmVyLCAwLCAwLCB3ZWJydGM6OmtWaWRlb1JvdGF0aW9uXzApOworICAgIGZvciAo
YXV0byogc2luayA6IG1fc2lua3MpCisgICAgICAgIHNpbmstPk9uRnJhbWUoZnJhbWUpOworfQor
CiB2b2lkIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUo
TWVkaWFTYW1wbGUmIHNhbXBsZSkKIHsKICAgICBpZiAoIW1fc2lua3Muc2l6ZSgpKQogICAgICAg
ICByZXR1cm47CiAKLQogICAgIC8vIEZJWE1FOiBTaG91bGRuJ3Qgd2UgdXNlIFJlYWx0aW1lTWVk
aWFTb3VyY2U6OnNpemUoKQogICAgIGNvbnN0IGF1dG8mIHNldHRpbmdzID0gbV92aWRlb1NvdXJj
ZS0+c2V0dGluZ3MoKTsKIAotICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgbm90IG5lZWQgdG8gYWxs
b2NhdGUgb25lIGJ1ZmZlciBwZXIgZnJhbWUuCi0gICAgYXV0byBkZXN0ID0gd2VicnRjOjpJNDIw
QnVmZmVyOjpDcmVhdGUoc2V0dGluZ3Mud2lkdGgoKSwgc2V0dGluZ3MuaGVpZ2h0KCkpOwotCi0g
ICAgaWYgKCFtX211dGVkICYmIG1fZW5hYmxlZCkgewotICAgICAgICBBU1NFUlQoc2FtcGxlLnBs
YXRmb3JtU2FtcGxlKCkudHlwZSA9PSBQbGF0Zm9ybVNhbXBsZTo6Q01TYW1wbGVCdWZmZXJUeXBl
KTsKLSAgICAgICAgYXV0byBwaXhlbEJ1ZmZlciA9IHN0YXRpY19jYXN0PENWUGl4ZWxCdWZmZXJS
ZWY+KENNU2FtcGxlQnVmZmVyR2V0SW1hZ2VCdWZmZXIoc2FtcGxlLnBsYXRmb3JtU2FtcGxlKCku
c2FtcGxlLmNtU2FtcGxlQnVmZmVyKSk7Ci0gICAgICAgIGF1dG8gcGl4ZWxGb3JtYXRUeXBlID0g
Q1ZQaXhlbEJ1ZmZlckdldFBpeGVsRm9ybWF0VHlwZShwaXhlbEJ1ZmZlcik7Ci0KLSAgICAgICAg
Q1ZQaXhlbEJ1ZmZlckxvY2tCYXNlQWRkcmVzcyhwaXhlbEJ1ZmZlciwgMCk7Ci0gICAgICAgIHVp
bnQ4X3QqIHNyYyA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KENWUGl4ZWxCdWZmZXJHZXRC
YXNlQWRkcmVzc09mUGxhbmUocGl4ZWxCdWZmZXIsIDApKTsKLQotICAgICAgICBpZiAocGl4ZWxG
b3JtYXRUeXBlID09IGtDVlBpeGVsRm9ybWF0VHlwZV80MjBZcENiQ3I4UGxhbmFyKSB7Ci0gICAg
ICAgICAgICAvLyBXZSBwcm9iYWJseSBjYW4gbWVtY3B5IHRoZSBkYXRhIGRpcmVjdGx5Ci0gICAg
ICAgICAgICB3ZWJydGM6OkNvbnZlcnRUb0k0MjAod2VicnRjOjprSTQyMCwgc3JjLCAwLCAwLCBz
ZXR0aW5ncy53aWR0aCgpLCBzZXR0aW5ncy5oZWlnaHQoKSwgMCwgd2VicnRjOjprVmlkZW9Sb3Rh
dGlvbl8wLCBkZXN0KTsKLSAgICAgICAgfSBlbHNlIGlmIChwaXhlbEZvcm1hdFR5cGUgPT0ga0NW
UGl4ZWxGb3JtYXRUeXBlXzMyQkdSQSkKLSAgICAgICAgICAgIHdlYnJ0Yzo6Q29udmVydFRvSTQy
MCh3ZWJydGM6OmtBUkdCLCBzcmMsIDAsIDAsIHNldHRpbmdzLndpZHRoKCksIHNldHRpbmdzLmhl
aWdodCgpLCAwLCB3ZWJydGM6OmtWaWRlb1JvdGF0aW9uXzAsIGRlc3QpOwotICAgICAgICBlbHNl
IHsKLSAgICAgICAgICAgIC8vIEZJWE1FOiBNb2NrIHNvdXJjZSBjb252ZXJzaW9uIHdvcmtzIHdp
dGgga0JHUkEgd2hpbGUgcmVndWxhciBjYW1lcmEgd29ya3Mgd2l0aCBrQVJHQgotICAgICAgICAg
ICAgQVNTRVJUKHBpeGVsRm9ybWF0VHlwZSA9PSBrQ1ZQaXhlbEZvcm1hdFR5cGVfMzJBUkdCKTsK
LSAgICAgICAgICAgIHdlYnJ0Yzo6Q29udmVydFRvSTQyMCh3ZWJydGM6OmtCR1JBLCBzcmMsIDAs
IDAsIHNldHRpbmdzLndpZHRoKCksIHNldHRpbmdzLmhlaWdodCgpLCAwLCB3ZWJydGM6OmtWaWRl
b1JvdGF0aW9uXzAsIGRlc3QpOwotICAgICAgICB9Ci0KLSAgICAgICAgQ1ZQaXhlbEJ1ZmZlclVu
bG9ja0Jhc2VBZGRyZXNzKHBpeGVsQnVmZmVyLCAwKTsKLSAgICB9IGVsc2UgewotICAgICAgICBk
ZXN0LT5TZXRUb0JsYWNrKCk7CisgICAgaWYgKG1fbXV0ZWQgfHwgIW1fZW5hYmxlZCkgeworICAg
ICAgICBhdXRvIGJsYWNrQnVmZmVyID0gbV9idWZmZXJQb29sLkNyZWF0ZUJ1ZmZlcihzZXR0aW5n
cy53aWR0aCgpLCBzZXR0aW5ncy5oZWlnaHQoKSk7CisgICAgICAgIGJsYWNrQnVmZmVyLT5TZXRU
b0JsYWNrKCk7CisgICAgICAgIHNlbmRGcmFtZShXVEZNb3ZlKGJsYWNrQnVmZmVyKSk7CiAgICAg
fQogCi0gICAgd2VicnRjOjpWaWRlb0ZyYW1lIGZyYW1lKGRlc3QsIDAsIDAsICB3ZWJydGM6OmtW
aWRlb1JvdGF0aW9uXzApOwotICAgIGZvciAoYXV0byogc2luayA6IG1fc2lua3MpCi0gICAgICAg
IHNpbmstPk9uRnJhbWUoZnJhbWUpOworICAgIEFTU0VSVChzYW1wbGUucGxhdGZvcm1TYW1wbGUo
KS50eXBlID09IFBsYXRmb3JtU2FtcGxlOjpDTVNhbXBsZUJ1ZmZlclR5cGUpOworICAgIGF1dG8g
cGl4ZWxCdWZmZXIgPSBzdGF0aWNfY2FzdDxDVlBpeGVsQnVmZmVyUmVmPihDTVNhbXBsZUJ1ZmZl
ckdldEltYWdlQnVmZmVyKHNhbXBsZS5wbGF0Zm9ybVNhbXBsZSgpLnNhbXBsZS5jbVNhbXBsZUJ1
ZmZlcikpOworICAgIGF1dG8gcGl4ZWxGb3JtYXRUeXBlID0gQ1ZQaXhlbEJ1ZmZlckdldFBpeGVs
Rm9ybWF0VHlwZShwaXhlbEJ1ZmZlcik7CisKKyAgICBpZiAocGl4ZWxGb3JtYXRUeXBlID09IGtD
VlBpeGVsRm9ybWF0VHlwZV80MjBZcENiQ3I4UGxhbmFyKSB7CisgICAgICAgIHNlbmRGcmFtZShu
ZXcgcnRjOjpSZWZDb3VudGVkT2JqZWN0PHdlYnJ0Yzo6Q29yZVZpZGVvRnJhbWVCdWZmZXI+KHBp
eGVsQnVmZmVyKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBDVlBpeGVsQnVmZmVy
TG9ja0Jhc2VBZGRyZXNzKHBpeGVsQnVmZmVyLCAwKTsKKyAgICBhdXRvKiBzb3VyY2UgPSByZWlu
dGVycHJldF9jYXN0PHVpbnQ4X3QqPihDVlBpeGVsQnVmZmVyR2V0QmFzZUFkZHJlc3NPZlBsYW5l
KHBpeGVsQnVmZmVyLCAwKSk7CisKKyAgICBhdXRvIG5ld0J1ZmZlciA9IG1fYnVmZmVyUG9vbC5D
cmVhdGVCdWZmZXIoc2V0dGluZ3Mud2lkdGgoKSwgc2V0dGluZ3MuaGVpZ2h0KCkpOworICAgIGlm
IChwaXhlbEZvcm1hdFR5cGUgPT0ga0NWUGl4ZWxGb3JtYXRUeXBlXzMyQkdSQSkKKyAgICAgICAg
d2VicnRjOjpDb252ZXJ0VG9JNDIwKHdlYnJ0Yzo6a0FSR0IsIHNvdXJjZSwgMCwgMCwgc2V0dGlu
Z3Mud2lkdGgoKSwgc2V0dGluZ3MuaGVpZ2h0KCksIDAsIHdlYnJ0Yzo6a1ZpZGVvUm90YXRpb25f
MCwgbmV3QnVmZmVyKTsKKyAgICBlbHNlIHsKKyAgICAgICAgLy8gRklYTUU6IE1vY2sgc291cmNl
IGNvbnZlcnNpb24gd29ya3Mgd2l0aCBrQkdSQSB3aGlsZSByZWd1bGFyIGNhbWVyYSB3b3JrcyB3
aXRoIGtBUkdCCisgICAgICAgIEFTU0VSVChwaXhlbEZvcm1hdFR5cGUgPT0ga0NWUGl4ZWxGb3Jt
YXRUeXBlXzMyQVJHQik7CisgICAgICAgIHdlYnJ0Yzo6Q29udmVydFRvSTQyMCh3ZWJydGM6OmtC
R1JBLCBzb3VyY2UsIDAsIDAsIHNldHRpbmdzLndpZHRoKCksIHNldHRpbmdzLmhlaWdodCgpLCAw
LCB3ZWJydGM6OmtWaWRlb1JvdGF0aW9uXzAsIG5ld0J1ZmZlcik7CisgICAgfQorICAgIENWUGl4
ZWxCdWZmZXJVbmxvY2tCYXNlQWRkcmVzcyhwaXhlbEJ1ZmZlciwgMCk7CisgICAgc2VuZEZyYW1l
KFdURk1vdmUobmV3QnVmZmVyKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91
dGdvaW5nVmlkZW9Tb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuaAppbmRleCA0YzZkYzcxMmJiODJmY2M2
MGE2MDliYTQwYjI4YThjM2MxZmRjODg5Li5hNjA0ZWMxMWRjNjJkZTgxOTU0OTEyZTVhOTFkODll
YzZiMDRkMGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZS5oCkBA
IC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZS5oIgogI2luY2x1
ZGUgPHdlYnJ0Yy9hcGkvbWVkaWFzdHJlYW1pbnRlcmZhY2UuaD4KICNpbmNsdWRlIDx3ZWJydGMv
YmFzZS9vcHRpb25hbC5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9jb21tb25fdmlkZW8vaW5jbHVkZS9p
NDIwX2J1ZmZlcl9wb29sLmg+CiAjaW5jbHVkZSA8d2VicnRjL21lZGlhL2Jhc2UvdmlkZW9zaW5r
aW50ZXJmYWNlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ4LDYgKzQ5LDggQEAgcHVi
bGljOgogcHJpdmF0ZToKICAgICBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UoUmVmPFJlYWx0
aW1lTWVkaWFTb3VyY2U+JiYpOwogCisgICAgdm9pZCBzZW5kRnJhbWUocnRjOjpzY29wZWRfcmVm
cHRyPHdlYnJ0Yzo6VmlkZW9GcmFtZUJ1ZmZlcj4mJik7CisKICAgICAvLyBOb3RpZmllciBBUEkK
ICAgICB2b2lkIFJlZ2lzdGVyT2JzZXJ2ZXIod2VicnRjOjpPYnNlcnZlckludGVyZmFjZSopIGZp
bmFsIHsgfQogICAgIHZvaWQgVW5yZWdpc3Rlck9ic2VydmVyKHdlYnJ0Yzo6T2JzZXJ2ZXJJbnRl
cmZhY2UqKSBmaW5hbCB7IH0KQEAgLTcxLDYgKzc0LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHZp
ZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJikgZmluYWw7CiAKICAgICBWZWN0b3I8cnRj
OjpWaWRlb1NpbmtJbnRlcmZhY2U8d2VicnRjOjpWaWRlb0ZyYW1lPio+IG1fc2lua3M7CisgICAg
c3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VmlkZW9GcmFtZT4gbV9ibGFja0ZyYW1lOworICAgIHdl
YnJ0Yzo6STQyMEJ1ZmZlclBvb2wgbV9idWZmZXJQb29sOwogICAgIFJlZjxSZWFsdGltZU1lZGlh
U291cmNlPiBtX3ZpZGVvU291cmNlOwogICAgIGJvb2wgbV9lbmFibGVkIHsgdHJ1ZSB9OwogICAg
IGJvb2wgbV9tdXRlZCB7IGZhbHNlIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302688</attachid>
            <date>2017-02-24 14:13:42 -0800</date>
            <delta_ts>2017-02-27 08:31:02 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-168802-20170224141052.patch</filename>
            <type>text/plain</type>
            <size>22559</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyOTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCBhOTMxOWIxMjA5YjFhNDg5MzcwNTA2ZWM3NTIxMTVkOTlkY2MxZDdkLi5hMWMw
MDEwNWNhMjFiNzRlN2UwNGI3YzVhYmYzOWRmOTI4NWU5MzRjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNy0wMi0yNCAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYlJUQ10gUmVhbHRpbU91dGdv
aW5nVmlkZW9Tb3VyY2Ugc2hvdWxkIG5vdCBuZWVkIHRvIGRvIGltYWdlIGNvbnZlcnNpb24KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODgwMgorCisg
ICAgICAgIFJldmlld2VkIGJ5IEpvbiBMZWUuCisKKyAgICAgICAgRXhwb3J0aW5nIG5ldyBzeW1i
b2xzLgorICAgICAgICBJbmNsdWRpbmcgaGVhZGVycyBpbiB0aGUgcHJvamVjdCBmaWxlLgorCisg
ICAgICAgICogU291cmNlL3dlYnJ0Yy9jb21tb25fdmlkZW8vaW5jbHVkZS9jb3JldmlkZW9fZnJh
bWVfYnVmZmVyLmg6CisgICAgICAgICogU291cmNlL3dlYnJ0Yy9jb21tb25fdmlkZW8vaW5jbHVk
ZS9pNDIwX2J1ZmZlcl9wb29sLmg6CisgICAgICAgICogU291cmNlL3dlYnJ0Yy9jb21tb25fdmlk
ZW8vaW5jbHVkZS92aWRlb19mcmFtZV9idWZmZXIuaDoKKyAgICAgICAgKiBsaWJ3ZWJydGMueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxNy0wMi0yMiAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYlJUQ10gRGlzYWJsZSBsaWJ3ZWJydGMgc3Rk
ZXJyIGxvZ2dpbmcgaW4gcmVsZWFzZSBtb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWVjMTg3YmIxNjVhODFi
M2YzYmViYWViMzNkODNhNzZjZmM5MmM3OS4uYjc4NDJiNjhiOWQ5MGU3NDE1OThhMTk3M2IyMDJk
MWE4NWU5NDRkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE3LTAyLTI0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViUlRDXSBSZWFsdGlt
T3V0Z29pbmdWaWRlb1NvdXJjZSBzaG91bGQgbm90IG5lZWQgdG8gZG8gaW1hZ2UgY29udmVyc2lv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4ODAy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9uIExlZS4KKworICAgICAgICBDb3ZlcmVkIGJ5IG1h
bnVhbCB0ZXN0aW5nIGFzIG1vY2sgc291cmNlcyBkbyBub3QgaGl0IHRoZSBzYW1lIGNvZGUgcGF0
aC4KKworICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNv
dXJjZS5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVy
ZVNvdXJjZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkFWVmlkZW9DYXB0dXJlU291cmNlOjpjdXJy
ZW50RnJhbWVDR0ltYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVh
bHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1l
T3V0Z29pbmdWaWRlb1NvdXJjZTo6c2VuZEZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0
aW1lT3V0Z29pbmdWaWRlb1NvdXJjZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUpOgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuaDoK
KwogMjAxNy0wMi0yNCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFtNYWNdW2NtYWtlXSBVbnJldmlld2VkIGJ1aWxkZml4IGFmdGVyIHIyMTI3MzYuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9jb21t
b25fdmlkZW8vaW5jbHVkZS9jb3JldmlkZW9fZnJhbWVfYnVmZmVyLmggYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9jb21tb25fdmlkZW8vaW5jbHVkZS9jb3Jldmlk
ZW9fZnJhbWVfYnVmZmVyLmgKaW5kZXggYzkyNWNiZmM5N2M1YzFkYTA2YjI1ZDQ2MGUxNjFjNjEz
OTM1NmM5Yy4uOTQ0YTRiMWUxNDk2N2EzYjA2NTJiMDFiNTg4YmI2MzIyMzRiMmVhMCAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvY29tbW9uX3Zp
ZGVvL2luY2x1ZGUvY29yZXZpZGVvX2ZyYW1lX2J1ZmZlci5oCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL2NvbW1vbl92aWRlby9pbmNsdWRlL2NvcmV2aWRl
b19mcmFtZV9idWZmZXIuaApAQCAtMTksNyArMTksNyBAQAogCiBuYW1lc3BhY2Ugd2VicnRjIHsK
IAotY2xhc3MgQ29yZVZpZGVvRnJhbWVCdWZmZXIgOiBwdWJsaWMgTmF0aXZlSGFuZGxlQnVmZmVy
IHsKK2NsYXNzIFdFQlJUQ19FWFBPUlQgQ29yZVZpZGVvRnJhbWVCdWZmZXIgOiBwdWJsaWMgTmF0
aXZlSGFuZGxlQnVmZmVyIHsKICBwdWJsaWM6CiAgIGV4cGxpY2l0IENvcmVWaWRlb0ZyYW1lQnVm
ZmVyKENWUGl4ZWxCdWZmZXJSZWYgcGl4ZWxfYnVmZmVyKTsKICAgQ29yZVZpZGVvRnJhbWVCdWZm
ZXIoQ1ZQaXhlbEJ1ZmZlclJlZiBwaXhlbF9idWZmZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9jb21tb25fdmlkZW8vaW5jbHVkZS9pNDIw
X2J1ZmZlcl9wb29sLmggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0
Yy9jb21tb25fdmlkZW8vaW5jbHVkZS9pNDIwX2J1ZmZlcl9wb29sLmgKaW5kZXggZjA1NjI2MzRh
ZWFiNDNmMjI1YjhiM2VjZWJiZWEwZjJmNTI1NDY0NC4uMGIwNDlhYmJkOTM3MDAzYzU0M2FmYWVh
YThkYWMwOWE2ZWMxN2FjNCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS93ZWJydGMvY29tbW9uX3ZpZGVvL2luY2x1ZGUvaTQyMF9idWZmZXJfcG9vbC5oCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL2NvbW1vbl92aWRl
by9pbmNsdWRlL2k0MjBfYnVmZmVyX3Bvb2wuaApAQCAtMjYsNyArMjYsNyBAQCBuYW1lc3BhY2Ug
d2VicnRjIHsKIC8vIGNoYW5nZXMsIG9sZCBidWZmZXJzIHdpbGwgYmUgcHVyZ2VkIGZyb20gdGhl
IHBvb2wuCiAvLyBOb3RlIHRoYXQgQ3JlYXRlQnVmZmVyIHdpbGwgY3Jhc2ggaWYgbW9yZSB0aGFu
IGtNYXhOdW1iZXJPZkZyYW1lc0JlZm9yZUNyYXNoCiAvLyBhcmUgY3JlYXRlZC4gVGhpcyBpcyB0
byBwcmV2ZW50IG1lbW9yeSBsZWFrcyB3aGVyZSBmcmFtZXMgYXJlIG5vdCByZXR1cm5lZC4KLWNs
YXNzIEk0MjBCdWZmZXJQb29sIHsKK2NsYXNzIFdFQlJUQ19FWFBPUlQgSTQyMEJ1ZmZlclBvb2wg
ewogIHB1YmxpYzoKICAgSTQyMEJ1ZmZlclBvb2woKQogICAgICAgOiBJNDIwQnVmZmVyUG9vbChm
YWxzZSkge30KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
d2VicnRjL2NvbW1vbl92aWRlby9pbmNsdWRlL3ZpZGVvX2ZyYW1lX2J1ZmZlci5oIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvY29tbW9uX3ZpZGVvL2luY2x1ZGUv
dmlkZW9fZnJhbWVfYnVmZmVyLmgKaW5kZXggODU4YThlNWFjMWZhZGVhNGNkYmJkM2Q3ZTc2ZjRm
MmI1Zjk2Yzc2ZS4uZmFiMTk3ZTQ1NjI5M2IzNDc5NGEwNzNmNjg5YTI0NDZmYmMxZmZiNSAxMDA2
NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvY29tbW9u
X3ZpZGVvL2luY2x1ZGUvdmlkZW9fZnJhbWVfYnVmZmVyLmgKKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvY29tbW9uX3ZpZGVvL2luY2x1ZGUvdmlkZW9fZnJh
bWVfYnVmZmVyLmgKQEAgLTE1Nyw3ICsxNTcsNyBAQCBjbGFzcyBXRUJSVENfRVhQT1JUIEk0MjBC
dWZmZXIgOiBwdWJsaWMgVmlkZW9GcmFtZUJ1ZmZlciB7CiAvLyBUaGlzIGlzIHVzZWQgZm9yIGNv
bnZlbmllbmNlIGFzIG1vc3QgbmF0aXZlLWhhbmRsZSBpbXBsZW1lbnRhdGlvbnMgY2FuIHNoYXJl
CiAvLyBtYW55IFZpZGVvRnJhbWUgaW1wbGVtZW50YXRpb25zLCBidXQgbmVlZCB0byBpbXBsZW1l
bnQgYSBmZXcgb3RoZXJzIChzdWNoCiAvLyBhcyB0aGVpciBvd24gZGVzdHJ1Y3RvcnMgb3IgY29u
dmVyc2lvbiBtZXRob2RzIGJhY2sgdG8gc29mdHdhcmUgSTQyMCkuCi1jbGFzcyBOYXRpdmVIYW5k
bGVCdWZmZXIgOiBwdWJsaWMgVmlkZW9GcmFtZUJ1ZmZlciB7CitjbGFzcyBXRUJSVENfRVhQT1JU
IE5hdGl2ZUhhbmRsZUJ1ZmZlciA6IHB1YmxpYyBWaWRlb0ZyYW1lQnVmZmVyIHsKICBwdWJsaWM6
CiAgIE5hdGl2ZUhhbmRsZUJ1ZmZlcih2b2lkKiBuYXRpdmVfaGFuZGxlLCBpbnQgd2lkdGgsIGlu
dCBoZWlnaHQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvbGli
d2VicnRjLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvbGlid2VicnRjLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzFiZTQ1OWM4
MzliMTM1ZjNmNzFkNTVmYmFlYTVmY2ZiMjkzYTI4My4uN2QzZGIzY2VjNDg2ODBmZTJmY2VlY2Q2
NmUzMzAyNGE0N2E4MDg0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L2xpYndlYnJ0Yy54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9saWJ3ZWJydGMueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjEs
NiArMjEsMTMgQEAKIC8qIEVuZCBQQlhBZ2dyZWdhdGVUYXJnZXQgc2VjdGlvbiAqLwogCiAvKiBC
ZWdpbiBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLworCQk0MTEwOUFBQzFFNUZBMTkyMDBDMDk1NUEg
LyogY29yZXZpZGVvX2ZyYW1lX2J1ZmZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDExMDlBQTUxRTVGQTE5MjAwQzA5NTVBIC8qIGNvcmV2aWRlb19m
cmFtZV9idWZmZXIuaCAqLzsgfTsKKwkJNDExMDlBQUQxRTVGQTE5MjAwQzA5NTVBIC8qIGk0MjBf
YnVmZmVyX3Bvb2wuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxMTA5QUE2MUU1RkExOTIwMEMwOTU1QSAvKiBpNDIwX2J1ZmZlcl9wb29sLmggKi87IH07
CisJCTQxMTA5QUFFMUU1RkExOTIwMEMwOTU1QSAvKiB2aWRlb19mcmFtZV9idWZmZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMTA5QUE3MUU1RkEx
OTIwMEMwOTU1QSAvKiB2aWRlb19mcmFtZV9idWZmZXIuaCAqLzsgfTsKKwkJNDExMDlBQUYxRTVG
QTE5MjAwQzA5NTVBIC8qIGZyYW1lX2NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTEwOUFBODFFNUZBMTkyMDBDMDk1NUEgLyogZnJhbWVf
Y2FsbGJhY2suaCAqLzsgfTsKKwkJNDExMDlBQjAxRTVGQTE5MjAwQzA5NTVBIC8qIGJpdHJhdGVf
YWRqdXN0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxMTA5QUE5MUU1RkExOTIwMEMwOTU1QSAvKiBiaXRyYXRlX2FkanVzdGVyLmggKi87IH07CisJ
CTQxMTA5QUIxMUU1RkExOTIwMEMwOTU1QSAvKiBpbmNvbWluZ192aWRlb19zdHJlYW0uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMTA5QUFBMUU1RkEx
OTIwMEMwOTU1QSAvKiBpbmNvbWluZ192aWRlb19zdHJlYW0uaCAqLzsgfTsKKwkJNDExMDlBQjIx
RTVGQTE5MjAwQzA5NTVBIC8qIHZpZGVvX2ltYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTEwOUFBQjFFNUZBMTkyMDBDMDk1NUEgLyogdmlkZW9f
aW1hZ2UuaCAqLzsgfTsKIAkJNDE0MEI4MjAxRTRFMzM4MzAwNzQwOUU2IC8qIGF1ZGlvX2VuY29k
ZXJfcGNtLmNjIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDE0MEI4MTgxRTRFMzM4MzAwNzQwOUU2IC8qIGF1ZGlvX2VuY29kZXJfcGNtLmNjICovOyB9Owog
CQk0MTQwQjgyMTFFNEUzMzgzMDA3NDA5RTYgLyogYXVkaW9fZW5jb2Rlcl9wY20uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNDBCODE5MUU0RTMzODMw
MDc0MDlFNiAvKiBhdWRpb19lbmNvZGVyX3BjbS5oICovOyB9OwogCQk0MTQwQjgyMjFFNEUzMzgz
MDA3NDA5RTYgLyogYXVkaW9fZGVjb2Rlcl9wY20uY2MgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTQwQjgxQTFFNEUzMzgzMDA3NDA5RTYgLyogYXVkaW9f
ZGVjb2Rlcl9wY20uY2MgKi87IH07CkBAIC0yNjQ4LDYgKzI2NTUsMTMgQEAKIC8qIEVuZCBQQlhD
b3B5RmlsZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYRmlsZVJlZmVyZW5j
ZSBzZWN0aW9uICovCisJCTQxMTA5QUE1MUU1RkExOTIwMEMwOTU1QSAvKiBjb3JldmlkZW9fZnJh
bWVfYnVmZmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IGNvcmV2aWRlb19m
cmFtZV9idWZmZXIuaDsgcGF0aCA9IGluY2x1ZGUvY29yZXZpZGVvX2ZyYW1lX2J1ZmZlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTEwOUFBNjFFNUZBMTkyMDBDMDk1NUEgLyog
aTQyMF9idWZmZXJfcG9vbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBpNDIw
X2J1ZmZlcl9wb29sLmg7IHBhdGggPSBpbmNsdWRlL2k0MjBfYnVmZmVyX3Bvb2wuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDExMDlBQTcxRTVGQTE5MjAwQzA5NTVBIC8qIHZpZGVv
X2ZyYW1lX2J1ZmZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSB2aWRlb19m
cmFtZV9idWZmZXIuaDsgcGF0aCA9IGluY2x1ZGUvdmlkZW9fZnJhbWVfYnVmZmVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMTA5QUE4MUU1RkExOTIwMEMwOTU1QSAvKiBmcmFt
ZV9jYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBmcmFtZV9jYWxs
YmFjay5oOyBwYXRoID0gaW5jbHVkZS9mcmFtZV9jYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0MTEwOUFBOTFFNUZBMTkyMDBDMDk1NUEgLyogYml0cmF0ZV9hZGp1c3Rl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBiaXRyYXRlX2FkanVzdGVyLmg7
IHBhdGggPSBpbmNsdWRlL2JpdHJhdGVfYWRqdXN0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNDExMDlBQUExRTVGQTE5MjAwQzA5NTVBIC8qIGluY29taW5nX3ZpZGVvX3N0cmVh
bS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBpbmNvbWluZ192aWRlb19zdHJl
YW0uaDsgcGF0aCA9IGluY2x1ZGUvaW5jb21pbmdfdmlkZW9fc3RyZWFtLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQxMTA5QUFCMUU1RkExOTIwMEMwOTU1QSAvKiB2aWRlb19pbWFn
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSB2aWRlb19pbWFnZS5oOyBwYXRo
ID0gaW5jbHVkZS92aWRlb19pbWFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MTQwQjgxODFFNEUzMzgzMDA3NDA5RTYgLyogYXVkaW9fZW5jb2Rlcl9wY20uY2MgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBhdWRpb19lbmNvZGVyX3BjbS5jYzsgcGF0aCA9
IGc3MTEvYXVkaW9fZW5jb2Rlcl9wY20uY2M7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQxNDBCODE5MUU0RTMzODMwMDc0MDlFNiAvKiBhdWRpb19lbmNvZGVyX3BjbS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBhdWRpb19lbmNvZGVyX3BjbS5oOyBwYXRoID0gZzcx
MS9hdWRpb19lbmNvZGVyX3BjbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTQw
QjgxQTFFNEUzMzgzMDA3NDA5RTYgLyogYXVkaW9fZGVjb2Rlcl9wY20uY2MgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBhdWRpb19kZWNvZGVyX3BjbS5jYzsgcGF0aCA9IGc3
MTEvYXVkaW9fZGVjb2Rlcl9wY20uY2M7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01
MTQ2LDYgKzUxNjAsMjAgQEAKIC8qIEVuZCBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9u
ICovCiAKIC8qIEJlZ2luIFBCWEdyb3VwIHNlY3Rpb24gKi8KKwkJNDExMDlBQTQxRTVGQTE4MTAw
QzA5NTVBIC8qIGluY2x1ZGUgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVu
ID0gKAorCQkJCTQxMTA5QUE1MUU1RkExOTIwMEMwOTU1QSAvKiBjb3JldmlkZW9fZnJhbWVfYnVm
ZmVyLmggKi8sCisJCQkJNDExMDlBQTYxRTVGQTE5MjAwQzA5NTVBIC8qIGk0MjBfYnVmZmVyX3Bv
b2wuaCAqLywKKwkJCQk0MTEwOUFBNzFFNUZBMTkyMDBDMDk1NUEgLyogdmlkZW9fZnJhbWVfYnVm
ZmVyLmggKi8sCisJCQkJNDExMDlBQTgxRTVGQTE5MjAwQzA5NTVBIC8qIGZyYW1lX2NhbGxiYWNr
LmggKi8sCisJCQkJNDExMDlBQTkxRTVGQTE5MjAwQzA5NTVBIC8qIGJpdHJhdGVfYWRqdXN0ZXIu
aCAqLywKKwkJCQk0MTEwOUFBQTFFNUZBMTkyMDBDMDk1NUEgLyogaW5jb21pbmdfdmlkZW9fc3Ry
ZWFtLmggKi8sCisJCQkJNDExMDlBQUIxRTVGQTE5MjAwQzA5NTVBIC8qIHZpZGVvX2ltYWdlLmgg
Ki8sCisJCQkpOworCQkJbmFtZSA9IGluY2x1ZGU7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4i
OworCQl9OwogCQk0MTQwQjgxNjFFNEUzMzVFMDA3NDA5RTYgLyogZzcxMSAqLyA9IHsKIAkJCWlz
YSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC02MzUxLDYgKzYzNzksNyBAQAogCQkJ
aXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQk1Q0REODM0MTFFNDMyNTY0MDA2
MjFFOTIgLyogaDI2NCAqLywKKwkJCQk0MTEwOUFBNDFFNUZBMTgxMDBDMDk1NUEgLyogaW5jbHVk
ZSAqLywKIAkJCQk1Q0REODM2NTFFNDMyNUMyMDA2MjFFOTIgLyogbGlieXV2ICovLAogCQkJCTVD
NEI0QzEwMUU0MzFGNzUwMDI2NTFDOCAvKiBiaXRyYXRlX2FkanVzdGVyLmNjICovLAogCQkJCTVD
NEI0QzExMUU0MzFGNzUwMDI2NTFDOCAvKiBjb3JldmlkZW9fZnJhbWVfYnVmZmVyLmNjICovLApA
QCAtOTQ4MSw2ICs5NTEwLDcgQEAKIAkJCQk1Q0REODNDRDFFNDM5QTZGMDA2MjFFOTIgLyogZW5j
b2RlZF9mcmFtZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUNERDg1QTAxRTQzQjVDMDAwNjIxRTky
IC8qIGVuY29kZXJfcnRjcF9mZWVkYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUNERDhCOTkx
RTQzQzJCNTAwNjIxRTkyIC8qIGVuZXJneV9pbnZlcnNlLmggaW4gSGVhZGVycyAqLywKKwkJCQk0
MTEwOUFBQzFFNUZBMTkyMDBDMDk1NUEgLyogY29yZXZpZGVvX2ZyYW1lX2J1ZmZlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNUNERDhCOUIxRTQzQzJCNTAwNjIxRTkyIC8qIGVuaF91cHNhbXBsZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNUNERDhCOUYxRTQzQzJCNTAwNjIxRTkyIC8qIGVuaGFuY2Vy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0REOEI5RDFFNDNDMkI1MDA2MjFFOTIgLyogZW5oYW5j
ZXJfaW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLywKQEAgLTk1ODUsNiArOTYxNSw3IEBACiAJCQkJ
NUM0QjQ4RTQxRTQyQzFFMzAwMjY1MUM4IC8qIGh5YnJpZGRhdGFlbmdpbmUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTVDNjNGODAyMUU0MTYyODgwMDJDQTUzMSAvKiBpZmFkZHJzX2NvbnZlcnRlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNUM2M0Y4MDUxRTQxNjI4ODAwMkNBNTMxIC8qIGlnbm9yZV93
dW5kZWYuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxMTA5QUFFMUU1RkExOTIwMEMwOTU1QSAvKiB2
aWRlb19mcmFtZV9idWZmZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDREQ4QkI0MUU0M0MyQjUw
MDYyMUU5MiAvKiBpbGJjLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0REOEJCNjFFNDNDMkI1MDA2
MjFFOTIgLyogaW5kZXhfY29udl9kZWMuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDREQ4QkI4MUU0
M0MyQjUwMDYyMUU5MiAvKiBpbmRleF9jb252X2VuYy5oIGluIEhlYWRlcnMgKi8sCkBAIC05NjEz
LDYgKzk2NDQsNyBAQAogCQkJCTVDNEI0QzcxMUU0MzFGOUMwMDI2NTFDOCAvKiBsYXBwZWRfdHJh
bnNmb3JtLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0REODQyMDFFNDM5QjI5MDA2MjFFOTIgLyog
bGVnYWN5X2VuY29kZWRfYXVkaW9fZnJhbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDREQ5MDI4
MUU0M0NFREUwMDYyMUU5MiAvKiBsZXZlbF9jb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk0MTEwOUFCMTFFNUZBMTkyMDBDMDk1NUEgLyogaW5jb21pbmdfdmlkZW9fc3RyZWFtLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1Q0REOTAyNTFFNDNDRURFMDA2MjFFOTIgLyogbGV2ZWxfY29udHJv
bGxlcl9jb25zdGFudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDREQ4NEI5MUU0M0FGMTMwMDYy
MUU5MiAvKiBsZXZlbF9lc3RpbWF0b3JfaW1wbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUNERDg0
NjAxRTQzQUUyOTAwNjIxRTkyIC8qIGxldmVsX2luZGljYXRvci5oIGluIEhlYWRlcnMgKi8sCkBA
IC05NjIzLDYgKzk2NTUsNyBAQAogCQkJCTVDNjNGODEwMUU0MTYyODgwMDJDQTUzMSAvKiBsb2dn
aW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzYzRjgxMjFFNDE2Mjg4MDAyQ0E1MzEgLyogbG9n
c2lua3MuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDREQ4NzA2MUU0M0JBNzUwMDYyMUU5MiAvKiBs
b3VkbmVzc19oaXN0b2dyYW0uaCBpbiBIZWFkZXJzICovLAorCQkJCTQxMTA5QUIyMUU1RkExOTIw
MEMwOTU1QSAvKiB2aWRlb19pbWFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUNERDg3QzYxRTQz
QkMwNTAwNjIxRTkyIC8qIGxwY19hbmFseXNpcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUNERDhC
QzIxRTQzQzJCNTAwNjIxRTkyIC8qIGxwY19lbmNvZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTVD
REQ4N0M4MUU0M0JDMDUwMDYyMUU5MiAvKiBscGNfZ2Fpbl9zd2JfdGFibGVzLmggaW4gSGVhZGVy
cyAqLywKQEAgLTk2MzgsNiArOTY3MSw3IEBACiAJCQkJNUM2M0Y4MTMxRTQxNjI4ODAwMkNBNTMx
IC8qIG1hY2NvY29hdGhyZWFkaGVscGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzYzRjgxNjFF
NDE2Mjg4MDAyQ0E1MzEgLyogbWFjY29udmVyc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUM2
M0Y4MTgxRTQxNjI4ODAwMkNBNTMxIC8qIG1hY3V0aWxzLmggaW4gSGVhZGVycyAqLywKKwkJCQk0
MTEwOUFCMDFFNUZBMTkyMDBDMDk1NUEgLyogYml0cmF0ZV9hZGp1c3Rlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNUM2M0Y4MUExRTQxNjI4ODAwMkNBNTMxIC8qIG1hY3dpbmRvd3BpY2tlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNUM2M0Y4MUIxRTQxNjI4ODAwMkNBNTMxIC8qIG1hdGh1dGlscy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNUNERDkwN0UxRTQzRDE1QzAwNjIxRTkyIC8qIG1hdHJpeC5o
IGluIEhlYWRlcnMgKi8sCkBAIC05NzkxLDYgKzk4MjUsNyBAQAogCQkJCTVDNjNGODU2MUU0MTYy
ODgwMDJDQTUzMSAvKiByYWNlX2NoZWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDNjNGODU4
MUU0MTYyODgwMDJDQTUzMSAvKiByYW5kb20uaCBpbiBIZWFkZXJzICovLAogCQkJCTVDREQ4QTRC
MUU0M0JGQjMwMDYyMUU5MiAvKiByYW5kb21fdmVjdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk0
MTEwOUFBRjFFNUZBMTkyMDBDMDk1NUEgLyogZnJhbWVfY2FsbGJhY2suaCBpbiBIZWFkZXJzICov
LAogCQkJCTVDREQ4OTVDMUU0M0JGM0EwMDYyMUU5MiAvKiByYXBpZF9yZXN5bmNfcmVxdWVzdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNUM2M0Y4NUExRTQxNjI4ODAwMkNBNTMxIC8qIHJhdGVfbGlt
aXRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUM2M0Y4NUMxRTQxNjI4ODAwMkNBNTMxIC8qIHJh
dGVfc3RhdGlzdGljcy5oIGluIEhlYWRlcnMgKi8sCkBAIC05ODM5LDYgKzk4NzQsNyBAQAogCQkJ
CTVDREQ4ODlCMUU0M0JFM0MwMDYyMUU5MiAvKiBydGNwX3JlY2VpdmVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1Q0REODg5RTFFNDNCRTNDMDA2MjFFOTIgLyogcnRjcF9zZW5kZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTVDREQ4OEExMUU0M0JFM0MwMDYyMUU5MiAvKiBydGNwX3V0aWxpdHkuaCBp
biBIZWFkZXJzICovLAorCQkJCTQxMTA5QUFEMUU1RkExOTIwMEMwOTU1QSAvKiBpNDIwX2J1ZmZl
cl9wb29sLmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzYzRjk2NTFFNDE3MzdCMDAyQ0E1MzEgLyog
cnRjc3RhdHNjb2xsZWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDREQ4QUI3MUU0M0MwMEYw
MDYyMUU5MiAvKiBydHBfZmlsZV9zb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDREQ4OEIx
MUU0M0JFM0MwMDYyMUU5MiAvKiBydHBfZm9ybWF0LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVy
ZVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlk
ZW9DYXB0dXJlU291cmNlLmgKaW5kZXggMjBjMDUzMDU1MzIxYmU0ZDc5NTZhODg1ZjBlYWI0MWRi
NGE0NjFkNy4uMjQzMWZiN2E5NTI0YzBjYjc4Yzc1YTI1NTYxZGE3MTExMjU1MzEyNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlkZW9DYXB0
dXJlU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L0FWVmlkZW9DYXB0dXJlU291cmNlLmgKQEAgLTQxLDcgKzQxLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7Ci1jbGFzcyBB
VlZpZGVvU291cmNlUHJldmlldzsKK2NsYXNzIFBpeGVsQnVmZmVyQ29uZm9ybWVyQ1Y7CiAKIGNs
YXNzIEFWVmlkZW9DYXB0dXJlU291cmNlIDogcHVibGljIEFWTWVkaWFDYXB0dXJlU291cmNlIHsK
IHB1YmxpYzoKQEAgLTg3LDYgKzg3LDggQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8Q0dJbWFn
ZVJlZj4gbV9sYXN0SW1hZ2U7CiAgICAgUmV0YWluUHRyPEFWQ2FwdHVyZVZpZGVvRGF0YU91dHB1
dD4gbV92aWRlb091dHB1dDsKIAorICAgIHN0ZDo6dW5pcXVlX3B0cjxQaXhlbEJ1ZmZlckNvbmZv
cm1lckNWPiBtX3BpeGVsQnVmZmVyQ29uZm9ybWVyOworCiAgICAgVmVjdG9yPEZsb2F0NjQ+IG1f
dmlkZW9GcmFtZVRpbWVTdGFtcHM7CiAgICAgRmxvYXQ2NCBtX2ZyYW1lUmF0ZSB7IDAgfTsKICAg
ICBpbnQzMl90IG1fd2lkdGggeyAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UubW0KaW5k
ZXggNzJjOTg1MmIxZTAyZDMxMDE5MDlhN2Y3YjFhZmIzMTJmYTAyZmExYy4uZjA4YjNhZTJiNDdl
NzUzN2NjMDkzOTk0YzJjNWIxNGI1NzFiYThmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJj
ZS5tbQpAQCAtMzYsNiArMzYsNyBAQAogI2ltcG9ydCAiTWVkaWFDb25zdHJhaW50cy5oIgogI2lt
cG9ydCAiTWVkaWFTYW1wbGVBVkZPYmpDLmgiCiAjaW1wb3J0ICJOb3RJbXBsZW1lbnRlZC5oIgor
I2ltcG9ydCAiUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oIgogI2ltcG9ydCAiUGxhdGZvcm1MYXll
ci5oIgogI2ltcG9ydCAiUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oIgogI2ltcG9ydCAiUmVh
bHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzLmgiCkBAIC0xMDIsNyArMTAzLDcgQEAgdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgT1NUeXBlIHZp
ZGVvQ2FwdHVyZUZvcm1hdCA9IGtDVlBpeGVsRm9ybWF0VHlwZV8zMkJHUkE7Citjb25zdCBPU1R5
cGUgdmlkZW9DYXB0dXJlRm9ybWF0ID0ga0NWUGl4ZWxGb3JtYXRUeXBlXzQyMFlwQ2JDcjhQbGFu
YXI7CiAKIFJlZlB0cjxBVk1lZGlhQ2FwdHVyZVNvdXJjZT4gQVZWaWRlb0NhcHR1cmVTb3VyY2U6
OmNyZWF0ZShBVkNhcHR1cmVEZXZpY2VUeXBlZGVmKiBkZXZpY2UsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgaWQsIGNvbnN0IE1lZGlhQ29uc3RyYWludHMqIGNvbnN0cmFpbnRzLCBTdHJpbmcmIGludmFs
aWRDb25zdHJhaW50KQogewpAQCAtNDYyLDE2ICs0NjMsMTYgQEAgUmV0YWluUHRyPENHSW1hZ2VS
ZWY+IEFWVmlkZW9DYXB0dXJlU291cmNlOjpjdXJyZW50RnJhbWVDR0ltYWdlKCkKICAgICBDVlBp
eGVsQnVmZmVyUmVmIHBpeGVsQnVmZmVyID0gc3RhdGljX2Nhc3Q8Q1ZQaXhlbEJ1ZmZlclJlZj4o
Q01TYW1wbGVCdWZmZXJHZXRJbWFnZUJ1ZmZlcihtX2J1ZmZlci5nZXQoKSkpOwogICAgIEFTU0VS
VChDVlBpeGVsQnVmZmVyR2V0UGl4ZWxGb3JtYXRUeXBlKHBpeGVsQnVmZmVyKSA9PSB2aWRlb0Nh
cHR1cmVGb3JtYXQpOwogCi0gICAgQ1ZQaXhlbEJ1ZmZlckxvY2tCYXNlQWRkcmVzcyhwaXhlbEJ1
ZmZlciwgMCk7Ci0gICAgdm9pZCAqYmFzZUFkZHJlc3MgPSBDVlBpeGVsQnVmZmVyR2V0QmFzZUFk
ZHJlc3MocGl4ZWxCdWZmZXIpOwotICAgIHNpemVfdCBieXRlc1BlclJvdyA9IENWUGl4ZWxCdWZm
ZXJHZXRCeXRlc1BlclJvdyhwaXhlbEJ1ZmZlcik7Ci0gICAgc2l6ZV90IHdpZHRoID0gQ1ZQaXhl
bEJ1ZmZlckdldFdpZHRoKHBpeGVsQnVmZmVyKTsKLSAgICBzaXplX3QgaGVpZ2h0ID0gQ1ZQaXhl
bEJ1ZmZlckdldEhlaWdodChwaXhlbEJ1ZmZlcik7Ci0KLSAgICBSZXRhaW5QdHI8Q0dEYXRhUHJv
dmlkZXJSZWY+IHByb3ZpZGVyID0gYWRvcHRDRihDR0RhdGFQcm92aWRlckNyZWF0ZVdpdGhEYXRh
KE5VTEwsIGJhc2VBZGRyZXNzLCBieXRlc1BlclJvdyAqIGhlaWdodCwgTlVMTCkpOwotICAgIG1f
bGFzdEltYWdlID0gYWRvcHRDRihDR0ltYWdlQ3JlYXRlKHdpZHRoLCBoZWlnaHQsIDgsIDMyLCBi
eXRlc1BlclJvdywgc1JHQkNvbG9yU3BhY2VSZWYoKSwga0NHQml0bWFwQnl0ZU9yZGVyMzJMaXR0
bGUgfCBrQ0dJbWFnZUFscGhhUHJlbXVsdGlwbGllZEZpcnN0LCBwcm92aWRlci5nZXQoKSwgTlVM
TCwgdHJ1ZSwga0NHUmVuZGVyaW5nSW50ZW50RGVmYXVsdCkpOworICAgIGlmICghbV9waXhlbEJ1
ZmZlckNvbmZvcm1lcikgeworI2lmIFVTRShWSURFT1RPT0xCT1gpCisgICAgICAgIE5TRGljdGlv
bmFyeSAqYXR0cmlidXRlcyA9IEB7IChOU1N0cmluZyAqKWtDVlBpeGVsQnVmZmVyUGl4ZWxGb3Jt
YXRUeXBlS2V5OiBAKGtDVlBpeGVsRm9ybWF0VHlwZV8zMkJHUkEpIH07CisjZWxzZQorICAgICAg
ICBOU0RpY3Rpb25hcnkgKmF0dHJpYnV0ZXMgPSBuaWw7CisjZW5kaWYKKyAgICAgICAgbV9waXhl
bEJ1ZmZlckNvbmZvcm1lciA9IHN0ZDo6bWFrZV91bmlxdWU8UGl4ZWxCdWZmZXJDb25mb3JtZXJD
Vj4oKENGRGljdGlvbmFyeVJlZilhdHRyaWJ1dGVzKTsKKyAgICB9CiAKLSAgICBDVlBpeGVsQnVm
ZmVyVW5sb2NrQmFzZUFkZHJlc3MocGl4ZWxCdWZmZXIsIDApOworICAgIG1fbGFzdEltYWdlID0g
bV9waXhlbEJ1ZmZlckNvbmZvcm1lci0+Y3JlYXRlSW1hZ2VGcm9tUGl4ZWxCdWZmZXIocGl4ZWxC
dWZmZXIpOwogCiAgICAgcmV0dXJuIG1fbGFzdEltYWdlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1Nv
dXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRp
bWVPdXRnb2luZ1ZpZGVvU291cmNlLmNwcAppbmRleCBiMTM4ZTQ2N2MyZTMwNmRkODRiOGFlNjY4
MmNiNTQzNjhiNTcxMDU5Li4xNjliNDE3NzYyN2M2NDNhMGJhZTkwMjA2MDJhMmJkMTZiMmFmM2Q5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVh
bHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmNwcApAQCAtMzEs
NiArMzEsNyBAQAogCiAjaWYgVVNFKExJQldFQlJUQykKIAorI2luY2x1ZGUgPHdlYnJ0Yy9jb21t
b25fdmlkZW8vaW5jbHVkZS9jb3JldmlkZW9fZnJhbWVfYnVmZmVyLmg+CiAjaW5jbHVkZSA8d2Vi
cnRjL2NvbW1vbl92aWRlby9saWJ5dXYvaW5jbHVkZS93ZWJydGNfbGlieXV2Lmg+CiAjaW5jbHVk
ZSA8d2VicnRjL21lZGlhL2Jhc2UvdmlkZW9mcmFtZS5oPgogCkBAIC03Miw0NSArNzMsNDkgQEAg
dm9pZCBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2U6OlJlbW92ZVNpbmsocnRjOjpWaWRlb1Np
bmtJbnRlcmZhY2U8d2VicnRjOjpWaWQKICAgICBtX3NpbmtzLnJlbW92ZUZpcnN0KHNpbmspOwog
fQogCit2b2lkIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZTo6c2VuZEZyYW1lKHJ0Yzo6c2Nv
cGVkX3JlZnB0cjx3ZWJydGM6OlZpZGVvRnJhbWVCdWZmZXI+JiYgYnVmZmVyKQoreworICAgIHdl
YnJ0Yzo6VmlkZW9GcmFtZSBmcmFtZShidWZmZXIsIDAsIDAsIHdlYnJ0Yzo6a1ZpZGVvUm90YXRp
b25fMCk7CisgICAgZm9yIChhdXRvKiBzaW5rIDogbV9zaW5rcykKKyAgICAgICAgc2luay0+T25G
cmFtZShmcmFtZSk7Cit9CisKIHZvaWQgUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlOjp2aWRl
b1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlKQogewogICAgIGlmICghbV9zaW5r
cy5zaXplKCkpCiAgICAgICAgIHJldHVybjsKIAotCiAgICAgLy8gRklYTUU6IFNob3VsZG4ndCB3
ZSB1c2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6c2l6ZSgpCiAgICAgY29uc3QgYXV0byYgc2V0dGlu
Z3MgPSBtX3ZpZGVvU291cmNlLT5zZXR0aW5ncygpOwogCi0gICAgLy8gRklYTUU6IFdlIHNob3Vs
ZCBub3QgbmVlZCB0byBhbGxvY2F0ZSBvbmUgYnVmZmVyIHBlciBmcmFtZS4KLSAgICBhdXRvIGRl
c3QgPSB3ZWJydGM6Okk0MjBCdWZmZXI6OkNyZWF0ZShzZXR0aW5ncy53aWR0aCgpLCBzZXR0aW5n
cy5oZWlnaHQoKSk7Ci0KLSAgICBpZiAoIW1fbXV0ZWQgJiYgbV9lbmFibGVkKSB7Ci0gICAgICAg
IEFTU0VSVChzYW1wbGUucGxhdGZvcm1TYW1wbGUoKS50eXBlID09IFBsYXRmb3JtU2FtcGxlOjpD
TVNhbXBsZUJ1ZmZlclR5cGUpOwotICAgICAgICBhdXRvIHBpeGVsQnVmZmVyID0gc3RhdGljX2Nh
c3Q8Q1ZQaXhlbEJ1ZmZlclJlZj4oQ01TYW1wbGVCdWZmZXJHZXRJbWFnZUJ1ZmZlcihzYW1wbGUu
cGxhdGZvcm1TYW1wbGUoKS5zYW1wbGUuY21TYW1wbGVCdWZmZXIpKTsKLSAgICAgICAgYXV0byBw
aXhlbEZvcm1hdFR5cGUgPSBDVlBpeGVsQnVmZmVyR2V0UGl4ZWxGb3JtYXRUeXBlKHBpeGVsQnVm
ZmVyKTsKLQotICAgICAgICBDVlBpeGVsQnVmZmVyTG9ja0Jhc2VBZGRyZXNzKHBpeGVsQnVmZmVy
LCAwKTsKLSAgICAgICAgdWludDhfdCogc3JjID0gcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4o
Q1ZQaXhlbEJ1ZmZlckdldEJhc2VBZGRyZXNzT2ZQbGFuZShwaXhlbEJ1ZmZlciwgMCkpOwotCi0g
ICAgICAgIGlmIChwaXhlbEZvcm1hdFR5cGUgPT0ga0NWUGl4ZWxGb3JtYXRUeXBlXzQyMFlwQ2JD
cjhQbGFuYXIpIHsKLSAgICAgICAgICAgIC8vIFdlIHByb2JhYmx5IGNhbiBtZW1jcHkgdGhlIGRh
dGEgZGlyZWN0bHkKLSAgICAgICAgICAgIHdlYnJ0Yzo6Q29udmVydFRvSTQyMCh3ZWJydGM6OmtJ
NDIwLCBzcmMsIDAsIDAsIHNldHRpbmdzLndpZHRoKCksIHNldHRpbmdzLmhlaWdodCgpLCAwLCB3
ZWJydGM6OmtWaWRlb1JvdGF0aW9uXzAsIGRlc3QpOwotICAgICAgICB9IGVsc2UgaWYgKHBpeGVs
Rm9ybWF0VHlwZSA9PSBrQ1ZQaXhlbEZvcm1hdFR5cGVfMzJCR1JBKQotICAgICAgICAgICAgd2Vi
cnRjOjpDb252ZXJ0VG9JNDIwKHdlYnJ0Yzo6a0FSR0IsIHNyYywgMCwgMCwgc2V0dGluZ3Mud2lk
dGgoKSwgc2V0dGluZ3MuaGVpZ2h0KCksIDAsIHdlYnJ0Yzo6a1ZpZGVvUm90YXRpb25fMCwgZGVz
dCk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgLy8gRklYTUU6IE1vY2sgc291cmNlIGNv
bnZlcnNpb24gd29ya3Mgd2l0aCBrQkdSQSB3aGlsZSByZWd1bGFyIGNhbWVyYSB3b3JrcyB3aXRo
IGtBUkdCCi0gICAgICAgICAgICBBU1NFUlQocGl4ZWxGb3JtYXRUeXBlID09IGtDVlBpeGVsRm9y
bWF0VHlwZV8zMkFSR0IpOwotICAgICAgICAgICAgd2VicnRjOjpDb252ZXJ0VG9JNDIwKHdlYnJ0
Yzo6a0JHUkEsIHNyYywgMCwgMCwgc2V0dGluZ3Mud2lkdGgoKSwgc2V0dGluZ3MuaGVpZ2h0KCks
IDAsIHdlYnJ0Yzo6a1ZpZGVvUm90YXRpb25fMCwgZGVzdCk7Ci0gICAgICAgIH0KLQotICAgICAg
ICBDVlBpeGVsQnVmZmVyVW5sb2NrQmFzZUFkZHJlc3MocGl4ZWxCdWZmZXIsIDApOwotICAgIH0g
ZWxzZSB7Ci0gICAgICAgIGRlc3QtPlNldFRvQmxhY2soKTsKKyAgICBpZiAobV9tdXRlZCB8fCAh
bV9lbmFibGVkKSB7CisgICAgICAgIGF1dG8gYmxhY2tCdWZmZXIgPSBtX2J1ZmZlclBvb2wuQ3Jl
YXRlQnVmZmVyKHNldHRpbmdzLndpZHRoKCksIHNldHRpbmdzLmhlaWdodCgpKTsKKyAgICAgICAg
YmxhY2tCdWZmZXItPlNldFRvQmxhY2soKTsKKyAgICAgICAgc2VuZEZyYW1lKFdURk1vdmUoYmxh
Y2tCdWZmZXIpKTsKICAgICB9CiAKLSAgICB3ZWJydGM6OlZpZGVvRnJhbWUgZnJhbWUoZGVzdCwg
MCwgMCwgIHdlYnJ0Yzo6a1ZpZGVvUm90YXRpb25fMCk7Ci0gICAgZm9yIChhdXRvKiBzaW5rIDog
bV9zaW5rcykKLSAgICAgICAgc2luay0+T25GcmFtZShmcmFtZSk7CisgICAgQVNTRVJUKHNhbXBs
ZS5wbGF0Zm9ybVNhbXBsZSgpLnR5cGUgPT0gUGxhdGZvcm1TYW1wbGU6OkNNU2FtcGxlQnVmZmVy
VHlwZSk7CisgICAgYXV0byBwaXhlbEJ1ZmZlciA9IHN0YXRpY19jYXN0PENWUGl4ZWxCdWZmZXJS
ZWY+KENNU2FtcGxlQnVmZmVyR2V0SW1hZ2VCdWZmZXIoc2FtcGxlLnBsYXRmb3JtU2FtcGxlKCku
c2FtcGxlLmNtU2FtcGxlQnVmZmVyKSk7CisgICAgYXV0byBwaXhlbEZvcm1hdFR5cGUgPSBDVlBp
eGVsQnVmZmVyR2V0UGl4ZWxGb3JtYXRUeXBlKHBpeGVsQnVmZmVyKTsKKworICAgIGlmIChwaXhl
bEZvcm1hdFR5cGUgPT0ga0NWUGl4ZWxGb3JtYXRUeXBlXzQyMFlwQ2JDcjhQbGFuYXIpIHsKKyAg
ICAgICAgc2VuZEZyYW1lKG5ldyBydGM6OlJlZkNvdW50ZWRPYmplY3Q8d2VicnRjOjpDb3JlVmlk
ZW9GcmFtZUJ1ZmZlcj4ocGl4ZWxCdWZmZXIpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIENWUGl4ZWxCdWZmZXJMb2NrQmFzZUFkZHJlc3MocGl4ZWxCdWZmZXIsIDApOworICAgIGF1
dG8qIHNvdXJjZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KENWUGl4ZWxCdWZmZXJHZXRC
YXNlQWRkcmVzc09mUGxhbmUocGl4ZWxCdWZmZXIsIDApKTsKKworICAgIGF1dG8gbmV3QnVmZmVy
ID0gbV9idWZmZXJQb29sLkNyZWF0ZUJ1ZmZlcihzZXR0aW5ncy53aWR0aCgpLCBzZXR0aW5ncy5o
ZWlnaHQoKSk7CisgICAgaWYgKHBpeGVsRm9ybWF0VHlwZSA9PSBrQ1ZQaXhlbEZvcm1hdFR5cGVf
MzJCR1JBKQorICAgICAgICB3ZWJydGM6OkNvbnZlcnRUb0k0MjAod2VicnRjOjprQVJHQiwgc291
cmNlLCAwLCAwLCBzZXR0aW5ncy53aWR0aCgpLCBzZXR0aW5ncy5oZWlnaHQoKSwgMCwgd2VicnRj
OjprVmlkZW9Sb3RhdGlvbl8wLCBuZXdCdWZmZXIpOworICAgIGVsc2UgeworICAgICAgICAvLyBG
SVhNRTogTW9jayBzb3VyY2UgY29udmVyc2lvbiB3b3JrcyB3aXRoIGtCR1JBIHdoaWxlIHJlZ3Vs
YXIgY2FtZXJhIHdvcmtzIHdpdGgga0FSR0IKKyAgICAgICAgQVNTRVJUKHBpeGVsRm9ybWF0VHlw
ZSA9PSBrQ1ZQaXhlbEZvcm1hdFR5cGVfMzJBUkdCKTsKKyAgICAgICAgd2VicnRjOjpDb252ZXJ0
VG9JNDIwKHdlYnJ0Yzo6a0JHUkEsIHNvdXJjZSwgMCwgMCwgc2V0dGluZ3Mud2lkdGgoKSwgc2V0
dGluZ3MuaGVpZ2h0KCksIDAsIHdlYnJ0Yzo6a1ZpZGVvUm90YXRpb25fMCwgbmV3QnVmZmVyKTsK
KyAgICB9CisgICAgQ1ZQaXhlbEJ1ZmZlclVubG9ja0Jhc2VBZGRyZXNzKHBpeGVsQnVmZmVyLCAw
KTsKKyAgICBzZW5kRnJhbWUoV1RGTW92ZShuZXdCdWZmZXIpKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZS5oCmluZGV4
IDRjNmRjNzEyYmI4MmZjYzYwYTYwOWJhNDBiMjhhOGMzYzFmZGM4ODkuLjI1NzMxMGNhYzgyZDFi
MzYxY2E1MjRmNmM1NjkxYjgyYzczNmU5ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2lu
Z1ZpZGVvU291cmNlLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJSZWFsdGltZU1lZGlh
U291cmNlLmgiCiAjaW5jbHVkZSA8d2VicnRjL2FwaS9tZWRpYXN0cmVhbWludGVyZmFjZS5oPgog
I2luY2x1ZGUgPHdlYnJ0Yy9iYXNlL29wdGlvbmFsLmg+CisjaW5jbHVkZSA8d2VicnRjL2NvbW1v
bl92aWRlby9pbmNsdWRlL2k0MjBfYnVmZmVyX3Bvb2wuaD4KICNpbmNsdWRlIDx3ZWJydGMvbWVk
aWEvYmFzZS92aWRlb3NpbmtpbnRlcmZhY2UuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NDgsNiArNDksOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFJlYWx0aW1lT3V0Z29pbmdWaWRl
b1NvdXJjZShSZWY8UmVhbHRpbWVNZWRpYVNvdXJjZT4mJik7CiAKKyAgICB2b2lkIHNlbmRGcmFt
ZShydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpWaWRlb0ZyYW1lQnVmZmVyPiYmKTsKKwogICAg
IC8vIE5vdGlmaWVyIEFQSQogICAgIHZvaWQgUmVnaXN0ZXJPYnNlcnZlcih3ZWJydGM6Ok9ic2Vy
dmVySW50ZXJmYWNlKikgZmluYWwgeyB9CiAgICAgdm9pZCBVbnJlZ2lzdGVyT2JzZXJ2ZXIod2Vi
cnRjOjpPYnNlcnZlckludGVyZmFjZSopIGZpbmFsIHsgfQpAQCAtNzEsNiArNzQsNyBAQCBwcml2
YXRlOgogICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmKSBmaW5hbDsK
IAogICAgIFZlY3RvcjxydGM6OlZpZGVvU2lua0ludGVyZmFjZTx3ZWJydGM6OlZpZGVvRnJhbWU+
Kj4gbV9zaW5rczsKKyAgICB3ZWJydGM6Okk0MjBCdWZmZXJQb29sIG1fYnVmZmVyUG9vbDsKICAg
ICBSZWY8UmVhbHRpbWVNZWRpYVNvdXJjZT4gbV92aWRlb1NvdXJjZTsKICAgICBib29sIG1fZW5h
YmxlZCB7IHRydWUgfTsKICAgICBib29sIG1fbXV0ZWQgeyBmYWxzZSB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>