<?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>234803</bug_id>
          
          <creation_ts>2022-01-02 16:49:46 -0800</creation_ts>
          <short_desc>Undownloaded iCloud Photos are inserted as broken images when attachment element is enabled</short_desc>
          <delta_ts>2022-01-04 10:50:28 -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>HTML Editing</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=234851</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>mifenton</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1827561</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-01-02 16:49:46 -0800</bug_when>
    <thetext>rdar://82318259</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827572</commentid>
    <comment_count>1</comment_count>
      <attachid>448192</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-01-02 17:20:06 -0800</bug_when>
    <thetext>Created attachment 448192
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827598</commentid>
    <comment_count>2</comment_count>
      <attachid>448200</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-01-02 18:51:25 -0800</bug_when>
    <thetext>Created attachment 448200
Fix iOS build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827599</commentid>
    <comment_count>3</comment_count>
      <attachid>448200</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-02 19:21:48 -0800</bug_when>
    <thetext>Comment on attachment 448200
Fix iOS build

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

&gt; Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm:729
&gt; +    bool fileExists = FileSystem::fileExists(path);

Instead of making a separate file system call, can we save the result from fileTypeFollowingSymlinks? Always nice to reduce the number of separate file system accesses.

&gt; Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm:736
&gt; +        attachment-&gt;setAttributeWithoutSynchronization(HTMLNames::progressAttr, &quot;0&quot;_s);

I think there’s a way to get the string “0” without allocating a new string. Part of how JavaScript optimizes numeric strings. Not sure it’s easily available, but maybe AtomString::number(0) would work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827613</commentid>
    <comment_count>4</comment_count>
      <attachid>448200</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-01-02 20:31:04 -0800</bug_when>
    <thetext>Comment on attachment 448200
Fix iOS build

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

Thanks for the review!

&gt;&gt; Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm:729
&gt;&gt; +    bool fileExists = FileSystem::fileExists(path);
&gt; 
&gt; Instead of making a separate file system call, can we save the result from fileTypeFollowingSymlinks? Always nice to reduce the number of separate file system accesses.

Seems to work! Looks like the return value is `nullopt` in the case where the file doesn&apos;t exist.

&gt;&gt; Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm:736
&gt;&gt; +        attachment-&gt;setAttributeWithoutSynchronization(HTMLNames::progressAttr, &quot;0&quot;_s);
&gt; 
&gt; I think there’s a way to get the string “0” without allocating a new string. Part of how JavaScript optimizes numeric strings. Not sure it’s easily available, but maybe AtomString::number(0) would work.

Yes, `AtomString::number(0)` works — it looks like we already use it right below, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827770</commentid>
    <comment_count>5</comment_count>
      <attachid>448246</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-01-03 09:11:47 -0800</bug_when>
    <thetext>Created attachment 448246
For landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827782</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-03 10:28:15 -0800</bug_when>
    <thetext>Committed r287547 (245682@main): &lt;https://commits.webkit.org/245682@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 448246.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448192</attachid>
            <date>2022-01-02 17:20:06 -0800</date>
            <delta_ts>2022-01-02 18:51:24 -0800</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-234803-20220102172006.patch</filename>
            <type>text/plain</type>
            <size>6769</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGZjZGQzNmFlYTQ0MTc1
NjdmOTI2MmQxOTllNWUzMWFlOWY2MDZmOS4uYmE5ZDMxZTBmOTJmMTc2Mzc5MjhmYTY0OWM4MGZm
MTk3ZDE2NGQyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIyLTAxLTAyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFVuZG93bmxvYWRl
ZCBpQ2xvdWQgUGhvdG9zIGFyZSBpbnNlcnRlZCBhcyBicm9rZW4gaW1hZ2VzIHdoZW4gYXR0YWNo
bWVudCBlbGVtZW50IGlzIGVuYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNDgwMworICAgICAgICByZGFyOi8vODIzMTgyNTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHksIHdoZW4g
aW5zZXJ0aW5nIGZpbGUgcGF0aHMgdmlhIHBhc3RlIG9yIGRyb3AgdGhhdCBjb3JyZXNwb25kIHRv
IHVuZG93bmxvYWRlZCBmaWxlcyBpbiBpQ2xvdWQgRHJpdmUsCisgICAgICAgIHdlIHNob3cgYSBn
ZW5lcmljIGVtcHR5IGZpbGUgYXMgdGhlIGZpbGUgcHJldmlldywgd2l0aCAiWmVybyBCeXRlcyIg
YXMgdGhlIGF0dGFjaG1lbnQgc3VidGl0bGUgd2hlbiB0aGUKKyAgICAgICAgYXR0YWNobWVudCBl
bGVtZW50IGlzIGVuYWJsZWQgKGkuZS4sIE1haWwgY29tcG9zZSB3aGVuIHVzaW5nIFdlYktpdDIp
LiBFdmVuIHdvcnNlLCBmb3IgdW5kb3dubG9hZGVkIGltYWdlIGZpbGVzLAorICAgICAgICB3ZSds
bCBhdHRlbXB0IHRvIGluc2VydCB0aGVtIGFzIGJyb2tlbiBpbWFnZXMuCisKKyAgICAgICAgTWFp
bCBoYW5kbGVzIHRoaXMgc2NlbmFyaW8gYnkgZGV0ZWN0aW5nIHRoYXQgd2UndmUgZHJvcHBlZCBh
biB1bmRvd25sb2FkZWQgYXR0YWNobWVudCwgZG93bmxvYWRzIHRoZSBhdHRhY2htZW50LAorICAg
ICAgICBhbmQgZXZlbnR1YWxseSB1cGRhdGVzIHRoZSBhdHRhY2htZW50IGVsZW1lbnQgd2l0aCB0
aGUgZG93bmxvYWRlZCBkYXRhLiBJbiB0aGUgbWVhbnRpbWUsIGhvd2V2ZXIsIGl0J3Mgbm90IGlk
ZWFsCisgICAgICAgIGZvciBXZWJLaXQgdG8gcmVwcmVzZW50IHRoZSBhdHRhY2htZW50IHRoYXQg
aXMgc3RpbGwgYmVpbmcgZG93bmxvYWRlZCBhcyBhIGJyb2tlbiBpbWFnZSBvciBlbXB0eSBmaWxl
LgorCisgICAgICAgIFRvIGFkZHJlc3MgdGhpcywgbWFrZSBhIHNsaWdodCBhZGp1c3RtZW50IHRv
IGRldGVjdCB0aGF0IHRoZSBmaWxlIHdlJ3JlIGluc2VydGluZyBpcyBub3QgbG9jYWxseSBhdmFp
bGFibGUgYW5kCisgICAgICAgIHJlbmRlciBpdCBhcyBhbiBhdHRhY2htZW50IGVsZW1lbnQgd2l0
aCBwcm9ncmVzcz0iMCIuIFRoZSBjbGllbnQgaXMgdGhlbiBleHBlY3RlZCB0byB1cGRhdGUgdGhp
cyBwcm9ncmVzcyBhcyB0aGUKKyAgICAgICAgZG93bmxvYWQgaXMgdGFraW5nIHBsYWNlLCBhbmQg
dXBkYXRlIHRoZSBhdHRhY2htZW50IGRhdGEgb25jZSBpdCdzIGNvbXBsZXRlLgorCisgICAgICAg
IFRlc3Q6IFdLQXR0YWNobWVudFRlc3RzTWFjLkluc2VydE5vbkV4aXN0ZW50SW1hZ2VGaWxlQXNB
dHRhY2htZW50CisKKyAgICAgICAgKiBlZGl0aW5nL2NvY29hL1dlYkNvbnRlbnRSZWFkZXJDb2Nv
YS5tbToKKyAgICAgICAgKFdlYkNvcmU6OmF0dGFjaG1lbnRGb3JGaWxlUGF0aCk6CisKIDIwMjEt
MDEtMDIgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAg
W21hY09TXSBbV0syXSBOU0ZvbnRQYW5lbCBVSSAoZm9udCBjb2xvciwgdGV4dCBkZWNvcmF0aW9u
cywgZm9udCBzaGFkb3cpIGRvZXNuJ3QgdXBkYXRlIG9uIHNlbGVjdGlvbiBjaGFuZ2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvV2ViQ29udGVudFJlYWRlckNvY29h
Lm1tIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9XZWJDb250ZW50UmVhZGVyQ29jb2Eu
bW0KaW5kZXggNmM4ZDNiN2M3NDNmNTJlM2RkMWRlZDkyNmVlYmJiNDU2MTg0ZWVlMi4uMDA2N2Y3
NDBmMDY0YTQ0ZjRiYTNhZDE3NTlkNDljMDU5NTFiYzhkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9jb2NvYS9XZWJDb250ZW50UmVhZGVyQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9jb2NvYS9XZWJDb250ZW50UmVhZGVyQ29jb2EubW0KQEAgLTcyNiwx
MiArNzI2LDE1IEBAIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogICAgIH0KIAog
ICAgIHN0ZDo6b3B0aW9uYWw8dWludDY0X3Q+IGZpbGVTaXplRm9yRGlzcGxheTsKLSAgICBpZiAo
IWlzRGlyZWN0b3J5KQorICAgIGJvb2wgZmlsZUV4aXN0cyA9IEZpbGVTeXN0ZW06OmZpbGVFeGlz
dHMocGF0aCk7CisgICAgaWYgKGZpbGVFeGlzdHMgJiYgIWlzRGlyZWN0b3J5KQogICAgICAgICBm
aWxlU2l6ZUZvckRpc3BsYXkgPSBGaWxlU3lzdGVtOjpmaWxlU2l6ZShwYXRoKS52YWx1ZV9vcigw
KTsKIAogICAgIGZyYW1lLmVkaXRvcigpLnJlZ2lzdGVyQXR0YWNobWVudElkZW50aWZpZXIoYXR0
YWNobWVudC0+ZW5zdXJlVW5pcXVlSWRlbnRpZmllcigpLCBjb250ZW50VHlwZSwgcGF0aCk7CiAK
LSAgICBpZiAoY29udGVudFR5cGVJc1N1aXRhYmxlRm9ySW5saW5lSW1hZ2VSZXByZXNlbnRhdGlv
bihjb250ZW50VHlwZSkpIHsKKyAgICBpZiAoIWZpbGVFeGlzdHMpCisgICAgICAgIGF0dGFjaG1l
bnQtPnNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpwcm9ncmVz
c0F0dHIsICIwIl9zKTsKKyAgICBlbHNlIGlmIChjb250ZW50VHlwZUlzU3VpdGFibGVGb3JJbmxp
bmVJbWFnZVJlcHJlc2VudGF0aW9uKGNvbnRlbnRUeXBlKSkgewogICAgICAgICBhdXRvIGltYWdl
ID0gSFRNTEltYWdlRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKICAgICAgICAgaW1hZ2UtPnNl
dEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpzcmNBdHRyLCBET01V
Ukw6OmNyZWF0ZU9iamVjdFVSTChkb2N1bWVudCwgRmlsZTo6Y3JlYXRlKGRvY3VtZW50LnB0cigp
LCBwYXRoKSkpOwogICAgICAgICBpbWFnZS0+c2V0QXR0YWNobWVudEVsZW1lbnQoV1RGTW92ZShh
dHRhY2htZW50KSk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggMTUzZDExOGEwZWMzMzg2YTM2OTVkYWY2MGMwOWJhZjJhYjExY2E1ZC4uNmEwYTgy
Yzg0M2FiMWFiNjMwYjE1MThlNTE2Mzk5ODdhMjlmY2NmMyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIyLTAxLTAy
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFVuZG93
bmxvYWRlZCBpQ2xvdWQgUGhvdG9zIGFyZSBpbnNlcnRlZCBhcyBicm9rZW4gaW1hZ2VzIHdoZW4g
YXR0YWNobWVudCBlbGVtZW50IGlzIGVuYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDgwMworICAgICAgICByZGFyOi8vODIzMTgyNTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBuZXcg
QVBJIHRlc3QgdG8gZXhlcmNpc2UgdGhlIGNoYW5nZS4gU2VlIFdlYkNvcmUvQ2hhbmdlTG9nIGZv
ciBtb3JlIGluZm9ybWF0aW9uLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9XS0F0dGFjaG1lbnRUZXN0cy5tbToKKyAgICAgICAgKG5vbmV4aXN0ZW50RmlsZVBh
dGgpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMjEtMDEtMDIgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXSBbV0sy
XSBOU0ZvbnRQYW5lbCBVSSAoZm9udCBjb2xvciwgdGV4dCBkZWNvcmF0aW9ucywgZm9udCBzaGFk
b3cpIGRvZXNuJ3QgdXBkYXRlIG9uIHNlbGVjdGlvbiBjaGFuZ2UKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tBdHRhY2htZW50VGVzdHMubW0gYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLQXR0YWNobWVudFRlc3RzLm1t
CmluZGV4IDc1MjE0Y2Y1MmQ5NzBhYzFmZDE1MWU2YjFlYmY0ZWQzYmQzNzk4NjUuLmU3ZDQ0NGIz
MjNiZjdjMDUyZGNiY2EwMWY2ZGNkN2M4YzM5Y2FjNGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tBdHRhY2htZW50VGVzdHMubW0KKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS0F0dGFjaG1lbnRUZXN0cy5tbQpA
QCAtMjMwLDYgKzIzMCwxMiBAQCBzdGF0aWMgTlNEYXRhICp0ZXN0SFRNTERhdGEoKQogICAgIHJl
dHVybiBbQCI8YSBocmVmPScjJz5UaGlzIGlzIHNvbWUgSFRNTCBkYXRhPC9hPiIgZGF0YVVzaW5n
RW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmddOwogfQogCitzdGF0aWMgTlNTdHJpbmcgKm5v
bmV4aXN0ZW50RmlsZVBhdGgoTlNTdHJpbmcgKmV4dGVuc2lvbikKK3sKKyAgICBhdXRvIG5vbmV4
aXN0ZW50RmlsZU5hbWUgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIiVALiVAIiwgTlNV
VUlELlVVSUQuVVVJRFN0cmluZywgZXh0ZW5zaW9uXTsKKyAgICByZXR1cm4gW05TVGVtcG9yYXJ5
RGlyZWN0b3J5KCkgc3RyaW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50Om5vbmV4aXN0ZW50Rmls
ZU5hbWVdOworfQorCiBzdGF0aWMgTlNVUkwgKnRlc3RJbWFnZUZpbGVVUkwoKQogewogICAgIHJl
dHVybiBbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAiaWNvbiIgd2l0aEV4
dGVuc2lvbjpAInBuZyIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXTsK
QEAgLTE2NzIsNiArMTY3OCwzMiBAQCBURVNUKFdLQXR0YWNobWVudFRlc3RzTWFjLCBJbnNlcnRQ
YXN0ZWRGaWxlVVJMc0FzQXR0YWNobWVudHMpCiAgICAgfQogfQogCitURVNUKFdLQXR0YWNobWVu
dFRlc3RzTWFjLCBJbnNlcnROb25FeGlzdGVudEltYWdlRmlsZUFzQXR0YWNobWVudCkKK3sKKyAg
ICBOU1Bhc3RlYm9hcmQgKnBhc3RlYm9hcmQgPSBbTlNQYXN0ZWJvYXJkIGdlbmVyYWxQYXN0ZWJv
YXJkXTsKKyAgICBbcGFzdGVib2FyZCBjbGVhckNvbnRlbnRzXTsKKyAgICBbcGFzdGVib2FyZCBk
ZWNsYXJlVHlwZXM6QFtOU0ZpbGVuYW1lc1Bib2FyZFR5cGVdIG93bmVyOm5pbF07CisKKyAgICBS
ZXRhaW5QdHIgZmlsZVBhdGggPSBub25leGlzdGVudEZpbGVQYXRoKEAianBnIik7CisgICAgW3Bh
c3RlYm9hcmQgc2V0UHJvcGVydHlMaXN0OkBbZmlsZVBhdGguZ2V0KCldIGZvclR5cGU6TlNGaWxl
bmFtZXNQYm9hcmRUeXBlXTsKKworICAgIFJldGFpblB0cjxOU0FycmF5PF9XS0F0dGFjaG1lbnQg
Kj4+IGluc2VydGVkQXR0YWNobWVudHM7CisgICAgYXV0byB3ZWJWaWV3ID0gd2ViVmlld0ZvclRl
c3RpbmdBdHRhY2htZW50cygpOworICAgIHsKKyAgICAgICAgT2JzZXJ2ZUF0dGFjaG1lbnRVcGRh
dGVzRm9yU2NvcGUgb2JzZXJ2ZXIod2ViVmlldy5nZXQoKSk7CisgICAgICAgIFt3ZWJWaWV3IF9z
eW5jaHJvbm91c2x5RXhlY3V0ZUVkaXRDb21tYW5kOkAiUGFzdGUiIGFyZ3VtZW50Om5pbF07Cisg
ICAgICAgIGluc2VydGVkQXR0YWNobWVudHMgPSBbb2JzZXJ2ZXIub2JzZXJ2ZXIoKSBpbnNlcnRl
ZF07CisgICAgICAgIEVYUEVDVF9FUSgxVSwgW2luc2VydGVkQXR0YWNobWVudHMgY291bnRdKTsK
KyAgICB9CisKKyAgICBbd2ViVmlldyBleHBlY3RFbGVtZW50Q291bnQ6MSBxdWVyeVNlbGVjdG9y
OkAiQVRUQUNITUVOVCJdOworICAgIFt3ZWJWaWV3IGV4cGVjdEVsZW1lbnRDb3VudDowIHF1ZXJ5
U2VsZWN0b3I6QCJJTUciXTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIjAiLCBbd2ViVmlldyBzdHJp
bmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYXR0YWNo
bWVudCcpLmdldEF0dHJpYnV0ZSgncHJvZ3Jlc3MnKSJdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEo
W2ZpbGVQYXRoIGxhc3RQYXRoQ29tcG9uZW50XSwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5n
SmF2YVNjcmlwdDpAImRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2F0dGFjaG1lbnQnKS5nZXRBdHRy
aWJ1dGUoJ3RpdGxlJykiXSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCJpbWFnZS9qcGVnIiwgW3dl
YlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoJ2F0dGFjaG1lbnQnKS5nZXRBdHRyaWJ1dGUoJ3R5cGUnKSJdKTsKKyAgICBFWFBFQ1RfRkFM
U0UoW1t3ZWJWaWV3IG9iamVjdEJ5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCdhdHRhY2htZW50JykuaGFzQXR0cmlidXRlKCdzdWJ0aXRsZScpIl0gYm9vbFZh
bHVlXSk7Cit9CisKIFRFU1QoV0tBdHRhY2htZW50VGVzdHNNYWMsIEluc2VydERyb3BwZWRGaWxl
UHJvbWlzZXNBc0F0dGFjaG1lbnRzKQogewogICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0
TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448200</attachid>
            <date>2022-01-02 18:51:25 -0800</date>
            <delta_ts>2022-01-03 09:11:44 -0800</delta_ts>
            <desc>Fix iOS build</desc>
            <filename>bug-234803-20220102185125.patch</filename>
            <type>text/plain</type>
            <size>6544</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhiMTMwMTczZGI4NmQy
