<?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>219635</bug_id>
          
          <creation_ts>2020-12-08 02:32:35 -0800</creation_ts>
          <short_desc>[macOS] Change Universal Access zoom in the UI process</short_desc>
          <delta_ts>2020-12-09 05:48:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>mifenton</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1712728</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-12-08 02:32:35 -0800</bug_when>
    <thetext>Currently, the API UAZoomChangeFocus is called in the WebContent process when Universal Access zoom is enabled. To enable us to block the HI service com.apple.hiservices-xpcservice in the WebContent process, this call should be performed in the UI process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712732</commentid>
    <comment_count>1</comment_count>
      <attachid>415625</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-12-08 02:45:26 -0800</bug_when>
    <thetext>Created attachment 415625
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1712855</commentid>
    <comment_count>2</comment_count>
      <attachid>415625</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-12-08 12:10:44 -0800</bug_when>
    <thetext>Comment on attachment 415625
Patch

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

I think we are moving too much of the code from shared between WebKit and WebKitLegacy to have two copies.

&gt; Source/WebKit/UIProcess/mac/WebPageProxyMac.mm:717
&gt; +void WebPageProxy::changeUniversalAccessZoomFocus(const WebCore::IntRect&amp; viewRect, const WebCore::IntRect&amp; selectionRect)

Can we find a way to share this code between WebKit and WebKitLegacy? Maybe put a function in WebCore they both call? It’s annoying to have two copies.

&gt; Source/WebKit/UIProcess/mac/WebPageProxyMac.mm:727
&gt; +    NSRect nsCaretRect = NSMakeRect(selectionRect.x(), selectionRect.y(), selectionRect.width(), selectionRect.height());
&gt; +    NSRect nsViewRect = NSMakeRect(viewRect.x(), viewRect.y(), viewRect.width(), viewRect.height());
&gt; +    nsCaretRect = toUserSpaceForPrimaryScreen(nsCaretRect);
&gt; +    nsViewRect = toUserSpaceForPrimaryScreen(nsViewRect);
&gt; +    CGRect cgCaretRect = NSRectToCGRect(nsCaretRect);
&gt; +    CGRect cgViewRect = NSRectToCGRect(nsViewRect);

I know this is just moved code, but I suggest this alternative way of writing it:

    auto cgCaretRect = NSRectToCGRect(toUserSpaceForPrimaryScreen(selectionRect));
    auto cgViewRect = NSRectToCGRect(toUserSpaceForPrimaryScreen(viewRect));

This should compile and do the same as the code above. If not, I’d like to know why not.

&gt; Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.mm:1185
&gt; +    NSRect nsCaretRect = NSMakeRect(selectionRect.x(), selectionRect.y(), selectionRect.width(), selectionRect.height());
&gt; +    NSRect nsViewRect = NSMakeRect(viewRect.x(), viewRect.y(), viewRect.width(), viewRect.height());
&gt; +    nsCaretRect = toUserSpaceForPrimaryScreen(nsCaretRect);
&gt; +    nsViewRect = toUserSpaceForPrimaryScreen(nsViewRect);
&gt; +    CGRect cgCaretRect = NSRectToCGRect(nsCaretRect);
&gt; +    CGRect cgViewRect = NSRectToCGRect(nsViewRect);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713105</commentid>
    <comment_count>3</comment_count>
      <attachid>415744</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-12-09 04:30:56 -0800</bug_when>
    <thetext>Created attachment 415744
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713108</commentid>
    <comment_count>4</comment_count>
      <attachid>415745</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-12-09 04:52:44 -0800</bug_when>
    <thetext>Created attachment 415745
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713114</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-09 05:48:01 -0800</bug_when>
    <thetext>Committed r270577: &lt;https://trac.webkit.org/changeset/270577&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 415745.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713115</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-09 05:48:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/72134245&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415625</attachid>
            <date>2020-12-08 02:45:26 -0800</date>
            <delta_ts>2020-12-08 12:10:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219635-20201208114525.patch</filename>
            <type>text/plain</type>
            <size>11746</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3MDUwMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDIwLTEyLTA4ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIENoYW5nZSBV
