<?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>227992</bug_id>
          
          <creation_ts>2021-07-15 10:48:35 -0700</creation_ts>
          <short_desc>Add SPI to prevent preconnect</short_desc>
          <delta_ts>2021-07-16 17:21:26 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>228044</dup_id>
          
          <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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1777246</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-15 10:48:35 -0700</bug_when>
    <thetext>Add SPI to prevent preconnect</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777247</commentid>
    <comment_count>1</comment_count>
      <attachid>433596</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-15 10:49:49 -0700</bug_when>
    <thetext>Created attachment 433596
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777248</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-15 10:49:52 -0700</bug_when>
    <thetext>&lt;rdar://problem/72995136&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777259</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-07-15 11:13:16 -0700</bug_when>
    <thetext>Given the problem description that &quot;the resource load delegate is not being called for any pre-connections&quot;, did you consider changing pre-connect loads to consult the resource load delegate? If so, can you share your thinking for why a separate setting for pre-connect loads is preferable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777349</commentid>
    <comment_count>4</comment_count>
      <attachid>433596</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-15 15:32:52 -0700</bug_when>
    <thetext>Comment on attachment 433596
Patch

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

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/LoadInvalidURLRequest.mm:140
&gt; +TEST(WebKit, LoadNSURLRequestWithProperty)

Oops.  This should not have been included here.  Please review as if it weren&apos;t here, and it&apos;ll be removed before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777351</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-15 15:34:03 -0700</bug_when>
    <thetext>Geoff I&apos;m not sure what you&apos;re saying.  This has nothing to do with a resource load delegate.  This adds a way to prevent preconnecting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777354</commentid>
    <comment_count>6</comment_count>
      <attachid>433630</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-15 15:50:42 -0700</bug_when>
    <thetext>Created attachment 433630
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777357</commentid>
    <comment_count>7</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-15 15:53:49 -0700</bug_when>
    <thetext>Ah, I read the radar and now I know what you&apos;re saying.  The initial solution attempt was to do this through WKBundlePageResourceLoadClient, but I don&apos;t think we should solve this problem that way because we are trying to decrease use of the injected bundle, this solves the problem just as well, and this has no compatibility issues with existing users of WKBundlePageResourceLoadClient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777562</commentid>
    <comment_count>8</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-07-16 12:38:08 -0700</bug_when>
    <thetext>Two thoughts:

1. Does WKWebViewConfiguration._loadsFromNetwork prevent preconnect? (Seems like it should.)

2. If WKWebViewConfiguration._loadsFromNetwork prevents preconnect, is there any specific use case for this SPI, or should we just recommend adopting WKWebViewConfiguration._loadsFromNetwork instead?

In my view, WKWebViewConfiguration._loadsFromNetwork is the better SPI, and something we should consider promoting to API.

I&apos;m open to practicality arguments about why we need an SPI specific to preconnect for the time being for some reason. But if WKWebViewConfiguration._loadsFromNetwork gets the job done, I&apos;d prefer going down that route, either right now, or at least in the longer term.

So, I&apos;ll say r+ here because it&apos;s just SPI and it&apos;s not harmful or anything, bug please consider WKWebViewConfiguration._loadsFromNetwork as an alternative before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777669</commentid>
    <comment_count>9</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-16 17:21:26 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 228044 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433596</attachid>
            <date>2021-07-15 10:49:49 -0700</date>
            <delta_ts>2021-07-15 15:50:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227992-20210715104949.patch</filename>
            <type>text/plain</type>
            <size>13649</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcwNjRkYzIxY2MwMTlmMWVh
