<?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>199608</bug_id>
          
          <creation_ts>2019-07-08 20:28:18 -0700</creation_ts>
          <short_desc>[LFC][IFC] Remove InlineItem references from inline runs.</short_desc>
          <delta_ts>2019-07-09 08:29:39 -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>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1551136</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-07-08 20:28:18 -0700</bug_when>
    <thetext>runs should not need InlineItems anymore. While processing the inline content, the inline run construction should the point when we stop using InlineItems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551137</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-08 20:28:40 -0700</bug_when>
    <thetext>&lt;rdar://problem/52812775&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551144</commentid>
    <comment_count>2</comment_count>
      <attachid>373697</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-07-08 20:35:10 -0700</bug_when>
    <thetext>Created attachment 373697
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551233</commentid>
    <comment_count>3</comment_count>
      <attachid>373697</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-09 08:29:38 -0700</bug_when>
    <thetext>Comment on attachment 373697
Patch

Clearing flags on attachment: 373697

Committed r247257: &lt;https://trac.webkit.org/changeset/247257&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551234</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-09 08:29:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373697</attachid>
            <date>2019-07-08 20:35:10 -0700</date>
            <delta_ts>2019-07-09 08:29:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199608-20190708203502.patch</filename>
            <type>text/plain</type>
            <size>22337</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTEyYjgwNTMwNWYxYzU4
ZGQ4MzNiZGM5NGVkYmJmZjI3ZWZiZWU4ZS4uZDQxY2M5NzNkYWJhYjFkNzk4MzgzZGMyODI1NmY2
YjBjNDY2NjZkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE5LTA3LTA4ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBSZW1vdmUg
SW5saW5lSXRlbSByZWZlcmVuY2VzIGZyb20gaW5saW5lIHJ1bnMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk2MDgKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzUyODEyNzc1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIENvbnN0cnVjdGluZyB0aGUgaW5saW5lIHJ1bnMgaXMgd2hlcmUgd2Ugc3RvcCB1
c2luZyBJbmxpbmVJdGVtcyBpbiB0aGUgcHJvY2VzcyBvZiBwcm9jZXNzaW5nIHRoZSBpbmxpbmUg
Y29udGVudC4KKyAgICAgICAgSW5saW5lSXRlbXMgYXJlIHJlZHVuZGFudCBpbiB0aGUgY29udGV4
dCBvZiBEaXNwbGF5OjpSdW5zLgorICAgICAgICBJdCBhbHNvIGVuYWJsZXMgdXMgdG8gY3JlYXRl
IHRlbXBvcmFyeSBJbmxpbmVJdGVtcyB0byBwcm9jZXNzIHNwbGl0IGNvbnRlbnQuICAKKworICAg
ICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0TGlu
ZUxheW91dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdD
b250ZXh0OjpMaW5lTGF5b3V0OjpjcmVhdGVEaXNwbGF5UnVucyBjb25zdCk6CisgICAgICAgICog
bGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6UXVp
cmtzOjpsaW5lRGVzY2VudE5lZWRzQ29sbGFwc2luZyk6CisgICAgICAgICogbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lTGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Okxp
bmU6OkNvbnRlbnQ6OlJ1bjo6UnVuKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6
aXNWaXN1YWxseUVtcHR5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6
Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpyZW1vdmVUcmFpbGluZ1Ry
aW1tYWJsZUNvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjp0cmFpbGlu
Z1RyaW1tYWJsZVdpZHRoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6
YXBwZW5kTm9uQnJlYWthYmxlU3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5l
OjphcHBlbmRUZXh0Q29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OmFw
cGVuZE5vblJlcGxhY2VkSW5saW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGlu
ZTo6YXBwZW5kSGFyZExpbmVCcmVhayk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRp
bmcvSW5saW5lTGluZS5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpDb250ZW50
OjpSdW46OmxheW91dEJveCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6
OkNvbnRlbnQ6OlJ1bjo6bG9naWNhbFJlY3QgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpMaW5lOjpDb250ZW50OjpSdW46OnRleHRDb250ZXh0IGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6TGluZTo6Q29udGVudDo6UnVuOjp0eXBlIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6TGluZTo6Q29udGVudDo6UnVuOjppc1RleHQgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpDb250ZW50OjpSdW46OmlzQm94IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6Q29udGVudDo6UnVuOjppc0xpbmVCcmVh
ayBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6OkNvbnRlbnQ6OlJ1bjo6
aXNDb250YWluZXJTdGFydCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmU6
OkNvbnRlbnQ6OlJ1bjo6aXNDb250YWluZXJFbmQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0OjpMaW5lOjpDb250ZW50OjpSdW46OmFkanVzdExvZ2ljYWxUb3ApOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpMaW5lOjpDb250ZW50OjpSdW46Om1vdmVWZXJ0aWNhbGx5KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6Q29udGVudDo6UnVuOjptb3ZlSG9yaXpvbnRh
bGx5KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZTo6Q29udGVudDo6UnVuOjpzZXRU
ZXh0SXNDb2xsYXBzZWQpOgorCiAyMDE5LTA3LTA3ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBJbnRyb2R1Y2Ugc3BsaXRQb3NpdGlvbiB0byBM
aW5lTGF5b3V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0
dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dExpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRMaW5lTGF5
b3V0LmNwcAppbmRleCBjMGZmYTE2YTUxMGY5OGE5NTliNGFhYjdmZmYzMjUwNmY3YjJkYzk0Li45
MWU1OTk3OTYxZjk3ZDEzZDIyMzhjZjMwYWI0ZDM3N2QxNDBmZjljIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4
dExpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0TGluZUxheW91dC5jcHAKQEAgLTMxNywxMyArMzE3
LDExIEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OkxpbmVMYXlvdXQ6OmNyZWF0ZURp
c3BsYXlSdW5zKGNvbnN0IExpbmU6OkNvbnRlbnQmCiAgICAgYXV0byYgbGluZVJ1bnMgPSBsaW5l
Q29udGVudC5ydW5zKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpbmRleCA9IDA7IGluZGV4IDwgbGlu
ZVJ1bnMuc2l6ZSgpOyArK2luZGV4KSB7CiAgICAgICAgIGF1dG8mIGxpbmVSdW4gPSBsaW5lUnVu
cy5hdChpbmRleCk7Ci0KLSAgICAgICAgYXV0byYgaW5saW5lSXRlbSA9IGxpbmVSdW4tPmlubGlu
ZUl0ZW07Ci0gICAgICAgIGF1dG8mIGxvZ2ljYWxSZWN0ID0gbGluZVJ1bi0+bG9naWNhbFJlY3Q7
Ci0gICAgICAgIGF1dG8mIGxheW91dEJveCA9IGlubGluZUl0ZW0ubGF5b3V0Qm94KCk7CisgICAg
ICAgIGF1dG8mIGxvZ2ljYWxSZWN0ID0gbGluZVJ1bi0+bG9naWNhbFJlY3QoKTsKKyAgICAgICAg
YXV0byYgbGF5b3V0Qm94ID0gbGluZVJ1bi0+bGF5b3V0Qm94KCk7CiAgICAgICAgIGF1dG8mIGRp
c3BsYXlCb3ggPSBsYXlvdXRTdGF0ZSgpLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94
KTsKIAotICAgICAgICBpZiAoaW5saW5lSXRlbS5pc0hhcmRMaW5lQnJlYWsoKSkgeworICAgICAg
ICBpZiAobGluZVJ1bi0+aXNMaW5lQnJlYWsoKSkgewogICAgICAgICAgICAgZGlzcGxheUJveC5z
ZXRUb3BMZWZ0KGxvZ2ljYWxSZWN0LnRvcExlZnQoKSk7CiAgICAgICAgICAgICBkaXNwbGF5Qm94
LnNldENvbnRlbnRCb3hXaWR0aChsb2dpY2FsUmVjdC53aWR0aCgpKTsKICAgICAgICAgICAgIGRp
c3BsYXlCb3guc2V0Q29udGVudEJveEhlaWdodChsb2dpY2FsUmVjdC5oZWlnaHQoKSk7CkBAIC0z
MzIsNyArMzMwLDcgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6TGluZUxheW91dDo6
Y3JlYXRlRGlzcGxheVJ1bnMoY29uc3QgTGluZTo6Q29udGVudCYKICAgICAgICAgfQogCiAgICAg
ICAgIC8vIElubGluZSBsZXZlbCBib3ggKHJlcGxhY2VkIG9yIGlubGluZS1ibG9jaykKLSAgICAg
ICAgaWYgKGlubGluZUl0ZW0uaXNCb3goKSkgeworICAgICAgICBpZiAobGluZVJ1bi0+aXNCb3go
KSkgewogICAgICAgICAgICAgYXV0byB0b3BMZWZ0ID0gbG9naWNhbFJlY3QudG9wTGVmdCgpOwog
ICAgICAgICAgICAgaWYgKGxheW91dEJveC5pc0luRmxvd1Bvc2l0aW9uZWQoKSkKICAgICAgICAg
ICAgICAgICB0b3BMZWZ0ICs9IEdlb21ldHJ5OjppbkZsb3dQb3NpdGlvbmVkUG9zaXRpb25PZmZz
ZXQobGF5b3V0U3RhdGUoKSwgbGF5b3V0Qm94KTsKQEAgLTM0MywxNCArMzQxLDE0IEBAIHZvaWQg
SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OkxpbmVMYXlvdXQ6OmNyZWF0ZURpc3BsYXlSdW5zKGNv
bnN0IExpbmU6OkNvbnRlbnQmCiAgICAgICAgIH0KIAogICAgICAgICAvLyBJbmxpbmUgbGV2ZWwg
Y29udGFpbmVyIHN0YXJ0ICg8c3Bhbj4pCi0gICAgICAgIGlmIChpbmxpbmVJdGVtLmlzQ29udGFp
bmVyU3RhcnQoKSkgeworICAgICAgICBpZiAobGluZVJ1bi0+aXNDb250YWluZXJTdGFydCgpKSB7
CiAgICAgICAgICAgICBkaXNwbGF5Qm94LnNldFRvcExlZnQobG9naWNhbFJlY3QudG9wTGVmdCgp
KTsKICAgICAgICAgICAgIGxpbmVCb3hSZWN0LmV4cGFuZEhvcml6b250YWxseShsb2dpY2FsUmVj
dC53aWR0aCgpKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKICAgICAgICAg
Ly8gSW5saW5lIGxldmVsIGNvbnRhaW5lciBlbmQgKDwvc3Bhbj4pCi0gICAgICAgIGlmIChpbmxp
bmVJdGVtLmlzQ29udGFpbmVyRW5kKCkpIHsKKyAgICAgICAgaWYgKGxpbmVSdW4tPmlzQ29udGFp
bmVyRW5kKCkpIHsKICAgICAgICAgICAgIGlmIChsYXlvdXRCb3guaXNJbkZsb3dQb3NpdGlvbmVk
KCkpIHsKICAgICAgICAgICAgICAgICBhdXRvIGluZmxvd09mZnNldCA9IEdlb21ldHJ5OjppbkZs
b3dQb3NpdGlvbmVkUG9zaXRpb25PZmZzZXQobGF5b3V0U3RhdGUoKSwgbGF5b3V0Qm94KTsKICAg
ICAgICAgICAgICAgICBkaXNwbGF5Qm94Lm1vdmVIb3Jpem9udGFsbHkoaW5mbG93T2Zmc2V0Lndp
ZHRoKCkpOwpAQCAtMzY2LDI4ICszNjQsMjkgQEAgdm9pZCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4
dDo6TGluZUxheW91dDo6Y3JlYXRlRGlzcGxheVJ1bnMoY29uc3QgTGluZTo6Q29udGVudCYKICAg
ICAgICAgfQogCiAgICAgICAgIC8vIFRleHQgY29udGVudC4gVHJ5IHRvIGpvaW4gbXVsdGlwbGUg
dGV4dCBydW5zIHdoZW4gcG9zc2libGUuCi0gICAgICAgIEFTU0VSVChsaW5lUnVuLT50ZXh0Q29u
dGV4dCk7ICAgICAgICAKKyAgICAgICAgQVNTRVJUKGxpbmVSdW4tPmlzVGV4dCgpKTsKKyAgICAg
ICAgYXV0byB0ZXh0Q29udGV4dCA9IGxpbmVSdW4tPnRleHRDb250ZXh0KCk7ICAgCiAgICAgICAg
IGNvbnN0IExpbmU6OkNvbnRlbnQ6OlJ1biogcHJldmlvdXNMaW5lUnVuID0gIWluZGV4ID8gbnVs
bHB0ciA6IGxpbmVSdW5zW2luZGV4IC0gMV0uZ2V0KCk7Ci0gICAgICAgIGlmICghbGluZVJ1bi0+
aXNDb2xsYXBzZWQpIHsKLSAgICAgICAgICAgIGF1dG8gcHJldmlvdXNSdW5DYW5CZUV4dGVuZGVk
ID0gcHJldmlvdXNMaW5lUnVuID8gcHJldmlvdXNMaW5lUnVuLT5jYW5CZUV4dGVuZGVkIDogZmFs
c2U7Ci0gICAgICAgICAgICBhdXRvIHJlcXVpcmVzTmV3UnVuID0gIWluZGV4IHx8ICFwcmV2aW91
c1J1bkNhbkJlRXh0ZW5kZWQgfHwgJmxheW91dEJveCAhPSAmcHJldmlvdXNMaW5lUnVuLT5pbmxp
bmVJdGVtLmxheW91dEJveCgpOworICAgICAgICBpZiAoIXRleHRDb250ZXh0LT5pc0NvbGxhcHNl
ZCkgeworICAgICAgICAgICAgYXV0byBwcmV2aW91c1J1bkNhbkJlRXh0ZW5kZWQgPSBwcmV2aW91
c0xpbmVSdW4gJiYgcHJldmlvdXNMaW5lUnVuLT50ZXh0Q29udGV4dCgpID8gcHJldmlvdXNMaW5l
UnVuLT50ZXh0Q29udGV4dCgpLT5jYW5CZUV4dGVuZGVkIDogZmFsc2U7CisgICAgICAgICAgICBh
dXRvIHJlcXVpcmVzTmV3UnVuID0gIWluZGV4IHx8ICFwcmV2aW91c1J1bkNhbkJlRXh0ZW5kZWQg
fHwgJmxheW91dEJveCAhPSAmcHJldmlvdXNMaW5lUnVuLT5sYXlvdXRCb3goKTsKICAgICAgICAg
ICAgIGlmIChyZXF1aXJlc05ld1J1bikKLSAgICAgICAgICAgICAgICBtX2Zvcm1hdHRpbmdTdGF0
ZS5hZGRJbmxpbmVSdW4oc3RkOjptYWtlX3VuaXF1ZTxEaXNwbGF5OjpSdW4+KGxvZ2ljYWxSZWN0
LCBEaXNwbGF5OjpSdW46OlRleHRDb250ZXh0IHsgbGluZVJ1bi0+dGV4dENvbnRleHQtPnN0YXJ0
LCBsaW5lUnVuLT50ZXh0Q29udGV4dC0+bGVuZ3RoIH0pKTsKKyAgICAgICAgICAgICAgICBtX2Zv
cm1hdHRpbmdTdGF0ZS5hZGRJbmxpbmVSdW4oc3RkOjptYWtlX3VuaXF1ZTxEaXNwbGF5OjpSdW4+
KGxvZ2ljYWxSZWN0LCBEaXNwbGF5OjpSdW46OlRleHRDb250ZXh0IHsgdGV4dENvbnRleHQtPnN0
YXJ0LCB0ZXh0Q29udGV4dC0+bGVuZ3RoIH0pKTsKICAgICAgICAgICAgIGVsc2UgewogICAgICAg
ICAgICAgICAgIGF1dG8mIGxhc3REaXNwbGF5UnVuID0gbV9mb3JtYXR0aW5nU3RhdGUuaW5saW5l
UnVucygpLmxhc3QoKTsKICAgICAgICAgICAgICAgICBsYXN0RGlzcGxheVJ1bi0+ZXhwYW5kSG9y
aXpvbnRhbGx5KGxvZ2ljYWxSZWN0LndpZHRoKCkpOwotICAgICAgICAgICAgICAgIGxhc3REaXNw
bGF5UnVuLT50ZXh0Q29udGV4dCgpLT5leHBhbmQobGluZVJ1bi0+dGV4dENvbnRleHQtPmxlbmd0
aCk7CisgICAgICAgICAgICAgICAgbGFzdERpc3BsYXlSdW4tPnRleHRDb250ZXh0KCktPmV4cGFu
ZCh0ZXh0Q29udGV4dC0+bGVuZ3RoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGxpbmVC
b3hSZWN0LmV4cGFuZEhvcml6b250YWxseShsb2dpY2FsUmVjdC53aWR0aCgpKTsKICAgICAgICAg
fQogICAgICAgICAvLyBGSVhNRSB0YWtlIGNvbnRlbnQgYnJlYWtpbmcgaW50byBhY2NvdW50IHdo
ZW4gcGFydCBvZiB0aGUgbGF5b3V0IGJveCBpcyBvbiB0aGUgcHJldmlvdXMgbGluZS4KLSAgICAg
ICAgYXV0byBmaXJzdElubGluZVJ1bkZvckxheW91dEJveCA9ICFwcmV2aW91c0xpbmVSdW4gfHwg
JnByZXZpb3VzTGluZVJ1bi0+aW5saW5lSXRlbS5sYXlvdXRCb3goKSAhPSAmbGF5b3V0Qm94Owor
ICAgICAgICBhdXRvIGZpcnN0SW5saW5lUnVuRm9yTGF5b3V0Qm94ID0gIXByZXZpb3VzTGluZVJ1
biB8fCAmcHJldmlvdXNMaW5lUnVuLT5sYXlvdXRCb3goKSAhPSAmbGF5b3V0Qm94OwogICAgICAg
ICBpZiAoZmlyc3RJbmxpbmVSdW5Gb3JMYXlvdXRCb3gpIHsKICAgICAgICAgICAgIC8vIFNldHVw
IGRpc3BsYXkgYm94IGZvciB0aGUgYXNzb2NpYXRlZCBsYXlvdXQgYm94LgogICAgICAgICAgICAg
ZGlzcGxheUJveC5zZXRUb3BMZWZ0KGxvZ2ljYWxSZWN0LnRvcExlZnQoKSk7Ci0gICAgICAgICAg
ICBkaXNwbGF5Qm94LnNldENvbnRlbnRCb3hXaWR0aChsaW5lUnVuLT5pc0NvbGxhcHNlZCA/IExh
eW91dFVuaXQoKSA6IGxvZ2ljYWxSZWN0LndpZHRoKCkpOworICAgICAgICAgICAgZGlzcGxheUJv
eC5zZXRDb250ZW50Qm94V2lkdGgodGV4dENvbnRleHQtPmlzQ29sbGFwc2VkID8gTGF5b3V0VW5p
dCgpIDogbG9naWNhbFJlY3Qud2lkdGgoKSk7CiAgICAgICAgICAgICBkaXNwbGF5Qm94LnNldENv
bnRlbnRCb3hIZWlnaHQobG9naWNhbFJlY3QuaGVpZ2h0KCkpOwotICAgICAgICB9IGVsc2UgaWYg
KCFsaW5lUnVuLT5pc0NvbGxhcHNlZCkgeworICAgICAgICB9IGVsc2UgaWYgKCF0ZXh0Q29udGV4
dC0+aXNDb2xsYXBzZWQpIHsKICAgICAgICAgICAgIC8vIEZJWE1FIGZpeCBpdCBmb3IgbXVsdGly
dW4vbXVsdGlsaW5lLgogICAgICAgICAgICAgZGlzcGxheUJveC5zZXRDb250ZW50Qm94V2lkdGgo
ZGlzcGxheUJveC5jb250ZW50Qm94V2lkdGgoKSArIGxvZ2ljYWxSZWN0LndpZHRoKCkpOwogICAg
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAKaW5k
ZXggYzJhNzkwMzkxMGM3N2MyOTIxZDgxZjExYzAzMzY2ZTc2YTAwMThhMS4uOWQyZThhYjYwYzc5
MzEyYzQzM2JmNjdiMzdhMGQwZDUyNTE3MGJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0UXVpcmtzLmNwcApAQCAtNDQsMTkgKzQ0LDE5IEBAIGJvb2wgSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6bGluZURlc2NlbnROZWVkc0NvbGxhcHNpbmcoY29uc3Qg
TGF5b3V0U3RhCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGZvciAoYXV0byYgcnVuIDog
bGluZUNvbnRlbnQucnVucygpKSB7Ci0gICAgICAgIGF1dG8mIGlubGluZUl0ZW0gPSBydW4tPmlu
bGluZUl0ZW07Ci0gICAgICAgIGlmIChpbmxpbmVJdGVtLnN0eWxlKCkudmVydGljYWxBbGlnbigp
ICE9IFZlcnRpY2FsQWxpZ246OkJhc2VsaW5lKQorICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBy
dW4tPmxheW91dEJveCgpOworICAgICAgICBpZiAobGF5b3V0Qm94LnN0eWxlKCkudmVydGljYWxB
bGlnbigpICE9IFZlcnRpY2FsQWxpZ246OkJhc2VsaW5lKQogICAgICAgICAgICAgY29udGludWU7
CiAKLSAgICAgICAgc3dpdGNoIChpbmxpbmVJdGVtLnR5cGUoKSkgeworICAgICAgICBzd2l0Y2gg
KHJ1bi0+dHlwZSgpKSB7CiAgICAgICAgIGNhc2UgSW5saW5lSXRlbTo6VHlwZTo6VGV4dDoKLSAg
ICAgICAgICAgIGlmICghcnVuLT5pc0NvbGxhcHNlZCkKKyAgICAgICAgICAgIGlmICghcnVuLT50
ZXh0Q29udGV4dCgpIHx8ICFydW4tPnRleHRDb250ZXh0KCktPmlzQ29sbGFwc2VkKQogICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNl
IElubGluZUl0ZW06OlR5cGU6OkhhcmRMaW5lQnJlYWs6CiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgIGNhc2UgSW5saW5lSXRlbTo6VHlwZTo6Q29udGFpbmVyU3RhcnQ6IHsKLSAg
ICAgICAgICAgIGF1dG8mIGRpc3BsYXlCb3ggPSBsYXlvdXRTdGF0ZS5kaXNwbGF5Qm94Rm9yTGF5
b3V0Qm94KGlubGluZUl0ZW0ubGF5b3V0Qm94KCkpOworICAgICAgICAgICAgYXV0byYgZGlzcGxh
eUJveCA9IGxheW91dFN0YXRlLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94KTsKICAg
ICAgICAgICAgIGlmIChkaXNwbGF5Qm94Lmhvcml6b250YWxCb3JkZXIoKSB8fCAoZGlzcGxheUJv
eC5ob3Jpem9udGFsUGFkZGluZygpICYmIGRpc3BsYXlCb3guaG9yaXpvbnRhbFBhZGRpbmcoKS52
YWx1ZSgpKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBicmVh
azsKQEAgLTY0LDcgKzY0LDYgQEAgYm9vbCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtz
OjpsaW5lRGVzY2VudE5lZWRzQ29sbGFwc2luZyhjb25zdCBMYXlvdXRTdGEKICAgICAgICAgY2Fz
ZSBJbmxpbmVJdGVtOjpUeXBlOjpDb250YWluZXJFbmQ6CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgY2FzZSBJbmxpbmVJdGVtOjpUeXBlOjpCb3g6IHsKLSAgICAgICAgICAgIGF1dG8mIGxh
eW91dEJveCA9IGlubGluZUl0ZW0ubGF5b3V0Qm94KCk7CiAgICAgICAgICAgICBpZiAobGF5b3V0
Qm94LmlzSW5saW5lQmxvY2tCb3goKSAmJiBsYXlvdXRCb3guZXN0YWJsaXNoZXNJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dCgpKSB7CiAgICAgICAgICAgICAgICAgYXV0byYgZm9ybWF0dGluZ1N0YXRl
ID0gZG93bmNhc3Q8SW5saW5lRm9ybWF0dGluZ1N0YXRlPihsYXlvdXRTdGF0ZS5lc3RhYmxpc2hl
ZEZvcm1hdHRpbmdTdGF0ZShsYXlvdXRCb3gpKTsKICAgICAgICAgICAgICAgICBBU1NFUlQoIWZv
cm1hdHRpbmdTdGF0ZS5saW5lQm94ZXMoKS5pc0VtcHR5KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmNwcAppbmRleCA2NDVh
NDdkZTAyZWUzNjBkZmJhMGMxYTM1NWI2NTEzM2ExMGU4ODM0Li5lODZjYjc1ZDNlYzYzN2MxNDY2
MmFiMGZlMzdjYzg2NTI3MWE4NzAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmNwcApAQCAtMzUsMTIgKzM1LDE4IEBAIG5h
bWVzcGFjZSBMYXlvdXQgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoTGluZSk7CiAK
LUxpbmU6OkNvbnRlbnQ6OlJ1bjo6UnVuKGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0sIGNv
bnN0IERpc3BsYXk6OlJlY3QmIGxvZ2ljYWxSZWN0LCBUZXh0Q29udGV4dCB0ZXh0Q29udGV4dCwg
Ym9vbCBpc0NvbGxhcHNlZCwgYm9vbCBjYW5CZUV4dGVuZGVkKQotICAgIDogaW5saW5lSXRlbShp
bmxpbmVJdGVtKQotICAgICwgbG9naWNhbFJlY3QobG9naWNhbFJlY3QpCi0gICAgLCB0ZXh0Q29u
dGV4dCh0ZXh0Q29udGV4dCkKLSAgICAsIGlzQ29sbGFwc2VkKGlzQ29sbGFwc2VkKQotICAgICwg
Y2FuQmVFeHRlbmRlZChjYW5CZUV4dGVuZGVkKQorTGluZTo6Q29udGVudDo6UnVuOjpSdW4oY29u
c3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbSwgY29uc3QgRGlzcGxheTo6UmVjdCYgbG9naWNhbFJl
Y3QpCisgICAgOiBtX2xheW91dEJveChpbmxpbmVJdGVtLmxheW91dEJveCgpKQorICAgICwgbV90
eXBlKGlubGluZUl0ZW0udHlwZSgpKQorICAgICwgbV9sb2dpY2FsUmVjdChsb2dpY2FsUmVjdCkK
K3sKK30KKworTGluZTo6Q29udGVudDo6UnVuOjpSdW4oY29uc3QgSW5saW5lSXRlbSYgaW5saW5l
SXRlbSwgY29uc3QgVGV4dENvbnRleHQmIHRleHRDb250ZXh0LCBjb25zdCBEaXNwbGF5OjpSZWN0
JiBsb2dpY2FsUmVjdCkKKyAgICA6IG1fbGF5b3V0Qm94KGlubGluZUl0ZW0ubGF5b3V0Qm94KCkp
CisgICAgLCBtX3R5cGUoaW5saW5lSXRlbS50eXBlKCkpCisgICAgLCBtX2xvZ2ljYWxSZWN0KGxv
Z2ljYWxSZWN0KQorICAgICwgbV90ZXh0Q29udGV4dCh0ZXh0Q29udGV4dCkKIHsKIH0KIApAQCAt
NjgsMjMgKzc0LDIzIEBAIGJvb2wgTGluZTo6aXNWaXN1YWxseUVtcHR5KCkgY29uc3QKICAgICAv
LyBGSVhNRTogVGhpcyBzaG91bGQgYmUgY2FjaGVkIGluc3RlYWQgLWFzIHRoZSBpbmxpbmUgaXRl
bXMgYXJlIGJlaW5nIGFkZGVkLgogICAgIC8vIFJldHVybiB0cnVlIGZvciBlbXB0eSBpbmxpbmUg
Y29udGFpbmVycyBsaWtlIDxzcGFuPjwvc3Bhbj4uCiAgICAgZm9yIChhdXRvJiBydW4gOiBtX2Nv
bnRlbnQtPnJ1bnMoKSkgewotICAgICAgICBpZiAocnVuLT5pbmxpbmVJdGVtLmlzQ29udGFpbmVy
U3RhcnQoKSkgewotICAgICAgICAgICAgaWYgKCFpc0lubGluZUNvbnRhaW5lckNvbnNpZGVyZWRF
bXB0eShtX2xheW91dFN0YXRlLCBydW4tPmlubGluZUl0ZW0ubGF5b3V0Qm94KCkpKQorICAgICAg
ICBpZiAocnVuLT5pc0NvbnRhaW5lclN0YXJ0KCkpIHsKKyAgICAgICAgICAgIGlmICghaXNJbmxp
bmVDb250YWluZXJDb25zaWRlcmVkRW1wdHkobV9sYXlvdXRTdGF0ZSwgcnVuLT5sYXlvdXRCb3go
KSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgY29udGludWU7
CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHJ1bi0+aW5saW5lSXRlbS5pc0NvbnRhaW5lckVuZCgp
KQorICAgICAgICBpZiAocnVuLT5pc0NvbnRhaW5lckVuZCgpKQogICAgICAgICAgICAgY29udGlu
dWU7Ci0gICAgICAgIGlmIChydW4tPmlubGluZUl0ZW0ubGF5b3V0Qm94KCkuZXN0YWJsaXNoZXNG
b3JtYXR0aW5nQ29udGV4dCgpKSB7Ci0gICAgICAgICAgICBBU1NFUlQocnVuLT5pbmxpbmVJdGVt
LmxheW91dEJveCgpLmlzSW5saW5lQmxvY2tCb3goKSk7Ci0gICAgICAgICAgICBhdXRvJiBkaXNw
bGF5Qm94ID0gbV9sYXlvdXRTdGF0ZS5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KHJ1bi0+aW5saW5l
SXRlbS5sYXlvdXRCb3goKSk7CisgICAgICAgIGlmIChydW4tPmxheW91dEJveCgpLmVzdGFibGlz
aGVzRm9ybWF0dGluZ0NvbnRleHQoKSkgeworICAgICAgICAgICAgQVNTRVJUKHJ1bi0+bGF5b3V0
Qm94KCkuaXNJbmxpbmVCbG9ja0JveCgpKTsKKyAgICAgICAgICAgIGF1dG8mIGRpc3BsYXlCb3gg
PSBtX2xheW91dFN0YXRlLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3gocnVuLT5sYXlvdXRCb3goKSk7
CiAgICAgICAgICAgICBpZiAoIWRpc3BsYXlCb3gud2lkdGgoKSkKICAgICAgICAgICAgICAgICBj
b250aW51ZTsKICAgICAgICAgICAgIGlmIChtX3NraXBWZXJ0aWNhbEFsaWdtZW50IHx8IGRpc3Bs
YXlCb3guaGVpZ2h0KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAg
ICAgY29udGludWU7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKCFydW4tPmlzQ29sbGFwc2VkKQor
ICAgICAgICBpZiAoIXJ1bi0+dGV4dENvbnRleHQoKSB8fCAhcnVuLT50ZXh0Q29udGV4dCgpLT5p
c0NvbGxhcHNlZCkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAgICAgcmV0dXJu
IHRydWU7CkBAIC0xMDgsMTYgKzExNCwxNSBAQCBzdGQ6OnVuaXF1ZV9wdHI8TGluZTo6Q29udGVu
dD4gTGluZTo6Y2xvc2UoKQogCiAgICAgICAgIGZvciAoYXV0byYgcnVuIDogbV9jb250ZW50LT5y
dW5zKCkpIHsKICAgICAgICAgICAgIExheW91dFVuaXQgbG9naWNhbFRvcDsKLSAgICAgICAgICAg
IGF1dG8mIGlubGluZUl0ZW0gPSBydW4tPmlubGluZUl0ZW07Ci0gICAgICAgICAgICBhdXRvJiBs
YXlvdXRCb3ggPSBpbmxpbmVJdGVtLmxheW91dEJveCgpOwotICAgICAgICAgICAgYXV0byB2ZXJ0
aWNhbEFsaWduID0gaW5saW5lSXRlbS5zdHlsZSgpLnZlcnRpY2FsQWxpZ24oKTsKLSAgICAgICAg
ICAgIGF1dG8gYXNjZW50ID0gaW5saW5lSXRlbS5zdHlsZSgpLmZvbnRNZXRyaWNzKCkuYXNjZW50
KCk7CisgICAgICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBydW4tPmxheW91dEJveCgpOworICAg
ICAgICAgICAgYXV0byB2ZXJ0aWNhbEFsaWduID0gbGF5b3V0Qm94LnN0eWxlKCkudmVydGljYWxB
bGlnbigpOworICAgICAgICAgICAgYXV0byBhc2NlbnQgPSBsYXlvdXRCb3guc3R5bGUoKS5mb250
TWV0cmljcygpLmFzY2VudCgpOwogCiAgICAgICAgICAgICBzd2l0Y2ggKHZlcnRpY2FsQWxpZ24p
IHsKICAgICAgICAgICAgIGNhc2UgVmVydGljYWxBbGlnbjo6QmFzZWxpbmU6Ci0gICAgICAgICAg
ICAgICAgaWYgKGlubGluZUl0ZW0uaXNMaW5lQnJlYWsoKSB8fCBpbmxpbmVJdGVtLmlzVGV4dCgp
KQorICAgICAgICAgICAgICAgIGlmIChydW4tPmlzTGluZUJyZWFrKCkgfHwgcnVuLT5pc1RleHQo
KSkKICAgICAgICAgICAgICAgICAgICAgbG9naWNhbFRvcCA9IGJhc2VsaW5lT2Zmc2V0KCkgLSBh
c2NlbnQ7Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAoaW5saW5lSXRlbS5pc0NvbnRhaW5lclN0
YXJ0KCkpIHsKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChydW4tPmlzQ29udGFpbmVyU3RhcnQo
KSkgewogICAgICAgICAgICAgICAgICAgICBhdXRvJiBkaXNwbGF5Qm94ID0gbV9sYXlvdXRTdGF0
ZS5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KGxheW91dEJveCk7CiAgICAgICAgICAgICAgICAgICAg
IGxvZ2ljYWxUb3AgPSBiYXNlbGluZU9mZnNldCgpIC0gYXNjZW50IC0gZGlzcGxheUJveC5ib3Jk
ZXJUb3AoKSAtIGRpc3BsYXlCb3gucGFkZGluZ1RvcCgpLnZhbHVlT3IoMCk7CiAgICAgICAgICAg
ICAgICAgfSBlbHNlIGlmIChsYXlvdXRCb3guaXNJbmxpbmVCbG9ja0JveCgpICYmIGxheW91dEJv
eC5lc3RhYmxpc2hlc0lubGluZUZvcm1hdHRpbmdDb250ZXh0KCkpIHsKQEAgLTEyNywyMiArMTMy
LDIyIEBAIHN0ZDo6dW5pcXVlX3B0cjxMaW5lOjpDb250ZW50PiBMaW5lOjpjbG9zZSgpCiAgICAg
ICAgICAgICAgICAgICAgIGF1dG8gaW5saW5lQmxvY2tCYXNlbGluZSA9IGZvcm1hdHRpbmdTdGF0
ZS5saW5lQm94ZXMoKS5sYXN0KCkuYmFzZWxpbmUoKTsKICAgICAgICAgICAgICAgICAgICAgbG9n
aWNhbFRvcCA9IGJhc2VsaW5lT2Zmc2V0KCkgLSBpbmxpbmVCbG9ja0Jhc2VsaW5lLmFzY2VudDsK
ICAgICAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgbG9naWNhbFRvcCA9
IGJhc2VsaW5lT2Zmc2V0KCkgLSBydW4tPmxvZ2ljYWxSZWN0LmhlaWdodCgpOworICAgICAgICAg
ICAgICAgICAgICBsb2dpY2FsVG9wID0gYmFzZWxpbmVPZmZzZXQoKSAtIHJ1bi0+bG9naWNhbFJl
Y3QoKS5oZWlnaHQoKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2Ug
VmVydGljYWxBbGlnbjo6VG9wOgogICAgICAgICAgICAgICAgIGxvZ2ljYWxUb3AgPSB7IH07CiAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIFZlcnRpY2FsQWxpZ246OkJv
dHRvbToKLSAgICAgICAgICAgICAgICBsb2dpY2FsVG9wID0gbG9naWNhbEJvdHRvbSgpIC0gcnVu
LT5sb2dpY2FsUmVjdC5oZWlnaHQoKTsKKyAgICAgICAgICAgICAgICBsb2dpY2FsVG9wID0gbG9n
aWNhbEJvdHRvbSgpIC0gcnVuLT5sb2dpY2FsUmVjdCgpLmhlaWdodCgpOwogICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBBU1NFUlRf
Tk9UX0lNUExFTUVOVEVEX1lFVCgpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgfQotICAgICAgICAgICAgcnVuLT5sb2dpY2FsUmVjdC5zZXRUb3AobG9naWNhbFRvcCk7Cisg
ICAgICAgICAgICBydW4tPmFkanVzdExvZ2ljYWxUb3AobG9naWNhbFRvcCk7CiAgICAgICAgICAg
ICAvLyBDb252ZXJ0IHJ1bnMgZnJvbSByZWxhdGl2ZSB0byB0aGUgbGluZSB0b3AvbGVmdCB0byB0
aGUgZm9ybWF0dGluZyByb290J3MgYm9yZGVyIGJveCB0b3AvbGVmdC4KLSAgICAgICAgICAgIHJ1
bi0+bG9naWNhbFJlY3QubW92ZVZlcnRpY2FsbHkodGhpcy0+bG9naWNhbFRvcCgpKTsKLSAgICAg
ICAgICAgIHJ1bi0+bG9naWNhbFJlY3QubW92ZUhvcml6b250YWxseSh0aGlzLT5sb2dpY2FsTGVm
dCgpKTsKKyAgICAgICAgICAgIHJ1bi0+bW92ZVZlcnRpY2FsbHkodGhpcy0+bG9naWNhbFRvcCgp
KTsKKyAgICAgICAgICAgIHJ1bi0+bW92ZUhvcml6b250YWxseSh0aGlzLT5sb2dpY2FsTGVmdCgp
KTsKICAgICAgICAgfQogICAgIH0KICAgICBtX2NvbnRlbnQtPnNldExvZ2ljYWxSZWN0KHsgbG9n
aWNhbFRvcCgpLCBsb2dpY2FsTGVmdCgpLCBjb250ZW50TG9naWNhbFdpZHRoKCksIGxvZ2ljYWxI
ZWlnaHQoKSB9KTsKQEAgLTE1Niw4ICsxNjEsOSBAQCB2b2lkIExpbmU6OnJlbW92ZVRyYWlsaW5n
VHJpbW1hYmxlQ29udGVudCgpCiAgICAgLy8gQ29sbGFwc2UgdHJpbW1hYmxlIHRyYWlsaW5nIGNv
bnRlbnQKICAgICBMYXlvdXRVbml0IHRyaW1tYWJsZVdpZHRoOwogICAgIGZvciAoYXV0byogdHJp
bW1hYmxlUnVuIDogbV90cmltbWFibGVDb250ZW50KSB7Ci0gICAgICAgIHRyaW1tYWJsZVJ1bi0+
aXNDb2xsYXBzZWQgPSB0cnVlOwotICAgICAgICB0cmltbWFibGVXaWR0aCArPSB0cmltbWFibGVS
dW4tPmxvZ2ljYWxSZWN0LndpZHRoKCk7CisgICAgICAgIEFTU0VSVCh0cmltbWFibGVSdW4tPmlz
VGV4dCgpKTsKKyAgICAgICAgdHJpbW1hYmxlUnVuLT5zZXRUZXh0SXNDb2xsYXBzZWQoKTsKKyAg
ICAgICAgdHJpbW1hYmxlV2lkdGggKz0gdHJpbW1hYmxlUnVuLT5sb2dpY2FsUmVjdCgpLndpZHRo
KCk7CiAgICAgfQogICAgIG1fY29udGVudExvZ2ljYWxXaWR0aCAtPSB0cmltbWFibGVXaWR0aDsK
IH0KQEAgLTE4Miw4ICsxODgsOCBAQCBMYXlvdXRVbml0IExpbmU6OnRyYWlsaW5nVHJpbW1hYmxl
V2lkdGgoKSBjb25zdAogewogICAgIExheW91dFVuaXQgdHJpbW1hYmxlV2lkdGg7CiAgICAgZm9y
IChhdXRvKiB0cmltbWFibGVSdW4gOiBtX3RyaW1tYWJsZUNvbnRlbnQpIHsKLSAgICAgICAgQVNT
RVJUKCF0cmltbWFibGVSdW4tPmlzQ29sbGFwc2VkKTsKLSAgICAgICAgdHJpbW1hYmxlV2lkdGgg
Kz0gdHJpbW1hYmxlUnVuLT5sb2dpY2FsUmVjdC53aWR0aCgpOworICAgICAgICBBU1NFUlQoIXRy
aW1tYWJsZVJ1bi0+dGV4dENvbnRleHQoKS0+aXNDb2xsYXBzZWQpOworICAgICAgICB0cmltbWFi
bGVXaWR0aCArPSB0cmltbWFibGVSdW4tPmxvZ2ljYWxSZWN0KCkud2lkdGgoKTsKICAgICB9CiAg
ICAgcmV0dXJuIHRyaW1tYWJsZVdpZHRoOwogfQpAQCAtMjA1LDcgKzIxMSw3IEBAIHZvaWQgTGlu
ZTo6YXBwZW5kKGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0sIExheW91dFVuaXQgbG9naWNh
bFdpZHRoKQogCiB2b2lkIExpbmU6OmFwcGVuZE5vbkJyZWFrYWJsZVNwYWNlKGNvbnN0IElubGlu
ZUl0ZW0mIGlubGluZUl0ZW0sIGNvbnN0IERpc3BsYXk6OlJlY3QmIGxvZ2ljYWxSZWN0KQogewot
ICAgIG1fY29udGVudC0+cnVucygpLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPENvbnRlbnQ6OlJ1
bj4oaW5saW5lSXRlbSwgbG9naWNhbFJlY3QsIENvbnRlbnQ6OlJ1bjo6VGV4dENvbnRleHQgeyB9
LCBmYWxzZSwgZmFsc2UpKTsKKyAgICBtX2NvbnRlbnQtPnJ1bnMoKS5hcHBlbmQoc3RkOjptYWtl
X3VuaXF1ZTxDb250ZW50OjpSdW4+KGlubGluZUl0ZW0sIGxvZ2ljYWxSZWN0KSk7CiAgICAgbV9j
b250ZW50TG9naWNhbFdpZHRoICs9IGxvZ2ljYWxSZWN0LndpZHRoKCk7CiB9CiAKQEAgLTI1MCwx
MiArMjU2LDEyIEBAIHZvaWQgTGluZTo6YXBwZW5kVGV4dENvbnRlbnQoY29uc3QgSW5saW5lVGV4
dEl0ZW0mIGlubGluZUl0ZW0sIExheW91dFVuaXQgbG9naWNhCiAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGxhc3QgaXRlbSBpcyB0cmltbWFibGUgYXMg
d2VsbC4KICAgICAgICAgZm9yIChpbnQgaW5kZXggPSBydW5zLnNpemUoKSAtIDE7IGluZGV4ID49
IDA7IC0taW5kZXgpIHsKLSAgICAgICAgICAgIGF1dG8mIGlubGluZUl0ZW0gPSBydW5zW2luZGV4
XS0+aW5saW5lSXRlbTsKLSAgICAgICAgICAgIGlmIChpbmxpbmVJdGVtLmlzQm94KCkpCisgICAg
ICAgICAgICBhdXRvJiBydW4gPSBydW5zW2luZGV4XTsKKyAgICAgICAgICAgIGlmIChydW4tPmlz
Qm94KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgaWYgKGlu
bGluZUl0ZW0uaXNUZXh0KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFRleHRVdGlsOjppc1Ry
aW1tYWJsZUNvbnRlbnQoaW5saW5lSXRlbSk7Ci0gICAgICAgICAgICBBU1NFUlQoaW5saW5lSXRl
bS5pc0NvbnRhaW5lclN0YXJ0KCkgfHwgaW5saW5lSXRlbS5pc0NvbnRhaW5lckVuZCgpKTsKKyAg
ICAgICAgICAgIGlmIChydW4tPmlzVGV4dCgpKQorICAgICAgICAgICAgICAgIHJldHVybiBydW4t
PnRleHRDb250ZXh0KCktPmlzV2hpdGVzcGFjZSAmJiBydW4tPmxheW91dEJveCgpLnN0eWxlKCku
Y29sbGFwc2VXaGl0ZVNwYWNlKCk7CisgICAgICAgICAgICBBU1NFUlQocnVuLT5pc0NvbnRhaW5l
clN0YXJ0KCkgfHwgcnVuLT5pc0NvbnRhaW5lckVuZCgpKTsKICAgICAgICAgfQogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICB9OwpAQCAtMjczLDggKzI3OSw4IEBAIHZvaWQgTGluZTo6YXBwZW5k
VGV4dENvbnRlbnQoY29uc3QgSW5saW5lVGV4dEl0ZW0mIGlubGluZUl0ZW0sIExheW91dFVuaXQg
bG9naWNhCiAgICAgICAgIGFkanVzdEJhc2VsaW5lQW5kTGluZUhlaWdodChpbmxpbmVJdGVtLCBy
dW5IZWlnaHQpOwogICAgIH0KIAotICAgIGF1dG8gdGV4dENvbnRleHQgPSBDb250ZW50OjpSdW46
OlRleHRDb250ZXh0IHsgaW5saW5lSXRlbS5zdGFydCgpLCBpbmxpbmVJdGVtLmlzQ29sbGFwc2Vk
KCkgPyAxIDogaW5saW5lSXRlbS5sZW5ndGgoKSB9OwotICAgIGF1dG8gbGluZUl0ZW0gPSBzdGQ6
Om1ha2VfdW5pcXVlPENvbnRlbnQ6OlJ1bj4oaW5saW5lSXRlbSwgbG9naWNhbFJlY3QsIHRleHRD
b250ZXh0LCBpc0NvbXBsZXRlbHlDb2xsYXBzZWQsIGNhbkJlRXh0ZW5kZWQpOworICAgIGF1dG8g
dGV4dENvbnRleHQgPSBDb250ZW50OjpSdW46OlRleHRDb250ZXh0IHsgaW5saW5lSXRlbS5zdGFy
dCgpLCBpbmxpbmVJdGVtLmlzQ29sbGFwc2VkKCkgPyAxIDogaW5saW5lSXRlbS5sZW5ndGgoKSwg
aXNDb21wbGV0ZWx5Q29sbGFwc2VkLCBjYW5CZUV4dGVuZGVkLCBpbmxpbmVJdGVtLmlzV2hpdGVz
cGFjZSgpIH07CisgICAgYXV0byBsaW5lSXRlbSA9IHN0ZDo6bWFrZV91bmlxdWU8Q29udGVudDo6
UnVuPihpbmxpbmVJdGVtLCB0ZXh0Q29udGV4dCwgbG9naWNhbFJlY3QpOwogICAgIGlmIChpc1Ry
aW1tYWJsZSAmJiAhaXNDb21wbGV0ZWx5Q29sbGFwc2VkKQogICAgICAgICBtX3RyaW1tYWJsZUNv
bnRlbnQuYWRkKGxpbmVJdGVtLmdldCgpKTsKIApAQCAtMjk1LDcgKzMwMSw3IEBAIHZvaWQgTGlu
ZTo6YXBwZW5kTm9uUmVwbGFjZWRJbmxpbmVCb3goY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRl
bSwgTGF5b3V0VW5pdCBsCiAgICAgICAgIGxvZ2ljYWxSZWN0LnNldEhlaWdodChpbmxpbmVJdGVt
Q29udGVudEhlaWdodChpbmxpbmVJdGVtKSk7CiAgICAgfQogCi0gICAgbV9jb250ZW50LT5ydW5z
KCkuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8Q29udGVudDo6UnVuPihpbmxpbmVJdGVtLCBsb2dp
Y2FsUmVjdCwgQ29udGVudDo6UnVuOjpUZXh0Q29udGV4dCB7IH0sIGZhbHNlLCBmYWxzZSkpOwor
ICAgIG1fY29udGVudC0+cnVucygpLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPENvbnRlbnQ6OlJ1
bj4oaW5saW5lSXRlbSwgbG9naWNhbFJlY3QpKTsKICAgICBtX2NvbnRlbnRMb2dpY2FsV2lkdGgg
Kz0gKGxvZ2ljYWxXaWR0aCArIGhvcml6b250YWxNYXJnaW4uc3RhcnQgKyBob3Jpem9udGFsTWFy
Z2luLmVuZCk7CiAgICAgbV90cmltbWFibGVDb250ZW50LmNsZWFyKCk7CiB9CkBAIC0zMTUsNyAr
MzIxLDcgQEAgdm9pZCBMaW5lOjphcHBlbmRIYXJkTGluZUJyZWFrKGNvbnN0IElubGluZUl0ZW0m
IGlubGluZUl0ZW0pCiAgICAgICAgIGFkanVzdEJhc2VsaW5lQW5kTGluZUhlaWdodChpbmxpbmVJ
dGVtLCB7IH0pOwogICAgICAgICBsb2dpY2FsUmVjdC5zZXRIZWlnaHQobG9naWNhbEhlaWdodCgp
KTsKICAgICB9Ci0gICAgbV9jb250ZW50LT5ydW5zKCkuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8
Q29udGVudDo6UnVuPihpbmxpbmVJdGVtLCBsb2dpY2FsUmVjdCwgQ29udGVudDo6UnVuOjpUZXh0
Q29udGV4dCB7IH0sIGZhbHNlLCBmYWxzZSkpOworICAgIG1fY29udGVudC0+cnVucygpLmFwcGVu
ZChzdGQ6Om1ha2VfdW5pcXVlPENvbnRlbnQ6OlJ1bj4oaW5saW5lSXRlbSwgbG9naWNhbFJlY3Qp
KTsKIH0KIAogdm9pZCBMaW5lOjphZGp1c3RCYXNlbGluZUFuZExpbmVIZWlnaHQoY29uc3QgSW5s
aW5lSXRlbSYgaW5saW5lSXRlbSwgTGF5b3V0VW5pdCBydW5IZWlnaHQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lLmgKaW5kZXggY2I2
OWFiYjI1NzQ4YmZkMWFhYTUxZDViZDk3ZGZjZDU4YjQzODk1MC4uNGY2ZjMwYjQ2YjE0YmJmNjQ2
NjEzYjhhODcyMTEzNmIzMjg2MWQ1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmUuaApAQCAtNTcsMTUgKzU3LDM1IEBAIHB1Ymxp
YzoKICAgICAgICAgICAgIHN0cnVjdCBUZXh0Q29udGV4dCB7CiAgICAgICAgICAgICAgICAgdW5z
aWduZWQgc3RhcnQgeyAwIH07CiAgICAgICAgICAgICAgICAgdW5zaWduZWQgbGVuZ3RoIHsgMCB9
OworICAgICAgICAgICAgICAgIGJvb2wgaXNDb2xsYXBzZWQgeyBmYWxzZSB9OworICAgICAgICAg
ICAgICAgIGJvb2wgaXNXaGl0ZXNwYWNlIHsgZmFsc2UgfTsKKyAgICAgICAgICAgICAgICBib29s
IGNhbkJlRXh0ZW5kZWQgeyBmYWxzZSB9OwogICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIFJ1
bihjb25zdCBJbmxpbmVJdGVtJiwgY29uc3QgRGlzcGxheTo6UmVjdCYsIFRleHRDb250ZXh0LCBi
b29sIGlzQ29sbGFwc2VkLCBib29sIGNhbkJlRXh0ZW5kZWQpOwotCi0gICAgICAgICAgICBjb25z
dCBJbmxpbmVJdGVtJiBpbmxpbmVJdGVtOwotICAgICAgICAgICAgRGlzcGxheTo6UmVjdCBsb2dp
Y2FsUmVjdDsKLSAgICAgICAgICAgIExheW91dFVuaXQgYmFzZWxpbmU7Ci0gICAgICAgICAgICBP
cHRpb25hbDxUZXh0Q29udGV4dD4gdGV4dENvbnRleHQ7Ci0gICAgICAgICAgICBib29sIGlzQ29s
bGFwc2VkIHsgZmFsc2UgfTsKLSAgICAgICAgICAgIGJvb2wgY2FuQmVFeHRlbmRlZCB7IGZhbHNl
IH07CisgICAgICAgICAgICBSdW4oY29uc3QgSW5saW5lSXRlbSYsIGNvbnN0IERpc3BsYXk6OlJl
Y3QmKTsKKyAgICAgICAgICAgIFJ1bihjb25zdCBJbmxpbmVJdGVtJiwgY29uc3QgVGV4dENvbnRl
eHQmLCBjb25zdCBEaXNwbGF5OjpSZWN0Jik7CisKKyAgICAgICAgICAgIGNvbnN0IEJveCYgbGF5
b3V0Qm94KCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRCb3g7IH0KKyAgICAgICAgICAgIGNvbnN0
IERpc3BsYXk6OlJlY3QmIGxvZ2ljYWxSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9sb2dpY2FsUmVj
dDsgfQorICAgICAgICAgICAgY29uc3QgT3B0aW9uYWw8VGV4dENvbnRleHQ+IHRleHRDb250ZXh0
KCkgY29uc3QgeyByZXR1cm4gbV90ZXh0Q29udGV4dDsgfQorICAgICAgICAgICAgSW5saW5lSXRl
bTo6VHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CisKKyAgICAgICAgICAgIGJv
b2wgaXNUZXh0KCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IElubGluZUl0ZW06OlR5cGU6OlRl
eHQ7IH0KKyAgICAgICAgICAgIGJvb2wgaXNCb3goKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0g
SW5saW5lSXRlbTo6VHlwZTo6Qm94OyB9CisgICAgICAgICAgICBib29sIGlzTGluZUJyZWFrKCkg
Y29uc3QgeyByZXR1cm4gbV90eXBlID09IElubGluZUl0ZW06OlR5cGU6OkhhcmRMaW5lQnJlYWs7
IH0KKyAgICAgICAgICAgIGJvb2wgaXNDb250YWluZXJTdGFydCgpIGNvbnN0IHsgcmV0dXJuIG1f
dHlwZSA9PSBJbmxpbmVJdGVtOjpUeXBlOjpDb250YWluZXJTdGFydDsgfQorICAgICAgICAgICAg
Ym9vbCBpc0NvbnRhaW5lckVuZCgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBJbmxpbmVJdGVt
OjpUeXBlOjpDb250YWluZXJFbmQ7IH0KKworICAgICAgICBwcml2YXRlOgorICAgICAgICAgICAg
ZnJpZW5kIGNsYXNzIExpbmU7CisgICAgICAgICAgICB2b2lkIGFkanVzdExvZ2ljYWxUb3AoTGF5
b3V0VW5pdCBsb2dpY2FsVG9wKSB7IG1fbG9naWNhbFJlY3Quc2V0VG9wKGxvZ2ljYWxUb3ApOyB9
CisgICAgICAgICAgICB2b2lkIG1vdmVWZXJ0aWNhbGx5KExheW91dFVuaXQgb2Zmc2V0KSB7IG1f
bG9naWNhbFJlY3QubW92ZVZlcnRpY2FsbHkob2Zmc2V0KTsgfQorICAgICAgICAgICAgdm9pZCBt
b3ZlSG9yaXpvbnRhbGx5KExheW91dFVuaXQgb2Zmc2V0KSB7IG1fbG9naWNhbFJlY3QubW92ZUhv
cml6b250YWxseShvZmZzZXQpOyB9CisgICAgICAgICAgICB2b2lkIHNldFRleHRJc0NvbGxhcHNl
ZCgpIHsgbV90ZXh0Q29udGV4dC0+aXNDb2xsYXBzZWQgPSB0cnVlOyB9CisKKyAgICAgICAgICAg
IGNvbnN0IEJveCYgbV9sYXlvdXRCb3g7CisgICAgICAgICAgICBjb25zdCBJbmxpbmVJdGVtOjpU
eXBlIG1fdHlwZTsKKyAgICAgICAgICAgIERpc3BsYXk6OlJlY3QgbV9sb2dpY2FsUmVjdDsKKyAg
ICAgICAgICAgIE9wdGlvbmFsPFRleHRDb250ZXh0PiBtX3RleHRDb250ZXh0OwogICAgICAgICB9
OwogICAgICAgICB1c2luZyBSdW5zID0gVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxSdW4+PjsKICAg
ICAgICAgY29uc3QgUnVucyYgcnVucygpIGNvbnN0IHsgcmV0dXJuIG1fcnVuczsgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>