<?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>184498</bug_id>
          
          <creation_ts>2018-04-11 07:30:11 -0700</creation_ts>
          <short_desc>[GStreamer] Use of playbin3 when USE_PLAYBIN3 environment variable is set</short_desc>
          <delta_ts>2019-04-16 07:36:35 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Thibault Saunier">tsaunier</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>pnormand</cc>
    
    <cc>tsaunier</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1413671</commentid>
    <comment_count>0</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-04-11 07:30:11 -0700</bug_when>
    <thetext>[GStreamer] Use of playbin3 when USE_PLAYBIN3 environment variable is set</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413672</commentid>
    <comment_count>1</comment_count>
      <attachid>337699</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-04-11 07:31:30 -0700</bug_when>
    <thetext>Created attachment 337699
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413674</commentid>
    <comment_count>2</comment_count>
      <attachid>337699</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-04-11 07:45:03 -0700</bug_when>
    <thetext>Comment on attachment 337699
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.h:24
&gt; +#include &lt;gst/gst.h&gt;

This is for GST_CHECK_VERSION(), right? Then please remove the now useless forward typedefs :)

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:2402
&gt; +void MediaPlayerPrivateGStreamer::createGSTPlayBin(const gchar *playbin_name)

Please use camelCase :P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413675</commentid>
    <comment_count>3</comment_count>
      <attachid>337699</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-04-11 07:48:49 -0700</bug_when>
    <thetext>Comment on attachment 337699
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:2402
&gt;&gt; +void MediaPlayerPrivateGStreamer::createGSTPlayBin(const gchar *playbin_name)
&gt; 
&gt; Please use camelCase :P

Ah also, we use char instead of gchar usually, and the star is mispositioned. Not sure why check-webkit-style didn&apos;t complain there...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413745</commentid>
    <comment_count>4</comment_count>
      <attachid>337714</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-04-11 10:57:49 -0700</bug_when>
    <thetext>Created attachment 337714
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413746</commentid>
    <comment_count>5</comment_count>
      <attachid>337715</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-04-11 10:59:10 -0700</bug_when>
    <thetext>Created attachment 337715
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413749</commentid>
    <comment_count>6</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-04-11 11:01:03 -0700</bug_when>
    <thetext>&gt; Ah also, we use char instead of gchar usually, and the star is mispositioned. Not sure why check-webkit-style didn&apos;t complain there...

From my small checks, we do using g&lt;ctypes&gt; quite a lot all around :-) Looks like the star positioning is not enforce anywhere in the webkit style (clang-format doesn&apos;t seem to care, and the script doesn&apos;t either)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413750</commentid>
    <comment_count>7</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-04-11 11:01:28 -0700</bug_when>
    <thetext>(I fixed it all anyway)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413759</commentid>
    <comment_count>8</comment_count>
      <attachid>337715</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-11 11:33:44 -0700</bug_when>
    <thetext>Comment on attachment 337715
Patch

Clearing flags on attachment: 337715

Committed r230540: &lt;https://trac.webkit.org/changeset/230540&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413760</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-11 11:33:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413761</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-04-11 11:34:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/39354946&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527729</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-04-16 07:36:35 -0700</bug_when>
    <thetext>Please, environment variables need to be documented at https://trac.webkit.org/wiki/EnvironmentVariables</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337699</attachid>
            <date>2018-04-11 07:31:30 -0700</date>
            <delta_ts>2018-04-11 10:57:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184498-20180411113128.patch</filename>
            <type>text/plain</type>
            <size>18777</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwMTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDI1OGIxOTIyNDk4ZDYx
