<?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>207707</bug_id>
          
          <creation_ts>2020-02-13 10:10:31 -0800</creation_ts>
          <short_desc>[LFC][IFC] LineBreaker should not hold on to the lastWrapOpportunity inline item</short_desc>
          <delta_ts>2020-02-13 11:05:35 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>1618559</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-02-13 10:10:31 -0800</bug_when>
    <thetext>it just needs a bit indicating that there&apos;s a previous wrapping opportunity on the line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618562</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-13 10:10:50 -0800</bug_when>
    <thetext>&lt;rdar://problem/59427376&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618570</commentid>
    <comment_count>2</comment_count>
      <attachid>390663</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-13 10:16:18 -0800</bug_when>
    <thetext>Created attachment 390663
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618598</commentid>
    <comment_count>3</comment_count>
      <attachid>390663</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-13 11:05:33 -0800</bug_when>
    <thetext>Comment on attachment 390663
Patch

Clearing flags on attachment: 390663

Committed r256524: &lt;https://trac.webkit.org/changeset/256524&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618599</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-13 11:05:35 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390663</attachid>
            <date>2020-02-13 10:16:18 -0800</date>
            <delta_ts>2020-02-13 11:05:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207707-20200213101617.patch</filename>
            <type>text/plain</type>
            <size>17791</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2NTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOThjY2E3NTQ5OWViMzM4
