<?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>95375</bug_id>
          
          <creation_ts>2012-08-29 13:52:30 -0700</creation_ts>
          <short_desc>[New Multicolumn] Rename methods to prepare for proper pagination of columns</short_desc>
          <delta_ts>2012-08-29 14:27:36 -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>528+ (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="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>707830</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2012-08-29 13:52:30 -0700</bug_when>
    <thetext>Rename methods to prepare for proper pagination of columns. Make these methods more closely resemble their callers in RenderBlock.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707835</commentid>
    <comment_count>1</comment_count>
      <attachid>161307</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2012-08-29 13:58:39 -0700</bug_when>
    <thetext>Created attachment 161307
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707872</commentid>
    <comment_count>2</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2012-08-29 14:27:36 -0700</bug_when>
    <thetext>Fix landed in r127051.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161307</attachid>
            <date>2012-08-29 13:58:39 -0700</date>
            <delta_ts>2012-08-29 14:03:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>19597</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNzA0NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDY0IEBACisyMDEyLTA4LTI5ICBEYXZpZCBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBbTmV3IE11bHRpY29sdW1uXSBSZW5h
bWUgbWV0aG9kcyB0byBwcmVwYXJlIGZvciBwcm9wZXIgcGFnaW5hdGlvbiBvZiBjb2x1bW5zCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTM3NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
aXMgZG9pbmcgc29tZSByZW5hbWluZyBhbmQgcmVmYWN0b3JpbmcgdG8gcHJlcGFyZSBmb3IgcHJv
cGVyIHBhZ2luYXRpb24gb2YgY29sdW1ucy4gTW9zdCBvZiB0aGUgcmVuYW1lcworICAgICAgICBp
bnZvbHZlZCBjaGFuZ2luZyBSZW5kZXJGbG93VGhyZWFkIGZ1bmN0aW9ucyB0byBleGFjdGx5IG1h
dGNoIHRoZSBuYW1lcyBvZiB0aGVpciBSZW5kZXJCbG9jayBjYWxsZXJzLiBUaGVzZSBuYW1lcwor
ICAgICAgICBlbmQgdXAgYmVpbmcgbW9yZSBhY2N1cmF0ZSBvbmNlIHRoZSB0b3Agb2YgYSBwYWdl
IGFuZCByZW1haW5pbmcgaGVpZ2h0IG9uIGEgcGFnZSBubyBsb25nZXIgaGF2ZSBhIDE6MSBtYXBw
aW5nIHRvCisgICAgICAgIHRoZSBSZW5kZXJSZWdpb24ncyBkaW1lbnNpb25zLgorICAgICAgICAK
KyAgICAgICAgVGhlIHJlbmFtZXMvYWRkaXRpb25zIGluY2x1ZGU6CisgICAgICAgICAgICByZW5k
ZXJSZWdpb25Gb3JMaW5lIC0+IHJlZ2lvbkF0QmxvY2tPZmZzZXQKKyAgICAgICAgICAgIEp1c3Rp
ZmljYXRpb246IFRoZSBibG9jayBtZXRob2QgaXMgYWxyZWFkeSBjYWxsZWQgcmVnaW9uQXRCbG9j
a09mZnNldC4gTm8gbGluZXMgYXJlIGludm9sdmVkLCBzbyBsaW5lIHdhcworICAgICAgICAgICAg
bmV2ZXIgdGhlIGNvcnJlY3QgdGVybSB0byBiZSBwYXNzaW5nIGluLgorICAgICAgICAgICAgCisg
ICAgICAgICAgICByZWdpb25Mb2dpY2FsWFhYRm9yTGluZSAtPiBwYWdlTG9naWNhbFhYWEZvck9m
ZnNldAorICAgICAgICAgICAgSnVzdGlmaWNhdGlvbjogTWF0Y2hlcyB0aGUgUmVuZGVyQmxvY2sg
Y2FsbGVycywgYW5kIGl0J3MgbW9yZSBhY2N1cmF0ZSB0byB0YWxrIGluIHRlcm1zIG9mICJwYWdl
cyIgbm93IHRoYXQKKyAgICAgICAgICAgIHdlIGhhdmUgUmVuZGVyUmVnaW9uU2V0cyB0aGF0IGNh
biBjb250YWluIG11bHRpcGxlICJwYWdlcyIgaW4gYSBzaW5nbGUgcmVnaW9uLgorICAgICAgICAg
ICAgCisgICAgICAgICAgICBsb2dpY2FsV2lkdGhGb3JGbG93VGhyZWFkQ29udGVudC9sb2dpY2Fs
SGVpZ2h0Rm9yRmxvd1RocmVhZENvbnRlbnQgLT4gcGFnZUxvZ2ljYWxXaWR0aC9IZWlnaHQuCisg
ICAgICAgICAgICBKdXN0aWZpY2F0aW9uOiBNYWtlcyBpdCBtb3JlIGNsZWFyIHdlJ3JlIHRhbGtp
bmcgYWJvdXQgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb2YgYSBzaW5nbGUgcGFnZS9jb2x1bW4gcmF0
aGVyCisgICAgICAgICAgICB0aGFuIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSByZWdpb24g
aXRzZWxmLgorICAgICAgICAgICAgCisgICAgICAgICAgICBsb2dpY2FsSGVpZ2h0T2ZBbGxGbG93
VGhyZWFkQ29udGVudAorICAgICAgICAgICAgVGhpcyBtZXRob2QgaXMgbmV3IGFuZCByZXByZXNl
bnRzIHRoZSB0b3RhbCBmbG93IHRocmVhZCBsb2dpY2FsIGhlaWdodCB0aGF0IGlzIGNvbnN1bWVk
IGJ5IHRoZSByZWdpb24uCisgICAgICAgICAgICBJdCBoYXMgdG8gYmUgZGlzdGluZ3Vpc2hlZCBm
cm9tIHRoZSBwYWdlTG9naWNhbEhlaWdodCBmb3IgYSByZWdpb24gc2luY2Ugc2V0cyBjYW4gaGF2
ZSBtdWx0aXBsZSBwYWdlcy9jb2x1bW5zLgorCisgICAgICAgIE5vdGUgd2l0aCB0aGlzIHBhdGNo
IHdlJ3JlIGVzc2VudGlhbGx5IGFkb3B0aW5nIHRoZSBjb252ZW50aW9uIHVzZWQgYnkgYWxsIG9m
IHRoZSBwYWdpbmF0aW9uIGNvZGUgYmVzaWRlcyByZWdpb25zCisgICAgICAgIG9mIHJlZmVycmlu
ZyB0byBhbnl0aGluZyB3ZSBwYWdpbmF0ZSBhcyBhICJwYWdlLiIgSSBjb250aW51ZSB0byBiZWxp
ZXZlIHRoaXMgaXMgdGhlIHNpbXBsZXN0IHdheSB0byB0YWxrIGFib3V0CisgICAgICAgIHRoZXNl
IG9iamVjdHMgaW4gY29kZSB0aGF0IGlzIGdlbmVyaWNhbGx5IGRlYWxpbmcgd2l0aCBhbGwgdGhy
ZWUgKGxpa2UgdGhlIGJyZWFraW5nIGNvZGUgaW4gUmVuZGVyQmxvY2spLgorIAorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6aGFzTmV4dFBhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnBhZ2VMb2dp
Y2FsVG9wRm9yT2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpwYWdlTG9n
aWNhbEhlaWdodEZvck9mZnNldCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cGFn
ZVJlbWFpbmluZ0xvZ2ljYWxIZWlnaHRGb3JPZmZzZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQmxvY2s6OnJlZ2lvbkF0QmxvY2tPZmZzZXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJGbG93VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsb3dUaHJlYWQ6Omxh
eW91dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhyZWFkOjpjb21wdXRlTG9naWNh
bFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsb3dUaHJlYWQ6OmNvbXB1dGVMb2dp
Y2FsSGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsb3dUaHJlYWQ6OnJlZ2lvbkF0
QmxvY2tPZmZzZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxvd1RocmVhZDo6cGFnZUxv
Z2ljYWxUb3BGb3JPZmZzZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxvd1RocmVhZDo6
cGFnZUxvZ2ljYWxXaWR0aEZvck9mZnNldCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93
VGhyZWFkOjpwYWdlTG9naWNhbEhlaWdodEZvck9mZnNldCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJGbG93VGhyZWFkOjpwYWdlUmVtYWluaW5nTG9naWNhbEhlaWdodEZvck9mZnNldCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhyZWFkOjptYXBGcm9tRmxvd1RvUmVnaW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsb3dUaHJlYWQ6OnNldFJlZ2lvblJhbmdlRm9yQm94
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJSZWdpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVnaW9uOjpwYWdlTG9naWNh
bFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlZ2lvbjo6cGFnZUxvZ2ljYWxIZWln
aHQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZWdpb246
OmxvZ2ljYWxIZWlnaHRPZkFsbEZsb3dUaHJlYWRDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclJlZ2lvbjo6bGF5b3V0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVnaW9u
Lmg6CisgICAgICAgIChSZW5kZXJSZWdpb24pOgorCiAyMDEyLTA4LTI5ICBSYWZhZWwgQnJhbmRh
byAgPHJhZmFlbC5sb2JvQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgVXNlIEFuaW1hdGlvbjo6
SXRlcmF0aW9uQ291bnRJbmZpbml0ZSBpbnN0ZWFkIG9mIC0xIHdoZW4gc2V0dGluZyBpdGVyYXRp
b24gY291bnQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAko
cmV2aXNpb24gMTI3MDA3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjg3Niw3ICs2ODc2LDcgQEAgYm9vbCBSZW5kZXJCbG9j
azo6aGFzTmV4dFBhZ2UoTGF5b3V0VW5pdAogCiAgICAgLy8gU2VlIGlmIHdlJ3JlIGluIHRoZSBs
YXN0IHJlZ2lvbi4KICAgICBMYXlvdXRVbml0IHBhZ2VPZmZzZXQgPSBvZmZzZXRGcm9tTG9naWNh
bFRvcE9mRmlyc3RQYWdlKCkgKyBsb2dpY2FsT2Zmc2V0OwotICAgIFJlbmRlclJlZ2lvbiogcmVn
aW9uID0gZW5jbG9zaW5nUmVuZGVyRmxvd1RocmVhZCgpLT5yZW5kZXJSZWdpb25Gb3JMaW5lKHBh
Z2VPZmZzZXQsIHRoaXMpOworICAgIFJlbmRlclJlZ2lvbiogcmVnaW9uID0gZW5jbG9zaW5nUmVu
ZGVyRmxvd1RocmVhZCgpLT5yZWdpb25BdEJsb2NrT2Zmc2V0KHBhZ2VPZmZzZXQsIHRoaXMpOwog
ICAgIGlmICghcmVnaW9uKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKHJlZ2lvbi0+
aXNMYXN0UmVnaW9uKCkpCkBAIC02OTYzLDcgKzY5NjMsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJs
b2NrOjpwYWdlTG9naWNhbFRvcEZvCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgcmV0
dXJuIGN1bXVsYXRpdmVPZmZzZXQgLSByb3VuZFRvSW50KGN1bXVsYXRpdmVPZmZzZXQgLSBmaXJz
dFBhZ2VMb2dpY2FsVG9wKSAlIHJvdW5kVG9JbnQocGFnZUxvZ2ljYWxIZWlnaHQpOwogICAgIH0K
LSAgICByZXR1cm4gZW5jbG9zaW5nUmVuZGVyRmxvd1RocmVhZCgpLT5yZWdpb25Mb2dpY2FsVG9w
Rm9yTGluZShjdW11bGF0aXZlT2Zmc2V0KTsKKyAgICByZXR1cm4gZW5jbG9zaW5nUmVuZGVyRmxv
d1RocmVhZCgpLT5wYWdlTG9naWNhbFRvcEZvck9mZnNldChjdW11bGF0aXZlT2Zmc2V0KTsKIH0K
IAogTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6cGFnZUxvZ2ljYWxIZWlnaHRGb3JPZmZzZXQoTGF5
b3V0VW5pdCBvZmZzZXQpIGNvbnN0CkBAIC02OTcxLDcgKzY5NzEsNyBAQCBMYXlvdXRVbml0IFJl
bmRlckJsb2NrOjpwYWdlTG9naWNhbEhlaWdoCiAgICAgUmVuZGVyVmlldyogcmVuZGVyVmlldyA9
IHZpZXcoKTsKICAgICBpZiAoIWluUmVuZGVyRmxvd1RocmVhZCgpKQogICAgICAgICByZXR1cm4g
cmVuZGVyVmlldy0+bGF5b3V0U3RhdGUoKS0+bV9wYWdlTG9naWNhbEhlaWdodDsKLSAgICByZXR1
cm4gZW5jbG9zaW5nUmVuZGVyRmxvd1RocmVhZCgpLT5yZWdpb25Mb2dpY2FsSGVpZ2h0Rm9yTGlu
ZShvZmZzZXQgKyBvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlKCkpOworICAgIHJldHVy
biBlbmNsb3NpbmdSZW5kZXJGbG93VGhyZWFkKCktPnBhZ2VMb2dpY2FsSGVpZ2h0Rm9yT2Zmc2V0
KG9mZnNldCArIG9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2UoKSk7CiB9CiAKIExheW91
dFVuaXQgUmVuZGVyQmxvY2s6OnBhZ2VSZW1haW5pbmdMb2dpY2FsSGVpZ2h0Rm9yT2Zmc2V0KExh
eW91dFVuaXQgb2Zmc2V0LCBQYWdlQm91bmRhcnlSdWxlIHBhZ2VCb3VuZGFyeVJ1bGUpIGNvbnN0
CkBAIC02OTkwLDcgKzY5OTAsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJsb2NrOjpwYWdlUmVtYWlu
aW5nTG9nCiAgICAgICAgIHJldHVybiByZW1haW5pbmdIZWlnaHQ7CiAgICAgfQogICAgIAotICAg
IHJldHVybiBlbmNsb3NpbmdSZW5kZXJGbG93VGhyZWFkKCktPnJlZ2lvblJlbWFpbmluZ0xvZ2lj
YWxIZWlnaHRGb3JMaW5lKG9mZnNldCwgcGFnZUJvdW5kYXJ5UnVsZSk7CisgICAgcmV0dXJuIGVu
Y2xvc2luZ1JlbmRlckZsb3dUaHJlYWQoKS0+cGFnZVJlbWFpbmluZ0xvZ2ljYWxIZWlnaHRGb3JP
ZmZzZXQob2Zmc2V0LCBwYWdlQm91bmRhcnlSdWxlKTsKIH0KIAogTGF5b3V0VW5pdCBSZW5kZXJC
bG9jazo6YWRqdXN0Rm9yVW5zcGxpdHRhYmxlQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCwgTGF5b3V0
VW5pdCBsb2dpY2FsT2Zmc2V0LCBib29sIGluY2x1ZGVNYXJnaW5zKQpAQCAtNzE5Nyw3ICs3MTk3
LDcgQEAgUmVuZGVyUmVnaW9uKiBSZW5kZXJCbG9jazo6cmVnaW9uQXRCbG9jawogICAgIGlmICgh
Zmxvd1RocmVhZCB8fCAhZmxvd1RocmVhZC0+aGFzVmFsaWRSZWdpb25JbmZvKCkpCiAgICAgICAg
IHJldHVybiAwOwogCi0gICAgcmV0dXJuIGZsb3dUaHJlYWQtPnJlbmRlclJlZ2lvbkZvckxpbmUo
b2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSgpICsgYmxvY2tPZmZzZXQsIHRydWUpOwor
ICAgIHJldHVybiBmbG93VGhyZWFkLT5yZWdpb25BdEJsb2NrT2Zmc2V0KG9mZnNldEZyb21Mb2dp
Y2FsVG9wT2ZGaXJzdFBhZ2UoKSArIGJsb2NrT2Zmc2V0LCB0cnVlKTsKIH0KIAogdm9pZCBSZW5k
ZXJCbG9jazo6c2V0U3RhdGljSW5saW5lUG9zaXRpb25Gb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxk
LCBMYXlvdXRVbml0IGJsb2NrT2Zmc2V0LCBMYXlvdXRVbml0IGlubGluZVBvc2l0aW9uKQpJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcAkocmV2
aXNpb24gMTI3MDA3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJl
YWQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTAsOCArMTUwLDggQEAgdm9pZCBSZW5kZXJGbG93
VGhyZWFkOjpsYXlvdXQoKQogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIHJlZ2lv
bi0+ZGVsZXRlQWxsUmVuZGVyQm94UmVnaW9uSW5mbygpOwogCi0gICAgICAgICAgICAgICAgTGF5
b3V0VW5pdCByZWdpb25Mb2dpY2FsV2lkdGggPSByZWdpb24tPmxvZ2ljYWxXaWR0aEZvckZsb3dU
aHJlYWRDb250ZW50KCk7Ci0gICAgICAgICAgICAgICAgTGF5b3V0VW5pdCByZWdpb25Mb2dpY2Fs
SGVpZ2h0ID0gcmVnaW9uLT5sb2dpY2FsSGVpZ2h0Rm9yRmxvd1RocmVhZENvbnRlbnQoKTsKKyAg
ICAgICAgICAgICAgICBMYXlvdXRVbml0IHJlZ2lvbkxvZ2ljYWxXaWR0aCA9IHJlZ2lvbi0+cGFn
ZUxvZ2ljYWxXaWR0aCgpOworICAgICAgICAgICAgICAgIExheW91dFVuaXQgcmVnaW9uTG9naWNh
bEhlaWdodCA9IHJlZ2lvbi0+cGFnZUxvZ2ljYWxIZWlnaHQoKTsKIAogICAgICAgICAgICAgICAg
IGlmICghbV9oYXNWYWxpZFJlZ2lvbnMpCiAgICAgICAgICAgICAgICAgICAgIG1faGFzVmFsaWRS
ZWdpb25zID0gdHJ1ZTsKQEAgLTE3Myw4ICsxNzMsOCBAQCB2b2lkIFJlbmRlckZsb3dUaHJlYWQ6
OmxheW91dCgpCiAgICAgICAgICAgICAgICAgaWYgKCFyZWdpb24tPmlzVmFsaWQoKSkKICAgICAg
ICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgIAotICAgICAgICAg
ICAgICAgIExheW91dFVuaXQgcmVnaW9uTG9naWNhbFdpZHRoID0gcmVnaW9uLT5sb2dpY2FsV2lk
dGhGb3JGbG93VGhyZWFkQ29udGVudCgpOwotICAgICAgICAgICAgICAgIExheW91dFVuaXQgcmVn
aW9uTG9naWNhbEhlaWdodCA9IHJlZ2lvbi0+bG9naWNhbEhlaWdodEZvckZsb3dUaHJlYWRDb250
ZW50KCk7CisgICAgICAgICAgICAgICAgTGF5b3V0VW5pdCByZWdpb25Mb2dpY2FsV2lkdGggPSBy
ZWdpb24tPnBhZ2VMb2dpY2FsV2lkdGgoKTsKKyAgICAgICAgICAgICAgICBMYXlvdXRVbml0IHJl
Z2lvbkxvZ2ljYWxIZWlnaHQgPSByZWdpb24tPmxvZ2ljYWxIZWlnaHRPZkFsbEZsb3dUaHJlYWRD
b250ZW50KCk7CiAgICAgCiAgICAgICAgICAgICAgICAgTGF5b3V0UmVjdCByZWdpb25SZWN0KHN0
eWxlKCktPmRpcmVjdGlvbigpID09IExUUiA/IFpFUk9fTEFZT1VUX1VOSVQgOiBsb2dpY2FsV2lk
dGgoKSAtIHJlZ2lvbkxvZ2ljYWxXaWR0aCwgbG9naWNhbEhlaWdodCwgcmVnaW9uTG9naWNhbFdp
ZHRoLCByZWdpb25Mb2dpY2FsSGVpZ2h0KTsKICAgICAgICAgICAgICAgICByZWdpb24tPnNldEZs
b3dUaHJlYWRQb3J0aW9uUmVjdChpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gcmVnaW9uUmVj
dCA6IHJlZ2lvblJlY3QudHJhbnNwb3NlZFJlY3QoKSk7CkBAIC0yMDMsNyArMjAzLDcgQEAgdm9p
ZCBSZW5kZXJGbG93VGhyZWFkOjpjb21wdXRlTG9naWNhbFdpZAogICAgICAgICBpZiAoIXJlZ2lv
bi0+aXNWYWxpZCgpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIEFTU0VSVCghcmVn
aW9uLT5uZWVkc0xheW91dCgpKTsKLSAgICAgICAgbG9naWNhbFdpZHRoID0gbWF4KHJlZ2lvbi0+
bG9naWNhbFdpZHRoRm9yRmxvd1RocmVhZENvbnRlbnQoKSwgbG9naWNhbFdpZHRoKTsKKyAgICAg
ICAgbG9naWNhbFdpZHRoID0gbWF4KHJlZ2lvbi0+cGFnZUxvZ2ljYWxXaWR0aCgpLCBsb2dpY2Fs
V2lkdGgpOwogICAgIH0KICAgICBzZXRMb2dpY2FsV2lkdGgobG9naWNhbFdpZHRoKTsKIApAQCAt
MjEzLDcgKzIxMyw3IEBAIHZvaWQgUmVuZGVyRmxvd1RocmVhZDo6Y29tcHV0ZUxvZ2ljYWxXaWQK
ICAgICAgICAgaWYgKCFyZWdpb24tPmlzVmFsaWQoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgICAKLSAgICAgICAgTGF5b3V0VW5pdCByZWdpb25Mb2dpY2FsV2lkdGggPSByZWdpb24t
PmxvZ2ljYWxXaWR0aEZvckZsb3dUaHJlYWRDb250ZW50KCk7CisgICAgICAgIExheW91dFVuaXQg
cmVnaW9uTG9naWNhbFdpZHRoID0gcmVnaW9uLT5wYWdlTG9naWNhbFdpZHRoKCk7CiAgICAgICAg
IGlmIChyZWdpb25Mb2dpY2FsV2lkdGggIT0gbG9naWNhbFdpZHRoKSB7CiAgICAgICAgICAgICBM
YXlvdXRVbml0IGxvZ2ljYWxMZWZ0ID0gc3R5bGUoKS0+ZGlyZWN0aW9uKCkgPT0gTFRSID8gWkVS
T19MQVlPVVRfVU5JVCA6IGxvZ2ljYWxXaWR0aCAtIHJlZ2lvbkxvZ2ljYWxXaWR0aDsKICAgICAg
ICAgICAgIHJlZ2lvbi0+c2V0UmVuZGVyQm94UmVnaW9uSW5mbyh0aGlzLCBsb2dpY2FsTGVmdCwg
cmVnaW9uTG9naWNhbFdpZHRoLCBmYWxzZSk7CkBAIC0yMzAsNyArMjMwLDcgQEAgdm9pZCBSZW5k
ZXJGbG93VGhyZWFkOjpjb21wdXRlTG9naWNhbEhlaQogICAgICAgICBpZiAoIXJlZ2lvbi0+aXNW
YWxpZCgpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIEFTU0VSVCghcmVnaW9uLT5u
ZWVkc0xheW91dCgpKTsKLSAgICAgICAgbG9naWNhbEhlaWdodCArPSByZWdpb24tPmxvZ2ljYWxI
ZWlnaHRGb3JGbG93VGhyZWFkQ29udGVudCgpOworICAgICAgICBsb2dpY2FsSGVpZ2h0ICs9IHJl
Z2lvbi0+bG9naWNhbEhlaWdodE9mQWxsRmxvd1RocmVhZENvbnRlbnQoKTsKICAgICB9CiAKICAg
ICBzZXRMb2dpY2FsSGVpZ2h0KGxvZ2ljYWxIZWlnaHQpOwpAQCAtMzQ2LDcgKzM0Niw3IEBAIHZv
aWQgUmVuZGVyRmxvd1RocmVhZDo6cmVwYWludFJlY3RhbmdsZUkKICAgICB9CiB9CiAKLVJlbmRl
clJlZ2lvbiogUmVuZGVyRmxvd1RocmVhZDo6cmVuZGVyUmVnaW9uRm9yTGluZShMYXlvdXRVbml0
IHBvc2l0aW9uLCBib29sIGV4dGVuZExhc3RSZWdpb24pIGNvbnN0CitSZW5kZXJSZWdpb24qIFJl
bmRlckZsb3dUaHJlYWQ6OnJlZ2lvbkF0QmxvY2tPZmZzZXQoTGF5b3V0VW5pdCBvZmZzZXQsIGJv
b2wgZXh0ZW5kTGFzdFJlZ2lvbikgY29uc3QKIHsKICAgICBBU1NFUlQoIW1fcmVnaW9uc0ludmFs
aWRhdGVkKTsKIApAQCAtMzYxLDEyICszNjEsMTIgQEAgUmVuZGVyUmVnaW9uKiBSZW5kZXJGbG93
VGhyZWFkOjpyZW5kZXJSZQogICAgICAgICBpZiAoIXJlZ2lvbi0+aXNWYWxpZCgpKQogICAgICAg
ICAgICAgY29udGludWU7CiAKLSAgICAgICAgaWYgKHBvc2l0aW9uIDw9IDApCisgICAgICAgIGlm
IChvZmZzZXQgPD0gMCkKICAgICAgICAgICAgIHJldHVybiByZWdpb247CiAKICAgICAgICAgTGF5
b3V0UmVjdCByZWdpb25SZWN0ID0gcmVnaW9uLT5mbG93VGhyZWFkUG9ydGlvblJlY3QoKTsKIAot
ICAgICAgICBpZiAoKHVzZUhvcml6b250YWxXcml0aW5nTW9kZSAmJiBwb3NpdGlvbiA8IHJlZ2lv
blJlY3QubWF4WSgpKSB8fCAoIXVzZUhvcml6b250YWxXcml0aW5nTW9kZSAmJiBwb3NpdGlvbiA8
IHJlZ2lvblJlY3QubWF4WCgpKSkKKyAgICAgICAgaWYgKCh1c2VIb3Jpem9udGFsV3JpdGluZ01v
ZGUgJiYgb2Zmc2V0IDwgcmVnaW9uUmVjdC5tYXhZKCkpIHx8ICghdXNlSG9yaXpvbnRhbFdyaXRp
bmdNb2RlICYmIG9mZnNldCA8IHJlZ2lvblJlY3QubWF4WCgpKSkKICAgICAgICAgICAgIHJldHVy
biByZWdpb247CiAKICAgICAgICAgaWYgKGV4dGVuZExhc3RSZWdpb24pCkBAIC0zNzYsMzggKzM3
NiwzNCBAQCBSZW5kZXJSZWdpb24qIFJlbmRlckZsb3dUaHJlYWQ6OnJlbmRlclJlCiAgICAgcmV0
dXJuIGxhc3RWYWxpZFJlZ2lvbjsKIH0KIAotTGF5b3V0VW5pdCBSZW5kZXJGbG93VGhyZWFkOjpy
ZWdpb25Mb2dpY2FsVG9wRm9yTGluZShMYXlvdXRVbml0IHBvc2l0aW9uKSBjb25zdAorTGF5b3V0
VW5pdCBSZW5kZXJGbG93VGhyZWFkOjpwYWdlTG9naWNhbFRvcEZvck9mZnNldChMYXlvdXRVbml0
IG9mZnNldCkgY29uc3QKIHsKLSAgICBSZW5kZXJSZWdpb24qIHJlZ2lvbiA9IHJlbmRlclJlZ2lv
bkZvckxpbmUocG9zaXRpb24pOworICAgIFJlbmRlclJlZ2lvbiogcmVnaW9uID0gcmVnaW9uQXRC
bG9ja09mZnNldChvZmZzZXQpOwogICAgIGlmICghcmVnaW9uKQotICAgICAgICByZXR1cm4gMDsK
KyAgICAgICAgcmV0dXJuIFpFUk9fTEFZT1VUX1VOSVQ7CiAgICAgcmV0dXJuIGlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkgPyByZWdpb24tPmZsb3dUaHJlYWRQb3J0aW9uUmVjdCgpLnkoKSA6IHJl
Z2lvbi0+Zmxvd1RocmVhZFBvcnRpb25SZWN0KCkueCgpOwogfQogCi1MYXlvdXRVbml0IFJlbmRl
ckZsb3dUaHJlYWQ6OnJlZ2lvbkxvZ2ljYWxXaWR0aEZvckxpbmUoTGF5b3V0VW5pdCBwb3NpdGlv
bikgY29uc3QKK0xheW91dFVuaXQgUmVuZGVyRmxvd1RocmVhZDo6cGFnZUxvZ2ljYWxXaWR0aEZv
ck9mZnNldChMYXlvdXRVbml0IG9mZnNldCkgY29uc3QKIHsKLSAgICBSZW5kZXJSZWdpb24qIHJl
Z2lvbiA9IHJlbmRlclJlZ2lvbkZvckxpbmUocG9zaXRpb24sIHRydWUpOwotICAgIGlmICghcmVn
aW9uKQotICAgICAgICByZXR1cm4gY29udGVudExvZ2ljYWxXaWR0aCgpOwotICAgIHJldHVybiBp
c0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gcmVnaW9uLT5mbG93VGhyZWFkUG9ydGlvblJlY3Qo
KS53aWR0aCgpIDogcmVnaW9uLT5mbG93VGhyZWFkUG9ydGlvblJlY3QoKS5oZWlnaHQoKTsKKyAg
ICBSZW5kZXJSZWdpb24qIHJlZ2lvbiA9IHJlZ2lvbkF0QmxvY2tPZmZzZXQob2Zmc2V0LCB0cnVl
KTsKKyAgICByZXR1cm4gcmVnaW9uID8gcmVnaW9uLT5wYWdlTG9naWNhbFdpZHRoKCkgOiBjb250
ZW50TG9naWNhbFdpZHRoKCk7CiB9CiAKLUxheW91dFVuaXQgUmVuZGVyRmxvd1RocmVhZDo6cmVn
aW9uTG9naWNhbEhlaWdodEZvckxpbmUoTGF5b3V0VW5pdCBwb3NpdGlvbikgY29uc3QKK0xheW91
dFVuaXQgUmVuZGVyRmxvd1RocmVhZDo6cGFnZUxvZ2ljYWxIZWlnaHRGb3JPZmZzZXQoTGF5b3V0
VW5pdCBvZmZzZXQpIGNvbnN0CiB7Ci0gICAgUmVuZGVyUmVnaW9uKiByZWdpb24gPSByZW5kZXJS
ZWdpb25Gb3JMaW5lKHBvc2l0aW9uKTsKLSAgICBpZiAoIXJlZ2lvbikKLSAgICAgICAgcmV0dXJu
IDA7Ci0gICAgcmV0dXJuIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyByZWdpb24tPmZsb3dU
aHJlYWRQb3J0aW9uUmVjdCgpLmhlaWdodCgpIDogcmVnaW9uLT5mbG93VGhyZWFkUG9ydGlvblJl
Y3QoKS53aWR0aCgpOworICAgIFJlbmRlclJlZ2lvbiogcmVnaW9uID0gcmVnaW9uQXRCbG9ja09m
ZnNldChvZmZzZXQpOworICAgIHJldHVybiByZWdpb24gPyByZWdpb24tPnBhZ2VMb2dpY2FsSGVp
Z2h0KCkgOiBaRVJPX0xBWU9VVF9VTklUOwogfQogCi1MYXlvdXRVbml0IFJlbmRlckZsb3dUaHJl
YWQ6OnJlZ2lvblJlbWFpbmluZ0xvZ2ljYWxIZWlnaHRGb3JMaW5lKExheW91dFVuaXQgcG9zaXRp
b24sIFBhZ2VCb3VuZGFyeVJ1bGUgcGFnZUJvdW5kYXJ5UnVsZSkgY29uc3QKK0xheW91dFVuaXQg
UmVuZGVyRmxvd1RocmVhZDo6cGFnZVJlbWFpbmluZ0xvZ2ljYWxIZWlnaHRGb3JPZmZzZXQoTGF5
b3V0VW5pdCBvZmZzZXQsIFBhZ2VCb3VuZGFyeVJ1bGUgcGFnZUJvdW5kYXJ5UnVsZSkgY29uc3QK
IHsKLSAgICBSZW5kZXJSZWdpb24qIHJlZ2lvbiA9IHJlbmRlclJlZ2lvbkZvckxpbmUocG9zaXRp
b24pOworICAgIFJlbmRlclJlZ2lvbiogcmVnaW9uID0gcmVnaW9uQXRCbG9ja09mZnNldChvZmZz
ZXQpOwogICAgIGlmICghcmVnaW9uKQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJu
IFpFUk9fTEFZT1VUX1VOSVQ7CiAKICAgICBMYXlvdXRVbml0IHJlZ2lvbkxvZ2ljYWxCb3R0b20g
PSBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gcmVnaW9uLT5mbG93VGhyZWFkUG9ydGlvblJl
Y3QoKS5tYXhZKCkgOiByZWdpb24tPmZsb3dUaHJlYWRQb3J0aW9uUmVjdCgpLm1heFgoKTsKLSAg
ICBMYXlvdXRVbml0IHJlbWFpbmluZ0hlaWdodCA9IHJlZ2lvbkxvZ2ljYWxCb3R0b20gLSBwb3Np
dGlvbjsKKyAgICBMYXlvdXRVbml0IHJlbWFpbmluZ0hlaWdodCA9IHJlZ2lvbkxvZ2ljYWxCb3R0
b20gLSBvZmZzZXQ7CiAgICAgaWYgKHBhZ2VCb3VuZGFyeVJ1bGUgPT0gSW5jbHVkZVBhZ2VCb3Vu
ZGFyeSkgewogICAgICAgICAvLyBJZiBJbmNsdWRlUGFnZUJvdW5kYXJ5IGlzIHNldCwgdGhlIGxp
bmUgZXhhY3RseSBvbiB0aGUgdG9wIGVkZ2Ugb2YgYQogICAgICAgICAvLyByZWdpb24gd2lsbCBh
Y3QgYXMgYmVpbmcgcGFydCBvZiB0aGUgcHJldmlvdXMgcmVnaW9uLgpAQCAtNDMwLDcgKzQyNiw3
IEBAIFJlbmRlclJlZ2lvbiogUmVuZGVyRmxvd1RocmVhZDo6bWFwRnJvbUYKICAgICAvLyBOb3Rl
OiBVc2luZyB0aGUgY2VudGVyIGluIG9yZGVyIHRvIGF2b2lkIHJvdW5kaW5nIGVycm9ycy4KIAog
ICAgIExheW91dFBvaW50IGNlbnRlciA9IGJveFJlY3QuY2VudGVyKCk7Ci0gICAgUmVuZGVyUmVn
aW9uKiByZW5kZXJSZWdpb24gPSByZW5kZXJSZWdpb25Gb3JMaW5lKGlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkgPyBjZW50ZXIueSgpIDogY2VudGVyLngoKSwgdHJ1ZSk7CisgICAgUmVuZGVyUmVn
aW9uKiByZW5kZXJSZWdpb24gPSByZWdpb25BdEJsb2NrT2Zmc2V0KGlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkgPyBjZW50ZXIueSgpIDogY2VudGVyLngoKSwgdHJ1ZSk7CiAgICAgaWYgKCFyZW5k
ZXJSZWdpb24pCiAgICAgICAgIHJldHVybiAwOwogCkBAIC02MDYsOCArNjAyLDggQEAgdm9pZCBS
ZW5kZXJGbG93VGhyZWFkOjpzZXRSZWdpb25SYW5nZUZvcgogICAgICAgICByZXR1cm47CiAKICAg
ICAvLyBGSVhNRTogTm90IHJpZ2h0IGZvciBkaWZmZXJpbmcgd3JpdGluZy1tb2Rlcy4KLSAgICBS
ZW5kZXJSZWdpb24qIHN0YXJ0UmVnaW9uID0gcmVuZGVyUmVnaW9uRm9yTGluZShvZmZzZXRGcm9t
TG9naWNhbFRvcE9mRmlyc3RQYWdlLCB0cnVlKTsKLSAgICBSZW5kZXJSZWdpb24qIGVuZFJlZ2lv
biA9IHJlbmRlclJlZ2lvbkZvckxpbmUob2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSAr
IGJveC0+bG9naWNhbEhlaWdodCgpLCB0cnVlKTsKKyAgICBSZW5kZXJSZWdpb24qIHN0YXJ0UmVn
aW9uID0gcmVnaW9uQXRCbG9ja09mZnNldChvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdl
LCB0cnVlKTsKKyAgICBSZW5kZXJSZWdpb24qIGVuZFJlZ2lvbiA9IHJlZ2lvbkF0QmxvY2tPZmZz
ZXQob2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSArIGJveC0+bG9naWNhbEhlaWdodCgp
LCB0cnVlKTsKICAgICBSZW5kZXJSZWdpb25SYW5nZU1hcDo6aXRlcmF0b3IgaXQgPSBtX3JlZ2lv
blJhbmdlTWFwLmZpbmQoYm94KTsKICAgICBpZiAoaXQgPT0gbV9yZWdpb25SYW5nZU1hcC5lbmQo
KSkgewogICAgICAgICBtX3JlZ2lvblJhbmdlTWFwLnNldChib3gsIFJlbmRlclJlZ2lvblJhbmdl
KHN0YXJ0UmVnaW9uLCBlbmRSZWdpb24pKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGbG93VGhyZWFkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsb3dUaHJlYWQuaAkocmV2aXNpb24gMTI3MDA3KQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaAkod29ya2luZyBjb3B5KQpAQCAtOTQsMTEg
Kzk0LDExIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVwYWludFJlY3RhbmdsZUluUmVnaW9ucyhj
b25zdCBMYXlvdXRSZWN0JiwgYm9vbCBpbW1lZGlhdGUpOwogCi0gICAgTGF5b3V0VW5pdCByZWdp
b25Mb2dpY2FsVG9wRm9yTGluZShMYXlvdXRVbml0IHBvc2l0aW9uKSBjb25zdDsKLSAgICBMYXlv
dXRVbml0IHJlZ2lvbkxvZ2ljYWxXaWR0aEZvckxpbmUoTGF5b3V0VW5pdCBwb3NpdGlvbikgY29u
c3Q7Ci0gICAgTGF5b3V0VW5pdCByZWdpb25Mb2dpY2FsSGVpZ2h0Rm9yTGluZShMYXlvdXRVbml0
IHBvc2l0aW9uKSBjb25zdDsKLSAgICBMYXlvdXRVbml0IHJlZ2lvblJlbWFpbmluZ0xvZ2ljYWxI
ZWlnaHRGb3JMaW5lKExheW91dFVuaXQgcG9zaXRpb24sIFBhZ2VCb3VuZGFyeVJ1bGUgPSBJbmNs
dWRlUGFnZUJvdW5kYXJ5KSBjb25zdDsKLSAgICBSZW5kZXJSZWdpb24qIHJlbmRlclJlZ2lvbkZv
ckxpbmUoTGF5b3V0VW5pdCBwb3NpdGlvbiwgYm9vbCBleHRlbmRMYXN0UmVnaW9uID0gZmFsc2Up
IGNvbnN0OworICAgIExheW91dFVuaXQgcGFnZUxvZ2ljYWxUb3BGb3JPZmZzZXQoTGF5b3V0VW5p
dCkgY29uc3Q7CisgICAgTGF5b3V0VW5pdCBwYWdlTG9naWNhbFdpZHRoRm9yT2Zmc2V0KExheW91
dFVuaXQpIGNvbnN0OworICAgIExheW91dFVuaXQgcGFnZUxvZ2ljYWxIZWlnaHRGb3JPZmZzZXQo
TGF5b3V0VW5pdCkgY29uc3Q7CisgICAgTGF5b3V0VW5pdCBwYWdlUmVtYWluaW5nTG9naWNhbEhl
aWdodEZvck9mZnNldChMYXlvdXRVbml0LCBQYWdlQm91bmRhcnlSdWxlID0gSW5jbHVkZVBhZ2VC
b3VuZGFyeSkgY29uc3Q7CisgICAgUmVuZGVyUmVnaW9uKiByZWdpb25BdEJsb2NrT2Zmc2V0KExh
eW91dFVuaXQsIGJvb2wgZXh0ZW5kTGFzdFJlZ2lvbiA9IGZhbHNlKSBjb25zdDsKIAogICAgIGJv
b2wgcmVnaW9uc0hhdmVVbmlmb3JtTG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9yZWdp
b25zSGF2ZVVuaWZvcm1Mb2dpY2FsV2lkdGg7IH0KICAgICBib29sIHJlZ2lvbnNIYXZlVW5pZm9y
bUxvZ2ljYWxIZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX3JlZ2lvbnNIYXZlVW5pZm9ybUxvZ2lj
YWxIZWlnaHQ7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNv
bHVtblNldC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
dWx0aUNvbHVtblNldC5oCShyZXZpc2lvbiAxMjcwMzcpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaAkod29ya2luZyBjb3B5KQpAQCAtNjgsOSArNjgs
MTIgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRSZXBsYWNlZChQYWludEluZm8m
LCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
Ym9vbCBub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBj
b25zdCBIaXRUZXN0TG9jYXRpb24mLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZz
ZXQsIEhpdFRlc3RBY3Rpb24pIE9WRVJSSURFOwogCi0gICAgdmlydHVhbCBMYXlvdXRVbml0IGxv
Z2ljYWxXaWR0aEZvckZsb3dUaHJlYWRDb250ZW50KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4g
bV9jb21wdXRlZENvbHVtbldpZHRoOyB9Ci0gICAgdmlydHVhbCBMYXlvdXRVbml0IGxvZ2ljYWxI
ZWlnaHRGb3JGbG93VGhyZWFkQ29udGVudCgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1fY29t
cHV0ZWRDb2x1bW5IZWlnaHQ7IH0gLy8gRklYTUU6IFdpbGwgYmUgd3Jvbmcgb25jZSB3ZSBoYXZl
IG11bHRpcGxlIHNldHMuCisgICAgdmlydHVhbCBMYXlvdXRVbml0IHBhZ2VMb2dpY2FsV2lkdGgo
KSBjb25zdCBPVkVSUklERSB7IHJldHVybiBtX2NvbXB1dGVkQ29sdW1uV2lkdGg7IH0KKyAgICB2
aXJ0dWFsIExheW91dFVuaXQgcGFnZUxvZ2ljYWxIZWlnaHQoKSBjb25zdCBPVkVSUklERSB7IHJl
dHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0OyB9CiAKKyAgICAvLyBGSVhNRTogVGhpcyB3aWxs
IGNoYW5nZSBvbmNlIHdlIGhhdmUgY29sdW1uIHNldHMgY29uc3RyYWluZWQgYnkgZW5jbG9zaW5n
IHBhZ2VzLCBldGMuCisgICAgdmlydHVhbCBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHRPZkFsbEZs
b3dUaHJlYWRDb250ZW50KCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gbV9jb21wdXRlZENvbHVt
bkhlaWdodDsgfQorICAgIAogICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNv
bnN0OwogICAgIAogICAgIHZvaWQgcGFpbnRDb2x1bW5SdWxlcyhQYWludEluZm8mLCBjb25zdCBM
YXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclJlZ2lvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclJlZ2lvbi5jcHAJKHJldmlzaW9uIDEyNzAzNykKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJSZWdpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MiwxMiArNTIsMTcg
QEAgUmVuZGVyUmVnaW9uOjpSZW5kZXJSZWdpb24oTm9kZSogbm9kZSwgUgogewogfQogCi1MYXlv
dXRVbml0IFJlbmRlclJlZ2lvbjo6bG9naWNhbFdpZHRoRm9yRmxvd1RocmVhZENvbnRlbnQoKSBj
b25zdAorTGF5b3V0VW5pdCBSZW5kZXJSZWdpb246OnBhZ2VMb2dpY2FsV2lkdGgoKSBjb25zdAog
ewogICAgIHJldHVybiBtX2Zsb3dUaHJlYWQtPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBj
b250ZW50V2lkdGgoKSA6IGNvbnRlbnRIZWlnaHQoKTsKIH0KIAotTGF5b3V0VW5pdCBSZW5kZXJS
ZWdpb246OmxvZ2ljYWxIZWlnaHRGb3JGbG93VGhyZWFkQ29udGVudCgpIGNvbnN0CitMYXlvdXRV
bml0IFJlbmRlclJlZ2lvbjo6cGFnZUxvZ2ljYWxIZWlnaHQoKSBjb25zdAoreworICAgIHJldHVy
biBtX2Zsb3dUaHJlYWQtPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBjb250ZW50SGVpZ2h0
KCkgOiBjb250ZW50V2lkdGgoKTsKK30KKworTGF5b3V0VW5pdCBSZW5kZXJSZWdpb246OmxvZ2lj
YWxIZWlnaHRPZkFsbEZsb3dUaHJlYWRDb250ZW50KCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9m
bG93VGhyZWFkLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gY29udGVudEhlaWdodCgpIDog
Y29udGVudFdpZHRoKCk7CiB9CkBAIC0xODEsNyArMTg2LDcgQEAgdm9pZCBSZW5kZXJSZWdpb246
OmxheW91dCgpCiAgICAgICAgIExheW91dFJlY3Qgb2xkUmVnaW9uUmVjdChmbG93VGhyZWFkUG9y
dGlvblJlY3QoKSk7CiAgICAgICAgIGlmICghaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKICAg
ICAgICAgICAgIG9sZFJlZ2lvblJlY3QgPSBvbGRSZWdpb25SZWN0LnRyYW5zcG9zZWRSZWN0KCk7
Ci0gICAgICAgIGlmIChvbGRSZWdpb25SZWN0LndpZHRoKCkgIT0gbG9naWNhbFdpZHRoRm9yRmxv
d1RocmVhZENvbnRlbnQoKSB8fCBvbGRSZWdpb25SZWN0LmhlaWdodCgpICE9IGxvZ2ljYWxIZWln
aHRGb3JGbG93VGhyZWFkQ29udGVudCgpKQorICAgICAgICBpZiAob2xkUmVnaW9uUmVjdC53aWR0
aCgpICE9IHBhZ2VMb2dpY2FsV2lkdGgoKSB8fCBvbGRSZWdpb25SZWN0LmhlaWdodCgpICE9IGxv
Z2ljYWxIZWlnaHRPZkFsbEZsb3dUaHJlYWRDb250ZW50KCkpCiAgICAgICAgICAgICBtX2Zsb3dU
aHJlYWQtPmludmFsaWRhdGVSZWdpb25zKCk7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5oCShyZXZpc2lvbiAxMjcwMDgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTk1LDkgKzk1
LDE3IEBAIHB1YmxpYzoKICAgICBSZWdpb25TdGF0ZSByZWdpb25TdGF0ZSgpIGNvbnN0IHsgcmV0
dXJuIGlzVmFsaWQoKSA/IG1fcmVnaW9uU3RhdGUgOiBSZWdpb25VbmRlZmluZWQ7IH0KICAgICB2
b2lkIHNldFJlZ2lvblN0YXRlKFJlZ2lvblN0YXRlIHJlZ2lvblN0YXRlKSB7IG1fcmVnaW9uU3Rh
dGUgPSByZWdpb25TdGF0ZTsgfQogICAgIAotICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBsb2dpY2Fs
V2lkdGhGb3JGbG93VGhyZWFkQ29udGVudCgpIGNvbnN0OwotICAgIHZpcnR1YWwgTGF5b3V0VW5p
dCBsb2dpY2FsSGVpZ2h0Rm9yRmxvd1RocmVhZENvbnRlbnQoKSBjb25zdDsKLSAgICAgICAgCisg
ICAgLy8gVGhlc2UgbWV0aG9kcyByZXByZXNlbnQgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb2YgYSAi
cGFnZSIgYW5kIGZvciBhIFJlbmRlclJlZ2lvbiB0aGV5IGFyZSBqdXN0IHRoZQorICAgIC8vIGNv
bnRlbnQgd2lkdGggYW5kIGNvbnRlbnQgaGVpZ2h0IG9mIGEgcmVnaW9uLiBGb3IgUmVuZGVyUmVn
aW9uU2V0cywgaG93ZXZlciwgdGhleSB3aWxsIGJlIHRoZSB3aWR0aCBhbmQKKyAgICAvLyBoZWln
aHQgb2YgYSBzaW5nbGUgY29sdW1uIG9yIHBhZ2UgaW4gdGhlIHNldC4KKyAgICB2aXJ0dWFsIExh
eW91dFVuaXQgcGFnZUxvZ2ljYWxXaWR0aCgpIGNvbnN0OworICAgIHZpcnR1YWwgTGF5b3V0VW5p
dCBwYWdlTG9naWNhbEhlaWdodCgpIGNvbnN0OworICAgIAorICAgIC8vIFRoaXMgbWV0aG9kIHJl
cHJlc2VudHMgdGhlIGxvZ2ljYWwgaGVpZ2h0IG9mIHRoZSBlbnRpcmUgZmxvdyB0aHJlYWQgcG9y
dGlvbiB1c2VkIGJ5IHRoZSByZWdpb24gb3Igc2V0LgorICAgIC8vIEZvciBSZW5kZXJSZWdpb25z
IGl0IG1hdGNoZXMgbG9naWNhbFBhZ2luYXRpb25IZWlnaHQoKSwgYnV0IGZvciBzZXRzIGl0IGlz
IHRoZSBoZWlnaHQgb2YgYWxsIHRoZSBwYWdlcworICAgIC8vIG9yIGNvbHVtbnMgYWRkZWQgdG9n
ZXRoZXIuCisgICAgdmlydHVhbCBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHRPZkFsbEZsb3dUaHJl
YWRDb250ZW50KCkgY29uc3Q7CisKICAgICB2aXJ0dWFsIHZvaWQgZXhwYW5kVG9FbmNvbXBhc3NG
bG93VGhyZWFkQ29udGVudHNJZk5lZWRlZCgpIHt9OwogCiBwcm90ZWN0ZWQ6Cg==
</data>
<flag name="review"
          id="172064"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>