<?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>226083</bug_id>
          
          <creation_ts>2021-05-21 07:23:54 -0700</creation_ts>
          <short_desc>Don&apos;t hang onto expired resources without validation headers in memory cache</short_desc>
          <delta_ts>2021-05-26 12:19:39 -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>Page Loading</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>nham</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1762402</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-05-21 07:23:54 -0700</bug_when>
    <thetext>They use memory while only being useful for history navigation. Disk cache can handle that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762407</commentid>
    <comment_count>1</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-05-21 07:44:42 -0700</bug_when>
    <thetext>rdar://78035612</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762422</commentid>
    <comment_count>2</comment_count>
      <attachid>429292</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-05-21 08:14:44 -0700</bug_when>
    <thetext>Created attachment 429292
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762424</commentid>
    <comment_count>3</comment_count>
      <attachid>429293</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-05-21 08:18:35 -0700</bug_when>
    <thetext>Created attachment 429293
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763213</commentid>
    <comment_count>4</comment_count>
      <attachid>429552</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-05-24 12:13:10 -0700</bug_when>
    <thetext>Created attachment 429552
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763481</commentid>
    <comment_count>5</comment_count>
      <attachid>429647</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-05-25 05:19:02 -0700</bug_when>
    <thetext>Created attachment 429647
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763494</commentid>
    <comment_count>6</comment_count>
      <attachid>429651</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-05-25 06:20:06 -0700</bug_when>
    <thetext>Created attachment 429651
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763508</commentid>
    <comment_count>7</comment_count>
      <attachid>429653</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-05-25 07:36:26 -0700</bug_when>
    <thetext>Created attachment 429653
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763848</commentid>
    <comment_count>8</comment_count>
      <attachid>429737</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-05-26 01:51:26 -0700</bug_when>
    <thetext>Created attachment 429737
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763849</commentid>
    <comment_count>9</comment_count>
      <attachid>429738</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-05-26 01:53:19 -0700</bug_when>
    <thetext>Created attachment 429738
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763904</commentid>
    <comment_count>10</comment_count>
      <attachid>429755</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-05-26 07:59:18 -0700</bug_when>
    <thetext>Created attachment 429755
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763978</commentid>
    <comment_count>11</comment_count>
      <attachid>429755</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-26 11:09:49 -0700</bug_when>
    <thetext>Comment on attachment 429755
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763979</commentid>
    <comment_count>12</comment_count>
      <attachid>429755</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-05-26 11:11:25 -0700</bug_when>
    <thetext>Comment on attachment 429755
patch

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

&gt; Source/WebCore/ChangeLog:29
&gt; +        Remove expired resources without validation headers from the cache if the resource is otherwise deletable.

I guess this is the more conservative approach, so maybe it&apos;s best. But I wonder if there&apos;s any value to expired resources _with_ validation headers in the memory cache? In that case, we&apos;re going to do a network round trip to validate anyway, so maybe an IPC round trip to the network process is also fine. Long ago, Dave Hyatt told me that the real win of the memory cache was when it could respond synchronously in the current RunLoop iteration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763996</commentid>
    <comment_count>13</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-05-26 11:51:58 -0700</bug_when>
    <thetext>Reusing a resource from memory cache may also save decoding for images, parsing for  stylesheets, text decoding etc. (though decoded versions are thrown out pretty fast anyway for unreferenced resources).

But yeah, it might be time to throw out the entire revalidation logic in memory cache. Would certainly simplify things. Part of its job used to be to cover things networking layer wasn&apos;t handling well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764000</commentid>
    <comment_count>14</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-05-26 12:14:06 -0700</bug_when>
    <thetext>&gt; But yeah, it might be time to throw out the entire revalidation logic in
&gt; memory cache. Would certainly simplify things. Part of its job used to be to
&gt; cover things networking layer wasn&apos;t handling well.

I guess that&apos;s a topic for another bug. But might be worth trying out at some point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764002</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-26 12:19:36 -0700</bug_when>
    <thetext>Committed r278119 (238169@main): &lt;https://commits.webkit.org/238169@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 429755.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429292</attachid>
            <date>2021-05-21 08:14:44 -0700</date>
            <delta_ts>2021-05-21 08:18:35 -0700</delta_ts>
            <desc>patch</desc>
            <filename>memory-cache-remove-expired.patch</filename>
            <type>text/plain</type>
            <size>2267</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0ZjFlNWFhMTEzYmYuLjQ4ZDYxODNiNTZmYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIxIEBACisyMDIxLTA1LTIxICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBEb24ndCBoYW5nIGludG8gZXhwaXJlZCByZXNvdXJjZXMgd2l0aG91dCB2
YWxpZGF0aW9uIGhlYWRlcnMgaW4gbWVtb3J5IGNhY2hlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYwODMKKyAgICAgICAgcmRhcjovLzc4MDM1NjEy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhleSB1
c2UgbWVtb3J5IHdoaWxlIG9ubHkgcmVhbGx5IGJlaW5nIHVzZWZ1bCBmb3IgaGlzdG9yeSBuYXZp
Z2F0aW9uLgorICAgICAgICBEaXNrIGNhY2hlIGNhbiBoYW5kbGUgdGhlIHJlbGF0aXZlbHkgcmFy
ZSBjYXNlcyB3aGVyZSB0aGF0IGlzIHVzZWZ1bCBhbmQgbm90CisgICAgICAgIGNvdmVyZWQgYnkg
dGhlIHBhZ2UgY2FjaGUuCisKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnJlbW92ZUNsaWVudCk6CisK
KyAgICAgICAgUmVtb3ZlIGV4cGlyZWQgcmVzb3VyY2VzIHdpdGhvdXQgdmFsaWRhdGlvbiBoZWFk
ZXJzIHdoZW4gdGhlIGxhc3QgY2xpZW50IGdvZXMgYXdheS4KKyAgICAgICAgQWxzbyBlYWdlcmx5
IHJlbW92ZSBuby1zdG9yZSBodHRwIHJlc291cmNlcyAocHJldmlvdXNseSBvbmx5IGh0dHBzIHdh
cyByZW1vdmVkKS4KKwogMjAyMS0wNS0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgogCiAgICAgICAgIEZpeCBsb2NraW5nIGluIFBsYXRmb3JtQ0FMYXllcgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKaW5kZXggYzA2NWZjMGRiM2Fm
Li42Y2IxZTU5MjY2ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmNwcApAQCAtNTcyLDEzICs1NzIsMTggQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6
cmVtb3ZlQ2xpZW50KENhY2hlZFJlc291cmNlQ2xpZW50JiBjbGllbnQpCiAgICAgaWYgKCFhbGxv
d3NDYWNoaW5nKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChyZXNwb25zZSgpLmNhY2hl
Q29udHJvbENvbnRhaW5zTm9TdG9yZSgpICYmIHVybCgpLnByb3RvY29sSXMoImh0dHBzIikpIHsK
LSAgICAgICAgLy8gUkZDMjYxNiAxNC45LjI6Ci0gICAgICAgIC8vICJuby1zdG9yZTogLi4uIE1V
U1QgbWFrZSBhIGJlc3QtZWZmb3J0IGF0dGVtcHQgdG8gcmVtb3ZlIHRoZSBpbmZvcm1hdGlvbiBm
cm9tIHZvbGF0aWxlIHN0b3JhZ2UgYXMgcHJvbXB0bHkgYXMgcG9zc2libGUiCi0gICAgICAgIC8v
ICIuLi4gSGlzdG9yeSBidWZmZXJzIE1BWSBzdG9yZSBzdWNoIHJlc3BvbnNlcyBhcyBwYXJ0IG9m
IHRoZWlyIG5vcm1hbCBvcGVyYXRpb24uIgotICAgICAgICAvLyBXZSBhbGxvdyBub24tc2VjdXJl
IGNvbnRlbnQgdG8gYmUgcmV1c2VkIGluIGhpc3RvcnksIGJ1dCB3ZSBkbyBub3QgYWxsb3cgc2Vj
dXJlIGNvbnRlbnQgdG8gYmUgcmV1c2VkLgorICAgIGF1dG8gc2hvdWxkUmVtb3ZlID0gWyZdIHsK
KyAgICAgICAgLy8gV2UgbWF5IHN0aWxsIGtlZXAgc29tZSBvZiB0aGVzZSBjYXNlcyBpbiBkaXNr
IGNhY2hlIGZvciBoaXN0b3J5IG5hdmlnYXRpb24uCisgICAgICAgIGlmIChyZXNwb25zZSgpLmNh
Y2hlQ29udHJvbENvbnRhaW5zTm9TdG9yZSgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgICAgIGlmIChpc0V4cGlyZWQoKSAmJiAhY2FuVXNlQ2FjaGVWYWxpZGF0b3IoKSkKKyAgICAg
ICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSgpOworCisg
ICAgaWYgKHNob3VsZFJlbW92ZSkKICAgICAgICAgbWVtb3J5Q2FjaGUucmVtb3ZlKCp0aGlzKTsK
LSAgICB9CisKICAgICBtZW1vcnlDYWNoZS5wcnVuZVNvb24oKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429293</attachid>
            <date>2021-05-21 08:18:35 -0700</date>
            <delta_ts>2021-05-24 12:13:10 -0700</delta_ts>
            <desc>patch</desc>
            <filename>memory-cache-remove-expired-2.patch</filename>
            <type>text/plain</type>
            <size>2267</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0ZjFlNWFhMTEzYmYuLjA4MDc5YTZkYThlMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIxIEBACisyMDIxLTA1LTIxICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBEb24ndCBoYW5nIG9udG8gZXhwaXJlZCByZXNvdXJjZXMgd2l0aG91dCB2
YWxpZGF0aW9uIGhlYWRlcnMgaW4gbWVtb3J5IGNhY2hlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYwODMKKyAgICAgICAgcmRhcjovLzc4MDM1NjEy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhleSB1
c2UgbWVtb3J5IHdoaWxlIG9ubHkgcmVhbGx5IGJlaW5nIHVzZWZ1bCBmb3IgaGlzdG9yeSBuYXZp
Z2F0aW9uLgorICAgICAgICBEaXNrIGNhY2hlIGNhbiBoYW5kbGUgdGhlIHJlbGF0aXZlbHkgcmFy
ZSBjYXNlcyB3aGVyZSB0aGF0IGlzIHVzZWZ1bCBhbmQgbm90CisgICAgICAgIGNvdmVyZWQgYnkg
dGhlIHBhZ2UgY2FjaGUuCisKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnJlbW92ZUNsaWVudCk6CisK
KyAgICAgICAgUmVtb3ZlIGV4cGlyZWQgcmVzb3VyY2VzIHdpdGhvdXQgdmFsaWRhdGlvbiBoZWFk
ZXJzIHdoZW4gdGhlIGxhc3QgY2xpZW50IGdvZXMgYXdheS4KKyAgICAgICAgQWxzbyBlYWdlcmx5
IHJlbW92ZSBuby1zdG9yZSBodHRwIHJlc291cmNlcyAocHJldmlvdXNseSBvbmx5IGh0dHBzIHdh
cyByZW1vdmVkKS4KKwogMjAyMS0wNS0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgogCiAgICAgICAgIEZpeCBsb2NraW5nIGluIFBsYXRmb3JtQ0FMYXllcgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKaW5kZXggYzA2NWZjMGRiM2Fm
Li42Y2IxZTU5MjY2ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmNwcApAQCAtNTcyLDEzICs1NzIsMTggQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6
cmVtb3ZlQ2xpZW50KENhY2hlZFJlc291cmNlQ2xpZW50JiBjbGllbnQpCiAgICAgaWYgKCFhbGxv
d3NDYWNoaW5nKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChyZXNwb25zZSgpLmNhY2hl
Q29udHJvbENvbnRhaW5zTm9TdG9yZSgpICYmIHVybCgpLnByb3RvY29sSXMoImh0dHBzIikpIHsK
LSAgICAgICAgLy8gUkZDMjYxNiAxNC45LjI6Ci0gICAgICAgIC8vICJuby1zdG9yZTogLi4uIE1V
U1QgbWFrZSBhIGJlc3QtZWZmb3J0IGF0dGVtcHQgdG8gcmVtb3ZlIHRoZSBpbmZvcm1hdGlvbiBm
cm9tIHZvbGF0aWxlIHN0b3JhZ2UgYXMgcHJvbXB0bHkgYXMgcG9zc2libGUiCi0gICAgICAgIC8v
ICIuLi4gSGlzdG9yeSBidWZmZXJzIE1BWSBzdG9yZSBzdWNoIHJlc3BvbnNlcyBhcyBwYXJ0IG9m
IHRoZWlyIG5vcm1hbCBvcGVyYXRpb24uIgotICAgICAgICAvLyBXZSBhbGxvdyBub24tc2VjdXJl
IGNvbnRlbnQgdG8gYmUgcmV1c2VkIGluIGhpc3RvcnksIGJ1dCB3ZSBkbyBub3QgYWxsb3cgc2Vj
dXJlIGNvbnRlbnQgdG8gYmUgcmV1c2VkLgorICAgIGF1dG8gc2hvdWxkUmVtb3ZlID0gWyZdIHsK
KyAgICAgICAgLy8gV2UgbWF5IHN0aWxsIGtlZXAgc29tZSBvZiB0aGVzZSBjYXNlcyBpbiBkaXNr
IGNhY2hlIGZvciBoaXN0b3J5IG5hdmlnYXRpb24uCisgICAgICAgIGlmIChyZXNwb25zZSgpLmNh
Y2hlQ29udHJvbENvbnRhaW5zTm9TdG9yZSgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgICAgIGlmIChpc0V4cGlyZWQoKSAmJiAhY2FuVXNlQ2FjaGVWYWxpZGF0b3IoKSkKKyAgICAg
ICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSgpOworCisg
ICAgaWYgKHNob3VsZFJlbW92ZSkKICAgICAgICAgbWVtb3J5Q2FjaGUucmVtb3ZlKCp0aGlzKTsK
LSAgICB9CisKICAgICBtZW1vcnlDYWNoZS5wcnVuZVNvb24oKTsKIH0KIAo=
</data>
<flag name="commit-queue"
          id="450437"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429552</attachid>
            <date>2021-05-24 12:13:10 -0700</date>
            <delta_ts>2021-05-25 05:19:02 -0700</delta_ts>
            <desc>patch</desc>
            <filename>memory-cache-remove-expired-3.patch</filename>
            <type>text/plain</type>
            <size>8535</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0ZjFlNWFhMTEzYmYuLjI4MmVjMjA5M2MxYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDQ5IEBACisyMDIxLTA1LTI0ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBEb24ndCBoYW5nIG9udG8gZXhwaXJlZCByZXNvdXJjZXMgd2l0aG91dCB2
