<?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>209341</bug_id>
          
          <creation_ts>2020-03-20 09:08:12 -0700</creation_ts>
          <short_desc>Ensure media cache directory is created before passing to AVURLAsset.</short_desc>
          <delta_ts>2020-03-20 15:36:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1632107</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-03-20 09:08:12 -0700</bug_when>
    <thetext>Ensure media cache directory is created before passing to AVURLAsset.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632109</commentid>
    <comment_count>1</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-03-20 09:10:11 -0700</bug_when>
    <thetext>&lt;rdar://51539885&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632110</commentid>
    <comment_count>2</comment_count>
      <attachid>394089</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-03-20 09:13:12 -0700</bug_when>
    <thetext>Created attachment 394089
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632124</commentid>
    <comment_count>3</comment_count>
      <attachid>394089</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-03-20 09:28:33 -0700</bug_when>
    <thetext>Comment on attachment 394089
Patch

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

&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:850
&gt;      bool usePersistentCache = player()-&gt;shouldUsePersistentCache();
&gt;      [options setObject:@(!usePersistentCache) forKey:AVURLAssetUsesNoPersistentCacheKey];
&gt;      
&gt; -    if (usePersistentCache)
&gt; -        [options setObject:assetCacheForPath(player()-&gt;mediaCacheDirectory()) forKey:AVURLAssetCacheKey];
&gt; +    if (usePersistentCache) {
&gt; +        auto mediaCacheDirectory = player()-&gt;mediaCacheDirectory();
&gt; +        if (FileSystem::fileIsDirectory(mediaCacheDirectory, ShouldFollowSymbolicLinks::Yes) || FileSystem::makeAllDirectories(mediaCacheDirectory))
&gt; +            [options setObject:assetCacheForPath(mediaCacheDirectory) forKey:AVURLAssetCacheKey];
&gt; +        else
&gt; +            ASSERT_NOT_REACHED();
&gt; +    }

As we discussed, &apos;usePersistentCache&apos; should be false if &apos;player()-&gt;mediaCacheDirectory()&apos; is empty</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632144</commentid>
    <comment_count>4</comment_count>
      <attachid>394095</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-03-20 10:07:32 -0700</bug_when>
    <thetext>Created attachment 394095
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632154</commentid>
    <comment_count>5</comment_count>
      <attachid>394095</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-03-20 10:21:08 -0700</bug_when>
    <thetext>Comment on attachment 394095
Patch

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

&gt; Source/WebKitLegacy/mac/ChangeLog:9
&gt; +        directory by default; ensure that it&apos;s media cache directory is set during initialization.

&quot;it&apos;s&quot; :-O

