<?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>59205</bug_id>
          
          <creation_ts>2011-04-22 09:41:11 -0700</creation_ts>
          <short_desc>Make it harder to use HandleSlot incorrectly</short_desc>
          <delta_ts>2011-04-22 12:11:25 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          <dependson>59217</dependson>
    
    <dependson>59218</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>abarth</cc>
    
    <cc>buildbot</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>390830</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-04-22 09:41:11 -0700</bug_when>
    <thetext>Make it harder to use HandleSlot incorrectly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390902</commentid>
    <comment_count>1</comment_count>
      <attachid>90726</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-04-22 11:03:36 -0700</bug_when>
    <thetext>Created attachment 90726
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390912</commentid>
    <comment_count>2</comment_count>
      <attachid>90726</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-04-22 11:17:18 -0700</bug_when>
    <thetext>Comment on attachment 90726
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=90726&amp;action=review

r=me

&gt; Source/JavaScriptCore/runtime/WriteBarrier.h:47
&gt; +    JSValue* toJSValueRef() { return this; }

This name was a bit confusing to me because &quot;JSValueRef&quot; is a name in the JavaScriptCore API.

I&apos;d recommend just having toJSValue(), and using &amp;toJSValue() where needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390924</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-04-22 11:28:20 -0700</bug_when>
    <thetext>Committed r84650: &lt;http://trac.webkit.org/changeset/84650&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390927</commentid>
    <comment_count>4</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-04-22 11:29:20 -0700</bug_when>
    <thetext>Attachment 90726 did not build on win:
Build output: http://queues.webkit.org/results/8498391</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390933</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-22 11:47:45 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/84650 might have broken Windows Release (Build) and Windows Debug (Build)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90726</attachid>
            <date>2011-04-22 11:03:36 -0700</date>
            <delta_ts>2011-04-22 11:17:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59205-20110422110335.patch</filename>
            <type>text/plain</type>
            <size>18604</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQ2MzMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmgKaW5kZXggODYzOWUxYWVmOTk5NWYy