YWxpZGF0aW9uIGhlYWRlcnMgaW4gbWVtb3J5IGNhY2hlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYwODMKKyAgICAgICAgcmRhcjovLzc4MDM1NjEy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhleSBj
b25zdW1lIG1lbW9yeSB3aGlsZSBvbmx5IHJlYWxseSBiZWluZyB1c2VmdWwgZm9yIGhpc3Rvcnkg
bmF2aWdhdGlvbi4KKyAgICAgICAgRGlzayBjYWNoZSBjYW4gaGFuZGxlIHRoZSByZWxhdGl2ZWx5
IHJhcmUgY2FzZXMgd2hlcmUgdGhhdCBpcyB1c2VmdWwgYW5kIG5vdAorICAgICAgICBjb3ZlcmVk
IGJ5IHRoZSBwYWdlIGNhY2hlLgorCisgICAgICAgICogbG9hZGVyL1Jlc291cmNlVGltaW5nSW5m
b3JtYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmdJbmZvcm1hdGlv
bjo6YWRkUmVzb3VyY2VUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmdJ
bmZvcm1hdGlvbjo6cmVtb3ZlUmVzb3VyY2VUaW1pbmcpOgorCisgICAgICAgIEFkZCB3YXkgdG8g
cmVtb3ZlIGVudHJpZXMgZnJvbSB0aGUgbWFwLgorCisgICAgICAgICogbG9hZGVyL1Jlc291cmNl
VGltaW5nSW5mb3JtYXRpb24uaDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnJlbW92ZUNsaWVudCk6
CisKKyAgICAgICAgUmVtb3ZhbCBmcm9tIGNhY2hlIGlzIG5vdyBoYW5kbGVkIGluIGRlbGV0ZUlm
UG9zc2libGUoKSB0byBtYWtlIGl0IG1vcmUgdW5pdmVyc2FsLgorICAgICAgICBJdCBpcyBpbnZv
a2VkIGJ5IHJlbW92ZUNsaWVudCBzbyB0aGUgZXhpc3RpbmcgYmVoYXZpb3IgaXMgY292ZXJlZC4K
KworICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmRlbGV0ZUlmUG9zc2libGUpOgor
CisgICAgICAgIFJlbW92ZSBleHBpcmVkIHJlc291cmNlcyB3aXRob3V0IHZhbGlkYXRpb24gaGVh
ZGVycyBmcm9tIHRoZSBjYWNoZSBpZiB0aGUgcmVzb3VyY2UgaXMgb3RoZXJ3aXNlIGRlbGV0YWJs
ZS4KKyAgICAgICAgQWxzbyBlYWdlcmx5IHJlbW92ZSBuby1zdG9yZSBodHRwIHJlc291cmNlcyAo
cHJldmlvdXNseSBvbmx5IGh0dHBzIHdhcyByZW1vdmVkKS4KKworICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkUmVzb3VyY2U6OmRlbGV0ZVRoaXMpOgorCisgICAgICAgIEZhY3RvciBpbnRvIGEgZnVu
Y3Rpb24uCisKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaDoKKyAgICAg
ICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmdhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJj
ZXMpOgorCisgICAgICAgIERvbid0IGxlYXZlIHJlbW92ZWQgZW50cmllcyB0byBSZXNvdXJjZVRp
bWluZ0luZm9ybWF0aW9uLiBUaGV5IGFyZSBub3QgZ3VhcmFudGVlZCB0byBzdGF5IGFsaXZlIGFm
dGVyCisgICAgICAgIGJlaW5nIHJlbW92ZWQgZnJvbSBtX2RvY3VtZW50UmVzb3VyY2VzLgorCisg
ICAgICAgICogbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1lbW9yeUNhY2hlOjpyZW1vdmUpOgorCisgICAgICAgIENhbGwgQ2FjaGVkUmVzb3VyY2U6OmRl
bGV0ZVRoaXMoKSBkaXJlY3RseS4KKwogMjAyMS0wNS0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBsb2NraW5nIGluIFBsYXRmb3JtQ0FMYXllcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24uY3Bw
CmluZGV4IGJkN2RkOGMwMTY3NS4uYTYxYzI0ZDhiM2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VUaW1pbmdJbmZvcm1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24uY3BwCkBAIC04Niw2ICs4Niwx
MSBAQCB2b2lkIFJlc291cmNlVGltaW5nSW5mb3JtYXRpb246OmFkZFJlc291cmNlVGltaW5nKENh
Y2hlZFJlc291cmNlJiByZXNvdXJjZSwgRG9jdQogICAgIGluZm8uYWRkZWQgPSBBZGRlZDsKIH0K
IAordm9pZCBSZXNvdXJjZVRpbWluZ0luZm9ybWF0aW9uOjpyZW1vdmVSZXNvdXJjZVRpbWluZyhD
YWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpCit7CisgICAgbV9pbml0aWF0b3JNYXAucmVtb3ZlKCZy
ZXNvdXJjZSk7Cit9CisKIHZvaWQgUmVzb3VyY2VUaW1pbmdJbmZvcm1hdGlvbjo6c3RvcmVSZXNv
dXJjZVRpbWluZ0luaXRpYXRvckluZm9ybWF0aW9uKGNvbnN0IENhY2hlZFJlc291cmNlSGFuZGxl
PENhY2hlZFJlc291cmNlPiYgcmVzb3VyY2UsIGNvbnN0IEF0b21TdHJpbmcmIGluaXRpYXRvck5h
bWUsIEZyYW1lKiBmcmFtZSkKIHsKICAgICBBU1NFUlQocmVzb3VyY2UuZ2V0KCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRpbWluZ0luZm9ybWF0aW9uLmgKaW5kZXgg
NjgyNDQzMTMxM2I3Li45NTc0NzFiZGNiNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZVRpbWluZ0luZm9ybWF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24uaApAQCAtNDEsNiArNDEsNyBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIGJvb2wgc2hvdWxkQWRkUmVzb3VyY2VUaW1pbmcoQ2FjaGVkUmVzb3VyY2Um
KTsKIAogICAgIHZvaWQgYWRkUmVzb3VyY2VUaW1pbmcoQ2FjaGVkUmVzb3VyY2UmLCBEb2N1bWVu
dCYsIFJlc291cmNlVGltaW5nJiYpOworICAgIHZvaWQgcmVtb3ZlUmVzb3VyY2VUaW1pbmcoQ2Fj
aGVkUmVzb3VyY2UmKTsKICAgICB2b2lkIHN0b3JlUmVzb3VyY2VUaW1pbmdJbml0aWF0b3JJbmZv
cm1hdGlvbihjb25zdCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4mLCBjb25z
dCBBdG9tU3RyaW5nJiwgRnJhbWUqKTsKIAogcHJpdmF0ZToKQEAgLTQ5LDYgKzUwLDcgQEAgcHJp
dmF0ZToKICAgICAgICAgQXRvbVN0cmluZyBuYW1lOwogICAgICAgICBBbHJlYWR5QWRkZWQgYWRk
ZWQ7CiAgICAgfTsKKyAgICAvLyBGSVhNRTogVGhpcyBzaG91ZG4ndCB1c2UgcmF3IHBvaW50ZXIg
YXMgaWRlbnRpZmllciAodGhvdWdoIGl0IGlzIG5vdCBkZXJlZmVyZW5jZWQpLgogICAgIEhhc2hN
YXA8Q2FjaGVkUmVzb3VyY2UqLCBJbml0aWF0b3JJbmZvPiBtX2luaXRpYXRvck1hcDsKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4
IGMwNjVmYzBkYjNhZi4uODYzN2RkNzcyZWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTU3MiwxMyArNTcyLDYgQEAgdm9pZCBDYWNo
ZWRSZXNvdXJjZTo6cmVtb3ZlQ2xpZW50KENhY2hlZFJlc291cmNlQ2xpZW50JiBjbGllbnQpCiAg
ICAgaWYgKCFhbGxvd3NDYWNoaW5nKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChyZXNw
b25zZSgpLmNhY2hlQ29udHJvbENvbnRhaW5zTm9TdG9yZSgpICYmIHVybCgpLnByb3RvY29sSXMo
Imh0dHBzIikpIHsKLSAgICAgICAgLy8gUkZDMjYxNiAxNC45LjI6Ci0gICAgICAgIC8vICJuby1z
dG9yZTogLi4uIE1VU1QgbWFrZSBhIGJlc3QtZWZmb3J0IGF0dGVtcHQgdG8gcmVtb3ZlIHRoZSBp
bmZvcm1hdGlvbiBmcm9tIHZvbGF0aWxlIHN0b3JhZ2UgYXMgcHJvbXB0bHkgYXMgcG9zc2libGUi
Ci0gICAgICAgIC8vICIuLi4gSGlzdG9yeSBidWZmZXJzIE1BWSBzdG9yZSBzdWNoIHJlc3BvbnNl
cyBhcyBwYXJ0IG9mIHRoZWlyIG5vcm1hbCBvcGVyYXRpb24uIgotICAgICAgICAvLyBXZSBhbGxv
dyBub24tc2VjdXJlIGNvbnRlbnQgdG8gYmUgcmV1c2VkIGluIGhpc3RvcnksIGJ1dCB3ZSBkbyBu
b3QgYWxsb3cgc2VjdXJlIGNvbnRlbnQgdG8gYmUgcmV1c2VkLgotICAgICAgICBtZW1vcnlDYWNo
ZS5yZW1vdmUoKnRoaXMpOwotICAgIH0KICAgICBtZW1vcnlDYWNoZS5wcnVuZVNvb24oKTsKIH0K
IApAQCAtNjA0LDIxICs1OTcsNTAgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6ZGVjb2RlZERhdGFE
ZWxldGlvblRpbWVyRmlyZWQoKQogCiBib29sIENhY2hlZFJlc291cmNlOjpkZWxldGVJZlBvc3Np
YmxlKCkKIHsKLSAgICBpZiAoY2FuRGVsZXRlKCkpIHsKLSAgICAgICAgTE9HKFJlc291cmNlTG9h
ZGluZywgIkNhY2hlZFJlc291cmNlICVwIGRlbGV0ZUlmUG9zc2libGUgLSBjYW4gZGVsZXRlLCBp
biBjYWNoZSAlZCIsIHRoaXMsIGluQ2FjaGUoKSk7Ci0gICAgICAgIGlmICghaW5DYWNoZSgpKSB7
Ci0gICAgICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxEZXN0cm95Q2FjaGVk
UmVzb3VyY2UoKnRoaXMpOwotICAgICAgICAgICAgZGVsZXRlIHRoaXM7CisgICAgaWYgKCFjYW5E
ZWxldGUoKSkgeworICAgICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVzb3VyY2Ug
JXAgZGVsZXRlSWZQb3NzaWJsZSAtIGNhbid0IGRlbGV0ZSAoaGFzQ2xpZW50cyAlZCBsb2FkZXIg
JXAgcHJlbG9hZENvdW50ICV1IGhhbmRsZUNvdW50ICV1IHJlc291cmNlVG9SZXZhbGlkYXRlICVw
IHByb3h5UmVzb3VyY2UgJXApIiwgdGhpcywgaGFzQ2xpZW50cygpLCBtX2xvYWRlci5nZXQoKSwg
bV9wcmVsb2FkQ291bnQsIG1faGFuZGxlQ291bnQsIG1fcmVzb3VyY2VUb1JldmFsaWRhdGUsIG1f
cHJveHlSZXNvdXJjZSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBMT0co
UmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVzb3VyY2UgJXAgZGVsZXRlSWZQb3NzaWJsZSAtIGNh
biBkZWxldGUsIGluIGNhY2hlICVkIiwgdGhpcywgaW5DYWNoZSgpKTsKKworICAgIGlmICghaW5D
YWNoZSgpKSB7CisgICAgICAgIGRlbGV0ZVRoaXMoKTsKKyAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgfQorCisgICAgYXV0byBzaG91bGRSZW1vdmVGcm9tQ2FjaGUgPSBbJl0geworICAgICAgICAv
LyBXZSBtYXkgc3RpbGwga2VlcHMgc29tZSBvZiB0aGVzZSBjYXNlcyBpbiBkaXNrIGNhY2hlIGZv
ciBoaXN0b3J5IG5hdmlnYXRpb24uCisgICAgICAgIGlmIChyZXNwb25zZSgpLmNhY2hlQ29udHJv
bENvbnRhaW5zTm9TdG9yZSgpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIH0K
LSAgICAgICAgaWYgKG1fZGF0YSkKLSAgICAgICAgICAgIG1fZGF0YS0+aGludE1lbW9yeU5vdE5l
ZWRlZFNvb24oKTsKKyAgICAgICAgLy8gTm90IG11Y2ggaG9wZSBmb3IgcmV1c2UuCisgICAgICAg
IGlmIChpc0V4cGlyZWQoKSAmJiAhY2FuVXNlQ2FjaGVWYWxpZGF0b3IoKSkKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSgpOworCisgICAgaWYg
KHNob3VsZFJlbW92ZUZyb21DYWNoZSkgeworICAgICAgICAvLyBEZWxldGVzIHRoaXMuCisgICAg
ICAgIE1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5yZW1vdmUoKnRoaXMpOworICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVzb3Vy
Y2UgJXAgZGVsZXRlSWZQb3NzaWJsZSAtIGNhbid0IGRlbGV0ZSAoaGFzQ2xpZW50cyAlZCBsb2Fk
ZXIgJXAgcHJlbG9hZENvdW50ICV1IGhhbmRsZUNvdW50ICV1IHJlc291cmNlVG9SZXZhbGlkYXRl
ICVwIHByb3h5UmVzb3VyY2UgJXApIiwgdGhpcywgaGFzQ2xpZW50cygpLCBtX2xvYWRlci5nZXQo
KSwgbV9wcmVsb2FkQ291bnQsIG1faGFuZGxlQ291bnQsIG1fcmVzb3VyY2VUb1JldmFsaWRhdGUs
IG1fcHJveHlSZXNvdXJjZSk7CisgICAgaWYgKG1fZGF0YSkKKyAgICAgICAgbV9kYXRhLT5oaW50
TWVtb3J5Tm90TmVlZGVkU29vbigpOworCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCit2b2lkIENh
Y2hlZFJlc291cmNlOjpkZWxldGVUaGlzKCkKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChjYW5EZWxl
dGUoKSk7CisgICAgUkVMRUFTRV9BU1NFUlQoIWluQ2FjaGUoKSk7CisKKyAgICBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OndpbGxEZXN0cm95Q2FjaGVkUmVzb3VyY2UoKnRoaXMpOworCisgICAg
ZGVsZXRlIHRoaXM7Cit9CisKIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldERlY29kZWRTaXplKHVu
c2lnbmVkIHNpemUpCiB7CiAgICAgaWYgKHNpemUgPT0gbV9kZWNvZGVkU2l6ZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKaW5kZXggNzBjYzlhYjg2ODc4
Li5iZjI1Y2FkZDQzNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZS5oCkBAIC0zMTAsNiArMzEwLDggQEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICBj
bGFzcyBDYWxsYmFjazsKIAorICAgIHZvaWQgZGVsZXRlVGhpcygpOworCiAgICAgYm9vbCBhZGRD
bGllbnRUb1NldChDYWNoZWRSZXNvdXJjZUNsaWVudCYpOwogCiAgICAgdm9pZCBkZWNvZGVkRGF0
YURlbGV0aW9uVGltZXJGaXJlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggMjZmZmRiZmJjOWQxLi5kOGU5NmEy
M2Q4NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlTG9hZGVyLmNwcApAQCAtMTQ0Niw4ICsxNDQ2LDEwIEBAIHZvaWQgQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OmdhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXMoKQogICAgIGZvciAoYXV0
byYgcmVzb3VyY2UgOiBtX2RvY3VtZW50UmVzb3VyY2VzKSB7CiAgICAgICAgIExPRyhSZXNvdXJj
ZUxvYWRpbmcsICIgIGNhY2hlZCByZXNvdXJjZSAlcCAtIGhhc09uZUhhbmRsZSAlZCIsIHJlc291
cmNlLnZhbHVlLmdldCgpLCByZXNvdXJjZS52YWx1ZS0+aGFzT25lSGFuZGxlKCkpOwogCi0gICAg
ICAgIGlmIChyZXNvdXJjZS52YWx1ZS0+aGFzT25lSGFuZGxlKCkpCisgICAgICAgIGlmIChyZXNv
dXJjZS52YWx1ZS0+aGFzT25lSGFuZGxlKCkpIHsKICAgICAgICAgICAgIHJlc291cmNlc1RvRGVs
ZXRlLmFwcGVuZChyZXNvdXJjZS5rZXkpOworICAgICAgICAgICAgbV9yZXNvdXJjZVRpbWluZ0lu
Zm8ucmVtb3ZlUmVzb3VyY2VUaW1pbmcoKnJlc291cmNlLnZhbHVlKTsKKyAgICAgICAgfQogICAg
IH0KIAogICAgIGZvciAoYXV0byYgcmVzb3VyY2UgOiByZXNvdXJjZXNUb0RlbGV0ZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCmluZGV4IDk1YjUyYWEzYWQy
OS4uYzdhNzBjZTYwNzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
TWVtb3J5Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlD
YWNoZS5jcHAKQEAgLTQxNiw3ICs0MTYsOCBAQCB2b2lkIE1lbW9yeUNhY2hlOjpyZW1vdmUoQ2Fj
aGVkUmVzb3VyY2UmIHJlc291cmNlKQogICAgICAgICB9CiAgICAgfQogCi0gICAgcmVzb3VyY2Uu
ZGVsZXRlSWZQb3NzaWJsZSgpOworICAgIGlmIChyZXNvdXJjZS5jYW5EZWxldGUoKSkKKyAgICAg
ICAgcmVzb3VyY2UuZGVsZXRlVGhpcygpOwogfQogCiBhdXRvIE1lbW9yeUNhY2hlOjpscnVMaXN0
Rm9yKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSkgLT4gTFJVTGlzdCYK
</data>
<flag name="commit-queue"
          id="450780"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429647</attachid>
            <date>2021-05-25 05:19:02 -0700</date>
            <delta_ts>2021-05-25 06:20:06 -0700</delta_ts>
            <desc>patch</desc>
            <filename>memory-cache-remove-expired-4.patch</filename>
            <type>text/plain</type>
            <size>8614</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0ZjFlNWFhMTEzYmYuLjJjOGY1MWFjMzE5OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDUwIEBACisyMDIxLTA1LTI0ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBEb24ndCBoYW5nIG9udG8gZXhwaXJlZCByZXNvdXJjZXMgd2l0aG91dCB2