YzI5NjJjNTBiNGI0ODVhZmZiNzg2ODI2ZS4uOTc1ZWMyYTljNjczNGNmYTA4MjA3MGRlZDE1NzMx
ODZkOGRhZDgzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE4LTA0LTExICBUaGli
YXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XSBVc2Ugb2YgcGxheWJpbjMgd2hlbiBVU0VfUExBWUJJTjMgZW52aXJvbm1lbnQgdmFyaWFibGUg
aXMgc2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODQ0OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
R1N0cmVhbWVyXSBVc2Ugb2YgcGxheWJpbjMgd2hlbiBVU0VfUExBWUJJTjMgZW52aXJvbm1lbnQg
dmFyaWFibGUgaXMgc2V0CisKKyAgICAgICAgVGhpcyBpcyB0aGUgc2FtZSBiZWhhdmlvdXIgYXMg
d2l0aCBwbGF5YmluIGl0c2VsZi4KKworICAgICAgICBNYWtlIHN1cmUgdG8ga2VlcCB1c2luZyAi
cGxheWJpbiIgZm9yIE1lZGlhU291cmNlLgorCisgICAgICAgIE5vIHRlc3QgYWRkZWQgYXMgdGhp
cyBpcyBiYXNpY2FsbHkgYSBzbWFsbCByZXdvcmsgb2YgdGhlIHdheSB3ZSBleHBvc2UgYSBmZWF0
dXJlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0F1ZGlvVHJhY2tQ
cml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvQXVkaW9UcmFja1ByaXZhdGVHU3RyZWFtZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvR1JlZlB0ckdTdHJlYW1lci5jcHA6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL0dSZWZQdHJHU3RyZWFtZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lci5jcHA6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0luYmFuZFRleHRUcmFja1By
aXZhdGVHU3RyZWFtZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6OmVuYWJsZVRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6aGFuZGxlTWVzc2FnZSk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZUdTVFBsYXlCaW4pOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9UcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXI6OmRpc2Nvbm5lY3QpOgorICAgICAgICAoV2ViQ29y
ZTo6VHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcjo6dGFnc0NoYW5nZWQpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9UcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvVHJhY2tQcml2YXRlR1N0
cmVhbWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9U
cmFja1ByaXZhdGVHU3RyZWFtZXIuaDoKKwogMjAxOC0wNC0wMiAgQ2FybG9zIEdhcmNpYSBDYW1w
b3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0VuY2hhbnRdIENsZWFuIHVwIFRl
eHRDaGVja2VyRW5jaGFudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL0F1ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9BdWRpb1RyYWNrUHJpdmF0ZUdTdHJl
YW1lci5jcHAKaW5kZXggYTVhMGQ2OGVhZjBiMmFjYmIzMDY1YWVhYmM5Mzg4ODhlYjUwYzNjZi4u
MmU1NGIzYmExZDY5NjgzZjdjYzMwMzJhZmUzMGNjOTQ0NDVhZWM0NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0F1ZGlvVHJhY2tQcml2YXRl
R1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvQXVkaW9UcmFja1ByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC00Myw3ICs0Myw3IEBAIEF1
ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyOjpBdWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcihXZWFr
UHRyPE1lZGlhUGxheWVyUHJpdmF0CiAgICAgbm90aWZ5VHJhY2tPZkFjdGl2ZUNoYW5nZWQoKTsK
IH0KIAotI2lmIFVTRShHU1RSRUFNRVJfUExBWUJJTjMpCisjaWYgR1NUX0NIRUNLX1ZFUlNJT04o
MSwgMTAsIDApCiBBdWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6QXVkaW9UcmFja1ByaXZhdGVH
U3RyZWFtZXIoV2Vha1B0cjxNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI+IHBsYXllciwgZ2lu
dCBpbmRleCwgR1JlZlB0cjxHc3RTdHJlYW0+IHN0cmVhbSkKICAgICA6IFRyYWNrUHJpdmF0ZUJh
c2VHU3RyZWFtZXIodGhpcywgaW5kZXgsIHN0cmVhbSkKICAgICAsIG1fcGxheWVyKHBsYXllcikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9B
dWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL0F1ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyLmgKaW5kZXggM2ZkZDZl
NjhkZTU3NzdjNWU4NjIyZTM3NmZmMDQ3N2Y0MzRiYmFmYS4uMzRlMTk5MGZhYjIwOTExMWMyMDAy
YTJhOTdmZGViZDE3MTVjOTEwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL0F1ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0F1ZGlvVHJhY2tQcml2YXRl
R1N0cmVhbWVyLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBBdWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcihwbGF5ZXIsIGluZGV4LCBwYWQp
KTsKICAgICB9CiAKLSNpZiBVU0UoR1NUUkVBTUVSX1BMQVlCSU4zKQorI2lmIEdTVF9DSEVDS19W
RVJTSU9OKDEsIDEwLCAwKQogICAgIHN0YXRpYyBSZWZQdHI8QXVkaW9UcmFja1ByaXZhdGVHU3Ry
ZWFtZXI+IGNyZWF0ZShXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4gcGxheWVy
LCBnaW50IGluZGV4LCBHUmVmUHRyPEdzdFN0cmVhbT4gc3RyZWFtKQogICAgIHsKICAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgQXVkaW9UcmFja1ByaXZhdGVHU3RyZWFtZXIocGxheWVyLCBp
bmRleCwgc3RyZWFtKSk7CkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAg
ICBBdWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcihXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcj4sIGdpbnQgaW5kZXgsIEdSZWZQdHI8R3N0UGFkPik7Ci0jaWYgVVNFKEdTVFJFQU1F
Ul9QTEFZQklOMykKKyNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKICAgICBBdWRpb1Ry
YWNrUHJpdmF0ZUdTdHJlYW1lcihXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4s
IGdpbnQgaW5kZXgsIEdSZWZQdHI8R3N0U3RyZWFtPik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dSZWZQdHJHU3RyZWFt
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dSZWZQ
dHJHU3RyZWFtZXIuY3BwCmluZGV4IGVlYWVkOGZmNTEyNjBkZjlkMGYwMWM1OGIzODI4NjU5ZDFk
NmVjYmQuLmYxY2JhZDdlMDVkNTRkZjk3ZTA5NWU3MzFiMTA5YTM3MWU1Mzk5Y2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HUmVmUHRyR1N0
cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvR1JlZlB0ckdTdHJlYW1lci5jcHAKQEAgLTM1Myw3ICszNTMsNyBAQCB0ZW1wbGF0ZSA8PiB2
b2lkIGRlcmVmR1B0cjxHc3RRdWVyeT4oR3N0UXVlcnkqIHB0cikKICAgICAgICAgZ3N0X3F1ZXJ5
X3VucmVmKHB0cik7CiB9CiAKLSNpZiBVU0UoR1NUUkVBTUVSX1BMQVlCSU4zKQorI2lmIEdTVF9D
SEVDS19WRVJTSU9OKDEsIDEwLCAwKQogdGVtcGxhdGUgPD4gR1JlZlB0cjxHc3RTdHJlYW0+IGFk
b3B0R1JlZihHc3RTdHJlYW0qIHB0cikKIHsKICAgICBBU1NFUlQoIXB0ciB8fCAhZ19vYmplY3Rf
aXNfZmxvYXRpbmcocHRyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvR1JlZlB0ckdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dSZWZQdHJHU3RyZWFtZXIuaAppbmRleCA4M2JmZGVj
MTI4NTE2NzMzNzc0NTUwY2U0NTJhZGMwYmZhNTg4YjQzLi5iMmFhOTVhYjU0OGQ4NWU3MzkzMzFk
YTk4N2U1MDc3ZWQwMGZhZWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvR1JlZlB0ckdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HUmVmUHRyR1N0cmVhbWVyLmgKQEAgLTIxLDYg
KzIxLDcgQEAKIAogI2lmIFVTRShHU1RSRUFNRVIpCiAKKyNpbmNsdWRlIDxnc3QvZ3N0Lmg+CiAj
aW5jbHVkZSA8d3RmL2dsaWIvR1JlZlB0ci5oPgogCiB0eXBlZGVmIHN0cnVjdCBfR3N0RWxlbWVu
dCBHc3RFbGVtZW50OwpAQCAtNDMsNyArNDQsNyBAQCB0eXBlZGVmIHN0cnVjdCBfR3N0UXVlcnkg
R3N0UXVlcnk7CiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0VmlkZW9TaW5rIFdlYktpdFZpZGVvU2lu
azsKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRXZWJTcmMgV2ViS2l0V2ViU3JjOwogCi0jaWYgVVNF
KEdTVFJFQU1FUl9QTEFZQklOMykKKyNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKIHR5
cGVkZWYgc3RydWN0IF9Hc3RTdHJlYW0gR3N0U3RyZWFtOwogdHlwZWRlZiBzdHJ1Y3QgX0dzdFN0
cmVhbUNvbGxlY3Rpb24gR3N0U3RyZWFtQ29sbGVjdGlvbjsKICNlbmRpZgpAQCAtMTMyLDcgKzEz
Myw3IEBAIEdSZWZQdHI8V2ViS2l0V2ViU3JjPiBlbnN1cmVHUmVmKFdlYktpdFdlYlNyYyogcHRy
KTsKIHRlbXBsYXRlPD4gV2ViS2l0V2ViU3JjKiByZWZHUHRyPFdlYktpdFdlYlNyYz4oV2ViS2l0
V2ViU3JjKiBwdHIpOwogdGVtcGxhdGU8PiB2b2lkIGRlcmVmR1B0cjxXZWJLaXRXZWJTcmM+KFdl
YktpdFdlYlNyYyogcHRyKTsKIAotI2lmIFVTRShHU1RSRUFNRVJfUExBWUJJTjMpCisjaWYgR1NU
X0NIRUNLX1ZFUlNJT04oMSwgMTAsIDApCiB0ZW1wbGF0ZTw+IEdSZWZQdHI8R3N0U3RyZWFtPiBh
ZG9wdEdSZWYoR3N0U3RyZWFtKik7CiB0ZW1wbGF0ZTw+IEdzdFN0cmVhbSogcmVmR1B0cjxHc3RT
dHJlYW0+KEdzdFN0cmVhbSopOwogdGVtcGxhdGU8PiB2b2lkIGRlcmVmR1B0cjxHc3RTdHJlYW0+
KEdzdFN0cmVhbSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL0luYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0luYmFuZFRleHRUcmFja1ByaXZh
dGVHU3RyZWFtZXIuY3BwCmluZGV4IDM0Y2U4MzA4OTQ1OWY0OWMyNDMxOTA0ODg1OTU3MGEzMjJm
NzNmYmIuLmFkMjg0NTIyMjJjNWFiYTU0MTFlZjBkMzIwNDRiNDhjOTgwMWMyZWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbmJhbmRUZXh0
VHJhY2tQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAg
LTU4LDcgKzU4LDcgQEAgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6SW5iYW5kVGV4
dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcihnaW50IGluZGV4LCBHUmUKICAgICBub3RpZnlUcmFja09m
U3RyZWFtQ2hhbmdlZCgpOwogfQogCi0jaWYgVVNFKEdTVFJFQU1FUl9QTEFZQklOMykKKyNpZiBH
U1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKIEluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFt
ZXI6OkluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIoZ2ludCBpbmRleCwgR1JlZlB0cjxH
c3RTdHJlYW0+IHN0cmVhbSkKICAgICA6IEluYmFuZFRleHRUcmFja1ByaXZhdGUoV2ViVlRUKQog
ICAgICwgVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcih0aGlzLCBpbmRleCwgc3RyZWFtKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0luYmFu
ZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9JbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyLmgKaW5kZXgg
MzI0YTI3MDhhYmZjZDBjNDhhNGFhNGNkZWQ0Njc0MDZhZTVmYmQxZS4uYWY3YWE2MzZjZGE2MGIx
MTVlNjBjMTk5ZDVjZDRiOTNhYjU4YTAzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0luYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW5iYW5k
VGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lci5oCkBAIC00NCw3ICs0NCw3IEBAIHB1YmxpYzoKICAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1l
cihpbmRleCwgcGFkKSk7CiAgICAgfQogCi0jaWYgVVNFKEdTVFJFQU1FUl9QTEFZQklOMykKKyNp
ZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKICAgICBzdGF0aWMgUmVmPEluYmFuZFRleHRU
cmFja1ByaXZhdGVHU3RyZWFtZXI+IGNyZWF0ZShnaW50IGluZGV4LCBHUmVmUHRyPEdzdFN0cmVh
bT4gc3RyZWFtKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSW5iYW5kVGV4
dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcihpbmRleCwgc3RyZWFtKSk7CkBAIC02Myw3ICs2Myw3IEBA
IHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBJbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVy
KGdpbnQgaW5kZXgsIEdSZWZQdHI8R3N0UGFkPik7Ci0jaWYgVVNFKEdTVFJFQU1FUl9QTEFZQklO
MykKKyNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKICAgICBJbmJhbmRUZXh0VHJhY2tQ
cml2YXRlR1N0cmVhbWVyKGdpbnQgaW5kZXgsIEdSZWZQdHI8R3N0U3RyZWFtPik7CiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRl
eCAxYWNiMjhiZGMxNjQ4YmFlNTVmNDlmNDE5ZTA0M2EzYWE2ZmI4YzBiLi5hNWJjMTgyNmJlMWQx
NzU3MmUwNmI3YTAzZjA5NDUwYTM5MGVmZTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtMjUyLDcgKzI1Miw3IEBAIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nKQogICAg
ICAgICByZXR1cm47CiAKICAgICBpZiAoIW1fcGlwZWxpbmUpCi0gICAgICAgIGNyZWF0ZUdTVFBs
YXlCaW4oKTsKKyAgICAgICAgY3JlYXRlR1NUUGxheUJpbihpc01lZGlhU291cmNlKCkgPyAicGxh
eWJpbiIgOiBudWxscHRyKTsKIAogICAgIGlmIChtX2ZpbGxUaW1lci5pc0FjdGl2ZSgpKQogICAg
ICAgICBtX2ZpbGxUaW1lci5zdG9wKCk7CkBAIC02MjEsNyArNjIxLDcgQEAgYm9vbCBNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6OnNlZWtpbmcoKSBjb25zdAogICAgIHJldHVybiBtX3NlZWtp
bmc7CiB9CiAKLSNpZiBVU0UoR1NUUkVBTUVSX1BMQVlCSU4zKQorI2lmIEdTVF9DSEVDS19WRVJT
SU9OKDEsIDEwLCAwKQogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnVwZGF0ZVRy
YWNrcygpCiB7CiAgICAgQVNTRVJUKCFtX2lzTGVnYWN5UGxheWJpbik7CkBAIC03NTUsNyArNzU1
LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmVuYWJsZVRyYWNrKFRyYWNr
UHJpdmF0ZUJhc2VHU3RyZWFtZXI6OlRyYWNrVHkKICAgICAgICAgR3N0RWxlbWVudCogZWxlbWVu
dCA9IGlzTWVkaWFTb3VyY2UoKSA/IG1fc291cmNlLmdldCgpIDogbV9waXBlbGluZS5nZXQoKTsK
ICAgICAgICAgZ19vYmplY3Rfc2V0KGVsZW1lbnQsIHByb3BlcnR5TmFtZSwgaW5kZXgsIG51bGxw
dHIpOwogICAgIH0KLSNpZiBVU0UoR1NUUkVBTUVSX1BMQVlCSU4zKQorI2lmIEdTVF9DSEVDS19W
RVJTSU9OKDEsIDEwLCAwKQogICAgIGVsc2UgewogICAgICAgICBHc3RTdHJlYW0qIHN0cmVhbSA9
IGdzdF9zdHJlYW1fY29sbGVjdGlvbl9nZXRfc3RyZWFtKG1fc3RyZWFtQ29sbGVjdGlvbi5nZXQo
KSwgaW5kZXgpOwogICAgICAgICBpZiAoc3RyZWFtKSB7CkBAIC0xMjgwLDcgKzEyODAsNyBAQCB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6aGFuZGxlTWVzc2FnZShHc3RNZXNzYWdl
KiBtZXNzYWdlKQogICAgICAgICBnc3RfdGFnX2xpc3RfdW5yZWYodGFncyk7CiAgICAgICAgIGJy
ZWFrOwogICAgIH0KLSNpZiBVU0UoR1NUUkVBTUVSX1BMQVlCSU4zKQorI2lmIEdTVF9DSEVDS19W
RVJTSU9OKDEsIDEwLCAwKQogICAgIGNhc2UgR1NUX01FU1NBR0VfU1RSRUFNX0NPTExFQ1RJT046
IHsKICAgICAgICAgR1JlZlB0cjxHc3RTdHJlYW1Db2xsZWN0aW9uPiBjb2xsZWN0aW9uOwogICAg
ICAgICBnc3RfbWVzc2FnZV9wYXJzZV9zdHJlYW1fY29sbGVjdGlvbihtZXNzYWdlLCAmY29sbGVj
dGlvbi5vdXRQdHIoKSk7CkBAIC0yMzk5LDE5ICsyMzk5LDM5IEBAIEF1ZGlvU291cmNlUHJvdmlk
ZXIqIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6YXVkaW9Tb3VyY2VQcm92aWRlcigpCiB9
CiAjZW5kaWYKIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZUdTVFBs
YXlCaW4oKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZUdTVFBsYXlC
aW4oY29uc3QgZ2NoYXIgKnBsYXliaW5fbmFtZSkKIHsKKyAgICBpZiAobV9waXBlbGluZSkgewor
ICAgICAgICBpZiAoIXBsYXliaW5fbmFtZSkgeworICAgICAgICAgICAgR1NUX0lORk9fT0JKRUNU
KHBpcGVsaW5lKCksICJLZWVwaW5nIHNhbWUgcGxheWJpbiBhcyBub3RoaW5nIGZvcmNlZCIpOwor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFnX3N0cmNtcDAo
R1NUX09CSkVDVF9OQU1FKGdzdF9lbGVtZW50X2dldF9mYWN0b3J5KG1fcGlwZWxpbmUuZ2V0KCkp
KSwgcGxheWJpbl9uYW1lKSkgeworICAgICAgICAgICAgR1NUX0lORk9fT0JKRUNUKHBpcGVsaW5l
KCksICJBbHJlYWR5IHVzaW5nICVzIiwgcGxheWJpbl9uYW1lKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorCisgICAgICAgIEdTVF9JTkZPX09CSkVDVChwaXBlbGluZSgpLCAiVGVh
cmluZyBkb3duIGFzIHdlIG5lZWQgdG8gdXNlICVzIG5vdy4iLAorICAgICAgICAgICAgcGxheWJp
bl9uYW1lKTsKKyAgICAgICAgY2hhbmdlUGlwZWxpbmVTdGF0ZShHU1RfU1RBVEVfTlVMTCk7Cisg
ICAgICAgIG1fcGlwZWxpbmUgPSBudWxscHRyOworICAgIH0KKwogICAgIEFTU0VSVCghbV9waXBl
bGluZSk7CiAKKyNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKKyAgICBtX2lzTGVnYWN5
UGxheWJpbiA9ICFnX2dldGVudigiVVNFX1BMQVlCSU4zIik7CisgICAgaWYgKCFtX2lzTGVnYWN5
UGxheWJpbikKKyAgICAgICAgcGxheWJpbl9uYW1lID0gInBsYXliaW4zIjsKKyNlbmRpZgorCisg
ICAgaWYgKCFwbGF5YmluX25hbWUpCisgICAgICAgIHBsYXliaW5fbmFtZSA9ICJwbGF5YmluIjsK
KwogICAgIC8vIGdzdF9lbGVtZW50X2ZhY3RvcnlfbWFrZSgpIHJldHVybnMgYSBmbG9hdGluZyBy
ZWZlcmVuY2Ugc28KICAgICAvLyB3ZSBzaG91bGQgbm90IGFkb3B0LgotI2lmIFVTRShHU1RSRUFN
RVJfUExBWUJJTjMpCi0gICAgbV9pc0xlZ2FjeVBsYXliaW4gPSBmYWxzZTsKLSAgICBzZXRQaXBl
bGluZShnc3RfZWxlbWVudF9mYWN0b3J5X21ha2UoInBsYXliaW4zIiwgInBsYXkiKSk7Ci0jZWxz
ZQotICAgIG1faXNMZWdhY3lQbGF5YmluID0gdHJ1ZTsKLSAgICBzZXRQaXBlbGluZShnc3RfZWxl
bWVudF9mYWN0b3J5X21ha2UoInBsYXliaW4iLCAicGxheSIpKTsKLSNlbmRpZgorICAgIHNldFBp
cGVsaW5lKGdzdF9lbGVtZW50X2ZhY3RvcnlfbWFrZShwbGF5YmluX25hbWUsICJwbGF5IikpOwog
ICAgIHNldFN0cmVhbVZvbHVtZUVsZW1lbnQoR1NUX1NUUkVBTV9WT0xVTUUobV9waXBlbGluZS5n
ZXQoKSkpOwogCiAgICAgR1NUX0lORk8oIlVzaW5nIGxlZ2FjeSBwbGF5YmluIGVsZW1lbnQ6ICVz
IiwgYm9vbEZvclByaW50aW5nKG1faXNMZWdhY3lQbGF5YmluKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKaW5kZXggMzY4NzA0ODBmZjY0ZDcyNzU2NDM1
ZjVjNDllN2IwMTliNWMzNDgyNy4uODRkMWQ3NjA4NDcxMTkwOGY4MThkMzVhZGY2OWE5MTZkYjUw
Yjc5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaApA
QCAtMTQ2LDcgKzE0Niw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVN0YXRl
cygpOwogICAgIHZpcnR1YWwgdm9pZCBhc3luY1N0YXRlQ2hhbmdlRG9uZSgpOwogCi0gICAgdm9p
ZCBjcmVhdGVHU1RQbGF5QmluKCk7CisgICAgdm9pZCBjcmVhdGVHU1RQbGF5QmluKGNvbnN0IGdj
aGFyICpwbGF5YmluX25hbWUpOwogCiAgICAgYm9vbCBsb2FkTmV4dExvY2F0aW9uKCk7CiAgICAg
dm9pZCBtZWRpYUxvY2F0aW9uQ2hhbmdlZChHc3RNZXNzYWdlKik7CkBAIC0xNzgsNyArMTc4LDcg
QEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2V0UGxheWJpblVSTChjb25zdCBVUkwmIHVybFN0cmlu
Zyk7CiAKLSNpZiBVU0UoR1NUUkVBTUVSX1BMQVlCSU4zKQorI2lmIEdTVF9DSEVDS19WRVJTSU9O
KDEsIDEwLCAwKQogICAgIHZvaWQgdXBkYXRlVHJhY2tzKCk7CiAjZW5kaWYKIApAQCAtMjU3LDcg
KzI1Nyw3IEBAIHByaXZhdGU6CiAgICAgVVJMIG1fdXJsOwogICAgIGJvb2wgbV9wcmVzZXJ2ZXNQ
aXRjaDsKICAgICBib29sIG1faXNMZWdhY3lQbGF5YmluOwotI2lmIFVTRShHU1RSRUFNRVJfUExB
WUJJTjMpCisjaWYgR1NUX0NIRUNLX1ZFUlNJT04oMSwgMTAsIDApCiAgICAgR1JlZlB0cjxHc3RT
dHJlYW1Db2xsZWN0aW9uPiBtX3N0cmVhbUNvbGxlY3Rpb247CiAjZW5kaWYKICAgICBTdHJpbmcg
bV9jdXJyZW50QXVkaW9TdHJlYW1JZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyQmFzZS5oCmluZGV4IGZlNjVlOTMwZTZlYjI1MjQ5MDZkYWYzZWMwMjU1
NTU2OTA1NWViNzguLmE3OTlmMGYyMDg1MzUxYmZhOWU4MDIzMTk1MjQ3MzAxM2YxMGZlNTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaApA
QCAtMjExLDcgKzIxMSw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgVGV4dENoYW5nZWQgPSAxIDw8
IDUsCiAjZW5kaWYKICAgICAgICAgU2l6ZUNoYW5nZWQgPSAxIDw8IDYsCi0jaWYgVVNFKEdTVFJF
QU1FUl9QTEFZQklOMykKKyNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKICAgICAgICAg
U3RyZWFtQ29sbGVjdGlvbkNoYW5nZWQgPSAxIDw8IDcKICNlbmRpZgogICAgIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVHJhY2tQcml2
YXRlQmFzZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lci5jcHAKaW5kZXggZmY0ZWI5NmIzODdi
NjZiY2Y0N2IwMzJhNDEyNWFhNmY5N2FjMGE4NC4uNWY1MTU5ZjRjMTNiNzFiZWFlZDMzZWYzYjEy
MDMyYWZhNDMyODA5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL1RyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9UcmFja1ByaXZhdGVCYXNlR1N0cmVh
bWVyLmNwcApAQCAtNTgsNyArNTgsNyBAQCBUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyOjpUcmFj
a1ByaXZhdGVCYXNlR1N0cmVhbWVyKFRyYWNrUHJpdmF0ZUJhc2UqIG93bmVyLCBnaQogICAgIHRh
Z3NDaGFuZ2VkKCk7CiB9CiAKLSNpZiBVU0UoR1NUUkVBTUVSX1BMQVlCSU4zKQorI2lmIEdTVF9D
SEVDS19WRVJTSU9OKDEsIDEwLCAwKQogVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcjo6VHJhY2tQ
cml2YXRlQmFzZUdTdHJlYW1lcihUcmFja1ByaXZhdGVCYXNlKiBvd25lciwgZ2ludCBpbmRleCwg
R1JlZlB0cjxHc3RTdHJlYW0+IHN0cmVhbSkKICAgICA6IG1fbm90aWZpZXIoTWFpblRocmVhZE5v
dGlmaWVyPE1haW5UaHJlYWROb3RpZmljYXRpb24+OjpjcmVhdGUoKSkKICAgICAsIG1faW5kZXgo
aW5kZXgpCkBAIC04Miw3ICs4Miw3IEBAIHZvaWQgVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcjo6
ZGlzY29ubmVjdCgpCiB7CiAgICAgbV90YWdzLmNsZWFyKCk7CiAKLSNpZiBVU0UoR1NUUkVBTUVS
X1BMQVlCSU4zKQorI2lmIEdTVF9DSEVDS19WRVJTSU9OKDEsIDEwLCAwKQogICAgIGlmIChtX3N0
cmVhbSkKICAgICAgICAgbV9zdHJlYW0uY2xlYXIoKTsKICNlbmRpZgpAQCAtMTE1LDcgKzExNSw3
IEBAIHZvaWQgVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcjo6dGFnc0NoYW5nZWQoKQogICAgICAg
ICBlbHNlCiAgICAgICAgICAgICB0YWdzID0gYWRvcHRHUmVmKGdzdF90YWdfbGlzdF9uZXdfZW1w
dHkoKSk7CiAgICAgfQotI2lmIFVTRShHU1RSRUFNRVJfUExBWUJJTjMpCisjaWYgR1NUX0NIRUNL
X1ZFUlNJT04oMSwgMTAsIDApCiAgICAgZWxzZSBpZiAobV9zdHJlYW0pCiAgICAgICAgIHRhZ3Mg
PSBhZG9wdEdSZWYoZ3N0X3N0cmVhbV9nZXRfdGFncyhtX3N0cmVhbS5nZXQoKSkpOwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
VHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL1RyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXIuaAppbmRleCBkNTQ4NDcy
ZTViM2M2NDdlN2RiZmEwMjI0MTJjNmQxMWE1Zjc4MTFhLi5mMTIxNWMxYjBkMzljMzg3YzJjMGYw
ZWY1YmM1MWIxNmJmZWY0NWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9UcmFja1ByaXZhdGVCYXNlR1N0
cmVhbWVyLmgKQEAgLTU4LDcgKzU4LDcgQEAgcHVibGljOgogCiBwcm90ZWN0ZWQ6CiAgICAgVHJh
Y2tQcml2YXRlQmFzZUdTdHJlYW1lcihUcmFja1ByaXZhdGVCYXNlKiBvd25lciwgZ2ludCBpbmRl
eCwgR1JlZlB0cjxHc3RQYWQ+KTsKLSNpZiBVU0UoR1NUUkVBTUVSX1BMQVlCSU4zKQorI2lmIEdT
VF9DSEVDS19WRVJTSU9OKDEsIDEwLCAwKQogICAgIFRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXIo
VHJhY2tQcml2YXRlQmFzZSogb3duZXIsIGdpbnQgaW5kZXgsIEdSZWZQdHI8R3N0U3RyZWFtPik7
CiAjZW5kaWYKICAgICB2b2lkIG5vdGlmeVRyYWNrT2ZBY3RpdmVDaGFuZ2VkKCk7CkBAIC03Niw3
ICs3Niw3IEBAIHByb3RlY3RlZDoKICAgICBBdG9taWNTdHJpbmcgbV9sYWJlbDsKICAgICBBdG9t
aWNTdHJpbmcgbV9sYW5ndWFnZTsKICAgICBHUmVmUHRyPEdzdFBhZD4gbV9wYWQ7Ci0jaWYgVVNF
KEdTVFJFQU1FUl9QTEFZQklOMykKKyNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKICAg
ICBHUmVmUHRyPEdzdFN0cmVhbT4gbV9zdHJlYW07CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvVHJhY2tQcml2YXRl
R1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9WaWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggNzFhMTQ5MDQ2ZGVlY2QwM2Uz
NjQyMjQyZTU4YTVlOWMyMjk4ZWE0OC4uNzQxNTI0ZTJhMjZkYTQ5ZGE1NjM2NjVhODU5MDNlNzBj
NTM5MjI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL1ZpZGVvVHJhY2tQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9UcmFja1ByaXZhdGVHU3RyZWFtZXIu
Y3BwCkBAIC00Myw3ICs0Myw3IEBAIFZpZGVvVHJhY2tQcml2YXRlR1N0cmVhbWVyOjpWaWRlb1Ry
YWNrUHJpdmF0ZUdTdHJlYW1lcihXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0CiAgICAgbm90aWZ5
VHJhY2tPZkFjdGl2ZUNoYW5nZWQoKTsKIH0KIAotI2lmIFVTRShHU1RSRUFNRVJfUExBWUJJTjMp
CisjaWYgR1NUX0NIRUNLX1ZFUlNJT04oMSwgMTAsIDApCiBWaWRlb1RyYWNrUHJpdmF0ZUdTdHJl
YW1lcjo6VmlkZW9UcmFja1ByaXZhdGVHU3RyZWFtZXIoV2Vha1B0cjxNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXI+IHBsYXllciwgZ2ludCBpbmRleCwgR1JlZlB0cjxHc3RTdHJlYW0+IHN0cmVh
bSkKICAgICA6IFRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXIodGhpcywgaW5kZXgsIHN0cmVhbSkK
ICAgICAsIG1fcGxheWVyKHBsYXllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvVHJhY2tQcml2YXRl
R1N0cmVhbWVyLmgKaW5kZXggYmIxOWQzMTQ3MjBhNDY0YTVmNzA4ZGMzZDVlM2Q3OTdjMjVkMTY2
YS4uMjc0ZTU2OTA5YmM1MzA0ZjI2Nzk4M2ZmMDM4NGRjNDY0NWNhZGY3NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvVHJhY2tQcml2
YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL1ZpZGVvVHJhY2tQcml2YXRlR1N0cmVhbWVyLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVi
bGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVmlkZW9UcmFja1ByaXZh
dGVHU3RyZWFtZXIocGxheWVyLCBpbmRleCwgcGFkKSk7CiAgICAgfQotI2lmIFVTRShHU1RSRUFN
RVJfUExBWUJJTjMpCisjaWYgR1NUX0NIRUNLX1ZFUlNJT04oMSwgMTAsIDApCiAgICAgc3RhdGlj
IFJlZjxWaWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcj4gY3JlYXRlKFdlYWtQdHI8TWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyPiBwbGF5ZXIsIGdpbnQgaW5kZXgsIEdSZWZQdHI8R3N0U3RyZWFt
PiBzdHJlYW0pCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBWaWRlb1RyYWNr
UHJpdmF0ZUdTdHJlYW1lcihwbGF5ZXIsIGluZGV4LCBzdHJlYW0pKTsKQEAgLTY0LDcgKzY0LDcg
QEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIFZpZGVvVHJhY2tQcml2YXRlR1N0cmVhbWVyKFdl
YWtQdHI8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiwgZ2ludCBpbmRleCwgR1JlZlB0cjxH
c3RQYWQ+KTsKLSNpZiBVU0UoR1NUUkVBTUVSX1BMQVlCSU4zKQorI2lmIEdTVF9DSEVDS19WRVJT
SU9OKDEsIDEwLCAwKQogICAgIFZpZGVvVHJhY2tQcml2YXRlR1N0cmVhbWVyKFdlYWtQdHI8TWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiwgZ2ludCBpbmRleCwgR1JlZlB0cjxHc3RTdHJlYW0+
KTsKICNlbmRpZgogICAgIEF0b21pY1N0cmluZyBtX2lkOwpkaWZmIC0tZ2l0IGEvU291cmNlL2Nt
YWtlL0dTdHJlYW1lckRlZmluaXRpb25zLmNtYWtlIGIvU291cmNlL2NtYWtlL0dTdHJlYW1lckRl
ZmluaXRpb25zLmNtYWtlCmluZGV4IDYyYTY5ZDg4YzhlNWE3OTU4M2NmNTU4Y2E5MTFjZDhlMjBm
ZjcyNWMuLjAzOTM4Yzg3NzRlNmZlNzVhMWNlYzYwY2ZjY2ZjZjY3ZWRkYmI0OWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9jbWFrZS9HU3RyZWFtZXJEZWZpbml0aW9ucy5jbWFrZQorKysgYi9Tb3VyY2Uv
Y21ha2UvR1N0cmVhbWVyRGVmaW5pdGlvbnMuY21ha2UKQEAgLTUsNCArNSwzIEBAIFdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9NRURJQV9TT1VSQ0UgUFJJVkFURSBPTikK
IAogV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX0dTVFJFQU1FUl9HTCAiV2hldGhlciB0byBlbmFi
bGUgc3VwcG9ydCBmb3IgR1N0cmVhbWVyIEdMIiBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9E
RUZJTkUoVVNFX0dTVFJFQU1FUl9NUEVHVFMgIldoZXRoZXIgdG8gZW5hYmxlIHN1cHBvcnQgZm9y
IE1QRUctVFMiIFBSSVZBVEUgT0ZGKQotV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX0dTVFJFQU1F
Ul9QTEFZQklOMyAiV2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBmb3IgR1N0cmVhbWVyJ3MgcGxh
eWJpbjMgZWxlbWVudCIgUFJJVkFURSBPRkYpCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFu
Z2VMb2cKaW5kZXggMmIwZjAxZjM2ZTI5ZDVlODI4OWJiODU5YjQ1NGJiNzViZjg1NDExZS4uNjJl
ZmIzNjZiNzE2MDA1MjUzMTJjNGI1NDVmNGU1ZTRhMTQ4N2Y1YSAxMDA2NDQKLS0tIGEvQ2hhbmdl
TG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE4LTA0LTExICBUaGliYXVs
dCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXSBV
c2Ugb2YgcGxheWJpbjMgd2hlbiBVU0VfUExBWUJJTjMgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMg
c2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODQ0
OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlz
IGlzIHRoZSBzYW1lIGJlaGF2aW91ciBhcyB3aXRoIHBsYXliaW4gaXRzZWxmLgorCisgICAgICAg
IE1ha2Ugc3VyZSB0byBrZWVwIHVzaW5nICJwbGF5YmluIiBmb3IgTWVkaWFTb3VyY2UuCisKKyAg
ICAgICAgKiBTb3VyY2UvY21ha2UvR1N0cmVhbWVyRGVmaW5pdGlvbnMuY21ha2U6CisKIDIwMTgt
MDQtMDIgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJl
bW92ZSByZWZlcmVuY2VzIHRvIGludGVybmFsIHZlcnNpb24gb2YgV2ViS2l0UXVhcnR6Q29yZUFk
ZGl0aW9ucyBpbiBDTWFrZSBmaWxlcy4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337714</attachid>
            <date>2018-04-11 10:57:49 -0700</date>
            <delta_ts>2018-04-11 10:59:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184498-20180411145747.patch</filename>
            <type>text/plain</type>
            <size>19423</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwMTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDI1OGIxOTIyNDk4ZDYx
