<?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>206397</bug_id>
          
          <creation_ts>2020-01-16 21:54:11 -0800</creation_ts>
          <short_desc>[LFC][IFC] Optimize LineBuilder::appendTextContent for the most common inline content</short_desc>
          <delta_ts>2020-01-17 08:24:39 -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>Layout and Rendering</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1607867</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-01-16 21:54:11 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607868</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-16 21:54:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/58671338&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607869</commentid>
    <comment_count>2</comment_count>
      <attachid>388012</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-01-16 21:59:16 -0800</bug_when>
    <thetext>Created attachment 388012
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608007</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-01-17 08:24:39 -0800</bug_when>
    <thetext>Committed r254750: &lt;https://trac.webkit.org/changeset/254750&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388012</attachid>
            <date>2020-01-16 21:59:16 -0800</date>
            <delta_ts>2020-01-16 23:27:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206397-20200116215915.patch</filename>
            <type>text/plain</type>
            <size>13535</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NzM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzNmN2M2ZjYyZWE4OGNh
M2M5NzA3YTIzYzg1NDY3NzM4NzlkZjdhZS4uNDIwOTZlMTMxZGRiNGUyNTJiMTI1MDFiNWIzMzM4
YWNkOTYyMDMyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTAxLTE2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBPcHRpbWl6
ZSBMaW5lQnVpbGRlcjo6YXBwZW5kVGV4dENvbnRlbnQgZm9yIHRoZSBtb3N0IGNvbW1vbiBpbmxp
bmUgY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA2Mzk3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81ODY3MTMzOD4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICB+MiUgcHJvZ3Jlc3Npb24gb24g
UGVyZm9ybWFuY2VUZXN0cy9MYXlvdXQvbGluZS1sYXlvdXQtc2ltcGxlLmh0bWwuCisKKyAgICAg
ICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpMaW5lQnVpbGRlcik6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OnNob3VsZFByZXNlcnZlTGVhZGluZ0NvbnRlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6YXBwZW5kVGV4dENvbnRlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6YXBwZW5kTGluZUJyZWFrKToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OklubGluZUl0ZW1SdW46OklubGlu
ZUl0ZW1SdW4pOgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVC
dWlsZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpJbmxpbmVJ
dGVtUnVuOjpzZXRJc0NvbGxhcHNlZCk6IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lVGV4dEl0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpJbmxpbmVUZXh0SXRlbTo6SW5saW5lVGV4dEl0ZW0pOgorICAgICAgICAqIGxheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZVRleHRJdGVtLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OklubGluZVRleHRJdGVtOjppc0NvbGxhcHNpYmxlIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQv
aW5saW5lZm9ybWF0dGluZy90ZXh0L1RleHRVdGlsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6VGV4dFV0aWw6OnNob3VsZFByZXNlcnZlVHJhaWxpbmdXaGl0ZXNwYWNlKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy90ZXh0L1RleHRVdGlsLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRleHRVdGlsOjpzaG91bGRQcmVzZXJ2ZVRyYWlsaW5n
V2hpdGVzcGFjZSk6CisKIDIwMjAtMDEtMTYgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNv
bT4KIAogICAgICAgICBbTEZDXVtJRkNdIE9wdGltaXplIExpbmVMYXlvdXRDb250ZXh0Ojp0cnlB
ZGRpbmdJbmxpbmVJdGVtcyBmb3IgdGhlIG1vc3QgY29tbW9uIGlubGluZSBjb250ZW50CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5l
QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVMaW5lQnVpbGRlci5jcHAKaW5kZXggNTFmOTc5M2U4YmIxZmI5ZjU4ODYzNGJiNzc0M2FlYjEz
NDVmMGQ2ZS4uN2FiZjQyNjA4NGM3NjhjMzcwMDM5NzEwN2EwODY2OGI0MWRiODhiNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1
aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUxpbmVCdWlsZGVyLmNwcApAQCAtMTg5LDYgKzE4OSw3IEBAIExpbmVCdWlsZGVyOjpMaW5l
QnVpbGRlcihjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgaW5saW5lRm9ybWF0dGluZ0Nv
bnRleHQsCiAgICAgLCBtX2NvbGxhcHNpYmxlQ29udGVudChtX2lubGluZUl0ZW1SdW5zKQogICAg
ICwgbV9ob3Jpem9udGFsQWxpZ25tZW50KGhvcml6b250YWxBbGlnbm1lbnQpCiAgICAgLCBtX2lz
SW50cmluc2ljU2l6aW5nKGludHJpbnNpY1NpemluZyA9PSBJbnRyaW5zaWNTaXppbmc6OlllcykK
KyAgICAsIG1fc2hvdWxkSWdub3JlVHJhaWxpbmdMZXR0ZXJTcGFjaW5nKFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3Jh
dGlvbkVuYWJsZWQoKSkKIHsKIH0KIApAQCAtMjIwLDcgKzIyMSw3IEBAIHZvaWQgTGluZUJ1aWxk
ZXI6OmluaXRpYWxpemUoY29uc3QgQ29uc3RyYWludHMmIGNvbnN0cmFpbnRzKQogICAgIG1fbGlu
ZUlzVmlzdWFsbHlFbXB0eUJlZm9yZUNvbGxhcHNpYmxlQ29udGVudCA9IHsgfTsKIH0KIAotc3Rh
dGljIGJvb2wgc2hvdWxkUHJlc2VydmVMZWFkaW5nQ29udGVudChjb25zdCBJbmxpbmVUZXh0SXRl
bSYgaW5saW5lVGV4dEl0ZW0pCitzdGF0aWMgaW5saW5lIGJvb2wgc2hvdWxkUHJlc2VydmVMZWFk
aW5nQ29udGVudChjb25zdCBJbmxpbmVUZXh0SXRlbSYgaW5saW5lVGV4dEl0ZW0pCiB7CiAgICAg
aWYgKCFpbmxpbmVUZXh0SXRlbS5pc1doaXRlc3BhY2UoKSkKICAgICAgICAgcmV0dXJuIHRydWU7
CkBAIC02MzUsMTUgKzYzNiwxMiBAQCB2b2lkIExpbmVCdWlsZGVyOjphcHBlbmRJbmxpbmVDb250
YWluZXJFbmQoY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSwgSW5saW5lTAogCiB2b2lkIExp
bmVCdWlsZGVyOjphcHBlbmRUZXh0Q29udGVudChjb25zdCBJbmxpbmVUZXh0SXRlbSYgaW5saW5l
SXRlbSwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpCiB7CisgICAgYXV0byBpc0NvbGxh
cHNpYmxlID0gaW5saW5lSXRlbS5pc0NvbGxhcHNpYmxlKCk7CiAgICAgYXV0byB3aWxsQ29sbGFw
c2VDb21wbGV0ZWx5ID0gWyZdIHsKLSAgICAgICAgaWYgKCFpbmxpbmVJdGVtLmlzQ29sbGFwc2li
bGUoKSkKKyAgICAgICAgaWYgKCFpc0NvbGxhcHNpYmxlKQogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgICAgICAvLyBMZWFkaW5nIHdoaXRlc3BhY2UuCi0gICAgICAgIGlmIChtX2lubGlu
ZUl0ZW1SdW5zLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIHJldHVybiAhc2hvdWxkUHJlc2VydmVM
ZWFkaW5nQ29udGVudChpbmxpbmVJdGVtKTsKICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGxhc3Qg
aXRlbSBpcyBjb2xsYXBzZWQgYXMgd2VsbC4KLSAgICAgICAgZm9yIChhdXRvIGkgPSBtX2lubGlu
ZUl0ZW1SdW5zLnNpemUoKTsgaS0tOykgewotICAgICAgICAgICAgYXV0byYgcnVuID0gbV9pbmxp
bmVJdGVtUnVuc1tpXTsKKyAgICAgICAgZm9yIChhdXRvJiBydW4gOiBXVEY6Om1ha2VSZXZlcnNl
ZFJhbmdlKG1faW5saW5lSXRlbVJ1bnMpKSB7CiAgICAgICAgICAgICBpZiAocnVuLmlzQm94KCkp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgLy8gaHR0cHM6Ly9k
cmFmdHMuY3Nzd2cub3JnL2Nzcy10ZXh0LTMvI3doaXRlLXNwYWNlLXBoYXNlLTEKQEAgLTY1NSwz
NCArNjUzLDI3IEBAIHZvaWQgTGluZUJ1aWxkZXI6OmFwcGVuZFRleHRDb250ZW50KGNvbnN0IElu
bGluZVRleHRJdGVtJiBpbmxpbmVJdGVtLCBJbmxpbmVMYXlvCiAgICAgICAgICAgICAgICAgcmV0
dXJuIHJ1bi5pc0NvbGxhcHNpYmxlKCk7CiAgICAgICAgICAgICBBU1NFUlQocnVuLmlzQ29udGFp
bmVyU3RhcnQoKSB8fCBydW4uaXNDb250YWluZXJFbmQoKSk7CiAgICAgICAgIH0KLSAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgICAgIC8vIExlYWRpbmcgd2hpdGVzcGFjZS4KKyAgICAgICAgcmV0
dXJuICFzaG91bGRQcmVzZXJ2ZUxlYWRpbmdDb250ZW50KGlubGluZUl0ZW0pOwogICAgIH07CiAK
ICAgICBhdXRvIGNvbGxhcHNlc1RvWmVyb0FkdmFuY2VXaWR0aCA9IHdpbGxDb2xsYXBzZUNvbXBs
ZXRlbHkoKTsKLSAgICBhdXRvIGNvbGxhcHNlZFJ1biA9IGlubGluZUl0ZW0uaXNDb2xsYXBzaWJs
ZSgpICYmIGlubGluZUl0ZW0ubGVuZ3RoKCkgPiAxOwotICAgIGF1dG8gY29udGVudFN0YXJ0ID0g
aW5saW5lSXRlbS5zdGFydCgpOworICAgIGxvZ2ljYWxXaWR0aCA9IGNvbGxhcHNlc1RvWmVyb0Fk
dmFuY2VXaWR0aCA/IDAgOiBsb2dpY2FsV2lkdGg7CisgICAgYXV0byBjb2xsYXBzZWRSdW4gPSBp
c0NvbGxhcHNpYmxlICYmIGlubGluZUl0ZW0ubGVuZ3RoKCkgPiAxOwogICAgIGF1dG8gY29udGVu
dExlbmd0aCA9ICBjb2xsYXBzZWRSdW4gPyAxIDogaW5saW5lSXRlbS5sZW5ndGgoKTsKLSAgICBt
X2lubGluZUl0ZW1SdW5zLmFwcGVuZCh7IGlubGluZUl0ZW0sIGNvbnRlbnRMb2dpY2FsV2lkdGgo
KSwgbG9naWNhbFdpZHRoLCBEaXNwbGF5OjpSdW46OlRleHRDb250ZXh0IHsgY29udGVudFN0YXJ0
LCBjb250ZW50TGVuZ3RoLCBpbmxpbmVJdGVtLmxheW91dEJveCgpLnRleHRDb250ZXh0KCktPmNv
bnRlbnQgfSB9KTsKLSAgICBhdXRvJiBsaW5lUnVuID0gbV9pbmxpbmVJdGVtUnVucy5sYXN0KCk7
Ci0KLSAgICBpZiAoY29sbGFwc2VzVG9aZXJvQWR2YW5jZVdpZHRoKQotICAgICAgICBsaW5lUnVu
LnNldENvbGxhcHNlc1RvWmVyb0FkdmFuY2VXaWR0aCgpOwotCi0gICAgaWYgKGNvbGxhcHNlZFJ1
bikKLSAgICAgICAgbGluZVJ1bi5zZXRJc0NvbGxhcHNlZCgpOwotCi0gICAgbV9saW5lQm94LmV4
cGFuZEhvcml6b250YWxseShsaW5lUnVuLmxvZ2ljYWxXaWR0aCgpKTsKKyAgICBtX2lubGluZUl0
ZW1SdW5zLmFwcGVuZCh7IGlubGluZUl0ZW0sIGNvbnRlbnRMb2dpY2FsV2lkdGgoKSwgbG9naWNh
bFdpZHRoLCBjb2xsYXBzZWRSdW4sIGNvbGxhcHNlc1RvWmVyb0FkdmFuY2VXaWR0aCwgRGlzcGxh
eTo6UnVuOjpUZXh0Q29udGV4dCB7IGlubGluZUl0ZW0uc3RhcnQoKSwgY29udGVudExlbmd0aCwg
aW5saW5lSXRlbS5sYXlvdXRCb3goKS50ZXh0Q29udGV4dCgpLT5jb250ZW50IH0gfSk7CisgICAg
bV9saW5lQm94LmV4cGFuZEhvcml6b250YWxseShsb2dpY2FsV2lkdGgpOwogCi0gICAgLy8gRXhp
c3RpbmcgdHJhaWxpbmcgY29sbGFwc2libGUgY29udGVudCBjYW4gb25seSBiZSBleHBhbmRlZCBp
ZiB0aGUgY3VycmVudCBydW4gaXMgZnVsbHkgY29sbGFwc2libGUuCi0gICAgYXV0byBjb2xsYXBz
aWJsZUxpc3ROZWVkc1Jlc2V0ID0gIW1fY29sbGFwc2libGVDb250ZW50LmlzRW1wdHkoKSAmJiAh
bGluZVJ1bi5pc0NvbGxhcHNpYmxlV2hpdGVzcGFjZSgpOwotICAgIGlmIChjb2xsYXBzaWJsZUxp
c3ROZWVkc1Jlc2V0KQotICAgICAgICBtX2NvbGxhcHNpYmxlQ29udGVudC5yZXNldCgpOwotICAg
IGF1dG8gaXNDb2xsYXBzaWJsZSA9IGxpbmVSdW4uaXNDb2xsYXBzaWJsZVdoaXRlc3BhY2UoKSB8
fCBsaW5lUnVuLmhhc1RyYWlsaW5nTGV0dGVyU3BhY2luZygpOwotICAgIGlmIChpc0NvbGxhcHNp
YmxlKSB7CisgICAgaWYgKGlzQ29sbGFwc2libGUgJiYgIVRleHRVdGlsOjpzaG91bGRQcmVzZXJ2
ZVRyYWlsaW5nV2hpdGVzcGFjZShpbmxpbmVJdGVtLnN0eWxlKCkpKSB7CiAgICAgICAgIC8vIElm
IHdlIGV2ZXIgY29sbGFwc2UgdGhpcyBjb250ZW50LCB3ZSBuZWVkIHRvIGtub3cgaWYgdGhlIGxp
bmUgdmlzaWJpbGl0eSBzdGF0ZSBuZWVkcyB0byBiZSByZWNvbXB1dGVkLgogICAgICAgICBpZiAo
bV9jb2xsYXBzaWJsZUNvbnRlbnQuaXNFbXB0eSgpKQogICAgICAgICAgICAgbV9saW5lSXNWaXN1
YWxseUVtcHR5QmVmb3JlQ29sbGFwc2libGVDb250ZW50ID0gaXNWaXN1YWxseUVtcHR5KCk7CiAg
ICAgICAgIG1fY29sbGFwc2libGVDb250ZW50LmFwcGVuZChtX2lubGluZUl0ZW1SdW5zLnNpemUo
KSAtIDEpOworICAgIH0gZWxzZSB7CisgICAgICAgIC8vIEV4aXN0aW5nIHRyYWlsaW5nIGNvbGxh
cHNpYmxlIGNvbnRlbnQgY2FuIG9ubHkgYmUgZXhwYW5kZWQgaWYgdGhlIGN1cnJlbnQgcnVuIGlz
IGZ1bGx5IGNvbGxhcHNpYmxlLgorICAgICAgICBtX2NvbGxhcHNpYmxlQ29udGVudC5yZXNldCgp
OworICAgICAgICBpZiAoIW1fc2hvdWxkSWdub3JlVHJhaWxpbmdMZXR0ZXJTcGFjaW5nICYmICFp
bmxpbmVJdGVtLmlzV2hpdGVzcGFjZSgpICYmIGlubGluZUl0ZW0uc3R5bGUoKS5sZXR0ZXJTcGFj
aW5nKCkgPiAwKQorICAgICAgICAgICAgbV9jb2xsYXBzaWJsZUNvbnRlbnQuYXBwZW5kKG1faW5s
aW5lSXRlbVJ1bnMuc2l6ZSgpIC0gMSk7CiAgICAgfQogfQogCkBAIC03MTAsNyArNzAxLDcgQEAg
dm9pZCBMaW5lQnVpbGRlcjo6YXBwZW5kTGluZUJyZWFrKGNvbnN0IElubGluZUl0ZW0mIGlubGlu
ZUl0ZW0pCiAgICAgLy8gU29mdCBsaW5lIGJyZWFrcyAocHJlc2VydmVkIG5ldyBsaW5lIGNoYXJh
Y3RlcnMpIHJlcXVpcmUgaW5saW5lIHRleHQgYm94ZXMgZm9yIGNvbXBhdGliaWxpdHkgcmVhc29u
cy4KICAgICBBU1NFUlQoaW5saW5lSXRlbS5pc1NvZnRMaW5lQnJlYWsoKSk7CiAgICAgYXV0byYg
c29mdExpbmVCcmVha0l0ZW0gPSBkb3duY2FzdDxJbmxpbmVTb2Z0TGluZUJyZWFrSXRlbT4oaW5s
aW5lSXRlbSk7Ci0gICAgbV9pbmxpbmVJdGVtUnVucy5hcHBlbmQoeyBzb2Z0TGluZUJyZWFrSXRl
bSwgY29udGVudExvZ2ljYWxXaWR0aCgpLCAwX2x1LCBEaXNwbGF5OjpSdW46OlRleHRDb250ZXh0
IHsgc29mdExpbmVCcmVha0l0ZW0ucG9zaXRpb24oKSwgMSwgc29mdExpbmVCcmVha0l0ZW0ubGF5
b3V0Qm94KCkudGV4dENvbnRleHQoKS0+Y29udGVudCB9IH0pOworICAgIG1faW5saW5lSXRlbVJ1
bnMuYXBwZW5kKHsgc29mdExpbmVCcmVha0l0ZW0sIGNvbnRlbnRMb2dpY2FsV2lkdGgoKSwgMF9s
dSwgZmFsc2UsIGZhbHNlLCBEaXNwbGF5OjpSdW46OlRleHRDb250ZXh0IHsgc29mdExpbmVCcmVh
a0l0ZW0ucG9zaXRpb24oKSwgMSwgc29mdExpbmVCcmVha0l0ZW0ubGF5b3V0Qm94KCkudGV4dENv
bnRleHQoKS0+Y29udGVudCB9IH0pOwogfQogCiB2b2lkIExpbmVCdWlsZGVyOjphZGp1c3RCYXNl
bGluZUFuZExpbmVIZWlnaHQoY29uc3QgUnVuJiBydW4pCkBAIC05NjQsMTEgKzk1NSwyMCBAQCBJ
bmxpbmVMYXlvdXRVbml0IExpbmVCdWlsZGVyOjpDb2xsYXBzaWJsZUNvbnRlbnQ6OmNvbGxhcHNl
VHJhaWxpbmdSdW4oKQogICAgIHJldHVybiAwX2x1OwogfQogCi1MaW5lQnVpbGRlcjo6SW5saW5l
SXRlbVJ1bjo6SW5saW5lSXRlbVJ1bihjb25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBJbmxp
bmVMYXlvdXRVbml0IGxvZ2ljYWxMZWZ0LCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCwg
V1RGOjpPcHRpb25hbDxEaXNwbGF5OjpSdW46OlRleHRDb250ZXh0PiB0ZXh0Q29udGV4dCkKK0xp
bmVCdWlsZGVyOjpJbmxpbmVJdGVtUnVuOjpJbmxpbmVJdGVtUnVuKGNvbnN0IElubGluZUl0ZW0m
IGlubGluZUl0ZW0sIElubGluZUxheW91dFVuaXQgbG9naWNhbExlZnQsIElubGluZUxheW91dFVu
aXQgbG9naWNhbFdpZHRoKQogICAgIDogbV9pbmxpbmVJdGVtKGlubGluZUl0ZW0pCiAgICAgLCBt
X2xvZ2ljYWxMZWZ0KGxvZ2ljYWxMZWZ0KQogICAgICwgbV9sb2dpY2FsV2lkdGgobG9naWNhbFdp
ZHRoKQotICAgICwgbV90ZXh0Q29udGV4dCh0ZXh0Q29udGV4dCkKK3sKK30KKworTGluZUJ1aWxk
ZXI6OklubGluZUl0ZW1SdW46OklubGluZUl0ZW1SdW4oY29uc3QgSW5saW5lSXRlbSYgaW5saW5l
SXRlbSwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBsb2dp
Y2FsV2lkdGgsIGJvb2wgaXNDb2xsYXBzZWQsIGJvb2wgaXNDb2xsYXBzZWRUb1plcm9BZHZhbmNl
V2lkdGgsIERpc3BsYXk6OlJ1bjo6VGV4dENvbnRleHQmJiB0ZXh0Q29udGV4dCkKKyAgICA6IG1f
aW5saW5lSXRlbShpbmxpbmVJdGVtKQorICAgICwgbV9sb2dpY2FsTGVmdChsb2dpY2FsTGVmdCkK
KyAgICAsIG1fbG9naWNhbFdpZHRoKGxvZ2ljYWxXaWR0aCkKKyAgICAsIG1fdGV4dENvbnRleHQo
V1RGTW92ZSh0ZXh0Q29udGV4dCkpCisgICAgLCBtX2lzQ29sbGFwc2VkKGlzQ29sbGFwc2VkKQor
ICAgICwgbV9jb2xsYXBzZWRUb1plcm9BZHZhbmNlV2lkdGgoaXNDb2xsYXBzZWRUb1plcm9BZHZh
bmNlV2lkdGgpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5oCmluZGV4IGUyODVkYjE5YTc5OThm
MDM0ZDgwZTJlMTRhOTc5YjkxZTU1MDIyYjEuLmY3OGE2MTRkOGY0YTk0MmZlZjg3Y2ZhODg4NDRk
NjY3NDEwYzU3NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
bGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuaApAQCAtMTYxLDcgKzE2MSw4IEBAIHBy
aXZhdGU6CiAKICAgICBjbGFzcyBJbmxpbmVJdGVtUnVuIHsKICAgICBwdWJsaWM6Ci0gICAgICAg
IElubGluZUl0ZW1SdW4oY29uc3QgSW5saW5lSXRlbSYsIElubGluZUxheW91dFVuaXQgbG9naWNh
bExlZnQsIElubGluZUxheW91dFVuaXQgbG9naWNhbFdpZHRoLCBXVEY6Ok9wdGlvbmFsPERpc3Bs
YXk6OlJ1bjo6VGV4dENvbnRleHQ+ID0gV1RGOjpudWxsb3B0KTsKKyAgICAgICAgSW5saW5lSXRl
bVJ1bihjb25zdCBJbmxpbmVJdGVtJiwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsTGVmdCwgSW5s
aW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgsIGJvb2wgaXNDb2xsYXBzZWQsIGJvb2wgaXNDb2xs
YXBzZWRUb1plcm9BZHZhbmNlV2lkdGgsIERpc3BsYXk6OlJ1bjo6VGV4dENvbnRleHQmJik7Cisg
ICAgICAgIElubGluZUl0ZW1SdW4oY29uc3QgSW5saW5lSXRlbSYsIElubGluZUxheW91dFVuaXQg
bG9naWNhbExlZnQsIElubGluZUxheW91dFVuaXQgbG9naWNhbFdpZHRoKTsKIAogICAgICAgICBj
b25zdCBCb3gmIGxheW91dEJveCgpIGNvbnN0IHsgcmV0dXJuIG1faW5saW5lSXRlbS5sYXlvdXRC
b3goKTsgfQogICAgICAgICBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUoKSBjb25zdCB7IHJldHVy
biBsYXlvdXRCb3goKS5zdHlsZSgpOyB9CkBAIC0xNzYsNyArMTc3LDYgQEAgcHJpdmF0ZToKICAg
ICAgICAgYm9vbCBpc0xpbmVCcmVhaygpIGNvbnN0IHsgcmV0dXJuIG1faW5saW5lSXRlbS5pc0xp
bmVCcmVhaygpOyB9CiAgICAgICAgIElubGluZUl0ZW06OlR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0
dXJuIG1faW5saW5lSXRlbS50eXBlKCk7IH0KIAotICAgICAgICB2b2lkIHNldElzQ29sbGFwc2Vk
KCkgeyBtX2lzQ29sbGFwc2VkID0gdHJ1ZTsgfQogICAgICAgICBib29sIGlzQ29sbGFwc2VkKCkg
Y29uc3QgeyByZXR1cm4gbV9pc0NvbGxhcHNlZDsgfQogCiAgICAgICAgIHZvaWQgbW92ZUhvcml6
b250YWxseShJbmxpbmVMYXlvdXRVbml0IG9mZnNldCkgeyBtX2xvZ2ljYWxMZWZ0ICs9IG9mZnNl
dDsgfQpAQCAtMjQyLDYgKzI0Miw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2hhc0ludHJ1c2l2
ZUZsb2F0IHsgZmFsc2UgfTsKICAgICBEaXNwbGF5OjpMaW5lQm94IG1fbGluZUJveDsKICAgICBP
cHRpb25hbDxib29sPiBtX2xpbmVJc1Zpc3VhbGx5RW1wdHlCZWZvcmVDb2xsYXBzaWJsZUNvbnRl
bnQ7CisgICAgYm9vbCBtX3Nob3VsZElnbm9yZVRyYWlsaW5nTGV0dGVyU3BhY2luZyB7IGZhbHNl
IH07CiB9OwogCiBpbmxpbmUgdm9pZCBMaW5lQnVpbGRlcjo6Q29sbGFwc2libGVDb250ZW50Ojpy
ZXNldCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVUZXh0SXRlbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVUZXh0SXRlbS5jcHAKaW5kZXggZGI1MWRkNGY2YmJhODQ3MmY3YmI3NjZhNWY2
Y2YyZmUzMDBkNThkZi4uNWRmMzAwMzMzMDg5MGVlODVkZjkzMmEzYjNlOTMxYmY2NTM3Y2Q2MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
VGV4dEl0ZW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5n
L0lubGluZVRleHRJdGVtLmNwcApAQCAtMTM4LDYgKzEzOCw3IEBAIElubGluZVRleHRJdGVtOjpJ
bmxpbmVUZXh0SXRlbShjb25zdCBCb3gmIGlubGluZUJveCwgdW5zaWduZWQgc3RhcnQsIHVuc2ln
bmVkIGxlCiAgICAgOiBJbmxpbmVJdGVtKGlubGluZUJveCwgVHlwZTo6VGV4dCkKICAgICAsIG1f
c3RhcnQoc3RhcnQpCiAgICAgLCBtX2xlbmd0aChsZW5ndGgpCisgICAgLCBtX2lzQ29sbGFwc2li
bGUodGV4dEl0ZW1UeXBlID09IFRleHRJdGVtVHlwZTo6V2hpdGVzcGFjZSAmJiBpbmxpbmVCb3gu
c3R5bGUoKS5jb2xsYXBzZVdoaXRlU3BhY2UoKSkKICAgICAsIG1fd2lkdGgod2lkdGgpCiAgICAg
LCBtX3RleHRJdGVtVHlwZSh0ZXh0SXRlbVR5cGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVUZXh0SXRlbS5oIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lVGV4dEl0ZW0uaAppbmRleCA2ZWQ1
OGFjZGNhYTY2NTE5ZTNiMzQyYzA4YTc5OWQxNWYxNmFmYWYxLi42ZDBmZTE3MWQ2YWU0ZTM5YjI2
YzZjMjg3MGE1MTQyYTQyMDI0Nzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW5saW5lZm9ybWF0dGluZy9JbmxpbmVUZXh0SXRlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZVRleHRJdGVtLmgKQEAgLTQ2LDcgKzQ2LDcgQEAg
cHVibGljOgogICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9
CiAKICAgICBib29sIGlzV2hpdGVzcGFjZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGV4dEl0ZW1UeXBl
ID09IFRleHRJdGVtVHlwZTo6V2hpdGVzcGFjZTsgfQotICAgIGJvb2wgaXNDb2xsYXBzaWJsZSgp
IGNvbnN0IHsgcmV0dXJuIGlzV2hpdGVzcGFjZSgpICYmIHN0eWxlKCkuY29sbGFwc2VXaGl0ZVNw
YWNlKCk7IH0KKyAgICBib29sIGlzQ29sbGFwc2libGUoKSBjb25zdCB7IHJldHVybiBtX2lzQ29s
bGFwc2libGU7IH0KICAgICBPcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiB3aWR0aCgpIGNvbnN0
IHsgcmV0dXJuIG1fd2lkdGg7IH0KICAgICBib29sIGlzRW1wdHlDb250ZW50KCkgY29uc3Q7CiAK
QEAgLTYwLDYgKzYwLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX3N0YXJ0
IHsgMCB9OwogICAgIHVuc2lnbmVkIG1fbGVuZ3RoIHsgMCB9OworICAgIGJvb2wgbV9pc0NvbGxh
cHNpYmxlIHsgZmFsc2UgfTsKICAgICBPcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBtX3dpZHRo
OwogICAgIFRleHRJdGVtVHlwZSBtX3RleHRJdGVtVHlwZSB7IFRleHRJdGVtVHlwZTo6VW5kZWZp
bmVkIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvdGV4dC9UZXh0VXRpbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy90ZXh0L1RleHRVdGlsLmNwcAppbmRleCA3ODJmNWJkNDhkMjY2YWMxMDk0MTc0NGQ4
YjI2ZTgyMjQyYzUyZTkwLi5lOGRiOWQ3Y2Q0OWQwOGUxMjVkNzBlYjM0MzkxNGZlYTg2YmZjODk2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy90ZXh0
L1RleHRVdGlsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy90ZXh0L1RleHRVdGlsLmNwcApAQCAtMTI4LDEyICsxMjgsNiBAQCBUZXh0VXRpbDo6U3BsaXRE
YXRhIFRleHRVdGlsOjpzcGxpdChjb25zdCBCb3gmIGlubGluZUJveCwgdW5zaWduZWQgc3RhcnRQ
b3NpdGlvbgogICAgIHJldHVybiB7IHN0YXJ0UG9zaXRpb24sIHJpZ2h0IC0gc3RhcnRQb3NpdGlv
biwgbGVmdFNpZGVXaWR0aCB9OwogfQogCi1ib29sIFRleHRVdGlsOjpzaG91bGRQcmVzZXJ2ZVRy
YWlsaW5nV2hpdGVzcGFjZShjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCi17Ci0gICAgYXV0byB3
aGl0ZXNwYWNlID0gc3R5bGUud2hpdGVTcGFjZSgpOwotICAgIHJldHVybiB3aGl0ZXNwYWNlID09
IFdoaXRlU3BhY2U6OlByZSB8fCB3aGl0ZXNwYWNlID09IFdoaXRlU3BhY2U6OlByZVdyYXAgfHwg
d2hpdGVzcGFjZSA9PSBXaGl0ZVNwYWNlOjpCcmVha1NwYWNlczsKLX0KLQogdW5zaWduZWQgVGV4
dFV0aWw6OmZpbmROZXh0QnJlYWthYmxlUG9zaXRpb24oTGF6eUxpbmVCcmVha0l0ZXJhdG9yJiBs
aW5lQnJlYWtJdGVyYXRvciwgdW5zaWduZWQgc3RhcnRQb3NpdGlvbiwgY29uc3QgUmVuZGVyU3R5
bGUmIHN0eWxlKQogewogICAgIGF1dG8ga2VlcEFsbFdvcmRzRm9yQ0pLID0gc3R5bGUud29yZEJy
ZWFrKCkgPT0gV29yZEJyZWFrOjpLZWVwQWxsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2lubGluZWZvcm1hdHRpbmcvdGV4dC9UZXh0VXRpbC5oIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2lubGluZWZvcm1hdHRpbmcvdGV4dC9UZXh0VXRpbC5oCmluZGV4IDBlMWI2OTVkZTMy
MTM4MzdhZjNiYzE4NTM2ZWNjMzlhZDIxODA4MmEuLmM0MGU1ZWZiODgzNDllYzZhNWFiMWFjN2Zi
N2VjM2ExMTMwOGRmNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVm
b3JtYXR0aW5nL3RleHQvVGV4dFV0aWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy90ZXh0L1RleHRVdGlsLmgKQEAgLTU2LDYgKzU2LDEyIEBAIHByaXZhdGU6
CiAgICAgc3RhdGljIElubGluZUxheW91dFVuaXQgZml4ZWRQaXRjaFdpZHRoKGNvbnN0IFN0cmlu
Z1ZpZXcmLCBjb25zdCBSZW5kZXJTdHlsZSYsIHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIHRvLCBJ
bmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsTGVmdCk7CiB9OwogCitpbmxpbmUgYm9vbCBU
ZXh0VXRpbDo6c2hvdWxkUHJlc2VydmVUcmFpbGluZ1doaXRlc3BhY2UoY29uc3QgUmVuZGVyU3R5
bGUmIHN0eWxlKQoreworICAgIGF1dG8gd2hpdGVzcGFjZSA9IHN0eWxlLndoaXRlU3BhY2UoKTsK
KyAgICByZXR1cm4gd2hpdGVzcGFjZSA9PSBXaGl0ZVNwYWNlOjpQcmUgfHwgd2hpdGVzcGFjZSA9
PSBXaGl0ZVNwYWNlOjpQcmVXcmFwIHx8IHdoaXRlc3BhY2UgPT0gV2hpdGVTcGFjZTo6QnJlYWtT
cGFjZXM7Cit9CisKIH0KIH0KICNlbmRpZgo=
</data>
<flag name="review"
          id="403778"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>