<?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>62654</bug_id>
          
          <creation_ts>2011-06-14 11:19:35 -0700</creation_ts>
          <short_desc>Create the PluginModuleInfo class and reverse the typedef so that PluginInfoStore::Plugin is now a typedef</short_desc>
          <delta_ts>2011-06-14 11:45:37 -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>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></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="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>420592</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-06-14 11:19:35 -0700</bug_when>
    <thetext>Create the PluginModuleInfo class and reverse the typedef so that PluginInfoStore::Plugin is now a typedef</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420605</commentid>
    <comment_count>1</comment_count>
      <attachid>97144</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-06-14 11:30:14 -0700</bug_when>
    <thetext>Created attachment 97144
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420625</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-06-14 11:45:37 -0700</bug_when>
    <thetext>Committed r88839: &lt;http://trac.webkit.org/changeset/88839&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97144</attachid>
            <date>2011-06-14 11:30:14 -0700</date>
            <delta_ts>2011-06-14 11:43:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62654-20110614113018.patch</filename>
            <type>text/plain</type>
            <size>21085</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDg4ODI5KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTEtMDYtMTQgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBDcmVhdGUgdGhlIFBsdWdpbk1vZHVsZUluZm8gY2xhc3Mg
YW5kIHJldmVyc2UgdGhlIHR5cGVkZWYgc28gdGhhdCBQbHVnaW5JbmZvU3RvcmU6OlBsdWdpbiBp
cyBub3cgYSB0eXBlZGVmCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MjY1NAorCisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0
b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luSW5mb1N0b3JlOjpsb2FkUGx1Z2luc0lm
TmVjZXNzYXJ5KToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luSW5mb1N0b3JlOjpsb2FkUGx1Z2lu
KToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luSW5mb1N0b3JlOjpmaW5kUGx1Z2luRm9yTUlNRVR5
cGUpOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5JbmZvU3RvcmU6OmZpbmRQbHVnaW5Gb3JFeHRl
bnNpb24pOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5JbmZvU3RvcmU6OmZpbmRQbHVnaW4pOgor
ICAgICAgICAoV2ViS2l0OjpQbHVnaW5JbmZvU3RvcmU6OmluZm9Gb3JQbHVnaW5XaXRoUGF0aCk6
CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuY3BwOgorICAgICAgICAo
V2ViS2l0OjpQbHVnaW5Qcm9jZXNzTWFuYWdlcjo6Z2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24p
OgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3NQcm94eTo6UGx1Z2luUHJvY2Vzc1Byb3h5KToK
KyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9XZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXIuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXI6OmdldFNpdGVzV2l0
aERhdGEpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXI6OmNsZWFy
U2l0ZURhdGEpOgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5zL21hYy9QbHVnaW5JbmZvU3Rv
cmVNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlBsdWdpbkluZm9TdG9yZTo6Z2V0UGx1Z2luSW5m
byk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpbkluZm9TdG9yZTo6c2hvdWxkVXNlUGx1Z2luKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy91bml4L1BsdWdpbkluZm9TdG9yZVVuaXguY3Bw
OgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5JbmZvU3RvcmU6OmdldFBsdWdpbkluZm8pOgorICAg
ICAgICAoV2ViS2l0OjpQbHVnaW5JbmZvU3RvcmU6OnNob3VsZFVzZVBsdWdpbik6CisgICAgICAg
ICogVUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHA6CisgICAgICAg
IChXZWJLaXQ6OmlzT2xkV2luZG93c01lZGlhUGxheWVyUGx1Z2luKToKKyAgICAgICAgKFdlYktp
dDo6aXNOZXdXaW5kb3dzTWVkaWFQbGF5ZXJQbHVnaW4pOgorICAgICAgICAoV2ViS2l0OjpQbHVn
aW5JbmZvU3RvcmU6OnNob3VsZFVzZVBsdWdpbik6CisKIDIwMTEtMDYtMTQgIEFuZGVycyBDYXJs
c3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVy
bnN0ZWluLgpJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luTW9kdWxl
SW5mby5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdp
bk1vZHVsZUluZm8uaAkocmV2aXNpb24gODg4MTkpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
UGx1Z2lucy9QbHVnaW5Nb2R1bGVJbmZvLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDEyICsyNiwy
MiBAQAogI2lmbmRlZiBQbHVnaW5Nb2R1bGVJbmZvX2gKICNkZWZpbmUgUGx1Z2luTW9kdWxlSW5m
b19oCiAKLS8vIEZJWE1FOiBSZW1vdmUgdGhpcyBpbmNsdWRlIGFuZCBtb3ZlIFBsdWdpbkluZm9T
dG9yZTo6UGx1Z2luIGhlcmUgYW5kIHJlbmFtZSBpdCB0byBQbHVnaW5Nb2R1bGVJbmZvLgotI2lu
Y2x1ZGUgIlBsdWdpbkluZm9TdG9yZS5oIgorI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z2luRGF0YS5o
PgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotdHlwZWRlZiBQbHVnaW5JbmZvU3RvcmU6OlBsdWdp
biBQbHVnaW5Nb2R1bGVJbmZvOworc3RydWN0IFBsdWdpbk1vZHVsZUluZm8geworICAgIFN0cmlu
ZyBwYXRoOworICAgIFdlYkNvcmU6OlBsdWdpbkluZm8gaW5mbzsKKworI2lmIFBMQVRGT1JNKE1B
QykKKyAgICBjcHVfdHlwZV90IHBsdWdpbkFyY2hpdGVjdHVyZTsKKyAgICBTdHJpbmcgYnVuZGxl
SWRlbnRpZmllcjsKKyAgICBTdHJpbmcgdmVyc2lvblN0cmluZzsKKyNlbGlmIFBMQVRGT1JNKFdJ
TikKKyAgICB1aW50NjRfdCBmaWxlVmVyc2lvbjsKKyNlbmRpZgorfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05ldHNjYXBl
L05ldHNjYXBlUGx1Z2luTW9kdWxlTm9uZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5Nb2R1bGVOb25lLmNwcAko
cmV2aXNpb24gODg4MTEpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OZXRzY2Fw
ZS9OZXRzY2FwZVBsdWdpbk1vZHVsZU5vbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICsz
Myw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAot
Ym9vbCBOZXRzY2FwZVBsdWdpbk1vZHVsZTo6Z2V0UGx1Z2luSW5mbyhjb25zdCBTdHJpbmcmLCBQ
bHVnaW5JbmZvU3RvcmU6OlBsdWdpbiYpCitib29sIE5ldHNjYXBlUGx1Z2luTW9kdWxlOjpnZXRQ
bHVnaW5JbmZvKGNvbnN0IFN0cmluZyYsIFBsdWdpbk1vZHVsZUluZm8mKQogewogICAgIHJldHVy
biBmYWxzZTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05ldHNjYXBl
L3dpbi9OZXRzY2FwZVBsdWdpbk1vZHVsZVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvd2luL05ldHNjYXBlUGx1Z2luTW9kdWxlV2lu
LmNwcAkocmV2aXNpb24gODg4MTEpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9O
ZXRzY2FwZS93aW4vTmV0c2NhcGVQbHVnaW5Nb2R1bGVXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01Myw3ICs1Myw3IEBAIHN0YXRpYyB1aW50NjRfdCBmaWxlVmVyc2lvbihEV09SRCBsZWFzdFMK
ICAgICByZXR1cm4gdmVyc2lvbi5RdWFkUGFydDsKIH0KIAotYm9vbCBOZXRzY2FwZVBsdWdpbk1v
ZHVsZTo6Z2V0UGx1Z2luSW5mbyhjb25zdCBTdHJpbmcmIHBsdWdpblBhdGgsIFBsdWdpbkluZm9T
dG9yZTo6UGx1Z2luJiBwbHVnaW4pCitib29sIE5ldHNjYXBlUGx1Z2luTW9kdWxlOjpnZXRQbHVn
aW5JbmZvKGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCwgUGx1Z2luTW9kdWxlSW5mbyYgcGx1Z2lu
KQogewogICAgICAgICBTdHJpbmcgcGF0aENvcHkgPSBwbHVnaW5QYXRoOwogICAgIERXT1JEIHZl
cnNpb25JbmZvU2l6ZSA9IDo6R2V0RmlsZVZlcnNpb25JbmZvU2l6ZVcocGF0aENvcHkuY2hhcmFj
dGVyc1dpdGhOdWxsVGVybWluYXRpb24oKSwgMCk7CkBAIC0xMTYsNyArMTE2LDcgQEAgYm9vbCBO
ZXRzY2FwZVBsdWdpbk1vZHVsZTo6Z2V0UGx1Z2luSW5mbwogCiB2b2lkIE5ldHNjYXBlUGx1Z2lu
TW9kdWxlOjpkZXRlcm1pbmVRdWlya3MoKQogewotICAgIFBsdWdpbkluZm9TdG9yZTo6UGx1Z2lu
IHBsdWdpbjsKKyAgICBQbHVnaW5Nb2R1bGVJbmZvIHBsdWdpbjsKICAgICBnZXRQbHVnaW5JbmZv
KG1fcGx1Z2luUGF0aCwgcGx1Z2luKTsKIAogICAgIFZlY3RvcjxNaW1lQ2xhc3NJbmZvPiBtaW1l
VHlwZXMgPSBwbHVnaW4uaW5mby5taW1lczsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9Q
bHVnaW5zL05ldHNjYXBlL3gxMS9OZXRzY2FwZVBsdWdpbk1vZHVsZVgxMS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBl
UGx1Z2luTW9kdWxlWDExLmNwcAkocmV2aXNpb24gODg4MTEpCisrKyBTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5Nb2R1bGVYMTEuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02Myw3ICs2Myw3IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW5Nb2R1bGU6
OmFwcGx5WDExUXVpcmsKICNlbmRpZgogfQogCi1ib29sIE5ldHNjYXBlUGx1Z2luTW9kdWxlOjpn
ZXRQbHVnaW5JbmZvKGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCwgUGx1Z2luSW5mb1N0b3JlOjpQ
bHVnaW4mIHBsdWdpbikKK2Jvb2wgTmV0c2NhcGVQbHVnaW5Nb2R1bGU6OmdldFBsdWdpbkluZm8o
Y29uc3QgU3RyaW5nJiBwbHVnaW5QYXRoLCBQbHVnaW5Nb2R1bGVJbmZvJiBwbHVnaW4pCiB7CiAg
ICAgLy8gV2UgYXJlIGxvYWRpbmcgdGhlIHBsdWdpbiBoZXJlIHNpbmNlIGl0IGRvZXMgbm90IHNl
ZW0gdG8gYmUgYSBzdGFuZGFyZGl6ZWQgd2F5IHRvCiAgICAgLy8gZ2V0IHRoZSBuZWVkZWQgaW5m
b3JtYXRpb25zIGZyb20gYSBVTklYIHBsdWdpbiB3aXRob3V0IGxvYWRpbmcgaXQuCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCShyZXZpc2lvbiA4ODgxMSkKKysr
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTMyLDcgKzUzMiw3IEBAIHZvaWQgV2ViQ29udGV4dDo6Z2V0UGx1Z2lucyhib29sIHJlZnJl
c2gKICAgICBpZiAocmVmcmVzaCkKICAgICAgICAgbV9wbHVnaW5JbmZvU3RvcmUucmVmcmVzaCgp
OwogCi0gICAgVmVjdG9yPFBsdWdpbkluZm9TdG9yZTo6UGx1Z2luPiBwbHVnaW5zID0gbV9wbHVn
aW5JbmZvU3RvcmUucGx1Z2lucygpOworICAgIFZlY3RvcjxQbHVnaW5Nb2R1bGVJbmZvPiBwbHVn
aW5zID0gbV9wbHVnaW5JbmZvU3RvcmUucGx1Z2lucygpOwogICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgcGx1Z2lucy5zaXplKCk7ICsraSkKICAgICAgICAgcGx1Z2luSW5mb3MuYXBwZW5kKHBs
dWdpbnNbaV0uaW5mbyk7CiB9CkBAIC01NDEsNyArNTQxLDcgQEAgdm9pZCBXZWJDb250ZXh0Ojpn
ZXRQbHVnaW5QYXRoKGNvbnN0IFN0cgogewogICAgIFN0cmluZyBuZXdNaW1lVHlwZSA9IG1pbWVU
eXBlLmxvd2VyKCk7CiAKLSAgICBQbHVnaW5JbmZvU3RvcmU6OlBsdWdpbiBwbHVnaW4gPSBwbHVn
aW5JbmZvU3RvcmUoKS5maW5kUGx1Z2luKG5ld01pbWVUeXBlLCBLVVJMKFBhcnNlZFVSTFN0cmlu
ZywgdXJsU3RyaW5nKSk7CisgICAgUGx1Z2luTW9kdWxlSW5mbyBwbHVnaW4gPSBwbHVnaW5JbmZv
U3RvcmUoKS5maW5kUGx1Z2luKG5ld01pbWVUeXBlLCBLVVJMKFBhcnNlZFVSTFN0cmluZywgdXJs
U3RyaW5nKSk7CiAgICAgaWYgKCFwbHVnaW4ucGF0aCkKICAgICAgICAgcmV0dXJuOwogCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gODg4
MTEpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTgxLDcgKzU4MSw3IEBAIGJvb2wgV2ViUGFnZVByb3h5OjpjYW5TaG93TUlN
RVR5cGUoY29uc3QKICAgICAgICAgcmV0dXJuICFNSU1FVHlwZVJlZ2lzdHJ5Ojppc1Vuc3VwcG9y
dGVkVGV4dE1JTUVUeXBlKG1pbWVUeXBlKTsKIAogICAgIFN0cmluZyBuZXdNaW1lVHlwZSA9IG1p
bWVUeXBlOwotICAgIFBsdWdpbkluZm9TdG9yZTo6UGx1Z2luIHBsdWdpbiA9IG1fcHJvY2Vzcy0+
Y29udGV4dCgpLT5wbHVnaW5JbmZvU3RvcmUoKS5maW5kUGx1Z2luKG5ld01pbWVUeXBlLCBLVVJM
KCkpOworICAgIFBsdWdpbk1vZHVsZUluZm8gcGx1Z2luID0gbV9wcm9jZXNzLT5jb250ZXh0KCkt
PnBsdWdpbkluZm9TdG9yZSgpLmZpbmRQbHVnaW4obmV3TWltZVR5cGUsIEtVUkwoKSk7CiAgICAg
aWYgKCFwbHVnaW4ucGF0aC5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0
b3JlLmNwcAkocmV2aXNpb24gODg4MjUpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5JbmZvU3RvcmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04OCw3ICs4OCw3IEBA
IHZvaWQgUGx1Z2luSW5mb1N0b3JlOjpsb2FkUGx1Z2luc0lmTmVjZXMKICAgICAvLyBUaGVuIGxv
YWQgcGx1Zy1pbnMgdGhhdCBhcmUgbm90IGluIHRoZSBzdGFuZGFyZCBwbHVnLWlucyBkaXJlY3Rv
cmllcy4KICAgICBhZGRGcm9tVmVjdG9yKHVuaXF1ZVBsdWdpblBhdGhzLCBpbmRpdmlkdWFsUGx1
Z2luUGF0aHMoKSk7CiAKLSAgICBWZWN0b3I8UGx1Z2luPiBwbHVnaW5zOworICAgIFZlY3RvcjxQ
bHVnaW5Nb2R1bGVJbmZvPiBwbHVnaW5zOwogCiAgICAgUGF0aEhhc2hTZXQ6OmNvbnN0X2l0ZXJh
dG9yIGVuZCA9IHVuaXF1ZVBsdWdpblBhdGhzLmVuZCgpOwogICAgIGZvciAoUGF0aEhhc2hTZXQ6
OmNvbnN0X2l0ZXJhdG9yIGl0ID0gdW5pcXVlUGx1Z2luUGF0aHMuYmVnaW4oKTsgaXQgIT0gZW5k
OyArK2l0KQpAQCAtOTgsOSArOTgsOSBAQCB2b2lkIFBsdWdpbkluZm9TdG9yZTo6bG9hZFBsdWdp
bnNJZk5lY2VzCiAgICAgbV9wbHVnaW5MaXN0SXNVcFRvRGF0ZSA9IHRydWU7CiB9CiAKLXZvaWQg
UGx1Z2luSW5mb1N0b3JlOjpsb2FkUGx1Z2luKFZlY3RvcjxQbHVnaW4+JiBwbHVnaW5zLCBjb25z
dCBTdHJpbmcmIHBsdWdpblBhdGgpCit2b2lkIFBsdWdpbkluZm9TdG9yZTo6bG9hZFBsdWdpbihW
ZWN0b3I8UGx1Z2luTW9kdWxlSW5mbz4mIHBsdWdpbnMsIGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0
aCkKIHsKLSAgICBQbHVnaW4gcGx1Z2luOworICAgIFBsdWdpbk1vZHVsZUluZm8gcGx1Z2luOwog
ICAgIAogICAgIGlmICghZ2V0UGx1Z2luSW5mbyhwbHVnaW5QYXRoLCBwbHVnaW4pKQogICAgICAg
ICByZXR1cm47CkBAIC0xMjUsNyArMTI1LDcgQEAgUGx1Z2luTW9kdWxlSW5mbyBQbHVnaW5JbmZv
U3RvcmU6OmZpbmRQbAogICAgIEFTU0VSVCghbWltZVR5cGUuaXNOdWxsKCkpOwogICAgIAogICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9wbHVnaW5zLnNpemUoKTsgKytpKSB7Ci0gICAgICAg
IGNvbnN0IFBsdWdpbiYgcGx1Z2luID0gbV9wbHVnaW5zW2ldOworICAgICAgICBjb25zdCBQbHVn
aW5Nb2R1bGVJbmZvJiBwbHVnaW4gPSBtX3BsdWdpbnNbaV07CiAgICAgICAgIAogICAgICAgICBm
b3IgKHNpemVfdCBqID0gMDsgaiA8IHBsdWdpbi5pbmZvLm1pbWVzLnNpemUoKTsgKytqKSB7CiAg
ICAgICAgICAgICBjb25zdCBNaW1lQ2xhc3NJbmZvJiBtaW1lQ2xhc3NJbmZvID0gcGx1Z2luLmlu
Zm8ubWltZXNbal07CkBAIC0xMzQsNyArMTM0LDcgQEAgUGx1Z2luTW9kdWxlSW5mbyBQbHVnaW5J
bmZvU3RvcmU6OmZpbmRQbAogICAgICAgICB9CiAgICAgfQogICAgIAotICAgIHJldHVybiBQbHVn
aW4oKTsKKyAgICByZXR1cm4gUGx1Z2luTW9kdWxlSW5mbygpOwogfQogCiBQbHVnaW5Nb2R1bGVJ
bmZvIFBsdWdpbkluZm9TdG9yZTo6ZmluZFBsdWdpbkZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcm
IGV4dGVuc2lvbiwgU3RyaW5nJiBtaW1lVHlwZSkgY29uc3QKQEAgLTE0Miw3ICsxNDIsNyBAQCBQ
bHVnaW5Nb2R1bGVJbmZvIFBsdWdpbkluZm9TdG9yZTo6ZmluZFBsCiAgICAgQVNTRVJUKCFleHRl
bnNpb24uaXNOdWxsKCkpOwogICAgIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9wbHVn
aW5zLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGNvbnN0IFBsdWdpbiYgcGx1Z2luID0gbV9wbHVn
aW5zW2ldOworICAgICAgICBjb25zdCBQbHVnaW5Nb2R1bGVJbmZvJiBwbHVnaW4gPSBtX3BsdWdp
bnNbaV07CiAgICAgICAgIAogICAgICAgICBmb3IgKHNpemVfdCBqID0gMDsgaiA8IHBsdWdpbi5p
bmZvLm1pbWVzLnNpemUoKTsgKytqKSB7CiAgICAgICAgICAgICBjb25zdCBNaW1lQ2xhc3NJbmZv
JiBtaW1lQ2xhc3NJbmZvID0gcGx1Z2luLmluZm8ubWltZXNbal07CkBAIC0xNTcsNyArMTU3LDcg
QEAgUGx1Z2luTW9kdWxlSW5mbyBQbHVnaW5JbmZvU3RvcmU6OmZpbmRQbAogICAgICAgICB9CiAg
ICAgfQogICAgIAotICAgIHJldHVybiBQbHVnaW4oKTsKKyAgICByZXR1cm4gUGx1Z2luTW9kdWxl
SW5mbygpOwogfQogCiBzdGF0aWMgaW5saW5lIFN0cmluZyBwYXRoRXh0ZW5zaW9uKGNvbnN0IEtV
UkwmIHVybCkKQEAgLTE4MCwxMyArMTgwLDEzIEBAIFN0cmluZyBQbHVnaW5JbmZvU3RvcmU6Omdl
dE1JTUVUeXBlRm9yRXgKIH0KICNlbmRpZgogCi1QbHVnaW5JbmZvU3RvcmU6OlBsdWdpbiBQbHVn
aW5JbmZvU3RvcmU6OmZpbmRQbHVnaW4oU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgS1VSTCYgdXJs
KQorUGx1Z2luTW9kdWxlSW5mbyBQbHVnaW5JbmZvU3RvcmU6OmZpbmRQbHVnaW4oU3RyaW5nJiBt
aW1lVHlwZSwgY29uc3QgS1VSTCYgdXJsKQogewogICAgIGxvYWRQbHVnaW5zSWZOZWNlc3Nhcnko
KTsKICAgICAKICAgICAvLyBGaXJzdCwgY2hlY2sgaWYgd2UgY2FuIGdldCB0aGUgcGx1Zy1pbiBi
YXNlZCBvbiBpdHMgTUlNRSB0eXBlLgogICAgIGlmICghbWltZVR5cGUuaXNOdWxsKCkpIHsKLSAg
ICAgICAgUGx1Z2luIHBsdWdpbiA9IGZpbmRQbHVnaW5Gb3JNSU1FVHlwZShtaW1lVHlwZSk7Cisg
ICAgICAgIFBsdWdpbk1vZHVsZUluZm8gcGx1Z2luID0gZmluZFBsdWdpbkZvck1JTUVUeXBlKG1p
bWVUeXBlKTsKICAgICAgICAgaWYgKCFwbHVnaW4ucGF0aC5pc051bGwoKSkKICAgICAgICAgICAg
IHJldHVybiBwbHVnaW47CiAgICAgfQpAQCAtMTk0LDE0ICsxOTQsMTQgQEAgUGx1Z2luSW5mb1N0
b3JlOjpQbHVnaW4gUGx1Z2luSW5mb1N0b3JlOgogICAgIC8vIE5leHQsIGNoZWNrIGlmIGFueSBw
bHVnLWlucyBjbGFpbSB0byBzdXBwb3J0IHRoZSBVUkwgZXh0ZW5zaW9uLgogICAgIFN0cmluZyBl
eHRlbnNpb24gPSBwYXRoRXh0ZW5zaW9uKHVybCkubG93ZXIoKTsKICAgICBpZiAoIWV4dGVuc2lv
bi5pc051bGwoKSAmJiBtaW1lVHlwZS5pc0VtcHR5KCkpIHsKLSAgICAgICAgUGx1Z2luIHBsdWdp
biA9IGZpbmRQbHVnaW5Gb3JFeHRlbnNpb24oZXh0ZW5zaW9uLCBtaW1lVHlwZSk7CisgICAgICAg
IFBsdWdpbk1vZHVsZUluZm8gcGx1Z2luID0gZmluZFBsdWdpbkZvckV4dGVuc2lvbihleHRlbnNp
b24sIG1pbWVUeXBlKTsKICAgICAgICAgaWYgKCFwbHVnaW4ucGF0aC5pc051bGwoKSkKICAgICAg
ICAgICAgIHJldHVybiBwbHVnaW47CiAgICAgICAgIAogICAgICAgICAvLyBGaW5hbGx5LCB0cnkg
dG8gZ2V0IHRoZSBNSU1FIHR5cGUgZnJvbSB0aGUgZXh0ZW5zaW9uIGluIGEgcGxhdGZvcm0gc3Bl
Y2lmaWMgbWFubmVyIGFuZCB1c2UgdGhhdC4KICAgICAgICAgU3RyaW5nIGV4dGVuc2lvbk1pbWVU
eXBlID0gZ2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oZXh0ZW5zaW9uKTsKICAgICAgICAgaWYgKCFl
eHRlbnNpb25NaW1lVHlwZS5pc051bGwoKSkgewotICAgICAgICAgICAgUGx1Z2luIHBsdWdpbiA9
IGZpbmRQbHVnaW5Gb3JNSU1FVHlwZShleHRlbnNpb25NaW1lVHlwZSk7CisgICAgICAgICAgICBQ
bHVnaW5Nb2R1bGVJbmZvIHBsdWdpbiA9IGZpbmRQbHVnaW5Gb3JNSU1FVHlwZShleHRlbnNpb25N
aW1lVHlwZSk7CiAgICAgICAgICAgICBpZiAoIXBsdWdpbi5wYXRoLmlzTnVsbCgpKSB7CiAgICAg
ICAgICAgICAgICAgbWltZVR5cGUgPSBleHRlbnNpb25NaW1lVHlwZTsKICAgICAgICAgICAgICAg
ICByZXR1cm4gcGx1Z2luOwpAQCAtMjA5LDEwICsyMDksMTAgQEAgUGx1Z2luSW5mb1N0b3JlOjpQ
bHVnaW4gUGx1Z2luSW5mb1N0b3JlOgogICAgICAgICB9CiAgICAgfQogICAgIAotICAgIHJldHVy
biBQbHVnaW4oKTsKKyAgICByZXR1cm4gUGx1Z2luTW9kdWxlSW5mbygpOwogfQogCi1QbHVnaW5J
bmZvU3RvcmU6OlBsdWdpbiBQbHVnaW5JbmZvU3RvcmU6OmluZm9Gb3JQbHVnaW5XaXRoUGF0aChj
b25zdCBTdHJpbmcmIHBsdWdpblBhdGgpIGNvbnN0CitQbHVnaW5Nb2R1bGVJbmZvIFBsdWdpbklu
Zm9TdG9yZTo6aW5mb0ZvclBsdWdpbldpdGhQYXRoKGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCkg
Y29uc3QKIHsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fcGx1Z2lucy5zaXplKCk7ICsr
aSkgewogICAgICAgICBpZiAobV9wbHVnaW5zW2ldLnBhdGggPT0gcGx1Z2luUGF0aCkKQEAgLTIy
MCw3ICsyMjAsNyBAQCBQbHVnaW5JbmZvU3RvcmU6OlBsdWdpbiBQbHVnaW5JbmZvU3RvcmU6CiAg
ICAgfQogICAgIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBQbHVnaW4o
KTsKKyAgICByZXR1cm4gUGx1Z2luTW9kdWxlSW5mbygpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9T
dG9yZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdpbkluZm9TdG9yZS5oCShyZXZpc2lvbiA4ODgyNSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsy
Niw3IEBACiAjaWZuZGVmIFBsdWdpbkluZm9TdG9yZV9oCiAjZGVmaW5lIFBsdWdpbkluZm9TdG9y
ZV9oCiAKLSNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4KKyNpbmNsdWRlICJQbHVnaW5N
b2R1bGVJbmZvLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBLVVJMOwpAQCAt
NDAsMzkgKzQwLDI5IEBAIGNsYXNzIFBsdWdpbkluZm9TdG9yZSB7CiBwdWJsaWM6CiAgICAgUGx1
Z2luSW5mb1N0b3JlKCk7CiAKLSAgICAvLyBSZXByZXNlbnRzIGEgc2luZ2xlIHBsdWctaW4uCi0g
ICAgc3RydWN0IFBsdWdpbiB7Ci0gICAgICAgIFN0cmluZyBwYXRoOwotICAgICAgICBXZWJDb3Jl
OjpQbHVnaW5JbmZvIGluZm87Ci0jaWYgUExBVEZPUk0oTUFDKQotICAgICAgICBjcHVfdHlwZV90
IHBsdWdpbkFyY2hpdGVjdHVyZTsKLSAgICAgICAgU3RyaW5nIGJ1bmRsZUlkZW50aWZpZXI7Ci0g
ICAgICAgIFN0cmluZyB2ZXJzaW9uU3RyaW5nOwotI2VsaWYgUExBVEZPUk0oV0lOKQotICAgICAg
ICB1aW50NjRfdCBmaWxlVmVyc2lvbjsKLSNlbmRpZgotICAgIH07CisgICAgLy8gRklYTUU6IFJl
bW92ZSB0aGlzIHR5cGVkZWYuCisgICAgdHlwZWRlZiBQbHVnaW5Nb2R1bGVJbmZvIFBsdWdpbjsK
IAogICAgIHZvaWQgc2V0QWRkaXRpb25hbFBsdWdpbnNEaXJlY3Rvcmllcyhjb25zdCBWZWN0b3I8
U3RyaW5nPiYpOwogCiAgICAgdm9pZCByZWZyZXNoKCk7Ci0gICAgVmVjdG9yPFBsdWdpbj4gcGx1
Z2lucygpOworICAgIFZlY3RvcjxQbHVnaW5Nb2R1bGVJbmZvPiBwbHVnaW5zKCk7CiAKICAgICAv
LyBSZXR1cm5zIHRoZSBpbmZvIGZvciBhIHBsdWctaW4gdGhhdCBjYW4gaGFuZGxlIHRoZSBnaXZl
biBNSU1FIHR5cGUuCiAgICAgLy8gSWYgdGhlIE1JTUUgdHlwZSBpcyBudWxsLCB0aGUgZmlsZSBl
eHRlbnNpb24gb2YgdGhlIGdpdmVuIHVybCB3aWxsIGJlIHVzZWQgdG8gaW5mZXIgdGhlCiAgICAg
Ly8gcGx1Zy1pbiB0eXBlLiBJbiB0aGF0IGNhc2UsIG1pbWVUeXBlIHdpbGwgYmUgZmlsbGVkIGlu
IHdpdGggdGhlIHJpZ2h0IE1JTUUgdHlwZS4KLSAgICBQbHVnaW4gZmluZFBsdWdpbihTdHJpbmcm
IG1pbWVUeXBlLCBjb25zdCBXZWJDb3JlOjpLVVJMJiB1cmwpOworICAgIFBsdWdpbk1vZHVsZUlu
Zm8gZmluZFBsdWdpbihTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBXZWJDb3JlOjpLVVJMJik7CiAg
ICAgCiAgICAgLy8gUmV0dXJucyB0aGUgaW5mbyBmb3IgdGhlIHBsdWctaW4gd2l0aCB0aGUgZ2l2
ZW4gcGF0aC4KLSAgICBQbHVnaW4gaW5mb0ZvclBsdWdpbldpdGhQYXRoKGNvbnN0IFN0cmluZyYg
cGx1Z2luUGF0aCkgY29uc3Q7CisgICAgUGx1Z2luTW9kdWxlSW5mbyBpbmZvRm9yUGx1Z2luV2l0
aFBhdGgoY29uc3QgU3RyaW5nJiBwbHVnaW5QYXRoKSBjb25zdDsKIAogcHJpdmF0ZToKIAotICAg
IFBsdWdpbkluZm9TdG9yZTo6UGx1Z2luIGZpbmRQbHVnaW5Gb3JNSU1FVHlwZShjb25zdCBTdHJp
bmcmIG1pbWVUeXBlKSBjb25zdDsKLSAgICBQbHVnaW5JbmZvU3RvcmU6OlBsdWdpbiBmaW5kUGx1
Z2luRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgZXh0ZW5zaW9uLCBTdHJpbmcmIG1pbWVUeXBl
KSBjb25zdDsKKyAgICBQbHVnaW5Nb2R1bGVJbmZvIGZpbmRQbHVnaW5Gb3JNSU1FVHlwZShjb25z
dCBTdHJpbmcmIG1pbWVUeXBlKSBjb25zdDsKKyAgICBQbHVnaW5Nb2R1bGVJbmZvIGZpbmRQbHVn
aW5Gb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBleHRlbnNpb24sIFN0cmluZyYgbWltZVR5cGUp
IGNvbnN0OwogCiAgICAgdm9pZCBsb2FkUGx1Z2luc0lmTmVjZXNzYXJ5KCk7Ci0gICAgc3RhdGlj
IHZvaWQgbG9hZFBsdWdpbihWZWN0b3I8UGx1Z2luPiYgcGx1Z2lucywgY29uc3QgU3RyaW5nJiBw
bHVnaW5QYXRoKTsKKyAgICBzdGF0aWMgdm9pZCBsb2FkUGx1Z2luKFZlY3RvcjxQbHVnaW5Nb2R1
bGVJbmZvPiYgcGx1Z2lucywgY29uc3QgU3RyaW5nJiBwbHVnaW5QYXRoKTsKICAgICAKICAgICAv
LyBQbGF0Zm9ybS1zcGVjaWZpYyBtZW1iZXIgZnVuY3Rpb25zOgogCkBAIC04NiwxNiArNzYsMTYg
QEAgcHJpdmF0ZToKICAgICBzdGF0aWMgVmVjdG9yPFN0cmluZz4gaW5kaXZpZHVhbFBsdWdpblBh
dGhzKCk7CiAKICAgICAvLyBMb2FkIHBsdWctaW4gaW5mbyBmb3IgdGhlIHBsdWctaW4gd2l0aCB0
aGUgc3BlY2lmaWVkIHBhdGguCi0gICAgc3RhdGljIGJvb2wgZ2V0UGx1Z2luSW5mbyhjb25zdCBT
dHJpbmcmIHBsdWdpblBhdGgsIFBsdWdpbiYgcGx1Z2luKTsKKyAgICBzdGF0aWMgYm9vbCBnZXRQ
bHVnaW5JbmZvKGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCwgUGx1Z2luTW9kdWxlSW5mbyYpOwog
CiAgICAgLy8gUmV0dXJuIHdoZXRoZXIgdGhpcyBwbHVnLWluIHNob3VsZCBiZSB1c2VkIChhZGRl
ZCB0byB0aGUgbGlzdCBvZiBwbHVnLWlucykgb3Igbm90LgotICAgIHN0YXRpYyBib29sIHNob3Vs
ZFVzZVBsdWdpbihWZWN0b3I8UGx1Z2luPiYgYWxyZWFkeUxvYWRlZFBsdWdpbnMsIGNvbnN0IFBs
dWdpbiYpOworICAgIHN0YXRpYyBib29sIHNob3VsZFVzZVBsdWdpbihWZWN0b3I8UGx1Z2luTW9k
dWxlSW5mbz4mIGFscmVhZHlMb2FkZWRQbHVnaW5zLCBjb25zdCBQbHVnaW5Nb2R1bGVJbmZvJik7
CiAKICAgICAvLyBHZXQgdGhlIE1JTUUgdHlwZSBmb3IgdGhlIGdpdmVuIGV4dGVuc2lvbi4KICAg
ICBzdGF0aWMgU3RyaW5nIGdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgZXh0
ZW5zaW9uKTsKIAogICAgIFZlY3RvcjxTdHJpbmc+IG1fYWRkaXRpb25hbFBsdWdpbnNEaXJlY3Rv
cmllczsKLSAgICBWZWN0b3I8UGx1Z2luPiBtX3BsdWdpbnM7CisgICAgVmVjdG9yPFBsdWdpbk1v
ZHVsZUluZm8+IG1fcGx1Z2luczsKICAgICBib29sIG1fcGx1Z2luTGlzdElzVXBUb0RhdGU7CiB9
OwogICAgIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJv
Y2Vzc01hbmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmNwcAkocmV2aXNpb24gODg4MjUpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ5LDcgKzQ5LDcgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzTWFuYWdlcjo6
Z2V0UGx1Z2luUHJvYwogewogICAgIEFTU0VSVCghcGx1Z2luUGF0aC5pc051bGwoKSk7CiAKLSAg
ICBQbHVnaW5JbmZvU3RvcmU6OlBsdWdpbiBwbHVnaW4gPSBwbHVnaW5JbmZvU3RvcmUuaW5mb0Zv
clBsdWdpbldpdGhQYXRoKHBsdWdpblBhdGgpOworICAgIFBsdWdpbk1vZHVsZUluZm8gcGx1Z2lu
ID0gcGx1Z2luSW5mb1N0b3JlLmluZm9Gb3JQbHVnaW5XaXRoUGF0aChwbHVnaW5QYXRoKTsKICAg
ICBQbHVnaW5Qcm9jZXNzUHJveHkqIHBsdWdpblByb2Nlc3MgPSBnZXRPckNyZWF0ZVBsdWdpblBy
b2Nlc3MocGx1Z2luKTsKICAgICBwbHVnaW5Qcm9jZXNzLT5nZXRQbHVnaW5Qcm9jZXNzQ29ubmVj
dGlvbihyZXBseSk7CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5Qcm9jZXNzUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAJKHJldmlzaW9uIDg4ODI1KQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDksNyArNDksNyBAQCBQYXNzT3duUHRyPFBsdWdpblByb2Nlc3NQ
cm94eT4gUGx1Z2luUHJvCiAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBQbHVnaW5Qcm9jZXNzUHJv
eHkoUGx1Z2luUHJvY2Vzc01hbmFnZXIsIHBsdWdpbkluZm8pKTsKIH0KIAotUGx1Z2luUHJvY2Vz
c1Byb3h5OjpQbHVnaW5Qcm9jZXNzUHJveHkoUGx1Z2luUHJvY2Vzc01hbmFnZXIqIFBsdWdpblBy
b2Nlc3NNYW5hZ2VyLCBjb25zdCBQbHVnaW5JbmZvU3RvcmU6OlBsdWdpbiYgcGx1Z2luSW5mbykK
K1BsdWdpblByb2Nlc3NQcm94eTo6UGx1Z2luUHJvY2Vzc1Byb3h5KFBsdWdpblByb2Nlc3NNYW5h
Z2VyKiBQbHVnaW5Qcm9jZXNzTWFuYWdlciwgY29uc3QgUGx1Z2luTW9kdWxlSW5mbyYgcGx1Z2lu
SW5mbykKICAgICA6IG1fcGx1Z2luUHJvY2Vzc01hbmFnZXIoUGx1Z2luUHJvY2Vzc01hbmFnZXIp
CiAgICAgLCBtX3BsdWdpbkluZm8ocGx1Z2luSW5mbykKICAgICAsIG1fbnVtUGVuZGluZ0Nvbm5l
Y3Rpb25SZXF1ZXN0cygwKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMv
V2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy9XZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXIuY3BwCShyZXZpc2lv
biA4ODgxMSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1dlYlBsdWdpblNp
dGVEYXRhTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcwLDcgKzcwLDcgQEAgcHVibGlj
OgogcHJpdmF0ZToKICAgICBXZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXIqIG1fd2ViUGx1Z2luU2l0
ZURhdGFNYW5hZ2VyOwogICAgIHVpbnQ2NF90IG1fY2FsbGJhY2tJRDsKLSAgICBWZWN0b3I8UGx1
Z2luSW5mb1N0b3JlOjpQbHVnaW4+IG1fcGx1Z2luczsKKyAgICBWZWN0b3I8UGx1Z2luTW9kdWxl
SW5mbz4gbV9wbHVnaW5zOwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3NpdGVzOwogfTsKIApAQCAt
MTA4LDcgKzEwOCw3IEBAIHByaXZhdGU6CiAgICAgdWludDY0X3QgbV9mbGFnczsKICAgICB1aW50
NjRfdCBtX21heEFnZUluU2Vjb25kczsKICAgICB1aW50NjRfdCBtX2NhbGxiYWNrSUQ7Ci0gICAg
VmVjdG9yPFBsdWdpbkluZm9TdG9yZTo6UGx1Z2luPiBtX3BsdWdpbnM7CisgICAgVmVjdG9yPFBs
dWdpbk1vZHVsZUluZm8+IG1fcGx1Z2luczsKIH07CiAjZW5kaWYgLy8gRU5BQkxFKFBMVUdJTl9Q
Uk9DRVNTKQogCkBAIC0xNjUsNyArMTY1LDcgQEAgdm9pZCBXZWJQbHVnaW5TaXRlRGF0YU1hbmFn
ZXI6OmdldFNpdGVzVwogI2Vsc2UKICAgICBtX3dlYkNvbnRleHQtPnJlbGF1bmNoUHJvY2Vzc0lm
TmVjZXNzYXJ5KCk7CiAKLSAgICBWZWN0b3I8UGx1Z2luSW5mb1N0b3JlOjpQbHVnaW4+IHBsdWdp
bnMgPSBtX3dlYkNvbnRleHQtPnBsdWdpbkluZm9TdG9yZSgpLnBsdWdpbnMoKTsKKyAgICBWZWN0
b3I8UGx1Z2luTW9kdWxlSW5mbz4gcGx1Z2lucyA9IG1fd2ViQ29udGV4dC0+cGx1Z2luSW5mb1N0
b3JlKCkucGx1Z2lucygpOwogICAgIFZlY3RvcjxTdHJpbmc+IHBsdWdpblBhdGhzOwogICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgcGx1Z2lucy5zaXplKCk7ICsraSkKICAgICAgICAgcGx1Z2lu
UGF0aHMuYXBwZW5kKHBsdWdpbnNbaV0ucGF0aCk7CkBAIC0yMjgsNyArMjI4LDcgQEAgdm9pZCBX
ZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXI6OmNsZWFyU2l0ZQogI2Vsc2UKICAgICBtX3dlYkNvbnRl
eHQtPnJlbGF1bmNoUHJvY2Vzc0lmTmVjZXNzYXJ5KCk7CiAKLSAgICBWZWN0b3I8UGx1Z2luSW5m
b1N0b3JlOjpQbHVnaW4+IHBsdWdpbnMgPSBtX3dlYkNvbnRleHQtPnBsdWdpbkluZm9TdG9yZSgp
LnBsdWdpbnMoKTsKKyAgICBWZWN0b3I8UGx1Z2luTW9kdWxlSW5mbz4gcGx1Z2lucyA9IG1fd2Vi
Q29udGV4dC0+cGx1Z2luSW5mb1N0b3JlKCkucGx1Z2lucygpOwogICAgIFZlY3RvcjxTdHJpbmc+
IHBsdWdpblBhdGhzOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcGx1Z2lucy5zaXplKCk7
ICsraSkKICAgICAgICAgcGx1Z2luUGF0aHMuYXBwZW5kKHBsdWdpbnNbaV0ucGF0aCk7CkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9tYWMvUGx1Z2luSW5mb1N0b3JlTWFj
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL21hYy9Q
bHVnaW5JbmZvU3RvcmVNYWMubW0JKHJldmlzaW9uIDg4ODExKQorKysgU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1BsdWdpbnMvbWFjL1BsdWdpbkluZm9TdG9yZU1hYy5tbQkod29ya2luZyBjb3B5
KQpAQCAtNzEsMTUgKzcxLDE1IEBAIFZlY3RvcjxTdHJpbmc+IFBsdWdpbkluZm9TdG9yZTo6aW5k
aXZpZHUKICAgICByZXR1cm4gVmVjdG9yPFN0cmluZz4oKTsKIH0KIAotYm9vbCBQbHVnaW5JbmZv
U3RvcmU6OmdldFBsdWdpbkluZm8oY29uc3QgU3RyaW5nJiBwbHVnaW5QYXRoLCBQbHVnaW4mIHBs
dWdpbikKK2Jvb2wgUGx1Z2luSW5mb1N0b3JlOjpnZXRQbHVnaW5JbmZvKGNvbnN0IFN0cmluZyYg
cGx1Z2luUGF0aCwgUGx1Z2luTW9kdWxlSW5mbyYgcGx1Z2luKQogewogICAgIHJldHVybiBOZXRz
Y2FwZVBsdWdpbk1vZHVsZTo6Z2V0UGx1Z2luSW5mbyhwbHVnaW5QYXRoLCBwbHVnaW4pOwogfQog
Ci1ib29sIFBsdWdpbkluZm9TdG9yZTo6c2hvdWxkVXNlUGx1Z2luKFZlY3RvcjxQbHVnaW4+JiBh
bHJlYWR5TG9hZGVkUGx1Z2lucywgY29uc3QgUGx1Z2luJiBwbHVnaW4pCitib29sIFBsdWdpbklu
Zm9TdG9yZTo6c2hvdWxkVXNlUGx1Z2luKFZlY3RvcjxQbHVnaW5Nb2R1bGVJbmZvPiYgYWxyZWFk
eUxvYWRlZFBsdWdpbnMsIGNvbnN0IFBsdWdpbk1vZHVsZUluZm8mIHBsdWdpbikKIHsKICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IGFscmVhZHlMb2FkZWRQbHVnaW5zLnNpemUoKTsgKytpKSB7
Ci0gICAgICAgIGNvbnN0IFBsdWdpbiYgbG9hZGVkUGx1Z2luID0gYWxyZWFkeUxvYWRlZFBsdWdp
bnNbaV07CisgICAgICAgIGNvbnN0IFBsdWdpbk1vZHVsZUluZm8mIGxvYWRlZFBsdWdpbiA9IGFs
cmVhZHlMb2FkZWRQbHVnaW5zW2ldOwogCiAgICAgICAgIC8vIElmIGEgcGx1Zy1pbiB3aXRoIHRo
ZSBzYW1lIGJ1bmRsZSBpZGVudGlmaWVyIGFscmVhZHkgZXhpc3RzLCB3ZSBkb24ndCB3YW50IHRv
IGxvYWQgaXQuCiAgICAgICAgIGlmIChsb2FkZWRQbHVnaW4uYnVuZGxlSWRlbnRpZmllciA9PSBw
bHVnaW4uYnVuZGxlSWRlbnRpZmllcikKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
bHVnaW5zL3VuaXgvUGx1Z2luSW5mb1N0b3JlVW5peC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvdW5peC9QbHVnaW5JbmZvU3RvcmVVbml4LmNwcAko
cmV2aXNpb24gODg4MTEpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy91bml4
L1BsdWdpbkluZm9TdG9yZVVuaXguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OSwxMiArNTksMTIg
QEAgVmVjdG9yPFN0cmluZz4gUGx1Z2luSW5mb1N0b3JlOjppbmRpdmlkdQogICAgIHJldHVybiBW
ZWN0b3I8U3RyaW5nPigpOwogfQogCi1ib29sIFBsdWdpbkluZm9TdG9yZTo6Z2V0UGx1Z2luSW5m
byhjb25zdCBTdHJpbmcmIHBsdWdpblBhdGgsIFBsdWdpbiYgcGx1Z2luKQorYm9vbCBQbHVnaW5J
bmZvU3RvcmU6OmdldFBsdWdpbkluZm8oY29uc3QgU3RyaW5nJiBwbHVnaW5QYXRoLCBQbHVnaW5N
b2R1bGVJbmZvJiBwbHVnaW4pCiB7CiAgICAgcmV0dXJuIE5ldHNjYXBlUGx1Z2luTW9kdWxlOjpn
ZXRQbHVnaW5JbmZvKHBsdWdpblBhdGgsIHBsdWdpbik7CiB9CiAKLWJvb2wgUGx1Z2luSW5mb1N0
b3JlOjpzaG91bGRVc2VQbHVnaW4oVmVjdG9yPFBsdWdpbj4mIGFscmVhZHlMb2FkZWRQbHVnaW5z
LCBjb25zdCBQbHVnaW4mIHBsdWdpbikKK2Jvb2wgUGx1Z2luSW5mb1N0b3JlOjpzaG91bGRVc2VQ
bHVnaW4oVmVjdG9yPFBsdWdpbk1vZHVsZUluZm8+JiBhbHJlYWR5TG9hZGVkUGx1Z2lucywgY29u
c3QgUGx1Z2luTW9kdWxlSW5mbyYgcGx1Z2luKQogewogICAgIC8vIFdlIGRvIG5vdCBkbyBhbnkg
YmxhY2stbGlzdGluZyBwcmVzZW50bHkuCiAgICAgcmV0dXJuIHRydWU7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5m
b1N0b3JlV2luLmNwcAkocmV2aXNpb24gODg4MTEpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzI4LDE3ICszMjgsMTcgQEAgYm9vbCBQbHVnaW5JbmZvU3RvcmU6OmdldFBsdWdpbkluZm8oY29u
cwogICAgIHJldHVybiBOZXRzY2FwZVBsdWdpbk1vZHVsZTo6Z2V0UGx1Z2luSW5mbyhwbHVnaW5Q
YXRoLCBwbHVnaW4pOwogfQogCi1zdGF0aWMgYm9vbCBpc09sZFdpbmRvd3NNZWRpYVBsYXllclBs
dWdpbihjb25zdCBQbHVnaW5JbmZvU3RvcmU6OlBsdWdpbiYgcGx1Z2luKQorc3RhdGljIGJvb2wg
aXNPbGRXaW5kb3dzTWVkaWFQbGF5ZXJQbHVnaW4oY29uc3QgUGx1Z2luTW9kdWxlSW5mbyYgcGx1
Z2luKQogewogICAgIHJldHVybiBlcXVhbElnbm9yaW5nQ2FzZShwbHVnaW4uaW5mby5maWxlLCAi
bnBkc3BsYXkuZGxsIik7CiB9CiAKLXN0YXRpYyBib29sIGlzTmV3V2luZG93c01lZGlhUGxheWVy
UGx1Z2luKGNvbnN0IFBsdWdpbkluZm9TdG9yZTo6UGx1Z2luJiBwbHVnaW4pCitzdGF0aWMgYm9v
bCBpc05ld1dpbmRvd3NNZWRpYVBsYXllclBsdWdpbihjb25zdCBQbHVnaW5Nb2R1bGVJbmZvJiBw
bHVnaW4pCiB7CiAgICAgcmV0dXJuIGVxdWFsSWdub3JpbmdDYXNlKHBsdWdpbi5pbmZvLmZpbGUs
ICJucC1tc3dtcC5kbGwiKTsKIH0KIAotYm9vbCBQbHVnaW5JbmZvU3RvcmU6OnNob3VsZFVzZVBs
dWdpbihWZWN0b3I8UGx1Z2luPiYgYWxyZWFkeUxvYWRlZFBsdWdpbnMsIGNvbnN0IFBsdWdpbiYg
cGx1Z2luKQorYm9vbCBQbHVnaW5JbmZvU3RvcmU6OnNob3VsZFVzZVBsdWdpbihWZWN0b3I8UGx1
Z2luTW9kdWxlSW5mbz4mIGFscmVhZHlMb2FkZWRQbHVnaW5zLCBjb25zdCBQbHVnaW5Nb2R1bGVJ
bmZvJiBwbHVnaW4pCiB7CiAgICAgaWYgKHBsdWdpbi5pbmZvLm5hbWUgPT0gIkNpdHJpeCBJQ0Eg
Q2xpZW50IikgewogICAgICAgICAvLyBUaGUgQ2l0cml4IElDQSBDbGllbnQgcGx1Zy1pbiByZXF1
aXJlcyBhIE1vemlsbGEtYmFzZWQgYnJvd3Nlcjsgc2VlIDxyZGFyOi8vNjQxODY4MT4uCg==
</data>
<flag name="review"
          id="91010"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>