YzI5NjJjNTBiNGI0ODVhZmZiNzg2ODI2ZS4uOTc1ZWMyYTljNjczNGNmYTA4MjA3MGRlZDE1NzMx
ODZkOGRhZDgzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE4LTA0LTExICBUaGli
YXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XSBVc2Ugb2YgcGxheWJpbjMgd2hlbiBVU0VfUExBWUJJTjMgZW52aXJvbm1lbnQgdmFyaWFibGUg
aXMgc2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODQ0OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
R1N0cmVhbWVyXSBVc2Ugb2YgcGxheWJpbjMgd2hlbiBVU0VfUExBWUJJTjMgZW52aXJvbm1lbnQg
dmFyaWFibGUgaXMgc2V0CisKKyAgICAgICAgVGhpcyBpcyB0aGUgc2FtZSBiZWhhdmlvdXIgYXMg
d2l0aCBwbGF5YmluIGl0c2VsZi4KKworICAgICAgICBNYWtlIHN1cmUgdG8ga2VlcCB1c2luZyAi
cGxheWJpbiIgZm9yIE1lZGlhU291cmNlLgorCisgICAgICAgIE5vIHRlc3QgYWRkZWQgYXMgdGhp
cyBpcyBiYXNpY2FsbHkgYSBzbWFsbCByZXdvcmsgb2YgdGhlIHdheSB3ZSBleHBvc2UgYSBmZWF0
dXJlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0F1ZGlvVHJhY2tQ
cml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvQXVkaW9UcmFja1ByaXZhdGVHU3RyZWFtZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvR1JlZlB0ckdTdHJlYW1lci5jcHA6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL0dSZWZQdHJHU3RyZWFtZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lci5jcHA6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0luYmFuZFRleHRUcmFja1By
aXZhdGVHU3RyZWFtZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6OmVuYWJsZVRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6aGFuZGxlTWVzc2FnZSk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZUdTVFBsYXlCaW4pOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9UcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXI6OmRpc2Nvbm5lY3QpOgorICAgICAgICAoV2ViQ29y
ZTo6VHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcjo6dGFnc0NoYW5nZWQpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9UcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvVHJhY2tQcml2YXRlR1N0
cmVhbWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9U
cmFja1ByaXZhdGVHU3RyZWFtZXIuaDoKKwogMjAxOC0wNC0wMiAgQ2FybG9zIEdhcmNpYSBDYW1w
b3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0VuY2hhbnRdIENsZWFuIHVwIFRl
eHRDaGVja2VyRW5jaGFudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL0F1ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9BdWRpb1RyYWNrUHJpdmF0ZUdTdHJl
YW1lci5jcHAKaW5kZXggYTVhMGQ2OGVhZjBiMmFjYmIzMDY1YWVhYmM5Mzg4ODhlYjUwYzNjZi4u
MmU1NGIzYmExZDY5NjgzZjdjYzMwMzJhZmUzMGNjOTQ0NDVhZWM0NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0F1ZGlvVHJhY2tQcml2YXRl
R1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvQXVkaW9UcmFja1ByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC00Myw3ICs0Myw3IEBAIEF1
ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyOjpBdWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcihXZWFr
UHRyPE1lZGlhUGxheWVyUHJpdmF0CiAgICAgbm90aWZ5VHJhY2tPZkFjdGl2ZUNoYW5nZWQoKTsK
IH0KIAotI2lmIFVTRShHU1RSRUFNRVJfUExBWUJJTjMpCisjaWYgR1NUX0NIRUNLX1ZFUlNJT04o
MSwgMTAsIDApCiBBdWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6QXVkaW9UcmFja1ByaXZhdGVH
U3RyZWFtZXIoV2Vha1B0cjxNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI+IHBsYXllciwgZ2lu
dCBpbmRleCwgR1JlZlB0cjxHc3RTdHJlYW0+IHN0cmVhbSkKICAgICA6IFRyYWNrUHJpdmF0ZUJh
c2VHU3RyZWFtZXIodGhpcywgaW5kZXgsIHN0cmVhbSkKICAgICAsIG1fcGxheWVyKHBsYXllcikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9B
dWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL0F1ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyLmgKaW5kZXggM2ZkZDZl
NjhkZTU3NzdjNWU4NjIyZTM3NmZmMDQ3N2Y0MzRiYmFmYS4uMzRlMTk5MGZhYjIwOTExMWMyMDAy
YTJhOTdmZGViZDE3MTVjOTEwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL0F1ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0F1ZGlvVHJhY2tQcml2YXRl
R1N0cmVhbWVyLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBBdWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcihwbGF5ZXIsIGluZGV4LCBwYWQp
KTsKICAgICB9CiAKLSNpZiBVU0UoR1NUUkVBTUVSX1BMQVlCSU4zKQorI2lmIEdTVF9DSEVDS19W
RVJTSU9OKDEsIDEwLCAwKQogICAgIHN0YXRpYyBSZWZQdHI8QXVkaW9UcmFja1ByaXZhdGVHU3Ry
ZWFtZXI+IGNyZWF0ZShXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4gcGxheWVy
LCBnaW50IGluZGV4LCBHUmVmUHRyPEdzdFN0cmVhbT4gc3RyZWFtKQogICAgIHsKICAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgQXVkaW9UcmFja1ByaXZhdGVHU3RyZWFtZXIocGxheWVyLCBp
bmRleCwgc3RyZWFtKSk7CkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAg
ICBBdWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcihXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcj4sIGdpbnQgaW5kZXgsIEdSZWZQdHI8R3N0UGFkPik7Ci0jaWYgVVNFKEdTVFJFQU1F
Ul9QTEFZQklOMykKKyNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKICAgICBBdWRpb1Ry
YWNrUHJpdmF0ZUdTdHJlYW1lcihXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4s
IGdpbnQgaW5kZXgsIEdSZWZQdHI8R3N0U3RyZWFtPik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dSZWZQdHJHU3RyZWFt
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dSZWZQ
dHJHU3RyZWFtZXIuY3BwCmluZGV4IGVlYWVkOGZmNTEyNjBkZjlkMGYwMWM1OGIzODI4NjU5ZDFk
NmVjYmQuLmYxY2JhZDdlMDVkNTRkZjk3ZTA5NWU3MzFiMTA5YTM3MWU1Mzk5Y2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HUmVmUHRyR1N0
cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvR1JlZlB0ckdTdHJlYW1lci5jcHAKQEAgLTM1Myw3ICszNTMsNyBAQCB0ZW1wbGF0ZSA8PiB2
b2lkIGRlcmVmR1B0cjxHc3RRdWVyeT4oR3N0UXVlcnkqIHB0cikKICAgICAgICAgZ3N0X3F1ZXJ5
X3VucmVmKHB0cik7CiB9CiAKLSNpZiBVU0UoR1NUUkVBTUVSX1BMQVlCSU4zKQorI2lmIEdTVF9D
SEVDS19WRVJTSU9OKDEsIDEwLCAwKQogdGVtcGxhdGUgPD4gR1JlZlB0cjxHc3RTdHJlYW0+IGFk
b3B0R1JlZihHc3RTdHJlYW0qIHB0cikKIHsKICAgICBBU1NFUlQoIXB0ciB8fCAhZ19vYmplY3Rf
aXNfZmxvYXRpbmcocHRyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvR1JlZlB0ckdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dSZWZQdHJHU3RyZWFtZXIuaAppbmRleCA4M2JmZGVj
MTI4NTE2NzMzNzc0NTUwY2U0NTJhZGMwYmZhNTg4YjQzLi5iMmRlZTQ3MmQ3MzYyMjljMmJjNTgz
ZDFjZDg1OTk1MWI4NmNhOTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvR1JlZlB0ckdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HUmVmUHRyR1N0cmVhbWVyLmgKQEAgLTIxLDMz
ICsyMSwxMiBAQAogCiAjaWYgVVNFKEdTVFJFQU1FUikKIAorI2luY2x1ZGUgPGdzdC9nc3QuaD4K
ICNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRyLmg+CiAKLXR5cGVkZWYgc3RydWN0IF9Hc3RFbGVt
ZW50IEdzdEVsZW1lbnQ7Ci10eXBlZGVmIHN0cnVjdCBfR3N0UGFkIEdzdFBhZDsKLXR5cGVkZWYg
c3RydWN0IF9Hc3RQYWRUZW1wbGF0ZSBHc3RQYWRUZW1wbGF0ZTsKLXR5cGVkZWYgc3RydWN0IF9H
c3RDYXBzIEdzdENhcHM7Ci10eXBlZGVmIHN0cnVjdCBfR3N0Q29udGV4dCBHc3RDb250ZXh0Owot
dHlwZWRlZiBzdHJ1Y3QgX0dzdFRhc2sgR3N0VGFzazsKLXR5cGVkZWYgc3RydWN0IF9Hc3RCdXMg
R3N0QnVzOwotdHlwZWRlZiBzdHJ1Y3QgX0dzdEVsZW1lbnRGYWN0b3J5IEdzdEVsZW1lbnRGYWN0
b3J5OwotdHlwZWRlZiBzdHJ1Y3QgX0dzdEJ1ZmZlciBHc3RCdWZmZXI7Ci10eXBlZGVmIHN0cnVj
dCBfR3N0QnVmZmVyTGlzdCBHc3RCdWZmZXJMaXN0OwotdHlwZWRlZiBzdHJ1Y3QgX0dzdEJ1ZmZl
clBvb2wgR3N0QnVmZmVyUG9vbDsKLXR5cGVkZWYgc3RydWN0IF9Hc3RTYW1wbGUgR3N0U2FtcGxl
OwotdHlwZWRlZiBzdHJ1Y3QgX0dzdFRhZ0xpc3QgR3N0VGFnTGlzdDsKLXR5cGVkZWYgc3RydWN0
IF9Hc3RFdmVudCBHc3RFdmVudDsKLXR5cGVkZWYgc3RydWN0IF9Hc3RUb2MgR3N0VG9jOwotdHlw
ZWRlZiBzdHJ1Y3QgX0dzdE1lc3NhZ2UgR3N0TWVzc2FnZTsKLXR5cGVkZWYgc3RydWN0IF9Hc3RR
dWVyeSBHc3RRdWVyeTsKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRWaWRlb1NpbmsgV2ViS2l0Vmlk
ZW9TaW5rOwogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFdlYlNyYyBXZWJLaXRXZWJTcmM7CiAKLSNp
ZiBVU0UoR1NUUkVBTUVSX1BMQVlCSU4zKQotdHlwZWRlZiBzdHJ1Y3QgX0dzdFN0cmVhbSBHc3RT
dHJlYW07Ci10eXBlZGVmIHN0cnVjdCBfR3N0U3RyZWFtQ29sbGVjdGlvbiBHc3RTdHJlYW1Db2xs
ZWN0aW9uOwotI2VuZGlmCi0KICNpZiBVU0UoR1NUUkVBTUVSX0dMKQogdHlwZWRlZiBzdHJ1Y3Qg
X0dzdEdMRGlzcGxheSBHc3RHTERpc3BsYXk7CiB0eXBlZGVmIHN0cnVjdCBfR3N0R0xDb250ZXh0
IEdzdEdMQ29udGV4dDsKQEAgLTEzMiw3ICsxMTEsNyBAQCBHUmVmUHRyPFdlYktpdFdlYlNyYz4g
ZW5zdXJlR1JlZihXZWJLaXRXZWJTcmMqIHB0cik7CiB0ZW1wbGF0ZTw+IFdlYktpdFdlYlNyYyog
cmVmR1B0cjxXZWJLaXRXZWJTcmM+KFdlYktpdFdlYlNyYyogcHRyKTsKIHRlbXBsYXRlPD4gdm9p
ZCBkZXJlZkdQdHI8V2ViS2l0V2ViU3JjPihXZWJLaXRXZWJTcmMqIHB0cik7CiAKLSNpZiBVU0Uo
R1NUUkVBTUVSX1BMQVlCSU4zKQorI2lmIEdTVF9DSEVDS19WRVJTSU9OKDEsIDEwLCAwKQogdGVt
cGxhdGU8PiBHUmVmUHRyPEdzdFN0cmVhbT4gYWRvcHRHUmVmKEdzdFN0cmVhbSopOwogdGVtcGxh
dGU8PiBHc3RTdHJlYW0qIHJlZkdQdHI8R3N0U3RyZWFtPihHc3RTdHJlYW0qKTsKIHRlbXBsYXRl
PD4gdm9pZCBkZXJlZkdQdHI8R3N0U3RyZWFtPihHc3RTdHJlYW0qKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbmJhbmRUZXh0VHJhY2tQ
cml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9JbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCAzNGNlODMw
ODk0NTlmNDljMjQzMTkwNDg4NTk1NzBhMzIyZjczZmJiLi5hZDI4NDUyMjIyYzVhYmE1NDExZWYw
ZDMyMDQ0YjQ4Yzk4MDFjMmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0luYmFuZFRleHRU
cmFja1ByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC01OCw3ICs1OCw3IEBAIEluYmFuZFRleHRUcmFj
a1ByaXZhdGVHU3RyZWFtZXI6OkluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIoZ2ludCBp
bmRleCwgR1JlCiAgICAgbm90aWZ5VHJhY2tPZlN0cmVhbUNoYW5nZWQoKTsKIH0KIAotI2lmIFVT
RShHU1RSRUFNRVJfUExBWUJJTjMpCisjaWYgR1NUX0NIRUNLX1ZFUlNJT04oMSwgMTAsIDApCiBJ
bmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyOjpJbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0
cmVhbWVyKGdpbnQgaW5kZXgsIEdSZWZQdHI8R3N0U3RyZWFtPiBzdHJlYW0pCiAgICAgOiBJbmJh
bmRUZXh0VHJhY2tQcml2YXRlKFdlYlZUVCkKICAgICAsIFRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFt
ZXIodGhpcywgaW5kZXgsIHN0cmVhbSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRy
YWNrUHJpdmF0ZUdTdHJlYW1lci5oCmluZGV4IDMyNGEyNzA4YWJmY2QwYzQ4YTRhYTRjZGVkNDY3
NDA2YWU1ZmJkMWUuLmFmN2FhNjM2Y2RhNjBiMTE1ZTYwYzE5OWQ1Y2Q0YjkzYWI1OGEwMzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbmJh
bmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0luYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIuaApA
QCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IElu
YmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIoaW5kZXgsIHBhZCkpOwogICAgIH0KIAotI2lm
IFVTRShHU1RSRUFNRVJfUExBWUJJTjMpCisjaWYgR1NUX0NIRUNLX1ZFUlNJT04oMSwgMTAsIDAp
CiAgICAgc3RhdGljIFJlZjxJbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyPiBjcmVhdGUo
Z2ludCBpbmRleCwgR1JlZlB0cjxHc3RTdHJlYW0+IHN0cmVhbSkKICAgICB7CiAgICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IEluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIoaW5kZXgs
IHN0cmVhbSkpOwpAQCAtNjMsNyArNjMsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgSW5i
YW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcihnaW50IGluZGV4LCBHUmVmUHRyPEdzdFBhZD4p
OwotI2lmIFVTRShHU1RSRUFNRVJfUExBWUJJTjMpCisjaWYgR1NUX0NIRUNLX1ZFUlNJT04oMSwg
MTAsIDApCiAgICAgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcihnaW50IGluZGV4LCBH
UmVmUHRyPEdzdFN0cmVhbT4pOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggMWFjYjI4YmRjMTY0OGJhZTU1ZjQ5ZjQxOWUw
NDNhM2FhNmZiOGMwYi4uMzQxNTU0M2Y4NDZkNTJlMDRlOTBhMjg3YzMzOTJiZmVmN2U1YmVkZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAg
LTI1Miw3ICsyNTIsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bG9hZChj
b25zdCBTdHJpbmcmIHVybFN0cmluZykKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFtX3Bp
cGVsaW5lKQotICAgICAgICBjcmVhdGVHU1RQbGF5QmluKCk7CisgICAgICAgIGNyZWF0ZUdTVFBs
YXlCaW4oaXNNZWRpYVNvdXJjZSgpID8gInBsYXliaW4iIDogbnVsbHB0cik7CiAKICAgICBpZiAo
bV9maWxsVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV9maWxsVGltZXIuc3RvcCgpOwpAQCAt
NjIxLDcgKzYyMSw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZWVraW5n
KCkgY29uc3QKICAgICByZXR1cm4gbV9zZWVraW5nOwogfQogCi0jaWYgVVNFKEdTVFJFQU1FUl9Q
TEFZQklOMykKKyNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVUcmFja3MoKQogewogICAgIEFTU0VSVCghbV9pc0xl
Z2FjeVBsYXliaW4pOwpAQCAtNzU1LDcgKzc1NSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyOjplbmFibGVUcmFjayhUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyOjpUcmFja1R5
CiAgICAgICAgIEdzdEVsZW1lbnQqIGVsZW1lbnQgPSBpc01lZGlhU291cmNlKCkgPyBtX3NvdXJj
ZS5nZXQoKSA6IG1fcGlwZWxpbmUuZ2V0KCk7CiAgICAgICAgIGdfb2JqZWN0X3NldChlbGVtZW50
LCBwcm9wZXJ0eU5hbWUsIGluZGV4LCBudWxscHRyKTsKICAgICB9Ci0jaWYgVVNFKEdTVFJFQU1F
Ul9QTEFZQklOMykKKyNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKICAgICBlbHNlIHsK
ICAgICAgICAgR3N0U3RyZWFtKiBzdHJlYW0gPSBnc3Rfc3RyZWFtX2NvbGxlY3Rpb25fZ2V0X3N0
cmVhbShtX3N0cmVhbUNvbGxlY3Rpb24uZ2V0KCksIGluZGV4KTsKICAgICAgICAgaWYgKHN0cmVh
bSkgewpAQCAtMTI4MCw3ICsxMjgwLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6OmhhbmRsZU1lc3NhZ2UoR3N0TWVzc2FnZSogbWVzc2FnZSkKICAgICAgICAgZ3N0X3RhZ19s
aXN0X3VucmVmKHRhZ3MpOwogICAgICAgICBicmVhazsKICAgICB9Ci0jaWYgVVNFKEdTVFJFQU1F
Ul9QTEFZQklOMykKKyNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKICAgICBjYXNlIEdT
VF9NRVNTQUdFX1NUUkVBTV9DT0xMRUNUSU9OOiB7CiAgICAgICAgIEdSZWZQdHI8R3N0U3RyZWFt
Q29sbGVjdGlvbj4gY29sbGVjdGlvbjsKICAgICAgICAgZ3N0X21lc3NhZ2VfcGFyc2Vfc3RyZWFt
X2NvbGxlY3Rpb24obWVzc2FnZSwgJmNvbGxlY3Rpb24ub3V0UHRyKCkpOwpAQCAtMjM5OSwxOSAr
MjM5OSwzOSBAQCBBdWRpb1NvdXJjZVByb3ZpZGVyKiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6OmF1ZGlvU291cmNlUHJvdmlkZXIoKQogfQogI2VuZGlmCiAKLXZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyOjpjcmVhdGVHU1RQbGF5QmluKCkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyOjpjcmVhdGVHU1RQbGF5QmluKGNvbnN0IGdjaGFyKiBwbGF5YmluTmFtZSkK
IHsKKyAgICBpZiAobV9waXBlbGluZSkgeworICAgICAgICBpZiAoIXBsYXliaW5OYW1lKSB7Cisg
ICAgICAgICAgICBHU1RfSU5GT19PQkpFQ1QocGlwZWxpbmUoKSwgIktlZXBpbmcgc2FtZSBwbGF5
YmluIGFzIG5vdGhpbmcgZm9yY2VkIik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KworICAgICAgICBpZiAoIWdfc3RyY21wMChHU1RfT0JKRUNUX05BTUUoZ3N0X2VsZW1lbnRfZ2V0
X2ZhY3RvcnkobV9waXBlbGluZS5nZXQoKSkpLCBwbGF5YmluTmFtZSkpIHsKKyAgICAgICAgICAg
IEdTVF9JTkZPX09CSkVDVChwaXBlbGluZSgpLCAiQWxyZWFkeSB1c2luZyAlcyIsIHBsYXliaW5O
YW1lKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIEdTVF9JTkZP
X09CSkVDVChwaXBlbGluZSgpLCAiVGVhcmluZyBkb3duIGFzIHdlIG5lZWQgdG8gdXNlICVzIG5v
dy4iLAorICAgICAgICAgICAgcGxheWJpbk5hbWUpOworICAgICAgICBjaGFuZ2VQaXBlbGluZVN0
YXRlKEdTVF9TVEFURV9OVUxMKTsKKyAgICAgICAgbV9waXBlbGluZSA9IG51bGxwdHI7CisgICAg
fQorCiAgICAgQVNTRVJUKCFtX3BpcGVsaW5lKTsKIAorI2lmIEdTVF9DSEVDS19WRVJTSU9OKDEs
IDEwLCAwKQorICAgIG1faXNMZWdhY3lQbGF5YmluID0gIWdfZ2V0ZW52KCJVU0VfUExBWUJJTjMi
KTsKKyAgICBpZiAoIW1faXNMZWdhY3lQbGF5YmluKQorICAgICAgICBwbGF5YmluTmFtZSA9ICJw
bGF5YmluMyI7CisjZW5kaWYKKworICAgIGlmICghcGxheWJpbk5hbWUpCisgICAgICAgIHBsYXli
aW5OYW1lID0gInBsYXliaW4iOworCiAgICAgLy8gZ3N0X2VsZW1lbnRfZmFjdG9yeV9tYWtlKCkg
cmV0dXJucyBhIGZsb2F0aW5nIHJlZmVyZW5jZSBzbwogICAgIC8vIHdlIHNob3VsZCBub3QgYWRv
cHQuCi0jaWYgVVNFKEdTVFJFQU1FUl9QTEFZQklOMykKLSAgICBtX2lzTGVnYWN5UGxheWJpbiA9
IGZhbHNlOwotICAgIHNldFBpcGVsaW5lKGdzdF9lbGVtZW50X2ZhY3RvcnlfbWFrZSgicGxheWJp
bjMiLCAicGxheSIpKTsKLSNlbHNlCi0gICAgbV9pc0xlZ2FjeVBsYXliaW4gPSB0cnVlOwotICAg
IHNldFBpcGVsaW5lKGdzdF9lbGVtZW50X2ZhY3RvcnlfbWFrZSgicGxheWJpbiIsICJwbGF5Iikp
OwotI2VuZGlmCisgICAgc2V0UGlwZWxpbmUoZ3N0X2VsZW1lbnRfZmFjdG9yeV9tYWtlKHBsYXli
aW5OYW1lLCAicGxheSIpKTsKICAgICBzZXRTdHJlYW1Wb2x1bWVFbGVtZW50KEdTVF9TVFJFQU1f
Vk9MVU1FKG1fcGlwZWxpbmUuZ2V0KCkpKTsKIAogICAgIEdTVF9JTkZPKCJVc2luZyBsZWdhY3kg
cGxheWJpbiBlbGVtZW50OiAlcyIsIGJvb2xGb3JQcmludGluZyhtX2lzTGVnYWN5UGxheWJpbikp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCmluZGV4IDM2
ODcwNDgwZmY2NGQ3Mjc1NjQzNWY1YzQ5ZTdiMDE5YjVjMzQ4MjcuLjg0ZDFkNzYwODQ3MTE5MDhm
ODE4ZDM1YWRmNjlhOTE2ZGI1MGI3OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyLmgKQEAgLTE0Niw3ICsxNDYsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgdm9pZCB1cGRhdGVTdGF0ZXMoKTsKICAgICB2aXJ0dWFsIHZvaWQgYXN5bmNTdGF0ZUNoYW5n
ZURvbmUoKTsKIAotICAgIHZvaWQgY3JlYXRlR1NUUGxheUJpbigpOworICAgIHZvaWQgY3JlYXRl
R1NUUGxheUJpbihjb25zdCBnY2hhciAqcGxheWJpbl9uYW1lKTsKIAogICAgIGJvb2wgbG9hZE5l
eHRMb2NhdGlvbigpOwogICAgIHZvaWQgbWVkaWFMb2NhdGlvbkNoYW5nZWQoR3N0TWVzc2FnZSop
OwpAQCAtMTc4LDcgKzE3OCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNldFBsYXliaW5VUkwo
Y29uc3QgVVJMJiB1cmxTdHJpbmcpOwogCi0jaWYgVVNFKEdTVFJFQU1FUl9QTEFZQklOMykKKyNp
ZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKICAgICB2b2lkIHVwZGF0ZVRyYWNrcygpOwog
I2VuZGlmCiAKQEAgLTI1Nyw3ICsyNTcsNyBAQCBwcml2YXRlOgogICAgIFVSTCBtX3VybDsKICAg
ICBib29sIG1fcHJlc2VydmVzUGl0Y2g7CiAgICAgYm9vbCBtX2lzTGVnYWN5UGxheWJpbjsKLSNp
ZiBVU0UoR1NUUkVBTUVSX1BMQVlCSU4zKQorI2lmIEdTVF9DSEVDS19WRVJTSU9OKDEsIDEwLCAw
KQogICAgIEdSZWZQdHI8R3N0U3RyZWFtQ29sbGVjdGlvbj4gbV9zdHJlYW1Db2xsZWN0aW9uOwog
I2VuZGlmCiAgICAgU3RyaW5nIG1fY3VycmVudEF1ZGlvU3RyZWFtSWQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaAppbmRleCBmZTY1ZTkzMGU2
ZWIyNTI0OTA2ZGFmM2VjMDI1NTU1NjkwNTVlYjc4Li5hNzk5ZjBmMjA4NTM1MWJmYTllODAyMzE5
NTI0NzMwMTNmMTBmZTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlLmgKQEAgLTIxMSw3ICsyMTEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAg
IFRleHRDaGFuZ2VkID0gMSA8PCA1LAogI2VuZGlmCiAgICAgICAgIFNpemVDaGFuZ2VkID0gMSA8
PCA2LAotI2lmIFVTRShHU1RSRUFNRVJfUExBWUJJTjMpCisjaWYgR1NUX0NIRUNLX1ZFUlNJT04o
MSwgMTAsIDApCiAgICAgICAgIFN0cmVhbUNvbGxlY3Rpb25DaGFuZ2VkID0gMSA8PCA3CiAjZW5k
aWYKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL1RyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1RyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXIuY3Bw
CmluZGV4IGZmNGViOTZiMzg3YjY2YmNmNDdiMDMyYTQxMjVhYTZmOTdhYzBhODQuLjVmNTE1OWY0
YzEzYjcxYmVhZWQzM2VmM2IxMjAzMmFmYTQzMjgwOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9UcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVHJh
Y2tQcml2YXRlQmFzZUdTdHJlYW1lci5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgVHJhY2tQcml2YXRl
QmFzZUdTdHJlYW1lcjo6VHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcihUcmFja1ByaXZhdGVCYXNl
KiBvd25lciwgZ2kKICAgICB0YWdzQ2hhbmdlZCgpOwogfQogCi0jaWYgVVNFKEdTVFJFQU1FUl9Q
TEFZQklOMykKKyNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKIFRyYWNrUHJpdmF0ZUJh
c2VHU3RyZWFtZXI6OlRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXIoVHJhY2tQcml2YXRlQmFzZSog
b3duZXIsIGdpbnQgaW5kZXgsIEdSZWZQdHI8R3N0U3RyZWFtPiBzdHJlYW0pCiAgICAgOiBtX25v
dGlmaWVyKE1haW5UaHJlYWROb3RpZmllcjxNYWluVGhyZWFkTm90aWZpY2F0aW9uPjo6Y3JlYXRl
KCkpCiAgICAgLCBtX2luZGV4KGluZGV4KQpAQCAtODIsNyArODIsNyBAQCB2b2lkIFRyYWNrUHJp
dmF0ZUJhc2VHU3RyZWFtZXI6OmRpc2Nvbm5lY3QoKQogewogICAgIG1fdGFncy5jbGVhcigpOwog
Ci0jaWYgVVNFKEdTVFJFQU1FUl9QTEFZQklOMykKKyNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAx
MCwgMCkKICAgICBpZiAobV9zdHJlYW0pCiAgICAgICAgIG1fc3RyZWFtLmNsZWFyKCk7CiAjZW5k
aWYKQEAgLTExNSw3ICsxMTUsNyBAQCB2b2lkIFRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXI6OnRh
Z3NDaGFuZ2VkKCkKICAgICAgICAgZWxzZQogICAgICAgICAgICAgdGFncyA9IGFkb3B0R1JlZihn
c3RfdGFnX2xpc3RfbmV3X2VtcHR5KCkpOwogICAgIH0KLSNpZiBVU0UoR1NUUkVBTUVSX1BMQVlC
SU4zKQorI2lmIEdTVF9DSEVDS19WRVJTSU9OKDEsIDEwLCAwKQogICAgIGVsc2UgaWYgKG1fc3Ry
ZWFtKQogICAgICAgICB0YWdzID0gYWRvcHRHUmVmKGdzdF9zdHJlYW1fZ2V0X3RhZ3MobV9zdHJl
YW0uZ2V0KCkpKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL1RyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9UcmFja1ByaXZhdGVCYXNlR1N0cmVh
bWVyLmgKaW5kZXggZDU0ODQ3MmU1YjNjNjQ3ZTdkYmZhMDIyNDEyYzZkMTFhNWY3ODExYS4uZjEy
MTVjMWIwZDM5YzM4N2MyYzBmMGVmNWJjNTFiMTZiZmVmNDVjOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1RyYWNrUHJpdmF0ZUJhc2VHU3Ry
ZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
VHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lci5oCkBAIC01OCw3ICs1OCw3IEBAIHB1YmxpYzoKIAog
cHJvdGVjdGVkOgogICAgIFRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXIoVHJhY2tQcml2YXRlQmFz
ZSogb3duZXIsIGdpbnQgaW5kZXgsIEdSZWZQdHI8R3N0UGFkPik7Ci0jaWYgVVNFKEdTVFJFQU1F
Ul9QTEFZQklOMykKKyNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKICAgICBUcmFja1By
aXZhdGVCYXNlR1N0cmVhbWVyKFRyYWNrUHJpdmF0ZUJhc2UqIG93bmVyLCBnaW50IGluZGV4LCBH
UmVmUHRyPEdzdFN0cmVhbT4pOwogI2VuZGlmCiAgICAgdm9pZCBub3RpZnlUcmFja09mQWN0aXZl
Q2hhbmdlZCgpOwpAQCAtNzYsNyArNzYsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgQXRvbWljU3RyaW5n
IG1fbGFiZWw7CiAgICAgQXRvbWljU3RyaW5nIG1fbGFuZ3VhZ2U7CiAgICAgR1JlZlB0cjxHc3RQ
YWQ+IG1fcGFkOwotI2lmIFVTRShHU1RSRUFNRVJfUExBWUJJTjMpCisjaWYgR1NUX0NIRUNLX1ZF
UlNJT04oMSwgMTAsIDApCiAgICAgR1JlZlB0cjxHc3RTdHJlYW0+IG1fc3RyZWFtOwogI2VuZGlm
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9WaWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9UcmFja1ByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4
IDcxYTE0OTA0NmRlZWNkMDNlMzY0MjI0MmU1OGE1ZTljMjI5OGVhNDguLjc0MTUyNGUyYTI2ZGE0
OWRhNTYzNjY1YTg1OTAzZTcwYzUzOTIyNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvVHJh
Y2tQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtNDMsNyArNDMsNyBAQCBWaWRlb1RyYWNrUHJpdmF0
ZUdTdHJlYW1lcjo6VmlkZW9UcmFja1ByaXZhdGVHU3RyZWFtZXIoV2Vha1B0cjxNZWRpYVBsYXll
clByaXZhdAogICAgIG5vdGlmeVRyYWNrT2ZBY3RpdmVDaGFuZ2VkKCk7CiB9CiAKLSNpZiBVU0Uo
R1NUUkVBTUVSX1BMQVlCSU4zKQorI2lmIEdTVF9DSEVDS19WRVJTSU9OKDEsIDEwLCAwKQogVmlk
ZW9UcmFja1ByaXZhdGVHU3RyZWFtZXI6OlZpZGVvVHJhY2tQcml2YXRlR1N0cmVhbWVyKFdlYWtQ
dHI8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiBwbGF5ZXIsIGdpbnQgaW5kZXgsIEdSZWZQ
dHI8R3N0U3RyZWFtPiBzdHJlYW0pCiAgICAgOiBUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyKHRo
aXMsIGluZGV4LCBzdHJlYW0pCiAgICAgLCBtX3BsYXllcihwbGF5ZXIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9UcmFja1ByaXZh
dGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9WaWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lci5oCmluZGV4IGJiMTlkMzE0NzIwYTQ2NGE1Zjcw
OGRjM2Q1ZTNkNzk3YzI1ZDE2NmEuLjI3NGU1NjkwOWJjNTMwNGYyNjc5ODNmZjAzODRkYzQ2NDVj
YWRmNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9WaWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lci5oCkBA
IC00Myw3ICs0Myw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFZpZGVvVHJhY2tQcml2YXRlR1N0cmVhbWVyKHBsYXllciwgaW5kZXgsIHBhZCkpOwogICAg
IH0KLSNpZiBVU0UoR1NUUkVBTUVSX1BMQVlCSU4zKQorI2lmIEdTVF9DSEVDS19WRVJTSU9OKDEs
IDEwLCAwKQogICAgIHN0YXRpYyBSZWY8VmlkZW9UcmFja1ByaXZhdGVHU3RyZWFtZXI+IGNyZWF0
ZShXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4gcGxheWVyLCBnaW50IGluZGV4
LCBHUmVmUHRyPEdzdFN0cmVhbT4gc3RyZWFtKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgVmlkZW9UcmFja1ByaXZhdGVHU3RyZWFtZXIocGxheWVyLCBpbmRleCwgc3RyZWFt
KSk7CkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBWaWRlb1RyYWNr
UHJpdmF0ZUdTdHJlYW1lcihXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4sIGdp
bnQgaW5kZXgsIEdSZWZQdHI8R3N0UGFkPik7Ci0jaWYgVVNFKEdTVFJFQU1FUl9QTEFZQklOMykK
KyNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKICAgICBWaWRlb1RyYWNrUHJpdmF0ZUdT
dHJlYW1lcihXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4sIGdpbnQgaW5kZXgs
IEdSZWZQdHI8R3N0U3RyZWFtPik7CiAjZW5kaWYKICAgICBBdG9taWNTdHJpbmcgbV9pZDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9HU3RyZWFtZXJEZWZpbml0aW9ucy5jbWFrZSBiL1NvdXJj
ZS9jbWFrZS9HU3RyZWFtZXJEZWZpbml0aW9ucy5jbWFrZQppbmRleCA2MmE2OWQ4OGM4ZTVhNzk1
ODNjZjU1OGNhOTExY2Q4ZTIwZmY3MjVjLi4wMzkzOGM4Nzc0ZTZmZTc1YTFjZWM2MGNmY2NmY2Y2
N2VkZGJiNDljIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvR1N0cmVhbWVyRGVmaW5pdGlvbnMu
Y21ha2UKKysrIGIvU291cmNlL2NtYWtlL0dTdHJlYW1lckRlZmluaXRpb25zLmNtYWtlCkBAIC01
LDQgKzUsMyBAQCBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTUVESUFf
U09VUkNFIFBSSVZBVEUgT04pCiAKIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9HU1RSRUFNRVJf
R0wgIldoZXRoZXIgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIEdTdHJlYW1lciBHTCIgUFJJVkFURSBP
TikKIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9HU1RSRUFNRVJfTVBFR1RTICJXaGV0aGVyIHRv
IGVuYWJsZSBzdXBwb3J0IGZvciBNUEVHLVRTIiBQUklWQVRFIE9GRikKLVdFQktJVF9PUFRJT05f
REVGSU5FKFVTRV9HU1RSRUFNRVJfUExBWUJJTjMgIldoZXRoZXIgdG8gZW5hYmxlIHN1cHBvcnQg
Zm9yIEdTdHJlYW1lcidzIHBsYXliaW4zIGVsZW1lbnQiIFBSSVZBVEUgT0ZGKQpkaWZmIC0tZ2l0
IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDJiMGYwMWYzNmUyOWQ1ZTgyODliYjg1OWI0
NTRiYjc1YmY4NTQxMWUuLjYyZWZiMzY2YjcxNjAwNTI1MzEyYzRiNTQ1ZjRlNWU0YTE0ODdmNWEg
MTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAor
MjAxOC0wNC0xMSAgVGhpYmF1bHQgU2F1bmllciAgPHRzYXVuaWVyQGlnYWxpYS5jb20+CisKKyAg
ICAgICAgW0dTdHJlYW1lcl0gVXNlIG9mIHBsYXliaW4zIHdoZW4gVVNFX1BMQVlCSU4zIGVudmly
b25tZW50IHZhcmlhYmxlIGlzIHNldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTg0NDk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBpcyB0aGUgc2FtZSBiZWhhdmlvdXIgYXMgd2l0aCBwbGF5Ymlu
IGl0c2VsZi4KKworICAgICAgICBNYWtlIHN1cmUgdG8ga2VlcCB1c2luZyAicGxheWJpbiIgZm9y
IE1lZGlhU291cmNlLgorCisgICAgICAgICogU291cmNlL2NtYWtlL0dTdHJlYW1lckRlZmluaXRp
b25zLmNtYWtlOgorCiAyMDE4LTA0LTAyICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZW1vdmUgcmVmZXJlbmNlcyB0byBpbnRlcm5hbCB2ZXJzaW9uIG9m
IFdlYktpdFF1YXJ0ekNvcmVBZGRpdGlvbnMgaW4gQ01ha2UgZmlsZXMuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337715</attachid>
            <date>2018-04-11 10:59:10 -0700</date>
            <delta_ts>2018-04-11 11:33:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184498-20180411145909.patch</filename>
            <type>text/plain</type>
            <size>19422</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwMTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDI1OGIxOTIyNDk4ZDYx
