<?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>234013</bug_id>
          
          <creation_ts>2021-12-08 09:56:19 -0800</creation_ts>
          <short_desc>Add a new WKWebpagePreferences SPI for modal container observation policies</short_desc>
          <delta_ts>2021-12-09 21:06:41 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit API</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="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1821600</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-08 09:56:19 -0800</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821631</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-08 10:52:00 -0800</bug_when>
    <thetext>&lt;rdar://problem/86219613&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821645</commentid>
    <comment_count>2</comment_count>
      <attachid>446390</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-08 11:09:28 -0800</bug_when>
    <thetext>Created attachment 446390
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822398</commentid>
    <comment_count>3</comment_count>
      <attachid>446390</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-12-09 15:54:00 -0800</bug_when>
    <thetext>Comment on attachment 446390
Patch

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

r=me

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferences.mm:466
&gt; +        _websitePolicies-&gt;setModalContainerObservationPolicy(WebCore::ModalContainerObservationPolicy::Disabled);

It really seems silly to require these adaptor methods for these equivalent enums, but I realize that&apos;s just the way this stuff is designed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822408</commentid>
    <comment_count>4</comment_count>
      <attachid>446390</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-09 16:15:00 -0800</bug_when>
    <thetext>Comment on attachment 446390
Patch

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

Thanks for the review!

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferences.mm:466
&gt;&gt; +        _websitePolicies-&gt;setModalContainerObservationPolicy(WebCore::ModalContainerObservationPolicy::Disabled);
&gt; 
&gt; It really seems silly to require these adaptor methods for these equivalent enums, but I realize that&apos;s just the way this stuff is designed.

Indeed. That said, it does seem like it would be cleaner to separate the adapter method away from the call to `setModalContainerObservationPolicy` by adding a helper method like `WebKit::coreModalContainerObservationPolicy()`, similar to the mouse event policy one above. I&apos;ll do this before landing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822469</commentid>
    <comment_count>5</comment_count>
      <attachid>446646</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-09 18:08:07 -0800</bug_when>
    <thetext>Created attachment 446646
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822506</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-09 21:06:38 -0800</bug_when>
    <thetext>Committed r286831 (245064@main): &lt;https://commits.webkit.org/245064@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 446646.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446390</attachid>
            <date>2021-12-08 11:09:28 -0800</date>
            <delta_ts>2021-12-09 18:07:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234013-20211208110927.patch</filename>
            <type>text/plain</type>
            <size>14151</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NjU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTlkZmQ5ZDgxMDE0M2U4