YWxpZGF0aW9uIGhlYWRlcnMgaW4gbWVtb3J5IGNhY2hlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYwODMKKyAgICAgICAgcmRhcjovLzc4MDM1NjEy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhleSBj
b25zdW1lIG1lbW9yeSB3aGlsZSBvbmx5IHJlYWxseSBiZWluZyB1c2VmdWwgZm9yIGhpc3Rvcnkg
bmF2aWdhdGlvbi4KKyAgICAgICAgRGlzayBjYWNoZSBjYW4gaGFuZGxlIHRoZSByZWxhdGl2ZWx5
IHJhcmUgY2FzZXMgd2hlcmUgdGhhdCBpcyB1c2VmdWwgYW5kIG5vdAorICAgICAgICBjb3ZlcmVk
IGJ5IHRoZSBwYWdlIGNhY2hlLgorCisgICAgICAgICogbG9hZGVyL1Jlc291cmNlVGltaW5nSW5m
b3JtYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmdJbmZvcm1hdGlv
bjo6YWRkUmVzb3VyY2VUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmdJ
bmZvcm1hdGlvbjo6cmVtb3ZlUmVzb3VyY2VUaW1pbmcpOgorCisgICAgICAgIEFkZCB3YXkgdG8g
cmVtb3ZlIGVudHJpZXMgZnJvbSB0aGUgbWFwLgorCisgICAgICAgICogbG9hZGVyL1Jlc291cmNl
VGltaW5nSW5mb3JtYXRpb24uaDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnJlbW92ZUNsaWVudCk6
CisKKyAgICAgICAgUmVtb3ZhbCBmcm9tIGNhY2hlIGlzIG5vdyBoYW5kbGVkIGluIGRlbGV0ZUlm
UG9zc2libGUoKSB0byBtYWtlIGl0IG1vcmUgdW5pdmVyc2FsLgorICAgICAgICBJdCBpcyBpbnZv
a2VkIGJ5IHJlbW92ZUNsaWVudCBzbyB0aGUgZXhpc3RpbmcgYmVoYXZpb3IgaXMgY292ZXJlZC4K
KworICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmRlbGV0ZUlmUG9zc2libGUpOgor
CisgICAgICAgIFJlbW92ZSBleHBpcmVkIHJlc291cmNlcyB3aXRob3V0IHZhbGlkYXRpb24gaGVh
ZGVycyBmcm9tIHRoZSBjYWNoZSBpZiB0aGUgcmVzb3VyY2UgaXMgb3RoZXJ3aXNlIGRlbGV0YWJs
ZS4KKyAgICAgICAgQWxzbyBlYWdlcmx5IHJlbW92ZSBuby1zdG9yZSBodHRwIHJlc291cmNlcyAo
cHJldmlvdXNseSBvbmx5IGh0dHBzIHdhcyByZW1vdmVkKS4KKworICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkUmVzb3VyY2U6OmRlbGV0ZVRoaXMpOgorCisgICAgICAgIEZhY3RvciBpbnRvIGEgZnVu
Y3Rpb24uCisKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaDoKKyAgICAg
ICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmdhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJj
ZXMpOgorCisgICAgICAgIERvbid0IHJlbW92ZSBlbnRyaWVzIHdpdGggYWN0aXZlIGxvYWRlci4g
VGhleSBhcmUgbmVlZGVkIGZvciByZXNvdXJjZSB0aW1pbmcuCisgICAgICAgIERvbid0IGxlYXZl
IHJlbW92ZWQgZW50cmllcyB0byBSZXNvdXJjZVRpbWluZ0luZm9ybWF0aW9uLiBUaGV5IGFyZSBu
b3QgZ3VhcmFudGVlZCB0byBzdGF5IGFsaXZlIGFmdGVyCisgICAgICAgIGJlaW5nIHJlbW92ZWQg
ZnJvbSBtX2RvY3VtZW50UmVzb3VyY2VzLgorCisgICAgICAgICogbG9hZGVyL2NhY2hlL01lbW9y
eUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUNhY2hlOjpyZW1vdmUpOgorCisg
ICAgICAgIENhbGwgQ2FjaGVkUmVzb3VyY2U6OmRlbGV0ZVRoaXMoKSBkaXJlY3RseS4KKwogMjAy
MS0wNS0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBs
b2NraW5nIGluIFBsYXRmb3JtQ0FMYXllcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24uY3BwCmluZGV4IGJkN2RkOGMwMTY3NS4uYTYxYzI0
ZDhiM2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VUaW1pbmdJ
bmZvcm1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5n
SW5mb3JtYXRpb24uY3BwCkBAIC04Niw2ICs4NiwxMSBAQCB2b2lkIFJlc291cmNlVGltaW5nSW5m
b3JtYXRpb246OmFkZFJlc291cmNlVGltaW5nKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgRG9j
dQogICAgIGluZm8uYWRkZWQgPSBBZGRlZDsKIH0KIAordm9pZCBSZXNvdXJjZVRpbWluZ0luZm9y
bWF0aW9uOjpyZW1vdmVSZXNvdXJjZVRpbWluZyhDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpCit7
CisgICAgbV9pbml0aWF0b3JNYXAucmVtb3ZlKCZyZXNvdXJjZSk7Cit9CisKIHZvaWQgUmVzb3Vy
Y2VUaW1pbmdJbmZvcm1hdGlvbjo6c3RvcmVSZXNvdXJjZVRpbWluZ0luaXRpYXRvckluZm9ybWF0
aW9uKGNvbnN0IENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiYgcmVzb3VyY2Us
IGNvbnN0IEF0b21TdHJpbmcmIGluaXRpYXRvck5hbWUsIEZyYW1lKiBmcmFtZSkKIHsKICAgICBB
U1NFUlQocmVzb3VyY2UuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZVRpbWluZ0luZm9ybWF0aW9uLmgKaW5kZXggNjgyNDQzMTMxM2I3Li45NTc0NzFiZGNiNGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRpbWluZ0luZm9ybWF0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nSW5mb3JtYXRp
b24uaApAQCAtNDEsNiArNDEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgc2hvdWxkQWRk
UmVzb3VyY2VUaW1pbmcoQ2FjaGVkUmVzb3VyY2UmKTsKIAogICAgIHZvaWQgYWRkUmVzb3VyY2VU
aW1pbmcoQ2FjaGVkUmVzb3VyY2UmLCBEb2N1bWVudCYsIFJlc291cmNlVGltaW5nJiYpOworICAg
IHZvaWQgcmVtb3ZlUmVzb3VyY2VUaW1pbmcoQ2FjaGVkUmVzb3VyY2UmKTsKICAgICB2b2lkIHN0
b3JlUmVzb3VyY2VUaW1pbmdJbml0aWF0b3JJbmZvcm1hdGlvbihjb25zdCBDYWNoZWRSZXNvdXJj
ZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4mLCBjb25zdCBBdG9tU3RyaW5nJiwgRnJhbWUqKTsKIAog
cHJpdmF0ZToKQEAgLTQ5LDYgKzUwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgQXRvbVN0cmluZyBu
YW1lOwogICAgICAgICBBbHJlYWR5QWRkZWQgYWRkZWQ7CiAgICAgfTsKKyAgICAvLyBGSVhNRTog
VGhpcyBzaG91ZG4ndCB1c2UgcmF3IHBvaW50ZXIgYXMgaWRlbnRpZmllciAodGhvdWdoIGl0IGlz
IG5vdCBkZXJlZmVyZW5jZWQpLgogICAgIEhhc2hNYXA8Q2FjaGVkUmVzb3VyY2UqLCBJbml0aWF0
b3JJbmZvPiBtX2luaXRpYXRvck1hcDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IGMwNjVmYzBkYjNhZi4uY2U0ZDMyYTJhMmNj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAK
QEAgLTU3MiwxMyArNTcyLDYgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6cmVtb3ZlQ2xpZW50KENh
Y2hlZFJlc291cmNlQ2xpZW50JiBjbGllbnQpCiAgICAgaWYgKCFhbGxvd3NDYWNoaW5nKCkpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGlmIChyZXNwb25zZSgpLmNhY2hlQ29udHJvbENvbnRhaW5z
Tm9TdG9yZSgpICYmIHVybCgpLnByb3RvY29sSXMoImh0dHBzIikpIHsKLSAgICAgICAgLy8gUkZD
MjYxNiAxNC45LjI6Ci0gICAgICAgIC8vICJuby1zdG9yZTogLi4uIE1VU1QgbWFrZSBhIGJlc3Qt
ZWZmb3J0IGF0dGVtcHQgdG8gcmVtb3ZlIHRoZSBpbmZvcm1hdGlvbiBmcm9tIHZvbGF0aWxlIHN0
b3JhZ2UgYXMgcHJvbXB0bHkgYXMgcG9zc2libGUiCi0gICAgICAgIC8vICIuLi4gSGlzdG9yeSBi
dWZmZXJzIE1BWSBzdG9yZSBzdWNoIHJlc3BvbnNlcyBhcyBwYXJ0IG9mIHRoZWlyIG5vcm1hbCBv
cGVyYXRpb24uIgotICAgICAgICAvLyBXZSBhbGxvdyBub24tc2VjdXJlIGNvbnRlbnQgdG8gYmUg
cmV1c2VkIGluIGhpc3RvcnksIGJ1dCB3ZSBkbyBub3QgYWxsb3cgc2VjdXJlIGNvbnRlbnQgdG8g
YmUgcmV1c2VkLgotICAgICAgICBtZW1vcnlDYWNoZS5yZW1vdmUoKnRoaXMpOwotICAgIH0KICAg
ICBtZW1vcnlDYWNoZS5wcnVuZVNvb24oKTsKIH0KIApAQCAtNjA0LDIxICs1OTcsNDkgQEAgdm9p
ZCBDYWNoZWRSZXNvdXJjZTo6ZGVjb2RlZERhdGFEZWxldGlvblRpbWVyRmlyZWQoKQogCiBib29s
IENhY2hlZFJlc291cmNlOjpkZWxldGVJZlBvc3NpYmxlKCkKIHsKLSAgICBpZiAoY2FuRGVsZXRl
KCkpIHsKLSAgICAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIkNhY2hlZFJlc291cmNlICVwIGRl
bGV0ZUlmUG9zc2libGUgLSBjYW4gZGVsZXRlLCBpbiBjYWNoZSAlZCIsIHRoaXMsIGluQ2FjaGUo
KSk7Ci0gICAgICAgIGlmICghaW5DYWNoZSgpKSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OndpbGxEZXN0cm95Q2FjaGVkUmVzb3VyY2UoKnRoaXMpOwotICAgICAgICAg
ICAgZGVsZXRlIHRoaXM7CisgICAgaWYgKCFjYW5EZWxldGUoKSkgeworICAgICAgICBMT0coUmVz
b3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVzb3VyY2UgJXAgZGVsZXRlSWZQb3NzaWJsZSAtIGNhbid0
IGRlbGV0ZSAoaGFzQ2xpZW50cyAlZCBsb2FkZXIgJXAgcHJlbG9hZENvdW50ICV1IGhhbmRsZUNv
dW50ICV1IHJlc291cmNlVG9SZXZhbGlkYXRlICVwIHByb3h5UmVzb3VyY2UgJXApIiwgdGhpcywg
aGFzQ2xpZW50cygpLCBtX2xvYWRlci5nZXQoKSwgbV9wcmVsb2FkQ291bnQsIG1faGFuZGxlQ291
bnQsIG1fcmVzb3VyY2VUb1JldmFsaWRhdGUsIG1fcHJveHlSZXNvdXJjZSk7CisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVz
b3VyY2UgJXAgZGVsZXRlSWZQb3NzaWJsZSAtIGNhbiBkZWxldGUsIGluIGNhY2hlICVkIiwgdGhp
cywgaW5DYWNoZSgpKTsKKworICAgIGlmICghaW5DYWNoZSgpKSB7CisgICAgICAgIGRlbGV0ZVRo
aXMoKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgYXV0byBzaG91bGRSZW1v
dmVGcm9tQ2FjaGUgPSBbJl0geworICAgICAgICAvLyBXZSBtYXkgc3RpbGwga2VlcHMgc29tZSBv
ZiB0aGVzZSBjYXNlcyBpbiBkaXNrIGNhY2hlIGZvciBoaXN0b3J5IG5hdmlnYXRpb24uCisgICAg
ICAgIGlmIChyZXNwb25zZSgpLmNhY2hlQ29udHJvbENvbnRhaW5zTm9TdG9yZSgpKQogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKG1fZGF0YSkKLSAgICAg
ICAgICAgIG1fZGF0YS0+aGludE1lbW9yeU5vdE5lZWRlZFNvb24oKTsKKyAgICAgICAgaWYgKGlz
RXhwaXJlZCgpICYmICFjYW5Vc2VDYWNoZVZhbGlkYXRvcigpKQorICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9KCk7CisKKyAgICBpZiAoc2hvdWxk
UmVtb3ZlRnJvbUNhY2hlKSB7CisgICAgICAgIC8vIERlbGV0ZXMgdGhpcy4KKyAgICAgICAgTWVt
b3J5Q2FjaGU6OnNpbmdsZXRvbigpLnJlbW92ZSgqdGhpcyk7CisgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KIAotICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJDYWNoZWRSZXNvdXJjZSAlcCBk
ZWxldGVJZlBvc3NpYmxlIC0gY2FuJ3QgZGVsZXRlIChoYXNDbGllbnRzICVkIGxvYWRlciAlcCBw
cmVsb2FkQ291bnQgJXUgaGFuZGxlQ291bnQgJXUgcmVzb3VyY2VUb1JldmFsaWRhdGUgJXAgcHJv
eHlSZXNvdXJjZSAlcCkiLCB0aGlzLCBoYXNDbGllbnRzKCksIG1fbG9hZGVyLmdldCgpLCBtX3By
ZWxvYWRDb3VudCwgbV9oYW5kbGVDb3VudCwgbV9yZXNvdXJjZVRvUmV2YWxpZGF0ZSwgbV9wcm94
eVJlc291cmNlKTsKKyAgICBpZiAobV9kYXRhKQorICAgICAgICBtX2RhdGEtPmhpbnRNZW1vcnlO
b3ROZWVkZWRTb29uKCk7CisKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK3ZvaWQgQ2FjaGVkUmVz
b3VyY2U6OmRlbGV0ZVRoaXMoKQoreworICAgIFJFTEVBU0VfQVNTRVJUKGNhbkRlbGV0ZSgpKTsK
KyAgICBSRUxFQVNFX0FTU0VSVCghaW5DYWNoZSgpKTsKKworICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6d2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJjZSgqdGhpcyk7CisKKyAgICBkZWxldGUg
dGhpczsKK30KKwogdm9pZCBDYWNoZWRSZXNvdXJjZTo6c2V0RGVjb2RlZFNpemUodW5zaWduZWQg
c2l6ZSkKIHsKICAgICBpZiAoc2l6ZSA9PSBtX2RlY29kZWRTaXplKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAppbmRleCA3MGNjOWFiODY4NzguLmJmMjVj
YWRkNDM0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
LmgKQEAgLTMxMCw2ICszMTAsOCBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogICAgIGNsYXNzIENh
bGxiYWNrOwogCisgICAgdm9pZCBkZWxldGVUaGlzKCk7CisKICAgICBib29sIGFkZENsaWVudFRv
U2V0KENhY2hlZFJlc291cmNlQ2xpZW50Jik7CiAKICAgICB2b2lkIGRlY29kZWREYXRhRGVsZXRp
b25UaW1lckZpcmVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCAyNmZmZGJmYmM5ZDEuLjE0Zjk2NTljMGEzZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuY3BwCkBAIC0xNDQ2LDggKzE0NDYsMTAgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6Z2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlcygpCiAgICAgZm9yIChhdXRvJiByZXNv
dXJjZSA6IG1fZG9jdW1lbnRSZXNvdXJjZXMpIHsKICAgICAgICAgTE9HKFJlc291cmNlTG9hZGlu
ZywgIiAgY2FjaGVkIHJlc291cmNlICVwIC0gaGFzT25lSGFuZGxlICVkIiwgcmVzb3VyY2UudmFs
dWUuZ2V0KCksIHJlc291cmNlLnZhbHVlLT5oYXNPbmVIYW5kbGUoKSk7CiAKLSAgICAgICAgaWYg
KHJlc291cmNlLnZhbHVlLT5oYXNPbmVIYW5kbGUoKSkKKyAgICAgICAgaWYgKHJlc291cmNlLnZh
bHVlLT5oYXNPbmVIYW5kbGUoKSAmJiAhcmVzb3VyY2UudmFsdWUtPmxvYWRlcigpKSB7CiAgICAg
ICAgICAgICByZXNvdXJjZXNUb0RlbGV0ZS5hcHBlbmQocmVzb3VyY2Uua2V5KTsKKyAgICAgICAg
ICAgIG1fcmVzb3VyY2VUaW1pbmdJbmZvLnJlbW92ZVJlc291cmNlVGltaW5nKCpyZXNvdXJjZS52
YWx1ZSk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBmb3IgKGF1dG8mIHJlc291cmNlIDogcmVz
b3VyY2VzVG9EZWxldGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
TWVtb3J5Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hl
LmNwcAppbmRleCA5NWI1MmFhM2FkMjkuLmM3YTcwY2U2MDc4YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCkBAIC00MTYsNyArNDE2LDggQEAgdm9pZCBN
ZW1vcnlDYWNoZTo6cmVtb3ZlKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSkKICAgICAgICAgfQog
ICAgIH0KIAotICAgIHJlc291cmNlLmRlbGV0ZUlmUG9zc2libGUoKTsKKyAgICBpZiAocmVzb3Vy
Y2UuY2FuRGVsZXRlKCkpCisgICAgICAgIHJlc291cmNlLmRlbGV0ZVRoaXMoKTsKIH0KIAogYXV0
byBNZW1vcnlDYWNoZTo6bHJ1TGlzdEZvcihDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpIC0+IExS
VUxpc3QmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429651</attachid>
            <date>2021-05-25 06:20:06 -0700</date>
            <delta_ts>2021-05-25 07:36:26 -0700</delta_ts>
            <desc>patch</desc>
            <filename>memory-cache-remove-expired-5.patch</filename>
            <type>text/plain</type>
            <size>9687</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0ZjFlNWFhMTEzYmYuLjJjOGY1MWFjMzE5OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDUwIEBACisyMDIxLTA1LTI0ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBEb24ndCBoYW5nIG9udG8gZXhwaXJlZCByZXNvdXJjZXMgd2l0aG91dCB2
YWxpZGF0aW9uIGhlYWRlcnMgaW4gbWVtb3J5IGNhY2hlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYwODMKKyAgICAgICAgcmRhcjovLzc4MDM1NjEy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhleSBj
b25zdW1lIG1lbW9yeSB3aGlsZSBvbmx5IHJlYWxseSBiZWluZyB1c2VmdWwgZm9yIGhpc3Rvcnkg
bmF2aWdhdGlvbi4KKyAgICAgICAgRGlzayBjYWNoZSBjYW4gaGFuZGxlIHRoZSByZWxhdGl2ZWx5
IHJhcmUgY2FzZXMgd2hlcmUgdGhhdCBpcyB1c2VmdWwgYW5kIG5vdAorICAgICAgICBjb3ZlcmVk
IGJ5IHRoZSBwYWdlIGNhY2hlLgorCisgICAgICAgICogbG9hZGVyL1Jlc291cmNlVGltaW5nSW5m
b3JtYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmdJbmZvcm1hdGlv
bjo6YWRkUmVzb3VyY2VUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmdJ
bmZvcm1hdGlvbjo6cmVtb3ZlUmVzb3VyY2VUaW1pbmcpOgorCisgICAgICAgIEFkZCB3YXkgdG8g
cmVtb3ZlIGVudHJpZXMgZnJvbSB0aGUgbWFwLgorCisgICAgICAgICogbG9hZGVyL1Jlc291cmNl
VGltaW5nSW5mb3JtYXRpb24uaDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnJlbW92ZUNsaWVudCk6
CisKKyAgICAgICAgUmVtb3ZhbCBmcm9tIGNhY2hlIGlzIG5vdyBoYW5kbGVkIGluIGRlbGV0ZUlm
UG9zc2libGUoKSB0byBtYWtlIGl0IG1vcmUgdW5pdmVyc2FsLgorICAgICAgICBJdCBpcyBpbnZv
a2VkIGJ5IHJlbW92ZUNsaWVudCBzbyB0aGUgZXhpc3RpbmcgYmVoYXZpb3IgaXMgY292ZXJlZC4K
KworICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmRlbGV0ZUlmUG9zc2libGUpOgor
CisgICAgICAgIFJlbW92ZSBleHBpcmVkIHJlc291cmNlcyB3aXRob3V0IHZhbGlkYXRpb24gaGVh
ZGVycyBmcm9tIHRoZSBjYWNoZSBpZiB0aGUgcmVzb3VyY2UgaXMgb3RoZXJ3aXNlIGRlbGV0YWJs
ZS4KKyAgICAgICAgQWxzbyBlYWdlcmx5IHJlbW92ZSBuby1zdG9yZSBodHRwIHJlc291cmNlcyAo
cHJldmlvdXNseSBvbmx5IGh0dHBzIHdhcyByZW1vdmVkKS4KKworICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkUmVzb3VyY2U6OmRlbGV0ZVRoaXMpOgorCisgICAgICAgIEZhY3RvciBpbnRvIGEgZnVu
Y3Rpb24uCisKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaDoKKyAgICAg
ICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmdhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJj
ZXMpOgorCisgICAgICAgIERvbid0IHJlbW92ZSBlbnRyaWVzIHdpdGggYWN0aXZlIGxvYWRlci4g
VGhleSBhcmUgbmVlZGVkIGZvciByZXNvdXJjZSB0aW1pbmcuCisgICAgICAgIERvbid0IGxlYXZl
IHJlbW92ZWQgZW50cmllcyB0byBSZXNvdXJjZVRpbWluZ0luZm9ybWF0aW9uLiBUaGV5IGFyZSBu
b3QgZ3VhcmFudGVlZCB0byBzdGF5IGFsaXZlIGFmdGVyCisgICAgICAgIGJlaW5nIHJlbW92ZWQg
ZnJvbSBtX2RvY3VtZW50UmVzb3VyY2VzLgorCisgICAgICAgICogbG9hZGVyL2NhY2hlL01lbW9y
eUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUNhY2hlOjpyZW1vdmUpOgorCisg
ICAgICAgIENhbGwgQ2FjaGVkUmVzb3VyY2U6OmRlbGV0ZVRoaXMoKSBkaXJlY3RseS4KKwogMjAy
MS0wNS0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBs
b2NraW5nIGluIFBsYXRmb3JtQ0FMYXllcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24uY3BwCmluZGV4IGJkN2RkOGMwMTY3NS4uMDQ0YTEw
OTY3NWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VUaW1pbmdJ
bmZvcm1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5n
SW5mb3JtYXRpb24uY3BwCkBAIC04MSwxNSArODEsMjcgQEAgdm9pZCBSZXNvdXJjZVRpbWluZ0lu
Zm9ybWF0aW9uOjphZGRSZXNvdXJjZVRpbWluZyhDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIERv
Y3UKIAogICAgIHJlc291cmNlVGltaW5nLm92ZXJyaWRlSW5pdGlhdG9yTmFtZShpbmZvLm5hbWUp
OwogCisgICAgV1RGTG9nQWx3YXlzKCJhZGRSZXNvdXJjZVRpbWluZyAlcCAlcyIsICZyZXNvdXJj
ZSwgcmVzb3VyY2UudXJsKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CisKICAgICBpbml0aWF0
b3JXaW5kb3ctPnBlcmZvcm1hbmNlKCkuYWRkUmVzb3VyY2VUaW1pbmcoV1RGTW92ZShyZXNvdXJj
ZVRpbWluZykpOwogCiAgICAgaW5mby5hZGRlZCA9IEFkZGVkOwogfQogCit2b2lkIFJlc291cmNl
VGltaW5nSW5mb3JtYXRpb246OnJlbW92ZVJlc291cmNlVGltaW5nKENhY2hlZFJlc291cmNlJiBy
ZXNvdXJjZSkKK3sKKyAgICBXVEZMb2dBbHdheXMoInJlbW92ZVJlc291cmNlVGltaW5nICVwICVz
IiwgJnJlc291cmNlLCByZXNvdXJjZS51cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKKyAg
ICBXVEZSZXBvcnRCYWNrdHJhY2UoKTsKKworICAgIG1faW5pdGlhdG9yTWFwLnJlbW92ZSgmcmVz
b3VyY2UpOworfQorCiB2b2lkIFJlc291cmNlVGltaW5nSW5mb3JtYXRpb246OnN0b3JlUmVzb3Vy
Y2VUaW1pbmdJbml0aWF0b3JJbmZvcm1hdGlvbihjb25zdCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxD
YWNoZWRSZXNvdXJjZT4mIHJlc291cmNlLCBjb25zdCBBdG9tU3RyaW5nJiBpbml0aWF0b3JOYW1l
LCBGcmFtZSogZnJhbWUpCiB7CiAgICAgQVNTRVJUKHJlc291cmNlLmdldCgpKTsKIAorICAgIFdU
RkxvZ0Fsd2F5cygic3RvcmVSZXNvdXJjZVRpbWluZ0luaXRpYXRvckluZm9ybWF0aW9uICVwICVz
IiwgcmVzb3VyY2UuZ2V0KCksIHJlc291cmNlLT51cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgp
KTsKKwogICAgIGlmIChyZXNvdXJjZS0+dHlwZSgpID09IENhY2hlZFJlc291cmNlOjpUeXBlOjpN
YWluUmVzb3VyY2UpIHsKICAgICAgICAgLy8gPGlmcmFtZT5zIHNob3VsZCByZXBvcnQgdGhlIGlu
aXRpYWwgbmF2aWdhdGlvbiByZXF1ZXN0ZWQgYnkgdGhlIHBhcmVudCBkb2N1bWVudCwgYnV0IG5v
dCBzdWJzZXF1ZW50IG5hdmlnYXRpb25zLgogICAgICAgICBBU1NFUlQoZnJhbWUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRpbWluZ0luZm9ybWF0aW9uLmgKaW5kZXgg
NjgyNDQzMTMxM2I3Li45NTc0NzFiZGNiNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZVRpbWluZ0luZm9ybWF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24uaApAQCAtNDEsNiArNDEsNyBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIGJvb2wgc2hvdWxkQWRkUmVzb3VyY2VUaW1pbmcoQ2FjaGVkUmVzb3VyY2Um
KTsKIAogICAgIHZvaWQgYWRkUmVzb3VyY2VUaW1pbmcoQ2FjaGVkUmVzb3VyY2UmLCBEb2N1bWVu
dCYsIFJlc291cmNlVGltaW5nJiYpOworICAgIHZvaWQgcmVtb3ZlUmVzb3VyY2VUaW1pbmcoQ2Fj
aGVkUmVzb3VyY2UmKTsKICAgICB2b2lkIHN0b3JlUmVzb3VyY2VUaW1pbmdJbml0aWF0b3JJbmZv
cm1hdGlvbihjb25zdCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4mLCBjb25z
dCBBdG9tU3RyaW5nJiwgRnJhbWUqKTsKIAogcHJpdmF0ZToKQEAgLTQ5LDYgKzUwLDcgQEAgcHJp
dmF0ZToKICAgICAgICAgQXRvbVN0cmluZyBuYW1lOwogICAgICAgICBBbHJlYWR5QWRkZWQgYWRk
ZWQ7CiAgICAgfTsKKyAgICAvLyBGSVhNRTogVGhpcyBzaG91ZG4ndCB1c2UgcmF3IHBvaW50ZXIg
YXMgaWRlbnRpZmllciAodGhvdWdoIGl0IGlzIG5vdCBkZXJlZmVyZW5jZWQpLgogICAgIEhhc2hN
YXA8Q2FjaGVkUmVzb3VyY2UqLCBJbml0aWF0b3JJbmZvPiBtX2luaXRpYXRvck1hcDsKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4
IGMwNjVmYzBkYjNhZi4uY2U0ZDMyYTJhMmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTU3MiwxMyArNTcyLDYgQEAgdm9pZCBDYWNo
ZWRSZXNvdXJjZTo6cmVtb3ZlQ2xpZW50KENhY2hlZFJlc291cmNlQ2xpZW50JiBjbGllbnQpCiAg
ICAgaWYgKCFhbGxvd3NDYWNoaW5nKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChyZXNw
b25zZSgpLmNhY2hlQ29udHJvbENvbnRhaW5zTm9TdG9yZSgpICYmIHVybCgpLnByb3RvY29sSXMo
Imh0dHBzIikpIHsKLSAgICAgICAgLy8gUkZDMjYxNiAxNC45LjI6Ci0gICAgICAgIC8vICJuby1z
dG9yZTogLi4uIE1VU1QgbWFrZSBhIGJlc3QtZWZmb3J0IGF0dGVtcHQgdG8gcmVtb3ZlIHRoZSBp
bmZvcm1hdGlvbiBmcm9tIHZvbGF0aWxlIHN0b3JhZ2UgYXMgcHJvbXB0bHkgYXMgcG9zc2libGUi
Ci0gICAgICAgIC8vICIuLi4gSGlzdG9yeSBidWZmZXJzIE1BWSBzdG9yZSBzdWNoIHJlc3BvbnNl
cyBhcyBwYXJ0IG9mIHRoZWlyIG5vcm1hbCBvcGVyYXRpb24uIgotICAgICAgICAvLyBXZSBhbGxv
dyBub24tc2VjdXJlIGNvbnRlbnQgdG8gYmUgcmV1c2VkIGluIGhpc3RvcnksIGJ1dCB3ZSBkbyBu
b3QgYWxsb3cgc2VjdXJlIGNvbnRlbnQgdG8gYmUgcmV1c2VkLgotICAgICAgICBtZW1vcnlDYWNo
ZS5yZW1vdmUoKnRoaXMpOwotICAgIH0KICAgICBtZW1vcnlDYWNoZS5wcnVuZVNvb24oKTsKIH0K
IApAQCAtNjA0LDIxICs1OTcsNDkgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6ZGVjb2RlZERhdGFE
ZWxldGlvblRpbWVyRmlyZWQoKQogCiBib29sIENhY2hlZFJlc291cmNlOjpkZWxldGVJZlBvc3Np
YmxlKCkKIHsKLSAgICBpZiAoY2FuRGVsZXRlKCkpIHsKLSAgICAgICAgTE9HKFJlc291cmNlTG9h
ZGluZywgIkNhY2hlZFJlc291cmNlICVwIGRlbGV0ZUlmUG9zc2libGUgLSBjYW4gZGVsZXRlLCBp
biBjYWNoZSAlZCIsIHRoaXMsIGluQ2FjaGUoKSk7Ci0gICAgICAgIGlmICghaW5DYWNoZSgpKSB7
Ci0gICAgICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxEZXN0cm95Q2FjaGVk
UmVzb3VyY2UoKnRoaXMpOwotICAgICAgICAgICAgZGVsZXRlIHRoaXM7CisgICAgaWYgKCFjYW5E
ZWxldGUoKSkgeworICAgICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVzb3VyY2Ug
JXAgZGVsZXRlSWZQb3NzaWJsZSAtIGNhbid0IGRlbGV0ZSAoaGFzQ2xpZW50cyAlZCBsb2FkZXIg
JXAgcHJlbG9hZENvdW50ICV1IGhhbmRsZUNvdW50ICV1IHJlc291cmNlVG9SZXZhbGlkYXRlICVw
IHByb3h5UmVzb3VyY2UgJXApIiwgdGhpcywgaGFzQ2xpZW50cygpLCBtX2xvYWRlci5nZXQoKSwg
bV9wcmVsb2FkQ291bnQsIG1faGFuZGxlQ291bnQsIG1fcmVzb3VyY2VUb1JldmFsaWRhdGUsIG1f
cHJveHlSZXNvdXJjZSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBMT0co
UmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVzb3VyY2UgJXAgZGVsZXRlSWZQb3NzaWJsZSAtIGNh
biBkZWxldGUsIGluIGNhY2hlICVkIiwgdGhpcywgaW5DYWNoZSgpKTsKKworICAgIGlmICghaW5D
YWNoZSgpKSB7CisgICAgICAgIGRlbGV0ZVRoaXMoKTsKKyAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgfQorCisgICAgYXV0byBzaG91bGRSZW1vdmVGcm9tQ2FjaGUgPSBbJl0geworICAgICAgICAv
LyBXZSBtYXkgc3RpbGwga2VlcHMgc29tZSBvZiB0aGVzZSBjYXNlcyBpbiBkaXNrIGNhY2hlIGZv
ciBoaXN0b3J5IG5hdmlnYXRpb24uCisgICAgICAgIGlmIChyZXNwb25zZSgpLmNhY2hlQ29udHJv
bENvbnRhaW5zTm9TdG9yZSgpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIH0K
LSAgICAgICAgaWYgKG1fZGF0YSkKLSAgICAgICAgICAgIG1fZGF0YS0+aGludE1lbW9yeU5vdE5l
ZWRlZFNvb24oKTsKKyAgICAgICAgaWYgKGlzRXhwaXJlZCgpICYmICFjYW5Vc2VDYWNoZVZhbGlk
YXRvcigpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9KCk7CisKKyAgICBpZiAoc2hvdWxkUmVtb3ZlRnJvbUNhY2hlKSB7CisgICAgICAgIC8v
IERlbGV0ZXMgdGhpcy4KKyAgICAgICAgTWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLnJlbW92ZSgq
dGhpcyk7CisgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIExPRyhSZXNvdXJjZUxv
YWRpbmcsICJDYWNoZWRSZXNvdXJjZSAlcCBkZWxldGVJZlBvc3NpYmxlIC0gY2FuJ3QgZGVsZXRl
IChoYXNDbGllbnRzICVkIGxvYWRlciAlcCBwcmVsb2FkQ291bnQgJXUgaGFuZGxlQ291bnQgJXUg
cmVzb3VyY2VUb1JldmFsaWRhdGUgJXAgcHJveHlSZXNvdXJjZSAlcCkiLCB0aGlzLCBoYXNDbGll
bnRzKCksIG1fbG9hZGVyLmdldCgpLCBtX3ByZWxvYWRDb3VudCwgbV9oYW5kbGVDb3VudCwgbV9y
ZXNvdXJjZVRvUmV2YWxpZGF0ZSwgbV9wcm94eVJlc291cmNlKTsKKyAgICBpZiAobV9kYXRhKQor
ICAgICAgICBtX2RhdGEtPmhpbnRNZW1vcnlOb3ROZWVkZWRTb29uKCk7CisKICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKK3ZvaWQgQ2FjaGVkUmVzb3VyY2U6OmRlbGV0ZVRoaXMoKQoreworICAgIFJF
TEVBU0VfQVNTRVJUKGNhbkRlbGV0ZSgpKTsKKyAgICBSRUxFQVNFX0FTU0VSVCghaW5DYWNoZSgp
KTsKKworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbERlc3Ryb3lDYWNoZWRSZXNv
dXJjZSgqdGhpcyk7CisKKyAgICBkZWxldGUgdGhpczsKK30KKwogdm9pZCBDYWNoZWRSZXNvdXJj
ZTo6c2V0RGVjb2RlZFNpemUodW5zaWduZWQgc2l6ZSkKIHsKICAgICBpZiAoc2l6ZSA9PSBtX2Rl
Y29kZWRTaXplKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2Uu
aAppbmRleCA3MGNjOWFiODY4NzguLmJmMjVjYWRkNDM0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKQEAgLTMxMCw2ICszMTAsOCBAQCBwcm90ZWN0
ZWQ6CiBwcml2YXRlOgogICAgIGNsYXNzIENhbGxiYWNrOwogCisgICAgdm9pZCBkZWxldGVUaGlz
KCk7CisKICAgICBib29sIGFkZENsaWVudFRvU2V0KENhY2hlZFJlc291cmNlQ2xpZW50Jik7CiAK
ICAgICB2b2lkIGRlY29kZWREYXRhRGVsZXRpb25UaW1lckZpcmVkKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCAy
NmZmZGJmYmM5ZDEuLmFjZDdiMjE5N2JiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xNDQzLDExICsxNDQzLDE0
IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmdhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNv
dXJjZXMoKQogICAgIHR5cGVkZWYgVmVjdG9yPFN0cmluZywgMTA+IFN0cmluZ1ZlY3RvcjsKICAg
ICBTdHJpbmdWZWN0b3IgcmVzb3VyY2VzVG9EZWxldGU7CiAKLSAgICBmb3IgKGF1dG8mIHJlc291
cmNlIDogbV9kb2N1bWVudFJlc291cmNlcykgewotICAgICAgICBMT0coUmVzb3VyY2VMb2FkaW5n
LCAiICBjYWNoZWQgcmVzb3VyY2UgJXAgLSBoYXNPbmVIYW5kbGUgJWQiLCByZXNvdXJjZS52YWx1
ZS5nZXQoKSwgcmVzb3VyY2UudmFsdWUtPmhhc09uZUhhbmRsZSgpKTsKKyAgICBmb3IgKGF1dG8m
IHJlc291cmNlRW50cnkgOiBtX2RvY3VtZW50UmVzb3VyY2VzKSB7CisgICAgICAgIGF1dG8mIHJl
c291cmNlID0gKnJlc291cmNlRW50cnkudmFsdWU7CisgICAgICAgIExPRyhSZXNvdXJjZUxvYWRp
bmcsICIgIGNhY2hlZCByZXNvdXJjZSAlcCAtIGhhc09uZUhhbmRsZSAlZCIsICZyZXNvdXJjZSwg
cmVzb3VyY2UuaGFzT25lSGFuZGxlKCkpOwogCi0gICAgICAgIGlmIChyZXNvdXJjZS52YWx1ZS0+
aGFzT25lSGFuZGxlKCkpCi0gICAgICAgICAgICByZXNvdXJjZXNUb0RlbGV0ZS5hcHBlbmQocmVz
b3VyY2Uua2V5KTsKKyAgICAgICAgaWYgKHJlc291cmNlLmhhc09uZUhhbmRsZSgpICYmICFyZXNv
dXJjZS5sb2FkZXIoKSAmJiAhcmVzb3VyY2UuaXNQcmVsb2FkZWQoKSkgeworICAgICAgICAgICAg
cmVzb3VyY2VzVG9EZWxldGUuYXBwZW5kKHJlc291cmNlRW50cnkua2V5KTsKKyAgICAgICAgICAg
IG1fcmVzb3VyY2VUaW1pbmdJbmZvLnJlbW92ZVJlc291cmNlVGltaW5nKHJlc291cmNlKTsKKyAg
ICAgICAgfQogICAgIH0KIAogICAgIGZvciAoYXV0byYgcmVzb3VyY2UgOiByZXNvdXJjZXNUb0Rl
bGV0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNo
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCmluZGV4
IDk1YjUyYWEzYWQyOS4uYzdhNzBjZTYwNzhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAgLTQxNiw3ICs0MTYsOCBAQCB2b2lkIE1lbW9yeUNhY2hl
OjpyZW1vdmUoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlKQogICAgICAgICB9CiAgICAgfQogCi0g
ICAgcmVzb3VyY2UuZGVsZXRlSWZQb3NzaWJsZSgpOworICAgIGlmIChyZXNvdXJjZS5jYW5EZWxl
dGUoKSkKKyAgICAgICAgcmVzb3VyY2UuZGVsZXRlVGhpcygpOwogfQogCiBhdXRvIE1lbW9yeUNh
Y2hlOjpscnVMaXN0Rm9yKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSkgLT4gTFJVTGlzdCYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429653</attachid>
            <date>2021-05-25 07:36:26 -0700</date>
            <delta_ts>2021-05-26 01:51:26 -0700</delta_ts>
            <desc>patch</desc>
            <filename>memory-cache-remove-expired-6.patch</filename>
            <type>text/plain</type>
            <size>8976</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0ZjFlNWFhMTEzYmYuLjJjOGY1MWFjMzE5OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDUwIEBACisyMDIxLTA1LTI0ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBEb24ndCBoYW5nIG9udG8gZXhwaXJlZCByZXNvdXJjZXMgd2l0aG91dCB2
