<?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>155493</bug_id>
          
          <creation_ts>2016-03-15 08:58:54 -0700</creation_ts>
          <short_desc>REGRESSION (196383): Class change invalidation does not handle :not correctly</short_desc>
          <delta_ts>2016-03-15 10:26:51 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1174981</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-03-15 08:58:54 -0700</bug_when>
    <thetext>We fail to invalidate bar style in

:not(.foo) bar { }

when class foo is added or removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1174982</commentid>
    <comment_count>1</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-03-15 08:59:21 -0700</bug_when>
    <thetext>rdar://problem/24846762</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1174992</commentid>
    <comment_count>2</comment_count>
      <attachid>274099</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-03-15 09:30:37 -0700</bug_when>
    <thetext>Created attachment 274099
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1174996</commentid>
    <comment_count>3</comment_count>
      <attachid>274100</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-03-15 09:42:49 -0700</bug_when>
    <thetext>Created attachment 274100
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1174998</commentid>
    <comment_count>4</comment_count>
      <attachid>274101</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-03-15 09:51:01 -0700</bug_when>
    <thetext>Created attachment 274101
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1175003</commentid>
    <comment_count>5</comment_count>
      <attachid>274101</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2016-03-15 10:04:38 -0700</bug_when>
    <thetext>Comment on attachment 274101
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1175005</commentid>
    <comment_count>6</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-03-15 10:26:51 -0700</bug_when>
    <thetext>https://trac.webkit.org/r198216</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>274099</attachid>
            <date>2016-03-15 09:30:37 -0700</date>
            <delta_ts>2016-03-15 09:42:49 -0700</delta_ts>
            <desc>patch</desc>
            <filename>class-change-not.patch</filename>
            <type>text/plain</type>
            <size>12824</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5ODIxNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE2LTAzLTE1ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OICgxOTYzODMp
