<?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>112164</bug_id>
          
          <creation_ts>2013-03-12 10:21:16 -0700</creation_ts>
          <short_desc>Replace static_casts with to* functions - Part 3</short_desc>
          <delta_ts>2013-03-12 15:23:45 -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>WebKit Misc.</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="Abhishek Arya">inferno</reporter>
          <assigned_to name="Abhishek Arya">inferno</assigned_to>
          <cc>eric</cc>
    
    <cc>pdr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>853581</commentid>
    <comment_count>0</comment_count>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2013-03-12 10:21:16 -0700</bug_when>
    <thetext>Replace static_casts with to* functions - Part 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853745</commentid>
    <comment_count>1</comment_count>
      <attachid>192796</attachid>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2013-03-12 13:54:46 -0700</bug_when>
    <thetext>Created attachment 192796
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853749</commentid>
    <comment_count>2</comment_count>
      <attachid>192798</attachid>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2013-03-12 13:57:02 -0700</bug_when>
    <thetext>Created attachment 192798
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853750</commentid>
    <comment_count>3</comment_count>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2013-03-12 13:57:42 -0700</bug_when>
    <thetext>Removing cc spam</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853753</commentid>
    <comment_count>4</comment_count>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2013-03-12 14:01:44 -0700</bug_when>
    <thetext>i think i shouldn&apos;t add webkit.review.bot@gmail.com to these functional bugs. that is the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853776</commentid>
    <comment_count>5</comment_count>
      <attachid>192798</attachid>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2013-03-12 14:25:14 -0700</bug_when>
    <thetext>Comment on attachment 192798
Patch

Adding cq? since no tests crash on mac :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853783</commentid>
    <comment_count>6</comment_count>
      <attachid>192798</attachid>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2013-03-12 14:37:29 -0700</bug_when>
    <thetext>Comment on attachment 192798
Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853845</commentid>
    <comment_count>7</comment_count>
      <attachid>192798</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-12 15:23:42 -0700</bug_when>
    <thetext>Comment on attachment 192798
Patch

Clearing flags on attachment: 192798

Committed r145596: &lt;http://trac.webkit.org/changeset/145596&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853846</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-12 15:23:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192796</attachid>
            <date>2013-03-12 13:54:46 -0700</date>
            <delta_ts>2013-03-12 13:56:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112164-20130312135045.patch</filename>
            <type>text/plain</type>
            <size>22894</size>
            <attacher name="Abhishek Arya">inferno</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDhjMTMyMTU3MjA0OGYy