MzAxMjc5NjlmZDM4MmUxOWE5OTM3N2Q5OC4uY2UxMDlkZDJhY2I0ZDUxOTlkZGM1Y2JiZDk1ZDMz
NzhjYzJmOTBhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTAyLTEzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSUZDXSBMaW5lQnJl
YWtlciBzaG91bGQgbm90IGhvbGQgb24gdG8gdGhlIGxhc3RXcmFwT3Bwb3J0dW5pdHkgaW5saW5l
IGl0ZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
NzcwNworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTk0MjczNzY+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGluZUJyZWFrZXIgb25seSBuZWVkcyBh
IGZsYWcgaW5kaWNhdGluZyB0aGF0IHRoZXJlJ3MgYSB3cmFwcGluZyBvcHBvcnR1bml0eSBvbiB0
aGUgbGluZS4KKyAgICAgICAgTGluZUxheW91dENvbnRleHQgbmVlZHMgdG8ga25vdyB3aGF0IHRo
ZSBwb3NpdGlvbiBpcyAoYXMgYW4gSW5saW5lSXRlbSkgc28gdGhhdCBpdCBjb3VsZCBpbml0aWF0
ZSBhIHJldmVydCBpZiBuZWVkZWQuCisKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVMaW5lQnJlYWtlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVC
cmVha2VyOjpzaG91bGRXcmFwSW5saW5lQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkxpbmVCcmVha2VyOjp0cnlXcmFwcGluZ0lubGluZUNvbnRlbnQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnJlYWtlcjo6d29yZEJyZWFrQmVoYXZpb3IgY29uc3Qp
OgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCcmVha2VyLmg6
CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRleHQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lTGF5b3V0Q29udGV4dDo6bGF5b3V0TGlu
ZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVMYXlvdXRDb250ZXh0Ojp0cnlBZGRp
bmdGbG9hdEl0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lTGF5b3V0Q29udGV4
dDo6dHJ5QWRkaW5nSW5saW5lSXRlbXMpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5l
TGF5b3V0Q29udGV4dDo6cmVidWlsZExpbmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpM
aW5lTGF5b3V0Q29udGV4dDo6cmVidWlsZExpbmVGb3JSZXZlcnQpOiBEZWxldGVkLgorICAgICAg
ICAqIGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0Lmg6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVMYXlvdXRDb250ZXh0OjpJbmxpbmVJdGVtUmFuZ2U6OnNp
emUgY29uc3QpOgorCiAyMDIwLTAyLTEzICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+
CiAKICAgICAgICAgW0xGQ11bSUZDXSBMaW5lQ2FuZGlkYXRlQ29udGVudCBjYW4gaGF2ZSBvbmx5
IG9uZSBmbG9hdCBpdGVtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5l
Zm9ybWF0dGluZy9JbmxpbmVMaW5lQnJlYWtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnJlYWtlci5jcHAKaW5kZXggZDRjMDA0Y2JmMWEw
YTI1YmVkZWVjMzE5YjI5ODQ1MTVkOWZkZjQxNS4uOWU4YzJjOWFiYmI1MjBiYTY5MmNhZDAxY2Zl
NmVjOWRiNzFmODhmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZv
cm1hdHRpbmcvSW5saW5lTGluZUJyZWFrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCcmVha2VyLmNwcApAQCAtMTM5LDkgKzEzOSwx
MSBAQCBMaW5lQnJlYWtlcjo6UmVzdWx0IExpbmVCcmVha2VyOjpzaG91bGRXcmFwSW5saW5lQ29u
dGVudChjb25zdCBSdW5MaXN0JiBjYW5kaWRhdAogICAgICAgICAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICAgICAgICAgICAgICByZXR1cm4gc2hvdWxkS2VlcEJlZ2lubmluZ09mTGluZVdo
aXRlc3BhY2UoY2FuZGlkYXRlSXRlbS5zdHlsZSgpKTsKICAgICAgICAgICAgIH07Ci0gICAgICAg
ICAgICBhdXRvJiBpbmxpbmVJdGVtID0gY2FuZGlkYXRlUnVuc1sqbGFzdExpbmVXcmFwT3Bwb3J0
dW5pdHlJbmRleF0uaW5saW5lSXRlbTsKLSAgICAgICAgICAgIGlmIChpc0VsaWdpYmxlTGluZVdy
YXBPcHBvcnR1bml0eShpbmxpbmVJdGVtKSkKLSAgICAgICAgICAgICAgICBtX2xhc3RXcmFwT3Bw
b3J0dW5pdHkgPSAmaW5saW5lSXRlbTsKKyAgICAgICAgICAgIGF1dG8mIGxhc3RXcmFwT3Bwb3J0
dW5pdHlDYW5kaWRhdGVJdGVtID0gY2FuZGlkYXRlUnVuc1sqbGFzdExpbmVXcmFwT3Bwb3J0dW5p
dHlJbmRleF0uaW5saW5lSXRlbTsKKyAgICAgICAgICAgIGlmIChpc0VsaWdpYmxlTGluZVdyYXBP
cHBvcnR1bml0eShsYXN0V3JhcE9wcG9ydHVuaXR5Q2FuZGlkYXRlSXRlbSkpIHsKKyAgICAgICAg
ICAgICAgICByZXN1bHQubGFzdFdyYXBPcHBvcnR1bml0eUl0ZW0gPSAmbGFzdFdyYXBPcHBvcnR1
bml0eUNhbmRpZGF0ZUl0ZW07CisgICAgICAgICAgICAgICAgbV9oYXNXcmFwT3Bwb3J0dW5pdHlB
dFByZXZpb3VzUG9zaXRpb24gPSB0cnVlOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAg
fQogICAgIHJldHVybiByZXN1bHQ7CkBAIC0yMDAsMTQgKzIwMiwxNCBAQCBMaW5lQnJlYWtlcjo6
UmVzdWx0IExpbmVCcmVha2VyOjp0cnlXcmFwcGluZ0lubGluZUNvbnRlbnQoY29uc3QgUnVuTGlz
dCYgY2FuZGlkYQogICAgIH0KICAgICAvLyBJZiB3ZSBhcmUgbm90IGFsbG93ZWQgdG8gYnJlYWsg
dGhpcyBvdmVyZmxvd2luZyBjb250ZW50LCB3ZSBzdGlsbCBuZWVkIHRvIGRlY2lkZSB3aGV0aGVy
IGtlZXAgaXQgb3IgcHVzaCBpdCB0byB0aGUgbmV4dCBsaW5lLgogICAgIGlmIChsaW5lU3RhdHVz
LmxpbmVJc0VtcHR5KSB7Ci0gICAgICAgIEFTU0VSVCghbV9sYXN0V3JhcE9wcG9ydHVuaXR5KTsK
KyAgICAgICAgQVNTRVJUKCFtX2hhc1dyYXBPcHBvcnR1bml0eUF0UHJldmlvdXNQb3NpdGlvbik7
CiAgICAgICAgIHJldHVybiB7IFJlc3VsdDo6QWN0aW9uOjpLZWVwLCBJc0VuZE9mTGluZTo6Tm8g
fTsKICAgICB9CiAgICAgLy8gTm93IGVpdGhlciB3cmFwIGhlcmUgb3IgYXQgYW4gZWFybGllciBw
b3NpdGlvbiwgb3Igbm90IHdyYXAgYXQgYWxsLgogICAgIGlmIChpc0NvbnRlbnRXcmFwcGluZ0Fs
bG93ZWQoY2FuZGlkYXRlQ29udGVudCkpCiAgICAgICAgIHJldHVybiB7IFJlc3VsdDo6QWN0aW9u
OjpQdXNoLCBJc0VuZE9mTGluZTo6WWVzIH07Ci0gICAgaWYgKG1fbGFzdFdyYXBPcHBvcnR1bml0
eSkKLSAgICAgICAgcmV0dXJuIHsgUmVzdWx0OjpBY3Rpb246OlJldmVydCwgSXNFbmRPZkxpbmU6
OlllcywgeyB9LCBtX2xhc3RXcmFwT3Bwb3J0dW5pdHkgfTsKKyAgICBpZiAobV9oYXNXcmFwT3Bw
b3J0dW5pdHlBdFByZXZpb3VzUG9zaXRpb24pCisgICAgICAgIHJldHVybiB7IFJlc3VsdDo6QWN0
aW9uOjpSZXZlcnRUb0xhc3RXcmFwT3Bwb3J0dW5pdHksIElzRW5kT2ZMaW5lOjpZZXMgfTsKICAg
ICByZXR1cm4geyBSZXN1bHQ6OkFjdGlvbjo6S2VlcCwgSXNFbmRPZkxpbmU6Ok5vIH07CiB9CiAK
QEAgLTI4NiwxMCArMjg4LDEwIEBAIExpbmVCcmVha2VyOjpXb3JkQnJlYWtSdWxlIExpbmVCcmVh
a2VyOjp3b3JkQnJlYWtCZWhhdmlvcihjb25zdCBSZW5kZXJTdHlsZSYgc3R5CiAgICAgICAgIHJl
dHVybiBXb3JkQnJlYWtSdWxlOjpOb0JyZWFrOwogICAgIC8vIEZvciBjb21wYXRpYmlsaXR5IHdp
dGggbGVnYWN5IGNvbnRlbnQsIHRoZSB3b3JkLWJyZWFrIHByb3BlcnR5IGFsc28gc3VwcG9ydHMg
YSBkZXByZWNhdGVkIGJyZWFrLXdvcmQga2V5d29yZC4KICAgICAvLyBXaGVuIHNwZWNpZmllZCwg
dGhpcyBoYXMgdGhlIHNhbWUgZWZmZWN0IGFzIHdvcmQtYnJlYWs6IG5vcm1hbCBhbmQgb3ZlcmZs
b3ctd3JhcDogYW55d2hlcmUsIHJlZ2FyZGxlc3Mgb2YgdGhlIGFjdHVhbCB2YWx1ZSBvZiB0aGUg
b3ZlcmZsb3ctd3JhcCBwcm9wZXJ0eS4KLSAgICBpZiAoc3R5bGUud29yZEJyZWFrKCkgPT0gV29y
ZEJyZWFrOjpCcmVha1dvcmQgJiYgIW1fbGFzdFdyYXBPcHBvcnR1bml0eSkKKyAgICBpZiAoc3R5
bGUud29yZEJyZWFrKCkgPT0gV29yZEJyZWFrOjpCcmVha1dvcmQgJiYgIW1faGFzV3JhcE9wcG9y
dHVuaXR5QXRQcmV2aW91c1Bvc2l0aW9uKQogICAgICAgICByZXR1cm4gV29yZEJyZWFrUnVsZTo6
QXRBcmJpdHJhcnlQb3NpdGlvbjsKICAgICAvLyBPdmVyZmxvd1dyYXA6OkJyZWFrOiBBbiBvdGhl
cndpc2UgdW5icmVha2FibGUgc2VxdWVuY2Ugb2YgY2hhcmFjdGVycyBtYXkgYmUgYnJva2VuIGF0
IGFuIGFyYml0cmFyeSBwb2ludCBpZiB0aGVyZSBhcmUgbm8gb3RoZXJ3aXNlLWFjY2VwdGFibGUg
YnJlYWsgcG9pbnRzIGluIHRoZSBsaW5lLgotICAgIGlmIChzdHlsZS5vdmVyZmxvd1dyYXAoKSA9
PSBPdmVyZmxvd1dyYXA6OkJyZWFrICYmICFtX2xhc3RXcmFwT3Bwb3J0dW5pdHkpCisgICAgaWYg
KHN0eWxlLm92ZXJmbG93V3JhcCgpID09IE92ZXJmbG93V3JhcDo6QnJlYWsgJiYgIW1faGFzV3Jh
cE9wcG9ydHVuaXR5QXRQcmV2aW91c1Bvc2l0aW9uKQogICAgICAgICByZXR1cm4gV29yZEJyZWFr
UnVsZTo6QXRBcmJpdHJhcnlQb3NpdGlvbjsKIAogICAgIGlmICghbl9oeXBoZW5hdGlvbklzRGlz
YWJsZWQgJiYgc3R5bGUuaHlwaGVucygpID09IEh5cGhlbnM6OkF1dG8gJiYgY2FuSHlwaGVuYXRl
KHN0eWxlLmxvY2FsZSgpKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUxpbmVCcmVha2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnJlYWtlci5oCmluZGV4IGJlZGMwMzA3ZDJlZDgz
YTU5ZTVhYzI3MDE5MWZhYjM4NDhiMzljMTQuLmZkMzIxMDkyNDc2YjFjYjMyMjM3YjExMTJkZWNj
MjRkMTBmYTI2Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0lubGluZUxpbmVCcmVha2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
bGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJyZWFrZXIuaApAQCAtNTMsNyArNTMsNyBAQCBwdWJs
aWM6CiAgICAgICAgICAgICBLZWVwLCAvLyBLZWVwIGNvbnRlbnQgb24gdGhlIGN1cnJlbnQgbGlu
ZS4KICAgICAgICAgICAgIFNwbGl0LCAvLyBQYXJ0aWFsIGNvbnRlbnQgaXMgb24gdGhlIGN1cnJl
bnQgbGluZS4KICAgICAgICAgICAgIFB1c2gsIC8vIENvbnRlbnQgaXMgcHVzaGVkIHRvIHRoZSBu
ZXh0IGxpbmUuCi0gICAgICAgICAgICBSZXZlcnQgLy8gVGhlIGN1cnJlbnQgY29udGVudCBvdmVy
Zmxvd3MgYW5kIGNhbid0IGdldCB3cmFwcGVkLiBUaGUgbGluZSBuZWVkcyB0byBiZSByZXZlcnRl
ZCBiYWNrIHRvIHRoZSBsYXN0IGxpbmUgd3JhcHBpbmcgb3Bwb3J0dW5pdHkuCisgICAgICAgICAg
ICBSZXZlcnRUb0xhc3RXcmFwT3Bwb3J0dW5pdHkgLy8gVGhlIGN1cnJlbnQgY29udGVudCBvdmVy
Zmxvd3MgYW5kIGNhbid0IGdldCB3cmFwcGVkLiBUaGUgbGluZSBuZWVkcyB0byBiZSByZXZlcnRl
ZCBiYWNrIHRvIHRoZSBsYXN0IGxpbmUgd3JhcHBpbmcgb3Bwb3J0dW5pdHkuCiAgICAgICAgIH07
CiAgICAgICAgIHN0cnVjdCBQYXJ0aWFsVHJhaWxpbmdDb250ZW50IHsKICAgICAgICAgICAgIHNp
emVfdCB0cmFpbGluZ1J1bkluZGV4IHsgMCB9OwpAQCAtNjMsNyArNjMsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIEFjdGlvbiBhY3Rpb24geyBBY3Rpb246OktlZXAgfTsKICAgICAgICAgSXNFbmRPZkxp
bmUgaXNFbmRPZkxpbmUgeyBJc0VuZE9mTGluZTo6Tm8gfTsKICAgICAgICAgT3B0aW9uYWw8UGFy
dGlhbFRyYWlsaW5nQ29udGVudD4gcGFydGlhbFRyYWlsaW5nQ29udGVudCB7IH07Ci0gICAgICAg
IGNvbnN0IElubGluZUl0ZW0qIHJldmVydFRvIHsgbnVsbHB0ciB9OworICAgICAgICBjb25zdCBJ
bmxpbmVJdGVtKiBsYXN0V3JhcE9wcG9ydHVuaXR5SXRlbSB7IG51bGxwdHIgfTsKICAgICB9Owog
CiAgICAgc3RydWN0IFJ1biB7CkBAIC0xMTEsNyArMTExLDcgQEAgcHJpdmF0ZToKICAgICBib29s
IGlzQ29udGVudFdyYXBwaW5nQWxsb3dlZChjb25zdCBDb250aW51b3VzQ29udGVudCYpIGNvbnN0
OwogCiAgICAgYm9vbCBuX2h5cGhlbmF0aW9uSXNEaXNhYmxlZCB7IGZhbHNlIH07Ci0gICAgY29u
c3QgSW5saW5lSXRlbSogbV9sYXN0V3JhcE9wcG9ydHVuaXR5IHsgbnVsbHB0ciB9OworICAgIGJv
b2wgbV9oYXNXcmFwT3Bwb3J0dW5pdHlBdFByZXZpb3VzUG9zaXRpb24geyBmYWxzZSB9OwogfTsK
IAogaW5saW5lIExpbmVCcmVha2VyOjpSdW46OlJ1bihjb25zdCBJbmxpbmVJdGVtJiBpbmxpbmVJ
dGVtLCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmNw
cAppbmRleCA1ODJkMjJiMTNlOTBiMDk1ZTE2MWY1YTA5OTAwODA5MjM0OWYxNWQ1Li5jNzM0Nzc4
MTM2NmU4N2MxYmVlYjllYjNlZTY5NDMxOWVkYTdkZDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9MaW5lTGF5b3V0Q29udGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRleHQu
Y3BwCkBAIC0yNjIsNiArMjYyLDcgQEAgTGluZUxheW91dENvbnRleHQ6OkxpbmVDb250ZW50IExp
bmVMYXlvdXRDb250ZXh0OjpsYXlvdXRMaW5lKExpbmVCdWlsZGVyJiBsaW5lLAogewogICAgIEFT
U0VSVChtX2Zsb2F0cy5pc0VtcHR5KCkpOwogICAgIG1fcGFydGlhbExlYWRpbmdUZXh0SXRlbSA9
IHsgfTsKKyAgICBtX2xhc3RXcmFwT3Bwb3J0dW5pdHlJdGVtID0geyB9OwogICAgIGF1dG8gbGlu
ZUJyZWFrZXIgPSBMaW5lQnJlYWtlciB7IH07CiAgICAgYXV0byBjdXJyZW50SXRlbUluZGV4ID0g
bGF5b3V0UmFuZ2Uuc3RhcnQ7CiAgICAgdW5zaWduZWQgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50
ID0gMDsKQEAgLTI3NSw3ICsyNzYsNyBAQCBMaW5lTGF5b3V0Q29udGV4dDo6TGluZUNvbnRlbnQg
TGluZUxheW91dENvbnRleHQ6OmxheW91dExpbmUoTGluZUJ1aWxkZXImIGxpbmUsCiAgICAgICAg
IGlmIChsaW5lQ2FuZGlkYXRlLmZsb2F0SXRlbSkgewogICAgICAgICAgICAgLy8gRmxvYXRzIHNo
cmluayB0aGUgYXZhaWxhYmxlIGhvcml6b250YWwgc3BhY2UgZm9yIHRoZSByZXN0IG9mIHRoZSBj
b250ZW50LCBidXQgdGhleSBhcmUgbm90IGFkZGVkIG9uIHRoZSBsaW5lLgogICAgICAgICAgICAg
YXV0byByZXN1bHQgPSB0cnlBZGRpbmdGbG9hdEl0ZW0obGluZSwgKmxpbmVDYW5kaWRhdGUuZmxv
YXRJdGVtKTsKLSAgICAgICAgICAgIGNvbW1pdHRlZElubGluZUl0ZW1Db3VudCArPSByZXN1bHQu
Y29tbWl0dGVkQ291bnQ7CisgICAgICAgICAgICBjb21taXR0ZWRJbmxpbmVJdGVtQ291bnQgKz0g
cmVzdWx0LmNvbW1pdHRlZENvdW50LnZhbHVlOwogICAgICAgICAgICAgaWYgKHJlc3VsdC5pc0Vu
ZE9mTGluZSA9PSBMaW5lQnJlYWtlcjo6SXNFbmRPZkxpbmU6OlllcykgewogICAgICAgICAgICAg
ICAgIC8vIFRoaXMgZmxvYXQgdGFrZXMgdXAgYWxsIHRoZSBob3Jpem9udGFsIHNwYWNlLgogICAg
ICAgICAgICAgICAgIHJldHVybiBjbG9zZShsaW5lLCBsYXlvdXRSYW5nZSwgY29tbWl0dGVkSW5s
aW5lSXRlbUNvdW50LCB7IH0pOwpAQCAtMjg1LDE0ICsyODYsOCBAQCBMaW5lTGF5b3V0Q29udGV4
dDo6TGluZUNvbnRlbnQgTGluZUxheW91dENvbnRleHQ6OmxheW91dExpbmUoTGluZUJ1aWxkZXIm
IGxpbmUsCiAgICAgICAgICAgICBhdXRvJiBpbmxpbmVDb250ZW50ID0gbGluZUNhbmRpZGF0ZS5p
bmxpbmVDb250ZW50OwogICAgICAgICAgICAgaWYgKCFpbmxpbmVDb250ZW50LnJ1bnMoKS5pc0Vt
cHR5KCkpIHsKICAgICAgICAgICAgICAgICAvLyBOb3cgY2hlY2sgaWYgd2UgY2FuIHB1dCB0aGlz
IGNvbnRlbnQgb24gdGhlIGN1cnJlbnQgbGluZS4KLSAgICAgICAgICAgICAgICBhdXRvIHJlc3Vs
dCA9IHRyeUFkZGluZ0lubGluZUl0ZW1zKGxpbmVCcmVha2VyLCBsaW5lLCBsaW5lQ2FuZGlkYXRl
KTsKLSAgICAgICAgICAgICAgICBpZiAocmVzdWx0LnJldmVydFRvKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIEFTU0VSVCghcmVzdWx0LmNvbW1pdHRlZENvdW50KTsKLSAgICAgICAgICAgICAgICAg
ICAgQVNTRVJUKHJlc3VsdC5pc0VuZE9mTGluZSA9PSBMaW5lQnJlYWtlcjo6SXNFbmRPZkxpbmU6
Olllcyk7Ci0gICAgICAgICAgICAgICAgICAgIC8vIEFuIGVhcmxpZXIgbGluZSB3cmFwcGluZyBv
cHBvcnR1bml0eSB0dXJuZWQgb3V0IHRvIGJlIHRoZSBmaW5hbCBicmVha2luZyBwb3NpdGlvbi4K
LSAgICAgICAgICAgICAgICAgICAgcmVidWlsZExpbmVGb3JSZXZlcnQobGluZSwgKnJlc3VsdC5y
ZXZlcnRUbywgbGF5b3V0UmFuZ2UpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICBjb21taXR0ZWRJbmxpbmVJdGVtQ291bnQgKz0gcmVzdWx0LmNvbW1pdHRlZENvdW50OworICAg
ICAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0gdHJ5QWRkaW5nSW5saW5lSXRlbXMobGluZUJyZWFr
ZXIsIGxpbmUsIGxheW91dFJhbmdlLCBsaW5lQ2FuZGlkYXRlKTsKKyAgICAgICAgICAgICAgICBj
b21taXR0ZWRJbmxpbmVJdGVtQ291bnQgPSByZXN1bHQuY29tbWl0dGVkQ291bnQuaXNSZXZlcnQg
PyByZXN1bHQuY29tbWl0dGVkQ291bnQudmFsdWUgOiBjb21taXR0ZWRJbmxpbmVJdGVtQ291bnQg
KyByZXN1bHQuY29tbWl0dGVkQ291bnQudmFsdWU7ICAKICAgICAgICAgICAgICAgICBpZiAocmVz
dWx0LmlzRW5kT2ZMaW5lID09IExpbmVCcmVha2VyOjpJc0VuZE9mTGluZTo6WWVzKSB7CiAgICAg
ICAgICAgICAgICAgICAgIC8vIFdlIGNhbid0IHBsYWNlIGFueSBtb3JlIGl0ZW1zIG9uIHRoZSBj
dXJyZW50IGxpbmUuCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjbG9zZShsaW5lLCBsYXlv
dXRSYW5nZSwgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50LCByZXN1bHQucGFydGlhbENvbnRlbnQp
OwpAQCAtNDAxLDEwICszOTYsMTAgQEAgTGluZUxheW91dENvbnRleHQ6OlJlc3VsdCBMaW5lTGF5
b3V0Q29udGV4dDo6dHJ5QWRkaW5nRmxvYXRJdGVtKExpbmVCdWlsZGVyJiBsaW4KICAgICBlbHNl
CiAgICAgICAgIGxpbmUubW92ZUxvZ2ljYWxSaWdodChsb2dpY2FsV2lkdGgpOwogICAgIG1fZmxv
YXRzLmFwcGVuZCgmZmxvYXRJdGVtKTsKLSAgICByZXR1cm4geyBMaW5lQnJlYWtlcjo6SXNFbmRP
ZkxpbmU6Ok5vLCAxIH07CisgICAgcmV0dXJuIHsgTGluZUJyZWFrZXI6OklzRW5kT2ZMaW5lOjpO
bywgeyAxLCBmYWxzZSB9IH07CiB9CiAKLUxpbmVMYXlvdXRDb250ZXh0OjpSZXN1bHQgTGluZUxh
eW91dENvbnRleHQ6OnRyeUFkZGluZ0lubGluZUl0ZW1zKExpbmVCcmVha2VyJiBsaW5lQnJlYWtl
ciwgTGluZUJ1aWxkZXImIGxpbmUsIGNvbnN0IExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUp
CitMaW5lTGF5b3V0Q29udGV4dDo6UmVzdWx0IExpbmVMYXlvdXRDb250ZXh0Ojp0cnlBZGRpbmdJ
bmxpbmVJdGVtcyhMaW5lQnJlYWtlciYgbGluZUJyZWFrZXIsIExpbmVCdWlsZGVyJiBsaW5lLCBj
b25zdCBJbmxpbmVJdGVtUmFuZ2UmIGxheW91dFJhbmdlLCBjb25zdCBMaW5lQ2FuZGlkYXRlJiBs
aW5lQ2FuZGlkYXRlKQogewogICAgIGF1dG8gc2hvdWxkRGlzYWJsZUh5cGhlbmF0aW9uID0gWyZd
IHsKICAgICAgICAgYXV0byYgc3R5bGUgPSByb290KCkuc3R5bGUoKTsKQEAgLTQyMCw2ICs0MTUs
OCBAQCBMaW5lTGF5b3V0Q29udGV4dDo6UmVzdWx0IExpbmVMYXlvdXRDb250ZXh0Ojp0cnlBZGRp
bmdJbmxpbmVJdGVtcyhMaW5lQnJlYWtlciYgbAogICAgIGF1dG8mIGlubGluZUNvbnRlbnQgPSBs
aW5lQ2FuZGlkYXRlLmlubGluZUNvbnRlbnQ7CiAgICAgYXV0byYgY2FuZGlkYXRlUnVucyA9IGlu
bGluZUNvbnRlbnQucnVucygpOwogICAgIGF1dG8gcmVzdWx0ID0gbGluZUJyZWFrZXIuc2hvdWxk
V3JhcElubGluZUNvbnRlbnQoY2FuZGlkYXRlUnVucywgaW5saW5lQ29udGVudC5sb2dpY2FsV2lk
dGgoKSwgbGluZVN0YXR1cyk7CisgICAgaWYgKHJlc3VsdC5sYXN0V3JhcE9wcG9ydHVuaXR5SXRl
bSkKKyAgICAgICAgbV9sYXN0V3JhcE9wcG9ydHVuaXR5SXRlbSA9IHJlc3VsdC5sYXN0V3JhcE9w
cG9ydHVuaXR5SXRlbTsKICAgICBpZiAocmVzdWx0LmFjdGlvbiA9PSBMaW5lQnJlYWtlcjo6UmVz
dWx0OjpBY3Rpb246OktlZXApIHsKICAgICAgICAgLy8gVGhpcyBjb250aW51b3VzIGNvbnRlbnQg
Y2FuIGJlIGZ1bGx5IHBsYWNlZCBvbiB0aGUgY3VycmVudCBsaW5lLgogICAgICAgICBmb3IgKGF1
dG8mIHJ1biA6IGNhbmRpZGF0ZVJ1bnMpCkBAIC00MjcsMTkgKzQyNCwyMyBAQCBMaW5lTGF5b3V0
Q29udGV4dDo6UmVzdWx0IExpbmVMYXlvdXRDb250ZXh0Ojp0cnlBZGRpbmdJbmxpbmVJdGVtcyhM
aW5lQnJlYWtlciYgbAogICAgICAgICAvLyBDb25zdW1lIHRyYWlsaW5nIGxpbmUgYnJlYWsgYXMg
d2VsbC4KICAgICAgICAgaWYgKGF1dG8qIGxpbmVCcmVha0l0ZW0gPSBpbmxpbmVDb250ZW50LnRy
YWlsaW5nTGluZUJyZWFrKCkpIHsKICAgICAgICAgICAgIGxpbmUuYXBwZW5kKCpsaW5lQnJlYWtJ
dGVtLCAwKTsKLSAgICAgICAgICAgIHJldHVybiB7IExpbmVCcmVha2VyOjpJc0VuZE9mTGluZTo6
WWVzLCBjYW5kaWRhdGVSdW5zLnNpemUoKSArIDEgfTsKKyAgICAgICAgICAgIHJldHVybiB7IExp
bmVCcmVha2VyOjpJc0VuZE9mTGluZTo6WWVzLCB7IGNhbmRpZGF0ZVJ1bnMuc2l6ZSgpICsgMSwg
ZmFsc2UgfSB9OwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiB7IHJlc3VsdC5pc0VuZE9mTGlu
ZSwgY2FuZGlkYXRlUnVucy5zaXplKCkgfTsKKyAgICAgICAgcmV0dXJuIHsgcmVzdWx0LmlzRW5k
T2ZMaW5lLCB7IGNhbmRpZGF0ZVJ1bnMuc2l6ZSgpLCBmYWxzZSB9IH07CiAgICAgfQogICAgIGlm
IChyZXN1bHQuYWN0aW9uID09IExpbmVCcmVha2VyOjpSZXN1bHQ6OkFjdGlvbjo6UHVzaCkgewor
ICAgICAgICBBU1NFUlQocmVzdWx0LmlzRW5kT2ZMaW5lID09IExpbmVCcmVha2VyOjpJc0VuZE9m
TGluZTo6WWVzKTsKICAgICAgICAgLy8gVGhpcyBjb250aW51b3VzIGNvbnRlbnQgY2FuJ3QgYmUg
cGxhY2VkIG9uIHRoZSBjdXJyZW50IGxpbmUuIE5vdGhpbmcgdG8gY29tbWl0IGF0IHRoaXMgdGlt
ZS4KICAgICAgICAgcmV0dXJuIHsgcmVzdWx0LmlzRW5kT2ZMaW5lIH07CiAgICAgfQotICAgIGlm
IChyZXN1bHQuYWN0aW9uID09IExpbmVCcmVha2VyOjpSZXN1bHQ6OkFjdGlvbjo6UmV2ZXJ0KSB7
CisgICAgaWYgKHJlc3VsdC5hY3Rpb24gPT0gTGluZUJyZWFrZXI6OlJlc3VsdDo6QWN0aW9uOjpS
ZXZlcnRUb0xhc3RXcmFwT3Bwb3J0dW5pdHkpIHsKKyAgICAgICAgQVNTRVJUKHJlc3VsdC5pc0Vu
ZE9mTGluZSA9PSBMaW5lQnJlYWtlcjo6SXNFbmRPZkxpbmU6Olllcyk7CiAgICAgICAgIC8vIE5v
dCBvbmx5IHRoaXMgY29udGVudCBjYW4ndCBiZSBwbGFjZWQgb24gdGhlIGN1cnJlbnQgbGluZSwg
YnV0IHdlIGV2ZW4gbmVlZCB0byByZXZlcnQgdGhlIGxpbmUgYmFjayB0byBhbiBlYXJsaWVyIHBv
c2l0aW9uLgotICAgICAgICByZXR1cm4geyByZXN1bHQuaXNFbmRPZkxpbmUsIDAsIHsgfSwgcmVz
dWx0LnJldmVydFRvIH07CisgICAgICAgIEFTU0VSVChtX2xhc3RXcmFwT3Bwb3J0dW5pdHlJdGVt
KTsKKyAgICAgICAgcmV0dXJuIHsgcmVzdWx0LmlzRW5kT2ZMaW5lLCB7IHJlYnVpbGRMaW5lKGxp
bmUsIGxheW91dFJhbmdlKSwgdHJ1ZSB9IH07CiAgICAgfQogICAgIGlmIChyZXN1bHQuYWN0aW9u
ID09IExpbmVCcmVha2VyOjpSZXN1bHQ6OkFjdGlvbjo6U3BsaXQpIHsKKyAgICAgICAgQVNTRVJU
KHJlc3VsdC5pc0VuZE9mTGluZSA9PSBMaW5lQnJlYWtlcjo6SXNFbmRPZkxpbmU6Olllcyk7CiAg
ICAgICAgIC8vIENvbW1pdCB0aGUgY29tYmluYXRpb24gb2YgZnVsbCBhbmQgcGFydGlhbCBjb250
ZW50IG9uIHRoZSBjdXJyZW50IGxpbmUuCiAgICAgICAgIEFTU0VSVChyZXN1bHQucGFydGlhbFRy
YWlsaW5nQ29udGVudCk7CiAgICAgICAgIGNvbW1pdFBhcnRpYWxDb250ZW50KGxpbmUsIGNhbmRp
ZGF0ZVJ1bnMsICpyZXN1bHQucGFydGlhbFRyYWlsaW5nQ29udGVudCk7CkBAIC00NDgsMTIgKzQ0
OSwxMiBAQCBMaW5lTGF5b3V0Q29udGV4dDo6UmVzdWx0IExpbmVMYXlvdXRDb250ZXh0Ojp0cnlB
ZGRpbmdJbmxpbmVJdGVtcyhMaW5lQnJlYWtlciYgbAogICAgICAgICBhdXRvIHRyYWlsaW5nUnVu
SW5kZXggPSByZXN1bHQucGFydGlhbFRyYWlsaW5nQ29udGVudC0+dHJhaWxpbmdSdW5JbmRleDsK
ICAgICAgICAgYXV0byBjb21taXR0ZWRJbmxpbmVJdGVtQ291bnQgPSB0cmFpbGluZ1J1bkluZGV4
ICsgMTsKICAgICAgICAgaWYgKCFyZXN1bHQucGFydGlhbFRyYWlsaW5nQ29udGVudC0+cGFydGlh
bFJ1bikKLSAgICAgICAgICAgIHJldHVybiB7IHJlc3VsdC5pc0VuZE9mTGluZSwgY29tbWl0dGVk
SW5saW5lSXRlbUNvdW50IH07CisgICAgICAgICAgICByZXR1cm4geyByZXN1bHQuaXNFbmRPZkxp
bmUsIHsgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50LCBmYWxzZSB9IH07CiAKICAgICAgICAgYXV0
byBwYXJ0aWFsUnVuID0gKnJlc3VsdC5wYXJ0aWFsVHJhaWxpbmdDb250ZW50LT5wYXJ0aWFsUnVu
OwogICAgICAgICBhdXRvJiB0cmFpbGluZ0lubGluZVRleHRJdGVtID0gZG93bmNhc3Q8SW5saW5l
VGV4dEl0ZW0+KGNhbmRpZGF0ZVJ1bnNbdHJhaWxpbmdSdW5JbmRleF0uaW5saW5lSXRlbSk7CiAg
ICAgICAgIGF1dG8gb3ZlcmZsb3dMZW5ndGggPSB0cmFpbGluZ0lubGluZVRleHRJdGVtLmxlbmd0
aCgpIC0gcGFydGlhbFJ1bi5sZW5ndGg7Ci0gICAgICAgIHJldHVybiB7IHJlc3VsdC5pc0VuZE9m
TGluZSwgY29tbWl0dGVkSW5saW5lSXRlbUNvdW50LCBMaW5lQ29udGVudDo6UGFydGlhbENvbnRl
bnQgeyBwYXJ0aWFsUnVuLm5lZWRzSHlwaGVuLCBvdmVyZmxvd0xlbmd0aCB9IH07CisgICAgICAg
IHJldHVybiB7IHJlc3VsdC5pc0VuZE9mTGluZSwgeyBjb21taXR0ZWRJbmxpbmVJdGVtQ291bnQs
IGZhbHNlIH0sIExpbmVDb250ZW50OjpQYXJ0aWFsQ29udGVudCB7IHBhcnRpYWxSdW4ubmVlZHNI
eXBoZW4sIG92ZXJmbG93TGVuZ3RoIH0gfTsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgcmV0dXJuIHsgTGluZUJyZWFrZXI6OklzRW5kT2ZMaW5lOjpObyB9OwpAQCAtNDgw
LDI5ICs0ODEsMjkgQEAgdm9pZCBMaW5lTGF5b3V0Q29udGV4dDo6Y29tbWl0UGFydGlhbENvbnRl
bnQoTGluZUJ1aWxkZXImIGxpbmUsIGNvbnN0IExpbmVCcmVha2UKICAgICB9CiB9CiAKLXZvaWQg
TGluZUxheW91dENvbnRleHQ6OnJlYnVpbGRMaW5lRm9yUmV2ZXJ0KExpbmVCdWlsZGVyJiBsaW5l
LCBjb25zdCBJbmxpbmVJdGVtJiByZXZlcnRUbywgY29uc3QgSW5saW5lSXRlbVJhbmdlIGxheW91
dFJhbmdlKQorc2l6ZV90IExpbmVMYXlvdXRDb250ZXh0OjpyZWJ1aWxkTGluZShMaW5lQnVpbGRl
ciYgbGluZSwgY29uc3QgSW5saW5lSXRlbVJhbmdlJiBsYXlvdXRSYW5nZSkKIHsKLSAgICAvLyBU
aGlzIGlzIHRoZSByYXJlIGNhc2Ugd2hlbiB0aGUgbGluZSBuZWVkcyB0byBiZSByZXZlcnRlZCB0
byBhbiBlYXJsaWVyIHBvc2l0aW9uLgorICAgIC8vIENsZWFyIHRoZSBsaW5lIGFuZCBzdGFydCBh
cHBlbmRpbmcgdGhlIGlubGluZSBpdGVtcyBjbG9zaW5nIHdpdGggdGhlIGxhc3Qgd3JhcCBvcHBv
cnR1bml0eSBydW4uCiAgICAgbGluZS5yZXNldENvbnRlbnQoKTsKLSAgICBhdXRvIGlubGluZUl0
ZW1JbmRleCA9IGxheW91dFJhbmdlLnN0YXJ0OwotICAgIElubGluZUxheW91dFVuaXQgbG9naWNh
bFJpZ2h0ID0geyB9OworICAgIGF1dG8gY3VycmVudEl0ZW1JbmRleCA9IGxheW91dFJhbmdlLnN0
YXJ0OworICAgIGF1dG8gbG9naWNhbFJpZ2h0ID0gSW5saW5lTGF5b3V0VW5pdCB7IH07CiAgICAg
aWYgKG1fcGFydGlhbExlYWRpbmdUZXh0SXRlbSkgewogICAgICAgICBhdXRvIGxvZ2ljYWxXaWR0
aCA9IGlubGluZUl0ZW1XaWR0aCgqbV9wYXJ0aWFsTGVhZGluZ1RleHRJdGVtLCBsb2dpY2FsUmln
aHQpOwogICAgICAgICBsaW5lLmFwcGVuZCgqbV9wYXJ0aWFsTGVhZGluZ1RleHRJdGVtLCBsb2dp
Y2FsV2lkdGgpOwogICAgICAgICBsb2dpY2FsUmlnaHQgKz0gbG9naWNhbFdpZHRoOwotICAgICAg
ICBpZiAoJnJldmVydFRvID09ICZtX3BhcnRpYWxMZWFkaW5nVGV4dEl0ZW0udmFsdWUoKSkKLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgKytpbmxpbmVJdGVtSW5kZXg7CisgICAgICAgIGlm
ICgmbV9wYXJ0aWFsTGVhZGluZ1RleHRJdGVtLnZhbHVlKCkgPT0gbV9sYXN0V3JhcE9wcG9ydHVu
aXR5SXRlbSkKKyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICArK2N1cnJlbnRJdGVtSW5k
ZXg7CiAgICAgfQotCi0gICAgZm9yICg7IGlubGluZUl0ZW1JbmRleCA8IGxheW91dFJhbmdlLmVu
ZDsgKytpbmxpbmVJdGVtSW5kZXgpIHsKLSAgICAgICAgYXV0byYgaW5saW5lSXRlbSA9IG1faW5s
aW5lSXRlbXNbaW5saW5lSXRlbUluZGV4XTsKKyAgICBmb3IgKDsgY3VycmVudEl0ZW1JbmRleCA8
IGxheW91dFJhbmdlLmVuZDsgKytjdXJyZW50SXRlbUluZGV4KSB7CisgICAgICAgIGF1dG8mIGlu
bGluZUl0ZW0gPSBtX2lubGluZUl0ZW1zW2N1cnJlbnRJdGVtSW5kZXhdOwogICAgICAgICBhdXRv
IGxvZ2ljYWxXaWR0aCA9IGlubGluZUl0ZW1XaWR0aChpbmxpbmVJdGVtLCBsb2dpY2FsUmlnaHQp
OwogICAgICAgICBsaW5lLmFwcGVuZChpbmxpbmVJdGVtLCBsb2dpY2FsV2lkdGgpOwogICAgICAg
ICBsb2dpY2FsUmlnaHQgKz0gbG9naWNhbFdpZHRoOwotICAgICAgICBpZiAoJmlubGluZUl0ZW0g
PT0gJnJldmVydFRvKQotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGlmICgmaW5saW5lSXRl
bSA9PSBtX2xhc3RXcmFwT3Bwb3J0dW5pdHlJdGVtKQorICAgICAgICAgICAgcmV0dXJuIGN1cnJl
bnRJdGVtSW5kZXggLSBsYXlvdXRSYW5nZS5zdGFydCArIDE7CiAgICAgfQorICAgIHJldHVybiBs
YXlvdXRSYW5nZS5zaXplKCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9MaW5lTGF5b3V0Q29udGV4dC5oCmluZGV4IDg3MzZm
ODNiYTE5YTIyOWE2NzA3Yzc4YTVmYWQzZTg2YTBiMWZiNDUuLjVkZDAyZGI3OGZkZTlhZGZmZjQ1
OTk2MmE5NzVkYWMwMDkxODlkMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bmxpbmVmb3JtYXR0aW5nL0xpbmVMYXlvdXRDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2lubGluZWZvcm1hdHRpbmcvTGluZUxheW91dENvbnRleHQuaApAQCAtNTIsNiArNTIs
NyBAQCBwdWJsaWM6CiAgICAgfTsKICAgICBzdHJ1Y3QgSW5saW5lSXRlbVJhbmdlIHsKICAgICAg
ICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4gc3RhcnQgPT0gZW5kOyB9CisgICAgICAg
IHNpemVfdCBzaXplKCkgY29uc3QgeyByZXR1cm4gZW5kIC0gc3RhcnQ7IH0KICAgICAgICAgc2l6
ZV90IHN0YXJ0IHsgMCB9OwogICAgICAgICBzaXplX3QgZW5kIHsgMCB9OwogICAgIH07CkBAIC02
MSwxMyArNjIsMTYgQEAgcHJpdmF0ZToKICAgICB2b2lkIG5leHRDb250ZW50Rm9yTGluZShMaW5l
Q2FuZGlkYXRlJiwgdW5zaWduZWQgaW5saW5lSXRlbUluZGV4LCBjb25zdCBJbmxpbmVJdGVtUmFu
Z2UgbGF5b3V0UmFuZ2UsIE9wdGlvbmFsPHVuc2lnbmVkPiBvdmVyZmxvd0xlbmd0aCwgSW5saW5l
TGF5b3V0VW5pdCBjdXJyZW50TG9naWNhbFJpZ2h0KTsKICAgICBzdHJ1Y3QgUmVzdWx0IHsKICAg
ICAgICAgTGluZUJyZWFrZXI6OklzRW5kT2ZMaW5lIGlzRW5kT2ZMaW5lIHsgTGluZUJyZWFrZXI6
OklzRW5kT2ZMaW5lOjpObyB9OwotICAgICAgICBzaXplX3QgY29tbWl0dGVkQ291bnQgeyAwIH07
CisgICAgICAgIHN0cnVjdCBDb21taXR0ZWRDb250ZW50Q291bnQgeworICAgICAgICAgICAgc2l6
ZV90IHZhbHVlIHsgMCB9OworICAgICAgICAgICAgYm9vbCBpc1JldmVydCB7IGZhbHNlIH07Cisg
ICAgICAgIH07CisgICAgICAgIENvbW1pdHRlZENvbnRlbnRDb3VudCBjb21taXR0ZWRDb3VudCB7
IH07CiAgICAgICAgIE9wdGlvbmFsIDxMaW5lQ29udGVudDo6UGFydGlhbENvbnRlbnQ+IHBhcnRp
YWxDb250ZW50IHsgfTsKLSAgICAgICAgY29uc3QgSW5saW5lSXRlbSogcmV2ZXJ0VG8geyBudWxs
cHRyIH07CiAgICAgfTsKICAgICBSZXN1bHQgdHJ5QWRkaW5nRmxvYXRJdGVtKExpbmVCdWlsZGVy
JiwgY29uc3QgSW5saW5lSXRlbSYgZmxvYXRJdGVtKTsKLSAgICBSZXN1bHQgdHJ5QWRkaW5nSW5s
aW5lSXRlbXMoTGluZUJyZWFrZXImLCBMaW5lQnVpbGRlciYsIGNvbnN0IExpbmVDYW5kaWRhdGUm
KTsKLSAgICB2b2lkIHJlYnVpbGRMaW5lRm9yUmV2ZXJ0KExpbmVCdWlsZGVyJiwgY29uc3QgSW5s
aW5lSXRlbSYgcmV2ZXJ0VG8sIGNvbnN0IElubGluZUl0ZW1SYW5nZSBsYXlvdXRSYW5nZSk7Cisg
ICAgUmVzdWx0IHRyeUFkZGluZ0lubGluZUl0ZW1zKExpbmVCcmVha2VyJiwgTGluZUJ1aWxkZXIm
LCBjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIGxheW91dFJhbmdlLCBjb25zdCBMaW5lQ2FuZGlkYXRl
Jik7CisgICAgc2l6ZV90IHJlYnVpbGRMaW5lKExpbmVCdWlsZGVyJiwgY29uc3QgSW5saW5lSXRl
bVJhbmdlJiBsYXlvdXRSYW5nZSk7CiAgICAgdm9pZCBjb21taXRQYXJ0aWFsQ29udGVudChMaW5l
QnVpbGRlciYsIGNvbnN0IExpbmVCcmVha2VyOjpSdW5MaXN0JiwgY29uc3QgTGluZUJyZWFrZXI6
OlJlc3VsdDo6UGFydGlhbFRyYWlsaW5nQ29udGVudCYpOwogICAgIExpbmVDb250ZW50IGNsb3Nl
KExpbmVCdWlsZGVyJiwgY29uc3QgSW5saW5lSXRlbVJhbmdlIGxheW91dFJhbmdlLCB1bnNpZ25l
ZCBjb21taXR0ZWRJbmxpbmVJdGVtQ291bnQsIE9wdGlvbmFsPExpbmVDb250ZW50OjpQYXJ0aWFs
Q29udGVudD4pOwogCkBAIC04Miw2ICs4Niw3IEBAIHByaXZhdGU6CiAgICAgdXNpbmcgRmxvYXRM
aXN0ID0gVmVjdG9yPGNvbnN0IElubGluZUl0ZW0qPjsKICAgICBGbG9hdExpc3QgbV9mbG9hdHM7
CiAgICAgT3B0aW9uYWw8SW5saW5lVGV4dEl0ZW0+IG1fcGFydGlhbExlYWRpbmdUZXh0SXRlbTsK
KyAgICBjb25zdCBJbmxpbmVJdGVtKiBtX2xhc3RXcmFwT3Bwb3J0dW5pdHlJdGVtIHsgbnVsbHB0
ciB9OwogICAgIHVuc2lnbmVkIG1fc3VjY2Vzc2l2ZUh5cGhlbmF0ZWRMaW5lQ291bnQgeyAwIH07
CiB9OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>