<?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>35846</bug_id>
          
          <creation_ts>2010-03-07 14:18:16 -0800</creation_ts>
          <short_desc>Kill applicationID() (part 1)</short_desc>
          <delta_ts>2010-03-11 22:12:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit API</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Aaron Boodman">aa</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>johnnyg</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>197031</commentid>
    <comment_count>0</comment_count>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-03-07 14:18:16 -0800</bug_when>
    <thetext>It turns out we don&apos;t need WebDocument::applicationID in Chromium after all, so remove it and supporting code from the notifications system. Since Chromium relies on this, it will be done in a couple parts.

First part (this bug):
- Change the signature of WebCore::NotificationPresenter::checkPermission() and change call sites
- Add the new signature to Chromium&apos;s WebKit port, but don&apos;t remove the old one yet.
- Remove the guts of WebDocument::applicationID(), but leave the stub.

Second part:
- Update Chromium call sites to the new methods

Third part:
- Remove the old checkPermission() and applicationID() methods from WebCore and WebKit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197032</commentid>
    <comment_count>1</comment_count>
      <attachid>50177</attachid>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-03-07 14:24:53 -0800</bug_when>
    <thetext>Created attachment 50177
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197033</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-07 14:31:15 -0800</bug_when>
    <thetext>Attachment 50177 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/344325</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197039</commentid>
    <comment_count>3</comment_count>
      <attachid>50178</attachid>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-03-07 15:49:46 -0800</bug_when>
    <thetext>Created attachment 50178
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197197</commentid>
    <comment_count>4</comment_count>
      <attachid>50178</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-03-08 09:45:28 -0800</bug_when>
    <thetext>Comment on attachment 50178
Patch

We ordinarily pass a SecurityOrigin through the WebKit API as a WebSecurityOrigin.  That way if the consumer needs more than just SecurityOrigin::toString(), then they can have it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197203</commentid>
    <comment_count>5</comment_count>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-03-08 09:49:35 -0800</bug_when>
    <thetext>Ok, it was using WebString for origin originally, but I will fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197206</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-03-08 09:52:15 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Ok, it was using WebString for origin originally, but I will fix it.

Thanks!  The existing code probably pre-dates the addition of WebSecurityOrigin, or maybe someone didn&apos;t know about that interface.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197760</commentid>
    <comment_count>7</comment_count>
      <attachid>50345</attachid>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-03-09 14:00:55 -0800</bug_when>
    <thetext>Created attachment 50345
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197761</commentid>
    <comment_count>8</comment_count>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-03-09 14:02:54 -0800</bug_when>
    <thetext>Ok, ready for another look Darin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197821</commentid>
    <comment_count>9</comment_count>
      <attachid>50345</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-03-09 15:53:00 -0800</bug_when>
    <thetext>Comment on attachment 50345
Patch

&gt; +++ b/WebKit/chromium/public/WebNotificationPresenter.h
...
&gt; +    virtual Permission checkPermission(const WebSecurityOrigin&amp; origin)
&gt; +    {
&gt; +        return PermissionNotAllowed;
&gt; +    };

nit: no trailing semi-colon


&gt; +++ b/WebKit/chromium/src/NotificationPresenterImpl.cpp
...
&gt; +    int result = m_presenter-&gt;checkPermission(WebSecurityOrigin(origin));
&gt; +
&gt; +    // FIXME: Remove this once clients are updated to use the above signature.
&gt; +    if (result == NotificationPresenter::PermissionNotAllowed)

nit: you can drop the NotificationPresenter:: prefix here.


