<?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>156459</bug_id>
          
          <creation_ts>2016-04-10 19:12:09 -0700</creation_ts>
          <short_desc>Simplify InlineTextBox::selectionStartEnd()</short_desc>
          <delta_ts>2016-04-11 12:52:35 -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></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>commit-queue</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1182586</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2016-04-10 19:12:09 -0700</bug_when>
    <thetext>see https://bugs.webkit.org/attachment.cgi?id=276099&amp;action=prettypatch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182721</commentid>
    <comment_count>1</comment_count>
      <attachid>276153</attachid>
    <who name="alan">zalan</who>
    <bug_when>2016-04-11 10:26:53 -0700</bug_when>
    <thetext>Created attachment 276153
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182753</commentid>
    <comment_count>2</comment_count>
      <attachid>276159</attachid>
    <who name="alan">zalan</who>
    <bug_when>2016-04-11 11:49:55 -0700</bug_when>
    <thetext>Created attachment 276159
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182793</commentid>
    <comment_count>3</comment_count>
      <attachid>276159</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-11 12:52:31 -0700</bug_when>
    <thetext>Comment on attachment 276159
Patch

Clearing flags on attachment: 276159

Committed r199307: &lt;http://trac.webkit.org/changeset/199307&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182794</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-11 12:52:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276153</attachid>
            <date>2016-04-11 10:26:53 -0700</date>
            <delta_ts>2016-04-11 11:49:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156459-20160411102701.patch</filename>
            <type>text/plain</type>
            <size>9498</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5Mjk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY3MzZkNzQ2ZTg5YTdj