ZDk1Mzg0YThiODQ4OWM4NjBkMDJhOGUuLjFhYzFlM2M0OTdjZGM0ZjQ3ZDBjYmE5NjhkNDEyODZj
ODM2YzhlYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjEtMDctMTUgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgU1BJIHRv
IHByZXZlbnQgcHJlY29ubmVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI3OTkyCisgICAgICAgIDxyZGFyOi8vNzI5OTUxMzY+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUGFnZUNy
ZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VDcmVhdGlv
blBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9u
LmNwcDoKKyAgICAgICAgKEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OmNvcHkgY29uc3QpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKEFQ
STo6UGFnZUNvbmZpZ3VyYXRpb246OnNldEFsbG93c1ByZWNvbm5lY3QpOgorICAgICAgICAoQVBJ
OjpQYWdlQ29uZmlndXJhdGlvbjo6YWxsb3dzUHJlY29ubmVjdCBjb25zdCk6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tOgorICAgICAgICAo
LVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9hbGxvd3NQcmVjb25uZWN0XSk6CisgICAgICAgICgt
W1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3NldEFsbG93c1ByZWNvbm5lY3Q6XSk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OmNyZWF0aW9uUGFyYW1ldGVycyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTG9hZGVy
U3RyYXRlZ3k6OnByZWNvbm5lY3RUbyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjptX2FsbG93c1ByZWNvbm5lY3QpOgorICAgICAg
ICAoV2ViS2l0OjptX2FwcEhpZ2hsaWdodHNWaXNpYmxlKTogRGVsZXRlZC4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjph
bGxvd3NQcmVjb25uZWN0IGNvbnN0KToKKwogMjAyMS0wNy0wNyAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZm9sbG93LXVwIHRvIHIyNzk2MDEg
dG8gYWRkcmVzcyBzb21lIGFzc2VydGlvbnMgb24gdGhlIGJvdHMuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IDZhMjUyMzFm
NmZjMjU4YzFlMzhhYTA1Y2UxMmFhNDQ0ZmQ3MDk2YzguLjIxNDYyOTEwOTlmMmNjOWJmZTMxMDJi
ZGJmMTIxOTY4NjBhY2VhYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBh
Z2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBh
Z2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwCkBAIC0xODIsNiArMTgyLDcgQEAgdm9pZCBXZWJQYWdl
Q3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAog
I2VuZGlmCiAgICAgCiAgICAgZW5jb2RlciA8PCBodHRwc1VwZ3JhZGVFbmFibGVkOworICAgIGVu
Y29kZXIgPDwgYWxsb3dzUHJlY29ubmVjdDsKICNpZiBQTEFURk9STShJT1MpCiAgICAgZW5jb2Rl
ciA8PCBhbGxvd3NEZXByZWNhdGVkU3luY2hyb25vdXNYTUxIdHRwUmVxdWVzdER1cmluZ1VubG9h
ZDsKICNlbmRpZgpAQCAtNTk4LDYgKzU5OSw5IEBAIHN0ZDo6b3B0aW9uYWw8V2ViUGFnZUNyZWF0
aW9uUGFyYW1ldGVycz4gV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6CiAg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLmh0dHBzVXBncmFkZUVuYWJsZWQpKQog
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShw
YXJhbWV0ZXJzLmFsbG93c1ByZWNvbm5lY3QpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OworCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVy
cy5hbGxvd3NEZXByZWNhdGVkU3luY2hyb25vdXNYTUxIdHRwUmVxdWVzdER1cmluZ1VubG9hZCkp
CiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggYzU4ZTZjMjIwYjFhMDM3NjZhYWU1
NDg0NzJmMTZiNzgzZTA0MDJhYy4uMjViYzkyYjA1NTZkZWY1MTdkZWJkMmYwNzM0MjI4MzBjYTUx
OGZhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFy
YW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFt
ZXRlcnMuaApAQCAtMjUyLDYgKzI1Miw3IEBAIHN0cnVjdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0
ZXJzIHsKICNlbmRpZgogICAgIAogICAgIGJvb2wgaHR0cHNVcGdyYWRlRW5hYmxlZCB7IHRydWUg
fTsKKyAgICBib29sIGFsbG93c1ByZWNvbm5lY3QgeyB0cnVlIH07CiAKICNpZiBQTEFURk9STShJ
T1MpCiAgICAgYm9vbCBhbGxvd3NEZXByZWNhdGVkU3luY2hyb25vdXNYTUxIdHRwUmVxdWVzdER1
cmluZ1VubG9hZCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmNwcAppbmRleCBhMmYxYWM1NTBjYmI2MTY0N2E3ODg4
ZDc5ZTc0MDYzMTk4MGZhMzk2Li5lM2MxY2U4ODBhZmJjZGIwYjFjYzlkYzg4YTRjMTFlZTE0MmM2
OGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZp
Z3VyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQYWdlQ29u
ZmlndXJhdGlvbi5jcHAKQEAgLTgwLDYgKzgwLDcgQEAgUmVmPFBhZ2VDb25maWd1cmF0aW9uPiBQ
YWdlQ29uZmlndXJhdGlvbjo6Y29weSgpIGNvbnN0CiAjZW5kaWYKICAgICBjb3B5LT5tX3Nob3Vs
ZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nID0gdGhpcy0+bV9zaG91bGRSZWxheFRoaXJk
UGFydHlDb29raWVCbG9ja2luZzsKICAgICBjb3B5LT5tX2F0dHJpYnV0ZWRCdW5kbGVJZGVudGlm
aWVyID0gdGhpcy0+bV9hdHRyaWJ1dGVkQnVuZGxlSWRlbnRpZmllcjsKKyAgICBjb3B5LT5tX2Fs
bG93c1ByZWNvbm5lY3QgPSB0aGlzLT5tX2FsbG93c1ByZWNvbm5lY3Q7CiAgICAgZm9yIChhdXRv
JiBwYWlyIDogdGhpcy0+bV91cmxTY2hlbWVIYW5kbGVycykKICAgICAgICAgY29weS0+bV91cmxT
Y2hlbWVIYW5kbGVycy5zZXQocGFpci5rZXksIHBhaXIudmFsdWUuY29weVJlZigpKTsKICAgICBj
b3B5LT5tX2NvcnNEaXNhYmxpbmdQYXR0ZXJucyA9IHRoaXMtPm1fY29yc0Rpc2FibGluZ1BhdHRl
cm5zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25m
aWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3Vy
YXRpb24uaAppbmRleCBkMzNiNzZmY2FlYzc1OGY5NjJkMmUwMDVjYjI1YmZkYmZlMmQxM2YyLi44
YTQ0MmE5MDJkYjE1ZWZjZDQzYzIxMTJhNjY5NjMxZWViNzViNmI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUGFnZUNvbmZpZ3VyYXRpb24uaApAQCAtMTcwLDYg
KzE3MCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEF0dHJpYnV0ZWRCdW5kbGVJZGVudGlmaWVy
KFdURjo6U3RyaW5nJiYgaWRlbnRpZmllcikgeyBtX2F0dHJpYnV0ZWRCdW5kbGVJZGVudGlmaWVy
ID0gV1RGTW92ZShpZGVudGlmaWVyKTsgfQogICAgIGNvbnN0IFdURjo6U3RyaW5nJiBhdHRyaWJ1
dGVkQnVuZGxlSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fYXR0cmlidXRlZEJ1bmRsZUlk
ZW50aWZpZXI7IH0KIAorICAgIHZvaWQgc2V0QWxsb3dzUHJlY29ubmVjdChib29sIGFsbG93cykg
eyBtX2FsbG93c1ByZWNvbm5lY3QgPSBhbGxvd3M7IH0KKyAgICBib29sIGFsbG93c1ByZWNvbm5l
Y3QoKSBjb25zdCB7IHJldHVybiBtX2FsbG93c1ByZWNvbm5lY3Q7IH0KKwogcHJpdmF0ZToKIAog
ICAgIFJlZlB0cjxXZWJLaXQ6OldlYlByb2Nlc3NQb29sPiBtX3Byb2Nlc3NQb29sOwpAQCAtMjE4
LDYgKzIyMSw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fbWVkaWFDYXB0dXJlRW5hYmxlZCB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX2h0dHBzVXBncmFkZUVuYWJsZWQgeyB0cnVlIH07CisgICAg
Ym9vbCBtX2FsbG93c1ByZWNvbm5lY3QgeyB0cnVlIH07CiAKICAgICBXZWJDb3JlOjpTaG91bGRS
ZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZyBtX3Nob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tp
ZUJsb2NraW5nIHsgV2ViQ29yZTo6U2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmc6
Ok5vIH07CiAgICAgV1RGOjpTdHJpbmcgbV9hdHRyaWJ1dGVkQnVuZGxlSWRlbnRpZmllcjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25m
aWd1cmF0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb24ubW0KaW5kZXggODI0NGUxMjQyMTI1NTRiMmVjNjRmODQ0NGY1NTMyZWYy
YTM1NWY4Ny4uYmU3ZjUzMGFjZThhY2FhZWZjY2FjNzJhMzc4Y2Y3ZmYyMjMwMTQ3NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3Vy
YXRpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb24ubW0KQEAgLTEzMzUsNiArMTMzNSwxNiBAQCBBTExPV19ERVBSRUNBVEVE
X0RFQ0xBUkFUSU9OU19FTkQKICAgICByZXR1cm4gaWRlbnRpZmllcjsKIH0KIAorLSAoQk9PTClf
YWxsb3dzUHJlY29ubmVjdAoreworICAgIHJldHVybiBfcGFnZUNvbmZpZ3VyYXRpb24tPmFsbG93
c1ByZWNvbm5lY3QoKTsKK30KKworLSAodm9pZClfc2V0QWxsb3dzUHJlY29ubmVjdDooQk9PTClh
bGxvd3MKK3sKKyAgICBfcGFnZUNvbmZpZ3VyYXRpb24tPnNldEFsbG93c1ByZWNvbm5lY3QoYWxs
b3dzKTsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV0tXZWJWaWV3Q29uZmlndXJhdGlv
biAoV0tEZXByZWNhdGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaAppbmRleCBh
Y2Y1YzAyYzc0OGU3MTBhYThhYjBhYTkwYmRhMzZiMzFkNDkzODNlLi44MjhiYTM1YmE5NDQ2ZDU2
YmYxYTI3ZGEzYmMyMDVmZjhkZWI1ODkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZh
dGUuaApAQCAtMTM1LDYgKzEzNSw4IEBAIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBfV0tE
cmFnTGlmdERlbGF5KSB7CiAvLyBBdHRyaWJ1dGVzIG5ldHdvcmsgYWN0aXZpdHkgZnJvbSB0aGlz
IFdLV2ViVmlldyB0byB0aGUgYXBwIHdpdGggdGhpcyBidW5kbGUuCiBAcHJvcGVydHkgKG5vbmF0
b21pYywgc2V0dGVyPV9zZXRBdHRyaWJ1dGVkQnVuZGxlSWRlbnRpZmllcjopIE5TU3RyaW5nICpf
YXR0cmlidXRlZEJ1bmRsZUlkZW50aWZpZXI7CiAKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0
ZXI9X3NldEFsbG93c1ByZWNvbm5lY3Q6KSBCT09MIF9hbGxvd3NQcmVjb25uZWN0IFdLX0FQSV9B
VkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7CisKIEBlbmQKIAogI2lmIFRBUkdFVF9P
U19JUEhPTkUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDBm
MGNiNmRhMjI0ODRlMGRlY2ZjMjkyOTMyMTViNTU4MzM2NjMxMDQuLjIwNzExY2ZmN2I1ODcwNGM4
Njc5NzNhZjg3NTE0NzNkMzE3MWQ2N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcApAQCAtODIxOSw2ICs4MjE5LDcgQEAgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cyBXZWJQYWdlUHJveHk6OmNyZWF0aW9uUGFyYW1ldGVycyhXZWJQcm9jZXNzUHJveHkmIHByb2MK
ICNlbmRpZgogCiAgICAgcGFyYW1ldGVycy5odHRwc1VwZ3JhZGVFbmFibGVkID0gcHJlZmVyZW5j
ZXMoKS51cGdyYWRlS25vd25Ib3N0c1RvSFRUUFNFbmFibGVkKCkgPyBtX2NvbmZpZ3VyYXRpb24t
Pmh0dHBzVXBncmFkZUVuYWJsZWQoKSA6IGZhbHNlOworICAgIHBhcmFtZXRlcnMuYWxsb3dzUHJl
Y29ubmVjdCA9IG1fY29uZmlndXJhdGlvbi0+YWxsb3dzUHJlY29ubmVjdCgpOwogCiAjaWYgUExB
VEZPUk0oSU9TKQogICAgIC8vIEZJWE1FOiBUaGlzIGlzIGFsc28gYmVpbmcgcGFzc2VkIG92ZXIg
dGhlIHRvIFdlYlByb2Nlc3MgdmlhIHRoZSBQcmVmZXJlbmNlc1N0b3JlLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCmlu
ZGV4IGM0MmQyYzAwZjc5ODJlYTNmZTE5NDAxY2QwNzZjMjRhMGI2NDllYmYuLjU3MTgxZGVlMTdj
N2Y2ZDdiYjIwYTEzMGM3N2FmNmJiNzY4N2VlYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKQEAgLTc2NCw2ICs3
NjQsMTIgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6cHJlY29ubmVjdFRvKEZyYW1lTG9hZGVy
JiBmcmFtZUxvYWRlciwgY29uc3QgVVJMJiB1cmwsIFMKIAogdm9pZCBXZWJMb2FkZXJTdHJhdGVn
eTo6cHJlY29ubmVjdFRvKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFdlYlBh
Z2UmIHdlYlBhZ2UsIFdlYkZyYW1lJiB3ZWJGcmFtZSwgV2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlh
bHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFByZWNvbm5lY3RDb21wbGV0aW9uSGFu
ZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIGlmICghd2ViUGFnZS5hbGxvd3NQcmVj
b25uZWN0KCkpIHsKKyAgICAgICAgaWYgKGNvbXBsZXRpb25IYW5kbGVyKQorICAgICAgICAgICAg
Y29tcGxldGlvbkhhbmRsZXIoeyB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlm
IChhdXRvKiBkb2N1bWVudCA9IHdlYlBhZ2UubWFpbkZyYW1lKCktPmRvY3VtZW50KCkpIHsKICAg
ICAgICAgcmVxdWVzdC5zZXRGaXJzdFBhcnR5Rm9yQ29va2llcyhkb2N1bWVudC0+Zmlyc3RQYXJ0
eUZvckNvb2tpZXMoKSk7CiAgICAgICAgIGlmIChhdXRvKiBsb2FkZXIgPSBkb2N1bWVudC0+bG9h
ZGVyKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmlu
ZGV4IGFmOTA1NDA4MTE3YmJkNjIzOTIxMmQxZDllMTRhYTJhOTdmNDExMjkuLjY5YjAxNDMwYThi
MTg1MDVmMWVhYzUwZmIyNDg2MmVjZjY0ZmFiYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC01NDIsNiArNTQyLDcgQEAgV2ViUGFnZTo6V2Vi
UGFnZShQYWdlSWRlbnRpZmllciBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBw
YXJhbWV0ZXJzKQogI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKICAgICAsIG1fYXBwSGlnaGxp
Z2h0c1Zpc2libGUocGFyYW1ldGVycy5hcHBIaWdobGlnaHRzVmlzaWJsZSkKICNlbmRpZgorICAg
ICwgbV9hbGxvd3NQcmVjb25uZWN0KHBhcmFtZXRlcnMuYWxsb3dzUHJlY29ubmVjdCkKIHsKICAg
ICBBU1NFUlQobV9pZGVudGlmaWVyKTsKICAgICBXRUJQQUdFX1JFTEVBU0VfTE9HKExvYWRpbmcs
ICJjb25zdHJ1Y3RvcjoiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaAppbmRleCBmZTUyZmUzNDdlYTUxZTdhYzZiODViNWVlYTdmMDRiM2M2ZWIzYjZkLi5lNDQx
N2U1MTY3M2UwYWI1NGFmOGQ1YmIyNzAwN2MyMDJjODcxOGYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0xNDc3LDYgKzE0NzcsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBkaWRIYW5kbGVPclByZXZlbnRNb3VzZURvd25Pck1vdXNlVXBFdmVudCgpOwog
ICAgIHZvaWQgcHJlcGFyZVRvUnVuTW9kYWxKYXZhU2NyaXB0RGlhbG9nKCk7CiAKKyAgICBib29s
IGFsbG93c1ByZWNvbm5lY3QoKSBjb25zdCB7IHJldHVybiBtX2FsbG93c1ByZWNvbm5lY3Q7IH0K
KwogcHJpdmF0ZToKICAgICBXZWJQYWdlKFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyLCBXZWJQYWdl
Q3JlYXRpb25QYXJhbWV0ZXJzJiYpOwogCkBAIC0yMzcwLDYgKzIzNzIsNyBAQCBwcml2YXRlOgog
I2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKICAgICBXZWJDb3JlOjpIaWdobGlnaHRWaXNpYmls
aXR5IG1fYXBwSGlnaGxpZ2h0c1Zpc2libGUgeyBmYWxzZSB9OwogI2VuZGlmCisgICAgYm9vbCBt
X2FsbG93c1ByZWNvbm5lY3QgeyB0cnVlIH07CiB9OwogCiAjaWYgIVBMQVRGT1JNKElPU19GQU1J
TFkpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
YTkzYzdlODRlY2Q0OTRkZjYwNGFkYmY3MTVhN2QxYjJlODU1MGZhZi4uNjZiMjJhYjRmZTc5MmI5
ZDlhMTkyMzNlYzk5YTcwOGIyOTc1YmVjNiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTA3LTE1ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFNQSSB0
byBwcmV2ZW50IHByZWNvbm5lY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNzk5MgorICAgICAgICA8cmRhcjovLzcyOTk1MTM2PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9Mb2FkSW52YWxpZFVSTFJlcXVlc3QubW06CisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL1ByZWNvbm5lY3QubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAy
MS0wNy0wNyAgTGluZyBIbyAgPGxpbmdob0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHBy
b3h5IHNlcnZlciBzZXR0aW5nIGZyb20gQnVpbGRib3QgY29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Mb2FkSW52YWxpZFVSTFJl
cXVlc3QubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0xvYWRJbnZh
bGlkVVJMUmVxdWVzdC5tbQppbmRleCBhYzc5NmQ1ZDQ0OGE4ZGY2NmY5MzM4ODE4NTE3MjEzYTY3
YjczMjU0Li45MTNmNWFmZWYzZWQ0Y2RjOTgyYzZiODQ2ZjBiNzA1NTFiOTgzOTRiIDEwMDY0NAot
LS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0xvYWRJbnZhbGlkVVJM
UmVxdWVzdC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0xv
YWRJbnZhbGlkVVJMUmVxdWVzdC5tbQpAQCAtMTM3LDUgKzEzNywyMCBAQCBURVNUKFdlYktpdCwg
TG9hZE5TVVJMUmVxdWVzdFN1YmNsYXNzKQogICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRG
aW5pc2hOYXZpZ2F0aW9uXTsKIH0KIAorVEVTVChXZWJLaXQsIExvYWROU1VSTFJlcXVlc3RXaXRo
UHJvcGVydHkpCit7CisgICAgYXV0byByZXF1ZXN0ID0gYWRvcHROUyhbW05TTXV0YWJsZVVSTFJl
cXVlc3QgYWxsb2NdIGluaXRXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAidGVzdDovLy8i
XV0pOworICAgIFtOU1VSTFByb3RvY29sIHNldFByb3BlcnR5OltOU1VVSUQgVVVJRF0gZm9yS2V5
OkAia2V5IiBpblJlcXVlc3Q6cmVxdWVzdC5nZXQoKV07CisgICAgYXV0byBoYW5kbGVyID0gYWRv
cHROUyhbVGVzdFVSTFNjaGVtZUhhbmRsZXIgbmV3XSk7CisgICAgaGFuZGxlci5nZXQoKS5zdGFy
dFVSTFNjaGVtZVRhc2tIYW5kbGVyID0gXihXS1dlYlZpZXcgKiwgaWQ8V0tVUkxTY2hlbWVUYXNr
PiB0YXNrKSB7CisgICAgICAgIHJlc3BvbmQodGFzaywgImhpIik7CisgICAgfTsKKyAgICBhdXRv
IGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIG5ld10pOwor
ICAgIFtjb25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6aGFuZGxlci5nZXQoKSBmb3JV
UkxTY2hlbWU6QCJ0ZXN0Il07CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29uZmlndXJh
dGlvbi5nZXQoKV0pOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3QuZ2V0KCldOwor
ICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKK30KKwogfSAv
LyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByZWNvbm5lY3QubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL1ByZWNvbm5lY3QubW0KaW5kZXggMjc1MGIwN2JhY2VhYjJlNjZm
ZDcyMWZiNWNiNTUwNTRlODQ4ZjQ1My4uNDJmMTdhZmRkZTRhYjQzYTljMGQxN2UyZWMwMTJlYzZl
ZWY4M2MwNiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9QcmVjb25uZWN0Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvUHJlY29ubmVjdC5tbQpAQCAtMzEsNiArMzEsNyBAQAogI2ltcG9ydCAiVGVzdFVJRGVsZWdh
dGUuaCIKICNpbXBvcnQgIlV0aWxpdGllcy5oIgogI2ltcG9ydCAiV0tXZWJWaWV3Q29uZmlndXJh
dGlvbkV4dHJhcy5oIgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2
YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZS5oPgogI2ltcG9ydCA8cGFs
L3NwaS9jZi9DRk5ldHdvcmtTUEkuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTIz
MSw0ICsyMzIsMzMgQEAgVEVTVChQcmVjb25uZWN0LCBIMlBpbmdGcm9tV2ViQ29yZU5TVVJMU2Vz
c2lvbikKIAogI2VuZGlmIC8vIEhBVkUoUFJFQ09OTkVDVF9QSU5HKQogCitURVNUKFByZWNvbm5l
Y3QsIERpc2FibGVQcmVjb25uZWN0KQoreworICAgIHNpemVfdCBjb25uZWN0aW9uQ291bnQgeyAw
IH07CisgICAgSFRUUFNlcnZlciBzZXJ2ZXIoWyZdKENvbm5lY3Rpb24pIHsKKyAgICAgICAgY29u
bmVjdGlvbkNvdW50Kys7CisgICAgfSk7CisgICAgTlNTdHJpbmcgKmh0bWwgPSBbTlNTdHJpbmcg
c3RyaW5nV2l0aEZvcm1hdDpAIjxsaW5rIHJlbD0ncHJlY29ubmVjdCcgaHJlZj0naHR0cDovLzEy
Ny4wLjAuMTolZCc+Iiwgc2VydmVyLnBvcnQoKV07CisKKyAgICB7CisgICAgICAgIGF1dG8gY29u
ZmlndXJhdGlvbiA9IGFkb3B0TlMoW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gbmV3XSk7CisgICAg
ICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkuX2FsbG93c1ByZWNvbm5lY3QgPSBOTzsKKyAgICAgICAg
YXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpD
R1JlY3RaZXJvIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOworICAgICAgICBb
d2ViVmlldyBsb2FkSFRNTFN0cmluZzpodG1sIGJhc2VVUkw6bmlsXTsKKyAgICAgICAgW3dlYlZp
ZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworICAgICAgICBVdGlsOjpzcGlu
UnVuTG9vcCgxMCk7CisgICAgICAgIHVzbGVlcCgxMDAwMCk7CisgICAgICAgIFV0aWw6OnNwaW5S
dW5Mb29wKDEwKTsKKyAgICAgICAgRVhQRUNUX0VRKGNvbm5lY3Rpb25Db3VudCwgMHUpOworICAg
IH0KKworICAgIHsKKyAgICAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbV0tXZWJWaWV3IG5l
d10pOworICAgICAgICBbd2ViVmlldyBsb2FkSFRNTFN0cmluZzpodG1sIGJhc2VVUkw6bmlsXTsK
KyAgICAgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworICAg
ICAgICB3aGlsZSAoY29ubmVjdGlvbkNvdW50ICE9IDEpCisgICAgICAgICAgICBVdGlsOjpzcGlu
UnVuTG9vcCgpOworICAgIH0KK30KKwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433630</attachid>
            <date>2021-07-15 15:50:42 -0700</date>
            <delta_ts>2021-07-16 12:38:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227992-20210715155041.patch</filename>
            <type>text/plain</type>
            <size>11336</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzk5MjQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDIxLTA3LTE1ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFNQSSB0byBw
