<?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>202989</bug_id>
          
          <creation_ts>2019-10-15 08:48:05 -0700</creation_ts>
          <short_desc>Stop using inheritance for WebBackForwardCacheEntry</short_desc>
          <delta_ts>2019-10-15 14:31:30 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=202929</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>202293</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>koivisto</cc>
    
    <cc>lingcherd_ho</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1580107</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-15 08:48:05 -0700</bug_when>
    <thetext>Stop using inheritance for WebBackForwardCacheEntry. This simplifies the code a bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580111</commentid>
    <comment_count>1</comment_count>
      <attachid>380988</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-15 08:55:03 -0700</bug_when>
    <thetext>Created attachment 380988
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580114</commentid>
    <comment_count>2</comment_count>
      <attachid>380989</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-15 09:09:06 -0700</bug_when>
    <thetext>Created attachment 380989
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580121</commentid>
    <comment_count>3</comment_count>
      <attachid>380991</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-15 09:19:20 -0700</bug_when>
    <thetext>Created attachment 380991
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580122</commentid>
    <comment_count>4</comment_count>
      <attachid>380992</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-15 09:28:21 -0700</bug_when>
    <thetext>Created attachment 380992
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580126</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-15 09:31:38 -0700</bug_when>
    <thetext>Fighting with unified build and GTK/WPE...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580141</commentid>
    <comment_count>6</comment_count>
      <attachid>380992</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-15 09:56:20 -0700</bug_when>
    <thetext>Comment on attachment 380992
Patch

Clearing flags on attachment: 380992

Committed r251142: &lt;https://trac.webkit.org/changeset/251142&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580142</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-15 09:56:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580201</commentid>
    <comment_count>8</comment_count>
      <attachid>380992</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-10-15 11:57:43 -0700</bug_when>
    <thetext>Comment on attachment 380992
Patch

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

Much better!

&gt; Source/WebKit/UIProcess/WebBackForwardCacheEntry.h:55
&gt; +    WebCore::ProcessIdentifier m_processIdentifier;
&gt; +    WebCore::BackForwardItemIdentifier m_backForwardItemID;
&gt; +    std::unique_ptr&lt;SuspendedPageProxy&gt; m_suspendedPage;

If you want the get fancy you can always use Variant&lt;&gt; as a replacement for subclassing (maybe overkill here).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580268</commentid>
    <comment_count>9</comment_count>
    <who name="Ling Ho">lingcherd_ho</who>
    <bug_when>2019-10-15 14:31:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/56295952&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580269</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-15 14:31:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/56308355&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380988</attachid>
            <date>2019-10-15 08:55:03 -0700</date>
            <delta_ts>2019-10-15 09:09:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202989-20191015085502.patch</filename>
            <type>text/plain</type>
            <size>14085</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGYyNDg3ZmZiZDI4Zjky
