<?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>206336</bug_id>
          
          <creation_ts>2020-01-15 21:49:32 -0800</creation_ts>
          <short_desc>[LFC][Integration] Cache RuntimeEnabledFeatures::sharedFeatures().layoutFormattingContextIntegrationEnabled() value</short_desc>
          <delta_ts>2020-08-03 09:40:22 -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>Layout and Rendering</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>215087</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</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>1607345</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-01-15 21:49:32 -0800</bug_when>
    <thetext>it is rather expensive</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607346</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-15 21:49:51 -0800</bug_when>
    <thetext>&lt;rdar://problem/58633522&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607348</commentid>
    <comment_count>2</comment_count>
      <attachid>387894</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-01-15 21:59:18 -0800</bug_when>
    <thetext>Created attachment 387894
Patch</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387894</attachid>
            <date>2020-01-15 21:59:18 -0800</date>
            <delta_ts>2020-01-16 09:23:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206336-20200115215917.patch</filename>
            <type>text/plain</type>
            <size>22603</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTJlMjhhZTdmMzk1ZDNm
NGI2NjBkYTE2ZTg1ZDk5Y2MxY2VhNTgyYy4uNzQ3MzlhNTFjYTlmNDdjOWE1Y2JjMDk3ZjllOGZl
MjVhOTdkMGRhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIwLTAxLTE1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25d
IENhY2hlIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGF5b3V0Rm9y
bWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQoKSB2YWx1ZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MzM2CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS81ODYzMzUyMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJdCBzaG93cyB1cCBvbiBwcm9maWxlcy4KKworICAgICAgICAqIGxheW91dC9M
YXlvdXRDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGF5b3V0Q29udGV4
dDo6bGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRTdWJ0cmVlKToKKyAgICAgICAgKiBsYXlvdXQvTGF5
b3V0U3RhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMYXlvdXRTdGF0ZTo6c2V0
Vmlld3BvcnRTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGF5b3V0U3RhdGU6OnZp
ZXdwb3J0U2l6ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxheW91dFN0YXRl
Ojppc0ludGVncmF0ZWRSb290Qm94Rmlyc3RDaGlsZCBjb25zdCk6CisgICAgICAgICogbGF5b3V0
L0xheW91dFN0YXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxheW91dFN0YXRlOjpz
ZXRMYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxheW91dFN0YXRlOjpsYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVn
cmF0aW9uRW5hYmxlZCBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcv
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJ
bmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6bGluZUxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlZEludHJpbnNpY1dpZHRoRm9y
Q29uc3RyYWludCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1h
dHRpbmdDb250ZXh0Ojpjb25zdHJhaW50c0ZvckxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6c2V0RGlzcGxheUJveGVzRm9yTGluZSk6Cisg
ICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJyZWFrZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnJlYWtlcjo6TGluZUJyZWFrZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnJlYWtlcjo6dHJ5V3JhcHBpbmdJbmxpbmVDb250
ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Q29udGludW91c0NvbnRlbnQ6
OkNvbnRpbnVvdXNDb250ZW50KToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9J
bmxpbmVMaW5lQnJlYWtlci5oOgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lu
bGluZUxpbmVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxk
ZXI6OnJldmVydCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpyZW1v
dmVUcmFpbGluZ0NvbGxhcHNpYmxlQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OkxpbmVCdWlsZGVyOjphcHBlbmRUZXh0Q29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkxpbmVCdWlsZGVyOjpJbmxpbmVJdGVtUnVuOjpoYXNUcmFpbGluZ0xldHRlclNwYWNpbmcg
Y29uc3QpOgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWls
ZGVyLmg6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRl
eHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lTGF5b3V0Q29udGV4dDo6TGlu
ZUxheW91dENvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lTGF5b3V0Q29u
dGV4dDo6bGF5b3V0TGluZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVMYXlvdXRD
b250ZXh0Ojp0cnlBZGRpbmdGbG9hdEl0ZW1zKToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9MaW5lTGF5b3V0Q29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0SW50ZWdyYXRpb246OkxpbmVMYXlvdXQ6OmxheW91dCk6CisKIDIwMjAtMDEtMTUgIFphbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIExpbmVCcmVh
a2VyOjpzaG91bGRXcmFwSW5saW5lQ29udGVudCBzaG91bGQgdGFrZSB0aGUgY2FuZGlkYXRlIGNv
bnRlbnQgd2lkdGgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRDb250
ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRDb250ZXh0LmNwcAppbmRleCAy
ZTMzNTU4NzZhNGQ3NDZiYzZhYzE0NThlYjYzMGJiODQxZTY1NWNjLi40OTViYTM0M2U2NmI0NDJj
NDBkMDkzY2JjMTA0YTc2OGFlMTA3ZTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvTGF5b3V0Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dENv
bnRleHQuY3BwCkBAIC00Miw3ICs0Miw2IEBACiAjaW5jbHVkZSAiTGF5b3V0VHJlZUJ1aWxkZXIu
aCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZUNvbnN0YW50cy5oIgogI2luY2x1ZGUgIlJlbmRlclZp
ZXcuaCIKLSNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiVGFi
bGVGb3JtYXR0aW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIlRhYmxlRm9ybWF0dGluZ1N0YXRlLmgi
CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KQEAgLTEwMyw3ICsxMDIsNyBAQCB2
b2lkIExheW91dENvbnRleHQ6OmxheW91dEZvcm1hdHRpbmdDb250ZXh0U3VidHJlZShjb25zdCBD
b250YWluZXImIGZvcm1hdHRpbmdDbwogICAgIC8vIEl0IGNvbnN0cnVjdHMgYW4gRkMgZm9yIGRl
c2NlbmRhbnQgYm94ZXMgYW5kIHJ1bnMgbGF5b3V0IG9uIHRoZW0uIFRoZSBmb3JtYXR0aW5nQ29u
dGV4dFJvb3QgaXMgbGFpZCBvdXQgaW4gdGhlIEZDIGluIHdoaWNoIGl0IGxpdmVzIChwYXJlbnQg
Zm9ybWF0dGluZyBjb250ZXh0KS4KICAgICAvLyBJdCBhbHNvIG1lYW5zIHRoYXQgdGhlIGZvcm1h
dHRpbmdDb250ZXh0Um9vdCBoYXMgdG8gaGF2ZSBhIHZhbGlkL2NsZWFuIGdlb21ldHJ5IGF0IHRo
aXMgcG9pbnQuCiAgICAgLy8gQ3VycmVudGx5IHRoZSBpbnRlZ3JhdGlvbiBjb2RlcGF0aCBkb2Vz
IG5vdCBndWFyYW50ZWUgaXQgYW5kIHRoYXQncyBmaW5lIGFzIGxvbmcgYXMgd2UgbGF5b3V0IGlu
ZmxvdyBjb250ZW50IG9ubHkuCi0gICAgaWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLmxheW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVkKCkp
IHsKKyAgICBpZiAoIWxheW91dFN0YXRlKCkubGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3Jh
dGlvbkVuYWJsZWQoKSkgewogICAgICAgICBhdXRvIGhvcml6b250YWxDb25zdHJhaW50cyA9IEhv
cml6b250YWxDb25zdHJhaW50cyB7IGRpc3BsYXlCb3gucGFkZGluZ0JveExlZnQoKSwgZGlzcGxh
eUJveC5wYWRkaW5nQm94V2lkdGgoKSB9OwogICAgICAgICBhdXRvIHZlcnRpY2FsQ29uc3RyYWlu
dHMgPSBWZXJ0aWNhbENvbnN0cmFpbnRzIHsgZGlzcGxheUJveC5wYWRkaW5nQm94VG9wKCksIGRp
c3BsYXlCb3gucGFkZGluZ0JveEhlaWdodCgpIH07CiAgICAgICAgIGZvcm1hdHRpbmdDb250ZXh0
LT5sYXlvdXRPdXRPZkZsb3dDb250ZW50KGludmFsaWRhdGlvblN0YXRlLCBob3Jpem9udGFsQ29u
c3RyYWludHMsIHZlcnRpY2FsQ29uc3RyYWludHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L0xheW91dFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRT
dGF0ZS5jcHAKaW5kZXggMWFlY2VmYTY4NGJmYjFjZThlMTFmNDQ1YjU0NzRmMGFjZDFmOTAwNC4u
YzQwN2FhYTI5MmE2YzIxZWU1MGNlZTFkZDU4NTMwZjJiZmE2OTFiYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dFN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvTGF5b3V0U3RhdGUuY3BwCkBAIC0xMzQsNyArMTM0LDcgQEAgRm9ybWF0dGluZ1N0YXRl
JiBMYXlvdXRTdGF0ZTo6Y3JlYXRlRm9ybWF0dGluZ1N0YXRlRm9yRm9ybWF0dGluZ1Jvb3RJZk5l
ZWRlZChjb24KIAogdm9pZCBMYXlvdXRTdGF0ZTo6c2V0Vmlld3BvcnRTaXplKGNvbnN0IExheW91
dFNpemUmIHZpZXdwb3J0U2l6ZSkKIHsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5sYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxl
ZCgpKSB7CisgICAgaWYgKGxheW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVk
KCkpIHsKICAgICAgICAgbV92aWV3cG9ydFNpemUgPSB2aWV3cG9ydFNpemU7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CkBAIC0xNDMsNyArMTQzLDcgQEAgdm9pZCBMYXlvdXRTdGF0ZTo6c2V0Vmll
d3BvcnRTaXplKGNvbnN0IExheW91dFNpemUmIHZpZXdwb3J0U2l6ZSkKIAogTGF5b3V0U2l6ZSBM
YXlvdXRTdGF0ZTo6dmlld3BvcnRTaXplKCkgY29uc3QKIHsKLSAgICBpZiAoUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5sYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVn
cmF0aW9uRW5hYmxlZCgpKQorICAgIGlmIChsYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVncmF0
aW9uRW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gbV92aWV3cG9ydFNpemU7CiAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIHsgfTsKQEAgLTE1MSw3ICsxNTEsNyBAQCBMYXlv
dXRTaXplIExheW91dFN0YXRlOjp2aWV3cG9ydFNpemUoKSBjb25zdAogCiBib29sIExheW91dFN0
YXRlOjppc0ludGVncmF0ZWRSb290Qm94Rmlyc3RDaGlsZCgpIGNvbnN0CiB7Ci0gICAgaWYgKFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGF5b3V0Rm9ybWF0dGluZ0Nv
bnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQoKSkgeworICAgIGlmIChsYXlvdXRGb3JtYXR0aW5nQ29u
dGV4dEludGVncmF0aW9uRW5hYmxlZCgpKSB7CiAgICAgICAgIGF1dG8mIHJvb3RSZW5kZXJlciA9
IG1fbGF5b3V0VHJlZUNvbnRlbnQtPnJvb3RSZW5kZXJlcigpOwogICAgICAgICBBU1NFUlQocm9v
dFJlbmRlcmVyLnBhcmVudCgpKTsKICAgICAgICAgcmV0dXJuIHJvb3RSZW5kZXJlci5wYXJlbnQo
KS0+Zmlyc3RDaGlsZCgpID09ICZyb290UmVuZGVyZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvTGF5b3V0U3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRT
dGF0ZS5oCmluZGV4IGI3MWJlNDBjZDY2MmNhZjQwOTQ2ZTgzYWIyZWVlNDk4NDc5YTEzYjUuLmJi
ZTc4YjhiMGQ2NDNkYTA4MTZkZWEwMWYxNmRlODRmNmJjZjk1M2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9MYXlvdXRTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9MYXlvdXRTdGF0ZS5oCkBAIC04MSw2ICs4MSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFZp
ZXdwb3J0U2l6ZShjb25zdCBMYXlvdXRTaXplJik7CiAgICAgTGF5b3V0U2l6ZSB2aWV3cG9ydFNp
emUoKSBjb25zdDsKICAgICBib29sIGlzSW50ZWdyYXRlZFJvb3RCb3hGaXJzdENoaWxkKCkgY29u
c3Q7CisgICAgdm9pZCBzZXRMYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxl
ZCgpIHsgbV9sYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxlZCA9IHRydWU7
IH0KKyAgICBib29sIGxheW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9sYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxl
ZDsgfQogCiBwcml2YXRlOgogICAgIHZvaWQgc2V0UXVpcmtzTW9kZShRdWlya3NNb2RlIHF1aXJr
c01vZGUpIHsgbV9xdWlya3NNb2RlID0gcXVpcmtzTW9kZTsgfQpAQCAtOTYsNiArOTgsNyBAQCBw
cml2YXRlOgogICAgIFdlYWtQdHI8Y29uc3QgTGF5b3V0VHJlZUNvbnRlbnQ+IG1fbGF5b3V0VHJl
ZUNvbnRlbnQ7CiAgICAgLy8gTEZDIGludGVncmF0aW9uIG9ubHkuCiAgICAgTGF5b3V0U2l6ZSBt
X3ZpZXdwb3J0U2l6ZTsKKyAgICBib29sIG1fbGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3Jh
dGlvbkVuYWJsZWQgeyBmYWxzZSB9OwogfTsKIAogaW5saW5lIGJvb2wgTGF5b3V0U3RhdGU6Omhh
c0Rpc3BsYXlCb3goY29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dC5jcHAKaW5kZXggZTJjNDEyOWE1MTJkNmU0Mzg2NTI4OWY5ODY0OGQzZWQ1
NTZjNWMzYS4uN2Y0YmJhMzAwMDE3Mzg4ODUwNGZiNWRiMzk4NTcxMmQ5ZTRhYTJmYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0
dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1
ZGUgIkxheW91dENvbnRleHQuaCIKICNpbmNsdWRlICJMYXlvdXRTdGF0ZS5oIgogI2luY2x1ZGUg
IkxvZ2dpbmcuaCIKLSNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVk
ZSAiVGV4dFV0aWwuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1RleHRTdHJlYW0uaD4KQEAgLTk0LDcgKzkzLDcgQEAgdm9pZCBJbmxpbmVG
b3JtYXR0aW5nQ29udGV4dDo6bGluZUxheW91dChjb25zdCBIb3Jpem9udGFsQ29uc3RyYWludHMm
IGhvcml6b250YWwKICAgICB1bnNpZ25lZCBsZWFkaW5nSW5saW5lSXRlbUluZGV4ID0gMDsKICAg
ICBPcHRpb25hbDx1bnNpZ25lZD4gcGFydGlhbExlYWRpbmdDb250ZW50TGVuZ3RoOwogICAgIGF1
dG8gbGluZUJ1aWxkZXIgPSBMaW5lQnVpbGRlciB7ICp0aGlzLCByb290KCkuc3R5bGUoKS50ZXh0
QWxpZ24oKSwgTGluZUJ1aWxkZXI6OkludHJpbnNpY1NpemluZzo6Tm8gfTsKLSAgICBhdXRvIGxp
bmVMYXlvdXRDb250ZXh0ID0gTGluZUxheW91dENvbnRleHQgeyAqdGhpcywgcm9vdCgpLCBpbmxp
bmVJdGVtcyB9OworICAgIGF1dG8gbGluZUxheW91dENvbnRleHQgPSBMaW5lTGF5b3V0Q29udGV4
dCB7IGxheW91dFN0YXRlKCksICp0aGlzLCByb290KCksIGlubGluZUl0ZW1zIH07CiAKICAgICB3
aGlsZSAobGVhZGluZ0lubGluZUl0ZW1JbmRleCA8IGlubGluZUl0ZW1zLnNpemUoKSkgewogICAg
ICAgICBsaW5lQnVpbGRlci5pbml0aWFsaXplKGNvbnN0cmFpbnRzRm9yTGluZShob3Jpem9udGFs
Q29uc3RyYWludHMsIGxpbmVMb2dpY2FsVG9wKSk7CkBAIC0yMzQsNyArMjMzLDcgQEAgSW5saW5l
TGF5b3V0VW5pdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZWRJbnRyaW5zaWNXaWR0
aEZvckNvbnN0cmFpbnQoY28KICAgICBJbmxpbmVMYXlvdXRVbml0IG1heGltdW1MaW5lV2lkdGgg
PSAwOwogICAgIHVuc2lnbmVkIGxlYWRpbmdJbmxpbmVJdGVtSW5kZXggPSAwOwogICAgIGF1dG8g
bGluZUJ1aWxkZXIgPSBMaW5lQnVpbGRlciB7ICp0aGlzLCByb290KCkuc3R5bGUoKS50ZXh0QWxp
Z24oKSwgTGluZUJ1aWxkZXI6OkludHJpbnNpY1NpemluZzo6WWVzIH07Ci0gICAgYXV0byBsaW5l
TGF5b3V0Q29udGV4dCA9IExpbmVMYXlvdXRDb250ZXh0IHsgKnRoaXMsIHJvb3QoKSwgaW5saW5l
SXRlbXMgfTsKKyAgICBhdXRvIGxpbmVMYXlvdXRDb250ZXh0ID0gTGluZUxheW91dENvbnRleHQg
eyBsYXlvdXRTdGF0ZSgpLCAqdGhpcywgcm9vdCgpLCBpbmxpbmVJdGVtcyB9OwogICAgIHdoaWxl
IChsZWFkaW5nSW5saW5lSXRlbUluZGV4IDwgaW5saW5lSXRlbXMuc2l6ZSgpKSB7CiAgICAgICAg
IC8vIE9ubHkgdGhlIGhvcml6dG9uYWwgYXZhaWxhYmxlIHdpZHRoIGlzIGNvbnN0cmFpbmVkIHdo
ZW4gY29tcHV0aW5nIGludHJpbnNpYyB3aWR0aC4KICAgICAgICAgbGluZUJ1aWxkZXIuaW5pdGlh
bGl6ZShMaW5lQnVpbGRlcjo6Q29uc3RyYWludHMgeyB7IH0sIGhvcml6b250YWxDb25zdHJhaW50
cy5sb2dpY2FsV2lkdGgsIGZhbHNlLCB7IH0gfSk7CkBAIC00MjAsNyArNDE5LDcgQEAgTGluZUJ1
aWxkZXI6OkNvbnN0cmFpbnRzIElubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb25zdHJhaW50c0Zv
ckxpbmUoY29uc3QgSG9yaXoKICAgICAgICAgICAgIC8vIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lm
aWVkIGJ5IHRoZSBlYWNoLWxpbmUgYW5kL29yIGhhbmdpbmcga2V5d29yZHMsIG9ubHkgbGluZXMg
dGhhdCBhcmUgdGhlIGZpcnN0IGZvcm1hdHRlZCBsaW5lCiAgICAgICAgICAgICAvLyBvZiBhbiBl
bGVtZW50IGFyZSBhZmZlY3RlZC4KICAgICAgICAgICAgIC8vIEZvciBleGFtcGxlLCB0aGUgZmly
c3QgbGluZSBvZiBhbiBhbm9ueW1vdXMgYmxvY2sgYm94IGlzIG9ubHkgYWZmZWN0ZWQgaWYgaXQg
aXMgdGhlIGZpcnN0IGNoaWxkIG9mIGl0cyBwYXJlbnQgZWxlbWVudC4KLSAgICAgICAgICAgIGlz
Rm9ybWF0dGluZ0NvbnRleHRSb290Q2FuZGlkYXRlVG9UZXh0SW5kZW50ID0gUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5sYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVn
cmF0aW9uRW5hYmxlZCgpID8KKyAgICAgICAgICAgIGlzRm9ybWF0dGluZ0NvbnRleHRSb290Q2Fu
ZGlkYXRlVG9UZXh0SW5kZW50ID0gbGF5b3V0U3RhdGUoKS5sYXlvdXRGb3JtYXR0aW5nQ29udGV4
dEludGVncmF0aW9uRW5hYmxlZCgpID8KICAgICAgICAgICAgIGxheW91dFN0YXRlKCkuaXNJbnRl
Z3JhdGVkUm9vdEJveEZpcnN0Q2hpbGQoKSA6IHJvb3QucGFyZW50KCktPmZpcnN0SW5GbG93Q2hp
bGQoKSA9PSAmcm9vdDsKICAgICAgICAgfQogICAgICAgICBpZiAoIWlzRm9ybWF0dGluZ0NvbnRl
eHRSb290Q2FuZGlkYXRlVG9UZXh0SW5kZW50KQpAQCAtNDYyLDcgKzQ2MSw3IEBAIHZvaWQgSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQ6OnNldERpc3BsYXlCb3hlc0ZvckxpbmUoY29uc3QgTGluZUxh
eW91dENvbnRleHQ6OkxpCiAgICAgfQogCiAgICAgYXV0byBpbml0aWFsQ29udGFpbmdCbG9ja1Np
emUgPSBMYXlvdXRTaXplIHsgfTsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5sYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxlZCgp
KSB7CisgICAgaWYgKGxheW91dFN0YXRlKCkubGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3Jh
dGlvbkVuYWJsZWQoKSkgewogICAgICAgICAvLyBJQ0IgaXMgbm90IHRoZSByZWFsIElDQiB3aGVu
IGx5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQgaXMgb24uCiAgICAgICAg
IGluaXRpYWxDb250YWluZ0Jsb2NrU2l6ZSA9IGxheW91dFN0YXRlKCkudmlld3BvcnRTaXplKCk7
CiAgICAgfSBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9JbmxpbmVMaW5lQnJlYWtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnJlYWtlci5jcHAKaW5kZXggNjM1YzJlMDM0ZjcxYzQy
NjlmZjFkYTBjN2RmZmQ3NmJkNWM0ZWVmNi4uNTdkOGVmMzU5MmI2MTZkM2NiZjZjMzliOWE0NTQ5
OTM0ZGM1OTdiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lTGluZUJyZWFrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCcmVha2VyLmNwcApAQCAtMzIsNyArMzIsNyBAQAog
I2luY2x1ZGUgIkh5cGhlbmF0aW9uLmgiCiAjaW5jbHVkZSAiSW5saW5lSXRlbS5oIgogI2luY2x1
ZGUgIklubGluZVRleHRJdGVtLmgiCi0jaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5o
IgorI2luY2x1ZGUgIkxheW91dFN0YXRlLmgiCiAjaW5jbHVkZSAiVGV4dFV0aWwuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpAQCAtNjMsNyArNjMsNyBAQCBzdGF0aWMgaW5saW5lIE9wdGlvbmFs
PHNpemVfdD4gbGFzdFdyYXBPcHBvcnR1bml0eUluZGV4KGNvbnN0IExpbmVCcmVha2VyOjpSdW5M
aQogfQogCiBzdHJ1Y3QgQ29udGludW91c0NvbnRlbnQgewotICAgIENvbnRpbnVvdXNDb250ZW50
KGNvbnN0IExpbmVCcmVha2VyOjpSdW5MaXN0JiwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9n
aWNhbFdpZHRoKTsKKyAgICBDb250aW51b3VzQ29udGVudChjb25zdCBMYXlvdXRTdGF0ZSYsIGNv
bnN0IExpbmVCcmVha2VyOjpSdW5MaXN0JiwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNh
bFdpZHRoKTsKIAogICAgIGNvbnN0IExpbmVCcmVha2VyOjpSdW5MaXN0JiBydW5zKCkgY29uc3Qg
eyByZXR1cm4gbV9ydW5zOyB9CiAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4gbV9y
dW5zLmlzRW1wdHkoKTsgfQpAQCAtOTgsNiArOTgsMTEgQEAgc3RydWN0IFdyYXBwZWRUZXh0Q29u
dGVudCB7CiAgICAgT3B0aW9uYWw8TGluZUJyZWFrZXI6OlBhcnRpYWxSdW4+IHBhcnRpYWxUcmFp
bGluZ1J1bjsKIH07CiAKK0xpbmVCcmVha2VyOjpMaW5lQnJlYWtlcihjb25zdCBMYXlvdXRTdGF0
ZSYgbGF5b3V0U3RhdGUpCisgICAgOiBtX2xheW91dFN0YXRlKGxheW91dFN0YXRlKQoreworfQor
CiBib29sIExpbmVCcmVha2VyOjppc0NvbnRlbnRXcmFwcGluZ0FsbG93ZWQoY29uc3QgQ29udGlu
dW91c0NvbnRlbnQmIGNhbmRpZGF0ZVJ1bnMpIGNvbnN0CiB7CiAgICAgLy8gVXNlIHRoZSBsYXN0
IGlubGluZSBpdGVtIHdpdGggY29udGVudCAod2hlcmUgd2Ugd291bGQgYmUgd3JhcHBpbmcpIHRv
IGRlY2lkZSBpZiBjb250ZW50IHdyYXBwaW5nIGlzIGFsbG93ZWQuCkBAIC0xNDksNyArMTU0LDcg
QEAgTGluZUJyZWFrZXI6OlJlc3VsdCBMaW5lQnJlYWtlcjo6c2hvdWxkV3JhcElubGluZUNvbnRl
bnQoY29uc3QgUnVuTGlzdCYgY2FuZGlkYXQKIAogTGluZUJyZWFrZXI6OlJlc3VsdCBMaW5lQnJl
YWtlcjo6dHJ5V3JhcHBpbmdJbmxpbmVDb250ZW50KGNvbnN0IFJ1bkxpc3QmIGNhbmRpZGF0ZVJ1
bnMsIElubGluZUxheW91dFVuaXQgY2FuZGlkYXRlQ29udGVudExvZ2ljYWxXaWR0aCwgY29uc3Qg
TGluZVN0YXR1cyYgbGluZVN0YXR1cykgY29uc3QKIHsKLSAgICBhdXRvIGNhbmRpZGF0ZUNvbnRl
bnQgPSBDb250aW51b3VzQ29udGVudCB7IGNhbmRpZGF0ZVJ1bnMsIGNhbmRpZGF0ZUNvbnRlbnRM
b2dpY2FsV2lkdGggfTsKKyAgICBhdXRvIGNhbmRpZGF0ZUNvbnRlbnQgPSBDb250aW51b3VzQ29u
dGVudCB7IG1fbGF5b3V0U3RhdGUsIGNhbmRpZGF0ZVJ1bnMsIGNhbmRpZGF0ZUNvbnRlbnRMb2dp
Y2FsV2lkdGggfTsKICAgICBBU1NFUlQoIWNhbmRpZGF0ZUNvbnRlbnQuaXNFbXB0eSgpKTsKIAog
ICAgIEFTU0VSVChjYW5kaWRhdGVDb250ZW50LndpZHRoKCkgPiBsaW5lU3RhdHVzLmF2YWlsYWJs
ZVdpZHRoKTsKQEAgLTM1NSw3ICszNjAsNyBAQCBPcHRpb25hbDxMaW5lQnJlYWtlcjo6UGFydGlh
bFJ1bj4gTGluZUJyZWFrZXI6OnRyeUJyZWFraW5nVGV4dFJ1bihjb25zdCBSdW4mIG92ZQogICAg
IHJldHVybiB7IH07CiB9CiAKLUNvbnRpbnVvdXNDb250ZW50OjpDb250aW51b3VzQ29udGVudChj
b25zdCBMaW5lQnJlYWtlcjo6UnVuTGlzdCYgcnVucywgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50
TG9naWNhbFdpZHRoKQorQ29udGludW91c0NvbnRlbnQ6OkNvbnRpbnVvdXNDb250ZW50KGNvbnN0
IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgY29uc3QgTGluZUJyZWFrZXI6OlJ1bkxpc3QmIHJ1
bnMsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCkKICAgICA6IG1fcnVucyhy
dW5zKQogICAgICwgbV93aWR0aChjb250ZW50TG9naWNhbFdpZHRoKQogewpAQCAtMzc3LDcgKzM4
Miw3IEBAIENvbnRpbnVvdXNDb250ZW50OjpDb250aW51b3VzQ29udGVudChjb25zdCBMaW5lQnJl
YWtlcjo6UnVuTGlzdCYgcnVucywgSW5saW5lTGF5CiAgICAgICAgICAgICAgICAgLy8gTGV0J3Mg
c2VlIGlmIHdlJ3ZlIGdvdCBtb3JlIHRyYWlsaW5nIHdoaXRlc3BhY2UgY29udGVudC4KICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICghUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5sYXlvdXRGb3JtYXR0aW5nQ29u
dGV4dEludGVncmF0aW9uRW5hYmxlZCgpKSB7CisgICAgICAgICAgICBpZiAoIWxheW91dFN0YXRl
LmxheW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVkKCkpIHsKICAgICAgICAg
ICAgICAgICAvLyBBIHJ1biB3aXRoIHRyYWlsaW5nIGxldHRlciBzcGFjaW5nIGlzIHBhcnRpYWxs
eSBjb2xsYXBzaWJsZS4KICAgICAgICAgICAgICAgICBpZiAoYXV0byBjb2xsYXBzaWJsZVdpZHRo
ID0gaW5saW5lVGV4dEl0ZW0uc3R5bGUoKS5sZXR0ZXJTcGFjaW5nKCkpIHsKICAgICAgICAgICAg
ICAgICAgICAgbV90cmFpbGluZ0NvbGxhcHNpYmxlQ29udGVudC53aWR0aCArPSBjb2xsYXBzaWJs
ZVdpZHRoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRp
bmcvSW5saW5lTGluZUJyZWFrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0lubGluZUxpbmVCcmVha2VyLmgKaW5kZXggOTAzNmM5NjFjN2I5MjA1MTkxZmI2YTBk
NzdiNjhmMGNmNWE5MTA5Yy4uMGRlMzc2MDdmNzA5NDc2NzBmMTNjMTUxYzRkNjA0OTE0NDlhYWE0
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5s
aW5lTGluZUJyZWFrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVMaW5lQnJlYWtlci5oCkBAIC0zNCwxMSArMzQsMTQgQEAgbmFtZXNwYWNlIExh
eW91dCB7CiAKIGNsYXNzIElubGluZUl0ZW07CiBjbGFzcyBJbmxpbmVUZXh0SXRlbTsKK2NsYXNz
IExheW91dFN0YXRlOwogc3RydWN0IENvbnRpbnVvdXNDb250ZW50Owogc3RydWN0IFdyYXBwZWRU
ZXh0Q29udGVudDsKIAogY2xhc3MgTGluZUJyZWFrZXIgewogcHVibGljOgorICAgIExpbmVCcmVh
a2VyKGNvbnN0IExheW91dFN0YXRlJik7CisKICAgICBzdHJ1Y3QgUGFydGlhbFJ1biB7CiAgICAg
ICAgIHVuc2lnbmVkIGxlbmd0aCB7IDAgfTsKICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBsb2dp
Y2FsV2lkdGggeyAwIH07CkBAIC0xMDksNiArMTEyLDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wg
bl9oeXBoZW5hdGlvbklzRGlzYWJsZWQgeyBmYWxzZSB9OwogICAgIGNvbnN0IElubGluZUl0ZW0q
IG1fbGFzdFdyYXBPcHBvcnR1bml0eSB7IG51bGxwdHIgfTsKKyAgICBjb25zdCBMYXlvdXRTdGF0
ZSYgbV9sYXlvdXRTdGF0ZTsKIH07CiAKIGlubGluZSBMaW5lQnJlYWtlcjo6UnVuOjpSdW4oY29u
c3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVMaW5lQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVMaW5lQnVpbGRlci5jcHAKaW5kZXggNTFmOTc5M2U4YmIxZmI5ZjU4ODYzNGJiNzc0
M2FlYjEzNDVmMGQ2ZS4uMGY2YTQ0YTBiZTBlYzA2ZTRkMzRlMWU1OGQzZGY1OWJjY2EyNTgwNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
TGluZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUxpbmVCdWlsZGVyLmNwcApAQCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAi
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJJbmxpbmVTb2Z0TGluZUJyZWFr
SXRlbS5oIgotI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKICNpbmNsdWRlICJU
ZXh0VXRpbC5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAKQEAgLTMwMCwy
MCArMjk5LDIxIEBAIHNpemVfdCBMaW5lQnVpbGRlcjo6cmV2ZXJ0KGNvbnN0IElubGluZUl0ZW0m
IHJldmVydFRvKQogICAgIC8vIEl0J3MgZWFzaWVyIGp1c3QgdG8gcmVidWlsZCB0cmFpbGluZyBj
b2xsYXBzaWJsZSBjb250ZW50LgogICAgIG1fY29sbGFwc2libGVDb250ZW50LnJlc2V0KCk7CiAg
ICAgbV9saW5lSXNWaXN1YWxseUVtcHR5QmVmb3JlQ29sbGFwc2libGVDb250ZW50ID0gaXNWaXN1
YWxseUVtcHR5KCk7CisgICAgYXV0byBzaG91bGRUcmFja1RyYWlsaW5nTGV0dGVyU3BhY2luZyA9
ICFsYXlvdXRTdGF0ZSgpLmxheW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVk
KCk7CiAgICAgLy8gRmluZCB0aGUgZmlyc3QgY29sbGFwc2libGUgcnVuLgogICAgIE9wdGlvbmFs
PHNpemVfdD4gZmlyc3RDb2xsYXBzaWJsZVJ1bkluZGV4OwogICAgIGZvciAoYXV0byBpbmRleCA9
IG1faW5saW5lSXRlbVJ1bnMuc2l6ZSgpOyBpbmRleC0tOykgewogICAgICAgICBhdXRvJiBpbmxp
bmVJdGVtUnVuID0gbV9pbmxpbmVJdGVtUnVuc1tpbmRleF07CiAgICAgICAgIGlmIChpbmxpbmVJ
dGVtUnVuLmlzQ29udGFpbmVyU3RhcnQoKSB8fCBpbmxpbmVJdGVtUnVuLmlzQ29udGFpbmVyRW5k
KCkpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgYXV0byBoYXNDb2xsYXBzaWJsZUNv
bnRlbnQgPSBpbmxpbmVJdGVtUnVuLmlzQ29sbGFwc2libGVXaGl0ZXNwYWNlKCkgfHwgaW5saW5l
SXRlbVJ1bi5oYXNUcmFpbGluZ0xldHRlclNwYWNpbmcoKTsKKyAgICAgICAgYXV0byBoYXNDb2xs
YXBzaWJsZUNvbnRlbnQgPSBpbmxpbmVJdGVtUnVuLmlzQ29sbGFwc2libGVXaGl0ZXNwYWNlKCkg
fHwgKHNob3VsZFRyYWNrVHJhaWxpbmdMZXR0ZXJTcGFjaW5nICYmIGlubGluZUl0ZW1SdW4uaGFz
VHJhaWxpbmdMZXR0ZXJTcGFjaW5nKCkpOwogICAgICAgICBpZiAoIWhhc0NvbGxhcHNpYmxlQ29u
dGVudCkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBpZiAoaW5saW5lSXRlbVJ1bi5pc0Nv
bGxhcHNpYmxlV2hpdGVzcGFjZSgpKSB7CiAgICAgICAgICAgICBmaXJzdENvbGxhcHNpYmxlUnVu
SW5kZXggPSBpbmRleDsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Ci0gICAgICAg
IGlmIChpbmxpbmVJdGVtUnVuLmhhc1RyYWlsaW5nTGV0dGVyU3BhY2luZygpKSB7CisgICAgICAg
IGlmIChzaG91bGRUcmFja1RyYWlsaW5nTGV0dGVyU3BhY2luZyAmJiBpbmxpbmVJdGVtUnVuLmhh
c1RyYWlsaW5nTGV0dGVyU3BhY2luZygpKSB7CiAgICAgICAgICAgICAvLyBXaGlsZSB0cmFpbGlu
ZyBsZXR0ZXIgc3BhY2luZyBpcyBjb25zaWRlcmVkIGNvbGxhcHNpYmxlLCBpdCBpcyBzdXBwb3Nl
ZCB0byBiZSBsYXN0IG9uZSBpbiB0aGUgbGlzdC4KICAgICAgICAgICAgIGZpcnN0Q29sbGFwc2li
bGVSdW5JbmRleCA9IGluZGV4OwogICAgICAgICAgICAgYnJlYWs7CkBAIC00ODMsNyArNDgzLDcg
QEAgdm9pZCBMaW5lQnVpbGRlcjo6cmVtb3ZlVHJhaWxpbmdDb2xsYXBzaWJsZUNvbnRlbnQoKQog
ICAgICAgICByZXR1cm47CiAKICAgICAvLyBDb21wbGV4IGxpbmUgbGF5b3V0IHF1aXJrOiBrZWVw
IHRoZSB0cmFpbGluZyB3aGl0ZXNwYWNlIGFyb3VuZCB3aGVuIGl0IGlzIGZvbGxvd2VkIGJ5IGEg
bGluZSBicmVhaywgdW5sZXNzIHRoZSBjb250ZW50IG92ZXJmbG93cyB0aGUgbGluZS4KLSAgICBp
ZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5sYXlvdXRGb3JtYXR0
aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxlZCgpKSB7CisgICAgaWYgKGxheW91dFN0YXRlKCku
bGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQoKSkgewogICAgICAgICBp
ZiAobV9pbmxpbmVJdGVtUnVucy5sYXN0KCkuaXNMaW5lQnJlYWsoKSAmJiBhdmFpbGFibGVXaWR0
aCgpID49IDAgJiYgIWlzVGV4dEFsaWduUmlnaHQoKSkgewogICAgICAgICAgICAgbV9jb2xsYXBz
aWJsZUNvbnRlbnQucmVzZXQoKTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTY3Nyw3ICs2Nzcs
OCBAQCB2b2lkIExpbmVCdWlsZGVyOjphcHBlbmRUZXh0Q29udGVudChjb25zdCBJbmxpbmVUZXh0
SXRlbSYgaW5saW5lSXRlbSwgSW5saW5lTGF5bwogICAgIGF1dG8gY29sbGFwc2libGVMaXN0TmVl
ZHNSZXNldCA9ICFtX2NvbGxhcHNpYmxlQ29udGVudC5pc0VtcHR5KCkgJiYgIWxpbmVSdW4uaXND
b2xsYXBzaWJsZVdoaXRlc3BhY2UoKTsKICAgICBpZiAoY29sbGFwc2libGVMaXN0TmVlZHNSZXNl
dCkKICAgICAgICAgbV9jb2xsYXBzaWJsZUNvbnRlbnQucmVzZXQoKTsKLSAgICBhdXRvIGlzQ29s
bGFwc2libGUgPSBsaW5lUnVuLmlzQ29sbGFwc2libGVXaGl0ZXNwYWNlKCkgfHwgbGluZVJ1bi5o
YXNUcmFpbGluZ0xldHRlclNwYWNpbmcoKTsKKyAgICBhdXRvIHNob3VsZFRyYWNrVHJhaWxpbmdM
ZXR0ZXJTcGFjaW5nID0gIWxheW91dFN0YXRlKCkubGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRl
Z3JhdGlvbkVuYWJsZWQoKTsKKyAgICBhdXRvIGlzQ29sbGFwc2libGUgPSBsaW5lUnVuLmlzQ29s
bGFwc2libGVXaGl0ZXNwYWNlKCkgfHwgKHNob3VsZFRyYWNrVHJhaWxpbmdMZXR0ZXJTcGFjaW5n
ICYmIGxpbmVSdW4uaGFzVHJhaWxpbmdMZXR0ZXJTcGFjaW5nKCkpOwogICAgIGlmIChpc0NvbGxh
cHNpYmxlKSB7CiAgICAgICAgIC8vIElmIHdlIGV2ZXIgY29sbGFwc2UgdGhpcyBjb250ZW50LCB3
ZSBuZWVkIHRvIGtub3cgaWYgdGhlIGxpbmUgdmlzaWJpbGl0eSBzdGF0ZSBuZWVkcyB0byBiZSBy
ZWNvbXB1dGVkLgogICAgICAgICBpZiAobV9jb2xsYXBzaWJsZUNvbnRlbnQuaXNFbXB0eSgpKQpA
QCAtOTgzLDkgKzk4NCw3IEBAIGJvb2wgTGluZUJ1aWxkZXI6OklubGluZUl0ZW1SdW46OmlzQ29s
bGFwc2libGVXaGl0ZXNwYWNlKCkgY29uc3QKIAogYm9vbCBMaW5lQnVpbGRlcjo6SW5saW5lSXRl
bVJ1bjo6aGFzVHJhaWxpbmdMZXR0ZXJTcGFjaW5nKCkgY29uc3QKIHsKLSAgICAvLyBDb21wbGV4
IGxpbmUgbGF5b3V0IGRvZXMgbm90IGtlZXAgdHJhY2sgb2YgdHJhaWxpbmcgbGV0dGVyIHNwYWNp
bmcuCi0gICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubGF5
b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIEFTU0VSVCghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5sYXlvdXRGb3JtYXR0aW5nQ29udGV4dEludGVncmF0aW9uRW5hYmxlZCgpKTsKICAgICBy
ZXR1cm4gIWlzV2hpdGVzcGFjZSgpICYmIHN0eWxlKCkubGV0dGVyU3BhY2luZygpID4gMDsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvTGlu
ZUxheW91dENvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRp
bmcvTGluZUxheW91dENvbnRleHQuY3BwCmluZGV4IDc2ZmQyNzU4ZTk4ODJjMjhlYjkxZjZjODIx
OGY1NmNhN2E5MjUyNGQuLmRhMDgxZjFiNDBlM2ZmNWEwZDE3NzFiMjA2YTk1N2IyMjY0OTkxNDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0xpbmVM
YXlvdXRDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9MaW5lTGF5b3V0Q29udGV4dC5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUo
TEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKIAogI2luY2x1ZGUgIkxheW91dEJveC5oIgorI2lu
Y2x1ZGUgIkxheW91dFN0YXRlLmgiCiAjaW5jbHVkZSAiVGV4dFV0aWwuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtMjUzLDggKzI1NCw5IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc0xpbmVD
b25zaWRlcmVkRW1wdHkoY29uc3QgTGluZUJ1aWxkZXImIGxpbmUpCiAgICAgcmV0dXJuIGxpbmUu
aXNWaXN1YWxseUVtcHR5KCkgJiYgIWxpbmUuaGFzSW50cnVzaXZlRmxvYXQoKTsKIH0KIAotTGlu
ZUxheW91dENvbnRleHQ6OkxpbmVMYXlvdXRDb250ZXh0KGNvbnN0IElubGluZUZvcm1hdHRpbmdD
b250ZXh0JiBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dCwgY29uc3QgQ29udGFpbmVyJiBmb3JtYXR0
aW5nQ29udGV4dFJvb3QsIGNvbnN0IElubGluZUl0ZW1zJiBpbmxpbmVJdGVtcykKLSAgICA6IG1f
aW5saW5lRm9ybWF0dGluZ0NvbnRleHQoaW5saW5lRm9ybWF0dGluZ0NvbnRleHQpCitMaW5lTGF5
b3V0Q29udGV4dDo6TGluZUxheW91dENvbnRleHQoY29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0
YXRlLCBjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgaW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQsIGNvbnN0IENvbnRhaW5lciYgZm9ybWF0dGluZ0NvbnRleHRSb290LCBjb25zdCBJbmxpbmVJ
dGVtcyYgaW5saW5lSXRlbXMpCisgICAgOiBtX2xheW91dFN0YXRlKGxheW91dFN0YXRlKQorICAg
ICwgbV9pbmxpbmVGb3JtYXR0aW5nQ29udGV4dChpbmxpbmVGb3JtYXR0aW5nQ29udGV4dCkKICAg
ICAsIG1fZm9ybWF0dGluZ0NvbnRleHRSb290KGZvcm1hdHRpbmdDb250ZXh0Um9vdCkKICAgICAs
IG1faW5saW5lSXRlbXMoaW5saW5lSXRlbXMpCiB7CkBAIC0yNjgsNyArMjcwLDcgQEAgTGluZUxh
eW91dENvbnRleHQ6OkxpbmVDb250ZW50IExpbmVMYXlvdXRDb250ZXh0OjpsYXlvdXRMaW5lKExp
bmVCdWlsZGVyJiBsaW5lLAogICAgICAgICBtX3BhcnRpYWxMZWFkaW5nVGV4dEl0ZW0gPSB7IH07
CiAgICAgfTsKICAgICByZXNldCgpOwotICAgIGF1dG8gbGluZUJyZWFrZXIgPSBMaW5lQnJlYWtl
ciB7IH07CisgICAgYXV0byBsaW5lQnJlYWtlciA9IExpbmVCcmVha2VyIHsgbV9sYXlvdXRTdGF0
ZSB9OwogICAgIGF1dG8gY3VycmVudEl0ZW1JbmRleCA9IGxlYWRpbmdJbmxpbmVJdGVtSW5kZXg7
CiAgICAgdW5zaWduZWQgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50ID0gMDsKICAgICBhdXRvIGNh
bmRpZGF0ZUNvbnRlbnQgPSBMaW5lQ2FuZGlkYXRlQ29udGVudCB7IH07CkBAIC0zODQsNyArMzg2
LDcgQEAgTGluZUxheW91dENvbnRleHQ6OlJlc3VsdCBMaW5lTGF5b3V0Q29udGV4dDo6dHJ5QWRk
aW5nRmxvYXRJdGVtcyhMaW5lQnVpbGRlciYgbGkKICAgICAgICAgYXV0byBsb2dpY2FsV2lkdGgg
PSBpbmxpbmVJdGVtV2lkdGgoZm9ybWF0dGluZ0NvbnRleHQoKSwgKmZsb2F0SXRlbSwgeyB9KTsK
IAogICAgICAgICBhdXRvIGxpbmVJc0NvbnNpZGVyZWRFbXB0eSA9IGxpbmUuaXNWaXN1YWxseUVt
cHR5KCkgJiYgIWxpbmUuaGFzSW50cnVzaXZlRmxvYXQoKTsKLSAgICAgICAgaWYgKExpbmVCcmVh
a2VyKCkuc2hvdWxkV3JhcEZsb2F0Qm94KGxvZ2ljYWxXaWR0aCwgbGluZS5hdmFpbGFibGVXaWR0
aCgpICsgbGluZS50cmFpbGluZ0NvbGxhcHNpYmxlV2lkdGgoKSwgbGluZUlzQ29uc2lkZXJlZEVt
cHR5KSkKKyAgICAgICAgaWYgKExpbmVCcmVha2VyKG1fbGF5b3V0U3RhdGUpLnNob3VsZFdyYXBG
bG9hdEJveChsb2dpY2FsV2lkdGgsIGxpbmUuYXZhaWxhYmxlV2lkdGgoKSArIGxpbmUudHJhaWxp
bmdDb2xsYXBzaWJsZVdpZHRoKCksIGxpbmVJc0NvbnNpZGVyZWRFbXB0eSkpCiAgICAgICAgICAg
ICByZXR1cm4geyBMaW5lQnJlYWtlcjo6SXNFbmRPZkxpbmU6OlllcywgY29tbWl0dGVkRmxvYXRJ
dGVtQ291bnQgfTsKICAgICAgICAgLy8gVGhpcyBmbG9hdCBjYW4gc2l0IG9uIHRoZSBjdXJyZW50
IGxpbmUuCiAgICAgICAgICsrY29tbWl0dGVkRmxvYXRJdGVtQ291bnQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9MaW5lTGF5b3V0Q29udGV4dC5o
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRl
eHQuaAppbmRleCBmNDAyOTg1MzAzMmVjY2U3MTk1YmIzMmEyOGRkZjZmMDMzODJjM2I0Li4xOTdl
NmM1NzFkOTZlZTA1YmE0OTE5NDZiMmZkODFkMGJjOGI2YmRjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9MaW5lTGF5b3V0Q29udGV4dC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0
LmgKQEAgLTMzLDExICszMywxMiBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIExh
eW91dCB7CiAKK2NsYXNzIExheW91dFN0YXRlOwogc3RydWN0IExpbmVDYW5kaWRhdGVDb250ZW50
OwogCiBjbGFzcyBMaW5lTGF5b3V0Q29udGV4dCB7CiBwdWJsaWM6Ci0gICAgTGluZUxheW91dENv
bnRleHQoY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQmLCBjb25zdCBDb250YWluZXImIGZv
cm1hdHRpbmdDb250ZXh0Um9vdCwgY29uc3QgSW5saW5lSXRlbXMmKTsKKyAgICBMaW5lTGF5b3V0
Q29udGV4dChjb25zdCBMYXlvdXRTdGF0ZSYsIGNvbnN0IElubGluZUZvcm1hdHRpbmdDb250ZXh0
JiwgY29uc3QgQ29udGFpbmVyJiBmb3JtYXR0aW5nQ29udGV4dFJvb3QsIGNvbnN0IElubGluZUl0
ZW1zJik7CiAKICAgICBzdHJ1Y3QgTGluZUNvbnRlbnQgewogICAgICAgICBzdHJ1Y3QgUGFydGlh
bENvbnRlbnQgewpAQCAtNjksNiArNzAsNyBAQCBwcml2YXRlOgogICAgIGNvbnN0IElubGluZUZv
cm1hdHRpbmdDb250ZXh0JiBmb3JtYXR0aW5nQ29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1faW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQ7IH0KICAgICBjb25zdCBDb250YWluZXImIHJvb3QoKSBjb25z
dCB7IHJldHVybiBtX2Zvcm1hdHRpbmdDb250ZXh0Um9vdDsgfQogCisgICAgY29uc3QgTGF5b3V0
U3RhdGUmIG1fbGF5b3V0U3RhdGU7CiAgICAgY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQm
IG1faW5saW5lRm9ybWF0dGluZ0NvbnRleHQ7CiAgICAgY29uc3QgQ29udGFpbmVyJiBtX2Zvcm1h
dHRpbmdDb250ZXh0Um9vdDsKICAgICBjb25zdCBJbmxpbmVJdGVtcyYgbV9pbmxpbmVJdGVtczsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRl
Z3JhdGlvbkxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKaW5kZXggZWMxMjM4OTMxZTAyZmIxZDk3
NjE5ODVjMmVkNTFiZWZiNTIzN2ZiOS4uNWY4Yzg3NDIyNjUyMjcxOThjMDE3YjE4OWFjNzU4MWIx
MzQ0NGI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5jcHAKQEAgLTk1LDggKzk1
LDEwIEBAIHZvaWQgTGluZUxheW91dDo6dXBkYXRlU3R5bGUoKQogCiB2b2lkIExpbmVMYXlvdXQ6
OmxheW91dCgpCiB7Ci0gICAgaWYgKCFtX2xheW91dFN0YXRlKQorICAgIGlmICghbV9sYXlvdXRT
dGF0ZSkgewogICAgICAgICBtX2xheW91dFN0YXRlID0gbWFrZVVuaXF1ZTxMYXlvdXQ6OkxheW91
dFN0YXRlPigqbV90cmVlQ29udGVudCk7CisgICAgICAgIG1fbGF5b3V0U3RhdGUtPnNldExheW91
dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVkKCk7CisgICAgfQogCiAgICAgcHJl
cGFyZVJvb3RHZW9tZXRyeUZvckxheW91dCgpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>