<?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>121275</bug_id>
          
          <creation_ts>2013-09-12 22:20:15 -0700</creation_ts>
          <short_desc>[CTTE] Tighten RenderTextControl element typing.</short_desc>
          <delta_ts>2013-09-12 22:32:03 -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="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>kling</cc>
    
    <cc>webkit-ews</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>928632</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-09-12 22:20:15 -0700</bug_when>
    <thetext>[CTTE] Tighten RenderTextControl element typing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>928634</commentid>
    <comment_count>1</comment_count>
      <attachid>211508</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-09-12 22:24:02 -0700</bug_when>
    <thetext>Created attachment 211508
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>928637</commentid>
    <comment_count>2</comment_count>
      <attachid>211508</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-09-12 22:29:35 -0700</bug_when>
    <thetext>Comment on attachment 211508
Patch

Attachment 211508 did not pass qt-ews (qt):
Output: http://webkit-queues.appspot.com/results/1852045</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>928639</commentid>
    <comment_count>3</comment_count>
      <attachid>211508</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-09-12 22:30:56 -0700</bug_when>
    <thetext>Comment on attachment 211508
Patch

Attachment 211508 did not pass qt-wk2-ews (qt-wk2):
Output: http://webkit-queues.appspot.com/results/1841121</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>928643</commentid>
    <comment_count>4</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-09-12 22:32:03 -0700</bug_when>
    <thetext>Committed r155671: &lt;http://trac.webkit.org/changeset/155671&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>211508</attachid>
            <date>2013-09-12 22:24:02 -0700</date>
            <delta_ts>2013-09-12 22:30:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121275.diff</filename>
            <type>text/plain</type>
            <size>24148</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0ZDdhOTdmLi41NjdkMTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjEg
QEAKIDIwMTMtMDktMTIgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCisgICAg
ICAgIFtDVFRFXSBUaWdodGVuIFJlbmRlclRleHRDb250cm9sIGVsZW1lbnQgdHlwaW5nLgorICAg
ICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTIxMjc1PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvZGlmeSB0aGVzZSBpbnZhcmlhbnRzOgorCisg
ICAgICAgIC0gUmVuZGVyVGV4dENvbnRyb2wgYWx3YXlzIGhhcyBhIEhUTUxUZXh0Rm9ybUNvbnRy
b2wuCisgICAgICAgIC0gUmVuZGVyU2VhcmNoRmllbGQgYWx3YXlzIGhhcyBhIEhUTUxJbnB1dEVs
ZW1lbnQuCisgICAgICAgIC0gUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lIGFsd2F5cyBoYXMg
YSBIVE1MSW5wdXRFbGVtZW50LgorCisgICAgICAgIE5vbmUgb2YgdGhlc2UgcmVuZGVyZXJzIGFy
ZSBldmVyIGFub255bW91cy4gRGVsZXRlZCBlbGVtZW50KCkgYW5kIGFkZGVkCisgICAgICAgIHN0
cm9uZ2x5IHR5cGVkIHJlZmVyZW5jZSBnZXR0ZXJzIGluc3RlYWQuCisKKzIwMTMtMDktMTIgIEFu
ZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCiAgICAgICAgIFtDVFRFXSBSZW5kZXJM
aXN0TWFya2VyIGlzIGFsd2F5cyBhbm9ueW1vdXMgYW5kIG93bmVkIGJ5IFJlbmRlckxpc3RJdGVt
LgogICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTIxMjc0PgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0
LmNwcAppbmRleCBjMWRjNDFiLi4yN2VkODZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKQEAgLTEz
ODYsOCArMTM4Niw4IEBAIFN0cmluZyBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpzZWxlY3Rl
ZFRleHQoKSBjb25zdAogICAgICAgICByZXR1cm4gU3RyaW5nKCk7IC8vIG5lZWQgdG8gcmV0dXJu
IHNvbWV0aGluZyBkaXN0aW5jdCBmcm9tIGVtcHR5IHN0cmluZwogICAgIAogICAgIGlmIChpc05h
dGl2ZVRleHRDb250cm9sKCkpIHsKLSAgICAgICAgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQq
IHRleHRDb250cm9sID0gdG9SZW5kZXJUZXh0Q29udHJvbChtX3JlbmRlcmVyKS0+dGV4dEZvcm1D
b250cm9sRWxlbWVudCgpOwotICAgICAgICByZXR1cm4gdGV4dENvbnRyb2wtPnNlbGVjdGVkVGV4
dCgpOworICAgICAgICBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudCYgdGV4dENvbnRyb2wgPSB0
b1JlbmRlclRleHRDb250cm9sKG1fcmVuZGVyZXIpLT50ZXh0Rm9ybUNvbnRyb2xFbGVtZW50KCk7
CisgICAgICAgIHJldHVybiB0ZXh0Q29udHJvbC5zZWxlY3RlZFRleHQoKTsKICAgICB9CiAgICAg
CiAgICAgaWYgKGFyaWFSb2xlQXR0cmlidXRlKCkgPT0gVW5rbm93blJvbGUpCkBAIC0xNDIwLDgg
KzE0MjAsOCBAQCBQbGFpblRleHRSYW5nZSBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpzZWxl
Y3RlZFRleHRSYW5nZSgpIGNvbnN0CiAgICAgCiAgICAgQWNjZXNzaWJpbGl0eVJvbGUgYXJpYVJv
bGUgPSBhcmlhUm9sZUF0dHJpYnV0ZSgpOwogICAgIGlmIChpc05hdGl2ZVRleHRDb250cm9sKCkg
JiYgYXJpYVJvbGUgPT0gVW5rbm93blJvbGUpIHsKLSAgICAgICAgSFRNTFRleHRGb3JtQ29udHJv
bEVsZW1lbnQqIHRleHRDb250cm9sID0gdG9SZW5kZXJUZXh0Q29udHJvbChtX3JlbmRlcmVyKS0+
dGV4dEZvcm1Db250cm9sRWxlbWVudCgpOwotICAgICAgICByZXR1cm4gUGxhaW5UZXh0UmFuZ2Uo
dGV4dENvbnRyb2wtPnNlbGVjdGlvblN0YXJ0KCksIHRleHRDb250cm9sLT5zZWxlY3Rpb25FbmQo
KSAtIHRleHRDb250cm9sLT5zZWxlY3Rpb25TdGFydCgpKTsKKyAgICAgICAgSFRNTFRleHRGb3Jt
Q29udHJvbEVsZW1lbnQmIHRleHRDb250cm9sID0gdG9SZW5kZXJUZXh0Q29udHJvbChtX3JlbmRl
cmVyKS0+dGV4dEZvcm1Db250cm9sRWxlbWVudCgpOworICAgICAgICByZXR1cm4gUGxhaW5UZXh0
UmFuZ2UodGV4dENvbnRyb2wuc2VsZWN0aW9uU3RhcnQoKSwgdGV4dENvbnRyb2wuc2VsZWN0aW9u
RW5kKCkgLSB0ZXh0Q29udHJvbC5zZWxlY3Rpb25TdGFydCgpKTsKICAgICB9CiAgICAgCiAgICAg
aWYgKGFyaWFSb2xlID09IFVua25vd25Sb2xlKQpAQCAtMTQzMyw4ICsxNDMzLDggQEAgUGxhaW5U
ZXh0UmFuZ2UgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6c2VsZWN0ZWRUZXh0UmFuZ2UoKSBj
b25zdAogdm9pZCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpzZXRTZWxlY3RlZFRleHRSYW5n
ZShjb25zdCBQbGFpblRleHRSYW5nZSYgcmFuZ2UpCiB7CiAgICAgaWYgKGlzTmF0aXZlVGV4dENv
bnRyb2woKSkgewotICAgICAgICBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudCogdGV4dENvbnRy
b2wgPSB0b1JlbmRlclRleHRDb250cm9sKG1fcmVuZGVyZXIpLT50ZXh0Rm9ybUNvbnRyb2xFbGVt
ZW50KCk7Ci0gICAgICAgIHRleHRDb250cm9sLT5zZXRTZWxlY3Rpb25SYW5nZShyYW5nZS5zdGFy
dCwgcmFuZ2Uuc3RhcnQgKyByYW5nZS5sZW5ndGgpOworICAgICAgICBIVE1MVGV4dEZvcm1Db250
cm9sRWxlbWVudCYgdGV4dENvbnRyb2wgPSB0b1JlbmRlclRleHRDb250cm9sKG1fcmVuZGVyZXIp
LT50ZXh0Rm9ybUNvbnRyb2xFbGVtZW50KCk7CisgICAgICAgIHRleHRDb250cm9sLnNldFNlbGVj
dGlvblJhbmdlKHJhbmdlLnN0YXJ0LCByYW5nZS5zdGFydCArIHJhbmdlLmxlbmd0aCk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKQEAgLTE4MTgsNyArMTgxOCw3IEBAIFZpc2libGVQb3NpdGlv
biBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojp2aXNpYmxlUG9zaXRpb25Gb3JJbmRleChpbnQg
aW5kZXgpIGNvCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKIAogICAgIGlmIChp
c05hdGl2ZVRleHRDb250cm9sKCkpCi0gICAgICAgIHJldHVybiB0b1JlbmRlclRleHRDb250cm9s
KG1fcmVuZGVyZXIpLT50ZXh0Rm9ybUNvbnRyb2xFbGVtZW50KCktPnZpc2libGVQb3NpdGlvbkZv
ckluZGV4KGluZGV4KTsKKyAgICAgICAgcmV0dXJuIHRvUmVuZGVyVGV4dENvbnRyb2wobV9yZW5k
ZXJlciktPnRleHRGb3JtQ29udHJvbEVsZW1lbnQoKS52aXNpYmxlUG9zaXRpb25Gb3JJbmRleChp
bmRleCk7CiAKICAgICBpZiAoIWFsbG93c1RleHRSYW5nZXMoKSAmJiAhbV9yZW5kZXJlci0+aXNU
ZXh0KCkpCiAgICAgICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oKTsKQEAgLTE4MzMsNyArMTgz
Myw3IEBAIFZpc2libGVQb3NpdGlvbiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojp2aXNpYmxl
UG9zaXRpb25Gb3JJbmRleChpbnQgaW5kZXgpIGNvCiBpbnQgQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdDo6aW5kZXhGb3JWaXNpYmxlUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJiBwb3Mp
IGNvbnN0CiB7CiAgICAgaWYgKGlzTmF0aXZlVGV4dENvbnRyb2woKSkKLSAgICAgICAgcmV0dXJu
IHRvUmVuZGVyVGV4dENvbnRyb2wobV9yZW5kZXJlciktPnRleHRGb3JtQ29udHJvbEVsZW1lbnQo
KS0+aW5kZXhGb3JWaXNpYmxlUG9zaXRpb24ocG9zKTsKKyAgICAgICAgcmV0dXJuIHRvUmVuZGVy
VGV4dENvbnRyb2wobV9yZW5kZXJlciktPnRleHRGb3JtQ29udHJvbEVsZW1lbnQoKS5pbmRleEZv
clZpc2libGVQb3NpdGlvbihwb3MpOwogCiAgICAgaWYgKCFpc1RleHRDb250cm9sKCkpCiAgICAg
ICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRl
cmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCmluZGV4
IDlkYjUzMGYuLjMzNzQ4MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4
dEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5j
cHAKQEAgLTY4MSw3ICs2ODEsNyBAQCBib29sIFRleHRJdGVyYXRvcjo6aGFuZGxlUmVwbGFjZWRF
bGVtZW50KCkKICAgICB9CiAKICAgICBpZiAobV9lbnRlcnNUZXh0Q29udHJvbHMgJiYgcmVuZGVy
ZXItPmlzVGV4dENvbnRyb2woKSkgewotICAgICAgICBpZiAoSFRNTEVsZW1lbnQqIGlubmVyVGV4
dEVsZW1lbnQgPSB0b1JlbmRlclRleHRDb250cm9sKHJlbmRlcmVyKS0+dGV4dEZvcm1Db250cm9s
RWxlbWVudCgpLT5pbm5lclRleHRFbGVtZW50KCkpIHsKKyAgICAgICAgaWYgKEhUTUxFbGVtZW50
KiBpbm5lclRleHRFbGVtZW50ID0gdG9SZW5kZXJUZXh0Q29udHJvbChyZW5kZXJlciktPnRleHRG
b3JtQ29udHJvbEVsZW1lbnQoKS5pbm5lclRleHRFbGVtZW50KCkpIHsKICAgICAgICAgICAgIG1f
bm9kZSA9IGlubmVyVGV4dEVsZW1lbnQtPmNvbnRhaW5pbmdTaGFkb3dSb290KCk7CiAgICAgICAg
ICAgICBwdXNoRnVsbHlDbGlwcGVkU3RhdGUobV9mdWxseUNsaXBwZWRTdGFjaywgbV9ub2RlKTsK
ICAgICAgICAgICAgIG1fb2Zmc2V0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvU2VhcmNoSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRU
eXBlLmNwcAppbmRleCBjM2M1MzNkLi4yNzk0NTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFy
Y2hJbnB1dFR5cGUuY3BwCkBAIC03MSw3ICs3MSw4IEBAIHZvaWQgU2VhcmNoSW5wdXRUeXBlOjph
ZGRTZWFyY2hSZXN1bHQoKQogCiBSZW5kZXJPYmplY3QqIFNlYXJjaElucHV0VHlwZTo6Y3JlYXRl
UmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSopIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlclNlYXJjaEZpZWxkKGVsZW1lbnQoKSk7CisgICAgQVNT
RVJUKGVsZW1lbnQoKSk7IC8vIEZJWE1FOiBlbGVtZW50KCkgc2hvdWxkIHJldHVybiBhIHJlZmVy
ZW5jZS4KKyAgICByZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVyU2VhcmNoRmllbGQoKmVsZW1lbnQo
KSk7CiB9CiAKIGNvbnN0IEF0b21pY1N0cmluZyYgU2VhcmNoSW5wdXRUeXBlOjpmb3JtQ29udHJv
bFR5cGUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJ
bnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3Bw
CmluZGV4IDgyMjhlYjQuLjZiNmQ5YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
VGV4dEZpZWxkSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVs
ZElucHV0VHlwZS5jcHAKQEAgLTIwMyw3ICsyMDMsOCBAQCBib29sIFRleHRGaWVsZElucHV0VHlw
ZTo6c2hvdWxkU3VibWl0SW1wbGljaXRseShFdmVudCogZXZlbnQpCiAKIFJlbmRlck9iamVjdCog
VGV4dEZpZWxkSW5wdXRUeXBlOjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJl
bmRlclN0eWxlKikgY29uc3QKIHsKLSAgICByZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVyVGV4dENv
bnRyb2xTaW5nbGVMaW5lKGVsZW1lbnQoKSk7CisgICAgQVNTRVJUKGVsZW1lbnQoKSk7IC8vIEZJ
WE1FOiBlbGVtZW50KCkgc2hvdWxkIHJldHVybiBhIHJlZmVyZW5jZS4KKyAgICByZXR1cm4gbmV3
IChhcmVuYSkgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lKCplbGVtZW50KCkpOwogfQogCiBi
b29sIFRleHRGaWVsZElucHV0VHlwZTo6bmVlZHNDb250YWluZXIoKSBjb25zdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlYXJjaEZpZWxkLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWFyY2hGaWVsZC5jcHAKaW5kZXggNDhmNDlhMS4u
NGI1MDJjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlYXJj
aEZpZWxkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VhcmNoRmll
bGQuY3BwCkBAIC01MiwxNiArNTIsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBu
YW1lc3BhY2UgSFRNTE5hbWVzOwogCi0vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0K
LVJlbmRlclNlYXJjaEZpZWxkOjpSZW5kZXJTZWFyY2hGaWVsZChFbGVtZW50KiBlbGVtZW50KQor
UmVuZGVyU2VhcmNoRmllbGQ6OlJlbmRlclNlYXJjaEZpZWxkKEhUTUxJbnB1dEVsZW1lbnQmIGVs
ZW1lbnQpCiAgICAgOiBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUoZWxlbWVudCkKICAgICAs
IG1fc2VhcmNoUG9wdXBJc1Zpc2libGUoZmFsc2UpCiAgICAgLCBtX3NlYXJjaFBvcHVwKDApCiB7
Ci0gICAgQVNTRVJUKGVsZW1lbnQtPmlzSFRNTEVsZW1lbnQoKSk7Ci0gICAgQVNTRVJUKGVsZW1l
bnQtPnRvSW5wdXRFbGVtZW50KCkpOwotICAgIEFTU0VSVChlbGVtZW50LT50b0lucHV0RWxlbWVu
dCgpLT5pc1NlYXJjaEZpZWxkKCkpOworICAgIEFTU0VSVChlbGVtZW50LmlzU2VhcmNoRmllbGQo
KSk7CiB9CiAKIFJlbmRlclNlYXJjaEZpZWxkOjp+UmVuZGVyU2VhcmNoRmllbGQoKQpAQCAtNzQs
MjEgKzcwLDIwIEBAIFJlbmRlclNlYXJjaEZpZWxkOjp+UmVuZGVyU2VhcmNoRmllbGQoKQogCiBp
bmxpbmUgSFRNTEVsZW1lbnQqIFJlbmRlclNlYXJjaEZpZWxkOjpyZXN1bHRzQnV0dG9uRWxlbWVu
dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGlucHV0RWxlbWVudCgpLT5yZXN1bHRzQnV0dG9uRWxl
bWVudCgpOworICAgIHJldHVybiBpbnB1dEVsZW1lbnQoKS5yZXN1bHRzQnV0dG9uRWxlbWVudCgp
OwogfQogCiBpbmxpbmUgSFRNTEVsZW1lbnQqIFJlbmRlclNlYXJjaEZpZWxkOjpjYW5jZWxCdXR0
b25FbGVtZW50KCkgY29uc3QKIHsKLSAgICByZXR1cm4gaW5wdXRFbGVtZW50KCktPmNhbmNlbEJ1
dHRvbkVsZW1lbnQoKTsKKyAgICByZXR1cm4gaW5wdXRFbGVtZW50KCkuY2FuY2VsQnV0dG9uRWxl
bWVudCgpOwogfQogCiB2b2lkIFJlbmRlclNlYXJjaEZpZWxkOjphZGRTZWFyY2hSZXN1bHQoKQog
ewotICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gaW5wdXRFbGVtZW50KCk7Ci0gICAgaWYg
KGlucHV0LT5tYXhSZXN1bHRzKCkgPD0gMCkKKyAgICBpZiAoaW5wdXRFbGVtZW50KCkubWF4UmVz
dWx0cygpIDw9IDApCiAgICAgICAgIHJldHVybjsKIAotICAgIFN0cmluZyB2YWx1ZSA9IGlucHV0
LT52YWx1ZSgpOworICAgIFN0cmluZyB2YWx1ZSA9IGlucHV0RWxlbWVudCgpLnZhbHVlKCk7CiAg
ICAgaWYgKHZhbHVlLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0xMDIsNyArOTcs
NyBAQCB2b2lkIFJlbmRlclNlYXJjaEZpZWxkOjphZGRTZWFyY2hSZXN1bHQoKQogICAgIH0KIAog
ICAgIG1fcmVjZW50U2VhcmNoZXMuaW5zZXJ0KDAsIHZhbHVlKTsKLSAgICB3aGlsZSAoc3RhdGlj
X2Nhc3Q8aW50PihtX3JlY2VudFNlYXJjaGVzLnNpemUoKSkgPiBpbnB1dC0+bWF4UmVzdWx0cygp
KQorICAgIHdoaWxlIChzdGF0aWNfY2FzdDxpbnQ+KG1fcmVjZW50U2VhcmNoZXMuc2l6ZSgpKSA+
IGlucHV0RWxlbWVudCgpLm1heFJlc3VsdHMoKSkKICAgICAgICAgbV9yZWNlbnRTZWFyY2hlcy5y
ZW1vdmVMYXN0KCk7CiAKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUgPSBhdXRvc2F2ZU5h
bWUoKTsKQEAgLTEyOSwxMSArMTI0LDEwIEBAIHZvaWQgUmVuZGVyU2VhcmNoRmllbGQ6OnNob3dQ
b3B1cCgpCiAgICAgbV9zZWFyY2hQb3B1cC0+bG9hZFJlY2VudFNlYXJjaGVzKG5hbWUsIG1fcmVj
ZW50U2VhcmNoZXMpOwogCiAgICAgLy8gVHJpbSB0aGUgcmVjZW50IHNlYXJjaGVzIGxpc3QgaWYg
dGhlIG1heGltdW0gc2l6ZSBoYXMgY2hhbmdlZCBzaW5jZSB3ZSBsYXN0IHNhdmVkLgotICAgIEhU
TUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gaW5wdXRFbGVtZW50KCk7Ci0gICAgaWYgKHN0YXRpY19j
YXN0PGludD4obV9yZWNlbnRTZWFyY2hlcy5zaXplKCkpID4gaW5wdXQtPm1heFJlc3VsdHMoKSkg
eworICAgIGlmIChzdGF0aWNfY2FzdDxpbnQ+KG1fcmVjZW50U2VhcmNoZXMuc2l6ZSgpKSA+IGlu
cHV0RWxlbWVudCgpLm1heFJlc3VsdHMoKSkgewogICAgICAgICBkbyB7CiAgICAgICAgICAgICBt
X3JlY2VudFNlYXJjaGVzLnJlbW92ZUxhc3QoKTsKLSAgICAgICAgfSB3aGlsZSAoc3RhdGljX2Nh
c3Q8aW50PihtX3JlY2VudFNlYXJjaGVzLnNpemUoKSkgPiBpbnB1dC0+bWF4UmVzdWx0cygpKTsK
KyAgICAgICAgfSB3aGlsZSAoc3RhdGljX2Nhc3Q8aW50PihtX3JlY2VudFNlYXJjaGVzLnNpemUo
KSkgPiBpbnB1dEVsZW1lbnQoKS5tYXhSZXN1bHRzKCkpOwogCiAgICAgICAgIG1fc2VhcmNoUG9w
dXAtPnNhdmVSZWNlbnRTZWFyY2hlcyhuYW1lLCBtX3JlY2VudFNlYXJjaGVzKTsKICAgICB9CkBA
IC0xOTQsMTkgKzE4OCwxOCBAQCB2b2lkIFJlbmRlclNlYXJjaEZpZWxkOjp1cGRhdGVDYW5jZWxC
dXR0b25WaXNpYmlsaXR5KCkgY29uc3QKIAogRVZpc2liaWxpdHkgUmVuZGVyU2VhcmNoRmllbGQ6
OnZpc2liaWxpdHlGb3JDYW5jZWxCdXR0b24oKSBjb25zdAogewotICAgIHJldHVybiAoc3R5bGUo
KS0+dmlzaWJpbGl0eSgpID09IEhJRERFTiB8fCBpbnB1dEVsZW1lbnQoKS0+dmFsdWUoKS5pc0Vt
cHR5KCkpID8gSElEREVOIDogVklTSUJMRTsKKyAgICByZXR1cm4gKHN0eWxlKCktPnZpc2liaWxp
dHkoKSA9PSBISURERU4gfHwgaW5wdXRFbGVtZW50KCkudmFsdWUoKS5pc0VtcHR5KCkpID8gSElE
REVOIDogVklTSUJMRTsKIH0KIAogY29uc3QgQXRvbWljU3RyaW5nJiBSZW5kZXJTZWFyY2hGaWVs
ZDo6YXV0b3NhdmVOYW1lKCkgY29uc3QKIHsKLSAgICByZXR1cm4gZWxlbWVudCgpLT5nZXRBdHRy
aWJ1dGUoYXV0b3NhdmVBdHRyKTsKKyAgICByZXR1cm4gaW5wdXRFbGVtZW50KCkuZ2V0QXR0cmli
dXRlKGF1dG9zYXZlQXR0cik7CiB9CiAKIC8vIFBvcHVwTWVudUNsaWVudCBtZXRob2RzCiB2b2lk
IFJlbmRlclNlYXJjaEZpZWxkOjp2YWx1ZUNoYW5nZWQodW5zaWduZWQgbGlzdEluZGV4LCBib29s
IGZpcmVFdmVudHMpCiB7CiAgICAgQVNTRVJUKHN0YXRpY19jYXN0PGludD4obGlzdEluZGV4KSA8
IGxpc3RTaXplKCkpOwotICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gaW5wdXRFbGVtZW50
KCk7CiAgICAgaWYgKHN0YXRpY19jYXN0PGludD4obGlzdEluZGV4KSA9PSAobGlzdFNpemUoKSAt
IDEpKSB7CiAgICAgICAgIGlmIChmaXJlRXZlbnRzKSB7CiAgICAgICAgICAgICBtX3JlY2VudFNl
YXJjaGVzLmNsZWFyKCk7CkBAIC0yMTgsMTAgKzIxMSwxMCBAQCB2b2lkIFJlbmRlclNlYXJjaEZp
ZWxkOjp2YWx1ZUNoYW5nZWQodW5zaWduZWQgbGlzdEluZGV4LCBib29sIGZpcmVFdmVudHMpCiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9IGVsc2UgewotICAgICAgICBpbnB1dC0+c2V0
VmFsdWUoaXRlbVRleHQobGlzdEluZGV4KSk7CisgICAgICAgIGlucHV0RWxlbWVudCgpLnNldFZh
bHVlKGl0ZW1UZXh0KGxpc3RJbmRleCkpOwogICAgICAgICBpZiAoZmlyZUV2ZW50cykKLSAgICAg
ICAgICAgIGlucHV0LT5vblNlYXJjaCgpOwotICAgICAgICBpbnB1dC0+c2VsZWN0KCk7CisgICAg
ICAgICAgICBpbnB1dEVsZW1lbnQoKS5vblNlYXJjaCgpOworICAgICAgICBpbnB1dEVsZW1lbnQo
KS5zZWxlY3QoKTsKICAgICB9CiB9CiAKQEAgLTMzOSw3ICszMzIsNyBAQCBib29sIFJlbmRlclNl
YXJjaEZpZWxkOjppdGVtSXNTZWxlY3RlZCh1bnNpZ25lZCkgY29uc3QKIAogdm9pZCBSZW5kZXJT
ZWFyY2hGaWVsZDo6c2V0VGV4dEZyb21JdGVtKHVuc2lnbmVkIGxpc3RJbmRleCkKIHsKLSAgICBp
bnB1dEVsZW1lbnQoKS0+c2V0VmFsdWUoaXRlbVRleHQobGlzdEluZGV4KSk7CisgICAgaW5wdXRF
bGVtZW50KCkuc2V0VmFsdWUoaXRlbVRleHQobGlzdEluZGV4KSk7CiB9CiAKIEZvbnRTZWxlY3Rv
ciogUmVuZGVyU2VhcmNoRmllbGQ6OmZvbnRTZWxlY3RvcigpIGNvbnN0CkBAIC0zNTcsNyArMzUw
LDcgQEAgUGFzc1JlZlB0cjxTY3JvbGxiYXI+IFJlbmRlclNlYXJjaEZpZWxkOjpjcmVhdGVTY3Jv
bGxiYXIoU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGEKICAgICBSZWZQdHI8U2Nyb2xsYmFyPiB3aWRn
ZXQ7CiAgICAgYm9vbCBoYXNDdXN0b21TY3JvbGxiYXJTdHlsZSA9IHN0eWxlKCktPmhhc1BzZXVk
b1N0eWxlKFNDUk9MTEJBUik7CiAgICAgaWYgKGhhc0N1c3RvbVNjcm9sbGJhclN0eWxlKQotICAg
ICAgICB3aWRnZXQgPSBSZW5kZXJTY3JvbGxiYXI6OmNyZWF0ZUN1c3RvbVNjcm9sbGJhcihzY3Jv
bGxhYmxlQXJlYSwgb3JpZW50YXRpb24sIGVsZW1lbnQoKSk7CisgICAgICAgIHdpZGdldCA9IFJl
bmRlclNjcm9sbGJhcjo6Y3JlYXRlQ3VzdG9tU2Nyb2xsYmFyKHNjcm9sbGFibGVBcmVhLCBvcmll
bnRhdGlvbiwgJmlucHV0RWxlbWVudCgpKTsKICAgICBlbHNlCiAgICAgICAgIHdpZGdldCA9IFNj
cm9sbGJhcjo6Y3JlYXRlTmF0aXZlU2Nyb2xsYmFyKHNjcm9sbGFibGVBcmVhLCBvcmllbnRhdGlv
biwgY29udHJvbFNpemUpOwogICAgIHJldHVybiB3aWRnZXQucmVsZWFzZSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlYXJjaEZpZWxkLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VhcmNoRmllbGQuaAppbmRleCBjMWI5MGQ1Li4zOTM1
ZGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VhcmNoRmll
bGQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VhcmNoRmllbGQuaApA
QCAtMzMsNyArMzMsNyBAQCBjbGFzcyBTZWFyY2hQb3B1cE1lbnU7CiAKIGNsYXNzIFJlbmRlclNl
YXJjaEZpZWxkIEZJTkFMIDogcHVibGljIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZSwgcHJp
dmF0ZSBQb3B1cE1lbnVDbGllbnQgewogcHVibGljOgotICAgIFJlbmRlclNlYXJjaEZpZWxkKEVs
ZW1lbnQqKTsKKyAgICBSZW5kZXJTZWFyY2hGaWVsZChIVE1MSW5wdXRFbGVtZW50Jik7CiAgICAg
dmlydHVhbCB+UmVuZGVyU2VhcmNoRmllbGQoKTsKIAogICAgIHZvaWQgdXBkYXRlQ2FuY2VsQnV0
dG9uVmlzaWJpbGl0eSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHRDb250cm9sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUZXh0Q29udHJvbC5jcHAKaW5kZXggZDEwOTM1Ni4uNTVmYTg3OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCkBAIC0zNiwyNCArMzYsMjQg
QEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZW5kZXJU
ZXh0Q29udHJvbDo6UmVuZGVyVGV4dENvbnRyb2woRWxlbWVudCogZWxlbWVudCkKLSAgICA6IFJl
bmRlckJsb2NrRmxvdyhlbGVtZW50KQorUmVuZGVyVGV4dENvbnRyb2w6OlJlbmRlclRleHRDb250
cm9sKEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50JiBlbGVtZW50KQorICAgIDogUmVuZGVyQmxv
Y2tGbG93KCZlbGVtZW50KQogewotICAgIEFTU0VSVChpc0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVt
ZW50KGVsZW1lbnQpKTsKIH0KIAogUmVuZGVyVGV4dENvbnRyb2w6On5SZW5kZXJUZXh0Q29udHJv
bCgpCiB7CiB9CiAKLUhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50KiBSZW5kZXJUZXh0Q29udHJv
bDo6dGV4dEZvcm1Db250cm9sRWxlbWVudCgpIGNvbnN0CitIVE1MVGV4dEZvcm1Db250cm9sRWxl
bWVudCYgUmVuZGVyVGV4dENvbnRyb2w6OnRleHRGb3JtQ29udHJvbEVsZW1lbnQoKSBjb25zdAog
ewotICAgIHJldHVybiB0b0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50KGVsZW1lbnQoKSk7Cisg
ICAgQVNTRVJUKFJlbmRlck9iamVjdDo6bm9kZSgpKTsKKyAgICByZXR1cm4gKnRvSFRNTFRleHRG
b3JtQ29udHJvbEVsZW1lbnQoUmVuZGVyT2JqZWN0Ojpub2RlKCkpOwogfQogCiBIVE1MRWxlbWVu
dCogUmVuZGVyVGV4dENvbnRyb2w6OmlubmVyVGV4dEVsZW1lbnQoKSBjb25zdAogewotICAgIHJl
dHVybiB0ZXh0Rm9ybUNvbnRyb2xFbGVtZW50KCktPmlubmVyVGV4dEVsZW1lbnQoKTsKKyAgICBy
ZXR1cm4gdGV4dEZvcm1Db250cm9sRWxlbWVudCgpLmlubmVyVGV4dEVsZW1lbnQoKTsKIH0KIAog
dm9pZCBSZW5kZXJUZXh0Q29udHJvbDo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRp
ZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkKQEAgLTcxLDE5ICs3MSwxMyBAQCB2b2lk
IFJlbmRlclRleHRDb250cm9sOjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwg
Y29uc3QgUmVuZGVyU3R5bGUqCiAgICAgICAgIGlubmVyVGV4dFJlbmRlcmVyLT5zZXRTdHlsZShj
cmVhdGVJbm5lclRleHRTdHlsZShzdHlsZSgpKSk7CiAgICAgICAgIGlubmVyVGV4dC0+c2V0TmVl
ZHNTdHlsZVJlY2FsYygpOwogICAgIH0KLSAgICB0ZXh0Rm9ybUNvbnRyb2xFbGVtZW50KCktPnVw
ZGF0ZVBsYWNlaG9sZGVyVmlzaWJpbGl0eShmYWxzZSk7CisgICAgdGV4dEZvcm1Db250cm9sRWxl
bWVudCgpLnVwZGF0ZVBsYWNlaG9sZGVyVmlzaWJpbGl0eShmYWxzZSk7CiB9CiAKLXN0YXRpYyBp
bmxpbmUgYm9vbCB1cGRhdGVVc2VyTW9kaWZ5UHJvcGVydHkoTm9kZSogbm9kZSwgUmVuZGVyU3R5
bGUqIHN0eWxlKQorc3RhdGljIGlubGluZSBib29sIHVwZGF0ZVVzZXJNb2RpZnlQcm9wZXJ0eShj
b25zdCBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUqIHN0
eWxlKQogewotICAgIGJvb2wgaXNEaXNhYmxlZCA9IGZhbHNlOwotICAgIGJvb2wgaXNSZWFkT25s
eUNvbnRyb2wgPSBmYWxzZTsKLQotICAgIGlmIChub2RlLT5pc0VsZW1lbnROb2RlKCkpIHsKLSAg
ICAgICAgRWxlbWVudCogZWxlbWVudCA9IHRvRWxlbWVudChub2RlKTsKLSAgICAgICAgaXNEaXNh
YmxlZCA9IGVsZW1lbnQtPmlzRGlzYWJsZWRGb3JtQ29udHJvbCgpOwotICAgICAgICBpc1JlYWRP
bmx5Q29udHJvbCA9IGVsZW1lbnQtPmlzVGV4dEZvcm1Db250cm9sKCkgJiYgdG9IVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudChlbGVtZW50KS0+aXNSZWFkT25seSgpOwotICAgIH0KKyAgICBib29s
IGlzRGlzYWJsZWQgPSBlbGVtZW50LmlzRGlzYWJsZWRGb3JtQ29udHJvbCgpOworICAgIGJvb2wg
aXNSZWFkT25seUNvbnRyb2wgPSBlbGVtZW50LmlzUmVhZE9ubHkoKTsKIAogICAgIHN0eWxlLT5z
ZXRVc2VyTW9kaWZ5KChpc1JlYWRPbmx5Q29udHJvbCB8fCBpc0Rpc2FibGVkKSA/IFJFQURfT05M
WSA6IFJFQURfV1JJVEVfUExBSU5URVhUX09OTFkpOwogICAgIHJldHVybiBpc0Rpc2FibGVkOwpA
QCAtOTYsNyArOTAsNyBAQCB2b2lkIFJlbmRlclRleHRDb250cm9sOjphZGp1c3RJbm5lclRleHRT
dHlsZShjb25zdCBSZW5kZXJTdHlsZSogc3RhcnRTdHlsZSwgUmVuZAogICAgIHRleHRCbG9ja1N0
eWxlLT5zZXREaXJlY3Rpb24oc3R5bGUoKS0+ZGlyZWN0aW9uKCkpOwogICAgIHRleHRCbG9ja1N0
eWxlLT5zZXRVbmljb2RlQmlkaShzdHlsZSgpLT51bmljb2RlQmlkaSgpKTsKIAotICAgIGJvb2wg
ZGlzYWJsZWQgPSB1cGRhdGVVc2VyTW9kaWZ5UHJvcGVydHkoZWxlbWVudCgpLCB0ZXh0QmxvY2tT
dHlsZSk7CisgICAgYm9vbCBkaXNhYmxlZCA9IHVwZGF0ZVVzZXJNb2RpZnlQcm9wZXJ0eSh0ZXh0
Rm9ybUNvbnRyb2xFbGVtZW50KCksIHRleHRCbG9ja1N0eWxlKTsKICAgICBpZiAoZGlzYWJsZWQp
CiAgICAgICAgIHRleHRCbG9ja1N0eWxlLT5zZXRDb2xvcih0aGVtZSgpLT5kaXNhYmxlZFRleHRD
b2xvcih0ZXh0QmxvY2tTdHlsZS0+dmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5Q29s
b3IpLCBzdGFydFN0eWxlLT52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlCYWNrZ3Jv
dW5kQ29sb3IpKSk7CiB9CkBAIC0xMjIsNyArMTE2LDcgQEAgdm9pZCBSZW5kZXJUZXh0Q29udHJv
bDo6dXBkYXRlRnJvbUVsZW1lbnQoKQogewogICAgIEVsZW1lbnQqIGlubmVyVGV4dCA9IGlubmVy
VGV4dEVsZW1lbnQoKTsKICAgICBpZiAoaW5uZXJUZXh0ICYmIGlubmVyVGV4dC0+cmVuZGVyZXIo
KSkKLSAgICAgICAgdXBkYXRlVXNlck1vZGlmeVByb3BlcnR5KGVsZW1lbnQoKSwgaW5uZXJUZXh0
LT5yZW5kZXJlcigpLT5zdHlsZSgpKTsKKyAgICAgICAgdXBkYXRlVXNlck1vZGlmeVByb3BlcnR5
KHRleHRGb3JtQ29udHJvbEVsZW1lbnQoKSwgaW5uZXJUZXh0LT5yZW5kZXJlcigpLT5zdHlsZSgp
KTsKIH0KIAogaW50IFJlbmRlclRleHRDb250cm9sOjpzY3JvbGxiYXJUaGlja25lc3MoKSBjb25z
dApAQCAtMjk3LDcgKzI5MSw3IEBAIHZvaWQgUmVuZGVyVGV4dENvbnRyb2w6OmFkZEZvY3VzUmlu
Z1JlY3RzKFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMsIGNvbnN0IExheW91dFBvCiAKIFJlbmRlck9i
amVjdCogUmVuZGVyVGV4dENvbnRyb2w6OmxheW91dFNwZWNpYWxFeGNsdWRlZENoaWxkKGJvb2wg
cmVsYXlvdXRDaGlsZHJlbikKIHsKLSAgICBIVE1MRWxlbWVudCogcGxhY2Vob2xkZXIgPSB0b0hU
TUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50KGVsZW1lbnQoKSktPnBsYWNlaG9sZGVyRWxlbWVudCgp
OworICAgIEhUTUxFbGVtZW50KiBwbGFjZWhvbGRlciA9IHRleHRGb3JtQ29udHJvbEVsZW1lbnQo
KS5wbGFjZWhvbGRlckVsZW1lbnQoKTsKICAgICBSZW5kZXJPYmplY3QqIHBsYWNlaG9sZGVyUmVu
ZGVyZXIgPSBwbGFjZWhvbGRlciA/IHBsYWNlaG9sZGVyLT5yZW5kZXJlcigpIDogMDsKICAgICBp
ZiAoIXBsYWNlaG9sZGVyUmVuZGVyZXIpCiAgICAgICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaAppbmRleCBhZjZhMjA4Li4xNTBjMTJj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuaApAQCAt
MzMsMTEgKzMzLDExIEBAIGNsYXNzIFJlbmRlclRleHRDb250cm9sIDogcHVibGljIFJlbmRlckJs
b2NrRmxvdyB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+UmVuZGVyVGV4dENvbnRyb2woKTsKIAot
ICAgIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50KiB0ZXh0Rm9ybUNvbnRyb2xFbGVtZW50KCkg
Y29uc3Q7CisgICAgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQmIHRleHRGb3JtQ29udHJvbEVs
ZW1lbnQoKSBjb25zdDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IGNyZWF0
ZUlubmVyVGV4dFN0eWxlKGNvbnN0IFJlbmRlclN0eWxlKiBzdGFydFN0eWxlKSBjb25zdCA9IDA7
CiAKIHByb3RlY3RlZDoKLSAgICBSZW5kZXJUZXh0Q29udHJvbChFbGVtZW50Kik7CisgICAgUmVu
ZGVyVGV4dENvbnRyb2woSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQmKTsKIAogICAgIC8vIFRo
aXMgY29udmVuaWVuY2UgZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSBtYWRlIHB1YmxpYyBiZWNhdXNl
IGlubmVyVGV4dEVsZW1lbnQgbWF5IG91dGxpdmUgdGhlIHJlbmRlciB0cmVlLgogICAgIEhUTUxF
bGVtZW50KiBpbm5lclRleHRFbGVtZW50KCkgY29uc3Q7CkBAIC02NSw2ICs2NSw4IEBAIHByb3Rl
Y3RlZDoKICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogbGF5b3V0U3BlY2lhbEV4Y2x1ZGVkQ2hp
bGQoYm9vbCByZWxheW91dENoaWxkcmVuKTsKIAogcHJpdmF0ZToKKyAgICB2b2lkIGVsZW1lbnQo
KSBjb25zdCBXVEZfREVMRVRFRF9GVU5DVElPTjsKKwogICAgIHZpcnR1YWwgY29uc3QgY2hhciog
cmVuZGVyTmFtZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuICJSZW5kZXJUZXh0Q29udHJvbCI7
IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNUZXh0Q29udHJvbCgpIGNvbnN0IE9WRVJSSURFIEZJTkFM
IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUludHJpbnNpY0xvZ2lj
YWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dp
Y2FsV2lkdGgpIGNvbnN0IE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRleHRDb250cm9sTXVsdGlMaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5jcHAKaW5kZXggMTMwNWRlYy4uOTVm
N2NiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250
cm9sTXVsdGlMaW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dENvbnRyb2xNdWx0aUxpbmUuY3BwCkBAIC0zMyw3ICszMyw3IEBACiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIFJlbmRlclRleHRDb250cm9sTXVsdGlMaW5lOjpSZW5kZXJUZXh0Q29udHJvbE11bHRp
TGluZShIVE1MVGV4dEFyZWFFbGVtZW50JiBlbGVtZW50KQotICAgIDogUmVuZGVyVGV4dENvbnRy
b2woJmVsZW1lbnQpCisgICAgOiBSZW5kZXJUZXh0Q29udHJvbChlbGVtZW50KQogewogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5n
bGVMaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNp
bmdsZUxpbmUuY3BwCmluZGV4IGNiMzY5ZDguLjhjNWQ1ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCkBA
IC01MSwxMyArNTEsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2Ug
SFRNTE5hbWVzOwogCi1SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OlJlbmRlclRleHRDb250
cm9sU2luZ2xlTGluZShFbGVtZW50KiBlbGVtZW50KQorUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVM
aW5lOjpSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUoSFRNTElucHV0RWxlbWVudCYgZWxlbWVu
dCkKICAgICA6IFJlbmRlclRleHRDb250cm9sKGVsZW1lbnQpCiAgICAgLCBtX3Nob3VsZERyYXdD
YXBzTG9ja0luZGljYXRvcihmYWxzZSkKICAgICAsIG1fZGVzaXJlZElubmVyVGV4dExvZ2ljYWxI
ZWlnaHQoLTEpCiB7Ci0gICAgQVNTRVJUKGVsZW1lbnQtPmlzSFRNTEVsZW1lbnQoKSk7Ci0gICAg
QVNTRVJUKGVsZW1lbnQtPnRvSW5wdXRFbGVtZW50KCkpOwogfQogCiBSZW5kZXJUZXh0Q29udHJv
bFNpbmdsZUxpbmU6On5SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUoKQpAQCAtNjYsNyArNjQs
NyBAQCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6On5SZW5kZXJUZXh0Q29udHJvbFNpbmds
ZUxpbmUoKQogCiBpbmxpbmUgSFRNTEVsZW1lbnQqIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGlu
ZTo6aW5uZXJTcGluQnV0dG9uRWxlbWVudCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGlucHV0RWxl
bWVudCgpLT5pbm5lclNwaW5CdXR0b25FbGVtZW50KCk7CisgICAgcmV0dXJuIGlucHV0RWxlbWVu
dCgpLmlubmVyU3BpbkJ1dHRvbkVsZW1lbnQoKTsKIH0KIAogUmVuZGVyU3R5bGUqIFJlbmRlclRl
eHRDb250cm9sU2luZ2xlTGluZTo6dGV4dEJhc2VTdHlsZSgpIGNvbnN0CkBAIC0xOTIsNyArMTkw
LDcgQEAgdm9pZCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OmxheW91dCgpCiAgICAgICAg
IGlubmVyU3BpbkJveC0+c2V0TG9naWNhbEhlaWdodChsb2dpY2FsSGVpZ2h0KCkgLSBib3JkZXJC
ZWZvcmUoKSAtIGJvcmRlckFmdGVyKCkpOwogICAgIH0KIAotICAgIEhUTUxFbGVtZW50KiBwbGFj
ZWhvbGRlckVsZW1lbnQgPSBpbnB1dEVsZW1lbnQoKS0+cGxhY2Vob2xkZXJFbGVtZW50KCk7Cisg
ICAgSFRNTEVsZW1lbnQqIHBsYWNlaG9sZGVyRWxlbWVudCA9IGlucHV0RWxlbWVudCgpLnBsYWNl
aG9sZGVyRWxlbWVudCgpOwogICAgIGlmIChSZW5kZXJCb3gqIHBsYWNlaG9sZGVyQm94ID0gcGxh
Y2Vob2xkZXJFbGVtZW50ID8gcGxhY2Vob2xkZXJFbGVtZW50LT5yZW5kZXJCb3goKSA6IDApIHsK
ICAgICAgICAgTGF5b3V0U2l6ZSBpbm5lclRleHRTaXplOwogICAgICAgICBpZiAoaW5uZXJUZXh0
UmVuZGVyZXIpCkBAIC0yMzMsNyArMjMxLDcgQEAgYm9vbCBSZW5kZXJUZXh0Q29udHJvbFNpbmds
ZUxpbmU6Om5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXQKICAg
ICAvLyAgLSB3ZSBoaXQgdGhlIDxpbnB1dD4gZWxlbWVudCAoZS5nLiB3ZSdyZSBvdmVyIHRoZSBi
b3JkZXIgb3IgcGFkZGluZyksIG9yCiAgICAgLy8gIC0gd2UgaGl0IHJlZ2lvbnMgbm90IGluIGFu
eSBkZWNvcmF0aW9uIGJ1dHRvbnMuCiAgICAgSFRNTEVsZW1lbnQqIGNvbnRhaW5lciA9IGNvbnRh
aW5lckVsZW1lbnQoKTsKLSAgICBpZiAocmVzdWx0LmlubmVyTm9kZSgpLT5pc0Rlc2NlbmRhbnRP
Zihpbm5lclRleHRFbGVtZW50KCkpIHx8IHJlc3VsdC5pbm5lck5vZGUoKSA9PSBlbGVtZW50KCkg
fHwgKGNvbnRhaW5lciAmJiBjb250YWluZXIgPT0gcmVzdWx0LmlubmVyTm9kZSgpKSkgeworICAg
IGlmIChyZXN1bHQuaW5uZXJOb2RlKCktPmlzRGVzY2VuZGFudE9mKGlubmVyVGV4dEVsZW1lbnQo
KSkgfHwgcmVzdWx0LmlubmVyTm9kZSgpID09ICZpbnB1dEVsZW1lbnQoKSB8fCAoY29udGFpbmVy
ICYmIGNvbnRhaW5lciA9PSByZXN1bHQuaW5uZXJOb2RlKCkpKSB7CiAgICAgICAgIExheW91dFBv
aW50IHBvaW50SW5QYXJlbnQgPSBsb2NhdGlvbkluQ29udGFpbmVyLnBvaW50KCk7CiAgICAgICAg
IGlmIChjb250YWluZXIgJiYgaW5uZXJCbG9ja0VsZW1lbnQoKSkgewogICAgICAgICAgICAgaWYg
KGlubmVyQmxvY2tFbGVtZW50KCktPnJlbmRlckJveCgpKQpAQCAtMjY2LDI1ICsyNjQsMjIgQEAg
dm9pZCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlm
ZmVyZW5jZSBkaWZmLCBjb25zdCBSZW4KICAgICBSZW5kZXJPYmplY3QqIGlubmVyVGV4dFJlbmRl
cmVyID0gaW5uZXJUZXh0RWxlbWVudCgpLT5yZW5kZXJlcigpOwogICAgIGlmIChpbm5lclRleHRS
ZW5kZXJlciAmJiBkaWZmID09IFN0eWxlRGlmZmVyZW5jZUxheW91dCkKICAgICAgICAgaW5uZXJU
ZXh0UmVuZGVyZXItPnNldE5lZWRzTGF5b3V0KHRydWUsIE1hcmtDb250YWluaW5nQmxvY2tDaGFp
bik7Ci0gICAgaWYgKEhUTUxFbGVtZW50KiBwbGFjZWhvbGRlciA9IGlucHV0RWxlbWVudCgpLT5w
bGFjZWhvbGRlckVsZW1lbnQoKSkKKyAgICBpZiAoSFRNTEVsZW1lbnQqIHBsYWNlaG9sZGVyID0g
aW5wdXRFbGVtZW50KCkucGxhY2Vob2xkZXJFbGVtZW50KCkpCiAgICAgICAgIHBsYWNlaG9sZGVy
LT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VGV4dE92ZXJmbG93LCB0ZXh0U2hv
dWxkQmVUcnVuY2F0ZWQoKSA/IENTU1ZhbHVlRWxsaXBzaXMgOiBDU1NWYWx1ZUNsaXApOwogICAg
IHNldEhhc092ZXJmbG93Q2xpcChmYWxzZSk7CiB9CiAKIHZvaWQgUmVuZGVyVGV4dENvbnRyb2xT
aW5nbGVMaW5lOjpjYXBzTG9ja1N0YXRlTWF5SGF2ZUNoYW5nZWQoKQogewotICAgIGlmICghZWxl
bWVudCgpKQotICAgICAgICByZXR1cm47Ci0KICAgICAvLyBPbmx5IGRyYXcgdGhlIGNhcHMgbG9j
ayBpbmRpY2F0b3IgaWYgdGhlc2UgdGhpbmdzIGFyZSB0cnVlOgogICAgIC8vIDEpIFRoZSBmaWVs
ZCBpcyBhIHBhc3N3b3JkIGZpZWxkCiAgICAgLy8gMikgVGhlIGZyYW1lIGlzIGFjdGl2ZQogICAg
IC8vIDMpIFRoZSBlbGVtZW50IGlzIGZvY3VzZWQKICAgICAvLyA0KSBUaGUgY2FwcyBsb2NrIGlz
IG9uCiAgICAgYm9vbCBzaG91bGREcmF3Q2Fwc0xvY2tJbmRpY2F0b3IgPQotICAgICAgICBpbnB1
dEVsZW1lbnQoKS0+aXNQYXNzd29yZEZpZWxkKCkKKyAgICAgICAgaW5wdXRFbGVtZW50KCkuaXNQ
YXNzd29yZEZpZWxkKCkKICAgICAgICAgJiYgZnJhbWUoKS5zZWxlY3Rpb24oKS5pc0ZvY3VzZWRB
bmRBY3RpdmUoKQotICAgICAgICAmJiBkb2N1bWVudCgpLmZvY3VzZWRFbGVtZW50KCkgPT0gZWxl
bWVudCgpCisgICAgICAgICYmIGRvY3VtZW50KCkuZm9jdXNlZEVsZW1lbnQoKSA9PSAmaW5wdXRF
bGVtZW50KCkKICAgICAgICAgJiYgUGxhdGZvcm1LZXlib2FyZEV2ZW50OjpjdXJyZW50Q2Fwc0xv
Y2tTdGF0ZSgpOwogCiAgICAgaWYgKHNob3VsZERyYXdDYXBzTG9ja0luZGljYXRvciAhPSBtX3No
b3VsZERyYXdDYXBzTG9ja0luZGljYXRvcikgewpAQCAtMzI0LDcgKzMxOSw3IEBAIGZsb2F0IFJl
bmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6Z2V0QXZnQ2hhcldpZHRoKEF0b21pY1N0cmluZyBm
YW1pbHkpCiBMYXlvdXRVbml0IFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6cHJlZmVycmVk
Q29udGVudExvZ2ljYWxXaWR0aChmbG9hdCBjaGFyV2lkdGgpIGNvbnN0CiB7CiAgICAgaW50IGZh
Y3RvcjsKLSAgICBib29sIGluY2x1ZGVzRGVjb3JhdGlvbiA9IGlucHV0RWxlbWVudCgpLT5zaXpl
U2hvdWxkSW5jbHVkZURlY29yYXRpb24oZmFjdG9yKTsKKyAgICBib29sIGluY2x1ZGVzRGVjb3Jh
dGlvbiA9IGlucHV0RWxlbWVudCgpLnNpemVTaG91bGRJbmNsdWRlRGVjb3JhdGlvbihmYWN0b3Ip
OwogICAgIGlmIChmYWN0b3IgPD0gMCkKICAgICAgICAgZmFjdG9yID0gMjA7CiAKQEAgLTM0Niw3
ICszNDEsNyBAQCBMYXlvdXRVbml0IFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6cHJlZmVy
cmVkQ29udGVudExvZ2ljYWxXaWR0aChmbG9hdCBjaGFyVwogICAgICAgICByZXN1bHQgKz0gbWF4
Q2hhcldpZHRoIC0gY2hhcldpZHRoOwogCiAgICAgaWYgKGluY2x1ZGVzRGVjb3JhdGlvbikKLSAg
ICAgICAgcmVzdWx0ICs9IGlucHV0RWxlbWVudCgpLT5kZWNvcmF0aW9uV2lkdGgoKTsKKyAgICAg
ICAgcmVzdWx0ICs9IGlucHV0RWxlbWVudCgpLmRlY29yYXRpb25XaWR0aCgpOwogCiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KQEAgLTQwNCw4ICszOTksNyBAQCBQYXNzUmVmUHRyPFJlbmRlclN0eWxl
PiBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OmNyZWF0ZUlubmVyQmxvY2tTdHlsZShjb25z
dAogCiBib29sIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6dGV4dFNob3VsZEJlVHJ1bmNh
dGVkKCkgY29uc3QKIHsKLSAgICByZXR1cm4gZG9jdW1lbnQoKS5mb2N1c2VkRWxlbWVudCgpICE9
IGVsZW1lbnQoKQotICAgICAgICAmJiBzdHlsZSgpLT50ZXh0T3ZlcmZsb3coKSA9PSBUZXh0T3Zl
cmZsb3dFbGxpcHNpczsKKyAgICByZXR1cm4gZG9jdW1lbnQoKS5mb2N1c2VkRWxlbWVudCgpICE9
ICZpbnB1dEVsZW1lbnQoKSAmJiBzdHlsZSgpLT50ZXh0T3ZlcmZsb3coKSA9PSBUZXh0T3ZlcmZs
b3dFbGxpcHNpczsKIH0KIAogdm9pZCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OmF1dG9z
Y3JvbGwoY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uKQpAQCAtNDc3LDkgKzQ3MSwxMCBAQCBib29s
IFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6bG9naWNhbFNjcm9sbChTY3JvbGxMb2dpY2Fs
RGlyZWN0aW9uIGRpcmVjdGlvbgogICAgIHJldHVybiBSZW5kZXJCbG9jazo6bG9naWNhbFNjcm9s
bChkaXJlY3Rpb24sIGdyYW51bGFyaXR5LCBtdWx0aXBsaWVyLCBzdG9wTm9kZSk7CiB9CiAKLUhU
TUxJbnB1dEVsZW1lbnQqIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6aW5wdXRFbGVtZW50
KCkgY29uc3QKK0hUTUxJbnB1dEVsZW1lbnQmIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6
aW5wdXRFbGVtZW50KCkgY29uc3QKIHsKLSAgICByZXR1cm4gZWxlbWVudCgpLT50b0lucHV0RWxl
bWVudCgpOworICAgIEFTU0VSVChSZW5kZXJPYmplY3Q6Om5vZGUoKSk7CisgICAgcmV0dXJuIHRv
SFRNTElucHV0RWxlbWVudCgqUmVuZGVyT2JqZWN0Ojpub2RlKCkpOwogfQogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5l
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5l
LmgKaW5kZXggZmEwMzE3YS4uYTAwNmRhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaApAQCAtMzIsNyArMzIsNyBA
QCBjbGFzcyBIVE1MSW5wdXRFbGVtZW50OwogCiBjbGFzcyBSZW5kZXJUZXh0Q29udHJvbFNpbmds
ZUxpbmUgOiBwdWJsaWMgUmVuZGVyVGV4dENvbnRyb2wgewogcHVibGljOgotICAgIFJlbmRlclRl
eHRDb250cm9sU2luZ2xlTGluZShFbGVtZW50Kik7CisgICAgUmVuZGVyVGV4dENvbnRyb2xTaW5n
bGVMaW5lKEhUTUxJbnB1dEVsZW1lbnQmKTsKICAgICB2aXJ0dWFsIH5SZW5kZXJUZXh0Q29udHJv
bFNpbmdsZUxpbmUoKTsKICAgICAvLyBGSVhNRTogTW92ZSBjcmVhdGUqU3R5bGUoKSB0byB0aGVp
ciBjbGFzc2VzLgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gY3JlYXRlSW5u
ZXJUZXh0U3R5bGUoY29uc3QgUmVuZGVyU3R5bGUqIHN0YXJ0U3R5bGUpIGNvbnN0OwpAQCAtNDUs
MTAgKzQ1LDEyIEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIExheW91dFVuaXQgY29tcHV0ZUxv
Z2ljYWxIZWlnaHRMaW1pdCgpIGNvbnN0OwogICAgIEhUTUxFbGVtZW50KiBjb250YWluZXJFbGVt
ZW50KCkgY29uc3Q7CiAgICAgSFRNTEVsZW1lbnQqIGlubmVyQmxvY2tFbGVtZW50KCkgY29uc3Q7
Ci0gICAgSFRNTElucHV0RWxlbWVudCogaW5wdXRFbGVtZW50KCkgY29uc3Q7CiAgICAgdmlydHVh
bCB2b2lkIHVwZGF0ZUZyb21FbGVtZW50KCkgT1ZFUlJJREU7CisgICAgSFRNTElucHV0RWxlbWVu
dCYgaW5wdXRFbGVtZW50KCkgY29uc3Q7CiAKIHByaXZhdGU6CisgICAgdm9pZCB0ZXh0Rm9ybUNv
bnRyb2xFbGVtZW50KCkgY29uc3QgV1RGX0RFTEVURURfRlVOQ1RJT047CisKICAgICB2aXJ0dWFs
IGJvb2wgaGFzQ29udHJvbENsaXAoKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIExheW91
dFJlY3QgY29udHJvbENsaXBSZWN0KGNvbnN0IExheW91dFBvaW50JikgY29uc3QgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCBib29sIGlzVGV4dEZpZWxkKCkgY29uc3QgT1ZFUlJJREUgRklOQUwgeyBy
ZXR1cm4gdHJ1ZTsgfQpAQCAtODksMTIgKzkxLDEyIEBAIHByaXZhdGU6CiAKIGlubGluZSBIVE1M
RWxlbWVudCogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpjb250YWluZXJFbGVtZW50KCkg
Y29uc3QKIHsKLSAgICByZXR1cm4gaW5wdXRFbGVtZW50KCktPmNvbnRhaW5lckVsZW1lbnQoKTsK
KyAgICByZXR1cm4gaW5wdXRFbGVtZW50KCkuY29udGFpbmVyRWxlbWVudCgpOwogfQogCiBpbmxp
bmUgSFRNTEVsZW1lbnQqIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6aW5uZXJCbG9ja0Vs
ZW1lbnQoKSBjb25zdAogewotICAgIHJldHVybiBpbnB1dEVsZW1lbnQoKS0+aW5uZXJCbG9ja0Vs
ZW1lbnQoKTsKKyAgICByZXR1cm4gaW5wdXRFbGVtZW50KCkuaW5uZXJCbG9ja0VsZW1lbnQoKTsK
IH0KIAogaW5saW5lIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZSogdG9SZW5kZXJUZXh0Q29u
dHJvbFNpbmdsZUxpbmUoUmVuZGVyT2JqZWN0KiBvYmplY3QpCg==
</data>
<flag name="review"
          id="233614"
          type_id="1"
          status="+"
          setter="andersca"
    />
    <flag name="commit-queue"
          id="233615"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
      

    </bug>

</bugzilla>