<?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>181130</bug_id>
          
          <creation_ts>2017-12-22 09:59:37 -0800</creation_ts>
          <short_desc>[RenderTreeBuilder] Move RenderMenuList::addChild() tree mutation to RenderTreeBuilder</short_desc>
          <delta_ts>2017-12-22 12:43:41 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1384492</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2017-12-22 09:59:37 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384493</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-22 10:00:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/36196266&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384495</commentid>
    <comment_count>2</comment_count>
      <attachid>330131</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-12-22 10:07:34 -0800</bug_when>
    <thetext>Created attachment 330131
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384529</commentid>
    <comment_count>3</comment_count>
      <attachid>330131</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-22 12:43:39 -0800</bug_when>
    <thetext>Comment on attachment 330131
Patch

Clearing flags on attachment: 330131

Committed r226273: &lt;https://trac.webkit.org/changeset/226273&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384530</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-22 12:43:41 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330131</attachid>
            <date>2017-12-22 10:07:34 -0800</date>
            <delta_ts>2017-12-22 12:43:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181130-20171222100733.patch</filename>
            <type>text/plain</type>
            <size>23520</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2MjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmJkZDMxOTBiMDZkOWE0
OGIyMDc5OTcxZWMzMmVkNGZkNjliYmYyZC4uZDdlNjIyMDUyNTVkNjNhOTM5NTFlMzFhNjgyZTJm
NzcyMWE0OGYxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE3LTEyLTIyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVy
XSBNb3ZlIFJlbmRlck1lbnVMaXN0OjphZGRDaGlsZCgpIHRyZWUgbXV0YXRpb24gdG8gUmVuZGVy
VHJlZUJ1aWxkZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4MTEzMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzYxOTYyNjY+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhbHNvIGNy
ZWF0ZXMgYSBkZWRpY2F0ZWQgY2xhc3MgZm9yIGZvcm0gY29udHJvbCByZWxhdGVkIHRyZWUgbXV0
YXRpb25zLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCdXR0b246OnNldElubmVyUmVuZGVyZXIpOiBVcGRhdGUgdGhlIHN0eWxlIGhl
cmUgaW5zdGVhZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTWVudUxpc3Q6OnNldElubmVyUmVuZGVyZXIpOgorICAgICAg
ICAoUmVuZGVyTWVudUxpc3Q6OmFkZENoaWxkKToKKyAgICAgICAgKFJlbmRlck1lbnVMaXN0Ojpz
aG93UG9wdXApOiBXZSBzaG91bGQndCByZWFsbHkgY2FsbCBzaG93UG9wdXAgb24gYSBkZXRhY2hl
ZCByZW5kZXJlci4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0OjpjcmVhdGVJbm5l
ckJsb2NrKTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6OlJlbmRlclRyZWVCdWlsZGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjppbnNlcnRDaGlsZCk6CisgICAgICAg
IChXZWJDb3JlOjpjcmVhdGVJbm5lclJlbmRlcmVyRm9yQnV0dG9uSWZOZWVkZWQpOiBEZWxldGVk
LgorICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5oOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6OmZvcm1Db250cm9sc0J1aWxkZXIpOgor
ICAgICAgICAqIHJlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckZvcm1Db250cm9s
cy5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlQnVpbGRlci5oLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6OkZv
cm1Db250cm9sczo6Rm9ybUNvbnRyb2xzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVC
dWlsZGVyOjpGb3JtQ29udHJvbHM6OmNyZWF0ZUlubmVyUmVuZGVyZXJJZk5lZWRlZCk6CisgICAg
ICAgICogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyRm9ybUNvbnRyb2xzLmg6
IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVl
QnVpbGRlci5oLgorCiAyMDE3LTEyLTIyICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+
CiAKICAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVyXSBNb3ZlIFJlbmRlckJ1dHRvbjo6YWRkQ2hp
bGQoKSB0cmVlIG11dGF0aW9uIHRvIFJlbmRlclRyZWVCdWlsZGVyCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4
IDkxM2VmMzVjMWE2YzM0MmY5ZGE0MzhmMWU1NzZhM2VkZjVmYzVkNjYuLmZhMzA5ZDVlODFjNmE5
ZDBhNTZiOTY0NDhhMGU2MzZhZTkwMmUwYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xOTgyLDYgKzE5
ODIsNyBAQCByZW5kZXJpbmcvc3ZnL1NWR1RleHRRdWVyeS5jcHAKIAogcmVuZGVyaW5nL3VwZGF0
aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcAogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVC
dWlsZGVyRmlyc3RMZXR0ZXIuY3BwCityZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxk
ZXJGb3JtQ29udHJvbHMuY3BwCiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJM
aXN0LmNwcAogcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyTXVsdGlDb2x1bW4u
Y3BwCiByZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5LmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGEy
YTk1N2ZiMTBmZjI2ZDE0YWMwM2M4YThhNjlhNzNkY2U0MjAzNzEuLjdhMzVkMGM4ZDllZDg3ZGRl
YmUyMzRhMzgxMzNlMTNhMTY0ZjIwOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTM5Miw2ICszOTIsNyBAQAogCQkxMTNEMEI1
MjFGOUZERDJCMDBGNjExQkIgLyogTGF5b3V0Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTEzRDBCNTAxRjlGREQyQjAwRjYxMUJCIC8qIExh
eW91dENvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkxMTkzNDA3OTFGRThCOTIzMDA5MzVGMUUgLyogUmVuZGVyVHJlZUJ1aWxkZXJUYWJs
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTE5MzQw
NzcxRkU4QjkyMzAwOTM1RjFFIC8qIFJlbmRlclRyZWVCdWlsZGVyVGFibGUuaCAqLzsgfTsKIAkJ
MTE5MzQwOEExRkVCMzU1RDAwOTM1RjFFIC8qIFJlbmRlclRyZWVCdWlsZGVyUnVieS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTE5MzQwODgxRkVCMzU1
RDAwOTM1RjFFIC8qIFJlbmRlclRyZWVCdWlsZGVyUnVieS5oICovOyB9OworCQkxMTkzNDA5NzFG
RUQ3MTU1MDA5MzVGMUUgLyogUmVuZGVyVHJlZUJ1aWxkZXJGb3JtQ29udHJvbHMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDExOTM0MDk1MUZFRDcxNTUw
MDkzNUYxRSAvKiBSZW5kZXJUcmVlQnVpbGRlckZvcm1Db250cm9scy5oICovOyB9OwogCQkxMUUw
NjdFRTFFNjI0NkU1MDAxNjJEMTYgLyogU2ltcGxlTGluZUxheW91dENvdmVyYWdlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxMUUwNjdFRDFFNjI0NkU1
MDAxNjJEMTYgLyogU2ltcGxlTGluZUxheW91dENvdmVyYWdlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMTQwMEQ3QTgxNzEzNkVBNzAwNzdDRTA1
IC8qIFNjcmlwdFdyYXBwYWJsZUlubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDE0MDBEN0E3MTcxMzZFQTcwMDc3Q0UwNSAvKiBTY3JpcHRXcmFw
cGFibGVJbmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMTQwM0I5OTcwOUVCMTNBRjAwNzk3QzdGIC8qIERPTVdpbmRvdy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQwM0I5OTUwOUVCMTNBRjAw
Nzk3QzdGIC8qIERPTVdpbmRvdy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CkBAIC01NTU2LDYgKzU1NTcsOCBAQAogCQkxMTkzNDA3NzFGRThCOTIzMDA5
MzVGMUUgLyogUmVuZGVyVHJlZUJ1aWxkZXJUYWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJU
cmVlQnVpbGRlclRhYmxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTExOTM0MDg3
MUZFQjM1NUQwMDkzNUYxRSAvKiBSZW5kZXJUcmVlQnVpbGRlclJ1YnkuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUmVuZGVyVHJlZUJ1aWxkZXJSdWJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMTE5MzQwODgxRkVCMzU1RDAwOTM1RjFFIC8qIFJlbmRlclRyZWVCdWlsZGVyUnVi
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJUcmVlQnVpbGRlclJ1YnkuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMTE5MzQwOTQxRkVENzE1NTAwOTM1RjFFIC8qIFJlbmRlclRyZWVC
dWlsZGVyRm9ybUNvbnRyb2xzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclRyZWVCdWls
ZGVyRm9ybUNvbnRyb2xzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTE5MzQw
OTUxRkVENzE1NTAwOTM1RjFFIC8qIFJlbmRlclRyZWVCdWlsZGVyRm9ybUNvbnRyb2xzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFJlbmRlclRyZWVCdWlsZGVyRm9ybUNvbnRyb2xzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTExRTA2N0VCMUU2MjQ2MTMwMDE2MkQxNiAvKiBTaW1wbGVMaW5l
TGF5b3V0Q292ZXJhZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U2ltcGxlTGluZUxheW91dENvdmVyYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMTFFMDY3RUQxRTYyNDZFNTAwMTYyRDE2IC8qIFNpbXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTaW1wbGVMaW5lTGF5b3V0Q292ZXJh
Z2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTQwMEQ3QTcxNzEzNkVBNzAwNzdD
RTA1IC8qIFNjcmlwdFdyYXBwYWJsZUlubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU2NyaXB0V3JhcHBhYmxlSW5saW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMjQ0OTEsNiArMjQ0OTQsOCBAQAogCQkJCUU0N0MzOTJBMUZFNkUwREUwMEJCQkM2
QiAvKiBSZW5kZXJUcmVlQnVpbGRlci5oICovLAogCQkJCUU0N0MzOTIxMUZFNkUwREEwMEJCQkM2
QiAvKiBSZW5kZXJUcmVlQnVpbGRlckZpcnN0TGV0dGVyLmNwcCAqLywKIAkJCQlFNDdDMzkyNjFG
RTZFMERDMDBCQkJDNkIgLyogUmVuZGVyVHJlZUJ1aWxkZXJGaXJzdExldHRlci5oICovLAorCQkJ
CTExOTM0MDk0MUZFRDcxNTUwMDkzNUYxRSAvKiBSZW5kZXJUcmVlQnVpbGRlckZvcm1Db250cm9s
cy5jcHAgKi8sCisJCQkJMTE5MzQwOTUxRkVENzE1NTAwOTM1RjFFIC8qIFJlbmRlclRyZWVCdWls
ZGVyRm9ybUNvbnRyb2xzLmggKi8sCiAJCQkJRTQ3QzM5MkIxRkU2RTBERjAwQkJCQzZCIC8qIFJl
bmRlclRyZWVCdWlsZGVyTGlzdC5jcHAgKi8sCiAJCQkJRTQ3QzM5MjgxRkU2RTBERDAwQkJCQzZC
IC8qIFJlbmRlclRyZWVCdWlsZGVyTGlzdC5oICovLAogCQkJCUU0N0MzOTIzMUZFNkUwREEwMEJC
QkM2QiAvKiBSZW5kZXJUcmVlQnVpbGRlck11bHRpQ29sdW1uLmNwcCAqLywKQEAgLTI1MzczLDEy
ICsyNTM3OCwxMiBAQAogCQkJCUMzQ0YxN0EzMTVCMDA2M0YwMDI3NkQzOSAvKiBJZFRhcmdldE9i
c2VydmVyUmVnaXN0cnkuaCAqLywKIAkJCQk4QUI0QkM3NjEyNkZEQjcxMDBERUI3MjcgLyogSWdu
b3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaCAqLywKIAkJCQk0NjczMDIwMTFD
NEVGRTY2MDBCQ0IzNTcgLyogSWdub3JlT3BlbnNEdXJpbmdVbmxvYWRDb3VudEluY3JlbWVudGVy
LmggKi8sCi0JCQkJNTEyQjU3QkYxRkU5OTAyRTAwMEExRTVFIC8qIEluUHJvY2Vzc01lc3NhZ2VQ
b3J0Q2hhbm5lbC5jcHAgKi8sCi0JCQkJNTEyQjU3QkMxRkU5OTAyQzAwMEExRTVFIC8qIEluUHJv
Y2Vzc01lc3NhZ2VQb3J0Q2hhbm5lbC5oICovLAogCQkJCUUzMDU5MjYxMUUyN0EzOEMwMEQ1N0M5
OCAvKiBJbmxpbmVDbGFzc2ljU2NyaXB0LmNwcCAqLywKIAkJCQlFMzA1OTI2MjFFMjdBMzhDMDBE
NTdDOTggLyogSW5saW5lQ2xhc3NpY1NjcmlwdC5oICovLAogCQkJCUFBNEMzQTc0MEIyQjE2Nzkw
MDIzMzRBMiAvKiBJbmxpbmVTdHlsZVNoZWV0T3duZXIuY3BwICovLAogCQkJCUFBNEMzQTc1MEIy
QjE2NzkwMDIzMzRBMiAvKiBJbmxpbmVTdHlsZVNoZWV0T3duZXIuaCAqLywKKwkJCQk1MTJCNTdC
RjFGRTk5MDJFMDAwQTFFNUUgLyogSW5Qcm9jZXNzTWVzc2FnZVBvcnRDaGFubmVsLmNwcCAqLywK
KwkJCQk1MTJCNTdCQzFGRTk5MDJDMDAwQTFFNUUgLyogSW5Qcm9jZXNzTWVzc2FnZVBvcnRDaGFu
bmVsLmggKi8sCiAJCQkJMkVCNzY3NTUxREExOUI5OTAwM0UyM0I1IC8qIElucHV0RXZlbnQuY3Bw
ICovLAogCQkJCTJFQjc2NzU0MURBMTlCNjcwMDNFMjNCNSAvKiBJbnB1dEV2ZW50LmggKi8sCiAJ
CQkJMkVCNzY3NTMxREExOTMxMzAwM0UyM0I1IC8qIElucHV0RXZlbnQuaWRsICovLApAQCAtMjU1
MDksOSArMjU1MTQsOSBAQAogCQkJCTlCRDBCRjkxMTJBNDJCRjUwMDcyRkQ0MyAvKiBTY29wZWRF
dmVudFF1ZXVlLmggKi8sCiAJCQkJQTg0RDgyQzAxMUQzNDc0ODAwOTcyOTkwIC8qIFNjcmlwdGFi
bGVEb2N1bWVudFBhcnNlci5jcHAgKi8sCiAJCQkJQTg0RDgyQkYxMUQzNDc0ODAwOTcyOTkwIC8q
IFNjcmlwdGFibGVEb2N1bWVudFBhcnNlci5oICovLAorCQkJCUU0NkI0MUY4MUNCMjRFNzAwMDhG
MTFERSAvKiBTY3JpcHREaXNhbGxvd2VkU2NvcGUuaCAqLywKIAkJCQk0OTk4QUVDRjEzRkIyMjRE
MDA5MEIxQUEgLyogU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcCAqLywKIAkJCQk0OTk4
QUVEMDEzRkIyMjREMDA5MEIxQUEgLyogU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmggKi8s
Ci0JCQkJRTQ2QjQxRjgxQ0IyNEU3MDAwOEYxMURFIC8qIFNjcmlwdERpc2FsbG93ZWRTY29wZS5o
ICovLAogCQkJCTA4QTQ4NDc1MEU1MjcyQzUwMEMzRkU3NiAvKiBTY3JpcHRFbGVtZW50LmNwcCAq
LywKIAkJCQkwOEE0ODQ3NjBFNTI3MkM1MDBDM0ZFNzYgLyogU2NyaXB0RWxlbWVudC5oICovLAog
CQkJCUUzRTRFMkE1MUUzQjE2RkMwMDIzQkI4QSAvKiBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0
RmV0Y2hlci5jcHAgKi8sCkBAIC0yNzMzOCw2ICsyNzM0Myw3IEBACiAJCQkJQkNFQTQ4NUEwOTdE
OTMwMjAwOTRDOUU0IC8qIElubGluZVRleHRCb3guaCBpbiBIZWFkZXJzICovLAogCQkJCTFDMDEw
NzAxMTkyNTk0REYwMDhBNDIwMSAvKiBJbmxpbmVUZXh0Qm94U3R5bGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTUxMEE1OEU1MUJBQTQwQjEwMEMxOTI4MiAvKiBJblByb2Nlc3NJREJTZXJ2ZXIuaCBp
biBIZWFkZXJzICovLAorCQkJCTUxMkI1N0MwMUZFOTkwODMwMDBBMUU1RSAvKiBJblByb2Nlc3NN
ZXNzYWdlUG9ydENoYW5uZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFQjc2NzU3MURBMTlCREYw
MDNFMjNCNSAvKiBJbnB1dEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0UzNTI0RDEyNDUw
QzY2MDBCQUY1RDkgLyogSW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMzQ4NjEyNDE1
RkRFMjFFMDA3QTFDQzkgLyogSW5wdXRUeXBlTmFtZXMuaCBpbiBIZWFkZXJzICovLApAQCAtMjg0
ODIsNyArMjg0ODgsNiBAQAogCQkJCTYzRDdCMzJEMEU3OENEM0YwMEY3NjE3QyAvKiBOb2RlUmVu
ZGVyU3R5bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0MzEwNUJCMTY3NTBGMTYwMERCMkZCOCAv
KiBOb2RlVHJhdmVyc2FsLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzgyQUFCNDBEOEMzODYxMDBG
MzU3QTYgLyogTm9kZVdpdGhJbmRleC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRTQ2QjQxRjkxQ0Iy
NEU3MDAwOEYxMURFIC8qIFNjcmlwdERpc2FsbG93ZWRTY29wZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMzEyQzBDNDExNDZEQzZDQzAwMTZDOTExIC8qIE5vdGlmaWNhdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMzM1MDNDOUExMDE3OUE3NDAwM0I0N0UxIC8qIE5vdGlmaWNhdGlvbkNsaWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMzEyOENBNkIxNDczMzE2MzAwNzRDNzJBIC8qIE5vdGlmaWNh
dGlvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMjg2NDMsNyArMjg2NDgsNiBAQAog
CQkJCUNFRUZDRDdDMTlEQjMzREMwMDM4NzZENyAvKiBQbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2Fk
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3MEUwOTE5MTg3NUVFRkMwMDNBMUQzQyAvKiBQbGF0
Zm9ybU1lZGlhU2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdGOTQ0MTYxODY0RDA0NjAw
NUQzMUNCIC8qIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJNDFCRjcwMTAwRkU4NkY2MTAwNUU4REVDIC8qIFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVs
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzVDNDc2OTA5QUM0RDQzMDBBNkFBQjQgLyogUGxhdGZv
cm1Nb3VzZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlDNTk4OTA1ODE0RTlDMjk5MDBFOEQx
OEIgLyogUGxhdGZvcm1QYXN0ZWJvYXJkLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VDMDFENzBD
Mjc0RUI0MDA5RjRFQzkgLyogUGxhdGZvcm1TY3JlZW4uaCBpbiBIZWFkZXJzICovLApAQCAtMjg4
OTMsNiArMjg4OTcsNyBAQAogCQkJCTkzRjE5OThDMDgyNDVFNTkwMDFFOUFCQyAvKiBSZW5kZXJU
cmVlQXNUZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDdDMzkyRDFGRTZFMEYzMDBCQkJDNkIg
LyogUmVuZGVyVHJlZUJ1aWxkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0N0MzOTMwMUZFNkUw
RkQwMEJCQkM2QiAvKiBSZW5kZXJUcmVlQnVpbGRlckZpcnN0TGV0dGVyLmggaW4gSGVhZGVycyAq
LywKKwkJCQkxMTkzNDA5NzFGRUQ3MTU1MDA5MzVGMUUgLyogUmVuZGVyVHJlZUJ1aWxkZXJGb3Jt
Q29udHJvbHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0N0MzOTMyMUZFNkUxMDUwMEJCQkM2QiAv
KiBSZW5kZXJUcmVlQnVpbGRlckxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0N0MzOTMzMUZF
NkUxMDgwMEJCQkM2QiAvKiBSZW5kZXJUcmVlQnVpbGRlck11bHRpQ29sdW1uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxMTkzNDA4QTFGRUIzNTVEMDA5MzVGMUUgLyogUmVuZGVyVHJlZUJ1aWxkZXJS
dWJ5LmggaW4gSGVhZGVycyAqLywKQEAgLTI5MDAyLDYgKzI5MDA3LDcgQEAKIAkJCQlBODREODJD
MTExRDM0NzQ4MDA5NzI5OTAgLyogU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0MUYxRDIxRjBFRjM1QzJBMDBEQTg3NTMgLyogU2NyaXB0Q2FjaGVkRnJhbWVE
YXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0I3MEQ3MDA5RUIwQzdDMDA5RDg0NjggLyogU2Ny
aXB0Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTQ2QjQxRjkxQ0IyNEU3MDAwOEYx
MURFIC8qIFNjcmlwdERpc2FsbG93ZWRTY29wZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5OEFF
RDIxM0ZCMjI0RDAwOTBCMUFBIC8qIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMDhBNDg0NzgwRTUyNzJDNTAwQzNGRTc2IC8qIFNjcmlwdEVsZW1lbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUUzRTRFMkE4MUUzQjE3MTAwMDIzQkI4QSAvKiBTY3JpcHRF
bGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTc1OCw3ICsy
OTc2NCw2IEBACiAJCQkJQTVCODFDQjUxRkFBNDQ2MjAwMzdEMUU2IC8qIFdlYkNvbnNvbGVBZ2Vu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOUJCQTJDQUIxRjY3OUUwQzAwRkQxQzFFIC8qIFdlYkNv
bnRlbnRSZWFkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxOUJFNzU5MUJDN0Y0MkIwMEUxQzg1
QiAvKiBXZWJDb3JlQnVpbHRpbk5hbWVzLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MTJCNTdDMDFG
RTk5MDgzMDAwQTFFNUUgLyogSW5Qcm9jZXNzTWVzc2FnZVBvcnRDaGFubmVsLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkyRDNFRjQ0QTE5MTc5MTVDMDAwMzQxODQgLyogV2ViQ29yZUNBTGF5ZXJFeHRy
YXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNUY3OTU0MUNGQ0EzRDUwMENDRUQ5MyAvKiBXZWJD
b3JlQ3Jvc3NUaHJlYWRDb3BpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNENUQyNzc4MUU4MzE4
RTAwMEQ4MEEzRCAvKiBXZWJDb3JlRGVjb21wcmVzc2lvblNlc3Npb24uaCBpbiBIZWFkZXJzICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJ1dHRvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0dG9uLmNwcAppbmRleCA1MGMxNWFj
YWM1YjJmOTZiOWRhOGQ0NzQwNDAxMmE1MWE1MWYzYmE0Li40NmQ2MGE0MDJkM2Q0NTUzNmRlOGYw
ZDA1ZjhiNWY5NWFmNWFmOWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQnV0dG9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQnV0
dG9uLmNwcApAQCAtNjcsNiArNjcsNyBAQCB2b2lkIFJlbmRlckJ1dHRvbjo6c2V0SW5uZXJSZW5k
ZXJlcihSZW5kZXJCbG9jayYgaW5uZXJSZW5kZXJlcikKIHsKICAgICBBU1NFUlQoIW1faW5uZXIu
Z2V0KCkpOwogICAgIG1faW5uZXIgPSBtYWtlV2Vha1B0cihpbm5lclJlbmRlcmVyKTsKKyAgICB1
cGRhdGVBbm9ueW1vdXNDaGlsZFN0eWxlKG1faW5uZXItPm11dGFibGVTdHlsZSgpKTsKIH0KIAog
UmVuZGVyUHRyPFJlbmRlck9iamVjdD4gUmVuZGVyQnV0dG9uOjp0YWtlQ2hpbGQoUmVuZGVyT2Jq
ZWN0JiBvbGRDaGlsZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJNZW51TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3Qu
Y3BwCmluZGV4IGI2MGVmOGJhNTNjMDUwM2U3YmFlZGJkOWEyNTMxZTFmNDY1NTkxNGYuLmMzMzEx
MzMwNmFhN2M3M2U5YjgzM2M4ZjgzNjQwNjMwNGRiMTYwMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcApAQCAtMTAwLDIwICsxMDAsMTEgQEAgdm9pZCBS
ZW5kZXJNZW51TGlzdDo6d2lsbEJlRGVzdHJveWVkKCkKICAgICBSZW5kZXJGbGV4aWJsZUJveDo6
d2lsbEJlRGVzdHJveWVkKCk7CiB9CiAKLXZvaWQgUmVuZGVyTWVudUxpc3Q6OmNyZWF0ZUlubmVy
QmxvY2soKQordm9pZCBSZW5kZXJNZW51TGlzdDo6c2V0SW5uZXJSZW5kZXJlcihSZW5kZXJCbG9j
ayYgaW5uZXJSZW5kZXJlcikKIHsKLSAgICBpZiAobV9pbm5lckJsb2NrKSB7Ci0gICAgICAgIEFT
U0VSVChmaXJzdENoaWxkKCkgPT0gbV9pbm5lckJsb2NrKTsKLSAgICAgICAgQVNTRVJUKCFtX2lu
bmVyQmxvY2stPm5leHRTaWJsaW5nKCkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
Ly8gQ3JlYXRlIGFuIGFub255bW91cyBibG9jay4KLSAgICBBU1NFUlQoIWZpcnN0Q2hpbGQoKSk7
Ci0gICAgYXV0byBuZXdJbm5lckJsb2NrID0gY3JlYXRlQW5vbnltb3VzQmxvY2soKTsKLSAgICBt
X2lubmVyQmxvY2sgPSBtYWtlV2Vha1B0cigqbmV3SW5uZXJCbG9jay5nZXQoKSk7CisgICAgQVNT
RVJUKCFtX2lubmVyQmxvY2suZ2V0KCkpOworICAgIG1faW5uZXJCbG9jayA9IG1ha2VXZWFrUHRy
KGlubmVyUmVuZGVyZXIpOwogICAgIGFkanVzdElubmVyU3R5bGUoKTsKLSAgICBSZW5kZXJGbGV4
aWJsZUJveDo6YWRkQ2hpbGQoKlJlbmRlclRyZWVCdWlsZGVyOjpjdXJyZW50KCksIFdURk1vdmUo
bmV3SW5uZXJCbG9jaykpOwogfQogCiB2b2lkIFJlbmRlck1lbnVMaXN0OjphZGp1c3RJbm5lclN0
eWxlKCkKQEAgLTE3NSwxNSArMTY2LDEwIEBAIEhUTUxTZWxlY3RFbGVtZW50JiBSZW5kZXJNZW51
TGlzdDo6c2VsZWN0RWxlbWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIGRvd25jYXN0PEhUTUxTZWxl
Y3RFbGVtZW50Pihub2RlRm9yTm9uQW5vbnltb3VzKCkpOwogfQogCi12b2lkIFJlbmRlck1lbnVM
aXN0OjphZGRDaGlsZChSZW5kZXJUcmVlQnVpbGRlciYgYnVpbGRlciwgUmVuZGVyUHRyPFJlbmRl
ck9iamVjdD4gbmV3Q2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCit2b2lkIFJlbmRl
ck1lbnVMaXN0OjphZGRDaGlsZChSZW5kZXJUcmVlQnVpbGRlciYsIFJlbmRlclB0cjxSZW5kZXJP
YmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqKQogewotICAgIGNyZWF0ZUlubmVyQmxvY2soKTsK
LSAgICBhdXRvJiBjaGlsZCA9ICpuZXdDaGlsZDsKLSAgICBidWlsZGVyLmluc2VydENoaWxkKCpt
X2lubmVyQmxvY2ssIFdURk1vdmUobmV3Q2hpbGQpLCBiZWZvcmVDaGlsZCk7Ci0gICAgQVNTRVJU
KG1faW5uZXJCbG9jayA9PSBmaXJzdENoaWxkKCkpOwotCiAgICAgaWYgKEFYT2JqZWN0Q2FjaGUq
IGNhY2hlID0gZG9jdW1lbnQoKS5leGlzdGluZ0FYT2JqZWN0Q2FjaGUoKSkKLSAgICAgICAgY2Fj
aGUtPmNoaWxkcmVuQ2hhbmdlZCh0aGlzLCAmY2hpbGQpOworICAgICAgICBjYWNoZS0+Y2hpbGRy
ZW5DaGFuZ2VkKHRoaXMsIGNoaWxkLmdldCgpKTsKIH0KIAogUmVuZGVyUHRyPFJlbmRlck9iamVj
dD4gUmVuZGVyTWVudUxpc3Q6OnRha2VDaGlsZChSZW5kZXJPYmplY3QmIG9sZENoaWxkKQpAQCAt
Mzc0LDEwICszNjAsNyBAQCB2b2lkIFJlbmRlck1lbnVMaXN0OjpzaG93UG9wdXAoKQogICAgIGlm
IChtX3BvcHVwSXNWaXNpYmxlKQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyBDcmVhdGUgbV9p
bm5lckJsb2NrIGhlcmUgc28gaXQgZW5kcyB1cCBhcyB0aGUgZmlyc3QgY2hpbGQuCi0gICAgLy8g
VGhpcyBpcyBpbXBvcnRhbnQgYmVjYXVzZSBvdGhlcndpc2Ugd2UgbWlnaHQgdHJ5IHRvIGNyZWF0
ZSBtX2lubmVyQmxvY2sKLSAgICAvLyBpbnNpZGUgdGhlIHNob3dQb3B1cCBjYWxsIGFuZCBpdCB3
b3VsZCBmYWlsLgotICAgIGNyZWF0ZUlubmVyQmxvY2soKTsKKyAgICBBU1NFUlQobV9pbm5lckJs
b2NrKTsKICAgICBpZiAoIW1fcG9wdXApCiAgICAgICAgIG1fcG9wdXAgPSBkb2N1bWVudCgpLnBh
Z2UoKS0+Y2hyb21lKCkuY3JlYXRlUG9wdXBNZW51KCp0aGlzKTsKICAgICBtX3BvcHVwSXNWaXNp
YmxlID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
ZW51TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgKaW5k
ZXggYWNmNjBhYWUzYTIwMzU4YTk3ZmU3YjllZDMwMDcxZmZiMGJkZTRiZS4uMDFjNzU5MTk1MDRh
ZGM5ZTY0YzM5YTRjNGVhYjdiYTkzMWVjMjM2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck1lbnVMaXN0LmgKQEAgLTU5LDYgKzU5LDkgQEAgcHVibGljOgogCiAgICAgU3RyaW5n
IHRleHQoKSBjb25zdDsKIAorICAgIFJlbmRlckJsb2NrKiBpbm5lclJlbmRlcmVyKCkgY29uc3Qg
eyByZXR1cm4gbV9pbm5lckJsb2NrLmdldCgpOyB9CisgICAgdm9pZCBzZXRJbm5lclJlbmRlcmVy
KFJlbmRlckJsb2NrJik7CisKIHByaXZhdGU6CiAgICAgdm9pZCB3aWxsQmVEZXN0cm95ZWQoKSBv
dmVycmlkZTsKIApAQCAtMTI3LDcgKzEzMCw2IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGdldEl0
ZW1CYWNrZ3JvdW5kQ29sb3IodW5zaWduZWQgbGlzdEluZGV4LCBDb2xvciYsIGJvb2wmIGl0ZW1I
YXNDdXN0b21CYWNrZ3JvdW5kQ29sb3IpIGNvbnN0OwogCi0gICAgdm9pZCBjcmVhdGVJbm5lckJs
b2NrKCk7CiAgICAgdm9pZCBhZGp1c3RJbm5lclN0eWxlKCk7CiAgICAgdm9pZCBzZXRUZXh0KGNv
bnN0IFN0cmluZyYpOwogICAgIHZvaWQgc2V0VGV4dEZyb21PcHRpb24oaW50IG9wdGlvbkluZGV4
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZUJ1aWxkZXIuY3BwCmluZGV4IDQ4MGZlMzFmM2FmYmMyMzc5OGNiMTMzNmFlMDcwZTY0NDU1
MTRlNTQuLjMxOTJkNGE3MjlkMTVhNTMwYTRlMjJmYjQxZGQ4MzM5YTY1YjM1NjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWls
ZGVyLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIlJlbmRlclRhYmxlUm93LmgiCiAj
aW5jbHVkZSAiUmVuZGVyVGV4dC5oIgogI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyRmlyc3RM
ZXR0ZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlckZvcm1Db250cm9scy5oIgogI2lu
Y2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyTGlzdC5oIgogI2luY2x1ZGUgIlJlbmRlclRyZWVCdWls
ZGVyTXVsdGlDb2x1bW4uaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlclJ1YnkuaCIKQEAg
LTUwLDYgKzUxLDcgQEAgUmVuZGVyVHJlZUJ1aWxkZXI6OlJlbmRlclRyZWVCdWlsZGVyKFJlbmRl
clZpZXcmIHZpZXcpCiAgICAgLCBtX211bHRpQ29sdW1uQnVpbGRlcihzdGQ6Om1ha2VfdW5pcXVl
PE11bHRpQ29sdW1uPigqdGhpcykpCiAgICAgLCBtX3RhYmxlQnVpbGRlcihzdGQ6Om1ha2VfdW5p
cXVlPFRhYmxlPigqdGhpcykpCiAgICAgLCBtX3J1YnlCdWlsZGVyKHN0ZDo6bWFrZV91bmlxdWU8
UnVieT4oKnRoaXMpKQorICAgICwgbV9mb3JtQ29udHJvbHNCdWlsZGVyKHN0ZDo6bWFrZV91bmlx
dWU8Rm9ybUNvbnRyb2xzPigqdGhpcykpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQoIXNfY3VycmVu
dCB8fCAmbV92aWV3ICE9ICZzX2N1cnJlbnQtPm1fdmlldyk7CiAgICAgbV9wcmV2aW91cyA9IHNf
Y3VycmVudDsKQEAgLTYxLDE5ICs2Myw2IEBAIFJlbmRlclRyZWVCdWlsZGVyOjp+UmVuZGVyVHJl
ZUJ1aWxkZXIoKQogICAgIHNfY3VycmVudCA9IG1fcHJldmlvdXM7CiB9CiAKLXN0YXRpYyBSZW5k
ZXJCbG9jayYgY3JlYXRlSW5uZXJSZW5kZXJlckZvckJ1dHRvbklmTmVlZGVkKFJlbmRlckJ1dHRv
biYgYnV0dG9uLCBSZW5kZXJUcmVlQnVpbGRlciYgYnVpbGRlcikKLXsKLSAgICBhdXRvKiBpbm5l
clJlbmRlcmVyID0gYnV0dG9uLmlubmVyUmVuZGVyZXIoKTsKLSAgICBpZiAoaW5uZXJSZW5kZXJl
cikKLSAgICAgICAgcmV0dXJuICppbm5lclJlbmRlcmVyOwotICAgIGF1dG8gd3JhcHBlciA9IGJ1
dHRvbi5jcmVhdGVBbm9ueW1vdXNCbG9jayhidXR0b24uc3R5bGUoKS5kaXNwbGF5KCkpOwotICAg
IGlubmVyUmVuZGVyZXIgPSB3cmFwcGVyLmdldCgpOwotICAgIGJ1dHRvbi51cGRhdGVBbm9ueW1v
dXNDaGlsZFN0eWxlKHdyYXBwZXItPm11dGFibGVTdHlsZSgpKTsKLSAgICBidXR0b24uUmVuZGVy
RmxleGlibGVCb3g6OmFkZENoaWxkKGJ1aWxkZXIsIFdURk1vdmUod3JhcHBlcikpOwotICAgIGJ1
dHRvbi5zZXRJbm5lclJlbmRlcmVyKCppbm5lclJlbmRlcmVyKTsKLSAgICByZXR1cm4gKmlubmVy
UmVuZGVyZXI7Ci19Ci0KIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Omluc2VydENoaWxkKFJlbmRl
ckVsZW1lbnQmIHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4gY2hpbGQsIFJlbmRlck9i
amVjdCogYmVmb3JlQ2hpbGQpCiB7CiAgICAgYXV0byBpbnNlcnRSZWN1cnNpdmVJZk5lZWRlZCA9
IFsmXShSZW5kZXJFbGVtZW50JiBwYXJlbnRDYW5kaWRhdGUpIHsKQEAgLTEyMiw5ICsxMTEsMTUg
QEAgdm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6aW5zZXJ0Q2hpbGQoUmVuZGVyRWxlbWVudCYgcGFy
ZW50LCBSZW5kZXJQdHI8UmVuZGVyT2JqZWMKICAgICB9CiAKICAgICBpZiAoaXM8UmVuZGVyQnV0
dG9uPihwYXJlbnQpKSB7Ci0gICAgICAgIGluc2VydFJlY3Vyc2l2ZUlmTmVlZGVkKGNyZWF0ZUlu
bmVyUmVuZGVyZXJGb3JCdXR0b25JZk5lZWRlZChkb3duY2FzdDxSZW5kZXJCdXR0b24+KHBhcmVu
dCksICp0aGlzKSk7CisgICAgICAgIGluc2VydFJlY3Vyc2l2ZUlmTmVlZGVkKGZvcm1Db250cm9s
c0J1aWxkZXIoKS5jcmVhdGVJbm5lclJlbmRlcmVySWZOZWVkZWQoZG93bmNhc3Q8UmVuZGVyQnV0
dG9uPihwYXJlbnQpKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CisKKyAgICBpZiAoaXM8UmVu
ZGVyTWVudUxpc3Q+KHBhcmVudCkpIHsKKyAgICAgICAgaW5zZXJ0UmVjdXJzaXZlSWZOZWVkZWQo
Zm9ybUNvbnRyb2xzQnVpbGRlcigpLmNyZWF0ZUlubmVyUmVuZGVyZXJJZk5lZWRlZChkb3duY2Fz
dDxSZW5kZXJNZW51TGlzdD4ocGFyZW50KSkpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAg
ICAgcGFyZW50LmFkZENoaWxkKCp0aGlzLCBXVEZNb3ZlKGNoaWxkKSwgYmVmb3JlQ2hpbGQpOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlci5oCmluZGV4IDk4MTgwNWNkZGE2YWI4ODUyYjUyNDFlMWIxNDFjM2ZjZjk5ZDgx
MjcuLmIwNWZkMWZmOWE1MTRmZWVlZTUyZDA5MGQ2ZjM3ODc2MjRmYjdlNmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5o
CkBAIC01MiwxMiArNTIsMTQgQEAgcHJpdmF0ZToKICAgICBjbGFzcyBNdWx0aUNvbHVtbjsKICAg
ICBjbGFzcyBUYWJsZTsKICAgICBjbGFzcyBSdWJ5OworICAgIGNsYXNzIEZvcm1Db250cm9sczsK
IAogICAgIEZpcnN0TGV0dGVyJiBmaXJzdExldHRlckJ1aWxkZXIoKSB7IHJldHVybiAqbV9maXJz
dExldHRlckJ1aWxkZXI7IH0KICAgICBMaXN0JiBsaXN0QnVpbGRlcigpIHsgcmV0dXJuICptX2xp
c3RCdWlsZGVyOyB9CiAgICAgTXVsdGlDb2x1bW4mIG11bHRpQ29sdW1uQnVpbGRlcigpIHsgcmV0
dXJuICptX211bHRpQ29sdW1uQnVpbGRlcjsgfQogICAgIFRhYmxlJiB0YWJsZUJ1aWxkZXIoKSB7
IHJldHVybiAqbV90YWJsZUJ1aWxkZXI7IH0KICAgICBSdWJ5JiBydWJ5QnVpbGRlcigpIHsgcmV0
dXJuICptX3J1YnlCdWlsZGVyOyB9CisgICAgRm9ybUNvbnRyb2xzJiBmb3JtQ29udHJvbHNCdWls
ZGVyKCkgeyByZXR1cm4gKm1fZm9ybUNvbnRyb2xzQnVpbGRlcjsgfQogCiAgICAgUmVuZGVyVmll
dyYgbV92aWV3OwogCkBAIC02OSw2ICs3MSw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVf
cHRyPE11bHRpQ29sdW1uPiBtX211bHRpQ29sdW1uQnVpbGRlcjsKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8VGFibGU+IG1fdGFibGVCdWlsZGVyOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSdWJ5PiBtX3J1
YnlCdWlsZGVyOworICAgIHN0ZDo6dW5pcXVlX3B0cjxGb3JtQ29udHJvbHM+IG1fZm9ybUNvbnRy
b2xzQnVpbGRlcjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlckZvcm1Db250cm9scy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJGb3JtQ29udHJvbHMuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmIwMWRhZmEzZGRiY2ViNmRhOWI0NjEzMjE4MTFjNjk0NTliNWRmOWUKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVy
VHJlZUJ1aWxkZXJGb3JtQ29udHJvbHMuY3BwCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXJGb3JtQ29u
dHJvbHMuaCIKKworI2luY2x1ZGUgIlJlbmRlckJ1dHRvbi5oIgorI2luY2x1ZGUgIlJlbmRlck1l
bnVMaXN0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVuZGVyVHJlZUJ1aWxkZXI6OkZv
cm1Db250cm9sczo6Rm9ybUNvbnRyb2xzKFJlbmRlclRyZWVCdWlsZGVyJiBidWlsZGVyKQorICAg
IDogbV9idWlsZGVyKGJ1aWxkZXIpCit7Cit9CisKK1JlbmRlckJsb2NrJiBSZW5kZXJUcmVlQnVp
bGRlcjo6Rm9ybUNvbnRyb2xzOjpjcmVhdGVJbm5lclJlbmRlcmVySWZOZWVkZWQoUmVuZGVyQnV0
dG9uJiBidXR0b24pCit7CisgICAgYXV0byogaW5uZXJSZW5kZXJlciA9IGJ1dHRvbi5pbm5lclJl
bmRlcmVyKCk7CisgICAgaWYgKGlubmVyUmVuZGVyZXIpCisgICAgICAgIHJldHVybiAqaW5uZXJS
ZW5kZXJlcjsKKworICAgIGF1dG8gd3JhcHBlciA9IGJ1dHRvbi5jcmVhdGVBbm9ueW1vdXNCbG9j
ayhidXR0b24uc3R5bGUoKS5kaXNwbGF5KCkpOworICAgIGlubmVyUmVuZGVyZXIgPSB3cmFwcGVy
LmdldCgpOworICAgIGJ1dHRvbi5SZW5kZXJGbGV4aWJsZUJveDo6YWRkQ2hpbGQobV9idWlsZGVy
LCBXVEZNb3ZlKHdyYXBwZXIpKTsKKyAgICBidXR0b24uc2V0SW5uZXJSZW5kZXJlcigqaW5uZXJS
ZW5kZXJlcik7CisgICAgcmV0dXJuICppbm5lclJlbmRlcmVyOworfQorCitSZW5kZXJCbG9jayYg
UmVuZGVyVHJlZUJ1aWxkZXI6OkZvcm1Db250cm9sczo6Y3JlYXRlSW5uZXJSZW5kZXJlcklmTmVl
ZGVkKFJlbmRlck1lbnVMaXN0JiBtZW51TGlzdCkKK3sKKyAgICBhdXRvKiBpbm5lclJlbmRlcmVy
ID0gbWVudUxpc3QuaW5uZXJSZW5kZXJlcigpOworICAgIGlmIChpbm5lclJlbmRlcmVyKQorICAg
ICAgICByZXR1cm4gKmlubmVyUmVuZGVyZXI7CisKKyAgICBhdXRvIHdyYXBwZXIgPSBtZW51TGlz
dC5jcmVhdGVBbm9ueW1vdXNCbG9jaygpOworICAgIGlubmVyUmVuZGVyZXIgPSB3cmFwcGVyLmdl
dCgpOworICAgIG1lbnVMaXN0LlJlbmRlckZsZXhpYmxlQm94OjphZGRDaGlsZChtX2J1aWxkZXIs
IFdURk1vdmUod3JhcHBlcikpOworICAgIG1lbnVMaXN0LnNldElubmVyUmVuZGVyZXIoKmlubmVy
UmVuZGVyZXIpOworICAgIHJldHVybiAqaW5uZXJSZW5kZXJlcjsKK30KKworfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyRm9y
bUNvbnRyb2xzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJl
ZUJ1aWxkZXJGb3JtQ29udHJvbHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YWFkY2QzYjc2YzRkNGIyZjRmYmQ5
ZTU1YTAyMTQ3ZWE5MWRiM2IxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyRm9ybUNvbnRyb2xzLmgKQEAgLTAsMCAr
MSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUmVuZGVyVHJl
ZUJ1aWxkZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSZW5kZXJCbG9jazsK
K2NsYXNzIFJlbmRlckJ1dHRvbjsKK2NsYXNzIFJlbmRlck1lbnVMaXN0OworCitjbGFzcyBSZW5k
ZXJUcmVlQnVpbGRlcjo6Rm9ybUNvbnRyb2xzIHsKK3B1YmxpYzoKKyAgICBGb3JtQ29udHJvbHMo
UmVuZGVyVHJlZUJ1aWxkZXImKTsKKworICAgIFJlbmRlckJsb2NrJiBjcmVhdGVJbm5lclJlbmRl
cmVySWZOZWVkZWQoUmVuZGVyQnV0dG9uJik7CisgICAgUmVuZGVyQmxvY2smIGNyZWF0ZUlubmVy
UmVuZGVyZXJJZk5lZWRlZChSZW5kZXJNZW51TGlzdCYpOworCitwcml2YXRlOgorICAgIFJlbmRl
clRyZWVCdWlsZGVyJiBtX2J1aWxkZXI7Cit9OworCit9CisK
</data>

          </attachment>
      

    </bug>

</bugzilla>