OiBDbGFzcyBjaGFuZ2UgaW52YWxpZGF0aW9uIGRvZXMgbm90IGhhbmRsZSA6bm90IGNvcnJlY3Rs
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NDkz
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNDg0Njc2Mj4gQ2hlY2tpbmcgZm9yIHVwZGF0ZXMg
aXMgbWlzc2luZyBmcm9tIHRoZSBVcGRhdGVzIHBhZ2Ugd2hlbiB0aGVyZSBpcyBubyBqb3VybmFs
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgZmFp
bCB0byBpbnZhbGlkYXRlIGJhciBzdHlsZSBpbgorCisgICAgICAgICAgICA6bm90KC5mb28pIGJh
ciB7IH0KKworICAgICAgICB3aGVuIGNsYXNzIGZvbyBpcyBhZGRlZCBvciByZW1vdmVkLgorCisg
ICAgICAgIFRoZXJlIGlzIGEgbG9naWMgZXJyb3IgaW4gdGhlIGludmFsaWRhdGlvbiBjb2RlLiBJ
dCBhc3N1bWVzIHRoYXQgY2xhc3MgYWRkaXRpb24gY2FuIG9ubHkgbWFrZSBuZXcgc2VsZWN0b3Jz
IG1hdGNoCisgICAgICAgIGFuZCByZW1vdmFsIG1ha2UgdGhlbSBub3QgbWF0Y2guIFRoaXMgaXMg
bm90IHRydWUgd2hlbiA6bm90IGlzIHByZXNlbnQuCisKKyAgICAgICAgKiBzdHlsZS9BdHRyaWJ1
dGVDaGFuZ2VJbnZhbGlkYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpBdHRyaWJ1
dGVDaGFuZ2VJbnZhbGlkYXRpb246OkF0dHJpYnV0ZUNoYW5nZUludmFsaWRhdGlvbik6CisgICAg
ICAgICogc3R5bGUvQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGU6OkNsYXNzQ2hhbmdlSW52YWxpZGF0aW9uOjppbnZhbGlkYXRlU3R5bGUpOgorCisg
ICAgICAgICAgICBJbnZhbGlkYXRlIHN0eWxlIGFuZCBjb2xsZWN0IGZ1bGwgc2V0IG9mIHJ1bGVz
IHRoYXQgbWF5IGFmZmVjdCBkZXNjZW5kYW50IHN0eWxlLgorCisgICAgICAgIChXZWJDb3JlOjpT
dHlsZTo6Q2xhc3NDaGFuZ2VJbnZhbGlkYXRpb246OmludmFsaWRhdGVEZXNjZW5kYW50U3R5bGUp
OgorCisgICAgICAgICAgICBJbnZhbGlkYXRlIHdpdGggdGhpcyBzZXQgYm90aCBiZWZvcmUgYW5k
IGFmdGVyIGNvbW1pdHRpbmcgdGhlIGNoYW5nZXMuCisKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxl
OjpDbGFzc0NoYW5nZUludmFsaWRhdGlvbjo6Y29tcHV0ZUNsYXNzQ2hhbmdlKTogRGVsZXRlZC4K
KyAgICAgICAgKiBzdHlsZS9DbGFzc0NoYW5nZUludmFsaWRhdGlvbi5oOgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGU6OkNsYXNzQ2hhbmdlSW52YWxpZGF0aW9uOjpDbGFzc0NoYW5nZUludmFsaWRh
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6Q2xhc3NDaGFuZ2VJbnZhbGlkYXRpb246
On5DbGFzc0NoYW5nZUludmFsaWRhdGlvbik6CisKIDIwMTYtMDMtMTQgIEplciBOb2JsZSAgPGpl
ci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgVmlkZW8gZWxlbWVudHMgd2l0aCBhdXRvcGxh
eSBkbyBub3QgYmVnaW4gcGxheWluZyB3aGVuIHNjcm9sbGluZyBpbnRvIHZpZXcgaWYgSW52aXNp
YmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQgaXMgc2V0LgpJbmRleDogU291cmNlL1dlYkNvcmUvc3R5
bGUvQXR0cmlidXRlQ2hhbmdlSW52YWxpZGF0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvc3R5bGUvQXR0cmlidXRlQ2hhbmdlSW52YWxpZGF0aW9uLmgJKHJldmlzaW9uIDE5ODA5
NikKKysrIFNvdXJjZS9XZWJDb3JlL3N0eWxlL0F0dHJpYnV0ZUNoYW5nZUludmFsaWRhdGlvbi5o
CSh3b3JraW5nIGNvcHkpCkBAIC00Niw3ICs0Niw3IEBAIHByaXZhdGU6CiAgICAgY29uc3QgYm9v
bCBtX2lzRW5hYmxlZDsKICAgICBFbGVtZW50JiBtX2VsZW1lbnQ7CiAKLSAgICBSdWxlU2V0KiBt
X2Rlc2NlbmRhbnRJbnZhbGlkYXRpb25SdWxlU2V0IHsgbnVsbHB0ciB9OworICAgIGNvbnN0IFJ1
bGVTZXQqIG1fZGVzY2VuZGFudEludmFsaWRhdGlvblJ1bGVTZXQgeyBudWxscHRyIH07CiB9Owog
CiBpbmxpbmUgQXR0cmlidXRlQ2hhbmdlSW52YWxpZGF0aW9uOjpBdHRyaWJ1dGVDaGFuZ2VJbnZh
bGlkYXRpb24oRWxlbWVudCYgZWxlbWVudCwgY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRl
TmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgQXRvbWljU3RyaW5nJiBu
ZXdWYWx1ZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0eWxlL0NsYXNzQ2hhbmdlSW52YWxpZGF0
aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdHlsZS9DbGFzc0NoYW5nZUlu
dmFsaWRhdGlvbi5jcHAJKHJldmlzaW9uIDE5ODA5NikKKysrIFNvdXJjZS9XZWJDb3JlL3N0eWxl
L0NsYXNzQ2hhbmdlSW52YWxpZGF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMsMTkgKzQz
LDE3IEBAIGF1dG8gQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb246OmNvbGxlY3RDbGEKICAgICByZXR1
cm4gcmVzdWx0OwogfQogCi12b2lkIENsYXNzQ2hhbmdlSW52YWxpZGF0aW9uOjpjb21wdXRlQ2xh
c3NDaGFuZ2UoY29uc3QgU3BhY2VTcGxpdFN0cmluZyYgb2xkQ2xhc3NlcywgY29uc3QgU3BhY2VT
cGxpdFN0cmluZyYgbmV3Q2xhc3NlcykKK2F1dG8gQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb246OmNv
bXB1dGVDbGFzc0NoYW5nZShjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBvbGRDbGFzc2VzLCBjb25z
dCBTcGFjZVNwbGl0U3RyaW5nJiBuZXdDbGFzc2VzKSAtPiBDbGFzc0NoYW5nZVZlY3Rvcgogewog
ICAgIHVuc2lnbmVkIG9sZFNpemUgPSBvbGRDbGFzc2VzLnNpemUoKTsKICAgICB1bnNpZ25lZCBu
ZXdTaXplID0gbmV3Q2xhc3Nlcy5zaXplKCk7CiAKLSAgICBpZiAoIW9sZFNpemUpIHsKLSAgICAg
ICAgbV9hZGRlZENsYXNzZXMgPSBjb2xsZWN0Q2xhc3NlcyhuZXdDbGFzc2VzKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLSAgICBpZiAoIW5ld1NpemUpIHsKLSAgICAgICAgbV9yZW1vdmVkQ2xh
c3NlcyA9IGNvbGxlY3RDbGFzc2VzKG9sZENsYXNzZXMpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQorICAgIGlmICghb2xkU2l6ZSkKKyAgICAgICAgcmV0dXJuIGNvbGxlY3RDbGFzc2VzKG5ld0Ns
YXNzZXMpOworICAgIGlmICghbmV3U2l6ZSkKKyAgICAgICAgcmV0dXJuIGNvbGxlY3RDbGFzc2Vz
KG9sZENsYXNzZXMpOworCisgICAgQ2xhc3NDaGFuZ2VWZWN0b3IgY2hhbmdlZENsYXNzZXM7CiAK
ICAgICBCaXRWZWN0b3IgcmVtYWluaW5nQ2xhc3NCaXRzOwogICAgIHJlbWFpbmluZ0NsYXNzQml0
cy5lbnN1cmVTaXplKG9sZFNpemUpOwpAQCAtNzAsMTQgKzY4LDE2IEBAIHZvaWQgQ2xhc3NDaGFu
Z2VJbnZhbGlkYXRpb246OmNvbXB1dGVDbGEKICAgICAgICAgfQogICAgICAgICBpZiAoZm91bmRG
cm9tQm90aCkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBtX2FkZGVkQ2xhc3Nlcy5h
cHBlbmQobmV3Q2xhc3Nlc1tpXS5pbXBsKCkpOworICAgICAgICBjaGFuZ2VkQ2xhc3Nlcy5hcHBl
bmQobmV3Q2xhc3Nlc1tpXS5pbXBsKCkpOwogICAgIH0KICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgb2xkU2l6ZTsgKytpKSB7CiAgICAgICAgIC8vIElmIHRoZSBiaXQgaXMgbm90IHNldCB0
aGUgdGhlIGNvcnJlc3BvbmRpbmcgY2xhc3MgaGFzIGJlZW4gcmVtb3ZlZC4KICAgICAgICAgaWYg
KHJlbWFpbmluZ0NsYXNzQml0cy5xdWlja0dldChpKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwot
ICAgICAgICBtX3JlbW92ZWRDbGFzc2VzLmFwcGVuZChvbGRDbGFzc2VzW2ldLmltcGwoKSk7Cisg
ICAgICAgIGNoYW5nZWRDbGFzc2VzLmFwcGVuZChvbGRDbGFzc2VzW2ldLmltcGwoKSk7CiAgICAg
fQorCisgICAgcmV0dXJuIGNoYW5nZWRDbGFzc2VzOwogfQogCiB2b2lkIENsYXNzQ2hhbmdlSW52
YWxpZGF0aW9uOjppbnZhbGlkYXRlU3R5bGUoY29uc3QgQ2xhc3NDaGFuZ2VWZWN0b3ImIGNoYW5n
ZWRDbGFzc2VzKQpAQCAtMTA3LDYgKzEwNywxNSBAQCB2b2lkIENsYXNzQ2hhbmdlSW52YWxpZGF0
aW9uOjppbnZhbGlkYXRlCiAgICAgICAgIGF1dG8qIGFuY2VzdG9yQ2xhc3NSdWxlcyA9IHJ1bGVT
ZXRzLmFuY2VzdG9yQ2xhc3NSdWxlcyhjaGFuZ2VkQ2xhc3MpOwogICAgICAgICBpZiAoIWFuY2Vz
dG9yQ2xhc3NSdWxlcykKICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBtX2Rlc2NlbmRh
bnRJbnZhbGlkYXRpb25SdWxlU2V0cy5hcHBlbmQoYW5jZXN0b3JDbGFzc1J1bGVzKTsKKyAgICB9
Cit9CisKK3ZvaWQgQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb246OmludmFsaWRhdGVEZXNjZW5kYW50
U3R5bGUoKQoreworICAgIGlmIChtX2Rlc2NlbmRhbnRJbnZhbGlkYXRpb25SdWxlU2V0cy5pc0Vt
cHR5KCkpCisgICAgICAgIHJldHVybjsKKyAgICBmb3IgKGF1dG8qIGFuY2VzdG9yQ2xhc3NSdWxl
cyA6IG1fZGVzY2VuZGFudEludmFsaWRhdGlvblJ1bGVTZXRzKSB7CiAgICAgICAgIFN0eWxlSW52
YWxpZGF0aW9uQW5hbHlzaXMgaW52YWxpZGF0aW9uQW5hbHlzaXMoKmFuY2VzdG9yQ2xhc3NSdWxl
cyk7CiAgICAgICAgIGludmFsaWRhdGlvbkFuYWx5c2lzLmludmFsaWRhdGVTdHlsZShtX2VsZW1l
bnQpOwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0eWxlL0NsYXNzQ2hhbmdlSW52YWxp
ZGF0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3R5bGUvQ2xhc3NDaGFuZ2VJ
bnZhbGlkYXRpb24uaAkocmV2aXNpb24gMTk4MDk2KQorKysgU291cmNlL1dlYkNvcmUvc3R5bGUv
Q2xhc3NDaGFuZ2VJbnZhbGlkYXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtNDYsMTYgKzQ2LDE2
IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdXNpbmcgQ2xhc3NDaGFuZ2VWZWN0b3IgPSBWZWN0
b3I8QXRvbWljU3RyaW5nSW1wbCosIDQ+OwogCi0gICAgdm9pZCBjb21wdXRlQ2xhc3NDaGFuZ2Uo
Y29uc3QgU3BhY2VTcGxpdFN0cmluZyYgb2xkQ2xhc3NlcywgY29uc3QgU3BhY2VTcGxpdFN0cmlu
ZyYgbmV3Q2xhc3Nlcyk7CiAgICAgdm9pZCBpbnZhbGlkYXRlU3R5bGUoY29uc3QgQ2xhc3NDaGFu
Z2VWZWN0b3ImKTsKKyAgICB2b2lkIGludmFsaWRhdGVEZXNjZW5kYW50U3R5bGUoKTsKIAorICAg
IHN0YXRpYyBDbGFzc0NoYW5nZVZlY3RvciBjb21wdXRlQ2xhc3NDaGFuZ2UoY29uc3QgU3BhY2VT
cGxpdFN0cmluZyYgb2xkQ2xhc3NlcywgY29uc3QgU3BhY2VTcGxpdFN0cmluZyYgbmV3Q2xhc3Nl
cyk7CiAgICAgc3RhdGljIENsYXNzQ2hhbmdlVmVjdG9yIGNvbGxlY3RDbGFzc2VzKGNvbnN0IFNw
YWNlU3BsaXRTdHJpbmcmKTsKIAogICAgIGNvbnN0IGJvb2wgbV9pc0VuYWJsZWQ7CiAgICAgRWxl
bWVudCYgbV9lbGVtZW50OwogCi0gICAgQ2xhc3NDaGFuZ2VWZWN0b3IgbV9hZGRlZENsYXNzZXM7
Ci0gICAgQ2xhc3NDaGFuZ2VWZWN0b3IgbV9yZW1vdmVkQ2xhc3NlczsKKyAgICBWZWN0b3I8Y29u
c3QgUnVsZVNldCosIDQ+IG1fZGVzY2VuZGFudEludmFsaWRhdGlvblJ1bGVTZXRzOwogfTsKIAog
aW5saW5lIENsYXNzQ2hhbmdlSW52YWxpZGF0aW9uOjpDbGFzc0NoYW5nZUludmFsaWRhdGlvbihF
bGVtZW50JiBlbGVtZW50LCBjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBvbGRDbGFzc2VzLCBjb25z
dCBTcGFjZVNwbGl0U3RyaW5nJiBuZXdDbGFzc2VzKQpAQCAtNjUsMTUgKzY1LDE2IEBAIGlubGlu
ZSBDbGFzc0NoYW5nZUludmFsaWRhdGlvbjo6Q2xhc3NDaGEKIHsKICAgICBpZiAoIW1faXNFbmFi
bGVkKQogICAgICAgICByZXR1cm47Ci0gICAgY29tcHV0ZUNsYXNzQ2hhbmdlKG9sZENsYXNzZXMs
IG5ld0NsYXNzZXMpOwotICAgIGludmFsaWRhdGVTdHlsZShtX3JlbW92ZWRDbGFzc2VzKTsKKyAg
ICBhdXRvIGNsYXNzQ2hhbmdlcyA9IGNvbXB1dGVDbGFzc0NoYW5nZShvbGRDbGFzc2VzLCBuZXdD
bGFzc2VzKTsKKyAgICBpbnZhbGlkYXRlU3R5bGUoY2xhc3NDaGFuZ2VzKTsKKyAgICBpbnZhbGlk
YXRlRGVzY2VuZGFudFN0eWxlKCk7CiB9CiAKIGlubGluZSBDbGFzc0NoYW5nZUludmFsaWRhdGlv
bjo6fkNsYXNzQ2hhbmdlSW52YWxpZGF0aW9uKCkKIHsKICAgICBpZiAoIW1faXNFbmFibGVkKQog
ICAgICAgICByZXR1cm47Ci0gICAgaW52YWxpZGF0ZVN0eWxlKG1fYWRkZWRDbGFzc2VzKTsKKyAg
ICBpbnZhbGlkYXRlRGVzY2VuZGFudFN0eWxlKCk7CiB9CiAgICAgCiB9CkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiAxOTgwOTYpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwyMCBAQAorMjAxNi0wMy0xNSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5j
b20+CisKKyAgICAgICAgQ2xhc3MgY2hhbmdlIGludmFsaWRhdGlvbiBkb2VzIG5vdCBoYW5kbGUg
Om5vdCBjb3JyZWN0bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE1NTQ5MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZmFzdC9jc3Mvc3R5bGUtaW52YWxpZGF0aW9uLWF0dHJpYnV0ZS1jaGFuZ2UtZGVz
Y2VuZGFudHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzL3N0eWxlLWludmFsaWRh
dGlvbi1hdHRyaWJ1dGUtY2hhbmdlLWRlc2NlbmRhbnRzLmh0bWw6CisKKyAgICAgICAgICAgIEFs
c28gYWRkIDpub3QgY2FzZSBmb3IgYXR0cmlidXRlIGNoYW5nZXMgKHdoaWNoIGhhbmRsZXMgdGhp
cyBjb3JyZWN0bHkgYWxyZWFkeSkuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9zdHlsZS1pbnZhbGlk
YXRpb24tY2xhc3MtY2hhbmdlLWRlc2NlbmRhbnRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L2Nzcy9zdHlsZS1pbnZhbGlkYXRpb24tY2xhc3MtY2hhbmdlLWRlc2NlbmRhbnRzLmh0bWw6
CisKKyAgICAgICAgICAgIEFkZCA6bm90IGNhc2UuCisKIDIwMTYtMDMtMTMgIERhcmluIEFkbGVy
ICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBjb3B5L3Bhc3RlIHBsdWctaW4gY2hl
Y2sgZm9yIFhIVE1MIGRvY3VtZW50CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1p
bnZhbGlkYXRpb24tYXR0cmlidXRlLWNoYW5nZS1kZXNjZW5kYW50cy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtaW52YWxpZGF0aW9uLWF0dHJp
YnV0ZS1jaGFuZ2UtZGVzY2VuZGFudHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxOTgwOTYpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1pbnZhbGlkYXRpb24tYXR0cmlidXRlLWNoYW5n
ZS1kZXNjZW5kYW50cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMsNiArMyw3IEBA
IFRlc3QgdGhhdCB3ZSBpbnZhbGlkYXRlIHRoZSBlbGVtZW50IHN1YnQKIE9uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KIAogCitTZXR0aW5nIGF0dHJpYnV0ZSAnbXlub3RhdHRyJyB2YWx1ZSAnJwog
UEFTUyBoYXNFeHBlY3RlZFN0eWxlIGlzIHRydWUKIFBBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgi
cm9vdCIsICJOb1N0eWxlQ2hhbmdlIikgfHwgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJJ
bmxpbmVTdHlsZUNoYW5nZSIpIGlzIHRydWUKIFBBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgidGFy
Z2V0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCkBAIC0xNDMsNiArMTQ0LDE2IEBAIFBBU1Mg
dGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJOb1N0eWwKIFBBU1MgdGVzdFN0eWxlQ2hhbmdl
VHlwZSgidGFyZ2V0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCiBQQVNTIHRlc3RTdHlsZUNo
YW5nZVR5cGUoImluZXJ0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCiBQQVNTIGhhc0V4cGVj
dGVkU3R5bGUgaXMgdHJ1ZQorUmVtb3ZpbmcgYXR0cmlidXRlICdteW5vdGF0dHInCitQQVNTIHRl
c3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNoYW5nZSIpIHx8IHRlc3RTdHlsZUNo
YW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RT
dHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJJbmxpbmVTdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BB
U1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9TdHlsZUNoYW5nZSIpIGlzIHRydWUK
K1BBU1MgaGFzRXhwZWN0ZWRTdHlsZSBpcyB0cnVlCitTZXR0aW5nIGF0dHJpYnV0ZSAnbXlub3Rh
dHRyJyB2YWx1ZSAndmFsdWUnCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9T
dHlsZUNoYW5nZSIpIHx8IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVD
aGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJJbmxp
bmVTdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQi
LCAiTm9TdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgaGFzRXhwZWN0ZWRTdHlsZSBpcyB0cnVl
CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLWludmFsaWRhdGlvbi1hdHRyaWJ1dGUtY2hhbmdl
LWRlc2NlbmRhbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5
bGUtaW52YWxpZGF0aW9uLWF0dHJpYnV0ZS1jaGFuZ2UtZGVzY2VuZGFudHMuaHRtbAkocmV2aXNp
b24gMTk4MDk2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtaW52YWxpZGF0aW9uLWF0
dHJpYnV0ZS1jaGFuZ2UtZGVzY2VuZGFudHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiAr
NDIsMTAgQEAKICAgICBjb2xvcjogcmdiKDksIDAsIDApOwogfQogCityb290Om5vdChbbXlub3Rh
dHRyXSkgdGFyZ2V0IHsKKyAgICBjb2xvcjogcmdiKDEwLCAwLCAwKTsKK30KKwogPC9zdHlsZT4K
IDwvaGVhZD4KIDxib2R5PgpAQCAtMTI1LDYgKzEyOSw4IEBAIGZ1bmN0aW9uIGNoZWNrU3R5bGUo
bikgewogICAgIHNob3VsZEJlVHJ1ZSgiaGFzRXhwZWN0ZWRTdHlsZSIpOwogfQogCitzZXRBdHRy
aWJ1dGUoJ215bm90YXR0cicsICcnKTsKKwogY2hlY2tTdHlsZSgwKTsKIHRlc3RTdHlsZUludmFs
aWRhdGlvbigiTm9TdHlsZUNoYW5nZSIpOwogY2hlY2tTdHlsZSgwKTsKQEAgLTIzNyw2ICsyNDMs
MTQgQEAgc2V0QXR0cmlidXRlKCdteWF0dHIyJywgJ2ZvbycpOwogdGVzdFN0eWxlSW52YWxpZGF0
aW9uKCJOb1N0eWxlQ2hhbmdlIik7CiBjaGVja1N0eWxlKDEpOwogCityZW1vdmVBdHRyaWJ1dGUo
J215bm90YXR0cicpOwordGVzdFN0eWxlSW52YWxpZGF0aW9uKCJJbmxpbmVTdHlsZUNoYW5nZSIp
OworY2hlY2tTdHlsZSgxMCk7CisKK3NldEF0dHJpYnV0ZSgnbXlub3RhdHRyJywgJ3ZhbHVlJyk7
Cit0ZXN0U3R5bGVJbnZhbGlkYXRpb24oIklubGluZVN0eWxlQ2hhbmdlIik7CitjaGVja1N0eWxl
KDEpOworCiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3N0
eWxlLWludmFsaWRhdGlvbi1jbGFzcy1jaGFuZ2UtZGVzY2VuZGFudHMtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLWludmFsaWRhdGlvbi1jbGFz
cy1jaGFuZ2UtZGVzY2VuZGFudHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxOTgwOTYpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1pbnZhbGlkYXRpb24tY2xhc3MtY2hhbmdlLWRlc2Nl
bmRhbnRzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMyw2ICszLDcgQEAgVGVzdCB0
aGF0IHdlIGludmFsaWRhdGUgdGhlIGVsZW1lbnQgc3VidAogT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgogCiAKK0FkZGluZyBjbGFzcyBzdHlsZTUKIFBBU1MgaGFzRXhwZWN0ZWRTdHlsZSBpcyB0
cnVlCiBQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNoYW5nZSIpIHx8
IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVl
CiBQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJOb1N0eWxlQ2hhbmdlIikgaXMg
dHJ1ZQpAQCAtNTEsNiArNTIsMTYgQEAgUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290Iiwg
Ik5vU3R5bAogUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJnZXQiLCAiSW5saW5lU3R5bGVD
aGFuZ2UiKSBpcyB0cnVlCiBQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoImluZXJ0IiwgIk5vU3R5
bGVDaGFuZ2UiKSBpcyB0cnVlCiBQQVNTIGhhc0V4cGVjdGVkU3R5bGUgaXMgdHJ1ZQorUmVtb3Zp
bmcgY2xhc3Mgc3R5bGU1CitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHls
ZUNoYW5nZSIpIHx8IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFu
Z2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJJbmxpbmVT
dHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAi
Tm9TdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgaGFzRXhwZWN0ZWRTdHlsZSBpcyB0cnVlCitB
ZGRpbmcgY2xhc3Mgc3R5bGU1CitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9T
dHlsZUNoYW5nZSIpIHx8IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVD
aGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJJbmxp
bmVTdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQi
LCAiTm9TdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgaGFzRXhwZWN0ZWRTdHlsZSBpcyB0cnVl
CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLWludmFsaWRhdGlvbi1jbGFzcy1jaGFuZ2UtZGVz
Y2VuZGFudHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1p
bnZhbGlkYXRpb24tY2xhc3MtY2hhbmdlLWRlc2NlbmRhbnRzLmh0bWwJKHJldmlzaW9uIDE5ODA5
NikKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLWludmFsaWRhdGlvbi1jbGFzcy1jaGFu
Z2UtZGVzY2VuZGFudHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjIsNiArMjIsMTAgQEAgcm9v
dC5zdHlsZTQgPiB0YXJnZXQgaW5lcnQgewogICAgIGNvbG9yOiByZ2IoNCwgNCwgNCk7CiB9CiAK
K3Jvb3Q6bm90KC5zdHlsZTUpIHRhcmdldCB7CisgICAgY29sb3I6IHJnYig1LCA1LCA1KTsKK30K
KwogPC9zdHlsZT4KIDwvaGVhZD4KIDxib2R5PgpAQCAtMTA1LDYgKzEwOSw4IEBAIGZ1bmN0aW9u
IGNoZWNrU3R5bGUobikgewogICAgIHNob3VsZEJlVHJ1ZSgiaGFzRXhwZWN0ZWRTdHlsZSIpOwog
fQogCithZGRDbGFzcygnc3R5bGU1Jyk7CisKIGNoZWNrU3R5bGUoMCk7CiB0ZXN0U3R5bGVJbnZh
bGlkYXRpb24oIk5vU3R5bGVDaGFuZ2UiKTsKIGNoZWNrU3R5bGUoMCk7CkBAIC0xNDMsNiArMTQ5
LDE0IEBAIHJlbW92ZUNsYXNzKCdzdHlsZTEnKTsKIHRlc3RTdHlsZUludmFsaWRhdGlvbigiSW5s
aW5lU3R5bGVDaGFuZ2UiKTsKIGNoZWNrU3R5bGUoMCk7CiAKK3JlbW92ZUNsYXNzKCdzdHlsZTUn
KTsKK3Rlc3RTdHlsZUludmFsaWRhdGlvbigiSW5saW5lU3R5bGVDaGFuZ2UiKTsKK2NoZWNrU3R5
bGUoNSk7CisKK2FkZENsYXNzKCdzdHlsZTUnKTsKK3Rlc3RTdHlsZUludmFsaWRhdGlvbigiSW5s
aW5lU3R5bGVDaGFuZ2UiKTsKK2NoZWNrU3R5bGUoMCk7CisKIDwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>274100</attachid>
            <date>2016-03-15 09:42:49 -0700</date>
            <delta_ts>2016-03-15 09:51:01 -0700</delta_ts>
            <desc>patch</desc>
            <filename>class-change-not-2.patch</filename>
            <type>text/plain</type>
            <size>13612</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5ODIxNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE2LTAzLTE1ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OICgxOTYzODMp
