<?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>73192</bug_id>
          
          <creation_ts>2011-11-27 23:35:03 -0800</creation_ts>
          <short_desc>&lt;style scoped&gt;: implement scoped selector matching</short_desc>
          <delta_ts>2012-03-07 03:12:48 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>73190</dependson>
    
    <dependson>77410</dependson>
    
    <dependson>77525</dependson>
    
    <dependson>77528</dependson>
          <blocked>49142</blocked>
    
    <blocked>67720</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Roland Steiner">rolandsteiner</reporter>
          <assigned_to name="Roland Steiner">rolandsteiner</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>morrita</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>509602</commentid>
    <comment_count>0</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-11-27 23:35:03 -0800</bug_when>
    <thetext>Restrict selector matching to only match up to (and including) the scoping element, but not its ancestors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509608</commentid>
    <comment_count>1</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-11-27 23:44:33 -0800</bug_when>
    <thetext>Note: Will wait with uploading the patch until 73190 settles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518154</commentid>
    <comment_count>2</comment_count>
      <attachid>118541</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-12-09 00:19:51 -0800</bug_when>
    <thetext>Created attachment 118541
patch (requires 67790, 73190), with flag</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529992</commentid>
    <comment_count>3</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2012-01-04 21:18:59 -0800</bug_when>
    <thetext>New Year request for review! :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546872</commentid>
    <comment_count>4</comment_count>
      <attachid>124899</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2012-02-01 01:05:16 -0800</bug_when>
    <thetext>Created attachment 124899
patch, updated

Updated patch after landing basic &lt;style scoped&gt; implementation. Remarks: I&apos;m storing the scope to use in member variables in order to reduce the amount of paramter passing and #ifdef-ing. I&apos;m not sure if I should go further and do this for fastCheckSingleSelector as well (although this would require making that template function a class member) or, conversely, whether it&apos;s a good idea in the first place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546900</commentid>
    <comment_count>5</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2012-02-01 01:36:15 -0800</bug_when>
    <thetext>Splitting this up into several patches as discussed with Antti on IRC.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118541</attachid>
            <date>2011-12-09 00:19:51 -0800</date>
            <delta_ts>2012-02-01 01:05:10 -0800</delta_ts>
            <desc>patch (requires 67790, 73190), with flag</desc>
            <filename>bug-73192-20111209171949.patch</filename>
            <type>text/plain</type>
            <size>24528</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMzExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzE5MGFlZTljYjIwYjQ3