MTdhM2UyYTlkMmQ0ZTY3MmRlOGUwMTIzYy4uZDBiMzIzZjM4MDRhMjE0NjQ4MDIxOTU5OGE2NDg5
OGFmZDQ4NDZkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTEyLTA4ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIG5ldyBX
S1dlYnBhZ2VQcmVmZXJlbmNlcyBTUEkgZm9yIG1vZGFsIGNvbnRhaW5lciBvYnNlcnZhdGlvbiBw
b2xpY2llcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM0MDEzCisgICAgICAgIHJkYXI6Ly84NjIxOTYxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG5ldyB3ZWJzaXRlIHBvbGljeSBmbGFnIGBN
b2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5YC4gUmVmZXIgdG8gcmRhcjovLzg2MjE5NjEz
IGZvciBtb3JlIGluZm8uCisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjptb2RhbENvbnRhaW5lck9ic2VydmF0aW9u
UG9saWN5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpzZXRNb2Rh
bENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5KToKKwogMjAyMS0xMi0wOCAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU2FmYXJpIEJ1ZyAibm8tY2FjaGUiIG5l
dHdvcmsgZXJyb3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMjE1ZjhmODRjZjE0YjZlYWRjYTM3NjA0NWRmMTM4ODlm
NDcwYTAxMS4uMGFmOThhNDQ2OTJhNmIwMmZlZDAxYmU4MmRjNzBjNjY5MzNiZDEwYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyOCBAQAorMjAyMS0xMi0wOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hz
aWVoQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSBuZXcgV0tXZWJwYWdlUHJlZmVyZW5jZXMg
U1BJIGZvciBtb2RhbCBjb250YWluZXIgb2JzZXJ2YXRpb24gcG9saWNpZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDAxMworICAgICAgICByZGFy
Oi8vODYyMTk2MTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgYSBuZXcgd2Vic2l0ZSBwb2xpY3kgZmxhZyBgTW9kYWxDb250YWluZXJPYnNlcnZh
dGlvblBvbGljeWAsIGFuZCBleHBvc2UgaXQgYXMgU1BJIG9uIFdLV2VicGFnZVByZWZlcmVuY2Vz
LgorICAgICAgICBSZWZlciB0byByZGFyOi8vODYyMTk2MTMgZm9yIGFkZGl0aW9uYWwgZGV0YWls
cy4KKworICAgICAgICAqIFNoYXJlZC9XZWJzaXRlUG9saWNpZXNEYXRhLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdl
YktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
c2l0ZVBvbGljaWVzRGF0YTo6YXBwbHlUb0RvY3VtZW50TG9hZGVyKToKKyAgICAgICAgKiBTaGFy
ZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJV2Vi
c2l0ZVBvbGljaWVzLmNwcDoKKyAgICAgICAgKEFQSTo6V2Vic2l0ZVBvbGljaWVzOjpjb3B5IGNv
bnN0KToKKyAgICAgICAgKEFQSTo6V2Vic2l0ZVBvbGljaWVzOjpkYXRhKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJwYWdlUHJlZmVyZW5jZXMubW06CisgICAgICAgICgtW1dLV2VicGFnZVBy
ZWZlcmVuY2VzIF9zZXRNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5Ol0pOgorICAgICAg
ICAoLVtXS1dlYnBhZ2VQcmVmZXJlbmNlcyBfbW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGlj
eV0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJwYWdlUHJlZmVyZW5jZXNQ
cml2YXRlLmg6CisKIDIwMjEtMTItMDggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgogCiAgICAgICAgIExldCBSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckludGVy
bmFsVW5pdE1hbmFnZXI6OlVuaXQgc3dpdGNoIHRvIFZQSU8gdW5pdCBpZiBWUElPIGlzIHJ1bm5p
bmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKaW5kZXggZjdmM2YzODQ0ZjE4
NDQ3YmU4ZGQ3YjgyZDNhNDQzNTAwMjIxNjc2Mi4uNTEyMjdiOTZkN2QxN2NhMDdlZTNiN2NmZjQx
NjJmM2NiZTFhOTc1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKQEAg
LTE0NCw2ICsxNDQsMTMgQEAgZW51bSBjbGFzcyBNb3VzZUV2ZW50UG9saWN5IDogdWludDhfdCB7
CiAjZW5kaWYKIH07CiAKK2VudW0gY2xhc3MgTW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGlj
eSA6IHVpbnQ4X3QgeworICAgIERpc2FibGVkLAorICAgIFByb21wdCwKKyAgICBBbGxvdywKKyAg
ICBEaXNhbGxvdywKK307CisKIERFQ0xBUkVfQUxMT0NBVE9SX1dJVEhfSEVBUF9JREVOVElGSUVS
KERvY3VtZW50TG9hZGVyKTsKIGNsYXNzIERvY3VtZW50TG9hZGVyCiAgICAgOiBwdWJsaWMgUmVm
Q291bnRlZDxEb2N1bWVudExvYWRlcj4KQEAgLTM0Myw2ICszNTAsOSBAQCBwdWJsaWM6CiAgICAg
V0VCQ09SRV9FWFBPUlQgTW91c2VFdmVudFBvbGljeSBtb3VzZUV2ZW50UG9saWN5KCkgY29uc3Q7
CiAgICAgdm9pZCBzZXRNb3VzZUV2ZW50UG9saWN5KE1vdXNlRXZlbnRQb2xpY3kgcG9saWN5KSB7
IG1fbW91c2VFdmVudFBvbGljeSA9IHBvbGljeTsgfQogCisgICAgTW9kYWxDb250YWluZXJPYnNl
cnZhdGlvblBvbGljeSBtb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5KCkgY29uc3QgeyBy
ZXR1cm4gbV9tb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5OyB9CisgICAgdm9pZCBzZXRN
b2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5KE1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Q
b2xpY3kgcG9saWN5KSB7IG1fbW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeSA9IHBvbGlj
eTsgfQorCiAgICAgdm9pZCBhZGRTdWJyZXNvdXJjZUxvYWRlcihSZXNvdXJjZUxvYWRlciYpOwog
ICAgIHZvaWQgcmVtb3ZlU3VicmVzb3VyY2VMb2FkZXIoTG9hZENvbXBsZXRpb25UeXBlLCBSZXNv
dXJjZUxvYWRlciopOwogICAgIHZvaWQgYWRkUGx1Z0luU3RyZWFtTG9hZGVyKFJlc291cmNlTG9h
ZGVyJik7CkBAIC02NjcsNiArNjc3LDcgQEAgcHJpdmF0ZToKICAgICBTaW11bGF0ZWRNb3VzZUV2
ZW50c0Rpc3BhdGNoUG9saWN5IG1fc2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeSB7
IFNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3k6OkRlZmF1bHQgfTsKICAgICBMZWdh
Y3lPdmVyZmxvd1Njcm9sbGluZ1RvdWNoUG9saWN5IG1fbGVnYWN5T3ZlcmZsb3dTY3JvbGxpbmdU
b3VjaFBvbGljeSB7IExlZ2FjeU92ZXJmbG93U2Nyb2xsaW5nVG91Y2hQb2xpY3k6OkRlZmF1bHQg
fTsKICAgICBNb3VzZUV2ZW50UG9saWN5IG1fbW91c2VFdmVudFBvbGljeSB7IE1vdXNlRXZlbnRQ
b2xpY3k6OkRlZmF1bHQgfTsKKyAgICBNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5IG1f
bW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeSB7IE1vZGFsQ29udGFpbmVyT2JzZXJ2YXRp
b25Qb2xpY3k6OkRpc2FibGVkIH07CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAgICAg
c3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4gbV9zZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uRGF0YTsKQEAgLTc4Miw0ICs3OTMsMTQgQEAgdGVtcGxhdGU8PiBzdHJ1
Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpNb3VzZUV2ZW50UG9saWN5PiB7CiAgICAgPjsKIH07CiAK
K3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TW9kYWxDb250YWluZXJPYnNl
cnZhdGlvblBvbGljeT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAg
IFdlYkNvcmU6Ok1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3ksCisgICAgICAgIFdlYkNv
cmU6Ok1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3k6OkRpc2FibGVkLAorICAgICAgICBX
ZWJDb3JlOjpNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5OjpQcm9tcHQsCisgICAgICAg
IFdlYkNvcmU6Ok1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3k6OkFsbG93LAorICAgICAg
ICBXZWJDb3JlOjpNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5OjpEaXNhbGxvdworICAg
ID47Cit9OworCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
c2l0ZVBvbGljaWVzRGF0YS5jcHAKaW5kZXggYmE3ZmVmOTA4YWJjYWFmM2Y1OTQxOWFjOTIxOGUx
NzY0YzE1ZDEyNS4uOWU5ODNjMjgyZTU0NWNjNDRiNWIxOGNhYjg1Y2M0NTU0ZWEwNjZiMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5jcHAKQEAgLTU0LDYg
KzU0LDcgQEAgdm9pZCBXZWJzaXRlUG9saWNpZXNEYXRhOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBl
bmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgYWxsb3dDb250ZW50Q2hhbmdlT2JzZXJ2ZXJR
dWlyazsKICAgICBlbmNvZGVyIDw8IGFsbG93c0NvbnRlbnRKYXZhU2NyaXB0OwogICAgIGVuY29k
ZXIgPDwgbW91c2VFdmVudFBvbGljeTsKKyAgICBlbmNvZGVyIDw8IG1vZGFsQ29udGFpbmVyT2Jz
ZXJ2YXRpb25Qb2xpY3k7CiAgICAgZW5jb2RlciA8PCBpZGVtcG90ZW50TW9kZUF1dG9zaXppbmdP
bmx5SG9ub3JzUGVyY2VudGFnZXM7CiB9CiAKQEAgLTE0Niw2ICsxNDcsMTEgQEAgc3RkOjpvcHRp
b25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiBXZWJzaXRlUG9saWNpZXNEYXRhOjpkZWNvZGUoSVBD
OjpEZWNvZGVyJiBkZWMKICAgICBpZiAoIW1vdXNlRXZlbnRQb2xpY3kpCiAgICAgICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7CiAKKyAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6Ok1vZGFsQ29udGFp
bmVyT2JzZXJ2YXRpb25Qb2xpY3k+IG1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3k7Cisg
ICAgZGVjb2RlciA+PiBtb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5OworICAgIGlmICgh
bW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKKwogICAgIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gaWRlbXBvdGVudE1vZGVBdXRvc2l6aW5n
T25seUhvbm9yc1BlcmNlbnRhZ2VzOwogICAgIGRlY29kZXIgPj4gaWRlbXBvdGVudE1vZGVBdXRv
c2l6aW5nT25seUhvbm9yc1BlcmNlbnRhZ2VzOwogICAgIGlmICghaWRlbXBvdGVudE1vZGVBdXRv
c2l6aW5nT25seUhvbm9yc1BlcmNlbnRhZ2VzKQpAQCAtMTcxLDYgKzE3Nyw3IEBAIHN0ZDo6b3B0
aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4gV2Vic2l0ZVBvbGljaWVzRGF0YTo6ZGVjb2RlKElQ
Qzo6RGVjb2RlciYgZGVjCiAgICAgICAgIFdURk1vdmUoKmFsbG93Q29udGVudENoYW5nZU9ic2Vy
dmVyUXVpcmspLAogICAgICAgICBXVEZNb3ZlKCphbGxvd3NDb250ZW50SmF2YVNjcmlwdCksCiAg
ICAgICAgIFdURk1vdmUoKm1vdXNlRXZlbnRQb2xpY3kpLAorICAgICAgICBXVEZNb3ZlKCptb2Rh
bENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5KSwKICAgICAgICAgV1RGTW92ZSgqaWRlbXBvdGVu
dE1vZGVBdXRvc2l6aW5nT25seUhvbm9yc1BlcmNlbnRhZ2VzKSwKICAgICB9IH07CiB9CkBAIC0y
OTUsNiArMzAyLDcgQEAgdm9pZCBXZWJzaXRlUG9saWNpZXNEYXRhOjphcHBseVRvRG9jdW1lbnRM
b2FkZXIoV2Vic2l0ZVBvbGljaWVzRGF0YSYmIHdlYnNpdGVQb2wKICNlbmRpZgogICAgIH0KIAor
ICAgIGRvY3VtZW50TG9hZGVyLnNldE1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kod2Vi
c2l0ZVBvbGljaWVzLm1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kpOwogICAgIGRvY3Vt
ZW50TG9hZGVyLnNldEFsbG93Q29udGVudENoYW5nZU9ic2VydmVyUXVpcmsod2Vic2l0ZVBvbGlj
aWVzLmFsbG93Q29udGVudENoYW5nZU9ic2VydmVyUXVpcmspOwogICAgIGRvY3VtZW50TG9hZGVy
LnNldElkZW1wb3RlbnRNb2RlQXV0b3NpemluZ09ubHlIb25vcnNQZXJjZW50YWdlcyh3ZWJzaXRl
UG9saWNpZXMuaWRlbXBvdGVudE1vZGVBdXRvc2l6aW5nT25seUhvbm9yc1BlcmNlbnRhZ2VzKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5o
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5oCmluZGV4IDhkMmE4
NzgyMTE3MGUyYzJlZWFmOGY3NWJkMWIzYjgzMDYwODYwZGQuLjNjMzIxNjliMjRmYTA0NWJlZTJm
MmU5NTdiYzljYjFlYTEwODBmZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YnNpdGVQb2xpY2llc0RhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlUG9s
aWNpZXNEYXRhLmgKQEAgLTcxLDYgKzcxLDcgQEAgc3RydWN0IFdlYnNpdGVQb2xpY2llc0RhdGEg
ewogICAgIGJvb2wgYWxsb3dDb250ZW50Q2hhbmdlT2JzZXJ2ZXJRdWlyayB7IGZhbHNlIH07CiAg
ICAgV2ViQ29yZTo6QWxsb3dzQ29udGVudEphdmFTY3JpcHQgYWxsb3dzQ29udGVudEphdmFTY3Jp
cHQgeyBXZWJDb3JlOjpBbGxvd3NDb250ZW50SmF2YVNjcmlwdDo6WWVzIH07CiAgICAgV2ViQ29y
ZTo6TW91c2VFdmVudFBvbGljeSBtb3VzZUV2ZW50UG9saWN5IHsgV2ViQ29yZTo6TW91c2VFdmVu
dFBvbGljeTo6RGVmYXVsdCB9OworICAgIFdlYkNvcmU6Ok1vZGFsQ29udGFpbmVyT2JzZXJ2YXRp
b25Qb2xpY3kgbW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeSB7IFdlYkNvcmU6Ok1vZGFs
Q29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3k6OkRpc2FibGVkIH07CiAgICAgYm9vbCBpZGVtcG90
ZW50TW9kZUF1dG9zaXppbmdPbmx5SG9ub3JzUGVyY2VudGFnZXMgeyBmYWxzZSB9OwogCiAgICAg
dm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuY3BwCmluZGV4IGNmMzM0MGQ3MjcxMjI3
YTdjMzgwYzdjOGIzMTZkNjU1N2I4NTRjZjMuLjA2NzBkZjJlMDc1ZDc2Mzg0NzgwZjAzZTQwMWUy
M2I2ZTY0MzFlNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElX
ZWJzaXRlUG9saWNpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElX
ZWJzaXRlUG9saWNpZXMuY3BwCkBAIC03Niw2ICs3Niw3IEBAIFJlZjxXZWJzaXRlUG9saWNpZXM+
IFdlYnNpdGVQb2xpY2llczo6Y29weSgpIGNvbnN0CiAgICAgcG9saWNpZXMtPnNldEFsbG93c0Nv
bnRlbnRKYXZhU2NyaXB0KG1fYWxsb3dzQ29udGVudEphdmFTY3JpcHQpOwogICAgIHBvbGljaWVz
LT5zZXRDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWQobV9jYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWQp
OwogICAgIHBvbGljaWVzLT5zZXRNb3VzZUV2ZW50UG9saWN5KG1fbW91c2VFdmVudFBvbGljeSk7
CisgICAgcG9saWNpZXMtPnNldE1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kobV9tb2Rh
bENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5KTsKICAgICByZXR1cm4gcG9saWNpZXM7CiB9CiAK
QEAgLTEyMSw2ICsxMjIsNyBAQCBXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGEgV2Vic2l0ZVBv
bGljaWVzOjpkYXRhKCkKICAgICAgICAgbV9hbGxvd0NvbnRlbnRDaGFuZ2VPYnNlcnZlclF1aXJr
LAogICAgICAgICBtX2FsbG93c0NvbnRlbnRKYXZhU2NyaXB0LAogICAgICAgICBtX21vdXNlRXZl
bnRQb2xpY3ksCisgICAgICAgIG1fbW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeSwKICAg
ICAgICAgbV9pZGVtcG90ZW50TW9kZUF1dG9zaXppbmdPbmx5SG9ub3JzUGVyY2VudGFnZXMKICAg
ICB9OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNp
dGVQb2xpY2llcy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xp
Y2llcy5oCmluZGV4IDQ5NzI4MjMwNWU2NGZjOGJlZmQ0YmYyMzAyM2U2ZWE0N2QwNzEyZDYuLjQx
ZmRkMmY0YzNjZGY0ZTMzZjE4OTY3YmQwZWVjMDQ1NzZhZmE3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmgKQEAgLTEzNSw2ICsxMzUs
OSBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6TW91c2VFdmVudFBvbGljeSBtb3VzZUV2ZW50UG9s
aWN5KCkgY29uc3QgeyByZXR1cm4gbV9tb3VzZUV2ZW50UG9saWN5OyB9CiAgICAgdm9pZCBzZXRN
b3VzZUV2ZW50UG9saWN5KFdlYkNvcmU6Ok1vdXNlRXZlbnRQb2xpY3kgcG9saWN5KSB7IG1fbW91
c2VFdmVudFBvbGljeSA9IHBvbGljeTsgfQogCisgICAgV2ViQ29yZTo6TW9kYWxDb250YWluZXJP
YnNlcnZhdGlvblBvbGljeSBtb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5KCkgY29uc3Qg
eyByZXR1cm4gbV9tb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5OyB9CisgICAgdm9pZCBz
ZXRNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5KFdlYkNvcmU6Ok1vZGFsQ29udGFpbmVy
T2JzZXJ2YXRpb25Qb2xpY3kgcG9saWN5KSB7IG1fbW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBv
bGljeSA9IHBvbGljeTsgfQorCiAgICAgYm9vbCBpZGVtcG90ZW50TW9kZUF1dG9zaXppbmdPbmx5
SG9ub3JzUGVyY2VudGFnZXMoKSBjb25zdCB7IHJldHVybiBtX2lkZW1wb3RlbnRNb2RlQXV0b3Np
emluZ09ubHlIb25vcnNQZXJjZW50YWdlczsgfQogICAgIHZvaWQgc2V0SWRlbXBvdGVudE1vZGVB
dXRvc2l6aW5nT25seUhvbm9yc1BlcmNlbnRhZ2VzKGJvb2wgaWRlbXBvdGVudE1vZGVBdXRvc2l6
aW5nT25seUhvbm9yc1BlcmNlbnRhZ2VzKSB7IG1faWRlbXBvdGVudE1vZGVBdXRvc2l6aW5nT25s
eUhvbm9yc1BlcmNlbnRhZ2VzID0gaWRlbXBvdGVudE1vZGVBdXRvc2l6aW5nT25seUhvbm9yc1Bl
cmNlbnRhZ2VzOyB9CiAKQEAgLTE2NSw2ICsxNjgsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9h
bGxvd0NvbnRlbnRDaGFuZ2VPYnNlcnZlclF1aXJrIHsgZmFsc2UgfTsKICAgICBXZWJDb3JlOjpB
bGxvd3NDb250ZW50SmF2YVNjcmlwdCBtX2FsbG93c0NvbnRlbnRKYXZhU2NyaXB0IHsgV2ViQ29y
ZTo6QWxsb3dzQ29udGVudEphdmFTY3JpcHQ6OlllcyB9OwogICAgIFdlYkNvcmU6Ok1vdXNlRXZl
bnRQb2xpY3kgbV9tb3VzZUV2ZW50UG9saWN5IHsgV2ViQ29yZTo6TW91c2VFdmVudFBvbGljeTo6
RGVmYXVsdCB9OworICAgIFdlYkNvcmU6Ok1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kg
bV9tb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5IHsgV2ViQ29yZTo6TW9kYWxDb250YWlu
ZXJPYnNlcnZhdGlvblBvbGljeTo6RGlzYWJsZWQgfTsKICAgICBib29sIG1faWRlbXBvdGVudE1v
ZGVBdXRvc2l6aW5nT25seUhvbm9yc1BlcmNlbnRhZ2VzIHsgZmFsc2UgfTsKICAgICBzdGQ6Om9w
dGlvbmFsPGJvb2w+IG1fY2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnBhZ2VQcmVmZXJlbmNlcy5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnBhZ2VQcmVmZXJlbmNl
cy5tbQppbmRleCAxMTUzZmRjYWM5MWM0YjBlODQwYTcxNTVlZTA1NWE2MTgwNjcyNmYzLi5jOTkw
YWVhZWEwMmQ5MWIxNWMwYmJkMDM0YTcwMGJmZjAwYTk5NDM2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJwYWdlUHJlZmVyZW5jZXMubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2VicGFnZVByZWZlcmVuY2VzLm1t
CkBAIC00NTksNiArNDU5LDM4IEBAIC0gKF9XS1dlYnNpdGVNb3VzZUV2ZW50UG9saWN5KV9tb3Vz
ZUV2ZW50UG9saWN5CiAgICAgcmV0dXJuIFdlYktpdDo6bW91c2VFdmVudFBvbGljeShfd2Vic2l0
ZVBvbGljaWVzLT5tb3VzZUV2ZW50UG9saWN5KCkpOwogfQogCistICh2b2lkKV9zZXRNb2RhbENv
bnRhaW5lck9ic2VydmF0aW9uUG9saWN5OihfV0tXZWJzaXRlTW9kYWxDb250YWluZXJPYnNlcnZh
dGlvblBvbGljeSlwb2xpY3kKK3sKKyAgICBzd2l0Y2ggKHBvbGljeSkgeworICAgIGNhc2UgX1dL
V2Vic2l0ZU1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3lEaXNhYmxlZDoKKyAgICAgICAg
X3dlYnNpdGVQb2xpY2llcy0+c2V0TW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeShXZWJD
b3JlOjpNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5OjpEaXNhYmxlZCk7CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgX1dLV2Vic2l0ZU1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xp
Y3lQcm9tcHQ6CisgICAgICAgIF93ZWJzaXRlUG9saWNpZXMtPnNldE1vZGFsQ29udGFpbmVyT2Jz
ZXJ2YXRpb25Qb2xpY3koV2ViQ29yZTo6TW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeTo6
UHJvbXB0KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBfV0tXZWJzaXRlTW9kYWxDb250YWlu
ZXJPYnNlcnZhdGlvblBvbGljeUFsbG93OgorICAgICAgICBfd2Vic2l0ZVBvbGljaWVzLT5zZXRN
b2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5KFdlYkNvcmU6Ok1vZGFsQ29udGFpbmVyT2Jz
ZXJ2YXRpb25Qb2xpY3k6OkFsbG93KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBfV0tXZWJz
aXRlTW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeURpc2FsbG93OgorICAgICAgICBfd2Vi
c2l0ZVBvbGljaWVzLT5zZXRNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5KFdlYkNvcmU6
Ok1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3k6OkRpc2FsbG93KTsKKyAgICAgICAgYnJl
YWs7CisgICAgfQorfQorCistIChfV0tXZWJzaXRlTW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBv
bGljeSlfbW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeQoreworICAgIHN3aXRjaCAoX3dl
YnNpdGVQb2xpY2llcy0+bW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeSgpKSB7CisgICAg
Y2FzZSBXZWJDb3JlOjpNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5OjpEaXNhYmxlZDoK
KyAgICAgICAgcmV0dXJuIF9XS1dlYnNpdGVNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5
RGlzYWJsZWQ7CisgICAgY2FzZSBXZWJDb3JlOjpNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9s
aWN5OjpQcm9tcHQ6CisgICAgICAgIHJldHVybiBfV0tXZWJzaXRlTW9kYWxDb250YWluZXJPYnNl
cnZhdGlvblBvbGljeVByb21wdDsKKyAgICBjYXNlIFdlYkNvcmU6Ok1vZGFsQ29udGFpbmVyT2Jz
ZXJ2YXRpb25Qb2xpY3k6OkFsbG93OgorICAgICAgICByZXR1cm4gX1dLV2Vic2l0ZU1vZGFsQ29u
dGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3lBbGxvdzsKKyAgICBjYXNlIFdlYkNvcmU6Ok1vZGFsQ29u
dGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3k6OkRpc2FsbG93OgorICAgICAgICByZXR1cm4gX1dLV2Vi
c2l0ZU1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3lEaXNhbGxvdzsKKyAgICB9Cit9CisK
ICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogI2ltcG9ydCA8V2ViS2l0QWRkaXRpb25zL1dL
V2VicGFnZVByZWZlcmVuY2VzQWRkaXRpb25zLm1tPgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJwYWdlUHJlZmVyZW5jZXNQcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJwYWdlUHJlZmVyZW5j
ZXNQcml2YXRlLmgKaW5kZXggMTc1ZTk3MzRmZTE3N2ViZTI3ODI2ZjgyZWI2N2FkMTQzODVhYzFi
My4uZjIxYWE2ZWI2NDM3YWM1ZDI0MzUzYzhlZDVjOTk3NjFjMzZlNjRmMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2VicGFnZVByZWZlcmVuY2VzUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnBhZ2VQ
cmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtNjIsNiArNjIsMTMgQEAgdHlwZWRlZiBOU19PUFRJT05T
KE5TVUludGVnZXIsIF9XS1dlYnNpdGVNb3VzZUV2ZW50UG9saWN5KSB7CiAjZW5kaWYKIH0gV0tf
QVBJX0FWQUlMQUJMRShtYWNvcygxMS4wKSwgaW9zKDE0LjApKTsKIAordHlwZWRlZiBOU19PUFRJ
T05TKE5TVUludGVnZXIsIF9XS1dlYnNpdGVNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5
KSB7CisgICAgX1dLV2Vic2l0ZU1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3lEaXNhYmxl
ZCwKKyAgICBfV0tXZWJzaXRlTW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeVByb21wdCwK
KyAgICBfV0tXZWJzaXRlTW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeUFsbG93LAorICAg
IF9XS1dlYnNpdGVNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5RGlzYWxsb3csCit9IFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKIEBj
bGFzcyBfV0tDdXN0b21IZWFkZXJGaWVsZHM7CiBAY2xhc3MgV0tVc2VyQ29udGVudENvbnRyb2xs
ZXI7CiBAY2xhc3MgV0tXZWJzaXRlRGF0YVN0b3JlOwpAQCAtODUsNiArOTIsNyBAQCB0eXBlZGVm
IE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLV2Vic2l0ZU1vdXNlRXZlbnRQb2xpY3kpIHsKIEBw
cm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5LCBzZXR0ZXI9X3NldEFwcGxpY2F0aW9uTmFtZUZvclVz
ZXJBZ2VudFdpdGhNb2Rlcm5Db21wYXRpYmlsaXR5OikgTlNTdHJpbmcgKl9hcHBsaWNhdGlvbk5h
bWVGb3JVc2VyQWdlbnRXaXRoTW9kZXJuQ29tcGF0aWJpbGl0eTsKIAogQHByb3BlcnR5IChub25h
dG9taWMsIHNldHRlcj1fc2V0TW91c2VFdmVudFBvbGljeTopIF9XS1dlYnNpdGVNb3VzZUV2ZW50
UG9saWN5IF9tb3VzZUV2ZW50UG9saWN5IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTEuMCksIGlv
cygxNC4wKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRNb2RhbENvbnRhaW5l
ck9ic2VydmF0aW9uUG9saWN5OikgX1dLV2Vic2l0ZU1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Q
b2xpY3kgX21vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kgV0tfQVBJX0FWQUlMQUJMRSht
YWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAogQHByb3BlcnR5IChub25hdG9t
aWMsIHNldHRlcj1fc2V0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkOikgQk9PTCBfY2FwdGl2ZVBv
cnRhbE1vZGVFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhX
S19JT1NfVEJBKSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446646</attachid>
            <date>2021-12-09 18:08:07 -0800</date>
            <delta_ts>2021-12-09 21:06:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234013-20211209180806.patch</filename>
            <type>text/plain</type>
            <size>14970</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NzgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2RiMmM4OGI1NDQ1M2Iy
