<?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>205510</bug_id>
          
          <creation_ts>2019-12-20 11:07:34 -0800</creation_ts>
          <short_desc>Share code for computing the absolute positioned line boxes for a range</short_desc>
          <delta_ts>2019-12-20 11:41:15 -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>WebCore Misc.</component>
          <version>WebKit Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pdr</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1600814</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-20 11:07:34 -0800</bug_when>
    <thetext>RenderTextLineBoxes::absoluteRectsForRange() and RenderTextLineBoxes::absoluteQuadsForRange() have almost identical implementations. We should share more code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600820</commentid>
    <comment_count>1</comment_count>
      <attachid>386228</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-20 11:14:42 -0800</bug_when>
    <thetext>Created attachment 386228
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600828</commentid>
    <comment_count>2</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-20 11:20:32 -0800</bug_when>
    <thetext>Thank you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600846</commentid>
    <comment_count>3</comment_count>
      <attachid>386232</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-20 11:37:55 -0800</bug_when>
    <thetext>Created attachment 386232
To Land</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600848</commentid>
    <comment_count>4</comment_count>
      <attachid>386232</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-20 11:40:43 -0800</bug_when>
    <thetext>Comment on attachment 386232
To Land

Clearing flags on attachment: 386232

Committed r253833: &lt;https://trac.webkit.org/changeset/253833&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600849</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-20 11:40:44 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600851</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-20 11:41:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/58121065&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386228</attachid>
            <date>2019-12-20 11:14:42 -0800</date>
            <delta_ts>2019-12-20 11:37:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205510-20191220111441.patch</filename>
            <type>text/plain</type>
            <size>5143</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmRhNDJkOWE0OWExMDFj
