<?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>171458</bug_id>
          
          <creation_ts>2017-04-28 15:55:50 -0700</creation_ts>
          <short_desc>Modernize RenderTreeAsText code</short_desc>
          <delta_ts>2017-04-28 17:49:05 -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>New Bugs</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1302845</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-04-28 15:55:50 -0700</bug_when>
    <thetext>Modernize RenderTreeAsText code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302847</commentid>
    <comment_count>1</comment_count>
      <attachid>308606</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-04-28 15:58:37 -0700</bug_when>
    <thetext>Created attachment 308606
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302917</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-04-28 17:49:05 -0700</bug_when>
    <thetext>https://trac.webkit.org/r215963</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308606</attachid>
            <date>2017-04-28 15:58:37 -0700</date>
            <delta_ts>2017-04-28 16:00:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171458-20170428155837.patch</filename>
            <type>text/plain</type>
            <size>13566</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1ODgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjkwMjgwMzkyMmFkMzBk
YTRkYjlkOTA0MWE4YzI2OWYxYTIyMjBlZS4uMWUwZjM2YzBjNmVhMDBhYTcyMjgzNjk0ZmFiYzc3
N2NiM2NjYTRhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE3LTA0LTI4ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1vZGVybml6ZSBS
ZW5kZXJUcmVlQXNUZXh0IGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3MTQ1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFVzZSBtb2Rlcm4gbG9vcHMuIE1vcmUgcmVmZXJlbmNlcyB0byByZW5kZXIg
b2JqZWN0cyBhbmQgbGF5ZXJzLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRyZWVBc1Rl
eHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6d3JpdGUpOgorICAgICAgICAoV2ViQ29yZTo6d3Jp
dGVSZW5kZXJOYW1lZEZsb3dUaHJlYWRzKToKKyAgICAgICAgKFdlYkNvcmU6OndyaXRlTGF5ZXJz
KToKKyAgICAgICAgKFdlYkNvcmU6OndyaXRlU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OmV4dGVybmFsUmVwcmVzZW50YXRpb24pOgorCiAyMDE3LTA0LTI3ICBaYWxhbiBCdWp0YXMgIDx6
YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIHRleHQtc2hhZG93IHRvIHZpc3VhbGl6ZSBz
aW1wbGUgbGluZSBsYXlvdXQgY292ZXJhZ2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVHJlZUFzVGV4dC5jcHAKaW5kZXggNDAzYjViNDhiYjk0NWRiMDcyNTM4ZDFmYzkwN2Yx
ZmU3MjVkYjNhMi4uOGQyMjkwYzY0MjhmMjQ5Y2VkNDc4NDZlZTk2MmJmNzEzYzk5MGFiOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcApAQCAtODEs
NyArODEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFt
ZXM7CiAKLXN0YXRpYyB2b2lkIHdyaXRlTGF5ZXJzKFRleHRTdHJlYW0mLCBjb25zdCBSZW5kZXJM
YXllciogcm9vdExheWVyLCBSZW5kZXJMYXllciosIGNvbnN0IExheW91dFJlY3QmIHBhaW50RGly
dHlSZWN0LCBpbnQgaW5kZW50ID0gMCwgUmVuZGVyQXNUZXh0QmVoYXZpb3IgPSBSZW5kZXJBc1Rl
eHRCZWhhdmlvck5vcm1hbCk7CitzdGF0aWMgdm9pZCB3cml0ZUxheWVycyhUZXh0U3RyZWFtJiwg
Y29uc3QgUmVuZGVyTGF5ZXImIHJvb3RMYXllciwgUmVuZGVyTGF5ZXImLCBjb25zdCBMYXlvdXRS
ZWN0JiBwYWludERpcnR5UmVjdCwgaW50IGluZGVudCA9IDAsIFJlbmRlckFzVGV4dEJlaGF2aW9y
ID0gUmVuZGVyQXNUZXh0QmVoYXZpb3JOb3JtYWwpOwogCiBzdGF0aWMgdm9pZCBwcmludEJvcmRl
clN0eWxlKFRleHRTdHJlYW0mIHRzLCBjb25zdCBFQm9yZGVyU3R5bGUgYm9yZGVyU3R5bGUpCiB7
CkBAIC01OTgsNyArNTk4LDcgQEAgdm9pZCB3cml0ZShUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVu
ZGVyT2JqZWN0JiBvLCBpbnQgaW5kZW50LCBSZW5kZXJBc1RleHRCZWhhdmkKICAgICAgICAgICAg
ICAgICBpZiAoIShiZWhhdmlvciAmIFJlbmRlckFzVGV4dERvbnRVcGRhdGVMYXlvdXQpKQogICAg
ICAgICAgICAgICAgICAgICB2aWV3LmxheW91dCgpOwogICAgICAgICAgICAgICAgIGlmIChSZW5k
ZXJMYXllciogbGF5ZXIgPSByb290LT5sYXllcigpKQotICAgICAgICAgICAgICAgICAgICB3cml0
ZUxheWVycyh0cywgbGF5ZXIsIGxheWVyLCBsYXllci0+cmVjdCgpLCBpbmRlbnQgKyAxLCBiZWhh
dmlvcik7CisgICAgICAgICAgICAgICAgICAgIHdyaXRlTGF5ZXJzKHRzLCAqbGF5ZXIsICpsYXll
ciwgbGF5ZXItPnJlY3QoKSwgaW5kZW50ICsgMSwgYmVoYXZpb3IpOwogICAgICAgICAgICAgfQog
ICAgICAgICB9CiAgICAgfQpAQCAtNzE5LDI1ICs3MTksMjAgQEAgc3RhdGljIHZvaWQgd3JpdGVS
ZW5kZXJSZWdpb25MaXN0KGNvbnN0IFJlbmRlclJlZ2lvbkxpc3QmIGZsb3dUaHJlYWRSZWdpb25M
aXN0LAogICAgIH0KIH0KIAotc3RhdGljIHZvaWQgd3JpdGVSZW5kZXJOYW1lZEZsb3dUaHJlYWRz
KFRleHRTdHJlYW0mIHRzLCBSZW5kZXJWaWV3JiByZW5kZXJWaWV3LCBjb25zdCBSZW5kZXJMYXll
ciogcm9vdExheWVyLAotICAgIGNvbnN0IExheW91dFJlY3QmIHBhaW50UmVjdCwgaW50IGluZGVu
dCwgUmVuZGVyQXNUZXh0QmVoYXZpb3IgYmVoYXZpb3IpCitzdGF0aWMgdm9pZCB3cml0ZVJlbmRl
ck5hbWVkRmxvd1RocmVhZHMoVGV4dFN0cmVhbSYgdHMsIFJlbmRlclZpZXcmIHJlbmRlclZpZXcs
IGNvbnN0IFJlbmRlckxheWVyJiByb290TGF5ZXIsIGNvbnN0IExheW91dFJlY3QmIHBhaW50UmVj
dCwgaW50IGluZGVudCwgUmVuZGVyQXNUZXh0QmVoYXZpb3IgYmVoYXZpb3IpCiB7CiAgICAgaWYg
KCFyZW5kZXJWaWV3Lmhhc1JlbmRlck5hbWVkRmxvd1RocmVhZHMoKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgY29uc3QgUmVuZGVyTmFtZWRGbG93VGhyZWFkTGlzdCogbGlzdCA9IHJlbmRlclZp
ZXcuZmxvd1RocmVhZENvbnRyb2xsZXIoKS5yZW5kZXJOYW1lZEZsb3dUaHJlYWRMaXN0KCk7Ci0K
ICAgICB3cml0ZUluZGVudCh0cywgaW5kZW50KTsKICAgICB0cyA8PCAiTmFtZWQgZmxvd3NcbiI7
CiAKLSAgICBmb3IgKFJlbmRlck5hbWVkRmxvd1RocmVhZExpc3Q6OmNvbnN0X2l0ZXJhdG9yIGl0
ZXIgPSBsaXN0LT5iZWdpbigpOyBpdGVyICE9IGxpc3QtPmVuZCgpOyArK2l0ZXIpIHsKLSAgICAg
ICAgY29uc3QgUmVuZGVyTmFtZWRGbG93VGhyZWFkKiByZW5kZXJGbG93VGhyZWFkID0gKml0ZXI7
Ci0KKyAgICBmb3IgKGNvbnN0IGF1dG8qIHJlbmRlckZsb3dUaHJlYWQgOiAqcmVuZGVyVmlldy5m
bG93VGhyZWFkQ29udHJvbGxlcigpLnJlbmRlck5hbWVkRmxvd1RocmVhZExpc3QoKSkgewogICAg
ICAgICB3cml0ZUluZGVudCh0cywgaW5kZW50ICsgMSk7CiAgICAgICAgIHRzIDw8ICJOYW1lZCBm
bG93ICciIDw8IHJlbmRlckZsb3dUaHJlYWQtPmZsb3dUaHJlYWROYW1lKCkgPDwgIidcbiI7CiAK
ICAgICAgICAgUmVuZGVyTGF5ZXIqIGxheWVyID0gcmVuZGVyRmxvd1RocmVhZC0+bGF5ZXIoKTsK
LSAgICAgICAgd3JpdGVMYXllcnModHMsIHJvb3RMYXllciwgbGF5ZXIsIHBhaW50UmVjdCwgaW5k
ZW50ICsgMiwgYmVoYXZpb3IpOworICAgICAgICB3cml0ZUxheWVycyh0cywgcm9vdExheWVyLCAq
bGF5ZXIsIHBhaW50UmVjdCwgaW5kZW50ICsgMiwgYmVoYXZpb3IpOwogCiAgICAgICAgIC8vIERp
c3BsYXkgdGhlIHZhbGlkIGFuZCBpbnZhbGlkIHJlbmRlciByZWdpb25zIGF0dGFjaGVkIHRvIHRo
aXMgZmxvdyB0aHJlYWQuCiAgICAgICAgIGNvbnN0IFJlbmRlclJlZ2lvbkxpc3QmIHZhbGlkUmVn
aW9uc0xpc3QgPSByZW5kZXJGbG93VGhyZWFkLT5yZW5kZXJSZWdpb25MaXN0KCk7CkBAIC03NjEs
NzUgKzc1Niw3OSBAQCBzdGF0aWMgTGF5b3V0U2l6ZSBtYXhMYXlvdXRPdmVyZmxvdyhjb25zdCBS
ZW5kZXJCb3gqIGJveCkKICAgICByZXR1cm4gTGF5b3V0U2l6ZShvdmVyZmxvd1JlY3QubWF4WCgp
LCBvdmVyZmxvd1JlY3QubWF4WSgpKTsKIH0KIAotc3RhdGljIHZvaWQgd3JpdGVMYXllcnMoVGV4
dFN0cmVhbSYgdHMsIGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJlbmRlckxheWVyKiBs
LAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTGF5b3V0UmVjdCYgcGFpbnRSZWN0LCBp
bnQgaW5kZW50LCBSZW5kZXJBc1RleHRCZWhhdmlvciBiZWhhdmlvcikKK3N0YXRpYyB2b2lkIHdy
aXRlTGF5ZXJzKFRleHRTdHJlYW0mIHRzLCBjb25zdCBSZW5kZXJMYXllciYgcm9vdExheWVyLCBS
ZW5kZXJMYXllciYgbGF5ZXIsIGNvbnN0IExheW91dFJlY3QmIHBhaW50UmVjdCwgaW50IGluZGVu
dCwgUmVuZGVyQXNUZXh0QmVoYXZpb3IgYmVoYXZpb3IpCiB7Ci0gICAgLy8gRklYTUU6IEFwcGx5
IG92ZXJmbG93IHRvIHRoZSByb290IGxheWVyIHRvIG5vdCBicmVhayBldmVyeSB0ZXN0LiAgQ29t
cGxldGUgaGFjay4gIFNpZ2guCisgICAgLy8gRklYTUU6IEFwcGx5IG92ZXJmbG93IHRvIHRoZSBy
b290IGxheWVyIHRvIG5vdCBicmVhayBldmVyeSB0ZXN0LiBDb21wbGV0ZSBoYWNrLiBTaWdoLgog
ICAgIExheW91dFJlY3QgcGFpbnREaXJ0eVJlY3QocGFpbnRSZWN0KTsKLSAgICBpZiAocm9vdExh
eWVyID09IGwpIHsKLSAgICAgICAgcGFpbnREaXJ0eVJlY3Quc2V0V2lkdGgoc3RkOjptYXg8TGF5
b3V0VW5pdD4ocGFpbnREaXJ0eVJlY3Qud2lkdGgoKSwgcm9vdExheWVyLT5yZW5kZXJCb3goKS0+
bGF5b3V0T3ZlcmZsb3dSZWN0KCkubWF4WCgpKSk7Ci0gICAgICAgIHBhaW50RGlydHlSZWN0LnNl
dEhlaWdodChzdGQ6Om1heDxMYXlvdXRVbml0PihwYWludERpcnR5UmVjdC5oZWlnaHQoKSwgcm9v
dExheWVyLT5yZW5kZXJCb3goKS0+bGF5b3V0T3ZlcmZsb3dSZWN0KCkubWF4WSgpKSk7Ci0gICAg
ICAgIGwtPnNldFNpemUobC0+c2l6ZSgpLmV4cGFuZGVkVG8oc25hcHBlZEludFNpemUobWF4TGF5
b3V0T3ZlcmZsb3cobC0+cmVuZGVyQm94KCkpLCBMYXlvdXRQb2ludCgwLCAwKSkpKTsKKyAgICBp
ZiAoJnJvb3RMYXllciA9PSAmbGF5ZXIpIHsKKyAgICAgICAgcGFpbnREaXJ0eVJlY3Quc2V0V2lk
dGgoc3RkOjptYXg8TGF5b3V0VW5pdD4ocGFpbnREaXJ0eVJlY3Qud2lkdGgoKSwgcm9vdExheWVy
LnJlbmRlckJveCgpLT5sYXlvdXRPdmVyZmxvd1JlY3QoKS5tYXhYKCkpKTsKKyAgICAgICAgcGFp
bnREaXJ0eVJlY3Quc2V0SGVpZ2h0KHN0ZDo6bWF4PExheW91dFVuaXQ+KHBhaW50RGlydHlSZWN0
LmhlaWdodCgpLCByb290TGF5ZXIucmVuZGVyQm94KCktPmxheW91dE92ZXJmbG93UmVjdCgpLm1h
eFkoKSkpOworICAgICAgICBsYXllci5zZXRTaXplKGxheWVyLnNpemUoKS5leHBhbmRlZFRvKHNu
YXBwZWRJbnRTaXplKG1heExheW91dE92ZXJmbG93KGxheWVyLnJlbmRlckJveCgpKSwgTGF5b3V0
UG9pbnQoMCwgMCkpKSk7CiAgICAgfQogICAgIAogICAgIC8vIENhbGN1bGF0ZSB0aGUgY2xpcCBy
ZWN0cyB3ZSBzaG91bGQgdXNlLgogICAgIExheW91dFJlY3QgbGF5ZXJCb3VuZHM7CiAgICAgQ2xp
cFJlY3QgZGFtYWdlUmVjdDsKICAgICBDbGlwUmVjdCBjbGlwUmVjdFRvQXBwbHk7Ci0gICAgbC0+
Y2FsY3VsYXRlUmVjdHMoUmVuZGVyTGF5ZXI6OkNsaXBSZWN0c0NvbnRleHQocm9vdExheWVyLCBU
ZW1wb3JhcnlDbGlwUmVjdHMpLCBwYWludERpcnR5UmVjdCwgbGF5ZXJCb3VuZHMsIGRhbWFnZVJl
Y3QsIGNsaXBSZWN0VG9BcHBseSwgbC0+b2Zmc2V0RnJvbUFuY2VzdG9yKHJvb3RMYXllcikpOwor
ICAgIGxheWVyLmNhbGN1bGF0ZVJlY3RzKFJlbmRlckxheWVyOjpDbGlwUmVjdHNDb250ZXh0KCZy
b290TGF5ZXIsIFRlbXBvcmFyeUNsaXBSZWN0cyksIHBhaW50RGlydHlSZWN0LCBsYXllckJvdW5k
cywgZGFtYWdlUmVjdCwgY2xpcFJlY3RUb0FwcGx5LCBsYXllci5vZmZzZXRGcm9tQW5jZXN0b3Io
JnJvb3RMYXllcikpOwogCiAgICAgLy8gRW5zdXJlIG91ciBsaXN0cyBhcmUgdXAtdG8tZGF0ZS4K
LSAgICBsLT51cGRhdGVMYXllckxpc3RzSWZOZWVkZWQoKTsKKyAgICBsYXllci51cGRhdGVMYXll
ckxpc3RzSWZOZWVkZWQoKTsKIAotICAgIGJvb2wgc2hvdWxkUGFpbnQgPSAoYmVoYXZpb3IgJiBS
ZW5kZXJBc1RleHRTaG93QWxsTGF5ZXJzKSA/IHRydWUgOiBsLT5pbnRlcnNlY3RzRGFtYWdlUmVj
dChsYXllckJvdW5kcywgZGFtYWdlUmVjdC5yZWN0KCksIHJvb3RMYXllciwgbC0+b2Zmc2V0RnJv
bUFuY2VzdG9yKHJvb3RMYXllcikpOwotICAgIFZlY3RvcjxSZW5kZXJMYXllcio+KiBuZWdMaXN0
ID0gbC0+bmVnWk9yZGVyTGlzdCgpOwotICAgIGJvb2wgcGFpbnRzQmFja2dyb3VuZFNlcGFyYXRl
bHkgPSBuZWdMaXN0ICYmIG5lZ0xpc3QtPnNpemUoKSA+IDA7CisgICAgYm9vbCBzaG91bGRQYWlu
dCA9IChiZWhhdmlvciAmIFJlbmRlckFzVGV4dFNob3dBbGxMYXllcnMpID8gdHJ1ZSA6IGxheWVy
LmludGVyc2VjdHNEYW1hZ2VSZWN0KGxheWVyQm91bmRzLCBkYW1hZ2VSZWN0LnJlY3QoKSwgJnJv
b3RMYXllciwgbGF5ZXIub2Zmc2V0RnJvbUFuY2VzdG9yKCZyb290TGF5ZXIpKTsKKyAgICBWZWN0
b3I8UmVuZGVyTGF5ZXIqPiogbmVnYXRpdmVaT3JkZXJMaXN0ID0gbGF5ZXIubmVnWk9yZGVyTGlz
dCgpOworICAgIGJvb2wgcGFpbnRzQmFja2dyb3VuZFNlcGFyYXRlbHkgPSBuZWdhdGl2ZVpPcmRl
ckxpc3QgJiYgbmVnYXRpdmVaT3JkZXJMaXN0LT5zaXplKCkgPiAwOwogICAgIGlmIChzaG91bGRQ
YWludCAmJiBwYWludHNCYWNrZ3JvdW5kU2VwYXJhdGVseSkKLSAgICAgICAgd3JpdGUodHMsICps
LCBsYXllckJvdW5kcywgZGFtYWdlUmVjdC5yZWN0KCksIGNsaXBSZWN0VG9BcHBseS5yZWN0KCks
IExheWVyUGFpbnRQaGFzZUJhY2tncm91bmQsIGluZGVudCwgYmVoYXZpb3IpOworICAgICAgICB3
cml0ZSh0cywgbGF5ZXIsIGxheWVyQm91bmRzLCBkYW1hZ2VSZWN0LnJlY3QoKSwgY2xpcFJlY3RU
b0FwcGx5LnJlY3QoKSwgTGF5ZXJQYWludFBoYXNlQmFja2dyb3VuZCwgaW5kZW50LCBiZWhhdmlv
cik7CiAKLSAgICBpZiAobmVnTGlzdCkgeworICAgIGlmIChuZWdhdGl2ZVpPcmRlckxpc3QpIHsK
ICAgICAgICAgaW50IGN1cnJJbmRlbnQgPSBpbmRlbnQ7CiAgICAgICAgIGlmIChiZWhhdmlvciAm
IFJlbmRlckFzVGV4dFNob3dMYXllck5lc3RpbmcpIHsKICAgICAgICAgICAgIHdyaXRlSW5kZW50
KHRzLCBpbmRlbnQpOwotICAgICAgICAgICAgdHMgPDwgIiBuZWdhdGl2ZSB6LW9yZGVyIGxpc3Qo
IiA8PCBuZWdMaXN0LT5zaXplKCkgPDwgIilcbiI7CisgICAgICAgICAgICB0cyA8PCAiIG5lZ2F0
aXZlIHotb3JkZXIgbGlzdCgiIDw8IG5lZ2F0aXZlWk9yZGVyTGlzdC0+c2l6ZSgpIDw8ICIpXG4i
OwogICAgICAgICAgICAgKytjdXJySW5kZW50OwogICAgICAgICB9Ci0gICAgICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgIT0gbmVnTGlzdC0+c2l6ZSgpOyArK2kpCi0gICAgICAgICAgICB3cml0
ZUxheWVycyh0cywgcm9vdExheWVyLCBuZWdMaXN0LT5hdChpKSwgcGFpbnREaXJ0eVJlY3QsIGN1
cnJJbmRlbnQsIGJlaGF2aW9yKTsKKyAgICAgICAgCisgICAgICAgIGZvciAoYXV0byogY3Vyckxh
eWVyIDogKm5lZ2F0aXZlWk9yZGVyTGlzdCkKKyAgICAgICAgICAgIHdyaXRlTGF5ZXJzKHRzLCBy
b290TGF5ZXIsICpjdXJyTGF5ZXIsIHBhaW50RGlydHlSZWN0LCBjdXJySW5kZW50LCBiZWhhdmlv
cik7CiAgICAgfQogCiAgICAgaWYgKHNob3VsZFBhaW50KQotICAgICAgICB3cml0ZSh0cywgKmws
IGxheWVyQm91bmRzLCBkYW1hZ2VSZWN0LnJlY3QoKSwgY2xpcFJlY3RUb0FwcGx5LnJlY3QoKSwg
cGFpbnRzQmFja2dyb3VuZFNlcGFyYXRlbHkgPyBMYXllclBhaW50UGhhc2VGb3JlZ3JvdW5kIDog
TGF5ZXJQYWludFBoYXNlQWxsLCBpbmRlbnQsIGJlaGF2aW9yKTsKKyAgICAgICAgd3JpdGUodHMs
IGxheWVyLCBsYXllckJvdW5kcywgZGFtYWdlUmVjdC5yZWN0KCksIGNsaXBSZWN0VG9BcHBseS5y
ZWN0KCksIHBhaW50c0JhY2tncm91bmRTZXBhcmF0ZWx5ID8gTGF5ZXJQYWludFBoYXNlRm9yZWdy
b3VuZCA6IExheWVyUGFpbnRQaGFzZUFsbCwgaW5kZW50LCBiZWhhdmlvcik7CiAKLSAgICBpZiAo
VmVjdG9yPFJlbmRlckxheWVyKj4qIG5vcm1hbEZsb3dMaXN0ID0gbC0+bm9ybWFsRmxvd0xpc3Qo
KSkgeworICAgIGlmIChWZWN0b3I8UmVuZGVyTGF5ZXIqPiogbm9ybWFsRmxvd0xpc3QgPSBsYXll
ci5ub3JtYWxGbG93TGlzdCgpKSB7CiAgICAgICAgIGludCBjdXJySW5kZW50ID0gaW5kZW50Owog
ICAgICAgICBpZiAoYmVoYXZpb3IgJiBSZW5kZXJBc1RleHRTaG93TGF5ZXJOZXN0aW5nKSB7CiAg
ICAgICAgICAgICB3cml0ZUluZGVudCh0cywgaW5kZW50KTsKICAgICAgICAgICAgIHRzIDw8ICIg
bm9ybWFsIGZsb3cgbGlzdCgiIDw8IG5vcm1hbEZsb3dMaXN0LT5zaXplKCkgPDwgIilcbiI7CiAg
ICAgICAgICAgICArK2N1cnJJbmRlbnQ7CiAgICAgICAgIH0KLSAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSAhPSBub3JtYWxGbG93TGlzdC0+c2l6ZSgpOyArK2kpCi0gICAgICAgICAgICB3
cml0ZUxheWVycyh0cywgcm9vdExheWVyLCBub3JtYWxGbG93TGlzdC0+YXQoaSksIHBhaW50RGly
dHlSZWN0LCBjdXJySW5kZW50LCBiZWhhdmlvcik7CisgICAgICAgIAorICAgICAgICBmb3IgKGF1
dG8qIGN1cnJMYXllciA6ICpub3JtYWxGbG93TGlzdCkKKyAgICAgICAgICAgIHdyaXRlTGF5ZXJz
KHRzLCByb290TGF5ZXIsICpjdXJyTGF5ZXIsIHBhaW50RGlydHlSZWN0LCBjdXJySW5kZW50LCBi
ZWhhdmlvcik7CiAgICAgfQogCi0gICAgaWYgKFZlY3RvcjxSZW5kZXJMYXllcio+KiBwb3NMaXN0
ID0gbC0+cG9zWk9yZGVyTGlzdCgpKSB7CisgICAgaWYgKFZlY3RvcjxSZW5kZXJMYXllcio+KiBw
b3NpdGl2ZVpPcmRlckxpc3QgPSBsYXllci5wb3NaT3JkZXJMaXN0KCkpIHsKICAgICAgICAgc2l6
ZV90IGxheWVyQ291bnQgPSAwOwotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpICE9IHBv
c0xpc3QtPnNpemUoKTsgKytpKQotICAgICAgICAgICAgaWYgKCFwb3NMaXN0LT5hdChpKS0+aXNG
bG93VGhyZWFkQ29sbGVjdGluZ0dyYXBoaWNzTGF5ZXJzVW5kZXJSZWdpb25zKCkpCisgICAgICAg
IGZvciAoYXV0byogY3VyckxheWVyIDogKnBvc2l0aXZlWk9yZGVyTGlzdCkgeworICAgICAgICAg
ICAgaWYgKCFjdXJyTGF5ZXItPmlzRmxvd1RocmVhZENvbGxlY3RpbmdHcmFwaGljc0xheWVyc1Vu
ZGVyUmVnaW9ucygpKQogICAgICAgICAgICAgICAgICsrbGF5ZXJDb3VudDsKKyAgICAgICAgfQor
ICAgICAgICAKICAgICAgICAgaWYgKGxheWVyQ291bnQpIHsKICAgICAgICAgICAgIGludCBjdXJy
SW5kZW50ID0gaW5kZW50OwogICAgICAgICAgICAgLy8gV2Ugb25seSBwcmludCB0aGUgaGVhZGVy
IGlmIHRoZXJlJ3MgYXQgbGlzdCBhIG5vbi1SZW5kZXJOYW1lZEZsb3dUaHJlYWQgcGFydCBvZiB0
aGUgbGlzdC4KLSAgICAgICAgICAgIGlmICghcG9zTGlzdC0+c2l6ZSgpIHx8ICFwb3NMaXN0LT5h
dCgwKS0+aXNGbG93VGhyZWFkQ29sbGVjdGluZ0dyYXBoaWNzTGF5ZXJzVW5kZXJSZWdpb25zKCkp
IHsKKyAgICAgICAgICAgIGlmICghcG9zaXRpdmVaT3JkZXJMaXN0LT5zaXplKCkgfHwgIXBvc2l0
aXZlWk9yZGVyTGlzdC0+YXQoMCktPmlzRmxvd1RocmVhZENvbGxlY3RpbmdHcmFwaGljc0xheWVy
c1VuZGVyUmVnaW9ucygpKSB7CiAgICAgICAgICAgICAgICAgaWYgKGJlaGF2aW9yICYgUmVuZGVy
QXNUZXh0U2hvd0xheWVyTmVzdGluZykgewogICAgICAgICAgICAgICAgICAgICB3cml0ZUluZGVu
dCh0cywgaW5kZW50KTsKLSAgICAgICAgICAgICAgICAgICAgdHMgPDwgIiBwb3NpdGl2ZSB6LW9y
ZGVyIGxpc3QoIiA8PCBwb3NMaXN0LT5zaXplKCkgPDwgIilcbiI7CisgICAgICAgICAgICAgICAg
ICAgIHRzIDw8ICIgcG9zaXRpdmUgei1vcmRlciBsaXN0KCIgPDwgcG9zaXRpdmVaT3JkZXJMaXN0
LT5zaXplKCkgPDwgIilcbiI7CiAgICAgICAgICAgICAgICAgICAgICsrY3VyckluZGVudDsKICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSAh
PSBwb3NMaXN0LT5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAg
ICAgIGZvciAoYXV0byogY3VyckxheWVyIDogKnBvc2l0aXZlWk9yZGVyTGlzdCkgewogICAgICAg
ICAgICAgICAgICAgICAvLyBEbyBub3QgcHJpbnQgbmFtZWQgZmxvd3MgdHdpY2UuCi0gICAgICAg
ICAgICAgICAgICAgIGlmICghcG9zTGlzdC0+YXQoaSktPmlzRmxvd1RocmVhZENvbGxlY3RpbmdH
cmFwaGljc0xheWVyc1VuZGVyUmVnaW9ucygpKQotICAgICAgICAgICAgICAgICAgICAgICAgd3Jp
dGVMYXllcnModHMsIHJvb3RMYXllciwgcG9zTGlzdC0+YXQoaSksIHBhaW50RGlydHlSZWN0LCBj
dXJySW5kZW50LCBiZWhhdmlvcik7CisgICAgICAgICAgICAgICAgICAgIGlmICghY3VyckxheWVy
LT5pc0Zsb3dUaHJlYWRDb2xsZWN0aW5nR3JhcGhpY3NMYXllcnNVbmRlclJlZ2lvbnMoKSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHdyaXRlTGF5ZXJzKHRzLCByb290TGF5ZXIsICpjdXJyTGF5
ZXIsIHBhaW50RGlydHlSZWN0LCBjdXJySW5kZW50LCBiZWhhdmlvcik7CiAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC04MzcsOCArODM2LDggQEAgc3RhdGlj
IHZvaWQgd3JpdGVMYXllcnMoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJlbmRlckxheWVyKiByb290
TGF5ZXIsIFJlbmRlckxheWUKICAgICAKICAgICAvLyBBbHRvdWdoIHRoZSBSZW5kZXJGbG93VGhy
ZWFkIHJlcXVpcmVzIGEgbGF5ZXIsIGl0IGlzIG5vdCBjb2xsZWN0ZWQgYnkgaXRzIHBhcmVudCwK
ICAgICAvLyBzbyB3ZSBoYXZlIHRvIHRyZWF0IGl0IGFzIGEgc3BlY2lhbCBjYXNlLgotICAgIGlm
IChpczxSZW5kZXJWaWV3PihsLT5yZW5kZXJlcigpKSkKLSAgICAgICAgd3JpdGVSZW5kZXJOYW1l
ZEZsb3dUaHJlYWRzKHRzLCBkb3duY2FzdDxSZW5kZXJWaWV3PihsLT5yZW5kZXJlcigpKSwgcm9v
dExheWVyLCBwYWludERpcnR5UmVjdCwgaW5kZW50LCBiZWhhdmlvcik7CisgICAgaWYgKGlzPFJl
bmRlclZpZXc+KGxheWVyLnJlbmRlcmVyKCkpKQorICAgICAgICB3cml0ZVJlbmRlck5hbWVkRmxv
d1RocmVhZHModHMsIGRvd25jYXN0PFJlbmRlclZpZXc+KGxheWVyLnJlbmRlcmVyKCkpLCByb290
TGF5ZXIsIHBhaW50RGlydHlSZWN0LCBpbmRlbnQsIGJlaGF2aW9yKTsKIH0KIAogc3RhdGljIFN0
cmluZyBub2RlUG9zaXRpb24oTm9kZSogbm9kZSkKQEAgLTg3NSwxMiArODc0LDEyIEBAIHN0YXRp
YyBTdHJpbmcgbm9kZVBvc2l0aW9uKE5vZGUqIG5vZGUpCiAgICAgcmV0dXJuIHJlc3VsdC50b1N0
cmluZygpOwogfQogCi1zdGF0aWMgdm9pZCB3cml0ZVNlbGVjdGlvbihUZXh0U3RyZWFtJiB0cywg
Y29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKK3N0YXRpYyB2b2lkIHdyaXRlU2VsZWN0aW9u
KFRleHRTdHJlYW0mIHRzLCBjb25zdCBSZW5kZXJCb3gmIHJlbmRlcmVyKQogewotICAgIGlmICgh
cmVuZGVyZXItPmlzUmVuZGVyVmlldygpKQorICAgIGlmICghcmVuZGVyZXIuaXNSZW5kZXJWaWV3
KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIEZyYW1lKiBmcmFtZSA9IHJlbmRlcmVyLT5kb2N1
bWVudCgpLmZyYW1lKCk7CisgICAgRnJhbWUqIGZyYW1lID0gcmVuZGVyZXIuZG9jdW1lbnQoKS5m
cmFtZSgpOwogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybjsKIApAQCAtODk1LDE2ICs4
OTQsMTYgQEAgc3RhdGljIHZvaWQgd3JpdGVTZWxlY3Rpb24oVGV4dFN0cmVhbSYgdHMsIGNvbnN0
IFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiAgICAgICAgICAgIDw8ICJzZWxlY3Rpb24gZW5kOiAg
IHBvc2l0aW9uICIgPDwgc2VsZWN0aW9uLmVuZCgpLmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkg
PDwgIiBvZiAiIDw8IG5vZGVQb3NpdGlvbihzZWxlY3Rpb24uZW5kKCkuZGVwcmVjYXRlZE5vZGUo
KSkgPDwgIlxuIjsKIH0KIAotc3RhdGljIFN0cmluZyBleHRlcm5hbFJlcHJlc2VudGF0aW9uKFJl
bmRlckJveCogcmVuZGVyZXIsIFJlbmRlckFzVGV4dEJlaGF2aW9yIGJlaGF2aW9yKQorc3RhdGlj
IFN0cmluZyBleHRlcm5hbFJlcHJlc2VudGF0aW9uKFJlbmRlckJveCYgcmVuZGVyZXIsIFJlbmRl
ckFzVGV4dEJlaGF2aW9yIGJlaGF2aW9yKQogewogICAgIFRleHRTdHJlYW0gdHMoVGV4dFN0cmVh
bTo6TGluZU1vZGU6Ok11bHRpcGxlTGluZSwgVGV4dFN0cmVhbTo6Rm9ybWF0dGluZzo6U1ZHU3R5
bGVSZWN0IHwgVGV4dFN0cmVhbTo6Rm9ybWF0dGluZzo6TGF5b3V0VW5pdHNBc0ludGVnZXJzKTsK
LSAgICBpZiAoIXJlbmRlcmVyLT5oYXNMYXllcigpKQorICAgIGlmICghcmVuZGVyZXIuaGFzTGF5
ZXIoKSkKICAgICAgICAgcmV0dXJuIHRzLnJlbGVhc2UoKTsKIAogICAgIExPRyhMYXlvdXQsICJl
eHRlcm5hbFJlcHJlc2VudGF0aW9uOiBkdW1waW5nIGxheWVyIHRyZWUiKTsKIAotICAgIFJlbmRl
ckxheWVyKiBsYXllciA9IHJlbmRlcmVyLT5sYXllcigpOwotICAgIHdyaXRlTGF5ZXJzKHRzLCBs
YXllciwgbGF5ZXIsIGxheWVyLT5yZWN0KCksIDAsIGJlaGF2aW9yKTsKKyAgICBSZW5kZXJMYXll
ciYgbGF5ZXIgPSAqcmVuZGVyZXIubGF5ZXIoKTsKKyAgICB3cml0ZUxheWVycyh0cywgbGF5ZXIs
IGxheWVyLCBsYXllci5yZWN0KCksIDAsIGJlaGF2aW9yKTsKICAgICB3cml0ZVNlbGVjdGlvbih0
cywgcmVuZGVyZXIpOwogICAgIHJldHVybiB0cy5yZWxlYXNlKCk7CiB9CkBAIC05MjEsNyArOTIw
LDcgQEAgU3RyaW5nIGV4dGVybmFsUmVwcmVzZW50YXRpb24oRnJhbWUqIGZyYW1lLCBSZW5kZXJB
c1RleHRCZWhhdmlvciBiZWhhdmlvcikKICAgICBpZiAoIShiZWhhdmlvciAmIFJlbmRlckFzVGV4
dERvbnRVcGRhdGVMYXlvdXQpKQogICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+dXBkYXRlTGF5
b3V0KCk7CiAKLSAgICByZXR1cm4gZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihyZW5kZXJlciwgYmVo
YXZpb3IpOworICAgIHJldHVybiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKCpyZW5kZXJlciwgYmVo
YXZpb3IpOwogfQogCiBTdHJpbmcgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihFbGVtZW50KiBlbGVt
ZW50LCBSZW5kZXJBc1RleHRCZWhhdmlvciBiZWhhdmlvcikKQEAgLTkzNCw3ICs5MzMsNyBAQCBT
dHJpbmcgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihFbGVtZW50KiBlbGVtZW50LCBSZW5kZXJBc1Rl
eHRCZWhhdmlvciBiZWhhdmlvcikKICAgICBpZiAoIShiZWhhdmlvciAmIFJlbmRlckFzVGV4dERv
bnRVcGRhdGVMYXlvdXQpKQogICAgICAgICBlbGVtZW50LT5kb2N1bWVudCgpLnVwZGF0ZUxheW91
dCgpOwogICAgIAotICAgIHJldHVybiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKGRvd25jYXN0PFJl
bmRlckJveD4ocmVuZGVyZXIpLCBiZWhhdmlvciB8IFJlbmRlckFzVGV4dFNob3dBbGxMYXllcnMp
OworICAgIHJldHVybiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKGRvd25jYXN0PFJlbmRlckJveD4o
KnJlbmRlcmVyKSwgYmVoYXZpb3IgfCBSZW5kZXJBc1RleHRTaG93QWxsTGF5ZXJzKTsKIH0KIAog
c3RhdGljIHZvaWQgd3JpdGVDb3VudGVyVmFsdWVzRnJvbUNoaWxkcmVuKFRleHRTdHJlYW0mIHN0
cmVhbSwgY29uc3QgUmVuZGVyRWxlbWVudCogcGFyZW50LCBib29sJiBpc0ZpcnN0Q291bnRlcikK
</data>
<flag name="review"
          id="329747"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
      

    </bug>

</bugzilla>