YWFjYzMzNjk0Y2IyYzYzMTExZGRjOTEwMi4uOWM4YzhhNDBiY2Y4ZGZiZjgwZjdlOTU3NTFjNjgx
MWVkMmNhMWQ3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE2LTA0LTExICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgU2ltcGxpZnkgSW5saW5lVGV4
dEJveDo6c2VsZWN0aW9uU3RhcnRFbmQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTU2NDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRs
ZXIuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBy
ZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0
Qm94OjpzZWxlY3Rpb25TdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94Ojpw
YWludCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpzZWxlY3Rpb25TdGFydEVu
ZCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpwYWludFNlbGVjdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uQmFja2dyb3Vu
ZCk6CisgICAgICAgICogcmVuZGVyaW5nL0lubGluZVRleHRCb3guaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW5s
aW5lVGV4dEJveDo6cGFpbnRTZWxlY3Rpb25CYWNrZ3JvdW5kKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0lubGluZVRleHRCb3g6OnBhaW50VGV4dCk6CisKIDIwMTYtMDQtMTEgIEZyZWRlcmljIFdh
bmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlZmFjdG9yIFJlbmRlck1hdGhNTEZy
YWN0aW9uIGxheW91dCB0byBhdm9pZCB1c2luZyBmbGV4Ym94CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKaW5kZXggMjczMDRjZjQ5MjJmNmI4YTU2MGJhYzllMWEz
NjllNTdmZTMwMWViNi4uZmU1OTBiNDMyYWI3N2QzYjI2MTc2ODg0MWZhNTEyNzhhNGM5OTMxMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcApAQCAtMTY1LDEz
ICsxNjUsMTQgQEAgUmVuZGVyT2JqZWN0OjpTZWxlY3Rpb25TdGF0ZSBJbmxpbmVUZXh0Qm94Ojpz
ZWxlY3Rpb25TdGF0ZSgpCiAgICAgaWYgKG1fdHJ1bmNhdGlvbiAhPSBjTm9UcnVuY2F0aW9uICYm
IHJvb3QoKS5lbGxpcHNpc0JveCgpKSB7CiAgICAgICAgIEVsbGlwc2lzQm94KiBlbGxpcHNpcyA9
IHJvb3QoKS5lbGxpcHNpc0JveCgpOwogICAgICAgICBpZiAoc3RhdGUgIT0gUmVuZGVyT2JqZWN0
OjpTZWxlY3Rpb25Ob25lKSB7Ci0gICAgICAgICAgICBpbnQgc3RhcnQsIGVuZDsKLSAgICAgICAg
ICAgIHNlbGVjdGlvblN0YXJ0RW5kKHN0YXJ0LCBlbmQpOworICAgICAgICAgICAgaW50IHNlbGVj
dGlvblN0YXJ0OworICAgICAgICAgICAgaW50IHNlbGVjdGlvbkVuZDsKKyAgICAgICAgICAgIHN0
ZDo6dGllKHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25FbmQpID0gc2VsZWN0aW9uU3RhcnRFbmQo
KTsKICAgICAgICAgICAgIC8vIFRoZSBlbGxpcHNpcyBzaG91bGQgYmUgY29uc2lkZXJlZCB0byBi
ZSBzZWxlY3RlZCBpZiB0aGUgZW5kIG9mCiAgICAgICAgICAgICAvLyB0aGUgc2VsZWN0aW9uIGlz
IHBhc3QgdGhlIGJlZ2lubmluZyBvZiB0aGUgdHJ1bmNhdGlvbiBhbmQgdGhlCiAgICAgICAgICAg
ICAvLyBiZWdpbm5pbmcgb2YgdGhlIHNlbGVjdGlvbiBpcyBiZWZvcmUgb3IgYXQgdGhlIGJlZ2lu
bmluZyBvZiB0aGUKICAgICAgICAgICAgIC8vIHRydW5jYXRpb24uCi0gICAgICAgICAgICBlbGxp
cHNpcy0+c2V0U2VsZWN0aW9uU3RhdGUoZW5kID49IG1fdHJ1bmNhdGlvbiAmJiBzdGFydCA8PSBt
X3RydW5jYXRpb24gPworICAgICAgICAgICAgZWxsaXBzaXMtPnNldFNlbGVjdGlvblN0YXRlKHNl
bGVjdGlvbkVuZCA+PSBtX3RydW5jYXRpb24gJiYgc2VsZWN0aW9uU3RhcnQgPD0gbV90cnVuY2F0
aW9uID8KICAgICAgICAgICAgICAgICBSZW5kZXJPYmplY3Q6OlNlbGVjdGlvbkluc2lkZSA6IFJl
bmRlck9iamVjdDo6U2VsZWN0aW9uTm9uZSk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAg
ZWxsaXBzaXMtPnNldFNlbGVjdGlvblN0YXRlKFJlbmRlck9iamVjdDo6U2VsZWN0aW9uTm9uZSk7
CkBAIC01MTksNyArNTIwLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludChQYWludEluZm8m
IHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0LAogICAgIGludCBzZWxl
Y3Rpb25TdGFydCA9IDA7CiAgICAgaW50IHNlbGVjdGlvbkVuZCA9IDA7CiAgICAgaWYgKGhhdmVT
ZWxlY3Rpb24gJiYgKHBhaW50U2VsZWN0ZWRUZXh0T25seSB8fCBwYWludFNlbGVjdGVkVGV4dFNl
cGFyYXRlbHkpKQotICAgICAgICBzZWxlY3Rpb25TdGFydEVuZChzZWxlY3Rpb25TdGFydCwgc2Vs
ZWN0aW9uRW5kKTsKKyAgICAgICAgc3RkOjp0aWUoc2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlvbkVu
ZCkgPSBzZWxlY3Rpb25TdGFydEVuZCgpOwogCiAgICAgaWYgKG1fdHJ1bmNhdGlvbiAhPSBjTm9U
cnVuY2F0aW9uKSB7CiAgICAgICAgIHNlbGVjdGlvblN0YXJ0ID0gc3RkOjptaW48aW50PihzZWxl
Y3Rpb25TdGFydCwgbV90cnVuY2F0aW9uKTsKQEAgLTU5NSwyMiArNTk2LDIwIEBAIHZvaWQgSW5s
aW5lVGV4dEJveDo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50
JiBwYWludE9mZnNldCwKICAgICAgICAgY29udGV4dC5jb25jYXRDVE0ocm90YXRpb24oYm94UmVj
dCwgQ291bnRlcmNsb2Nrd2lzZSkpOwogfQogCi12b2lkIElubGluZVRleHRCb3g6OnNlbGVjdGlv
blN0YXJ0RW5kKGludCYgc1BvcywgaW50JiBlUG9zKQorc3RkOjpwYWlyPGludCwgaW50PiBJbmxp
bmVUZXh0Qm94OjpzZWxlY3Rpb25TdGFydEVuZCgpIGNvbnN0CiB7Ci0gICAgaW50IHN0YXJ0UG9z
LCBlbmRQb3M7Ci0gICAgaWYgKHJlbmRlcmVyKCkuc2VsZWN0aW9uU3RhdGUoKSA9PSBSZW5kZXJP
YmplY3Q6OlNlbGVjdGlvbkluc2lkZSkgewotICAgICAgICBzdGFydFBvcyA9IDA7Ci0gICAgICAg
IGVuZFBvcyA9IHJlbmRlcmVyKCkudGV4dExlbmd0aCgpOwotICAgIH0gZWxzZSB7Ci0gICAgICAg
IHJlbmRlcmVyKCkuc2VsZWN0aW9uU3RhcnRFbmQoc3RhcnRQb3MsIGVuZFBvcyk7Ci0gICAgICAg
IGlmIChyZW5kZXJlcigpLnNlbGVjdGlvblN0YXRlKCkgPT0gUmVuZGVyT2JqZWN0OjpTZWxlY3Rp
b25TdGFydCkKLSAgICAgICAgICAgIGVuZFBvcyA9IHJlbmRlcmVyKCkudGV4dExlbmd0aCgpOwot
ICAgICAgICBlbHNlIGlmIChyZW5kZXJlcigpLnNlbGVjdGlvblN0YXRlKCkgPT0gUmVuZGVyT2Jq
ZWN0OjpTZWxlY3Rpb25FbmQpCi0gICAgICAgICAgICBzdGFydFBvcyA9IDA7Ci0gICAgfQotCi0g
ICAgc1BvcyA9IHN0ZDo6bWF4KHN0YXJ0UG9zIC0gbV9zdGFydCwgMCk7Ci0gICAgZVBvcyA9IHN0
ZDo6bWluKGVuZFBvcyAtIG1fc3RhcnQsIChpbnQpbV9sZW4pOworICAgIGF1dG8gc2VsZWN0aW9u
U3RhdGUgPSByZW5kZXJlcigpLnNlbGVjdGlvblN0YXRlKCk7CisgICAgaWYgKHNlbGVjdGlvblN0
YXRlID09IFJlbmRlck9iamVjdDo6U2VsZWN0aW9uSW5zaWRlKQorICAgICAgICByZXR1cm4gezAs
IG1fbGVufTsKKyAgICAKKyAgICBpbnQgc3RhcnQ7CisgICAgaW50IGVuZDsKKyAgICByZW5kZXJl
cigpLnNlbGVjdGlvblN0YXJ0RW5kKHN0YXJ0LCBlbmQpOworICAgIGlmIChzZWxlY3Rpb25TdGF0
ZSA9PSBSZW5kZXJPYmplY3Q6OlNlbGVjdGlvblN0YXJ0KQorICAgICAgICBlbmQgPSByZW5kZXJl
cigpLnRleHRMZW5ndGgoKTsKKyAgICBlbHNlIGlmIChzZWxlY3Rpb25TdGF0ZSA9PSBSZW5kZXJP
YmplY3Q6OlNlbGVjdGlvbkVuZCkKKyAgICAgICAgc3RhcnQgPSAwOworICAgIHJldHVybiB7IHN0
ZDo6bWF4KHN0YXJ0IC0gbV9zdGFydCwgMCksIHN0ZDo6bWluPGludD4oZW5kIC0gbV9zdGFydCwg
bV9sZW4pIH07CiB9CiAKIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTZWxlY3Rpb24oR3JhcGhp
Y3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IFJl
bmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRm9udENhc2NhZGUmIGZvbnQsIENvbG9yIHRleHRDb2xv
cikKQEAgLTYyMCw5ICs2MTksMTAgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNlbGVjdGlv
bihHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZsb2F0UG9pbnQmIGIKICAgICAgICAg
cmV0dXJuOwogCiAgICAgLy8gU2VlIGlmIHdlIGhhdmUgYSBzZWxlY3Rpb24gdG8gcGFpbnQgYXQg
YWxsLgotICAgIGludCBzUG9zLCBlUG9zOwotICAgIHNlbGVjdGlvblN0YXJ0RW5kKHNQb3MsIGVQ
b3MpOwotICAgIGlmIChzUG9zID49IGVQb3MpCisgICAgaW50IHNlbGVjdGlvblN0YXJ0OworICAg
IGludCBzZWxlY3Rpb25FbmQ7CisgICAgc3RkOjp0aWUoc2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlv
bkVuZCkgPSBzZWxlY3Rpb25TdGFydEVuZCgpOworICAgIGlmIChzZWxlY3Rpb25TdGFydCA+PSBz
ZWxlY3Rpb25FbmQpCiAgICAgICAgIHJldHVybjsKIAogICAgIENvbG9yIGMgPSByZW5kZXJlcigp
LnNlbGVjdGlvbkJhY2tncm91bmRDb2xvcigpOwpAQCAtNjQ4LDEwICs2NDgsMTAgQEAgdm9pZCBJ
bmxpbmVUZXh0Qm94OjpwYWludFNlbGVjdGlvbihHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNv
bnN0IEZsb2F0UG9pbnQmIGIKICAgICB9CiAKICAgICBTdHJpbmcgaHlwaGVuYXRlZFN0cmluZ0J1
ZmZlcjsKLSAgICBib29sIHJlc3BlY3RIeXBoZW4gPSBlUG9zID09IGxlbmd0aCAmJiBoYXNIeXBo
ZW4oKTsKKyAgICBib29sIHJlc3BlY3RIeXBoZW4gPSBzZWxlY3Rpb25FbmQgPT0gbGVuZ3RoICYm
IGhhc0h5cGhlbigpOwogICAgIFRleHRSdW4gdGV4dFJ1biA9IGNvbnN0cnVjdFRleHRSdW4oc3R5
bGUsIHN0cmluZywgcmVuZGVyZXIoKS50ZXh0TGVuZ3RoKCkgLSBtX3N0YXJ0LCByZXNwZWN0SHlw
aGVuID8gJmh5cGhlbmF0ZWRTdHJpbmdCdWZmZXIgOiBudWxscHRyKTsKICAgICBpZiAocmVzcGVj
dEh5cGhlbikKLSAgICAgICAgZVBvcyA9IHRleHRSdW4ubGVuZ3RoKCk7CisgICAgICAgIHNlbGVj
dGlvbkVuZCA9IHRleHRSdW4ubGVuZ3RoKCk7CiAKICAgICBjb25zdCBSb290SW5saW5lQm94JiBy
b290Qm94ID0gcm9vdCgpOwogICAgIExheW91dFVuaXQgc2VsZWN0aW9uQm90dG9tID0gcm9vdEJv
eC5zZWxlY3Rpb25Cb3R0b20oKTsKQEAgLTY2MSw3ICs2NjEsNyBAQCB2b2lkIElubGluZVRleHRC
b3g6OnBhaW50U2VsZWN0aW9uKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRQ
b2ludCYgYgogICAgIExheW91dFVuaXQgc2VsZWN0aW9uSGVpZ2h0ID0gc3RkOjptYXg8TGF5b3V0
VW5pdD4oMCwgc2VsZWN0aW9uQm90dG9tIC0gc2VsZWN0aW9uVG9wKTsKIAogICAgIExheW91dFJl
Y3Qgc2VsZWN0aW9uUmVjdCA9IExheW91dFJlY3QoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnko
KSAtIGRlbHRhWSwgbV9sb2dpY2FsV2lkdGgsIHNlbGVjdGlvbkhlaWdodCk7Ci0gICAgZm9udC5h
ZGp1c3RTZWxlY3Rpb25SZWN0Rm9yVGV4dCh0ZXh0UnVuLCBzZWxlY3Rpb25SZWN0LCBzUG9zLCBl
UG9zKTsKKyAgICBmb250LmFkanVzdFNlbGVjdGlvblJlY3RGb3JUZXh0KHRleHRSdW4sIHNlbGVj
dGlvblJlY3QsIHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25FbmQpOwogICAgIGNvbnRleHQuZmls
bFJlY3Qoc25hcFJlY3RUb0RldmljZVBpeGVsc1dpdGhXcml0aW5nRGlyZWN0aW9uKHNlbGVjdGlv
blJlY3QsIHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpLCB0ZXh0UnVu
Lmx0cigpKSwgYyk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsKQEAgLTY3NSwx
MCArNjc1LDkgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNlbGVjdGlvbihHcmFwaGljc0Nv
bnRleHQmIGNvbnRleHQsIGNvbnN0IEZsb2F0UG9pbnQmIGIKIHZvaWQgSW5saW5lVGV4dEJveDo6
cGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25z
dCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3Qg
Rm9udENhc2NhZGUmIGZvbnQsIGludCBzdGFydFBvcywgaW50IGVuZFBvcykKIHsKICAgICBpbnQg
b2Zmc2V0ID0gbV9zdGFydDsKLSAgICBpbnQgc1BvcyA9IHN0ZDo6bWF4KHN0YXJ0UG9zIC0gb2Zm
c2V0LCAwKTsKLSAgICBpbnQgZVBvcyA9IHN0ZDo6bWluKGVuZFBvcyAtIG9mZnNldCwgKGludClt
X2xlbik7Ci0KLSAgICBpZiAoc1BvcyA+PSBlUG9zKQorICAgIGludCBzZWxlY3Rpb25TdGFydCA9
IHN0ZDo6bWF4KHN0YXJ0UG9zIC0gb2Zmc2V0LCAwKTsKKyAgICBpbnQgc2VsZWN0aW9uRW5kID0g
c3RkOjptaW4oZW5kUG9zIC0gb2Zmc2V0LCBzdGF0aWNfY2FzdDxpbnQ+KG1fbGVuKSk7CisgICAg
aWYgKHNlbGVjdGlvblN0YXJ0ID49IHNlbGVjdGlvbkVuZCkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKGNvbnRleHQpOwpAQCAtNjg4
LDcgKzY4Nyw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvbkJhY2tncm91
bmQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGCiAgICAgTGF5b3V0VW5pdCBkZWx0
YVkgPSByZW5kZXJlcigpLnN0eWxlKCkuaXNGbGlwcGVkTGluZXNXcml0aW5nTW9kZSgpID8gc2Vs
ZWN0aW9uQm90dG9tKCkgLSBsb2dpY2FsQm90dG9tKCkgOiBsb2dpY2FsVG9wKCkgLSBzZWxlY3Rp
b25Ub3AoKTsKICAgICBMYXlvdXRSZWN0IHNlbGVjdGlvblJlY3QgPSBMYXlvdXRSZWN0KGJveE9y
aWdpbi54KCksIGJveE9yaWdpbi55KCkgLSBkZWx0YVksIDAsIHNlbGVjdGlvbkhlaWdodCgpKTsK
ICAgICBUZXh0UnVuIHRleHRSdW4gPSBjb25zdHJ1Y3RUZXh0UnVuKHN0eWxlKTsKLSAgICBmb250
LmFkanVzdFNlbGVjdGlvblJlY3RGb3JUZXh0KHRleHRSdW4sIHNlbGVjdGlvblJlY3QsIHNQb3Ms
IGVQb3MpOworICAgIGZvbnQuYWRqdXN0U2VsZWN0aW9uUmVjdEZvclRleHQodGV4dFJ1biwgc2Vs
ZWN0aW9uUmVjdCwgc2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlvbkVuZCk7CiAgICAgY29udGV4dC5m
aWxsUmVjdChzbmFwUmVjdFRvRGV2aWNlUGl4ZWxzV2l0aFdyaXRpbmdEaXJlY3Rpb24oc2VsZWN0
aW9uUmVjdCwgcmVuZGVyZXIoKS5kb2N1bWVudCgpLmRldmljZVNjYWxlRmFjdG9yKCksIHRleHRS
dW4ubHRyKCkpLCBjb21wb3NpdGlvbkNvbG9yKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9JbmxpbmVUZXh0Qm94LmgKaW5kZXggMGEzMjg2MjExMGU5N2EwZjVkM2JhNTBjN2M5NWQ3OTg0
NmQ5MWNhNi4uZWMxODk1NzQzMzkxZjBmNGQ0MzIzZTdjNWIzNDc3ZTAwYmFlZWU4ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCkBAIC0xMjAsNyArMTIwLDcgQEAg
cHVibGljOgogCiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IGxvY2FsU2VsZWN0aW9uUmVjdChpbnQg
c3RhcnRQb3MsIGludCBlbmRQb3MpIGNvbnN0OwogICAgIGJvb2wgaXNTZWxlY3RlZChpbnQgc3Rh
cnRQb3MsIGludCBlbmRQb3MpIGNvbnN0OwotICAgIHZvaWQgc2VsZWN0aW9uU3RhcnRFbmQoaW50
JiBzUG9zLCBpbnQmIGVQb3MpOworICAgIHN0ZDo6cGFpcjxpbnQsIGludD4gc2VsZWN0aW9uU3Rh
cnRFbmQoKSBjb25zdDsKIAogcHJvdGVjdGVkOgogICAgIHZvaWQgcGFpbnQoUGFpbnRJbmZvJiwg
Y29uc3QgTGF5b3V0UG9pbnQmLCBMYXlvdXRVbml0IGxpbmVUb3AsIExheW91dFVuaXQgbGluZUJv
dHRvbSkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR0lubGluZVRleHRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJ
bmxpbmVUZXh0Qm94LmNwcAppbmRleCBiOGJjNTc5OWQ0YmE1MWE2MjQyMjE0YWUwZTVlM2Q5MDZl
YzY1Y2Y0Li5kYjc1ZDA3NWQyYmIyNWZiMjNiNTNiYzA1ZjkxZDQ5MzAwNzQ4YmQ2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAKQEAg
LTIwMyw4ICsyMDMsOSBAQCB2b2lkIFNWR0lubGluZVRleHRCb3g6OnBhaW50U2VsZWN0aW9uQmFj
a2dyb3VuZChQYWludEluZm8mIHBhaW50SW5mbykKIAogICAgIFJlbmRlclN0eWxlJiBzdHlsZSA9
IHBhcmVudFJlbmRlcmVyLnN0eWxlKCk7CiAKLSAgICBpbnQgc3RhcnRQb3NpdGlvbiwgZW5kUG9z
aXRpb247Ci0gICAgc2VsZWN0aW9uU3RhcnRFbmQoc3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRpb24p
OworICAgIGludCBzdGFydFBvc2l0aW9uOworICAgIGludCBlbmRQb3NpdGlvbjsKKyAgICBzdGQ6
OnRpZShzdGFydFBvc2l0aW9uLCBlbmRQb3NpdGlvbikgPSBzZWxlY3Rpb25TdGFydEVuZCgpOwog
CiAgICAgaW50IGZyYWdtZW50U3RhcnRQb3NpdGlvbiA9IDA7CiAgICAgaW50IGZyYWdtZW50RW5k
UG9zaXRpb24gPSAwOwpAQCAtNTkyLDcgKzU5Myw3IEBAIHZvaWQgU1ZHSW5saW5lVGV4dEJveDo6
cGFpbnRUZXh0KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgUmVuZGVyU3R5bGUqIHN0eWxlLCBS
CiAgICAgaW50IHN0YXJ0UG9zaXRpb24gPSAwOwogICAgIGludCBlbmRQb3NpdGlvbiA9IDA7CiAg
ICAgaWYgKGhhc1NlbGVjdGlvbikgewotICAgICAgICBzZWxlY3Rpb25TdGFydEVuZChzdGFydFBv
c2l0aW9uLCBlbmRQb3NpdGlvbik7CisgICAgICAgIHN0ZDo6dGllKHN0YXJ0UG9zaXRpb24sIGVu
ZFBvc2l0aW9uKSA9IHNlbGVjdGlvblN0YXJ0RW5kKCk7CiAgICAgICAgIGhhc1NlbGVjdGlvbiA9
IG1hcFN0YXJ0RW5kUG9zaXRpb25zSW50b0ZyYWdtZW50Q29vcmRpbmF0ZXMoZnJhZ21lbnQsIHN0
YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uKTsKICAgICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276159</attachid>
            <date>2016-04-11 11:49:55 -0700</date>
            <delta_ts>2016-04-11 12:52:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156459-20160411115004.patch</filename>
            <type>text/plain</type>
            <size>9485</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5Mjk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY3MzZkNzQ2ZTg5YTdj