OGRiODcwNTU3N2MzOTY0OTBmMjI1ZDgzZi4uOGIzNTRlN2U0ZDU0MzZkYjkyN2Q3ODI0ZWUzNDhk
MzQ2MWQwN2RmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIyLTAxLTAyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFVuZG93bmxvYWRl
ZCBpQ2xvdWQgUGhvdG9zIGFyZSBpbnNlcnRlZCBhcyBicm9rZW4gaW1hZ2VzIHdoZW4gYXR0YWNo
bWVudCBlbGVtZW50IGlzIGVuYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNDgwMworICAgICAgICByZGFyOi8vODIzMTgyNTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHksIHdoZW4g
aW5zZXJ0aW5nIGZpbGUgcGF0aHMgdmlhIHBhc3RlIG9yIGRyb3AgdGhhdCBjb3JyZXNwb25kIHRv
IHVuZG93bmxvYWRlZCBmaWxlcyBpbiBpQ2xvdWQgRHJpdmUsCisgICAgICAgIHdlIHNob3cgYSBn
ZW5lcmljIGVtcHR5IGZpbGUgYXMgdGhlIGZpbGUgcHJldmlldywgd2l0aCAiWmVybyBCeXRlcyIg
YXMgdGhlIGF0dGFjaG1lbnQgc3VidGl0bGUgd2hlbiB0aGUKKyAgICAgICAgYXR0YWNobWVudCBl
bGVtZW50IGlzIGVuYWJsZWQgKGkuZS4sIE1haWwgY29tcG9zZSB3aGVuIHVzaW5nIFdlYktpdDIp
LiBFdmVuIHdvcnNlLCBmb3IgdW5kb3dubG9hZGVkIGltYWdlIGZpbGVzLAorICAgICAgICB3ZSds
bCBhdHRlbXB0IHRvIGluc2VydCB0aGVtIGFzIGJyb2tlbiBpbWFnZXMuCisKKyAgICAgICAgTWFp
bCBoYW5kbGVzIHRoaXMgc2NlbmFyaW8gYnkgZGV0ZWN0aW5nIHRoYXQgd2UndmUgZHJvcHBlZCBh
biB1bmRvd25sb2FkZWQgYXR0YWNobWVudCwgZG93bmxvYWRzIHRoZSBhdHRhY2htZW50LAorICAg
ICAgICBhbmQgZXZlbnR1YWxseSB1cGRhdGVzIHRoZSBhdHRhY2htZW50IGVsZW1lbnQgd2l0aCB0
aGUgZG93bmxvYWRlZCBkYXRhLiBJbiB0aGUgbWVhbnRpbWUsIGhvd2V2ZXIsIGl0J3Mgbm90IGlk
ZWFsCisgICAgICAgIGZvciBXZWJLaXQgdG8gcmVwcmVzZW50IHRoZSBhdHRhY2htZW50IHRoYXQg
aXMgc3RpbGwgYmVpbmcgZG93bmxvYWRlZCBhcyBhIGJyb2tlbiBpbWFnZSBvciBlbXB0eSBmaWxl
LgorCisgICAgICAgIFRvIGFkZHJlc3MgdGhpcywgbWFrZSBhIHNsaWdodCBhZGp1c3RtZW50IHRv
IGRldGVjdCB0aGF0IHRoZSBmaWxlIHdlJ3JlIGluc2VydGluZyBpcyBub3QgbG9jYWxseSBhdmFp
bGFibGUgYW5kCisgICAgICAgIHJlbmRlciBpdCBhcyBhbiBhdHRhY2htZW50IGVsZW1lbnQgd2l0
aCBwcm9ncmVzcz0iMCIuIFRoZSBjbGllbnQgaXMgdGhlbiBleHBlY3RlZCB0byB1cGRhdGUgdGhp
cyBwcm9ncmVzcyBhcyB0aGUKKyAgICAgICAgZG93bmxvYWQgaXMgdGFraW5nIHBsYWNlLCBhbmQg
dXBkYXRlIHRoZSBhdHRhY2htZW50IGRhdGEgb25jZSBpdCdzIGNvbXBsZXRlLgorCisgICAgICAg
IFRlc3Q6IFdLQXR0YWNobWVudFRlc3RzTWFjLkluc2VydE5vbkV4aXN0ZW50SW1hZ2VGaWxlQXNB
dHRhY2htZW50CisKKyAgICAgICAgKiBlZGl0aW5nL2NvY29hL1dlYkNvbnRlbnRSZWFkZXJDb2Nv
YS5tbToKKyAgICAgICAgKFdlYkNvcmU6OmF0dGFjaG1lbnRGb3JGaWxlUGF0aCk6CisKIDIwMjIt
MDEtMDIgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRkIGEgaGVscGVyIGZ1bmN0aW9uIHRvIGNvbXB1dGUgYW4gZWxlbWVudCdzIGFjY2Vzc2liaWxp
dHkgcm9sZSBpbiBjb3JlIERPTSBjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL2NvY29hL1dlYkNvbnRlbnRSZWFkZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvY29jb2EvV2ViQ29udGVudFJlYWRlckNvY29hLm1tCmluZGV4IDZjOGQzYjdjNzQzZjUyZTNk
ZDFkZWQ5MjZlZWJiYjQ1NjE4NGVlZTIuLjAwNjdmNzQwZjA2NGE0NGY0YmEzYWQxNzU5ZDQ5YzA1
OTUxYmM4ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvV2ViQ29u
dGVudFJlYWRlckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvV2Vi
Q29udGVudFJlYWRlckNvY29hLm1tCkBAIC03MjYsMTIgKzcyNiwxNSBAQCBBTExPV19ERVBSRUNB
VEVEX0RFQ0xBUkFUSU9OU19FTkQKICAgICB9CiAKICAgICBzdGQ6Om9wdGlvbmFsPHVpbnQ2NF90
PiBmaWxlU2l6ZUZvckRpc3BsYXk7Ci0gICAgaWYgKCFpc0RpcmVjdG9yeSkKKyAgICBib29sIGZp
bGVFeGlzdHMgPSBGaWxlU3lzdGVtOjpmaWxlRXhpc3RzKHBhdGgpOworICAgIGlmIChmaWxlRXhp
c3RzICYmICFpc0RpcmVjdG9yeSkKICAgICAgICAgZmlsZVNpemVGb3JEaXNwbGF5ID0gRmlsZVN5
c3RlbTo6ZmlsZVNpemUocGF0aCkudmFsdWVfb3IoMCk7CiAKICAgICBmcmFtZS5lZGl0b3IoKS5y
ZWdpc3RlckF0dGFjaG1lbnRJZGVudGlmaWVyKGF0dGFjaG1lbnQtPmVuc3VyZVVuaXF1ZUlkZW50
aWZpZXIoKSwgY29udGVudFR5cGUsIHBhdGgpOwogCi0gICAgaWYgKGNvbnRlbnRUeXBlSXNTdWl0
YWJsZUZvcklubGluZUltYWdlUmVwcmVzZW50YXRpb24oY29udGVudFR5cGUpKSB7CisgICAgaWYg
KCFmaWxlRXhpc3RzKQorICAgICAgICBhdHRhY2htZW50LT5zZXRBdHRyaWJ1dGVXaXRob3V0U3lu
Y2hyb25pemF0aW9uKEhUTUxOYW1lczo6cHJvZ3Jlc3NBdHRyLCAiMCJfcyk7CisgICAgZWxzZSBp
ZiAoY29udGVudFR5cGVJc1N1aXRhYmxlRm9ySW5saW5lSW1hZ2VSZXByZXNlbnRhdGlvbihjb250
ZW50VHlwZSkpIHsKICAgICAgICAgYXV0byBpbWFnZSA9IEhUTUxJbWFnZUVsZW1lbnQ6OmNyZWF0
ZShkb2N1bWVudCk7CiAgICAgICAgIGltYWdlLT5zZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25p
emF0aW9uKEhUTUxOYW1lczo6c3JjQXR0ciwgRE9NVVJMOjpjcmVhdGVPYmplY3RVUkwoZG9jdW1l
bnQsIEZpbGU6OmNyZWF0ZShkb2N1bWVudC5wdHIoKSwgcGF0aCkpKTsKICAgICAgICAgaW1hZ2Ut
PnNldEF0dGFjaG1lbnRFbGVtZW50KFdURk1vdmUoYXR0YWNobWVudCkpOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGFiYzkwMTFmNWI1MjkyMTNk
ZTEyMmExZWFiZjRiZjkwMDgzMWU0ZDIuLmZhYThmMjQ5NzcwNDExNGI1NjgzZWEwYTFlNzA0NTVl
NTg4YTdkYjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMi0wMS0wMiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hz
aWVoQGFwcGxlLmNvbT4KKworICAgICAgICBVbmRvd25sb2FkZWQgaUNsb3VkIFBob3RvcyBhcmUg
aW5zZXJ0ZWQgYXMgYnJva2VuIGltYWdlcyB3aGVuIGF0dGFjaG1lbnQgZWxlbWVudCBpcyBlbmFi
bGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ4
MDMKKyAgICAgICAgcmRhcjovLzgyMzE4MjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IEFQSSB0ZXN0IHRvIGV4ZXJjaXNlIHRoZSBj
aGFuZ2UuIFNlZSBXZWJDb3JlL0NoYW5nZUxvZyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tBdHRhY2htZW50VGVzdHMu
bW06CisgICAgICAgIChub25leGlzdGVudEZpbGVQYXRoKToKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OlRFU1QpOgorCiAyMDIyLTAxLTAyICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBw
bGUuY29tPgogCiAgICAgICAgIFtXZWJLaXQyXSBDYW1lcmEgY29udGludWl0eSBpcyBkaXNhYmxl
ZCBpbiByaWNobHkgZWRpdGFibGUgY29udGVudApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS0F0dGFjaG1lbnRUZXN0cy5tbSBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tBdHRhY2htZW50VGVzdHMubW0KaW5kZXggNzUy
MTRjZjUyZDk3MGFjMWZkMTUxZTZiMWViZjRlZDNiZDM3OTg2NS4uN2FlOWMyMzQ5MTE1MDZkMmVl
MGM0YmRhYmMyZDc0NzI1N2VlMDc0ZiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9XS0F0dGFjaG1lbnRUZXN0cy5tbQorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLQXR0YWNobWVudFRlc3RzLm1tCkBAIC01MTEsNyAr
NTExLDEzIEBAIEJPT0wgaXNDb21wbGV0ZWx5VHJhbnNwYXJlbnQoTlNJbWFnZSAqaW1hZ2UpCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLSNlbmRpZgorc3RhdGljIE5TU3RyaW5nICpub25leGlzdGVu
dEZpbGVQYXRoKE5TU3RyaW5nICpleHRlbnNpb24pCit7CisgICAgYXV0byBub25leGlzdGVudEZp
bGVOYW1lID0gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCIlQC4lQCIsIE5TVVVJRC5VVUlE
LlVVSURTdHJpbmcsIGV4dGVuc2lvbl07CisgICAgcmV0dXJuIFtOU1RlbXBvcmFyeURpcmVjdG9y
eSgpIHN0cmluZ0J5QXBwZW5kaW5nUGF0aENvbXBvbmVudDpub25leGlzdGVudEZpbGVOYW1lXTsK
K30KKworI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
CiAKQEAgLTE2NzIsNiArMTY3OCwzMiBAQCBURVNUKFdLQXR0YWNobWVudFRlc3RzTWFjLCBJbnNl
cnRQYXN0ZWRGaWxlVVJMc0FzQXR0YWNobWVudHMpCiAgICAgfQogfQogCitURVNUKFdLQXR0YWNo
bWVudFRlc3RzTWFjLCBJbnNlcnROb25FeGlzdGVudEltYWdlRmlsZUFzQXR0YWNobWVudCkKK3sK
KyAgICBOU1Bhc3RlYm9hcmQgKnBhc3RlYm9hcmQgPSBbTlNQYXN0ZWJvYXJkIGdlbmVyYWxQYXN0
ZWJvYXJkXTsKKyAgICBbcGFzdGVib2FyZCBjbGVhckNvbnRlbnRzXTsKKyAgICBbcGFzdGVib2Fy
ZCBkZWNsYXJlVHlwZXM6QFtOU0ZpbGVuYW1lc1Bib2FyZFR5cGVdIG93bmVyOm5pbF07CisKKyAg
ICBSZXRhaW5QdHIgZmlsZVBhdGggPSBub25leGlzdGVudEZpbGVQYXRoKEAianBnIik7CisgICAg
W3Bhc3RlYm9hcmQgc2V0UHJvcGVydHlMaXN0OkBbZmlsZVBhdGguZ2V0KCldIGZvclR5cGU6TlNG
aWxlbmFtZXNQYm9hcmRUeXBlXTsKKworICAgIFJldGFpblB0cjxOU0FycmF5PF9XS0F0dGFjaG1l
bnQgKj4+IGluc2VydGVkQXR0YWNobWVudHM7CisgICAgYXV0byB3ZWJWaWV3ID0gd2ViVmlld0Zv
clRlc3RpbmdBdHRhY2htZW50cygpOworICAgIHsKKyAgICAgICAgT2JzZXJ2ZUF0dGFjaG1lbnRV
cGRhdGVzRm9yU2NvcGUgb2JzZXJ2ZXIod2ViVmlldy5nZXQoKSk7CisgICAgICAgIFt3ZWJWaWV3
IF9zeW5jaHJvbm91c2x5RXhlY3V0ZUVkaXRDb21tYW5kOkAiUGFzdGUiIGFyZ3VtZW50Om5pbF07
CisgICAgICAgIGluc2VydGVkQXR0YWNobWVudHMgPSBbb2JzZXJ2ZXIub2JzZXJ2ZXIoKSBpbnNl
cnRlZF07CisgICAgICAgIEVYUEVDVF9FUSgxVSwgW2luc2VydGVkQXR0YWNobWVudHMgY291bnRd
KTsKKyAgICB9CisKKyAgICBbd2ViVmlldyBleHBlY3RFbGVtZW50Q291bnQ6MSBxdWVyeVNlbGVj
dG9yOkAiQVRUQUNITUVOVCJdOworICAgIFt3ZWJWaWV3IGV4cGVjdEVsZW1lbnRDb3VudDowIHF1
ZXJ5U2VsZWN0b3I6QCJJTUciXTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIjAiLCBbd2ViVmlldyBz
dHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYXR0
YWNobWVudCcpLmdldEF0dHJpYnV0ZSgncHJvZ3Jlc3MnKSJdKTsKKyAgICBFWFBFQ1RfV0tfU1RS
RVEoW2ZpbGVQYXRoIGxhc3RQYXRoQ29tcG9uZW50XSwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0
aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2F0dGFjaG1lbnQnKS5nZXRB
dHRyaWJ1dGUoJ3RpdGxlJykiXSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCJpbWFnZS9qcGVnIiwg
W3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoJ2F0dGFjaG1lbnQnKS5nZXRBdHRyaWJ1dGUoJ3R5cGUnKSJdKTsKKyAgICBFWFBFQ1Rf
RkFMU0UoW1t3ZWJWaWV3IG9iamVjdEJ5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCdhdHRhY2htZW50JykuaGFzQXR0cmlidXRlKCdzdWJ0aXRsZScpIl0gYm9v
bFZhbHVlXSk7Cit9CisKIFRFU1QoV0tBdHRhY2htZW50VGVzdHNNYWMsIEluc2VydERyb3BwZWRG
aWxlUHJvbWlzZXNBc0F0dGFjaG1lbnRzKQogewogICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFk
b3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448246</attachid>
            <date>2022-01-03 09:11:47 -0800</date>
            <delta_ts>2022-01-03 10:28:17 -0800</delta_ts>
            <desc>For landing</desc>
            <filename>bug-234803-20220103091146.patch</filename>
            <type>text/plain</type>
            <size>7017</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhiMTMwMTczZGI4NmQy