ODE3MDEwYjBiYjVhMWZlNjllNDQ4MDgzYS4uYzI4MjIwMjNmN2EyZmNkOWQ2Mjg5NTBlNThjZDBi
OTM4MWQyM2FkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTEyLTA5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIG5ldyBX
S1dlYnBhZ2VQcmVmZXJlbmNlcyBTUEkgZm9yIG1vZGFsIGNvbnRhaW5lciBvYnNlcnZhdGlvbiBw
b2xpY2llcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM0MDEzCisgICAgICAgIHJkYXI6Ly84NjIxOTYxMworCisgICAgICAgIFJldmlld2VkIGJ5IEJy
ZW50IEZ1bGdoYW0uCisKKyAgICAgICAgQWRkIGEgbmV3IHdlYnNpdGUgcG9saWN5IGZsYWcgYE1v
ZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3lgLiBSZWZlciB0byByZGFyOi8vODYyMTk2MTMg
Zm9yIG1vcmUgaW5mby4KKworICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5oOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6Om1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Q
b2xpY3kgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnNldE1vZGFs
Q29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kpOgorCiAyMDIxLTEyLTA5ICBUeWxlciBXaWxjb2Nr
ICA8dHlsZXJfd0BhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IFVzZSBSZWZQdHI8QVhDb3JlT2Jq
ZWN0PiBpbnN0ZWFkIG9mIHJhdyBBWENvcmVPYmplY3QqIHBvaW50ZXJzIGluIEFjY2Vzc2liaWxp
dHk6OmZpbmRNYXRjaGluZ09iamVjdHMgYW5kIGRvd25zdHJlYW0gZnVuY3Rpb25zCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDdmNTNkN2UzNGFjNjFlYmFiMjU4MDlmZDEzN2ZjOWExNWI2YjNkNWYuLjliY2Q5OTk5MWMy
OWM2ZDlmMGEwZjFjZmUxNDMzZmQ4ZDU2ZGIwM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAK
KzIwMjEtMTItMDkgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQWRkIGEgbmV3IFdLV2VicGFnZVByZWZlcmVuY2VzIFNQSSBmb3IgbW9kYWwgY29udGFp
bmVyIG9ic2VydmF0aW9uIHBvbGljaWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzQwMTMKKyAgICAgICAgcmRhcjovLzg2MjE5NjEzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKworICAgICAgICBBZGQgYSBuZXcgd2Vic2l0
ZSBwb2xpY3kgZmxhZyBgTW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeWAsIGFuZCBleHBv
c2UgaXQgYXMgU1BJIG9uIFdLV2VicGFnZVByZWZlcmVuY2VzLgorICAgICAgICBSZWZlciB0byBy
ZGFyOi8vODYyMTk2MTMgZm9yIGFkZGl0aW9uYWwgZGV0YWlscy4KKworICAgICAgICAqIFNoYXJl
ZC9XZWJzaXRlUG9saWNpZXNEYXRhLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZVBvbGlj
aWVzRGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZVBvbGljaWVz
RGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YTo6YXBw
bHlUb0RvY3VtZW50TG9hZGVyKToKKyAgICAgICAgKiBTaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0
YS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmNwcDoKKyAg
ICAgICAgKEFQSTo6V2Vic2l0ZVBvbGljaWVzOjpjb3B5IGNvbnN0KToKKyAgICAgICAgKEFQSTo6
V2Vic2l0ZVBvbGljaWVzOjpkYXRhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVdlYnNp
dGVQb2xpY2llcy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJwYWdlUHJl
ZmVyZW5jZXMubW06CisgICAgICAgIChXZWJLaXQ6Om1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Q
b2xpY3kpOgorICAgICAgICAoV2ViS2l0Ojpjb3JlTW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBv
bGljeSk6CisgICAgICAgICgtW1dLV2VicGFnZVByZWZlcmVuY2VzIF9zZXRNb2RhbENvbnRhaW5l
ck9ic2VydmF0aW9uUG9saWN5Ol0pOgorICAgICAgICAoLVtXS1dlYnBhZ2VQcmVmZXJlbmNlcyBf
bW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeV0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJwYWdlUHJlZmVyZW5jZXNQcml2YXRlLmg6CisKIDIwMjEtMTItMDkgIFBl
ciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNPU11bV1Bd
IEJsb2NrIGFjY2VzcyB0byB1bnVzZWQgc3lzdGVtIGNhbGxzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5oCmluZGV4IGY3ZjNmMzg0NGYxODQ0N2JlOGRkN2I4MmQzYTQ0MzUwMDIy
MTY3NjIuLjUxMjI3Yjk2ZDdkMTdjYTA3ZWUzYjdjZmY0MTYyZjNjYmUxYTk3NWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCkBAIC0xNDQsNiArMTQ0LDEzIEBAIGVudW0g
Y2xhc3MgTW91c2VFdmVudFBvbGljeSA6IHVpbnQ4X3QgewogI2VuZGlmCiB9OwogCitlbnVtIGNs
YXNzIE1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kgOiB1aW50OF90IHsKKyAgICBEaXNh
YmxlZCwKKyAgICBQcm9tcHQsCisgICAgQWxsb3csCisgICAgRGlzYWxsb3csCit9OworCiBERUNM
QVJFX0FMTE9DQVRPUl9XSVRIX0hFQVBfSURFTlRJRklFUihEb2N1bWVudExvYWRlcik7CiBjbGFz
cyBEb2N1bWVudExvYWRlcgogICAgIDogcHVibGljIFJlZkNvdW50ZWQ8RG9jdW1lbnRMb2FkZXI+
CkBAIC0zNDMsNiArMzUwLDkgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIE1vdXNlRXZl
bnRQb2xpY3kgbW91c2VFdmVudFBvbGljeSgpIGNvbnN0OwogICAgIHZvaWQgc2V0TW91c2VFdmVu
dFBvbGljeShNb3VzZUV2ZW50UG9saWN5IHBvbGljeSkgeyBtX21vdXNlRXZlbnRQb2xpY3kgPSBw
b2xpY3k7IH0KIAorICAgIE1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kgbW9kYWxDb250
YWluZXJPYnNlcnZhdGlvblBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9kYWxDb250YWluZXJP
YnNlcnZhdGlvblBvbGljeTsgfQorICAgIHZvaWQgc2V0TW9kYWxDb250YWluZXJPYnNlcnZhdGlv
blBvbGljeShNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5IHBvbGljeSkgeyBtX21vZGFs
Q29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kgPSBwb2xpY3k7IH0KKwogICAgIHZvaWQgYWRkU3Vi
cmVzb3VyY2VMb2FkZXIoUmVzb3VyY2VMb2FkZXImKTsKICAgICB2b2lkIHJlbW92ZVN1YnJlc291
cmNlTG9hZGVyKExvYWRDb21wbGV0aW9uVHlwZSwgUmVzb3VyY2VMb2FkZXIqKTsKICAgICB2b2lk
IGFkZFBsdWdJblN0cmVhbUxvYWRlcihSZXNvdXJjZUxvYWRlciYpOwpAQCAtNjY3LDYgKzY3Nyw3
IEBAIHByaXZhdGU6CiAgICAgU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeSBtX3Np
bXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kgeyBTaW11bGF0ZWRNb3VzZUV2ZW50c0Rp
c3BhdGNoUG9saWN5OjpEZWZhdWx0IH07CiAgICAgTGVnYWN5T3ZlcmZsb3dTY3JvbGxpbmdUb3Vj
aFBvbGljeSBtX2xlZ2FjeU92ZXJmbG93U2Nyb2xsaW5nVG91Y2hQb2xpY3kgeyBMZWdhY3lPdmVy
Zmxvd1Njcm9sbGluZ1RvdWNoUG9saWN5OjpEZWZhdWx0IH07CiAgICAgTW91c2VFdmVudFBvbGlj
eSBtX21vdXNlRXZlbnRQb2xpY3kgeyBNb3VzZUV2ZW50UG9saWN5OjpEZWZhdWx0IH07CisgICAg
TW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeSBtX21vZGFsQ29udGFpbmVyT2JzZXJ2YXRp
b25Qb2xpY3kgeyBNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5OjpEaXNhYmxlZCB9Owog
CiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbkRhdGE+IG1fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE7CkBA
IC03ODIsNCArNzkzLDE0IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6
TW91c2VFdmVudFBvbGljeT4gewogICAgID47CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVt
VHJhaXRzPFdlYkNvcmU6Ok1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3k+IHsKKyAgICB1
c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpNb2RhbENvbnRhaW5l
ck9ic2VydmF0aW9uUG9saWN5LAorICAgICAgICBXZWJDb3JlOjpNb2RhbENvbnRhaW5lck9ic2Vy
dmF0aW9uUG9saWN5OjpEaXNhYmxlZCwKKyAgICAgICAgV2ViQ29yZTo6TW9kYWxDb250YWluZXJP
YnNlcnZhdGlvblBvbGljeTo6UHJvbXB0LAorICAgICAgICBXZWJDb3JlOjpNb2RhbENvbnRhaW5l
ck9ic2VydmF0aW9uUG9saWN5OjpBbGxvdywKKyAgICAgICAgV2ViQ29yZTo6TW9kYWxDb250YWlu
ZXJPYnNlcnZhdGlvblBvbGljeTo6RGlzYWxsb3cKKyAgICA+OworfTsKKwogfSAvLyBuYW1lc3Bh
Y2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlUG9saWNpZXNE
YXRhLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuY3BwCmlu
ZGV4IGJhN2ZlZjkwOGFiY2FhZjNmNTk0MTlhYzkyMThlMTc2NGMxNWQxMjUuLjllOTgzYzI4MmU1
NDVjYzQ0YjViMThjYWI4NWNjNDU1NGVhMDY2YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYnNpdGVQb2xpY2llc0RhdGEuY3BwCkBAIC01NCw2ICs1NCw3IEBAIHZvaWQgV2Vic2l0ZVBv
bGljaWVzRGF0YTo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNv
ZGVyIDw8IGFsbG93Q29udGVudENoYW5nZU9ic2VydmVyUXVpcms7CiAgICAgZW5jb2RlciA8PCBh
bGxvd3NDb250ZW50SmF2YVNjcmlwdDsKICAgICBlbmNvZGVyIDw8IG1vdXNlRXZlbnRQb2xpY3k7
CisgICAgZW5jb2RlciA8PCBtb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5OwogICAgIGVu
Y29kZXIgPDwgaWRlbXBvdGVudE1vZGVBdXRvc2l6aW5nT25seUhvbm9yc1BlcmNlbnRhZ2VzOwog
fQogCkBAIC0xNDYsNiArMTQ3LDExIEBAIHN0ZDo6b3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0
YT4gV2Vic2l0ZVBvbGljaWVzRGF0YTo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjCiAgICAgaWYg
KCFtb3VzZUV2ZW50UG9saWN5KQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCisgICAg
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5PiBt
b2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5OworICAgIGRlY29kZXIgPj4gbW9kYWxDb250
YWluZXJPYnNlcnZhdGlvblBvbGljeTsKKyAgICBpZiAoIW1vZGFsQ29udGFpbmVyT2JzZXJ2YXRp
b25Qb2xpY3kpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKICAgICBzdGQ6Om9wdGlv
bmFsPGJvb2w+IGlkZW1wb3RlbnRNb2RlQXV0b3NpemluZ09ubHlIb25vcnNQZXJjZW50YWdlczsK
ICAgICBkZWNvZGVyID4+IGlkZW1wb3RlbnRNb2RlQXV0b3NpemluZ09ubHlIb25vcnNQZXJjZW50
YWdlczsKICAgICBpZiAoIWlkZW1wb3RlbnRNb2RlQXV0b3NpemluZ09ubHlIb25vcnNQZXJjZW50
YWdlcykKQEAgLTE3MSw2ICsxNzcsNyBAQCBzdGQ6Om9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0Rh
dGE+IFdlYnNpdGVQb2xpY2llc0RhdGE6OmRlY29kZShJUEM6OkRlY29kZXImIGRlYwogICAgICAg
ICBXVEZNb3ZlKCphbGxvd0NvbnRlbnRDaGFuZ2VPYnNlcnZlclF1aXJrKSwKICAgICAgICAgV1RG
TW92ZSgqYWxsb3dzQ29udGVudEphdmFTY3JpcHQpLAogICAgICAgICBXVEZNb3ZlKCptb3VzZUV2
ZW50UG9saWN5KSwKKyAgICAgICAgV1RGTW92ZSgqbW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBv
bGljeSksCiAgICAgICAgIFdURk1vdmUoKmlkZW1wb3RlbnRNb2RlQXV0b3NpemluZ09ubHlIb25v
cnNQZXJjZW50YWdlcyksCiAgICAgfSB9OwogfQpAQCAtMjk1LDYgKzMwMiw3IEBAIHZvaWQgV2Vi
c2l0ZVBvbGljaWVzRGF0YTo6YXBwbHlUb0RvY3VtZW50TG9hZGVyKFdlYnNpdGVQb2xpY2llc0Rh
dGEmJiB3ZWJzaXRlUG9sCiAjZW5kaWYKICAgICB9CiAKKyAgICBkb2N1bWVudExvYWRlci5zZXRN
b2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5KHdlYnNpdGVQb2xpY2llcy5tb2RhbENvbnRh
aW5lck9ic2VydmF0aW9uUG9saWN5KTsKICAgICBkb2N1bWVudExvYWRlci5zZXRBbGxvd0NvbnRl
bnRDaGFuZ2VPYnNlcnZlclF1aXJrKHdlYnNpdGVQb2xpY2llcy5hbGxvd0NvbnRlbnRDaGFuZ2VP
YnNlcnZlclF1aXJrKTsKICAgICBkb2N1bWVudExvYWRlci5zZXRJZGVtcG90ZW50TW9kZUF1dG9z
aXppbmdPbmx5SG9ub3JzUGVyY2VudGFnZXMod2Vic2l0ZVBvbGljaWVzLmlkZW1wb3RlbnRNb2Rl
QXV0b3NpemluZ09ubHlIb25vcnNQZXJjZW50YWdlcyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYnNpdGVQb2xpY2llc0RhdGEuaAppbmRleCA4ZDJhODc4MjExNzBlMmMyZWVhZjhmNzViZDFi
M2I4MzA2MDg2MGRkLi4zYzMyMTY5YjI0ZmEwNDViZWUyZjJlOTU3YmM5Y2IxZWExMDgwZmY3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlUG9saWNpZXNEYXRhLmgKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5oCkBAIC03MSw2ICs3
MSw3IEBAIHN0cnVjdCBXZWJzaXRlUG9saWNpZXNEYXRhIHsKICAgICBib29sIGFsbG93Q29udGVu
dENoYW5nZU9ic2VydmVyUXVpcmsgeyBmYWxzZSB9OwogICAgIFdlYkNvcmU6OkFsbG93c0NvbnRl
bnRKYXZhU2NyaXB0IGFsbG93c0NvbnRlbnRKYXZhU2NyaXB0IHsgV2ViQ29yZTo6QWxsb3dzQ29u
dGVudEphdmFTY3JpcHQ6OlllcyB9OwogICAgIFdlYkNvcmU6Ok1vdXNlRXZlbnRQb2xpY3kgbW91
c2VFdmVudFBvbGljeSB7IFdlYkNvcmU6Ok1vdXNlRXZlbnRQb2xpY3k6OkRlZmF1bHQgfTsKKyAg
ICBXZWJDb3JlOjpNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5IG1vZGFsQ29udGFpbmVy
T2JzZXJ2YXRpb25Qb2xpY3kgeyBXZWJDb3JlOjpNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9s
aWN5OjpEaXNhYmxlZCB9OwogICAgIGJvb2wgaWRlbXBvdGVudE1vZGVBdXRvc2l6aW5nT25seUhv
bm9yc1BlcmNlbnRhZ2VzIHsgZmFsc2UgfTsKIAogICAgIHZvaWQgZW5jb2RlKElQQzo6RW5jb2Rl
ciYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdl
YnNpdGVQb2xpY2llcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0
ZVBvbGljaWVzLmNwcAppbmRleCBjZjMzNDBkNzI3MTIyN2E3YzM4MGM3YzhiMzE2ZDY1NTdiODU0
Y2YzLi4wNjcwZGYyZTA3NWQ3NjM4NDc4MGYwM2U0MDFlMjNiNmU2NDMxZTVmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmNwcApAQCAt
NzYsNiArNzYsNyBAQCBSZWY8V2Vic2l0ZVBvbGljaWVzPiBXZWJzaXRlUG9saWNpZXM6OmNvcHko
KSBjb25zdAogICAgIHBvbGljaWVzLT5zZXRBbGxvd3NDb250ZW50SmF2YVNjcmlwdChtX2FsbG93
c0NvbnRlbnRKYXZhU2NyaXB0KTsKICAgICBwb2xpY2llcy0+c2V0Q2FwdGl2ZVBvcnRhbE1vZGVF
bmFibGVkKG1fY2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkKTsKICAgICBwb2xpY2llcy0+c2V0TW91
c2VFdmVudFBvbGljeShtX21vdXNlRXZlbnRQb2xpY3kpOworICAgIHBvbGljaWVzLT5zZXRNb2Rh
bENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5KG1fbW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBv
bGljeSk7CiAgICAgcmV0dXJuIHBvbGljaWVzOwogfQogCkBAIC0xMjEsNiArMTIyLDcgQEAgV2Vi
S2l0OjpXZWJzaXRlUG9saWNpZXNEYXRhIFdlYnNpdGVQb2xpY2llczo6ZGF0YSgpCiAgICAgICAg
IG1fYWxsb3dDb250ZW50Q2hhbmdlT2JzZXJ2ZXJRdWlyaywKICAgICAgICAgbV9hbGxvd3NDb250
ZW50SmF2YVNjcmlwdCwKICAgICAgICAgbV9tb3VzZUV2ZW50UG9saWN5LAorICAgICAgICBtX21v
ZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3ksCiAgICAgICAgIG1faWRlbXBvdGVudE1vZGVB
dXRvc2l6aW5nT25seUhvbm9yc1BlcmNlbnRhZ2VzCiAgICAgfTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaAppbmRleCA0OTcyODIzMDVl
NjRmYzhiZWZkNGJmMjMwMjNlNmVhNDdkMDcxMmQ2Li40MWZkZDJmNGMzY2RmNGUzM2YxODk2N2Jk
MGVlYzA0NTc2YWZhNzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
QVBJV2Vic2l0ZVBvbGljaWVzLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQ
SVdlYnNpdGVQb2xpY2llcy5oCkBAIC0xMzUsNiArMTM1LDkgQEAgcHVibGljOgogICAgIFdlYkNv
cmU6Ok1vdXNlRXZlbnRQb2xpY3kgbW91c2VFdmVudFBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1f
bW91c2VFdmVudFBvbGljeTsgfQogICAgIHZvaWQgc2V0TW91c2VFdmVudFBvbGljeShXZWJDb3Jl
OjpNb3VzZUV2ZW50UG9saWN5IHBvbGljeSkgeyBtX21vdXNlRXZlbnRQb2xpY3kgPSBwb2xpY3k7
IH0KIAorICAgIFdlYkNvcmU6Ok1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kgbW9kYWxD
b250YWluZXJPYnNlcnZhdGlvblBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9kYWxDb250YWlu
ZXJPYnNlcnZhdGlvblBvbGljeTsgfQorICAgIHZvaWQgc2V0TW9kYWxDb250YWluZXJPYnNlcnZh
dGlvblBvbGljeShXZWJDb3JlOjpNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5IHBvbGlj
eSkgeyBtX21vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kgPSBwb2xpY3k7IH0KKwogICAg
IGJvb2wgaWRlbXBvdGVudE1vZGVBdXRvc2l6aW5nT25seUhvbm9yc1BlcmNlbnRhZ2VzKCkgY29u
c3QgeyByZXR1cm4gbV9pZGVtcG90ZW50TW9kZUF1dG9zaXppbmdPbmx5SG9ub3JzUGVyY2VudGFn
ZXM7IH0KICAgICB2b2lkIHNldElkZW1wb3RlbnRNb2RlQXV0b3NpemluZ09ubHlIb25vcnNQZXJj
ZW50YWdlcyhib29sIGlkZW1wb3RlbnRNb2RlQXV0b3NpemluZ09ubHlIb25vcnNQZXJjZW50YWdl
cykgeyBtX2lkZW1wb3RlbnRNb2RlQXV0b3NpemluZ09ubHlIb25vcnNQZXJjZW50YWdlcyA9IGlk
ZW1wb3RlbnRNb2RlQXV0b3NpemluZ09ubHlIb25vcnNQZXJjZW50YWdlczsgfQogCkBAIC0xNjUs
NiArMTY4LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fYWxsb3dDb250ZW50Q2hhbmdlT2JzZXJ2
ZXJRdWlyayB7IGZhbHNlIH07CiAgICAgV2ViQ29yZTo6QWxsb3dzQ29udGVudEphdmFTY3JpcHQg
bV9hbGxvd3NDb250ZW50SmF2YVNjcmlwdCB7IFdlYkNvcmU6OkFsbG93c0NvbnRlbnRKYXZhU2Ny
aXB0OjpZZXMgfTsKICAgICBXZWJDb3JlOjpNb3VzZUV2ZW50UG9saWN5IG1fbW91c2VFdmVudFBv
bGljeSB7IFdlYkNvcmU6Ok1vdXNlRXZlbnRQb2xpY3k6OkRlZmF1bHQgfTsKKyAgICBXZWJDb3Jl
OjpNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5IG1fbW9kYWxDb250YWluZXJPYnNlcnZh
dGlvblBvbGljeSB7IFdlYkNvcmU6Ok1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3k6OkRp
c2FibGVkIH07CiAgICAgYm9vbCBtX2lkZW1wb3RlbnRNb2RlQXV0b3NpemluZ09ubHlIb25vcnNQ
ZXJjZW50YWdlcyB7IGZhbHNlIH07CiAgICAgc3RkOjpvcHRpb25hbDxib29sPiBtX2NhcHRpdmVQ
b3J0YWxNb2RlRW5hYmxlZDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJwYWdlUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJwYWdlUHJlZmVyZW5jZXMubW0KaW5kZXggMWI1MzQzN2MyODU1
ZDQwZTVkNmIyOTU3NjA1ZjlmZTdkYTliYzJmNS4uMDIyZGM1MDg5YWIxYWNhYTAyODJiMDJiY2Vi
YWY4OWU3ZmY3OGNjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2VicGFnZVByZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYnBhZ2VQcmVmZXJlbmNlcy5tbQpAQCAtMTA0LDYgKzEwNCwzOCBAQCBz
dGF0aWMgV2ViQ29yZTo6TW91c2VFdmVudFBvbGljeSBjb3JlTW91c2VFdmVudFBvbGljeShfV0tX
ZWJzaXRlTW91c2VFdmVudFBvbGljeQogICAgIHJldHVybiBXZWJDb3JlOjpNb3VzZUV2ZW50UG9s
aWN5OjpEZWZhdWx0OwogfQogCitzdGF0aWMgX1dLV2Vic2l0ZU1vZGFsQ29udGFpbmVyT2JzZXJ2
YXRpb25Qb2xpY3kgbW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeShXZWJDb3JlOjpNb2Rh
bENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5IHBvbGljeSkKK3sKKyAgICBzd2l0Y2ggKHBvbGlj
eSkgeworICAgIGNhc2UgV2ViQ29yZTo6TW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeTo6
RGlzYWJsZWQ6CisgICAgICAgIHJldHVybiBfV0tXZWJzaXRlTW9kYWxDb250YWluZXJPYnNlcnZh
dGlvblBvbGljeURpc2FibGVkOworICAgIGNhc2UgV2ViQ29yZTo6TW9kYWxDb250YWluZXJPYnNl
cnZhdGlvblBvbGljeTo6UHJvbXB0OgorICAgICAgICByZXR1cm4gX1dLV2Vic2l0ZU1vZGFsQ29u
dGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3lQcm9tcHQ7CisgICAgY2FzZSBXZWJDb3JlOjpNb2RhbENv
bnRhaW5lck9ic2VydmF0aW9uUG9saWN5OjpBbGxvdzoKKyAgICAgICAgcmV0dXJuIF9XS1dlYnNp
dGVNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5QWxsb3c7CisgICAgY2FzZSBXZWJDb3Jl
OjpNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5OjpEaXNhbGxvdzoKKyAgICAgICAgcmV0
dXJuIF9XS1dlYnNpdGVNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5RGlzYWxsb3c7Cisg
ICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBfV0tXZWJzaXRlTW9k
YWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeURpc2FibGVkOworfQorCitzdGF0aWMgV2ViQ29y
ZTo6TW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeSBjb3JlTW9kYWxDb250YWluZXJPYnNl
cnZhdGlvblBvbGljeShfV0tXZWJzaXRlTW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeSBw
b2xpY3kpCit7CisgICAgc3dpdGNoIChwb2xpY3kpIHsKKyAgICBjYXNlIF9XS1dlYnNpdGVNb2Rh
bENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5RGlzYWJsZWQ6CisgICAgICAgIHJldHVybiBXZWJD
b3JlOjpNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5OjpEaXNhYmxlZDsKKyAgICBjYXNl
IF9XS1dlYnNpdGVNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5UHJvbXB0OgorICAgICAg
ICByZXR1cm4gV2ViQ29yZTo6TW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeTo6UHJvbXB0
OworICAgIGNhc2UgX1dLV2Vic2l0ZU1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3lBbGxv
dzoKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6Ok1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xp
Y3k6OkFsbG93OworICAgIGNhc2UgX1dLV2Vic2l0ZU1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Q
b2xpY3lEaXNhbGxvdzoKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6Ok1vZGFsQ29udGFpbmVyT2Jz
ZXJ2YXRpb25Qb2xpY3k6OkRpc2FsbG93OworICAgIH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICByZXR1cm4gV2ViQ29yZTo6TW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeTo6
RGlzYWJsZWQ7Cit9CisKIGNsYXNzIFdlYlBhZ2VQcmVmZXJlbmNlc0NhcHRpdmVQb3J0YWxNb2Rl
T2JzZXJ2ZXIgZmluYWwgOiBwdWJsaWMgQ2FwdGl2ZVBvcnRhbE1vZGVPYnNlcnZlciB7CiAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CkBAIC00OTMsNiArNTI1LDE2IEBAIC0g
KF9XS1dlYnNpdGVNb3VzZUV2ZW50UG9saWN5KV9tb3VzZUV2ZW50UG9saWN5CiAgICAgcmV0dXJu
IFdlYktpdDo6bW91c2VFdmVudFBvbGljeShfd2Vic2l0ZVBvbGljaWVzLT5tb3VzZUV2ZW50UG9s
aWN5KCkpOwogfQogCistICh2b2lkKV9zZXRNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5
OihfV0tXZWJzaXRlTW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeSlwb2xpY3kKK3sKKyAg
ICBfd2Vic2l0ZVBvbGljaWVzLT5zZXRNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5KFdl
YktpdDo6Y29yZU1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kocG9saWN5KSk7Cit9CisK
Ky0gKF9XS1dlYnNpdGVNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5KV9tb2RhbENvbnRh
aW5lck9ic2VydmF0aW9uUG9saWN5Cit7CisgICAgcmV0dXJuIFdlYktpdDo6bW9kYWxDb250YWlu
ZXJPYnNlcnZhdGlvblBvbGljeShfd2Vic2l0ZVBvbGljaWVzLT5tb2RhbENvbnRhaW5lck9ic2Vy
dmF0aW9uUG9saWN5KCkpOworfQorCiAjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKICNpbXBv
cnQgPFdlYktpdEFkZGl0aW9ucy9XS1dlYnBhZ2VQcmVmZXJlbmNlc0FkZGl0aW9ucy5tbT4KICNl
bHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJw
YWdlUHJlZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJwYWdlUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggMTc1ZTk3MzRmZTE3N2ViZTI3
ODI2ZjgyZWI2N2FkMTQzODVhYzFiMy4uZjIxYWE2ZWI2NDM3YWM1ZDI0MzUzYzhlZDVjOTk3NjFj
MzZlNjRmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2VicGFnZVByZWZlcmVuY2VzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYnBhZ2VQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtNjIsNiArNjIsMTMg
QEAgdHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIsIF9XS1dlYnNpdGVNb3VzZUV2ZW50UG9s
aWN5KSB7CiAjZW5kaWYKIH0gV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMS4wKSwgaW9zKDE0LjAp
KTsKIAordHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIsIF9XS1dlYnNpdGVNb2RhbENvbnRh
aW5lck9ic2VydmF0aW9uUG9saWN5KSB7CisgICAgX1dLV2Vic2l0ZU1vZGFsQ29udGFpbmVyT2Jz
ZXJ2YXRpb25Qb2xpY3lEaXNhYmxlZCwKKyAgICBfV0tXZWJzaXRlTW9kYWxDb250YWluZXJPYnNl
cnZhdGlvblBvbGljeVByb21wdCwKKyAgICBfV0tXZWJzaXRlTW9kYWxDb250YWluZXJPYnNlcnZh
dGlvblBvbGljeUFsbG93LAorICAgIF9XS1dlYnNpdGVNb2RhbENvbnRhaW5lck9ic2VydmF0aW9u
UG9saWN5RGlzYWxsb3csCit9IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlv
cyhXS19JT1NfVEJBKSk7CisKIEBjbGFzcyBfV0tDdXN0b21IZWFkZXJGaWVsZHM7CiBAY2xhc3Mg
V0tVc2VyQ29udGVudENvbnRyb2xsZXI7CiBAY2xhc3MgV0tXZWJzaXRlRGF0YVN0b3JlOwpAQCAt
ODUsNiArOTIsNyBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLV2Vic2l0ZU1v
dXNlRXZlbnRQb2xpY3kpIHsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5LCBzZXR0ZXI9X3Nl
dEFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudFdpdGhNb2Rlcm5Db21wYXRpYmlsaXR5OikgTlNT
dHJpbmcgKl9hcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnRXaXRoTW9kZXJuQ29tcGF0aWJpbGl0
eTsKIAogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0TW91c2VFdmVudFBvbGljeTop
IF9XS1dlYnNpdGVNb3VzZUV2ZW50UG9saWN5IF9tb3VzZUV2ZW50UG9saWN5IFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3MoMTEuMCksIGlvcygxNC4wKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0
dGVyPV9zZXRNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5OikgX1dLV2Vic2l0ZU1vZGFs
Q29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kgX21vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xp
Y3kgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsK
IAogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFi
bGVkOikgQk9PTCBfY2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>