YzI5NjJjNTBiNGI0ODVhZmZiNzg2ODI2ZS4uOTc1ZWMyYTljNjczNGNmYTA4MjA3MGRlZDE1NzMx
ODZkOGRhZDgzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE4LTA0LTExICBUaGli
YXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XSBVc2Ugb2YgcGxheWJpbjMgd2hlbiBVU0VfUExBWUJJTjMgZW52aXJvbm1lbnQgdmFyaWFibGUg
aXMgc2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODQ0OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
R1N0cmVhbWVyXSBVc2Ugb2YgcGxheWJpbjMgd2hlbiBVU0VfUExBWUJJTjMgZW52aXJvbm1lbnQg
dmFyaWFibGUgaXMgc2V0CisKKyAgICAgICAgVGhpcyBpcyB0aGUgc2FtZSBiZWhhdmlvdXIgYXMg
d2l0aCBwbGF5YmluIGl0c2VsZi4KKworICAgICAgICBNYWtlIHN1cmUgdG8ga2VlcCB1c2luZyAi
cGxheWJpbiIgZm9yIE1lZGlhU291cmNlLgorCisgICAgICAgIE5vIHRlc3QgYWRkZWQgYXMgdGhp
cyBpcyBiYXNpY2FsbHkgYSBzbWFsbCByZXdvcmsgb2YgdGhlIHdheSB3ZSBleHBvc2UgYSBmZWF0
dXJlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0F1ZGlvVHJhY2tQ
cml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvQXVkaW9UcmFja1ByaXZhdGVHU3RyZWFtZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvR1JlZlB0ckdTdHJlYW1lci5jcHA6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL0dSZWZQdHJHU3RyZWFtZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lci5jcHA6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0luYmFuZFRleHRUcmFja1By
aXZhdGVHU3RyZWFtZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6OmVuYWJsZVRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6aGFuZGxlTWVzc2FnZSk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZUdTVFBsYXlCaW4pOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9UcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXI6OmRpc2Nvbm5lY3QpOgorICAgICAgICAoV2ViQ29y
ZTo6VHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcjo6dGFnc0NoYW5nZWQpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9UcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvVHJhY2tQcml2YXRlR1N0
cmVhbWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9U
cmFja1ByaXZhdGVHU3RyZWFtZXIuaDoKKwogMjAxOC0wNC0wMiAgQ2FybG9zIEdhcmNpYSBDYW1w
b3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0VuY2hhbnRdIENsZWFuIHVwIFRl
eHRDaGVja2VyRW5jaGFudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL0F1ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9BdWRpb1RyYWNrUHJpdmF0ZUdTdHJl
YW1lci5jcHAKaW5kZXggYTVhMGQ2OGVhZjBiMmFjYmIzMDY1YWVhYmM5Mzg4ODhlYjUwYzNjZi4u
MmU1NGIzYmExZDY5NjgzZjdjYzMwMzJhZmUzMGNjOTQ0NDVhZWM0NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0F1ZGlvVHJhY2tQcml2YXRl
R1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvQXVkaW9UcmFja1ByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC00Myw3ICs0Myw3IEBAIEF1
ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyOjpBdWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcihXZWFr
UHRyPE1lZGlhUGxheWVyUHJpdmF0CiAgICAgbm90aWZ5VHJhY2tPZkFjdGl2ZUNoYW5nZWQoKTsK
IH0KIAotI2lmIFVTRShHU1RSRUFNRVJfUExBWUJJTjMpCisjaWYgR1NUX0NIRUNLX1ZFUlNJT04o
MSwgMTAsIDApCiBBdWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6QXVkaW9UcmFja1ByaXZhdGVH
U3RyZWFtZXIoV2Vha1B0cjxNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI+IHBsYXllciwgZ2lu
dCBpbmRleCwgR1JlZlB0cjxHc3RTdHJlYW0+IHN0cmVhbSkKICAgICA6IFRyYWNrUHJpdmF0ZUJh
c2VHU3RyZWFtZXIodGhpcywgaW5kZXgsIHN0cmVhbSkKICAgICAsIG1fcGxheWVyKHBsYXllcikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9B
dWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL0F1ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyLmgKaW5kZXggM2ZkZDZl
NjhkZTU3NzdjNWU4NjIyZTM3NmZmMDQ3N2Y0MzRiYmFmYS4uMzRlMTk5MGZhYjIwOTExMWMyMDAy
YTJhOTdmZGViZDE3MTVjOTEwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL0F1ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0F1ZGlvVHJhY2tQcml2YXRl
R1N0cmVhbWVyLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBBdWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcihwbGF5ZXIsIGluZGV4LCBwYWQp
KTsKICAgICB9CiAKLSNpZiBVU0UoR1NUUkVBTUVSX1BMQVlCSU4zKQorI2lmIEdTVF9DSEVDS19W
RVJTSU9OKDEsIDEwLCAwKQogICAgIHN0YXRpYyBSZWZQdHI8QXVkaW9UcmFja1ByaXZhdGVHU3Ry
ZWFtZXI+IGNyZWF0ZShXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4gcGxheWVy
LCBnaW50IGluZGV4LCBHUmVmUHRyPEdzdFN0cmVhbT4gc3RyZWFtKQogICAgIHsKICAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgQXVkaW9UcmFja1ByaXZhdGVHU3RyZWFtZXIocGxheWVyLCBp
bmRleCwgc3RyZWFtKSk7CkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAg
ICBBdWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcihXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcj4sIGdpbnQgaW5kZXgsIEdSZWZQdHI8R3N0UGFkPik7Ci0jaWYgVVNFKEdTVFJFQU1F
Ul9QTEFZQklOMykKKyNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKICAgICBBdWRpb1Ry
YWNrUHJpdmF0ZUdTdHJlYW1lcihXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4s
IGdpbnQgaW5kZXgsIEdSZWZQdHI8R3N0U3RyZWFtPik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dSZWZQdHJHU3RyZWFt
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dSZWZQ
dHJHU3RyZWFtZXIuY3BwCmluZGV4IGVlYWVkOGZmNTEyNjBkZjlkMGYwMWM1OGIzODI4NjU5ZDFk
NmVjYmQuLmYxY2JhZDdlMDVkNTRkZjk3ZTA5NWU3MzFiMTA5YTM3MWU1Mzk5Y2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HUmVmUHRyR1N0
cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvR1JlZlB0ckdTdHJlYW1lci5jcHAKQEAgLTM1Myw3ICszNTMsNyBAQCB0ZW1wbGF0ZSA8PiB2
b2lkIGRlcmVmR1B0cjxHc3RRdWVyeT4oR3N0UXVlcnkqIHB0cikKICAgICAgICAgZ3N0X3F1ZXJ5
X3VucmVmKHB0cik7CiB9CiAKLSNpZiBVU0UoR1NUUkVBTUVSX1BMQVlCSU4zKQorI2lmIEdTVF9D
SEVDS19WRVJTSU9OKDEsIDEwLCAwKQogdGVtcGxhdGUgPD4gR1JlZlB0cjxHc3RTdHJlYW0+IGFk
b3B0R1JlZihHc3RTdHJlYW0qIHB0cikKIHsKICAgICBBU1NFUlQoIXB0ciB8fCAhZ19vYmplY3Rf
aXNfZmxvYXRpbmcocHRyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvR1JlZlB0ckdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dSZWZQdHJHU3RyZWFtZXIuaAppbmRleCA4M2JmZGVj
MTI4NTE2NzMzNzc0NTUwY2U0NTJhZGMwYmZhNTg4YjQzLi5iMmRlZTQ3MmQ3MzYyMjljMmJjNTgz
ZDFjZDg1OTk1MWI4NmNhOTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvR1JlZlB0ckdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HUmVmUHRyR1N0cmVhbWVyLmgKQEAgLTIxLDMz
ICsyMSwxMiBAQAogCiAjaWYgVVNFKEdTVFJFQU1FUikKIAorI2luY2x1ZGUgPGdzdC9nc3QuaD4K
ICNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRyLmg+CiAKLXR5cGVkZWYgc3RydWN0IF9Hc3RFbGVt
ZW50IEdzdEVsZW1lbnQ7Ci10eXBlZGVmIHN0cnVjdCBfR3N0UGFkIEdzdFBhZDsKLXR5cGVkZWYg
c3RydWN0IF9Hc3RQYWRUZW1wbGF0ZSBHc3RQYWRUZW1wbGF0ZTsKLXR5cGVkZWYgc3RydWN0IF9H
c3RDYXBzIEdzdENhcHM7Ci10eXBlZGVmIHN0cnVjdCBfR3N0Q29udGV4dCBHc3RDb250ZXh0Owot
dHlwZWRlZiBzdHJ1Y3QgX0dzdFRhc2sgR3N0VGFzazsKLXR5cGVkZWYgc3RydWN0IF9Hc3RCdXMg
R3N0QnVzOwotdHlwZWRlZiBzdHJ1Y3QgX0dzdEVsZW1lbnRGYWN0b3J5IEdzdEVsZW1lbnRGYWN0
b3J5OwotdHlwZWRlZiBzdHJ1Y3QgX0dzdEJ1ZmZlciBHc3RCdWZmZXI7Ci10eXBlZGVmIHN0cnVj
dCBfR3N0QnVmZmVyTGlzdCBHc3RCdWZmZXJMaXN0OwotdHlwZWRlZiBzdHJ1Y3QgX0dzdEJ1ZmZl
clBvb2wgR3N0QnVmZmVyUG9vbDsKLXR5cGVkZWYgc3RydWN0IF9Hc3RTYW1wbGUgR3N0U2FtcGxl
OwotdHlwZWRlZiBzdHJ1Y3QgX0dzdFRhZ0xpc3QgR3N0VGFnTGlzdDsKLXR5cGVkZWYgc3RydWN0
IF9Hc3RFdmVudCBHc3RFdmVudDsKLXR5cGVkZWYgc3RydWN0IF9Hc3RUb2MgR3N0VG9jOwotdHlw
ZWRlZiBzdHJ1Y3QgX0dzdE1lc3NhZ2UgR3N0TWVzc2FnZTsKLXR5cGVkZWYgc3RydWN0IF9Hc3RR
dWVyeSBHc3RRdWVyeTsKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRWaWRlb1NpbmsgV2ViS2l0Vmlk
ZW9TaW5rOwogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFdlYlNyYyBXZWJLaXRXZWJTcmM7CiAKLSNp
ZiBVU0UoR1NUUkVBTUVSX1BMQVlCSU4zKQotdHlwZWRlZiBzdHJ1Y3QgX0dzdFN0cmVhbSBHc3RT
dHJlYW07Ci10eXBlZGVmIHN0cnVjdCBfR3N0U3RyZWFtQ29sbGVjdGlvbiBHc3RTdHJlYW1Db2xs
ZWN0aW9uOwotI2VuZGlmCi0KICNpZiBVU0UoR1NUUkVBTUVSX0dMKQogdHlwZWRlZiBzdHJ1Y3Qg
X0dzdEdMRGlzcGxheSBHc3RHTERpc3BsYXk7CiB0eXBlZGVmIHN0cnVjdCBfR3N0R0xDb250ZXh0
IEdzdEdMQ29udGV4dDsKQEAgLTEzMiw3ICsxMTEsNyBAQCBHUmVmUHRyPFdlYktpdFdlYlNyYz4g
ZW5zdXJlR1JlZihXZWJLaXRXZWJTcmMqIHB0cik7CiB0ZW1wbGF0ZTw+IFdlYktpdFdlYlNyYyog
cmVmR1B0cjxXZWJLaXRXZWJTcmM+KFdlYktpdFdlYlNyYyogcHRyKTsKIHRlbXBsYXRlPD4gdm9p
ZCBkZXJlZkdQdHI8V2ViS2l0V2ViU3JjPihXZWJLaXRXZWJTcmMqIHB0cik7CiAKLSNpZiBVU0Uo
R1NUUkVBTUVSX1BMQVlCSU4zKQorI2lmIEdTVF9DSEVDS19WRVJTSU9OKDEsIDEwLCAwKQogdGVt
cGxhdGU8PiBHUmVmUHRyPEdzdFN0cmVhbT4gYWRvcHRHUmVmKEdzdFN0cmVhbSopOwogdGVtcGxh
dGU8PiBHc3RTdHJlYW0qIHJlZkdQdHI8R3N0U3RyZWFtPihHc3RTdHJlYW0qKTsKIHRlbXBsYXRl
PD4gdm9pZCBkZXJlZkdQdHI8R3N0U3RyZWFtPihHc3RTdHJlYW0qKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbmJhbmRUZXh0VHJhY2tQ
cml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9JbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCAzNGNlODMw
ODk0NTlmNDljMjQzMTkwNDg4NTk1NzBhMzIyZjczZmJiLi5hZDI4NDUyMjIyYzVhYmE1NDExZWYw
ZDMyMDQ0YjQ4Yzk4MDFjMmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0luYmFuZFRleHRU
cmFja1ByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC01OCw3ICs1OCw3IEBAIEluYmFuZFRleHRUcmFj
a1ByaXZhdGVHU3RyZWFtZXI6OkluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIoZ2ludCBp
bmRleCwgR1JlCiAgICAgbm90aWZ5VHJhY2tPZlN0cmVhbUNoYW5nZWQoKTsKIH0KIAotI2lmIFVT
RShHU1RSRUFNRVJfUExBWUJJTjMpCisjaWYgR1NUX0NIRUNLX1ZFUlNJT04oMSwgMTAsIDApCiBJ
bmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyOjpJbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0
cmVhbWVyKGdpbnQgaW5kZXgsIEdSZWZQdHI8R3N0U3RyZWFtPiBzdHJlYW0pCiAgICAgOiBJbmJh
bmRUZXh0VHJhY2tQcml2YXRlKFdlYlZUVCkKICAgICAsIFRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFt
ZXIodGhpcywgaW5kZXgsIHN0cmVhbSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRy
YWNrUHJpdmF0ZUdTdHJlYW1lci5oCmluZGV4IDMyNGEyNzA4YWJmY2QwYzQ4YTRhYTRjZGVkNDY3
NDA2YWU1ZmJkMWUuLmFmN2FhNjM2Y2RhNjBiMTE1ZTYwYzE5OWQ1Y2Q0YjkzYWI1OGEwMzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbmJh
bmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0luYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIuaApA
QCAtNDQsNyArNDQsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IElu
YmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIoaW5kZXgsIHBhZCkpOwogICAgIH0KIAotI2lm
IFVTRShHU1RSRUFNRVJfUExBWUJJTjMpCisjaWYgR1NUX0NIRUNLX1ZFUlNJT04oMSwgMTAsIDAp
CiAgICAgc3RhdGljIFJlZjxJbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyPiBjcmVhdGUo
Z2ludCBpbmRleCwgR1JlZlB0cjxHc3RTdHJlYW0+IHN0cmVhbSkKICAgICB7CiAgICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IEluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIoaW5kZXgs
IHN0cmVhbSkpOwpAQCAtNjMsNyArNjMsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgSW5i
YW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcihnaW50IGluZGV4LCBHUmVmUHRyPEdzdFBhZD4p
OwotI2lmIFVTRShHU1RSRUFNRVJfUExBWUJJTjMpCisjaWYgR1NUX0NIRUNLX1ZFUlNJT04oMSwg
MTAsIDApCiAgICAgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcihnaW50IGluZGV4LCBH
UmVmUHRyPEdzdFN0cmVhbT4pOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggMWFjYjI4YmRjMTY0OGJhZTU1ZjQ5ZjQxOWUw
NDNhM2FhNmZiOGMwYi4uMzQxNTU0M2Y4NDZkNTJlMDRlOTBhMjg3YzMzOTJiZmVmN2U1YmVkZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAg
LTI1Miw3ICsyNTIsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bG9hZChj
b25zdCBTdHJpbmcmIHVybFN0cmluZykKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFtX3Bp
cGVsaW5lKQotICAgICAgICBjcmVhdGVHU1RQbGF5QmluKCk7CisgICAgICAgIGNyZWF0ZUdTVFBs
YXlCaW4oaXNNZWRpYVNvdXJjZSgpID8gInBsYXliaW4iIDogbnVsbHB0cik7CiAKICAgICBpZiAo
bV9maWxsVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV9maWxsVGltZXIuc3RvcCgpOwpAQCAt
NjIxLDcgKzYyMSw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZWVraW5n
KCkgY29uc3QKICAgICByZXR1cm4gbV9zZWVraW5nOwogfQogCi0jaWYgVVNFKEdTVFJFQU1FUl9Q
TEFZQklOMykKKyNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVUcmFja3MoKQogewogICAgIEFTU0VSVCghbV9pc0xl
Z2FjeVBsYXliaW4pOwpAQCAtNzU1LDcgKzc1NSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyOjplbmFibGVUcmFjayhUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyOjpUcmFja1R5
CiAgICAgICAgIEdzdEVsZW1lbnQqIGVsZW1lbnQgPSBpc01lZGlhU291cmNlKCkgPyBtX3NvdXJj
ZS5nZXQoKSA6IG1fcGlwZWxpbmUuZ2V0KCk7CiAgICAgICAgIGdfb2JqZWN0X3NldChlbGVtZW50
LCBwcm9wZXJ0eU5hbWUsIGluZGV4LCBudWxscHRyKTsKICAgICB9Ci0jaWYgVVNFKEdTVFJFQU1F
Ul9QTEFZQklOMykKKyNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKICAgICBlbHNlIHsK
ICAgICAgICAgR3N0U3RyZWFtKiBzdHJlYW0gPSBnc3Rfc3RyZWFtX2NvbGxlY3Rpb25fZ2V0X3N0
cmVhbShtX3N0cmVhbUNvbGxlY3Rpb24uZ2V0KCksIGluZGV4KTsKICAgICAgICAgaWYgKHN0cmVh
bSkgewpAQCAtMTI4MCw3ICsxMjgwLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6OmhhbmRsZU1lc3NhZ2UoR3N0TWVzc2FnZSogbWVzc2FnZSkKICAgICAgICAgZ3N0X3RhZ19s
aXN0X3VucmVmKHRhZ3MpOwogICAgICAgICBicmVhazsKICAgICB9Ci0jaWYgVVNFKEdTVFJFQU1F
Ul9QTEFZQklOMykKKyNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKICAgICBjYXNlIEdT
VF9NRVNTQUdFX1NUUkVBTV9DT0xMRUNUSU9OOiB7CiAgICAgICAgIEdSZWZQdHI8R3N0U3RyZWFt
Q29sbGVjdGlvbj4gY29sbGVjdGlvbjsKICAgICAgICAgZ3N0X21lc3NhZ2VfcGFyc2Vfc3RyZWFt
X2NvbGxlY3Rpb24obWVzc2FnZSwgJmNvbGxlY3Rpb24ub3V0UHRyKCkpOwpAQCAtMjM5OSwxOSAr
MjM5OSwzOSBAQCBBdWRpb1NvdXJjZVByb3ZpZGVyKiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6OmF1ZGlvU291cmNlUHJvdmlkZXIoKQogfQogI2VuZGlmCiAKLXZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyOjpjcmVhdGVHU1RQbGF5QmluKCkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyOjpjcmVhdGVHU1RQbGF5QmluKGNvbnN0IGdjaGFyKiBwbGF5YmluTmFtZSkK
IHsKKyAgICBpZiAobV9waXBlbGluZSkgeworICAgICAgICBpZiAoIXBsYXliaW5OYW1lKSB7Cisg
ICAgICAgICAgICBHU1RfSU5GT19PQkpFQ1QocGlwZWxpbmUoKSwgIktlZXBpbmcgc2FtZSBwbGF5
YmluIGFzIG5vdGhpbmcgZm9yY2VkIik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KworICAgICAgICBpZiAoIWdfc3RyY21wMChHU1RfT0JKRUNUX05BTUUoZ3N0X2VsZW1lbnRfZ2V0
X2ZhY3RvcnkobV9waXBlbGluZS5nZXQoKSkpLCBwbGF5YmluTmFtZSkpIHsKKyAgICAgICAgICAg
IEdTVF9JTkZPX09CSkVDVChwaXBlbGluZSgpLCAiQWxyZWFkeSB1c2luZyAlcyIsIHBsYXliaW5O
YW1lKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIEdTVF9JTkZP
X09CSkVDVChwaXBlbGluZSgpLCAiVGVhcmluZyBkb3duIGFzIHdlIG5lZWQgdG8gdXNlICVzIG5v
dy4iLAorICAgICAgICAgICAgcGxheWJpbk5hbWUpOworICAgICAgICBjaGFuZ2VQaXBlbGluZVN0
YXRlKEdTVF9TVEFURV9OVUxMKTsKKyAgICAgICAgbV9waXBlbGluZSA9IG51bGxwdHI7CisgICAg
fQorCiAgICAgQVNTRVJUKCFtX3BpcGVsaW5lKTsKIAorI2lmIEdTVF9DSEVDS19WRVJTSU9OKDEs
IDEwLCAwKQorICAgIG1faXNMZWdhY3lQbGF5YmluID0gIWdfZ2V0ZW52KCJVU0VfUExBWUJJTjMi
KTsKKyAgICBpZiAoIW1faXNMZWdhY3lQbGF5YmluKQorICAgICAgICBwbGF5YmluTmFtZSA9ICJw
bGF5YmluMyI7CisjZW5kaWYKKworICAgIGlmICghcGxheWJpbk5hbWUpCisgICAgICAgIHBsYXli
aW5OYW1lID0gInBsYXliaW4iOworCiAgICAgLy8gZ3N0X2VsZW1lbnRfZmFjdG9yeV9tYWtlKCkg
cmV0dXJucyBhIGZsb2F0aW5nIHJlZmVyZW5jZSBzbwogICAgIC8vIHdlIHNob3VsZCBub3QgYWRv
cHQuCi0jaWYgVVNFKEdTVFJFQU1FUl9QTEFZQklOMykKLSAgICBtX2lzTGVnYWN5UGxheWJpbiA9
IGZhbHNlOwotICAgIHNldFBpcGVsaW5lKGdzdF9lbGVtZW50X2ZhY3RvcnlfbWFrZSgicGxheWJp
bjMiLCAicGxheSIpKTsKLSNlbHNlCi0gICAgbV9pc0xlZ2FjeVBsYXliaW4gPSB0cnVlOwotICAg
IHNldFBpcGVsaW5lKGdzdF9lbGVtZW50X2ZhY3RvcnlfbWFrZSgicGxheWJpbiIsICJwbGF5Iikp
OwotI2VuZGlmCisgICAgc2V0UGlwZWxpbmUoZ3N0X2VsZW1lbnRfZmFjdG9yeV9tYWtlKHBsYXli
aW5OYW1lLCAicGxheSIpKTsKICAgICBzZXRTdHJlYW1Wb2x1bWVFbGVtZW50KEdTVF9TVFJFQU1f
Vk9MVU1FKG1fcGlwZWxpbmUuZ2V0KCkpKTsKIAogICAgIEdTVF9JTkZPKCJVc2luZyBsZWdhY3kg
cGxheWJpbiBlbGVtZW50OiAlcyIsIGJvb2xGb3JQcmludGluZyhtX2lzTGVnYWN5UGxheWJpbikp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCmluZGV4IDM2
ODcwNDgwZmY2NGQ3Mjc1NjQzNWY1YzQ5ZTdiMDE5YjVjMzQ4MjcuLmI3OWQ0M2NkYWVlMmMyZDk0
ODZkYmU4ODY5MmQxMzAzMjdhMDg4NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyLmgKQEAgLTE0Niw3ICsxNDYsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgdm9pZCB1cGRhdGVTdGF0ZXMoKTsKICAgICB2aXJ0dWFsIHZvaWQgYXN5bmNTdGF0ZUNoYW5n
ZURvbmUoKTsKIAotICAgIHZvaWQgY3JlYXRlR1NUUGxheUJpbigpOworICAgIHZvaWQgY3JlYXRl
R1NUUGxheUJpbihjb25zdCBnY2hhciogcGxheWJpbk5hbWUpOwogCiAgICAgYm9vbCBsb2FkTmV4
dExvY2F0aW9uKCk7CiAgICAgdm9pZCBtZWRpYUxvY2F0aW9uQ2hhbmdlZChHc3RNZXNzYWdlKik7
CkBAIC0xNzgsNyArMTc4LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2V0UGxheWJpblVSTChj
b25zdCBVUkwmIHVybFN0cmluZyk7CiAKLSNpZiBVU0UoR1NUUkVBTUVSX1BMQVlCSU4zKQorI2lm
IEdTVF9DSEVDS19WRVJTSU9OKDEsIDEwLCAwKQogICAgIHZvaWQgdXBkYXRlVHJhY2tzKCk7CiAj
ZW5kaWYKIApAQCAtMjU3LDcgKzI1Nyw3IEBAIHByaXZhdGU6CiAgICAgVVJMIG1fdXJsOwogICAg
IGJvb2wgbV9wcmVzZXJ2ZXNQaXRjaDsKICAgICBib29sIG1faXNMZWdhY3lQbGF5YmluOwotI2lm
IFVTRShHU1RSRUFNRVJfUExBWUJJTjMpCisjaWYgR1NUX0NIRUNLX1ZFUlNJT04oMSwgMTAsIDAp
CiAgICAgR1JlZlB0cjxHc3RTdHJlYW1Db2xsZWN0aW9uPiBtX3N0cmVhbUNvbGxlY3Rpb247CiAj
ZW5kaWYKICAgICBTdHJpbmcgbV9jdXJyZW50QXVkaW9TdHJlYW1JZDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oCmluZGV4IGZlNjVlOTMwZTZl
YjI1MjQ5MDZkYWYzZWMwMjU1NTU2OTA1NWViNzguLmE3OTlmMGYyMDg1MzUxYmZhOWU4MDIzMTk1
MjQ3MzAxM2YxMGZlNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lckJhc2UuaApAQCAtMjExLDcgKzIxMSw3IEBAIHByb3RlY3RlZDoKICAgICAgICAg
VGV4dENoYW5nZWQgPSAxIDw8IDUsCiAjZW5kaWYKICAgICAgICAgU2l6ZUNoYW5nZWQgPSAxIDw8
IDYsCi0jaWYgVVNFKEdTVFJFQU1FUl9QTEFZQklOMykKKyNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigx
LCAxMCwgMCkKICAgICAgICAgU3RyZWFtQ29sbGVjdGlvbkNoYW5nZWQgPSAxIDw8IDcKICNlbmRp
ZgogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lci5jcHAK
aW5kZXggZmY0ZWI5NmIzODdiNjZiY2Y0N2IwMzJhNDEyNWFhNmY5N2FjMGE4NC4uNWY1MTU5ZjRj
MTNiNzFiZWFlZDMzZWYzYjEyMDMyYWZhNDMyODA5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1RyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9UcmFj
a1ByaXZhdGVCYXNlR1N0cmVhbWVyLmNwcApAQCAtNTgsNyArNTgsNyBAQCBUcmFja1ByaXZhdGVC
YXNlR1N0cmVhbWVyOjpUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyKFRyYWNrUHJpdmF0ZUJhc2Uq
IG93bmVyLCBnaQogICAgIHRhZ3NDaGFuZ2VkKCk7CiB9CiAKLSNpZiBVU0UoR1NUUkVBTUVSX1BM
QVlCSU4zKQorI2lmIEdTVF9DSEVDS19WRVJTSU9OKDEsIDEwLCAwKQogVHJhY2tQcml2YXRlQmFz
ZUdTdHJlYW1lcjo6VHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcihUcmFja1ByaXZhdGVCYXNlKiBv
d25lciwgZ2ludCBpbmRleCwgR1JlZlB0cjxHc3RTdHJlYW0+IHN0cmVhbSkKICAgICA6IG1fbm90
aWZpZXIoTWFpblRocmVhZE5vdGlmaWVyPE1haW5UaHJlYWROb3RpZmljYXRpb24+OjpjcmVhdGUo
KSkKICAgICAsIG1faW5kZXgoaW5kZXgpCkBAIC04Miw3ICs4Miw3IEBAIHZvaWQgVHJhY2tQcml2
YXRlQmFzZUdTdHJlYW1lcjo6ZGlzY29ubmVjdCgpCiB7CiAgICAgbV90YWdzLmNsZWFyKCk7CiAK
LSNpZiBVU0UoR1NUUkVBTUVSX1BMQVlCSU4zKQorI2lmIEdTVF9DSEVDS19WRVJTSU9OKDEsIDEw
LCAwKQogICAgIGlmIChtX3N0cmVhbSkKICAgICAgICAgbV9zdHJlYW0uY2xlYXIoKTsKICNlbmRp
ZgpAQCAtMTE1LDcgKzExNSw3IEBAIHZvaWQgVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcjo6dGFn
c0NoYW5nZWQoKQogICAgICAgICBlbHNlCiAgICAgICAgICAgICB0YWdzID0gYWRvcHRHUmVmKGdz
dF90YWdfbGlzdF9uZXdfZW1wdHkoKSk7CiAgICAgfQotI2lmIFVTRShHU1RSRUFNRVJfUExBWUJJ
TjMpCisjaWYgR1NUX0NIRUNLX1ZFUlNJT04oMSwgMTAsIDApCiAgICAgZWxzZSBpZiAobV9zdHJl
YW0pCiAgICAgICAgIHRhZ3MgPSBhZG9wdEdSZWYoZ3N0X3N0cmVhbV9nZXRfdGFncyhtX3N0cmVh
bS5nZXQoKSkpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1RyYWNrUHJpdmF0ZUJhc2VHU3RyZWFt
ZXIuaAppbmRleCBkNTQ4NDcyZTViM2M2NDdlN2RiZmEwMjI0MTJjNmQxMWE1Zjc4MTFhLi5mMTIx
NWMxYjBkMzljMzg3YzJjMGYwZWY1YmM1MWIxNmJmZWY0NWM4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVHJhY2tQcml2YXRlQmFzZUdTdHJl
YW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9U
cmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyLmgKQEAgLTU4LDcgKzU4LDcgQEAgcHVibGljOgogCiBw
cm90ZWN0ZWQ6CiAgICAgVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcihUcmFja1ByaXZhdGVCYXNl
KiBvd25lciwgZ2ludCBpbmRleCwgR1JlZlB0cjxHc3RQYWQ+KTsKLSNpZiBVU0UoR1NUUkVBTUVS
X1BMQVlCSU4zKQorI2lmIEdTVF9DSEVDS19WRVJTSU9OKDEsIDEwLCAwKQogICAgIFRyYWNrUHJp
dmF0ZUJhc2VHU3RyZWFtZXIoVHJhY2tQcml2YXRlQmFzZSogb3duZXIsIGdpbnQgaW5kZXgsIEdS
ZWZQdHI8R3N0U3RyZWFtPik7CiAjZW5kaWYKICAgICB2b2lkIG5vdGlmeVRyYWNrT2ZBY3RpdmVD
aGFuZ2VkKCk7CkBAIC03Niw3ICs3Niw3IEBAIHByb3RlY3RlZDoKICAgICBBdG9taWNTdHJpbmcg
bV9sYWJlbDsKICAgICBBdG9taWNTdHJpbmcgbV9sYW5ndWFnZTsKICAgICBHUmVmUHRyPEdzdFBh
ZD4gbV9wYWQ7Ci0jaWYgVVNFKEdTVFJFQU1FUl9QTEFZQklOMykKKyNpZiBHU1RfQ0hFQ0tfVkVS
U0lPTigxLCAxMCwgMCkKICAgICBHUmVmUHRyPEdzdFN0cmVhbT4gbV9zdHJlYW07CiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1ZpZGVvVHJhY2tQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXgg
NzFhMTQ5MDQ2ZGVlY2QwM2UzNjQyMjQyZTU4YTVlOWMyMjk4ZWE0OC4uNzQxNTI0ZTJhMjZkYTQ5
ZGE1NjM2NjVhODU5MDNlNzBjNTM5MjI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvVHJhY2tQcml2YXRlR1N0cmVhbWVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9UcmFj
a1ByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC00Myw3ICs0Myw3IEBAIFZpZGVvVHJhY2tQcml2YXRl
R1N0cmVhbWVyOjpWaWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcihXZWFrUHRyPE1lZGlhUGxheWVy
UHJpdmF0CiAgICAgbm90aWZ5VHJhY2tPZkFjdGl2ZUNoYW5nZWQoKTsKIH0KIAotI2lmIFVTRShH
U1RSRUFNRVJfUExBWUJJTjMpCisjaWYgR1NUX0NIRUNLX1ZFUlNJT04oMSwgMTAsIDApCiBWaWRl
b1RyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6VmlkZW9UcmFja1ByaXZhdGVHU3RyZWFtZXIoV2Vha1B0
cjxNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI+IHBsYXllciwgZ2ludCBpbmRleCwgR1JlZlB0
cjxHc3RTdHJlYW0+IHN0cmVhbSkKICAgICA6IFRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXIodGhp
cywgaW5kZXgsIHN0cmVhbSkKICAgICAsIG1fcGxheWVyKHBsYXllcikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1RyYWNrUHJpdmF0
ZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1ZpZGVvVHJhY2tQcml2YXRlR1N0cmVhbWVyLmgKaW5kZXggYmIxOWQzMTQ3MjBhNDY0YTVmNzA4
ZGMzZDVlM2Q3OTdjMjVkMTY2YS4uMjc0ZTU2OTA5YmM1MzA0ZjI2Nzk4M2ZmMDM4NGRjNDY0NWNh
ZGY3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL1ZpZGVvVHJhY2tQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvVHJhY2tQcml2YXRlR1N0cmVhbWVyLmgKQEAg
LTQzLDcgKzQzLDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgVmlkZW9UcmFja1ByaXZhdGVHU3RyZWFtZXIocGxheWVyLCBpbmRleCwgcGFkKSk7CiAgICAg
fQotI2lmIFVTRShHU1RSRUFNRVJfUExBWUJJTjMpCisjaWYgR1NUX0NIRUNLX1ZFUlNJT04oMSwg
MTAsIDApCiAgICAgc3RhdGljIFJlZjxWaWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcj4gY3JlYXRl
KFdlYWtQdHI8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiBwbGF5ZXIsIGdpbnQgaW5kZXgs
IEdSZWZQdHI8R3N0U3RyZWFtPiBzdHJlYW0pCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBWaWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcihwbGF5ZXIsIGluZGV4LCBzdHJlYW0p
KTsKQEAgLTY0LDcgKzY0LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIFZpZGVvVHJhY2tQ
cml2YXRlR1N0cmVhbWVyKFdlYWtQdHI8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiwgZ2lu
dCBpbmRleCwgR1JlZlB0cjxHc3RQYWQ+KTsKLSNpZiBVU0UoR1NUUkVBTUVSX1BMQVlCSU4zKQor
I2lmIEdTVF9DSEVDS19WRVJTSU9OKDEsIDEwLCAwKQogICAgIFZpZGVvVHJhY2tQcml2YXRlR1N0
cmVhbWVyKFdlYWtQdHI8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiwgZ2ludCBpbmRleCwg
R1JlZlB0cjxHc3RTdHJlYW0+KTsKICNlbmRpZgogICAgIEF0b21pY1N0cmluZyBtX2lkOwpkaWZm
IC0tZ2l0IGEvU291cmNlL2NtYWtlL0dTdHJlYW1lckRlZmluaXRpb25zLmNtYWtlIGIvU291cmNl
L2NtYWtlL0dTdHJlYW1lckRlZmluaXRpb25zLmNtYWtlCmluZGV4IDYyYTY5ZDg4YzhlNWE3OTU4
M2NmNTU4Y2E5MTFjZDhlMjBmZjcyNWMuLjAzOTM4Yzg3NzRlNmZlNzVhMWNlYzYwY2ZjY2ZjZjY3
ZWRkYmI0OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9HU3RyZWFtZXJEZWZpbml0aW9ucy5j
bWFrZQorKysgYi9Tb3VyY2UvY21ha2UvR1N0cmVhbWVyRGVmaW5pdGlvbnMuY21ha2UKQEAgLTUs
NCArNSwzIEBAIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9NRURJQV9T
T1VSQ0UgUFJJVkFURSBPTikKIAogV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX0dTVFJFQU1FUl9H
TCAiV2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBmb3IgR1N0cmVhbWVyIEdMIiBQUklWQVRFIE9O
KQogV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX0dTVFJFQU1FUl9NUEVHVFMgIldoZXRoZXIgdG8g
ZW5hYmxlIHN1cHBvcnQgZm9yIE1QRUctVFMiIFBSSVZBVEUgT0ZGKQotV0VCS0lUX09QVElPTl9E
RUZJTkUoVVNFX0dTVFJFQU1FUl9QTEFZQklOMyAiV2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBm
b3IgR1N0cmVhbWVyJ3MgcGxheWJpbjMgZWxlbWVudCIgUFJJVkFURSBPRkYpCmRpZmYgLS1naXQg
YS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggMmIwZjAxZjM2ZTI5ZDVlODI4OWJiODU5YjQ1
NGJiNzViZjg1NDExZS4uNjJlZmIzNjZiNzE2MDA1MjUzMTJjNGI1NDVmNGU1ZTRhMTQ4N2Y1YSAx
MDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDE4LTA0LTExICBUaGliYXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KKworICAg
ICAgICBbR1N0cmVhbWVyXSBVc2Ugb2YgcGxheWJpbjMgd2hlbiBVU0VfUExBWUJJTjMgZW52aXJv
bm1lbnQgdmFyaWFibGUgaXMgc2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODQ0OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIGlzIHRoZSBzYW1lIGJlaGF2aW91ciBhcyB3aXRoIHBsYXliaW4g
aXRzZWxmLgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBrZWVwIHVzaW5nICJwbGF5YmluIiBmb3Ig
TWVkaWFTb3VyY2UuCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvR1N0cmVhbWVyRGVmaW5pdGlv
bnMuY21ha2U6CisKIDIwMTgtMDQtMDIgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJlbW92ZSByZWZlcmVuY2VzIHRvIGludGVybmFsIHZlcnNpb24gb2Yg
V2ViS2l0UXVhcnR6Q29yZUFkZGl0aW9ucyBpbiBDTWFrZSBmaWxlcy4K
</data>

          </attachment>
      

    </bug>

</bugzilla>