<?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>190657</bug_id>
          
          <creation_ts>2018-10-16 22:37:22 -0700</creation_ts>
          <short_desc>Parse paint() and store paint callbacks for CSS Painting API</short_desc>
          <delta_ts>2018-10-18 02:01:01 -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>Layout and Rendering</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>
          
          <blocked>190217</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Justin Michaud">justin_michaud</reporter>
          <assigned_to name="Justin Michaud">justin_michaud</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>emilio</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1470039</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2018-10-16 22:37:22 -0700</bug_when>
    <thetext>Implement support for parsing paint() images in css, and store CSS paint callback objects in the paint definition map.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470041</commentid>
    <comment_count>1</comment_count>
      <attachid>352551</attachid>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2018-10-16 23:10:17 -0700</bug_when>
    <thetext>Created attachment 352551
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470189</commentid>
    <comment_count>2</comment_count>
      <attachid>352590</attachid>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2018-10-17 10:53:12 -0700</bug_when>
    <thetext>Created attachment 352590
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470360</commentid>
    <comment_count>3</comment_count>
      <attachid>352652</attachid>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2018-10-17 15:26:35 -0700</bug_when>
    <thetext>Created attachment 352652
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470362</commentid>
    <comment_count>4</comment_count>
      <attachid>352652</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-10-17 15:37:48 -0700</bug_when>
    <thetext>Comment on attachment 352652
Patch

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

&gt; Source/WebCore/css/CSSImageGeneratorValue.cpp:155
&gt; +        return nullptr;

Not essential, but it seems you&apos;ll need to implement image() isFixedSize() fixedSize() isPending() and knownToBeOpaque() anyway, so maybe you should do that now with stubs?

&gt; Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:1294
&gt; +    // FIXME: should parse arguments

Nit: .

&gt; Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:1296
&gt; +    while (!args.atEnd())
&gt; +        args.consume();

Should you return nullptr if there are arguments for now? I guess not.

&gt; Source/WebCore/platform/mediastream/mac/RealtimeVideoUtilities.h:27
&gt; +#pragma once
&gt; +

Wow :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470371</commentid>
    <comment_count>5</comment_count>
      <attachid>352656</attachid>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2018-10-17 15:51:51 -0700</bug_when>
    <thetext>Created attachment 352656
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470447</commentid>
    <comment_count>6</comment_count>
      <attachid>352656</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-17 19:47:07 -0700</bug_when>
    <thetext>Comment on attachment 352656
Patch

Clearing flags on attachment: 352656

Committed r237243: &lt;https://trac.webkit.org/changeset/237243&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470448</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-17 19:47:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470449</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-10-17 19:48:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/45360435&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470490</commentid>
    <comment_count>9</comment_count>
      <attachid>352656</attachid>
    <who name="Emilio Cobos Álvarez (:emilio)">emilio</who>
    <bug_when>2018-10-18 02:01:01 -0700</bug_when>
    <thetext>Comment on attachment 352656
Patch

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

&gt; Source/WebCore/css/CSSPaintImageValue.cpp:40
&gt; +    result.append(m_name);

Drive-by, but I think this needs to be escaped as an identifier. I&apos;m ~sure this would yield wrong results for stuff like paint(foo\ bar).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352551</attachid>
            <date>2018-10-16 23:10:17 -0700</date>
            <delta_ts>2018-10-17 10:53:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190657-20181016231017.patch</filename>
            <type>text/plain</type>
            <size>25829</size>
            <attacher name="Justin Michaud">justin_michaud</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MjA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDNkZmZmMDEzZGNmODU0
Mjg4MjcwM2U2OGFhZjYwOGY3OTM4YThlYy4uZmFiYzhiZGJhZGQ1YmVjNWI0NTVlZjkwMDRjYWZj
ZTM2YjhiNWU2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE4LTEwLTE2ICBKdXN0
aW4gTWljaGF1ZCAgPGp1c3Rpbl9taWNoYXVkQGFwcGxlLmNvbT4KKworICAgICAgICBQYXJzZSBw
YWludCgpIGFuZCBzdG9yZSBwYWludCBjYWxsYmFja3MgZm9yIENTUyBQYWludGluZyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBz
dXBwb3J0IGZvciBwYXJzaW5nIHBhaW50KCkgaW1hZ2VzIGluIGNzcywgYW5kIHN0b3JlIENTUyBw
YWludCBjYWxsYmFjayBvYmplY3RzIGluIHRoZSBwYWludCBkZWZpbml0aW9uIG1hcC4KKworICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAq
IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0NTU1BhaW50V29ya2xldEdsb2JhbFNjb3BlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGU6OnZpc2l0QWRkaXRpb25hbENoaWxkcmVu
KToKKyAgICAgICAgKFdlYkNvcmU6OkpTQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGU6OnJlZ2lz
dGVyUGFpbnQpOgorICAgICAgICAqIGNzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OmltYWdlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OmlzRml4ZWRTaXplIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OmZpeGVkU2l6ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjppc1BlbmRpbmcgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6a25vd25Ub0JlT3BhcXVl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OmxvYWRT
dWJpbWFnZXMpOgorICAgICAgICAqIGNzcy9DU1NQYWludEltYWdlVmFsdWUuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkNTU1BhaW50SW1hZ2VWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCBjb25z
dCk6CisgICAgICAgICogY3NzL0NTU1BhaW50SW1hZ2VWYWx1ZS5oOiBBZGRlZC4KKyAgICAgICAg
KiBjc3MvQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTUGFp
bnRXb3JrbGV0R2xvYmFsU2NvcGUuaWRsOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6ZXF1YWxzIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1ZhbHVlOjpjc3NUZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVl
OjpkZXN0cm95KToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1ZhbHVlOjppc1BhaW50SW1hZ2VWYWx1ZSBjb25zdCk6CisgICAgICAgICogY3NzL0NTU1Zh
bHVlS2V5d29yZHMuaW46CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhl
bHBlcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpj
b25zdW1lQ3VzdG9tUGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJI
ZWxwZXJzOjpjb25zdW1lR2VuZXJhdGVkSW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJv
cGVydHlQYXJzZXJIZWxwZXJzOjppc0dlbmVyYXRlZEltYWdlKToKKwogMjAxOC0xMC0xNiAgVGlt
b3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIDxtZXRhIG5h
bWU9InN1cHBvcnRlZC1jb2xvci1zY2hlbWVzIj4gdG8gY29udHJvbCB3aGF0IGNvbG9yIHNjaGVt
ZXMgdGhlIHBhZ2Ugc3VwcG9ydHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZWMyOTY1NTliNTVk
MGM1YjdjNTg5NGY3OGRjYzhkODg3MGVhZTVjZS4uODBhOTgwZmE0ZWYyMThmYTBhOWIxOWFjMmZj
ZTk1YzA0ZWE0N2U0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTUyNiw2ICs1MjYsNyBAQCBz
ZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGNzcy9DU1NNZWRpYVJ1bGUuaWRsCiAg
ICAgY3NzL0NTU05hbWVzcGFjZVJ1bGUuaWRsCiAgICAgY3NzL0NTU1BhaW50Q2FsbGJhY2suaWRs
CisgICAgY3NzL0NTU1BhaW50SW1hZ2VWYWx1ZS5jcHAKICAgICBjc3MvQ1NTUGFpbnRXb3JrbGV0
R2xvYmFsU2NvcGUuaWRsCiAgICAgY3NzL0NTU1BhZ2VSdWxlLmlkbAogICAgIGNzcy9DU1NSdWxl
LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dAppbmRleCA2ODA2NjY0Nzk5ODJjZThlNGU3NjVlNGZlYThhZTJkNDk5
N2JhZTdlLi5iMmFjYTdiMzYyNDU2YWY4ZGM5MmI4OTVjNzA4Yjg4ZmQwNThlNjdlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dApAQCAtNjA0LDYgKzYwNCw3IEBAIGNzcy9DU1NNZWRpYVJ1bGUuY3BwCiBjc3MvQ1NT
TmFtZWRJbWFnZVZhbHVlLmNwcAogY3NzL0NTU05hbWVzcGFjZVJ1bGUuY3BwCiBjc3MvQ1NTUGFn
ZVJ1bGUuY3BwCitjc3MvQ1NTUGFpbnRJbWFnZVZhbHVlLmNwcAogY3NzL0NTU1BhaW50V29ya2xl
dEdsb2JhbFNjb3BlLmNwcAogY3NzL0NTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZS5jcHAKIGNz
cy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiM2RjN2Q1OWIzNGUyOGYzYTM4OTgyMjc4OGRj
ZTg0MjRiOTk4OWFmLi4xNDBhYjdhY2NhMjk2YWRlMDI5ZWM4MGRlODgwZTE5MGQ0MDcyNDBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0xMzQ5LDYgKzEzNDksNyBAQAogCQk0QjVCREQ5QjIxNjU4QTE1MDBERDQyNjIgLyogQ1NT
UGFpbnRDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNEI1QkREOUEyMTY1OEExNTAwREQ0MjYyIC8qIENTU1BhaW50Q2FsbGJhY2suaCAqLzsg
fTsKIAkJNEI2QjVDQkQyMTY0MEVGRjAwNjAzODE3IC8qIERPTUNTU1BhaW50V29ya2xldC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEI2QjVDQjgyMTYz
RUMwNzAwNjAzODE3IC8qIERPTUNTU1BhaW50V29ya2xldC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTRCNkI1Q0MwMjE2NDM4NjQwMDYwMzgxNyAv
KiBDU1NQYWludFdvcmtsZXRHbG9iYWxTY29wZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNEI2QjVDQkYyMTY0Mzg2NDAwNjAzODE3IC8qIENTU1BhaW50
V29ya2xldEdsb2JhbFNjb3BlLmggKi87IH07CisJCTRCNkU4NzY5MjE3NkQ2OTIwMDQyMEU1RSAv
KiBDU1NQYWludEltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDRCNkU4NzY4MjE3NkQ2OTIwMDQyMEU1RSAvKiBDU1NQYWludEltYWdlVmFs
dWUuaCAqLzsgfTsKIAkJNEI2RkE2RjQwQzM5RTQ4QzAwMDg3MDExIC8qIFNtYXJ0UmVwbGFjZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEI2RkE2RjIw
QzM5RTQ4QzAwMDg3MDExIC8qIFNtYXJ0UmVwbGFjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTRCQUU5NUIxMEIyRkE5Q0UwMEFFRDhBMCAvKiBF
ZGl0b3JEZWxldGVBY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDRCQUU5NUIwMEIyRkE5Q0UwMEFFRDhBMCAvKiBFZGl0b3JEZWxldGVBY3Rpb24u
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0QkRB
M0ZGRTIxNTFCNkY1MDBGRDY2MDQgLyogRE9NQ1NTQ3VzdG9tUHJvcGVydHlEZXNjcmlwdG9yLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QkRBM0ZGODIx
NTFCNkYyMDBGRDY2MDQgLyogRE9NQ1NTQ3VzdG9tUHJvcGVydHlEZXNjcmlwdG9yLmggKi87IH07
CkBAIC03ODg2LDYgKzc4ODcsOCBAQAogCQk0QjZCNUNCRjIxNjQzODY0MDA2MDM4MTcgLyogQ1NT
UGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTUGFpbnRXb3JrbGV0
R2xvYmFsU2NvcGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEI2QjVDQzEyMTY0
MzlDRjAwNjAzODE3IC8qIENTU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IENTU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNEI2QjVDQzMyMTY0M0E4RTAwNjAzODE3IC8qIENTU1BhaW50V29ya2xl
dEdsb2JhbFNjb3BlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDU1NQYWludFdvcmtsZXRHbG9iYWxTY29wZS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTRCNkU4NzY4MjE3NkQ2OTIwMDQyMEU1RSAvKiBD
U1NQYWludEltYWdlVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTUGFpbnRJbWFnZVZhbHVlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTRCNkU4NzZCMjE3NkQ4QTEwMDQyMEU1RSAv
KiBDU1NQYWludEltYWdlVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTUGFpbnRJbWFn
ZVZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEI2RkE2RjIwQzM5RTQ4
QzAwMDg3MDExIC8qIFNtYXJ0UmVwbGFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTbWFydFJlcGxhY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEI2RkE2
RjYwQzM5RTRBMTAwMDg3MDExIC8qIFNtYXJ0UmVwbGFjZUNGLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNtYXJ0UmVwbGFjZUNGLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNEJBRTk1QjAwQjJGQTlDRTAwQUVEOEEwIC8qIEVkaXRvckRlbGV0ZUFj
dGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFZGl0b3JEZWxldGVBY3Rp
b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI1OTUwLDYgKzI1OTUzLDggQEAK
IAkJCQk4NUM1NkNBNjBBQTg5RDVGMDBEOTU3NTUgLyogQ1NTUGFnZVJ1bGUuaWRsICovLAogCQkJ
CTRCNUJERDlBMjE2NThBMTUwMERENDI2MiAvKiBDU1NQYWludENhbGxiYWNrLmggKi8sCiAJCQkJ
NEI1QkREOTkyMTY1ODhFNTAwREQ0MjYyIC8qIENTU1BhaW50Q2FsbGJhY2suaWRsICovLAorCQkJ
CTRCNkU4NzZCMjE3NkQ4QTEwMDQyMEU1RSAvKiBDU1NQYWludEltYWdlVmFsdWUuY3BwICovLAor
CQkJCTRCNkU4NzY4MjE3NkQ2OTIwMDQyMEU1RSAvKiBDU1NQYWludEltYWdlVmFsdWUuaCAqLywK
IAkJCQk0QjZCNUNDMTIxNjQzOUNGMDA2MDM4MTcgLyogQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2Nv
cGUuY3BwICovLAogCQkJCTRCNkI1Q0JGMjE2NDM4NjQwMDYwMzgxNyAvKiBDU1NQYWludFdvcmts
ZXRHbG9iYWxTY29wZS5oICovLAogCQkJCTRCNkI1Q0MzMjE2NDNBOEUwMDYwMzgxNyAvKiBDU1NQ
YWludFdvcmtsZXRHbG9iYWxTY29wZS5pZGwgKi8sCkBAIC0yNzk1Miw2ICsyNzk1Nyw3IEBACiAJ
CQkJOTRFODM5NTExREZCMkEwRTAwN0JDNkE3IC8qIENTU05hbWVzcGFjZVJ1bGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4MEU2RDAwMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQYWdlUnVsZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNEI1QkREOUIyMTY1OEExNTAwREQ0MjYyIC8qIENTU1BhaW50Q2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCTRCNkU4NzY5MjE3NkQ2OTIwMDQyMEU1RSAvKiBD
U1NQYWludEltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTRCNkI1Q0MwMjE2NDM4NjQw
MDYwMzgxNyAvKiBDU1NQYWludFdvcmtsZXRHbG9iYWxTY29wZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTQ2RDM3MkUxRDZDQjI5NDAwNzcwODRGIC8qIENTU1BhcnNlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTRBNzk5NTIyMEVFNEIxNDAwQzE5NTY4IC8qIENTU1BhcnNlckNvbnRleHQuaCBpbiBI
ZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NQ
YWludFdvcmtsZXRHbG9iYWxTY29wZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0NTU1BhaW50V29ya2xldEdsb2JhbFNjb3BlQ3VzdG9tLmNwcAppbmRleCAwNTdhYzNm
Yzg5YjM1ZDVjNTE0ODQyOTMyMWEyYjA2YmQyOTYyOTljLi5iOWZhMzQ1YTVlMzhmMzlmM2MxZGVk
Y2Q1M2I2ZmEzNzM4NTUxM2I3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0NTU1BhaW50V29ya2xldEdsb2JhbFNjb3BlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0NTU1BhaW50V29ya2xldEdsb2JhbFNjb3BlQ3VzdG9tLmNwcApA
QCAtNDQsNiArNDQsMTIgQEAgc3RhdGljIEpTVmFsdWUgdGhyb3dJbnZhbGlkTW9kaWZpY2F0aW9u
RXJyb3IoRXhlY1N0YXRlJiBzdGF0ZSwgVGhyb3dTY29wZSYgc2NvcGUKICAgICByZXR1cm4ganNV
bmRlZmluZWQoKTsKIH0KIAordm9pZCBKU0NTU1BhaW50V29ya2xldEdsb2JhbFNjb3BlOjp2aXNp
dEFkZGl0aW9uYWxDaGlsZHJlbihKU0M6OlNsb3RWaXNpdG9yJiB2aXNpdG9yKQoreworICAgIGZv
ciAoYXV0byYgcmVnaXN0ZXJlZCA6IHdyYXBwZWQoKS5wYWludERlZmluaXRpb25NYXAoKS52YWx1
ZXMoKSkKKyAgICAgICAgcmVnaXN0ZXJlZC0+cGFpbnRDYWxsYmFjay0+dmlzaXRKU0Z1bmN0aW9u
KHZpc2l0b3IpOworfQorCiAvLyBodHRwczovL2RyYWZ0cy5jc3MtaG91ZGluaS5vcmcvY3NzLXBh
aW50LWFwaS8jcmVnaXN0ZXJpbmctY3VzdG9tLXBhaW50CiBKU1ZhbHVlIEpTQ1NTUGFpbnRXb3Jr
bGV0R2xvYmFsU2NvcGU6OnJlZ2lzdGVyUGFpbnQoRXhlY1N0YXRlJiBzdGF0ZSkKIHsKQEAgLTEx
NSwxOCArMTIxLDExIEBAIEpTVmFsdWUgSlNDU1NQYWludFdvcmtsZXRHbG9iYWxTY29wZTo6cmVn
aXN0ZXJQYWludChFeGVjU3RhdGUmIHN0YXRlKQogICAgIFJlZlB0cjxKU0NTU1BhaW50Q2FsbGJh
Y2s+IHBhaW50ID0gY29udmVydDxJRExDYWxsYmFja0Z1bmN0aW9uPEpTQ1NTUGFpbnRDYWxsYmFj
az4+KHN0YXRlLCBwYWludFZhbHVlLCAqZ2xvYmFsT2JqZWN0KCkpOwogICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIEpTVmFsdWUoKSk7CiAKLSAgICBhdXRvIHBhaW50RGVmaW5pdGlvbiA9
IHN0ZDo6dW5pcXVlX3B0cjxQYWludERlZmluaXRpb24+KG5ldyBQYWludERlZmluaXRpb24geyBu
YW1lIH0pOworICAgIGF1dG8gcGFpbnREZWZpbml0aW9uID0gc3RkOjp1bmlxdWVfcHRyPFBhaW50
RGVmaW5pdGlvbj4obmV3IFBhaW50RGVmaW5pdGlvbiB7IG5hbWUsIHBhaW50LnJlbGVhc2VOb25O
dWxsKCksIGlucHV0UHJvcGVydGllcywgaW5wdXRBcmd1bWVudHMgfSk7CiAgICAgcGFpbnREZWZp
bml0aW9uTWFwLmFkZChuYW1lLCBXVEZNb3ZlKHBhaW50RGVmaW5pdGlvbikpOwogCiAgICAgLy8g
RklYTUU6IGNvbnN0cnVjdCBkb2N1bWVudERlZmluaXRpb24gKHN0ZXAgMjIpLgogCi0gICAgLy8g
RklYTUU6IFRoaXMgaXMgZm9yIHRlc3Rpbmcgb25seS4KLSAgICBwYWludC0+aGFuZGxlRXZlbnQo
KTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBKU1ZhbHVlKCkpOwotCi0gICAgVU5V
U0VEX1BBUkFNKGlucHV0UHJvcGVydGllcyk7Ci0gICAgVU5VU0VEX1BBUkFNKGlucHV0QXJndW1l
bnRzKTsKLQogICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKaW5kZXggN2E4ZTE5ZjIzMGY0YTIwMGE1
MmI1MTE1ODMwMmUxY2RjZTU1ZmM2ZS4uYjYwMDAzMzM5NTI1NDIwYTAwYWQyNjAxMTZjYzkwYWIz
NDdhMDRhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9y
VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVl
LmNwcApAQCAtMTUwLDYgKzE1MCwxMCBAQCBSZWZQdHI8SW1hZ2U+IENTU0ltYWdlR2VuZXJhdG9y
VmFsdWU6OmltYWdlKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBjb25zdCBGbG9hdAogICAgICAg
ICByZXR1cm4gZG93bmNhc3Q8Q1NTUmFkaWFsR3JhZGllbnRWYWx1ZT4oKnRoaXMpLmltYWdlKHJl
bmRlcmVyLCBzaXplKTsKICAgICBjYXNlIENvbmljR3JhZGllbnRDbGFzczoKICAgICAgICAgcmV0
dXJuIGRvd25jYXN0PENTU0NvbmljR3JhZGllbnRWYWx1ZT4oKnRoaXMpLmltYWdlKHJlbmRlcmVy
LCBzaXplKTsKKyNpZiBFTkFCTEUoQ1NTX1BBSU5USU5HX0FQSSkKKyAgICBjYXNlIFBhaW50SW1h
Z2VDbGFzczoKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisjZW5kaWYKICAgICBkZWZhdWx0Ogog
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CkBAIC0xNzMsNiArMTc3LDEwIEBA
IGJvb2wgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6aXNGaXhlZFNpemUoKSBjb25zdAogICAgICAg
ICByZXR1cm4gZG93bmNhc3Q8Q1NTUmFkaWFsR3JhZGllbnRWYWx1ZT4oKnRoaXMpLmlzRml4ZWRT
aXplKCk7CiAgICAgY2FzZSBDb25pY0dyYWRpZW50Q2xhc3M6CiAgICAgICAgIHJldHVybiBkb3du
Y2FzdDxDU1NDb25pY0dyYWRpZW50VmFsdWU+KCp0aGlzKS5pc0ZpeGVkU2l6ZSgpOworI2lmIEVO
QUJMRShDU1NfUEFJTlRJTkdfQVBJKQorICAgIGNhc2UgUGFpbnRJbWFnZUNsYXNzOgorICAgICAg
ICByZXR1cm4gZmFsc2U7CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKICAgICB9CkBAIC0xOTQsNiArMjAyLDEwIEBAIEZsb2F0U2l6ZSBDU1NJbWFn
ZUdlbmVyYXRvclZhbHVlOjpmaXhlZFNpemUoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIp
CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NSYWRpYWxHcmFkaWVudFZhbHVlPigqdGhpcyku
Zml4ZWRTaXplKHJlbmRlcmVyKTsKICAgICBjYXNlIENvbmljR3JhZGllbnRDbGFzczoKICAgICAg
ICAgcmV0dXJuIGRvd25jYXN0PENTU0NvbmljR3JhZGllbnRWYWx1ZT4oKnRoaXMpLmZpeGVkU2l6
ZShyZW5kZXJlcik7CisjaWYgRU5BQkxFKENTU19QQUlOVElOR19BUEkpCisgICAgY2FzZSBQYWlu
dEltYWdlQ2xhc3M6CisgICAgICAgIHJldHVybiBGbG9hdFNpemUoKTsKKyNlbmRpZgogICAgIGRl
ZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KQEAgLTIxNyw2ICsy
MjksMTAgQEAgYm9vbCBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjppc1BlbmRpbmcoKSBjb25zdAog
ICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTUmFkaWFsR3JhZGllbnRWYWx1ZT4oKnRoaXMpLmlz
UGVuZGluZygpOwogICAgIGNhc2UgQ29uaWNHcmFkaWVudENsYXNzOgogICAgICAgICByZXR1cm4g
ZG93bmNhc3Q8Q1NTQ29uaWNHcmFkaWVudFZhbHVlPigqdGhpcykuaXNQZW5kaW5nKCk7CisjaWYg
RU5BQkxFKENTU19QQUlOVElOR19BUEkpCisgICAgY2FzZSBQYWludEltYWdlQ2xhc3M6CisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgIH0KQEAgLTI0MCw2ICsyNTYsMTAgQEAgYm9vbCBDU1NJbWFnZUdl
bmVyYXRvclZhbHVlOjprbm93blRvQmVPcGFxdWUoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVy
ZXIpIGNvbnMKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU1JhZGlhbEdyYWRpZW50VmFsdWU+
KCp0aGlzKS5rbm93blRvQmVPcGFxdWUocmVuZGVyZXIpOwogICAgIGNhc2UgQ29uaWNHcmFkaWVu
dENsYXNzOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTQ29uaWNHcmFkaWVudFZhbHVlPigq
dGhpcykua25vd25Ub0JlT3BhcXVlKHJlbmRlcmVyKTsKKyNpZiBFTkFCTEUoQ1NTX1BBSU5USU5H
X0FQSSkKKyAgICBjYXNlIFBhaW50SW1hZ2VDbGFzczoKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
I2VuZGlmCiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
fQpAQCAtMjY3LDYgKzI4NywxMCBAQCB2b2lkIENTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OmxvYWRT
dWJpbWFnZXMoQ2FjaGVkUmVzb3VyY2VMb2FkZXImIGNhY2hlZFJlc291cmNlTAogICAgIGNhc2Ug
Q29uaWNHcmFkaWVudENsYXNzOgogICAgICAgICBkb3duY2FzdDxDU1NDb25pY0dyYWRpZW50VmFs
dWU+KCp0aGlzKS5sb2FkU3ViaW1hZ2VzKGNhY2hlZFJlc291cmNlTG9hZGVyLCBvcHRpb25zKTsK
ICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKENTU19QQUlOVElOR19BUEkpCisgICAgY2FzZSBQ
YWludEltYWdlQ2xhc3M6CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgZGVmYXVsdDoKICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhaW50SW1hZ2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFpbnRJbWFnZVZhbHVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NTQ1Nzg1NDk2Njk5NmY3ZmIwZmYzODgw
ZjRiMDQwNmMxMGRjNzM0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhaW50SW1hZ2VWYWx1ZS5jcHAKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiAiQVMgSVMi
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIEJFCisgKiBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksCisgKiBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SCisgKiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKKyAq
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkNTU1BhaW50SW1hZ2VWYWx1ZS5oIgorCisjaWYgRU5BQkxFKENTU19QQUlOVElOR19B
UEkpCisKKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworU3RyaW5nIENTU1BhaW50SW1hZ2VWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCgpIGNv
bnN0Cit7CisgICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7CisgICAgcmVzdWx0LmFwcGVuZExpdGVy
YWwoInBhaW50KCIpOworICAgIHJlc3VsdC5hcHBlbmQobV9uYW1lKTsKKyAgICAvLyBGSVhNRTog
cHJpbnQgYXJncworICAgIHJlc3VsdC5hcHBlbmQoJyknKTsKKyAgICByZXR1cm4gcmVzdWx0LnRv
U3RyaW5nKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFpbnRJbWFnZVZhbHVlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFpbnRJbWFnZVZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjZjYTg0NTMyZWYzOTJh
YTJiNGFkNGJmMzU5YTE5MmU2M2MxNThlZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYWludEltYWdlVmFsdWUuaApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
ICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgQkUK
KyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwKKyAqIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IKKyAqIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRgorICogVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2lmIEVOQUJMRShDU1NfUEFJTlRJTkdfQVBJKQorCisjaW5jbHVkZSAiQ1NTSW1hZ2VHZW5lcmF0
b3JWYWx1ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENTU1BhaW50SW1hZ2VW
YWx1ZSBmaW5hbCA6IHB1YmxpYyBDU1NJbWFnZUdlbmVyYXRvclZhbHVlIHsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgUmVmPENTU1BhaW50SW1hZ2VWYWx1ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbmFt
ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENTU1BhaW50SW1hZ2VWYWx1
ZShuYW1lKSk7CisgICAgfQorCisgICAgYm9vbCBlcXVhbHMoY29uc3QgQ1NTUGFpbnRJbWFnZVZh
bHVlJiBvdGhlcikgY29uc3QgeyByZXR1cm4gbV9uYW1lID09IG90aGVyLm1fbmFtZTsgfQorCisg
ICAgU3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBDU1NQYWlu
dEltYWdlVmFsdWUoY29uc3QgU3RyaW5nJiBuYW1lKQorICAgICAgICA6IENTU0ltYWdlR2VuZXJh
dG9yVmFsdWUoUGFpbnRJbWFnZUNsYXNzKQorICAgICAgICAsIG1fbmFtZShuYW1lKQorICAgIHsK
KyAgICB9CisKKyAgICBjb25zdCBTdHJpbmcgbV9uYW1lOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NTU19WQUxVRShDU1NQYWludEltYWdl
VmFsdWUsIGlzUGFpbnRJbWFnZVZhbHVlKCkpCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaAppbmRleCA5MDA5MmQ5MTgwOGU0NzBj
NDFiNWEzZWRlNzQxZDJmYWE5NTg5Y2RiLi4yM2IwZDlkOGYzZjAyMzdlMjc5MmZjZWY3ZTQ3N2Zl
NThjNjJhMzA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFpbnRXb3JrbGV0
R2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFpbnRXb3JrbGV0R2xv
YmFsU2NvcGUuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKENTU19QQUlOVElOR19B
UEkpCiAKKyNpbmNsdWRlICJDU1NQYWludENhbGxiYWNrLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9u
T3IuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CkBAIC00OSw2ICs1MCw5IEBAIHB1YmxpYzoKIAogICAgIHN0cnVjdCBQYWludERlZmluaXRp
b24gewogICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcgbmFtZTsKKyAgICAgICAgY29uc3QgUmVm
PENTU1BhaW50Q2FsbGJhY2s+IHBhaW50Q2FsbGJhY2s7CisgICAgICAgIGNvbnN0IFZlY3RvcjxT
dHJpbmc+IGlucHV0UHJvcGVydGllczsKKyAgICAgICAgY29uc3QgVmVjdG9yPFN0cmluZz4gaW5w
dXRBcmd1bWVudHM7CiAgICAgfTsKIAogICAgIEhhc2hNYXA8U3RyaW5nLCBzdGQ6OnVuaXF1ZV9w
dHI8UGFpbnREZWZpbml0aW9uPj4mIHBhaW50RGVmaW5pdGlvbk1hcCgpIHsgcmV0dXJuIG1fcGFp
bnREZWZpbml0aW9uTWFwOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFp
bnRXb3JrbGV0R2xvYmFsU2NvcGUuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhaW50V29y
a2xldEdsb2JhbFNjb3BlLmlkbAppbmRleCA0MTFlYjc0NGVjYTU2MDQ5NzIwYTFkMjQxYTE1ZWQ0
ZDgwNzU3Nzg4Li5hNTM2YzBhNDEzOTVjMGExYTA4NGZhMWY3ZWI1YTZjMmJhNzJhNjFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWludFdvcmtsZXRHbG9iYWxTY29wZS5pZGwK
QEAgLTI3LDYgKzI3LDcgQEAKICAgICBFbmFibGVkQXRSdW50aW1lPUNTU1BhaW50aW5nQVBJLAog
ICAgIENvbmRpdGlvbmFsPUNTU19QQUlOVElOR19BUEksCiAgICAgSW1wbGVtZW50YXRpb25MYWNr
c1ZUYWJsZSwKKyAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKICAgICBKU0dlbmVyYXRlVG9OYXRp
dmVPYmplY3QKIF0gaW50ZXJmYWNlIENTU1BhaW50V29ya2xldEdsb2JhbFNjb3BlIHsKICAgICBb
Q3VzdG9tLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCByZWdpc3RlclBhaW50KERPTVN0cmluZyBu
YW1lLCBGdW5jdGlvbiBwYWludEN0b3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKaW5kZXggODQ5
OGIyYjMxOWE1Y2MzMmE3ZWNmNDQyMGRiNzc4NmQ4MDM2MTdlNi4uY2MzZjU5ZjMwZmFlYjU1Zjc0
OTZiYThkOTgwNDlkMzdiMDljMDQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCkBAIC01Miw2
ICs1Miw3IEBACiAjaW5jbHVkZSAiQ1NTSW5pdGlhbFZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTTGlu
ZUJveENvbnRhaW5WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU05hbWVkSW1hZ2VWYWx1ZS5oIgorI2lu
Y2x1ZGUgIkNTU1BhaW50SW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1BlbmRpbmdTdWJzdGl0
dXRpb25WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCiAjaW5jbHVkZSAi
Q1NTUHJvcGVydHkuaCIKQEAgLTE1MSw2ICsxNTIsMTAgQEAgYm9vbCBDU1NWYWx1ZTo6ZXF1YWxz
KGNvbnN0IENTU1ZhbHVlJiBvdGhlcikgY29uc3QKICAgICAgICAgICAgIHJldHVybiBjb21wYXJl
Q1NTVmFsdWVzPENTU0N1cnNvckltYWdlVmFsdWU+KCp0aGlzLCBvdGhlcik7CiAgICAgICAgIGNh
c2UgRmlsdGVySW1hZ2VDbGFzczoKICAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVz
PENTU0ZpbHRlckltYWdlVmFsdWU+KCp0aGlzLCBvdGhlcik7CisjaWYgRU5BQkxFKENTU19QQUlO
VElOR19BUEkpCisgICAgICAgIGNhc2UgUGFpbnRJbWFnZUNsYXNzOgorICAgICAgICAgICAgcmV0
dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTUGFpbnRJbWFnZVZhbHVlPigqdGhpcywgb3RoZXIpOwor
I2VuZGlmCiAgICAgICAgIGNhc2UgRm9udENsYXNzOgogICAgICAgICAgICAgcmV0dXJuIGNvbXBh
cmVDU1NWYWx1ZXM8Q1NTRm9udFZhbHVlPigqdGhpcywgb3RoZXIpOwogICAgICAgICBjYXNlIEZv
bnRGYWNlU3JjQ2xhc3M6CkBAIC0yNDcsNiArMjUyLDEwIEBAIFN0cmluZyBDU1NWYWx1ZTo6Y3Nz
VGV4dCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NDdXJzb3JJbWFnZVZhbHVl
PigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2UgRmlsdGVySW1hZ2VDbGFzczoKICAg
ICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0ZpbHRlckltYWdlVmFsdWU+KCp0aGlzKS5jdXN0b21D
U1NUZXh0KCk7CisjaWYgRU5BQkxFKENTU19QQUlOVElOR19BUEkpCisgICAgY2FzZSBQYWludElt
YWdlQ2xhc3M6CisgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NQYWludEltYWdlVmFsdWU+KCp0
aGlzKS5jdXN0b21DU1NUZXh0KCk7CisjZW5kaWYKICAgICBjYXNlIEZvbnRDbGFzczoKICAgICAg
ICAgcmV0dXJuIGRvd25jYXN0PENTU0ZvbnRWYWx1ZT4oKnRoaXMpLmN1c3RvbUNTU1RleHQoKTsK
ICAgICBjYXNlIEZvbnRGYWNlU3JjQ2xhc3M6CkBAIC00MzIsNiArNDQxLDExIEBAIHZvaWQgQ1NT
VmFsdWU6OmRlc3Ryb3koKQogICAgIGNhc2UgRmlsdGVySW1hZ2VDbGFzczoKICAgICAgICAgZGVs
ZXRlIGRvd25jYXN0PENTU0ZpbHRlckltYWdlVmFsdWU+KHRoaXMpOwogICAgICAgICByZXR1cm47
CisjaWYgRU5BQkxFKENTU19QQUlOVElOR19BUEkpCisgICAgY2FzZSBQYWludEltYWdlQ2xhc3M6
CisgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NQYWludEltYWdlVmFsdWU+KHRoaXMpOworICAg
ICAgICByZXR1cm47CisjZW5kaWYKICAgICBjYXNlIENTU0NvbnRlbnREaXN0cmlidXRpb25DbGFz
czoKICAgICAgICAgZGVsZXRlIGRvd25jYXN0PENTU0NvbnRlbnREaXN0cmlidXRpb25WYWx1ZT4o
dGhpcyk7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKaW5kZXggYzE2YTUyODU1
NWU0NzkxMzY2YTgwNjdmYmI3MWEwNDRlNDAxMDhkYy4uZTJkZjkxZDI4OTg5NmY1Y2IzZTM3OTIy
OTM3MzQ5ODJkNWI4NzY2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKQEAgLTEwNiw2ICsxMDYsNyBA
QCBwdWJsaWM6CiAgICAgYm9vbCBpc0xpbmVCb3hDb250YWluVmFsdWUoKSBjb25zdCB7IHJldHVy
biBtX2NsYXNzVHlwZSA9PSBMaW5lQm94Q29udGFpbkNsYXNzOyB9CiAgICAgYm9vbCBpc0NhbGNW
YWx1ZSgpIGNvbnN0IHtyZXR1cm4gbV9jbGFzc1R5cGUgPT0gQ2FsY3VsYXRpb25DbGFzczsgfQog
ICAgIGJvb2wgaXNGaWx0ZXJJbWFnZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUg
PT0gRmlsdGVySW1hZ2VDbGFzczsgfQorICAgIGJvb2wgaXNQYWludEltYWdlVmFsdWUoKSBjb25z
dCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBQYWludEltYWdlQ2xhc3M7IH0KICAgICBib29sIGlz
Q29udGVudERpc3RyaWJ1dGlvblZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0g
Q1NTQ29udGVudERpc3RyaWJ1dGlvbkNsYXNzOyB9CiAgICAgYm9vbCBpc0dyaWRBdXRvUmVwZWF0
VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBHcmlkQXV0b1JlcGVhdENsYXNz
OyB9CiAgICAgYm9vbCBpc0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUoKSBjb25zdCB7IHJldHVybiBt
X2NsYXNzVHlwZSA9PSBHcmlkVGVtcGxhdGVBcmVhc0NsYXNzOyB9CkBAIC0xNDIsNiArMTQzLDkg
QEAgcHJvdGVjdGVkOgogCiAgICAgICAgIC8vIEltYWdlIGdlbmVyYXRvciBjbGFzc2VzLgogICAg
ICAgICBDYW52YXNDbGFzcywKKyNpZiBFTkFCTEUoQ1NTX1BBSU5USU5HX0FQSSkKKyAgICAgICAg
UGFpbnRJbWFnZUNsYXNzLAorI2VuZGlmCiAgICAgICAgIE5hbWVkSW1hZ2VDbGFzcywKICAgICAg
ICAgQ3Jvc3NmYWRlQ2xhc3MsCiAgICAgICAgIEZpbHRlckltYWdlQ2xhc3MsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IGQxMzNiNmQzNzY1ZWU2YjQ3NDlmNWU5Y2M3
ODA4YTRmNDhlMmM2NGEuLmYxNDgwNTgxOWEwZDdmYmFhMmUyMjVkNzU2ZGU0MTg5ODY0YmM1NWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBAIC0xMjAxLDYgKzEyMDEs
OSBAQCByZXBlYXRpbmctY29uaWMtZ3JhZGllbnQKIGZpbHRlcgogLXdlYmtpdC1maWx0ZXIKIGRh
c2hib2FyZC1yZWdpb24KKyNpZiBkZWZpbmVkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAmJiBF
TkFCTEVfQ1NTX1BBSU5USU5HX0FQSQorcGFpbnQKKyNlbmRpZgogCiAvLyBkZXByZWNhdGVkIGdy
YWRpZW50cwogZnJvbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQ
cm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQ
cm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwCmluZGV4IDI5ZDUyYjhkZjZkZDBiNDNkNjU2YzhmZDA2
NTYwY2E1OGM3ZWJkMWQuLjRlMzk1MzNlMTFhYmM2NTVjZWE1ZmI3M2JiYWUyY2IwM2MwYTRjMGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJI
ZWxwZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFy
c2VySGVscGVycy5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJDU1NJbWFnZVNldFZh
bHVlLmgiCiAjaW5jbHVkZSAiQ1NTSW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU05hbWVkSW1h
Z2VWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU1BhaW50SW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNT
U1BhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlUG9vbC5oIgogI2luY2x1ZGUgIlBh
aXIuaCIKQEAgLTEyODEsNiArMTI4MiwyMyBAQCBzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25z
dW1lRmlsdGVySW1hZ2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgY29uc3QgQ1NTUAogICAg
IHJldHVybiBDU1NGaWx0ZXJJbWFnZVZhbHVlOjpjcmVhdGUoaW1hZ2VWYWx1ZS5yZWxlYXNlTm9u
TnVsbCgpLCBmaWx0ZXJWYWx1ZS5yZWxlYXNlTm9uTnVsbCgpKTsKIH0KIAorI2lmIEVOQUJMRShD
U1NfUEFJTlRJTkdfQVBJKQorc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUN1c3RvbVBh
aW50KENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MpCit7CisgICAgaWYgKCFSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmNzc1BhaW50aW5nQVBJRW5hYmxlZCgpKQorICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAoYXJncy5wZWVrKCkudHlwZSgpICE9IElkZW50
VG9rZW4pCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGF1dG8gbmFtZSA9IGFyZ3MuY29u
c3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKS52YWx1ZSgpLnRvU3RyaW5nKCk7CisKKyAgICAvLyBG
SVhNRTogc2hvdWxkIHBhcnNlIGFyZ3VtZW50cworICAgIHdoaWxlICghYXJncy5hdEVuZCgpKQor
ICAgICAgICBhcmdzLmNvbnN1bWUoKTsKKworICAgIHJldHVybiBDU1NQYWludEltYWdlVmFsdWU6
OmNyZWF0ZShuYW1lKTsKK30KKyNlbmRpZgorCiBzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25z
dW1lR2VuZXJhdGVkSW1hZ2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIENTU1BhcnNlckNv
bnRleHQgY29udGV4dCkKIHsKICAgICBDU1NWYWx1ZUlEIGlkID0gcmFuZ2UucGVlaygpLmZ1bmN0
aW9uSWQoKTsKQEAgLTEzMTcsNiArMTMzNSwxMCBAQCBzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBj
b25zdW1lR2VuZXJhdGVkSW1hZ2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIENTU1Bhcgog
ICAgICAgICByZXN1bHQgPSBjb25zdW1lV2Via2l0TmFtZWRJbWFnZShhcmdzKTsKICAgICBlbHNl
IGlmIChpZCA9PSBDU1NWYWx1ZVdlYmtpdEZpbHRlciB8fCBpZCA9PSBDU1NWYWx1ZUZpbHRlcikK
ICAgICAgICAgcmVzdWx0ID0gY29uc3VtZUZpbHRlckltYWdlKGFyZ3MsIGNvbnRleHQpOworI2lm
IEVOQUJMRShDU1NfUEFJTlRJTkdfQVBJKQorICAgIGVsc2UgaWYgKGlkID09IENTU1ZhbHVlUGFp
bnQpCisgICAgICAgIHJlc3VsdCA9IGNvbnN1bWVDdXN0b21QYWludChhcmdzKTsKKyNlbmRpZgog
ICAgIGlmICghcmVzdWx0IHx8ICFhcmdzLmF0RW5kKCkpCiAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIHJhbmdlID0gcmFuZ2VDb3B5OwpAQCAtMTM3MSw2ICsxMzkzLDkgQEAgc3RhdGljIGJv
b2wgaXNHZW5lcmF0ZWRJbWFnZShDU1NWYWx1ZUlEIGlkKQogICAgICAgICB8fCBpZCA9PSBDU1NW
YWx1ZUNyb3NzRmFkZQogICAgICAgICB8fCBpZCA9PSBDU1NWYWx1ZVdlYmtpdE5hbWVkSW1hZ2UK
ICAgICAgICAgfHwgaWQgPT0gQ1NTVmFsdWVXZWJraXRGaWx0ZXIKKyNpZiBFTkFCTEUoQ1NTX1BB
SU5USU5HX0FQSSkKKyAgICAgICAgfHwgaWQgPT0gQ1NTVmFsdWVQYWludAorI2VuZGlmCiAgICAg
ICAgIHx8IGlkID09IENTU1ZhbHVlRmlsdGVyOwogfQogICAgIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDlmNmI1YWJjMTBl
YTVjZmVmODA5OGZiNjk1YTg0M2VkYWYwMWUwZmEuLjE5Zjg1ZTlkNGY3OTI1Y2ZjMmNkODRhZDBi
YWYwMWZmYWIxNjI3MjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOC0xMC0xNiAgSnVzdGlu
IE1pY2hhdWQgIDxqdXN0aW5fbWljaGF1ZEBhcHBsZS5jb20+CisKKyAgICAgICAgUGFyc2UgcGFp
bnQoKSBhbmQgc3RvcmUgcGFpbnQgY2FsbGJhY2tzIGZvciBDU1MgUGFpbnRpbmcgQVBJCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA2NTcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzLWN1
c3RvbS1wYWludC9iYXNpYy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3MtY3VzdG9t
LXBhaW50L2Jhc2ljLmh0bWw6CisKIDIwMTgtMTAtMTYgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90
aHlAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCA8bWV0YSBuYW1lPSJzdXBwb3J0ZWQtY29sb3It
c2NoZW1lcyI+IHRvIGNvbnRyb2wgd2hhdCBjb2xvciBzY2hlbWVzIHRoZSBwYWdlIHN1cHBvcnRz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1jdXN0b20tcGFpbnQvYmFzaWMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtY3VzdG9tLXBhaW50L2Jhc2ljLWV4cGVj
dGVkLnR4dAppbmRleCBlNzEyZGNjMmFjZDMxZDI2NzUxYWRmMjg2ZDBmZDIwMzdlYjU2OTFkLi5j
ZDdmMmVlYmIxODkxODA0ZWE5Yjk3MjU4ZDk0NTVmNzZhZmE4NDhjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy1jdXN0b20tcGFpbnQvYmFzaWMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzLWN1c3RvbS1wYWludC9iYXNpYy1leHBlY3RlZC50eHQKQEAgLTUs
NCArNSw1IEBAIFBBU1MgdGVzdCB0aGF0IHJlZ2lzdGVyUGFpbnQgcnVucyB3aXRoIGlucHV0QXJn
dW1lbnRzCiBQQVNTIHRlc3QgdGhhdCByZWdpc3RlclBhaW50IHJ1bnMgd2l0aCBjb250ZXh0T3B0
aW9ucyAKIFBBU1MgdGVzdCB0aGF0IHJlZ2lzdGVyUGFpbnQgcnVucyB3aXRoIHByZWRlZmluZWQg
Y2xhc3MgCiBQQVNTIHRlc3QgdGhhdCByZWdpc3RlclBhaW50IGFjY2VwdHMgb25seSBhIHN0cmlu
ZyBhbmQgYSBjbGFzcyBjb25zdHJ1Y3RvciAKK1BBU1MgdGVzdCB0aGF0IHRlc3QgZGl2IGhhcyBw
YWludCgpIHZhbHVlIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1jdXN0b20t
cGFpbnQvYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWN1c3RvbS1wYWludC9iYXNp
Yy5odG1sCmluZGV4IDUyYzBlNWJkYTcwZTg3ZDFjYTM3ZTk1NTE2NzBiNjA0OGVkZTM1MzQuLjM2
OTlhYTIxZWExMTY3MWM5OTk0MDA3ZDk3ZTdlZDQwZGZmMjcxYWYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvY3NzLWN1c3RvbS1wYWludC9iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzLWN1c3RvbS1wYWludC9iYXNpYy5odG1sCkBAIC00LDYgKzQsMTcgQEAKIDxsaW5r
IHJlbD0iaGVscCIgY29udGVudD0iaHR0cHM6Ly9kcmFmdHMuY3NzLWhvdWRpbmkub3JnL2Nzcy1w
YWludC1hcGktMS8iPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKworPHN0eWxlPgorICAjcGFpbnQgeworICAgIGJhY2tncm91bmQt
aW1hZ2U6IHBhaW50KG15LXBhaW50KTsKKyAgICB3aWR0aDogNTBweDsKKyAgICBoZWlnaHQ6IDUw
cHg7CisgIH0KKzwvc3R5bGU+CisKKzxkaXYgaWQ9InBhaW50Ij48L2Rpdj4KKwogPHNjcmlwdD4K
IHRlc3QoZnVuY3Rpb24oKSB7CiAgIENTUy5wYWludFdvcmtsZXRHbG9iYWxTY29wZS5yZWdpc3Rl
clBhaW50KCd0ZXN0MScsIGNsYXNzIHsKQEAgLTUxLDQgKzYyLDggQEAgdGVzdChmdW5jdGlvbigp
IHsKICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IENTUy5wYWludFdvcmts
ZXRHbG9iYWxTY29wZS5yZWdpc3RlclBhaW50KCcnLCA1KSk7CiB9LCAndGVzdCB0aGF0IHJlZ2lz
dGVyUGFpbnQgYWNjZXB0cyBvbmx5IGEgc3RyaW5nIGFuZCBhIGNsYXNzIGNvbnN0cnVjdG9yJyk7
CiAKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShw
YWludCkuZ2V0UHJvcGVydHlWYWx1ZSgiYmFja2dyb3VuZC1pbWFnZSIpLCAicGFpbnQobXktcGFp
bnQpIik7Cit9LCAndGVzdCB0aGF0IHRlc3QgZGl2IGhhcyBwYWludCgpIHZhbHVlJyk7CisKIDwv
c2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352590</attachid>
            <date>2018-10-17 10:53:12 -0700</date>
            <delta_ts>2018-10-17 15:26:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190657-20181017105311.patch</filename>
            <type>text/plain</type>
            <size>25306</size>
            <attacher name="Justin Michaud">justin_michaud</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MjA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDNkZmZmMDEzZGNmODU0
Mjg4MjcwM2U2OGFhZjYwOGY3OTM4YThlYy4uOWRiNDc4ODU4NTMyNGQzZTFkNDUxZTQxNzBlYTcy
NDc4YjAzMzQ4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE4LTEwLTE2ICBKdXN0
aW4gTWljaGF1ZCAgPGp1c3Rpbl9taWNoYXVkQGFwcGxlLmNvbT4KKworICAgICAgICBQYXJzZSBw
YWludCgpIGFuZCBzdG9yZSBwYWludCBjYWxsYmFja3MgZm9yIENTUyBQYWludGluZyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBz
dXBwb3J0IGZvciBwYXJzaW5nIHBhaW50KCkgaW1hZ2VzIGluIGNzcywgYW5kIHN0b3JlIENTUyBw
YWludCBjYWxsYmFjayBvYmplY3RzIGluIHRoZSBwYWludCBkZWZpbml0aW9uIG1hcC4KKworICAg
ICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0NTU1BhaW50V29ya2xldEdsb2JhbFNj
b3BlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ1NTUGFpbnRXb3JrbGV0R2xvYmFs
U2NvcGU6OnZpc2l0QWRkaXRpb25hbENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OkpTQ1NT
UGFpbnRXb3JrbGV0R2xvYmFsU2NvcGU6OnJlZ2lzdGVyUGFpbnQpOgorICAgICAgICAqIGNzcy9D
U1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlR2Vu
ZXJhdG9yVmFsdWU6OmltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlR2VuZXJhdG9y
VmFsdWU6OmlzRml4ZWRTaXplIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlR2Vu
ZXJhdG9yVmFsdWU6OmZpeGVkU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbWFnZUdlbmVy
YXRvclZhbHVlOjppc1BlbmRpbmcgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VH
ZW5lcmF0b3JWYWx1ZTo6a25vd25Ub0JlT3BhcXVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OmxvYWRTdWJpbWFnZXMpOgorICAgICAgICAqIGNzcy9D
U1NQYWludEltYWdlVmFsdWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhaW50
SW1hZ2VWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCBjb25zdCk6CisgICAgICAgICogY3NzL0NTU1BhaW50
SW1hZ2VWYWx1ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBjc3MvQ1NTUGFpbnRXb3JrbGV0R2xvYmFs
U2NvcGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaWRsOgor
ICAgICAgICAqIGNzcy9DU1NWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6
ZXF1YWxzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpjc3NUZXh0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpkZXN0cm95KToKKyAgICAgICAgKiBjc3Mv
Q1NTVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjppc1BhaW50SW1hZ2VWYWx1
ZSBjb25zdCk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46CisgICAgICAgICog
Y3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1lQ3VzdG9tUGFpbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1lR2VuZXJhdGVkSW1h
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjppc0dlbmVy
YXRlZEltYWdlKToKKwogMjAxOC0xMC0xNiAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBs
ZS5jb20+CiAKICAgICAgICAgQWRkIDxtZXRhIG5hbWU9InN1cHBvcnRlZC1jb2xvci1zY2hlbWVz
Ij4gdG8gY29udHJvbCB3aGF0IGNvbG9yIHNjaGVtZXMgdGhlIHBhZ2Ugc3VwcG9ydHMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKaW5kZXggNjgwNjY2NDc5OTgyY2U4ZTRlNzY1ZTRmZWE4YWUyZDQ5OTdiYWU3ZS4uYjJh
Y2E3YjM2MjQ1NmFmOGRjOTJiODk1YzcwOGI4OGZkMDU4ZTY3ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAg
LTYwNCw2ICs2MDQsNyBAQCBjc3MvQ1NTTWVkaWFSdWxlLmNwcAogY3NzL0NTU05hbWVkSW1hZ2VW
YWx1ZS5jcHAKIGNzcy9DU1NOYW1lc3BhY2VSdWxlLmNwcAogY3NzL0NTU1BhZ2VSdWxlLmNwcAor
Y3NzL0NTU1BhaW50SW1hZ2VWYWx1ZS5jcHAKIGNzcy9DU1NQYWludFdvcmtsZXRHbG9iYWxTY29w
ZS5jcHAKIGNzcy9DU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUuY3BwCiBjc3MvQ1NTUHJpbWl0
aXZlVmFsdWUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggYjNkYzdkNTliMzRlMjhmM2EzODk4MjI3ODhkY2U4NDI0Yjk5ODlh
Zi4uMTQwYWI3YWNjYTI5NmFkZTAyOWVjODBkZTg4MGUxOTBkNDA3MjQwZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTM0OSw2
ICsxMzQ5LDcgQEAKIAkJNEI1QkREOUIyMTY1OEExNTAwREQ0MjYyIC8qIENTU1BhaW50Q2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRCNUJE
RDlBMjE2NThBMTUwMERENDI2MiAvKiBDU1NQYWludENhbGxiYWNrLmggKi87IH07CiAJCTRCNkI1
Q0JEMjE2NDBFRkYwMDYwMzgxNyAvKiBET01DU1NQYWludFdvcmtsZXQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRCNkI1Q0I4MjE2M0VDMDcwMDYwMzgx
NyAvKiBET01DU1NQYWludFdvcmtsZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk0QjZCNUNDMDIxNjQzODY0MDA2MDM4MTcgLyogQ1NTUGFpbnRX
b3JrbGV0R2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDRCNkI1Q0JGMjE2NDM4NjQwMDYwMzgxNyAvKiBDU1NQYWludFdvcmtsZXRHbG9i
YWxTY29wZS5oICovOyB9OworCQk0QjZFODc2OTIxNzZENjkyMDA0MjBFNUUgLyogQ1NTUGFpbnRJ
bWFnZVZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0QjZFODc2ODIxNzZENjkyMDA0MjBFNUUgLyogQ1NTUGFpbnRJbWFnZVZhbHVlLmggKi87IH07
CiAJCTRCNkZBNkY0MEMzOUU0OEMwMDA4NzAxMSAvKiBTbWFydFJlcGxhY2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRCNkZBNkYyMEMzOUU0OEMwMDA4
NzAxMSAvKiBTbWFydFJlcGxhY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk0QkFFOTVCMTBCMkZBOUNFMDBBRUQ4QTAgLyogRWRpdG9yRGVsZXRl
QWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
QkFFOTVCMDBCMkZBOUNFMDBBRUQ4QTAgLyogRWRpdG9yRGVsZXRlQWN0aW9uLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNEJEQTNGRkUyMTUxQjZG
NTAwRkQ2NjA0IC8qIERPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRvci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEJEQTNGRjgyMTUxQjZGMjAwRkQ2
NjA0IC8qIERPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRvci5oICovOyB9OwpAQCAtNzg4Niw2
ICs3ODg3LDggQEAKIAkJNEI2QjVDQkYyMTY0Mzg2NDAwNjAzODE3IC8qIENTU1BhaW50V29ya2xl
dEdsb2JhbFNjb3BlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1BhaW50V29ya2xldEdsb2JhbFNjb3Bl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRCNkI1Q0MxMjE2NDM5Q0YwMDYwMzgx
NyAvKiBDU1NQYWludFdvcmtsZXRHbG9iYWxTY29wZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBD
U1NQYWludFdvcmtsZXRHbG9iYWxTY29wZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTRCNkI1Q0MzMjE2NDNBOEUwMDYwMzgxNyAvKiBDU1NQYWludFdvcmtsZXRHbG9iYWxTY29w
ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk0QjZFODc2ODIxNzZENjkyMDA0MjBFNUUgLyogQ1NTUGFpbnRJbWFn
ZVZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1BhaW50SW1hZ2VWYWx1ZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk0QjZFODc2QjIxNzZEOEExMDA0MjBFNUUgLyogQ1NTUGFpbnRJ
bWFnZVZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU1BhaW50SW1hZ2VWYWx1ZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRCNkZBNkYyMEMzOUU0OEMwMDA4NzAxMSAv
KiBTbWFydFJlcGxhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU21hcnRS
ZXBsYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRCNkZBNkY2MEMzOUU0QTEw
MDA4NzAxMSAvKiBTbWFydFJlcGxhY2VDRi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTbWFydFJlcGxhY2VDRi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTRCQUU5NUIwMEIyRkE5Q0UwMEFFRDhBMCAvKiBFZGl0b3JEZWxldGVBY3Rpb24uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRWRpdG9yRGVsZXRlQWN0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNTk1MCw2ICsyNTk1Myw4IEBACiAJCQkJODVDNTZD
QTYwQUE4OUQ1RjAwRDk1NzU1IC8qIENTU1BhZ2VSdWxlLmlkbCAqLywKIAkJCQk0QjVCREQ5QTIx
NjU4QTE1MDBERDQyNjIgLyogQ1NTUGFpbnRDYWxsYmFjay5oICovLAogCQkJCTRCNUJERDk5MjE2
NTg4RTUwMERENDI2MiAvKiBDU1NQYWludENhbGxiYWNrLmlkbCAqLywKKwkJCQk0QjZFODc2QjIx
NzZEOEExMDA0MjBFNUUgLyogQ1NTUGFpbnRJbWFnZVZhbHVlLmNwcCAqLywKKwkJCQk0QjZFODc2
ODIxNzZENjkyMDA0MjBFNUUgLyogQ1NTUGFpbnRJbWFnZVZhbHVlLmggKi8sCiAJCQkJNEI2QjVD
QzEyMTY0MzlDRjAwNjAzODE3IC8qIENTU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNwcCAqLywK
IAkJCQk0QjZCNUNCRjIxNjQzODY0MDA2MDM4MTcgLyogQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2Nv
cGUuaCAqLywKIAkJCQk0QjZCNUNDMzIxNjQzQThFMDA2MDM4MTcgLyogQ1NTUGFpbnRXb3JrbGV0
R2xvYmFsU2NvcGUuaWRsICovLApAQCAtMjc5NTIsNiArMjc5NTcsNyBAQAogCQkJCTk0RTgzOTUx
MURGQjJBMEUwMDdCQzZBNyAvKiBDU1NOYW1lc3BhY2VSdWxlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBODBFNkQwMDBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTUGFnZVJ1bGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTRCNUJERDlCMjE2NThBMTUwMERENDI2MiAvKiBDU1NQYWludENhbGxiYWNrLmggaW4g
SGVhZGVycyAqLywKKwkJCQk0QjZFODc2OTIxNzZENjkyMDA0MjBFNUUgLyogQ1NTUGFpbnRJbWFn
ZVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QjZCNUNDMDIxNjQzODY0MDA2MDM4MTcgLyog
Q1NTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk0NkQzNzJF
MUQ2Q0IyOTQwMDc3MDg0RiAvKiBDU1NQYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0QTc5
OTUyMjBFRTRCMTQwMEMxOTU2OCAvKiBDU1NQYXJzZXJDb250ZXh0LmggaW4gSGVhZGVycyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUGFpbnRXb3JrbGV0
R2xvYmFsU2NvcGVDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NQ
YWludFdvcmtsZXRHbG9iYWxTY29wZUN1c3RvbS5jcHAKaW5kZXggMDU3YWMzZmM4OWIzNWQ1YzUx
NDg0MjkzMjFhMmIwNmJkMjk2Mjk5Yy4uYjlmYTM0NWE1ZTM4ZjM5ZjNjMWRlZGNkNTNiNmZhMzcz
ODU1MTNiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NQYWlu
dFdvcmtsZXRHbG9iYWxTY29wZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNDU1NQYWludFdvcmtsZXRHbG9iYWxTY29wZUN1c3RvbS5jcHAKQEAgLTQ0LDYgKzQ0
LDEyIEBAIHN0YXRpYyBKU1ZhbHVlIHRocm93SW52YWxpZE1vZGlmaWNhdGlvbkVycm9yKEV4ZWNT
dGF0ZSYgc3RhdGUsIFRocm93U2NvcGUmIHNjb3BlCiAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7
CiB9CiAKK3ZvaWQgSlNDU1NQYWludFdvcmtsZXRHbG9iYWxTY29wZTo6dmlzaXRBZGRpdGlvbmFs
Q2hpbGRyZW4oSlNDOjpTbG90VmlzaXRvciYgdmlzaXRvcikKK3sKKyAgICBmb3IgKGF1dG8mIHJl
Z2lzdGVyZWQgOiB3cmFwcGVkKCkucGFpbnREZWZpbml0aW9uTWFwKCkudmFsdWVzKCkpCisgICAg
ICAgIHJlZ2lzdGVyZWQtPnBhaW50Q2FsbGJhY2stPnZpc2l0SlNGdW5jdGlvbih2aXNpdG9yKTsK
K30KKwogLy8gaHR0cHM6Ly9kcmFmdHMuY3NzLWhvdWRpbmkub3JnL2Nzcy1wYWludC1hcGkvI3Jl
Z2lzdGVyaW5nLWN1c3RvbS1wYWludAogSlNWYWx1ZSBKU0NTU1BhaW50V29ya2xldEdsb2JhbFNj
b3BlOjpyZWdpc3RlclBhaW50KEV4ZWNTdGF0ZSYgc3RhdGUpCiB7CkBAIC0xMTUsMTggKzEyMSwx
MSBAQCBKU1ZhbHVlIEpTQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGU6OnJlZ2lzdGVyUGFpbnQo
RXhlY1N0YXRlJiBzdGF0ZSkKICAgICBSZWZQdHI8SlNDU1NQYWludENhbGxiYWNrPiBwYWludCA9
IGNvbnZlcnQ8SURMQ2FsbGJhY2tGdW5jdGlvbjxKU0NTU1BhaW50Q2FsbGJhY2s+PihzdGF0ZSwg
cGFpbnRWYWx1ZSwgKmdsb2JhbE9iamVjdCgpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCBKU1ZhbHVlKCkpOwogCi0gICAgYXV0byBwYWludERlZmluaXRpb24gPSBzdGQ6OnVuaXF1
ZV9wdHI8UGFpbnREZWZpbml0aW9uPihuZXcgUGFpbnREZWZpbml0aW9uIHsgbmFtZSB9KTsKKyAg
ICBhdXRvIHBhaW50RGVmaW5pdGlvbiA9IHN0ZDo6dW5pcXVlX3B0cjxQYWludERlZmluaXRpb24+
KG5ldyBQYWludERlZmluaXRpb24geyBuYW1lLCBwYWludC5yZWxlYXNlTm9uTnVsbCgpLCBpbnB1
dFByb3BlcnRpZXMsIGlucHV0QXJndW1lbnRzIH0pOwogICAgIHBhaW50RGVmaW5pdGlvbk1hcC5h
ZGQobmFtZSwgV1RGTW92ZShwYWludERlZmluaXRpb24pKTsKIAogICAgIC8vIEZJWE1FOiBjb25z
dHJ1Y3QgZG9jdW1lbnREZWZpbml0aW9uIChzdGVwIDIyKS4KIAotICAgIC8vIEZJWE1FOiBUaGlz
IGlzIGZvciB0ZXN0aW5nIG9ubHkuCi0gICAgcGFpbnQtPmhhbmRsZUV2ZW50KCk7Ci0gICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNWYWx1ZSgpKTsKLQotICAgIFVOVVNFRF9QQVJBTShp
bnB1dFByb3BlcnRpZXMpOwotICAgIFVOVVNFRF9QQVJBTShpbnB1dEFyZ3VtZW50cyk7Ci0KICAg
ICByZXR1cm4ganNVbmRlZmluZWQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0lt
YWdlR2VuZXJhdG9yVmFsdWUuY3BwCmluZGV4IDdhOGUxOWYyMzBmNGEyMDBhNTJiNTExNTgzMDJl
MWNkY2U1NWZjNmUuLmI2MDAwMzMzOTUyNTQyMGEwMGFkMjYwMTE2Y2M5MGFiMzQ3YTA0YWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKQEAgLTE1
MCw2ICsxNTAsMTAgQEAgUmVmUHRyPEltYWdlPiBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjppbWFn
ZShSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY29uc3QgRmxvYXQKICAgICAgICAgcmV0dXJuIGRv
d25jYXN0PENTU1JhZGlhbEdyYWRpZW50VmFsdWU+KCp0aGlzKS5pbWFnZShyZW5kZXJlciwgc2l6
ZSk7CiAgICAgY2FzZSBDb25pY0dyYWRpZW50Q2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2Fz
dDxDU1NDb25pY0dyYWRpZW50VmFsdWU+KCp0aGlzKS5pbWFnZShyZW5kZXJlciwgc2l6ZSk7Cisj
aWYgRU5BQkxFKENTU19QQUlOVElOR19BUEkpCisgICAgY2FzZSBQYWludEltYWdlQ2xhc3M6Cisg
ICAgICAgIHJldHVybiBudWxscHRyOworI2VuZGlmCiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfQpAQCAtMTczLDYgKzE3NywxMCBAQCBib29sIENTU0lt
YWdlR2VuZXJhdG9yVmFsdWU6OmlzRml4ZWRTaXplKCkgY29uc3QKICAgICAgICAgcmV0dXJuIGRv
d25jYXN0PENTU1JhZGlhbEdyYWRpZW50VmFsdWU+KCp0aGlzKS5pc0ZpeGVkU2l6ZSgpOwogICAg
IGNhc2UgQ29uaWNHcmFkaWVudENsYXNzOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTQ29u
aWNHcmFkaWVudFZhbHVlPigqdGhpcykuaXNGaXhlZFNpemUoKTsKKyNpZiBFTkFCTEUoQ1NTX1BB
SU5USU5HX0FQSSkKKyAgICBjYXNlIFBhaW50SW1hZ2VDbGFzczoKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworI2VuZGlmCiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CiAgICAgfQpAQCAtMTk0LDYgKzIwMiwxMCBAQCBGbG9hdFNpemUgQ1NTSW1hZ2VHZW5lcmF0b3JW
YWx1ZTo6Zml4ZWRTaXplKGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQogICAgICAgICBy
ZXR1cm4gZG93bmNhc3Q8Q1NTUmFkaWFsR3JhZGllbnRWYWx1ZT4oKnRoaXMpLmZpeGVkU2l6ZShy
ZW5kZXJlcik7CiAgICAgY2FzZSBDb25pY0dyYWRpZW50Q2xhc3M6CiAgICAgICAgIHJldHVybiBk
b3duY2FzdDxDU1NDb25pY0dyYWRpZW50VmFsdWU+KCp0aGlzKS5maXhlZFNpemUocmVuZGVyZXIp
OworI2lmIEVOQUJMRShDU1NfUEFJTlRJTkdfQVBJKQorICAgIGNhc2UgUGFpbnRJbWFnZUNsYXNz
OgorICAgICAgICByZXR1cm4gRmxvYXRTaXplKCk7CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CkBAIC0yMTcsNiArMjI5LDEwIEBAIGJv
b2wgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6aXNQZW5kaW5nKCkgY29uc3QKICAgICAgICAgcmV0
dXJuIGRvd25jYXN0PENTU1JhZGlhbEdyYWRpZW50VmFsdWU+KCp0aGlzKS5pc1BlbmRpbmcoKTsK
ICAgICBjYXNlIENvbmljR3JhZGllbnRDbGFzczoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENT
U0NvbmljR3JhZGllbnRWYWx1ZT4oKnRoaXMpLmlzUGVuZGluZygpOworI2lmIEVOQUJMRShDU1Nf
UEFJTlRJTkdfQVBJKQorICAgIGNhc2UgUGFpbnRJbWFnZUNsYXNzOgorICAgICAgICByZXR1cm4g
ZmFsc2U7CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKICAgICB9CkBAIC0yNDAsNiArMjU2LDEwIEBAIGJvb2wgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1
ZTo6a25vd25Ub0JlT3BhcXVlKGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKSBjb25zCiAg
ICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NSYWRpYWxHcmFkaWVudFZhbHVlPigqdGhpcykua25v
d25Ub0JlT3BhcXVlKHJlbmRlcmVyKTsKICAgICBjYXNlIENvbmljR3JhZGllbnRDbGFzczoKICAg
ICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0NvbmljR3JhZGllbnRWYWx1ZT4oKnRoaXMpLmtub3du
VG9CZU9wYXF1ZShyZW5kZXJlcik7CisjaWYgRU5BQkxFKENTU19QQUlOVElOR19BUEkpCisgICAg
Y2FzZSBQYWludEltYWdlQ2xhc3M6CisgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogICAg
IGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KQEAgLTI2Nyw2
ICsyODcsMTAgQEAgdm9pZCBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjpsb2FkU3ViaW1hZ2VzKENh
Y2hlZFJlc291cmNlTG9hZGVyJiBjYWNoZWRSZXNvdXJjZUwKICAgICBjYXNlIENvbmljR3JhZGll
bnRDbGFzczoKICAgICAgICAgZG93bmNhc3Q8Q1NTQ29uaWNHcmFkaWVudFZhbHVlPigqdGhpcyku
bG9hZFN1YmltYWdlcyhjYWNoZWRSZXNvdXJjZUxvYWRlciwgb3B0aW9ucyk7CiAgICAgICAgIGJy
ZWFrOworI2lmIEVOQUJMRShDU1NfUEFJTlRJTkdfQVBJKQorICAgIGNhc2UgUGFpbnRJbWFnZUNs
YXNzOgorICAgICAgICBicmVhazsKKyNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYWludEltYWdlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhaW50SW1hZ2VW
YWx1ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzQyMWExZDJhOTkzNDA5N2Q3ZmYyZmVhMDUzM2RiZjJkMmM2
NTQzNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWludEltYWdl
VmFsdWUuY3BwCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVIgIkFTIElTIiBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBCRQorICogTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLAorICogT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgorICogVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GCisgKiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAq
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NQ
YWludEltYWdlVmFsdWUuaCIKKworI2lmIEVOQUJMRShDU1NfUEFJTlRJTkdfQVBJKQorCisjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K1N0cmluZyBDU1NQYWludEltYWdlVmFsdWU6OmN1c3RvbUNTU1RleHQoKSBjb25zdAoreworICAg
IFN0cmluZ0J1aWxkZXIgcmVzdWx0OworICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCJwYWludCgi
KTsKKyAgICByZXN1bHQuYXBwZW5kKG1fbmFtZSk7CisgICAgLy8gRklYTUU6IHByaW50IGFyZ3Mu
CisgICAgcmVzdWx0LmFwcGVuZCgnKScpOworICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYWludEltYWdlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYWludEltYWdlVmFsdWUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNmNhODQ1MzJlZjM5MmFhMmI0YWQ0YmYz
NTlhMTkyZTYzYzE1OGVmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhaW50SW1hZ2VWYWx1ZS5oCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVIgIkFTIElTIiBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBCRQorICogTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LAorICogT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgorICogVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GCisgKiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxF
KENTU19QQUlOVElOR19BUEkpCisKKyNpbmNsdWRlICJDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ1NTUGFpbnRJbWFnZVZhbHVlIGZpbmFs
IDogcHVibGljIENTU0ltYWdlR2VuZXJhdG9yVmFsdWUgeworcHVibGljOgorICAgIHN0YXRpYyBS
ZWY8Q1NTUGFpbnRJbWFnZVZhbHVlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTUGFpbnRJbWFnZVZhbHVlKG5hbWUpKTsK
KyAgICB9CisKKyAgICBib29sIGVxdWFscyhjb25zdCBDU1NQYWludEltYWdlVmFsdWUmIG90aGVy
KSBjb25zdCB7IHJldHVybiBtX25hbWUgPT0gb3RoZXIubV9uYW1lOyB9CisKKyAgICBTdHJpbmcg
Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0OworCitwcml2YXRlOgorICAgIENTU1BhaW50SW1hZ2VWYWx1
ZShjb25zdCBTdHJpbmcmIG5hbWUpCisgICAgICAgIDogQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZShQ
YWludEltYWdlQ2xhc3MpCisgICAgICAgICwgbV9uYW1lKG5hbWUpCisgICAgeworICAgIH0KKwor
ICAgIGNvbnN0IFN0cmluZyBtX25hbWU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
K1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1ZBTFVFKENTU1BhaW50SW1hZ2VWYWx1ZSwgaXNQ
YWludEltYWdlVmFsdWUoKSkKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
YWludFdvcmtsZXRHbG9iYWxTY29wZS5oCmluZGV4IDkwMDkyZDkxODA4ZTQ3MGM0MWI1YTNlZGU3
NDFkMmZhYTk1ODljZGIuLjIzYjBkOWQ4ZjNmMDIzN2UyNzkyZmNlZjdlNDc3ZmU1OGM2MmEzMDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWludFdvcmtsZXRHbG9iYWxTY29w
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWludFdvcmtsZXRHbG9iYWxTY29wZS5o
CkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoQ1NTX1BBSU5USU5HX0FQSSkKIAorI2lu
Y2x1ZGUgIkNTU1BhaW50Q2FsbGJhY2suaCIKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTQ5
LDYgKzUwLDkgQEAgcHVibGljOgogCiAgICAgc3RydWN0IFBhaW50RGVmaW5pdGlvbiB7CiAgICAg
ICAgIGNvbnN0IEF0b21pY1N0cmluZyBuYW1lOworICAgICAgICBjb25zdCBSZWY8Q1NTUGFpbnRD
YWxsYmFjaz4gcGFpbnRDYWxsYmFjazsKKyAgICAgICAgY29uc3QgVmVjdG9yPFN0cmluZz4gaW5w
dXRQcm9wZXJ0aWVzOworICAgICAgICBjb25zdCBWZWN0b3I8U3RyaW5nPiBpbnB1dEFyZ3VtZW50
czsKICAgICB9OwogCiAgICAgSGFzaE1hcDxTdHJpbmcsIHN0ZDo6dW5pcXVlX3B0cjxQYWludERl
ZmluaXRpb24+PiYgcGFpbnREZWZpbml0aW9uTWFwKCkgeyByZXR1cm4gbV9wYWludERlZmluaXRp
b25NYXA7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWludFdvcmtsZXRH
bG9iYWxTY29wZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFpbnRXb3JrbGV0R2xvYmFs
U2NvcGUuaWRsCmluZGV4IDQxMWViNzQ0ZWNhNTYwNDk3MjBhMWQyNDFhMTVlZDRkODA3NTc3ODgu
LmE1MzZjMGE0MTM5NWMwYTFhMDg0ZmExZjdlYjVhNmMyYmE3MmE2MWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWludFdvcmtsZXRHbG9iYWxTY29wZS5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmlkbApAQCAtMjcsNiAr
MjcsNyBAQAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q1NTUGFpbnRpbmdBUEksCiAgICAgQ29uZGl0
aW9uYWw9Q1NTX1BBSU5USU5HX0FQSSwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAor
ICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAogICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdAog
XSBpbnRlcmZhY2UgQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUgewogICAgIFtDdXN0b20sIE1h
eVRocm93RXhjZXB0aW9uXSB2b2lkIHJlZ2lzdGVyUGFpbnQoRE9NU3RyaW5nIG5hbWUsIEZ1bmN0
aW9uIHBhaW50Q3Rvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAppbmRleCA4NDk4YjJiMzE5YTVj
YzMyYTdlY2Y0NDIwZGI3Nzg2ZDgwMzYxN2U2Li5jYzNmNTlmMzBmYWViNTVmNzQ5NmJhOGQ5ODA0
OWQzN2IwOWMwNDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKQEAgLTUyLDYgKzUyLDcgQEAK
ICNpbmNsdWRlICJDU1NJbml0aWFsVmFsdWUuaCIKICNpbmNsdWRlICJDU1NMaW5lQm94Q29udGFp
blZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTTmFtZWRJbWFnZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NT
UGFpbnRJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVl
LmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NQcm9wZXJ0
eS5oIgpAQCAtMTUxLDYgKzE1MiwxMCBAQCBib29sIENTU1ZhbHVlOjplcXVhbHMoY29uc3QgQ1NT
VmFsdWUmIG90aGVyKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8
Q1NTQ3Vyc29ySW1hZ2VWYWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBGaWx0ZXJJ
bWFnZUNsYXNzOgogICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTRmlsdGVy
SW1hZ2VWYWx1ZT4oKnRoaXMsIG90aGVyKTsKKyNpZiBFTkFCTEUoQ1NTX1BBSU5USU5HX0FQSSkK
KyAgICAgICAgY2FzZSBQYWludEltYWdlQ2xhc3M6CisgICAgICAgICAgICByZXR1cm4gY29tcGFy
ZUNTU1ZhbHVlczxDU1NQYWludEltYWdlVmFsdWU+KCp0aGlzLCBvdGhlcik7CisjZW5kaWYKICAg
ICAgICAgY2FzZSBGb250Q2xhc3M6CiAgICAgICAgICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVl
czxDU1NGb250VmFsdWU+KCp0aGlzLCBvdGhlcik7CiAgICAgICAgIGNhc2UgRm9udEZhY2VTcmND
bGFzczoKQEAgLTI0Nyw2ICsyNTIsMTAgQEAgU3RyaW5nIENTU1ZhbHVlOjpjc3NUZXh0KCkgY29u
c3QKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0N1cnNvckltYWdlVmFsdWU+KCp0aGlzKS5j
dXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBGaWx0ZXJJbWFnZUNsYXNzOgogICAgICAgICByZXR1
cm4gZG93bmNhc3Q8Q1NTRmlsdGVySW1hZ2VWYWx1ZT4oKnRoaXMpLmN1c3RvbUNTU1RleHQoKTsK
KyNpZiBFTkFCTEUoQ1NTX1BBSU5USU5HX0FQSSkKKyAgICBjYXNlIFBhaW50SW1hZ2VDbGFzczoK
KyAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU1BhaW50SW1hZ2VWYWx1ZT4oKnRoaXMpLmN1c3Rv
bUNTU1RleHQoKTsKKyNlbmRpZgogICAgIGNhc2UgRm9udENsYXNzOgogICAgICAgICByZXR1cm4g
ZG93bmNhc3Q8Q1NTRm9udFZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2Ug
Rm9udEZhY2VTcmNDbGFzczoKQEAgLTQzMiw2ICs0NDEsMTEgQEAgdm9pZCBDU1NWYWx1ZTo6ZGVz
dHJveSgpCiAgICAgY2FzZSBGaWx0ZXJJbWFnZUNsYXNzOgogICAgICAgICBkZWxldGUgZG93bmNh
c3Q8Q1NTRmlsdGVySW1hZ2VWYWx1ZT4odGhpcyk7CiAgICAgICAgIHJldHVybjsKKyNpZiBFTkFC
TEUoQ1NTX1BBSU5USU5HX0FQSSkKKyAgICBjYXNlIFBhaW50SW1hZ2VDbGFzczoKKyAgICAgICAg
ZGVsZXRlIGRvd25jYXN0PENTU1BhaW50SW1hZ2VWYWx1ZT4odGhpcyk7CisgICAgICAgIHJldHVy
bjsKKyNlbmRpZgogICAgIGNhc2UgQ1NTQ29udGVudERpc3RyaWJ1dGlvbkNsYXNzOgogICAgICAg
ICBkZWxldGUgZG93bmNhc3Q8Q1NTQ29udGVudERpc3RyaWJ1dGlvblZhbHVlPih0aGlzKTsKICAg
ICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAppbmRleCBjMTZhNTI4NTU1ZTQ3OTEzNjZh
ODA2N2ZiYjcxYTA0NGU0MDEwOGRjLi5lMmRmOTFkMjg5ODk2ZjVjYjNlMzc5MjI5MzczNDk4MmQ1
Yjg3NjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaApAQCAtMTA2LDYgKzEwNiw3IEBAIHB1YmxpYzoK
ICAgICBib29sIGlzTGluZUJveENvbnRhaW5WYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NU
eXBlID09IExpbmVCb3hDb250YWluQ2xhc3M7IH0KICAgICBib29sIGlzQ2FsY1ZhbHVlKCkgY29u
c3Qge3JldHVybiBtX2NsYXNzVHlwZSA9PSBDYWxjdWxhdGlvbkNsYXNzOyB9CiAgICAgYm9vbCBp
c0ZpbHRlckltYWdlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGaWx0ZXJJ
bWFnZUNsYXNzOyB9CisgICAgYm9vbCBpc1BhaW50SW1hZ2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY2xhc3NUeXBlID09IFBhaW50SW1hZ2VDbGFzczsgfQogICAgIGJvb2wgaXNDb250ZW50RGlz
dHJpYnV0aW9uVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBDU1NDb250ZW50
RGlzdHJpYnV0aW9uQ2xhc3M7IH0KICAgICBib29sIGlzR3JpZEF1dG9SZXBlYXRWYWx1ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEdyaWRBdXRvUmVwZWF0Q2xhc3M7IH0KICAgICBi
b29sIGlzR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBl
ID09IEdyaWRUZW1wbGF0ZUFyZWFzQ2xhc3M7IH0KQEAgLTE0Miw2ICsxNDMsOSBAQCBwcm90ZWN0
ZWQ6CiAKICAgICAgICAgLy8gSW1hZ2UgZ2VuZXJhdG9yIGNsYXNzZXMuCiAgICAgICAgIENhbnZh
c0NsYXNzLAorI2lmIEVOQUJMRShDU1NfUEFJTlRJTkdfQVBJKQorICAgICAgICBQYWludEltYWdl
Q2xhc3MsCisjZW5kaWYKICAgICAgICAgTmFtZWRJbWFnZUNsYXNzLAogICAgICAgICBDcm9zc2Zh
ZGVDbGFzcywKICAgICAgICAgRmlsdGVySW1hZ2VDbGFzcywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zh
bHVlS2V5d29yZHMuaW4KaW5kZXggZDEzM2I2ZDM3NjVlZTZiNDc0OWY1ZTljYzc4MDhhNGY0OGUy
YzY0YS4uZjE0ODA1ODE5YTBkN2ZiYWEyZTIyNWQ3NTZkZTQxODk4NjRiYzU1YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KQEAgLTEyMDEsNiArMTIwMSw5IEBAIHJlcGVh
dGluZy1jb25pYy1ncmFkaWVudAogZmlsdGVyCiAtd2Via2l0LWZpbHRlcgogZGFzaGJvYXJkLXJl
Z2lvbgorI2lmIGRlZmluZWQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICYmIEVOQUJMRV9DU1Nf
UEFJTlRJTkdfQVBJCitwYWludAorI2VuZGlmCiAKIC8vIGRlcHJlY2F0ZWQgZ3JhZGllbnRzCiBm
cm9tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFy
c2VySGVscGVycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFy
c2VySGVscGVycy5jcHAKaW5kZXggMjlkNTJiOGRmNmRkMGI0M2Q2NTZjOGZkMDY1NjBjYTU4Yzdl
YmQxZC4uNGUzOTUzM2UxMWFiYzY1NWNlYTVmYjczYmJhZTJjYjAzYzBhNGMwZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJz
LmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkNTU0ltYWdlU2V0VmFsdWUuaCIKICNp
bmNsdWRlICJDU1NJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTTmFtZWRJbWFnZVZhbHVlLmgi
CisjaW5jbHVkZSAiQ1NTUGFpbnRJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VySWRp
b21zLmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVQb29sLmgiCiAjaW5jbHVkZSAiUGFpci5oIgpAQCAt
MTI4MSw2ICsxMjgyLDIzIEBAIHN0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVGaWx0ZXJJ
bWFnZShDU1NQYXJzZXJUb2tlblJhbmdlJiBhcmdzLCBjb25zdCBDU1NQCiAgICAgcmV0dXJuIENT
U0ZpbHRlckltYWdlVmFsdWU6OmNyZWF0ZShpbWFnZVZhbHVlLnJlbGVhc2VOb25OdWxsKCksIGZp
bHRlclZhbHVlLnJlbGVhc2VOb25OdWxsKCkpOwogfQogCisjaWYgRU5BQkxFKENTU19QQUlOVElO
R19BUEkpCitzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ3VzdG9tUGFpbnQoQ1NTUGFy
c2VyVG9rZW5SYW5nZSYgYXJncykKK3sKKyAgICBpZiAoIVJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkuY3NzUGFpbnRpbmdBUElFbmFibGVkKCkpCisgICAgICAgIHJldHVy
biBudWxscHRyOworICAgIGlmIChhcmdzLnBlZWsoKS50eXBlKCkgIT0gSWRlbnRUb2tlbikKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgYXV0byBuYW1lID0gYXJncy5jb25zdW1lSW5jbHVk
aW5nV2hpdGVzcGFjZSgpLnZhbHVlKCkudG9TdHJpbmcoKTsKKworICAgIC8vIEZJWE1FOiBzaG91
bGQgcGFyc2UgYXJndW1lbnRzCisgICAgd2hpbGUgKCFhcmdzLmF0RW5kKCkpCisgICAgICAgIGFy
Z3MuY29uc3VtZSgpOworCisgICAgcmV0dXJuIENTU1BhaW50SW1hZ2VWYWx1ZTo6Y3JlYXRlKG5h
bWUpOworfQorI2VuZGlmCisKIHN0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVHZW5lcmF0
ZWRJbWFnZShDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgQ1NTUGFyc2VyQ29udGV4dCBjb250
ZXh0KQogewogICAgIENTU1ZhbHVlSUQgaWQgPSByYW5nZS5wZWVrKCkuZnVuY3Rpb25JZCgpOwpA
QCAtMTMxNyw2ICsxMzM1LDEwIEBAIHN0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVHZW5l
cmF0ZWRJbWFnZShDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgQ1NTUGFyCiAgICAgICAgIHJl
c3VsdCA9IGNvbnN1bWVXZWJraXROYW1lZEltYWdlKGFyZ3MpOwogICAgIGVsc2UgaWYgKGlkID09
IENTU1ZhbHVlV2Via2l0RmlsdGVyIHx8IGlkID09IENTU1ZhbHVlRmlsdGVyKQogICAgICAgICBy
ZXN1bHQgPSBjb25zdW1lRmlsdGVySW1hZ2UoYXJncywgY29udGV4dCk7CisjaWYgRU5BQkxFKENT
U19QQUlOVElOR19BUEkpCisgICAgZWxzZSBpZiAoaWQgPT0gQ1NTVmFsdWVQYWludCkKKyAgICAg
ICAgcmVzdWx0ID0gY29uc3VtZUN1c3RvbVBhaW50KGFyZ3MpOworI2VuZGlmCiAgICAgaWYgKCFy
ZXN1bHQgfHwgIWFyZ3MuYXRFbmQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgcmFu
Z2UgPSByYW5nZUNvcHk7CkBAIC0xMzcxLDYgKzEzOTMsOSBAQCBzdGF0aWMgYm9vbCBpc0dlbmVy
YXRlZEltYWdlKENTU1ZhbHVlSUQgaWQpCiAgICAgICAgIHx8IGlkID09IENTU1ZhbHVlQ3Jvc3NG
YWRlCiAgICAgICAgIHx8IGlkID09IENTU1ZhbHVlV2Via2l0TmFtZWRJbWFnZQogICAgICAgICB8
fCBpZCA9PSBDU1NWYWx1ZVdlYmtpdEZpbHRlcgorI2lmIEVOQUJMRShDU1NfUEFJTlRJTkdfQVBJ
KQorICAgICAgICB8fCBpZCA9PSBDU1NWYWx1ZVBhaW50CisjZW5kaWYKICAgICAgICAgfHwgaWQg
PT0gQ1NTVmFsdWVGaWx0ZXI7CiB9CiAgICAgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOWY2YjVhYmMxMGVhNWNmZWY4MDk4
ZmI2OTVhODQzZWRhZjAxZTBmYS4uMTlmODVlOWQ0Zjc5MjVjZmMyY2Q4NGFkMGJhZjAxZmZhYjE2
MjcyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE4LTEwLTE2ICBKdXN0aW4gTWljaGF1ZCAg
PGp1c3Rpbl9taWNoYXVkQGFwcGxlLmNvbT4KKworICAgICAgICBQYXJzZSBwYWludCgpIGFuZCBz
dG9yZSBwYWludCBjYWxsYmFja3MgZm9yIENTUyBQYWludGluZyBBUEkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jc3MtY3VzdG9tLXBhaW50
L2Jhc2ljLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy1jdXN0b20tcGFpbnQvYmFz
aWMuaHRtbDoKKwogMjAxOC0xMC0xNiAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5j
b20+CiAKICAgICAgICAgQWRkIDxtZXRhIG5hbWU9InN1cHBvcnRlZC1jb2xvci1zY2hlbWVzIj4g
dG8gY29udHJvbCB3aGF0IGNvbG9yIHNjaGVtZXMgdGhlIHBhZ2Ugc3VwcG9ydHMKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWN1c3RvbS1wYWludC9iYXNpYy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1jdXN0b20tcGFpbnQvYmFzaWMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGU3MTJkY2MyYWNkMzFkMjY3NTFhZGYyODZkMGZkMjAzN2ViNTY5MWQuLmNkN2YyZWViYjE4
OTE4MDRlYTliOTcyNThkOTQ1NWY3NmFmYTg0OGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvY3NzLWN1c3RvbS1wYWludC9iYXNpYy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MtY3VzdG9tLXBhaW50L2Jhc2ljLWV4cGVjdGVkLnR4dApAQCAtNSw0ICs1LDUgQEAg
UEFTUyB0ZXN0IHRoYXQgcmVnaXN0ZXJQYWludCBydW5zIHdpdGggaW5wdXRBcmd1bWVudHMKIFBB
U1MgdGVzdCB0aGF0IHJlZ2lzdGVyUGFpbnQgcnVucyB3aXRoIGNvbnRleHRPcHRpb25zIAogUEFT
UyB0ZXN0IHRoYXQgcmVnaXN0ZXJQYWludCBydW5zIHdpdGggcHJlZGVmaW5lZCBjbGFzcyAKIFBB
U1MgdGVzdCB0aGF0IHJlZ2lzdGVyUGFpbnQgYWNjZXB0cyBvbmx5IGEgc3RyaW5nIGFuZCBhIGNs
YXNzIGNvbnN0cnVjdG9yIAorUEFTUyB0ZXN0IHRoYXQgdGVzdCBkaXYgaGFzIHBhaW50KCkgdmFs
dWUgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWN1c3RvbS1wYWludC9iYXNp
Yy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtY3VzdG9tLXBhaW50L2Jhc2ljLmh0bWwKaW5k
ZXggNTJjMGU1YmRhNzBlODdkMWNhMzdlOTU1MTY3MGI2MDQ4ZWRlMzUzNC4uMzY5OWFhMjFlYTEx
NjcxYzk5OTQwMDdkOTdlN2VkNDBkZmYyNzFhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9jc3MtY3VzdG9tLXBhaW50L2Jhc2ljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mt
Y3VzdG9tLXBhaW50L2Jhc2ljLmh0bWwKQEAgLTQsNiArNCwxNyBAQAogPGxpbmsgcmVsPSJoZWxw
IiBjb250ZW50PSJodHRwczovL2RyYWZ0cy5jc3MtaG91ZGluaS5vcmcvY3NzLXBhaW50LWFwaS0x
LyI+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorCis8c3R5bGU+CisgICNwYWludCB7CisgICAgYmFja2dyb3VuZC1pbWFnZTogcGFp
bnQobXktcGFpbnQpOworICAgIHdpZHRoOiA1MHB4OworICAgIGhlaWdodDogNTBweDsKKyAgfQor
PC9zdHlsZT4KKworPGRpdiBpZD0icGFpbnQiPjwvZGl2PgorCiA8c2NyaXB0PgogdGVzdChmdW5j
dGlvbigpIHsKICAgQ1NTLnBhaW50V29ya2xldEdsb2JhbFNjb3BlLnJlZ2lzdGVyUGFpbnQoJ3Rl
c3QxJywgY2xhc3MgewpAQCAtNTEsNCArNjIsOCBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICBhc3Nl
cnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgKCkgPT4gQ1NTLnBhaW50V29ya2xldEdsb2JhbFNj
b3BlLnJlZ2lzdGVyUGFpbnQoJycsIDUpKTsKIH0sICd0ZXN0IHRoYXQgcmVnaXN0ZXJQYWludCBh
Y2NlcHRzIG9ubHkgYSBzdHJpbmcgYW5kIGEgY2xhc3MgY29uc3RydWN0b3InKTsKIAordGVzdChm
dW5jdGlvbigpIHsKKyAgYXNzZXJ0X2VxdWFscyhnZXRDb21wdXRlZFN0eWxlKHBhaW50KS5nZXRQ
cm9wZXJ0eVZhbHVlKCJiYWNrZ3JvdW5kLWltYWdlIiksICJwYWludChteS1wYWludCkiKTsKK30s
ICd0ZXN0IHRoYXQgdGVzdCBkaXYgaGFzIHBhaW50KCkgdmFsdWUnKTsKKwogPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352652</attachid>
            <date>2018-10-17 15:26:35 -0700</date>
            <delta_ts>2018-10-17 15:51:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190657-20181017152634.patch</filename>
            <type>text/plain</type>
            <size>25898</size>
            <attacher name="Justin Michaud">justin_michaud</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MjA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDNkZmZmMDEzZGNmODU0
Mjg4MjcwM2U2OGFhZjYwOGY3OTM4YThlYy4uOWRiNDc4ODU4NTMyNGQzZTFkNDUxZTQxNzBlYTcy
NDc4YjAzMzQ4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE4LTEwLTE2ICBKdXN0
aW4gTWljaGF1ZCAgPGp1c3Rpbl9taWNoYXVkQGFwcGxlLmNvbT4KKworICAgICAgICBQYXJzZSBw
YWludCgpIGFuZCBzdG9yZSBwYWludCBjYWxsYmFja3MgZm9yIENTUyBQYWludGluZyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBz
dXBwb3J0IGZvciBwYXJzaW5nIHBhaW50KCkgaW1hZ2VzIGluIGNzcywgYW5kIHN0b3JlIENTUyBw
YWludCBjYWxsYmFjayBvYmplY3RzIGluIHRoZSBwYWludCBkZWZpbml0aW9uIG1hcC4KKworICAg
ICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0NTU1BhaW50V29ya2xldEdsb2JhbFNj
b3BlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQ1NTUGFpbnRXb3JrbGV0R2xvYmFs
U2NvcGU6OnZpc2l0QWRkaXRpb25hbENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OkpTQ1NT
UGFpbnRXb3JrbGV0R2xvYmFsU2NvcGU6OnJlZ2lzdGVyUGFpbnQpOgorICAgICAgICAqIGNzcy9D
U1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlR2Vu
ZXJhdG9yVmFsdWU6OmltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlR2VuZXJhdG9y
VmFsdWU6OmlzRml4ZWRTaXplIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlR2Vu
ZXJhdG9yVmFsdWU6OmZpeGVkU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbWFnZUdlbmVy
YXRvclZhbHVlOjppc1BlbmRpbmcgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VH
ZW5lcmF0b3JWYWx1ZTo6a25vd25Ub0JlT3BhcXVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OmxvYWRTdWJpbWFnZXMpOgorICAgICAgICAqIGNzcy9D
U1NQYWludEltYWdlVmFsdWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhaW50
SW1hZ2VWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCBjb25zdCk6CisgICAgICAgICogY3NzL0NTU1BhaW50
SW1hZ2VWYWx1ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBjc3MvQ1NTUGFpbnRXb3JrbGV0R2xvYmFs
U2NvcGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaWRsOgor
ICAgICAgICAqIGNzcy9DU1NWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6
ZXF1YWxzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpjc3NUZXh0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpkZXN0cm95KToKKyAgICAgICAgKiBjc3Mv
Q1NTVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjppc1BhaW50SW1hZ2VWYWx1
ZSBjb25zdCk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46CisgICAgICAgICog
Y3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1lQ3VzdG9tUGFpbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1lR2VuZXJhdGVkSW1h
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjppc0dlbmVy
YXRlZEltYWdlKToKKwogMjAxOC0xMC0xNiAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBs
ZS5jb20+CiAKICAgICAgICAgQWRkIDxtZXRhIG5hbWU9InN1cHBvcnRlZC1jb2xvci1zY2hlbWVz
Ij4gdG8gY29udHJvbCB3aGF0IGNvbG9yIHNjaGVtZXMgdGhlIHBhZ2Ugc3VwcG9ydHMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKaW5kZXggNjgwNjY2NDc5OTgyY2U4ZTRlNzY1ZTRmZWE4YWUyZDQ5OTdiYWU3ZS4uYjJh
Y2E3YjM2MjQ1NmFmOGRjOTJiODk1YzcwOGI4OGZkMDU4ZTY3ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAg
LTYwNCw2ICs2MDQsNyBAQCBjc3MvQ1NTTWVkaWFSdWxlLmNwcAogY3NzL0NTU05hbWVkSW1hZ2VW
YWx1ZS5jcHAKIGNzcy9DU1NOYW1lc3BhY2VSdWxlLmNwcAogY3NzL0NTU1BhZ2VSdWxlLmNwcAor
Y3NzL0NTU1BhaW50SW1hZ2VWYWx1ZS5jcHAKIGNzcy9DU1NQYWludFdvcmtsZXRHbG9iYWxTY29w
ZS5jcHAKIGNzcy9DU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUuY3BwCiBjc3MvQ1NTUHJpbWl0
aXZlVmFsdWUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggYjNkYzdkNTliMzRlMjhmM2EzODk4MjI3ODhkY2U4NDI0Yjk5ODlh
Zi4uMTQwYWI3YWNjYTI5NmFkZTAyOWVjODBkZTg4MGUxOTBkNDA3MjQwZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTM0OSw2
ICsxMzQ5LDcgQEAKIAkJNEI1QkREOUIyMTY1OEExNTAwREQ0MjYyIC8qIENTU1BhaW50Q2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRCNUJE
RDlBMjE2NThBMTUwMERENDI2MiAvKiBDU1NQYWludENhbGxiYWNrLmggKi87IH07CiAJCTRCNkI1
Q0JEMjE2NDBFRkYwMDYwMzgxNyAvKiBET01DU1NQYWludFdvcmtsZXQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRCNkI1Q0I4MjE2M0VDMDcwMDYwMzgx
NyAvKiBET01DU1NQYWludFdvcmtsZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk0QjZCNUNDMDIxNjQzODY0MDA2MDM4MTcgLyogQ1NTUGFpbnRX
b3JrbGV0R2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDRCNkI1Q0JGMjE2NDM4NjQwMDYwMzgxNyAvKiBDU1NQYWludFdvcmtsZXRHbG9i
YWxTY29wZS5oICovOyB9OworCQk0QjZFODc2OTIxNzZENjkyMDA0MjBFNUUgLyogQ1NTUGFpbnRJ
bWFnZVZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0QjZFODc2ODIxNzZENjkyMDA0MjBFNUUgLyogQ1NTUGFpbnRJbWFnZVZhbHVlLmggKi87IH07
CiAJCTRCNkZBNkY0MEMzOUU0OEMwMDA4NzAxMSAvKiBTbWFydFJlcGxhY2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRCNkZBNkYyMEMzOUU0OEMwMDA4
NzAxMSAvKiBTbWFydFJlcGxhY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk0QkFFOTVCMTBCMkZBOUNFMDBBRUQ4QTAgLyogRWRpdG9yRGVsZXRl
QWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
QkFFOTVCMDBCMkZBOUNFMDBBRUQ4QTAgLyogRWRpdG9yRGVsZXRlQWN0aW9uLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNEJEQTNGRkUyMTUxQjZG
NTAwRkQ2NjA0IC8qIERPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRvci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEJEQTNGRjgyMTUxQjZGMjAwRkQ2
NjA0IC8qIERPTUNTU0N1c3RvbVByb3BlcnR5RGVzY3JpcHRvci5oICovOyB9OwpAQCAtNzg4Niw2
ICs3ODg3LDggQEAKIAkJNEI2QjVDQkYyMTY0Mzg2NDAwNjAzODE3IC8qIENTU1BhaW50V29ya2xl
dEdsb2JhbFNjb3BlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1BhaW50V29ya2xldEdsb2JhbFNjb3Bl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRCNkI1Q0MxMjE2NDM5Q0YwMDYwMzgx
NyAvKiBDU1NQYWludFdvcmtsZXRHbG9iYWxTY29wZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBD
U1NQYWludFdvcmtsZXRHbG9iYWxTY29wZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTRCNkI1Q0MzMjE2NDNBOEUwMDYwMzgxNyAvKiBDU1NQYWludFdvcmtsZXRHbG9iYWxTY29w
ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk0QjZFODc2ODIxNzZENjkyMDA0MjBFNUUgLyogQ1NTUGFpbnRJbWFn
ZVZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1BhaW50SW1hZ2VWYWx1ZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk0QjZFODc2QjIxNzZEOEExMDA0MjBFNUUgLyogQ1NTUGFpbnRJ
bWFnZVZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU1BhaW50SW1hZ2VWYWx1ZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRCNkZBNkYyMEMzOUU0OEMwMDA4NzAxMSAv
KiBTbWFydFJlcGxhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU21hcnRS
ZXBsYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRCNkZBNkY2MEMzOUU0QTEw
MDA4NzAxMSAvKiBTbWFydFJlcGxhY2VDRi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTbWFydFJlcGxhY2VDRi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTRCQUU5NUIwMEIyRkE5Q0UwMEFFRDhBMCAvKiBFZGl0b3JEZWxldGVBY3Rpb24uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRWRpdG9yRGVsZXRlQWN0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNTk1MCw2ICsyNTk1Myw4IEBACiAJCQkJODVDNTZD
QTYwQUE4OUQ1RjAwRDk1NzU1IC8qIENTU1BhZ2VSdWxlLmlkbCAqLywKIAkJCQk0QjVCREQ5QTIx
NjU4QTE1MDBERDQyNjIgLyogQ1NTUGFpbnRDYWxsYmFjay5oICovLAogCQkJCTRCNUJERDk5MjE2
NTg4RTUwMERENDI2MiAvKiBDU1NQYWludENhbGxiYWNrLmlkbCAqLywKKwkJCQk0QjZFODc2QjIx
NzZEOEExMDA0MjBFNUUgLyogQ1NTUGFpbnRJbWFnZVZhbHVlLmNwcCAqLywKKwkJCQk0QjZFODc2
ODIxNzZENjkyMDA0MjBFNUUgLyogQ1NTUGFpbnRJbWFnZVZhbHVlLmggKi8sCiAJCQkJNEI2QjVD
QzEyMTY0MzlDRjAwNjAzODE3IC8qIENTU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNwcCAqLywK
IAkJCQk0QjZCNUNCRjIxNjQzODY0MDA2MDM4MTcgLyogQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2Nv
cGUuaCAqLywKIAkJCQk0QjZCNUNDMzIxNjQzQThFMDA2MDM4MTcgLyogQ1NTUGFpbnRXb3JrbGV0
R2xvYmFsU2NvcGUuaWRsICovLApAQCAtMjc5NTIsNiArMjc5NTcsNyBAQAogCQkJCTk0RTgzOTUx
MURGQjJBMEUwMDdCQzZBNyAvKiBDU1NOYW1lc3BhY2VSdWxlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBODBFNkQwMDBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTUGFnZVJ1bGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTRCNUJERDlCMjE2NThBMTUwMERENDI2MiAvKiBDU1NQYWludENhbGxiYWNrLmggaW4g
SGVhZGVycyAqLywKKwkJCQk0QjZFODc2OTIxNzZENjkyMDA0MjBFNUUgLyogQ1NTUGFpbnRJbWFn
ZVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QjZCNUNDMDIxNjQzODY0MDA2MDM4MTcgLyog
Q1NTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk0NkQzNzJF
MUQ2Q0IyOTQwMDc3MDg0RiAvKiBDU1NQYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0QTc5
OTUyMjBFRTRCMTQwMEMxOTU2OCAvKiBDU1NQYXJzZXJDb250ZXh0LmggaW4gSGVhZGVycyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUGFpbnRXb3JrbGV0
R2xvYmFsU2NvcGVDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NQ
YWludFdvcmtsZXRHbG9iYWxTY29wZUN1c3RvbS5jcHAKaW5kZXggMDU3YWMzZmM4OWIzNWQ1YzUx
NDg0MjkzMjFhMmIwNmJkMjk2Mjk5Yy4uYjlmYTM0NWE1ZTM4ZjM5ZjNjMWRlZGNkNTNiNmZhMzcz
ODU1MTNiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NQYWlu
dFdvcmtsZXRHbG9iYWxTY29wZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNDU1NQYWludFdvcmtsZXRHbG9iYWxTY29wZUN1c3RvbS5jcHAKQEAgLTQ0LDYgKzQ0
LDEyIEBAIHN0YXRpYyBKU1ZhbHVlIHRocm93SW52YWxpZE1vZGlmaWNhdGlvbkVycm9yKEV4ZWNT
dGF0ZSYgc3RhdGUsIFRocm93U2NvcGUmIHNjb3BlCiAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7
CiB9CiAKK3ZvaWQgSlNDU1NQYWludFdvcmtsZXRHbG9iYWxTY29wZTo6dmlzaXRBZGRpdGlvbmFs
Q2hpbGRyZW4oSlNDOjpTbG90VmlzaXRvciYgdmlzaXRvcikKK3sKKyAgICBmb3IgKGF1dG8mIHJl
Z2lzdGVyZWQgOiB3cmFwcGVkKCkucGFpbnREZWZpbml0aW9uTWFwKCkudmFsdWVzKCkpCisgICAg
ICAgIHJlZ2lzdGVyZWQtPnBhaW50Q2FsbGJhY2stPnZpc2l0SlNGdW5jdGlvbih2aXNpdG9yKTsK
K30KKwogLy8gaHR0cHM6Ly9kcmFmdHMuY3NzLWhvdWRpbmkub3JnL2Nzcy1wYWludC1hcGkvI3Jl
Z2lzdGVyaW5nLWN1c3RvbS1wYWludAogSlNWYWx1ZSBKU0NTU1BhaW50V29ya2xldEdsb2JhbFNj
b3BlOjpyZWdpc3RlclBhaW50KEV4ZWNTdGF0ZSYgc3RhdGUpCiB7CkBAIC0xMTUsMTggKzEyMSwx
MSBAQCBKU1ZhbHVlIEpTQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGU6OnJlZ2lzdGVyUGFpbnQo
RXhlY1N0YXRlJiBzdGF0ZSkKICAgICBSZWZQdHI8SlNDU1NQYWludENhbGxiYWNrPiBwYWludCA9
IGNvbnZlcnQ8SURMQ2FsbGJhY2tGdW5jdGlvbjxKU0NTU1BhaW50Q2FsbGJhY2s+PihzdGF0ZSwg
cGFpbnRWYWx1ZSwgKmdsb2JhbE9iamVjdCgpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCBKU1ZhbHVlKCkpOwogCi0gICAgYXV0byBwYWludERlZmluaXRpb24gPSBzdGQ6OnVuaXF1
ZV9wdHI8UGFpbnREZWZpbml0aW9uPihuZXcgUGFpbnREZWZpbml0aW9uIHsgbmFtZSB9KTsKKyAg
ICBhdXRvIHBhaW50RGVmaW5pdGlvbiA9IHN0ZDo6dW5pcXVlX3B0cjxQYWludERlZmluaXRpb24+
KG5ldyBQYWludERlZmluaXRpb24geyBuYW1lLCBwYWludC5yZWxlYXNlTm9uTnVsbCgpLCBpbnB1
dFByb3BlcnRpZXMsIGlucHV0QXJndW1lbnRzIH0pOwogICAgIHBhaW50RGVmaW5pdGlvbk1hcC5h
ZGQobmFtZSwgV1RGTW92ZShwYWludERlZmluaXRpb24pKTsKIAogICAgIC8vIEZJWE1FOiBjb25z
dHJ1Y3QgZG9jdW1lbnREZWZpbml0aW9uIChzdGVwIDIyKS4KIAotICAgIC8vIEZJWE1FOiBUaGlz
IGlzIGZvciB0ZXN0aW5nIG9ubHkuCi0gICAgcGFpbnQtPmhhbmRsZUV2ZW50KCk7Ci0gICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgSlNWYWx1ZSgpKTsKLQotICAgIFVOVVNFRF9QQVJBTShp
bnB1dFByb3BlcnRpZXMpOwotICAgIFVOVVNFRF9QQVJBTShpbnB1dEFyZ3VtZW50cyk7Ci0KICAg
ICByZXR1cm4ganNVbmRlZmluZWQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0lt
YWdlR2VuZXJhdG9yVmFsdWUuY3BwCmluZGV4IDdhOGUxOWYyMzBmNGEyMDBhNTJiNTExNTgzMDJl
MWNkY2U1NWZjNmUuLmI2MDAwMzMzOTUyNTQyMGEwMGFkMjYwMTE2Y2M5MGFiMzQ3YTA0YWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKQEAgLTE1
MCw2ICsxNTAsMTAgQEAgUmVmUHRyPEltYWdlPiBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjppbWFn
ZShSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY29uc3QgRmxvYXQKICAgICAgICAgcmV0dXJuIGRv
d25jYXN0PENTU1JhZGlhbEdyYWRpZW50VmFsdWU+KCp0aGlzKS5pbWFnZShyZW5kZXJlciwgc2l6
ZSk7CiAgICAgY2FzZSBDb25pY0dyYWRpZW50Q2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2Fz
dDxDU1NDb25pY0dyYWRpZW50VmFsdWU+KCp0aGlzKS5pbWFnZShyZW5kZXJlciwgc2l6ZSk7Cisj
aWYgRU5BQkxFKENTU19QQUlOVElOR19BUEkpCisgICAgY2FzZSBQYWludEltYWdlQ2xhc3M6Cisg
ICAgICAgIHJldHVybiBudWxscHRyOworI2VuZGlmCiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfQpAQCAtMTczLDYgKzE3NywxMCBAQCBib29sIENTU0lt
YWdlR2VuZXJhdG9yVmFsdWU6OmlzRml4ZWRTaXplKCkgY29uc3QKICAgICAgICAgcmV0dXJuIGRv
d25jYXN0PENTU1JhZGlhbEdyYWRpZW50VmFsdWU+KCp0aGlzKS5pc0ZpeGVkU2l6ZSgpOwogICAg
IGNhc2UgQ29uaWNHcmFkaWVudENsYXNzOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTQ29u
aWNHcmFkaWVudFZhbHVlPigqdGhpcykuaXNGaXhlZFNpemUoKTsKKyNpZiBFTkFCTEUoQ1NTX1BB
SU5USU5HX0FQSSkKKyAgICBjYXNlIFBhaW50SW1hZ2VDbGFzczoKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworI2VuZGlmCiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CiAgICAgfQpAQCAtMTk0LDYgKzIwMiwxMCBAQCBGbG9hdFNpemUgQ1NTSW1hZ2VHZW5lcmF0b3JW
YWx1ZTo6Zml4ZWRTaXplKGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQogICAgICAgICBy
ZXR1cm4gZG93bmNhc3Q8Q1NTUmFkaWFsR3JhZGllbnRWYWx1ZT4oKnRoaXMpLmZpeGVkU2l6ZShy
ZW5kZXJlcik7CiAgICAgY2FzZSBDb25pY0dyYWRpZW50Q2xhc3M6CiAgICAgICAgIHJldHVybiBk
b3duY2FzdDxDU1NDb25pY0dyYWRpZW50VmFsdWU+KCp0aGlzKS5maXhlZFNpemUocmVuZGVyZXIp
OworI2lmIEVOQUJMRShDU1NfUEFJTlRJTkdfQVBJKQorICAgIGNhc2UgUGFpbnRJbWFnZUNsYXNz
OgorICAgICAgICByZXR1cm4gRmxvYXRTaXplKCk7CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CkBAIC0yMTcsNiArMjI5LDEwIEBAIGJv
b2wgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6aXNQZW5kaW5nKCkgY29uc3QKICAgICAgICAgcmV0
dXJuIGRvd25jYXN0PENTU1JhZGlhbEdyYWRpZW50VmFsdWU+KCp0aGlzKS5pc1BlbmRpbmcoKTsK
ICAgICBjYXNlIENvbmljR3JhZGllbnRDbGFzczoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENT
U0NvbmljR3JhZGllbnRWYWx1ZT4oKnRoaXMpLmlzUGVuZGluZygpOworI2lmIEVOQUJMRShDU1Nf
UEFJTlRJTkdfQVBJKQorICAgIGNhc2UgUGFpbnRJbWFnZUNsYXNzOgorICAgICAgICByZXR1cm4g
ZmFsc2U7CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKICAgICB9CkBAIC0yNDAsNiArMjU2LDEwIEBAIGJvb2wgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1
ZTo6a25vd25Ub0JlT3BhcXVlKGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKSBjb25zCiAg
ICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NSYWRpYWxHcmFkaWVudFZhbHVlPigqdGhpcykua25v
d25Ub0JlT3BhcXVlKHJlbmRlcmVyKTsKICAgICBjYXNlIENvbmljR3JhZGllbnRDbGFzczoKICAg
ICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0NvbmljR3JhZGllbnRWYWx1ZT4oKnRoaXMpLmtub3du
VG9CZU9wYXF1ZShyZW5kZXJlcik7CisjaWYgRU5BQkxFKENTU19QQUlOVElOR19BUEkpCisgICAg
Y2FzZSBQYWludEltYWdlQ2xhc3M6CisgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogICAg
IGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KQEAgLTI2Nyw2
ICsyODcsMTAgQEAgdm9pZCBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjpsb2FkU3ViaW1hZ2VzKENh
Y2hlZFJlc291cmNlTG9hZGVyJiBjYWNoZWRSZXNvdXJjZUwKICAgICBjYXNlIENvbmljR3JhZGll
bnRDbGFzczoKICAgICAgICAgZG93bmNhc3Q8Q1NTQ29uaWNHcmFkaWVudFZhbHVlPigqdGhpcyku
bG9hZFN1YmltYWdlcyhjYWNoZWRSZXNvdXJjZUxvYWRlciwgb3B0aW9ucyk7CiAgICAgICAgIGJy
ZWFrOworI2lmIEVOQUJMRShDU1NfUEFJTlRJTkdfQVBJKQorICAgIGNhc2UgUGFpbnRJbWFnZUNs
YXNzOgorICAgICAgICBicmVhazsKKyNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYWludEltYWdlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhaW50SW1hZ2VW
YWx1ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzQyMWExZDJhOTkzNDA5N2Q3ZmYyZmVhMDUzM2RiZjJkMmM2
NTQzNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWludEltYWdl
VmFsdWUuY3BwCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVIgIkFTIElTIiBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBCRQorICogTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLAorICogT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgorICogVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GCisgKiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAq
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NQ
YWludEltYWdlVmFsdWUuaCIKKworI2lmIEVOQUJMRShDU1NfUEFJTlRJTkdfQVBJKQorCisjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K1N0cmluZyBDU1NQYWludEltYWdlVmFsdWU6OmN1c3RvbUNTU1RleHQoKSBjb25zdAoreworICAg
IFN0cmluZ0J1aWxkZXIgcmVzdWx0OworICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCJwYWludCgi
KTsKKyAgICByZXN1bHQuYXBwZW5kKG1fbmFtZSk7CisgICAgLy8gRklYTUU6IHByaW50IGFyZ3Mu
CisgICAgcmVzdWx0LmFwcGVuZCgnKScpOworICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYWludEltYWdlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYWludEltYWdlVmFsdWUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNmNhODQ1MzJlZjM5MmFhMmI0YWQ0YmYz
NTlhMTkyZTYzYzE1OGVmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhaW50SW1hZ2VWYWx1ZS5oCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVIgIkFTIElTIiBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBCRQorICogTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LAorICogT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgorICogVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GCisgKiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxF
KENTU19QQUlOVElOR19BUEkpCisKKyNpbmNsdWRlICJDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ1NTUGFpbnRJbWFnZVZhbHVlIGZpbmFs
IDogcHVibGljIENTU0ltYWdlR2VuZXJhdG9yVmFsdWUgeworcHVibGljOgorICAgIHN0YXRpYyBS
ZWY8Q1NTUGFpbnRJbWFnZVZhbHVlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTUGFpbnRJbWFnZVZhbHVlKG5hbWUpKTsK
KyAgICB9CisKKyAgICBib29sIGVxdWFscyhjb25zdCBDU1NQYWludEltYWdlVmFsdWUmIG90aGVy
KSBjb25zdCB7IHJldHVybiBtX25hbWUgPT0gb3RoZXIubV9uYW1lOyB9CisKKyAgICBTdHJpbmcg
Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0OworCitwcml2YXRlOgorICAgIENTU1BhaW50SW1hZ2VWYWx1
ZShjb25zdCBTdHJpbmcmIG5hbWUpCisgICAgICAgIDogQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZShQ
YWludEltYWdlQ2xhc3MpCisgICAgICAgICwgbV9uYW1lKG5hbWUpCisgICAgeworICAgIH0KKwor
ICAgIGNvbnN0IFN0cmluZyBtX25hbWU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
K1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1ZBTFVFKENTU1BhaW50SW1hZ2VWYWx1ZSwgaXNQ
YWludEltYWdlVmFsdWUoKSkKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
YWludFdvcmtsZXRHbG9iYWxTY29wZS5oCmluZGV4IDkwMDkyZDkxODA4ZTQ3MGM0MWI1YTNlZGU3
NDFkMmZhYTk1ODljZGIuLjIzYjBkOWQ4ZjNmMDIzN2UyNzkyZmNlZjdlNDc3ZmU1OGM2MmEzMDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWludFdvcmtsZXRHbG9iYWxTY29w
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWludFdvcmtsZXRHbG9iYWxTY29wZS5o
CkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoQ1NTX1BBSU5USU5HX0FQSSkKIAorI2lu
Y2x1ZGUgIkNTU1BhaW50Q2FsbGJhY2suaCIKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTQ5
LDYgKzUwLDkgQEAgcHVibGljOgogCiAgICAgc3RydWN0IFBhaW50RGVmaW5pdGlvbiB7CiAgICAg
ICAgIGNvbnN0IEF0b21pY1N0cmluZyBuYW1lOworICAgICAgICBjb25zdCBSZWY8Q1NTUGFpbnRD
YWxsYmFjaz4gcGFpbnRDYWxsYmFjazsKKyAgICAgICAgY29uc3QgVmVjdG9yPFN0cmluZz4gaW5w
dXRQcm9wZXJ0aWVzOworICAgICAgICBjb25zdCBWZWN0b3I8U3RyaW5nPiBpbnB1dEFyZ3VtZW50
czsKICAgICB9OwogCiAgICAgSGFzaE1hcDxTdHJpbmcsIHN0ZDo6dW5pcXVlX3B0cjxQYWludERl
ZmluaXRpb24+PiYgcGFpbnREZWZpbml0aW9uTWFwKCkgeyByZXR1cm4gbV9wYWludERlZmluaXRp
b25NYXA7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWludFdvcmtsZXRH
bG9iYWxTY29wZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFpbnRXb3JrbGV0R2xvYmFs
U2NvcGUuaWRsCmluZGV4IDQxMWViNzQ0ZWNhNTYwNDk3MjBhMWQyNDFhMTVlZDRkODA3NTc3ODgu
LmE1MzZjMGE0MTM5NWMwYTFhMDg0ZmExZjdlYjVhNmMyYmE3MmE2MWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWludFdvcmtsZXRHbG9iYWxTY29wZS5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmlkbApAQCAtMjcsNiAr
MjcsNyBAQAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9Q1NTUGFpbnRpbmdBUEksCiAgICAgQ29uZGl0
aW9uYWw9Q1NTX1BBSU5USU5HX0FQSSwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAor
ICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAogICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdAog
XSBpbnRlcmZhY2UgQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUgewogICAgIFtDdXN0b20sIE1h
eVRocm93RXhjZXB0aW9uXSB2b2lkIHJlZ2lzdGVyUGFpbnQoRE9NU3RyaW5nIG5hbWUsIEZ1bmN0
aW9uIHBhaW50Q3Rvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAppbmRleCA4NDk4YjJiMzE5YTVj
YzMyYTdlY2Y0NDIwZGI3Nzg2ZDgwMzYxN2U2Li5jYzNmNTlmMzBmYWViNTVmNzQ5NmJhOGQ5ODA0
OWQzN2IwOWMwNDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKQEAgLTUyLDYgKzUyLDcgQEAK
ICNpbmNsdWRlICJDU1NJbml0aWFsVmFsdWUuaCIKICNpbmNsdWRlICJDU1NMaW5lQm94Q29udGFp
blZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTTmFtZWRJbWFnZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NT
UGFpbnRJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVl
LmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NQcm9wZXJ0
eS5oIgpAQCAtMTUxLDYgKzE1MiwxMCBAQCBib29sIENTU1ZhbHVlOjplcXVhbHMoY29uc3QgQ1NT
VmFsdWUmIG90aGVyKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8
Q1NTQ3Vyc29ySW1hZ2VWYWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBGaWx0ZXJJ
bWFnZUNsYXNzOgogICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVDU1NWYWx1ZXM8Q1NTRmlsdGVy
SW1hZ2VWYWx1ZT4oKnRoaXMsIG90aGVyKTsKKyNpZiBFTkFCTEUoQ1NTX1BBSU5USU5HX0FQSSkK
KyAgICAgICAgY2FzZSBQYWludEltYWdlQ2xhc3M6CisgICAgICAgICAgICByZXR1cm4gY29tcGFy
ZUNTU1ZhbHVlczxDU1NQYWludEltYWdlVmFsdWU+KCp0aGlzLCBvdGhlcik7CisjZW5kaWYKICAg
ICAgICAgY2FzZSBGb250Q2xhc3M6CiAgICAgICAgICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVl
czxDU1NGb250VmFsdWU+KCp0aGlzLCBvdGhlcik7CiAgICAgICAgIGNhc2UgRm9udEZhY2VTcmND
bGFzczoKQEAgLTI0Nyw2ICsyNTIsMTAgQEAgU3RyaW5nIENTU1ZhbHVlOjpjc3NUZXh0KCkgY29u
c3QKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0N1cnNvckltYWdlVmFsdWU+KCp0aGlzKS5j
dXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBGaWx0ZXJJbWFnZUNsYXNzOgogICAgICAgICByZXR1
cm4gZG93bmNhc3Q8Q1NTRmlsdGVySW1hZ2VWYWx1ZT4oKnRoaXMpLmN1c3RvbUNTU1RleHQoKTsK
KyNpZiBFTkFCTEUoQ1NTX1BBSU5USU5HX0FQSSkKKyAgICBjYXNlIFBhaW50SW1hZ2VDbGFzczoK
KyAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU1BhaW50SW1hZ2VWYWx1ZT4oKnRoaXMpLmN1c3Rv
bUNTU1RleHQoKTsKKyNlbmRpZgogICAgIGNhc2UgRm9udENsYXNzOgogICAgICAgICByZXR1cm4g
ZG93bmNhc3Q8Q1NTRm9udFZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOwogICAgIGNhc2Ug
Rm9udEZhY2VTcmNDbGFzczoKQEAgLTQzMiw2ICs0NDEsMTEgQEAgdm9pZCBDU1NWYWx1ZTo6ZGVz
dHJveSgpCiAgICAgY2FzZSBGaWx0ZXJJbWFnZUNsYXNzOgogICAgICAgICBkZWxldGUgZG93bmNh
c3Q8Q1NTRmlsdGVySW1hZ2VWYWx1ZT4odGhpcyk7CiAgICAgICAgIHJldHVybjsKKyNpZiBFTkFC
TEUoQ1NTX1BBSU5USU5HX0FQSSkKKyAgICBjYXNlIFBhaW50SW1hZ2VDbGFzczoKKyAgICAgICAg
ZGVsZXRlIGRvd25jYXN0PENTU1BhaW50SW1hZ2VWYWx1ZT4odGhpcyk7CisgICAgICAgIHJldHVy
bjsKKyNlbmRpZgogICAgIGNhc2UgQ1NTQ29udGVudERpc3RyaWJ1dGlvbkNsYXNzOgogICAgICAg
ICBkZWxldGUgZG93bmNhc3Q8Q1NTQ29udGVudERpc3RyaWJ1dGlvblZhbHVlPih0aGlzKTsKICAg
ICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAppbmRleCBjMTZhNTI4NTU1ZTQ3OTEzNjZh
ODA2N2ZiYjcxYTA0NGU0MDEwOGRjLi5lZjUwZTJkNGY2MzU0MDRmYTE0OGE0ODUzMGQ3OTI0MTk3
NWE2ZGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaApAQCAtMTA2LDYgKzEwNiw5IEBAIHB1YmxpYzoK
ICAgICBib29sIGlzTGluZUJveENvbnRhaW5WYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NU
eXBlID09IExpbmVCb3hDb250YWluQ2xhc3M7IH0KICAgICBib29sIGlzQ2FsY1ZhbHVlKCkgY29u
c3Qge3JldHVybiBtX2NsYXNzVHlwZSA9PSBDYWxjdWxhdGlvbkNsYXNzOyB9CiAgICAgYm9vbCBp
c0ZpbHRlckltYWdlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBGaWx0ZXJJ
bWFnZUNsYXNzOyB9CisjaWYgRU5BQkxFKENTU19QQUlOVElOR19BUEkpCisgICAgYm9vbCBpc1Bh
aW50SW1hZ2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IFBhaW50SW1hZ2VD
bGFzczsgfQorI2VuZGlmCiAgICAgYm9vbCBpc0NvbnRlbnREaXN0cmlidXRpb25WYWx1ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IENTU0NvbnRlbnREaXN0cmlidXRpb25DbGFzczsg
fQogICAgIGJvb2wgaXNHcmlkQXV0b1JlcGVhdFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFz
c1R5cGUgPT0gR3JpZEF1dG9SZXBlYXRDbGFzczsgfQogICAgIGJvb2wgaXNHcmlkVGVtcGxhdGVB
cmVhc1ZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gR3JpZFRlbXBsYXRlQXJl
YXNDbGFzczsgfQpAQCAtMTQyLDYgKzE0NSw5IEBAIHByb3RlY3RlZDoKIAogICAgICAgICAvLyBJ
bWFnZSBnZW5lcmF0b3IgY2xhc3Nlcy4KICAgICAgICAgQ2FudmFzQ2xhc3MsCisjaWYgRU5BQkxF
KENTU19QQUlOVElOR19BUEkpCisgICAgICAgIFBhaW50SW1hZ2VDbGFzcywKKyNlbmRpZgogICAg
ICAgICBOYW1lZEltYWdlQ2xhc3MsCiAgICAgICAgIENyb3NzZmFkZUNsYXNzLAogICAgICAgICBG
aWx0ZXJJbWFnZUNsYXNzLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
S2V5d29yZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRl
eCBkMTMzYjZkMzc2NWVlNmI0NzQ5ZjVlOWNjNzgwOGE0ZjQ4ZTJjNjRhLi5mMTQ4MDU4MTlhMGQ3
ZmJhYTJlMjI1ZDc1NmRlNDE4OTg2NGJjNTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVL
ZXl3b3Jkcy5pbgpAQCAtMTIwMSw2ICsxMjAxLDkgQEAgcmVwZWF0aW5nLWNvbmljLWdyYWRpZW50
CiBmaWx0ZXIKIC13ZWJraXQtZmlsdGVyCiBkYXNoYm9hcmQtcmVnaW9uCisjaWYgZGVmaW5lZChF
TkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJiYgRU5BQkxFX0NTU19QQUlOVElOR19BUEkKK3BhaW50
CisjZW5kaWYKIAogLy8gZGVwcmVjYXRlZCBncmFkaWVudHMKIGZyb20KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcAppbmRl
eCAyOWQ1MmI4ZGY2ZGQwYjQzZDY1NmM4ZmQwNjU2MGNhNThjN2ViZDFkLi40ZTM5NTMzZTExYWJj
NjU1Y2VhNWZiNzNiYmFlMmNiMDNjMGE0YzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwCkBAIC0zOCw2ICszOCw3
IEBACiAjaW5jbHVkZSAiQ1NTSW1hZ2VTZXRWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ltYWdlVmFs
dWUuaCIKICNpbmNsdWRlICJDU1NOYW1lZEltYWdlVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NQYWlu
dEltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJD
U1NWYWx1ZVBvb2wuaCIKICNpbmNsdWRlICJQYWlyLmgiCkBAIC0xMjgxLDYgKzEyODIsMjMgQEAg
c3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUZpbHRlckltYWdlKENTU1BhcnNlclRva2Vu
UmFuZ2UmIGFyZ3MsIGNvbnN0IENTU1AKICAgICByZXR1cm4gQ1NTRmlsdGVySW1hZ2VWYWx1ZTo6
Y3JlYXRlKGltYWdlVmFsdWUucmVsZWFzZU5vbk51bGwoKSwgZmlsdGVyVmFsdWUucmVsZWFzZU5v
bk51bGwoKSk7CiB9CiAKKyNpZiBFTkFCTEUoQ1NTX1BBSU5USU5HX0FQSSkKK3N0YXRpYyBSZWZQ
dHI8Q1NTVmFsdWU+IGNvbnN1bWVDdXN0b21QYWludChDU1NQYXJzZXJUb2tlblJhbmdlJiBhcmdz
KQoreworICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5j
c3NQYWludGluZ0FQSUVuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgaWYg
KGFyZ3MucGVlaygpLnR5cGUoKSAhPSBJZGVudFRva2VuKQorICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKyAgICBhdXRvIG5hbWUgPSBhcmdzLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCkudmFs
dWUoKS50b1N0cmluZygpOworCisgICAgLy8gRklYTUU6IHNob3VsZCBwYXJzZSBhcmd1bWVudHMK
KyAgICB3aGlsZSAoIWFyZ3MuYXRFbmQoKSkKKyAgICAgICAgYXJncy5jb25zdW1lKCk7CisKKyAg
ICByZXR1cm4gQ1NTUGFpbnRJbWFnZVZhbHVlOjpjcmVhdGUobmFtZSk7Cit9CisjZW5kaWYKKwog
c3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUdlbmVyYXRlZEltYWdlKENTU1BhcnNlclRv
a2VuUmFuZ2UmIHJhbmdlLCBDU1NQYXJzZXJDb250ZXh0IGNvbnRleHQpCiB7CiAgICAgQ1NTVmFs
dWVJRCBpZCA9IHJhbmdlLnBlZWsoKS5mdW5jdGlvbklkKCk7CkBAIC0xMzE3LDYgKzEzMzUsMTAg
QEAgc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUdlbmVyYXRlZEltYWdlKENTU1BhcnNl
clRva2VuUmFuZ2UmIHJhbmdlLCBDU1NQYXIKICAgICAgICAgcmVzdWx0ID0gY29uc3VtZVdlYmtp
dE5hbWVkSW1hZ2UoYXJncyk7CiAgICAgZWxzZSBpZiAoaWQgPT0gQ1NTVmFsdWVXZWJraXRGaWx0
ZXIgfHwgaWQgPT0gQ1NTVmFsdWVGaWx0ZXIpCiAgICAgICAgIHJlc3VsdCA9IGNvbnN1bWVGaWx0
ZXJJbWFnZShhcmdzLCBjb250ZXh0KTsKKyNpZiBFTkFCTEUoQ1NTX1BBSU5USU5HX0FQSSkKKyAg
ICBlbHNlIGlmIChpZCA9PSBDU1NWYWx1ZVBhaW50KQorICAgICAgICByZXN1bHQgPSBjb25zdW1l
Q3VzdG9tUGFpbnQoYXJncyk7CisjZW5kaWYKICAgICBpZiAoIXJlc3VsdCB8fCAhYXJncy5hdEVu
ZCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICByYW5nZSA9IHJhbmdlQ29weTsKQEAg
LTEzNzEsNiArMTM5Myw5IEBAIHN0YXRpYyBib29sIGlzR2VuZXJhdGVkSW1hZ2UoQ1NTVmFsdWVJ
RCBpZCkKICAgICAgICAgfHwgaWQgPT0gQ1NTVmFsdWVDcm9zc0ZhZGUKICAgICAgICAgfHwgaWQg
PT0gQ1NTVmFsdWVXZWJraXROYW1lZEltYWdlCiAgICAgICAgIHx8IGlkID09IENTU1ZhbHVlV2Vi
a2l0RmlsdGVyCisjaWYgRU5BQkxFKENTU19QQUlOVElOR19BUEkpCisgICAgICAgIHx8IGlkID09
IENTU1ZhbHVlUGFpbnQKKyNlbmRpZgogICAgICAgICB8fCBpZCA9PSBDU1NWYWx1ZUZpbHRlcjsK
IH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9SZWFsdGltZVZpZGVvVXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVWaWRlb1V0aWxpdGllcy5oCmluZGV4IGI3MDI2NzQ4MjQ2
OWQ1ODc1ZWZiNWY3NDk0ZDFiZjdhYzQyYzg5ZTEuLjM4MGQzNzMxYjBhMTUzYWJiOWMyMjcwYmZl
ZTc2ODBmMDNiM2I4ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL21hYy9SZWFsdGltZVZpZGVvVXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lVmlkZW9VdGlsaXRpZXMuaApAQCAtMjMs
NiArMjMsOCBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCisjcHJhZ21hIG9uY2UKKwogI2luY2x1
ZGUgPENvcmVWaWRlby9Db3JlVmlkZW8uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDlmNmI1YWJjMTBlYTVjZmVmODA5OGZiNjk1YTg0M2VkYWYwMWUwZmEuLjE5Zjg1ZTlkNGY3OTI1
Y2ZjMmNkODRhZDBiYWYwMWZmYWIxNjI3MjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOC0x
MC0xNiAgSnVzdGluIE1pY2hhdWQgIDxqdXN0aW5fbWljaGF1ZEBhcHBsZS5jb20+CisKKyAgICAg
ICAgUGFyc2UgcGFpbnQoKSBhbmQgc3RvcmUgcGFpbnQgY2FsbGJhY2tzIGZvciBDU1MgUGFpbnRp
bmcgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTA2NTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGZhc3QvY3NzLWN1c3RvbS1wYWludC9iYXNpYy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFz
dC9jc3MtY3VzdG9tLXBhaW50L2Jhc2ljLmh0bWw6CisKIDIwMTgtMTAtMTYgIFRpbW90aHkgSGF0
Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCA8bWV0YSBuYW1lPSJzdXBw
b3J0ZWQtY29sb3Itc2NoZW1lcyI+IHRvIGNvbnRyb2wgd2hhdCBjb2xvciBzY2hlbWVzIHRoZSBw
YWdlIHN1cHBvcnRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1jdXN0b20tcGFp
bnQvYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtY3VzdG9tLXBhaW50
L2Jhc2ljLWV4cGVjdGVkLnR4dAppbmRleCBlNzEyZGNjMmFjZDMxZDI2NzUxYWRmMjg2ZDBmZDIw
MzdlYjU2OTFkLi5jZDdmMmVlYmIxODkxODA0ZWE5Yjk3MjU4ZDk0NTVmNzZhZmE4NDhjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1jdXN0b20tcGFpbnQvYmFzaWMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWN1c3RvbS1wYWludC9iYXNpYy1leHBlY3Rl
ZC50eHQKQEAgLTUsNCArNSw1IEBAIFBBU1MgdGVzdCB0aGF0IHJlZ2lzdGVyUGFpbnQgcnVucyB3
aXRoIGlucHV0QXJndW1lbnRzCiBQQVNTIHRlc3QgdGhhdCByZWdpc3RlclBhaW50IHJ1bnMgd2l0
aCBjb250ZXh0T3B0aW9ucyAKIFBBU1MgdGVzdCB0aGF0IHJlZ2lzdGVyUGFpbnQgcnVucyB3aXRo
IHByZWRlZmluZWQgY2xhc3MgCiBQQVNTIHRlc3QgdGhhdCByZWdpc3RlclBhaW50IGFjY2VwdHMg
b25seSBhIHN0cmluZyBhbmQgYSBjbGFzcyBjb25zdHJ1Y3RvciAKK1BBU1MgdGVzdCB0aGF0IHRl
c3QgZGl2IGhhcyBwYWludCgpIHZhbHVlIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy1jdXN0b20tcGFpbnQvYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWN1c3Rv
bS1wYWludC9iYXNpYy5odG1sCmluZGV4IDUyYzBlNWJkYTcwZTg3ZDFjYTM3ZTk1NTE2NzBiNjA0
OGVkZTM1MzQuLjM2OTlhYTIxZWExMTY3MWM5OTk0MDA3ZDk3ZTdlZDQwZGZmMjcxYWYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWN1c3RvbS1wYWludC9iYXNpYy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvY3NzLWN1c3RvbS1wYWludC9iYXNpYy5odG1sCkBAIC00LDYgKzQs
MTcgQEAKIDxsaW5rIHJlbD0iaGVscCIgY29udGVudD0iaHR0cHM6Ly9kcmFmdHMuY3NzLWhvdWRp
bmkub3JnL2Nzcy1wYWludC1hcGktMS8iPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKworPHN0eWxlPgorICAjcGFpbnQgeworICAg
IGJhY2tncm91bmQtaW1hZ2U6IHBhaW50KG15LXBhaW50KTsKKyAgICB3aWR0aDogNTBweDsKKyAg
ICBoZWlnaHQ6IDUwcHg7CisgIH0KKzwvc3R5bGU+CisKKzxkaXYgaWQ9InBhaW50Ij48L2Rpdj4K
KwogPHNjcmlwdD4KIHRlc3QoZnVuY3Rpb24oKSB7CiAgIENTUy5wYWludFdvcmtsZXRHbG9iYWxT
Y29wZS5yZWdpc3RlclBhaW50KCd0ZXN0MScsIGNsYXNzIHsKQEAgLTUxLDQgKzYyLDggQEAgdGVz
dChmdW5jdGlvbigpIHsKICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksICgpID0+IENT
Uy5wYWludFdvcmtsZXRHbG9iYWxTY29wZS5yZWdpc3RlclBhaW50KCcnLCA1KSk7CiB9LCAndGVz
dCB0aGF0IHJlZ2lzdGVyUGFpbnQgYWNjZXB0cyBvbmx5IGEgc3RyaW5nIGFuZCBhIGNsYXNzIGNv
bnN0cnVjdG9yJyk7CiAKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF9lcXVhbHMoZ2V0Q29t
cHV0ZWRTdHlsZShwYWludCkuZ2V0UHJvcGVydHlWYWx1ZSgiYmFja2dyb3VuZC1pbWFnZSIpLCAi
cGFpbnQobXktcGFpbnQpIik7Cit9LCAndGVzdCB0aGF0IHRlc3QgZGl2IGhhcyBwYWludCgpIHZh
bHVlJyk7CisKIDwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352656</attachid>
            <date>2018-10-17 15:51:51 -0700</date>
            <delta_ts>2018-10-17 19:47:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190657-20181017155147.patch</filename>
            <type>text/plain</type>
            <size>25913</size>
            <attacher name="Justin Michaud">justin_michaud</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MjM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmNiYWY4NzdiOTE4YzEy
