<?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>58463</bug_id>
          
          <creation_ts>2011-04-13 11:37:32 -0700</creation_ts>
          <short_desc>Switch HTTP pipelining from user default to private setting</short_desc>
          <delta_ts>2011-04-17 21:07:22 -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>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>ap</cc>
    
    <cc>joepeck</cc>
    
    <cc>koivisto</cc>
    
    <cc>mitz</cc>
    
    <cc>psolanki</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>385057</commentid>
    <comment_count>0</comment_count>
      <attachid>89413</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2011-04-13 11:37:32 -0700</bug_when>
    <thetext>Created attachment 89413
Patch

Reviewed by NOBODY (OOPS!).

This replaces support for the WebKitEnableHTTPPipelining user
default with methods on the WebCore::Setting C++ class and
the WebPreference Objective-C class.  It also removes support
for the WebKitForceHTTPPipeliningPriorityHigh user default which
was not needed.

Source/WebCore:

Run these commands if you set the user defaults previously,
replacing &quot;BUNDLE.ID&quot; with your application&apos;s bundle ID:

defaults delete BUNDLE.ID WebKitEnableHTTPPipelining
defaults delete BUNDLE.ID WebKitForceHTTPPipeliningPriorityHigh

* WebCore.exp.in: Export Settings::httpPipeliningEnabled() and
Settings::setHTTPPipeliningEnabled().
* page/Settings.cpp:
(WebCore::Settings::gHTTPPipeliningEnabled): Added.
(WebCore::Settings::setHTTPPipeliningEnabled): Added.
(WebCore::Settings::httpPipeliningEnabled): Added.
* page/Settings.h:
(WebCore::Settings::setHTTPPipeliningEnabled): Added declaration.
(WebCore::Settings::httpPipeliningEnabled): Added declaration.
(WebCore::Settings::gHTTPPipeliningEnabled): Added declaration.
* platform/network/ResourceRequestBase.h:
(WebCore::isHTTPPipeliningEnabled): Removed declaration.
(WebCore::shouldForceHTTPPipeliningPriorityHigh): Removed declaration.
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::initializeMaximumHTTPConnectionCountPerHost): Switched
to using Settings::httpPipeliningEnabled().
(WebCore::readBooleanPreference): Removed.
(WebCore::isHTTPPipeliningEnabled): Removed.
(WebCore::shouldForceHTTPPipeliningPriorityHigh): Removed.
* platform/network/mac/ResourceRequestMac.mm:
(WebCore::ResourceRequest::doUpdateResourceRequest): Switched to
using Settings::httpPipeliningEnabled().  Removed check for
shouldForceHTTPPipeliningPriorityHigh().
(WebCore::ResourceRequest::doUpdatePlatformRequest): Ditto.

Source/WebKit/mac:

* WebView/WebPreferences.mm:
(+[WebPreferences httpPipeliningEnabled]): Added.
(+[WebPreferences setHTTPPipeliningEnabled:]): Added.
* WebView/WebPreferencesPrivate.h:
(+[WebPreferences httpPipeliningEnabled]): Added declaration.
(+[WebPreferences setHTTPPipeliningEnabled:]): Added declaration.

Source/WebKit2:

* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetHTTPPipeliningEnabled): Added.
(WKPreferencesGetHTTPPipeliningEnabled): Added.
* UIProcess/API/C/WKPreferencesPrivate.h:
(WKPreferencesSetHTTPPipeliningEnabled): Added declaration.
(WKPreferencesGetHTTPPipeliningEnabled): Added declaration.
---
 13 files changed, 133 insertions(+), 33 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385062</commentid>
    <comment_count>1</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2011-04-13 11:38:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/9268729&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385064</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-13 11:39:44 -0700</bug_when>
    <thetext>Attachment 89413 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebKit2/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Source/WebKit/mac/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Source/WebCore/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Total errors found: 3 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385495</commentid>
    <comment_count>3</comment_count>
      <attachid>89413</attachid>
    <who name="">mitz</who>
    <bug_when>2011-04-13 21:31:28 -0700</bug_when>
    <thetext>Comment on attachment 89413
Patch

Even though there is precedent for static members in Settings, I don’t think it’s a good idea to add more. The same goes for class methods on WebPreferences. This sort of global setting, when absolutely necessary, should be a WebView class method. In WebKit2, this is probably something that should be set on a context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385650</commentid>
    <comment_count>4</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2011-04-14 04:54:06 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 89413 [details])
&gt; Even though there is precedent for static members in Settings, I don’t think it’s a good idea to add more. The same goes for class methods on WebPreferences. This sort of global setting, when absolutely necessary, should be a WebView class method. In WebKit2, this is probably something that should be set on a context.

It&apos;s easy enough to move the static methods to the WebView class, but what object should back the settings in WebCore?  ResourceRequestCFNet.cpp makes the most sense, I guess, since that&apos;s where it&apos;s used.

Is there an example of a static setting on a context in WebKit2 that I can use as an example?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387199</commentid>
    <comment_count>5</comment_count>
      <attachid>89914</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2011-04-15 22:03:06 -0700</bug_when>
    <thetext>Created attachment 89914
Patch v2

Changes since v1:

- Moved static variable and getter/setter methods from Settings to ResourceRequest.
- Moved WebKit1 methods from WebPreferences to WebView.
- Moved WebKit2 methods from WKPreferences to WebContext.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387200</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-15 22:04:42 -0700</bug_when>
    <thetext>Attachment 89914 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebKit2/UIProcess/WebContext.h:175:  The parameter name &quot;enabled&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387253</commentid>
    <comment_count>7</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-04-16 04:44:03 -0700</bug_when>
    <thetext>Attachment 89914 did not build on qt:
Build output: http://queues.webkit.org/results/8436462</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387266</commentid>
    <comment_count>8</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2011-04-16 11:14:42 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Attachment 89914 [details] did not build on qt:
&gt; Build output: http://queues.webkit.org/results/8436462

Fixed locally:


diff --git a/Source/WebKit2/UIProcess/WebContext.cpp b/Source/WebKit2/UIProcess/WebContext.cpp
index 2b58357..948ef14 100644
--- a/Source/WebKit2/UIProcess/WebContext.cpp
+++ b/Source/WebKit2/UIProcess/WebContext.cpp
@@ -751,12 +751,18 @@ String WebContext::localStorageDirectory() const
 
 void WebContext::setHttpPipeliningEnabled(bool enabled)
 {
+#if PLATFORM(MAC)
     ResourceRequest::setHttpPipeliningEnabled(enabled);
+#endif
 }
 
 bool WebContext::httpPipeliningEnabled()
 {
+#if PLATFORM(MAC)
     return ResourceRequest::httpPipeliningEnabled();
+#else
+    return false;
+#endif
 }
 
 } // namespace WebKit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387268</commentid>
    <comment_count>9</comment_count>
      <attachid>89927</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2011-04-16 11:16:58 -0700</bug_when>
    <thetext>Created attachment 89927
Patch v3

Fixed Qt build failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387269</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-16 11:19:09 -0700</bug_when>
    <thetext>Attachment 89927 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebKit2/UIProcess/WebContext.h:175:  The parameter name &quot;enabled&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387272</commentid>
    <comment_count>11</comment_count>
      <attachid>89927</attachid>
    <who name="">mitz</who>
    <bug_when>2011-04-16 11:27:29 -0700</bug_when>
    <thetext>Comment on attachment 89927
Patch v3

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

Did you forget to add the WKContext API for this? r- because of naming issues.

&gt; Source/WebCore/platform/network/cf/ResourceRequest.h:92
&gt; +        static void setHttpPipeliningEnabled(bool flag);

“flag” is redundant. HTTP should be all-uppercase.

&gt; Source/WebKit/mac/WebView/WebView.mm:2831
&gt; ++ (BOOL)_httpPipeliningEnabled

HTTP should be all-uppercase

&gt; Source/WebKit/mac/WebView/WebView.mm:2836
&gt; ++ (void)_setHttpPipeliningEnabled:(BOOL)enabled

HTTP should be all-uppercase

&gt; Source/WebKit2/UIProcess/WebContext.cpp:752
&gt; +void WebContext::setHttpPipeliningEnabled(bool enabled)

HTTP should be all-uppercase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387487</commentid>
    <comment_count>12</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2011-04-17 18:13:12 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 89927 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=89927&amp;action=review
&gt; 
&gt; Did you forget to add the WKContext API for this?

