<?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>39336</bug_id>
          
          <creation_ts>2010-05-18 17:24:14 -0700</creation_ts>
          <short_desc>Move all member variables from MappedAttribute to Attribute.</short_desc>
          <delta_ts>2010-05-18 17:42:48 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>227573</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-05-18 17:24:14 -0700</bug_when>
    <thetext>Move all member variables from MappedAttribute to Attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227575</commentid>
    <comment_count>1</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-05-18 17:25:33 -0700</bug_when>
    <thetext>&lt;rdar://problem/8000853&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227586</commentid>
    <comment_count>2</comment_count>
      <attachid>56435</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-05-18 17:39:50 -0700</bug_when>
    <thetext>Created attachment 56435
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227588</commentid>
    <comment_count>3</comment_count>
      <attachid>56435</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-05-18 17:41:03 -0700</bug_when>
    <thetext>Comment on attachment 56435
Patch

Great idea!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227589</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-05-18 17:42:48 -0700</bug_when>
    <thetext>Committed r59724: &lt;http://trac.webkit.org/changeset/59724&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56435</attachid>
            <date>2010-05-18 17:39:50 -0700</date>
            <delta_ts>2010-05-18 17:41:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39336-20100518173948.patch</filename>
            <type>text/plain</type>
            <size>19021</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTcyMykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDggQEAKKzIwMTAtMDUtMTggIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBNb3ZlIGFsbCBtZW1iZXIgdmFyaWFibGVzIGZyb20gTWFwcGVkQXR0cmlidXRlIHRvIEF0dHJp
