<?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>214347</bug_id>
          
          <creation_ts>2020-07-15 05:08:39 -0700</creation_ts>
          <short_desc>[css-grid] Rename SmallestTrackStart to ExplicitGridStart</short_desc>
          <delta_ts>2020-07-15 10:27:15 -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>CSS</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="Oriol Brufau">obrufau</reporter>
          <assigned_to name="Oriol Brufau">obrufau</assigned_to>
          <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jfernandez</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>rego</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1671705</commentid>
    <comment_count>0</comment_count>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2020-07-15 05:08:39 -0700</bug_when>
    <thetext>The SmallestTrackStart method returns a signed int which is never positive, representing the smallest untranslated start among all grid items, clamped by 0 as a maximum.

In practice, though, what we usually want is the index of the first explicit track/line among all tracks/lines, or equivalently, the number of leading implicit tracks/lines.

That number is precisely minus the return value of SmallestTrackStart.
Thus, in grid layout there were various std::abs() to invert the value.

But it&apos;s a bit confusing to have an API which returns a non-positive integer, which then needs to be made non-negative.
Therefore, we should rename SmallestTrackStart to ExplicitGridStart, and make it return an unsigned int.

Chromium did this in https://crrev.com/777768</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671707</commentid>
    <comment_count>1</comment_count>
      <attachid>404333</attachid>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2020-07-15 05:17:02 -0700</bug_when>
    <thetext>Created attachment 404333
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671713</commentid>
    <comment_count>2</comment_count>
      <attachid>404333</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2020-07-15 05:54:37 -0700</bug_when>
    <thetext>Comment on attachment 404333
Patch

r=me, wait for green EWSs before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671789</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-15 10:26:45 -0700</bug_when>
    <thetext>Committed r264403: &lt;https://trac.webkit.org/changeset/264403&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404333.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671790</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-15 10:27:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/65613208&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404333</attachid>
            <date>2020-07-15 05:17:02 -0700</date>
            <delta_ts>2020-07-15 10:26:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214347-20200715141700.patch</filename>
            <type>text/plain</type>
            <size>11120</size>
            <attacher name="Oriol Brufau">obrufau</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGQ1Njg3NGIyMzE1MzUw
