<?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>204027</bug_id>
          
          <creation_ts>2019-11-08 15:34:18 -0800</creation_ts>
          <short_desc>Add size file for CacheStorage</short_desc>
          <delta_ts>2019-11-12 17:24:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sihui Liu">sihui_liu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1588867</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-11-08 15:34:18 -0800</bug_when>
    <thetext>... so we can look at the size file and get the size of record without waiting for Caches to initialize.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588871</commentid>
    <comment_count>1</comment_count>
      <attachid>383174</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-11-08 15:52:39 -0800</bug_when>
    <thetext>Created attachment 383174
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1588903</commentid>
    <comment_count>2</comment_count>
      <attachid>383174</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-11-08 17:08:36 -0800</bug_when>
    <thetext>Comment on attachment 383174
Patch

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

&gt; Source/WebKit/ChangeLog:8
&gt; +        No behavior change as the file is not in use now.

I do not think we should do that in NetworkCacheStorage.
Instead, we could do it in CacheStorage::Caches::writeRecord/removeRecord/writeCachesToDisk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589360</commentid>
    <comment_count>3</comment_count>
      <attachid>383313</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-11-11 16:19:08 -0800</bug_when>
    <thetext>Created attachment 383313
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589373</commentid>
    <comment_count>4</comment_count>
      <attachid>383313</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-11-11 16:55:10 -0800</bug_when>
    <thetext>Comment on attachment 383313
Patch

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