OiBDbGFzcyBjaGFuZ2UgaW52YWxpZGF0aW9uIGRvZXMgbm90IGhhbmRsZSA6bm90IGNvcnJlY3Rs
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NDkz
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNDg0Njc2Mj4gQ2hlY2tpbmcgZm9yIHVwZGF0ZXMg
aXMgbWlzc2luZyBmcm9tIHRoZSBVcGRhdGVzIHBhZ2Ugd2hlbiB0aGVyZSBpcyBubyBqb3VybmFs
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgZmFp
bCB0byBpbnZhbGlkYXRlIGJhciBzdHlsZSBpbgorCisgICAgICAgICAgICA6bm90KC5mb28pIGJh
ciB7IH0KKworICAgICAgICB3aGVuIGNsYXNzIGZvbyBpcyBhZGRlZCBvciByZW1vdmVkLgorCisg
ICAgICAgIFRoZXJlIGlzIGEgbG9naWMgZXJyb3IgaW4gdGhlIGludmFsaWRhdGlvbiBjb2RlLiBJ
dCBhc3N1bWVzIHRoYXQgY2xhc3MgYWRkaXRpb24gY2FuIG9ubHkgbWFrZSBuZXcgc2VsZWN0b3Jz
IG1hdGNoCisgICAgICAgIGFuZCByZW1vdmFsIG1ha2UgdGhlbSBub3QgbWF0Y2guIFRoaXMgaXMg
bm90IHRydWUgd2hlbiA6bm90IGlzIHByZXNlbnQuCisKKyAgICAgICAgKiBzdHlsZS9BdHRyaWJ1
dGVDaGFuZ2VJbnZhbGlkYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpBdHRyaWJ1
dGVDaGFuZ2VJbnZhbGlkYXRpb246OkF0dHJpYnV0ZUNoYW5nZUludmFsaWRhdGlvbik6CisgICAg
ICAgICogc3R5bGUvQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGU6OkNsYXNzQ2hhbmdlSW52YWxpZGF0aW9uOjppbnZhbGlkYXRlU3R5bGUpOgorCisg
ICAgICAgICAgICBJbnZhbGlkYXRlIHN0eWxlIGFuZCBjb2xsZWN0IGZ1bGwgc2V0IG9mIHJ1bGVz
IHRoYXQgbWF5IGFmZmVjdCBkZXNjZW5kYW50IHN0eWxlLgorCisgICAgICAgIChXZWJDb3JlOjpT
dHlsZTo6Q2xhc3NDaGFuZ2VJbnZhbGlkYXRpb246OmludmFsaWRhdGVEZXNjZW5kYW50U3R5bGUp
OgorCisgICAgICAgICAgICBJbnZhbGlkYXRlIHdpdGggdGhpcyBzZXQgYm90aCBiZWZvcmUgYW5k
IGFmdGVyIGNvbW1pdHRpbmcgdGhlIGNoYW5nZXMuCisKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxl
OjpDbGFzc0NoYW5nZUludmFsaWRhdGlvbjo6Y29tcHV0ZUNsYXNzQ2hhbmdlKTogRGVsZXRlZC4K
KyAgICAgICAgKiBzdHlsZS9DbGFzc0NoYW5nZUludmFsaWRhdGlvbi5oOgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGU6OkNsYXNzQ2hhbmdlSW52YWxpZGF0aW9uOjpDbGFzc0NoYW5nZUludmFsaWRh
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6Q2xhc3NDaGFuZ2VJbnZhbGlkYXRpb246
On5DbGFzc0NoYW5nZUludmFsaWRhdGlvbik6CisKIDIwMTYtMDMtMTQgIEplciBOb2JsZSAgPGpl
ci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgVmlkZW8gZWxlbWVudHMgd2l0aCBhdXRvcGxh
eSBkbyBub3QgYmVnaW4gcGxheWluZyB3aGVuIHNjcm9sbGluZyBpbnRvIHZpZXcgaWYgSW52aXNp
YmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQgaXMgc2V0LgpJbmRleDogU291cmNlL1dlYkNvcmUvc3R5
bGUvQXR0cmlidXRlQ2hhbmdlSW52YWxpZGF0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvc3R5bGUvQXR0cmlidXRlQ2hhbmdlSW52YWxpZGF0aW9uLmgJKHJldmlzaW9uIDE5ODA5
NikKKysrIFNvdXJjZS9XZWJDb3JlL3N0eWxlL0F0dHJpYnV0ZUNoYW5nZUludmFsaWRhdGlvbi5o
CSh3b3JraW5nIGNvcHkpCkBAIC00Niw3ICs0Niw3IEBAIHByaXZhdGU6CiAgICAgY29uc3QgYm9v
bCBtX2lzRW5hYmxlZDsKICAgICBFbGVtZW50JiBtX2VsZW1lbnQ7CiAKLSAgICBSdWxlU2V0KiBt
X2Rlc2NlbmRhbnRJbnZhbGlkYXRpb25SdWxlU2V0IHsgbnVsbHB0ciB9OworICAgIGNvbnN0IFJ1
bGVTZXQqIG1fZGVzY2VuZGFudEludmFsaWRhdGlvblJ1bGVTZXQgeyBudWxscHRyIH07CiB9Owog
CiBpbmxpbmUgQXR0cmlidXRlQ2hhbmdlSW52YWxpZGF0aW9uOjpBdHRyaWJ1dGVDaGFuZ2VJbnZh
bGlkYXRpb24oRWxlbWVudCYgZWxlbWVudCwgY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRl
TmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgQXRvbWljU3RyaW5nJiBu
ZXdWYWx1ZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0eWxlL0NsYXNzQ2hhbmdlSW52YWxpZGF0
aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdHlsZS9DbGFzc0NoYW5nZUlu
dmFsaWRhdGlvbi5jcHAJKHJldmlzaW9uIDE5ODA5NikKKysrIFNvdXJjZS9XZWJDb3JlL3N0eWxl
L0NsYXNzQ2hhbmdlSW52YWxpZGF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsNyArMzQs
OSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIFN0eWxlIHsKIAotYXV0byBDbGFz
c0NoYW5nZUludmFsaWRhdGlvbjo6Y29sbGVjdENsYXNzZXMoY29uc3QgU3BhY2VTcGxpdFN0cmlu
ZyYgY2xhc3NlcykgLT4gQ2xhc3NDaGFuZ2VWZWN0b3IKK3VzaW5nIENsYXNzQ2hhbmdlVmVjdG9y
ID0gVmVjdG9yPEF0b21pY1N0cmluZ0ltcGwqLCA0PjsKKworc3RhdGljIENsYXNzQ2hhbmdlVmVj
dG9yIGNvbGxlY3RDbGFzc2VzKGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIGNsYXNzZXMpCiB7CiAg
ICAgQ2xhc3NDaGFuZ2VWZWN0b3IgcmVzdWx0OwogICAgIHJlc3VsdC5yZXNlcnZlQ2FwYWNpdHko
Y2xhc3Nlcy5zaXplKCkpOwpAQCAtNDMsMTkgKzQ1LDE3IEBAIGF1dG8gQ2xhc3NDaGFuZ2VJbnZh
bGlkYXRpb246OmNvbGxlY3RDbGEKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkIENsYXNz
Q2hhbmdlSW52YWxpZGF0aW9uOjpjb21wdXRlQ2xhc3NDaGFuZ2UoY29uc3QgU3BhY2VTcGxpdFN0
cmluZyYgb2xkQ2xhc3NlcywgY29uc3QgU3BhY2VTcGxpdFN0cmluZyYgbmV3Q2xhc3NlcykKK3N0
YXRpYyBDbGFzc0NoYW5nZVZlY3RvciBjb21wdXRlQ2xhc3NDaGFuZ2UoY29uc3QgU3BhY2VTcGxp
dFN0cmluZyYgb2xkQ2xhc3NlcywgY29uc3QgU3BhY2VTcGxpdFN0cmluZyYgbmV3Q2xhc3NlcykK
IHsKICAgICB1bnNpZ25lZCBvbGRTaXplID0gb2xkQ2xhc3Nlcy5zaXplKCk7CiAgICAgdW5zaWdu
ZWQgbmV3U2l6ZSA9IG5ld0NsYXNzZXMuc2l6ZSgpOwogCi0gICAgaWYgKCFvbGRTaXplKSB7Ci0g
ICAgICAgIG1fYWRkZWRDbGFzc2VzID0gY29sbGVjdENsYXNzZXMobmV3Q2xhc3Nlcyk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKCFuZXdTaXplKSB7Ci0gICAgICAgIG1fcmVtb3Zl
ZENsYXNzZXMgPSBjb2xsZWN0Q2xhc3NlcyhvbGRDbGFzc2VzKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KKyAgICBpZiAoIW9sZFNpemUpCisgICAgICAgIHJldHVybiBjb2xsZWN0Q2xhc3Nlcyhu
ZXdDbGFzc2VzKTsKKyAgICBpZiAoIW5ld1NpemUpCisgICAgICAgIHJldHVybiBjb2xsZWN0Q2xh
c3NlcyhvbGRDbGFzc2VzKTsKKworICAgIENsYXNzQ2hhbmdlVmVjdG9yIGNoYW5nZWRDbGFzc2Vz
OwogCiAgICAgQml0VmVjdG9yIHJlbWFpbmluZ0NsYXNzQml0czsKICAgICByZW1haW5pbmdDbGFz
c0JpdHMuZW5zdXJlU2l6ZShvbGRTaXplKTsKQEAgLTcwLDIxICs3MCwyNSBAQCB2b2lkIENsYXNz
Q2hhbmdlSW52YWxpZGF0aW9uOjpjb21wdXRlQ2xhCiAgICAgICAgIH0KICAgICAgICAgaWYgKGZv
dW5kRnJvbUJvdGgpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgbV9hZGRlZENsYXNz
ZXMuYXBwZW5kKG5ld0NsYXNzZXNbaV0uaW1wbCgpKTsKKyAgICAgICAgY2hhbmdlZENsYXNzZXMu
YXBwZW5kKG5ld0NsYXNzZXNbaV0uaW1wbCgpKTsKICAgICB9CiAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IG9sZFNpemU7ICsraSkgewogICAgICAgICAvLyBJZiB0aGUgYml0IGlzIG5vdCBz
ZXQgdGhlIHRoZSBjb3JyZXNwb25kaW5nIGNsYXNzIGhhcyBiZWVuIHJlbW92ZWQuCiAgICAgICAg
IGlmIChyZW1haW5pbmdDbGFzc0JpdHMucXVpY2tHZXQoaSkpCiAgICAgICAgICAgICBjb250aW51
ZTsKLSAgICAgICAgbV9yZW1vdmVkQ2xhc3Nlcy5hcHBlbmQob2xkQ2xhc3Nlc1tpXS5pbXBsKCkp
OworICAgICAgICBjaGFuZ2VkQ2xhc3Nlcy5hcHBlbmQob2xkQ2xhc3Nlc1tpXS5pbXBsKCkpOwog
ICAgIH0KKworICAgIHJldHVybiBjaGFuZ2VkQ2xhc3NlczsKIH0KIAotdm9pZCBDbGFzc0NoYW5n
ZUludmFsaWRhdGlvbjo6aW52YWxpZGF0ZVN0eWxlKGNvbnN0IENsYXNzQ2hhbmdlVmVjdG9yJiBj
aGFuZ2VkQ2xhc3NlcykKK3ZvaWQgQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb246OmludmFsaWRhdGVT
dHlsZShjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBvbGRDbGFzc2VzLCBjb25zdCBTcGFjZVNwbGl0
U3RyaW5nJiBuZXdDbGFzc2VzKQogeworICAgIGF1dG8gY2hhbmdlZENsYXNzZXMgPSBjb21wdXRl
Q2xhc3NDaGFuZ2Uob2xkQ2xhc3NlcywgbmV3Q2xhc3Nlcyk7CisKICAgICBhdXRvJiBydWxlU2V0
cyA9IG1fZWxlbWVudC5zdHlsZVJlc29sdmVyKCkucnVsZVNldHMoKTsKIAotICAgIFZlY3RvcjxB
dG9taWNTdHJpbmdJbXBsKiwgND4gY2hhbmdlZENsYXNzZXNBZmZlY3RpbmdTdHlsZTsKKyAgICBD
bGFzc0NoYW5nZVZlY3RvciBjaGFuZ2VkQ2xhc3Nlc0FmZmVjdGluZ1N0eWxlOwogICAgIGZvciAo
YXV0byogY2hhbmdlZENsYXNzIDogY2hhbmdlZENsYXNzZXMpIHsKICAgICAgICAgaWYgKHJ1bGVT
ZXRzLmZlYXR1cmVzKCkuY2xhc3Nlc0luUnVsZXMuY29udGFpbnMoY2hhbmdlZENsYXNzKSkKICAg
ICAgICAgICAgIGNoYW5nZWRDbGFzc2VzQWZmZWN0aW5nU3R5bGUuYXBwZW5kKGNoYW5nZWRDbGFz
cyk7CkBAIC0xMDcsNiArMTExLDEzIEBAIHZvaWQgQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb246Omlu
dmFsaWRhdGUKICAgICAgICAgYXV0byogYW5jZXN0b3JDbGFzc1J1bGVzID0gcnVsZVNldHMuYW5j
ZXN0b3JDbGFzc1J1bGVzKGNoYW5nZWRDbGFzcyk7CiAgICAgICAgIGlmICghYW5jZXN0b3JDbGFz
c1J1bGVzKQogICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIG1fZGVzY2VuZGFudEludmFs
aWRhdGlvblJ1bGVTZXRzLmFwcGVuZChhbmNlc3RvckNsYXNzUnVsZXMpOworICAgIH0KK30KKwor
dm9pZCBDbGFzc0NoYW5nZUludmFsaWRhdGlvbjo6aW52YWxpZGF0ZURlc2NlbmRhbnRTdHlsZSgp
Cit7CisgICAgZm9yIChhdXRvKiBhbmNlc3RvckNsYXNzUnVsZXMgOiBtX2Rlc2NlbmRhbnRJbnZh
bGlkYXRpb25SdWxlU2V0cykgewogICAgICAgICBTdHlsZUludmFsaWRhdGlvbkFuYWx5c2lzIGlu
dmFsaWRhdGlvbkFuYWx5c2lzKCphbmNlc3RvckNsYXNzUnVsZXMpOwogICAgICAgICBpbnZhbGlk
YXRpb25BbmFseXNpcy5pbnZhbGlkYXRlU3R5bGUobV9lbGVtZW50KTsKICAgICB9CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9zdHlsZS9DbGFzc0NoYW5nZUludmFsaWRhdGlvbi5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3N0eWxlL0NsYXNzQ2hhbmdlSW52YWxpZGF0aW9uLmgJKHJldmlz
aW9uIDE5ODA5NikKKysrIFNvdXJjZS9XZWJDb3JlL3N0eWxlL0NsYXNzQ2hhbmdlSW52YWxpZGF0
aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDE4ICs0NCwxMyBAQCBwdWJsaWM6CiAgICAgfkNs
YXNzQ2hhbmdlSW52YWxpZGF0aW9uKCk7CiAKIHByaXZhdGU6Ci0gICAgdXNpbmcgQ2xhc3NDaGFu
Z2VWZWN0b3IgPSBWZWN0b3I8QXRvbWljU3RyaW5nSW1wbCosIDQ+OwotCi0gICAgdm9pZCBjb21w
dXRlQ2xhc3NDaGFuZ2UoY29uc3QgU3BhY2VTcGxpdFN0cmluZyYgb2xkQ2xhc3NlcywgY29uc3Qg
U3BhY2VTcGxpdFN0cmluZyYgbmV3Q2xhc3Nlcyk7Ci0gICAgdm9pZCBpbnZhbGlkYXRlU3R5bGUo
Y29uc3QgQ2xhc3NDaGFuZ2VWZWN0b3ImKTsKLQotICAgIHN0YXRpYyBDbGFzc0NoYW5nZVZlY3Rv
ciBjb2xsZWN0Q2xhc3Nlcyhjb25zdCBTcGFjZVNwbGl0U3RyaW5nJik7CisgICAgdm9pZCBpbnZh
bGlkYXRlU3R5bGUoY29uc3QgU3BhY2VTcGxpdFN0cmluZyYgb2xkQ2xhc3NlcywgY29uc3QgU3Bh
Y2VTcGxpdFN0cmluZyYgbmV3Q2xhc3Nlcyk7CisgICAgdm9pZCBpbnZhbGlkYXRlRGVzY2VuZGFu
dFN0eWxlKCk7CiAKICAgICBjb25zdCBib29sIG1faXNFbmFibGVkOwogICAgIEVsZW1lbnQmIG1f
ZWxlbWVudDsKIAotICAgIENsYXNzQ2hhbmdlVmVjdG9yIG1fYWRkZWRDbGFzc2VzOwotICAgIENs
YXNzQ2hhbmdlVmVjdG9yIG1fcmVtb3ZlZENsYXNzZXM7CisgICAgVmVjdG9yPGNvbnN0IFJ1bGVT
ZXQqLCA0PiBtX2Rlc2NlbmRhbnRJbnZhbGlkYXRpb25SdWxlU2V0czsKIH07CiAKIGlubGluZSBD
bGFzc0NoYW5nZUludmFsaWRhdGlvbjo6Q2xhc3NDaGFuZ2VJbnZhbGlkYXRpb24oRWxlbWVudCYg
ZWxlbWVudCwgY29uc3QgU3BhY2VTcGxpdFN0cmluZyYgb2xkQ2xhc3NlcywgY29uc3QgU3BhY2VT
cGxpdFN0cmluZyYgbmV3Q2xhc3NlcykKQEAgLTY1LDE1ICs2MCwxNSBAQCBpbmxpbmUgQ2xhc3ND
aGFuZ2VJbnZhbGlkYXRpb246OkNsYXNzQ2hhCiB7CiAgICAgaWYgKCFtX2lzRW5hYmxlZCkKICAg
ICAgICAgcmV0dXJuOwotICAgIGNvbXB1dGVDbGFzc0NoYW5nZShvbGRDbGFzc2VzLCBuZXdDbGFz
c2VzKTsKLSAgICBpbnZhbGlkYXRlU3R5bGUobV9yZW1vdmVkQ2xhc3Nlcyk7CisgICAgaW52YWxp
ZGF0ZVN0eWxlKG9sZENsYXNzZXMsIG5ld0NsYXNzZXMpOworICAgIGludmFsaWRhdGVEZXNjZW5k
YW50U3R5bGUoKTsKIH0KIAogaW5saW5lIENsYXNzQ2hhbmdlSW52YWxpZGF0aW9uOjp+Q2xhc3ND
aGFuZ2VJbnZhbGlkYXRpb24oKQogewogICAgIGlmICghbV9pc0VuYWJsZWQpCiAgICAgICAgIHJl
dHVybjsKLSAgICBpbnZhbGlkYXRlU3R5bGUobV9hZGRlZENsYXNzZXMpOworICAgIGludmFsaWRh
dGVEZXNjZW5kYW50U3R5bGUoKTsKIH0KICAgICAKIH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5ODA5
NikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIw
IEBACisyMDE2LTAzLTE1ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAg
ICAgICBDbGFzcyBjaGFuZ2UgaW52YWxpZGF0aW9uIGRvZXMgbm90IGhhbmRsZSA6bm90IGNvcnJl
Y3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1
NDkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBm
YXN0L2Nzcy9zdHlsZS1pbnZhbGlkYXRpb24tYXR0cmlidXRlLWNoYW5nZS1kZXNjZW5kYW50cy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3Mvc3R5bGUtaW52YWxpZGF0aW9uLWF0dHJp
YnV0ZS1jaGFuZ2UtZGVzY2VuZGFudHMuaHRtbDoKKworICAgICAgICAgICAgQWxzbyBhZGQgOm5v
dCBjYXNlIGZvciBhdHRyaWJ1dGUgY2hhbmdlcyAod2hpY2ggaGFuZGxlcyB0aGlzIGNvcnJlY3Rs
eSBhbHJlYWR5KS4KKworICAgICAgICAqIGZhc3QvY3NzL3N0eWxlLWludmFsaWRhdGlvbi1jbGFz
cy1jaGFuZ2UtZGVzY2VuZGFudHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzL3N0
eWxlLWludmFsaWRhdGlvbi1jbGFzcy1jaGFuZ2UtZGVzY2VuZGFudHMuaHRtbDoKKworICAgICAg
ICAgICAgQWRkIDpub3QgY2FzZS4KKwogMjAxNi0wMy0xMyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBh
cHBsZS5jb20+CiAKICAgICAgICAgQWRkIGNvcHkvcGFzdGUgcGx1Zy1pbiBjaGVjayBmb3IgWEhU
TUwgZG9jdW1lbnQKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLWludmFsaWRhdGlv
bi1hdHRyaWJ1dGUtY2hhbmdlLWRlc2NlbmRhbnRzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1pbnZhbGlkYXRpb24tYXR0cmlidXRlLWNoYW5n
ZS1kZXNjZW5kYW50cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE5ODA5NikKKysrIExheW91dFRl
c3RzL2Zhc3QvY3NzL3N0eWxlLWludmFsaWRhdGlvbi1hdHRyaWJ1dGUtY2hhbmdlLWRlc2NlbmRh
bnRzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMyw2ICszLDcgQEAgVGVzdCB0aGF0
IHdlIGludmFsaWRhdGUgdGhlIGVsZW1lbnQgc3VidAogT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgogCiAKK1NldHRpbmcgYXR0cmlidXRlICdteW5vdGF0dHInIHZhbHVlICcnCiBQQVNTIGhhc0V4
cGVjdGVkU3R5bGUgaXMgdHJ1ZQogUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIk5v
U3R5bGVDaGFuZ2UiKSB8fCB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIklubGluZVN0eWxl
Q2hhbmdlIikgaXMgdHJ1ZQogUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJnZXQiLCAiTm9T
dHlsZUNoYW5nZSIpIGlzIHRydWUKQEAgLTE0Myw2ICsxNDQsMTYgQEAgUEFTUyB0ZXN0U3R5bGVD
aGFuZ2VUeXBlKCJyb290IiwgIk5vU3R5bAogUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJn
ZXQiLCAiTm9TdHlsZUNoYW5nZSIpIGlzIHRydWUKIFBBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgi
aW5lcnQiLCAiTm9TdHlsZUNoYW5nZSIpIGlzIHRydWUKIFBBU1MgaGFzRXhwZWN0ZWRTdHlsZSBp
cyB0cnVlCitSZW1vdmluZyBhdHRyaWJ1dGUgJ215bm90YXR0cicKK1BBU1MgdGVzdFN0eWxlQ2hh
bmdlVHlwZSgicm9vdCIsICJOb1N0eWxlQ2hhbmdlIikgfHwgdGVzdFN0eWxlQ2hhbmdlVHlwZSgi
cm9vdCIsICJJbmxpbmVTdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdl
VHlwZSgidGFyZ2V0IiwgIklubGluZVN0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5
bGVDaGFuZ2VUeXBlKCJpbmVydCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFTUyBoYXNF
eHBlY3RlZFN0eWxlIGlzIHRydWUKK1NldHRpbmcgYXR0cmlidXRlICdteW5vdGF0dHInIHZhbHVl
ICd2YWx1ZScKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJOb1N0eWxlQ2hhbmdl
IikgfHwgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJJbmxpbmVTdHlsZUNoYW5nZSIpIGlz
IHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgidGFyZ2V0IiwgIklubGluZVN0eWxlQ2hh
bmdlIikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJpbmVydCIsICJOb1N0eWxl
Q2hhbmdlIikgaXMgdHJ1ZQorUEFTUyBoYXNFeHBlY3RlZFN0eWxlIGlzIHRydWUKIFBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9jc3Mvc3R5bGUtaW52YWxpZGF0aW9uLWF0dHJpYnV0ZS1jaGFuZ2UtZGVzY2VuZGFu
dHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1pbnZhbGlk
YXRpb24tYXR0cmlidXRlLWNoYW5nZS1kZXNjZW5kYW50cy5odG1sCShyZXZpc2lvbiAxOTgwOTYp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1pbnZhbGlkYXRpb24tYXR0cmlidXRlLWNo
YW5nZS1kZXNjZW5kYW50cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0MiwxMCBAQAog
ICAgIGNvbG9yOiByZ2IoOSwgMCwgMCk7CiB9CiAKK3Jvb3Q6bm90KFtteW5vdGF0dHJdKSB0YXJn
ZXQgeworICAgIGNvbG9yOiByZ2IoMTAsIDAsIDApOworfQorCiA8L3N0eWxlPgogPC9oZWFkPgog
PGJvZHk+CkBAIC0xMjUsNiArMTI5LDggQEAgZnVuY3Rpb24gY2hlY2tTdHlsZShuKSB7CiAgICAg
c2hvdWxkQmVUcnVlKCJoYXNFeHBlY3RlZFN0eWxlIik7CiB9CiAKK3NldEF0dHJpYnV0ZSgnbXlu
b3RhdHRyJywgJycpOworCiBjaGVja1N0eWxlKDApOwogdGVzdFN0eWxlSW52YWxpZGF0aW9uKCJO
b1N0eWxlQ2hhbmdlIik7CiBjaGVja1N0eWxlKDApOwpAQCAtMjM3LDYgKzI0MywxNCBAQCBzZXRB
dHRyaWJ1dGUoJ215YXR0cjInLCAnZm9vJyk7CiB0ZXN0U3R5bGVJbnZhbGlkYXRpb24oIk5vU3R5
bGVDaGFuZ2UiKTsKIGNoZWNrU3R5bGUoMSk7CiAKK3JlbW92ZUF0dHJpYnV0ZSgnbXlub3RhdHRy
Jyk7Cit0ZXN0U3R5bGVJbnZhbGlkYXRpb24oIklubGluZVN0eWxlQ2hhbmdlIik7CitjaGVja1N0
eWxlKDEwKTsKKworc2V0QXR0cmlidXRlKCdteW5vdGF0dHInLCAndmFsdWUnKTsKK3Rlc3RTdHls
ZUludmFsaWRhdGlvbigiSW5saW5lU3R5bGVDaGFuZ2UiKTsKK2NoZWNrU3R5bGUoMSk7CisKIDwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgogPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtaW52YWxp
ZGF0aW9uLWNsYXNzLWNoYW5nZS1kZXNjZW5kYW50cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtaW52YWxpZGF0aW9uLWNsYXNzLWNoYW5nZS1k
ZXNjZW5kYW50cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE5ODA5NikKKysrIExheW91dFRlc3Rz
L2Zhc3QvY3NzL3N0eWxlLWludmFsaWRhdGlvbi1jbGFzcy1jaGFuZ2UtZGVzY2VuZGFudHMtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDYgKzMsNyBAQCBUZXN0IHRoYXQgd2UgaW52
YWxpZGF0ZSB0aGUgZWxlbWVudCBzdWJ0CiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAor
QWRkaW5nIGNsYXNzIHN0eWxlNQogUEFTUyBoYXNFeHBlY3RlZFN0eWxlIGlzIHRydWUKIFBBU1Mg
dGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJOb1N0eWxlQ2hhbmdlIikgfHwgdGVzdFN0eWxl
Q2hhbmdlVHlwZSgicm9vdCIsICJJbmxpbmVTdHlsZUNoYW5nZSIpIGlzIHRydWUKIFBBU1MgdGVz
dFN0eWxlQ2hhbmdlVHlwZSgidGFyZ2V0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCkBAIC01
MSw2ICs1MiwxNiBAQCBQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsCiBQ
QVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJJbmxpbmVTdHlsZUNoYW5nZSIpIGlz
IHRydWUKIFBBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9TdHlsZUNoYW5nZSIp
IGlzIHRydWUKIFBBU1MgaGFzRXhwZWN0ZWRTdHlsZSBpcyB0cnVlCitSZW1vdmluZyBjbGFzcyBz
dHlsZTUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJOb1N0eWxlQ2hhbmdlIikg
fHwgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJJbmxpbmVTdHlsZUNoYW5nZSIpIGlzIHRy
dWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgidGFyZ2V0IiwgIklubGluZVN0eWxlQ2hhbmdl
IikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJpbmVydCIsICJOb1N0eWxlQ2hh
bmdlIikgaXMgdHJ1ZQorUEFTUyBoYXNFeHBlY3RlZFN0eWxlIGlzIHRydWUKK0FkZGluZyBjbGFz
cyBzdHlsZTUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJOb1N0eWxlQ2hhbmdl
IikgfHwgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJJbmxpbmVTdHlsZUNoYW5nZSIpIGlz
IHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgidGFyZ2V0IiwgIklubGluZVN0eWxlQ2hh
bmdlIikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJpbmVydCIsICJOb1N0eWxl
Q2hhbmdlIikgaXMgdHJ1ZQorUEFTUyBoYXNFeHBlY3RlZFN0eWxlIGlzIHRydWUKIFBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9jc3Mvc3R5bGUtaW52YWxpZGF0aW9uLWNsYXNzLWNoYW5nZS1kZXNjZW5kYW50cy5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLWludmFsaWRhdGlv
bi1jbGFzcy1jaGFuZ2UtZGVzY2VuZGFudHMuaHRtbAkocmV2aXNpb24gMTk4MDk2KQorKysgTGF5
b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtaW52YWxpZGF0aW9uLWNsYXNzLWNoYW5nZS1kZXNjZW5k
YW50cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw2ICsyMiwxMCBAQCByb290LnN0eWxlNCA+
IHRhcmdldCBpbmVydCB7CiAgICAgY29sb3I6IHJnYig0LCA0LCA0KTsKIH0KIAorcm9vdDpub3Qo
LnN0eWxlNSkgdGFyZ2V0IHsKKyAgICBjb2xvcjogcmdiKDUsIDUsIDUpOworfQorCiA8L3N0eWxl
PgogPC9oZWFkPgogPGJvZHk+CkBAIC0xMDUsNiArMTA5LDggQEAgZnVuY3Rpb24gY2hlY2tTdHls
ZShuKSB7CiAgICAgc2hvdWxkQmVUcnVlKCJoYXNFeHBlY3RlZFN0eWxlIik7CiB9CiAKK2FkZENs
YXNzKCdzdHlsZTUnKTsKKwogY2hlY2tTdHlsZSgwKTsKIHRlc3RTdHlsZUludmFsaWRhdGlvbigi
Tm9TdHlsZUNoYW5nZSIpOwogY2hlY2tTdHlsZSgwKTsKQEAgLTE0Myw2ICsxNDksMTQgQEAgcmVt
b3ZlQ2xhc3MoJ3N0eWxlMScpOwogdGVzdFN0eWxlSW52YWxpZGF0aW9uKCJJbmxpbmVTdHlsZUNo
YW5nZSIpOwogY2hlY2tTdHlsZSgwKTsKIAorcmVtb3ZlQ2xhc3MoJ3N0eWxlNScpOwordGVzdFN0
eWxlSW52YWxpZGF0aW9uKCJJbmxpbmVTdHlsZUNoYW5nZSIpOworY2hlY2tTdHlsZSg1KTsKKwor
YWRkQ2xhc3MoJ3N0eWxlNScpOwordGVzdFN0eWxlSW52YWxpZGF0aW9uKCJJbmxpbmVTdHlsZUNo
YW5nZSIpOworY2hlY2tTdHlsZSgwKTsKKwogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>274101</attachid>
            <date>2016-03-15 09:51:01 -0700</date>
            <delta_ts>2016-03-15 10:04:38 -0700</delta_ts>
            <desc>patch</desc>
            <filename>class-change-not-3.patch</filename>
            <type>text/plain</type>
            <size>13568</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5ODIxNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE2LTAzLTE1ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OICgxOTYzODMp