ZDhhM2U2Yzk2OGNhYjc2MWM5Y2Q0MDhlYS4uNmZjMzgzMDQ3MjcxY2ZjNzM3MWIyOTE3NzlmNjQ0
Mjc4NWI5ZGJjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDExLTEyLTA5ICBSb2xh
bmQgU3RlaW5lciAgPHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIDxzdHls
ZSBzY29wZWQ+OiBpbXBsZW1lbnQgc2NvcGVkIHNlbGVjdG9yIG1hdGNoaW5nCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE5MgorCisgICAgICAgIFJl
c3BlY3Qgc2NvcGUgKGlmIGFueSkgZHVyaW5nIHNlbGVjdG9yIG1hdGNoaW5nLgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6Q1NTU3R5bGVT
ZWxlY3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpTY29wZWRBdXRob3JSdWxlc1Njb3BlOjpTY29w
ZWRBdXRob3JSdWxlc1Njb3BlKTogdGVtcG9yYXJ5IHNldCBhIHNjb3BlIGZvciBzZWxlY3RvciBt
YXRjaGluZywgcmVzZXQgYXQgZW5kIG9mIGJsb2NrCisgICAgICAgIChXZWJDb3JlOjpTY29wZWRB
dXRob3JSdWxlc1Njb3BlOjp+U2NvcGVkQXV0aG9yUnVsZXNTY29wZSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NTdHlsZVNlbGVjdG9yOjptYXRjaEF1dGhvclJ1bGVzKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1N0eWxlU2VsZWN0b3I6Om1hdGNoUnVsZXNGb3JMaXN0KToKKyAgICAgICAgKiBjc3Mv
Q1NTU3R5bGVTZWxlY3Rvci5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6
c2V0U2NvcGUpOiBzZXQgdGhlIHNjb3BlIHRoYXQgaXMgdG8gYmUgdXNlZCBmb3Igc2VsZWN0b3Ig
bWF0Y2hpbmcKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6U2VsZWN0b3JDaGVja2VyKToKKyAgICAgICAgKFdlYkNv
cmU6OlNlbGVjdG9yQ2hlY2tlcjo6ZmFzdENoZWNrU2VsZWN0b3IpOgorICAgICAgICAoV2ViQ29y
ZTo6U2VsZWN0b3JDaGVja2VyOjpjaGVja1NlbGVjdG9yKToKKyAgICAgICAgKiBjc3MvU2VsZWN0
b3JDaGVja2VyLmg6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNoZWNrZXI6OnNldFNjb3Bl
KTogc2V0IHRoZSBzY29wZSB0aGF0IGlzIHRvIGJlIHVzZWQgZm9yIHNlbGVjdG9yIG1hdGNoaW5n
CisKIDIwMTEtMTItMDcgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5lckBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgPHN0eWxlIHNjb3BlZD46IEltcGxlbWVudCBzY29wZWQgc3R5bGVzaGVl
dHMgYW5kIGJhc2ljIGFwcGxpY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rv
ci5jcHAKaW5kZXggNGQxMTU2MTI5MjZmOTQ3NTM2ZDU4N2I2MjIxMmJhMGUzYTFlZDVkNi4uMTdk
ZjgzZjQ3ZTlmZTI3MjhlN2QwMWJlMWVlNzdiOGQzOTIwOWFjMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtMzQzLDYgKzM0Myw5IEBAIENTU1N0eWxlU2VsZWN0
b3I6OkNTU1N0eWxlU2VsZWN0b3IoRG9jdW1lbnQqIGRvY3VtZW50LCBTdHlsZVNoZWV0TGlzdCog
c3R5bGVTaGVlCiAgICAgLCBtX2FwcGx5UHJvcGVydHlUb1Zpc2l0ZWRMaW5rU3R5bGUoZmFsc2Up
CiAgICAgLCBtX2FwcGx5UHJvcGVydHlUb1JlZ2lvblN0eWxlKGZhbHNlKQogICAgICwgbV9hcHBs
eVByb3BlcnR5KENTU1N0eWxlQXBwbHlQcm9wZXJ0eTo6c2hhcmVkQ1NTU3R5bGVBcHBseVByb3Bl
cnR5KCkpCisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKKyAgICAsIG1fY3VycmVudFNjb3BlKDAp
CisjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCiAgICAgLCBtX2hhc1BlbmRpbmdTaGFk
ZXJzKGZhbHNlKQogI2VuZGlmCkBAIC02ODYsNiArNjg5LDE3IEBAIHZvaWQgQ1NTU3R5bGVTZWxl
Y3Rvcjo6YWRkTWF0Y2hlZERlY2xhcmF0aW9uKENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBz
dHlsZURlCiAgICAgbmV3RGVjbGFyYXRpb24ucmVnaW9uU3R5bGVSdWxlID0gcmVnaW9uU3R5bGVS
dWxlOwogfQogCisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKK2NsYXNzIFNjb3BlZEF1dGhvclJ1
bGVzU2NvcGUgeworcHVibGljOgorICAgIFNjb3BlZEF1dGhvclJ1bGVzU2NvcGUoQ1NTU3R5bGVT
ZWxlY3Rvciogc3R5bGVTZWxlY3RvciwgY29uc3QgRWxlbWVudCogc2NvcGUpIDogbV9zdHlsZVNl
bGVjdG9yKHN0eWxlU2VsZWN0b3IpIHsgc3R5bGVTZWxlY3Rvci0+c2V0U2NvcGUoc2NvcGUpOyB9
CisgICAgflNjb3BlZEF1dGhvclJ1bGVzU2NvcGUoKSB7IG1fc3R5bGVTZWxlY3Rvci0+c2V0U2Nv
cGUoMCk7IH0KKworcHJpdmF0ZToKKyAgICBDU1NTdHlsZVNlbGVjdG9yKiBtX3N0eWxlU2VsZWN0
b3I7Cit9OworI2VuZGlmCisKIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6bWF0Y2hBdXRob3JSdWxl
cyhpbnQmIGZpcnN0UnVsZUluZGV4LCBpbnQmIGxhc3RSdWxlSW5kZXgsIGJvb2wgaW5jbHVkZUVt
cHR5UnVsZXMpCiB7CiAgICAgbV9tYXRjaGVkUnVsZXMuY2xlYXIoKTsKQEAgLTY5OSwxMSArNzEz
LDE1IEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6bWF0Y2hBdXRob3JSdWxlcyhpbnQmIGZpcnN0
UnVsZUluZGV4LCBpbnQmIGxhc3RSdWxlSW5kZXgsCiAgICAgICAgICAgICAvLyBGYXN0IGJyYW5j
aDogYWNjZXNzIGVuY2xvc2luZyBzY29wZXMgZGlyZWN0bHkgZnJvbSB2ZWN0b3IsIGJ1dCBzdGFy
dCB3aXRoIGN1cnJlbnQgZWxlbWVudC4KICAgICAgICAgICAgIGlmIChtX2VsZW1lbnQtPmhhc1Nj
b3BlZEhUTUxTdHlsZUNoaWxkKCkpIHsKICAgICAgICAgICAgICAgICBjb25zdCBSdWxlU2V0KiBy
dWxlU2V0ID0gc2NvcGVkUnVsZVNldEZvckVsZW1lbnQobV9lbGVtZW50KTsKLSAgICAgICAgICAg
ICAgICBpZiAocnVsZVNldCkKKyAgICAgICAgICAgICAgICBpZiAocnVsZVNldCkgeworICAgICAg
ICAgICAgICAgICAgICBTY29wZWRBdXRob3JSdWxlc1Njb3BlIHModGhpcywgbV9lbGVtZW50KTsK
ICAgICAgICAgICAgICAgICAgICAgbWF0Y2hSdWxlU2V0KHJ1bGVTZXQsIGZpcnN0UnVsZUluZGV4
LCBsYXN0UnVsZUluZGV4LCBpbmNsdWRlRW1wdHlSdWxlcyk7CisgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgfQotICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IG1fc2NvcGluZ0VsZW1l
bnRTdGFjay5zaXplKCk7IGkgPiAwOyAtLWkpCisgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0g
bV9zY29waW5nRWxlbWVudFN0YWNrLnNpemUoKTsgaSA+IDA7IC0taSkgeworICAgICAgICAgICAg
ICAgIFNjb3BlZEF1dGhvclJ1bGVzU2NvcGUgcyh0aGlzLCBtX3Njb3BpbmdFbGVtZW50U3RhY2tb
aSAtIDFdLmZpcnN0KTsKICAgICAgICAgICAgICAgICBtYXRjaFJ1bGVTZXQobV9zY29waW5nRWxl
bWVudFN0YWNrW2kgLSAxXS5zZWNvbmQsIGZpcnN0UnVsZUluZGV4LCBsYXN0UnVsZUluZGV4LCBp
bmNsdWRlRW1wdHlSdWxlcyk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICAvLyBTbG93IGJyYW5jaDogY2xpbWIgdHJlZSwgY2hlY2sgZm9yIHN0eWxlIHNjb3Bl
cyBhdCBldmVyeSBlbGVtZW50LgogICAgICAgICAgICAgZm9yIChjb25zdCBOb2RlKiBub2RlID0g
bV9lbGVtZW50OyBub2RlOyBub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpKSB7CkBAIC03MTMsOCAr
NzMxLDEwIEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6bWF0Y2hBdXRob3JSdWxlcyhpbnQmIGZp
cnN0UnVsZUluZGV4LCBpbnQmIGxhc3RSdWxlSW5kZXgsCiAgICAgICAgICAgICAgICAgaWYgKCFl
bGVtZW50LT5oYXNTY29wZWRIVE1MU3R5bGVDaGlsZCgpKQogICAgICAgICAgICAgICAgICAgICBj
b250aW51ZTsKICAgICAgICAgICAgICAgICBjb25zdCBSdWxlU2V0KiBydWxlU2V0ID0gc2NvcGVk
UnVsZVNldEZvckVsZW1lbnQoZWxlbWVudCk7Ci0gICAgICAgICAgICAgICAgaWYgKHJ1bGVTZXQp
CisgICAgICAgICAgICAgICAgaWYgKHJ1bGVTZXQpIHsKKyAgICAgICAgICAgICAgICAgICAgU2Nv
cGVkQXV0aG9yUnVsZXNTY29wZSBzKHRoaXMsIGVsZW1lbnQpOwogICAgICAgICAgICAgICAgICAg
ICBtYXRjaFJ1bGVTZXQocnVsZVNldCwgZmlyc3RSdWxlSW5kZXgsIGxhc3RSdWxlSW5kZXgsIGlu
Y2x1ZGVFbXB0eVJ1bGVzKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICB9CkBAIC03OTQsMTEgKzgxNCw2IEBAIGlubGluZSBib29sIE1hdGNoaW5nVUFS
dWxlc1Njb3BlOjppc01hdGNoaW5nVUFSdWxlcygpCiAKIGJvb2wgTWF0Y2hpbmdVQVJ1bGVzU2Nv
cGU6Om1fbWF0Y2hpbmdVQVJ1bGVzID0gZmFsc2U7CiAKLWlubGluZSBzdGF0aWMgYm9vbCBtYXRj
aGVzSW5UcmVlU2NvcGUoVHJlZVNjb3BlKiB0cmVlU2NvcGUsIGJvb2wgcnVsZVJlYWNoZXNJbnRv
U2hhZG93RE9NKQotewotICAgIHJldHVybiBNYXRjaGluZ1VBUnVsZXNTY29wZTo6aXNNYXRjaGlu
Z1VBUnVsZXMoKSB8fCB0cmVlU2NvcGUtPmFwcGx5QXV0aG9yU2hlZXRzKCkgfHwgcnVsZVJlYWNo
ZXNJbnRvU2hhZG93RE9NOwotfQotCiB2b2lkIENTU1N0eWxlU2VsZWN0b3I6Om1hdGNoUnVsZXNG
b3JMaXN0KGNvbnN0IFZlY3RvcjxSdWxlRGF0YT4qIHJ1bGVzLCBpbnQmIGZpcnN0UnVsZUluZGV4
LCBpbnQmIGxhc3RSdWxlSW5kZXgsIGJvb2wgaW5jbHVkZUVtcHR5UnVsZXMpCiB7CiAgICAgaWYg
KCFydWxlcykKQEAgLTgxMyw3ICs4MjgsMTggQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjptYXRj
aFJ1bGVzRm9yTGlzdChjb25zdCBWZWN0b3I8UnVsZURhdGE+KiBydWxlcywgaW50JiBmaXIKICAg
ICAgICAgaWYgKGNhblVzZUZhc3RSZWplY3QgJiYgbV9jaGVja2VyLmZhc3RSZWplY3RTZWxlY3Rv
cjxSdWxlRGF0YTo6bWF4aW11bUlkZW50aWZpZXJDb3VudD4ocnVsZURhdGEuZGVzY2VuZGFudFNl
bGVjdG9ySWRlbnRpZmllckhhc2hlcygpKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAg
ICBpZiAoY2hlY2tTZWxlY3RvcihydWxlRGF0YSkpIHsKLSAgICAgICAgICAgIGlmICghbWF0Y2hl
c0luVHJlZVNjb3BlKG1fZWxlbWVudC0+dHJlZVNjb3BlKCksIG1fY2hlY2tlci5oYXNVbmtub3du
UHNldWRvRWxlbWVudHMoKSkpCisgICAgICAgICAgICAvLyBDaGVjayB3aGV0aGVyIHRoZSBydWxl
IGlzIGFwcGxpY2FibGUgaW4gdGhlIGN1cnJlbnQgdHJlZSBzY29wZS4gQ3JpdGVyaWEgZm9yIHRo
aXM6CisgICAgICAgICAgICAvLyBhKSBpdCdzIGEgVUEgcnVsZQorICAgICAgICAgICAgLy8gYikg
dGhlIHRyZWUgc2NvcGUgYWxsb3dzIGF1dGhvciBydWxlcworICAgICAgICAgICAgLy8gYykgdGhl
IHJ1bGVzIGNvbWVzIGZyb20gYSBzY29wZWQgc3R5bGUgc2hlZXQgd2l0aGluIHRoZSBzYW1lIHRy
ZWUgc2NvcGUKKyAgICAgICAgICAgIC8vIGQpIHRoZSBydWxlIGNvbnRhaW5zIHNoYWRvdy1JRCBw
c2V1ZG8gZWxlbWVudHMKKyAgICAgICAgICAgIFRyZWVTY29wZSogdHJlZVNjb3BlID0gbV9lbGVt
ZW50LT50cmVlU2NvcGUoKTsKKyAgICAgICAgICAgIGlmICghTWF0Y2hpbmdVQVJ1bGVzU2NvcGU6
OmlzTWF0Y2hpbmdVQVJ1bGVzKCkKKyAgICAgICAgICAgICAgICAmJiAhdHJlZVNjb3BlLT5hcHBs
eUF1dGhvclNoZWV0cygpCisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKKyAgICAgICAgICAgICAg
ICAmJiAoIW1fY3VycmVudFNjb3BlIHx8IG1fY3VycmVudFNjb3BlLT50cmVlU2NvcGUoKSAhPSB0
cmVlU2NvcGUpCisjZW5kaWYKKyAgICAgICAgICAgICAgICAmJiAhbV9jaGVja2VyLmhhc1Vua25v
d25Qc2V1ZG9FbGVtZW50cygpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAg
ICAgLy8gSWYgdGhlIHJ1bGUgaGFzIG5vIHByb3BlcnRpZXMgdG8gYXBwbHksIHRoZW4gaWdub3Jl
IGl0IGluIHRoZSBub24tZGVidWcgbW9kZS4KICAgICAgICAgICAgIENTU1N0eWxlUnVsZSogcnVs
ZSA9IHJ1bGVEYXRhLnJ1bGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNlbGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCmlu
ZGV4IGQ2N2QxYjZmNWIwYTI1MmQwNTI3NmFmOWZmN2ZkMmY0NDllNTZiMTQuLmQ2ODgxNmQwNzAy
YTJiNWJhMWZkNGFiNGUxMmUxNDAyZmMwZWYyZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuaApAQCAtMTA0LDYgKzEwNCw3IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShTVFlM
RV9TQ09QRUQpCiAgICAgc3RhdGljIEVsZW1lbnQqIGRldGVybWluZVNjb3BpbmdFbGVtZW50KGNv
bnN0IENTU1N0eWxlU2hlZXQqKTsKKyAgICB2b2lkIHNldFNjb3BlKGNvbnN0IEVsZW1lbnQqIHNj
b3BlKSB7IG1fY3VycmVudFNjb3BlID0gc2NvcGU7IG1fY2hlY2tlci5zZXRTY29wZShzY29wZSk7
IH0KICNlbmRpZgogCiAgICAgLy8gVXNpbmcgdGhlc2UgZHVyaW5nIHRyZWUgd2FsayB3aWxsIGFs
bG93IHN0eWxlIHNlbGVjdG9yIHRvIG9wdGltaXplIGNoaWxkIGFuZCBkZXNjZW5kYW50IHNlbGVj
dG9yIGxvb2t1cHMuCkBAIC00MzAsOSArNDMxLDEyIEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2Fw
cGx5UHJvcGVydHlUb1JlZ2lvblN0eWxlOwogICAgIGNvbnN0IENTU1N0eWxlQXBwbHlQcm9wZXJ0
eSYgbV9hcHBseVByb3BlcnR5OwogCisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKICAgICAvLyBW
ZWN0b3IgKHVzZWQgYXMgc3RhY2spIHRoYXQga2VlcHMgdHJhY2sgb2Ygc2NvcGluZyBlbGVtZW50
cyAoaS5lLiwgZWxlbWVudHMgd2l0aCBhIDxzdHlsZSBzY29wZWQ+IGNoaWxkKQogICAgIC8vIGVu
Y291bnRlcmVkIGR1cmluZyB0cmVlIGl0ZXJhdGlvbiBmb3Igc3R5bGUgcmVzb2x1dGlvbi4KICAg
ICBWZWN0b3I8c3RkOjpwYWlyPGNvbnN0IEVsZW1lbnQqLCBjb25zdCBSdWxlU2V0Kj4gPiBtX3Nj
b3BpbmdFbGVtZW50U3RhY2s7CisgICAgY29uc3QgRWxlbWVudCogbV9jdXJyZW50U2NvcGU7Cisj
ZW5kaWYKIAogI2lmIEVOQUJMRShDU1NfU0hBREVSUykKICAgICBib29sIG1faGFzUGVuZGluZ1No
YWRlcnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCmluZGV4IGY1Mzc3Yjlk
YzNhNWNlMjdlNTAwMjRiN2M5MjkyMDdhOTE3Yzc1ZWIuLjBhYzc0NjdiMGNiNzQ1NDJkMTRmZWMw
Y2FmNjY5MGI3MzJmYzc3ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3Rv
ckNoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3Bw
CkBAIC03NCw2ICs3NCw5IEBAIFNlbGVjdG9yQ2hlY2tlcjo6U2VsZWN0b3JDaGVja2VyKERvY3Vt
ZW50KiBkb2N1bWVudCwgYm9vbCBzdHJpY3RQYXJzaW5nKQogICAgICwgbV9pc0NvbGxlY3RpbmdS
dWxlc09ubHkoZmFsc2UpCiAgICAgLCBtX3BzZXVkb1N0eWxlKE5PUFNFVURPKQogICAgICwgbV9o
YXNVbmtub3duUHNldWRvRWxlbWVudHMoZmFsc2UpCisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkK
KyAgICAsIG1fY3VycmVudFNjb3BlKDApCisjZW5kaWYKIHsKIH0KIApAQCAtMjYxLDcgKzI2NCwx
MSBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tTZWxlY3RvcihDU1NTZWxlY3Rvciogc2Vs
LCBFbGVtZW50KiBlbGVtZW50LCBib29sIGlzRgogbmFtZXNwYWNlIHsKIAogdGVtcGxhdGUgPGJv
b2wgY2hlY2tWYWx1ZShjb25zdCBFbGVtZW50KiwgQXRvbWljU3RyaW5nSW1wbCosIGNvbnN0IFF1
YWxpZmllZE5hbWUmKSwgYm9vbCBpbml0QXR0cmlidXRlTmFtZT4KKyNpZiBFTkFCTEUoU1RZTEVf
U0NPUEVEKQoraW5saW5lIGJvb2wgZmFzdENoZWNrU2luZ2xlU2VsZWN0b3IoY29uc3QgQ1NTU2Vs
ZWN0b3IqJiBzZWxlY3RvciwgY29uc3QgRWxlbWVudComIGVsZW1lbnQsIGNvbnN0IEVsZW1lbnQq
IHNjb3BlLCBjb25zdCBDU1NTZWxlY3RvciomIHRvcENoaWxkT3JTdWJzZWxlY3RvciwgY29uc3Qg
RWxlbWVudComIHRvcENoaWxkT3JTdWJzZWxlY3Rvck1hdGNoRWxlbWVudCkKKyNlbHNlCiBpbmxp
bmUgYm9vbCBmYXN0Q2hlY2tTaW5nbGVTZWxlY3Rvcihjb25zdCBDU1NTZWxlY3RvciomIHNlbGVj
dG9yLCBjb25zdCBFbGVtZW50KiYgZWxlbWVudCwgY29uc3QgQ1NTU2VsZWN0b3IqJiB0b3BDaGls
ZE9yU3Vic2VsZWN0b3IsIGNvbnN0IEVsZW1lbnQqJiB0b3BDaGlsZE9yU3Vic2VsZWN0b3JNYXRj
aEVsZW1lbnQpCisjZW5kaWYKIHsKICAgICBBdG9taWNTdHJpbmdJbXBsKiB2YWx1ZSA9IHNlbGVj
dG9yLT52YWx1ZSgpLmltcGwoKTsKICAgICBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGUg
PSBpbml0QXR0cmlidXRlTmFtZSA/IHNlbGVjdG9yLT5hdHRyaWJ1dGUoKSA6IGFueVFOYW1lKCk7
CkBAIC0yNzUsNyArMjgyLDExIEBAIGlubGluZSBib29sIGZhc3RDaGVja1NpbmdsZVNlbGVjdG9y
KGNvbnN0IENTU1NlbGVjdG9yKiYgc2VsZWN0b3IsIGNvbnN0IEVsZW1lbnQqCiAgICAgICAgICAg
ICAgICAgdG9wQ2hpbGRPclN1YnNlbGVjdG9yTWF0Y2hFbGVtZW50ID0gZWxlbWVudDsKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIGlmIChzZWxlY3Rvci0+cmVsYXRpb24oKSAhPSBDU1NTZWxl
Y3Rvcjo6U3ViU2VsZWN0b3IpCisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKKyAgICAgICAgICAg
ICAgICBlbGVtZW50ID0gKGVsZW1lbnQgPT0gc2NvcGUpID8gMCA6IGVsZW1lbnQtPnBhcmVudEVs
ZW1lbnQoKTsKKyNlbHNlCiAgICAgICAgICAgICAgICAgZWxlbWVudCA9IGVsZW1lbnQtPnBhcmVu
dEVsZW1lbnQoKTsKKyNlbmRpZgogICAgICAgICAgICAgc2VsZWN0b3IgPSBzZWxlY3Rvci0+dGFn
SGlzdG9yeSgpOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KQEAgLTI4OCwx
MCArMjk5LDE5IEBAIGlubGluZSBib29sIGZhc3RDaGVja1NpbmdsZVNlbGVjdG9yKGNvbnN0IENT
U1NlbGVjdG9yKiYgc2VsZWN0b3IsIGNvbnN0IEVsZW1lbnQqCiAgICAgICAgICAgICAvLyBUaGVy
ZSBtYXkgYmUgb3RoZXIgbWF0Y2hlcyBkb3duIHRoZSBhbmNlc3RvciBjaGFpbi4KICAgICAgICAg
ICAgIC8vIFJld2luZCB0byB0aGUgdG9wbW9zdCBjaGlsZCBvciBzdWJzZWxlY3RvciBhbmQgdGhl
IGVsZW1lbnQgaXQgbWF0Y2hlZCwgY29udGludWUgY2hlY2tpbmcgYW5jZXN0b3JzLgogICAgICAg
ICAgICAgc2VsZWN0b3IgPSB0b3BDaGlsZE9yU3Vic2VsZWN0b3I7CisjaWYgRU5BQkxFKFNUWUxF
X1NDT1BFRCkKKyAgICAgICAgICAgIGVsZW1lbnQgPSAodG9wQ2hpbGRPclN1YnNlbGVjdG9yTWF0
Y2hFbGVtZW50ID09IHNjb3BlKSA/IDAgOiB0b3BDaGlsZE9yU3Vic2VsZWN0b3JNYXRjaEVsZW1l
bnQtPnBhcmVudEVsZW1lbnQoKTsKKyNlbHNlCiAgICAgICAgICAgICBlbGVtZW50ID0gdG9wQ2hp
bGRPclN1YnNlbGVjdG9yTWF0Y2hFbGVtZW50LT5wYXJlbnRFbGVtZW50KCk7CisjZW5kaWYKICAg
ICAgICAgICAgIHRvcENoaWxkT3JTdWJzZWxlY3RvciA9IDA7CiAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICAgICAgfQorI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgICAgIC8vIERv
IG5vdCBnbyB1cCB0aGUgdHJlZSBwYXN0IHRoZSBzY29waW5nIGVsZW1lbnQuCisgICAgICAgIGlm
IChlbGVtZW50ID09IHNjb3BlKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiAg
ICAgfQogICAgIHJldHVybiBmYWxzZTsKIH0KQEAgLTM1Miw3ICszNzIsMTEgQEAgYm9vbCBTZWxl
Y3RvckNoZWNrZXI6OmZhc3RDaGVja1NlbGVjdG9yKGNvbnN0IENTU1NlbGVjdG9yKiBzZWxlY3Rv
ciwgY29uc3QgRWxlbWUKICAgICAgICAgdG9wQ2hpbGRPclN1YnNlbGVjdG9yID0gc2VsZWN0b3I7
CiAKICAgICBpZiAoc2VsZWN0b3ItPnJlbGF0aW9uKCkgIT0gQ1NTU2VsZWN0b3I6OlN1YlNlbGVj
dG9yKQorI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgICAgIGVsZW1lbnQgPSAoZWxlbWVu
dCA9PSBtX2N1cnJlbnRTY29wZSkgPyAwIDogZWxlbWVudC0+cGFyZW50RWxlbWVudCgpOworI2Vs
c2UKICAgICAgICAgZWxlbWVudCA9IGVsZW1lbnQtPnBhcmVudEVsZW1lbnQoKTsKKyNlbmRpZgog
CiAgICAgc2VsZWN0b3IgPSBzZWxlY3Rvci0+dGFnSGlzdG9yeSgpOwogCkBAIC0zNjAsMjAgKzM4
NCwzNiBAQCBib29sIFNlbGVjdG9yQ2hlY2tlcjo6ZmFzdENoZWNrU2VsZWN0b3IoY29uc3QgQ1NT
U2VsZWN0b3IqIHNlbGVjdG9yLCBjb25zdCBFbGVtZQogICAgIHdoaWxlIChzZWxlY3Rvcikgewog
ICAgICAgICBzd2l0Y2ggKHNlbGVjdG9yLT5tX21hdGNoKSB7CiAgICAgICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OkNsYXNzOgorI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgICAgICAgICBpZiAo
IWZhc3RDaGVja1NpbmdsZVNlbGVjdG9yPGNoZWNrQ2xhc3NWYWx1ZSwgZmFsc2U+KHNlbGVjdG9y
LCBlbGVtZW50LCBtX2N1cnJlbnRTY29wZSwgdG9wQ2hpbGRPclN1YnNlbGVjdG9yLCB0b3BDaGls
ZE9yU3Vic2VsZWN0b3JNYXRjaEVsZW1lbnQpKQorI2Vsc2UKICAgICAgICAgICAgIGlmICghZmFz
dENoZWNrU2luZ2xlU2VsZWN0b3I8Y2hlY2tDbGFzc1ZhbHVlLCBmYWxzZT4oc2VsZWN0b3IsIGVs
ZW1lbnQsIHRvcENoaWxkT3JTdWJzZWxlY3RvciwgdG9wQ2hpbGRPclN1YnNlbGVjdG9yTWF0Y2hF
bGVtZW50KSkKKyNlbmRpZgogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpJZDoKKyNpZiBFTkFCTEUoU1RZ
TEVfU0NPUEVEKQorICAgICAgICAgICAgaWYgKCFmYXN0Q2hlY2tTaW5nbGVTZWxlY3RvcjxjaGVj
a0lEVmFsdWUsIGZhbHNlPihzZWxlY3RvciwgZWxlbWVudCwgbV9jdXJyZW50U2NvcGUsIHRvcENo
aWxkT3JTdWJzZWxlY3RvciwgdG9wQ2hpbGRPclN1YnNlbGVjdG9yTWF0Y2hFbGVtZW50KSkKKyNl
bHNlCiAgICAgICAgICAgICBpZiAoIWZhc3RDaGVja1NpbmdsZVNlbGVjdG9yPGNoZWNrSURWYWx1
ZSwgZmFsc2U+KHNlbGVjdG9yLCBlbGVtZW50LCB0b3BDaGlsZE9yU3Vic2VsZWN0b3IsIHRvcENo
aWxkT3JTdWJzZWxlY3Rvck1hdGNoRWxlbWVudCkpCisjZW5kaWYKICAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rv
cjo6Tm9uZToKKyNpZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQorICAgICAgICAgICAgaWYgKCFmYXN0
Q2hlY2tTaW5nbGVTZWxlY3RvcjxjaGVja1RhZ1ZhbHVlLCBmYWxzZT4oc2VsZWN0b3IsIGVsZW1l
bnQsIG1fY3VycmVudFNjb3BlLCB0b3BDaGlsZE9yU3Vic2VsZWN0b3IsIHRvcENoaWxkT3JTdWJz
ZWxlY3Rvck1hdGNoRWxlbWVudCkpCisjZWxzZQogICAgICAgICAgICAgaWYgKCFmYXN0Q2hlY2tT
aW5nbGVTZWxlY3RvcjxjaGVja1RhZ1ZhbHVlLCBmYWxzZT4oc2VsZWN0b3IsIGVsZW1lbnQsIHRv
cENoaWxkT3JTdWJzZWxlY3RvciwgdG9wQ2hpbGRPclN1YnNlbGVjdG9yTWF0Y2hFbGVtZW50KSkK
KyNlbmRpZgogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpTZXQ6CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0
b3I6OkV4YWN0OgorI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgICAgICAgICBpZiAoIWZh
c3RDaGVja1NpbmdsZVNlbGVjdG9yPGNoZWNrRXhhY3RBdHRyaWJ1dGVWYWx1ZSwgdHJ1ZT4oc2Vs
ZWN0b3IsIGVsZW1lbnQsIG1fY3VycmVudFNjb3BlLCB0b3BDaGlsZE9yU3Vic2VsZWN0b3IsIHRv
cENoaWxkT3JTdWJzZWxlY3Rvck1hdGNoRWxlbWVudCkpCisjZWxzZQogICAgICAgICAgICAgaWYg
KCFmYXN0Q2hlY2tTaW5nbGVTZWxlY3RvcjxjaGVja0V4YWN0QXR0cmlidXRlVmFsdWUsIHRydWU+
KHNlbGVjdG9yLCBlbGVtZW50LCB0b3BDaGlsZE9yU3Vic2VsZWN0b3IsIHRvcENoaWxkT3JTdWJz
ZWxlY3Rvck1hdGNoRWxlbWVudCkpCisjZW5kaWYKICAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKQEAgLTQ1Niw2ICs0OTYs
MTAgQEAgU2VsZWN0b3JDaGVja2VyOjpTZWxlY3Rvck1hdGNoIFNlbGVjdG9yQ2hlY2tlcjo6Y2hl
Y2tTZWxlY3RvcihDU1NTZWxlY3Rvciogc2VsLAogICAgIHN3aXRjaCAocmVsYXRpb24pIHsKICAg
ICBjYXNlIENTU1NlbGVjdG9yOjpEZXNjZW5kYW50OgogICAgICAgICB3aGlsZSAodHJ1ZSkgewor
I2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgICAgICAgICBpZiAoZSA9PSBtX2N1cnJlbnRT
Y29wZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gU2VsZWN0b3JGYWlsc0NvbXBsZXRlbHk7Cisj
ZW5kaWYKICAgICAgICAgICAgIENvbnRhaW5lck5vZGUqIG4gPSBlLT5wYXJlbnROb2RlKCk7CiAg
ICAgICAgICAgICBpZiAoIW4gfHwgIW4tPmlzRWxlbWVudE5vZGUoKSkKICAgICAgICAgICAgICAg
ICByZXR1cm4gU2VsZWN0b3JGYWlsc0NvbXBsZXRlbHk7CkBAIC00NjcsNiArNTExLDEwIEBAIFNl
bGVjdG9yQ2hlY2tlcjo6U2VsZWN0b3JNYXRjaCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrU2VsZWN0
b3IoQ1NTU2VsZWN0b3IqIHNlbCwKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDU1NTZWxlY3Rv
cjo6Q2hpbGQ6CiAgICAgICAgIHsKKyNpZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQorICAgICAgICAg
ICAgaWYgKGUgPT0gbV9jdXJyZW50U2NvcGUpCisgICAgICAgICAgICAgICAgcmV0dXJuIFNlbGVj
dG9yRmFpbHNDb21wbGV0ZWx5OworI2VuZGlmCiAgICAgICAgICAgICBDb250YWluZXJOb2RlKiBu
ID0gZS0+cGFyZW50Tm9kZSgpOwogICAgICAgICAgICAgaWYgKCFuIHx8ICFuLT5pc0VsZW1lbnRO
b2RlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIFNlbGVjdG9yRmFpbHNDb21wbGV0ZWx5OwpA
QCAtNDc1LDYgKzUyMywxMCBAQCBTZWxlY3RvckNoZWNrZXI6OlNlbGVjdG9yTWF0Y2ggU2VsZWN0
b3JDaGVja2VyOjpjaGVja1NlbGVjdG9yKENTU1NlbGVjdG9yKiBzZWwsCiAgICAgICAgIH0KICAg
ICBjYXNlIENTU1NlbGVjdG9yOjpEaXJlY3RBZGphY2VudDoKICAgICAgICAgeworI2lmIEVOQUJM
RShTVFlMRV9TQ09QRUQpCisgICAgICAgICAgICBpZiAoZSA9PSBtX2N1cnJlbnRTY29wZSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gU2VsZWN0b3JGYWlsc0NvbXBsZXRlbHk7CisjZW5kaWYKICAg
ICAgICAgICAgIGlmICghbV9pc0NvbGxlY3RpbmdSdWxlc09ubHkgJiYgZS0+cGFyZW50Tm9kZSgp
ICYmIGUtPnBhcmVudE5vZGUoKS0+aXNFbGVtZW50Tm9kZSgpKSB7CiAgICAgICAgICAgICAgICAg
UmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlID0gZWxlbWVudFN0eWxlID8gZWxlbWVudFBhcmVudFN0
eWxlIDogZS0+cGFyZW50Tm9kZSgpLT5yZW5kZXJTdHlsZSgpOwogICAgICAgICAgICAgICAgIGlm
IChwYXJlbnRTdHlsZSkKQEAgLTQ5NSw2ICs1NDcsMTAgQEAgU2VsZWN0b3JDaGVja2VyOjpTZWxl
Y3Rvck1hdGNoIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tTZWxlY3RvcihDU1NTZWxlY3Rvciogc2Vs
LAogICAgICAgICAgICAgICAgIHBhcmVudFN0eWxlLT5zZXRDaGlsZHJlbkFmZmVjdGVkQnlGb3J3
YXJkUG9zaXRpb25hbFJ1bGVzKCk7CiAgICAgICAgIH0KICAgICAgICAgd2hpbGUgKHRydWUpIHsK
KyNpZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQorICAgICAgICAgICAgaWYgKGUgPT0gbV9jdXJyZW50
U2NvcGUpCisgICAgICAgICAgICAgICAgcmV0dXJuIFNlbGVjdG9yRmFpbHNDb21wbGV0ZWx5Owor
I2VuZGlmCiAgICAgICAgICAgICBOb2RlKiBuID0gZS0+cHJldmlvdXNTaWJsaW5nKCk7CiAgICAg
ICAgICAgICB3aGlsZSAobiAmJiAhbi0+aXNFbGVtZW50Tm9kZSgpKQogICAgICAgICAgICAgICAg
IG4gPSBuLT5wcmV2aW91c1NpYmxpbmcoKTsKQEAgLTUxNiw2ICs1NzIsMTEgQEAgU2VsZWN0b3JD
aGVja2VyOjpTZWxlY3Rvck1hdGNoIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tTZWxlY3RvcihDU1NT
ZWxlY3Rvciogc2VsLAogICAgICAgICByZXR1cm4gY2hlY2tTZWxlY3RvcihzZWwsIGUsIGR5bmFt
aWNQc2V1ZG8sIHRydWUsIHZpc2l0ZWRNYXRjaFR5cGUsIGVsZW1lbnRTdHlsZSwgZWxlbWVudFBh
cmVudFN0eWxlKTsKICAgICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dEZXNjZW5kYW50OgogICAg
ICAgICB7CisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKKyAgICAgICAgICAgIC8vIElmIHdlJ3Jl
IGluIHRoZSBzYW1lIHRyZWUtc2NvcGUgYXMgdGhlIHNjb3BpbmcgZWxlbWVudCwgdGhlbiBmb2xs
b3dpbmcgYSBzaGFkb3cgZGVzY2VuZGFudCBjb21iaW5hdG9yIHdvdWxkIGVzY2FwZSB0aGF0IGFu
ZCB0aHVzIHRoZSBzY29wZS4KKyAgICAgICAgICAgIGlmIChtX2N1cnJlbnRTY29wZSAmJiBtX2N1
cnJlbnRTY29wZS0+dHJlZVNjb3BlKCkgPT0gZS0+dHJlZVNjb3BlKCkpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIFNlbGVjdG9yRmFpbHNDb21wbGV0ZWx5OworI2VuZGlmCiAgICAgICAgICAgICBO
b2RlKiBzaGFkb3dIb3N0Tm9kZSA9IGUtPnNoYWRvd0FuY2VzdG9yTm9kZSgpOwogICAgICAgICAg
ICAgaWYgKHNoYWRvd0hvc3ROb2RlID09IGUgfHwgIXNoYWRvd0hvc3ROb2RlLT5pc0VsZW1lbnRO
b2RlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIFNlbGVjdG9yRmFpbHNDb21wbGV0ZWx5Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5oCmluZGV4IDZmODE3Y2MyMjFmMjFkNjdlZGNh
NjBmM2I1YTMxNTY4ZmFkNzlkYzIuLjQzNzNlZDZiZmU2ZjNjMDg5YzNmMjU3NTg4NmVkZTBlYzc3
OTIwNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmgKQEAgLTY2LDYgKzY2LDEw
IEBAIHB1YmxpYzoKICAgICBib29sIHBhcmVudFN0YWNrSXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJu
IG1fcGFyZW50U3RhY2suaXNFbXB0eSgpOyB9CiAgICAgYm9vbCBwYXJlbnRTdGFja0lzQ29uc2lz
dGVudChjb25zdCBDb250YWluZXJOb2RlKiBwYXJlbnROb2RlKSBjb25zdCB7IHJldHVybiAhbV9w
YXJlbnRTdGFjay5pc0VtcHR5KCkgJiYgbV9wYXJlbnRTdGFjay5sYXN0KCkuZWxlbWVudCA9PSBw
YXJlbnROb2RlOyB9CiAKKyNpZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQorICAgIHZvaWQgc2V0U2Nv
cGUoY29uc3QgRWxlbWVudCogc2NvcGUpIHsgbV9jdXJyZW50U2NvcGUgPSBzY29wZTsgfQorI2Vu
ZGlmCisKICAgICBFSW5zaWRlTGluayBkZXRlcm1pbmVMaW5rU3RhdGUoRWxlbWVudCopIGNvbnN0
OwogICAgIHZvaWQgYWxsVmlzaXRlZFN0YXRlQ2hhbmdlZCgpOwogICAgIHZvaWQgdmlzaXRlZFN0
YXRlQ2hhbmdlZChMaW5rSGFzaCB2aXNpdGVkSGFzaCk7CkBAIC0xMjEsNiArMTI1LDEwIEBAIHBy
aXZhdGU6CiAgICAgfTsKICAgICBWZWN0b3I8UGFyZW50U3RhY2tGcmFtZT4gbV9wYXJlbnRTdGFj
azsKIAorI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgY29uc3QgRWxlbWVudCogbV9jdXJy
ZW50U2NvcGU7CisjZW5kaWYKKwogICAgIC8vIFdpdGggMTAwIHVuaXF1ZSBzdHJpbmdzIGluIHRo
ZSBmaWx0ZXIsIDJeMTIgc2xvdCB0YWJsZSBoYXMgZmFsc2UgcG9zaXRpdmUgcmF0ZSBvZiB+MC4y
JS4KICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgYmxvb21GaWx0ZXJLZXlCaXRzID0gMTI7CiAg
ICAgT3duUHRyPEJsb29tRmlsdGVyPGJsb29tRmlsdGVyS2V5Qml0cz4gPiBtX2FuY2VzdG9ySWRl
bnRpZmllckZpbHRlcjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzN2Q4NjU1OGMxZGZmZTA1Mjg3Y2I5YTE1ZmRkODg4YmY4
YWYxOGRjLi40MmY2MTc5MDgwYmFkOTBkZGQxYmJkY2QyNTYwZjIxZDExZjdhNThkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTEtMTItMDkgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5l
ckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgPHN0eWxlIHNjb3BlZD46IGltcGxlbWVudCBzY29w
ZWQgc2VsZWN0b3IgbWF0Y2hpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTczMTkyCisKKyAgICAgICAgQWRkIHRlc3QgY2FzZXMgd2hlcmUgc2VsZWN0
b3JzIGNyb3NzIHRoZSBzY29wZSBib3VuZGFyeS4KKworICAgICAgICBOZWVkIGEgc2hvcnQgZGVz
Y3JpcHRpb24gYW5kIGJ1ZyBVUkwgKE9PUFMhKQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3Bl
ZC1iYXNpYy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0
eWxlLXNjb3BlZC1iYXNpYy5odG1sOgorICAgICAgICAqIGZhc3QvY3NzL3N0eWxlLXNjb3BlZC9z
dHlsZS1zY29wZWQtcmVtb3ZlLXNjb3BlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9j
c3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1yZW1vdmUtc2NvcGVkLmh0bWw6CisgICAgICAg
ICogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1zZXQtc2NvcGVkLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLXNldC1z
Y29wZWQuaHRtbDoKKwogMjAxMS0xMi0wNyAgUm9sYW5kIFN0ZWluZXIgIDxyb2xhbmRzdGVpbmVy
QGNocm9taXVtLm9yZz4KIAogICAgICAgICA8c3R5bGUgc2NvcGVkPjogSW1wbGVtZW50IHNjb3Bl
ZCBzdHlsZXNoZWV0cyBhbmQgYmFzaWMgYXBwbGljYXRpb24KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtYmFzaWMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1iYXNpYy1l
eHBlY3RlZC50eHQKaW5kZXggZTkxMmZkYzBmODNlYzE0OTNhNDJjMjU5YjNmMTgyYmIwZjU2Yzcx
NS4uYmVmZmQ3NmM4NDRhOWE4Mjg5MzJjOWUzYTUwY2I4MzIxMDdmZmMzMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1iYXNpYy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNj
b3BlZC1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTExLDYgKzExLDcgQEAgVGV4dAogVGV4dAogVGV4
dAogVGV4dAorVGV4dAogCiBUZXh0CiBUZXh0CkBAIC0yOCw2ICsyOSw3IEBAIEUxOiByZ2IoMCwg
MCwgMCkKIFMyOiByZ2IoMjU1LCAwLCAwKQogUDI6IHJnYigwLCAxMjgsIDApCiBSMjogcmdiKDAs
IDAsIDI1NSkKK0UyOiByZ2IoMjU1LCAwLCAwKQogCiBTMzogcmdiKDAsIDAsIDApCiBQMzogcmdi
KDAsIDAsIDApCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQv
c3R5bGUtc2NvcGVkLWJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29w
ZWQvc3R5bGUtc2NvcGVkLWJhc2ljLmh0bWwKaW5kZXggZmU1YjQzMWE5MTZhMzljNjlmYmRmODY2
ODY0YWU4ZGZmM2Q2OGNlZS4uYTZkZjBhMThiMzAxOTdkOTQzZDMyOWI1YzBkYzUxODc3OTJhNWJl
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNj
b3BlZC1iYXNpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9z
dHlsZS1zY29wZWQtYmFzaWMuaHRtbApAQCAtMjgsNiArMjgsNyBAQAogICAgICAgICAgICAgdGVz
dCgnUzInKTsKICAgICAgICAgICAgIHRlc3QoJ1AyJyk7CiAgICAgICAgICAgICB0ZXN0KCdSMicp
OworICAgICAgICAgICAgdGVzdCgnRTInKTsKICAgICAgICAgICAgIGxvZygnJyk7CiAgICAgICAg
ICAgICB0ZXN0KCdTMycpOwogICAgICAgICAgICAgdGVzdCgnUDMnKTsKQEAgLTUxLDI5ICs1Miwz
NSBAQAogICAgIDxkaXYgY2xhc3M9ImZvbyI+CiAgICAgICAgIDxzcGFuIGlkPSJTMSI+VGV4dDwv
c3Bhbj4KICAgICAgICAgPHAgaWQ9IlAxIj5UZXh0PC9wPgotICAgICAgICA8cHJlIGlkID0gIlIx
IiBjbGFzcz0iYmFyIj5UZXh0PC9wcmU+CisgICAgICAgIDxwcmUgaWQ9IlIxIiBjbGFzcz0iYmFy
Ij5UZXh0PC9wcmU+CiAgICAgICAgIDxwcmUgaWQ9IkUxIiBjbGFzcz0iYmF6Ij5UZXh0PC9wcmU+
CiAgICAgPC9kaXY+Ci0gICAgPGRpdj4KKyAgICA8ZGl2IGlkPSJmb28iPgorICAgICAgICA8ZGl2
IGlkPSJzaWIiPjwvZGl2PgogICAgICAgICA8ZGl2PgogICAgICAgICAgICAgPHN0eWxlIHR5cGU9
InRleHQvY3NzIiBzY29wZWQ+CiAgICAgICAgICAgICAgICAgZGl2IHsgY29sb3I6IHJlZDsgfQog
ICAgICAgICAgICAgICAgIHAgeyBjb2xvcjogZ3JlZW47IH0KICAgICAgICAgICAgICAgICBkaXYg
LmJhciB7IGNvbG9yOiBibHVlOyB9CisgICAgICAgICAgICAgICAgI2ZvbyAuYmF6IHsgY29sb3I6
IHJnYigxMCwgMTAsIDEwKTsgfSAvKiBzaG91bGQgTk9UIGFwcGx5ISAqLworICAgICAgICAgICAg
ICAgIHNpYiArICogeyBjb2xvcjogcmdiKDIwLCAyMCwgMjApOyB9IC8qIHNob3VsZCBOT1QgYXBw
bHkhICovCisgICAgICAgICAgICAgICAgc2liIH4gKiB7IGNvbG9yOiByZ2IoMzAsIDMwLCAzMCk7
IH0gLyogc2hvdWxkIE5PVCBhcHBseSEgKi8KKyAgICAgICAgICAgICAgICBkaXYgZGl2IHsgY29s
b3I6IHJnYig0MCwgNDAsIDQwKTsgfSAvKiBzaG91bGQgTk9UIGFwcGx5ISAqLyAKICAgICAgICAg
ICAgIDwvc3R5bGU+CiAgICAgICAgICAgICA8c3BhbiBpZD0iUzIiPlRleHQ8L3NwYW4+CiAgICAg
ICAgICAgICA8cCBpZD0iUDIiPlRleHQ8L3A+CiAgICAgICAgICAgICA8cHJlIGlkPSJSMiIgY2xh
c3M9ImJhciI+VGV4dDwvcHJlPgorICAgICAgICAgICAgPHByZSBpZD0iRTIiIGNsYXNzPSJiYXoi
PlRleHQ8L3ByZT4KICAgICAgICAgPC9kaXY+CiAgICAgICAgIDxzcGFuIGlkPSJTMyI+VGV4dDwv
c3Bhbj4KICAgICAgICAgPHAgaWQ9IlAzIj5UZXh0PC9wPgotICAgICAgICA8cHJlIGlkID0gIlIz
IiBjbGFzcz0iYmFyIj5UZXh0PC9wcmU+CisgICAgICAgIDxwcmUgaWQ9IlIzIiBjbGFzcz0iYmFy
Ij5UZXh0PC9wcmU+CiAgICAgICAgIDxwcmUgaWQ9IkUzIiBjbGFzcz0iYmF6Ij5UZXh0PC9wcmU+
CiAgICAgPC9kaXY+CiAgICAgPGRpdiBjbGFzcz0iZm9vIj4KICAgICAgICAgPHNwYW4gaWQ9IlM0
Ij5UZXh0PC9zcGFuPgogICAgICAgICA8cCBpZD0iUDQiPlRleHQ8L3A+Ci0gICAgICAgIDxwcmUg
aWQgPSAiUjQiIGNsYXNzPSJiYXIiPlRleHQ8L3ByZT4KKyAgICAgICAgPHByZSBpZD0iUjQiIGNs
YXNzPSJiYXIiPlRleHQ8L3ByZT4KICAgICAgICAgPHByZSBpZD0iRTQiIGNsYXNzPSJiYXoiPlRl
eHQ8L3ByZT4KICAgICA8L2Rpdj4KICAgICA8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtcmVt
b3ZlLXNjb3BlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29w
ZWQvc3R5bGUtc2NvcGVkLXJlbW92ZS1zY29wZWQtZXhwZWN0ZWQudHh0CmluZGV4IDNhMjA1ODdk
ZjVhZmZmNjJkYzI3ZjYyYWFlYzQ1MGIzMzc2NWNhYzguLmY3NjMwMjExMWNiOWFlN2FkZjMzMTc3
ZTUzNGVlZmQzNjVkMDgwZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxl
LXNjb3BlZC9zdHlsZS1zY29wZWQtcmVtb3ZlLXNjb3BlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1yZW1vdmUtc2NvcGVk
LWV4cGVjdGVkLnR4dApAQCAtNCwyNCArNCwzOSBAQCBUZXh0CiBUZXh0CiAKIFRleHQKKworICAg
IAorVGV4dAorVGV4dAorCiBUZXh0CiAKKyAgICAKK1RleHQKIFRleHQKKwogVGV4dAogCisgICAg
CiAtLS0gT1JJR0lOQUwgLS0tCiBTMTogcmdiKDAsIDAsIDApCiBQMTogcmdiKDAsIDAsIDApCitS
MTogcmdiKDAsIDAsIDApCiBTMjogcmdiKDI1NSwgMCwgMCkKIFAyOiByZ2IoMCwgMTI4LCAwKQor
UjI6IHJnYigyNTUsIDAsIDApCiBTMzogcmdiKDAsIDAsIDApCiBQMzogcmdiKDAsIDAsIDApCitS
MzogcmdiKDAsIDAsIDApCiAtLS0gQUZURVIgVU4tU0VUVElORyBAU0NPUEVEIC0tLQogUzE6IHJn
YigyNTUsIDAsIDApCiBQMTogcmdiKDAsIDEyOCwgMCkKK1IxOiByZ2IoMCwgMCwgMjU1KQogUzI6
IHJnYigyNTUsIDAsIDApCiBQMjogcmdiKDAsIDEyOCwgMCkKK1IyOiByZ2IoMCwgMCwgMjU1KQog
UzM6IHJnYigyNTUsIDAsIDApCiBQMzogcmdiKDAsIDEyOCwgMCkKK1IzOiByZ2IoMCwgMCwgMjU1
KQogLS0tIEZJTklTSEVEIC0tLQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9z
dHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLXJlbW92ZS1zY29wZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtcmVtb3ZlLXNjb3BlZC5odG1sCmlu
ZGV4IGVhYWYzNzc0Y2FiMmZhNzRmZDcwYzYxMWFlMDMyYmExMTg0M2Q3ZWQuLjM5ZDVmNzRmZWJj
ZWEwNjdjYTBiYjIzYTVkYTUwMjAwYzJiZDkxZmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtcmVtb3ZlLXNjb3BlZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtcmVtb3ZlLXNj
b3BlZC5odG1sCkBAIC0xNywxMCArMTcsMTMgQEAKICAgICAgICAgewogICAgICAgICAgICAgdGVz
dCgnUzEnKTsKICAgICAgICAgICAgIHRlc3QoJ1AxJyk7CisgICAgICAgICAgICB0ZXN0KCdSMScp
OwogICAgICAgICAgICAgdGVzdCgnUzInKTsKICAgICAgICAgICAgIHRlc3QoJ1AyJyk7CisgICAg
ICAgICAgICB0ZXN0KCdSMicpOwogICAgICAgICAgICAgdGVzdCgnUzMnKTsKICAgICAgICAgICAg
IHRlc3QoJ1AzJyk7CisgICAgICAgICAgICB0ZXN0KCdSMycpOwogICAgICAgICB9CiAKICAgICAg
ICAgZnVuY3Rpb24gcnVuVGVzdHMoKQpAQCAtNTIsMTggKzU1LDIyIEBACiAgICAgPGRpdj4KICAg
ICAgICAgPHNwYW4gaWQ9IlMxIj5UZXh0PC9zcGFuPgogICAgICAgICA8cCBpZD0iUDEiPlRleHQ8
L3A+CisgICAgICAgIDxwcmUgaWQ9IlIxIj5UZXh0PC9wPgogICAgIDwvZGl2PgogICAgIDxkaXY+
CiAgICAgICAgIDxzdHlsZSBpZD0iU1RZTEUiIHR5cGU9InRleHQvY3NzIiBzY29wZWQ+CiAgICAg
ICAgICAgICBkaXYgeyBjb2xvcjogcmVkOyB9CiAgICAgICAgICAgICBwIHsgY29sb3I6IGdyZWVu
OyB9CisgICAgICAgICAgICBwIH4gZGl2IHByZSB7IGNvbG9yOiBibHVlOyB9IC8qIHNob3VsZCBO
T1QgYXBwbHkgd2hpbGUgc2NvcGVkISAqLwogICAgICAgICA8L3N0eWxlPgogICAgICAgICA8c3Bh
biBpZD0iUzIiPlRleHQ8L3NwYW4+CiAgICAgICAgIDxwIGlkPSJQMiI+VGV4dDwvcD4KKyAgICAg
ICAgPHByZSBpZD0iUjIiPlRleHQ8L3A+CiAgICAgPC9kaXY+CiAgICAgPGRpdj4KICAgICAgICAg
PHNwYW4gaWQ9IlMzIj5UZXh0PC9zcGFuPgogICAgICAgICA8cCBpZD0iUDMiPlRleHQ8L3A+Cisg
ICAgICAgIDxwcmUgaWQ9IlIzIj5UZXh0PC9wPgogICAgIDwvZGl2PgogICAgIDxwcmUgaWQ9ImNv
bnNvbGUiPjwvcHJlPgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
c3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1zZXQtc2NvcGVkLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtc2V0LXNjb3BlZC1leHBl
Y3RlZC50eHQKaW5kZXggZmEwYzc5NjNjOTdjNDc4MDFlMDg0OTY3NTExMzcyMjJjNDY2NWQxYy4u
OTBhODdhYTA2ZGY5MmU3ZWUwZmVmZjY0ZGY1N2IyNGIzZDc5OWQ3NCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1zZXQtc2NvcGVkLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUt
c2NvcGVkLXNldC1zY29wZWQtZXhwZWN0ZWQudHh0CkBAIC00LDI0ICs0LDM5IEBAIFRleHQKIFRl
eHQKIAogVGV4dAorCisgICAgCitUZXh0CitUZXh0CisKIFRleHQKIAorICAgIAorVGV4dAogVGV4
dAorCiBUZXh0CiAKKyAgICAKIC0tLSBPUklHSU5BTCAtLS0KIFMxOiByZ2IoMjU1LCAwLCAwKQog
UDE6IHJnYigwLCAxMjgsIDApCitSMTogcmdiKDAsIDAsIDI1NSkKIFMyOiByZ2IoMjU1LCAwLCAw
KQogUDI6IHJnYigwLCAxMjgsIDApCitSMjogcmdiKDAsIDAsIDI1NSkKIFMzOiByZ2IoMjU1LCAw
LCAwKQogUDM6IHJnYigwLCAxMjgsIDApCitSMzogcmdiKDAsIDAsIDI1NSkKIC0tLSBBRlRFUiBT
RVRUSU5HIEBTQ09QRUQgLS0tCiBTMTogcmdiKDAsIDAsIDApCiBQMTogcmdiKDAsIDAsIDApCitS
MTogcmdiKDAsIDAsIDApCiBTMjogcmdiKDI1NSwgMCwgMCkKIFAyOiByZ2IoMCwgMTI4LCAwKQor
UjI6IHJnYigyNTUsIDAsIDApCiBTMzogcmdiKDAsIDAsIDApCiBQMzogcmdiKDAsIDAsIDApCitS
MzogcmdiKDAsIDAsIDApCiAtLS0gRklOSVNIRUQgLS0tCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtc2V0LXNjb3BlZC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1zZXQtc2NvcGVk
Lmh0bWwKaW5kZXggOTkwM2JkNDFlMjk5ZDAzNTAxY2VmMTA1NDBmZTE5NTAwYzRlODJlZS4uODBh
YTVjYjBlNzc5OWRmNWFmYjY4M2RlMTBhNWYzY2JjNjc3OTE5NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1zZXQtc2NvcGVkLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1zZXQt
c2NvcGVkLmh0bWwKQEAgLTE3LDEwICsxNywxMyBAQAogICAgICAgICB7CiAgICAgICAgICAgICB0
ZXN0KCdTMScpOwogICAgICAgICAgICAgdGVzdCgnUDEnKTsKKyAgICAgICAgICAgIHRlc3QoJ1Ix
Jyk7CiAgICAgICAgICAgICB0ZXN0KCdTMicpOwogICAgICAgICAgICAgdGVzdCgnUDInKTsKKyAg
ICAgICAgICAgIHRlc3QoJ1IyJyk7CiAgICAgICAgICAgICB0ZXN0KCdTMycpOwogICAgICAgICAg
ICAgdGVzdCgnUDMnKTsKKyAgICAgICAgICAgIHRlc3QoJ1IzJyk7CiAgICAgICAgIH0KIAogICAg
ICAgICBmdW5jdGlvbiBydW5UZXN0cygpCkBAIC01MiwxOCArNTUsMjIgQEAKICAgICA8ZGl2Pgog
ICAgICAgICA8c3BhbiBpZD0iUzEiPlRleHQ8L3NwYW4+CiAgICAgICAgIDxwIGlkPSJQMSI+VGV4
dDwvcD4KKyAgICAgICAgPHByZSBpZD0iUjEiPlRleHQ8L3A+CiAgICAgPC9kaXY+CiAgICAgPGRp
dj4KICAgICAgICAgPHN0eWxlIGlkPSJTVFlMRSIgdHlwZT0idGV4dC9jc3MiPgogICAgICAgICAg
ICAgZGl2IHsgY29sb3I6IHJlZDsgfQogICAgICAgICAgICAgcCB7IGNvbG9yOiBncmVlbjsgfQor
ICAgICAgICAgICAgcCB+IGRpdiBwcmUgeyBjb2xvcjogYmx1ZTsgfSAvKiBzaG91bGQgTk9UIGFw
cGx5IHdoaWxlIHNjb3BlZCEgKi8KICAgICAgICAgPC9zdHlsZT4KICAgICAgICAgPHNwYW4gaWQ9
IlMyIj5UZXh0PC9zcGFuPgogICAgICAgICA8cCBpZD0iUDIiPlRleHQ8L3A+CisgICAgICAgIDxw
cmUgaWQ9IlIyIj5UZXh0PC9wPgogICAgIDwvZGl2PgogICAgIDxkaXY+CiAgICAgICAgIDxzcGFu
IGlkPSJTMyI+VGV4dDwvc3Bhbj4KICAgICAgICAgPHAgaWQ9IlAzIj5UZXh0PC9wPgorICAgICAg
ICA8cHJlIGlkPSJSMyI+VGV4dDwvcD4KICAgICA8L2Rpdj4KICAgICA8cHJlIGlkPSJjb25zb2xl
Ij48L3ByZT4KIDwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124899</attachid>
            <date>2012-02-01 01:05:16 -0800</date>
            <delta_ts>2012-02-01 01:36:37 -0800</delta_ts>
            <desc>patch, updated</desc>
            <filename>bug-73192-20120201180514.patch</filename>
            <type>text/plain</type>
            <size>24227</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NDMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDI4NTg5NDkyMmJjNzNl