ZDRlMWJiNzgwZDNlMzA0NzU0N2M1M2FjNy4uODY4NmYyM2U5ZTYwNjA2M2UxOTkxOWQxNmU4OWU0
YzBhYjlhZDI1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDEzLTAzLTEyICBBYmhp
c2hlayBBcnlhICA8aW5mZXJub0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVwbGFjZSBzdGF0
aWNfY2FzdHMgd2l0aCB0byogaGVscGVyIGZ1bmN0aW9ucy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjE2NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHRvKiBoZWxwZXIgZnVuY3Rpb25zIGFyZSBwcmVm
ZXJyZWQgb3ZlciBzdGF0aWNfY2FzdCBjYWxscyBzaW5jZSB0aGV5CisgICAgICAgIGhlbHAgdG8g
Y2F0Y2ggYmFkIGNhc3RzIGVhc2lseSBvbiB0aGUgdGVzdGluZyBpbmZyYXN0cnVjdHVyZS4KKwor
ICAgICAgICAqIGNzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpFbGVtZW50UnVsZUNvbGxlY3Rvcjo6Y29sbGVjdE1hdGNoaW5nUnVsZXNGb3JSZWdpb24pOgor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmdldFVSTEZvckltYWdlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjp3
cml0ZUltYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Z2V0TWVkaWFFbGVtZW50RnJvbVJlbmRlck9iamVjdCk6CisgICAg
ICAgICogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdE1vYmlsZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUaGVtZVF0TW9iaWxlOjpjaGVja011bHRpcGxlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0UmVzdWx0
Ojp0aXRsZSk6CisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0UmVzdWx0OjphYnNvbHV0ZUltYWdl
VVJMKToKKyAgICAgICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OmFic29sdXRlUERGVVJMKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXI6OnJlc2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6aGl0
VGVzdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0Ojp2YWx1ZUNoYW5nZWQpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojph
ZGRQREZVUkxSZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUGFydC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJQYXJ0OjpyZXF1aXJlc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUmVnaW9uOjpjaGVja1JlZ2lvblN0eWxlKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGFibGVDZWxsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlQ2VsbDo6
Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUaGVtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6aXNFbmFibGVkKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjppc1NwaW5VcEJ1dHRvblBhcnRQcmVzc2Vk
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjppc0hvdmVyZWQpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWU6OmlzU3BpblVwQnV0dG9uUGFydEhvdmVyZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50U2xpZGVyVGlja3MpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUaGVtZVdpbkNFLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1lZGlhRWxl
bWVudFBhcmVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6aXNFbXB0eU9yVW5zdHlsZWRBcHBsZVN0eWxlU3Bhbik6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQXNUZXh0Ojp3cml0ZVJlbmRlck9iamVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjp3cml0ZVJlbmRlclJlZ2lvbkxpc3QpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZVNW
R1Jlc291cmNlQ29udGFpbmVyKToKKwogMjAxMy0wMy0xMiAgVmlhdGNoZXNsYXYgT3N0YXBlbmtv
ICA8c2wub3N0YXBlbmtvQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFdlYmtpdCB1bmFibGUgdG8g
c2hvdyBnaWZzIHdpdGggYXBwbGNhdGlvbiBleHRlbnNpb24gc3RyaW5nIHNob3J0ZXIgdGhhbiAx
MSBieXRlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDczNTNiMTg3OWQ0ZWNlNTljMGNmNjVjOGU2ZGNl
YWIyMGJkNTYyMDQuLmEwMmZkZmMxNTM4NTU0NGYwYmFkYmUxM2NmYzIwYmM5Mzk1OGI0MmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMy0wMy0xMiAgQWJoaXNoZWsgQXJ5
YSAgPGluZmVybm9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlcGxhY2Ugc3RhdGljX2Nhc3Rz
IHdpdGggdG8qIGhlbHBlciBmdW5jdGlvbnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIxNjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICB0byogaGVscGVyIGZ1bmN0aW9ucyBhcmUgcHJlZmVycmVkIG92
ZXIgc3RhdGljX2Nhc3QgY2FsbHMgc2luY2UgdGhleQorICAgICAgICBoZWxwIHRvIGNhdGNoIGJh
ZCBjYXN0cyBlYXNpbHkgb24gdGhlIHRlc3RpbmcgaW5mcmFzdHJ1Y3R1cmUuCisKKyAgICAgICAg
KiBDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZy5jcHA6CisgICAgICAgIChDRkRpY3Rpb25hcnlQcm9w
ZXJ0eUJhZzo6V3JpdGUpOgorICAgICAgICAqIERPTUhUTUxDbGFzc2VzLmNwcDoKKyAgICAgICAg
KERPTUhUTUxFbGVtZW50OjppZE5hbWUpOgorICAgICAgICAoRE9NSFRNTEVsZW1lbnQ6OmlubmVy
VGV4dCk6CisgICAgICAgIChET01IVE1MRWxlbWVudDo6c2V0SW5uZXJUZXh0KToKKwogMjAxMy0w
My0xMSAgSm9jaGVuIEVpc2luZ2VyICA8am9jaGVuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZW5hbWUgRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZSB0byBEZWZpbml0ZWx5UHJvY2Vz
c2luZ05ld1VzZXJHZXN0dXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRWxlbWVu
dFJ1bGVDb2xsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0VsZW1lbnRSdWxlQ29sbGVj
dG9yLmNwcAppbmRleCA2NGZiM2QxOGM2MzFlZTljNzhhYjI0YzJhMDA5NDE4NWY2OGRlN2Q1Li42
ZmYyMDYyMzgxNDhiYzUzZTE3YmVmMWM0YWMxMTFhMzJlNzk1OGIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvRWxlbWVudFJ1bGVDb2xsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKQEAgLTE5MSw3ICsxOTEsNyBAQCB2b2lk
IEVsZW1lbnRSdWxlQ29sbGVjdG9yOjpjb2xsZWN0TWF0Y2hpbmdSdWxlc0ZvclJlZ2lvbihjb25z
dCBNYXRjaFJlcXVlc3QmIG1hdAogICAgIHVuc2lnbmVkIHNpemUgPSBtYXRjaFJlcXVlc3QucnVs
ZVNldC0+bV9yZWdpb25TZWxlY3RvcnNBbmRSdWxlU2V0cy5zaXplKCk7CiAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IHNpemU7ICsraSkgewogICAgICAgICBjb25zdCBDU1NTZWxlY3Rvciog
cmVnaW9uU2VsZWN0b3IgPSBtYXRjaFJlcXVlc3QucnVsZVNldC0+bV9yZWdpb25TZWxlY3RvcnNB
bmRSdWxlU2V0cy5hdChpKS5zZWxlY3RvcjsKLSAgICAgICAgaWYgKGNoZWNrUmVnaW9uU2VsZWN0
b3IocmVnaW9uU2VsZWN0b3IsIHN0YXRpY19jYXN0PEVsZW1lbnQqPihtX3JlZ2lvbkZvclN0eWxp
bmctPm5vZGUoKSkpKSB7CisgICAgICAgIGlmIChjaGVja1JlZ2lvblNlbGVjdG9yKHJlZ2lvblNl
bGVjdG9yLCB0b0VsZW1lbnQobV9yZWdpb25Gb3JTdHlsaW5nLT5ub2RlKCkpKSkgewogICAgICAg
ICAgICAgUnVsZVNldCogcmVnaW9uUnVsZXMgPSBtYXRjaFJlcXVlc3QucnVsZVNldC0+bV9yZWdp
b25TZWxlY3RvcnNBbmRSdWxlU2V0cy5hdChpKS5ydWxlU2V0LmdldCgpOwogICAgICAgICAgICAg
QVNTRVJUKHJlZ2lvblJ1bGVzKTsKICAgICAgICAgICAgIGNvbGxlY3RNYXRjaGluZ1J1bGVzKE1h
dGNoUmVxdWVzdChyZWdpb25SdWxlcywgbWF0Y2hSZXF1ZXN0LmluY2x1ZGVFbXB0eVJ1bGVzLCBt
YXRjaFJlcXVlc3Quc2NvcGUpLCBydWxlUmFuZ2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwCmluZGV4IGQ2ZDg2N2U5MTdhY2E3MDdkNGVhOGIzN2Y3
N2MxZjAxNmEyNWJjMzMuLmVmMzk0YzQ5NzA1M2M5ODhkYjExZTk3MWU2NWRjYTc2MDIzMmQ5MWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEd0ay5jcHAKQEAg
LTEwMCwxMyArMTAwLDEzIEBAIHN0YXRpYyBLVVJMIGdldFVSTEZvckltYWdlTm9kZShOb2RlKiBu
b2RlKQogICAgIC8vIEZJWE1FOiBMYXRlciB0aGlzIGNvZGUgc2hvdWxkIGJlIHNoYXJlZCB3aXRo
IENocm9taXVtIHNvbWVob3cuIENoYW5jZXMgYXJlIGFsbCBwbGF0Zm9ybXMgd2FudCBpdC4KICAg
ICBBdG9taWNTdHJpbmcgdXJsU3RyaW5nOwogICAgIGlmIChub2RlLT5oYXNUYWdOYW1lKEhUTUxO
YW1lczo6aW1nVGFnKSB8fCBub2RlLT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6aW5wdXRUYWcpKQot
ICAgICAgICB1cmxTdHJpbmcgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obm9kZSktPmdldEF0dHJp
YnV0ZShIVE1MTmFtZXM6OnNyY0F0dHIpOworICAgICAgICB1cmxTdHJpbmcgPSB0b0VsZW1lbnQo
bm9kZSktPmdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OnNyY0F0dHIpOwogI2lmIEVOQUJMRShTVkcp
CiAgICAgZWxzZSBpZiAobm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6aW1hZ2VUYWcpKQotICAg
ICAgICB1cmxTdHJpbmcgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obm9kZSktPmdldEF0dHJpYnV0
ZShYTGlua05hbWVzOjpocmVmQXR0cik7CisgICAgICAgIHVybFN0cmluZyA9IHRvRWxlbWVudChu
b2RlKS0+Z2V0QXR0cmlidXRlKFhMaW5rTmFtZXM6OmhyZWZBdHRyKTsKICNlbmRpZgogICAgIGVs
c2UgaWYgKG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjplbWJlZFRhZykgfHwgbm9kZS0+aGFz
VGFnTmFtZShIVE1MTmFtZXM6Om9iamVjdFRhZykpIHsKLSAgICAgICAgRWxlbWVudCogZWxlbWVu
dCA9IHN0YXRpY19jYXN0PEVsZW1lbnQqPihub2RlKTsKKyAgICAgICAgRWxlbWVudCogZWxlbWVu
dCA9IHRvRWxlbWVudChub2RlKTsKICAgICAgICAgdXJsU3RyaW5nID0gZWxlbWVudC0+Z2V0QXR0
cmlidXRlKGVsZW1lbnQtPmltYWdlU291cmNlQXR0cmlidXRlTmFtZSgpKTsKICAgICB9CiAgICAg
cmV0dXJuIHVybFN0cmluZy5pc0VtcHR5KCkgPyBLVVJMKCkgOiBub2RlLT5kb2N1bWVudCgpLT5j
b21wbGV0ZVVSTChzdHJpcExlYWRpbmdBbmRUcmFpbGluZ0hUTUxTcGFjZXModXJsU3RyaW5nKSk7
CkBAIC0xMzQsNyArMTM0LDcgQEAgdm9pZCBQYXN0ZWJvYXJkOjp3cml0ZUltYWdlKE5vZGUqIG5v
ZGUsIGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIHRpdGxlKQogICAgIGlmICghdXJsLmlzRW1w
dHkoKSkgewogICAgICAgICBkYXRhT2JqZWN0LT5zZXRVUkwodXJsLCB0aXRsZSk7CiAKLSAgICAg
ICAgZGF0YU9iamVjdC0+c2V0TWFya3VwKGNyZWF0ZU1hcmt1cChzdGF0aWNfY2FzdDxFbGVtZW50
Kj4obm9kZSksIEluY2x1ZGVOb2RlLCAwLCBSZXNvbHZlQWxsVVJMcykpOworICAgICAgICBkYXRh
T2JqZWN0LT5zZXRNYXJrdXAoY3JlYXRlTWFya3VwKHRvRWxlbWVudChub2RlKSwgSW5jbHVkZU5v
ZGUsIDAsIFJlc29sdmVBbGxVUkxzKSk7CiAgICAgfQogCiAgICAgR1JlZlB0cjxHZGtQaXhidWY+
IHBpeGJ1ZiA9IGFkb3B0R1JlZihpbWFnZS0+Z2V0R2RrUGl4YnVmKCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5jcHAKaW5kZXggYTJmMjcyN2VhZTJj
MWFlZWMzN2RhOGFhOWIwYjllMDRjNjlmOThlZC4uZGViMmY1ZjcxODY4ZDQwOTFiNWNjOWM1NzUz
ZjZiOTMzYjdkNzIxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Jl
bmRlclRoZW1lR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVy
VGhlbWVHdGsuY3BwCkBAIC03MSw3ICs3MSw3IEBAIHN0YXRpYyBIVE1MTWVkaWFFbGVtZW50KiBn
ZXRNZWRpYUVsZW1lbnRGcm9tUmVuZGVyT2JqZWN0KFJlbmRlck9iamVjdCogbykKICAgICBOb2Rl
KiBtZWRpYU5vZGUgPSBub2RlID8gbm9kZS0+c2hhZG93SG9zdCgpIDogMDsKICAgICBpZiAoIW1l
ZGlhTm9kZSkKICAgICAgICAgbWVkaWFOb2RlID0gbm9kZTsKLSAgICBpZiAoIW1lZGlhTm9kZSB8
fCAhbWVkaWFOb2RlLT5pc0VsZW1lbnROb2RlKCkgfHwgIXN0YXRpY19jYXN0PEVsZW1lbnQqPiht
ZWRpYU5vZGUpLT5pc01lZGlhRWxlbWVudCgpKQorICAgIGlmICghbWVkaWFOb2RlIHx8ICFtZWRp
YU5vZGUtPmlzRWxlbWVudE5vZGUoKSB8fCAhdG9FbGVtZW50KG1lZGlhTm9kZSktPmlzTWVkaWFF
bGVtZW50KCkpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEhU
TUxNZWRpYUVsZW1lbnQqPihtZWRpYU5vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdE1vYmlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9xdC9SZW5kZXJUaGVtZVF0TW9iaWxlLmNwcAppbmRleCA3MDJlZGE0Y2QwOWM3NjM4MzNm
Y2U4YjYwZThkZTJmNDU4MmRmZTNlLi45NjY3YmMzMjZiYzJlZDEyYjU1YWY4ZDI0ZGU0OTk4M2Fl
YzE3OTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVt
ZVF0TW9iaWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVt
ZVF0TW9iaWxlLmNwcApAQCAtOTAxLDcgKzkwMSw3IEBAIGJvb2wgUmVuZGVyVGhlbWVRdE1vYmls
ZTo6cGFpbnRTbGlkZXJUaHVtYihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5mbyYgcGks
CiAKIGJvb2wgUmVuZGVyVGhlbWVRdE1vYmlsZTo6Y2hlY2tNdWx0aXBsZShSZW5kZXJPYmplY3Qq
IG8pIGNvbnN0CiB7Ci0gICAgSFRNTFNlbGVjdEVsZW1lbnQqIHNlbGVjdCA9IG8gPyBzdGF0aWNf
Y2FzdDxIVE1MU2VsZWN0RWxlbWVudCo+KG8tPm5vZGUoKSkgOiAwOworICAgIEhUTUxTZWxlY3RF
bGVtZW50KiBzZWxlY3QgPSBvID8gdG9IVE1MU2VsZWN0RWxlbWVudChvLT5ub2RlKCkpIDogMDsK
ICAgICByZXR1cm4gc2VsZWN0ID8gc2VsZWN0LT5tdWx0aXBsZSgpIDogZmFsc2U7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAppbmRleCBhOTIyOGYwMDc3
ZjM0MGY4NmQ0M2Q5MmQ0YmQxNDUxNDc3NjZiNDgzLi4yM2RhMzFjNjAzN2IwMjQzNGEyY2QyYzJl
ZTczZDhiZDdmMjA5ZDE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0
VGVzdFJlc3VsdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1
bHQuY3BwCkBAIC0yMTgsNyArMjE4LDcgQEAgU3RyaW5nIEhpdFRlc3RSZXN1bHQ6OnRpdGxlKFRl
eHREaXJlY3Rpb24mIGRpcikgY29uc3QKICAgICAvLyBGb3IgPGFyZWE+IHRhZ3MgaW4gaW1hZ2Ug
bWFwcywgd2FsayB0aGUgdHJlZSBmb3IgdGhlIDxhcmVhPiwgbm90IHRoZSA8aW1nPiB1c2luZyBp
dC4KICAgICBmb3IgKE5vZGUqIHRpdGxlTm9kZSA9IG1faW5uZXJOb2RlLmdldCgpOyB0aXRsZU5v
ZGU7IHRpdGxlTm9kZSA9IHRpdGxlTm9kZS0+cGFyZW50Tm9kZSgpKSB7CiAgICAgICAgIGlmICh0
aXRsZU5vZGUtPmlzRWxlbWVudE5vZGUoKSkgewotICAgICAgICAgICAgU3RyaW5nIHRpdGxlID0g
c3RhdGljX2Nhc3Q8RWxlbWVudCo+KHRpdGxlTm9kZSktPnRpdGxlKCk7CisgICAgICAgICAgICBT
dHJpbmcgdGl0bGUgPSB0b0VsZW1lbnQodGl0bGVOb2RlKS0+dGl0bGUoKTsKICAgICAgICAgICAg
IGlmICghdGl0bGUuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgaWYgKFJlbmRlck9iamVj
dCogcmVuZGVyZXIgPSB0aXRsZU5vZGUtPnJlbmRlcmVyKCkpCiAgICAgICAgICAgICAgICAgICAg
IGRpciA9IHJlbmRlcmVyLT5zdHlsZSgpLT5kaXJlY3Rpb24oKTsKQEAgLTMxOSw3ICszMTksNyBA
QCBLVVJMIEhpdFRlc3RSZXN1bHQ6OmFic29sdXRlSW1hZ2VVUkwoKSBjb25zdAogICAgICAgICB8
fCBtX2lubmVyTm9uU2hhcmVkTm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6aW1hZ2VUYWcpCiAj
ZW5kaWYKICAgICAgICApIHsKLSAgICAgICAgRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0
PEVsZW1lbnQqPihtX2lubmVyTm9uU2hhcmVkTm9kZS5nZXQoKSk7CisgICAgICAgIEVsZW1lbnQq
IGVsZW1lbnQgPSB0b0VsZW1lbnQobV9pbm5lck5vblNoYXJlZE5vZGUuZ2V0KCkpOwogICAgICAg
ICB1cmxTdHJpbmcgPSBlbGVtZW50LT5nZXRBdHRyaWJ1dGUoZWxlbWVudC0+aW1hZ2VTb3VyY2VB
dHRyaWJ1dGVOYW1lKCkpOwogICAgIH0gZWxzZQogICAgICAgICByZXR1cm4gS1VSTCgpOwpAQCAt
MzM1LDcgKzMzNSw3IEBAIEtVUkwgSGl0VGVzdFJlc3VsdDo6YWJzb2x1dGVQREZVUkwoKSBjb25z
dAogICAgIGlmICghbV9pbm5lck5vblNoYXJlZE5vZGUtPmhhc1RhZ05hbWUoZW1iZWRUYWcpICYm
ICFtX2lubmVyTm9uU2hhcmVkTm9kZS0+aGFzVGFnTmFtZShvYmplY3RUYWcpKQogICAgICAgICBy
ZXR1cm4gS1VSTCgpOwogCi0gICAgSFRNTFBsdWdJbkltYWdlRWxlbWVudCogZWxlbWVudCA9IHN0
YXRpY19jYXN0PEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQqPihtX2lubmVyTm9uU2hhcmVkTm9kZS5n
ZXQoKSk7CisgICAgSFRNTFBsdWdJbkltYWdlRWxlbWVudCogZWxlbWVudCA9IHRvSFRNTFBsdWdJ
bkltYWdlRWxlbWVudChtX2lubmVyTm9uU2hhcmVkTm9kZS5nZXQoKSk7CiAgICAgS1VSTCB1cmwg
PSBtX2lubmVyTm9uU2hhcmVkTm9kZS0+ZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwoc3RyaXBMZWFk
aW5nQW5kVHJhaWxpbmdIVE1MU3BhY2VzKGVsZW1lbnQtPnVybCgpKSk7CiAgICAgaWYgKCF1cmwu
aXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gS1VSTCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAKaW5kZXggOTg0NWYyNzIwMzE4YWE3ZTYxYWYxZjA2NGYyYjU5NDZl
OThjOTU1Yy4uNmMwZmUyMmFkNzFlNDE2NWNmZWI0MjI1ZTVjODI4NTBiZThlMTE5MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0yNDQ3LDcgKzI0NDcsNyBA
QCB2b2lkIFJlbmRlckxheWVyOjpyZXNpemUoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldnQs
IGNvbnN0IExheW91dFNpemUmIG9sZE9mZgogICAgICAgICByZXR1cm47CiAKICAgICBBU1NFUlQo
cmVuZGVyZXIoKS0+bm9kZSgpLT5pc0VsZW1lbnROb2RlKCkpOwotICAgIEVsZW1lbnQqIGVsZW1l
bnQgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4ocmVuZGVyZXIoKS0+bm9kZSgpKTsKKyAgICBFbGVt
ZW50KiBlbGVtZW50ID0gdG9FbGVtZW50KHJlbmRlcmVyKCktPm5vZGUoKSk7CiAgICAgUmVuZGVy
Qm94KiByZW5kZXJlciA9IHRvUmVuZGVyQm94KGVsZW1lbnQtPnJlbmRlcmVyKCkpOwogCiAgICAg
RG9jdW1lbnQqIGRvY3VtZW50ID0gZWxlbWVudC0+ZG9jdW1lbnQoKTsKQEAgLTQzMzMsNyArNDMz
Myw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmhpdFRlc3QoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJl
cXVlc3QsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYKICAgICAvLyBOb3cgZGV0ZXJtaW5lIGlmIHRo
ZSByZXN1bHQgaXMgaW5zaWRlIGFuIGFuY2hvciAtIGlmIHRoZSB1cmxFbGVtZW50IGlzbid0IGFs
cmVhZHkgc2V0LgogICAgIE5vZGUqIG5vZGUgPSByZXN1bHQuaW5uZXJOb2RlKCk7CiAgICAgaWYg
KG5vZGUgJiYgIXJlc3VsdC5VUkxFbGVtZW50KCkpCi0gICAgICAgIHJlc3VsdC5zZXRVUkxFbGVt
ZW50KHN0YXRpY19jYXN0PEVsZW1lbnQqPihub2RlLT5lbmNsb3NpbmdMaW5rRXZlbnRQYXJlbnRP
clNlbGYoKSkpOworICAgICAgICByZXN1bHQuc2V0VVJMRWxlbWVudCh0b0VsZW1lbnQobm9kZS0+
ZW5jbG9zaW5nTGlua0V2ZW50UGFyZW50T3JTZWxmKCkpKTsKIAogICAgIC8vIE5vdyByZXR1cm4g
d2hldGhlciB3ZSB3ZXJlIGluc2lkZSB0aGlzIGxheWVyICh0aGlzIHdpbGwgYWx3YXlzIGJlIHRy
dWUgZm9yIHRoZSByb290CiAgICAgLy8gbGF5ZXIpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNZW51TGlzdC5jcHAKaW5kZXggY2ZmZTlkNTFhMWEwNGEzMjJmZDUxNzk5MWFlNDgy
YTY4MzIxMTMwMC4uNTQ4Y2U4NTAwY2U1ZTM0ZjdhOWU2ODFiMjRhNTM1N2ZkMmY3ZmI4YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCkBAIC0zNDEsNyAr
MzQxLDcgQEAgdm9pZCBSZW5kZXJNZW51TGlzdDo6dmFsdWVDaGFuZ2VkKHVuc2lnbmVkIGxpc3RJ
bmRleCwgYm9vbCBmaXJlT25DaGFuZ2UpCiB7CiAgICAgLy8gQ2hlY2sgdG8gZW5zdXJlIGEgcGFn
ZSBuYXZpZ2F0aW9uIGhhcyBub3Qgb2NjdXJyZWQgd2hpbGUKICAgICAvLyB0aGUgcG9wdXAgd2Fz
IHVwLgotICAgIERvY3VtZW50KiBkb2MgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obm9kZSgpKS0+
ZG9jdW1lbnQoKTsKKyAgICBEb2N1bWVudCogZG9jID0gdG9FbGVtZW50KG5vZGUoKSktPmRvY3Vt
ZW50KCk7CiAgICAgaWYgKCFkb2MgfHwgZG9jICE9IGRvYy0+ZnJhbWUoKS0+ZG9jdW1lbnQoKSkK
ICAgICAgICAgcmV0dXJuOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmNwcAppbmRleCA3MDZkMWVjZTA3NDMwMDRlNjhmNGI5ZDIyYWM3YmIzYzkzODc0NjYwLi5i
MzlkNThkMDE4YTQ0MmVmYWFmYjE4ZmViYmQ3NmEwMWRiZWE4NDEwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMTExMSw3ICsxMTExLDcgQEAgdm9pZCBS
ZW5kZXJPYmplY3Q6OmFkZFBERlVSTFJlY3QoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25z
dCBMYXlvdXRSZWN0JiByZWMKICAgICBOb2RlKiBuID0gbm9kZSgpOwogICAgIGlmICghbiB8fCAh
bi0+aXNMaW5rKCkgfHwgIW4tPmlzRWxlbWVudE5vZGUoKSkKICAgICAgICAgcmV0dXJuOwotICAg
IGNvbnN0IEF0b21pY1N0cmluZyYgaHJlZiA9IHN0YXRpY19jYXN0PEVsZW1lbnQqPihuKS0+Z2V0
QXR0cmlidXRlKGhyZWZBdHRyKTsKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGhyZWYgPSB0b0Vs
ZW1lbnQobiktPmdldEF0dHJpYnV0ZShocmVmQXR0cik7CiAgICAgaWYgKGhyZWYuaXNOdWxsKCkp
CiAgICAgICAgIHJldHVybjsKICAgICBjb250ZXh0LT5zZXRVUkxGb3JSZWN0KG4tPmRvY3VtZW50
KCktPmNvbXBsZXRlVVJMKGhyZWYpLCBwaXhlbFNuYXBwZWRJbnRSZWN0KHJlY3QpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXJ0LmNwcAppbmRleCBhODc1MWU4M2Y5MTFiNDhiYjIz
ZjhhMTFmYjlmNDFjMTMxMmY1NTAzLi40ZmE3YWQxY2IzOTUxZjNjYzYzODk4MjdkZGI2Y2ExNTRi
YTg2NWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGFydC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnQuY3BwCkBAIC04Niw3
ICs4Niw3IEBAIGJvb2wgUmVuZGVyUGFydDo6cmVxdWlyZXNBY2NlbGVyYXRlZENvbXBvc2l0aW5n
KCkgY29uc3QKICAgICBpZiAoIW5vZGUoKSB8fCAhbm9kZSgpLT5pc0ZyYW1lT3duZXJFbGVtZW50
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEhUTUxGcmFtZU93bmVyRWxlbWVudCog
ZWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxGcmFtZU93bmVyRWxlbWVudCo+KG5vZGUoKSk7Cisg
ICAgSFRNTEZyYW1lT3duZXJFbGVtZW50KiBlbGVtZW50ID0gdG9GcmFtZU93bmVyRWxlbWVudChu
b2RlKCkpOwogICAgIGlmIChEb2N1bWVudCogY29udGVudERvY3VtZW50ID0gZWxlbWVudC0+Y29u
dGVudERvY3VtZW50KCkpIHsKICAgICAgICAgaWYgKFJlbmRlclZpZXcqIHZpZXcgPSBjb250ZW50
RG9jdW1lbnQtPnJlbmRlclZpZXcoKSkKICAgICAgICAgICAgIHJldHVybiB2aWV3LT51c2VzQ29t
cG9zaXRpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJS
ZWdpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHAKaW5k
ZXggNmMwMWYyMjM5OGEzMzdlNTBiOTM3NmIxNzJjYWMxYTg4ZjBkZTQ1Ny4uZWI0NjVkYzg4YWQ1
Mzk4NTM1Y2VlYzE5NmY1YWE5MzkyMzUzNThhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclJlZ2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclJlZ2lvbi5jcHAKQEAgLTE4OSw3ICsxODksNyBAQCB2b2lkIFJlbmRlclJlZ2lvbjo6
Y2hlY2tSZWdpb25TdHlsZSgpCiAKICAgICAvLyBGSVhNRTogUmVnaW9uIHN0eWxpbmcgZG9lc24n
dCB3b3JrIGZvciBwc2V1ZG8gZWxlbWVudHMuCiAgICAgaWYgKG5vZGUoKSkgewotICAgICAgICBF
bGVtZW50KiByZWdpb25FbGVtZW50ID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG5vZGUoKSk7Cisg
ICAgICAgIEVsZW1lbnQqIHJlZ2lvbkVsZW1lbnQgPSB0b0VsZW1lbnQobm9kZSgpKTsKICAgICAg
ICAgY3VzdG9tUmVnaW9uU3R5bGUgPSB2aWV3KCktPmRvY3VtZW50KCktPnN0eWxlUmVzb2x2ZXIo
KS0+Y2hlY2tSZWdpb25TdHlsZShyZWdpb25FbGVtZW50KTsKICAgICB9CiAgICAgc2V0SGFzQ3Vz
dG9tUmVnaW9uU3R5bGUoY3VzdG9tUmVnaW9uU3R5bGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcAppbmRleCBlYzdmMGIxMzIyODFlMWUyZGYxZTNhNmY3
MTg5OTU5Mzk4YWI4NWM1Li4zZWY5MjQ1MjZiYTEzMTdiMDgwZWUyN2U4NTdjYmRlM2U3NTY2ZDE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcApAQCAt
MTY4LDcgKzE2OCw3IEBAIHZvaWQgUmVuZGVyVGFibGVDZWxsOjpjb21wdXRlUHJlZmVycmVkTG9n
aWNhbFdpZHRocygpCiAgICAgaWYgKG5vZGUoKSAmJiBzdHlsZSgpLT5hdXRvV3JhcCgpKSB7CiAg
ICAgICAgIC8vIFNlZSBpZiBub3dyYXAgd2FzIHNldC4KICAgICAgICAgTGVuZ3RoIHcgPSBzdHls
ZU9yQ29sTG9naWNhbFdpZHRoKCk7Ci0gICAgICAgIFN0cmluZyBub3dyYXAgPSBzdGF0aWNfY2Fz
dDxFbGVtZW50Kj4obm9kZSgpKS0+Z2V0QXR0cmlidXRlKG5vd3JhcEF0dHIpOworICAgICAgICBT
dHJpbmcgbm93cmFwID0gdG9FbGVtZW50KG5vZGUoKSktPmdldEF0dHJpYnV0ZShub3dyYXBBdHRy
KTsKICAgICAgICAgaWYgKCFub3dyYXAuaXNOdWxsKCkgJiYgdy5pc0ZpeGVkKCkpCiAgICAgICAg
ICAgICAvLyBOb3dyYXAgaXMgc2V0LCBidXQgd2UgZGlkbid0IGFjdHVhbGx5IHVzZSBpdCBiZWNh
dXNlIG9mIHRoZQogICAgICAgICAgICAgLy8gZml4ZWQgd2lkdGggc2V0IG9uIHRoZSBjZWxsLiAg
RXZlbiBzbywgaXQgaXMgYSBXaW5JRS9Nb3ogdHJhaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWUuY3BwCmluZGV4IDE4MWI3M2MxMjNjMDdjNmYxMDUyNTkzODc4ZDM1ZjgzZjhl
NWViZjkuLjk1ZjY5ZTVhMGVlM2RlMTFkNGQ5YWIwM2Y0OGQ4Yjk1MDJmZDY4OTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcApAQCAtNzg4LDcgKzc4OCw3IEBAIGJv
b2wgUmVuZGVyVGhlbWU6OmlzRW5hYmxlZChjb25zdCBSZW5kZXJPYmplY3QqIG8pIGNvbnN0CiAg
ICAgTm9kZSogbm9kZSA9IG8tPm5vZGUoKTsKICAgICBpZiAoIW5vZGUgfHwgIW5vZGUtPmlzRWxl
bWVudE5vZGUoKSkKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0
PEVsZW1lbnQqPihub2RlKS0+aXNFbmFibGVkRm9ybUNvbnRyb2woKTsKKyAgICByZXR1cm4gdG9F
bGVtZW50KG5vZGUpLT5pc0VuYWJsZWRGb3JtQ29udHJvbCgpOwogfQogCiBib29sIFJlbmRlclRo
ZW1lOjppc0ZvY3VzZWQoY29uc3QgUmVuZGVyT2JqZWN0KiBvKSBjb25zdApAQCAtODE0LDcgKzgx
NCw3IEBAIGJvb2wgUmVuZGVyVGhlbWU6OmlzU3BpblVwQnV0dG9uUGFydFByZXNzZWQoY29uc3Qg
UmVuZGVyT2JqZWN0KiBvKSBjb25zdAogewogICAgIE5vZGUqIG5vZGUgPSBvLT5ub2RlKCk7CiAg
ICAgaWYgKCFub2RlIHx8ICFub2RlLT5hY3RpdmUoKSB8fCAhbm9kZS0+aXNFbGVtZW50Tm9kZSgp
Ci0gICAgICAgIHx8ICFzdGF0aWNfY2FzdDxFbGVtZW50Kj4obm9kZSktPmlzU3BpbkJ1dHRvbkVs
ZW1lbnQoKSkKKyAgICAgICAgfHwgIXRvRWxlbWVudChub2RlKS0+aXNTcGluQnV0dG9uRWxlbWVu
dCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgU3BpbkJ1dHRvbkVsZW1lbnQqIGVsZW1l
bnQgPSBzdGF0aWNfY2FzdDxTcGluQnV0dG9uRWxlbWVudCo+KG5vZGUpOwogICAgIHJldHVybiBl
bGVtZW50LT51cERvd25TdGF0ZSgpID09IFNwaW5CdXR0b25FbGVtZW50OjpVcDsKQEAgLTgzMyw3
ICs4MzMsNyBAQCBib29sIFJlbmRlclRoZW1lOjppc0hvdmVyZWQoY29uc3QgUmVuZGVyT2JqZWN0
KiBvKSBjb25zdAogICAgIE5vZGUqIG5vZGUgPSBvLT5ub2RlKCk7CiAgICAgaWYgKCFub2RlKQog
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCFub2RlLT5pc0VsZW1lbnROb2RlKCkgfHwg
IXN0YXRpY19jYXN0PEVsZW1lbnQqPihub2RlKS0+aXNTcGluQnV0dG9uRWxlbWVudCgpKQorICAg
IGlmICghbm9kZS0+aXNFbGVtZW50Tm9kZSgpIHx8ICF0b0VsZW1lbnQobm9kZSktPmlzU3BpbkJ1
dHRvbkVsZW1lbnQoKSkKICAgICAgICAgcmV0dXJuIG5vZGUtPmhvdmVyZWQoKTsKICAgICBTcGlu
QnV0dG9uRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PFNwaW5CdXR0b25FbGVtZW50Kj4o
bm9kZSk7CiAgICAgcmV0dXJuIGVsZW1lbnQtPmhvdmVyZWQoKSAmJiBlbGVtZW50LT51cERvd25T
dGF0ZSgpICE9IFNwaW5CdXR0b25FbGVtZW50OjpJbmRldGVybWluYXRlOwpAQCAtODQyLDcgKzg0
Miw3IEBAIGJvb2wgUmVuZGVyVGhlbWU6OmlzSG92ZXJlZChjb25zdCBSZW5kZXJPYmplY3QqIG8p
IGNvbnN0CiBib29sIFJlbmRlclRoZW1lOjppc1NwaW5VcEJ1dHRvblBhcnRIb3ZlcmVkKGNvbnN0
IFJlbmRlck9iamVjdCogbykgY29uc3QKIHsKICAgICBOb2RlKiBub2RlID0gby0+bm9kZSgpOwot
ICAgIGlmICghbm9kZSB8fCAhbm9kZS0+aXNFbGVtZW50Tm9kZSgpIHx8ICFzdGF0aWNfY2FzdDxF
bGVtZW50Kj4obm9kZSktPmlzU3BpbkJ1dHRvbkVsZW1lbnQoKSkKKyAgICBpZiAoIW5vZGUgfHwg
IW5vZGUtPmlzRWxlbWVudE5vZGUoKSB8fCAhdG9FbGVtZW50KG5vZGUpLT5pc1NwaW5CdXR0b25F
bGVtZW50KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBTcGluQnV0dG9uRWxlbWVudCog
ZWxlbWVudCA9IHN0YXRpY19jYXN0PFNwaW5CdXR0b25FbGVtZW50Kj4obm9kZSk7CiAgICAgcmV0
dXJuIGVsZW1lbnQtPnVwRG93blN0YXRlKCkgPT0gU3BpbkJ1dHRvbkVsZW1lbnQ6OlVwOwpAQCAt
MTAzMiw3ICsxMDMyLDcgQEAgdm9pZCBSZW5kZXJUaGVtZTo6cGFpbnRTbGlkZXJUaWNrcyhSZW5k
ZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLAogICAgIHBhaW50SW5mby5j
b250ZXh0LT5zZXRGaWxsQ29sb3Ioby0+c3R5bGUoKS0+dmlzaXRlZERlcGVuZGVudENvbG9yKENT
U1Byb3BlcnR5Q29sb3IpLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBOb2RlKiBub2RlID0gb3B0aW9ucy0+aXRlbShpKTsgaSsrKSB7CiAgICAgICAgIEFT
U0VSVChub2RlLT5oYXNUYWdOYW1lKG9wdGlvblRhZykpOwotICAgICAgICBIVE1MT3B0aW9uRWxl
bWVudCogb3B0aW9uRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxPcHRpb25FbGVtZW50Kj4obm9k
ZSk7CisgICAgICAgIEhUTUxPcHRpb25FbGVtZW50KiBvcHRpb25FbGVtZW50ID0gdG9IVE1MT3B0
aW9uRWxlbWVudChub2RlKTsKICAgICAgICAgU3RyaW5nIHZhbHVlID0gb3B0aW9uRWxlbWVudC0+
dmFsdWUoKTsKICAgICAgICAgaWYgKCFpbnB1dC0+aXNWYWxpZFZhbHVlKHZhbHVlKSkKICAgICAg
ICAgICAgIGNvbnRpbnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lV2luQ0UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
V2luQ0UuY3BwCmluZGV4IDk1MGRmMzFmNDQ0NWUyOTYxNGMyOGQ4YWQ3MzlmODM2ZWM0NGM5YTAu
LjA5MGIxNWE2NDRkMDcwOWM0MzY5ZWRiNDRlZWFiOTVkMjQxZThiZjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbkNFLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW5DRS5jcHAKQEAgLTQ4Miw3ICs0ODIsNyBA
QCBzdGF0aWMgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50UGFyZW50KE5vZGUqIG5vZGUp
CiAgICAgTm9kZSogbWVkaWFOb2RlID0gbm9kZS0+c2hhZG93SG9zdCgpOwogICAgIGlmICghbWVk
aWFOb2RlKQogICAgICAgICBtZWRpYU5vZGUgPSBub2RlOwotICAgIGlmICghbWVkaWFOb2RlIHx8
ICFtZWRpYU5vZGUtPmlzRWxlbWVudE5vZGUoKSB8fCAhc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG1l
ZGlhTm9kZSktPmlzTWVkaWFFbGVtZW50KCkpCisgICAgaWYgKCFtZWRpYU5vZGUgfHwgIW1lZGlh
Tm9kZS0+aXNFbGVtZW50Tm9kZSgpIHx8ICF0b0VsZW1lbnQobWVkaWFOb2RlKS0+aXNNZWRpYUVs
ZW1lbnQoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRN
TE1lZGlhRWxlbWVudCo+KG1lZGlhTm9kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVHJlZUFzVGV4dC5jcHAKaW5kZXggYTNiNGFmMjkzMDM2Njg5NTg5NWY3YWY2YTJjODFm
MDBkMDY2YTVhYS4uMTE5MWY2MTYxZWUzMzNhZjY3MDY2ZTg5YTQ2MDgzNmQ3MjJmZDJkOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcApAQCAtMTY4
LDcgKzE2OCw3IEBAIHN0YXRpYyBib29sIGlzRW1wdHlPclVuc3R5bGVkQXBwbGVTdHlsZVNwYW4o
Y29uc3QgTm9kZSogbm9kZSkKICAgICBpZiAoIW5vZGUgfHwgIW5vZGUtPmlzSFRNTEVsZW1lbnQo
KSB8fCAhbm9kZS0+aGFzVGFnTmFtZShzcGFuVGFnKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgY29uc3QgSFRNTEVsZW1lbnQqIGVsZW0gPSBzdGF0aWNfY2FzdDxjb25zdCBIVE1MRWxl
bWVudCo+KG5vZGUpOworICAgIGNvbnN0IEhUTUxFbGVtZW50KiBlbGVtID0gdG9IVE1MRWxlbWVu
dChub2RlKTsKICAgICBpZiAoZWxlbS0+Z2V0QXR0cmlidXRlKGNsYXNzQXR0cikgIT0gIkFwcGxl
LXN0eWxlLXNwYW4iKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTQzMCw3ICs0MzAsNyBA
QCB2b2lkIFJlbmRlclRyZWVBc1RleHQ6OndyaXRlUmVuZGVyT2JqZWN0KFRleHRTdHJlYW0mIHRz
LCBjb25zdCBSZW5kZXJPYmplY3QmIG8sCiAgICAgaWYgKGJlaGF2aW9yICYgUmVuZGVyQXNUZXh0
U2hvd0lEQW5kQ2xhc3MpIHsKICAgICAgICAgaWYgKE5vZGUqIG5vZGUgPSBvLm5vZGUoKSkgewog
ICAgICAgICAgICAgaWYgKG5vZGUtPmhhc0lEKCkpCi0gICAgICAgICAgICAgICAgdHMgPDwgIiBp
ZD1cIiIgKyBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obm9kZSktPmdldElkQXR0cmlidXRlKCkgKyAi
XCIiOworICAgICAgICAgICAgICAgIHRzIDw8ICIgaWQ9XCIiICsgdG9FbGVtZW50KG5vZGUpLT5n
ZXRJZEF0dHJpYnV0ZSgpICsgIlwiIjsKIAogICAgICAgICAgICAgaWYgKG5vZGUtPmhhc0NsYXNz
KCkpIHsKICAgICAgICAgICAgICAgICB0cyA8PCAiIGNsYXNzPVwiIjsKQEAgLTY2OSw3ICs2Njks
NyBAQCBzdGF0aWMgdm9pZCB3cml0ZVJlbmRlclJlZ2lvbkxpc3QoY29uc3QgUmVuZGVyUmVnaW9u
TGlzdCYgZmxvd1RocmVhZFJlZ2lvbkxpc3QsCiAgICAgICAgICAgICBpZiAoIXRhZ05hbWUuaXNF
bXB0eSgpKQogICAgICAgICAgICAgICAgIHRzIDw8ICIgeyIgPDwgdGFnTmFtZSA8PCAifSI7CiAg
ICAgICAgICAgICBpZiAocmVuZGVyUmVnaW9uLT5nZW5lcmF0aW5nTm9kZSgpLT5pc0VsZW1lbnRO
b2RlKCkgJiYgcmVuZGVyUmVnaW9uLT5nZW5lcmF0aW5nTm9kZSgpLT5oYXNJRCgpKSB7Ci0gICAg
ICAgICAgICAgICAgRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PEVsZW1lbnQqPihyZW5k
ZXJSZWdpb24tPmdlbmVyYXRpbmdOb2RlKCkpOworICAgICAgICAgICAgICAgIEVsZW1lbnQqIGVs
ZW1lbnQgPSB0b0VsZW1lbnQocmVuZGVyUmVnaW9uLT5nZW5lcmF0aW5nTm9kZSgpKTsKICAgICAg
ICAgICAgICAgICB0cyA8PCAiICMiIDw8IGVsZW1lbnQtPmlkRm9yU3R5bGVSZXNvbHV0aW9uKCk7
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAocmVuZGVyUmVnaW9uLT5oYXNDdXN0b21S
ZWdpb25TdHlsZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdSZW5kZXJUcmVlQXNUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
UmVuZGVyVHJlZUFzVGV4dC5jcHAKaW5kZXggYTkzYWZkMDFlZDkxOWE2ZTk3ZDY2MjU0NWFiNjVj
YmU1ZWU4NDgyNC4uOTZjODQwM2ViYTRhY2I1Yzc0ZmZkNjc0Mjc1MWEzNmZhOGQzMTdhMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRyZWVBc1Rl
eHQuY3BwCkBAIC00OTMsNyArNDkzLDcgQEAgdm9pZCB3cml0ZVNWR1Jlc291cmNlQ29udGFpbmVy
KFRleHRTdHJlYW0mIHRzLCBjb25zdCBSZW5kZXJPYmplY3QmIG9iamVjdCwgaW50IGkKIHsKICAg
ICB3cml0ZVN0YW5kYXJkUHJlZml4KHRzLCBvYmplY3QsIGluZGVudCk7CiAKLSAgICBFbGVtZW50
KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG9iamVjdC5ub2RlKCkpOworICAgIEVs
ZW1lbnQqIGVsZW1lbnQgPSB0b0VsZW1lbnQob2JqZWN0Lm5vZGUoKSk7CiAgICAgY29uc3QgQXRv
bWljU3RyaW5nJiBpZCA9IGVsZW1lbnQtPmdldElkQXR0cmlidXRlKCk7CiAgICAgd3JpdGVOYW1l
QW5kUXVvdGVkVmFsdWUodHMsICJpZCIsIGlkKTsgICAgCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd2luL0NGRGljdGlvbmFyeVByb3BlcnR5QmFnLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2lu
L0NGRGljdGlvbmFyeVByb3BlcnR5QmFnLmNwcAppbmRleCBmNGZiNWIzYTg5ZTEzODFiODA1M2Fl
MWEwODI0NDU0MGJjOTUyOTgwLi4wYmM1NWRhYTJlOGNhMDY3YTE2MDcwY2IzNDZhODBhMWRiMmQ4
MjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DRkRpY3Rpb25hcnlQcm9wZXJ0eUJh
Zy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWcuY3Bw
CkBAIC0xOTAsNCArMTkwLDQgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBDRkRpY3Rpb25h
cnlQcm9wZXJ0eUJhZzo6V3JpdGUoTFBDT0xFU1RSIHBzelByb3BOYW1lLAogICAgICAgICByZXR1
cm4gU19PSzsKICAgICB9CiAgICAgcmV0dXJuIEVfRkFJTDsKLX0KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9ET01IVE1MQ2xhc3Nl
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9ET01IVE1MQ2xhc3Nlcy5jcHAKaW5kZXggZDU4ZmM2
OTEwMjRkMDE5MTllOTM0NWEzNmQ5NGU2ZTAxNDZkOWNmMi4uNTUwMDAyNTc5Y2ViOTkyYzdlM2M3
NDM3NTRlZGRkOTc0NWI4YThiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vRE9NSFRN
TENsYXNzZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0RPTUhUTUxDbGFzc2VzLmNwcApA
QCAtMzk2LDcgKzM5Niw3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgRE9NSFRNTEVsZW1l
bnQ6OmlkTmFtZSgKICAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKIAogICAgIEFTU0VSVChtX2Vs
ZW1lbnQgJiYgbV9lbGVtZW50LT5pc0hUTUxFbGVtZW50KCkpOwotICAgIFN0cmluZyBpZFN0cmlu
ZyA9IHN0YXRpY19jYXN0PEhUTUxFbGVtZW50Kj4obV9lbGVtZW50KS0+Z2V0QXR0cmlidXRlKGlk
QXR0cik7CisgICAgU3RyaW5nIGlkU3RyaW5nID0gdG9IVE1MRWxlbWVudChtX2VsZW1lbnQpLT5n
ZXRBdHRyaWJ1dGUoaWRBdHRyKTsKICAgICAqcmVzdWx0ID0gQlN0cmluZyhpZFN0cmluZykucmVs
ZWFzZSgpOwogICAgIHJldHVybiBTX09LOwogfQpAQCAtNDgyLDcgKzQ4Miw3IEBAIEhSRVNVTFQg
U1RETUVUSE9EQ0FMTFRZUEUgRE9NSFRNTEVsZW1lbnQ6OmlubmVyVGV4dCgKICAgICAgICAgLyog
W3JldHZhbF1bb3V0XSAqLyBCU1RSKiByZXN1bHQpCiB7CiAgICAgQVNTRVJUKG1fZWxlbWVudCAm
JiBtX2VsZW1lbnQtPmlzSFRNTEVsZW1lbnQoKSk7Ci0gICAgV1RGOjpTdHJpbmcgaW5uZXJUZXh0
U3RyaW5nID0gc3RhdGljX2Nhc3Q8SFRNTEVsZW1lbnQqPihtX2VsZW1lbnQpLT5pbm5lclRleHQo
KTsKKyAgICBXVEY6OlN0cmluZyBpbm5lclRleHRTdHJpbmcgPSB0b0hUTUxFbGVtZW50KG1fZWxl
bWVudCktPmlubmVyVGV4dCgpOwogICAgICpyZXN1bHQgPSBCU3RyaW5nKGlubmVyVGV4dFN0cmlu
Zy5jaGFyYWN0ZXJzKCksIGlubmVyVGV4dFN0cmluZy5sZW5ndGgoKSkucmVsZWFzZSgpOwogICAg
IHJldHVybiBTX09LOwogfQpAQCAtNDkxLDcgKzQ5MSw3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgRE9NSFRNTEVsZW1lbnQ6OnNldElubmVyVGV4dCgKICAgICAgICAgLyogW2luXSAqLyBC
U1RSIHRleHQpCiB7CiAgICAgQVNTRVJUKG1fZWxlbWVudCAmJiBtX2VsZW1lbnQtPmlzSFRNTEVs
ZW1lbnQoKSk7Ci0gICAgSFRNTEVsZW1lbnQqIGh0bWxFbGUgPSBzdGF0aWNfY2FzdDxIVE1MRWxl
bWVudCo+KG1fZWxlbWVudCk7CisgICAgSFRNTEVsZW1lbnQqIGh0bWxFbGUgPSB0b0hUTUxFbGVt
ZW50KG1fZWxlbWVudCk7CiAgICAgV1RGOjpTdHJpbmcgdGV4dFN0cmluZyh0ZXh0LCBTeXNTdHJp
bmdMZW4odGV4dCkpOwogICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIGh0
bWxFbGUtPnNldElubmVyVGV4dCh0ZXh0U3RyaW5nLCBlYyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192798</attachid>
            <date>2013-03-12 13:57:02 -0700</date>
            <delta_ts>2013-03-12 15:23:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112164-20130312135300.patch</filename>
            <type>text/plain</type>
            <size>22321</size>
            <attacher name="Abhishek Arya">inferno</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDhjMTMyMTU3MjA0OGYy