NWRlOGU2MDFhNGViN2UzZGNjNDkyMGY3NC4uNDE2MjkzMmZlYjUwZDUzOTUxZjlkZDYwNmQ3ZDFi
MDI5ZmJiMzJiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIwLTA3LTE1ICBPcmlv
bCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1ncmlkXSBSZW5h
bWUgU21hbGxlc3RUcmFja1N0YXJ0IHRvIEV4cGxpY2l0R3JpZFN0YXJ0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQzNDcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgU21hbGxlc3RUcmFja1N0YXJ0
IG1ldGhvZCB1c2VkIHRvIHJldHVybiBhIHNpZ25lZCBpbnQgd2hpY2ggd2FzCisgICAgICAgIG5l
dmVyIHBvc2l0aXZlLCByZXByZXNlbnRpbmcgdGhlIHNtYWxsZXN0IHVudHJhbnNsYXRlZCBzdGFy
dCBhbW9uZyBhbGwKKyAgICAgICAgZ3JpZCBpdGVtcywgY2xhbXBlZCBieSAwIGFzIGEgbWF4aW11
bS4KKworICAgICAgICBJbiBwcmFjdGljZSwgdGhvdWdoLCB3aGF0IHdlIHVzdWFsbHkgd2FudCBp
cyB0aGUgaW5kZXggb2YgdGhlIGZpcnN0CisgICAgICAgIGV4cGxpY2l0IHRyYWNrL2xpbmUgYW1v
bmcgYWxsIHRyYWNrcy9saW5lcywgb3IgZXF1aXZhbGVudGx5LCB0aGUgbnVtYmVyCisgICAgICAg
IG9mIGxlYWRpbmcgaW1wbGljaXQgdHJhY2tzL2xpbmVzLgorCisgICAgICAgIFRoYXQgbnVtYmVy
IGlzIHByZWNpc2VseSBtaW51cyB0aGUgcmV0dXJuIHZhbHVlIG9mIFNtYWxsZXN0VHJhY2tTdGFy
dC4KKyAgICAgICAgVGh1cywgaW4gZ3JpZCBsYXlvdXQgdGhlcmUgd2VyZSB2YXJpb3VzIHN0ZDo6
YWJzKCkgdG8gaW52ZXJ0IHRoZSB2YWx1ZS4KKworICAgICAgICBCdXQgaXQncyBhIGJpdCBjb25m
dXNpbmcgdG8gaGF2ZSBhbiBBUEkgd2hpY2ggcmV0dXJucyBhIG5vbi1wb3NpdGl2ZQorICAgICAg
ICBpbnRlZ2VyLCB3aGljaCB0aGVuIG5lZWRzIHRvIGJlIG1hZGUgbm9uLW5lZ2F0aXZlLiBUaGVy
ZWZvcmUsIHRoaXMgcGF0Y2gKKyAgICAgICAgcmVuYW1lcyBTbWFsbGVzdFRyYWNrU3RhcnQgdG8g
RXhwbGljaXRHcmlkU3RhcnQsIGFuZCBtYWtlcyBpdCByZXR1cm4KKyAgICAgICAgdGhlIHVuc2ln
bmVkIHdoaWNoIGlzIHVzdWFsbHkgZGVzaXJlZC4KKworICAgICAgICBUaGlzIHBhdGNoIHNob3Vs
ZCBoYXZlIG5vIGVmZmVjdCBpbiBwcmFjdGljZS4KKworICAgICAgICBUaGlzIHBhdGNoIGlzIGEg
cG9ydCBvZiBodHRwczovL2NycmV2LmNvbS83Nzc3NjgKKworICAgICAgICAqIHJlbmRlcmluZy9H
cmlkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyaWQ6OnNldEV4cGxpY2l0R3JpZFN0YXJ0KToK
KyAgICAgICAgKFdlYkNvcmU6OkdyaWQ6OmV4cGxpY2l0R3JpZFN0YXJ0IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyaWQ6OnNldE5lZWRzSXRlbXNQbGFjZW1lbnQpOgorICAgICAgICAqIHJl
bmRlcmluZy9HcmlkLmg6CisgICAgICAgICogcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29y
aXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OnJh
d0dyaWRUcmFja1NpemUgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJHcmlkLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmNvbXB1dGVFbXB0eVRyYWNrc0ZvckF1
dG9SZXBlYXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6cGxhY2VJdGVt
c09uR3JpZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpwb3B1bGF0ZUV4
cGxpY2l0R3JpZEFuZE9yZGVySXRlcmF0b3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyR3JpZDo6Z3JpZEFyZWFCcmVhZHRoRm9yT3V0T2ZGbG93Q2hpbGQpOgorCiAyMDIwLTA3LTE0
ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNP
U10gRG8gbm90IHVwZGF0ZSBTY3JlZW5UaW1lIHdoZW4gaW4gcHJpdmF0ZSBicm93c2luZyBtb2Rl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvR3JpZC5jcHAKaW5kZXggMWU5MTFhZTYwYTYxMjY4OWE0OTdmZjJk
NWI3ZjBkNTBiODdlMjk1My4uOTFkOWZiMDBiMzgzNmIxYjU3N2ZiMWYwODU1ZmU0M2FmODEyYTVm
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkLmNwcApAQCAtNzQsMTcgKzc0LDE1IEBAIHZvaWQg
R3JpZDo6aW5zZXJ0KFJlbmRlckJveCYgY2hpbGQsIGNvbnN0IEdyaWRBcmVhJiBhcmVhKQogICAg
IHNldEdyaWRJdGVtQXJlYShjaGlsZCwgYXJlYSk7CiB9CiAKLXZvaWQgR3JpZDo6c2V0U21hbGxl
c3RUcmFja3NTdGFydChpbnQgcm93U3RhcnQsIGludCBjb2x1bW5TdGFydCkKK3ZvaWQgR3JpZDo6
c2V0RXhwbGljaXRHcmlkU3RhcnQodW5zaWduZWQgcm93U3RhcnQsIHVuc2lnbmVkIGNvbHVtblN0
YXJ0KQogewotICAgIEFTU0VSVChyb3dTdGFydCA+IEdyaWRQb3NpdGlvbjo6bWluKCkgJiYgcm93
U3RhcnQgPCBHcmlkUG9zaXRpb246Om1heCgpIC0gMSk7Ci0gICAgQVNTRVJUKGNvbHVtblN0YXJ0
ID4gR3JpZFBvc2l0aW9uOjptaW4oKSAmJiBjb2x1bW5TdGFydCA8IEdyaWRQb3NpdGlvbjo6bWF4
KCkgLSAxKTsKLSAgICBtX3NtYWxsZXN0Um93U3RhcnQgPSByb3dTdGFydDsKLSAgICBtX3NtYWxs
ZXN0Q29sdW1uU3RhcnQgPSBjb2x1bW5TdGFydDsKKyAgICBtX2V4cGxpY2l0Um93U3RhcnQgPSBy
b3dTdGFydDsKKyAgICBtX2V4cGxpY2l0Q29sdW1uU3RhcnQgPSBjb2x1bW5TdGFydDsKIH0KIAot
aW50IEdyaWQ6OnNtYWxsZXN0VHJhY2tTdGFydChHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGly
ZWN0aW9uKSBjb25zdAordW5zaWduZWQgR3JpZDo6ZXhwbGljaXRHcmlkU3RhcnQoR3JpZFRyYWNr
U2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbikgY29uc3QKIHsKLSAgICByZXR1cm4gZGlyZWN0aW9u
ID09IEZvclJvd3MgPyBtX3NtYWxsZXN0Um93U3RhcnQgOiBtX3NtYWxsZXN0Q29sdW1uU3RhcnQ7
CisgICAgcmV0dXJuIGRpcmVjdGlvbiA9PSBGb3JSb3dzID8gbV9leHBsaWNpdFJvd1N0YXJ0IDog
bV9leHBsaWNpdENvbHVtblN0YXJ0OwogfQogCiBHcmlkQXJlYSBHcmlkOjpncmlkSXRlbUFyZWEo
Y29uc3QgUmVuZGVyQm94JiBpdGVtKSBjb25zdApAQCAtMTU3LDggKzE1NSw4IEBAIHZvaWQgR3Jp
ZDo6c2V0TmVlZHNJdGVtc1BsYWNlbWVudChib29sIG5lZWRzSXRlbXNQbGFjZW1lbnQpCiAKICAg
ICBtX2dyaWQuc2hyaW5rKDApOwogICAgIG1fZ3JpZEl0ZW1BcmVhLmNsZWFyKCk7Ci0gICAgbV9z
bWFsbGVzdFJvd1N0YXJ0ID0gMDsKLSAgICBtX3NtYWxsZXN0Q29sdW1uU3RhcnQgPSAwOworICAg
IG1fZXhwbGljaXRSb3dTdGFydCA9IDA7CisgICAgbV9leHBsaWNpdENvbHVtblN0YXJ0ID0gMDsK
ICAgICBtX2F1dG9SZXBlYXRFbXB0eUNvbHVtbnMgPSBudWxscHRyOwogICAgIG1fYXV0b1JlcGVh
dEVtcHR5Um93cyA9IG51bGxwdHI7CiAgICAgbV9hdXRvUmVwZWF0Q29sdW1ucyA9IDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZC5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0dyaWQuaAppbmRleCA0MmY0Yzg5ODYxMjFlMTYxNzYwMDE3MmYzYjVjNzY4MTdm
NTY4OWZlLi43YjE1YTcyZGJiMmVmNzlkYTZiYTdlMTQ5YjVlMDliMDEzZTJlMjFiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9HcmlkLmgKQEAgLTYxLDggKzYxLDggQEAgcHVibGljOgogCiAgICAgY29uc3Qg
R3JpZENlbGwmIGNlbGwodW5zaWduZWQgcm93LCB1bnNpZ25lZCBjb2x1bW4pIGNvbnN0IHsgcmV0
dXJuIG1fZ3JpZFtyb3ddW2NvbHVtbl07IH0KIAotICAgIGludCBzbWFsbGVzdFRyYWNrU3RhcnQo
R3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uKSBjb25zdDsKLSAgICB2b2lkIHNldFNtYWxsZXN0VHJh
Y2tzU3RhcnQoaW50IHJvd1N0YXJ0LCBpbnQgY29sdW1uU3RhcnQpOworICAgIHVuc2lnbmVkIGV4
cGxpY2l0R3JpZFN0YXJ0KEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbikgY29uc3Q7CisgICAgdm9p
ZCBzZXRFeHBsaWNpdEdyaWRTdGFydCh1bnNpZ25lZCByb3dTdGFydCwgdW5zaWduZWQgY29sdW1u
U3RhcnQpOwogCiAgICAgdW5zaWduZWQgYXV0b1JlcGVhdFRyYWNrcyhHcmlkVHJhY2tTaXppbmdE
aXJlY3Rpb24pIGNvbnN0OwogICAgIHZvaWQgc2V0QXV0b1JlcGVhdFRyYWNrcyh1bnNpZ25lZCBh
dXRvUmVwZWF0Um93cywgdW5zaWduZWQgYXV0b1JlcGVhdENvbHVtbnMpOwpAQCAtODYsOCArODYs
OCBAQCBwcml2YXRlOgogCiAgICAgT3JkZXJJdGVyYXRvciBtX29yZGVySXRlcmF0b3I7CiAKLSAg
ICBpbnQgbV9zbWFsbGVzdENvbHVtblN0YXJ0IHsgMCB9OwotICAgIGludCBtX3NtYWxsZXN0Um93
U3RhcnQgeyAwIH07CisgICAgdW5zaWduZWQgbV9leHBsaWNpdENvbHVtblN0YXJ0IHsgMCB9Owor
ICAgIHVuc2lnbmVkIG1fZXhwbGljaXRSb3dTdGFydCB7IDAgfTsKIAogICAgIHVuc2lnbmVkIG1f
YXV0b1JlcGVhdENvbHVtbnMgeyAwIH07CiAgICAgdW5zaWduZWQgbV9hdXRvUmVwZWF0Um93cyB7
IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG0uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1Npemlu
Z0FsZ29yaXRobS5jcHAKaW5kZXggM2UyNGQ0ODhjNWYxOWFjYWQzN2RlYTg0YTEyNGY4YjkwN2Mz
YTg3ZC4uNGEyZDM1ODQwYWVlZTgzYzc0NWY3ZDA3NmQyY2Y2OTMzZWM1Njg1MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5j
cHAKQEAgLTE3Niw3ICsxNzYsNyBAQCBjb25zdCBHcmlkVHJhY2tTaXplJiBHcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG06OnJhd0dyaWRUcmFja1NpemUoR3JpZFRyYWNrU2l6aW5nRAogICAgIC8vIGdy
aWQtdGVtcGxhdGUtYXJlYXMgaXMgc3BlY2lmaWVkIGZvciBleGFtcGxlKS4KICAgICB1bnNpZ25l
ZCBleHBsaWNpdFRyYWNrc0NvdW50ID0gdHJhY2tTdHlsZXMuc2l6ZSgpICsgYXV0b1JlcGVhdFRy
YWNrc0NvdW50OwogCi0gICAgaW50IHVudHJhbnNsYXRlZEluZGV4QXNJbnQgPSB0cmFuc2xhdGVk
SW5kZXggKyBtX2dyaWQuc21hbGxlc3RUcmFja1N0YXJ0KGRpcmVjdGlvbik7CisgICAgaW50IHVu
dHJhbnNsYXRlZEluZGV4QXNJbnQgPSB0cmFuc2xhdGVkSW5kZXggLSBtX2dyaWQuZXhwbGljaXRH
cmlkU3RhcnQoZGlyZWN0aW9uKTsKICAgICB1bnNpZ25lZCBhdXRvVHJhY2tTdHlsZXNTaXplID0g
YXV0b1RyYWNrU3R5bGVzLnNpemUoKTsKICAgICBpZiAodW50cmFuc2xhdGVkSW5kZXhBc0ludCA8
IDApIHsKICAgICAgICAgaW50IGluZGV4ID0gdW50cmFuc2xhdGVkSW5kZXhBc0ludCAlIHN0YXRp
Y19jYXN0PGludD4oYXV0b1RyYWNrU3R5bGVzU2l6ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyR3JpZC5jcHAKaW5kZXggNDIxMjE5ZDQ0ZjdiMjdkYzYwZjBjMDE0MjgyMTkwMjkxZWMx
OWI5Zi4uYWI0ZTgwZWY1OWExNDFlYzZkMzg1MDIzOGIzN2UwYTY0ZTgzYmJjZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcApAQCAtNTQwLDcgKzU0MCw3IEBAIHN0ZDo6
dW5pcXVlX3B0cjxPcmRlcmVkVHJhY2tJbmRleFNldD4gUmVuZGVyR3JpZDo6Y29tcHV0ZUVtcHR5
VHJhY2tzRm9yQXV0b1JlcGVhCiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8T3JkZXJlZFRyYWNrSW5k
ZXhTZXQ+IGVtcHR5VHJhY2tJbmRleGVzOwogICAgIHVuc2lnbmVkIGluc2VydGlvblBvaW50ID0g
aXNSb3dBeGlzID8gc3R5bGUoKS5ncmlkQXV0b1JlcGVhdENvbHVtbnNJbnNlcnRpb25Qb2ludCgp
IDogc3R5bGUoKS5ncmlkQXV0b1JlcGVhdFJvd3NJbnNlcnRpb25Qb2ludCgpOwotICAgIHVuc2ln
bmVkIGZpcnN0QXV0b1JlcGVhdFRyYWNrID0gaW5zZXJ0aW9uUG9pbnQgKyBzdGQ6OmFicyhncmlk
LnNtYWxsZXN0VHJhY2tTdGFydChkaXJlY3Rpb24pKTsKKyAgICB1bnNpZ25lZCBmaXJzdEF1dG9S
ZXBlYXRUcmFjayA9IGluc2VydGlvblBvaW50ICsgZ3JpZC5leHBsaWNpdEdyaWRTdGFydChkaXJl
Y3Rpb24pOwogICAgIHVuc2lnbmVkIGxhc3RBdXRvUmVwZWF0VHJhY2sgPSBmaXJzdEF1dG9SZXBl
YXRUcmFjayArIGdyaWQuYXV0b1JlcGVhdFRyYWNrcyhkaXJlY3Rpb24pOwogCiAgICAgaWYgKCFn
cmlkLmhhc0dyaWRJdGVtcygpKSB7CkBAIC02MTYsOSArNjE2LDkgQEAgdm9pZCBSZW5kZXJHcmlk
OjpwbGFjZUl0ZW1zT25HcmlkKEdyaWRUcmFja1NpemluZ0FsZ29yaXRobSYgYWxnb3JpdGhtLCBP
cHRpb25hbDwKIAogICAgICAgICBHcmlkQXJlYSBhcmVhID0gZ3JpZC5ncmlkSXRlbUFyZWEoKmNo
aWxkKTsKICAgICAgICAgaWYgKCFhcmVhLnJvd3MuaXNJbmRlZmluaXRlKCkpCi0gICAgICAgICAg
ICBhcmVhLnJvd3MudHJhbnNsYXRlKHN0ZDo6YWJzKGdyaWQuc21hbGxlc3RUcmFja1N0YXJ0KEZv
clJvd3MpKSk7CisgICAgICAgICAgICBhcmVhLnJvd3MudHJhbnNsYXRlKGdyaWQuZXhwbGljaXRH
cmlkU3RhcnQoRm9yUm93cykpOwogICAgICAgICBpZiAoIWFyZWEuY29sdW1ucy5pc0luZGVmaW5p
dGUoKSkKLSAgICAgICAgICAgIGFyZWEuY29sdW1ucy50cmFuc2xhdGUoc3RkOjphYnMoZ3JpZC5z
bWFsbGVzdFRyYWNrU3RhcnQoRm9yQ29sdW1ucykpKTsKKyAgICAgICAgICAgIGFyZWEuY29sdW1u
cy50cmFuc2xhdGUoZ3JpZC5leHBsaWNpdEdyaWRTdGFydChGb3JDb2x1bW5zKSk7CiAKICAgICAg
ICAgaWYgKGFyZWEucm93cy5pc0luZGVmaW5pdGUoKSB8fCBhcmVhLmNvbHVtbnMuaXNJbmRlZmlu
aXRlKCkpIHsKICAgICAgICAgICAgIGdyaWQuc2V0R3JpZEl0ZW1BcmVhKCpjaGlsZCwgYXJlYSk7
CkBAIC02ODgsOCArNjg4LDggQEAgdm9pZCBSZW5kZXJHcmlkOjpwZXJmb3JtR3JpZEl0ZW1zUHJl
TGF5b3V0KGNvbnN0IEdyaWRUcmFja1NpemluZ0FsZ29yaXRobSYgYWxnb3IKIHZvaWQgUmVuZGVy
R3JpZDo6cG9wdWxhdGVFeHBsaWNpdEdyaWRBbmRPcmRlckl0ZXJhdG9yKEdyaWQmIGdyaWQpIGNv
bnN0CiB7CiAgICAgT3JkZXJJdGVyYXRvclBvcHVsYXRvciBwb3B1bGF0b3IoZ3JpZC5vcmRlckl0
ZXJhdG9yKCkpOwotICAgIGludCBzbWFsbGVzdFJvd1N0YXJ0ID0gMDsKLSAgICBpbnQgc21hbGxl
c3RDb2x1bW5TdGFydCA9IDA7CisgICAgdW5zaWduZWQgZXhwbGljaXRSb3dTdGFydCA9IDA7Cisg
ICAgdW5zaWduZWQgZXhwbGljaXRDb2x1bW5TdGFydCA9IDA7CiAgICAgdW5zaWduZWQgYXV0b1Jl
cGVhdFJvd3MgPSBncmlkLmF1dG9SZXBlYXRUcmFja3MoRm9yUm93cyk7CiAgICAgdW5zaWduZWQg
YXV0b1JlcGVhdENvbHVtbnMgPSBncmlkLmF1dG9SZXBlYXRUcmFja3MoRm9yQ29sdW1ucyk7CiAg
ICAgdW5zaWduZWQgbWF4aW11bVJvd0luZGV4ID0gR3JpZFBvc2l0aW9uc1Jlc29sdmVyOjpleHBs
aWNpdEdyaWRSb3dDb3VudChzdHlsZSgpLCBhdXRvUmVwZWF0Um93cyk7CkBAIC03MDEsNyArNzAx
LDcgQEAgdm9pZCBSZW5kZXJHcmlkOjpwb3B1bGF0ZUV4cGxpY2l0R3JpZEFuZE9yZGVySXRlcmF0
b3IoR3JpZCYgZ3JpZCkgY29uc3QKICAgICAgICAgCiAgICAgICAgIEdyaWRTcGFuIHJvd1Bvc2l0
aW9ucyA9IEdyaWRQb3NpdGlvbnNSZXNvbHZlcjo6cmVzb2x2ZUdyaWRQb3NpdGlvbnNGcm9tU3R5
bGUoc3R5bGUoKSwgKmNoaWxkLCBGb3JSb3dzLCBhdXRvUmVwZWF0Um93cyk7CiAgICAgICAgIGlm
ICghcm93UG9zaXRpb25zLmlzSW5kZWZpbml0ZSgpKSB7Ci0gICAgICAgICAgICBzbWFsbGVzdFJv
d1N0YXJ0ID0gc3RkOjptaW4oc21hbGxlc3RSb3dTdGFydCwgcm93UG9zaXRpb25zLnVudHJhbnNs
YXRlZFN0YXJ0TGluZSgpKTsKKyAgICAgICAgICAgIGV4cGxpY2l0Um93U3RhcnQgPSBzdGQ6Om1h
eDxpbnQ+KGV4cGxpY2l0Um93U3RhcnQsIC1yb3dQb3NpdGlvbnMudW50cmFuc2xhdGVkU3RhcnRM
aW5lKCkpOwogICAgICAgICAgICAgbWF4aW11bVJvd0luZGV4ID0gc3RkOjptYXg8aW50PihtYXhp
bXVtUm93SW5kZXgsIHJvd1Bvc2l0aW9ucy51bnRyYW5zbGF0ZWRFbmRMaW5lKCkpOwogICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgICAgLy8gR3JvdyB0aGUgZ3JpZCBmb3IgaXRlbXMgd2l0aCBh
IGRlZmluaXRlIHJvdyBzcGFuLCBnZXR0aW5nIHRoZSBsYXJnZXN0IHN1Y2ggc3Bhbi4KQEAgLTcx
MSw3ICs3MTEsNyBAQCB2b2lkIFJlbmRlckdyaWQ6OnBvcHVsYXRlRXhwbGljaXRHcmlkQW5kT3Jk
ZXJJdGVyYXRvcihHcmlkJiBncmlkKSBjb25zdAogCiAgICAgICAgIEdyaWRTcGFuIGNvbHVtblBv
c2l0aW9ucyA9IEdyaWRQb3NpdGlvbnNSZXNvbHZlcjo6cmVzb2x2ZUdyaWRQb3NpdGlvbnNGcm9t
U3R5bGUoc3R5bGUoKSwgKmNoaWxkLCBGb3JDb2x1bW5zLCBhdXRvUmVwZWF0Q29sdW1ucyk7CiAg
ICAgICAgIGlmICghY29sdW1uUG9zaXRpb25zLmlzSW5kZWZpbml0ZSgpKSB7Ci0gICAgICAgICAg
ICBzbWFsbGVzdENvbHVtblN0YXJ0ID0gc3RkOjptaW4oc21hbGxlc3RDb2x1bW5TdGFydCwgY29s
dW1uUG9zaXRpb25zLnVudHJhbnNsYXRlZFN0YXJ0TGluZSgpKTsKKyAgICAgICAgICAgIGV4cGxp
Y2l0Q29sdW1uU3RhcnQgPSBzdGQ6Om1heDxpbnQ+KGV4cGxpY2l0Q29sdW1uU3RhcnQsIC1jb2x1
bW5Qb3NpdGlvbnMudW50cmFuc2xhdGVkU3RhcnRMaW5lKCkpOwogICAgICAgICAgICAgbWF4aW11
bUNvbHVtbkluZGV4ID0gc3RkOjptYXg8aW50PihtYXhpbXVtQ29sdW1uSW5kZXgsIGNvbHVtblBv
c2l0aW9ucy51bnRyYW5zbGF0ZWRFbmRMaW5lKCkpOwogICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgLy8gR3JvdyB0aGUgZ3JpZCBmb3IgaXRlbXMgd2l0aCBhIGRlZmluaXRlIGNvbHVtbiBz
cGFuLCBnZXR0aW5nIHRoZSBsYXJnZXN0IHN1Y2ggc3Bhbi4KQEAgLTcyMiw4ICs3MjIsOCBAQCB2
b2lkIFJlbmRlckdyaWQ6OnBvcHVsYXRlRXhwbGljaXRHcmlkQW5kT3JkZXJJdGVyYXRvcihHcmlk
JiBncmlkKSBjb25zdAogICAgICAgICBncmlkLnNldEdyaWRJdGVtQXJlYSgqY2hpbGQsIHsgcm93
UG9zaXRpb25zLCBjb2x1bW5Qb3NpdGlvbnMgfSk7CiAgICAgfQogCi0gICAgZ3JpZC5zZXRTbWFs
bGVzdFRyYWNrc1N0YXJ0KHNtYWxsZXN0Um93U3RhcnQsIHNtYWxsZXN0Q29sdW1uU3RhcnQpOwot
ICAgIGdyaWQuZW5zdXJlR3JpZFNpemUobWF4aW11bVJvd0luZGV4ICsgc3RkOjphYnMoc21hbGxl
c3RSb3dTdGFydCksIG1heGltdW1Db2x1bW5JbmRleCArIHN0ZDo6YWJzKHNtYWxsZXN0Q29sdW1u
U3RhcnQpKTsKKyAgICBncmlkLnNldEV4cGxpY2l0R3JpZFN0YXJ0KGV4cGxpY2l0Um93U3RhcnQs
IGV4cGxpY2l0Q29sdW1uU3RhcnQpOworICAgIGdyaWQuZW5zdXJlR3JpZFNpemUobWF4aW11bVJv
d0luZGV4ICsgZXhwbGljaXRSb3dTdGFydCwgbWF4aW11bUNvbHVtbkluZGV4ICsgZXhwbGljaXRD
b2x1bW5TdGFydCk7CiB9CiAKIHN0ZDo6dW5pcXVlX3B0cjxHcmlkQXJlYT4gUmVuZGVyR3JpZDo6
Y3JlYXRlRW1wdHlHcmlkQXJlYUF0U3BlY2lmaWVkUG9zaXRpb25zT3V0c2lkZUdyaWQoR3JpZCYg
Z3JpZCwgY29uc3QgUmVuZGVyQm94JiBncmlkSXRlbSwgR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9u
IHNwZWNpZmllZERpcmVjdGlvbiwgY29uc3QgR3JpZFNwYW4mIHNwZWNpZmllZFBvc2l0aW9ucykg
Y29uc3QKQEAgLTE1MjksOSArMTUyOSw5IEBAIExheW91dFVuaXQgUmVuZGVyR3JpZDo6Z3JpZEFy
ZWFCcmVhZHRoRm9yT3V0T2ZGbG93Q2hpbGQoY29uc3QgUmVuZGVyQm94JiBjaGlsZCwKICAgICBp
ZiAoc3Bhbi5pc0luZGVmaW5pdGUoKSkKICAgICAgICAgcmV0dXJuIGlzUm93QXhpcyA/IGNsaWVu
dExvZ2ljYWxXaWR0aCgpIDogY2xpZW50TG9naWNhbEhlaWdodCgpOwogCi0gICAgaW50IHNtYWxs
ZXN0U3RhcnQgPSBhYnMobV9ncmlkLnNtYWxsZXN0VHJhY2tTdGFydChkaXJlY3Rpb24pKTsKLSAg
ICBpbnQgc3RhcnRMaW5lID0gc3Bhbi51bnRyYW5zbGF0ZWRTdGFydExpbmUoKSArIHNtYWxsZXN0
U3RhcnQ7Ci0gICAgaW50IGVuZExpbmUgPSBzcGFuLnVudHJhbnNsYXRlZEVuZExpbmUoKSArIHNt
YWxsZXN0U3RhcnQ7CisgICAgdW5zaWduZWQgZXhwbGljaXRTdGFydCA9IG1fZ3JpZC5leHBsaWNp
dEdyaWRTdGFydChkaXJlY3Rpb24pOworICAgIGludCBzdGFydExpbmUgPSBzcGFuLnVudHJhbnNs
YXRlZFN0YXJ0TGluZSgpICsgZXhwbGljaXRTdGFydDsKKyAgICBpbnQgZW5kTGluZSA9IHNwYW4u
dW50cmFuc2xhdGVkRW5kTGluZSgpICsgZXhwbGljaXRTdGFydDsKICAgICBpbnQgbGFzdExpbmUg
PSBudW1UcmFja3MoZGlyZWN0aW9uLCBtX2dyaWQpOwogICAgIEdyaWRQb3NpdGlvbiBzdGFydFBv
c2l0aW9uID0gZGlyZWN0aW9uID09IEZvckNvbHVtbnMgPyBjaGlsZC5zdHlsZSgpLmdyaWRJdGVt
Q29sdW1uU3RhcnQoKSA6IGNoaWxkLnN0eWxlKCkuZ3JpZEl0ZW1Sb3dTdGFydCgpOwogICAgIEdy
aWRQb3NpdGlvbiBlbmRQb3NpdGlvbiA9IGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zID8gY2hpbGQu
c3R5bGUoKS5ncmlkSXRlbUNvbHVtbkVuZCgpIDogY2hpbGQuc3R5bGUoKS5ncmlkSXRlbVJvd0Vu
ZCgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>