NDA4NmE3YjJmNGFmMzZmYjZiM2RhNTVkZS4uZDExNzE3YmJhYzE4MTkxZTg5NzZiMTBhNDM3ZGEz
ZjE0MWM2NWQ4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTEwLTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3RvcCB1c2luZyBpbmhlcml0
YW5jZSBmb3IgV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI5ODkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGhpc3RvcnkvQmFja0ZvcndhcmRJdGVtSWRlbnRp
Zmllci5oOgorICAgICAgICAoV2ViQ29yZTo6QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcjo6b3Bl
cmF0b3IgYm9vbCBjb25zdCk6CisKIDIwMTktMTAtMTUgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBbTEZDXSBBZGp1c3QgY29tcHV0ZWQgd2lkdGggdmFsdWUgd2hl
biBib3ggc2l6aW5nIGlzIGJvcmRlci1ib3gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYmIwNzY3NzcyNzFhNDc0Y2Fj
Y2I5MDhjZTA1YmI1ZDIzYTZlOWVjOC4uNzhjM2IwMjY1MzhkMTQyNDVhMDkxY2NiNTM0MWE3ZWNj
YjAxNzEyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxOS0xMC0xNSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFN0b3AgdXNpbmcgaW5oZXJpdGFuY2Ug
Zm9yIFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyOTg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgU3RvcCB1c2luZyBpbmhlcml0YW5jZSBmb3IgV2ViQmFja0Zv
cndhcmRDYWNoZUVudHJ5LiBUaGlzIHNpbXBsaWZpZXMgdGhlIGNvZGUgYSBiaXQuCisKKyAgICAg
ICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNo
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkJhY2tGb3J3YXJkQ2FjaGU6OmFkZEVudHJ5KToK
KyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJk
Q2FjaGVFbnRyeS5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkJh
Y2tGb3J3YXJkQ2FjaGVFbnRyeS5oLgorICAgICAgICAoV2ViS2l0OjpXZWJCYWNrRm9yd2FyZENh
Y2hlRW50cnk6OldlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeSk6CisgICAgICAgIChXZWJLaXQ6Oldl
YkJhY2tGb3J3YXJkQ2FjaGVFbnRyeTo6fldlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeTo6dGFrZVN1c3BlbmRlZFBhZ2Up
OgorICAgICAgICAoV2ViS2l0OjpXZWJCYWNrRm9yd2FyZENhY2hlRW50cnk6OnByb2Nlc3MgY29u
c3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZENhY2hlRW50cnkuaDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5OjpzdXNwZW5kZWRQYWdlIGNv
bnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5Ojpwcm9jZXNz
SWRlbnRpZmllciBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkJhY2tGb3J3YXJkQ2FjaGVF
bnRyeTo6V2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5KTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxOS0xMC0xNSAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gRml4
IHNldmVyYWwgR1RLIHRlc3RzIGluIC9XZWJLaXQyR3RrL1Rlc3RVSUNsaWVudCBjcmFzaGluZyBz
aW5jZSByMjQxOTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3
YXJkSXRlbUlkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRJ
dGVtSWRlbnRpZmllci5oCmluZGV4IDM2ZDE2ZWY2OTgxZDBlZGY5ODUwOGU0NTc0ZjQ4YmQ2MTQ3
MDU4NmMuLjA4ODE2ODgyZjc3ZTc4YTEzMGY1NmM1YzJhYjgyY2VlZWViYjQwMjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRJdGVtSWRlbnRpZmllci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRJdGVtSWRlbnRpZmllci5oCkBA
IC0zOCw2ICszOCw3IEBAIHN0cnVjdCBCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyIHsKICAgICBP
YmplY3RJZGVudGlmaWVyPEl0ZW1JZGVudGlmaWVyVHlwZT4gaXRlbUlkZW50aWZpZXI7CiAKICAg
ICB1bnNpZ25lZCBoYXNoKCkgY29uc3Q7CisgICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNv
bnN0IHsgcmV0dXJuIHByb2Nlc3NJZGVudGlmaWVyICYmIGl0ZW1JZGVudGlmaWVyOyB9CiAKICAg
ICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAg
ICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIE9wdGlvbmFsPEJhY2tGb3J3YXJkSXRl
bUlkZW50aWZpZXI+IGRlY29kZShEZWNvZGVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAppbmRleCAzNTUxOTdhMTA5
ZTVhMzkxYWExODRiMGNmODcxZmI3MzdjMzEyMDU0Li5iZjk2Yzg2MDhmMGFhYzM2MDZlMDMyOWJj
OTY1ZDYwOWNmNjg3MWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0Cisr
KyBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKQEAgLTI2MSw2ICsyNjEsNyBAQCBVSVByb2Nl
c3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5jcHAKIFVJUHJvY2Vzcy9Vc2VyTWVk
aWFQcm9jZXNzTWFuYWdlci5jcHAKIFVJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcAogVUlQ
cm9jZXNzL1dlYkJhY2tGb3J3YXJkQ2FjaGUuY3BwCitVSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRD
YWNoZUVudHJ5LmNwcAogVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5jcHAKIFVJUHJvY2Vz
cy9XZWJDb2xvclBpY2tlci5jcHAKIFVJUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRD
YWNoZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZENhY2hlLmNw
cAppbmRleCA0MGZmMWM2OWMxM2NiNWJkNjBjMzIzNjkzZGMyMjM5ZmRjZmU3YWMzLi5lNzVhODk2
YjlkNmY1NGNkZGMwOWU3NjVhYWE5N2ViN2U5YzA4M2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZENhY2hlLmNwcApAQCAtMzgsNTQgKzM4LDYgQEAKIAog
bmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIEVudHJ5V2l0aFN1c3BlbmRlZFBhZ2UgZmluYWwg
OiBwdWJsaWMgV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5IHsKLXB1YmxpYzoKLSAgICBFbnRyeVdp
dGhTdXNwZW5kZWRQYWdlKFdlYkJhY2tGb3J3YXJkQ2FjaGUmIGJhY2tGb3J3YXJkQ2FjaGUsIHN0
ZDo6dW5pcXVlX3B0cjxTdXNwZW5kZWRQYWdlUHJveHk+JiYgc3VzcGVuZGVkUGFnZSkKLSAgICAg
ICAgOiBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkoYmFja0ZvcndhcmRDYWNoZSkKLSAgICAgICAg
LCBtX3N1c3BlbmRlZFBhZ2UoV1RGTW92ZShzdXNwZW5kZWRQYWdlKSkKLSAgICB7Ci0gICAgfQot
Ci0gICAgU3VzcGVuZGVkUGFnZVByb3h5KiBzdXNwZW5kZWRQYWdlKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9zdXNwZW5kZWRQYWdlLmdldCgpOyB9Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFN1c3Bl
bmRlZFBhZ2VQcm94eT4gdGFrZVN1c3BlbmRlZFBhZ2UoKSBmaW5hbCB7IHJldHVybiBzdGQ6OmV4
Y2hhbmdlKG1fc3VzcGVuZGVkUGFnZSwgbnVsbHB0cik7IH0KLSAgICBXZWJDb3JlOjpQcm9jZXNz
SWRlbnRpZmllciBwcm9jZXNzSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHByb2Nl
c3MoKS5jb3JlUHJvY2Vzc0lkZW50aWZpZXIoKTsgfQotICAgIFdlYlByb2Nlc3NQcm94eSYgcHJv
Y2VzcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fc3VzcGVuZGVkUGFnZS0+cHJvY2VzcygpOyB9
Ci0KLXByaXZhdGU6Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFN1c3BlbmRlZFBhZ2VQcm94eT4gbV9z
dXNwZW5kZWRQYWdlOwotfTsKLQotY2xhc3MgRW50cnlXaXRob3V0U3VzcGVuZGVkUGFnZSBmaW5h
bCA6IHB1YmxpYyBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkgewotcHVibGljOgotICAgIEVudHJ5
V2l0aG91dFN1c3BlbmRlZFBhZ2UoV2ViQmFja0ZvcndhcmRDYWNoZSYgYmFja0ZvcndhcmRDYWNo
ZSwgY29uc3QgV2ViQ29yZTo6QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllciYgYmFja0ZvcndhcmRJ
dGVtSUQsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHByb2Nlc3NJZGVudGlmaWVyKQotICAg
ICAgICA6IFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeShiYWNrRm9yd2FyZENhY2hlKQotICAgICAg
ICAsIG1fcHJvY2Vzc0lkZW50aWZpZXIocHJvY2Vzc0lkZW50aWZpZXIpCi0gICAgICAgICwgbV9i
YWNrRm9yd2FyZEl0ZW1JRChiYWNrRm9yd2FyZEl0ZW1JRCkKLSAgICB7Ci0gICAgfQotCi0gICAg
fkVudHJ5V2l0aG91dFN1c3BlbmRlZFBhZ2UoKQotICAgIHsKLSAgICAgICAgYXV0byYgcHJvY2Vz
cyA9IHRoaXMtPnByb2Nlc3MoKTsKLSAgICAgICAgcHJvY2Vzcy5zZW5kV2l0aEFzeW5jUmVwbHko
TWVzc2FnZXM6OldlYlByb2Nlc3M6OkNsZWFyQ2FjaGVkUGFnZShtX2JhY2tGb3J3YXJkSXRlbUlE
KSwgW3Rva2VuID0gcHJvY2Vzcy50aHJvdHRsZXIoKS5iYWNrZ3JvdW5kQWN0aXZpdHlUb2tlbigp
XSB7IH0pOwotICAgIH0KLQotICAgIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHByb2Nlc3NJ
ZGVudGlmaWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9wcm9jZXNzSWRlbnRpZmllcjsgfQot
ICAgIFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzcygpIGNvbnN0IGZpbmFsCi0gICAgewotICAgICAg
ICBhdXRvKiBwcm9jZXNzID0gV2ViUHJvY2Vzc1Byb3h5Ojpwcm9jZXNzRm9ySWRlbnRpZmllciht
X3Byb2Nlc3NJZGVudGlmaWVyKTsKLSAgICAgICAgQVNTRVJUKHByb2Nlc3MpOwotICAgICAgICBy
ZXR1cm4gKnByb2Nlc3M7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFN1c3BlbmRlZFBhZ2VQcm94
eSogc3VzcGVuZGVkUGFnZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG51bGxwdHI7IH0KLSAgICBz
dGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5PiB0YWtlU3VzcGVuZGVkUGFnZSgpIGZp
bmFsIHsgcmV0dXJuIG51bGxwdHI7IH0KLQotICAgIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVy
IG1fcHJvY2Vzc0lkZW50aWZpZXI7Ci0gICAgV2ViQ29yZTo6QmFja0ZvcndhcmRJdGVtSWRlbnRp
ZmllciBtX2JhY2tGb3J3YXJkSXRlbUlEOwotfTsKLQogV2ViQmFja0ZvcndhcmRDYWNoZTo6V2Vi
QmFja0ZvcndhcmRDYWNoZShXZWJQcm9jZXNzUG9vbCYgcHJvY2Vzc1Bvb2wpCiAgICAgOiBtX3By
b2Nlc3NQb29sKHByb2Nlc3NQb29sKQogewpAQCAtMTM2LDEyICs4OCwxMiBAQCB2b2lkIFdlYkJh
Y2tGb3J3YXJkQ2FjaGU6OmFkZEVudHJ5KFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mIGl0ZW0sIHN0
ZDo6dW5pcXVlX3B0cgogCiB2b2lkIFdlYkJhY2tGb3J3YXJkQ2FjaGU6OmFkZEVudHJ5KFdlYkJh
Y2tGb3J3YXJkTGlzdEl0ZW0mIGl0ZW0sIHN0ZDo6dW5pcXVlX3B0cjxTdXNwZW5kZWRQYWdlUHJv
eHk+JiYgc3VzcGVuZGVkUGFnZSkKIHsKLSAgICBhZGRFbnRyeShpdGVtLCBtYWtlVW5pcXVlPEVu
dHJ5V2l0aFN1c3BlbmRlZFBhZ2U+KCp0aGlzLCBXVEZNb3ZlKHN1c3BlbmRlZFBhZ2UpKSk7Cisg
ICAgYWRkRW50cnkoaXRlbSwgbWFrZVVuaXF1ZTxXZWJCYWNrRm9yd2FyZENhY2hlRW50cnk+KCp0
aGlzLCBpdGVtLml0ZW1JRCgpLCBzdXNwZW5kZWRQYWdlLT5wcm9jZXNzKCkuY29yZVByb2Nlc3NJ
ZGVudGlmaWVyKCksIFdURk1vdmUoc3VzcGVuZGVkUGFnZSkpKTsKIH0KIAogdm9pZCBXZWJCYWNr
Rm9yd2FyZENhY2hlOjphZGRFbnRyeShXZWJCYWNrRm9yd2FyZExpc3RJdGVtJiBpdGVtLCBXZWJD
b3JlOjpQcm9jZXNzSWRlbnRpZmllciBwcm9jZXNzSWRlbnRpZmllcikKIHsKLSAgICBhZGRFbnRy
eShpdGVtLCBtYWtlVW5pcXVlPEVudHJ5V2l0aG91dFN1c3BlbmRlZFBhZ2U+KCp0aGlzLCBpdGVt
Lml0ZW1JRCgpLCBXVEZNb3ZlKHByb2Nlc3NJZGVudGlmaWVyKSkpOworICAgIGFkZEVudHJ5KGl0
ZW0sIG1ha2VVbmlxdWU8V2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5PigqdGhpcywgaXRlbS5pdGVt
SUQoKSwgV1RGTW92ZShwcm9jZXNzSWRlbnRpZmllcikpKTsKIH0KIAogdm9pZCBXZWJCYWNrRm9y
d2FyZENhY2hlOjpyZW1vdmVFbnRyeShXZWJCYWNrRm9yd2FyZExpc3RJdGVtJiBpdGVtKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzVjZGZiNmJlNmM2MDQwYzc0MDM4MTRkNjNiMDVhZTNhYmI2NWQyZAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJk
Q2FjaGVFbnRyeS5jcHAKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkuaCIKKworI2luY2x1
ZGUgIlN1c3BlbmRlZFBhZ2VQcm94eS5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NNZXNzYWdlcy5o
IgorI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
V2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5OjpXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkoV2ViQmFj
a0ZvcndhcmRDYWNoZSYgYmFja0ZvcndhcmRDYWNoZSwgV2ViQ29yZTo6QmFja0ZvcndhcmRJdGVt
SWRlbnRpZmllciBiYWNrRm9yd2FyZEl0ZW1JRCwgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIg
cHJvY2Vzc0lkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxTdXNwZW5kZWRQYWdlUHJveHk+JiYg
c3VzcGVuZGVkUGFnZSkKKyAgICA6IG1fYmFja0ZvcndhcmRDYWNoZShiYWNrRm9yd2FyZENhY2hl
KQorICAgICwgbV9wcm9jZXNzSWRlbnRpZmllcihwcm9jZXNzSWRlbnRpZmllcikKKyAgICAsIG1f
YmFja0ZvcndhcmRJdGVtSUQoYmFja0ZvcndhcmRJdGVtSUQpCisgICAgLCBtX3N1c3BlbmRlZFBh
Z2UoV1RGTW92ZShzdXNwZW5kZWRQYWdlKSkKK3sKK30KKworV2ViQmFja0ZvcndhcmRDYWNoZUVu
dHJ5Ojp+V2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5KCkKK3sKKyAgICBpZiAobV9iYWNrRm9yd2Fy
ZEl0ZW1JRCAmJiAhbV9zdXNwZW5kZWRQYWdlKSB7CisgICAgICAgIGF1dG8mIHByb2Nlc3MgPSB0
aGlzLT5wcm9jZXNzKCk7CisgICAgICAgIHByb2Nlc3Muc2VuZFdpdGhBc3luY1JlcGx5KE1lc3Nh
Z2VzOjpXZWJQcm9jZXNzOjpDbGVhckNhY2hlZFBhZ2UobV9iYWNrRm9yd2FyZEl0ZW1JRCksIFt0
b2tlbiA9IHByb2Nlc3MudGhyb3R0bGVyKCkuYmFja2dyb3VuZEFjdGl2aXR5VG9rZW4oKV0geyB9
KTsKKyAgICB9Cit9CisKK3N0ZDo6dW5pcXVlX3B0cjxTdXNwZW5kZWRQYWdlUHJveHk+IFdlYkJh
Y2tGb3J3YXJkQ2FjaGVFbnRyeTo6dGFrZVN1c3BlbmRlZFBhZ2UoKQoreworICAgIEFTU0VSVCht
X3N1c3BlbmRlZFBhZ2UpOworICAgIG1fYmFja0ZvcndhcmRJdGVtSUQgPSB7IH07CisgICAgcmV0
dXJuIHN0ZDo6ZXhjaGFuZ2UobV9zdXNwZW5kZWRQYWdlLCBudWxscHRyKTsKK30KKworV2ViUHJv
Y2Vzc1Byb3h5JiBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnk6OnByb2Nlc3MoKSBjb25zdAorewor
ICAgIGF1dG8qIHByb2Nlc3MgPSBXZWJQcm9jZXNzUHJveHk6OnByb2Nlc3NGb3JJZGVudGlmaWVy
KG1fcHJvY2Vzc0lkZW50aWZpZXIpOworICAgIEFTU0VSVChwcm9jZXNzKTsKKyAgICBBU1NFUlQo
IW1fc3VzcGVuZGVkUGFnZSB8fCBwcm9jZXNzID09ICZtX3N1c3BlbmRlZFBhZ2UtPnByb2Nlc3Mo
KSk7CisgICAgcmV0dXJuICpwcm9jZXNzOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkQ2FjaGVFbnRy
eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5LmgK
aW5kZXggZDU3YTMxMzQyMWZmZTA2MzI5MzIxOTJhYTJmYzRjODRhNTdiMzcwOC4uMWY0YzZhNTc0
YjNhNjg0MWIwODVjOTlhNDlkODEzZjgwY2M3YjI0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5LmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5LmgKQEAgLTI1LDYgKzI1LDcgQEAK
IAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlIDxXZWJDb3JlL0JhY2tGb3J3YXJkSXRlbUlkZW50
aWZpZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Byb2Nlc3NJZGVudGlmaWVyLmg+CiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KIApAQCAtMzcsMjMgKzM4LDIxIEBAIGNsYXNzIFdlYlByb2Nlc3NQ
cm94eTsKIGNsYXNzIFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeSB7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+V2ViQmFja0ZvcndhcmRDYWNoZUVu
dHJ5KCkgPSBkZWZhdWx0OworICAgIFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeShXZWJCYWNrRm9y
d2FyZENhY2hlJiwgV2ViQ29yZTo6QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllciwgV2ViQ29yZTo6
UHJvY2Vzc0lkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxTdXNwZW5kZWRQYWdlUHJveHk+JiYg
PSBudWxscHRyKTsKKyAgICB+V2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5KCk7CiAKICAgICBXZWJC
YWNrRm9yd2FyZENhY2hlJiBiYWNrRm9yd2FyZENhY2hlKCkgY29uc3QgeyByZXR1cm4gbV9iYWNr
Rm9yd2FyZENhY2hlOyB9CiAKLSAgICB2aXJ0dWFsIFN1c3BlbmRlZFBhZ2VQcm94eSogc3VzcGVu
ZGVkUGFnZSgpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxTdXNwZW5k
ZWRQYWdlUHJveHk+IHRha2VTdXNwZW5kZWRQYWdlKCkgPSAwOwotICAgIHZpcnR1YWwgV2ViQ29y
ZTo6UHJvY2Vzc0lkZW50aWZpZXIgcHJvY2Vzc0lkZW50aWZpZXIoKSBjb25zdCA9IDA7Ci0gICAg
dmlydHVhbCBXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MoKSBjb25zdCA9IDA7Ci0KLXByb3RlY3Rl
ZDoKLSAgICBleHBsaWNpdCBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkoV2ViQmFja0ZvcndhcmRD
YWNoZSYgYmFja0ZvcndhcmRDYWNoZSkKLSAgICAgICAgOiBtX2JhY2tGb3J3YXJkQ2FjaGUoYmFj
a0ZvcndhcmRDYWNoZSkKLSAgICB7Ci0gICAgfQorICAgIFN1c3BlbmRlZFBhZ2VQcm94eSogc3Vz
cGVuZGVkUGFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3VzcGVuZGVkUGFnZS5nZXQoKTsgfQorICAg
IHN0ZDo6dW5pcXVlX3B0cjxTdXNwZW5kZWRQYWdlUHJveHk+IHRha2VTdXNwZW5kZWRQYWdlKCk7
CisgICAgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgcHJvY2Vzc0lkZW50aWZpZXIoKSBjb25z
dCB7IHJldHVybiBtX3Byb2Nlc3NJZGVudGlmaWVyOyB9CisgICAgV2ViUHJvY2Vzc1Byb3h5JiBw
cm9jZXNzKCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgV2ViQmFja0ZvcndhcmRDYWNoZSYgbV9i
YWNrRm9yd2FyZENhY2hlOworICAgIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIG1fcHJvY2Vz
c0lkZW50aWZpZXI7CisgICAgV2ViQ29yZTo6QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllciBtX2Jh
Y2tGb3J3YXJkSXRlbUlEOworICAgIHN0ZDo6dW5pcXVlX3B0cjxTdXNwZW5kZWRQYWdlUHJveHk+
IG1fc3VzcGVuZGVkUGFnZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWMwYmE0ZDNk
N2Q0MDU3NzJjODMxNmRlNWY5Mjc4MTE4MTRlMDNiNC4uODRmOTZlNjI3MjNlYmExNjE3YWI4YjEy
YzcxNmYwMDM2MDliNjEyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC0zMjA1LDYgKzMyMDUsNyBAQAogCQk0NjMyMzY4NDIzMTQ4MjVD
MDBBNDhGQTcgLyogV2ViUmVtb3RlT2JqZWN0UmVnaXN0cnkuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViUmVtb3RlT2JqZWN0UmVnaXN0cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0NjMyMzY4NTIzMTQ4MzNGMDBBNDhGQTcgLyogVUlSZW1vdGVPYmplY3RSZWdpc3RyeS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBVSVJlbW90ZU9iamVjdFJlZ2lzdHJ5Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQ2MzIzNjg2MjMxNDgzM0YwMEE0OEZBNyAvKiBVSVJlbW90ZU9iamVj
dFJlZ2lzdHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVJUmVtb3RlT2JqZWN0UmVnaXN0cnku
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NjM0NzNCNjIzNTYxRDJBMDBCRTFB
ODQgLyogV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQ2M0ZENDdGMUVCOTQ1ODQwMEEyOTgyQyAvKiBXS1Byb2Nlc3NU
ZXJtaW5hdGlvblJlYXNvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1By
b2Nlc3NUZXJtaW5hdGlvblJlYXNvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
NjNGRDQ4MTFFQjk0RUFEMDBBMjk4MkMgLyogUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjUxRUNFNjIyMTc4QTg1MDA2N0VCOTUg
LyogV2ViUHJvY2Vzc0NhY2hlQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBXZWJQcm9jZXNzQ2FjaGVDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTc4MjQsNiArNzgyNSw3IEBACiAJCQkJMUE2MDIyNDkxOEMxNkIwODAwQzNFOEM5
IC8qIFZpc2l0ZWRMaW5rU3RvcmUubWVzc2FnZXMuaW4gKi8sCiAJCQkJNDYwMzAxMUEyMzRCRTMx
RDAwOUM4MjE3IC8qIFdlYkJhY2tGb3J3YXJkQ2FjaGUuY3BwICovLAogCQkJCTQ2MDMwMTFCMjM0
QkUzMUUwMDlDODIxNyAvKiBXZWJCYWNrRm9yd2FyZENhY2hlLmggKi8sCisJCQkJNDYzNDczQjYy
MzU2MUQyQTAwQkUxQTg0IC8qIFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5jcHAgKi8sCiAJCQkJ
NDZGOUIyNjIyMzUyNkVEMDAwNkZFNUZBIC8qIFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oICov
LAogCQkJCUJDNzJCQTFCMTFFNjQ5MDcwMDFFQjRFQSAvKiBXZWJCYWNrRm9yd2FyZExpc3QuY3Bw
ICovLAogCQkJCUJDNzJCQTFDMTFFNjQ5MDcwMDFFQjRFQSAvKiBXZWJCYWNrRm9yd2FyZExpc3Qu
aCAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380989</attachid>
            <date>2019-10-15 09:09:06 -0700</date>
            <delta_ts>2019-10-15 09:19:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202989-20191015090906.patch</filename>
            <type>text/plain</type>
            <size>14665</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGYyNDg3ZmZiZDI4Zjky
