<?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>41783</bug_id>
          
          <creation_ts>2010-07-07 12:00:39 -0700</creation_ts>
          <short_desc>NotificationPresenter needs a cancelRequestPermission API</short_desc>
          <delta_ts>2010-08-03 08:38:34 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</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>
          
          <blocked>41413</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yael">yael</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>hausmann</cc>
    
    <cc>johnnyg</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>maheshk</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>247669</commentid>
    <comment_count>0</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-07-07 12:00:39 -0700</bug_when>
    <thetext>There should be a NotificationPresenter API to cancel permission request, if the ScriptExecutionContext that issued the request is gone. 
Loading the following page in Chromium, and clicking the button shows the problem. the request is still visible to the user, even though the NotificationCenter that created it is gone.

&lt;html&gt;
&lt;script&gt;
function remove() {
document.getElementById(&quot;par&quot;).innerHTML=&quot;Do not crash&quot;;
}
&lt;/script&gt;
Click this button to remove the iframe &lt;button onclick=&quot;remove();&quot;&gt;click me&lt;/button&gt;&lt;br&gt;
&lt;div id=&quot;par&quot;&gt;&lt;iframe src=&quot;http://slides.html5rocks.com/#slide12&quot; width=800 height=800&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;/html&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247802</commentid>
    <comment_count>1</comment_count>
      <attachid>60788</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-07-07 15:21:26 -0700</bug_when>
    <thetext>Created attachment 60788
Patch

This patch is preparation work for https://bugs.webkit.org/show_bug.cgi?id=41413.
It adds a new API NotificationPresenter::cancelRequestsForPermission, but it does not implement or test the API yet. It also changes the parameters passed in NotificationPresenter::checkPermission and NotificationPresenter::requestPermission. These API now use ScriptExecutionContext instead of origin, to provide more information to the client about who issued the request.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247863</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-07 17:06:12 -0700</bug_when>
    <thetext>Attachment 60788 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/3400376</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248171</commentid>
    <comment_count>3</comment_count>
      <attachid>60871</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-07-08 06:43:42 -0700</bug_when>
    <thetext>Created attachment 60871
Patch

Attempt to fix Chromium build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248255</commentid>
    <comment_count>4</comment_count>
    <who name="John Gregg">johnnyg</who>
    <bug_when>2010-07-08 09:10:59 -0700</bug_when>
    <thetext>That patch seems reasonable to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248279</commentid>
    <comment_count>5</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-07-08 09:46:55 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; That patch seems reasonable to me.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248318</commentid>
    <comment_count>6</comment_count>
      <attachid>60871</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-07-08 10:39:05 -0700</bug_when>
    <thetext>Comment on attachment 60871
Patch

Looks good to me too as well, r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248919</commentid>
    <comment_count>7</comment_count>
      <attachid>60871</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-09 04:47:31 -0700</bug_when>
    <thetext>Comment on attachment 60871
Patch

Clearing flags on attachment: 60871

Committed r62939: &lt;http://trac.webkit.org/changeset/62939&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248920</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-09 04:47:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259474</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-08-03 08:38:34 -0700</bug_when>
    <thetext>Revision r62939 cherry-picked into qtwebkit-2.1 with commit 58536183c1385be9fa93b1e7c5f875fef0736c93</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60788</attachid>
            <date>2010-07-07 15:21:26 -0700</date>
            <delta_ts>2010-07-08 06:43:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>41783.patch</filename>
            <type>text/plain</type>
            <size>13332</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MjcwNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTAtMDctMDcgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE5vdGlmaWNhdGlvblByZXNlbnRlciBuZWVkcyBhIGNhbmNlbFJlcXVlc3RQZXJtaXNzaW9uIEFQ
SQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE3ODMK
KworICAgICAgICBVcGRhdGVkIE5vdGlmaWNhdGlvblByZXNlbnRlciBBUEksIHRvIHVzZSBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0IGluc3RlYWQgb2Ygb3JpZ2luLgorICAgICAgICBBZGRlZCBuZXcg
QVBJIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6Y2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNpb24KKyAg
ICAgICAgVGhlIG5ldyBBUEkgd2lsbCBiZSBpbXBsZW1lbnRlZCBhbmQgYSB0ZXN0IHdpbGwgYmUg
YWRkZWQgaW4gYSBmb2xsb3d1cCBwYXRjaC4KKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0
aW9uKToKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25DZW50ZXI6OmNoZWNrUGVybWlzc2lvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNlbnRlcjo6ZGlzY29ubmVjdEZyYW1lKToK
KyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oOgorICAgICAgICAq
IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUHJlc2VudGVyLmg6CisKIDIwMTAtMDctMDcgIEph
bWVzIEhhd2tpbnMgIDxqaGF3a2luc0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgRGltaXRyaSBHbGF6a292LgpJbmRleDogV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5jcHAJKHJldmlzaW9uIDYyNjU4KQorKysgV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDcgQEAgTm90aWZpY2F0aW9uOjpO
b3RpZmljYXRpb24oY29uc3QgS1VSTCYgdQogICAgICwgbV9wcmVzZW50ZXIocHJvdmlkZXIpCiB7
CiAgICAgQVNTRVJUKG1fcHJlc2VudGVyKTsKLSAgICBpZiAobV9wcmVzZW50ZXItPmNoZWNrUGVy
bWlzc2lvbihjb250ZXh0LT51cmwoKSkgIT0gTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNz
aW9uQWxsb3dlZCkgeworICAgIGlmIChtX3ByZXNlbnRlci0+Y2hlY2tQZXJtaXNzaW9uKGNvbnRl
eHQpICE9IE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbkFsbG93ZWQpIHsKICAgICAg
ICAgZWMgPSBTRUNVUklUWV9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC03Myw3ICs3
Myw3IEBAIE5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9uKGNvbnN0IE5vdGlmaWMKICAgICAsIG1f
cHJlc2VudGVyKHByb3ZpZGVyKQogewogICAgIEFTU0VSVChtX3ByZXNlbnRlcik7Ci0gICAgaWYg
KG1fcHJlc2VudGVyLT5jaGVja1Blcm1pc3Npb24oY29udGV4dC0+dXJsKCkpICE9IE5vdGlmaWNh
dGlvblByZXNlbnRlcjo6UGVybWlzc2lvbkFsbG93ZWQpIHsKKyAgICBpZiAobV9wcmVzZW50ZXIt
PmNoZWNrUGVybWlzc2lvbihjb250ZXh0KSAhPSBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1p
c3Npb25BbGxvd2VkKSB7CiAgICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOwogICAgICAgICByZXR1
cm47CiAgICAgfQpJbmRleDogV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5jcHAJKHJldmlzaW9uIDYyNjU4KQorKysgV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNlbnRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDE0ICs0OSwyMCBAQCBpbnQg
Tm90aWZpY2F0aW9uQ2VudGVyOjpjaGVja1Blcm1pc3Npb24oCiB7CiAgICAgaWYgKCFwcmVzZW50
ZXIoKSkKICAgICAgICAgcmV0dXJuIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbkRl
bmllZDsKLSAgICByZXR1cm4gbV9ub3RpZmljYXRpb25QcmVzZW50ZXItPmNoZWNrUGVybWlzc2lv
bihtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnVybCgpKTsKKyAgICByZXR1cm4gbV9ub3RpZmlj
YXRpb25QcmVzZW50ZXItPmNoZWNrUGVybWlzc2lvbihtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQp
OwogfQogCiB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBlcm1pc3Npb24oUGFzc1Jl
ZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQogewogICAgIGlmICghcHJlc2VudGVyKCkpCiAg
ICAgICAgIHJldHVybjsKLSAgICBtX25vdGlmaWNhdGlvblByZXNlbnRlci0+cmVxdWVzdFBlcm1p
c3Npb24obV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5zZWN1cml0eU9yaWdpbigpLCBjYWxsYmFj
ayk7CisgICAgbV9ub3RpZmljYXRpb25QcmVzZW50ZXItPnJlcXVlc3RQZXJtaXNzaW9uKG1fc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCwgY2FsbGJhY2spOworfQorCit2b2lkIE5vdGlmaWNhdGlvbkNl
bnRlcjo6ZGlzY29ubmVjdEZyYW1lKCkKK3sKKyAgICBtX25vdGlmaWNhdGlvblByZXNlbnRlci0+
Y2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7Cisg
ICAgbV9ub3RpZmljYXRpb25QcmVzZW50ZXIgPSAwOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCkluZGV4OiBXZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oCShy
ZXZpc2lvbiA2MjY1OCkKKysrIFdlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNzcsNyArNzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIGludCBjaGVja1Blcm1pc3Npb24oKTsKICAgICAgICAgdm9pZCByZXF1ZXN0UGVy
bWlzc2lvbihQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2spOwogCi0gICAgICAgIHZv
aWQgZGlzY29ubmVjdEZyYW1lKCkgeyBtX25vdGlmaWNhdGlvblByZXNlbnRlciA9IDA7IH0KKyAg
ICAgICAgdm9pZCBkaXNjb25uZWN0RnJhbWUoKTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIE5v
dGlmaWNhdGlvbkNlbnRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgTm90aWZpY2F0aW9uUHJl
c2VudGVyKik7CkluZGV4OiBXZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUHJlc2Vu
dGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBy
ZXNlbnRlci5oCShyZXZpc2lvbiA2MjY1OCkKKysrIFdlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25QcmVzZW50ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRG9jdW1lbnQ7CiAgICAgY2xhc3MgTm90aWZpY2F0
aW9uOwogICAgIGNsYXNzIEtVUkw7Ci0gICAgY2xhc3MgU2VjdXJpdHlPcmlnaW47CisgICAgY2xh
c3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKICAgICBjbGFzcyBTdHJpbmc7CiAKICAgICBjbGFz
cyBOb3RpZmljYXRpb25QcmVzZW50ZXIgewpAQCAtNjcsMTIgKzY3LDE1IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIG5vdGlmaWNhdGlvbk9iamVjdERlc3Ryb3ll
ZChOb3RpZmljYXRpb24qKSA9IDA7CiAKICAgICAgICAgLy8gUmVxdWVzdHMgdXNlciBwZXJtaXNz
aW9uIHRvIHNob3cgZGVza3RvcCBub3RpZmljYXRpb25zIGZyb20gYSBwYXJ0aWN1bGFyCi0gICAg
ICAgIC8vIG9yaWdpbi4gVGhlIGNhbGxiYWNrIHBhcmFtZXRlciBzaG91bGQgYmUgcnVuIHdoZW4g
dGhlIHVzZXIgaGFzCisgICAgICAgIC8vIHNjcmlwdCBjb250ZXh0LiBUaGUgY2FsbGJhY2sgcGFy
YW1ldGVyIHNob3VsZCBiZSBydW4gd2hlbiB0aGUgdXNlciBoYXMKICAgICAgICAgLy8gbWFkZSBh
IGRlY2lzaW9uLgotICAgICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oU2VjdXJp
dHlPcmlnaW4qLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pID0gMDsKKyAgICAgICAgdmlydHVh
bCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVm
UHRyPFZvaWRDYWxsYmFjaz4pID0gMDsKKworICAgICAgICAvLyBDYW5jZWwgYWxsIG91dHN0YW5k
aW5nIHJlcXVlc3RzIGZvciB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dAorICAgICAgICB2aXJ0
dWFsIHZvaWQgY2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqKSA9IDA7CiAKICAgICAgICAgLy8gQ2hlY2tzIHRoZSBjdXJyZW50IGxldmVsIG9mIHBlcm1p
c3Npb24uCi0gICAgICAgIHZpcnR1YWwgUGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oY29uc3Qg
S1VSTCYpID0gMDsKKyAgICAgICAgdmlydHVhbCBQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KikgPSAwOwogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNjI3MDUpCisrKyBXZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDctMDcg
IFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9raWEuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdGlmaWNhdGlvblByZXNlbnRlciBuZWVk
cyBhIGNhbmNlbFJlcXVlc3RQZXJtaXNzaW9uIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE3ODMKKworICAgICAgICBVcGRhdGVkIHRoZSBOb3Rp
ZmljYXRpb25QcmVzZW50ZXIgQVBJLgorCisgICAgICAgICogc3JjL05vdGlmaWNhdGlvblByZXNl
bnRlckltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpOb3RpZmljYXRpb25QcmVzZW50ZXJJbXBs
OjpjaGVja1Blcm1pc3Npb24pOgorICAgICAgICAoV2ViS2l0OjpOb3RpZmljYXRpb25QcmVzZW50
ZXJJbXBsOjpyZXF1ZXN0UGVybWlzc2lvbik6CisgICAgICAgICogc3JjL05vdGlmaWNhdGlvblBy
ZXNlbnRlckltcGwuaDoKKyAgICAgICAgKFdlYktpdDo6Tm90aWZpY2F0aW9uUHJlc2VudGVySW1w
bDo6Y2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKToKKwogMjAxMC0wNy0wNyAgSmFtZXMgSGF3
a2lucyAgPGpoYXdraW5zQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1p
dHJpIEdsYXprb3YuCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL05vdGlmaWNhdGlvblByZXNl
bnRlckltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvTm90aWZpY2F0
aW9uUHJlc2VudGVySW1wbC5jcHAJKHJldmlzaW9uIDYyNjU4KQorKysgV2ViS2l0L2Nocm9taXVt
L3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUs
NiArMzUsNyBAQAogCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbi5o
IgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJTZWN1cml0
eU9yaWdpbi5oIgogCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uLmgiCkBAIC05MSwxNSArOTIs
MTUgQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJJbXBsOjpub3RpZmljYQogICAgIG1fcHJl
c2VudGVyLT5vYmplY3REZXN0cm95ZWQoUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+KG5vdGlmaWNh
dGlvbikpOwogfQogCi1Ob3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24gTm90aWZpY2F0
aW9uUHJlc2VudGVySW1wbDo6Y2hlY2tQZXJtaXNzaW9uKGNvbnN0IEtVUkwmIHNvdXJjZVVSTCkK
K05vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbiBOb3RpZmljYXRpb25QcmVzZW50ZXJJ
bXBsOjpjaGVja1Blcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsK
LSAgICBpbnQgcmVzdWx0ID0gbV9wcmVzZW50ZXItPmNoZWNrUGVybWlzc2lvbihzb3VyY2VVUkwp
OworICAgIGludCByZXN1bHQgPSBtX3ByZXNlbnRlci0+Y2hlY2tQZXJtaXNzaW9uKGNvbnRleHQt
PnVybCgpKTsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Tm90aWZpY2F0aW9uUHJlc2VudGVyOjpQ
ZXJtaXNzaW9uPihyZXN1bHQpOwogfQogCi12b2lkIE5vdGlmaWNhdGlvblByZXNlbnRlckltcGw6
OnJlcXVlc3RQZXJtaXNzaW9uKFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sIFBhc3NSZWZQdHI8Vm9p
ZENhbGxiYWNrPiBjYWxsYmFjaykKK3ZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbDo6cmVx
dWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0
cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQogewotICAgIG1fcHJlc2VudGVyLT5yZXF1ZXN0UGVy
bWlzc2lvbihXZWJTZWN1cml0eU9yaWdpbihvcmlnaW4pLCBuZXcgVm9pZENhbGxiYWNrQ2xpZW50
KGNhbGxiYWNrKSk7CisgICAgbV9wcmVzZW50ZXItPnJlcXVlc3RQZXJtaXNzaW9uKFdlYlNlY3Vy
aXR5T3JpZ2luKGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCkpLCBuZXcgVm9pZENhbGxiYWNrQ2xp
ZW50KGNhbGxiYWNrKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogV2ViS2l0
L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmgJKHJldmlzaW9u
IDYyNjU4KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBs
LmgJKHdvcmtpbmcgY29weSkKQEAgLTU0LDggKzU0LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
Ym9vbCBzaG93KFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogb2JqZWN0KTsKICAgICB2aXJ0dWFsIHZv
aWQgY2FuY2VsKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogb2JqZWN0KTsKICAgICB2aXJ0dWFsIHZv
aWQgbm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogb2Jq
ZWN0KTsKLSAgICB2aXJ0dWFsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlz
c2lvbiBjaGVja1Blcm1pc3Npb24oY29uc3QgV2ViQ29yZTo6S1VSTCYgc291cmNlVVJMKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4q
IG9yaWdpbiwgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4gY2FsbGJhY2sp
OworICAgIHZpcnR1YWwgV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9u
IGNoZWNrUGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisgICAg
dmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqICwgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4gY2FsbGJhY2sp
OworICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCopIHt9CiAKIHByaXZhdGU6CiAgICAgLy8gV2ViTm90aWZpY2F0aW9uUHJl
c2VudGVyIHRoYXQgdGhpcyBvYmplY3QgZGVsZWdhdGVzIHRvLgpJbmRleDogV2ViS2l0L3F0L0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvQ2hhbmdlTG9nCShyZXZpc2lvbiA2Mjcw
NSkKKysrIFdlYktpdC9xdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBA
QAorMjAxMC0wNy0wNyAgWWFlbCBBaGFyb24gIDx5YWVsLmFoYXJvbkBub2tpYS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm90aWZpY2F0aW9u
UHJlc2VudGVyIG5lZWRzIGEgY2FuY2VsUmVxdWVzdFBlcm1pc3Npb24gQVBJCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTc4MworCisgICAgICAgIFVw
ZGF0ZWQgTm90aWZpY2F0aW9uUHJlc2VudGVyIEFQSSB0byB1c2UgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCBpbnN0ZWFkIG9mIG9yaWdpbgorICAgICAgICBhbmQgYWRkZWQgYSBuZXcgTm90aWZpY2F0
aW9uUHJlc2VudGVyOjpjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24gQVBJLgorICAgICAgICBU
aGUgbmV3IEFQSSB3aWxsIGJlIGltcGxlbWVudGVkIGluIGEgZm9sbG93dXAgcGF0Y2guCisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6cmVxdWVz
dFBlcm1pc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVyQ2xp
ZW50UXQ6OmNoZWNrUGVybWlzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25Q
cmVzZW50ZXJDbGllbnRRdDo6Y2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5oOgorCiAyMDEw
LTA3LTA3ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgQW5kZXJzIENhcmxzc29uLgpJbmRleDogV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L05vdGlm
aWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3BwCShyZXZpc2lvbiA2
MjY1OCkKKysrIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJD
bGllbnRRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJF
dmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUgIlF0UGxhdGZvcm1QbHVn
aW4uaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU2Vj
dXJpdHlPcmlnaW4uaCIKIAogI2luY2x1ZGUgInF3ZWJraXRnbG9iYWwuaCIKQEAgLTI1MiwxMiAr
MjUzLDEyIEBAIHZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6Om5vdGkKICAgICAg
ICAgZGVsZXRlIG1fbm90aWZpY2F0aW9ucy50YWtlKG5vdGlmaWNhdGlvbik7CiB9CiAKLXZvaWQg
Tm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNlY3VyaXR5
T3JpZ2luKiBvcmlnaW4sIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjaykKK3ZvaWQg
Tm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6OnJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFj
aykKIHsgIAogICAgIGlmIChkdW1wTm90aWZpY2F0aW9uKQotICAgICAgICBwcmludGYoIkRFU0tU
T1AgTk9USUZJQ0FUSU9OIFBFUk1JU1NJT04gUkVRVUVTVEVEOiAlc1xuIiwgUVN0cmluZyhvcmln
aW4tPnRvU3RyaW5nKCkpLnRvVXRmOCgpLmNvbnN0RGF0YSgpKTsKKyAgICAgICAgcHJpbnRmKCJE
RVNLVE9QIE5PVElGSUNBVElPTiBQRVJNSVNTSU9OIFJFUVVFU1RFRDogJXNcbiIsIFFTdHJpbmco
Y29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSkudG9VdGY4KCkuY29uc3REYXRh
KCkpOwogCi0gICAgUVN0cmluZyBvcmlnaW5TdHJpbmcgPSBvcmlnaW4tPnRvU3RyaW5nKCk7Cisg
ICAgUVN0cmluZyBvcmlnaW5TdHJpbmcgPSBjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpLT50b1N0
cmluZygpOwogICAgIFFIYXNoPFFTdHJpbmcsIFFMaXN0PFJlZlB0cjxWb2lkQ2FsbGJhY2s+ID4g
Pjo6aXRlcmF0b3IgaXRlciA9IG1fcGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0cy5maW5kKG9yaWdp
blN0cmluZyk7CiAgICAgaWYgKGl0ZXIgIT0gbV9wZW5kaW5nUGVybWlzc2lvblJlcXVlc3RzLmVu
ZCgpKQogICAgICAgICBpdGVyLnZhbHVlKCkuYXBwZW5kKGNhbGxiYWNrKTsKQEAgLTI3MSwxMCAr
MjcyLDEwIEBAIHZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6OnJlcXUKICAgICB9
CiB9CiAKLU5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbiBOb3RpZmljYXRpb25QcmVz
ZW50ZXJDbGllbnRRdDo6Y2hlY2tQZXJtaXNzaW9uKGNvbnN0IEtVUkwmIHVybCkKK05vdGlmaWNh
dGlvblByZXNlbnRlcjo6UGVybWlzc2lvbiBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6
Y2hlY2tQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiB7CiAgICAg
Tm90aWZpY2F0aW9uUGVybWlzc2lvbiBwZXJtaXNzaW9uID0gTm90aWZpY2F0aW9uTm90QWxsb3dl
ZDsKLSAgICBRU3RyaW5nIG9yaWdpbiA9IHVybC5zdHJpbmcoKTsKKyAgICBRU3RyaW5nIG9yaWdp
biA9IGNvbnRleHQtPnVybCgpLnN0cmluZygpOwogICAgIGlmIChjaGVja1Blcm1pc3Npb25GdW5j
dGlvbikKICAgICAgICAgY2hlY2tQZXJtaXNzaW9uRnVuY3Rpb24obV9yZWNlaXZlciwgb3JpZ2lu
LCBwZXJtaXNzaW9uKTsKICAgICBzd2l0Y2ggKHBlcm1pc3Npb24pIHsKQEAgLTI4OSw2ICsyOTAs
MTIgQEAgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIE5vdGlmaQogICAgIHJldHVy
biBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25Ob3RBbGxvd2VkOwogfQogCit2b2lk
IE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Np
b24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopCit7CisgICAgLy8gRklYTUU6IFRoaXMgd2lsbCBi
ZSBpbXBsZW1lbnRlZCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQxNDEzCisgICAgLy8gdG8gYXZvaWQgYWRkaW5nIGFuZCByZW1vdmluZyBuZXcgcHJpdmF0ZSBB
UEkKK30KKwogdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6YWxsb3dOb3RpZmlj
YXRpb25Gb3JPcmlnaW4oY29uc3QgUVN0cmluZyYgb3JpZ2luKQogewogICAgIFFIYXNoPFFTdHJp
bmcsIFFMaXN0PFJlZlB0cjxWb2lkQ2FsbGJhY2s+ID4gPjo6aXRlcmF0b3IgaXRlciA9IG1fcGVu
ZGluZ1Blcm1pc3Npb25SZXF1ZXN0cy5maW5kKG9yaWdpbik7CkluZGV4OiBXZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQu
aAkocmV2aXNpb24gNjI2NTgpCisrKyBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0
aW9uUHJlc2VudGVyQ2xpZW50UXQuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNyArNDUsNyBAQAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudDsKLWNsYXNzIEtVUkw7CitjbGFz
cyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiBjbGFzcyBOb3RpZmljYXRpb25XcmFwcGVyIDog
cHVibGljIFFPYmplY3QsIHB1YmxpYyBRV2ViTm90aWZpY2F0aW9uRGF0YSB7CiAgICAgUV9PQkpF
Q1QKQEAgLTg0LDggKzg0LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBzaG93KE5vdGlm
aWNhdGlvbiopOwogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWwoTm90aWZpY2F0aW9uKik7CiAgICAg
dmlydHVhbCB2b2lkIG5vdGlmaWNhdGlvbk9iamVjdERlc3Ryb3llZChOb3RpZmljYXRpb24qKTsK
LSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oU2VjdXJpdHlPcmlnaW4qLCBQYXNz
UmVmUHRyPFZvaWRDYWxsYmFjaz4pOwotICAgIHZpcnR1YWwgTm90aWZpY2F0aW9uUHJlc2VudGVy
OjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihjb25zdCBLVVJMJik7CisgICAgdmlydHVhbCB2
b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRy
PFZvaWRDYWxsYmFjaz4pOworICAgIHZpcnR1YWwgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJt
aXNzaW9uIGNoZWNrUGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisgICAgdmly
dHVhbCB2b2lkIGNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250
ZXh0Kik7CiAKICAgICB2b2lkIGNhbmNlbChOb3RpZmljYXRpb25XcmFwcGVyKik7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60871</attachid>
            <date>2010-07-08 06:43:42 -0700</date>
            <delta_ts>2010-07-09 04:47:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>41783.patch</filename>
            <type>text/plain</type>
            <size>13341</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2Mjc4MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTAtMDctMDcgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE5vdGlmaWNhdGlvblByZXNlbnRlciBuZWVkcyBhIGNhbmNlbFJlcXVlc3RQZXJtaXNzaW9uIEFQ
SQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE3ODMK
KworICAgICAgICBVcGRhdGVkIE5vdGlmaWNhdGlvblByZXNlbnRlciBBUEksIHRvIHVzZSBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0IGluc3RlYWQgb2Ygb3JpZ2luLgorICAgICAgICBBZGRlZCBuZXcg
QVBJIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6Y2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNpb24KKyAg
ICAgICAgVGhlIG5ldyBBUEkgd2lsbCBiZSBpbXBsZW1lbnRlZCBhbmQgYSB0ZXN0IHdpbGwgYmUg
YWRkZWQgaW4gYSBmb2xsb3d1cCBwYXRjaC4KKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0
aW9uKToKKyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25DZW50ZXI6OmNoZWNrUGVybWlzc2lvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNlbnRlcjo6ZGlzY29ubmVjdEZyYW1lKToK
KyAgICAgICAgKiBub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oOgorICAgICAgICAq
IG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUHJlc2VudGVyLmg6CisKIDIwMTAtMDctMDggIEFu
ZHJlYXMgS2xpbmcgIDxhbmRyZWFzLmtsaW5nQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBTaW1vbiBIYXVzbWFubi4KSW5kZXg6IFdlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uY3BwCShyZXZpc2lvbiA2Mjc4MikKKysrIFdlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw3IEBAIE5vdGlmaWNhdGlvbjo6
Tm90aWZpY2F0aW9uKGNvbnN0IEtVUkwmIHUKICAgICAsIG1fcHJlc2VudGVyKHByb3ZpZGVyKQog
ewogICAgIEFTU0VSVChtX3ByZXNlbnRlcik7Ci0gICAgaWYgKG1fcHJlc2VudGVyLT5jaGVja1Bl
cm1pc3Npb24oY29udGV4dC0+dXJsKCkpICE9IE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlz
c2lvbkFsbG93ZWQpIHsKKyAgICBpZiAobV9wcmVzZW50ZXItPmNoZWNrUGVybWlzc2lvbihjb250
ZXh0KSAhPSBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25BbGxvd2VkKSB7CiAgICAg
ICAgIGVjID0gU0VDVVJJVFlfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNzMsNyAr
NzMsNyBAQCBOb3RpZmljYXRpb246Ok5vdGlmaWNhdGlvbihjb25zdCBOb3RpZmljCiAgICAgLCBt
X3ByZXNlbnRlcihwcm92aWRlcikKIHsKICAgICBBU1NFUlQobV9wcmVzZW50ZXIpOwotICAgIGlm
IChtX3ByZXNlbnRlci0+Y2hlY2tQZXJtaXNzaW9uKGNvbnRleHQtPnVybCgpKSAhPSBOb3RpZmlj
YXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25BbGxvd2VkKSB7CisgICAgaWYgKG1fcHJlc2VudGVy
LT5jaGVja1Blcm1pc3Npb24oY29udGV4dCkgIT0gTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJt
aXNzaW9uQWxsb3dlZCkgewogICAgICAgICBlYyA9IFNFQ1VSSVRZX0VSUjsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KSW5kZXg6IFdlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25D
ZW50ZXIuY3BwCShyZXZpc2lvbiA2Mjc4MikKKysrIFdlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25DZW50ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSwxNCArNDksMjAgQEAgaW50
IE5vdGlmaWNhdGlvbkNlbnRlcjo6Y2hlY2tQZXJtaXNzaW9uKAogewogICAgIGlmICghcHJlc2Vu
dGVyKCkpCiAgICAgICAgIHJldHVybiBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25E
ZW5pZWQ7Ci0gICAgcmV0dXJuIG1fbm90aWZpY2F0aW9uUHJlc2VudGVyLT5jaGVja1Blcm1pc3Np
b24obV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT51cmwoKSk7CisgICAgcmV0dXJuIG1fbm90aWZp
Y2F0aW9uUHJlc2VudGVyLT5jaGVja1Blcm1pc3Npb24obV9zY3JpcHRFeGVjdXRpb25Db250ZXh0
KTsKIH0KIAogdm9pZCBOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKFBhc3NS
ZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFjaykKIHsKICAgICBpZiAoIXByZXNlbnRlcigpKQog
ICAgICAgICByZXR1cm47Ci0gICAgbV9ub3RpZmljYXRpb25QcmVzZW50ZXItPnJlcXVlc3RQZXJt
aXNzaW9uKG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKSwgY2FsbGJh
Y2spOworICAgIG1fbm90aWZpY2F0aW9uUHJlc2VudGVyLT5yZXF1ZXN0UGVybWlzc2lvbihtX3Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQsIGNhbGxiYWNrKTsKK30KKwordm9pZCBOb3RpZmljYXRpb25D
ZW50ZXI6OmRpc2Nvbm5lY3RGcmFtZSgpCit7CisgICAgbV9ub3RpZmljYXRpb25QcmVzZW50ZXIt
PmNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwor
ICAgIG1fbm90aWZpY2F0aW9uUHJlc2VudGVyID0gMDsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpJbmRleDogV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaAko
cmV2aXNpb24gNjI3ODIpCisrKyBXZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2Vu
dGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTc3LDcgKzc3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICBpbnQgY2hlY2tQZXJtaXNzaW9uKCk7CiAgICAgICAgIHZvaWQgcmVxdWVzdFBl
cm1pc3Npb24oUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKTsKIAotICAgICAgICB2
b2lkIGRpc2Nvbm5lY3RGcmFtZSgpIHsgbV9ub3RpZmljYXRpb25QcmVzZW50ZXIgPSAwOyB9Cisg
ICAgICAgIHZvaWQgZGlzY29ubmVjdEZyYW1lKCk7CiAKICAgICBwcml2YXRlOgogICAgICAgICBO
b3RpZmljYXRpb25DZW50ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIE5vdGlmaWNhdGlvblBy
ZXNlbnRlciopOwpJbmRleDogV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNl
bnRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Q
cmVzZW50ZXIuaAkocmV2aXNpb24gNjI3ODIpCisrKyBXZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uUHJlc2VudGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQxLDcgKzQxLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERvY3VtZW50OwogICAgIGNsYXNzIE5vdGlmaWNh
dGlvbjsKICAgICBjbGFzcyBLVVJMOwotICAgIGNsYXNzIFNlY3VyaXR5T3JpZ2luOworICAgIGNs
YXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAgICAgY2xhc3MgU3RyaW5nOwogCiAgICAgY2xh
c3MgTm90aWZpY2F0aW9uUHJlc2VudGVyIHsKQEAgLTY3LDEyICs2NywxNSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25PYmplY3REZXN0cm95
ZWQoTm90aWZpY2F0aW9uKikgPSAwOwogCiAgICAgICAgIC8vIFJlcXVlc3RzIHVzZXIgcGVybWlz
c2lvbiB0byBzaG93IGRlc2t0b3Agbm90aWZpY2F0aW9ucyBmcm9tIGEgcGFydGljdWxhcgotICAg
ICAgICAvLyBvcmlnaW4uIFRoZSBjYWxsYmFjayBwYXJhbWV0ZXIgc2hvdWxkIGJlIHJ1biB3aGVu
IHRoZSB1c2VyIGhhcworICAgICAgICAvLyBzY3JpcHQgY29udGV4dC4gVGhlIGNhbGxiYWNrIHBh
cmFtZXRlciBzaG91bGQgYmUgcnVuIHdoZW4gdGhlIHVzZXIgaGFzCiAgICAgICAgIC8vIG1hZGUg
YSBkZWNpc2lvbi4KLSAgICAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFNlY3Vy
aXR5T3JpZ2luKiwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+KSA9IDA7CisgICAgICAgIHZpcnR1
YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1Jl
ZlB0cjxWb2lkQ2FsbGJhY2s+KSA9IDA7CisKKyAgICAgICAgLy8gQ2FuY2VsIGFsbCBvdXRzdGFu
ZGluZyByZXF1ZXN0cyBmb3IgdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQKKyAgICAgICAgdmly
dHVhbCB2b2lkIGNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250
ZXh0KikgPSAwOwogCiAgICAgICAgIC8vIENoZWNrcyB0aGUgY3VycmVudCBsZXZlbCBvZiBwZXJt
aXNzaW9uLgotICAgICAgICB2aXJ0dWFsIFBlcm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKGNvbnN0
IEtVUkwmKSA9IDA7CisgICAgICAgIHZpcnR1YWwgUGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24o
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopID0gMDsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDYyNzgyKQorKysgV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDEwLTA3LTA3
ICBZYWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOb3RpZmljYXRpb25QcmVzZW50ZXIgbmVl
ZHMgYSBjYW5jZWxSZXF1ZXN0UGVybWlzc2lvbiBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxNzgzCisKKyAgICAgICAgVXBkYXRlZCB0aGUgTm90
aWZpY2F0aW9uUHJlc2VudGVyIEFQSS4KKworICAgICAgICAqIHNyYy9Ob3RpZmljYXRpb25QcmVz
ZW50ZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Tm90aWZpY2F0aW9uUHJlc2VudGVySW1w
bDo6Y2hlY2tQZXJtaXNzaW9uKToKKyAgICAgICAgKFdlYktpdDo6Tm90aWZpY2F0aW9uUHJlc2Vu
dGVySW1wbDo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIHNyYy9Ob3RpZmljYXRpb25Q
cmVzZW50ZXJJbXBsLmg6CisgICAgICAgIChXZWJLaXQ6Ok5vdGlmaWNhdGlvblByZXNlbnRlcklt
cGw6OmNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbik6CisKIDIwMTAtMDctMDcgIEFsZXhhbmRl
ciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBGaXNoZXIuCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL05vdGlmaWNhdGlvblByZXNl
bnRlckltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvTm90aWZpY2F0
aW9uUHJlc2VudGVySW1wbC5jcHAJKHJldmlzaW9uIDYyNzgyKQorKysgV2ViS2l0L2Nocm9taXVt
L3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUs
NiArMzUsNyBAQAogCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbi5o
IgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJTZWN1cml0
eU9yaWdpbi5oIgogCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uLmgiCkBAIC05MSwxNSArOTIs
MTUgQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJJbXBsOjpub3RpZmljYQogICAgIG1fcHJl
c2VudGVyLT5vYmplY3REZXN0cm95ZWQoUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+KG5vdGlmaWNh
dGlvbikpOwogfQogCi1Ob3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24gTm90aWZpY2F0
aW9uUHJlc2VudGVySW1wbDo6Y2hlY2tQZXJtaXNzaW9uKGNvbnN0IEtVUkwmIHNvdXJjZVVSTCkK
K05vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbiBOb3RpZmljYXRpb25QcmVzZW50ZXJJ
bXBsOjpjaGVja1Blcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsK
LSAgICBpbnQgcmVzdWx0ID0gbV9wcmVzZW50ZXItPmNoZWNrUGVybWlzc2lvbihzb3VyY2VVUkwp
OworICAgIGludCByZXN1bHQgPSBtX3ByZXNlbnRlci0+Y2hlY2tQZXJtaXNzaW9uKGNvbnRleHQt
PnVybCgpKTsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Tm90aWZpY2F0aW9uUHJlc2VudGVyOjpQ
ZXJtaXNzaW9uPihyZXN1bHQpOwogfQogCi12b2lkIE5vdGlmaWNhdGlvblByZXNlbnRlckltcGw6
OnJlcXVlc3RQZXJtaXNzaW9uKFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sIFBhc3NSZWZQdHI8Vm9p
ZENhbGxiYWNrPiBjYWxsYmFjaykKK3ZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbDo6cmVx
dWVzdFBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0
cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQogewotICAgIG1fcHJlc2VudGVyLT5yZXF1ZXN0UGVy
bWlzc2lvbihXZWJTZWN1cml0eU9yaWdpbihvcmlnaW4pLCBuZXcgVm9pZENhbGxiYWNrQ2xpZW50
KGNhbGxiYWNrKSk7CisgICAgbV9wcmVzZW50ZXItPnJlcXVlc3RQZXJtaXNzaW9uKFdlYlNlY3Vy
aXR5T3JpZ2luKGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCkpLCBuZXcgVm9pZENhbGxiYWNrQ2xp
ZW50KGNhbGxiYWNrKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogV2ViS2l0
L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmgJKHJldmlzaW9u
IDYyNzgyKQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBs
LmgJKHdvcmtpbmcgY29weSkKQEAgLTU0LDggKzU0LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
Ym9vbCBzaG93KFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogb2JqZWN0KTsKICAgICB2aXJ0dWFsIHZv
aWQgY2FuY2VsKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogb2JqZWN0KTsKICAgICB2aXJ0dWFsIHZv
aWQgbm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogb2Jq
ZWN0KTsKLSAgICB2aXJ0dWFsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlz
c2lvbiBjaGVja1Blcm1pc3Npb24oY29uc3QgV2ViQ29yZTo6S1VSTCYgc291cmNlVVJMKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4q
IG9yaWdpbiwgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4gY2FsbGJhY2sp
OworICAgIHZpcnR1YWwgV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9u
IGNoZWNrUGVybWlzc2lvbihXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisgICAg
dmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqICwgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4gY2FsbGJhY2sp
OworICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24oV2ViQ29yZTo6
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIHt9CiAKIHByaXZhdGU6CiAgICAgLy8gV2ViTm90aWZp
Y2F0aW9uUHJlc2VudGVyIHRoYXQgdGhpcyBvYmplY3QgZGVsZWdhdGVzIHRvLgpJbmRleDogV2Vi
S2l0L3F0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvQ2hhbmdlTG9nCShyZXZp
c2lvbiA2Mjc4MikKKysrIFdlYktpdC9xdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwyMCBAQAorMjAxMC0wNy0wNyAgWWFlbCBBaGFyb24gIDx5YWVsLmFoYXJvbkBub2tpYS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm90
aWZpY2F0aW9uUHJlc2VudGVyIG5lZWRzIGEgY2FuY2VsUmVxdWVzdFBlcm1pc3Npb24gQVBJCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTc4MworCisg
ICAgICAgIFVwZGF0ZWQgTm90aWZpY2F0aW9uUHJlc2VudGVyIEFQSSB0byB1c2UgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCBpbnN0ZWFkIG9mIG9yaWdpbgorICAgICAgICBhbmQgYWRkZWQgYSBuZXcg
Tm90aWZpY2F0aW9uUHJlc2VudGVyOjpjYW5jZWxSZXF1ZXN0c0ZvclBlcm1pc3Npb24gQVBJLgor
ICAgICAgICBUaGUgbmV3IEFQSSB3aWxsIGJlIGltcGxlbWVudGVkIGluIGEgZm9sbG93dXAgcGF0
Y2guCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGll
bnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRR
dDo6cmVxdWVzdFBlcm1pc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJl
c2VudGVyQ2xpZW50UXQ6OmNoZWNrUGVybWlzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpOb3Rp
ZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6Y2FuY2VsUmVxdWVzdHNGb3JQZXJtaXNzaW9uKToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdC5o
OgorCiAyMDEwLTA3LTA3ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgpJbmRleDogV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L05vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuY3BwCShy
ZXZpc2lvbiA2Mjc4MikKKysrIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9Ob3RpZmljYXRpb25Q
cmVzZW50ZXJDbGllbnRRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3LDcgQEAKICNp
bmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUgIlF0UGxh
dGZvcm1QbHVnaW4uaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5j
bHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKIAogI2luY2x1ZGUgInF3ZWJraXRnbG9iYWwuaCIKQEAg
LTI1MiwxMiArMjUzLDEyIEBAIHZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6Om5v
dGkKICAgICAgICAgZGVsZXRlIG1fbm90aWZpY2F0aW9ucy50YWtlKG5vdGlmaWNhdGlvbik7CiB9
CiAKLXZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6OnJlcXVlc3RQZXJtaXNzaW9u
KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiBjYWxsYmFj
aykKK3ZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6OnJlcXVlc3RQZXJtaXNzaW9u
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNr
PiBjYWxsYmFjaykKIHsgIAogICAgIGlmIChkdW1wTm90aWZpY2F0aW9uKQotICAgICAgICBwcmlu
dGYoIkRFU0tUT1AgTk9USUZJQ0FUSU9OIFBFUk1JU1NJT04gUkVRVUVTVEVEOiAlc1xuIiwgUVN0
cmluZyhvcmlnaW4tPnRvU3RyaW5nKCkpLnRvVXRmOCgpLmNvbnN0RGF0YSgpKTsKKyAgICAgICAg
cHJpbnRmKCJERVNLVE9QIE5PVElGSUNBVElPTiBQRVJNSVNTSU9OIFJFUVVFU1RFRDogJXNcbiIs
IFFTdHJpbmcoY29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSkudG9VdGY4KCku
Y29uc3REYXRhKCkpOwogCi0gICAgUVN0cmluZyBvcmlnaW5TdHJpbmcgPSBvcmlnaW4tPnRvU3Ry
aW5nKCk7CisgICAgUVN0cmluZyBvcmlnaW5TdHJpbmcgPSBjb250ZXh0LT5zZWN1cml0eU9yaWdp
bigpLT50b1N0cmluZygpOwogICAgIFFIYXNoPFFTdHJpbmcsIFFMaXN0PFJlZlB0cjxWb2lkQ2Fs
bGJhY2s+ID4gPjo6aXRlcmF0b3IgaXRlciA9IG1fcGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0cy5m
aW5kKG9yaWdpblN0cmluZyk7CiAgICAgaWYgKGl0ZXIgIT0gbV9wZW5kaW5nUGVybWlzc2lvblJl
cXVlc3RzLmVuZCgpKQogICAgICAgICBpdGVyLnZhbHVlKCkuYXBwZW5kKGNhbGxiYWNrKTsKQEAg
LTI3MSwxMCArMjcyLDEwIEBAIHZvaWQgTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQ6OnJl
cXUKICAgICB9CiB9CiAKLU5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbiBOb3RpZmlj
YXRpb25QcmVzZW50ZXJDbGllbnRRdDo6Y2hlY2tQZXJtaXNzaW9uKGNvbnN0IEtVUkwmIHVybCkK
K05vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbiBOb3RpZmljYXRpb25QcmVzZW50ZXJD
bGllbnRRdDo6Y2hlY2tQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQp
CiB7CiAgICAgTm90aWZpY2F0aW9uUGVybWlzc2lvbiBwZXJtaXNzaW9uID0gTm90aWZpY2F0aW9u
Tm90QWxsb3dlZDsKLSAgICBRU3RyaW5nIG9yaWdpbiA9IHVybC5zdHJpbmcoKTsKKyAgICBRU3Ry
aW5nIG9yaWdpbiA9IGNvbnRleHQtPnVybCgpLnN0cmluZygpOwogICAgIGlmIChjaGVja1Blcm1p
c3Npb25GdW5jdGlvbikKICAgICAgICAgY2hlY2tQZXJtaXNzaW9uRnVuY3Rpb24obV9yZWNlaXZl
ciwgb3JpZ2luLCBwZXJtaXNzaW9uKTsKICAgICBzd2l0Y2ggKHBlcm1pc3Npb24pIHsKQEAgLTI4
OSw2ICsyOTAsMTIgQEAgTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIE5vdGlmaQog
ICAgIHJldHVybiBOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb25Ob3RBbGxvd2VkOwog
fQogCit2b2lkIE5vdGlmaWNhdGlvblByZXNlbnRlckNsaWVudFF0OjpjYW5jZWxSZXF1ZXN0c0Zv
clBlcm1pc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopCit7CisgICAgLy8gRklYTUU6IFRo
aXMgd2lsbCBiZSBpbXBsZW1lbnRlZCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQxNDEzCisgICAgLy8gdG8gYXZvaWQgYWRkaW5nIGFuZCByZW1vdmluZyBuZXcg
cHJpdmF0ZSBBUEkKK30KKwogdm9pZCBOb3RpZmljYXRpb25QcmVzZW50ZXJDbGllbnRRdDo6YWxs
b3dOb3RpZmljYXRpb25Gb3JPcmlnaW4oY29uc3QgUVN0cmluZyYgb3JpZ2luKQogewogICAgIFFI
YXNoPFFTdHJpbmcsIFFMaXN0PFJlZlB0cjxWb2lkQ2FsbGJhY2s+ID4gPjo6aXRlcmF0b3IgaXRl
ciA9IG1fcGVuZGluZ1Blcm1pc3Npb25SZXF1ZXN0cy5maW5kKG9yaWdpbik7CkluZGV4OiBXZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvTm90aWZpY2F0aW9uUHJlc2VudGVy
Q2xpZW50UXQuaAkocmV2aXNpb24gNjI3ODIpCisrKyBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
Tm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNyAr
NDUsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudDsKLWNsYXNzIEtV
Ukw7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiBjbGFzcyBOb3RpZmljYXRpb25X
cmFwcGVyIDogcHVibGljIFFPYmplY3QsIHB1YmxpYyBRV2ViTm90aWZpY2F0aW9uRGF0YSB7CiAg
ICAgUV9PQkpFQ1QKQEAgLTg0LDggKzg0LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBz
aG93KE5vdGlmaWNhdGlvbiopOwogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWwoTm90aWZpY2F0aW9u
Kik7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmaWNhdGlvbk9iamVjdERlc3Ryb3llZChOb3RpZmlj
YXRpb24qKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oU2VjdXJpdHlPcmln
aW4qLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pOwotICAgIHZpcnR1YWwgTm90aWZpY2F0aW9u
UHJlc2VudGVyOjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihjb25zdCBLVVJMJik7CisgICAg
dmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQ
YXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pOworICAgIHZpcnR1YWwgTm90aWZpY2F0aW9uUHJlc2Vu
dGVyOjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7
CisgICAgdmlydHVhbCB2b2lkIGNhbmNlbFJlcXVlc3RzRm9yUGVybWlzc2lvbihTY3JpcHRFeGVj
dXRpb25Db250ZXh0Kik7CiAKICAgICB2b2lkIGNhbmNlbChOb3RpZmljYXRpb25XcmFwcGVyKik7
CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>