What is the relationship of WKContext to WebContext in WebKit2?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387489</commentid>
    <comment_count>13</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-04-17 18:24:33 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; (From update of attachment 89927 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=89927&amp;action=review
&gt; &gt; 
&gt; &gt; Did you forget to add the WKContext API for this?
&gt; 
&gt; What is the relationship of WKContext to WebContext in WebKit2?

WKContext is the API form of WebContext. Clients can’t call WebContext functions, so there would need to be functions like WKContextSetHTTPPipeliningEnabled(WKContextRef contextRef, … enabled).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387495</commentid>
    <comment_count>14</comment_count>
      <attachid>89981</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2011-04-17 19:00:06 -0700</bug_when>
    <thetext>Created attachment 89981
Patch v4

Changes since Patch v3:

- Addressed issues in Comment #11 (Patch v3 review), including adding a method to WKContext.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387498</commentid>
    <comment_count>15</comment_count>
      <attachid>89981</attachid>
    <who name="">mitz</who>
    <bug_when>2011-04-17 19:08:34 -0700</bug_when>
    <thetext>Comment on attachment 89981
Patch v4

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

&gt; Source/WebKit2/UIProcess/API/C/WKContextPrivate.h:69
&gt; +WK_EXPORT void _WKContextSetHTTPPipeliningEnabled(WKContextRef, bool);

In a C API header, the parameters should be named.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387516</commentid>
    <comment_count>16</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2011-04-17 21:07:22 -0700</bug_when>
    <thetext>Committed r84120: &lt;http://trac.webkit.org/changeset/84120&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89413</attachid>
            <date>2011-04-13 11:37:32 -0700</date>
            <delta_ts>2011-04-15 22:03:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>20110413113730.patch</filename>
            <type>text/plain</type>
            <size>15581</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODM0NDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzM2ZlZTM2NjEyNjM1OWM2
YjU0MDc3MjhlNGZhZDZlNWVlZTQ5MmUzLi41MzkzYjBiOGEwMTRlMGYzY2QwN2JiOTBmYWU3YTJk
OTdkMzcxYmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMTEtMDQtMTMgIERhdmlk
IEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
OTI2ODcyOT4gU3dpdGNoIEhUVFAgcGlwZWxpbmluZyBmcm9tIHVzZXIgZGVmYXVsdCB0byBXZWJQ
cmVmZXJlbmNlcyBzZXR0aW5nCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhpcyByZXBsYWNlcyBzdXBwb3J0IGZvciB0aGUgV2ViS2l0RW5hYmxlSFRU
UFBpcGVsaW5pbmcgdXNlcgorICAgICAgICBkZWZhdWx0IHdpdGggbWV0aG9kcyBvbiB0aGUgV2Vi
Q29yZTo6U2V0dGluZyBDKysgY2xhc3MgYW5kCisgICAgICAgIHRoZSBXZWJQcmVmZXJlbmNlIE9i
amVjdGl2ZS1DIGNsYXNzLiAgSXQgYWxzbyByZW1vdmVzIHN1cHBvcnQKKyAgICAgICAgZm9yIHRo
ZSBXZWJLaXRGb3JjZUhUVFBQaXBlbGluaW5nUHJpb3JpdHlIaWdoIHVzZXIgZGVmYXVsdCB3aGlj
aAorICAgICAgICB3YXMgbm90IG5lZWRlZC4KKworICAgICAgICBSdW4gdGhlc2UgY29tbWFuZHMg
aWYgeW91IHNldCB0aGUgdXNlciBkZWZhdWx0cyBwcmV2aW91c2x5LAorICAgICAgICByZXBsYWNp
bmcgIkJVTkRMRS5JRCIgd2l0aCB5b3VyIGFwcGxpY2F0aW9uJ3MgYnVuZGxlIElEOgorCisgICAg
ICAgICAgICBkZWZhdWx0cyBkZWxldGUgQlVORExFLklEIFdlYktpdEVuYWJsZUhUVFBQaXBlbGlu
aW5nCisgICAgICAgICAgICBkZWZhdWx0cyBkZWxldGUgQlVORExFLklEIFdlYktpdEZvcmNlSFRU
UFBpcGVsaW5pbmdQcmlvcml0eUhpZ2gKKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOiBFeHBv
cnQgU2V0dGluZ3M6Omh0dHBQaXBlbGluaW5nRW5hYmxlZCgpIGFuZAorICAgICAgICBTZXR0aW5n
czo6c2V0SFRUUFBpcGVsaW5pbmdFbmFibGVkKCkuCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6Z0hUVFBQaXBlbGluaW5nRW5hYmxlZCk6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEhUVFBQaXBlbGluaW5nRW5h
YmxlZCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6Omh0dHBQaXBlbGluaW5n
RW5hYmxlZCk6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlNldHRpbmdzOjpzZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWQpOiBBZGRlZCBkZWNsYXJh
dGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpodHRwUGlwZWxpbmluZ0VuYWJsZWQp
OiBBZGRlZCBkZWNsYXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpnSFRUUFBp
cGVsaW5pbmdFbmFibGVkKTogQWRkZWQgZGVjbGFyYXRpb24uCisgICAgICAgICogcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjppc0hUVFBQ
aXBlbGluaW5nRW5hYmxlZCk6IFJlbW92ZWQgZGVjbGFyYXRpb24uCisgICAgICAgIChXZWJDb3Jl
OjpzaG91bGRGb3JjZUhUVFBQaXBlbGluaW5nUHJpb3JpdHlIaWdoKTogUmVtb3ZlZCBkZWNsYXJh
dGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmluaXRpYWxpemVNYXhpbXVtSFRUUENvbm5lY3Rpb25D
b3VudFBlckhvc3QpOiBTd2l0Y2hlZAorICAgICAgICB0byB1c2luZyBTZXR0aW5nczo6aHR0cFBp
cGVsaW5pbmdFbmFibGVkKCkuCisgICAgICAgIChXZWJDb3JlOjpyZWFkQm9vbGVhblByZWZlcmVu
Y2UpOiBSZW1vdmVkLgorICAgICAgICAoV2ViQ29yZTo6aXNIVFRQUGlwZWxpbmluZ0VuYWJsZWQp
OiBSZW1vdmVkLgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkRm9yY2VIVFRQUGlwZWxpbmluZ1By
aW9yaXR5SGlnaCk6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUmVz
b3VyY2VSZXF1ZXN0TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojpk
b1VwZGF0ZVJlc291cmNlUmVxdWVzdCk6IFN3aXRjaGVkIHRvCisgICAgICAgIHVzaW5nIFNldHRp
bmdzOjpodHRwUGlwZWxpbmluZ0VuYWJsZWQoKS4gIFJlbW92ZWQgY2hlY2sgZm9yCisgICAgICAg
IHNob3VsZEZvcmNlSFRUUFBpcGVsaW5pbmdQcmlvcml0eUhpZ2goKS4KKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdDo6ZG9VcGRhdGVQbGF0Zm9ybVJlcXVlc3QpOiBEaXR0by4KKwog
MjAxMS0wNC0xMSAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmlu
ZGV4IDFlNjJhNTFlMmY2NGY1ZDA5OTY1MTdiZmI3MTQ2NTQ3YTZlZmM2NTAuLjM1MzgwNjUzNTM1
YmUxMWQ1MDdiYTc3YjFkMDkyNmNiOWYzOTc5ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC04
NDcsNiArODQ3LDcgQEAgX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRDdXJzaXZlRm9udEZhbWls
eUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldEZhbnRh
c3lGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UKIF9fWk43V2ViQ29yZThTZXR0aW5n
czIwc2V0SmF2YVNjcmlwdEVuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRYU1NB
dWRpdG9yRW5hYmxlZEViCitfX1pON1dlYkNvcmU4U2V0dGluZ3MyMWh0dHBQaXBlbGluaW5nRW5h
YmxlZEV2CiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFNob3dSZXBhaW50Q291bnRlckViCiBf
X1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFN0YW5kYXJkRm9udEZhbWlseUVSS04zV1RGMTJBdG9t
aWNTdHJpbmdFCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFdlYlNlY3VyaXR5RW5hYmxlZEVi
CkBAIC04NjMsNiArODY0LDcgQEAgX19aTjdXZWJDb3JlOFNldHRpbmdzMjNzZXRQbHVnaW5BbGxv
d2VkUnVuVGltZUVqCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyM3NldFVzZXNFbmNvZGluZ0RldGVj
dG9yRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczI0c2V0QXBwbGljYXRpb25DaHJvbWVNb2RlRWIK
IF9fWk43V2ViQ29yZThTZXR0aW5nczI0c2V0RE5TUHJlZmV0Y2hpbmdFbmFibGVkRWIKK19fWk43
V2ViQ29yZThTZXR0aW5nczI0c2V0SFRUUFBpcGVsaW5pbmdFbmFibGVkRWIKIF9fWk43V2ViQ29y
ZThTZXR0aW5nczI0c2V0VGV4dEFyZWFzQXJlUmVzaXphYmxlRWIKIF9fWk43V2ViQ29yZThTZXR0
aW5nczI1c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3My
NXNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWRFYgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAppbmRl
eCAyMThjYjFiNTU4ODdmODFjMmI1MDM1MGU2MTM1OGJhMDQyZWJkYWExLi4zNzQ4MWY3ZGEzMTMx
OTRhZjMwZTlhZTdjMDJiZGRmNjFiNjlmOGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcApA
QCAtNTEsNiArNTEsOCBAQCBzdGF0aWMgdm9pZCBzZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlJ
bkFsbEZyYW1lcyhQYWdlKiBwYWdlKQogICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+Y2FjaGVk
UmVzb3VyY2VMb2FkZXIoKS0+c2V0QXV0b0xvYWRJbWFnZXMocGFnZS0+c2V0dGluZ3MoKS0+bG9h
ZHNJbWFnZXNBdXRvbWF0aWNhbGx5KCkpOwogfQogCitib29sIFNldHRpbmdzOjpnSFRUUFBpcGVs
aW5pbmdFbmFibGVkID0gZmFsc2U7CisKICNpZiBVU0UoU0FGQVJJX1RIRU1FKQogYm9vbCBTZXR0
aW5nczo6Z1Nob3VsZFBhaW50TmF0aXZlQ29udHJvbHMgPSB0cnVlOwogI2VuZGlmCkBAIC03MjMs
NCArNzI1LDE0IEBAIHZvaWQgU2V0dGluZ3M6OnNldFRpbGVkQmFja2luZ1N0b3JlRW5hYmxlZChi
b29sIGVuYWJsZWQpCiAjZW5kaWYKIH0KIAordm9pZCBTZXR0aW5nczo6c2V0SFRUUFBpcGVsaW5p
bmdFbmFibGVkKGJvb2wgZmxhZykKK3sKKyAgICBnSFRUUFBpcGVsaW5pbmdFbmFibGVkID0gZmxh
ZzsKK30KKworYm9vbCBTZXR0aW5nczo6aHR0cFBpcGVsaW5pbmdFbmFibGVkKCkKK3sKKyAgICBy
ZXR1cm4gZ0hUVFBQaXBlbGluaW5nRW5hYmxlZDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IGNhYjllYmM1YTBjYzJhNjY0ZjRkOGIxMmE4YjQx
NjRkYzM4OTJlZjcuLjAyY2YyZDc1NTgxMzc4NWM1OWYxNzM4NjEzY2I0YzVlMDBhMDhhMzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTM3NCw2ICszNzQsOSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIHZvaWQgc2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoYm9vbCBmbGFnKSB7
IG1fdXNlUHJlSFRNTDVQYXJzZXJRdWlya3MgPSBmbGFnOyB9CiAgICAgICAgIGJvb2wgdXNlUHJl
SFRNTDVQYXJzZXJRdWlya3MoKSBjb25zdCB7IHJldHVybiBtX3VzZVByZUhUTUw1UGFyc2VyUXVp
cmtzOyB9CiAKKyAgICAgICAgc3RhdGljIHZvaWQgc2V0SFRUUFBpcGVsaW5pbmdFbmFibGVkKGJv
b2wgZmxhZyk7CisgICAgICAgIHN0YXRpYyBib29sIGh0dHBQaXBlbGluaW5nRW5hYmxlZCgpOwor
CiAgICAgICAgIHZvaWQgc2V0SHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkKGJvb2wgZmxhZykgeyBt
X2h5cGVybGlua0F1ZGl0aW5nRW5hYmxlZCA9IGZsYWc7IH0KICAgICAgICAgYm9vbCBoeXBlcmxp
bmtBdWRpdGluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2h5cGVybGlua0F1ZGl0aW5nRW5h
YmxlZDsgfQogCkBAIC00OTIsNiArNDk1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBib29sIG1fZm9yY2VDb21wb3NpdGluZ01vZGUgOiAxOwogICAgICAgICBib29sIG1fc2hvdWxk
SW5qZWN0VXNlclNjcmlwdHNJbkluaXRpYWxFbXB0eURvY3VtZW50IDogMTsKIAorICAgICAgICBz
dGF0aWMgYm9vbCBnSFRUUFBpcGVsaW5pbmdFbmFibGVkOwogI2lmIFVTRShTQUZBUklfVEhFTUUp
CiAgICAgICAgIHN0YXRpYyBib29sIGdTaG91bGRQYWludE5hdGl2ZUNvbnRyb2xzOwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVx
dWVzdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1
ZXN0QmFzZS5oCmluZGV4IGQ1YzM5Njg0MGI1ZGU0NjMxNmE5MjE5ZGQzZGM0ZjcwOTc5OGJmOTgu
LjUzZTExNjA4NmYyMGU3YTk5MzM3YWNiMTBiNTNmODgwOTdiN2Y4ZWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCkBA
IC0yNDEsMTQgKzI0MSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKICAgICB1bnNpZ25l
ZCBpbml0aWFsaXplTWF4aW11bUhUVFBDb25uZWN0aW9uQ291bnRQZXJIb3N0KCk7CiAKLSNpZiBV
U0UoQ0YpCi0gICAgYm9vbCBpc0hUVFBQaXBlbGluaW5nRW5hYmxlZCgpOwotICAgIGJvb2wgc2hv
dWxkRm9yY2VIVFRQUGlwZWxpbmluZ1ByaW9yaXR5SGlnaCgpOwotI2Vsc2UKLSAgICBpbmxpbmUg
Ym9vbCBpc0hUVFBQaXBlbGluaW5nRW5hYmxlZCgpIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgaW5s
aW5lIGJvb2wgc2hvdWxkRm9yY2VIVFRQUGlwZWxpbmluZ1ByaW9yaXR5SGlnaCgpIHsgcmV0dXJu
IGZhbHNlOyB9Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
UmVzb3VyY2VSZXF1ZXN0QmFzZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwCmluZGV4IGFmMjg3Yzcy
OTE4YTQ0OTMyMDM4MzY2MjI4ODJkNmYyZTM2MDk5YWMuLjQzZTA2NWViZjhmYWU3ZDY5OGVkN2Mw
NzM5ODQ3OGJkOTVlOTE2MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwCkBAIC0zMCw2ICszMCw3
IEBACiAKICNpZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkUHJpb3JpdHku
aCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIldlYkNvcmVTeXN0ZW1JbnRlcmZh
Y2UuaCIKICNlbmRpZgogCkBAIC0yMTgsNyArMjE5LDcgQEAgdW5zaWduZWQgaW5pdGlhbGl6ZU1h
eGltdW1IVFRQQ29ubmVjdGlvbkNvdW50UGVySG9zdCgpCiAgICAgdW5zaWduZWQgbWF4aW11bUhU
VFBDb25uZWN0aW9uQ291bnRQZXJIb3N0ID0gd2tJbml0aWFsaXplTWF4aW11bUhUVFBDb25uZWN0
aW9uQ291bnRQZXJIb3N0KHByZWZlcnJlZENvbm5lY3Rpb25Db3VudCk7CiAKICNpZiBQTEFURk9S
TShNQUMpCi0gICAgaWYgKGlzSFRUUFBpcGVsaW5pbmdFbmFibGVkKCkpIHsKKyAgICBpZiAoU2V0
dGluZ3M6Omh0dHBQaXBlbGluaW5nRW5hYmxlZCgpKSB7CiAgICAgICAgIHdrU2V0SFRUUFBpcGVs
aW5pbmdNYXhpbXVtUHJpb3JpdHkoUmVzb3VyY2VMb2FkUHJpb3JpdHlIaWdoZXN0KTsKICAgICAg
ICAgLy8gV2hlbiBwaXBlbGluaW5nIGRvIG5vdCByYXRlLWxpbWl0IHJlcXVlc3RzIHNlbnQgZnJv
bSBXZWJDb3JlIHNpbmNlIENGTmV0d29yayBoYW5kbGVzIHRoYXQuCiAgICAgICAgIHJldHVybiB1
bmxpbWl0ZWRDb25uZWN0aW9uQ291bnQ7CkBAIC0yMjgsMjMgKzIyOSw0IEBAIHVuc2lnbmVkIGlu
aXRpYWxpemVNYXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBlckhvc3QoKQogICAgIHJldHVybiBt
YXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBlckhvc3Q7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9v
bCByZWFkQm9vbGVhblByZWZlcmVuY2UoQ0ZTdHJpbmdSZWYga2V5KQotewotICAgIEJvb2xlYW4g
a2V5RXhpc3RzQW5kSGFzVmFsaWRGb3JtYXQ7Ci0gICAgQm9vbGVhbiByZXN1bHQgPSBDRlByZWZl
cmVuY2VzR2V0QXBwQm9vbGVhblZhbHVlKGtleSwga0NGUHJlZmVyZW5jZXNDdXJyZW50QXBwbGlj
YXRpb24sICZrZXlFeGlzdHNBbmRIYXNWYWxpZEZvcm1hdCk7Ci0gICAgcmV0dXJuIGtleUV4aXN0
c0FuZEhhc1ZhbGlkRm9ybWF0ID8gcmVzdWx0IDogZmFsc2U7Ci19Ci0KLWJvb2wgaXNIVFRQUGlw
ZWxpbmluZ0VuYWJsZWQoKQotewotICAgIHN0YXRpYyBib29sIGlzRW5hYmxlZCA9IHJlYWRCb29s
ZWFuUHJlZmVyZW5jZShDRlNUUigiV2ViS2l0RW5hYmxlSFRUUFBpcGVsaW5pbmciKSk7Ci0gICAg
cmV0dXJuIGlzRW5hYmxlZDsKLX0KLQotYm9vbCBzaG91bGRGb3JjZUhUVFBQaXBlbGluaW5nUHJp
b3JpdHlIaWdoKCkKLXsKLSAgICBzdGF0aWMgYm9vbCBzaG91bGRGb3JjZVByaW9yaXR5SGlnaCA9
IHJlYWRCb29sZWFuUHJlZmVyZW5jZShDRlNUUigiV2ViS2l0Rm9yY2VIVFRQUGlwZWxpbmluZ1By
aW9yaXR5SGlnaCIpKTsKLSAgICByZXR1cm4gc2hvdWxkRm9yY2VQcmlvcml0eUhpZ2g7Ci19Ci0K
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVxdWVzdE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVxdWVzdE1hYy5tbQppbmRleCAzM2ZmNDkwMjkz
OWVmYjk0ZDFlY2Y2MDIxNzNhNzMzMzZjNDg2NTk4Li45YTM2OWNkZGU0ZGU0M2IzYzJlNWY5MzQ4
N2Q2Mjg2YWZkMDc5YTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9SZXNvdXJjZVJlcXVlc3RNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXF1ZXN0TWFjLm1tCkBAIC03MCw3ICs3MCw3IEBAIHZv
aWQgUmVzb3VyY2VSZXF1ZXN0Ojpkb1VwZGF0ZVJlc291cmNlUmVxdWVzdCgpCiAgICAgbV9hbGxv
d0Nvb2tpZXMgPSBbbV9uc1JlcXVlc3QuZ2V0KCkgSFRUUFNob3VsZEhhbmRsZUNvb2tpZXNdOwog
CiAjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fVElHRVIpICYmICFkZWZpbmVkKEJVSUxESU5HX09O
X0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKLSAgICBpZiAo
aXNIVFRQUGlwZWxpbmluZ0VuYWJsZWQoKSAmJiAhc2hvdWxkRm9yY2VIVFRQUGlwZWxpbmluZ1By
aW9yaXR5SGlnaCgpKQorICAgIGlmIChTZXR0aW5nczo6aHR0cFBpcGVsaW5pbmdFbmFibGVkKCkp
CiAgICAgICAgIG1fcHJpb3JpdHkgPSB0b1Jlc291cmNlTG9hZFByaW9yaXR5KHdrR2V0SFRUUFBp
cGVsaW5pbmdQcmlvcml0eShtX25zUmVxdWVzdC5nZXQoKSkpOwogI2VuZGlmCiAKQEAgLTEyMCwx
MCArMTIwLDggQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUGxhdGZvcm1SZXF1ZXN0
KCkKICNlbmRpZgogCiAjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fVElHRVIpICYmICFkZWZpbmVk
KEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFS
RCkKLSAgICBpZiAoaXNIVFRQUGlwZWxpbmluZ0VuYWJsZWQoKSkgewotICAgICAgICBpbnQgcHJp
b3JpdHkgPSB0b0hUVFBQaXBlbGluaW5nUHJpb3JpdHkoc2hvdWxkRm9yY2VIVFRQUGlwZWxpbmlu
Z1ByaW9yaXR5SGlnaCgpID8gUmVzb3VyY2VMb2FkUHJpb3JpdHlIaWdoIDogbV9wcmlvcml0eSk7
Ci0gICAgICAgIHdrU2V0SFRUUFBpcGVsaW5pbmdQcmlvcml0eShuc1JlcXVlc3QsIHByaW9yaXR5
KTsKLSAgICB9CisgICAgaWYgKFNldHRpbmdzOjpodHRwUGlwZWxpbmluZ0VuYWJsZWQoKSkKKyAg
ICAgICAgd2tTZXRIVFRQUGlwZWxpbmluZ1ByaW9yaXR5KG5zUmVxdWVzdCwgdG9IVFRQUGlwZWxp
bmluZ1ByaW9yaXR5KG1fcHJpb3JpdHkpKTsKICNlbmRpZgogCiAgICAgW25zUmVxdWVzdCBzZXRD
YWNoZVBvbGljeTooTlNVUkxSZXF1ZXN0Q2FjaGVQb2xpY3kpY2FjaGVQb2xpY3koKV07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKaW5kZXggYmE0YTIyZDdiZDA2YTI1MTg0ZjVjNzUzOTlhZjk3NGEwZWVjOWUyNC4u
ZDRiNWRmNzhjNzIxZjk0MmNkNGYwZmJmMmNlYjYzYjk1YjBmMTAzMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIyIEBACisyMDExLTA0LTEzICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBh
cHBsZS5jb20+CisKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzkyNjg3Mjk+IFN3aXRjaCBIVFRQ
IHBpcGVsaW5pbmcgZnJvbSB1c2VyIGRlZmF1bHQgdG8gV2ViUHJlZmVyZW5jZXMgc2V0dGluZwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcmVw
bGFjZXMgc3VwcG9ydCBmb3IgdGhlIFdlYktpdEVuYWJsZUhUVFBQaXBlbGluaW5nIHVzZXIKKyAg
ICAgICAgZGVmYXVsdCB3aXRoIG1ldGhvZHMgb24gdGhlIFdlYkNvcmU6OlNldHRpbmcgQysrIGNs
YXNzIGFuZAorICAgICAgICB0aGUgV2ViUHJlZmVyZW5jZSBPYmplY3RpdmUtQyBjbGFzcy4gIEl0
IGFsc28gcmVtb3ZlcyBzdXBwb3J0CisgICAgICAgIGZvciB0aGUgV2ViS2l0Rm9yY2VIVFRQUGlw
ZWxpbmluZ1ByaW9yaXR5SGlnaCB1c2VyIGRlZmF1bHQgd2hpY2gKKyAgICAgICAgd2FzIG5vdCBu
ZWVkZWQuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAo
K1tXZWJQcmVmZXJlbmNlcyBodHRwUGlwZWxpbmluZ0VuYWJsZWRdKTogQWRkZWQuCisgICAgICAg
ICgrW1dlYlByZWZlcmVuY2VzIHNldEhUVFBQaXBlbGluaW5nRW5hYmxlZDpdKTogQWRkZWQuCisg
ICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKCtbV2Vi
UHJlZmVyZW5jZXMgaHR0cFBpcGVsaW5pbmdFbmFibGVkXSk6IEFkZGVkIGRlY2xhcmF0aW9uLgor
ICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBzZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWQ6XSk6IEFk
ZGVkIGRlY2xhcmF0aW9uLgorCiAyMDExLTA0LTA4ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCAwMTYwYWFmNjYyOGM4MGFh
OGFkM2NlOWQ2N2FmNjQ5NjMxN2UxYjJjLi5kNThkYWE0NDc1MGM2ZTRmOTFmNWFkMmNmNjQ2NjA0
MWU4M2FmZTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMu
bW0KQEAgLTM5LDYgKzM5LDcgQEAKICNpbXBvcnQgIldlYk5TRGljdGlvbmFyeUV4dHJhcy5oIgog
I2ltcG9ydCAiV2ViTlNVUkxFeHRyYXMuaCIKICNpbXBvcnQgPFdlYkNvcmUvQXBwbGljYXRpb25D
YWNoZVN0b3JhZ2UuaD4KKyNpbXBvcnQgPFdlYkNvcmUvU2V0dGluZ3MuaD4KIAogTlNTdHJpbmcg
KldlYlByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiA9IEAiV2ViUHJlZmVyZW5jZXNDaGFu
Z2VkTm90aWZpY2F0aW9uIjsKIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc1JlbW92ZWROb3RpZmlj
YXRpb24gPSBAIldlYlByZWZlcmVuY2VzUmVtb3ZlZE5vdGlmaWNhdGlvbiI7CkBAIC0xNDIzLDYg
KzE0MjQsMTYgQEAgLSAodm9pZClzZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrczooQk9PTClmbGFn
CiAgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRVc2VQcmVIVE1MNVBh
cnNlclF1aXJrc0tleV07CiB9CiAKKysgKEJPT0wpaHR0cFBpcGVsaW5pbmdFbmFibGVkCit7Cisg
ICAgcmV0dXJuIFdlYkNvcmU6OlNldHRpbmdzOjpodHRwUGlwZWxpbmluZ0VuYWJsZWQoKTsKK30K
KworKyAodm9pZClzZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWQ6KEJPT0wpZmxhZworeworICAgIFdl
YkNvcmU6OlNldHRpbmdzOjpzZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWQoZmxhZyk7Cit9CisKIC0g
KEJPT0wpdXNlUXVpY2tMb29rUmVzb3VyY2VDYWNoaW5nUXVpcmtzCiB7CiAgICAgcmV0dXJuIFtz
ZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0VXNlUXVpY2tMb29rUmVzb3VyY2VDYWNoaW5nUXVp
cmtzUHJlZmVyZW5jZUtleV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCBkZjJiNTJhOTc4OGQ1N2QxOGJmYmRhZmM5N2MxZmEx
OTc2MDE5ZjdiLi44ZmIyNjJmMDA4Mzc1MDYzNzk3ZDhjMjY4MDYzYmE2NGJjZmVlYjU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgK
QEAgLTIzOCw2ICsyMzgsOSBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2VzQ2hhbmdl
ZEludGVybmFsTm90aWZpY2F0aW9uOwogLSAodm9pZClzZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJr
czooQk9PTClmbGFnOwogLSAoQk9PTCl1c2VQcmVIVE1MNVBhcnNlclF1aXJrczsKIAorKyAodm9p
ZClzZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWQ6KEJPT0wpZmxhZzsKKysgKEJPT0wpaHR0cFBpcGVs
aW5pbmdFbmFibGVkOworCiAtIChCT09MKXVzZVF1aWNrTG9va1Jlc291cmNlQ2FjaGluZ1F1aXJr
czsKIAogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGIxYjI5ZmZjNWNkYjc4YjY3ZTNlMDFmMjUxYzY1NWQ2
YzgzOTFjZDAuLjM4MDlhYzcwOTg5ZGEwZTM1MjY3YTA0M2VmN2ZlNDFlZjM2Zjc3ZjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMS0wNC0xMyAgRGF2aWQgS2lsemVyICA8ZGRraWx6
ZXJAYXBwbGUuY29tPgorCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MjY4NzI5PiBTd2l0Y2gg
SFRUUCBwaXBlbGluaW5nIGZyb20gdXNlciBkZWZhdWx0IHRvIFdlYlByZWZlcmVuY2VzIHNldHRp
bmcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlz
IHJlcGxhY2VzIHN1cHBvcnQgZm9yIHRoZSBXZWJLaXRFbmFibGVIVFRQUGlwZWxpbmluZyB1c2Vy
CisgICAgICAgIGRlZmF1bHQgd2l0aCBtZXRob2RzIG9uIHRoZSBXZWJDb3JlOjpTZXR0aW5nIEMr
KyBjbGFzcyBhbmQKKyAgICAgICAgdGhlIFdlYlByZWZlcmVuY2UgT2JqZWN0aXZlLUMgY2xhc3Mu
ICBJdCBhbHNvIHJlbW92ZXMgc3VwcG9ydAorICAgICAgICBmb3IgdGhlIFdlYktpdEZvcmNlSFRU
UFBpcGVsaW5pbmdQcmlvcml0eUhpZ2ggdXNlciBkZWZhdWx0IHdoaWNoCisgICAgICAgIHdhcyBu
b3QgbmVlZGVkLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
OgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldEhUVFBQaXBlbGluaW5nRW5hYmxlZCk6IEFkZGVk
LgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldEhUVFBQaXBlbGluaW5nRW5hYmxlZCk6IEFkZGVk
LgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc1NldEhUVFBQaXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkIGRlY2xh
cmF0aW9uLgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldEhUVFBQaXBlbGluaW5nRW5hYmxlZCk6
IEFkZGVkIGRlY2xhcmF0aW9uLgorCiAyMDExLTA0LTEwICBNYWNpZWogU3RhY2hvd2lhayAgPG1q
c0BhcHBsZS5jb20+CiAKICAgICAgICAgTm90IHJldmlld2VkLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IDAxMjI1MzE5MjhjY2Uz
NWZkM2ViYjk0OTJhMDVhNzE0NmVmYzRhMTkuLmE0ODA4MDhmNTZlNzFiYzdhNjMyYTM1NWYwNjZj
ZDU4ZTQzMWE3NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlcy5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIldLQVBJQ2FzdC5o
IgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9TZXR0aW5n
cy5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogCkBAIC01MzAsMyArNTMxLDEzIEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dldEZpbGVBY2Nlc3NG
cm9tRmlsZVVSTHNBbGxvd2VkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSCiB7CiAgICAg
cmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJM
cygpOwogfQorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWQoV0tQ
cmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQoreworICAgIFdlYkNvcmU6OlNldHRpbmdzOjpz
ZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWQoZW5hYmxlZCk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNl
c0dldEhUVFBQaXBlbGluaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVy
biBXZWJDb3JlOjpTZXR0aW5nczo6aHR0cFBpcGVsaW5pbmdFbmFibGVkKCk7Cit9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZhdGUu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5o
CmluZGV4IGRkZjFiOWFhOGQ0ZjhlODI0MjExMzc4NWUwZGEzMzc2ODRhZDRiNTMuLmI0ZmNjNjdj
NTMxNzgyNmZkNThiZDlhMTczOTBkMDhjNjEwODg0ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC0xMTUsNiAr
MTE1LDEwIEBAIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRVbml2ZXJzYWxBY2Nlc3NG
cm9tRmlsZVVSTHNBbGxvd2VkKFdLUHJlZmVyZW5jZXNSCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZl
cmVuY2VzU2V0RmlsZUFjY2Vzc0Zyb21GaWxlVVJMc0FsbG93ZWQoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlcywgYm9vbCBhbGxvd2VkKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNH
ZXRGaWxlQWNjZXNzRnJvbUZpbGVVUkxzQWxsb3dlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVu
Y2VzKTsKIAorLy8gRGVmYXVsdHMgdG8gZmFsc2UuCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVu
Y2VzU2V0SFRUUFBpcGVsaW5pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMs
IGJvb2wgZW5hYmxlZCk7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0SFRUUFBpcGVs
aW5pbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMpOworCiAjaWZkZWYgX19j
cGx1c3BsdXMKIH0KICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89914</attachid>
            <date>2011-04-15 22:03:06 -0700</date>
            <delta_ts>2011-04-16 11:16:58 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>0001-http-webkit.org-b-58463-Switch-HTTP-pipelining-from-.patch</filename>
            <type>text/plain</type>
            <size>17841</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">RnJvbSAyNWIyZDkzNzViZjMwNGJmODY1ZTgwM2U5MTQwMmMyZTY3NGI3NGU3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBLaWx6ZXIgPGRka2lsemVyQGFwcGxlLmNvbT4KRGF0
ZTogRnJpLCAxNSBBcHIgMjAxMSAxODozNzo0MSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIDxodHRw
Oi8vd2Via2l0Lm9yZy9iLzU4NDYzPiBTd2l0Y2ggSFRUUCBwaXBlbGluaW5nIGZyb20gdXNlciBk
ZWZhdWx0IHRvIFdlYlByZWZlcmVuY2VzIHNldHRpbmcKIDxyZGFyOi8vcHJvYmxlbS85MjY4NzI5
PgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpUaGlzIHJlcGxhY2VzIHN1cHBvcnQgZm9y
IHRoZSBXZWJLaXRFbmFibGVIVFRQUGlwZWxpbmluZyB1c2VyCmRlZmF1bHQgd2l0aCBtZXRob2Rz
IG9uIHRoZSBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgY2xhc3MgaW4KV2ViQ29yZSwgdGhlIFdl
YlZpZXcgY2xhc3MgaW4gV2ViS2l0MSwgYW5kIHRoZSBXZWJDb250ZXh0IGNsYXNzCmluIFdlYktp
dDIuICBJdCBhbHNvIHJlbW92ZXMgc3VwcG9ydCBmb3IgdGhlCldlYktpdEZvcmNlSFRUUFBpcGVs
aW5pbmdQcmlvcml0eUhpZ2ggdXNlciBkZWZhdWx0IHdoaWNoIHdhcyBub3QKbmVlZGVkLgoKU291
cmNlL1dlYkNvcmU6CgpSdW4gdGhlc2UgY29tbWFuZHMgaWYgeW91IHNldCB0aGUgdXNlciBkZWZh
dWx0cyBwcmV2aW91c2x5LApyZXBsYWNpbmcgIkJVTkRMRS5JRCIgd2l0aCB5b3VyIGFwcGxpY2F0
aW9uJ3MgYnVuZGxlIElEOgoKICAgIGRlZmF1bHRzIGRlbGV0ZSBCVU5ETEUuSUQgV2ViS2l0RW5h
YmxlSFRUUFBpcGVsaW5pbmcKICAgIGRlZmF1bHRzIGRlbGV0ZSBCVU5ETEUuSUQgV2ViS2l0Rm9y
Y2VIVFRQUGlwZWxpbmluZ1ByaW9yaXR5SGlnaAoKKiBXZWJDb3JlLmV4cC5pbjogRXhwb3J0IFJl
c291cmNlUmVxdWVzdDo6aHR0cFBpcGVsaW5pbmdFbmFibGVkKCkKYW5kIFJlc291cmNlUmVxdWVz
dDo6c2V0SHR0cFBpcGVsaW5pbmdFbmFibGVkKCkuCgoqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VSZXF1ZXN0QmFzZS5oOgooV2ViQ29yZTo6aXNIVFRQUGlwZWxpbmluZ0VuYWJsZWQpOiBSZW1v
dmVkIGRlY2xhcmF0aW9uLgooV2ViQ29yZTo6c2hvdWxkRm9yY2VIVFRQUGlwZWxpbmluZ1ByaW9y
aXR5SGlnaCk6IFJlbW92ZWQgZGVjbGFyYXRpb24uCgoqIHBsYXRmb3JtL25ldHdvcmsvY2YvUmVz
b3VyY2VSZXF1ZXN0Lmg6CihXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6Omh0dHBQaXBlbGluaW5n
RW5hYmxlZCk6IEFkZGVkIGRlY2xhcmF0aW9uLgooV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojpz
ZXRIdHRwUGlwZWxpbmluZ0VuYWJsZWQpOiBBZGRlZCBkZWNsYXJhdGlvbi4KKFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdDo6c19odHRwUGlwZWxpbmluZ0VuYWJsZWQpOiBBZGRlZCBkZWNsYXJhdGlv
bi4KCiogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3RDRk5ldC5jcHA6CihXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnNfaHR0cFBpcGVsaW5pbmdFbmFibGVkKTogQWRkZWQuCihX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6Omh0dHBQaXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkLgoo
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0OjpzZXRIdHRwUGlwZWxpbmluZ0VuYWJsZWQpOiBBZGRl
ZC4KKFdlYkNvcmU6OmluaXRpYWxpemVNYXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBlckhvc3Qp
OiBTd2l0Y2hlZAp0byB1c2UgUmVzb3VyY2VSZXF1ZXN0OjpodHRwUGlwZWxpbmluZ0VuYWJsZWQo
KS4KKFdlYkNvcmU6OnJlYWRCb29sZWFuUHJlZmVyZW5jZSk6IFJlbW92ZWQuCihXZWJDb3JlOjpp
c0hUVFBQaXBlbGluaW5nRW5hYmxlZCk6IFJlbW92ZWQuCihXZWJDb3JlOjpzaG91bGRGb3JjZUhU
VFBQaXBlbGluaW5nUHJpb3JpdHlIaWdoKTogUmVtb3ZlZC4KCiogcGxhdGZvcm0vbmV0d29yay9t
YWMvUmVzb3VyY2VSZXF1ZXN0TWFjLm1tOgooV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojpkb1Vw
ZGF0ZVJlc291cmNlUmVxdWVzdCk6IFN3aXRjaGVkIHRvCnVzZSBSZXNvdXJjZVJlcXVlc3Q6Omh0
dHBQaXBlbGluaW5nRW5hYmxlZCgpLiAgUmVtb3ZlZCBjaGVjayBmb3IKc2hvdWxkRm9yY2VIVFRQ
UGlwZWxpbmluZ1ByaW9yaXR5SGlnaCgpLgooV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojpkb1Vw
ZGF0ZVBsYXRmb3JtUmVxdWVzdCk6IERpdHRvLgoKU291cmNlL1dlYktpdC9tYWM6CgoqIFdlYlZp
ZXcvV2ViVmlldy5tbToKKCtbV2ViVmlldyhXZWJQcml2YXRlKSBfaHR0cFBpcGVsaW5pbmdFbmFi
bGVkXSk6IEFkZGVkLgooK1tXZWJWaWV3KFdlYlByaXZhdGUpIF9zZXRIdHRwUGlwZWxpbmluZ0Vu
YWJsZWQ6XSk6IEFkZGVkLgoqIFdlYlZpZXcvV2ViVmlld1ByaXZhdGUuaDoKKCtbV2ViVmlldyhX
ZWJQcml2YXRlKSBfaHR0cFBpcGVsaW5pbmdFbmFibGVkXSk6IEFkZGVkIGRlY2xhcmF0aW9uLgoo
K1tXZWJWaWV3KFdlYlByaXZhdGUpIF9zZXRIdHRwUGlwZWxpbmluZ0VuYWJsZWQ6XSk6IEFkZGVk
IGRlY2xhcmF0aW9uLgoKU291cmNlL1dlYktpdDI6CgoqIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNw
cDoKKFdlYktpdDo6V2ViQ29udGV4dDo6c2V0SHR0cFBpcGVsaW5pbmdFbmFibGVkKTogQWRkZWQu
CihXZWJLaXQ6OldlYkNvbnRleHQ6Omh0dHBQaXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkLgoqIFVJ
UHJvY2Vzcy9XZWJDb250ZXh0Lmg6CihXZWJLaXQ6OldlYkNvbnRleHQ6OnNldEh0dHBQaXBlbGlu
aW5nRW5hYmxlZCk6IEFkZGVkIGRlY2xhcmF0aW9uLgooV2ViS2l0OjpXZWJDb250ZXh0OjpodHRw
UGlwZWxpbmluZ0VuYWJsZWQpOiBBZGRlZCBkZWNsYXJhdGlvbi4KLS0tCiBTb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNDggKysrKysrKysrKysr
KysrKysrKysKIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluICAgICAgICAgICAgICAgICAg
ICAgIHwgICAgMiArCiAuLi4vV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVz
dEJhc2UuaCB8ICAgIDggLS0tCiAuLi4vV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291
cmNlUmVxdWVzdC5oICB8ICAgIDUgKysKIC4uLi9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNl
UmVxdWVzdENGTmV0LmNwcCAgIHwgICAzMyArKysrKy0tLS0tLS0tCiAuLi4vcGxhdGZvcm0vbmV0
d29yay9tYWMvUmVzb3VyY2VSZXF1ZXN0TWFjLm1tICAgICB8ICAgIDggKy0tCiBTb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjEgKysrKysrKysr
CiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gICAgICAgICAgICAgICB8ICAg
MTEgKysrKysKIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld1ByaXZhdGUuaCAgICAg
ICAgIHwgICAxNiArKysrKysrCiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgMjEgKysrKysrKysrCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViQ29udGV4dC5jcHAgICAgICAgICAgICB8ICAgMTEgKysrKysKIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJDb250ZXh0LmggICAgICAgICAgICAgIHwgICAgNCArKwogMTIgZmlsZXMgY2hh
bmdlZCwgMTU1IGluc2VydGlvbnMoKyksIDMzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5
OGE2ZDZiLi41ZjkxYWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEgQEAKKzIwMTEtMDQtMTUg
IERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICA8aHR0cDovL3dl
YmtpdC5vcmcvYi81ODQ2Mz4gU3dpdGNoIEhUVFAgcGlwZWxpbmluZyBmcm9tIHVzZXIgZGVmYXVs
dCB0byBXZWJQcmVmZXJlbmNlcyBzZXR0aW5nCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MjY4
NzI5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
aXMgcmVwbGFjZXMgc3VwcG9ydCBmb3IgdGhlIFdlYktpdEVuYWJsZUhUVFBQaXBlbGluaW5nIHVz
ZXIKKyAgICAgICAgZGVmYXVsdCB3aXRoIG1ldGhvZHMgb24gdGhlIFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCBjbGFzcyBpbgorICAgICAgICBXZWJDb3JlLCB0aGUgV2ViVmlldyBjbGFzcyBpbiBX
ZWJLaXQxLCBhbmQgdGhlIFdlYkNvbnRleHQgY2xhc3MKKyAgICAgICAgaW4gV2ViS2l0Mi4gIEl0
IGFsc28gcmVtb3ZlcyBzdXBwb3J0IGZvciB0aGUKKyAgICAgICAgV2ViS2l0Rm9yY2VIVFRQUGlw
ZWxpbmluZ1ByaW9yaXR5SGlnaCB1c2VyIGRlZmF1bHQgd2hpY2ggd2FzIG5vdAorICAgICAgICBu
ZWVkZWQuCisKKyAgICAgICAgUnVuIHRoZXNlIGNvbW1hbmRzIGlmIHlvdSBzZXQgdGhlIHVzZXIg
ZGVmYXVsdHMgcHJldmlvdXNseSwKKyAgICAgICAgcmVwbGFjaW5nICJCVU5ETEUuSUQiIHdpdGgg
eW91ciBhcHBsaWNhdGlvbidzIGJ1bmRsZSBJRDoKKworICAgICAgICAgICAgZGVmYXVsdHMgZGVs
ZXRlIEJVTkRMRS5JRCBXZWJLaXRFbmFibGVIVFRQUGlwZWxpbmluZworICAgICAgICAgICAgZGVm
YXVsdHMgZGVsZXRlIEJVTkRMRS5JRCBXZWJLaXRGb3JjZUhUVFBQaXBlbGluaW5nUHJpb3JpdHlI
aWdoCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjogRXhwb3J0IFJlc291cmNlUmVxdWVzdDo6
aHR0cFBpcGVsaW5pbmdFbmFibGVkKCkKKyAgICAgICAgYW5kIFJlc291cmNlUmVxdWVzdDo6c2V0
SHR0cFBpcGVsaW5pbmdFbmFibGVkKCkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVxdWVzdEJhc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OmlzSFRUUFBpcGVsaW5pbmdF
bmFibGVkKTogUmVtb3ZlZCBkZWNsYXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZEZv
cmNlSFRUUFBpcGVsaW5pbmdQcmlvcml0eUhpZ2gpOiBSZW1vdmVkIGRlY2xhcmF0aW9uLgorCisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3QuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6aHR0cFBpcGVsaW5pbmdFbmFibGVkKTogQWRkZWQg
ZGVjbGFyYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnNldEh0dHBQ
aXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkIGRlY2xhcmF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0OjpzX2h0dHBQaXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkIGRlY2xhcmF0
aW9uLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3RDRk5l
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnNfaHR0cFBpcGVsaW5p
bmdFbmFibGVkKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6Omh0
dHBQaXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0OjpzZXRIdHRwUGlwZWxpbmluZ0VuYWJsZWQpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OmluaXRpYWxpemVNYXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBlckhvc3QpOiBTd2l0Y2hl
ZAorICAgICAgICB0byB1c2UgUmVzb3VyY2VSZXF1ZXN0OjpodHRwUGlwZWxpbmluZ0VuYWJsZWQo
KS4KKyAgICAgICAgKFdlYkNvcmU6OnJlYWRCb29sZWFuUHJlZmVyZW5jZSk6IFJlbW92ZWQuCisg
ICAgICAgIChXZWJDb3JlOjppc0hUVFBQaXBlbGluaW5nRW5hYmxlZCk6IFJlbW92ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpzaG91bGRGb3JjZUhUVFBQaXBlbGluaW5nUHJpb3JpdHlIaWdoKTogUmVt
b3ZlZC4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVxdWVzdE1h
Yy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6ZG9VcGRhdGVSZXNvdXJj
ZVJlcXVlc3QpOiBTd2l0Y2hlZCB0bworICAgICAgICB1c2UgUmVzb3VyY2VSZXF1ZXN0OjpodHRw
UGlwZWxpbmluZ0VuYWJsZWQoKS4gIFJlbW92ZWQgY2hlY2sgZm9yCisgICAgICAgIHNob3VsZEZv
cmNlSFRUUFBpcGVsaW5pbmdQcmlvcml0eUhpZ2goKS4KKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdDo6ZG9VcGRhdGVQbGF0Zm9ybVJlcXVlc3QpOiBEaXR0by4KKwogMjAxMS0wNC0x
MyAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEdhdmluIEJhcnJhY2xvdWdoLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCAwZTFiOGIyLi5kOWE1
YjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtNDE2LDYgKzQxNiw4IEBAIF9fWk43V2ViQ29y
ZTE1SlNET01XaW5kb3dCYXNlMThjb21tb25KU0dsb2JhbERhdGFFdgogX19aTjdXZWJDb3JlMTVQ
bGF0Zm9ybUNBTGF5ZXIxOHNldEdlb21ldHJ5RmxpcHBlZEViCiBfX1pON1dlYkNvcmUxNVByb3Rl
Y3Rpb25TcGFjZUMxRVJLTjNXVEY2U3RyaW5nRWlOU18yNVByb3RlY3Rpb25TcGFjZVNlcnZlclR5
cGVFUzRfTlNfMzVQcm90ZWN0aW9uU3BhY2VBdXRoZW50aWNhdGlvblNjaGVtZUUKIF9fWk43V2Vi
Q29yZTE1UHJvdGVjdGlvblNwYWNlQzFFdgorX19aTjdXZWJDb3JlMTVSZXNvdXJjZVJlcXVlc3Qy
MWh0dHBQaXBlbGluaW5nRW5hYmxlZEV2CitfX1pON1dlYkNvcmUxNVJlc291cmNlUmVxdWVzdDI0
c2V0SHR0cFBpcGVsaW5pbmdFbmFibGVkRWIKIF9fWk43V2ViQ29yZTE1U2Nyb2xsQWxpZ25tZW50
MTdhbGlnbkNlbnRlckFsd2F5c0UKIF9fWk43V2ViQ29yZTE1U2Nyb2xsQWxpZ25tZW50MTlhbGln
blRvRWRnZUlmTmVlZGVkRQogX19aTjdXZWJDb3JlMTVTdHJpbmdUcnVuY2F0b3IxM3JpZ2h0VHJ1
bmNhdGVFUktOM1dURjZTdHJpbmdFZlJLTlNfNEZvbnRFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCmluZGV4IGQ1YzM5Njgu
LjUzZTExNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXF1ZXN0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXF1ZXN0QmFzZS5oCkBAIC0yNDEsMTQgKzI0MSw2IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAKICAgICB1bnNpZ25lZCBpbml0aWFsaXplTWF4aW11bUhUVFBDb25uZWN0aW9u
Q291bnRQZXJIb3N0KCk7CiAKLSNpZiBVU0UoQ0YpCi0gICAgYm9vbCBpc0hUVFBQaXBlbGluaW5n
RW5hYmxlZCgpOwotICAgIGJvb2wgc2hvdWxkRm9yY2VIVFRQUGlwZWxpbmluZ1ByaW9yaXR5SGln
aCgpOwotI2Vsc2UKLSAgICBpbmxpbmUgYm9vbCBpc0hUVFBQaXBlbGluaW5nRW5hYmxlZCgpIHsg
cmV0dXJuIGZhbHNlOyB9Ci0gICAgaW5saW5lIGJvb2wgc2hvdWxkRm9yY2VIVFRQUGlwZWxpbmlu
Z1ByaW9yaXR5SGlnaCgpIHsgcmV0dXJuIGZhbHNlOyB9Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gUmVzb3VyY2VSZXF1ZXN0QmFzZV9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3QuaAppbmRl
eCAyZGE1MDI2Li4zMzJiN2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0LmgKQEAgLTg4LDYgKzg4LDkgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldFN0b3JhZ2VTZXNzaW9uKENGVVJMU3RvcmFnZVNl
c3Npb25SZWYpOwogI2VuZGlmCiAKKyAgICAgICAgc3RhdGljIGJvb2wgaHR0cFBpcGVsaW5pbmdF
bmFibGVkKCk7CisgICAgICAgIHN0YXRpYyB2b2lkIHNldEh0dHBQaXBlbGluaW5nRW5hYmxlZChi
b29sIGZsYWcpOworCiAgICAgcHJpdmF0ZToKICAgICAgICAgZnJpZW5kIGNsYXNzIFJlc291cmNl
UmVxdWVzdEJhc2U7CiAKQEAgLTEwMiw2ICsxMDUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAj
ZWxzZQogICAgICAgICBSZXRhaW5QdHI8TlNVUkxSZXF1ZXN0PiBtX25zUmVxdWVzdDsKICNlbmRp
ZgorCisgICAgICAgIHN0YXRpYyBib29sIHNfaHR0cFBpcGVsaW5pbmdFbmFibGVkOwogICAgIH07
CiAKICAgICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhIDogcHVibGljIENy
b3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3RDRk5ldC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0LmNwcApp
bmRleCBhZjI4N2M3Li4yNGYyZWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0LmNwcApAQCAtNDEsNiAr
NDEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2Jvb2wgUmVzb3VyY2VSZXF1ZXN0Ojpz
X2h0dHBQaXBlbGluaW5nRW5hYmxlZCA9IGZhbHNlOworCiAjaWYgVVNFKENGTkVUV09SSykKIAog
dHlwZWRlZiB2b2lkICgqQ0ZVUkxSZXF1ZXN0U2V0Q29udGVudERpc3Bvc2l0aW9uRW5jb2RpbmdG
YWxsYmFja0FycmF5RnVuY3Rpb24pKENGTXV0YWJsZVVSTFJlcXVlc3RSZWYsIENGQXJyYXlSZWYp
OwpAQCAtMjA5LDYgKzIxMSwxNiBAQCB2b2lkIFJlc291cmNlUmVxdWVzdDo6c2V0U3RvcmFnZVNl
c3Npb24oQ0ZVUkxTdG9yYWdlU2Vzc2lvblJlZiBzdG9yYWdlU2Vzc2lvbikKIAogI2VuZGlmIC8v
IFVTRShDRk5FVFdPUkspCiAKK2Jvb2wgUmVzb3VyY2VSZXF1ZXN0OjpodHRwUGlwZWxpbmluZ0Vu
YWJsZWQoKQoreworICAgIHJldHVybiBzX2h0dHBQaXBlbGluaW5nRW5hYmxlZDsKK30KKwordm9p
ZCBSZXNvdXJjZVJlcXVlc3Q6OnNldEh0dHBQaXBlbGluaW5nRW5hYmxlZChib29sIGZsYWcpCit7
CisgICAgc19odHRwUGlwZWxpbmluZ0VuYWJsZWQgPSBmbGFnOworfQorCiB1bnNpZ25lZCBpbml0
aWFsaXplTWF4aW11bUhUVFBDb25uZWN0aW9uQ291bnRQZXJIb3N0KCkKIHsKICAgICBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgcHJlZmVycmVkQ29ubmVjdGlvbkNvdW50ID0gNjsKQEAgLTIxOCw3ICsy
MzAsNyBAQCB1bnNpZ25lZCBpbml0aWFsaXplTWF4aW11bUhUVFBDb25uZWN0aW9uQ291bnRQZXJI
b3N0KCkKICAgICB1bnNpZ25lZCBtYXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBlckhvc3QgPSB3
a0luaXRpYWxpemVNYXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBlckhvc3QocHJlZmVycmVkQ29u
bmVjdGlvbkNvdW50KTsKIAogI2lmIFBMQVRGT1JNKE1BQykKLSAgICBpZiAoaXNIVFRQUGlwZWxp
bmluZ0VuYWJsZWQoKSkgeworICAgIGlmIChSZXNvdXJjZVJlcXVlc3Q6Omh0dHBQaXBlbGluaW5n
RW5hYmxlZCgpKSB7CiAgICAgICAgIHdrU2V0SFRUUFBpcGVsaW5pbmdNYXhpbXVtUHJpb3JpdHko
UmVzb3VyY2VMb2FkUHJpb3JpdHlIaWdoZXN0KTsKICAgICAgICAgLy8gV2hlbiBwaXBlbGluaW5n
IGRvIG5vdCByYXRlLWxpbWl0IHJlcXVlc3RzIHNlbnQgZnJvbSBXZWJDb3JlIHNpbmNlIENGTmV0
d29yayBoYW5kbGVzIHRoYXQuCiAgICAgICAgIHJldHVybiB1bmxpbWl0ZWRDb25uZWN0aW9uQ291
bnQ7CkBAIC0yMjgsMjMgKzI0MCw0IEBAIHVuc2lnbmVkIGluaXRpYWxpemVNYXhpbXVtSFRUUENv
bm5lY3Rpb25Db3VudFBlckhvc3QoKQogICAgIHJldHVybiBtYXhpbXVtSFRUUENvbm5lY3Rpb25D
b3VudFBlckhvc3Q7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCByZWFkQm9vbGVhblByZWZlcmVu
Y2UoQ0ZTdHJpbmdSZWYga2V5KQotewotICAgIEJvb2xlYW4ga2V5RXhpc3RzQW5kSGFzVmFsaWRG
b3JtYXQ7Ci0gICAgQm9vbGVhbiByZXN1bHQgPSBDRlByZWZlcmVuY2VzR2V0QXBwQm9vbGVhblZh
bHVlKGtleSwga0NGUHJlZmVyZW5jZXNDdXJyZW50QXBwbGljYXRpb24sICZrZXlFeGlzdHNBbmRI
YXNWYWxpZEZvcm1hdCk7Ci0gICAgcmV0dXJuIGtleUV4aXN0c0FuZEhhc1ZhbGlkRm9ybWF0ID8g
cmVzdWx0IDogZmFsc2U7Ci19Ci0KLWJvb2wgaXNIVFRQUGlwZWxpbmluZ0VuYWJsZWQoKQotewot
ICAgIHN0YXRpYyBib29sIGlzRW5hYmxlZCA9IHJlYWRCb29sZWFuUHJlZmVyZW5jZShDRlNUUigi
V2ViS2l0RW5hYmxlSFRUUFBpcGVsaW5pbmciKSk7Ci0gICAgcmV0dXJuIGlzRW5hYmxlZDsKLX0K
LQotYm9vbCBzaG91bGRGb3JjZUhUVFBQaXBlbGluaW5nUHJpb3JpdHlIaWdoKCkKLXsKLSAgICBz
dGF0aWMgYm9vbCBzaG91bGRGb3JjZVByaW9yaXR5SGlnaCA9IHJlYWRCb29sZWFuUHJlZmVyZW5j
ZShDRlNUUigiV2ViS2l0Rm9yY2VIVFRQUGlwZWxpbmluZ1ByaW9yaXR5SGlnaCIpKTsKLSAgICBy
ZXR1cm4gc2hvdWxkRm9yY2VQcmlvcml0eUhpZ2g7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291
cmNlUmVxdWVzdE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jl
c291cmNlUmVxdWVzdE1hYy5tbQppbmRleCAzM2ZmNDkwLi5kOTllMWI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlcXVlc3RNYWMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXF1ZXN0
TWFjLm1tCkBAIC03MCw3ICs3MCw3IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0Ojpkb1VwZGF0ZVJl
c291cmNlUmVxdWVzdCgpCiAgICAgbV9hbGxvd0Nvb2tpZXMgPSBbbV9uc1JlcXVlc3QuZ2V0KCkg
SFRUUFNob3VsZEhhbmRsZUNvb2tpZXNdOwogCiAjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fVElH
RVIpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5H
X09OX1NOT1dfTEVPUEFSRCkKLSAgICBpZiAoaXNIVFRQUGlwZWxpbmluZ0VuYWJsZWQoKSAmJiAh
c2hvdWxkRm9yY2VIVFRQUGlwZWxpbmluZ1ByaW9yaXR5SGlnaCgpKQorICAgIGlmIChSZXNvdXJj
ZVJlcXVlc3Q6Omh0dHBQaXBlbGluaW5nRW5hYmxlZCgpKQogICAgICAgICBtX3ByaW9yaXR5ID0g
dG9SZXNvdXJjZUxvYWRQcmlvcml0eSh3a0dldEhUVFBQaXBlbGluaW5nUHJpb3JpdHkobV9uc1Jl
cXVlc3QuZ2V0KCkpKTsKICNlbmRpZgogCkBAIC0xMjAsMTAgKzEyMCw4IEBAIHZvaWQgUmVzb3Vy
Y2VSZXF1ZXN0Ojpkb1VwZGF0ZVBsYXRmb3JtUmVxdWVzdCgpCiAjZW5kaWYKIAogI2lmICFkZWZp
bmVkKEJVSUxESU5HX09OX1RJR0VSKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAm
JiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCi0gICAgaWYgKGlzSFRUUFBpcGVs
aW5pbmdFbmFibGVkKCkpIHsKLSAgICAgICAgaW50IHByaW9yaXR5ID0gdG9IVFRQUGlwZWxpbmlu
Z1ByaW9yaXR5KHNob3VsZEZvcmNlSFRUUFBpcGVsaW5pbmdQcmlvcml0eUhpZ2goKSA/IFJlc291
cmNlTG9hZFByaW9yaXR5SGlnaCA6IG1fcHJpb3JpdHkpOwotICAgICAgICB3a1NldEhUVFBQaXBl
bGluaW5nUHJpb3JpdHkobnNSZXF1ZXN0LCBwcmlvcml0eSk7Ci0gICAgfQorICAgIGlmIChSZXNv
dXJjZVJlcXVlc3Q6Omh0dHBQaXBlbGluaW5nRW5hYmxlZCgpKQorICAgICAgICB3a1NldEhUVFBQ
aXBlbGluaW5nUHJpb3JpdHkobnNSZXF1ZXN0LCB0b0hUVFBQaXBlbGluaW5nUHJpb3JpdHkobV9w
cmlvcml0eSkpOwogI2VuZGlmCiAKICAgICBbbnNSZXF1ZXN0IHNldENhY2hlUG9saWN5OihOU1VS
TFJlcXVlc3RDYWNoZVBvbGljeSljYWNoZVBvbGljeSgpXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBk
YWQ1MGIzLi42NzdkMzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEt
MDQtMTUgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICA8aHR0
cDovL3dlYmtpdC5vcmcvYi81ODQ2Mz4gU3dpdGNoIEhUVFAgcGlwZWxpbmluZyBmcm9tIHVzZXIg
ZGVmYXVsdCB0byBXZWJQcmVmZXJlbmNlcyBzZXR0aW5nCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS85MjY4NzI5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgcmVwbGFjZXMgc3VwcG9ydCBmb3IgdGhlIFdlYktpdEVuYWJsZUhUVFBQaXBlbGlu
aW5nIHVzZXIKKyAgICAgICAgZGVmYXVsdCB3aXRoIG1ldGhvZHMgb24gdGhlIFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCBjbGFzcyBpbgorICAgICAgICBXZWJDb3JlLCB0aGUgV2ViVmlldyBjbGFz
cyBpbiBXZWJLaXQxLCBhbmQgdGhlIFdlYkNvbnRleHQgY2xhc3MKKyAgICAgICAgaW4gV2ViS2l0
Mi4gIEl0IGFsc28gcmVtb3ZlcyBzdXBwb3J0IGZvciB0aGUKKyAgICAgICAgV2ViS2l0Rm9yY2VI
VFRQUGlwZWxpbmluZ1ByaW9yaXR5SGlnaCB1c2VyIGRlZmF1bHQgd2hpY2ggd2FzIG5vdAorICAg
ICAgICBuZWVkZWQuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgr
W1dlYlZpZXcoV2ViUHJpdmF0ZSkgX2h0dHBQaXBlbGluaW5nRW5hYmxlZF0pOiBBZGRlZC4KKyAg
ICAgICAgKCtbV2ViVmlldyhXZWJQcml2YXRlKSBfc2V0SHR0cFBpcGVsaW5pbmdFbmFibGVkOl0p
OiBBZGRlZC4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAgICgr
W1dlYlZpZXcoV2ViUHJpdmF0ZSkgX2h0dHBQaXBlbGluaW5nRW5hYmxlZF0pOiBBZGRlZCBkZWNs
YXJhdGlvbi4KKyAgICAgICAgKCtbV2ViVmlldyhXZWJQcml2YXRlKSBfc2V0SHR0cFBpcGVsaW5p
bmdFbmFibGVkOl0pOiBBZGRlZCBkZWNsYXJhdGlvbi4KKwogMjAxMS0wNC0xMyAgRGF2aWQgS2ls
emVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9i
LzU4MTcyPiBGaXggLVdjYXN0LWFsaWduIHdhcm5pbmcgaW4gV2ViQmFzZVBsdWdpblBhY2thZ2Uu
bW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBkN2ZkNWFmLi42OWNiY2Ux
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0xNDgsNiArMTQ4LDcgQEAK
ICNpbXBvcnQgPFdlYkNvcmUvUmVuZGVyV2lkZ2V0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291
cmNlSGFuZGxlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oPgor
I2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbXBvcnQgPFdlYkNvcmUvUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NjaGVtZVJlZ2lzdHJ5
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NjcmlwdENvbnRyb2xsZXIuaD4KQEAgLTI4MjcsNiArMjgy
OCwxNiBAQCAtICh2b2lkKV9zZXRNaW5pbXVtVGltZXJJbnRlcnZhbDooZG91YmxlKWludGVydmFs
SW5TZWNvbmRzCiAgICAgICAgIF9wcml2YXRlLT5wYWdlLT5zZXR0aW5ncygpLT5zZXRNaW5ET01U
aW1lckludGVydmFsKGludGVydmFsSW5TZWNvbmRzKTsKIH0KIAorKyAoQk9PTClfaHR0cFBpcGVs
aW5pbmdFbmFibGVkCit7CisgICAgcmV0dXJuIFJlc291cmNlUmVxdWVzdDo6aHR0cFBpcGVsaW5p
bmdFbmFibGVkKCk7Cit9CisKKysgKHZvaWQpX3NldEh0dHBQaXBlbGluaW5nRW5hYmxlZDooQk9P
TCllbmFibGVkCit7CisgICAgUmVzb3VyY2VSZXF1ZXN0OjpzZXRIdHRwUGlwZWxpbmluZ0VuYWJs
ZWQoZW5hYmxlZCk7Cit9CisKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIF9XZWJTYWZlRm9yd2Fy
ZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgKaW5kZXggN2Q3
NTM3ZS4uMDJjZWNjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld1ByaXZh
dGUuaApAQCAtNTk0LDYgKzU5NCwyMiBAQCBDb3VsZCBiZSB3b3J0aCBhZGRpbmcgdG8gdGhlIEFQ
SS4KICovCiAtICh2b2lkKV9zZXRNaW5pbXVtVGltZXJJbnRlcnZhbDooZG91YmxlKWludGVydmFs
SW5TZWNvbmRzOwogCisvKiEKKyAgICBAbWV0aG9kIF9odHRwUGlwZWxpbmluZ0VuYWJsZWQKKyAg
ICBAYWJzdHJhY3QgQ2hlY2tzIHRoZSBIVFRQIHBpcGVsaW5pbmcgc3RhdHVzLgorICAgIEBkaXNj
dXNzaW9uIERlZmF1bHRzIHRvIE5PLgorICAgIEByZXN1bHQgWUVTIGlmIEhUVFAgcGlwZWxpbmlu
ZyBpcyBlbmFibGVkLCBOTyBpZiBub3QgZW5hYmxlZC4KKyAqLworKyAoQk9PTClfaHR0cFBpcGVs
aW5pbmdFbmFibGVkOworCisvKiEKKyAgICBAbWV0aG9kIF9zZXRIdHRwUGlwZWxpbmluZ0VuYWJs
ZWQ6CisgICAgQGFic3RyYWN0IFNldCB0aGUgSFRUUCBwaXBlbGluaW5nIHN0YXR1cy4KKyAgICBA
ZGlzY3Vzc2lvbiBEZWZhdWx0cyB0byBOTy4KKyAgICBAcGFyYW0gZW5hYmxlZCBUaGUgbmV3IEhU
VFAgcGlwZWxpbmluZyBzdGF0dXMuCisgKi8KKysgKHZvaWQpX3NldEh0dHBQaXBlbGluaW5nRW5h
YmxlZDooQk9PTCllbmFibGVkOworCiBAZW5kCiAKIEBpbnRlcmZhY2UgV2ViVmlldyAoV2ViVmll
d1ByaW50aW5nUHJpdmF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBmMDdmYzlkLi4wYjk4ODVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDQtMTUgIERhdmlkIEtpbHplciAgPGRka2lsemVy
QGFwcGxlLmNvbT4KKworICAgICAgICA8aHR0cDovL3dlYmtpdC5vcmcvYi81ODQ2Mz4gU3dpdGNo
IEhUVFAgcGlwZWxpbmluZyBmcm9tIHVzZXIgZGVmYXVsdCB0byBXZWJQcmVmZXJlbmNlcyBzZXR0
aW5nCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MjY4NzI5PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcmVwbGFjZXMgc3VwcG9ydCBmb3Ig
dGhlIFdlYktpdEVuYWJsZUhUVFBQaXBlbGluaW5nIHVzZXIKKyAgICAgICAgZGVmYXVsdCB3aXRo
IG1ldGhvZHMgb24gdGhlIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCBjbGFzcyBpbgorICAgICAg
ICBXZWJDb3JlLCB0aGUgV2ViVmlldyBjbGFzcyBpbiBXZWJLaXQxLCBhbmQgdGhlIFdlYkNvbnRl
eHQgY2xhc3MKKyAgICAgICAgaW4gV2ViS2l0Mi4gIEl0IGFsc28gcmVtb3ZlcyBzdXBwb3J0IGZv
ciB0aGUKKyAgICAgICAgV2ViS2l0Rm9yY2VIVFRQUGlwZWxpbmluZ1ByaW9yaXR5SGlnaCB1c2Vy
IGRlZmF1bHQgd2hpY2ggd2FzIG5vdAorICAgICAgICBuZWVkZWQuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OnNldEh0
dHBQaXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0
OjpodHRwUGlwZWxpbmluZ0VuYWJsZWQpOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
Q29udGV4dC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpzZXRIdHRwUGlwZWxpbmlu
Z0VuYWJsZWQpOiBBZGRlZCBkZWNsYXJhdGlvbi4KKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4
dDo6aHR0cFBpcGVsaW5pbmdFbmFibGVkKTogQWRkZWQgZGVjbGFyYXRpb24uCisKIDIwMTEtMDQt
MTIgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgT2xpdmVyIEh1bnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAK
aW5kZXggM2E3Mjc4Ny4uZDYyY2VhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250
ZXh0LmNwcApAQCAtNTQsNiArNTQsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTGFuZ3VhZ2UuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Mb2dnaW5n
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDx3dGYv
Q3VycmVudFRpbWUuaD4KIAogI2lmbmRlZiBOREVCVUcKQEAgLTczNyw0ICs3MzgsMTQgQEAgU3Ry
aW5nIFdlYkNvbnRleHQ6OmxvY2FsU3RvcmFnZURpcmVjdG9yeSgpIGNvbnN0CiAgICAgcmV0dXJu
IHBsYXRmb3JtRGVmYXVsdExvY2FsU3RvcmFnZURpcmVjdG9yeSgpOwogfQogCit2b2lkIFdlYkNv
bnRleHQ6OnNldEh0dHBQaXBlbGluaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCit7CisgICAgUmVz
b3VyY2VSZXF1ZXN0OjpzZXRIdHRwUGlwZWxpbmluZ0VuYWJsZWQoZW5hYmxlZCk7Cit9CisKK2Jv
b2wgV2ViQ29udGV4dDo6aHR0cFBpcGVsaW5pbmdFbmFibGVkKCkKK3sKKyAgICByZXR1cm4gUmVz
b3VyY2VSZXF1ZXN0OjpodHRwUGlwZWxpbmluZ0VuYWJsZWQoKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4
dC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAppbmRleCBmNDdkMzRh
Li40NTRjNTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKQEAgLTE2OCw2
ICsxNjgsMTAgQEAgcHVibGljOgogCiAgICAgYm9vbCBzaG91bGRUZXJtaW5hdGUoV2ViUHJvY2Vz
c1Byb3h5Kik7CiAKKyAgICAvLyBEZWZhdWx0cyB0byBmYWxzZS4KKyAgICB2b2lkIHNldEh0dHBQ
aXBlbGluaW5nRW5hYmxlZChib29sIGVuYWJsZWQpOworICAgIGJvb2wgaHR0cFBpcGVsaW5pbmdF
bmFibGVkKCk7CisKIHByaXZhdGU6CiAgICAgV2ViQ29udGV4dChQcm9jZXNzTW9kZWwsIGNvbnN0
IFN0cmluZyYgaW5qZWN0ZWRCdW5kbGVQYXRoKTsKIAotLSAKMS43LjIuMS4xNTguZ2JkM2E5NwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89927</attachid>
            <date>2011-04-16 11:16:58 -0700</date>
            <delta_ts>2011-04-17 19:00:06 -0700</delta_ts>
            <desc>Patch v3</desc>
            <filename>bug-58463-v3.diff</filename>
            <type>text/plain</type>
            <size>17936</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">RnJvbSBiZDNhZWRiNDQyMWI3Yjc5YjE5YzliMDc2MjRkM2I4ODFkMjU2MDg4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBLaWx6ZXIgPGRka2lsemVyQGFwcGxlLmNvbT4KRGF0
ZTogRnJpLCAxNSBBcHIgMjAxMSAxODozNzo0MSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIDxodHRw
Oi8vd2Via2l0Lm9yZy9iLzU4NDYzPiBTd2l0Y2ggSFRUUCBwaXBlbGluaW5nIGZyb20gdXNlciBk
ZWZhdWx0IHRvIHByaXZhdGUgc2V0dGluZwogPHJkYXI6Ly9wcm9ibGVtLzkyNjg3Mjk+CgpSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClRoaXMgcmVwbGFjZXMgc3VwcG9ydCBmb3IgdGhlIFdl
YktpdEVuYWJsZUhUVFBQaXBlbGluaW5nIHVzZXIKZGVmYXVsdCB3aXRoIG1ldGhvZHMgb24gdGhl
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCBjbGFzcyBpbgpXZWJDb3JlLCB0aGUgV2ViVmlldyBj
bGFzcyBpbiBXZWJLaXQxLCBhbmQgdGhlIFdlYkNvbnRleHQgY2xhc3MKaW4gV2ViS2l0Mi4gIEl0
IGFsc28gcmVtb3ZlcyBzdXBwb3J0IGZvciB0aGUKV2ViS2l0Rm9yY2VIVFRQUGlwZWxpbmluZ1By
aW9yaXR5SGlnaCB1c2VyIGRlZmF1bHQgd2hpY2ggd2FzIG5vdApuZWVkZWQuCgpTb3VyY2UvV2Vi
Q29yZToKClJ1biB0aGVzZSBjb21tYW5kcyBpZiB5b3Ugc2V0IHRoZSB1c2VyIGRlZmF1bHRzIHBy
ZXZpb3VzbHksCnJlcGxhY2luZyAiQlVORExFLklEIiB3aXRoIHlvdXIgYXBwbGljYXRpb24ncyBi
dW5kbGUgSUQ6CgogICAgZGVmYXVsdHMgZGVsZXRlIEJVTkRMRS5JRCBXZWJLaXRFbmFibGVIVFRQ
UGlwZWxpbmluZwogICAgZGVmYXVsdHMgZGVsZXRlIEJVTkRMRS5JRCBXZWJLaXRGb3JjZUhUVFBQ
aXBlbGluaW5nUHJpb3JpdHlIaWdoCgoqIFdlYkNvcmUuZXhwLmluOiBFeHBvcnQgUmVzb3VyY2VS
ZXF1ZXN0OjpodHRwUGlwZWxpbmluZ0VuYWJsZWQoKQphbmQgUmVzb3VyY2VSZXF1ZXN0OjpzZXRI
dHRwUGlwZWxpbmluZ0VuYWJsZWQoKS4KCiogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVl
c3RCYXNlLmg6CihXZWJDb3JlOjppc0hUVFBQaXBlbGluaW5nRW5hYmxlZCk6IFJlbW92ZWQgZGVj
bGFyYXRpb24uCihXZWJDb3JlOjpzaG91bGRGb3JjZUhUVFBQaXBlbGluaW5nUHJpb3JpdHlIaWdo
KTogUmVtb3ZlZCBkZWNsYXJhdGlvbi4KCiogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJl
cXVlc3QuaDoKKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6aHR0cFBpcGVsaW5pbmdFbmFibGVk
KTogQWRkZWQgZGVjbGFyYXRpb24uCihXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnNldEh0dHBQ
aXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkIGRlY2xhcmF0aW9uLgooV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0OjpzX2h0dHBQaXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkIGRlY2xhcmF0aW9uLgoKKiBw
bGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0LmNwcDoKKFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdDo6c19odHRwUGlwZWxpbmluZ0VuYWJsZWQpOiBBZGRlZC4KKFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdDo6aHR0cFBpcGVsaW5pbmdFbmFibGVkKTogQWRkZWQuCihXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3Q6OnNldEh0dHBQaXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkLgooV2Vi
Q29yZTo6aW5pdGlhbGl6ZU1heGltdW1IVFRQQ29ubmVjdGlvbkNvdW50UGVySG9zdCk6IFN3aXRj
aGVkCnRvIHVzZSBSZXNvdXJjZVJlcXVlc3Q6Omh0dHBQaXBlbGluaW5nRW5hYmxlZCgpLgooV2Vi
Q29yZTo6cmVhZEJvb2xlYW5QcmVmZXJlbmNlKTogUmVtb3ZlZC4KKFdlYkNvcmU6OmlzSFRUUFBp
cGVsaW5pbmdFbmFibGVkKTogUmVtb3ZlZC4KKFdlYkNvcmU6OnNob3VsZEZvcmNlSFRUUFBpcGVs
aW5pbmdQcmlvcml0eUhpZ2gpOiBSZW1vdmVkLgoKKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNv
dXJjZVJlcXVlc3RNYWMubW06CihXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUmVz
b3VyY2VSZXF1ZXN0KTogU3dpdGNoZWQgdG8KdXNlIFJlc291cmNlUmVxdWVzdDo6aHR0cFBpcGVs
aW5pbmdFbmFibGVkKCkuICBSZW1vdmVkIGNoZWNrIGZvcgpzaG91bGRGb3JjZUhUVFBQaXBlbGlu
aW5nUHJpb3JpdHlIaWdoKCkuCihXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUGxh
dGZvcm1SZXF1ZXN0KTogRGl0dG8uCgpTb3VyY2UvV2ViS2l0L21hYzoKCiogV2ViVmlldy9XZWJW
aWV3Lm1tOgooK1tXZWJWaWV3KFdlYlByaXZhdGUpIF9odHRwUGlwZWxpbmluZ0VuYWJsZWRdKTog
QWRkZWQuCigrW1dlYlZpZXcoV2ViUHJpdmF0ZSkgX3NldEh0dHBQaXBlbGluaW5nRW5hYmxlZDpd
KTogQWRkZWQuCiogV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oOgooK1tXZWJWaWV3KFdlYlByaXZh
dGUpIF9odHRwUGlwZWxpbmluZ0VuYWJsZWRdKTogQWRkZWQgZGVjbGFyYXRpb24uCigrW1dlYlZp
ZXcoV2ViUHJpdmF0ZSkgX3NldEh0dHBQaXBlbGluaW5nRW5hYmxlZDpdKTogQWRkZWQgZGVjbGFy
YXRpb24uCgpTb3VyY2UvV2ViS2l0MjoKCiogVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwOgooV2Vi
S2l0OjpXZWJDb250ZXh0OjpzZXRIdHRwUGlwZWxpbmluZ0VuYWJsZWQpOiBBZGRlZC4KKFdlYktp
dDo6V2ViQ29udGV4dDo6aHR0cFBpcGVsaW5pbmdFbmFibGVkKTogQWRkZWQuCiogVUlQcm9jZXNz
L1dlYkNvbnRleHQuaDoKKFdlYktpdDo6V2ViQ29udGV4dDo6c2V0SHR0cFBpcGVsaW5pbmdFbmFi
bGVkKTogQWRkZWQgZGVjbGFyYXRpb24uCihXZWJLaXQ6OldlYkNvbnRleHQ6Omh0dHBQaXBlbGlu
aW5nRW5hYmxlZCk6IEFkZGVkIGRlY2xhcmF0aW9uLgotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0OCArKysrKysrKysrKysrKysrKysr
KwogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gICAgICAgICAgICAgICAgICAgICAgfCAg
ICAyICsKIC4uLi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5o
IHwgICAgOCAtLS0KIC4uLi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1
ZXN0LmggIHwgICAgNSArKwogLi4uL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0
Q0ZOZXQuY3BwICAgfCAgIDMzICsrKysrLS0tLS0tLS0KIC4uLi9wbGF0Zm9ybS9uZXR3b3JrL21h
Yy9SZXNvdXJjZVJlcXVlc3RNYWMubW0gICAgIHwgICAgOCArLS0KIFNvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyMSArKysrKysrKysKIFNvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSAgICAgICAgICAgICAgIHwgICAxMSArKysr
KwogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oICAgICAgICAgfCAg
IDE2ICsrKysrKysKIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgICAyMSArKysrKysrKysKIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250
ZXh0LmNwcCAgICAgICAgICAgIHwgICAxNyArKysrKysrCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViQ29udGV4dC5oICAgICAgICAgICAgICB8ICAgIDQgKysKIDEyIGZpbGVzIGNoYW5nZWQs
IDE2MSBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmEyY2Y4
NS4uZjIyNDhkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDExLTA0LTE2ICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgPGh0dHA6Ly93ZWJraXQu
b3JnL2IvNTg0NjM+IFN3aXRjaCBIVFRQIHBpcGVsaW5pbmcgZnJvbSB1c2VyIGRlZmF1bHQgdG8g
cHJpdmF0ZSBzZXR0aW5nCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MjY4NzI5PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcmVwbGFjZXMg
c3VwcG9ydCBmb3IgdGhlIFdlYktpdEVuYWJsZUhUVFBQaXBlbGluaW5nIHVzZXIKKyAgICAgICAg
ZGVmYXVsdCB3aXRoIG1ldGhvZHMgb24gdGhlIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCBjbGFz
cyBpbgorICAgICAgICBXZWJDb3JlLCB0aGUgV2ViVmlldyBjbGFzcyBpbiBXZWJLaXQxLCBhbmQg
dGhlIFdlYkNvbnRleHQgY2xhc3MKKyAgICAgICAgaW4gV2ViS2l0Mi4gIEl0IGFsc28gcmVtb3Zl
cyBzdXBwb3J0IGZvciB0aGUKKyAgICAgICAgV2ViS2l0Rm9yY2VIVFRQUGlwZWxpbmluZ1ByaW9y
aXR5SGlnaCB1c2VyIGRlZmF1bHQgd2hpY2ggd2FzIG5vdAorICAgICAgICBuZWVkZWQuCisKKyAg
ICAgICAgUnVuIHRoZXNlIGNvbW1hbmRzIGlmIHlvdSBzZXQgdGhlIHVzZXIgZGVmYXVsdHMgcHJl
dmlvdXNseSwKKyAgICAgICAgcmVwbGFjaW5nICJCVU5ETEUuSUQiIHdpdGggeW91ciBhcHBsaWNh
dGlvbidzIGJ1bmRsZSBJRDoKKworICAgICAgICAgICAgZGVmYXVsdHMgZGVsZXRlIEJVTkRMRS5J
RCBXZWJLaXRFbmFibGVIVFRQUGlwZWxpbmluZworICAgICAgICAgICAgZGVmYXVsdHMgZGVsZXRl
IEJVTkRMRS5JRCBXZWJLaXRGb3JjZUhUVFBQaXBlbGluaW5nUHJpb3JpdHlIaWdoCisKKyAgICAg
ICAgKiBXZWJDb3JlLmV4cC5pbjogRXhwb3J0IFJlc291cmNlUmVxdWVzdDo6aHR0cFBpcGVsaW5p
bmdFbmFibGVkKCkKKyAgICAgICAgYW5kIFJlc291cmNlUmVxdWVzdDo6c2V0SHR0cFBpcGVsaW5p
bmdFbmFibGVkKCkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVz
dEJhc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OmlzSFRUUFBpcGVsaW5pbmdFbmFibGVkKTogUmVt
b3ZlZCBkZWNsYXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZEZvcmNlSFRUUFBpcGVs
aW5pbmdQcmlvcml0eUhpZ2gpOiBSZW1vdmVkIGRlY2xhcmF0aW9uLgorCisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdDo6aHR0cFBpcGVsaW5pbmdFbmFibGVkKTogQWRkZWQgZGVjbGFyYXRpb24u
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnNldEh0dHBQaXBlbGluaW5nRW5h
YmxlZCk6IEFkZGVkIGRlY2xhcmF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0OjpzX2h0dHBQaXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkIGRlY2xhcmF0aW9uLgorCisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3RDRk5ldC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnNfaHR0cFBpcGVsaW5pbmdFbmFibGVkKTog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6Omh0dHBQaXBlbGluaW5n
RW5hYmxlZCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0OjpzZXRI
dHRwUGlwZWxpbmluZ0VuYWJsZWQpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmluaXRpYWxp
emVNYXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBlckhvc3QpOiBTd2l0Y2hlZAorICAgICAgICB0
byB1c2UgUmVzb3VyY2VSZXF1ZXN0OjpodHRwUGlwZWxpbmluZ0VuYWJsZWQoKS4KKyAgICAgICAg
KFdlYkNvcmU6OnJlYWRCb29sZWFuUHJlZmVyZW5jZSk6IFJlbW92ZWQuCisgICAgICAgIChXZWJD
b3JlOjppc0hUVFBQaXBlbGluaW5nRW5hYmxlZCk6IFJlbW92ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpzaG91bGRGb3JjZUhUVFBQaXBlbGluaW5nUHJpb3JpdHlIaWdoKTogUmVtb3ZlZC4KKworICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVxdWVzdE1hYy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6ZG9VcGRhdGVSZXNvdXJjZVJlcXVlc3QpOiBT
d2l0Y2hlZCB0bworICAgICAgICB1c2UgUmVzb3VyY2VSZXF1ZXN0OjpodHRwUGlwZWxpbmluZ0Vu
YWJsZWQoKS4gIFJlbW92ZWQgY2hlY2sgZm9yCisgICAgICAgIHNob3VsZEZvcmNlSFRUUFBpcGVs
aW5pbmdQcmlvcml0eUhpZ2goKS4KKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6
ZG9VcGRhdGVQbGF0Zm9ybVJlcXVlc3QpOiBEaXR0by4KKwogMjAxMS0wNC0xNSAgTU9SSVRBIEhh
amltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBG
cmFzZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGE0YjgyMzEuLmFjYjEwNjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCkBAIC00MTYsNiArNDE2LDggQEAgX19aTjdXZWJDb3JlMTVKU0RPTVdpbmRv
d0Jhc2UxOGNvbW1vbkpTR2xvYmFsRGF0YUV2CiBfX1pON1dlYkNvcmUxNVBsYXRmb3JtQ0FMYXll
cjE4c2V0R2VvbWV0cnlGbGlwcGVkRWIKIF9fWk43V2ViQ29yZTE1UHJvdGVjdGlvblNwYWNlQzFF
UktOM1dURjZTdHJpbmdFaU5TXzI1UHJvdGVjdGlvblNwYWNlU2VydmVyVHlwZUVTNF9OU18zNVBy
b3RlY3Rpb25TcGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lRQogX19aTjdXZWJDb3JlMTVQcm90ZWN0
aW9uU3BhY2VDMUV2CitfX1pON1dlYkNvcmUxNVJlc291cmNlUmVxdWVzdDIxaHR0cFBpcGVsaW5p
bmdFbmFibGVkRXYKK19fWk43V2ViQ29yZTE1UmVzb3VyY2VSZXF1ZXN0MjRzZXRIdHRwUGlwZWxp
bmluZ0VuYWJsZWRFYgogX19aTjdXZWJDb3JlMTVTY3JvbGxBbGlnbm1lbnQxN2FsaWduQ2VudGVy
QWx3YXlzRQogX19aTjdXZWJDb3JlMTVTY3JvbGxBbGlnbm1lbnQxOWFsaWduVG9FZGdlSWZOZWVk
ZWRFCiBfX1pON1dlYkNvcmUxNVN0cmluZ1RydW5jYXRvcjEzcmlnaHRUcnVuY2F0ZUVSS04zV1RG
NlN0cmluZ0VmUktOU180Rm9udEUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggZDVjMzk2OC4uNTNlMTE2MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RC
YXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVl
c3RCYXNlLmgKQEAgLTI0MSwxNCArMjQxLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAog
ICAgIHVuc2lnbmVkIGluaXRpYWxpemVNYXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBlckhvc3Qo
KTsKIAotI2lmIFVTRShDRikKLSAgICBib29sIGlzSFRUUFBpcGVsaW5pbmdFbmFibGVkKCk7Ci0g
ICAgYm9vbCBzaG91bGRGb3JjZUhUVFBQaXBlbGluaW5nUHJpb3JpdHlIaWdoKCk7Ci0jZWxzZQot
ICAgIGlubGluZSBib29sIGlzSFRUUFBpcGVsaW5pbmdFbmFibGVkKCkgeyByZXR1cm4gZmFsc2U7
IH0KLSAgICBpbmxpbmUgYm9vbCBzaG91bGRGb3JjZUhUVFBQaXBlbGluaW5nUHJpb3JpdHlIaWdo
KCkgeyByZXR1cm4gZmFsc2U7IH0KLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBSZXNvdXJjZVJlcXVlc3RCYXNlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdC5oCmluZGV4IDJkYTUwMjYuLjMz
MmI3ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVz
b3VyY2VSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9S
ZXNvdXJjZVJlcXVlc3QuaApAQCAtODgsNiArODgsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIHZvaWQgc2V0U3RvcmFnZVNlc3Npb24oQ0ZVUkxTdG9yYWdlU2Vzc2lvblJlZik7CiAj
ZW5kaWYKIAorICAgICAgICBzdGF0aWMgYm9vbCBodHRwUGlwZWxpbmluZ0VuYWJsZWQoKTsKKyAg
ICAgICAgc3RhdGljIHZvaWQgc2V0SHR0cFBpcGVsaW5pbmdFbmFibGVkKGJvb2wgZmxhZyk7CisK
ICAgICBwcml2YXRlOgogICAgICAgICBmcmllbmQgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0QmFzZTsK
IApAQCAtMTAyLDYgKzEwNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbHNlCiAgICAgICAg
IFJldGFpblB0cjxOU1VSTFJlcXVlc3Q+IG1fbnNSZXF1ZXN0OwogI2VuZGlmCisKKyAgICAgICAg
c3RhdGljIGJvb2wgc19odHRwUGlwZWxpbmluZ0VuYWJsZWQ7CiAgICAgfTsKIAogICAgIHN0cnVj
dCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGEgOiBwdWJsaWMgQ3Jvc3NUaHJlYWRSZXNv
dXJjZVJlcXVlc3REYXRhQmFzZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwCmluZGV4IDBhMGJjN2Mu
LjAwYTJmZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2Yv
UmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwCkBAIC00MSw2ICs0MSw4IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorYm9vbCBSZXNvdXJjZVJlcXVlc3Q6OnNfaHR0cFBpcGVsaW5p
bmdFbmFibGVkID0gZmFsc2U7CisKICNpZiBVU0UoQ0ZORVRXT1JLKQogCiB0eXBlZGVmIHZvaWQg
KCpDRlVSTFJlcXVlc3RTZXRDb250ZW50RGlzcG9zaXRpb25FbmNvZGluZ0ZhbGxiYWNrQXJyYXlG
dW5jdGlvbikoQ0ZNdXRhYmxlVVJMUmVxdWVzdFJlZiwgQ0ZBcnJheVJlZik7CkBAIC0yMDksNiAr
MjExLDE2IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0OjpzZXRTdG9yYWdlU2Vzc2lvbihDRlVSTFN0
b3JhZ2VTZXNzaW9uUmVmIHN0b3JhZ2VTZXNzaW9uKQogCiAjZW5kaWYgLy8gVVNFKENGTkVUV09S
SykKIAorYm9vbCBSZXNvdXJjZVJlcXVlc3Q6Omh0dHBQaXBlbGluaW5nRW5hYmxlZCgpCit7Cisg
ICAgcmV0dXJuIHNfaHR0cFBpcGVsaW5pbmdFbmFibGVkOworfQorCit2b2lkIFJlc291cmNlUmVx
dWVzdDo6c2V0SHR0cFBpcGVsaW5pbmdFbmFibGVkKGJvb2wgZmxhZykKK3sKKyAgICBzX2h0dHBQ
aXBlbGluaW5nRW5hYmxlZCA9IGZsYWc7Cit9CisKIHVuc2lnbmVkIGluaXRpYWxpemVNYXhpbXVt
SFRUUENvbm5lY3Rpb25Db3VudFBlckhvc3QoKQogewogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBwcmVmZXJyZWRDb25uZWN0aW9uQ291bnQgPSA2OwpAQCAtMjE4LDcgKzIzMCw3IEBAIHVuc2ln
bmVkIGluaXRpYWxpemVNYXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBlckhvc3QoKQogICAgIHVu
c2lnbmVkIG1heGltdW1IVFRQQ29ubmVjdGlvbkNvdW50UGVySG9zdCA9IHdrSW5pdGlhbGl6ZU1h
eGltdW1IVFRQQ29ubmVjdGlvbkNvdW50UGVySG9zdChwcmVmZXJyZWRDb25uZWN0aW9uQ291bnQp
OwogCiAjaWYgUExBVEZPUk0oTUFDKQotICAgIGlmIChpc0hUVFBQaXBlbGluaW5nRW5hYmxlZCgp
KSB7CisgICAgaWYgKFJlc291cmNlUmVxdWVzdDo6aHR0cFBpcGVsaW5pbmdFbmFibGVkKCkpIHsK
ICAgICAgICAgd2tTZXRIVFRQUGlwZWxpbmluZ01heGltdW1Qcmlvcml0eShSZXNvdXJjZUxvYWRQ
cmlvcml0eUhpZ2hlc3QpOwogICAgICAgICB3a1NldEhUVFBQaXBlbGluaW5nTWluaW11bUZhc3RM
YW5lUHJpb3JpdHkoUmVzb3VyY2VMb2FkUHJpb3JpdHlNZWRpdW0pOwogICAgICAgICAvLyBXaGVu
IHBpcGVsaW5pbmcgZG8gbm90IHJhdGUtbGltaXQgcmVxdWVzdHMgc2VudCBmcm9tIFdlYkNvcmUg
c2luY2UgQ0ZOZXR3b3JrIGhhbmRsZXMgdGhhdC4KQEAgLTIyOSwyMyArMjQxLDQgQEAgdW5zaWdu
ZWQgaW5pdGlhbGl6ZU1heGltdW1IVFRQQ29ubmVjdGlvbkNvdW50UGVySG9zdCgpCiAgICAgcmV0
dXJuIG1heGltdW1IVFRQQ29ubmVjdGlvbkNvdW50UGVySG9zdDsKIH0KIAotc3RhdGljIGlubGlu
ZSBib29sIHJlYWRCb29sZWFuUHJlZmVyZW5jZShDRlN0cmluZ1JlZiBrZXkpCi17Ci0gICAgQm9v
bGVhbiBrZXlFeGlzdHNBbmRIYXNWYWxpZEZvcm1hdDsKLSAgICBCb29sZWFuIHJlc3VsdCA9IENG
UHJlZmVyZW5jZXNHZXRBcHBCb29sZWFuVmFsdWUoa2V5LCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRB
cHBsaWNhdGlvbiwgJmtleUV4aXN0c0FuZEhhc1ZhbGlkRm9ybWF0KTsKLSAgICByZXR1cm4ga2V5
RXhpc3RzQW5kSGFzVmFsaWRGb3JtYXQgPyByZXN1bHQgOiBmYWxzZTsKLX0KLQotYm9vbCBpc0hU
VFBQaXBlbGluaW5nRW5hYmxlZCgpCi17Ci0gICAgc3RhdGljIGJvb2wgaXNFbmFibGVkID0gcmVh
ZEJvb2xlYW5QcmVmZXJlbmNlKENGU1RSKCJXZWJLaXRFbmFibGVIVFRQUGlwZWxpbmluZyIpKTsK
LSAgICByZXR1cm4gaXNFbmFibGVkOwotfQotCi1ib29sIHNob3VsZEZvcmNlSFRUUFBpcGVsaW5p
bmdQcmlvcml0eUhpZ2goKQotewotICAgIHN0YXRpYyBib29sIHNob3VsZEZvcmNlUHJpb3JpdHlI
aWdoID0gcmVhZEJvb2xlYW5QcmVmZXJlbmNlKENGU1RSKCJXZWJLaXRGb3JjZUhUVFBQaXBlbGlu
aW5nUHJpb3JpdHlIaWdoIikpOwotICAgIHJldHVybiBzaG91bGRGb3JjZVByaW9yaXR5SGlnaDsK
LX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXF1ZXN0TWFjLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXF1ZXN0TWFjLm1tCmluZGV4IDMzZmY0
OTAuLmQ5OWUxYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
bWFjL1Jlc291cmNlUmVxdWVzdE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL21hYy9SZXNvdXJjZVJlcXVlc3RNYWMubW0KQEAgLTcwLDcgKzcwLDcgQEAgdm9pZCBS
ZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUmVzb3VyY2VSZXF1ZXN0KCkKICAgICBtX2FsbG93Q29v
a2llcyA9IFttX25zUmVxdWVzdC5nZXQoKSBIVFRQU2hvdWxkSGFuZGxlQ29va2llc107CiAKICNp
ZiAhZGVmaW5lZChCVUlMRElOR19PTl9USUdFUikgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVP
UEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQotICAgIGlmIChpc0hU
VFBQaXBlbGluaW5nRW5hYmxlZCgpICYmICFzaG91bGRGb3JjZUhUVFBQaXBlbGluaW5nUHJpb3Jp
dHlIaWdoKCkpCisgICAgaWYgKFJlc291cmNlUmVxdWVzdDo6aHR0cFBpcGVsaW5pbmdFbmFibGVk
KCkpCiAgICAgICAgIG1fcHJpb3JpdHkgPSB0b1Jlc291cmNlTG9hZFByaW9yaXR5KHdrR2V0SFRU
UFBpcGVsaW5pbmdQcmlvcml0eShtX25zUmVxdWVzdC5nZXQoKSkpOwogI2VuZGlmCiAKQEAgLTEy
MCwxMCArMTIwLDggQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUGxhdGZvcm1SZXF1
ZXN0KCkKICNlbmRpZgogCiAjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fVElHRVIpICYmICFkZWZp
bmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVP
UEFSRCkKLSAgICBpZiAoaXNIVFRQUGlwZWxpbmluZ0VuYWJsZWQoKSkgewotICAgICAgICBpbnQg
cHJpb3JpdHkgPSB0b0hUVFBQaXBlbGluaW5nUHJpb3JpdHkoc2hvdWxkRm9yY2VIVFRQUGlwZWxp
bmluZ1ByaW9yaXR5SGlnaCgpID8gUmVzb3VyY2VMb2FkUHJpb3JpdHlIaWdoIDogbV9wcmlvcml0
eSk7Ci0gICAgICAgIHdrU2V0SFRUUFBpcGVsaW5pbmdQcmlvcml0eShuc1JlcXVlc3QsIHByaW9y
aXR5KTsKLSAgICB9CisgICAgaWYgKFJlc291cmNlUmVxdWVzdDo6aHR0cFBpcGVsaW5pbmdFbmFi
bGVkKCkpCisgICAgICAgIHdrU2V0SFRUUFBpcGVsaW5pbmdQcmlvcml0eShuc1JlcXVlc3QsIHRv
SFRUUFBpcGVsaW5pbmdQcmlvcml0eShtX3ByaW9yaXR5KSk7CiAjZW5kaWYKIAogICAgIFtuc1Jl
cXVlc3Qgc2V0Q2FjaGVQb2xpY3k6KE5TVVJMUmVxdWVzdENhY2hlUG9saWN5KWNhY2hlUG9saWN5
KCldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDI0ZTc2MTIuLmVkMjZkNDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMS0wNC0xNiAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJA
YXBwbGUuY29tPgorCisgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzU4NDYzPiBTd2l0Y2gg
SFRUUCBwaXBlbGluaW5nIGZyb20gdXNlciBkZWZhdWx0IHRvIHByaXZhdGUgc2V0dGluZworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vOTI2ODcyOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHJlcGxhY2VzIHN1cHBvcnQgZm9yIHRoZSBXZWJL
aXRFbmFibGVIVFRQUGlwZWxpbmluZyB1c2VyCisgICAgICAgIGRlZmF1bHQgd2l0aCBtZXRob2Rz
IG9uIHRoZSBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgY2xhc3MgaW4KKyAgICAgICAgV2ViQ29y
ZSwgdGhlIFdlYlZpZXcgY2xhc3MgaW4gV2ViS2l0MSwgYW5kIHRoZSBXZWJDb250ZXh0IGNsYXNz
CisgICAgICAgIGluIFdlYktpdDIuICBJdCBhbHNvIHJlbW92ZXMgc3VwcG9ydCBmb3IgdGhlCisg
ICAgICAgIFdlYktpdEZvcmNlSFRUUFBpcGVsaW5pbmdQcmlvcml0eUhpZ2ggdXNlciBkZWZhdWx0
IHdoaWNoIHdhcyBub3QKKyAgICAgICAgbmVlZGVkLgorCisgICAgICAgICogV2ViVmlldy9XZWJW
aWV3Lm1tOgorICAgICAgICAoK1tXZWJWaWV3KFdlYlByaXZhdGUpIF9odHRwUGlwZWxpbmluZ0Vu
YWJsZWRdKTogQWRkZWQuCisgICAgICAgICgrW1dlYlZpZXcoV2ViUHJpdmF0ZSkgX3NldEh0dHBQ
aXBlbGluaW5nRW5hYmxlZDpdKTogQWRkZWQuCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3UHJp
dmF0ZS5oOgorICAgICAgICAoK1tXZWJWaWV3KFdlYlByaXZhdGUpIF9odHRwUGlwZWxpbmluZ0Vu
YWJsZWRdKTogQWRkZWQgZGVjbGFyYXRpb24uCisgICAgICAgICgrW1dlYlZpZXcoV2ViUHJpdmF0
ZSkgX3NldEh0dHBQaXBlbGluaW5nRW5hYmxlZDpdKTogQWRkZWQgZGVjbGFyYXRpb24uCisKIDIw
MTEtMDQtMTUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBHQyBh
bGxvY2F0ZSBTdHJ1Y3R1cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBk
N2ZkNWFmLi42OWNiY2UxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0x
NDgsNiArMTQ4LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUmVuZGVyV2lkZ2V0Lmg+CiAjaW1wb3J0
IDxXZWJDb3JlL1Jlc291cmNlSGFuZGxlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlTG9h
ZFNjaGVkdWxlci5oPgorI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbXBv
cnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1NjaGVtZVJlZ2lzdHJ5Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NjcmlwdENvbnRyb2xsZXIuaD4K
QEAgLTI4MjcsNiArMjgyOCwxNiBAQCAtICh2b2lkKV9zZXRNaW5pbXVtVGltZXJJbnRlcnZhbDoo
ZG91YmxlKWludGVydmFsSW5TZWNvbmRzCiAgICAgICAgIF9wcml2YXRlLT5wYWdlLT5zZXR0aW5n
cygpLT5zZXRNaW5ET01UaW1lckludGVydmFsKGludGVydmFsSW5TZWNvbmRzKTsKIH0KIAorKyAo
Qk9PTClfaHR0cFBpcGVsaW5pbmdFbmFibGVkCit7CisgICAgcmV0dXJuIFJlc291cmNlUmVxdWVz
dDo6aHR0cFBpcGVsaW5pbmdFbmFibGVkKCk7Cit9CisKKysgKHZvaWQpX3NldEh0dHBQaXBlbGlu
aW5nRW5hYmxlZDooQk9PTCllbmFibGVkCit7CisgICAgUmVzb3VyY2VSZXF1ZXN0OjpzZXRIdHRw
UGlwZWxpbmluZ0VuYWJsZWQoZW5hYmxlZCk7Cit9CisKIEBlbmQKIAogQGltcGxlbWVudGF0aW9u
IF9XZWJTYWZlRm9yd2FyZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2
YXRlLmgKaW5kZXggN2Q3NTM3ZS4uMDJjZWNjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViVmlld1ByaXZhdGUuaApAQCAtNTk0LDYgKzU5NCwyMiBAQCBDb3VsZCBiZSB3b3J0aCBh
ZGRpbmcgdG8gdGhlIEFQSS4KICovCiAtICh2b2lkKV9zZXRNaW5pbXVtVGltZXJJbnRlcnZhbDoo
ZG91YmxlKWludGVydmFsSW5TZWNvbmRzOwogCisvKiEKKyAgICBAbWV0aG9kIF9odHRwUGlwZWxp
bmluZ0VuYWJsZWQKKyAgICBAYWJzdHJhY3QgQ2hlY2tzIHRoZSBIVFRQIHBpcGVsaW5pbmcgc3Rh
dHVzLgorICAgIEBkaXNjdXNzaW9uIERlZmF1bHRzIHRvIE5PLgorICAgIEByZXN1bHQgWUVTIGlm
IEhUVFAgcGlwZWxpbmluZyBpcyBlbmFibGVkLCBOTyBpZiBub3QgZW5hYmxlZC4KKyAqLworKyAo
Qk9PTClfaHR0cFBpcGVsaW5pbmdFbmFibGVkOworCisvKiEKKyAgICBAbWV0aG9kIF9zZXRIdHRw
UGlwZWxpbmluZ0VuYWJsZWQ6CisgICAgQGFic3RyYWN0IFNldCB0aGUgSFRUUCBwaXBlbGluaW5n
IHN0YXR1cy4KKyAgICBAZGlzY3Vzc2lvbiBEZWZhdWx0cyB0byBOTy4KKyAgICBAcGFyYW0gZW5h
YmxlZCBUaGUgbmV3IEhUVFAgcGlwZWxpbmluZyBzdGF0dXMuCisgKi8KKysgKHZvaWQpX3NldEh0
dHBQaXBlbGluaW5nRW5hYmxlZDooQk9PTCllbmFibGVkOworCiBAZW5kCiAKIEBpbnRlcmZhY2Ug
V2ViVmlldyAoV2ViVmlld1ByaW50aW5nUHJpdmF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBhYzgwYTA4Li41
NDc3MGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDQtMTYgIERhdmlkIEtp
bHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICA8aHR0cDovL3dlYmtpdC5vcmcv
Yi81ODQ2Mz4gU3dpdGNoIEhUVFAgcGlwZWxpbmluZyBmcm9tIHVzZXIgZGVmYXVsdCB0byBwcml2
YXRlIHNldHRpbmcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzkyNjg3Mjk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyByZXBsYWNlcyBzdXBw
b3J0IGZvciB0aGUgV2ViS2l0RW5hYmxlSFRUUFBpcGVsaW5pbmcgdXNlcgorICAgICAgICBkZWZh
dWx0IHdpdGggbWV0aG9kcyBvbiB0aGUgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IGNsYXNzIGlu
CisgICAgICAgIFdlYkNvcmUsIHRoZSBXZWJWaWV3IGNsYXNzIGluIFdlYktpdDEsIGFuZCB0aGUg
V2ViQ29udGV4dCBjbGFzcworICAgICAgICBpbiBXZWJLaXQyLiAgSXQgYWxzbyByZW1vdmVzIHN1
cHBvcnQgZm9yIHRoZQorICAgICAgICBXZWJLaXRGb3JjZUhUVFBQaXBlbGluaW5nUHJpb3JpdHlI
aWdoIHVzZXIgZGVmYXVsdCB3aGljaCB3YXMgbm90CisgICAgICAgIG5lZWRlZC4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4
dDo6c2V0SHR0cFBpcGVsaW5pbmdFbmFibGVkKTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Oldl
YkNvbnRleHQ6Omh0dHBQaXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJDb250ZXh0Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OnNldEh0dHBQ
aXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkIGRlY2xhcmF0aW9uLgorICAgICAgICAoV2ViS2l0OjpX
ZWJDb250ZXh0OjpodHRwUGlwZWxpbmluZ0VuYWJsZWQpOiBBZGRlZCBkZWNsYXJhdGlvbi4KKwog
MjAxMS0wNC0xNSAgSmVmZiBNaWxsZXIgIDxqZWZmbUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNw
cAppbmRleCBlZWNjMjQwLi45NDhlZjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNv
bnRleHQuY3BwCkBAIC01NCw2ICs1NCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9MYW5ndWFnZS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvTGlua0hhc2guaD4KICNpbmNsdWRlIDxXZWJDb3JlL0xvZ2dp
bmcuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2luY2x1ZGUgPHd0
Zi9DdXJyZW50VGltZS5oPgogCiAjaWZuZGVmIE5ERUJVRwpAQCAtNzQ4LDQgKzc0OSwyMCBAQCBT
dHJpbmcgV2ViQ29udGV4dDo6bG9jYWxTdG9yYWdlRGlyZWN0b3J5KCkgY29uc3QKICAgICByZXR1
cm4gcGxhdGZvcm1EZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KCk7CiB9CiAKK3ZvaWQgV2Vi
Q29udGV4dDo6c2V0SHR0cFBpcGVsaW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKK3sKKyNpZiBQ
TEFURk9STShNQUMpCisgICAgUmVzb3VyY2VSZXF1ZXN0OjpzZXRIdHRwUGlwZWxpbmluZ0VuYWJs
ZWQoZW5hYmxlZCk7CisjZW5kaWYKK30KKworYm9vbCBXZWJDb250ZXh0OjpodHRwUGlwZWxpbmlu
Z0VuYWJsZWQoKQoreworI2lmIFBMQVRGT1JNKE1BQykKKyAgICByZXR1cm4gUmVzb3VyY2VSZXF1
ZXN0OjpodHRwUGlwZWxpbmluZ0VuYWJsZWQoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOwor
I2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJDb250ZXh0LmgKaW5kZXggMzAzZTk3ZC4uYmMyNTA3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViQ29udGV4dC5oCkBAIC0xNzEsNiArMTcxLDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGRp
c2FibGVQcm9jZXNzVGVybWluYXRpb24oKSB7IG1fcHJvY2Vzc1Rlcm1pbmF0aW9uRW5hYmxlZCA9
IGZhbHNlOyB9CiAgICAgdm9pZCBlbmFibGVQcm9jZXNzVGVybWluYXRpb24oKTsKIAorICAgIC8v
IERlZmF1bHRzIHRvIGZhbHNlLgorICAgIHZvaWQgc2V0SHR0cFBpcGVsaW5pbmdFbmFibGVkKGJv
b2wgZW5hYmxlZCk7CisgICAgYm9vbCBodHRwUGlwZWxpbmluZ0VuYWJsZWQoKTsKKwogcHJpdmF0
ZToKICAgICBXZWJDb250ZXh0KFByb2Nlc3NNb2RlbCwgY29uc3QgU3RyaW5nJiBpbmplY3RlZEJ1
bmRsZVBhdGgpOwogCi0tIAoxLjcuMi4xLjE1OC5nYmQzYTk3Cgo=
</data>
<flag name="review"
          id="82644"
          type_id="1"
          status="-"
          setter="mitz"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89981</attachid>
            <date>2011-04-17 19:00:06 -0700</date>
            <delta_ts>2011-04-17 19:08:34 -0700</delta_ts>
            <desc>Patch v4</desc>
            <filename>bug-58463-v4.diff</filename>
            <type>text/plain</type>
            <size>19567</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">RnJvbSA4OGI4NGE0OWE4NWE1ZGYzMmQ2NWU3ZGM2OTIyM2JiZjA5MzEwZDliIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBLaWx6ZXIgPGRka2lsemVyQGFwcGxlLmNvbT4KRGF0
ZTogU3VuLCAxNyBBcHIgMjAxMSAxODo1NTo1NyAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIDxodHRw
Oi8vd2Via2l0Lm9yZy9iLzU4NDYzPiBTd2l0Y2ggSFRUUCBwaXBlbGluaW5nIGZyb20gdXNlciBk
ZWZhdWx0IHRvIHByaXZhdGUgc2V0dGluZwogPHJkYXI6Ly9wcm9ibGVtLzkyNjg3Mjk+CgpSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClRoaXMgcmVwbGFjZXMgc3VwcG9ydCBmb3IgdGhlIFdl
YktpdEVuYWJsZUhUVFBQaXBlbGluaW5nIHVzZXIKZGVmYXVsdCB3aXRoIG1ldGhvZHMgb24gdGhl
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCBjbGFzcyBpbgpXZWJDb3JlLCB0aGUgV2ViVmlldyBj
bGFzcyBpbiBXZWJLaXQxLCBhbmQgdGhlIFdlYkNvbnRleHQgY2xhc3MKaW4gV2ViS2l0Mi4gIEl0
IGFsc28gcmVtb3ZlcyBzdXBwb3J0IGZvciB0aGUKV2ViS2l0Rm9yY2VIVFRQUGlwZWxpbmluZ1By
aW9yaXR5SGlnaCB1c2VyIGRlZmF1bHQgd2hpY2ggd2FzIG5vdApuZWVkZWQuCgpTb3VyY2UvV2Vi
Q29yZToKClJ1biB0aGVzZSBjb21tYW5kcyBpZiB5b3Ugc2V0IHRoZSB1c2VyIGRlZmF1bHRzIHBy
ZXZpb3VzbHksCnJlcGxhY2luZyAiQlVORExFLklEIiB3aXRoIHlvdXIgYXBwbGljYXRpb24ncyBi
dW5kbGUgSUQ6CgogICAgZGVmYXVsdHMgZGVsZXRlIEJVTkRMRS5JRCBXZWJLaXRFbmFibGVIVFRQ
UGlwZWxpbmluZwogICAgZGVmYXVsdHMgZGVsZXRlIEJVTkRMRS5JRCBXZWJLaXRGb3JjZUhUVFBQ
aXBlbGluaW5nUHJpb3JpdHlIaWdoCgoqIFdlYkNvcmUuZXhwLmluOiBFeHBvcnQgUmVzb3VyY2VS
ZXF1ZXN0OjpodHRwUGlwZWxpbmluZ0VuYWJsZWQoKQphbmQgUmVzb3VyY2VSZXF1ZXN0OjpzZXRI
VFRQUGlwZWxpbmluZ0VuYWJsZWQoKS4KCiogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVl
c3RCYXNlLmg6CihXZWJDb3JlOjppc0hUVFBQaXBlbGluaW5nRW5hYmxlZCk6IFJlbW92ZWQgZGVj
bGFyYXRpb24uCihXZWJDb3JlOjpzaG91bGRGb3JjZUhUVFBQaXBlbGluaW5nUHJpb3JpdHlIaWdo
KTogUmVtb3ZlZCBkZWNsYXJhdGlvbi4KCiogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJl
cXVlc3QuaDoKKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6aHR0cFBpcGVsaW5pbmdFbmFibGVk
KTogQWRkZWQgZGVjbGFyYXRpb24uCihXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnNldEhUVFBQ
aXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkIGRlY2xhcmF0aW9uLgooV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0OjpzX2h0dHBQaXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkIGRlY2xhcmF0aW9uLgoKKiBw
bGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0LmNwcDoKKFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdDo6c19odHRwUGlwZWxpbmluZ0VuYWJsZWQpOiBBZGRlZC4KKFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdDo6aHR0cFBpcGVsaW5pbmdFbmFibGVkKTogQWRkZWQuCihXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3Q6OnNldEhUVFBQaXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkLgooV2Vi
Q29yZTo6aW5pdGlhbGl6ZU1heGltdW1IVFRQQ29ubmVjdGlvbkNvdW50UGVySG9zdCk6IFN3aXRj
aGVkCnRvIHVzZSBSZXNvdXJjZVJlcXVlc3Q6Omh0dHBQaXBlbGluaW5nRW5hYmxlZCgpLgooV2Vi
Q29yZTo6cmVhZEJvb2xlYW5QcmVmZXJlbmNlKTogUmVtb3ZlZC4KKFdlYkNvcmU6OmlzSFRUUFBp
cGVsaW5pbmdFbmFibGVkKTogUmVtb3ZlZC4KKFdlYkNvcmU6OnNob3VsZEZvcmNlSFRUUFBpcGVs
aW5pbmdQcmlvcml0eUhpZ2gpOiBSZW1vdmVkLgoKKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNv
dXJjZVJlcXVlc3RNYWMubW06CihXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUmVz
b3VyY2VSZXF1ZXN0KTogU3dpdGNoZWQgdG8KdXNlIFJlc291cmNlUmVxdWVzdDo6aHR0cFBpcGVs
aW5pbmdFbmFibGVkKCkuICBSZW1vdmVkIGNoZWNrIGZvcgpzaG91bGRGb3JjZUhUVFBQaXBlbGlu
aW5nUHJpb3JpdHlIaWdoKCkuCihXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUGxh
dGZvcm1SZXF1ZXN0KTogRGl0dG8uCgpTb3VyY2UvV2ViS2l0L21hYzoKCiogV2ViVmlldy9XZWJW
aWV3Lm1tOgooK1tXZWJWaWV3KFdlYlByaXZhdGUpIF9IVFRQUGlwZWxpbmluZ0VuYWJsZWRdKTog
QWRkZWQuCigrW1dlYlZpZXcoV2ViUHJpdmF0ZSkgX3NldEhUVFBQaXBlbGluaW5nRW5hYmxlZDpd
KTogQWRkZWQuCiogV2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oOgooK1tXZWJWaWV3KFdlYlByaXZh
dGUpIF9IVFRQUGlwZWxpbmluZ0VuYWJsZWRdKTogQWRkZWQgZGVjbGFyYXRpb24uCigrW1dlYlZp
ZXcoV2ViUHJpdmF0ZSkgX3NldEhUVFBQaXBlbGluaW5nRW5hYmxlZDpdKTogQWRkZWQgZGVjbGFy
YXRpb24uCgpTb3VyY2UvV2ViS2l0MjoKCiogVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHA6
CihfV0tDb250ZXh0U2V0SFRUUFBpcGVsaW5pbmdFbmFibGVkKTogQWRkZWQuCiogVUlQcm9jZXNz
L0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaDoKKF9XS0NvbnRleHRTZXRIVFRQUGlwZWxpbmluZ0Vu
YWJsZWQpOiBBZGRlZCBkZWNsYXJhdGlvbi4KKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5jcHA6CihX
ZWJLaXQ6OldlYkNvbnRleHQ6OnNldEhUVFBQaXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkLgooV2Vi
S2l0OjpXZWJDb250ZXh0OjpodHRwUGlwZWxpbmluZ0VuYWJsZWQpOiBBZGRlZC4KKiBVSVByb2Nl
c3MvV2ViQ29udGV4dC5oOgooV2ViS2l0OjpXZWJDb250ZXh0OjpzZXRIVFRQUGlwZWxpbmluZ0Vu
YWJsZWQpOiBBZGRlZCBkZWNsYXJhdGlvbi4KKFdlYktpdDo6V2ViQ29udGV4dDo6aHR0cFBpcGVs
aW5pbmdFbmFibGVkKTogQWRkZWQgZGVjbGFyYXRpb24uCi0tLQogU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQ4ICsrKysrKysrKysrKysrKysr
KysrCiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiAgICAgICAgICAgICAgICAgICAgICB8
ICAgIDIgKwogLi4uL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNl
LmggfCAgICA4IC0tLQogLi4uL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJl
cXVlc3QuaCAgfCAgICA1ICsrCiAuLi4vcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVl
c3RDRk5ldC5jcHAgICB8ICAgMzMgKysrKystLS0tLS0tLQogLi4uL3BsYXRmb3JtL25ldHdvcmsv
bWFjL1Jlc291cmNlUmVxdWVzdE1hYy5tbSAgICAgfCAgICA4ICstLQogU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIxICsrKysrKysrKwogU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tICAgICAgICAgICAgICAgfCAgIDExICsr
KysrCiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmggICAgICAgICB8
ICAgMTYgKysrKysrKwogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDI1ICsrKysrKysrKysKIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS0NvbnRleHQuY3BwICAgICAgIHwgICAgNSArKwogU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaCAgfCAgICAyICsKIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJDb250ZXh0LmNwcCAgICAgICAgICAgIHwgICAxNyArKysrKysrCiBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oICAgICAgICAgICAgICB8ICAgIDQgKysKIDE0IGZp
bGVzIGNoYW5nZWQsIDE3MiBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggNmEyY2Y4NS4uZGVkZDY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEx
LTA0LTE3ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgPGh0
dHA6Ly93ZWJraXQub3JnL2IvNTg0NjM+IFN3aXRjaCBIVFRQIHBpcGVsaW5pbmcgZnJvbSB1c2Vy
IGRlZmF1bHQgdG8gcHJpdmF0ZSBzZXR0aW5nCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MjY4
NzI5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
aXMgcmVwbGFjZXMgc3VwcG9ydCBmb3IgdGhlIFdlYktpdEVuYWJsZUhUVFBQaXBlbGluaW5nIHVz
ZXIKKyAgICAgICAgZGVmYXVsdCB3aXRoIG1ldGhvZHMgb24gdGhlIFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCBjbGFzcyBpbgorICAgICAgICBXZWJDb3JlLCB0aGUgV2ViVmlldyBjbGFzcyBpbiBX
ZWJLaXQxLCBhbmQgdGhlIFdlYkNvbnRleHQgY2xhc3MKKyAgICAgICAgaW4gV2ViS2l0Mi4gIEl0
IGFsc28gcmVtb3ZlcyBzdXBwb3J0IGZvciB0aGUKKyAgICAgICAgV2ViS2l0Rm9yY2VIVFRQUGlw
ZWxpbmluZ1ByaW9yaXR5SGlnaCB1c2VyIGRlZmF1bHQgd2hpY2ggd2FzIG5vdAorICAgICAgICBu
ZWVkZWQuCisKKyAgICAgICAgUnVuIHRoZXNlIGNvbW1hbmRzIGlmIHlvdSBzZXQgdGhlIHVzZXIg
ZGVmYXVsdHMgcHJldmlvdXNseSwKKyAgICAgICAgcmVwbGFjaW5nICJCVU5ETEUuSUQiIHdpdGgg
eW91ciBhcHBsaWNhdGlvbidzIGJ1bmRsZSBJRDoKKworICAgICAgICAgICAgZGVmYXVsdHMgZGVs
ZXRlIEJVTkRMRS5JRCBXZWJLaXRFbmFibGVIVFRQUGlwZWxpbmluZworICAgICAgICAgICAgZGVm
YXVsdHMgZGVsZXRlIEJVTkRMRS5JRCBXZWJLaXRGb3JjZUhUVFBQaXBlbGluaW5nUHJpb3JpdHlI
aWdoCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjogRXhwb3J0IFJlc291cmNlUmVxdWVzdDo6
aHR0cFBpcGVsaW5pbmdFbmFibGVkKCkKKyAgICAgICAgYW5kIFJlc291cmNlUmVxdWVzdDo6c2V0
SFRUUFBpcGVsaW5pbmdFbmFibGVkKCkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVxdWVzdEJhc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OmlzSFRUUFBpcGVsaW5pbmdF
bmFibGVkKTogUmVtb3ZlZCBkZWNsYXJhdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZEZv
cmNlSFRUUFBpcGVsaW5pbmdQcmlvcml0eUhpZ2gpOiBSZW1vdmVkIGRlY2xhcmF0aW9uLgorCisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3QuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6aHR0cFBpcGVsaW5pbmdFbmFibGVkKTogQWRkZWQg
ZGVjbGFyYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnNldEhUVFBQ
aXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkIGRlY2xhcmF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0OjpzX2h0dHBQaXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkIGRlY2xhcmF0
aW9uLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3RDRk5l
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnNfaHR0cFBpcGVsaW5p
bmdFbmFibGVkKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6Omh0
dHBQaXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0OjpzZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWQpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OmluaXRpYWxpemVNYXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBlckhvc3QpOiBTd2l0Y2hl
ZAorICAgICAgICB0byB1c2UgUmVzb3VyY2VSZXF1ZXN0OjpodHRwUGlwZWxpbmluZ0VuYWJsZWQo
KS4KKyAgICAgICAgKFdlYkNvcmU6OnJlYWRCb29sZWFuUHJlZmVyZW5jZSk6IFJlbW92ZWQuCisg
ICAgICAgIChXZWJDb3JlOjppc0hUVFBQaXBlbGluaW5nRW5hYmxlZCk6IFJlbW92ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpzaG91bGRGb3JjZUhUVFBQaXBlbGluaW5nUHJpb3JpdHlIaWdoKTogUmVt
b3ZlZC4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVxdWVzdE1h
Yy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdDo6ZG9VcGRhdGVSZXNvdXJj
ZVJlcXVlc3QpOiBTd2l0Y2hlZCB0bworICAgICAgICB1c2UgUmVzb3VyY2VSZXF1ZXN0OjpodHRw
UGlwZWxpbmluZ0VuYWJsZWQoKS4gIFJlbW92ZWQgY2hlY2sgZm9yCisgICAgICAgIHNob3VsZEZv
cmNlSFRUUFBpcGVsaW5pbmdQcmlvcml0eUhpZ2goKS4KKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdDo6ZG9VcGRhdGVQbGF0Zm9ybVJlcXVlc3QpOiBEaXR0by4KKwogMjAxMS0wNC0x
NSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBTaW1vbiBGcmFzZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGE0YjgyMzEuLmMwOGNi
YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC00MTYsNiArNDE2LDggQEAgX19aTjdXZWJDb3Jl
MTVKU0RPTVdpbmRvd0Jhc2UxOGNvbW1vbkpTR2xvYmFsRGF0YUV2CiBfX1pON1dlYkNvcmUxNVBs
YXRmb3JtQ0FMYXllcjE4c2V0R2VvbWV0cnlGbGlwcGVkRWIKIF9fWk43V2ViQ29yZTE1UHJvdGVj
dGlvblNwYWNlQzFFUktOM1dURjZTdHJpbmdFaU5TXzI1UHJvdGVjdGlvblNwYWNlU2VydmVyVHlw
ZUVTNF9OU18zNVByb3RlY3Rpb25TcGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lRQogX19aTjdXZWJD
b3JlMTVQcm90ZWN0aW9uU3BhY2VDMUV2CitfX1pON1dlYkNvcmUxNVJlc291cmNlUmVxdWVzdDIx
aHR0cFBpcGVsaW5pbmdFbmFibGVkRXYKK19fWk43V2ViQ29yZTE1UmVzb3VyY2VSZXF1ZXN0MjRz
ZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWRFYgogX19aTjdXZWJDb3JlMTVTY3JvbGxBbGlnbm1lbnQx
N2FsaWduQ2VudGVyQWx3YXlzRQogX19aTjdXZWJDb3JlMTVTY3JvbGxBbGlnbm1lbnQxOWFsaWdu
VG9FZGdlSWZOZWVkZWRFCiBfX1pON1dlYkNvcmUxNVN0cmluZ1RydW5jYXRvcjEzcmlnaHRUcnVu
Y2F0ZUVSS04zV1RGNlN0cmluZ0VmUktOU180Rm9udEUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggZDVjMzk2OC4u
NTNlMTE2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlcXVlc3RCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZVJlcXVlc3RCYXNlLmgKQEAgLTI0MSwxNCArMjQxLDYgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIAogICAgIHVuc2lnbmVkIGluaXRpYWxpemVNYXhpbXVtSFRUUENvbm5lY3Rpb25D
b3VudFBlckhvc3QoKTsKIAotI2lmIFVTRShDRikKLSAgICBib29sIGlzSFRUUFBpcGVsaW5pbmdF
bmFibGVkKCk7Ci0gICAgYm9vbCBzaG91bGRGb3JjZUhUVFBQaXBlbGluaW5nUHJpb3JpdHlIaWdo
KCk7Ci0jZWxzZQotICAgIGlubGluZSBib29sIGlzSFRUUFBpcGVsaW5pbmdFbmFibGVkKCkgeyBy
ZXR1cm4gZmFsc2U7IH0KLSAgICBpbmxpbmUgYm9vbCBzaG91bGRGb3JjZUhUVFBQaXBlbGluaW5n
UHJpb3JpdHlIaWdoKCkgeyByZXR1cm4gZmFsc2U7IH0KLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBSZXNvdXJjZVJlcXVlc3RCYXNlX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0LmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdC5oCmluZGV4
IDJkYTUwMjYuLjVhMTQzNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3QuaApAQCAtODgsNiArODgsOSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0U3RvcmFnZVNlc3Npb24oQ0ZVUkxTdG9yYWdlU2Vz
c2lvblJlZik7CiAjZW5kaWYKIAorICAgICAgICBzdGF0aWMgYm9vbCBodHRwUGlwZWxpbmluZ0Vu
YWJsZWQoKTsKKyAgICAgICAgc3RhdGljIHZvaWQgc2V0SFRUUFBpcGVsaW5pbmdFbmFibGVkKGJv
b2wpOworCiAgICAgcHJpdmF0ZToKICAgICAgICAgZnJpZW5kIGNsYXNzIFJlc291cmNlUmVxdWVz
dEJhc2U7CiAKQEAgLTEwMiw2ICsxMDUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZWxzZQog
ICAgICAgICBSZXRhaW5QdHI8TlNVUkxSZXF1ZXN0PiBtX25zUmVxdWVzdDsKICNlbmRpZgorCisg
ICAgICAgIHN0YXRpYyBib29sIHNfaHR0cFBpcGVsaW5pbmdFbmFibGVkOwogICAgIH07CiAKICAg
ICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhIDogcHVibGljIENyb3NzVGhy
ZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3RDRk5ldC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0LmNwcAppbmRleCAw
YTBiYzdjLi5kMGVmMWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0LmNwcApAQCAtNDEsNiArNDEsOCBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2Jvb2wgUmVzb3VyY2VSZXF1ZXN0OjpzX2h0dHBQ
aXBlbGluaW5nRW5hYmxlZCA9IGZhbHNlOworCiAjaWYgVVNFKENGTkVUV09SSykKIAogdHlwZWRl
ZiB2b2lkICgqQ0ZVUkxSZXF1ZXN0U2V0Q29udGVudERpc3Bvc2l0aW9uRW5jb2RpbmdGYWxsYmFj
a0FycmF5RnVuY3Rpb24pKENGTXV0YWJsZVVSTFJlcXVlc3RSZWYsIENGQXJyYXlSZWYpOwpAQCAt
MjA5LDYgKzIxMSwxNiBAQCB2b2lkIFJlc291cmNlUmVxdWVzdDo6c2V0U3RvcmFnZVNlc3Npb24o
Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZiBzdG9yYWdlU2Vzc2lvbikKIAogI2VuZGlmIC8vIFVTRShD
Rk5FVFdPUkspCiAKK2Jvb2wgUmVzb3VyY2VSZXF1ZXN0OjpodHRwUGlwZWxpbmluZ0VuYWJsZWQo
KQoreworICAgIHJldHVybiBzX2h0dHBQaXBlbGluaW5nRW5hYmxlZDsKK30KKwordm9pZCBSZXNv
dXJjZVJlcXVlc3Q6OnNldEhUVFBQaXBlbGluaW5nRW5hYmxlZChib29sIGZsYWcpCit7CisgICAg
c19odHRwUGlwZWxpbmluZ0VuYWJsZWQgPSBmbGFnOworfQorCiB1bnNpZ25lZCBpbml0aWFsaXpl
TWF4aW11bUhUVFBDb25uZWN0aW9uQ291bnRQZXJIb3N0KCkKIHsKICAgICBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgcHJlZmVycmVkQ29ubmVjdGlvbkNvdW50ID0gNjsKQEAgLTIxOCw3ICsyMzAsNyBA
QCB1bnNpZ25lZCBpbml0aWFsaXplTWF4aW11bUhUVFBDb25uZWN0aW9uQ291bnRQZXJIb3N0KCkK
ICAgICB1bnNpZ25lZCBtYXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBlckhvc3QgPSB3a0luaXRp
YWxpemVNYXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBlckhvc3QocHJlZmVycmVkQ29ubmVjdGlv
bkNvdW50KTsKIAogI2lmIFBMQVRGT1JNKE1BQykKLSAgICBpZiAoaXNIVFRQUGlwZWxpbmluZ0Vu
YWJsZWQoKSkgeworICAgIGlmIChSZXNvdXJjZVJlcXVlc3Q6Omh0dHBQaXBlbGluaW5nRW5hYmxl
ZCgpKSB7CiAgICAgICAgIHdrU2V0SFRUUFBpcGVsaW5pbmdNYXhpbXVtUHJpb3JpdHkoUmVzb3Vy
Y2VMb2FkUHJpb3JpdHlIaWdoZXN0KTsKICAgICAgICAgd2tTZXRIVFRQUGlwZWxpbmluZ01pbmlt
dW1GYXN0TGFuZVByaW9yaXR5KFJlc291cmNlTG9hZFByaW9yaXR5TWVkaXVtKTsKICAgICAgICAg
Ly8gV2hlbiBwaXBlbGluaW5nIGRvIG5vdCByYXRlLWxpbWl0IHJlcXVlc3RzIHNlbnQgZnJvbSBX
ZWJDb3JlIHNpbmNlIENGTmV0d29yayBoYW5kbGVzIHRoYXQuCkBAIC0yMjksMjMgKzI0MSw0IEBA
IHVuc2lnbmVkIGluaXRpYWxpemVNYXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBlckhvc3QoKQog
ICAgIHJldHVybiBtYXhpbXVtSFRUUENvbm5lY3Rpb25Db3VudFBlckhvc3Q7CiB9CiAKLXN0YXRp
YyBpbmxpbmUgYm9vbCByZWFkQm9vbGVhblByZWZlcmVuY2UoQ0ZTdHJpbmdSZWYga2V5KQotewot
ICAgIEJvb2xlYW4ga2V5RXhpc3RzQW5kSGFzVmFsaWRGb3JtYXQ7Ci0gICAgQm9vbGVhbiByZXN1
bHQgPSBDRlByZWZlcmVuY2VzR2V0QXBwQm9vbGVhblZhbHVlKGtleSwga0NGUHJlZmVyZW5jZXND
dXJyZW50QXBwbGljYXRpb24sICZrZXlFeGlzdHNBbmRIYXNWYWxpZEZvcm1hdCk7Ci0gICAgcmV0
dXJuIGtleUV4aXN0c0FuZEhhc1ZhbGlkRm9ybWF0ID8gcmVzdWx0IDogZmFsc2U7Ci19Ci0KLWJv
b2wgaXNIVFRQUGlwZWxpbmluZ0VuYWJsZWQoKQotewotICAgIHN0YXRpYyBib29sIGlzRW5hYmxl
ZCA9IHJlYWRCb29sZWFuUHJlZmVyZW5jZShDRlNUUigiV2ViS2l0RW5hYmxlSFRUUFBpcGVsaW5p
bmciKSk7Ci0gICAgcmV0dXJuIGlzRW5hYmxlZDsKLX0KLQotYm9vbCBzaG91bGRGb3JjZUhUVFBQ
aXBlbGluaW5nUHJpb3JpdHlIaWdoKCkKLXsKLSAgICBzdGF0aWMgYm9vbCBzaG91bGRGb3JjZVBy
aW9yaXR5SGlnaCA9IHJlYWRCb29sZWFuUHJlZmVyZW5jZShDRlNUUigiV2ViS2l0Rm9yY2VIVFRQ
UGlwZWxpbmluZ1ByaW9yaXR5SGlnaCIpKTsKLSAgICByZXR1cm4gc2hvdWxkRm9yY2VQcmlvcml0
eUhpZ2g7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVxdWVzdE1hYy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVxdWVzdE1hYy5tbQppbmRl
eCAzM2ZmNDkwLi5kOTllMWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL21hYy9SZXNvdXJjZVJlcXVlc3RNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXF1ZXN0TWFjLm1tCkBAIC03MCw3ICs3MCw3IEBA
IHZvaWQgUmVzb3VyY2VSZXF1ZXN0Ojpkb1VwZGF0ZVJlc291cmNlUmVxdWVzdCgpCiAgICAgbV9h
bGxvd0Nvb2tpZXMgPSBbbV9uc1JlcXVlc3QuZ2V0KCkgSFRUUFNob3VsZEhhbmRsZUNvb2tpZXNd
OwogCiAjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fVElHRVIpICYmICFkZWZpbmVkKEJVSUxESU5H
X09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKLSAgICBp
ZiAoaXNIVFRQUGlwZWxpbmluZ0VuYWJsZWQoKSAmJiAhc2hvdWxkRm9yY2VIVFRQUGlwZWxpbmlu
Z1ByaW9yaXR5SGlnaCgpKQorICAgIGlmIChSZXNvdXJjZVJlcXVlc3Q6Omh0dHBQaXBlbGluaW5n
RW5hYmxlZCgpKQogICAgICAgICBtX3ByaW9yaXR5ID0gdG9SZXNvdXJjZUxvYWRQcmlvcml0eSh3
a0dldEhUVFBQaXBlbGluaW5nUHJpb3JpdHkobV9uc1JlcXVlc3QuZ2V0KCkpKTsKICNlbmRpZgog
CkBAIC0xMjAsMTAgKzEyMCw4IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0Ojpkb1VwZGF0ZVBsYXRm
b3JtUmVxdWVzdCgpCiAjZW5kaWYKIAogI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX1RJR0VSKSAm
JiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9T
Tk9XX0xFT1BBUkQpCi0gICAgaWYgKGlzSFRUUFBpcGVsaW5pbmdFbmFibGVkKCkpIHsKLSAgICAg
ICAgaW50IHByaW9yaXR5ID0gdG9IVFRQUGlwZWxpbmluZ1ByaW9yaXR5KHNob3VsZEZvcmNlSFRU
UFBpcGVsaW5pbmdQcmlvcml0eUhpZ2goKSA/IFJlc291cmNlTG9hZFByaW9yaXR5SGlnaCA6IG1f
cHJpb3JpdHkpOwotICAgICAgICB3a1NldEhUVFBQaXBlbGluaW5nUHJpb3JpdHkobnNSZXF1ZXN0
LCBwcmlvcml0eSk7Ci0gICAgfQorICAgIGlmIChSZXNvdXJjZVJlcXVlc3Q6Omh0dHBQaXBlbGlu
aW5nRW5hYmxlZCgpKQorICAgICAgICB3a1NldEhUVFBQaXBlbGluaW5nUHJpb3JpdHkobnNSZXF1
ZXN0LCB0b0hUVFBQaXBlbGluaW5nUHJpb3JpdHkobV9wcmlvcml0eSkpOwogI2VuZGlmCiAKICAg
ICBbbnNSZXF1ZXN0IHNldENhY2hlUG9saWN5OihOU1VSTFJlcXVlc3RDYWNoZVBvbGljeSljYWNo
ZVBvbGljeSgpXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAyNGU3NjEyLi5kYTE2NWU2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDQtMTcgIERhdmlkIEtpbHplciAgPGRk
a2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICA8aHR0cDovL3dlYmtpdC5vcmcvYi81ODQ2Mz4g
U3dpdGNoIEhUVFAgcGlwZWxpbmluZyBmcm9tIHVzZXIgZGVmYXVsdCB0byBwcml2YXRlIHNldHRp
bmcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzkyNjg3Mjk+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyByZXBsYWNlcyBzdXBwb3J0IGZvciB0
aGUgV2ViS2l0RW5hYmxlSFRUUFBpcGVsaW5pbmcgdXNlcgorICAgICAgICBkZWZhdWx0IHdpdGgg
bWV0aG9kcyBvbiB0aGUgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IGNsYXNzIGluCisgICAgICAg
IFdlYkNvcmUsIHRoZSBXZWJWaWV3IGNsYXNzIGluIFdlYktpdDEsIGFuZCB0aGUgV2ViQ29udGV4
dCBjbGFzcworICAgICAgICBpbiBXZWJLaXQyLiAgSXQgYWxzbyByZW1vdmVzIHN1cHBvcnQgZm9y
IHRoZQorICAgICAgICBXZWJLaXRGb3JjZUhUVFBQaXBlbGluaW5nUHJpb3JpdHlIaWdoIHVzZXIg
ZGVmYXVsdCB3aGljaCB3YXMgbm90CisgICAgICAgIG5lZWRlZC4KKworICAgICAgICAqIFdlYlZp
ZXcvV2ViVmlldy5tbToKKyAgICAgICAgKCtbV2ViVmlldyhXZWJQcml2YXRlKSBfSFRUUFBpcGVs
aW5pbmdFbmFibGVkXSk6IEFkZGVkLgorICAgICAgICAoK1tXZWJWaWV3KFdlYlByaXZhdGUpIF9z
ZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWQ6XSk6IEFkZGVkLgorICAgICAgICAqIFdlYlZpZXcvV2Vi
Vmlld1ByaXZhdGUuaDoKKyAgICAgICAgKCtbV2ViVmlldyhXZWJQcml2YXRlKSBfSFRUUFBpcGVs
aW5pbmdFbmFibGVkXSk6IEFkZGVkIGRlY2xhcmF0aW9uLgorICAgICAgICAoK1tXZWJWaWV3KFdl
YlByaXZhdGUpIF9zZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWQ6XSk6IEFkZGVkIGRlY2xhcmF0aW9u
LgorCiAyMDExLTA0LTE1ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAg
ICAgR0MgYWxsb2NhdGUgU3RydWN0dXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
aW5kZXggZDdmZDVhZi4uY2ExOTExYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQpAQCAtMTQ4LDYgKzE0OCw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1JlbmRlcldpZGdldC5oPgog
I2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZUhhbmRsZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNv
dXJjZUxvYWRTY2hlZHVsZXIuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+
CiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2ltcG9ydCA8
V2ViQ29yZS9TY2hlbWVSZWdpc3RyeS5oPgogI2ltcG9ydCA8V2ViQ29yZS9TY3JpcHRDb250cm9s
bGVyLmg+CkBAIC0yODI3LDYgKzI4MjgsMTYgQEAgLSAodm9pZClfc2V0TWluaW11bVRpbWVySW50
ZXJ2YWw6KGRvdWJsZSlpbnRlcnZhbEluU2Vjb25kcwogICAgICAgICBfcHJpdmF0ZS0+cGFnZS0+
c2V0dGluZ3MoKS0+c2V0TWluRE9NVGltZXJJbnRlcnZhbChpbnRlcnZhbEluU2Vjb25kcyk7CiB9
CiAKKysgKEJPT0wpX0hUVFBQaXBlbGluaW5nRW5hYmxlZAoreworICAgIHJldHVybiBSZXNvdXJj
ZVJlcXVlc3Q6Omh0dHBQaXBlbGluaW5nRW5hYmxlZCgpOworfQorCisrICh2b2lkKV9zZXRIVFRQ
UGlwZWxpbmluZ0VuYWJsZWQ6KEJPT0wpZW5hYmxlZAoreworICAgIFJlc291cmNlUmVxdWVzdDo6
c2V0SFRUUFBpcGVsaW5pbmdFbmFibGVkKGVuYWJsZWQpOworfQorCiBAZW5kCiAKIEBpbXBsZW1l
bnRhdGlvbiBfV2ViU2FmZUZvcndhcmRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3UHJpdmF0ZS5oCmluZGV4IDdkNzUzN2UuLmZhNDg0NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgKQEAgLTU5NCw2ICs1OTQsMjIgQEAgQ291bGQgYmUg
d29ydGggYWRkaW5nIHRvIHRoZSBBUEkuCiAqLwogLSAodm9pZClfc2V0TWluaW11bVRpbWVySW50
ZXJ2YWw6KGRvdWJsZSlpbnRlcnZhbEluU2Vjb25kczsKIAorLyohCisgICAgQG1ldGhvZCBfSFRU
UFBpcGVsaW5pbmdFbmFibGVkCisgICAgQGFic3RyYWN0IENoZWNrcyB0aGUgSFRUUCBwaXBlbGlu
aW5nIHN0YXR1cy4KKyAgICBAZGlzY3Vzc2lvbiBEZWZhdWx0cyB0byBOTy4KKyAgICBAcmVzdWx0
IFlFUyBpZiBIVFRQIHBpcGVsaW5pbmcgaXMgZW5hYmxlZCwgTk8gaWYgbm90IGVuYWJsZWQuCisg
Ki8KKysgKEJPT0wpX0hUVFBQaXBlbGluaW5nRW5hYmxlZDsKKworLyohCisgICAgQG1ldGhvZCBf
c2V0SFRUUFBpcGVsaW5pbmdFbmFibGVkOgorICAgIEBhYnN0cmFjdCBTZXQgdGhlIEhUVFAgcGlw
ZWxpbmluZyBzdGF0dXMuCisgICAgQGRpc2N1c3Npb24gRGVmYXVsdHMgdG8gTk8uCisgICAgQHBh
cmFtIGVuYWJsZWQgVGhlIG5ldyBIVFRQIHBpcGVsaW5pbmcgc3RhdHVzLgorICovCisrICh2b2lk
KV9zZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWQ6KEJPT0wpZW5hYmxlZDsKKwogQGVuZAogCiBAaW50
ZXJmYWNlIFdlYlZpZXcgKFdlYlZpZXdQcmludGluZ1ByaXZhdGUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYWM4
MGEwOC4uYzQ2Yzk0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDExLTA0LTE3ICBE
YXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgPGh0dHA6Ly93ZWJr
aXQub3JnL2IvNTg0NjM+IFN3aXRjaCBIVFRQIHBpcGVsaW5pbmcgZnJvbSB1c2VyIGRlZmF1bHQg
dG8gcHJpdmF0ZSBzZXR0aW5nCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MjY4NzI5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcmVwbGFj
ZXMgc3VwcG9ydCBmb3IgdGhlIFdlYktpdEVuYWJsZUhUVFBQaXBlbGluaW5nIHVzZXIKKyAgICAg
ICAgZGVmYXVsdCB3aXRoIG1ldGhvZHMgb24gdGhlIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCBj
bGFzcyBpbgorICAgICAgICBXZWJDb3JlLCB0aGUgV2ViVmlldyBjbGFzcyBpbiBXZWJLaXQxLCBh
bmQgdGhlIFdlYkNvbnRleHQgY2xhc3MKKyAgICAgICAgaW4gV2ViS2l0Mi4gIEl0IGFsc28gcmVt
b3ZlcyBzdXBwb3J0IGZvciB0aGUKKyAgICAgICAgV2ViS2l0Rm9yY2VIVFRQUGlwZWxpbmluZ1By
aW9yaXR5SGlnaCB1c2VyIGRlZmF1bHQgd2hpY2ggd2FzIG5vdAorICAgICAgICBuZWVkZWQuCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcDoKKyAgICAgICAgKF9XS0Nv
bnRleHRTZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWQpOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oOgorICAgICAgICAoX1dLQ29udGV4dFNldEhUVFBQ
aXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkIGRlY2xhcmF0aW9uLgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6c2V0SFRUUFBp
cGVsaW5pbmdFbmFibGVkKTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6Omh0
dHBQaXBlbGluaW5nRW5hYmxlZCk6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250
ZXh0Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OnNldEhUVFBQaXBlbGluaW5nRW5h
YmxlZCk6IEFkZGVkIGRlY2xhcmF0aW9uLgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0Ojpo
dHRwUGlwZWxpbmluZ0VuYWJsZWQpOiBBZGRlZCBkZWNsYXJhdGlvbi4KKwogMjAxMS0wNC0xNSAg
SmVmZiBNaWxsZXIgIDxqZWZmbUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2Ft
IFdlaW5pZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Nv
bnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAK
aW5kZXggZGIxMzhmMy4uNGYyNTg5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLQ29udGV4dC5jcHAKQEAgLTIyNywzICsyMjcsOCBAQCB2b2lkIFdLQ29udGV4dEVuYWJs
ZVByb2Nlc3NUZXJtaW5hdGlvbihXS0NvbnRleHRSZWYgY29udGV4dFJlZikKIHsKICAgICB0b0lt
cGwoY29udGV4dFJlZiktPmVuYWJsZVByb2Nlc3NUZXJtaW5hdGlvbigpOwogfQorCit2b2lkIF9X
S0NvbnRleHRTZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWQoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYs
IGJvb2wgZW5hYmxlZCkKK3sKKyAgICB0b0ltcGwoY29udGV4dFJlZiktPnNldEhUVFBQaXBlbGlu
aW5nRW5hYmxlZChlbmFibGVkKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oCmluZGV4IGRjOTFhMGYuLmU1ZGI0ZjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaApAQCAt
NjYsNiArNjYsOCBAQCBXS19FWFBPUlQgdm9pZCBXS0NvbnRleHRTZXRMb2NhbFN0b3JhZ2VEaXJl
Y3RvcnkoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLU3RyaW5nUgogV0tfRVhQT1JUIHZvaWQgV0tD
b250ZXh0RGlzYWJsZVByb2Nlc3NUZXJtaW5hdGlvbihXS0NvbnRleHRSZWYgY29udGV4dCk7CiBX
S19FWFBPUlQgdm9pZCBXS0NvbnRleHRFbmFibGVQcm9jZXNzVGVybWluYXRpb24oV0tDb250ZXh0
UmVmIGNvbnRleHQpOwogCitXS19FWFBPUlQgdm9pZCBfV0tDb250ZXh0U2V0SFRUUFBpcGVsaW5p
bmdFbmFibGVkKFdLQ29udGV4dFJlZiwgYm9vbCk7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKaW5kZXggZWVjYzI0
MC4uMWYxYzQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcApAQCAt
NTQsNiArNTQsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTGFuZ3VhZ2UuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Mb2dnaW5nLmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUu
aD4KIAogI2lmbmRlZiBOREVCVUcKQEAgLTc0OCw0ICs3NDksMjAgQEAgU3RyaW5nIFdlYkNvbnRl
eHQ6OmxvY2FsU3RvcmFnZURpcmVjdG9yeSgpIGNvbnN0CiAgICAgcmV0dXJuIHBsYXRmb3JtRGVm
YXVsdExvY2FsU3RvcmFnZURpcmVjdG9yeSgpOwogfQogCit2b2lkIFdlYkNvbnRleHQ6OnNldEhU
VFBQaXBlbGluaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCit7CisjaWYgUExBVEZPUk0oTUFDKQor
ICAgIFJlc291cmNlUmVxdWVzdDo6c2V0SFRUUFBpcGVsaW5pbmdFbmFibGVkKGVuYWJsZWQpOwor
I2VuZGlmCit9CisKK2Jvb2wgV2ViQ29udGV4dDo6aHR0cFBpcGVsaW5pbmdFbmFibGVkKCkKK3sK
KyNpZiBQTEFURk9STShNQUMpCisgICAgcmV0dXJuIFJlc291cmNlUmVxdWVzdDo6aHR0cFBpcGVs
aW5pbmdFbmFibGVkKCk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJDb250ZXh0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCmlu
ZGV4IDMwM2U5N2QuLjU2ZTE3MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQu
aApAQCAtMTcxLDYgKzE3MSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaXNhYmxlUHJvY2Vzc1Rl
cm1pbmF0aW9uKCkgeyBtX3Byb2Nlc3NUZXJtaW5hdGlvbkVuYWJsZWQgPSBmYWxzZTsgfQogICAg
IHZvaWQgZW5hYmxlUHJvY2Vzc1Rlcm1pbmF0aW9uKCk7CiAKKyAgICAvLyBEZWZhdWx0cyB0byBm
YWxzZS4KKyAgICB2b2lkIHNldEhUVFBQaXBlbGluaW5nRW5hYmxlZChib29sKTsKKyAgICBib29s
IGh0dHBQaXBlbGluaW5nRW5hYmxlZCgpOworCiBwcml2YXRlOgogICAgIFdlYkNvbnRleHQoUHJv
Y2Vzc01vZGVsLCBjb25zdCBTdHJpbmcmIGluamVjdGVkQnVuZGxlUGF0aCk7CiAKLS0gCjEuNy4y
LjEuMTU4LmdiZDNhOTcKCg==
</data>
<flag name="review"
          id="82698"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>