<?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>207869</bug_id>
          
          <creation_ts>2020-02-17 16:30:43 -0800</creation_ts>
          <short_desc>[LFC][Quirk] Add additional escape reason to cover the case when body needs access to both the body and the ICB geometry</short_desc>
          <delta_ts>2020-02-18 10:40:01 -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>Layout and Rendering</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1619967</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-02-17 16:30:43 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619968</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-17 16:31:33 -0800</bug_when>
    <thetext>&lt;rdar://problem/59531225&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620041</commentid>
    <comment_count>2</comment_count>
      <attachid>391019</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-17 18:52:03 -0800</bug_when>
    <thetext>Created attachment 391019
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620145</commentid>
    <comment_count>3</comment_count>
      <attachid>391048</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-18 08:13:44 -0800</bug_when>
    <thetext>Created attachment 391048
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620152</commentid>
    <comment_count>4</comment_count>
      <attachid>391048</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-18 08:43:43 -0800</bug_when>
    <thetext>Comment on attachment 391048
Patch

Rejecting attachment 391048 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;build&apos;, &apos;--no-clean&apos;, &apos;--no-update&apos;, &apos;--build-style=release&apos;, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 5000 characters of output:
ONTS -DENABLE_TELEPHONE_NUMBER_DETECTION -DENABLE_TEXT_AUTOSIZING -DENABLE_USERSELECT_ALL -DENABLE_USER_MESSAGE_HANDLERS -DENABLE_VARIATION_FONTS -DENABLE_VIDEO -DENABLE_VIDEO_PRESENTATION_MODE -DENABLE_VIDEO_TRACK -DENABLE_VIDEO_USES_ELEMENT_FULLSCREEN -DENABLE_WEBDRIVER_MOUSE_INTERACTIONS -DENABLE_WEBDRIVER_KEYBOARD_INTERACTIONS -DENABLE_WEBGL -DENABLE_WEBGL2 -DENABLE_WEBGPU -DENABLE_WEB_AUDIO -DENABLE_WEB_AUTHN -DENABLE_WEB_CRYPTO -DENABLE_WEB_RTC -DENABLE_WIRELESS_PLAYBACK_TARGET -DENABLE_XSLT -DBUILDING_WEBKIT -DU_DISABLE_RENAMING=1 -DU_SHOW_CPLUSPLUS_API=0 -DGL_SILENCE_DEPRECATION=1 -DGLES_SILENCE_DEPRECATION=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.14 -g -fvisibility=hidden -fvisibility-inlines-hidden -fno-threadsafe-statics -Wno-sign-conversion -Winfinite-recursion -Wmove -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wrange-loop-analysis -Wno-semicolon-before-method-body -iquote /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/WebCore-generated-files.hmap -I/Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/WebCore-own-target-headers.hmap -I/Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/WebCore-all-target-headers.hmap -iquote /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/WebCore-project-headers.hmap -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/include -IPAL -IForwardingHeaders -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/libxslt -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/libxml2 -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/DerivedSources/WebCore -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include/WebKitAdditions -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/local/include/WebKitAdditions -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include/ANGLE -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/local/include/ANGLE -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include/webrtc -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/local/include/webrtc -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include/webrtc/sdk/objc/Framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/local/include/webrtc/sdk/objc/Framework/Headers -I/Volumes/Data/EWS/WebKit/Source/WebCore -I/Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/DerivedSources-normal/x86_64 -I/Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/DerivedSources/x86_64 -I/Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/DerivedSources -Wall -Wextra -Wcast-qual -Wchar-subscripts -Wconditional-uninitialized -Wextra-tokens -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare -Wimplicit-fallthrough -Wno-unknown-warning-option -F/Volumes/Data/EWS/WebKit/WebKitBuild/Release -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/PrivateFrameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks -isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/System.framework/PrivateHeaders -include /Volumes/Data/EWS/WebKit/WebKitBuild/PrecompiledHeaders/WebCorePrefix-dwykumtratswlggsspdezdrsnfol/WebCorePrefix.h -MMD -MT dependencies -MF /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/UnifiedSource192.d --serialize-diagnostics /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/UnifiedSource192.dia -c /Volumes/Data/EWS/WebKit/WebKitBuild/Release/DerivedSources/WebCore/unified-sources/UnifiedSource192.cpp -o /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/UnifiedSource192.o

** BUILD FAILED **


The following build commands failed:
	CompileC /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/UnifiedSource186.o /Volumes/Data/EWS/WebKit/WebKitBuild/Release/DerivedSources/WebCore/unified-sources/UnifiedSource186.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)

Full output: https://webkit-queues.webkit.org/results/13324458</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620157</commentid>
    <comment_count>5</comment_count>
      <attachid>391050</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-18 08:52:39 -0800</bug_when>
    <thetext>Created attachment 391050
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620200</commentid>
    <comment_count>6</comment_count>
      <attachid>391050</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-18 09:57:12 -0800</bug_when>
    <thetext>Comment on attachment 391050
Patch

Rejecting attachment 391050 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 391050, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Logging in as commit-queue@webkit.org...
Fetching: https://bugs.webkit.org/attachment.cgi?id=391050&amp;action=edit
Fetching: https://bugs.webkit.org/show_bug.cgi?id=207869&amp;ctype=xml&amp;excludefield=attachmentdata
Processing 1 patch from 1 bug.
Updating working directory
Processing patch 391050 from bug 207869.
Fetching: https://bugs.webkit.org/attachment.cgi?id=391050
Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Parsed 10 diffs from patch file(s).
patching file Source/WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebCore/layout/FormattingContext.cpp
patching file Source/WebCore/layout/FormattingContext.h
patching file Source/WebCore/layout/blockformatting/BlockFormattingContext.h
patching file Source/WebCore/layout/blockformatting/BlockFormattingContextGeometry.cpp
patching file Source/WebCore/layout/blockformatting/BlockFormattingContextQuirks.cpp
patching file LayoutTests/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file LayoutTests/fast/layoutformattingcontext/out-of-flow-html-and-body-stretches-to-viewport-expected.txt
patching file LayoutTests/fast/layoutformattingcontext/out-of-flow-html-and-body-stretches-to-viewport.html
patching file LayoutTests/platform/ios-wk2/TestExpectations
Hunk #1 FAILED at 1416.
1 out of 1 hunk FAILED -- saving rejects to file LayoutTests/platform/ios-wk2/TestExpectations.rej

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Parsed 10 diffs from patch file(s).
patching file Source/WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebCore/layout/FormattingContext.cpp
patching file Source/WebCore/layout/FormattingContext.h
patching file Source/WebCore/layout/blockformatting/BlockFormattingContext.h
patching file Source/WebCore/layout/blockformatting/BlockFormattingContextGeometry.cpp
patching file Source/WebCore/layout/blockformatting/BlockFormattingContextQuirks.cpp
patching file LayoutTests/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file LayoutTests/fast/layoutformattingcontext/out-of-flow-html-and-body-stretches-to-viewport-expected.txt
patching file LayoutTests/fast/layoutformattingcontext/out-of-flow-html-and-body-stretches-to-viewport.html
patching file LayoutTests/platform/ios-wk2/TestExpectations
Hunk #1 FAILED at 1416.
1 out of 1 hunk FAILED -- saving rejects to file LayoutTests/platform/ios-wk2/TestExpectations.rej

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit
Updating OpenSource
From https://git.webkit.org/git/WebKit
   9bd1458f794..de4ec3bd362  master     -&gt; origin/master
Auto packing the repository in background for optimum performance.
See &quot;git help gc&quot; for manual housekeeping.
Partial-rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc ...
Currently at 256833 = 9bd1458f79417bc7bd4f03608586155d505ddc9e
r256834 = 9955e22e218dc4908d4e719c24df0666cc4ab9da
r256835 = fa0351953dd4f996c2c9b6a60b8392dc07bb6b82
r256836 = de4ec3bd362098815c9f87ecde2bc0db73be0ca5
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.
Auto packing the repository in background for optimum performance.
See &quot;git help gc&quot; for manual housekeeping.

Full output: https://webkit-queues.webkit.org/results/13324506</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620202</commentid>
    <comment_count>7</comment_count>
      <attachid>391062</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-18 10:01:51 -0800</bug_when>
    <thetext>Created attachment 391062
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620216</commentid>
    <comment_count>8</comment_count>
      <attachid>391062</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-18 10:39:59 -0800</bug_when>
    <thetext>Comment on attachment 391062
Patch

Clearing flags on attachment: 391062

Committed r256840: &lt;https://trac.webkit.org/changeset/256840&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1620217</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-18 10:40:01 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391019</attachid>
            <date>2020-02-17 18:52:03 -0800</date>
            <delta_ts>2020-02-18 08:13:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207869-20200217185203.patch</filename>
            <type>text/plain</type>
            <size>14909</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2NzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDU5MjU1OTNhMWYyMzMx