ZTY1ZDFkYzVmMjEzMjZlMjI2MWYxODA0Yy4uZDE1ODVkYTE1ODMxZjNhOWE3MWFkNDY5NWUzYmUz
MTQ0OTQ1ZDgzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTAyLTAxICBSb2xh
bmQgU3RlaW5lciAgPHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIDxzdHls
ZSBzY29wZWQ+OiBpbXBsZW1lbnQgc2NvcGVkIHNlbGVjdG9yIG1hdGNoaW5nCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE5MgorCisgICAgICAgIFJl
c3BlY3QgYSBydWxlJ3Mgc2NvcGUgKGlmIGFueSkgZHVyaW5nIHNlbGVjdG9yIG1hdGNoaW5nLgor
ICAgICAgICBJLmUuLCBkb24ndCBtYXRjaCBwYXN0IHRoZSBzY29waW5nIGVsZW1lbnQgaW4gPHN0
eWxlIHNjb3BlZD4gcnVsZXMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisKKyAgICAgICAgKiBjc3MvQ1NTU3R5
bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpDU1NT
dHlsZVNlbGVjdG9yKTogYWRkIGN1cnJlbnQgc2NvcGUgbWVtYmVyCisgICAgICAgIChXZWJDb3Jl
OjpDU1NTdHlsZVNlbGVjdG9yOjpkZXRlcm1pbmVTY29waW5nRWxlbWVudCk6IGNoYW5nZSByZXR1
cm4gdmFsdWUgdG8gY29uc3QKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6Om1h
dGNoU2NvcGVkQXV0aG9yUnVsZXMpOiBzZXQgc2NvcGUgZWxlbWVudCB0byB1c2UKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6Y29sbGVjdE1h
dGNoaW5nUnVsZXNGb3JMaXN0KTogYWRkIGhhbmRsaW5nIG9mIDxzdHlsZSBzY29wZWQ+IGluIHNo
YWRvdyBET00KKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5oOgorICAgICAgICAoQ1NT
U3R5bGVTZWxlY3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpzZXRT
Y29wZSk6IHN0b3JlIHRoZSBjdXJyZW50IHNjb3BlIChyZWR1Y2UgYW1vdW50IG9mIHBhcmFtZXRl
ciBwYXNzaW5nKQorICAgICAgICAqIGNzcy9TZWxlY3RvckNoZWNrZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2VsZWN0b3JDaGVja2VyOjpTZWxlY3RvckNoZWNrZXIpOiBhZGQgbWVtYmVyIHRo
YXQgc3RvcmVzIHRoZSBjdXJyZW50IHNjb3BlCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6ZmFzdENoZWNrU2VsZWN0b3IpOiBhZGQgc2NvcGUg
Y2hlY2sKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tTZWxlY3Rvcik6
IGRpdHRvCisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlci5oOgorICAgICAgICAoU2VsZWN0
b3JDaGVja2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6c2V0U2NvcGUp
OiBzdG9yZSB0aGUgY3VycmVudCBzY29wZSAocmVkdWNlIGFtb3VudCBvZiBwYXJhbWV0ZXIgcGFz
c2luZykKKwogMjAxMi0wMS0zMSAgSm9lIFRob21hcyAgPGpvZXRob21hc0Btb3Rvcm9sYS5jb20+
CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODAx
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggYWJhYzM5ODg1ZWU0
MmNjMjU2ZTJkOWQ1NDU2M2Q2NTZkZjI1MGY0My4uZGVkNzNmN2VhMjJjZmYzZDM4ZDg4NzQ5Zjc3
NGE3YzI0ZTNmNjkyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApA
QCAtMzQwLDYgKzM0MCw3IEBAIENTU1N0eWxlU2VsZWN0b3I6OkNTU1N0eWxlU2VsZWN0b3IoRG9j
dW1lbnQqIGRvY3VtZW50LCBTdHlsZVNoZWV0TGlzdCogc3R5bGVTaGVlCiAjZW5kaWYKICNpZiBF
TkFCTEUoU1RZTEVfU0NPUEVEKQogICAgICwgbV9zY29waW5nRWxlbWVudFN0YWNrUGFyZW50KDAp
CisgICAgLCBtX2N1cnJlbnRTY29wZSgwKQogI2VuZGlmCiB7CiAgICAgRWxlbWVudCogcm9vdCA9
IGRvY3VtZW50LT5kb2N1bWVudEVsZW1lbnQoKTsKQEAgLTQ0Myw3ICs0NDQsNyBAQCB2b2lkIENT
U1N0eWxlU2VsZWN0b3I6OmNvbGxlY3RGZWF0dXJlcygpCiB9CiAKICNpZiBFTkFCTEUoU1RZTEVf
U0NPUEVEKQotRWxlbWVudCogQ1NTU3R5bGVTZWxlY3Rvcjo6ZGV0ZXJtaW5lU2NvcGluZ0VsZW1l
bnQoY29uc3QgQ1NTU3R5bGVTaGVldCogc2hlZXQpCitjb25zdCBFbGVtZW50KiBDU1NTdHlsZVNl
bGVjdG9yOjpkZXRlcm1pbmVTY29waW5nRWxlbWVudChjb25zdCBDU1NTdHlsZVNoZWV0KiBzaGVl
dCkKIHsKICAgICBBU1NFUlQoc2hlZXQpOwogCkBAIC04MzksMTUgKzg0MCwxOSBAQCB2b2lkIENT
U1N0eWxlU2VsZWN0b3I6Om1hdGNoU2NvcGVkQXV0aG9yUnVsZXMoaW50JiBmaXJzdFJ1bGVJbmRl
eCwgaW50JiBsYXN0UnVsZQogICAgIGlmICghc2NvcGluZ0VsZW1lbnRTdGFja0lzQ29uc2lzdGVu
dChwYXJlbnQpKQogICAgICAgICBzZXR1cFNjb3BpbmdFbGVtZW50U3RhY2socGFyZW50KTsKICAg
ICBmb3IgKHNpemVfdCBpID0gbV9zY29waW5nRWxlbWVudFN0YWNrLnNpemUoKTsgaTsgLS1pKSB7
Ci0gICAgICAgIGNvbGxlY3RNYXRjaGluZ1J1bGVzKG1fc2NvcGluZ0VsZW1lbnRTdGFja1tpIC0g
MV0ubV9ydWxlU2V0LCBmaXJzdFJ1bGVJbmRleCwgbGFzdFJ1bGVJbmRleCwgaW5jbHVkZUVtcHR5
UnVsZXMpOwotICAgICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0ZvclJlZ2lvbihtX3Njb3BpbmdF
bGVtZW50U3RhY2tbaSAtIDFdLm1fcnVsZVNldCwgZmlyc3RSdWxlSW5kZXgsIGxhc3RSdWxlSW5k
ZXgsIGluY2x1ZGVFbXB0eVJ1bGVzKTsKKyAgICAgICAgY29uc3QgU2NvcGVTdGFja0ZyYW1lJiBm
cmFtZSA9IG1fc2NvcGluZ0VsZW1lbnRTdGFja1tpIC0gMV07CisgICAgICAgIHNldFNjb3BlKGZy
YW1lLm1fZWxlbWVudCk7CisgICAgICAgIGNvbGxlY3RNYXRjaGluZ1J1bGVzKGZyYW1lLm1fcnVs
ZVNldCwgZmlyc3RSdWxlSW5kZXgsIGxhc3RSdWxlSW5kZXgsIGluY2x1ZGVFbXB0eVJ1bGVzKTsK
KyAgICAgICAgY29sbGVjdE1hdGNoaW5nUnVsZXNGb3JSZWdpb24oZnJhbWUubV9ydWxlU2V0LCBm
aXJzdFJ1bGVJbmRleCwgbGFzdFJ1bGVJbmRleCwgaW5jbHVkZUVtcHR5UnVsZXMpOwogICAgIH0K
ICAgICAvLyBBbHNvIGluY2x1ZGUgdGhlIGN1cnJlbnQgZWxlbWVudC4KICAgICBSdWxlU2V0KiBy
dWxlU2V0ID0gc2NvcGVkUnVsZVNldEZvckVsZW1lbnQobV9lbGVtZW50KTsKICAgICBpZiAocnVs
ZVNldCkgeworICAgICAgICBzZXRTY29wZShtX2VsZW1lbnQpOwogICAgICAgICBjb2xsZWN0TWF0
Y2hpbmdSdWxlcyhydWxlU2V0LCBmaXJzdFJ1bGVJbmRleCwgbGFzdFJ1bGVJbmRleCwgaW5jbHVk
ZUVtcHR5UnVsZXMpOwogICAgICAgICBjb2xsZWN0TWF0Y2hpbmdSdWxlc0ZvclJlZ2lvbihydWxl
U2V0LCBmaXJzdFJ1bGVJbmRleCwgbGFzdFJ1bGVJbmRleCwgaW5jbHVkZUVtcHR5UnVsZXMpOwog
ICAgIH0KKyAgICBzZXRTY29wZSgwKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGZpcnN0UnVs
ZUluZGV4KTsKICAgICBVTlVTRURfUEFSQU0obGFzdFJ1bGVJbmRleCk7CkBAIC05MTMsMTEgKzkx
OCw2IEBAIGlubGluZSBib29sIE1hdGNoaW5nVUFSdWxlc1Njb3BlOjppc01hdGNoaW5nVUFSdWxl
cygpCiAKIGJvb2wgTWF0Y2hpbmdVQVJ1bGVzU2NvcGU6Om1fbWF0Y2hpbmdVQVJ1bGVzID0gZmFs
c2U7CiAKLWlubGluZSBzdGF0aWMgYm9vbCBtYXRjaGVzSW5UcmVlU2NvcGUoVHJlZVNjb3BlKiB0
cmVlU2NvcGUsIGJvb2wgcnVsZVJlYWNoZXNJbnRvU2hhZG93RE9NKQotewotICAgIHJldHVybiBN
YXRjaGluZ1VBUnVsZXNTY29wZTo6aXNNYXRjaGluZ1VBUnVsZXMoKSB8fCB0cmVlU2NvcGUtPmFw
cGx5QXV0aG9yU2hlZXRzKCkgfHwgcnVsZVJlYWNoZXNJbnRvU2hhZG93RE9NOwotfQotCiB2b2lk
IENTU1N0eWxlU2VsZWN0b3I6OmNvbGxlY3RNYXRjaGluZ1J1bGVzRm9yTGlzdChjb25zdCBWZWN0
b3I8UnVsZURhdGE+KiBydWxlcywgaW50JiBmaXJzdFJ1bGVJbmRleCwgaW50JiBsYXN0UnVsZUlu
ZGV4LCBib29sIGluY2x1ZGVFbXB0eVJ1bGVzKQogewogICAgIGlmICghcnVsZXMpCkBAIC05MzUs
NyArOTM1LDE5IEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6Y29sbGVjdE1hdGNoaW5nUnVsZXNG
b3JMaXN0KGNvbnN0IFZlY3RvcjxSdWxlRGF0YT4qIHJ1bGVzCiAgICAgICAgIENTU1N0eWxlUnVs
ZSogcnVsZSA9IHJ1bGVEYXRhLnJ1bGUoKTsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uQ29va2llIGNvb2tpZSA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbE1hdGNoUnVs
ZShkb2N1bWVudCgpLCBydWxlKTsKICAgICAgICAgaWYgKGNoZWNrU2VsZWN0b3IocnVsZURhdGEp
KSB7Ci0gICAgICAgICAgICBpZiAoIW1hdGNoZXNJblRyZWVTY29wZShtX2VsZW1lbnQtPnRyZWVT
Y29wZSgpLCBtX2NoZWNrZXIuaGFzVW5rbm93blBzZXVkb0VsZW1lbnRzKCkpKSB7CisgICAgICAg
ICAgICAvLyBDaGVjayB3aGV0aGVyIHRoZSBydWxlIGlzIGFwcGxpY2FibGUgaW4gdGhlIGN1cnJl
bnQgdHJlZSBzY29wZS4gQ3JpdGVyaWEgZm9yIHRoaXM6CisgICAgICAgICAgICAvLyBhKSBpdCdz
IGEgVUEgcnVsZQorICAgICAgICAgICAgLy8gYikgdGhlIHRyZWUgc2NvcGUgYWxsb3dzIGF1dGhv
ciBydWxlcworICAgICAgICAgICAgLy8gYykgdGhlIHJ1bGVzIGNvbWVzIGZyb20gYSBzY29wZWQg
c3R5bGUgc2hlZXQgd2l0aGluIHRoZSBzYW1lIHRyZWUgc2NvcGUKKyAgICAgICAgICAgIC8vIGQp
IHRoZSBydWxlIGNvbnRhaW5zIHNoYWRvdy1JRCBwc2V1ZG8gZWxlbWVudHMKKyAgICAgICAgICAg
IFRyZWVTY29wZSogdHJlZVNjb3BlID0gbV9lbGVtZW50LT50cmVlU2NvcGUoKTsKKyAgICAgICAg
ICAgIGlmICghTWF0Y2hpbmdVQVJ1bGVzU2NvcGU6OmlzTWF0Y2hpbmdVQVJ1bGVzKCkKKyAgICAg
ICAgICAgICAgICAmJiAhdHJlZVNjb3BlLT5hcHBseUF1dGhvclNoZWV0cygpCisjaWYgRU5BQkxF
KFNUWUxFX1NDT1BFRCkKKyAgICAgICAgICAgICAgICAmJiAoIW1fY3VycmVudFNjb3BlIHx8IG1f
Y3VycmVudFNjb3BlLT50cmVlU2NvcGUoKSAhPSB0cmVlU2NvcGUpCisjZW5kaWYKKyAgICAgICAg
ICAgICAgICAmJiAhbV9jaGVja2VyLmhhc1Vua25vd25Qc2V1ZG9FbGVtZW50cygpKSB7CisKICAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE1hdGNoUnVsZShjb29r
aWUsIGZhbHNlKTsKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCmluZGV4IDYzM2Y3MDNhN2YwODkxMjE3NWZi
ZDA5OWYzMDk0MjliODIxMzljYWUuLmQ5OWY3YzEyNDc0MWE5NzIwNjU3Mjg0NDkwNGI1NWY0OGNk
ZjVjZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaApAQCAtMTA2LDEwICsx
MDYsNiBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICAgICBib29sIHN0cmljdFBhcnNpbmcs
IGJvb2wgbWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzKTsKICAgICB+Q1NTU3R5bGVTZWxlY3Rvcigp
OwogCi0jaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKLSAgICBzdGF0aWMgRWxlbWVudCogZGV0ZXJt
aW5lU2NvcGluZ0VsZW1lbnQoY29uc3QgQ1NTU3R5bGVTaGVldCopOwotI2VuZGlmCi0KICAgICAv
LyBVc2luZyB0aGVzZSBkdXJpbmcgdHJlZSB3YWxrIHdpbGwgYWxsb3cgc3R5bGUgc2VsZWN0b3Ig
dG8gb3B0aW1pemUgY2hpbGQgYW5kIGRlc2NlbmRhbnQgc2VsZWN0b3IgbG9va3Vwcy4KICAgICB2
b2lkIHB1c2hQYXJlbnQoRWxlbWVudCogcGFyZW50KTsKICAgICB2b2lkIHBvcFBhcmVudChFbGVt
ZW50KiBwYXJlbnQpOwpAQCAtNDQ2LDYgKzQ0Miw5IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogI2lm
IEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgc3RhdGljIGNvbnN0IEVsZW1lbnQqIGRldGVybWlu
ZVNjb3BpbmdFbGVtZW50KGNvbnN0IENTU1N0eWxlU2hlZXQqKTsKKyAgICB2b2lkIHNldFNjb3Bl
KGNvbnN0IEVsZW1lbnQqIHNjb3BlKSB7IG1fY3VycmVudFNjb3BlID0gc2NvcGU7IG1fY2hlY2tl
ci5zZXRTY29wZShzY29wZSk7IH0KKwogICAgIHR5cGVkZWYgSGFzaE1hcDxjb25zdCBFbGVtZW50
KiwgT3duUHRyPFJ1bGVTZXQ+ID4gU2NvcGVkUnVsZVNldE1hcDsKIAogICAgIFJ1bGVTZXQqIHNj
b3BlZFJ1bGVTZXRGb3JFbGVtZW50KGNvbnN0IEVsZW1lbnQqKSBjb25zdDsKQEAgLTQ2Nyw2ICs0
NjYsOSBAQCBwcml2YXRlOgogICAgIC8vIEVsZW1lbnQgbGFzdCBzZWVuIGFzIHBhcmVudCBlbGVt
ZW50IHdoZW4gdXBkYXRpbmcgbV9zY29waW5nRWxlbWVudFN0YWNrLgogICAgIC8vIFRoaXMgaXMg
dXNlZCB0byBkZWNpZGUgd2hldGhlciBtX3Njb3BpbmdFbGVtZW50U3RhY2sgaXMgY29uc2lzdGVu
dCwgc2VwYXJhdGVseSBmcm9tIFNlbGVjdG9yQ2hlY2tlcjo6bV9wYXJlbnRTdGFjay4KICAgICBj
b25zdCBFbGVtZW50KiBtX3Njb3BpbmdFbGVtZW50U3RhY2tQYXJlbnQ7CisKKyAgICAvLyBGb3Ig
c2VsZWN0b3IgbWF0Y2hpbmcsIHRoaXMgcG9pbnRzIHRvIHRoZSA6c2NvcGUgZWxlbWVudCwgaWYg
YW55LgorICAgIGNvbnN0IEVsZW1lbnQqIG1fY3VycmVudFNjb3BlOwogI2VuZGlmCiAKICAgICBm
cmllbmQgY2xhc3MgQ1NTU3R5bGVBcHBseVByb3BlcnR5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0
b3JDaGVja2VyLmNwcAppbmRleCA4MjA1YWYwMzljYTljODNiYTljNmI0NzAzOTFmOTk4NWVjZmJl
ZWE0Li40MDYwMzFhODQxZjJlNTBjYjJmN2JjMmVmNmJiZmVmZmY4N2NjMTQ4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcApAQCAtNzYsNiArNzYsOSBAQCBTZWxlY3RvckNo
ZWNrZXI6OlNlbGVjdG9yQ2hlY2tlcihEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgc3RyaWN0UGFy
c2luZykKICAgICAsIG1faXNDb2xsZWN0aW5nUnVsZXNPbmx5KGZhbHNlKQogICAgICwgbV9wc2V1
ZG9TdHlsZShOT1BTRVVETykKICAgICAsIG1faGFzVW5rbm93blBzZXVkb0VsZW1lbnRzKGZhbHNl
KQorI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgLCBtX2N1cnJlbnRTY29wZSgwKQorI2Vu
ZGlmCiB7CiB9CiAKQEAgLTI4MCw3ICsyODMsMTEgQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNo
ZWNrU2VsZWN0b3IoQ1NTU2VsZWN0b3IqIHNlbCwgRWxlbWVudCogZWxlbWVudCwgYm9vbCBpc0YK
IG5hbWVzcGFjZSB7CiAKIHRlbXBsYXRlIDxib29sIGNoZWNrVmFsdWUoY29uc3QgRWxlbWVudCos
IEF0b21pY1N0cmluZ0ltcGwqLCBjb25zdCBRdWFsaWZpZWROYW1lJiksIGJvb2wgaW5pdEF0dHJp
YnV0ZU5hbWU+CisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKK2lubGluZSBib29sIGZhc3RDaGVj
a1NpbmdsZVNlbGVjdG9yKGNvbnN0IENTU1NlbGVjdG9yKiYgc2VsZWN0b3IsIGNvbnN0IEVsZW1l
bnQqJiBlbGVtZW50LCBjb25zdCBFbGVtZW50KiBzY29wZSwgY29uc3QgQ1NTU2VsZWN0b3IqJiB0
b3BDaGlsZE9yU3Vic2VsZWN0b3IsIGNvbnN0IEVsZW1lbnQqJiB0b3BDaGlsZE9yU3Vic2VsZWN0
b3JNYXRjaEVsZW1lbnQpCisjZWxzZQogaW5saW5lIGJvb2wgZmFzdENoZWNrU2luZ2xlU2VsZWN0
b3IoY29uc3QgQ1NTU2VsZWN0b3IqJiBzZWxlY3RvciwgY29uc3QgRWxlbWVudComIGVsZW1lbnQs
IGNvbnN0IENTU1NlbGVjdG9yKiYgdG9wQ2hpbGRPclN1YnNlbGVjdG9yLCBjb25zdCBFbGVtZW50
KiYgdG9wQ2hpbGRPclN1YnNlbGVjdG9yTWF0Y2hFbGVtZW50KQorI2VuZGlmCiB7CiAgICAgQXRv
bWljU3RyaW5nSW1wbCogdmFsdWUgPSBzZWxlY3Rvci0+dmFsdWUoKS5pbXBsKCk7CiAgICAgY29u
c3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlID0gaW5pdEF0dHJpYnV0ZU5hbWUgPyBzZWxlY3Rv
ci0+YXR0cmlidXRlKCkgOiBhbnlRTmFtZSgpOwpAQCAtMjk0LDcgKzMwMSwxMSBAQCBpbmxpbmUg
Ym9vbCBmYXN0Q2hlY2tTaW5nbGVTZWxlY3Rvcihjb25zdCBDU1NTZWxlY3RvciomIHNlbGVjdG9y
LCBjb25zdCBFbGVtZW50KgogICAgICAgICAgICAgICAgIHRvcENoaWxkT3JTdWJzZWxlY3Rvck1h
dGNoRWxlbWVudCA9IGVsZW1lbnQ7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoc2Vs
ZWN0b3ItPnJlbGF0aW9uKCkgIT0gQ1NTU2VsZWN0b3I6OlN1YlNlbGVjdG9yKQorI2lmIEVOQUJM
RShTVFlMRV9TQ09QRUQpCisgICAgICAgICAgICAgICAgZWxlbWVudCA9IChlbGVtZW50ID09IHNj
b3BlKSA/IDAgOiBlbGVtZW50LT5wYXJlbnRFbGVtZW50KCk7CisjZWxzZQogICAgICAgICAgICAg
ICAgIGVsZW1lbnQgPSBlbGVtZW50LT5wYXJlbnRFbGVtZW50KCk7CisjZW5kaWYKICAgICAgICAg
ICAgIHNlbGVjdG9yID0gc2VsZWN0b3ItPnRhZ0hpc3RvcnkoKTsKICAgICAgICAgICAgIHJldHVy
biB0cnVlOwogICAgICAgICB9CkBAIC0zMDcsMTAgKzMxOCwxOSBAQCBpbmxpbmUgYm9vbCBmYXN0
Q2hlY2tTaW5nbGVTZWxlY3Rvcihjb25zdCBDU1NTZWxlY3RvciomIHNlbGVjdG9yLCBjb25zdCBF
bGVtZW50KgogICAgICAgICAgICAgLy8gVGhlcmUgbWF5IGJlIG90aGVyIG1hdGNoZXMgZG93biB0
aGUgYW5jZXN0b3IgY2hhaW4uCiAgICAgICAgICAgICAvLyBSZXdpbmQgdG8gdGhlIHRvcG1vc3Qg
Y2hpbGQgb3Igc3Vic2VsZWN0b3IgYW5kIHRoZSBlbGVtZW50IGl0IG1hdGNoZWQsIGNvbnRpbnVl
IGNoZWNraW5nIGFuY2VzdG9ycy4KICAgICAgICAgICAgIHNlbGVjdG9yID0gdG9wQ2hpbGRPclN1
YnNlbGVjdG9yOworI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCisgICAgICAgICAgICBlbGVtZW50
ID0gKHRvcENoaWxkT3JTdWJzZWxlY3Rvck1hdGNoRWxlbWVudCA9PSBzY29wZSkgPyAwIDogdG9w
Q2hpbGRPclN1YnNlbGVjdG9yTWF0Y2hFbGVtZW50LT5wYXJlbnRFbGVtZW50KCk7CisjZWxzZQog
ICAgICAgICAgICAgZWxlbWVudCA9IHRvcENoaWxkT3JTdWJzZWxlY3Rvck1hdGNoRWxlbWVudC0+
cGFyZW50RWxlbWVudCgpOworI2VuZGlmCiAgICAgICAgICAgICB0b3BDaGlsZE9yU3Vic2VsZWN0
b3IgPSAwOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KKyNpZiBFTkFCTEUo
U1RZTEVfU0NPUEVEKQorICAgICAgICAvLyBEbyBub3QgZ28gdXAgdGhlIHRyZWUgcGFzdCB0aGUg
c2NvcGluZyBlbGVtZW50LgorICAgICAgICBpZiAoZWxlbWVudCA9PSBzY29wZSkKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiB9CkBA
IC0zNzEsNyArMzkxLDExIEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpmYXN0Q2hlY2tTZWxlY3Rv
cihjb25zdCBDU1NTZWxlY3Rvciogc2VsZWN0b3IsIGNvbnN0IEVsZW1lCiAgICAgICAgIHRvcENo
aWxkT3JTdWJzZWxlY3RvciA9IHNlbGVjdG9yOwogCiAgICAgaWYgKHNlbGVjdG9yLT5yZWxhdGlv
bigpICE9IENTU1NlbGVjdG9yOjpTdWJTZWxlY3RvcikKKyNpZiBFTkFCTEUoU1RZTEVfU0NPUEVE
KQorICAgICAgICBlbGVtZW50ID0gKGVsZW1lbnQgPT0gbV9jdXJyZW50U2NvcGUpID8gMCA6IGVs
ZW1lbnQtPnBhcmVudEVsZW1lbnQoKTsKKyNlbHNlCiAgICAgICAgIGVsZW1lbnQgPSBlbGVtZW50
LT5wYXJlbnRFbGVtZW50KCk7CisjZW5kaWYKIAogICAgIHNlbGVjdG9yID0gc2VsZWN0b3ItPnRh
Z0hpc3RvcnkoKTsKIApAQCAtMzc5LDIwICs0MDMsMzYgQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6
OmZhc3RDaGVja1NlbGVjdG9yKGNvbnN0IENTU1NlbGVjdG9yKiBzZWxlY3RvciwgY29uc3QgRWxl
bWUKICAgICB3aGlsZSAoc2VsZWN0b3IpIHsKICAgICAgICAgc3dpdGNoIChzZWxlY3Rvci0+bV9t
YXRjaCkgewogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpDbGFzczoKKyNpZiBFTkFCTEUoU1RZ
TEVfU0NPUEVEKQorICAgICAgICAgICAgaWYgKCFmYXN0Q2hlY2tTaW5nbGVTZWxlY3RvcjxjaGVj
a0NsYXNzVmFsdWUsIGZhbHNlPihzZWxlY3RvciwgZWxlbWVudCwgbV9jdXJyZW50U2NvcGUsIHRv
cENoaWxkT3JTdWJzZWxlY3RvciwgdG9wQ2hpbGRPclN1YnNlbGVjdG9yTWF0Y2hFbGVtZW50KSkK
KyNlbHNlCiAgICAgICAgICAgICBpZiAoIWZhc3RDaGVja1NpbmdsZVNlbGVjdG9yPGNoZWNrQ2xh
c3NWYWx1ZSwgZmFsc2U+KHNlbGVjdG9yLCBlbGVtZW50LCB0b3BDaGlsZE9yU3Vic2VsZWN0b3Is
IHRvcENoaWxkT3JTdWJzZWxlY3Rvck1hdGNoRWxlbWVudCkpCisjZW5kaWYKICAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NT
ZWxlY3Rvcjo6SWQ6CisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKKyAgICAgICAgICAgIGlmICgh
ZmFzdENoZWNrU2luZ2xlU2VsZWN0b3I8Y2hlY2tJRFZhbHVlLCBmYWxzZT4oc2VsZWN0b3IsIGVs
ZW1lbnQsIG1fY3VycmVudFNjb3BlLCB0b3BDaGlsZE9yU3Vic2VsZWN0b3IsIHRvcENoaWxkT3JT
dWJzZWxlY3Rvck1hdGNoRWxlbWVudCkpCisjZWxzZQogICAgICAgICAgICAgaWYgKCFmYXN0Q2hl
Y2tTaW5nbGVTZWxlY3RvcjxjaGVja0lEVmFsdWUsIGZhbHNlPihzZWxlY3RvciwgZWxlbWVudCwg
dG9wQ2hpbGRPclN1YnNlbGVjdG9yLCB0b3BDaGlsZE9yU3Vic2VsZWN0b3JNYXRjaEVsZW1lbnQp
KQorI2VuZGlmCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6Ok5vbmU6CisjaWYgRU5BQkxFKFNUWUxFX1ND
T1BFRCkKKyAgICAgICAgICAgIGlmICghZmFzdENoZWNrU2luZ2xlU2VsZWN0b3I8Y2hlY2tUYWdW
YWx1ZSwgZmFsc2U+KHNlbGVjdG9yLCBlbGVtZW50LCBtX2N1cnJlbnRTY29wZSwgdG9wQ2hpbGRP
clN1YnNlbGVjdG9yLCB0b3BDaGlsZE9yU3Vic2VsZWN0b3JNYXRjaEVsZW1lbnQpKQorI2Vsc2UK
ICAgICAgICAgICAgIGlmICghZmFzdENoZWNrU2luZ2xlU2VsZWN0b3I8Y2hlY2tUYWdWYWx1ZSwg
ZmFsc2U+KHNlbGVjdG9yLCBlbGVtZW50LCB0b3BDaGlsZE9yU3Vic2VsZWN0b3IsIHRvcENoaWxk
T3JTdWJzZWxlY3Rvck1hdGNoRWxlbWVudCkpCisjZW5kaWYKICAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6
U2V0OgogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpFeGFjdDoKKyNpZiBFTkFCTEUoU1RZTEVf
U0NPUEVEKQorICAgICAgICAgICAgaWYgKCFmYXN0Q2hlY2tTaW5nbGVTZWxlY3RvcjxjaGVja0V4
YWN0QXR0cmlidXRlVmFsdWUsIHRydWU+KHNlbGVjdG9yLCBlbGVtZW50LCBtX2N1cnJlbnRTY29w
ZSwgdG9wQ2hpbGRPclN1YnNlbGVjdG9yLCB0b3BDaGlsZE9yU3Vic2VsZWN0b3JNYXRjaEVsZW1l
bnQpKQorI2Vsc2UKICAgICAgICAgICAgIGlmICghZmFzdENoZWNrU2luZ2xlU2VsZWN0b3I8Y2hl
Y2tFeGFjdEF0dHJpYnV0ZVZhbHVlLCB0cnVlPihzZWxlY3RvciwgZWxlbWVudCwgdG9wQ2hpbGRP
clN1YnNlbGVjdG9yLCB0b3BDaGlsZE9yU3Vic2VsZWN0b3JNYXRjaEVsZW1lbnQpKQorI2VuZGlm
CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGRlZmF1bHQ6CkBAIC00NzYsNiArNTE2LDEwIEBAIFNlbGVjdG9yQ2hlY2tlcjo6U2VsZWN0
b3JNYXRjaCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrU2VsZWN0b3IoQ1NTU2VsZWN0b3IqIHNlbCwK
ICAgICBzd2l0Y2ggKHJlbGF0aW9uKSB7CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6RGVzY2VuZGFu
dDoKICAgICAgICAgd2hpbGUgKHRydWUpIHsKKyNpZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQorICAg
ICAgICAgICAgaWYgKGUgPT0gbV9jdXJyZW50U2NvcGUpCisgICAgICAgICAgICAgICAgcmV0dXJu
IFNlbGVjdG9yRmFpbHNDb21wbGV0ZWx5OworI2VuZGlmCiAgICAgICAgICAgICBDb250YWluZXJO
b2RlKiBuID0gZS0+cGFyZW50Tm9kZSgpOwogICAgICAgICAgICAgaWYgKCFuIHx8ICFuLT5pc0Vs
ZW1lbnROb2RlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIFNlbGVjdG9yRmFpbHNDb21wbGV0
ZWx5OwpAQCAtNDg3LDYgKzUzMSwxMCBAQCBTZWxlY3RvckNoZWNrZXI6OlNlbGVjdG9yTWF0Y2gg
U2VsZWN0b3JDaGVja2VyOjpjaGVja1NlbGVjdG9yKENTU1NlbGVjdG9yKiBzZWwsCiAgICAgICAg
IGJyZWFrOwogICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkNoaWxkOgogICAgICAgICB7CisjaWYgRU5B
QkxFKFNUWUxFX1NDT1BFRCkKKyAgICAgICAgICAgIGlmIChlID09IG1fY3VycmVudFNjb3BlKQor
ICAgICAgICAgICAgICAgIHJldHVybiBTZWxlY3RvckZhaWxzQ29tcGxldGVseTsKKyNlbmRpZgog
ICAgICAgICAgICAgQ29udGFpbmVyTm9kZSogbiA9IGUtPnBhcmVudE5vZGUoKTsKICAgICAgICAg
ICAgIGlmICghbiB8fCAhbi0+aXNFbGVtZW50Tm9kZSgpKQogICAgICAgICAgICAgICAgIHJldHVy
biBTZWxlY3RvckZhaWxzQ29tcGxldGVseTsKQEAgLTQ5NSw2ICs1NDMsMTAgQEAgU2VsZWN0b3JD
aGVja2VyOjpTZWxlY3Rvck1hdGNoIFNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tTZWxlY3RvcihDU1NT
ZWxlY3Rvciogc2VsLAogICAgICAgICB9CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6RGlyZWN0QWRq
YWNlbnQ6CiAgICAgICAgIHsKKyNpZiBFTkFCTEUoU1RZTEVfU0NPUEVEKQorICAgICAgICAgICAg
aWYgKGUgPT0gbV9jdXJyZW50U2NvcGUpCisgICAgICAgICAgICAgICAgcmV0dXJuIFNlbGVjdG9y
RmFpbHNDb21wbGV0ZWx5OworI2VuZGlmCiAgICAgICAgICAgICBpZiAoIW1faXNDb2xsZWN0aW5n
UnVsZXNPbmx5ICYmIGUtPnBhcmVudE5vZGUoKSAmJiBlLT5wYXJlbnROb2RlKCktPmlzRWxlbWVu
dE5vZGUoKSkgewogICAgICAgICAgICAgICAgIFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSA9IGVs
ZW1lbnRTdHlsZSA/IGVsZW1lbnRQYXJlbnRTdHlsZSA6IGUtPnBhcmVudE5vZGUoKS0+cmVuZGVy
U3R5bGUoKTsKICAgICAgICAgICAgICAgICBpZiAocGFyZW50U3R5bGUpCkBAIC01MTUsNiArNTY3
LDEwIEBAIFNlbGVjdG9yQ2hlY2tlcjo6U2VsZWN0b3JNYXRjaCBTZWxlY3RvckNoZWNrZXI6OmNo
ZWNrU2VsZWN0b3IoQ1NTU2VsZWN0b3IqIHNlbCwKICAgICAgICAgICAgICAgICBwYXJlbnRTdHls
ZS0+c2V0Q2hpbGRyZW5BZmZlY3RlZEJ5Rm9yd2FyZFBvc2l0aW9uYWxSdWxlcygpOwogICAgICAg
ICB9CiAgICAgICAgIHdoaWxlICh0cnVlKSB7CisjaWYgRU5BQkxFKFNUWUxFX1NDT1BFRCkKKyAg
ICAgICAgICAgIGlmIChlID09IG1fY3VycmVudFNjb3BlKQorICAgICAgICAgICAgICAgIHJldHVy
biBTZWxlY3RvckZhaWxzQ29tcGxldGVseTsKKyNlbmRpZgogICAgICAgICAgICAgTm9kZSogbiA9
IGUtPnByZXZpb3VzU2libGluZygpOwogICAgICAgICAgICAgd2hpbGUgKG4gJiYgIW4tPmlzRWxl
bWVudE5vZGUoKSkKICAgICAgICAgICAgICAgICBuID0gbi0+cHJldmlvdXNTaWJsaW5nKCk7CkBA
IC01MzYsNiArNTkyLDExIEBAIFNlbGVjdG9yQ2hlY2tlcjo6U2VsZWN0b3JNYXRjaCBTZWxlY3Rv
ckNoZWNrZXI6OmNoZWNrU2VsZWN0b3IoQ1NTU2VsZWN0b3IqIHNlbCwKICAgICAgICAgcmV0dXJu
IGNoZWNrU2VsZWN0b3Ioc2VsLCBlLCBkeW5hbWljUHNldWRvLCB0cnVlLCB2aXNpdGVkTWF0Y2hU
eXBlLCBlbGVtZW50U3R5bGUsIGVsZW1lbnRQYXJlbnRTdHlsZSk7CiAgICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6U2hhZG93RGVzY2VuZGFudDoKICAgICAgICAgeworI2lmIEVOQUJMRShTVFlMRV9TQ09Q
RUQpCisgICAgICAgICAgICAvLyBJZiB3ZSdyZSBpbiB0aGUgc2FtZSB0cmVlLXNjb3BlIGFzIHRo
ZSBzY29waW5nIGVsZW1lbnQsIHRoZW4gZm9sbG93aW5nIGEgc2hhZG93IGRlc2NlbmRhbnQgY29t
YmluYXRvciB3b3VsZCBlc2NhcGUgdGhhdCBhbmQgdGh1cyB0aGUgc2NvcGUuCisgICAgICAgICAg
ICBpZiAobV9jdXJyZW50U2NvcGUgJiYgbV9jdXJyZW50U2NvcGUtPnRyZWVTY29wZSgpID09IGUt
PnRyZWVTY29wZSgpKQorICAgICAgICAgICAgICAgIHJldHVybiBTZWxlY3RvckZhaWxzQ29tcGxl
dGVseTsKKyNlbmRpZgogICAgICAgICAgICAgTm9kZSogc2hhZG93SG9zdE5vZGUgPSBlLT5zaGFk
b3dBbmNlc3Rvck5vZGUoKTsKICAgICAgICAgICAgIGlmIChzaGFkb3dIb3N0Tm9kZSA9PSBlIHx8
ICFzaGFkb3dIb3N0Tm9kZS0+aXNFbGVtZW50Tm9kZSgpKQogICAgICAgICAgICAgICAgIHJldHVy
biBTZWxlY3RvckZhaWxzQ29tcGxldGVseTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TZWxlY3RvckNoZWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIu
aAppbmRleCAzZjk0NjllNWQ3OWIwOWM5YWI4NDJlNzQyZDg1ZmFkNzE3Yjk0NzFmLi40NmI5YzY2
MGY1ZmI1N2YzM2VjMjBlYzY3N2NiNjVlYzQxZTVhM2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVj
dG9yQ2hlY2tlci5oCkBAIC02Niw2ICs2NiwxMCBAQCBwdWJsaWM6CiAgICAgYm9vbCBwYXJlbnRT
dGFja0lzRW1wdHkoKSBjb25zdCB7IHJldHVybiBtX3BhcmVudFN0YWNrLmlzRW1wdHkoKTsgfQog
ICAgIGJvb2wgcGFyZW50U3RhY2tJc0NvbnNpc3RlbnQoY29uc3QgQ29udGFpbmVyTm9kZSogcGFy
ZW50Tm9kZSkgY29uc3QgeyByZXR1cm4gIW1fcGFyZW50U3RhY2suaXNFbXB0eSgpICYmIG1fcGFy
ZW50U3RhY2subGFzdCgpLmVsZW1lbnQgPT0gcGFyZW50Tm9kZTsgfQogCisjaWYgRU5BQkxFKFNU
WUxFX1NDT1BFRCkKKyAgICB2b2lkIHNldFNjb3BlKGNvbnN0IEVsZW1lbnQqIHNjb3BlKSB7IG1f
Y3VycmVudFNjb3BlID0gc2NvcGU7IH0KKyNlbmRpZgorCiAgICAgRUluc2lkZUxpbmsgZGV0ZXJt
aW5lTGlua1N0YXRlKEVsZW1lbnQqKSBjb25zdDsKICAgICB2b2lkIGFsbFZpc2l0ZWRTdGF0ZUNo
YW5nZWQoKTsKICAgICB2b2lkIHZpc2l0ZWRTdGF0ZUNoYW5nZWQoTGlua0hhc2ggdmlzaXRlZEhh
c2gpOwpAQCAtMTIzLDcgKzEyNywxMSBAQCBwcml2YXRlOgogICAgICAgICBWZWN0b3I8dW5zaWdu
ZWQsIDQ+IGlkZW50aWZpZXJIYXNoZXM7CiAgICAgfTsKICAgICBWZWN0b3I8UGFyZW50U3RhY2tG
cmFtZT4gbV9wYXJlbnRTdGFjazsKLSAgICAKKworI2lmIEVOQUJMRShTVFlMRV9TQ09QRUQpCisg
ICAgY29uc3QgRWxlbWVudCogbV9jdXJyZW50U2NvcGU7CisjZW5kaWYKKwogICAgIC8vIFdpdGgg
MTAwIHVuaXF1ZSBzdHJpbmdzIGluIHRoZSBmaWx0ZXIsIDJeMTIgc2xvdCB0YWJsZSBoYXMgZmFs
c2UgcG9zaXRpdmUgcmF0ZSBvZiB+MC4yJS4KICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgYmxv
b21GaWx0ZXJLZXlCaXRzID0gMTI7CiAgICAgT3duUHRyPEJsb29tRmlsdGVyPGJsb29tRmlsdGVy
S2V5Qml0cz4gPiBtX2FuY2VzdG9ySWRlbnRpZmllckZpbHRlcjsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2NTU3OGNiOTJl
YjYyMWJiMWExZWIyODA0NWQwYzAzYmYxMzVhOTYwLi43NzU5NDcyMjFiNGQ2YTUwYzA2MTlkZGUw
NTI5MjRiNGVlNzMwNGVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDItMDEgIFJvbGFu
ZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgPHN0eWxl
IHNjb3BlZD46IGltcGxlbWVudCBzY29wZWQgc2VsZWN0b3IgbWF0Y2hpbmcKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczMTkyCisKKyAgICAgICAgQWRk
IGNhc2VzIHRvIDxzdHlsZSBzY29wZWQ+IHRlc3RzIHRoYXQgZmFpbCBpZiB0aGUgc2VsZWN0b3Ig
aXMgYWxsb3dlZCB0byBleGNlZWQgdGhlIHNjb3BpbmcgZWxlbWVudC4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzL3N0eWxlLXNjb3Bl
ZC9zdHlsZS1zY29wZWQtYmFzaWMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzL3N0
eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtYmFzaWMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy9z
dHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLXJlbW92ZS1zY29wZWQtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGZhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtcmVtb3ZlLXNjb3BlZC5o
dG1sOgorICAgICAgICAqIGZhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtc2V0LXNj
b3BlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxl
LXNjb3BlZC1zZXQtc2NvcGVkLmh0bWw6CisKIDIwMTItMDEtMzEgIEpvZSBUaG9tYXMgIDxqb2V0
aG9tYXNAbW90b3JvbGEuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03NjgwMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5
bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWJhc2ljLWV4cGVjdGVkLnR4dAppbmRl
eCBlOTEyZmRjMGY4M2VjMTQ5M2E0MmMyNTliM2YxODJiYjBmNTZjNzE1Li5iZWZmZDc2Yzg0NGE5
YTgyODkzMmM5ZTNhNTBjYjgzMjEwN2ZmYzMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWJhc2ljLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWJhc2ljLWV4cGVj
dGVkLnR4dApAQCAtMTEsNiArMTEsNyBAQCBUZXh0CiBUZXh0CiBUZXh0CiBUZXh0CitUZXh0CiAK
IFRleHQKIFRleHQKQEAgLTI4LDYgKzI5LDcgQEAgRTE6IHJnYigwLCAwLCAwKQogUzI6IHJnYigy
NTUsIDAsIDApCiBQMjogcmdiKDAsIDEyOCwgMCkKIFIyOiByZ2IoMCwgMCwgMjU1KQorRTI6IHJn
YigyNTUsIDAsIDApCiAKIFMzOiByZ2IoMCwgMCwgMCkKIFAzOiByZ2IoMCwgMCwgMCkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtYmFz
aWMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQt
YmFzaWMuaHRtbAppbmRleCBmZTViNDMxYTkxNmEzOWM2OWZiZGY4NjY4NjRhZThkZmYzZDY4Y2Vl
Li5hNmRmMGExOGIzMDE5N2Q5NDNkMzI5YjVjMGRjNTE4Nzc5MmE1YmU3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLWJhc2ljLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1iYXNp
Yy5odG1sCkBAIC0yOCw2ICsyOCw3IEBACiAgICAgICAgICAgICB0ZXN0KCdTMicpOwogICAgICAg
ICAgICAgdGVzdCgnUDInKTsKICAgICAgICAgICAgIHRlc3QoJ1IyJyk7CisgICAgICAgICAgICB0
ZXN0KCdFMicpOwogICAgICAgICAgICAgbG9nKCcnKTsKICAgICAgICAgICAgIHRlc3QoJ1MzJyk7
CiAgICAgICAgICAgICB0ZXN0KCdQMycpOwpAQCAtNTEsMjkgKzUyLDM1IEBACiAgICAgPGRpdiBj
bGFzcz0iZm9vIj4KICAgICAgICAgPHNwYW4gaWQ9IlMxIj5UZXh0PC9zcGFuPgogICAgICAgICA8
cCBpZD0iUDEiPlRleHQ8L3A+Ci0gICAgICAgIDxwcmUgaWQgPSAiUjEiIGNsYXNzPSJiYXIiPlRl
eHQ8L3ByZT4KKyAgICAgICAgPHByZSBpZD0iUjEiIGNsYXNzPSJiYXIiPlRleHQ8L3ByZT4KICAg
ICAgICAgPHByZSBpZD0iRTEiIGNsYXNzPSJiYXoiPlRleHQ8L3ByZT4KICAgICA8L2Rpdj4KLSAg
ICA8ZGl2PgorICAgIDxkaXYgaWQ9ImZvbyI+CisgICAgICAgIDxkaXYgaWQ9InNpYiI+PC9kaXY+
CiAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiIHNjb3Bl
ZD4KICAgICAgICAgICAgICAgICBkaXYgeyBjb2xvcjogcmVkOyB9CiAgICAgICAgICAgICAgICAg
cCB7IGNvbG9yOiBncmVlbjsgfQogICAgICAgICAgICAgICAgIGRpdiAuYmFyIHsgY29sb3I6IGJs
dWU7IH0KKyAgICAgICAgICAgICAgICAjZm9vIC5iYXogeyBjb2xvcjogcmdiKDEwLCAxMCwgMTAp
OyB9IC8qIHNob3VsZCBOT1QgYXBwbHkhICovCisgICAgICAgICAgICAgICAgc2liICsgKiB7IGNv
bG9yOiByZ2IoMjAsIDIwLCAyMCk7IH0gLyogc2hvdWxkIE5PVCBhcHBseSEgKi8KKyAgICAgICAg
ICAgICAgICBzaWIgfiAqIHsgY29sb3I6IHJnYigzMCwgMzAsIDMwKTsgfSAvKiBzaG91bGQgTk9U
IGFwcGx5ISAqLworICAgICAgICAgICAgICAgIGRpdiBkaXYgeyBjb2xvcjogcmdiKDQwLCA0MCwg
NDApOyB9IC8qIHNob3VsZCBOT1QgYXBwbHkhICovIAogICAgICAgICAgICAgPC9zdHlsZT4KICAg
ICAgICAgICAgIDxzcGFuIGlkPSJTMiI+VGV4dDwvc3Bhbj4KICAgICAgICAgICAgIDxwIGlkPSJQ
MiI+VGV4dDwvcD4KICAgICAgICAgICAgIDxwcmUgaWQ9IlIyIiBjbGFzcz0iYmFyIj5UZXh0PC9w
cmU+CisgICAgICAgICAgICA8cHJlIGlkPSJFMiIgY2xhc3M9ImJheiI+VGV4dDwvcHJlPgogICAg
ICAgICA8L2Rpdj4KICAgICAgICAgPHNwYW4gaWQ9IlMzIj5UZXh0PC9zcGFuPgogICAgICAgICA8
cCBpZD0iUDMiPlRleHQ8L3A+Ci0gICAgICAgIDxwcmUgaWQgPSAiUjMiIGNsYXNzPSJiYXIiPlRl
eHQ8L3ByZT4KKyAgICAgICAgPHByZSBpZD0iUjMiIGNsYXNzPSJiYXIiPlRleHQ8L3ByZT4KICAg
ICAgICAgPHByZSBpZD0iRTMiIGNsYXNzPSJiYXoiPlRleHQ8L3ByZT4KICAgICA8L2Rpdj4KICAg
ICA8ZGl2IGNsYXNzPSJmb28iPgogICAgICAgICA8c3BhbiBpZD0iUzQiPlRleHQ8L3NwYW4+CiAg
ICAgICAgIDxwIGlkPSJQNCI+VGV4dDwvcD4KLSAgICAgICAgPHByZSBpZCA9ICJSNCIgY2xhc3M9
ImJhciI+VGV4dDwvcHJlPgorICAgICAgICA8cHJlIGlkPSJSNCIgY2xhc3M9ImJhciI+VGV4dDwv
cHJlPgogICAgICAgICA8cHJlIGlkPSJFNCIgY2xhc3M9ImJheiI+VGV4dDwvcHJlPgogICAgIDwv
ZGl2PgogICAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1yZW1vdmUtc2NvcGVkLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQt
cmVtb3ZlLXNjb3BlZC1leHBlY3RlZC50eHQKaW5kZXggM2EyMDU4N2RmNWFmZmY2MmRjMjdmNjJh
YWVjNDUwYjMzNzY1Y2FjOC4uZjc2MzAyMTExY2I5YWU3YWRmMzMxNzdlNTM0ZWVmZDM2NWQwODBk
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNj
b3BlZC1yZW1vdmUtc2NvcGVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLXJlbW92ZS1zY29wZWQtZXhwZWN0ZWQudHh0CkBA
IC00LDI0ICs0LDM5IEBAIFRleHQKIFRleHQKIAogVGV4dAorCisgICAgCitUZXh0CitUZXh0CisK
IFRleHQKIAorICAgIAorVGV4dAogVGV4dAorCiBUZXh0CiAKKyAgICAKIC0tLSBPUklHSU5BTCAt
LS0KIFMxOiByZ2IoMCwgMCwgMCkKIFAxOiByZ2IoMCwgMCwgMCkKK1IxOiByZ2IoMCwgMCwgMCkK
IFMyOiByZ2IoMjU1LCAwLCAwKQogUDI6IHJnYigwLCAxMjgsIDApCitSMjogcmdiKDI1NSwgMCwg
MCkKIFMzOiByZ2IoMCwgMCwgMCkKIFAzOiByZ2IoMCwgMCwgMCkKK1IzOiByZ2IoMCwgMCwgMCkK
IC0tLSBBRlRFUiBVTi1TRVRUSU5HIEBTQ09QRUQgLS0tCiBTMTogcmdiKDI1NSwgMCwgMCkKIFAx
OiByZ2IoMCwgMTI4LCAwKQorUjE6IHJnYigwLCAwLCAyNTUpCiBTMjogcmdiKDI1NSwgMCwgMCkK
IFAyOiByZ2IoMCwgMTI4LCAwKQorUjI6IHJnYigwLCAwLCAyNTUpCiBTMzogcmdiKDI1NSwgMCwg
MCkKIFAzOiByZ2IoMCwgMTI4LCAwKQorUjM6IHJnYigwLCAwLCAyNTUpCiAtLS0gRklOSVNIRUQg
LS0tCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHls
ZS1zY29wZWQtcmVtb3ZlLXNjb3BlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUt
c2NvcGVkL3N0eWxlLXNjb3BlZC1yZW1vdmUtc2NvcGVkLmh0bWwKaW5kZXggZWFhZjM3NzRjYWIy
ZmE3NGZkNzBjNjExYWUwMzJiYTExODQzZDdlZC4uMzlkNWY3NGZlYmNlYTA2N2NhMGJiMjNhNWRh
NTAyMDBjMmJkOTFmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtc2Nv
cGVkL3N0eWxlLXNjb3BlZC1yZW1vdmUtc2NvcGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3Mvc3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1yZW1vdmUtc2NvcGVkLmh0bWwKQEAgLTE3
LDEwICsxNywxMyBAQAogICAgICAgICB7CiAgICAgICAgICAgICB0ZXN0KCdTMScpOwogICAgICAg
ICAgICAgdGVzdCgnUDEnKTsKKyAgICAgICAgICAgIHRlc3QoJ1IxJyk7CiAgICAgICAgICAgICB0
ZXN0KCdTMicpOwogICAgICAgICAgICAgdGVzdCgnUDInKTsKKyAgICAgICAgICAgIHRlc3QoJ1Iy
Jyk7CiAgICAgICAgICAgICB0ZXN0KCdTMycpOwogICAgICAgICAgICAgdGVzdCgnUDMnKTsKKyAg
ICAgICAgICAgIHRlc3QoJ1IzJyk7CiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiBydW5U
ZXN0cygpCkBAIC01MiwxOCArNTUsMjIgQEAKICAgICA8ZGl2PgogICAgICAgICA8c3BhbiBpZD0i
UzEiPlRleHQ8L3NwYW4+CiAgICAgICAgIDxwIGlkPSJQMSI+VGV4dDwvcD4KKyAgICAgICAgPHBy
ZSBpZD0iUjEiPlRleHQ8L3A+CiAgICAgPC9kaXY+CiAgICAgPGRpdj4KICAgICAgICAgPHN0eWxl
IGlkPSJTVFlMRSIgdHlwZT0idGV4dC9jc3MiIHNjb3BlZD4KICAgICAgICAgICAgIGRpdiB7IGNv
bG9yOiByZWQ7IH0KICAgICAgICAgICAgIHAgeyBjb2xvcjogZ3JlZW47IH0KKyAgICAgICAgICAg
IHAgfiBkaXYgcHJlIHsgY29sb3I6IGJsdWU7IH0gLyogc2hvdWxkIE5PVCBhcHBseSB3aGlsZSBz
Y29wZWQhICovCiAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgIDxzcGFuIGlkPSJTMiI+VGV4dDwv
c3Bhbj4KICAgICAgICAgPHAgaWQ9IlAyIj5UZXh0PC9wPgorICAgICAgICA8cHJlIGlkPSJSMiI+
VGV4dDwvcD4KICAgICA8L2Rpdj4KICAgICA8ZGl2PgogICAgICAgICA8c3BhbiBpZD0iUzMiPlRl
eHQ8L3NwYW4+CiAgICAgICAgIDxwIGlkPSJQMyI+VGV4dDwvcD4KKyAgICAgICAgPHByZSBpZD0i
UjMiPlRleHQ8L3A+CiAgICAgPC9kaXY+CiAgICAgPHByZSBpZD0iY29uc29sZSI+PC9wcmU+CiA8
L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5
bGUtc2NvcGVkLXNldC1zY29wZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
c3R5bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1zZXQtc2NvcGVkLWV4cGVjdGVkLnR4dAppbmRleCBm
YTBjNzk2M2M5N2M0NzgwMWUwODQ5Njc1MTEzNzIyMmM0NjY1ZDFjLi45MGE4N2FhMDZkZjkyZTdl
ZTBmZWZmNjRkZjU3YjI0YjNkNzk5ZDc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLXNldC1zY29wZWQtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLXNjb3BlZC9zdHlsZS1zY29wZWQtc2V0LXNjb3Bl
ZC1leHBlY3RlZC50eHQKQEAgLTQsMjQgKzQsMzkgQEAgVGV4dAogVGV4dAogCiBUZXh0CisKKyAg
ICAKK1RleHQKK1RleHQKKwogVGV4dAogCisgICAgCitUZXh0CiBUZXh0CisKIFRleHQKIAorICAg
IAogLS0tIE9SSUdJTkFMIC0tLQogUzE6IHJnYigyNTUsIDAsIDApCiBQMTogcmdiKDAsIDEyOCwg
MCkKK1IxOiByZ2IoMCwgMCwgMjU1KQogUzI6IHJnYigyNTUsIDAsIDApCiBQMjogcmdiKDAsIDEy
OCwgMCkKK1IyOiByZ2IoMCwgMCwgMjU1KQogUzM6IHJnYigyNTUsIDAsIDApCiBQMzogcmdiKDAs
IDEyOCwgMCkKK1IzOiByZ2IoMCwgMCwgMjU1KQogLS0tIEFGVEVSIFNFVFRJTkcgQFNDT1BFRCAt
LS0KIFMxOiByZ2IoMCwgMCwgMCkKIFAxOiByZ2IoMCwgMCwgMCkKK1IxOiByZ2IoMCwgMCwgMCkK
IFMyOiByZ2IoMjU1LCAwLCAwKQogUDI6IHJnYigwLCAxMjgsIDApCitSMjogcmdiKDI1NSwgMCwg
MCkKIFMzOiByZ2IoMCwgMCwgMCkKIFAzOiByZ2IoMCwgMCwgMCkKK1IzOiByZ2IoMCwgMCwgMCkK
IC0tLSBGSU5JU0hFRCAtLS0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5
bGUtc2NvcGVkL3N0eWxlLXNjb3BlZC1zZXQtc2NvcGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLXNldC1zY29wZWQuaHRtbAppbmRleCA5OTAz
YmQ0MWUyOTlkMDM1MDFjZWYxMDU0MGZlMTk1MDBjNGU4MmVlLi44MGFhNWNiMGU3Nzk5ZGY1YWZi
NjgzZGUxMGE1ZjNjYmM2Nzc5MTk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9z
dHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLXNldC1zY29wZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9zdHlsZS1zY29wZWQvc3R5bGUtc2NvcGVkLXNldC1zY29wZWQuaHRtbApAQCAt
MTcsMTAgKzE3LDEzIEBACiAgICAgICAgIHsKICAgICAgICAgICAgIHRlc3QoJ1MxJyk7CiAgICAg
ICAgICAgICB0ZXN0KCdQMScpOworICAgICAgICAgICAgdGVzdCgnUjEnKTsKICAgICAgICAgICAg
IHRlc3QoJ1MyJyk7CiAgICAgICAgICAgICB0ZXN0KCdQMicpOworICAgICAgICAgICAgdGVzdCgn
UjInKTsKICAgICAgICAgICAgIHRlc3QoJ1MzJyk7CiAgICAgICAgICAgICB0ZXN0KCdQMycpOwor
ICAgICAgICAgICAgdGVzdCgnUjMnKTsKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0aW9uIHJ1
blRlc3RzKCkKQEAgLTUyLDE4ICs1NSwyMiBAQAogICAgIDxkaXY+CiAgICAgICAgIDxzcGFuIGlk
PSJTMSI+VGV4dDwvc3Bhbj4KICAgICAgICAgPHAgaWQ9IlAxIj5UZXh0PC9wPgorICAgICAgICA8
cHJlIGlkPSJSMSI+VGV4dDwvcD4KICAgICA8L2Rpdj4KICAgICA8ZGl2PgogICAgICAgICA8c3R5
bGUgaWQ9IlNUWUxFIiB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgICAgICBkaXYgeyBjb2xvcjog
cmVkOyB9CiAgICAgICAgICAgICBwIHsgY29sb3I6IGdyZWVuOyB9CisgICAgICAgICAgICBwIH4g
ZGl2IHByZSB7IGNvbG9yOiBibHVlOyB9IC8qIHNob3VsZCBOT1QgYXBwbHkgd2hpbGUgc2NvcGVk
ISAqLwogICAgICAgICA8L3N0eWxlPgogICAgICAgICA8c3BhbiBpZD0iUzIiPlRleHQ8L3NwYW4+
CiAgICAgICAgIDxwIGlkPSJQMiI+VGV4dDwvcD4KKyAgICAgICAgPHByZSBpZD0iUjIiPlRleHQ8
L3A+CiAgICAgPC9kaXY+CiAgICAgPGRpdj4KICAgICAgICAgPHNwYW4gaWQ9IlMzIj5UZXh0PC9z
cGFuPgogICAgICAgICA8cCBpZD0iUDMiPlRleHQ8L3A+CisgICAgICAgIDxwcmUgaWQ9IlIzIj5U
ZXh0PC9wPgogICAgIDwvZGl2PgogICAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgogPC9ib2R5
Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>