<?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>203395</bug_id>
          
          <creation_ts>2019-10-24 20:36:20 -0700</creation_ts>
          <short_desc>[LFC][IFC] Add support for preserved new line (pre, pre-wrap, break-spaces, pre-line)</short_desc>
          <delta_ts>2019-10-25 08:12:47 -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>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>1583641</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-10-24 20:36:20 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583642</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-24 20:36:37 -0700</bug_when>
    <thetext>&lt;rdar://problem/56606243&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583651</commentid>
    <comment_count>2</comment_count>
      <attachid>381874</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-10-24 21:10:18 -0700</bug_when>
    <thetext>Created attachment 381874
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583817</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-10-25 08:12:47 -0700</bug_when>
    <thetext>Committed r251590: &lt;https://trac.webkit.org/changeset/251590&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381874</attachid>
            <date>2019-10-24 21:10:18 -0700</date>
            <delta_ts>2019-10-25 07:40:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203395-20191024211017.patch</filename>
            <type>text/plain</type>
            <size>21286</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWMxYjA4Mzg1NmQ2MzMz
NmFkMmZmZmQ0MWY0YjUyYTYxZTVmYmIxYi4uYzZjNTQyZWRlNjg2ZTcwYTdmYTBjZWJhNDJlZWFl
NDJjZDk3Mjg5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE5LTEwLTI0ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBBZGQgc3Vw
cG9ydCBmb3IgcHJlc2VydmVkIG5ldyBsaW5lIChwcmUsIHByZS13cmFwLCBicmVhay1zcGFjZXMs
IHByZS1saW5lKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjAzMzk1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NjYwNjI0Mz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICA8cHJlPkxldCdzIHdyYXAgdGhl
IGxpbmUKKyAgICAgICAgd2hlbiB0aGUgaW5saW5lIGl0ZW0ncyB0eXBlIGlzIGZvcmNlZCBsaW5l
IGJyZWFrLjwvcHJlPgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGxheW91dC9MYXlvdXRDb250
ZXh0Lmg6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6Y29sbGVjdElubGluZUNvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6c2V0RGlzcGxheUJveGVzRm9yTGluZSk6CisgICAg
ICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRRdWly
a3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4
dDo6UXVpcmtzOjpsaW5lRGVzY2VudE5lZWRzQ29sbGFwc2luZyBjb25zdCk6CisgICAgICAgICog
bGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lSXRlbS5jcHA6IENvcGllZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRpbmcvVGFibGVJbnZhbGlkYXRpb24uY3BwLgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVJdGVtOjppc0ZvcmNlZExpbmVCcmVhayBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUl0ZW06OmlzVGV4dCBjb25z
dCk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lSXRlbS5oOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVJdGVtOjppc0JveCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUl0ZW06OmlzVGV4dCBjb25zdCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUl0ZW06OmlzSGFyZExpbmVCcmVhayBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUl0ZW06OmlzTGlu
ZUJyZWFrIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVMaW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6Y2xvc2Up
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjphbGlnbkNvbnRlbnRWZXJ0aWNhbGx5
KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6YXBwZW5kKToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6TGluZTo6YXBwZW5kTGluZUJyZWFrKToKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGluZTo6YWRqdXN0QmFzZWxpbmVBbmRMaW5lSGVpZ2h0KToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6TGluZTo6aW5saW5lSXRlbUNvbnRlbnRIZWlnaHQgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjphcHBlbmRIYXJkTGluZUJyZWFrKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmg6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OlJ1bjo6aXNUZXh0IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6TGluZTo6UnVuOjppc0ZvcmNlZExpbmVCcmVhayBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OlJ1bjo6aXNMaW5lQnJlYWsgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVMYXlv
dXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjppbmxpbmVJdGVtV2lkdGgpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lTGF5b3V0OjpwbGFjZUlubGluZUl0ZW0pOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lTGF5b3V0OjpzaG91bGRQcm9jZXNzVW5jb21taXR0
ZWRDb250ZW50IGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVUZXh0SXRlbS5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVUZXh0SXRlbTo6
aXNTZWdtZW50QnJlYWsgY29uc3QpOgorICAgICAgICAqIGxheW91dC90YWJsZWZvcm1hdHRpbmcv
VGFibGVJbnZhbGlkYXRpb24uY3BwOgorCiAyMDE5LTEwLTI0ICBaYWxhbiBCdWp0YXMgIDx6YWxh
bkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBBZGQgc3VwcG9ydCBmb3IgcGFydGlh
bCBsZWFkaW5nIGFuZCB0cmFpbGluZyBjb250ZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGVkYjYzMGRi
MmNlODdiNTYzYjkyNDIyZTYxNDE0Nzg4OGQzZmZmN2YuLjA3ZDg0OGI2ODcwYzdmODk4N2Y4YzMy
Y2ViMDgzNDM4YzE1NWI4NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xNDM4LDYgKzE0MzgsNyBAQCBs
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNw
cAogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRRdWlya3Mu
Y3BwCiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nU3RhdGUuY3BwCiBs
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVJbnZhbGlkYXRpb24uY3BwCitsYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVJdGVtLmNwcAogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5s
aW5lTGluZS5jcHAKIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCcmVha2VyLmNw
cAogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUxheW91dC5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAzOWNl
YmVjMzMwOTZiMDNjZTUwMDg3ZGY0ZDY1ODQ1ZWE2MjM4NzlkLi40NGY0MGUzMmYwY2QyYWNhZDM5
OWE2NjhiYzVmN2NkNzUxYWJhOTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05MjI1LDYgKzkyMjUsNyBAQAogCQk2RjczOTE4
QzIxMDZDRUREMDA2QUYyNjIgLyogTGF5b3V0VW5pdHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5b3V0
VW5pdHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkY3Nzg2ODUyMzQ5MUFDNjAw
NEQ5NjM2IC8qIERpc3BsYXlQYWludGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpc3BsYXlQ
YWludGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkY3Nzg2ODcyMzQ5MUFE
NzAwNEQ5NjM2IC8qIERpc3BsYXlQYWludGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IERpc3BsYXlQYWludGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZG
N0I4Q0VDMjM2MjZFNjYwMEM5RkYxNSAvKiBJbmxpbmVJdGVtLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IElubGluZUl0ZW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RjdDQTND
NDIwOEMyOTU2MDAyRjI5QUIgLyogTGF5b3V0U3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5b3V0
U3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkY3Q0EzQzUyMDhDMjk1NjAw
MkYyOUFCIC8qIExheW91dFN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dFN0YXRl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkY3Q0EzQzgyMDhDMkIyRTAwMkYy
OUFCIC8qIElubGluZUZvcm1hdHRpbmdDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElubGluZUZv
cm1hdHRpbmdDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjYwNCw2
ICsxNjYwNSw3IEBACiAJCQkJMTE1Q0ZBN0MyMDhCOEUxMDAwMUU2OTkxIC8qIElubGluZUZvcm1h
dHRpbmdTdGF0ZS5oICovLAogCQkJCTExMjNBRkREMjA5QUJCQkEwMDczNkFDQyAvKiBJbmxpbmVJ
bnZhbGlkYXRpb24uY3BwICovLAogCQkJCTExMjNBRkRDMjA5QUJCQkEwMDczNkFDQyAvKiBJbmxp
bmVJbnZhbGlkYXRpb24uaCAqLywKKwkJCQk2RjdCOENFQzIzNjI2RTY2MDBDOUZGMTUgLyogSW5s
aW5lSXRlbS5jcHAgKi8sCiAJCQkJNkZFN0NGQTAyMTc3RUVGMTAwNUIxNTczIC8qIElubGluZUl0
ZW0uaCAqLywKIAkJCQk2RjBDRDY5MjIyOUVEMzE5MDBDNTk5NEUgLyogSW5saW5lTGluZS5jcHAg
Ki8sCiAJCQkJNkYwQ0Q2OTQyMjlFRDMyNzAwQzU5OTRFIC8qIElubGluZUxpbmUuaCAqLywKQEAg
LTI5MDUwLDcgKzI5MDUyLDYgQEAKIAkJCQk3NTlDQjgzNzE5MkRBOTE5MDAxMkJDNjQgLyogQ29u
dHJvbFN0YXRlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwMjkxMkIwMjY3NjAwQzFBMzU5
IC8qIENvbnZvbHZlck5vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUQ4QjYxNTJGMTAzMjQ5NTEw
MEM4NTU0QSAvKiBDb29raWUuaCBpbiBIZWFkZXJzICovLAotCQkJCUU0QUJBQkU0MjM2MUEzMjkw
MEZBNDM0NSAvKiBQcm9wZXJ0eUNhc2NhZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNDI0Qzk0
MTY0QjUyQzgwMEYzMkQ0MCAvKiBDb29raWVKYXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBNTY5
OTcwMjA4NkM2MTkwMDBFMDQzMyAvKiBDb29raWVSZXF1ZXN0SGVhZGVyRmllbGRQcm94eS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMzNEMDIxMkQxMzFEQjM3QjAwNDA5MUE4IC8qIENvb2tpZVN0b3Jh
Z2UuaCBpbiBIZWFkZXJzICovLApAQCAtMzE0ODUsNiArMzE0ODYsNyBAQAogCQkJCTFBQ0FERDc5
MTg4MEQ5MUMwMEQ4QjcxRCAvKiBQcm9ncmVzc1RyYWNrZXJDbGllbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUY0N0E2MzNEMUZGNkZENTAwMDgxQjNDQyAvKiBQcm9taXNlZEF0dGFjaG1lbnRJbmZv
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTc4RjQzNTFERTAwRUVCMDAzREZDNkEgLyogUHJvbWlz
ZVJlamVjdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlFNEFCQUJFNDIzNjFBMzI5MDBG
QTQzNDUgLyogUHJvcGVydHlDYXNjYWRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNEJCRUQwRjE0
RjQwMjVEMDAzRjBCOTggLyogUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkzN0JBQUU1ODE5ODBEMUREMDA1REZFNzEgLyogUHJvdGVjdGlvblNwYWNl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTRDNzY3NTBDRTkyM0ExMDA3RUYzQ0QgLyogUHJvdGVj
dGlvblNwYWNlQmFzZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvTGF5b3V0Q29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dENv
bnRleHQuaAppbmRleCAxNDE1YWMxZTcyYzEzNDg2ZTU3MTI4ODIwMjQyZDk5NTVmODhhZTIyLi42
OGJkODIyNDZkMTg0MmU5MjViOTUzMWQ3ZjdlMzU5ZDgxNmYzNTc1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0Q29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9MYXlvdXRDb250ZXh0LmgKQEAgLTMzLDYgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCitjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiBjbGFzcyBSZW5kZXJWaWV3OwogCiBuYW1l
c3BhY2UgTGF5b3V0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCAx
OWU1ZGEzMjUyNjk2MTk2YWUxMDEzYTZlZTI0N2RkN2NmMzIwMTQxLi40MGI2OTdmNGVmYWI5ZTRi
ZWUwMmQzMWNlZDUwZDBlNjI1OTNjMzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuY3BwCkBAIC0zNTMsNyArMzUzLDcgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6
Y29sbGVjdElubGluZUNvbnRlbnQoKQogICAgICAgICAgICAgaWYgKHRyZWF0QXNJbmxpbmVDb250
YWluZXIobGF5b3V0Qm94KSkKICAgICAgICAgICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkSW5s
aW5lSXRlbShtYWtlVW5pcXVlPElubGluZUl0ZW0+KGxheW91dEJveCwgSW5saW5lSXRlbTo6VHlw
ZTo6Q29udGFpbmVyRW5kKSk7CiAgICAgICAgICAgICBlbHNlIGlmIChsYXlvdXRCb3guaXNMaW5l
QnJlYWtCb3goKSkKLSAgICAgICAgICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkSW5saW5lSXRl
bShtYWtlVW5pcXVlPElubGluZUl0ZW0+KGxheW91dEJveCwgSW5saW5lSXRlbTo6VHlwZTo6SGFy
ZExpbmVCcmVhaykpOworICAgICAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRJbmxpbmVJ
dGVtKG1ha2VVbmlxdWU8SW5saW5lSXRlbT4obGF5b3V0Qm94LCBJbmxpbmVJdGVtOjpUeXBlOjpM
aW5lQnJlYWtCb3gpKTsKICAgICAgICAgICAgIGVsc2UgaWYgKGxheW91dEJveC5pc0Zsb2F0aW5n
UG9zaXRpb25lZCgpKQogICAgICAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRJbmxpbmVJ
dGVtKG1ha2VVbmlxdWU8SW5saW5lSXRlbT4obGF5b3V0Qm94LCBJbmxpbmVJdGVtOjpUeXBlOjpG
bG9hdCkpOwogICAgICAgICAgICAgZWxzZSB7CkBAIC00NDksNyArNDQ5LDcgQEAgdm9pZCBJbmxp
bmVGb3JtYXR0aW5nQ29udGV4dDo6c2V0RGlzcGxheUJveGVzRm9yTGluZShjb25zdCBMaW5lTGF5
b3V0OjpMaW5lQ29udGUKICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gbGluZVJ1bi0+bGF5b3V0
Qm94KCk7CiAgICAgICAgIGF1dG8mIGRpc3BsYXlCb3ggPSBmb3JtYXR0aW5nU3RhdGUuZGlzcGxh
eUJveChsYXlvdXRCb3gpOwogCi0gICAgICAgIGlmIChsaW5lUnVuLT5pc0xpbmVCcmVhaygpKSB7
CisgICAgICAgIGlmIChsaW5lUnVuLT5pc0ZvcmNlZExpbmVCcmVhaygpKSB7CiAgICAgICAgICAg
ICBkaXNwbGF5Qm94LnNldFRvcExlZnQobG9naWNhbFJlY3QudG9wTGVmdCgpKTsKICAgICAgICAg
ICAgIGRpc3BsYXlCb3guc2V0Q29udGVudEJveFdpZHRoKGxvZ2ljYWxSZWN0LndpZHRoKCkpOwog
ICAgICAgICAgICAgZGlzcGxheUJveC5zZXRDb250ZW50Qm94SGVpZ2h0KGxvZ2ljYWxSZWN0Lmhl
aWdodCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcApp
bmRleCAyZjVlNWJiYzIxMTFhYzA3ZjM0NDQ1NjZkYWY1MDAyN2M2NWI4YmYzLi5jMWMyNzA1Yjk1
ODk2MWI1MGI5ODdjNzBjYTI4ZDE0ZTI4M2I1YWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9y
bWF0dGluZ0NvbnRleHRRdWlya3MuY3BwCkBAIC00Nyw3ICs0Nyw3IEBAIGJvb2wgSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6bGluZURlc2NlbnROZWVkc0NvbGxhcHNpbmcoY29uc3Qg
TGluZTo6UnVuCiAgICAgICAgIGlmIChydW4tPmlzQ29udGFpbmVyRW5kKCkgfHwgbGF5b3V0Qm94
LnN0eWxlKCkudmVydGljYWxBbGlnbigpICE9IFZlcnRpY2FsQWxpZ246OkJhc2VsaW5lKQogICAg
ICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgaWYgKHJ1bi0+aXNMaW5lQnJlYWsoKSkKKyAg
ICAgICAgaWYgKHJ1bi0+aXNGb3JjZWRMaW5lQnJlYWsoKSkKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAgICAgaWYgKHJ1bi0+aXNUZXh0KCkpIHsKICAgICAgICAgICAgIGlmICghcnVu
LT5pc1Zpc3VhbGx5RW1wdHkoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bmxpbmVmb3JtYXR0aW5nL0lubGluZUl0ZW0uY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
bGluZWZvcm1hdHRpbmcvSW5saW5lSXRlbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjE2ODk4MDYyMGQ0Mjhh
NzA2ZmZmMjhkMWQwMTQ4NGE3M2RkYTBkNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUl0ZW0uY3BwCkBAIC0wLDAgKzEsNTQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSW5saW5lSXRl
bS5oIgorCisjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCisKKyNpbmNsdWRl
ICJJbmxpbmVUZXh0SXRlbS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgTGF5
b3V0IHsKKworYm9vbCBJbmxpbmVJdGVtOjppc0ZvcmNlZExpbmVCcmVhaygpIGNvbnN0Cit7Cisg
ICAgaWYgKHR5cGUoKSA9PSBUeXBlOjpMaW5lQnJlYWtCb3gpCisgICAgICAgIHJldHVybiB0cnVl
OworICAgIGlmICh0eXBlKCkgIT0gVHlwZTo6VGV4dCB8fCAhc3RhdGljX2Nhc3Q8Y29uc3QgSW5s
aW5lVGV4dEl0ZW0qPih0aGlzKS0+aXNTZWdtZW50QnJlYWsoKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIC8vIFNlZ21lbnQgYnJlYWsgd2l0aCBwcmVzZXJ2ZSBuZXcgbGluZSBzdHlsZSAo
d2hpdGUtc3BhY2U6IHByZSwgcHJlLXdyYXAsIGJyZWFrLXNwYWNlcyBhbmQgcHJlLWxpbmUpCisg
ICAgcmV0dXJuIHN0eWxlKCkucHJlc2VydmVOZXdsaW5lKCk7Cit9CisKK2Jvb2wgSW5saW5lSXRl
bTo6aXNUZXh0KCkgY29uc3QKK3sKKyAgICAvLyBJZiB0aGlzIHNldHVwIHR1cm5zIG91dCB0byBi
ZSBhIHBlcmYgaGl0LCB3ZSBjb3VsZCBlYXNpbHkgc3dpdGNoIG92ZXIgdG8gZ2VuZXJhdGUtdGhl
LW5hcnJvdy10eXBlIHdheS4KKyAgICByZXR1cm4gdHlwZSgpID09IFR5cGU6OlRleHQgJiYgIWlz
Rm9yY2VkTGluZUJyZWFrKCk7Cit9CisKK30KK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lSXRlbS5oIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lSXRlbS5oCmluZGV4IDc5MDYxOTY4
MWU2NzUyZDI4NzI0OTM4NjIyZTNhNzRiZTAzM2ZmMzQuLjhlMTA3YzkwNTQ1ZDliMzYxODcyYTIz
OGY4YmM4OWVmNzEyMTQyMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUl0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVJdGVtLmgKQEAgLTM2LDE4ICszNiwxNyBAQCBuYW1lc3BhY2Ug
TGF5b3V0IHsKIGNsYXNzIElubGluZUl0ZW0gOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8SW5saW5l
SXRlbT4gewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIGVudW0g
Y2xhc3MgVHlwZSB7IFRleHQsIEhhcmRMaW5lQnJlYWssIEJveCwgRmxvYXQsIENvbnRhaW5lclN0
YXJ0LCBDb250YWluZXJFbmQgfTsKKyAgICBlbnVtIGNsYXNzIFR5cGUgeyBUZXh0LCBMaW5lQnJl
YWtCb3gsIEJveCwgRmxvYXQsIENvbnRhaW5lclN0YXJ0LCBDb250YWluZXJFbmQgfTsKICAgICBJ
bmxpbmVJdGVtKGNvbnN0IEJveCYgbGF5b3V0Qm94LCBUeXBlKTsKIAogICAgIFR5cGUgdHlwZSgp
IGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogICAgIGNvbnN0IEJveCYgbGF5b3V0Qm94KCkgY29u
c3QgeyByZXR1cm4gbV9sYXlvdXRCb3g7IH0KICAgICBjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUo
KSBjb25zdCB7IHJldHVybiBtX2xheW91dEJveC5zdHlsZSgpOyB9CiAKLSAgICBib29sIGlzVGV4
dCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpUZXh0OyB9CisgICAgYm9vbCBpc1Rl
eHQoKSBjb25zdDsKICAgICBib29sIGlzQm94KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5
cGU6OkJveDsgfQotICAgIGJvb2wgaXNIYXJkTGluZUJyZWFrKCkgY29uc3QgeyByZXR1cm4gdHlw
ZSgpID09IFR5cGU6OkhhcmRMaW5lQnJlYWs7IH0KICAgICBib29sIGlzRmxvYXQoKSBjb25zdCB7
IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6RmxvYXQ7IH0KLSAgICBib29sIGlzTGluZUJyZWFrKCkg
Y29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OkhhcmRMaW5lQnJlYWs7IH0KKyAgICBib29s
IGlzRm9yY2VkTGluZUJyZWFrKCkgY29uc3Q7CiAgICAgYm9vbCBpc0NvbnRhaW5lclN0YXJ0KCkg
Y29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OkNvbnRhaW5lclN0YXJ0OyB9CiAgICAgYm9v
bCBpc0NvbnRhaW5lckVuZCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpDb250YWlu
ZXJFbmQ7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lTGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVMaW5lLmNwcAppbmRleCAwNTk2MzJjYTBmZGE2YzMzYWMxOTA5NjUxN2QxMjFk
Y2IxZjAwNjc2Li5hZTA2NGJlYzRkNzA1NTliOWIzMzQ2NGU0YjhkODQ3OGE0MzlmNWVlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5l
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVM
aW5lLmNwcApAQCAtMTM4LDggKzEzOCwxMCBAQCBMaW5lOjpSdW5MaXN0IExpbmU6OmNsb3NlKCkK
ICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIGF1dG8mIGN1cnJlbnRS
dW4gPSBtX3J1bkxpc3RbaW5kZXhdOwotICAgICAgICBpZiAoJmN1cnJlbnRSdW4tPmxheW91dEJv
eCgpICE9ICZwcmV2aW91c1J1bi0+bGF5b3V0Qm94KCkpIHsKLSAgICAgICAgICAgIC8vIERvIG5v
dCBtZXJnZSBydW5zIGZyb20gZGlmZmVyZW50IGJveGVzICg8c3Bhbj5mb288L3NwYW4+PHNwYW4+
YmFyPC9zcGFuPikuCisgICAgICAgIGlmICghY3VycmVudFJ1bi0+aXNUZXh0KCkgfHwgJmN1cnJl
bnRSdW4tPmxheW91dEJveCgpICE9ICZwcmV2aW91c1J1bi0+bGF5b3V0Qm94KCkpIHsKKyAgICAg
ICAgICAgIC8vIERvIG5vdCBtZXJnZSBydW5zIGZyb20gZGlmZmVyZW50IGJveGVzICg8c3Bhbj5m
b288L3NwYW4+PHNwYW4+YmFyPC9zcGFuPikKKyAgICAgICAgICAgIC8vIG9yIHdpdGhpbiB0aGUg
c2FtZSBsYXlvdXQgYm94IGJ1dCB3aXRoIHByZXNlcnZlZCBcbgorICAgICAgICAgICAgLy8gKDxz
cGFuPnRleHRcbjxzcGFuIDwtIGJvdGggdGhlICJ0ZXh0IiBhbmQgIlwiIGJlbG9uZyB0byB0aGUg
c2FtZSBsYXlvdXQgYm94KQogICAgICAgICAgICAgKytpbmRleDsKICAgICAgICAgICAgIGNvbnRp
bnVlOwogICAgICAgICB9CkBAIC0xODMsNyArMTg1LDcgQEAgdm9pZCBMaW5lOjphbGlnbkNvbnRl
bnRWZXJ0aWNhbGx5KCkKIAogICAgICAgICBzd2l0Y2ggKHZlcnRpY2FsQWxpZ24pIHsKICAgICAg
ICAgY2FzZSBWZXJ0aWNhbEFsaWduOjpCYXNlbGluZToKLSAgICAgICAgICAgIGlmIChydW4tPmlz
TGluZUJyZWFrKCkgfHwgcnVuLT5pc1RleHQoKSkKKyAgICAgICAgICAgIGlmIChydW4tPmlzRm9y
Y2VkTGluZUJyZWFrKCkgfHwgcnVuLT5pc1RleHQoKSkKICAgICAgICAgICAgICAgICBsb2dpY2Fs
VG9wID0gYmFzZWxpbmVPZmZzZXQoKSAtIGFzY2VudDsKICAgICAgICAgICAgIGVsc2UgaWYgKHJ1
bi0+aXNDb250YWluZXJTdGFydCgpKSB7CiAgICAgICAgICAgICAgICAgYXV0byYgYm94R2VvbWV0
cnkgPSBmb3JtYXR0aW5nQ29udGV4dC5nZW9tZXRyeUZvckJveChsYXlvdXRCb3gpOwpAQCAtMzAz
LDggKzMwNSw4IEBAIExheW91dFVuaXQgTGluZTo6dHJhaWxpbmdUcmltbWFibGVXaWR0aCgpIGNv
bnN0CiAKIHZvaWQgTGluZTo6YXBwZW5kKGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0sIExh
eW91dFVuaXQgbG9naWNhbFdpZHRoKQogewotICAgIGlmIChpbmxpbmVJdGVtLmlzSGFyZExpbmVC
cmVhaygpKQotICAgICAgICByZXR1cm4gYXBwZW5kSGFyZExpbmVCcmVhayhpbmxpbmVJdGVtKTsK
KyAgICBpZiAoaW5saW5lSXRlbS5pc0ZvcmNlZExpbmVCcmVhaygpKQorICAgICAgICByZXR1cm4g
YXBwZW5kTGluZUJyZWFrKGlubGluZUl0ZW0pOwogICAgIGlmIChpczxJbmxpbmVUZXh0SXRlbT4o
aW5saW5lSXRlbSkpCiAgICAgICAgIHJldHVybiBhcHBlbmRUZXh0Q29udGVudChkb3duY2FzdDxJ
bmxpbmVUZXh0SXRlbT4oaW5saW5lSXRlbSksIGxvZ2ljYWxXaWR0aCk7CiAgICAgaWYgKGlubGlu
ZUl0ZW0uaXNDb250YWluZXJTdGFydCgpKQpAQCAtNDMwLDcgKzQzMiw3IEBAIHZvaWQgTGluZTo6
YXBwZW5kUmVwbGFjZWRJbmxpbmVCb3goY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSwgTGF5
b3V0VW5pdCBsb2dpCiAgICAgICAgIG1fcnVuTGlzdC5sYXN0KCktPm1fZGlzcGxheVJ1bi5zZXRJ
bWFnZSgqcmVwbGFjZWQtPmNhY2hlZEltYWdlKCkpOwogfQogCi12b2lkIExpbmU6OmFwcGVuZEhh
cmRMaW5lQnJlYWsoY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSkKK3ZvaWQgTGluZTo6YXBw
ZW5kTGluZUJyZWFrKGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0pCiB7CiAgICAgYXV0byBs
b2dpY2FsUmVjdCA9IERpc3BsYXk6OlJlY3QgeyB9OwogICAgIGxvZ2ljYWxSZWN0LnNldExlZnQo
Y29udGVudExvZ2ljYWxXaWR0aCgpKTsKQEAgLTQ2Niw3ICs0NjgsNyBAQCB2b2lkIExpbmU6OmFk
anVzdEJhc2VsaW5lQW5kTGluZUhlaWdodChjb25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtKQog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKGlubGluZUl0ZW0uaXNUZXh0KCkgfHwg
aW5saW5lSXRlbS5pc0hhcmRMaW5lQnJlYWsoKSkgeworICAgIGlmIChpbmxpbmVJdGVtLmlzVGV4
dCgpIHx8IGlubGluZUl0ZW0uaXNGb3JjZWRMaW5lQnJlYWsoKSkgewogICAgICAgICAvLyBGb3Ig
dGV4dCBjb250ZW50IHdlIHNldCB0aGUgYmFzZWxpbmUgZWl0aGVyIHRocm91Z2ggdGhlIGluaXRp
YWwgc3RydXQgKHNldCBieSB0aGUgZm9ybWF0dGluZyBjb250ZXh0IHJvb3QpIG9yCiAgICAgICAg
IC8vIHRocm91Z2ggdGhlIGlubGluZSBjb250YWluZXIgKHN0YXJ0KSAtc2VlIGFib3ZlLiBOb3Jt
YWxseSB0aGUgdGV4dCBjb250ZW50IGl0c2VsZiBkb2VzIG5vdCBzdHJldGNoIHRoZSBsaW5lLgog
ICAgICAgICBpZiAoIW1faW5pdGlhbFN0cnV0KQpAQCAtNTMxLDcgKzUzMyw3IEBAIExheW91dFVu
aXQgTGluZTo6aW5saW5lSXRlbUNvbnRlbnRIZWlnaHQoY29uc3QgSW5saW5lSXRlbSYgaW5saW5l
SXRlbSkgY29uc3QKIHsKICAgICBBU1NFUlQoIW1fc2tpcEFsaWdubWVudCk7CiAgICAgYXV0byYg
Zm9udE1ldHJpY3MgPSBpbmxpbmVJdGVtLnN0eWxlKCkuZm9udE1ldHJpY3MoKTsKLSAgICBpZiAo
aW5saW5lSXRlbS5pc0xpbmVCcmVhaygpIHx8IGlzPElubGluZVRleHRJdGVtPihpbmxpbmVJdGVt
KSkKKyAgICBpZiAoaW5saW5lSXRlbS5pc0ZvcmNlZExpbmVCcmVhaygpIHx8IGlzPElubGluZVRl
eHRJdGVtPihpbmxpbmVJdGVtKSkKICAgICAgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmhlaWdodCgp
OwogCiAgICAgYXV0byYgbGF5b3V0Qm94ID0gaW5saW5lSXRlbS5sYXlvdXRCb3goKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmUu
aCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmUuaApp
bmRleCAxYjFmNmM3YzcxMGYyZTcyZTU2ZmJmNzE5ODMyNWM3NTkxZGJkMWJkLi41MjdkNDFmNWY2
N2M0YzFjM2NkMWQ5ZGJlYTJiMTI3ZWI5YjlhZmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZS5oCkBAIC03Niw5ICs3Niw5IEBA
IHB1YmxpYzoKICAgICAgICAgYm9vbCBpc1Zpc3VhbGx5RW1wdHkoKSBjb25zdCB7IHJldHVybiBt
X2lzVmlzdWFsbHlFbXB0eTsgfQogICAgICAgICBib29sIGlzQ29sbGFwc2VkKCkgY29uc3QgeyBy
ZXR1cm4gbV9pc0NvbGxhcHNlZDsgfQogCi0gICAgICAgIGJvb2wgaXNUZXh0KCkgY29uc3QgeyBy
ZXR1cm4gbV9pbmxpbmVJdGVtLmlzVGV4dCgpOyB9CisgICAgICAgIGJvb2wgaXNUZXh0KCkgY29u
c3QgeyByZXR1cm4gbV9pbmxpbmVJdGVtLmlzVGV4dCgpICYmICFpc0ZvcmNlZExpbmVCcmVhaygp
OyB9CiAgICAgICAgIGJvb2wgaXNCb3goKSBjb25zdCB7IHJldHVybiBtX2lubGluZUl0ZW0uaXNC
b3goKTsgfQotICAgICAgICBib29sIGlzTGluZUJyZWFrKCkgY29uc3QgeyByZXR1cm4gbV9pbmxp
bmVJdGVtLmlzTGluZUJyZWFrKCk7IH0KKyAgICAgICAgYm9vbCBpc0ZvcmNlZExpbmVCcmVhaygp
IGNvbnN0IHsgcmV0dXJuIG1faW5saW5lSXRlbS5pc0ZvcmNlZExpbmVCcmVhaygpOyB9CiAgICAg
ICAgIGJvb2wgaXNDb250YWluZXJTdGFydCgpIGNvbnN0IHsgcmV0dXJuIG1faW5saW5lSXRlbS5p
c0NvbnRhaW5lclN0YXJ0KCk7IH0KICAgICAgICAgYm9vbCBpc0NvbnRhaW5lckVuZCgpIGNvbnN0
IHsgcmV0dXJuIG1faW5saW5lSXRlbS5pc0NvbnRhaW5lckVuZCgpOyB9CiAKQEAgLTEyNiw3ICsx
MjYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgYXBwZW5kUmVwbGFjZWRJbmxpbmVCb3goY29uc3Qg
SW5saW5lSXRlbSYsIExheW91dFVuaXQgbG9naWNhbFdpZHRoKTsKICAgICB2b2lkIGFwcGVuZElu
bGluZUNvbnRhaW5lclN0YXJ0KGNvbnN0IElubGluZUl0ZW0mLCBMYXlvdXRVbml0IGxvZ2ljYWxX
aWR0aCk7CiAgICAgdm9pZCBhcHBlbmRJbmxpbmVDb250YWluZXJFbmQoY29uc3QgSW5saW5lSXRl
bSYsIExheW91dFVuaXQgbG9naWNhbFdpZHRoKTsKLSAgICB2b2lkIGFwcGVuZEhhcmRMaW5lQnJl
YWsoY29uc3QgSW5saW5lSXRlbSYpOworICAgIHZvaWQgYXBwZW5kTGluZUJyZWFrKGNvbnN0IElu
bGluZUl0ZW0mKTsKIAogICAgIHZvaWQgcmVtb3ZlVHJhaWxpbmdUcmltbWFibGVDb250ZW50KCk7
CiAgICAgdm9pZCBhbGlnbkNvbnRlbnRIb3Jpem9udGFsbHkoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVMYXlvdXQuY3BwIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUxheW91dC5j
cHAKaW5kZXggZmZiOWNmMzQ0MWI5MTBiMWY4ZGE1ODY4ZjhhYWZmMTdmMmNkM2ZkYi4uMjhmM2Jj
ZmZiYTU2MTllMTMwMGZhMWRiNDM5NmQ0NzBkMWYxYzE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUxheW91dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUxheW91dC5j
cHAKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIExheW91dCB7CiAKIHN0YXRpYyBMYXlvdXRV
bml0IGlubGluZUl0ZW1XaWR0aChjb25zdCBGb3JtYXR0aW5nQ29udGV4dCYgZm9ybWF0dGluZ0Nv
bnRleHQsIGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0sIExheW91dFVuaXQgY29udGVudExv
Z2ljYWxMZWZ0KQogewotICAgIGlmIChpbmxpbmVJdGVtLmlzTGluZUJyZWFrKCkpCisgICAgaWYg
KGlubGluZUl0ZW0uaXNGb3JjZWRMaW5lQnJlYWsoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKICAg
ICBpZiAoaXM8SW5saW5lVGV4dEl0ZW0+KGlubGluZUl0ZW0pKSB7CkBAIC0xODIsOCArMTgyLDgg
QEAgTGluZUxheW91dDo6SXNFbmRPZkxpbmUgTGluZUxheW91dDo6cGxhY2VJbmxpbmVJdGVtKGNv
bnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0KICAgICAgICAgbV9saW5lSGFzSW50cnVzaXZlRmxv
YXQgPSB0cnVlOwogICAgICAgICByZXR1cm4gSXNFbmRPZkxpbmU6Ok5vOwogICAgIH0KLSAgICAv
LyBFeHBsaWNpdCBsaW5lIGJyZWFrcyBhcmUgYWxzbyBzcGVjaWFsLgotICAgIGlmIChpbmxpbmVJ
dGVtLmlzSGFyZExpbmVCcmVhaygpKSB7CisgICAgLy8gRm9yY2VkIGxpbmUgYnJlYWtzIGFyZSBh
bHNvIHNwZWNpYWwuCisgICAgaWYgKGlubGluZUl0ZW0uaXNGb3JjZWRMaW5lQnJlYWsoKSkgewog
ICAgICAgICBhdXRvIGlzRW5kT2ZMaW5lID0gIW1fdW5jb21taXR0ZWRDb250ZW50LmlzRW1wdHko
KSA/IHByb2Nlc3NVbmNvbW1pdHRlZENvbnRlbnQoKSA6IElzRW5kT2ZMaW5lOjpObzsKICAgICAg
ICAgLy8gV2hlbiB0aGUgdW5jb21taXR0ZWQgY29udGVudCBmaXRzKG9yIHRoZSBsaW5lIGlzIGVt
cHR5KSwgYWRkIHRoZSBsaW5lIGJyZWFrIHRvIHRoaXMgbGluZSBhcyB3ZWxsLgogICAgICAgICBp
ZiAoaXNFbmRPZkxpbmUgPT0gSXNFbmRPZkxpbmU6Ok5vKSB7CkBAIC0yNDEsNyArMjQxLDcgQEAg
Ym9vbCBMaW5lTGF5b3V0OjpzaG91bGRQcm9jZXNzVW5jb21taXR0ZWRDb250ZW50KGNvbnN0IElu
bGluZUl0ZW0mIGlubGluZUl0ZW0pIGMKICAgICAvLyBbaW5saW5lIGNvbnRhaW5lciBzdGFydF1b
dGV4dCBjb250ZW50XVtpbmxpbmUgY29udGFpbmVyIGVuZF0KICAgICAvLyBBbiBpbmNvbWluZyA8
aW1nPiBib3ggd291bGQgZW5hYmxlIHVzIHRvIGNvbW1pdCB0aGUgIjxzcGFuPmNvbnRpbnVvdXM8
L3NwYW4+IiBjb250ZW50CiAgICAgLy8gd2hpbGUgYWRkaXRpb25hbCB0ZXh0IGNvbnRlbnQgd291
bGQgbm90LgotICAgIEFTU0VSVCghaW5saW5lSXRlbS5pc0Zsb2F0KCkgJiYgIWlubGluZUl0ZW0u
aXNIYXJkTGluZUJyZWFrKCkpOworICAgIEFTU0VSVCghaW5saW5lSXRlbS5pc0Zsb2F0KCkgJiYg
IWlubGluZUl0ZW0uaXNGb3JjZWRMaW5lQnJlYWsoKSk7CiAgICAgQVNTRVJUKCFtX3VuY29tbWl0
dGVkQ29udGVudC5pc0VtcHR5KCkpOwogCiAgICAgYXV0byogbGFzdFVuY29taXR0ZWRDb250ZW50
ID0gJm1fdW5jb21taXR0ZWRDb250ZW50LnJ1bnMoKS5sYXN0KCkuaW5saW5lSXRlbTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZVRleHRJ
dGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVUZXh0
SXRlbS5oCmluZGV4IDcwZDA2MzBjNWY3OGFlODEyM2Q5YjE3NDk0OWIyY2YxNGVkZDU5OGEuLmEy
MTQ2MjdiMjAyODQxNWY3NjZhMzU1MDZiZjRmNDk2ODAyOGJiZjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZVRleHRJdGVtLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lVGV4dEl0ZW0uaApA
QCAtNDgsNyArNDgsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzV2hpdGVzcGFjZSgpIGNvbnN0
OwogICAgIGJvb2wgaXNDb2xsYXBzaWJsZSgpIGNvbnN0IHsgcmV0dXJuIGlzV2hpdGVzcGFjZSgp
ICYmIHN0eWxlKCkuY29sbGFwc2VXaGl0ZVNwYWNlKCk7IH0KLSAgICBib29sIGlzU2VnbWVudEJy
ZWFrKCkgY29uc3Q7CisgICAgYm9vbCBpc1NlZ21lbnRCcmVhaygpIGNvbnN0IHsgcmV0dXJuIG1f
dGV4dEl0ZW1UeXBlID09IFRleHRJdGVtVHlwZTo6U2VnbWVudEJyZWFrOyB9CiAKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8SW5saW5lVGV4dEl0ZW0+IGxlZnQodW5zaWduZWQgbGVuZ3RoKSBjb25zdDsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8SW5saW5lVGV4dEl0ZW0+IHJpZ2h0KHVuc2lnbmVkIGxlbmd0
aCkgY29uc3Q7CkBAIC02MywxMSArNjMsNiBAQCBwcml2YXRlOgogICAgIFRleHRJdGVtVHlwZSBt
X3RleHRJdGVtVHlwZSB7IFRleHRJdGVtVHlwZTo6VW5kZWZpbmVkIH07CiB9OwogCi1pbmxpbmUg
Ym9vbCBJbmxpbmVUZXh0SXRlbTo6aXNTZWdtZW50QnJlYWsoKSBjb25zdAotewotICAgIHJldHVy
biBtX3RleHRJdGVtVHlwZSA9PSBUZXh0SXRlbVR5cGU6OlNlZ21lbnRCcmVhazsKLX0KLQogfQog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvdGFibGVmb3JtYXR0aW5nL1Rh
YmxlSW52YWxpZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRp
bmcvVGFibGVJbnZhbGlkYXRpb24uY3BwCmluZGV4IDliZTc1YWZkZWRmNDQzZWE2MDg5M2IwZDE0
ZjZiNTIwZWI5YjljNmMuLmE5ODIxODU4ZjE0ODQ0NzZjMTM5MzA3NzFhOGE5NjFiMjk5MjhkZWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRpbmcvVGFibGVJ
bnZhbGlkYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRp
bmcvVGFibGVJbnZhbGlkYXRpb24uY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJJ
bnZhbGlkYXRpb24uaCIKICNpbmNsdWRlICJMYXlvdXRCb3guaCIKKyNpbmNsdWRlICJMYXlvdXRD
b250ZXh0LmgiCiAjaW5jbHVkZSAiVGFibGVGb3JtYXR0aW5nU3RhdGUuaCIKICNpbmNsdWRlIDx3
dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCg==
</data>
<flag name="review"
          id="397612"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>