YWxpZGF0aW9uIGhlYWRlcnMgaW4gbWVtb3J5IGNhY2hlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYwODMKKyAgICAgICAgcmRhcjovLzc4MDM1NjEy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhleSBj
b25zdW1lIG1lbW9yeSB3aGlsZSBvbmx5IHJlYWxseSBiZWluZyB1c2VmdWwgZm9yIGhpc3Rvcnkg
bmF2aWdhdGlvbi4KKyAgICAgICAgRGlzayBjYWNoZSBjYW4gaGFuZGxlIHRoZSByZWxhdGl2ZWx5
IHJhcmUgY2FzZXMgd2hlcmUgdGhhdCBpcyB1c2VmdWwgYW5kIG5vdAorICAgICAgICBjb3ZlcmVk
IGJ5IHRoZSBwYWdlIGNhY2hlLgorCisgICAgICAgICogbG9hZGVyL1Jlc291cmNlVGltaW5nSW5m
b3JtYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmdJbmZvcm1hdGlv
bjo6YWRkUmVzb3VyY2VUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmdJ
bmZvcm1hdGlvbjo6cmVtb3ZlUmVzb3VyY2VUaW1pbmcpOgorCisgICAgICAgIEFkZCB3YXkgdG8g
cmVtb3ZlIGVudHJpZXMgZnJvbSB0aGUgbWFwLgorCisgICAgICAgICogbG9hZGVyL1Jlc291cmNl
VGltaW5nSW5mb3JtYXRpb24uaDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnJlbW92ZUNsaWVudCk6
CisKKyAgICAgICAgUmVtb3ZhbCBmcm9tIGNhY2hlIGlzIG5vdyBoYW5kbGVkIGluIGRlbGV0ZUlm
UG9zc2libGUoKSB0byBtYWtlIGl0IG1vcmUgdW5pdmVyc2FsLgorICAgICAgICBJdCBpcyBpbnZv
a2VkIGJ5IHJlbW92ZUNsaWVudCBzbyB0aGUgZXhpc3RpbmcgYmVoYXZpb3IgaXMgY292ZXJlZC4K
KworICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmRlbGV0ZUlmUG9zc2libGUpOgor
CisgICAgICAgIFJlbW92ZSBleHBpcmVkIHJlc291cmNlcyB3aXRob3V0IHZhbGlkYXRpb24gaGVh
ZGVycyBmcm9tIHRoZSBjYWNoZSBpZiB0aGUgcmVzb3VyY2UgaXMgb3RoZXJ3aXNlIGRlbGV0YWJs
ZS4KKyAgICAgICAgQWxzbyBlYWdlcmx5IHJlbW92ZSBuby1zdG9yZSBodHRwIHJlc291cmNlcyAo
cHJldmlvdXNseSBvbmx5IGh0dHBzIHdhcyByZW1vdmVkKS4KKworICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkUmVzb3VyY2U6OmRlbGV0ZVRoaXMpOgorCisgICAgICAgIEZhY3RvciBpbnRvIGEgZnVu
Y3Rpb24uCisKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaDoKKyAgICAg
ICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmdhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJj
ZXMpOgorCisgICAgICAgIERvbid0IHJlbW92ZSBlbnRyaWVzIHdpdGggYWN0aXZlIGxvYWRlci4g
VGhleSBhcmUgbmVlZGVkIGZvciByZXNvdXJjZSB0aW1pbmcuCisgICAgICAgIERvbid0IGxlYXZl
IHJlbW92ZWQgZW50cmllcyB0byBSZXNvdXJjZVRpbWluZ0luZm9ybWF0aW9uLiBUaGV5IGFyZSBu
b3QgZ3VhcmFudGVlZCB0byBzdGF5IGFsaXZlIGFmdGVyCisgICAgICAgIGJlaW5nIHJlbW92ZWQg
ZnJvbSBtX2RvY3VtZW50UmVzb3VyY2VzLgorCisgICAgICAgICogbG9hZGVyL2NhY2hlL01lbW9y
eUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUNhY2hlOjpyZW1vdmUpOgorCisg
ICAgICAgIENhbGwgQ2FjaGVkUmVzb3VyY2U6OmRlbGV0ZVRoaXMoKSBkaXJlY3RseS4KKwogMjAy
MS0wNS0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBs
b2NraW5nIGluIFBsYXRmb3JtQ0FMYXllcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24uY3BwCmluZGV4IGJkN2RkOGMwMTY3NS4uYTYxYzI0
ZDhiM2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VUaW1pbmdJ
bmZvcm1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5n
SW5mb3JtYXRpb24uY3BwCkBAIC04Niw2ICs4NiwxMSBAQCB2b2lkIFJlc291cmNlVGltaW5nSW5m
b3JtYXRpb246OmFkZFJlc291cmNlVGltaW5nKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgRG9j
dQogICAgIGluZm8uYWRkZWQgPSBBZGRlZDsKIH0KIAordm9pZCBSZXNvdXJjZVRpbWluZ0luZm9y
bWF0aW9uOjpyZW1vdmVSZXNvdXJjZVRpbWluZyhDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpCit7
CisgICAgbV9pbml0aWF0b3JNYXAucmVtb3ZlKCZyZXNvdXJjZSk7Cit9CisKIHZvaWQgUmVzb3Vy
Y2VUaW1pbmdJbmZvcm1hdGlvbjo6c3RvcmVSZXNvdXJjZVRpbWluZ0luaXRpYXRvckluZm9ybWF0
aW9uKGNvbnN0IENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiYgcmVzb3VyY2Us
IGNvbnN0IEF0b21TdHJpbmcmIGluaXRpYXRvck5hbWUsIEZyYW1lKiBmcmFtZSkKIHsKICAgICBB
U1NFUlQocmVzb3VyY2UuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZVRpbWluZ0luZm9ybWF0aW9uLmgKaW5kZXggNjgyNDQzMTMxM2I3Li45NTc0NzFiZGNiNGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRpbWluZ0luZm9ybWF0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nSW5mb3JtYXRp
b24uaApAQCAtNDEsNiArNDEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgc2hvdWxkQWRk
UmVzb3VyY2VUaW1pbmcoQ2FjaGVkUmVzb3VyY2UmKTsKIAogICAgIHZvaWQgYWRkUmVzb3VyY2VU
aW1pbmcoQ2FjaGVkUmVzb3VyY2UmLCBEb2N1bWVudCYsIFJlc291cmNlVGltaW5nJiYpOworICAg
IHZvaWQgcmVtb3ZlUmVzb3VyY2VUaW1pbmcoQ2FjaGVkUmVzb3VyY2UmKTsKICAgICB2b2lkIHN0
b3JlUmVzb3VyY2VUaW1pbmdJbml0aWF0b3JJbmZvcm1hdGlvbihjb25zdCBDYWNoZWRSZXNvdXJj
ZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4mLCBjb25zdCBBdG9tU3RyaW5nJiwgRnJhbWUqKTsKIAog
cHJpdmF0ZToKQEAgLTQ5LDYgKzUwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgQXRvbVN0cmluZyBu
YW1lOwogICAgICAgICBBbHJlYWR5QWRkZWQgYWRkZWQ7CiAgICAgfTsKKyAgICAvLyBGSVhNRTog
VGhpcyBzaG91ZG4ndCB1c2UgcmF3IHBvaW50ZXIgYXMgaWRlbnRpZmllciAodGhvdWdoIGl0IGlz
IG5vdCBkZXJlZmVyZW5jZWQpLgogICAgIEhhc2hNYXA8Q2FjaGVkUmVzb3VyY2UqLCBJbml0aWF0
b3JJbmZvPiBtX2luaXRpYXRvck1hcDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IGMwNjVmYzBkYjNhZi4uY2U0ZDMyYTJhMmNj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAK
QEAgLTU3MiwxMyArNTcyLDYgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6cmVtb3ZlQ2xpZW50KENh
Y2hlZFJlc291cmNlQ2xpZW50JiBjbGllbnQpCiAgICAgaWYgKCFhbGxvd3NDYWNoaW5nKCkpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGlmIChyZXNwb25zZSgpLmNhY2hlQ29udHJvbENvbnRhaW5z
Tm9TdG9yZSgpICYmIHVybCgpLnByb3RvY29sSXMoImh0dHBzIikpIHsKLSAgICAgICAgLy8gUkZD
MjYxNiAxNC45LjI6Ci0gICAgICAgIC8vICJuby1zdG9yZTogLi4uIE1VU1QgbWFrZSBhIGJlc3Qt
ZWZmb3J0IGF0dGVtcHQgdG8gcmVtb3ZlIHRoZSBpbmZvcm1hdGlvbiBmcm9tIHZvbGF0aWxlIHN0
b3JhZ2UgYXMgcHJvbXB0bHkgYXMgcG9zc2libGUiCi0gICAgICAgIC8vICIuLi4gSGlzdG9yeSBi
dWZmZXJzIE1BWSBzdG9yZSBzdWNoIHJlc3BvbnNlcyBhcyBwYXJ0IG9mIHRoZWlyIG5vcm1hbCBv
cGVyYXRpb24uIgotICAgICAgICAvLyBXZSBhbGxvdyBub24tc2VjdXJlIGNvbnRlbnQgdG8gYmUg
cmV1c2VkIGluIGhpc3RvcnksIGJ1dCB3ZSBkbyBub3QgYWxsb3cgc2VjdXJlIGNvbnRlbnQgdG8g
YmUgcmV1c2VkLgotICAgICAgICBtZW1vcnlDYWNoZS5yZW1vdmUoKnRoaXMpOwotICAgIH0KICAg
ICBtZW1vcnlDYWNoZS5wcnVuZVNvb24oKTsKIH0KIApAQCAtNjA0LDIxICs1OTcsNDkgQEAgdm9p
ZCBDYWNoZWRSZXNvdXJjZTo6ZGVjb2RlZERhdGFEZWxldGlvblRpbWVyRmlyZWQoKQogCiBib29s
IENhY2hlZFJlc291cmNlOjpkZWxldGVJZlBvc3NpYmxlKCkKIHsKLSAgICBpZiAoY2FuRGVsZXRl
KCkpIHsKLSAgICAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIkNhY2hlZFJlc291cmNlICVwIGRl
bGV0ZUlmUG9zc2libGUgLSBjYW4gZGVsZXRlLCBpbiBjYWNoZSAlZCIsIHRoaXMsIGluQ2FjaGUo
KSk7Ci0gICAgICAgIGlmICghaW5DYWNoZSgpKSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OndpbGxEZXN0cm95Q2FjaGVkUmVzb3VyY2UoKnRoaXMpOwotICAgICAgICAg
ICAgZGVsZXRlIHRoaXM7CisgICAgaWYgKCFjYW5EZWxldGUoKSkgeworICAgICAgICBMT0coUmVz
b3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVzb3VyY2UgJXAgZGVsZXRlSWZQb3NzaWJsZSAtIGNhbid0
IGRlbGV0ZSAoaGFzQ2xpZW50cyAlZCBsb2FkZXIgJXAgcHJlbG9hZENvdW50ICV1IGhhbmRsZUNv
dW50ICV1IHJlc291cmNlVG9SZXZhbGlkYXRlICVwIHByb3h5UmVzb3VyY2UgJXApIiwgdGhpcywg
aGFzQ2xpZW50cygpLCBtX2xvYWRlci5nZXQoKSwgbV9wcmVsb2FkQ291bnQsIG1faGFuZGxlQ291
bnQsIG1fcmVzb3VyY2VUb1JldmFsaWRhdGUsIG1fcHJveHlSZXNvdXJjZSk7CisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVz
b3VyY2UgJXAgZGVsZXRlSWZQb3NzaWJsZSAtIGNhbiBkZWxldGUsIGluIGNhY2hlICVkIiwgdGhp
cywgaW5DYWNoZSgpKTsKKworICAgIGlmICghaW5DYWNoZSgpKSB7CisgICAgICAgIGRlbGV0ZVRo
aXMoKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgYXV0byBzaG91bGRSZW1v
dmVGcm9tQ2FjaGUgPSBbJl0geworICAgICAgICAvLyBXZSBtYXkgc3RpbGwga2VlcHMgc29tZSBv
ZiB0aGVzZSBjYXNlcyBpbiBkaXNrIGNhY2hlIGZvciBoaXN0b3J5IG5hdmlnYXRpb24uCisgICAg
ICAgIGlmIChyZXNwb25zZSgpLmNhY2hlQ29udHJvbENvbnRhaW5zTm9TdG9yZSgpKQogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKG1fZGF0YSkKLSAgICAg
ICAgICAgIG1fZGF0YS0+aGludE1lbW9yeU5vdE5lZWRlZFNvb24oKTsKKyAgICAgICAgaWYgKGlz
RXhwaXJlZCgpICYmICFjYW5Vc2VDYWNoZVZhbGlkYXRvcigpKQorICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9KCk7CisKKyAgICBpZiAoc2hvdWxk
UmVtb3ZlRnJvbUNhY2hlKSB7CisgICAgICAgIC8vIERlbGV0ZXMgdGhpcy4KKyAgICAgICAgTWVt
b3J5Q2FjaGU6OnNpbmdsZXRvbigpLnJlbW92ZSgqdGhpcyk7CisgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KIAotICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJDYWNoZWRSZXNvdXJjZSAlcCBk
ZWxldGVJZlBvc3NpYmxlIC0gY2FuJ3QgZGVsZXRlIChoYXNDbGllbnRzICVkIGxvYWRlciAlcCBw
cmVsb2FkQ291bnQgJXUgaGFuZGxlQ291bnQgJXUgcmVzb3VyY2VUb1JldmFsaWRhdGUgJXAgcHJv
eHlSZXNvdXJjZSAlcCkiLCB0aGlzLCBoYXNDbGllbnRzKCksIG1fbG9hZGVyLmdldCgpLCBtX3By
ZWxvYWRDb3VudCwgbV9oYW5kbGVDb3VudCwgbV9yZXNvdXJjZVRvUmV2YWxpZGF0ZSwgbV9wcm94
eVJlc291cmNlKTsKKyAgICBpZiAobV9kYXRhKQorICAgICAgICBtX2RhdGEtPmhpbnRNZW1vcnlO
b3ROZWVkZWRTb29uKCk7CisKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK3ZvaWQgQ2FjaGVkUmVz
b3VyY2U6OmRlbGV0ZVRoaXMoKQoreworICAgIFJFTEVBU0VfQVNTRVJUKGNhbkRlbGV0ZSgpKTsK
KyAgICBSRUxFQVNFX0FTU0VSVCghaW5DYWNoZSgpKTsKKworICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6d2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJjZSgqdGhpcyk7CisKKyAgICBkZWxldGUg
dGhpczsKK30KKwogdm9pZCBDYWNoZWRSZXNvdXJjZTo6c2V0RGVjb2RlZFNpemUodW5zaWduZWQg
c2l6ZSkKIHsKICAgICBpZiAoc2l6ZSA9PSBtX2RlY29kZWRTaXplKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAppbmRleCA3MGNjOWFiODY4NzguLmJmMjVj
YWRkNDM0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
LmgKQEAgLTMxMCw2ICszMTAsOCBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogICAgIGNsYXNzIENh
bGxiYWNrOwogCisgICAgdm9pZCBkZWxldGVUaGlzKCk7CisKICAgICBib29sIGFkZENsaWVudFRv
U2V0KENhY2hlZFJlc291cmNlQ2xpZW50Jik7CiAKICAgICB2b2lkIGRlY29kZWREYXRhRGVsZXRp
b25UaW1lckZpcmVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCAyNmZmZGJmYmM5ZDEuLmFjZDdiMjE5N2JiMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuY3BwCkBAIC0xNDQzLDExICsxNDQzLDE0IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OmdhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXMoKQogICAgIHR5cGVkZWYgVmVjdG9y
PFN0cmluZywgMTA+IFN0cmluZ1ZlY3RvcjsKICAgICBTdHJpbmdWZWN0b3IgcmVzb3VyY2VzVG9E
ZWxldGU7CiAKLSAgICBmb3IgKGF1dG8mIHJlc291cmNlIDogbV9kb2N1bWVudFJlc291cmNlcykg
ewotICAgICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiICBjYWNoZWQgcmVzb3VyY2UgJXAgLSBo
YXNPbmVIYW5kbGUgJWQiLCByZXNvdXJjZS52YWx1ZS5nZXQoKSwgcmVzb3VyY2UudmFsdWUtPmhh
c09uZUhhbmRsZSgpKTsKKyAgICBmb3IgKGF1dG8mIHJlc291cmNlRW50cnkgOiBtX2RvY3VtZW50
UmVzb3VyY2VzKSB7CisgICAgICAgIGF1dG8mIHJlc291cmNlID0gKnJlc291cmNlRW50cnkudmFs
dWU7CisgICAgICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICIgIGNhY2hlZCByZXNvdXJjZSAlcCAt
IGhhc09uZUhhbmRsZSAlZCIsICZyZXNvdXJjZSwgcmVzb3VyY2UuaGFzT25lSGFuZGxlKCkpOwog
Ci0gICAgICAgIGlmIChyZXNvdXJjZS52YWx1ZS0+aGFzT25lSGFuZGxlKCkpCi0gICAgICAgICAg
ICByZXNvdXJjZXNUb0RlbGV0ZS5hcHBlbmQocmVzb3VyY2Uua2V5KTsKKyAgICAgICAgaWYgKHJl
c291cmNlLmhhc09uZUhhbmRsZSgpICYmICFyZXNvdXJjZS5sb2FkZXIoKSAmJiAhcmVzb3VyY2Uu
aXNQcmVsb2FkZWQoKSkgeworICAgICAgICAgICAgcmVzb3VyY2VzVG9EZWxldGUuYXBwZW5kKHJl
c291cmNlRW50cnkua2V5KTsKKyAgICAgICAgICAgIG1fcmVzb3VyY2VUaW1pbmdJbmZvLnJlbW92
ZVJlc291cmNlVGltaW5nKHJlc291cmNlKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGZvciAo
YXV0byYgcmVzb3VyY2UgOiByZXNvdXJjZXNUb0RlbGV0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCmluZGV4IDk1YjUyYWEzYWQyOS4uYzdhNzBjZTYwNzhj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAgLTQx
Niw3ICs0MTYsOCBAQCB2b2lkIE1lbW9yeUNhY2hlOjpyZW1vdmUoQ2FjaGVkUmVzb3VyY2UmIHJl
c291cmNlKQogICAgICAgICB9CiAgICAgfQogCi0gICAgcmVzb3VyY2UuZGVsZXRlSWZQb3NzaWJs
ZSgpOworICAgIGlmIChyZXNvdXJjZS5jYW5EZWxldGUoKSkKKyAgICAgICAgcmVzb3VyY2UuZGVs
ZXRlVGhpcygpOwogfQogCiBhdXRvIE1lbW9yeUNhY2hlOjpscnVMaXN0Rm9yKENhY2hlZFJlc291
cmNlJiByZXNvdXJjZSkgLT4gTFJVTGlzdCYK
</data>
<flag name="commit-queue"
          id="450899"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429737</attachid>
            <date>2021-05-26 01:51:26 -0700</date>
            <delta_ts>2021-05-26 01:53:19 -0700</delta_ts>
            <desc>patch</desc>
            <filename>memory-cache-remove-expired-7.patch</filename>
            <type>text/plain</type>
            <size>11135</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0ZjFlNWFhMTEzYmYuLjJjOGY1MWFjMzE5OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDUwIEBACisyMDIxLTA1LTI0ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBEb24ndCBoYW5nIG9udG8gZXhwaXJlZCByZXNvdXJjZXMgd2l0aG91dCB2
