<?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>230730</bug_id>
          
          <creation_ts>2021-09-23 16:38:41 -0700</creation_ts>
          <short_desc>[LFC][IFC] Line::Run only needs a handful of style properties</short_desc>
          <delta_ts>2021-09-24 08:50:21 -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>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>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>1796719</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-09-23 16:38:41 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796721</commentid>
    <comment_count>1</comment_count>
      <attachid>439107</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-09-23 16:50:21 -0700</bug_when>
    <thetext>Created attachment 439107
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796896</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-24 08:49:35 -0700</bug_when>
    <thetext>Committed r283043 (242103@main): &lt;https://commits.webkit.org/242103@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 439107.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796897</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-24 08:50:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/83497940&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439107</attachid>
            <date>2021-09-23 16:50:21 -0700</date>
            <delta_ts>2021-09-24 08:49:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230730-20210923165020.patch</filename>
            <type>text/plain</type>
            <size>19056</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyOTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzk2MGY4NDFiN2M3YTNh
ZWRjMWY0YjIyMDU1NWFlYWZhNmZlMjE0Ny4uY2U3MWQ3ZjVlZjE1NjhlMGZiN2E1ODIzNTY4NTlh
NWMxZWRlNDQ4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTA5LTIzICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIExpbmU6OlJ1
biBvbmx5IG5lZWRzIGEgaGFuZGZ1bCBvZiBzdHlsZSBwcm9wZXJ0aWVzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzA3MzAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGlzIGluIHByZXBh
cmF0aW9uIGZvciBzdXBwb3J0aW5nIGZpcnN0LWxpbmUgc3R5bGUuCisKKyAgICAgICAgTGluZTo6
UnVuIGlzIHRoZSBmaXJzdCBzdHJ1Y3R1cmUgdGhhdCB3ZSB1c2UgdG8gY29uc3RydWN0IGxpbmUg
b2JqZWN0cyBhZnRlciBsaW5lIGJyZWFraW5nIChvciBsYXN0IGluIHRoZSBjb250ZXh0IG9mIHRo
ZSBzZXJpZXMgb2YgcGF0Y2hlcyBnb2luZyBiYWNrd2FyZHMgZnJvbSB0aGUgZmluYWwgZGlzcGxh
eSBib3ggc3RydWN0dXJlIHRvd2FyZHMgbGluZSBicmVha2luZykgd2hlcmUKKyAgICAgICAgd2Ug
Y291bGQgcmV0YWluIHRoZSBmaXN0LWxpbmUgZGVwZW5kZW50IHByb3BlcnR5IHZhbHVlcy4KKwor
ICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpyZW1vdmVDb2xsYXBzaWJsZUNvbnRl
bnQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjphcHBseVJ1bkV4cGFuc2lvbik6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OnZpc3VhbGx5Q29sbGFwc2VIYW5naW5n
T3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjphcHBlbmROb25CcmVh
a2FibGVTcGFjZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OmFwcGVuZFRleHRD
b250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6YXBwZW5kTm9uUmVwbGFj
ZWRJbmxpbmVMZXZlbEJveCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OmFwcGVu
ZExpbmVCcmVhayk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OmFwcGVuZFdvcmRC
cmVha09wcG9ydHVuaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6UnVuOjpS
dW4pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjptX3N0eWxlKToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZTo6UnVuOjpoYXNUcmFpbGluZ0xldHRlclNwYWNpbmcgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpSdW46OnRyYWlsaW5nTGV0dGVyU3BhY2lu
ZyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OlJ1bjo6cmVtb3ZlVHJh
aWxpbmdMZXR0ZXJTcGFjaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6dmlz
dWFsbHlDb2xsYXBzZVByZVdyYXBPdmVyZmxvd0NvbnRlbnQpOiBEZWxldGVkLgorICAgICAgICAq
IGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6TGluZTo6UnVuOjpsYXlvdXRCb3ggY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpSdW46OmlzT3ZlcmZsb3dXaGl0ZXNwYWNlSGFuZ2luZyBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OlJ1bjo6aW5saW5lRGlyZWN0
aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6UnVuOjpsZXR0ZXJT
cGFjaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6UnVuOjpoYXNU
ZXh0Q29tYmluZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OlJ1bjo6
c3R5bGUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6aGFuZ2luZ0dseXBoV2lkdGgpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5l
Qm94QnVpbGRlcjo6Y29uc3RydWN0QW5kQWxpZ25JbmxpbmVMZXZlbEJveGVzKToKKyAgICAgICAg
KiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS90ZXh0L1RleHRVdGlsLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGV4dFV0aWw6OmZhbGxiYWNrRm9udHNGb3JSdW4pOgor
ICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwu
aDoKKwogMjAyMS0wOS0yMyAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0xGQ11bSUZDXSBJbmxpbmVMZXZlbEJveCBvbmx5IG5lZWRzIGEgaGFuZGZ1bCBvZiBzdHls
ZSBwcm9wZXJ0aWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuY3BwCmluZGV4IGZiOWVlNDk0OGVl
OTVlOWIyMDZmNTRiMWZjNmU2ZGY0NzZmMWE1NzMuLjQxNDY0NGZhNjcyNjhkNzBlMWFjMzZiMTYx
OWVmMmZiYWY4NWY3MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuY3BwCkBAIC02Miw3ICs2
Miw3IEBAIHZvaWQgTGluZTo6aW5pdGlhbGl6ZSgpCiB2b2lkIExpbmU6OnJlbW92ZUNvbGxhcHNp
YmxlQ29udGVudChJbmxpbmVMYXlvdXRVbml0IGV4dHJhSG9yaXpvbnRhbFNwYWNlKQogewogICAg
IHJlbW92ZVRyYWlsaW5nVHJpbW1hYmxlQ29udGVudCgpOwotICAgIHZpc3VhbGx5Q29sbGFwc2VQ
cmVXcmFwT3ZlcmZsb3dDb250ZW50KGV4dHJhSG9yaXpvbnRhbFNwYWNlKTsKKyAgICB2aXN1YWxs
eUNvbGxhcHNlSGFuZ2luZ092ZXJmbG93KGV4dHJhSG9yaXpvbnRhbFNwYWNlKTsKIH0KIAogdm9p
ZCBMaW5lOjphcHBseVJ1bkV4cGFuc2lvbihJbmxpbmVMYXlvdXRVbml0IGV4dHJhSG9yaXpvbnRh
bFNwYWNlKQpAQCAtODcsMTYgKzg3LDE1IEBAIHZvaWQgTGluZTo6YXBwbHlSdW5FeHBhbnNpb24o
SW5saW5lTGF5b3V0VW5pdCBleHRyYUhvcml6b250YWxTcGFjZSkKICAgICBhdXRvIHJ1bklzQWZ0
ZXJFeHBhbnNpb24gPSB0cnVlOwogICAgIGZvciAoc2l6ZV90IHJ1bkluZGV4ID0gMDsgcnVuSW5k
ZXggPCBtX3J1bnMuc2l6ZSgpOyArK3J1bkluZGV4KSB7CiAgICAgICAgIGF1dG8mIHJ1biA9IG1f
cnVuc1tydW5JbmRleF07Ci0gICAgICAgIGF1dG8mIHN0eWxlID0gcnVuLnN0eWxlKCk7CiAgICAg
ICAgIGludCBleHBhbnNpb25CZWhhdmlvciA9IERlZmF1bHRFeHBhbnNpb247CiAgICAgICAgIHNp
emVfdCBleHBhbnNpb25PcHBvcnR1bml0aWVzSW5SdW4gPSAwOwogCiAgICAgICAgIGlmIChydW4u
aXNUZXh0KCkgJiYgIVRleHRVdGlsOjpzaG91bGRQcmVzZXJ2ZVNwYWNlc0FuZFRhYnMocnVuLmxh
eW91dEJveCgpKSkgewotICAgICAgICAgICAgaWYgKHN0eWxlLnRleHRDb21iaW5lKCkgPT0gVGV4
dENvbWJpbmU6Okhvcml6b250YWwpCisgICAgICAgICAgICBpZiAocnVuLmhhc1RleHRDb21iaW5l
KCkpCiAgICAgICAgICAgICAgICAgZXhwYW5zaW9uQmVoYXZpb3IgPSBGb3JiaWRMZWZ0RXhwYW5z
aW9uIHwgRm9yYmlkUmlnaHRFeHBhbnNpb247CiAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAg
ICAgICAgICBleHBhbnNpb25CZWhhdmlvciA9IChydW5Jc0FmdGVyRXhwYW5zaW9uID8gRm9yYmlk
TGVmdEV4cGFuc2lvbiA6IEFsbG93TGVmdEV4cGFuc2lvbikgfCBBbGxvd1JpZ2h0RXhwYW5zaW9u
OwotICAgICAgICAgICAgICAgIHN0ZDo6dGllKGV4cGFuc2lvbk9wcG9ydHVuaXRpZXNJblJ1biwg
cnVuSXNBZnRlckV4cGFuc2lvbikgPSBGb250Q2FzY2FkZTo6ZXhwYW5zaW9uT3Bwb3J0dW5pdHlD
b3VudChTdHJpbmdWaWV3KGRvd25jYXN0PElubGluZVRleHRCb3g+KHJ1bi5sYXlvdXRCb3goKSku
Y29udGVudCgpKS5zdWJzdHJpbmcocnVuLnRleHRDb250ZW50KCktPnN0YXJ0LCBydW4udGV4dENv
bnRlbnQoKS0+bGVuZ3RoKSwgcnVuLnN0eWxlKCkuZGlyZWN0aW9uKCksIGV4cGFuc2lvbkJlaGF2
aW9yKTsKKyAgICAgICAgICAgICAgICBzdGQ6OnRpZShleHBhbnNpb25PcHBvcnR1bml0aWVzSW5S
dW4sIHJ1bklzQWZ0ZXJFeHBhbnNpb24pID0gRm9udENhc2NhZGU6OmV4cGFuc2lvbk9wcG9ydHVu
aXR5Q291bnQoU3RyaW5nVmlldyhkb3duY2FzdDxJbmxpbmVUZXh0Qm94PihydW4ubGF5b3V0Qm94
KCkpLmNvbnRlbnQoKSkuc3Vic3RyaW5nKHJ1bi50ZXh0Q29udGVudCgpLT5zdGFydCwgcnVuLnRl
eHRDb250ZW50KCktPmxlbmd0aCksIHJ1bi5pbmxpbmVEaXJlY3Rpb24oKSwgZXhwYW5zaW9uQmVo
YXZpb3IpOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgaWYgKHJ1bi5pc0JveCgpKQog
ICAgICAgICAgICAgcnVuSXNBZnRlckV4cGFuc2lvbiA9IGZhbHNlOwpAQCAtMTYzLDcgKzE2Miw3
IEBAIHZvaWQgTGluZTo6cmVtb3ZlVHJhaWxpbmdUcmltbWFibGVDb250ZW50KCkKICAgICBtX2Nv
bnRlbnRMb2dpY2FsV2lkdGggLT0gbV90cmltbWFibGVUcmFpbGluZ0NvbnRlbnQucmVtb3ZlKCk7
CiB9CiAKLXZvaWQgTGluZTo6dmlzdWFsbHlDb2xsYXBzZVByZVdyYXBPdmVyZmxvd0NvbnRlbnQo
SW5saW5lTGF5b3V0VW5pdCBleHRyYUhvcml6b250YWxTcGFjZSkKK3ZvaWQgTGluZTo6dmlzdWFs
bHlDb2xsYXBzZUhhbmdpbmdPdmVyZmxvdyhJbmxpbmVMYXlvdXRVbml0IGV4dHJhSG9yaXpvbnRh
bFNwYWNlKQogewogICAgIEFTU0VSVChtX3RyaW1tYWJsZVRyYWlsaW5nQ29udGVudC5pc0VtcHR5
KCkpOwogICAgIC8vIElmIHdoaXRlLXNwYWNlIGlzIHNldCB0byBwcmUtd3JhcCwgdGhlIFVBIG11
c3QKQEAgLTE3NiwxMCArMTc1LDggQEAgdm9pZCBMaW5lOjp2aXN1YWxseUNvbGxhcHNlUHJlV3Jh
cE92ZXJmbG93Q29udGVudChJbmxpbmVMYXlvdXRVbml0IGV4dHJhSG9yaXpvbnQKICAgICAvLyBk
aWZmZXJlbnQgc2V0IG9mIHdoaXRlLXNwYWNlIHZhbHVlcyBhbmQgZGVjaWRlIGlmIHRoZSBpbi1i
ZXR3ZWVuIHByZS13cmFwIGNvbnRlbnQgc2hvdWxkIGJlIGNvbGxhcHNlZCBhcyB3ZWxsLikKICAg
ICBhdXRvIHRyaW1tZWRDb250ZW50V2lkdGggPSBJbmxpbmVMYXlvdXRVbml0IHsgfTsKICAgICBm
b3IgKGF1dG8mIHJ1biA6IFdURjo6bWFrZVJldmVyc2VkUmFuZ2UobV9ydW5zKSkgewotICAgICAg
ICBpZiAocnVuLnN0eWxlKCkud2hpdGVTcGFjZSgpICE9IFdoaXRlU3BhY2U6OlByZVdyYXApIHsK
LSAgICAgICAgICAgIC8vIFdlIGFyZSBvbmx5IGludGVyZXN0ZWQgaW4gcHJlLXdyYXAgdHJhaWxp
bmcgY29udGVudC4KKyAgICAgICAgaWYgKCFydW4uaXNPdmVyZmxvd1doaXRlc3BhY2VIYW5naW5n
KCkpCiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQogICAgICAgICBhdXRvIHZpc3VhbGx5
Q29sbGFwc2libGVJbmxpbmVJdGVtID0gcnVuLmlzSW5saW5lQm94U3RhcnQoKSB8fCBydW4uaXNJ
bmxpbmVCb3hFbmQoKSB8fCBydW4uaGFzVHJhaWxpbmdXaGl0ZXNwYWNlKCk7CiAgICAgICAgIGlm
ICghdmlzdWFsbHlDb2xsYXBzaWJsZUlubGluZUl0ZW0pCiAgICAgICAgICAgICBicmVhazsKQEAg
LTIyMyw3ICsyMjAsNyBAQCB2b2lkIExpbmU6OmFwcGVuZChjb25zdCBJbmxpbmVJdGVtJiBpbmxp
bmVJdGVtLCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCkKIAogdm9pZCBMaW5lOjphcHBl
bmROb25CcmVha2FibGVTcGFjZShjb25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBJbmxpbmVM
YXlvdXRVbml0IGxvZ2ljYWxMZWZ0LCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCkKIHsK
LSAgICBtX3J1bnMuYXBwZW5kKHsgaW5saW5lSXRlbSwgbG9naWNhbExlZnQsIGxvZ2ljYWxXaWR0
aCB9KTsKKyAgICBtX3J1bnMuYXBwZW5kKHsgaW5saW5lSXRlbSwgaW5saW5lSXRlbS5zdHlsZSgp
LCBsb2dpY2FsTGVmdCwgbG9naWNhbFdpZHRoIH0pOwogICAgIC8vIERvIG5vdCBsZXQgbmVnYXRp
dmUgbWFyZ2luIG1ha2UgdGhlIGNvbnRlbnQgc2hvcnRlciB0aGFuIGl0IGFscmVhZHkgaXMuCiAg
ICAgYXV0byBydW5Mb2dpY2FsUmlnaHQgPSBsb2dpY2FsTGVmdCArIGxvZ2ljYWxXaWR0aDsKICAg
ICBtX2NvbnRlbnRMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtX2NvbnRlbnRMb2dpY2FsV2lkdGgs
IHJ1bkxvZ2ljYWxSaWdodCk7CkBAIC0yOTgsNyArMjk1LDcgQEAgdm9pZCBMaW5lOjphcHBlbmRU
ZXh0Q29udGVudChjb25zdCBJbmxpbmVUZXh0SXRlbSYgaW5saW5lVGV4dEl0ZW0sIElubGluZUxh
eW91dFUKICAgICBpZiAobmVlZHNOZXdSdW4pIHsKICAgICAgICAgLy8gTm90ZSwgbmVnYXRpdmUg
d29yZHMgc3BhY2luZyBtYXkgY2F1c2UgZ2x5cGggb3ZlcmxhcC4KICAgICAgICAgYXV0byBydW5M
b2dpY2FsTGVmdCA9IGNvbnRlbnRMb2dpY2FsUmlnaHQoKSArIChpbmxpbmVUZXh0SXRlbS5pc1dv
cmRTZXBhcmF0b3IoKSA/IHN0eWxlLmZvbnRDYXNjYWRlKCkud29yZFNwYWNpbmcoKSA6IDAuMGYp
OwotICAgICAgICBtX3J1bnMuYXBwZW5kKHsgaW5saW5lVGV4dEl0ZW0sIHJ1bkxvZ2ljYWxMZWZ0
LCBsb2dpY2FsV2lkdGggfSk7CisgICAgICAgIG1fcnVucy5hcHBlbmQoeyBpbmxpbmVUZXh0SXRl
bSwgaW5saW5lVGV4dEl0ZW0uc3R5bGUoKSwgcnVuTG9naWNhbExlZnQsIGxvZ2ljYWxXaWR0aCB9
KTsKICAgICAgICAgbV9jb250ZW50TG9naWNhbFdpZHRoID0gc3RkOjptYXgob2xkQ29udGVudExv
Z2ljYWxXaWR0aCwgcnVuTG9naWNhbExlZnQgKyBsb2dpY2FsV2lkdGgpOwogICAgIH0gZWxzZSB7
CiAgICAgICAgIG1fcnVucy5sYXN0KCkuZXhwYW5kKGlubGluZVRleHRJdGVtLCBsb2dpY2FsV2lk
dGgpOwpAQCAtMzI1LDE0ICszMjIsMTQgQEAgdm9pZCBMaW5lOjphcHBlbmROb25SZXBsYWNlZElu
bGluZUxldmVsQm94KGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0sIElubGluZUwKICAgICAr
K21fbm9uU3Bhbm5pbmdJbmxpbmVMZXZlbEJveENvdW50OwogICAgIGF1dG8gbWFyZ2luU3RhcnQg
PSBmb3JtYXR0aW5nQ29udGV4dCgpLmdlb21ldHJ5Rm9yQm94KGlubGluZUl0ZW0ubGF5b3V0Qm94
KCkpLm1hcmdpblN0YXJ0KCk7CiAgICAgaWYgKG1hcmdpblN0YXJ0ID49IDApIHsKLSAgICAgICAg
bV9ydW5zLmFwcGVuZCh7IGlubGluZUl0ZW0sIGNvbnRlbnRMb2dpY2FsUmlnaHQoKSwgbWFyZ2lu
Qm94TG9naWNhbFdpZHRoIH0pOworICAgICAgICBtX3J1bnMuYXBwZW5kKHsgaW5saW5lSXRlbSwg
aW5saW5lSXRlbS5zdHlsZSgpLCBjb250ZW50TG9naWNhbFJpZ2h0KCksIG1hcmdpbkJveExvZ2lj
YWxXaWR0aCB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAvLyBOZWdhdGl2ZSBtYXJn
aW4tc3RhcnQgcHVsbHMgdGhlIGNvbnRlbnQgdG8gdGhlIGxvZ2ljYWwgbGVmdCBkaXJlY3Rpb24u
CiAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGFsc28gc3F1ZWV6ZXMgdGhlIG1hcmdpbiBib3gsIHdl
IG5lZWQgdG8gc3RyZXRjaCBpdCB0byBtYWtlIHN1cmUgdGhlIHN1YnNlcXVlbnQgY29udGVudCB3
b24ndCBvdmVybGFwLgogICAgIC8vIGUuZy4gPGltZyBzdHlsZT0id2lkdGg6IDEwMHB4OyBtYXJn
aW4tbGVmdDogLTEwMHB4OyI+IHB1bGxzIHRoZSByZXBsYWNlZCBib3ggdG8gLTEwMHB4IHdpdGgg
dGhlIG1hcmdpbiBib3ggd2lkdGggb2YgMHB4LgogICAgIC8vIEluc3RlYWQgd2UgbmVlZCB0byBw
b3NpdGlvbiBpdCBhdCAtMTAwcHggYW5kIHNpemUgaXQgdG8gMTAwcHggc28gdGhlIHN1YnNlcXVl
bnQgY29udGVudCBzdGFydHMgYXQgMHB4LiAKLSAgICBtX3J1bnMuYXBwZW5kKHsgaW5saW5lSXRl
bSwgY29udGVudExvZ2ljYWxSaWdodCgpICsgbWFyZ2luU3RhcnQsIG1hcmdpbkJveExvZ2ljYWxX
aWR0aCAtIG1hcmdpblN0YXJ0IH0pOworICAgIG1fcnVucy5hcHBlbmQoeyBpbmxpbmVJdGVtLCBp
bmxpbmVJdGVtLnN0eWxlKCksIGNvbnRlbnRMb2dpY2FsUmlnaHQoKSArIG1hcmdpblN0YXJ0LCBt
YXJnaW5Cb3hMb2dpY2FsV2lkdGggLSBtYXJnaW5TdGFydCB9KTsKIH0KIAogdm9pZCBMaW5lOjph
cHBlbmRSZXBsYWNlZElubGluZUxldmVsQm94KGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0s
IElubGluZUxheW91dFVuaXQgbWFyZ2luQm94TG9naWNhbFdpZHRoKQpAQCAtMzQ3LDcgKzM0NCw3
IEBAIHZvaWQgTGluZTo6YXBwZW5kTGluZUJyZWFrKGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0
ZW0pCiAgICAgbV90cmFpbGluZ1NvZnRIeXBoZW5XaWR0aCA9IHsgfTsKICAgICBpZiAoaW5saW5l
SXRlbS5pc0hhcmRMaW5lQnJlYWsoKSkgewogICAgICAgICArK21fbm9uU3Bhbm5pbmdJbmxpbmVM
ZXZlbEJveENvdW50OwotICAgICAgICByZXR1cm4gbV9ydW5zLmFwcGVuZCh7IGlubGluZUl0ZW0s
IGNvbnRlbnRMb2dpY2FsUmlnaHQoKSwgMF9sdSB9KTsKKyAgICAgICAgcmV0dXJuIG1fcnVucy5h
cHBlbmQoeyBpbmxpbmVJdGVtLCBjb250ZW50TG9naWNhbFJpZ2h0KCkgfSk7CiAgICAgfQogICAg
IC8vIFNvZnQgbGluZSBicmVha3MgKHByZXNlcnZlZCBuZXcgbGluZSBjaGFyYWN0ZXJzKSByZXF1
aXJlIGlubGluZSB0ZXh0IGJveGVzIGZvciBjb21wYXRpYmlsaXR5IHJlYXNvbnMuCiAgICAgQVNT
RVJUKGlubGluZUl0ZW0uaXNTb2Z0TGluZUJyZWFrKCkpOwpAQCAtMzU2LDcgKzM1Myw3IEBAIHZv
aWQgTGluZTo6YXBwZW5kTGluZUJyZWFrKGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0pCiAK
IHZvaWQgTGluZTo6YXBwZW5kV29yZEJyZWFrT3Bwb3J0dW5pdHkoY29uc3QgSW5saW5lSXRlbSYg
aW5saW5lSXRlbSkKIHsKLSAgICBtX3J1bnMuYXBwZW5kKHsgaW5saW5lSXRlbSwgY29udGVudExv
Z2ljYWxSaWdodCgpLCAwX2x1IH0pOworICAgIG1fcnVucy5hcHBlbmQoeyBpbmxpbmVJdGVtLCBj
b250ZW50TG9naWNhbFJpZ2h0KCkgfSk7CiB9CiAKIHZvaWQgTGluZTo6YWRkVHJhaWxpbmdIeXBo
ZW4oSW5saW5lTGF5b3V0VW5pdCBoeXBoZW5Mb2dpY2FsV2lkdGgpCkBAIC00NDUsMTEgKzQ0Miwx
OSBAQCBJbmxpbmVMYXlvdXRVbml0IExpbmU6OlRyaW1tYWJsZVRyYWlsaW5nQ29udGVudDo6cmVt
b3ZlUGFydGlhbGx5VHJpbW1hYmxlQ29udGVudAogICAgIHJldHVybiByZW1vdmUoKTsKIH0KIAot
TGluZTo6UnVuOjpSdW4oY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSwgSW5saW5lTGF5b3V0
VW5pdCBsb2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpCitMaW5lOjpS
dW46OlJ1bihjb25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtLCBjb25zdCBSZW5kZXJTdHlsZSYg
c3R5bGUsIElubGluZUxheW91dFVuaXQgbG9naWNhbExlZnQsIElubGluZUxheW91dFVuaXQgbG9n
aWNhbFdpZHRoKQogICAgIDogbV90eXBlKGlubGluZUl0ZW0udHlwZSgpKQogICAgICwgbV9sYXlv
dXRCb3goJmlubGluZUl0ZW0ubGF5b3V0Qm94KCkpCiAgICAgLCBtX2xvZ2ljYWxMZWZ0KGxvZ2lj
YWxMZWZ0KQogICAgICwgbV9sb2dpY2FsV2lkdGgobG9naWNhbFdpZHRoKQorICAgICwgbV9zdHls
ZSh7IHsgfSwgc3R5bGUuZGlyZWN0aW9uKCksIHsgfSwgeyB9IH0pCit7Cit9CisKK0xpbmU6OlJ1
bjo6UnVuKGNvbnN0IElubGluZUl0ZW0mIHplcm9XaWRodElubGluZUl0ZW0sIElubGluZUxheW91
dFVuaXQgbG9naWNhbExlZnQpCisgICAgOiBtX3R5cGUoemVyb1dpZGh0SW5saW5lSXRlbS50eXBl
KCkpCisgICAgLCBtX2xheW91dEJveCgmemVyb1dpZGh0SW5saW5lSXRlbS5sYXlvdXRCb3goKSkK
KyAgICAsIG1fbG9naWNhbExlZnQobG9naWNhbExlZnQpCiB7CiB9CiAKQEAgLTQ2MSw3ICs0NjYs
NyBAQCBMaW5lOjpSdW46OlJ1bihjb25zdCBJbmxpbmVTb2Z0TGluZUJyZWFrSXRlbSYgc29mdExp
bmVCcmVha0l0ZW0sIElubGluZUxheW91dFVuaQogewogfQogCi1MaW5lOjpSdW46OlJ1bihjb25z
dCBJbmxpbmVUZXh0SXRlbSYgaW5saW5lVGV4dEl0ZW0sIElubGluZUxheW91dFVuaXQgbG9naWNh
bExlZnQsIElubGluZUxheW91dFVuaXQgbG9naWNhbFdpZHRoKQorTGluZTo6UnVuOjpSdW4oY29u
c3QgSW5saW5lVGV4dEl0ZW0mIGlubGluZVRleHRJdGVtLCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5
bGUsIElubGluZUxheW91dFVuaXQgbG9naWNhbExlZnQsIElubGluZUxheW91dFVuaXQgbG9naWNh
bFdpZHRoKQogICAgIDogbV90eXBlKElubGluZUl0ZW06OlR5cGU6OlRleHQpCiAgICAgLCBtX2xh
eW91dEJveCgmaW5saW5lVGV4dEl0ZW0ubGF5b3V0Qm94KCkpCiAgICAgLCBtX2xvZ2ljYWxMZWZ0
KGxvZ2ljYWxMZWZ0KQpAQCAtNDY5LDYgKzQ3NCw3IEBAIExpbmU6OlJ1bjo6UnVuKGNvbnN0IElu
bGluZVRleHRJdGVtJiBpbmxpbmVUZXh0SXRlbSwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsTGVm
CiAgICAgLCBtX3RyYWlsaW5nV2hpdGVzcGFjZVR5cGUodHJhaWxpbmdXaGl0ZXNwYWNlVHlwZShp
bmxpbmVUZXh0SXRlbSkpCiAgICAgLCBtX3RyYWlsaW5nV2hpdGVzcGFjZVdpZHRoKG1fdHJhaWxp
bmdXaGl0ZXNwYWNlVHlwZSAhPSBUcmFpbGluZ1doaXRlc3BhY2U6Ok5vbmUgPyBsb2dpY2FsV2lk
dGggOiBJbmxpbmVMYXlvdXRVbml0IHsgfSkKICAgICAsIG1fdGV4dENvbnRlbnQoeyBpbmxpbmVU
ZXh0SXRlbS5zdGFydCgpLCBtX3RyYWlsaW5nV2hpdGVzcGFjZVR5cGUgPT0gVHJhaWxpbmdXaGl0
ZXNwYWNlOjpDb2xsYXBzZWQgPyAxIDogaW5saW5lVGV4dEl0ZW0ubGVuZ3RoKCkgfSkKKyAgICAs
IG1fc3R5bGUoeyBzdHlsZS53aGl0ZVNwYWNlKCkgPT0gV2hpdGVTcGFjZTo6UHJlV3JhcCwgc3R5
bGUuZGlyZWN0aW9uKCksIHN0eWxlLmxldHRlclNwYWNpbmcoKSwgc3R5bGUuaGFzVGV4dENvbWJp
bmUoKSB9KQogewogfQogCkBAIC00OTIsMjEgKzQ5OCwyMSBAQCB2b2lkIExpbmU6OlJ1bjo6ZXhw
YW5kKGNvbnN0IElubGluZVRleHRJdGVtJiBpbmxpbmVUZXh0SXRlbSwgSW5saW5lTGF5b3V0VW5p
dCBsbwogCiBib29sIExpbmU6OlJ1bjo6aGFzVHJhaWxpbmdMZXR0ZXJTcGFjaW5nKCkgY29uc3QK
IHsKLSAgICByZXR1cm4gIWhhc1RyYWlsaW5nV2hpdGVzcGFjZSgpICYmIHN0eWxlKCkubGV0dGVy
U3BhY2luZygpID4gMDsKKyAgICByZXR1cm4gIWhhc1RyYWlsaW5nV2hpdGVzcGFjZSgpICYmIGxl
dHRlclNwYWNpbmcoKSA+IDA7CiB9CiAKIElubGluZUxheW91dFVuaXQgTGluZTo6UnVuOjp0cmFp
bGluZ0xldHRlclNwYWNpbmcoKSBjb25zdAogewogICAgIGlmICghaGFzVHJhaWxpbmdMZXR0ZXJT
cGFjaW5nKCkpCiAgICAgICAgIHJldHVybiB7IH07Ci0gICAgcmV0dXJuIElubGluZUxheW91dFVu
aXQgeyBzdHlsZSgpLmxldHRlclNwYWNpbmcoKSB9OworICAgIHJldHVybiBJbmxpbmVMYXlvdXRV
bml0IHsgbGV0dGVyU3BhY2luZygpIH07CiB9CiAKIHZvaWQgTGluZTo6UnVuOjpyZW1vdmVUcmFp
bGluZ0xldHRlclNwYWNpbmcoKQogewogICAgIEFTU0VSVChoYXNUcmFpbGluZ0xldHRlclNwYWNp
bmcoKSk7CiAgICAgc2hyaW5rSG9yaXpvbnRhbGx5KHRyYWlsaW5nTGV0dGVyU3BhY2luZygpKTsK
LSAgICBBU1NFUlQobG9naWNhbFdpZHRoKCkgPiAwIHx8ICghbG9naWNhbFdpZHRoKCkgJiYgc3R5
bGUoKS5sZXR0ZXJTcGFjaW5nKCkgPj0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGludE1heEZvckxheW91
dFVuaXQpKSk7CisgICAgQVNTRVJUKGxvZ2ljYWxXaWR0aCgpID4gMCB8fCAoIWxvZ2ljYWxXaWR0
aCgpICYmIGxldHRlclNwYWNpbmcoKSA+PSBzdGF0aWNfY2FzdDxmbG9hdD4oaW50TWF4Rm9yTGF5
b3V0VW5pdCkpKTsKIH0KIAogdm9pZCBMaW5lOjpSdW46OnJlbW92ZVRyYWlsaW5nV2hpdGVzcGFj
ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9JbmxpbmVMaW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmgKaW5kZXggZWE4MTI1NDhkY2Q2YzlhMDNjYjhjZmZj
ZTJkNTZlYWM1YzZjMjExNy4uMGJiYzQ0OTk3OTMwZTZmNDM2YjVjMjFhYTE1ZmIzMWJhYmU5NTU1
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lTGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuaApAQCAtNzEsNyArNzEsNiBAQCBwdWJsaWM6CiAg
ICAgICAgIGF1dG8gdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogCiAgICAgICAgIGNv
bnN0IEJveCYgbGF5b3V0Qm94KCkgY29uc3QgeyByZXR1cm4gKm1fbGF5b3V0Qm94OyB9Ci0gICAg
ICAgIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0Qm94
LT5zdHlsZSgpOyB9CiAgICAgICAgIHN0cnVjdCBUZXh0IHsKICAgICAgICAgICAgIHNpemVfdCBz
dGFydCB7IDAgfTsKICAgICAgICAgICAgIHNpemVfdCBsZW5ndGggeyAwIH07CkBAIC04OCwxMiAr
ODcsMTggQEAgcHVibGljOgogICAgICAgICBib29sIGhhc1RyYWlsaW5nV2hpdGVzcGFjZSgpIGNv
bnN0IHsgcmV0dXJuIG1fdHJhaWxpbmdXaGl0ZXNwYWNlVHlwZSAhPSBUcmFpbGluZ1doaXRlc3Bh
Y2U6Ok5vbmU7IH0KICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCB0cmFpbGluZ1doaXRlc3BhY2VX
aWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhaWxpbmdXaGl0ZXNwYWNlV2lkdGg7IH0KIAorICAg
ICAgICBib29sIGlzT3ZlcmZsb3dXaGl0ZXNwYWNlSGFuZ2luZygpIGNvbnN0OworICAgICAgICBU
ZXh0RGlyZWN0aW9uIGlubGluZURpcmVjdGlvbigpIGNvbnN0OworICAgICAgICBJbmxpbmVMYXlv
dXRVbml0IGxldHRlclNwYWNpbmcoKSBjb25zdDsKKyAgICAgICAgYm9vbCBoYXNUZXh0Q29tYmlu
ZSgpIGNvbnN0OworCiAgICAgcHJpdmF0ZToKICAgICAgICAgZnJpZW5kIGNsYXNzIExpbmU7CiAK
LSAgICAgICAgUnVuKGNvbnN0IElubGluZVRleHRJdGVtJiwgSW5saW5lTGF5b3V0VW5pdCBsb2dp
Y2FsTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpOworICAgICAgICBSdW4oY29u
c3QgSW5saW5lVGV4dEl0ZW0mLCBjb25zdCBSZW5kZXJTdHlsZSYsIElubGluZUxheW91dFVuaXQg
bG9naWNhbExlZnQsIElubGluZUxheW91dFVuaXQgbG9naWNhbFdpZHRoKTsKICAgICAgICAgUnVu
KGNvbnN0IElubGluZVNvZnRMaW5lQnJlYWtJdGVtJiwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2Fs
TGVmdCk7Ci0gICAgICAgIFJ1bihjb25zdCBJbmxpbmVJdGVtJiwgSW5saW5lTGF5b3V0VW5pdCBs
b2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpOworICAgICAgICBSdW4o
Y29uc3QgSW5saW5lSXRlbSYsIGNvbnN0IFJlbmRlclN0eWxlJiwgSW5saW5lTGF5b3V0VW5pdCBs
b2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpOworICAgICAgICBSdW4o
Y29uc3QgSW5saW5lSXRlbSYsIElubGluZUxheW91dFVuaXQgbG9naWNhbExlZnQpOwogCiAgICAg
ICAgIHZvaWQgZXhwYW5kKGNvbnN0IElubGluZVRleHRJdGVtJiwgSW5saW5lTGF5b3V0VW5pdCBs
b2dpY2FsV2lkdGgpOwogICAgICAgICB2b2lkIG1vdmVIb3Jpem9udGFsbHkoSW5saW5lTGF5b3V0
VW5pdCBvZmZzZXQpIHsgbV9sb2dpY2FsTGVmdCArPSBvZmZzZXQ7IH0KQEAgLTEyNSw2ICsxMzAs
MTMgQEAgcHVibGljOgogICAgICAgICBJbmxpbmVMYXlvdXRVbml0IG1fdHJhaWxpbmdXaGl0ZXNw
YWNlV2lkdGggeyAwIH07CiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8VGV4dD4gbV90ZXh0Q29udGVu
dDsKICAgICAgICAgSW5saW5lRGlzcGxheTo6Qm94OjpFeHBhbnNpb24gbV9leHBhbnNpb247Cisg
ICAgICAgIHN0cnVjdCBTdHlsZSB7CisgICAgICAgICAgICBib29sIGlzT3ZlcmZsb3dXaGl0ZXNw
YWNlSGFuZ2luZyB7IGZhbHNlIH07CisgICAgICAgICAgICBUZXh0RGlyZWN0aW9uIGlubGluZURp
cmVjdGlvbiB7IFRleHREaXJlY3Rpb246OlJUTCB9OworICAgICAgICAgICAgSW5saW5lTGF5b3V0
VW5pdCBsZXR0ZXJTcGFjaW5nIHsgMCB9OworICAgICAgICAgICAgYm9vbCBoYXNUZXh0Q29tYmlu
ZSB7IGZhbHNlIH07CisgICAgICAgIH07CisgICAgICAgIFN0eWxlIG1fc3R5bGUgeyB9OwogICAg
IH07CiAgICAgdXNpbmcgUnVuTGlzdCA9IFZlY3RvcjxSdW4sIDEwPjsKICAgICBjb25zdCBSdW5M
aXN0JiBydW5zKCkgY29uc3QgeyByZXR1cm4gbV9ydW5zOyB9CkBAIC0xNDAsNyArMTUyLDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGFwcGVuZFdvcmRCcmVha09wcG9ydHVuaXR5KGNvbnN0IElubGlu
ZUl0ZW0mKTsKIAogICAgIHZvaWQgcmVtb3ZlVHJhaWxpbmdUcmltbWFibGVDb250ZW50KCk7Ci0g
ICAgdm9pZCB2aXN1YWxseUNvbGxhcHNlUHJlV3JhcE92ZXJmbG93Q29udGVudChJbmxpbmVMYXlv
dXRVbml0IGV4dHJhSG9yaXpvbnRhbFNwYWNlKTsKKyAgICB2b2lkIHZpc3VhbGx5Q29sbGFwc2VI
YW5naW5nT3ZlcmZsb3coSW5saW5lTGF5b3V0VW5pdCBleHRyYUhvcml6b250YWxTcGFjZSk7CiAK
ICAgICBjb25zdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgZm9ybWF0dGluZ0NvbnRleHQoKSBj
b25zdDsKIApAQCAtMjAxLDYgKzIxMywyNiBAQCBpbmxpbmUgdm9pZCBMaW5lOjpSdW46OnNldE5l
ZWRzSHlwaGVuKElubGluZUxheW91dFVuaXQgaHlwaGVuTG9naWNhbFdpZHRoKQogICAgIG1fbG9n
aWNhbFdpZHRoICs9IGh5cGhlbkxvZ2ljYWxXaWR0aDsKIH0KIAoraW5saW5lIGJvb2wgTGluZTo6
UnVuOjppc092ZXJmbG93V2hpdGVzcGFjZUhhbmdpbmcoKSBjb25zdAoreworICAgIHJldHVybiBt
X3N0eWxlLmlzT3ZlcmZsb3dXaGl0ZXNwYWNlSGFuZ2luZzsKK30KKworaW5saW5lIFRleHREaXJl
Y3Rpb24gTGluZTo6UnVuOjppbmxpbmVEaXJlY3Rpb24oKSBjb25zdAoreworICAgIHJldHVybiBt
X3N0eWxlLmlubGluZURpcmVjdGlvbjsKK30KKworaW5saW5lIElubGluZUxheW91dFVuaXQgTGlu
ZTo6UnVuOjpsZXR0ZXJTcGFjaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zdHlsZS5sZXR0
ZXJTcGFjaW5nOworfQorCitpbmxpbmUgYm9vbCBMaW5lOjpSdW46Omhhc1RleHRDb21iaW5lKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gbV9zdHlsZS5oYXNUZXh0Q29tYmluZTsKK30KKwogfQogfQog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHAKaW5k
ZXggZmE0MjZmYTIxMmQzMDAxZTAzNDVkODIxYzhjZmJmMjlkNWM4MmQzYS4uNzA1YTEyOWRkMWNh
YTA2YTI1OGM2NTZjMzU4NTQ1Y2MwNjE1NjhkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lu
bGluZUxpbmVCb3hCdWlsZGVyLmNwcApAQCAtNTMsNyArNTMsNyBAQCBzdGF0aWMgSW5saW5lTGF5
b3V0VW5pdCBoYW5naW5nR2x5cGhXaWR0aChJbmxpbmVMYXlvdXRVbml0IGV4dHJhSG9yaXpvbnRh
bFNwYWNlLAogICAgICAgICBpZiAoIXJ1bi5oYXNUcmFpbGluZ1doaXRlc3BhY2UoKSkKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGEgcHJlc2VydmVkIG9y
IGh1bmcgd2hpdGVzcGFjZS4KLSAgICAgICAgaWYgKHJ1bi5zdHlsZSgpLndoaXRlU3BhY2UoKSAh
PSBXaGl0ZVNwYWNlOjpQcmVXcmFwKQorICAgICAgICBpZiAoIXJ1bi5pc092ZXJmbG93V2hpdGVz
cGFjZUhhbmdpbmcoKSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAvLyBUaGlzIGlzIGVp
dGhlciBhIG5vcm1hbCBvciBjb25kaXRpb25hbGx5IGhhbmdpbmcgdHJhaWxpbmcgd2hpdGVzcGFj
ZS4KICAgICAgICAgaGFuZ2luZ1dpZHRoICs9IHJ1bi50cmFpbGluZ1doaXRlc3BhY2VXaWR0aCgp
OwpAQCAtMzU5LDcgKzM1OSw3IEBAIElubGluZUxheW91dFVuaXQgTGluZUJveEJ1aWxkZXI6OmNv
bnN0cnVjdEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBsaW5lCiAgICAgICAgIGlm
IChydW4uaXNUZXh0KCkpIHsKICAgICAgICAgICAgIGF1dG8mIHBhcmVudElubGluZUJveCA9IGxp
bmVCb3guaW5saW5lTGV2ZWxCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94LnBhcmVudCgpKTsKICAg
ICAgICAgICAgIHBhcmVudElubGluZUJveC5zZXRIYXNDb250ZW50KCk7Ci0gICAgICAgICAgICBh
dXRvIGZhbGxiYWNrRm9udHMgPSBUZXh0VXRpbDo6ZmFsbGJhY2tGb250c0ZvclJ1bihydW4pOwor
ICAgICAgICAgICAgYXV0byBmYWxsYmFja0ZvbnRzID0gVGV4dFV0aWw6OmZhbGxiYWNrRm9udHNG
b3JSdW4ocnVuLCBzdHlsZSk7CiAgICAgICAgICAgICBpZiAoIWZhbGxiYWNrRm9udHMuaXNFbXB0
eSgpKSB7CiAgICAgICAgICAgICAgICAgLy8gQWRqdXN0IG5vbi1lbXB0eSBpbmxpbmUgYm94IGhl
aWdodCB3aGVuIGdseXBocyBmcm9tIHRoZSBub24tcHJpbWFyeSBmb250IHN0cmV0Y2ggdGhlIGJv
eC4KICAgICAgICAgICAgICAgICBhZGp1c3RWZXJ0aWNhbEdlb21ldHJ5Rm9ySW5saW5lQm94V2l0
aEZhbGxiYWNrRm9udHMocGFyZW50SW5saW5lQm94LCBmYWxsYmFja0ZvbnRzKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQv
VGV4dFV0aWwuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvdGV4dC9UZXh0VXRpbC5jcHAKaW5kZXggZjk3MzAyNTlhZDU2M2E1OWMzYTBhOTBlOTEw
MzBlNTE0MGJlNjBiYy4uYzc4OWZiMGEwNjUxZmNmMzYwNTllMjUwYTYwYTU5MjA5MWZiNWYzNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvdGV4dC9UZXh0VXRpbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvdGV4dC9UZXh0VXRpbC5jcHAKQEAgLTExMCw3ICsxMTAsNyBAQCBz
dGF0aWMgdm9pZCBmYWxsYmFja0ZvbnRzRm9yUnVuV2l0aEl0ZXJhdG9yKEhhc2hTZXQ8Y29uc3Qg
Rm9udCo+JiBmYWxsYmFja0ZvbnRzLAogICAgIH0KIH0KIAotVGV4dFV0aWw6OkZhbGxiYWNrRm9u
dExpc3QgVGV4dFV0aWw6OmZhbGxiYWNrRm9udHNGb3JSdW4oY29uc3QgTGluZTo6UnVuJiBydW4p
CitUZXh0VXRpbDo6RmFsbGJhY2tGb250TGlzdCBUZXh0VXRpbDo6ZmFsbGJhY2tGb250c0ZvclJ1
bihjb25zdCBMaW5lOjpSdW4mIHJ1biwgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKQogewogICAg
IEFTU0VSVChydW4uaXNUZXh0KCkpOwogICAgIGF1dG8mIGlubGluZVRleHRCb3ggPSBkb3duY2Fz
dDxJbmxpbmVUZXh0Qm94PihydW4ubGF5b3V0Qm94KCkpOwpAQCAtMTE5LDcgKzExOSw2IEBAIFRl
eHRVdGlsOjpGYWxsYmFja0ZvbnRMaXN0IFRleHRVdGlsOjpmYWxsYmFja0ZvbnRzRm9yUnVuKGNv
bnN0IExpbmU6OlJ1biYgcnVuKQogICAgICAgICByZXR1cm4geyB9OwogICAgIH0KIAotICAgIGF1
dG8mIHN0eWxlID0gcnVuLnN0eWxlKCk7CiAgICAgVGV4dFV0aWw6OkZhbGxiYWNrRm9udExpc3Qg
ZmFsbGJhY2tGb250czsKIAogICAgIGF1dG8gY29sbGVjdEZhbGxiYWNrRm9udHMgPSBbJl0oY29u
c3QgYXV0byYgdGV4dFJ1bikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvdGV4dC9UZXh0VXRpbC5oIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvdGV4dC9UZXh0VXRpbC5oCmluZGV4IDNi
N2QwNWZmZjg1NmUyYzJiYTYxMDQ3NDJmOTk2ODBkODVlZWY2NWEuLjBlZThlZmU2N2Y0MDUzMjQ1
OGFiNDI2ZmEzYjU3ODVmZWFlYjA2NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL3RleHQvVGV4dFV0aWwuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS90ZXh0L1RleHRVdGlsLmgK
QEAgLTQ5LDcgKzQ5LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBJbmxpbmVMYXlvdXRVbml0IHdp
ZHRoKGNvbnN0IElubGluZVRleHRCb3gmLCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCB0bywgSW5s
aW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbExlZnQpOwogCiAgICAgdXNpbmcgRmFsbGJhY2tG
b250TGlzdCA9IEhhc2hTZXQ8Y29uc3QgRm9udCo+OwotICAgIHN0YXRpYyBGYWxsYmFja0ZvbnRM
aXN0IGZhbGxiYWNrRm9udHNGb3JSdW4oY29uc3QgTGluZTo6UnVuJik7CisgICAgc3RhdGljIEZh
bGxiYWNrRm9udExpc3QgZmFsbGJhY2tGb250c0ZvclJ1bihjb25zdCBMaW5lOjpSdW4mLCBjb25z
dCBSZW5kZXJTdHlsZSYpOwogCiAgICAgc3RydWN0IE1pZFdvcmRCcmVhayB7CiAgICAgICAgIHNp
emVfdCBzdGFydCB7IDAgfTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>