&gt; +++ b/WebKit/win/WebCoreSupport/WebDesktopNotificationsDelegate.cpp
&gt; @@ -174,8 +174,13 @@ void WebDesktopNotificationsDelegate::requestPermission(SecurityOrigin* origin,
&gt;  
&gt;  NotificationPresenter::Permission WebDesktopNotificationsDelegate::checkPermission(const KURL&amp; url, Document*)
&gt;  {
&gt; +    return (NotificationPresenter::Permission) 0;

perhaps it would be better to explicitly return one of the enum values?
0 means PermissionAllowed, right?


r=me otherwise.  cq- since there are some nits to fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197827</commentid>
    <comment_count>10</comment_count>
      <attachid>50359</attachid>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-03-09 16:00:45 -0800</bug_when>
    <thetext>Created attachment 50359
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198930</commentid>
    <comment_count>11</comment_count>
      <attachid>50359</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-11 22:12:04 -0800</bug_when>
    <thetext>Comment on attachment 50359
Patch

Clearing flags on attachment: 50359

Committed r55888: &lt;http://trac.webkit.org/changeset/55888&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198931</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-11 22:12:09 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50177</attachid>
            <date>2010-03-07 14:24:53 -0800</date>
            <delta_ts>2010-03-07 15:49:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35846-20100307142452.patch</filename>
            <type>text/plain</type>
            <size>12031</size>
            <attacher name="Aaron Boodman">aa</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWYyZDg3NC4uNjRkYTUyMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wMy0wNyAgQWFyb24gQm9vZG1h
biAgPGFhQGNocm9taXVtLm9yZz4KKworICAgICAgICBLaWxsIFdlYkRvY3VtZW50OjphcHBsaWNh
dGlvbklEKCkgKHBhcnQgMSkuCisKKyAgICAgICAgTW9kaWZ5IGludGVyZmFjZSB0byBXZWJDb3Jl
OjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OmNoZWNrUGVybWlzc2lvbigpCisgICAgICAgIGFuZCBy
ZW1vdmUgaW1wbGVtZW50YXRpb24gb2YgV2ViRG9jdW1lbnQ6OmFwcGxpY2F0aW9uSUQoKS4gQnJl
YWtpbmcKKyAgICAgICAgQVBJIGNoYW5nZXMgd2lsbCBiZSBpbiBhIHN1YnNlcXVlbnQgY2hhbmdl
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU4NDYK
KworICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRp
b25DZW50ZXI6OmNoZWNrUGVybWlzc2lvbik6CisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25QcmVzZW50ZXIuaDoKKwogMjAxMC0wMy0wNSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8
b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGRmaXggYWZ0ZXIgcjU1
NTkzLiAoVG8gZml4IFF0IC0tbWluaW1hbCBidWlsZC4pCmRpZmYgLS1naXQgYS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBiL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uY3BwCmluZGV4IGVkMzA4MDAuLjg3NGQyZjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCisrKyBiL1dlYkNvcmUvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb24uY3BwCkBAIC00OSw4ICs0OSw3IEBAIE5vdGlmaWNhdGlvbjo6Tm90aWZp
Y2F0aW9uKGNvbnN0IFN0cmluZyYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
LCBFCiAgICAgLCBtX3ByZXNlbnRlcihwcm92aWRlcikKIHsKICAgICBBU1NFUlQobV9wcmVzZW50
ZXIpOwotICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHQtPmlzRG9jdW1lbnQoKSA/IHN0
YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCkgOiAwOwotICAgIGlmIChtX3ByZXNlbnRlci0+
Y2hlY2tQZXJtaXNzaW9uKGNvbnRleHQtPnVybCgpLCBkb2N1bWVudCkgIT0gTm90aWZpY2F0aW9u
UHJlc2VudGVyOjpQZXJtaXNzaW9uQWxsb3dlZCkgeworICAgIGlmIChtX3ByZXNlbnRlci0+Y2hl
Y2tQZXJtaXNzaW9uKGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCkpICE9IE5vdGlmaWNhdGlvblBy
ZXNlbnRlcjo6UGVybWlzc2lvbkFsbG93ZWQpIHsKICAgICAgICAgZWMgPSBTRUNVUklUWV9FUlI7
CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC03MCw4ICs2OSw3IEBAIE5vdGlmaWNhdGlvbjo6
Tm90aWZpY2F0aW9uKGNvbnN0IE5vdGlmaWNhdGlvbkNvbnRlbnRzJiBjb250ZW50cywgU2NyaXB0
RXhlY3V0aW9uCiAgICAgLCBtX3ByZXNlbnRlcihwcm92aWRlcikKIHsKICAgICBBU1NFUlQobV9w
cmVzZW50ZXIpOwotICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHQtPmlzRG9jdW1lbnQo
KSA/IHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCkgOiAwOwotICAgIGlmIChtX3ByZXNl
bnRlci0+Y2hlY2tQZXJtaXNzaW9uKGNvbnRleHQtPnVybCgpLCBkb2N1bWVudCkgIT0gTm90aWZp
Y2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uQWxsb3dlZCkgeworICAgIGlmIChtX3ByZXNlbnRl
ci0+Y2hlY2tQZXJtaXNzaW9uKGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCkpICE9IE5vdGlmaWNh
dGlvblByZXNlbnRlcjo6UGVybWlzc2lvbkFsbG93ZWQpIHsKICAgICAgICAgZWMgPSBTRUNVUklU
WV9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcCBiL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuY3BwCmluZGV4IGFkOWZiZWMuLjIwNWI5YTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCisrKyBiL1dlYkNv
cmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCkBAIC00OSw5ICs0OSw3IEBA
IGludCBOb3RpZmljYXRpb25DZW50ZXI6OmNoZWNrUGVybWlzc2lvbigpCiB7CiAgICAgaWYgKCFw
cmVzZW50ZXIoKSkKICAgICAgICAgcmV0dXJuIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlz
c2lvbkRlbmllZDsKLSAgICByZXR1cm4gbV9ub3RpZmljYXRpb25QcmVzZW50ZXItPmNoZWNrUGVy
bWlzc2lvbigKLSAgICAgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT51cmwoKSwKLSAgICAg
ICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5pc0RvY3VtZW50KCkgPyBzdGF0aWNfY2FzdDxE
b2N1bWVudCo+KG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkgOiAwKTsKKyAgICByZXR1cm4gbV9u
b3RpZmljYXRpb25QcmVzZW50ZXItPmNoZWNrUGVybWlzc2lvbihtX3NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQtPnNlY3VyaXR5T3JpZ2luKCkpOwogfQogCiB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6
cmVxdWVzdFBlcm1pc3Npb24oUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNlbnRlci5oIGIv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNlbnRlci5oCmluZGV4IDNkZjAz
YmIuLjlhYmY4YTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25QcmVzZW50ZXIuaAorKysgYi9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUHJl
c2VudGVyLmgKQEAgLTcxLDEwICs3MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
Ly8gbWFkZSBhIGRlY2lzaW9uLgogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Np
b24oU2VjdXJpdHlPcmlnaW4qLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pID0gMDsKIAotICAg
ICAgICAvLyBDaGVja3MgdGhlIGN1cnJlbnQgbGV2ZWwgb2YgcGVybWlzc2lvbiBmb3IgdGhlIHNw
ZWNpZmllZCBVUkwuIElmIHRoZQotICAgICAgICAvLyBVUkwgaXMgYSBkb2N1bWVudCAoYXMgb3Bw
b3NlZCB0byBhIHdvcmtlciBvciBvdGhlciBTY3JpcHRFeGVjdXRpb25Db250ZXh0KSwKLSAgICAg
ICAgLy8gfGRvY3VtZW50fCB3aWxsIGFsc28gYmUgcHJvdmlkZWQuCi0gICAgICAgIHZpcnR1YWwg
UGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oY29uc3QgS1VSTCYsIERvY3VtZW50KikgPSAwOwor
ICAgICAgICAvLyBDaGVja3MgdGhlIGN1cnJlbnQgbGV2ZWwgb2YgcGVybWlzc2lvbi4KKyAgICAg
ICAgdmlydHVhbCBQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihTZWN1cml0eU9yaWdpbiopID0g
MDsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA5M2E0
NzRiLi4xNTBkZmJiIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wMy0wNyAg
QWFyb24gQm9vZG1hbiAgPGFhQGNocm9taXVtLm9yZz4KKworICAgICAgICBLaWxsIFdlYkRvY3Vt
ZW50OjphcHBsaWNhdGlvbklEKCkgKHBhcnQgMSkuCisKKyAgICAgICAgTW9kaWZ5IGludGVyZmFj
ZSB0byBXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OmNoZWNrUGVybWlzc2lvbigpCisg
ICAgICAgIGFuZCByZW1vdmUgaW1wbGVtZW50YXRpb24gb2YgV2ViRG9jdW1lbnQ6OmFwcGxpY2F0
aW9uSUQoKS4gQnJlYWtpbmcKKyAgICAgICAgQVBJIGNoYW5nZXMgd2lsbCBiZSBpbiBhIHN1YnNl
cXVlbnQgY2hhbmdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzU4NDYKKworICAgICAgICAqIHB1YmxpYy9XZWJOb3RpZmljYXRpb25QcmVzZW50ZXIu
aDoKKyAgICAgICAgKiBzcmMvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6Ok5vdGlmaWNhdGlvblByZXNlbnRlckltcGw6OmNoZWNrUGVybWlzc2lvbik6Cisg
ICAgICAgICogc3JjL05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaDoKKyAgICAgICAgKiBzcmMv
V2ViRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJEb2N1bWVudDo6YXBwbGljYXRp
b25JRCk6CisKIDIwMTAtMDMtMDUgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYgLS1naXQgYS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5vdGlmaWNhdGlvblByZXNlbnRlci5oIGIvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJOb3RpZmljYXRpb25QcmVzZW50ZXIuaAppbmRleCBhMzc2NGFh
Li44OWQ0NzljIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5vdGlmaWNh
dGlvblByZXNlbnRlci5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTm90aWZpY2F0
aW9uUHJlc2VudGVyLmgKQEAgLTU5LDYgKzU5LDkgQEAgcHVibGljOgogICAgIC8vIGJlaW5nIGRl
c3Ryb3llZC4gIERvZXMgX25vdF8gcmVtb3ZlIHRoZSBub3RpZmljYXRpb24gaWYgYmVpbmcgc2hv
d24sIGJ1dCBkZXRhY2hlcyBpdCBmcm9tIHJlY2VpdmluZyBldmVudHMuCiAgICAgdmlydHVhbCB2
b2lkIG9iamVjdERlc3Ryb3llZChjb25zdCBXZWJOb3RpZmljYXRpb24mKSA9IDA7CiAKKyAgICAv
LyBDaGVja3MgdGhlIHBlcm1pc3Npb24gbGV2ZWwgZm9yIHRoZSBnaXZlbiBvcmlnaW4uCisgICAg
dmlydHVhbCBQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihjb25zdCBXZWJTdHJpbmcmIG9yaWdp
bikgPSAwOworCiAgICAgLy8gQ2hlY2tzIHRoZSBwZXJtaXNzaW9uIGxldmVsIGZvciB0aGUgZ2l2
ZW4gVVJMLiBJZiB0aGUgVVJMIGlzIGJlaW5nIGRpc3BsYXllZCBpbiBhIGRvY3VtZW50CiAgICAg
Ly8gKGFzIG9wcG9zZWQgdG8gYSB3b3JrZXIgb3Igb3RoZXIgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCksIHxkb2N1bWVudHwgd2lsbCBhbHNvIGJlIHByb3ZpZGVkLgogICAgIHZpcnR1YWwgUGVybWlz
c2lvbiBjaGVja1Blcm1pc3Npb24oY29uc3QgV2ViVVJMJiB1cmwsIFdlYkRvY3VtZW50KiBkb2N1
bWVudCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRpb25Q
cmVzZW50ZXJJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvTm90aWZpY2F0aW9uUHJlc2Vu
dGVySW1wbC5jcHAKaW5kZXggYTM4YjhiNS4uNmIyMjMxOSAxMDA2NDQKLS0tIGEvV2ViS2l0L2No
cm9taXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hy
b21pdW0vc3JjL05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuY3BwCkBAIC0zMywxNSArMzMsMTIg
QEAKIAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogCi0jaW5jbHVkZSAiRG9jdW1lbnQuaCIK
ICNpbmNsdWRlICJOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgog
Ci0jaW5jbHVkZSAiV2ViRG9jdW1lbnQuaCIKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb24uaCIK
ICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCIKICNpbmNsdWRl
ICJXZWJOb3RpZmljYXRpb25QcmVzZW50ZXIuaCIKLSNpbmNsdWRlICJXZWJVUkwuaCIKIAogI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKQEAgLTkyLDEzICs4OSw5IEBAIHZvaWQgTm90aWZp
Y2F0aW9uUHJlc2VudGVySW1wbDo6bm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKE5vdGlmaWNh
dGlvbiogbm90aWZpCiAgICAgbV9wcmVzZW50ZXItPm9iamVjdERlc3Ryb3llZChQYXNzUmVmUHRy
PE5vdGlmaWNhdGlvbj4obm90aWZpY2F0aW9uKSk7CiB9CiAKLU5vdGlmaWNhdGlvblByZXNlbnRl
cjo6UGVybWlzc2lvbiBOb3RpZmljYXRpb25QcmVzZW50ZXJJbXBsOjpjaGVja1Blcm1pc3Npb24o
Y29uc3QgS1VSTCYgdXJsLCBEb2N1bWVudCogZG9jdW1lbnQpCitOb3RpZmljYXRpb25QcmVzZW50
ZXI6OlBlcm1pc3Npb24gTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbDo6Y2hlY2tQZXJtaXNzaW9u
KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiB7Ci0gICAgV2ViRG9jdW1lbnQgd2ViRG9jdW1lbnQ7
Ci0gICAgaWYgKGRvY3VtZW50KQotICAgICAgICB3ZWJEb2N1bWVudCA9IGRvY3VtZW50OwotCi0g
ICAgaW50IHJlc3VsdCA9IG1fcHJlc2VudGVyLT5jaGVja1Blcm1pc3Npb24odXJsLCBkb2N1bWVu
dCA/ICZ3ZWJEb2N1bWVudCA6IDApOworICAgIGludCByZXN1bHQgPSBtX3ByZXNlbnRlci0+Y2hl
Y2tQZXJtaXNzaW9uKG9yaWdpbi0+dG9TdHJpbmcoKSk7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbj4ocmVzdWx0KTsKIH0KIApkaWZmIC0t
Z2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmggYi9X
ZWJLaXQvY2hyb21pdW0vc3JjL05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaAppbmRleCA4ZTM3
OTljLi40YWZlOWRjIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL05vdGlmaWNhdGlv
blByZXNlbnRlckltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL05vdGlmaWNhdGlvblBy
ZXNlbnRlckltcGwuaApAQCAtNTQsNyArNTQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29s
IHNob3coV2ViQ29yZTo6Tm90aWZpY2F0aW9uKiBvYmplY3QpOwogICAgIHZpcnR1YWwgdm9pZCBj
YW5jZWwoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKiBvYmplY3QpOwogICAgIHZpcnR1YWwgdm9pZCBu
b3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKiBvYmplY3Qp
OwotICAgIHZpcnR1YWwgV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9u
IGNoZWNrUGVybWlzc2lvbihjb25zdCBXZWJDb3JlOjpLVVJMJiB1cmwsIFdlYkNvcmU6OkRvY3Vt
ZW50KiBkb2N1bWVudCk7CisgICAgdmlydHVhbCBXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50
ZXI6OlBlcm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiBv
cmlnaW4pOwogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbiogb3JpZ2luLCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6Vm9pZENhbGxiYWNr
PiBjYWxsYmFjayk7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkRvY3VtZW50LmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRG9jdW1lbnQuY3BwCmlu
ZGV4IDg1MTU2ODUuLjY0YmIzMTAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RG9jdW1lbnQuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRG9jdW1lbnQuY3BwCkBA
IC0zMiwxNCArMzIsMTIgQEAKICNpbmNsdWRlICJXZWJEb2N1bWVudC5oIgogCiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKLSNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkVsZW1l
bnQuaCIKICNpbmNsdWRlICJIVE1MQWxsQ29sbGVjdGlvbi5oIgogI2luY2x1ZGUgIkhUTUxCb2R5
RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxDb2xsZWN0aW9uLmgiCiAjaW5jbHVkZSAiSFRNTEVs
ZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MSGVhZEVsZW1lbnQuaCIKLSNpbmNsdWRlICJOb2RlTGlz
dC5oIgogCiAjaW5jbHVkZSAiV2ViRWxlbWVudC5oIgogI2luY2x1ZGUgIldlYkZyYW1lSW1wbC5o
IgpAQCAtMTI2LDM0ICsxMjQsNiBAQCBXZWJOb2RlTGlzdCBXZWJEb2N1bWVudDo6Z2V0RWxlbWVu
dHNCeVRhZ05hbWUoY29uc3QgV2ViU3RyaW5nJiB0YWcpCiAKIFdlYlN0cmluZyBXZWJEb2N1bWVu
dDo6YXBwbGljYXRpb25JRCgpIGNvbnN0CiB7Ci0gICAgY29uc3QgY2hhcioga0Nocm9tZUFwcGxp
Y2F0aW9uSGVhZGVyID0gIngtY2hyb21lLWFwcGxpY2F0aW9uIjsKLQotICAgIC8vIEZpcnN0IGNo
ZWNrIGlmIHRoZSBkb2N1bWVudCdzIHJlc3BvbnNlIGluY2x1ZGVkIGEgaGVhZGVyIGluZGljYXRp
bmcgdGhlCi0gICAgLy8gYXBwbGljYXRpb24gaXQgc2hvdWxkIGdvIHdpdGguCi0gICAgY29uc3Qg
RG9jdW1lbnQqIGRvY3VtZW50ID0gY29uc3RVbndyYXA8RG9jdW1lbnQ+KCk7Ci0gICAgRnJhbWUq
IGZyYW1lID0gZG9jdW1lbnQtPmZyYW1lKCk7Ci0gICAgaWYgKCFmcmFtZSkKLSAgICAgICAgcmV0
dXJuIFdlYlN0cmluZygpOwotCi0gICAgRG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IGZyYW1lLT5s
b2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKTsKLSAgICBpZiAoIWxvYWRlcikKLSAgICAgICAgcmV0
dXJuIFdlYlN0cmluZygpOwotCi0gICAgV2ViU3RyaW5nIGhlYWRlclZhbHVlID0KLSAgICAgICAg
bG9hZGVyLT5yZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVsZChrQ2hyb21lQXBwbGljYXRpb25IZWFk
ZXIpOwotICAgIGlmICghaGVhZGVyVmFsdWUuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gaGVh
ZGVyVmFsdWU7Ci0KLSAgICAvLyBPdGhlcndpc2UsIGZhbGwgYmFjayB0byBsb29raW5nIGZvciB0
aGUgbWV0YSB0YWcuCi0gICAgUmVmUHRyPE5vZGVMaXN0PiBtZXRhVGFncyA9Ci0gICAgICAgIGNv
bnN0X2Nhc3Q8RG9jdW1lbnQqPihkb2N1bWVudCktPmdldEVsZW1lbnRzQnlUYWdOYW1lKCJtZXRh
Iik7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1ldGFUYWdzLT5sZW5ndGgoKTsgKytp
KSB7Ci0gICAgICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obWV0
YVRhZ3MtPml0ZW0oaSkpOwotICAgICAgICBpZiAoZWxlbWVudC0+aGFzQXR0cmlidXRlKCJodHRw
LWVxdWl2IikKLSAgICAgICAgICAgICYmIGVsZW1lbnQtPmdldEF0dHJpYnV0ZSgiaHR0cC1lcXVp
diIpLmxvd2VyKCkgPT0ga0Nocm9tZUFwcGxpY2F0aW9uSGVhZGVyKQotICAgICAgICAgICAgcmV0
dXJuIGVsZW1lbnQtPmdldEF0dHJpYnV0ZSgidmFsdWUiKTsKLSAgICB9Ci0KICAgICByZXR1cm4g
V2ViU3RyaW5nKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggYWI0YTI4Yi4uZDQ5NDg3OSAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NiBAQAorMjAxMC0wMy0wNyAgQWFyb24gQm9vZG1hbiAgPGFhQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBLaWxsIFdlYkRvY3VtZW50OjphcHBsaWNhdGlvbklEKCkgKHBhcnQgMSkuCisKKyAgICAg
ICAgTW9kaWZ5IGludGVyZmFjZSB0byBXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OmNo
ZWNrUGVybWlzc2lvbigpCisgICAgICAgIGFuZCByZW1vdmUgaW1wbGVtZW50YXRpb24gb2YgV2Vi
RG9jdW1lbnQ6OmFwcGxpY2F0aW9uSUQoKS4gQnJlYWtpbmcKKyAgICAgICAgQVBJIGNoYW5nZXMg
d2lsbCBiZSBpbiBhIHN1YnNlcXVlbnQgY2hhbmdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU4NDYKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuY3BwOgorICAgICAgICAoV2ViRGVza3Rv
cE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZTo6Y2hlY2tQZXJtaXNzaW9uKToKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmg6CisKIDIwMTAtMDMt
MDUgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IFNpbW9uIEZyYXNlci4KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5jcHAgYi9XZWJLaXQvd2luL1dlYkNvcmVT
dXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuY3BwCmluZGV4IDNmNmViMDcu
LjFlOWU2YTUgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3Rv
cE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5jcHAKKysrIGIvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmNwcApAQCAtMTc0LDggKzE3NCwxMyBA
QCB2b2lkIFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU6OnJlcXVlc3RQZXJtaXNzaW9u
KFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sCiAKIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlz
c2lvbiBXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlOjpjaGVja1Blcm1pc3Npb24oY29u
c3QgS1VSTCYgdXJsLCBEb2N1bWVudCopCiB7CisgICAgcmV0dXJuIChOb3RpZmljYXRpb25QcmVz
ZW50ZXI6OlBlcm1pc3Npb24pIDA7Cit9CisKK05vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlz
c2lvbiBXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlOjpjaGVja1Blcm1pc3Npb24oU2Vj
dXJpdHlPcmlnaW4qIG9yaWdpbikKK3sKICAgICBpbnQgb3V0ID0gMDsKLSAgICBCU3RyaW5nIG9y
ZyhTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHVybCktPnRvU3RyaW5nKCkpOworICAgIEJTdHJpbmcg
b3JnKG9yaWdpbi0+dG9TdHJpbmcoKSk7CiAgICAgaWYgKGhhc05vdGlmaWNhdGlvbkRlbGVnYXRl
KCkpCiAgICAgICAgIG5vdGlmaWNhdGlvbkRlbGVnYXRlKCktPmNoZWNrTm90aWZpY2F0aW9uUGVy
bWlzc2lvbihvcmcsICZvdXQpOwogICAgIHJldHVybiAoTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQ
ZXJtaXNzaW9uKSBvdXQ7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dl
YkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuaCBiL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5oCmluZGV4IGQzMGIxZTcuLmJkYWFm
NTIgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlm
aWNhdGlvbnNEZWxlZ2F0ZS5oCisrKyBiL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVz
a3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5oCkBAIC01MSw2ICs1MSw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5vdGlm
aWNhdGlvbiogb2JqZWN0KTsKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24oV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpWb2lkQ2Fs
bGJhY2s+IGNhbGxiYWNrKTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvblByZXNl
bnRlcjo6UGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oY29uc3QgS1VSTCYgdXJsLCBEb2N1bWVu
dCogZG9jdW1lbnQpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVy
OjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdp
biogb3JpZ2luKTsKIAogcHJpdmF0ZToKICAgICBib29sIGhhc05vdGlmaWNhdGlvbkRlbGVnYXRl
KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50178</attachid>
            <date>2010-03-07 15:49:46 -0800</date>
            <delta_ts>2010-03-09 14:00:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35846-20100307154945.patch</filename>
            <type>text/plain</type>
            <size>12604</size>
            <attacher name="Aaron Boodman">aa</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWYyZDg3NC4uNjRkYTUyMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wMy0wNyAgQWFyb24gQm9vZG1h
biAgPGFhQGNocm9taXVtLm9yZz4KKworICAgICAgICBLaWxsIFdlYkRvY3VtZW50OjphcHBsaWNh
dGlvbklEKCkgKHBhcnQgMSkuCisKKyAgICAgICAgTW9kaWZ5IGludGVyZmFjZSB0byBXZWJDb3Jl
OjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OmNoZWNrUGVybWlzc2lvbigpCisgICAgICAgIGFuZCBy
ZW1vdmUgaW1wbGVtZW50YXRpb24gb2YgV2ViRG9jdW1lbnQ6OmFwcGxpY2F0aW9uSUQoKS4gQnJl
YWtpbmcKKyAgICAgICAgQVBJIGNoYW5nZXMgd2lsbCBiZSBpbiBhIHN1YnNlcXVlbnQgY2hhbmdl
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU4NDYK
KworICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRp
b25DZW50ZXI6OmNoZWNrUGVybWlzc2lvbik6CisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25QcmVzZW50ZXIuaDoKKwogMjAxMC0wMy0wNSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8
b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGRmaXggYWZ0ZXIgcjU1
NTkzLiAoVG8gZml4IFF0IC0tbWluaW1hbCBidWlsZC4pCmRpZmYgLS1naXQgYS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBiL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uY3BwCmluZGV4IGVkMzA4MDAuLjg3NGQyZjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCisrKyBiL1dlYkNvcmUvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb24uY3BwCkBAIC00OSw4ICs0OSw3IEBAIE5vdGlmaWNhdGlvbjo6Tm90aWZp
Y2F0aW9uKGNvbnN0IFN0cmluZyYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
LCBFCiAgICAgLCBtX3ByZXNlbnRlcihwcm92aWRlcikKIHsKICAgICBBU1NFUlQobV9wcmVzZW50
ZXIpOwotICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHQtPmlzRG9jdW1lbnQoKSA/IHN0
YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCkgOiAwOwotICAgIGlmIChtX3ByZXNlbnRlci0+
Y2hlY2tQZXJtaXNzaW9uKGNvbnRleHQtPnVybCgpLCBkb2N1bWVudCkgIT0gTm90aWZpY2F0aW9u
UHJlc2VudGVyOjpQZXJtaXNzaW9uQWxsb3dlZCkgeworICAgIGlmIChtX3ByZXNlbnRlci0+Y2hl
Y2tQZXJtaXNzaW9uKGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCkpICE9IE5vdGlmaWNhdGlvblBy
ZXNlbnRlcjo6UGVybWlzc2lvbkFsbG93ZWQpIHsKICAgICAgICAgZWMgPSBTRUNVUklUWV9FUlI7
CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC03MCw4ICs2OSw3IEBAIE5vdGlmaWNhdGlvbjo6
Tm90aWZpY2F0aW9uKGNvbnN0IE5vdGlmaWNhdGlvbkNvbnRlbnRzJiBjb250ZW50cywgU2NyaXB0
RXhlY3V0aW9uCiAgICAgLCBtX3ByZXNlbnRlcihwcm92aWRlcikKIHsKICAgICBBU1NFUlQobV9w
cmVzZW50ZXIpOwotICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHQtPmlzRG9jdW1lbnQo
KSA/IHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCkgOiAwOwotICAgIGlmIChtX3ByZXNl
bnRlci0+Y2hlY2tQZXJtaXNzaW9uKGNvbnRleHQtPnVybCgpLCBkb2N1bWVudCkgIT0gTm90aWZp
Y2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uQWxsb3dlZCkgeworICAgIGlmIChtX3ByZXNlbnRl
ci0+Y2hlY2tQZXJtaXNzaW9uKGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCkpICE9IE5vdGlmaWNh
dGlvblByZXNlbnRlcjo6UGVybWlzc2lvbkFsbG93ZWQpIHsKICAgICAgICAgZWMgPSBTRUNVUklU
WV9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcCBiL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuY3BwCmluZGV4IGFkOWZiZWMuLjIwNWI5YTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCisrKyBiL1dlYkNv
cmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCkBAIC00OSw5ICs0OSw3IEBA
IGludCBOb3RpZmljYXRpb25DZW50ZXI6OmNoZWNrUGVybWlzc2lvbigpCiB7CiAgICAgaWYgKCFw
cmVzZW50ZXIoKSkKICAgICAgICAgcmV0dXJuIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlz
c2lvbkRlbmllZDsKLSAgICByZXR1cm4gbV9ub3RpZmljYXRpb25QcmVzZW50ZXItPmNoZWNrUGVy
bWlzc2lvbigKLSAgICAgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT51cmwoKSwKLSAgICAg
ICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5pc0RvY3VtZW50KCkgPyBzdGF0aWNfY2FzdDxE
b2N1bWVudCo+KG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkgOiAwKTsKKyAgICByZXR1cm4gbV9u
b3RpZmljYXRpb25QcmVzZW50ZXItPmNoZWNrUGVybWlzc2lvbihtX3NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQtPnNlY3VyaXR5T3JpZ2luKCkpOwogfQogCiB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6
cmVxdWVzdFBlcm1pc3Npb24oUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNlbnRlci5oIGIv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNlbnRlci5oCmluZGV4IDNkZjAz
YmIuLjlhYmY4YTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25QcmVzZW50ZXIuaAorKysgYi9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUHJl
c2VudGVyLmgKQEAgLTcxLDEwICs3MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
Ly8gbWFkZSBhIGRlY2lzaW9uLgogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Np
b24oU2VjdXJpdHlPcmlnaW4qLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pID0gMDsKIAotICAg
ICAgICAvLyBDaGVja3MgdGhlIGN1cnJlbnQgbGV2ZWwgb2YgcGVybWlzc2lvbiBmb3IgdGhlIHNw
ZWNpZmllZCBVUkwuIElmIHRoZQotICAgICAgICAvLyBVUkwgaXMgYSBkb2N1bWVudCAoYXMgb3Bw
b3NlZCB0byBhIHdvcmtlciBvciBvdGhlciBTY3JpcHRFeGVjdXRpb25Db250ZXh0KSwKLSAgICAg
ICAgLy8gfGRvY3VtZW50fCB3aWxsIGFsc28gYmUgcHJvdmlkZWQuCi0gICAgICAgIHZpcnR1YWwg
UGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oY29uc3QgS1VSTCYsIERvY3VtZW50KikgPSAwOwor
ICAgICAgICAvLyBDaGVja3MgdGhlIGN1cnJlbnQgbGV2ZWwgb2YgcGVybWlzc2lvbi4KKyAgICAg
ICAgdmlydHVhbCBQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihTZWN1cml0eU9yaWdpbiopID0g
MDsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA5M2E0
NzRiLi4xNTBkZmJiIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wMy0wNyAg
QWFyb24gQm9vZG1hbiAgPGFhQGNocm9taXVtLm9yZz4KKworICAgICAgICBLaWxsIFdlYkRvY3Vt
ZW50OjphcHBsaWNhdGlvbklEKCkgKHBhcnQgMSkuCisKKyAgICAgICAgTW9kaWZ5IGludGVyZmFj
ZSB0byBXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OmNoZWNrUGVybWlzc2lvbigpCisg
ICAgICAgIGFuZCByZW1vdmUgaW1wbGVtZW50YXRpb24gb2YgV2ViRG9jdW1lbnQ6OmFwcGxpY2F0
aW9uSUQoKS4gQnJlYWtpbmcKKyAgICAgICAgQVBJIGNoYW5nZXMgd2lsbCBiZSBpbiBhIHN1YnNl
cXVlbnQgY2hhbmdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzU4NDYKKworICAgICAgICAqIHB1YmxpYy9XZWJOb3RpZmljYXRpb25QcmVzZW50ZXIu
aDoKKyAgICAgICAgKiBzcmMvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6Ok5vdGlmaWNhdGlvblByZXNlbnRlckltcGw6OmNoZWNrUGVybWlzc2lvbik6Cisg
ICAgICAgICogc3JjL05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaDoKKyAgICAgICAgKiBzcmMv
V2ViRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJEb2N1bWVudDo6YXBwbGljYXRp
b25JRCk6CisKIDIwMTAtMDMtMDUgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYgLS1naXQgYS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5vdGlmaWNhdGlvblByZXNlbnRlci5oIGIvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJOb3RpZmljYXRpb25QcmVzZW50ZXIuaAppbmRleCBhMzc2NGFh
Li4xMTY4NjliIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5vdGlmaWNh
dGlvblByZXNlbnRlci5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTm90aWZpY2F0
aW9uUHJlc2VudGVyLmgKQEAgLTU5LDkgKzU5LDIwIEBAIHB1YmxpYzoKICAgICAvLyBiZWluZyBk
ZXN0cm95ZWQuICBEb2VzIF9ub3RfIHJlbW92ZSB0aGUgbm90aWZpY2F0aW9uIGlmIGJlaW5nIHNo
b3duLCBidXQgZGV0YWNoZXMgaXQgZnJvbSByZWNlaXZpbmcgZXZlbnRzLgogICAgIHZpcnR1YWwg
dm9pZCBvYmplY3REZXN0cm95ZWQoY29uc3QgV2ViTm90aWZpY2F0aW9uJikgPSAwOwogCisgICAg
Ly8gQ2hlY2tzIHRoZSBwZXJtaXNzaW9uIGxldmVsIGZvciB0aGUgZ2l2ZW4gb3JpZ2luLgorICAg
IC8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZWNvbWUgYWJzdHJhY3Qgd2hlbiB0aGUgYmVsb3cgaXMg
cmVtb3ZlZC4KKyAgICB2aXJ0dWFsIFBlcm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKGNvbnN0IFdl
YlN0cmluZyYgb3JpZ2luKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFBlcm1pc3Npb25Ob3RBbGxv
d2VkOworICAgIH07CisKICAgICAvLyBDaGVja3MgdGhlIHBlcm1pc3Npb24gbGV2ZWwgZm9yIHRo
ZSBnaXZlbiBVUkwuIElmIHRoZSBVUkwgaXMgYmVpbmcgZGlzcGxheWVkIGluIGEgZG9jdW1lbnQK
ICAgICAvLyAoYXMgb3Bwb3NlZCB0byBhIHdvcmtlciBvciBvdGhlciBTY3JpcHRFeGVjdXRpb25D
b250ZXh0KSwgfGRvY3VtZW50fCB3aWxsIGFsc28gYmUgcHJvdmlkZWQuCi0gICAgdmlydHVhbCBQ
ZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihjb25zdCBXZWJVUkwmIHVybCwgV2ViRG9jdW1lbnQq
IGRvY3VtZW50KSA9IDA7CisgICAgLy8gRklYTUU6IFRoaXMgbWV0aG9kIHNob3VsZCBiZSByZW1v
dmVkIGFzIGNsaWVudHMgZG9uJ3QgbmVlZCBXZWJEb2N1bWVudCBhbnltb3JlLgorICAgIHZpcnR1
YWwgUGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oY29uc3QgV2ViVVJMJiB1cmwsIFdlYkRvY3Vt
ZW50KiBkb2N1bWVudCkKKyAgICB7CisgICAgICAgIHJldHVybiBQZXJtaXNzaW9uTm90QWxsb3dl
ZDsKKyAgICB9CiAKICAgICAvLyBSZXF1ZXN0cyBwZXJtaXNzaW9uIGZvciBhIGdpdmVuIG9yaWdp
bi4gIFRoaXMgb3BlcmF0aW9uIGlzIGFzeW5jaHJvbm91cyBhbmQgdGhlIGNhbGxiYWNrIHByb3Zp
ZGVkCiAgICAgLy8gd2lsbCBiZSBpbnZva2VkIHdoZW4gdGhlIHBlcm1pc3Npb24gZGVjaXNpb24g
aXMgbWFkZS4gIENhbGxiYWNrIHBvaW50ZXIgbXVzdCByZW1haW4KZGlmZiAtLWdpdCBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5jcHAgYi9XZWJLaXQvY2hy
b21pdW0vc3JjL05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuY3BwCmluZGV4IGEzOGI4YjUuLjhj
NjVjY2IgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvTm90aWZpY2F0aW9uUHJlc2Vu
dGVySW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50
ZXJJbXBsLmNwcApAQCAtMzMsMTEgKzMzLDEwIEBACiAKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9O
UykKIAotI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUg
Ik5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAKLSNpbmNsdWRl
ICJXZWJEb2N1bWVudC5oIgogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUg
IldlYk5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIgogI2luY2x1ZGUgIldlYk5vdGlm
aWNhdGlvblByZXNlbnRlci5oIgpAQCAtOTIsMTMgKzkxLDE0IEBAIHZvaWQgTm90aWZpY2F0aW9u
UHJlc2VudGVySW1wbDo6bm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKE5vdGlmaWNhdGlvbiog
bm90aWZpCiAgICAgbV9wcmVzZW50ZXItPm9iamVjdERlc3Ryb3llZChQYXNzUmVmUHRyPE5vdGlm
aWNhdGlvbj4obm90aWZpY2F0aW9uKSk7CiB9CiAKLU5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVy
bWlzc2lvbiBOb3RpZmljYXRpb25QcmVzZW50ZXJJbXBsOjpjaGVja1Blcm1pc3Npb24oY29uc3Qg
S1VSTCYgdXJsLCBEb2N1bWVudCogZG9jdW1lbnQpCitOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBl
cm1pc3Npb24gTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbDo6Y2hlY2tQZXJtaXNzaW9uKFNlY3Vy
aXR5T3JpZ2luKiBvcmlnaW4pCiB7Ci0gICAgV2ViRG9jdW1lbnQgd2ViRG9jdW1lbnQ7Ci0gICAg
aWYgKGRvY3VtZW50KQotICAgICAgICB3ZWJEb2N1bWVudCA9IGRvY3VtZW50OworICAgIGludCBy
ZXN1bHQgPSBtX3ByZXNlbnRlci0+Y2hlY2tQZXJtaXNzaW9uKG9yaWdpbi0+dG9TdHJpbmcoKSk7
CisKKyAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgb25lIGNsaWVudHMgYXJlIHVwZGF0ZWQgdG8g
dXNlIHRoZSBhYm92ZSBzaWduYXR1cmUuCisgICAgaWYgKHJlc3VsdCA9PSBOb3RpZmljYXRpb25Q
cmVzZW50ZXI6OlBlcm1pc3Npb25Ob3RBbGxvd2VkKQorICAgICAgICByZXN1bHQgPSBtX3ByZXNl
bnRlci0+Y2hlY2tQZXJtaXNzaW9uKEtVUkwoS1VSTCgpLCBvcmlnaW4tPnRvU3RyaW5nKCkpLCAw
KTsKIAotICAgIGludCByZXN1bHQgPSBtX3ByZXNlbnRlci0+Y2hlY2tQZXJtaXNzaW9uKHVybCwg
ZG9jdW1lbnQgPyAmd2ViRG9jdW1lbnQgOiAwKTsKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Tm90
aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uPihyZXN1bHQpOwogfQogCmRpZmYgLS1naXQg
YS9XZWJLaXQvY2hyb21pdW0vc3JjL05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaCBiL1dlYktp
dC9jaHJvbWl1bS9zcmMvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5oCmluZGV4IDhlMzc5OWMu
LjRhZmU5ZGMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvTm90aWZpY2F0aW9uUHJl
c2VudGVySW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvTm90aWZpY2F0aW9uUHJlc2Vu
dGVySW1wbC5oCkBAIC01NCw3ICs1NCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgc2hv
dyhXZWJDb3JlOjpOb3RpZmljYXRpb24qIG9iamVjdCk7CiAgICAgdmlydHVhbCB2b2lkIGNhbmNl
bChXZWJDb3JlOjpOb3RpZmljYXRpb24qIG9iamVjdCk7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlm
aWNhdGlvbk9iamVjdERlc3Ryb3llZChXZWJDb3JlOjpOb3RpZmljYXRpb24qIG9iamVjdCk7Ci0g
ICAgdmlydHVhbCBXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24gY2hl
Y2tQZXJtaXNzaW9uKGNvbnN0IFdlYkNvcmU6OktVUkwmIHVybCwgV2ViQ29yZTo6RG9jdW1lbnQq
IGRvY3VtZW50KTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvblByZXNlbnRlcjo6
UGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qIG9yaWdp
bik7CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luKiBvcmlnaW4sIFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpWb2lkQ2FsbGJhY2s+IGNh
bGxiYWNrKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RG9jdW1lbnQuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEb2N1bWVudC5jcHAKaW5kZXgg
ODUxNTY4NS4uOTljYjQxMiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEb2N1
bWVudC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEb2N1bWVudC5jcHAKQEAgLTMy
LDcgKzMyLDYgQEAKICNpbmNsdWRlICJXZWJEb2N1bWVudC5oIgogCiAjaW5jbHVkZSAiRG9jdW1l
bnQuaCIKLSNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIK
ICNpbmNsdWRlICJIVE1MQWxsQ29sbGVjdGlvbi5oIgogI2luY2x1ZGUgIkhUTUxCb2R5RWxlbWVu
dC5oIgpAQCAtMTI2LDM0ICsxMjUsNiBAQCBXZWJOb2RlTGlzdCBXZWJEb2N1bWVudDo6Z2V0RWxl
bWVudHNCeVRhZ05hbWUoY29uc3QgV2ViU3RyaW5nJiB0YWcpCiAKIFdlYlN0cmluZyBXZWJEb2N1
bWVudDo6YXBwbGljYXRpb25JRCgpIGNvbnN0CiB7Ci0gICAgY29uc3QgY2hhcioga0Nocm9tZUFw
cGxpY2F0aW9uSGVhZGVyID0gIngtY2hyb21lLWFwcGxpY2F0aW9uIjsKLQotICAgIC8vIEZpcnN0
IGNoZWNrIGlmIHRoZSBkb2N1bWVudCdzIHJlc3BvbnNlIGluY2x1ZGVkIGEgaGVhZGVyIGluZGlj
YXRpbmcgdGhlCi0gICAgLy8gYXBwbGljYXRpb24gaXQgc2hvdWxkIGdvIHdpdGguCi0gICAgY29u
c3QgRG9jdW1lbnQqIGRvY3VtZW50ID0gY29uc3RVbndyYXA8RG9jdW1lbnQ+KCk7Ci0gICAgRnJh
bWUqIGZyYW1lID0gZG9jdW1lbnQtPmZyYW1lKCk7Ci0gICAgaWYgKCFmcmFtZSkKLSAgICAgICAg
cmV0dXJuIFdlYlN0cmluZygpOwotCi0gICAgRG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IGZyYW1l
LT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKTsKLSAgICBpZiAoIWxvYWRlcikKLSAgICAgICAg
cmV0dXJuIFdlYlN0cmluZygpOwotCi0gICAgV2ViU3RyaW5nIGhlYWRlclZhbHVlID0KLSAgICAg
ICAgbG9hZGVyLT5yZXNwb25zZSgpLmh0dHBIZWFkZXJGaWVsZChrQ2hyb21lQXBwbGljYXRpb25I
ZWFkZXIpOwotICAgIGlmICghaGVhZGVyVmFsdWUuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4g
aGVhZGVyVmFsdWU7Ci0KLSAgICAvLyBPdGhlcndpc2UsIGZhbGwgYmFjayB0byBsb29raW5nIGZv
ciB0aGUgbWV0YSB0YWcuCi0gICAgUmVmUHRyPE5vZGVMaXN0PiBtZXRhVGFncyA9Ci0gICAgICAg
IGNvbnN0X2Nhc3Q8RG9jdW1lbnQqPihkb2N1bWVudCktPmdldEVsZW1lbnRzQnlUYWdOYW1lKCJt
ZXRhIik7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1ldGFUYWdzLT5sZW5ndGgoKTsg
KytpKSB7Ci0gICAgICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4o
bWV0YVRhZ3MtPml0ZW0oaSkpOwotICAgICAgICBpZiAoZWxlbWVudC0+aGFzQXR0cmlidXRlKCJo
dHRwLWVxdWl2IikKLSAgICAgICAgICAgICYmIGVsZW1lbnQtPmdldEF0dHJpYnV0ZSgiaHR0cC1l
cXVpdiIpLmxvd2VyKCkgPT0ga0Nocm9tZUFwcGxpY2F0aW9uSGVhZGVyKQotICAgICAgICAgICAg
cmV0dXJuIGVsZW1lbnQtPmdldEF0dHJpYnV0ZSgidmFsdWUiKTsKLSAgICB9Ci0KICAgICByZXR1
cm4gV2ViU3RyaW5nKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggYWI0YTI4Yi4uZDQ5NDg3OSAxMDA2NDQKLS0tIGEv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAxMC0wMy0wNyAgQWFyb24gQm9vZG1hbiAgPGFhQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBLaWxsIFdlYkRvY3VtZW50OjphcHBsaWNhdGlvbklEKCkgKHBhcnQgMSkuCisKKyAg
ICAgICAgTW9kaWZ5IGludGVyZmFjZSB0byBXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXI6
OmNoZWNrUGVybWlzc2lvbigpCisgICAgICAgIGFuZCByZW1vdmUgaW1wbGVtZW50YXRpb24gb2Yg
V2ViRG9jdW1lbnQ6OmFwcGxpY2F0aW9uSUQoKS4gQnJlYWtpbmcKKyAgICAgICAgQVBJIGNoYW5n
ZXMgd2lsbCBiZSBpbiBhIHN1YnNlcXVlbnQgY2hhbmdlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU4NDYKKworICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuY3BwOgorICAgICAgICAoV2ViRGVz
a3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZTo6Y2hlY2tQZXJtaXNzaW9uKToKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmg6CisKIDIwMTAt
MDMtMDUgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFNpbW9uIEZyYXNlci4KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5jcHAgYi9XZWJLaXQvd2luL1dlYkNv
cmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuY3BwCmluZGV4IDNmNmVi
MDcuLjFlOWU2YTUgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVz
a3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5jcHAKKysrIGIvV2ViS2l0L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmNwcApAQCAtMTc0LDggKzE3NCwx
MyBAQCB2b2lkIFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGU6OnJlcXVlc3RQZXJtaXNz
aW9uKFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sCiAKIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVy
bWlzc2lvbiBXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlOjpjaGVja1Blcm1pc3Npb24o
Y29uc3QgS1VSTCYgdXJsLCBEb2N1bWVudCopCiB7CisgICAgcmV0dXJuIChOb3RpZmljYXRpb25Q
cmVzZW50ZXI6OlBlcm1pc3Npb24pIDA7Cit9CisKK05vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVy
bWlzc2lvbiBXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlOjpjaGVja1Blcm1pc3Npb24o
U2VjdXJpdHlPcmlnaW4qIG9yaWdpbikKK3sKICAgICBpbnQgb3V0ID0gMDsKLSAgICBCU3RyaW5n
IG9yZyhTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHVybCktPnRvU3RyaW5nKCkpOworICAgIEJTdHJp
bmcgb3JnKG9yaWdpbi0+dG9TdHJpbmcoKSk7CiAgICAgaWYgKGhhc05vdGlmaWNhdGlvbkRlbGVn
YXRlKCkpCiAgICAgICAgIG5vdGlmaWNhdGlvbkRlbGVnYXRlKCktPmNoZWNrTm90aWZpY2F0aW9u
UGVybWlzc2lvbihvcmcsICZvdXQpOwogICAgIHJldHVybiAoTm90aWZpY2F0aW9uUHJlc2VudGVy
OjpQZXJtaXNzaW9uKSBvdXQ7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0
L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdhdGUuaCBiL1dlYktpdC93aW4vV2ViQ29yZVN1
cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5oCmluZGV4IGQzMGIxZTcuLmJk
YWFmNTIgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5v
dGlmaWNhdGlvbnNEZWxlZ2F0ZS5oCisrKyBiL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2Vi
RGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5oCkBAIC01MSw2ICs1MSw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5v
dGlmaWNhdGlvbiogb2JqZWN0KTsKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Npb24o
V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpWb2lk
Q2FsbGJhY2s+IGNhbGxiYWNrKTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBy
ZXNlbnRlcjo6UGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oY29uc3QgS1VSTCYgdXJsLCBEb2N1
bWVudCogZG9jdW1lbnQpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2Vu
dGVyOjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbiogb3JpZ2luKTsKIAogcHJpdmF0ZToKICAgICBib29sIGhhc05vdGlmaWNhdGlvbkRlbGVn
YXRlKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50345</attachid>
            <date>2010-03-09 14:00:55 -0800</date>
            <delta_ts>2010-03-09 16:00:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35846-20100309140054.patch</filename>
            <type>text/plain</type>
            <size>14109</size>
            <attacher name="Aaron Boodman">aa</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWYyZDg3NC4uNjRkYTUyMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wMy0wNyAgQWFyb24gQm9vZG1h
biAgPGFhQGNocm9taXVtLm9yZz4KKworICAgICAgICBLaWxsIFdlYkRvY3VtZW50OjphcHBsaWNh
dGlvbklEKCkgKHBhcnQgMSkuCisKKyAgICAgICAgTW9kaWZ5IGludGVyZmFjZSB0byBXZWJDb3Jl
OjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OmNoZWNrUGVybWlzc2lvbigpCisgICAgICAgIGFuZCBy
ZW1vdmUgaW1wbGVtZW50YXRpb24gb2YgV2ViRG9jdW1lbnQ6OmFwcGxpY2F0aW9uSUQoKS4gQnJl
YWtpbmcKKyAgICAgICAgQVBJIGNoYW5nZXMgd2lsbCBiZSBpbiBhIHN1YnNlcXVlbnQgY2hhbmdl
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU4NDYK
KworICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRp
b25DZW50ZXI6OmNoZWNrUGVybWlzc2lvbik6CisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25QcmVzZW50ZXIuaDoKKwogMjAxMC0wMy0wNSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8
b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGRmaXggYWZ0ZXIgcjU1
NTkzLiAoVG8gZml4IFF0IC0tbWluaW1hbCBidWlsZC4pCmRpZmYgLS1naXQgYS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBiL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uY3BwCmluZGV4IGVkMzA4MDAuLjg3NGQyZjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCisrKyBiL1dlYkNvcmUvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb24uY3BwCkBAIC00OSw4ICs0OSw3IEBAIE5vdGlmaWNhdGlvbjo6Tm90aWZp
Y2F0aW9uKGNvbnN0IFN0cmluZyYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
LCBFCiAgICAgLCBtX3ByZXNlbnRlcihwcm92aWRlcikKIHsKICAgICBBU1NFUlQobV9wcmVzZW50
ZXIpOwotICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHQtPmlzRG9jdW1lbnQoKSA/IHN0
YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCkgOiAwOwotICAgIGlmIChtX3ByZXNlbnRlci0+
Y2hlY2tQZXJtaXNzaW9uKGNvbnRleHQtPnVybCgpLCBkb2N1bWVudCkgIT0gTm90aWZpY2F0aW9u
UHJlc2VudGVyOjpQZXJtaXNzaW9uQWxsb3dlZCkgeworICAgIGlmIChtX3ByZXNlbnRlci0+Y2hl
Y2tQZXJtaXNzaW9uKGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCkpICE9IE5vdGlmaWNhdGlvblBy
ZXNlbnRlcjo6UGVybWlzc2lvbkFsbG93ZWQpIHsKICAgICAgICAgZWMgPSBTRUNVUklUWV9FUlI7
CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC03MCw4ICs2OSw3IEBAIE5vdGlmaWNhdGlvbjo6
Tm90aWZpY2F0aW9uKGNvbnN0IE5vdGlmaWNhdGlvbkNvbnRlbnRzJiBjb250ZW50cywgU2NyaXB0
RXhlY3V0aW9uCiAgICAgLCBtX3ByZXNlbnRlcihwcm92aWRlcikKIHsKICAgICBBU1NFUlQobV9w
cmVzZW50ZXIpOwotICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHQtPmlzRG9jdW1lbnQo
KSA/IHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCkgOiAwOwotICAgIGlmIChtX3ByZXNl
bnRlci0+Y2hlY2tQZXJtaXNzaW9uKGNvbnRleHQtPnVybCgpLCBkb2N1bWVudCkgIT0gTm90aWZp
Y2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uQWxsb3dlZCkgeworICAgIGlmIChtX3ByZXNlbnRl
ci0+Y2hlY2tQZXJtaXNzaW9uKGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCkpICE9IE5vdGlmaWNh
dGlvblByZXNlbnRlcjo6UGVybWlzc2lvbkFsbG93ZWQpIHsKICAgICAgICAgZWMgPSBTRUNVUklU
WV9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcCBiL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuY3BwCmluZGV4IGFkOWZiZWMuLjIwNWI5YTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCisrKyBiL1dlYkNv
cmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCkBAIC00OSw5ICs0OSw3IEBA
IGludCBOb3RpZmljYXRpb25DZW50ZXI6OmNoZWNrUGVybWlzc2lvbigpCiB7CiAgICAgaWYgKCFw
cmVzZW50ZXIoKSkKICAgICAgICAgcmV0dXJuIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlz
c2lvbkRlbmllZDsKLSAgICByZXR1cm4gbV9ub3RpZmljYXRpb25QcmVzZW50ZXItPmNoZWNrUGVy
bWlzc2lvbigKLSAgICAgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT51cmwoKSwKLSAgICAg
ICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5pc0RvY3VtZW50KCkgPyBzdGF0aWNfY2FzdDxE
b2N1bWVudCo+KG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkgOiAwKTsKKyAgICByZXR1cm4gbV9u
b3RpZmljYXRpb25QcmVzZW50ZXItPmNoZWNrUGVybWlzc2lvbihtX3NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQtPnNlY3VyaXR5T3JpZ2luKCkpOwogfQogCiB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6
cmVxdWVzdFBlcm1pc3Npb24oUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNlbnRlci5oIGIv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNlbnRlci5oCmluZGV4IDNkZjAz
YmIuLjlhYmY4YTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25QcmVzZW50ZXIuaAorKysgYi9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUHJl
c2VudGVyLmgKQEAgLTcxLDEwICs3MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
Ly8gbWFkZSBhIGRlY2lzaW9uLgogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Np
b24oU2VjdXJpdHlPcmlnaW4qLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pID0gMDsKIAotICAg
ICAgICAvLyBDaGVja3MgdGhlIGN1cnJlbnQgbGV2ZWwgb2YgcGVybWlzc2lvbiBmb3IgdGhlIHNw
ZWNpZmllZCBVUkwuIElmIHRoZQotICAgICAgICAvLyBVUkwgaXMgYSBkb2N1bWVudCAoYXMgb3Bw
b3NlZCB0byBhIHdvcmtlciBvciBvdGhlciBTY3JpcHRFeGVjdXRpb25Db250ZXh0KSwKLSAgICAg
ICAgLy8gfGRvY3VtZW50fCB3aWxsIGFsc28gYmUgcHJvdmlkZWQuCi0gICAgICAgIHZpcnR1YWwg
UGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oY29uc3QgS1VSTCYsIERvY3VtZW50KikgPSAwOwor
ICAgICAgICAvLyBDaGVja3MgdGhlIGN1cnJlbnQgbGV2ZWwgb2YgcGVybWlzc2lvbi4KKyAgICAg
ICAgdmlydHVhbCBQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihTZWN1cml0eU9yaWdpbiopID0g
MDsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA5M2E0
NzRiLi4xNTBkZmJiIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wMy0wNyAg
QWFyb24gQm9vZG1hbiAgPGFhQGNocm9taXVtLm9yZz4KKworICAgICAgICBLaWxsIFdlYkRvY3Vt
ZW50OjphcHBsaWNhdGlvbklEKCkgKHBhcnQgMSkuCisKKyAgICAgICAgTW9kaWZ5IGludGVyZmFj
ZSB0byBXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OmNoZWNrUGVybWlzc2lvbigpCisg
ICAgICAgIGFuZCByZW1vdmUgaW1wbGVtZW50YXRpb24gb2YgV2ViRG9jdW1lbnQ6OmFwcGxpY2F0
aW9uSUQoKS4gQnJlYWtpbmcKKyAgICAgICAgQVBJIGNoYW5nZXMgd2lsbCBiZSBpbiBhIHN1YnNl
cXVlbnQgY2hhbmdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzU4NDYKKworICAgICAgICAqIHB1YmxpYy9XZWJOb3RpZmljYXRpb25QcmVzZW50ZXIu
aDoKKyAgICAgICAgKiBzcmMvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6Ok5vdGlmaWNhdGlvblByZXNlbnRlckltcGw6OmNoZWNrUGVybWlzc2lvbik6Cisg
ICAgICAgICogc3JjL05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaDoKKyAgICAgICAgKiBzcmMv
V2ViRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJEb2N1bWVudDo6YXBwbGljYXRp
b25JRCk6CisKIDIwMTAtMDMtMDUgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYgLS1naXQgYS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5vdGlmaWNhdGlvblByZXNlbnRlci5oIGIvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJOb3RpZmljYXRpb25QcmVzZW50ZXIuaAppbmRleCBhMzc2NGFh
Li43M2MzYjU2IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5vdGlmaWNh
dGlvblByZXNlbnRlci5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTm90aWZpY2F0
aW9uUHJlc2VudGVyLmgKQEAgLTMxLDEzICszMSwxNCBAQAogI2lmbmRlZiBXZWJOb3RpZmljYXRp
b25QcmVzZW50ZXJfaAogI2RlZmluZSBXZWJOb3RpZmljYXRpb25QcmVzZW50ZXJfaAogCisjaW5j
bHVkZSAiV2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgiCisjaW5jbHVkZSAiV2Vi
U2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJXZWJTdHJpbmcuaCIKIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKIGNsYXNzIFdlYkRvY3VtZW50OwogY2xhc3MgV2ViTm90aWZpY2F0aW9uOwotY2xh
c3MgV2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOwogY2xhc3MgV2ViVVJMOwogCiAv
LyBQcm92aWRlcyB0aGUgc2VydmljZXMgdG8gc2hvdyBkZXNrdG9wIG5vdGlmaWNhdGlvbnMgdG8g
dGhlIHVzZXIuCkBAIC01OSwxNCArNjAsMzUgQEAgcHVibGljOgogICAgIC8vIGJlaW5nIGRlc3Ry
b3llZC4gIERvZXMgX25vdF8gcmVtb3ZlIHRoZSBub3RpZmljYXRpb24gaWYgYmVpbmcgc2hvd24s
IGJ1dCBkZXRhY2hlcyBpdCBmcm9tIHJlY2VpdmluZyBldmVudHMuCiAgICAgdmlydHVhbCB2b2lk
IG9iamVjdERlc3Ryb3llZChjb25zdCBXZWJOb3RpZmljYXRpb24mKSA9IDA7CiAKKyAgICAvLyBD
aGVja3MgdGhlIHBlcm1pc3Npb24gbGV2ZWwgZm9yIHRoZSBnaXZlbiBvcmlnaW4uCisgICAgLy8g
RklYTUU6IFRoaXMgc2hvdWxkIGJlY29tZSBhYnN0cmFjdCB3aGVuIHRoZSBiZWxvdyBpcyByZW1v
dmVkLgorICAgIHZpcnR1YWwgUGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oY29uc3QgV2ViU2Vj
dXJpdHlPcmlnaW4mIG9yaWdpbikKKyAgICB7CisgICAgICAgIHJldHVybiBQZXJtaXNzaW9uTm90
QWxsb3dlZDsKKyAgICB9OworCiAgICAgLy8gQ2hlY2tzIHRoZSBwZXJtaXNzaW9uIGxldmVsIGZv
ciB0aGUgZ2l2ZW4gVVJMLiBJZiB0aGUgVVJMIGlzIGJlaW5nIGRpc3BsYXllZCBpbiBhIGRvY3Vt
ZW50CiAgICAgLy8gKGFzIG9wcG9zZWQgdG8gYSB3b3JrZXIgb3Igb3RoZXIgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCksIHxkb2N1bWVudHwgd2lsbCBhbHNvIGJlIHByb3ZpZGVkLgotICAgIHZpcnR1
YWwgUGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oY29uc3QgV2ViVVJMJiB1cmwsIFdlYkRvY3Vt
ZW50KiBkb2N1bWVudCkgPSAwOworICAgIC8vIEZJWE1FOiBUaGlzIG1ldGhvZCBzaG91bGQgYmUg
cmVtb3ZlZCBhcyBjbGllbnRzIGRvbid0IG5lZWQgV2ViRG9jdW1lbnQgYW55bW9yZS4KKyAgICB2
aXJ0dWFsIFBlcm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKGNvbnN0IFdlYlVSTCYgdXJsLCBXZWJE
b2N1bWVudCogZG9jdW1lbnQpCisgICAgeworICAgICAgICByZXR1cm4gUGVybWlzc2lvbk5vdEFs
bG93ZWQ7CisgICAgfQogCiAgICAgLy8gUmVxdWVzdHMgcGVybWlzc2lvbiBmb3IgYSBnaXZlbiBv
cmlnaW4uICBUaGlzIG9wZXJhdGlvbiBpcyBhc3luY2hyb25vdXMgYW5kIHRoZSBjYWxsYmFjayBw
cm92aWRlZAogICAgIC8vIHdpbGwgYmUgaW52b2tlZCB3aGVuIHRoZSBwZXJtaXNzaW9uIGRlY2lz
aW9uIGlzIG1hZGUuICBDYWxsYmFjayBwb2ludGVyIG11c3QgcmVtYWluCiAgICAgLy8gdmFsaWQg
dW50aWwgY2FsbGVkLgotICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihjb25zdCBX
ZWJTdHJpbmcmIG9yaWdpbiwgV2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrKiBjYWxs
YmFjaykgPSAwOworICAgIC8vIEZJWE1FOiBUaGlzIG1ldGhvZCBzaG91bGQgYmUgcmVtb3ZlZCB3
aGVuIGNsaWVudHMgYXJlIG1vdmVkIHRvIHRoZSBiZWxvdy4KKyAgICB2aXJ0dWFsIHZvaWQgcmVx
dWVzdFBlcm1pc3Npb24oY29uc3QgV2ViU3RyaW5nJiBvcmlnaW4sIFdlYk5vdGlmaWNhdGlvblBl
cm1pc3Npb25DYWxsYmFjayogY2FsbGJhY2spCisgICAgeworICAgICAgICBjYWxsYmFjay0+cGVy
bWlzc2lvblJlcXVlc3RDb21wbGV0ZSgpOworICAgIH0KKyAgICAKKyAgICAvLyBGSVhNRTogVGhp
cyBtZXRob2Qgc2hvdWxkIGJlIGFic3RyYWN0IHdoZW4gdGhlIGFib3ZlIGlzIHJlbW92ZWQuCisg
ICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKGNvbnN0IFdlYlNlY3VyaXR5T3JpZ2lu
JiBvcmlnaW4sIFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayogY2FsbGJhY2spCisg
ICAgeworICAgICAgICBjYWxsYmFjay0+cGVybWlzc2lvblJlcXVlc3RDb21wbGV0ZSgpOworICAg
IH0KIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9t
aXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5jcHAKaW5kZXggYTM4YjhiNS4uZDBhN2UzOSAx
MDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBs
LmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL05vdGlmaWNhdGlvblByZXNlbnRlckltcGwu
Y3BwCkBAIC0zMywxMSArMzMsMTAgQEAKIAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogCi0j
aW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiTm90aWZp
Y2F0aW9uLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKIAotI2luY2x1ZGUgIldlYkRv
Y3VtZW50LmgiCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uLmgiCiAjaW5jbHVkZSAiV2ViTm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9u
UHJlc2VudGVyLmgiCkBAIC05MiwxOSArOTEsMjIgQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50
ZXJJbXBsOjpub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQoTm90aWZpY2F0aW9uKiBub3RpZmkK
ICAgICBtX3ByZXNlbnRlci0+b2JqZWN0RGVzdHJveWVkKFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9u
Pihub3RpZmljYXRpb24pKTsKIH0KIAotTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9u
IE5vdGlmaWNhdGlvblByZXNlbnRlckltcGw6OmNoZWNrUGVybWlzc2lvbihjb25zdCBLVVJMJiB1
cmwsIERvY3VtZW50KiBkb2N1bWVudCkKK05vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lv
biBOb3RpZmljYXRpb25QcmVzZW50ZXJJbXBsOjpjaGVja1Blcm1pc3Npb24oU2VjdXJpdHlPcmln
aW4qIG9yaWdpbikKIHsKLSAgICBXZWJEb2N1bWVudCB3ZWJEb2N1bWVudDsKLSAgICBpZiAoZG9j
dW1lbnQpCi0gICAgICAgIHdlYkRvY3VtZW50ID0gZG9jdW1lbnQ7CisgICAgaW50IHJlc3VsdCA9
IG1fcHJlc2VudGVyLT5jaGVja1Blcm1pc3Npb24oV2ViU2VjdXJpdHlPcmlnaW4ob3JpZ2luKSk7
CisKKyAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgb25jZSBjbGllbnRzIGFyZSB1cGRhdGVkIHRv
IHVzZSB0aGUgYWJvdmUgc2lnbmF0dXJlLgorICAgIGlmIChyZXN1bHQgPT0gTm90aWZpY2F0aW9u
UHJlc2VudGVyOjpQZXJtaXNzaW9uTm90QWxsb3dlZCkKKyAgICAgICAgcmVzdWx0ID0gbV9wcmVz
ZW50ZXItPmNoZWNrUGVybWlzc2lvbihLVVJMKEtVUkwoKSwgb3JpZ2luLT50b1N0cmluZygpKSwg
MCk7CiAKLSAgICBpbnQgcmVzdWx0ID0gbV9wcmVzZW50ZXItPmNoZWNrUGVybWlzc2lvbih1cmws
IGRvY3VtZW50ID8gJndlYkRvY3VtZW50IDogMCk7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PE5v
dGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbj4ocmVzdWx0KTsKIH0KIAogdm9pZCBOb3Rp
ZmljYXRpb25QcmVzZW50ZXJJbXBsOjpyZXF1ZXN0UGVybWlzc2lvbihTZWN1cml0eU9yaWdpbiog
b3JpZ2luLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2spCiB7CisgICAgLy8gRklY
TUU6IFJlbW92ZSB0aGUgZmlyc3QgY2FsbCBvbmNlIGNsaWVudHMgYXJlIHVwZGF0ZWQgdG8gdXNl
IHRoZSBzZWNvbmQgc2lnbmF0dXJlLgogICAgIG1fcHJlc2VudGVyLT5yZXF1ZXN0UGVybWlzc2lv
bihvcmlnaW4tPnRvU3RyaW5nKCksIG5ldyBWb2lkQ2FsbGJhY2tDbGllbnQoY2FsbGJhY2spKTsK
KyAgICBtX3ByZXNlbnRlci0+cmVxdWVzdFBlcm1pc3Npb24oV2ViU2VjdXJpdHlPcmlnaW4ob3Jp
Z2luKSwgbmV3IFZvaWRDYWxsYmFja0NsaWVudChjYWxsYmFjaykpOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvTm90aWZpY2F0aW9u
UHJlc2VudGVySW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50
ZXJJbXBsLmgKaW5kZXggOGUzNzk5Yy4uNGFmZTlkYyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9t
aXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmgKQEAgLTU0LDcgKzU0LDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgYm9vbCBzaG93KFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogb2JqZWN0KTsK
ICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogb2JqZWN0KTsK
ICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5v
dGlmaWNhdGlvbiogb2JqZWN0KTsKLSAgICB2aXJ0dWFsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBy
ZXNlbnRlcjo6UGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oY29uc3QgV2ViQ29yZTo6S1VSTCYg
dXJsLCBXZWJDb3JlOjpEb2N1bWVudCogZG9jdW1lbnQpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6
Tm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbiogb3JpZ2luKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1p
c3Npb24oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwgV1RGOjpQYXNzUmVmUHRyPFdl
YkNvcmU6OlZvaWRDYWxsYmFjaz4gY2FsbGJhY2spOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEb2N1bWVudC5jcHAgYi9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkRvY3VtZW50LmNwcAppbmRleCA4NTE1Njg1Li45OWNiNDEyIDEwMDY0NAotLS0gYS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkRvY3VtZW50LmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkRvY3VtZW50LmNwcApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIldlYkRvY3VtZW50
LmgiCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgi
CiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxBbGxDb2xsZWN0aW9uLmgiCiAj
aW5jbHVkZSAiSFRNTEJvZHlFbGVtZW50LmgiCkBAIC0xMjYsMzQgKzEyNSw2IEBAIFdlYk5vZGVM
aXN0IFdlYkRvY3VtZW50OjpnZXRFbGVtZW50c0J5VGFnTmFtZShjb25zdCBXZWJTdHJpbmcmIHRh
ZykKIAogV2ViU3RyaW5nIFdlYkRvY3VtZW50OjphcHBsaWNhdGlvbklEKCkgY29uc3QKIHsKLSAg
ICBjb25zdCBjaGFyKiBrQ2hyb21lQXBwbGljYXRpb25IZWFkZXIgPSAieC1jaHJvbWUtYXBwbGlj
YXRpb24iOwotCi0gICAgLy8gRmlyc3QgY2hlY2sgaWYgdGhlIGRvY3VtZW50J3MgcmVzcG9uc2Ug
aW5jbHVkZWQgYSBoZWFkZXIgaW5kaWNhdGluZyB0aGUKLSAgICAvLyBhcHBsaWNhdGlvbiBpdCBz
aG91bGQgZ28gd2l0aC4KLSAgICBjb25zdCBEb2N1bWVudCogZG9jdW1lbnQgPSBjb25zdFVud3Jh
cDxEb2N1bWVudD4oKTsKLSAgICBGcmFtZSogZnJhbWUgPSBkb2N1bWVudC0+ZnJhbWUoKTsKLSAg
ICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm4gV2ViU3RyaW5nKCk7Ci0KLSAgICBEb2N1bWVu
dExvYWRlciogbG9hZGVyID0gZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpOwotICAg
IGlmICghbG9hZGVyKQotICAgICAgICByZXR1cm4gV2ViU3RyaW5nKCk7Ci0KLSAgICBXZWJTdHJp
bmcgaGVhZGVyVmFsdWUgPQotICAgICAgICBsb2FkZXItPnJlc3BvbnNlKCkuaHR0cEhlYWRlckZp
ZWxkKGtDaHJvbWVBcHBsaWNhdGlvbkhlYWRlcik7Ci0gICAgaWYgKCFoZWFkZXJWYWx1ZS5pc0Vt
cHR5KCkpCi0gICAgICAgIHJldHVybiBoZWFkZXJWYWx1ZTsKLQotICAgIC8vIE90aGVyd2lzZSwg
ZmFsbCBiYWNrIHRvIGxvb2tpbmcgZm9yIHRoZSBtZXRhIHRhZy4KLSAgICBSZWZQdHI8Tm9kZUxp
c3Q+IG1ldGFUYWdzID0KLSAgICAgICAgY29uc3RfY2FzdDxEb2N1bWVudCo+KGRvY3VtZW50KS0+
Z2V0RWxlbWVudHNCeVRhZ05hbWUoIm1ldGEiKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgbWV0YVRhZ3MtPmxlbmd0aCgpOyArK2kpIHsKLSAgICAgICAgRWxlbWVudCogZWxlbWVudCA9
IHN0YXRpY19jYXN0PEVsZW1lbnQqPihtZXRhVGFncy0+aXRlbShpKSk7Ci0gICAgICAgIGlmIChl
bGVtZW50LT5oYXNBdHRyaWJ1dGUoImh0dHAtZXF1aXYiKQotICAgICAgICAgICAgJiYgZWxlbWVu
dC0+Z2V0QXR0cmlidXRlKCJodHRwLWVxdWl2IikubG93ZXIoKSA9PSBrQ2hyb21lQXBwbGljYXRp
b25IZWFkZXIpCi0gICAgICAgICAgICByZXR1cm4gZWxlbWVudC0+Z2V0QXR0cmlidXRlKCJ2YWx1
ZSIpOwotICAgIH0KLQogICAgIHJldHVybiBXZWJTdHJpbmcoKTsKIH0KIApkaWZmIC0tZ2l0IGEv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBhYjRhMjhi
Li5kNDk0ODc5IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9XZWJLaXQv
d2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEwLTAzLTA3ICBBYXJvbiBCb29kbWFu
ICA8YWFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEtpbGwgV2ViRG9jdW1lbnQ6OmFwcGxpY2F0
aW9uSUQoKSAocGFydCAxKS4KKworICAgICAgICBNb2RpZnkgaW50ZXJmYWNlIHRvIFdlYkNvcmU6
Ok5vdGlmaWNhdGlvblByZXNlbnRlcjo6Y2hlY2tQZXJtaXNzaW9uKCkKKyAgICAgICAgYW5kIHJl
bW92ZSBpbXBsZW1lbnRhdGlvbiBvZiBXZWJEb2N1bWVudDo6YXBwbGljYXRpb25JRCgpLiBCcmVh
a2luZworICAgICAgICBBUEkgY2hhbmdlcyB3aWxsIGJlIGluIGEgc3Vic2VxdWVudCBjaGFuZ2Uu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTg0Ngor
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0
ZS5jcHA6CisgICAgICAgIChXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlOjpjaGVja1Bl
cm1pc3Npb24pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRp
b25zRGVsZWdhdGUuaDoKKwogMjAxMC0wMy0wNSAgQ2hyaXMgTWFycmluICA8Y21hcnJpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgpkaWZmIC0tZ2l0IGEv
V2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRl
LmNwcCBiL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNE
ZWxlZ2F0ZS5jcHAKaW5kZXggM2Y2ZWIwNy4uMWU5ZTZhNSAxMDA2NDQKLS0tIGEvV2ViS2l0L3dp
bi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmNwcAorKysg
Yi9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdh
dGUuY3BwCkBAIC0xNzQsOCArMTc0LDEzIEBAIHZvaWQgV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNE
ZWxlZ2F0ZTo6cmVxdWVzdFBlcm1pc3Npb24oU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwKIAogTm90
aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVs
ZWdhdGU6OmNoZWNrUGVybWlzc2lvbihjb25zdCBLVVJMJiB1cmwsIERvY3VtZW50KikKIHsKKyAg
ICByZXR1cm4gKE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbikgMDsKK30KKworTm90
aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVs
ZWdhdGU6OmNoZWNrUGVybWlzc2lvbihTZWN1cml0eU9yaWdpbiogb3JpZ2luKQorewogICAgIGlu
dCBvdXQgPSAwOwotICAgIEJTdHJpbmcgb3JnKFNlY3VyaXR5T3JpZ2luOjpjcmVhdGUodXJsKS0+
dG9TdHJpbmcoKSk7CisgICAgQlN0cmluZyBvcmcob3JpZ2luLT50b1N0cmluZygpKTsKICAgICBp
ZiAoaGFzTm90aWZpY2F0aW9uRGVsZWdhdGUoKSkKICAgICAgICAgbm90aWZpY2F0aW9uRGVsZWdh
dGUoKS0+Y2hlY2tOb3RpZmljYXRpb25QZXJtaXNzaW9uKG9yZywgJm91dCk7CiAgICAgcmV0dXJu
IChOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24pIG91dDsKZGlmZiAtLWdpdCBhL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0ZS5o
IGIvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVn
YXRlLmgKaW5kZXggZDMwYjFlNy4uYmRhYWY1MiAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJD
b3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmgKKysrIGIvV2ViS2l0
L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmgKQEAg
LTUxLDYgKzUxLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRpb25PYmpl
Y3REZXN0cm95ZWQoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKiBvYmplY3QpOwogICAgIHZpcnR1YWwg
dm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiogb3JpZ2luLCBQ
YXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4gY2FsbGJhY2spOwogICAgIHZpcnR1YWwg
V2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lv
bihjb25zdCBLVVJMJiB1cmwsIERvY3VtZW50KiBkb2N1bWVudCk7CisgICAgdmlydHVhbCBXZWJD
b3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKGNv
bnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pOwogCiBwcml2YXRlOgogICAgIGJv
b2wgaGFzTm90aWZpY2F0aW9uRGVsZWdhdGUoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50359</attachid>
            <date>2010-03-09 16:00:45 -0800</date>
            <delta_ts>2010-03-11 22:12:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35846-20100309160044.patch</filename>
            <type>text/plain</type>
            <size>14115</size>
            <attacher name="Aaron Boodman">aa</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWYyZDg3NC4uNjRkYTUyMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wMy0wNyAgQWFyb24gQm9vZG1h
biAgPGFhQGNocm9taXVtLm9yZz4KKworICAgICAgICBLaWxsIFdlYkRvY3VtZW50OjphcHBsaWNh
dGlvbklEKCkgKHBhcnQgMSkuCisKKyAgICAgICAgTW9kaWZ5IGludGVyZmFjZSB0byBXZWJDb3Jl
OjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OmNoZWNrUGVybWlzc2lvbigpCisgICAgICAgIGFuZCBy
ZW1vdmUgaW1wbGVtZW50YXRpb24gb2YgV2ViRG9jdW1lbnQ6OmFwcGxpY2F0aW9uSUQoKS4gQnJl
YWtpbmcKKyAgICAgICAgQVBJIGNoYW5nZXMgd2lsbCBiZSBpbiBhIHN1YnNlcXVlbnQgY2hhbmdl
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU4NDYK
KworICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRp
b25DZW50ZXI6OmNoZWNrUGVybWlzc2lvbik6CisgICAgICAgICogbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25QcmVzZW50ZXIuaDoKKwogMjAxMC0wMy0wNSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8
b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGRmaXggYWZ0ZXIgcjU1
NTkzLiAoVG8gZml4IFF0IC0tbWluaW1hbCBidWlsZC4pCmRpZmYgLS1naXQgYS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBiL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uY3BwCmluZGV4IGVkMzA4MDAuLjg3NGQyZjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCisrKyBiL1dlYkNvcmUvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb24uY3BwCkBAIC00OSw4ICs0OSw3IEBAIE5vdGlmaWNhdGlvbjo6Tm90aWZp
Y2F0aW9uKGNvbnN0IFN0cmluZyYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
LCBFCiAgICAgLCBtX3ByZXNlbnRlcihwcm92aWRlcikKIHsKICAgICBBU1NFUlQobV9wcmVzZW50
ZXIpOwotICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHQtPmlzRG9jdW1lbnQoKSA/IHN0
YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCkgOiAwOwotICAgIGlmIChtX3ByZXNlbnRlci0+
Y2hlY2tQZXJtaXNzaW9uKGNvbnRleHQtPnVybCgpLCBkb2N1bWVudCkgIT0gTm90aWZpY2F0aW9u
UHJlc2VudGVyOjpQZXJtaXNzaW9uQWxsb3dlZCkgeworICAgIGlmIChtX3ByZXNlbnRlci0+Y2hl
Y2tQZXJtaXNzaW9uKGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCkpICE9IE5vdGlmaWNhdGlvblBy
ZXNlbnRlcjo6UGVybWlzc2lvbkFsbG93ZWQpIHsKICAgICAgICAgZWMgPSBTRUNVUklUWV9FUlI7
CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC03MCw4ICs2OSw3IEBAIE5vdGlmaWNhdGlvbjo6
Tm90aWZpY2F0aW9uKGNvbnN0IE5vdGlmaWNhdGlvbkNvbnRlbnRzJiBjb250ZW50cywgU2NyaXB0
RXhlY3V0aW9uCiAgICAgLCBtX3ByZXNlbnRlcihwcm92aWRlcikKIHsKICAgICBBU1NFUlQobV9w
cmVzZW50ZXIpOwotICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHQtPmlzRG9jdW1lbnQo
KSA/IHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCkgOiAwOwotICAgIGlmIChtX3ByZXNl
bnRlci0+Y2hlY2tQZXJtaXNzaW9uKGNvbnRleHQtPnVybCgpLCBkb2N1bWVudCkgIT0gTm90aWZp
Y2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uQWxsb3dlZCkgeworICAgIGlmIChtX3ByZXNlbnRl
ci0+Y2hlY2tQZXJtaXNzaW9uKGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCkpICE9IE5vdGlmaWNh
dGlvblByZXNlbnRlcjo6UGVybWlzc2lvbkFsbG93ZWQpIHsKICAgICAgICAgZWMgPSBTRUNVUklU
WV9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcCBiL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuY3BwCmluZGV4IGFkOWZiZWMuLjIwNWI5YTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCisrKyBiL1dlYkNv
cmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCkBAIC00OSw5ICs0OSw3IEBA
IGludCBOb3RpZmljYXRpb25DZW50ZXI6OmNoZWNrUGVybWlzc2lvbigpCiB7CiAgICAgaWYgKCFw
cmVzZW50ZXIoKSkKICAgICAgICAgcmV0dXJuIE5vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlz
c2lvbkRlbmllZDsKLSAgICByZXR1cm4gbV9ub3RpZmljYXRpb25QcmVzZW50ZXItPmNoZWNrUGVy
bWlzc2lvbigKLSAgICAgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT51cmwoKSwKLSAgICAg
ICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5pc0RvY3VtZW50KCkgPyBzdGF0aWNfY2FzdDxE
b2N1bWVudCo+KG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkgOiAwKTsKKyAgICByZXR1cm4gbV9u
b3RpZmljYXRpb25QcmVzZW50ZXItPmNoZWNrUGVybWlzc2lvbihtX3NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQtPnNlY3VyaXR5T3JpZ2luKCkpOwogfQogCiB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6
cmVxdWVzdFBlcm1pc3Npb24oUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IGNhbGxiYWNrKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNlbnRlci5oIGIv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblByZXNlbnRlci5oCmluZGV4IDNkZjAz
YmIuLjlhYmY4YTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25QcmVzZW50ZXIuaAorKysgYi9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUHJl
c2VudGVyLmgKQEAgLTcxLDEwICs3MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
Ly8gbWFkZSBhIGRlY2lzaW9uLgogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1pc3Np
b24oU2VjdXJpdHlPcmlnaW4qLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4pID0gMDsKIAotICAg
ICAgICAvLyBDaGVja3MgdGhlIGN1cnJlbnQgbGV2ZWwgb2YgcGVybWlzc2lvbiBmb3IgdGhlIHNw
ZWNpZmllZCBVUkwuIElmIHRoZQotICAgICAgICAvLyBVUkwgaXMgYSBkb2N1bWVudCAoYXMgb3Bw
b3NlZCB0byBhIHdvcmtlciBvciBvdGhlciBTY3JpcHRFeGVjdXRpb25Db250ZXh0KSwKLSAgICAg
ICAgLy8gfGRvY3VtZW50fCB3aWxsIGFsc28gYmUgcHJvdmlkZWQuCi0gICAgICAgIHZpcnR1YWwg
UGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oY29uc3QgS1VSTCYsIERvY3VtZW50KikgPSAwOwor
ICAgICAgICAvLyBDaGVja3MgdGhlIGN1cnJlbnQgbGV2ZWwgb2YgcGVybWlzc2lvbi4KKyAgICAg
ICAgdmlydHVhbCBQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihTZWN1cml0eU9yaWdpbiopID0g
MDsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA5M2E0
NzRiLi4xNTBkZmJiIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wMy0wNyAg
QWFyb24gQm9vZG1hbiAgPGFhQGNocm9taXVtLm9yZz4KKworICAgICAgICBLaWxsIFdlYkRvY3Vt
ZW50OjphcHBsaWNhdGlvbklEKCkgKHBhcnQgMSkuCisKKyAgICAgICAgTW9kaWZ5IGludGVyZmFj
ZSB0byBXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OmNoZWNrUGVybWlzc2lvbigpCisg
ICAgICAgIGFuZCByZW1vdmUgaW1wbGVtZW50YXRpb24gb2YgV2ViRG9jdW1lbnQ6OmFwcGxpY2F0
aW9uSUQoKS4gQnJlYWtpbmcKKyAgICAgICAgQVBJIGNoYW5nZXMgd2lsbCBiZSBpbiBhIHN1YnNl
cXVlbnQgY2hhbmdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzU4NDYKKworICAgICAgICAqIHB1YmxpYy9XZWJOb3RpZmljYXRpb25QcmVzZW50ZXIu
aDoKKyAgICAgICAgKiBzcmMvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6Ok5vdGlmaWNhdGlvblByZXNlbnRlckltcGw6OmNoZWNrUGVybWlzc2lvbik6Cisg
ICAgICAgICogc3JjL05vdGlmaWNhdGlvblByZXNlbnRlckltcGwuaDoKKyAgICAgICAgKiBzcmMv
V2ViRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJEb2N1bWVudDo6YXBwbGljYXRp
b25JRCk6CisKIDIwMTAtMDMtMDUgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYgLS1naXQgYS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5vdGlmaWNhdGlvblByZXNlbnRlci5oIGIvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJOb3RpZmljYXRpb25QcmVzZW50ZXIuaAppbmRleCBhMzc2NGFh
Li43M2MzYjU2IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYk5vdGlmaWNh
dGlvblByZXNlbnRlci5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTm90aWZpY2F0
aW9uUHJlc2VudGVyLmgKQEAgLTMxLDEzICszMSwxNCBAQAogI2lmbmRlZiBXZWJOb3RpZmljYXRp
b25QcmVzZW50ZXJfaAogI2RlZmluZSBXZWJOb3RpZmljYXRpb25QcmVzZW50ZXJfaAogCisjaW5j
bHVkZSAiV2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgiCisjaW5jbHVkZSAiV2Vi
U2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJXZWJTdHJpbmcuaCIKIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKIGNsYXNzIFdlYkRvY3VtZW50OwogY2xhc3MgV2ViTm90aWZpY2F0aW9uOwotY2xh
c3MgV2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrOwogY2xhc3MgV2ViVVJMOwogCiAv
LyBQcm92aWRlcyB0aGUgc2VydmljZXMgdG8gc2hvdyBkZXNrdG9wIG5vdGlmaWNhdGlvbnMgdG8g
dGhlIHVzZXIuCkBAIC01OSwxNCArNjAsMzUgQEAgcHVibGljOgogICAgIC8vIGJlaW5nIGRlc3Ry
b3llZC4gIERvZXMgX25vdF8gcmVtb3ZlIHRoZSBub3RpZmljYXRpb24gaWYgYmVpbmcgc2hvd24s
IGJ1dCBkZXRhY2hlcyBpdCBmcm9tIHJlY2VpdmluZyBldmVudHMuCiAgICAgdmlydHVhbCB2b2lk
IG9iamVjdERlc3Ryb3llZChjb25zdCBXZWJOb3RpZmljYXRpb24mKSA9IDA7CiAKKyAgICAvLyBD
aGVja3MgdGhlIHBlcm1pc3Npb24gbGV2ZWwgZm9yIHRoZSBnaXZlbiBvcmlnaW4uCisgICAgLy8g
RklYTUU6IFRoaXMgc2hvdWxkIGJlY29tZSBhYnN0cmFjdCB3aGVuIHRoZSBiZWxvdyBpcyByZW1v
dmVkLgorICAgIHZpcnR1YWwgUGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oY29uc3QgV2ViU2Vj
dXJpdHlPcmlnaW4mIG9yaWdpbikKKyAgICB7CisgICAgICAgIHJldHVybiBQZXJtaXNzaW9uTm90
QWxsb3dlZDsKKyAgICB9OworCiAgICAgLy8gQ2hlY2tzIHRoZSBwZXJtaXNzaW9uIGxldmVsIGZv
ciB0aGUgZ2l2ZW4gVVJMLiBJZiB0aGUgVVJMIGlzIGJlaW5nIGRpc3BsYXllZCBpbiBhIGRvY3Vt
ZW50CiAgICAgLy8gKGFzIG9wcG9zZWQgdG8gYSB3b3JrZXIgb3Igb3RoZXIgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCksIHxkb2N1bWVudHwgd2lsbCBhbHNvIGJlIHByb3ZpZGVkLgotICAgIHZpcnR1
YWwgUGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oY29uc3QgV2ViVVJMJiB1cmwsIFdlYkRvY3Vt
ZW50KiBkb2N1bWVudCkgPSAwOworICAgIC8vIEZJWE1FOiBUaGlzIG1ldGhvZCBzaG91bGQgYmUg
cmVtb3ZlZCBhcyBjbGllbnRzIGRvbid0IG5lZWQgV2ViRG9jdW1lbnQgYW55bW9yZS4KKyAgICB2
aXJ0dWFsIFBlcm1pc3Npb24gY2hlY2tQZXJtaXNzaW9uKGNvbnN0IFdlYlVSTCYgdXJsLCBXZWJE
b2N1bWVudCogZG9jdW1lbnQpCisgICAgeworICAgICAgICByZXR1cm4gUGVybWlzc2lvbk5vdEFs
bG93ZWQ7CisgICAgfQogCiAgICAgLy8gUmVxdWVzdHMgcGVybWlzc2lvbiBmb3IgYSBnaXZlbiBv
cmlnaW4uICBUaGlzIG9wZXJhdGlvbiBpcyBhc3luY2hyb25vdXMgYW5kIHRoZSBjYWxsYmFjayBw
cm92aWRlZAogICAgIC8vIHdpbGwgYmUgaW52b2tlZCB3aGVuIHRoZSBwZXJtaXNzaW9uIGRlY2lz
aW9uIGlzIG1hZGUuICBDYWxsYmFjayBwb2ludGVyIG11c3QgcmVtYWluCiAgICAgLy8gdmFsaWQg
dW50aWwgY2FsbGVkLgotICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihjb25zdCBX
ZWJTdHJpbmcmIG9yaWdpbiwgV2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrKiBjYWxs
YmFjaykgPSAwOworICAgIC8vIEZJWE1FOiBUaGlzIG1ldGhvZCBzaG91bGQgYmUgcmVtb3ZlZCB3
aGVuIGNsaWVudHMgYXJlIG1vdmVkIHRvIHRoZSBiZWxvdy4KKyAgICB2aXJ0dWFsIHZvaWQgcmVx
dWVzdFBlcm1pc3Npb24oY29uc3QgV2ViU3RyaW5nJiBvcmlnaW4sIFdlYk5vdGlmaWNhdGlvblBl
cm1pc3Npb25DYWxsYmFjayogY2FsbGJhY2spCisgICAgeworICAgICAgICBjYWxsYmFjay0+cGVy
bWlzc2lvblJlcXVlc3RDb21wbGV0ZSgpOworICAgIH0KKyAgICAKKyAgICAvLyBGSVhNRTogVGhp
cyBtZXRob2Qgc2hvdWxkIGJlIGFic3RyYWN0IHdoZW4gdGhlIGFib3ZlIGlzIHJlbW92ZWQuCisg
ICAgdmlydHVhbCB2b2lkIHJlcXVlc3RQZXJtaXNzaW9uKGNvbnN0IFdlYlNlY3VyaXR5T3JpZ2lu
JiBvcmlnaW4sIFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjayogY2FsbGJhY2spCisg
ICAgeworICAgICAgICBjYWxsYmFjay0+cGVybWlzc2lvblJlcXVlc3RDb21wbGV0ZSgpOworICAg
IH0KIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9t
aXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvTm90aWZpY2F0aW9uUHJlc2VudGVySW1wbC5jcHAKaW5kZXggYTM4YjhiNS4uZDBhN2UzOSAx
MDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBs
LmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL05vdGlmaWNhdGlvblByZXNlbnRlckltcGwu
Y3BwCkBAIC0zMywxMSArMzMsMTAgQEAKIAogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogCi0j
aW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiTm90aWZp
Y2F0aW9uLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKIAotI2luY2x1ZGUgIldlYkRv
Y3VtZW50LmgiCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uLmgiCiAjaW5jbHVkZSAiV2ViTm90
aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9u
UHJlc2VudGVyLmgiCkBAIC05MiwxOSArOTEsMjIgQEAgdm9pZCBOb3RpZmljYXRpb25QcmVzZW50
ZXJJbXBsOjpub3RpZmljYXRpb25PYmplY3REZXN0cm95ZWQoTm90aWZpY2F0aW9uKiBub3RpZmkK
ICAgICBtX3ByZXNlbnRlci0+b2JqZWN0RGVzdHJveWVkKFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9u
Pihub3RpZmljYXRpb24pKTsKIH0KIAotTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9u
IE5vdGlmaWNhdGlvblByZXNlbnRlckltcGw6OmNoZWNrUGVybWlzc2lvbihjb25zdCBLVVJMJiB1
cmwsIERvY3VtZW50KiBkb2N1bWVudCkKK05vdGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lv
biBOb3RpZmljYXRpb25QcmVzZW50ZXJJbXBsOjpjaGVja1Blcm1pc3Npb24oU2VjdXJpdHlPcmln
aW4qIG9yaWdpbikKIHsKLSAgICBXZWJEb2N1bWVudCB3ZWJEb2N1bWVudDsKLSAgICBpZiAoZG9j
dW1lbnQpCi0gICAgICAgIHdlYkRvY3VtZW50ID0gZG9jdW1lbnQ7CisgICAgaW50IHJlc3VsdCA9
IG1fcHJlc2VudGVyLT5jaGVja1Blcm1pc3Npb24oV2ViU2VjdXJpdHlPcmlnaW4ob3JpZ2luKSk7
CisKKyAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgb25jZSBjbGllbnRzIGFyZSB1cGRhdGVkIHRv
IHVzZSB0aGUgYWJvdmUgc2lnbmF0dXJlLgorICAgIGlmIChyZXN1bHQgPT0gTm90aWZpY2F0aW9u
UHJlc2VudGVyOjpQZXJtaXNzaW9uTm90QWxsb3dlZCkKKyAgICAgICAgcmVzdWx0ID0gbV9wcmVz
ZW50ZXItPmNoZWNrUGVybWlzc2lvbihLVVJMKEtVUkwoKSwgb3JpZ2luLT50b1N0cmluZygpKSwg
MCk7CiAKLSAgICBpbnQgcmVzdWx0ID0gbV9wcmVzZW50ZXItPmNoZWNrUGVybWlzc2lvbih1cmws
IGRvY3VtZW50ID8gJndlYkRvY3VtZW50IDogMCk7CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PE5v
dGlmaWNhdGlvblByZXNlbnRlcjo6UGVybWlzc2lvbj4ocmVzdWx0KTsKIH0KIAogdm9pZCBOb3Rp
ZmljYXRpb25QcmVzZW50ZXJJbXBsOjpyZXF1ZXN0UGVybWlzc2lvbihTZWN1cml0eU9yaWdpbiog
b3JpZ2luLCBQYXNzUmVmUHRyPFZvaWRDYWxsYmFjaz4gY2FsbGJhY2spCiB7CisgICAgLy8gRklY
TUU6IFJlbW92ZSB0aGUgZmlyc3QgY2FsbCBvbmNlIGNsaWVudHMgYXJlIHVwZGF0ZWQgdG8gdXNl
IHRoZSBzZWNvbmQgc2lnbmF0dXJlLgogICAgIG1fcHJlc2VudGVyLT5yZXF1ZXN0UGVybWlzc2lv
bihvcmlnaW4tPnRvU3RyaW5nKCksIG5ldyBWb2lkQ2FsbGJhY2tDbGllbnQoY2FsbGJhY2spKTsK
KyAgICBtX3ByZXNlbnRlci0+cmVxdWVzdFBlcm1pc3Npb24oV2ViU2VjdXJpdHlPcmlnaW4ob3Jp
Z2luKSwgbmV3IFZvaWRDYWxsYmFja0NsaWVudChjYWxsYmFjaykpOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvTm90aWZpY2F0aW9u
UHJlc2VudGVySW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50
ZXJJbXBsLmgKaW5kZXggOGUzNzk5Yy4uNGFmZTlkYyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9t
aXVtL3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9Ob3RpZmljYXRpb25QcmVzZW50ZXJJbXBsLmgKQEAgLTU0LDcgKzU0LDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgYm9vbCBzaG93KFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogb2JqZWN0KTsK
ICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiogb2JqZWN0KTsK
ICAgICB2aXJ0dWFsIHZvaWQgbm90aWZpY2F0aW9uT2JqZWN0RGVzdHJveWVkKFdlYkNvcmU6Ok5v
dGlmaWNhdGlvbiogb2JqZWN0KTsKLSAgICB2aXJ0dWFsIFdlYkNvcmU6Ok5vdGlmaWNhdGlvblBy
ZXNlbnRlcjo6UGVybWlzc2lvbiBjaGVja1Blcm1pc3Npb24oY29uc3QgV2ViQ29yZTo6S1VSTCYg
dXJsLCBXZWJDb3JlOjpEb2N1bWVudCogZG9jdW1lbnQpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6
Tm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIGNoZWNrUGVybWlzc2lvbihXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbiogb3JpZ2luKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBlcm1p
c3Npb24oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwgV1RGOjpQYXNzUmVmUHRyPFdl
YkNvcmU6OlZvaWRDYWxsYmFjaz4gY2FsbGJhY2spOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEb2N1bWVudC5jcHAgYi9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkRvY3VtZW50LmNwcAppbmRleCA4NTE1Njg1Li45OWNiNDEyIDEwMDY0NAotLS0gYS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkRvY3VtZW50LmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkRvY3VtZW50LmNwcApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIldlYkRvY3VtZW50
LmgiCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgi
CiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxBbGxDb2xsZWN0aW9uLmgiCiAj
aW5jbHVkZSAiSFRNTEJvZHlFbGVtZW50LmgiCkBAIC0xMjYsMzQgKzEyNSw2IEBAIFdlYk5vZGVM
aXN0IFdlYkRvY3VtZW50OjpnZXRFbGVtZW50c0J5VGFnTmFtZShjb25zdCBXZWJTdHJpbmcmIHRh
ZykKIAogV2ViU3RyaW5nIFdlYkRvY3VtZW50OjphcHBsaWNhdGlvbklEKCkgY29uc3QKIHsKLSAg
ICBjb25zdCBjaGFyKiBrQ2hyb21lQXBwbGljYXRpb25IZWFkZXIgPSAieC1jaHJvbWUtYXBwbGlj
YXRpb24iOwotCi0gICAgLy8gRmlyc3QgY2hlY2sgaWYgdGhlIGRvY3VtZW50J3MgcmVzcG9uc2Ug
aW5jbHVkZWQgYSBoZWFkZXIgaW5kaWNhdGluZyB0aGUKLSAgICAvLyBhcHBsaWNhdGlvbiBpdCBz
aG91bGQgZ28gd2l0aC4KLSAgICBjb25zdCBEb2N1bWVudCogZG9jdW1lbnQgPSBjb25zdFVud3Jh
cDxEb2N1bWVudD4oKTsKLSAgICBGcmFtZSogZnJhbWUgPSBkb2N1bWVudC0+ZnJhbWUoKTsKLSAg
ICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm4gV2ViU3RyaW5nKCk7Ci0KLSAgICBEb2N1bWVu
dExvYWRlciogbG9hZGVyID0gZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpOwotICAg
IGlmICghbG9hZGVyKQotICAgICAgICByZXR1cm4gV2ViU3RyaW5nKCk7Ci0KLSAgICBXZWJTdHJp
bmcgaGVhZGVyVmFsdWUgPQotICAgICAgICBsb2FkZXItPnJlc3BvbnNlKCkuaHR0cEhlYWRlckZp
ZWxkKGtDaHJvbWVBcHBsaWNhdGlvbkhlYWRlcik7Ci0gICAgaWYgKCFoZWFkZXJWYWx1ZS5pc0Vt
cHR5KCkpCi0gICAgICAgIHJldHVybiBoZWFkZXJWYWx1ZTsKLQotICAgIC8vIE90aGVyd2lzZSwg
ZmFsbCBiYWNrIHRvIGxvb2tpbmcgZm9yIHRoZSBtZXRhIHRhZy4KLSAgICBSZWZQdHI8Tm9kZUxp
c3Q+IG1ldGFUYWdzID0KLSAgICAgICAgY29uc3RfY2FzdDxEb2N1bWVudCo+KGRvY3VtZW50KS0+
Z2V0RWxlbWVudHNCeVRhZ05hbWUoIm1ldGEiKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgbWV0YVRhZ3MtPmxlbmd0aCgpOyArK2kpIHsKLSAgICAgICAgRWxlbWVudCogZWxlbWVudCA9
IHN0YXRpY19jYXN0PEVsZW1lbnQqPihtZXRhVGFncy0+aXRlbShpKSk7Ci0gICAgICAgIGlmIChl
bGVtZW50LT5oYXNBdHRyaWJ1dGUoImh0dHAtZXF1aXYiKQotICAgICAgICAgICAgJiYgZWxlbWVu
dC0+Z2V0QXR0cmlidXRlKCJodHRwLWVxdWl2IikubG93ZXIoKSA9PSBrQ2hyb21lQXBwbGljYXRp
b25IZWFkZXIpCi0gICAgICAgICAgICByZXR1cm4gZWxlbWVudC0+Z2V0QXR0cmlidXRlKCJ2YWx1
ZSIpOwotICAgIH0KLQogICAgIHJldHVybiBXZWJTdHJpbmcoKTsKIH0KIApkaWZmIC0tZ2l0IGEv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBhYjRhMjhi
Li5kNDk0ODc5IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9XZWJLaXQv
d2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEwLTAzLTA3ICBBYXJvbiBCb29kbWFu
ICA8YWFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEtpbGwgV2ViRG9jdW1lbnQ6OmFwcGxpY2F0
aW9uSUQoKSAocGFydCAxKS4KKworICAgICAgICBNb2RpZnkgaW50ZXJmYWNlIHRvIFdlYkNvcmU6
Ok5vdGlmaWNhdGlvblByZXNlbnRlcjo6Y2hlY2tQZXJtaXNzaW9uKCkKKyAgICAgICAgYW5kIHJl
bW92ZSBpbXBsZW1lbnRhdGlvbiBvZiBXZWJEb2N1bWVudDo6YXBwbGljYXRpb25JRCgpLiBCcmVh
a2luZworICAgICAgICBBUEkgY2hhbmdlcyB3aWxsIGJlIGluIGEgc3Vic2VxdWVudCBjaGFuZ2Uu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTg0Ngor
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxlZ2F0
ZS5jcHA6CisgICAgICAgIChXZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlOjpjaGVja1Bl
cm1pc3Npb24pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRp
b25zRGVsZWdhdGUuaDoKKwogMjAxMC0wMy0wNSAgQ2hyaXMgTWFycmluICA8Y21hcnJpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgpkaWZmIC0tZ2l0IGEv
V2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRl
LmNwcCBiL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNE
ZWxlZ2F0ZS5jcHAKaW5kZXggM2Y2ZWIwNy4uNGY4MGQxMCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dp
bi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmNwcAorKysg
Yi9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVsZWdh
dGUuY3BwCkBAIC0xNzQsOCArMTc0LDEzIEBAIHZvaWQgV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNE
ZWxlZ2F0ZTo6cmVxdWVzdFBlcm1pc3Npb24oU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwKIAogTm90
aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIFdlYkRlc2t0b3BOb3RpZmljYXRpb25zRGVs
ZWdhdGU6OmNoZWNrUGVybWlzc2lvbihjb25zdCBLVVJMJiB1cmwsIERvY3VtZW50KikKIHsKKyAg
ICByZXR1cm4gTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uTm90QWxsb3dlZDsKK30K
KworTm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIFdlYkRlc2t0b3BOb3RpZmljYXRp
b25zRGVsZWdhdGU6OmNoZWNrUGVybWlzc2lvbihTZWN1cml0eU9yaWdpbiogb3JpZ2luKQorewog
ICAgIGludCBvdXQgPSAwOwotICAgIEJTdHJpbmcgb3JnKFNlY3VyaXR5T3JpZ2luOjpjcmVhdGUo
dXJsKS0+dG9TdHJpbmcoKSk7CisgICAgQlN0cmluZyBvcmcob3JpZ2luLT50b1N0cmluZygpKTsK
ICAgICBpZiAoaGFzTm90aWZpY2F0aW9uRGVsZWdhdGUoKSkKICAgICAgICAgbm90aWZpY2F0aW9u
RGVsZWdhdGUoKS0+Y2hlY2tOb3RpZmljYXRpb25QZXJtaXNzaW9uKG9yZywgJm91dCk7CiAgICAg
cmV0dXJuIChOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24pIG91dDsKZGlmZiAtLWdp
dCBhL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRGVza3RvcE5vdGlmaWNhdGlvbnNEZWxl
Z2F0ZS5oIGIvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9u
c0RlbGVnYXRlLmgKaW5kZXggZDMwYjFlNy4uYmRhYWY1MiAxMDA2NDQKLS0tIGEvV2ViS2l0L3dp
bi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRlLmgKKysrIGIv
V2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEZXNrdG9wTm90aWZpY2F0aW9uc0RlbGVnYXRl
LmgKQEAgLTUxLDYgKzUxLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBub3RpZmljYXRp
b25PYmplY3REZXN0cm95ZWQoV2ViQ29yZTo6Tm90aWZpY2F0aW9uKiBvYmplY3QpOwogICAgIHZp
cnR1YWwgdm9pZCByZXF1ZXN0UGVybWlzc2lvbihXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiogb3Jp
Z2luLCBQYXNzUmVmUHRyPFdlYkNvcmU6OlZvaWRDYWxsYmFjaz4gY2FsbGJhY2spOwogICAgIHZp
cnR1YWwgV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVyOjpQZXJtaXNzaW9uIGNoZWNrUGVy
bWlzc2lvbihjb25zdCBLVVJMJiB1cmwsIERvY3VtZW50KiBkb2N1bWVudCk7CisgICAgdmlydHVh
bCBXZWJDb3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXI6OlBlcm1pc3Npb24gY2hlY2tQZXJtaXNz
aW9uKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pOwogCiBwcml2YXRlOgog
ICAgIGJvb2wgaGFzTm90aWZpY2F0aW9uRGVsZWdhdGUoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>