YWFjYzMzNjk0Y2IyYzYzMTExZGRjOTEwMi4uOWM4YzhhNDBiY2Y4ZGZiZjgwZjdlOTU3NTFjNjgx
MWVkMmNhMWQ3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE2LTA0LTExICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgU2ltcGxpZnkgSW5saW5lVGV4
dEJveDo6c2VsZWN0aW9uU3RhcnRFbmQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTU2NDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRs
ZXIuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBy
ZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0
Qm94OjpzZWxlY3Rpb25TdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94Ojpw
YWludCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpzZWxlY3Rpb25TdGFydEVu
ZCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpwYWludFNlbGVjdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uQmFja2dyb3Vu
ZCk6CisgICAgICAgICogcmVuZGVyaW5nL0lubGluZVRleHRCb3guaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW5s
aW5lVGV4dEJveDo6cGFpbnRTZWxlY3Rpb25CYWNrZ3JvdW5kKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0lubGluZVRleHRCb3g6OnBhaW50VGV4dCk6CisKIDIwMTYtMDQtMTEgIEZyZWRlcmljIFdh
bmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlZmFjdG9yIFJlbmRlck1hdGhNTEZy
YWN0aW9uIGxheW91dCB0byBhdm9pZCB1c2luZyBmbGV4Ym94CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKaW5kZXggMjczMDRjZjQ5MjJmNmI4YTU2MGJhYzllMWEz
NjllNTdmZTMwMWViNi4uMjZiYWZjYzYzZTU5NjVlMDU0OTY0Yzc0NWU0MTgyNGZlZDAxZDczNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcApAQCAtMTY1LDEz
ICsxNjUsMTQgQEAgUmVuZGVyT2JqZWN0OjpTZWxlY3Rpb25TdGF0ZSBJbmxpbmVUZXh0Qm94Ojpz
ZWxlY3Rpb25TdGF0ZSgpCiAgICAgaWYgKG1fdHJ1bmNhdGlvbiAhPSBjTm9UcnVuY2F0aW9uICYm
IHJvb3QoKS5lbGxpcHNpc0JveCgpKSB7CiAgICAgICAgIEVsbGlwc2lzQm94KiBlbGxpcHNpcyA9
IHJvb3QoKS5lbGxpcHNpc0JveCgpOwogICAgICAgICBpZiAoc3RhdGUgIT0gUmVuZGVyT2JqZWN0
OjpTZWxlY3Rpb25Ob25lKSB7Ci0gICAgICAgICAgICBpbnQgc3RhcnQsIGVuZDsKLSAgICAgICAg
ICAgIHNlbGVjdGlvblN0YXJ0RW5kKHN0YXJ0LCBlbmQpOworICAgICAgICAgICAgaW50IHNlbGVj
dGlvblN0YXJ0OworICAgICAgICAgICAgaW50IHNlbGVjdGlvbkVuZDsKKyAgICAgICAgICAgIHN0
ZDo6dGllKHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25FbmQpID0gc2VsZWN0aW9uU3RhcnRFbmQo
KTsKICAgICAgICAgICAgIC8vIFRoZSBlbGxpcHNpcyBzaG91bGQgYmUgY29uc2lkZXJlZCB0byBi
ZSBzZWxlY3RlZCBpZiB0aGUgZW5kIG9mCiAgICAgICAgICAgICAvLyB0aGUgc2VsZWN0aW9uIGlz
IHBhc3QgdGhlIGJlZ2lubmluZyBvZiB0aGUgdHJ1bmNhdGlvbiBhbmQgdGhlCiAgICAgICAgICAg
ICAvLyBiZWdpbm5pbmcgb2YgdGhlIHNlbGVjdGlvbiBpcyBiZWZvcmUgb3IgYXQgdGhlIGJlZ2lu
bmluZyBvZiB0aGUKICAgICAgICAgICAgIC8vIHRydW5jYXRpb24uCi0gICAgICAgICAgICBlbGxp
cHNpcy0+c2V0U2VsZWN0aW9uU3RhdGUoZW5kID49IG1fdHJ1bmNhdGlvbiAmJiBzdGFydCA8PSBt
X3RydW5jYXRpb24gPworICAgICAgICAgICAgZWxsaXBzaXMtPnNldFNlbGVjdGlvblN0YXRlKHNl
bGVjdGlvbkVuZCA+PSBtX3RydW5jYXRpb24gJiYgc2VsZWN0aW9uU3RhcnQgPD0gbV90cnVuY2F0
aW9uID8KICAgICAgICAgICAgICAgICBSZW5kZXJPYmplY3Q6OlNlbGVjdGlvbkluc2lkZSA6IFJl
bmRlck9iamVjdDo6U2VsZWN0aW9uTm9uZSk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAg
ZWxsaXBzaXMtPnNldFNlbGVjdGlvblN0YXRlKFJlbmRlck9iamVjdDo6U2VsZWN0aW9uTm9uZSk7
CkBAIC01MTksNyArNTIwLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludChQYWludEluZm8m
IHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0LAogICAgIGludCBzZWxl
Y3Rpb25TdGFydCA9IDA7CiAgICAgaW50IHNlbGVjdGlvbkVuZCA9IDA7CiAgICAgaWYgKGhhdmVT
ZWxlY3Rpb24gJiYgKHBhaW50U2VsZWN0ZWRUZXh0T25seSB8fCBwYWludFNlbGVjdGVkVGV4dFNl
cGFyYXRlbHkpKQotICAgICAgICBzZWxlY3Rpb25TdGFydEVuZChzZWxlY3Rpb25TdGFydCwgc2Vs
ZWN0aW9uRW5kKTsKKyAgICAgICAgc3RkOjp0aWUoc2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlvbkVu
ZCkgPSBzZWxlY3Rpb25TdGFydEVuZCgpOwogCiAgICAgaWYgKG1fdHJ1bmNhdGlvbiAhPSBjTm9U
cnVuY2F0aW9uKSB7CiAgICAgICAgIHNlbGVjdGlvblN0YXJ0ID0gc3RkOjptaW48aW50PihzZWxl
Y3Rpb25TdGFydCwgbV90cnVuY2F0aW9uKTsKQEAgLTU5NSwyMiArNTk2LDIwIEBAIHZvaWQgSW5s
aW5lVGV4dEJveDo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50
JiBwYWludE9mZnNldCwKICAgICAgICAgY29udGV4dC5jb25jYXRDVE0ocm90YXRpb24oYm94UmVj
dCwgQ291bnRlcmNsb2Nrd2lzZSkpOwogfQogCi12b2lkIElubGluZVRleHRCb3g6OnNlbGVjdGlv
blN0YXJ0RW5kKGludCYgc1BvcywgaW50JiBlUG9zKQorc3RkOjpwYWlyPGludCwgaW50PiBJbmxp
bmVUZXh0Qm94OjpzZWxlY3Rpb25TdGFydEVuZCgpIGNvbnN0CiB7Ci0gICAgaW50IHN0YXJ0UG9z
LCBlbmRQb3M7Ci0gICAgaWYgKHJlbmRlcmVyKCkuc2VsZWN0aW9uU3RhdGUoKSA9PSBSZW5kZXJP
YmplY3Q6OlNlbGVjdGlvbkluc2lkZSkgewotICAgICAgICBzdGFydFBvcyA9IDA7Ci0gICAgICAg
IGVuZFBvcyA9IHJlbmRlcmVyKCkudGV4dExlbmd0aCgpOwotICAgIH0gZWxzZSB7Ci0gICAgICAg
IHJlbmRlcmVyKCkuc2VsZWN0aW9uU3RhcnRFbmQoc3RhcnRQb3MsIGVuZFBvcyk7Ci0gICAgICAg
IGlmIChyZW5kZXJlcigpLnNlbGVjdGlvblN0YXRlKCkgPT0gUmVuZGVyT2JqZWN0OjpTZWxlY3Rp
b25TdGFydCkKLSAgICAgICAgICAgIGVuZFBvcyA9IHJlbmRlcmVyKCkudGV4dExlbmd0aCgpOwot
ICAgICAgICBlbHNlIGlmIChyZW5kZXJlcigpLnNlbGVjdGlvblN0YXRlKCkgPT0gUmVuZGVyT2Jq
ZWN0OjpTZWxlY3Rpb25FbmQpCi0gICAgICAgICAgICBzdGFydFBvcyA9IDA7Ci0gICAgfQotCi0g
ICAgc1BvcyA9IHN0ZDo6bWF4KHN0YXJ0UG9zIC0gbV9zdGFydCwgMCk7Ci0gICAgZVBvcyA9IHN0
ZDo6bWluKGVuZFBvcyAtIG1fc3RhcnQsIChpbnQpbV9sZW4pOworICAgIGF1dG8gc2VsZWN0aW9u
U3RhdGUgPSByZW5kZXJlcigpLnNlbGVjdGlvblN0YXRlKCk7CisgICAgaWYgKHNlbGVjdGlvblN0
YXRlID09IFJlbmRlck9iamVjdDo6U2VsZWN0aW9uSW5zaWRlKQorICAgICAgICByZXR1cm4gezAs
IG1fbGVufTsKKyAgICAKKyAgICBpbnQgc3RhcnQ7CisgICAgaW50IGVuZDsKKyAgICByZW5kZXJl
cigpLnNlbGVjdGlvblN0YXJ0RW5kKHN0YXJ0LCBlbmQpOworICAgIGlmIChzZWxlY3Rpb25TdGF0
ZSA9PSBSZW5kZXJPYmplY3Q6OlNlbGVjdGlvblN0YXJ0KQorICAgICAgICBlbmQgPSByZW5kZXJl
cigpLnRleHRMZW5ndGgoKTsKKyAgICBlbHNlIGlmIChzZWxlY3Rpb25TdGF0ZSA9PSBSZW5kZXJP
YmplY3Q6OlNlbGVjdGlvbkVuZCkKKyAgICAgICAgc3RhcnQgPSAwOworICAgIHJldHVybiB7IHN0
ZDo6bWF4KHN0YXJ0IC0gbV9zdGFydCwgMCksIHN0ZDo6bWluPGludD4oZW5kIC0gbV9zdGFydCwg
bV9sZW4pIH07CiB9CiAKIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTZWxlY3Rpb24oR3JhcGhp
Y3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IFJl
bmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRm9udENhc2NhZGUmIGZvbnQsIENvbG9yIHRleHRDb2xv
cikKQEAgLTYyMCw5ICs2MTksMTAgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNlbGVjdGlv
bihHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZsb2F0UG9pbnQmIGIKICAgICAgICAg
cmV0dXJuOwogCiAgICAgLy8gU2VlIGlmIHdlIGhhdmUgYSBzZWxlY3Rpb24gdG8gcGFpbnQgYXQg
YWxsLgotICAgIGludCBzUG9zLCBlUG9zOwotICAgIHNlbGVjdGlvblN0YXJ0RW5kKHNQb3MsIGVQ
b3MpOwotICAgIGlmIChzUG9zID49IGVQb3MpCisgICAgaW50IHNlbGVjdGlvblN0YXJ0OworICAg
IGludCBzZWxlY3Rpb25FbmQ7CisgICAgc3RkOjp0aWUoc2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlv
bkVuZCkgPSBzZWxlY3Rpb25TdGFydEVuZCgpOworICAgIGlmIChzZWxlY3Rpb25TdGFydCA+PSBz
ZWxlY3Rpb25FbmQpCiAgICAgICAgIHJldHVybjsKIAogICAgIENvbG9yIGMgPSByZW5kZXJlcigp
LnNlbGVjdGlvbkJhY2tncm91bmRDb2xvcigpOwpAQCAtNjQ4LDEwICs2NDgsMTAgQEAgdm9pZCBJ
bmxpbmVUZXh0Qm94OjpwYWludFNlbGVjdGlvbihHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNv
bnN0IEZsb2F0UG9pbnQmIGIKICAgICB9CiAKICAgICBTdHJpbmcgaHlwaGVuYXRlZFN0cmluZ0J1
ZmZlcjsKLSAgICBib29sIHJlc3BlY3RIeXBoZW4gPSBlUG9zID09IGxlbmd0aCAmJiBoYXNIeXBo
ZW4oKTsKKyAgICBib29sIHJlc3BlY3RIeXBoZW4gPSBzZWxlY3Rpb25FbmQgPT0gbGVuZ3RoICYm
IGhhc0h5cGhlbigpOwogICAgIFRleHRSdW4gdGV4dFJ1biA9IGNvbnN0cnVjdFRleHRSdW4oc3R5
bGUsIHN0cmluZywgcmVuZGVyZXIoKS50ZXh0TGVuZ3RoKCkgLSBtX3N0YXJ0LCByZXNwZWN0SHlw
aGVuID8gJmh5cGhlbmF0ZWRTdHJpbmdCdWZmZXIgOiBudWxscHRyKTsKICAgICBpZiAocmVzcGVj
dEh5cGhlbikKLSAgICAgICAgZVBvcyA9IHRleHRSdW4ubGVuZ3RoKCk7CisgICAgICAgIHNlbGVj
dGlvbkVuZCA9IHRleHRSdW4ubGVuZ3RoKCk7CiAKICAgICBjb25zdCBSb290SW5saW5lQm94JiBy
b290Qm94ID0gcm9vdCgpOwogICAgIExheW91dFVuaXQgc2VsZWN0aW9uQm90dG9tID0gcm9vdEJv
eC5zZWxlY3Rpb25Cb3R0b20oKTsKQEAgLTY2MSw3ICs2NjEsNyBAQCB2b2lkIElubGluZVRleHRC
b3g6OnBhaW50U2VsZWN0aW9uKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRQ
b2ludCYgYgogICAgIExheW91dFVuaXQgc2VsZWN0aW9uSGVpZ2h0ID0gc3RkOjptYXg8TGF5b3V0
VW5pdD4oMCwgc2VsZWN0aW9uQm90dG9tIC0gc2VsZWN0aW9uVG9wKTsKIAogICAgIExheW91dFJl
Y3Qgc2VsZWN0aW9uUmVjdCA9IExheW91dFJlY3QoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnko
KSAtIGRlbHRhWSwgbV9sb2dpY2FsV2lkdGgsIHNlbGVjdGlvbkhlaWdodCk7Ci0gICAgZm9udC5h
ZGp1c3RTZWxlY3Rpb25SZWN0Rm9yVGV4dCh0ZXh0UnVuLCBzZWxlY3Rpb25SZWN0LCBzUG9zLCBl
UG9zKTsKKyAgICBmb250LmFkanVzdFNlbGVjdGlvblJlY3RGb3JUZXh0KHRleHRSdW4sIHNlbGVj
dGlvblJlY3QsIHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25FbmQpOwogICAgIGNvbnRleHQuZmls
bFJlY3Qoc25hcFJlY3RUb0RldmljZVBpeGVsc1dpdGhXcml0aW5nRGlyZWN0aW9uKHNlbGVjdGlv
blJlY3QsIHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpLCB0ZXh0UnVu
Lmx0cigpKSwgYyk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsKQEAgLTY3NSwx
MCArNjc1LDkgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNlbGVjdGlvbihHcmFwaGljc0Nv
bnRleHQmIGNvbnRleHQsIGNvbnN0IEZsb2F0UG9pbnQmIGIKIHZvaWQgSW5saW5lVGV4dEJveDo6
cGFpbnRDb21wb3NpdGlvbkJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25z
dCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3Qg
Rm9udENhc2NhZGUmIGZvbnQsIGludCBzdGFydFBvcywgaW50IGVuZFBvcykKIHsKICAgICBpbnQg
b2Zmc2V0ID0gbV9zdGFydDsKLSAgICBpbnQgc1BvcyA9IHN0ZDo6bWF4KHN0YXJ0UG9zIC0gb2Zm
c2V0LCAwKTsKLSAgICBpbnQgZVBvcyA9IHN0ZDo6bWluKGVuZFBvcyAtIG9mZnNldCwgKGludClt
X2xlbik7Ci0KLSAgICBpZiAoc1BvcyA+PSBlUG9zKQorICAgIGludCBzZWxlY3Rpb25TdGFydCA9
IHN0ZDo6bWF4KHN0YXJ0UG9zIC0gb2Zmc2V0LCAwKTsKKyAgICBpbnQgc2VsZWN0aW9uRW5kID0g
c3RkOjptaW48aW50PihlbmRQb3MgLSBvZmZzZXQsIG1fbGVuKTsKKyAgICBpZiAoc2VsZWN0aW9u
U3RhcnQgPj0gc2VsZWN0aW9uRW5kKQogICAgICAgICByZXR1cm47CiAKICAgICBHcmFwaGljc0Nv
bnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoY29udGV4dCk7CkBAIC02ODgsNyArNjg3LDcgQEAg
dm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uQmFja2dyb3VuZChHcmFwaGljc0Nv
bnRleHQmIGNvbnRleHQsIGNvbnN0IEYKICAgICBMYXlvdXRVbml0IGRlbHRhWSA9IHJlbmRlcmVy
KCkuc3R5bGUoKS5pc0ZsaXBwZWRMaW5lc1dyaXRpbmdNb2RlKCkgPyBzZWxlY3Rpb25Cb3R0b20o
KSAtIGxvZ2ljYWxCb3R0b20oKSA6IGxvZ2ljYWxUb3AoKSAtIHNlbGVjdGlvblRvcCgpOwogICAg
IExheW91dFJlY3Qgc2VsZWN0aW9uUmVjdCA9IExheW91dFJlY3QoYm94T3JpZ2luLngoKSwgYm94
T3JpZ2luLnkoKSAtIGRlbHRhWSwgMCwgc2VsZWN0aW9uSGVpZ2h0KCkpOwogICAgIFRleHRSdW4g
dGV4dFJ1biA9IGNvbnN0cnVjdFRleHRSdW4oc3R5bGUpOwotICAgIGZvbnQuYWRqdXN0U2VsZWN0
aW9uUmVjdEZvclRleHQodGV4dFJ1biwgc2VsZWN0aW9uUmVjdCwgc1BvcywgZVBvcyk7CisgICAg
Zm9udC5hZGp1c3RTZWxlY3Rpb25SZWN0Rm9yVGV4dCh0ZXh0UnVuLCBzZWxlY3Rpb25SZWN0LCBz
ZWxlY3Rpb25TdGFydCwgc2VsZWN0aW9uRW5kKTsKICAgICBjb250ZXh0LmZpbGxSZWN0KHNuYXBS
ZWN0VG9EZXZpY2VQaXhlbHNXaXRoV3JpdGluZ0RpcmVjdGlvbihzZWxlY3Rpb25SZWN0LCByZW5k
ZXJlcigpLmRvY3VtZW50KCkuZGV2aWNlU2NhbGVGYWN0b3IoKSwgdGV4dFJ1bi5sdHIoKSksIGNv
bXBvc2l0aW9uQ29sb3IpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSW5saW5lVGV4dEJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRC
b3guaAppbmRleCAwYTMyODYyMTEwZTk3YTBmNWQzYmE1MGM3Yzk1ZDc5ODQ2ZDkxY2E2Li5lYzE4
OTU3NDMzOTFmMGY0ZDQzMjNlN2M1YjM0NzdlMDBiYWVlZThlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbmxpbmVUZXh0Qm94LmgKQEAgLTEyMCw3ICsxMjAsNyBAQCBwdWJsaWM6CiAKICAg
ICB2aXJ0dWFsIExheW91dFJlY3QgbG9jYWxTZWxlY3Rpb25SZWN0KGludCBzdGFydFBvcywgaW50
IGVuZFBvcykgY29uc3Q7CiAgICAgYm9vbCBpc1NlbGVjdGVkKGludCBzdGFydFBvcywgaW50IGVu
ZFBvcykgY29uc3Q7Ci0gICAgdm9pZCBzZWxlY3Rpb25TdGFydEVuZChpbnQmIHNQb3MsIGludCYg
ZVBvcyk7CisgICAgc3RkOjpwYWlyPGludCwgaW50PiBzZWxlY3Rpb25TdGFydEVuZCgpIGNvbnN0
OwogCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBwYWludChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQ
b2ludCYsIExheW91dFVuaXQgbGluZVRvcCwgTGF5b3V0VW5pdCBsaW5lQm90dG9tKSBvdmVycmlk
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4
dEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3gu
Y3BwCmluZGV4IGI4YmM1Nzk5ZDRiYTUxYTYyNDIyMTRhZTBlNWUzZDkwNmVjNjVjZjQuLmRiNzVk
MDc1ZDJiYjI1ZmIyM2I1M2JjMDVmOTFkNDkzMDA3NDhiZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcApAQCAtMjAzLDggKzIwMyw5
IEBAIHZvaWQgU1ZHSW5saW5lVGV4dEJveDo6cGFpbnRTZWxlY3Rpb25CYWNrZ3JvdW5kKFBhaW50
SW5mbyYgcGFpbnRJbmZvKQogCiAgICAgUmVuZGVyU3R5bGUmIHN0eWxlID0gcGFyZW50UmVuZGVy
ZXIuc3R5bGUoKTsKIAotICAgIGludCBzdGFydFBvc2l0aW9uLCBlbmRQb3NpdGlvbjsKLSAgICBz
ZWxlY3Rpb25TdGFydEVuZChzdGFydFBvc2l0aW9uLCBlbmRQb3NpdGlvbik7CisgICAgaW50IHN0
YXJ0UG9zaXRpb247CisgICAgaW50IGVuZFBvc2l0aW9uOworICAgIHN0ZDo6dGllKHN0YXJ0UG9z
aXRpb24sIGVuZFBvc2l0aW9uKSA9IHNlbGVjdGlvblN0YXJ0RW5kKCk7CiAKICAgICBpbnQgZnJh
Z21lbnRTdGFydFBvc2l0aW9uID0gMDsKICAgICBpbnQgZnJhZ21lbnRFbmRQb3NpdGlvbiA9IDA7
CkBAIC01OTIsNyArNTkzLDcgQEAgdm9pZCBTVkdJbmxpbmVUZXh0Qm94OjpwYWludFRleHQoR3Jh
cGhpY3NDb250ZXh0JiBjb250ZXh0LCBSZW5kZXJTdHlsZSogc3R5bGUsIFIKICAgICBpbnQgc3Rh
cnRQb3NpdGlvbiA9IDA7CiAgICAgaW50IGVuZFBvc2l0aW9uID0gMDsKICAgICBpZiAoaGFzU2Vs
ZWN0aW9uKSB7Ci0gICAgICAgIHNlbGVjdGlvblN0YXJ0RW5kKHN0YXJ0UG9zaXRpb24sIGVuZFBv
c2l0aW9uKTsKKyAgICAgICAgc3RkOjp0aWUoc3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRpb24pID0g
c2VsZWN0aW9uU3RhcnRFbmQoKTsKICAgICAgICAgaGFzU2VsZWN0aW9uID0gbWFwU3RhcnRFbmRQ
b3NpdGlvbnNJbnRvRnJhZ21lbnRDb29yZGluYXRlcyhmcmFnbWVudCwgc3RhcnRQb3NpdGlvbiwg
ZW5kUG9zaXRpb24pOwogICAgIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>