NDA4NmE3YjJmNGFmMzZmYjZiM2RhNTVkZS4uM2MxZjcwMjVjMDc4YjczMDE1NjJkZWZkMTZhNWRi
ZDY2YmIyYmIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTEwLTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3RvcCB1c2luZyBpbmhlcml0
YW5jZSBmb3IgV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI5ODkKKworICAgICAgICBSZXZpZXdlZCBieSBB
bGV4IENocmlzdGVuc2VuLgorCisgICAgICAgICogaGlzdG9yeS9CYWNrRm9yd2FyZEl0ZW1JZGVu
dGlmaWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyOjpv
cGVyYXRvciBib29sIGNvbnN0KToKKwogMjAxOS0xMC0xNSAgWmFsYW4gQnVqdGFzICA8emFsYW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdIEFkanVzdCBjb21wdXRlZCB3aWR0aCB2YWx1ZSB3
aGVuIGJveCBzaXppbmcgaXMgYm9yZGVyLWJveApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiYjA3Njc3NzI3MWE0NzRj
YWNjYjkwOGNlMDViYjVkMjNhNmU5ZWM4Li4wYzIxYmE0YTJkYWJhODljNmM4MDA3MTg3ODQ1ODY4
MjZmNDE5NmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTEwLTE1ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3RvcCB1c2luZyBpbmhlcml0YW5j
ZSBmb3IgV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI5ODkKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4
IENocmlzdGVuc2VuLgorCisgICAgICAgIFN0b3AgdXNpbmcgaW5oZXJpdGFuY2UgZm9yIFdlYkJh
Y2tGb3J3YXJkQ2FjaGVFbnRyeS4gVGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIGEgYml0LgorCisg
ICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJk
Q2FjaGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJCYWNrRm9yd2FyZENhY2hlOjphZGRFbnRy
eSk6CisgICAgICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJCYWNrRm9y
d2FyZENhY2hlRW50cnkuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJCYWNrRm9yd2FyZENhY2hlRW50cnkuaC4KKyAgICAgICAgKFdlYktpdDo6V2ViQmFja0Zvcndh
cmRDYWNoZUVudHJ5OjpXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkpOgorICAgICAgICAoV2ViS2l0
OjpXZWJCYWNrRm9yd2FyZENhY2hlRW50cnk6On5XZWJCYWNrRm9yd2FyZENhY2hlRW50cnkpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJCYWNrRm9yd2FyZENhY2hlRW50cnk6OnRha2VTdXNwZW5kZWRQ
YWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5Ojpwcm9jZXNz
IGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5Lmg6
CisgICAgICAgIChXZWJLaXQ6OldlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeTo6c3VzcGVuZGVkUGFn
ZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeTo6cHJv
Y2Vzc0lkZW50aWZpZXIgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJCYWNrRm9yd2FyZENh
Y2hlRW50cnk6OldlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeSk6IERlbGV0ZWQuCisgICAgICAgICog
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTktMTAtMTUgIENhcmxvcyBH
YXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQu
IEZpeCBzZXZlcmFsIEdUSyB0ZXN0cyBpbiAvV2ViS2l0Mkd0ay9UZXN0VUlDbGllbnQgY3Jhc2hp
bmcgc2luY2UgcjI0MTk4OApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNr
Rm9yd2FyZEl0ZW1JZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3
YXJkSXRlbUlkZW50aWZpZXIuaAppbmRleCAzNmQxNmVmNjk4MWQwZWRmOTg1MDhlNDU3NGY0OGJk
NjE0NzA1ODZjLi4wODgxNjg4MmY3N2U3OGExMzBmNTZjNWMyYWI4MmNlZWVlYmI0MDI0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIu
aApAQCAtMzgsNiArMzgsNyBAQCBzdHJ1Y3QgQmFja0ZvcndhcmRJdGVtSWRlbnRpZmllciB7CiAg
ICAgT2JqZWN0SWRlbnRpZmllcjxJdGVtSWRlbnRpZmllclR5cGU+IGl0ZW1JZGVudGlmaWVyOwog
CiAgICAgdW5zaWduZWQgaGFzaCgpIGNvbnN0OworICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2wo
KSBjb25zdCB7IHJldHVybiBwcm9jZXNzSWRlbnRpZmllciAmJiBpdGVtSWRlbnRpZmllcjsgfQog
CiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0
OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxCYWNrRm9yd2Fy
ZEl0ZW1JZGVudGlmaWVyPiBkZWNvZGUoRGVjb2RlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggMzU1MTk3
YTEwOWU1YTM5MWFhMTg0YjBjZjg3MWZiNzM3YzMxMjA1NC4uYmY5NmM4NjA4ZjBhYWMzNjA2ZTAz
MjliYzk2NWQ2MDljZjY4NzFjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4
dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC0yNjEsNiArMjYxLDcgQEAgVUlQ
cm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuY3BwCiBVSVByb2Nlc3MvVXNl
ck1lZGlhUHJvY2Vzc01hbmFnZXIuY3BwCiBVSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9yZS5jcHAK
IFVJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZENhY2hlLmNwcAorVUlQcm9jZXNzL1dlYkJhY2tGb3J3
YXJkQ2FjaGVFbnRyeS5jcHAKIFVJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuY3BwCiBVSVBy
b2Nlc3MvV2ViQ29sb3JQaWNrZXIuY3BwCiBVSVByb2Nlc3MvV2ViQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3
YXJkQ2FjaGUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNo
ZS5jcHAKaW5kZXggNDBmZjFjNjljMTNjYjViZDYwYzMyMzY5M2RjMjIzOWZkY2ZlN2FjMy4uZTc1
YTg5NmI5ZDZmNTRjZGRjMDllNzY1YWFhOTdlYjdlOWMwODNkNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNoZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNoZS5jcHAKQEAgLTM4LDU0ICszOCw2IEBA
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBFbnRyeVdpdGhTdXNwZW5kZWRQYWdlIGZp
bmFsIDogcHVibGljIFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeSB7Ci1wdWJsaWM6Ci0gICAgRW50
cnlXaXRoU3VzcGVuZGVkUGFnZShXZWJCYWNrRm9yd2FyZENhY2hlJiBiYWNrRm9yd2FyZENhY2hl
LCBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5PiYmIHN1c3BlbmRlZFBhZ2UpCi0g
ICAgICAgIDogV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5KGJhY2tGb3J3YXJkQ2FjaGUpCi0gICAg
ICAgICwgbV9zdXNwZW5kZWRQYWdlKFdURk1vdmUoc3VzcGVuZGVkUGFnZSkpCi0gICAgewotICAg
IH0KLQotICAgIFN1c3BlbmRlZFBhZ2VQcm94eSogc3VzcGVuZGVkUGFnZSgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIG1fc3VzcGVuZGVkUGFnZS5nZXQoKTsgfQotICAgIHN0ZDo6dW5pcXVlX3B0cjxT
dXNwZW5kZWRQYWdlUHJveHk+IHRha2VTdXNwZW5kZWRQYWdlKCkgZmluYWwgeyByZXR1cm4gc3Rk
OjpleGNoYW5nZShtX3N1c3BlbmRlZFBhZ2UsIG51bGxwdHIpOyB9Ci0gICAgV2ViQ29yZTo6UHJv
Y2Vzc0lkZW50aWZpZXIgcHJvY2Vzc0lkZW50aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBw
cm9jZXNzKCkuY29yZVByb2Nlc3NJZGVudGlmaWVyKCk7IH0KLSAgICBXZWJQcm9jZXNzUHJveHkm
IHByb2Nlc3MoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3N1c3BlbmRlZFBhZ2UtPnByb2Nlc3Mo
KTsgfQotCi1wcml2YXRlOgotICAgIHN0ZDo6dW5pcXVlX3B0cjxTdXNwZW5kZWRQYWdlUHJveHk+
IG1fc3VzcGVuZGVkUGFnZTsKLX07Ci0KLWNsYXNzIEVudHJ5V2l0aG91dFN1c3BlbmRlZFBhZ2Ug
ZmluYWwgOiBwdWJsaWMgV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5IHsKLXB1YmxpYzoKLSAgICBF
bnRyeVdpdGhvdXRTdXNwZW5kZWRQYWdlKFdlYkJhY2tGb3J3YXJkQ2FjaGUmIGJhY2tGb3J3YXJk
Q2FjaGUsIGNvbnN0IFdlYkNvcmU6OkJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXImIGJhY2tGb3J3
YXJkSXRlbUlELCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBwcm9jZXNzSWRlbnRpZmllcikK
LSAgICAgICAgOiBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkoYmFja0ZvcndhcmRDYWNoZSkKLSAg
ICAgICAgLCBtX3Byb2Nlc3NJZGVudGlmaWVyKHByb2Nlc3NJZGVudGlmaWVyKQotICAgICAgICAs
IG1fYmFja0ZvcndhcmRJdGVtSUQoYmFja0ZvcndhcmRJdGVtSUQpCi0gICAgewotICAgIH0KLQot
ICAgIH5FbnRyeVdpdGhvdXRTdXNwZW5kZWRQYWdlKCkKLSAgICB7Ci0gICAgICAgIGF1dG8mIHBy
b2Nlc3MgPSB0aGlzLT5wcm9jZXNzKCk7Ci0gICAgICAgIHByb2Nlc3Muc2VuZFdpdGhBc3luY1Jl
cGx5KE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpDbGVhckNhY2hlZFBhZ2UobV9iYWNrRm9yd2FyZEl0
ZW1JRCksIFt0b2tlbiA9IHByb2Nlc3MudGhyb3R0bGVyKCkuYmFja2dyb3VuZEFjdGl2aXR5VG9r
ZW4oKV0geyB9KTsKLSAgICB9Ci0KLSAgICBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBwcm9j
ZXNzSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvY2Vzc0lkZW50aWZpZXI7
IH0KLSAgICBXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MoKSBjb25zdCBmaW5hbAotICAgIHsKLSAg
ICAgICAgYXV0byogcHJvY2VzcyA9IFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc0ZvcklkZW50aWZp
ZXIobV9wcm9jZXNzSWRlbnRpZmllcik7Ci0gICAgICAgIEFTU0VSVChwcm9jZXNzKTsKLSAgICAg
ICAgcmV0dXJuICpwcm9jZXNzOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBTdXNwZW5kZWRQYWdl
UHJveHkqIHN1c3BlbmRlZFBhZ2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiBudWxscHRyOyB9Ci0g
ICAgc3RkOjp1bmlxdWVfcHRyPFN1c3BlbmRlZFBhZ2VQcm94eT4gdGFrZVN1c3BlbmRlZFBhZ2Uo
KSBmaW5hbCB7IHJldHVybiBudWxscHRyOyB9Ci0KLSAgICBXZWJDb3JlOjpQcm9jZXNzSWRlbnRp
ZmllciBtX3Byb2Nlc3NJZGVudGlmaWVyOwotICAgIFdlYkNvcmU6OkJhY2tGb3J3YXJkSXRlbUlk
ZW50aWZpZXIgbV9iYWNrRm9yd2FyZEl0ZW1JRDsKLX07Ci0KIFdlYkJhY2tGb3J3YXJkQ2FjaGU6
OldlYkJhY2tGb3J3YXJkQ2FjaGUoV2ViUHJvY2Vzc1Bvb2wmIHByb2Nlc3NQb29sKQogICAgIDog
bV9wcm9jZXNzUG9vbChwcm9jZXNzUG9vbCkKIHsKQEAgLTEzNiwxMiArODgsMTIgQEAgdm9pZCBX
ZWJCYWNrRm9yd2FyZENhY2hlOjphZGRFbnRyeShXZWJCYWNrRm9yd2FyZExpc3RJdGVtJiBpdGVt
LCBzdGQ6OnVuaXF1ZV9wdHIKIAogdm9pZCBXZWJCYWNrRm9yd2FyZENhY2hlOjphZGRFbnRyeShX
ZWJCYWNrRm9yd2FyZExpc3RJdGVtJiBpdGVtLCBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFn
ZVByb3h5PiYmIHN1c3BlbmRlZFBhZ2UpCiB7Ci0gICAgYWRkRW50cnkoaXRlbSwgbWFrZVVuaXF1
ZTxFbnRyeVdpdGhTdXNwZW5kZWRQYWdlPigqdGhpcywgV1RGTW92ZShzdXNwZW5kZWRQYWdlKSkp
OworICAgIGFkZEVudHJ5KGl0ZW0sIG1ha2VVbmlxdWU8V2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5
PigqdGhpcywgaXRlbS5pdGVtSUQoKSwgc3VzcGVuZGVkUGFnZS0+cHJvY2VzcygpLmNvcmVQcm9j
ZXNzSWRlbnRpZmllcigpLCBXVEZNb3ZlKHN1c3BlbmRlZFBhZ2UpKSk7CiB9CiAKIHZvaWQgV2Vi
QmFja0ZvcndhcmRDYWNoZTo6YWRkRW50cnkoV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYgaXRlbSwg
V2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgcHJvY2Vzc0lkZW50aWZpZXIpCiB7Ci0gICAgYWRk
RW50cnkoaXRlbSwgbWFrZVVuaXF1ZTxFbnRyeVdpdGhvdXRTdXNwZW5kZWRQYWdlPigqdGhpcywg
aXRlbS5pdGVtSUQoKSwgV1RGTW92ZShwcm9jZXNzSWRlbnRpZmllcikpKTsKKyAgICBhZGRFbnRy
eShpdGVtLCBtYWtlVW5pcXVlPFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeT4oKnRoaXMsIGl0ZW0u
aXRlbUlEKCksIFdURk1vdmUocHJvY2Vzc0lkZW50aWZpZXIpKSk7CiB9CiAKIHZvaWQgV2ViQmFj
a0ZvcndhcmRDYWNoZTo6cmVtb3ZlRW50cnkoV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYgaXRlbSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkQ2FjaGVF
bnRyeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZENhY2hlRW50
cnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjc1Y2RmYjZiZTZjNjA0MGM3NDAzODE0ZDYzYjA1YWUzYWJiNjVk
MmQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJCYWNrRm9y
d2FyZENhY2hlRW50cnkuY3BwCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5LmgiCisKKyNp
bmNsdWRlICJTdXNwZW5kZWRQYWdlUHJveHkuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzTWVzc2Fn
ZXMuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHkuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK1dlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeTo6V2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5KFdl
YkJhY2tGb3J3YXJkQ2FjaGUmIGJhY2tGb3J3YXJkQ2FjaGUsIFdlYkNvcmU6OkJhY2tGb3J3YXJk
SXRlbUlkZW50aWZpZXIgYmFja0ZvcndhcmRJdGVtSUQsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlm
aWVyIHByb2Nlc3NJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5
PiYmIHN1c3BlbmRlZFBhZ2UpCisgICAgOiBtX2JhY2tGb3J3YXJkQ2FjaGUoYmFja0ZvcndhcmRD
YWNoZSkKKyAgICAsIG1fcHJvY2Vzc0lkZW50aWZpZXIocHJvY2Vzc0lkZW50aWZpZXIpCisgICAg
LCBtX2JhY2tGb3J3YXJkSXRlbUlEKGJhY2tGb3J3YXJkSXRlbUlEKQorICAgICwgbV9zdXNwZW5k
ZWRQYWdlKFdURk1vdmUoc3VzcGVuZGVkUGFnZSkpCit7Cit9CisKK1dlYkJhY2tGb3J3YXJkQ2Fj
aGVFbnRyeTo6fldlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeSgpCit7CisgICAgaWYgKG1fYmFja0Zv
cndhcmRJdGVtSUQgJiYgIW1fc3VzcGVuZGVkUGFnZSkgeworICAgICAgICBhdXRvJiBwcm9jZXNz
ID0gdGhpcy0+cHJvY2VzcygpOworICAgICAgICBwcm9jZXNzLnNlbmRXaXRoQXN5bmNSZXBseShN
ZXNzYWdlczo6V2ViUHJvY2Vzczo6Q2xlYXJDYWNoZWRQYWdlKG1fYmFja0ZvcndhcmRJdGVtSUQp
LCBbdG9rZW4gPSBwcm9jZXNzLnRocm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0eVRva2VuKCld
IHsgfSk7CisgICAgfQorfQorCitzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5PiBX
ZWJCYWNrRm9yd2FyZENhY2hlRW50cnk6OnRha2VTdXNwZW5kZWRQYWdlKCkKK3sKKyAgICBBU1NF
UlQobV9zdXNwZW5kZWRQYWdlKTsKKyAgICBtX2JhY2tGb3J3YXJkSXRlbUlEID0geyB9OworICAg
IHJldHVybiBzdGQ6OmV4Y2hhbmdlKG1fc3VzcGVuZGVkUGFnZSwgbnVsbHB0cik7Cit9CisKK1dl
YlByb2Nlc3NQcm94eSYgV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5Ojpwcm9jZXNzKCkgY29uc3QK
K3sKKyAgICBhdXRvKiBwcm9jZXNzID0gV2ViUHJvY2Vzc1Byb3h5Ojpwcm9jZXNzRm9ySWRlbnRp
ZmllcihtX3Byb2Nlc3NJZGVudGlmaWVyKTsKKyAgICBBU1NFUlQocHJvY2Vzcyk7CisgICAgQVNT
RVJUKCFtX3N1c3BlbmRlZFBhZ2UgfHwgcHJvY2VzcyA9PSAmbV9zdXNwZW5kZWRQYWdlLT5wcm9j
ZXNzKCkpOworICAgIHJldHVybiAqcHJvY2VzczsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZENhY2hl
RW50cnkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkQ2FjaGVFbnRy
eS5oCmluZGV4IGQ1N2EzMTM0MjFmZmUwNjMyOTMyMTkyYWEyZmM0Yzg0YTU3YjM3MDguLjFmNGM2
YTU3NGIzYTY4NDFiMDg1Yzk5YTQ5ZDgxM2Y4MGNjN2IyNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oCkBAIC0yNSw2ICsyNSw3
IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSA8V2ViQ29yZS9CYWNrRm9yd2FyZEl0ZW1J
ZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm9jZXNzSWRlbnRpZmllci5oPgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKQEAgLTM3LDIzICszOCwyMSBAQCBjbGFzcyBXZWJQcm9j
ZXNzUHJveHk7CiBjbGFzcyBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkgewogICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHZpcnR1YWwgfldlYkJhY2tGb3J3YXJkQ2Fj
aGVFbnRyeSgpID0gZGVmYXVsdDsKKyAgICBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkoV2ViQmFj
a0ZvcndhcmRDYWNoZSYsIFdlYkNvcmU6OkJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIsIFdlYkNv
cmU6OlByb2Nlc3NJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5
PiYmID0gbnVsbHB0cik7CisgICAgfldlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeSgpOwogCiAgICAg
V2ViQmFja0ZvcndhcmRDYWNoZSYgYmFja0ZvcndhcmRDYWNoZSgpIGNvbnN0IHsgcmV0dXJuIG1f
YmFja0ZvcndhcmRDYWNoZTsgfQogCi0gICAgdmlydHVhbCBTdXNwZW5kZWRQYWdlUHJveHkqIHN1
c3BlbmRlZFBhZ2UoKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8U3Vz
cGVuZGVkUGFnZVByb3h5PiB0YWtlU3VzcGVuZGVkUGFnZSgpID0gMDsKLSAgICB2aXJ0dWFsIFdl
YkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHByb2Nlc3NJZGVudGlmaWVyKCkgY29uc3QgPSAwOwot
ICAgIHZpcnR1YWwgV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXNzKCkgY29uc3QgPSAwOwotCi1wcm90
ZWN0ZWQ6Ci0gICAgZXhwbGljaXQgV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5KFdlYkJhY2tGb3J3
YXJkQ2FjaGUmIGJhY2tGb3J3YXJkQ2FjaGUpCi0gICAgICAgIDogbV9iYWNrRm9yd2FyZENhY2hl
KGJhY2tGb3J3YXJkQ2FjaGUpCi0gICAgewotICAgIH0KKyAgICBTdXNwZW5kZWRQYWdlUHJveHkq
IHN1c3BlbmRlZFBhZ2UoKSBjb25zdCB7IHJldHVybiBtX3N1c3BlbmRlZFBhZ2UuZ2V0KCk7IH0K
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5PiB0YWtlU3VzcGVuZGVkUGFn
ZSgpOworICAgIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHByb2Nlc3NJZGVudGlmaWVyKCkg
Y29uc3QgeyByZXR1cm4gbV9wcm9jZXNzSWRlbnRpZmllcjsgfQorICAgIFdlYlByb2Nlc3NQcm94
eSYgcHJvY2VzcygpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIFdlYkJhY2tGb3J3YXJkQ2FjaGUm
IG1fYmFja0ZvcndhcmRDYWNoZTsKKyAgICBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBtX3By
b2Nlc3NJZGVudGlmaWVyOworICAgIFdlYkNvcmU6OkJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIg
bV9iYWNrRm9yd2FyZEl0ZW1JRDsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVBy
b3h5PiBtX3N1c3BlbmRlZFBhZ2U7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkuY3BwCmluZGV4IDdlOGMy
ZTMwNjRiMTc1ZmU1NGEyNTViMTViY2I1ZTcxMDk4YWZjMWYuLmNiZGE0NWJjYjE1ZWFkMjhhNTVi
MTFiNmNjMTU4Nzc3OTc2ZmUzYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhc3RlYm9hcmRQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFzdGVib2FyZFByb3h5LmNwcApAQCAtMzMsNiArMzMsMTEgQEAKICNpbmNsdWRlIDx3dGYvQ29t
cGxldGlvbkhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KIAorI2lm
ICFQTEFURk9STShDT0NPQSkKKyNpbmNsdWRlICJQYXN0ZWJvYXJkQ3VzdG9tRGF0YS5oIgorI2lu
Y2x1ZGUgIlBhc3RlYm9hcmRJdGVtSW5mby5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBXZWJQYXN0ZWJvYXJkUHJveHkmIFdlYlBhc3RlYm9hcmRQcm94eTo6c2luZ2xldG9uKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGVjMGJhNGQzZDdkNDA1NzcyYzgzMTZkZTVmOTI3ODExODE0ZTAzYjQuLjg0Zjk2ZTYyNzIzZWJh
MTYxN2FiOGIxMmM3MTZmMDAzNjA5YjYxMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzIwNSw2ICszMjA1LDcgQEAKIAkJNDYzMjM2
ODQyMzE0ODI1QzAwQTQ4RkE3IC8qIFdlYlJlbW90ZU9iamVjdFJlZ2lzdHJ5LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdlYlJlbW90ZU9iamVjdFJlZ2lzdHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDYzMjM2ODUyMzE0ODMzRjAwQTQ4RkE3IC8qIFVJUmVtb3RlT2JqZWN0
UmVnaXN0cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVUlSZW1vdGVPYmplY3RSZWdpc3RyeS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjMyMzY4NjIzMTQ4MzNGMDBBNDhGQTcgLyogVUlS
ZW1vdGVPYmplY3RSZWdpc3RyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVSVJlbW90ZU9iamVj
dFJlZ2lzdHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDYzNDczQjYyMzU2
MUQyQTAwQkUxQTg0IC8qIFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjNGRDQ3RjFFQjk0NTg0MDBBMjk4MkMgLyog
V0tQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV0tQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDYzRkQ0ODExRUI5NEVBRDAwQTI5ODJDIC8qIFByb2Nlc3NUZXJtaW5hdGlvblJl
YXNvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm9jZXNzVGVybWluYXRp
b25SZWFzb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY1MUVDRTYyMjE3OEE4
NTAwNjdFQjk1IC8qIFdlYlByb2Nlc3NDYWNoZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViUHJvY2Vzc0NhY2hlQ29jb2EubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC03ODI0LDYgKzc4MjUsNyBAQAogCQkJCTFBNjAyMjQ5MThDMTZC
MDgwMEMzRThDOSAvKiBWaXNpdGVkTGlua1N0b3JlLm1lc3NhZ2VzLmluICovLAogCQkJCTQ2MDMw
MTFBMjM0QkUzMUQwMDlDODIxNyAvKiBXZWJCYWNrRm9yd2FyZENhY2hlLmNwcCAqLywKIAkJCQk0
NjAzMDExQjIzNEJFMzFFMDA5QzgyMTcgLyogV2ViQmFja0ZvcndhcmRDYWNoZS5oICovLAorCQkJ
CTQ2MzQ3M0I2MjM1NjFEMkEwMEJFMUE4NCAvKiBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkuY3Bw
ICovLAogCQkJCTQ2RjlCMjYyMjM1MjZFRDAwMDZGRTVGQSAvKiBXZWJCYWNrRm9yd2FyZENhY2hl
RW50cnkuaCAqLywKIAkJCQlCQzcyQkExQjExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0Zvcndh
cmRMaXN0LmNwcCAqLywKIAkJCQlCQzcyQkExQzExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0Zv
cndhcmRMaXN0LmggKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380991</attachid>
            <date>2019-10-15 09:19:20 -0700</date>
            <delta_ts>2019-10-15 09:28:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202989-20191015091920.patch</filename>
            <type>text/plain</type>
            <size>14681</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGYyNDg3ZmZiZDI4Zjky
