<?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>71631</bug_id>
          
          <creation_ts>2011-11-06 12:54:37 -0800</creation_ts>
          <short_desc>Need a way to allow a scheme access to Local Storage and Databases while Private Browsing is enabled</short_desc>
          <delta_ts>2012-08-01 11:10:38 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit API</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jessie Berlin">jberlin</reporter>
          <assigned_to name="Jessie Berlin">jberlin</assigned_to>
          <cc>adauria</cc>
    
    <cc>dglazkov</cc>
    
    <cc>jberlin</cc>
    
    <cc>sam</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yong.li.webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>496854</commentid>
    <comment_count>0</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2011-11-06 12:54:37 -0800</bug_when>
    <thetext>&lt;rdar://problem/8605670&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496865</commentid>
    <comment_count>1</comment_count>
      <attachid>113800</attachid>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2011-11-06 13:24:43 -0800</bug_when>
    <thetext>Created attachment 113800
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496875</commentid>
    <comment_count>2</comment_count>
      <attachid>113800</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-06 13:45:42 -0800</bug_when>
    <thetext>Comment on attachment 113800
Patch

Attachment 113800 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10338488</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496881</commentid>
    <comment_count>3</comment_count>
      <attachid>113802</attachid>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2011-11-06 14:09:05 -0800</bug_when>
    <thetext>Created attachment 113802
Patch (with Chromium build fix)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497017</commentid>
    <comment_count>4</comment_count>
      <attachid>113802</attachid>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2011-11-07 01:25:45 -0800</bug_when>
    <thetext>Comment on attachment 113802
Patch (with Chromium build fix)

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

r=me

&gt; Source/WebCore/ChangeLog:24
&gt; +        (WebCore::SchemeRegistry::registerURLSchmeAsIgnoringPrivateBrowsingForLocalStorage):

Typo: Schme

&gt; Source/WebCore/ChangeLog:26
&gt; +        (WebCore::SchemeRegistry::registerURLSchmeAsIgnoringPrivateBrowsingForDatabases):

And here (and elsewhere).

&gt; Source/WebCore/platform/SchemeRegistry.h:77
&gt; +    static bool shouldIgnorePrivateBrowsingForLocalStorage(const String&amp; scheme);
&gt; +    static void registerURLSchmeAsIgnoringPrivateBrowsingForDatabases(const String&amp; scheme);
&gt; +    static bool shouldIgnorePrivateBrowsingForDatabases(const String&amp; scheme);

I think names like &quot;allowsLocalStorageInPrivateBrowsing()&quot; would be more readable, especially when testing the inverse condition.

&gt; Source/WebCore/storage/Storage.cpp:32
&gt; +#include &quot;SchemeRegistry.h&quot;
&gt; +#include &quot;SecurityOrigin.h&quot;

Doesn&apos;t look like you need these.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497216</commentid>
    <comment_count>5</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2011-11-07 09:02:44 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 113802 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=113802&amp;action=review
&gt; 
&gt; r=me

Thanks!

&gt; 
&gt; &gt; Source/WebCore/ChangeLog:24
&gt; &gt; +        (WebCore::SchemeRegistry::registerURLSchmeAsIgnoringPrivateBrowsingForLocalStorage):
&gt; 
&gt; Typo: Schme

Fixed.

&gt; 
&gt; &gt; Source/WebCore/ChangeLog:26
&gt; &gt; +        (WebCore::SchemeRegistry::registerURLSchmeAsIgnoringPrivateBrowsingForDatabases):
&gt; 
&gt; And here (and elsewhere).

Fixed.

&gt; 
&gt; &gt; Source/WebCore/platform/SchemeRegistry.h:77
&gt; &gt; +    static bool shouldIgnorePrivateBrowsingForLocalStorage(const String&amp; scheme);
&gt; &gt; +    static void registerURLSchmeAsIgnoringPrivateBrowsingForDatabases(const String&amp; scheme);
&gt; &gt; +    static bool shouldIgnorePrivateBrowsingForDatabases(const String&amp; scheme);
&gt; 
&gt; I think names like &quot;allowsLocalStorageInPrivateBrowsing()&quot; would be more readable, especially when testing the inverse condition.

Changed to &quot;allowsLocalStorageAccessInPrivateBrowsing&quot;.

&gt; 
&gt; &gt; Source/WebCore/storage/Storage.cpp:32
&gt; &gt; +#include &quot;SchemeRegistry.h&quot;
&gt; &gt; +#include &quot;SecurityOrigin.h&quot;
&gt; 
&gt; Doesn&apos;t look like you need these.

Removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497274</commentid>
    <comment_count>6</comment_count>
      <attachid>113802</attachid>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2011-11-07 10:19:05 -0800</bug_when>
    <thetext>Comment on attachment 113802
Patch (with Chromium build fix)

Committed with the fixes mentioned above in http://trac.webkit.org/changeset/99439</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684336</commentid>
    <comment_count>7</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-01 11:10:38 -0700</bug_when>
    <thetext>May I ask a question, should session storage be allowed in private browsing mode?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113800</attachid>
            <date>2011-11-06 13:24:43 -0800</date>
            <delta_ts>2011-11-06 14:09:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch71631.patch</filename>
            <type>text/plain</type>
            <size>15169</size>
            <attacher name="Jessie Berlin">jberlin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkMjMxZThiLi5jNmViNDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjEg
QEAKKzIwMTEtMTEtMDYgIEplc3NpZSBCZXJsaW4gIDxqYmVybGluQGFwcGxlLmNvbT4KKworICAg
ICAgICBOZWVkIGEgd2F5IHRvIGFsbG93IGEgc2NoZW1lIGFjY2VzcyB0byBMb2NhbCBTdG9yYWdl
IGFuZCBEYXRhYmFzZXMgd2hpbGUgUHJpdmF0ZSBCcm93c2luZyBpcworICAgICAgICBlbmFibGVk
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE2MzEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGVjayB0
aGUgU2NoZW1lUmVnaXN0cnkgYmVmb3JlIHByZXZlbnRpbmcgcmVhZC93cml0ZSBhY2Nlc3MgdG8g
TG9jYWwgU3RvcmFnZSBhbmQgRGF0YWJhc2VzCisgICAgICAgIGluIFByaXZhdGUgQnJvd3Npbmcu
CisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgRXhwb3J0IHRoZSBzeW1ib2xz
IGZvciByZWdpc3RlcmluZyB0aGUgc2NoZW1lcyBhcyBpZ25vcmluZyBQcml2YXRlIEJyb3dzaW5n
IGZvciBMb2NhbAorICAgICAgICBTdG9yYWdlIGFuZCBEYXRhYmFzZXMuCisKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFsbG93RGF0YWJh
c2VBY2Nlc3MpOgorICAgICAgICBJZiB0aGUgc2NoZW1lIGlnbm9yZXMgUHJpdmF0ZSBCcm93c2lu
ZyBmb3IgRGF0YWJhc2VzLCBhbGxvdyBhY2Nlc3MgZXZlbiBpZiBQcml2YXRlIEJyb3dzaW5nCisg
ICAgICAgIGlzIGVuYWJsZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9TY2hlbWVSZWdpc3RyeS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpzY2hlbWVzSWdub3JpbmdQcml2YXRlQnJvd3NpbmdGb3JE
YXRhYmFzZXMpOgorICAgICAgICAoV2ViQ29yZTo6c2NoZW1lc0lnbm9yaW5nUHJpdmF0ZUJyb3dz
aW5nRm9yTG9jYWxTdG9yYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjaGVtZVJlZ2lzdHJ5Ojpy
ZWdpc3RlclVSTFNjaG1lQXNJZ25vcmluZ1ByaXZhdGVCcm93c2luZ0ZvckxvY2FsU3RvcmFnZSk6
CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVSZWdpc3RyeTo6c2hvdWxkSWdub3JlUHJpdmF0ZUJy
b3dzaW5nRm9yTG9jYWxTdG9yYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjaGVtZVJlZ2lzdHJ5
OjpyZWdpc3RlclVSTFNjaG1lQXNJZ25vcmluZ1ByaXZhdGVCcm93c2luZ0ZvckRhdGFiYXNlcyk6
CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVSZWdpc3RyeTo6c2hvdWxkSWdub3JlUHJpdmF0ZUJy
b3dzaW5nRm9yRGF0YWJhc2VzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY2hlbWVSZWdpc3RyeS5o
OgorCisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0
b3JhZ2U6Omxlbmd0aCk6CisgICAgICAgIEFzayB0aGUgc3RvcmFnZSBhcmVhIGlmIGl0IGlzIGRp
c2FibGVkIGJ5IFByaXZhdGUgQnJvd3NpbmcgaW4gdGhlIGZyYW1lIGluc3RlYWQgb2YganVzdAor
ICAgICAgICBjaGVja2luZyBpZiBQcml2YXRlIEJyb3dzaW5nIGlzIGVuYWJsZWQgZm9yIHRoYXQg
ZnJhbWUgYmVjYXVzZSB0aGUgYW5zd2VyIG1pZ2h0IGRlcGVuZCBvbgorICAgICAgICB3aGF0IHR5
cGUgb2Ygc3RvcmFnZSB0aGF0IHN0b3JhZ2UgYXJlYSBpcy4KKyAgICAgICAgKFdlYkNvcmU6OlN0
b3JhZ2U6OmtleSk6CisgICAgICAgIERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZTo6
Z2V0SXRlbSk6CisgICAgICAgIERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZTo6Y29u
dGFpbnMpOgorICAgICAgICBEaXR0by4KKworICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZUFyZWEu
aDoKKyAgICAgICAgTWFrZSBpdCBwb3NzaWJsZSB0byBxdWVyeSBhIFN0b3JhZ2VBcmVhIGZvciB3
aGV0aGVyIGl0IGlzIGRpc2FibGVkIGJ5IFByaXZhdGUgQnJvd3NpbmcgaW4gYQorICAgICAgICBG
cmFtZS4KKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VBcmVhSW1wbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTdG9yYWdlQXJlYUltcGw6OmRpc2FibGVkQnlQcml2YXRlQnJvd3NpbmdJbkZyYW1l
KToKKyAgICAgICAgUmVuYW1lZCBmcm9tIHByaXZhdGVCcm93c2luZ0VuYWJsZWQuCisgICAgICAg
IENoZWNrIG5vdCBvbmx5IGlmIFByaXZhdGUgQnJvd3NpbmcgaXMgZW5hYmxlZCBmb3IgdGhlIEZy
YW1lLCBidXQgYWxzbyBpZiB0aGUgc3RvcmFnZSB0eXBlIGlzCisgICAgICAgIExvY2FsIFN0b3Jh
Z2UgYW5kIGlmIHRoZXJlIGlzIGFuIGV4Y2VwdGlvbiBmb3IgdGhlIHNjaGVtZSBvZiB0aGUgcmVz
b3VyY2UgY3VycmVudGx5IGxvYWRlZAorICAgICAgICBpbnRvIHRoZSBGcmFtZS4KKyAgICAgICAg
KFdlYkNvcmU6OlN0b3JhZ2VBcmVhSW1wbDo6c2V0SXRlbSk6CisgICAgICAgIFJlbmFtZWQgcHJp
dmF0ZUJyb3dzaW5nRW5hYmxlZCAtPiBkaXNhYmxlZEJ5UHJpdmF0ZUJyb3dzaW5nSW5GcmFtZS4K
KyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VBcmVhSW1wbDo6cmVtb3ZlSXRlbSk6CisgICAgICAg
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZUFyZWFJbXBsOjpjbGVhcik6CisgICAg
ICAgIERpdHRvLgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZUFyZWFJbXBsLmg6CisKIDIwMTEt
MTEtMDQgIFRvciBBcm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgogCiAg
ICAgICAgIFtRdF0gUmVmYWN0b3IgYW5kIGNsZWFuIHVwIHRoZSBxbWFrZSBidWlsZCBzeXN0ZW0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYzkzNGQwNS4uNTMzZmNmZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4KQEAgLTM2Niw2ICszNjYsOCBAQCBfX1pON1dlYkNvcmUxNFNjaGVtZVJlZ2lzdHJ5MjRy
ZWdpc3RlclVSTFNjaGVtZUFzTG9jYWxFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUxNFNj
aGVtZVJlZ2lzdHJ5MjVyZWdpc3RlclVSTFNjaGVtZUFzU2VjdXJlRVJLTjNXVEY2U3RyaW5nRQog
X19aTjdXZWJDb3JlMTRTY2hlbWVSZWdpc3RyeTMycmVnaXN0ZXJVUkxTY2hlbWVBc0VtcHR5RG9j
dW1lbnRFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUxNFNjaGVtZVJlZ2lzdHJ5MzRzaG91
bGRMb2FkVVJMU2NoZW1lQXNFbXB0eURvY3VtZW50RVJLTjNXVEY2U3RyaW5nRQorX19aTjdXZWJD
b3JlMTRTY2hlbWVSZWdpc3RyeTUzcmVnaXN0ZXJVUkxTY2htZUFzSWdub3JpbmdQcml2YXRlQnJv
d3NpbmdGb3JEYXRhYmFzZXNFUktOM1dURjZTdHJpbmdFCitfX1pON1dlYkNvcmUxNFNjaGVtZVJl
Z2lzdHJ5NTZyZWdpc3RlclVSTFNjaG1lQXNJZ25vcmluZ1ByaXZhdGVCcm93c2luZ0ZvckxvY2Fs
U3RvcmFnZUVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTE0U2Nyb2xsYWJsZUFyZWExNmhh
bmRsZVdoZWVsRXZlbnRFUktOU18xOFBsYXRmb3JtV2hlZWxFdmVudEUKIF9fWk43V2ViQ29yZTE0
U2Nyb2xsYWJsZUFyZWExN3dpbGxFbmRMaXZlUmVzaXplRXYKIF9fWk43V2ViQ29yZTE0U2Nyb2xs
YWJsZUFyZWExOXdpbGxTdGFydExpdmVSZXNpemVFdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5k
ZXggMDBjNzI5Zi4uMTYwNGJkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0xMjIsNiAr
MTIyLDcgQEAKICNpbmNsdWRlICJSZW5kZXJUZXh0Q29udHJvbC5oIgogI2luY2x1ZGUgIlJlbmRl
clZpZXcuaCIKICNpbmNsdWRlICJSZW5kZXJXaWRnZXQuaCIKKyNpbmNsdWRlICJTY2hlbWVSZWdp
c3RyeS5oIgogI2luY2x1ZGUgIlNjb3BlZEV2ZW50UXVldWUuaCIKICNpbmNsdWRlICJTY3JpcHRD
YWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCkBAIC00NDY2LDcgKzQ0
NjcsNyBAQCB2b2lkIERvY3VtZW50OjpzZXRTZWN1cml0eU9yaWdpbihTZWN1cml0eU9yaWdpbiog
c2VjdXJpdHlPcmlnaW4pCiAKIGJvb2wgRG9jdW1lbnQ6OmFsbG93RGF0YWJhc2VBY2Nlc3MoKSBj
b25zdAogewotICAgIGlmICghcGFnZSgpIHx8IHBhZ2UoKS0+c2V0dGluZ3MoKS0+cHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZCgpKQorICAgIGlmICghcGFnZSgpIHx8IChwYWdlKCktPnNldHRpbmdzKCkt
PnByaXZhdGVCcm93c2luZ0VuYWJsZWQoKSAmJiAhU2NoZW1lUmVnaXN0cnk6OnNob3VsZElnbm9y
ZVByaXZhdGVCcm93c2luZ0ZvckRhdGFiYXNlcyhzZWN1cml0eU9yaWdpbigpLT5wcm90b2NvbCgp
KSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmNwcAppbmRleCA2MzRmNDU5Li4xNjA4ZTQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY2hlbWVSZWdpc3RyeS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuY3BwCkBAIC0xMTAs
NiArMTEwLDE4IEBAIHN0YXRpYyBVUkxTY2hlbWVzTWFwJiBub3RBbGxvd2luZ0phdmFzY3JpcHRV
UkxzU2NoZW1lcygpCiAgICAgcmV0dXJuIG5vdEFsbG93aW5nSmF2YXNjcmlwdFVSTHNTY2hlbWVz
OwogfQogCitzdGF0aWMgVVJMU2NoZW1lc01hcCYgc2NoZW1lc0lnbm9yaW5nUHJpdmF0ZUJyb3dz
aW5nRm9yRGF0YWJhc2VzKCkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFVSTFNjaGVtZXNN
YXAsIHNjaGVtZXNJZ25vcmluZ1ByaXZhdGVCcm93c2luZ0ZvckRhdGFiYXNlcywgKCkpOworICAg
IHJldHVybiBzY2hlbWVzSWdub3JpbmdQcml2YXRlQnJvd3NpbmdGb3JEYXRhYmFzZXM7Cit9CisK
K3N0YXRpYyBVUkxTY2hlbWVzTWFwJiBzY2hlbWVzSWdub3JpbmdQcml2YXRlQnJvd3NpbmdGb3JM
b2NhbFN0b3JhZ2UoKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoVVJMU2NoZW1lc01hcCwg
c2NoZW1lc0lnbm9yaW5nUHJpdmF0ZUJyb3dzaW5nRm9yTG9jYWxTdG9yYWdlLCAoKSk7CisgICAg
cmV0dXJuIHNjaGVtZXNJZ25vcmluZ1ByaXZhdGVCcm93c2luZ0ZvckxvY2FsU3RvcmFnZTsKK30K
Kwogdm9pZCBTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0xvY2FsKGNvbnN0IFN0
cmluZyYgc2NoZW1lKQogewogICAgIGxvY2FsVVJMU2NoZW1lcygpLmFkZChzY2hlbWUpOwpAQCAt
MjEwLDQgKzIyMiwyOCBAQCBib29sIFNjaGVtZVJlZ2lzdHJ5OjpzaG91bGRUcmVhdFVSTFNjaGVt
ZUFzTm90QWxsb3dpbmdKYXZhc2NyaXB0VVJMcyhjb25zdCBTdHJpbgogICAgIHJldHVybiBub3RB
bGxvd2luZ0phdmFzY3JpcHRVUkxzU2NoZW1lcygpLmNvbnRhaW5zKHNjaGVtZSk7CiB9CiAKK3Zv
aWQgU2NoZW1lUmVnaXN0cnk6OnJlZ2lzdGVyVVJMU2NobWVBc0lnbm9yaW5nUHJpdmF0ZUJyb3dz
aW5nRm9yTG9jYWxTdG9yYWdlKGNvbnN0IFN0cmluZyYgc2NoZW1lKQoreworICAgIHNjaGVtZXNJ
Z25vcmluZ1ByaXZhdGVCcm93c2luZ0ZvckxvY2FsU3RvcmFnZSgpLmFkZChzY2hlbWUpOworfQor
Citib29sIFNjaGVtZVJlZ2lzdHJ5OjpzaG91bGRJZ25vcmVQcml2YXRlQnJvd3NpbmdGb3JMb2Nh
bFN0b3JhZ2UoY29uc3QgU3RyaW5nJiBzY2hlbWUpCit7CisgICAgaWYgKHNjaGVtZS5pc0VtcHR5
KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gc2NoZW1lc0lnbm9yaW5nUHJp
dmF0ZUJyb3dzaW5nRm9yTG9jYWxTdG9yYWdlKCkuY29udGFpbnMoc2NoZW1lKTsKK30KKwordm9p
ZCBTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2htZUFzSWdub3JpbmdQcml2YXRlQnJvd3Np
bmdGb3JEYXRhYmFzZXMoY29uc3QgU3RyaW5nJiBzY2hlbWUpCit7CisgICAgc2NoZW1lc0lnbm9y
aW5nUHJpdmF0ZUJyb3dzaW5nRm9yRGF0YWJhc2VzKCkuYWRkKHNjaGVtZSk7Cit9CisKK2Jvb2wg
U2NoZW1lUmVnaXN0cnk6OnNob3VsZElnbm9yZVByaXZhdGVCcm93c2luZ0ZvckRhdGFiYXNlcyhj
b25zdCBTdHJpbmcmIHNjaGVtZSkKK3sKKyAgICBpZiAoc2NoZW1lLmlzRW1wdHkoKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBzY2hlbWVzSWdub3JpbmdQcml2YXRlQnJvd3Np
bmdGb3JEYXRhYmFzZXMoKS5jb250YWlucyhzY2hlbWUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY2hlbWVSZWdpc3Ry
eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuaAppbmRleCA4YjMz
MGEwLi42OTA0MGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY2hlbWVS
ZWdpc3RyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmgK
QEAgLTY4LDYgKzY4LDEzIEBAIHB1YmxpYzoKICAgICAvLyBib29rbWFya2xldHMgZnJvbSBydW5u
aW5nIG9uIHNlbnNpdGl2ZSBwYWdlcykuIAogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyVVJMU2No
ZW1lQXNOb3RBbGxvd2luZ0phdmFzY3JpcHRVUkxzKGNvbnN0IFN0cmluZyYgc2NoZW1lKTsKICAg
ICBzdGF0aWMgYm9vbCBzaG91bGRUcmVhdFVSTFNjaGVtZUFzTm90QWxsb3dpbmdKYXZhc2NyaXB0
VVJMcyhjb25zdCBTdHJpbmcmIHNjaGVtZSk7CisKKyAgICAvLyBMZXQgc29tZSBzY2hlbWVzIG9w
dC1vdXQgb2YgUHJpdmF0ZSBCcm93c2luZydzIGRlZmF1bHQgYmVoYXZpb3Igb2YgcHJvaGliaXRp
bmcgcmVhZC93cml0ZQorICAgIC8vIGFjY2VzcyB0byBMb2NhbCBTdG9yYWdlIGFuZCBEYXRhYmFz
ZXMuCisgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJVUkxTY2htZUFzSWdub3JpbmdQcml2YXRlQnJv
d3NpbmdGb3JMb2NhbFN0b3JhZ2UoY29uc3QgU3RyaW5nJiBzY2hlbWUpOworICAgIHN0YXRpYyBi
b29sIHNob3VsZElnbm9yZVByaXZhdGVCcm93c2luZ0ZvckxvY2FsU3RvcmFnZShjb25zdCBTdHJp
bmcmIHNjaGVtZSk7CisgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJVUkxTY2htZUFzSWdub3JpbmdQ
cml2YXRlQnJvd3NpbmdGb3JEYXRhYmFzZXMoY29uc3QgU3RyaW5nJiBzY2hlbWUpOworICAgIHN0
YXRpYyBib29sIHNob3VsZElnbm9yZVByaXZhdGVCcm93c2luZ0ZvckRhdGFiYXNlcyhjb25zdCBT
dHJpbmcmIHNjaGVtZSk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9TdG9yYWdlLmNwcAppbmRleCA2NzJlYTk3Li4zMzQ2OTE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvU3RvcmFnZS5jcHAKQEAgLTI4LDYgKzI4LDggQEAKIAogI2luY2x1ZGUgIkZyYW1lLmgiCiAj
aW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlNjaGVtZVJlZ2lzdHJ5LmgiCisjaW5jbHVkZSAi
U2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0b3Jh
Z2VBcmVhLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKQEAgLTU0LDcgKzU2LDcgQEAg
U3RvcmFnZTo6flN0b3JhZ2UoKQogCiB1bnNpZ25lZCBTdG9yYWdlOjpsZW5ndGgoKSBjb25zdAog
ewotICAgIGlmICghbV9mcmFtZSB8fCAhbV9mcmFtZS0+cGFnZSgpIHx8IG1fZnJhbWUtPnBhZ2Uo
KS0+c2V0dGluZ3MoKS0+cHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpKQorICAgIGlmICghbV9mcmFt
ZSB8fCAhbV9mcmFtZS0+cGFnZSgpIHx8IG1fc3RvcmFnZUFyZWEtPmRpc2FibGVkQnlQcml2YXRl
QnJvd3NpbmdJbkZyYW1lKG1fZnJhbWUpKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIHJldHVy
biBtX3N0b3JhZ2VBcmVhLT5sZW5ndGgobV9mcmFtZSk7CkBAIC02Miw3ICs2NCw3IEBAIHVuc2ln
bmVkIFN0b3JhZ2U6Omxlbmd0aCgpIGNvbnN0CiAKIFN0cmluZyBTdG9yYWdlOjprZXkodW5zaWdu
ZWQgaW5kZXgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX2ZyYW1lIHx8ICFtX2ZyYW1lLT5wYWdlKCkg
fHwgbV9mcmFtZS0+cGFnZSgpLT5zZXR0aW5ncygpLT5wcml2YXRlQnJvd3NpbmdFbmFibGVkKCkp
CisgICAgaWYgKCFtX2ZyYW1lIHx8ICFtX2ZyYW1lLT5wYWdlKCkgfHwgbV9zdG9yYWdlQXJlYS0+
ZGlzYWJsZWRCeVByaXZhdGVCcm93c2luZ0luRnJhbWUobV9mcmFtZSkpCiAgICAgICAgIHJldHVy
biBTdHJpbmcoKTsKIAogICAgIHJldHVybiBtX3N0b3JhZ2VBcmVhLT5rZXkoaW5kZXgsIG1fZnJh
bWUpOwpAQCAtNzAsNyArNzIsNyBAQCBTdHJpbmcgU3RvcmFnZTo6a2V5KHVuc2lnbmVkIGluZGV4
KSBjb25zdAogCiBTdHJpbmcgU3RvcmFnZTo6Z2V0SXRlbShjb25zdCBTdHJpbmcmIGtleSkgY29u
c3QKIHsKLSAgICBpZiAoIW1fZnJhbWUgfHwgIW1fZnJhbWUtPnBhZ2UoKSB8fCBtX2ZyYW1lLT5w
YWdlKCktPnNldHRpbmdzKCktPnByaXZhdGVCcm93c2luZ0VuYWJsZWQoKSkKKyAgICBpZiAoIW1f
ZnJhbWUgfHwgIW1fZnJhbWUtPnBhZ2UoKSB8fCBtX3N0b3JhZ2VBcmVhLT5kaXNhYmxlZEJ5UHJp
dmF0ZUJyb3dzaW5nSW5GcmFtZShtX2ZyYW1lKSkKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwog
CiAgICAgcmV0dXJuIG1fc3RvcmFnZUFyZWEtPmdldEl0ZW0oa2V5LCBtX2ZyYW1lKTsKQEAgLTEw
Myw3ICsxMDUsNyBAQCB2b2lkIFN0b3JhZ2U6OmNsZWFyKCkKIAogYm9vbCBTdG9yYWdlOjpjb250
YWlucyhjb25zdCBTdHJpbmcmIGtleSkgY29uc3QKIHsKLSAgICBpZiAoIW1fZnJhbWUgfHwgIW1f
ZnJhbWUtPnBhZ2UoKSB8fCBtX2ZyYW1lLT5wYWdlKCktPnNldHRpbmdzKCktPnByaXZhdGVCcm93
c2luZ0VuYWJsZWQoKSkKKyAgICBpZiAoIW1fZnJhbWUgfHwgIW1fZnJhbWUtPnBhZ2UoKSB8fCBt
X3N0b3JhZ2VBcmVhLT5kaXNhYmxlZEJ5UHJpdmF0ZUJyb3dzaW5nSW5GcmFtZShtX2ZyYW1lKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIG1fc3RvcmFnZUFyZWEtPmNvbnRh
aW5zKGtleSwgbV9mcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0
b3JhZ2VBcmVhLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhLmgKaW5kZXgg
NTlmZjY0NC4uZTJkMDgyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9y
YWdlQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWEuaApAQCAt
NTMsNiArNTMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgU3RyaW5n
IHJlbW92ZUl0ZW0oY29uc3QgU3RyaW5nJiBrZXksIEZyYW1lKiBzb3VyY2VGcmFtZSkgPSAwOwog
ICAgICAgICB2aXJ0dWFsIGJvb2wgY2xlYXIoRnJhbWUqIHNvdXJjZUZyYW1lKSA9IDA7CiAgICAg
ICAgIHZpcnR1YWwgYm9vbCBjb250YWlucyhjb25zdCBTdHJpbmcmIGtleSwgRnJhbWUqIHNvdXJj
ZUZyYW1lKSBjb25zdCA9IDA7CisKKyAgICAgICAgdmlydHVhbCBib29sIGRpc2FibGVkQnlQcml2
YXRlQnJvd3NpbmdJbkZyYW1lKGNvbnN0IEZyYW1lKiBzb3VyY2VGcmFtZSkgY29uc3QgPSAwOwog
ICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
U3RvcmFnZUFyZWFJbXBsLmNwcAppbmRleCAxMTUxODZjLi5kZDM2YWQzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhSW1wbC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYUltcGwuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5j
bHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiUGFn
ZS5oIgorI2luY2x1ZGUgIlNjaGVtZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0b3JhZ2VBcmVhU3luYy5o
IgpAQCAtOTgsNyArOTksNyBAQCBTdG9yYWdlQXJlYUltcGw6OlN0b3JhZ2VBcmVhSW1wbChTdG9y
YWdlQXJlYUltcGwqIGFyZWEpCiAgICAgQVNTRVJUKCFtX2lzU2h1dGRvd24pOwogfQogCi1zdGF0
aWMgYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkKEZyYW1lKiBmcmFtZSkKK2Jvb2wgU3RvcmFn
ZUFyZWFJbXBsOjpkaXNhYmxlZEJ5UHJpdmF0ZUJyb3dzaW5nSW5GcmFtZShjb25zdCBGcmFtZSog
ZnJhbWUpIGNvbnN0CiB7CiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCiAgICAgLy8gVGhlIGZyYW1l
IHBvaW50ZXIgY2FuIGJlIE5VTEwgaW4gQ2hyb21pdW0gc2luY2UgdGhpcyBjYWxsIGlzIG1hZGUg
aW4gYSBkaWZmZXJlbnQKQEAgLTEwNyw3ICsxMDgsMTEgQEAgc3RhdGljIGJvb2wgcHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZChGcmFtZSogZnJhbWUpCiAgICAgQVNTRVJUKCFmcmFtZSk7CiAgICAgcmV0
dXJuIGZhbHNlOwogI2Vsc2UKLSAgICByZXR1cm4gZnJhbWUtPnBhZ2UoKSAmJiBmcmFtZS0+cGFn
ZSgpLT5zZXR0aW5ncygpLT5wcml2YXRlQnJvd3NpbmdFbmFibGVkKCk7CisgICAgaWYgKCFmcmFt
ZS0+cGFnZSgpIHx8ICFmcmFtZS0+cGFnZSgpLT5zZXR0aW5ncygpLT5wcml2YXRlQnJvd3NpbmdF
bmFibGVkKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAobV9zdG9yYWdlVHlwZSAh
PSBMb2NhbFN0b3JhZ2UpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiAhU2NoZW1l
UmVnaXN0cnk6OnNob3VsZElnbm9yZVByaXZhdGVCcm93c2luZ0ZvckxvY2FsU3RvcmFnZShmcmFt
ZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+cHJvdG9jb2woKSk7CiAjZW5kaWYKIH0K
IApAQCAtMTQxLDcgKzE0Niw3IEBAIFN0cmluZyBTdG9yYWdlQXJlYUltcGw6OnNldEl0ZW0oY29u
c3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUsIEV4Y2VwdGlvCiAgICAgQVNTRVJU
KCF2YWx1ZS5pc051bGwoKSk7CiAgICAgYmxvY2tVbnRpbEltcG9ydENvbXBsZXRlKCk7CiAKLSAg
ICBpZiAocHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChmcmFtZSkpIHsKKyAgICBpZiAoZGlzYWJsZWRC
eVByaXZhdGVCcm93c2luZ0luRnJhbWUoZnJhbWUpKSB7CiAgICAgICAgIGVjID0gUVVPVEFfRVhD
RUVERURfRVJSOwogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgfQpAQCAtMTcxLDcgKzE3
Niw3IEBAIFN0cmluZyBTdG9yYWdlQXJlYUltcGw6OnJlbW92ZUl0ZW0oY29uc3QgU3RyaW5nJiBr
ZXksIEZyYW1lKiBmcmFtZSkKICAgICBBU1NFUlQoIW1faXNTaHV0ZG93bik7CiAgICAgYmxvY2tV
bnRpbEltcG9ydENvbXBsZXRlKCk7CiAKLSAgICBpZiAocHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChm
cmFtZSkpCisgICAgaWYgKGRpc2FibGVkQnlQcml2YXRlQnJvd3NpbmdJbkZyYW1lKGZyYW1lKSkK
ICAgICAgICAgcmV0dXJuIFN0cmluZygpOwogCiAgICAgU3RyaW5nIG9sZFZhbHVlOwpAQCAtMTkz
LDcgKzE5OCw3IEBAIGJvb2wgU3RvcmFnZUFyZWFJbXBsOjpjbGVhcihGcmFtZSogZnJhbWUpCiAg
ICAgQVNTRVJUKCFtX2lzU2h1dGRvd24pOwogICAgIGJsb2NrVW50aWxJbXBvcnRDb21wbGV0ZSgp
OwogCi0gICAgaWYgKHByaXZhdGVCcm93c2luZ0VuYWJsZWQoZnJhbWUpKQorICAgIGlmIChkaXNh
YmxlZEJ5UHJpdmF0ZUJyb3dzaW5nSW5GcmFtZShmcmFtZSkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgIGlmICghbV9zdG9yYWdlTWFwLT5sZW5ndGgoKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL1N0b3JhZ2VBcmVhSW1wbC5oCmluZGV4IGZkYTZkNTUuLjc5YjI3ZDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFJbXBsLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYUltcGwuaApAQCAtNTEsNiArNTEsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBjbGVhcihGcmFtZSogc291cmNlRnJh
bWUpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgY29udGFpbnMoY29uc3QgU3RyaW5nJiBrZXksIEZy
YW1lKiBzb3VyY2VGcmFtZSkgY29uc3Q7CiAKKyAgICAgICAgdmlydHVhbCBib29sIGRpc2FibGVk
QnlQcml2YXRlQnJvd3NpbmdJbkZyYW1lKGNvbnN0IEZyYW1lKiBzb3VyY2VGcmFtZSkgY29uc3Q7
CisKICAgICAgICAgUGFzc1JlZlB0cjxTdG9yYWdlQXJlYUltcGw+IGNvcHkoKTsKICAgICAgICAg
dm9pZCBjbG9zZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMTI2OTBhMS4uYjc3M2VmZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDExLTExLTA2ICBKZXNzaWUgQmVybGlu
ICA8amJlcmxpbkBhcHBsZS5jb20+CisKKyAgICAgICAgTmVlZCBhIHdheSB0byBhbGxvdyBhIHNj
aGVtZSBhY2Nlc3MgdG8gTG9jYWwgU3RvcmFnZSBhbmQgRGF0YWJhc2VzIHdoaWxlIFByaXZhdGUg
QnJvd3NpbmcgaXMKKyAgICAgICAgZW5hYmxlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNjMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIFdlYktpdDEgQVBJIHRvIHJlZ2lzdGVyIGEgc2NoZW1l
IGFzIGlnbm9yaW5nIFByaXZhdGUgQnJvd3NpbmcgZm9yIExvY2FsIFN0b3JhZ2UgYW5kCisgICAg
ICAgIERhdGFiYXNlcy4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAg
KCtbV2ViVmlldyBfcmVnaXN0ZXJVUkxTY2htZUFzSWdub3JpbmdQcml2YXRlQnJvd3NpbmdGb3JM
b2NhbFN0b3JhZ2U6XSk6CisgICAgICAgIENhbGwgdGhyb3VnaCB0byB0aGUgU2NoZW1lUmVnaXN0
cnkgZnVuY3Rpb24uCisgICAgICAgICgrW1dlYlZpZXcgX3JlZ2lzdGVyVVJMU2NobWVBc0lnbm9y
aW5nUHJpdmF0ZUJyb3dzaW5nRm9yRGF0YWJhc2VzOl0pOgorICAgICAgICBEaXR0by4KKyAgICAg
ICAgKiBXZWJWaWV3L1dlYlZpZXdQcml2YXRlLmg6CisKIDIwMTEtMTEtMDMgIE1hcmsgSGFobmVu
YmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBEZS12aXJ0dWFsaXplIEpT
T2JqZWN0OjpnZXRQcm9wZXJ0eU5hbWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
aW5kZXggYzhkYjVjYi4uNTI3NjY3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQpAQCAtMjY0MSw2ICsyNjQxLDE2IEBAICsgKHZvaWQpX3JlZ2lzdGVyVVJMU2NoZW1lQXNTZWN1
cmU6KE5TU3RyaW5nICopc2NoZW1lCiAgICAgU2NoZW1lUmVnaXN0cnk6OnJlZ2lzdGVyVVJMU2No
ZW1lQXNTZWN1cmUoc2NoZW1lKTsKIH0KIAorKyAodm9pZClfcmVnaXN0ZXJVUkxTY2htZUFzSWdu
b3JpbmdQcml2YXRlQnJvd3NpbmdGb3JMb2NhbFN0b3JhZ2U6KE5TU3RyaW5nICopc2NoZW1lCit7
CisgICAgU2NoZW1lUmVnaXN0cnk6OnJlZ2lzdGVyVVJMU2NobWVBc0lnbm9yaW5nUHJpdmF0ZUJy
b3dzaW5nRm9yTG9jYWxTdG9yYWdlKHNjaGVtZSk7Cit9CisKKysgKHZvaWQpX3JlZ2lzdGVyVVJM
U2NobWVBc0lnbm9yaW5nUHJpdmF0ZUJyb3dzaW5nRm9yRGF0YWJhc2VzOihOU1N0cmluZyAqKXNj
aGVtZQoreworICAgIFNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNjaG1lQXNJZ25vcmluZ1By
aXZhdGVCcm93c2luZ0ZvckRhdGFiYXNlcyhzY2hlbWUpOworfQorCiAtICh2b2lkKV9zY2FsZVdl
YlZpZXc6KGZsb2F0KXNjYWxlIGF0T3JpZ2luOihOU1BvaW50KW9yaWdpbgogewogICAgIF9wcml2
YXRlLT5wYWdlLT5zZXRQYWdlU2NhbGVGYWN0b3Ioc2NhbGUsIEludFBvaW50KG9yaWdpbikpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oCmluZGV4IGQ2NjJiMTcu
LjEwNzlhNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld1By
aXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgK
QEAgLTU0Myw2ICs1NDMsOCBAQCBDb3VsZCBiZSB3b3J0aCBhZGRpbmcgdG8gdGhlIEFQSS4KIAog
KyAodm9pZClfc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbjooQk9PTClmb3JiaWRkZW4gZm9y
VVJMU2NoZW1lOihOU1N0cmluZyAqKXNjaGVtZTsKICsgKHZvaWQpX3JlZ2lzdGVyVVJMU2NoZW1l
QXNTZWN1cmU6KE5TU3RyaW5nICopc2NoZW1lOworKyAodm9pZClfcmVnaXN0ZXJVUkxTY2htZUFz
SWdub3JpbmdQcml2YXRlQnJvd3NpbmdGb3JMb2NhbFN0b3JhZ2U6KE5TU3RyaW5nICopc2NoZW1l
OworKyAodm9pZClfcmVnaXN0ZXJVUkxTY2htZUFzSWdub3JpbmdQcml2YXRlQnJvd3NpbmdGb3JE
YXRhYmFzZXM6KE5TU3RyaW5nICopc2NoZW1lOwogCiAtICh2b2lkKV9zY2FsZVdlYlZpZXc6KGZs
b2F0KXNjYWxlIGF0T3JpZ2luOihOU1BvaW50KW9yaWdpbjsKIC0gKGZsb2F0KV92aWV3U2NhbGVG
YWN0b3I7Cg==
</data>
<flag name="review"
          id="112278"
          type_id="1"
          status="+"
          setter="sam"
    />
    <flag name="commit-queue"
          id="112279"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113802</attachid>
            <date>2011-11-06 14:09:05 -0800</date>
            <delta_ts>2011-11-07 10:19:05 -0800</delta_ts>
            <desc>Patch (with Chromium build fix)</desc>
            <filename>patch71631Take2.patch</filename>
            <type>text/plain</type>
            <size>16656</size>
            <attacher name="Jessie Berlin">jberlin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkMjMxZThiLi5jNmViNDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjEg
QEAKKzIwMTEtMTEtMDYgIEplc3NpZSBCZXJsaW4gIDxqYmVybGluQGFwcGxlLmNvbT4KKworICAg
ICAgICBOZWVkIGEgd2F5IHRvIGFsbG93IGEgc2NoZW1lIGFjY2VzcyB0byBMb2NhbCBTdG9yYWdl
IGFuZCBEYXRhYmFzZXMgd2hpbGUgUHJpdmF0ZSBCcm93c2luZyBpcworICAgICAgICBlbmFibGVk
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE2MzEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGVjayB0
aGUgU2NoZW1lUmVnaXN0cnkgYmVmb3JlIHByZXZlbnRpbmcgcmVhZC93cml0ZSBhY2Nlc3MgdG8g
TG9jYWwgU3RvcmFnZSBhbmQgRGF0YWJhc2VzCisgICAgICAgIGluIFByaXZhdGUgQnJvd3Npbmcu
CisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgRXhwb3J0IHRoZSBzeW1ib2xz
IGZvciByZWdpc3RlcmluZyB0aGUgc2NoZW1lcyBhcyBpZ25vcmluZyBQcml2YXRlIEJyb3dzaW5n
IGZvciBMb2NhbAorICAgICAgICBTdG9yYWdlIGFuZCBEYXRhYmFzZXMuCisKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmFsbG93RGF0YWJh
c2VBY2Nlc3MpOgorICAgICAgICBJZiB0aGUgc2NoZW1lIGlnbm9yZXMgUHJpdmF0ZSBCcm93c2lu
ZyBmb3IgRGF0YWJhc2VzLCBhbGxvdyBhY2Nlc3MgZXZlbiBpZiBQcml2YXRlIEJyb3dzaW5nCisg
ICAgICAgIGlzIGVuYWJsZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9TY2hlbWVSZWdpc3RyeS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpzY2hlbWVzSWdub3JpbmdQcml2YXRlQnJvd3NpbmdGb3JE
YXRhYmFzZXMpOgorICAgICAgICAoV2ViQ29yZTo6c2NoZW1lc0lnbm9yaW5nUHJpdmF0ZUJyb3dz
aW5nRm9yTG9jYWxTdG9yYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjaGVtZVJlZ2lzdHJ5Ojpy
ZWdpc3RlclVSTFNjaG1lQXNJZ25vcmluZ1ByaXZhdGVCcm93c2luZ0ZvckxvY2FsU3RvcmFnZSk6
CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVSZWdpc3RyeTo6c2hvdWxkSWdub3JlUHJpdmF0ZUJy
b3dzaW5nRm9yTG9jYWxTdG9yYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjaGVtZVJlZ2lzdHJ5
OjpyZWdpc3RlclVSTFNjaG1lQXNJZ25vcmluZ1ByaXZhdGVCcm93c2luZ0ZvckRhdGFiYXNlcyk6
CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVSZWdpc3RyeTo6c2hvdWxkSWdub3JlUHJpdmF0ZUJy
b3dzaW5nRm9yRGF0YWJhc2VzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY2hlbWVSZWdpc3RyeS5o
OgorCisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0
b3JhZ2U6Omxlbmd0aCk6CisgICAgICAgIEFzayB0aGUgc3RvcmFnZSBhcmVhIGlmIGl0IGlzIGRp
c2FibGVkIGJ5IFByaXZhdGUgQnJvd3NpbmcgaW4gdGhlIGZyYW1lIGluc3RlYWQgb2YganVzdAor
ICAgICAgICBjaGVja2luZyBpZiBQcml2YXRlIEJyb3dzaW5nIGlzIGVuYWJsZWQgZm9yIHRoYXQg
ZnJhbWUgYmVjYXVzZSB0aGUgYW5zd2VyIG1pZ2h0IGRlcGVuZCBvbgorICAgICAgICB3aGF0IHR5
cGUgb2Ygc3RvcmFnZSB0aGF0IHN0b3JhZ2UgYXJlYSBpcy4KKyAgICAgICAgKFdlYkNvcmU6OlN0
b3JhZ2U6OmtleSk6CisgICAgICAgIERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZTo6
Z2V0SXRlbSk6CisgICAgICAgIERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZTo6Y29u
dGFpbnMpOgorICAgICAgICBEaXR0by4KKworICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZUFyZWEu
aDoKKyAgICAgICAgTWFrZSBpdCBwb3NzaWJsZSB0byBxdWVyeSBhIFN0b3JhZ2VBcmVhIGZvciB3
aGV0aGVyIGl0IGlzIGRpc2FibGVkIGJ5IFByaXZhdGUgQnJvd3NpbmcgaW4gYQorICAgICAgICBG
cmFtZS4KKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VBcmVhSW1wbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTdG9yYWdlQXJlYUltcGw6OmRpc2FibGVkQnlQcml2YXRlQnJvd3NpbmdJbkZyYW1l
KToKKyAgICAgICAgUmVuYW1lZCBmcm9tIHByaXZhdGVCcm93c2luZ0VuYWJsZWQuCisgICAgICAg
IENoZWNrIG5vdCBvbmx5IGlmIFByaXZhdGUgQnJvd3NpbmcgaXMgZW5hYmxlZCBmb3IgdGhlIEZy
YW1lLCBidXQgYWxzbyBpZiB0aGUgc3RvcmFnZSB0eXBlIGlzCisgICAgICAgIExvY2FsIFN0b3Jh
Z2UgYW5kIGlmIHRoZXJlIGlzIGFuIGV4Y2VwdGlvbiBmb3IgdGhlIHNjaGVtZSBvZiB0aGUgcmVz
b3VyY2UgY3VycmVudGx5IGxvYWRlZAorICAgICAgICBpbnRvIHRoZSBGcmFtZS4KKyAgICAgICAg
KFdlYkNvcmU6OlN0b3JhZ2VBcmVhSW1wbDo6c2V0SXRlbSk6CisgICAgICAgIFJlbmFtZWQgcHJp
dmF0ZUJyb3dzaW5nRW5hYmxlZCAtPiBkaXNhYmxlZEJ5UHJpdmF0ZUJyb3dzaW5nSW5GcmFtZS4K
KyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VBcmVhSW1wbDo6cmVtb3ZlSXRlbSk6CisgICAgICAg
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZUFyZWFJbXBsOjpjbGVhcik6CisgICAg
ICAgIERpdHRvLgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZUFyZWFJbXBsLmg6CisKIDIwMTEt
MTEtMDQgIFRvciBBcm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgogCiAg
ICAgICAgIFtRdF0gUmVmYWN0b3IgYW5kIGNsZWFuIHVwIHRoZSBxbWFrZSBidWlsZCBzeXN0ZW0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYzkzNGQwNS4uNTMzZmNmZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4KQEAgLTM2Niw2ICszNjYsOCBAQCBfX1pON1dlYkNvcmUxNFNjaGVtZVJlZ2lzdHJ5MjRy
ZWdpc3RlclVSTFNjaGVtZUFzTG9jYWxFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUxNFNj
aGVtZVJlZ2lzdHJ5MjVyZWdpc3RlclVSTFNjaGVtZUFzU2VjdXJlRVJLTjNXVEY2U3RyaW5nRQog
X19aTjdXZWJDb3JlMTRTY2hlbWVSZWdpc3RyeTMycmVnaXN0ZXJVUkxTY2hlbWVBc0VtcHR5RG9j
dW1lbnRFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUxNFNjaGVtZVJlZ2lzdHJ5MzRzaG91
bGRMb2FkVVJMU2NoZW1lQXNFbXB0eURvY3VtZW50RVJLTjNXVEY2U3RyaW5nRQorX19aTjdXZWJD
b3JlMTRTY2hlbWVSZWdpc3RyeTUzcmVnaXN0ZXJVUkxTY2htZUFzSWdub3JpbmdQcml2YXRlQnJv
d3NpbmdGb3JEYXRhYmFzZXNFUktOM1dURjZTdHJpbmdFCitfX1pON1dlYkNvcmUxNFNjaGVtZVJl
Z2lzdHJ5NTZyZWdpc3RlclVSTFNjaG1lQXNJZ25vcmluZ1ByaXZhdGVCcm93c2luZ0ZvckxvY2Fs
U3RvcmFnZUVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTE0U2Nyb2xsYWJsZUFyZWExNmhh
bmRsZVdoZWVsRXZlbnRFUktOU18xOFBsYXRmb3JtV2hlZWxFdmVudEUKIF9fWk43V2ViQ29yZTE0
U2Nyb2xsYWJsZUFyZWExN3dpbGxFbmRMaXZlUmVzaXplRXYKIF9fWk43V2ViQ29yZTE0U2Nyb2xs
YWJsZUFyZWExOXdpbGxTdGFydExpdmVSZXNpemVFdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5k
ZXggMDBjNzI5Zi4uMTYwNGJkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0xMjIsNiAr
MTIyLDcgQEAKICNpbmNsdWRlICJSZW5kZXJUZXh0Q29udHJvbC5oIgogI2luY2x1ZGUgIlJlbmRl
clZpZXcuaCIKICNpbmNsdWRlICJSZW5kZXJXaWRnZXQuaCIKKyNpbmNsdWRlICJTY2hlbWVSZWdp
c3RyeS5oIgogI2luY2x1ZGUgIlNjb3BlZEV2ZW50UXVldWUuaCIKICNpbmNsdWRlICJTY3JpcHRD
YWxsU3RhY2suaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCkBAIC00NDY2LDcgKzQ0
NjcsNyBAQCB2b2lkIERvY3VtZW50OjpzZXRTZWN1cml0eU9yaWdpbihTZWN1cml0eU9yaWdpbiog
c2VjdXJpdHlPcmlnaW4pCiAKIGJvb2wgRG9jdW1lbnQ6OmFsbG93RGF0YWJhc2VBY2Nlc3MoKSBj
b25zdAogewotICAgIGlmICghcGFnZSgpIHx8IHBhZ2UoKS0+c2V0dGluZ3MoKS0+cHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZCgpKQorICAgIGlmICghcGFnZSgpIHx8IChwYWdlKCktPnNldHRpbmdzKCkt
PnByaXZhdGVCcm93c2luZ0VuYWJsZWQoKSAmJiAhU2NoZW1lUmVnaXN0cnk6OnNob3VsZElnbm9y
ZVByaXZhdGVCcm93c2luZ0ZvckRhdGFiYXNlcyhzZWN1cml0eU9yaWdpbigpLT5wcm90b2NvbCgp
KSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmNwcAppbmRleCA2MzRmNDU5Li4xNjA4ZTQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY2hlbWVSZWdpc3RyeS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuY3BwCkBAIC0xMTAs
NiArMTEwLDE4IEBAIHN0YXRpYyBVUkxTY2hlbWVzTWFwJiBub3RBbGxvd2luZ0phdmFzY3JpcHRV
UkxzU2NoZW1lcygpCiAgICAgcmV0dXJuIG5vdEFsbG93aW5nSmF2YXNjcmlwdFVSTHNTY2hlbWVz
OwogfQogCitzdGF0aWMgVVJMU2NoZW1lc01hcCYgc2NoZW1lc0lnbm9yaW5nUHJpdmF0ZUJyb3dz
aW5nRm9yRGF0YWJhc2VzKCkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFVSTFNjaGVtZXNN
YXAsIHNjaGVtZXNJZ25vcmluZ1ByaXZhdGVCcm93c2luZ0ZvckRhdGFiYXNlcywgKCkpOworICAg
IHJldHVybiBzY2hlbWVzSWdub3JpbmdQcml2YXRlQnJvd3NpbmdGb3JEYXRhYmFzZXM7Cit9CisK
K3N0YXRpYyBVUkxTY2hlbWVzTWFwJiBzY2hlbWVzSWdub3JpbmdQcml2YXRlQnJvd3NpbmdGb3JM
b2NhbFN0b3JhZ2UoKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoVVJMU2NoZW1lc01hcCwg
c2NoZW1lc0lnbm9yaW5nUHJpdmF0ZUJyb3dzaW5nRm9yTG9jYWxTdG9yYWdlLCAoKSk7CisgICAg
cmV0dXJuIHNjaGVtZXNJZ25vcmluZ1ByaXZhdGVCcm93c2luZ0ZvckxvY2FsU3RvcmFnZTsKK30K
Kwogdm9pZCBTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0xvY2FsKGNvbnN0IFN0
cmluZyYgc2NoZW1lKQogewogICAgIGxvY2FsVVJMU2NoZW1lcygpLmFkZChzY2hlbWUpOwpAQCAt
MjEwLDQgKzIyMiwyOCBAQCBib29sIFNjaGVtZVJlZ2lzdHJ5OjpzaG91bGRUcmVhdFVSTFNjaGVt
ZUFzTm90QWxsb3dpbmdKYXZhc2NyaXB0VVJMcyhjb25zdCBTdHJpbgogICAgIHJldHVybiBub3RB
bGxvd2luZ0phdmFzY3JpcHRVUkxzU2NoZW1lcygpLmNvbnRhaW5zKHNjaGVtZSk7CiB9CiAKK3Zv
aWQgU2NoZW1lUmVnaXN0cnk6OnJlZ2lzdGVyVVJMU2NobWVBc0lnbm9yaW5nUHJpdmF0ZUJyb3dz
aW5nRm9yTG9jYWxTdG9yYWdlKGNvbnN0IFN0cmluZyYgc2NoZW1lKQoreworICAgIHNjaGVtZXNJ
Z25vcmluZ1ByaXZhdGVCcm93c2luZ0ZvckxvY2FsU3RvcmFnZSgpLmFkZChzY2hlbWUpOworfQor
Citib29sIFNjaGVtZVJlZ2lzdHJ5OjpzaG91bGRJZ25vcmVQcml2YXRlQnJvd3NpbmdGb3JMb2Nh
bFN0b3JhZ2UoY29uc3QgU3RyaW5nJiBzY2hlbWUpCit7CisgICAgaWYgKHNjaGVtZS5pc0VtcHR5
KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gc2NoZW1lc0lnbm9yaW5nUHJp
dmF0ZUJyb3dzaW5nRm9yTG9jYWxTdG9yYWdlKCkuY29udGFpbnMoc2NoZW1lKTsKK30KKwordm9p
ZCBTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2htZUFzSWdub3JpbmdQcml2YXRlQnJvd3Np
bmdGb3JEYXRhYmFzZXMoY29uc3QgU3RyaW5nJiBzY2hlbWUpCit7CisgICAgc2NoZW1lc0lnbm9y
aW5nUHJpdmF0ZUJyb3dzaW5nRm9yRGF0YWJhc2VzKCkuYWRkKHNjaGVtZSk7Cit9CisKK2Jvb2wg
U2NoZW1lUmVnaXN0cnk6OnNob3VsZElnbm9yZVByaXZhdGVCcm93c2luZ0ZvckRhdGFiYXNlcyhj
b25zdCBTdHJpbmcmIHNjaGVtZSkKK3sKKyAgICBpZiAoc2NoZW1lLmlzRW1wdHkoKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBzY2hlbWVzSWdub3JpbmdQcml2YXRlQnJvd3Np
bmdGb3JEYXRhYmFzZXMoKS5jb250YWlucyhzY2hlbWUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY2hlbWVSZWdpc3Ry
eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuaAppbmRleCA4YjMz
MGEwLi42OTA0MGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY2hlbWVS
ZWdpc3RyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmgK
QEAgLTY4LDYgKzY4LDEzIEBAIHB1YmxpYzoKICAgICAvLyBib29rbWFya2xldHMgZnJvbSBydW5u
aW5nIG9uIHNlbnNpdGl2ZSBwYWdlcykuIAogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyVVJMU2No
ZW1lQXNOb3RBbGxvd2luZ0phdmFzY3JpcHRVUkxzKGNvbnN0IFN0cmluZyYgc2NoZW1lKTsKICAg
ICBzdGF0aWMgYm9vbCBzaG91bGRUcmVhdFVSTFNjaGVtZUFzTm90QWxsb3dpbmdKYXZhc2NyaXB0
VVJMcyhjb25zdCBTdHJpbmcmIHNjaGVtZSk7CisKKyAgICAvLyBMZXQgc29tZSBzY2hlbWVzIG9w
dC1vdXQgb2YgUHJpdmF0ZSBCcm93c2luZydzIGRlZmF1bHQgYmVoYXZpb3Igb2YgcHJvaGliaXRp
bmcgcmVhZC93cml0ZQorICAgIC8vIGFjY2VzcyB0byBMb2NhbCBTdG9yYWdlIGFuZCBEYXRhYmFz
ZXMuCisgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJVUkxTY2htZUFzSWdub3JpbmdQcml2YXRlQnJv
d3NpbmdGb3JMb2NhbFN0b3JhZ2UoY29uc3QgU3RyaW5nJiBzY2hlbWUpOworICAgIHN0YXRpYyBi
b29sIHNob3VsZElnbm9yZVByaXZhdGVCcm93c2luZ0ZvckxvY2FsU3RvcmFnZShjb25zdCBTdHJp
bmcmIHNjaGVtZSk7CisgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJVUkxTY2htZUFzSWdub3JpbmdQ
cml2YXRlQnJvd3NpbmdGb3JEYXRhYmFzZXMoY29uc3QgU3RyaW5nJiBzY2hlbWUpOworICAgIHN0
YXRpYyBib29sIHNob3VsZElnbm9yZVByaXZhdGVCcm93c2luZ0ZvckRhdGFiYXNlcyhjb25zdCBT
dHJpbmcmIHNjaGVtZSk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9TdG9yYWdlLmNwcAppbmRleCA2NzJlYTk3Li4zMzQ2OTE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvU3RvcmFnZS5jcHAKQEAgLTI4LDYgKzI4LDggQEAKIAogI2luY2x1ZGUgIkZyYW1lLmgiCiAj
aW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlNjaGVtZVJlZ2lzdHJ5LmgiCisjaW5jbHVkZSAi
U2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0b3Jh
Z2VBcmVhLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKQEAgLTU0LDcgKzU2LDcgQEAg
U3RvcmFnZTo6flN0b3JhZ2UoKQogCiB1bnNpZ25lZCBTdG9yYWdlOjpsZW5ndGgoKSBjb25zdAog
ewotICAgIGlmICghbV9mcmFtZSB8fCAhbV9mcmFtZS0+cGFnZSgpIHx8IG1fZnJhbWUtPnBhZ2Uo
KS0+c2V0dGluZ3MoKS0+cHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpKQorICAgIGlmICghbV9mcmFt
ZSB8fCAhbV9mcmFtZS0+cGFnZSgpIHx8IG1fc3RvcmFnZUFyZWEtPmRpc2FibGVkQnlQcml2YXRl
QnJvd3NpbmdJbkZyYW1lKG1fZnJhbWUpKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIHJldHVy
biBtX3N0b3JhZ2VBcmVhLT5sZW5ndGgobV9mcmFtZSk7CkBAIC02Miw3ICs2NCw3IEBAIHVuc2ln
bmVkIFN0b3JhZ2U6Omxlbmd0aCgpIGNvbnN0CiAKIFN0cmluZyBTdG9yYWdlOjprZXkodW5zaWdu
ZWQgaW5kZXgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX2ZyYW1lIHx8ICFtX2ZyYW1lLT5wYWdlKCkg
fHwgbV9mcmFtZS0+cGFnZSgpLT5zZXR0aW5ncygpLT5wcml2YXRlQnJvd3NpbmdFbmFibGVkKCkp
CisgICAgaWYgKCFtX2ZyYW1lIHx8ICFtX2ZyYW1lLT5wYWdlKCkgfHwgbV9zdG9yYWdlQXJlYS0+
ZGlzYWJsZWRCeVByaXZhdGVCcm93c2luZ0luRnJhbWUobV9mcmFtZSkpCiAgICAgICAgIHJldHVy
biBTdHJpbmcoKTsKIAogICAgIHJldHVybiBtX3N0b3JhZ2VBcmVhLT5rZXkoaW5kZXgsIG1fZnJh
bWUpOwpAQCAtNzAsNyArNzIsNyBAQCBTdHJpbmcgU3RvcmFnZTo6a2V5KHVuc2lnbmVkIGluZGV4
KSBjb25zdAogCiBTdHJpbmcgU3RvcmFnZTo6Z2V0SXRlbShjb25zdCBTdHJpbmcmIGtleSkgY29u
c3QKIHsKLSAgICBpZiAoIW1fZnJhbWUgfHwgIW1fZnJhbWUtPnBhZ2UoKSB8fCBtX2ZyYW1lLT5w
YWdlKCktPnNldHRpbmdzKCktPnByaXZhdGVCcm93c2luZ0VuYWJsZWQoKSkKKyAgICBpZiAoIW1f
ZnJhbWUgfHwgIW1fZnJhbWUtPnBhZ2UoKSB8fCBtX3N0b3JhZ2VBcmVhLT5kaXNhYmxlZEJ5UHJp
dmF0ZUJyb3dzaW5nSW5GcmFtZShtX2ZyYW1lKSkKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwog
CiAgICAgcmV0dXJuIG1fc3RvcmFnZUFyZWEtPmdldEl0ZW0oa2V5LCBtX2ZyYW1lKTsKQEAgLTEw
Myw3ICsxMDUsNyBAQCB2b2lkIFN0b3JhZ2U6OmNsZWFyKCkKIAogYm9vbCBTdG9yYWdlOjpjb250
YWlucyhjb25zdCBTdHJpbmcmIGtleSkgY29uc3QKIHsKLSAgICBpZiAoIW1fZnJhbWUgfHwgIW1f
ZnJhbWUtPnBhZ2UoKSB8fCBtX2ZyYW1lLT5wYWdlKCktPnNldHRpbmdzKCktPnByaXZhdGVCcm93
c2luZ0VuYWJsZWQoKSkKKyAgICBpZiAoIW1fZnJhbWUgfHwgIW1fZnJhbWUtPnBhZ2UoKSB8fCBt
X3N0b3JhZ2VBcmVhLT5kaXNhYmxlZEJ5UHJpdmF0ZUJyb3dzaW5nSW5GcmFtZShtX2ZyYW1lKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIG1fc3RvcmFnZUFyZWEtPmNvbnRh
aW5zKGtleSwgbV9mcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0
b3JhZ2VBcmVhLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhLmgKaW5kZXgg
NTlmZjY0NC4uZTJkMDgyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9y
YWdlQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWEuaApAQCAt
NTMsNiArNTMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgU3RyaW5n
IHJlbW92ZUl0ZW0oY29uc3QgU3RyaW5nJiBrZXksIEZyYW1lKiBzb3VyY2VGcmFtZSkgPSAwOwog
ICAgICAgICB2aXJ0dWFsIGJvb2wgY2xlYXIoRnJhbWUqIHNvdXJjZUZyYW1lKSA9IDA7CiAgICAg
ICAgIHZpcnR1YWwgYm9vbCBjb250YWlucyhjb25zdCBTdHJpbmcmIGtleSwgRnJhbWUqIHNvdXJj
ZUZyYW1lKSBjb25zdCA9IDA7CisKKyAgICAgICAgdmlydHVhbCBib29sIGRpc2FibGVkQnlQcml2
YXRlQnJvd3NpbmdJbkZyYW1lKGNvbnN0IEZyYW1lKiBzb3VyY2VGcmFtZSkgY29uc3QgPSAwOwog
ICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
U3RvcmFnZUFyZWFJbXBsLmNwcAppbmRleCAxMTUxODZjLi5kZDM2YWQzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhSW1wbC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYUltcGwuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5j
bHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiUGFn
ZS5oIgorI2luY2x1ZGUgIlNjaGVtZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0b3JhZ2VBcmVhU3luYy5o
IgpAQCAtOTgsNyArOTksNyBAQCBTdG9yYWdlQXJlYUltcGw6OlN0b3JhZ2VBcmVhSW1wbChTdG9y
YWdlQXJlYUltcGwqIGFyZWEpCiAgICAgQVNTRVJUKCFtX2lzU2h1dGRvd24pOwogfQogCi1zdGF0
aWMgYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkKEZyYW1lKiBmcmFtZSkKK2Jvb2wgU3RvcmFn
ZUFyZWFJbXBsOjpkaXNhYmxlZEJ5UHJpdmF0ZUJyb3dzaW5nSW5GcmFtZShjb25zdCBGcmFtZSog
ZnJhbWUpIGNvbnN0CiB7CiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCiAgICAgLy8gVGhlIGZyYW1l
IHBvaW50ZXIgY2FuIGJlIE5VTEwgaW4gQ2hyb21pdW0gc2luY2UgdGhpcyBjYWxsIGlzIG1hZGUg
aW4gYSBkaWZmZXJlbnQKQEAgLTEwNyw3ICsxMDgsMTEgQEAgc3RhdGljIGJvb2wgcHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZChGcmFtZSogZnJhbWUpCiAgICAgQVNTRVJUKCFmcmFtZSk7CiAgICAgcmV0
dXJuIGZhbHNlOwogI2Vsc2UKLSAgICByZXR1cm4gZnJhbWUtPnBhZ2UoKSAmJiBmcmFtZS0+cGFn
ZSgpLT5zZXR0aW5ncygpLT5wcml2YXRlQnJvd3NpbmdFbmFibGVkKCk7CisgICAgaWYgKCFmcmFt
ZS0+cGFnZSgpIHx8ICFmcmFtZS0+cGFnZSgpLT5zZXR0aW5ncygpLT5wcml2YXRlQnJvd3NpbmdF
bmFibGVkKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAobV9zdG9yYWdlVHlwZSAh
PSBMb2NhbFN0b3JhZ2UpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiAhU2NoZW1l
UmVnaXN0cnk6OnNob3VsZElnbm9yZVByaXZhdGVCcm93c2luZ0ZvckxvY2FsU3RvcmFnZShmcmFt
ZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+cHJvdG9jb2woKSk7CiAjZW5kaWYKIH0K
IApAQCAtMTQxLDcgKzE0Niw3IEBAIFN0cmluZyBTdG9yYWdlQXJlYUltcGw6OnNldEl0ZW0oY29u
c3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUsIEV4Y2VwdGlvCiAgICAgQVNTRVJU
KCF2YWx1ZS5pc051bGwoKSk7CiAgICAgYmxvY2tVbnRpbEltcG9ydENvbXBsZXRlKCk7CiAKLSAg
ICBpZiAocHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChmcmFtZSkpIHsKKyAgICBpZiAoZGlzYWJsZWRC
eVByaXZhdGVCcm93c2luZ0luRnJhbWUoZnJhbWUpKSB7CiAgICAgICAgIGVjID0gUVVPVEFfRVhD
RUVERURfRVJSOwogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgfQpAQCAtMTcxLDcgKzE3
Niw3IEBAIFN0cmluZyBTdG9yYWdlQXJlYUltcGw6OnJlbW92ZUl0ZW0oY29uc3QgU3RyaW5nJiBr
ZXksIEZyYW1lKiBmcmFtZSkKICAgICBBU1NFUlQoIW1faXNTaHV0ZG93bik7CiAgICAgYmxvY2tV
bnRpbEltcG9ydENvbXBsZXRlKCk7CiAKLSAgICBpZiAocHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChm
cmFtZSkpCisgICAgaWYgKGRpc2FibGVkQnlQcml2YXRlQnJvd3NpbmdJbkZyYW1lKGZyYW1lKSkK
ICAgICAgICAgcmV0dXJuIFN0cmluZygpOwogCiAgICAgU3RyaW5nIG9sZFZhbHVlOwpAQCAtMTkz
LDcgKzE5OCw3IEBAIGJvb2wgU3RvcmFnZUFyZWFJbXBsOjpjbGVhcihGcmFtZSogZnJhbWUpCiAg
ICAgQVNTRVJUKCFtX2lzU2h1dGRvd24pOwogICAgIGJsb2NrVW50aWxJbXBvcnRDb21wbGV0ZSgp
OwogCi0gICAgaWYgKHByaXZhdGVCcm93c2luZ0VuYWJsZWQoZnJhbWUpKQorICAgIGlmIChkaXNh
YmxlZEJ5UHJpdmF0ZUJyb3dzaW5nSW5GcmFtZShmcmFtZSkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgIGlmICghbV9zdG9yYWdlTWFwLT5sZW5ndGgoKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL1N0b3JhZ2VBcmVhSW1wbC5oCmluZGV4IGZkYTZkNTUuLjc5YjI3ZDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFJbXBsLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYUltcGwuaApAQCAtNTEsNiArNTEsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBjbGVhcihGcmFtZSogc291cmNlRnJh
bWUpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgY29udGFpbnMoY29uc3QgU3RyaW5nJiBrZXksIEZy
YW1lKiBzb3VyY2VGcmFtZSkgY29uc3Q7CiAKKyAgICAgICAgdmlydHVhbCBib29sIGRpc2FibGVk
QnlQcml2YXRlQnJvd3NpbmdJbkZyYW1lKGNvbnN0IEZyYW1lKiBzb3VyY2VGcmFtZSkgY29uc3Q7
CisKICAgICAgICAgUGFzc1JlZlB0cjxTdG9yYWdlQXJlYUltcGw+IGNvcHkoKTsKICAgICAgICAg
dm9pZCBjbG9zZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDFkODk3NzMuLmM0
NWYyOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEt
MTEtMDYgIEplc3NpZSBCZXJsaW4gIDxqYmVybGluQGFwcGxlLmNvbT4KKworICAgICAgICBOZWVk
IGEgd2F5IHRvIGFsbG93IGEgc2NoZW1lIGFjY2VzcyB0byBMb2NhbCBTdG9yYWdlIGFuZCBEYXRh
YmFzZXMgd2hpbGUgUHJpdmF0ZSBCcm93c2luZyBpcworICAgICAgICBlbmFibGVkLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE2MzEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9TdG9yYWdlQXJl
YVByb3h5Lmg6CisgICAgICAgIChXZWJDb3JlOjpTdG9yYWdlQXJlYVByb3h5OjpkaXNhYmxlZEJ5
UHJpdmF0ZUJyb3dzaW5nSW5GcmFtZSk6CisgICAgICAgIENocm9taXVtIHVzZXMgYSBkaWZmZXJl
bnQgbWV0aG9kIHRvIHRyYWNrIGl0cyBpY29nbml0byBtb2RlLCBzbyBhbHdheXMgcmV0dXJuIGZh
bHNlLgorCiAyMDExLTExLTAyICBYaWFvbWVpIEppICA8eGppQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBFbmFibGUgY3RybC1hcnJvdyBtb3ZlIGN1cnNvciBieSB3b3JkIGluIHZpc3VhbCBvcmRl
ciBpbiBjci13aW4gYnkgY29tbWFuZCBsaW5lIGZsYWcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9TdG9yYWdlQXJlYVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9TdG9yYWdlQXJlYVByb3h5LmgKaW5kZXggNGJlN2M5Yi4uMjk0OWE1MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvU3RvcmFnZUFyZWFQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1N0b3JhZ2VBcmVhUHJveHkuaApAQCAtNDksNiAr
NDksOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGNsZWFyKEZyYW1lKiBzb3VyY2VGcmFt
ZSk7CiAgICAgdmlydHVhbCBib29sIGNvbnRhaW5zKGNvbnN0IFN0cmluZyYga2V5LCBGcmFtZSog
c291cmNlRnJhbWUpIGNvbnN0OwogCisgICAgdmlydHVhbCBib29sIGRpc2FibGVkQnlQcml2YXRl
QnJvd3NpbmdJbkZyYW1lKGNvbnN0IEZyYW1lKikgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKwog
cHJpdmF0ZToKICAgICB2b2lkIHN0b3JhZ2VFdmVudChjb25zdCBTdHJpbmcmIGtleSwgY29uc3Qg
U3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgU3RyaW5nJiBuZXdWYWx1ZSwgU3RvcmFnZVR5cGUsIFNl
Y3VyaXR5T3JpZ2luKiwgRnJhbWUqIHNvdXJjZUZyYW1lKTsKICAgICBib29sIGNhbkFjY2Vzc1N0
b3JhZ2UoRnJhbWUqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAxMjY5MGExLi5iNzczZWZm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMTEtMDYgIEplc3NpZSBC
ZXJsaW4gIDxqYmVybGluQGFwcGxlLmNvbT4KKworICAgICAgICBOZWVkIGEgd2F5IHRvIGFsbG93
IGEgc2NoZW1lIGFjY2VzcyB0byBMb2NhbCBTdG9yYWdlIGFuZCBEYXRhYmFzZXMgd2hpbGUgUHJp
dmF0ZSBCcm93c2luZyBpcworICAgICAgICBlbmFibGVkLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE2MzEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgV2ViS2l0MSBBUEkgdG8gcmVnaXN0ZXIgYSBz
Y2hlbWUgYXMgaWdub3JpbmcgUHJpdmF0ZSBCcm93c2luZyBmb3IgTG9jYWwgU3RvcmFnZSBhbmQK
KyAgICAgICAgRGF0YWJhc2VzLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAg
ICAgICAoK1tXZWJWaWV3IF9yZWdpc3RlclVSTFNjaG1lQXNJZ25vcmluZ1ByaXZhdGVCcm93c2lu
Z0ZvckxvY2FsU3RvcmFnZTpdKToKKyAgICAgICAgQ2FsbCB0aHJvdWdoIHRvIHRoZSBTY2hlbWVS
ZWdpc3RyeSBmdW5jdGlvbi4KKyAgICAgICAgKCtbV2ViVmlldyBfcmVnaXN0ZXJVUkxTY2htZUFz
SWdub3JpbmdQcml2YXRlQnJvd3NpbmdGb3JEYXRhYmFzZXM6XSk6CisgICAgICAgIERpdHRvLgor
ICAgICAgICAqIFdlYlZpZXcvV2ViVmlld1ByaXZhdGUuaDoKKwogMjAxMS0xMS0wMyAgTWFyayBI
YWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgogCiAgICAgICAgIERlLXZpcnR1YWxp
emUgSlNPYmplY3Q6OmdldFByb3BlcnR5TmFtZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQppbmRleCBjOGRiNWNiLi41Mjc2Njc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCkBAIC0yNjQxLDYgKzI2NDEsMTYgQEAgKyAodm9pZClfcmVnaXN0ZXJVUkxTY2hlbWVB
c1NlY3VyZTooTlNTdHJpbmcgKilzY2hlbWUKICAgICBTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJV
UkxTY2hlbWVBc1NlY3VyZShzY2hlbWUpOwogfQogCisrICh2b2lkKV9yZWdpc3RlclVSTFNjaG1l
QXNJZ25vcmluZ1ByaXZhdGVCcm93c2luZ0ZvckxvY2FsU3RvcmFnZTooTlNTdHJpbmcgKilzY2hl
bWUKK3sKKyAgICBTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2htZUFzSWdub3JpbmdQcml2
YXRlQnJvd3NpbmdGb3JMb2NhbFN0b3JhZ2Uoc2NoZW1lKTsKK30KKworKyAodm9pZClfcmVnaXN0
ZXJVUkxTY2htZUFzSWdub3JpbmdQcml2YXRlQnJvd3NpbmdGb3JEYXRhYmFzZXM6KE5TU3RyaW5n
ICopc2NoZW1lCit7CisgICAgU2NoZW1lUmVnaXN0cnk6OnJlZ2lzdGVyVVJMU2NobWVBc0lnbm9y
aW5nUHJpdmF0ZUJyb3dzaW5nRm9yRGF0YWJhc2VzKHNjaGVtZSk7Cit9CisKIC0gKHZvaWQpX3Nj
YWxlV2ViVmlldzooZmxvYXQpc2NhbGUgYXRPcmlnaW46KE5TUG9pbnQpb3JpZ2luCiB7CiAgICAg
X3ByaXZhdGUtPnBhZ2UtPnNldFBhZ2VTY2FsZUZhY3RvcihzY2FsZSwgSW50UG9pbnQob3JpZ2lu
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgKaW5kZXggZDY2
MmIxNy4uMTA3OWE2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld1ByaXZh
dGUuaApAQCAtNTQzLDYgKzU0Myw4IEBAIENvdWxkIGJlIHdvcnRoIGFkZGluZyB0byB0aGUgQVBJ
LgogCiArICh2b2lkKV9zZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuOihCT09MKWZvcmJpZGRl
biBmb3JVUkxTY2hlbWU6KE5TU3RyaW5nICopc2NoZW1lOwogKyAodm9pZClfcmVnaXN0ZXJVUkxT
Y2hlbWVBc1NlY3VyZTooTlNTdHJpbmcgKilzY2hlbWU7CisrICh2b2lkKV9yZWdpc3RlclVSTFNj
aG1lQXNJZ25vcmluZ1ByaXZhdGVCcm93c2luZ0ZvckxvY2FsU3RvcmFnZTooTlNTdHJpbmcgKilz
Y2hlbWU7CisrICh2b2lkKV9yZWdpc3RlclVSTFNjaG1lQXNJZ25vcmluZ1ByaXZhdGVCcm93c2lu
Z0ZvckRhdGFiYXNlczooTlNTdHJpbmcgKilzY2hlbWU7CiAKIC0gKHZvaWQpX3NjYWxlV2ViVmll
dzooZmxvYXQpc2NhbGUgYXRPcmlnaW46KE5TUG9pbnQpb3JpZ2luOwogLSAoZmxvYXQpX3ZpZXdT
Y2FsZUZhY3RvcjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>