YWxpZGF0aW9uIGhlYWRlcnMgaW4gbWVtb3J5IGNhY2hlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYwODMKKyAgICAgICAgcmRhcjovLzc4MDM1NjEy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhleSBj
b25zdW1lIG1lbW9yeSB3aGlsZSBvbmx5IHJlYWxseSBiZWluZyB1c2VmdWwgZm9yIGhpc3Rvcnkg
bmF2aWdhdGlvbi4KKyAgICAgICAgRGlzayBjYWNoZSBjYW4gaGFuZGxlIHRoZSByZWxhdGl2ZWx5
IHJhcmUgY2FzZXMgd2hlcmUgdGhhdCBpcyB1c2VmdWwgYW5kIG5vdAorICAgICAgICBjb3ZlcmVk
IGJ5IHRoZSBwYWdlIGNhY2hlLgorCisgICAgICAgICogbG9hZGVyL1Jlc291cmNlVGltaW5nSW5m
b3JtYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmdJbmZvcm1hdGlv
bjo6YWRkUmVzb3VyY2VUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmdJ
bmZvcm1hdGlvbjo6cmVtb3ZlUmVzb3VyY2VUaW1pbmcpOgorCisgICAgICAgIEFkZCB3YXkgdG8g
cmVtb3ZlIGVudHJpZXMgZnJvbSB0aGUgbWFwLgorCisgICAgICAgICogbG9hZGVyL1Jlc291cmNl
VGltaW5nSW5mb3JtYXRpb24uaDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnJlbW92ZUNsaWVudCk6
CisKKyAgICAgICAgUmVtb3ZhbCBmcm9tIGNhY2hlIGlzIG5vdyBoYW5kbGVkIGluIGRlbGV0ZUlm
UG9zc2libGUoKSB0byBtYWtlIGl0IG1vcmUgdW5pdmVyc2FsLgorICAgICAgICBJdCBpcyBpbnZv
a2VkIGJ5IHJlbW92ZUNsaWVudCBzbyB0aGUgZXhpc3RpbmcgYmVoYXZpb3IgaXMgY292ZXJlZC4K
KworICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmRlbGV0ZUlmUG9zc2libGUpOgor
CisgICAgICAgIFJlbW92ZSBleHBpcmVkIHJlc291cmNlcyB3aXRob3V0IHZhbGlkYXRpb24gaGVh
ZGVycyBmcm9tIHRoZSBjYWNoZSBpZiB0aGUgcmVzb3VyY2UgaXMgb3RoZXJ3aXNlIGRlbGV0YWJs
ZS4KKyAgICAgICAgQWxzbyBlYWdlcmx5IHJlbW92ZSBuby1zdG9yZSBodHRwIHJlc291cmNlcyAo
cHJldmlvdXNseSBvbmx5IGh0dHBzIHdhcyByZW1vdmVkKS4KKworICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkUmVzb3VyY2U6OmRlbGV0ZVRoaXMpOgorCisgICAgICAgIEZhY3RvciBpbnRvIGEgZnVu
Y3Rpb24uCisKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaDoKKyAgICAg
ICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmdhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJj
ZXMpOgorCisgICAgICAgIERvbid0IHJlbW92ZSBlbnRyaWVzIHdpdGggYWN0aXZlIGxvYWRlci4g
VGhleSBhcmUgbmVlZGVkIGZvciByZXNvdXJjZSB0aW1pbmcuCisgICAgICAgIERvbid0IGxlYXZl
IHJlbW92ZWQgZW50cmllcyB0byBSZXNvdXJjZVRpbWluZ0luZm9ybWF0aW9uLiBUaGV5IGFyZSBu
b3QgZ3VhcmFudGVlZCB0byBzdGF5IGFsaXZlIGFmdGVyCisgICAgICAgIGJlaW5nIHJlbW92ZWQg
ZnJvbSBtX2RvY3VtZW50UmVzb3VyY2VzLgorCisgICAgICAgICogbG9hZGVyL2NhY2hlL01lbW9y
eUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUNhY2hlOjpyZW1vdmUpOgorCisg
ICAgICAgIENhbGwgQ2FjaGVkUmVzb3VyY2U6OmRlbGV0ZVRoaXMoKSBkaXJlY3RseS4KKwogMjAy
MS0wNS0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBs
b2NraW5nIGluIFBsYXRmb3JtQ0FMYXllcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24uY3BwCmluZGV4IGJkN2RkOGMwMTY3NS4uYTYxYzI0
ZDhiM2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VUaW1pbmdJ
bmZvcm1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5n
SW5mb3JtYXRpb24uY3BwCkBAIC04Niw2ICs4NiwxMSBAQCB2b2lkIFJlc291cmNlVGltaW5nSW5m
b3JtYXRpb246OmFkZFJlc291cmNlVGltaW5nKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgRG9j
dQogICAgIGluZm8uYWRkZWQgPSBBZGRlZDsKIH0KIAordm9pZCBSZXNvdXJjZVRpbWluZ0luZm9y
bWF0aW9uOjpyZW1vdmVSZXNvdXJjZVRpbWluZyhDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpCit7
CisgICAgbV9pbml0aWF0b3JNYXAucmVtb3ZlKCZyZXNvdXJjZSk7Cit9CisKIHZvaWQgUmVzb3Vy
Y2VUaW1pbmdJbmZvcm1hdGlvbjo6c3RvcmVSZXNvdXJjZVRpbWluZ0luaXRpYXRvckluZm9ybWF0
aW9uKGNvbnN0IENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiYgcmVzb3VyY2Us
IGNvbnN0IEF0b21TdHJpbmcmIGluaXRpYXRvck5hbWUsIEZyYW1lKiBmcmFtZSkKIHsKICAgICBB
U1NFUlQocmVzb3VyY2UuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZVRpbWluZ0luZm9ybWF0aW9uLmgKaW5kZXggNjgyNDQzMTMxM2I3Li45NTc0NzFiZGNiNGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRpbWluZ0luZm9ybWF0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nSW5mb3JtYXRp
b24uaApAQCAtNDEsNiArNDEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgc2hvdWxkQWRk
UmVzb3VyY2VUaW1pbmcoQ2FjaGVkUmVzb3VyY2UmKTsKIAogICAgIHZvaWQgYWRkUmVzb3VyY2VU
aW1pbmcoQ2FjaGVkUmVzb3VyY2UmLCBEb2N1bWVudCYsIFJlc291cmNlVGltaW5nJiYpOworICAg
IHZvaWQgcmVtb3ZlUmVzb3VyY2VUaW1pbmcoQ2FjaGVkUmVzb3VyY2UmKTsKICAgICB2b2lkIHN0
b3JlUmVzb3VyY2VUaW1pbmdJbml0aWF0b3JJbmZvcm1hdGlvbihjb25zdCBDYWNoZWRSZXNvdXJj
ZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4mLCBjb25zdCBBdG9tU3RyaW5nJiwgRnJhbWUqKTsKIAog
cHJpdmF0ZToKQEAgLTQ5LDYgKzUwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgQXRvbVN0cmluZyBu
YW1lOwogICAgICAgICBBbHJlYWR5QWRkZWQgYWRkZWQ7CiAgICAgfTsKKyAgICAvLyBGSVhNRTog
VGhpcyBzaG91ZG4ndCB1c2UgcmF3IHBvaW50ZXIgYXMgaWRlbnRpZmllciAodGhvdWdoIGl0IGlz
IG5vdCBkZXJlZmVyZW5jZWQpLgogICAgIEhhc2hNYXA8Q2FjaGVkUmVzb3VyY2UqLCBJbml0aWF0
b3JJbmZvPiBtX2luaXRpYXRvck1hcDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IGMwNjVmYzBkYjNhZi4uMDI4MWJhZDVmNTQ5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAK
QEAgLTU1MiwxMSArNTUyLDYgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6cmVtb3ZlQ2xpZW50KENh
Y2hlZFJlc291cmNlQ2xpZW50JiBjbGllbnQpCiAgICAgICAgIGRpZFJlbW92ZUNsaWVudChjbGll
bnQpOwogICAgIH0KIAotICAgIGlmIChkZWxldGVJZlBvc3NpYmxlKCkpIHsKLSAgICAgICAgLy8g
YHRoaXNgIG9iamVjdCBpcyBkZWFkIGhlcmUuCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAg
ICBpZiAoaGFzQ2xpZW50cygpKQogICAgICAgICByZXR1cm47CiAKQEAgLTU2NSw2ICs1NjAsMTIg
QEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6cmVtb3ZlQ2xpZW50KENhY2hlZFJlc291cmNlQ2xpZW50
JiBjbGllbnQpCiAgICAgICAgIG1lbW9yeUNhY2hlLnJlbW92ZUZyb21MaXZlUmVzb3VyY2VzU2l6
ZSgqdGhpcyk7CiAgICAgICAgIG1lbW9yeUNhY2hlLnJlbW92ZUZyb21MaXZlRGVjb2RlZFJlc291
cmNlc0xpc3QoKnRoaXMpOwogICAgIH0KKworICAgIGlmIChkZWxldGVJZlBvc3NpYmxlKCkpIHsK
KyAgICAgICAgLy8gYHRoaXNgIG9iamVjdCBpcyBkZWFkIGhlcmUuCisgICAgICAgIHJldHVybjsK
KyAgICB9CisKICAgICBpZiAoIW1fc3dpdGNoaW5nQ2xpZW50c1RvUmV2YWxpZGF0ZWRSZXNvdXJj
ZSkKICAgICAgICAgYWxsQ2xpZW50c1JlbW92ZWQoKTsKICAgICBkZXN0cm95RGVjb2RlZERhdGFJ
Zk5lZWRlZCgpOwpAQCAtNTcyLDEzICs1NzMsNiBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpyZW1v
dmVDbGllbnQoQ2FjaGVkUmVzb3VyY2VDbGllbnQmIGNsaWVudCkKICAgICBpZiAoIWFsbG93c0Nh
Y2hpbmcoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHJlc3BvbnNlKCkuY2FjaGVDb250
cm9sQ29udGFpbnNOb1N0b3JlKCkgJiYgdXJsKCkucHJvdG9jb2xJcygiaHR0cHMiKSkgewotICAg
ICAgICAvLyBSRkMyNjE2IDE0LjkuMjoKLSAgICAgICAgLy8gIm5vLXN0b3JlOiAuLi4gTVVTVCBt
YWtlIGEgYmVzdC1lZmZvcnQgYXR0ZW1wdCB0byByZW1vdmUgdGhlIGluZm9ybWF0aW9uIGZyb20g
dm9sYXRpbGUgc3RvcmFnZSBhcyBwcm9tcHRseSBhcyBwb3NzaWJsZSIKLSAgICAgICAgLy8gIi4u
LiBIaXN0b3J5IGJ1ZmZlcnMgTUFZIHN0b3JlIHN1Y2ggcmVzcG9uc2VzIGFzIHBhcnQgb2YgdGhl
aXIgbm9ybWFsIG9wZXJhdGlvbi4iCi0gICAgICAgIC8vIFdlIGFsbG93IG5vbi1zZWN1cmUgY29u
dGVudCB0byBiZSByZXVzZWQgaW4gaGlzdG9yeSwgYnV0IHdlIGRvIG5vdCBhbGxvdyBzZWN1cmUg
Y29udGVudCB0byBiZSByZXVzZWQuCi0gICAgICAgIG1lbW9yeUNhY2hlLnJlbW92ZSgqdGhpcyk7
Ci0gICAgfQogICAgIG1lbW9yeUNhY2hlLnBydW5lU29vbigpOwogfQogCkBAIC02MDQsMjEgKzU5
OCw0OSBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpkZWNvZGVkRGF0YURlbGV0aW9uVGltZXJGaXJl
ZCgpCiAKIGJvb2wgQ2FjaGVkUmVzb3VyY2U6OmRlbGV0ZUlmUG9zc2libGUoKQogewotICAgIGlm
IChjYW5EZWxldGUoKSkgewotICAgICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVz
b3VyY2UgJXAgZGVsZXRlSWZQb3NzaWJsZSAtIGNhbiBkZWxldGUsIGluIGNhY2hlICVkIiwgdGhp
cywgaW5DYWNoZSgpKTsKLSAgICAgICAgaWYgKCFpbkNhY2hlKCkpIHsKLSAgICAgICAgICAgIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJjZSgqdGhpcyk7
Ci0gICAgICAgICAgICBkZWxldGUgdGhpczsKKyAgICBpZiAoIWNhbkRlbGV0ZSgpKSB7CisgICAg
ICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJDYWNoZWRSZXNvdXJjZSAlcCBkZWxldGVJZlBvc3Np
YmxlIC0gY2FuJ3QgZGVsZXRlIChoYXNDbGllbnRzICVkIGxvYWRlciAlcCBwcmVsb2FkQ291bnQg
JXUgaGFuZGxlQ291bnQgJXUgcmVzb3VyY2VUb1JldmFsaWRhdGUgJXAgcHJveHlSZXNvdXJjZSAl
cCkiLCB0aGlzLCBoYXNDbGllbnRzKCksIG1fbG9hZGVyLmdldCgpLCBtX3ByZWxvYWRDb3VudCwg
bV9oYW5kbGVDb3VudCwgbV9yZXNvdXJjZVRvUmV2YWxpZGF0ZSwgbV9wcm94eVJlc291cmNlKTsK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIExPRyhSZXNvdXJjZUxvYWRpbmcs
ICJDYWNoZWRSZXNvdXJjZSAlcCBkZWxldGVJZlBvc3NpYmxlIC0gY2FuIGRlbGV0ZSwgaW4gY2Fj
aGUgJWQiLCB0aGlzLCBpbkNhY2hlKCkpOworCisgICAgaWYgKCFpbkNhY2hlKCkpIHsKKyAgICAg
ICAgZGVsZXRlVGhpcygpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBhdXRv
IHNob3VsZFJlbW92ZUZyb21DYWNoZSA9IFsmXSB7CisgICAgICAgIC8vIFdlIG1heSBzdGlsbCBr
ZWVwcyBzb21lIG9mIHRoZXNlIGNhc2VzIGluIGRpc2sgY2FjaGUgZm9yIGhpc3RvcnkgbmF2aWdh
dGlvbi4KKyAgICAgICAgaWYgKHJlc3BvbnNlKCkuY2FjaGVDb250cm9sQ29udGFpbnNOb1N0b3Jl
KCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfQotICAgICAgICBpZiAobV9k
YXRhKQotICAgICAgICAgICAgbV9kYXRhLT5oaW50TWVtb3J5Tm90TmVlZGVkU29vbigpOworICAg
ICAgICBpZiAoaXNFeHBpcmVkKCkgJiYgIWNhblVzZUNhY2hlVmFsaWRhdG9yKCkpCisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0oKTsKKworICAg
IGlmIChzaG91bGRSZW1vdmVGcm9tQ2FjaGUpIHsKKyAgICAgICAgLy8gRGVsZXRlcyB0aGlzLgor
ICAgICAgICBNZW1vcnlDYWNoZTo6c2luZ2xldG9uKCkucmVtb3ZlKCp0aGlzKTsKKyAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAgTE9HKFJlc291cmNlTG9hZGluZywgIkNhY2hlZFJl
c291cmNlICVwIGRlbGV0ZUlmUG9zc2libGUgLSBjYW4ndCBkZWxldGUgKGhhc0NsaWVudHMgJWQg
bG9hZGVyICVwIHByZWxvYWRDb3VudCAldSBoYW5kbGVDb3VudCAldSByZXNvdXJjZVRvUmV2YWxp
ZGF0ZSAlcCBwcm94eVJlc291cmNlICVwKSIsIHRoaXMsIGhhc0NsaWVudHMoKSwgbV9sb2FkZXIu
Z2V0KCksIG1fcHJlbG9hZENvdW50LCBtX2hhbmRsZUNvdW50LCBtX3Jlc291cmNlVG9SZXZhbGlk
YXRlLCBtX3Byb3h5UmVzb3VyY2UpOworICAgIGlmIChtX2RhdGEpCisgICAgICAgIG1fZGF0YS0+
aGludE1lbW9yeU5vdE5lZWRlZFNvb24oKTsKKwogICAgIHJldHVybiBmYWxzZTsKIH0KIAordm9p
ZCBDYWNoZWRSZXNvdXJjZTo6ZGVsZXRlVGhpcygpCit7CisgICAgUkVMRUFTRV9BU1NFUlQoY2Fu
RGVsZXRlKCkpOworICAgIFJFTEVBU0VfQVNTRVJUKCFpbkNhY2hlKCkpOworCisgICAgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRGVzdHJveUNhY2hlZFJlc291cmNlKCp0aGlzKTsKKwor
ICAgIGRlbGV0ZSB0aGlzOworfQorCiB2b2lkIENhY2hlZFJlc291cmNlOjpzZXREZWNvZGVkU2l6
ZSh1bnNpZ25lZCBzaXplKQogewogICAgIGlmIChzaXplID09IG1fZGVjb2RlZFNpemUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCmluZGV4IDcwY2M5YWI4
Njg3OC4uYmYyNWNhZGQ0MzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuaApAQCAtMzEwLDYgKzMxMCw4IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAg
ICAgY2xhc3MgQ2FsbGJhY2s7CiAKKyAgICB2b2lkIGRlbGV0ZVRoaXMoKTsKKwogICAgIGJvb2wg
YWRkQ2xpZW50VG9TZXQoQ2FjaGVkUmVzb3VyY2VDbGllbnQmKTsKIAogICAgIHZvaWQgZGVjb2Rl
ZERhdGFEZWxldGlvblRpbWVyRmlyZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDI2ZmZkYmZiYzlkMS4uYmNj
MGY0ZTM3ZmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTk5Miw4ICs5OTIsMTAgQEAgUmVzb3VyY2VFcnJvck9y
PENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPj4gQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OnJlcXUKICAgICAgICAgbWVtb3J5Q2FjaGUucmVtb3ZlKCpyZXNvdXJjZSk7CiAgICAgICAg
IEZBTExUSFJPVUdIOwogICAgIGNhc2UgTG9hZDoKLSAgICAgICAgaWYgKHJlc291cmNlKQorICAg
ICAgICBpZiAocmVzb3VyY2UpIHsKICAgICAgICAgICAgIGxvZ01lbW9yeUNhY2hlUmVzb3VyY2VS
ZXF1ZXN0KCZmcmFtZSwgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjptZW1vcnlDYWNoZUVudHJ5RGVj
aXNpb25LZXkoKSwgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjp1bnVzZWRLZXkoKSk7CisgICAgICAg
ICAgICBtZW1vcnlDYWNoZS5yZW1vdmUoKnJlc291cmNlKTsKKyAgICAgICAgfQogICAgICAgICBy
ZXNvdXJjZSA9IGxvYWRSZXNvdXJjZSh0eXBlLCBwYWdlLnNlc3Npb25JRCgpLCBXVEZNb3ZlKHJl
cXVlc3QpLCBjb29raWVKYXIsIHBhZ2Uuc2V0dGluZ3MoKSk7CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgUmV2YWxpZGF0ZToKQEAgLTE0NDMsMTEgKzE0NDUsMTQgQEAgdm9pZCBDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6Z2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlcygpCiAgICAgdHlwZWRl
ZiBWZWN0b3I8U3RyaW5nLCAxMD4gU3RyaW5nVmVjdG9yOwogICAgIFN0cmluZ1ZlY3RvciByZXNv
dXJjZXNUb0RlbGV0ZTsKIAotICAgIGZvciAoYXV0byYgcmVzb3VyY2UgOiBtX2RvY3VtZW50UmVz
b3VyY2VzKSB7Ci0gICAgICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICIgIGNhY2hlZCByZXNvdXJj
ZSAlcCAtIGhhc09uZUhhbmRsZSAlZCIsIHJlc291cmNlLnZhbHVlLmdldCgpLCByZXNvdXJjZS52
YWx1ZS0+aGFzT25lSGFuZGxlKCkpOworICAgIGZvciAoYXV0byYgcmVzb3VyY2VFbnRyeSA6IG1f
ZG9jdW1lbnRSZXNvdXJjZXMpIHsKKyAgICAgICAgYXV0byYgcmVzb3VyY2UgPSAqcmVzb3VyY2VF
bnRyeS52YWx1ZTsKKyAgICAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIiAgY2FjaGVkIHJlc291
cmNlICVwIC0gaGFzT25lSGFuZGxlICVkIiwgJnJlc291cmNlLCByZXNvdXJjZS5oYXNPbmVIYW5k
bGUoKSk7CiAKLSAgICAgICAgaWYgKHJlc291cmNlLnZhbHVlLT5oYXNPbmVIYW5kbGUoKSkKLSAg
ICAgICAgICAgIHJlc291cmNlc1RvRGVsZXRlLmFwcGVuZChyZXNvdXJjZS5rZXkpOworICAgICAg
ICBpZiAocmVzb3VyY2UuaGFzT25lSGFuZGxlKCkgJiYgIXJlc291cmNlLmxvYWRlcigpICYmICFy
ZXNvdXJjZS5pc1ByZWxvYWRlZCgpKSB7CisgICAgICAgICAgICByZXNvdXJjZXNUb0RlbGV0ZS5h
cHBlbmQocmVzb3VyY2VFbnRyeS5rZXkpOworICAgICAgICAgICAgbV9yZXNvdXJjZVRpbWluZ0lu
Zm8ucmVtb3ZlUmVzb3VyY2VUaW1pbmcocmVzb3VyY2UpOworICAgICAgICB9CiAgICAgfQogCiAg
ICAgZm9yIChhdXRvJiByZXNvdXJjZSA6IHJlc291cmNlc1RvRGVsZXRlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKaW5kZXggOTViNTJhYTNhZDI5Li4yYmZl
ZDVhYTg4NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlD
YWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNw
cApAQCAtMTIyLDYgKzEyMiw4IEBAIGJvb2wgTWVtb3J5Q2FjaGU6OmFkZChDYWNoZWRSZXNvdXJj
ZSYgcmVzb3VyY2UpCiAgICAgcmVzb3VyY2Uuc2V0SW5DYWNoZSh0cnVlKTsKICAgICAKICAgICBy
ZXNvdXJjZUFjY2Vzc2VkKHJlc291cmNlKTsKKworICAgIFdURkxvZ0Fsd2F5cygiTWVtb3J5Q2Fj
aGU6OmFkZCAlcCAlcyIsICZyZXNvdXJjZSwgcmVzb3VyY2UudXJsKCkuc3RyaW5nKCkubGF0aW4x
KCkuZGF0YSgpKTsKICAgICAKICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiTWVtb3J5Q2FjaGU6
OmFkZCBBZGRlZCAnJS4yNTVzJywgcmVzb3VyY2UgJXBcbiIsIHJlc291cmNlLnVybCgpLnN0cmlu
ZygpLmxhdGluMSgpLmRhdGEoKSwgJnJlc291cmNlKTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTM4
OCw2ICszOTAsOCBAQCB2b2lkIE1lbW9yeUNhY2hlOjpzZXRDYXBhY2l0aWVzKHVuc2lnbmVkIG1p
bkRlYWRCeXRlcywgdW5zaWduZWQgbWF4RGVhZEJ5dGVzLCB1bgogCiB2b2lkIE1lbW9yeUNhY2hl
OjpyZW1vdmUoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlKQogeworICAgIFdURkxvZ0Fsd2F5cygi
TWVtb3J5Q2FjaGU6OnJlbW92ZSAlcCAlcyIsICZyZXNvdXJjZSwgcmVzb3VyY2UudXJsKCkuc3Ry
aW5nKCkubGF0aW4xKCkuZGF0YSgpKTsKKwogICAgIEFTU0VSVChXVEY6OmlzTWFpblRocmVhZCgp
KTsKICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiRXZpY3RpbmcgcmVzb3VyY2UgJXAgZm9yICcl
LjI1NXMnIGZyb20gY2FjaGUiLCAmcmVzb3VyY2UsIHJlc291cmNlLnVybCgpLnN0cmluZygpLmxh
dGluMSgpLmRhdGEoKSk7CiAgICAgLy8gVGhlIHJlc291cmNlIG1heSBoYXZlIGFscmVhZHkgYmVl
biByZW1vdmVkIGJ5IHNvbWVvbmUgb3RoZXIgdGhhbiBvdXIgY2FsbGVyLApAQCAtNDE2LDcgKzQy
MCw4IEBAIHZvaWQgTWVtb3J5Q2FjaGU6OnJlbW92ZShDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2Up
CiAgICAgICAgIH0KICAgICB9CiAKLSAgICByZXNvdXJjZS5kZWxldGVJZlBvc3NpYmxlKCk7Cisg
ICAgaWYgKHJlc291cmNlLmNhbkRlbGV0ZSgpKQorICAgICAgICByZXNvdXJjZS5kZWxldGVUaGlz
KCk7CiB9CiAKIGF1dG8gTWVtb3J5Q2FjaGU6OmxydUxpc3RGb3IoQ2FjaGVkUmVzb3VyY2UmIHJl
c291cmNlKSAtPiBMUlVMaXN0Jgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429738</attachid>
            <date>2021-05-26 01:53:19 -0700</date>
            <delta_ts>2021-05-26 07:59:18 -0700</delta_ts>
            <desc>patch</desc>
            <filename>memory-cache-remove-expired-8.patch</filename>
            <type>text/plain</type>
            <size>10535</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0ZjFlNWFhMTEzYmYuLjJjOGY1MWFjMzE5OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDUwIEBACisyMDIxLTA1LTI0ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBEb24ndCBoYW5nIG9udG8gZXhwaXJlZCByZXNvdXJjZXMgd2l0aG91dCB2