cmV2ZW50IHByZWNvbm5lY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNzk5MgorICAgICAgICA8cmRhcjovLzcyOTk1MTM2PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL1dlYlBhZ2VDcmVh
dGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlQ3JlYXRpb25QYXJh
bWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlQ3JlYXRpb25Q
YXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJh
bWV0ZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5j
cHA6CisgICAgICAgIChBUEk6OlBhZ2VDb25maWd1cmF0aW9uOjpjb3B5IGNvbnN0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmg6CisgICAgICAgIChBUEk6
OlBhZ2VDb25maWd1cmF0aW9uOjpzZXRBbGxvd3NQcmVjb25uZWN0KToKKyAgICAgICAgKEFQSTo6
UGFnZUNvbmZpZ3VyYXRpb246OmFsbG93c1ByZWNvbm5lY3QgY29uc3QpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1b
V0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfYWxsb3dzUHJlY29ubmVjdF0pOgorICAgICAgICAoLVtX
S1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRBbGxvd3NQcmVjb25uZWN0Ol0pOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpjcmVhdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0
d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkxvYWRlclN0
cmF0ZWd5OjpwcmVjb25uZWN0VG8pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bV9hbGxvd3NQcmVjb25uZWN0KToKKyAgICAgICAg
KFdlYktpdDo6bV9hcHBIaWdobGlnaHRzVmlzaWJsZSk6IERlbGV0ZWQuCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6YWxs
b3dzUHJlY29ubmVjdCBjb25zdCk6CisKIDIwMjEtMDctMTQgIERldmluIFJvdXNzbyAgPGRyb3Vz
c29AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFJFR1JFU1NJT04ocjI3OTcyMCk6IGNoYW5n
aW5nIFN1YnRpdGxlcyB0byBPZmYgZG9lc24ndCBoaWRlIHRoZW0gb3IgZG8gYW55dGhpbmcKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRl
cnMuY3BwCShyZXZpc2lvbiAyNzk5MjQpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdl
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgyLDYgKzE4Miw3IEBA
IHZvaWQgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKEkKICNlbmRpZgogICAgIAog
ICAgIGVuY29kZXIgPDwgaHR0cHNVcGdyYWRlRW5hYmxlZDsKKyAgICBlbmNvZGVyIDw8IGFsbG93
c1ByZWNvbm5lY3Q7CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGVuY29kZXIgPDwgYWxsb3dzRGVw
cmVjYXRlZFN5bmNocm9ub3VzWE1MSHR0cFJlcXVlc3REdXJpbmdVbmxvYWQ7CiAjZW5kaWYKQEAg
LTU5OCw2ICs1OTksOSBAQCBzdGQ6Om9wdGlvbmFsPFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM+
CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLmh0dHBzVXBncmFkZUVuYWJsZWQp
KQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCisgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShwYXJhbWV0ZXJzLmFsbG93c1ByZWNvbm5lY3QpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxs
b3B0OworCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1l
dGVycy5hbGxvd3NEZXByZWNhdGVkU3luY2hyb25vdXNYTUxIdHRwUmVxdWVzdER1cmluZ1VubG9h
ZCkpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCShyZXZpc2lvbiAyNzk5MjQp
CisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTI1Miw2ICsyNTIsNyBAQCBzdHJ1Y3QgV2ViUGFnZUNyZWF0aW9uUGFy
YW1ldGVycyB7CiAjZW5kaWYKICAgICAKICAgICBib29sIGh0dHBzVXBncmFkZUVuYWJsZWQgeyB0
cnVlIH07CisgICAgYm9vbCBhbGxvd3NQcmVjb25uZWN0IHsgdHJ1ZSB9OwogCiAjaWYgUExBVEZP
Uk0oSU9TKQogICAgIGJvb2wgYWxsb3dzRGVwcmVjYXRlZFN5bmNocm9ub3VzWE1MSHR0cFJlcXVl
c3REdXJpbmdVbmxvYWQgeyBmYWxzZSB9OwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiAyNzk5MjQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MjMyLDYgKzgyMzIsNyBA
QCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIFdlYlBhZ2VQcm94eTo6CiAjZW5kaWYKIAogICAg
IHBhcmFtZXRlcnMuaHR0cHNVcGdyYWRlRW5hYmxlZCA9IHByZWZlcmVuY2VzKCkudXBncmFkZUtu
b3duSG9zdHNUb0hUVFBTRW5hYmxlZCgpID8gbV9jb25maWd1cmF0aW9uLT5odHRwc1VwZ3JhZGVF
bmFibGVkKCkgOiBmYWxzZTsKKyAgICBwYXJhbWV0ZXJzLmFsbG93c1ByZWNvbm5lY3QgPSBtX2Nv
bmZpZ3VyYXRpb24tPmFsbG93c1ByZWNvbm5lY3QoKTsKIAogI2lmIFBMQVRGT1JNKElPUykKICAg
ICAvLyBGSVhNRTogVGhpcyBpcyBhbHNvIGJlaW5nIHBhc3NlZCBvdmVyIHRoZSB0byBXZWJQcm9j
ZXNzIHZpYSB0aGUgUHJlZmVyZW5jZXNTdG9yZS4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9BUElQYWdlQ29uZmlndXJhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmNwcAkocmV2aXNpb24gMjc5
OTI0KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9u
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODAsNiArODAsNyBAQCBSZWY8UGFnZUNvbmZpZ3VyYXRp
b24+IFBhZ2VDb25maWd1cmF0aW9uCiAjZW5kaWYKICAgICBjb3B5LT5tX3Nob3VsZFJlbGF4VGhp
cmRQYXJ0eUNvb2tpZUJsb2NraW5nID0gdGhpcy0+bV9zaG91bGRSZWxheFRoaXJkUGFydHlDb29r
aWVCbG9ja2luZzsKICAgICBjb3B5LT5tX2F0dHJpYnV0ZWRCdW5kbGVJZGVudGlmaWVyID0gdGhp
cy0+bV9hdHRyaWJ1dGVkQnVuZGxlSWRlbnRpZmllcjsKKyAgICBjb3B5LT5tX2FsbG93c1ByZWNv
bm5lY3QgPSB0aGlzLT5tX2FsbG93c1ByZWNvbm5lY3Q7CiAgICAgZm9yIChhdXRvJiBwYWlyIDog
dGhpcy0+bV91cmxTY2hlbWVIYW5kbGVycykKICAgICAgICAgY29weS0+bV91cmxTY2hlbWVIYW5k
bGVycy5zZXQocGFpci5rZXksIHBhaXIudmFsdWUuY29weVJlZigpKTsKICAgICBjb3B5LT5tX2Nv
cnNEaXNhYmxpbmdQYXR0ZXJucyA9IHRoaXMtPm1fY29yc0Rpc2FibGluZ1BhdHRlcm5zOwpJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0aW9uLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVBhZ2VDb25maWd1cmF0
aW9uLmgJKHJldmlzaW9uIDI3OTkyNCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9B
UElQYWdlQ29uZmlndXJhdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODQsNiArMTg0LDkgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0QXBwSW5pdGlhdGVkT3ZlcnJpZGVWYWx1ZUZvclRlc3Rpbmco
V2ViS2l0OjpBdHRyaWJ1dGlvbk92ZXJyaWRlVGVzdGluZyBhcHBJbml0aWF0ZWRPdmVycmlkZVZh
bHVlRm9yVGVzdGluZykgeyBtX2FwcEluaXRpYXRlZE92ZXJyaWRlVmFsdWVGb3JUZXN0aW5nID0g
YXBwSW5pdGlhdGVkT3ZlcnJpZGVWYWx1ZUZvclRlc3Rpbmc7IH0KICNlbmRpZgogCisgICAgdm9p
ZCBzZXRBbGxvd3NQcmVjb25uZWN0KGJvb2wgYWxsb3dzKSB7IG1fYWxsb3dzUHJlY29ubmVjdCA9
IGFsbG93czsgfQorICAgIGJvb2wgYWxsb3dzUHJlY29ubmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1f
YWxsb3dzUHJlY29ubmVjdDsgfQorCiBwcml2YXRlOgogCiAgICAgUmVmUHRyPFdlYktpdDo6V2Vi
UHJvY2Vzc1Bvb2w+IG1fcHJvY2Vzc1Bvb2w7CkBAIC0yMzIsNiArMjM1LDcgQEAgcHJpdmF0ZToK
IAogICAgIGJvb2wgbV9tZWRpYUNhcHR1cmVFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1f
aHR0cHNVcGdyYWRlRW5hYmxlZCB7IHRydWUgfTsKKyAgICBib29sIG1fYWxsb3dzUHJlY29ubmVj
dCB7IHRydWUgfTsKIAogICAgIFdlYkNvcmU6OlNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJs
b2NraW5nIG1fc2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcgeyBXZWJDb3JlOjpT
aG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZzo6Tm8gfTsKICAgICBXVEY6OlN0cmlu
ZyBtX2F0dHJpYnV0ZWRCdW5kbGVJZGVudGlmaWVyOwpJbmRleDogU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24u
bW0JKHJldmlzaW9uIDI3OTkyNCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMzY0LDYgKzEz
NjQsMTYgQEAgLSAoTlNTdHJpbmcgKilfYXR0cmlidXRlZEJ1bmRsZUlkZW50aWZpZQogICAgIHJl
dHVybiBpZGVudGlmaWVyOwogfQogCistIChCT09MKV9hbGxvd3NQcmVjb25uZWN0Cit7CisgICAg
cmV0dXJuIF9wYWdlQ29uZmlndXJhdGlvbi0+YWxsb3dzUHJlY29ubmVjdCgpOworfQorCistICh2
b2lkKV9zZXRBbGxvd3NQcmVjb25uZWN0OihCT09MKWFsbG93cworeworICAgIF9wYWdlQ29uZmln
dXJhdGlvbi0+c2V0QWxsb3dzUHJlY29ubmVjdChhbGxvd3MpOworfQorCiBAZW5kCiAKIEBpbXBs
ZW1lbnRhdGlvbiBXS1dlYlZpZXdDb25maWd1cmF0aW9uIChXS0RlcHJlY2F0ZWQpCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblBy
aXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaAkocmV2aXNpb24gMjc5OTI0KQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2
YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0Miw2ICsxNDIsOCBAQCB0eXBlZGVmIE5TX0VOVU0o
TlNVSW50ZWdlciwgX1dLQXR0cmlidXRpCiAvLyBBdHRyaWJ1dGVzIG5ldHdvcmsgYWN0aXZpdHkg
ZnJvbSB0aGlzIFdLV2ViVmlldyB0byB0aGUgYXBwIHdpdGggdGhpcyBidW5kbGUuCiBAcHJvcGVy
dHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRBdHRyaWJ1dGVkQnVuZGxlSWRlbnRpZmllcjopIE5T
U3RyaW5nICpfYXR0cmlidXRlZEJ1bmRsZUlkZW50aWZpZXI7CiAKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljLCBzZXR0ZXI9X3NldEFsbG93c1ByZWNvbm5lY3Q6KSBCT09MIF9hbGxvd3NQcmVjb25uZWN0
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7CisKIEBlbmQKIAogI2lm
IFRBUkdFVF9PU19JUEhPTkUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYkxvYWRlclN0cmF0ZWd5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAJKHJldmlzaW9uIDI3OTkyNCkKKysr
IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzY0LDYgKzc2NCwxMiBAQCB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5
OjpwcmVjb25uZWN0VG8oRnJhCiAKIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnByZWNvbm5lY3RU
byhXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBXZWJQYWdlJiB3ZWJQYWdlLCBX
ZWJGcmFtZSYgd2ViRnJhbWUsIFdlYkNvcmU6OlN0b3JlZENyZWRlbnRpYWxzUG9saWN5IHN0b3Jl
ZENyZWRlbnRpYWxzUG9saWN5LCBQcmVjb25uZWN0Q29tcGxldGlvbkhhbmRsZXImJiBjb21wbGV0
aW9uSGFuZGxlcikKIHsKKyAgICBpZiAoIXdlYlBhZ2UuYWxsb3dzUHJlY29ubmVjdCgpKSB7Cisg
ICAgICAgIGlmIChjb21wbGV0aW9uSGFuZGxlcikKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKHsgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAoYXV0byogZG9jdW1l
bnQgPSB3ZWJQYWdlLm1haW5GcmFtZSgpLT5kb2N1bWVudCgpKSB7CiAgICAgICAgIHJlcXVlc3Qu
c2V0Rmlyc3RQYXJ0eUZvckNvb2tpZXMoZG9jdW1lbnQtPmZpcnN0UGFydHlGb3JDb29raWVzKCkp
OwogICAgICAgICBpZiAoYXV0byogbG9hZGVyID0gZG9jdW1lbnQtPmxvYWRlcigpKQpJbmRleDog
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9u
IDI3OTkyNCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01NDIsNiArNTQyLDcgQEAgV2ViUGFnZTo6V2ViUGFnZShQYWdl
SWRlbnRpZmllciBwYWdlSUQsIAogI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKICAgICAsIG1f
YXBwSGlnaGxpZ2h0c1Zpc2libGUocGFyYW1ldGVycy5hcHBIaWdobGlnaHRzVmlzaWJsZSkKICNl
bmRpZgorICAgICwgbV9hbGxvd3NQcmVjb25uZWN0KHBhcmFtZXRlcnMuYWxsb3dzUHJlY29ubmVj
dCkKIHsKICAgICBBU1NFUlQobV9pZGVudGlmaWVyKTsKICAgICBXRUJQQUdFX1JFTEVBU0VfTE9H
KExvYWRpbmcsICJjb25zdHJ1Y3RvcjoiKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmgJKHJldmlzaW9uIDI3OTkyNCkKKysrIFNvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ3Nyw2ICsx
NDc3LDggQEAgcHVibGljOgogICAgIHZvaWQgZGlkSGFuZGxlT3JQcmV2ZW50TW91c2VEb3duT3JN
b3VzZVVwRXZlbnQoKTsKICAgICB2b2lkIHByZXBhcmVUb1J1bk1vZGFsSmF2YVNjcmlwdERpYWxv
ZygpOwogCisgICAgYm9vbCBhbGxvd3NQcmVjb25uZWN0KCkgY29uc3QgeyByZXR1cm4gbV9hbGxv
d3NQcmVjb25uZWN0OyB9CisKIHByaXZhdGU6CiAgICAgV2ViUGFnZShXZWJDb3JlOjpQYWdlSWRl
bnRpZmllciwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmKTsKIApAQCAtMjM3MCw2ICsyMzcy
LDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCiAgICAgV2ViQ29yZTo6
SGlnaGxpZ2h0VmlzaWJpbGl0eSBtX2FwcEhpZ2hsaWdodHNWaXNpYmxlIHsgZmFsc2UgfTsKICNl
bmRpZgorICAgIGJvb2wgbV9hbGxvd3NQcmVjb25uZWN0IHsgdHJ1ZSB9OwogfTsKIAogI2lmICFQ
TEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjc5OTI0KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDctMTUgIEFsZXggQ2hyaXN0ZW5z
ZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgU1BJIHRvIHByZXZl
bnQgcHJlY29ubmVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI3OTkyCisgICAgICAgIDxyZGFyOi8vNzI5OTUxMzY+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL1ByZWNvbm5lY3QubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToK
KwogMjAyMS0wNy0xNCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBDb252ZXJ0IHNtYWxsIEpJVCBwb29sIHRlc3RzIGludG8gZXhlY3V0YWJsZSBmdXp6
aW5nCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByZWNvbm5l
Y3QubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9QcmVjb25uZWN0Lm1tCShyZXZpc2lvbiAyNzk5MjQpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL1ByZWNvbm5lY3QubW0JKHdvcmtpbmcgY29weSkKQEAgLTMxLDYg
KzMxLDcgQEAKICNpbXBvcnQgIlRlc3RVSURlbGVnYXRlLmgiCiAjaW1wb3J0ICJVdGlsaXRpZXMu
aCIKICNpbXBvcnQgIldLV2ViVmlld0NvbmZpZ3VyYXRpb25FeHRyYXMuaCIKKyNpbXBvcnQgPFdl
YktpdC9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dL
V2ViVmlld1ByaXZhdGUuaD4KICNpbXBvcnQgPHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+CiAj
aW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CkBAIC0yMzEsNCArMjMyLDMzIEBAIFRFU1QoUHJlY29u
bmVjdCwgSDJQaW5nRnJvbVdlYkNvcmVOU1VSTFMKIAogI2VuZGlmIC8vIEhBVkUoUFJFQ09OTkVD
VF9QSU5HKQogCitURVNUKFByZWNvbm5lY3QsIERpc2FibGVQcmVjb25uZWN0KQoreworICAgIHNp
emVfdCBjb25uZWN0aW9uQ291bnQgeyAwIH07CisgICAgSFRUUFNlcnZlciBzZXJ2ZXIoWyZdKENv
bm5lY3Rpb24pIHsKKyAgICAgICAgY29ubmVjdGlvbkNvdW50Kys7CisgICAgfSk7CisgICAgTlNT
dHJpbmcgKmh0bWwgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIjxsaW5rIHJlbD0ncHJl
Y29ubmVjdCcgaHJlZj0naHR0cDovLzEyNy4wLjAuMTolZCc+Iiwgc2VydmVyLnBvcnQoKV07CisK
KyAgICB7CisgICAgICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb24gbmV3XSk7CisgICAgICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkuX2FsbG93c1By
ZWNvbm5lY3QgPSBOTzsKKyAgICAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RaZXJvIGNvbmZpZ3VyYXRpb246Y29uZmlndXJh
dGlvbi5nZXQoKV0pOworICAgICAgICBbd2ViVmlldyBsb2FkSFRNTFN0cmluZzpodG1sIGJhc2VV
Ukw6bmlsXTsKKyAgICAgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRp
b25dOworICAgICAgICBVdGlsOjpzcGluUnVuTG9vcCgxMCk7CisgICAgICAgIHVzbGVlcCgxMDAw
MCk7CisgICAgICAgIFV0aWw6OnNwaW5SdW5Mb29wKDEwKTsKKyAgICAgICAgRVhQRUNUX0VRKGNv
bm5lY3Rpb25Db3VudCwgMHUpOworICAgIH0KKworICAgIHsKKyAgICAgICAgYXV0byB3ZWJWaWV3
ID0gYWRvcHROUyhbV0tXZWJWaWV3IG5ld10pOworICAgICAgICBbd2ViVmlldyBsb2FkSFRNTFN0
cmluZzpodG1sIGJhc2VVUkw6bmlsXTsKKyAgICAgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRp
ZEZpbmlzaE5hdmlnYXRpb25dOworICAgICAgICB3aGlsZSAoY29ubmVjdGlvbkNvdW50ICE9IDEp
CisgICAgICAgICAgICBVdGlsOjpzcGluUnVuTG9vcCgpOworICAgIH0KK30KKwogfQo=
</data>
<flag name="review"
          id="455946"
          type_id="1"
          status="+"
          setter="ggaren"
    />
    <flag name="commit-queue"
          id="455992"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>