ZGE1OTk2MzMxOGI1M2Y1MzM2NTg4NTFkNC4uMjcwYTQyZTIwOTc4MTZkZjczMWI2NDFkNjM1NGZm
MDA4YzUwZDhjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE5LTEyLTIwICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBTaGFyZSBjb2RlIGZvciBj
b21wdXRpbmcgdGhlIGFic29sdXRlIHBvc2l0aW9uZWQgbGluZSBib3hlcyBmb3IgYSByYW5nZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NTEwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50
IFJlbmRlclRleHRMaW5lQm94ZXM6OmFic29sdXRlUmVjdHNGb3JSYW5nZSgpIGluIHRlcm1zIG9m
IGFic29sdXRlUXVhZHNGb3JSYW5nZSgpCisgICAgICAgIHRvIHJlbW92ZSBhbG1vc3QgaWRlbnRp
Y2FsIGNvZGUuIFRoaXMgbWFrZXMgYWJzb2x1dGVSZWN0c0ZvclJhbmdlKCkgYSB0aW55IGJpdCBz
bG93ZXIuIElmCisgICAgICAgIGl0IHR1cm5zIG91dCB0aGlzIHNsb3duZXNzIGlzbid0IHNvIHRp
bnkgdGhlbiB3ZSBzaG91bGQgdXNlIHJldmVydCB0aGlzIGNoYW5nZSBhbmQgaW1wbGVtZW50Cisg
ICAgICAgIGFnYWluIHVzaW5nIHRlbXBsYXRlcyB0byBhdm9pZCBkdXBsaWNhdGlvbi4KKworICAg
ICAgICBBbHNvIG1vdmVkIGFic29sdXRlUXVhZHNGb3JSYW5nZSgpIHRvIGJlIGFib3ZlIGFic29s
dXRlUmVjdHNGb3JSYW5nZSgpIHRvIGdyb3VwIHRoZXNlCisgICAgICAgIHJlbGF0ZWQgZnVuY3Rp
b25zIGNsb3NlciB0b2dldGhlci4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0TGlu
ZUJveGVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRMaW5lQm94ZXM6OmFic29s
dXRlUXVhZHNGb3JSYW5nZSBjb25zdCk6IE5vIGNoYW5nZSwgdGhvdWdoIEkgbW92ZWQgaXQKKyAg
ICAgICAgdG8gYmUgYWJvdmUgYWJzb2x1dGVSZWN0c0ZvclJhbmdlKCkuCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUZXh0TGluZUJveGVzOjphYnNvbHV0ZVJlY3RzRm9yUmFuZ2UgY29uc3QpOiBJ
bXBsZW1lbnQgaW4gdGVybXMgb2YgYWJzb2x1dGVRdWFkc0ZvclJhbmdlKCkuCisKIDIwMTktMDkt
MTMgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFN1cHBvcnQg
YnVpbGRpbmcgV2ViS2l0IGZvciBNYWMgQ2F0YWx5c3QgZnJvbSBYY29kZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRMaW5lQm94ZXMuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRMaW5lQm94ZXMuY3BwCmluZGV4IDhkNzBmNDIz
NGIxMDljYWVhYTkzODUwNWMzM2Q2ZjU1NDlmYzJkNDQuLmU1NzM1NDFjM2Q0OTczZjg0NDgxNDY5
ZmMwZGE0NzY2M2I4ZTg1Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0TGluZUJveGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dExpbmVCb3hlcy5jcHAKQEAgLTQyOSw5ICs0MjksOSBAQCBzdGF0aWMgRmxvYXRSZWN0
IGxvY2FsUXVhZEZvclRleHRCb3goY29uc3QgSW5saW5lVGV4dEJveCYgYm94LCB1bnNpZ25lZCBz
dGFydCwgdQogICAgIHJldHVybiBib3hTZWxlY3Rpb25SZWN0OwogfQogCi1WZWN0b3I8SW50UmVj
dD4gUmVuZGVyVGV4dExpbmVCb3hlczo6YWJzb2x1dGVSZWN0c0ZvclJhbmdlKGNvbnN0IFJlbmRl
clRleHQmIHJlbmRlcmVyLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZW5kLCBib29sIHVzZVNl
bGVjdGlvbkhlaWdodCwgYm9vbCogd2FzRml4ZWQpIGNvbnN0CitWZWN0b3I8RmxvYXRRdWFkPiBS
ZW5kZXJUZXh0TGluZUJveGVzOjphYnNvbHV0ZVF1YWRzRm9yUmFuZ2UoY29uc3QgUmVuZGVyVGV4
dCYgcmVuZGVyZXIsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBlbmQsIGJvb2wgdXNlU2VsZWN0
aW9uSGVpZ2h0LCBib29sKiB3YXNGaXhlZCkgY29uc3QKIHsKLSAgICBWZWN0b3I8SW50UmVjdD4g
cmVjdHM7CisgICAgVmVjdG9yPEZsb2F0UXVhZD4gcXVhZHM7CiAgICAgZm9yIChhdXRvKiBib3gg
PSBtX2ZpcnN0OyBib3g7IGJveCA9IGJveC0+bmV4dFRleHRCb3goKSkgewogICAgICAgICBpZiAo
c3RhcnQgPD0gYm94LT5zdGFydCgpICYmIGJveC0+ZW5kKCkgPD0gZW5kKSB7CiAgICAgICAgICAg
ICBGbG9hdFJlY3QgYm91bmRhcmllcyA9IGJveC0+Y2FsY3VsYXRlQm91bmRhcmllcygpOwpAQCAt
NDQ1LDE0ICs0NDUsMTkgQEAgVmVjdG9yPEludFJlY3Q+IFJlbmRlclRleHRMaW5lQm94ZXM6OmFi
c29sdXRlUmVjdHNGb3JSYW5nZShjb25zdCBSZW5kZXJUZXh0JiByZW4KICAgICAgICAgICAgICAg
ICAgICAgYm91bmRhcmllcy5zZXRYKHNlbGVjdGlvblJlY3QueCgpKTsKICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICByZWN0cy5hcHBlbmQocmVuZGVyZXIubG9j
YWxUb0Fic29sdXRlUXVhZChib3VuZGFyaWVzLCBVc2VUcmFuc2Zvcm1zLCB3YXNGaXhlZCkuZW5j
bG9zaW5nQm91bmRpbmdCb3goKSk7CisgICAgICAgICAgICBxdWFkcy5hcHBlbmQocmVuZGVyZXIu
bG9jYWxUb0Fic29sdXRlUXVhZChib3VuZGFyaWVzLCBVc2VUcmFuc2Zvcm1zLCB3YXNGaXhlZCkp
OwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAgICAgICAgRmxvYXRSZWN0IHJl
Y3QgPSBsb2NhbFF1YWRGb3JUZXh0Qm94KCpib3gsIHN0YXJ0LCBlbmQsIHVzZVNlbGVjdGlvbkhl
aWdodCk7CiAgICAgICAgIGlmICghcmVjdC5pc1plcm8oKSkKLSAgICAgICAgICAgIHJlY3RzLmFw
cGVuZChyZW5kZXJlci5sb2NhbFRvQWJzb2x1dGVRdWFkKHJlY3QsIFVzZVRyYW5zZm9ybXMsIHdh
c0ZpeGVkKS5lbmNsb3NpbmdCb3VuZGluZ0JveCgpKTsKKyAgICAgICAgICAgIHF1YWRzLmFwcGVu
ZChyZW5kZXJlci5sb2NhbFRvQWJzb2x1dGVRdWFkKHJlY3QsIFVzZVRyYW5zZm9ybXMsIHdhc0Zp
eGVkKSk7CiAgICAgfQotICAgIHJldHVybiByZWN0czsKKyAgICByZXR1cm4gcXVhZHM7Cit9CisK
K1ZlY3RvcjxJbnRSZWN0PiBSZW5kZXJUZXh0TGluZUJveGVzOjphYnNvbHV0ZVJlY3RzRm9yUmFu
Z2UoY29uc3QgUmVuZGVyVGV4dCYgcmVuZGVyZXIsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBl
bmQsIGJvb2wgdXNlU2VsZWN0aW9uSGVpZ2h0LCBib29sKiB3YXNGaXhlZCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gYWJzb2x1dGVRdWFkc0ZvclJhbmdlKHJlbmRlcmVyLCBzdGFydCwgZW5kLCB1c2VT
ZWxlY3Rpb25IZWlnaHQsIHdhc0ZpeGVkKS5tYXAoW10oYXV0byYgcXVhZCkgeyByZXR1cm4gcXVh
ZC5lbmNsb3NpbmdCb3VuZGluZ0JveCgpOyB9KTsKIH0KIAogVmVjdG9yPEZsb2F0UXVhZD4gUmVu
ZGVyVGV4dExpbmVCb3hlczo6YWJzb2x1dGVRdWFkcyhjb25zdCBSZW5kZXJUZXh0JiByZW5kZXJl
ciwgYm9vbCogd2FzRml4ZWQsIENsaXBwaW5nT3B0aW9uIG9wdGlvbikgY29uc3QKQEAgLTQ3NSwz
MiArNDgwLDYgQEAgVmVjdG9yPEZsb2F0UXVhZD4gUmVuZGVyVGV4dExpbmVCb3hlczo6YWJzb2x1
dGVRdWFkcyhjb25zdCBSZW5kZXJUZXh0JiByZW5kZXJlciwKICAgICByZXR1cm4gcXVhZHM7CiB9
CiAKLVZlY3RvcjxGbG9hdFF1YWQ+IFJlbmRlclRleHRMaW5lQm94ZXM6OmFic29sdXRlUXVhZHNG
b3JSYW5nZShjb25zdCBSZW5kZXJUZXh0JiByZW5kZXJlciwgdW5zaWduZWQgc3RhcnQsIHVuc2ln
bmVkIGVuZCwgYm9vbCB1c2VTZWxlY3Rpb25IZWlnaHQsIGJvb2wqIHdhc0ZpeGVkKSBjb25zdAot
ewotICAgIFZlY3RvcjxGbG9hdFF1YWQ+IHF1YWRzOwotICAgIGZvciAoYXV0byogYm94ID0gbV9m
aXJzdDsgYm94OyBib3ggPSBib3gtPm5leHRUZXh0Qm94KCkpIHsKLSAgICAgICAgaWYgKHN0YXJ0
IDw9IGJveC0+c3RhcnQoKSAmJiBib3gtPmVuZCgpIDw9IGVuZCkgewotICAgICAgICAgICAgRmxv
YXRSZWN0IGJvdW5kYXJpZXMgPSBib3gtPmNhbGN1bGF0ZUJvdW5kYXJpZXMoKTsKLSAgICAgICAg
ICAgIGlmICh1c2VTZWxlY3Rpb25IZWlnaHQpIHsKLSAgICAgICAgICAgICAgICBMYXlvdXRSZWN0
IHNlbGVjdGlvblJlY3QgPSBib3gtPmxvY2FsU2VsZWN0aW9uUmVjdChzdGFydCwgZW5kKTsKLSAg
ICAgICAgICAgICAgICBpZiAoYm94LT5pc0hvcml6b250YWwoKSkgewotICAgICAgICAgICAgICAg
ICAgICBib3VuZGFyaWVzLnNldEhlaWdodChzZWxlY3Rpb25SZWN0LmhlaWdodCgpKTsKLSAgICAg
ICAgICAgICAgICAgICAgYm91bmRhcmllcy5zZXRZKHNlbGVjdGlvblJlY3QueSgpKTsKLSAgICAg
ICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBib3VuZGFyaWVzLnNldFdp
ZHRoKHNlbGVjdGlvblJlY3Qud2lkdGgoKSk7Ci0gICAgICAgICAgICAgICAgICAgIGJvdW5kYXJp
ZXMuc2V0WChzZWxlY3Rpb25SZWN0LngoKSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgcXVhZHMuYXBwZW5kKHJlbmRlcmVyLmxvY2FsVG9BYnNvbHV0ZVF1
YWQoYm91bmRhcmllcywgVXNlVHJhbnNmb3Jtcywgd2FzRml4ZWQpKTsKLSAgICAgICAgICAgIGNv
bnRpbnVlOwotICAgICAgICB9Ci0gICAgICAgIEZsb2F0UmVjdCByZWN0ID0gbG9jYWxRdWFkRm9y
VGV4dEJveCgqYm94LCBzdGFydCwgZW5kLCB1c2VTZWxlY3Rpb25IZWlnaHQpOwotICAgICAgICBp
ZiAoIXJlY3QuaXNaZXJvKCkpCi0gICAgICAgICAgICBxdWFkcy5hcHBlbmQocmVuZGVyZXIubG9j
YWxUb0Fic29sdXRlUXVhZChyZWN0LCBVc2VUcmFuc2Zvcm1zLCB3YXNGaXhlZCkpOwotICAgIH0K
LSAgICByZXR1cm4gcXVhZHM7Ci19Ci0KIHZvaWQgUmVuZGVyVGV4dExpbmVCb3hlczo6ZGlydHlB
bGwoKQogewogICAgIGZvciAoYXV0byogYm94ID0gbV9maXJzdDsgYm94OyBib3ggPSBib3gtPm5l
eHRUZXh0Qm94KCkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386232</attachid>
            <date>2019-12-20 11:37:55 -0800</date>
            <delta_ts>2019-12-20 11:37:55 -0800</delta_ts>
            <desc>To Land</desc>
            <filename>bug-205510-20191220113754.patch</filename>
            <type>text/plain</type>
            <size>6263</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmRhNDJkOWE0OWExMDFj