bml2ZXJzYWwgQWNjZXNzIHpvb20gaW4gdGhlIFVJIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTYzNQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSwgdGhlIEFQSSBVQVpvb21D
aGFuZ2VGb2N1cyBpcyBjYWxsZWQgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyB3aGVuIFVuaXZl
cnNhbCBBY2Nlc3Mgem9vbSBpcyBlbmFibGVkLgorICAgICAgICBUbyBlbmFibGUgdXMgdG8gYmxv
Y2sgdGhlIEhJIHNlcnZpY2UgY29tLmFwcGxlLmhpc2VydmljZXMteHBjc2VydmljZSBpbiB0aGUg
V2ViQ29udGVudCBwcm9jZXNzLCB0aGlzIGNhbGwgc2hvdWxkCisgICAgICAgIGJlIHBlcmZvcm1l
ZCBpbiB0aGUgVUkgcHJvY2Vzcy4gVGhpcyBwYXRjaCBpbXBsZW1lbnRzIHRoaXMgYnkgaGF2aW5n
IHRoZSBwYWdlIGNocm9tZSBjbGllbnQgc2VuZCBhIG1lc3NhZ2UgdG8KKyAgICAgICAgdGhlIFVJ
IHByb2Nlc3MsIHdoaWNoIHdpbGwgY2hhbmdlIHRoZSB6b29tLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cywgc2luY2UgZW5hYmxpbmcgVW5pdmVyc2FsIEFjY2VzcyB6b29tIGlzIHJlcXVpcmVkIHRv
IHRlc3QgdGhpcy4KKworICAgICAgICAqIGVkaXRpbmcvbWFjL0ZyYW1lU2VsZWN0aW9uTWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246Om5vdGlmeUFjY2Vzc2liaWxpdHlG
b3JTZWxlY3Rpb25DaGFuZ2UpOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OmNoYW5nZVVuaXZlcnNhbEFjY2Vzc1pvb21Gb2N1
cyk6CisgICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1TY3JlZW4uaDoKKwogMjAyMC0xMi0wNyAg
WmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0ludGVncmF0
aW9uXSBDaGVjayBpZiBSZW5kZXJJbmxpbmUncyB0ZXh0IGNoaWxkcmVuIGFyZSBzdXBwb3J0ZWQK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL0ZyYW1lU2VsZWN0aW9uTWFjLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL0ZyYW1lU2VsZWN0aW9uTWFj
Lm1tCShyZXZpc2lvbiAyNzA1MDMpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9GcmFt
ZVNlbGVjdGlvbk1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsOCBAQAogI2ltcG9y
dCAiRnJhbWVTZWxlY3Rpb24uaCIKIAogI2ltcG9ydCAiQVhPYmplY3RDYWNoZS5oIgorI2ltcG9y
dCAiQ2hyb21lLmgiCisjaW1wb3J0ICJDaHJvbWVDbGllbnQuaCIKICNpbXBvcnQgIkZyYW1lLmgi
CiAjaW1wb3J0ICJSZW5kZXJWaWV3LmgiCiAKQEAgLTQxLDcgKzQzLDcgQEAgdm9pZCBGcmFtZVNl
bGVjdGlvbjo6bm90aWZ5QWNjZXNzaWJpbGl0eQogCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkp
CiAgICAgLy8gaWYgem9vbSBmZWF0dXJlIGlzIGVuYWJsZWQsIGluc2VydGlvbiBwb2ludCBjaGFu
Z2VzIHNob3VsZCB1cGRhdGUgdGhlIHpvb20KLSAgICBpZiAoIVVBWm9vbUVuYWJsZWQoKSB8fCAh
bV9zZWxlY3Rpb24uaXNDYXJldCgpKQorICAgIGlmICghbV9zZWxlY3Rpb24uaXNDYXJldCgpKQog
ICAgICAgICByZXR1cm47CiAKICAgICBSZW5kZXJWaWV3KiByZW5kZXJWaWV3ID0gbV9kb2N1bWVu
dC0+cmVuZGVyVmlldygpOwpAQCAtNTYsMTQgKzU4LDExIEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246
Om5vdGlmeUFjY2Vzc2liaWxpdHkKIAogICAgIHNlbGVjdGlvblJlY3QgPSBmcmFtZVZpZXctPmNv
bnRlbnRzVG9TY3JlZW4oc2VsZWN0aW9uUmVjdCk7CiAgICAgdmlld1JlY3QgPSBmcmFtZVZpZXct
PmNvbnRlbnRzVG9TY3JlZW4odmlld1JlY3QpOwotICAgIE5TUmVjdCBuc0NhcmV0UmVjdCA9IE5T
TWFrZVJlY3Qoc2VsZWN0aW9uUmVjdC54KCksIHNlbGVjdGlvblJlY3QueSgpLCBzZWxlY3Rpb25S
ZWN0LndpZHRoKCksIHNlbGVjdGlvblJlY3QuaGVpZ2h0KCkpOwotICAgIE5TUmVjdCBuc1ZpZXdS
ZWN0ID0gTlNNYWtlUmVjdCh2aWV3UmVjdC54KCksIHZpZXdSZWN0LnkoKSwgdmlld1JlY3Qud2lk
dGgoKSwgdmlld1JlY3QuaGVpZ2h0KCkpOwotICAgIG5zQ2FyZXRSZWN0ID0gdG9Vc2VyU3BhY2VG
b3JQcmltYXJ5U2NyZWVuKG5zQ2FyZXRSZWN0KTsKLSAgICBuc1ZpZXdSZWN0ID0gdG9Vc2VyU3Bh
Y2VGb3JQcmltYXJ5U2NyZWVuKG5zVmlld1JlY3QpOwotICAgIENHUmVjdCBjZ0NhcmV0UmVjdCA9
IE5TUmVjdFRvQ0dSZWN0KG5zQ2FyZXRSZWN0KTsKLSAgICBDR1JlY3QgY2dWaWV3UmVjdCA9IE5T
UmVjdFRvQ0dSZWN0KG5zVmlld1JlY3QpOwogCi0gICAgVUFab29tQ2hhbmdlRm9jdXMoJmNnVmll
d1JlY3QsICZjZ0NhcmV0UmVjdCwga1VBWm9vbUZvY3VzVHlwZUluc2VydGlvblBvaW50KTsKKyAg
ICBpZiAoIW1fZG9jdW1lbnQtPnBhZ2UoKSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIG1f
ZG9jdW1lbnQtPnBhZ2UoKS0+Y2hyb21lKCkuY2xpZW50KCkuY2hhbmdlVW5pdmVyc2FsQWNjZXNz
Wm9vbUZvY3VzKHZpZXdSZWN0LCBzZWxlY3Rpb25SZWN0KTsKICNlbmRpZiAvLyAhUExBVEZPUk0o
SU9TX0ZBTUlMWSkKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCShyZXZp
c2lvbiAyNzA1MDMpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01NDEsNiArNTQxLDEwIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9p
ZCBhbmltYXRpb25EaWRGaW5pc2hGb3JFbGVtZW50KGNvbnN0IEVsZW1lbnQmKSB7IH0KIAorI2lm
IFBMQVRGT1JNKE1BQykKKyAgICB2aXJ0dWFsIHZvaWQgY2hhbmdlVW5pdmVyc2FsQWNjZXNzWm9v
bUZvY3VzKGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRSZWN0JikgeyB9CisjZW5kaWYKKwogcHJv
dGVjdGVkOgogICAgIHZpcnR1YWwgfkNocm9tZUNsaWVudCgpID0gZGVmYXVsdDsKIH07CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVNjcmVlbi5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU2NyZWVuLmgJKHJldmlzaW9uIDI3MDUw
MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU2NyZWVuLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEyNCw3ICsxMjQsNyBAQCBGbG9hdFJlY3Qgc2NyZWVuUmVjdEZvckRpc3BsYXko
UGxhdGZvcm1ECiBXRUJDT1JFX0VYUE9SVCBGbG9hdFJlY3Qgc2NyZWVuUmVjdEZvclByaW1hcnlT
Y3JlZW4oKTsKIAogV0VCQ09SRV9FWFBPUlQgRmxvYXRSZWN0IHRvVXNlclNwYWNlKGNvbnN0IE5T
UmVjdCYsIE5TV2luZG93ICpkZXN0aW5hdGlvbik7Ci1GbG9hdFJlY3QgdG9Vc2VyU3BhY2VGb3JQ
cmltYXJ5U2NyZWVuKGNvbnN0IE5TUmVjdCYpOworV0VCQ09SRV9FWFBPUlQgRmxvYXRSZWN0IHRv
VXNlclNwYWNlRm9yUHJpbWFyeVNjcmVlbihjb25zdCBOU1JlY3QmKTsKIFdFQkNPUkVfRVhQT1JU
IE5TUmVjdCB0b0RldmljZVNwYWNlKGNvbnN0IEZsb2F0UmVjdCYsIE5TV2luZG93ICpzb3VyY2Up
OwogCiBOU1BvaW50IGZsaXBTY3JlZW5Qb2ludChjb25zdCBOU1BvaW50JiwgTlNTY3JlZW4gKik7
CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjcwNTMxKQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMSBAQAorMjAyMC0xMi0wOCAgUGVyIEFybmUg
Vm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBDaGFuZ2UgVW5p
dmVyc2FsIEFjY2VzcyB6b29tIGluIHRoZSBVSSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk2MzUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgdGhlIG1ldGhvZCBjaGFuZ2VV
bml2ZXJzYWxBY2Nlc3Nab29tRm9jdXMgaW4gdGhlIFdlYlByb2Nlc3MnIGNocm9tZSBjbGllbnQs
IHdoaWNoIHdpbGwgc2VuZCBhIG1lc3NhZ2UKKyAgICAgICAgdG8gdGhlIFVJIHByb2Nlc3MsIHdo
ZXJlIHRoZSBVbml2ZXJzYWwgQWNjZXNzIHpvb20gd2lsbCBiZSBjaGFuZ2VkLgorCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlN
YWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y2hhbmdlVW5pdmVyc2FsQWNj
ZXNzWm9vbUZvY3VzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6Y2hhbmdl
VW5pdmVyc2FsQWNjZXNzWm9vbUZvY3VzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDIwLTEyLTA3ICBTYWlkIEFib3UtSGFsbGF3
YSAgPHNhaWRAYXBwbGUuY29tPgogCiAgICAgICAgIFtHUFUgUHJvY2Vzc10gRW5zdXJlIHRoZSBi
YWNrZW5kIG9mIEltYWdlQnVmZmVyIGlzIGNyZWF0ZWQgYmVmb3JlIGdldHRpbmcgaXRzIGhhbmRs
ZQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHJldmlzaW9uIDI3
MDUwMykKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xODMzLDYgKzE4MzMsMTAgQEAgcHVibGljOgogICAgIHZvaWQgY3JlYXRlQXBw
SGlnaGxpZ2h0SW5TZWxlY3RlZFJhbmdlKENyZWF0ZU5ld0dyb3VwRm9ySGlnaGxpZ2h0KTsKICNl
bmRpZgogCisjaWYgUExBVEZPUk0oTUFDKQorICAgIHZvaWQgY2hhbmdlVW5pdmVyc2FsQWNjZXNz
Wm9vbUZvY3VzKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0
Jik7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlUHJveHkoUGFnZUNsaWVudCYsIFdl
YlByb2Nlc3NQcm94eSYsIFJlZjxBUEk6OlBhZ2VDb25maWd1cmF0aW9uPiYmKTsKICAgICB2b2lk
IHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgkocmV2aXNpb24gMjcwNTAzKQorKysgU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkp
CkBAIC01OTMsNCArNTkzLDggQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICNlbmRpZgog
CiAgICAgU2V0SGFzRXhlY3V0ZWRBcHBCb3VuZEJlaGF2aW9yQmVmb3JlTmF2aWdhdGlvbigpCisg
ICAgCisjaWYgUExBVEZPUk0oTUFDKQorICAgIENoYW5nZVVuaXZlcnNhbEFjY2Vzc1pvb21Gb2N1
cyhXZWJDb3JlOjpJbnRSZWN0IHZpZXdSZWN0LCBXZWJDb3JlOjpJbnRSZWN0IGNhcmV0UmVjdCkK
KyNlbmRpZgogfQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94
eU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFn
ZVByb3h5TWFjLm1tCShyZXZpc2lvbiAyNzA1MDMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC03MTMsNiArNzEzLDIz
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpwZGZPcGVuV2l0aFByZXZpZXcoUEQKIAogI2VuZGlmIC8v
IEVOQUJMRShVSV9QUk9DRVNTX1BERl9IVUQpCiAKKyNpZiBQTEFURk9STShNQUMpCit2b2lkIFdl
YlBhZ2VQcm94eTo6Y2hhbmdlVW5pdmVyc2FsQWNjZXNzWm9vbUZvY3VzKGNvbnN0IFdlYkNvcmU6
OkludFJlY3QmIHZpZXdSZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBzZWxlY3Rpb25SZWN0
KQoreworICAgIGlmICghVUFab29tRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBO
U1JlY3QgbnNDYXJldFJlY3QgPSBOU01ha2VSZWN0KHNlbGVjdGlvblJlY3QueCgpLCBzZWxlY3Rp
b25SZWN0LnkoKSwgc2VsZWN0aW9uUmVjdC53aWR0aCgpLCBzZWxlY3Rpb25SZWN0LmhlaWdodCgp
KTsKKyAgICBOU1JlY3QgbnNWaWV3UmVjdCA9IE5TTWFrZVJlY3Qodmlld1JlY3QueCgpLCB2aWV3
UmVjdC55KCksIHZpZXdSZWN0LndpZHRoKCksIHZpZXdSZWN0LmhlaWdodCgpKTsKKyAgICBuc0Nh
cmV0UmVjdCA9IHRvVXNlclNwYWNlRm9yUHJpbWFyeVNjcmVlbihuc0NhcmV0UmVjdCk7CisgICAg
bnNWaWV3UmVjdCA9IHRvVXNlclNwYWNlRm9yUHJpbWFyeVNjcmVlbihuc1ZpZXdSZWN0KTsKKyAg
ICBDR1JlY3QgY2dDYXJldFJlY3QgPSBOU1JlY3RUb0NHUmVjdChuc0NhcmV0UmVjdCk7CisgICAg
Q0dSZWN0IGNnVmlld1JlY3QgPSBOU1JlY3RUb0NHUmVjdChuc1ZpZXdSZWN0KTsKKyAgICAKKyAg
ICBVQVpvb21DaGFuZ2VGb2N1cygmY2dWaWV3UmVjdCwgJmNnQ2FyZXRSZWN0LCBrVUFab29tRm9j
dXNUeXBlSW5zZXJ0aW9uUG9pbnQpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAogCiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAJ
KHJldmlzaW9uIDI3MDUwMykKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzk0LDQgKzEzOTQs
MTEgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmFuaW1hdGlvbkRpZEZpbmlzaAogICAgIG1fcGFn
ZS5hbmltYXRpb25EaWRGaW5pc2hGb3JFbGVtZW50KGVsZW1lbnQpOwogfQogCisjaWYgUExBVEZP
Uk0oTUFDKQordm9pZCBXZWJDaHJvbWVDbGllbnQ6OmNoYW5nZVVuaXZlcnNhbEFjY2Vzc1pvb21G
b2N1cyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiB2aWV3UmVjdCwgY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYgc2VsZWN0aW9uUmVjdCkKK3sKKyAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFn
ZVByb3h5OjpDaGFuZ2VVbml2ZXJzYWxBY2Nlc3Nab29tRm9jdXModmlld1JlY3QsIHNlbGVjdGlv
blJlY3QpKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmgJKHJldmlzaW9uIDI3MDUwMykKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDAx
LDYgKzQwMSwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0TW9ja1dlYkF1dGhlbnRpY2F0aW9u
Q29uZmlndXJhdGlvbihjb25zdCBXZWJDb3JlOjpNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1
cmF0aW9uJikgZmluYWw7CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKE1BQykKKyAgICB2b2lkIGNo
YW5nZVVuaXZlcnNhbEFjY2Vzc1pvb21Gb2N1cyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYpIGZpbmFsOworI2VuZGlmCisKICAgICBtdXRhYmxlIGJvb2wg
bV9jYWNoZWRNYWluRnJhbWVIYXNIb3Jpem9udGFsU2Nyb2xsYmFyIHsgZmFsc2UgfTsKICAgICBt
dXRhYmxlIGJvb2wgbV9jYWNoZWRNYWluRnJhbWVIYXNWZXJ0aWNhbFNjcm9sbGJhciB7IGZhbHNl
IH07CiAgICAgV2ViUGFnZSYgbV9wYWdlOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZwkocmV2aXNpb24gMjcwNTAzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMTItMDggIFBlciBBcm5lIFZv
bGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gQ2hhbmdlIFVuaXZl
cnNhbCBBY2Nlc3Mgem9vbSBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5NjM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBtZXRob2QgY2hhbmdlVW5p
dmVyc2FsQWNjZXNzWm9vbUZvY3VzIGluIHRoZSBXZWJLaXQgbGVnYWN5IGNocm9tZSBjbGllbnQg
YnkgY2hhbmdpbmcKKyAgICAgICAgdGhlIFVuaXZlcnNhbCBBY2Nlc3Mgem9vbSBpbi1wcm9jZXNz
LgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tOgorICAgICAgICAoV2ViQ2hyb21l
Q2xpZW50OjpjaGFuZ2VVbml2ZXJzYWxBY2Nlc3Nab29tRm9jdXMpOgorCiAyMDIwLTEyLTA0ICBB
ZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3JlIEZBTExCQUNLX1BM
QVRGT1JNIGFkb3B0aW9uCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkocmV2aXNpb24gMjcwNTAzKQor
KysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI0NSw2ICsyNDUsMTAgQEAgcHJpdmF0ZToKIAogICAgIFN0
cmluZyBzaWduZWRQdWJsaWNLZXlBbmRDaGFsbGVuZ2VTdHJpbmcodW5zaWduZWQga2V5U2l6ZUlu
ZGV4LCBjb25zdCBTdHJpbmcmIGNoYWxsZW5nZVN0cmluZywgY29uc3QgVVJMJikgY29uc3QgZmlu
YWw7CiAKKyNpZiBQTEFURk9STShNQUMpCisgICAgdm9pZCBjaGFuZ2VVbml2ZXJzYWxBY2Nlc3Na
b29tRm9jdXMoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
KSBmaW5hbDsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFZJREVPX1BSRVNFTlRBVElPTl9NT0RFKQog
ICAgIGJvb2wgbV9tb2NrVmlkZW9QcmVzZW50YXRpb25Nb2RlRW5hYmxlZCB7IGZhbHNlIH07CiAj
ZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0JKHJldmlzaW9uIDI3MDUwMykKKysrIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQkod29y
a2luZyBjb3B5KQpAQCAtMTE3MCwzICsxMTcwLDIwIEBAIFN0cmluZyBXZWJDaHJvbWVDbGllbnQ6
OnNpZ25lZFB1YmxpY0tleUEKICAgICAgICAgcmV0dXJuIENhbGxVSURlbGVnYXRlKG1fd2ViVmll
dywgc2VsZWN0b3IpOwogICAgIHJldHVybiBXZWJDb3JlOjpzaWduZWRQdWJsaWNLZXlBbmRDaGFs
bGVuZ2VTdHJpbmcoa2V5U2l6ZUluZGV4LCBjaGFsbGVuZ2VTdHJpbmcsIHVybCk7CiB9CisKKyNp
ZiBQTEFURk9STShNQUMpCit2b2lkIFdlYkNocm9tZUNsaWVudDo6Y2hhbmdlVW5pdmVyc2FsQWNj
ZXNzWm9vbUZvY3VzKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHZpZXdSZWN0LCBjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JiBzZWxlY3Rpb25SZWN0KQoreworICAgIGlmICghVUFab29tRW5hYmxlZCgp
KQorICAgICAgICByZXR1cm47CisKKyAgICBOU1JlY3QgbnNDYXJldFJlY3QgPSBOU01ha2VSZWN0
KHNlbGVjdGlvblJlY3QueCgpLCBzZWxlY3Rpb25SZWN0LnkoKSwgc2VsZWN0aW9uUmVjdC53aWR0
aCgpLCBzZWxlY3Rpb25SZWN0LmhlaWdodCgpKTsKKyAgICBOU1JlY3QgbnNWaWV3UmVjdCA9IE5T
TWFrZVJlY3Qodmlld1JlY3QueCgpLCB2aWV3UmVjdC55KCksIHZpZXdSZWN0LndpZHRoKCksIHZp
ZXdSZWN0LmhlaWdodCgpKTsKKyAgICBuc0NhcmV0UmVjdCA9IHRvVXNlclNwYWNlRm9yUHJpbWFy
eVNjcmVlbihuc0NhcmV0UmVjdCk7CisgICAgbnNWaWV3UmVjdCA9IHRvVXNlclNwYWNlRm9yUHJp
bWFyeVNjcmVlbihuc1ZpZXdSZWN0KTsKKyAgICBDR1JlY3QgY2dDYXJldFJlY3QgPSBOU1JlY3RU
b0NHUmVjdChuc0NhcmV0UmVjdCk7CisgICAgQ0dSZWN0IGNnVmlld1JlY3QgPSBOU1JlY3RUb0NH
UmVjdChuc1ZpZXdSZWN0KTsKKyAgICAKKyAgICBVQVpvb21DaGFuZ2VGb2N1cygmY2dWaWV3UmVj
dCwgJmNnQ2FyZXRSZWN0LCBrVUFab29tRm9jdXNUeXBlSW5zZXJ0aW9uUG9pbnQpOworfQorI2Vu
ZGlmCg==
</data>
<flag name="review"
          id="432885"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415744</attachid>
            <date>2020-12-09 04:30:56 -0800</date>
            <delta_ts>2020-12-09 04:55:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219635-20201209133052.patch</filename>
            <type>text/plain</type>
            <size>19991</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3MDU3NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDIwLTEyLTA5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIENoYW5nZSBV