MDYxNDk5YWU5NmQyODliMmNiYTFiNjA4ZC4uMjJlMGMwYTM5OGIxMzU2OTI3NDA2MTY3ZDkwYTcz
MjFlZmE5Y2ZiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTAyLTE3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bUXVpcmtdIEFkZCBh
ZGRpdGlvbmFsIGVzY2FwZSByZWFzb24gdG8gY292ZXIgdGhlIGNhc2Ugd2hlbiBib2R5IG5lZWRz
IGFjY2VzcyB0byBib3RoIHRoZSBib2R5IGFuZCB0aGUgSUNCIGdlb21ldHJ5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDc4NjkKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzU5NTMxMjI1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvb3V0LW9m
LWZsb3ctaHRtbC1hbmQtYm9keS1zdHJldGNoZXMtdG8tdmlld3BvcnQuaHRtbAorCisgICAgICAg
IFdoZW4gdGhlIGJvZHkgaXMgc3RyZXRjaGVkIGFsbCB0aGUgd2F5IHRvIHRoZSBJQ0IsIHdlIGhh
dmUgdG8gcmVhZCBib3RoIHRoZSBkb2N1bWVudCBib3gncyBhbmQgdGhlIElDQidzIGdlb21ldHJ5
LgorICAgICAgICBUaGlzIHBhdGNoIGFsc28gcmVmYWN0b3JzIFF1aXJrczo6c3RyZXRjaGVkSW5G
bG93SGVpZ2h0IGEgYml0IHRvIGRlY291cGxlIHRoZSBkb2N1bWVudCBhbmQgdGhlIGJvZHkgY2Fz
ZXMuCisKKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6Z2VvbWV0cnlGb3JCb3ggY29uc3Qp
OgorICAgICAgICAqIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91
dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxh
eW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0
cnk6OmluRmxvd0hlaWdodEFuZE1hcmdpbik6CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9ybWF0
dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpuZWVkc1N0cmV0Y2hpbmcg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0
OjpRdWlya3M6OnN0cmV0Y2hlZEluRmxvd0hlaWdodCk6CisKIDIwMjAtMDItMTcgIFBlbmcgTGl1
ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggY2hlY2std2Via2l0LXN0eWxl
IGVycm9ycyByZWxhdGVkIHRvIEFWRm91bmRhdGlvblNQSS5oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCA4MjU0OGViOTFhMjliMWYwZTcyYTA3ZDc5
NjVjMDJiMGRlMjYwZDM0Li5hYmQ1MjUxNGExOWZjZTJiOWIzNmZmYThkMTVlMDcxOTc4NDM1Yzc5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTIw
NCwxMSArMjA0LDE3IEBAIGNvbnN0IERpc3BsYXk6OkJveCYgRm9ybWF0dGluZ0NvbnRleHQ6Omdl
b21ldHJ5Rm9yQm94KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBPcHRpCiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoKmVzY2FwZVJlYXNvbiA9PSBFc2Nh
cGVSZWFzb246OkJvZHlTdHJlY2hlc1RvVmlld3BvcnRRdWlyaykgeworICAgICAgICBpZiAoKmVz
Y2FwZVJlYXNvbiA9PSBFc2NhcGVSZWFzb246OkRvY3VtZW50Qm94U3RyZWNoZXNUb1ZpZXdwb3J0
UXVpcmspIHsKICAgICAgICAgICAgIEFTU0VSVChsYXlvdXRTdGF0ZSgpLmluUXVpcmtzTW9kZSgp
KTsKICAgICAgICAgICAgIHJldHVybiBsYXlvdXRCb3guaXNJbml0aWFsQ29udGFpbmluZ0Jsb2Nr
KCk7CiAgICAgICAgIH0KIAorICAgICAgICBpZiAoKmVzY2FwZVJlYXNvbiA9PSBFc2NhcGVSZWFz
b246OkJvZHlTdHJlY2hlc1RvVmlld3BvcnRRdWlyaykgeworICAgICAgICAgICAgQVNTRVJUKGxh
eW91dFN0YXRlKCkuaW5RdWlya3NNb2RlKCkpOworICAgICAgICAgICAgcmV0dXJuIGxheW91dEJv
eC5pc0luaXRpYWxDb250YWluaW5nQmxvY2soKSB8fCBsYXlvdXRCb3guaXNEb2N1bWVudEJveCgp
OworCisgICAgICAgIH0KKwogICAgICAgICBpZiAoKmVzY2FwZVJlYXNvbiA9PSBFc2NhcGVSZWFz
b246OlN0cm9rZU92ZXJmbG93TmVlZHNWaWV3cG9ydEdlb21ldHJ5KQogICAgICAgICAgICAgcmV0
dXJuIGxheW91dEJveC5pc0luaXRpYWxDb250YWluaW5nQmxvY2soKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCA4MThjZTA3MGI3NDcwNjFkNzlmZDM5
NTVmMzRiMDg2NDg3Nzg2OGU0Li5lZWQ4MDRkNmZlZmEwMmIxNWY3MzMzNWNhMGQ5ZmU5YTczNTBk
ZTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtODYs
NiArODYsNyBAQCBwdWJsaWM6CiAgICAgICAgIE91dE9mRmxvd0JveE5lZWRzSW5GbG93R2VvbWV0
cnksCiAgICAgICAgIEZsb2F0Qm94TmVlZHNUb0JlSW5BYnNvbHV0ZUNvb3JkaW5hdGVzLAogICAg
ICAgICBGaW5kRml4ZWRIZWlnaHRBbmNlc3RvclF1aXJrLAorICAgICAgICBEb2N1bWVudEJveFN0
cmVjaGVzVG9WaWV3cG9ydFF1aXJrLAogICAgICAgICBCb2R5U3RyZWNoZXNUb1ZpZXdwb3J0UXVp
cmssCiAgICAgICAgIFN0cm9rZU92ZXJmbG93TmVlZHNWaWV3cG9ydEdlb21ldHJ5LAogICAgICAg
ICBUYWJsZU5lZWRzQWNjZXNzVG9UYWJsZVdyYXBwZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0
LmgKaW5kZXggMGJlMmQzYzNlZWUwZmQ0ZjA3M2RkMDIxYTdjZjY4MDg5MTJkMDAwNi4uNTJmMWU1
ZmFkZWNiMmFlOTY2MDM3ZmZlY2JlMzIyMTY0ZmI2MWQ1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdD
b250ZXh0LmgKQEAgLTE0Myw3ICsxNDMsNyBAQCBwcml2YXRlOgogICAgIGNsYXNzIFF1aXJrcyA6
IHB1YmxpYyBGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzIHsKICAgICBwdWJsaWM6CiAgICAgICAg
IGJvb2wgbmVlZHNTdHJldGNoaW5nKGNvbnN0IEJveCYpIGNvbnN0OwotICAgICAgICBDb250ZW50
SGVpZ2h0QW5kTWFyZ2luIHN0cmV0Y2hlZEluRmxvd0hlaWdodChjb25zdCBCb3gmLCBDb250ZW50
SGVpZ2h0QW5kTWFyZ2luKTsKKyAgICAgICAgTGF5b3V0VW5pdCBzdHJldGNoZWRJbkZsb3dIZWln
aHQoY29uc3QgQm94JiwgQ29udGVudEhlaWdodEFuZE1hcmdpbik7CiAKICAgICAgICAgYm9vbCBz
aG91bGRJZ25vcmVDb2xsYXBzZWRRdWlya01hcmdpbihjb25zdCBCb3gmKSBjb25zdDsKICAgICAg
ICAgYm9vbCBzaG91bGRJZ25vcmVNYXJnaW5CZWZvcmUoY29uc3QgQm94JikgY29uc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0
dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3Jt
YXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKaW5kZXggNmQyM2JmMDA5
YTBiYTY5MWQzYmEyYzdkMzIzNmYxYzM1YTU4ZGFhYi4uNTI1ZTNhOWViZTc4YzEyNTFjZWM3ZWQx
ODhjYTI1ZjYwYTk0NDU3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2Nr
Zm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdl
b21ldHJ5LmNwcApAQCAtMjcwLDcgKzI3MCw3IEBAIENvbnRlbnRIZWlnaHRBbmRNYXJnaW4gQmxv
Y2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmluRmxvd0hlaWdodEFuZE1hcmdpbihjCiAg
ICAgaWYgKCFxdWlya3MubmVlZHNTdHJldGNoaW5nKGxheW91dEJveCkpCiAgICAgICAgIHJldHVy
biBjb250ZW50SGVpZ2h0QW5kTWFyZ2luOwogCi0gICAgY29udGVudEhlaWdodEFuZE1hcmdpbiA9
IHF1aXJrcy5zdHJldGNoZWRJbkZsb3dIZWlnaHQobGF5b3V0Qm94LCBjb250ZW50SGVpZ2h0QW5k
TWFyZ2luKTsKKyAgICBjb250ZW50SGVpZ2h0QW5kTWFyZ2luLmNvbnRlbnRIZWlnaHQgPSBxdWly
a3Muc3RyZXRjaGVkSW5GbG93SGVpZ2h0KGxheW91dEJveCwgY29udGVudEhlaWdodEFuZE1hcmdp
bik7CiAKICAgICBMT0dfV0lUSF9TVFJFQU0oRm9ybWF0dGluZ0NvbnRleHRMYXlvdXQsIHN0cmVh
bSA8PCAiW0hlaWdodF1bTWFyZ2luXSAtPiBpbmZsb3cgbm9uLXJlcGxhY2VkIC0+IHN0cmVjaGVk
IHRvIHZpZXdwb3J0IC0+IGhlaWdodCgiIDw8IGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4uY29udGVu
dEhlaWdodCA8PCAicHgpIG1hcmdpbigiIDw8IGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4ubm9uQ29s
bGFwc2VkTWFyZ2luLmJlZm9yZSA8PCAicHgsICIgPDwgY29udGVudEhlaWdodEFuZE1hcmdpbi5u
b25Db2xsYXBzZWRNYXJnaW4uYWZ0ZXIgPDwgInB4KSAtPiBsYXlvdXRCb3goIiA8PCAmbGF5b3V0
Qm94IDw8ICIpIik7CiAgICAgcmV0dXJuIGNvbnRlbnRIZWlnaHRBbmRNYXJnaW47CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGlu
Z0NvbnRleHRRdWlya3MuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGlu
Zy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcAppbmRleCBkMDNiYTE1OTg1YjVmMTlm
Zjc1M2UxYjIwMjhmNTRiMDQ4OGIyYmEwLi4yZjE1YjQyNGJmZmJhZDkyOTBlZTRiYzBmYmY1YWY0
ZDM1MGJjZjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0
aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAK
QEAgLTUyLDcgKzUyLDggQEAgc3RhdGljIGJvb2wgaXNRdWlya0NvbnRhaW5lcihjb25zdCBCb3gm
IGxheW91dEJveCkKIAogYm9vbCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpRdWlya3M6Om5lZWRz
U3RyZXRjaGluZyhjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3QKIHsKLSAgICAvLyBJbiBxdWly
a3MgbW9kZSwgYm9keSBzdHJldGNoZXMgdG8gaHRtbCBhbmQgaHRtbCB0byB0aGUgaW5pdGlhbCBj
b250YWluaW5nIGJsb2NrIChoZWlnaHQ6IGF1dG8gb25seSkuCisgICAgQVNTRVJUKGxheW91dEJv
eC5pc0luRmxvdygpKTsKKyAgICAvLyBJbiBxdWlya3MgbW9kZSwgaW4tZmxvdyBib2R5IGFuZCBo
dG1sIHN0cmV0Y2ggdG8gdGhlIGluaXRpYWwgY29udGFpbmluZyBibG9jayAoaGVpZ2h0OiBhdXRv
IG9ubHkpLgogICAgIGlmICghbGF5b3V0U3RhdGUoKS5pblF1aXJrc01vZGUoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCkBAIC02Miw0NSArNjMsNDEgQEAgYm9vbCBCbG9ja0Zvcm1hdHRpbmdD
b250ZXh0OjpRdWlya3M6Om5lZWRzU3RyZXRjaGluZyhjb25zdCBCb3gmIGxheW91dEJveCkgY29u
c3QKICAgICByZXR1cm4gbGF5b3V0Qm94LnN0eWxlKCkubG9naWNhbEhlaWdodCgpLmlzQXV0bygp
OwogfQogCi1Db250ZW50SGVpZ2h0QW5kTWFyZ2luIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OlF1
aXJrczo6c3RyZXRjaGVkSW5GbG93SGVpZ2h0KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBDb250ZW50
SGVpZ2h0QW5kTWFyZ2luIGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4pCitMYXlvdXRVbml0IEJsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6c3RyZXRjaGVkSW5GbG93SGVpZ2h0KGNvbnN0IEJv
eCYgbGF5b3V0Qm94LCBDb250ZW50SGVpZ2h0QW5kTWFyZ2luIGNvbnRlbnRIZWlnaHRBbmRNYXJn
aW4pCiB7Ci0gICAgQVNTRVJUKGxheW91dEJveC5pc0luRmxvdygpKTsKLSAgICBBU1NFUlQobGF5
b3V0Qm94LmlzRG9jdW1lbnRCb3goKSB8fCBsYXlvdXRCb3guaXNCb2R5Qm94KCkpOwotCisgICAg
QVNTRVJUKG5lZWRzU3RyZXRjaGluZyhsYXlvdXRCb3gpKTsKICAgICBhdXRvJiBmb3JtYXR0aW5n
Q29udGV4dCA9IHRoaXMtPmZvcm1hdHRpbmdDb250ZXh0KCk7Ci0gICAgYXV0byYgZG9jdW1lbnRC
b3ggPSBsYXlvdXRCb3guaXNEb2N1bWVudEJveCgpID8gbGF5b3V0Qm94IDogKmxheW91dEJveC5w
YXJlbnQoKTsKLSAgICBhdXRvJiBkb2N1bWVudEJveEdlb21ldHJ5ID0gZm9ybWF0dGluZ0NvbnRl
eHQuZ2VvbWV0cnlGb3JCb3goZG9jdW1lbnRCb3gsIEVzY2FwZVJlYXNvbjo6Qm9keVN0cmVjaGVz
VG9WaWV3cG9ydFF1aXJrKTsKLQotICAgIGF1dG8mIGluaXRpYWxDb250YWluaW5nQmxvY2tHZW9t
ZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0Lmdlb21ldHJ5Rm9yQm94KGluaXRpYWxDb250YWluaW5n
QmxvY2sobGF5b3V0Qm94KSwgRXNjYXBlUmVhc29uOjpCb2R5U3RyZWNoZXNUb1ZpZXdwb3J0UXVp
cmspOwotICAgIGF1dG8gc3RyZWNoZWRIZWlnaHQgPSBpbml0aWFsQ29udGFpbmluZ0Jsb2NrR2Vv
bWV0cnkuY29udGVudEJveEhlaWdodCgpOwotICAgIHN0cmVjaGVkSGVpZ2h0IC09IGRvY3VtZW50
Qm94R2VvbWV0cnkudmVydGljYWxCb3JkZXIoKSArIGRvY3VtZW50Qm94R2VvbWV0cnkudmVydGlj
YWxQYWRkaW5nKCkudmFsdWVPcigwKTsKKyAgICBhdXRvIG5vbkNvbGxhcHNlZFZlcnRpY2FsTWFy
Z2luID0gY29udGVudEhlaWdodEFuZE1hcmdpbi5ub25Db2xsYXBzZWRNYXJnaW4uYmVmb3JlICsg
Y29udGVudEhlaWdodEFuZE1hcmdpbi5ub25Db2xsYXBzZWRNYXJnaW4uYWZ0ZXI7CiAKLSAgICBM
YXlvdXRVbml0IHRvdGFsVmVydGljYWxNYXJnaW47CiAgICAgaWYgKGxheW91dEJveC5pc0RvY3Vt
ZW50Qm94KCkpIHsKLSAgICAgICAgLy8gRG9jdW1lbnQgYm94J3MgbWFyZ2lucyBkbyBub3QgY29s
bGFwc2UuCi0gICAgICAgIGF1dG8gdmVydGljYWxNYXJnaW4gPSBjb250ZW50SGVpZ2h0QW5kTWFy
Z2luLm5vbkNvbGxhcHNlZE1hcmdpbjsKLSAgICAgICAgdG90YWxWZXJ0aWNhbE1hcmdpbiA9IHZl
cnRpY2FsTWFyZ2luLmJlZm9yZSArIHZlcnRpY2FsTWFyZ2luLmFmdGVyOwotICAgIH0gZWxzZSBp
ZiAobGF5b3V0Qm94LmlzQm9keUJveCgpKSB7Ci0gICAgICAgIC8vIEhlcmUgaXMgdGhlIHF1aXJr
eSBwYXJ0IGZvciBib2R5IGJveDoKLSAgICAgICAgLy8gU3RyZXRjaCB0aGUgYm9keSB1c2luZyB0
aGUgaW5pdGlhbCBjb250YWluaW5nIGJsb2NrJ3MgaGVpZ2h0IGFuZCBzaHJpbmsgaXQgd2l0aCBk
b2N1bWVudCBib3gncyBtYXJnaW4vYm9yZGVyL3BhZGRpbmcuCi0gICAgICAgIC8vIFRoaXMgbG9v
a3MgZXh0cmVtZWx5IG9kZCB3aGVuIGh0bWwgaGFzIG5vbi1hdXRvIGhlaWdodC4KLSAgICAgICAg
YXV0byBkb2N1bWVudEJveFZlcnRpY2FsTWFyZ2luID0gZm9ybWF0dGluZ0NvbnRleHQuZ2VvbWV0
cnkoKS5jb21wdXRlZFZlcnRpY2FsTWFyZ2luKGRvY3VtZW50Qm94LCBHZW9tZXRyeTo6aG9yaXpv
bnRhbENvbnN0cmFpbnRzRm9ySW5GbG93KGluaXRpYWxDb250YWluaW5nQmxvY2tHZW9tZXRyeSkp
OwotICAgICAgICBzdHJlY2hlZEhlaWdodCAtPSAoZG9jdW1lbnRCb3hWZXJ0aWNhbE1hcmdpbi5i
ZWZvcmUudmFsdWVPcigwKSArIGRvY3VtZW50Qm94VmVydGljYWxNYXJnaW4uYWZ0ZXIudmFsdWVP
cigwKSk7Ci0KLSAgICAgICAgYXV0byYgYm9keUJveEdlb21ldHJ5ID0gZm9ybWF0dGluZ0NvbnRl
eHQuZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KTsKLSAgICAgICAgc3RyZWNoZWRIZWlnaHQgLT0g
Ym9keUJveEdlb21ldHJ5LnZlcnRpY2FsQm9yZGVyKCkgKyBib2R5Qm94R2VvbWV0cnkudmVydGlj
YWxQYWRkaW5nKCkudmFsdWVPcigwKTsKLQotICAgICAgICBhdXRvIG5vbkNvbGxhcHNlZE1hcmdp
biA9IGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4ubm9uQ29sbGFwc2VkTWFyZ2luOwotICAgICAgICBh
dXRvIGNvbGxhcHNlZE1hcmdpbiA9IGZvcm1hdHRpbmdDb250ZXh0Lm1hcmdpbkNvbGxhcHNlKCku
Y29sbGFwc2VkVmVydGljYWxWYWx1ZXMobGF5b3V0Qm94LCBub25Db2xsYXBzZWRNYXJnaW4pOwot
ICAgICAgICB0b3RhbFZlcnRpY2FsTWFyZ2luID0gY29sbGFwc2VkTWFyZ2luLmJlZm9yZS52YWx1
ZU9yKG5vbkNvbGxhcHNlZE1hcmdpbi5iZWZvcmUpOwotICAgICAgICB0b3RhbFZlcnRpY2FsTWFy
Z2luICs9IGNvbGxhcHNlZE1hcmdpbi5pc0NvbGxhcHNlZFRocm91Z2ggPyBub25Db2xsYXBzZWRN
YXJnaW4uYWZ0ZXIgOiBjb2xsYXBzZWRNYXJnaW4uYWZ0ZXIudmFsdWVPcihub25Db2xsYXBzZWRN
YXJnaW4uYWZ0ZXIpOworICAgICAgICAvLyBMZXQncyBzdHJldGNoIHRoZSBpbmZsb3cgZG9jdW1l
bnQgYm94KDxodG1sPikgdG8gdGhlIGhlaWdodCBvZiB0aGUgaW5pdGlhbCBjb250YWluaW5nIGJs
b2NrICh2aWV3KS4KKyAgICAgICAgYXV0byBkb2N1bWVudEJveENvbnRlbnRIZWlnaHQgPSBmb3Jt
YXR0aW5nQ29udGV4dC5nZW9tZXRyeUZvckJveChpbml0aWFsQ29udGFpbmluZ0Jsb2NrKGxheW91
dEJveCksIEVzY2FwZVJlYXNvbjo6RG9jdW1lbnRCb3hTdHJlY2hlc1RvVmlld3BvcnRRdWlyayku
Y29udGVudEJveEhlaWdodCgpOworICAgICAgICAvLyBEb2N1bWVudCBib3gncyBvd24gdmVydGlj
YWwgbWFyZ2luL2JvcmRlci9wYWRkaW5nIHZhbHVlcyBhbHdheXMgc2hyaW5rIHRoZSBjb250ZW50
IGhlaWdodC4KKyAgICAgICAgYXV0byYgZG9jdW1lbnRCb3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdD
b250ZXh0Lmdlb21ldHJ5Rm9yQm94KGxheW91dEJveCk7CisgICAgICAgIGRvY3VtZW50Qm94Q29u
dGVudEhlaWdodCAtPSBub25Db2xsYXBzZWRWZXJ0aWNhbE1hcmdpbiArIGRvY3VtZW50Qm94R2Vv
bWV0cnkudmVydGljYWxCb3JkZXIoKSArIGRvY3VtZW50Qm94R2VvbWV0cnkudmVydGljYWxQYWRk
aW5nKCkudmFsdWVPcigwKTsKKyAgICAgICAgcmV0dXJuIGRvY3VtZW50Qm94Q29udGVudEhlaWdo
dDsKICAgICB9CiAKLSAgICAvLyBTdHJldGNoIGJ1dCBuZXZlciBvdmVyc3RyZXRjaCB3aXRoIHRo
ZSBtYXJnaW5zLgotICAgIGlmIChjb250ZW50SGVpZ2h0QW5kTWFyZ2luLmNvbnRlbnRIZWlnaHQg
KyB0b3RhbFZlcnRpY2FsTWFyZ2luIDwgc3RyZWNoZWRIZWlnaHQpCi0gICAgICAgIGNvbnRlbnRI
ZWlnaHRBbmRNYXJnaW4uY29udGVudEhlaWdodCA9IHN0cmVjaGVkSGVpZ2h0IC0gdG90YWxWZXJ0
aWNhbE1hcmdpbjsKLQotICAgIHJldHVybiBjb250ZW50SGVpZ2h0QW5kTWFyZ2luOworICAgIC8v
IEhlcmUgaXMgdGhlIHF1aXJreSBwYXJ0IGZvciBib2R5IGJveCB3aGVuIGl0IHN0cmV0Y2hlcyBh
bGwgdGhlIHdheSB0byB0aGUgSUNCIGV2ZW4gd2hlbiB0aGUgZG9jdW1lbnQgYm94IGRvZXMgbm90
IChlLmcuIG91dC1vZi1mbG93IHBvc2l0aW9uZWQpLgorICAgIEFTU0VSVChsYXlvdXRCb3guaXNC
b2R5Qm94KCkpOworICAgIGF1dG8mIGluaXRpYWxDb250YWluaW5nQmxvY2tHZW9tZXRyeSA9IGZv
cm1hdHRpbmdDb250ZXh0Lmdlb21ldHJ5Rm9yQm94KGluaXRpYWxDb250YWluaW5nQmxvY2sobGF5
b3V0Qm94KSwgRXNjYXBlUmVhc29uOjpCb2R5U3RyZWNoZXNUb1ZpZXdwb3J0UXVpcmspOworICAg
IC8vIFN0YXJ0IHRoZSBjb250ZW50IGhlaWdodCB3aXRoIHRoZSBJQ0IuCisgICAgYXV0byBib2R5
Qm94Q29udGVudEhlaWdodCA9IGluaXRpYWxDb250YWluaW5nQmxvY2tHZW9tZXRyeS5jb250ZW50
Qm94SGVpZ2h0KCk7CisgICAgLy8gQm9keSBib3gncyBvd24gYm9yZGVyIGFuZCBwYWRkaW5nIHNo
cmluayB0aGUgY29udGVudCBoZWlnaHQuCisgICAgYXV0byYgYm9keUJveEdlb21ldHJ5ID0gZm9y
bWF0dGluZ0NvbnRleHQuZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KTsKKyAgICBib2R5Qm94Q29u
dGVudEhlaWdodCAtPSBib2R5Qm94R2VvbWV0cnkudmVydGljYWxCb3JkZXIoKSArIGJvZHlCb3hH
ZW9tZXRyeS52ZXJ0aWNhbFBhZGRpbmcoKS52YWx1ZU9yKDApOworICAgIC8vIEJvZHkgYm94IG5l
dmVyIGNvbGxhcHNlcyBpdHMgdmVydGljYWwgbWFyZ2lucyB3aXRoIHRoZSBkb2N1bWVudCBib3gu
CisgICAgYm9keUJveENvbnRlbnRIZWlnaHQgLT0gbm9uQ29sbGFwc2VkVmVydGljYWxNYXJnaW47
CisgICAgLy8gRG9jdW1lbnQgYm94J3MgcGFkZGluZyBhbmQgYm9yZGVyIGFsc28gc2hyaW5rIHRo
ZSBib2R5IGJveCdzIGNvbnRlbnQgaGVpZ2h0LgorICAgIGF1dG8mIGRvY3VtZW50Qm94ID0gKmxh
eW91dEJveC5wYXJlbnQoKTsKKyAgICBhdXRvJiBkb2N1bWVudEJveEdlb21ldHJ5ID0gZm9ybWF0
dGluZ0NvbnRleHQuZ2VvbWV0cnlGb3JCb3goZG9jdW1lbnRCb3gsIEVzY2FwZVJlYXNvbjo6Qm9k
eVN0cmVjaGVzVG9WaWV3cG9ydFF1aXJrKTsKKyAgICBib2R5Qm94Q29udGVudEhlaWdodCAtPSBk
b2N1bWVudEJveEdlb21ldHJ5LnZlcnRpY2FsQm9yZGVyKCkgKyBkb2N1bWVudEJveEdlb21ldHJ5
LnZlcnRpY2FsUGFkZGluZygpLnZhbHVlT3IoMCk7CisgICAgLy8gSG93ZXZlciB0aGUgbm9uLWlu
LWZsb3cgZG9jdW1lbnQgYm94J3MgdmVydGljYWwgbWFyZ2lucyBhcmUgaWdub3JlZC4gVGhleSBk
b24ndCBhZmZlY3QgdGhlIGJvZHkgYm94J3MgY29udGVudCBoZWlnaHQuCisgICAgaWYgKGRvY3Vt
ZW50Qm94LmlzSW5GbG93KCkpIHsKKyAgICAgICAgYXV0byBwcmVjb21wdXRlRG9jdW1lbnRCb3hW
ZXJ0aWNhbE1hcmdpbiA9IGZvcm1hdHRpbmdDb250ZXh0Lmdlb21ldHJ5KCkuY29tcHV0ZWRWZXJ0
aWNhbE1hcmdpbihkb2N1bWVudEJveCwgR2VvbWV0cnk6Omhvcml6b250YWxDb25zdHJhaW50c0Zv
ckluRmxvdyhpbml0aWFsQ29udGFpbmluZ0Jsb2NrR2VvbWV0cnkpKTsKKyAgICAgICAgYm9keUJv
eENvbnRlbnRIZWlnaHQgLT0gcHJlY29tcHV0ZURvY3VtZW50Qm94VmVydGljYWxNYXJnaW4uYmVm
b3JlLnZhbHVlT3IoMCkgKyBwcmVjb21wdXRlRG9jdW1lbnRCb3hWZXJ0aWNhbE1hcmdpbi5hZnRl
ci52YWx1ZU9yKDApOworICAgIH0KKyAgICByZXR1cm4gYm9keUJveENvbnRlbnRIZWlnaHQ7CiB9
CiAKIGJvb2wgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpzaG91bGRJZ25vcmVDb2xs
YXBzZWRRdWlya01hcmdpbihjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3QKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkYTlj
NzdjOTRmODFkZWM1ODMzYWFkOWUxNDI4MmJmNWFiZDJiYmUwLi5jNWNhMWQxNTIxZjNjYzExZWVi
MTJlYWIwNGQ2ZjU3OWIwNmZjZGM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDItMTcg
IFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtRdWlya10g
QWRkIGFkZGl0aW9uYWwgZXNjYXBlIHJlYXNvbiB0byBjb3ZlciB0aGUgY2FzZSB3aGVuIGJvZHkg
bmVlZHMgYWNjZXNzIHRvIGJvdGggdGhlIGJvZHkgYW5kIHRoZSBJQ0IgZ2VvbWV0cnkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzg2OQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNTk1MzEyMjU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L291dC1v
Zi1mbG93LWh0bWwtYW5kLWJvZHktc3RyZXRjaGVzLXRvLXZpZXdwb3J0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC9vdXQtb2YtZmxv
dy1odG1sLWFuZC1ib2R5LXN0cmV0Y2hlcy10by12aWV3cG9ydC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMDItMTcgIEph
c29uIExhd3JlbmNlICA8bGF3cmVuY2UuakBhcHBsZS5jb20+CiAKICAgICAgICAgWyBNYWMgXSBm
YXN0L2ltYWdlcy93ZWJwLWFzLWltYWdlLmh0bWwgaXMgZmFpbGluZy4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvb3V0LW9mLWZsb3ctaHRtbC1h
bmQtYm9keS1zdHJldGNoZXMtdG8tdmlld3BvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC9vdXQtb2YtZmxvdy1odG1sLWFuZC1ib2R5LXN0
cmV0Y2hlcy10by12aWV3cG9ydC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGE2NTIxZWI3MmJj
MTVkYzc4MzMyNDgxNDkzMDdiNTEzYWM4ZjM4ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvb3V0LW9mLWZsb3ctaHRtbC1hbmQtYm9k
eS1zdHJldGNoZXMtdG8tdmlld3BvcnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjAxCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4
NjAwCitsYXllciBhdCAoMTAsMTApIHNpemUgMTAyeDEwMgorICBSZW5kZXJCbG9jayAocG9zaXRp
b25lZCkge0hUTUx9IGF0ICgxMCwxMCkgc2l6ZSAxMDJ4MTAyIFtib3JkZXI6ICgxcHggc29saWQg
IzAwODAwMCldCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDksOSkgc2l6ZSA4NHg1ODIgW2Jv
cmRlcjogKDFweCBzb2xpZCAjMDAwMEZGKV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
bGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvb3V0LW9mLWZsb3ctaHRtbC1hbmQtYm9keS1zdHJldGNo
ZXMtdG8tdmlld3BvcnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbGF5b3V0Zm9ybWF0dGluZ2Nv
bnRleHQvb3V0LW9mLWZsb3ctaHRtbC1hbmQtYm9keS1zdHJldGNoZXMtdG8tdmlld3BvcnQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jNGY4NzkwYjUwOWMwM2ZhMGFlZmNlZmQ2N2Y5OTU5NjQzZmUxOTJmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4
dC9vdXQtb2YtZmxvdy1odG1sLWFuZC1ib2R5LXN0cmV0Y2hlcy10by12aWV3cG9ydC5odG1sCkBA
IC0wLDAgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBpbnRlcm5hbDpMYXlvdXRG
b3JtYXR0aW5nQ29udGV4dEVuYWJsZWQ9dHJ1ZSBpbnRlcm5hbDpMYXlvdXRGb3JtYXR0aW5nQ29u
dGV4dEludGVncmF0aW9uRW5hYmxlZD1mYWxzZSBdIC0tPgorPGh0bWwgc3R5bGU9InBvc2l0aW9u
OiBhYnNvbHV0ZTsgbGVmdDogMTBweDsgdG9wOiAxMHB4OyBoZWlnaHQ6IDEwMHB4OyB3aWR0aDog
MTAwcHg7IGJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOyI+Cis8Ym9keSBzdHlsZT0iYm9yZGVyOiAx
cHggc29saWQgYmx1ZTsiPjwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBkNzIxY2YxNjRjOTJkODEyNTU2ZjQyMjU3
ZmE5MjYwYTRmMGRjNTgxLi5kNGE2ZTgyMzhjMDg1NWFiYTM3OGU0YzA1ZjUxZGMxODYwNGRkMjg1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBA
IC0xNDE2LDQgKzE0MTYsNCBAQCB3ZWJraXQub3JnL2IvMjA3Nzc0IGh0dHAvd3B0L3NlcnZpY2Ut
d29ya2Vycy90aGlyZC1wYXJ0eS1jb29raWUuaHRtbCBbIFBhc3MgVGltZQogd2Via2l0Lm9yZy9i
LzIwNzg2NiBpbXBvcnRlZC93M2MvSW5kZXhlZERCLXByaXZhdGUtYnJvd3NpbmcgWyBQYXNzIFRp
bWVvdXQgXQogCiAjIHNraXAgTEZDIHJlZ3Jlc3Npb24gdGVzdHMgb24gaU9TIGZvciBub3cuCi1m
YXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L2Jsb2NrLW9ubHkvIFsgU2tpcCBdCitmYXN0L2xh
eW91dGZvcm1hdHRpbmdjb250ZXh0LyBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391048</attachid>
            <date>2020-02-18 08:13:44 -0800</date>
            <delta_ts>2020-02-18 08:52:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207869-20200218081343.patch</filename>
            <type>text/plain</type>
            <size>15488</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2NzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDU5MjU1OTNhMWYyMzMx