OiBDbGFzcyBjaGFuZ2UgaW52YWxpZGF0aW9uIGRvZXMgbm90IGhhbmRsZSA6bm90IGNvcnJlY3Rs
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NDkz
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNDg0Njc2Mj4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBmYWlsIHRvIGludmFsaWRhdGUgYmFyIHN0
eWxlIGluCisKKyAgICAgICAgICAgIDpub3QoLmZvbykgYmFyIHsgfQorCisgICAgICAgIHdoZW4g
Y2xhc3MgZm9vIGlzIGFkZGVkIG9yIHJlbW92ZWQuCisKKyAgICAgICAgVGhlcmUgaXMgYSBsb2dp
YyBlcnJvciBpbiB0aGUgaW52YWxpZGF0aW9uIGNvZGUuIEl0IGFzc3VtZXMgdGhhdCBjbGFzcyBh
ZGRpdGlvbiBjYW4gb25seSBtYWtlIG5ldyBzZWxlY3RvcnMgbWF0Y2gKKyAgICAgICAgYW5kIHJl
bW92YWwgbWFrZSB0aGVtIG5vdCBtYXRjaC4gVGhpcyBpcyBub3QgdHJ1ZSB3aGVuIDpub3QgaXMg
cHJlc2VudC4KKworICAgICAgICAqIHN0eWxlL0F0dHJpYnV0ZUNoYW5nZUludmFsaWRhdGlvbi5o
OgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkF0dHJpYnV0ZUNoYW5nZUludmFsaWRhdGlvbjo6
QXR0cmlidXRlQ2hhbmdlSW52YWxpZGF0aW9uKToKKyAgICAgICAgKiBzdHlsZS9DbGFzc0NoYW5n
ZUludmFsaWRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6Q2xhc3NDaGFuZ2VJ
bnZhbGlkYXRpb246OmludmFsaWRhdGVTdHlsZSk6CisKKyAgICAgICAgICAgIEludmFsaWRhdGUg
c3R5bGUgYW5kIGNvbGxlY3QgZnVsbCBzZXQgb2YgcnVsZXMgdGhhdCBtYXkgYWZmZWN0IGRlc2Nl
bmRhbnQgc3R5bGUuCisKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpDbGFzc0NoYW5nZUludmFs
aWRhdGlvbjo6aW52YWxpZGF0ZURlc2NlbmRhbnRTdHlsZSk6CisKKyAgICAgICAgICAgIEludmFs
aWRhdGUgd2l0aCB0aGlzIHNldCBib3RoIGJlZm9yZSBhbmQgYWZ0ZXIgY29tbWl0dGluZyB0aGUg
Y2hhbmdlcy4KKworICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkNsYXNzQ2hhbmdlSW52YWxpZGF0
aW9uOjpjb21wdXRlQ2xhc3NDaGFuZ2UpOiBEZWxldGVkLgorICAgICAgICAqIHN0eWxlL0NsYXNz
Q2hhbmdlSW52YWxpZGF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6Q2xhc3NDaGFu
Z2VJbnZhbGlkYXRpb246OkNsYXNzQ2hhbmdlSW52YWxpZGF0aW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlOjpDbGFzc0NoYW5nZUludmFsaWRhdGlvbjo6fkNsYXNzQ2hhbmdlSW52YWxpZGF0
aW9uKToKKwogMjAxNi0wMy0xNCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAog
ICAgICAgICBWaWRlbyBlbGVtZW50cyB3aXRoIGF1dG9wbGF5IGRvIG5vdCBiZWdpbiBwbGF5aW5n
IHdoZW4gc2Nyb2xsaW5nIGludG8gdmlldyBpZiBJbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRl
ZCBpcyBzZXQuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9BdHRyaWJ1dGVDaGFuZ2VJbnZh
bGlkYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdHlsZS9BdHRyaWJ1dGVD
aGFuZ2VJbnZhbGlkYXRpb24uaAkocmV2aXNpb24gMTk4MDk2KQorKysgU291cmNlL1dlYkNvcmUv
c3R5bGUvQXR0cmlidXRlQ2hhbmdlSW52YWxpZGF0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2
LDcgKzQ2LDcgQEAgcHJpdmF0ZToKICAgICBjb25zdCBib29sIG1faXNFbmFibGVkOwogICAgIEVs
ZW1lbnQmIG1fZWxlbWVudDsKIAotICAgIFJ1bGVTZXQqIG1fZGVzY2VuZGFudEludmFsaWRhdGlv
blJ1bGVTZXQgeyBudWxscHRyIH07CisgICAgY29uc3QgUnVsZVNldCogbV9kZXNjZW5kYW50SW52
YWxpZGF0aW9uUnVsZVNldCB7IG51bGxwdHIgfTsKIH07CiAKIGlubGluZSBBdHRyaWJ1dGVDaGFu
Z2VJbnZhbGlkYXRpb246OkF0dHJpYnV0ZUNoYW5nZUludmFsaWRhdGlvbihFbGVtZW50JiBlbGVt
ZW50LCBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCBjb25zdCBBdG9taWNTdHJp
bmcmIG9sZFZhbHVlLCBjb25zdCBBdG9taWNTdHJpbmcmIG5ld1ZhbHVlKQpJbmRleDogU291cmNl
L1dlYkNvcmUvc3R5bGUvQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb24uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3N0eWxlL0NsYXNzQ2hhbmdlSW52YWxpZGF0aW9uLmNwcAkocmV2aXNp
b24gMTk4MDk2KQorKysgU291cmNlL1dlYkNvcmUvc3R5bGUvQ2xhc3NDaGFuZ2VJbnZhbGlkYXRp
b24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw5IEBACiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBuYW1lc3BhY2UgU3R5bGUgewogCi1hdXRvIENsYXNzQ2hhbmdlSW52YWxpZGF0aW9uOjpj
b2xsZWN0Q2xhc3Nlcyhjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBjbGFzc2VzKSAtPiBDbGFzc0No
YW5nZVZlY3RvcgordXNpbmcgQ2xhc3NDaGFuZ2VWZWN0b3IgPSBWZWN0b3I8QXRvbWljU3RyaW5n
SW1wbCosIDQ+OworCitzdGF0aWMgQ2xhc3NDaGFuZ2VWZWN0b3IgY29sbGVjdENsYXNzZXMoY29u
c3QgU3BhY2VTcGxpdFN0cmluZyYgY2xhc3NlcykKIHsKICAgICBDbGFzc0NoYW5nZVZlY3RvciBy
ZXN1bHQ7CiAgICAgcmVzdWx0LnJlc2VydmVDYXBhY2l0eShjbGFzc2VzLnNpemUoKSk7CkBAIC00
MywxOSArNDUsMTcgQEAgYXV0byBDbGFzc0NoYW5nZUludmFsaWRhdGlvbjo6Y29sbGVjdENsYQog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXZvaWQgQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb246OmNv
bXB1dGVDbGFzc0NoYW5nZShjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBvbGRDbGFzc2VzLCBjb25z
dCBTcGFjZVNwbGl0U3RyaW5nJiBuZXdDbGFzc2VzKQorc3RhdGljIENsYXNzQ2hhbmdlVmVjdG9y
IGNvbXB1dGVDbGFzc0NoYW5nZShjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBvbGRDbGFzc2VzLCBj
b25zdCBTcGFjZVNwbGl0U3RyaW5nJiBuZXdDbGFzc2VzKQogewogICAgIHVuc2lnbmVkIG9sZFNp
emUgPSBvbGRDbGFzc2VzLnNpemUoKTsKICAgICB1bnNpZ25lZCBuZXdTaXplID0gbmV3Q2xhc3Nl
cy5zaXplKCk7CiAKLSAgICBpZiAoIW9sZFNpemUpIHsKLSAgICAgICAgbV9hZGRlZENsYXNzZXMg
PSBjb2xsZWN0Q2xhc3NlcyhuZXdDbGFzc2VzKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAg
ICBpZiAoIW5ld1NpemUpIHsKLSAgICAgICAgbV9yZW1vdmVkQ2xhc3NlcyA9IGNvbGxlY3RDbGFz
c2VzKG9sZENsYXNzZXMpOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgIGlmICghb2xkU2l6
ZSkKKyAgICAgICAgcmV0dXJuIGNvbGxlY3RDbGFzc2VzKG5ld0NsYXNzZXMpOworICAgIGlmICgh
bmV3U2l6ZSkKKyAgICAgICAgcmV0dXJuIGNvbGxlY3RDbGFzc2VzKG9sZENsYXNzZXMpOworCisg
ICAgQ2xhc3NDaGFuZ2VWZWN0b3IgY2hhbmdlZENsYXNzZXM7CiAKICAgICBCaXRWZWN0b3IgcmVt
YWluaW5nQ2xhc3NCaXRzOwogICAgIHJlbWFpbmluZ0NsYXNzQml0cy5lbnN1cmVTaXplKG9sZFNp
emUpOwpAQCAtNzAsMjEgKzcwLDI1IEBAIHZvaWQgQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb246OmNv
bXB1dGVDbGEKICAgICAgICAgfQogICAgICAgICBpZiAoZm91bmRGcm9tQm90aCkKICAgICAgICAg
ICAgIGNvbnRpbnVlOwotICAgICAgICBtX2FkZGVkQ2xhc3Nlcy5hcHBlbmQobmV3Q2xhc3Nlc1tp
XS5pbXBsKCkpOworICAgICAgICBjaGFuZ2VkQ2xhc3Nlcy5hcHBlbmQobmV3Q2xhc3Nlc1tpXS5p
bXBsKCkpOwogICAgIH0KICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgb2xkU2l6ZTsgKytp
KSB7CiAgICAgICAgIC8vIElmIHRoZSBiaXQgaXMgbm90IHNldCB0aGUgdGhlIGNvcnJlc3BvbmRp
bmcgY2xhc3MgaGFzIGJlZW4gcmVtb3ZlZC4KICAgICAgICAgaWYgKHJlbWFpbmluZ0NsYXNzQml0
cy5xdWlja0dldChpKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBtX3JlbW92ZWRD
bGFzc2VzLmFwcGVuZChvbGRDbGFzc2VzW2ldLmltcGwoKSk7CisgICAgICAgIGNoYW5nZWRDbGFz
c2VzLmFwcGVuZChvbGRDbGFzc2VzW2ldLmltcGwoKSk7CiAgICAgfQorCisgICAgcmV0dXJuIGNo
YW5nZWRDbGFzc2VzOwogfQogCi12b2lkIENsYXNzQ2hhbmdlSW52YWxpZGF0aW9uOjppbnZhbGlk
YXRlU3R5bGUoY29uc3QgQ2xhc3NDaGFuZ2VWZWN0b3ImIGNoYW5nZWRDbGFzc2VzKQordm9pZCBD
bGFzc0NoYW5nZUludmFsaWRhdGlvbjo6aW52YWxpZGF0ZVN0eWxlKGNvbnN0IFNwYWNlU3BsaXRT
dHJpbmcmIG9sZENsYXNzZXMsIGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIG5ld0NsYXNzZXMpCiB7
CisgICAgYXV0byBjaGFuZ2VkQ2xhc3NlcyA9IGNvbXB1dGVDbGFzc0NoYW5nZShvbGRDbGFzc2Vz
LCBuZXdDbGFzc2VzKTsKKwogICAgIGF1dG8mIHJ1bGVTZXRzID0gbV9lbGVtZW50LnN0eWxlUmVz
b2x2ZXIoKS5ydWxlU2V0cygpOwogCi0gICAgVmVjdG9yPEF0b21pY1N0cmluZ0ltcGwqLCA0PiBj
aGFuZ2VkQ2xhc3Nlc0FmZmVjdGluZ1N0eWxlOworICAgIENsYXNzQ2hhbmdlVmVjdG9yIGNoYW5n
ZWRDbGFzc2VzQWZmZWN0aW5nU3R5bGU7CiAgICAgZm9yIChhdXRvKiBjaGFuZ2VkQ2xhc3MgOiBj
aGFuZ2VkQ2xhc3NlcykgewogICAgICAgICBpZiAocnVsZVNldHMuZmVhdHVyZXMoKS5jbGFzc2Vz
SW5SdWxlcy5jb250YWlucyhjaGFuZ2VkQ2xhc3MpKQogICAgICAgICAgICAgY2hhbmdlZENsYXNz
ZXNBZmZlY3RpbmdTdHlsZS5hcHBlbmQoY2hhbmdlZENsYXNzKTsKQEAgLTEwNyw2ICsxMTEsMTMg
QEAgdm9pZCBDbGFzc0NoYW5nZUludmFsaWRhdGlvbjo6aW52YWxpZGF0ZQogICAgICAgICBhdXRv
KiBhbmNlc3RvckNsYXNzUnVsZXMgPSBydWxlU2V0cy5hbmNlc3RvckNsYXNzUnVsZXMoY2hhbmdl
ZENsYXNzKTsKICAgICAgICAgaWYgKCFhbmNlc3RvckNsYXNzUnVsZXMpCiAgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgbV9kZXNjZW5kYW50SW52YWxpZGF0aW9uUnVsZVNldHMuYXBwZW5k
KGFuY2VzdG9yQ2xhc3NSdWxlcyk7CisgICAgfQorfQorCit2b2lkIENsYXNzQ2hhbmdlSW52YWxp
ZGF0aW9uOjppbnZhbGlkYXRlRGVzY2VuZGFudFN0eWxlKCkKK3sKKyAgICBmb3IgKGF1dG8qIGFu
Y2VzdG9yQ2xhc3NSdWxlcyA6IG1fZGVzY2VuZGFudEludmFsaWRhdGlvblJ1bGVTZXRzKSB7CiAg
ICAgICAgIFN0eWxlSW52YWxpZGF0aW9uQW5hbHlzaXMgaW52YWxpZGF0aW9uQW5hbHlzaXMoKmFu
Y2VzdG9yQ2xhc3NSdWxlcyk7CiAgICAgICAgIGludmFsaWRhdGlvbkFuYWx5c2lzLmludmFsaWRh
dGVTdHlsZShtX2VsZW1lbnQpOwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0eWxlL0Ns
YXNzQ2hhbmdlSW52YWxpZGF0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3R5
bGUvQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb24uaAkocmV2aXNpb24gMTk4MDk2KQorKysgU291cmNl
L1dlYkNvcmUvc3R5bGUvQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb24uaAkod29ya2luZyBjb3B5KQpA
QCAtNDQsMTggKzQ0LDEzIEBAIHB1YmxpYzoKICAgICB+Q2xhc3NDaGFuZ2VJbnZhbGlkYXRpb24o
KTsKIAogcHJpdmF0ZToKLSAgICB1c2luZyBDbGFzc0NoYW5nZVZlY3RvciA9IFZlY3RvcjxBdG9t
aWNTdHJpbmdJbXBsKiwgND47Ci0KLSAgICB2b2lkIGNvbXB1dGVDbGFzc0NoYW5nZShjb25zdCBT
cGFjZVNwbGl0U3RyaW5nJiBvbGRDbGFzc2VzLCBjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBuZXdD
bGFzc2VzKTsKLSAgICB2b2lkIGludmFsaWRhdGVTdHlsZShjb25zdCBDbGFzc0NoYW5nZVZlY3Rv
ciYpOwotCi0gICAgc3RhdGljIENsYXNzQ2hhbmdlVmVjdG9yIGNvbGxlY3RDbGFzc2VzKGNvbnN0
IFNwYWNlU3BsaXRTdHJpbmcmKTsKKyAgICB2b2lkIGludmFsaWRhdGVTdHlsZShjb25zdCBTcGFj
ZVNwbGl0U3RyaW5nJiBvbGRDbGFzc2VzLCBjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBuZXdDbGFz
c2VzKTsKKyAgICB2b2lkIGludmFsaWRhdGVEZXNjZW5kYW50U3R5bGUoKTsKIAogICAgIGNvbnN0
IGJvb2wgbV9pc0VuYWJsZWQ7CiAgICAgRWxlbWVudCYgbV9lbGVtZW50OwogCi0gICAgQ2xhc3ND
aGFuZ2VWZWN0b3IgbV9hZGRlZENsYXNzZXM7Ci0gICAgQ2xhc3NDaGFuZ2VWZWN0b3IgbV9yZW1v
dmVkQ2xhc3NlczsKKyAgICBWZWN0b3I8Y29uc3QgUnVsZVNldCosIDQ+IG1fZGVzY2VuZGFudElu
dmFsaWRhdGlvblJ1bGVTZXRzOwogfTsKIAogaW5saW5lIENsYXNzQ2hhbmdlSW52YWxpZGF0aW9u
OjpDbGFzc0NoYW5nZUludmFsaWRhdGlvbihFbGVtZW50JiBlbGVtZW50LCBjb25zdCBTcGFjZVNw
bGl0U3RyaW5nJiBvbGRDbGFzc2VzLCBjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBuZXdDbGFzc2Vz
KQpAQCAtNjUsMTUgKzYwLDE1IEBAIGlubGluZSBDbGFzc0NoYW5nZUludmFsaWRhdGlvbjo6Q2xh
c3NDaGEKIHsKICAgICBpZiAoIW1faXNFbmFibGVkKQogICAgICAgICByZXR1cm47Ci0gICAgY29t
cHV0ZUNsYXNzQ2hhbmdlKG9sZENsYXNzZXMsIG5ld0NsYXNzZXMpOwotICAgIGludmFsaWRhdGVT
dHlsZShtX3JlbW92ZWRDbGFzc2VzKTsKKyAgICBpbnZhbGlkYXRlU3R5bGUob2xkQ2xhc3Nlcywg
bmV3Q2xhc3Nlcyk7CisgICAgaW52YWxpZGF0ZURlc2NlbmRhbnRTdHlsZSgpOwogfQogCiBpbmxp
bmUgQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb246On5DbGFzc0NoYW5nZUludmFsaWRhdGlvbigpCiB7
CiAgICAgaWYgKCFtX2lzRW5hYmxlZCkKICAgICAgICAgcmV0dXJuOwotICAgIGludmFsaWRhdGVT
dHlsZShtX2FkZGVkQ2xhc3Nlcyk7CisgICAgaW52YWxpZGF0ZURlc2NlbmRhbnRTdHlsZSgpOwog
fQogICAgIAogfQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTk4MDk2KQorKysgTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTYtMDMtMTUgIEFudHRp
IEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIENsYXNzIGNoYW5nZSBpbnZh
bGlkYXRpb24gZG9lcyBub3QgaGFuZGxlIDpub3QgY29ycmVjdGx5CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU0OTMKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzI0ODQ2NzYyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogZmFzdC9jc3Mvc3R5bGUtaW52YWxpZGF0aW9uLWF0dHJpYnV0ZS1jaGFuZ2Ut
ZGVzY2VuZGFudHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzL3N0eWxlLWludmFs
aWRhdGlvbi1hdHRyaWJ1dGUtY2hhbmdlLWRlc2NlbmRhbnRzLmh0bWw6CisKKyAgICAgICAgICAg
IEFsc28gYWRkIDpub3QgY2FzZSBmb3IgYXR0cmlidXRlIGNoYW5nZXMgKHdoaWNoIGhhbmRsZXMg
dGhpcyBjb3JyZWN0bHkgYWxyZWFkeSkuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9zdHlsZS1pbnZh
bGlkYXRpb24tY2xhc3MtY2hhbmdlLWRlc2NlbmRhbnRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2Nzcy9zdHlsZS1pbnZhbGlkYXRpb24tY2xhc3MtY2hhbmdlLWRlc2NlbmRhbnRzLmh0
bWw6CisKKyAgICAgICAgICAgIEFkZCA6bm90IGNhc2UuCisKIDIwMTYtMDMtMTMgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBjb3B5L3Bhc3RlIHBsdWctaW4g
Y2hlY2sgZm9yIFhIVE1MIGRvY3VtZW50CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHls
ZS1pbnZhbGlkYXRpb24tYXR0cmlidXRlLWNoYW5nZS1kZXNjZW5kYW50cy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtaW52YWxpZGF0aW9uLWF0
dHJpYnV0ZS1jaGFuZ2UtZGVzY2VuZGFudHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxOTgwOTYp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1pbnZhbGlkYXRpb24tYXR0cmlidXRlLWNo
YW5nZS1kZXNjZW5kYW50cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMsNiArMyw3
IEBAIFRlc3QgdGhhdCB3ZSBpbnZhbGlkYXRlIHRoZSBlbGVtZW50IHN1YnQKIE9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KIAogCitTZXR0aW5nIGF0dHJpYnV0ZSAnbXlub3RhdHRyJyB2YWx1ZSAn
JwogUEFTUyBoYXNFeHBlY3RlZFN0eWxlIGlzIHRydWUKIFBBU1MgdGVzdFN0eWxlQ2hhbmdlVHlw
ZSgicm9vdCIsICJOb1N0eWxlQ2hhbmdlIikgfHwgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9vdCIs
ICJJbmxpbmVTdHlsZUNoYW5nZSIpIGlzIHRydWUKIFBBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgi
dGFyZ2V0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCkBAIC0xNDMsNiArMTQ0LDE2IEBAIFBB
U1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJOb1N0eWwKIFBBU1MgdGVzdFN0eWxlQ2hh
bmdlVHlwZSgidGFyZ2V0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCiBQQVNTIHRlc3RTdHls
ZUNoYW5nZVR5cGUoImluZXJ0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCiBQQVNTIGhhc0V4
cGVjdGVkU3R5bGUgaXMgdHJ1ZQorUmVtb3ZpbmcgYXR0cmlidXRlICdteW5vdGF0dHInCitQQVNT
IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNoYW5nZSIpIHx8IHRlc3RTdHls
ZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRl
c3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJJbmxpbmVTdHlsZUNoYW5nZSIpIGlzIHRydWUK
K1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9TdHlsZUNoYW5nZSIpIGlzIHRy
dWUKK1BBU1MgaGFzRXhwZWN0ZWRTdHlsZSBpcyB0cnVlCitTZXR0aW5nIGF0dHJpYnV0ZSAnbXlu
b3RhdHRyJyB2YWx1ZSAndmFsdWUnCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAi
Tm9TdHlsZUNoYW5nZSIpIHx8IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5
bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJJ
bmxpbmVTdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5l
cnQiLCAiTm9TdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgaGFzRXhwZWN0ZWRTdHlsZSBpcyB0
cnVlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLWludmFsaWRhdGlvbi1hdHRyaWJ1dGUtY2hh
bmdlLWRlc2NlbmRhbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
c3R5bGUtaW52YWxpZGF0aW9uLWF0dHJpYnV0ZS1jaGFuZ2UtZGVzY2VuZGFudHMuaHRtbAkocmV2
aXNpb24gMTk4MDk2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtaW52YWxpZGF0aW9u
LWF0dHJpYnV0ZS1jaGFuZ2UtZGVzY2VuZGFudHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNDIs
NiArNDIsMTAgQEAKICAgICBjb2xvcjogcmdiKDksIDAsIDApOwogfQogCityb290Om5vdChbbXlu
b3RhdHRyXSkgdGFyZ2V0IHsKKyAgICBjb2xvcjogcmdiKDEwLCAwLCAwKTsKK30KKwogPC9zdHls
ZT4KIDwvaGVhZD4KIDxib2R5PgpAQCAtMTI1LDYgKzEyOSw4IEBAIGZ1bmN0aW9uIGNoZWNrU3R5
bGUobikgewogICAgIHNob3VsZEJlVHJ1ZSgiaGFzRXhwZWN0ZWRTdHlsZSIpOwogfQogCitzZXRB
dHRyaWJ1dGUoJ215bm90YXR0cicsICcnKTsKKwogY2hlY2tTdHlsZSgwKTsKIHRlc3RTdHlsZUlu
dmFsaWRhdGlvbigiTm9TdHlsZUNoYW5nZSIpOwogY2hlY2tTdHlsZSgwKTsKQEAgLTIzNyw2ICsy
NDMsMTQgQEAgc2V0QXR0cmlidXRlKCdteWF0dHIyJywgJ2ZvbycpOwogdGVzdFN0eWxlSW52YWxp
ZGF0aW9uKCJOb1N0eWxlQ2hhbmdlIik7CiBjaGVja1N0eWxlKDEpOwogCityZW1vdmVBdHRyaWJ1
dGUoJ215bm90YXR0cicpOwordGVzdFN0eWxlSW52YWxpZGF0aW9uKCJJbmxpbmVTdHlsZUNoYW5n
ZSIpOworY2hlY2tTdHlsZSgxMCk7CisKK3NldEF0dHJpYnV0ZSgnbXlub3RhdHRyJywgJ3ZhbHVl
Jyk7Cit0ZXN0U3R5bGVJbnZhbGlkYXRpb24oIklubGluZVN0eWxlQ2hhbmdlIik7CitjaGVja1N0
eWxlKDEpOworCiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3Nz
L3N0eWxlLWludmFsaWRhdGlvbi1jbGFzcy1jaGFuZ2UtZGVzY2VuZGFudHMtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLWludmFsaWRhdGlvbi1j
bGFzcy1jaGFuZ2UtZGVzY2VuZGFudHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxOTgwOTYpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1pbnZhbGlkYXRpb24tY2xhc3MtY2hhbmdlLWRl
c2NlbmRhbnRzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMyw2ICszLDcgQEAgVGVz
dCB0aGF0IHdlIGludmFsaWRhdGUgdGhlIGVsZW1lbnQgc3VidAogT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgogCiAKK0FkZGluZyBjbGFzcyBzdHlsZTUKIFBBU1MgaGFzRXhwZWN0ZWRTdHlsZSBp
cyB0cnVlCiBQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNoYW5nZSIp
IHx8IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2UiKSBpcyB0
cnVlCiBQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJOb1N0eWxlQ2hhbmdlIikg
aXMgdHJ1ZQpAQCAtNTEsNiArNTIsMTYgQEAgUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290
IiwgIk5vU3R5bAogUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJnZXQiLCAiSW5saW5lU3R5
bGVDaGFuZ2UiKSBpcyB0cnVlCiBQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoImluZXJ0IiwgIk5v
U3R5bGVDaGFuZ2UiKSBpcyB0cnVlCiBQQVNTIGhhc0V4cGVjdGVkU3R5bGUgaXMgdHJ1ZQorUmVt
b3ZpbmcgY2xhc3Mgc3R5bGU1CitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9T
dHlsZUNoYW5nZSIpIHx8IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVD
aGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJJbmxp
bmVTdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQi
LCAiTm9TdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgaGFzRXhwZWN0ZWRTdHlsZSBpcyB0cnVl
CitBZGRpbmcgY2xhc3Mgc3R5bGU1CitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAi
Tm9TdHlsZUNoYW5nZSIpIHx8IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5
bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJJ
bmxpbmVTdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5l
cnQiLCAiTm9TdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgaGFzRXhwZWN0ZWRTdHlsZSBpcyB0
cnVlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLWludmFsaWRhdGlvbi1jbGFzcy1jaGFuZ2Ut
ZGVzY2VuZGFudHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHls
ZS1pbnZhbGlkYXRpb24tY2xhc3MtY2hhbmdlLWRlc2NlbmRhbnRzLmh0bWwJKHJldmlzaW9uIDE5
ODA5NikKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLWludmFsaWRhdGlvbi1jbGFzcy1j
aGFuZ2UtZGVzY2VuZGFudHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjIsNiArMjIsMTAgQEAg
cm9vdC5zdHlsZTQgPiB0YXJnZXQgaW5lcnQgewogICAgIGNvbG9yOiByZ2IoNCwgNCwgNCk7CiB9
CiAKK3Jvb3Q6bm90KC5zdHlsZTUpIHRhcmdldCB7CisgICAgY29sb3I6IHJnYig1LCA1LCA1KTsK
K30KKwogPC9zdHlsZT4KIDwvaGVhZD4KIDxib2R5PgpAQCAtMTA1LDYgKzEwOSw4IEBAIGZ1bmN0
aW9uIGNoZWNrU3R5bGUobikgewogICAgIHNob3VsZEJlVHJ1ZSgiaGFzRXhwZWN0ZWRTdHlsZSIp
OwogfQogCithZGRDbGFzcygnc3R5bGU1Jyk7CisKIGNoZWNrU3R5bGUoMCk7CiB0ZXN0U3R5bGVJ
bnZhbGlkYXRpb24oIk5vU3R5bGVDaGFuZ2UiKTsKIGNoZWNrU3R5bGUoMCk7CkBAIC0xNDMsNiAr
MTQ5LDE0IEBAIHJlbW92ZUNsYXNzKCdzdHlsZTEnKTsKIHRlc3RTdHlsZUludmFsaWRhdGlvbigi
SW5saW5lU3R5bGVDaGFuZ2UiKTsKIGNoZWNrU3R5bGUoMCk7CiAKK3JlbW92ZUNsYXNzKCdzdHls
ZTUnKTsKK3Rlc3RTdHlsZUludmFsaWRhdGlvbigiSW5saW5lU3R5bGVDaGFuZ2UiKTsKK2NoZWNr
U3R5bGUoNSk7CisKK2FkZENsYXNzKCdzdHlsZTUnKTsKK3Rlc3RTdHlsZUludmFsaWRhdGlvbigi
SW5saW5lU3R5bGVDaGFuZ2UiKTsKK2NoZWNrU3R5bGUoMCk7CisKIDwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9odG1s
Pgo=
</data>
<flag name="review"
          id="298608"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>