YnV0ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5
MzM2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MDAwODUzPgorCisgICAgICAgIFRoaXMgc2F2
ZXMgb25lIHdvcmQgYmVjYXVzZSB3ZSBubyBsb25nZXIgaGF2ZSBhbnkgdmlydHVhbCBtZW1iZXIg
ZnVuY3Rpb25zIGluIEF0dHJpYnV0ZSwgYW5kCisgICAgICAgIHRodXMgbm8gdnRhYmxlIHBvaW50
ZXIuCisgICAgICAgIAorICAgICAgICBJIHBsYW4gdG8gcmVtb3ZlIE1hcHBlZEF0dHJpYnV0ZSBh
bHRvZ2V0aGVyIGluIGEgc3Vic2VxdWVudCBjb21taXQuCisKKyAgICAgICAgKiBBbmRyb2lkLm1r
OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5
bGVTZWxlY3Rvcjo6c3R5bGVGb3JFbGVtZW50KToKKyAgICAgICAgKiBkb20vQXR0cmlidXRlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkF0dHJpYnV0ZTo6Y2xvbmUpOgorICAgICAgICAqIGRvbS9B
dHRyaWJ1dGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkF0dHJpYnV0ZTo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkF0dHJpYnV0ZTo6c3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6QXR0cmli
dXRlOjpkZWNsKToKKyAgICAgICAgKFdlYkNvcmU6OkF0dHJpYnV0ZTo6c2V0RGVjbCk6CisgICAg
ICAgIChXZWJDb3JlOjpBdHRyaWJ1dGU6OmlzTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkF0dHJpYnV0ZTo6QXR0cmlidXRlKToKKyAgICAgICAgKiBkb20vTWFwcGVkQXR0cmli
dXRlLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBkb20vTWFwcGVkQXR0cmlidXRlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpNYXBwZWRBdHRyaWJ1dGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpNYXBwZWRBdHRyaWJ1dGU6Ok1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjp0
b01hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgICogZG9tL05hbWVkTWFwcGVkQXR0ck1hcC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpOYW1lZE1hcHBlZEF0dHJNYXA6OmRlY2xDb3VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpOYW1lZE1hcHBlZEF0dHJNYXA6Om1hcHNFcXVpdmFsZW50KToKKyAgICAg
ICAgKiBkb20vU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZWRFbGVt
ZW50OjphdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAgKiBzdmcvU1ZHU1ZHRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp1cGRhdGVDU1NGb3JBdHRyaWJ1dGUpOgorICAgICAgICAqIHN2
Zy9TVkdTdHlsZWRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0eWxlZEVsZW1l
bnQ6OmdldFByZXNlbnRhdGlvbkF0dHJpYnV0ZSk6CisKIDIwMTAtMDUtMTggIFRvbnkgQ2hhbmcg
IDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
SW5kZXg6IFdlYkNvcmUvQW5kcm9pZC5tawo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0FuZHJvaWQu
bWsJKHJldmlzaW9uIDU5NjcyKQorKysgV2ViQ29yZS9BbmRyb2lkLm1rCSh3b3JraW5nIGNvcHkp
CkBAIC0xMjgsNyArMTI4LDYgQEAgTE9DQUxfU1JDX0ZJTEVTIDo9ICQoTE9DQUxfU1JDX0ZJTEVT
KSBcCiAJZG9tL0V4Y2VwdGlvbkNvZGUuY3BwIFwKIAlkb20vSW5wdXRFbGVtZW50LmNwcCBcCiAJ
ZG9tL0tleWJvYXJkRXZlbnQuY3BwIFwKLQlkb20vTWFwcGVkQXR0cmlidXRlLmNwcCBcCiAJZG9t
L01lc3NhZ2VDaGFubmVsLmNwcCBcCiAJZG9tL01lc3NhZ2VFdmVudC5jcHAgXAogCWRvbS9NZXNz
YWdlUG9ydC5jcHAgXApJbmRleDogV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA1OTY3MikKKysrIFdlYkNvcmUvR05V
bWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTgwMSw3ICs4MDEsNiBAQCB3ZWJjb3JlX3Nv
dXJjZXMgKz0gXAogCVdlYkNvcmUvZG9tL0lucHV0RWxlbWVudC5oIFwKIAlXZWJDb3JlL2RvbS9L
ZXlib2FyZEV2ZW50LmNwcCBcCiAJV2ViQ29yZS9kb20vS2V5Ym9hcmRFdmVudC5oIFwKLQlXZWJD
b3JlL2RvbS9NYXBwZWRBdHRyaWJ1dGUuY3BwIFwKIAlXZWJDb3JlL2RvbS9NYXBwZWRBdHRyaWJ1
dGUuaCBcCiAJV2ViQ29yZS9kb20vTWFwcGVkQXR0cmlidXRlRW50cnkuaCBcCiAJV2ViQ29yZS9k
b20vTWVzc2FnZUNoYW5uZWwuY3BwIFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiA1OTY3MikKKysrIFdlYkNv
cmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0xMTM1LDcgKzExMzUsNiBAQAogICAg
ICAgICAgICAgJ2RvbS9JbnB1dEVsZW1lbnQuaCcsCiAgICAgICAgICAgICAnZG9tL0tleWJvYXJk
RXZlbnQuY3BwJywKICAgICAgICAgICAgICdkb20vS2V5Ym9hcmRFdmVudC5oJywKLSAgICAgICAg
ICAgICdkb20vTWFwcGVkQXR0cmlidXRlLmNwcCcsCiAgICAgICAgICAgICAnZG9tL01hcHBlZEF0
dHJpYnV0ZS5oJywKICAgICAgICAgICAgICdkb20vTWFwcGVkQXR0cmlidXRlRW50cnkuaCcsCiAg
ICAgICAgICAgICAnZG9tL01lc3NhZ2VDaGFubmVsLmNwcCcsCkluZGV4OiBXZWJDb3JlL1dlYkNv
cmUucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHJldmlzaW9uIDU5Njcy
KQorKysgV2ViQ29yZS9XZWJDb3JlLnBybwkod29ya2luZyBjb3B5KQpAQCAtNDc5LDcgKzQ3OSw2
IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9FeGNlcHRpb25Db2RlLmNwcCBcCiAgICAgZG9tL0lu
cHV0RWxlbWVudC5jcHAgXAogICAgIGRvbS9LZXlib2FyZEV2ZW50LmNwcCBcCi0gICAgZG9tL01h
cHBlZEF0dHJpYnV0ZS5jcHAgXAogICAgIGRvbS9NZXNzYWdlQ2hhbm5lbC5jcHAgXAogICAgIGRv
bS9NZXNzYWdlRXZlbnQuY3BwIFwKICAgICBkb20vTWVzc2FnZVBvcnQuY3BwIFwKSW5kZXg6IFdl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gNTk2NzIpCisrKyBXZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yOTU1
NywxMCArMjk1NTcsNiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVs
YXRpdmVQYXRoPSIuLlxkb21cTWFwcGVkQXR0cmlidXRlLmNwcCINCi0JCQkJPg0KLQkJCTwvRmls
ZT4NCi0JCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxNYXBwZWRBdHRyaWJ1dGUu
aCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNTk2NzIpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMzAxOCw3ICszMDE4LDYg
QEAKIAkJQThDNEE4MDMwOUQ1NjMyNzAwMDNBQzhEIC8qIE5hbWVkQXR0ck1hcC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThDNEE3RjEwOUQ1NjMyNzAw
MDNBQzhEIC8qIE5hbWVkQXR0ck1hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUE4QzRBODA0MDlENTYzMjcwMDAzQUM4RCAvKiBOYW1lZEF0dHJN
YXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThD
NEE3RjIwOUQ1NjMyNzAwMDNBQzhEIC8qIE5hbWVkQXR0ck1hcC5jcHAgKi87IH07CiAJCUE4QzRB
ODA1MDlENTYzMjcwMDAzQUM4RCAvKiBNYXBwZWRBdHRyaWJ1dGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QzRBN0YzMDlENTYzMjcwMDAzQUM4RCAv
KiBNYXBwZWRBdHRyaWJ1dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwotCQlBOEM0QTgwNjA5RDU2MzI3MDAwM0FDOEQgLyogTWFwcGVkQXR0cmlidXRl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QzRB
N0Y0MDlENTYzMjcwMDAzQUM4RCAvKiBNYXBwZWRBdHRyaWJ1dGUuY3BwICovOyB9OwogCQlBOEM0
QTgwNzA5RDU2MzI3MDAwM0FDOEQgLyogRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThDNEE3RjUwOUQ1NjMyNzAwMDNBQzhEIC8qIEVsZW1l
bnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlB
OEM0QTgwODA5RDU2MzI3MDAwM0FDOEQgLyogRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEM0QTdGNjA5RDU2MzI3MDAwM0FDOEQgLyog
RWxlbWVudC5jcHAgKi87IH07CiAJCUE4QzRBODA5MDlENTYzMjcwMDAzQUM4RCAvKiBDU1NNYXBw
ZWRBdHRyaWJ1dGVEZWNsYXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQThDNEE3RjcwOUQ1NjMyNzAwMDNBQzhEIC8qIENTU01hcHBlZEF0dHJp
YnV0ZURlY2xhcmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKQEAgLTg0MzUsNyArODQzNCw2IEBACiAJCUE4QzRBN0YxMDlENTYzMjcwMDAzQUM4
RCAvKiBOYW1lZEF0dHJNYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5h
bWVkQXR0ck1hcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBOEM0QTdGMjA5RDU2
MzI3MDAwM0FDOEQgLyogTmFtZWRBdHRyTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBOYW1lZEF0dHJNYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBOEM0QTdGMzA5RDU2MzI3MDAwM0FDOEQgLyogTWFwcGVkQXR0cmlidXRlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXBwZWRBdHRyaWJ1dGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQThDNEE3RjQwOUQ1NjMyNzAwMDNBQzhEIC8qIE1hcHBlZEF0
dHJpYnV0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWFwcGVk
QXR0cmlidXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQThDNEE3RjUwOUQ1
NjMyNzAwMDNBQzhEIC8qIEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQThDNEE3RjYwOUQ1
NjMyNzAwMDNBQzhEIC8qIEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBOEM0
QTdGNzA5RDU2MzI3MDAwM0FDOEQgLyogQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU01hcHBlZEF0dHJpYnV0ZURlY2xh
cmF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjUxMiw3ICsxNjUxMCw2
IEBACiAJCQkJODUwMzFCMkQwQTQ0RUZDNzAwRjk5MkUwIC8qIEtleWJvYXJkRXZlbnQuY3BwICov
LAogCQkJCTg1MDMxQjJFMEE0NEVGQzcwMEY5OTJFMCAvKiBLZXlib2FyZEV2ZW50LmggKi8sCiAJ
CQkJMTRDRjdDMjAwOUY3MTEwNjAwRUIzNjY1IC8qIEtleWJvYXJkRXZlbnQuaWRsICovLAotCQkJ
CUE4QzRBN0Y0MDlENTYzMjcwMDAzQUM4RCAvKiBNYXBwZWRBdHRyaWJ1dGUuY3BwICovLAogCQkJ
CUE4QzRBN0YzMDlENTYzMjcwMDAzQUM4RCAvKiBNYXBwZWRBdHRyaWJ1dGUuaCAqLywKIAkJCQlB
OEM0QTg0QjA5RDU2NDlEMDAwM0FDOEQgLyogTWFwcGVkQXR0cmlidXRlRW50cnkuaCAqLywKIAkJ
CQlFMUFERUNDRDBFNzZBRDhCMDA0QTFBNUUgLyogTWVzc2FnZUNoYW5uZWwuY3BwICovLApAQCAt
MjA3OTgsNyArMjA3OTUsNiBAQAogCQkJCTE0MDI2NDVFMEFGREMxOUIwMDU5MTlFMiAvKiBMb2dn
aW5nTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNFMjI3RTEwQUY1ODlBRDAwRDQ4MzI0IC8q
IE1haW5SZXNvdXJjZUxvYWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQThGNkJDNTBEQjU1
Q0RDMDAxREI3OTQgLyogTWFuaWZlc3RQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQThD
NEE4MDYwOUQ1NjMyNzAwMDNBQzhEIC8qIE1hcHBlZEF0dHJpYnV0ZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk5MzMwOURGNzA5OUU2NDkyMDA1NkU1ODEgLyogbWFya3VwLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUZBQkU3MkY0MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUZBQkU3MkZEMTA1OUMyMTEwMEQ5OTlERCAvKiBNYXRoTUxFbGVt
ZW50RmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3Iu
Y3BwCShyZXZpc2lvbiA1OTY3MikKKysrIFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMjU5LDcgKzEyNTksNyBAQCBQYXNzUmVmUHRyPFJlbmRlclN0
eWxlPiBDU1NTdHlsZVNlbGVjdG9yCiAgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IG1hcC0+bGVuZ3RoKCk7IGkrKykgewogICAgICAgICAgICAgICAgICAgICBBdHRyaWJ1
dGUqIGF0dHIgPSBtYXAtPmF0dHJpYnV0ZUl0ZW0oaSk7CiAgICAgICAgICAgICAgICAgICAgIGlm
IChhdHRyLT5pc01hcHBlZEF0dHJpYnV0ZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBN
YXBwZWRBdHRyaWJ1dGUqIG1hcHBlZEF0dHIgPSBzdGF0aWNfY2FzdDxNYXBwZWRBdHRyaWJ1dGUq
PihhdHRyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIE1hcHBlZEF0dHJpYnV0ZSogbWFwcGVk
QXR0ciA9IHRvTWFwcGVkQXR0cmlidXRlKGF0dHIpOwogICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKG1hcHBlZEF0dHItPmRlY2woKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxh
c3RBdXRob3JSdWxlID0gbV9tYXRjaGVkRGVjbHMuc2l6ZSgpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIChmaXJzdEF1dGhvclJ1bGUgPT0gLTEpCkluZGV4OiBXZWJDb3JlL2RvbS9B
dHRyaWJ1dGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0F0dHJpYnV0ZS5jcHAJKHJl
dmlzaW9uIDU5NjcyKQorKysgV2ViQ29yZS9kb20vQXR0cmlidXRlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzEsNyArMzEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFBhc3NSZWZQdHI8QXR0
cmlidXRlPiBBdHRyaWJ1dGU6OmNsb25lKCkgY29uc3QKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IEF0dHJpYnV0ZShtX25hbWUsIG1fdmFsdWUpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3
IEF0dHJpYnV0ZShtX25hbWUsIG1fdmFsdWUsIG1faXNNYXBwZWRBdHRyaWJ1dGUsIG1fc3R5bGVE
ZWNsLmdldCgpKSk7CiB9CiAKIFBhc3NSZWZQdHI8QXR0cj4gQXR0cmlidXRlOjpjcmVhdGVBdHRy
SWZOZWVkZWQoRWxlbWVudCogZSkKQEAgLTQyLDQgKzQyLDQgQEAgUGFzc1JlZlB0cjxBdHRyPiBB
dHRyaWJ1dGU6OmNyZWF0ZUF0dHJJZgogICAgIHJldHVybiByLnJlbGVhc2UoKTsKIH0KIAotfQor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9kb20vQXR0cmlidXRlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9kb20vQXR0cmlidXRlLmgJKHJldmlzaW9uIDU5NjcyKQorKysg
V2ViQ29yZS9kb20vQXR0cmlidXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI1LDYgKzI1LDcgQEAK
ICNpZm5kZWYgQXR0cmlidXRlX2gKICNkZWZpbmUgQXR0cmlidXRlX2gKIAorI2luY2x1ZGUgIkNT
U01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uLmgiCiAjaW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MywxMCArNDQsOSBAQCBjbGFzcyBBdHRyaWJ1
dGUgOiBwdWJsaWMgUmVmQ291bnRlZDxBdHRyCiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8QXR0cmlidXRlPiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRv
bWljU3RyaW5nJiB2YWx1ZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXR0
cmlidXRlKG5hbWUsIHZhbHVlKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXR0cmli
dXRlKG5hbWUsIHZhbHVlLCBmYWxzZSwgMCkpOwogICAgIH0KLSAgICB2aXJ0dWFsIH5BdHRyaWJ1
dGUoKSB7IH0KLSAgICAKKwogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUoKSBjb25zdCB7
IHJldHVybiBtX3ZhbHVlOyB9CiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBwcmVmaXgoKSBjb25z
dCB7IHJldHVybiBtX25hbWUucHJlZml4KCk7IH0KICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGxv
Y2FsTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZS5sb2NhbE5hbWUoKTsgfQpAQCAtNjAsMzAg
KzYwLDQ1IEBAIHB1YmxpYzoKICAgICBib29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuIG1fdmFs
dWUuaXNOdWxsKCk7IH0KICAgICBib29sIGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVl
LmlzRW1wdHkoKTsgfQogICAgIAotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxBdHRyaWJ1dGU+IGNs
b25lKCkgY29uc3Q7CisgICAgUGFzc1JlZlB0cjxBdHRyaWJ1dGU+IGNsb25lKCkgY29uc3Q7CiAK
ICAgICAvLyBBbiBleHRlbnNpb24gdG8gZ2V0IHRoZSBzdHlsZSBpbmZvcm1hdGlvbiBmb3IgcHJl
c2VudGF0aW9uYWwgYXR0cmlidXRlcy4KLSAgICB2aXJ0dWFsIENTU1N0eWxlRGVjbGFyYXRpb24q
IHN0eWxlKCkgY29uc3QgeyByZXR1cm4gMDsgfQotICAgIAorICAgIENTU1N0eWxlRGVjbGFyYXRp
b24qIHN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZURlY2wuZ2V0KCk7IH0KKyAgICBDU1NN
YXBwZWRBdHRyaWJ1dGVEZWNsYXJhdGlvbiogZGVjbCgpIGNvbnN0IHsgcmV0dXJuIG1fc3R5bGVE
ZWNsLmdldCgpOyB9CisgICAgdm9pZCBzZXREZWNsKFBhc3NSZWZQdHI8Q1NTTWFwcGVkQXR0cmli
dXRlRGVjbGFyYXRpb24+IGRlY2wpIHsgbV9zdHlsZURlY2wgPSBkZWNsOyB9CisKICAgICB2b2lk
IHNldFZhbHVlKGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpIHsgbV92YWx1ZSA9IHZhbHVlOyB9
CiAgICAgdm9pZCBzZXRQcmVmaXgoY29uc3QgQXRvbWljU3RyaW5nJiBwcmVmaXgpIHsgbV9uYW1l
LnNldFByZWZpeChwcmVmaXgpOyB9CiAKLSAgICB2aXJ0dWFsIGJvb2wgaXNNYXBwZWRBdHRyaWJ1
dGUoKSB7IHJldHVybiBmYWxzZTsgfQorICAgIGJvb2wgaXNNYXBwZWRBdHRyaWJ1dGUoKSB7IHJl
dHVybiBtX2lzTWFwcGVkQXR0cmlidXRlOyB9CiAKIHByb3RlY3RlZDoKLSAgICBBdHRyaWJ1dGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkKLSAg
ICAgICAgOiBtX25hbWUobmFtZSksIG1fdmFsdWUodmFsdWUpLCBtX2ltcGwoMCkKKyAgICBBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1
ZSwgYm9vbCBpc01hcHBlZEF0dHJpYnV0ZSwgQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb24q
IHN0eWxlRGVjbCkKKyAgICAgICAgOiBtX2lzTWFwcGVkQXR0cmlidXRlKGlzTWFwcGVkQXR0cmli
dXRlKQorICAgICAgICAsIG1fbmFtZShuYW1lKQorICAgICAgICAsIG1fdmFsdWUodmFsdWUpCisg
ICAgICAgICwgbV9pbXBsKDApCisgICAgICAgICwgbV9zdHlsZURlY2woc3R5bGVEZWNsKQogICAg
IHsKICAgICB9Ci0gICAgQXR0cmlidXRlKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3Qg
QXRvbWljU3RyaW5nJiB2YWx1ZSkKLSAgICAgICAgOiBtX25hbWUobnVsbEF0b20sIG5hbWUsIG51
bGxBdG9tKSwgbV92YWx1ZSh2YWx1ZSksIG1faW1wbCgwKQorCisgICAgQXR0cmlidXRlKGNvbnN0
IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSwgYm9vbCBpc01h
cHBlZEF0dHJpYnV0ZSwgQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb24qIHN0eWxlRGVjbCkK
KyAgICAgICAgOiBtX2lzTWFwcGVkQXR0cmlidXRlKGlzTWFwcGVkQXR0cmlidXRlKQorICAgICAg
ICAsIG1fbmFtZShudWxsQXRvbSwgbmFtZSwgbnVsbEF0b20pCisgICAgICAgICwgbV92YWx1ZSh2
YWx1ZSkKKyAgICAgICAgLCBtX2ltcGwoMCkKKyAgICAgICAgLCBtX3N0eWxlRGVjbChzdHlsZURl
Y2wpCiAgICAgewogICAgIH0KIAogcHJpdmF0ZToKKyAgICAvLyBUaGlzIGJvb2xlYW4gd2lsbCBn
byBpbnRvIHRoZSBzcGFyZSAzMi1iaXRzIG9mIHBhZGRpbmcgZnJvbSBSZWZDb3VudGVkIGluIDY0
LWJpdC4KKyAgICBib29sIG1faXNNYXBwZWRBdHRyaWJ1dGU7CisgICAgCiAgICAgUXVhbGlmaWVk
TmFtZSBtX25hbWU7CiAgICAgQXRvbWljU3RyaW5nIG1fdmFsdWU7CiAgICAgQXR0ciogbV9pbXBs
OworICAgIFJlZlB0cjxDU1NNYXBwZWRBdHRyaWJ1dGVEZWNsYXJhdGlvbj4gbV9zdHlsZURlY2w7
CiB9OwogCiB9IC8vbmFtZXNwYWNlCkluZGV4OiBXZWJDb3JlL2RvbS9NYXBwZWRBdHRyaWJ1dGUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL01hcHBlZEF0dHJpYnV0ZS5jcHAJKHJldmlz
aW9uIDU5NjcyKQorKysgV2ViQ29yZS9kb20vTWFwcGVkQXR0cmlidXRlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMSwzNCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25v
bGwgKGtub2xsQGtkZS5vcmcpCi0gKiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8g
KGtvaXZpc3RvQGtkZS5vcmcpCi0gKiAgICAgICAgICAgKEMpIDIwMDEgUGV0ZXIgS2VsbHkgKHBt
a0Bwb3N0LmNvbSkKLSAqICAgICAgICAgICAoQykgMjAwMSBEaXJrIE11ZWxsZXIgKG11ZWxsZXJA
a2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICog
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJN
YXBwZWRBdHRyaWJ1dGUuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1QYXNzUmVmUHRyPEF0
dHJpYnV0ZT4gTWFwcGVkQXR0cmlidXRlOjpjbG9uZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBNYXBwZWRBdHRyaWJ1dGUobmFtZSgpLCB2YWx1ZSgpLCBtX3N0eWxlRGVjbC5n
ZXQoKSkpOwotfQotCi19CkluZGV4OiBXZWJDb3JlL2RvbS9NYXBwZWRBdHRyaWJ1dGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9NYXBwZWRBdHRyaWJ1dGUuaAkocmV2aXNpb24gNTk2NzIp
CisrKyBXZWJDb3JlL2RvbS9NYXBwZWRBdHRyaWJ1dGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjYs
NyArMjYsNiBAQAogI2RlZmluZSBNYXBwZWRBdHRyaWJ1dGVfaAogCiAjaW5jbHVkZSAiQXR0cmli
dXRlLmgiCi0jaW5jbHVkZSAiQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb24uaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNCwzNSArMzMsMzEgQEAgY2xhc3MgTWFwcGVkQXR0cmli
dXRlIDogcHVibGljIEF0dHJpYnV0ZQogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1h
cHBlZEF0dHJpYnV0ZT4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0
b21pY1N0cmluZyYgdmFsdWUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1h
cHBlZEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSwgMCkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IE1hcHBlZEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSkpOwogICAgIH0KICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxNYXBwZWRBdHRyaWJ1dGU+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUs
IGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IE1hcHBlZEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSwgMCkpOworICAgICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IE1hcHBlZEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSkpOwogICAgIH0KIAotICAg
IHZpcnR1YWwgUGFzc1JlZlB0cjxBdHRyaWJ1dGU+IGNsb25lKCkgY29uc3Q7Ci0KLSAgICB2aXJ0
dWFsIENTU1N0eWxlRGVjbGFyYXRpb24qIHN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZURl
Y2wuZ2V0KCk7IH0KLQotICAgIHZpcnR1YWwgYm9vbCBpc01hcHBlZEF0dHJpYnV0ZSgpIHsgcmV0
dXJuIHRydWU7IH0KLQotICAgIENTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uKiBkZWNsKCkg
Y29uc3QgeyByZXR1cm4gbV9zdHlsZURlY2wuZ2V0KCk7IH0KLSAgICB2b2lkIHNldERlY2woUGFz
c1JlZlB0cjxDU1NNYXBwZWRBdHRyaWJ1dGVEZWNsYXJhdGlvbj4gZGVjbCkgeyBtX3N0eWxlRGVj
bCA9IGRlY2w7IH0KLQogcHJpdmF0ZToKLSAgICBNYXBwZWRBdHRyaWJ1dGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSwgQ1NTTWFwcGVkQXR0cmli
dXRlRGVjbGFyYXRpb24qIGRlY2xhcmF0aW9uKQotICAgICAgICA6IEF0dHJpYnV0ZShuYW1lLCB2
YWx1ZSksIG1fc3R5bGVEZWNsKGRlY2xhcmF0aW9uKQorICAgIE1hcHBlZEF0dHJpYnV0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKQorICAgICAg
ICA6IEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSwgdHJ1ZSwgMCkKICAgICB7CiAgICAgfQotICAgIE1h
cHBlZEF0dHJpYnV0ZShjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgdmFsdWUsIENTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uKiBkZWNsYXJhdGlvbikKLSAg
ICAgICAgOiBBdHRyaWJ1dGUobmFtZSwgdmFsdWUpLCBtX3N0eWxlRGVjbChkZWNsYXJhdGlvbikK
KworICAgIE1hcHBlZEF0dHJpYnV0ZShjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IEF0
b21pY1N0cmluZyYgdmFsdWUpCisgICAgICAgIDogQXR0cmlidXRlKG5hbWUsIHZhbHVlLCB0cnVl
LCAwKQogICAgIHsKICAgICB9Ci0KLSAgICBSZWZQdHI8Q1NTTWFwcGVkQXR0cmlidXRlRGVjbGFy
YXRpb24+IG1fc3R5bGVEZWNsOwogfTsKIAoraW5saW5lIE1hcHBlZEF0dHJpYnV0ZSogdG9NYXBw
ZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyaWJ1dGUpCit7CisgICAgQVNTRVJUKCFhdHRyaWJ1
dGUgfHwgYXR0cmlidXRlLT5pc01hcHBlZEF0dHJpYnV0ZSgpKTsKKyAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8TWFwcGVkQXR0cmlidXRlKj4oYXR0cmlidXRlKTsKK30KKwogfSAvL25hbWVzcGFjZQog
CiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUvZG9tL05hbWVkTWFwcGVkQXR0ck1hcC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9kb20vTmFtZWRNYXBwZWRBdHRyTWFwLmNwcAkocmV2aXNpb24gNTk2
NzIpCisrKyBXZWJDb3JlL2RvbS9OYW1lZE1hcHBlZEF0dHJNYXAuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00OSw3ICs0OSw3IEBAIGludCBOYW1lZE1hcHBlZEF0dHJNYXA6OmRlY2xDb3VudCgpIGNv
bnMKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoKCk7IGkrKykgewogICAgICAg
ICBBdHRyaWJ1dGUqIGF0dHIgPSBhdHRyaWJ1dGVJdGVtKGkpOwogICAgICAgICBpZiAoYXR0ci0+
aXNNYXBwZWRBdHRyaWJ1dGUoKSAmJgotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8TWFwcGVkQXR0
cmlidXRlKj4oYXR0ciktPmRlY2woKSkKKyAgICAgICAgICAgIHRvTWFwcGVkQXR0cmlidXRlKGF0
dHIpLT5kZWNsKCkpCiAgICAgICAgICAgICByZXN1bHQrKzsKICAgICB9CiAgICAgcmV0dXJuIHJl
c3VsdDsKQEAgLTY1LDcgKzY1LDcgQEAgYm9vbCBOYW1lZE1hcHBlZEF0dHJNYXA6Om1hcHNFcXVp
dmFsZW50KAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGgoKTsgaSsrKSB7CiAg
ICAgICAgIEF0dHJpYnV0ZSogYXR0ciA9IGF0dHJpYnV0ZUl0ZW0oaSk7CiAgICAgICAgIGlmIChh
dHRyLT5pc01hcHBlZEF0dHJpYnV0ZSgpICYmCi0gICAgICAgICAgICBzdGF0aWNfY2FzdDxNYXBw
ZWRBdHRyaWJ1dGUqPihhdHRyKS0+ZGVjbCgpKSB7CisgICAgICAgICAgICB0b01hcHBlZEF0dHJp
YnV0ZShhdHRyKS0+ZGVjbCgpKSB7CiAgICAgICAgICAgICBBdHRyaWJ1dGUqIG90aGVyQXR0ciA9
IG90aGVyTWFwLT5nZXRBdHRyaWJ1dGVJdGVtKGF0dHItPm5hbWUoKSk7CiAgICAgICAgICAgICBp
ZiAoIW90aGVyQXR0ciB8fCAoYXR0ci0+dmFsdWUoKSAhPSBvdGhlckF0dHItPnZhbHVlKCkpKQog
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKSW5kZXg6IFdlYkNvcmUvZG9tL1N0eWxlZEVs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCShy
ZXZpc2lvbiA1OTY3MikKKysrIFdlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xNDUsNyArMTQ1LDcgQEAgdm9pZCBTdHlsZWRFbGVtZW50OjphdHRyaWJ1dGVD
aGFuZ2VkKEF0dAogICAgICAgICByZXR1cm47CiAgICAgfQogIAotICAgIE1hcHBlZEF0dHJpYnV0
ZSogbWFwcGVkQXR0ciA9IHN0YXRpY19jYXN0PE1hcHBlZEF0dHJpYnV0ZSo+KGF0dHIpOworICAg
IE1hcHBlZEF0dHJpYnV0ZSogbWFwcGVkQXR0ciA9IHRvTWFwcGVkQXR0cmlidXRlKGF0dHIpOwog
ICAgIGlmIChtYXBwZWRBdHRyLT5kZWNsKCkgJiYgIXByZXNlcnZlRGVjbHMpIHsKICAgICAgICAg
bWFwcGVkQXR0ci0+c2V0RGVjbCgwKTsKICAgICAgICAgc2V0TmVlZHNTdHlsZVJlY2FsYygpOwpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAJKHJldmlzaW9uIDU5NjcyKQorKysgV2ViQ29yZS9zdmcv
U1ZHU1ZHRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4Miw3ICsyODIsNyBAQCBzdGF0
aWMgdm9pZCB1cGRhdGVDU1NGb3JBdHRyaWJ1dGUoU1ZHU1ZHCiAgICAgQXR0cmlidXRlKiBhdHRy
aWJ1dGUgPSBlbGVtZW50LT5hdHRyaWJ1dGVzKGZhbHNlKS0+Z2V0QXR0cmlidXRlSXRlbShhdHRy
TmFtZSk7CiAgICAgaWYgKCFhdHRyaWJ1dGUgfHwgIWF0dHJpYnV0ZS0+aXNNYXBwZWRBdHRyaWJ1
dGUoKSkKICAgICAgICAgcmV0dXJuOwotICAgIGVsZW1lbnQtPmFkZENTU1Byb3BlcnR5KHN0YXRp
Y19jYXN0PE1hcHBlZEF0dHJpYnV0ZSo+KGF0dHJpYnV0ZSksIHByb3BlcnR5LCB2YWx1ZS52YWx1
ZUFzU3RyaW5nKCkpOworICAgIGVsZW1lbnQtPmFkZENTU1Byb3BlcnR5KHRvTWFwcGVkQXR0cmli
dXRlKGF0dHJpYnV0ZSksIHByb3BlcnR5LCB2YWx1ZS52YWx1ZUFzU3RyaW5nKCkpOwogfQogCiB2
b2lkIFNWR1NWR0VsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgYXR0ck5hbWUpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmNwcAkocmV2aXNpb24gNTk2
NzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzI2LDcgKzMyNiw3IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IFNWR1N0eWxlZEVsZW1lbnQ6
OmcKICAgICBpZiAoIWF0dHIgfHwgIWF0dHItPmlzTWFwcGVkQXR0cmlidXRlKCkgfHwgIWF0dHIt
PnN0eWxlKCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgTWFwcGVkQXR0cmlidXRlKiBjc3NT
VkdBdHRyID0gc3RhdGljX2Nhc3Q8TWFwcGVkQXR0cmlidXRlKj4oYXR0cik7CisgICAgTWFwcGVk
QXR0cmlidXRlKiBjc3NTVkdBdHRyID0gdG9NYXBwZWRBdHRyaWJ1dGUoYXR0cik7CiAgICAgLy8g
VGhpcyBmdW5jdGlvbiByZXR1cm5zIGEgcG9pbnRlciB0byBhIENTU1ZhbHVlIHdoaWNoIGNhbiBi
ZSBtdXRhdGVkIGZyb20gSmF2YVNjcmlwdC4KICAgICAvLyBJZiB0aGUgYXNzb2NpYXRlZCBNYXBw
ZWRBdHRyaWJ1dGUgdXNlcyB0aGUgc2FtZSBDU1NNYXBwZWRBdHRyaWJ1dGVEZWNsYXJhdGlvbgog
ICAgIC8vIGFzIFN0eWxlZEVsZW1lbnQncyBtYXBwZWRBdHRyaWJ1dGVEZWNscyBjYWNoZSwgY3Jl
YXRlIGEgbmV3IENTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uCg==
</data>
<flag name="review"
          id="40852"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>