MDYxNDk5YWU5NmQyODliMmNiYTFiNjA4ZC4uNDNjY2Y5N2UwNjg5NzZjYThiNzg3N2Y4MTkyMmY1
ZDNhMjJkMDg3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTAyLTE3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bUXVpcmtdIEFkZCBh
ZGRpdGlvbmFsIGVzY2FwZSByZWFzb24gdG8gY292ZXIgdGhlIGNhc2Ugd2hlbiBib2R5IG5lZWRz
IGFjY2VzcyB0byBib3RoIHRoZSBib2R5IGFuZCB0aGUgSUNCIGdlb21ldHJ5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDc4NjkKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzU5NTMxMjI1PgorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZp
c3RvLgorCisgICAgICAgIFRlc3Q6IGZhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvb3V0LW9m
LWZsb3ctaHRtbC1hbmQtYm9keS1zdHJldGNoZXMtdG8tdmlld3BvcnQuaHRtbAorCisgICAgICAg
IFdoZW4gdGhlIGJvZHkgaXMgc3RyZXRjaGVkIGFsbCB0aGUgd2F5IHRvIHRoZSBJQ0IsIHdlIGhh
dmUgdG8gcmVhZCBib3RoIHRoZSBkb2N1bWVudCBib3gncyBhbmQgdGhlIElDQidzIGdlb21ldHJ5
LgorICAgICAgICBUaGlzIHBhdGNoIGFsc28gcmVmYWN0b3JzIFF1aXJrczo6c3RyZXRjaGVkSW5G
bG93SGVpZ2h0IGEgYml0IHRvIGRlY291cGxlIHRoZSBkb2N1bWVudCBhbmQgdGhlIGJvZHkgY2Fz
ZXMuCisKKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6Z2VvbWV0cnlGb3JCb3ggY29uc3Qp
OgorICAgICAgICAqIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91
dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxh
eW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0
cnk6OmluRmxvd0hlaWdodEFuZE1hcmdpbik6CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9ybWF0
dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpuZWVkc1N0cmV0Y2hpbmcg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0
OjpRdWlya3M6OnN0cmV0Y2hlZEluRmxvd0hlaWdodCk6CisKIDIwMjAtMDItMTcgIFBlbmcgTGl1
ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggY2hlY2std2Via2l0LXN0eWxl
IGVycm9ycyByZWxhdGVkIHRvIEFWRm91bmRhdGlvblNQSS5oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCA4MjU0OGViOTFhMjliMWYwZTcyYTA3ZDc5
NjVjMDJiMGRlMjYwZDM0Li5hYmQ1MjUxNGExOWZjZTJiOWIzNmZmYThkMTVlMDcxOTc4NDM1Yzc5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTIw
NCwxMSArMjA0LDE3IEBAIGNvbnN0IERpc3BsYXk6OkJveCYgRm9ybWF0dGluZ0NvbnRleHQ6Omdl
b21ldHJ5Rm9yQm94KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBPcHRpCiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoKmVzY2FwZVJlYXNvbiA9PSBFc2Nh
cGVSZWFzb246OkJvZHlTdHJlY2hlc1RvVmlld3BvcnRRdWlyaykgeworICAgICAgICBpZiAoKmVz
Y2FwZVJlYXNvbiA9PSBFc2NhcGVSZWFzb246OkRvY3VtZW50Qm94U3RyZWNoZXNUb1ZpZXdwb3J0
UXVpcmspIHsKICAgICAgICAgICAgIEFTU0VSVChsYXlvdXRTdGF0ZSgpLmluUXVpcmtzTW9kZSgp
KTsKICAgICAgICAgICAgIHJldHVybiBsYXlvdXRCb3guaXNJbml0aWFsQ29udGFpbmluZ0Jsb2Nr
KCk7CiAgICAgICAgIH0KIAorICAgICAgICBpZiAoKmVzY2FwZVJlYXNvbiA9PSBFc2NhcGVSZWFz
b246OkJvZHlTdHJlY2hlc1RvVmlld3BvcnRRdWlyaykgeworICAgICAgICAgICAgQVNTRVJUKGxh
eW91dFN0YXRlKCkuaW5RdWlya3NNb2RlKCkpOworICAgICAgICAgICAgcmV0dXJuIGxheW91dEJv
eC5pc0luaXRpYWxDb250YWluaW5nQmxvY2soKSB8fCBsYXlvdXRCb3guaXNEb2N1bWVudEJveCgp
OworCisgICAgICAgIH0KKwogICAgICAgICBpZiAoKmVzY2FwZVJlYXNvbiA9PSBFc2NhcGVSZWFz
b246OlN0cm9rZU92ZXJmbG93TmVlZHNWaWV3cG9ydEdlb21ldHJ5KQogICAgICAgICAgICAgcmV0
dXJuIGxheW91dEJveC5pc0luaXRpYWxDb250YWluaW5nQmxvY2soKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCA4MThjZTA3MGI3NDcwNjFkNzlmZDM5
NTVmMzRiMDg2NDg3Nzg2OGU0Li5lZWQ4MDRkNmZlZmEwMmIxNWY3MzMzNWNhMGQ5ZmU5YTczNTBk
ZTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtODYs
NiArODYsNyBAQCBwdWJsaWM6CiAgICAgICAgIE91dE9mRmxvd0JveE5lZWRzSW5GbG93R2VvbWV0
cnksCiAgICAgICAgIEZsb2F0Qm94TmVlZHNUb0JlSW5BYnNvbHV0ZUNvb3JkaW5hdGVzLAogICAg
ICAgICBGaW5kRml4ZWRIZWlnaHRBbmNlc3RvclF1aXJrLAorICAgICAgICBEb2N1bWVudEJveFN0
cmVjaGVzVG9WaWV3cG9ydFF1aXJrLAogICAgICAgICBCb2R5U3RyZWNoZXNUb1ZpZXdwb3J0UXVp
cmssCiAgICAgICAgIFN0cm9rZU92ZXJmbG93TmVlZHNWaWV3cG9ydEdlb21ldHJ5LAogICAgICAg
ICBUYWJsZU5lZWRzQWNjZXNzVG9UYWJsZVdyYXBwZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0
LmgKaW5kZXggMGJlMmQzYzNlZWUwZmQ0ZjA3M2RkMDIxYTdjZjY4MDg5MTJkMDAwNi4uNTJmMWU1
ZmFkZWNiMmFlOTY2MDM3ZmZlY2JlMzIyMTY0ZmI2MWQ1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdD
b250ZXh0LmgKQEAgLTE0Myw3ICsxNDMsNyBAQCBwcml2YXRlOgogICAgIGNsYXNzIFF1aXJrcyA6
IHB1YmxpYyBGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzIHsKICAgICBwdWJsaWM6CiAgICAgICAg
IGJvb2wgbmVlZHNTdHJldGNoaW5nKGNvbnN0IEJveCYpIGNvbnN0OwotICAgICAgICBDb250ZW50
SGVpZ2h0QW5kTWFyZ2luIHN0cmV0Y2hlZEluRmxvd0hlaWdodChjb25zdCBCb3gmLCBDb250ZW50
SGVpZ2h0QW5kTWFyZ2luKTsKKyAgICAgICAgTGF5b3V0VW5pdCBzdHJldGNoZWRJbkZsb3dIZWln
aHQoY29uc3QgQm94JiwgQ29udGVudEhlaWdodEFuZE1hcmdpbik7CiAKICAgICAgICAgYm9vbCBz
aG91bGRJZ25vcmVDb2xsYXBzZWRRdWlya01hcmdpbihjb25zdCBCb3gmKSBjb25zdDsKICAgICAg
ICAgYm9vbCBzaG91bGRJZ25vcmVNYXJnaW5CZWZvcmUoY29uc3QgQm94JikgY29uc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0
dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3Jt
YXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKaW5kZXggNmQyM2JmMDA5
YTBiYTY5MWQzYmEyYzdkMzIzNmYxYzM1YTU4ZGFhYi4uNTI1ZTNhOWViZTc4YzEyNTFjZWM3ZWQx
ODhjYTI1ZjYwYTk0NDU3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2Nr
Zm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdl
b21ldHJ5LmNwcApAQCAtMjcwLDcgKzI3MCw3IEBAIENvbnRlbnRIZWlnaHRBbmRNYXJnaW4gQmxv
Y2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmluRmxvd0hlaWdodEFuZE1hcmdpbihjCiAg
ICAgaWYgKCFxdWlya3MubmVlZHNTdHJldGNoaW5nKGxheW91dEJveCkpCiAgICAgICAgIHJldHVy
biBjb250ZW50SGVpZ2h0QW5kTWFyZ2luOwogCi0gICAgY29udGVudEhlaWdodEFuZE1hcmdpbiA9
IHF1aXJrcy5zdHJldGNoZWRJbkZsb3dIZWlnaHQobGF5b3V0Qm94LCBjb250ZW50SGVpZ2h0QW5k
TWFyZ2luKTsKKyAgICBjb250ZW50SGVpZ2h0QW5kTWFyZ2luLmNvbnRlbnRIZWlnaHQgPSBxdWly
a3Muc3RyZXRjaGVkSW5GbG93SGVpZ2h0KGxheW91dEJveCwgY29udGVudEhlaWdodEFuZE1hcmdp
bik7CiAKICAgICBMT0dfV0lUSF9TVFJFQU0oRm9ybWF0dGluZ0NvbnRleHRMYXlvdXQsIHN0cmVh
bSA8PCAiW0hlaWdodF1bTWFyZ2luXSAtPiBpbmZsb3cgbm9uLXJlcGxhY2VkIC0+IHN0cmVjaGVk
IHRvIHZpZXdwb3J0IC0+IGhlaWdodCgiIDw8IGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4uY29udGVu
dEhlaWdodCA8PCAicHgpIG1hcmdpbigiIDw8IGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4ubm9uQ29s
bGFwc2VkTWFyZ2luLmJlZm9yZSA8PCAicHgsICIgPDwgY29udGVudEhlaWdodEFuZE1hcmdpbi5u
b25Db2xsYXBzZWRNYXJnaW4uYWZ0ZXIgPDwgInB4KSAtPiBsYXlvdXRCb3goIiA8PCAmbGF5b3V0
Qm94IDw8ICIpIik7CiAgICAgcmV0dXJuIGNvbnRlbnRIZWlnaHRBbmRNYXJnaW47CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGlu
Z0NvbnRleHRRdWlya3MuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGlu
Zy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcAppbmRleCBkMDNiYTE1OTg1YjVmMTlm
Zjc1M2UxYjIwMjhmNTRiMDQ4OGIyYmEwLi5mZmExYjBjNmI4OWRmNWM1ZmM2NTYwMmIzM2RmNWQx
NjYzMjI0NTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0
aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAK
QEAgLTUyLDcgKzUyLDggQEAgc3RhdGljIGJvb2wgaXNRdWlya0NvbnRhaW5lcihjb25zdCBCb3gm
IGxheW91dEJveCkKIAogYm9vbCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpRdWlya3M6Om5lZWRz
U3RyZXRjaGluZyhjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3QKIHsKLSAgICAvLyBJbiBxdWly
a3MgbW9kZSwgYm9keSBzdHJldGNoZXMgdG8gaHRtbCBhbmQgaHRtbCB0byB0aGUgaW5pdGlhbCBj
b250YWluaW5nIGJsb2NrIChoZWlnaHQ6IGF1dG8gb25seSkuCisgICAgQVNTRVJUKGxheW91dEJv
eC5pc0luRmxvdygpKTsKKyAgICAvLyBJbiBxdWlya3MgbW9kZSwgaW4tZmxvdyBib2R5IGFuZCBo
dG1sIHN0cmV0Y2ggdG8gdGhlIGluaXRpYWwgY29udGFpbmluZyBibG9jayAoaGVpZ2h0OiBhdXRv
IG9ubHkpLgogICAgIGlmICghbGF5b3V0U3RhdGUoKS5pblF1aXJrc01vZGUoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCkBAIC02Miw0NSArNjMsNDUgQEAgYm9vbCBCbG9ja0Zvcm1hdHRpbmdD
b250ZXh0OjpRdWlya3M6Om5lZWRzU3RyZXRjaGluZyhjb25zdCBCb3gmIGxheW91dEJveCkgY29u
c3QKICAgICByZXR1cm4gbGF5b3V0Qm94LnN0eWxlKCkubG9naWNhbEhlaWdodCgpLmlzQXV0bygp
OwogfQogCi1Db250ZW50SGVpZ2h0QW5kTWFyZ2luIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OlF1
aXJrczo6c3RyZXRjaGVkSW5GbG93SGVpZ2h0KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBDb250ZW50
SGVpZ2h0QW5kTWFyZ2luIGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4pCitMYXlvdXRVbml0IEJsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6c3RyZXRjaGVkSW5GbG93SGVpZ2h0KGNvbnN0IEJv
eCYgbGF5b3V0Qm94LCBDb250ZW50SGVpZ2h0QW5kTWFyZ2luIGNvbnRlbnRIZWlnaHRBbmRNYXJn
aW4pCiB7Ci0gICAgQVNTRVJUKGxheW91dEJveC5pc0luRmxvdygpKTsKLSAgICBBU1NFUlQobGF5
b3V0Qm94LmlzRG9jdW1lbnRCb3goKSB8fCBsYXlvdXRCb3guaXNCb2R5Qm94KCkpOwotCisgICAg
QVNTRVJUKG5lZWRzU3RyZXRjaGluZyhsYXlvdXRCb3gpKTsKICAgICBhdXRvJiBmb3JtYXR0aW5n
Q29udGV4dCA9IHRoaXMtPmZvcm1hdHRpbmdDb250ZXh0KCk7Ci0gICAgYXV0byYgZG9jdW1lbnRC
b3ggPSBsYXlvdXRCb3guaXNEb2N1bWVudEJveCgpID8gbGF5b3V0Qm94IDogKmxheW91dEJveC5w
YXJlbnQoKTsKLSAgICBhdXRvJiBkb2N1bWVudEJveEdlb21ldHJ5ID0gZm9ybWF0dGluZ0NvbnRl
eHQuZ2VvbWV0cnlGb3JCb3goZG9jdW1lbnRCb3gsIEVzY2FwZVJlYXNvbjo6Qm9keVN0cmVjaGVz
VG9WaWV3cG9ydFF1aXJrKTsKLQotICAgIGF1dG8mIGluaXRpYWxDb250YWluaW5nQmxvY2tHZW9t
ZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0Lmdlb21ldHJ5Rm9yQm94KGluaXRpYWxDb250YWluaW5n
QmxvY2sobGF5b3V0Qm94KSwgRXNjYXBlUmVhc29uOjpCb2R5U3RyZWNoZXNUb1ZpZXdwb3J0UXVp
cmspOwotICAgIGF1dG8gc3RyZWNoZWRIZWlnaHQgPSBpbml0aWFsQ29udGFpbmluZ0Jsb2NrR2Vv
bWV0cnkuY29udGVudEJveEhlaWdodCgpOwotICAgIHN0cmVjaGVkSGVpZ2h0IC09IGRvY3VtZW50
Qm94R2VvbWV0cnkudmVydGljYWxCb3JkZXIoKSArIGRvY3VtZW50Qm94R2VvbWV0cnkudmVydGlj
YWxQYWRkaW5nKCkudmFsdWVPcigwKTsKKyAgICBhdXRvIG5vbkNvbGxhcHNlZFZlcnRpY2FsTWFy
Z2luID0gY29udGVudEhlaWdodEFuZE1hcmdpbi5ub25Db2xsYXBzZWRNYXJnaW4uYmVmb3JlICsg
Y29udGVudEhlaWdodEFuZE1hcmdpbi5ub25Db2xsYXBzZWRNYXJnaW4uYWZ0ZXI7CiAKLSAgICBM
YXlvdXRVbml0IHRvdGFsVmVydGljYWxNYXJnaW47CiAgICAgaWYgKGxheW91dEJveC5pc0RvY3Vt
ZW50Qm94KCkpIHsKLSAgICAgICAgLy8gRG9jdW1lbnQgYm94J3MgbWFyZ2lucyBkbyBub3QgY29s
bGFwc2UuCi0gICAgICAgIGF1dG8gdmVydGljYWxNYXJnaW4gPSBjb250ZW50SGVpZ2h0QW5kTWFy
Z2luLm5vbkNvbGxhcHNlZE1hcmdpbjsKLSAgICAgICAgdG90YWxWZXJ0aWNhbE1hcmdpbiA9IHZl
cnRpY2FsTWFyZ2luLmJlZm9yZSArIHZlcnRpY2FsTWFyZ2luLmFmdGVyOwotICAgIH0gZWxzZSBp
ZiAobGF5b3V0Qm94LmlzQm9keUJveCgpKSB7Ci0gICAgICAgIC8vIEhlcmUgaXMgdGhlIHF1aXJr
eSBwYXJ0IGZvciBib2R5IGJveDoKLSAgICAgICAgLy8gU3RyZXRjaCB0aGUgYm9keSB1c2luZyB0
aGUgaW5pdGlhbCBjb250YWluaW5nIGJsb2NrJ3MgaGVpZ2h0IGFuZCBzaHJpbmsgaXQgd2l0aCBk
b2N1bWVudCBib3gncyBtYXJnaW4vYm9yZGVyL3BhZGRpbmcuCi0gICAgICAgIC8vIFRoaXMgbG9v
a3MgZXh0cmVtZWx5IG9kZCB3aGVuIGh0bWwgaGFzIG5vbi1hdXRvIGhlaWdodC4KLSAgICAgICAg
YXV0byBkb2N1bWVudEJveFZlcnRpY2FsTWFyZ2luID0gZm9ybWF0dGluZ0NvbnRleHQuZ2VvbWV0
cnkoKS5jb21wdXRlZFZlcnRpY2FsTWFyZ2luKGRvY3VtZW50Qm94LCBHZW9tZXRyeTo6aG9yaXpv
bnRhbENvbnN0cmFpbnRzRm9ySW5GbG93KGluaXRpYWxDb250YWluaW5nQmxvY2tHZW9tZXRyeSkp
OwotICAgICAgICBzdHJlY2hlZEhlaWdodCAtPSAoZG9jdW1lbnRCb3hWZXJ0aWNhbE1hcmdpbi5i
ZWZvcmUudmFsdWVPcigwKSArIGRvY3VtZW50Qm94VmVydGljYWxNYXJnaW4uYWZ0ZXIudmFsdWVP
cigwKSk7Ci0KLSAgICAgICAgYXV0byYgYm9keUJveEdlb21ldHJ5ID0gZm9ybWF0dGluZ0NvbnRl
eHQuZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KTsKLSAgICAgICAgc3RyZWNoZWRIZWlnaHQgLT0g
Ym9keUJveEdlb21ldHJ5LnZlcnRpY2FsQm9yZGVyKCkgKyBib2R5Qm94R2VvbWV0cnkudmVydGlj
YWxQYWRkaW5nKCkudmFsdWVPcigwKTsKLQotICAgICAgICBhdXRvIG5vbkNvbGxhcHNlZE1hcmdp
biA9IGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4ubm9uQ29sbGFwc2VkTWFyZ2luOwotICAgICAgICBh
dXRvIGNvbGxhcHNlZE1hcmdpbiA9IGZvcm1hdHRpbmdDb250ZXh0Lm1hcmdpbkNvbGxhcHNlKCku
Y29sbGFwc2VkVmVydGljYWxWYWx1ZXMobGF5b3V0Qm94LCBub25Db2xsYXBzZWRNYXJnaW4pOwot
ICAgICAgICB0b3RhbFZlcnRpY2FsTWFyZ2luID0gY29sbGFwc2VkTWFyZ2luLmJlZm9yZS52YWx1
ZU9yKG5vbkNvbGxhcHNlZE1hcmdpbi5iZWZvcmUpOwotICAgICAgICB0b3RhbFZlcnRpY2FsTWFy
Z2luICs9IGNvbGxhcHNlZE1hcmdpbi5pc0NvbGxhcHNlZFRocm91Z2ggPyBub25Db2xsYXBzZWRN
YXJnaW4uYWZ0ZXIgOiBjb2xsYXBzZWRNYXJnaW4uYWZ0ZXIudmFsdWVPcihub25Db2xsYXBzZWRN
YXJnaW4uYWZ0ZXIpOworICAgICAgICAvLyBMZXQncyBzdHJldGNoIHRoZSBpbmZsb3cgZG9jdW1l
bnQgYm94KDxodG1sPikgdG8gdGhlIGhlaWdodCBvZiB0aGUgaW5pdGlhbCBjb250YWluaW5nIGJs
b2NrICh2aWV3KS4KKyAgICAgICAgYXV0byBkb2N1bWVudEJveENvbnRlbnRIZWlnaHQgPSBmb3Jt
YXR0aW5nQ29udGV4dC5nZW9tZXRyeUZvckJveChpbml0aWFsQ29udGFpbmluZ0Jsb2NrKGxheW91
dEJveCksIEVzY2FwZVJlYXNvbjo6RG9jdW1lbnRCb3hTdHJlY2hlc1RvVmlld3BvcnRRdWlyayku
Y29udGVudEJveEhlaWdodCgpOworICAgICAgICAvLyBEb2N1bWVudCBib3gncyBvd24gdmVydGlj
YWwgbWFyZ2luL2JvcmRlci9wYWRkaW5nIHZhbHVlcyBhbHdheXMgc2hyaW5rIHRoZSBjb250ZW50
IGhlaWdodC4KKyAgICAgICAgYXV0byYgZG9jdW1lbnRCb3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdD
b250ZXh0Lmdlb21ldHJ5Rm9yQm94KGxheW91dEJveCk7CisgICAgICAgIGRvY3VtZW50Qm94Q29u
dGVudEhlaWdodCAtPSBub25Db2xsYXBzZWRWZXJ0aWNhbE1hcmdpbiArIGRvY3VtZW50Qm94R2Vv
bWV0cnkudmVydGljYWxCb3JkZXIoKSArIGRvY3VtZW50Qm94R2VvbWV0cnkudmVydGljYWxQYWRk
aW5nKCkudmFsdWVPcigwKTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWF4KGNvbnRlbnRIZWlnaHRB
bmRNYXJnaW4uY29udGVudEhlaWdodCwgIGRvY3VtZW50Qm94Q29udGVudEhlaWdodCk7CiAgICAg
fQogCi0gICAgLy8gU3RyZXRjaCBidXQgbmV2ZXIgb3ZlcnN0cmV0Y2ggd2l0aCB0aGUgbWFyZ2lu
cy4KLSAgICBpZiAoY29udGVudEhlaWdodEFuZE1hcmdpbi5jb250ZW50SGVpZ2h0ICsgdG90YWxW
ZXJ0aWNhbE1hcmdpbiA8IHN0cmVjaGVkSGVpZ2h0KQotICAgICAgICBjb250ZW50SGVpZ2h0QW5k
TWFyZ2luLmNvbnRlbnRIZWlnaHQgPSBzdHJlY2hlZEhlaWdodCAtIHRvdGFsVmVydGljYWxNYXJn
aW47Ci0KLSAgICByZXR1cm4gY29udGVudEhlaWdodEFuZE1hcmdpbjsKKyAgICAvLyBIZXJlIGlz
IHRoZSBxdWlya3kgcGFydCBmb3IgYm9keSBib3ggd2hlbiBpdCBzdHJldGNoZXMgYWxsIHRoZSB3
YXkgdG8gdGhlIElDQiBldmVuIHdoZW4gdGhlIGRvY3VtZW50IGJveCBkb2VzIG5vdCAoZS5nLiBv
dXQtb2YtZmxvdyBwb3NpdGlvbmVkKS4KKyAgICBBU1NFUlQobGF5b3V0Qm94LmlzQm9keUJveCgp
KTsKKyAgICBhdXRvJiBpbml0aWFsQ29udGFpbmluZ0Jsb2NrR2VvbWV0cnkgPSBmb3JtYXR0aW5n
Q29udGV4dC5nZW9tZXRyeUZvckJveChpbml0aWFsQ29udGFpbmluZ0Jsb2NrKGxheW91dEJveCks
IEVzY2FwZVJlYXNvbjo6Qm9keVN0cmVjaGVzVG9WaWV3cG9ydFF1aXJrKTsKKyAgICAvLyBTdGFy
dCB0aGUgY29udGVudCBoZWlnaHQgd2l0aCB0aGUgSUNCLgorICAgIGF1dG8gYm9keUJveENvbnRl
bnRIZWlnaHQgPSBpbml0aWFsQ29udGFpbmluZ0Jsb2NrR2VvbWV0cnkuY29udGVudEJveEhlaWdo
dCgpOworICAgIC8vIEJvZHkgYm94J3Mgb3duIGJvcmRlciBhbmQgcGFkZGluZyBzaHJpbmsgdGhl
IGNvbnRlbnQgaGVpZ2h0LgorICAgIGF1dG8mIGJvZHlCb3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdD
b250ZXh0Lmdlb21ldHJ5Rm9yQm94KGxheW91dEJveCk7CisgICAgYm9keUJveENvbnRlbnRIZWln
aHQgLT0gYm9keUJveEdlb21ldHJ5LnZlcnRpY2FsQm9yZGVyKCkgKyBib2R5Qm94R2VvbWV0cnku
dmVydGljYWxQYWRkaW5nKCkudmFsdWVPcigwKTsKKyAgICAvLyBCb2R5IGJveCBuZXZlciBjb2xs
YXBzZXMgaXRzIHZlcnRpY2FsIG1hcmdpbnMgd2l0aCB0aGUgZG9jdW1lbnQgYm94IGJ1dCBpdCBt
aWdodCBjb2xsYXBzZSBpdHMgbWFyZ2luIHdpdGggaXRzIGRlc2NlbmRhbnRzLgorICAgIGF1dG8g
bm9uQ29sbGFwc2VkTWFyZ2luID0gY29udGVudEhlaWdodEFuZE1hcmdpbi5ub25Db2xsYXBzZWRN
YXJnaW47CisgICAgYXV0byBjb2xsYXBzZWRNYXJnaW4gPSBmb3JtYXR0aW5nQ29udGV4dC5tYXJn
aW5Db2xsYXBzZSgpLmNvbGxhcHNlZFZlcnRpY2FsVmFsdWVzKGxheW91dEJveCwgbm9uQ29sbGFw
c2VkTWFyZ2luKTsKKyAgICBhdXRvIHVzZWRWZXJ0aWNhbE1hcmdpbiA9IGNvbGxhcHNlZE1hcmdp
bi5iZWZvcmUudmFsdWVPcihub25Db2xsYXBzZWRNYXJnaW4uYmVmb3JlKTsKKyAgICB1c2VkVmVy
dGljYWxNYXJnaW4gKz0gY29sbGFwc2VkTWFyZ2luLmlzQ29sbGFwc2VkVGhyb3VnaCA/IG5vbkNv
bGxhcHNlZE1hcmdpbi5hZnRlciA6IGNvbGxhcHNlZE1hcmdpbi5hZnRlci52YWx1ZU9yKG5vbkNv
bGxhcHNlZE1hcmdpbi5hZnRlcik7CisgICAgYm9keUJveENvbnRlbnRIZWlnaHQgLT0gdXNlZFZl
cnRpY2FsTWFyZ2luOworICAgIC8vIERvY3VtZW50IGJveCdzIHBhZGRpbmcgYW5kIGJvcmRlciBh
bHNvIHNocmluayB0aGUgYm9keSBib3gncyBjb250ZW50IGhlaWdodC4KKyAgICBhdXRvJiBkb2N1
bWVudEJveCA9ICpsYXlvdXRCb3gucGFyZW50KCk7CisgICAgYXV0byYgZG9jdW1lbnRCb3hHZW9t
ZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0Lmdlb21ldHJ5Rm9yQm94KGRvY3VtZW50Qm94LCBFc2Nh
cGVSZWFzb246OkJvZHlTdHJlY2hlc1RvVmlld3BvcnRRdWlyayk7CisgICAgYm9keUJveENvbnRl
bnRIZWlnaHQgLT0gZG9jdW1lbnRCb3hHZW9tZXRyeS52ZXJ0aWNhbEJvcmRlcigpICsgZG9jdW1l
bnRCb3hHZW9tZXRyeS52ZXJ0aWNhbFBhZGRpbmcoKS52YWx1ZU9yKDApOworICAgIC8vIEhvd2V2
ZXIgdGhlIG5vbi1pbi1mbG93IGRvY3VtZW50IGJveCdzIHZlcnRpY2FsIG1hcmdpbnMgYXJlIGln
bm9yZWQuIFRoZXkgZG9uJ3QgYWZmZWN0IHRoZSBib2R5IGJveCdzIGNvbnRlbnQgaGVpZ2h0Lgor
ICAgIGlmIChkb2N1bWVudEJveC5pc0luRmxvdygpKSB7CisgICAgICAgIGF1dG8gcHJlY29tcHV0
ZURvY3VtZW50Qm94VmVydGljYWxNYXJnaW4gPSBmb3JtYXR0aW5nQ29udGV4dC5nZW9tZXRyeSgp
LmNvbXB1dGVkVmVydGljYWxNYXJnaW4oZG9jdW1lbnRCb3gsIEdlb21ldHJ5Ojpob3Jpem9udGFs
Q29uc3RyYWludHNGb3JJbkZsb3coaW5pdGlhbENvbnRhaW5pbmdCbG9ja0dlb21ldHJ5KSk7Cisg
ICAgICAgIGJvZHlCb3hDb250ZW50SGVpZ2h0IC09IHByZWNvbXB1dGVEb2N1bWVudEJveFZlcnRp
Y2FsTWFyZ2luLmJlZm9yZS52YWx1ZU9yKDApICsgcHJlY29tcHV0ZURvY3VtZW50Qm94VmVydGlj
YWxNYXJnaW4uYWZ0ZXIudmFsdWVPcigwKTsKKyAgICB9CisgICAgcmV0dXJuIHN0ZDo6bWF4KGNv
bnRlbnRIZWlnaHRBbmRNYXJnaW4uY29udGVudEhlaWdodCwgIGRvY3VtZW50Qm94Q29udGVudEhl
aWdodCk7CiB9CiAKIGJvb2wgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpzaG91bGRJ
Z25vcmVDb2xsYXBzZWRRdWlya01hcmdpbihjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3QKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBkYTljNzdjOTRmODFkZWM1ODMzYWFkOWUxNDI4MmJmNWFiZDJiYmUwLi43YTFlN2EzMGMz
NDdlN2U3ZDUwNjRhN2M4NTA5OWNiOWVlYzEzNjEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjAtMDItMTcgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZD
XVtRdWlya10gQWRkIGFkZGl0aW9uYWwgZXNjYXBlIHJlYXNvbiB0byBjb3ZlciB0aGUgY2FzZSB3
aGVuIGJvZHkgbmVlZHMgYWNjZXNzIHRvIGJvdGggdGhlIGJvZHkgYW5kIHRoZSBJQ0IgZ2VvbWV0
cnkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzg2
OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTk1MzEyMjU+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAgICAgKiBmYXN0L2xheW91dGZvcm1hdHRpbmdjb250
ZXh0L291dC1vZi1mbG93LWh0bWwtYW5kLWJvZHktc3RyZXRjaGVzLXRvLXZpZXdwb3J0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC9v
dXQtb2YtZmxvdy1odG1sLWFuZC1ib2R5LXN0cmV0Y2hlcy10by12aWV3cG9ydC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAt
MDItMTcgIEphc29uIExhd3JlbmNlICA8bGF3cmVuY2UuakBhcHBsZS5jb20+CiAKICAgICAgICAg
WyBNYWMgXSBmYXN0L2ltYWdlcy93ZWJwLWFzLWltYWdlLmh0bWwgaXMgZmFpbGluZy4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvb3V0LW9mLWZs
b3ctaHRtbC1hbmQtYm9keS1zdHJldGNoZXMtdG8tdmlld3BvcnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC9vdXQtb2YtZmxvdy1odG1sLWFu
ZC1ib2R5LXN0cmV0Y2hlcy10by12aWV3cG9ydC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGE2
NTIxZWI3MmJjMTVkYzc4MzMyNDgxNDkzMDdiNTEzYWM4ZjM4ZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvb3V0LW9mLWZsb3ctaHRt
bC1hbmQtYm9keS1zdHJldGNoZXMtdG8tdmlld3BvcnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4NjAxCisgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA3ODV4NjAwCitsYXllciBhdCAoMTAsMTApIHNpemUgMTAyeDEwMgorICBSZW5kZXJCbG9j
ayAocG9zaXRpb25lZCkge0hUTUx9IGF0ICgxMCwxMCkgc2l6ZSAxMDJ4MTAyIFtib3JkZXI6ICgx
cHggc29saWQgIzAwODAwMCldCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDksOSkgc2l6ZSA4
NHg1ODIgW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMEZGKV0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvb3V0LW9mLWZsb3ctaHRtbC1hbmQtYm9k
eS1zdHJldGNoZXMtdG8tdmlld3BvcnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbGF5b3V0Zm9y
bWF0dGluZ2NvbnRleHQvb3V0LW9mLWZsb3ctaHRtbC1hbmQtYm9keS1zdHJldGNoZXMtdG8tdmll
d3BvcnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNGY4NzkwYjUwOWMwM2ZhMGFlZmNlZmQ2N2Y5OTU5NjQz
ZmUxOTJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sYXlvdXRmb3JtYXR0
aW5nY29udGV4dC9vdXQtb2YtZmxvdy1odG1sLWFuZC1ib2R5LXN0cmV0Y2hlcy10by12aWV3cG9y
dC5odG1sCkBAIC0wLDAgKzEsNCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBpbnRlcm5h
bDpMYXlvdXRGb3JtYXR0aW5nQ29udGV4dEVuYWJsZWQ9dHJ1ZSBpbnRlcm5hbDpMYXlvdXRGb3Jt
YXR0aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxlZD1mYWxzZSBdIC0tPgorPGh0bWwgc3R5bGU9
InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMTBweDsgdG9wOiAxMHB4OyBoZWlnaHQ6IDEwMHB4
OyB3aWR0aDogMTAwcHg7IGJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOyI+Cis8Ym9keSBzdHlsZT0i
Ym9yZGVyOiAxcHggc29saWQgYmx1ZTsiPjwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBkNzIxY2YxNjRjOTJkODEy
NTU2ZjQyMjU3ZmE5MjYwYTRmMGRjNTgxLi5kNGE2ZTgyMzhjMDg1NWFiYTM3OGU0YzA1ZjUxZGMx
ODYwNGRkMjg1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0
YXRpb25zCkBAIC0xNDE2LDQgKzE0MTYsNCBAQCB3ZWJraXQub3JnL2IvMjA3Nzc0IGh0dHAvd3B0
L3NlcnZpY2Utd29ya2Vycy90aGlyZC1wYXJ0eS1jb29raWUuaHRtbCBbIFBhc3MgVGltZQogd2Vi
a2l0Lm9yZy9iLzIwNzg2NiBpbXBvcnRlZC93M2MvSW5kZXhlZERCLXByaXZhdGUtYnJvd3Npbmcg
WyBQYXNzIFRpbWVvdXQgXQogCiAjIHNraXAgTEZDIHJlZ3Jlc3Npb24gdGVzdHMgb24gaU9TIGZv
ciBub3cuCi1mYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L2Jsb2NrLW9ubHkvIFsgU2tpcCBd
CitmYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0LyBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391050</attachid>
            <date>2020-02-18 08:52:39 -0800</date>
            <delta_ts>2020-02-18 10:01:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207869-20200218085238.patch</filename>
            <type>text/plain</type>
            <size>15481</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2ODI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTBkYTY4NjEyODQ1Yjk1
