<?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>196973</bug_id>
          
          <creation_ts>2019-04-16 11:02:26 -0700</creation_ts>
          <short_desc>Deprecate WKPageSetPageDiagnosticLoggingClient</short_desc>
          <delta_ts>2022-07-15 13:40:49 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jer.noble</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1527778</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-16 11:02:26 -0700</bug_when>
    <thetext>Deprecate WKPageSetPageDiagnosticLoggingClient</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527781</commentid>
    <comment_count>1</comment_count>
      <attachid>367547</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-16 11:08:49 -0700</bug_when>
    <thetext>Created attachment 367547
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527791</commentid>
    <comment_count>2</comment_count>
      <attachid>367547</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-04-16 11:27:26 -0700</bug_when>
    <thetext>Comment on attachment 367547
Patch

r=verymuchme</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527809</commentid>
    <comment_count>3</comment_count>
      <attachid>367547</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-16 12:00:02 -0700</bug_when>
    <thetext>Comment on attachment 367547
Patch

Rejecting attachment 367547 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:
erface-ivars -Wno-arc-repeated-use-of-weak -Wimplicit-retain-self -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wno-shorten-64-to-32 -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wdeprecated-implementations -Wno-c++11-extensions -DNDEBUG -DENABLE_3D_TRANSFORMS -DENABLE_APPLE_PAY -DENABLE_APPLE_PAY_SESSION_V3 -DENABLE_APPLICATION_MANIFEST -DENABLE_ATTACHMENT_ELEMENT -DENABLE_AVF_CAPTIONS -DENABLE_CACHE_PARTITIONING -DENABLE_CHANNEL_MESSAGING -DENABLE_CONTENT_FILTERING -DENABLE_CSS_BOX_DECORATION_BREAK -DENABLE_CSS_COMPOSITING -DENABLE_CSS_PAINTING_API -DENABLE_CSS_SCROLL_SNAP -DENABLE_CSS_SELECTORS_LEVEL4 -DENABLE_CSS_TRAILING_WORD -DENABLE_CSS_TYPED_OM -DENABLE_CURSOR_VISIBILITY -DENABLE_DARK_MODE_CSS -DENABLE_DASHBOARD_SUPPORT -DENABLE_DATACUE_VALUE -DENABLE_DATALIST_ELEMENT -DENABLE_EXPERIMENTAL_FEATURES -DENABLE_FILTERS_LEVEL_2 -DENABLE_FTL_JIT -DENABLE_FULLSCREEN_API -DENABLE_GAMEPAD -DENABLE_GEOLOCATION -DENABLE_ICONDATABASE -DENABLE_INDEXED_DATABASE -DENABLE_INDEXED_DATABASE_IN_WORKERS -DENABLE_INPUT_TYPE_COLOR -DENABLE_INTERSECTION_OBSERVER -DENABLE_INTL -DENABLE_KEYBOARD_CODE_ATTRIBUTE -DENABLE_KEYBOARD_KEY_ATTRIBUTE -DENABLE_LAYOUT_FORMATTING_CONTEXT -DENABLE_LEGACY_CSS_VENDOR_PREFIXES -DENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER -DENABLE_LEGACY_ENCRYPTED_MEDIA -DENABLE_MATHML -DENABLE_MEDIA_CONTROLS_SCRIPT -DENABLE_MEDIA_SOURCE -DENABLE_MEDIA_STREAM -DENABLE_METER_ELEMENT -DENABLE_MOUSE_CURSOR_SCALE -DENABLE_NOTIFICATIONS -DENABLE_PAYMENT_REQUEST -DENABLE_PDFKIT_PLUGIN -DENABLE_POINTER_EVENTS -DENABLE_POINTER_LOCK -DENABLE_PUBLIC_SUFFIX_LIST -DENABLE_REMOTE_INSPECTOR -DENABLE_RESIZE_OBSERVER -DENABLE_RESOURCE_LOAD_STATISTICS -DENABLE_RESOURCE_USAGE -DENABLE_RUBBER_BANDING -DENABLE_SERVICE_CONTROLS -DENABLE_SERVICE_WORKER -DENABLE_SPEECH_SYNTHESIS -DENABLE_STREAMS_API -DENABLE_WEB_CRYPTO -DENABLE_SVG_FONTS -DENABLE_TELEPHONE_NUMBER_DETECTION -DENABLE_TEXT_AUTOSIZING -DENABLE_USER_MESSAGE_HANDLERS -DENABLE_USERSELECT_ALL -DENABLE_VARIATION_FONTS -DENABLE_VIDEO -DENABLE_VIDEO_PRESENTATION_MODE -DENABLE_VIDEO_TRACK -DENABLE_VIDEO_USES_ELEMENT_FULLSCREEN -DENABLE_WEB_AUDIO -DENABLE_WEB_AUTHN -DENABLE_WEB_RTC -DENABLE_WEBGL -DENABLE_WEBGL2 -DENABLE_WEBGPU -DENABLE_WIRELESS_PLAYBACK_TARGET -DENABLE_XSLT -DU_DISABLE_RENAMING=1 -DU_SHOW_CPLUSPLUS_API=0 -DENABLE_DASHBOARD_SUPPORT -DOBJC_OLD_DISPATCH_PROTOTYPES=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -fasm-blocks -fstrict-aliasing -Wprotocol -Wno-deprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.13 -g -fvisibility=hidden -Wno-sign-conversion -Winfinite-recursion -Wmove -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wrange-loop-analysis -Wno-semicolon-before-method-body -I/Volumes/Data/EWS/WebKit/WebKitBuild/TestWebKitAPI.build/Release/TestWebKitAPILibrary.build/TestWebKitAPI.hmap -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/include -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/WebCore.framework/PrivateHeaders/ForwardingHeaders -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/WebCoreTestSupport -I/Volumes/Data/EWS/WebKit/WebKitBuild/TestWebKitAPI.build/Release/TestWebKitAPILibrary.build/DerivedSources/x86_64 -I/Volumes/Data/EWS/WebKit/WebKitBuild/TestWebKitAPI.build/Release/TestWebKitAPILibrary.build/DerivedSources -Wall -W -Wno-unused-parameter -F/Volumes/Data/EWS/WebKit/WebKitBuild/Release --system-header-prefix=WebKit/ -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/PrivateFrameworks -ftemplate-depth=256 -MMD -MT dependencies -MF /Volumes/Data/EWS/WebKit/WebKitBuild/TestWebKitAPI.build/Release/TestWebKitAPILibrary.build/Objects-normal/x86_64/TestFontOptions.d --serialize-diagnostics /Volumes/Data/EWS/WebKit/WebKitBuild/TestWebKitAPI.build/Release/TestWebKitAPILibrary.build/Objects-normal/x86_64/TestFontOptions.dia -c /Volumes/Data/EWS/WebKit/Tools/TestWebKitAPI/mac/TestFontOptions.mm -o /Volumes/Data/EWS/WebKit/WebKitBuild/TestWebKitAPI.build/Release/TestWebKitAPILibrary.build/Objects-normal/x86_64/TestFontOptions.o