Y2YxZTg5MzRkNmMxYzlkNmJiZjVlMzczMi4uNmZmYjUxZDRjYWQ2ZDMzNTM4NGU3MmYyM2E0YmQ0
Y2M5MzllN2Y4YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxi
YWNrT2JqZWN0RnVuY3Rpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0Nh
bGxiYWNrT2JqZWN0RnVuY3Rpb25zLmgKQEAgLTk2LDcgKzk2LDcgQEAgdm9pZCBKU0NhbGxiYWNr
T2JqZWN0PEJhc2U+Ojppbml0KEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgSGFuZGxlU2xvdCBz
bG90ID0gZXhlYy0+Z2xvYmFsRGF0YSgpLmFsbG9jYXRlR2xvYmFsSGFuZGxlKCk7CiAgICAgICAg
IEhhbmRsZUhlYXA6OmhlYXBGb3Ioc2xvdCktPm1ha2VXZWFrKHNsb3QsIG1fY2FsbGJhY2tPYmpl
Y3REYXRhLmdldCgpLCBjbGFzc1JlZigpKTsKICAgICAgICAgSGFuZGxlSGVhcDo6aGVhcEZvcihz
bG90KS0+d3JpdGVCYXJyaWVyKHNsb3QsIHRoaXMpOwotICAgICAgICAqc2xvdCA9IHRoaXM7Cisg
ICAgICAgIHNsb3QtPmZyb21KU1ZhbHVlKHRoaXMpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKaW5kZXggMDA1ZmZkNThjOTJlMTExMGZmZGU2MzdkMWUwNGQ4MzFjYjgyZjZhYi4u
MDIyMzliM2ZjOGZjODA3MTAwNGMwMmY4N2E4OWI3ZGI5ZWNhOTdkZCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNTYgQEAKKzIwMTEtMDQtMjIgIE9saXZlciBIdW50ICA8b2xp
dmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBNYWtlIGl0IGhhcmRlciB0byB1c2UgSGFuZGxlU2xvdCBpbmNvcnJlY3RseQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkyMDUKKworICAg
ICAgICBKdXN0IGFkZCBhIGxpdHRsZSB0eXBlIGZ1ZGdpbmcgdG8gbWFrZSBpdCBoYXJkZXIgdG8K
KyAgICAgICAgaW5jb3JyZWN0bHkgYXNzaWduIHRocm91Z2ggYSBIYW5kbGVTbG90LgorCisgICAg
ICAgICogQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaDoKKyAgICAgICAgKEpTQzo6Ojpp
bml0KToKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5leHA6CisgICAgICAgICogaGVhcC9IYW5k
bGUuaDoKKyAgICAgICAgKEpTQzo6SGFuZGxlQmFzZTo6b3BlcmF0b3IhKToKKyAgICAgICAgKEpT
Qzo6SGFuZGxlQmFzZTo6b3BlcmF0b3IgVW5zcGVjaWZpZWRCb29sVHlwZSopOgorICAgICAgICAo
SlNDOjpIYW5kbGVUeXBlczo6Z2V0RnJvbVNsb3QpOgorICAgICAgICAqIGhlYXAvSGFuZGxlSGVh
cC5jcHA6CisgICAgICAgIChKU0M6OkhhbmRsZUhlYXA6Om1hcmtTdHJvbmdIYW5kbGVzKToKKyAg
ICAgICAgKEpTQzo6SGFuZGxlSGVhcDo6bWFya1dlYWtIYW5kbGVzKToKKyAgICAgICAgKEpTQzo6
SGFuZGxlSGVhcDo6ZmluYWxpemVXZWFrSGFuZGxlcyk6CisgICAgICAgIChKU0M6OkhhbmRsZUhl
YXA6OndyaXRlQmFycmllcik6CisgICAgICAgIChKU0M6OkhhbmRsZUhlYXA6OnByb3RlY3RlZEds
b2JhbE9iamVjdENvdW50KToKKyAgICAgICAgKEpTQzo6SGFuZGxlSGVhcDo6aXNWYWxpZFdlYWtO
b2RlKToKKyAgICAgICAgKiBoZWFwL0hhbmRsZUhlYXAuaDoKKyAgICAgICAgKEpTQzo6SGFuZGxl
SGVhcDo6Y29weVdlYWspOgorICAgICAgICAoSlNDOjpIYW5kbGVIZWFwOjptYWtlV2Vhayk6Cisg
ICAgICAgIChKU0M6OkhhbmRsZUhlYXA6Ok5vZGU6OnNsb3QpOgorICAgICAgICAqIGhlYXAvSGFu
ZGxlU3RhY2suY3BwOgorICAgICAgICAoSlNDOjpIYW5kbGVTdGFjazo6bWFyayk6CisgICAgICAg
IChKU0M6OkhhbmRsZVN0YWNrOjpncm93KToKKyAgICAgICAgKiBoZWFwL0hhbmRsZVN0YWNrLmg6
CisgICAgICAgIChKU0M6OkhhbmRsZVN0YWNrOjp6YXBUbyk6CisgICAgICAgIChKU0M6OkhhbmRs
ZVN0YWNrOjpwdXNoKToKKyAgICAgICAgKiBoZWFwL0hlYXAuY3BwOgorICAgICAgICAoSlNDOjpI
YW5kbGVIZWFwOjpwcm90ZWN0ZWRPYmplY3RUeXBlQ291bnRzKToKKyAgICAgICAgKiBoZWFwL0xv
Y2FsLmg6CisgICAgICAgIChKU0M6Ojo6c2V0KToKKyAgICAgICAgKiBoZWFwL1N0cm9uZy5oOgor
ICAgICAgICAoSlNDOjpTdHJvbmc6OnNldCk6CisgICAgICAgICogaGVhcC9XZWFrLmg6CisgICAg
ICAgIChKU0M6OldlYWs6OnNldCk6CisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmVUcmFuc2l0
aW9uVGFibGUuaDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlVHJhbnNpdGlvblRhYmxlOjpzaW5n
bGVUcmFuc2l0aW9uKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlVHJhbnNpdGlvblRhYmxlOjpz
ZXRTaW5nbGVUcmFuc2l0aW9uKToKKyAgICAgICAgKiBydW50aW1lL1dlYWtHQ01hcC5oOgorICAg
ICAgICAoSlNDOjpXZWFrR0NNYXA6OmFkZCk6CisgICAgICAgIChKU0M6OldlYWtHQ01hcDo6c2V0
KToKKyAgICAgICAgKiBydW50aW1lL1dyaXRlQmFycmllci5oOgorICAgICAgICAoSlNDOjpPcGFx
dWVKU1ZhbHVlOjp0b0pTVmFsdWUpOgorICAgICAgICAoSlNDOjpPcGFxdWVKU1ZhbHVlOjp0b0pT
VmFsdWVSZWYpOgorICAgICAgICAoSlNDOjpPcGFxdWVKU1ZhbHVlOjpmcm9tSlNWYWx1ZSk6CisK
IDIwMTEtMDQtMjIgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgVW5yZXZpZXdlZC4gQnVpbGQgZml4IGZvciBFTkFCTEUoSU5URVJQUkVURVIpIGFmdGVy
IHI4NDU1Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS5leHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwCmluZGV4IGYz
M2EzOGMxMjljMjhhYWNjY2E2ZGU3YTM1YjM2ZGVkZDI4MTBmNGMuLmY0MWM1ZTQyMTZmZjg4NmRm
MmJhZjMzNzYxNGI1YjIwNWExN2JkNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS5leHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLmV4cApAQCAtOTcsNyArOTcsNyBAQCBfV1RGUmVwb3J0QmFja3RyYWNlCiBfV1RGUmVw
b3J0RXJyb3IKIF9XVEZSZXBvcnRGYXRhbEVycm9yCiBfX1pOMTRPcGFxdWVKU1N0cmluZzZjcmVh
dGVFUktOM0pTQzdVU3RyaW5nRQotX19aTjNKU0MxMEhhbmRsZUhlYXAxMndyaXRlQmFycmllckVQ
TlNfN0pTVmFsdWVFUktTMV8KK19fWk4zSlNDMTBIYW5kbGVIZWFwMTJ3cml0ZUJhcnJpZXJFUE5T
XzEzT3BhcXVlSlNWYWx1ZUVSS05TXzdKU1ZhbHVlRQogX19aTjNKU0MxMEhhbmRsZUhlYXA0Z3Jv
d0V2CiBfX1pOM0pTQzEwSWRlbnRpZmllcjExYWRkU2xvd0Nhc2VFUE5TXzEySlNHbG9iYWxEYXRh
RVBOM1dURjEwU3RyaW5nSW1wbEUKIF9fWk4zSlNDMTBJZGVudGlmaWVyMTFhZGRTbG93Q2FzZUVQ
TlNfOUV4ZWNTdGF0ZUVQTjNXVEYxMFN0cmluZ0ltcGxFCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9IYW5kbGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hh
bmRsZS5oCmluZGV4IDUzMWQ1MzU0NzJlYTEzMzViZGVkMjNkNTViMjJjZmYyOWQwNzI3MTIuLmE3
OTAwZjdkYTRiMzAwMWFhYmRmNWM1YzcyZTNlN2VmMjA3OTFhOGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hhbmRsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9oZWFwL0hhbmRsZS5oCkBAIC01MywxMSArNTMsMTEgQEAgY2xhc3MgSGFuZGxlQmFzZSB7CiAg
ICAgdGVtcGxhdGUgPHR5cGVuYW1lIEtleVR5cGUsIHR5cGVuYW1lIE1hcHBlZFR5cGUsIHR5cGVu
YW1lIEZpbmFsaXplckNhbGxiYWNrLCB0eXBlbmFtZSBIYXNoQXJnLCB0eXBlbmFtZSBLZXlUcmFp
dHNBcmc+IGZyaWVuZCBjbGFzcyBXZWFrR0NNYXA7CiAKIHB1YmxpYzoKLSAgICBib29sIG9wZXJh
dG9yISgpIGNvbnN0IHsgcmV0dXJuICFtX3Nsb3QgfHwgISptX3Nsb3Q7IH0KKyAgICBib29sIG9w
ZXJhdG9yISgpIGNvbnN0IHsgcmV0dXJuICFtX3Nsb3QgfHwgIW1fc2xvdC0+dG9KU1ZhbHVlKCk7
IH0KIAogICAgIC8vIFRoaXMgY29udmVyc2lvbiBvcGVyYXRvciBhbGxvd3MgaW1wbGljaXQgY29u
dmVyc2lvbiB0byBib29sIGJ1dCBub3QgdG8gb3RoZXIgaW50ZWdlciB0eXBlcy4KICAgICB0eXBl
ZGVmIEpTVmFsdWUgKEhhbmRsZUJhc2U6OipVbnNwZWNpZmllZEJvb2xUeXBlKTsKLSAgICBvcGVy
YXRvciBVbnNwZWNpZmllZEJvb2xUeXBlKigpIGNvbnN0IHsgcmV0dXJuIChtX3Nsb3QgJiYgKm1f
c2xvdCkgPyByZWludGVycHJldF9jYXN0PFVuc3BlY2lmaWVkQm9vbFR5cGUqPigxKSA6IDA7IH0K
KyAgICBvcGVyYXRvciBVbnNwZWNpZmllZEJvb2xUeXBlKigpIGNvbnN0IHsgcmV0dXJuIChtX3Ns
b3QgJiYgbV9zbG90LT50b0pTVmFsdWUoKSkgPyByZWludGVycHJldF9jYXN0PFVuc3BlY2lmaWVk
Qm9vbFR5cGUqPigxKSA6IDA7IH0KIAogcHJvdGVjdGVkOgogICAgIEhhbmRsZUJhc2UoSGFuZGxl
U2xvdCBzbG90KQpAQCAtNzksMTQgKzc5LDE0IEBAIHByaXZhdGU6CiAKIHRlbXBsYXRlIDx0eXBl
bmFtZSBUPiBzdHJ1Y3QgSGFuZGxlVHlwZXMgewogICAgIHR5cGVkZWYgVCogRXh0ZXJuYWxUeXBl
OwotICAgIHN0YXRpYyBFeHRlcm5hbFR5cGUgZ2V0RnJvbVNsb3QoSGFuZGxlU2xvdCBzbG90KSB7
IHJldHVybiAoc2xvdCAmJiAqc2xvdCkgPyByZWludGVycHJldF9jYXN0PEV4dGVybmFsVHlwZT4o
c2xvdC0+YXNDZWxsKCkpIDogMDsgfQorICAgIHN0YXRpYyBFeHRlcm5hbFR5cGUgZ2V0RnJvbVNs
b3QoSGFuZGxlU2xvdCBzbG90KSB7IHJldHVybiAoc2xvdCAmJiBzbG90LT50b0pTVmFsdWUoKSkg
PyByZWludGVycHJldF9jYXN0PEV4dGVybmFsVHlwZT4oc2xvdC0+dG9KU1ZhbHVlKCkuYXNDZWxs
KCkpIDogMDsgfQogICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1ZShUKiBjZWxsKSB7IHJldHVy
biByZWludGVycHJldF9jYXN0PEpTQ2VsbCo+KGNlbGwpOyB9CiAgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFU+IHN0YXRpYyB2b2lkIHZhbGlkYXRlVXBjYXN0KCkgeyBUKiB0ZW1wOyB0ZW1wID0gKFUq
KTA7IH0KIH07CiAKIHRlbXBsYXRlIDw+IHN0cnVjdCBIYW5kbGVUeXBlczxVbmtub3duPiB7CiAg
ICAgdHlwZWRlZiBKU1ZhbHVlIEV4dGVybmFsVHlwZTsKLSAgICBzdGF0aWMgRXh0ZXJuYWxUeXBl
IGdldEZyb21TbG90KEhhbmRsZVNsb3Qgc2xvdCkgeyByZXR1cm4gc2xvdCA/ICpzbG90IDogSlNW
YWx1ZSgpOyB9CisgICAgc3RhdGljIEV4dGVybmFsVHlwZSBnZXRGcm9tU2xvdChIYW5kbGVTbG90
IHNsb3QpIHsgcmV0dXJuIHNsb3QgPyBzbG90LT50b0pTVmFsdWUoKSA6IEpTVmFsdWUoKTsgfQog
ICAgIHN0YXRpYyBKU1ZhbHVlIHRvSlNWYWx1ZShjb25zdCBKU1ZhbHVlJiB2KSB7IHJldHVybiB2
OyB9CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+IHN0YXRpYyB2b2lkIHZhbGlkYXRlVXBjYXN0
KCkge30KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IYW5kbGVI
ZWFwLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hhbmRsZUhlYXAuY3BwCmluZGV4
IDliMDVkYjIyZGQ3OThjYmM1ZTlhZTE1MTk5YmUxOWU1YTZlN2ZlZjEuLjk2MjdiMjhhYThjODQ5
MDRlMTgwMGZlYjBkNjc3OTk0YjE3M2ZiMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL0hhbmRsZUhlYXAuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L0hhbmRsZUhlYXAuY3BwCkBAIC02NCw3ICs2NCw3IEBAIHZvaWQgSGFuZGxlSGVhcDo6bWFya1N0
cm9uZ0hhbmRsZXMoSGVhcFJvb3RWaXNpdG9yJiBoZWFwUm9vdE1hcmtlcikKIHsKICAgICBOb2Rl
KiBlbmQgPSBtX3N0cm9uZ0xpc3QuZW5kKCk7CiAgICAgZm9yIChOb2RlKiBub2RlID0gbV9zdHJv
bmdMaXN0LmJlZ2luKCk7IG5vZGUgIT0gZW5kOyBub2RlID0gbm9kZS0+bmV4dCgpKQotICAgICAg
ICBoZWFwUm9vdE1hcmtlci5tYXJrKG5vZGUtPnNsb3QoKSk7CisgICAgICAgIGhlYXBSb290TWFy
a2VyLm1hcmsobm9kZS0+c2xvdCgpLT50b0pTVmFsdWVSZWYoKSk7CiB9CiAKIHZvaWQgSGFuZGxl
SGVhcDo6bWFya1dlYWtIYW5kbGVzKEhlYXBSb290VmlzaXRvciYgaGVhcFJvb3RWaXNpdG9yKQpA
QCAtNzQsNyArNzQsNyBAQCB2b2lkIEhhbmRsZUhlYXA6Om1hcmtXZWFrSGFuZGxlcyhIZWFwUm9v
dFZpc2l0b3ImIGhlYXBSb290VmlzaXRvcikKICAgICBOb2RlKiBlbmQgPSBtX3dlYWtMaXN0LmVu
ZCgpOwogICAgIGZvciAoTm9kZSogbm9kZSA9IG1fd2Vha0xpc3QuYmVnaW4oKTsgbm9kZSAhPSBl
bmQ7IG5vZGUgPSBub2RlLT5uZXh0KCkpIHsKICAgICAgICAgQVNTRVJUKGlzVmFsaWRXZWFrTm9k
ZShub2RlKSk7Ci0gICAgICAgIEpTQ2VsbCogY2VsbCA9IG5vZGUtPnNsb3QoKS0+YXNDZWxsKCk7
CisgICAgICAgIEpTQ2VsbCogY2VsbCA9IG5vZGUtPnNsb3QoKS0+dG9KU1ZhbHVlKCkuYXNDZWxs
KCk7CiAgICAgICAgIGlmIChIZWFwOjppc01hcmtlZChjZWxsKSkKICAgICAgICAgICAgIGNvbnRp
bnVlOwogCkBAIC04NSw3ICs4NSw3IEBAIHZvaWQgSGFuZGxlSGVhcDo6bWFya1dlYWtIYW5kbGVz
KEhlYXBSb290VmlzaXRvciYgaGVhcFJvb3RWaXNpdG9yKQogICAgICAgICBpZiAoIXdlYWtPd25l
ci0+aXNSZWFjaGFibGVGcm9tT3BhcXVlUm9vdHMoSGFuZGxlPFVua25vd24+Ojp3cmFwU2xvdChu
b2RlLT5zbG90KCkpLCBub2RlLT53ZWFrT3duZXJDb250ZXh0KCksIHZpc2l0b3IpKQogICAgICAg
ICAgICAgY29udGludWU7CiAKLSAgICAgICAgaGVhcFJvb3RWaXNpdG9yLm1hcmsobm9kZS0+c2xv
dCgpKTsKKyAgICAgICAgaGVhcFJvb3RWaXNpdG9yLm1hcmsobm9kZS0+c2xvdCgpLT50b0pTVmFs
dWVSZWYoKSk7CiAgICAgfQogfQogCkBAIC05Niw3ICs5Niw3IEBAIHZvaWQgSGFuZGxlSGVhcDo6
ZmluYWxpemVXZWFrSGFuZGxlcygpCiAgICAgICAgIG1fbmV4dFRvRmluYWxpemUgPSBub2RlLT5u
ZXh0KCk7CiAKICAgICAgICAgQVNTRVJUKGlzVmFsaWRXZWFrTm9kZShub2RlKSk7Ci0gICAgICAg
IEpTQ2VsbCogY2VsbCA9IG5vZGUtPnNsb3QoKS0+YXNDZWxsKCk7CisgICAgICAgIEpTQ2VsbCog
Y2VsbCA9IG5vZGUtPnNsb3QoKS0+dG9KU1ZhbHVlKCkuYXNDZWxsKCk7CiAgICAgICAgIGlmIChI
ZWFwOjppc01hcmtlZChjZWxsKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCkBAIC0xMDYsNyAr
MTA2LDcgQEAgdm9pZCBIYW5kbGVIZWFwOjpmaW5hbGl6ZVdlYWtIYW5kbGVzKCkKICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCi0gICAgICAgICpub2RlLT5zbG90KCkgPSBK
U1ZhbHVlKCk7CisgICAgICAgIG5vZGUtPnNsb3QoKS0+ZnJvbUpTVmFsdWUoSlNWYWx1ZSgpKTsK
ICAgICAgICAgU2VudGluZWxMaW5rZWRMaXN0PE5vZGU+OjpyZW1vdmUobm9kZSk7CiAgICAgICAg
IG1faW1tZWRpYXRlTGlzdC5wdXNoKG5vZGUpOwogICAgIH0KQEAgLTExOCw3ICsxMTgsNyBAQCB2
b2lkIEhhbmRsZUhlYXA6OndyaXRlQmFycmllcihIYW5kbGVTbG90IHNsb3QsIGNvbnN0IEpTVmFs
dWUmIHZhbHVlKQogewogICAgIEFTU0VSVCghbV9uZXh0VG9GaW5hbGl6ZSk7IC8vIEZvcmJpZCBh
c3NpZ25tZW50IHRvIGhhbmRsZXMgZHVyaW5nIHRoZSBmaW5hbGl6YXRpb24gcGhhc2UsIHNpbmNl
IGl0IHdvdWxkIHZpb2xhdGUgbWFueSBHQyBpbnZhcmlhbnRzLgogCi0gICAgaWYgKCF2YWx1ZSA9
PSAhKnNsb3QgJiYgc2xvdC0+aXNDZWxsKCkgPT0gdmFsdWUuaXNDZWxsKCkpCisgICAgaWYgKCF2
YWx1ZSA9PSAhc2xvdC0+dG9KU1ZhbHVlKCkgJiYgc2xvdC0+dG9KU1ZhbHVlKCkuaXNDZWxsKCkg
PT0gdmFsdWUuaXNDZWxsKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIE5vZGUqIG5vZGUgPSB0
b05vZGUoc2xvdCk7CkBAIC0xNDEsNyArMTQxLDcgQEAgdW5zaWduZWQgSGFuZGxlSGVhcDo6cHJv
dGVjdGVkR2xvYmFsT2JqZWN0Q291bnQoKQogICAgIHVuc2lnbmVkIGNvdW50ID0gMDsKICAgICBO
b2RlKiBlbmQgPSBtX3N0cm9uZ0xpc3QuZW5kKCk7CiAgICAgZm9yIChOb2RlKiBub2RlID0gbV9z
dHJvbmdMaXN0LmJlZ2luKCk7IG5vZGUgIT0gZW5kOyBub2RlID0gbm9kZS0+bmV4dCgpKSB7Ci0g
ICAgICAgIEpTVmFsdWUgdmFsdWUgPSAqbm9kZS0+c2xvdCgpOworICAgICAgICBKU1ZhbHVlIHZh
bHVlID0gbm9kZS0+c2xvdCgpLT50b0pTVmFsdWUoKTsKICAgICAgICAgaWYgKHZhbHVlLmlzT2Jq
ZWN0KCkgJiYgYXNPYmplY3QodmFsdWUuYXNDZWxsKCkpLT5pc0dsb2JhbE9iamVjdCgpKQogICAg
ICAgICAgICAgY291bnQrKzsKICAgICB9CkBAIC0xNTQsNyArMTU0LDcgQEAgYm9vbCBIYW5kbGVI
ZWFwOjppc1ZhbGlkV2Vha05vZGUoTm9kZSogbm9kZSkKICAgICBpZiAoIW5vZGUtPmlzV2Vhaygp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBKU1ZhbHVlIHZhbHVlID0gKm5vZGUtPnNs
b3QoKTsKKyAgICBKU1ZhbHVlIHZhbHVlID0gbm9kZS0+c2xvdCgpLT50b0pTVmFsdWUoKTsKICAg
ICBpZiAoIXZhbHVlIHx8ICF2YWx1ZS5pc0NlbGwoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IYW5kbGVIZWFwLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IYW5kbGVIZWFwLmgKaW5kZXggNWMxNTFjMzNiNzdh
NDYxMjAxOTlkMmMxNTI2OTFmOTc0MzE5YTgxMi4uNGQzM2Q0NmE5NWZkN2JlZjNlMWYyNWE5YmE1
NDBiYjgxZmZiOGJlZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGFu
ZGxlSGVhcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hhbmRsZUhlYXAuaApA
QCAtMTczLDggKzE3Myw4IEBAIGlubGluZSBIYW5kbGVTbG90IEhhbmRsZUhlYXA6OmNvcHlXZWFr
KEhhbmRsZVNsb3Qgb3RoZXIpCiB7CiAgICAgTm9kZSogbm9kZSA9IHRvTm9kZShhbGxvY2F0ZSgp
KTsKICAgICBub2RlLT5tYWtlV2Vhayh0b05vZGUob3RoZXIpLT53ZWFrT3duZXIoKSwgdG9Ob2Rl
KG90aGVyKS0+d2Vha093bmVyQ29udGV4dCgpKTsKLSAgICB3cml0ZUJhcnJpZXIobm9kZS0+c2xv
dCgpLCAqb3RoZXIpOwotICAgICpub2RlLT5zbG90KCkgPSAqb3RoZXI7CisgICAgd3JpdGVCYXJy
aWVyKG5vZGUtPnNsb3QoKSwgb3RoZXItPnRvSlNWYWx1ZSgpKTsKKyAgICBub2RlLT5zbG90KCkt
PmZyb21KU1ZhbHVlKG90aGVyLT50b0pTVmFsdWUoKSk7CiAgICAgcmV0dXJuIHRvSGFuZGxlKG5v
ZGUpOwogfQogCkBAIC0xODQsNyArMTg0LDcgQEAgaW5saW5lIHZvaWQgSGFuZGxlSGVhcDo6bWFr
ZVdlYWsoSGFuZGxlU2xvdCBoYW5kbGUsIFdlYWtIYW5kbGVPd25lciogd2Vha093bmVyLAogICAg
IG5vZGUtPm1ha2VXZWFrKHdlYWtPd25lciwgY29udGV4dCk7CiAKICAgICBTZW50aW5lbExpbmtl
ZExpc3Q8Tm9kZT46OnJlbW92ZShub2RlKTsKLSAgICBpZiAoISpoYW5kbGUgfHwgIWhhbmRsZS0+
aXNDZWxsKCkpIHsKKyAgICBpZiAoIWhhbmRsZS0+dG9KU1ZhbHVlKCkgfHwgIWhhbmRsZS0+dG9K
U1ZhbHVlKCkuaXNDZWxsKCkpIHsKICAgICAgICAgbV9pbW1lZGlhdGVMaXN0LnB1c2gobm9kZSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0yMTUsNyArMjE1LDcgQEAgaW5saW5lIEhhbmRs
ZUhlYXA6Ok5vZGU6Ok5vZGUoV1RGOjpTZW50aW5lbFRhZykKIAogaW5saW5lIEhhbmRsZVNsb3Qg
SGFuZGxlSGVhcDo6Tm9kZTo6c2xvdCgpCiB7Ci0gICAgcmV0dXJuICZtX3ZhbHVlOworICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PEhhbmRsZVNsb3Q+KCZtX3ZhbHVlKTsKIH0KIAogaW5saW5l
IEhhbmRsZUhlYXAqIEhhbmRsZUhlYXA6Ok5vZGU6OmhhbmRsZUhlYXAoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGFuZGxlU3RhY2suY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2hlYXAvSGFuZGxlU3RhY2suY3BwCmluZGV4IGFkYTRmOTkyNzgzMTczMGNlZTU3
OTAwOTkxMzY0YjNmNzZiYTZkODkuLmZhZGIzNjhmYWE0M2VjYjA4NmRiY2E3YzUxNmEwYjQxZjJh
OTI1ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hhbmRsZVN0YWNr
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IYW5kbGVTdGFjay5jcHAKQEAg
LTQxLDIxICs0MSwyMSBAQCBIYW5kbGVTdGFjazo6SGFuZGxlU3RhY2soKQogCiB2b2lkIEhhbmRs
ZVN0YWNrOjptYXJrKEhlYXBSb290VmlzaXRvciYgaGVhcFJvb3RNYXJrZXIpCiB7Ci0gICAgY29u
c3QgVmVjdG9yPEhhbmRsZVNsb3Q+JiBibG9ja3MgPSBtX2Jsb2NrU3RhY2suYmxvY2tzKCk7Cisg
ICAgY29uc3QgVmVjdG9yPEpTVmFsdWUqPiYgYmxvY2tzID0gbV9ibG9ja1N0YWNrLmJsb2Nrcygp
OwogICAgIHNpemVfdCBibG9ja0xlbmd0aCA9IG1fYmxvY2tTdGFjay5ibG9ja0xlbmd0aDsKIAog
ICAgIGludCBlbmQgPSBibG9ja3Muc2l6ZSgpIC0gMTsKICAgICBmb3IgKGludCBpID0gMDsgaSA8
IGVuZDsgKytpKSB7Ci0gICAgICAgIEhhbmRsZVNsb3QgYmxvY2sgPSBibG9ja3NbaV07CisgICAg
ICAgIEpTVmFsdWUqIGJsb2NrID0gYmxvY2tzW2ldOwogICAgICAgICBoZWFwUm9vdE1hcmtlci5t
YXJrKGJsb2NrLCBibG9ja0xlbmd0aCk7CiAgICAgfQotICAgIEhhbmRsZVNsb3QgYmxvY2sgPSBi
bG9ja3NbZW5kXTsKKyAgICBKU1ZhbHVlKiBibG9jayA9IGJsb2Nrc1tlbmRdOwogICAgIGhlYXBS
b290TWFya2VyLm1hcmsoYmxvY2ssIG1fZnJhbWUubV9uZXh0IC0gYmxvY2spOwogfQogCiB2b2lk
IEhhbmRsZVN0YWNrOjpncm93KCkKIHsKLSAgICBIYW5kbGVTbG90IGJsb2NrID0gbV9ibG9ja1N0
YWNrLmdyb3coKTsKKyAgICBKU1ZhbHVlKiBibG9jayA9IG1fYmxvY2tTdGFjay5ncm93KCk7CiAg
ICAgbV9mcmFtZS5tX25leHQgPSBibG9jazsKICAgICBtX2ZyYW1lLm1fZW5kID0gYmxvY2sgKyBt
X2Jsb2NrU3RhY2suYmxvY2tMZW5ndGg7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9IYW5kbGVTdGFjay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGFu
ZGxlU3RhY2suaAppbmRleCAxMTU3ODRhODdiM2YzYTU4NzFkNTlmM2I0ZDQyMmZjOWQzYzAzMzFk
Li4xOTc4NWZjZjE0YzMyMTY5MTkyNmNmNWQ4NzFjOWVjZTZjMjQyMmRkIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IYW5kbGVTdGFjay5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL0hhbmRsZVN0YWNrLmgKQEAgLTQxLDggKzQxLDggQEAgY2xhc3MgSGFu
ZGxlU3RhY2sgewogcHVibGljOgogICAgIGNsYXNzIEZyYW1lIHsKICAgICBwdWJsaWM6Ci0gICAg
ICAgIEhhbmRsZVNsb3QgbV9uZXh0OwotICAgICAgICBIYW5kbGVTbG90IG1fZW5kOworICAgICAg
ICBKU1ZhbHVlKiBtX25leHQ7CisgICAgICAgIEpTVmFsdWUqIG1fZW5kOwogICAgIH07CiAKICAg
ICBIYW5kbGVTdGFjaygpOwpAQCAtODIsNyArODIsNyBAQCBpbmxpbmUgdm9pZCBIYW5kbGVTdGFj
azo6emFwVG8oRnJhbWUmIGxhc3RGcmFtZSkKICNpZmRlZiBOREVCVUcKICAgICBVTlVTRURfUEFS
QU0obGFzdEZyYW1lKTsKICNlbHNlCi0gICAgY29uc3QgVmVjdG9yPEhhbmRsZVNsb3Q+JiBibG9j
a3MgPSBtX2Jsb2NrU3RhY2suYmxvY2tzKCk7CisgICAgY29uc3QgVmVjdG9yPEpTVmFsdWUqPiYg
YmxvY2tzID0gbV9ibG9ja1N0YWNrLmJsb2NrcygpOwogICAgIAogICAgIGlmIChsYXN0RnJhbWUu
bV9lbmQgIT0gbV9mcmFtZS5tX2VuZCkgeyAvLyBaYXBwaW5nIHRvIGEgZnJhbWUgaW4gYSBkaWZm
ZXJlbnQgYmxvY2suCiAgICAgICAgIGludCBpID0gYmxvY2tzLnNpemUoKSAtIDE7CkBAIC05MSwx
MyArOTEsMTMgQEAgaW5saW5lIHZvaWQgSGFuZGxlU3RhY2s6OnphcFRvKEZyYW1lJiBsYXN0RnJh
bWUpCiAgICAgICAgICAgICAgICAgYmxvY2tzW2ldW2pdID0gSlNWYWx1ZSgpOwogICAgICAgICB9
CiAgICAgICAgIAotICAgICAgICBmb3IgKEhhbmRsZVNsb3QgaXQgPSBibG9ja3NbaV0gKyBtX2Js
b2NrU3RhY2suYmxvY2tMZW5ndGggLSAxOyBpdCAhPSBsYXN0RnJhbWUubV9uZXh0IC0gMTsgLS1p
dCkKKyAgICAgICAgZm9yIChKU1ZhbHVlKiBpdCA9IGJsb2Nrc1tpXSArIG1fYmxvY2tTdGFjay5i
bG9ja0xlbmd0aCAtIDE7IGl0ICE9IGxhc3RGcmFtZS5tX25leHQgLSAxOyAtLWl0KQogICAgICAg
ICAgICAgKml0ID0gSlNWYWx1ZSgpOwogICAgICAgICAKICAgICAgICAgcmV0dXJuOwogICAgIH0K
ICAgICAKLSAgICBmb3IgKEhhbmRsZVNsb3QgaXQgPSBtX2ZyYW1lLm1fbmV4dCAtIDE7IGl0ICE9
IGxhc3RGcmFtZS5tX25leHQgLSAxOyAtLWl0KQorICAgIGZvciAoSlNWYWx1ZSogaXQgPSBtX2Zy
YW1lLm1fbmV4dCAtIDE7IGl0ICE9IGxhc3RGcmFtZS5tX25leHQgLSAxOyAtLWl0KQogICAgICAg
ICAqaXQgPSBKU1ZhbHVlKCk7CiAjZW5kaWYKIH0KQEAgLTEyMSw3ICsxMjEsNyBAQCBpbmxpbmUg
SGFuZGxlU2xvdCBIYW5kbGVTdGFjazo6cHVzaCgpCiAgICAgQVNTRVJUKG1fc2NvcGVEZXB0aCk7
IC8vIENyZWF0aW5nIGEgTG9jYWwgb3V0c2lkZSBvZiBhIExvY2FsU2NvcGUgaXMgYSBtZW1vcnkg
bGVhay4KICAgICBpZiAobV9mcmFtZS5tX25leHQgPT0gbV9mcmFtZS5tX2VuZCkKICAgICAgICAg
Z3JvdygpOwotICAgIHJldHVybiBtX2ZyYW1lLm1fbmV4dCsrOworICAgIHJldHVybiByZWludGVy
cHJldF9jYXN0PEhhbmRsZVNsb3Q+KG1fZnJhbWUubV9uZXh0KyspOwogfQogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL0hlYXAuY3BwCmluZGV4IDYzNzViMTRkMzkyODA3MWEwN2RjYzI4ZWFkMmE4
ZTBiNjEwNjBiYmUuLmE2OTBlNjQwM2JmNjAyYmY1ZDlhZGY5ZTIxYTUyMTA1NjM3OWM3MmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCkBAIC0zNjMsNyArMzYzLDcgQEAgdm9pZCBI
YW5kbGVIZWFwOjpwcm90ZWN0ZWRPYmplY3RUeXBlQ291bnRzKFR5cGVDb3VudGVyJiB0eXBlQ291
bnRlcikKIHsKICAgICBOb2RlKiBlbmQgPSBtX3N0cm9uZ0xpc3QuZW5kKCk7CiAgICAgZm9yIChO
b2RlKiBub2RlID0gbV9zdHJvbmdMaXN0LmJlZ2luKCk7IG5vZGUgIT0gZW5kOyBub2RlID0gbm9k
ZS0+bmV4dCgpKSB7Ci0gICAgICAgIEpTVmFsdWUgdmFsdWUgPSAqbm9kZS0+c2xvdCgpOworICAg
ICAgICBKU1ZhbHVlIHZhbHVlID0gbm9kZS0+c2xvdCgpLT50b0pTVmFsdWUoKTsKICAgICAgICAg
aWYgKHZhbHVlICYmIHZhbHVlLmlzQ2VsbCgpKQogICAgICAgICAgICAgdHlwZUNvdW50ZXIodmFs
dWUuYXNDZWxsKCkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL0xvY2FsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Mb2NhbC5oCmluZGV4IGFj
N2QxMzY5NmExZDI2MWY1MTk1N2E3NjI3MTgxYmM5NzJhM2I5NTYuLmMxMTY5MjYxM2JjN2Q4ZWQx
MjE4NmNjZDEzNmU1NGQ2OGQ4ZDAxZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9oZWFwL0xvY2FsLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTG9jYWwuaApA
QCAtOTUsNyArOTUsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gaW5saW5lIHZvaWQgTG9jYWw8
VD46OnNldChFeHRlcm5hbFR5cGUgZXh0ZXJuYWxUeXBlKQogewogICAgIEFTU0VSVChzbG90KCkp
OwogICAgIEFTU0VSVCghSGFuZGxlVHlwZXM8VD46OnRvSlNWYWx1ZShleHRlcm5hbFR5cGUpIHx8
ICFIYW5kbGVUeXBlczxUPjo6dG9KU1ZhbHVlKGV4dGVybmFsVHlwZSkuaXNDZWxsKCkgfHwgSGVh
cDo6aXNNYXJrZWQoSGFuZGxlVHlwZXM8VD46OnRvSlNWYWx1ZShleHRlcm5hbFR5cGUpLmFzQ2Vs
bCgpKSk7Ci0gICAgKnNsb3QoKSA9IGV4dGVybmFsVHlwZTsKKyAgICBzbG90KCktPmZyb21KU1Zh
bHVlKGV4dGVybmFsVHlwZSk7CiB9CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvU3Ryb25nLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TdHJvbmcuaApp
bmRleCA5ZjJhYTA1ZTI1ZTBhOWE1ZjczOGNhYzgzMDdkNTZiYThhN2ViMjZhLi44YmVmYWNlYzZh
NGI4OTgyNzljZDZhNGEwMGNmMjI2Yzg2OWY1YzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9TdHJvbmcuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9T
dHJvbmcuaApAQCAtMTQwLDcgKzE0MCw3IEBAIHByaXZhdGU6CiAgICAgICAgIEFTU0VSVChzbG90
KCkpOwogICAgICAgICBKU1ZhbHVlIHZhbHVlID0gSGFuZGxlVHlwZXM8VD46OnRvSlNWYWx1ZShl
eHRlcm5hbFR5cGUpOwogICAgICAgICBIYW5kbGVIZWFwOjpoZWFwRm9yKHNsb3QoKSktPndyaXRl
QmFycmllcihzbG90KCksIHZhbHVlKTsKLSAgICAgICAgKnNsb3QoKSA9IHZhbHVlOworICAgICAg
ICBzbG90KCktPmZyb21KU1ZhbHVlKHZhbHVlKTsKICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9XZWFrLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9XZWFrLmgKaW5kZXggNjJlMjU5NjVkYzRkNTU1MDE3OWE4NWFhZTcxMGRmODZkMzY3MDVh
Ny4uZmIxNDg5MTZhOTQ3Y2FlYzUzOWQ2NWRjZWJjMGI4ZWMxNGZlMTA2OCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvV2Vhay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL1dlYWsuaApAQCAtMTMxLDcgKzEzMSw3IEBAIHByaXZhdGU6CiAgICAgICAgIEpT
VmFsdWUgdmFsdWUgPSBIYW5kbGVUeXBlczxUPjo6dG9KU1ZhbHVlKGV4dGVybmFsVHlwZSk7CiAg
ICAgICAgIEFTU0VSVCghdmFsdWUgfHwgIXZhbHVlLmlzQ2VsbCgpIHx8IEhlYXA6OmlzTWFya2Vk
KHZhbHVlLmFzQ2VsbCgpKSk7CiAgICAgICAgIEhhbmRsZUhlYXA6OmhlYXBGb3Ioc2xvdCgpKS0+
d3JpdGVCYXJyaWVyKHNsb3QoKSwgdmFsdWUpOwotICAgICAgICAqc2xvdCgpID0gdmFsdWU7Cisg
ICAgICAgIHNsb3QoKS0+ZnJvbUpTVmFsdWUodmFsdWUpOwogICAgIH0KIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVRyYW5zaXRpb25UYWJs
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRh
YmxlLmgKaW5kZXggYWRlYmFkMjg0ODBjMjRkYjM5YTUwMTVkYTZjZGFkNGFkZDA3NDdkMy4uNjU4
YThjYzUxNzAxYWIxOTM1NWEyMTU4MjRkOThlZmUzY2YyYzZkOSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmgK
QEAgLTEzOSw4ICsxMzksOCBAQCBwcml2YXRlOgogICAgIHsKICAgICAgICAgQVNTRVJUKGlzVXNp
bmdTaW5nbGVTbG90KCkpOwogICAgICAgICBpZiAoSGFuZGxlU2xvdCBzbG90ID0gdGhpcy0+c2xv
dCgpKSB7Ci0gICAgICAgICAgICBpZiAoKnNsb3QpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8U3RydWN0dXJlKj4oc2xvdC0+YXNDZWxsKCkpOworICAgICAgICAgICAg
aWYgKHNsb3QtPnRvSlNWYWx1ZSgpKQorICAgICAgICAgICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PFN0cnVjdHVyZSo+KHNsb3QtPnRvSlNWYWx1ZSgpLmFzQ2VsbCgpKTsKICAgICAgICAg
fQogICAgICAgICByZXR1cm4gMDsKICAgICB9CkBAIC0xNjIsNyArMTYyLDcgQEAgcHJpdmF0ZToK
ICAgICAgICAgICAgIG1fZGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KHNsb3QpIHwg
VXNpbmdTaW5nbGVTbG90RmxhZzsKICAgICAgICAgfQogICAgICAgICBIYW5kbGVIZWFwOjpoZWFw
Rm9yKHNsb3QpLT53cml0ZUJhcnJpZXIoc2xvdCwgcmVpbnRlcnByZXRfY2FzdDxKU0NlbGwqPihz
dHJ1Y3R1cmUpKTsKLSAgICAgICAgKnNsb3QgPSByZWludGVycHJldF9jYXN0PEpTQ2VsbCo+KHN0
cnVjdHVyZSk7CisgICAgICAgIHNsb3QtPmZyb21KU1ZhbHVlKHJlaW50ZXJwcmV0X2Nhc3Q8SlND
ZWxsKj4oc3RydWN0dXJlKSk7CiAgICAgfQogCiAgICAgaW50cHRyX3QgbV9kYXRhOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAppbmRleCA1YWQxYzYyYTNlOTcyOThk
MjQwNDdmNjQ5ODc4ZDE5NzI1OWUyMmY2Li5hYTBhNzFmYzI3ODEzN2IwNGUzY2IyODE3MDBiNjFm
NWRlNGFlMmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFr
R0NNYXAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaApA
QCAtMTI5LDcgKzEyOSw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIGl0ZXIuZmlyc3QtPnNlY29u
ZCA9IHNsb3Q7CiAgICAgICAgICAgICBIYW5kbGVIZWFwOjpoZWFwRm9yKHNsb3QpLT5tYWtlV2Vh
ayhzbG90LCB0aGlzLCBGaW5hbGl6ZXJDYWxsYmFjazo6ZmluYWxpemVyQ29udGV4dEZvcihrZXkp
KTsKICAgICAgICAgICAgIEhhbmRsZUhlYXA6OmhlYXBGb3Ioc2xvdCktPndyaXRlQmFycmllcihz
bG90LCB2YWx1ZSk7Ci0gICAgICAgICAgICAqc2xvdCA9IHZhbHVlOworICAgICAgICAgICAgc2xv
dC0+ZnJvbUpTVmFsdWUodmFsdWUpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBpdGVyOwog
ICAgIH0KQEAgLTEzOSw3ICsxMzksNyBAQCBwdWJsaWM6CiAgICAgICAgIEhhbmRsZVNsb3Qgc2xv
dCA9IGl0ZXIubV9pdGVyYXRvci0+c2Vjb25kOwogICAgICAgICBBU1NFUlQoc2xvdCk7CiAgICAg
ICAgIEhhbmRsZUhlYXA6OmhlYXBGb3Ioc2xvdCktPndyaXRlQmFycmllcihzbG90LCB2YWx1ZSk7
Ci0gICAgICAgICpzbG90ID0gdmFsdWU7CisgICAgICAgIHNsb3QtPmZyb21KU1ZhbHVlKHZhbHVl
KTsKICAgICB9CiAKICAgICB2b2lkIHNldChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIGNvbnN0
IEtleVR5cGUmIGtleSwgRXh0ZXJuYWxUeXBlIHZhbHVlKQpAQCAtMTUyLDcgKzE1Miw3IEBAIHB1
YmxpYzoKICAgICAgICAgICAgIGl0ZXIuZmlyc3QtPnNlY29uZCA9IHNsb3Q7CiAgICAgICAgIH0K
ICAgICAgICAgSGFuZGxlSGVhcDo6aGVhcEZvcihzbG90KS0+d3JpdGVCYXJyaWVyKHNsb3QsIHZh
bHVlKTsKLSAgICAgICAgKnNsb3QgPSB2YWx1ZTsKKyAgICAgICAgc2xvdC0+ZnJvbUpTVmFsdWUo
dmFsdWUpOwogICAgIH0KIAogICAgIEV4dGVybmFsVHlwZSB0YWtlKGNvbnN0IEtleVR5cGUmIGtl
eSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmll
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgKaW5kZXgg
MzJjYjk2ODQ3NTY2ZTI0NWQzZThmZmMyMzU0MmNkMDgyMjBhYzI0Yi4uMzdmNzI5NjZhZDE2MDkx
NTcxMjIyZDE1N2MxNzkzYzc0YzQ3ZWIwMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvV3JpdGVCYXJyaWVyLmgKQEAgLTQxLDcgKzQxLDEzIEBAIGlubGluZSB2b2lkIHdyaXRl
QmFycmllcihKU0dsb2JhbERhdGEmLCBjb25zdCBKU0NlbGwqLCBKU0NlbGwqKQogfQogCiB0eXBl
ZGVmIGVudW0geyB9IFVua25vd247Ci10eXBlZGVmIEpTVmFsdWUqIEhhbmRsZVNsb3Q7CitjbGFz
cyBPcGFxdWVKU1ZhbHVlIDogcHJpdmF0ZSBKU1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBKU1ZhbHVl
JiB0b0pTVmFsdWUoKSB7IHJldHVybiAqdGhpczsgfQorICAgIEpTVmFsdWUqIHRvSlNWYWx1ZVJl
ZigpIHsgcmV0dXJuIHRoaXM7IH0KKyAgICB2b2lkIGZyb21KU1ZhbHVlKGNvbnN0IEpTVmFsdWUm
IHZhbHVlKSB7ICp0aGlzID0gc3RhdGljX2Nhc3Q8Y29uc3QgT3BhcXVlSlNWYWx1ZSY+KHZhbHVl
KTsgfQorfTsKK3R5cGVkZWYgT3BhcXVlSlNWYWx1ZSogSGFuZGxlU2xvdDsKIAogdGVtcGxhdGUg
PHR5cGVuYW1lIFQ+IHN0cnVjdCBKU1ZhbHVlQ2hlY2tlciB7CiAgICAgc3RhdGljIGNvbnN0IGJv
b2wgSXNKU1ZhbHVlID0gZmFsc2U7Cg==
</data>
<flag name="review"
          id="83489"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>