ZGE1OTk2MzMxOGI1M2Y1MzM2NTg4NTFkNC4uZWY0MTJjMzU0YzI1ODY3YTdhNTNhOWE2Y2JjOGUx
ODJlNzY1YTk4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE5LTEyLTIwICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBTaGFyZSBjb2RlIGZvciBj
b21wdXRpbmcgdGhlIGFic29sdXRlIHBvc2l0aW9uZWQgbGluZSBib3hlcyBmb3IgYSByYW5nZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NTEwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgV2Vuc29uIEhzaWVoLgorCisgICAgICAgIEltcGxlbWVudCBS
ZW5kZXJUZXh0TGluZUJveGVzOjphYnNvbHV0ZVJlY3RzRm9yUmFuZ2UoKSBpbiB0ZXJtcyBvZiBh
YnNvbHV0ZVF1YWRzRm9yUmFuZ2UoKQorICAgICAgICB0byByZW1vdmUgYWxtb3N0IGlkZW50aWNh
bCBjb2RlLiBUaGlzIG1ha2VzIGFic29sdXRlUmVjdHNGb3JSYW5nZSgpIGEgdGlueSBiaXQgc2xv
d2VyLiBJZgorICAgICAgICBpdCB0dXJucyBvdXQgdGhpcyBzbG93bmVzcyBpc24ndCBzbyB0aW55
IHRoZW4gd2Ugc2hvdWxkIHVzZSByZXZlcnQgdGhpcyBjaGFuZ2UgYW5kIGltcGxlbWVudAorICAg
ICAgICBhZ2FpbiB1c2luZyB0ZW1wbGF0ZXMgdG8gYXZvaWQgZHVwbGljYXRpb24uCisKKyAgICAg
ICAgQWxzbyBtb3ZlZCBhYnNvbHV0ZVF1YWRzRm9yUmFuZ2UoKSB0byBiZSBhYm92ZSBhYnNvbHV0
ZVJlY3RzRm9yUmFuZ2UoKSB0byBncm91cCB0aGVzZQorICAgICAgICByZWxhdGVkIGZ1bmN0aW9u
cyBjbG9zZXIgdG9nZXRoZXIuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dExpbmVC
b3hlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0TGluZUJveGVzOjphYnNvbHV0
ZVF1YWRzRm9yUmFuZ2UgY29uc3QpOiBObyBjaGFuZ2UsIHRob3VnaCBJIG1vdmVkIGl0CisgICAg
ICAgIHRvIGJlIGFib3ZlIGFic29sdXRlUmVjdHNGb3JSYW5nZSgpLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGV4dExpbmVCb3hlczo6YWJzb2x1dGVSZWN0c0ZvclJhbmdlIGNvbnN0KTogSW1w
bGVtZW50IGluIHRlcm1zIG9mIGFic29sdXRlUXVhZHNGb3JSYW5nZSgpLgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUZXh0TGluZUJveGVzLmg6IEdyb3VwIGFic29sdXRlKkZvclJhbmdlKCkg
ZGVjbGFyYXRpb25zLgorCiAyMDE5LTA5LTEzICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxl
LmNvbT4KIAogICAgICAgICBTdXBwb3J0IGJ1aWxkaW5nIFdlYktpdCBmb3IgTWFjIENhdGFseXN0
IGZyb20gWGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
ZXh0TGluZUJveGVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0TGlu
ZUJveGVzLmNwcAppbmRleCA4ZDcwZjQyMzRiMTA5Y2FlYWE5Mzg1MDVjMzNkNmY1NTQ5ZmMyZDQ0
Li5lNTczNTQxYzNkNDk3M2Y4NDQ4MTQ2OWZjMGRhNDc2NjNiOGU4NWNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dExpbmVCb3hlcy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRMaW5lQm94ZXMuY3BwCkBAIC00MjksOSAr
NDI5LDkgQEAgc3RhdGljIEZsb2F0UmVjdCBsb2NhbFF1YWRGb3JUZXh0Qm94KGNvbnN0IElubGlu
ZVRleHRCb3gmIGJveCwgdW5zaWduZWQgc3RhcnQsIHUKICAgICByZXR1cm4gYm94U2VsZWN0aW9u
UmVjdDsKIH0KIAotVmVjdG9yPEludFJlY3Q+IFJlbmRlclRleHRMaW5lQm94ZXM6OmFic29sdXRl
UmVjdHNGb3JSYW5nZShjb25zdCBSZW5kZXJUZXh0JiByZW5kZXJlciwgdW5zaWduZWQgc3RhcnQs
IHVuc2lnbmVkIGVuZCwgYm9vbCB1c2VTZWxlY3Rpb25IZWlnaHQsIGJvb2wqIHdhc0ZpeGVkKSBj
b25zdAorVmVjdG9yPEZsb2F0UXVhZD4gUmVuZGVyVGV4dExpbmVCb3hlczo6YWJzb2x1dGVRdWFk
c0ZvclJhbmdlKGNvbnN0IFJlbmRlclRleHQmIHJlbmRlcmVyLCB1bnNpZ25lZCBzdGFydCwgdW5z
aWduZWQgZW5kLCBib29sIHVzZVNlbGVjdGlvbkhlaWdodCwgYm9vbCogd2FzRml4ZWQpIGNvbnN0
CiB7Ci0gICAgVmVjdG9yPEludFJlY3Q+IHJlY3RzOworICAgIFZlY3RvcjxGbG9hdFF1YWQ+IHF1
YWRzOwogICAgIGZvciAoYXV0byogYm94ID0gbV9maXJzdDsgYm94OyBib3ggPSBib3gtPm5leHRU
ZXh0Qm94KCkpIHsKICAgICAgICAgaWYgKHN0YXJ0IDw9IGJveC0+c3RhcnQoKSAmJiBib3gtPmVu
ZCgpIDw9IGVuZCkgewogICAgICAgICAgICAgRmxvYXRSZWN0IGJvdW5kYXJpZXMgPSBib3gtPmNh
bGN1bGF0ZUJvdW5kYXJpZXMoKTsKQEAgLTQ0NSwxNCArNDQ1LDE5IEBAIFZlY3RvcjxJbnRSZWN0
PiBSZW5kZXJUZXh0TGluZUJveGVzOjphYnNvbHV0ZVJlY3RzRm9yUmFuZ2UoY29uc3QgUmVuZGVy
VGV4dCYgcmVuCiAgICAgICAgICAgICAgICAgICAgIGJvdW5kYXJpZXMuc2V0WChzZWxlY3Rpb25S
ZWN0LngoKSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAgICAgICAgICAg
cmVjdHMuYXBwZW5kKHJlbmRlcmVyLmxvY2FsVG9BYnNvbHV0ZVF1YWQoYm91bmRhcmllcywgVXNl
VHJhbnNmb3Jtcywgd2FzRml4ZWQpLmVuY2xvc2luZ0JvdW5kaW5nQm94KCkpOworICAgICAgICAg
ICAgcXVhZHMuYXBwZW5kKHJlbmRlcmVyLmxvY2FsVG9BYnNvbHV0ZVF1YWQoYm91bmRhcmllcywg
VXNlVHJhbnNmb3Jtcywgd2FzRml4ZWQpKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAg
ICB9CiAgICAgICAgIEZsb2F0UmVjdCByZWN0ID0gbG9jYWxRdWFkRm9yVGV4dEJveCgqYm94LCBz
dGFydCwgZW5kLCB1c2VTZWxlY3Rpb25IZWlnaHQpOwogICAgICAgICBpZiAoIXJlY3QuaXNaZXJv
KCkpCi0gICAgICAgICAgICByZWN0cy5hcHBlbmQocmVuZGVyZXIubG9jYWxUb0Fic29sdXRlUXVh
ZChyZWN0LCBVc2VUcmFuc2Zvcm1zLCB3YXNGaXhlZCkuZW5jbG9zaW5nQm91bmRpbmdCb3goKSk7
CisgICAgICAgICAgICBxdWFkcy5hcHBlbmQocmVuZGVyZXIubG9jYWxUb0Fic29sdXRlUXVhZChy
ZWN0LCBVc2VUcmFuc2Zvcm1zLCB3YXNGaXhlZCkpOwogICAgIH0KLSAgICByZXR1cm4gcmVjdHM7
CisgICAgcmV0dXJuIHF1YWRzOworfQorCitWZWN0b3I8SW50UmVjdD4gUmVuZGVyVGV4dExpbmVC
b3hlczo6YWJzb2x1dGVSZWN0c0ZvclJhbmdlKGNvbnN0IFJlbmRlclRleHQmIHJlbmRlcmVyLCB1
bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZW5kLCBib29sIHVzZVNlbGVjdGlvbkhlaWdodCwgYm9v
bCogd2FzRml4ZWQpIGNvbnN0Cit7CisgICAgcmV0dXJuIGFic29sdXRlUXVhZHNGb3JSYW5nZShy
ZW5kZXJlciwgc3RhcnQsIGVuZCwgdXNlU2VsZWN0aW9uSGVpZ2h0LCB3YXNGaXhlZCkubWFwKFtd
KGF1dG8mIHF1YWQpIHsgcmV0dXJuIHF1YWQuZW5jbG9zaW5nQm91bmRpbmdCb3goKTsgfSk7CiB9
CiAKIFZlY3RvcjxGbG9hdFF1YWQ+IFJlbmRlclRleHRMaW5lQm94ZXM6OmFic29sdXRlUXVhZHMo
Y29uc3QgUmVuZGVyVGV4dCYgcmVuZGVyZXIsIGJvb2wqIHdhc0ZpeGVkLCBDbGlwcGluZ09wdGlv
biBvcHRpb24pIGNvbnN0CkBAIC00NzUsMzIgKzQ4MCw2IEBAIFZlY3RvcjxGbG9hdFF1YWQ+IFJl
bmRlclRleHRMaW5lQm94ZXM6OmFic29sdXRlUXVhZHMoY29uc3QgUmVuZGVyVGV4dCYgcmVuZGVy
ZXIsCiAgICAgcmV0dXJuIHF1YWRzOwogfQogCi1WZWN0b3I8RmxvYXRRdWFkPiBSZW5kZXJUZXh0
TGluZUJveGVzOjphYnNvbHV0ZVF1YWRzRm9yUmFuZ2UoY29uc3QgUmVuZGVyVGV4dCYgcmVuZGVy
ZXIsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBlbmQsIGJvb2wgdXNlU2VsZWN0aW9uSGVpZ2h0
LCBib29sKiB3YXNGaXhlZCkgY29uc3QKLXsKLSAgICBWZWN0b3I8RmxvYXRRdWFkPiBxdWFkczsK
LSAgICBmb3IgKGF1dG8qIGJveCA9IG1fZmlyc3Q7IGJveDsgYm94ID0gYm94LT5uZXh0VGV4dEJv
eCgpKSB7Ci0gICAgICAgIGlmIChzdGFydCA8PSBib3gtPnN0YXJ0KCkgJiYgYm94LT5lbmQoKSA8
PSBlbmQpIHsKLSAgICAgICAgICAgIEZsb2F0UmVjdCBib3VuZGFyaWVzID0gYm94LT5jYWxjdWxh
dGVCb3VuZGFyaWVzKCk7Ci0gICAgICAgICAgICBpZiAodXNlU2VsZWN0aW9uSGVpZ2h0KSB7Ci0g
ICAgICAgICAgICAgICAgTGF5b3V0UmVjdCBzZWxlY3Rpb25SZWN0ID0gYm94LT5sb2NhbFNlbGVj
dGlvblJlY3Qoc3RhcnQsIGVuZCk7Ci0gICAgICAgICAgICAgICAgaWYgKGJveC0+aXNIb3Jpem9u
dGFsKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgYm91bmRhcmllcy5zZXRIZWlnaHQoc2VsZWN0
aW9uUmVjdC5oZWlnaHQoKSk7Ci0gICAgICAgICAgICAgICAgICAgIGJvdW5kYXJpZXMuc2V0WShz
ZWxlY3Rpb25SZWN0LnkoKSk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
ICAgICAgICAgYm91bmRhcmllcy5zZXRXaWR0aChzZWxlY3Rpb25SZWN0LndpZHRoKCkpOwotICAg
ICAgICAgICAgICAgICAgICBib3VuZGFyaWVzLnNldFgoc2VsZWN0aW9uUmVjdC54KCkpOwotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHF1YWRzLmFwcGVuZChy
ZW5kZXJlci5sb2NhbFRvQWJzb2x1dGVRdWFkKGJvdW5kYXJpZXMsIFVzZVRyYW5zZm9ybXMsIHdh
c0ZpeGVkKSk7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotICAgICAgICBGbG9h
dFJlY3QgcmVjdCA9IGxvY2FsUXVhZEZvclRleHRCb3goKmJveCwgc3RhcnQsIGVuZCwgdXNlU2Vs
ZWN0aW9uSGVpZ2h0KTsKLSAgICAgICAgaWYgKCFyZWN0LmlzWmVybygpKQotICAgICAgICAgICAg
cXVhZHMuYXBwZW5kKHJlbmRlcmVyLmxvY2FsVG9BYnNvbHV0ZVF1YWQocmVjdCwgVXNlVHJhbnNm
b3Jtcywgd2FzRml4ZWQpKTsKLSAgICB9Ci0gICAgcmV0dXJuIHF1YWRzOwotfQotCiB2b2lkIFJl
bmRlclRleHRMaW5lQm94ZXM6OmRpcnR5QWxsKCkKIHsKICAgICBmb3IgKGF1dG8qIGJveCA9IG1f
Zmlyc3Q7IGJveDsgYm94ID0gYm94LT5uZXh0VGV4dEJveCgpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRMaW5lQm94ZXMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0TGluZUJveGVzLmgKaW5kZXggODk3MGUwZTc5NDkwODFkOGIy
MDkyZmNhMGMwZWY2YzA2ZmY1YmRmOC4uMWU3MjYyZmFhNjNlZGUxMTZhNjE2ZTJlODkwYTlkNzIy
MGM3OTJhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRM
aW5lQm94ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dExpbmVC
b3hlcy5oCkBAIC02NCwxMCArNjQsMTAgQEAgcHVibGljOgogCiAgICAgTGF5b3V0UmVjdCB2aXN1
YWxPdmVyZmxvd0JvdW5kaW5nQm94KGNvbnN0IFJlbmRlclRleHQmKSBjb25zdDsKIAotICAgIFZl
Y3RvcjxJbnRSZWN0PiBhYnNvbHV0ZVJlY3RzRm9yUmFuZ2UoY29uc3QgUmVuZGVyVGV4dCYsIHVu
c2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBlbmQsIGJvb2wgdXNlU2VsZWN0aW9uSGVpZ2h0LCBib29s
KiB3YXNGaXhlZCkgY29uc3Q7CiAgICAgZW51bSBDbGlwcGluZ09wdGlvbiB7IE5vQ2xpcHBpbmcs
IENsaXBUb0VsbGlwc2lzIH07CiAgICAgVmVjdG9yPEZsb2F0UXVhZD4gYWJzb2x1dGVRdWFkcyhj
b25zdCBSZW5kZXJUZXh0JiwgYm9vbCogd2FzRml4ZWQsIENsaXBwaW5nT3B0aW9uKSBjb25zdDsK
ICAgICBWZWN0b3I8RmxvYXRRdWFkPiBhYnNvbHV0ZVF1YWRzRm9yUmFuZ2UoY29uc3QgUmVuZGVy
VGV4dCYsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBlbmQsIGJvb2wgdXNlU2VsZWN0aW9uSGVp
Z2h0LCBib29sKiB3YXNGaXhlZCkgY29uc3Q7CisgICAgVmVjdG9yPEludFJlY3Q+IGFic29sdXRl
UmVjdHNGb3JSYW5nZShjb25zdCBSZW5kZXJUZXh0JiwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVk
IGVuZCwgYm9vbCB1c2VTZWxlY3Rpb25IZWlnaHQsIGJvb2wqIHdhc0ZpeGVkKSBjb25zdDsKIAog
I2lmICFBU1NFUlRfRElTQUJMRUQKICAgICB+UmVuZGVyVGV4dExpbmVCb3hlcygpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>