YWxpZGF0aW9uIGhlYWRlcnMgaW4gbWVtb3J5IGNhY2hlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYwODMKKyAgICAgICAgcmRhcjovLzc4MDM1NjEy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhleSBj
b25zdW1lIG1lbW9yeSB3aGlsZSBvbmx5IHJlYWxseSBiZWluZyB1c2VmdWwgZm9yIGhpc3Rvcnkg
bmF2aWdhdGlvbi4KKyAgICAgICAgRGlzayBjYWNoZSBjYW4gaGFuZGxlIHRoZSByZWxhdGl2ZWx5
IHJhcmUgY2FzZXMgd2hlcmUgdGhhdCBpcyB1c2VmdWwgYW5kIG5vdAorICAgICAgICBjb3ZlcmVk
IGJ5IHRoZSBwYWdlIGNhY2hlLgorCisgICAgICAgICogbG9hZGVyL1Jlc291cmNlVGltaW5nSW5m
b3JtYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmdJbmZvcm1hdGlv
bjo6YWRkUmVzb3VyY2VUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmdJ
bmZvcm1hdGlvbjo6cmVtb3ZlUmVzb3VyY2VUaW1pbmcpOgorCisgICAgICAgIEFkZCB3YXkgdG8g
cmVtb3ZlIGVudHJpZXMgZnJvbSB0aGUgbWFwLgorCisgICAgICAgICogbG9hZGVyL1Jlc291cmNl
VGltaW5nSW5mb3JtYXRpb24uaDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnJlbW92ZUNsaWVudCk6
CisKKyAgICAgICAgUmVtb3ZhbCBmcm9tIGNhY2hlIGlzIG5vdyBoYW5kbGVkIGluIGRlbGV0ZUlm
UG9zc2libGUoKSB0byBtYWtlIGl0IG1vcmUgdW5pdmVyc2FsLgorICAgICAgICBJdCBpcyBpbnZv
a2VkIGJ5IHJlbW92ZUNsaWVudCBzbyB0aGUgZXhpc3RpbmcgYmVoYXZpb3IgaXMgY292ZXJlZC4K
KworICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmRlbGV0ZUlmUG9zc2libGUpOgor
CisgICAgICAgIFJlbW92ZSBleHBpcmVkIHJlc291cmNlcyB3aXRob3V0IHZhbGlkYXRpb24gaGVh
ZGVycyBmcm9tIHRoZSBjYWNoZSBpZiB0aGUgcmVzb3VyY2UgaXMgb3RoZXJ3aXNlIGRlbGV0YWJs
ZS4KKyAgICAgICAgQWxzbyBlYWdlcmx5IHJlbW92ZSBuby1zdG9yZSBodHRwIHJlc291cmNlcyAo
cHJldmlvdXNseSBvbmx5IGh0dHBzIHdhcyByZW1vdmVkKS4KKworICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkUmVzb3VyY2U6OmRlbGV0ZVRoaXMpOgorCisgICAgICAgIEZhY3RvciBpbnRvIGEgZnVu
Y3Rpb24uCisKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaDoKKyAgICAg
ICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmdhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJj
ZXMpOgorCisgICAgICAgIERvbid0IHJlbW92ZSBlbnRyaWVzIHdpdGggYWN0aXZlIGxvYWRlci4g
VGhleSBhcmUgbmVlZGVkIGZvciByZXNvdXJjZSB0aW1pbmcuCisgICAgICAgIERvbid0IGxlYXZl
IHJlbW92ZWQgZW50cmllcyB0byBSZXNvdXJjZVRpbWluZ0luZm9ybWF0aW9uLiBUaGV5IGFyZSBu
b3QgZ3VhcmFudGVlZCB0byBzdGF5IGFsaXZlIGFmdGVyCisgICAgICAgIGJlaW5nIHJlbW92ZWQg
ZnJvbSBtX2RvY3VtZW50UmVzb3VyY2VzLgorCisgICAgICAgICogbG9hZGVyL2NhY2hlL01lbW9y
eUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUNhY2hlOjpyZW1vdmUpOgorCisg
ICAgICAgIENhbGwgQ2FjaGVkUmVzb3VyY2U6OmRlbGV0ZVRoaXMoKSBkaXJlY3RseS4KKwogMjAy
MS0wNS0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBs
b2NraW5nIGluIFBsYXRmb3JtQ0FMYXllcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24uY3BwCmluZGV4IGJkN2RkOGMwMTY3NS4uYTYxYzI0
ZDhiM2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VUaW1pbmdJ
bmZvcm1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5n
SW5mb3JtYXRpb24uY3BwCkBAIC04Niw2ICs4NiwxMSBAQCB2b2lkIFJlc291cmNlVGltaW5nSW5m
b3JtYXRpb246OmFkZFJlc291cmNlVGltaW5nKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgRG9j
dQogICAgIGluZm8uYWRkZWQgPSBBZGRlZDsKIH0KIAordm9pZCBSZXNvdXJjZVRpbWluZ0luZm9y
bWF0aW9uOjpyZW1vdmVSZXNvdXJjZVRpbWluZyhDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpCit7
CisgICAgbV9pbml0aWF0b3JNYXAucmVtb3ZlKCZyZXNvdXJjZSk7Cit9CisKIHZvaWQgUmVzb3Vy
Y2VUaW1pbmdJbmZvcm1hdGlvbjo6c3RvcmVSZXNvdXJjZVRpbWluZ0luaXRpYXRvckluZm9ybWF0
aW9uKGNvbnN0IENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiYgcmVzb3VyY2Us
IGNvbnN0IEF0b21TdHJpbmcmIGluaXRpYXRvck5hbWUsIEZyYW1lKiBmcmFtZSkKIHsKICAgICBB
U1NFUlQocmVzb3VyY2UuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZVRpbWluZ0luZm9ybWF0aW9uLmgKaW5kZXggNjgyNDQzMTMxM2I3Li45NTc0NzFiZGNiNGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRpbWluZ0luZm9ybWF0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nSW5mb3JtYXRp
b24uaApAQCAtNDEsNiArNDEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgc2hvdWxkQWRk
UmVzb3VyY2VUaW1pbmcoQ2FjaGVkUmVzb3VyY2UmKTsKIAogICAgIHZvaWQgYWRkUmVzb3VyY2VU
aW1pbmcoQ2FjaGVkUmVzb3VyY2UmLCBEb2N1bWVudCYsIFJlc291cmNlVGltaW5nJiYpOworICAg
IHZvaWQgcmVtb3ZlUmVzb3VyY2VUaW1pbmcoQ2FjaGVkUmVzb3VyY2UmKTsKICAgICB2b2lkIHN0
b3JlUmVzb3VyY2VUaW1pbmdJbml0aWF0b3JJbmZvcm1hdGlvbihjb25zdCBDYWNoZWRSZXNvdXJj
ZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4mLCBjb25zdCBBdG9tU3RyaW5nJiwgRnJhbWUqKTsKIAog
cHJpdmF0ZToKQEAgLTQ5LDYgKzUwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgQXRvbVN0cmluZyBu
YW1lOwogICAgICAgICBBbHJlYWR5QWRkZWQgYWRkZWQ7CiAgICAgfTsKKyAgICAvLyBGSVhNRTog
VGhpcyBzaG91ZG4ndCB1c2UgcmF3IHBvaW50ZXIgYXMgaWRlbnRpZmllciAodGhvdWdoIGl0IGlz
IG5vdCBkZXJlZmVyZW5jZWQpLgogICAgIEhhc2hNYXA8Q2FjaGVkUmVzb3VyY2UqLCBJbml0aWF0
b3JJbmZvPiBtX2luaXRpYXRvck1hcDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IGMwNjVmYzBkYjNhZi4uMDI4MWJhZDVmNTQ5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAK
QEAgLTU1MiwxMSArNTUyLDYgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6cmVtb3ZlQ2xpZW50KENh
Y2hlZFJlc291cmNlQ2xpZW50JiBjbGllbnQpCiAgICAgICAgIGRpZFJlbW92ZUNsaWVudChjbGll
bnQpOwogICAgIH0KIAotICAgIGlmIChkZWxldGVJZlBvc3NpYmxlKCkpIHsKLSAgICAgICAgLy8g
YHRoaXNgIG9iamVjdCBpcyBkZWFkIGhlcmUuCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAg
ICBpZiAoaGFzQ2xpZW50cygpKQogICAgICAgICByZXR1cm47CiAKQEAgLTU2NSw2ICs1NjAsMTIg
QEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6cmVtb3ZlQ2xpZW50KENhY2hlZFJlc291cmNlQ2xpZW50
JiBjbGllbnQpCiAgICAgICAgIG1lbW9yeUNhY2hlLnJlbW92ZUZyb21MaXZlUmVzb3VyY2VzU2l6
ZSgqdGhpcyk7CiAgICAgICAgIG1lbW9yeUNhY2hlLnJlbW92ZUZyb21MaXZlRGVjb2RlZFJlc291
cmNlc0xpc3QoKnRoaXMpOwogICAgIH0KKworICAgIGlmIChkZWxldGVJZlBvc3NpYmxlKCkpIHsK
KyAgICAgICAgLy8gYHRoaXNgIG9iamVjdCBpcyBkZWFkIGhlcmUuCisgICAgICAgIHJldHVybjsK
KyAgICB9CisKICAgICBpZiAoIW1fc3dpdGNoaW5nQ2xpZW50c1RvUmV2YWxpZGF0ZWRSZXNvdXJj
ZSkKICAgICAgICAgYWxsQ2xpZW50c1JlbW92ZWQoKTsKICAgICBkZXN0cm95RGVjb2RlZERhdGFJ
Zk5lZWRlZCgpOwpAQCAtNTcyLDEzICs1NzMsNiBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpyZW1v
dmVDbGllbnQoQ2FjaGVkUmVzb3VyY2VDbGllbnQmIGNsaWVudCkKICAgICBpZiAoIWFsbG93c0Nh
Y2hpbmcoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHJlc3BvbnNlKCkuY2FjaGVDb250
cm9sQ29udGFpbnNOb1N0b3JlKCkgJiYgdXJsKCkucHJvdG9jb2xJcygiaHR0cHMiKSkgewotICAg
ICAgICAvLyBSRkMyNjE2IDE0LjkuMjoKLSAgICAgICAgLy8gIm5vLXN0b3JlOiAuLi4gTVVTVCBt
YWtlIGEgYmVzdC1lZmZvcnQgYXR0ZW1wdCB0byByZW1vdmUgdGhlIGluZm9ybWF0aW9uIGZyb20g
dm9sYXRpbGUgc3RvcmFnZSBhcyBwcm9tcHRseSBhcyBwb3NzaWJsZSIKLSAgICAgICAgLy8gIi4u
LiBIaXN0b3J5IGJ1ZmZlcnMgTUFZIHN0b3JlIHN1Y2ggcmVzcG9uc2VzIGFzIHBhcnQgb2YgdGhl
aXIgbm9ybWFsIG9wZXJhdGlvbi4iCi0gICAgICAgIC8vIFdlIGFsbG93IG5vbi1zZWN1cmUgY29u
dGVudCB0byBiZSByZXVzZWQgaW4gaGlzdG9yeSwgYnV0IHdlIGRvIG5vdCBhbGxvdyBzZWN1cmUg
Y29udGVudCB0byBiZSByZXVzZWQuCi0gICAgICAgIG1lbW9yeUNhY2hlLnJlbW92ZSgqdGhpcyk7
Ci0gICAgfQogICAgIG1lbW9yeUNhY2hlLnBydW5lU29vbigpOwogfQogCkBAIC02MDQsMjEgKzU5
OCw0OSBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpkZWNvZGVkRGF0YURlbGV0aW9uVGltZXJGaXJl
ZCgpCiAKIGJvb2wgQ2FjaGVkUmVzb3VyY2U6OmRlbGV0ZUlmUG9zc2libGUoKQogewotICAgIGlm
IChjYW5EZWxldGUoKSkgewotICAgICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVz
b3VyY2UgJXAgZGVsZXRlSWZQb3NzaWJsZSAtIGNhbiBkZWxldGUsIGluIGNhY2hlICVkIiwgdGhp
cywgaW5DYWNoZSgpKTsKLSAgICAgICAgaWYgKCFpbkNhY2hlKCkpIHsKLSAgICAgICAgICAgIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJjZSgqdGhpcyk7
Ci0gICAgICAgICAgICBkZWxldGUgdGhpczsKKyAgICBpZiAoIWNhbkRlbGV0ZSgpKSB7CisgICAg
ICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJDYWNoZWRSZXNvdXJjZSAlcCBkZWxldGVJZlBvc3Np
YmxlIC0gY2FuJ3QgZGVsZXRlIChoYXNDbGllbnRzICVkIGxvYWRlciAlcCBwcmVsb2FkQ291bnQg
JXUgaGFuZGxlQ291bnQgJXUgcmVzb3VyY2VUb1JldmFsaWRhdGUgJXAgcHJveHlSZXNvdXJjZSAl
cCkiLCB0aGlzLCBoYXNDbGllbnRzKCksIG1fbG9hZGVyLmdldCgpLCBtX3ByZWxvYWRDb3VudCwg
bV9oYW5kbGVDb3VudCwgbV9yZXNvdXJjZVRvUmV2YWxpZGF0ZSwgbV9wcm94eVJlc291cmNlKTsK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIExPRyhSZXNvdXJjZUxvYWRpbmcs
ICJDYWNoZWRSZXNvdXJjZSAlcCBkZWxldGVJZlBvc3NpYmxlIC0gY2FuIGRlbGV0ZSwgaW4gY2Fj
aGUgJWQiLCB0aGlzLCBpbkNhY2hlKCkpOworCisgICAgaWYgKCFpbkNhY2hlKCkpIHsKKyAgICAg
ICAgZGVsZXRlVGhpcygpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBhdXRv
IHNob3VsZFJlbW92ZUZyb21DYWNoZSA9IFsmXSB7CisgICAgICAgIC8vIFdlIG1heSBzdGlsbCBr
ZWVwcyBzb21lIG9mIHRoZXNlIGNhc2VzIGluIGRpc2sgY2FjaGUgZm9yIGhpc3RvcnkgbmF2aWdh
dGlvbi4KKyAgICAgICAgaWYgKHJlc3BvbnNlKCkuY2FjaGVDb250cm9sQ29udGFpbnNOb1N0b3Jl
KCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfQotICAgICAgICBpZiAobV9k
YXRhKQotICAgICAgICAgICAgbV9kYXRhLT5oaW50TWVtb3J5Tm90TmVlZGVkU29vbigpOworICAg
ICAgICBpZiAoaXNFeHBpcmVkKCkgJiYgIWNhblVzZUNhY2hlVmFsaWRhdG9yKCkpCisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0oKTsKKworICAg
IGlmIChzaG91bGRSZW1vdmVGcm9tQ2FjaGUpIHsKKyAgICAgICAgLy8gRGVsZXRlcyB0aGlzLgor
ICAgICAgICBNZW1vcnlDYWNoZTo6c2luZ2xldG9uKCkucmVtb3ZlKCp0aGlzKTsKKyAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAgTE9HKFJlc291cmNlTG9hZGluZywgIkNhY2hlZFJl
c291cmNlICVwIGRlbGV0ZUlmUG9zc2libGUgLSBjYW4ndCBkZWxldGUgKGhhc0NsaWVudHMgJWQg
bG9hZGVyICVwIHByZWxvYWRDb3VudCAldSBoYW5kbGVDb3VudCAldSByZXNvdXJjZVRvUmV2YWxp
ZGF0ZSAlcCBwcm94eVJlc291cmNlICVwKSIsIHRoaXMsIGhhc0NsaWVudHMoKSwgbV9sb2FkZXIu
Z2V0KCksIG1fcHJlbG9hZENvdW50LCBtX2hhbmRsZUNvdW50LCBtX3Jlc291cmNlVG9SZXZhbGlk
YXRlLCBtX3Byb3h5UmVzb3VyY2UpOworICAgIGlmIChtX2RhdGEpCisgICAgICAgIG1fZGF0YS0+
aGludE1lbW9yeU5vdE5lZWRlZFNvb24oKTsKKwogICAgIHJldHVybiBmYWxzZTsKIH0KIAordm9p
ZCBDYWNoZWRSZXNvdXJjZTo6ZGVsZXRlVGhpcygpCit7CisgICAgUkVMRUFTRV9BU1NFUlQoY2Fu
RGVsZXRlKCkpOworICAgIFJFTEVBU0VfQVNTRVJUKCFpbkNhY2hlKCkpOworCisgICAgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRGVzdHJveUNhY2hlZFJlc291cmNlKCp0aGlzKTsKKwor
ICAgIGRlbGV0ZSB0aGlzOworfQorCiB2b2lkIENhY2hlZFJlc291cmNlOjpzZXREZWNvZGVkU2l6
ZSh1bnNpZ25lZCBzaXplKQogewogICAgIGlmIChzaXplID09IG1fZGVjb2RlZFNpemUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCmluZGV4IDcwY2M5YWI4
Njg3OC4uYmYyNWNhZGQ0MzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuaApAQCAtMzEwLDYgKzMxMCw4IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAg
ICAgY2xhc3MgQ2FsbGJhY2s7CiAKKyAgICB2b2lkIGRlbGV0ZVRoaXMoKTsKKwogICAgIGJvb2wg
YWRkQ2xpZW50VG9TZXQoQ2FjaGVkUmVzb3VyY2VDbGllbnQmKTsKIAogICAgIHZvaWQgZGVjb2Rl
ZERhdGFEZWxldGlvblRpbWVyRmlyZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDI2ZmZkYmZiYzlkMS4uYmNj
MGY0ZTM3ZmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTk5Miw4ICs5OTIsMTAgQEAgUmVzb3VyY2VFcnJvck9y
PENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPj4gQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OnJlcXUKICAgICAgICAgbWVtb3J5Q2FjaGUucmVtb3ZlKCpyZXNvdXJjZSk7CiAgICAgICAg
IEZBTExUSFJPVUdIOwogICAgIGNhc2UgTG9hZDoKLSAgICAgICAgaWYgKHJlc291cmNlKQorICAg
ICAgICBpZiAocmVzb3VyY2UpIHsKICAgICAgICAgICAgIGxvZ01lbW9yeUNhY2hlUmVzb3VyY2VS
ZXF1ZXN0KCZmcmFtZSwgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjptZW1vcnlDYWNoZUVudHJ5RGVj
aXNpb25LZXkoKSwgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjp1bnVzZWRLZXkoKSk7CisgICAgICAg
ICAgICBtZW1vcnlDYWNoZS5yZW1vdmUoKnJlc291cmNlKTsKKyAgICAgICAgfQogICAgICAgICBy
ZXNvdXJjZSA9IGxvYWRSZXNvdXJjZSh0eXBlLCBwYWdlLnNlc3Npb25JRCgpLCBXVEZNb3ZlKHJl
cXVlc3QpLCBjb29raWVKYXIsIHBhZ2Uuc2V0dGluZ3MoKSk7CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgUmV2YWxpZGF0ZToKQEAgLTE0NDMsMTEgKzE0NDUsMTQgQEAgdm9pZCBDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6Z2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlcygpCiAgICAgdHlwZWRl
ZiBWZWN0b3I8U3RyaW5nLCAxMD4gU3RyaW5nVmVjdG9yOwogICAgIFN0cmluZ1ZlY3RvciByZXNv
dXJjZXNUb0RlbGV0ZTsKIAotICAgIGZvciAoYXV0byYgcmVzb3VyY2UgOiBtX2RvY3VtZW50UmVz
b3VyY2VzKSB7Ci0gICAgICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICIgIGNhY2hlZCByZXNvdXJj
ZSAlcCAtIGhhc09uZUhhbmRsZSAlZCIsIHJlc291cmNlLnZhbHVlLmdldCgpLCByZXNvdXJjZS52
YWx1ZS0+aGFzT25lSGFuZGxlKCkpOworICAgIGZvciAoYXV0byYgcmVzb3VyY2VFbnRyeSA6IG1f
ZG9jdW1lbnRSZXNvdXJjZXMpIHsKKyAgICAgICAgYXV0byYgcmVzb3VyY2UgPSAqcmVzb3VyY2VF
bnRyeS52YWx1ZTsKKyAgICAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIiAgY2FjaGVkIHJlc291
cmNlICVwIC0gaGFzT25lSGFuZGxlICVkIiwgJnJlc291cmNlLCByZXNvdXJjZS5oYXNPbmVIYW5k
bGUoKSk7CiAKLSAgICAgICAgaWYgKHJlc291cmNlLnZhbHVlLT5oYXNPbmVIYW5kbGUoKSkKLSAg
ICAgICAgICAgIHJlc291cmNlc1RvRGVsZXRlLmFwcGVuZChyZXNvdXJjZS5rZXkpOworICAgICAg
ICBpZiAocmVzb3VyY2UuaGFzT25lSGFuZGxlKCkgJiYgIXJlc291cmNlLmxvYWRlcigpICYmICFy
ZXNvdXJjZS5pc1ByZWxvYWRlZCgpKSB7CisgICAgICAgICAgICByZXNvdXJjZXNUb0RlbGV0ZS5h
cHBlbmQocmVzb3VyY2VFbnRyeS5rZXkpOworICAgICAgICAgICAgbV9yZXNvdXJjZVRpbWluZ0lu
Zm8ucmVtb3ZlUmVzb3VyY2VUaW1pbmcocmVzb3VyY2UpOworICAgICAgICB9CiAgICAgfQogCiAg
ICAgZm9yIChhdXRvJiByZXNvdXJjZSA6IHJlc291cmNlc1RvRGVsZXRlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKaW5kZXggOTViNTJhYTNhZDI5Li4yZmE2
OTc3ZmFmZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlD
YWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNw
cApAQCAtMTIyLDcgKzEyMiw3IEBAIGJvb2wgTWVtb3J5Q2FjaGU6OmFkZChDYWNoZWRSZXNvdXJj
ZSYgcmVzb3VyY2UpCiAgICAgcmVzb3VyY2Uuc2V0SW5DYWNoZSh0cnVlKTsKICAgICAKICAgICBy
ZXNvdXJjZUFjY2Vzc2VkKHJlc291cmNlKTsKLSAgICAKKwogICAgIExPRyhSZXNvdXJjZUxvYWRp
bmcsICJNZW1vcnlDYWNoZTo6YWRkIEFkZGVkICclLjI1NXMnLCByZXNvdXJjZSAlcFxuIiwgcmVz
b3VyY2UudXJsKCkuc3RyaW5nKCkubGF0aW4xKCkuZGF0YSgpLCAmcmVzb3VyY2UpOwogICAgIHJl
dHVybiB0cnVlOwogfQpAQCAtNDE2LDcgKzQxNiw4IEBAIHZvaWQgTWVtb3J5Q2FjaGU6OnJlbW92
ZShDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpCiAgICAgICAgIH0KICAgICB9CiAKLSAgICByZXNv
dXJjZS5kZWxldGVJZlBvc3NpYmxlKCk7CisgICAgaWYgKHJlc291cmNlLmNhbkRlbGV0ZSgpKQor
ICAgICAgICByZXNvdXJjZS5kZWxldGVUaGlzKCk7CiB9CiAKIGF1dG8gTWVtb3J5Q2FjaGU6Omxy
dUxpc3RGb3IoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlKSAtPiBMUlVMaXN0Jgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429755</attachid>
            <date>2021-05-26 07:59:18 -0700</date>
            <delta_ts>2021-05-26 12:19:38 -0700</delta_ts>
            <desc>patch</desc>
            <filename>memory-cache-remove-expired-9.patch</filename>
            <type>text/plain</type>
            <size>10885</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhNTExMjgxM2JmYWEuLmRjMmQyMWEwZjIwYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDU1IEBACisyMDIxLTA1LTI0ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBEb24ndCBoYW5nIG9udG8gZXhwaXJlZCByZXNvdXJjZXMgd2l0aG91dCB2