&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:874
&gt;      [options setObject:@(!usePersistentCache) forKey:AVURLAssetUsesNoPersistentCacheKey];
&gt;      
&gt; -    if (usePersistentCache)
&gt; -        [options setObject:assetCacheForPath(player()-&gt;mediaCacheDirectory()) forKey:AVURLAssetCacheKey];
&gt; +    if (usePersistentCache) {
&gt; +        if (auto* assetCache = ensureAssetCacheExistsForPath(player()-&gt;mediaCacheDirectory()))
&gt; +            [options setObject:assetCache forKey:AVURLAssetCacheKey];
&gt; +        else

Shouldn&apos;t we set AVURLAssetUsesNoPersistentCacheKey to NO if ensureAssetCacheExistsForPath() return nil?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632175</commentid>
    <comment_count>6</comment_count>
      <attachid>394103</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2020-03-20 11:14:13 -0700</bug_when>
    <thetext>Created attachment 394103
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632330</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-03-20 15:36:51 -0700</bug_when>
    <thetext>Committed r258795: &lt;https://trac.webkit.org/changeset/258795&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 394103.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394089</attachid>
            <date>2020-03-20 09:13:12 -0700</date>
            <delta_ts>2020-03-20 10:07:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209341-20200320091311.patch</filename>
            <type>text/plain</type>
            <size>2728</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDI3ODI3NjFjNjRmYTQ5
NjE5MTBjNWI3ODkxOGQ3NTM2OTJmZjIyZi4uNGNjYThkNmFlYTc0Nzc5NzVhMzJiMTM3YWY5NDQz
NDBmNDEyZTRlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTAzLTIwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEVuc3VyZSBtZWRpYSBjYWNo
ZSBkaXJlY3RvcnkgaXMgY3JlYXRlZCBiZWZvcmUgcGFzc2luZyB0byBBVlVSTEFzc2V0LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MzQxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2FuZGJveCBjaGFu
Z2VzIHJlcXVpcmUgdGhlIG1lZGlhIGNhY2hlIGRpcmVjdG9yeSB0byBiZSBjcmVhdGVkIGJlZm9y
ZSBwYXNzaW5nIHRvIEFWRm91bmRhdGlvbiwKKyAgICAgICAgdG8gZW5zdXJlIHRoYXQgYSBzYW5k
Ym94IGV4dGVuc2lvbiBpcyBhbGxvd2VkIHRvIGJlIGNyZWF0ZWQgZm9yIHRoYXQgZGlyZWN0b3J5
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUFWQXNzZXRGb3JVUkwpOgorCiAy
MDIwLTAzLTA5ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtN
U0VdIFVzZSBDTVNhbXBsZUJ1ZmZlckdldE91dHB1dFByZXNlbnRhdGlvblRpbWVTdGFtcCAvIENN
U2FtcGxlQnVmZmVyR2V0T3V0cHV0RHVyYXRpb24gZm9yIGFsbCBwcmVzZW50YXRpb24gdGltZXMg
YW5kIGR1cmF0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KaW5kZXggNjI0OWNhYTcxZjk2YWJk
YzViZmY1NjMyYWFlMzYwYjVkMjgwNTYyOS4uOGFlNzUyNjA1OTc0NTEwZDA4YTc1M2E4ZTQxYzU2
MjkzNDBiNDFlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCkBAIC03OSw2ICs3OSw3IEBACiAj
aW1wb3J0IDxwYWwvc3BpL2NvY29hL0FWRm91bmRhdGlvblNQSS5oPgogI2ltcG9ydCA8cGFsL3Nw
aS9jb2NvYS9RdWFydHpDb3JlU1BJLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tPYmpDRXhjZXB0aW9u
cy5oPgorI2ltcG9ydCA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPHd0Zi9MaXN0SGFzaFNl
dC5oPgogI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW1wb3J0IDx3dGYvT1NPYmpl
Y3RQdHIuaD4KQEAgLTg0MCw4ICs4NDEsMTMgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDOjpjcmVhdGVBVkFzc2V0Rm9yVVJMKGNvbnN0IFVSTCYgdXJsKQogICAgIGJv
b2wgdXNlUGVyc2lzdGVudENhY2hlID0gcGxheWVyKCktPnNob3VsZFVzZVBlcnNpc3RlbnRDYWNo
ZSgpOwogICAgIFtvcHRpb25zIHNldE9iamVjdDpAKCF1c2VQZXJzaXN0ZW50Q2FjaGUpIGZvcktl
eTpBVlVSTEFzc2V0VXNlc05vUGVyc2lzdGVudENhY2hlS2V5XTsKICAgICAKLSAgICBpZiAodXNl
UGVyc2lzdGVudENhY2hlKQotICAgICAgICBbb3B0aW9ucyBzZXRPYmplY3Q6YXNzZXRDYWNoZUZv
clBhdGgocGxheWVyKCktPm1lZGlhQ2FjaGVEaXJlY3RvcnkoKSkgZm9yS2V5OkFWVVJMQXNzZXRD
YWNoZUtleV07CisgICAgaWYgKHVzZVBlcnNpc3RlbnRDYWNoZSkgeworICAgICAgICBhdXRvIG1l
ZGlhQ2FjaGVEaXJlY3RvcnkgPSBwbGF5ZXIoKS0+bWVkaWFDYWNoZURpcmVjdG9yeSgpOworICAg
ICAgICBpZiAoRmlsZVN5c3RlbTo6ZmlsZUlzRGlyZWN0b3J5KG1lZGlhQ2FjaGVEaXJlY3Rvcnks
IFNob3VsZEZvbGxvd1N5bWJvbGljTGlua3M6OlllcykgfHwgRmlsZVN5c3RlbTo6bWFrZUFsbERp
cmVjdG9yaWVzKG1lZGlhQ2FjaGVEaXJlY3RvcnkpKQorICAgICAgICAgICAgW29wdGlvbnMgc2V0
T2JqZWN0OmFzc2V0Q2FjaGVGb3JQYXRoKG1lZGlhQ2FjaGVEaXJlY3RvcnkpIGZvcktleTpBVlVS
TEFzc2V0Q2FjaGVLZXldOworICAgICAgICBlbHNlCisgICAgICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICB9CiAKICAgICBOU1VSTCAqY29jb2FVUkwgPSBjYW5vbmljYWxVUkwodXJs
KTsKICAgICBtX2F2QXNzZXQgPSBhZG9wdE5TKFtQQUw6OmFsbG9jQVZVUkxBc3NldEluc3RhbmNl
KCkgaW5pdFdpdGhVUkw6Y29jb2FVUkwgb3B0aW9uczpvcHRpb25zLmdldCgpXSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394095</attachid>
            <date>2020-03-20 10:07:32 -0700</date>
            <delta_ts>2020-03-20 10:21:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209341-20200320100731.patch</filename>
            <type>text/plain</type>
            <size>7901</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NzY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjViMWJkODU2OGJiODFi
MmUxOWFmMzg5NDAzNjM5M2U2MjZmNTBkOC4uMjljYjZlMGNiMmViMmE4YzY1ZmU3MjMwMzkxZDA2
OWUyZDBiMDIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTAzLTIwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEVuc3VyZSBtZWRpYSBjYWNo
ZSBkaXJlY3RvcnkgaXMgY3JlYXRlZCBiZWZvcmUgcGFzc2luZyB0byBBVlVSTEFzc2V0LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MzQxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2FuZGJveCBjaGFu
Z2VzIHJlcXVpcmUgdGhlIG1lZGlhIGNhY2hlIGRpcmVjdG9yeSB0byBiZSBjcmVhdGVkIGJlZm9y
ZSBwYXNzaW5nIHRvCisgICAgICAgIEFWRm91bmRhdGlvbiwgdG8gZW5zdXJlIHRoYXQgYSBzYW5k
Ym94IGV4dGVuc2lvbiBpcyBhbGxvd2VkIHRvIGJlIGNyZWF0ZWQgZm9yIHRoYXQKKyAgICAgICAg
ZGlyZWN0b3J5LgorCisgICAgICAgIFdoZW4gdGhlIG1lZGlhQ2FjaGVEaXJlY3RvcnkgaXMgZW1w
dHkgb3IgbnVsbCwgbm8gbG9uZ2VyIHNwZWNpZnkgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5LiBUaGlz
CisgICAgICAgIGFsbG93cyBjbGllbnRzIHRvIGRpc2FibGUgY2FjaGluZyBieSBzcGVjaWZ5aW5n
IGFuIGVtcHR5IHN0cmluZyBmb3IgdGhlIGNhY2hlIGRpcmVjdG9yeS4KKyAgICAgICAgU2luY2Ug
bm93IGFzc2V0Q2FjaGVGb3JQYXRoKCkgY2FuIHJldHVybiBuaWwsIHVwZGF0ZSBhbGwgdGhlIGNh
bGwgc2l0ZXMgdG8gaGFuZGxlIHRoYXQKKyAgICAgICAgcG9zc2liaWxpdHkuIEFkZCBhIG5ldyBt
ZXRob2QsIGVuc3VyZUFzc2V0Q2FjaGVFeGlzdHNBdFBhdGgoKSB3aGljaCB0cmllcyB0byBjcmVh
dGUgYQorICAgICAgICBkaXJlY3RvcnkgYXQgdGhlIHNwZWNpZmllZCBwYXRoLCBhbmQgcmV0dXJu
cyBuaWwgaWYgdGhhdCBpcyBub3QgcG9zc2libGUuIFRoaXMgZW5zdXJlcyB0aGUKKyAgICAgICAg
Y2FjaGUgcGF0aCBleGlzdHMgYmVmb3JlIGFkZGluZyB0aGUgQVZBc3NldENhY2hlIHRvIHRoZSBB
VlVSTEFzc2V0IG9wdGlvbnMgZGljdGlvbmFyeS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMu
bW06CisgICAgICAgIChXZWJDb3JlOjphc3NldENhY2hlRm9yUGF0aCk6CisgICAgICAgIChXZWJD
b3JlOjplbnN1cmVBc3NldENhY2hlRXhpc3RzRm9yUGF0aCk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpvcmlnaW5zSW5NZWRpYUNhY2hlKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNs
ZWFyTWVkaWFDYWNoZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDOjpjbGVhck1lZGlhQ2FjaGVGb3JPcmlnaW5zKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUFWQXNzZXRGb3JV
UkwpOgorCiAyMDIwLTAzLTA5ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtNU0VdIFVzZSBDTVNhbXBsZUJ1ZmZlckdldE91dHB1dFByZXNlbnRhdGlvblRpbWVT
dGFtcCAvIENNU2FtcGxlQnVmZmVyR2V0T3V0cHV0RHVyYXRpb24gZm9yIGFsbCBwcmVzZW50YXRp
b24gdGltZXMgYW5kIGR1cmF0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IGQw
ZDdjYzg1YjMxZTFlOTMzMTZiZjAyOGQxNGJkMTM5M2E3NTBmZGQuLjY5ZTkyN2FiZjg3NmVlM2Jj
ZDRlY2ZiMzU4NDZjZjBkYjI5ZjQwZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNiBAQAorMjAyMC0wMy0yMCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KKworICAgICAgICBFbnN1cmUgbWVkaWEgY2FjaGUgZGlyZWN0b3J5IGlzIGNyZWF0ZWQgYmVm
b3JlIHBhc3NpbmcgdG8gQVZVUkxBc3NldC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwOTM0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhaW9uT2JqQyB3aWxs
IG5vIGxvbmdlciBjcmVhdGUgYW4gYXNzZXQgY2FjaGUgaW4gYSB0ZW1wb3JhcnkKKyAgICAgICAg
ZGlyZWN0b3J5IGJ5IGRlZmF1bHQ7IGVuc3VyZSB0aGF0IGl0J3MgbWVkaWEgY2FjaGUgZGlyZWN0
b3J5IGlzIHNldCBkdXJpbmcgaW5pdGlhbGl6YXRpb24uCisKKyAgICAgICAgKiBXZWJWaWV3L1dl
YlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZy
YW1lTmFtZTpncm91cE5hbWU6XSk6CisKIDIwMjAtMDMtMjAgIEphY29iIFVwaG9mZiAgPGphY29i
X3VwaG9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNTg3
NDguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCA2MjQ5Y2FhNzFmOTZhYmRjNWJmZjU2MzJh
YWUzNjBiNWQyODA1NjI5Li5kM2VlNjdlOTA3NTgwZmFmZDdiZjlkNDBlNTJiYmRiY2Q1M2EzMDVj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTc5LDYgKzc5LDcgQEAKICNpbXBvcnQgPHBh
bC9zcGkvY29jb2EvQVZGb3VuZGF0aW9uU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL1F1
YXJ0ekNvcmVTUEkuaD4KICNpbXBvcnQgPHd0Zi9CbG9ja09iakNFeGNlcHRpb25zLmg+CisjaW1w
b3J0IDx3dGYvRmlsZVN5c3RlbS5oPgogI2ltcG9ydCA8d3RmL0xpc3RIYXNoU2V0Lmg+CiAjaW1w
b3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9PU09iamVjdFB0ci5oPgpA
QCAtMzIzLDIwICszMjQsNDIgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDOjpyZWdpc3Rlck1lZGlhRW5naW5lKE1lZGlhRW5naW5lUmVnaXN0cmEKIAogc3RhdGljIEFW
QXNzZXRDYWNoZSAqYXNzZXRDYWNoZUZvclBhdGgoY29uc3QgU3RyaW5nJiBwYXRoKQogewotICAg
IE5TVVJMICphc3NldENhY2hlVVJMOwotICAgIAogICAgIGlmIChwYXRoLmlzRW1wdHkoKSkKLSAg
ICAgICAgYXNzZXRDYWNoZVVSTCA9IFtbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOk5TVGVtcG9yYXJ5
RGlyZWN0b3J5KCldIFVSTEJ5QXBwZW5kaW5nUGF0aENvbXBvbmVudDpAIk1lZGlhQ2FjaGUiIGlz
RGlyZWN0b3J5OllFU107Ci0gICAgZWxzZQotICAgICAgICBhc3NldENhY2hlVVJMID0gW05TVVJM
IGZpbGVVUkxXaXRoUGF0aDpwYXRoIGlzRGlyZWN0b3J5OllFU107CisgICAgICAgIHJldHVybiBu
aWw7CiAKLSAgICByZXR1cm4gW1BBTDo6Z2V0QVZBc3NldENhY2hlQ2xhc3MoKSBhc3NldENhY2hl
V2l0aFVSTDphc3NldENhY2hlVVJMXTsKKyAgICByZXR1cm4gW1BBTDo6Z2V0QVZBc3NldENhY2hl
Q2xhc3MoKSBhc3NldENhY2hlV2l0aFVSTDpbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOnBhdGggaXNE
aXJlY3Rvcnk6WUVTXV07Cit9CisKK3N0YXRpYyBBVkFzc2V0Q2FjaGUgKmVuc3VyZUFzc2V0Q2Fj
aGVFeGlzdHNGb3JQYXRoKGNvbnN0IFN0cmluZyYgcGF0aCkKK3sKKyAgICBpZiAocGF0aC5pc0Vt
cHR5KCkpCisgICAgICAgIHJldHVybiBuaWw7CisKKyAgICBhdXRvIGZpbGVFeGlzdHNBdFBhdGgg
PSBGaWxlU3lzdGVtOjpmaWxlRXhpc3RzKHBhdGgpOworCisgICAgaWYgKGZpbGVFeGlzdHNBdFBh
dGggJiYgIUZpbGVTeXN0ZW06OmZpbGVJc0RpcmVjdG9yeShtZWRpYUNhY2hlRGlyZWN0b3J5LCBT
aG91bGRGb2xsb3dTeW1ib2xpY0xpbmtzOjpZZXMpKSB7CisgICAgICAgIC8vIE5vbi1kaXJlY3Rv
cnkgZmlsZSBhbHJlYWR5IGV4aXN0cyBhdCB0aGUgcGF0aCBsb2NhdGlvbjsgYmFpbC4KKyAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEOworICAgICAgICByZXR1cm4gbmlsOworICAgIH0KKworICAg
IGlmICghZmlsZUV4aXN0c0F0UGF0aCAmJiAhRmlsZVN5c3RlbTo6bWFrZUFsbERpcmVjdG9yaWVz
KG1lZGlhQ2FjaGVEaXJlY3RvcnkpKSB7CisgICAgICAgIC8vIENvdWxkIG5vdCBjcmVhdGUgYSBk
aXJlY3RvcnkgYXQgdGhlIHNwZWNpZmllZCBsb2NhdGlvbjsgYmFpbC4KKyAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBuaWw7CisgICAgfQorCisgICAgcmV0dXJu
IGFzc2V0Q2FjaGVGb3JQYXRoKG1lZGlhQ2FjaGVEaXJlY3RvcnkpOwogfQogCiBIYXNoU2V0PFJl
ZlB0cjxTZWN1cml0eU9yaWdpbj4+IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6
Om9yaWdpbnNJbk1lZGlhQ2FjaGUoY29uc3QgU3RyaW5nJiBwYXRoKQogewogICAgIEhhc2hTZXQ8
UmVmUHRyPFNlY3VyaXR5T3JpZ2luPj4gb3JpZ2luczsKLSAgICBmb3IgKE5TU3RyaW5nICprZXkg
aW4gW2Fzc2V0Q2FjaGVGb3JQYXRoKHBhdGgpIGFsbEtleXNdKSB7CisgICAgQVZBc3NldENhY2hl
KiBhc3NldENhY2hlID0gYXNzZXRDYWNoZUZvclBhdGgocGF0aCk7CisgICAgaWYgKCFhc3NldENh
Y2hlKQorICAgICAgICByZXR1cm4gb3JpZ2luczsKKworICAgIGZvciAoTlNTdHJpbmcgKmtleSBp
biBbYXNzZXRDYWNoZSBhbGxLZXlzXSkgewogICAgICAgICBVUkwga2V5QXNVUkwgPSBVUkwoVVJM
KCksIGtleSk7CiAgICAgICAgIGlmIChrZXlBc1VSTC5pc1ZhbGlkKCkpCiAgICAgICAgICAgICBv
cmlnaW5zLmFkZChTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKGtleUFzVVJMKSk7CkBAIC0zNTMsNiAr
Mzc2LDggQEAgc3RhdGljIFdhbGxUaW1lIHRvU3lzdGVtQ2xvY2tUaW1lKE5TRGF0ZSAqZGF0ZSkK
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y2xlYXJNZWRpYUNhY2hl
KGNvbnN0IFN0cmluZyYgcGF0aCwgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSkKIHsKICAgICBBVkFz
c2V0Q2FjaGUqIGFzc2V0Q2FjaGUgPSBhc3NldENhY2hlRm9yUGF0aChwYXRoKTsKKyAgICBpZiAo
IWFzc2V0Q2FjaGUpCisgICAgICAgIHJldHVybjsKICAgICAKICAgICBmb3IgKE5TU3RyaW5nICpr
ZXkgaW4gW2Fzc2V0Q2FjaGUgYWxsS2V5c10pIHsKICAgICAgICAgaWYgKHRvU3lzdGVtQ2xvY2tU
aW1lKFthc3NldENhY2hlIGxhc3RNb2RpZmllZERhdGVPZkVudHJ5Rm9yS2V5OmtleV0pID4gbW9k
aWZpZWRTaW5jZSkKQEAgLTM5NSw2ICs0MjAsOSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakM6OmNsZWFyTWVkaWFDYWNoZShjb25zdCBTdHJpbmcmIHBhdGgsIFdhbAog
dm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjbGVhck1lZGlhQ2FjaGVG
b3JPcmlnaW5zKGNvbnN0IFN0cmluZyYgcGF0aCwgY29uc3QgSGFzaFNldDxSZWZQdHI8U2VjdXJp
dHlPcmlnaW4+PiYgb3JpZ2lucykKIHsKICAgICBBVkFzc2V0Q2FjaGUqIGFzc2V0Q2FjaGUgPSBh
c3NldENhY2hlRm9yUGF0aChwYXRoKTsKKyAgICBpZiAoIWFzc2V0Q2FjaGUpCisgICAgICAgIHJl
dHVybjsKKwogICAgIGZvciAoTlNTdHJpbmcgKmtleSBpbiBbYXNzZXRDYWNoZSBhbGxLZXlzXSkg
ewogICAgICAgICBVUkwga2V5QXNVUkwgPSBVUkwoVVJMKCksIGtleSk7CiAgICAgICAgIGlmIChr
ZXlBc1VSTC5pc1ZhbGlkKCkpIHsKQEAgLTg0MCw4ICs4NjgsMTIgQEAgdm9pZCBNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVBVkFzc2V0Rm9yVVJMKGNvbnN0IFVSTCYg
dXJsKQogICAgIGJvb2wgdXNlUGVyc2lzdGVudENhY2hlID0gcGxheWVyKCktPnNob3VsZFVzZVBl
cnNpc3RlbnRDYWNoZSgpOwogICAgIFtvcHRpb25zIHNldE9iamVjdDpAKCF1c2VQZXJzaXN0ZW50
Q2FjaGUpIGZvcktleTpBVlVSTEFzc2V0VXNlc05vUGVyc2lzdGVudENhY2hlS2V5XTsKICAgICAK
LSAgICBpZiAodXNlUGVyc2lzdGVudENhY2hlKQotICAgICAgICBbb3B0aW9ucyBzZXRPYmplY3Q6
YXNzZXRDYWNoZUZvclBhdGgocGxheWVyKCktPm1lZGlhQ2FjaGVEaXJlY3RvcnkoKSkgZm9yS2V5
OkFWVVJMQXNzZXRDYWNoZUtleV07CisgICAgaWYgKHVzZVBlcnNpc3RlbnRDYWNoZSkgeworICAg
ICAgICBpZiAoYXV0byogYXNzZXRDYWNoZSA9IGVuc3VyZUFzc2V0Q2FjaGVFeGlzdHNGb3JQYXRo
KHBsYXllcigpLT5tZWRpYUNhY2hlRGlyZWN0b3J5KCkpKQorICAgICAgICAgICAgW29wdGlvbnMg
c2V0T2JqZWN0OmFzc2V0Q2FjaGUgZm9yS2V5OkFWVVJMQXNzZXRDYWNoZUtleV07CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KIAogICAgIE5T
VVJMICpjb2NvYVVSTCA9IGNhbm9uaWNhbFVSTCh1cmwpOwogICAgIG1fYXZBc3NldCA9IGFkb3B0
TlMoW1BBTDo6YWxsb2NBVlVSTEFzc2V0SW5zdGFuY2UoKSBpbml0V2l0aFVSTDpjb2NvYVVSTCBv
cHRpb25zOm9wdGlvbnMuZ2V0KCldKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQppbmRleCA0ZDg5ZDM2YjE4YjM3MTEzZjhkMGQ2MWEzYzRkNGI1YzAwYjE5Y2Vh
Li4zNWVjMmUyNGEyMTBiYThmY2Q4ZDUyZGVmODkwNDRkYjk3OTE4YTUxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0xNDI3LDYgKzE0MjcsMTAgQEAg
LSAodm9pZClfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOihOU1N0cmluZyAqKWZy
YW1lTmFtZSBncm91cE5hbWU6KE5TU3QKICAgICAgICAgaWYgKFdlYkNvcmU6OklPU0FwcGxpY2F0
aW9uOjppc01vYmlsZVNhZmFyaSgpKQogICAgICAgICAgICAgV2ViQ29yZTo6RGVwcmVjYXRlZEds
b2JhbFNldHRpbmdzOjpzZXRTaG91bGRNYW5hZ2VBdWRpb1Nlc3Npb25DYXRlZ29yeSh0cnVlKTsK
ICNlbmRpZgorCisjaWYgRU5BQkxFKFZJREVPKQorICAgICAgICBIVE1MTWVkaWFFbGVtZW50Ojpz
ZXRNZWRpYUNhY2hlRGlyZWN0b3J5KHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChOU1RlbXBvcmFy
eURpcmVjdG9yeSgpLCAiTWVkaWFDYWNoZS8iX3MpKTsKKyNlbmRpZgogICAgICAgICBkaWRPbmVU
aW1lSW5pdGlhbGl6YXRpb24gPSB0cnVlOwogICAgIH0KIAo=
</data>
<flag name="review"
          id="409518"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394103</attachid>
            <date>2020-03-20 11:14:13 -0700</date>
            <delta_ts>2020-03-20 15:36:51 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-209341-20200320111412.patch</filename>
            <type>text/plain</type>
            <size>7932</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NzY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjViMWJkODU2OGJiODFi
MmUxOWFmMzg5NDAzNjM5M2U2MjZmNTBkOC4uOGRkZWJmZGJhOWJjMzM3OWQ3NzI3ODMzNDYwNTM5
Mjg4ZjU3OTJhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTAzLTIwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEVuc3VyZSBtZWRpYSBjYWNo
ZSBkaXJlY3RvcnkgaXMgY3JlYXRlZCBiZWZvcmUgcGFzc2luZyB0byBBVlVSTEFzc2V0LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MzQxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIFNhbmRib3ggY2hhbmdl
cyByZXF1aXJlIHRoZSBtZWRpYSBjYWNoZSBkaXJlY3RvcnkgdG8gYmUgY3JlYXRlZCBiZWZvcmUg
cGFzc2luZyB0bworICAgICAgICBBVkZvdW5kYXRpb24sIHRvIGVuc3VyZSB0aGF0IGEgc2FuZGJv
eCBleHRlbnNpb24gaXMgYWxsb3dlZCB0byBiZSBjcmVhdGVkIGZvciB0aGF0CisgICAgICAgIGRp
cmVjdG9yeS4KKworICAgICAgICBXaGVuIHRoZSBtZWRpYUNhY2hlRGlyZWN0b3J5IGlzIGVtcHR5
IG9yIG51bGwsIG5vIGxvbmdlciBzcGVjaWZ5IGEgdGVtcG9yYXJ5IGRpcmVjdG9yeS4gVGhpcwor
ICAgICAgICBhbGxvd3MgY2xpZW50cyB0byBkaXNhYmxlIGNhY2hpbmcgYnkgc3BlY2lmeWluZyBh
biBlbXB0eSBzdHJpbmcgZm9yIHRoZSBjYWNoZSBkaXJlY3RvcnkuCisgICAgICAgIFNpbmNlIG5v
dyBhc3NldENhY2hlRm9yUGF0aCgpIGNhbiByZXR1cm4gbmlsLCB1cGRhdGUgYWxsIHRoZSBjYWxs
IHNpdGVzIHRvIGhhbmRsZSB0aGF0CisgICAgICAgIHBvc3NpYmlsaXR5LiBBZGQgYSBuZXcgbWV0
aG9kLCBlbnN1cmVBc3NldENhY2hlRXhpc3RzQXRQYXRoKCkgd2hpY2ggdHJpZXMgdG8gY3JlYXRl
IGEKKyAgICAgICAgZGlyZWN0b3J5IGF0IHRoZSBzcGVjaWZpZWQgcGF0aCwgYW5kIHJldHVybnMg
bmlsIGlmIHRoYXQgaXMgbm90IHBvc3NpYmxlLiBUaGlzIGVuc3VyZXMgdGhlCisgICAgICAgIGNh
Y2hlIHBhdGggZXhpc3RzIGJlZm9yZSBhZGRpbmcgdGhlIEFWQXNzZXRDYWNoZSB0byB0aGUgQVZV
UkxBc3NldCBvcHRpb25zIGRpY3Rpb25hcnkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1t
OgorICAgICAgICAoV2ViQ29yZTo6YXNzZXRDYWNoZUZvclBhdGgpOgorICAgICAgICAoV2ViQ29y
ZTo6ZW5zdXJlQXNzZXRDYWNoZUV4aXN0c0ZvclBhdGgpOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6b3JpZ2luc0luTWVkaWFDYWNoZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjbGVh
ck1lZGlhQ2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uT2JqQzo6Y2xlYXJNZWRpYUNhY2hlRm9yT3JpZ2lucyk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVBVkFzc2V0Rm9yVVJM
KToKKwogMjAyMC0wMy0wOSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbTVNFXSBVc2UgQ01TYW1wbGVCdWZmZXJHZXRPdXRwdXRQcmVzZW50YXRpb25UaW1lU3Rh
bXAgLyBDTVNhbXBsZUJ1ZmZlckdldE91dHB1dER1cmF0aW9uIGZvciBhbGwgcHJlc2VudGF0aW9u
IHRpbWVzIGFuZCBkdXJhdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCBkMGQ3
Y2M4NWIzMWUxZTkzMzE2YmYwMjhkMTRiZDEzOTNhNzUwZmRkLi5hYzI0ZjA0NzRkYjA5NDEwYTM0
ZGNkZDlkMGM1MjNjZmE0ZTYzN2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjAtMDMtMjAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+
CisKKyAgICAgICAgRW5zdXJlIG1lZGlhIGNhY2hlIGRpcmVjdG9yeSBpcyBjcmVhdGVkIGJlZm9y
ZSBwYXNzaW5nIHRvIEFWVVJMQXNzZXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDkzNDEKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxz
b24uCisKKyAgICAgICAgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGFpb25PYmpDIHdpbGwgbm8g
bG9uZ2VyIGNyZWF0ZSBhbiBhc3NldCBjYWNoZSBpbiBhIHRlbXBvcmFyeQorICAgICAgICBkaXJl
Y3RvcnkgYnkgZGVmYXVsdDsgZW5zdXJlIHRoYXQgaXQncyBtZWRpYSBjYWNoZSBkaXJlY3Rvcnkg
aXMgc2V0IGR1cmluZyBpbml0aWFsaXphdGlvbi4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmll
dy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVO
YW1lOmdyb3VwTmFtZTpdKToKKwogMjAyMC0wMy0yMCAgSmFjb2IgVXBob2ZmICA8amFjb2JfdXBo
b2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI1ODc0OC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDLm1tCmluZGV4IDYyNDljYWE3MWY5NmFiZGM1YmZmNTYzMmFhZTM2
MGI1ZDI4MDU2MjkuLmUxMjJiYmRhZjFhNGVhZDEzMDgyY2U2NDMwMWU0MTVlNmRlN2IzYjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpAQCAtNzksNiArNzksNyBAQAogI2ltcG9ydCA8cGFsL3Nw
aS9jb2NvYS9BVkZvdW5kYXRpb25TUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvUXVhcnR6
Q29yZVNQSS5oPgogI2ltcG9ydCA8d3RmL0Jsb2NrT2JqQ0V4Y2VwdGlvbnMuaD4KKyNpbXBvcnQg
PHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW1wb3J0IDx3dGYvTGlzdEhhc2hTZXQuaD4KICNpbXBvcnQg
PHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2ltcG9ydCA8d3RmL09TT2JqZWN0UHRyLmg+CkBAIC0z
MjMsMjAgKzMyNCw0MiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6
OnJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVkaWFFbmdpbmVSZWdpc3RyYQogCiBzdGF0aWMgQVZBc3Nl
dENhY2hlICphc3NldENhY2hlRm9yUGF0aChjb25zdCBTdHJpbmcmIHBhdGgpCiB7Ci0gICAgTlNV
UkwgKmFzc2V0Q2FjaGVVUkw7Ci0gICAgCiAgICAgaWYgKHBhdGguaXNFbXB0eSgpKQotICAgICAg
ICBhc3NldENhY2hlVVJMID0gW1tOU1VSTCBmaWxlVVJMV2l0aFBhdGg6TlNUZW1wb3JhcnlEaXJl
Y3RvcnkoKV0gVVJMQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiTWVkaWFDYWNoZSIgaXNEaXJl
Y3Rvcnk6WUVTXTsKLSAgICBlbHNlCi0gICAgICAgIGFzc2V0Q2FjaGVVUkwgPSBbTlNVUkwgZmls
ZVVSTFdpdGhQYXRoOnBhdGggaXNEaXJlY3Rvcnk6WUVTXTsKKyAgICAgICAgcmV0dXJuIG5pbDsK
KworICAgIHJldHVybiBbUEFMOjpnZXRBVkFzc2V0Q2FjaGVDbGFzcygpIGFzc2V0Q2FjaGVXaXRo
VVJMOltOU1VSTCBmaWxlVVJMV2l0aFBhdGg6cGF0aCBpc0RpcmVjdG9yeTpZRVNdXTsKK30KKwor
c3RhdGljIEFWQXNzZXRDYWNoZSAqZW5zdXJlQXNzZXRDYWNoZUV4aXN0c0ZvclBhdGgoY29uc3Qg
U3RyaW5nJiBwYXRoKQoreworICAgIGlmIChwYXRoLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJu
IG5pbDsKKworICAgIGF1dG8gZmlsZUV4aXN0c0F0UGF0aCA9IEZpbGVTeXN0ZW06OmZpbGVFeGlz
dHMocGF0aCk7CisKKyAgICBpZiAoZmlsZUV4aXN0c0F0UGF0aCAmJiAhRmlsZVN5c3RlbTo6Zmls
ZUlzRGlyZWN0b3J5KHBhdGgsIEZpbGVTeXN0ZW06OlNob3VsZEZvbGxvd1N5bWJvbGljTGlua3M6
OlllcykpIHsKKyAgICAgICAgLy8gTm9uLWRpcmVjdG9yeSBmaWxlIGFscmVhZHkgZXhpc3RzIGF0
IHRoZSBwYXRoIGxvY2F0aW9uOyBiYWlsLgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICAgICAgcmV0dXJuIG5pbDsKKyAgICB9CiAKLSAgICByZXR1cm4gW1BBTDo6Z2V0QVZBc3Nl
dENhY2hlQ2xhc3MoKSBhc3NldENhY2hlV2l0aFVSTDphc3NldENhY2hlVVJMXTsKKyAgICBpZiAo
IWZpbGVFeGlzdHNBdFBhdGggJiYgIUZpbGVTeXN0ZW06Om1ha2VBbGxEaXJlY3RvcmllcyhwYXRo
KSkgeworICAgICAgICAvLyBDb3VsZCBub3QgY3JlYXRlIGEgZGlyZWN0b3J5IGF0IHRoZSBzcGVj
aWZpZWQgbG9jYXRpb247IGJhaWwuCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICByZXR1cm4gbmlsOworICAgIH0KKworICAgIHJldHVybiBhc3NldENhY2hlRm9yUGF0aChw
YXRoKTsKIH0KIAogSGFzaFNldDxSZWZQdHI8U2VjdXJpdHlPcmlnaW4+PiBNZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb25PYmpDOjpvcmlnaW5zSW5NZWRpYUNhY2hlKGNvbnN0IFN0cmluZyYg
cGF0aCkKIHsKICAgICBIYXNoU2V0PFJlZlB0cjxTZWN1cml0eU9yaWdpbj4+IG9yaWdpbnM7Ci0g
ICAgZm9yIChOU1N0cmluZyAqa2V5IGluIFthc3NldENhY2hlRm9yUGF0aChwYXRoKSBhbGxLZXlz
XSkgeworICAgIEFWQXNzZXRDYWNoZSogYXNzZXRDYWNoZSA9IGFzc2V0Q2FjaGVGb3JQYXRoKHBh
dGgpOworICAgIGlmICghYXNzZXRDYWNoZSkKKyAgICAgICAgcmV0dXJuIG9yaWdpbnM7CisKKyAg
ICBmb3IgKE5TU3RyaW5nICprZXkgaW4gW2Fzc2V0Q2FjaGUgYWxsS2V5c10pIHsKICAgICAgICAg
VVJMIGtleUFzVVJMID0gVVJMKFVSTCgpLCBrZXkpOwogICAgICAgICBpZiAoa2V5QXNVUkwuaXNW
YWxpZCgpKQogICAgICAgICAgICAgb3JpZ2lucy5hZGQoU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShr
ZXlBc1VSTCkpOwpAQCAtMzUzLDYgKzM3Niw4IEBAIHN0YXRpYyBXYWxsVGltZSB0b1N5c3RlbUNs
b2NrVGltZShOU0RhdGUgKmRhdGUpCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakM6OmNsZWFyTWVkaWFDYWNoZShjb25zdCBTdHJpbmcmIHBhdGgsIFdhbGxUaW1lIG1vZGlm
aWVkU2luY2UpCiB7CiAgICAgQVZBc3NldENhY2hlKiBhc3NldENhY2hlID0gYXNzZXRDYWNoZUZv
clBhdGgocGF0aCk7CisgICAgaWYgKCFhc3NldENhY2hlKQorICAgICAgICByZXR1cm47CiAgICAg
CiAgICAgZm9yIChOU1N0cmluZyAqa2V5IGluIFthc3NldENhY2hlIGFsbEtleXNdKSB7CiAgICAg
ICAgIGlmICh0b1N5c3RlbUNsb2NrVGltZShbYXNzZXRDYWNoZSBsYXN0TW9kaWZpZWREYXRlT2ZF
bnRyeUZvcktleTprZXldKSA+IG1vZGlmaWVkU2luY2UpCkBAIC0zOTUsNiArNDIwLDkgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjbGVhck1lZGlhQ2FjaGUoY29u
c3QgU3RyaW5nJiBwYXRoLCBXYWwKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQzo6Y2xlYXJNZWRpYUNhY2hlRm9yT3JpZ2lucyhjb25zdCBTdHJpbmcmIHBhdGgsIGNvbnN0
IEhhc2hTZXQ8UmVmUHRyPFNlY3VyaXR5T3JpZ2luPj4mIG9yaWdpbnMpCiB7CiAgICAgQVZBc3Nl
dENhY2hlKiBhc3NldENhY2hlID0gYXNzZXRDYWNoZUZvclBhdGgocGF0aCk7CisgICAgaWYgKCFh
c3NldENhY2hlKQorICAgICAgICByZXR1cm47CisKICAgICBmb3IgKE5TU3RyaW5nICprZXkgaW4g
W2Fzc2V0Q2FjaGUgYWxsS2V5c10pIHsKICAgICAgICAgVVJMIGtleUFzVVJMID0gVVJMKFVSTCgp
LCBrZXkpOwogICAgICAgICBpZiAoa2V5QXNVUkwuaXNWYWxpZCgpKSB7CkBAIC04NDAsOCArODY4
LDEyIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlQVZB
c3NldEZvclVSTChjb25zdCBVUkwmIHVybCkKICAgICBib29sIHVzZVBlcnNpc3RlbnRDYWNoZSA9
IHBsYXllcigpLT5zaG91bGRVc2VQZXJzaXN0ZW50Q2FjaGUoKTsKICAgICBbb3B0aW9ucyBzZXRP
YmplY3Q6QCghdXNlUGVyc2lzdGVudENhY2hlKSBmb3JLZXk6QVZVUkxBc3NldFVzZXNOb1BlcnNp
c3RlbnRDYWNoZUtleV07CiAgICAgCi0gICAgaWYgKHVzZVBlcnNpc3RlbnRDYWNoZSkKLSAgICAg
ICAgW29wdGlvbnMgc2V0T2JqZWN0OmFzc2V0Q2FjaGVGb3JQYXRoKHBsYXllcigpLT5tZWRpYUNh
Y2hlRGlyZWN0b3J5KCkpIGZvcktleTpBVlVSTEFzc2V0Q2FjaGVLZXldOworICAgIGlmICh1c2VQ
ZXJzaXN0ZW50Q2FjaGUpIHsKKyAgICAgICAgaWYgKGF1dG8qIGFzc2V0Q2FjaGUgPSBlbnN1cmVB
c3NldENhY2hlRXhpc3RzRm9yUGF0aChwbGF5ZXIoKS0+bWVkaWFDYWNoZURpcmVjdG9yeSgpKSkK
KyAgICAgICAgICAgIFtvcHRpb25zIHNldE9iamVjdDphc3NldENhY2hlIGZvcktleTpBVlVSTEFz
c2V0Q2FjaGVLZXldOworICAgICAgICBlbHNlCisgICAgICAgICAgICBbb3B0aW9ucyBzZXRPYmpl
Y3Q6QE5PIGZvcktleTpBVlVSTEFzc2V0VXNlc05vUGVyc2lzdGVudENhY2hlS2V5XTsKKyAgICB9
CiAKICAgICBOU1VSTCAqY29jb2FVUkwgPSBjYW5vbmljYWxVUkwodXJsKTsKICAgICBtX2F2QXNz
ZXQgPSBhZG9wdE5TKFtQQUw6OmFsbG9jQVZVUkxBc3NldEluc3RhbmNlKCkgaW5pdFdpdGhVUkw6
Y29jb2FVUkwgb3B0aW9uczpvcHRpb25zLmdldCgpXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggNGQ4OWQzNmIxOGIzNzExM2Y4ZDBkNjFhM2M0ZDRi
NWMwMGIxOWNlYS4uNWRkZjIzZWNmM2NiYTViOWJjOWVhOWYyNmVlZGNmMDM3OTk1Njg4YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTQyNyw2ICsx
NDI3LDEwIEBAIC0gKHZvaWQpX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTooTlNT
dHJpbmcgKilmcmFtZU5hbWUgZ3JvdXBOYW1lOihOU1N0CiAgICAgICAgIGlmIChXZWJDb3JlOjpJ
T1NBcHBsaWNhdGlvbjo6aXNNb2JpbGVTYWZhcmkoKSkKICAgICAgICAgICAgIFdlYkNvcmU6OkRl
cHJlY2F0ZWRHbG9iYWxTZXR0aW5nczo6c2V0U2hvdWxkTWFuYWdlQXVkaW9TZXNzaW9uQ2F0ZWdv
cnkodHJ1ZSk7CiAjZW5kaWYKKworI2lmIEVOQUJMRShWSURFTykKKyAgICAgICAgV2ViQ29yZTo6
SFRNTE1lZGlhRWxlbWVudDo6c2V0TWVkaWFDYWNoZURpcmVjdG9yeShGaWxlU3lzdGVtOjpwYXRo
QnlBcHBlbmRpbmdDb21wb25lbnQoTlNUZW1wb3JhcnlEaXJlY3RvcnkoKSwgIk1lZGlhQ2FjaGUv
Il9zKSk7CisjZW5kaWYKICAgICAgICAgZGlkT25lVGltZUluaXRpYWxpemF0aW9uID0gdHJ1ZTsK
ICAgICB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>