<?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>97033</bug_id>
          
          <creation_ts>2012-09-18 11:38:14 -0700</creation_ts>
          <short_desc>[BlackBerry] Use didCancel and didSucceed instead of didCheckCancel and didCheckSucceed</short_desc>
          <delta_ts>2012-09-18 14:38:37 -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 BlackBerry</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="Nima Ghanavatian">nima.ghanavatian</reporter>
          <assigned_to name="Nima Ghanavatian">nima.ghanavatian</assigned_to>
          <cc>mifenton</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>722933</commentid>
    <comment_count>0</comment_count>
    <who name="Nima Ghanavatian">nima.ghanavatian</who>
    <bug_when>2012-09-18 11:38:14 -0700</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722942</commentid>
    <comment_count>1</comment_count>
      <attachid>164595</attachid>
    <who name="Nima Ghanavatian">nima.ghanavatian</who>
    <bug_when>2012-09-18 11:43:00 -0700</bug_when>
    <thetext>Created attachment 164595
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722956</commentid>
    <comment_count>2</comment_count>
      <attachid>164595</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-09-18 11:57:19 -0700</bug_when>
    <thetext>Comment on attachment 164595
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722958</commentid>
    <comment_count>3</comment_count>
      <attachid>164595</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-18 11:59:02 -0700</bug_when>
    <thetext>Comment on attachment 164595
Patch

Rejecting attachment 164595 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
lines).
Hunk #5 FAILED at 663.
2 out of 5 hunks FAILED -- saving rejects to file Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp.rej
patching file Source/WebKit/blackberry/WebKitSupport/InputHandler.h
Hunk #1 succeeded at 137 (offset 3 lines).
Hunk #2 succeeded at 197 (offset 3 lines).
Hunk #3 succeeded at 219 (offset 3 lines).

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;Rob Buis&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue

Full output: http://queues.webkit.org/results/13895268</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722983</commentid>
    <comment_count>4</comment_count>
    <who name="Nima Ghanavatian">nima.ghanavatian</who>
    <bug_when>2012-09-18 12:43:02 -0700</bug_when>
    <thetext>rebasing and trying again...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722984</commentid>
    <comment_count>5</comment_count>
      <attachid>164603</attachid>
    <who name="Nima Ghanavatian">nima.ghanavatian</who>
    <bug_when>2012-09-18 12:43:10 -0700</bug_when>
    <thetext>Created attachment 164603
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722990</commentid>
    <comment_count>6</comment_count>
      <attachid>164603</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-09-18 12:54:16 -0700</bug_when>
    <thetext>Comment on attachment 164603
Patch

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723057</commentid>
    <comment_count>7</comment_count>
      <attachid>164603</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-18 14:38:33 -0700</bug_when>
    <thetext>Comment on attachment 164603
Patch

Clearing flags on attachment: 164603

Committed r128933: &lt;http://trac.webkit.org/changeset/128933&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723058</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-18 14:38:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164595</attachid>
            <date>2012-09-18 11:43:00 -0700</date>
            <delta_ts>2012-09-18 12:43:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97033-20120918143758.patch</filename>
            <type>text/plain</type>
            <size>12466</size>
            <attacher name="Nima Ghanavatian">nima.ghanavatian</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCAwNDg4MjQ2YzIyNjVhZGE5Y2MxYTY2MWY1ZTlhNDJlYjBlZWY4NjkxLi4wZTM4MTJjYjRm