YWxpZGF0aW9uIGhlYWRlcnMgaW4gbWVtb3J5IGNhY2hlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYwODMKKyAgICAgICAgcmRhcjovLzc4MDM1NjEy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhleSBj
b25zdW1lIG1lbW9yeSB3aGlsZSBvbmx5IHJlYWxseSBiZWluZyB1c2VmdWwgZm9yIGhpc3Rvcnkg
bmF2aWdhdGlvbi4KKyAgICAgICAgRGlzayBjYWNoZSBjYW4gaGFuZGxlIHRoZSByZWxhdGl2ZWx5
IHJhcmUgY2FzZXMgd2hlcmUgdGhhdCBpcyB1c2VmdWwgYW5kIG5vdAorICAgICAgICBjb3ZlcmVk
IGJ5IHRoZSBwYWdlIGNhY2hlLgorCisgICAgICAgICogbG9hZGVyL1Jlc291cmNlVGltaW5nSW5m
b3JtYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmdJbmZvcm1hdGlv
bjo6YWRkUmVzb3VyY2VUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmdJ
bmZvcm1hdGlvbjo6cmVtb3ZlUmVzb3VyY2VUaW1pbmcpOgorCisgICAgICAgIEFkZCB3YXkgdG8g
cmVtb3ZlIGVudHJpZXMgZnJvbSB0aGUgbWFwLgorCisgICAgICAgICogbG9hZGVyL1Jlc291cmNl
VGltaW5nSW5mb3JtYXRpb24uaDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnJlbW92ZUNsaWVudCk6
CisKKyAgICAgICAgUmVtb3ZhbCBmcm9tIGNhY2hlIGlzIG5vdyBoYW5kbGVkIGluIGRlbGV0ZUlm
UG9zc2libGUoKSBzbyBhbnkgcGF0aCB0aGF0IGdldHMgdGhlIHJlc291cmNlIHRvCisgICAgICAg
IGNhbkRlbGV0ZSgpIHN0YXRlIHdpbGwgZG8gY2FjaGUgcmVtb3ZhbCBjaGVjay4KKyAgICAgICAg
U2luY2UgZGVsZXRlSWZQb3NzaWJsZSBpcyBpbnZva2VkIGJ5IHJlbW92ZUNsaWVudCB0aGUgZXhp
c3RpbmcgYmVoYXZpb3IgaXMgY292ZXJlZC4KKworICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVz
b3VyY2U6OmRlbGV0ZUlmUG9zc2libGUpOgorCisgICAgICAgIFJlbW92ZSBleHBpcmVkIHJlc291
cmNlcyB3aXRob3V0IHZhbGlkYXRpb24gaGVhZGVycyBmcm9tIHRoZSBjYWNoZSBpZiB0aGUgcmVz
b3VyY2UgaXMgb3RoZXJ3aXNlIGRlbGV0YWJsZS4KKyAgICAgICAgQWxzbyBlYWdlcmx5IHJlbW92
ZSBuby1zdG9yZSBodHRwIHJlc291cmNlcyAocHJldmlvdXNseSBvbmx5IGh0dHBzIHdhcyByZW1v
dmVkKS4KKworICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmRlbGV0ZVRoaXMpOgor
CisgICAgICAgIEZhY3RvciBpbnRvIGEgZnVuY3Rpb24uCisKKyAgICAgICAgKiBsb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2UuaDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJl
cXVlc3RSZXNvdXJjZSk6CisKKyAgICAgICAgRW5zdXJlIGV4aXN0aW5nIHJlc291cmNlIGlzIHJl
bW92ZWQgZnJvbSBjYWNoZSBhZGRpbmcgYSBuZXcgb25lLiBUaGlzIHdhcyBjYXVzaW5nIGNvbmZ1
c2lvbiB3aXRoIGluQ2FjaGUgc3RhdGUuCisKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291
cmNlTG9hZGVyOjpnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzKToKKworICAgICAgICBE
b24ndCByZW1vdmUgZW50cmllcyB3aXRoIGFjdGl2ZSBsb2FkZXIuIFRoZXkgYXJlIG5lZWRlZCBm
b3IgcmVzb3VyY2UgdGltaW5nLgorICAgICAgICBEb24ndCBsZWF2ZSByZW1vdmVkIGVudHJpZXMg
dG8gUmVzb3VyY2VUaW1pbmdJbmZvcm1hdGlvbi4gVGhleSBhcmUgbm90IGd1YXJhbnRlZWQgdG8g
c3RheSBhbGl2ZSBhZnRlcgorICAgICAgICBiZWluZyByZW1vdmVkIGZyb20gbV9kb2N1bWVudFJl
c291cmNlcy4KKworICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6cmVtb3ZlKToKKworICAgICAgICBDYWxsIENhY2hl
ZFJlc291cmNlOjpkZWxldGVUaGlzKCkgZGlyZWN0bHkuCisKIDIwMjEtMDUtMjUgIEZ1amlpIEhp
cm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgUmVuYW1lIEltYWdl
QnVmZmVyOjp0cmFuc2Zvcm1Db2xvclNwYWNlIHRvIHRyYW5zZm9ybVRvQ29sb3JTcGFjZSwgYW5k
IGl0IHNob3VsZCB0YWtlIGEgc2luZ2xlIGFyZ3VtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VUaW1pbmdJbmZvcm1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VUaW1pbmdJbmZvcm1hdGlvbi5jcHAKaW5kZXggYmQ3ZGQ4YzAxNjc1
Li5hNjFjMjRkOGIzYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJj
ZVRpbWluZ0luZm9ybWF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3Vy
Y2VUaW1pbmdJbmZvcm1hdGlvbi5jcHAKQEAgLTg2LDYgKzg2LDExIEBAIHZvaWQgUmVzb3VyY2VU
aW1pbmdJbmZvcm1hdGlvbjo6YWRkUmVzb3VyY2VUaW1pbmcoQ2FjaGVkUmVzb3VyY2UmIHJlc291
cmNlLCBEb2N1CiAgICAgaW5mby5hZGRlZCA9IEFkZGVkOwogfQogCit2b2lkIFJlc291cmNlVGlt
aW5nSW5mb3JtYXRpb246OnJlbW92ZVJlc291cmNlVGltaW5nKENhY2hlZFJlc291cmNlJiByZXNv
dXJjZSkKK3sKKyAgICBtX2luaXRpYXRvck1hcC5yZW1vdmUoJnJlc291cmNlKTsKK30KKwogdm9p
ZCBSZXNvdXJjZVRpbWluZ0luZm9ybWF0aW9uOjpzdG9yZVJlc291cmNlVGltaW5nSW5pdGlhdG9y
SW5mb3JtYXRpb24oY29uc3QgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+JiBy
ZXNvdXJjZSwgY29uc3QgQXRvbVN0cmluZyYgaW5pdGlhdG9yTmFtZSwgRnJhbWUqIGZyYW1lKQog
ewogICAgIEFTU0VSVChyZXNvdXJjZS5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VUaW1pbmdJbmZvcm1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlVGltaW5nSW5mb3JtYXRpb24uaAppbmRleCA2ODI0NDMxMzEzYjcuLjk1NzQ3
MWJkY2I0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5n
SW5mb3JtYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VUaW1pbmdJ
bmZvcm1hdGlvbi5oCkBAIC00MSw2ICs0MSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBz
aG91bGRBZGRSZXNvdXJjZVRpbWluZyhDYWNoZWRSZXNvdXJjZSYpOwogCiAgICAgdm9pZCBhZGRS
ZXNvdXJjZVRpbWluZyhDYWNoZWRSZXNvdXJjZSYsIERvY3VtZW50JiwgUmVzb3VyY2VUaW1pbmcm
Jik7CisgICAgdm9pZCByZW1vdmVSZXNvdXJjZVRpbWluZyhDYWNoZWRSZXNvdXJjZSYpOwogICAg
IHZvaWQgc3RvcmVSZXNvdXJjZVRpbWluZ0luaXRpYXRvckluZm9ybWF0aW9uKGNvbnN0IENhY2hl
ZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiYsIGNvbnN0IEF0b21TdHJpbmcmLCBGcmFt
ZSopOwogCiBwcml2YXRlOgpAQCAtNDksNiArNTAsNyBAQCBwcml2YXRlOgogICAgICAgICBBdG9t
U3RyaW5nIG5hbWU7CiAgICAgICAgIEFscmVhZHlBZGRlZCBhZGRlZDsKICAgICB9OworICAgIC8v
IEZJWE1FOiBUaGlzIHNob3Vkbid0IHVzZSByYXcgcG9pbnRlciBhcyBpZGVudGlmaWVyICh0aG91
Z2ggaXQgaXMgbm90IGRlcmVmZXJlbmNlZCkuCiAgICAgSGFzaE1hcDxDYWNoZWRSZXNvdXJjZSos
IEluaXRpYXRvckluZm8+IG1faW5pdGlhdG9yTWFwOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKaW5kZXggYTRhN2MyZWRkN2IzLi4zMzM3
NTg2MjJmNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlLmNwcApAQCAtNTUyLDExICs1NTIsNiBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpyZW1vdmVD
bGllbnQoQ2FjaGVkUmVzb3VyY2VDbGllbnQmIGNsaWVudCkKICAgICAgICAgZGlkUmVtb3ZlQ2xp
ZW50KGNsaWVudCk7CiAgICAgfQogCi0gICAgaWYgKGRlbGV0ZUlmUG9zc2libGUoKSkgewotICAg
ICAgICAvLyBgdGhpc2Agb2JqZWN0IGlzIGRlYWQgaGVyZS4KLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLQogICAgIGlmIChoYXNDbGllbnRzKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtNTY1LDYg
KzU2MCwxMiBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpyZW1vdmVDbGllbnQoQ2FjaGVkUmVzb3Vy
Y2VDbGllbnQmIGNsaWVudCkKICAgICAgICAgbWVtb3J5Q2FjaGUucmVtb3ZlRnJvbUxpdmVSZXNv
dXJjZXNTaXplKCp0aGlzKTsKICAgICAgICAgbWVtb3J5Q2FjaGUucmVtb3ZlRnJvbUxpdmVEZWNv
ZGVkUmVzb3VyY2VzTGlzdCgqdGhpcyk7CiAgICAgfQorCisgICAgaWYgKGRlbGV0ZUlmUG9zc2li
bGUoKSkgeworICAgICAgICAvLyBgdGhpc2Agb2JqZWN0IGlzIGRlYWQgaGVyZS4KKyAgICAgICAg
cmV0dXJuOworICAgIH0KKwogICAgIGlmICghbV9zd2l0Y2hpbmdDbGllbnRzVG9SZXZhbGlkYXRl
ZFJlc291cmNlKQogICAgICAgICBhbGxDbGllbnRzUmVtb3ZlZCgpOwogICAgIGRlc3Ryb3lEZWNv
ZGVkRGF0YUlmTmVlZGVkKCk7CkBAIC01NzIsMTMgKzU3Myw2IEBAIHZvaWQgQ2FjaGVkUmVzb3Vy
Y2U6OnJlbW92ZUNsaWVudChDYWNoZWRSZXNvdXJjZUNsaWVudCYgY2xpZW50KQogICAgIGlmICgh
YWxsb3dzQ2FjaGluZygpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAocmVzcG9uc2UoKS5j
YWNoZUNvbnRyb2xDb250YWluc05vU3RvcmUoKSAmJiB1cmwoKS5wcm90b2NvbElzKCJodHRwcyIp
KSB7Ci0gICAgICAgIC8vIFJGQzI2MTYgMTQuOS4yOgotICAgICAgICAvLyAibm8tc3RvcmU6IC4u
LiBNVVNUIG1ha2UgYSBiZXN0LWVmZm9ydCBhdHRlbXB0IHRvIHJlbW92ZSB0aGUgaW5mb3JtYXRp
b24gZnJvbSB2b2xhdGlsZSBzdG9yYWdlIGFzIHByb21wdGx5IGFzIHBvc3NpYmxlIgotICAgICAg
ICAvLyAiLi4uIEhpc3RvcnkgYnVmZmVycyBNQVkgc3RvcmUgc3VjaCByZXNwb25zZXMgYXMgcGFy
dCBvZiB0aGVpciBub3JtYWwgb3BlcmF0aW9uLiIKLSAgICAgICAgLy8gV2UgYWxsb3cgbm9uLXNl
Y3VyZSBjb250ZW50IHRvIGJlIHJldXNlZCBpbiBoaXN0b3J5LCBidXQgd2UgZG8gbm90IGFsbG93
IHNlY3VyZSBjb250ZW50IHRvIGJlIHJldXNlZC4KLSAgICAgICAgbWVtb3J5Q2FjaGUucmVtb3Zl
KCp0aGlzKTsKLSAgICB9CiAgICAgbWVtb3J5Q2FjaGUucHJ1bmVTb29uKCk7CiB9CiAKQEAgLTYw
NCwyMSArNTk4LDQ5IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OmRlY29kZWREYXRhRGVsZXRpb25U
aW1lckZpcmVkKCkKIAogYm9vbCBDYWNoZWRSZXNvdXJjZTo6ZGVsZXRlSWZQb3NzaWJsZSgpCiB7
Ci0gICAgaWYgKGNhbkRlbGV0ZSgpKSB7Ci0gICAgICAgIExPRyhSZXNvdXJjZUxvYWRpbmcsICJD
YWNoZWRSZXNvdXJjZSAlcCBkZWxldGVJZlBvc3NpYmxlIC0gY2FuIGRlbGV0ZSwgaW4gY2FjaGUg
JWQiLCB0aGlzLCBpbkNhY2hlKCkpOwotICAgICAgICBpZiAoIWluQ2FjaGUoKSkgewotICAgICAg
ICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRGVzdHJveUNhY2hlZFJlc291cmNl
KCp0aGlzKTsKLSAgICAgICAgICAgIGRlbGV0ZSB0aGlzOworICAgIGlmICghY2FuRGVsZXRlKCkp
IHsKKyAgICAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIkNhY2hlZFJlc291cmNlICVwIGRlbGV0
ZUlmUG9zc2libGUgLSBjYW4ndCBkZWxldGUgKGhhc0NsaWVudHMgJWQgbG9hZGVyICVwIHByZWxv
YWRDb3VudCAldSBoYW5kbGVDb3VudCAldSByZXNvdXJjZVRvUmV2YWxpZGF0ZSAlcCBwcm94eVJl
c291cmNlICVwKSIsIHRoaXMsIGhhc0NsaWVudHMoKSwgbV9sb2FkZXIuZ2V0KCksIG1fcHJlbG9h
ZENvdW50LCBtX2hhbmRsZUNvdW50LCBtX3Jlc291cmNlVG9SZXZhbGlkYXRlLCBtX3Byb3h5UmVz
b3VyY2UpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgTE9HKFJlc291cmNl
TG9hZGluZywgIkNhY2hlZFJlc291cmNlICVwIGRlbGV0ZUlmUG9zc2libGUgLSBjYW4gZGVsZXRl
LCBpbiBjYWNoZSAlZCIsIHRoaXMsIGluQ2FjaGUoKSk7CisKKyAgICBpZiAoIWluQ2FjaGUoKSkg
eworICAgICAgICBkZWxldGVUaGlzKCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwor
ICAgIGF1dG8gc2hvdWxkUmVtb3ZlRnJvbUNhY2hlID0gWyZdIHsKKyAgICAgICAgLy8gV2UgbWF5
IHN0aWxsIGtlZXBzIHNvbWUgb2YgdGhlc2UgY2FzZXMgaW4gZGlzayBjYWNoZSBmb3IgaGlzdG9y
eSBuYXZpZ2F0aW9uLgorICAgICAgICBpZiAocmVzcG9uc2UoKS5jYWNoZUNvbnRyb2xDb250YWlu
c05vU3RvcmUoKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9Ci0gICAgICAg
IGlmIChtX2RhdGEpCi0gICAgICAgICAgICBtX2RhdGEtPmhpbnRNZW1vcnlOb3ROZWVkZWRTb29u
KCk7CisgICAgICAgIGlmIChpc0V4cGlyZWQoKSAmJiAhY2FuVXNlQ2FjaGVWYWxpZGF0b3IoKSkK
KyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSgp
OworCisgICAgaWYgKHNob3VsZFJlbW92ZUZyb21DYWNoZSkgeworICAgICAgICAvLyBEZWxldGVz
IHRoaXMuCisgICAgICAgIE1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5yZW1vdmUoKnRoaXMpOwor
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAi
Q2FjaGVkUmVzb3VyY2UgJXAgZGVsZXRlSWZQb3NzaWJsZSAtIGNhbid0IGRlbGV0ZSAoaGFzQ2xp
ZW50cyAlZCBsb2FkZXIgJXAgcHJlbG9hZENvdW50ICV1IGhhbmRsZUNvdW50ICV1IHJlc291cmNl
VG9SZXZhbGlkYXRlICVwIHByb3h5UmVzb3VyY2UgJXApIiwgdGhpcywgaGFzQ2xpZW50cygpLCBt
X2xvYWRlci5nZXQoKSwgbV9wcmVsb2FkQ291bnQsIG1faGFuZGxlQ291bnQsIG1fcmVzb3VyY2VU
b1JldmFsaWRhdGUsIG1fcHJveHlSZXNvdXJjZSk7CisgICAgaWYgKG1fZGF0YSkKKyAgICAgICAg
bV9kYXRhLT5oaW50TWVtb3J5Tm90TmVlZGVkU29vbigpOworCiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCit2b2lkIENhY2hlZFJlc291cmNlOjpkZWxldGVUaGlzKCkKK3sKKyAgICBSRUxFQVNFX0FT
U0VSVChjYW5EZWxldGUoKSk7CisgICAgUkVMRUFTRV9BU1NFUlQoIWluQ2FjaGUoKSk7CisKKyAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxEZXN0cm95Q2FjaGVkUmVzb3VyY2UoKnRo
aXMpOworCisgICAgZGVsZXRlIHRoaXM7Cit9CisKIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnNldERl
Y29kZWRTaXplKHVuc2lnbmVkIHNpemUpCiB7CiAgICAgaWYgKHNpemUgPT0gbV9kZWNvZGVkU2l6
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKaW5kZXgg
NzBjYzlhYjg2ODc4Li5iZjI1Y2FkZDQzNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5oCkBAIC0zMTAsNiArMzEwLDggQEAgcHJvdGVjdGVkOgogcHJp
dmF0ZToKICAgICBjbGFzcyBDYWxsYmFjazsKIAorICAgIHZvaWQgZGVsZXRlVGhpcygpOworCiAg
ICAgYm9vbCBhZGRDbGllbnRUb1NldChDYWNoZWRSZXNvdXJjZUNsaWVudCYpOwogCiAgICAgdm9p
ZCBkZWNvZGVkRGF0YURlbGV0aW9uVGltZXJGaXJlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggMjZmZmRiZmJj
OWQxLi5iY2MwZjRlMzdmZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtOTkyLDggKzk5MiwxMCBAQCBSZXNvdXJj
ZUVycm9yT3I8Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+PiBDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6cmVxdQogICAgICAgICBtZW1vcnlDYWNoZS5yZW1vdmUoKnJlc291cmNlKTsK
ICAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgY2FzZSBMb2FkOgotICAgICAgICBpZiAocmVzb3Vy
Y2UpCisgICAgICAgIGlmIChyZXNvdXJjZSkgewogICAgICAgICAgICAgbG9nTWVtb3J5Q2FjaGVS
ZXNvdXJjZVJlcXVlc3QoJmZyYW1lLCBEaWFnbm9zdGljTG9nZ2luZ0tleXM6Om1lbW9yeUNhY2hl
RW50cnlEZWNpc2lvbktleSgpLCBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OnVudXNlZEtleSgpKTsK
KyAgICAgICAgICAgIG1lbW9yeUNhY2hlLnJlbW92ZSgqcmVzb3VyY2UpOworICAgICAgICB9CiAg
ICAgICAgIHJlc291cmNlID0gbG9hZFJlc291cmNlKHR5cGUsIHBhZ2Uuc2Vzc2lvbklEKCksIFdU
Rk1vdmUocmVxdWVzdCksIGNvb2tpZUphciwgcGFnZS5zZXR0aW5ncygpKTsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBSZXZhbGlkYXRlOgpAQCAtMTQ0MywxMSArMTQ0NSwxNCBAQCB2b2lkIENh
Y2hlZFJlc291cmNlTG9hZGVyOjpnYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzKCkKICAg
ICB0eXBlZGVmIFZlY3RvcjxTdHJpbmcsIDEwPiBTdHJpbmdWZWN0b3I7CiAgICAgU3RyaW5nVmVj
dG9yIHJlc291cmNlc1RvRGVsZXRlOwogCi0gICAgZm9yIChhdXRvJiByZXNvdXJjZSA6IG1fZG9j
dW1lbnRSZXNvdXJjZXMpIHsKLSAgICAgICAgTE9HKFJlc291cmNlTG9hZGluZywgIiAgY2FjaGVk
IHJlc291cmNlICVwIC0gaGFzT25lSGFuZGxlICVkIiwgcmVzb3VyY2UudmFsdWUuZ2V0KCksIHJl
c291cmNlLnZhbHVlLT5oYXNPbmVIYW5kbGUoKSk7CisgICAgZm9yIChhdXRvJiByZXNvdXJjZUVu
dHJ5IDogbV9kb2N1bWVudFJlc291cmNlcykgeworICAgICAgICBhdXRvJiByZXNvdXJjZSA9ICpy
ZXNvdXJjZUVudHJ5LnZhbHVlOworICAgICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiICBjYWNo
ZWQgcmVzb3VyY2UgJXAgLSBoYXNPbmVIYW5kbGUgJWQiLCAmcmVzb3VyY2UsIHJlc291cmNlLmhh
c09uZUhhbmRsZSgpKTsKIAotICAgICAgICBpZiAocmVzb3VyY2UudmFsdWUtPmhhc09uZUhhbmRs
ZSgpKQotICAgICAgICAgICAgcmVzb3VyY2VzVG9EZWxldGUuYXBwZW5kKHJlc291cmNlLmtleSk7
CisgICAgICAgIGlmIChyZXNvdXJjZS5oYXNPbmVIYW5kbGUoKSAmJiAhcmVzb3VyY2UubG9hZGVy
KCkgJiYgIXJlc291cmNlLmlzUHJlbG9hZGVkKCkpIHsKKyAgICAgICAgICAgIHJlc291cmNlc1Rv
RGVsZXRlLmFwcGVuZChyZXNvdXJjZUVudHJ5LmtleSk7CisgICAgICAgICAgICBtX3Jlc291cmNl
VGltaW5nSW5mby5yZW1vdmVSZXNvdXJjZVRpbWluZyhyZXNvdXJjZSk7CisgICAgICAgIH0KICAg
ICB9CiAKICAgICBmb3IgKGF1dG8mIHJlc291cmNlIDogcmVzb3VyY2VzVG9EZWxldGUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcAppbmRleCA5NWI1MmFhM2Fk
MjkuLjJmYTY5NzdmYWZlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L01lbW9yeUNhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5
Q2FjaGUuY3BwCkBAIC0xMjIsNyArMTIyLDcgQEAgYm9vbCBNZW1vcnlDYWNoZTo6YWRkKENhY2hl
ZFJlc291cmNlJiByZXNvdXJjZSkKICAgICByZXNvdXJjZS5zZXRJbkNhY2hlKHRydWUpOwogICAg
IAogICAgIHJlc291cmNlQWNjZXNzZWQocmVzb3VyY2UpOwotICAgIAorCiAgICAgTE9HKFJlc291
cmNlTG9hZGluZywgIk1lbW9yeUNhY2hlOjphZGQgQWRkZWQgJyUuMjU1cycsIHJlc291cmNlICVw
XG4iLCByZXNvdXJjZS51cmwoKS5zdHJpbmcoKS5sYXRpbjEoKS5kYXRhKCksICZyZXNvdXJjZSk7
CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC00MTYsNyArNDE2LDggQEAgdm9pZCBNZW1vcnlDYWNo
ZTo6cmVtb3ZlKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSkKICAgICAgICAgfQogICAgIH0KIAot
ICAgIHJlc291cmNlLmRlbGV0ZUlmUG9zc2libGUoKTsKKyAgICBpZiAocmVzb3VyY2UuY2FuRGVs
ZXRlKCkpCisgICAgICAgIHJlc291cmNlLmRlbGV0ZVRoaXMoKTsKIH0KIAogYXV0byBNZW1vcnlD
YWNoZTo6bHJ1TGlzdEZvcihDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpIC0+IExSVUxpc3QmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>