<?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>139755</bug_id>
          
          <creation_ts>2014-12-17 16:14:54 -0800</creation_ts>
          <short_desc>Ref-ify Range::create().</short_desc>
          <delta_ts>2014-12-18 10:25:30 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</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>commit-queue</cc>
    
    <cc>dbates</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1056580</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-12-17 16:14:54 -0800</bug_when>
    <thetext>Ref-ify Range::create().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056581</commentid>
    <comment_count>1</comment_count>
      <attachid>243469</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-12-17 16:15:30 -0800</bug_when>
    <thetext>Created attachment 243469
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056706</commentid>
    <comment_count>2</comment_count>
      <attachid>243477</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-12-17 18:17:50 -0800</bug_when>
    <thetext>Created attachment 243477
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056709</commentid>
    <comment_count>3</comment_count>
      <attachid>243477</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-17 19:05:19 -0800</bug_when>
    <thetext>Comment on attachment 243477
Patch

Clearing flags on attachment: 243477

Committed r177486: &lt;http://trac.webkit.org/changeset/177486&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056710</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-17 19:05:33 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056806</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-12-18 10:25:30 -0800</bug_when>
    <thetext>Committed iOS build fix in &lt;https://trac.webkit.org/r177502&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243469</attachid>
            <date>2014-12-17 16:15:30 -0800</date>
            <delta_ts>2014-12-17 16:35:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139755.diff</filename>
            <type>text/plain</type>
            <size>12513</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmMWZiNjRkLi42MGRiNzAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTQtMTItMTcgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIFJlZi1pZnkgUmFuZ2U6OmNyZWF0ZSgpLgorICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3Jn