Y2M3MzE0MDM5OTFhM2RjN2IzY2Q2OWUyYTkwOGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMi0wOS0xNCAgTmltYSBHaGFuYXZhdGlhbiAgPG5n
aGFuYXZhdGlhbkByaW0uY29tPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBVc2UgZGlkQ2FuY2Vs
IGFuZCBkaWRTdWNjZWVkIGluc3RlYWQgb2YgZGlkQ2hlY2tDYW5jZWwgYW5kIGRpZENoZWNrU3Vj
Y2VlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTcw
MzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2lu
ZyB0aGVzZSBwcmVmZXJyZWQgcHVibGljIG1ldGhvZHMgKHRoZSBsYXR0ZXIgaGFzIGEgbm90ZSB0
byBiZSBtYWRlIHByaXZhdGUpIGVuc3VyZXMgdGhhdAorICAgICAgICB0aGUgcmlnaHQgU3BlbGxD
aGVja2VyIG9iamVjdCBpcyBiZWluZyBjYWxsZWQgZHVyaW5nIHRoZSBjYWxsYmFjayBpbiBzcGVs
bENoZWNraW5nUmVxdWVzdFByb2Nlc3NlZAorICAgICAgICBhbmQgc3BlbGxDaGVja2luZ1JlcXVl
c3RDYW5jZWxsZWQuCisKKyAgICAgICAgSW50ZXJuYWxseSByZXZpZXdlZCBieSBNaWtlIEZlbnRv
bi4KKworICAgICAgICBCeSByZWZlcmVuY2luZyB0aGUgVGV4dENoZWNraW5nUmVxdWVzdCBvYmpl
Y3QncyBtZXRob2RzLCB3ZSBkb24ndCBuZWVkIHRvIGtlZXAgdHJhY2sgb2YgdGhlIGFzc29jaWF0
ZWQKKyAgICAgICAgU3BlbGxDaGVja2VyIGZvciBlYWNoIHJlcXVlc3QuIFJlbW92aW5nIG11Y2gg
b2YgdGhlIGNvZGUgdGhhdCB3YXMgcHV0IGluIHBsYWNlIGluY29ycmVjdGx5IHRvIGFjaGlldmUg
dGhpcy4KKworICAgICAgICAqIFdlYktpdFN1cHBvcnQvSW5wdXRIYW5kbGVyLmNwcDoKKyAgICAg
ICAgKEJsYWNrQmVycnk6OldlYktpdDo6SW5wdXRIYW5kbGVyOjpJbnB1dEhhbmRsZXIpOgorICAg
ICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpJbnB1dEhhbmRsZXI6OnJlcXVlc3RDaGVja2luZ09m
U3RyaW5nKToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6SW5wdXRIYW5kbGVyOjpzcGVs
bENoZWNraW5nUmVxdWVzdENhbmNlbGxlZCk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6
OklucHV0SGFuZGxlcjo6c3BlbGxDaGVja2luZ1JlcXVlc3RQcm9jZXNzZWQpOgorICAgICAgICAo
QmxhY2tCZXJyeTo6V2ViS2l0OjpJbnB1dEhhbmRsZXI6OmdldFNwZWxsQ2hlY2tlcik6CisgICAg
ICAgICogV2ViS2l0U3VwcG9ydC9JbnB1dEhhbmRsZXIuaDoKKyAgICAgICAgKElucHV0SGFuZGxl
cik6CisKIDIwMTItMDktMTEgIEFydmlkIE5pbHNzb24gIDxhbmlsc3NvbkByaW0uY29tPgogCiAg
ICAgICAgIFtCbGFja0JlcnJ5XSBTZWxlY3Rpb25IYW5kbGVyIGRyb3BzIGNhcmV0IGNoYW5nZSBu
b3RpZmljYXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0
U3VwcG9ydC9JbnB1dEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktp
dFN1cHBvcnQvSW5wdXRIYW5kbGVyLmNwcAppbmRleCBlZWE3NTY1NjY2ZmNkODVkN2IzMjRmODZl
ZDJmZjQzMDg5MjYzMWQ3Li5hN2ZhM2ZhNzljNTJjMTYwZTE4YjQ2OTc5Y2Y0ODE5ZmFjZDAyMTM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9JbnB1
dEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0
L0lucHV0SGFuZGxlci5jcHAKQEAgLTEzNSw4ICsxMzUsOSBAQCBJbnB1dEhhbmRsZXI6OklucHV0
SGFuZGxlcihXZWJQYWdlUHJpdmF0ZSogcGFnZSkKICAgICAsIG1fY29tcG9zaW5nVGV4dEVuZCgw
KQogICAgICwgbV9wZW5kaW5nS2V5Ym9hcmRWaXNpYmlsaXR5Q2hhbmdlKE5vQ2hhbmdlKQogICAg
ICwgbV9kZWxheUtleWJvYXJkVmlzaWJpbGl0eUNoYW5nZShmYWxzZSkKKyAgICAsIG1fcmVxdWVz
dCgwKQorICAgICwgbV9wcm9jZXNzaW5nVHJhbnNhY3Rpb25JZCgtMSkKIHsKLSAgICBwdGhyZWFk
X211dGV4X2luaXQoJm1fc2VxdWVuY2VNYXBNdXRleCwgMCk7CiB9CiAKIElucHV0SGFuZGxlcjo6
fklucHV0SGFuZGxlcigpCkBAIC01NDQsMzcgKzU0NSwyNSBAQCB2b2lkIElucHV0SGFuZGxlcjo6
bGVhcm5UZXh0KCkKIAogdm9pZCBJbnB1dEhhbmRsZXI6OnJlcXVlc3RDaGVja2luZ09mU3RyaW5n
KFBhc3NSZWZQdHI8V2ViQ29yZTo6VGV4dENoZWNraW5nUmVxdWVzdD4gdGV4dENoZWNraW5nUmVx
dWVzdCkKIHsKLSAgICBSZWZQdHI8V2ViQ29yZTo6VGV4dENoZWNraW5nUmVxdWVzdD4gcmVxdWVz
dCA9IHRleHRDaGVja2luZ1JlcXVlc3Q7CisgICAgbV9yZXF1ZXN0ID0gdGV4dENoZWNraW5nUmVx
dWVzdDsKIAotICAgIGlmICghcmVxdWVzdCkgeworICAgIGlmICghbV9yZXF1ZXN0KSB7CiAgICAg
ICAgIFNwZWxsaW5nTG9nKExvZ0xldmVsV2FybiwgIklucHV0SGFuZGxlcjo6cmVxdWVzdENoZWNr
aW5nT2ZTdHJpbmcgZGlkIG5vdCByZWNlaXZlIGEgdmFsaWQgcmVxdWVzdC4iKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIGludDMyX3Qgc2VxdWVuY2VJZCA9IHJlcXVlc3QtPnNlcXVl
bmNlKCk7Ci0KLSAgICBpZiAoIWlzQWN0aXZlVGV4dEVkaXQoKSkgewotICAgICAgICBzcGVsbENo
ZWNraW5nUmVxdWVzdENhbmNlbGxlZChzZXF1ZW5jZUlkLCB0cnVlIC8qIGlzU2VxdWVuY2VJZCAq
Lyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgdW5zaWduZWQgcmVxdWVzdExlbmd0aCA9
IG1fcmVxdWVzdC0+dGV4dCgpLmxlbmd0aCgpOwogCiAgICAgLy8gQ2hlY2sgaWYgdGhlIGZpZWxk
IHNob3VsZCBiZSBzcGVsbGNoZWNrZWQuCi0gICAgaWYgKCFzaG91bGRTcGVsbENoZWNrRWxlbWVu
dChtX2N1cnJlbnRGb2N1c0VsZW1lbnQuZ2V0KCkpKSB7Ci0gICAgICAgIHNwZWxsQ2hlY2tpbmdS
ZXF1ZXN0Q2FuY2VsbGVkKHNlcXVlbmNlSWQsIHRydWUgLyogaXNTZXF1ZW5jZUlkICovKTsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHVuc2lnbmVkIHJlcXVlc3RMZW5ndGggPSByZXF1
ZXN0LT50ZXh0KCkubGVuZ3RoKCk7Ci0KLSAgICBpZiAocmVxdWVzdExlbmd0aCA8IDIpIHsKLSAg
ICAgICAgc3BlbGxDaGVja2luZ1JlcXVlc3RDYW5jZWxsZWQoc2VxdWVuY2VJZCwgdHJ1ZSAvKiBp
c1NlcXVlbmNlSWQgKi8pOworICAgIGlmICghaXNBY3RpdmVUZXh0RWRpdCgpIHx8ICFzaG91bGRT
cGVsbENoZWNrRWxlbWVudChtX2N1cnJlbnRGb2N1c0VsZW1lbnQuZ2V0KCkpIHx8IHJlcXVlc3RM
ZW5ndGggPCAyKSB7CisgICAgICAgIG1fcmVxdWVzdC0+ZGlkQ2FuY2VsKCk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKICAgICBpZiAocmVxdWVzdExlbmd0aCA+IE1heFNwZWxsQ2hlY2tpbmdT
dHJpbmdMZW5ndGgpIHsKICAgICAgICAgLy8gQ2FuY2VsIHRoaXMgcmVxdWVzdCBhbmQgc2VuZCBp
dCBvZmYgaW4gbmV3bHkgY3JlYXRlZCBjaHVua3MuCi0gICAgICAgIHNwZWxsQ2hlY2tpbmdSZXF1
ZXN0Q2FuY2VsbGVkKHNlcXVlbmNlSWQsIHRydWUgLyogaXNTZXF1ZW5jZUlkICovKTsKLSAgICAg
ICAgaWYgKG1fY3VycmVudEZvY3VzRWxlbWVudCAmJiBtX2N1cnJlbnRGb2N1c0VsZW1lbnQtPmRv
Y3VtZW50KCkgJiYgbV9jdXJyZW50Rm9jdXNFbGVtZW50LT5kb2N1bWVudCgpLT5mcmFtZSgpICYm
IG1fY3VycmVudEZvY3VzRWxlbWVudC0+ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+c2VsZWN0aW9uKCkp
IHsKKyAgICAgICAgbV9yZXF1ZXN0LT5kaWRDYW5jZWwoKTsKKyAgICAgICAgaWYgKG1fY3VycmVu
dEZvY3VzRWxlbWVudC0+ZG9jdW1lbnQoKSAmJiBtX2N1cnJlbnRGb2N1c0VsZW1lbnQtPmRvY3Vt
ZW50KCktPmZyYW1lKCkgJiYgbV9jdXJyZW50Rm9jdXNFbGVtZW50LT5kb2N1bWVudCgpLT5mcmFt
ZSgpLT5zZWxlY3Rpb24oKSkgewogICAgICAgICAgICAgLy8gQ29udmVydCBmcm9tIHBvc2l0aW9u
IGJhY2sgdG8gc2VsZWN0aW9uIHNvIHdlIGNhbiBleHBhbmQgdGhlIHJhbmdlIHRvIGluY2x1ZGUg
dGhlIHByZXZpb3VzIGxpbmUuIFRoaXMgc2hvdWxkIGhhbmRsZSBjYXNlcyB3aGVuIHRoZSB1c2Vy
IGhpdHMKICAgICAgICAgICAgIC8vIGVudGVyIHRvIGZpbmlzaCBjb21wb3NpbmcgYSB3b3JkIGFu
ZCBjcmVhdGUgYSBuZXcgbGluZS4KICAgICAgICAgICAgIFZpc2libGVQb3NpdGlvbiBjYXJldFBv
c2l0aW9uID0gbV9jdXJyZW50Rm9jdXNFbGVtZW50LT5kb2N1bWVudCgpLT5mcmFtZSgpLT5zZWxl
Y3Rpb24oKS0+c3RhcnQoKTsKQEAgLTU4Nyw1MyArNTc2LDQ5IEBAIHZvaWQgSW5wdXRIYW5kbGVy
OjpyZXF1ZXN0Q2hlY2tpbmdPZlN0cmluZyhQYXNzUmVmUHRyPFdlYkNvcmU6OlRleHRDaGVja2lu
Z1JlcXVlCiAgICAgd2NoYXJfdCogY2hlY2tpbmdTdHJpbmcgPSAod2NoYXJfdCopbWFsbG9jKHNp
emVvZih3Y2hhcl90KSAqIChyZXF1ZXN0TGVuZ3RoICsgMSkpOwogICAgIGlmICghY2hlY2tpbmdT
dHJpbmcpIHsKICAgICAgICAgbG9nQWx3YXlzKExvZ0xldmVsQ3JpdGljYWwsICJJbnB1dEhhbmRs
ZXI6OnJlcXVlc3RDaGVja2luZ09mU3RyaW5nIENhbm5vdCBhbGxvY2F0ZSBtZW1vcnkgZm9yIHN0
cmluZy4iKTsKLSAgICAgICAgc3BlbGxDaGVja2luZ1JlcXVlc3RDYW5jZWxsZWQoc2VxdWVuY2VJ
ZCwgdHJ1ZSAvKiBpc1NlcXVlbmNlSWQgKi8pOworICAgICAgICBtX3JlcXVlc3QtPmRpZENhbmNl
bCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaW50IHBhcmFncmFwaExlbmd0aCA9
IDA7Ci0gICAgaWYgKCFjb252ZXJ0U3RyaW5nVG9XY2hhcihyZXF1ZXN0LT50ZXh0KCksIGNoZWNr
aW5nU3RyaW5nLCByZXF1ZXN0TGVuZ3RoICsgMSwgJnBhcmFncmFwaExlbmd0aCkpIHsKKyAgICBp
ZiAoIWNvbnZlcnRTdHJpbmdUb1djaGFyKG1fcmVxdWVzdC0+dGV4dCgpLCBjaGVja2luZ1N0cmlu
ZywgcmVxdWVzdExlbmd0aCArIDEsICZwYXJhZ3JhcGhMZW5ndGgpKSB7CiAgICAgICAgIGxvZ0Fs
d2F5cyhMb2dMZXZlbENyaXRpY2FsLCAiSW5wdXRIYW5kbGVyOjpyZXF1ZXN0Q2hlY2tpbmdPZlN0
cmluZyBGYWlsZWQgdG8gY29udmVydCBTdHJpbmcgdG8gd2NoYXIgdHlwZS4iKTsKICAgICAgICAg
ZnJlZShjaGVja2luZ1N0cmluZyk7Ci0gICAgICAgIHNwZWxsQ2hlY2tpbmdSZXF1ZXN0Q2FuY2Vs
bGVkKHNlcXVlbmNlSWQsIHRydWUgLyogaXNTZXF1ZW5jZUlkICovKTsKKyAgICAgICAgbV9yZXF1
ZXN0LT5kaWRDYW5jZWwoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEJsYWNrQmVy
cnk6OlBsYXRmb3JtOjpNdXRleExvY2tlciBsb2NrKCZtX3NlcXVlbmNlTWFwTXV0ZXgpOwotICAg
IGludDMyX3QgdHJhbnNhY3Rpb25JZCA9IG1fd2ViUGFnZS0+bV9jbGllbnQtPmNoZWNrU3BlbGxp
bmdPZlN0cmluZ0FzeW5jKGNoZWNraW5nU3RyaW5nLCBwYXJhZ3JhcGhMZW5ndGgpOworICAgIG1f
cHJvY2Vzc2luZ1RyYW5zYWN0aW9uSWQgPSBtX3dlYlBhZ2UtPm1fY2xpZW50LT5jaGVja1NwZWxs
aW5nT2ZTdHJpbmdBc3luYyhjaGVja2luZ1N0cmluZywgcGFyYWdyYXBoTGVuZ3RoKTsKICAgICBm
cmVlKGNoZWNraW5nU3RyaW5nKTsKIAogICAgIC8vIElmIHRoZSBjYWxsIHRvIHRoZSBpbnB1dCBz
ZXJ2aWNlIGRpZCBub3QgZ28gdGhyb3VnaCwgdGhlbiBjYW5jZWwgdGhlIHJlcXVlc3Qgc28gd2Ug
ZG9uJ3QgYmxvY2sgZW5kbGVzc2x5LgogICAgIC8vIFRoaXMgc2hvdWxkIHN0aWxsIHRha2UgdHJh
bnNhY3Rpb25JZCBhcyBhIHBhcmFtZXRlciB0byBtYWludGFpbiB0aGUgc2FtZSBiZWhhdmlvciBh
cyBpZiBJbnB1dE1ldGhvZFN1cHBvcnQKICAgICAvLyB3ZXJlIHRvIGNhbmNlbCBhIHJlcXVlc3Qg
ZHVyaW5nIHByb2Nlc3NpbmcuCi0gICAgaWYgKHRyYW5zYWN0aW9uSWQgPT0gLTEpIHsgLy8gRXJy
b3IgYmVmb3JlIHNlbmRpbmcgcmVxdWVzdCB0byBpbnB1dCBzZXJ2aWNlLgotICAgICAgICBzcGVs
bENoZWNraW5nUmVxdWVzdENhbmNlbGxlZChzZXF1ZW5jZUlkLCB0cnVlIC8qIGlzU2VxdWVuY2VJ
ZCAqLyk7CisgICAgaWYgKG1fcHJvY2Vzc2luZ1RyYW5zYWN0aW9uSWQgPT0gLTEpIHsgLy8gRXJy
b3IgYmVmb3JlIHNlbmRpbmcgcmVxdWVzdCB0byBpbnB1dCBzZXJ2aWNlLgorICAgICAgICBtX3Jl
cXVlc3QtPmRpZENhbmNlbCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQotCi0gICAgLy8gbWFw
IHNlcXVlbmNlSWQgdG8gdHJhbnNhY3Rpb25JZC4KLSAgICBtX3NlcXVlbmNlTWFwW3RyYW5zYWN0
aW9uSWRdID0gc2VxdWVuY2VJZDsKIH0KIAotaW50MzJfdCBJbnB1dEhhbmRsZXI6OmNvbnZlcnRU
cmFuc2FjdGlvbklkVG9TZXF1ZW5jZUlkKGludDMyX3QgdHJhbnNhY3Rpb25JZCkKK3ZvaWQgSW5w
dXRIYW5kbGVyOjpzcGVsbENoZWNraW5nUmVxdWVzdENhbmNlbGxlZChpbnQzMl90IHRyYW5zYWN0
aW9uSWQpCiB7Ci0gICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06Ok11dGV4TG9ja2VyIGxvY2soJm1f
c2VxdWVuY2VNYXBNdXRleCk7Ci0gICAgc3RkOjptYXA8aW50MzJfdCwgaW50MzJfdD46Oml0ZXJh
dG9yIGl0ID0gbV9zZXF1ZW5jZU1hcC5maW5kKHRyYW5zYWN0aW9uSWQpOwotCi0gICAgaWYgKGl0
ID09IG1fc2VxdWVuY2VNYXAuZW5kKCkpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgaW50MzJf
dCBzZXF1ZW5jZUlkID0gaXQtPnNlY29uZDsKLSAgICAvLyBXZSBvbmx5IGNvbnZlcnQgdGhpcyB2
YWx1ZSB3aGVuIHdlIGhhdmUgcmVjZWl2ZWQgaXRzIHJlc3BvbnNlLCBzbyBpdHMgc2FmZSB0byBy
ZW1vdmUgaXQgZnJvbSB0aGUgbWFwLgotICAgIG1fc2VxdWVuY2VNYXAuZXJhc2UoaXQpOwotCi0g
ICAgcmV0dXJuIHNlcXVlbmNlSWQ7CisgICAgaWYgKHRyYW5zYWN0aW9uSWQgIT0gbV9wcm9jZXNz
aW5nVHJhbnNhY3Rpb25JZCkKKyAgICAgICAgU3BlbGxpbmdMb2coTG9nTGV2ZWxXYXJuLCAiSW5w
dXRIYW5kbGVyOjpzcGVsbENoZWNraW5nUmVxdWVzdENhbmNlbGxlZCBXZSBhcmUgb3V0IG9mIHN5
bmMgd2l0aCBpbnB1dCBzZXJ2aWNlLiBFeHBlY3RlZCB0cmFuc2FjdGlvbiBpZCAlZCwgcmVjZWl2
ZWQgJWQuIiwgbV9wcm9jZXNzaW5nVHJhbnNhY3Rpb25JZCwgdHJhbnNhY3Rpb25JZCk7CisgICAg
ZWxzZQorICAgICAgICBTcGVsbGluZ0xvZyhMb2dMZXZlbFdhcm4sICJJbnB1dEhhbmRsZXI6OnNw
ZWxsQ2hlY2tpbmdSZXF1ZXN0Q2FuY2VsbGVkIFJlcXVlc3Qgd2l0aCB0cmFuc2FjdGlvbiBpZCAl
ZCBoYXMgYmVlbiBjYW5jZWxsZWQuIiwgdHJhbnNhY3Rpb25JZCk7CisgICAgbV9yZXF1ZXN0LT5k
aWRDYW5jZWwoKTsKKyAgICBtX3Byb2Nlc3NpbmdUcmFuc2FjdGlvbklkID0gLTE7CiB9CiAKIHZv
aWQgSW5wdXRIYW5kbGVyOjpzcGVsbENoZWNraW5nUmVxdWVzdFByb2Nlc3NlZChpbnQzMl90IHRy
YW5zYWN0aW9uSWQsIHNwYW5uYWJsZV9zdHJpbmdfdCogc3Bhbm5hYmxlU3RyaW5nKQogeworICAg
IGlmICh0cmFuc2FjdGlvbklkICE9IG1fcHJvY2Vzc2luZ1RyYW5zYWN0aW9uSWQpCisgICAgICAg
IFNwZWxsaW5nTG9nKExvZ0xldmVsV2FybiwgIklucHV0SGFuZGxlcjo6c3BlbGxDaGVja2luZ1Jl
cXVlc3RQcm9jZXNzZWQgV2UgYXJlIG91dCBvZiBzeW5jIHdpdGggaW5wdXQgc2VydmljZS4gRXhw
ZWN0ZWQgdHJhbnNhY3Rpb24gaWQgJWQsIHJlY2VpdmVkICVkLiIsIG1fcHJvY2Vzc2luZ1RyYW5z
YWN0aW9uSWQsIHRyYW5zYWN0aW9uSWQpOworCiAgICAgaWYgKCFzcGFubmFibGVTdHJpbmcgfHwg
IWlzQWN0aXZlVGV4dEVkaXQoKSkgewotICAgICAgICBzcGVsbENoZWNraW5nUmVxdWVzdENhbmNl
bGxlZCh0cmFuc2FjdGlvbklkLCBmYWxzZSAvKiBpc1NlcXVlbmNlSWQgKi8pOworICAgICAgICBT
cGVsbGluZ0xvZyhMb2dMZXZlbFdhcm4sICJJbnB1dEhhbmRsZXI6OnNwZWxsQ2hlY2tpbmdSZXF1
ZXN0UHJvY2Vzc2VkIENhbmNlbGxpbmcgcmVxdWVzdCB3aXRoIHRyYW5zYWN0aW9uSWQgJWQuIiwg
dHJhbnNhY3Rpb25JZCk7CisgICAgICAgIG1fcmVxdWVzdC0+ZGlkQ2FuY2VsKCk7CisgICAgICAg
IG1fcHJvY2Vzc2luZ1RyYW5zYWN0aW9uSWQgPSAtMTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IApAQCAtNjUyLDcgKzYzNyw3IEBAIHZvaWQgSW5wdXRIYW5kbGVyOjpzcGVsbENoZWNraW5nUmVx
dWVzdFByb2Nlc3NlZChpbnQzMl90IHRyYW5zYWN0aW9uSWQsIHNwYW5uYWJsCiAgICAgICAgIGlm
ICghc3BhbikKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBpZiAoc3Bhbi0+ZW5kIDwgc3Bh
bi0+c3RhcnQpIHsKLSAgICAgICAgICAgIHNwZWxsQ2hlY2tpbmdSZXF1ZXN0Q2FuY2VsbGVkKHRy
YW5zYWN0aW9uSWQsIGZhbHNlIC8qIGlzU2VxdWVuY2VJZCAqLyk7CisgICAgICAgICAgICBtX3Jl
cXVlc3QtPmRpZENhbmNlbCgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAg
ICAgIGlmIChzcGFuLT5hdHRyaWJ1dGVzX21hc2sgJiBNSVNTUEVMTEVEX1dPUkRfQVRUUklCKSB7
CkBAIC02NjYsNDQgKzY1MSwxMyBAQCB2b2lkIElucHV0SGFuZGxlcjo6c3BlbGxDaGVja2luZ1Jl
cXVlc3RQcm9jZXNzZWQoaW50MzJfdCB0cmFuc2FjdGlvbklkLCBzcGFubmFibAogICAgICAgICBz
cGFuKys7CiAgICAgfQogCi0gICAgLy8gdHJhbnNhY3Rpb25JZCBoZXJlIGlzIGZvciB1c2Ugd2l0
aCB0aGUgaW5wdXQgc2VydmljZS4gV2UgbmVlZCB0byB0cmFuc2xhdGUgdGhpcyB0byBzZXF1ZW5j
ZUlkIHVzZWQgd2l0aCBTcGVsbENoZWNrZXIuCi0gICAgaW50MzJfdCBzZXF1ZW5jZUlkID0gY29u
dmVydFRyYW5zYWN0aW9uSWRUb1NlcXVlbmNlSWQodHJhbnNhY3Rpb25JZCk7Ci0KLSAgICBTcGVs
bENoZWNrZXIqIHNwZWxsQ2hlY2tlciA9IGdldFNwZWxsQ2hlY2tlcigpOwotICAgIGlmICghc3Bl
bGxDaGVja2VyIHx8ICFzZXF1ZW5jZUlkKSB7Ci0gICAgICAgIFNwZWxsaW5nTG9nKExvZ0xldmVs
V2FybiwgIklucHV0SGFuZGxlcjo6c3BlbGxDaGVja2luZ1JlcXVlc3RQcm9jZXNzZWQgRmFpbGVk
IHRvIHByb2Nlc3MgdGhlIHJlcXVlc3Qgd2l0aCBzZXF1ZW5jZUlkICVkIiwgc2VxdWVuY2VJZCk7
Ci0gICAgICAgIHNwZWxsQ2hlY2tpbmdSZXF1ZXN0Q2FuY2VsbGVkKHNlcXVlbmNlSWQsIHRydWUg
LyogaXNTZXF1ZW5jZUlkICovKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBzcGVsbENo
ZWNrZXItPmRpZENoZWNrU3VjY2VlZChzZXF1ZW5jZUlkLCByZXN1bHRzKTsKLX0KLQotdm9pZCBJ
bnB1dEhhbmRsZXI6OmNhbmNlbEFsbFNwZWxsQ2hlY2tpbmdSZXF1ZXN0cygpCi17Ci0gICAgQmxh
Y2tCZXJyeTo6UGxhdGZvcm06Ok11dGV4TG9ja2VyIGxvY2soJm1fc2VxdWVuY2VNYXBNdXRleCk7
Ci0gICAgZm9yIChzdGQ6Om1hcDxpbnQzMl90LCBpbnQzMl90Pjo6aXRlcmF0b3IgaXQgPSBtX3Nl
cXVlbmNlTWFwLmJlZ2luKCk7IGl0ICE9IG1fc2VxdWVuY2VNYXAuZW5kKCk7ICsraXQpCi0gICAg
ICAgIHNwZWxsQ2hlY2tpbmdSZXF1ZXN0Q2FuY2VsbGVkKGl0LT5zZWNvbmQsIHRydWUgLyogaXNT
ZXF1ZW5jZUlkICovKTsKLSAgICBtX3NlcXVlbmNlTWFwLmNsZWFyKCk7Ci19Ci0KLXZvaWQgSW5w
dXRIYW5kbGVyOjpzcGVsbENoZWNraW5nUmVxdWVzdENhbmNlbGxlZChpbnQzMl90IGlkLCBib29s
IGlzU2VxdWVuY2VJZCkKLXsKLSAgICBpZiAoIWlzQWN0aXZlVGV4dEVkaXQoKSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgaW50MzJfdCBzZXF1ZW5jZUlkID0gaXNTZXF1ZW5jZUlkID8gaWQgOiBj
b252ZXJ0VHJhbnNhY3Rpb25JZFRvU2VxdWVuY2VJZChpZCk7Ci0gICAgU3BlbGxDaGVja2VyKiBz
cGVsbENoZWNrZXIgPSBnZXRTcGVsbENoZWNrZXIoKTsKLSAgICBpZiAoIXNwZWxsQ2hlY2tlciB8
fCAhc2VxdWVuY2VJZCkgewotICAgICAgICBTcGVsbGluZ0xvZyhMb2dMZXZlbFdhcm4sICJJbnB1
dEhhbmRsZXI6OnNwZWxsQ2hlY2tpbmdSZXF1ZXN0Q2FuY2VsbGVkIGZhaWxlZCB0byBjYW5jZWwg
dGhlIHJlcXVlc3Qgd2l0aCBzZXF1ZW5jZUlkICVkIiwgc2VxdWVuY2VJZCk7Ci0gICAgICAgIHJl
dHVybjsKLSAgICB9Ci0gICAgc3BlbGxDaGVja2VyLT5kaWRDaGVja0NhbmNlbChzZXF1ZW5jZUlk
KTsKKyAgICBtX3JlcXVlc3QtPmRpZFN1Y2NlZWQocmVzdWx0cyk7CiB9CiAKIFNwZWxsQ2hlY2tl
ciogSW5wdXRIYW5kbGVyOjpnZXRTcGVsbENoZWNrZXIoKQogewotICAgIEFTU0VSVChtX2N1cnJl
bnRGb2N1c0VsZW1lbnQpOwotICAgIEFTU0VSVChtX2N1cnJlbnRGb2N1c0VsZW1lbnQtPmRvY3Vt
ZW50KCkpOworICAgIGlmICghbV9jdXJyZW50Rm9jdXNFbGVtZW50IHx8ICFtX2N1cnJlbnRGb2N1
c0VsZW1lbnQtPmRvY3VtZW50KCkpCisgICAgICAgIHJldHVybiAwOwogCiAgICAgaWYgKEZyYW1l
KiBmcmFtZSA9IG1fY3VycmVudEZvY3VzRWxlbWVudC0+ZG9jdW1lbnQoKS0+ZnJhbWUoKSkKICAg
ICAgICAgaWYgKEVkaXRvciogZWRpdG9yID0gZnJhbWUtPmVkaXRvcigpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvSW5wdXRIYW5kbGVyLmggYi9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9JbnB1dEhhbmRsZXIuaAppbmRl
eCBlNmQzMjk3ZjcwZTk1N2ZmMjczNjRhNjU5OTA1NmVkMDlhN2RhY2ZjLi45OWVmNjNmODM1N2E5
YmEzMDk2MjEyZGY0NGYzZjRjOTRhMTIzYTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvV2ViS2l0U3VwcG9ydC9JbnB1dEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9JbnB1dEhhbmRsZXIuaApAQCAtMTM0LDcgKzEzNCw3
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVxdWVzdENoZWNraW5nT2ZTdHJpbmcoV1RGOjpQYXNz
UmVmUHRyPFdlYkNvcmU6OlRleHRDaGVja2luZ1JlcXVlc3Q+KTsKICAgICB2b2lkIHNwZWxsQ2hl
Y2tpbmdSZXF1ZXN0UHJvY2Vzc2VkKGludDMyX3QgdHJhbnNhY3Rpb25JZCwgc3Bhbm5hYmxlX3N0
cmluZ190Kik7Ci0gICAgdm9pZCBzcGVsbENoZWNraW5nUmVxdWVzdENhbmNlbGxlZChpbnQzMl90
IGlkLCBib29sIGlzU2VxdWVuY2VJZCA9IGZhbHNlKTsKKyAgICB2b2lkIHNwZWxsQ2hlY2tpbmdS
ZXF1ZXN0Q2FuY2VsbGVkKGludDMyX3QgdHJhbnNhY3Rpb25JZCk7CiAKICAgICBib29sIHNob3Vs
ZFJlcXVlc3RTcGVsbENoZWNraW5nT3B0aW9uc0ZvclBvaW50KFBsYXRmb3JtOjpJbnRQb2ludCYs
IGNvbnN0IFdlYkNvcmU6OkVsZW1lbnQqLCBpbWZfc3BfdGV4dF90Jik7CiAgICAgdm9pZCByZXF1
ZXN0U3BlbGxpbmdDaGVja2luZ09wdGlvbnMoaW1mX3NwX3RleHRfdCYpOwpAQCAtMTk0LDEwICsx
OTQsOCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBsZWFyblRleHQoKTsKICAgICB2b2lkIHNlbmRM
ZWFyblRleHREZXRhaWxzKGNvbnN0IFdURjo6U3RyaW5nJik7Ci0gICAgaW50MzJfdCBjb252ZXJ0
VHJhbnNhY3Rpb25JZFRvU2VxdWVuY2VJZChpbnQzMl90IHRyYW5zYWN0aW9uSWQpOwogICAgIHZv
aWQgc3BlbGxDaGVja0Jsb2NrKFdlYkNvcmU6OlZpc2libGVTZWxlY3Rpb24mLCBXZWJDb3JlOjpU
ZXh0Q2hlY2tpbmdQcm9jZXNzVHlwZSk7CiAgICAgUGFzc1JlZlB0cjxXZWJDb3JlOjpSYW5nZT4g
Z2V0UmFuZ2VGb3JTcGVsbENoZWNrV2l0aEZpbmVHcmFudWxhcml0eShXZWJDb3JlOjpWaXNpYmxl
UG9zaXRpb24gc3RhcnRQb3NpdGlvbiwgV2ViQ29yZTo6VmlzaWJsZVBvc2l0aW9uIGVuZFBvc2l0
aW9uKTsKLSAgICB2b2lkIGNhbmNlbEFsbFNwZWxsQ2hlY2tpbmdSZXF1ZXN0cygpOwogICAgIFdl
YkNvcmU6OlNwZWxsQ2hlY2tlciogZ2V0U3BlbGxDaGVja2VyKCk7CiAgICAgYm9vbCBzaG91bGRT
cGVsbENoZWNrRWxlbWVudChjb25zdCBXZWJDb3JlOjpFbGVtZW50KikgY29uc3Q7CiAKQEAgLTIx
OCw4ICsyMTYsOCBAQCBwcml2YXRlOgogICAgIFBlbmRpbmdLZXlib2FyZFN0YXRlQ2hhbmdlIG1f
cGVuZGluZ0tleWJvYXJkVmlzaWJpbGl0eUNoYW5nZTsKICAgICBib29sIG1fZGVsYXlLZXlib2Fy
ZFZpc2liaWxpdHlDaGFuZ2U7CiAKLSAgICBzdGQ6Om1hcDxpbnQzMl90LCBpbnQzMl90PiBtX3Nl
cXVlbmNlTWFwOwotICAgIHB0aHJlYWRfbXV0ZXhfdCBtX3NlcXVlbmNlTWFwTXV0ZXg7CisgICAg
UmVmUHRyPFdlYkNvcmU6OlRleHRDaGVja2luZ1JlcXVlc3Q+IG1fcmVxdWVzdDsKKyAgICBpbnQz
Ml90IG1fcHJvY2Vzc2luZ1RyYW5zYWN0aW9uSWQ7CiB9OwogCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164603</attachid>
            <date>2012-09-18 12:43:10 -0700</date>
            <delta_ts>2012-09-18 14:38:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97033-20120918153808.patch</filename>
            <type>text/plain</type>
            <size>12972</size>
            <attacher name="Nima Ghanavatian">nima.ghanavatian</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4OTE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCA2MjRhY2Y3ZTNiZGExMTZiNTNhNTRiMTNjY2QwYWExN2YwNzYxMDkyLi5iZWNhMGEyNmJm