NDA4NmE3YjJmNGFmMzZmYjZiM2RhNTVkZS4uM2MxZjcwMjVjMDc4YjczMDE1NjJkZWZkMTZhNWRi
ZDY2YmIyYmIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTEwLTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3RvcCB1c2luZyBpbmhlcml0
YW5jZSBmb3IgV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI5ODkKKworICAgICAgICBSZXZpZXdlZCBieSBB
bGV4IENocmlzdGVuc2VuLgorCisgICAgICAgICogaGlzdG9yeS9CYWNrRm9yd2FyZEl0ZW1JZGVu
dGlmaWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyOjpv
cGVyYXRvciBib29sIGNvbnN0KToKKwogMjAxOS0xMC0xNSAgWmFsYW4gQnVqdGFzICA8emFsYW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdIEFkanVzdCBjb21wdXRlZCB3aWR0aCB2YWx1ZSB3
aGVuIGJveCBzaXppbmcgaXMgYm9yZGVyLWJveApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiYjA3Njc3NzI3MWE0NzRj
YWNjYjkwOGNlMDViYjVkMjNhNmU5ZWM4Li4wYzIxYmE0YTJkYWJhODljNmM4MDA3MTg3ODQ1ODY4
MjZmNDE5NmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTEwLTE1ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3RvcCB1c2luZyBpbmhlcml0YW5j
ZSBmb3IgV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI5ODkKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4
IENocmlzdGVuc2VuLgorCisgICAgICAgIFN0b3AgdXNpbmcgaW5oZXJpdGFuY2UgZm9yIFdlYkJh
Y2tGb3J3YXJkQ2FjaGVFbnRyeS4gVGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIGEgYml0LgorCisg
ICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJk
Q2FjaGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJCYWNrRm9yd2FyZENhY2hlOjphZGRFbnRy
eSk6CisgICAgICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJCYWNrRm9y
d2FyZENhY2hlRW50cnkuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJCYWNrRm9yd2FyZENhY2hlRW50cnkuaC4KKyAgICAgICAgKFdlYktpdDo6V2ViQmFja0Zvcndh
cmRDYWNoZUVudHJ5OjpXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkpOgorICAgICAgICAoV2ViS2l0
OjpXZWJCYWNrRm9yd2FyZENhY2hlRW50cnk6On5XZWJCYWNrRm9yd2FyZENhY2hlRW50cnkpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJCYWNrRm9yd2FyZENhY2hlRW50cnk6OnRha2VTdXNwZW5kZWRQ
YWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5Ojpwcm9jZXNz
IGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5Lmg6
CisgICAgICAgIChXZWJLaXQ6OldlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeTo6c3VzcGVuZGVkUGFn
ZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeTo6cHJv
Y2Vzc0lkZW50aWZpZXIgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJCYWNrRm9yd2FyZENh
Y2hlRW50cnk6OldlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeSk6IERlbGV0ZWQuCisgICAgICAgICog
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTktMTAtMTUgIENhcmxvcyBH
YXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQu
IEZpeCBzZXZlcmFsIEdUSyB0ZXN0cyBpbiAvV2ViS2l0Mkd0ay9UZXN0VUlDbGllbnQgY3Jhc2hp
bmcgc2luY2UgcjI0MTk4OApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNr
Rm9yd2FyZEl0ZW1JZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3
YXJkSXRlbUlkZW50aWZpZXIuaAppbmRleCAzNmQxNmVmNjk4MWQwZWRmOTg1MDhlNDU3NGY0OGJk
NjE0NzA1ODZjLi4wODgxNjg4MmY3N2U3OGExMzBmNTZjNWMyYWI4MmNlZWVlYmI0MDI0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIu
aApAQCAtMzgsNiArMzgsNyBAQCBzdHJ1Y3QgQmFja0ZvcndhcmRJdGVtSWRlbnRpZmllciB7CiAg
ICAgT2JqZWN0SWRlbnRpZmllcjxJdGVtSWRlbnRpZmllclR5cGU+IGl0ZW1JZGVudGlmaWVyOwog
CiAgICAgdW5zaWduZWQgaGFzaCgpIGNvbnN0OworICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2wo
KSBjb25zdCB7IHJldHVybiBwcm9jZXNzSWRlbnRpZmllciAmJiBpdGVtSWRlbnRpZmllcjsgfQog
CiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0
OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxCYWNrRm9yd2Fy
ZEl0ZW1JZGVudGlmaWVyPiBkZWNvZGUoRGVjb2RlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggMzU1MTk3
YTEwOWU1YTM5MWFhMTg0YjBjZjg3MWZiNzM3YzMxMjA1NC4uYmY5NmM4NjA4ZjBhYWMzNjA2ZTAz
MjliYzk2NWQ2MDljZjY4NzFjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4
dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC0yNjEsNiArMjYxLDcgQEAgVUlQ
cm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuY3BwCiBVSVByb2Nlc3MvVXNl
ck1lZGlhUHJvY2Vzc01hbmFnZXIuY3BwCiBVSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9yZS5jcHAK
IFVJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZENhY2hlLmNwcAorVUlQcm9jZXNzL1dlYkJhY2tGb3J3
YXJkQ2FjaGVFbnRyeS5jcHAKIFVJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuY3BwCiBVSVBy
b2Nlc3MvV2ViQ29sb3JQaWNrZXIuY3BwCiBVSVByb2Nlc3MvV2ViQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3
YXJkQ2FjaGUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNo
ZS5jcHAKaW5kZXggNDBmZjFjNjljMTNjYjViZDYwYzMyMzY5M2RjMjIzOWZkY2ZlN2FjMy4uZTc1
YTg5NmI5ZDZmNTRjZGRjMDllNzY1YWFhOTdlYjdlOWMwODNkNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNoZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNoZS5jcHAKQEAgLTM4LDU0ICszOCw2IEBA
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBFbnRyeVdpdGhTdXNwZW5kZWRQYWdlIGZp
bmFsIDogcHVibGljIFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeSB7Ci1wdWJsaWM6Ci0gICAgRW50
cnlXaXRoU3VzcGVuZGVkUGFnZShXZWJCYWNrRm9yd2FyZENhY2hlJiBiYWNrRm9yd2FyZENhY2hl
LCBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5PiYmIHN1c3BlbmRlZFBhZ2UpCi0g
ICAgICAgIDogV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5KGJhY2tGb3J3YXJkQ2FjaGUpCi0gICAg
ICAgICwgbV9zdXNwZW5kZWRQYWdlKFdURk1vdmUoc3VzcGVuZGVkUGFnZSkpCi0gICAgewotICAg
IH0KLQotICAgIFN1c3BlbmRlZFBhZ2VQcm94eSogc3VzcGVuZGVkUGFnZSgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIG1fc3VzcGVuZGVkUGFnZS5nZXQoKTsgfQotICAgIHN0ZDo6dW5pcXVlX3B0cjxT
dXNwZW5kZWRQYWdlUHJveHk+IHRha2VTdXNwZW5kZWRQYWdlKCkgZmluYWwgeyByZXR1cm4gc3Rk
OjpleGNoYW5nZShtX3N1c3BlbmRlZFBhZ2UsIG51bGxwdHIpOyB9Ci0gICAgV2ViQ29yZTo6UHJv
Y2Vzc0lkZW50aWZpZXIgcHJvY2Vzc0lkZW50aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBw
cm9jZXNzKCkuY29yZVByb2Nlc3NJZGVudGlmaWVyKCk7IH0KLSAgICBXZWJQcm9jZXNzUHJveHkm
IHByb2Nlc3MoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3N1c3BlbmRlZFBhZ2UtPnByb2Nlc3Mo
KTsgfQotCi1wcml2YXRlOgotICAgIHN0ZDo6dW5pcXVlX3B0cjxTdXNwZW5kZWRQYWdlUHJveHk+
IG1fc3VzcGVuZGVkUGFnZTsKLX07Ci0KLWNsYXNzIEVudHJ5V2l0aG91dFN1c3BlbmRlZFBhZ2Ug
ZmluYWwgOiBwdWJsaWMgV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5IHsKLXB1YmxpYzoKLSAgICBF
bnRyeVdpdGhvdXRTdXNwZW5kZWRQYWdlKFdlYkJhY2tGb3J3YXJkQ2FjaGUmIGJhY2tGb3J3YXJk
Q2FjaGUsIGNvbnN0IFdlYkNvcmU6OkJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXImIGJhY2tGb3J3
YXJkSXRlbUlELCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBwcm9jZXNzSWRlbnRpZmllcikK
LSAgICAgICAgOiBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkoYmFja0ZvcndhcmRDYWNoZSkKLSAg
ICAgICAgLCBtX3Byb2Nlc3NJZGVudGlmaWVyKHByb2Nlc3NJZGVudGlmaWVyKQotICAgICAgICAs
IG1fYmFja0ZvcndhcmRJdGVtSUQoYmFja0ZvcndhcmRJdGVtSUQpCi0gICAgewotICAgIH0KLQot
ICAgIH5FbnRyeVdpdGhvdXRTdXNwZW5kZWRQYWdlKCkKLSAgICB7Ci0gICAgICAgIGF1dG8mIHBy
b2Nlc3MgPSB0aGlzLT5wcm9jZXNzKCk7Ci0gICAgICAgIHByb2Nlc3Muc2VuZFdpdGhBc3luY1Jl
cGx5KE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpDbGVhckNhY2hlZFBhZ2UobV9iYWNrRm9yd2FyZEl0
ZW1JRCksIFt0b2tlbiA9IHByb2Nlc3MudGhyb3R0bGVyKCkuYmFja2dyb3VuZEFjdGl2aXR5VG9r
ZW4oKV0geyB9KTsKLSAgICB9Ci0KLSAgICBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBwcm9j
ZXNzSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvY2Vzc0lkZW50aWZpZXI7
IH0KLSAgICBXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MoKSBjb25zdCBmaW5hbAotICAgIHsKLSAg
ICAgICAgYXV0byogcHJvY2VzcyA9IFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc0ZvcklkZW50aWZp
ZXIobV9wcm9jZXNzSWRlbnRpZmllcik7Ci0gICAgICAgIEFTU0VSVChwcm9jZXNzKTsKLSAgICAg
ICAgcmV0dXJuICpwcm9jZXNzOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBTdXNwZW5kZWRQYWdl
UHJveHkqIHN1c3BlbmRlZFBhZ2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiBudWxscHRyOyB9Ci0g
ICAgc3RkOjp1bmlxdWVfcHRyPFN1c3BlbmRlZFBhZ2VQcm94eT4gdGFrZVN1c3BlbmRlZFBhZ2Uo
KSBmaW5hbCB7IHJldHVybiBudWxscHRyOyB9Ci0KLSAgICBXZWJDb3JlOjpQcm9jZXNzSWRlbnRp
ZmllciBtX3Byb2Nlc3NJZGVudGlmaWVyOwotICAgIFdlYkNvcmU6OkJhY2tGb3J3YXJkSXRlbUlk
ZW50aWZpZXIgbV9iYWNrRm9yd2FyZEl0ZW1JRDsKLX07Ci0KIFdlYkJhY2tGb3J3YXJkQ2FjaGU6
OldlYkJhY2tGb3J3YXJkQ2FjaGUoV2ViUHJvY2Vzc1Bvb2wmIHByb2Nlc3NQb29sKQogICAgIDog
bV9wcm9jZXNzUG9vbChwcm9jZXNzUG9vbCkKIHsKQEAgLTEzNiwxMiArODgsMTIgQEAgdm9pZCBX
ZWJCYWNrRm9yd2FyZENhY2hlOjphZGRFbnRyeShXZWJCYWNrRm9yd2FyZExpc3RJdGVtJiBpdGVt
LCBzdGQ6OnVuaXF1ZV9wdHIKIAogdm9pZCBXZWJCYWNrRm9yd2FyZENhY2hlOjphZGRFbnRyeShX
ZWJCYWNrRm9yd2FyZExpc3RJdGVtJiBpdGVtLCBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFn
ZVByb3h5PiYmIHN1c3BlbmRlZFBhZ2UpCiB7Ci0gICAgYWRkRW50cnkoaXRlbSwgbWFrZVVuaXF1
ZTxFbnRyeVdpdGhTdXNwZW5kZWRQYWdlPigqdGhpcywgV1RGTW92ZShzdXNwZW5kZWRQYWdlKSkp
OworICAgIGFkZEVudHJ5KGl0ZW0sIG1ha2VVbmlxdWU8V2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5
PigqdGhpcywgaXRlbS5pdGVtSUQoKSwgc3VzcGVuZGVkUGFnZS0+cHJvY2VzcygpLmNvcmVQcm9j
ZXNzSWRlbnRpZmllcigpLCBXVEZNb3ZlKHN1c3BlbmRlZFBhZ2UpKSk7CiB9CiAKIHZvaWQgV2Vi
QmFja0ZvcndhcmRDYWNoZTo6YWRkRW50cnkoV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYgaXRlbSwg
V2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgcHJvY2Vzc0lkZW50aWZpZXIpCiB7Ci0gICAgYWRk
RW50cnkoaXRlbSwgbWFrZVVuaXF1ZTxFbnRyeVdpdGhvdXRTdXNwZW5kZWRQYWdlPigqdGhpcywg
aXRlbS5pdGVtSUQoKSwgV1RGTW92ZShwcm9jZXNzSWRlbnRpZmllcikpKTsKKyAgICBhZGRFbnRy
eShpdGVtLCBtYWtlVW5pcXVlPFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeT4oKnRoaXMsIGl0ZW0u
aXRlbUlEKCksIFdURk1vdmUocHJvY2Vzc0lkZW50aWZpZXIpKSk7CiB9CiAKIHZvaWQgV2ViQmFj
a0ZvcndhcmRDYWNoZTo6cmVtb3ZlRW50cnkoV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYgaXRlbSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkQ2FjaGVF
bnRyeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZENhY2hlRW50
cnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjc1Y2RmYjZiZTZjNjA0MGM3NDAzODE0ZDYzYjA1YWUzYWJiNjVk
MmQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJCYWNrRm9y
d2FyZENhY2hlRW50cnkuY3BwCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5LmgiCisKKyNp
bmNsdWRlICJTdXNwZW5kZWRQYWdlUHJveHkuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzTWVzc2Fn
ZXMuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHkuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK1dlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeTo6V2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5KFdl
YkJhY2tGb3J3YXJkQ2FjaGUmIGJhY2tGb3J3YXJkQ2FjaGUsIFdlYkNvcmU6OkJhY2tGb3J3YXJk
SXRlbUlkZW50aWZpZXIgYmFja0ZvcndhcmRJdGVtSUQsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlm
aWVyIHByb2Nlc3NJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5
PiYmIHN1c3BlbmRlZFBhZ2UpCisgICAgOiBtX2JhY2tGb3J3YXJkQ2FjaGUoYmFja0ZvcndhcmRD
YWNoZSkKKyAgICAsIG1fcHJvY2Vzc0lkZW50aWZpZXIocHJvY2Vzc0lkZW50aWZpZXIpCisgICAg
LCBtX2JhY2tGb3J3YXJkSXRlbUlEKGJhY2tGb3J3YXJkSXRlbUlEKQorICAgICwgbV9zdXNwZW5k
ZWRQYWdlKFdURk1vdmUoc3VzcGVuZGVkUGFnZSkpCit7Cit9CisKK1dlYkJhY2tGb3J3YXJkQ2Fj
aGVFbnRyeTo6fldlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeSgpCit7CisgICAgaWYgKG1fYmFja0Zv
cndhcmRJdGVtSUQgJiYgIW1fc3VzcGVuZGVkUGFnZSkgeworICAgICAgICBhdXRvJiBwcm9jZXNz
ID0gdGhpcy0+cHJvY2VzcygpOworICAgICAgICBwcm9jZXNzLnNlbmRXaXRoQXN5bmNSZXBseShN
ZXNzYWdlczo6V2ViUHJvY2Vzczo6Q2xlYXJDYWNoZWRQYWdlKG1fYmFja0ZvcndhcmRJdGVtSUQp
LCBbdG9rZW4gPSBwcm9jZXNzLnRocm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0eVRva2VuKCld
IHsgfSk7CisgICAgfQorfQorCitzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5PiBX
ZWJCYWNrRm9yd2FyZENhY2hlRW50cnk6OnRha2VTdXNwZW5kZWRQYWdlKCkKK3sKKyAgICBBU1NF
UlQobV9zdXNwZW5kZWRQYWdlKTsKKyAgICBtX2JhY2tGb3J3YXJkSXRlbUlEID0geyB9OworICAg
IHJldHVybiBzdGQ6OmV4Y2hhbmdlKG1fc3VzcGVuZGVkUGFnZSwgbnVsbHB0cik7Cit9CisKK1dl
YlByb2Nlc3NQcm94eSYgV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5Ojpwcm9jZXNzKCkgY29uc3QK
K3sKKyAgICBhdXRvKiBwcm9jZXNzID0gV2ViUHJvY2Vzc1Byb3h5Ojpwcm9jZXNzRm9ySWRlbnRp
ZmllcihtX3Byb2Nlc3NJZGVudGlmaWVyKTsKKyAgICBBU1NFUlQocHJvY2Vzcyk7CisgICAgQVNT
RVJUKCFtX3N1c3BlbmRlZFBhZ2UgfHwgcHJvY2VzcyA9PSAmbV9zdXNwZW5kZWRQYWdlLT5wcm9j
ZXNzKCkpOworICAgIHJldHVybiAqcHJvY2VzczsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZENhY2hl
RW50cnkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkQ2FjaGVFbnRy
eS5oCmluZGV4IGQ1N2EzMTM0MjFmZmUwNjMyOTMyMTkyYWEyZmM0Yzg0YTU3YjM3MDguLjFmNGM2
YTU3NGIzYTY4NDFiMDg1Yzk5YTQ5ZDgxM2Y4MGNjN2IyNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oCkBAIC0yNSw2ICsyNSw3
IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSA8V2ViQ29yZS9CYWNrRm9yd2FyZEl0ZW1J
ZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm9jZXNzSWRlbnRpZmllci5oPgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKQEAgLTM3LDIzICszOCwyMSBAQCBjbGFzcyBXZWJQcm9j
ZXNzUHJveHk7CiBjbGFzcyBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkgewogICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHZpcnR1YWwgfldlYkJhY2tGb3J3YXJkQ2Fj
aGVFbnRyeSgpID0gZGVmYXVsdDsKKyAgICBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkoV2ViQmFj
a0ZvcndhcmRDYWNoZSYsIFdlYkNvcmU6OkJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIsIFdlYkNv
cmU6OlByb2Nlc3NJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5
PiYmID0gbnVsbHB0cik7CisgICAgfldlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeSgpOwogCiAgICAg
V2ViQmFja0ZvcndhcmRDYWNoZSYgYmFja0ZvcndhcmRDYWNoZSgpIGNvbnN0IHsgcmV0dXJuIG1f
YmFja0ZvcndhcmRDYWNoZTsgfQogCi0gICAgdmlydHVhbCBTdXNwZW5kZWRQYWdlUHJveHkqIHN1
c3BlbmRlZFBhZ2UoKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8U3Vz
cGVuZGVkUGFnZVByb3h5PiB0YWtlU3VzcGVuZGVkUGFnZSgpID0gMDsKLSAgICB2aXJ0dWFsIFdl
YkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHByb2Nlc3NJZGVudGlmaWVyKCkgY29uc3QgPSAwOwot
ICAgIHZpcnR1YWwgV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXNzKCkgY29uc3QgPSAwOwotCi1wcm90
ZWN0ZWQ6Ci0gICAgZXhwbGljaXQgV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5KFdlYkJhY2tGb3J3
YXJkQ2FjaGUmIGJhY2tGb3J3YXJkQ2FjaGUpCi0gICAgICAgIDogbV9iYWNrRm9yd2FyZENhY2hl
KGJhY2tGb3J3YXJkQ2FjaGUpCi0gICAgewotICAgIH0KKyAgICBTdXNwZW5kZWRQYWdlUHJveHkq
IHN1c3BlbmRlZFBhZ2UoKSBjb25zdCB7IHJldHVybiBtX3N1c3BlbmRlZFBhZ2UuZ2V0KCk7IH0K
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5PiB0YWtlU3VzcGVuZGVkUGFn
ZSgpOworICAgIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHByb2Nlc3NJZGVudGlmaWVyKCkg
Y29uc3QgeyByZXR1cm4gbV9wcm9jZXNzSWRlbnRpZmllcjsgfQorICAgIFdlYlByb2Nlc3NQcm94
eSYgcHJvY2VzcygpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIFdlYkJhY2tGb3J3YXJkQ2FjaGUm
IG1fYmFja0ZvcndhcmRDYWNoZTsKKyAgICBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBtX3By
b2Nlc3NJZGVudGlmaWVyOworICAgIFdlYkNvcmU6OkJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIg
bV9iYWNrRm9yd2FyZEl0ZW1JRDsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVBy
b3h5PiBtX3N1c3BlbmRlZFBhZ2U7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkuY3BwCmluZGV4IDdlOGMy
ZTMwNjRiMTc1ZmU1NGEyNTViMTViY2I1ZTcxMDk4YWZjMWYuLjcwNWNkMmExZGM0ODQ1OTI2NTBi
MjRiNTZkNGMzZjNlYjdmZGIxNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhc3RlYm9hcmRQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFzdGVib2FyZFByb3h5LmNwcApAQCAtMzMsNiArMzMsMTEgQEAKICNpbmNsdWRlIDx3dGYvQ29t
cGxldGlvbkhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KIAorI2lm
ICFQTEFURk9STShDT0NPQSkKKyNpbmNsdWRlIDxXZWJDb3JlL1Bhc3RlYm9hcmRDdXN0b21EYXRh
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QYXN0ZWJvYXJkSXRlbUluZm8uaD4KKyNlbmRpZgorCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogV2ViUGFzdGVib2FyZFByb3h5JiBXZWJQYXN0ZWJvYXJkUHJv
eHk6OnNpbmdsZXRvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCBlYzBiYTRkM2Q3ZDQwNTc3MmM4MzE2ZGU1ZjkyNzgxMTgxNGUwM2I0
Li44NGY5NmU2MjcyM2ViYTE2MTdhYjhiMTJjNzE2ZjAwMzYwOWI2MTI2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMyMDUsNiArMzIw
NSw3IEBACiAJCTQ2MzIzNjg0MjMxNDgyNUMwMEE0OEZBNyAvKiBXZWJSZW1vdGVPYmplY3RSZWdp
c3RyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJSZW1vdGVPYmplY3RSZWdpc3RyeS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2MzIzNjg1MjMxNDgzM0YwMEE0OEZBNyAv
KiBVSVJlbW90ZU9iamVjdFJlZ2lzdHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVJUmVtb3RlT2JqZWN0
UmVnaXN0cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDYzMjM2ODYyMzE0ODMz
RjAwQTQ4RkE3IC8qIFVJUmVtb3RlT2JqZWN0UmVnaXN0cnkuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gVUlSZW1vdGVPYmplY3RSZWdpc3RyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTQ2MzQ3M0I2MjM1NjFEMkEwMEJFMUE4NCAvKiBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnku
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQmFja0ZvcndhcmRD
YWNoZUVudHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDYzRkQ0N0YxRUI5
NDU4NDAwQTI5ODJDIC8qIFdLUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2M0ZENDgxMUVCOTRFQUQwMEEyOTgyQyAvKiBQcm9j
ZXNzVGVybWluYXRpb25SZWFzb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQ2NTFFQ0U2MjIxNzhBODUwMDY3RUI5NSAvKiBXZWJQcm9jZXNzQ2FjaGVDb2NvYS5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlByb2Nlc3NDYWNoZUNvY29h
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzgyNCw2ICs3ODI1LDcgQEAKIAkJ
CQkxQTYwMjI0OTE4QzE2QjA4MDBDM0U4QzkgLyogVmlzaXRlZExpbmtTdG9yZS5tZXNzYWdlcy5p
biAqLywKIAkJCQk0NjAzMDExQTIzNEJFMzFEMDA5QzgyMTcgLyogV2ViQmFja0ZvcndhcmRDYWNo
ZS5jcHAgKi8sCiAJCQkJNDYwMzAxMUIyMzRCRTMxRTAwOUM4MjE3IC8qIFdlYkJhY2tGb3J3YXJk
Q2FjaGUuaCAqLywKKwkJCQk0NjM0NzNCNjIzNTYxRDJBMDBCRTFBODQgLyogV2ViQmFja0Zvcndh
cmRDYWNoZUVudHJ5LmNwcCAqLywKIAkJCQk0NkY5QjI2MjIzNTI2RUQwMDA2RkU1RkEgLyogV2Vi
QmFja0ZvcndhcmRDYWNoZUVudHJ5LmggKi8sCiAJCQkJQkM3MkJBMUIxMUU2NDkwNzAwMUVCNEVB
IC8qIFdlYkJhY2tGb3J3YXJkTGlzdC5jcHAgKi8sCiAJCQkJQkM3MkJBMUMxMUU2NDkwNzAwMUVC
NEVBIC8qIFdlYkJhY2tGb3J3YXJkTGlzdC5oICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380992</attachid>
            <date>2019-10-15 09:28:21 -0700</date>
            <delta_ts>2019-10-15 09:56:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202989-20191015092820.patch</filename>
            <type>text/plain</type>
            <size>15808</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGYyNDg3ZmZiZDI4Zjky