&gt; Source/WebKit/NetworkProcess/cache/CacheStorageEngine.cpp:470
&gt; +    m_ioQueue-&gt;dispatch([path = path.isolatedCopy(), size]() mutable {

mutable?

&gt; Source/WebKit/NetworkProcess/cache/CacheStorageEngine.cpp:481
&gt; +        auto sizeString = String::number(size).utf8();

Could be a oneliner.

&gt; Source/WebKit/NetworkProcess/cache/CacheStorageEngine.cpp:512
&gt; +    return String::fromUTF8(buffer.data()).toUIntStrict();

toUInt64Strict

&gt; Source/WebKit/NetworkProcess/cache/CacheStorageEngine.h:88
&gt; +    static Optional&lt;uint64_t&gt; readSizeFile(const String&amp; path);

&apos;path&apos; not really useful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589397</commentid>
    <comment_count>5</comment_count>
      <attachid>383319</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-11-11 17:05:21 -0800</bug_when>
    <thetext>Created attachment 383319
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589428</commentid>
    <comment_count>6</comment_count>
      <attachid>383319</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-11 17:49:33 -0800</bug_when>
    <thetext>Comment on attachment 383319
Patch for landing

Clearing flags on attachment: 383319

Committed r252351: &lt;https://trac.webkit.org/changeset/252351&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589429</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-11 17:49:35 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589430</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-11-11 17:50:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/57100861&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589581</commentid>
    <comment_count>9</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2019-11-12 11:05:51 -0800</bug_when>
    <thetext>It looks like the added assertion in https://trac.webkit.org/changeset/252351/webkit

is causing testing to exit early on Mac and iOS wk2 debug

Build:
https://build.webkit.org/builders/Apple%20Mojave%20Debug%20WK2%20%28Tests%29/builds/5776

crash:
Thread 6 Crashed:: Dispatch queue: com.apple.WebKit.CacheStorageEngine.serialBackground
0   com.apple.JavaScriptCore      	0x000000012d434ad0 WTFCrash + 16 (Assertions.cpp:305)
1   com.apple.JavaScriptCore      	0x000000012e94dbfb WTFCrashWithInfo(int, char const*, char const*, int) + 27
2   com.apple.JavaScriptCore      	0x000000012d472958 WTF::FileSystemImpl::unlockAndCloseFile(int) + 104 (FileSystem.cpp:365)
3   com.apple.WebKit              	0x000000010de4fc6a WebKit::CacheStorage::Engine::writeSizeFile(WTF::String const&amp;, unsigned long long)::$_48::operator()() const::&apos;lambda&apos;()::operator()() const + 26 (CacheStorageEngine.cpp:474)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589582</commentid>
    <comment_count>10</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2019-11-12 11:07:45 -0800</bug_when>
    <thetext>Reverted r252351 for reason:

casued 50+ crashes on Mac and iOS wk2 debug

Committed r252369: &lt;https://trac.webkit.org/changeset/252369&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589616</commentid>
    <comment_count>11</comment_count>
      <attachid>383375</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-11-12 13:39:11 -0800</bug_when>
    <thetext>Created attachment 383375
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589671</commentid>
    <comment_count>12</comment_count>
      <attachid>383396</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-11-12 15:58:00 -0800</bug_when>
    <thetext>Created attachment 383396
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589672</commentid>
    <comment_count>13</comment_count>
      <attachid>383397</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-11-12 16:03:00 -0800</bug_when>
    <thetext>Created attachment 383397
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589719</commentid>
    <comment_count>14</comment_count>
      <attachid>383397</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-12 17:24:34 -0800</bug_when>
    <thetext>Comment on attachment 383397
Patch for landing

Clearing flags on attachment: 383397

Committed r252381: &lt;https://trac.webkit.org/changeset/252381&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1589720</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-12 17:24:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383174</attachid>
            <date>2019-11-08 15:52:39 -0800</date>
            <delta_ts>2019-11-11 16:19:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204027-20191108155236.patch</filename>
            <type>text/plain</type>
            <size>8228</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDZkNDdjYjJkMTlkZTZkZDFi
NWM5YmE0ZjRkYmJjYTc2YTM4YTU5NWYuLmEyN2JmYzI2NTVhMmU0YmQ2OWZiN2Y2NjYwNTQxMGQ5
NTM3NjAyNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTktMTEtMDggIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHNpemUgZmlsZSBmb3IgQ2Fj
aGUgcmVjb3JkcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA0MDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTm8gYmVoYXZpb3IgY2hhbmdlIGFzIHRoZSBmaWxlIGlzIG5vdCBpbiB1c2Ugbm93LgorCisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6c2l6ZUZpbGVQYXRoRm9yS2V5
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpkZWxldGVG
aWxlcyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6ZGlzcGF0Y2hS
ZWFkT3BlcmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpk
aXNwYXRjaFdyaXRlT3BlcmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpT
dG9yYWdlOjp0cmF2ZXJzZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFn
ZTo6dXBkYXRlU2l6ZUZpbGUpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3Jh
Z2U6OmNyZWF0ZVNpemVGaWxlSWZOb3RFeGlzdHMpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
Q2FjaGU6OlN0b3JhZ2U6OmdldFJlY29yZFNpemUpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
Q2FjaGU6OlN0b3JhZ2U6OnJlYWRTaXplRnJvbUZpbGUpOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuaDoKKwogMjAxOS0xMS0wOCAgQ2FybG9zIEdh
cmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gQWRkIHBv
aW50ZXIgbG9jayBwZXJtaXNzaW9uIHJlcXVlc3QgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAppbmRl
eCBhMzkyNGU2MGY3Y2UyZGViYjZjNjgxYTJhYzY3ZTJjYjVkNzc2NjRmLi4wZWM3NDU2MDEzNzJk
MGRkMDcyN2MxMDkxMjQ3NGE0NDY2NjBjNmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKQEAgLTM2
LDYgKzM2LDcgQEAKICNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9SYW5kb21O
dW1iZXIuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgorI2luY2x1ZGUgPHd0Zi9TY29wZS5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdDb25jYXRlbmF0ZU51bWJlcnMuaD4KIApAQCAtMzgyLDYgKzM4MywxMSBAQCBTdHJpbmcgU3Rv
cmFnZTo6cmVjb3JkUGF0aEZvcktleShjb25zdCBLZXkmIGtleSkgY29uc3QKICAgICByZXR1cm4g
RmlsZVN5c3RlbTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KHJlY29yZERpcmVjdG9yeVBhdGhG
b3JLZXkoa2V5KSwga2V5Lmhhc2hBc1N0cmluZygpKTsKIH0KIAorU3RyaW5nIFN0b3JhZ2U6OnNp
emVGaWxlUGF0aEZvcktleShjb25zdCBLZXkmIGtleSkgY29uc3QKK3sKKyAgICByZXR1cm4gRmls
ZVN5c3RlbTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KHJlY29yZERpcmVjdG9yeVBhdGhGb3JL
ZXkoa2V5KSwgInNpemUiX3MpOworfQorCiBzdGF0aWMgU3RyaW5nIGJsb2JQYXRoRm9yUmVjb3Jk
UGF0aChjb25zdCBTdHJpbmcmIHJlY29yZFBhdGgpCiB7CiAgICAgcmV0dXJuIHJlY29yZFBhdGgg
KyBibG9iU3VmZml4OwpAQCAtNjIzLDYgKzYyOSw3IEBAIHZvaWQgU3RvcmFnZTo6ZGVsZXRlRmls
ZXMoY29uc3QgS2V5JiBrZXkpCiAgICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7CiAKICAg
ICBGaWxlU3lzdGVtOjpkZWxldGVGaWxlKHJlY29yZFBhdGhGb3JLZXkoa2V5KSk7CisgICAgRmls
ZVN5c3RlbTo6ZGVsZXRlRmlsZShzaXplRmlsZVBhdGhGb3JLZXkoa2V5KSk7CiAgICAgbV9ibG9i
U3RvcmFnZS5yZW1vdmUoYmxvYlBhdGhGb3JLZXkoa2V5KSk7CiB9CiAKQEAgLTY2OCw4ICs2NzUs
MTMgQEAgdm9pZCBTdG9yYWdlOjpkaXNwYXRjaFJlYWRPcGVyYXRpb24oc3RkOjp1bmlxdWVfcHRy
PFJlYWRPcGVyYXRpb24+IHJlYWRPcGVyYXRpb24KICAgICAgICAgYXV0byBjaGFubmVsID0gSU9D
aGFubmVsOjpvcGVuKHJlY29yZFBhdGgsIElPQ2hhbm5lbDo6VHlwZTo6UmVhZCk7CiAgICAgICAg
IGNoYW5uZWwtPnJlYWQoMCwgc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKSwgJmlv
UXVldWUoKSwgW3RoaXMsICZyZWFkT3BlcmF0aW9uXShjb25zdCBEYXRhJiBmaWxlRGF0YSwgaW50
IGVycm9yKSB7CiAgICAgICAgICAgICByZWFkT3BlcmF0aW9uLnRpbWluZ3MucmVjb3JkSU9FbmRU
aW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7Ci0gICAgICAgICAgICBpZiAoIWVycm9yKQorICAg
ICAgICAgICAgaWYgKCFlcnJvcikgewogICAgICAgICAgICAgICAgIHJlYWRSZWNvcmQocmVhZE9w
ZXJhdGlvbiwgZmlsZURhdGEpOworICAgICAgICAgICAgICAgIGlmIChhdXRvKiByZWNvcmRQdHIg
PSByZWFkT3BlcmF0aW9uLnJlc3VsdFJlY29yZC5nZXQoKSkgeworICAgICAgICAgICAgICAgICAg
ICBpZiAoYXV0byBzaXplID0gZ2V0UmVjb3JkU2l6ZSgqcmVjb3JkUHRyKSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGNyZWF0ZVNpemVGaWxlSWZOb3RFeGlzdHMocmVjb3JkUHRyLT5rZXksICpz
aXplKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBmaW5p
c2hSZWFkT3BlcmF0aW9uKHJlYWRPcGVyYXRpb24pOwogICAgICAgICB9KTsKIApAQCAtODE4LDYg
KzgzMCw5IEBAIHZvaWQgU3RvcmFnZTo6ZGlzcGF0Y2hXcml0ZU9wZXJhdGlvbihzdGQ6OnVuaXF1
ZV9wdHI8V3JpdGVPcGVyYXRpb24+IHdyaXRlT3BlcmF0CiAKICAgICAgICAgICAgIExPRyhOZXR3
b3JrQ2FjaGVTdG9yYWdlLCAiKE5ldHdvcmtQcm9jZXNzKSB3cml0ZSBjb21wbGV0ZSBlcnJvcj0l
ZCIsIGVycm9yKTsKICAgICAgICAgfSk7CisKKyAgICAgICAgaWYgKGF1dG8gc2l6ZSA9IGdldFJl
Y29yZFNpemUod3JpdGVPcGVyYXRpb24ucmVjb3JkKSkKKyAgICAgICAgICAgIHVwZGF0ZVNpemVG
aWxlKHdyaXRlT3BlcmF0aW9uLnJlY29yZC5rZXksICpzaXplKTsKICAgICB9KTsKIH0KIApAQCAt
OTM5LDYgKzk1NCwxMSBAQCB2b2lkIFN0b3JhZ2U6OnRyYXZlcnNlKGNvbnN0IFN0cmluZyYgdHlw
ZSwgT3B0aW9uU2V0PFRyYXZlcnNlRmxhZz4gZmxhZ3MsIFRyYXZlcgogICAgICAgICAgICAgICAg
ICAgICAgICAgU3RyaW5nOjpmcm9tVVRGOChTSEExOjpoZXhEaWdlc3QobWV0YURhdGEuYm9keUhh
c2gpKQogICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgICB0cmF2ZXJz
ZU9wZXJhdGlvbi5oYW5kbGVyKCZyZWNvcmQsIGluZm8pOworCisgICAgICAgICAgICAgICAgICAg
IGlvUXVldWUoKS5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMp
LCAmcmVjb3JkXSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXV0byBzaXplID0gZ2V0
UmVjb3JkU2l6ZShyZWNvcmQpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZVNp
emVGaWxlSWZOb3RFeGlzdHMocmVjb3JkLmtleSwgKnNpemUpOworICAgICAgICAgICAgICAgICAg
ICB9KTsKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBzdGQ6OmxvY2tfZ3Vh
cmQ8TG9jaz4gbG9jayh0cmF2ZXJzZU9wZXJhdGlvbi5hY3RpdmVNdXRleCk7CkBAIC0xMTM1LDUg
KzExNTUsODMgQEAgdm9pZCBTdG9yYWdlOjpkZWxldGVPbGRWZXJzaW9ucygpCiAgICAgfSk7CiB9
CiAKK3ZvaWQgU3RvcmFnZTo6dXBkYXRlU2l6ZUZpbGUoY29uc3QgS2V5JiBrZXksIHNpemVfdCBz
aXplKQoreworICAgIGF1dG8gc2l6ZUZpbGVQYXRoID0gc2l6ZUZpbGVQYXRoRm9yS2V5KGtleSk7
CisgICAgYXV0byBmaWxlSGFuZGxlID0gRmlsZVN5c3RlbTo6b3BlbkFuZExvY2tGaWxlKHNpemVG
aWxlUGF0aCwgRmlsZVN5c3RlbTo6RmlsZU9wZW5Nb2RlOjpXcml0ZSwge0ZpbGVTeXN0ZW06OkZp
bGVMb2NrTW9kZTo6RXhjbHVzaXZlfSk7CisgICAgYXV0byBjbG9zZUZpbGVIYW5kbGUgPSBtYWtl
U2NvcGVFeGl0KFsmXSB7CisgICAgICAgIEZpbGVTeXN0ZW06OnVubG9ja0FuZENsb3NlRmlsZShm
aWxlSGFuZGxlKTsKKyAgICB9KTsKKworICAgIGlmICghRmlsZVN5c3RlbTo6aXNIYW5kbGVWYWxp
ZChmaWxlSGFuZGxlKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgRmlsZVN5c3RlbTo6dHJ1bmNh
dGVGaWxlKGZpbGVIYW5kbGUsIDApOworCisgICAgYXV0byBzaXplU3RyaW5nID0gU3RyaW5nOjpu
dW1iZXIoc2l6ZSkudXRmOCgpOworICAgIEZpbGVTeXN0ZW06OndyaXRlVG9GaWxlKGZpbGVIYW5k
bGUsIHNpemVTdHJpbmcuZGF0YSgpLCBzaXplU3RyaW5nLmxlbmd0aCgpKTsKK30KKwordm9pZCBT
dG9yYWdlOjpjcmVhdGVTaXplRmlsZUlmTm90RXhpc3RzKGNvbnN0IEtleSYga2V5LCBzaXplX3Qg
c2l6ZSkKK3sKKyAgICBhdXRvIHNpemVGaWxlUGF0aCA9IHNpemVGaWxlUGF0aEZvcktleShrZXkp
OworICAgIGlmIChGaWxlU3lzdGVtOjpmaWxlRXhpc3RzKHNpemVGaWxlUGF0aCkpCisgICAgICAg
IHJldHVybjsKKworICAgIGF1dG8gZmlsZUhhbmRsZSA9IEZpbGVTeXN0ZW06Om9wZW5BbmRMb2Nr
RmlsZShzaXplRmlsZVBhdGgsIEZpbGVTeXN0ZW06OkZpbGVPcGVuTW9kZTo6V3JpdGUsIHtGaWxl
U3lzdGVtOjpGaWxlTG9ja01vZGU6OkV4Y2x1c2l2ZX0pOworICAgIGF1dG8gY2xvc2VGaWxlSGFu
ZGxlID0gbWFrZVNjb3BlRXhpdChbJl0geworICAgICAgICBGaWxlU3lzdGVtOjp1bmxvY2tBbmRD
bG9zZUZpbGUoZmlsZUhhbmRsZSk7CisgICAgfSk7CisKKyAgICBpZiAoIUZpbGVTeXN0ZW06Omlz
SGFuZGxlVmFsaWQoZmlsZUhhbmRsZSkpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8gc2l6
ZVN0cmluZyA9IFN0cmluZzo6bnVtYmVyKHNpemUpLnV0ZjgoKTsKKyAgICBGaWxlU3lzdGVtOjp3
cml0ZVRvRmlsZShmaWxlSGFuZGxlLCBzaXplU3RyaW5nLmRhdGEoKSwgc2l6ZVN0cmluZy5sZW5n
dGgoKSk7Cit9CisKK09wdGlvbmFsPHVpbnQ2NF90PiBTdG9yYWdlOjpnZXRSZWNvcmRTaXplKGNv
bnN0IFJlY29yZCYgcmVjb3JkKQoreworICAgIFdURjo6UGVyc2lzdGVuY2U6OkRlY29kZXIgZGVj
b2RlcihyZWNvcmQuaGVhZGVyLmRhdGEoKSwgcmVjb3JkLmhlYWRlci5zaXplKCkpOworCisgICAg
ZG91YmxlIGluc2VydGlvblRpbWU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShpbnNlcnRpb25U
aW1lKSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIHVpbnQ2NF90IHNpemU7
CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShzaXplKSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKKyAgICAKKyAgICByZXR1cm4gc2l6ZTsKK30KKworT3B0aW9uYWw8dWludDY0X3Q+IFN0
b3JhZ2U6OnJlYWRTaXplRnJvbUZpbGUoY29uc3QgU3RyaW5nJiBzaXplRmlsZVBhdGgpCit7Cisg
ICAgQVNTRVJUKEZpbGVTeXN0ZW06OmZpbGVFeGlzdHMoc2l6ZUZpbGVQYXRoKSk7CisgICAgQVNT
RVJUKCFpc01haW5UaHJlYWQoKSk7CisgICAgYXV0byBmaWxlSGFuZGxlID0gRmlsZVN5c3RlbTo6
b3BlbkFuZExvY2tGaWxlKHNpemVGaWxlUGF0aCwgRmlsZVN5c3RlbTo6RmlsZU9wZW5Nb2RlOjpS
ZWFkLCB7RmlsZVN5c3RlbTo6RmlsZUxvY2tNb2RlOjpFeGNsdXNpdmV9KTsKKyAgICBhdXRvIGNs
b3NlRmlsZUhhbmRsZSA9IG1ha2VTY29wZUV4aXQoWyZdIHsKKyAgICAgICAgRmlsZVN5c3RlbTo6
dW5sb2NrQW5kQ2xvc2VGaWxlKGZpbGVIYW5kbGUpOworICAgIH0pOworCisgICAgaWYgKCFGaWxl
U3lzdGVtOjppc0hhbmRsZVZhbGlkKGZpbGVIYW5kbGUpKQorICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OworCisgICAgbG9uZyBsb25nIGZpbGVTaXplID0gMDsKKyAgICBpZiAoIUZpbGVTeXN0
ZW06OmdldEZpbGVTaXplKHNpemVGaWxlUGF0aCwgZmlsZVNpemUpIHx8ICFmaWxlU2l6ZSkKKyAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIHNpemVfdCBieXRlc1RvUmVhZDsKKyAg
ICBpZiAoIVdURjo6Y29udmVydFNhZmVseShmaWxlU2l6ZSwgYnl0ZXNUb1JlYWQpKQorICAgICAg
ICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgVmVjdG9yPGNoYXI+IGJ1ZmZlcihieXRlc1Rv
UmVhZCk7CisgICAgc2l6ZV90IHRvdGFsQnl0ZXNSZWFkID0gRmlsZVN5c3RlbTo6cmVhZEZyb21G
aWxlKGZpbGVIYW5kbGUsIGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5zaXplKCkpOworICAgIGlmICh0
b3RhbEJ5dGVzUmVhZCAhPSBieXRlc1RvUmVhZCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKKworICAgIHJldHVybiBTdHJpbmcoU3RyaW5nOjpmcm9tVVRGOChidWZmZXIuZGF0YSgpKSku
dG9VSW50U3RyaWN0KCk7Cit9CisKIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5oIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmgKaW5kZXggNDJlNTU2Mjk3
MWQxOTE5ZWEzOWRkMmQwMjBlODk4ZjYzODFkMDU4NS4uYjZjM2E0NmIxOTMwOWUwNDIwNDFhNTE3
YzEwZTAxYjU4MGNmMGY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmgKQEAgLTEyMyw2ICsxMjMsOCBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIHdyaXRlV2l0aG91dFdhaXRpbmcoKSB7IG1faW5pdGlhbFdyaXRl
RGVsYXkgPSAwX3M7IH07CiAKKyAgICBzdGF0aWMgT3B0aW9uYWw8dWludDY0X3Q+IHJlYWRTaXpl
RnJvbUZpbGUoY29uc3QgU3RyaW5nJiBzaXplRmlsZVBhdGgpOworCiBwcml2YXRlOgogICAgIFN0
b3JhZ2UoY29uc3QgU3RyaW5nJiBkaXJlY3RvcnlQYXRoLCBNb2RlLCBTYWx0KTsKIApAQCAtMTMw
LDYgKzEzMiwxMCBAQCBwcml2YXRlOgogICAgIFN0cmluZyByZWNvcmRQYXRoRm9yS2V5KGNvbnN0
IEtleSYpIGNvbnN0OwogICAgIFN0cmluZyBibG9iUGF0aEZvcktleShjb25zdCBLZXkmKSBjb25z
dDsKIAorICAgIFN0cmluZyBzaXplRmlsZVBhdGhGb3JLZXkoY29uc3QgS2V5JikgY29uc3Q7Cisg
ICAgdm9pZCBjcmVhdGVTaXplRmlsZUlmTm90RXhpc3RzKGNvbnN0IEtleSYsIHNpemVfdCk7Cisg
ICAgdm9pZCB1cGRhdGVTaXplRmlsZShjb25zdCBLZXkmLCBzaXplX3QpOworCiAgICAgdm9pZCBz
eW5jaHJvbml6ZSgpOwogICAgIHZvaWQgZGVsZXRlT2xkVmVyc2lvbnMoKTsKICAgICB2b2lkIHNo
cmlua0lmTmVlZGVkKCk7CkBAIC0xNjQsNiArMTcwLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGFk
ZFRvUmVjb3JkRmlsdGVyKGNvbnN0IEtleSYpOwogICAgIHZvaWQgZGVsZXRlRmlsZXMoY29uc3Qg
S2V5Jik7CiAKKyAgICBPcHRpb25hbDx1aW50NjRfdD4gZ2V0UmVjb3JkU2l6ZShjb25zdCBSZWNv
cmQmKTsKKwogICAgIGNvbnN0IFN0cmluZyBtX2Jhc2VQYXRoOwogICAgIGNvbnN0IFN0cmluZyBt
X3JlY29yZHNQYXRoOwogICAgIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383313</attachid>
            <date>2019-11-11 16:19:08 -0800</date>
            <delta_ts>2019-11-11 17:05:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204027-20191111161907.patch</filename>
            <type>text/plain</type>
            <size>7892</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMzM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNlYTJkZDc0YjlhYTgzZWJi
ZTU2MzA5ZTA1MGFlMjZkODE5NmQ5YzIuLjY2MmE2NmE4MWUyNWU1MDJlM2ZjNmRiNTkxN2U5Yzdk
ZTg3ZWE5YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTktMTEtMTEgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHNpemUgZmlsZSBmb3IgQ2Fj
aGVTdG9yYWdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA0MDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgS2VlcCB0aGUgQ2FjaGVTdG9yYWdlIHNpemUgaW4gYSBzZXBhcmF0ZSBmaWxlIHNvIHRoYXQg
d2UgY2FuIGdldCB0aGF0IHZhbHVlIHdpdGhvdXQgd2FpdGluZyBmb3IgRW5naW5lIHRvIAorICAg
ICAgICBpbml0aWFsaXplIGFuZCByZWFkIGNhY2hlcyBmcm9tIGRpc2suCisKKyAgICAgICAgTm8g
YmVoYXZpb3IgY2hhbmdlIGFzIHRoZSBmaWxlIGlzIG5vdCBpbiB1c2Ugbm93LgorCisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpFbmdpbmU6OndyaXRlU2l6ZUZpbGUpOgorICAgICAgICAo
V2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkVuZ2luZTo6cmVhZFNpemVGaWxlKToKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuaDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwOgorICAgICAgICAo
V2ViS2l0OjpDYWNoZVN0b3JhZ2U6OmNhY2hlc1NpemVGaWxlbmFtZSk6CisgICAgICAgIChXZWJL
aXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjp1cGRhdGVTaXplRmlsZSk6CisgICAgICAgIChXZWJL
aXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjppbml0aWFsaXplU2l6ZSk6CisgICAgICAgIChXZWJL
aXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjp3cml0ZVJlY29yZCk6CisgICAgICAgIChXZWJLaXQ6
OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpyZW1vdmVSZWNvcmQpOgorICAgICAgICAoV2ViS2l0OjpD
YWNoZVN0b3JhZ2U6OkNhY2hlczo6cmVzZXRTcGFjZVVzZWQpOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oOgorCiAyMDE5LTExLTExICBQ
ZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBVbmFi
bGUgdG8gdmlldyAucGFnZXMgZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcAppbmRleCBlMmJmZWRiZGJl
YWRkZmQ3Y2Y5OTRkYWFiZTU5MTUzZTlmMjJiZjNhLi5jY2QzYjZkODlmZjc0YTllNjc1MzRjYmNk
NzkwMmY0OTRlOTRiNzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAj
aW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5oPgogI2luY2x1ZGUgPHd0Zi9DYWxsYmFj
a0FnZ3JlZ2F0b3IuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKyNpbmNsdWRl
IDx3dGYvU2NvcGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC00NjEsNiArNDYyLDU2IEBAIHZvaWQg
RW5naW5lOjpyZW1vdmVGaWxlKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUpCiAgICAgfSk7CiB9CiAK
K3ZvaWQgRW5naW5lOjp3cml0ZVNpemVGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCwgdWludDY0X3Qg
c2l6ZSkKK3sKKyAgICBpZiAoIXNob3VsZFBlcnNpc3QoKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgbV9pb1F1ZXVlLT5kaXNwYXRjaChbcGF0aCA9IHBhdGguaXNvbGF0ZWRDb3B5KCksIHNpemVd
KCkgbXV0YWJsZSB7CisgICAgICAgIGF1dG8gZmlsZUhhbmRsZSA9IEZpbGVTeXN0ZW06Om9wZW5B
bmRMb2NrRmlsZShwYXRoLCBGaWxlU3lzdGVtOjpGaWxlT3Blbk1vZGU6OldyaXRlLCB7IEZpbGVT
eXN0ZW06OkZpbGVMb2NrTW9kZTo6RXhjbHVzaXZlIH0pOworICAgICAgICBhdXRvIGNsb3NlRmls
ZUhhbmRsZSA9IG1ha2VTY29wZUV4aXQoWyZdIHsKKyAgICAgICAgICAgIEZpbGVTeXN0ZW06OnVu
bG9ja0FuZENsb3NlRmlsZShmaWxlSGFuZGxlKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgaWYg
KCFGaWxlU3lzdGVtOjppc0hhbmRsZVZhbGlkKGZpbGVIYW5kbGUpKQorICAgICAgICAgICAgcmV0
dXJuOworCisgICAgICAgIEZpbGVTeXN0ZW06OnRydW5jYXRlRmlsZShmaWxlSGFuZGxlLCAwKTsK
KworICAgICAgICBhdXRvIHNpemVTdHJpbmcgPSBTdHJpbmc6Om51bWJlcihzaXplKS51dGY4KCk7
CisgICAgICAgIEZpbGVTeXN0ZW06OndyaXRlVG9GaWxlKGZpbGVIYW5kbGUsIHNpemVTdHJpbmcu
ZGF0YSgpLCBzaXplU3RyaW5nLmxlbmd0aCgpKTsKKyAgICB9KTsKK30KKworT3B0aW9uYWw8dWlu
dDY0X3Q+IEVuZ2luZTo6cmVhZFNpemVGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCkKK3sKKyAgICBB
U1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKKyAgICBBU1NFUlQoRmlsZVN5c3RlbTo6ZmlsZUV4
aXN0cyhwYXRoKSk7CisKKyAgICBhdXRvIGZpbGVIYW5kbGUgPSBGaWxlU3lzdGVtOjpvcGVuQW5k
TG9ja0ZpbGUocGF0aCwgRmlsZVN5c3RlbTo6RmlsZU9wZW5Nb2RlOjpSZWFkLCB7IEZpbGVTeXN0
ZW06OkZpbGVMb2NrTW9kZTo6RXhjbHVzaXZlIH0pOworICAgIGF1dG8gY2xvc2VGaWxlSGFuZGxl
ID0gbWFrZVNjb3BlRXhpdChbJl0geworICAgICAgICBGaWxlU3lzdGVtOjp1bmxvY2tBbmRDbG9z
ZUZpbGUoZmlsZUhhbmRsZSk7CisgICAgfSk7CisKKyAgICBpZiAoIUZpbGVTeXN0ZW06OmlzSGFu
ZGxlVmFsaWQoZmlsZUhhbmRsZSkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAg
ICBsb25nIGxvbmcgZmlsZVNpemUgPSAwOworICAgIGlmICghRmlsZVN5c3RlbTo6Z2V0RmlsZVNp
emUocGF0aCwgZmlsZVNpemUpIHx8ICFmaWxlU2l6ZSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKKworICAgIHNpemVfdCBieXRlc1RvUmVhZDsKKyAgICBpZiAoIVdURjo6Y29udmVydFNh
ZmVseShmaWxlU2l6ZSwgYnl0ZXNUb1JlYWQpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OworCisgICAgVmVjdG9yPGNoYXI+IGJ1ZmZlcihieXRlc1RvUmVhZCk7CisgICAgc2l6ZV90IHRv
dGFsQnl0ZXNSZWFkID0gRmlsZVN5c3RlbTo6cmVhZEZyb21GaWxlKGZpbGVIYW5kbGUsIGJ1ZmZl
ci5kYXRhKCksIGJ1ZmZlci5zaXplKCkpOworICAgIGlmICh0b3RhbEJ5dGVzUmVhZCAhPSBieXRl
c1RvUmVhZCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIHJldHVybiBTdHJp
bmc6OmZyb21VVEY4KGJ1ZmZlci5kYXRhKCkpLnRvVUludFN0cmljdCgpOworfQorCiBjbGFzcyBS
ZWFkT3JpZ2luc1Rhc2tDb3VudGVyIDogcHVibGljIFJlZkNvdW50ZWQ8UmVhZE9yaWdpbnNUYXNr
Q291bnRlcj4gewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8UmVhZE9yaWdpbnNUYXNrQ291bnRl
cj4gY3JlYXRlKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFdlYnNpdGVEYXRhOjpFbnRy
eT4pPiYmIGNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmgKaW5kZXggMTQ5MTRiNTViMmU5Njc5ZDRiODk4
ZmQ3YTAwYjIwMjRjYTk1NjZmMS4uNDhmOWY4ODM1MGUwOTc0OWFiMWE0YzNjOGYyOGI1YjQyYmM3
MDI0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNo
ZVN0b3JhZ2VFbmdpbmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L0NhY2hlU3RvcmFnZUVuZ2luZS5oCkBAIC04NCw2ICs4NCw4IEBAIHB1YmxpYzoKICAgICB2b2lk
IHdyaXRlRmlsZShjb25zdCBTdHJpbmcmIGZpbGVuYW1lLCBOZXR3b3JrQ2FjaGU6OkRhdGEmJiwg
V2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNvbXBsZXRpb25DYWxsYmFjayYmKTsKICAgICB2b2lk
IHJlYWRGaWxlKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Y29uc3QgTmV0d29ya0NhY2hlOjpEYXRhJiwgaW50IGVycm9yKT4mJik7CiAgICAgdm9pZCByZW1v
dmVGaWxlKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUpOworICAgIHZvaWQgd3JpdGVTaXplRmlsZShj
b25zdCBTdHJpbmcmIHBhdGgsIHVpbnQ2NF90IHNpemUpOworICAgIHN0YXRpYyBPcHRpb25hbDx1
aW50NjRfdD4gcmVhZFNpemVGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAKICAgICBjb25zdCBT
dHJpbmcmIHJvb3RQYXRoKCkgY29uc3QgeyByZXR1cm4gbV9yb290UGF0aDsgfQogICAgIGNvbnN0
IE5ldHdvcmtDYWNoZTo6U2FsdCYgc2FsdCgpIGNvbnN0IHsgcmV0dXJuIG1fc2FsdC52YWx1ZSgp
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hl
U3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAKaW5kZXggMjM4Nzk0MTZmZmRjM2QyMTMw
NjdkMWUyNzk1MTdlZTE0Y2JiNWE2Yy4uMWZjZTNlMDFlMmM1ODM1YjQ4ZjQ1YmQxMTY1MTdmMjVj
NTljMDc4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9D
YWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcApAQCAtNTEsNiArNTEsMTEg
QEAgc3RhdGljIGlubGluZSBTdHJpbmcgY2FjaGVzT3JpZ2luRmlsZW5hbWUoY29uc3QgU3RyaW5n
JiBjYWNoZXNSb290UGF0aCkKICAgICByZXR1cm4gRmlsZVN5c3RlbTo6cGF0aEJ5QXBwZW5kaW5n
Q29tcG9uZW50KGNhY2hlc1Jvb3RQYXRoLCAib3JpZ2luIl9zKTsKIH0KIAorc3RhdGljIGlubGlu
ZSBTdHJpbmcgY2FjaGVzU2l6ZUZpbGVuYW1lKGNvbnN0IFN0cmluZyYgY2FjaGVzUm9vdHNQYXRo
KQoreworICAgIHJldHVybiBGaWxlU3lzdGVtOjpwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQoY2Fj
aGVzUm9vdHNQYXRoLCAiZXN0aW1hdGVkc2l6ZSJfcyk7Cit9CisKIFJlZjxDYWNoZXM+IENhY2hl
czo6Y3JlYXRlKEVuZ2luZSYgZW5naW5lLCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiBvcmlnaW4s
IFN0cmluZyYmIHJvb3RQYXRoLCBXZWJDb3JlOjpTdG9yYWdlUXVvdGFNYW5hZ2VyJiBxdW90YU1h
bmFnZXIpCiB7CiAgICAgYXV0byBjYWNoZXMgPSBhZG9wdFJlZigqbmV3IENhY2hlcyB7IGVuZ2lu
ZSwgV1RGTW92ZShvcmlnaW4pLCBXVEZNb3ZlKHJvb3RQYXRoKSwgcXVvdGFNYW5hZ2VyIH0pOwpA
QCAtMjAzLDYgKzIwOCwxMSBAQCB2b2lkIENhY2hlczo6aW5pdGlhbGl6ZShXZWJDb3JlOjpET01D
YWNoZUVuZ2luZTo6Q29tcGxldGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spCiAgICAgfSk7CiB9CiAK
K3ZvaWQgQ2FjaGVzOjp1cGRhdGVTaXplRmlsZSgpCit7CisgICAgaWYgKG1fZW5naW5lKQorICAg
ICAgICBtX2VuZ2luZS0+d3JpdGVTaXplRmlsZShjYWNoZXNTaXplRmlsZW5hbWUobV9yb290UGF0
aCksIG1fc2l6ZSk7fQorCiB2b2lkIENhY2hlczo6aW5pdGlhbGl6ZVNpemUoKQogewogICAgIGlm
ICghbV9zdG9yYWdlKSB7CkBAIC0yMjEsNiArMjMxLDggQEAgdm9pZCBDYWNoZXM6OmluaXRpYWxp
emVTaXplKCkKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICBtX3NpemUgPSBzaXplOworICAgICAgICAgICAgdXBkYXRlU2l6ZUZpbGUoKTsKKwogICAg
ICAgICAgICAgbV9pc0luaXRpYWxpemVkID0gdHJ1ZTsKICAgICAgICAgICAgIGF1dG8gcGVuZGlu
Z0NhbGxiYWNrcyA9IFdURk1vdmUobV9wZW5kaW5nSW5pdGlhbGl6YXRpb25DYWxsYmFja3MpOwog
ICAgICAgICAgICAgZm9yIChhdXRvJiBjYWxsYmFjayA6IHBlbmRpbmdDYWxsYmFja3MpCkBAIC01
MzUsNiArNTQ3LDcgQEAgdm9pZCBDYWNoZXM6OndyaXRlUmVjb3JkKGNvbnN0IENhY2hlJiBjYWNo
ZSwgY29uc3QgUmVjb3JkSW5mb3JtYXRpb24mIHJlY29yZEluZm8KICAgICBBU1NFUlQobV9zaXpl
ID49IHByZXZpb3VzUmVjb3JkU2l6ZSk7CiAgICAgbV9zaXplICs9IHJlY29yZEluZm9ybWF0aW9u
LnNpemU7CiAgICAgbV9zaXplIC09IHByZXZpb3VzUmVjb3JkU2l6ZTsKKyAgICB1cGRhdGVTaXpl
RmlsZSgpOwogCiAgICAgaWYgKCFzaG91bGRQZXJzaXN0KCkpIHsKICAgICAgICAgbV92b2xhdGls
ZVN0b3JhZ2Uuc2V0KHJlY29yZEluZm9ybWF0aW9uLmtleSwgV1RGTW92ZShyZWNvcmQpKTsKQEAg
LTU5MSw2ICs2MDQsOCBAQCB2b2lkIENhY2hlczo6cmVtb3ZlUmVjb3JkKGNvbnN0IFJlY29yZElu
Zm9ybWF0aW9uJiByZWNvcmQpCiAKICAgICBBU1NFUlQobV9zaXplID49IHJlY29yZC5zaXplKTsK
ICAgICBtX3NpemUgLT0gcmVjb3JkLnNpemU7CisgICAgdXBkYXRlU2l6ZUZpbGUoKTsKKwogICAg
IHJlbW92ZUNhY2hlRW50cnkocmVjb3JkLmtleSk7CiB9CiAKQEAgLTYwOCw2ICs2MjMsOCBAQCB2
b2lkIENhY2hlczo6cmVtb3ZlQ2FjaGVFbnRyeShjb25zdCBOZXR3b3JrQ2FjaGU6OktleSYga2V5
KQogdm9pZCBDYWNoZXM6OnJlc2V0U3BhY2VVc2VkKCkKIHsKICAgICBtX3NpemUgPSAwOworICAg
IHVwZGF0ZVNpemVGaWxlKCk7CisKICAgICBpZiAobV9xdW90YU1hbmFnZXIpIHsKICAgICAgICAg
bV9xdW90YU1hbmFnZXItPnJlbW92ZVVzZXIoKnRoaXMpOwogICAgICAgICBtX3F1b3RhTWFuYWdl
ci0+YWRkVXNlcigqdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaAppbmRleCAzYzQ1MWE3
MjNlMWU5MmY1NTlmNmZiY2VmN2YxZjMzMTE4OTAyZmFlLi41NWE5ZWVlZmU5NTk1MjNmYjljMjY0
ZjFhMmZmNDFiMDcwYmM1OTI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmgKQEAgLTEwNSw2
ICsxMDUsOCBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBoYXNBY3RpdmVDYWNoZSgpIGNvbnN0Owog
CisgICAgdm9pZCB1cGRhdGVTaXplRmlsZSgpOworCiAgICAgYm9vbCBtX2lzSW5pdGlhbGl6ZWQg
eyBmYWxzZSB9OwogICAgIEVuZ2luZSogbV9lbmdpbmUgeyBudWxscHRyIH07CiAgICAgdWludDY0
X3QgbV91cGRhdGVDb3VudGVyIHsgMCB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383319</attachid>
            <date>2019-11-11 17:05:21 -0800</date>
            <delta_ts>2019-11-12 13:39:10 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-204027-20191111170520.patch</filename>
            <type>text/plain</type>
            <size>7854</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMzM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNlYTJkZDc0YjlhYTgzZWJi
ZTU2MzA5ZTA1MGFlMjZkODE5NmQ5YzIuLjJhY2EzZDNkOWNjN2RlMDg1NTZmYzJhZGNlZmQ0OWRj
MDE5ZTQ5NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTktMTEtMTEgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHNpemUgZmlsZSBmb3IgQ2Fj
aGVTdG9yYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDQwMjcKKworICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0LgorCisgICAgICAg
IEtlZXAgdGhlIENhY2hlU3RvcmFnZSBzaXplIGluIGEgc2VwYXJhdGUgZmlsZSBzbyB0aGF0IHdl
IGNhbiBnZXQgdGhhdCB2YWx1ZSB3aXRob3V0IHdhaXRpbmcgZm9yIEVuZ2luZSB0byAKKyAgICAg
ICAgaW5pdGlhbGl6ZSBhbmQgcmVhZCBjYWNoZXMgZnJvbSBkaXNrLgorCisgICAgICAgIE5vIGJl
aGF2aW9yIGNoYW5nZSBhcyB0aGUgZmlsZSBpcyBub3QgaW4gdXNlIG5vdy4KKworICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkNhY2hlU3RvcmFnZTo6RW5naW5lOjp3cml0ZVNpemVGaWxlKToKKyAgICAgICAgKFdl
YktpdDo6Q2FjaGVTdG9yYWdlOjpFbmdpbmU6OnJlYWRTaXplRmlsZSk6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmg6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6Q2FjaGVTdG9yYWdlOjpjYWNoZXNTaXplRmlsZW5hbWUpOgorICAgICAgICAoV2ViS2l0
OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6dXBkYXRlU2l6ZUZpbGUpOgorICAgICAgICAoV2ViS2l0
OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6aW5pdGlhbGl6ZVNpemUpOgorICAgICAgICAoV2ViS2l0
OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6d3JpdGVSZWNvcmQpOgorICAgICAgICAoV2ViS2l0OjpD
YWNoZVN0b3JhZ2U6OkNhY2hlczo6cmVtb3ZlUmVjb3JkKToKKyAgICAgICAgKFdlYktpdDo6Q2Fj
aGVTdG9yYWdlOjpDYWNoZXM6OnJlc2V0U3BhY2VVc2VkKToKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaDoKKwogMjAxOS0xMS0xMSAgUGVy
IEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gVW5hYmxl
IHRvIHZpZXcgLnBhZ2VzIGZpbGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKaW5kZXggZTJiZmVkYmRiZWFk
ZGZkN2NmOTk0ZGFhYmU1OTE1M2U5ZjIyYmYzYS4uYWMxMjk0ZTMxOWJmM2UwMGQwZmJhYWRiZGI1
ZGQ4NTA1NjZjZTQyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2lu
Y2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KICNpbmNsdWRlIDx3dGYvQ2FsbGJhY2tB
Z2dyZWdhdG9yLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CisjaW5jbHVkZSA8
d3RmL1Njb3BlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIApAQCAtNDYxLDYgKzQ2Miw1NSBAQCB2b2lkIEVu
Z2luZTo6cmVtb3ZlRmlsZShjb25zdCBTdHJpbmcmIGZpbGVuYW1lKQogICAgIH0pOwogfQogCit2
b2lkIEVuZ2luZTo6d3JpdGVTaXplRmlsZShjb25zdCBTdHJpbmcmIHBhdGgsIHVpbnQ2NF90IHNp
emUpCit7CisgICAgaWYgKCFzaG91bGRQZXJzaXN0KCkpCisgICAgICAgIHJldHVybjsKKworICAg
IG1faW9RdWV1ZS0+ZGlzcGF0Y2goW3BhdGggPSBwYXRoLmlzb2xhdGVkQ29weSgpLCBzaXplXSgp
IHsKKyAgICAgICAgYXV0byBmaWxlSGFuZGxlID0gRmlsZVN5c3RlbTo6b3BlbkFuZExvY2tGaWxl
KHBhdGgsIEZpbGVTeXN0ZW06OkZpbGVPcGVuTW9kZTo6V3JpdGUsIHsgRmlsZVN5c3RlbTo6Rmls
ZUxvY2tNb2RlOjpFeGNsdXNpdmUgfSk7CisgICAgICAgIGF1dG8gY2xvc2VGaWxlSGFuZGxlID0g
bWFrZVNjb3BlRXhpdChbJl0geworICAgICAgICAgICAgRmlsZVN5c3RlbTo6dW5sb2NrQW5kQ2xv
c2VGaWxlKGZpbGVIYW5kbGUpOworICAgICAgICB9KTsKKworICAgICAgICBpZiAoIUZpbGVTeXN0
ZW06OmlzSGFuZGxlVmFsaWQoZmlsZUhhbmRsZSkpCisgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgRmlsZVN5c3RlbTo6dHJ1bmNhdGVGaWxlKGZpbGVIYW5kbGUsIDApOworCisgICAgICAg
IEZpbGVTeXN0ZW06OndyaXRlVG9GaWxlKGZpbGVIYW5kbGUsIFN0cmluZzo6bnVtYmVyKHNpemUp
LnV0ZjgoKS5kYXRhKCksIFN0cmluZzo6bnVtYmVyKHNpemUpLnV0ZjgoKS5sZW5ndGgoKSk7Cisg
ICAgfSk7Cit9CisKK09wdGlvbmFsPHVpbnQ2NF90PiBFbmdpbmU6OnJlYWRTaXplRmlsZShjb25z
dCBTdHJpbmcmIHBhdGgpCit7CisgICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7CisgICAg
QVNTRVJUKEZpbGVTeXN0ZW06OmZpbGVFeGlzdHMocGF0aCkpOworCisgICAgYXV0byBmaWxlSGFu
ZGxlID0gRmlsZVN5c3RlbTo6b3BlbkFuZExvY2tGaWxlKHBhdGgsIEZpbGVTeXN0ZW06OkZpbGVP
cGVuTW9kZTo6UmVhZCwgeyBGaWxlU3lzdGVtOjpGaWxlTG9ja01vZGU6OkV4Y2x1c2l2ZSB9KTsK
KyAgICBhdXRvIGNsb3NlRmlsZUhhbmRsZSA9IG1ha2VTY29wZUV4aXQoWyZdIHsKKyAgICAgICAg
RmlsZVN5c3RlbTo6dW5sb2NrQW5kQ2xvc2VGaWxlKGZpbGVIYW5kbGUpOworICAgIH0pOworCisg
ICAgaWYgKCFGaWxlU3lzdGVtOjppc0hhbmRsZVZhbGlkKGZpbGVIYW5kbGUpKQorICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgbG9uZyBsb25nIGZpbGVTaXplID0gMDsKKyAgICBp
ZiAoIUZpbGVTeXN0ZW06OmdldEZpbGVTaXplKHBhdGgsIGZpbGVTaXplKSB8fCAhZmlsZVNpemUp
CisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBzaXplX3QgYnl0ZXNUb1JlYWQ7
CisgICAgaWYgKCFXVEY6OmNvbnZlcnRTYWZlbHkoZmlsZVNpemUsIGJ5dGVzVG9SZWFkKSkKKyAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIFZlY3RvcjxjaGFyPiBidWZmZXIoYnl0
ZXNUb1JlYWQpOworICAgIHNpemVfdCB0b3RhbEJ5dGVzUmVhZCA9IEZpbGVTeXN0ZW06OnJlYWRG
cm9tRmlsZShmaWxlSGFuZGxlLCBidWZmZXIuZGF0YSgpLCBidWZmZXIuc2l6ZSgpKTsKKyAgICBp
ZiAodG90YWxCeXRlc1JlYWQgIT0gYnl0ZXNUb1JlYWQpCisgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CisKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChidWZmZXIuZGF0YSgpKS50b1VJ
bnQ2NFN0cmljdCgpOworfQorCiBjbGFzcyBSZWFkT3JpZ2luc1Rhc2tDb3VudGVyIDogcHVibGlj
IFJlZkNvdW50ZWQ8UmVhZE9yaWdpbnNUYXNrQ291bnRlcj4gewogcHVibGljOgogICAgIHN0YXRp
YyBSZWY8UmVhZE9yaWdpbnNUYXNrQ291bnRlcj4gY3JlYXRlKENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoVmVjdG9yPFdlYnNpdGVEYXRhOjpFbnRyeT4pPiYmIGNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuaCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmgK
aW5kZXggMTQ5MTRiNTViMmU5Njc5ZDRiODk4ZmQ3YTAwYjIwMjRjYTk1NjZmMS4uMzhkNmZjMTM0
ZmUwMGQ0YjA0ZjM4MDhjMGJiODk3YjNkNjIxNjU0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5oCkBAIC04NCw2
ICs4NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHdyaXRlRmlsZShjb25zdCBTdHJpbmcmIGZpbGVu
YW1lLCBOZXR3b3JrQ2FjaGU6OkRhdGEmJiwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNvbXBs
ZXRpb25DYWxsYmFjayYmKTsKICAgICB2b2lkIHJlYWRGaWxlKGNvbnN0IFN0cmluZyYgZmlsZW5h
bWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgTmV0d29ya0NhY2hlOjpEYXRhJiwgaW50
IGVycm9yKT4mJik7CiAgICAgdm9pZCByZW1vdmVGaWxlKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUp
OworICAgIHZvaWQgd3JpdGVTaXplRmlsZShjb25zdCBTdHJpbmcmLCB1aW50NjRfdCBzaXplKTsK
KyAgICBzdGF0aWMgT3B0aW9uYWw8dWludDY0X3Q+IHJlYWRTaXplRmlsZShjb25zdCBTdHJpbmcm
KTsKIAogICAgIGNvbnN0IFN0cmluZyYgcm9vdFBhdGgoKSBjb25zdCB7IHJldHVybiBtX3Jvb3RQ
YXRoOyB9CiAgICAgY29uc3QgTmV0d29ya0NhY2hlOjpTYWx0JiBzYWx0KCkgY29uc3QgeyByZXR1
cm4gbV9zYWx0LnZhbHVlKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcAppbmRleCAy
Mzg3OTQxNmZmZGMzZDIxMzA2N2QxZTI3OTUxN2VlMTRjYmI1YTZjLi5iYjBlNmJiZWQwM2NmZmUy
N2YzYmM2YzUzNzYwMzkxOGQ2YjFmNDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3Bw
CkBAIC01MSw2ICs1MSwxMSBAQCBzdGF0aWMgaW5saW5lIFN0cmluZyBjYWNoZXNPcmlnaW5GaWxl
bmFtZShjb25zdCBTdHJpbmcmIGNhY2hlc1Jvb3RQYXRoKQogICAgIHJldHVybiBGaWxlU3lzdGVt
OjpwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQoY2FjaGVzUm9vdFBhdGgsICJvcmlnaW4iX3MpOwog
fQogCitzdGF0aWMgaW5saW5lIFN0cmluZyBjYWNoZXNTaXplRmlsZW5hbWUoY29uc3QgU3RyaW5n
JiBjYWNoZXNSb290c1BhdGgpCit7CisgICAgcmV0dXJuIEZpbGVTeXN0ZW06OnBhdGhCeUFwcGVu
ZGluZ0NvbXBvbmVudChjYWNoZXNSb290c1BhdGgsICJlc3RpbWF0ZWRzaXplIl9zKTsKK30KKwog
UmVmPENhY2hlcz4gQ2FjaGVzOjpjcmVhdGUoRW5naW5lJiBlbmdpbmUsIFdlYkNvcmU6OkNsaWVu
dE9yaWdpbiYmIG9yaWdpbiwgU3RyaW5nJiYgcm9vdFBhdGgsIFdlYkNvcmU6OlN0b3JhZ2VRdW90
YU1hbmFnZXImIHF1b3RhTWFuYWdlcikKIHsKICAgICBhdXRvIGNhY2hlcyA9IGFkb3B0UmVmKCpu
ZXcgQ2FjaGVzIHsgZW5naW5lLCBXVEZNb3ZlKG9yaWdpbiksIFdURk1vdmUocm9vdFBhdGgpLCBx
dW90YU1hbmFnZXIgfSk7CkBAIC0yMDMsNiArMjA4LDEyIEBAIHZvaWQgQ2FjaGVzOjppbml0aWFs
aXplKFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpDb21wbGV0aW9uQ2FsbGJhY2smJiBjYWxsYmFj
aykKICAgICB9KTsKIH0KIAordm9pZCBDYWNoZXM6OnVwZGF0ZVNpemVGaWxlKCkKK3sKKyAgICBp
ZiAobV9lbmdpbmUpCisgICAgICAgIG1fZW5naW5lLT53cml0ZVNpemVGaWxlKGNhY2hlc1NpemVG
aWxlbmFtZShtX3Jvb3RQYXRoKSwgbV9zaXplKTsKK30KKwogdm9pZCBDYWNoZXM6OmluaXRpYWxp
emVTaXplKCkKIHsKICAgICBpZiAoIW1fc3RvcmFnZSkgewpAQCAtMjIxLDYgKzIzMiw4IEBAIHZv
aWQgQ2FjaGVzOjppbml0aWFsaXplU2l6ZSgpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICAgICAgfQogICAgICAgICAgICAgbV9zaXplID0gc2l6ZTsKKyAgICAgICAgICAgIHVwZGF0
ZVNpemVGaWxlKCk7CisKICAgICAgICAgICAgIG1faXNJbml0aWFsaXplZCA9IHRydWU7CiAgICAg
ICAgICAgICBhdXRvIHBlbmRpbmdDYWxsYmFja3MgPSBXVEZNb3ZlKG1fcGVuZGluZ0luaXRpYWxp
emF0aW9uQ2FsbGJhY2tzKTsKICAgICAgICAgICAgIGZvciAoYXV0byYgY2FsbGJhY2sgOiBwZW5k
aW5nQ2FsbGJhY2tzKQpAQCAtNTM1LDYgKzU0OCw3IEBAIHZvaWQgQ2FjaGVzOjp3cml0ZVJlY29y
ZChjb25zdCBDYWNoZSYgY2FjaGUsIGNvbnN0IFJlY29yZEluZm9ybWF0aW9uJiByZWNvcmRJbmZv
CiAgICAgQVNTRVJUKG1fc2l6ZSA+PSBwcmV2aW91c1JlY29yZFNpemUpOwogICAgIG1fc2l6ZSAr
PSByZWNvcmRJbmZvcm1hdGlvbi5zaXplOwogICAgIG1fc2l6ZSAtPSBwcmV2aW91c1JlY29yZFNp
emU7CisgICAgdXBkYXRlU2l6ZUZpbGUoKTsKIAogICAgIGlmICghc2hvdWxkUGVyc2lzdCgpKSB7
CiAgICAgICAgIG1fdm9sYXRpbGVTdG9yYWdlLnNldChyZWNvcmRJbmZvcm1hdGlvbi5rZXksIFdU
Rk1vdmUocmVjb3JkKSk7CkBAIC01OTEsNiArNjA1LDggQEAgdm9pZCBDYWNoZXM6OnJlbW92ZVJl
Y29yZChjb25zdCBSZWNvcmRJbmZvcm1hdGlvbiYgcmVjb3JkKQogCiAgICAgQVNTRVJUKG1fc2l6
ZSA+PSByZWNvcmQuc2l6ZSk7CiAgICAgbV9zaXplIC09IHJlY29yZC5zaXplOworICAgIHVwZGF0
ZVNpemVGaWxlKCk7CisKICAgICByZW1vdmVDYWNoZUVudHJ5KHJlY29yZC5rZXkpOwogfQogCkBA
IC02MDgsNiArNjI0LDggQEAgdm9pZCBDYWNoZXM6OnJlbW92ZUNhY2hlRW50cnkoY29uc3QgTmV0
d29ya0NhY2hlOjpLZXkmIGtleSkKIHZvaWQgQ2FjaGVzOjpyZXNldFNwYWNlVXNlZCgpCiB7CiAg
ICAgbV9zaXplID0gMDsKKyAgICB1cGRhdGVTaXplRmlsZSgpOworCiAgICAgaWYgKG1fcXVvdGFN
YW5hZ2VyKSB7CiAgICAgICAgIG1fcXVvdGFNYW5hZ2VyLT5yZW1vdmVVc2VyKCp0aGlzKTsKICAg
ICAgICAgbV9xdW90YU1hbmFnZXItPmFkZFVzZXIoKnRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2Fj
aGVzLmgKaW5kZXggM2M0NTFhNzIzZTFlOTJmNTU5ZjZmYmNlZjdmMWYzMzExODkwMmZhZS4uNTVh
OWVlZWZlOTU5NTIzZmI5YzI2NGYxYTJmZjQxYjA3MGJjNTkyNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2lu
ZUNhY2hlcy5oCkBAIC0xMDUsNiArMTA1LDggQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgaGFzQWN0
aXZlQ2FjaGUoKSBjb25zdDsKIAorICAgIHZvaWQgdXBkYXRlU2l6ZUZpbGUoKTsKKwogICAgIGJv
b2wgbV9pc0luaXRpYWxpemVkIHsgZmFsc2UgfTsKICAgICBFbmdpbmUqIG1fZW5naW5lIHsgbnVs
bHB0ciB9OwogICAgIHVpbnQ2NF90IG1fdXBkYXRlQ291bnRlciB7IDAgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383375</attachid>
            <date>2019-11-12 13:39:11 -0800</date>
            <delta_ts>2019-11-12 15:57:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204027-20191112133910.patch</filename>
            <type>text/plain</type>
            <size>9934</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMzcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDY0NjdiMTQwM2U0MGJiYzIy
OWNjY2JhODAyMTdhMzk4ZjUxZjQyMjkuLjkxNmYwNTdiOGE2ZTM0NDYxMGE2NThhYTg2ODc5Mzc2
MzNiYzIyNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTktMTEtMTIgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHNpemUgZmlsZSBmb3IgQ2Fj
aGVTdG9yYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDQwMjcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU3MTAwODYxPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEtlZXAgdGhlIENhY2hlU3RvcmFn
ZSBzaXplIGluIGEgc2VwYXJhdGUgZmlsZSBzbyB0aGF0IHdlIGNhbiBnZXQgdGhhdCB2YWx1ZSB3
aXRob3V0IHdhaXRpbmcgZm9yIEVuZ2luZSB0byAKKyAgICAgICAgaW5pdGlhbGl6ZSBhbmQgcmVh
ZCBjYWNoZXMgZnJvbSBkaXNrLgorCisgICAgICAgIE5vIGJlaGF2aW9yIGNoYW5nZSBhcyB0aGUg
ZmlsZSBpcyBub3QgaW4gdXNlIG5vdy4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hl
L0NhY2hlU3RvcmFnZUVuZ2luZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6
RW5naW5lOjp3cml0ZVNpemVGaWxlKToKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpF
bmdpbmU6OnJlYWRTaXplRmlsZSk6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6ZGVs
ZXRlU2l6ZUZpbGUpOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkVuZ2luZTo6Y2xl
YXJBbGxDYWNoZXNGcm9tRGlzayk6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6RW5n
aW5lOjpkZWxldGVEaXJlY3RvcnlSZWN1cnNpdmVseU9uQmFja2dyb3VuZFRocmVhZCk6CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmg6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpDYWNoZXM6OmNhY2hlc1NpemVGaWxlbmFtZSk6
CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjp1cGRhdGVTaXplRmlsZSk6
CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjppbml0aWFsaXplU2l6ZSk6
CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjp3cml0ZVJlY29yZCk6Cisg
ICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpyZW1vdmVSZWNvcmQpOgorICAg
ICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6cmVzZXRTcGFjZVVzZWQpOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oOgor
CiAyMDE5LTExLTEyICBUcnVpdHQgU2F2ZWxsICA8dHNhdmVsbEBhcHBsZS5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI1MjM1MS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcAppbmRl
eCBlMmJmZWRiZGJlYWRkZmQ3Y2Y5OTRkYWFiZTU5MTUzZTlmMjJiZjNhLi5hMWU2NTNkOTI3Yjk2
YzVjNjUyMGFiZDg2NmYzMzU2NzA1ZTdiYzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCkBAIC0zNSw2
ICszNSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5oPgogI2luY2x1ZGUg
PHd0Zi9DYWxsYmFja0FnZ3JlZ2F0b3IuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQu
aD4KKyNpbmNsdWRlIDx3dGYvU2NvcGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWls
ZGVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC00NSw2ICs0Niw4
IEBAIG5hbWVzcGFjZSBDYWNoZVN0b3JhZ2UgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU6OkRP
TUNhY2hlRW5naW5lOwogdXNpbmcgbmFtZXNwYWNlIE5ldHdvcmtDYWNoZTsKIAorc3RhdGljIExv
Y2sgZ2xvYmFsU2l6ZUZpbGVMb2NrOworCiBTdHJpbmcgRW5naW5lOjpjYWNoZXNSb290UGF0aChj
b25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mIG9yaWdpbikKIHsKICAgICBpZiAoIXNob3VsZFBl
cnNpc3QoKSB8fCAhbV9zYWx0KQpAQCAtNDYxLDYgKzQ2NCw2MyBAQCB2b2lkIEVuZ2luZTo6cmVt
b3ZlRmlsZShjb25zdCBTdHJpbmcmIGZpbGVuYW1lKQogICAgIH0pOwogfQogCit2b2lkIEVuZ2lu
ZTo6d3JpdGVTaXplRmlsZShjb25zdCBTdHJpbmcmIHBhdGgsIHVpbnQ2NF90IHNpemUpCit7Cisg
ICAgaWYgKCFzaG91bGRQZXJzaXN0KCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1faW9RdWV1
ZS0+ZGlzcGF0Y2goW3BhdGggPSBwYXRoLmlzb2xhdGVkQ29weSgpLCBzaXplXSgpIHsKKyAgICAg
ICAgTG9ja0hvbGRlciBsb2NrZXIoZ2xvYmFsU2l6ZUZpbGVMb2NrKTsKKyAgICAgICAgYXV0byBm
aWxlSGFuZGxlID0gRmlsZVN5c3RlbTo6b3BlbkZpbGUocGF0aCwgRmlsZVN5c3RlbTo6RmlsZU9w
ZW5Nb2RlOjpXcml0ZSk7CisgICAgICAgIGF1dG8gY2xvc2VGaWxlSGFuZGxlciA9IG1ha2VTY29w
ZUV4aXQoWyZdIHsKKyAgICAgICAgICAgIEZpbGVTeXN0ZW06OmNsb3NlRmlsZShmaWxlSGFuZGxl
KTsKKyAgICAgICAgfSk7CisgICAgICAgIGlmICghRmlsZVN5c3RlbTo6aXNIYW5kbGVWYWxpZChm
aWxlSGFuZGxlKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBGaWxlU3lzdGVtOjp0
cnVuY2F0ZUZpbGUoZmlsZUhhbmRsZSwgMCk7CisgICAgICAgIEZpbGVTeXN0ZW06OndyaXRlVG9G
aWxlKGZpbGVIYW5kbGUsIFN0cmluZzo6bnVtYmVyKHNpemUpLnV0ZjgoKS5kYXRhKCksIFN0cmlu
Zzo6bnVtYmVyKHNpemUpLnV0ZjgoKS5sZW5ndGgoKSk7CisgICAgICAgIEZpbGVTeXN0ZW06OmNs
b3NlRmlsZShmaWxlSGFuZGxlKTsKKyAgICB9KTsKK30KKworT3B0aW9uYWw8dWludDY0X3Q+IEVu
Z2luZTo6cmVhZFNpemVGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCkKK3sKKyAgICBBU1NFUlQoIVJ1
bkxvb3A6OmlzTWFpbigpKTsKKworICAgIExvY2tIb2xkZXIgbG9ja2VyKGdsb2JhbFNpemVGaWxl
TG9jayk7CisgICAgYXV0byBmaWxlSGFuZGxlID0gRmlsZVN5c3RlbTo6b3BlbkZpbGUocGF0aCwg
RmlsZVN5c3RlbTo6RmlsZU9wZW5Nb2RlOjpSZWFkKTsKKyAgICBhdXRvIGNsb3NlRmlsZUhhbmRs
ZSA9IG1ha2VTY29wZUV4aXQoWyZdIHsKKyAgICAgICAgRmlsZVN5c3RlbTo6Y2xvc2VGaWxlKGZp
bGVIYW5kbGUpOworICAgIH0pOworCisgICAgaWYgKCFGaWxlU3lzdGVtOjppc0hhbmRsZVZhbGlk
KGZpbGVIYW5kbGUpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgbG9uZyBs
b25nIGZpbGVTaXplID0gMDsKKyAgICBpZiAoIUZpbGVTeXN0ZW06OmdldEZpbGVTaXplKHBhdGgs
IGZpbGVTaXplKSB8fCAhZmlsZVNpemUpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisK
KyAgICBzaXplX3QgYnl0ZXNUb1JlYWQ7CisgICAgaWYgKCFXVEY6OmNvbnZlcnRTYWZlbHkoZmls
ZVNpemUsIGJ5dGVzVG9SZWFkKSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAg
IFZlY3RvcjxjaGFyPiBidWZmZXIoYnl0ZXNUb1JlYWQpOworICAgIHNpemVfdCB0b3RhbEJ5dGVz
UmVhZCA9IEZpbGVTeXN0ZW06OnJlYWRGcm9tRmlsZShmaWxlSGFuZGxlLCBidWZmZXIuZGF0YSgp
LCBidWZmZXIuc2l6ZSgpKTsKKyAgICBpZiAodG90YWxCeXRlc1JlYWQgIT0gYnl0ZXNUb1JlYWQp
CisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9t
VVRGOChidWZmZXIuZGF0YSgpKS50b1VJbnQ2NFN0cmljdCgpOworfQorCitzdGF0aWMgdm9pZCBk
ZWxldGVTaXplRmlsZShjb25zdCBTdHJpbmcmIHBhdGgpCit7CisgICAgQVNTRVJUKCFSdW5Mb29w
Ojppc01haW4oKSk7CisKKyAgICBMb2NrSG9sZGVyIGxvY2tlcihnbG9iYWxTaXplRmlsZUxvY2sp
OworICAgIEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUocGF0aCk7Cit9CisKIGNsYXNzIFJlYWRPcmln
aW5zVGFza0NvdW50ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxSZWFkT3JpZ2luc1Rhc2tDb3VudGVy
PiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxSZWFkT3JpZ2luc1Rhc2tDb3VudGVyPiBjcmVh
dGUoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8V2Vic2l0ZURhdGE6OkVudHJ5Pik+JiYg
Y2FsbGJhY2spCkBAIC01NjYsOCArNjI2LDEwIEBAIHZvaWQgRW5naW5lOjpjbGVhckFsbENhY2hl
c0Zyb21EaXNrKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlCiAK
ICAgICBtX2lvUXVldWUtPmRpc3BhdGNoKFtwYXRoID0gbV9yb290UGF0aC5pc29sYXRlZENvcHko
KSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oKSBtdXRh
YmxlIHsKICAgICAgICAgZm9yIChhdXRvJiBmaWxlbmFtZSA6IEZpbGVTeXN0ZW06Omxpc3REaXJl
Y3RvcnkocGF0aCwgIioiKSkgewotICAgICAgICAgICAgaWYgKEZpbGVTeXN0ZW06OmZpbGVJc0Rp
cmVjdG9yeShmaWxlbmFtZSwgRmlsZVN5c3RlbTo6U2hvdWxkRm9sbG93U3ltYm9saWNMaW5rczo6
Tm8pKQorICAgICAgICAgICAgaWYgKEZpbGVTeXN0ZW06OmZpbGVJc0RpcmVjdG9yeShmaWxlbmFt
ZSwgRmlsZVN5c3RlbTo6U2hvdWxkRm9sbG93U3ltYm9saWNMaW5rczo6Tm8pKSB7CisgICAgICAg
ICAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIoZ2xvYmFsU2l6ZUZpbGVMb2NrKTsKICAgICAgICAg
ICAgICAgICBkZWxldGVEaXJlY3RvcnlSZWN1cnNpdmVseShmaWxlbmFtZSk7CisgICAgICAgICAg
ICB9CiAgICAgICAgIH0KICAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpKTsKICAgICB9KTsKQEAgLTYyMyw2ICs2ODUsNyBAQCB2b2lkIEVu
Z2luZTo6ZGVsZXRlRGlyZWN0b3J5UmVjdXJzaXZlbHlPbkJhY2tncm91bmRUaHJlYWQoY29uc3Qg
U3RyaW5nJiBwYXRoLCBDbwogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAKICAgICBt
X2lvUXVldWUtPmRpc3BhdGNoKFtwYXRoID0gcGF0aC5pc29sYXRlZENvcHkoKSwgY29tcGxldGlv
bkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oKSBtdXRhYmxlIHsKKyAgICAg
ICAgZGVsZXRlU2l6ZUZpbGUoQ2FjaGVzOjpjYWNoZXNTaXplRmlsZW5hbWUocGF0aCkpOwogICAg
ICAgICBkZWxldGVEaXJlY3RvcnlSZWN1cnNpdmVseShwYXRoKTsKIAogICAgICAgICBSdW5Mb29w
OjptYWluKCkuZGlzcGF0Y2goV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUu
aCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5l
LmgKaW5kZXggMTQ5MTRiNTViMmU5Njc5ZDRiODk4ZmQ3YTAwYjIwMjRjYTk1NjZmMS4uMzhkNmZj
MTM0ZmUwMGQ0YjA0ZjM4MDhjMGJiODk3YjNkNjIxNjU0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5oCkBAIC04
NCw2ICs4NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHdyaXRlRmlsZShjb25zdCBTdHJpbmcmIGZp
bGVuYW1lLCBOZXR3b3JrQ2FjaGU6OkRhdGEmJiwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNv
bXBsZXRpb25DYWxsYmFjayYmKTsKICAgICB2b2lkIHJlYWRGaWxlKGNvbnN0IFN0cmluZyYgZmls
ZW5hbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgTmV0d29ya0NhY2hlOjpEYXRhJiwg
aW50IGVycm9yKT4mJik7CiAgICAgdm9pZCByZW1vdmVGaWxlKGNvbnN0IFN0cmluZyYgZmlsZW5h
bWUpOworICAgIHZvaWQgd3JpdGVTaXplRmlsZShjb25zdCBTdHJpbmcmLCB1aW50NjRfdCBzaXpl
KTsKKyAgICBzdGF0aWMgT3B0aW9uYWw8dWludDY0X3Q+IHJlYWRTaXplRmlsZShjb25zdCBTdHJp
bmcmKTsKIAogICAgIGNvbnN0IFN0cmluZyYgcm9vdFBhdGgoKSBjb25zdCB7IHJldHVybiBtX3Jv
b3RQYXRoOyB9CiAgICAgY29uc3QgTmV0d29ya0NhY2hlOjpTYWx0JiBzYWx0KCkgY29uc3QgeyBy
ZXR1cm4gbV9zYWx0LnZhbHVlKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcAppbmRl
eCAyMzg3OTQxNmZmZGMzZDIxMzA2N2QxZTI3OTUxN2VlMTRjYmI1YTZjLi4zYjQ1M2I4ODk2YTY5
MWQ1MTFlYzFjNGZmOGY0YjI0M2M2NmQ1Y2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMu
Y3BwCkBAIC01MSw2ICs1MSwxMSBAQCBzdGF0aWMgaW5saW5lIFN0cmluZyBjYWNoZXNPcmlnaW5G
aWxlbmFtZShjb25zdCBTdHJpbmcmIGNhY2hlc1Jvb3RQYXRoKQogICAgIHJldHVybiBGaWxlU3lz
dGVtOjpwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQoY2FjaGVzUm9vdFBhdGgsICJvcmlnaW4iX3Mp
OwogfQogCitTdHJpbmcgQ2FjaGVzOjpjYWNoZXNTaXplRmlsZW5hbWUoY29uc3QgU3RyaW5nJiBj
YWNoZXNSb290c1BhdGgpCit7CisgICAgcmV0dXJuIEZpbGVTeXN0ZW06OnBhdGhCeUFwcGVuZGlu
Z0NvbXBvbmVudChjYWNoZXNSb290c1BhdGgsICJlc3RpbWF0ZWRzaXplIl9zKTsKK30KKwogUmVm
PENhY2hlcz4gQ2FjaGVzOjpjcmVhdGUoRW5naW5lJiBlbmdpbmUsIFdlYkNvcmU6OkNsaWVudE9y
aWdpbiYmIG9yaWdpbiwgU3RyaW5nJiYgcm9vdFBhdGgsIFdlYkNvcmU6OlN0b3JhZ2VRdW90YU1h
bmFnZXImIHF1b3RhTWFuYWdlcikKIHsKICAgICBhdXRvIGNhY2hlcyA9IGFkb3B0UmVmKCpuZXcg
Q2FjaGVzIHsgZW5naW5lLCBXVEZNb3ZlKG9yaWdpbiksIFdURk1vdmUocm9vdFBhdGgpLCBxdW90
YU1hbmFnZXIgfSk7CkBAIC0yMDMsNiArMjA4LDEyIEBAIHZvaWQgQ2FjaGVzOjppbml0aWFsaXpl
KFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpDb21wbGV0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykK
ICAgICB9KTsKIH0KIAordm9pZCBDYWNoZXM6OnVwZGF0ZVNpemVGaWxlKCkKK3sKKyAgICBpZiAo
bV9lbmdpbmUpCisgICAgICAgIG1fZW5naW5lLT53cml0ZVNpemVGaWxlKGNhY2hlc1NpemVGaWxl
bmFtZShtX3Jvb3RQYXRoKSwgbV9zaXplKTsKK30KKwogdm9pZCBDYWNoZXM6OmluaXRpYWxpemVT
aXplKCkKIHsKICAgICBpZiAoIW1fc3RvcmFnZSkgewpAQCAtMjIxLDYgKzIzMiw4IEBAIHZvaWQg
Q2FjaGVzOjppbml0aWFsaXplU2l6ZSgpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICAgICAgfQogICAgICAgICAgICAgbV9zaXplID0gc2l6ZTsKKyAgICAgICAgICAgIHVwZGF0ZVNp
emVGaWxlKCk7CisKICAgICAgICAgICAgIG1faXNJbml0aWFsaXplZCA9IHRydWU7CiAgICAgICAg
ICAgICBhdXRvIHBlbmRpbmdDYWxsYmFja3MgPSBXVEZNb3ZlKG1fcGVuZGluZ0luaXRpYWxpemF0
aW9uQ2FsbGJhY2tzKTsKICAgICAgICAgICAgIGZvciAoYXV0byYgY2FsbGJhY2sgOiBwZW5kaW5n
Q2FsbGJhY2tzKQpAQCAtNTM1LDYgKzU0OCw3IEBAIHZvaWQgQ2FjaGVzOjp3cml0ZVJlY29yZChj
b25zdCBDYWNoZSYgY2FjaGUsIGNvbnN0IFJlY29yZEluZm9ybWF0aW9uJiByZWNvcmRJbmZvCiAg
ICAgQVNTRVJUKG1fc2l6ZSA+PSBwcmV2aW91c1JlY29yZFNpemUpOwogICAgIG1fc2l6ZSArPSBy
ZWNvcmRJbmZvcm1hdGlvbi5zaXplOwogICAgIG1fc2l6ZSAtPSBwcmV2aW91c1JlY29yZFNpemU7
CisgICAgdXBkYXRlU2l6ZUZpbGUoKTsKIAogICAgIGlmICghc2hvdWxkUGVyc2lzdCgpKSB7CiAg
ICAgICAgIG1fdm9sYXRpbGVTdG9yYWdlLnNldChyZWNvcmRJbmZvcm1hdGlvbi5rZXksIFdURk1v
dmUocmVjb3JkKSk7CkBAIC01OTEsNiArNjA1LDggQEAgdm9pZCBDYWNoZXM6OnJlbW92ZVJlY29y
ZChjb25zdCBSZWNvcmRJbmZvcm1hdGlvbiYgcmVjb3JkKQogCiAgICAgQVNTRVJUKG1fc2l6ZSA+
PSByZWNvcmQuc2l6ZSk7CiAgICAgbV9zaXplIC09IHJlY29yZC5zaXplOworICAgIHVwZGF0ZVNp
emVGaWxlKCk7CisKICAgICByZW1vdmVDYWNoZUVudHJ5KHJlY29yZC5rZXkpOwogfQogCkBAIC02
MDgsNiArNjI0LDggQEAgdm9pZCBDYWNoZXM6OnJlbW92ZUNhY2hlRW50cnkoY29uc3QgTmV0d29y
a0NhY2hlOjpLZXkmIGtleSkKIHZvaWQgQ2FjaGVzOjpyZXNldFNwYWNlVXNlZCgpCiB7CiAgICAg
bV9zaXplID0gMDsKKyAgICB1cGRhdGVTaXplRmlsZSgpOworCiAgICAgaWYgKG1fcXVvdGFNYW5h
Z2VyKSB7CiAgICAgICAgIG1fcXVvdGFNYW5hZ2VyLT5yZW1vdmVVc2VyKCp0aGlzKTsKICAgICAg
ICAgbV9xdW90YU1hbmFnZXItPmFkZFVzZXIoKnRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVz
LmgKaW5kZXggM2M0NTFhNzIzZTFlOTJmNTU5ZjZmYmNlZjdmMWYzMzExODkwMmZhZS4uMDMyMzFm
M2E5YjA1NzY3MmQ2MzFiYjk2ZTY3YTZlYjk5ZTFkN2NiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNh
Y2hlcy5oCkBAIC00NCw2ICs0NCw3IEBAIGNsYXNzIEVuZ2luZTsKIAogY2xhc3MgQ2FjaGVzIGZp
bmFsIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FjaGVzPiwgcHJpdmF0ZSBXZWJDb3JlOjpTdG9yYWdl
UXVvdGFVc2VyIHsKIHB1YmxpYzoKKyAgICBzdGF0aWMgU3RyaW5nIGNhY2hlc1NpemVGaWxlbmFt
ZShjb25zdCBTdHJpbmcmKTsKICAgICBzdGF0aWMgUmVmPENhY2hlcz4gY3JlYXRlKEVuZ2luZSYs
IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmLCBTdHJpbmcmJiByb290UGF0aCwgV2ViQ29yZTo6U3Rv
cmFnZVF1b3RhTWFuYWdlciYpOwogICAgIH5DYWNoZXMoKTsKIApAQCAtMTA1LDYgKzEwNiw4IEBA
IHByaXZhdGU6CiAKICAgICBib29sIGhhc0FjdGl2ZUNhY2hlKCkgY29uc3Q7CiAKKyAgICB2b2lk
IHVwZGF0ZVNpemVGaWxlKCk7CisKICAgICBib29sIG1faXNJbml0aWFsaXplZCB7IGZhbHNlIH07
CiAgICAgRW5naW5lKiBtX2VuZ2luZSB7IG51bGxwdHIgfTsKICAgICB1aW50NjRfdCBtX3VwZGF0
ZUNvdW50ZXIgeyAwIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383396</attachid>
            <date>2019-11-12 15:58:00 -0800</date>
            <delta_ts>2019-11-12 16:02:59 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-204027-20191112155758.patch</filename>
            <type>text/plain</type>
            <size>9713</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDY0NjdiMTQwM2U0MGJiYzIy
OWNjY2JhODAyMTdhMzk4ZjUxZjQyMjkuLjVmNmI4YTU5ODUwMGE4NWQ0OTI0NjhiYmYwN2E5NDU3
ODljNzI1NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTktMTEtMTIgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHNpemUgZmlsZSBmb3IgQ2Fj
aGVTdG9yYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDQwMjcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU3MTAwODYxPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgS2VlcCB0aGUgQ2FjaGVTdG9yYWdl
IHNpemUgaW4gYSBzZXBhcmF0ZSBmaWxlIHNvIHRoYXQgd2UgY2FuIGdldCB0aGF0IHZhbHVlIHdp
dGhvdXQgd2FpdGluZyBmb3IgRW5naW5lIHRvIAorICAgICAgICBpbml0aWFsaXplIGFuZCByZWFk
IGNhY2hlcyBmcm9tIGRpc2suCisKKyAgICAgICAgTm8gYmVoYXZpb3IgY2hhbmdlIGFzIHRoZSBm
aWxlIGlzIG5vdCBpbiB1c2Ugbm93LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUv
Q2FjaGVTdG9yYWdlRW5naW5lLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpF
bmdpbmU6OndyaXRlU2l6ZUZpbGUpOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkVu
Z2luZTo6cmVhZFNpemVGaWxlKToKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpkZWxl
dGVTaXplRmlsZSk6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6RW5naW5lOjpjbGVh
ckFsbENhY2hlc0Zyb21EaXNrKToKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpFbmdp
bmU6OmRlbGV0ZURpcmVjdG9yeVJlY3Vyc2l2ZWx5T25CYWNrZ3JvdW5kVGhyZWFkKToKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuaDoKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6Y2FjaGVzU2l6ZUZpbGVuYW1lKToK
KyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpDYWNoZXM6OnVwZGF0ZVNpemVGaWxlKToK
KyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpDYWNoZXM6OmluaXRpYWxpemVTaXplKToK
KyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpDYWNoZXM6OndyaXRlUmVjb3JkKToKKyAg
ICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpDYWNoZXM6OnJlbW92ZVJlY29yZCk6CisgICAg
ICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpyZXNldFNwYWNlVXNlZCk6CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmg6CisK
IDIwMTktMTEtMTIgIFRydWl0dCBTYXZlbGwgIDx0c2F2ZWxsQGFwcGxlLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjUyMzUxLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCmluZGV4
IGUyYmZlZGJkYmVhZGRmZDdjZjk5NGRhYWJlNTkxNTNlOWYyMmJmM2EuLjMxNzg3YmEwYmYzZmZl
MDEwMDBjY2Q0ZDgzNGQ4N2RkMTQwMTcwYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKQEAgLTM1LDYg
KzM1LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmg+CiAjaW5jbHVkZSA8
d3RmL0NhbGxiYWNrQWdncmVnYXRvci5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5o
PgorI2luY2x1ZGUgPHd0Zi9TY29wZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxk
ZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTQ1LDYgKzQ2LDgg
QEAgbmFtZXNwYWNlIENhY2hlU3RvcmFnZSB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTo6RE9N
Q2FjaGVFbmdpbmU7CiB1c2luZyBuYW1lc3BhY2UgTmV0d29ya0NhY2hlOwogCitzdGF0aWMgTG9j
ayBnbG9iYWxTaXplRmlsZUxvY2s7CisKIFN0cmluZyBFbmdpbmU6OmNhY2hlc1Jvb3RQYXRoKGNv
bnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYgb3JpZ2luKQogewogICAgIGlmICghc2hvdWxkUGVy
c2lzdCgpIHx8ICFtX3NhbHQpCkBAIC00NjEsNiArNDY0LDYyIEBAIHZvaWQgRW5naW5lOjpyZW1v
dmVGaWxlKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUpCiAgICAgfSk7CiB9CiAKK3ZvaWQgRW5naW5l
Ojp3cml0ZVNpemVGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCwgdWludDY0X3Qgc2l6ZSkKK3sKKyAg
ICBpZiAoIXNob3VsZFBlcnNpc3QoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9pb1F1ZXVl
LT5kaXNwYXRjaChbcGF0aCA9IHBhdGguaXNvbGF0ZWRDb3B5KCksIHNpemVdKCkgeworICAgICAg
ICBMb2NrSG9sZGVyIGxvY2tlcihnbG9iYWxTaXplRmlsZUxvY2spOworICAgICAgICBhdXRvIGZp
bGVIYW5kbGUgPSBGaWxlU3lzdGVtOjpvcGVuRmlsZShwYXRoLCBGaWxlU3lzdGVtOjpGaWxlT3Bl
bk1vZGU6OldyaXRlKTsKKyAgICAgICAgYXV0byBjbG9zZUZpbGVIYW5kbGVyID0gbWFrZVNjb3Bl
RXhpdChbJl0geworICAgICAgICAgICAgRmlsZVN5c3RlbTo6Y2xvc2VGaWxlKGZpbGVIYW5kbGUp
OworICAgICAgICB9KTsKKyAgICAgICAgaWYgKCFGaWxlU3lzdGVtOjppc0hhbmRsZVZhbGlkKGZp
bGVIYW5kbGUpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIEZpbGVTeXN0ZW06OnRy
dW5jYXRlRmlsZShmaWxlSGFuZGxlLCAwKTsKKyAgICAgICAgRmlsZVN5c3RlbTo6d3JpdGVUb0Zp
bGUoZmlsZUhhbmRsZSwgU3RyaW5nOjpudW1iZXIoc2l6ZSkudXRmOCgpLmRhdGEoKSwgU3RyaW5n
OjpudW1iZXIoc2l6ZSkudXRmOCgpLmxlbmd0aCgpKTsKKyAgICB9KTsKK30KKworT3B0aW9uYWw8
dWludDY0X3Q+IEVuZ2luZTo6cmVhZFNpemVGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCkKK3sKKyAg
ICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKKworICAgIExvY2tIb2xkZXIgbG9ja2VyKGds
b2JhbFNpemVGaWxlTG9jayk7CisgICAgYXV0byBmaWxlSGFuZGxlID0gRmlsZVN5c3RlbTo6b3Bl
bkZpbGUocGF0aCwgRmlsZVN5c3RlbTo6RmlsZU9wZW5Nb2RlOjpSZWFkKTsKKyAgICBhdXRvIGNs
b3NlRmlsZUhhbmRsZSA9IG1ha2VTY29wZUV4aXQoWyZdIHsKKyAgICAgICAgRmlsZVN5c3RlbTo6
Y2xvc2VGaWxlKGZpbGVIYW5kbGUpOworICAgIH0pOworCisgICAgaWYgKCFGaWxlU3lzdGVtOjpp
c0hhbmRsZVZhbGlkKGZpbGVIYW5kbGUpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owor
CisgICAgbG9uZyBsb25nIGZpbGVTaXplID0gMDsKKyAgICBpZiAoIUZpbGVTeXN0ZW06OmdldEZp
bGVTaXplKHBhdGgsIGZpbGVTaXplKSB8fCAhZmlsZVNpemUpCisgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisKKyAgICBzaXplX3QgYnl0ZXNUb1JlYWQ7CisgICAgaWYgKCFXVEY6OmNvbnZl
cnRTYWZlbHkoZmlsZVNpemUsIGJ5dGVzVG9SZWFkKSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKKworICAgIFZlY3RvcjxjaGFyPiBidWZmZXIoYnl0ZXNUb1JlYWQpOworICAgIHNpemVf
dCB0b3RhbEJ5dGVzUmVhZCA9IEZpbGVTeXN0ZW06OnJlYWRGcm9tRmlsZShmaWxlSGFuZGxlLCBi
dWZmZXIuZGF0YSgpLCBidWZmZXIuc2l6ZSgpKTsKKyAgICBpZiAodG90YWxCeXRlc1JlYWQgIT0g
Ynl0ZXNUb1JlYWQpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICByZXR1cm4g
U3RyaW5nOjpmcm9tVVRGOChidWZmZXIuZGF0YSgpKS50b1VJbnQ2NFN0cmljdCgpOworfQorCitz
dGF0aWMgdm9pZCBkZWxldGVTaXplRmlsZShjb25zdCBTdHJpbmcmIHBhdGgpCit7CisgICAgQVNT
RVJUKCFSdW5Mb29wOjppc01haW4oKSk7CisKKyAgICBMb2NrSG9sZGVyIGxvY2tlcihnbG9iYWxT
aXplRmlsZUxvY2spOworICAgIEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUocGF0aCk7Cit9CisKIGNs
YXNzIFJlYWRPcmlnaW5zVGFza0NvdW50ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxSZWFkT3JpZ2lu
c1Rhc2tDb3VudGVyPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxSZWFkT3JpZ2luc1Rhc2tD
b3VudGVyPiBjcmVhdGUoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8V2Vic2l0ZURhdGE6
OkVudHJ5Pik+JiYgY2FsbGJhY2spCkBAIC01NjUsNiArNjI0LDcgQEAgdm9pZCBFbmdpbmU6OmNs
ZWFyQWxsQ2FjaGVzRnJvbURpc2soQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRp
b25IYW5kbGUKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCiAgICAgbV9pb1F1ZXVl
LT5kaXNwYXRjaChbcGF0aCA9IG1fcm9vdFBhdGguaXNvbGF0ZWRDb3B5KCksIGNvbXBsZXRpb25I
YW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7CisgICAgICAg
IExvY2tIb2xkZXIgbG9ja2VyKGdsb2JhbFNpemVGaWxlTG9jayk7CiAgICAgICAgIGZvciAoYXV0
byYgZmlsZW5hbWUgOiBGaWxlU3lzdGVtOjpsaXN0RGlyZWN0b3J5KHBhdGgsICIqIikpIHsKICAg
ICAgICAgICAgIGlmIChGaWxlU3lzdGVtOjpmaWxlSXNEaXJlY3RvcnkoZmlsZW5hbWUsIEZpbGVT
eXN0ZW06OlNob3VsZEZvbGxvd1N5bWJvbGljTGlua3M6Ok5vKSkKICAgICAgICAgICAgICAgICBk
ZWxldGVEaXJlY3RvcnlSZWN1cnNpdmVseShmaWxlbmFtZSk7CkBAIC02MjMsNiArNjgzLDcgQEAg
dm9pZCBFbmdpbmU6OmRlbGV0ZURpcmVjdG9yeVJlY3Vyc2l2ZWx5T25CYWNrZ3JvdW5kVGhyZWFk
KGNvbnN0IFN0cmluZyYgcGF0aCwgQ28KICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwog
CiAgICAgbV9pb1F1ZXVlLT5kaXNwYXRjaChbcGF0aCA9IHBhdGguaXNvbGF0ZWRDb3B5KCksIGNv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7
CisgICAgICAgIGRlbGV0ZVNpemVGaWxlKENhY2hlczo6Y2FjaGVzU2l6ZUZpbGVuYW1lKHBhdGgp
KTsKICAgICAgICAgZGVsZXRlRGlyZWN0b3J5UmVjdXJzaXZlbHkocGF0aCk7CiAKICAgICAgICAg
UnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdl
RW5naW5lLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFn
ZUVuZ2luZS5oCmluZGV4IDE0OTE0YjU1YjJlOTY3OWQ0Yjg5OGZkN2EwMGIyMDI0Y2E5NTY2ZjEu
LjM4ZDZmYzEzNGZlMDBkNGIwNGYzODA4YzBiYjg5N2IzZDYyMTY1NGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmgKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUu
aApAQCAtODQsNiArODQsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCB3cml0ZUZpbGUoY29uc3QgU3Ry
aW5nJiBmaWxlbmFtZSwgTmV0d29ya0NhY2hlOjpEYXRhJiYsIFdlYkNvcmU6OkRPTUNhY2hlRW5n
aW5lOjpDb21wbGV0aW9uQ2FsbGJhY2smJik7CiAgICAgdm9pZCByZWFkRmlsZShjb25zdCBTdHJp
bmcmIGZpbGVuYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IE5ldHdvcmtDYWNoZTo6
RGF0YSYsIGludCBlcnJvcik+JiYpOwogICAgIHZvaWQgcmVtb3ZlRmlsZShjb25zdCBTdHJpbmcm
IGZpbGVuYW1lKTsKKyAgICB2b2lkIHdyaXRlU2l6ZUZpbGUoY29uc3QgU3RyaW5nJiwgdWludDY0
X3Qgc2l6ZSk7CisgICAgc3RhdGljIE9wdGlvbmFsPHVpbnQ2NF90PiByZWFkU2l6ZUZpbGUoY29u
c3QgU3RyaW5nJik7CiAKICAgICBjb25zdCBTdHJpbmcmIHJvb3RQYXRoKCkgY29uc3QgeyByZXR1
cm4gbV9yb290UGF0aDsgfQogICAgIGNvbnN0IE5ldHdvcmtDYWNoZTo6U2FsdCYgc2FsdCgpIGNv
bnN0IHsgcmV0dXJuIG1fc2FsdC52YWx1ZSgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5j
cHAKaW5kZXggMjM4Nzk0MTZmZmRjM2QyMTMwNjdkMWUyNzk1MTdlZTE0Y2JiNWE2Yy4uM2I0NTNi
ODg5NmE2OTFkNTExZWMxYzRmZjhmNGIyNDNjNjZkNWNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5l
Q2FjaGVzLmNwcApAQCAtNTEsNiArNTEsMTEgQEAgc3RhdGljIGlubGluZSBTdHJpbmcgY2FjaGVz
T3JpZ2luRmlsZW5hbWUoY29uc3QgU3RyaW5nJiBjYWNoZXNSb290UGF0aCkKICAgICByZXR1cm4g
RmlsZVN5c3RlbTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KGNhY2hlc1Jvb3RQYXRoLCAib3Jp
Z2luIl9zKTsKIH0KIAorU3RyaW5nIENhY2hlczo6Y2FjaGVzU2l6ZUZpbGVuYW1lKGNvbnN0IFN0
cmluZyYgY2FjaGVzUm9vdHNQYXRoKQoreworICAgIHJldHVybiBGaWxlU3lzdGVtOjpwYXRoQnlB
cHBlbmRpbmdDb21wb25lbnQoY2FjaGVzUm9vdHNQYXRoLCAiZXN0aW1hdGVkc2l6ZSJfcyk7Cit9
CisKIFJlZjxDYWNoZXM+IENhY2hlczo6Y3JlYXRlKEVuZ2luZSYgZW5naW5lLCBXZWJDb3JlOjpD
bGllbnRPcmlnaW4mJiBvcmlnaW4sIFN0cmluZyYmIHJvb3RQYXRoLCBXZWJDb3JlOjpTdG9yYWdl
UXVvdGFNYW5hZ2VyJiBxdW90YU1hbmFnZXIpCiB7CiAgICAgYXV0byBjYWNoZXMgPSBhZG9wdFJl
ZigqbmV3IENhY2hlcyB7IGVuZ2luZSwgV1RGTW92ZShvcmlnaW4pLCBXVEZNb3ZlKHJvb3RQYXRo
KSwgcXVvdGFNYW5hZ2VyIH0pOwpAQCAtMjAzLDYgKzIwOCwxMiBAQCB2b2lkIENhY2hlczo6aW5p
dGlhbGl6ZShXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q29tcGxldGlvbkNhbGxiYWNrJiYgY2Fs
bGJhY2spCiAgICAgfSk7CiB9CiAKK3ZvaWQgQ2FjaGVzOjp1cGRhdGVTaXplRmlsZSgpCit7Cisg
ICAgaWYgKG1fZW5naW5lKQorICAgICAgICBtX2VuZ2luZS0+d3JpdGVTaXplRmlsZShjYWNoZXNT
aXplRmlsZW5hbWUobV9yb290UGF0aCksIG1fc2l6ZSk7Cit9CisKIHZvaWQgQ2FjaGVzOjppbml0
aWFsaXplU2l6ZSgpCiB7CiAgICAgaWYgKCFtX3N0b3JhZ2UpIHsKQEAgLTIyMSw2ICsyMzIsOCBA
QCB2b2lkIENhY2hlczo6aW5pdGlhbGl6ZVNpemUoKQogICAgICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIG1fc2l6ZSA9IHNpemU7CisgICAgICAgICAgICB1
cGRhdGVTaXplRmlsZSgpOworCiAgICAgICAgICAgICBtX2lzSW5pdGlhbGl6ZWQgPSB0cnVlOwog
ICAgICAgICAgICAgYXV0byBwZW5kaW5nQ2FsbGJhY2tzID0gV1RGTW92ZShtX3BlbmRpbmdJbml0
aWFsaXphdGlvbkNhbGxiYWNrcyk7CiAgICAgICAgICAgICBmb3IgKGF1dG8mIGNhbGxiYWNrIDog
cGVuZGluZ0NhbGxiYWNrcykKQEAgLTUzNSw2ICs1NDgsNyBAQCB2b2lkIENhY2hlczo6d3JpdGVS
ZWNvcmQoY29uc3QgQ2FjaGUmIGNhY2hlLCBjb25zdCBSZWNvcmRJbmZvcm1hdGlvbiYgcmVjb3Jk
SW5mbwogICAgIEFTU0VSVChtX3NpemUgPj0gcHJldmlvdXNSZWNvcmRTaXplKTsKICAgICBtX3Np
emUgKz0gcmVjb3JkSW5mb3JtYXRpb24uc2l6ZTsKICAgICBtX3NpemUgLT0gcHJldmlvdXNSZWNv
cmRTaXplOworICAgIHVwZGF0ZVNpemVGaWxlKCk7CiAKICAgICBpZiAoIXNob3VsZFBlcnNpc3Qo
KSkgewogICAgICAgICBtX3ZvbGF0aWxlU3RvcmFnZS5zZXQocmVjb3JkSW5mb3JtYXRpb24ua2V5
LCBXVEZNb3ZlKHJlY29yZCkpOwpAQCAtNTkxLDYgKzYwNSw4IEBAIHZvaWQgQ2FjaGVzOjpyZW1v
dmVSZWNvcmQoY29uc3QgUmVjb3JkSW5mb3JtYXRpb24mIHJlY29yZCkKIAogICAgIEFTU0VSVCht
X3NpemUgPj0gcmVjb3JkLnNpemUpOwogICAgIG1fc2l6ZSAtPSByZWNvcmQuc2l6ZTsKKyAgICB1
cGRhdGVTaXplRmlsZSgpOworCiAgICAgcmVtb3ZlQ2FjaGVFbnRyeShyZWNvcmQua2V5KTsKIH0K
IApAQCAtNjA4LDYgKzYyNCw4IEBAIHZvaWQgQ2FjaGVzOjpyZW1vdmVDYWNoZUVudHJ5KGNvbnN0
IE5ldHdvcmtDYWNoZTo6S2V5JiBrZXkpCiB2b2lkIENhY2hlczo6cmVzZXRTcGFjZVVzZWQoKQog
ewogICAgIG1fc2l6ZSA9IDA7CisgICAgdXBkYXRlU2l6ZUZpbGUoKTsKKwogICAgIGlmIChtX3F1
b3RhTWFuYWdlcikgewogICAgICAgICBtX3F1b3RhTWFuYWdlci0+cmVtb3ZlVXNlcigqdGhpcyk7
CiAgICAgICAgIG1fcXVvdGFNYW5hZ2VyLT5hZGRVc2VyKCp0aGlzKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVz
LmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2lu
ZUNhY2hlcy5oCmluZGV4IDNjNDUxYTcyM2UxZTkyZjU1OWY2ZmJjZWY3ZjFmMzMxMTg5MDJmYWUu
LjAzMjMxZjNhOWIwNTc2NzJkNjMxYmI5NmU2N2E2ZWI5OWUxZDdjYmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVz
LmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VF
bmdpbmVDYWNoZXMuaApAQCAtNDQsNiArNDQsNyBAQCBjbGFzcyBFbmdpbmU7CiAKIGNsYXNzIENh
Y2hlcyBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPENhY2hlcz4sIHByaXZhdGUgV2ViQ29yZTo6
U3RvcmFnZVF1b3RhVXNlciB7CiBwdWJsaWM6CisgICAgc3RhdGljIFN0cmluZyBjYWNoZXNTaXpl
RmlsZW5hbWUoY29uc3QgU3RyaW5nJik7CiAgICAgc3RhdGljIFJlZjxDYWNoZXM+IGNyZWF0ZShF
bmdpbmUmLCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgU3RyaW5nJiYgcm9vdFBhdGgsIFdlYkNv
cmU6OlN0b3JhZ2VRdW90YU1hbmFnZXImKTsKICAgICB+Q2FjaGVzKCk7CiAKQEAgLTEwNSw2ICsx
MDYsOCBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBoYXNBY3RpdmVDYWNoZSgpIGNvbnN0OwogCisg
ICAgdm9pZCB1cGRhdGVTaXplRmlsZSgpOworCiAgICAgYm9vbCBtX2lzSW5pdGlhbGl6ZWQgeyBm
YWxzZSB9OwogICAgIEVuZ2luZSogbV9lbmdpbmUgeyBudWxscHRyIH07CiAgICAgdWludDY0X3Qg
bV91cGRhdGVDb3VudGVyIHsgMCB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383397</attachid>
            <date>2019-11-12 16:03:00 -0800</date>
            <delta_ts>2019-11-12 17:24:34 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-204027-20191112160259.patch</filename>
            <type>text/plain</type>
            <size>9483</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDY0NjdiMTQwM2U0MGJiYzIy
OWNjY2JhODAyMTdhMzk4ZjUxZjQyMjkuLjAzNGVmMzU5ZjUzM2ZmMWZlNmYwZmRkYWY0NmEzZDA5
OTQ0NjExNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTktMTEtMTIgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHNpemUgZmlsZSBmb3IgQ2Fj
aGVTdG9yYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDQwMjcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU3MTAwODYxPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgS2VlcCB0aGUgQ2FjaGVTdG9yYWdl
IHNpemUgaW4gYSBzZXBhcmF0ZSBmaWxlIHNvIHRoYXQgd2UgY2FuIGdldCB0aGF0IHZhbHVlIHdp
dGhvdXQgd2FpdGluZyBmb3IgRW5naW5lIHRvIAorICAgICAgICBpbml0aWFsaXplIGFuZCByZWFk
IGNhY2hlcyBmcm9tIGRpc2suCisKKyAgICAgICAgTm8gYmVoYXZpb3IgY2hhbmdlIGFzIHRoZSBm
aWxlIGlzIG5vdCBpbiB1c2Ugbm93LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUv
Q2FjaGVTdG9yYWdlRW5naW5lLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpF
bmdpbmU6OndyaXRlU2l6ZUZpbGUpOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkVu
Z2luZTo6cmVhZFNpemVGaWxlKToKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpFbmdp
bmU6OmNsZWFyQWxsQ2FjaGVzRnJvbURpc2spOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3Jh
Z2U6OkVuZ2luZTo6ZGVsZXRlRGlyZWN0b3J5UmVjdXJzaXZlbHlPbkJhY2tncm91bmRUaHJlYWQp
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5oOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5j
cHA6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpjYWNoZXNTaXplRmls
ZW5hbWUpOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6dXBkYXRlU2l6
ZUZpbGUpOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6aW5pdGlhbGl6
ZVNpemUpOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6d3JpdGVSZWNv
cmQpOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6cmVtb3ZlUmVjb3Jk
KToKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpDYWNoZXM6OnJlc2V0U3BhY2VVc2Vk
KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNo
ZXMuaDoKKwogMjAxOS0xMS0xMiAgVHJ1aXR0IFNhdmVsbCAgPHRzYXZlbGxAYXBwbGUuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNTIzNTEuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5j
cHAKaW5kZXggZTJiZmVkYmRiZWFkZGZkN2NmOTk0ZGFhYmU1OTE1M2U5ZjIyYmYzYS4uZmY4YThj
NWY2MjUwZjJkYzA3OTVhMjc1ZDkyYjljOGZiMWQxNDFmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcApA
QCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KICNp
bmNsdWRlIDx3dGYvQ2FsbGJhY2tBZ2dyZWdhdG9yLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVz
dHJveWVkLmg+CisjaW5jbHVkZSA8d3RmL1Njb3BlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3Ry
aW5nQnVpbGRlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIApAQCAtNDUs
NiArNDYsOCBAQCBuYW1lc3BhY2UgQ2FjaGVTdG9yYWdlIHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOjpET01DYWNoZUVuZ2luZTsKIHVzaW5nIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGU7CiAKK3N0
YXRpYyBMb2NrIGdsb2JhbFNpemVGaWxlTG9jazsKKwogU3RyaW5nIEVuZ2luZTo6Y2FjaGVzUm9v
dFBhdGgoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBvcmlnaW4pCiB7CiAgICAgaWYgKCFz
aG91bGRQZXJzaXN0KCkgfHwgIW1fc2FsdCkKQEAgLTQ2MSw2ICs0NjQsNTQgQEAgdm9pZCBFbmdp
bmU6OnJlbW92ZUZpbGUoY29uc3QgU3RyaW5nJiBmaWxlbmFtZSkKICAgICB9KTsKIH0KIAordm9p
ZCBFbmdpbmU6OndyaXRlU2l6ZUZpbGUoY29uc3QgU3RyaW5nJiBwYXRoLCB1aW50NjRfdCBzaXpl
KQoreworICAgIGlmICghc2hvdWxkUGVyc2lzdCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBt
X2lvUXVldWUtPmRpc3BhdGNoKFtwYXRoID0gcGF0aC5pc29sYXRlZENvcHkoKSwgc2l6ZV0oKSB7
CisgICAgICAgIExvY2tIb2xkZXIgbG9ja2VyKGdsb2JhbFNpemVGaWxlTG9jayk7CisgICAgICAg
IGF1dG8gZmlsZUhhbmRsZSA9IEZpbGVTeXN0ZW06Om9wZW5GaWxlKHBhdGgsIEZpbGVTeXN0ZW06
OkZpbGVPcGVuTW9kZTo6V3JpdGUpOworICAgICAgICBhdXRvIGNsb3NlRmlsZUhhbmRsZXIgPSBt
YWtlU2NvcGVFeGl0KFsmXSB7CisgICAgICAgICAgICBGaWxlU3lzdGVtOjpjbG9zZUZpbGUoZmls
ZUhhbmRsZSk7CisgICAgICAgIH0pOworICAgICAgICBpZiAoIUZpbGVTeXN0ZW06OmlzSGFuZGxl
VmFsaWQoZmlsZUhhbmRsZSkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgRmlsZVN5
c3RlbTo6dHJ1bmNhdGVGaWxlKGZpbGVIYW5kbGUsIDApOworICAgICAgICBGaWxlU3lzdGVtOjp3
cml0ZVRvRmlsZShmaWxlSGFuZGxlLCBTdHJpbmc6Om51bWJlcihzaXplKS51dGY4KCkuZGF0YSgp
LCBTdHJpbmc6Om51bWJlcihzaXplKS51dGY4KCkubGVuZ3RoKCkpOworICAgIH0pOworfQorCitP
cHRpb25hbDx1aW50NjRfdD4gRW5naW5lOjpyZWFkU2l6ZUZpbGUoY29uc3QgU3RyaW5nJiBwYXRo
KQoreworICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOworCisgICAgTG9ja0hvbGRlciBs
b2NrZXIoZ2xvYmFsU2l6ZUZpbGVMb2NrKTsKKyAgICBhdXRvIGZpbGVIYW5kbGUgPSBGaWxlU3lz
dGVtOjpvcGVuRmlsZShwYXRoLCBGaWxlU3lzdGVtOjpGaWxlT3Blbk1vZGU6OlJlYWQpOworICAg
IGF1dG8gY2xvc2VGaWxlSGFuZGxlID0gbWFrZVNjb3BlRXhpdChbJl0geworICAgICAgICBGaWxl
U3lzdGVtOjpjbG9zZUZpbGUoZmlsZUhhbmRsZSk7CisgICAgfSk7CisKKyAgICBpZiAoIUZpbGVT
eXN0ZW06OmlzSGFuZGxlVmFsaWQoZmlsZUhhbmRsZSkpCisgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CisKKyAgICBsb25nIGxvbmcgZmlsZVNpemUgPSAwOworICAgIGlmICghRmlsZVN5c3Rl
bTo6Z2V0RmlsZVNpemUocGF0aCwgZmlsZVNpemUpIHx8ICFmaWxlU2l6ZSkKKyAgICAgICAgcmV0
dXJuIFdURjo6bnVsbG9wdDsKKworICAgIHNpemVfdCBieXRlc1RvUmVhZDsKKyAgICBpZiAoIVdU
Rjo6Y29udmVydFNhZmVseShmaWxlU2l6ZSwgYnl0ZXNUb1JlYWQpKQorICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OworCisgICAgVmVjdG9yPGNoYXI+IGJ1ZmZlcihieXRlc1RvUmVhZCk7Cisg
ICAgc2l6ZV90IHRvdGFsQnl0ZXNSZWFkID0gRmlsZVN5c3RlbTo6cmVhZEZyb21GaWxlKGZpbGVI
YW5kbGUsIGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5zaXplKCkpOworICAgIGlmICh0b3RhbEJ5dGVz
UmVhZCAhPSBieXRlc1RvUmVhZCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAg
IHJldHVybiBTdHJpbmc6OmZyb21VVEY4KGJ1ZmZlci5kYXRhKCkpLnRvVUludDY0U3RyaWN0KCk7
Cit9CisKIGNsYXNzIFJlYWRPcmlnaW5zVGFza0NvdW50ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxS
ZWFkT3JpZ2luc1Rhc2tDb3VudGVyPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxSZWFkT3Jp
Z2luc1Rhc2tDb3VudGVyPiBjcmVhdGUoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8V2Vi
c2l0ZURhdGE6OkVudHJ5Pik+JiYgY2FsbGJhY2spCkBAIC01NjUsNiArNjE2LDcgQEAgdm9pZCBF
bmdpbmU6OmNsZWFyQWxsQ2FjaGVzRnJvbURpc2soQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
IGNvbXBsZXRpb25IYW5kbGUKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCiAgICAg
bV9pb1F1ZXVlLT5kaXNwYXRjaChbcGF0aCA9IG1fcm9vdFBhdGguaXNvbGF0ZWRDb3B5KCksIGNv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7
CisgICAgICAgIExvY2tIb2xkZXIgbG9ja2VyKGdsb2JhbFNpemVGaWxlTG9jayk7CiAgICAgICAg
IGZvciAoYXV0byYgZmlsZW5hbWUgOiBGaWxlU3lzdGVtOjpsaXN0RGlyZWN0b3J5KHBhdGgsICIq
IikpIHsKICAgICAgICAgICAgIGlmIChGaWxlU3lzdGVtOjpmaWxlSXNEaXJlY3RvcnkoZmlsZW5h
bWUsIEZpbGVTeXN0ZW06OlNob3VsZEZvbGxvd1N5bWJvbGljTGlua3M6Ok5vKSkKICAgICAgICAg
ICAgICAgICBkZWxldGVEaXJlY3RvcnlSZWN1cnNpdmVseShmaWxlbmFtZSk7CkBAIC02MjMsNiAr
Njc1LDcgQEAgdm9pZCBFbmdpbmU6OmRlbGV0ZURpcmVjdG9yeVJlY3Vyc2l2ZWx5T25CYWNrZ3Jv
dW5kVGhyZWFkKGNvbnN0IFN0cmluZyYgcGF0aCwgQ28KICAgICBBU1NFUlQoUnVuTG9vcDo6aXNN
YWluKCkpOwogCiAgICAgbV9pb1F1ZXVlLT5kaXNwYXRjaChbcGF0aCA9IHBhdGguaXNvbGF0ZWRD
b3B5KCksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkg
bXV0YWJsZSB7CisgICAgICAgIExvY2tIb2xkZXIgbG9ja2VyKGdsb2JhbFNpemVGaWxlTG9jayk7
CiAgICAgICAgIGRlbGV0ZURpcmVjdG9yeVJlY3Vyc2l2ZWx5KHBhdGgpOwogCiAgICAgICAgIFJ1
bkxvb3A6Om1haW4oKS5kaXNwYXRjaChXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVu
Z2luZS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VF
bmdpbmUuaAppbmRleCAxNDkxNGI1NWIyZTk2NzlkNGI4OThmZDdhMDBiMjAyNGNhOTU2NmYxLi4z
OGQ2ZmMxMzRmZTAwZDRiMDRmMzgwOGMwYmI4OTdiM2Q2MjE2NTRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmgK
QEAgLTg0LDYgKzg0LDggQEAgcHVibGljOgogICAgIHZvaWQgd3JpdGVGaWxlKGNvbnN0IFN0cmlu
ZyYgZmlsZW5hbWUsIE5ldHdvcmtDYWNoZTo6RGF0YSYmLCBXZWJDb3JlOjpET01DYWNoZUVuZ2lu
ZTo6Q29tcGxldGlvbkNhbGxiYWNrJiYpOwogICAgIHZvaWQgcmVhZEZpbGUoY29uc3QgU3RyaW5n
JiBmaWxlbmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBOZXR3b3JrQ2FjaGU6OkRh
dGEmLCBpbnQgZXJyb3IpPiYmKTsKICAgICB2b2lkIHJlbW92ZUZpbGUoY29uc3QgU3RyaW5nJiBm
aWxlbmFtZSk7CisgICAgdm9pZCB3cml0ZVNpemVGaWxlKGNvbnN0IFN0cmluZyYsIHVpbnQ2NF90
IHNpemUpOworICAgIHN0YXRpYyBPcHRpb25hbDx1aW50NjRfdD4gcmVhZFNpemVGaWxlKGNvbnN0
IFN0cmluZyYpOwogCiAgICAgY29uc3QgU3RyaW5nJiByb290UGF0aCgpIGNvbnN0IHsgcmV0dXJu
IG1fcm9vdFBhdGg7IH0KICAgICBjb25zdCBOZXR3b3JrQ2FjaGU6OlNhbHQmIHNhbHQoKSBjb25z
dCB7IHJldHVybiBtX3NhbHQudmFsdWUoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3Bw
CmluZGV4IDIzODc5NDE2ZmZkYzNkMjEzMDY3ZDFlMjc5NTE3ZWUxNGNiYjVhNmMuLjNiNDUzYjg4
OTZhNjkxZDUxMWVjMWM0ZmY4ZjRiMjQzYzY2ZDVjZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNh
Y2hlcy5jcHAKQEAgLTUxLDYgKzUxLDExIEBAIHN0YXRpYyBpbmxpbmUgU3RyaW5nIGNhY2hlc09y
aWdpbkZpbGVuYW1lKGNvbnN0IFN0cmluZyYgY2FjaGVzUm9vdFBhdGgpCiAgICAgcmV0dXJuIEZp
bGVTeXN0ZW06OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChjYWNoZXNSb290UGF0aCwgIm9yaWdp
biJfcyk7CiB9CiAKK1N0cmluZyBDYWNoZXM6OmNhY2hlc1NpemVGaWxlbmFtZShjb25zdCBTdHJp
bmcmIGNhY2hlc1Jvb3RzUGF0aCkKK3sKKyAgICByZXR1cm4gRmlsZVN5c3RlbTo6cGF0aEJ5QXBw
ZW5kaW5nQ29tcG9uZW50KGNhY2hlc1Jvb3RzUGF0aCwgImVzdGltYXRlZHNpemUiX3MpOworfQor
CiBSZWY8Q2FjaGVzPiBDYWNoZXM6OmNyZWF0ZShFbmdpbmUmIGVuZ2luZSwgV2ViQ29yZTo6Q2xp
ZW50T3JpZ2luJiYgb3JpZ2luLCBTdHJpbmcmJiByb290UGF0aCwgV2ViQ29yZTo6U3RvcmFnZVF1
b3RhTWFuYWdlciYgcXVvdGFNYW5hZ2VyKQogewogICAgIGF1dG8gY2FjaGVzID0gYWRvcHRSZWYo
Km5ldyBDYWNoZXMgeyBlbmdpbmUsIFdURk1vdmUob3JpZ2luKSwgV1RGTW92ZShyb290UGF0aCks
IHF1b3RhTWFuYWdlciB9KTsKQEAgLTIwMyw2ICsyMDgsMTIgQEAgdm9pZCBDYWNoZXM6OmluaXRp
YWxpemUoV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNvbXBsZXRpb25DYWxsYmFjayYmIGNhbGxi
YWNrKQogICAgIH0pOwogfQogCit2b2lkIENhY2hlczo6dXBkYXRlU2l6ZUZpbGUoKQoreworICAg
IGlmIChtX2VuZ2luZSkKKyAgICAgICAgbV9lbmdpbmUtPndyaXRlU2l6ZUZpbGUoY2FjaGVzU2l6
ZUZpbGVuYW1lKG1fcm9vdFBhdGgpLCBtX3NpemUpOworfQorCiB2b2lkIENhY2hlczo6aW5pdGlh
bGl6ZVNpemUoKQogewogICAgIGlmICghbV9zdG9yYWdlKSB7CkBAIC0yMjEsNiArMjMyLDggQEAg
dm9pZCBDYWNoZXM6OmluaXRpYWxpemVTaXplKCkKICAgICAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICBtX3NpemUgPSBzaXplOworICAgICAgICAgICAgdXBk
YXRlU2l6ZUZpbGUoKTsKKwogICAgICAgICAgICAgbV9pc0luaXRpYWxpemVkID0gdHJ1ZTsKICAg
ICAgICAgICAgIGF1dG8gcGVuZGluZ0NhbGxiYWNrcyA9IFdURk1vdmUobV9wZW5kaW5nSW5pdGlh
bGl6YXRpb25DYWxsYmFja3MpOwogICAgICAgICAgICAgZm9yIChhdXRvJiBjYWxsYmFjayA6IHBl
bmRpbmdDYWxsYmFja3MpCkBAIC01MzUsNiArNTQ4LDcgQEAgdm9pZCBDYWNoZXM6OndyaXRlUmVj
b3JkKGNvbnN0IENhY2hlJiBjYWNoZSwgY29uc3QgUmVjb3JkSW5mb3JtYXRpb24mIHJlY29yZElu
Zm8KICAgICBBU1NFUlQobV9zaXplID49IHByZXZpb3VzUmVjb3JkU2l6ZSk7CiAgICAgbV9zaXpl
ICs9IHJlY29yZEluZm9ybWF0aW9uLnNpemU7CiAgICAgbV9zaXplIC09IHByZXZpb3VzUmVjb3Jk
U2l6ZTsKKyAgICB1cGRhdGVTaXplRmlsZSgpOwogCiAgICAgaWYgKCFzaG91bGRQZXJzaXN0KCkp
IHsKICAgICAgICAgbV92b2xhdGlsZVN0b3JhZ2Uuc2V0KHJlY29yZEluZm9ybWF0aW9uLmtleSwg
V1RGTW92ZShyZWNvcmQpKTsKQEAgLTU5MSw2ICs2MDUsOCBAQCB2b2lkIENhY2hlczo6cmVtb3Zl
UmVjb3JkKGNvbnN0IFJlY29yZEluZm9ybWF0aW9uJiByZWNvcmQpCiAKICAgICBBU1NFUlQobV9z
aXplID49IHJlY29yZC5zaXplKTsKICAgICBtX3NpemUgLT0gcmVjb3JkLnNpemU7CisgICAgdXBk
YXRlU2l6ZUZpbGUoKTsKKwogICAgIHJlbW92ZUNhY2hlRW50cnkocmVjb3JkLmtleSk7CiB9CiAK
QEAgLTYwOCw2ICs2MjQsOCBAQCB2b2lkIENhY2hlczo6cmVtb3ZlQ2FjaGVFbnRyeShjb25zdCBO
ZXR3b3JrQ2FjaGU6OktleSYga2V5KQogdm9pZCBDYWNoZXM6OnJlc2V0U3BhY2VVc2VkKCkKIHsK
ICAgICBtX3NpemUgPSAwOworICAgIHVwZGF0ZVNpemVGaWxlKCk7CisKICAgICBpZiAobV9xdW90
YU1hbmFnZXIpIHsKICAgICAgICAgbV9xdW90YU1hbmFnZXItPnJlbW92ZVVzZXIoKnRoaXMpOwog
ICAgICAgICBtX3F1b3RhTWFuYWdlci0+YWRkVXNlcigqdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5o
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVD
YWNoZXMuaAppbmRleCAzYzQ1MWE3MjNlMWU5MmY1NTlmNmZiY2VmN2YxZjMzMTE4OTAyZmFlLi4w
MzIzMWYzYTliMDU3NjcyZDYzMWJiOTZlNjdhNmViOTllMWQ3Y2JiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5n
aW5lQ2FjaGVzLmgKQEAgLTQ0LDYgKzQ0LDcgQEAgY2xhc3MgRW5naW5lOwogCiBjbGFzcyBDYWNo
ZXMgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxDYWNoZXM+LCBwcml2YXRlIFdlYkNvcmU6OlN0
b3JhZ2VRdW90YVVzZXIgewogcHVibGljOgorICAgIHN0YXRpYyBTdHJpbmcgY2FjaGVzU2l6ZUZp
bGVuYW1lKGNvbnN0IFN0cmluZyYpOwogICAgIHN0YXRpYyBSZWY8Q2FjaGVzPiBjcmVhdGUoRW5n
aW5lJiwgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFN0cmluZyYmIHJvb3RQYXRoLCBXZWJDb3Jl
OjpTdG9yYWdlUXVvdGFNYW5hZ2VyJik7CiAgICAgfkNhY2hlcygpOwogCkBAIC0xMDUsNiArMTA2
LDggQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgaGFzQWN0aXZlQ2FjaGUoKSBjb25zdDsKIAorICAg
IHZvaWQgdXBkYXRlU2l6ZUZpbGUoKTsKKwogICAgIGJvb2wgbV9pc0luaXRpYWxpemVkIHsgZmFs
c2UgfTsKICAgICBFbmdpbmUqIG1fZW5naW5lIHsgbnVsbHB0ciB9OwogICAgIHVpbnQ2NF90IG1f
dXBkYXRlQ291bnRlciB7IDAgfTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>