MTk0Y2RjYTQyODFmZDljYTI0Y2IzOTE4YjQzOTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMi0wOS0xNCAgTmltYSBHaGFuYXZhdGlhbiAgPG5n
aGFuYXZhdGlhbkByaW0uY29tPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBVc2UgZGlkQ2FuY2Vs
IGFuZCBkaWRTdWNjZWVkIGluc3RlYWQgb2YgZGlkQ2hlY2tDYW5jZWwgYW5kIGRpZENoZWNrU3Vj
Y2VlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTcw
MzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2lu
ZyB0aGVzZSBwcmVmZXJyZWQgcHVibGljIG1ldGhvZHMgKHRoZSBsYXR0ZXIgaGFzIGEgbm90ZSB0
byBiZSBtYWRlIHByaXZhdGUpIGVuc3VyZXMgdGhhdAorICAgICAgICB0aGUgcmlnaHQgU3BlbGxD
aGVja2VyIG9iamVjdCBpcyBiZWluZyBjYWxsZWQgZHVyaW5nIHRoZSBjYWxsYmFjayBpbiBzcGVs
bENoZWNraW5nUmVxdWVzdFByb2Nlc3NlZAorICAgICAgICBhbmQgc3BlbGxDaGVja2luZ1JlcXVl
c3RDYW5jZWxsZWQuCisKKyAgICAgICAgSW50ZXJuYWxseSByZXZpZXdlZCBieSBNaWtlIEZlbnRv
bi4KKworICAgICAgICBCeSByZWZlcmVuY2luZyB0aGUgVGV4dENoZWNraW5nUmVxdWVzdCBvYmpl
Y3QncyBtZXRob2RzLCB3ZSBkb24ndCBuZWVkIHRvIGtlZXAgdHJhY2sgb2YgdGhlIGFzc29jaWF0
ZWQKKyAgICAgICAgU3BlbGxDaGVja2VyIGZvciBlYWNoIHJlcXVlc3QuIFJlbW92aW5nIG11Y2gg
b2YgdGhlIGNvZGUgdGhhdCB3YXMgcHV0IGluIHBsYWNlIGluY29ycmVjdGx5IHRvIGFjaGlldmUg
dGhpcy4KKworICAgICAgICAqIFdlYktpdFN1cHBvcnQvSW5wdXRIYW5kbGVyLmNwcDoKKyAgICAg
ICAgKEJsYWNrQmVycnk6OldlYktpdDo6SW5wdXRIYW5kbGVyOjpJbnB1dEhhbmRsZXIpOgorICAg
ICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpJbnB1dEhhbmRsZXI6OnJlcXVlc3RDaGVja2luZ09m
U3RyaW5nKToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6SW5wdXRIYW5kbGVyOjpzcGVs
bENoZWNraW5nUmVxdWVzdENhbmNlbGxlZCk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6
OklucHV0SGFuZGxlcjo6c3BlbGxDaGVja2luZ1JlcXVlc3RQcm9jZXNzZWQpOgorICAgICAgICAo
QmxhY2tCZXJyeTo6V2ViS2l0OjpJbnB1dEhhbmRsZXI6OmdldFNwZWxsQ2hlY2tlcik6CisgICAg
ICAgICogV2ViS2l0U3VwcG9ydC9JbnB1dEhhbmRsZXIuaDoKKyAgICAgICAgKElucHV0SGFuZGxl
cik6CisKIDIwMTItMDktMTggIEFydmlkIE5pbHNzb24gIDxhbmlsc3NvbkByaW0uY29tPgogCiAg
ICAgICAgIFtCbGFja0JlcnJ5XSBQcmV2ZW50IHNjcm9sbCBhZGp1c3RtZW50IG9mIGlucHV0IGZp
ZWxkcyB3aGVuIHJlZ2lvbiBvZiBpbnRlcmVzdCBtZWNoYW5pc20gYWN0aXZlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9JbnB1dEhhbmRsZXIuY3Bw
IGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvSW5wdXRIYW5kbGVyLmNw
cAppbmRleCAwMDQ4YTY0MzAwZmU1ZWE0NjRhYWJmYzE4M2MzYjNmYTI1YzQyZjg4Li44ZWE4MzNl
NDMxZmEwODgxODgyZGY2NWIxZDI5YmNhMGIxNTA1YzM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9JbnB1dEhhbmRsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0lucHV0SGFuZGxlci5jcHAKQEAgLTEz
Niw4ICsxMzYsOSBAQCBJbnB1dEhhbmRsZXI6OklucHV0SGFuZGxlcihXZWJQYWdlUHJpdmF0ZSog
cGFnZSkKICAgICAsIG1fY29tcG9zaW5nVGV4dEVuZCgwKQogICAgICwgbV9wZW5kaW5nS2V5Ym9h
cmRWaXNpYmlsaXR5Q2hhbmdlKE5vQ2hhbmdlKQogICAgICwgbV9kZWxheUtleWJvYXJkVmlzaWJp
bGl0eUNoYW5nZShmYWxzZSkKKyAgICAsIG1fcmVxdWVzdCgwKQorICAgICwgbV9wcm9jZXNzaW5n
VHJhbnNhY3Rpb25JZCgtMSkKIHsKLSAgICBwdGhyZWFkX211dGV4X2luaXQoJm1fc2VxdWVuY2VN
YXBNdXRleCwgMCk7CiB9CiAKIElucHV0SGFuZGxlcjo6fklucHV0SGFuZGxlcigpCkBAIC01NDUs
MzIgKzU0NiwyNSBAQCB2b2lkIElucHV0SGFuZGxlcjo6bGVhcm5UZXh0KCkKIAogdm9pZCBJbnB1
dEhhbmRsZXI6OnJlcXVlc3RDaGVja2luZ09mU3RyaW5nKFBhc3NSZWZQdHI8V2ViQ29yZTo6VGV4
dENoZWNraW5nUmVxdWVzdD4gdGV4dENoZWNraW5nUmVxdWVzdCkKIHsKLSAgICBSZWZQdHI8V2Vi
Q29yZTo6VGV4dENoZWNraW5nUmVxdWVzdD4gcmVxdWVzdCA9IHRleHRDaGVja2luZ1JlcXVlc3Q7
CisgICAgbV9yZXF1ZXN0ID0gdGV4dENoZWNraW5nUmVxdWVzdDsKIAotICAgIGludDMyX3Qgc2Vx
dWVuY2VJZCA9IHJlcXVlc3QtPnNlcXVlbmNlKCk7Ci0KLSAgICBpZiAoIWlzQWN0aXZlVGV4dEVk
aXQoKSkgewotICAgICAgICBzcGVsbENoZWNraW5nUmVxdWVzdENhbmNlbGxlZChzZXF1ZW5jZUlk
LCB0cnVlIC8qIGlzU2VxdWVuY2VJZCAqLyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAg
ICAvLyBDaGVjayBpZiB0aGUgZmllbGQgc2hvdWxkIGJlIHNwZWxsY2hlY2tlZC4KLSAgICBpZiAo
IXNob3VsZFNwZWxsQ2hlY2tFbGVtZW50KG1fY3VycmVudEZvY3VzRWxlbWVudC5nZXQoKSkpIHsK
LSAgICAgICAgc3BlbGxDaGVja2luZ1JlcXVlc3RDYW5jZWxsZWQoc2VxdWVuY2VJZCwgdHJ1ZSAv
KiBpc1NlcXVlbmNlSWQgKi8pOworICAgIGlmICghbV9yZXF1ZXN0KSB7CisgICAgICAgIFNwZWxs
aW5nTG9nKExvZ0xldmVsV2FybiwgIklucHV0SGFuZGxlcjo6cmVxdWVzdENoZWNraW5nT2ZTdHJp
bmcgZGlkIG5vdCByZWNlaXZlIGEgdmFsaWQgcmVxdWVzdC4iKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgIHVuc2lnbmVkIHJlcXVlc3RMZW5ndGggPSByZXF1ZXN0LT50ZXh0KCkubGVu
Z3RoKCk7CisgICAgdW5zaWduZWQgcmVxdWVzdExlbmd0aCA9IG1fcmVxdWVzdC0+dGV4dCgpLmxl
bmd0aCgpOwogCi0gICAgaWYgKHJlcXVlc3RMZW5ndGggPCAyKSB7Ci0gICAgICAgIHNwZWxsQ2hl
Y2tpbmdSZXF1ZXN0Q2FuY2VsbGVkKHNlcXVlbmNlSWQsIHRydWUgLyogaXNTZXF1ZW5jZUlkICov
KTsKKyAgICAvLyBDaGVjayBpZiB0aGUgZmllbGQgc2hvdWxkIGJlIHNwZWxsY2hlY2tlZC4KKyAg
ICBpZiAoIWlzQWN0aXZlVGV4dEVkaXQoKSB8fCAhc2hvdWxkU3BlbGxDaGVja0VsZW1lbnQobV9j
dXJyZW50Rm9jdXNFbGVtZW50LmdldCgpKSB8fCByZXF1ZXN0TGVuZ3RoIDwgMikgeworICAgICAg
ICBtX3JlcXVlc3QtPmRpZENhbmNlbCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAg
aWYgKHJlcXVlc3RMZW5ndGggPiBNYXhTcGVsbENoZWNraW5nU3RyaW5nTGVuZ3RoKSB7CiAgICAg
ICAgIC8vIENhbmNlbCB0aGlzIHJlcXVlc3QgYW5kIHNlbmQgaXQgb2ZmIGluIG5ld2x5IGNyZWF0
ZWQgY2h1bmtzLgotICAgICAgICBzcGVsbENoZWNraW5nUmVxdWVzdENhbmNlbGxlZChzZXF1ZW5j
ZUlkLCB0cnVlIC8qIGlzU2VxdWVuY2VJZCAqLyk7Ci0gICAgICAgIGlmIChtX2N1cnJlbnRGb2N1
c0VsZW1lbnQgJiYgbV9jdXJyZW50Rm9jdXNFbGVtZW50LT5kb2N1bWVudCgpICYmIG1fY3VycmVu
dEZvY3VzRWxlbWVudC0+ZG9jdW1lbnQoKS0+ZnJhbWUoKSAmJiBtX2N1cnJlbnRGb2N1c0VsZW1l
bnQtPmRvY3VtZW50KCktPmZyYW1lKCktPnNlbGVjdGlvbigpKSB7CisgICAgICAgIG1fcmVxdWVz
dC0+ZGlkQ2FuY2VsKCk7CisgICAgICAgIGlmIChtX2N1cnJlbnRGb2N1c0VsZW1lbnQtPmRvY3Vt
ZW50KCkgJiYgbV9jdXJyZW50Rm9jdXNFbGVtZW50LT5kb2N1bWVudCgpLT5mcmFtZSgpICYmIG1f
Y3VycmVudEZvY3VzRWxlbWVudC0+ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+c2VsZWN0aW9uKCkpIHsK
ICAgICAgICAgICAgIC8vIENvbnZlcnQgZnJvbSBwb3NpdGlvbiBiYWNrIHRvIHNlbGVjdGlvbiBz
byB3ZSBjYW4gZXhwYW5kIHRoZSByYW5nZSB0byBpbmNsdWRlIHRoZSBwcmV2aW91cyBsaW5lLiBU
aGlzIHNob3VsZCBoYW5kbGUgY2FzZXMgd2hlbiB0aGUgdXNlciBoaXRzCiAgICAgICAgICAgICAv
LyBlbnRlciB0byBmaW5pc2ggY29tcG9zaW5nIGEgd29yZCBhbmQgY3JlYXRlIGEgbmV3IGxpbmUu
CiAgICAgICAgICAgICBWaXNpYmxlUG9zaXRpb24gY2FyZXRQb3NpdGlvbiA9IG1fY3VycmVudEZv
Y3VzRWxlbWVudC0+ZG9jdW1lbnQoKS0+ZnJhbWUoKS0+c2VsZWN0aW9uKCktPnN0YXJ0KCk7CkBA
IC01ODMsNTMgKzU3Nyw0OSBAQCB2b2lkIElucHV0SGFuZGxlcjo6cmVxdWVzdENoZWNraW5nT2ZT
dHJpbmcoUGFzc1JlZlB0cjxXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXF1ZQogICAgIHdjaGFyX3Qq
IGNoZWNraW5nU3RyaW5nID0gKHdjaGFyX3QqKW1hbGxvYyhzaXplb2Yod2NoYXJfdCkgKiAocmVx
dWVzdExlbmd0aCArIDEpKTsKICAgICBpZiAoIWNoZWNraW5nU3RyaW5nKSB7CiAgICAgICAgIGxv
Z0Fsd2F5cyhMb2dMZXZlbENyaXRpY2FsLCAiSW5wdXRIYW5kbGVyOjpyZXF1ZXN0Q2hlY2tpbmdP
ZlN0cmluZyBDYW5ub3QgYWxsb2NhdGUgbWVtb3J5IGZvciBzdHJpbmcuIik7Ci0gICAgICAgIHNw
ZWxsQ2hlY2tpbmdSZXF1ZXN0Q2FuY2VsbGVkKHNlcXVlbmNlSWQsIHRydWUgLyogaXNTZXF1ZW5j
ZUlkICovKTsKKyAgICAgICAgbV9yZXF1ZXN0LT5kaWRDYW5jZWwoKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAogICAgIGludCBwYXJhZ3JhcGhMZW5ndGggPSAwOwotICAgIGlmICghY29udmVy
dFN0cmluZ1RvV2NoYXIocmVxdWVzdC0+dGV4dCgpLCBjaGVja2luZ1N0cmluZywgcmVxdWVzdExl
bmd0aCArIDEsICZwYXJhZ3JhcGhMZW5ndGgpKSB7CisgICAgaWYgKCFjb252ZXJ0U3RyaW5nVG9X
Y2hhcihtX3JlcXVlc3QtPnRleHQoKSwgY2hlY2tpbmdTdHJpbmcsIHJlcXVlc3RMZW5ndGggKyAx
LCAmcGFyYWdyYXBoTGVuZ3RoKSkgewogICAgICAgICBsb2dBbHdheXMoTG9nTGV2ZWxDcml0aWNh
bCwgIklucHV0SGFuZGxlcjo6cmVxdWVzdENoZWNraW5nT2ZTdHJpbmcgRmFpbGVkIHRvIGNvbnZl
cnQgU3RyaW5nIHRvIHdjaGFyIHR5cGUuIik7CiAgICAgICAgIGZyZWUoY2hlY2tpbmdTdHJpbmcp
OwotICAgICAgICBzcGVsbENoZWNraW5nUmVxdWVzdENhbmNlbGxlZChzZXF1ZW5jZUlkLCB0cnVl
IC8qIGlzU2VxdWVuY2VJZCAqLyk7CisgICAgICAgIG1fcmVxdWVzdC0+ZGlkQ2FuY2VsKCk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TXV0ZXhM
b2NrZXIgbG9jaygmbV9zZXF1ZW5jZU1hcE11dGV4KTsKLSAgICBpbnQzMl90IHRyYW5zYWN0aW9u
SWQgPSBtX3dlYlBhZ2UtPm1fY2xpZW50LT5jaGVja1NwZWxsaW5nT2ZTdHJpbmdBc3luYyhjaGVj
a2luZ1N0cmluZywgcGFyYWdyYXBoTGVuZ3RoKTsKKyAgICBtX3Byb2Nlc3NpbmdUcmFuc2FjdGlv
bklkID0gbV93ZWJQYWdlLT5tX2NsaWVudC0+Y2hlY2tTcGVsbGluZ09mU3RyaW5nQXN5bmMoY2hl
Y2tpbmdTdHJpbmcsIHBhcmFncmFwaExlbmd0aCk7CiAgICAgZnJlZShjaGVja2luZ1N0cmluZyk7
CiAKICAgICAvLyBJZiB0aGUgY2FsbCB0byB0aGUgaW5wdXQgc2VydmljZSBkaWQgbm90IGdvIHRo
cm91Z2gsIHRoZW4gY2FuY2VsIHRoZSByZXF1ZXN0IHNvIHdlIGRvbid0IGJsb2NrIGVuZGxlc3Ns
eS4KICAgICAvLyBUaGlzIHNob3VsZCBzdGlsbCB0YWtlIHRyYW5zYWN0aW9uSWQgYXMgYSBwYXJh
bWV0ZXIgdG8gbWFpbnRhaW4gdGhlIHNhbWUgYmVoYXZpb3IgYXMgaWYgSW5wdXRNZXRob2RTdXBw
b3J0CiAgICAgLy8gd2VyZSB0byBjYW5jZWwgYSByZXF1ZXN0IGR1cmluZyBwcm9jZXNzaW5nLgot
ICAgIGlmICh0cmFuc2FjdGlvbklkID09IC0xKSB7IC8vIEVycm9yIGJlZm9yZSBzZW5kaW5nIHJl
cXVlc3QgdG8gaW5wdXQgc2VydmljZS4KLSAgICAgICAgc3BlbGxDaGVja2luZ1JlcXVlc3RDYW5j
ZWxsZWQoc2VxdWVuY2VJZCwgdHJ1ZSAvKiBpc1NlcXVlbmNlSWQgKi8pOworICAgIGlmIChtX3By
b2Nlc3NpbmdUcmFuc2FjdGlvbklkID09IC0xKSB7IC8vIEVycm9yIGJlZm9yZSBzZW5kaW5nIHJl
cXVlc3QgdG8gaW5wdXQgc2VydmljZS4KKyAgICAgICAgbV9yZXF1ZXN0LT5kaWRDYW5jZWwoKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KLQotICAgIC8vIG1hcCBzZXF1ZW5jZUlkIHRvIHRyYW5z
YWN0aW9uSWQuCi0gICAgbV9zZXF1ZW5jZU1hcFt0cmFuc2FjdGlvbklkXSA9IHNlcXVlbmNlSWQ7
CiB9CiAKLWludDMyX3QgSW5wdXRIYW5kbGVyOjpjb252ZXJ0VHJhbnNhY3Rpb25JZFRvU2VxdWVu
Y2VJZChpbnQzMl90IHRyYW5zYWN0aW9uSWQpCit2b2lkIElucHV0SGFuZGxlcjo6c3BlbGxDaGVj
a2luZ1JlcXVlc3RDYW5jZWxsZWQoaW50MzJfdCB0cmFuc2FjdGlvbklkKQogewotICAgIEJsYWNr
QmVycnk6OlBsYXRmb3JtOjpNdXRleExvY2tlciBsb2NrKCZtX3NlcXVlbmNlTWFwTXV0ZXgpOwot
ICAgIHN0ZDo6bWFwPGludDMyX3QsIGludDMyX3Q+OjppdGVyYXRvciBpdCA9IG1fc2VxdWVuY2VN
YXAuZmluZCh0cmFuc2FjdGlvbklkKTsKLQotICAgIGlmIChpdCA9PSBtX3NlcXVlbmNlTWFwLmVu
ZCgpKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIGludDMyX3Qgc2VxdWVuY2VJZCA9IGl0LT5z
ZWNvbmQ7Ci0gICAgLy8gV2Ugb25seSBjb252ZXJ0IHRoaXMgdmFsdWUgd2hlbiB3ZSBoYXZlIHJl
Y2VpdmVkIGl0cyByZXNwb25zZSwgc28gaXRzIHNhZmUgdG8gcmVtb3ZlIGl0IGZyb20gdGhlIG1h
cC4KLSAgICBtX3NlcXVlbmNlTWFwLmVyYXNlKGl0KTsKLQotICAgIHJldHVybiBzZXF1ZW5jZUlk
OworICAgIGlmICh0cmFuc2FjdGlvbklkICE9IG1fcHJvY2Vzc2luZ1RyYW5zYWN0aW9uSWQpCisg
ICAgICAgIFNwZWxsaW5nTG9nKExvZ0xldmVsV2FybiwgIklucHV0SGFuZGxlcjo6c3BlbGxDaGVj
a2luZ1JlcXVlc3RDYW5jZWxsZWQgV2UgYXJlIG91dCBvZiBzeW5jIHdpdGggaW5wdXQgc2Vydmlj
ZS4gRXhwZWN0ZWQgdHJhbnNhY3Rpb24gaWQgJWQsIHJlY2VpdmVkICVkLiIsIG1fcHJvY2Vzc2lu
Z1RyYW5zYWN0aW9uSWQsIHRyYW5zYWN0aW9uSWQpOworICAgIGVsc2UKKyAgICAgICAgU3BlbGxp
bmdMb2coTG9nTGV2ZWxXYXJuLCAiSW5wdXRIYW5kbGVyOjpzcGVsbENoZWNraW5nUmVxdWVzdENh
bmNlbGxlZCBSZXF1ZXN0IHdpdGggdHJhbnNhY3Rpb24gaWQgJWQgaGFzIGJlZW4gY2FuY2VsbGVk
LiIsIHRyYW5zYWN0aW9uSWQpOworICAgIG1fcmVxdWVzdC0+ZGlkQ2FuY2VsKCk7CisgICAgbV9w
cm9jZXNzaW5nVHJhbnNhY3Rpb25JZCA9IC0xOwogfQogCiB2b2lkIElucHV0SGFuZGxlcjo6c3Bl
bGxDaGVja2luZ1JlcXVlc3RQcm9jZXNzZWQoaW50MzJfdCB0cmFuc2FjdGlvbklkLCBzcGFubmFi
bGVfc3RyaW5nX3QqIHNwYW5uYWJsZVN0cmluZykKIHsKKyAgICBpZiAodHJhbnNhY3Rpb25JZCAh
PSBtX3Byb2Nlc3NpbmdUcmFuc2FjdGlvbklkKQorICAgICAgICBTcGVsbGluZ0xvZyhMb2dMZXZl
bFdhcm4sICJJbnB1dEhhbmRsZXI6OnNwZWxsQ2hlY2tpbmdSZXF1ZXN0UHJvY2Vzc2VkIFdlIGFy
ZSBvdXQgb2Ygc3luYyB3aXRoIGlucHV0IHNlcnZpY2UuIEV4cGVjdGVkIHRyYW5zYWN0aW9uIGlk
ICVkLCByZWNlaXZlZCAlZC4iLCBtX3Byb2Nlc3NpbmdUcmFuc2FjdGlvbklkLCB0cmFuc2FjdGlv
bklkKTsKKwogICAgIGlmICghc3Bhbm5hYmxlU3RyaW5nIHx8ICFpc0FjdGl2ZVRleHRFZGl0KCkp
IHsKLSAgICAgICAgc3BlbGxDaGVja2luZ1JlcXVlc3RDYW5jZWxsZWQodHJhbnNhY3Rpb25JZCwg
ZmFsc2UgLyogaXNTZXF1ZW5jZUlkICovKTsKKyAgICAgICAgU3BlbGxpbmdMb2coTG9nTGV2ZWxX
YXJuLCAiSW5wdXRIYW5kbGVyOjpzcGVsbENoZWNraW5nUmVxdWVzdFByb2Nlc3NlZCBDYW5jZWxs
aW5nIHJlcXVlc3Qgd2l0aCB0cmFuc2FjdGlvbklkICVkLiIsIHRyYW5zYWN0aW9uSWQpOworICAg
ICAgICBtX3JlcXVlc3QtPmRpZENhbmNlbCgpOworICAgICAgICBtX3Byb2Nlc3NpbmdUcmFuc2Fj
dGlvbklkID0gLTE7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTY0OCw3ICs2MzgsNyBA
QCB2b2lkIElucHV0SGFuZGxlcjo6c3BlbGxDaGVja2luZ1JlcXVlc3RQcm9jZXNzZWQoaW50MzJf
dCB0cmFuc2FjdGlvbklkLCBzcGFubmFibAogICAgICAgICBpZiAoIXNwYW4pCiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgaWYgKHNwYW4tPmVuZCA8IHNwYW4tPnN0YXJ0KSB7Ci0gICAgICAg
ICAgICBzcGVsbENoZWNraW5nUmVxdWVzdENhbmNlbGxlZCh0cmFuc2FjdGlvbklkLCBmYWxzZSAv
KiBpc1NlcXVlbmNlSWQgKi8pOworICAgICAgICAgICAgbV9yZXF1ZXN0LT5kaWRDYW5jZWwoKTsK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBpZiAoc3Bhbi0+YXR0cmli
dXRlc19tYXNrICYgTUlTU1BFTExFRF9XT1JEX0FUVFJJQikgewpAQCAtNjYyLDQ0ICs2NTIsMTMg
QEAgdm9pZCBJbnB1dEhhbmRsZXI6OnNwZWxsQ2hlY2tpbmdSZXF1ZXN0UHJvY2Vzc2VkKGludDMy
X3QgdHJhbnNhY3Rpb25JZCwgc3Bhbm5hYmwKICAgICAgICAgc3BhbisrOwogICAgIH0KIAotICAg
IC8vIHRyYW5zYWN0aW9uSWQgaGVyZSBpcyBmb3IgdXNlIHdpdGggdGhlIGlucHV0IHNlcnZpY2Uu
IFdlIG5lZWQgdG8gdHJhbnNsYXRlIHRoaXMgdG8gc2VxdWVuY2VJZCB1c2VkIHdpdGggU3BlbGxD
aGVja2VyLgotICAgIGludDMyX3Qgc2VxdWVuY2VJZCA9IGNvbnZlcnRUcmFuc2FjdGlvbklkVG9T
ZXF1ZW5jZUlkKHRyYW5zYWN0aW9uSWQpOwotCi0gICAgU3BlbGxDaGVja2VyKiBzcGVsbENoZWNr
ZXIgPSBnZXRTcGVsbENoZWNrZXIoKTsKLSAgICBpZiAoIXNwZWxsQ2hlY2tlciB8fCAhc2VxdWVu
Y2VJZCkgewotICAgICAgICBTcGVsbGluZ0xvZyhMb2dMZXZlbFdhcm4sICJJbnB1dEhhbmRsZXI6
OnNwZWxsQ2hlY2tpbmdSZXF1ZXN0UHJvY2Vzc2VkIEZhaWxlZCB0byBwcm9jZXNzIHRoZSByZXF1
ZXN0IHdpdGggc2VxdWVuY2VJZCAlZCIsIHNlcXVlbmNlSWQpOwotICAgICAgICBzcGVsbENoZWNr
aW5nUmVxdWVzdENhbmNlbGxlZChzZXF1ZW5jZUlkLCB0cnVlIC8qIGlzU2VxdWVuY2VJZCAqLyk7
Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgc3BlbGxDaGVja2VyLT5kaWRDaGVja1N1Y2Nl
ZWRlZChzZXF1ZW5jZUlkLCByZXN1bHRzKTsKLX0KLQotdm9pZCBJbnB1dEhhbmRsZXI6OmNhbmNl
bEFsbFNwZWxsQ2hlY2tpbmdSZXF1ZXN0cygpCi17Ci0gICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06
Ok11dGV4TG9ja2VyIGxvY2soJm1fc2VxdWVuY2VNYXBNdXRleCk7Ci0gICAgZm9yIChzdGQ6Om1h
cDxpbnQzMl90LCBpbnQzMl90Pjo6aXRlcmF0b3IgaXQgPSBtX3NlcXVlbmNlTWFwLmJlZ2luKCk7
IGl0ICE9IG1fc2VxdWVuY2VNYXAuZW5kKCk7ICsraXQpCi0gICAgICAgIHNwZWxsQ2hlY2tpbmdS
ZXF1ZXN0Q2FuY2VsbGVkKGl0LT5zZWNvbmQsIHRydWUgLyogaXNTZXF1ZW5jZUlkICovKTsKLSAg
ICBtX3NlcXVlbmNlTWFwLmNsZWFyKCk7Ci19Ci0KLXZvaWQgSW5wdXRIYW5kbGVyOjpzcGVsbENo
ZWNraW5nUmVxdWVzdENhbmNlbGxlZChpbnQzMl90IGlkLCBib29sIGlzU2VxdWVuY2VJZCkKLXsK
LSAgICBpZiAoIWlzQWN0aXZlVGV4dEVkaXQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaW50
MzJfdCBzZXF1ZW5jZUlkID0gaXNTZXF1ZW5jZUlkID8gaWQgOiBjb252ZXJ0VHJhbnNhY3Rpb25J
ZFRvU2VxdWVuY2VJZChpZCk7Ci0gICAgU3BlbGxDaGVja2VyKiBzcGVsbENoZWNrZXIgPSBnZXRT
cGVsbENoZWNrZXIoKTsKLSAgICBpZiAoIXNwZWxsQ2hlY2tlciB8fCAhc2VxdWVuY2VJZCkgewot
ICAgICAgICBTcGVsbGluZ0xvZyhMb2dMZXZlbFdhcm4sICJJbnB1dEhhbmRsZXI6OnNwZWxsQ2hl
Y2tpbmdSZXF1ZXN0Q2FuY2VsbGVkIGZhaWxlZCB0byBjYW5jZWwgdGhlIHJlcXVlc3Qgd2l0aCBz
ZXF1ZW5jZUlkICVkIiwgc2VxdWVuY2VJZCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAg
c3BlbGxDaGVja2VyLT5kaWRDaGVja0NhbmNlbGVkKHNlcXVlbmNlSWQpOworICAgIG1fcmVxdWVz
dC0+ZGlkU3VjY2VlZChyZXN1bHRzKTsKIH0KIAogU3BlbGxDaGVja2VyKiBJbnB1dEhhbmRsZXI6
OmdldFNwZWxsQ2hlY2tlcigpCiB7Ci0gICAgQVNTRVJUKG1fY3VycmVudEZvY3VzRWxlbWVudCk7
Ci0gICAgQVNTRVJUKG1fY3VycmVudEZvY3VzRWxlbWVudC0+ZG9jdW1lbnQoKSk7CisgICAgaWYg
KCFtX2N1cnJlbnRGb2N1c0VsZW1lbnQgfHwgIW1fY3VycmVudEZvY3VzRWxlbWVudC0+ZG9jdW1l
bnQoKSkKKyAgICAgICAgcmV0dXJuIDA7CiAKICAgICBpZiAoRnJhbWUqIGZyYW1lID0gbV9jdXJy
ZW50Rm9jdXNFbGVtZW50LT5kb2N1bWVudCgpLT5mcmFtZSgpKQogICAgICAgICBpZiAoRWRpdG9y
KiBlZGl0b3IgPSBmcmFtZS0+ZWRpdG9yKCkpCkBAIC03NzIsOSArNzMxLDYgQEAgdm9pZCBJbnB1
dEhhbmRsZXI6OnNldEVsZW1lbnRVbmZvY3VzZWQoYm9vbCByZWZvY3VzT2NjdXJpbmcpCiAgICAg
ICAgIC8vIElmIHRoZSBmcmFtZSBzZWxlY3Rpb24gaXNuJ3QgZm9jdXNlZCwgZm9jdXMgaXQuCiAg
ICAgICAgIGlmICghbV9jdXJyZW50Rm9jdXNFbGVtZW50LT5kb2N1bWVudCgpLT5mcmFtZSgpLT5z
ZWxlY3Rpb24oKS0+aXNGb2N1c2VkKCkpCiAgICAgICAgICAgICBtX2N1cnJlbnRGb2N1c0VsZW1l
bnQtPmRvY3VtZW50KCktPmZyYW1lKCktPnNlbGVjdGlvbigpLT5zZXRGb2N1c2VkKHRydWUpOwot
Ci0gICAgICAgIC8vIENhbmNlbCBhbnkgc3BlbGxjaGVjayByZXF1ZXN0cyB0aGF0IG1pZ2h0IGJl
IG9uZ29pbmcuCi0gICAgICAgIGNhbmNlbEFsbFNwZWxsQ2hlY2tpbmdSZXF1ZXN0cygpOwogICAg
IH0KIAogICAgIC8vIENsZWFyIHRoZSBub2RlIGRldGFpbHMuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9JbnB1dEhhbmRsZXIuaCBiL1NvdXJjZS9X
ZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0lucHV0SGFuZGxlci5oCmluZGV4IGM2NWI5
OTE2YjEyMjk3ZjIxNDgyZGI2OGNhMjdlOTk5N2RjYTllOWIuLmMwMjlkODg1NjAyMzJmMzEwY2Rm
MTFkNzdiNTA0MDkxYWRlYzE5ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9XZWJLaXRTdXBwb3J0L0lucHV0SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9XZWJLaXRTdXBwb3J0L0lucHV0SGFuZGxlci5oCkBAIC0xMzcsNyArMTM3LDcgQEAgcHVi
bGljOgogCiAgICAgdm9pZCByZXF1ZXN0Q2hlY2tpbmdPZlN0cmluZyhXVEY6OlBhc3NSZWZQdHI8
V2ViQ29yZTo6VGV4dENoZWNraW5nUmVxdWVzdD4pOwogICAgIHZvaWQgc3BlbGxDaGVja2luZ1Jl
cXVlc3RQcm9jZXNzZWQoaW50MzJfdCB0cmFuc2FjdGlvbklkLCBzcGFubmFibGVfc3RyaW5nX3Qq
KTsKLSAgICB2b2lkIHNwZWxsQ2hlY2tpbmdSZXF1ZXN0Q2FuY2VsbGVkKGludDMyX3QgaWQsIGJv
b2wgaXNTZXF1ZW5jZUlkID0gZmFsc2UpOworICAgIHZvaWQgc3BlbGxDaGVja2luZ1JlcXVlc3RD
YW5jZWxsZWQoaW50MzJfdCB0cmFuc2FjdGlvbklkKTsKIAogICAgIGJvb2wgc2hvdWxkUmVxdWVz
dFNwZWxsQ2hlY2tpbmdPcHRpb25zRm9yUG9pbnQoUGxhdGZvcm06OkludFBvaW50JiwgY29uc3Qg
V2ViQ29yZTo6RWxlbWVudCosIGltZl9zcF90ZXh0X3QmKTsKICAgICB2b2lkIHJlcXVlc3RTcGVs
bGluZ0NoZWNraW5nT3B0aW9ucyhpbWZfc3BfdGV4dF90Jik7CkBAIC0xOTcsMTAgKzE5Nyw4IEBA
IHByaXZhdGU6CiAKICAgICB2b2lkIGxlYXJuVGV4dCgpOwogICAgIHZvaWQgc2VuZExlYXJuVGV4
dERldGFpbHMoY29uc3QgV1RGOjpTdHJpbmcmKTsKLSAgICBpbnQzMl90IGNvbnZlcnRUcmFuc2Fj
dGlvbklkVG9TZXF1ZW5jZUlkKGludDMyX3QgdHJhbnNhY3Rpb25JZCk7CiAgICAgdm9pZCBzcGVs
bENoZWNrQmxvY2soV2ViQ29yZTo6VmlzaWJsZVNlbGVjdGlvbiYsIFdlYkNvcmU6OlRleHRDaGVj
a2luZ1Byb2Nlc3NUeXBlKTsKICAgICBQYXNzUmVmUHRyPFdlYkNvcmU6OlJhbmdlPiBnZXRSYW5n
ZUZvclNwZWxsQ2hlY2tXaXRoRmluZUdyYW51bGFyaXR5KFdlYkNvcmU6OlZpc2libGVQb3NpdGlv
biBzdGFydFBvc2l0aW9uLCBXZWJDb3JlOjpWaXNpYmxlUG9zaXRpb24gZW5kUG9zaXRpb24pOwot
ICAgIHZvaWQgY2FuY2VsQWxsU3BlbGxDaGVja2luZ1JlcXVlc3RzKCk7CiAgICAgV2ViQ29yZTo6
U3BlbGxDaGVja2VyKiBnZXRTcGVsbENoZWNrZXIoKTsKICAgICBib29sIHNob3VsZFNwZWxsQ2hl
Y2tFbGVtZW50KGNvbnN0IFdlYkNvcmU6OkVsZW1lbnQqKSBjb25zdDsKIApAQCAtMjIxLDggKzIx
OSw4IEBAIHByaXZhdGU6CiAgICAgUGVuZGluZ0tleWJvYXJkU3RhdGVDaGFuZ2UgbV9wZW5kaW5n
S2V5Ym9hcmRWaXNpYmlsaXR5Q2hhbmdlOwogICAgIGJvb2wgbV9kZWxheUtleWJvYXJkVmlzaWJp
bGl0eUNoYW5nZTsKIAotICAgIHN0ZDo6bWFwPGludDMyX3QsIGludDMyX3Q+IG1fc2VxdWVuY2VN
YXA7Ci0gICAgcHRocmVhZF9tdXRleF90IG1fc2VxdWVuY2VNYXBNdXRleDsKKyAgICBSZWZQdHI8
V2ViQ29yZTo6VGV4dENoZWNraW5nUmVxdWVzdD4gbV9yZXF1ZXN0OworICAgIGludDMyX3QgbV9w
cm9jZXNzaW5nVHJhbnNhY3Rpb25JZDsKIH07CiAKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>