bml2ZXJzYWwgQWNjZXNzIHpvb20gaW4gdGhlIFVJIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTYzNQorCisgICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEN1cnJlbnRseSwgdGhlIEFQSSBVQVpvb21DaGFu
Z2VGb2N1cyBpcyBjYWxsZWQgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyB3aGVuIFVuaXZlcnNh
bCBBY2Nlc3Mgem9vbSBpcyBlbmFibGVkLgorICAgICAgICBUbyBlbmFibGUgdXMgdG8gYmxvY2sg
dGhlIEhJIHNlcnZpY2UgY29tLmFwcGxlLmhpc2VydmljZXMteHBjc2VydmljZSBpbiB0aGUgV2Vi
Q29udGVudCBwcm9jZXNzLCB0aGlzIGNhbGwgc2hvdWxkCisgICAgICAgIGJlIHBlcmZvcm1lZCBp
biB0aGUgVUkgcHJvY2Vzcy4gVGhpcyBwYXRjaCBpbXBsZW1lbnRzIHRoaXMgYnkgaGF2aW5nIHRo
ZSBwYWdlIGNocm9tZSBjbGllbnQgc2VuZCBhIG1lc3NhZ2UgdG8KKyAgICAgICAgdGhlIFVJIHBy
b2Nlc3MsIHdoaWNoIHdpbGwgY2hhbmdlIHRoZSB6b29tLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cywgc2luY2UgZW5hYmxpbmcgVW5pdmVyc2FsIEFjY2VzcyB6b29tIGlzIHJlcXVpcmVkIHRvIHRl
c3QgdGhpcy4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBlZGl0aW5nL21hYy9GcmFtZVNlbGVjdGlvbk1hYy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lU2VsZWN0aW9uOjpub3RpZnlBY2Nlc3NpYmlsaXR5Rm9yU2VsZWN0aW9uQ2hh
bmdlKToKKyAgICAgICAgKiBlZGl0aW5nL21hYy9Vbml2ZXJzYWxBY2Nlc3Nab29tLmg6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvbWFjL1VuaXZlcnNhbEFjY2Vzc1pvb20ubW06IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6Y2hhbmdlVW5pdmVyc2FsQWNjZXNzWm9vbUZvY3VzKToKKyAgICAg
ICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50
OjpjaGFuZ2VVbml2ZXJzYWxBY2Nlc3Nab29tRm9jdXMpOgorICAgICAgICAqIHBsYXRmb3JtL1Bs
YXRmb3JtU2NyZWVuLmg6CisKIDIwMjAtMTItMDkgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IGF1ZGlvIGNhcHR1cmUgZm9yIFNwZWVjaFJlY29n
bml0aW9uIG9uIGlPUwpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjcwNTc0KQorKysgU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00MTMz
LDYgKzQxMzMsOCBAQAogCQlDMTQ5RDU2NzI0MkVCODRBMDAzRUJCMTIgLyogU2xlZXBEaXNhYmxl
cklkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEMxNDlENTY1MjQyRUI3NjUwMDNFQkIxMiAvKiBTbGVlcERpc2FibGVySWRlbnRpZmllci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMxNjky
REQyMjNEMjNBQkQwMDZFODhGNyAvKiBTeXN0ZW1CYXR0ZXJ5Lm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE2OTJERDEyM0QyM0FCRDAwNkU4OEY3IC8q
IFN5c3RlbUJhdHRlcnkubW0gKi87IH07CiAJCUMxNjkyREQ1MjNEMjNFMDgwMDZFODhGNyAvKiBT
eXN0ZW1CYXR0ZXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDMTY5MkRENDIzRDIzQUUwMDA2RTg4RjcgLyogU3lzdGVtQmF0dGVyeS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUMxOENDMEE0MjU4MEVG
QjEwMDNENzVGQiAvKiBVbml2ZXJzYWxBY2Nlc3Nab29tLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMThDQzBBMzI1ODBFRkIxMDAzRDc1RkIgLyogVW5p
dmVyc2FsQWNjZXNzWm9vbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUMxOENDMEE3MjU4MEYwRkEwMDNENzVGQiAvKiBVbml2ZXJzYWxBY2Nlc3Na
b29tLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE4
Q0MwQTYyNTgwRjBGQTAwM0Q3NUZCIC8qIFVuaXZlcnNhbEFjY2Vzc1pvb20ubW0gKi87IH07CiAJ
CUMxRTFEMjM2MjAzREYxNTQwMDU4NDY2NSAvKiBTY3JlZW5Qcm9wZXJ0aWVzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMUUxRDIzNTIwM0RGMTU0MDA1
ODQ2NjUgLyogU2NyZWVuUHJvcGVydGllcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUMxRjdCNzMxMjQ0OEYyQUMwMDEyNDU1NyAvKiBBR1hDb21w
aWxlclNlcnZpY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzFGN0I3MkYyNDQ4RjJBQzAwMTI0NTU3IC8qIEFHWENvbXBpbGVyU2VydmljZS5jcHAg
Ki87IH07CiAJCUMxRjdCNzMyMjQ0OEYyQUMwMDEyNDU1NyAvKiBBR1hDb21waWxlclNlcnZpY2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxRjdCNzMw
MjQ0OEYyQUMwMDEyNDU1NyAvKiBBR1hDb21waWxlclNlcnZpY2UuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTQyOTksNiArMTQzMDEsOCBAQAog
CQlDMTQ5RDU2NTI0MkVCNzY1MDAzRUJCMTIgLyogU2xlZXBEaXNhYmxlcklkZW50aWZpZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU2xlZXBEaXNhYmxlcklkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQzE2OTJERDEyM0QyM0FCRDAwNkU4OEY3IC8qIFN5c3RlbUJhdHRlcnku
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTeXN0ZW1CYXR0ZXJ5Lm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlDMTY5MkRENDIzRDIzQUUwMDA2RTg4RjcgLyogU3lzdGVtQmF0dGVy
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTeXN0ZW1CYXR0ZXJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUMxOENDMEEzMjU4MEVGQjEwMDNENzVGQiAvKiBVbml2ZXJzYWxBY2Nlc3Nab29t
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFVuaXZlcnNhbEFjY2Vzc1pvb20uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQzE4Q0MwQTYyNTgwRjBGQTAwM0Q3NUZCIC8qIFVuaXZlcnNhbEFjY2Vz
c1pvb20ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVbml2ZXJzYWxBY2Nlc3Nab29tLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMThGQjUxODI0MkY5MzgyMDA3RTk4NzUgLyog
U2xlZXBEaXNhYmxlckNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTbGVlcERpc2FibGVy
Q2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzFFMUQyMzUyMDNERjE1
NDAwNTg0NjY1IC8qIFNjcmVlblByb3BlcnRpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyZWVuUHJv
cGVydGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMUY3QjcyRjI0NDhGMkFD
MDAxMjQ1NTcgLyogQUdYQ29tcGlsZXJTZXJ2aWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFH
WENvbXBpbGVyU2VydmljZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yOTEw
Nyw2ICsyOTExMSw4IEBACiAJCQkJQ0U3QjJEQjIxNTg2QUJBRDAwOThCM0ZBIC8qIFRleHRBbHRl
cm5hdGl2ZVdpdGhSYW5nZS5tbSAqLywKIAkJCQkyOUZBRjRCNTE5NUFCMDg5MDBBNTIyREMgLyog
VGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCAqLywKIAkJCQkyOTQ5ODY4MTE5NTM0MTk0MDA3
MkQyQkQgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMubW0gKi8sCisJCQkJQzE4Q0MwQTMy
NTgwRUZCMTAwM0Q3NUZCIC8qIFVuaXZlcnNhbEFjY2Vzc1pvb20uaCAqLywKKwkJCQlDMThDQzBB
NjI1ODBGMEZBMDAzRDc1RkIgLyogVW5pdmVyc2FsQWNjZXNzWm9vbS5tbSAqLywKIAkJCSk7CiAJ
CQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTM1MDI5LDYgKzM1
MDM1LDcgQEAKIAkJCQk1MTk4RjdBNTFCQkRCNzkzMDBFMkNDNUYgLyogVW5pcXVlSURCRGF0YWJh
c2VDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTk4RjdBOTFCQkREMzg1MDBFMkND
NUYgLyogVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RTRBRkNGQTUwREFGMjlBMzAwRjVGNTVDIC8qIFVuaXRCZXppZXIuaCBpbiBIZWFkZXJzICovLAor
CQkJCUMxOENDMEE0MjU4MEVGQjEwMDNENzVGQiAvKiBVbml2ZXJzYWxBY2Nlc3Nab29tLmggaW4g
SGVhZGVycyAqLywKIAkJCQlEMDg2RkU5ODA5RDUzQUFCMDA1QkM3NEQgLyogVW5saW5rQ29tbWFu
ZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQxNzYyRTAxNzY2ODZEOTAwRDgzNkE4IC8qIFVwU2Ft
cGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNENDM3QTIxRDU3QjNGRTAwQUI4NUVBIC8qIFVS
TERlY29tcG9zaXRpb24uaCBpbiBIZWFkZXJzICovLApAQCAtMzY1NTksNiArMzY1NjYsNyBAQAog
CQkJCTJEOEI5MkZEMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVkU291cmNlNTI4LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTJEOEI5MkZFMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVkU291cmNl
NTI5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOEI5MkZGMjAzRDEzRTEwMDlDODY4RiAvKiBV
bmlmaWVkU291cmNlNTMwLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUMxOENDMEE3MjU4MEYwRkEw
MDNENzVGQiAvKiBVbml2ZXJzYWxBY2Nlc3Nab29tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTMy
MDQyMDIxRjlBOUYxMDAwQjgxQjJBIC8qIFVzZXJBZ2VudFNjcmlwdHNEYXRhLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTdDM0I3OTcxMTkwODc1N0IwMEI0N0EyRCAvKiBVc2VyTWVzc2FnZUhhbmRs
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NFNjgzNDQxOTIxNDNBODAwRjREOTI4IC8qIFVz
ZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3IuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL21hYy9GcmFtZVNlbGVjdGlvbk1hYy5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9GcmFtZVNlbGVjdGlvbk1hYy5tbQkocmV2aXNp
b24gMjcwNTc0KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvRnJhbWVTZWxlY3Rpb25N
YWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDggQEAKICNpbXBvcnQgIkZyYW1lU2Vs
ZWN0aW9uLmgiCiAKICNpbXBvcnQgIkFYT2JqZWN0Q2FjaGUuaCIKKyNpbXBvcnQgIkNocm9tZS5o
IgorI2ltcG9ydCAiQ2hyb21lQ2xpZW50LmgiCiAjaW1wb3J0ICJGcmFtZS5oIgogI2ltcG9ydCAi
UmVuZGVyVmlldy5oIgogCkBAIC00MSw3ICs0Myw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246Om5v
dGlmeUFjY2Vzc2liaWxpdHkKIAogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIC8vIGlm
IHpvb20gZmVhdHVyZSBpcyBlbmFibGVkLCBpbnNlcnRpb24gcG9pbnQgY2hhbmdlcyBzaG91bGQg
dXBkYXRlIHRoZSB6b29tCi0gICAgaWYgKCFVQVpvb21FbmFibGVkKCkgfHwgIW1fc2VsZWN0aW9u
LmlzQ2FyZXQoKSkKKyAgICBpZiAoIW1fc2VsZWN0aW9uLmlzQ2FyZXQoKSkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgUmVuZGVyVmlldyogcmVuZGVyVmlldyA9IG1fZG9jdW1lbnQtPnJlbmRlclZp
ZXcoKTsKQEAgLTU2LDE0ICs1OCwxMSBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjpub3RpZnlBY2Nl
c3NpYmlsaXR5CiAKICAgICBzZWxlY3Rpb25SZWN0ID0gZnJhbWVWaWV3LT5jb250ZW50c1RvU2Ny
ZWVuKHNlbGVjdGlvblJlY3QpOwogICAgIHZpZXdSZWN0ID0gZnJhbWVWaWV3LT5jb250ZW50c1Rv
U2NyZWVuKHZpZXdSZWN0KTsKLSAgICBOU1JlY3QgbnNDYXJldFJlY3QgPSBOU01ha2VSZWN0KHNl
bGVjdGlvblJlY3QueCgpLCBzZWxlY3Rpb25SZWN0LnkoKSwgc2VsZWN0aW9uUmVjdC53aWR0aCgp
LCBzZWxlY3Rpb25SZWN0LmhlaWdodCgpKTsKLSAgICBOU1JlY3QgbnNWaWV3UmVjdCA9IE5TTWFr
ZVJlY3Qodmlld1JlY3QueCgpLCB2aWV3UmVjdC55KCksIHZpZXdSZWN0LndpZHRoKCksIHZpZXdS
ZWN0LmhlaWdodCgpKTsKLSAgICBuc0NhcmV0UmVjdCA9IHRvVXNlclNwYWNlRm9yUHJpbWFyeVNj
cmVlbihuc0NhcmV0UmVjdCk7Ci0gICAgbnNWaWV3UmVjdCA9IHRvVXNlclNwYWNlRm9yUHJpbWFy
eVNjcmVlbihuc1ZpZXdSZWN0KTsKLSAgICBDR1JlY3QgY2dDYXJldFJlY3QgPSBOU1JlY3RUb0NH
UmVjdChuc0NhcmV0UmVjdCk7Ci0gICAgQ0dSZWN0IGNnVmlld1JlY3QgPSBOU1JlY3RUb0NHUmVj
dChuc1ZpZXdSZWN0KTsKIAotICAgIFVBWm9vbUNoYW5nZUZvY3VzKCZjZ1ZpZXdSZWN0LCAmY2dD
YXJldFJlY3QsIGtVQVpvb21Gb2N1c1R5cGVJbnNlcnRpb25Qb2ludCk7CisgICAgaWYgKCFtX2Rv
Y3VtZW50LT5wYWdlKCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBtX2RvY3VtZW50LT5w
YWdlKCktPmNocm9tZSgpLmNsaWVudCgpLmNoYW5nZVVuaXZlcnNhbEFjY2Vzc1pvb21Gb2N1cyh2
aWV3UmVjdCwgc2VsZWN0aW9uUmVjdCk7CiAjZW5kaWYgLy8gIVBMQVRGT1JNKElPU19GQU1JTFkp
CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL1VuaXZlcnNhbEFjY2Vzc1pv
b20uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9Vbml2ZXJzYWxB
Y2Nlc3Nab29tLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMv
VW5pdmVyc2FsQWNjZXNzWm9vbS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2luY2x1ZGUgIkludFJlY3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXRUJDT1JF
X0VYUE9SVCB2b2lkIGNoYW5nZVVuaXZlcnNhbEFjY2Vzc1pvb21Gb2N1cyhjb25zdCBJbnRSZWN0
JiB2aWV3UmVjdCwgY29uc3QgSW50UmVjdCYgc2VsZWN0aW9uUmVjdCk7CisKK30KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL1VuaXZlcnNhbEFjY2Vzc1pvb20ubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvVW5pdmVyc2FsQWNjZXNzWm9vbS5tbQko
bm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9Vbml2ZXJzYWxBY2Nl
c3Nab29tLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBv
cnQgIlVuaXZlcnNhbEFjY2Vzc1pvb20uaCIKKworI2ltcG9ydCAiRmxvYXRSZWN0LmgiCisjaW1w
b3J0ICJQbGF0Zm9ybVNjcmVlbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgY2hh
bmdlVW5pdmVyc2FsQWNjZXNzWm9vbUZvY3VzKGNvbnN0IEludFJlY3QmIHZpZXdSZWN0LCBjb25z
dCBJbnRSZWN0JiBzZWxlY3Rpb25SZWN0KQoreworICAgIGlmICghVUFab29tRW5hYmxlZCgpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIGNnQ2FyZXRSZWN0ID0gTlNSZWN0VG9DR1JlY3Qo
dG9Vc2VyU3BhY2VGb3JQcmltYXJ5U2NyZWVuKHNlbGVjdGlvblJlY3QpKTsKKyAgICBhdXRvIGNn
Vmlld1JlY3QgPSBOU1JlY3RUb0NHUmVjdCh0b1VzZXJTcGFjZUZvclByaW1hcnlTY3JlZW4odmll
d1JlY3QpKTsKKyAgICAKKyAgICBVQVpvb21DaGFuZ2VGb2N1cygmY2dWaWV3UmVjdCwgJmNnQ2Fy
ZXRSZWN0LCBrVUFab29tRm9jdXNUeXBlSW5zZXJ0aW9uUG9pbnQpOworfQorCit9CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgJKHJldmlzaW9uIDI3MDU3NCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTU0MSw2ICs1NDEs
MTAgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvbkRpZEZpbmlzaEZvckVs
ZW1lbnQoY29uc3QgRWxlbWVudCYpIHsgfQogCisjaWYgUExBVEZPUk0oTUFDKQorICAgIHZpcnR1
YWwgdm9pZCBjaGFuZ2VVbml2ZXJzYWxBY2Nlc3Nab29tRm9jdXMoY29uc3QgSW50UmVjdCYsIGNv
bnN0IEludFJlY3QmKSB7IH0KKyNlbmRpZgorCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB+Q2hy
b21lQ2xpZW50KCkgPSBkZWZhdWx0OwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1BsYXRmb3JtU2NyZWVuLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
UGxhdGZvcm1TY3JlZW4uaAkocmV2aXNpb24gMjcwNTc0KQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vUGxhdGZvcm1TY3JlZW4uaAkod29ya2luZyBjb3B5KQpAQCAtMTI0LDcgKzEyNCw3IEBA
IEZsb2F0UmVjdCBzY3JlZW5SZWN0Rm9yRGlzcGxheShQbGF0Zm9ybUQKIFdFQkNPUkVfRVhQT1JU
IEZsb2F0UmVjdCBzY3JlZW5SZWN0Rm9yUHJpbWFyeVNjcmVlbigpOwogCiBXRUJDT1JFX0VYUE9S
VCBGbG9hdFJlY3QgdG9Vc2VyU3BhY2UoY29uc3QgTlNSZWN0JiwgTlNXaW5kb3cgKmRlc3RpbmF0
aW9uKTsKLUZsb2F0UmVjdCB0b1VzZXJTcGFjZUZvclByaW1hcnlTY3JlZW4oY29uc3QgTlNSZWN0
Jik7CitXRUJDT1JFX0VYUE9SVCBGbG9hdFJlY3QgdG9Vc2VyU3BhY2VGb3JQcmltYXJ5U2NyZWVu
KGNvbnN0IE5TUmVjdCYpOwogV0VCQ09SRV9FWFBPUlQgTlNSZWN0IHRvRGV2aWNlU3BhY2UoY29u
c3QgRmxvYXRSZWN0JiwgTlNXaW5kb3cgKnNvdXJjZSk7CiAKIE5TUG9pbnQgZmxpcFNjcmVlblBv
aW50KGNvbnN0IE5TUG9pbnQmLCBOU1NjcmVlbiAqKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAy
NzA1NzQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIxIEBACisyMDIwLTEyLTA5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBbbWFjT1NdIENoYW5nZSBVbml2ZXJzYWwgQWNjZXNzIHpvb20gaW4gdGhl
IFVJIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxOTYzNQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAg
IEltcGxlbWVudCB0aGUgbWV0aG9kIGNoYW5nZVVuaXZlcnNhbEFjY2Vzc1pvb21Gb2N1cyBpbiB0
aGUgV2ViUHJvY2VzcycgY2hyb21lIGNsaWVudCwgd2hpY2ggd2lsbCBzZW5kIGEgbWVzc2FnZQor
ICAgICAgICB0byB0aGUgVUkgcHJvY2Vzcywgd2hlcmUgdGhlIFVuaXZlcnNhbCBBY2Nlc3Mgem9v
bSB3aWxsIGJlIGNoYW5nZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBVSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpjaGFuZ2VVbml2ZXJzYWxBY2Nlc3Nab29tRm9jdXMpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViQ2hyb21lQ2xpZW50OjpjaGFuZ2VVbml2ZXJzYWxBY2Nlc3Nab29tRm9jdXMpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisK
IDIwMjAtMTItMDkgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAg
SW1wbGVtZW50IGF1ZGlvIGNhcHR1cmUgZm9yIFNwZWVjaFJlY29nbml0aW9uIG9uIGlPUwpJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHJldmlzaW9uIDI3MDU3NCkK
KysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xODM3LDYgKzE4MzcsMTAgQEAgcHVibGljOgogICAgIFdlYkNvcmU6OkNhcHR1cmVTb3Vy
Y2VPckVycm9yIGNyZWF0ZVJlYWx0aW1lTWVkaWFTb3VyY2VGb3JTcGVlY2hSZWNvZ25pdGlvbigp
OwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpCisgICAgdm9pZCBjaGFuZ2VVbml2ZXJzYWxB
Y2Nlc3Nab29tRm9jdXMoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIFdlYlBhZ2VQcm94eShQYWdlQ2xpZW50
JiwgV2ViUHJvY2Vzc1Byb3h5JiwgUmVmPEFQSTo6UGFnZUNvbmZpZ3VyYXRpb24+JiYpOwogICAg
IHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCShyZXZpc2lvbiAyNzA1NzQpCisrKyBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4JKHdvcmtpbmcg
Y29weSkKQEAgLTU5Myw0ICs1OTMsOCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2Vu
ZGlmCiAKICAgICBTZXRIYXNFeGVjdXRlZEFwcEJvdW5kQmVoYXZpb3JCZWZvcmVOYXZpZ2F0aW9u
KCkKKyAgICAKKyNpZiBQTEFURk9STShNQUMpCisgICAgQ2hhbmdlVW5pdmVyc2FsQWNjZXNzWm9v
bUZvY3VzKFdlYkNvcmU6OkludFJlY3Qgdmlld1JlY3QsIFdlYkNvcmU6OkludFJlY3QgY2FyZXRS
ZWN0KQorI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFn
ZVByb3h5TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9X
ZWJQYWdlUHJveHlNYWMubW0JKHJldmlzaW9uIDI3MDU3NCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4
LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9UZXh0QWx0ZXJu
YXRpdmVXaXRoUmFuZ2UuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVW5pdmVyc2FsQWNjZXNzWm9vbS5o
PgogI2ltcG9ydCA8V2ViQ29yZS9Vc2VyQWdlbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvVmFsaWRh
dGlvbkJ1YmJsZS5oPgogI2ltcG9ydCA8bWFjaC1vL2R5bGQuaD4KQEAgLTcxMyw2ICs3MTQsMTMg
QEAgdm9pZCBXZWJQYWdlUHJveHk6OnBkZk9wZW5XaXRoUHJldmlldyhQRAogCiAjZW5kaWYgLy8g
RU5BQkxFKFVJX1BST0NFU1NfUERGX0hVRCkKIAorI2lmIFBMQVRGT1JNKE1BQykKK3ZvaWQgV2Vi
UGFnZVByb3h5OjpjaGFuZ2VVbml2ZXJzYWxBY2Nlc3Nab29tRm9jdXMoY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYgdmlld1JlY3QsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNlbGVjdGlvblJlY3Qp
Cit7CisgICAgV2ViQ29yZTo6Y2hhbmdlVW5pdmVyc2FsQWNjZXNzWm9vbUZvY3VzKHZpZXdSZWN0
LCBzZWxlY3Rpb25SZWN0KTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAog
I2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCShyZXZp
c2lvbiAyNzA1NzQpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM5NCw0ICsxMzk0LDExIEBA
IHZvaWQgV2ViQ2hyb21lQ2xpZW50OjphbmltYXRpb25EaWRGaW5pc2gKICAgICBtX3BhZ2UuYW5p
bWF0aW9uRGlkRmluaXNoRm9yRWxlbWVudChlbGVtZW50KTsKIH0KIAorI2lmIFBMQVRGT1JNKE1B
QykKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpjaGFuZ2VVbml2ZXJzYWxBY2Nlc3Nab29tRm9jdXMo
Y29uc3QgV2ViQ29yZTo6SW50UmVjdCYgdmlld1JlY3QsIGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
IHNlbGVjdGlvblJlY3QpCit7CisgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94
eTo6Q2hhbmdlVW5pdmVyc2FsQWNjZXNzWm9vbUZvY3VzKHZpZXdSZWN0LCBzZWxlY3Rpb25SZWN0
KSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oCShyZXZpc2lvbiAyNzA1NzQpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQwMSw2ICs0
MDEsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldE1vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZp
Z3VyYXRpb24oY29uc3QgV2ViQ29yZTo6TW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlv
biYpIGZpbmFsOwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpCisgICAgdm9pZCBjaGFuZ2VV
bml2ZXJzYWxBY2Nlc3Nab29tRm9jdXMoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0IFdl
YkNvcmU6OkludFJlY3QmKSBmaW5hbDsKKyNlbmRpZgorCiAgICAgbXV0YWJsZSBib29sIG1fY2Fj
aGVkTWFpbkZyYW1lSGFzSG9yaXpvbnRhbFNjcm9sbGJhciB7IGZhbHNlIH07CiAgICAgbXV0YWJs
ZSBib29sIG1fY2FjaGVkTWFpbkZyYW1lSGFzVmVydGljYWxTY3JvbGxiYXIgeyBmYWxzZSB9Owog
ICAgIFdlYlBhZ2UmIG1fcGFnZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3MDU3NCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDIwLTEyLTA5ICBQZXIgQXJuZSBWb2xsYW4g
IDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIENoYW5nZSBVbml2ZXJzYWwg
QWNjZXNzIHpvb20gaW4gdGhlIFVJIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTYzNQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgorCisgICAgICAgIEltcGxlbWVudCB0aGUgbWV0aG9kIGNoYW5nZVVuaXZlcnNhbEFj
Y2Vzc1pvb21Gb2N1cyBpbiB0aGUgV2ViS2l0IGxlZ2FjeSBjaHJvbWUgY2xpZW50IGJ5IGNoYW5n
aW5nCisgICAgICAgIHRoZSBVbml2ZXJzYWwgQWNjZXNzIHpvb20gaW4tcHJvY2Vzcy4KKworICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbToKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6
Y2hhbmdlVW5pdmVyc2FsQWNjZXNzWm9vbUZvY3VzKToKKwogMjAyMC0xMi0wNCAgQWRhbSBSb2Jl
biAgPGFyb2JlbkBhcHBsZS5jb20+CiAKICAgICAgICAgTW9yZSBGQUxMQkFDS19QTEFURk9STSBh
ZG9wdGlvbgpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHJldmlzaW9uIDI3MDU3NCkKKysrIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNDUsNiArMjQ1LDEwIEBAIHByaXZhdGU6CiAKICAgICBTdHJpbmcgc2ln
bmVkUHVibGljS2V5QW5kQ2hhbGxlbmdlU3RyaW5nKHVuc2lnbmVkIGtleVNpemVJbmRleCwgY29u
c3QgU3RyaW5nJiBjaGFsbGVuZ2VTdHJpbmcsIGNvbnN0IFVSTCYpIGNvbnN0IGZpbmFsOwogCisj
aWYgUExBVEZPUk0oTUFDKQorICAgIHZvaWQgY2hhbmdlVW5pdmVyc2FsQWNjZXNzWm9vbUZvY3Vz
KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgZmluYWw7
CisjZW5kaWYKKwogI2lmIEVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkKICAgICBib29s
IG1fbW9ja1ZpZGVvUHJlc2VudGF0aW9uTW9kZUVuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCklu
ZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50Lm1tCShyZXZpc2lvbiAyNzA1NzQpCisrKyBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTg0LDYgKzg0LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+
CiAjaW1wb3J0IDxXZWJDb3JlL1NTTEtleUdlbmVyYXRvci5oPgogI2ltcG9ydCA8V2ViQ29yZS9T
ZXJpYWxpemVkQ3J5cHRvS2V5V3JhcC5oPgorI2ltcG9ydCA8V2ViQ29yZS9Vbml2ZXJzYWxBY2Nl
c3Nab29tLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dpZGdldC5oPgogI2ltcG9ydCA8V2ViQ29yZS9X
aW5kb3dGZWF0dXJlcy5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNWaWV3U1BJLmg+CkBAIC0x
MTcwLDMgKzExNzEsMTAgQEAgU3RyaW5nIFdlYkNocm9tZUNsaWVudDo6c2lnbmVkUHVibGljS2V5
QQogICAgICAgICByZXR1cm4gQ2FsbFVJRGVsZWdhdGUobV93ZWJWaWV3LCBzZWxlY3Rvcik7CiAg
ICAgcmV0dXJuIFdlYkNvcmU6OnNpZ25lZFB1YmxpY0tleUFuZENoYWxsZW5nZVN0cmluZyhrZXlT
aXplSW5kZXgsIGNoYWxsZW5nZVN0cmluZywgdXJsKTsKIH0KKworI2lmIFBMQVRGT1JNKE1BQykK
K3ZvaWQgV2ViQ2hyb21lQ2xpZW50OjpjaGFuZ2VVbml2ZXJzYWxBY2Nlc3Nab29tRm9jdXMoY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYgdmlld1JlY3QsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNl
bGVjdGlvblJlY3QpCit7CisgICAgV2ViQ29yZTo6Y2hhbmdlVW5pdmVyc2FsQWNjZXNzWm9vbUZv
Y3VzKHZpZXdSZWN0LCBzZWxlY3Rpb25SZWN0KTsKK30KKyNlbmRpZgo=
</data>
<flag name="commit-queue"
          id="433028"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415745</attachid>
            <date>2020-12-09 04:52:44 -0800</date>
            <delta_ts>2020-12-09 05:48:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219635-20201209135243.patch</filename>
            <type>text/plain</type>
            <size>20088</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3MDU3NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDIwLTEyLTA5ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIENoYW5nZSBV