OGRiODcwNTU3N2MzOTY0OTBmMjI1ZDgzZi4uZGE0MGMzNDlhNzUzMjg4M2IxYTU2N2ZjMzcyNzFj
ODhlYWFlZjYwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIyLTAxLTAyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFVuZG93bmxvYWRl
ZCBpQ2xvdWQgUGhvdG9zIGFyZSBpbnNlcnRlZCBhcyBicm9rZW4gaW1hZ2VzIHdoZW4gYXR0YWNo
bWVudCBlbGVtZW50IGlzIGVuYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNDgwMworICAgICAgICByZGFyOi8vODIzMTgyNTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBDdXJyZW50bHksIHdoZW4gaW5z
ZXJ0aW5nIGZpbGUgcGF0aHMgdmlhIHBhc3RlIG9yIGRyb3AgdGhhdCBjb3JyZXNwb25kIHRvIHVu
ZG93bmxvYWRlZCBmaWxlcyBpbiBpQ2xvdWQgRHJpdmUsCisgICAgICAgIHdlIHNob3cgYSBnZW5l
cmljIGVtcHR5IGZpbGUgYXMgdGhlIGZpbGUgcHJldmlldywgd2l0aCAiWmVybyBCeXRlcyIgYXMg
dGhlIGF0dGFjaG1lbnQgc3VidGl0bGUgd2hlbiB0aGUKKyAgICAgICAgYXR0YWNobWVudCBlbGVt
ZW50IGlzIGVuYWJsZWQgKGkuZS4sIE1haWwgY29tcG9zZSB3aGVuIHVzaW5nIFdlYktpdDIpLiBF
dmVuIHdvcnNlLCBmb3IgdW5kb3dubG9hZGVkIGltYWdlIGZpbGVzLAorICAgICAgICB3ZSdsbCBh
dHRlbXB0IHRvIGluc2VydCB0aGVtIGFzIGJyb2tlbiBpbWFnZXMuCisKKyAgICAgICAgTWFpbCBo
YW5kbGVzIHRoaXMgc2NlbmFyaW8gYnkgZGV0ZWN0aW5nIHRoYXQgd2UndmUgZHJvcHBlZCBhbiB1
bmRvd25sb2FkZWQgYXR0YWNobWVudCwgZG93bmxvYWRzIHRoZSBhdHRhY2htZW50LAorICAgICAg
ICBhbmQgZXZlbnR1YWxseSB1cGRhdGVzIHRoZSBhdHRhY2htZW50IGVsZW1lbnQgd2l0aCB0aGUg
ZG93bmxvYWRlZCBkYXRhLiBJbiB0aGUgbWVhbnRpbWUsIGhvd2V2ZXIsIGl0J3Mgbm90IGlkZWFs
CisgICAgICAgIGZvciBXZWJLaXQgdG8gcmVwcmVzZW50IHRoZSBhdHRhY2htZW50IHRoYXQgaXMg
c3RpbGwgYmVpbmcgZG93bmxvYWRlZCBhcyBhIGJyb2tlbiBpbWFnZSBvciBlbXB0eSBmaWxlLgor
CisgICAgICAgIFRvIGFkZHJlc3MgdGhpcywgbWFrZSBhIHNsaWdodCBhZGp1c3RtZW50IHRvIGRl
dGVjdCB0aGF0IHRoZSBmaWxlIHdlJ3JlIGluc2VydGluZyBpcyBub3QgbG9jYWxseSBhdmFpbGFi
bGUgYW5kCisgICAgICAgIHJlbmRlciBpdCBhcyBhbiBhdHRhY2htZW50IGVsZW1lbnQgd2l0aCBw
cm9ncmVzcz0iMCIuIFRoZSBjbGllbnQgaXMgdGhlbiBleHBlY3RlZCB0byB1cGRhdGUgdGhpcyBw
cm9ncmVzcyBhcyB0aGUKKyAgICAgICAgZG93bmxvYWQgaXMgdGFraW5nIHBsYWNlLCBhbmQgdXBk
YXRlIHRoZSBhdHRhY2htZW50IGRhdGEgb25jZSBpdCdzIGNvbXBsZXRlLgorCisgICAgICAgIFRl
c3Q6IFdLQXR0YWNobWVudFRlc3RzTWFjLkluc2VydE5vbkV4aXN0ZW50SW1hZ2VGaWxlQXNBdHRh
Y2htZW50CisKKyAgICAgICAgKiBlZGl0aW5nL2NvY29hL1dlYkNvbnRlbnRSZWFkZXJDb2NvYS5t
bToKKyAgICAgICAgKFdlYkNvcmU6OmF0dGFjaG1lbnRGb3JGaWxlUGF0aCk6CisKIDIwMjItMDEt
MDIgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgQWRk
IGEgaGVscGVyIGZ1bmN0aW9uIHRvIGNvbXB1dGUgYW4gZWxlbWVudCdzIGFjY2Vzc2liaWxpdHkg
cm9sZSBpbiBjb3JlIERPTSBjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L2NvY29hL1dlYkNvbnRlbnRSZWFkZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
Y29jb2EvV2ViQ29udGVudFJlYWRlckNvY29hLm1tCmluZGV4IDZjOGQzYjdjNzQzZjUyZTNkZDFk
ZWQ5MjZlZWJiYjQ1NjE4NGVlZTIuLjIwZDFjZTU2MzRlYTNjNzFkYTUyMmVjMGEyNDMxNjNkMjVm
NDhkOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvV2ViQ29udGVu
dFJlYWRlckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvV2ViQ29u
dGVudFJlYWRlckNvY29hLm1tCkBAIC03MTEsNyArNzExLDggQEAgc3RhdGljIFJlZjxIVE1MRWxl
bWVudD4gYXR0YWNobWVudEZvckZpbGVQYXRoKEZyYW1lJiBmcmFtZSwgY29uc3QgU3RyaW5nJiBw
YXRoLAogICAgICAgICByZXR1cm4gYXR0YWNobWVudDsKICAgICB9CiAKLSAgICBib29sIGlzRGly
ZWN0b3J5ID0gRmlsZVN5c3RlbTo6ZmlsZVR5cGVGb2xsb3dpbmdTeW1saW5rcyhwYXRoKSA9PSBG
aWxlU3lzdGVtOjpGaWxlVHlwZTo6RGlyZWN0b3J5OworICAgIGF1dG8gZmlsZVR5cGUgPSBGaWxl
U3lzdGVtOjpmaWxlVHlwZUZvbGxvd2luZ1N5bWxpbmtzKHBhdGgpOworICAgIGJvb2wgaXNEaXJl
Y3RvcnkgPSBmaWxlVHlwZSA9PSBGaWxlU3lzdGVtOjpGaWxlVHlwZTo6RGlyZWN0b3J5OwogICAg
IFN0cmluZyBjb250ZW50VHlwZSA9IHR5cGVGb3JBdHRhY2htZW50RWxlbWVudChleHBsaWNpdENv
bnRlbnRUeXBlKTsKICAgICBpZiAoY29udGVudFR5cGUuaXNFbXB0eSgpKSB7CiBBTExPV19ERVBS
RUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgpAQCAtNzI2LDEyICs3MjcsMTQgQEAgQUxMT1dfREVQ
UkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiAgICAgfQogCiAgICAgc3RkOjpvcHRpb25hbDx1aW50
NjRfdD4gZmlsZVNpemVGb3JEaXNwbGF5OwotICAgIGlmICghaXNEaXJlY3RvcnkpCisgICAgaWYg
KGZpbGVUeXBlICYmICFpc0RpcmVjdG9yeSkKICAgICAgICAgZmlsZVNpemVGb3JEaXNwbGF5ID0g
RmlsZVN5c3RlbTo6ZmlsZVNpemUocGF0aCkudmFsdWVfb3IoMCk7CiAKICAgICBmcmFtZS5lZGl0
b3IoKS5yZWdpc3RlckF0dGFjaG1lbnRJZGVudGlmaWVyKGF0dGFjaG1lbnQtPmVuc3VyZVVuaXF1
ZUlkZW50aWZpZXIoKSwgY29udGVudFR5cGUsIHBhdGgpOwogCi0gICAgaWYgKGNvbnRlbnRUeXBl
SXNTdWl0YWJsZUZvcklubGluZUltYWdlUmVwcmVzZW50YXRpb24oY29udGVudFR5cGUpKSB7Cisg
ICAgaWYgKCFmaWxlVHlwZSkKKyAgICAgICAgYXR0YWNobWVudC0+c2V0QXR0cmlidXRlV2l0aG91
dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OnByb2dyZXNzQXR0ciwgQXRvbVN0cmluZzo6bnVt
YmVyKDApKTsKKyAgICBlbHNlIGlmIChjb250ZW50VHlwZUlzU3VpdGFibGVGb3JJbmxpbmVJbWFn
ZVJlcHJlc2VudGF0aW9uKGNvbnRlbnRUeXBlKSkgewogICAgICAgICBhdXRvIGltYWdlID0gSFRN
TEltYWdlRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKICAgICAgICAgaW1hZ2UtPnNldEF0dHJp
YnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpzcmNBdHRyLCBET01VUkw6OmNy
ZWF0ZU9iamVjdFVSTChkb2N1bWVudCwgRmlsZTo6Y3JlYXRlKGRvY3VtZW50LnB0cigpLCBwYXRo
KSkpOwogICAgICAgICBpbWFnZS0+c2V0QXR0YWNobWVudEVsZW1lbnQoV1RGTW92ZShhdHRhY2ht
ZW50KSk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggYWJjOTAxMWY1YjUyOTIxM2RlMTIyYTFlYWJmNGJmOTAwODMxZTRkMi4uOGVhODlmNGZiMjlh
YWVjMmIwYzIyMDVhZTNlNmJlZmZhMWVkMTNmOCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9n
CisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIyLTAxLTAyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFVuZG93bmxvYWRl
ZCBpQ2xvdWQgUGhvdG9zIGFyZSBpbnNlcnRlZCBhcyBicm9rZW4gaW1hZ2VzIHdoZW4gYXR0YWNo
bWVudCBlbGVtZW50IGlzIGVuYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNDgwMworICAgICAgICByZGFyOi8vODIzMTgyNTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBBZGQgYSBuZXcgQVBJIHRlc3Qg
dG8gZXhlcmNpc2UgdGhlIGNoYW5nZS4gU2VlIFdlYkNvcmUvQ2hhbmdlTG9nIGZvciBtb3JlIGlu
Zm9ybWF0aW9uLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9X
S0F0dGFjaG1lbnRUZXN0cy5tbToKKyAgICAgICAgKG5vbmV4aXN0ZW50RmlsZVBhdGgpOgorICAg
ICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMjItMDEtMDIgIFdlbnNvbiBIc2llaCAg
PHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYktpdDJdIENhbWVyYSBjb250
aW51aXR5IGlzIGRpc2FibGVkIGluIHJpY2hseSBlZGl0YWJsZSBjb250ZW50CmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLQXR0YWNobWVudFRlc3Rz
Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS0F0dGFjaG1lbnRU
ZXN0cy5tbQppbmRleCA3NTIxNGNmNTJkOTcwYWMxZmQxNTFlNmIxZWJmNGVkM2JkMzc5ODY1Li43
YWU5YzIzNDkxMTUwNmQyZWUwYzRiZGFiYzJkNzQ3MjU3ZWUwNzRmIDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLQXR0YWNobWVudFRlc3RzLm1tCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tBdHRhY2htZW50VGVz
dHMubW0KQEAgLTUxMSw3ICs1MTEsMTMgQEAgQk9PTCBpc0NvbXBsZXRlbHlUcmFuc3BhcmVudChO
U0ltYWdlICppbWFnZSkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotI2VuZGlmCitzdGF0aWMgTlNT
dHJpbmcgKm5vbmV4aXN0ZW50RmlsZVBhdGgoTlNTdHJpbmcgKmV4dGVuc2lvbikKK3sKKyAgICBh
dXRvIG5vbmV4aXN0ZW50RmlsZU5hbWUgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIiVA
LiVAIiwgTlNVVUlELlVVSUQuVVVJRFN0cmluZywgZXh0ZW5zaW9uXTsKKyAgICByZXR1cm4gW05T
VGVtcG9yYXJ5RGlyZWN0b3J5KCkgc3RyaW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50Om5vbmV4
aXN0ZW50RmlsZU5hbWVdOworfQorCisjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogCiAjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKIApAQCAtMTY3Miw2ICsxNjc4LDMyIEBAIFRFU1QoV0tBdHRhY2ht
ZW50VGVzdHNNYWMsIEluc2VydFBhc3RlZEZpbGVVUkxzQXNBdHRhY2htZW50cykKICAgICB9CiB9
CiAKK1RFU1QoV0tBdHRhY2htZW50VGVzdHNNYWMsIEluc2VydE5vbkV4aXN0ZW50SW1hZ2VGaWxl
QXNBdHRhY2htZW50KQoreworICAgIE5TUGFzdGVib2FyZCAqcGFzdGVib2FyZCA9IFtOU1Bhc3Rl
Ym9hcmQgZ2VuZXJhbFBhc3RlYm9hcmRdOworICAgIFtwYXN0ZWJvYXJkIGNsZWFyQ29udGVudHNd
OworICAgIFtwYXN0ZWJvYXJkIGRlY2xhcmVUeXBlczpAW05TRmlsZW5hbWVzUGJvYXJkVHlwZV0g
b3duZXI6bmlsXTsKKworICAgIFJldGFpblB0ciBmaWxlUGF0aCA9IG5vbmV4aXN0ZW50RmlsZVBh
dGgoQCJqcGciKTsKKyAgICBbcGFzdGVib2FyZCBzZXRQcm9wZXJ0eUxpc3Q6QFtmaWxlUGF0aC5n
ZXQoKV0gZm9yVHlwZTpOU0ZpbGVuYW1lc1Bib2FyZFR5cGVdOworCisgICAgUmV0YWluUHRyPE5T
QXJyYXk8X1dLQXR0YWNobWVudCAqPj4gaW5zZXJ0ZWRBdHRhY2htZW50czsKKyAgICBhdXRvIHdl
YlZpZXcgPSB3ZWJWaWV3Rm9yVGVzdGluZ0F0dGFjaG1lbnRzKCk7CisgICAgeworICAgICAgICBP
YnNlcnZlQXR0YWNobWVudFVwZGF0ZXNGb3JTY29wZSBvYnNlcnZlcih3ZWJWaWV3LmdldCgpKTsK
KyAgICAgICAgW3dlYlZpZXcgX3N5bmNocm9ub3VzbHlFeGVjdXRlRWRpdENvbW1hbmQ6QCJQYXN0
ZSIgYXJndW1lbnQ6bmlsXTsKKyAgICAgICAgaW5zZXJ0ZWRBdHRhY2htZW50cyA9IFtvYnNlcnZl
ci5vYnNlcnZlcigpIGluc2VydGVkXTsKKyAgICAgICAgRVhQRUNUX0VRKDFVLCBbaW5zZXJ0ZWRB
dHRhY2htZW50cyBjb3VudF0pOworICAgIH0KKworICAgIFt3ZWJWaWV3IGV4cGVjdEVsZW1lbnRD
b3VudDoxIHF1ZXJ5U2VsZWN0b3I6QCJBVFRBQ0hNRU5UIl07CisgICAgW3dlYlZpZXcgZXhwZWN0
RWxlbWVudENvdW50OjAgcXVlcnlTZWxlY3RvcjpAIklNRyJdOworICAgIEVYUEVDVF9XS19TVFJF
USgiMCIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCdhdHRhY2htZW50JykuZ2V0QXR0cmlidXRlKCdwcm9ncmVzcycpIl0pOwor
ICAgIEVYUEVDVF9XS19TVFJFUShbZmlsZVBhdGggbGFzdFBhdGhDb21wb25lbnRdLCBbd2ViVmll
dyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQucXVlcnlTZWxlY3Rvcign
YXR0YWNobWVudCcpLmdldEF0dHJpYnV0ZSgndGl0bGUnKSJdKTsKKyAgICBFWFBFQ1RfV0tfU1RS
RVEoImltYWdlL2pwZWciLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAi
ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYXR0YWNobWVudCcpLmdldEF0dHJpYnV0ZSgndHlwZScp
Il0pOworICAgIEVYUEVDVF9GQUxTRShbW3dlYlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNj
cmlwdDpAImRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2F0dGFjaG1lbnQnKS5oYXNBdHRyaWJ1dGUo
J3N1YnRpdGxlJykiXSBib29sVmFsdWVdKTsKK30KKwogVEVTVChXS0F0dGFjaG1lbnRUZXN0c01h
YywgSW5zZXJ0RHJvcHBlZEZpbGVQcm9taXNlc0FzQXR0YWNobWVudHMpCiB7CiAgICAgYXV0byBj
b25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGlu
aXRdKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>