NzkzNWY0Nzg2NWEyNDI5NzRhMmMyNzQ5ZC4uNDZmZWFhMTljZTYyODUyZjU0ZDM2OTVjODhmNTFk
Mzc5NzQ5NTk4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTAyLTE4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bUXVpcmtdIEFkZCBh
ZGRpdGlvbmFsIGVzY2FwZSByZWFzb24gdG8gY292ZXIgdGhlIGNhc2Ugd2hlbiBib2R5IG5lZWRz
IGFjY2VzcyB0byBib3RoIHRoZSBib2R5IGFuZCB0aGUgSUNCIGdlb21ldHJ5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDc4NjkKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzU5NTMxMjI1PgorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZp
c3RvLgorCisgICAgICAgIFRlc3Q6IGZhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvb3V0LW9m
LWZsb3ctaHRtbC1hbmQtYm9keS1zdHJldGNoZXMtdG8tdmlld3BvcnQuaHRtbAorCisgICAgICAg
IFdoZW4gdGhlIGJvZHkgaXMgc3RyZXRjaGVkIGFsbCB0aGUgd2F5IHRvIHRoZSBJQ0IsIHdlIGhh
dmUgdG8gcmVhZCBib3RoIHRoZSBkb2N1bWVudCBib3gncyBhbmQgdGhlIElDQidzIGdlb21ldHJ5
LgorICAgICAgICBUaGlzIHBhdGNoIGFsc28gcmVmYWN0b3JzIFF1aXJrczo6c3RyZXRjaGVkSW5G
bG93SGVpZ2h0IGEgYml0IHRvIGRlY291cGxlIHRoZSBkb2N1bWVudCBhbmQgdGhlIGJvZHkgY2Fz
ZXMuCisKKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6Z2VvbWV0cnlGb3JCb3ggY29uc3Qp
OgorICAgICAgICAqIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91
dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxh
eW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0
cnk6OmluRmxvd0hlaWdodEFuZE1hcmdpbik6CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9ybWF0
dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpuZWVkc1N0cmV0Y2hpbmcg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0
OjpRdWlya3M6OnN0cmV0Y2hlZEluRmxvd0hlaWdodCk6CisKIDIwMjAtMDItMTggIFphbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIEFkZCBtaXNzaW5n
IGZsb2F0IGNoZWNrIGluIGlubGluZSBsaW5lIGxheW91dApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggODI1NDhlYjkxYTI5YjFmMGU3MmEwN2Q3OTY1
YzAyYjBkZTI2MGQzNC4uYWJkNTI1MTRhMTlmY2UyYjliMzZmZmE4ZDE1ZTA3MTk3ODQzNWM3OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0yMDQs
MTEgKzIwNCwxNyBAQCBjb25zdCBEaXNwbGF5OjpCb3gmIEZvcm1hdHRpbmdDb250ZXh0OjpnZW9t
ZXRyeUZvckJveChjb25zdCBCb3gmIGxheW91dEJveCwgT3B0aQogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKCplc2NhcGVSZWFzb24gPT0gRXNjYXBl
UmVhc29uOjpCb2R5U3RyZWNoZXNUb1ZpZXdwb3J0UXVpcmspIHsKKyAgICAgICAgaWYgKCplc2Nh
cGVSZWFzb24gPT0gRXNjYXBlUmVhc29uOjpEb2N1bWVudEJveFN0cmVjaGVzVG9WaWV3cG9ydFF1
aXJrKSB7CiAgICAgICAgICAgICBBU1NFUlQobGF5b3V0U3RhdGUoKS5pblF1aXJrc01vZGUoKSk7
CiAgICAgICAgICAgICByZXR1cm4gbGF5b3V0Qm94LmlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygp
OwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKCplc2NhcGVSZWFzb24gPT0gRXNjYXBlUmVhc29u
OjpCb2R5U3RyZWNoZXNUb1ZpZXdwb3J0UXVpcmspIHsKKyAgICAgICAgICAgIEFTU0VSVChsYXlv
dXRTdGF0ZSgpLmluUXVpcmtzTW9kZSgpKTsKKyAgICAgICAgICAgIHJldHVybiBsYXlvdXRCb3gu
aXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCkgfHwgbGF5b3V0Qm94LmlzRG9jdW1lbnRCb3goKTsK
KworICAgICAgICB9CisKICAgICAgICAgaWYgKCplc2NhcGVSZWFzb24gPT0gRXNjYXBlUmVhc29u
OjpTdHJva2VPdmVyZmxvd05lZWRzVmlld3BvcnRHZW9tZXRyeSkKICAgICAgICAgICAgIHJldHVy
biBsYXlvdXRCb3guaXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmgKaW5kZXggODE4Y2UwNzBiNzQ3MDYxZDc5ZmQzOTU1
ZjM0YjA4NjQ4Nzc4NjhlNC4uZWVkODA0ZDZmZWZhMDJiMTVmNzMzMzVjYTBkOWZlOWE3MzUwZGU4
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTg2LDYg
Kzg2LDcgQEAgcHVibGljOgogICAgICAgICBPdXRPZkZsb3dCb3hOZWVkc0luRmxvd0dlb21ldHJ5
LAogICAgICAgICBGbG9hdEJveE5lZWRzVG9CZUluQWJzb2x1dGVDb29yZGluYXRlcywKICAgICAg
ICAgRmluZEZpeGVkSGVpZ2h0QW5jZXN0b3JRdWlyaywKKyAgICAgICAgRG9jdW1lbnRCb3hTdHJl
Y2hlc1RvVmlld3BvcnRRdWlyaywKICAgICAgICAgQm9keVN0cmVjaGVzVG9WaWV3cG9ydFF1aXJr
LAogICAgICAgICBTdHJva2VPdmVyZmxvd05lZWRzVmlld3BvcnRHZW9tZXRyeSwKICAgICAgICAg
VGFibGVOZWVkc0FjY2Vzc1RvVGFibGVXcmFwcGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5o
CmluZGV4IDBiZTJkM2MzZWVlMGZkNGYwNzNkZDAyMWE3Y2Y2ODA4OTEyZDAwMDYuLjUyZjFlNWZh
ZGVjYjJhZTk2NjAzN2ZmZWNiZTMyMjE2NGZiNjFkNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29u
dGV4dC5oCkBAIC0xNDMsNyArMTQzLDcgQEAgcHJpdmF0ZToKICAgICBjbGFzcyBRdWlya3MgOiBw
dWJsaWMgRm9ybWF0dGluZ0NvbnRleHQ6OlF1aXJrcyB7CiAgICAgcHVibGljOgogICAgICAgICBi
b29sIG5lZWRzU3RyZXRjaGluZyhjb25zdCBCb3gmKSBjb25zdDsKLSAgICAgICAgQ29udGVudEhl
aWdodEFuZE1hcmdpbiBzdHJldGNoZWRJbkZsb3dIZWlnaHQoY29uc3QgQm94JiwgQ29udGVudEhl
aWdodEFuZE1hcmdpbik7CisgICAgICAgIExheW91dFVuaXQgc3RyZXRjaGVkSW5GbG93SGVpZ2h0
KGNvbnN0IEJveCYsIENvbnRlbnRIZWlnaHRBbmRNYXJnaW4pOwogCiAgICAgICAgIGJvb2wgc2hv
dWxkSWdub3JlQ29sbGFwc2VkUXVpcmtNYXJnaW4oY29uc3QgQm94JikgY29uc3Q7CiAgICAgICAg
IGJvb2wgc2hvdWxkSWdub3JlTWFyZ2luQmVmb3JlKGNvbnN0IEJveCYpIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRp
bmdDb250ZXh0R2VvbWV0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0
dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCmluZGV4IDZkMjNiZjAwOWEw
YmE2OTFkM2JhMmM3ZDMyMzZmMWMzNWE1OGRhYWIuLjUyNWUzYTllYmU3OGMxMjUxY2VjN2VkMTg4
Y2EyNWY2MGE5NDQ1NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zv
cm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9t
ZXRyeS5jcHAKQEAgLTI3MCw3ICsyNzAsNyBAQCBDb250ZW50SGVpZ2h0QW5kTWFyZ2luIEJsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZsb3dIZWlnaHRBbmRNYXJnaW4oYwogICAg
IGlmICghcXVpcmtzLm5lZWRzU3RyZXRjaGluZyhsYXlvdXRCb3gpKQogICAgICAgICByZXR1cm4g
Y29udGVudEhlaWdodEFuZE1hcmdpbjsKIAotICAgIGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4gPSBx
dWlya3Muc3RyZXRjaGVkSW5GbG93SGVpZ2h0KGxheW91dEJveCwgY29udGVudEhlaWdodEFuZE1h
cmdpbik7CisgICAgY29udGVudEhlaWdodEFuZE1hcmdpbi5jb250ZW50SGVpZ2h0ID0gcXVpcmtz
LnN0cmV0Y2hlZEluRmxvd0hlaWdodChsYXlvdXRCb3gsIGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4p
OwogCiAgICAgTE9HX1dJVEhfU1RSRUFNKEZvcm1hdHRpbmdDb250ZXh0TGF5b3V0LCBzdHJlYW0g
PDwgIltIZWlnaHRdW01hcmdpbl0gLT4gaW5mbG93IG5vbi1yZXBsYWNlZCAtPiBzdHJlY2hlZCB0
byB2aWV3cG9ydCAtPiBoZWlnaHQoIiA8PCBjb250ZW50SGVpZ2h0QW5kTWFyZ2luLmNvbnRlbnRI
ZWlnaHQgPDwgInB4KSBtYXJnaW4oIiA8PCBjb250ZW50SGVpZ2h0QW5kTWFyZ2luLm5vbkNvbGxh
cHNlZE1hcmdpbi5iZWZvcmUgPDwgInB4LCAiIDw8IGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4ubm9u
Q29sbGFwc2VkTWFyZ2luLmFmdGVyIDw8ICJweCkgLT4gbGF5b3V0Qm94KCIgPDwgJmxheW91dEJv
eCA8PCAiKSIpOwogICAgIHJldHVybiBjb250ZW50SGVpZ2h0QW5kTWFyZ2luOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdD
b250ZXh0UXVpcmtzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcv
QmxvY2tGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAKaW5kZXggZDAzYmExNTk4NWI1ZjE5ZmY3
NTNlMWIyMDI4ZjU0YjA0ODhiMmJhMC4uNDlmNDRhNGY2N2YzYTdiMjM4YjIyN2U3NTI1M2VmNWNj
NWE5NjEwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGlu
Zy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwCkBA
IC01Miw3ICs1Miw4IEBAIHN0YXRpYyBib29sIGlzUXVpcmtDb250YWluZXIoY29uc3QgQm94JiBs
YXlvdXRCb3gpCiAKIGJvb2wgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpuZWVkc1N0
cmV0Y2hpbmcoY29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0CiB7Ci0gICAgLy8gSW4gcXVpcmtz
IG1vZGUsIGJvZHkgc3RyZXRjaGVzIHRvIGh0bWwgYW5kIGh0bWwgdG8gdGhlIGluaXRpYWwgY29u
dGFpbmluZyBibG9jayAoaGVpZ2h0OiBhdXRvIG9ubHkpLgorICAgIEFTU0VSVChsYXlvdXRCb3gu
aXNJbkZsb3coKSk7CisgICAgLy8gSW4gcXVpcmtzIG1vZGUsIGluLWZsb3cgYm9keSBhbmQgaHRt
bCBzdHJldGNoIHRvIHRoZSBpbml0aWFsIGNvbnRhaW5pbmcgYmxvY2sgKGhlaWdodDogYXV0byBv
bmx5KS4KICAgICBpZiAoIWxheW91dFN0YXRlKCkuaW5RdWlya3NNb2RlKCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIApAQCAtNjIsNDUgKzYzLDQ1IEBAIGJvb2wgQmxvY2tGb3JtYXR0aW5nQ29u
dGV4dDo6UXVpcmtzOjpuZWVkc1N0cmV0Y2hpbmcoY29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0
CiAgICAgcmV0dXJuIGxheW91dEJveC5zdHlsZSgpLmxvZ2ljYWxIZWlnaHQoKS5pc0F1dG8oKTsK
IH0KIAotQ29udGVudEhlaWdodEFuZE1hcmdpbiBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpRdWly
a3M6OnN0cmV0Y2hlZEluRmxvd0hlaWdodChjb25zdCBCb3gmIGxheW91dEJveCwgQ29udGVudEhl
aWdodEFuZE1hcmdpbiBjb250ZW50SGVpZ2h0QW5kTWFyZ2luKQorTGF5b3V0VW5pdCBCbG9ja0Zv
cm1hdHRpbmdDb250ZXh0OjpRdWlya3M6OnN0cmV0Y2hlZEluRmxvd0hlaWdodChjb25zdCBCb3gm
IGxheW91dEJveCwgQ29udGVudEhlaWdodEFuZE1hcmdpbiBjb250ZW50SGVpZ2h0QW5kTWFyZ2lu
KQogewotICAgIEFTU0VSVChsYXlvdXRCb3guaXNJbkZsb3coKSk7Ci0gICAgQVNTRVJUKGxheW91
dEJveC5pc0RvY3VtZW50Qm94KCkgfHwgbGF5b3V0Qm94LmlzQm9keUJveCgpKTsKLQorICAgIEFT
U0VSVChuZWVkc1N0cmV0Y2hpbmcobGF5b3V0Qm94KSk7CiAgICAgYXV0byYgZm9ybWF0dGluZ0Nv
bnRleHQgPSB0aGlzLT5mb3JtYXR0aW5nQ29udGV4dCgpOwotICAgIGF1dG8mIGRvY3VtZW50Qm94
ID0gbGF5b3V0Qm94LmlzRG9jdW1lbnRCb3goKSA/IGxheW91dEJveCA6ICpsYXlvdXRCb3gucGFy
ZW50KCk7Ci0gICAgYXV0byYgZG9jdW1lbnRCb3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0
Lmdlb21ldHJ5Rm9yQm94KGRvY3VtZW50Qm94LCBFc2NhcGVSZWFzb246OkJvZHlTdHJlY2hlc1Rv
Vmlld3BvcnRRdWlyayk7Ci0KLSAgICBhdXRvJiBpbml0aWFsQ29udGFpbmluZ0Jsb2NrR2VvbWV0
cnkgPSBmb3JtYXR0aW5nQ29udGV4dC5nZW9tZXRyeUZvckJveChpbml0aWFsQ29udGFpbmluZ0Js
b2NrKGxheW91dEJveCksIEVzY2FwZVJlYXNvbjo6Qm9keVN0cmVjaGVzVG9WaWV3cG9ydFF1aXJr
KTsKLSAgICBhdXRvIHN0cmVjaGVkSGVpZ2h0ID0gaW5pdGlhbENvbnRhaW5pbmdCbG9ja0dlb21l
dHJ5LmNvbnRlbnRCb3hIZWlnaHQoKTsKLSAgICBzdHJlY2hlZEhlaWdodCAtPSBkb2N1bWVudEJv
eEdlb21ldHJ5LnZlcnRpY2FsQm9yZGVyKCkgKyBkb2N1bWVudEJveEdlb21ldHJ5LnZlcnRpY2Fs
UGFkZGluZygpLnZhbHVlT3IoMCk7CisgICAgYXV0byBub25Db2xsYXBzZWRWZXJ0aWNhbE1hcmdp
biA9IGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4ubm9uQ29sbGFwc2VkTWFyZ2luLmJlZm9yZSArIGNv
bnRlbnRIZWlnaHRBbmRNYXJnaW4ubm9uQ29sbGFwc2VkTWFyZ2luLmFmdGVyOwogCi0gICAgTGF5
b3V0VW5pdCB0b3RhbFZlcnRpY2FsTWFyZ2luOwogICAgIGlmIChsYXlvdXRCb3guaXNEb2N1bWVu
dEJveCgpKSB7Ci0gICAgICAgIC8vIERvY3VtZW50IGJveCdzIG1hcmdpbnMgZG8gbm90IGNvbGxh
cHNlLgotICAgICAgICBhdXRvIHZlcnRpY2FsTWFyZ2luID0gY29udGVudEhlaWdodEFuZE1hcmdp
bi5ub25Db2xsYXBzZWRNYXJnaW47Ci0gICAgICAgIHRvdGFsVmVydGljYWxNYXJnaW4gPSB2ZXJ0
aWNhbE1hcmdpbi5iZWZvcmUgKyB2ZXJ0aWNhbE1hcmdpbi5hZnRlcjsKLSAgICB9IGVsc2UgaWYg
KGxheW91dEJveC5pc0JvZHlCb3goKSkgewotICAgICAgICAvLyBIZXJlIGlzIHRoZSBxdWlya3kg
cGFydCBmb3IgYm9keSBib3g6Ci0gICAgICAgIC8vIFN0cmV0Y2ggdGhlIGJvZHkgdXNpbmcgdGhl
IGluaXRpYWwgY29udGFpbmluZyBibG9jaydzIGhlaWdodCBhbmQgc2hyaW5rIGl0IHdpdGggZG9j
dW1lbnQgYm94J3MgbWFyZ2luL2JvcmRlci9wYWRkaW5nLgotICAgICAgICAvLyBUaGlzIGxvb2tz
IGV4dHJlbWVseSBvZGQgd2hlbiBodG1sIGhhcyBub24tYXV0byBoZWlnaHQuCi0gICAgICAgIGF1
dG8gZG9jdW1lbnRCb3hWZXJ0aWNhbE1hcmdpbiA9IGZvcm1hdHRpbmdDb250ZXh0Lmdlb21ldHJ5
KCkuY29tcHV0ZWRWZXJ0aWNhbE1hcmdpbihkb2N1bWVudEJveCwgR2VvbWV0cnk6Omhvcml6b250
YWxDb25zdHJhaW50c0ZvckluRmxvdyhpbml0aWFsQ29udGFpbmluZ0Jsb2NrR2VvbWV0cnkpKTsK
LSAgICAgICAgc3RyZWNoZWRIZWlnaHQgLT0gKGRvY3VtZW50Qm94VmVydGljYWxNYXJnaW4uYmVm
b3JlLnZhbHVlT3IoMCkgKyBkb2N1bWVudEJveFZlcnRpY2FsTWFyZ2luLmFmdGVyLnZhbHVlT3Io
MCkpOwotCi0gICAgICAgIGF1dG8mIGJvZHlCb3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0
Lmdlb21ldHJ5Rm9yQm94KGxheW91dEJveCk7Ci0gICAgICAgIHN0cmVjaGVkSGVpZ2h0IC09IGJv
ZHlCb3hHZW9tZXRyeS52ZXJ0aWNhbEJvcmRlcigpICsgYm9keUJveEdlb21ldHJ5LnZlcnRpY2Fs
UGFkZGluZygpLnZhbHVlT3IoMCk7Ci0KLSAgICAgICAgYXV0byBub25Db2xsYXBzZWRNYXJnaW4g
PSBjb250ZW50SGVpZ2h0QW5kTWFyZ2luLm5vbkNvbGxhcHNlZE1hcmdpbjsKLSAgICAgICAgYXV0
byBjb2xsYXBzZWRNYXJnaW4gPSBmb3JtYXR0aW5nQ29udGV4dC5tYXJnaW5Db2xsYXBzZSgpLmNv
bGxhcHNlZFZlcnRpY2FsVmFsdWVzKGxheW91dEJveCwgbm9uQ29sbGFwc2VkTWFyZ2luKTsKLSAg
ICAgICAgdG90YWxWZXJ0aWNhbE1hcmdpbiA9IGNvbGxhcHNlZE1hcmdpbi5iZWZvcmUudmFsdWVP
cihub25Db2xsYXBzZWRNYXJnaW4uYmVmb3JlKTsKLSAgICAgICAgdG90YWxWZXJ0aWNhbE1hcmdp
biArPSBjb2xsYXBzZWRNYXJnaW4uaXNDb2xsYXBzZWRUaHJvdWdoID8gbm9uQ29sbGFwc2VkTWFy
Z2luLmFmdGVyIDogY29sbGFwc2VkTWFyZ2luLmFmdGVyLnZhbHVlT3Iobm9uQ29sbGFwc2VkTWFy
Z2luLmFmdGVyKTsKKyAgICAgICAgLy8gTGV0J3Mgc3RyZXRjaCB0aGUgaW5mbG93IGRvY3VtZW50
IGJveCg8aHRtbD4pIHRvIHRoZSBoZWlnaHQgb2YgdGhlIGluaXRpYWwgY29udGFpbmluZyBibG9j
ayAodmlldykuCisgICAgICAgIGF1dG8gZG9jdW1lbnRCb3hDb250ZW50SGVpZ2h0ID0gZm9ybWF0
dGluZ0NvbnRleHQuZ2VvbWV0cnlGb3JCb3goaW5pdGlhbENvbnRhaW5pbmdCbG9jayhsYXlvdXRC
b3gpLCBFc2NhcGVSZWFzb246OkRvY3VtZW50Qm94U3RyZWNoZXNUb1ZpZXdwb3J0UXVpcmspLmNv
bnRlbnRCb3hIZWlnaHQoKTsKKyAgICAgICAgLy8gRG9jdW1lbnQgYm94J3Mgb3duIHZlcnRpY2Fs
IG1hcmdpbi9ib3JkZXIvcGFkZGluZyB2YWx1ZXMgYWx3YXlzIHNocmluayB0aGUgY29udGVudCBo
ZWlnaHQuCisgICAgICAgIGF1dG8mIGRvY3VtZW50Qm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nQ29u
dGV4dC5nZW9tZXRyeUZvckJveChsYXlvdXRCb3gpOworICAgICAgICBkb2N1bWVudEJveENvbnRl
bnRIZWlnaHQgLT0gbm9uQ29sbGFwc2VkVmVydGljYWxNYXJnaW4gKyBkb2N1bWVudEJveEdlb21l
dHJ5LnZlcnRpY2FsQm9yZGVyKCkgKyBkb2N1bWVudEJveEdlb21ldHJ5LnZlcnRpY2FsUGFkZGlu
ZygpLnZhbHVlT3IoMCk7CisgICAgICAgIHJldHVybiBzdGQ6Om1heChjb250ZW50SGVpZ2h0QW5k
TWFyZ2luLmNvbnRlbnRIZWlnaHQsICBkb2N1bWVudEJveENvbnRlbnRIZWlnaHQpOwogICAgIH0K
IAotICAgIC8vIFN0cmV0Y2ggYnV0IG5ldmVyIG92ZXJzdHJldGNoIHdpdGggdGhlIG1hcmdpbnMu
Ci0gICAgaWYgKGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4uY29udGVudEhlaWdodCArIHRvdGFsVmVy
dGljYWxNYXJnaW4gPCBzdHJlY2hlZEhlaWdodCkKLSAgICAgICAgY29udGVudEhlaWdodEFuZE1h
cmdpbi5jb250ZW50SGVpZ2h0ID0gc3RyZWNoZWRIZWlnaHQgLSB0b3RhbFZlcnRpY2FsTWFyZ2lu
OwotCi0gICAgcmV0dXJuIGNvbnRlbnRIZWlnaHRBbmRNYXJnaW47CisgICAgLy8gSGVyZSBpcyB0
aGUgcXVpcmt5IHBhcnQgZm9yIGJvZHkgYm94IHdoZW4gaXQgc3RyZXRjaGVzIGFsbCB0aGUgd2F5
IHRvIHRoZSBJQ0IgZXZlbiB3aGVuIHRoZSBkb2N1bWVudCBib3ggZG9lcyBub3QgKGUuZy4gb3V0
LW9mLWZsb3cgcG9zaXRpb25lZCkuCisgICAgQVNTRVJUKGxheW91dEJveC5pc0JvZHlCb3goKSk7
CisgICAgYXV0byYgaW5pdGlhbENvbnRhaW5pbmdCbG9ja0dlb21ldHJ5ID0gZm9ybWF0dGluZ0Nv
bnRleHQuZ2VvbWV0cnlGb3JCb3goaW5pdGlhbENvbnRhaW5pbmdCbG9jayhsYXlvdXRCb3gpLCBF
c2NhcGVSZWFzb246OkJvZHlTdHJlY2hlc1RvVmlld3BvcnRRdWlyayk7CisgICAgLy8gU3RhcnQg
dGhlIGNvbnRlbnQgaGVpZ2h0IHdpdGggdGhlIElDQi4KKyAgICBhdXRvIGJvZHlCb3hDb250ZW50
SGVpZ2h0ID0gaW5pdGlhbENvbnRhaW5pbmdCbG9ja0dlb21ldHJ5LmNvbnRlbnRCb3hIZWlnaHQo
KTsKKyAgICAvLyBCb2R5IGJveCdzIG93biBib3JkZXIgYW5kIHBhZGRpbmcgc2hyaW5rIHRoZSBj
b250ZW50IGhlaWdodC4KKyAgICBhdXRvJiBib2R5Qm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nQ29u
dGV4dC5nZW9tZXRyeUZvckJveChsYXlvdXRCb3gpOworICAgIGJvZHlCb3hDb250ZW50SGVpZ2h0
IC09IGJvZHlCb3hHZW9tZXRyeS52ZXJ0aWNhbEJvcmRlcigpICsgYm9keUJveEdlb21ldHJ5LnZl
cnRpY2FsUGFkZGluZygpLnZhbHVlT3IoMCk7CisgICAgLy8gQm9keSBib3ggbmV2ZXIgY29sbGFw
c2VzIGl0cyB2ZXJ0aWNhbCBtYXJnaW5zIHdpdGggdGhlIGRvY3VtZW50IGJveCBidXQgaXQgbWln
aHQgY29sbGFwc2UgaXRzIG1hcmdpbiB3aXRoIGl0cyBkZXNjZW5kYW50cy4KKyAgICBhdXRvIG5v
bkNvbGxhcHNlZE1hcmdpbiA9IGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4ubm9uQ29sbGFwc2VkTWFy
Z2luOworICAgIGF1dG8gY29sbGFwc2VkTWFyZ2luID0gZm9ybWF0dGluZ0NvbnRleHQubWFyZ2lu
Q29sbGFwc2UoKS5jb2xsYXBzZWRWZXJ0aWNhbFZhbHVlcyhsYXlvdXRCb3gsIG5vbkNvbGxhcHNl
ZE1hcmdpbik7CisgICAgYXV0byB1c2VkVmVydGljYWxNYXJnaW4gPSBjb2xsYXBzZWRNYXJnaW4u
YmVmb3JlLnZhbHVlT3Iobm9uQ29sbGFwc2VkTWFyZ2luLmJlZm9yZSk7CisgICAgdXNlZFZlcnRp
Y2FsTWFyZ2luICs9IGNvbGxhcHNlZE1hcmdpbi5pc0NvbGxhcHNlZFRocm91Z2ggPyBub25Db2xs
YXBzZWRNYXJnaW4uYWZ0ZXIgOiBjb2xsYXBzZWRNYXJnaW4uYWZ0ZXIudmFsdWVPcihub25Db2xs
YXBzZWRNYXJnaW4uYWZ0ZXIpOworICAgIGJvZHlCb3hDb250ZW50SGVpZ2h0IC09IHVzZWRWZXJ0
aWNhbE1hcmdpbjsKKyAgICAvLyBEb2N1bWVudCBib3gncyBwYWRkaW5nIGFuZCBib3JkZXIgYWxz
byBzaHJpbmsgdGhlIGJvZHkgYm94J3MgY29udGVudCBoZWlnaHQuCisgICAgYXV0byYgZG9jdW1l
bnRCb3ggPSAqbGF5b3V0Qm94LnBhcmVudCgpOworICAgIGF1dG8mIGRvY3VtZW50Qm94R2VvbWV0
cnkgPSBmb3JtYXR0aW5nQ29udGV4dC5nZW9tZXRyeUZvckJveChkb2N1bWVudEJveCwgRXNjYXBl
UmVhc29uOjpCb2R5U3RyZWNoZXNUb1ZpZXdwb3J0UXVpcmspOworICAgIGJvZHlCb3hDb250ZW50
SGVpZ2h0IC09IGRvY3VtZW50Qm94R2VvbWV0cnkudmVydGljYWxCb3JkZXIoKSArIGRvY3VtZW50
Qm94R2VvbWV0cnkudmVydGljYWxQYWRkaW5nKCkudmFsdWVPcigwKTsKKyAgICAvLyBIb3dldmVy
IHRoZSBub24taW4tZmxvdyBkb2N1bWVudCBib3gncyB2ZXJ0aWNhbCBtYXJnaW5zIGFyZSBpZ25v
cmVkLiBUaGV5IGRvbid0IGFmZmVjdCB0aGUgYm9keSBib3gncyBjb250ZW50IGhlaWdodC4KKyAg
ICBpZiAoZG9jdW1lbnRCb3guaXNJbkZsb3coKSkgeworICAgICAgICBhdXRvIHByZWNvbXB1dGVE
b2N1bWVudEJveFZlcnRpY2FsTWFyZ2luID0gZm9ybWF0dGluZ0NvbnRleHQuZ2VvbWV0cnkoKS5j
b21wdXRlZFZlcnRpY2FsTWFyZ2luKGRvY3VtZW50Qm94LCBHZW9tZXRyeTo6aG9yaXpvbnRhbENv
bnN0cmFpbnRzRm9ySW5GbG93KGluaXRpYWxDb250YWluaW5nQmxvY2tHZW9tZXRyeSkpOworICAg
ICAgICBib2R5Qm94Q29udGVudEhlaWdodCAtPSBwcmVjb21wdXRlRG9jdW1lbnRCb3hWZXJ0aWNh
bE1hcmdpbi5iZWZvcmUudmFsdWVPcigwKSArIHByZWNvbXB1dGVEb2N1bWVudEJveFZlcnRpY2Fs
TWFyZ2luLmFmdGVyLnZhbHVlT3IoMCk7CisgICAgfQorICAgIHJldHVybiBzdGQ6Om1heChjb250
ZW50SGVpZ2h0QW5kTWFyZ2luLmNvbnRlbnRIZWlnaHQsICBib2R5Qm94Q29udGVudEhlaWdodCk7
CiB9CiAKIGJvb2wgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpzaG91bGRJZ25vcmVD
b2xsYXBzZWRRdWlya01hcmdpbihjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3QKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBi
MWUzZWQyYjA2NGI0ZGIyOTM3NjNiNDZmMGQzZjU1MDEwZmQxNTQxLi43OGZmOTcyMzQ5OWYxYTcx
ZjQzZDI2OGRmZjZlYjcwODI2YWIzZDBmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDIt
MTggIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtRdWly
a10gQWRkIGFkZGl0aW9uYWwgZXNjYXBlIHJlYXNvbiB0byBjb3ZlciB0aGUgY2FzZSB3aGVuIGJv
ZHkgbmVlZHMgYWNjZXNzIHRvIGJvdGggdGhlIGJvZHkgYW5kIHRoZSBJQ0IgZ2VvbWV0cnkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzg2OQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNTk1MzEyMjU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50
dGkgS29pdmlzdG8uCisKKyAgICAgICAgKiBmYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L291
dC1vZi1mbG93LWh0bWwtYW5kLWJvZHktc3RyZXRjaGVzLXRvLXZpZXdwb3J0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC9vdXQtb2Yt
Zmxvdy1odG1sLWFuZC1ib2R5LXN0cmV0Y2hlcy10by12aWV3cG9ydC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjAtMDItMTgg
IFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIEFk
ZCBtaXNzaW5nIGZsb2F0IGNoZWNrIGluIGlubGluZSBsaW5lIGxheW91dApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC9vdXQtb2YtZmxvdy1odG1s
LWFuZC1ib2R5LXN0cmV0Y2hlcy10by12aWV3cG9ydC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L291dC1vZi1mbG93LWh0bWwtYW5kLWJvZHkt
c3RyZXRjaGVzLXRvLXZpZXdwb3J0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYTY1MjFlYjcy
YmMxNWRjNzgzMzI0ODE0OTMwN2I1MTNhYzhmMzhkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC9vdXQtb2YtZmxvdy1odG1sLWFuZC1i
b2R5LXN0cmV0Y2hlcy10by12aWV3cG9ydC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACits
YXllciBhdCAoMCwwKSBzaXplIDc4NXg2MDEKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4
NXg2MDAKK2xheWVyIGF0ICgxMCwxMCkgc2l6ZSAxMDJ4MTAyCisgIFJlbmRlckJsb2NrIChwb3Np
dGlvbmVkKSB7SFRNTH0gYXQgKDEwLDEwKSBzaXplIDEwMngxMDIgW2JvcmRlcjogKDFweCBzb2xp
ZCAjMDA4MDAwKV0KKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOSw5KSBzaXplIDg0eDU4MiBb
Ym9yZGVyOiAoMXB4IHNvbGlkICMwMDAwRkYpXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC9vdXQtb2YtZmxvdy1odG1sLWFuZC1ib2R5LXN0cmV0
Y2hlcy10by12aWV3cG9ydC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sYXlvdXRmb3JtYXR0aW5n
Y29udGV4dC9vdXQtb2YtZmxvdy1odG1sLWFuZC1ib2R5LXN0cmV0Y2hlcy10by12aWV3cG9ydC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmM0Zjg3OTBiNTA5YzAzZmEwYWVmY2VmZDY3Zjk5NTk2NDNmZTE5MmYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xheW91dGZvcm1hdHRpbmdjb250
ZXh0L291dC1vZi1mbG93LWh0bWwtYW5kLWJvZHktc3RyZXRjaGVzLXRvLXZpZXdwb3J0Lmh0bWwK
QEAgLTAsMCArMSw0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGludGVybmFsOkxheW91
dEZvcm1hdHRpbmdDb250ZXh0RW5hYmxlZD10cnVlIGludGVybmFsOkxheW91dEZvcm1hdHRpbmdD
b250ZXh0SW50ZWdyYXRpb25FbmFibGVkPWZhbHNlIF0gLS0+Cis8aHRtbCBzdHlsZT0icG9zaXRp
b246IGFic29sdXRlOyBsZWZ0OiAxMHB4OyB0b3A6IDEwcHg7IGhlaWdodDogMTAwcHg7IHdpZHRo
OiAxMDBweDsgYm9yZGVyOiAxcHggc29saWQgZ3JlZW47Ij4KKzxib2R5IHN0eWxlPSJib3JkZXI6
IDFweCBzb2xpZCBibHVlOyI+PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGQ3MjFjZjE2NGM5MmQ4MTI1NTZmNDIy
NTdmYTkyNjBhNGYwZGM1ODEuLmQ0YTZlODIzOGMwODU1YWJhMzc4ZTRjMDVmNTFkYzE4NjA0ZGQy
ODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTE0MTYsNCArMTQxNiw0IEBAIHdlYmtpdC5vcmcvYi8yMDc3NzQgaHR0cC93cHQvc2Vydmlj
ZS13b3JrZXJzL3RoaXJkLXBhcnR5LWNvb2tpZS5odG1sIFsgUGFzcyBUaW1lCiB3ZWJraXQub3Jn
L2IvMjA3ODY2IGltcG9ydGVkL3czYy9JbmRleGVkREItcHJpdmF0ZS1icm93c2luZyBbIFBhc3Mg
VGltZW91dCBdCiAKICMgc2tpcCBMRkMgcmVncmVzc2lvbiB0ZXN0cyBvbiBpT1MgZm9yIG5vdy4K
LWZhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvYmxvY2stb25seS8gWyBTa2lwIF0KK2Zhc3Qv
bGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvIFsgU2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391062</attachid>
            <date>2020-02-18 10:01:51 -0800</date>
            <delta_ts>2020-02-18 10:39:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207869-20200218100150.patch</filename>
            <type>text/plain</type>
            <size>15595</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2ODM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2JmZjMzZGU0MTkwYjcz