ZTNmZmMyYWE0YjJjNzNjODhlMTM3ZGI4OC4uN2ViYzY1ZGQ4MmNhMzFhMTIzNDliMDNiZWJkMmM5
ZDY4Y2IxMTM2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE4LTEwLTE3ICBKdXN0
aW4gTWljaGF1ZCAgPGp1c3Rpbl9taWNoYXVkQGFwcGxlLmNvbT4KKworICAgICAgICBQYXJzZSBw
YWludCgpIGFuZCBzdG9yZSBwYWludCBjYWxsYmFja3MgZm9yIENTUyBQYWludGluZyBBUEkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NworCisg
ICAgICAgIFJldmlld2VkIGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAgICBJbXBsZW1lbnQgc3Vw
cG9ydCBmb3IgcGFyc2luZyBwYWludCgpIGltYWdlcyBpbiBjc3MsIGFuZCBzdG9yZSBDU1MgcGFp
bnQgY2FsbGJhY2sgb2JqZWN0cyBpbiB0aGUgcGFpbnQgZGVmaW5pdGlvbiBtYXAuCisKKyAgICAg
ICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNDU1NQYWludFdvcmtsZXRHbG9iYWxTY29w
ZUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0NTU1BhaW50V29ya2xldEdsb2JhbFNj
b3BlOjp2aXNpdEFkZGl0aW9uYWxDaGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpKU0NTU1Bh
aW50V29ya2xldEdsb2JhbFNjb3BlOjpyZWdpc3RlclBhaW50KToKKyAgICAgICAgKiBjc3MvQ1NT
SW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbWFnZUdlbmVy
YXRvclZhbHVlOjppbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbWFnZUdlbmVyYXRvclZh
bHVlOjppc0ZpeGVkU2l6ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbWFnZUdlbmVy
YXRvclZhbHVlOjpmaXhlZFNpemUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VHZW5lcmF0
b3JWYWx1ZTo6aXNQZW5kaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlR2Vu
ZXJhdG9yVmFsdWU6Omtub3duVG9CZU9wYXF1ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NJbWFnZUdlbmVyYXRvclZhbHVlOjpsb2FkU3ViaW1hZ2VzKToKKyAgICAgICAgKiBjc3MvQ1NT
UGFpbnRJbWFnZVZhbHVlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NQYWludElt
YWdlVmFsdWU6OmN1c3RvbUNTU1RleHQgY29uc3QpOgorICAgICAgICAqIGNzcy9DU1NQYWludElt
YWdlVmFsdWUuaDogQWRkZWQuCisgICAgICAgICogY3NzL0NTU1BhaW50V29ya2xldEdsb2JhbFNj
b3BlLmg6CisgICAgICAgICogY3NzL0NTU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmlkbDoKKyAg
ICAgICAgKiBjc3MvQ1NTVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmVx
dWFscyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6Y3NzVGV4dCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6ZGVzdHJveSk6CisgICAgICAgICogY3NzL0NT
U1ZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNQYWludEltYWdlVmFsdWUg
Y29uc3QpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOgorICAgICAgICAqIGNz
cy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6Y29uc3VtZUN1c3RvbVBhaW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6Y29uc3VtZUdlbmVyYXRlZEltYWdl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6aXNHZW5lcmF0
ZWRJbWFnZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lVmlk
ZW9VdGlsaXRpZXMuaDoKKwogMjAxOC0xMC0xNyAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29u
QGFwcGxlLmNvbT4KIAogICAgICAgICBbTWVkaWFTdHJlYW1dIENvbnNvbGlkYXRlIGFsbCBpbWFn
ZSBjb252ZXJzaW9uIGFuZCByZXNpemluZyBpbnRvIG9uZSBjbGFzcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRl
eCA2ODA2NjY0Nzk5ODJjZThlNGU3NjVlNGZlYThhZTJkNDk5N2JhZTdlLi5iMmFjYTdiMzYyNDU2
YWY4ZGM5MmI4OTVjNzA4Yjg4ZmQwNThlNjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtNjA0LDYgKzYw
NCw3IEBAIGNzcy9DU1NNZWRpYVJ1bGUuY3BwCiBjc3MvQ1NTTmFtZWRJbWFnZVZhbHVlLmNwcAog
Y3NzL0NTU05hbWVzcGFjZVJ1bGUuY3BwCiBjc3MvQ1NTUGFnZVJ1bGUuY3BwCitjc3MvQ1NTUGFp
bnRJbWFnZVZhbHVlLmNwcAogY3NzL0NTU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmNwcAogY3Nz
L0NTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZS5jcHAKIGNzcy9DU1NQcmltaXRpdmVWYWx1ZS5j
cHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCBlNTZlN2ViZWE3MDZlM2JhNDJlZTIxZDg2YmRkYTVhMjk3NjExMGUwLi41MDEyNTU0
NWIzNGYzMTRhNWFkNDgwYzIwNTYzNzFlMTNhNTMzMzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMzUwLDYgKzEzNTAsNyBA
QAogCQk0QjVCREQ5QjIxNjU4QTE1MDBERDQyNjIgLyogQ1NTUGFpbnRDYWxsYmFjay5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEI1QkREOUEyMTY1OEEx
NTAwREQ0MjYyIC8qIENTU1BhaW50Q2FsbGJhY2suaCAqLzsgfTsKIAkJNEI2QjVDQkQyMTY0MEVG
RjAwNjAzODE3IC8qIERPTUNTU1BhaW50V29ya2xldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEI2QjVDQjgyMTYzRUMwNzAwNjAzODE3IC8qIERPTUNT
U1BhaW50V29ya2xldC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTRCNkI1Q0MwMjE2NDM4NjQwMDYwMzgxNyAvKiBDU1NQYWludFdvcmtsZXRHbG9i
YWxTY29wZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NEI2QjVDQkYyMTY0Mzg2NDAwNjAzODE3IC8qIENTU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmgg
Ki87IH07CisJCTRCNkU4NzY5MjE3NkQ2OTIwMDQyMEU1RSAvKiBDU1NQYWludEltYWdlVmFsdWUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRCNkU4NzY4
MjE3NkQ2OTIwMDQyMEU1RSAvKiBDU1NQYWludEltYWdlVmFsdWUuaCAqLzsgfTsKIAkJNEI2RkE2
RjQwQzM5RTQ4QzAwMDg3MDExIC8qIFNtYXJ0UmVwbGFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEI2RkE2RjIwQzM5RTQ4QzAwMDg3MDExIC8qIFNt
YXJ0UmVwbGFjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTRCQUU5NUIxMEIyRkE5Q0UwMEFFRDhBMCAvKiBFZGl0b3JEZWxldGVBY3Rpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRCQUU5NUIwMEIy
RkE5Q0UwMEFFRDhBMCAvKiBFZGl0b3JEZWxldGVBY3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0QkRBM0ZGRTIxNTFCNkY1MDBGRDY2MDQg
LyogRE9NQ1NTQ3VzdG9tUHJvcGVydHlEZXNjcmlwdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QkRBM0ZGODIxNTFCNkYyMDBGRDY2MDQgLyogRE9N
Q1NTQ3VzdG9tUHJvcGVydHlEZXNjcmlwdG9yLmggKi87IH07CkBAIC03ODg4LDYgKzc4ODksOCBA
QAogCQk0QjZCNUNCRjIxNjQzODY0MDA2MDM4MTcgLyogQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2Nv
cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEI2QjVDQzEyMTY0MzlDRjAwNjAzODE3IC8qIENTU1Bh
aW50V29ya2xldEdsb2JhbFNjb3BlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU1BhaW50V29y
a2xldEdsb2JhbFNjb3BlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEI2QjVD
QzMyMTY0M0E4RTAwNjAzODE3IC8qIENTU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBDU1NQYWludFdvcmtsZXRHbG9iYWxTY29wZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTRCNkU4NzY4MjE3NkQ2OTIwMDQyMEU1RSAvKiBDU1NQYWludEltYWdlVmFsdWUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ1NTUGFpbnRJbWFnZVZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTRCNkU4NzZCMjE3NkQ4QTEwMDQyMEU1RSAvKiBDU1NQYWludEltYWdlVmFsdWUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTUGFpbnRJbWFnZVZhbHVlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEI2RkE2RjIwQzM5RTQ4QzAwMDg3MDExIC8qIFNtYXJ0UmVw
bGFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTbWFydFJlcGxhY2UuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEI2RkE2RjYwQzM5RTRBMTAwMDg3MDExIC8q
IFNtYXJ0UmVwbGFjZUNGLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFNtYXJ0UmVwbGFjZUNGLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEJBRTk1
QjAwQjJGQTlDRTAwQUVEOEEwIC8qIEVkaXRvckRlbGV0ZUFjdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBFZGl0b3JEZWxldGVBY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTI1OTU0LDYgKzI1OTU3LDggQEAKIAkJCQk4NUM1NkNBNjBBQTg5RDVG
MDBEOTU3NTUgLyogQ1NTUGFnZVJ1bGUuaWRsICovLAogCQkJCTRCNUJERDlBMjE2NThBMTUwMERE
NDI2MiAvKiBDU1NQYWludENhbGxiYWNrLmggKi8sCiAJCQkJNEI1QkREOTkyMTY1ODhFNTAwREQ0
MjYyIC8qIENTU1BhaW50Q2FsbGJhY2suaWRsICovLAorCQkJCTRCNkU4NzZCMjE3NkQ4QTEwMDQy
MEU1RSAvKiBDU1NQYWludEltYWdlVmFsdWUuY3BwICovLAorCQkJCTRCNkU4NzY4MjE3NkQ2OTIw
MDQyMEU1RSAvKiBDU1NQYWludEltYWdlVmFsdWUuaCAqLywKIAkJCQk0QjZCNUNDMTIxNjQzOUNG
MDA2MDM4MTcgLyogQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuY3BwICovLAogCQkJCTRCNkI1
Q0JGMjE2NDM4NjQwMDYwMzgxNyAvKiBDU1NQYWludFdvcmtsZXRHbG9iYWxTY29wZS5oICovLAog
CQkJCTRCNkI1Q0MzMjE2NDNBOEUwMDYwMzgxNyAvKiBDU1NQYWludFdvcmtsZXRHbG9iYWxTY29w
ZS5pZGwgKi8sCkBAIC0yNzk1Niw2ICsyNzk2MSw3IEBACiAJCQkJOTRFODM5NTExREZCMkEwRTAw
N0JDNkE3IC8qIENTU05hbWVzcGFjZVJ1bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU2RDAw
MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQYWdlUnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEI1
QkREOUIyMTY1OEExNTAwREQ0MjYyIC8qIENTU1BhaW50Q2FsbGJhY2suaCBpbiBIZWFkZXJzICov
LAorCQkJCTRCNkU4NzY5MjE3NkQ2OTIwMDQyMEU1RSAvKiBDU1NQYWludEltYWdlVmFsdWUuaCBp
biBIZWFkZXJzICovLAogCQkJCTRCNkI1Q0MwMjE2NDM4NjQwMDYwMzgxNyAvKiBDU1NQYWludFdv
cmtsZXRHbG9iYWxTY29wZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTQ2RDM3MkUxRDZDQjI5NDAw
NzcwODRGIC8qIENTU1BhcnNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTRBNzk5NTIyMEVFNEIx
NDAwQzE5NTY4IC8qIENTU1BhcnNlckNvbnRleHQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NQYWludFdvcmtsZXRHbG9iYWxTY29w
ZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1BhaW50V29ya2xl
dEdsb2JhbFNjb3BlQ3VzdG9tLmNwcAppbmRleCAwNTdhYzNmYzg5YjM1ZDVjNTE0ODQyOTMyMWEy
YjA2YmQyOTYyOTljLi5iOWZhMzQ1YTVlMzhmMzlmM2MxZGVkY2Q1M2I2ZmEzNzM4NTUxM2I3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1BhaW50V29ya2xldEds
b2JhbFNjb3BlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NT
U1BhaW50V29ya2xldEdsb2JhbFNjb3BlQ3VzdG9tLmNwcApAQCAtNDQsNiArNDQsMTIgQEAgc3Rh
dGljIEpTVmFsdWUgdGhyb3dJbnZhbGlkTW9kaWZpY2F0aW9uRXJyb3IoRXhlY1N0YXRlJiBzdGF0
ZSwgVGhyb3dTY29wZSYgc2NvcGUKICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKIH0KIAordm9p
ZCBKU0NTU1BhaW50V29ya2xldEdsb2JhbFNjb3BlOjp2aXNpdEFkZGl0aW9uYWxDaGlsZHJlbihK
U0M6OlNsb3RWaXNpdG9yJiB2aXNpdG9yKQoreworICAgIGZvciAoYXV0byYgcmVnaXN0ZXJlZCA6
IHdyYXBwZWQoKS5wYWludERlZmluaXRpb25NYXAoKS52YWx1ZXMoKSkKKyAgICAgICAgcmVnaXN0
ZXJlZC0+cGFpbnRDYWxsYmFjay0+dmlzaXRKU0Z1bmN0aW9uKHZpc2l0b3IpOworfQorCiAvLyBo
dHRwczovL2RyYWZ0cy5jc3MtaG91ZGluaS5vcmcvY3NzLXBhaW50LWFwaS8jcmVnaXN0ZXJpbmct
Y3VzdG9tLXBhaW50CiBKU1ZhbHVlIEpTQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGU6OnJlZ2lz
dGVyUGFpbnQoRXhlY1N0YXRlJiBzdGF0ZSkKIHsKQEAgLTExNSwxOCArMTIxLDExIEBAIEpTVmFs
dWUgSlNDU1NQYWludFdvcmtsZXRHbG9iYWxTY29wZTo6cmVnaXN0ZXJQYWludChFeGVjU3RhdGUm
IHN0YXRlKQogICAgIFJlZlB0cjxKU0NTU1BhaW50Q2FsbGJhY2s+IHBhaW50ID0gY29udmVydDxJ
RExDYWxsYmFja0Z1bmN0aW9uPEpTQ1NTUGFpbnRDYWxsYmFjaz4+KHN0YXRlLCBwYWludFZhbHVl
LCAqZ2xvYmFsT2JqZWN0KCkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIEpTVmFs
dWUoKSk7CiAKLSAgICBhdXRvIHBhaW50RGVmaW5pdGlvbiA9IHN0ZDo6dW5pcXVlX3B0cjxQYWlu
dERlZmluaXRpb24+KG5ldyBQYWludERlZmluaXRpb24geyBuYW1lIH0pOworICAgIGF1dG8gcGFp
bnREZWZpbml0aW9uID0gc3RkOjp1bmlxdWVfcHRyPFBhaW50RGVmaW5pdGlvbj4obmV3IFBhaW50
RGVmaW5pdGlvbiB7IG5hbWUsIHBhaW50LnJlbGVhc2VOb25OdWxsKCksIGlucHV0UHJvcGVydGll
cywgaW5wdXRBcmd1bWVudHMgfSk7CiAgICAgcGFpbnREZWZpbml0aW9uTWFwLmFkZChuYW1lLCBX
VEZNb3ZlKHBhaW50RGVmaW5pdGlvbikpOwogCiAgICAgLy8gRklYTUU6IGNvbnN0cnVjdCBkb2N1
bWVudERlZmluaXRpb24gKHN0ZXAgMjIpLgogCi0gICAgLy8gRklYTUU6IFRoaXMgaXMgZm9yIHRl
c3Rpbmcgb25seS4KLSAgICBwYWludC0+aGFuZGxlRXZlbnQoKTsKLSAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCBKU1ZhbHVlKCkpOwotCi0gICAgVU5VU0VEX1BBUkFNKGlucHV0UHJvcGVy
dGllcyk7Ci0gICAgVU5VU0VEX1BBUkFNKGlucHV0QXJndW1lbnRzKTsKLQogICAgIHJldHVybiBq
c1VuZGVmaW5lZCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1h
Z2VHZW5lcmF0b3JWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0
b3JWYWx1ZS5jcHAKaW5kZXggN2E4ZTE5ZjIzMGY0YTIwMGE1MmI1MTE1ODMwMmUxY2RjZTU1ZmM2
ZS4uYjYwMDAzMzM5NTI1NDIwYTAwYWQyNjAxMTZjYzkwYWIzNDdhMDRhZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcApAQCAtMTUwLDYgKzE1MCwx
MCBAQCBSZWZQdHI8SW1hZ2U+IENTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OmltYWdlKFJlbmRlckVs
ZW1lbnQmIHJlbmRlcmVyLCBjb25zdCBGbG9hdAogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NT
UmFkaWFsR3JhZGllbnRWYWx1ZT4oKnRoaXMpLmltYWdlKHJlbmRlcmVyLCBzaXplKTsKICAgICBj
YXNlIENvbmljR3JhZGllbnRDbGFzczoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0Nvbmlj
R3JhZGllbnRWYWx1ZT4oKnRoaXMpLmltYWdlKHJlbmRlcmVyLCBzaXplKTsKKyNpZiBFTkFCTEUo
Q1NTX1BBSU5USU5HX0FQSSkKKyAgICBjYXNlIFBhaW50SW1hZ2VDbGFzczoKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKICAgICB9CkBAIC0xNzMsNiArMTc3LDEwIEBAIGJvb2wgQ1NTSW1hZ2VHZW5lcmF0
b3JWYWx1ZTo6aXNGaXhlZFNpemUoKSBjb25zdAogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NT
UmFkaWFsR3JhZGllbnRWYWx1ZT4oKnRoaXMpLmlzRml4ZWRTaXplKCk7CiAgICAgY2FzZSBDb25p
Y0dyYWRpZW50Q2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NDb25pY0dyYWRpZW50
VmFsdWU+KCp0aGlzKS5pc0ZpeGVkU2l6ZSgpOworI2lmIEVOQUJMRShDU1NfUEFJTlRJTkdfQVBJ
KQorICAgIGNhc2UgUGFpbnRJbWFnZUNsYXNzOgorICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5k
aWYKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CkBA
IC0xOTQsNiArMjAyLDEwIEBAIEZsb2F0U2l6ZSBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjpmaXhl
ZFNpemUoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIpCiAgICAgICAgIHJldHVybiBkb3du
Y2FzdDxDU1NSYWRpYWxHcmFkaWVudFZhbHVlPigqdGhpcykuZml4ZWRTaXplKHJlbmRlcmVyKTsK
ICAgICBjYXNlIENvbmljR3JhZGllbnRDbGFzczoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENT
U0NvbmljR3JhZGllbnRWYWx1ZT4oKnRoaXMpLmZpeGVkU2l6ZShyZW5kZXJlcik7CisjaWYgRU5B
QkxFKENTU19QQUlOVElOR19BUEkpCisgICAgY2FzZSBQYWludEltYWdlQ2xhc3M6CisgICAgICAg
IHJldHVybiBGbG9hdFNpemUoKTsKKyNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KQEAgLTIxNyw2ICsyMjksMTAgQEAgYm9vbCBDU1NJbWFn
ZUdlbmVyYXRvclZhbHVlOjppc1BlbmRpbmcoKSBjb25zdAogICAgICAgICByZXR1cm4gZG93bmNh
c3Q8Q1NTUmFkaWFsR3JhZGllbnRWYWx1ZT4oKnRoaXMpLmlzUGVuZGluZygpOwogICAgIGNhc2Ug
Q29uaWNHcmFkaWVudENsYXNzOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTQ29uaWNHcmFk
aWVudFZhbHVlPigqdGhpcykuaXNQZW5kaW5nKCk7CisjaWYgRU5BQkxFKENTU19QQUlOVElOR19B
UEkpCisgICAgY2FzZSBQYWludEltYWdlQ2xhc3M6CisgICAgICAgIHJldHVybiBmYWxzZTsKKyNl
bmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0K
QEAgLTI0MCw2ICsyNTYsMTAgQEAgYm9vbCBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjprbm93blRv
QmVPcGFxdWUoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIpIGNvbnMKICAgICAgICAgcmV0
dXJuIGRvd25jYXN0PENTU1JhZGlhbEdyYWRpZW50VmFsdWU+KCp0aGlzKS5rbm93blRvQmVPcGFx
dWUocmVuZGVyZXIpOwogICAgIGNhc2UgQ29uaWNHcmFkaWVudENsYXNzOgogICAgICAgICByZXR1
cm4gZG93bmNhc3Q8Q1NTQ29uaWNHcmFkaWVudFZhbHVlPigqdGhpcykua25vd25Ub0JlT3BhcXVl
KHJlbmRlcmVyKTsKKyNpZiBFTkFCTEUoQ1NTX1BBSU5USU5HX0FQSSkKKyAgICBjYXNlIFBhaW50
SW1hZ2VDbGFzczoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiAgICAgZGVmYXVsdDoK
ICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfQpAQCAtMjY3LDYgKzI4NywxMCBA
QCB2b2lkIENTU0ltYWdlR2VuZXJhdG9yVmFsdWU6OmxvYWRTdWJpbWFnZXMoQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXImIGNhY2hlZFJlc291cmNlTAogICAgIGNhc2UgQ29uaWNHcmFkaWVudENsYXNzOgog
ICAgICAgICBkb3duY2FzdDxDU1NDb25pY0dyYWRpZW50VmFsdWU+KCp0aGlzKS5sb2FkU3ViaW1h
Z2VzKGNhY2hlZFJlc291cmNlTG9hZGVyLCBvcHRpb25zKTsKICAgICAgICAgYnJlYWs7CisjaWYg
RU5BQkxFKENTU19QQUlOVElOR19BUEkpCisgICAgY2FzZSBQYWludEltYWdlQ2xhc3M6CisgICAg
ICAgIGJyZWFrOworI2VuZGlmCiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhaW50SW1h
Z2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFpbnRJbWFnZVZhbHVlLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jNDIxYTFkMmE5OTM0MDk3ZDdmZjJmZWEwNTMzZGJmMmQyYzY1NDM0Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhaW50SW1hZ2VWYWx1ZS5jcHAK
QEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCisgKiBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SCisgKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKKyAqIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNTU1BhaW50SW1hZ2VW
YWx1ZS5oIgorCisjaWYgRU5BQkxFKENTU19QQUlOVElOR19BUEkpCisKKyNpbmNsdWRlIDx3dGYv
dGV4dC9TdHJpbmdCdWlsZGVyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworU3RyaW5nIENT
U1BhaW50SW1hZ2VWYWx1ZTo6Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0Cit7CisgICAgU3RyaW5nQnVp
bGRlciByZXN1bHQ7CisgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoInBhaW50KCIpOworICAgIHJl
c3VsdC5hcHBlbmQobV9uYW1lKTsKKyAgICAvLyBGSVhNRTogcHJpbnQgYXJncy4KKyAgICByZXN1
bHQuYXBwZW5kKCcpJyk7CisgICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhaW50SW1hZ2VWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhaW50SW1h
Z2VWYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2Y2E4NDUzMmVmMzkyYWEyYjRhZDRiZjM1OWExOTJlNjNj
MTU4ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFpbnRJbWFn
ZVZhbHVlLmgKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiAiQVMgSVMiIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCisgKiBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SCisgKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKKyAqIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICog
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQ1NTX1BBSU5U
SU5HX0FQSSkKKworI2luY2x1ZGUgIkNTU0ltYWdlR2VuZXJhdG9yVmFsdWUuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBDU1NQYWludEltYWdlVmFsdWUgZmluYWwgOiBwdWJsaWMg
Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxDU1NQYWlu
dEltYWdlVmFsdWU+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUpCisgICAgeworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NQYWludEltYWdlVmFsdWUobmFtZSkpOworICAgIH0KKwor
ICAgIGJvb2wgZXF1YWxzKGNvbnN0IENTU1BhaW50SW1hZ2VWYWx1ZSYgb3RoZXIpIGNvbnN0IHsg
cmV0dXJuIG1fbmFtZSA9PSBvdGhlci5tX25hbWU7IH0KKworICAgIFN0cmluZyBjdXN0b21DU1NU
ZXh0KCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgQ1NTUGFpbnRJbWFnZVZhbHVlKGNvbnN0IFN0
cmluZyYgbmFtZSkKKyAgICAgICAgOiBDU1NJbWFnZUdlbmVyYXRvclZhbHVlKFBhaW50SW1hZ2VD
bGFzcykKKyAgICAgICAgLCBtX25hbWUobmFtZSkKKyAgICB7CisgICAgfQorCisgICAgY29uc3Qg
U3RyaW5nIG1fbmFtZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTEla
RV9UWVBFX1RSQUlUU19DU1NfVkFMVUUoQ1NTUGFpbnRJbWFnZVZhbHVlLCBpc1BhaW50SW1hZ2VW
YWx1ZSgpKQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWlu
dFdvcmtsZXRHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhaW50V29ya2xl
dEdsb2JhbFNjb3BlLmgKaW5kZXggOTAwOTJkOTE4MDhlNDcwYzQxYjVhM2VkZTc0MWQyZmFhOTU4
OWNkYi4uMjNiMGQ5ZDhmM2YwMjM3ZTI3OTJmY2VmN2U0NzdmZTU4YzYyYTMwOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmgKQEAgLTI3LDYg
KzI3LDcgQEAKIAogI2lmIEVOQUJMRShDU1NfUEFJTlRJTkdfQVBJKQogCisjaW5jbHVkZSAiQ1NT
UGFpbnRDYWxsYmFjay5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtNDksNiArNTAsOSBA
QCBwdWJsaWM6CiAKICAgICBzdHJ1Y3QgUGFpbnREZWZpbml0aW9uIHsKICAgICAgICAgY29uc3Qg
QXRvbWljU3RyaW5nIG5hbWU7CisgICAgICAgIGNvbnN0IFJlZjxDU1NQYWludENhbGxiYWNrPiBw
YWludENhbGxiYWNrOworICAgICAgICBjb25zdCBWZWN0b3I8U3RyaW5nPiBpbnB1dFByb3BlcnRp
ZXM7CisgICAgICAgIGNvbnN0IFZlY3RvcjxTdHJpbmc+IGlucHV0QXJndW1lbnRzOwogICAgIH07
CiAKICAgICBIYXNoTWFwPFN0cmluZywgc3RkOjp1bmlxdWVfcHRyPFBhaW50RGVmaW5pdGlvbj4+
JiBwYWludERlZmluaXRpb25NYXAoKSB7IHJldHVybiBtX3BhaW50RGVmaW5pdGlvbk1hcDsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhaW50V29ya2xldEdsb2JhbFNjb3Bl
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWludFdvcmtsZXRHbG9iYWxTY29wZS5pZGwK
aW5kZXggNDExZWI3NDRlY2E1NjA0OTcyMGExZDI0MWExNWVkNGQ4MDc1Nzc4OC4uYTUzNmMwYTQx
Mzk1YzBhMWEwODRmYTFmN2ViNWE2YzJiYTcyYTYxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaWRsCkBAIC0yNyw2ICsyNyw3IEBACiAg
ICAgRW5hYmxlZEF0UnVudGltZT1DU1NQYWludGluZ0FQSSwKICAgICBDb25kaXRpb25hbD1DU1Nf
UEFJTlRJTkdfQVBJLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCisgICAgSlNDdXN0
b21NYXJrRnVuY3Rpb24sCiAgICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0CiBdIGludGVyZmFj
ZSBDU1NQYWludFdvcmtsZXRHbG9iYWxTY29wZSB7CiAgICAgW0N1c3RvbSwgTWF5VGhyb3dFeGNl
cHRpb25dIHZvaWQgcmVnaXN0ZXJQYWludChET01TdHJpbmcgbmFtZSwgRnVuY3Rpb24gcGFpbnRD
dG9yKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCmluZGV4IDg0OThiMmIzMTlhNWNjMzJhN2VjZjQ0
MjBkYjc3ODZkODAzNjE3ZTYuLmNjM2Y1OWYzMGZhZWI1NWY3NDk2YmE4ZDk4MDQ5ZDM3YjA5YzA0
NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcApAQCAtNTIsNiArNTIsNyBAQAogI2luY2x1ZGUg
IkNTU0luaXRpYWxWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0xpbmVCb3hDb250YWluVmFsdWUuaCIK
ICNpbmNsdWRlICJDU1NOYW1lZEltYWdlVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NQYWludEltYWdl
VmFsdWUuaCIKICNpbmNsdWRlICJDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUuaCIKICNpbmNs
dWRlICJDU1NQcmltaXRpdmVWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5LmgiCkBAIC0x
NTEsNiArMTUyLDEwIEBAIGJvb2wgQ1NTVmFsdWU6OmVxdWFscyhjb25zdCBDU1NWYWx1ZSYgb3Ro
ZXIpIGNvbnN0CiAgICAgICAgICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NDdXJzb3JJ
bWFnZVZhbHVlPigqdGhpcywgb3RoZXIpOwogICAgICAgICBjYXNlIEZpbHRlckltYWdlQ2xhc3M6
CiAgICAgICAgICAgICByZXR1cm4gY29tcGFyZUNTU1ZhbHVlczxDU1NGaWx0ZXJJbWFnZVZhbHVl
PigqdGhpcywgb3RoZXIpOworI2lmIEVOQUJMRShDU1NfUEFJTlRJTkdfQVBJKQorICAgICAgICBj
YXNlIFBhaW50SW1hZ2VDbGFzczoKKyAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVz
PENTU1BhaW50SW1hZ2VWYWx1ZT4oKnRoaXMsIG90aGVyKTsKKyNlbmRpZgogICAgICAgICBjYXNl
IEZvbnRDbGFzczoKICAgICAgICAgICAgIHJldHVybiBjb21wYXJlQ1NTVmFsdWVzPENTU0ZvbnRW
YWx1ZT4oKnRoaXMsIG90aGVyKTsKICAgICAgICAgY2FzZSBGb250RmFjZVNyY0NsYXNzOgpAQCAt
MjQ3LDYgKzI1MiwxMCBAQCBTdHJpbmcgQ1NTVmFsdWU6OmNzc1RleHQoKSBjb25zdAogICAgICAg
ICByZXR1cm4gZG93bmNhc3Q8Q1NTQ3Vyc29ySW1hZ2VWYWx1ZT4oKnRoaXMpLmN1c3RvbUNTU1Rl
eHQoKTsKICAgICBjYXNlIEZpbHRlckltYWdlQ2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2Fz
dDxDU1NGaWx0ZXJJbWFnZVZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOworI2lmIEVOQUJM
RShDU1NfUEFJTlRJTkdfQVBJKQorICAgIGNhc2UgUGFpbnRJbWFnZUNsYXNzOgorICAgICAgICBy
ZXR1cm4gZG93bmNhc3Q8Q1NTUGFpbnRJbWFnZVZhbHVlPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgp
OworI2VuZGlmCiAgICAgY2FzZSBGb250Q2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxD
U1NGb250VmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBGb250RmFjZVNy
Y0NsYXNzOgpAQCAtNDMyLDYgKzQ0MSwxMSBAQCB2b2lkIENTU1ZhbHVlOjpkZXN0cm95KCkKICAg
ICBjYXNlIEZpbHRlckltYWdlQ2xhc3M6CiAgICAgICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NGaWx0
ZXJJbWFnZVZhbHVlPih0aGlzKTsKICAgICAgICAgcmV0dXJuOworI2lmIEVOQUJMRShDU1NfUEFJ
TlRJTkdfQVBJKQorICAgIGNhc2UgUGFpbnRJbWFnZUNsYXNzOgorICAgICAgICBkZWxldGUgZG93
bmNhc3Q8Q1NTUGFpbnRJbWFnZVZhbHVlPih0aGlzKTsKKyAgICAgICAgcmV0dXJuOworI2VuZGlm
CiAgICAgY2FzZSBDU1NDb250ZW50RGlzdHJpYnV0aW9uQ2xhc3M6CiAgICAgICAgIGRlbGV0ZSBk
b3duY2FzdDxDU1NDb250ZW50RGlzdHJpYnV0aW9uVmFsdWU+KHRoaXMpOwogICAgICAgICByZXR1
cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCmluZGV4IGMxNmE1Mjg1NTVlNDc5MTM2NmE4MDY3ZmJiNzFh
MDQ0ZTQwMTA4ZGMuLmVmNTBlMmQ0ZjYzNTQwNGZhMTQ4YTQ4NTMwZDc5MjQxOTc1YTZkYmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NWYWx1ZS5oCkBAIC0xMDYsNiArMTA2LDkgQEAgcHVibGljOgogICAgIGJvb2wg
aXNMaW5lQm94Q29udGFpblZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gTGlu
ZUJveENvbnRhaW5DbGFzczsgfQogICAgIGJvb2wgaXNDYWxjVmFsdWUoKSBjb25zdCB7cmV0dXJu
IG1fY2xhc3NUeXBlID09IENhbGN1bGF0aW9uQ2xhc3M7IH0KICAgICBib29sIGlzRmlsdGVySW1h
Z2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEZpbHRlckltYWdlQ2xhc3M7
IH0KKyNpZiBFTkFCTEUoQ1NTX1BBSU5USU5HX0FQSSkKKyAgICBib29sIGlzUGFpbnRJbWFnZVZh
bHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gUGFpbnRJbWFnZUNsYXNzOyB9Cisj
ZW5kaWYKICAgICBib29sIGlzQ29udGVudERpc3RyaWJ1dGlvblZhbHVlKCkgY29uc3QgeyByZXR1
cm4gbV9jbGFzc1R5cGUgPT0gQ1NTQ29udGVudERpc3RyaWJ1dGlvbkNsYXNzOyB9CiAgICAgYm9v
bCBpc0dyaWRBdXRvUmVwZWF0VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBH
cmlkQXV0b1JlcGVhdENsYXNzOyB9CiAgICAgYm9vbCBpc0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUo
KSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBHcmlkVGVtcGxhdGVBcmVhc0NsYXNzOyB9
CkBAIC0xNDIsNiArMTQ1LDkgQEAgcHJvdGVjdGVkOgogCiAgICAgICAgIC8vIEltYWdlIGdlbmVy
YXRvciBjbGFzc2VzLgogICAgICAgICBDYW52YXNDbGFzcywKKyNpZiBFTkFCTEUoQ1NTX1BBSU5U
SU5HX0FQSSkKKyAgICAgICAgUGFpbnRJbWFnZUNsYXNzLAorI2VuZGlmCiAgICAgICAgIE5hbWVk
SW1hZ2VDbGFzcywKICAgICAgICAgQ3Jvc3NmYWRlQ2xhc3MsCiAgICAgICAgIEZpbHRlckltYWdl
Q2xhc3MsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5p
biBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IGQxMzNiNmQz
NzY1ZWU2YjQ3NDlmNWU5Y2M3ODA4YTRmNDhlMmM2NGEuLmYxNDgwNTgxOWEwZDdmYmFhMmUyMjVk
NzU2ZGU0MTg5ODY0YmM1NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZUtleXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmlu
CkBAIC0xMjAxLDYgKzEyMDEsOSBAQCByZXBlYXRpbmctY29uaWMtZ3JhZGllbnQKIGZpbHRlcgog
LXdlYmtpdC1maWx0ZXIKIGRhc2hib2FyZC1yZWdpb24KKyNpZiBkZWZpbmVkKEVOQUJMRV9DU1Nf
UEFJTlRJTkdfQVBJKSAmJiBFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSQorcGFpbnQKKyNlbmRpZgog
CiAvLyBkZXByZWNhdGVkIGdyYWRpZW50cwogZnJvbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwCmluZGV4IDI5ZDUyYjhk
ZjZkZDBiNDNkNjU2YzhmZDA2NTYwY2E1OGM3ZWJkMWQuLjIyYWNkNjEzZGIyY2VjMzJkNmYwOGNi
NjVjYjRiNjM4ZjQ0MjI2M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFy
c2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNs
dWRlICJDU1NJbWFnZVNldFZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTSW1hZ2VWYWx1ZS5oIgogI2lu
Y2x1ZGUgIkNTU05hbWVkSW1hZ2VWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU1BhaW50SW1hZ2VWYWx1
ZS5oIgogI2luY2x1ZGUgIkNTU1BhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlUG9v
bC5oIgogI2luY2x1ZGUgIlBhaXIuaCIKQEAgLTEyODEsNiArMTI4MiwyMyBAQCBzdGF0aWMgUmVm
UHRyPENTU1ZhbHVlPiBjb25zdW1lRmlsdGVySW1hZ2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJn
cywgY29uc3QgQ1NTUAogICAgIHJldHVybiBDU1NGaWx0ZXJJbWFnZVZhbHVlOjpjcmVhdGUoaW1h
Z2VWYWx1ZS5yZWxlYXNlTm9uTnVsbCgpLCBmaWx0ZXJWYWx1ZS5yZWxlYXNlTm9uTnVsbCgpKTsK
IH0KIAorI2lmIEVOQUJMRShDU1NfUEFJTlRJTkdfQVBJKQorc3RhdGljIFJlZlB0cjxDU1NWYWx1
ZT4gY29uc3VtZUN1c3RvbVBhaW50KENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MpCit7CisgICAg
aWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmNzc1BhaW50aW5n
QVBJRW5hYmxlZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAoYXJncy5wZWVr
KCkudHlwZSgpICE9IElkZW50VG9rZW4pCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGF1
dG8gbmFtZSA9IGFyZ3MuY29uc3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKS52YWx1ZSgpLnRvU3Ry
aW5nKCk7CisKKyAgICAvLyBGSVhNRTogc2hvdWxkIHBhcnNlIGFyZ3VtZW50cy4KKyAgICB3aGls
ZSAoIWFyZ3MuYXRFbmQoKSkKKyAgICAgICAgYXJncy5jb25zdW1lKCk7CisKKyAgICByZXR1cm4g
Q1NTUGFpbnRJbWFnZVZhbHVlOjpjcmVhdGUobmFtZSk7Cit9CisjZW5kaWYKKwogc3RhdGljIFJl
ZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUdlbmVyYXRlZEltYWdlKENTU1BhcnNlclRva2VuUmFuZ2Um
IHJhbmdlLCBDU1NQYXJzZXJDb250ZXh0IGNvbnRleHQpCiB7CiAgICAgQ1NTVmFsdWVJRCBpZCA9
IHJhbmdlLnBlZWsoKS5mdW5jdGlvbklkKCk7CkBAIC0xMzE3LDYgKzEzMzUsMTAgQEAgc3RhdGlj
IFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUdlbmVyYXRlZEltYWdlKENTU1BhcnNlclRva2VuUmFu
Z2UmIHJhbmdlLCBDU1NQYXIKICAgICAgICAgcmVzdWx0ID0gY29uc3VtZVdlYmtpdE5hbWVkSW1h
Z2UoYXJncyk7CiAgICAgZWxzZSBpZiAoaWQgPT0gQ1NTVmFsdWVXZWJraXRGaWx0ZXIgfHwgaWQg
PT0gQ1NTVmFsdWVGaWx0ZXIpCiAgICAgICAgIHJlc3VsdCA9IGNvbnN1bWVGaWx0ZXJJbWFnZShh
cmdzLCBjb250ZXh0KTsKKyNpZiBFTkFCTEUoQ1NTX1BBSU5USU5HX0FQSSkKKyAgICBlbHNlIGlm
IChpZCA9PSBDU1NWYWx1ZVBhaW50KQorICAgICAgICByZXN1bHQgPSBjb25zdW1lQ3VzdG9tUGFp
bnQoYXJncyk7CisjZW5kaWYKICAgICBpZiAoIXJlc3VsdCB8fCAhYXJncy5hdEVuZCgpKQogICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKICAgICByYW5nZSA9IHJhbmdlQ29weTsKQEAgLTEzNzEsNiAr
MTM5Myw5IEBAIHN0YXRpYyBib29sIGlzR2VuZXJhdGVkSW1hZ2UoQ1NTVmFsdWVJRCBpZCkKICAg
ICAgICAgfHwgaWQgPT0gQ1NTVmFsdWVDcm9zc0ZhZGUKICAgICAgICAgfHwgaWQgPT0gQ1NTVmFs
dWVXZWJraXROYW1lZEltYWdlCiAgICAgICAgIHx8IGlkID09IENTU1ZhbHVlV2Via2l0RmlsdGVy
CisjaWYgRU5BQkxFKENTU19QQUlOVElOR19BUEkpCisgICAgICAgIHx8IGlkID09IENTU1ZhbHVl
UGFpbnQKKyNlbmRpZgogICAgICAgICB8fCBpZCA9PSBDU1NWYWx1ZUZpbHRlcjsKIH0KICAgICAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFs
dGltZVZpZGVvVXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvUmVhbHRpbWVWaWRlb1V0aWxpdGllcy5oCmluZGV4IGI3MDI2NzQ4MjQ2OWQ1ODc1ZWZi
NWY3NDk0ZDFiZjdhYzQyYzg5ZTEuLjM4MGQzNzMxYjBhMTUzYWJiOWMyMjcwYmZlZTc2ODBmMDNi
M2I4ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21h
Yy9SZWFsdGltZVZpZGVvVXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lVmlkZW9VdGlsaXRpZXMuaApAQCAtMjMsNiArMjMsOCBA
QAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KICAqLwogCisjcHJhZ21hIG9uY2UKKwogI2luY2x1ZGUgPENvcmVW
aWRlby9Db3JlVmlkZW8uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJhNjFhMzFh
NDAxMDQ5MmZhZmMwMWNjMWVlZjA4ZjgzNjE1NjAyMjkuLmM3MTRjOTdlMTA3Mzc3ZTRiZmQ2NmQ3
YTNkZmQ2YjQ0Y2ExYTk1MTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOC0xMC0xNyAgSnVz
dGluIE1pY2hhdWQgIDxqdXN0aW5fbWljaGF1ZEBhcHBsZS5jb20+CisKKyAgICAgICAgUGFyc2Ug
cGFpbnQoKSBhbmQgc3RvcmUgcGFpbnQgY2FsbGJhY2tzIGZvciBDU1MgUGFpbnRpbmcgQVBJCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA2NTcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24uCisKKyAgICAgICAgKiBmYXN0L2Nzcy1j
dXN0b20tcGFpbnQvYmFzaWMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzLWN1c3Rv
bS1wYWludC9iYXNpYy5odG1sOgorCiAyMDE4LTEwLTE3ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVp
emFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IENlcnRhaW4gdGFncyBzaG91bGQgaWRlbnRp
ZnkgdGhlaXIgY29udGV4dCB0byBpT1MgQVBJCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy1jdXN0b20tcGFpbnQvYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3MtY3VzdG9tLXBhaW50L2Jhc2ljLWV4cGVjdGVkLnR4dAppbmRleCBlNzEyZGNjMmFjZDMxZDI2
NzUxYWRmMjg2ZDBmZDIwMzdlYjU2OTFkLi5jZDdmMmVlYmIxODkxODA0ZWE5Yjk3MjU4ZDk0NTVm
NzZhZmE4NDhjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1jdXN0b20tcGFpbnQv
YmFzaWMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWN1c3RvbS1wYWlu
dC9iYXNpYy1leHBlY3RlZC50eHQKQEAgLTUsNCArNSw1IEBAIFBBU1MgdGVzdCB0aGF0IHJlZ2lz
dGVyUGFpbnQgcnVucyB3aXRoIGlucHV0QXJndW1lbnRzCiBQQVNTIHRlc3QgdGhhdCByZWdpc3Rl
clBhaW50IHJ1bnMgd2l0aCBjb250ZXh0T3B0aW9ucyAKIFBBU1MgdGVzdCB0aGF0IHJlZ2lzdGVy
UGFpbnQgcnVucyB3aXRoIHByZWRlZmluZWQgY2xhc3MgCiBQQVNTIHRlc3QgdGhhdCByZWdpc3Rl
clBhaW50IGFjY2VwdHMgb25seSBhIHN0cmluZyBhbmQgYSBjbGFzcyBjb25zdHJ1Y3RvciAKK1BB
U1MgdGVzdCB0aGF0IHRlc3QgZGl2IGhhcyBwYWludCgpIHZhbHVlIAogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy1jdXN0b20tcGFpbnQvYmFzaWMuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzLWN1c3RvbS1wYWludC9iYXNpYy5odG1sCmluZGV4IDUyYzBlNWJkYTcwZTg3ZDFj
YTM3ZTk1NTE2NzBiNjA0OGVkZTM1MzQuLjM2OTlhYTIxZWExMTY3MWM5OTk0MDA3ZDk3ZTdlZDQw
ZGZmMjcxYWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWN1c3RvbS1wYWludC9i
YXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWN1c3RvbS1wYWludC9iYXNpYy5o
dG1sCkBAIC00LDYgKzQsMTcgQEAKIDxsaW5rIHJlbD0iaGVscCIgY29udGVudD0iaHR0cHM6Ly9k
cmFmdHMuY3NzLWhvdWRpbmkub3JnL2Nzcy1wYWludC1hcGktMS8iPgogPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKworPHN0eWxlPgor
ICAjcGFpbnQgeworICAgIGJhY2tncm91bmQtaW1hZ2U6IHBhaW50KG15LXBhaW50KTsKKyAgICB3
aWR0aDogNTBweDsKKyAgICBoZWlnaHQ6IDUwcHg7CisgIH0KKzwvc3R5bGU+CisKKzxkaXYgaWQ9
InBhaW50Ij48L2Rpdj4KKwogPHNjcmlwdD4KIHRlc3QoZnVuY3Rpb24oKSB7CiAgIENTUy5wYWlu
dFdvcmtsZXRHbG9iYWxTY29wZS5yZWdpc3RlclBhaW50KCd0ZXN0MScsIGNsYXNzIHsKQEAgLTUx
LDQgKzYyLDggQEAgdGVzdChmdW5jdGlvbigpIHsKICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVy
cm9yKCksICgpID0+IENTUy5wYWludFdvcmtsZXRHbG9iYWxTY29wZS5yZWdpc3RlclBhaW50KCcn
LCA1KSk7CiB9LCAndGVzdCB0aGF0IHJlZ2lzdGVyUGFpbnQgYWNjZXB0cyBvbmx5IGEgc3RyaW5n
IGFuZCBhIGNsYXNzIGNvbnN0cnVjdG9yJyk7CiAKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2Vy
dF9lcXVhbHMoZ2V0Q29tcHV0ZWRTdHlsZShwYWludCkuZ2V0UHJvcGVydHlWYWx1ZSgiYmFja2dy
b3VuZC1pbWFnZSIpLCAicGFpbnQobXktcGFpbnQpIik7Cit9LCAndGVzdCB0aGF0IHRlc3QgZGl2
IGhhcyBwYWludCgpIHZhbHVlJyk7CisKIDwvc2NyaXB0Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>