<?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>175896</bug_id>
          
          <creation_ts>2017-08-23 11:58:04 -0700</creation_ts>
          <short_desc>Add WKUIDelegatePrivate callbacks corresponding to WKPageUIClient&apos;s takeFocus, focus, and unfocus</short_desc>
          <delta_ts>2017-08-23 14:53:33 -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>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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1341682</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-08-23 11:58:04 -0700</bug_when>
    <thetext>Add WKUIDelegatePrivate callbacks corresponding to WKPageUIClient&apos;s takeFocus, focus, and unfocus</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341683</commentid>
    <comment_count>1</comment_count>
      <attachid>318893</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-08-23 12:01:44 -0700</bug_when>
    <thetext>Created attachment 318893
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341701</commentid>
    <comment_count>2</comment_count>
      <attachid>318893</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-08-23 12:15:01 -0700</bug_when>
    <thetext>Comment on attachment 318893
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:130
&gt; -- (void)_webViewShow:(WKWebView *)webView WK_API_AVAILABLE(macosx(WK_MAC_TBA));
&gt; +- (void)_showWebView:(WKWebView *)webView WK_API_AVAILABLE(macosx(WK_MAC_TBA));
&gt; +- (void)_focusWebView:(WKWebView *)webView WK_API_AVAILABLE(macosx(WK_MAC_TBA));
&gt; +- (void)_unfocusWebView:(WKWebView *)webView WK_API_AVAILABLE(macosx(WK_MAC_TBA));
&gt; +- (void)_webView:(WKWebView *)webView takeFocus:(_WKFocusDirection)direction WK_API_AVAILABLE(macosx(WK_MAC_TBA));

I have another question. Why are all these things Mac only? They don&apos;t seem to be, underneath. Platform-specific things should be the exception, not the rule.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341713</commentid>
    <comment_count>3</comment_count>
      <attachid>318901</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-08-23 12:40:54 -0700</bug_when>
    <thetext>Created attachment 318901
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341714</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-08-23 12:42:00 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #2)
&gt; I have another question. Why are all these things Mac only? They don&apos;t seem
&gt; to be, underneath. Platform-specific things should be the exception, not the
&gt; rule.
Focus and keyboard events are quite different on iOS.  _webViewShow didn&apos;t work on iOS and it&apos;s not needed.  We could fix it and add it later if needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341734</commentid>
    <comment_count>5</comment_count>
      <attachid>318906</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-08-23 13:03:42 -0700</bug_when>
    <thetext>Created attachment 318906
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341761</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-08-23 13:36:03 -0700</bug_when>
    <thetext>http://trac.webkit.org/r221099</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341763</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-08-23 13:36:35 -0700</bug_when>
    <thetext>&lt;rdar://problem/34042618&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341803</commentid>
    <comment_count>8</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-08-23 14:53:33 -0700</bug_when>
    <thetext>rdar://problem/29270035</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318893</attachid>
            <date>2017-08-23 12:01:44 -0700</date>
            <delta_ts>2017-08-23 12:40:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175896-20170823120143.patch</filename>
            <type>text/plain</type>
            <size>12567</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjEwNTUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE3LTA4LTIzICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFdLVUlEZWxl
Z2F0ZVByaXZhdGUgY2FsbGJhY2tzIGNvcnJlc3BvbmRpbmcgdG8gV0tQYWdlVUlDbGllbnQncyB0
YWtlRm9jdXMsIGZvY3VzLCBhbmQgdW5mb2N1cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1ODk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisgICAgICAgIAorICAgICAgICBJIGFsc28gcmVuYW1lZCBfd2ViVmlld1Nob3cg
dG8gX3Nob3dXZWJWaWV3IGJhc2VkIG9uIGZlZWRiYWNrIGZyb20gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTc5NworCisgICAgICAgIEFkZGVkIGFuIEFQSSB0ZXN0
LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbToKKyAgICAgICAgKFdlYktpdDo6VUlEZWxlZ2F0ZTo6
c2V0RGVsZWdhdGUpOgorICAgICAgICAoV2ViS2l0Ojp0b1dLRm9jdXNEaXJlY3Rpb24pOgorICAg
ICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpVSUNsaWVudDo6dGFrZUZvY3VzKToKKyAgICAgICAg
KFdlYktpdDo6VUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmZvY3VzKToKKyAgICAgICAgKFdlYktpdDo6
VUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnVuZm9jdXMpOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVn
YXRlOjpVSUNsaWVudDo6c2hvd1BhZ2UpOgorCiAyMDE3LTA4LTIyICBBbGV4IENocmlzdGVuc2Vu
ICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIFVJRGVsZWdhdGVQcml2
YXRlIFNQSSBjb3JyZXNwb25kaW5nIHRvIFdLUGFnZVVJQ2xpZW50LnNob3dQYWdlCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdh
dGVQcml2YXRlLmgJKHJldmlzaW9uIDIyMTA1NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYg
KzQ1LDExIEBACiBAY2xhc3MgVUlUYXJnZXRlZERyYWdQcmV2aWV3OwogQHByb3RvY29sIFVJRHJh
Z1Nlc3Npb247CiBAcHJvdG9jb2wgVUlEcm9wU2Vzc2lvbjsKKyNlbHNlCit0eXBlZGVmIE5TX0VO
VU0oTlNJbnRlZ2VyLCBfV0tGb2N1c0RpcmVjdGlvbikgeworICAgIFdLRm9jdXNEaXJlY3Rpb25C
YWNrd2FyZCwKKyAgICBXS0ZvY3VzRGlyZWN0aW9uRm9yd2FyZCwKK30gV0tfQVBJX0FWQUlMQUJM
RShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAjZW5kaWYKIAogQHByb3Rv
Y29sIFdLVUlEZWxlZ2F0ZVByaXZhdGUgPFdLVUlEZWxlZ2F0ZT4KQEAgLTExOSw3ICsxMjQsMTAg
QEAgc3RydWN0IFVJRWRnZUluc2V0czsKICNlbmRpZgogLSAodm9pZClfd2ViVmlldzooV0tXZWJW
aWV3ICopd2ViVmlldyBkaWRDaGFuZ2VTYWZlQXJlYVNob3VsZEFmZmVjdE9ic2N1cmVkSW5zZXRz
OihCT09MKXNhZmVBcmVhU2hvdWxkQWZmZWN0T2JzY3VyZWRJbnNldHMgV0tfQVBJX0FWQUlMQUJM
RShpb3MoV0tfSU9TX1RCQSkpOwogI2Vsc2UKLS0gKHZvaWQpX3dlYlZpZXdTaG93OihXS1dlYlZp
ZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKKy0gKHZv
aWQpX3Nob3dXZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KFdLX01BQ19UQkEpKTsKKy0gKHZvaWQpX2ZvY3VzV2ViVmlldzooV0tXZWJWaWV3ICopd2Vi
VmlldyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CistICh2b2lkKV91bmZv
Y3VzV2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChX
S19NQUNfVEJBKSk7CistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHRha2VG
b2N1czooX1dLRm9jdXNEaXJlY3Rpb24pZGlyZWN0aW9uIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KFdLX01BQ19UQkEpKTsKIC0gKE5TTWVudSAqKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3
IGNvbnRleHRNZW51OihOU01lbnUgKiltZW51IGZvckVsZW1lbnQ6KF9XS0NvbnRleHRNZW51RWxl
bWVudEluZm8gKillbGVtZW50IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSk7CiAtIChO
U01lbnUgKilfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBjb250ZXh0TWVudTooTlNNZW51
ICopbWVudSBmb3JFbGVtZW50OihfV0tDb250ZXh0TWVudUVsZW1lbnRJbmZvICopZWxlbWVudCB1
c2VySW5mbzooaWQgPE5TU2VjdXJlQ29kaW5nPil1c2VySW5mbyBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeCgxMC4xMikpOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9VSURlbGVnYXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvVUlEZWxlZ2F0ZS5oCShyZXZpc2lvbiAyMjEwNTUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTk3LDYgKzk3LDkgQEAg
cHJpdmF0ZToKICAgICAgICAgdm9pZCByZWFjaGVkQXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3Rh
KFdlYlBhZ2VQcm94eSosIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luJiwgdWludDY0X3Qg
Y3VycmVudFF1b3RhLCB1aW50NjRfdCB0b3RhbEJ5dGVzTmVlZGVkLCBGdW5jdGlvbjx2b2lkICh1
bnNpZ25lZCBsb25nIGxvbmcpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSBvdmVycmlkZTsKICNpZiBQ
TEFURk9STShNQUMpCiAgICAgICAgIHZvaWQgc2hvd1BhZ2UoV2ViUGFnZVByb3h5KikgZmluYWw7
CisgICAgICAgIHZvaWQgdGFrZUZvY3VzKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgV0tGb2N1c0Rp
cmVjdGlvbikgZmluYWw7CisgICAgICAgIHZvaWQgZm9jdXMoV2ViS2l0OjpXZWJQYWdlUHJveHkq
KSBmaW5hbDsKKyAgICAgICAgdm9pZCB1bmZvY3VzKFdlYktpdDo6V2ViUGFnZVByb3h5KikgZmlu
YWw7CiAgICAgICAgIGJvb2wgcnVuT3BlblBhbmVsKFdlYlBhZ2VQcm94eSosIFdlYkZyYW1lUHJv
eHkqLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmLCBBUEk6Ok9wZW5QYW5lbFBh
cmFtZXRlcnMqLCBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5Kikgb3ZlcnJpZGU7CiAj
ZW5kaWYKICAgICAgICAgYm9vbCBkZWNpZGVQb2xpY3lGb3JVc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdChXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSYsIEFQSTo6
U2VjdXJpdHlPcmlnaW4mLCBBUEk6OlNlY3VyaXR5T3JpZ2luJiwgV2ViS2l0OjpVc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdFByb3h5Jikgb3ZlcnJpZGU7CkBAIC0xMzIsMTIgKzEzNSwxNSBAQCBw
cml2YXRlOgogICAgIHN0cnVjdCB7CiAgICAgICAgIGJvb2wgd2ViVmlld0NyZWF0ZVdlYlZpZXdX
aXRoQ29uZmlndXJhdGlvbkZvck5hdmlnYXRpb25BY3Rpb25XaW5kb3dGZWF0dXJlcyA6IDE7CiAg
ICAgICAgIGJvb2wgd2ViVmlld0NyZWF0ZVdlYlZpZXdXaXRoQ29uZmlndXJhdGlvbkZvck5hdmln
YXRpb25BY3Rpb25XaW5kb3dGZWF0dXJlc0FzeW5jIDogMTsKLSAgICAgICAgYm9vbCB3ZWJWaWV3
U2hvdyA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmlld1J1bkphdmFTY3JpcHRBbGVydFBhbmVsV2l0
aE1lc3NhZ2VJbml0aWF0ZWRCeUZyYW1lQ29tcGxldGlvbkhhbmRsZXIgOiAxOwogICAgICAgICBi
b29sIHdlYlZpZXdSdW5KYXZhU2NyaXB0Q29uZmlybVBhbmVsV2l0aE1lc3NhZ2VJbml0aWF0ZWRC
eUZyYW1lQ29tcGxldGlvbkhhbmRsZXIgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdSdW5KYXZh
U2NyaXB0VGV4dElucHV0UGFuZWxXaXRoUHJvbXB0RGVmYXVsdFRleHRJbml0aWF0ZWRCeUZyYW1l
Q29tcGxldGlvbkhhbmRsZXIgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdSdW5CZWZvcmVVbmxv
YWRDb25maXJtUGFuZWxXaXRoTWVzc2FnZUluaXRpYXRlZEJ5RnJhbWVDb21wbGV0aW9uSGFuZGxl
ciA6IDE7CiAjaWYgUExBVEZPUk0oTUFDKQorICAgICAgICBib29sIHNob3dXZWJWaWV3IDogMTsK
KyAgICAgICAgYm9vbCBmb2N1c1dlYlZpZXcgOiAxOworICAgICAgICBib29sIHVuZm9jdXNXZWJW
aWV3IDogMTsKKyAgICAgICAgYm9vbCB3ZWJWaWV3VGFrZUZvY3VzIDogMTsKICAgICAgICAgYm9v
bCB3ZWJWaWV3UnVuT3BlblBhbmVsV2l0aFBhcmFtZXRlcnNJbml0aWF0ZWRCeUZyYW1lQ29tcGxl
dGlvbkhhbmRsZXIgOiAxOwogI2VuZGlmCiAgICAgICAgIGJvb2wgd2ViVmlld0RlY2lkZURhdGFi
YXNlUXVvdGFGb3JTZWN1cml0eU9yaWdpbkN1cnJlbnRRdW90YUN1cnJlbnRPcmlnaW5Vc2FnZUN1
cnJlbnREYXRhYmFzZVVzYWdlRXhwZWN0ZWRVc2FnZURlY2lzaW9uSGFuZGxlciA6IDE7CkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0JKHJldmlzaW9u
IDIyMTA1NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0J
KHdvcmtpbmcgY29weSkKQEAgLTEwMCw3ICsxMDAsMTAgQEAgdm9pZCBVSURlbGVnYXRlOjpzZXRE
ZWxlZ2F0ZShpZCA8V0tVSURlbAogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdSdW5CZWZv
cmVVbmxvYWRDb25maXJtUGFuZWxXaXRoTWVzc2FnZUluaXRpYXRlZEJ5RnJhbWVDb21wbGV0aW9u
SGFuZGxlciA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3
OnJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbFdpdGhNZXNzYWdlOmluaXRpYXRlZEJ5RnJhbWU6
Y29tcGxldGlvbkhhbmRsZXI6KV07CiAKICNpZiBQTEFURk9STShNQUMpCi0gICAgbV9kZWxlZ2F0
ZU1ldGhvZHMud2ViVmlld1Nob3cgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3Rvcihfd2ViVmlld1Nob3c6KV07CisgICAgbV9kZWxlZ2F0ZU1ldGhvZHMuc2hvd1dlYlZpZXcg
PSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfc2hvd1dlYlZpZXc6KV07
CisgICAgbV9kZWxlZ2F0ZU1ldGhvZHMuZm9jdXNXZWJWaWV3ID0gW2RlbGVnYXRlIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoX2ZvY3VzV2ViVmlldzopXTsKKyAgICBtX2RlbGVnYXRlTWV0
aG9kcy51bmZvY3VzV2ViVmlldyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKF91bmZvY3VzV2ViVmlldzopXTsKKyAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3VGFr
ZUZvY3VzID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6
dGFrZUZvY3VzOildOwogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdSdW5PcGVuUGFuZWxX
aXRoUGFyYW1ldGVyc0luaXRpYXRlZEJ5RnJhbWVDb21wbGV0aW9uSGFuZGxlciA9IFtkZWxlZ2F0
ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHdlYlZpZXc6cnVuT3BlblBhbmVsV2l0aFBh
cmFtZXRlcnM6aW5pdGlhdGVkQnlGcmFtZTpjb21wbGV0aW9uSGFuZGxlcjopXTsKICNlbmRpZgog
CkBAIC0zNzIsMTYgKzM3NSw2NCBAQCB2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpleGNlZWRl
ZERhdGFiCiB9CiAKICNpZiBQTEFURk9STShNQUMpCitzdGF0aWMgaW5saW5lIF9XS0ZvY3VzRGly
ZWN0aW9uIHRvV0tGb2N1c0RpcmVjdGlvbihXS0ZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbikKK3sK
KyAgICBzd2l0Y2ggKGRpcmVjdGlvbikgeworICAgIGNhc2Uga1dLRm9jdXNEaXJlY3Rpb25CYWNr
d2FyZDoKKyAgICAgICAgcmV0dXJuIFdLRm9jdXNEaXJlY3Rpb25CYWNrd2FyZDsKKyAgICBjYXNl
IGtXS0ZvY3VzRGlyZWN0aW9uRm9yd2FyZDoKKyAgICAgICAgcmV0dXJuIFdLRm9jdXNEaXJlY3Rp
b25Gb3J3YXJkOworICAgIH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4g
V0tGb2N1c0RpcmVjdGlvbkZvcndhcmQ7Cit9CisKK3ZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6
OnRha2VGb2N1cyhXZWJLaXQ6OldlYlBhZ2VQcm94eSosIFdLRm9jdXNEaXJlY3Rpb24gZGlyZWN0
aW9uKQoreworICAgIGlmICghbV91aURlbGVnYXRlLm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdU
YWtlRm9jdXMpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRvIGRlbGVnYXRlID0gbV91
aURlbGVnYXRlLm1fZGVsZWdhdGUuZ2V0KCk7CisgICAgaWYgKCFkZWxlZ2F0ZSkKKyAgICAgICAg
cmV0dXJuOworICAgIAorICAgIFsoaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+KWRlbGVnYXRlIF93
ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5tX3dlYlZpZXcgdGFrZUZvY3VzOnRvV0tGb2N1c0RpcmVjdGlv
bihkaXJlY3Rpb24pXTsKK30KKwordm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6Zm9jdXMoV2Vi
S2l0OjpXZWJQYWdlUHJveHkqKQoreworICAgIGlmICghbV91aURlbGVnYXRlLm1fZGVsZWdhdGVN
ZXRob2RzLmZvY3VzV2ViVmlldykKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGF1dG8gZGVs
ZWdhdGUgPSBtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZS5nZXQoKTsKKyAgICBpZiAoIWRlbGVnYXRl
KQorICAgICAgICByZXR1cm47CisgICAgCisgICAgWyhpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4p
ZGVsZWdhdGUgX2ZvY3VzV2ViVmlldzptX3VpRGVsZWdhdGUubV93ZWJWaWV3XTsKK30KKwordm9p
ZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6dW5mb2N1cyhXZWJLaXQ6OldlYlBhZ2VQcm94eSopCit7
CisgICAgaWYgKCFtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZU1ldGhvZHMudW5mb2N1c1dlYlZpZXcp
CisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBhdXRvIGRlbGVnYXRlID0gbV91aURlbGVnYXRl
Lm1fZGVsZWdhdGUuZ2V0KCk7CisgICAgaWYgKCFkZWxlZ2F0ZSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIAorICAgIFsoaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+KWRlbGVnYXRlIF91bmZvY3VzV2Vi
VmlldzptX3VpRGVsZWdhdGUubV93ZWJWaWV3XTsKK30KKwogdm9pZCBVSURlbGVnYXRlOjpVSUNs
aWVudDo6c2hvd1BhZ2UoV2ViUGFnZVByb3h5KikKIHsKLSAgICBpZiAoIW1fdWlEZWxlZ2F0ZS5t
X2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3U2hvdykKKyAgICBpZiAoIW1fdWlEZWxlZ2F0ZS5tX2Rl
bGVnYXRlTWV0aG9kcy5zaG93V2ViVmlldykKICAgICAgICAgcmV0dXJuOwogCiAgICAgYXV0byBk
ZWxlZ2F0ZSA9IG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlLmdldCgpOwogICAgIGlmICghZGVsZWdh
dGUpCiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBbKGlkIDxXS1VJRGVsZWdhdGVQcml2YXRl
PilkZWxlZ2F0ZSBfd2ViVmlld1Nob3c6bV91aURlbGVnYXRlLm1fd2ViVmlld107CisgICAgWyhp
ZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4pZGVsZWdhdGUgX3Nob3dXZWJWaWV3Om1fdWlEZWxlZ2F0
ZS5tX3dlYlZpZXddOwogfQogCiBib29sIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpydW5PcGVuUGFu
ZWwoV2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSogd2ViRnJhbWVQcm94eSwgY29uc3QgV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBzZWN1cml0eU9yaWdpbkRhdGEsIEFQSTo6T3BlblBh
bmVsUGFyYW1ldGVycyogb3BlblBhbmVsUGFyYW1ldGVycywgV2ViT3BlblBhbmVsUmVzdWx0TGlz
dGVuZXJQcm94eSogbGlzdGVuZXIpCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjEwOTApCisrKyBUb29scy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxNy0wOC0yMyAgQWxleCBDaHJpc3Rl
bnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBXS1VJRGVsZWdh
dGVQcml2YXRlIGNhbGxiYWNrcyBjb3JyZXNwb25kaW5nIHRvIFdLUGFnZVVJQ2xpZW50J3MgdGFr
ZUZvY3VzLCBmb2N1cywgYW5kIHVuZm9jdXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3NTg5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvVUlE
ZWxlZ2F0ZS5tbToKKyAgICAgICAgKC1bVUlUZXN0RGVsZWdhdGUgX3Nob3dXZWJWaWV3Ol0pOgor
ICAgICAgICAoVEVTVCk6CisgICAgICAgICh0YWJFdmVudCk6CisgICAgICAgIChzeW50aGVzaXpl
VGFiKToKKyAgICAgICAgKC1bRm9jdXNEZWxlZ2F0ZSBfd2ViVmlldzp0YWtlRm9jdXM6XSk6Cisg
ICAgICAgICgtW0ZvY3VzRGVsZWdhdGUgd2ViVmlldzpydW5KYXZhU2NyaXB0QWxlcnRQYW5lbFdp
dGhNZXNzYWdlOmluaXRpYXRlZEJ5RnJhbWU6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAg
ICgtW1VJVGVzdERlbGVnYXRlIF93ZWJWaWV3U2hvdzpdKTogRGVsZXRlZC4KKwogMjAxNy0wOC0y
MyAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgQWNjZXNz
IGV4cGVjdGF0aW9ucyBwYXRoIHRocm91Z2ggYXBwbGVfYWRkaXRpb25zCkluZGV4OiBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9VSURlbGVnYXRlLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1VJRGVsZWdhdGUubW0J
KHJldmlzaW9uIDIyMTA1NSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNv
Y29hL1VJRGVsZWdhdGUubW0JKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAKIAogI2lt
cG9ydCAiVGVzdFdLV2ViVmlldy5oIgogI2ltcG9ydCAiVXRpbGl0aWVzLmgiCisjaW1wb3J0IDxD
YXJib24vQ2FyYm9uLmg+IC8vIGZvciBHZXRDdXJyZW50RXZlbnRUaW1lKCkKICNpbXBvcnQgPFdl
YktpdC9XS1VJRGVsZWdhdGVQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Lmg+
CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CkBAIC01NCw3ICs1NSw3IEBAIC0gKG51bGxhYmxl
IFdLV2ViVmlldyAqKXdlYlZpZXc6KFdLV2ViVmkKICAgICByZXR1cm4gY3JlYXRlZFdlYlZpZXcu
Z2V0KCk7CiB9CiAKLS0gKHZvaWQpX3dlYlZpZXdTaG93OihXS1dlYlZpZXcgKil3ZWJWaWV3Cist
ICh2b2lkKV9zaG93V2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldwogewogICAgIHdlYlZpZXdG
cm9tRGVsZWdhdGVDYWxsYmFjayA9IHdlYlZpZXc7CiAgICAgZG9uZSA9IHRydWU7CkBAIC03NCw3
ICs3NSw3IEBAIC0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBzdG8KIAogQGVu
ZAogCi1URVNUKFdlYktpdDIsIFNob3dQYWdlKQorVEVTVChXZWJLaXQyLCBTaG93V2ViVmlldykK
IHsKICAgICBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tVSVRlc3REZWxlZ2F0ZSBhbGxvY10gaW5pdF0p
OwogICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0
aW9uIGFsbG9jXSBpbml0XSk7CkBAIC04Nyw2ICs4OCw1NiBAQCBURVNUKFdlYktpdDIsIFNob3dQ
YWdlKQogICAgIEFTU0VSVF9FUSh3ZWJWaWV3RnJvbURlbGVnYXRlQ2FsbGJhY2ssIGNyZWF0ZWRX
ZWJWaWV3KTsKIH0KIAorc3RhdGljIE5TRXZlbnQgKnRhYkV2ZW50KE5TV2luZG93ICp3aW5kb3cs
IE5TRXZlbnRUeXBlIHR5cGUsIE5TRXZlbnRNb2RpZmllckZsYWdzIGZsYWdzKQoreworICAgIHJl
dHVybiBbTlNFdmVudCBrZXlFdmVudFdpdGhUeXBlOnR5cGUgbG9jYXRpb246TlNNYWtlUG9pbnQo
NSwgNSkgbW9kaWZpZXJGbGFnczpmbGFncyB0aW1lc3RhbXA6R2V0Q3VycmVudEV2ZW50VGltZSgp
IHdpbmRvd051bWJlcjpbd2luZG93IHdpbmRvd051bWJlcl0gY29udGV4dDpbTlNHcmFwaGljc0Nv
bnRleHQgY3VycmVudENvbnRleHRdIGNoYXJhY3RlcnM6QCJcdCIgY2hhcmFjdGVyc0lnbm9yaW5n
TW9kaWZpZXJzOkAiXHQiIGlzQVJlcGVhdDpOTyBrZXlDb2RlOjBdOworfQorCitzdGF0aWMgdm9p
ZCBzeW50aGVzaXplVGFiKE5TV2luZG93ICp3aW5kb3csIE5TVmlldyAqdmlldywgYm9vbCB3aXRo
U2hpZnREb3duKQoreworICAgIFt2aWV3IGtleURvd246dGFiRXZlbnQod2luZG93LCBOU0V2ZW50
VHlwZUtleURvd24sIHdpdGhTaGlmdERvd24gPyBOU0V2ZW50TW9kaWZpZXJGbGFnU2hpZnQgOiAw
KV07CisgICAgW3ZpZXcga2V5VXA6dGFiRXZlbnQod2luZG93LCBOU0V2ZW50VHlwZUtleVVwLCB3
aXRoU2hpZnREb3duID8gTlNFdmVudE1vZGlmaWVyRmxhZ1NoaWZ0IDogMCldOworfQorCitzdGF0
aWMgUmV0YWluUHRyPE5TV2luZG93PiB3aW5kb3c7CitzdGF0aWMgX1dLRm9jdXNEaXJlY3Rpb24g
dGFrZW5EaXJlY3Rpb247CisKK0BpbnRlcmZhY2UgRm9jdXNEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxX
S1VJRGVsZWdhdGVQcml2YXRlPgorQGVuZAorCitAaW1wbGVtZW50YXRpb24gRm9jdXNEZWxlZ2F0
ZQorCistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHRha2VGb2N1czooX1dL
Rm9jdXNEaXJlY3Rpb24pZGlyZWN0aW9uCit7CisgICAgdGFrZW5EaXJlY3Rpb24gPSBkaXJlY3Rp
b247CisgICAgZG9uZSA9IHRydWU7Cit9CisKKy0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICop
d2ViVmlldyBydW5KYXZhU2NyaXB0QWxlcnRQYW5lbFdpdGhNZXNzYWdlOihOU1N0cmluZyAqKW1l
c3NhZ2UgaW5pdGlhdGVkQnlGcmFtZTooV0tGcmFtZUluZm8gKilmcmFtZSBjb21wbGV0aW9uSGFu
ZGxlcjoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhhbmRsZXIKK3sKKyAgICBjb21wbGV0aW9u
SGFuZGxlcigpOworICAgIHN5bnRoZXNpemVUYWIod2luZG93LmdldCgpLCB3ZWJWaWV3LCB0cnVl
KTsKK30KKworCitAZW5kCisKK1RFU1QoV2ViS2l0MiwgRm9jdXMpCit7CisgICAgd2luZG93ID0g
YWRvcHROUyhbW05TV2luZG93IGFsbG9jXSBpbml0V2l0aENvbnRlbnRSZWN0OkNHUmVjdE1ha2Uo
MCwgMCwgODAwLCA2MDApIHN0eWxlTWFzazpOU1dpbmRvd1N0eWxlTWFza0JvcmRlcmxlc3MgYmFj
a2luZzpOU0JhY2tpbmdTdG9yZUJ1ZmZlcmVkIGRlZmVyOllFU10pOworICAgIGF1dG8gd2ViVmll
dyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgw
LCAwLCA4MDAsIDYwMCldKTsKKyAgICBbW3dpbmRvdyBjb250ZW50Vmlld10gYWRkU3Vidmlldzp3
ZWJWaWV3LmdldCgpXTsKKyAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW0ZvY3VzRGVsZWdh
dGUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOmRlbGVnYXRlLmdl
dCgpXTsKKyAgICAKKyAgICBOU1N0cmluZyAqaHRtbCA9IEAiPHNjcmlwdD5mdW5jdGlvbiBsb2Fk
ZWQoKSB7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbjEnKS5mb2N1cygpOyBhbGVydCgncmVh
ZHknKTsgfTwvc2NyaXB0PiIKKyAgICAiPGJvZHkgb25sb2FkPVwibG9hZGVkKClcIj48aW5wdXQg
dHlwZT1cInRleHRcIiBpZD1cImluMVwiPjxpbnB1dCB0eXBlPVwidGV4dFwiIGlkPVwiaW4yXCI+
PC9ib2R5PiI7CisgICAgW3dlYlZpZXcgbG9hZEhUTUxTdHJpbmc6aHRtbCBiYXNlVVJMOltOU1VS
TCBVUkxXaXRoU3RyaW5nOkAiaHR0cDovL2V4YW1wbGUuY29tLyJdXTsKKyAgICBUZXN0V2ViS2l0
QVBJOjpVdGlsOjpydW4oJmRvbmUpOworCisgICAgQVNTRVJUX0VRKHRha2VuRGlyZWN0aW9uLCBX
S0ZvY3VzRGlyZWN0aW9uQmFja3dhcmQpOworfQorCiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQog
CiAjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318901</attachid>
            <date>2017-08-23 12:40:54 -0700</date>
            <delta_ts>2017-08-23 13:03:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175896-20170823124053.patch</filename>
            <type>text/plain</type>
            <size>12491</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjEwNTUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE3LTA4LTIzICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFdLVUlEZWxl
Z2F0ZVByaXZhdGUgY2FsbGJhY2tzIGNvcnJlc3BvbmRpbmcgdG8gV0tQYWdlVUlDbGllbnQncyB0
YWtlRm9jdXMsIGZvY3VzLCBhbmQgdW5mb2N1cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1ODk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhv
cnRvbi4KKyAgICAgICAgCisgICAgICAgIEkgYWxzbyByZW5hbWVkIF93ZWJWaWV3U2hvdyB0byBf
c2hvd1dlYlZpZXcgYmFzZWQgb24gZmVlZGJhY2sgZnJvbSBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc1Nzk3CisKKyAgICAgICAgQWRkZWQgYW4gQVBJIHRlc3QuCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9Db2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpzZXRE
ZWxlZ2F0ZSk6CisgICAgICAgIChXZWJLaXQ6OnRvV0tGb2N1c0RpcmVjdGlvbik6CisgICAgICAg
IChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50Ojp0YWtlRm9jdXMpOgorICAgICAgICAoV2Vi
S2l0OjpVSURlbGVnYXRlOjpVSUNsaWVudDo6Zm9jdXMpOgorICAgICAgICAoV2ViS2l0OjpVSURl
bGVnYXRlOjpVSUNsaWVudDo6dW5mb2N1cyk6CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6
OlVJQ2xpZW50OjpzaG93UGFnZSk6CisKIDIwMTctMDgtMjIgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgVUlEZWxlZ2F0ZVByaXZhdGUg
U1BJIGNvcnJlc3BvbmRpbmcgdG8gV0tQYWdlVUlDbGllbnQuc2hvd1BhZ2UKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVBy
aXZhdGUuaAkocmV2aXNpb24gMjIxMDU1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUs
MTEgQEAKIEBjbGFzcyBVSVRhcmdldGVkRHJhZ1ByZXZpZXc7CiBAcHJvdG9jb2wgVUlEcmFnU2Vz
c2lvbjsKIEBwcm90b2NvbCBVSURyb3BTZXNzaW9uOworI2Vsc2UKK3R5cGVkZWYgTlNfRU5VTShO
U0ludGVnZXIsIF9XS0ZvY3VzRGlyZWN0aW9uKSB7CisgICAgV0tGb2N1c0RpcmVjdGlvbkJhY2t3
YXJkLAorICAgIFdLRm9jdXNEaXJlY3Rpb25Gb3J3YXJkLAorfSBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeChXS19NQUNfVEJBKSk7CiAjZW5kaWYKIAogQHByb3RvY29sIFdLVUlEZWxlZ2F0ZVByaXZh
dGUgPFdLVUlEZWxlZ2F0ZT4KQEAgLTExOSw3ICsxMjQsMTAgQEAgc3RydWN0IFVJRWRnZUluc2V0
czsKICNlbmRpZgogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRDaGFu
Z2VTYWZlQXJlYVNob3VsZEFmZmVjdE9ic2N1cmVkSW5zZXRzOihCT09MKXNhZmVBcmVhU2hvdWxk
QWZmZWN0T2JzY3VyZWRJbnNldHMgV0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RCQSkpOwog
I2Vsc2UKLS0gKHZvaWQpX3dlYlZpZXdTaG93OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKKy0gKHZvaWQpX3Nob3dXZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKKy0g
KHZvaWQpX2ZvY3VzV2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxF
KG1hY29zeChXS19NQUNfVEJBKSk7CistICh2b2lkKV91bmZvY3VzV2ViVmlldzooV0tXZWJWaWV3
ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CistICh2b2lk
KV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHRha2VGb2N1czooX1dLRm9jdXNEaXJlY3Rp
b24pZGlyZWN0aW9uIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKIC0gKE5T
TWVudSAqKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGNvbnRleHRNZW51OihOU01lbnUg
KiltZW51IGZvckVsZW1lbnQ6KF9XS0NvbnRleHRNZW51RWxlbWVudEluZm8gKillbGVtZW50IFdL
X0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSk7CiAtIChOU01lbnUgKilfd2ViVmlldzooV0tX
ZWJWaWV3ICopd2ViVmlldyBjb250ZXh0TWVudTooTlNNZW51ICopbWVudSBmb3JFbGVtZW50Oihf
V0tDb250ZXh0TWVudUVsZW1lbnRJbmZvICopZWxlbWVudCB1c2VySW5mbzooaWQgPE5TU2VjdXJl
Q29kaW5nPil1c2VySW5mbyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMikpOwogI2VuZGlm
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCShyZXZp
c2lvbiAyMjEwNTUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTk3LDYgKzk3LDkgQEAgcHJpdmF0ZToKICAgICAgICAgdm9p
ZCByZWFjaGVkQXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKFdlYlBhZ2VQcm94eSosIGNvbnN0
IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luJiwgdWludDY0X3QgY3VycmVudFF1b3RhLCB1aW50NjRf
dCB0b3RhbEJ5dGVzTmVlZGVkLCBGdW5jdGlvbjx2b2lkICh1bnNpZ25lZCBsb25nIGxvbmcpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKSBvdmVycmlkZTsKICNpZiBQTEFURk9STShNQUMpCiAgICAgICAg
IHZvaWQgc2hvd1BhZ2UoV2ViUGFnZVByb3h5KikgZmluYWw7CisgICAgICAgIHZvaWQgdGFrZUZv
Y3VzKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgV0tGb2N1c0RpcmVjdGlvbikgZmluYWw7CisgICAg
ICAgIHZvaWQgZm9jdXMoV2ViS2l0OjpXZWJQYWdlUHJveHkqKSBmaW5hbDsKKyAgICAgICAgdm9p
ZCB1bmZvY3VzKFdlYktpdDo6V2ViUGFnZVByb3h5KikgZmluYWw7CiAgICAgICAgIGJvb2wgcnVu
T3BlblBhbmVsKFdlYlBhZ2VQcm94eSosIFdlYkZyYW1lUHJveHkqLCBjb25zdCBXZWJDb3JlOjpT
ZWN1cml0eU9yaWdpbkRhdGEmLCBBUEk6Ok9wZW5QYW5lbFBhcmFtZXRlcnMqLCBXZWJPcGVuUGFu
ZWxSZXN1bHRMaXN0ZW5lclByb3h5Kikgb3ZlcnJpZGU7CiAjZW5kaWYKICAgICAgICAgYm9vbCBk
ZWNpZGVQb2xpY3lGb3JVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdChXZWJLaXQ6OldlYlBhZ2VQ
cm94eSYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSYsIEFQSTo6U2VjdXJpdHlPcmlnaW4mLCBBUEk6
OlNlY3VyaXR5T3JpZ2luJiwgV2ViS2l0OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5
Jikgb3ZlcnJpZGU7CkBAIC0xMzIsMTIgKzEzNSwxNSBAQCBwcml2YXRlOgogICAgIHN0cnVjdCB7
CiAgICAgICAgIGJvb2wgd2ViVmlld0NyZWF0ZVdlYlZpZXdXaXRoQ29uZmlndXJhdGlvbkZvck5h
dmlnYXRpb25BY3Rpb25XaW5kb3dGZWF0dXJlcyA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmlld0Ny
ZWF0ZVdlYlZpZXdXaXRoQ29uZmlndXJhdGlvbkZvck5hdmlnYXRpb25BY3Rpb25XaW5kb3dGZWF0
dXJlc0FzeW5jIDogMTsKLSAgICAgICAgYm9vbCB3ZWJWaWV3U2hvdyA6IDE7CiAgICAgICAgIGJv
b2wgd2ViVmlld1J1bkphdmFTY3JpcHRBbGVydFBhbmVsV2l0aE1lc3NhZ2VJbml0aWF0ZWRCeUZy
YW1lQ29tcGxldGlvbkhhbmRsZXIgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdSdW5KYXZhU2Ny
aXB0Q29uZmlybVBhbmVsV2l0aE1lc3NhZ2VJbml0aWF0ZWRCeUZyYW1lQ29tcGxldGlvbkhhbmRs
ZXIgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdSdW5KYXZhU2NyaXB0VGV4dElucHV0UGFuZWxX
aXRoUHJvbXB0RGVmYXVsdFRleHRJbml0aWF0ZWRCeUZyYW1lQ29tcGxldGlvbkhhbmRsZXIgOiAx
OwogICAgICAgICBib29sIHdlYlZpZXdSdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWxXaXRoTWVz
c2FnZUluaXRpYXRlZEJ5RnJhbWVDb21wbGV0aW9uSGFuZGxlciA6IDE7CiAjaWYgUExBVEZPUk0o
TUFDKQorICAgICAgICBib29sIHNob3dXZWJWaWV3IDogMTsKKyAgICAgICAgYm9vbCBmb2N1c1dl
YlZpZXcgOiAxOworICAgICAgICBib29sIHVuZm9jdXNXZWJWaWV3IDogMTsKKyAgICAgICAgYm9v
bCB3ZWJWaWV3VGFrZUZvY3VzIDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3UnVuT3BlblBhbmVs
V2l0aFBhcmFtZXRlcnNJbml0aWF0ZWRCeUZyYW1lQ29tcGxldGlvbkhhbmRsZXIgOiAxOwogI2Vu
ZGlmCiAgICAgICAgIGJvb2wgd2ViVmlld0RlY2lkZURhdGFiYXNlUXVvdGFGb3JTZWN1cml0eU9y
aWdpbkN1cnJlbnRRdW90YUN1cnJlbnRPcmlnaW5Vc2FnZUN1cnJlbnREYXRhYmFzZVVzYWdlRXhw
ZWN0ZWRVc2FnZURlY2lzaW9uSGFuZGxlciA6IDE7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0JKHJldmlzaW9uIDIyMTA1NSkKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0JKHdvcmtpbmcgY29weSkKQEAgLTEw
MCw3ICsxMDAsMTAgQEAgdm9pZCBVSURlbGVnYXRlOjpzZXREZWxlZ2F0ZShpZCA8V0tVSURlbAog
ICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdSdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWxX
aXRoTWVzc2FnZUluaXRpYXRlZEJ5RnJhbWVDb21wbGV0aW9uSGFuZGxlciA9IFtkZWxlZ2F0ZSBy
ZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnJ1bkJlZm9yZVVubG9hZENvbmZp
cm1QYW5lbFdpdGhNZXNzYWdlOmluaXRpYXRlZEJ5RnJhbWU6Y29tcGxldGlvbkhhbmRsZXI6KV07
CiAKICNpZiBQTEFURk9STShNQUMpCi0gICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1Nob3cg
PSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlld1Nob3c6KV07
CisgICAgbV9kZWxlZ2F0ZU1ldGhvZHMuc2hvd1dlYlZpZXcgPSBbZGVsZWdhdGUgcmVzcG9uZHNU
b1NlbGVjdG9yOkBzZWxlY3Rvcihfc2hvd1dlYlZpZXc6KV07CisgICAgbV9kZWxlZ2F0ZU1ldGhv
ZHMuZm9jdXNXZWJWaWV3ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Io
X2ZvY3VzV2ViVmlldzopXTsKKyAgICBtX2RlbGVnYXRlTWV0aG9kcy51bmZvY3VzV2ViVmlldyA9
IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF91bmZvY3VzV2ViVmlldzop
XTsKKyAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3VGFrZUZvY3VzID0gW2RlbGVnYXRlIHJl
c3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6dGFrZUZvY3VzOildOwogICAgIG1f
ZGVsZWdhdGVNZXRob2RzLndlYlZpZXdSdW5PcGVuUGFuZWxXaXRoUGFyYW1ldGVyc0luaXRpYXRl
ZEJ5RnJhbWVDb21wbGV0aW9uSGFuZGxlciA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6
QHNlbGVjdG9yKHdlYlZpZXc6cnVuT3BlblBhbmVsV2l0aFBhcmFtZXRlcnM6aW5pdGlhdGVkQnlG
cmFtZTpjb21wbGV0aW9uSGFuZGxlcjopXTsKICNlbmRpZgogCkBAIC0zNzIsMTYgKzM3NSw2NCBA
QCB2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpleGNlZWRlZERhdGFiCiB9CiAKICNpZiBQTEFU
Rk9STShNQUMpCitzdGF0aWMgaW5saW5lIF9XS0ZvY3VzRGlyZWN0aW9uIHRvV0tGb2N1c0RpcmVj
dGlvbihXS0ZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbikKK3sKKyAgICBzd2l0Y2ggKGRpcmVjdGlv
bikgeworICAgIGNhc2Uga1dLRm9jdXNEaXJlY3Rpb25CYWNrd2FyZDoKKyAgICAgICAgcmV0dXJu
IFdLRm9jdXNEaXJlY3Rpb25CYWNrd2FyZDsKKyAgICBjYXNlIGtXS0ZvY3VzRGlyZWN0aW9uRm9y
d2FyZDoKKyAgICAgICAgcmV0dXJuIFdLRm9jdXNEaXJlY3Rpb25Gb3J3YXJkOworICAgIH0KKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gV0tGb2N1c0RpcmVjdGlvbkZvcndh
cmQ7Cit9CisKK3ZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnRha2VGb2N1cyhXZWJLaXQ6Oldl
YlBhZ2VQcm94eSosIFdLRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uKQoreworICAgIGlmICghbV91
aURlbGVnYXRlLm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdUYWtlRm9jdXMpCisgICAgICAgIHJl
dHVybjsKKyAgICAKKyAgICBhdXRvIGRlbGVnYXRlID0gbV91aURlbGVnYXRlLm1fZGVsZWdhdGUu
Z2V0KCk7CisgICAgaWYgKCFkZWxlZ2F0ZSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIFso
aWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+KWRlbGVnYXRlIF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5t
X3dlYlZpZXcgdGFrZUZvY3VzOnRvV0tGb2N1c0RpcmVjdGlvbihkaXJlY3Rpb24pXTsKK30KKwor
dm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6Zm9jdXMoV2ViS2l0OjpXZWJQYWdlUHJveHkqKQor
eworICAgIGlmICghbV91aURlbGVnYXRlLm1fZGVsZWdhdGVNZXRob2RzLmZvY3VzV2ViVmlldykK
KyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGF1dG8gZGVsZWdhdGUgPSBtX3VpRGVsZWdhdGUu
bV9kZWxlZ2F0ZS5nZXQoKTsKKyAgICBpZiAoIWRlbGVnYXRlKQorICAgICAgICByZXR1cm47Cisg
ICAgCisgICAgWyhpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4pZGVsZWdhdGUgX2ZvY3VzV2ViVmll
dzptX3VpRGVsZWdhdGUubV93ZWJWaWV3XTsKK30KKwordm9pZCBVSURlbGVnYXRlOjpVSUNsaWVu
dDo6dW5mb2N1cyhXZWJLaXQ6OldlYlBhZ2VQcm94eSopCit7CisgICAgaWYgKCFtX3VpRGVsZWdh
dGUubV9kZWxlZ2F0ZU1ldGhvZHMudW5mb2N1c1dlYlZpZXcpCisgICAgICAgIHJldHVybjsKKyAg
ICAKKyAgICBhdXRvIGRlbGVnYXRlID0gbV91aURlbGVnYXRlLm1fZGVsZWdhdGUuZ2V0KCk7Cisg
ICAgaWYgKCFkZWxlZ2F0ZSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIFsoaWQgPFdLVUlE
ZWxlZ2F0ZVByaXZhdGU+KWRlbGVnYXRlIF91bmZvY3VzV2ViVmlldzptX3VpRGVsZWdhdGUubV93
ZWJWaWV3XTsKK30KKwogdm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6c2hvd1BhZ2UoV2ViUGFn
ZVByb3h5KikKIHsKLSAgICBpZiAoIW1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJW
aWV3U2hvdykKKyAgICBpZiAoIW1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy5zaG93V2Vi
VmlldykKICAgICAgICAgcmV0dXJuOwogCiAgICAgYXV0byBkZWxlZ2F0ZSA9IG1fdWlEZWxlZ2F0
ZS5tX2RlbGVnYXRlLmdldCgpOwogICAgIGlmICghZGVsZWdhdGUpCiAgICAgICAgIHJldHVybjsK
ICAgICAKLSAgICBbKGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPilkZWxlZ2F0ZSBfd2ViVmlld1No
b3c6bV91aURlbGVnYXRlLm1fd2ViVmlld107CisgICAgWyhpZCA8V0tVSURlbGVnYXRlUHJpdmF0
ZT4pZGVsZWdhdGUgX3Nob3dXZWJWaWV3Om1fdWlEZWxlZ2F0ZS5tX3dlYlZpZXddOwogfQogCiBi
b29sIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpydW5PcGVuUGFuZWwoV2ViUGFnZVByb3h5KiwgV2Vi
RnJhbWVQcm94eSogd2ViRnJhbWVQcm94eSwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5E
YXRhJiBzZWN1cml0eU9yaWdpbkRhdGEsIEFQSTo6T3BlblBhbmVsUGFyYW1ldGVycyogb3BlblBh
bmVsUGFyYW1ldGVycywgV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eSogbGlzdGVuZXIp
CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyMjEwOTApCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxOSBAQAorMjAxNy0wOC0yMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBXS1VJRGVsZWdhdGVQcml2YXRlIGNhbGxiYWNrcyBj
b3JyZXNwb25kaW5nIHRvIFdLUGFnZVVJQ2xpZW50J3MgdGFrZUZvY3VzLCBmb2N1cywgYW5kIHVu
Zm9jdXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NTg5NgorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoLVtV
SVRlc3REZWxlZ2F0ZSBfc2hvd1dlYlZpZXc6XSk6CisgICAgICAgIChURVNUKToKKyAgICAgICAg
KHRhYkV2ZW50KToKKyAgICAgICAgKHN5bnRoZXNpemVUYWIpOgorICAgICAgICAoLVtGb2N1c0Rl
bGVnYXRlIF93ZWJWaWV3OnRha2VGb2N1czpdKToKKyAgICAgICAgKC1bRm9jdXNEZWxlZ2F0ZSB3
ZWJWaWV3OnJ1bkphdmFTY3JpcHRBbGVydFBhbmVsV2l0aE1lc3NhZ2U6aW5pdGlhdGVkQnlGcmFt
ZTpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1bVUlUZXN0RGVsZWdhdGUgX3dlYlZp
ZXdTaG93Ol0pOiBEZWxldGVkLgorCiAyMDE3LTA4LTIzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVk
YXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBBY2Nlc3MgZXhwZWN0YXRpb25zIHBhdGggdGhyb3Vn
aCBhcHBsZV9hZGRpdGlvbnMKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
MkNvY29hL1VJRGVsZWdhdGUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyQ29jb2EvVUlEZWxlZ2F0ZS5tbQkocmV2aXNpb24gMjIxMDU1KQorKysgVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvVUlEZWxlZ2F0ZS5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMzEsNiArMzEsOCBAQAogCiAjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCiAj
aW1wb3J0ICJVdGlsaXRpZXMuaCIKKyNpbXBvcnQgPEFwcEtpdC9OU0V2ZW50Lmg+CisjaW1wb3J0
IDxDYXJib24vQ2FyYm9uLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tVSURlbGVnYXRlUHJpdmF0ZS5o
PgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlldy5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5o
PgpAQCAtNTQsNyArNTYsNyBAQCAtIChudWxsYWJsZSBXS1dlYlZpZXcgKil3ZWJWaWV3OihXS1dl
YlZpCiAgICAgcmV0dXJuIGNyZWF0ZWRXZWJWaWV3LmdldCgpOwogfQogCi0tICh2b2lkKV93ZWJW
aWV3U2hvdzooV0tXZWJWaWV3ICopd2ViVmlldworLSAodm9pZClfc2hvd1dlYlZpZXc6KFdLV2Vi
VmlldyAqKXdlYlZpZXcKIHsKICAgICB3ZWJWaWV3RnJvbURlbGVnYXRlQ2FsbGJhY2sgPSB3ZWJW
aWV3OwogICAgIGRvbmUgPSB0cnVlOwpAQCAtNzQsNyArNzYsNyBAQCAtICh2b2lkKXdlYlZpZXc6
KFdLV2ViVmlldyAqKXdlYlZpZXcgc3RvCiAKIEBlbmQKIAotVEVTVChXZWJLaXQyLCBTaG93UGFn
ZSkKK1RFU1QoV2ViS2l0MiwgU2hvd1dlYlZpZXcpCiB7CiAgICAgZGVsZWdhdGUgPSBhZG9wdE5T
KFtbVUlUZXN0RGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKICAgICBhdXRvIGNvbmZpZ3VyYXRpb24g
PSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwpAQCAtODcs
NiArODksNTMgQEAgVEVTVChXZWJLaXQyLCBTaG93UGFnZSkKICAgICBBU1NFUlRfRVEod2ViVmll
d0Zyb21EZWxlZ2F0ZUNhbGxiYWNrLCBjcmVhdGVkV2ViVmlldyk7CiB9CiAKK3N0YXRpYyBOU0V2
ZW50ICp0YWJFdmVudChOU1dpbmRvdyAqd2luZG93LCBOU0V2ZW50VHlwZSB0eXBlLCBOU0V2ZW50
TW9kaWZpZXJGbGFncyBmbGFncykKK3sKKyAgICByZXR1cm4gW05TRXZlbnQga2V5RXZlbnRXaXRo
VHlwZTp0eXBlIGxvY2F0aW9uOk5TTWFrZVBvaW50KDUsIDUpIG1vZGlmaWVyRmxhZ3M6ZmxhZ3Mg
dGltZXN0YW1wOkdldEN1cnJlbnRFdmVudFRpbWUoKSB3aW5kb3dOdW1iZXI6W3dpbmRvdyB3aW5k
b3dOdW1iZXJdIGNvbnRleHQ6W05TR3JhcGhpY3NDb250ZXh0IGN1cnJlbnRDb250ZXh0XSBjaGFy
YWN0ZXJzOkAiXHQiIGNoYXJhY3RlcnNJZ25vcmluZ01vZGlmaWVyczpAIlx0IiBpc0FSZXBlYXQ6
Tk8ga2V5Q29kZTowXTsKK30KKworc3RhdGljIHZvaWQgc3ludGhlc2l6ZVRhYihOU1dpbmRvdyAq
d2luZG93LCBOU1ZpZXcgKnZpZXcsIGJvb2wgd2l0aFNoaWZ0RG93bikKK3sKKyAgICBbdmlldyBr
ZXlEb3duOnRhYkV2ZW50KHdpbmRvdywgTlNFdmVudFR5cGVLZXlEb3duLCB3aXRoU2hpZnREb3du
ID8gTlNFdmVudE1vZGlmaWVyRmxhZ1NoaWZ0IDogMCldOworICAgIFt2aWV3IGtleVVwOnRhYkV2
ZW50KHdpbmRvdywgTlNFdmVudFR5cGVLZXlVcCwgd2l0aFNoaWZ0RG93biA/IE5TRXZlbnRNb2Rp
ZmllckZsYWdTaGlmdCA6IDApXTsKK30KKworc3RhdGljIFJldGFpblB0cjxOU1dpbmRvdz4gd2lu
ZG93Oworc3RhdGljIF9XS0ZvY3VzRGlyZWN0aW9uIHRha2VuRGlyZWN0aW9uOworCitAaW50ZXJm
YWNlIEZvY3VzRGVsZWdhdGUgOiBOU09iamVjdCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4KK0BlbmQK
KworQGltcGxlbWVudGF0aW9uIEZvY3VzRGVsZWdhdGUKKworLSAodm9pZClfd2ViVmlldzooV0tX
ZWJWaWV3ICopd2ViVmlldyB0YWtlRm9jdXM6KF9XS0ZvY3VzRGlyZWN0aW9uKWRpcmVjdGlvbgor
eworICAgIHRha2VuRGlyZWN0aW9uID0gZGlyZWN0aW9uOworICAgIGRvbmUgPSB0cnVlOworfQor
CistICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcnVuSmF2YVNjcmlwdEFsZXJ0
UGFuZWxXaXRoTWVzc2FnZTooTlNTdHJpbmcgKiltZXNzYWdlIGluaXRpYXRlZEJ5RnJhbWU6KFdL
RnJhbWVJbmZvICopZnJhbWUgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBs
ZXRpb25IYW5kbGVyCit7CisgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICBzeW50aGVzaXpl
VGFiKHdpbmRvdy5nZXQoKSwgd2ViVmlldywgdHJ1ZSk7Cit9CisKK0BlbmQKKworVEVTVChXZWJL
aXQyLCBGb2N1cykKK3sKKyAgICB3aW5kb3cgPSBhZG9wdE5TKFtbTlNXaW5kb3cgYWxsb2NdIGlu
aXRXaXRoQ29udGVudFJlY3Q6Q0dSZWN0TWFrZSgwLCAwLCA4MDAsIDYwMCkgc3R5bGVNYXNrOk5T
V2luZG93U3R5bGVNYXNrQm9yZGVybGVzcyBiYWNraW5nOk5TQmFja2luZ1N0b3JlQnVmZmVyZWQg
ZGVmZXI6WUVTXSk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxv
Y10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDgwMCwgNjAwKV0pOworICAgIFtbd2lu
ZG93IGNvbnRlbnRWaWV3XSBhZGRTdWJ2aWV3OndlYlZpZXcuZ2V0KCldOworICAgIGF1dG8gZGVs
ZWdhdGUgPSBhZG9wdE5TKFtbRm9jdXNEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJW
aWV3IHNldFVJRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworICAgIE5TU3RyaW5nICpodG1sID0g
QCI8c2NyaXB0PmZ1bmN0aW9uIGxvYWRlZCgpIHsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lu
JykuZm9jdXMoKTsgYWxlcnQoJ3JlYWR5Jyk7IH08L3NjcmlwdD4iCisgICAgIjxib2R5IG9ubG9h
ZD0nbG9hZGVkKCknPjxpbnB1dCB0eXBlPSd0ZXh0JyBpZD0naW4nPjwvYm9keT4iOworICAgIFt3
ZWJWaWV3IGxvYWRIVE1MU3RyaW5nOmh0bWwgYmFzZVVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpA
Imh0dHA6Ly9leGFtcGxlLmNvbS8iXV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZk
b25lKTsKKyAgICBBU1NFUlRfRVEodGFrZW5EaXJlY3Rpb24sIFdLRm9jdXNEaXJlY3Rpb25CYWNr
d2FyZCk7Cit9CisKICNlbmRpZiAvLyBQTEFURk9STShNQUMpCiAKICNlbmRpZiAvLyBXS19BUElf
RU5BQkxFRAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318906</attachid>
            <date>2017-08-23 13:03:42 -0700</date>
            <delta_ts>2017-08-23 13:33:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175896-20170823130341.patch</filename>
            <type>text/plain</type>
            <size>12545</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjEwNTUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE3LTA4LTIzICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFdLVUlEZWxl
Z2F0ZVByaXZhdGUgY2FsbGJhY2tzIGNvcnJlc3BvbmRpbmcgdG8gV0tQYWdlVUlDbGllbnQncyB0
YWtlRm9jdXMsIGZvY3VzLCBhbmQgdW5mb2N1cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1ODk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhv
cnRvbi4KKyAgICAgICAgCisgICAgICAgIEkgYWxzbyByZW5hbWVkIF93ZWJWaWV3U2hvdyB0byBf
c2hvd1dlYlZpZXcgYmFzZWQgb24gZmVlZGJhY2sgZnJvbSBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc1Nzk3CisKKyAgICAgICAgQWRkZWQgYW4gQVBJIHRlc3QuCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9Db2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpzZXRE
ZWxlZ2F0ZSk6CisgICAgICAgIChXZWJLaXQ6OnRvV0tGb2N1c0RpcmVjdGlvbik6CisgICAgICAg
IChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50Ojp0YWtlRm9jdXMpOgorICAgICAgICAoV2Vi
S2l0OjpVSURlbGVnYXRlOjpVSUNsaWVudDo6Zm9jdXMpOgorICAgICAgICAoV2ViS2l0OjpVSURl
bGVnYXRlOjpVSUNsaWVudDo6dW5mb2N1cyk6CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6
OlVJQ2xpZW50OjpzaG93UGFnZSk6CisKIDIwMTctMDgtMjIgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgVUlEZWxlZ2F0ZVByaXZhdGUg
U1BJIGNvcnJlc3BvbmRpbmcgdG8gV0tQYWdlVUlDbGllbnQuc2hvd1BhZ2UKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVBy
aXZhdGUuaAkocmV2aXNpb24gMjIxMDU1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUs
MTEgQEAKIEBjbGFzcyBVSVRhcmdldGVkRHJhZ1ByZXZpZXc7CiBAcHJvdG9jb2wgVUlEcmFnU2Vz
c2lvbjsKIEBwcm90b2NvbCBVSURyb3BTZXNzaW9uOworI2Vsc2UKK3R5cGVkZWYgTlNfRU5VTShO
U0ludGVnZXIsIF9XS0ZvY3VzRGlyZWN0aW9uKSB7CisgICAgV0tGb2N1c0RpcmVjdGlvbkJhY2t3
YXJkLAorICAgIFdLRm9jdXNEaXJlY3Rpb25Gb3J3YXJkLAorfSBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeChXS19NQUNfVEJBKSk7CiAjZW5kaWYKIAogQHByb3RvY29sIFdLVUlEZWxlZ2F0ZVByaXZh
dGUgPFdLVUlEZWxlZ2F0ZT4KQEAgLTExOSw3ICsxMjQsMTAgQEAgc3RydWN0IFVJRWRnZUluc2V0
czsKICNlbmRpZgogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRDaGFu
Z2VTYWZlQXJlYVNob3VsZEFmZmVjdE9ic2N1cmVkSW5zZXRzOihCT09MKXNhZmVBcmVhU2hvdWxk
QWZmZWN0T2JzY3VyZWRJbnNldHMgV0tfQVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RCQSkpOwog
I2Vsc2UKLS0gKHZvaWQpX3dlYlZpZXdTaG93OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKKy0gKHZvaWQpX3Nob3dXZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKKy0g
KHZvaWQpX2ZvY3VzV2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxF
KG1hY29zeChXS19NQUNfVEJBKSk7CistICh2b2lkKV91bmZvY3VzV2ViVmlldzooV0tXZWJWaWV3
ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CistICh2b2lk
KV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHRha2VGb2N1czooX1dLRm9jdXNEaXJlY3Rp
b24pZGlyZWN0aW9uIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKIC0gKE5T
TWVudSAqKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGNvbnRleHRNZW51OihOU01lbnUg
KiltZW51IGZvckVsZW1lbnQ6KF9XS0NvbnRleHRNZW51RWxlbWVudEluZm8gKillbGVtZW50IFdL
X0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSk7CiAtIChOU01lbnUgKilfd2ViVmlldzooV0tX
ZWJWaWV3ICopd2ViVmlldyBjb250ZXh0TWVudTooTlNNZW51ICopbWVudSBmb3JFbGVtZW50Oihf
V0tDb250ZXh0TWVudUVsZW1lbnRJbmZvICopZWxlbWVudCB1c2VySW5mbzooaWQgPE5TU2VjdXJl
Q29kaW5nPil1c2VySW5mbyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMikpOwogI2VuZGlm
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCShyZXZp
c2lvbiAyMjEwNTUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTk3LDYgKzk3LDkgQEAgcHJpdmF0ZToKICAgICAgICAgdm9p
ZCByZWFjaGVkQXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKFdlYlBhZ2VQcm94eSosIGNvbnN0
IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luJiwgdWludDY0X3QgY3VycmVudFF1b3RhLCB1aW50NjRf
dCB0b3RhbEJ5dGVzTmVlZGVkLCBGdW5jdGlvbjx2b2lkICh1bnNpZ25lZCBsb25nIGxvbmcpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKSBvdmVycmlkZTsKICNpZiBQTEFURk9STShNQUMpCiAgICAgICAg
IHZvaWQgc2hvd1BhZ2UoV2ViUGFnZVByb3h5KikgZmluYWw7CisgICAgICAgIHZvaWQgdGFrZUZv
Y3VzKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgV0tGb2N1c0RpcmVjdGlvbikgZmluYWw7CisgICAg
ICAgIHZvaWQgZm9jdXMoV2ViS2l0OjpXZWJQYWdlUHJveHkqKSBmaW5hbDsKKyAgICAgICAgdm9p
ZCB1bmZvY3VzKFdlYktpdDo6V2ViUGFnZVByb3h5KikgZmluYWw7CiAgICAgICAgIGJvb2wgcnVu
T3BlblBhbmVsKFdlYlBhZ2VQcm94eSosIFdlYkZyYW1lUHJveHkqLCBjb25zdCBXZWJDb3JlOjpT
ZWN1cml0eU9yaWdpbkRhdGEmLCBBUEk6Ok9wZW5QYW5lbFBhcmFtZXRlcnMqLCBXZWJPcGVuUGFu
ZWxSZXN1bHRMaXN0ZW5lclByb3h5Kikgb3ZlcnJpZGU7CiAjZW5kaWYKICAgICAgICAgYm9vbCBk
ZWNpZGVQb2xpY3lGb3JVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdChXZWJLaXQ6OldlYlBhZ2VQ
cm94eSYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSYsIEFQSTo6U2VjdXJpdHlPcmlnaW4mLCBBUEk6
OlNlY3VyaXR5T3JpZ2luJiwgV2ViS2l0OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5
Jikgb3ZlcnJpZGU7CkBAIC0xMzIsMTIgKzEzNSwxNSBAQCBwcml2YXRlOgogICAgIHN0cnVjdCB7
CiAgICAgICAgIGJvb2wgd2ViVmlld0NyZWF0ZVdlYlZpZXdXaXRoQ29uZmlndXJhdGlvbkZvck5h
dmlnYXRpb25BY3Rpb25XaW5kb3dGZWF0dXJlcyA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmlld0Ny
ZWF0ZVdlYlZpZXdXaXRoQ29uZmlndXJhdGlvbkZvck5hdmlnYXRpb25BY3Rpb25XaW5kb3dGZWF0
dXJlc0FzeW5jIDogMTsKLSAgICAgICAgYm9vbCB3ZWJWaWV3U2hvdyA6IDE7CiAgICAgICAgIGJv
b2wgd2ViVmlld1J1bkphdmFTY3JpcHRBbGVydFBhbmVsV2l0aE1lc3NhZ2VJbml0aWF0ZWRCeUZy
YW1lQ29tcGxldGlvbkhhbmRsZXIgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdSdW5KYXZhU2Ny
aXB0Q29uZmlybVBhbmVsV2l0aE1lc3NhZ2VJbml0aWF0ZWRCeUZyYW1lQ29tcGxldGlvbkhhbmRs
ZXIgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdSdW5KYXZhU2NyaXB0VGV4dElucHV0UGFuZWxX
aXRoUHJvbXB0RGVmYXVsdFRleHRJbml0aWF0ZWRCeUZyYW1lQ29tcGxldGlvbkhhbmRsZXIgOiAx
OwogICAgICAgICBib29sIHdlYlZpZXdSdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWxXaXRoTWVz
c2FnZUluaXRpYXRlZEJ5RnJhbWVDb21wbGV0aW9uSGFuZGxlciA6IDE7CiAjaWYgUExBVEZPUk0o
TUFDKQorICAgICAgICBib29sIHNob3dXZWJWaWV3IDogMTsKKyAgICAgICAgYm9vbCBmb2N1c1dl
YlZpZXcgOiAxOworICAgICAgICBib29sIHVuZm9jdXNXZWJWaWV3IDogMTsKKyAgICAgICAgYm9v
bCB3ZWJWaWV3VGFrZUZvY3VzIDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3UnVuT3BlblBhbmVs
V2l0aFBhcmFtZXRlcnNJbml0aWF0ZWRCeUZyYW1lQ29tcGxldGlvbkhhbmRsZXIgOiAxOwogI2Vu
ZGlmCiAgICAgICAgIGJvb2wgd2ViVmlld0RlY2lkZURhdGFiYXNlUXVvdGFGb3JTZWN1cml0eU9y
aWdpbkN1cnJlbnRRdW90YUN1cnJlbnRPcmlnaW5Vc2FnZUN1cnJlbnREYXRhYmFzZVVzYWdlRXhw
ZWN0ZWRVc2FnZURlY2lzaW9uSGFuZGxlciA6IDE7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0JKHJldmlzaW9uIDIyMTA1NSkKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0JKHdvcmtpbmcgY29weSkKQEAgLTEw
MCw3ICsxMDAsMTAgQEAgdm9pZCBVSURlbGVnYXRlOjpzZXREZWxlZ2F0ZShpZCA8V0tVSURlbAog
ICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdSdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWxX
aXRoTWVzc2FnZUluaXRpYXRlZEJ5RnJhbWVDb21wbGV0aW9uSGFuZGxlciA9IFtkZWxlZ2F0ZSBy
ZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnJ1bkJlZm9yZVVubG9hZENvbmZp
cm1QYW5lbFdpdGhNZXNzYWdlOmluaXRpYXRlZEJ5RnJhbWU6Y29tcGxldGlvbkhhbmRsZXI6KV07
CiAKICNpZiBQTEFURk9STShNQUMpCi0gICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1Nob3cg
PSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlld1Nob3c6KV07
CisgICAgbV9kZWxlZ2F0ZU1ldGhvZHMuc2hvd1dlYlZpZXcgPSBbZGVsZWdhdGUgcmVzcG9uZHNU
b1NlbGVjdG9yOkBzZWxlY3Rvcihfc2hvd1dlYlZpZXc6KV07CisgICAgbV9kZWxlZ2F0ZU1ldGhv
ZHMuZm9jdXNXZWJWaWV3ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Io
X2ZvY3VzV2ViVmlldzopXTsKKyAgICBtX2RlbGVnYXRlTWV0aG9kcy51bmZvY3VzV2ViVmlldyA9
IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF91bmZvY3VzV2ViVmlldzop
XTsKKyAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3VGFrZUZvY3VzID0gW2RlbGVnYXRlIHJl
c3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6dGFrZUZvY3VzOildOwogICAgIG1f
ZGVsZWdhdGVNZXRob2RzLndlYlZpZXdSdW5PcGVuUGFuZWxXaXRoUGFyYW1ldGVyc0luaXRpYXRl
ZEJ5RnJhbWVDb21wbGV0aW9uSGFuZGxlciA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6
QHNlbGVjdG9yKHdlYlZpZXc6cnVuT3BlblBhbmVsV2l0aFBhcmFtZXRlcnM6aW5pdGlhdGVkQnlG
cmFtZTpjb21wbGV0aW9uSGFuZGxlcjopXTsKICNlbmRpZgogCkBAIC0zNzIsMTYgKzM3NSw2NCBA
QCB2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpleGNlZWRlZERhdGFiCiB9CiAKICNpZiBQTEFU
Rk9STShNQUMpCitzdGF0aWMgaW5saW5lIF9XS0ZvY3VzRGlyZWN0aW9uIHRvV0tGb2N1c0RpcmVj
dGlvbihXS0ZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbikKK3sKKyAgICBzd2l0Y2ggKGRpcmVjdGlv
bikgeworICAgIGNhc2Uga1dLRm9jdXNEaXJlY3Rpb25CYWNrd2FyZDoKKyAgICAgICAgcmV0dXJu
IFdLRm9jdXNEaXJlY3Rpb25CYWNrd2FyZDsKKyAgICBjYXNlIGtXS0ZvY3VzRGlyZWN0aW9uRm9y
d2FyZDoKKyAgICAgICAgcmV0dXJuIFdLRm9jdXNEaXJlY3Rpb25Gb3J3YXJkOworICAgIH0KKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gV0tGb2N1c0RpcmVjdGlvbkZvcndh
cmQ7Cit9CisKK3ZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnRha2VGb2N1cyhXZWJLaXQ6Oldl
YlBhZ2VQcm94eSosIFdLRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uKQoreworICAgIGlmICghbV91
aURlbGVnYXRlLm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdUYWtlRm9jdXMpCisgICAgICAgIHJl
dHVybjsKKyAgICAKKyAgICBhdXRvIGRlbGVnYXRlID0gbV91aURlbGVnYXRlLm1fZGVsZWdhdGUu
Z2V0KCk7CisgICAgaWYgKCFkZWxlZ2F0ZSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIFso
aWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+KWRlbGVnYXRlIF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5t
X3dlYlZpZXcgdGFrZUZvY3VzOnRvV0tGb2N1c0RpcmVjdGlvbihkaXJlY3Rpb24pXTsKK30KKwor
dm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6Zm9jdXMoV2ViS2l0OjpXZWJQYWdlUHJveHkqKQor
eworICAgIGlmICghbV91aURlbGVnYXRlLm1fZGVsZWdhdGVNZXRob2RzLmZvY3VzV2ViVmlldykK
KyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGF1dG8gZGVsZWdhdGUgPSBtX3VpRGVsZWdhdGUu
bV9kZWxlZ2F0ZS5nZXQoKTsKKyAgICBpZiAoIWRlbGVnYXRlKQorICAgICAgICByZXR1cm47Cisg
ICAgCisgICAgWyhpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4pZGVsZWdhdGUgX2ZvY3VzV2ViVmll
dzptX3VpRGVsZWdhdGUubV93ZWJWaWV3XTsKK30KKwordm9pZCBVSURlbGVnYXRlOjpVSUNsaWVu
dDo6dW5mb2N1cyhXZWJLaXQ6OldlYlBhZ2VQcm94eSopCit7CisgICAgaWYgKCFtX3VpRGVsZWdh
dGUubV9kZWxlZ2F0ZU1ldGhvZHMudW5mb2N1c1dlYlZpZXcpCisgICAgICAgIHJldHVybjsKKyAg
ICAKKyAgICBhdXRvIGRlbGVnYXRlID0gbV91aURlbGVnYXRlLm1fZGVsZWdhdGUuZ2V0KCk7Cisg
ICAgaWYgKCFkZWxlZ2F0ZSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIFsoaWQgPFdLVUlE
ZWxlZ2F0ZVByaXZhdGU+KWRlbGVnYXRlIF91bmZvY3VzV2ViVmlldzptX3VpRGVsZWdhdGUubV93
ZWJWaWV3XTsKK30KKwogdm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6c2hvd1BhZ2UoV2ViUGFn
ZVByb3h5KikKIHsKLSAgICBpZiAoIW1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJW
aWV3U2hvdykKKyAgICBpZiAoIW1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy5zaG93V2Vi
VmlldykKICAgICAgICAgcmV0dXJuOwogCiAgICAgYXV0byBkZWxlZ2F0ZSA9IG1fdWlEZWxlZ2F0
ZS5tX2RlbGVnYXRlLmdldCgpOwogICAgIGlmICghZGVsZWdhdGUpCiAgICAgICAgIHJldHVybjsK
ICAgICAKLSAgICBbKGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPilkZWxlZ2F0ZSBfd2ViVmlld1No
b3c6bV91aURlbGVnYXRlLm1fd2ViVmlld107CisgICAgWyhpZCA8V0tVSURlbGVnYXRlUHJpdmF0
ZT4pZGVsZWdhdGUgX3Nob3dXZWJWaWV3Om1fdWlEZWxlZ2F0ZS5tX3dlYlZpZXddOwogfQogCiBi
b29sIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpydW5PcGVuUGFuZWwoV2ViUGFnZVByb3h5KiwgV2Vi
RnJhbWVQcm94eSogd2ViRnJhbWVQcm94eSwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5E
YXRhJiBzZWN1cml0eU9yaWdpbkRhdGEsIEFQSTo6T3BlblBhbmVsUGFyYW1ldGVycyogb3BlblBh
bmVsUGFyYW1ldGVycywgV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eSogbGlzdGVuZXIp
CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyMjEwOTApCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxOSBAQAorMjAxNy0wOC0yMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBXS1VJRGVsZWdhdGVQcml2YXRlIGNhbGxiYWNrcyBj
b3JyZXNwb25kaW5nIHRvIFdLUGFnZVVJQ2xpZW50J3MgdGFrZUZvY3VzLCBmb2N1cywgYW5kIHVu
Zm9jdXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NTg5NgorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoLVtV
SVRlc3REZWxlZ2F0ZSBfc2hvd1dlYlZpZXc6XSk6CisgICAgICAgIChURVNUKToKKyAgICAgICAg
KHRhYkV2ZW50KToKKyAgICAgICAgKHN5bnRoZXNpemVUYWIpOgorICAgICAgICAoLVtGb2N1c0Rl
bGVnYXRlIF93ZWJWaWV3OnRha2VGb2N1czpdKToKKyAgICAgICAgKC1bRm9jdXNEZWxlZ2F0ZSB3
ZWJWaWV3OnJ1bkphdmFTY3JpcHRBbGVydFBhbmVsV2l0aE1lc3NhZ2U6aW5pdGlhdGVkQnlGcmFt
ZTpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1bVUlUZXN0RGVsZWdhdGUgX3dlYlZp
ZXdTaG93Ol0pOiBEZWxldGVkLgorCiAyMDE3LTA4LTIzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVk
YXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBBY2Nlc3MgZXhwZWN0YXRpb25zIHBhdGggdGhyb3Vn
aCBhcHBsZV9hZGRpdGlvbnMKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
MkNvY29hL1VJRGVsZWdhdGUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyQ29jb2EvVUlEZWxlZ2F0ZS5tbQkocmV2aXNpb24gMjIxMDU1KQorKysgVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvVUlEZWxlZ2F0ZS5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMzEsOSArMzEsMTEgQEAKIAogI2ltcG9ydCAiVGVzdFdLV2ViVmlldy5oIgog
I2ltcG9ydCAiVXRpbGl0aWVzLmgiCisjaW1wb3J0IDxDYXJib24vQ2FyYm9uLmg+CiAjaW1wb3J0
IDxXZWJLaXQvV0tVSURlbGVnYXRlUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmll
dy5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorI2ltcG9ydCA8d3RmL21hYy9BcHBLaXRD
b21wYXRpYmlsaXR5RGVjbGFyYXRpb25zLmg+CiAKIEBjbGFzcyBVSVRlc3REZWxlZ2F0ZTsKIApA
QCAtNTQsNyArNTYsNyBAQCAtIChudWxsYWJsZSBXS1dlYlZpZXcgKil3ZWJWaWV3OihXS1dlYlZp
CiAgICAgcmV0dXJuIGNyZWF0ZWRXZWJWaWV3LmdldCgpOwogfQogCi0tICh2b2lkKV93ZWJWaWV3
U2hvdzooV0tXZWJWaWV3ICopd2ViVmlldworLSAodm9pZClfc2hvd1dlYlZpZXc6KFdLV2ViVmll
dyAqKXdlYlZpZXcKIHsKICAgICB3ZWJWaWV3RnJvbURlbGVnYXRlQ2FsbGJhY2sgPSB3ZWJWaWV3
OwogICAgIGRvbmUgPSB0cnVlOwpAQCAtNzQsNyArNzYsNyBAQCAtICh2b2lkKXdlYlZpZXc6KFdL
V2ViVmlldyAqKXdlYlZpZXcgc3RvCiAKIEBlbmQKIAotVEVTVChXZWJLaXQyLCBTaG93UGFnZSkK
K1RFU1QoV2ViS2l0MiwgU2hvd1dlYlZpZXcpCiB7CiAgICAgZGVsZWdhdGUgPSBhZG9wdE5TKFtb
VUlUZXN0RGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKICAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBh
ZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwpAQCAtODcsNiAr
ODksNTMgQEAgVEVTVChXZWJLaXQyLCBTaG93UGFnZSkKICAgICBBU1NFUlRfRVEod2ViVmlld0Zy
b21EZWxlZ2F0ZUNhbGxiYWNrLCBjcmVhdGVkV2ViVmlldyk7CiB9CiAKK3N0YXRpYyBOU0V2ZW50
ICp0YWJFdmVudChOU1dpbmRvdyAqd2luZG93LCBOU0V2ZW50VHlwZSB0eXBlLCBOU0V2ZW50TW9k
aWZpZXJGbGFncyBmbGFncykKK3sKKyAgICByZXR1cm4gW05TRXZlbnQga2V5RXZlbnRXaXRoVHlw
ZTp0eXBlIGxvY2F0aW9uOk5TTWFrZVBvaW50KDUsIDUpIG1vZGlmaWVyRmxhZ3M6ZmxhZ3MgdGlt
ZXN0YW1wOkdldEN1cnJlbnRFdmVudFRpbWUoKSB3aW5kb3dOdW1iZXI6W3dpbmRvdyB3aW5kb3dO
dW1iZXJdIGNvbnRleHQ6W05TR3JhcGhpY3NDb250ZXh0IGN1cnJlbnRDb250ZXh0XSBjaGFyYWN0
ZXJzOkAiXHQiIGNoYXJhY3RlcnNJZ25vcmluZ01vZGlmaWVyczpAIlx0IiBpc0FSZXBlYXQ6Tk8g
a2V5Q29kZTowXTsKK30KKworc3RhdGljIHZvaWQgc3ludGhlc2l6ZVRhYihOU1dpbmRvdyAqd2lu
ZG93LCBOU1ZpZXcgKnZpZXcsIGJvb2wgd2l0aFNoaWZ0RG93bikKK3sKKyAgICBbdmlldyBrZXlE
b3duOnRhYkV2ZW50KHdpbmRvdywgTlNFdmVudFR5cGVLZXlEb3duLCB3aXRoU2hpZnREb3duID8g
TlNFdmVudE1vZGlmaWVyRmxhZ1NoaWZ0IDogMCldOworICAgIFt2aWV3IGtleVVwOnRhYkV2ZW50
KHdpbmRvdywgTlNFdmVudFR5cGVLZXlVcCwgd2l0aFNoaWZ0RG93biA/IE5TRXZlbnRNb2RpZmll
ckZsYWdTaGlmdCA6IDApXTsKK30KKworc3RhdGljIFJldGFpblB0cjxOU1dpbmRvdz4gd2luZG93
Oworc3RhdGljIF9XS0ZvY3VzRGlyZWN0aW9uIHRha2VuRGlyZWN0aW9uOworCitAaW50ZXJmYWNl
IEZvY3VzRGVsZWdhdGUgOiBOU09iamVjdCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4KK0BlbmQKKwor
QGltcGxlbWVudGF0aW9uIEZvY3VzRGVsZWdhdGUKKworLSAodm9pZClfd2ViVmlldzooV0tXZWJW
aWV3ICopd2ViVmlldyB0YWtlRm9jdXM6KF9XS0ZvY3VzRGlyZWN0aW9uKWRpcmVjdGlvbgorewor
ICAgIHRha2VuRGlyZWN0aW9uID0gZGlyZWN0aW9uOworICAgIGRvbmUgPSB0cnVlOworfQorCist
ICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcnVuSmF2YVNjcmlwdEFsZXJ0UGFu
ZWxXaXRoTWVzc2FnZTooTlNTdHJpbmcgKiltZXNzYWdlIGluaXRpYXRlZEJ5RnJhbWU6KFdLRnJh
bWVJbmZvICopZnJhbWUgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRp
b25IYW5kbGVyCit7CisgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICBzeW50aGVzaXplVGFi
KHdpbmRvdy5nZXQoKSwgd2ViVmlldywgdHJ1ZSk7Cit9CisKK0BlbmQKKworVEVTVChXZWJLaXQy
LCBGb2N1cykKK3sKKyAgICB3aW5kb3cgPSBhZG9wdE5TKFtbTlNXaW5kb3cgYWxsb2NdIGluaXRX
aXRoQ29udGVudFJlY3Q6Q0dSZWN0TWFrZSgwLCAwLCA4MDAsIDYwMCkgc3R5bGVNYXNrOk5TV2lu
ZG93U3R5bGVNYXNrQm9yZGVybGVzcyBiYWNraW5nOk5TQmFja2luZ1N0b3JlQnVmZmVyZWQgZGVm
ZXI6WUVTXSk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10g
aW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDgwMCwgNjAwKV0pOworICAgIFtbd2luZG93
IGNvbnRlbnRWaWV3XSBhZGRTdWJ2aWV3OndlYlZpZXcuZ2V0KCldOworICAgIGF1dG8gZGVsZWdh
dGUgPSBhZG9wdE5TKFtbRm9jdXNEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3
IHNldFVJRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworICAgIE5TU3RyaW5nICpodG1sID0gQCI8
c2NyaXB0PmZ1bmN0aW9uIGxvYWRlZCgpIHsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2luJyku
Zm9jdXMoKTsgYWxlcnQoJ3JlYWR5Jyk7IH08L3NjcmlwdD4iCisgICAgIjxib2R5IG9ubG9hZD0n
bG9hZGVkKCknPjxpbnB1dCB0eXBlPSd0ZXh0JyBpZD0naW4nPjwvYm9keT4iOworICAgIFt3ZWJW
aWV3IGxvYWRIVE1MU3RyaW5nOmh0bWwgYmFzZVVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0
dHA6Ly9leGFtcGxlLmNvbS8iXV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25l
KTsKKyAgICBBU1NFUlRfRVEodGFrZW5EaXJlY3Rpb24sIFdLRm9jdXNEaXJlY3Rpb25CYWNrd2Fy
ZCk7Cit9CisKICNlbmRpZiAvLyBQTEFURk9STShNQUMpCiAKICNlbmRpZiAvLyBXS19BUElfRU5B
QkxFRAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>