YjU5YzhhYmFjMTExOTBjYjBiYzYxOTMxYi4uMWVmOTUxYzgxMDI1NWZkODU2ZGY3MzM4YTEzYTk4
MzBjMmUwNWFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTAyLTE4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bUXVpcmtdIEFkZCBh
ZGRpdGlvbmFsIGVzY2FwZSByZWFzb24gdG8gY292ZXIgdGhlIGNhc2Ugd2hlbiBib2R5IG5lZWRz
IGFjY2VzcyB0byBib3RoIHRoZSBib2R5IGFuZCB0aGUgSUNCIGdlb21ldHJ5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDc4NjkKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzU5NTMxMjI1PgorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZp
c3RvLgorCisgICAgICAgIFRlc3Q6IGZhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvb3V0LW9m
LWZsb3ctaHRtbC1hbmQtYm9keS1zdHJldGNoZXMtdG8tdmlld3BvcnQuaHRtbAorCisgICAgICAg
IFdoZW4gdGhlIGJvZHkgaXMgc3RyZXRjaGVkIGFsbCB0aGUgd2F5IHRvIHRoZSBJQ0IsIHdlIGhh
dmUgdG8gcmVhZCBib3RoIHRoZSBkb2N1bWVudCBib3gncyBhbmQgdGhlIElDQidzIGdlb21ldHJ5
LgorICAgICAgICBUaGlzIHBhdGNoIGFsc28gcmVmYWN0b3JzIFF1aXJrczo6c3RyZXRjaGVkSW5G
bG93SGVpZ2h0IGEgYml0IHRvIGRlY291cGxlIHRoZSBkb2N1bWVudCBhbmQgdGhlIGJvZHkgY2Fz
ZXMuCisKKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6Z2VvbWV0cnlGb3JCb3ggY29uc3Qp
OgorICAgICAgICAqIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91
dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxh
eW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0
cnk6OmluRmxvd0hlaWdodEFuZE1hcmdpbik6CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9ybWF0
dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpuZWVkc1N0cmV0Y2hpbmcg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0
OjpRdWlya3M6OnN0cmV0Y2hlZEluRmxvd0hlaWdodCk6CisKIDIwMjAtMDItMTggIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBmcm9tICJsYXll
ciBmbHVzaCIgdGVybWlub2xvZ3kgdG8gInJlbmRlcmluZyB1cGRhdGUiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCA4MjU0OGViOTFhMjliMWYwZTcy
YTA3ZDc5NjVjMDJiMGRlMjYwZDM0Li5hYmQ1MjUxNGExOWZjZTJiOWIzNmZmYThkMTVlMDcxOTc4
NDM1Yzc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAK
QEAgLTIwNCwxMSArMjA0LDE3IEBAIGNvbnN0IERpc3BsYXk6OkJveCYgRm9ybWF0dGluZ0NvbnRl
eHQ6Omdlb21ldHJ5Rm9yQm94KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBPcHRpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoKmVzY2FwZVJlYXNvbiA9
PSBFc2NhcGVSZWFzb246OkJvZHlTdHJlY2hlc1RvVmlld3BvcnRRdWlyaykgeworICAgICAgICBp
ZiAoKmVzY2FwZVJlYXNvbiA9PSBFc2NhcGVSZWFzb246OkRvY3VtZW50Qm94U3RyZWNoZXNUb1Zp
ZXdwb3J0UXVpcmspIHsKICAgICAgICAgICAgIEFTU0VSVChsYXlvdXRTdGF0ZSgpLmluUXVpcmtz
TW9kZSgpKTsKICAgICAgICAgICAgIHJldHVybiBsYXlvdXRCb3guaXNJbml0aWFsQ29udGFpbmlu
Z0Jsb2NrKCk7CiAgICAgICAgIH0KIAorICAgICAgICBpZiAoKmVzY2FwZVJlYXNvbiA9PSBFc2Nh
cGVSZWFzb246OkJvZHlTdHJlY2hlc1RvVmlld3BvcnRRdWlyaykgeworICAgICAgICAgICAgQVNT
RVJUKGxheW91dFN0YXRlKCkuaW5RdWlya3NNb2RlKCkpOworICAgICAgICAgICAgcmV0dXJuIGxh
eW91dEJveC5pc0luaXRpYWxDb250YWluaW5nQmxvY2soKSB8fCBsYXlvdXRCb3guaXNEb2N1bWVu
dEJveCgpOworCisgICAgICAgIH0KKwogICAgICAgICBpZiAoKmVzY2FwZVJlYXNvbiA9PSBFc2Nh
cGVSZWFzb246OlN0cm9rZU92ZXJmbG93TmVlZHNWaWV3cG9ydEdlb21ldHJ5KQogICAgICAgICAg
ICAgcmV0dXJuIGxheW91dEJveC5pc0luaXRpYWxDb250YWluaW5nQmxvY2soKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCA4MThjZTA3MGI3NDcwNjFk
NzlmZDM5NTVmMzRiMDg2NDg3Nzg2OGU0Li5lZWQ4MDRkNmZlZmEwMmIxNWY3MzMzNWNhMGQ5ZmU5
YTczNTBkZTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0Nv
bnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaApA
QCAtODYsNiArODYsNyBAQCBwdWJsaWM6CiAgICAgICAgIE91dE9mRmxvd0JveE5lZWRzSW5GbG93
R2VvbWV0cnksCiAgICAgICAgIEZsb2F0Qm94TmVlZHNUb0JlSW5BYnNvbHV0ZUNvb3JkaW5hdGVz
LAogICAgICAgICBGaW5kRml4ZWRIZWlnaHRBbmNlc3RvclF1aXJrLAorICAgICAgICBEb2N1bWVu
dEJveFN0cmVjaGVzVG9WaWV3cG9ydFF1aXJrLAogICAgICAgICBCb2R5U3RyZWNoZXNUb1ZpZXdw
b3J0UXVpcmssCiAgICAgICAgIFN0cm9rZU92ZXJmbG93TmVlZHNWaWV3cG9ydEdlb21ldHJ5LAog
ICAgICAgICBUYWJsZU5lZWRzQWNjZXNzVG9UYWJsZVdyYXBwZXIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5o
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdD
b250ZXh0LmgKaW5kZXggMGJlMmQzYzNlZWUwZmQ0ZjA3M2RkMDIxYTdjZjY4MDg5MTJkMDAwNi4u
NTJmMWU1ZmFkZWNiMmFlOTY2MDM3ZmZlY2JlMzIyMTY0ZmI2MWQ1OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1h
dHRpbmdDb250ZXh0LmgKQEAgLTE0Myw3ICsxNDMsNyBAQCBwcml2YXRlOgogICAgIGNsYXNzIFF1
aXJrcyA6IHB1YmxpYyBGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzIHsKICAgICBwdWJsaWM6CiAg
ICAgICAgIGJvb2wgbmVlZHNTdHJldGNoaW5nKGNvbnN0IEJveCYpIGNvbnN0OwotICAgICAgICBD
b250ZW50SGVpZ2h0QW5kTWFyZ2luIHN0cmV0Y2hlZEluRmxvd0hlaWdodChjb25zdCBCb3gmLCBD
b250ZW50SGVpZ2h0QW5kTWFyZ2luKTsKKyAgICAgICAgTGF5b3V0VW5pdCBzdHJldGNoZWRJbkZs
b3dIZWlnaHQoY29uc3QgQm94JiwgQ29udGVudEhlaWdodEFuZE1hcmdpbik7CiAKICAgICAgICAg
Ym9vbCBzaG91bGRJZ25vcmVDb2xsYXBzZWRRdWlya01hcmdpbihjb25zdCBCb3gmKSBjb25zdDsK
ICAgICAgICAgYm9vbCBzaG91bGRJZ25vcmVNYXJnaW5CZWZvcmUoY29uc3QgQm94JikgY29uc3Q7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2Nr
Rm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxv
Y2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKaW5kZXggNmQy
M2JmMDA5YTBiYTY5MWQzYmEyYzdkMzIzNmYxYzM1YTU4ZGFhYi4uNTI1ZTNhOWViZTc4YzEyNTFj
ZWM3ZWQxODhjYTI1ZjYwYTk0NDU3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29u
dGV4dEdlb21ldHJ5LmNwcApAQCAtMjcwLDcgKzI3MCw3IEBAIENvbnRlbnRIZWlnaHRBbmRNYXJn
aW4gQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmluRmxvd0hlaWdodEFuZE1hcmdp
bihjCiAgICAgaWYgKCFxdWlya3MubmVlZHNTdHJldGNoaW5nKGxheW91dEJveCkpCiAgICAgICAg
IHJldHVybiBjb250ZW50SGVpZ2h0QW5kTWFyZ2luOwogCi0gICAgY29udGVudEhlaWdodEFuZE1h
cmdpbiA9IHF1aXJrcy5zdHJldGNoZWRJbkZsb3dIZWlnaHQobGF5b3V0Qm94LCBjb250ZW50SGVp
Z2h0QW5kTWFyZ2luKTsKKyAgICBjb250ZW50SGVpZ2h0QW5kTWFyZ2luLmNvbnRlbnRIZWlnaHQg
PSBxdWlya3Muc3RyZXRjaGVkSW5GbG93SGVpZ2h0KGxheW91dEJveCwgY29udGVudEhlaWdodEFu
ZE1hcmdpbik7CiAKICAgICBMT0dfV0lUSF9TVFJFQU0oRm9ybWF0dGluZ0NvbnRleHRMYXlvdXQs
IHN0cmVhbSA8PCAiW0hlaWdodF1bTWFyZ2luXSAtPiBpbmZsb3cgbm9uLXJlcGxhY2VkIC0+IHN0
cmVjaGVkIHRvIHZpZXdwb3J0IC0+IGhlaWdodCgiIDw8IGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4u
Y29udGVudEhlaWdodCA8PCAicHgpIG1hcmdpbigiIDw8IGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4u
bm9uQ29sbGFwc2VkTWFyZ2luLmJlZm9yZSA8PCAicHgsICIgPDwgY29udGVudEhlaWdodEFuZE1h
cmdpbi5ub25Db2xsYXBzZWRNYXJnaW4uYWZ0ZXIgPDwgInB4KSAtPiBsYXlvdXRCb3goIiA8PCAm
bGF5b3V0Qm94IDw8ICIpIik7CiAgICAgcmV0dXJuIGNvbnRlbnRIZWlnaHRBbmRNYXJnaW47CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9y
bWF0dGluZ0NvbnRleHRRdWlya3MuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9y
bWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcAppbmRleCBkMDNiYTE1OTg1
YjVmMTlmZjc1M2UxYjIwMjhmNTRiMDQ4OGIyYmEwLi40OWY0NGE0ZjY3ZjNhN2IyMzhiMjI3ZTc1
MjUzZWY1Y2M1YTk2MTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tm
b3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dFF1aXJr
cy5jcHAKQEAgLTUyLDcgKzUyLDggQEAgc3RhdGljIGJvb2wgaXNRdWlya0NvbnRhaW5lcihjb25z
dCBCb3gmIGxheW91dEJveCkKIAogYm9vbCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpRdWlya3M6
Om5lZWRzU3RyZXRjaGluZyhjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3QKIHsKLSAgICAvLyBJ
biBxdWlya3MgbW9kZSwgYm9keSBzdHJldGNoZXMgdG8gaHRtbCBhbmQgaHRtbCB0byB0aGUgaW5p
dGlhbCBjb250YWluaW5nIGJsb2NrIChoZWlnaHQ6IGF1dG8gb25seSkuCisgICAgQVNTRVJUKGxh
eW91dEJveC5pc0luRmxvdygpKTsKKyAgICAvLyBJbiBxdWlya3MgbW9kZSwgaW4tZmxvdyBib2R5
IGFuZCBodG1sIHN0cmV0Y2ggdG8gdGhlIGluaXRpYWwgY29udGFpbmluZyBibG9jayAoaGVpZ2h0
OiBhdXRvIG9ubHkpLgogICAgIGlmICghbGF5b3V0U3RhdGUoKS5pblF1aXJrc01vZGUoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC02Miw0NSArNjMsNDUgQEAgYm9vbCBCbG9ja0Zvcm1h
dHRpbmdDb250ZXh0OjpRdWlya3M6Om5lZWRzU3RyZXRjaGluZyhjb25zdCBCb3gmIGxheW91dEJv
eCkgY29uc3QKICAgICByZXR1cm4gbGF5b3V0Qm94LnN0eWxlKCkubG9naWNhbEhlaWdodCgpLmlz
QXV0bygpOwogfQogCi1Db250ZW50SGVpZ2h0QW5kTWFyZ2luIEJsb2NrRm9ybWF0dGluZ0NvbnRl
eHQ6OlF1aXJrczo6c3RyZXRjaGVkSW5GbG93SGVpZ2h0KGNvbnN0IEJveCYgbGF5b3V0Qm94LCBD
b250ZW50SGVpZ2h0QW5kTWFyZ2luIGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4pCitMYXlvdXRVbml0
IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6c3RyZXRjaGVkSW5GbG93SGVpZ2h0KGNv
bnN0IEJveCYgbGF5b3V0Qm94LCBDb250ZW50SGVpZ2h0QW5kTWFyZ2luIGNvbnRlbnRIZWlnaHRB
bmRNYXJnaW4pCiB7Ci0gICAgQVNTRVJUKGxheW91dEJveC5pc0luRmxvdygpKTsKLSAgICBBU1NF
UlQobGF5b3V0Qm94LmlzRG9jdW1lbnRCb3goKSB8fCBsYXlvdXRCb3guaXNCb2R5Qm94KCkpOwot
CisgICAgQVNTRVJUKG5lZWRzU3RyZXRjaGluZyhsYXlvdXRCb3gpKTsKICAgICBhdXRvJiBmb3Jt
YXR0aW5nQ29udGV4dCA9IHRoaXMtPmZvcm1hdHRpbmdDb250ZXh0KCk7Ci0gICAgYXV0byYgZG9j
dW1lbnRCb3ggPSBsYXlvdXRCb3guaXNEb2N1bWVudEJveCgpID8gbGF5b3V0Qm94IDogKmxheW91
dEJveC5wYXJlbnQoKTsKLSAgICBhdXRvJiBkb2N1bWVudEJveEdlb21ldHJ5ID0gZm9ybWF0dGlu
Z0NvbnRleHQuZ2VvbWV0cnlGb3JCb3goZG9jdW1lbnRCb3gsIEVzY2FwZVJlYXNvbjo6Qm9keVN0
cmVjaGVzVG9WaWV3cG9ydFF1aXJrKTsKLQotICAgIGF1dG8mIGluaXRpYWxDb250YWluaW5nQmxv
Y2tHZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0Lmdlb21ldHJ5Rm9yQm94KGluaXRpYWxDb250
YWluaW5nQmxvY2sobGF5b3V0Qm94KSwgRXNjYXBlUmVhc29uOjpCb2R5U3RyZWNoZXNUb1ZpZXdw
b3J0UXVpcmspOwotICAgIGF1dG8gc3RyZWNoZWRIZWlnaHQgPSBpbml0aWFsQ29udGFpbmluZ0Js
b2NrR2VvbWV0cnkuY29udGVudEJveEhlaWdodCgpOwotICAgIHN0cmVjaGVkSGVpZ2h0IC09IGRv
Y3VtZW50Qm94R2VvbWV0cnkudmVydGljYWxCb3JkZXIoKSArIGRvY3VtZW50Qm94R2VvbWV0cnku
dmVydGljYWxQYWRkaW5nKCkudmFsdWVPcigwKTsKKyAgICBhdXRvIG5vbkNvbGxhcHNlZFZlcnRp
Y2FsTWFyZ2luID0gY29udGVudEhlaWdodEFuZE1hcmdpbi5ub25Db2xsYXBzZWRNYXJnaW4uYmVm
b3JlICsgY29udGVudEhlaWdodEFuZE1hcmdpbi5ub25Db2xsYXBzZWRNYXJnaW4uYWZ0ZXI7CiAK
LSAgICBMYXlvdXRVbml0IHRvdGFsVmVydGljYWxNYXJnaW47CiAgICAgaWYgKGxheW91dEJveC5p
c0RvY3VtZW50Qm94KCkpIHsKLSAgICAgICAgLy8gRG9jdW1lbnQgYm94J3MgbWFyZ2lucyBkbyBu
b3QgY29sbGFwc2UuCi0gICAgICAgIGF1dG8gdmVydGljYWxNYXJnaW4gPSBjb250ZW50SGVpZ2h0
QW5kTWFyZ2luLm5vbkNvbGxhcHNlZE1hcmdpbjsKLSAgICAgICAgdG90YWxWZXJ0aWNhbE1hcmdp
biA9IHZlcnRpY2FsTWFyZ2luLmJlZm9yZSArIHZlcnRpY2FsTWFyZ2luLmFmdGVyOwotICAgIH0g
ZWxzZSBpZiAobGF5b3V0Qm94LmlzQm9keUJveCgpKSB7Ci0gICAgICAgIC8vIEhlcmUgaXMgdGhl
IHF1aXJreSBwYXJ0IGZvciBib2R5IGJveDoKLSAgICAgICAgLy8gU3RyZXRjaCB0aGUgYm9keSB1
c2luZyB0aGUgaW5pdGlhbCBjb250YWluaW5nIGJsb2NrJ3MgaGVpZ2h0IGFuZCBzaHJpbmsgaXQg
d2l0aCBkb2N1bWVudCBib3gncyBtYXJnaW4vYm9yZGVyL3BhZGRpbmcuCi0gICAgICAgIC8vIFRo
aXMgbG9va3MgZXh0cmVtZWx5IG9kZCB3aGVuIGh0bWwgaGFzIG5vbi1hdXRvIGhlaWdodC4KLSAg
ICAgICAgYXV0byBkb2N1bWVudEJveFZlcnRpY2FsTWFyZ2luID0gZm9ybWF0dGluZ0NvbnRleHQu
Z2VvbWV0cnkoKS5jb21wdXRlZFZlcnRpY2FsTWFyZ2luKGRvY3VtZW50Qm94LCBHZW9tZXRyeTo6
aG9yaXpvbnRhbENvbnN0cmFpbnRzRm9ySW5GbG93KGluaXRpYWxDb250YWluaW5nQmxvY2tHZW9t
ZXRyeSkpOwotICAgICAgICBzdHJlY2hlZEhlaWdodCAtPSAoZG9jdW1lbnRCb3hWZXJ0aWNhbE1h
cmdpbi5iZWZvcmUudmFsdWVPcigwKSArIGRvY3VtZW50Qm94VmVydGljYWxNYXJnaW4uYWZ0ZXIu
dmFsdWVPcigwKSk7Ci0KLSAgICAgICAgYXV0byYgYm9keUJveEdlb21ldHJ5ID0gZm9ybWF0dGlu
Z0NvbnRleHQuZ2VvbWV0cnlGb3JCb3gobGF5b3V0Qm94KTsKLSAgICAgICAgc3RyZWNoZWRIZWln
aHQgLT0gYm9keUJveEdlb21ldHJ5LnZlcnRpY2FsQm9yZGVyKCkgKyBib2R5Qm94R2VvbWV0cnku
dmVydGljYWxQYWRkaW5nKCkudmFsdWVPcigwKTsKLQotICAgICAgICBhdXRvIG5vbkNvbGxhcHNl
ZE1hcmdpbiA9IGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4ubm9uQ29sbGFwc2VkTWFyZ2luOwotICAg
ICAgICBhdXRvIGNvbGxhcHNlZE1hcmdpbiA9IGZvcm1hdHRpbmdDb250ZXh0Lm1hcmdpbkNvbGxh
cHNlKCkuY29sbGFwc2VkVmVydGljYWxWYWx1ZXMobGF5b3V0Qm94LCBub25Db2xsYXBzZWRNYXJn
aW4pOwotICAgICAgICB0b3RhbFZlcnRpY2FsTWFyZ2luID0gY29sbGFwc2VkTWFyZ2luLmJlZm9y
ZS52YWx1ZU9yKG5vbkNvbGxhcHNlZE1hcmdpbi5iZWZvcmUpOwotICAgICAgICB0b3RhbFZlcnRp
Y2FsTWFyZ2luICs9IGNvbGxhcHNlZE1hcmdpbi5pc0NvbGxhcHNlZFRocm91Z2ggPyBub25Db2xs
YXBzZWRNYXJnaW4uYWZ0ZXIgOiBjb2xsYXBzZWRNYXJnaW4uYWZ0ZXIudmFsdWVPcihub25Db2xs
YXBzZWRNYXJnaW4uYWZ0ZXIpOworICAgICAgICAvLyBMZXQncyBzdHJldGNoIHRoZSBpbmZsb3cg
ZG9jdW1lbnQgYm94KDxodG1sPikgdG8gdGhlIGhlaWdodCBvZiB0aGUgaW5pdGlhbCBjb250YWlu
aW5nIGJsb2NrICh2aWV3KS4KKyAgICAgICAgYXV0byBkb2N1bWVudEJveENvbnRlbnRIZWlnaHQg
PSBmb3JtYXR0aW5nQ29udGV4dC5nZW9tZXRyeUZvckJveChpbml0aWFsQ29udGFpbmluZ0Jsb2Nr
KGxheW91dEJveCksIEVzY2FwZVJlYXNvbjo6RG9jdW1lbnRCb3hTdHJlY2hlc1RvVmlld3BvcnRR
dWlyaykuY29udGVudEJveEhlaWdodCgpOworICAgICAgICAvLyBEb2N1bWVudCBib3gncyBvd24g
dmVydGljYWwgbWFyZ2luL2JvcmRlci9wYWRkaW5nIHZhbHVlcyBhbHdheXMgc2hyaW5rIHRoZSBj
b250ZW50IGhlaWdodC4KKyAgICAgICAgYXV0byYgZG9jdW1lbnRCb3hHZW9tZXRyeSA9IGZvcm1h
dHRpbmdDb250ZXh0Lmdlb21ldHJ5Rm9yQm94KGxheW91dEJveCk7CisgICAgICAgIGRvY3VtZW50
Qm94Q29udGVudEhlaWdodCAtPSBub25Db2xsYXBzZWRWZXJ0aWNhbE1hcmdpbiArIGRvY3VtZW50
Qm94R2VvbWV0cnkudmVydGljYWxCb3JkZXIoKSArIGRvY3VtZW50Qm94R2VvbWV0cnkudmVydGlj
YWxQYWRkaW5nKCkudmFsdWVPcigwKTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWF4KGNvbnRlbnRI
ZWlnaHRBbmRNYXJnaW4uY29udGVudEhlaWdodCwgIGRvY3VtZW50Qm94Q29udGVudEhlaWdodCk7
CiAgICAgfQogCi0gICAgLy8gU3RyZXRjaCBidXQgbmV2ZXIgb3ZlcnN0cmV0Y2ggd2l0aCB0aGUg
bWFyZ2lucy4KLSAgICBpZiAoY29udGVudEhlaWdodEFuZE1hcmdpbi5jb250ZW50SGVpZ2h0ICsg
dG90YWxWZXJ0aWNhbE1hcmdpbiA8IHN0cmVjaGVkSGVpZ2h0KQotICAgICAgICBjb250ZW50SGVp
Z2h0QW5kTWFyZ2luLmNvbnRlbnRIZWlnaHQgPSBzdHJlY2hlZEhlaWdodCAtIHRvdGFsVmVydGlj
YWxNYXJnaW47Ci0KLSAgICByZXR1cm4gY29udGVudEhlaWdodEFuZE1hcmdpbjsKKyAgICAvLyBI
ZXJlIGlzIHRoZSBxdWlya3kgcGFydCBmb3IgYm9keSBib3ggd2hlbiBpdCBzdHJldGNoZXMgYWxs
IHRoZSB3YXkgdG8gdGhlIElDQiBldmVuIHdoZW4gdGhlIGRvY3VtZW50IGJveCBkb2VzIG5vdCAo
ZS5nLiBvdXQtb2YtZmxvdyBwb3NpdGlvbmVkKS4KKyAgICBBU1NFUlQobGF5b3V0Qm94LmlzQm9k
eUJveCgpKTsKKyAgICBhdXRvJiBpbml0aWFsQ29udGFpbmluZ0Jsb2NrR2VvbWV0cnkgPSBmb3Jt
YXR0aW5nQ29udGV4dC5nZW9tZXRyeUZvckJveChpbml0aWFsQ29udGFpbmluZ0Jsb2NrKGxheW91
dEJveCksIEVzY2FwZVJlYXNvbjo6Qm9keVN0cmVjaGVzVG9WaWV3cG9ydFF1aXJrKTsKKyAgICAv
LyBTdGFydCB0aGUgY29udGVudCBoZWlnaHQgd2l0aCB0aGUgSUNCLgorICAgIGF1dG8gYm9keUJv
eENvbnRlbnRIZWlnaHQgPSBpbml0aWFsQ29udGFpbmluZ0Jsb2NrR2VvbWV0cnkuY29udGVudEJv
eEhlaWdodCgpOworICAgIC8vIEJvZHkgYm94J3Mgb3duIGJvcmRlciBhbmQgcGFkZGluZyBzaHJp
bmsgdGhlIGNvbnRlbnQgaGVpZ2h0LgorICAgIGF1dG8mIGJvZHlCb3hHZW9tZXRyeSA9IGZvcm1h
dHRpbmdDb250ZXh0Lmdlb21ldHJ5Rm9yQm94KGxheW91dEJveCk7CisgICAgYm9keUJveENvbnRl
bnRIZWlnaHQgLT0gYm9keUJveEdlb21ldHJ5LnZlcnRpY2FsQm9yZGVyKCkgKyBib2R5Qm94R2Vv
bWV0cnkudmVydGljYWxQYWRkaW5nKCkudmFsdWVPcigwKTsKKyAgICAvLyBCb2R5IGJveCBuZXZl
ciBjb2xsYXBzZXMgaXRzIHZlcnRpY2FsIG1hcmdpbnMgd2l0aCB0aGUgZG9jdW1lbnQgYm94IGJ1
dCBpdCBtaWdodCBjb2xsYXBzZSBpdHMgbWFyZ2luIHdpdGggaXRzIGRlc2NlbmRhbnRzLgorICAg
IGF1dG8gbm9uQ29sbGFwc2VkTWFyZ2luID0gY29udGVudEhlaWdodEFuZE1hcmdpbi5ub25Db2xs
YXBzZWRNYXJnaW47CisgICAgYXV0byBjb2xsYXBzZWRNYXJnaW4gPSBmb3JtYXR0aW5nQ29udGV4
dC5tYXJnaW5Db2xsYXBzZSgpLmNvbGxhcHNlZFZlcnRpY2FsVmFsdWVzKGxheW91dEJveCwgbm9u
Q29sbGFwc2VkTWFyZ2luKTsKKyAgICBhdXRvIHVzZWRWZXJ0aWNhbE1hcmdpbiA9IGNvbGxhcHNl
ZE1hcmdpbi5iZWZvcmUudmFsdWVPcihub25Db2xsYXBzZWRNYXJnaW4uYmVmb3JlKTsKKyAgICB1
c2VkVmVydGljYWxNYXJnaW4gKz0gY29sbGFwc2VkTWFyZ2luLmlzQ29sbGFwc2VkVGhyb3VnaCA/
IG5vbkNvbGxhcHNlZE1hcmdpbi5hZnRlciA6IGNvbGxhcHNlZE1hcmdpbi5hZnRlci52YWx1ZU9y
KG5vbkNvbGxhcHNlZE1hcmdpbi5hZnRlcik7CisgICAgYm9keUJveENvbnRlbnRIZWlnaHQgLT0g
dXNlZFZlcnRpY2FsTWFyZ2luOworICAgIC8vIERvY3VtZW50IGJveCdzIHBhZGRpbmcgYW5kIGJv
cmRlciBhbHNvIHNocmluayB0aGUgYm9keSBib3gncyBjb250ZW50IGhlaWdodC4KKyAgICBhdXRv
JiBkb2N1bWVudEJveCA9ICpsYXlvdXRCb3gucGFyZW50KCk7CisgICAgYXV0byYgZG9jdW1lbnRC
b3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0Lmdlb21ldHJ5Rm9yQm94KGRvY3VtZW50Qm94
LCBFc2NhcGVSZWFzb246OkJvZHlTdHJlY2hlc1RvVmlld3BvcnRRdWlyayk7CisgICAgYm9keUJv
eENvbnRlbnRIZWlnaHQgLT0gZG9jdW1lbnRCb3hHZW9tZXRyeS52ZXJ0aWNhbEJvcmRlcigpICsg
ZG9jdW1lbnRCb3hHZW9tZXRyeS52ZXJ0aWNhbFBhZGRpbmcoKS52YWx1ZU9yKDApOworICAgIC8v
IEhvd2V2ZXIgdGhlIG5vbi1pbi1mbG93IGRvY3VtZW50IGJveCdzIHZlcnRpY2FsIG1hcmdpbnMg
YXJlIGlnbm9yZWQuIFRoZXkgZG9uJ3QgYWZmZWN0IHRoZSBib2R5IGJveCdzIGNvbnRlbnQgaGVp
Z2h0LgorICAgIGlmIChkb2N1bWVudEJveC5pc0luRmxvdygpKSB7CisgICAgICAgIGF1dG8gcHJl
Y29tcHV0ZURvY3VtZW50Qm94VmVydGljYWxNYXJnaW4gPSBmb3JtYXR0aW5nQ29udGV4dC5nZW9t
ZXRyeSgpLmNvbXB1dGVkVmVydGljYWxNYXJnaW4oZG9jdW1lbnRCb3gsIEdlb21ldHJ5Ojpob3Jp
em9udGFsQ29uc3RyYWludHNGb3JJbkZsb3coaW5pdGlhbENvbnRhaW5pbmdCbG9ja0dlb21ldHJ5
KSk7CisgICAgICAgIGJvZHlCb3hDb250ZW50SGVpZ2h0IC09IHByZWNvbXB1dGVEb2N1bWVudEJv
eFZlcnRpY2FsTWFyZ2luLmJlZm9yZS52YWx1ZU9yKDApICsgcHJlY29tcHV0ZURvY3VtZW50Qm94
VmVydGljYWxNYXJnaW4uYWZ0ZXIudmFsdWVPcigwKTsKKyAgICB9CisgICAgcmV0dXJuIHN0ZDo6
bWF4KGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4uY29udGVudEhlaWdodCwgIGJvZHlCb3hDb250ZW50
SGVpZ2h0KTsKIH0KIAogYm9vbCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpRdWlya3M6OnNob3Vs
ZElnbm9yZUNvbGxhcHNlZFF1aXJrTWFyZ2luKGNvbnN0IEJveCYgbGF5b3V0Qm94KSBjb25zdApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDExYTYzNWQ0NWI5ODdjN2VlZjdiNzEzYzNlMTY0NDhkODI0ODBmODAuLmQ1NGY2ZjUz
ZjM4ODQ0M2U4OWFmNDgyNTdmN2YxNzU1NmExNjczMjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAyMC0wMi0xOCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtM
RkNdW1F1aXJrXSBBZGQgYWRkaXRpb25hbCBlc2NhcGUgcmVhc29uIHRvIGNvdmVyIHRoZSBjYXNl
IHdoZW4gYm9keSBuZWVkcyBhY2Nlc3MgdG8gYm90aCB0aGUgYm9keSBhbmQgdGhlIElDQiBnZW9t
ZXRyeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3
ODY5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81OTUzMTIyNT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICAqIGZhc3QvbGF5b3V0Zm9ybWF0dGluZ2Nv
bnRleHQvb3V0LW9mLWZsb3ctaHRtbC1hbmQtYm9keS1zdHJldGNoZXMtdG8tdmlld3BvcnQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0
L291dC1vZi1mbG93LWh0bWwtYW5kLWJvZHktc3RyZXRjaGVzLXRvLXZpZXdwb3J0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAy
MC0wMi0xNyAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkdM
XSBVcGRhdGUgV2ViR0wyIHJlc3VsdHMgd2l0aCBBTkdMRSBiYWNrZW5kCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L291dC1vZi1mbG93LWh0bWwt
YW5kLWJvZHktc3RyZXRjaGVzLXRvLXZpZXdwb3J0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQvb3V0LW9mLWZsb3ctaHRtbC1hbmQtYm9keS1z
dHJldGNoZXMtdG8tdmlld3BvcnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhNjUyMWViNzJi
YzE1ZGM3ODMzMjQ4MTQ5MzA3YjUxM2FjOGYzOGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L291dC1vZi1mbG93LWh0bWwtYW5kLWJv
ZHktc3RyZXRjaGVzLXRvLXZpZXdwb3J0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK2xh
eWVyIGF0ICgwLDApIHNpemUgNzg1eDYwMQorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgNzg1
eDYwMAorbGF5ZXIgYXQgKDEwLDEwKSBzaXplIDEwMngxMDIKKyAgUmVuZGVyQmxvY2sgKHBvc2l0
aW9uZWQpIHtIVE1MfSBhdCAoMTAsMTApIHNpemUgMTAyeDEwMiBbYm9yZGVyOiAoMXB4IHNvbGlk
ICMwMDgwMDApXQorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg5LDkpIHNpemUgODR4NTgyIFti
b3JkZXI6ICgxcHggc29saWQgIzAwMDBGRildCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2xheW91dGZvcm1hdHRpbmdjb250ZXh0L291dC1vZi1mbG93LWh0bWwtYW5kLWJvZHktc3RyZXRj
aGVzLXRvLXZpZXdwb3J0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xheW91dGZvcm1hdHRpbmdj
b250ZXh0L291dC1vZi1mbG93LWh0bWwtYW5kLWJvZHktc3RyZXRjaGVzLXRvLXZpZXdwb3J0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzRmODc5MGI1MDljMDNmYTBhZWZjZWZkNjdmOTk1OTY0M2ZlMTkyZgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRl
eHQvb3V0LW9mLWZsb3ctaHRtbC1hbmQtYm9keS1zdHJldGNoZXMtdG8tdmlld3BvcnQuaHRtbApA
QCAtMCwwICsxLDQgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgaW50ZXJuYWw6TGF5b3V0
Rm9ybWF0dGluZ0NvbnRleHRFbmFibGVkPXRydWUgaW50ZXJuYWw6TGF5b3V0Rm9ybWF0dGluZ0Nv
bnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQ9ZmFsc2UgXSAtLT4KKzxodG1sIHN0eWxlPSJwb3NpdGlv
bjogYWJzb2x1dGU7IGxlZnQ6IDEwcHg7IHRvcDogMTBweDsgaGVpZ2h0OiAxMDBweDsgd2lkdGg6
IDEwMHB4OyBib3JkZXI6IDFweCBzb2xpZCBncmVlbjsiPgorPGJvZHkgc3R5bGU9ImJvcmRlcjog
MXB4IHNvbGlkIGJsdWU7Ij48L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMGE2MDRjMGZlZDBhYmNjNDA5NzRjYzY3
MTY3MGNkMjY5MjQ2MTIyYS4uN2I0YmY2ZWI5OGJmNjkxZjA1OGVkMDgzNDBhZGViMWJiYjVkYTZj
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMTQxNiw2ICsxNDE2LDYgQEAgd2Via2l0Lm9yZy9iLzIwNzc3NCBodHRwL3dwdC9zZXJ2aWNl
LXdvcmtlcnMvdGhpcmQtcGFydHktY29va2llLmh0bWwgWyBQYXNzIFRpbWUKIHdlYmtpdC5vcmcv
Yi8yMDc4NjYgaW1wb3J0ZWQvdzNjL0luZGV4ZWREQi1wcml2YXRlLWJyb3dzaW5nIFsgUGFzcyBU
aW1lb3V0IF0KIAogIyBza2lwIExGQyByZWdyZXNzaW9uIHRlc3RzIG9uIGlPUyBmb3Igbm93Lgot
ZmFzdC9sYXlvdXRmb3JtYXR0aW5nY29udGV4dC9ibG9jay1vbmx5LyBbIFNraXAgXQorZmFzdC9s
YXlvdXRmb3JtYXR0aW5nY29udGV4dC8gWyBTa2lwIF0KIAogd2Via2l0Lm9yZy9iLzIwNzg5NiBm
YXN0L2NhbnZhcy93ZWJnbC9vZXMtdmVydGV4LWFycmF5LW9iamVjdC5odG1sIFsgUGFzcyBGYWls
dXJlIF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>