** BUILD FAILED **


The following build commands failed:
	CompileC /Volumes/Data/EWS/WebKit/WebKitBuild/TestWebKitAPI.build/Release/TestWebKitAPILibrary.build/Objects-normal/x86_64/SyntheticBackingScaleFactorWindow.o mac/SyntheticBackingScaleFactorWindow.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)

Full output: https://webkit-queues.webkit.org/results/11888371</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1883738</commentid>
    <comment_count>4</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-07-14 13:27:20 -0700</bug_when>
    <thetext>I can only find two references to &quot;WKPageSetPageDiagnosticLoggingClient&quot; in the Webkit Github repository:

https://github.com/WebKit/WebKit/blob/b791516ec89988ea1a2768a76a803091e0465382/Source/WebKit/UIProcess/API/C/WKPage.cpp

https://github.com/WebKit/WebKit/blob/b791516ec89988ea1a2768a76a803091e0465382/Source/WebKit/UIProcess/API/C/WKPage.h

Although attached patch is trying to remove this from various places, which no longer exists. Is there anything further needed? Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1884175</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2022-07-15 13:40:49 -0700</bug_when>
    <thetext>I don&apos;t think that anything changed in code, other parts of the implementation still exist.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367547</attachid>
            <date>2019-04-16 11:08:49 -0700</date>
            <delta_ts>2019-04-16 12:00:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196973-20190416110849.patch</filename>
            <type>text/plain</type>
            <size>26140</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDQzNDIpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE5LTA0LTE2ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgRGVwcmVjYXRlIFdL
UGFnZVNldFBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2OTczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXRzIGxhc3QgdXNlIHdhcyByZW1vdmVkIGluIHJk
YXI6Ly9wcm9ibGVtLzM1MTc1OTg5CisKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tEaWFnbm9z
dGljTG9nZ2luZ1Jlc3VsdFR5cGUuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFyZWQvQVBJL2Mv
V0tTaGFyZWRBUElDYXN0Lmg6CisgICAgICAgIChXZWJLaXQ6OnRvRGlhZ25vc3RpY0xvZ2dpbmdS
ZXN1bHRUeXBlKTogRGVsZXRlZC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcDoKKyAgICAgICAgKFdLUGFnZVNldFBhZ2VEaWFnbm9z
dGljTG9nZ2luZ0NsaWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5o
OiBSZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdD
bGllbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lmg6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIw
MTktMDQtMTYgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgZml4IHRoZSBidWlsZCB3aXRoIHJlY2VudCBTREtzLgpJbmRleDogU291cmNl
L1dlYktpdC9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NvdXJjZXMu
dHh0CShyZXZpc2lvbiAyNDQzMjkpCisrKyBTb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNzYsNyArMjc2LDYgQEAgVUlQcm9jZXNzL1dlYkluc3BlY3RvclV0aWxp
dGllcy5jcHAKIFVJUHJvY2Vzcy9XZWJOYXZpZ2F0aW9uU3RhdGUuY3BwCiBVSVByb2Nlc3MvV2Vi
T3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eS5jcHAKIFVJUHJvY2Vzcy9XZWJQYWdlRGVidWdn
YWJsZS5jcHAKLVVJUHJvY2Vzcy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwCiBV
SVByb2Nlc3MvV2ViUGFnZUdyb3VwLmNwcAogVUlQcm9jZXNzL1dlYlBhZ2VJbmplY3RlZEJ1bmRs
ZUNsaWVudC5jcHAKIFVJUHJvY2Vzcy9XZWJQYWdlSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL1dLRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRU
eXBlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvV0tEaWFnbm9z
dGljTG9nZ2luZ1Jlc3VsdFR5cGUuaAkocmV2aXNpb24gMjQ0MzI5KQorKysgU291cmNlL1dlYktp
dC9TaGFyZWQvQVBJL2MvV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUuaAkobm9uZXhpc3Rl
bnQpCkBAIC0xLDQ1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTUgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
Ci0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0g
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFdLRGlhZ25v
c3RpY0xvZ2dpbmdSZXN1bHRUeXBlX2gKLSNkZWZpbmUgV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3Vs
dFR5cGVfaAotCi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4dGVybiAiQyIgewotI2VuZGlmCi0KLWVu
dW0gewotICAgIGtXS0RpYWdub3N0aWNMb2dnaW5nUmVzdWx0UGFzcyA9IDAsCi0gICAga1dLRGlh
Z25vc3RpY0xvZ2dpbmdSZXN1bHRGYWlsID0gMSwKLSAgICBrV0tEaWFnbm9zdGljTG9nZ2luZ1Jl
c3VsdE5vb3AgPSAyLAotfTsKLXR5cGVkZWYgdWludDMyX3QgV0tEaWFnbm9zdGljTG9nZ2luZ1Jl
c3VsdFR5cGU7Ci0KLSNpZmRlZiBfX2NwbHVzcGx1cwotfQotI2VuZGlmCi0KLSNlbmRpZiAvKiBX
S0RpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZV9oICovCi0KSW5kZXg6IFNvdXJjZS9XZWJLaXQv
U2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCShyZXZpc2lvbiAyNDQzMjkpCisrKyBT
b3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaAkod29ya2luZyBjb3B5
KQpAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgIlNhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBl
LmgiCiAjaW5jbHVkZSAiV0tCYXNlLmgiCiAjaW5jbHVkZSAiV0tDb250ZXh0TWVudUl0ZW1UeXBl
cy5oIgotI2luY2x1ZGUgIldLRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlLmgiCiAjaW5jbHVk
ZSAiV0tFdmVudC5oIgogI2luY2x1ZGUgIldLRmluZE9wdGlvbnMuaCIKICNpbmNsdWRlICJXS0dl
b21ldHJ5LmgiCkBAIC04MjEsNDQgKzgyMCw2IEBAIGlubGluZSBTYW1lRG9jdW1lbnROYXZpZ2F0
aW9uVHlwZSB0b1NhbWUKICAgICByZXR1cm4gdHlwZTsKIH0KIAotaW5saW5lIFdLRGlhZ25vc3Rp
Y0xvZ2dpbmdSZXN1bHRUeXBlIHRvQVBJKFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nUmVzdWx0
VHlwZSB0eXBlKQotewotICAgIFdLRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlIHdrVHlwZTsK
LQotICAgIHN3aXRjaCAodHlwZSkgewotICAgIGNhc2UgV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dp
bmdSZXN1bHRQYXNzOgotICAgICAgICB3a1R5cGUgPSBrV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3Vs
dFBhc3M7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dp
bmdSZXN1bHRGYWlsOgotICAgICAgICB3a1R5cGUgPSBrV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3Vs
dEZhaWw7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dp
bmdSZXN1bHROb29wOgotICAgICAgICB3a1R5cGUgPSBrV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3Vs
dE5vb3A7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQotICAgIHJldHVybiB3a1R5cGU7Ci19Ci0K
LWlubGluZSBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUgdG9EaWFnbm9zdGlj
TG9nZ2luZ1Jlc3VsdFR5cGUoV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUgd2tUeXBlKQot
ewotICAgIFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZSB0eXBlOwotCi0gICAg
c3dpdGNoICh3a1R5cGUpIHsKLSAgICBjYXNlIGtXS0RpYWdub3N0aWNMb2dnaW5nUmVzdWx0UGFz
czoKLSAgICAgICAgdHlwZSA9IFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nUmVzdWx0UGFzczsK
LSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBrV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdEZhaWw6
Ci0gICAgICAgIHR5cGUgPSBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdEZhaWw7Ci0g
ICAgICAgIGJyZWFrOwotICAgIGNhc2Uga1dLRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHROb29wOgot
ICAgICAgICB0eXBlID0gV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHROb29wOwotICAg
ICAgICBicmVhazsKLSAgICB9Ci0KLSAgICByZXR1cm4gdHlwZTsKLX0KLQogaW5saW5lIFdLTGF5
b3V0TWlsZXN0b25lcyB0b1dLTGF5b3V0TWlsZXN0b25lcyhPcHRpb25TZXQ8V2ViQ29yZTo6TGF5
b3V0TWlsZXN0b25lPiBtaWxlc3RvbmVzKQogewogICAgIHVuc2lnbmVkIHdrTWlsZXN0b25lcyA9
IDA7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHAJKHJldmlzaW9uIDI0NDMyOSkKKysrIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHAJKG5v
bmV4aXN0ZW50KQpAQCAtMSw3MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZp
Zy5oIgotI2luY2x1ZGUgIldlYlBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIgotCi0jaW5j
bHVkZSAiV0tBUElDYXN0LmgiCi0jaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCi0jaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1XZWJQYWdlRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQ6OldlYlBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudChjb25z
dCBXS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudEJhc2UqIGNsaWVudCkKLXsKLSAgICBpbml0
aWFsaXplKGNsaWVudCk7Ci19Ci0KLXZvaWQgV2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50
Ojpsb2dEaWFnbm9zdGljTWVzc2FnZShXZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbikKLXsKLSAgICBpZiAoIW1fY2xpZW50
LmxvZ0RpYWdub3N0aWNNZXNzYWdlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX2NsaWVudC5s
b2dEaWFnbm9zdGljTWVzc2FnZSh0b0FQSShwYWdlKSwgdG9BUEkobWVzc2FnZS5pbXBsKCkpLCB0
b0FQSShkZXNjcmlwdGlvbi5pbXBsKCkpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwotfQot
Ci12b2lkIFdlYlBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3Nh
Z2VXaXRoUmVzdWx0KFdlYlBhZ2VQcm94eSogcGFnZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBj
b25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ1Jlc3Vs
dFR5cGUgcmVzdWx0KQotewotICAgIGlmICghbV9jbGllbnQubG9nRGlhZ25vc3RpY01lc3NhZ2VX
aXRoUmVzdWx0KQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX2NsaWVudC5sb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhSZXN1bHQodG9BUEkocGFnZSksIHRvQVBJKG1lc3NhZ2UuaW1wbCgpKSwgdG9B
UEkoZGVzY3JpcHRpb24uaW1wbCgpKSwgdG9BUEkocmVzdWx0KSwgbV9jbGllbnQuYmFzZS5jbGll
bnRJbmZvKTsKLX0KLQotdm9pZCBXZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0Rp
YWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKFdlYlBhZ2VQcm94eSogcGFnZSwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBjb25zdCBTdHJpbmcmIHZhbHVl
KQotewotICAgIGlmICghbV9jbGllbnQubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUpCi0g
ICAgICAgIHJldHVybjsKLQotICAgIG1fY2xpZW50LmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZh
bHVlKHRvQVBJKHBhZ2UpLCB0b0FQSShtZXNzYWdlLmltcGwoKSksIHRvQVBJKGRlc2NyaXB0aW9u
LmltcGwoKSksIHRvQVBJKHZhbHVlLmltcGwoKSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7
Ci19Ci0KLXZvaWQgV2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koV2ViUGFnZVByb3h5KiBwYWdlLCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24pCi17Ci0gICAgaWYgKCFtX2Ns
aWVudC5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3kpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIG1fY2xpZW50LmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJp
dmFjeSh0b0FQSShwYWdlKSwgdG9BUEkobWVzc2FnZS5pbXBsKCkpLCB0b0FQSShkZXNjcmlwdGlv
bi5pbXBsKCkpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwotfQotCi19IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCShyZXZpc2lvbiAyNDQzMjkpCisrKyBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaAkobm9u
ZXhpc3RlbnQpCkBAIC0xLDYwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
Ci0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0g
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFdlYlBhZ2VE
aWFnbm9zdGljTG9nZ2luZ0NsaWVudF9oCi0jZGVmaW5lIFdlYlBhZ2VEaWFnbm9zdGljTG9nZ2lu
Z0NsaWVudF9oCi0KLSNpbmNsdWRlICJBUElDbGllbnQuaCIKLSNpbmNsdWRlICJBUElEaWFnbm9z
dGljTG9nZ2luZ0NsaWVudC5oIgotI2luY2x1ZGUgIldLUGFnZS5oIgotI2luY2x1ZGUgPFdlYkNv
cmUvRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlLmg+Ci0jaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KLQotbmFtZXNwYWNlIEFQSSB7Ci0KLXRlbXBsYXRlPD4gc3RydWN0IENsaWVudFRyYWl0czxX
S1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudEJhc2U+IHsKLSAgICB0eXBlZGVmIHN0ZDo6dHVw
bGU8V0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRWMCwgV0tQYWdlRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnRWMT4gVmVyc2lvbnM7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBBUEkKLQotbmFtZXNw
YWNlIFdlYktpdCB7Ci0KLWNsYXNzIFdlYlBhZ2VQcm94eTsKLQotY2xhc3MgV2ViUGFnZURpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50IGZpbmFsIDogcHVibGljIEFQSTo6Q2xpZW50PFdLUGFnZURpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50QmFzZT4sIHB1YmxpYyBBUEk6OkRpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50IHsKLXB1YmxpYzoKLSAgICBleHBsaWNpdCBXZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQoY29uc3QgV0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRCYXNlKik7Ci0KLSAgICB2b2lk
IGxvZ0RpYWdub3N0aWNNZXNzYWdlKFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBsb2dEaWFn
bm9zdGljTWVzc2FnZVdpdGhSZXN1bHQoV2ViUGFnZVByb3h5KiwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2lu
Z1Jlc3VsdFR5cGUpIG92ZXJyaWRlOwotICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRo
VmFsdWUoV2ViUGFnZVByb3h5KiwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcm
IGRlc2NyaXB0aW9uLCBjb25zdCBTdHJpbmcmIHZhbHVlKSBvdmVycmlkZTsKLSAgICB2b2lkIGxv
Z0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeShXZWJQYWdlUHJveHkqLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24pIG92ZXJyaWRlOwot
ICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5KFdlYktpdDo6
V2ViUGFnZVByb3h5KiwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFdURjo6U3Ry
aW5nJiBkZXNjcmlwdGlvbiwgUmVmPEFQSTo6RGljdGlvbmFyeT4mJikgb3ZlcnJpZGUgeyB9Ci19
OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIFdlYlBhZ2VEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudF9oCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAkocmV2aXNpb24gMjQ0MzI5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAK
KyNpbmNsdWRlICJBUElEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIgogI2luY2x1ZGUgIkFQSU9i
amVjdC5oIgogI2luY2x1ZGUgIkF1dG9Db3JyZWN0aW9uQ2FsbGJhY2suaCIKICNpbmNsdWRlICJD
b25uZWN0aW9uLmgiCkBAIC01OCw3ICs1OSw2IEBACiAjaW5jbHVkZSAiV2ViRGF0YUxpc3RTdWdn
ZXN0aW9uc0Ryb3Bkb3duLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVQcm94eS5oIgogI2luY2x1ZGUg
IldlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaCIKLSNpbmNsdWRlICJXZWJQYWdlRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQuaCIKICNpbmNsdWRlICJXZWJQYWdlSW5qZWN0ZWRCdW5kbGVDbGllbnQu
aCIKICNpbmNsdWRlICJXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5oIgogI2luY2x1ZGUgIldl
YlByZWZlcmVuY2VzLmgiCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1Bh
Z2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFn
ZS5jcHAJKHJldmlzaW9uIDI0NDMyOSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
L1dLUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk1MCw5ICs5NTAsOCBAQCB2b2lkIFdLUGFn
ZVNldFBhZ2VDb250ZXh0TWVudUNsaWVudChXS1BhCiAjZW5kaWYKIH0KIAotdm9pZCBXS1BhZ2VT
ZXRQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0IFdL
UGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50QmFzZSogd2tDbGllbnQpCit2b2lkIFdLUGFnZVNl
dFBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudChXS1BhZ2VSZWYsIGNvbnN0IFdLUGFnZURpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50QmFzZSopCiB7Ci0gICAgdG9JbXBsKHBhZ2VSZWYpLT5zZXREaWFn
bm9zdGljTG9nZ2luZ0NsaWVudChzdGQ6Om1ha2VfdW5pcXVlPFdlYlBhZ2VEaWFnbm9zdGljTG9n
Z2luZ0NsaWVudD4od2tDbGllbnQpKTsKIH0KIAogdm9pZCBXS1BhZ2VTZXRQYWdlRmluZENsaWVu
dChXS1BhZ2VSZWYgcGFnZVJlZiwgY29uc3QgV0tQYWdlRmluZENsaWVudEJhc2UqIHdrQ2xpZW50
KQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgJKHJldmlzaW9uIDI0
NDMyOSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSA8V2ViS2l0L1dLR2VvbWV0cnkuaD4K
ICNpbmNsdWRlIDxXZWJLaXQvV0tOYXRpdmVFdmVudC5oPgogI2luY2x1ZGUgPFdlYktpdC9XS1Bh
Z2VDb250ZXh0TWVudUNsaWVudC5oPgotI2luY2x1ZGUgPFdlYktpdC9XS1BhZ2VEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudC5oPgogI2luY2x1ZGUgPFdlYktpdC9XS1BhZ2VGaW5kQ2xpZW50Lmg+CiAj
aW5jbHVkZSA8V2ViS2l0L1dLUGFnZUZpbmRNYXRjaGVzQ2xpZW50Lmg+CiAjaW5jbHVkZSA8V2Vi
S2l0L1dLUGFnZUZvcm1DbGllbnQuaD4KQEAgLTIxNyw3ICsyMTYsOCBAQCBXS19FWFBPUlQgdm9p
ZCBXS1BhZ2VHZXRJbWFnZUZvckZpbmRNYXRjCiBXS19FWFBPUlQgdm9pZCBXS1BhZ2VTZWxlY3RG
aW5kTWF0Y2goV0tQYWdlUmVmIHBhZ2UsIGludDMyX3QgbWF0Y2hJbmRleCk7CiAKIFdLX0VYUE9S
VCB2b2lkIFdLUGFnZVNldFBhZ2VDb250ZXh0TWVudUNsaWVudChXS1BhZ2VSZWYgcGFnZSwgY29u
c3QgV0tQYWdlQ29udGV4dE1lbnVDbGllbnRCYXNlKiBjbGllbnQpOwotV0tfRVhQT1JUIHZvaWQg
V0tQYWdlU2V0UGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50KFdLUGFnZVJlZiBwYWdlLCBjb25z
dCBXS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudEJhc2UqIGNsaWVudCk7CitzdHJ1Y3QgV0tQ
YWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRCYXNlOworV0tfRVhQT1JUIHZvaWQgV0tQYWdlU2V0
UGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50KFdLUGFnZVJlZiBwYWdlLCBjb25zdCBXS1BhZ2VE
aWFnbm9zdGljTG9nZ2luZ0NsaWVudEJhc2UqIGNsaWVudCkgV0tfQ19BUElfREVQUkVDQVRFRDsK
IFdLX0VYUE9SVCB2b2lkIFdLUGFnZVNldFBhZ2VGaW5kQ2xpZW50KFdLUGFnZVJlZiBwYWdlLCBj
b25zdCBXS1BhZ2VGaW5kQ2xpZW50QmFzZSogY2xpZW50KTsKIFdLX0VYUE9SVCB2b2lkIFdLUGFn
ZVNldFBhZ2VGaW5kTWF0Y2hlc0NsaWVudChXS1BhZ2VSZWYgcGFnZSwgY29uc3QgV0tQYWdlRmlu
ZE1hdGNoZXNDbGllbnRCYXNlKiBjbGllbnQpOwogV0tfRVhQT1JUIHZvaWQgV0tQYWdlU2V0UGFn
ZUZvcm1DbGllbnQoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IFdLUGFnZUZvcm1DbGllbnRCYXNlKiBj
bGllbnQpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlRGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQy9XS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCShyZXZpc2lvbiAyNDQzMjkp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VEaWFnbm9zdGljTG9nZ2lu
Z0NsaWVudC5oCShub25leGlzdGVudCkKQEAgLTEsNzEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
Zm5kZWYgV0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRfaAotI2RlZmluZSBXS1BhZ2VEaWFn
bm9zdGljTG9nZ2luZ0NsaWVudF9oCi0KLSNpbmNsdWRlIDxXZWJLaXQvV0tCYXNlLmg+Ci0jaW5j
bHVkZSA8V2ViS2l0L1dLRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlLmg+Ci0KLSNpZmRlZiBf
X2NwbHVzcGx1cwotZXh0ZXJuICJDIiB7Ci0jZW5kaWYKLQotdHlwZWRlZiB2b2lkICgqV0tQYWdl
TG9nRGlhZ25vc3RpY01lc3NhZ2VDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVm
IG1lc3NhZ2UsIFdLU3RyaW5nUmVmIGRlc2NyaXB0aW9uLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKLXR5cGVkZWYgdm9pZCAoKldLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdENh
bGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tTdHJpbmdSZWYg
ZGVzY3JpcHRpb24sIFdLRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlIHJlc3VsdCwgY29uc3Qg
dm9pZCogY2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS1BhZ2VMb2dEaWFnbm9zdGljTWVz
c2FnZVdpdGhWYWx1ZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2Fn
ZSwgV0tTdHJpbmdSZWYgZGVzY3JpcHRpb24sIFdLU3RyaW5nUmVmIHZhbHVlLCBjb25zdCB2b2lk
KiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdl
V2l0aEVuaGFuY2VkUHJpdmFjeUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYg
bWVzc2FnZSwgV0tTdHJpbmdSZWYgZGVzY3JpcHRpb24sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
OwotCi10eXBlZGVmIHN0cnVjdCBXS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudEJhc2Ugewot
ICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2ZXJzaW9uOwotICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJbmZvOwotfSBXS1Bh
Z2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudEJhc2U7Ci0KLXR5cGVkZWYgc3RydWN0IFdLUGFnZURp
YWdub3N0aWNMb2dnaW5nQ2xpZW50VjAgewotICAgIFdLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50QmFzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlOwotCi0gICAgLy8g
VmVyc2lvbiAwLgotICAgIFdLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdlQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dEaWFnbm9zdGljTWVzc2FnZTsKLSAgICBXS1Bh
Z2VMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHRDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0OwotICAgIFdLUGFnZUxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aFZhbHVlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICBsb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZTsKLX0gV0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnRWMDsKLQotdHlwZWRlZiBzdHJ1Y3QgV0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRWMSB7
Ci0gICAgV0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRCYXNlICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJhc2U7Ci0KLSAgICAvLyBWZXJzaW9uIDAuCi0gICAgV0tQYWdlTG9n
RGlhZ25vc3RpY01lc3NhZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGxvZ0RpYWdub3N0aWNNZXNzYWdlOwotICAgIFdLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aFJlc3VsdENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICBsb2dEaWFnbm9zdGljTWVzc2Fn
ZVdpdGhSZXN1bHQ7Ci0gICAgV0tQYWdlTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVDYWxs
YmFjayAgICAgICAgICAgICAgICAgICAgICAgIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVl
OwotCi0gICAgLy8gVmVyc2lvbiAxLgotICAgIFdLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aEVuaGFuY2VkUHJpdmFjeUNhbGxiYWNrICAgICAgICAgICAgICBsb2dEaWFnbm9zdGljTWVzc2Fn
ZVdpdGhFbmhhbmNlZFByaXZhY3k7Ci19IFdLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50VjE7
Ci0KLSNpZmRlZiBfX2NwbHVzcGx1cwotfQotI2VuZGlmCi0KLSNlbmRpZiAvLyBXS1BhZ2VEaWFn
bm9zdGljTG9nZ2luZ0NsaWVudF9oCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI0NDMyOSkKKysrIFNvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEy
MDksOSArMTIwOSw2IEBACiAJCTgzMkVEMThDMUUyRkUxNTcwMDZCQTY0QSAvKiBQZXJBY3Rpdml0
eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4MzJFRDE4QTFFMkZFMTNCMDA2QkE2NEEgLyogUGVyQWN0aXZpdHlTdGF0
ZUNQVVVzYWdlU2FtcGxlci5oICovOyB9OwogCQk4MzRCMjUwRjFBODMxQThEMDBDRkIxNTAgLyog
TmV0d29ya0NhY2hlRmlsZVN5c3RlbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODM0QjI1MEUxQTgzMUE4RDAwQ0ZCMTUwIC8qIE5ldHdvcmtDYWNoZUZp
bGVTeXN0ZW0uaCAqLzsgfTsKIAkJODM2MDM0QTAxQUNCMzRENjAwNjI2NTQ5IC8qIFdlYlNRTGl0
ZURhdGFiYXNlVHJhY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODM2MDM0OUUxQUNCMzRENjAwNjI2NTQ5IC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJh
Y2tlci5oICovOyB9OwotCQk4MzcyREIyNTFBNjc0QzhGMDBDNjk3QzUgLyogV0tQYWdlRGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDgzNzJEQjI0MUE2NzRDOEYwMEM2OTdDNSAvKiBXS1BhZ2VEaWFnbm9zdGljTG9n
Z2luZ0NsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07Ci0JCTgzNzJEQjI5MUE2NzU2MjgwMEM2OTdDNSAvKiBXZWJQYWdlRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDgzNzJEQjI3MUE2NzU2MjgwMEM2OTdDNSAvKiBXZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQuaCAqLzsgfTsKLQkJODM3MkRCMkYxQTY3N0Q0QTAwQzY5N0M1IC8qIFdLRGlhZ25vc3RpY0xv
Z2dpbmdSZXN1bHRUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4MzcyREIyRTFBNjc3RDRBMDBDNjk3QzUgLyogV0tEaWFnbm9zdGljTG9nZ2luZ1Jl
c3VsdFR5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk4Mzg5MUI2MzFBNjhCMzQyMDAzMEYzODYgLyogQVBJRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzODkx
QjYyMUE2OEIzNDIwMDMwRjM4NiAvKiBBUElEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oICovOyB9
OwogCQk4Mzg5MUI2OTFBNjhCRUJDMDAzMEYzODYgLyogX1dLRGlhZ25vc3RpY0xvZ2dpbmdEZWxl
Z2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM4
OTFCNjgxQTY4QkVCQzAwMzBGMzg2IC8qIF9XS0RpYWdub3N0aWNMb2dnaW5nRGVsZWdhdGUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4Mzg5MUI2
QzFBNjhDMzBCMDAzMEYzODYgLyogRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzODkxQjZBMUE2OEMzMEIwMDMw
RjM4NiAvKiBEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oICovOyB9OwpAQCAtMzc0OSwxMCArMzc0
Niw2IEBACiAJCTgzNEIyNTBFMUE4MzFBOEQwMENGQjE1MCAvKiBOZXR3b3JrQ2FjaGVGaWxlU3lz
dGVtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtDYWNoZUZpbGVT
eXN0ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM2MDM0OUQxQUNCMzRENjAw
NjI2NTQ5IC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4MzYwMzQ5RTFBQ0IzNEQ2MDA2MjY1NDkgLyogV2ViU1FM
aXRlRGF0YWJhc2VUcmFja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YlNRTGl0ZURhdGFiYXNlVHJhY2tlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4
MzcyREIyNDFBNjc0QzhGMDBDNjk3QzUgLyogV0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tQYWdlRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJODM3MkRCMjYxQTY3NTYy
ODAwQzY5N0M1IC8qIFdlYlBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4MzcyREIyNzFBNjc1NjI4MDBD
Njk3QzUgLyogV2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4MzcyREIyRTFBNjc3RDRBMDBDNjk3QzUgLyogV0tE
aWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJODM4OTFCNjIxQTY4QjM0MjAwMzBGMzg2IC8qIEFQSURpYWdub3N0aWNMb2dn
aW5nQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSURpYWdub3N0
aWNMb2dnaW5nQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzODkxQjY4
MUE2OEJFQkMwMDMwRjM4NiAvKiBfV0tEaWFnbm9zdGljTG9nZ2luZ0RlbGVnYXRlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0RpYWdub3N0aWNMb2dnaW5nRGVsZWdhdGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM4OTFCNkExQTY4QzMwQjAwMzBGMzg2
IC8qIERpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IERpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC03NjA1LDggKzc1OTgsNiBAQAogCQkJCUJDMURGRUEyMTJCMzFGODcwMDVERjczMCAv
KiBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5LmggKi8sCiAJCQkJQTVFQzZBRDIyMTUx
QkQ2OTAwNjc3RDE3IC8qIFdlYlBhZ2VEZWJ1Z2dhYmxlLmNwcCAqLywKIAkJCQlBNUVDNkFEMzIx
NTFCRDY5MDA2NzdEMTcgLyogV2ViUGFnZURlYnVnZ2FibGUuaCAqLywKLQkJCQk4MzcyREIyNjFB
Njc1NjI4MDBDNjk3QzUgLyogV2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmNwcCAqLywK
LQkJCQk4MzcyREIyNzFBNjc1NjI4MDBDNjk3QzUgLyogV2ViUGFnZURpYWdub3N0aWNMb2dnaW5n
Q2xpZW50LmggKi8sCiAJCQkJQkM3QjYyMDUxMjlBMEE2NzAwRDE3NEE0IC8qIFdlYlBhZ2VHcm91
cC5jcHAgKi8sCiAJCQkJQkM3QjYyMDQxMjlBMEE2NzAwRDE3NEE0IC8qIFdlYlBhZ2VHcm91cC5o
ICovLAogCQkJCTJEOUVBMzEwMUE5NkQ5RUIwMDJEMjgwNyAvKiBXZWJQYWdlSW5qZWN0ZWRCdW5k
bGVDbGllbnQuY3BwICovLApAQCAtNzgyMiw3ICs3ODEzLDYgQEAKIAkJCQk3Qzg5RDI5OTFBNjc4
MzdCMDAzQTVGREUgLyogV0tQYWdlQ29uZmlndXJhdGlvblJlZi5jcHAgKi8sCiAJCQkJN0M4OUQy
OUExQTY3ODM3QjAwM0E1RkRFIC8qIFdLUGFnZUNvbmZpZ3VyYXRpb25SZWYuaCAqLywKIAkJCQkx
QUI4QTFGNzE4NDAwQkI4MDBFOUFFNjkgLyogV0tQYWdlQ29udGV4dE1lbnVDbGllbnQuaCAqLywK
LQkJCQk4MzcyREIyNDFBNjc0QzhGMDBDNjk3QzUgLyogV0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdD
bGllbnQuaCAqLywKIAkJCQkxQUI4QTFGMzE4NDAwQjhGMDBFOUFFNjkgLyogV0tQYWdlRmluZENs
aWVudC5oICovLAogCQkJCTFBQjhBMUY1MTg0MDBCOUQwMEU5QUU2OSAvKiBXS1BhZ2VGaW5kTWF0
Y2hlc0NsaWVudC5oICovLAogCQkJCTFBQjhBMUVGMTg0MDBCMDAwMEU5QUU2OSAvKiBXS1BhZ2VG
b3JtQ2xpZW50LmggKi8sCkBAIC04NDUzLDcgKzg0NDMsNiBAQAogCQkJCTM3N0VBRDQ0MTdFMkM1
MUEwMDJEMTkzRCAvKiBXS0RlY2xhcmF0aW9uU3BlY2lmaWVycy5oICovLAogCQkJCTVDMzU5QzBD
MjE1NDczMjEwMDlFNzk0OCAvKiBXS0RlcHJlY2F0ZWQuaCAqLywKIAkJCQkxQUZGNDhGRTE4MzNE
RTc4MDA5QUIxNUEgLyogV0tEZXByZWNhdGVkRnVuY3Rpb25zLmNwcCAqLywKLQkJCQk4MzcyREIy
RTFBNjc3RDRBMDBDNjk3QzUgLyogV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUuaCAqLywK
IAkJCQlCQzQwNzVERDEyNEZGMDI3MDA2OEYyMEEgLyogV0tEaWN0aW9uYXJ5LmNwcCAqLywKIAkJ
CQlCQzQwNzVERTEyNEZGMDI3MDA2OEYyMEEgLyogV0tEaWN0aW9uYXJ5LmggKi8sCiAJCQkJQkM0
MDc1REYxMjRGRjAyNzAwNjhGMjBBIC8qIFdLRXJyb3JSZWYuY3BwICovLApAQCAtOTY1Nyw3ICs5
NjQ2LDYgQEAKIAkJCQlCQzFERkVBNDEyQjMxRjg3MDA1REY3MzAgLyogV2ViT3BlblBhbmVsUmVz
dWx0TGlzdGVuZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwMzJEOEYxMEY0MzdBMDAw
NThDMTVBIC8qIFdlYlBhZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1RUM2QUQ0MjE1MUJEN0Iw
MDY3N0QxNyAvKiBXZWJQYWdlRGVidWdnYWJsZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJODM3MkRC
MjkxQTY3NTYyODAwQzY5N0M1IC8qIFdlYlBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkM3QjYyMDYxMjlBMEE2NzAwRDE3NEE0IC8qIFdlYlBhZ2VHcm91
cC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM3QjYyNTIxMkE0M0M5NjAwRDE3NEE0IC8qIFdlYlBh
Z2VHcm91cERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDN0I2MjE1MTJBNDIxOUEwMEQxNzRB
NCAvKiBXZWJQYWdlR3JvdXBQcm94eS5oIGluIEhlYWRlcnMgKi8sCkBAIC05ODUyLDcgKzk4NDAs
NiBAQAogCQkJCTJFOTRGQzE2MjAzNTFBNkQwMDk3NEJBMCAvKiBXS0RhdGVQaWNrZXJWaWV3Q29u
dHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc3RUFENDUxN0UyQzUxQTAwMkQxOTNEIC8q
IFdLRGVjbGFyYXRpb25TcGVjaWZpZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzM1OUMwRDIx
NTQ3MzlGMDA5RTc5NDggLyogV0tEZXByZWNhdGVkLmggaW4gSGVhZGVycyAqLywKLQkJCQk4Mzcy
REIyRjFBNjc3RDRBMDBDNjk3QzUgLyogV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDNDA3NUZBMTI0RkYwMjcwMDY4RjIwQSAvKiBXS0RpY3Rpb25h
cnkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDE3RDA3MTYyNjBGRjQwMDcwNTRGNSAvKiBXS0RP
TURvY3VtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzAxN0QwOTE2MjYwRkY0MDA3MDU0RjUg
LyogV0tET01FbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTk5NzYsNyArOTk2Myw2IEBACiAJ
CQkJQkNENTk3RDcxMTJCNTZEQzAwRUM4QzIzIC8qIFdLUGFnZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJN0M4OUQyOUMxQTY3ODM3QjAwM0E1RkRFIC8qIFdLUGFnZUNvbmZpZ3VyYXRpb25SZWYuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBQjhBMUY4MTg0MDBCQjgwMEU5QUU2OSAvKiBXS1BhZ2VDb250
ZXh0TWVudUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJODM3MkRCMjUxQTY3NEM4RjAwQzY5
N0M1IC8qIFdLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxQUI4QTFGNDE4NDAwQjhGMDBFOUFFNjkgLyogV0tQYWdlRmluZENsaWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUFCOEExRjYxODQwMEI5RDAwRTlBRTY5IC8qIFdLUGFnZUZpbmRNYXRjaGVz
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUI4QTFGMDE4NDAwQjAwMDBFOUFFNjkgLyog
V0tQYWdlRm9ybUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCg==
</data>
<flag name="review"
          id="383898"
          type_id="1"
          status="+"
          setter="jer.noble"
    />
    <flag name="commit-queue"
          id="383901"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>