NDA4NmE3YjJmNGFmMzZmYjZiM2RhNTVkZS4uM2MxZjcwMjVjMDc4YjczMDE1NjJkZWZkMTZhNWRi
ZDY2YmIyYmIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTEwLTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3RvcCB1c2luZyBpbmhlcml0
YW5jZSBmb3IgV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI5ODkKKworICAgICAgICBSZXZpZXdlZCBieSBB
bGV4IENocmlzdGVuc2VuLgorCisgICAgICAgICogaGlzdG9yeS9CYWNrRm9yd2FyZEl0ZW1JZGVu
dGlmaWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyOjpv
cGVyYXRvciBib29sIGNvbnN0KToKKwogMjAxOS0xMC0xNSAgWmFsYW4gQnVqdGFzICA8emFsYW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdIEFkanVzdCBjb21wdXRlZCB3aWR0aCB2YWx1ZSB3
aGVuIGJveCBzaXppbmcgaXMgYm9yZGVyLWJveApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiYjA3Njc3NzI3MWE0NzRj
YWNjYjkwOGNlMDViYjVkMjNhNmU5ZWM4Li4wYzIxYmE0YTJkYWJhODljNmM4MDA3MTg3ODQ1ODY4
MjZmNDE5NmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTEwLTE1ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3RvcCB1c2luZyBpbmhlcml0YW5j
ZSBmb3IgV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI5ODkKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4
IENocmlzdGVuc2VuLgorCisgICAgICAgIFN0b3AgdXNpbmcgaW5oZXJpdGFuY2UgZm9yIFdlYkJh
Y2tGb3J3YXJkQ2FjaGVFbnRyeS4gVGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIGEgYml0LgorCisg
ICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJk
Q2FjaGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJCYWNrRm9yd2FyZENhY2hlOjphZGRFbnRy
eSk6CisgICAgICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJCYWNrRm9y
d2FyZENhY2hlRW50cnkuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJCYWNrRm9yd2FyZENhY2hlRW50cnkuaC4KKyAgICAgICAgKFdlYktpdDo6V2ViQmFja0Zvcndh
cmRDYWNoZUVudHJ5OjpXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkpOgorICAgICAgICAoV2ViS2l0
OjpXZWJCYWNrRm9yd2FyZENhY2hlRW50cnk6On5XZWJCYWNrRm9yd2FyZENhY2hlRW50cnkpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJCYWNrRm9yd2FyZENhY2hlRW50cnk6OnRha2VTdXNwZW5kZWRQ
YWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5Ojpwcm9jZXNz
IGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5Lmg6
CisgICAgICAgIChXZWJLaXQ6OldlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeTo6c3VzcGVuZGVkUGFn
ZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeTo6cHJv
Y2Vzc0lkZW50aWZpZXIgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJCYWNrRm9yd2FyZENh
Y2hlRW50cnk6OldlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeSk6IERlbGV0ZWQuCisgICAgICAgICog
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTktMTAtMTUgIENhcmxvcyBH
YXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQu
IEZpeCBzZXZlcmFsIEdUSyB0ZXN0cyBpbiAvV2ViS2l0Mkd0ay9UZXN0VUlDbGllbnQgY3Jhc2hp
bmcgc2luY2UgcjI0MTk4OApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNr
Rm9yd2FyZEl0ZW1JZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3
YXJkSXRlbUlkZW50aWZpZXIuaAppbmRleCAzNmQxNmVmNjk4MWQwZWRmOTg1MDhlNDU3NGY0OGJk
NjE0NzA1ODZjLi4wODgxNjg4MmY3N2U3OGExMzBmNTZjNWMyYWI4MmNlZWVlYmI0MDI0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIu
aApAQCAtMzgsNiArMzgsNyBAQCBzdHJ1Y3QgQmFja0ZvcndhcmRJdGVtSWRlbnRpZmllciB7CiAg
ICAgT2JqZWN0SWRlbnRpZmllcjxJdGVtSWRlbnRpZmllclR5cGU+IGl0ZW1JZGVudGlmaWVyOwog
CiAgICAgdW5zaWduZWQgaGFzaCgpIGNvbnN0OworICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2wo
KSBjb25zdCB7IHJldHVybiBwcm9jZXNzSWRlbnRpZmllciAmJiBpdGVtSWRlbnRpZmllcjsgfQog
CiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0
OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxCYWNrRm9yd2Fy
ZEl0ZW1JZGVudGlmaWVyPiBkZWNvZGUoRGVjb2RlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggMzU1MTk3
YTEwOWU1YTM5MWFhMTg0YjBjZjg3MWZiNzM3YzMxMjA1NC4uYmY5NmM4NjA4ZjBhYWMzNjA2ZTAz
MjliYzk2NWQ2MDljZjY4NzFjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4
dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC0yNjEsNiArMjYxLDcgQEAgVUlQ
cm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuY3BwCiBVSVByb2Nlc3MvVXNl
ck1lZGlhUHJvY2Vzc01hbmFnZXIuY3BwCiBVSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9yZS5jcHAK
IFVJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZENhY2hlLmNwcAorVUlQcm9jZXNzL1dlYkJhY2tGb3J3
YXJkQ2FjaGVFbnRyeS5jcHAKIFVJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuY3BwCiBVSVBy
b2Nlc3MvV2ViQ29sb3JQaWNrZXIuY3BwCiBVSVByb2Nlc3MvV2ViQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3
YXJkQ2FjaGUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNo
ZS5jcHAKaW5kZXggNDBmZjFjNjljMTNjYjViZDYwYzMyMzY5M2RjMjIzOWZkY2ZlN2FjMy4uZTc1
YTg5NmI5ZDZmNTRjZGRjMDllNzY1YWFhOTdlYjdlOWMwODNkNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNoZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRDYWNoZS5jcHAKQEAgLTM4LDU0ICszOCw2IEBA
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBFbnRyeVdpdGhTdXNwZW5kZWRQYWdlIGZp
bmFsIDogcHVibGljIFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeSB7Ci1wdWJsaWM6Ci0gICAgRW50
cnlXaXRoU3VzcGVuZGVkUGFnZShXZWJCYWNrRm9yd2FyZENhY2hlJiBiYWNrRm9yd2FyZENhY2hl
LCBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5PiYmIHN1c3BlbmRlZFBhZ2UpCi0g
ICAgICAgIDogV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5KGJhY2tGb3J3YXJkQ2FjaGUpCi0gICAg
ICAgICwgbV9zdXNwZW5kZWRQYWdlKFdURk1vdmUoc3VzcGVuZGVkUGFnZSkpCi0gICAgewotICAg
IH0KLQotICAgIFN1c3BlbmRlZFBhZ2VQcm94eSogc3VzcGVuZGVkUGFnZSgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIG1fc3VzcGVuZGVkUGFnZS5nZXQoKTsgfQotICAgIHN0ZDo6dW5pcXVlX3B0cjxT
dXNwZW5kZWRQYWdlUHJveHk+IHRha2VTdXNwZW5kZWRQYWdlKCkgZmluYWwgeyByZXR1cm4gc3Rk
OjpleGNoYW5nZShtX3N1c3BlbmRlZFBhZ2UsIG51bGxwdHIpOyB9Ci0gICAgV2ViQ29yZTo6UHJv
Y2Vzc0lkZW50aWZpZXIgcHJvY2Vzc0lkZW50aWZpZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBw
cm9jZXNzKCkuY29yZVByb2Nlc3NJZGVudGlmaWVyKCk7IH0KLSAgICBXZWJQcm9jZXNzUHJveHkm
IHByb2Nlc3MoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3N1c3BlbmRlZFBhZ2UtPnByb2Nlc3Mo
KTsgfQotCi1wcml2YXRlOgotICAgIHN0ZDo6dW5pcXVlX3B0cjxTdXNwZW5kZWRQYWdlUHJveHk+
IG1fc3VzcGVuZGVkUGFnZTsKLX07Ci0KLWNsYXNzIEVudHJ5V2l0aG91dFN1c3BlbmRlZFBhZ2Ug
ZmluYWwgOiBwdWJsaWMgV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5IHsKLXB1YmxpYzoKLSAgICBF
bnRyeVdpdGhvdXRTdXNwZW5kZWRQYWdlKFdlYkJhY2tGb3J3YXJkQ2FjaGUmIGJhY2tGb3J3YXJk
Q2FjaGUsIGNvbnN0IFdlYkNvcmU6OkJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXImIGJhY2tGb3J3
YXJkSXRlbUlELCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBwcm9jZXNzSWRlbnRpZmllcikK
LSAgICAgICAgOiBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkoYmFja0ZvcndhcmRDYWNoZSkKLSAg
ICAgICAgLCBtX3Byb2Nlc3NJZGVudGlmaWVyKHByb2Nlc3NJZGVudGlmaWVyKQotICAgICAgICAs
IG1fYmFja0ZvcndhcmRJdGVtSUQoYmFja0ZvcndhcmRJdGVtSUQpCi0gICAgewotICAgIH0KLQot
ICAgIH5FbnRyeVdpdGhvdXRTdXNwZW5kZWRQYWdlKCkKLSAgICB7Ci0gICAgICAgIGF1dG8mIHBy
b2Nlc3MgPSB0aGlzLT5wcm9jZXNzKCk7Ci0gICAgICAgIHByb2Nlc3Muc2VuZFdpdGhBc3luY1Jl
cGx5KE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpDbGVhckNhY2hlZFBhZ2UobV9iYWNrRm9yd2FyZEl0
ZW1JRCksIFt0b2tlbiA9IHByb2Nlc3MudGhyb3R0bGVyKCkuYmFja2dyb3VuZEFjdGl2aXR5VG9r
ZW4oKV0geyB9KTsKLSAgICB9Ci0KLSAgICBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBwcm9j
ZXNzSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcHJvY2Vzc0lkZW50aWZpZXI7
IH0KLSAgICBXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MoKSBjb25zdCBmaW5hbAotICAgIHsKLSAg
ICAgICAgYXV0byogcHJvY2VzcyA9IFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc0ZvcklkZW50aWZp
ZXIobV9wcm9jZXNzSWRlbnRpZmllcik7Ci0gICAgICAgIEFTU0VSVChwcm9jZXNzKTsKLSAgICAg
ICAgcmV0dXJuICpwcm9jZXNzOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBTdXNwZW5kZWRQYWdl
UHJveHkqIHN1c3BlbmRlZFBhZ2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiBudWxscHRyOyB9Ci0g
ICAgc3RkOjp1bmlxdWVfcHRyPFN1c3BlbmRlZFBhZ2VQcm94eT4gdGFrZVN1c3BlbmRlZFBhZ2Uo
KSBmaW5hbCB7IHJldHVybiBudWxscHRyOyB9Ci0KLSAgICBXZWJDb3JlOjpQcm9jZXNzSWRlbnRp
ZmllciBtX3Byb2Nlc3NJZGVudGlmaWVyOwotICAgIFdlYkNvcmU6OkJhY2tGb3J3YXJkSXRlbUlk
ZW50aWZpZXIgbV9iYWNrRm9yd2FyZEl0ZW1JRDsKLX07Ci0KIFdlYkJhY2tGb3J3YXJkQ2FjaGU6
OldlYkJhY2tGb3J3YXJkQ2FjaGUoV2ViUHJvY2Vzc1Bvb2wmIHByb2Nlc3NQb29sKQogICAgIDog
bV9wcm9jZXNzUG9vbChwcm9jZXNzUG9vbCkKIHsKQEAgLTEzNiwxMiArODgsMTIgQEAgdm9pZCBX
ZWJCYWNrRm9yd2FyZENhY2hlOjphZGRFbnRyeShXZWJCYWNrRm9yd2FyZExpc3RJdGVtJiBpdGVt
LCBzdGQ6OnVuaXF1ZV9wdHIKIAogdm9pZCBXZWJCYWNrRm9yd2FyZENhY2hlOjphZGRFbnRyeShX
ZWJCYWNrRm9yd2FyZExpc3RJdGVtJiBpdGVtLCBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFn
ZVByb3h5PiYmIHN1c3BlbmRlZFBhZ2UpCiB7Ci0gICAgYWRkRW50cnkoaXRlbSwgbWFrZVVuaXF1
ZTxFbnRyeVdpdGhTdXNwZW5kZWRQYWdlPigqdGhpcywgV1RGTW92ZShzdXNwZW5kZWRQYWdlKSkp
OworICAgIGFkZEVudHJ5KGl0ZW0sIG1ha2VVbmlxdWU8V2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5
PigqdGhpcywgaXRlbS5pdGVtSUQoKSwgc3VzcGVuZGVkUGFnZS0+cHJvY2VzcygpLmNvcmVQcm9j
ZXNzSWRlbnRpZmllcigpLCBXVEZNb3ZlKHN1c3BlbmRlZFBhZ2UpKSk7CiB9CiAKIHZvaWQgV2Vi
QmFja0ZvcndhcmRDYWNoZTo6YWRkRW50cnkoV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYgaXRlbSwg
V2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgcHJvY2Vzc0lkZW50aWZpZXIpCiB7Ci0gICAgYWRk
RW50cnkoaXRlbSwgbWFrZVVuaXF1ZTxFbnRyeVdpdGhvdXRTdXNwZW5kZWRQYWdlPigqdGhpcywg
aXRlbS5pdGVtSUQoKSwgV1RGTW92ZShwcm9jZXNzSWRlbnRpZmllcikpKTsKKyAgICBhZGRFbnRy
eShpdGVtLCBtYWtlVW5pcXVlPFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeT4oKnRoaXMsIGl0ZW0u
aXRlbUlEKCksIFdURk1vdmUocHJvY2Vzc0lkZW50aWZpZXIpKSk7CiB9CiAKIHZvaWQgV2ViQmFj
a0ZvcndhcmRDYWNoZTo6cmVtb3ZlRW50cnkoV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYgaXRlbSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkQ2FjaGVF
bnRyeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZENhY2hlRW50
cnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjc1Y2RmYjZiZTZjNjA0MGM3NDAzODE0ZDYzYjA1YWUzYWJiNjVk
MmQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJCYWNrRm9y
d2FyZENhY2hlRW50cnkuY3BwCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5LmgiCisKKyNp
bmNsdWRlICJTdXNwZW5kZWRQYWdlUHJveHkuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzTWVzc2Fn
ZXMuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHkuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK1dlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeTo6V2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5KFdl
YkJhY2tGb3J3YXJkQ2FjaGUmIGJhY2tGb3J3YXJkQ2FjaGUsIFdlYkNvcmU6OkJhY2tGb3J3YXJk
SXRlbUlkZW50aWZpZXIgYmFja0ZvcndhcmRJdGVtSUQsIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlm
aWVyIHByb2Nlc3NJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5
PiYmIHN1c3BlbmRlZFBhZ2UpCisgICAgOiBtX2JhY2tGb3J3YXJkQ2FjaGUoYmFja0ZvcndhcmRD
YWNoZSkKKyAgICAsIG1fcHJvY2Vzc0lkZW50aWZpZXIocHJvY2Vzc0lkZW50aWZpZXIpCisgICAg
LCBtX2JhY2tGb3J3YXJkSXRlbUlEKGJhY2tGb3J3YXJkSXRlbUlEKQorICAgICwgbV9zdXNwZW5k
ZWRQYWdlKFdURk1vdmUoc3VzcGVuZGVkUGFnZSkpCit7Cit9CisKK1dlYkJhY2tGb3J3YXJkQ2Fj
aGVFbnRyeTo6fldlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeSgpCit7CisgICAgaWYgKG1fYmFja0Zv
cndhcmRJdGVtSUQgJiYgIW1fc3VzcGVuZGVkUGFnZSkgeworICAgICAgICBhdXRvJiBwcm9jZXNz
ID0gdGhpcy0+cHJvY2VzcygpOworICAgICAgICBwcm9jZXNzLnNlbmRXaXRoQXN5bmNSZXBseShN
ZXNzYWdlczo6V2ViUHJvY2Vzczo6Q2xlYXJDYWNoZWRQYWdlKG1fYmFja0ZvcndhcmRJdGVtSUQp
LCBbdG9rZW4gPSBwcm9jZXNzLnRocm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0eVRva2VuKCld
IHsgfSk7CisgICAgfQorfQorCitzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5PiBX
ZWJCYWNrRm9yd2FyZENhY2hlRW50cnk6OnRha2VTdXNwZW5kZWRQYWdlKCkKK3sKKyAgICBBU1NF
UlQobV9zdXNwZW5kZWRQYWdlKTsKKyAgICBtX2JhY2tGb3J3YXJkSXRlbUlEID0geyB9OworICAg
IHJldHVybiBzdGQ6OmV4Y2hhbmdlKG1fc3VzcGVuZGVkUGFnZSwgbnVsbHB0cik7Cit9CisKK1dl
YlByb2Nlc3NQcm94eSYgV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5Ojpwcm9jZXNzKCkgY29uc3QK
K3sKKyAgICBhdXRvKiBwcm9jZXNzID0gV2ViUHJvY2Vzc1Byb3h5Ojpwcm9jZXNzRm9ySWRlbnRp
ZmllcihtX3Byb2Nlc3NJZGVudGlmaWVyKTsKKyAgICBBU1NFUlQocHJvY2Vzcyk7CisgICAgQVNT
RVJUKCFtX3N1c3BlbmRlZFBhZ2UgfHwgcHJvY2VzcyA9PSAmbV9zdXNwZW5kZWRQYWdlLT5wcm9j
ZXNzKCkpOworICAgIHJldHVybiAqcHJvY2VzczsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZENhY2hl
RW50cnkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkQ2FjaGVFbnRy
eS5oCmluZGV4IGQ1N2EzMTM0MjFmZmUwNjMyOTMyMTkyYWEyZmM0Yzg0YTU3YjM3MDguLjFmNGM2
YTU3NGIzYTY4NDFiMDg1Yzk5YTQ5ZDgxM2Y4MGNjN2IyNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5oCkBAIC0yNSw2ICsyNSw3
IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSA8V2ViQ29yZS9CYWNrRm9yd2FyZEl0ZW1J
ZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm9jZXNzSWRlbnRpZmllci5oPgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKQEAgLTM3LDIzICszOCwyMSBAQCBjbGFzcyBXZWJQcm9j
ZXNzUHJveHk7CiBjbGFzcyBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkgewogICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHZpcnR1YWwgfldlYkJhY2tGb3J3YXJkQ2Fj
aGVFbnRyeSgpID0gZGVmYXVsdDsKKyAgICBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkoV2ViQmFj
a0ZvcndhcmRDYWNoZSYsIFdlYkNvcmU6OkJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIsIFdlYkNv
cmU6OlByb2Nlc3NJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5
PiYmID0gbnVsbHB0cik7CisgICAgfldlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeSgpOwogCiAgICAg
V2ViQmFja0ZvcndhcmRDYWNoZSYgYmFja0ZvcndhcmRDYWNoZSgpIGNvbnN0IHsgcmV0dXJuIG1f
YmFja0ZvcndhcmRDYWNoZTsgfQogCi0gICAgdmlydHVhbCBTdXNwZW5kZWRQYWdlUHJveHkqIHN1
c3BlbmRlZFBhZ2UoKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8U3Vz
cGVuZGVkUGFnZVByb3h5PiB0YWtlU3VzcGVuZGVkUGFnZSgpID0gMDsKLSAgICB2aXJ0dWFsIFdl
YkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHByb2Nlc3NJZGVudGlmaWVyKCkgY29uc3QgPSAwOwot
ICAgIHZpcnR1YWwgV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXNzKCkgY29uc3QgPSAwOwotCi1wcm90
ZWN0ZWQ6Ci0gICAgZXhwbGljaXQgV2ViQmFja0ZvcndhcmRDYWNoZUVudHJ5KFdlYkJhY2tGb3J3
YXJkQ2FjaGUmIGJhY2tGb3J3YXJkQ2FjaGUpCi0gICAgICAgIDogbV9iYWNrRm9yd2FyZENhY2hl
KGJhY2tGb3J3YXJkQ2FjaGUpCi0gICAgewotICAgIH0KKyAgICBTdXNwZW5kZWRQYWdlUHJveHkq
IHN1c3BlbmRlZFBhZ2UoKSBjb25zdCB7IHJldHVybiBtX3N1c3BlbmRlZFBhZ2UuZ2V0KCk7IH0K
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVByb3h5PiB0YWtlU3VzcGVuZGVkUGFn
ZSgpOworICAgIFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHByb2Nlc3NJZGVudGlmaWVyKCkg
Y29uc3QgeyByZXR1cm4gbV9wcm9jZXNzSWRlbnRpZmllcjsgfQorICAgIFdlYlByb2Nlc3NQcm94
eSYgcHJvY2VzcygpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIFdlYkJhY2tGb3J3YXJkQ2FjaGUm
IG1fYmFja0ZvcndhcmRDYWNoZTsKKyAgICBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBtX3By
b2Nlc3NJZGVudGlmaWVyOworICAgIFdlYkNvcmU6OkJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIg
bV9iYWNrRm9yd2FyZEl0ZW1JRDsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8U3VzcGVuZGVkUGFnZVBy
b3h5PiBtX3N1c3BlbmRlZFBhZ2U7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkuY3BwCmluZGV4IDdlOGMy
ZTMwNjRiMTc1ZmU1NGEyNTViMTViY2I1ZTcxMDk4YWZjMWYuLjA5MDgxYjk1YmRhZDdkNjc3MWM1
MmQyZWEyZDhiMjkyNDc3YmJmNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhc3RlYm9hcmRQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFzdGVib2FyZFByb3h5LmNwcApAQCAtMzMsNiArMzMsMTEgQEAKICNpbmNsdWRlIDx3dGYvQ29t
cGxldGlvbkhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KIAorI2lm
ICFQTEFURk9STShDT0NPQSkKKyNpbmNsdWRlIDxXZWJDb3JlL1Bhc3RlYm9hcmRDdXN0b21EYXRh
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QYXN0ZWJvYXJkSXRlbUluZm8uaD4KKyNlbmRpZgorCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogV2ViUGFzdGVib2FyZFByb3h5JiBXZWJQYXN0ZWJvYXJkUHJv
eHk6OnNpbmdsZXRvbigpCkBAIC03MCwxNyArNzUsMTcgQEAgdm9pZCBXZWJQYXN0ZWJvYXJkUHJv
eHk6OnR5cGVzU2FmZUZvckRPTVRvUmVhZEFuZFdyaXRlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0
cmkKICAgICBjb21wbGV0aW9uSGFuZGxlcih7IH0pOwogfQogCi12b2lkIFdlYlBhc3RlYm9hcmRQ
cm94eTo6d3JpdGVDdXN0b21EYXRhKGNvbnN0IFZlY3RvcjxQYXN0ZWJvYXJkQ3VzdG9tRGF0YT4m
LCBjb25zdCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHVpbnQ2NF90KT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKK3ZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojp3cml0ZUN1c3RvbURhdGEo
Y29uc3QgVmVjdG9yPFdlYkNvcmU6OlBhc3RlYm9hcmRDdXN0b21EYXRhPiYsIGNvbnN0IFN0cmlu
ZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQodWludDY0X3QpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQogewogICAgIGNvbXBsZXRpb25IYW5kbGVyKDApOwogfQogCi12b2lkIFdlYlBhc3RlYm9hcmRQ
cm94eTo6YWxsUGFzdGVib2FyZEl0ZW1JbmZvKGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoVmVjdG9yPFBhc3RlYm9hcmRJdGVtSW5mbz4mJik+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCit2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6YWxsUGFzdGVib2FyZEl0ZW1JbmZvKGNvbnN0
IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFdlYkNvcmU6OlBhc3RlYm9h
cmRJdGVtSW5mbz4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgY29tcGxldGlvbkhh
bmRsZXIoeyB9KTsKIH0KIAotdm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmluZm9ybWF0aW9uRm9y
SXRlbUF0SW5kZXgoc2l6ZV90LCBjb25zdCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFBhc3RlYm9hcmRJdGVtSW5mbyYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgV2ViUGFz
dGVib2FyZFByb3h5OjppbmZvcm1hdGlvbkZvckl0ZW1BdEluZGV4KHNpemVfdCwgY29uc3QgU3Ry
aW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpQYXN0ZWJvYXJkSXRlbUluZm8m
Jik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgY29tcGxldGlvbkhhbmRsZXIoeyB9KTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGVjMGJhNGQzZDdkNDA1NzcyYzgzMTZkZTVmOTI3ODExODE0ZTAzYjQuLjg0Zjk2ZTYyNzIz
ZWJhMTYxN2FiOGIxMmM3MTZmMDAzNjA5YjYxMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzIwNSw2ICszMjA1LDcgQEAKIAkJNDYz
MjM2ODQyMzE0ODI1QzAwQTQ4RkE3IC8qIFdlYlJlbW90ZU9iamVjdFJlZ2lzdHJ5LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFdlYlJlbW90ZU9iamVjdFJlZ2lzdHJ5LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDYzMjM2ODUyMzE0ODMzRjAwQTQ4RkE3IC8qIFVJUmVtb3RlT2Jq
ZWN0UmVnaXN0cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVUlSZW1vdGVPYmplY3RSZWdpc3RyeS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjMyMzY4NjIzMTQ4MzNGMDBBNDhGQTcgLyog
VUlSZW1vdGVPYmplY3RSZWdpc3RyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVSVJlbW90ZU9i
amVjdFJlZ2lzdHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDYzNDczQjYy
MzU2MUQyQTAwQkUxQTg0IC8qIFdlYkJhY2tGb3J3YXJkQ2FjaGVFbnRyeS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnkuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjNGRDQ3RjFFQjk0NTg0MDBBMjk4MkMg
LyogV0tQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV0tQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDYzRkQ0ODExRUI5NEVBRDAwQTI5ODJDIC8qIFByb2Nlc3NUZXJtaW5hdGlv
blJlYXNvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm9jZXNzVGVybWlu
YXRpb25SZWFzb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY1MUVDRTYyMjE3
OEE4NTAwNjdFQjk1IC8qIFdlYlByb2Nlc3NDYWNoZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViUHJvY2Vzc0NhY2hlQ29jb2EubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03ODI0LDYgKzc4MjUsNyBAQAogCQkJCTFBNjAyMjQ5MThD
MTZCMDgwMEMzRThDOSAvKiBWaXNpdGVkTGlua1N0b3JlLm1lc3NhZ2VzLmluICovLAogCQkJCTQ2
MDMwMTFBMjM0QkUzMUQwMDlDODIxNyAvKiBXZWJCYWNrRm9yd2FyZENhY2hlLmNwcCAqLywKIAkJ
CQk0NjAzMDExQjIzNEJFMzFFMDA5QzgyMTcgLyogV2ViQmFja0ZvcndhcmRDYWNoZS5oICovLAor
CQkJCTQ2MzQ3M0I2MjM1NjFEMkEwMEJFMUE4NCAvKiBXZWJCYWNrRm9yd2FyZENhY2hlRW50cnku
Y3BwICovLAogCQkJCTQ2RjlCMjYyMjM1MjZFRDAwMDZGRTVGQSAvKiBXZWJCYWNrRm9yd2FyZENh
Y2hlRW50cnkuaCAqLywKIAkJCQlCQzcyQkExQjExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0Zv
cndhcmRMaXN0LmNwcCAqLywKIAkJCQlCQzcyQkExQzExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFj
a0ZvcndhcmRMaXN0LmggKi8sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>