bml2ZXJzYWwgQWNjZXNzIHpvb20gaW4gdGhlIFVJIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTYzNQorCisgICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEN1cnJlbnRseSwgdGhlIEFQSSBVQVpvb21DaGFu
Z2VGb2N1cyBpcyBjYWxsZWQgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyB3aGVuIFVuaXZlcnNh
bCBBY2Nlc3Mgem9vbSBpcyBlbmFibGVkLgorICAgICAgICBUbyBlbmFibGUgdXMgdG8gYmxvY2sg
dGhlIEhJIHNlcnZpY2UgY29tLmFwcGxlLmhpc2VydmljZXMteHBjc2VydmljZSBpbiB0aGUgV2Vi
Q29udGVudCBwcm9jZXNzLCB0aGlzIGNhbGwgc2hvdWxkCisgICAgICAgIGJlIHBlcmZvcm1lZCBp
biB0aGUgVUkgcHJvY2Vzcy4gVGhpcyBwYXRjaCBpbXBsZW1lbnRzIHRoaXMgYnkgaGF2aW5nIHRo
ZSBwYWdlIGNocm9tZSBjbGllbnQgc2VuZCBhIG1lc3NhZ2UgdG8KKyAgICAgICAgdGhlIFVJIHBy
b2Nlc3MsIHdoaWNoIHdpbGwgY2hhbmdlIHRoZSB6b29tLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cywgc2luY2UgZW5hYmxpbmcgVW5pdmVyc2FsIEFjY2VzcyB6b29tIGlzIHJlcXVpcmVkIHRvIHRl
c3QgdGhpcy4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBlZGl0aW5nL21hYy9GcmFtZVNlbGVjdGlvbk1hYy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lU2VsZWN0aW9uOjpub3RpZnlBY2Nlc3NpYmlsaXR5Rm9yU2VsZWN0aW9uQ2hh
bmdlKToKKyAgICAgICAgKiBlZGl0aW5nL21hYy9Vbml2ZXJzYWxBY2Nlc3Nab29tLmg6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvbWFjL1VuaXZlcnNhbEFjY2Vzc1pvb20ubW06IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6Y2hhbmdlVW5pdmVyc2FsQWNjZXNzWm9vbUZvY3VzKToKKyAgICAg
ICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50
OjpjaGFuZ2VVbml2ZXJzYWxBY2Nlc3Nab29tRm9jdXMpOgorICAgICAgICAqIHBsYXRmb3JtL1Bs
YXRmb3JtU2NyZWVuLmg6CisKIDIwMjAtMTItMDkgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IGF1ZGlvIGNhcHR1cmUgZm9yIFNwZWVjaFJlY29n
bml0aW9uIG9uIGlPUwpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjcwNTc0KQorKysgU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00MTMz
LDYgKzQxMzMsOCBAQAogCQlDMTQ5RDU2NzI0MkVCODRBMDAzRUJCMTIgLyogU2xlZXBEaXNhYmxl
cklkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEMxNDlENTY1MjQyRUI3NjUwMDNFQkIxMiAvKiBTbGVlcERpc2FibGVySWRlbnRpZmllci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMxNjky
REQyMjNEMjNBQkQwMDZFODhGNyAvKiBTeXN0ZW1CYXR0ZXJ5Lm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE2OTJERDEyM0QyM0FCRDAwNkU4OEY3IC8q
IFN5c3RlbUJhdHRlcnkubW0gKi87IH07CiAJCUMxNjkyREQ1MjNEMjNFMDgwMDZFODhGNyAvKiBT
eXN0ZW1CYXR0ZXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDMTY5MkRENDIzRDIzQUUwMDA2RTg4RjcgLyogU3lzdGVtQmF0dGVyeS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUMxOENDMEE0MjU4MEVG
QjEwMDNENzVGQiAvKiBVbml2ZXJzYWxBY2Nlc3Nab29tLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMThDQzBBMzI1ODBFRkIxMDAzRDc1RkIgLyogVW5p
dmVyc2FsQWNjZXNzWm9vbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUMxOENDMEE3MjU4MEYwRkEwMDNENzVGQiAvKiBVbml2ZXJzYWxBY2Nlc3Na
b29tLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzE4
Q0MwQTYyNTgwRjBGQTAwM0Q3NUZCIC8qIFVuaXZlcnNhbEFjY2Vzc1pvb20ubW0gKi87IH07CiAJ
CUMxRTFEMjM2MjAzREYxNTQwMDU4NDY2NSAvKiBTY3JlZW5Qcm9wZXJ0aWVzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMUUxRDIzNTIwM0RGMTU0MDA1
ODQ2NjUgLyogU2NyZWVuUHJvcGVydGllcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUMxRjdCNzMxMjQ0OEYyQUMwMDEyNDU1NyAvKiBBR1hDb21w
aWxlclNlcnZpY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzFGN0I3MkYyNDQ4RjJBQzAwMTI0NTU3IC8qIEFHWENvbXBpbGVyU2VydmljZS5jcHAg
Ki87IH07CiAJCUMxRjdCNzMyMjQ0OEYyQUMwMDEyNDU1NyAvKiBBR1hDb21waWxlclNlcnZpY2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxRjdCNzMw
MjQ0OEYyQUMwMDEyNDU1NyAvKiBBR1hDb21waWxlclNlcnZpY2UuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTQyOTksNiArMTQzMDEsOCBAQAog
CQlDMTQ5RDU2NTI0MkVCNzY1MDAzRUJCMTIgLyogU2xlZXBEaXNhYmxlcklkZW50aWZpZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU2xlZXBEaXNhYmxlcklkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQzE2OTJERDEyM0QyM0FCRDAwNkU4OEY3IC8qIFN5c3RlbUJhdHRlcnku
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTeXN0ZW1CYXR0ZXJ5Lm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlDMTY5MkRENDIzRDIzQUUwMDA2RTg4RjcgLyogU3lzdGVtQmF0dGVy
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTeXN0ZW1CYXR0ZXJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUMxOENDMEEzMjU4MEVGQjEwMDNENzVGQiAvKiBVbml2ZXJzYWxBY2Nlc3Nab29t
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFVuaXZlcnNhbEFjY2Vzc1pvb20uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQzE4Q0MwQTYyNTgwRjBGQTAwM0Q3NUZCIC8qIFVuaXZlcnNhbEFjY2Vz
c1pvb20ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVbml2ZXJzYWxBY2Nlc3Nab29tLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMThGQjUxODI0MkY5MzgyMDA3RTk4NzUgLyog
U2xlZXBEaXNhYmxlckNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTbGVlcERpc2FibGVy
Q2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzFFMUQyMzUyMDNERjE1
NDAwNTg0NjY1IC8qIFNjcmVlblByb3BlcnRpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyZWVuUHJv
cGVydGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMUY3QjcyRjI0NDhGMkFD
MDAxMjQ1NTcgLyogQUdYQ29tcGlsZXJTZXJ2aWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFH
WENvbXBpbGVyU2VydmljZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yOTEw
Nyw2ICsyOTExMSw4IEBACiAJCQkJQ0U3QjJEQjIxNTg2QUJBRDAwOThCM0ZBIC8qIFRleHRBbHRl
cm5hdGl2ZVdpdGhSYW5nZS5tbSAqLywKIAkJCQkyOUZBRjRCNTE5NUFCMDg5MDBBNTIyREMgLyog
VGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMuaCAqLywKIAkJCQkyOTQ5ODY4MTE5NTM0MTk0MDA3
MkQyQkQgLyogVGV4dFVuZG9JbnNlcnRpb25NYXJrdXBNYWMubW0gKi8sCisJCQkJQzE4Q0MwQTMy
NTgwRUZCMTAwM0Q3NUZCIC8qIFVuaXZlcnNhbEFjY2Vzc1pvb20uaCAqLywKKwkJCQlDMThDQzBB
NjI1ODBGMEZBMDAzRDc1RkIgLyogVW5pdmVyc2FsQWNjZXNzWm9vbS5tbSAqLywKIAkJCSk7CiAJ
CQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTM1MDI5LDYgKzM1
MDM1LDcgQEAKIAkJCQk1MTk4RjdBNTFCQkRCNzkzMDBFMkNDNUYgLyogVW5pcXVlSURCRGF0YWJh
c2VDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTk4RjdBOTFCQkREMzg1MDBFMkND
NUYgLyogVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RTRBRkNGQTUwREFGMjlBMzAwRjVGNTVDIC8qIFVuaXRCZXppZXIuaCBpbiBIZWFkZXJzICovLAor
CQkJCUMxOENDMEE0MjU4MEVGQjEwMDNENzVGQiAvKiBVbml2ZXJzYWxBY2Nlc3Nab29tLmggaW4g
SGVhZGVycyAqLywKIAkJCQlEMDg2RkU5ODA5RDUzQUFCMDA1QkM3NEQgLyogVW5saW5rQ29tbWFu
ZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQxNzYyRTAxNzY2ODZEOTAwRDgzNkE4IC8qIFVwU2Ft
cGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNENDM3QTIxRDU3QjNGRTAwQUI4NUVBIC8qIFVS
TERlY29tcG9zaXRpb24uaCBpbiBIZWFkZXJzICovLApAQCAtMzY1NTksNiArMzY1NjYsNyBAQAog
CQkJCTJEOEI5MkZEMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVkU291cmNlNTI4LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTJEOEI5MkZFMjAzRDEzRTEwMDlDODY4RiAvKiBVbmlmaWVkU291cmNl
NTI5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEOEI5MkZGMjAzRDEzRTEwMDlDODY4RiAvKiBV
bmlmaWVkU291cmNlNTMwLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUMxOENDMEE3MjU4MEYwRkEw
MDNENzVGQiAvKiBVbml2ZXJzYWxBY2Nlc3Nab29tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTMy
MDQyMDIxRjlBOUYxMDAwQjgxQjJBIC8qIFVzZXJBZ2VudFNjcmlwdHNEYXRhLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTdDM0I3OTcxMTkwODc1N0IwMEI0N0EyRCAvKiBVc2VyTWVzc2FnZUhhbmRs
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NFNjgzNDQxOTIxNDNBODAwRjREOTI4IC8qIFVz
ZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3IuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL21hYy9GcmFtZVNlbGVjdGlvbk1hYy5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9GcmFtZVNlbGVjdGlvbk1hYy5tbQkocmV2aXNp
b24gMjcwNTc0KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvRnJhbWVTZWxlY3Rpb25N
YWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDggQEAKICNpbXBvcnQgIkZyYW1lU2Vs
ZWN0aW9uLmgiCiAKICNpbXBvcnQgIkFYT2JqZWN0Q2FjaGUuaCIKKyNpbXBvcnQgIkNocm9tZS5o
IgorI2ltcG9ydCAiQ2hyb21lQ2xpZW50LmgiCiAjaW1wb3J0ICJGcmFtZS5oIgogI2ltcG9ydCAi
UmVuZGVyVmlldy5oIgogCkBAIC00MSw3ICs0Myw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246Om5v
dGlmeUFjY2Vzc2liaWxpdHkKIAogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIC8vIGlm
IHpvb20gZmVhdHVyZSBpcyBlbmFibGVkLCBpbnNlcnRpb24gcG9pbnQgY2hhbmdlcyBzaG91bGQg
dXBkYXRlIHRoZSB6b29tCi0gICAgaWYgKCFVQVpvb21FbmFibGVkKCkgfHwgIW1fc2VsZWN0aW9u
LmlzQ2FyZXQoKSkKKyAgICBpZiAoIW1fc2VsZWN0aW9uLmlzQ2FyZXQoKSkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgUmVuZGVyVmlldyogcmVuZGVyVmlldyA9IG1fZG9jdW1lbnQtPnJlbmRlclZp
ZXcoKTsKQEAgLTU2LDE0ICs1OCwxMSBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjpub3RpZnlBY2Nl
c3NpYmlsaXR5CiAKICAgICBzZWxlY3Rpb25SZWN0ID0gZnJhbWVWaWV3LT5jb250ZW50c1RvU2Ny
ZWVuKHNlbGVjdGlvblJlY3QpOwogICAgIHZpZXdSZWN0ID0gZnJhbWVWaWV3LT5jb250ZW50c1Rv
U2NyZWVuKHZpZXdSZWN0KTsKLSAgICBOU1JlY3QgbnNDYXJldFJlY3QgPSBOU01ha2VSZWN0KHNl
bGVjdGlvblJlY3QueCgpLCBzZWxlY3Rpb25SZWN0LnkoKSwgc2VsZWN0aW9uUmVjdC53aWR0aCgp
LCBzZWxlY3Rpb25SZWN0LmhlaWdodCgpKTsKLSAgICBOU1JlY3QgbnNWaWV3UmVjdCA9IE5TTWFr
ZVJlY3Qodmlld1JlY3QueCgpLCB2aWV3UmVjdC55KCksIHZpZXdSZWN0LndpZHRoKCksIHZpZXdS
ZWN0LmhlaWdodCgpKTsKLSAgICBuc0NhcmV0UmVjdCA9IHRvVXNlclNwYWNlRm9yUHJpbWFyeVNj
cmVlbihuc0NhcmV0UmVjdCk7Ci0gICAgbnNWaWV3UmVjdCA9IHRvVXNlclNwYWNlRm9yUHJpbWFy
eVNjcmVlbihuc1ZpZXdSZWN0KTsKLSAgICBDR1JlY3QgY2dDYXJldFJlY3QgPSBOU1JlY3RUb0NH
UmVjdChuc0NhcmV0UmVjdCk7Ci0gICAgQ0dSZWN0IGNnVmlld1JlY3QgPSBOU1JlY3RUb0NHUmVj
dChuc1ZpZXdSZWN0KTsKIAotICAgIFVBWm9vbUNoYW5nZUZvY3VzKCZjZ1ZpZXdSZWN0LCAmY2dD
YXJldFJlY3QsIGtVQVpvb21Gb2N1c1R5cGVJbnNlcnRpb25Qb2ludCk7CisgICAgaWYgKCFtX2Rv
Y3VtZW50LT5wYWdlKCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBtX2RvY3VtZW50LT5w
YWdlKCktPmNocm9tZSgpLmNsaWVudCgpLmNoYW5nZVVuaXZlcnNhbEFjY2Vzc1pvb21Gb2N1cyh2
aWV3UmVjdCwgc2VsZWN0aW9uUmVjdCk7CiAjZW5kaWYgLy8gIVBMQVRGT1JNKElPU19GQU1JTFkp
CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL1VuaXZlcnNhbEFjY2Vzc1pv
b20uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9Vbml2ZXJzYWxB
Y2Nlc3Nab29tLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMv
VW5pdmVyc2FsQWNjZXNzWm9vbS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2luY2x1ZGUgIkludFJlY3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXRUJDT1JF
X0VYUE9SVCB2b2lkIGNoYW5nZVVuaXZlcnNhbEFjY2Vzc1pvb21Gb2N1cyhjb25zdCBJbnRSZWN0
JiB2aWV3UmVjdCwgY29uc3QgSW50UmVjdCYgc2VsZWN0aW9uUmVjdCk7CisKK30KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL1VuaXZlcnNhbEFjY2Vzc1pvb20ubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvVW5pdmVyc2FsQWNjZXNzWm9vbS5tbQko
bm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9Vbml2ZXJzYWxBY2Nl
c3Nab29tLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBv
cnQgIlVuaXZlcnNhbEFjY2Vzc1pvb20uaCIKKworI2ltcG9ydCAiRmxvYXRSZWN0LmgiCisjaW1w
b3J0ICJQbGF0Zm9ybVNjcmVlbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgY2hh
bmdlVW5pdmVyc2FsQWNjZXNzWm9vbUZvY3VzKGNvbnN0IEludFJlY3QmIHZpZXdSZWN0LCBjb25z
dCBJbnRSZWN0JiBzZWxlY3Rpb25SZWN0KQoreworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBpZiAo
IVVBWm9vbUVuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byBjZ0NhcmV0UmVj
dCA9IE5TUmVjdFRvQ0dSZWN0KHRvVXNlclNwYWNlRm9yUHJpbWFyeVNjcmVlbihzZWxlY3Rpb25S
ZWN0KSk7CisgICAgYXV0byBjZ1ZpZXdSZWN0ID0gTlNSZWN0VG9DR1JlY3QodG9Vc2VyU3BhY2VG
b3JQcmltYXJ5U2NyZWVuKHZpZXdSZWN0KSk7CisgICAgCisgICAgVUFab29tQ2hhbmdlRm9jdXMo
JmNnVmlld1JlY3QsICZjZ0NhcmV0UmVjdCwga1VBWm9vbUZvY3VzVHlwZUluc2VydGlvblBvaW50
KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHZpZXdSZWN0KTsKKyAgICBVTlVTRURfUEFSQU0o
c2VsZWN0aW9uUmVjdCk7CisjZW5kaWYKK30KKworfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZUNsaWVudC5oCShyZXZpc2lvbiAyNzA1NzQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01NDEsNiArNTQxLDEwIEBAIHB1YmxpYzoKIAog
ICAgIHZpcnR1YWwgdm9pZCBhbmltYXRpb25EaWRGaW5pc2hGb3JFbGVtZW50KGNvbnN0IEVsZW1l
bnQmKSB7IH0KIAorI2lmIFBMQVRGT1JNKE1BQykKKyAgICB2aXJ0dWFsIHZvaWQgY2hhbmdlVW5p
dmVyc2FsQWNjZXNzWm9vbUZvY3VzKGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRSZWN0JikgeyB9
CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgfkNocm9tZUNsaWVudCgpID0gZGVm
YXVsdDsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVNjcmVlbi5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU2NyZWVuLmgJ
KHJldmlzaW9uIDI3MDU3NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU2Ny
ZWVuLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNCw3ICsxMjQsNyBAQCBGbG9hdFJlY3Qgc2NyZWVu
UmVjdEZvckRpc3BsYXkoUGxhdGZvcm1ECiBXRUJDT1JFX0VYUE9SVCBGbG9hdFJlY3Qgc2NyZWVu
UmVjdEZvclByaW1hcnlTY3JlZW4oKTsKIAogV0VCQ09SRV9FWFBPUlQgRmxvYXRSZWN0IHRvVXNl
clNwYWNlKGNvbnN0IE5TUmVjdCYsIE5TV2luZG93ICpkZXN0aW5hdGlvbik7Ci1GbG9hdFJlY3Qg
dG9Vc2VyU3BhY2VGb3JQcmltYXJ5U2NyZWVuKGNvbnN0IE5TUmVjdCYpOworV0VCQ09SRV9FWFBP
UlQgRmxvYXRSZWN0IHRvVXNlclNwYWNlRm9yUHJpbWFyeVNjcmVlbihjb25zdCBOU1JlY3QmKTsK
IFdFQkNPUkVfRVhQT1JUIE5TUmVjdCB0b0RldmljZVNwYWNlKGNvbnN0IEZsb2F0UmVjdCYsIE5T
V2luZG93ICpzb3VyY2UpOwogCiBOU1BvaW50IGZsaXBTY3JlZW5Qb2ludChjb25zdCBOU1BvaW50
JiwgTlNTY3JlZW4gKik7CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjcwNTc0KQorKysgU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMSBAQAorMjAyMC0x
Mi0wOSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW21h
Y09TXSBDaGFuZ2UgVW5pdmVyc2FsIEFjY2VzcyB6b29tIGluIHRoZSBVSSBwcm9jZXNzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk2MzUKKworICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBJbXBsZW1lbnQgdGhlIG1l
dGhvZCBjaGFuZ2VVbml2ZXJzYWxBY2Nlc3Nab29tRm9jdXMgaW4gdGhlIFdlYlByb2Nlc3MnIGNo
cm9tZSBjbGllbnQsIHdoaWNoIHdpbGwgc2VuZCBhIG1lc3NhZ2UKKyAgICAgICAgdG8gdGhlIFVJ
IHByb2Nlc3MsIHdoZXJlIHRoZSBVbml2ZXJzYWwgQWNjZXNzIHpvb20gd2lsbCBiZSBjaGFuZ2Vk
LgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL21hYy9X
ZWJQYWdlUHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y2hhbmdl
VW5pdmVyc2FsQWNjZXNzWm9vbUZvY3VzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNs
aWVudDo6Y2hhbmdlVW5pdmVyc2FsQWNjZXNzWm9vbUZvY3VzKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDIwLTEyLTA5ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBhdWRpbyBj
YXB0dXJlIGZvciBTcGVlY2hSZWNvZ25pdGlvbiBvbiBpT1MKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiAyNzA1NzQpCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMTgzNyw2ICsxODM3
LDEwIEBAIHB1YmxpYzoKICAgICBXZWJDb3JlOjpDYXB0dXJlU291cmNlT3JFcnJvciBjcmVhdGVS
ZWFsdGltZU1lZGlhU291cmNlRm9yU3BlZWNoUmVjb2duaXRpb24oKTsKICNlbmRpZgogCisjaWYg
UExBVEZPUk0oTUFDKQorICAgIHZvaWQgY2hhbmdlVW5pdmVyc2FsQWNjZXNzWm9vbUZvY3VzKGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CisjZW5kaWYK
KwogcHJpdmF0ZToKICAgICBXZWJQYWdlUHJveHkoUGFnZUNsaWVudCYsIFdlYlByb2Nlc3NQcm94
eSYsIFJlZjxBUEk6OlBhZ2VDb25maWd1cmF0aW9uPiYmKTsKICAgICB2b2lkIHBsYXRmb3JtSW5p
dGlhbGl6ZSgpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbgkocmV2aXNpb24gMjcwNTc0KQorKysgU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC01OTMsNCAr
NTkzLDggQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICNlbmRpZgogCiAgICAgU2V0SGFz
RXhlY3V0ZWRBcHBCb3VuZEJlaGF2aW9yQmVmb3JlTmF2aWdhdGlvbigpCisgICAgCisjaWYgUExB
VEZPUk0oTUFDKQorICAgIENoYW5nZVVuaXZlcnNhbEFjY2Vzc1pvb21Gb2N1cyhXZWJDb3JlOjpJ
bnRSZWN0IHZpZXdSZWN0LCBXZWJDb3JlOjpJbnRSZWN0IGNhcmV0UmVjdCkKKyNlbmRpZgogfQpJ
bmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1t
CShyZXZpc2lvbiAyNzA1NzQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFn
ZVByb3h5TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCw3IEBACiAjaW1wb3J0IDxX
ZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TaGFy
ZWRCdWZmZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLmg+
CisjaW1wb3J0IDxXZWJDb3JlL1VuaXZlcnNhbEFjY2Vzc1pvb20uaD4KICNpbXBvcnQgPFdlYkNv
cmUvVXNlckFnZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1ZhbGlkYXRpb25CdWJibGUuaD4KICNp
bXBvcnQgPG1hY2gtby9keWxkLmg+CkBAIC03MTMsNiArNzE0LDEzIEBAIHZvaWQgV2ViUGFnZVBy
b3h5OjpwZGZPcGVuV2l0aFByZXZpZXcoUEQKIAogI2VuZGlmIC8vIEVOQUJMRShVSV9QUk9DRVNT
X1BERl9IVUQpCiAKKyNpZiBQTEFURk9STShNQUMpCit2b2lkIFdlYlBhZ2VQcm94eTo6Y2hhbmdl
VW5pdmVyc2FsQWNjZXNzWm9vbUZvY3VzKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHZpZXdSZWN0
LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBzZWxlY3Rpb25SZWN0KQoreworICAgIFdlYkNvcmU6
OmNoYW5nZVVuaXZlcnNhbEFjY2Vzc1pvb21Gb2N1cyh2aWV3UmVjdCwgc2VsZWN0aW9uUmVjdCk7
Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBQTEFURk9S
TShNQUMpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAkocmV2aXNpb24gMjcwNTc0KQorKysg
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEzOTQsNCArMTM5NCwxMSBAQCB2b2lkIFdlYkNocm9tZUNs
aWVudDo6YW5pbWF0aW9uRGlkRmluaXNoCiAgICAgbV9wYWdlLmFuaW1hdGlvbkRpZEZpbmlzaEZv
ckVsZW1lbnQoZWxlbWVudCk7CiB9CiAKKyNpZiBQTEFURk9STShNQUMpCit2b2lkIFdlYkNocm9t
ZUNsaWVudDo6Y2hhbmdlVW5pdmVyc2FsQWNjZXNzWm9vbUZvY3VzKGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmIHZpZXdSZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBzZWxlY3Rpb25SZWN0KQor
eworICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkNoYW5nZVVuaXZlcnNh
bEFjY2Vzc1pvb21Gb2N1cyh2aWV3UmVjdCwgc2VsZWN0aW9uUmVjdCkpOworfQorI2VuZGlmCisK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkocmV2aXNpb24g
MjcwNTc0KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MDEsNiArNDAxLDEwIEBAIHByaXZhdGU6
CiAgICAgdm9pZCBzZXRNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uKGNvbnN0IFdl
YkNvcmU6Ok1vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24mKSBmaW5hbDsKICNlbmRp
ZgogCisjaWYgUExBVEZPUk0oTUFDKQorICAgIHZvaWQgY2hhbmdlVW5pdmVyc2FsQWNjZXNzWm9v
bUZvY3VzKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jikg
ZmluYWw7CisjZW5kaWYKKwogICAgIG11dGFibGUgYm9vbCBtX2NhY2hlZE1haW5GcmFtZUhhc0hv
cml6b250YWxTY3JvbGxiYXIgeyBmYWxzZSB9OwogICAgIG11dGFibGUgYm9vbCBtX2NhY2hlZE1h
aW5GcmFtZUhhc1ZlcnRpY2FsU2Nyb2xsYmFyIHsgZmFsc2UgfTsKICAgICBXZWJQYWdlJiBtX3Bh
Z2U7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzA1NzQpCisr
KyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxNyBAQAorMjAyMC0xMi0wOSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5j
b20+CisKKyAgICAgICAgW21hY09TXSBDaGFuZ2UgVW5pdmVyc2FsIEFjY2VzcyB6b29tIGluIHRo
ZSBVSSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTk2MzUKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAg
ICBJbXBsZW1lbnQgdGhlIG1ldGhvZCBjaGFuZ2VVbml2ZXJzYWxBY2Nlc3Nab29tRm9jdXMgaW4g
dGhlIFdlYktpdCBsZWdhY3kgY2hyb21lIGNsaWVudCBieSBjaGFuZ2luZworICAgICAgICB0aGUg
VW5pdmVyc2FsIEFjY2VzcyB6b29tIGluLXByb2Nlc3MuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQubW06CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQ6OmNoYW5nZVVuaXZlcnNhbEFj
Y2Vzc1pvb21Gb2N1cyk6CisKIDIwMjAtMTItMDQgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIE1vcmUgRkFMTEJBQ0tfUExBVEZPUk0gYWRvcHRpb24KSW5kZXg6IFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCShyZXZpc2lvbiAyNzA1NzQpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjQ1
LDYgKzI0NSwxMCBAQCBwcml2YXRlOgogCiAgICAgU3RyaW5nIHNpZ25lZFB1YmxpY0tleUFuZENo
YWxsZW5nZVN0cmluZyh1bnNpZ25lZCBrZXlTaXplSW5kZXgsIGNvbnN0IFN0cmluZyYgY2hhbGxl
bmdlU3RyaW5nLCBjb25zdCBVUkwmKSBjb25zdCBmaW5hbDsKIAorI2lmIFBMQVRGT1JNKE1BQykK
KyAgICB2b2lkIGNoYW5nZVVuaXZlcnNhbEFjY2Vzc1pvb21Gb2N1cyhjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIGZpbmFsOworI2VuZGlmCisKICNpZiBF
TkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01PREUpCiAgICAgYm9vbCBtX21vY2tWaWRlb1ByZXNl
bnRhdGlvbk1vZGVFbmFibGVkIHsgZmFsc2UgfTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5tbQkocmV2aXNpb24gMjcwNTc0KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC04NCw2ICs4NCw3
IEBACiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9TU0xLZXlHZW5lcmF0b3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2VyaWFsaXplZENyeXB0b0tl
eVdyYXAuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVW5pdmVyc2FsQWNjZXNzWm9vbS5oPgogI2ltcG9y
dCA8V2ViQ29yZS9XaWRnZXQuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2luZG93RmVhdHVyZXMuaD4K
ICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TVmlld1NQSS5oPgpAQCAtMTE3MCwzICsxMTcxLDEwIEBA
IFN0cmluZyBXZWJDaHJvbWVDbGllbnQ6OnNpZ25lZFB1YmxpY0tleUEKICAgICAgICAgcmV0dXJu
IENhbGxVSURlbGVnYXRlKG1fd2ViVmlldywgc2VsZWN0b3IpOwogICAgIHJldHVybiBXZWJDb3Jl
OjpzaWduZWRQdWJsaWNLZXlBbmRDaGFsbGVuZ2VTdHJpbmcoa2V5U2l6ZUluZGV4LCBjaGFsbGVu
Z2VTdHJpbmcsIHVybCk7CiB9CisKKyNpZiBQTEFURk9STShNQUMpCit2b2lkIFdlYkNocm9tZUNs
aWVudDo6Y2hhbmdlVW5pdmVyc2FsQWNjZXNzWm9vbUZvY3VzKGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmIHZpZXdSZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBzZWxlY3Rpb25SZWN0KQorewor
ICAgIFdlYkNvcmU6OmNoYW5nZVVuaXZlcnNhbEFjY2Vzc1pvb21Gb2N1cyh2aWV3UmVjdCwgc2Vs
ZWN0aW9uUmVjdCk7Cit9CisjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>