ZDRlMWJiNzgwZDNlMzA0NzU0N2M1M2FjNy4uODY4NmYyM2U5ZTYwNjA2M2UxOTkxOWQxNmU4OWU0
YzBhYjlhZDI1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDEzLTAzLTEyICBBYmhp
c2hlayBBcnlhICA8aW5mZXJub0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVwbGFjZSBzdGF0
aWNfY2FzdHMgd2l0aCB0byogaGVscGVyIGZ1bmN0aW9ucy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjE2NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHRvKiBoZWxwZXIgZnVuY3Rpb25zIGFyZSBwcmVm
ZXJyZWQgb3ZlciBzdGF0aWNfY2FzdCBjYWxscyBzaW5jZSB0aGV5CisgICAgICAgIGhlbHAgdG8g
Y2F0Y2ggYmFkIGNhc3RzIGVhc2lseSBvbiB0aGUgdGVzdGluZyBpbmZyYXN0cnVjdHVyZS4KKwor
ICAgICAgICAqIGNzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpFbGVtZW50UnVsZUNvbGxlY3Rvcjo6Y29sbGVjdE1hdGNoaW5nUnVsZXNGb3JSZWdpb24pOgor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmdldFVSTEZvckltYWdlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjp3
cml0ZUltYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Z2V0TWVkaWFFbGVtZW50RnJvbVJlbmRlck9iamVjdCk6CisgICAg
ICAgICogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdE1vYmlsZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUaGVtZVF0TW9iaWxlOjpjaGVja011bHRpcGxlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0UmVzdWx0
Ojp0aXRsZSk6CisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0UmVzdWx0OjphYnNvbHV0ZUltYWdl
VVJMKToKKyAgICAgICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OmFic29sdXRlUERGVVJMKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXI6OnJlc2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6aGl0
VGVzdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0Ojp2YWx1ZUNoYW5nZWQpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojph
ZGRQREZVUkxSZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUGFydC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJQYXJ0OjpyZXF1aXJlc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUmVnaW9uOjpjaGVja1JlZ2lvblN0eWxlKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGFibGVDZWxsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlQ2VsbDo6
Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUaGVtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6aXNFbmFibGVkKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjppc1NwaW5VcEJ1dHRvblBhcnRQcmVzc2Vk
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjppc0hvdmVyZWQpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWU6OmlzU3BpblVwQnV0dG9uUGFydEhvdmVyZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50U2xpZGVyVGlja3MpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUaGVtZVdpbkNFLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1lZGlhRWxl
bWVudFBhcmVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6aXNFbXB0eU9yVW5zdHlsZWRBcHBsZVN0eWxlU3Bhbik6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQXNUZXh0Ojp3cml0ZVJlbmRlck9iamVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjp3cml0ZVJlbmRlclJlZ2lvbkxpc3QpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZVNW
R1Jlc291cmNlQ29udGFpbmVyKToKKwogMjAxMy0wMy0xMiAgVmlhdGNoZXNsYXYgT3N0YXBlbmtv
ICA8c2wub3N0YXBlbmtvQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFdlYmtpdCB1bmFibGUgdG8g
c2hvdyBnaWZzIHdpdGggYXBwbGNhdGlvbiBleHRlbnNpb24gc3RyaW5nIHNob3J0ZXIgdGhhbiAx
MSBieXRlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDczNTNiMTg3OWQ0ZWNlNTljMGNmNjVjOGU2ZGNl
YWIyMGJkNTYyMDQuLjI2NGE0MTBiODUzODBmNmZkNmFmY2NlNjM0MWJkN2EzZjA5MTE5MTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0wMy0xMiAgQWJoaXNoZWsgQXJ5
YSAgPGluZmVybm9AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlcGxhY2Ugc3RhdGljX2Nhc3Rz
IHdpdGggdG8qIGhlbHBlciBmdW5jdGlvbnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIxNjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICB0byogaGVscGVyIGZ1bmN0aW9ucyBhcmUgcHJlZmVycmVkIG92
ZXIgc3RhdGljX2Nhc3QgY2FsbHMgc2luY2UgdGhleQorICAgICAgICBoZWxwIHRvIGNhdGNoIGJh
ZCBjYXN0cyBlYXNpbHkgb24gdGhlIHRlc3RpbmcgaW5mcmFzdHJ1Y3R1cmUuCisKKyAgICAgICAg
KiBET01IVE1MQ2xhc3Nlcy5jcHA6CisgICAgICAgIChET01IVE1MRWxlbWVudDo6aWROYW1lKToK
KyAgICAgICAgKERPTUhUTUxFbGVtZW50Ojppbm5lclRleHQpOgorICAgICAgICAoRE9NSFRNTEVs
ZW1lbnQ6OnNldElubmVyVGV4dCk6CisKIDIwMTMtMDMtMTEgIEpvY2hlbiBFaXNpbmdlciAgPGpv
Y2hlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVuYW1lIERlZmluaXRlbHlQcm9jZXNzaW5n
VXNlckdlc3R1cmUgdG8gRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0VsZW1lbnRSdWxlQ29sbGVjdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9FbGVtZW50UnVsZUNvbGxlY3Rvci5jcHAKaW5kZXggNjRmYjNkMThjNjMx
ZWU5Yzc4YWIyNGMyYTAwOTQxODVmNjhkZTdkNS4uNmZmMjA2MjM4MTQ4YmM1M2UxN2JlZjFjNGFj
MTExYTMyZTc5NThiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0VsZW1lbnRSdWxl
Q29sbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRWxlbWVudFJ1bGVDb2xsZWN0
b3IuY3BwCkBAIC0xOTEsNyArMTkxLDcgQEAgdm9pZCBFbGVtZW50UnVsZUNvbGxlY3Rvcjo6Y29s
bGVjdE1hdGNoaW5nUnVsZXNGb3JSZWdpb24oY29uc3QgTWF0Y2hSZXF1ZXN0JiBtYXQKICAgICB1
bnNpZ25lZCBzaXplID0gbWF0Y2hSZXF1ZXN0LnJ1bGVTZXQtPm1fcmVnaW9uU2VsZWN0b3JzQW5k
UnVsZVNldHMuc2l6ZSgpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzaXplOyArK2kp
IHsKICAgICAgICAgY29uc3QgQ1NTU2VsZWN0b3IqIHJlZ2lvblNlbGVjdG9yID0gbWF0Y2hSZXF1
ZXN0LnJ1bGVTZXQtPm1fcmVnaW9uU2VsZWN0b3JzQW5kUnVsZVNldHMuYXQoaSkuc2VsZWN0b3I7
Ci0gICAgICAgIGlmIChjaGVja1JlZ2lvblNlbGVjdG9yKHJlZ2lvblNlbGVjdG9yLCBzdGF0aWNf
Y2FzdDxFbGVtZW50Kj4obV9yZWdpb25Gb3JTdHlsaW5nLT5ub2RlKCkpKSkgeworICAgICAgICBp
ZiAoY2hlY2tSZWdpb25TZWxlY3RvcihyZWdpb25TZWxlY3RvciwgdG9FbGVtZW50KG1fcmVnaW9u
Rm9yU3R5bGluZy0+bm9kZSgpKSkpIHsKICAgICAgICAgICAgIFJ1bGVTZXQqIHJlZ2lvblJ1bGVz
ID0gbWF0Y2hSZXF1ZXN0LnJ1bGVTZXQtPm1fcmVnaW9uU2VsZWN0b3JzQW5kUnVsZVNldHMuYXQo
aSkucnVsZVNldC5nZXQoKTsKICAgICAgICAgICAgIEFTU0VSVChyZWdpb25SdWxlcyk7CiAgICAg
ICAgICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlcyhNYXRjaFJlcXVlc3QocmVnaW9uUnVsZXMsIG1h
dGNoUmVxdWVzdC5pbmNsdWRlRW1wdHlSdWxlcywgbWF0Y2hSZXF1ZXN0LnNjb3BlKSwgcnVsZVJh
bmdlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJk
R3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcApp
bmRleCBkNmQ4NjdlOTE3YWNhNzA3ZDRlYThiMzdmNzdjMWYwMTZhMjViYzMzLi5lZjM5NGM0OTcw
NTNjOTg4ZGIxMWU5NzFlNjVkY2E3NjAyMzJkOTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwCkBAIC0xMDAsMTMgKzEwMCwxMyBAQCBzdGF0aWMg
S1VSTCBnZXRVUkxGb3JJbWFnZU5vZGUoTm9kZSogbm9kZSkKICAgICAvLyBGSVhNRTogTGF0ZXIg
dGhpcyBjb2RlIHNob3VsZCBiZSBzaGFyZWQgd2l0aCBDaHJvbWl1bSBzb21laG93LiBDaGFuY2Vz
IGFyZSBhbGwgcGxhdGZvcm1zIHdhbnQgaXQuCiAgICAgQXRvbWljU3RyaW5nIHVybFN0cmluZzsK
ICAgICBpZiAobm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OmltZ1RhZykgfHwgbm9kZS0+aGFz
VGFnTmFtZShIVE1MTmFtZXM6OmlucHV0VGFnKSkKLSAgICAgICAgdXJsU3RyaW5nID0gc3RhdGlj
X2Nhc3Q8RWxlbWVudCo+KG5vZGUpLT5nZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjpzcmNBdHRyKTsK
KyAgICAgICAgdXJsU3RyaW5nID0gdG9FbGVtZW50KG5vZGUpLT5nZXRBdHRyaWJ1dGUoSFRNTE5h
bWVzOjpzcmNBdHRyKTsKICNpZiBFTkFCTEUoU1ZHKQogICAgIGVsc2UgaWYgKG5vZGUtPmhhc1Rh
Z05hbWUoU1ZHTmFtZXM6OmltYWdlVGFnKSkKLSAgICAgICAgdXJsU3RyaW5nID0gc3RhdGljX2Nh
c3Q8RWxlbWVudCo+KG5vZGUpLT5nZXRBdHRyaWJ1dGUoWExpbmtOYW1lczo6aHJlZkF0dHIpOwor
ICAgICAgICB1cmxTdHJpbmcgPSB0b0VsZW1lbnQobm9kZSktPmdldEF0dHJpYnV0ZShYTGlua05h
bWVzOjpocmVmQXR0cik7CiAjZW5kaWYKICAgICBlbHNlIGlmIChub2RlLT5oYXNUYWdOYW1lKEhU
TUxOYW1lczo6ZW1iZWRUYWcpIHx8IG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjpvYmplY3RU
YWcpKSB7Ci0gICAgICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4o
bm9kZSk7CisgICAgICAgIEVsZW1lbnQqIGVsZW1lbnQgPSB0b0VsZW1lbnQobm9kZSk7CiAgICAg
ICAgIHVybFN0cmluZyA9IGVsZW1lbnQtPmdldEF0dHJpYnV0ZShlbGVtZW50LT5pbWFnZVNvdXJj
ZUF0dHJpYnV0ZU5hbWUoKSk7CiAgICAgfQogICAgIHJldHVybiB1cmxTdHJpbmcuaXNFbXB0eSgp
ID8gS1VSTCgpIDogbm9kZS0+ZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwoc3RyaXBMZWFkaW5nQW5k
VHJhaWxpbmdIVE1MU3BhY2VzKHVybFN0cmluZykpOwpAQCAtMTM0LDcgKzEzNCw3IEBAIHZvaWQg
UGFzdGVib2FyZDo6d3JpdGVJbWFnZShOb2RlKiBub2RlLCBjb25zdCBLVVJMJiwgY29uc3QgU3Ry
aW5nJiB0aXRsZSkKICAgICBpZiAoIXVybC5pc0VtcHR5KCkpIHsKICAgICAgICAgZGF0YU9iamVj
dC0+c2V0VVJMKHVybCwgdGl0bGUpOwogCi0gICAgICAgIGRhdGFPYmplY3QtPnNldE1hcmt1cChj
cmVhdGVNYXJrdXAoc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG5vZGUpLCBJbmNsdWRlTm9kZSwgMCwg
UmVzb2x2ZUFsbFVSTHMpKTsKKyAgICAgICAgZGF0YU9iamVjdC0+c2V0TWFya3VwKGNyZWF0ZU1h
cmt1cCh0b0VsZW1lbnQobm9kZSksIEluY2x1ZGVOb2RlLCAwLCBSZXNvbHZlQWxsVVJMcykpOwog
ICAgIH0KIAogICAgIEdSZWZQdHI8R2RrUGl4YnVmPiBwaXhidWYgPSBhZG9wdEdSZWYoaW1hZ2Ut
PmdldEdka1BpeGJ1ZigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0
ay9SZW5kZXJUaGVtZUd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVy
VGhlbWVHdGsuY3BwCmluZGV4IGEyZjI3MjdlYWUyYzFhZWVjMzdkYThhYTliMGI5ZTA0YzY5Zjk4
ZWQuLmRlYjJmNWY3MTg2OGQ0MDkxYjVjYzljNTc1M2Y2YjkzM2I3ZDcyMTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmNwcApAQCAtNzEsNyArNzEs
NyBAQCBzdGF0aWMgSFRNTE1lZGlhRWxlbWVudCogZ2V0TWVkaWFFbGVtZW50RnJvbVJlbmRlck9i
amVjdChSZW5kZXJPYmplY3QqIG8pCiAgICAgTm9kZSogbWVkaWFOb2RlID0gbm9kZSA/IG5vZGUt
PnNoYWRvd0hvc3QoKSA6IDA7CiAgICAgaWYgKCFtZWRpYU5vZGUpCiAgICAgICAgIG1lZGlhTm9k
ZSA9IG5vZGU7Ci0gICAgaWYgKCFtZWRpYU5vZGUgfHwgIW1lZGlhTm9kZS0+aXNFbGVtZW50Tm9k
ZSgpIHx8ICFzdGF0aWNfY2FzdDxFbGVtZW50Kj4obWVkaWFOb2RlKS0+aXNNZWRpYUVsZW1lbnQo
KSkKKyAgICBpZiAoIW1lZGlhTm9kZSB8fCAhbWVkaWFOb2RlLT5pc0VsZW1lbnROb2RlKCkgfHwg
IXRvRWxlbWVudChtZWRpYU5vZGUpLT5pc01lZGlhRWxlbWVudCgpKQogICAgICAgICByZXR1cm4g
MDsKIAogICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MTWVkaWFFbGVtZW50Kj4obWVkaWFOb2Rl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXRN
b2JpbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdE1vYmls
ZS5jcHAKaW5kZXggNzAyZWRhNGNkMDljNzYzODMzZmNlOGI2MGU4ZGUyZjQ1ODJkZmUzZS4uOTY2
N2JjMzI2YmMyZWQxMmI1NWFmOGQyNGRlNDk5ODNhZWMxNzkyOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdE1vYmlsZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdE1vYmlsZS5jcHAKQEAgLTkwMSw3ICs5
MDEsNyBAQCBib29sIFJlbmRlclRoZW1lUXRNb2JpbGU6OnBhaW50U2xpZGVyVGh1bWIoUmVuZGVy
T2JqZWN0KiBvLCBjb25zdCBQYWludEluZm8mIHBpLAogCiBib29sIFJlbmRlclRoZW1lUXRNb2Jp
bGU6OmNoZWNrTXVsdGlwbGUoUmVuZGVyT2JqZWN0KiBvKSBjb25zdAogewotICAgIEhUTUxTZWxl
Y3RFbGVtZW50KiBzZWxlY3QgPSBvID8gc3RhdGljX2Nhc3Q8SFRNTFNlbGVjdEVsZW1lbnQqPihv
LT5ub2RlKCkpIDogMDsKKyAgICBIVE1MU2VsZWN0RWxlbWVudCogc2VsZWN0ID0gbyA/IHRvSFRN
TFNlbGVjdEVsZW1lbnQoby0+bm9kZSgpKSA6IDA7CiAgICAgcmV0dXJuIHNlbGVjdCA/IHNlbGVj
dC0+bXVsdGlwbGUoKSA6IGZhbHNlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0
VGVzdFJlc3VsdC5jcHAKaW5kZXggYTkyMjhmMDA3N2YzNDBmODZkNDNkOTJkNGJkMTQ1MTQ3NzY2
YjQ4My4uMjNkYTMxYzYwMzdiMDI0MzRhMmNkMmMyZWU3M2Q4YmQ3ZjIwOWQxNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcApAQCAtMjE4LDcgKzIxOCw3IEBA
IFN0cmluZyBIaXRUZXN0UmVzdWx0Ojp0aXRsZShUZXh0RGlyZWN0aW9uJiBkaXIpIGNvbnN0CiAg
ICAgLy8gRm9yIDxhcmVhPiB0YWdzIGluIGltYWdlIG1hcHMsIHdhbGsgdGhlIHRyZWUgZm9yIHRo
ZSA8YXJlYT4sIG5vdCB0aGUgPGltZz4gdXNpbmcgaXQuCiAgICAgZm9yIChOb2RlKiB0aXRsZU5v
ZGUgPSBtX2lubmVyTm9kZS5nZXQoKTsgdGl0bGVOb2RlOyB0aXRsZU5vZGUgPSB0aXRsZU5vZGUt
PnBhcmVudE5vZGUoKSkgewogICAgICAgICBpZiAodGl0bGVOb2RlLT5pc0VsZW1lbnROb2RlKCkp
IHsKLSAgICAgICAgICAgIFN0cmluZyB0aXRsZSA9IHN0YXRpY19jYXN0PEVsZW1lbnQqPih0aXRs
ZU5vZGUpLT50aXRsZSgpOworICAgICAgICAgICAgU3RyaW5nIHRpdGxlID0gdG9FbGVtZW50KHRp
dGxlTm9kZSktPnRpdGxlKCk7CiAgICAgICAgICAgICBpZiAoIXRpdGxlLmlzRW1wdHkoKSkgewog
ICAgICAgICAgICAgICAgIGlmIChSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gdGl0bGVOb2RlLT5y
ZW5kZXJlcigpKQogICAgICAgICAgICAgICAgICAgICBkaXIgPSByZW5kZXJlci0+c3R5bGUoKS0+
ZGlyZWN0aW9uKCk7CkBAIC0zMTksNyArMzE5LDcgQEAgS1VSTCBIaXRUZXN0UmVzdWx0OjphYnNv
bHV0ZUltYWdlVVJMKCkgY29uc3QKICAgICAgICAgfHwgbV9pbm5lck5vblNoYXJlZE5vZGUtPmhh
c1RhZ05hbWUoU1ZHTmFtZXM6OmltYWdlVGFnKQogI2VuZGlmCiAgICAgICAgKSB7Ci0gICAgICAg
IEVsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obV9pbm5lck5vblNoYXJl
ZE5vZGUuZ2V0KCkpOworICAgICAgICBFbGVtZW50KiBlbGVtZW50ID0gdG9FbGVtZW50KG1faW5u
ZXJOb25TaGFyZWROb2RlLmdldCgpKTsKICAgICAgICAgdXJsU3RyaW5nID0gZWxlbWVudC0+Z2V0
QXR0cmlidXRlKGVsZW1lbnQtPmltYWdlU291cmNlQXR0cmlidXRlTmFtZSgpKTsKICAgICB9IGVs
c2UKICAgICAgICAgcmV0dXJuIEtVUkwoKTsKQEAgLTMzNSw3ICszMzUsNyBAQCBLVVJMIEhpdFRl
c3RSZXN1bHQ6OmFic29sdXRlUERGVVJMKCkgY29uc3QKICAgICBpZiAoIW1faW5uZXJOb25TaGFy
ZWROb2RlLT5oYXNUYWdOYW1lKGVtYmVkVGFnKSAmJiAhbV9pbm5lck5vblNoYXJlZE5vZGUtPmhh
c1RhZ05hbWUob2JqZWN0VGFnKSkKICAgICAgICAgcmV0dXJuIEtVUkwoKTsKIAotICAgIEhUTUxQ
bHVnSW5JbWFnZUVsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MUGx1Z0luSW1hZ2VF
bGVtZW50Kj4obV9pbm5lck5vblNoYXJlZE5vZGUuZ2V0KCkpOworICAgIEhUTUxQbHVnSW5JbWFn
ZUVsZW1lbnQqIGVsZW1lbnQgPSB0b0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQobV9pbm5lck5vblNo
YXJlZE5vZGUuZ2V0KCkpOwogICAgIEtVUkwgdXJsID0gbV9pbm5lck5vblNoYXJlZE5vZGUtPmRv
Y3VtZW50KCktPmNvbXBsZXRlVVJMKHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlcyhl
bGVtZW50LT51cmwoKSkpOwogICAgIGlmICghdXJsLmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJu
IEtVUkwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDk4
NDVmMjcyMDMxOGFhN2U2MWFmMWYwNjRmMmI1OTQ2ZTk4Yzk1NWMuLjZjMGZlMjJhZDcxZTQxNjVj
ZmViNDIyNWU1YzgyODUwYmU4ZTExOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcApAQCAtMjQ0Nyw3ICsyNDQ3LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cmVzaXpl
KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZ0LCBjb25zdCBMYXlvdXRTaXplJiBvbGRPZmYK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgQVNTRVJUKHJlbmRlcmVyKCktPm5vZGUoKS0+aXNFbGVt
ZW50Tm9kZSgpKTsKLSAgICBFbGVtZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+
KHJlbmRlcmVyKCktPm5vZGUoKSk7CisgICAgRWxlbWVudCogZWxlbWVudCA9IHRvRWxlbWVudChy
ZW5kZXJlcigpLT5ub2RlKCkpOwogICAgIFJlbmRlckJveCogcmVuZGVyZXIgPSB0b1JlbmRlckJv
eChlbGVtZW50LT5yZW5kZXJlcigpKTsKIAogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGVsZW1l
bnQtPmRvY3VtZW50KCk7CkBAIC00MzMzLDcgKzQzMzMsNyBAQCBib29sIFJlbmRlckxheWVyOjpo
aXRUZXN0KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBIaXRUZXN0TG9jYXRp
b24mCiAgICAgLy8gTm93IGRldGVybWluZSBpZiB0aGUgcmVzdWx0IGlzIGluc2lkZSBhbiBhbmNo
b3IgLSBpZiB0aGUgdXJsRWxlbWVudCBpc24ndCBhbHJlYWR5IHNldC4KICAgICBOb2RlKiBub2Rl
ID0gcmVzdWx0LmlubmVyTm9kZSgpOwogICAgIGlmIChub2RlICYmICFyZXN1bHQuVVJMRWxlbWVu
dCgpKQotICAgICAgICByZXN1bHQuc2V0VVJMRWxlbWVudChzdGF0aWNfY2FzdDxFbGVtZW50Kj4o
bm9kZS0+ZW5jbG9zaW5nTGlua0V2ZW50UGFyZW50T3JTZWxmKCkpKTsKKyAgICAgICAgcmVzdWx0
LnNldFVSTEVsZW1lbnQodG9FbGVtZW50KG5vZGUtPmVuY2xvc2luZ0xpbmtFdmVudFBhcmVudE9y
U2VsZigpKSk7CiAKICAgICAvLyBOb3cgcmV0dXJuIHdoZXRoZXIgd2Ugd2VyZSBpbnNpZGUgdGhp
cyBsYXllciAodGhpcyB3aWxsIGFsd2F5cyBiZSB0cnVlIGZvciB0aGUgcm9vdAogICAgIC8vIGxh
eWVyKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlz
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCmluZGV4
IGNmZmU5ZDUxYTFhMDRhMzIyZmQ1MTc5OTFhZTQ4MmE2ODMyMTEzMDAuLjU0OGNlODUwMGNlNWUz
NGY3YTllNjgxYjI0YTUzNTdmZDJmN2ZiOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck1lbnVMaXN0LmNwcApAQCAtMzQxLDcgKzM0MSw3IEBAIHZvaWQgUmVuZGVyTWVudUxp
c3Q6OnZhbHVlQ2hhbmdlZCh1bnNpZ25lZCBsaXN0SW5kZXgsIGJvb2wgZmlyZU9uQ2hhbmdlKQog
ewogICAgIC8vIENoZWNrIHRvIGVuc3VyZSBhIHBhZ2UgbmF2aWdhdGlvbiBoYXMgbm90IG9jY3Vy
cmVkIHdoaWxlCiAgICAgLy8gdGhlIHBvcHVwIHdhcyB1cC4KLSAgICBEb2N1bWVudCogZG9jID0g
c3RhdGljX2Nhc3Q8RWxlbWVudCo+KG5vZGUoKSktPmRvY3VtZW50KCk7CisgICAgRG9jdW1lbnQq
IGRvYyA9IHRvRWxlbWVudChub2RlKCkpLT5kb2N1bWVudCgpOwogICAgIGlmICghZG9jIHx8IGRv
YyAhPSBkb2MtPmZyYW1lKCktPmRvY3VtZW50KCkpCiAgICAgICAgIHJldHVybjsKICAgICAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggNzA2ZDFlY2UwNzQz
MDA0ZTY4ZjRiOWQyMmFjN2JiM2M5Mzg3NDY2MC4uYjM5ZDU4ZDAxOGE0NDJlZmFhZmIxOGZlYmJk
NzZhMDFkYmVhODQxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHAKQEAgLTExMTEsNyArMTExMSw3IEBAIHZvaWQgUmVuZGVyT2JqZWN0OjphZGRQREZVUkxSZWN0
KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgTGF5b3V0UmVjdCYgcmVjCiAgICAgTm9k
ZSogbiA9IG5vZGUoKTsKICAgICBpZiAoIW4gfHwgIW4tPmlzTGluaygpIHx8ICFuLT5pc0VsZW1l
bnROb2RlKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBjb25zdCBBdG9taWNTdHJpbmcmIGhyZWYg
PSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obiktPmdldEF0dHJpYnV0ZShocmVmQXR0cik7CisgICAg
Y29uc3QgQXRvbWljU3RyaW5nJiBocmVmID0gdG9FbGVtZW50KG4pLT5nZXRBdHRyaWJ1dGUoaHJl
ZkF0dHIpOwogICAgIGlmIChocmVmLmlzTnVsbCgpKQogICAgICAgICByZXR1cm47CiAgICAgY29u
dGV4dC0+c2V0VVJMRm9yUmVjdChuLT5kb2N1bWVudCgpLT5jb21wbGV0ZVVSTChocmVmKSwgcGl4
ZWxTbmFwcGVkSW50UmVjdChyZWN0KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyUGFydC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGFy
dC5jcHAKaW5kZXggYTg3NTFlODNmOTExYjQ4YmIyM2Y4YTExZmI5ZjQxYzEzMTJmNTUwMy4uNGZh
N2FkMWNiMzk1MWYzY2M2Mzg5ODI3ZGRiNmNhMTU0YmE4NjViZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJQYXJ0LmNwcApAQCAtODYsNyArODYsNyBAQCBib29sIFJlbmRlclBhcnQ6
OnJlcXVpcmVzQWNjZWxlcmF0ZWRDb21wb3NpdGluZygpIGNvbnN0CiAgICAgaWYgKCFub2RlKCkg
fHwgIW5vZGUoKS0+aXNGcmFtZU93bmVyRWxlbWVudCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKLSAgICBIVE1MRnJhbWVPd25lckVsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1M
RnJhbWVPd25lckVsZW1lbnQqPihub2RlKCkpOworICAgIEhUTUxGcmFtZU93bmVyRWxlbWVudCog
ZWxlbWVudCA9IHRvRnJhbWVPd25lckVsZW1lbnQobm9kZSgpKTsKICAgICBpZiAoRG9jdW1lbnQq
IGNvbnRlbnREb2N1bWVudCA9IGVsZW1lbnQtPmNvbnRlbnREb2N1bWVudCgpKSB7CiAgICAgICAg
IGlmIChSZW5kZXJWaWV3KiB2aWV3ID0gY29udGVudERvY3VtZW50LT5yZW5kZXJWaWV3KCkpCiAg
ICAgICAgICAgICByZXR1cm4gdmlldy0+dXNlc0NvbXBvc2l0aW5nKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwCmluZGV4IDZjMDFmMjIzOThhMzM3ZTUwYjkzNzZi
MTcyY2FjMWE4OGYwZGU0NTcuLmViNDY1ZGM4OGFkNTM5ODUzNWNlZWMxOTZmNWFhOTM5MjM1MzU4
YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwCkBAIC0xODks
NyArMTg5LDcgQEAgdm9pZCBSZW5kZXJSZWdpb246OmNoZWNrUmVnaW9uU3R5bGUoKQogCiAgICAg
Ly8gRklYTUU6IFJlZ2lvbiBzdHlsaW5nIGRvZXNuJ3Qgd29yayBmb3IgcHNldWRvIGVsZW1lbnRz
LgogICAgIGlmIChub2RlKCkpIHsKLSAgICAgICAgRWxlbWVudCogcmVnaW9uRWxlbWVudCA9IHN0
YXRpY19jYXN0PEVsZW1lbnQqPihub2RlKCkpOworICAgICAgICBFbGVtZW50KiByZWdpb25FbGVt
ZW50ID0gdG9FbGVtZW50KG5vZGUoKSk7CiAgICAgICAgIGN1c3RvbVJlZ2lvblN0eWxlID0gdmll
dygpLT5kb2N1bWVudCgpLT5zdHlsZVJlc29sdmVyKCktPmNoZWNrUmVnaW9uU3R5bGUocmVnaW9u
RWxlbWVudCk7CiAgICAgfQogICAgIHNldEhhc0N1c3RvbVJlZ2lvblN0eWxlKGN1c3RvbVJlZ2lv
blN0eWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZUNlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAK
aW5kZXggZWM3ZjBiMTMyMjgxZTFlMmRmMWUzYTZmNzE4OTk1OTM5OGFiODVjNS4uM2VmOTI0NTI2
YmExMzE3YjA4MGVlMjdlODU3Y2JkZTNlNzU2NmQxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAKQEAgLTE2OCw3ICsxNjgsNyBAQCB2b2lkIFJlbmRl
clRhYmxlQ2VsbDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogICAgIGlmIChub2Rl
KCkgJiYgc3R5bGUoKS0+YXV0b1dyYXAoKSkgewogICAgICAgICAvLyBTZWUgaWYgbm93cmFwIHdh
cyBzZXQuCiAgICAgICAgIExlbmd0aCB3ID0gc3R5bGVPckNvbExvZ2ljYWxXaWR0aCgpOwotICAg
ICAgICBTdHJpbmcgbm93cmFwID0gc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG5vZGUoKSktPmdldEF0
dHJpYnV0ZShub3dyYXBBdHRyKTsKKyAgICAgICAgU3RyaW5nIG5vd3JhcCA9IHRvRWxlbWVudChu
b2RlKCkpLT5nZXRBdHRyaWJ1dGUobm93cmFwQXR0cik7CiAgICAgICAgIGlmICghbm93cmFwLmlz
TnVsbCgpICYmIHcuaXNGaXhlZCgpKQogICAgICAgICAgICAgLy8gTm93cmFwIGlzIHNldCwgYnV0
IHdlIGRpZG4ndCBhY3R1YWxseSB1c2UgaXQgYmVjYXVzZSBvZiB0aGUKICAgICAgICAgICAgIC8v
IGZpeGVkIHdpZHRoIHNldCBvbiB0aGUgY2VsbC4gIEV2ZW4gc28sIGl0IGlzIGEgV2luSUUvTW96
IHRyYWl0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAppbmRleCAxODFi
NzNjMTIzYzA3YzZmMTA1MjU5Mzg3OGQzNWY4M2Y4ZTVlYmY5Li45NWY2OWU1YTBlZTNkZTExZDRk
OWFiMDNmNDhkOGI5NTAyZmQ2ODkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZS5jcHAKQEAgLTc4OCw3ICs3ODgsNyBAQCBib29sIFJlbmRlclRoZW1lOjppc0VuYWJsZWQo
Y29uc3QgUmVuZGVyT2JqZWN0KiBvKSBjb25zdAogICAgIE5vZGUqIG5vZGUgPSBvLT5ub2RlKCk7
CiAgICAgaWYgKCFub2RlIHx8ICFub2RlLT5pc0VsZW1lbnROb2RlKCkpCiAgICAgICAgIHJldHVy
biB0cnVlOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obm9kZSktPmlzRW5hYmxl
ZEZvcm1Db250cm9sKCk7CisgICAgcmV0dXJuIHRvRWxlbWVudChub2RlKS0+aXNFbmFibGVkRm9y
bUNvbnRyb2woKTsKIH0KIAogYm9vbCBSZW5kZXJUaGVtZTo6aXNGb2N1c2VkKGNvbnN0IFJlbmRl
ck9iamVjdCogbykgY29uc3QKQEAgLTgxNCw3ICs4MTQsNyBAQCBib29sIFJlbmRlclRoZW1lOjpp
c1NwaW5VcEJ1dHRvblBhcnRQcmVzc2VkKGNvbnN0IFJlbmRlck9iamVjdCogbykgY29uc3QKIHsK
ICAgICBOb2RlKiBub2RlID0gby0+bm9kZSgpOwogICAgIGlmICghbm9kZSB8fCAhbm9kZS0+YWN0
aXZlKCkgfHwgIW5vZGUtPmlzRWxlbWVudE5vZGUoKQotICAgICAgICB8fCAhc3RhdGljX2Nhc3Q8
RWxlbWVudCo+KG5vZGUpLT5pc1NwaW5CdXR0b25FbGVtZW50KCkpCisgICAgICAgIHx8ICF0b0Vs
ZW1lbnQobm9kZSktPmlzU3BpbkJ1dHRvbkVsZW1lbnQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIFNwaW5CdXR0b25FbGVtZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8U3BpbkJ1dHRv
bkVsZW1lbnQqPihub2RlKTsKICAgICByZXR1cm4gZWxlbWVudC0+dXBEb3duU3RhdGUoKSA9PSBT
cGluQnV0dG9uRWxlbWVudDo6VXA7CkBAIC04MzMsNyArODMzLDcgQEAgYm9vbCBSZW5kZXJUaGVt
ZTo6aXNIb3ZlcmVkKGNvbnN0IFJlbmRlck9iamVjdCogbykgY29uc3QKICAgICBOb2RlKiBub2Rl
ID0gby0+bm9kZSgpOwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IGlmICghbm9kZS0+aXNFbGVtZW50Tm9kZSgpIHx8ICFzdGF0aWNfY2FzdDxFbGVtZW50Kj4obm9k
ZSktPmlzU3BpbkJ1dHRvbkVsZW1lbnQoKSkKKyAgICBpZiAoIW5vZGUtPmlzRWxlbWVudE5vZGUo
KSB8fCAhdG9FbGVtZW50KG5vZGUpLT5pc1NwaW5CdXR0b25FbGVtZW50KCkpCiAgICAgICAgIHJl
dHVybiBub2RlLT5ob3ZlcmVkKCk7CiAgICAgU3BpbkJ1dHRvbkVsZW1lbnQqIGVsZW1lbnQgPSBz
dGF0aWNfY2FzdDxTcGluQnV0dG9uRWxlbWVudCo+KG5vZGUpOwogICAgIHJldHVybiBlbGVtZW50
LT5ob3ZlcmVkKCkgJiYgZWxlbWVudC0+dXBEb3duU3RhdGUoKSAhPSBTcGluQnV0dG9uRWxlbWVu
dDo6SW5kZXRlcm1pbmF0ZTsKQEAgLTg0Miw3ICs4NDIsNyBAQCBib29sIFJlbmRlclRoZW1lOjpp
c0hvdmVyZWQoY29uc3QgUmVuZGVyT2JqZWN0KiBvKSBjb25zdAogYm9vbCBSZW5kZXJUaGVtZTo6
aXNTcGluVXBCdXR0b25QYXJ0SG92ZXJlZChjb25zdCBSZW5kZXJPYmplY3QqIG8pIGNvbnN0CiB7
CiAgICAgTm9kZSogbm9kZSA9IG8tPm5vZGUoKTsKLSAgICBpZiAoIW5vZGUgfHwgIW5vZGUtPmlz
RWxlbWVudE5vZGUoKSB8fCAhc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG5vZGUpLT5pc1NwaW5CdXR0
b25FbGVtZW50KCkpCisgICAgaWYgKCFub2RlIHx8ICFub2RlLT5pc0VsZW1lbnROb2RlKCkgfHwg
IXRvRWxlbWVudChub2RlKS0+aXNTcGluQnV0dG9uRWxlbWVudCgpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgU3BpbkJ1dHRvbkVsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTcGlu
QnV0dG9uRWxlbWVudCo+KG5vZGUpOwogICAgIHJldHVybiBlbGVtZW50LT51cERvd25TdGF0ZSgp
ID09IFNwaW5CdXR0b25FbGVtZW50OjpVcDsKQEAgLTEwMzIsNyArMTAzMiw3IEBAIHZvaWQgUmVu
ZGVyVGhlbWU6OnBhaW50U2xpZGVyVGlja3MoUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBQYWludElu
Zm8mIHBhaW50SW5mbywKICAgICBwYWludEluZm8uY29udGV4dC0+c2V0RmlsbENvbG9yKG8tPnN0
eWxlKCktPnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUNvbG9yKSwgQ29sb3JTcGFj
ZURldmljZVJHQik7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgTm9kZSogbm9kZSA9IG9wdGlv
bnMtPml0ZW0oaSk7IGkrKykgewogICAgICAgICBBU1NFUlQobm9kZS0+aGFzVGFnTmFtZShvcHRp
b25UYWcpKTsKLSAgICAgICAgSFRNTE9wdGlvbkVsZW1lbnQqIG9wdGlvbkVsZW1lbnQgPSBzdGF0
aWNfY2FzdDxIVE1MT3B0aW9uRWxlbWVudCo+KG5vZGUpOworICAgICAgICBIVE1MT3B0aW9uRWxl
bWVudCogb3B0aW9uRWxlbWVudCA9IHRvSFRNTE9wdGlvbkVsZW1lbnQobm9kZSk7CiAgICAgICAg
IFN0cmluZyB2YWx1ZSA9IG9wdGlvbkVsZW1lbnQtPnZhbHVlKCk7CiAgICAgICAgIGlmICghaW5w
dXQtPmlzVmFsaWRWYWx1ZSh2YWx1ZSkpCiAgICAgICAgICAgICBjb250aW51ZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbkNFLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbkNFLmNwcAppbmRleCA5NTBkZjMxZjQ0
NDVlMjk2MTRjMjhkOGFkNzM5ZjgzNmVjNDRjOWEwLi4wOTBiMTVhNjQ0ZDA3MDljNDM2OWVkYjQ0
ZWVhYjk1ZDI0MWU4YmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVXaW5DRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lV2luQ0UuY3BwCkBAIC00ODIsNyArNDgyLDcgQEAgc3RhdGljIEhUTUxNZWRpYUVsZW1lbnQq
IG1lZGlhRWxlbWVudFBhcmVudChOb2RlKiBub2RlKQogICAgIE5vZGUqIG1lZGlhTm9kZSA9IG5v
ZGUtPnNoYWRvd0hvc3QoKTsKICAgICBpZiAoIW1lZGlhTm9kZSkKICAgICAgICAgbWVkaWFOb2Rl
ID0gbm9kZTsKLSAgICBpZiAoIW1lZGlhTm9kZSB8fCAhbWVkaWFOb2RlLT5pc0VsZW1lbnROb2Rl
KCkgfHwgIXN0YXRpY19jYXN0PEVsZW1lbnQqPihtZWRpYU5vZGUpLT5pc01lZGlhRWxlbWVudCgp
KQorICAgIGlmICghbWVkaWFOb2RlIHx8ICFtZWRpYU5vZGUtPmlzRWxlbWVudE5vZGUoKSB8fCAh
dG9FbGVtZW50KG1lZGlhTm9kZSktPmlzTWVkaWFFbGVtZW50KCkpCiAgICAgICAgIHJldHVybiAw
OwogCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihtZWRpYU5vZGUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCmluZGV4
IGEzYjRhZjI5MzAzNjY4OTU4OTVmN2FmNmEyYzgxZjAwZDA2NmE1YWEuLjExOTFmNjE2MWVlMzMz
YWY2NzA2NmU4OWE0NjA4MzZkNzIyZmQyZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKQEAgLTE2OCw3ICsxNjgsNyBAQCBzdGF0aWMgYm9vbCBp
c0VtcHR5T3JVbnN0eWxlZEFwcGxlU3R5bGVTcGFuKGNvbnN0IE5vZGUqIG5vZGUpCiAgICAgaWYg
KCFub2RlIHx8ICFub2RlLT5pc0hUTUxFbGVtZW50KCkgfHwgIW5vZGUtPmhhc1RhZ05hbWUoc3Bh
blRhZykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGNvbnN0IEhUTUxFbGVtZW50KiBl
bGVtID0gc3RhdGljX2Nhc3Q8Y29uc3QgSFRNTEVsZW1lbnQqPihub2RlKTsKKyAgICBjb25zdCBI
VE1MRWxlbWVudCogZWxlbSA9IHRvSFRNTEVsZW1lbnQobm9kZSk7CiAgICAgaWYgKGVsZW0tPmdl
dEF0dHJpYnV0ZShjbGFzc0F0dHIpICE9ICJBcHBsZS1zdHlsZS1zcGFuIikKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCkBAIC00MzAsNyArNDMwLDcgQEAgdm9pZCBSZW5kZXJUcmVlQXNUZXh0Ojp3
cml0ZVJlbmRlck9iamVjdChUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyT2JqZWN0JiBvLAog
ICAgIGlmIChiZWhhdmlvciAmIFJlbmRlckFzVGV4dFNob3dJREFuZENsYXNzKSB7CiAgICAgICAg
IGlmIChOb2RlKiBub2RlID0gby5ub2RlKCkpIHsKICAgICAgICAgICAgIGlmIChub2RlLT5oYXNJ
RCgpKQotICAgICAgICAgICAgICAgIHRzIDw8ICIgaWQ9XCIiICsgc3RhdGljX2Nhc3Q8RWxlbWVu
dCo+KG5vZGUpLT5nZXRJZEF0dHJpYnV0ZSgpICsgIlwiIjsKKyAgICAgICAgICAgICAgICB0cyA8
PCAiIGlkPVwiIiArIHRvRWxlbWVudChub2RlKS0+Z2V0SWRBdHRyaWJ1dGUoKSArICJcIiI7CiAK
ICAgICAgICAgICAgIGlmIChub2RlLT5oYXNDbGFzcygpKSB7CiAgICAgICAgICAgICAgICAgdHMg
PDwgIiBjbGFzcz1cIiI7CkBAIC02NjksNyArNjY5LDcgQEAgc3RhdGljIHZvaWQgd3JpdGVSZW5k
ZXJSZWdpb25MaXN0KGNvbnN0IFJlbmRlclJlZ2lvbkxpc3QmIGZsb3dUaHJlYWRSZWdpb25MaXN0
LAogICAgICAgICAgICAgaWYgKCF0YWdOYW1lLmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICB0
cyA8PCAiIHsiIDw8IHRhZ05hbWUgPDwgIn0iOwogICAgICAgICAgICAgaWYgKHJlbmRlclJlZ2lv
bi0+Z2VuZXJhdGluZ05vZGUoKS0+aXNFbGVtZW50Tm9kZSgpICYmIHJlbmRlclJlZ2lvbi0+Z2Vu
ZXJhdGluZ05vZGUoKS0+aGFzSUQoKSkgewotICAgICAgICAgICAgICAgIEVsZW1lbnQqIGVsZW1l
bnQgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4ocmVuZGVyUmVnaW9uLT5nZW5lcmF0aW5nTm9kZSgp
KTsKKyAgICAgICAgICAgICAgICBFbGVtZW50KiBlbGVtZW50ID0gdG9FbGVtZW50KHJlbmRlclJl
Z2lvbi0+Z2VuZXJhdGluZ05vZGUoKSk7CiAgICAgICAgICAgICAgICAgdHMgPDwgIiAjIiA8PCBl
bGVtZW50LT5pZEZvclN0eWxlUmVzb2x1dGlvbigpOwogICAgICAgICAgICAgfQogICAgICAgICAg
ICAgaWYgKHJlbmRlclJlZ2lvbi0+aGFzQ3VzdG9tUmVnaW9uU3R5bGUoKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlclRyZWVBc1RleHQuY3BwCmluZGV4
IGE5M2FmZDAxZWQ5MTlhNmU5N2Q2NjI1NDVhYjY1Y2JlNWVlODQ4MjQuLjk2Yzg0MDNlYmE0YWNi
NWM3NGZmZDY3NDI3NTFhMzZmYThkMzE3YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHUmVuZGVyVHJlZUFzVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJUcmVlQXNUZXh0LmNwcApAQCAtNDkzLDcgKzQ5Myw3IEBA
IHZvaWQgd3JpdGVTVkdSZXNvdXJjZUNvbnRhaW5lcihUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVu
ZGVyT2JqZWN0JiBvYmplY3QsIGludCBpCiB7CiAgICAgd3JpdGVTdGFuZGFyZFByZWZpeCh0cywg
b2JqZWN0LCBpbmRlbnQpOwogCi0gICAgRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PEVs
ZW1lbnQqPihvYmplY3Qubm9kZSgpKTsKKyAgICBFbGVtZW50KiBlbGVtZW50ID0gdG9FbGVtZW50
KG9iamVjdC5ub2RlKCkpOwogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaWQgPSBlbGVtZW50LT5n
ZXRJZEF0dHJpYnV0ZSgpOwogICAgIHdyaXRlTmFtZUFuZFF1b3RlZFZhbHVlKHRzLCAiaWQiLCBp
ZCk7ICAgIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9ET01IVE1MQ2xhc3Nlcy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9ET01IVE1MQ2xhc3Nlcy5jcHAKaW5kZXggZDU4ZmM2OTEw
MjRkMDE5MTllOTM0NWEzNmQ5NGU2ZTAxNDZkOWNmMi4uNTUwMDAyNTc5Y2ViOTkyYzdlM2M3NDM3
NTRlZGRkOTc0NWI4YThiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vRE9NSFRNTENs
YXNzZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0RPTUhUTUxDbGFzc2VzLmNwcApAQCAt
Mzk2LDcgKzM5Niw3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgRE9NSFRNTEVsZW1lbnQ6
OmlkTmFtZSgKICAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKIAogICAgIEFTU0VSVChtX2VsZW1l
bnQgJiYgbV9lbGVtZW50LT5pc0hUTUxFbGVtZW50KCkpOwotICAgIFN0cmluZyBpZFN0cmluZyA9
IHN0YXRpY19jYXN0PEhUTUxFbGVtZW50Kj4obV9lbGVtZW50KS0+Z2V0QXR0cmlidXRlKGlkQXR0
cik7CisgICAgU3RyaW5nIGlkU3RyaW5nID0gdG9IVE1MRWxlbWVudChtX2VsZW1lbnQpLT5nZXRB
dHRyaWJ1dGUoaWRBdHRyKTsKICAgICAqcmVzdWx0ID0gQlN0cmluZyhpZFN0cmluZykucmVsZWFz
ZSgpOwogICAgIHJldHVybiBTX09LOwogfQpAQCAtNDgyLDcgKzQ4Miw3IEBAIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgRE9NSFRNTEVsZW1lbnQ6OmlubmVyVGV4dCgKICAgICAgICAgLyogW3Jl
dHZhbF1bb3V0XSAqLyBCU1RSKiByZXN1bHQpCiB7CiAgICAgQVNTRVJUKG1fZWxlbWVudCAmJiBt
X2VsZW1lbnQtPmlzSFRNTEVsZW1lbnQoKSk7Ci0gICAgV1RGOjpTdHJpbmcgaW5uZXJUZXh0U3Ry
aW5nID0gc3RhdGljX2Nhc3Q8SFRNTEVsZW1lbnQqPihtX2VsZW1lbnQpLT5pbm5lclRleHQoKTsK
KyAgICBXVEY6OlN0cmluZyBpbm5lclRleHRTdHJpbmcgPSB0b0hUTUxFbGVtZW50KG1fZWxlbWVu
dCktPmlubmVyVGV4dCgpOwogICAgICpyZXN1bHQgPSBCU3RyaW5nKGlubmVyVGV4dFN0cmluZy5j
aGFyYWN0ZXJzKCksIGlubmVyVGV4dFN0cmluZy5sZW5ndGgoKSkucmVsZWFzZSgpOwogICAgIHJl
dHVybiBTX09LOwogfQpAQCAtNDkxLDcgKzQ5MSw3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgRE9NSFRNTEVsZW1lbnQ6OnNldElubmVyVGV4dCgKICAgICAgICAgLyogW2luXSAqLyBCU1RS
IHRleHQpCiB7CiAgICAgQVNTRVJUKG1fZWxlbWVudCAmJiBtX2VsZW1lbnQtPmlzSFRNTEVsZW1l
bnQoKSk7Ci0gICAgSFRNTEVsZW1lbnQqIGh0bWxFbGUgPSBzdGF0aWNfY2FzdDxIVE1MRWxlbWVu
dCo+KG1fZWxlbWVudCk7CisgICAgSFRNTEVsZW1lbnQqIGh0bWxFbGUgPSB0b0hUTUxFbGVtZW50
KG1fZWxlbWVudCk7CiAgICAgV1RGOjpTdHJpbmcgdGV4dFN0cmluZyh0ZXh0LCBTeXNTdHJpbmdM
ZW4odGV4dCkpOwogICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIGh0bWxF
bGUtPnNldElubmVyVGV4dCh0ZXh0U3RyaW5nLCBlYyk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>