L2IvMTM5NzU1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogZG9tL1JhbmdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdlOjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6UmFuZ2U6OmNsb25lUmFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6
cmFuZ2VPZkNvbnRlbnRzKToKKyAgICAgICAgKiBkb20vUmFuZ2UuaDoKKyAgICAgICAgKiBlZGl0
aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWx0
ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6YXBwbHlBbHRlcm5hdGl2ZVRleHRUb1JhbmdlKToKKyAg
ICAgICAgKiBlZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNvbXBvc2l0ZUVkaXRDb21tYW5kOjpyZXBsYWNlVGV4dEluTm9kZVByZXNlcnZpbmdNYXJr
ZXJzKToKKyAgICAgICAgKiBlZGl0aW5nL1Zpc2libGVVbml0cy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpjaGFyYWN0ZXJzQXJvdW5kUG9zaXRpb24pOgorICAgICAgICAqIGVkaXRpbmcvbWFya3Vw
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlZE1hcmt1cEFjY3VtdWxhdG9yOjpyZW5kZXJl
ZFRleHQpOgorCiAyMDE0LTEyLTE3ICBwZWF2b0BvdXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2su
Y29tPgogCiAgICAgICAgIFtDdXJsXSBDb21waWxlIGVycm9yLCBzZXRXYXNDYWNoZWQgbWV0aG9k
IGhhcyBiZWVuIHJlbW92ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmNwcAppbmRleCA0MTJhN2EwLi5jZDU2NWM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9SYW5nZS5jcHAKQEAgLTcyLDkgKzcyLDkgQEAgaW5saW5lIFJhbmdlOjpSYW5n
ZShEb2N1bWVudCYgb3duZXJEb2N1bWVudCkKICAgICBtX293bmVyRG9jdW1lbnQtPmF0dGFjaFJh
bmdlKHRoaXMpOwogfQogCi1QYXNzUmVmUHRyPFJhbmdlPiBSYW5nZTo6Y3JlYXRlKERvY3VtZW50
JiBvd25lckRvY3VtZW50KQorUmVmPFJhbmdlPiBSYW5nZTo6Y3JlYXRlKERvY3VtZW50JiBvd25l
ckRvY3VtZW50KQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgUmFuZ2Uob3duZXJEb2N1bWVu
dCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJhbmdlKG93bmVyRG9jdW1lbnQpKTsKIH0K
IAogaW5saW5lIFJhbmdlOjpSYW5nZShEb2N1bWVudCYgb3duZXJEb2N1bWVudCwgUGFzc1JlZlB0
cjxOb2RlPiBzdGFydENvbnRhaW5lciwgaW50IHN0YXJ0T2Zmc2V0LCBQYXNzUmVmUHRyPE5vZGU+
IGVuZENvbnRhaW5lciwgaW50IGVuZE9mZnNldCkKQEAgLTk0LDI2ICs5NCwyNiBAQCBpbmxpbmUg
UmFuZ2U6OlJhbmdlKERvY3VtZW50JiBvd25lckRvY3VtZW50LCBQYXNzUmVmUHRyPE5vZGU+IHN0
YXJ0Q29udGFpbmVyLCBpbgogICAgIHNldEVuZChlbmRDb250YWluZXIsIGVuZE9mZnNldCk7CiB9
CiAKLVBhc3NSZWZQdHI8UmFuZ2U+IFJhbmdlOjpjcmVhdGUoRG9jdW1lbnQmIG93bmVyRG9jdW1l
bnQsIFBhc3NSZWZQdHI8Tm9kZT4gc3RhcnRDb250YWluZXIsIGludCBzdGFydE9mZnNldCwgUGFz
c1JlZlB0cjxOb2RlPiBlbmRDb250YWluZXIsIGludCBlbmRPZmZzZXQpCitSZWY8UmFuZ2U+IFJh
bmdlOjpjcmVhdGUoRG9jdW1lbnQmIG93bmVyRG9jdW1lbnQsIFBhc3NSZWZQdHI8Tm9kZT4gc3Rh
cnRDb250YWluZXIsIGludCBzdGFydE9mZnNldCwgUGFzc1JlZlB0cjxOb2RlPiBlbmRDb250YWlu
ZXIsIGludCBlbmRPZmZzZXQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSYW5nZShvd25l
ckRvY3VtZW50LCBzdGFydENvbnRhaW5lciwgc3RhcnRPZmZzZXQsIGVuZENvbnRhaW5lciwgZW5k
T2Zmc2V0KSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUmFuZ2Uob3duZXJEb2N1bWVudCwg
c3RhcnRDb250YWluZXIsIHN0YXJ0T2Zmc2V0LCBlbmRDb250YWluZXIsIGVuZE9mZnNldCkpOwog
fQogCi1QYXNzUmVmUHRyPFJhbmdlPiBSYW5nZTo6Y3JlYXRlKERvY3VtZW50JiBvd25lckRvY3Vt
ZW50LCBjb25zdCBQb3NpdGlvbiYgc3RhcnQsIGNvbnN0IFBvc2l0aW9uJiBlbmQpCitSZWY8UmFu
Z2U+IFJhbmdlOjpjcmVhdGUoRG9jdW1lbnQmIG93bmVyRG9jdW1lbnQsIGNvbnN0IFBvc2l0aW9u
JiBzdGFydCwgY29uc3QgUG9zaXRpb24mIGVuZCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3
IFJhbmdlKG93bmVyRG9jdW1lbnQsIHN0YXJ0LmNvbnRhaW5lck5vZGUoKSwgc3RhcnQuY29tcHV0
ZU9mZnNldEluQ29udGFpbmVyTm9kZSgpLCBlbmQuY29udGFpbmVyTm9kZSgpLCBlbmQuY29tcHV0
ZU9mZnNldEluQ29udGFpbmVyTm9kZSgpKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUmFu
Z2Uob3duZXJEb2N1bWVudCwgc3RhcnQuY29udGFpbmVyTm9kZSgpLCBzdGFydC5jb21wdXRlT2Zm
c2V0SW5Db250YWluZXJOb2RlKCksIGVuZC5jb250YWluZXJOb2RlKCksIGVuZC5jb21wdXRlT2Zm
c2V0SW5Db250YWluZXJOb2RlKCkpKTsKIH0KIAotUGFzc1JlZlB0cjxSYW5nZT4gUmFuZ2U6OmNy
ZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQorUmVmPFJhbmdlPiBSYW5nZTo6
Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBSYW5nZShkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCkpKTsKKyAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBSYW5nZShkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCkpKTsKIH0K
IAotUGFzc1JlZlB0cjxSYW5nZT4gUmFuZ2U6OmNyZWF0ZShEb2N1bWVudCYgb3duZXJEb2N1bWVu
dCwgY29uc3QgVmlzaWJsZVBvc2l0aW9uJiB2aXNpYmxlU3RhcnQsIGNvbnN0IFZpc2libGVQb3Np
dGlvbiYgdmlzaWJsZUVuZCkKK1JlZjxSYW5nZT4gUmFuZ2U6OmNyZWF0ZShEb2N1bWVudCYgb3du
ZXJEb2N1bWVudCwgY29uc3QgVmlzaWJsZVBvc2l0aW9uJiB2aXNpYmxlU3RhcnQsIGNvbnN0IFZp
c2libGVQb3NpdGlvbiYgdmlzaWJsZUVuZCkKIHsKICAgICBQb3NpdGlvbiBzdGFydCA9IHZpc2li
bGVTdGFydC5kZWVwRXF1aXZhbGVudCgpLnBhcmVudEFuY2hvcmVkRXF1aXZhbGVudCgpOwogICAg
IFBvc2l0aW9uIGVuZCA9IHZpc2libGVFbmQuZGVlcEVxdWl2YWxlbnQoKS5wYXJlbnRBbmNob3Jl
ZEVxdWl2YWxlbnQoKTsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFJhbmdlKG93bmVyRG9jdW1l
bnQsIHN0YXJ0LmFuY2hvck5vZGUoKSwgc3RhcnQuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSwg
ZW5kLmFuY2hvck5vZGUoKSwgZW5kLmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkpKTsKKyAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBSYW5nZShvd25lckRvY3VtZW50LCBzdGFydC5hbmNob3JOb2Rl
KCksIHN0YXJ0LmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCksIGVuZC5hbmNob3JOb2RlKCksIGVu
ZC5kZXByZWNhdGVkRWRpdGluZ09mZnNldCgpKSk7CiB9CiAKIFJhbmdlOjp+UmFuZ2UoKQpAQCAt
MTIyMCwxMSArMTIyMCwxMSBAQCB2b2lkIFJhbmdlOjpjaGVja05vZGVCQShOb2RlKiBuLCBFeGNl
cHRpb25Db2RlJiBlYykgY29uc3QKICAgICB9CiB9CiAKLVBhc3NSZWZQdHI8UmFuZ2U+IFJhbmdl
OjpjbG9uZVJhbmdlKEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAorUmVmUHRyPFJhbmdlPiBSYW5n
ZTo6Y2xvbmVSYW5nZShFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKIHsKICAgICBpZiAoIW1fc3Rh
cnQuY29udGFpbmVyKCkpIHsKICAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKLSAgICAg
ICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAogICAgIHJldHVy
biBSYW5nZTo6Y3JlYXRlKG93bmVyRG9jdW1lbnQoKSwgbV9zdGFydC5jb250YWluZXIoKSwgbV9z
dGFydC5vZmZzZXQoKSwgbV9lbmQuY29udGFpbmVyKCksIG1fZW5kLm9mZnNldCgpKTsKQEAgLTIw
MDIsMTIgKzIwMDIsMTIgQEAgYm9vbCByYW5nZXNPdmVybGFwKGNvbnN0IFJhbmdlKiBhLCBjb25z
dCBSYW5nZSogYikKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLVBhc3NSZWZQdHI8UmFuZ2U+IHJh
bmdlT2ZDb250ZW50cyhOb2RlJiBub2RlKQorUmVmPFJhbmdlPiByYW5nZU9mQ29udGVudHMoTm9k
ZSYgbm9kZSkKIHsKLSAgICBSZWZQdHI8UmFuZ2U+IHJhbmdlID0gUmFuZ2U6OmNyZWF0ZShub2Rl
LmRvY3VtZW50KCkpOworICAgIFJlZjxSYW5nZT4gcmFuZ2UgPSBSYW5nZTo6Y3JlYXRlKG5vZGUu
ZG9jdW1lbnQoKSk7CiAgICAgaW50IGV4Y2VwdGlvbiA9IDA7CiAgICAgcmFuZ2UtPnNlbGVjdE5v
ZGVDb250ZW50cygmbm9kZSwgZXhjZXB0aW9uKTsKLSAgICByZXR1cm4gcmFuZ2UucmVsZWFzZSgp
OworICAgIHJldHVybiByYW5nZTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIGJvdW5kYXJ5Tm9k
ZUNoaWxkcmVuQ2hhbmdlZChSYW5nZUJvdW5kYXJ5UG9pbnQmIGJvdW5kYXJ5LCBDb250YWluZXJO
b2RlJiBjb250YWluZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5oCmluZGV4IGY1OGVhMjkuLmFkYWE5ZDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9SYW5nZS5oCkBAIC01MiwxMSArNTIsMTEgQEAgY2xhc3MgU2VsZWN0aW9uUmVjdDsKIAogY2xh
c3MgUmFuZ2UgOiBwdWJsaWMgUmVmQ291bnRlZDxSYW5nZT4gewogcHVibGljOgotICAgIFdFQkNP
UkVfRVhQT1JUIHN0YXRpYyBQYXNzUmVmUHRyPFJhbmdlPiBjcmVhdGUoRG9jdW1lbnQmKTsKLSAg
ICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUGFzc1JlZlB0cjxSYW5nZT4gY3JlYXRlKERvY3VtZW50
JiwgUGFzc1JlZlB0cjxOb2RlPiBzdGFydENvbnRhaW5lciwgaW50IHN0YXJ0T2Zmc2V0LCBQYXNz
UmVmUHRyPE5vZGU+IGVuZENvbnRhaW5lciwgaW50IGVuZE9mZnNldCk7Ci0gICAgV0VCQ09SRV9F
WFBPUlQgc3RhdGljIFBhc3NSZWZQdHI8UmFuZ2U+IGNyZWF0ZShEb2N1bWVudCYsIGNvbnN0IFBv
c2l0aW9uJiwgY29uc3QgUG9zaXRpb24mKTsKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUGFz
c1JlZlB0cjxSYW5nZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKLSAgICBXRUJD
T1JFX0VYUE9SVCBzdGF0aWMgUGFzc1JlZlB0cjxSYW5nZT4gY3JlYXRlKERvY3VtZW50JiwgY29u
c3QgVmlzaWJsZVBvc2l0aW9uJiwgY29uc3QgVmlzaWJsZVBvc2l0aW9uJik7CisgICAgV0VCQ09S
RV9FWFBPUlQgc3RhdGljIFJlZjxSYW5nZT4gY3JlYXRlKERvY3VtZW50Jik7CisgICAgV0VCQ09S
RV9FWFBPUlQgc3RhdGljIFJlZjxSYW5nZT4gY3JlYXRlKERvY3VtZW50JiwgUGFzc1JlZlB0cjxO
b2RlPiBzdGFydENvbnRhaW5lciwgaW50IHN0YXJ0T2Zmc2V0LCBQYXNzUmVmUHRyPE5vZGU+IGVu
ZENvbnRhaW5lciwgaW50IGVuZE9mZnNldCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJl
ZjxSYW5nZT4gY3JlYXRlKERvY3VtZW50JiwgY29uc3QgUG9zaXRpb24mLCBjb25zdCBQb3NpdGlv
biYpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWY8UmFuZ2U+IGNyZWF0ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZjxSYW5nZT4g
Y3JlYXRlKERvY3VtZW50JiwgY29uc3QgVmlzaWJsZVBvc2l0aW9uJiwgY29uc3QgVmlzaWJsZVBv
c2l0aW9uJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgflJhbmdlKCk7CiAKICAgICBEb2N1bWVudCYg
b3duZXJEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8RG9jdW1lbnQmPihtX293
bmVyRG9jdW1lbnQuZ2V0KCkpOyB9CkBAIC05OSw3ICs5OSw3IEBAIHB1YmxpYzoKICAgICBQYXNz
UmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChjb25zdCBT
dHJpbmcmIGh0bWwsIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIHZvaWQgZGV0YWNoKEV4Y2VwdGlv
bkNvZGUmKTsKLSAgICBXRUJDT1JFX0VYUE9SVCBQYXNzUmVmUHRyPFJhbmdlPiBjbG9uZVJhbmdl
KEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCBSZWZQdHI8UmFuZ2U+
IGNsb25lUmFuZ2UoRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogCiAgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBzZXRTdGFydEFmdGVyKE5vZGUqLCBFeGNlcHRpb25Db2RlJiA9IEFTU0VSVF9OT19FWENF
UFRJT04pOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0RW5kQmVmb3JlKE5vZGUqLCBFeGNl
cHRpb25Db2RlJiA9IEFTU0VSVF9OT19FWENFUFRJT04pOwpAQCAtMTgzLDcgKzE4Myw3IEBAIHBy
aXZhdGU6CiAgICAgUmFuZ2VCb3VuZGFyeVBvaW50IG1fZW5kOwogfTsKIAotUGFzc1JlZlB0cjxS
YW5nZT4gcmFuZ2VPZkNvbnRlbnRzKE5vZGUmKTsKK1JlZjxSYW5nZT4gcmFuZ2VPZkNvbnRlbnRz
KE5vZGUmKTsKIAogV0VCQ09SRV9FWFBPUlQgYm9vbCBhcmVSYW5nZXNFcXVhbChjb25zdCBSYW5n
ZSosIGNvbnN0IFJhbmdlKik7CiBib29sIHJhbmdlc092ZXJsYXAoY29uc3QgUmFuZ2UqLCBjb25z
dCBSYW5nZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2
ZVRleHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVU
ZXh0Q29udHJvbGxlci5jcHAKaW5kZXggMGVmN2JkYS4uNmQ3M2NhZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCkBAIC0y
NzMsNyArMjczLDcgQEAgdm9pZCBBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyOjphcHBseUFsdGVy
bmF0aXZlVGV4dFRvUmFuZ2UoY29uc3QgUmFuZ2UqIHJhbmdlLAogICAgIFJlZlB0cjxSYW5nZT4g
cmFuZ2VXaXRoQWx0ZXJuYXRpdmUgPSByYW5nZS0+Y2xvbmVSYW5nZShlYyk7CiAKICAgICBDb250
YWluZXJOb2RlJiByb290Tm9kZSA9IHBhcmFncmFwaFJhbmdlQ29udGFpbmluZ0NvcnJlY3Rpb24u
Z2V0KCktPnN0YXJ0Q29udGFpbmVyKCktPnRyZWVTY29wZSgpLnJvb3ROb2RlKCk7Ci0gICAgaW50
IHBhcmFncmFwaFN0YXJ0SW5kZXggPSBUZXh0SXRlcmF0b3I6OnJhbmdlTGVuZ3RoKFJhbmdlOjpj
cmVhdGUocm9vdE5vZGUuZG9jdW1lbnQoKSwgJnJvb3ROb2RlLCAwLCBwYXJhZ3JhcGhSYW5nZUNv
bnRhaW5pbmdDb3JyZWN0aW9uLmdldCgpLT5zdGFydENvbnRhaW5lcigpLCBwYXJhZ3JhcGhSYW5n
ZUNvbnRhaW5pbmdDb3JyZWN0aW9uLmdldCgpLT5zdGFydE9mZnNldCgpKS5nZXQoKSk7CisgICAg
aW50IHBhcmFncmFwaFN0YXJ0SW5kZXggPSBUZXh0SXRlcmF0b3I6OnJhbmdlTGVuZ3RoKFJhbmdl
OjpjcmVhdGUocm9vdE5vZGUuZG9jdW1lbnQoKSwgJnJvb3ROb2RlLCAwLCBwYXJhZ3JhcGhSYW5n
ZUNvbnRhaW5pbmdDb3JyZWN0aW9uLT5zdGFydENvbnRhaW5lcigpLCBwYXJhZ3JhcGhSYW5nZUNv
bnRhaW5pbmdDb3JyZWN0aW9uLT5zdGFydE9mZnNldCgpKS5wdHIoKSk7CiAgICAgYXBwbHlDb21t
YW5kKFNwZWxsaW5nQ29ycmVjdGlvbkNvbW1hbmQ6OmNyZWF0ZShyYW5nZVdpdGhBbHRlcm5hdGl2
ZSwgYWx0ZXJuYXRpdmUpKTsKICAgICAvLyBSZWNhbGN1bGF0ZSBwcmFncmFwaFJhbmdlQ29udGFp
bmluZ0NvcnJlY3Rpb24sIHNpbmNlIFNwZWxsaW5nQ29ycmVjdGlvbkNvbW1hbmQgbW9kaWZpZWQg
dGhlIERPTSwgc3VjaCB0aGF0IHRoZSBvcmlnaW5hbCBwYXJhZ3JhcGhSYW5nZUNvbnRhaW5pbmdD
b3JyZWN0aW9uIGlzIG5vIGxvbmdlciB2YWxpZC4gUmFkYXI6IDEwMzA1MzE1IEJ1Z3ppbGxhOiA4
OTUyNgogICAgIHBhcmFncmFwaFJhbmdlQ29udGFpbmluZ0NvcnJlY3Rpb24gPSBUZXh0SXRlcmF0
b3I6OnJhbmdlRnJvbUxvY2F0aW9uQW5kTGVuZ3RoKCZyb290Tm9kZSwgcGFyYWdyYXBoU3RhcnRJ
bmRleCwgY29ycmVjdGlvblN0YXJ0T2Zmc2V0SW5QYXJhZ3JhcGggKyBhbHRlcm5hdGl2ZS5sZW5n
dGgoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRD
b21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQu
Y3BwCmluZGV4IDQxNmEwMDEuLjM3MmI1NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCkBAIC01NjksNyArNTY5LDcgQEAgdm9pZCBDb21w
b3NpdGVFZGl0Q29tbWFuZDo6cmVwbGFjZVRleHRJbk5vZGVQcmVzZXJ2aW5nTWFya2VycyhQYXNz
UmVmUHRyPFRleHQ+IHAKICAgICBSZWZQdHI8VGV4dD4gbm9kZShwcnBOb2RlKTsKICAgICBEb2N1
bWVudE1hcmtlckNvbnRyb2xsZXImIG1hcmtlckNvbnRyb2xsZXIgPSBkb2N1bWVudCgpLm1hcmtl
cnMoKTsKICAgICBWZWN0b3I8UmVuZGVyZWREb2N1bWVudE1hcmtlcj4gbWFya2VyczsKLSAgICBj
b3B5TWFya2VycyhtYXJrZXJDb250cm9sbGVyLm1hcmtlcnNJblJhbmdlKFJhbmdlOjpjcmVhdGUo
ZG9jdW1lbnQoKSwgbm9kZSwgb2Zmc2V0LCBub2RlLCBvZmZzZXQgKyBjb3VudCkuZ2V0KCksIERv
Y3VtZW50TWFya2VyOjpBbGxNYXJrZXJzKCkpLCBtYXJrZXJzKTsKKyAgICBjb3B5TWFya2Vycyht
YXJrZXJDb250cm9sbGVyLm1hcmtlcnNJblJhbmdlKFJhbmdlOjpjcmVhdGUoZG9jdW1lbnQoKSwg
bm9kZSwgb2Zmc2V0LCBub2RlLCBvZmZzZXQgKyBjb3VudCkucHRyKCksIERvY3VtZW50TWFya2Vy
OjpBbGxNYXJrZXJzKCkpLCBtYXJrZXJzKTsKICAgICByZXBsYWNlVGV4dEluTm9kZShub2RlLCBv
ZmZzZXQsIGNvdW50LCByZXBsYWNlbWVudFRleHQpOwogICAgIFJlZlB0cjxSYW5nZT4gbmV3UmFu
Z2UgPSBSYW5nZTo6Y3JlYXRlKGRvY3VtZW50KCksIG5vZGUsIG9mZnNldCwgbm9kZSwgb2Zmc2V0
ICsgcmVwbGFjZW1lbnRUZXh0Lmxlbmd0aCgpKTsKICAgICBmb3IgKGNvbnN0IGF1dG8mIG1hcmtl
ciA6IG1hcmtlcnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVV
bml0cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVVbml0cy5jcHAKaW5kZXgg
MDRjMTM5NS4uZTU5ODRkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNp
YmxlVW5pdHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVVuaXRzLmNw
cApAQCAtMTgzMCw3ICsxODMwLDcgQEAgdm9pZCBjaGFyYWN0ZXJzQXJvdW5kUG9zaXRpb24oY29u
c3QgVmlzaWJsZVBvc2l0aW9uJiBwb3NpdGlvbiwgVUNoYXIzMiYgb25lQWZ0ZXIKICAgICB9CiAK
ICAgICBpZiAoc3RhcnRQb3NpdGlvbiAhPSBlbmRQb3NpdGlvbikgewotICAgICAgICBTdHJpbmcg
Y2hhcmFjdGVyU3RyaW5nID0gcGxhaW5UZXh0KFJhbmdlOjpjcmVhdGUocG9zaXRpb24uZGVlcEVx
dWl2YWxlbnQoKS5hbmNob3JOb2RlKCktPmRvY3VtZW50KCksIHN0YXJ0UG9zaXRpb24sIGVuZFBv
c2l0aW9uKS5nZXQoKSkucmVwbGFjZShub0JyZWFrU3BhY2UsICcgJyk7CisgICAgICAgIFN0cmlu
ZyBjaGFyYWN0ZXJTdHJpbmcgPSBwbGFpblRleHQoUmFuZ2U6OmNyZWF0ZShwb3NpdGlvbi5kZWVw
RXF1aXZhbGVudCgpLmFuY2hvck5vZGUoKS0+ZG9jdW1lbnQoKSwgc3RhcnRQb3NpdGlvbiwgZW5k
UG9zaXRpb24pLnB0cigpKS5yZXBsYWNlKG5vQnJlYWtTcGFjZSwgJyAnKTsKICAgICAgICAgZm9y
IChpbnQgaSA9IGNoYXJhY3RlclN0cmluZy5sZW5ndGgoKSAtIDEsIGluZGV4ID0gMDsgaSA+PSAw
ICYmIGluZGV4IDwgbWF4Q2hhcmFjdGVyczsgLS1pKSB7CiAgICAgICAgICAgICBpZiAoIWluZGV4
ICYmIG5leHRQb3NpdGlvbi5pc051bGwoKSkKICAgICAgICAgICAgICAgICBpbmRleCsrOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9tYXJrdXAuY3BwCmluZGV4IGU4ZGQ4NjAuLmRjMzExNjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL21hcmt1cC5jcHAKQEAgLTI3Niw3ICsyNzYsNyBAQCBTdHJpbmcgU3R5bGVkTWFya3Vw
QWNjdW11bGF0b3I6OnJlbmRlcmVkVGV4dChjb25zdCBOb2RlJiBub2RlLCBjb25zdCBSYW5nZSog
cmFuZwogCiAgICAgUG9zaXRpb24gc3RhcnQgPSBjcmVhdGVMZWdhY3lFZGl0aW5nUG9zaXRpb24o
Y29uc3RfY2FzdDxOb2RlKj4oJm5vZGUpLCBzdGFydE9mZnNldCk7CiAgICAgUG9zaXRpb24gZW5k
ID0gY3JlYXRlTGVnYWN5RWRpdGluZ1Bvc2l0aW9uKGNvbnN0X2Nhc3Q8Tm9kZSo+KCZub2RlKSwg
ZW5kT2Zmc2V0KTsKLSAgICByZXR1cm4gcGxhaW5UZXh0KFJhbmdlOjpjcmVhdGUobm9kZS5kb2N1
bWVudCgpLCBzdGFydCwgZW5kKS5nZXQoKSwgYmVoYXZpb3IpOworICAgIHJldHVybiBwbGFpblRl
eHQoUmFuZ2U6OmNyZWF0ZShub2RlLmRvY3VtZW50KCksIHN0YXJ0LCBlbmQpLnB0cigpLCBiZWhh
dmlvcik7CiB9CiAKIFN0cmluZyBTdHlsZWRNYXJrdXBBY2N1bXVsYXRvcjo6c3RyaW5nVmFsdWVG
b3JSYW5nZShjb25zdCBOb2RlJiBub2RlLCBjb25zdCBSYW5nZSogcmFuZ2UpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKaW5kZXggNmIzM2U1Ni4uMGMyNDMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE1
IEBACiAyMDE0LTEyLTE3ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAorICAg
ICAgICBSZWYtaWZ5IFJhbmdlOjpjcmVhdGUoKS4KKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9y
Zy9iLzEzOTc1NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06CisgICAgICAgICgtW1dlYkhUTUxWaWV3IGF0
dHJpYnV0ZWRTdHJpbmddKToKKworMjAxNC0xMi0xNyAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0Bh
cHBsZS5jb20+CisKICAgICAgICAgUHVyZ2UgUGFzc1JlZlB0ciBmcm9tIEZyYW1lLgogICAgICAg
ICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTM5NzMxPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJIVE1MVmlldy5tbQppbmRleCA0NDY2OWJjLi5jYTliODM1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KQEAgLTY3MTcsNyArNjcxNyw3IEBAIHN0YXRpYyBD
R0ltYWdlUmVmIHNlbGVjdGlvbkltYWdlKEZyYW1lKiBmcmFtZSwgYm9vbCBmb3JjZUJsYWNrVGV4
dCkKICAgICBOU0F0dHJpYnV0ZWRTdHJpbmcgKmF0dHJpYnV0ZWRTdHJpbmcgPSBbc2VsZiBfYXR0
cmlidXRlU3RyaW5nRnJvbURPTVJhbmdlOltkb2N1bWVudCBfZG9jdW1lbnRSYW5nZV1dOwogICAg
IGlmICghYXR0cmlidXRlZFN0cmluZykgewogICAgICAgICBEb2N1bWVudCogY29yZURvY3VtZW50
ID0gY29yZShkb2N1bWVudCk7Ci0gICAgICAgIGF0dHJpYnV0ZWRTdHJpbmcgPSBlZGl0aW5nQXR0
cmlidXRlZFN0cmluZ0Zyb21SYW5nZSgqUmFuZ2U6OmNyZWF0ZSgqY29yZURvY3VtZW50LCBjb3Jl
RG9jdW1lbnQsIDAsIGNvcmVEb2N1bWVudCwgY29yZURvY3VtZW50LT5jb3VudENoaWxkTm9kZXMo
KSkpOworICAgICAgICBhdHRyaWJ1dGVkU3RyaW5nID0gZWRpdGluZ0F0dHJpYnV0ZWRTdHJpbmdG
cm9tUmFuZ2UoUmFuZ2U6OmNyZWF0ZSgqY29yZURvY3VtZW50LCBjb3JlRG9jdW1lbnQsIDAsIGNv
cmVEb2N1bWVudCwgY29yZURvY3VtZW50LT5jb3VudENoaWxkTm9kZXMoKSkpOwogICAgIH0KICAg
ICByZXR1cm4gYXR0cmlidXRlZFN0cmluZzsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243477</attachid>
            <date>2014-12-17 18:17:50 -0800</date>
            <delta_ts>2014-12-17 19:05:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139755-2.diff</filename>
            <type>text/plain</type>
            <size>15265</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmMWZiNjRkLi42Y2IwZTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAg
QEAKKzIwMTQtMTItMTcgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIFJlZi1pZnkgUmFuZ2U6OmNyZWF0ZSgpLgorICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3Jn
L2IvMTM5NzU1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFjY2VwdHNFZGl0aW5n
Rm9jdXMpOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVs
ZW1lbnQ6OmlubmVyVGV4dCk6CisgICAgICAgICogZG9tL1JhbmdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJhbmdlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmFuZ2U6OmNsb25lUmFu
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6cmFuZ2VPZkNvbnRlbnRzKToKKyAgICAgICAgKiBkb20v
UmFuZ2UuaDoKKyAgICAgICAgKiBlZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6YXBwbHlBbHRl
cm5hdGl2ZVRleHRUb1JhbmdlKToKKyAgICAgICAgKiBlZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21t
YW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0ZUVkaXRDb21tYW5kOjpyZXBsYWNl
VGV4dEluTm9kZVByZXNlcnZpbmdNYXJrZXJzKToKKyAgICAgICAgKiBlZGl0aW5nL1Zpc2libGVV
bml0cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjaGFyYWN0ZXJzQXJvdW5kUG9zaXRpb24pOgor
ICAgICAgICAqIGVkaXRpbmcvbWFya3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlZE1h
cmt1cEFjY3VtdWxhdG9yOjpyZW5kZXJlZFRleHQpOgorICAgICAgICAqIHBhZ2UvRm9jdXNDb250
cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlbGlucXVpc2hlc0VkaXRpbmdGb2N1cyk6
CisKIDIwMTQtMTItMTcgIHBlYXZvQG91dGxvb2suY29tICA8cGVhdm9Ab3V0bG9vay5jb20+CiAK
ICAgICAgICAgW0N1cmxdIENvbXBpbGUgZXJyb3IsIHNldFdhc0NhY2hlZCBtZXRob2QgaGFzIGJl
ZW4gcmVtb3ZlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGMzYTZmMzcuLmJmZTFjNWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMzQzLDcgKzM0Myw3IEBAIHN0YXRpYyBib29s
IGFjY2VwdHNFZGl0aW5nRm9jdXMoTm9kZSogbm9kZSkKICAgICBpZiAoIWZyYW1lIHx8ICFyb290
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXR1cm4gZnJhbWUtPmVkaXRvcigpLnNo
b3VsZEJlZ2luRWRpdGluZyhyYW5nZU9mQ29udGVudHMoKnJvb3QpLmdldCgpKTsKKyAgICByZXR1
cm4gZnJhbWUtPmVkaXRvcigpLnNob3VsZEJlZ2luRWRpdGluZyhyYW5nZU9mQ29udGVudHMoKnJv
b3QpLnB0cigpKTsKIH0KIAogc3RhdGljIGJvb2wgY2FuQWNjZXNzQW5jZXN0b3IoY29uc3QgU2Vj
dXJpdHlPcmlnaW4qIGFjdGl2ZVNlY3VyaXR5T3JpZ2luLCBGcmFtZSogdGFyZ2V0RnJhbWUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKaW5kZXggOGUyMmY4OC4uYjI2MGQxOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcApAQCAtMjEwMCw3ICsyMTAwLDcgQEAgU3RyaW5nIEVsZW1lbnQ6OmlubmVyVGV4dCgp
CiAgICAgaWYgKCFyZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gdGV4dENvbnRlbnQodHJ1ZSk7
CiAKLSAgICByZXR1cm4gcGxhaW5UZXh0KHJhbmdlT2ZDb250ZW50cygqdGhpcykuZ2V0KCkpOwor
ICAgIHJldHVybiBwbGFpblRleHQocmFuZ2VPZkNvbnRlbnRzKCp0aGlzKS5wdHIoKSk7CiB9CiAK
IFN0cmluZyBFbGVtZW50OjpvdXRlclRleHQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1JhbmdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5jcHAKaW5kZXggNDEyYTdh
MC4uY2Q1NjVjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuY3BwCkBAIC03Miw5ICs3Miw5IEBAIGlubGluZSBS
YW5nZTo6UmFuZ2UoRG9jdW1lbnQmIG93bmVyRG9jdW1lbnQpCiAgICAgbV9vd25lckRvY3VtZW50
LT5hdHRhY2hSYW5nZSh0aGlzKTsKIH0KIAotUGFzc1JlZlB0cjxSYW5nZT4gUmFuZ2U6OmNyZWF0
ZShEb2N1bWVudCYgb3duZXJEb2N1bWVudCkKK1JlZjxSYW5nZT4gUmFuZ2U6OmNyZWF0ZShEb2N1
bWVudCYgb3duZXJEb2N1bWVudCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFJhbmdlKG93
bmVyRG9jdW1lbnQpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSYW5nZShvd25lckRvY3Vt
ZW50KSk7CiB9CiAKIGlubGluZSBSYW5nZTo6UmFuZ2UoRG9jdW1lbnQmIG93bmVyRG9jdW1lbnQs
IFBhc3NSZWZQdHI8Tm9kZT4gc3RhcnRDb250YWluZXIsIGludCBzdGFydE9mZnNldCwgUGFzc1Jl
ZlB0cjxOb2RlPiBlbmRDb250YWluZXIsIGludCBlbmRPZmZzZXQpCkBAIC05NCwyNiArOTQsMjYg
QEAgaW5saW5lIFJhbmdlOjpSYW5nZShEb2N1bWVudCYgb3duZXJEb2N1bWVudCwgUGFzc1JlZlB0
cjxOb2RlPiBzdGFydENvbnRhaW5lciwgaW4KICAgICBzZXRFbmQoZW5kQ29udGFpbmVyLCBlbmRP
ZmZzZXQpOwogfQogCi1QYXNzUmVmUHRyPFJhbmdlPiBSYW5nZTo6Y3JlYXRlKERvY3VtZW50JiBv
d25lckRvY3VtZW50LCBQYXNzUmVmUHRyPE5vZGU+IHN0YXJ0Q29udGFpbmVyLCBpbnQgc3RhcnRP
ZmZzZXQsIFBhc3NSZWZQdHI8Tm9kZT4gZW5kQ29udGFpbmVyLCBpbnQgZW5kT2Zmc2V0KQorUmVm
PFJhbmdlPiBSYW5nZTo6Y3JlYXRlKERvY3VtZW50JiBvd25lckRvY3VtZW50LCBQYXNzUmVmUHRy
PE5vZGU+IHN0YXJ0Q29udGFpbmVyLCBpbnQgc3RhcnRPZmZzZXQsIFBhc3NSZWZQdHI8Tm9kZT4g
ZW5kQ29udGFpbmVyLCBpbnQgZW5kT2Zmc2V0KQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcg
UmFuZ2Uob3duZXJEb2N1bWVudCwgc3RhcnRDb250YWluZXIsIHN0YXJ0T2Zmc2V0LCBlbmRDb250
YWluZXIsIGVuZE9mZnNldCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJhbmdlKG93bmVy
RG9jdW1lbnQsIHN0YXJ0Q29udGFpbmVyLCBzdGFydE9mZnNldCwgZW5kQ29udGFpbmVyLCBlbmRP
ZmZzZXQpKTsKIH0KIAotUGFzc1JlZlB0cjxSYW5nZT4gUmFuZ2U6OmNyZWF0ZShEb2N1bWVudCYg
b3duZXJEb2N1bWVudCwgY29uc3QgUG9zaXRpb24mIHN0YXJ0LCBjb25zdCBQb3NpdGlvbiYgZW5k
KQorUmVmPFJhbmdlPiBSYW5nZTo6Y3JlYXRlKERvY3VtZW50JiBvd25lckRvY3VtZW50LCBjb25z
dCBQb3NpdGlvbiYgc3RhcnQsIGNvbnN0IFBvc2l0aW9uJiBlbmQpCiB7Ci0gICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBSYW5nZShvd25lckRvY3VtZW50LCBzdGFydC5jb250YWluZXJOb2RlKCksIHN0
YXJ0LmNvbXB1dGVPZmZzZXRJbkNvbnRhaW5lck5vZGUoKSwgZW5kLmNvbnRhaW5lck5vZGUoKSwg
ZW5kLmNvbXB1dGVPZmZzZXRJbkNvbnRhaW5lck5vZGUoKSkpOworICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFJhbmdlKG93bmVyRG9jdW1lbnQsIHN0YXJ0LmNvbnRhaW5lck5vZGUoKSwgc3RhcnQu
Y29tcHV0ZU9mZnNldEluQ29udGFpbmVyTm9kZSgpLCBlbmQuY29udGFpbmVyTm9kZSgpLCBlbmQu
Y29tcHV0ZU9mZnNldEluQ29udGFpbmVyTm9kZSgpKSk7CiB9CiAKLVBhc3NSZWZQdHI8UmFuZ2U+
IFJhbmdlOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKK1JlZjxSYW5n
ZT4gUmFuZ2U6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogewotICAg
IHJldHVybiBhZG9wdFJlZihuZXcgUmFuZ2UoZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpKSk7
CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUmFuZ2UoZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRl
eHQpKSk7CiB9CiAKLVBhc3NSZWZQdHI8UmFuZ2U+IFJhbmdlOjpjcmVhdGUoRG9jdW1lbnQmIG93
bmVyRG9jdW1lbnQsIGNvbnN0IFZpc2libGVQb3NpdGlvbiYgdmlzaWJsZVN0YXJ0LCBjb25zdCBW
aXNpYmxlUG9zaXRpb24mIHZpc2libGVFbmQpCitSZWY8UmFuZ2U+IFJhbmdlOjpjcmVhdGUoRG9j
dW1lbnQmIG93bmVyRG9jdW1lbnQsIGNvbnN0IFZpc2libGVQb3NpdGlvbiYgdmlzaWJsZVN0YXJ0
LCBjb25zdCBWaXNpYmxlUG9zaXRpb24mIHZpc2libGVFbmQpCiB7CiAgICAgUG9zaXRpb24gc3Rh
cnQgPSB2aXNpYmxlU3RhcnQuZGVlcEVxdWl2YWxlbnQoKS5wYXJlbnRBbmNob3JlZEVxdWl2YWxl
bnQoKTsKICAgICBQb3NpdGlvbiBlbmQgPSB2aXNpYmxlRW5kLmRlZXBFcXVpdmFsZW50KCkucGFy
ZW50QW5jaG9yZWRFcXVpdmFsZW50KCk7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSYW5nZShv
d25lckRvY3VtZW50LCBzdGFydC5hbmNob3JOb2RlKCksIHN0YXJ0LmRlcHJlY2F0ZWRFZGl0aW5n
T2Zmc2V0KCksIGVuZC5hbmNob3JOb2RlKCksIGVuZC5kZXByZWNhdGVkRWRpdGluZ09mZnNldCgp
KSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUmFuZ2Uob3duZXJEb2N1bWVudCwgc3RhcnQu
YW5jaG9yTm9kZSgpLCBzdGFydC5kZXByZWNhdGVkRWRpdGluZ09mZnNldCgpLCBlbmQuYW5jaG9y
Tm9kZSgpLCBlbmQuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSkpOwogfQogCiBSYW5nZTo6flJh
bmdlKCkKQEAgLTEyMjAsMTEgKzEyMjAsMTEgQEAgdm9pZCBSYW5nZTo6Y2hlY2tOb2RlQkEoTm9k
ZSogbiwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0CiAgICAgfQogfQogCi1QYXNzUmVmUHRyPFJh
bmdlPiBSYW5nZTo6Y2xvbmVSYW5nZShFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKK1JlZlB0cjxS
YW5nZT4gUmFuZ2U6OmNsb25lUmFuZ2UoRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0CiB7CiAgICAg
aWYgKCFtX3N0YXJ0LmNvbnRhaW5lcigpKSB7CiAgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9F
UlI7Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAK
ICAgICByZXR1cm4gUmFuZ2U6OmNyZWF0ZShvd25lckRvY3VtZW50KCksIG1fc3RhcnQuY29udGFp
bmVyKCksIG1fc3RhcnQub2Zmc2V0KCksIG1fZW5kLmNvbnRhaW5lcigpLCBtX2VuZC5vZmZzZXQo
KSk7CkBAIC0yMDAyLDEyICsyMDAyLDEyIEBAIGJvb2wgcmFuZ2VzT3ZlcmxhcChjb25zdCBSYW5n
ZSogYSwgY29uc3QgUmFuZ2UqIGIpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1QYXNzUmVmUHRy
PFJhbmdlPiByYW5nZU9mQ29udGVudHMoTm9kZSYgbm9kZSkKK1JlZjxSYW5nZT4gcmFuZ2VPZkNv
bnRlbnRzKE5vZGUmIG5vZGUpCiB7Ci0gICAgUmVmUHRyPFJhbmdlPiByYW5nZSA9IFJhbmdlOjpj
cmVhdGUobm9kZS5kb2N1bWVudCgpKTsKKyAgICBSZWY8UmFuZ2U+IHJhbmdlID0gUmFuZ2U6OmNy
ZWF0ZShub2RlLmRvY3VtZW50KCkpOwogICAgIGludCBleGNlcHRpb24gPSAwOwogICAgIHJhbmdl
LT5zZWxlY3ROb2RlQ29udGVudHMoJm5vZGUsIGV4Y2VwdGlvbik7Ci0gICAgcmV0dXJuIHJhbmdl
LnJlbGVhc2UoKTsKKyAgICByZXR1cm4gcmFuZ2U7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBi
b3VuZGFyeU5vZGVDaGlsZHJlbkNoYW5nZWQoUmFuZ2VCb3VuZGFyeVBvaW50JiBib3VuZGFyeSwg
Q29udGFpbmVyTm9kZSYgY29udGFpbmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L1JhbmdlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuaAppbmRleCBmNThlYTI5Li5hZGFh
OWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vUmFuZ2UuaApAQCAtNTIsMTEgKzUyLDExIEBAIGNsYXNzIFNlbGVjdGlvblJl
Y3Q7CiAKIGNsYXNzIFJhbmdlIDogcHVibGljIFJlZkNvdW50ZWQ8UmFuZ2U+IHsKIHB1YmxpYzoK
LSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUGFzc1JlZlB0cjxSYW5nZT4gY3JlYXRlKERvY3Vt
ZW50Jik7Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFBhc3NSZWZQdHI8UmFuZ2U+IGNyZWF0
ZShEb2N1bWVudCYsIFBhc3NSZWZQdHI8Tm9kZT4gc3RhcnRDb250YWluZXIsIGludCBzdGFydE9m
ZnNldCwgUGFzc1JlZlB0cjxOb2RlPiBlbmRDb250YWluZXIsIGludCBlbmRPZmZzZXQpOwotICAg
IFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBQYXNzUmVmUHRyPFJhbmdlPiBjcmVhdGUoRG9jdW1lbnQm
LCBjb25zdCBQb3NpdGlvbiYsIGNvbnN0IFBvc2l0aW9uJik7Ci0gICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIFBhc3NSZWZQdHI8UmFuZ2U+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7
Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFBhc3NSZWZQdHI8UmFuZ2U+IGNyZWF0ZShEb2N1
bWVudCYsIGNvbnN0IFZpc2libGVQb3NpdGlvbiYsIGNvbnN0IFZpc2libGVQb3NpdGlvbiYpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWY8UmFuZ2U+IGNyZWF0ZShEb2N1bWVudCYpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWY8UmFuZ2U+IGNyZWF0ZShEb2N1bWVudCYsIFBh
c3NSZWZQdHI8Tm9kZT4gc3RhcnRDb250YWluZXIsIGludCBzdGFydE9mZnNldCwgUGFzc1JlZlB0
cjxOb2RlPiBlbmRDb250YWluZXIsIGludCBlbmRPZmZzZXQpOworICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyBSZWY8UmFuZ2U+IGNyZWF0ZShEb2N1bWVudCYsIGNvbnN0IFBvc2l0aW9uJiwgY29u
c3QgUG9zaXRpb24mKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmPFJhbmdlPiBjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBS
ZWY8UmFuZ2U+IGNyZWF0ZShEb2N1bWVudCYsIGNvbnN0IFZpc2libGVQb3NpdGlvbiYsIGNvbnN0
IFZpc2libGVQb3NpdGlvbiYpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5SYW5nZSgpOwogCiAgICAg
RG9jdW1lbnQmIG93bmVyRG9jdW1lbnQoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PERvY3Vt
ZW50Jj4obV9vd25lckRvY3VtZW50LmdldCgpKTsgfQpAQCAtOTksNyArOTksNyBAQCBwdWJsaWM6
CiAgICAgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBjcmVhdGVDb250ZXh0dWFsRnJhZ21l
bnQoY29uc3QgU3RyaW5nJiBodG1sLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICB2b2lkIGRldGFj
aChFeGNlcHRpb25Db2RlJik7Ci0gICAgV0VCQ09SRV9FWFBPUlQgUGFzc1JlZlB0cjxSYW5nZT4g
Y2xvbmVSYW5nZShFeGNlcHRpb25Db2RlJikgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgUmVm
UHRyPFJhbmdlPiBjbG9uZVJhbmdlKEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKIAogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc2V0U3RhcnRBZnRlcihOb2RlKiwgRXhjZXB0aW9uQ29kZSYgPSBBU1NF
UlRfTk9fRVhDRVBUSU9OKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEVuZEJlZm9yZShO
b2RlKiwgRXhjZXB0aW9uQ29kZSYgPSBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKQEAgLTE4Myw3ICsx
ODMsNyBAQCBwcml2YXRlOgogICAgIFJhbmdlQm91bmRhcnlQb2ludCBtX2VuZDsKIH07CiAKLVBh
c3NSZWZQdHI8UmFuZ2U+IHJhbmdlT2ZDb250ZW50cyhOb2RlJik7CitSZWY8UmFuZ2U+IHJhbmdl
T2ZDb250ZW50cyhOb2RlJik7CiAKIFdFQkNPUkVfRVhQT1JUIGJvb2wgYXJlUmFuZ2VzRXF1YWwo
Y29uc3QgUmFuZ2UqLCBjb25zdCBSYW5nZSopOwogYm9vbCByYW5nZXNPdmVybGFwKGNvbnN0IFJh
bmdlKiwgY29uc3QgUmFuZ2UqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Fs
dGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCmluZGV4IDBlZjdiZGEuLjZkNzNjYWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVy
LmNwcApAQCAtMjczLDcgKzI3Myw3IEBAIHZvaWQgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6
YXBwbHlBbHRlcm5hdGl2ZVRleHRUb1JhbmdlKGNvbnN0IFJhbmdlKiByYW5nZSwKICAgICBSZWZQ
dHI8UmFuZ2U+IHJhbmdlV2l0aEFsdGVybmF0aXZlID0gcmFuZ2UtPmNsb25lUmFuZ2UoZWMpOwog
CiAgICAgQ29udGFpbmVyTm9kZSYgcm9vdE5vZGUgPSBwYXJhZ3JhcGhSYW5nZUNvbnRhaW5pbmdD
b3JyZWN0aW9uLmdldCgpLT5zdGFydENvbnRhaW5lcigpLT50cmVlU2NvcGUoKS5yb290Tm9kZSgp
OwotICAgIGludCBwYXJhZ3JhcGhTdGFydEluZGV4ID0gVGV4dEl0ZXJhdG9yOjpyYW5nZUxlbmd0
aChSYW5nZTo6Y3JlYXRlKHJvb3ROb2RlLmRvY3VtZW50KCksICZyb290Tm9kZSwgMCwgcGFyYWdy
YXBoUmFuZ2VDb250YWluaW5nQ29ycmVjdGlvbi5nZXQoKS0+c3RhcnRDb250YWluZXIoKSwgcGFy
YWdyYXBoUmFuZ2VDb250YWluaW5nQ29ycmVjdGlvbi5nZXQoKS0+c3RhcnRPZmZzZXQoKSkuZ2V0
KCkpOworICAgIGludCBwYXJhZ3JhcGhTdGFydEluZGV4ID0gVGV4dEl0ZXJhdG9yOjpyYW5nZUxl
bmd0aChSYW5nZTo6Y3JlYXRlKHJvb3ROb2RlLmRvY3VtZW50KCksICZyb290Tm9kZSwgMCwgcGFy
YWdyYXBoUmFuZ2VDb250YWluaW5nQ29ycmVjdGlvbi0+c3RhcnRDb250YWluZXIoKSwgcGFyYWdy
YXBoUmFuZ2VDb250YWluaW5nQ29ycmVjdGlvbi0+c3RhcnRPZmZzZXQoKSkucHRyKCkpOwogICAg
IGFwcGx5Q29tbWFuZChTcGVsbGluZ0NvcnJlY3Rpb25Db21tYW5kOjpjcmVhdGUocmFuZ2VXaXRo
QWx0ZXJuYXRpdmUsIGFsdGVybmF0aXZlKSk7CiAgICAgLy8gUmVjYWxjdWxhdGUgcHJhZ3JhcGhS
YW5nZUNvbnRhaW5pbmdDb3JyZWN0aW9uLCBzaW5jZSBTcGVsbGluZ0NvcnJlY3Rpb25Db21tYW5k
IG1vZGlmaWVkIHRoZSBET00sIHN1Y2ggdGhhdCB0aGUgb3JpZ2luYWwgcGFyYWdyYXBoUmFuZ2VD
b250YWluaW5nQ29ycmVjdGlvbiBpcyBubyBsb25nZXIgdmFsaWQuIFJhZGFyOiAxMDMwNTMxNSBC
dWd6aWxsYTogODk1MjYKICAgICBwYXJhZ3JhcGhSYW5nZUNvbnRhaW5pbmdDb3JyZWN0aW9uID0g
VGV4dEl0ZXJhdG9yOjpyYW5nZUZyb21Mb2NhdGlvbkFuZExlbmd0aCgmcm9vdE5vZGUsIHBhcmFn
cmFwaFN0YXJ0SW5kZXgsIGNvcnJlY3Rpb25TdGFydE9mZnNldEluUGFyYWdyYXBoICsgYWx0ZXJu
YXRpdmUubGVuZ3RoKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9Db21w
b3NpdGVFZGl0Q29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVk
aXRDb21tYW5kLmNwcAppbmRleCA0MTZhMDAxLi4zNzJiNTU3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcApAQCAtNTY5LDcgKzU2OSw3IEBA
IHZvaWQgQ29tcG9zaXRlRWRpdENvbW1hbmQ6OnJlcGxhY2VUZXh0SW5Ob2RlUHJlc2VydmluZ01h
cmtlcnMoUGFzc1JlZlB0cjxUZXh0PiBwCiAgICAgUmVmUHRyPFRleHQ+IG5vZGUocHJwTm9kZSk7
CiAgICAgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyJiBtYXJrZXJDb250cm9sbGVyID0gZG9jdW1l
bnQoKS5tYXJrZXJzKCk7CiAgICAgVmVjdG9yPFJlbmRlcmVkRG9jdW1lbnRNYXJrZXI+IG1hcmtl
cnM7Ci0gICAgY29weU1hcmtlcnMobWFya2VyQ29udHJvbGxlci5tYXJrZXJzSW5SYW5nZShSYW5n
ZTo6Y3JlYXRlKGRvY3VtZW50KCksIG5vZGUsIG9mZnNldCwgbm9kZSwgb2Zmc2V0ICsgY291bnQp
LmdldCgpLCBEb2N1bWVudE1hcmtlcjo6QWxsTWFya2VycygpKSwgbWFya2Vycyk7CisgICAgY29w
eU1hcmtlcnMobWFya2VyQ29udHJvbGxlci5tYXJrZXJzSW5SYW5nZShSYW5nZTo6Y3JlYXRlKGRv
Y3VtZW50KCksIG5vZGUsIG9mZnNldCwgbm9kZSwgb2Zmc2V0ICsgY291bnQpLnB0cigpLCBEb2N1
bWVudE1hcmtlcjo6QWxsTWFya2VycygpKSwgbWFya2Vycyk7CiAgICAgcmVwbGFjZVRleHRJbk5v
ZGUobm9kZSwgb2Zmc2V0LCBjb3VudCwgcmVwbGFjZW1lbnRUZXh0KTsKICAgICBSZWZQdHI8UmFu
Z2U+IG5ld1JhbmdlID0gUmFuZ2U6OmNyZWF0ZShkb2N1bWVudCgpLCBub2RlLCBvZmZzZXQsIG5v
ZGUsIG9mZnNldCArIHJlcGxhY2VtZW50VGV4dC5sZW5ndGgoKSk7CiAgICAgZm9yIChjb25zdCBh
dXRvJiBtYXJrZXIgOiBtYXJrZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9WaXNpYmxlVW5pdHMuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlVW5pdHMu
Y3BwCmluZGV4IDA0YzEzOTUuLmU1OTg0ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvVmlzaWJsZVVuaXRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2li
bGVVbml0cy5jcHAKQEAgLTE4MzAsNyArMTgzMCw3IEBAIHZvaWQgY2hhcmFjdGVyc0Fyb3VuZFBv
c2l0aW9uKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgcG9zaXRpb24sIFVDaGFyMzImIG9uZUFmdGVy
CiAgICAgfQogCiAgICAgaWYgKHN0YXJ0UG9zaXRpb24gIT0gZW5kUG9zaXRpb24pIHsKLSAgICAg
ICAgU3RyaW5nIGNoYXJhY3RlclN0cmluZyA9IHBsYWluVGV4dChSYW5nZTo6Y3JlYXRlKHBvc2l0
aW9uLmRlZXBFcXVpdmFsZW50KCkuYW5jaG9yTm9kZSgpLT5kb2N1bWVudCgpLCBzdGFydFBvc2l0
aW9uLCBlbmRQb3NpdGlvbikuZ2V0KCkpLnJlcGxhY2Uobm9CcmVha1NwYWNlLCAnICcpOworICAg
ICAgICBTdHJpbmcgY2hhcmFjdGVyU3RyaW5nID0gcGxhaW5UZXh0KFJhbmdlOjpjcmVhdGUocG9z
aXRpb24uZGVlcEVxdWl2YWxlbnQoKS5hbmNob3JOb2RlKCktPmRvY3VtZW50KCksIHN0YXJ0UG9z
aXRpb24sIGVuZFBvc2l0aW9uKS5wdHIoKSkucmVwbGFjZShub0JyZWFrU3BhY2UsICcgJyk7CiAg
ICAgICAgIGZvciAoaW50IGkgPSBjaGFyYWN0ZXJTdHJpbmcubGVuZ3RoKCkgLSAxLCBpbmRleCA9
IDA7IGkgPj0gMCAmJiBpbmRleCA8IG1heENoYXJhY3RlcnM7IC0taSkgewogICAgICAgICAgICAg
aWYgKCFpbmRleCAmJiBuZXh0UG9zaXRpb24uaXNOdWxsKCkpCiAgICAgICAgICAgICAgICAgaW5k
ZXgrKzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcAppbmRleCBlOGRkODYwLi5kYzMxMTY2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwCkBAIC0yNzYsNyArMjc2LDcgQEAgU3RyaW5nIFN0
eWxlZE1hcmt1cEFjY3VtdWxhdG9yOjpyZW5kZXJlZFRleHQoY29uc3QgTm9kZSYgbm9kZSwgY29u
c3QgUmFuZ2UqIHJhbmcKIAogICAgIFBvc2l0aW9uIHN0YXJ0ID0gY3JlYXRlTGVnYWN5RWRpdGlu
Z1Bvc2l0aW9uKGNvbnN0X2Nhc3Q8Tm9kZSo+KCZub2RlKSwgc3RhcnRPZmZzZXQpOwogICAgIFBv
c2l0aW9uIGVuZCA9IGNyZWF0ZUxlZ2FjeUVkaXRpbmdQb3NpdGlvbihjb25zdF9jYXN0PE5vZGUq
Pigmbm9kZSksIGVuZE9mZnNldCk7Ci0gICAgcmV0dXJuIHBsYWluVGV4dChSYW5nZTo6Y3JlYXRl
KG5vZGUuZG9jdW1lbnQoKSwgc3RhcnQsIGVuZCkuZ2V0KCksIGJlaGF2aW9yKTsKKyAgICByZXR1
cm4gcGxhaW5UZXh0KFJhbmdlOjpjcmVhdGUobm9kZS5kb2N1bWVudCgpLCBzdGFydCwgZW5kKS5w
dHIoKSwgYmVoYXZpb3IpOwogfQogCiBTdHJpbmcgU3R5bGVkTWFya3VwQWNjdW11bGF0b3I6OnN0
cmluZ1ZhbHVlRm9yUmFuZ2UoY29uc3QgTm9kZSYgbm9kZSwgY29uc3QgUmFuZ2UqIHJhbmdlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCmluZGV4IDE0MzY0YWMuLjY0NDQy
MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAKQEAgLTU0NCw3ICs1
NDQsNyBAQCBzdGF0aWMgYm9vbCByZWxpbnF1aXNoZXNFZGl0aW5nRm9jdXMoTm9kZSAqbm9kZSkK
ICAgICBpZiAoIWZyYW1lIHx8ICFyb290KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBy
ZXR1cm4gZnJhbWUtPmVkaXRvcigpLnNob3VsZEVuZEVkaXRpbmcocmFuZ2VPZkNvbnRlbnRzKCpy
b290KS5nZXQoKSk7CisgICAgcmV0dXJuIGZyYW1lLT5lZGl0b3IoKS5zaG91bGRFbmRFZGl0aW5n
KHJhbmdlT2ZDb250ZW50cygqcm9vdCkucHRyKCkpOwogfQogCiBzdGF0aWMgdm9pZCBjbGVhclNl
bGVjdGlvbklmTmVlZGVkKEZyYW1lKiBvbGRGb2N1c2VkRnJhbWUsIEZyYW1lKiBuZXdGb2N1c2Vk
RnJhbWUsIE5vZGUqIG5ld0ZvY3VzZWROb2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDZiMzNlNTYu
LjBlOWJlNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNyBAQAogMjAxNC0xMi0xNyAg
QW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKKyAgICAgICAgUmVmLWlmeSBSYW5n
ZTo6Y3JlYXRlKCkuCisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8xMzk3NTU+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dl
YkhUTUxSZXByZXNlbnRhdGlvbi5tbToKKyAgICAgICAgKC1bV2ViSFRNTFJlcHJlc2VudGF0aW9u
IGF0dHJpYnV0ZWRTdHJpbmdGcm9tOnN0YXJ0T2Zmc2V0OnRvOmVuZE9mZnNldDpdKToKKyAgICAg
ICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm1tOgorICAgICAgICAoLVtXZWJIVE1MVmlldyBhdHRy
aWJ1dGVkU3RyaW5nXSk6CisKKzIwMTQtMTItMTcgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBw
bGUuY29tPgorCiAgICAgICAgIFB1cmdlIFBhc3NSZWZQdHIgZnJvbSBGcmFtZS4KICAgICAgICAg
PGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEzOTczMT4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJIVE1MUmVwcmVzZW50YXRpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYkhUTUxSZXByZXNlbnRhdGlvbi5tbQppbmRleCA2ZTQwYWU1Li5jNDUwNmU4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxSZXByZXNlbnRh
dGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxSZXByZXNlbnRh
dGlvbi5tbQpAQCAtMjc3LDcgKzI3Nyw3IEBAIHN0YXRpYyBOU011dGFibGVBcnJheSAqbmV3QXJy
YXlCeUNvbmNhdGVuYXRpbmdBcnJheXMoTlNBcnJheSAqZmlyc3QsIE5TQXJyYXkgKnNlCiAKIC0g
KE5TQXR0cmlidXRlZFN0cmluZyAqKWF0dHJpYnV0ZWRTdHJpbmdGcm9tOihET01Ob2RlICopc3Rh
cnROb2RlIHN0YXJ0T2Zmc2V0OihpbnQpc3RhcnRPZmZzZXQgdG86KERPTU5vZGUgKillbmROb2Rl
IGVuZE9mZnNldDooaW50KWVuZE9mZnNldAogewotICAgIHJldHVybiBlZGl0aW5nQXR0cmlidXRl
ZFN0cmluZ0Zyb21SYW5nZSgqUmFuZ2U6OmNyZWF0ZShjb3JlKHN0YXJ0Tm9kZSktPmRvY3VtZW50
KCksIGNvcmUoc3RhcnROb2RlKSwgc3RhcnRPZmZzZXQsIGNvcmUoZW5kTm9kZSksIGVuZE9mZnNl
dCkpOworICAgIHJldHVybiBlZGl0aW5nQXR0cmlidXRlZFN0cmluZ0Zyb21SYW5nZShSYW5nZTo6
Y3JlYXRlKGNvcmUoc3RhcnROb2RlKS0+ZG9jdW1lbnQoKSwgY29yZShzdGFydE5vZGUpLCBzdGFy
dE9mZnNldCwgY29yZShlbmROb2RlKSwgZW5kT2Zmc2V0KSk7CiB9CiAjZW5kaWYKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbSBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KaW5kZXggNDQ2NjliYy4uY2E5YjgzNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCkBAIC02NzE3LDcgKzY3
MTcsNyBAQCBzdGF0aWMgQ0dJbWFnZVJlZiBzZWxlY3Rpb25JbWFnZShGcmFtZSogZnJhbWUsIGJv
b2wgZm9yY2VCbGFja1RleHQpCiAgICAgTlNBdHRyaWJ1dGVkU3RyaW5nICphdHRyaWJ1dGVkU3Ry
aW5nID0gW3NlbGYgX2F0dHJpYnV0ZVN0cmluZ0Zyb21ET01SYW5nZTpbZG9jdW1lbnQgX2RvY3Vt
ZW50UmFuZ2VdXTsKICAgICBpZiAoIWF0dHJpYnV0ZWRTdHJpbmcpIHsKICAgICAgICAgRG9jdW1l
bnQqIGNvcmVEb2N1bWVudCA9IGNvcmUoZG9jdW1lbnQpOwotICAgICAgICBhdHRyaWJ1dGVkU3Ry
aW5nID0gZWRpdGluZ0F0dHJpYnV0ZWRTdHJpbmdGcm9tUmFuZ2UoKlJhbmdlOjpjcmVhdGUoKmNv
cmVEb2N1bWVudCwgY29yZURvY3VtZW50LCAwLCBjb3JlRG9jdW1lbnQsIGNvcmVEb2N1bWVudC0+
Y291bnRDaGlsZE5vZGVzKCkpKTsKKyAgICAgICAgYXR0cmlidXRlZFN0cmluZyA9IGVkaXRpbmdB
dHRyaWJ1dGVkU3RyaW5nRnJvbVJhbmdlKFJhbmdlOjpjcmVhdGUoKmNvcmVEb2N1bWVudCwgY29y
ZURvY3VtZW50LCAwLCBjb3JlRG9jdW1lbnQsIGNvcmVEb2N1bWVudC0+Y291bnRDaGlsZE5vZGVz
KCkpKTsKICAgICB9CiAgICAgcmV0dXJuIGF0dHJpYnV0ZWRTdHJpbmc7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>