From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ivan Sorokin Subject: possibly memory leak in alsa-lib Date: Tue, 30 Oct 2012 02:12:55 +0400 Message-ID: <508EFF67.6020901@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------070406050808020805020404" Return-path: Received: from mail-la0-f51.google.com (mail-la0-f51.google.com [209.85.215.51]) by alsa0.perex.cz (Postfix) with ESMTP id 73139265D5E for ; Mon, 29 Oct 2012 23:12:38 +0100 (CET) Received: by mail-la0-f51.google.com with SMTP id m15so3886015lah.38 for ; Mon, 29 Oct 2012 15:12:38 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org This is a multi-part message in MIME format. --------------070406050808020805020404 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit The following program shows a few leaks in valgrind (ubuntu 12.04, alsa-lib 1.0.25, eglibc 2.15): #include int main() { snd_pcm_t* pcm = 0; snd_pcm_open(&pcm, "default", SND_PCM_STREAM_PLAYBACK, 0); snd_pcm_close(pcm); snd_config_update_free_global(); } Do I close pcm correctly? In file MEMORY-LEAK it is written that program should call snd_config_update_free_global() to free global configuration cache and I do so. I'm not sure, but probably some leaks are caused by glibc. --------------070406050808020805020404 Content-Type: text/plain; charset=UTF-8; name="valgrind-log.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="valgrind-log.txt" PT0zODYyPT0gTWVtY2hlY2ssIGEgbWVtb3J5IGVycm9yIGRldGVjdG9yCj09Mzg2Mj09IENv cHlyaWdodCAoQykgMjAwMi0yMDExLCBhbmQgR05VIEdQTCdkLCBieSBKdWxpYW4gU2V3YXJk IGV0IGFsLgo9PTM4NjI9PSBVc2luZyBWYWxncmluZC0zLjcuMCBhbmQgTGliVkVYOyByZXJ1 biB3aXRoIC1oIGZvciBjb3B5cmlnaHQgaW5mbwo9PTM4NjI9PSBDb21tYW5kOiAuL2Eub3V0 Cj09Mzg2Mj09IAo9PTM4NjI9PSAKPT0zODYyPT0gSEVBUCBTVU1NQVJZOgo9PTM4NjI9PSAg ICAgaW4gdXNlIGF0IGV4aXQ6IDU0NiBieXRlcyBpbiAxNyBibG9ja3MKPT0zODYyPT0gICB0 b3RhbCBoZWFwIHVzYWdlOiA2LDA5OCBhbGxvY3MsIDYsMDgxIGZyZWVzLCAyMzMsNTQxIGJ5 dGVzIGFsbG9jYXRlZAo9PTM4NjI9PSAKPT0zODYyPT0gMTYgYnl0ZXMgaW4gMSBibG9ja3Mg YXJlIGluZGlyZWN0bHkgbG9zdCBpbiBsb3NzIHJlY29yZCAxIG9mIDE3Cj09Mzg2Mj09ICAg IGF0IDB4NEMyQjZDRDogbWFsbG9jIChpbiAvdXNyL2xpYi92YWxncmluZC92Z3ByZWxvYWRf bWVtY2hlY2stYW1kNjQtbGludXguc28pCj09Mzg2Mj09ICAgIGJ5IDB4NTIyNTQ1OTogX19u c3NfbG9va3VwX2Z1bmN0aW9uIChuc3N3aXRjaC5jOjQ1NikKPT0zODYyPT0gICAgYnkgMHg2 MjA1MTg0OiA/Pz8KPT0zODYyPT0gICAgYnkgMHg1MURDNDZDOiBnZXRncm5hbV9yQEBHTElC Q18yLjIuNSAoZ2V0WFhieVlZX3IuYzoyNTYpCj09Mzg2Mj09ICAgIGJ5IDB4NTFEQkFFMzog Z2V0Z3JuYW0gKGdldFhYYnlZWS5jOjExNykKPT0zODYyPT0gICAgYnkgMHg0RUJBNEY2OiBz bmQxX3BjbV9kaXJlY3RfcGFyc2Vfb3Blbl9jb25mIChwY21fZGlyZWN0LmM6MTYxNCkKPT0z ODYyPT0gICAgYnkgMHg0RUIzOTU5OiBfc25kX3BjbV9kbWl4X29wZW4gKHBjbV9kbWl4LmM6 MTI3OCkKPT0zODYyPT0gICAgYnkgMHg0RTdDNUU1OiBzbmRfcGNtX29wZW5fY29uZiAocGNt LmM6MjE3MSkKPT0zODYyPT0gICAgYnkgMHg0RTdDQkJGOiBzbmRfcGNtX29wZW5fbm91cGRh dGUgKHBjbS5jOjIyMjUpCj09Mzg2Mj09ICAgIGJ5IDB4NEU3RUI0ODogc25kMV9wY21fb3Bl bl9uYW1lZF9zbGF2ZSAocGNtLmM6MjMzNSkKPT0zODYyPT0gICAgYnkgMHg0RUJFNEQ0OiBf c25kX3BjbV9zb2Z0dm9sX29wZW4gKHBjbV9sb2NhbC5oOjg2NCkKPT0zODYyPT0gICAgYnkg MHg0RTdDNUU1OiBzbmRfcGNtX29wZW5fY29uZiAocGNtLmM6MjE3MSkKPT0zODYyPT0gCj09 Mzg2Mj09IDE2IGJ5dGVzIGluIDEgYmxvY2tzIGFyZSBpbmRpcmVjdGx5IGxvc3QgaW4gbG9z cyByZWNvcmQgMiBvZiAxNwo9PTM4NjI9PSAgICBhdCAweDRDMkI2Q0Q6IG1hbGxvYyAoaW4g L3Vzci9saWIvdmFsZ3JpbmQvdmdwcmVsb2FkX21lbWNoZWNrLWFtZDY0LWxpbnV4LnNvKQo9 PTM4NjI9PSAgICBieSAweDUyMjU0NTk6IF9fbnNzX2xvb2t1cF9mdW5jdGlvbiAobnNzd2l0 Y2guYzo0NTYpCj09Mzg2Mj09ICAgIGJ5IDB4NjIwNTE5RTogPz8/Cj09Mzg2Mj09ICAgIGJ5 IDB4NTFEQzQ2QzogZ2V0Z3JuYW1fckBAR0xJQkNfMi4yLjUgKGdldFhYYnlZWV9yLmM6MjU2 KQo9PTM4NjI9PSAgICBieSAweDUxREJBRTM6IGdldGdybmFtIChnZXRYWGJ5WVkuYzoxMTcp Cj09Mzg2Mj09ICAgIGJ5IDB4NEVCQTRGNjogc25kMV9wY21fZGlyZWN0X3BhcnNlX29wZW5f Y29uZiAocGNtX2RpcmVjdC5jOjE2MTQpCj09Mzg2Mj09ICAgIGJ5IDB4NEVCMzk1OTogX3Nu ZF9wY21fZG1peF9vcGVuIChwY21fZG1peC5jOjEyNzgpCj09Mzg2Mj09ICAgIGJ5IDB4NEU3 QzVFNTogc25kX3BjbV9vcGVuX2NvbmYgKHBjbS5jOjIxNzEpCj09Mzg2Mj09ICAgIGJ5IDB4 NEU3Q0JCRjogc25kX3BjbV9vcGVuX25vdXBkYXRlIChwY20uYzoyMjI1KQo9PTM4NjI9PSAg ICBieSAweDRFN0VCNDg6IHNuZDFfcGNtX29wZW5fbmFtZWRfc2xhdmUgKHBjbS5jOjIzMzUp Cj09Mzg2Mj09ICAgIGJ5IDB4NEVCRTRENDogX3NuZF9wY21fc29mdHZvbF9vcGVuIChwY21f bG9jYWwuaDo4NjQpCj09Mzg2Mj09ICAgIGJ5IDB4NEU3QzVFNTogc25kX3BjbV9vcGVuX2Nv bmYgKHBjbS5jOjIxNzEpCj09Mzg2Mj09IAo9PTM4NjI9PSAxNiBieXRlcyBpbiAxIGJsb2Nr cyBhcmUgaW5kaXJlY3RseSBsb3N0IGluIGxvc3MgcmVjb3JkIDMgb2YgMTcKPT0zODYyPT0g ICAgYXQgMHg0QzJCNkNEOiBtYWxsb2MgKGluIC91c3IvbGliL3ZhbGdyaW5kL3ZncHJlbG9h ZF9tZW1jaGVjay1hbWQ2NC1saW51eC5zbykKPT0zODYyPT0gICAgYnkgMHg1MjI1NDU5OiBf X25zc19sb29rdXBfZnVuY3Rpb24gKG5zc3dpdGNoLmM6NDU2KQo9PTM4NjI9PSAgICBieSAw eDYyMDUxQjg6ID8/Pwo9PTM4NjI9PSAgICBieSAweDUxREM0NkM6IGdldGdybmFtX3JAQEdM SUJDXzIuMi41IChnZXRYWGJ5WVlfci5jOjI1NikKPT0zODYyPT0gICAgYnkgMHg1MURCQUUz OiBnZXRncm5hbSAoZ2V0WFhieVlZLmM6MTE3KQo9PTM4NjI9PSAgICBieSAweDRFQkE0RjY6 IHNuZDFfcGNtX2RpcmVjdF9wYXJzZV9vcGVuX2NvbmYgKHBjbV9kaXJlY3QuYzoxNjE0KQo9 PTM4NjI9PSAgICBieSAweDRFQjM5NTk6IF9zbmRfcGNtX2RtaXhfb3BlbiAocGNtX2RtaXgu YzoxMjc4KQo9PTM4NjI9PSAgICBieSAweDRFN0M1RTU6IHNuZF9wY21fb3Blbl9jb25mIChw Y20uYzoyMTcxKQo9PTM4NjI9PSAgICBieSAweDRFN0NCQkY6IHNuZF9wY21fb3Blbl9ub3Vw ZGF0ZSAocGNtLmM6MjIyNSkKPT0zODYyPT0gICAgYnkgMHg0RTdFQjQ4OiBzbmQxX3BjbV9v cGVuX25hbWVkX3NsYXZlIChwY20uYzoyMzM1KQo9PTM4NjI9PSAgICBieSAweDRFQkU0RDQ6 IF9zbmRfcGNtX3NvZnR2b2xfb3BlbiAocGNtX2xvY2FsLmg6ODY0KQo9PTM4NjI9PSAgICBi eSAweDRFN0M1RTU6IHNuZF9wY21fb3Blbl9jb25mIChwY20uYzoyMTcxKQo9PTM4NjI9PSAK PT0zODYyPT0gMTYgYnl0ZXMgaW4gMSBibG9ja3MgYXJlIGluZGlyZWN0bHkgbG9zdCBpbiBs b3NzIHJlY29yZCA0IG9mIDE3Cj09Mzg2Mj09ICAgIGF0IDB4NEMyQjZDRDogbWFsbG9jIChp biAvdXNyL2xpYi92YWxncmluZC92Z3ByZWxvYWRfbWVtY2hlY2stYW1kNjQtbGludXguc28p Cj09Mzg2Mj09ICAgIGJ5IDB4NTIyNTQ1OTogX19uc3NfbG9va3VwX2Z1bmN0aW9uIChuc3N3 aXRjaC5jOjQ1NikKPT0zODYyPT0gICAgYnkgMHg2MjA1MUQyOiA/Pz8KPT0zODYyPT0gICAg YnkgMHg1MURDNDZDOiBnZXRncm5hbV9yQEBHTElCQ18yLjIuNSAoZ2V0WFhieVlZX3IuYzoy NTYpCj09Mzg2Mj09ICAgIGJ5IDB4NTFEQkFFMzogZ2V0Z3JuYW0gKGdldFhYYnlZWS5jOjEx NykKPT0zODYyPT0gICAgYnkgMHg0RUJBNEY2OiBzbmQxX3BjbV9kaXJlY3RfcGFyc2Vfb3Bl bl9jb25mIChwY21fZGlyZWN0LmM6MTYxNCkKPT0zODYyPT0gICAgYnkgMHg0RUIzOTU5OiBf c25kX3BjbV9kbWl4X29wZW4gKHBjbV9kbWl4LmM6MTI3OCkKPT0zODYyPT0gICAgYnkgMHg0 RTdDNUU1OiBzbmRfcGNtX29wZW5fY29uZiAocGNtLmM6MjE3MSkKPT0zODYyPT0gICAgYnkg MHg0RTdDQkJGOiBzbmRfcGNtX29wZW5fbm91cGRhdGUgKHBjbS5jOjIyMjUpCj09Mzg2Mj09 ICAgIGJ5IDB4NEU3RUI0ODogc25kMV9wY21fb3Blbl9uYW1lZF9zbGF2ZSAocGNtLmM6MjMz NSkKPT0zODYyPT0gICAgYnkgMHg0RUJFNEQ0OiBfc25kX3BjbV9zb2Z0dm9sX29wZW4gKHBj bV9sb2NhbC5oOjg2NCkKPT0zODYyPT0gICAgYnkgMHg0RTdDNUU1OiBzbmRfcGNtX29wZW5f Y29uZiAocGNtLmM6MjE3MSkKPT0zODYyPT0gCj09Mzg2Mj09IDE2IGJ5dGVzIGluIDEgYmxv Y2tzIGFyZSBpbmRpcmVjdGx5IGxvc3QgaW4gbG9zcyByZWNvcmQgNSBvZiAxNwo9PTM4NjI9 PSAgICBhdCAweDRDMkI2Q0Q6IG1hbGxvYyAoaW4gL3Vzci9saWIvdmFsZ3JpbmQvdmdwcmVs b2FkX21lbWNoZWNrLWFtZDY0LWxpbnV4LnNvKQo9PTM4NjI9PSAgICBieSAweDUyMjU0NTk6 IF9fbnNzX2xvb2t1cF9mdW5jdGlvbiAobnNzd2l0Y2guYzo0NTYpCj09Mzg2Mj09ICAgIGJ5 IDB4NjIwNTFFQzogPz8/Cj09Mzg2Mj09ICAgIGJ5IDB4NTFEQzQ2QzogZ2V0Z3JuYW1fckBA R0xJQkNfMi4yLjUgKGdldFhYYnlZWV9yLmM6MjU2KQo9PTM4NjI9PSAgICBieSAweDUxREJB RTM6IGdldGdybmFtIChnZXRYWGJ5WVkuYzoxMTcpCj09Mzg2Mj09ICAgIGJ5IDB4NEVCQTRG Njogc25kMV9wY21fZGlyZWN0X3BhcnNlX29wZW5fY29uZiAocGNtX2RpcmVjdC5jOjE2MTQp Cj09Mzg2Mj09ICAgIGJ5IDB4NEVCMzk1OTogX3NuZF9wY21fZG1peF9vcGVuIChwY21fZG1p eC5jOjEyNzgpCj09Mzg2Mj09ICAgIGJ5IDB4NEU3QzVFNTogc25kX3BjbV9vcGVuX2NvbmYg KHBjbS5jOjIxNzEpCj09Mzg2Mj09ICAgIGJ5IDB4NEU3Q0JCRjogc25kX3BjbV9vcGVuX25v dXBkYXRlIChwY20uYzoyMjI1KQo9PTM4NjI9PSAgICBieSAweDRFN0VCNDg6IHNuZDFfcGNt X29wZW5fbmFtZWRfc2xhdmUgKHBjbS5jOjIzMzUpCj09Mzg2Mj09ICAgIGJ5IDB4NEVCRTRE NDogX3NuZF9wY21fc29mdHZvbF9vcGVuIChwY21fbG9jYWwuaDo4NjQpCj09Mzg2Mj09ICAg IGJ5IDB4NEU3QzVFNTogc25kX3BjbV9vcGVuX2NvbmYgKHBjbS5jOjIxNzEpCj09Mzg2Mj09 IAo9PTM4NjI9PSAxOSBieXRlcyBpbiAxIGJsb2NrcyBhcmUgcG9zc2libHkgbG9zdCBpbiBs b3NzIHJlY29yZCA2IG9mIDE3Cj09Mzg2Mj09ICAgIGF0IDB4NEMyQjZDRDogbWFsbG9jIChp biAvdXNyL2xpYi92YWxncmluZC92Z3ByZWxvYWRfbWVtY2hlY2stYW1kNjQtbGludXguc28p Cj09Mzg2Mj09ICAgIGJ5IDB4NTFBN0Q3MTogc3RyZHVwIChzdHJkdXAuYzo0MykKPT0zODYy PT0gICAgYnkgMHg0RTY1ODY2OiBzbmQxX2Rsb2JqX2NhY2hlX2dldCAoZGxtaXNjLmM6Mjcy KQo9PTM4NjI9PSAgICBieSAweDRFN0M1QzE6IHNuZF9wY21fb3Blbl9jb25mIChwY20uYzoy MTY4KQo9PTM4NjI9PSAgICBieSAweDRFN0VCOEU6IHNuZDFfcGNtX29wZW5fbmFtZWRfc2xh dmUgKHBjbS5jOjIzMzcpCj09Mzg2Mj09ICAgIGJ5IDB4NEVBNTE5NjogX3NuZF9wY21fZW1w dHlfb3BlbiAocGNtX2VtcHR5LmM6MTAzKQo9PTM4NjI9PSAgICBieSAweDRFN0M1RTU6IHNu ZF9wY21fb3Blbl9jb25mIChwY20uYzoyMTcxKQo9PTM4NjI9PSAgICBieSAweDRFN0NCQkY6 IHNuZF9wY21fb3Blbl9ub3VwZGF0ZSAocGNtLmM6MjIyNSkKPT0zODYyPT0gICAgYnkgMHg0 MDA2M0U6IG1haW4gKDIuY3BwOjYpCj09Mzg2Mj09IAo9PTM4NjI9PSAxOSBieXRlcyBpbiAx IGJsb2NrcyBhcmUgcG9zc2libHkgbG9zdCBpbiBsb3NzIHJlY29yZCA3IG9mIDE3Cj09Mzg2 Mj09ICAgIGF0IDB4NEMyQjZDRDogbWFsbG9jIChpbiAvdXNyL2xpYi92YWxncmluZC92Z3By ZWxvYWRfbWVtY2hlY2stYW1kNjQtbGludXguc28pCj09Mzg2Mj09ICAgIGJ5IDB4NTFBN0Q3 MTogc3RyZHVwIChzdHJkdXAuYzo0MykKPT0zODYyPT0gICAgYnkgMHg0RTY1ODY2OiBzbmQx X2Rsb2JqX2NhY2hlX2dldCAoZGxtaXNjLmM6MjcyKQo9PTM4NjI9PSAgICBieSAweDRFN0M1 QzE6IHNuZF9wY21fb3Blbl9jb25mIChwY20uYzoyMTY4KQo9PTM4NjI9PSAgICBieSAweDRF N0VCOEU6IHNuZDFfcGNtX29wZW5fbmFtZWRfc2xhdmUgKHBjbS5jOjIzMzcpCj09Mzg2Mj09 ICAgIGJ5IDB4NEVCQTkzNDogX3NuZF9wY21fYXN5bV9vcGVuIChwY21fYXN5bS5jOjExMikK PT0zODYyPT0gICAgYnkgMHg0RTdDNUU1OiBzbmRfcGNtX29wZW5fY29uZiAocGNtLmM6MjE3 MSkKPT0zODYyPT0gICAgYnkgMHg0RTdFQjhFOiBzbmQxX3BjbV9vcGVuX25hbWVkX3NsYXZl IChwY20uYzoyMzM3KQo9PTM4NjI9PSAgICBieSAweDRFQTUxOTY6IF9zbmRfcGNtX2VtcHR5 X29wZW4gKHBjbV9lbXB0eS5jOjEwMykKPT0zODYyPT0gICAgYnkgMHg0RTdDNUU1OiBzbmRf cGNtX29wZW5fY29uZiAocGNtLmM6MjE3MSkKPT0zODYyPT0gICAgYnkgMHg0RTdDQkJGOiBz bmRfcGNtX29wZW5fbm91cGRhdGUgKHBjbS5jOjIyMjUpCj09Mzg2Mj09ICAgIGJ5IDB4NDAw NjNFOiBtYWluICgyLmNwcDo2KQo9PTM4NjI9PSAKPT0zODYyPT0gMzIgYnl0ZXMgaW4gMSBi bG9ja3MgYXJlIHN0aWxsIHJlYWNoYWJsZSBpbiBsb3NzIHJlY29yZCA4IG9mIDE3Cj09Mzg2 Mj09ICAgIGF0IDB4NEMyOURCNDogY2FsbG9jIChpbiAvdXNyL2xpYi92YWxncmluZC92Z3By ZWxvYWRfbWVtY2hlY2stYW1kNjQtbGludXguc28pCj09Mzg2Mj09ICAgIGJ5IDB4NTdEQjU5 RjogX2RsZXJyb3JfcnVuIChkbGVycm9yLmM6MTQyKQo9PTM4NjI9PSAgICBieSAweDU3REFG QzA6IGRsb3BlbkBAR0xJQkNfMi4yLjUgKGRsb3Blbi5jOjg4KQo9PTM4NjI9PSAgICBieSAw eDRFNjU2MkE6IHNuZF9kbG9wZW4gKGRsbWlzYy5jOjg3KQo9PTM4NjI9PSAgICBieSAweDRF NjBGQUI6IHNuZF9jb25maWdfaG9va3MuY29uc3Rwcm9wLjI2IChjb25mLmM6MzMxMCkKPT0z ODYyPT0gICAgYnkgMHg0RTYxQTA3OiBzbmRfY29uZmlnX3VwZGF0ZV9yIChjb25mLmM6Mzc2 OCkKPT0zODYyPT0gICAgYnkgMHg0RTYxRTkxOiBzbmRfY29uZmlnX3VwZGF0ZSAoY29uZi5j OjM3OTkpCj09Mzg2Mj09ICAgIGJ5IDB4NEU3RTc2Mjogc25kX3BjbV9vcGVuIChwY20uYzoy MjQ0KQo9PTM4NjI9PSAgICBieSAweDQwMDYzRTogbWFpbiAoMi5jcHA6NikKPT0zODYyPT0g Cj09Mzg2Mj09IDMyIGJ5dGVzIGluIDEgYmxvY2tzIGFyZSBpbmRpcmVjdGx5IGxvc3QgaW4g bG9zcyByZWNvcmQgOSBvZiAxNwo9PTM4NjI9PSAgICBhdCAweDRDMkI2Q0Q6IG1hbGxvYyAo aW4gL3Vzci9saWIvdmFsZ3JpbmQvdmdwcmVsb2FkX21lbWNoZWNrLWFtZDY0LWxpbnV4LnNv KQo9PTM4NjI9PSAgICBieSAweDUyMEZFMEE6IHRzZWFyY2ggKHRzZWFyY2guYzoyODEpCj09 Mzg2Mj09ICAgIGJ5IDB4NTIyNTNFOTogX19uc3NfbG9va3VwX2Z1bmN0aW9uIChuc3N3aXRj aC5jOjQzOSkKPT0zODYyPT0gICAgYnkgMHg2MjA1MTg0OiA/Pz8KPT0zODYyPT0gICAgYnkg MHg1MURDNDZDOiBnZXRncm5hbV9yQEBHTElCQ18yLjIuNSAoZ2V0WFhieVlZX3IuYzoyNTYp Cj09Mzg2Mj09ICAgIGJ5IDB4NTFEQkFFMzogZ2V0Z3JuYW0gKGdldFhYYnlZWS5jOjExNykK PT0zODYyPT0gICAgYnkgMHg0RUJBNEY2OiBzbmQxX3BjbV9kaXJlY3RfcGFyc2Vfb3Blbl9j b25mIChwY21fZGlyZWN0LmM6MTYxNCkKPT0zODYyPT0gICAgYnkgMHg0RUIzOTU5OiBfc25k X3BjbV9kbWl4X29wZW4gKHBjbV9kbWl4LmM6MTI3OCkKPT0zODYyPT0gICAgYnkgMHg0RTdD NUU1OiBzbmRfcGNtX29wZW5fY29uZiAocGNtLmM6MjE3MSkKPT0zODYyPT0gICAgYnkgMHg0 RTdDQkJGOiBzbmRfcGNtX29wZW5fbm91cGRhdGUgKHBjbS5jOjIyMjUpCj09Mzg2Mj09ICAg IGJ5IDB4NEU3RUI0ODogc25kMV9wY21fb3Blbl9uYW1lZF9zbGF2ZSAocGNtLmM6MjMzNSkK PT0zODYyPT0gICAgYnkgMHg0RUJFNEQ0OiBfc25kX3BjbV9zb2Z0dm9sX29wZW4gKHBjbV9s b2NhbC5oOjg2NCkKPT0zODYyPT0gCj09Mzg2Mj09IDMyIGJ5dGVzIGluIDEgYmxvY2tzIGFy ZSBpbmRpcmVjdGx5IGxvc3QgaW4gbG9zcyByZWNvcmQgMTAgb2YgMTcKPT0zODYyPT0gICAg YXQgMHg0QzJCNkNEOiBtYWxsb2MgKGluIC91c3IvbGliL3ZhbGdyaW5kL3ZncHJlbG9hZF9t ZW1jaGVjay1hbWQ2NC1saW51eC5zbykKPT0zODYyPT0gICAgYnkgMHg1MjBGRTBBOiB0c2Vh cmNoICh0c2VhcmNoLmM6MjgxKQo9PTM4NjI9PSAgICBieSAweDUyMjUzRTk6IF9fbnNzX2xv b2t1cF9mdW5jdGlvbiAobnNzd2l0Y2guYzo0MzkpCj09Mzg2Mj09ICAgIGJ5IDB4NjIwNTE5 RTogPz8/Cj09Mzg2Mj09ICAgIGJ5IDB4NTFEQzQ2QzogZ2V0Z3JuYW1fckBAR0xJQkNfMi4y LjUgKGdldFhYYnlZWV9yLmM6MjU2KQo9PTM4NjI9PSAgICBieSAweDUxREJBRTM6IGdldGdy bmFtIChnZXRYWGJ5WVkuYzoxMTcpCj09Mzg2Mj09ICAgIGJ5IDB4NEVCQTRGNjogc25kMV9w Y21fZGlyZWN0X3BhcnNlX29wZW5fY29uZiAocGNtX2RpcmVjdC5jOjE2MTQpCj09Mzg2Mj09 ICAgIGJ5IDB4NEVCMzk1OTogX3NuZF9wY21fZG1peF9vcGVuIChwY21fZG1peC5jOjEyNzgp Cj09Mzg2Mj09ICAgIGJ5IDB4NEU3QzVFNTogc25kX3BjbV9vcGVuX2NvbmYgKHBjbS5jOjIx NzEpCj09Mzg2Mj09ICAgIGJ5IDB4NEU3Q0JCRjogc25kX3BjbV9vcGVuX25vdXBkYXRlIChw Y20uYzoyMjI1KQo9PTM4NjI9PSAgICBieSAweDRFN0VCNDg6IHNuZDFfcGNtX29wZW5fbmFt ZWRfc2xhdmUgKHBjbS5jOjIzMzUpCj09Mzg2Mj09ICAgIGJ5IDB4NEVCRTRENDogX3NuZF9w Y21fc29mdHZvbF9vcGVuIChwY21fbG9jYWwuaDo4NjQpCj09Mzg2Mj09IAo9PTM4NjI9PSAz MiBieXRlcyBpbiAxIGJsb2NrcyBhcmUgaW5kaXJlY3RseSBsb3N0IGluIGxvc3MgcmVjb3Jk IDExIG9mIDE3Cj09Mzg2Mj09ICAgIGF0IDB4NEMyQjZDRDogbWFsbG9jIChpbiAvdXNyL2xp Yi92YWxncmluZC92Z3ByZWxvYWRfbWVtY2hlY2stYW1kNjQtbGludXguc28pCj09Mzg2Mj09 ICAgIGJ5IDB4NTIwRkUwQTogdHNlYXJjaCAodHNlYXJjaC5jOjI4MSkKPT0zODYyPT0gICAg YnkgMHg1MjI1M0U5OiBfX25zc19sb29rdXBfZnVuY3Rpb24gKG5zc3dpdGNoLmM6NDM5KQo9 PTM4NjI9PSAgICBieSAweDYyMDUxQjg6ID8/Pwo9PTM4NjI9PSAgICBieSAweDUxREM0NkM6 IGdldGdybmFtX3JAQEdMSUJDXzIuMi41IChnZXRYWGJ5WVlfci5jOjI1NikKPT0zODYyPT0g ICAgYnkgMHg1MURCQUUzOiBnZXRncm5hbSAoZ2V0WFhieVlZLmM6MTE3KQo9PTM4NjI9PSAg ICBieSAweDRFQkE0RjY6IHNuZDFfcGNtX2RpcmVjdF9wYXJzZV9vcGVuX2NvbmYgKHBjbV9k aXJlY3QuYzoxNjE0KQo9PTM4NjI9PSAgICBieSAweDRFQjM5NTk6IF9zbmRfcGNtX2RtaXhf b3BlbiAocGNtX2RtaXguYzoxMjc4KQo9PTM4NjI9PSAgICBieSAweDRFN0M1RTU6IHNuZF9w Y21fb3Blbl9jb25mIChwY20uYzoyMTcxKQo9PTM4NjI9PSAgICBieSAweDRFN0NCQkY6IHNu ZF9wY21fb3Blbl9ub3VwZGF0ZSAocGNtLmM6MjIyNSkKPT0zODYyPT0gICAgYnkgMHg0RTdF QjQ4OiBzbmQxX3BjbV9vcGVuX25hbWVkX3NsYXZlIChwY20uYzoyMzM1KQo9PTM4NjI9PSAg ICBieSAweDRFQkU0RDQ6IF9zbmRfcGNtX3NvZnR2b2xfb3BlbiAocGNtX2xvY2FsLmg6ODY0 KQo9PTM4NjI9PSAKPT0zODYyPT0gMzIgYnl0ZXMgaW4gMSBibG9ja3MgYXJlIGluZGlyZWN0 bHkgbG9zdCBpbiBsb3NzIHJlY29yZCAxMiBvZiAxNwo9PTM4NjI9PSAgICBhdCAweDRDMkI2 Q0Q6IG1hbGxvYyAoaW4gL3Vzci9saWIvdmFsZ3JpbmQvdmdwcmVsb2FkX21lbWNoZWNrLWFt ZDY0LWxpbnV4LnNvKQo9PTM4NjI9PSAgICBieSAweDUyMEZFMEE6IHRzZWFyY2ggKHRzZWFy Y2guYzoyODEpCj09Mzg2Mj09ICAgIGJ5IDB4NTIyNTNFOTogX19uc3NfbG9va3VwX2Z1bmN0 aW9uIChuc3N3aXRjaC5jOjQzOSkKPT0zODYyPT0gICAgYnkgMHg2MjA1MUQyOiA/Pz8KPT0z ODYyPT0gICAgYnkgMHg1MURDNDZDOiBnZXRncm5hbV9yQEBHTElCQ18yLjIuNSAoZ2V0WFhi eVlZX3IuYzoyNTYpCj09Mzg2Mj09ICAgIGJ5IDB4NTFEQkFFMzogZ2V0Z3JuYW0gKGdldFhY YnlZWS5jOjExNykKPT0zODYyPT0gICAgYnkgMHg0RUJBNEY2OiBzbmQxX3BjbV9kaXJlY3Rf cGFyc2Vfb3Blbl9jb25mIChwY21fZGlyZWN0LmM6MTYxNCkKPT0zODYyPT0gICAgYnkgMHg0 RUIzOTU5OiBfc25kX3BjbV9kbWl4X29wZW4gKHBjbV9kbWl4LmM6MTI3OCkKPT0zODYyPT0g ICAgYnkgMHg0RTdDNUU1OiBzbmRfcGNtX29wZW5fY29uZiAocGNtLmM6MjE3MSkKPT0zODYy PT0gICAgYnkgMHg0RTdDQkJGOiBzbmRfcGNtX29wZW5fbm91cGRhdGUgKHBjbS5jOjIyMjUp Cj09Mzg2Mj09ICAgIGJ5IDB4NEU3RUI0ODogc25kMV9wY21fb3Blbl9uYW1lZF9zbGF2ZSAo cGNtLmM6MjMzNSkKPT0zODYyPT0gICAgYnkgMHg0RUJFNEQ0OiBfc25kX3BjbV9zb2Z0dm9s X29wZW4gKHBjbV9sb2NhbC5oOjg2NCkKPT0zODYyPT0gCj09Mzg2Mj09IDMyIGJ5dGVzIGlu IDEgYmxvY2tzIGFyZSBpbmRpcmVjdGx5IGxvc3QgaW4gbG9zcyByZWNvcmQgMTMgb2YgMTcK PT0zODYyPT0gICAgYXQgMHg0QzJCNkNEOiBtYWxsb2MgKGluIC91c3IvbGliL3ZhbGdyaW5k L3ZncHJlbG9hZF9tZW1jaGVjay1hbWQ2NC1saW51eC5zbykKPT0zODYyPT0gICAgYnkgMHg1 MjBGRTBBOiB0c2VhcmNoICh0c2VhcmNoLmM6MjgxKQo9PTM4NjI9PSAgICBieSAweDUyMjUz RTk6IF9fbnNzX2xvb2t1cF9mdW5jdGlvbiAobnNzd2l0Y2guYzo0MzkpCj09Mzg2Mj09ICAg IGJ5IDB4NjIwNTFFQzogPz8/Cj09Mzg2Mj09ICAgIGJ5IDB4NTFEQzQ2QzogZ2V0Z3JuYW1f ckBAR0xJQkNfMi4yLjUgKGdldFhYYnlZWV9yLmM6MjU2KQo9PTM4NjI9PSAgICBieSAweDUx REJBRTM6IGdldGdybmFtIChnZXRYWGJ5WVkuYzoxMTcpCj09Mzg2Mj09ICAgIGJ5IDB4NEVC QTRGNjogc25kMV9wY21fZGlyZWN0X3BhcnNlX29wZW5fY29uZiAocGNtX2RpcmVjdC5jOjE2 MTQpCj09Mzg2Mj09ICAgIGJ5IDB4NEVCMzk1OTogX3NuZF9wY21fZG1peF9vcGVuIChwY21f ZG1peC5jOjEyNzgpCj09Mzg2Mj09ICAgIGJ5IDB4NEU3QzVFNTogc25kX3BjbV9vcGVuX2Nv bmYgKHBjbS5jOjIxNzEpCj09Mzg2Mj09ICAgIGJ5IDB4NEU3Q0JCRjogc25kX3BjbV9vcGVu X25vdXBkYXRlIChwY20uYzoyMjI1KQo9PTM4NjI9PSAgICBieSAweDRFN0VCNDg6IHNuZDFf cGNtX29wZW5fbmFtZWRfc2xhdmUgKHBjbS5jOjIzMzUpCj09Mzg2Mj09ICAgIGJ5IDB4NEVC RTRENDogX3NuZF9wY21fc29mdHZvbF9vcGVuIChwY21fbG9jYWwuaDo4NjQpCj09Mzg2Mj09 IAo9PTM4NjI9PSA1NiBieXRlcyBpbiAxIGJsb2NrcyBhcmUgcG9zc2libHkgbG9zdCBpbiBs b3NzIHJlY29yZCAxNCBvZiAxNwo9PTM4NjI9PSAgICBhdCAweDRDMkI2Q0Q6IG1hbGxvYyAo aW4gL3Vzci9saWIvdmFsZ3JpbmQvdmdwcmVsb2FkX21lbWNoZWNrLWFtZDY0LWxpbnV4LnNv KQo9PTM4NjI9PSAgICBieSAweDRFNjU3ODc6IHNuZDFfZGxvYmpfY2FjaGVfZ2V0IChkbG1p c2MuYzoyNjcpCj09Mzg2Mj09ICAgIGJ5IDB4NEU3QzVDMTogc25kX3BjbV9vcGVuX2NvbmYg KHBjbS5jOjIxNjgpCj09Mzg2Mj09ICAgIGJ5IDB4NEU3RUI4RTogc25kMV9wY21fb3Blbl9u YW1lZF9zbGF2ZSAocGNtLmM6MjMzNykKPT0zODYyPT0gICAgYnkgMHg0RUE1MTk2OiBfc25k X3BjbV9lbXB0eV9vcGVuIChwY21fZW1wdHkuYzoxMDMpCj09Mzg2Mj09ICAgIGJ5IDB4NEU3 QzVFNTogc25kX3BjbV9vcGVuX2NvbmYgKHBjbS5jOjIxNzEpCj09Mzg2Mj09ICAgIGJ5IDB4 NEU3Q0JCRjogc25kX3BjbV9vcGVuX25vdXBkYXRlIChwY20uYzoyMjI1KQo9PTM4NjI9PSAg ICBieSAweDQwMDYzRTogbWFpbiAoMi5jcHA6NikKPT0zODYyPT0gCj09Mzg2Mj09IDU2IGJ5 dGVzIGluIDEgYmxvY2tzIGFyZSBwb3NzaWJseSBsb3N0IGluIGxvc3MgcmVjb3JkIDE1IG9m IDE3Cj09Mzg2Mj09ICAgIGF0IDB4NEMyQjZDRDogbWFsbG9jIChpbiAvdXNyL2xpYi92YWxn cmluZC92Z3ByZWxvYWRfbWVtY2hlY2stYW1kNjQtbGludXguc28pCj09Mzg2Mj09ICAgIGJ5 IDB4NEU2NTc4Nzogc25kMV9kbG9ial9jYWNoZV9nZXQgKGRsbWlzYy5jOjI2NykKPT0zODYy PT0gICAgYnkgMHg0RTdDNUMxOiBzbmRfcGNtX29wZW5fY29uZiAocGNtLmM6MjE2OCkKPT0z ODYyPT0gICAgYnkgMHg0RTdFQjhFOiBzbmQxX3BjbV9vcGVuX25hbWVkX3NsYXZlIChwY20u YzoyMzM3KQo9PTM4NjI9PSAgICBieSAweDRFQkE5MzQ6IF9zbmRfcGNtX2FzeW1fb3BlbiAo cGNtX2FzeW0uYzoxMTIpCj09Mzg2Mj09ICAgIGJ5IDB4NEU3QzVFNTogc25kX3BjbV9vcGVu X2NvbmYgKHBjbS5jOjIxNzEpCj09Mzg2Mj09ICAgIGJ5IDB4NEU3RUI4RTogc25kMV9wY21f b3Blbl9uYW1lZF9zbGF2ZSAocGNtLmM6MjMzNykKPT0zODYyPT0gICAgYnkgMHg0RUE1MTk2 OiBfc25kX3BjbV9lbXB0eV9vcGVuIChwY21fZW1wdHkuYzoxMDMpCj09Mzg2Mj09ICAgIGJ5 IDB4NEU3QzVFNTogc25kX3BjbV9vcGVuX2NvbmYgKHBjbS5jOjIxNzEpCj09Mzg2Mj09ICAg IGJ5IDB4NEU3Q0JCRjogc25kX3BjbV9vcGVuX25vdXBkYXRlIChwY20uYzoyMjI1KQo9PTM4 NjI9PSAgICBieSAweDQwMDYzRTogbWFpbiAoMi5jcHA6NikKPT0zODYyPT0gCj09Mzg2Mj09 IDY0IGJ5dGVzIGluIDEgYmxvY2tzIGFyZSBzdGlsbCByZWFjaGFibGUgaW4gbG9zcyByZWNv cmQgMTYgb2YgMTcKPT0zODYyPT0gICAgYXQgMHg0QzJCNkNEOiBtYWxsb2MgKGluIC91c3Iv bGliL3ZhbGdyaW5kL3ZncHJlbG9hZF9tZW1jaGVjay1hbWQ2NC1saW51eC5zbykKPT0zODYy PT0gICAgYnkgMHg0MDBFRjYwOiBfZGxfc2lnbmFsX2Vycm9yIChkbC1lcnJvci5jOjkwKQo9 PTM4NjI9PSAgICBieSAweDQwMTUxREU6IF9kbF9jbG9zZSAoZGwtY2xvc2UuYzo3NjUpCj09 Mzg2Mj09ICAgIGJ5IDB4NDAwRjE3NTogX2RsX2NhdGNoX2Vycm9yIChkbC1lcnJvci5jOjE3 OCkKPT0zODYyPT0gICAgYnkgMHg1N0RCNTJFOiBfZGxlcnJvcl9ydW4gKGRsZXJyb3IuYzox NjQpCj09Mzg2Mj09ICAgIGJ5IDB4NTdEQjAwRTogZGxjbG9zZSAoZGxjbG9zZS5jOjQ4KQo9 PTM4NjI9PSAgICBieSAweDRFNjVBN0U6IHNuZDFfZGxvYmpfY2FjaGVfY2xlYW51cCAoZGxt aXNjLmM6MzIxKQo9PTM4NjI9PSAgICBieSAweDRFNURGNTQ6IHNuZF9jb25maWdfdXBkYXRl X2ZyZWVfZ2xvYmFsIChjb25mLmM6Mzg0MikKPT0zODYyPT0gICAgYnkgMHg0MDA2NEY6IG1h aW4gKDIuY3BwOjgpCj09Mzg2Mj09IAo9PTM4NjI9PSAzMDAgKDYwIGRpcmVjdCwgMjQwIGlu ZGlyZWN0KSBieXRlcyBpbiAxIGJsb2NrcyBhcmUgZGVmaW5pdGVseSBsb3N0IGluIGxvc3Mg cmVjb3JkIDE3IG9mIDE3Cj09Mzg2Mj09ICAgIGF0IDB4NEMyQjZDRDogbWFsbG9jIChpbiAv dXNyL2xpYi92YWxncmluZC92Z3ByZWxvYWRfbWVtY2hlY2stYW1kNjQtbGludXguc28pCj09 Mzg2Mj09ICAgIGJ5IDB4NTIyNDU5NDogbnNzX3BhcnNlX3NlcnZpY2VfbGlzdCAobnNzd2l0 Y2guYzo2NzgpCj09Mzg2Mj09ICAgIGJ5IDB4NTIyNTA1NTogX19uc3NfZGF0YWJhc2VfbG9v a3VwIChuc3N3aXRjaC5jOjE3NSkKPT0zODYyPT0gICAgYnkgMHg2MjA1MTY5OiA/Pz8KPT0z ODYyPT0gICAgYnkgMHg1MURDNDZDOiBnZXRncm5hbV9yQEBHTElCQ18yLjIuNSAoZ2V0WFhi eVlZX3IuYzoyNTYpCj09Mzg2Mj09ICAgIGJ5IDB4NTFEQkFFMzogZ2V0Z3JuYW0gKGdldFhY YnlZWS5jOjExNykKPT0zODYyPT0gICAgYnkgMHg0RUJBNEY2OiBzbmQxX3BjbV9kaXJlY3Rf cGFyc2Vfb3Blbl9jb25mIChwY21fZGlyZWN0LmM6MTYxNCkKPT0zODYyPT0gICAgYnkgMHg0 RUIzOTU5OiBfc25kX3BjbV9kbWl4X29wZW4gKHBjbV9kbWl4LmM6MTI3OCkKPT0zODYyPT0g ICAgYnkgMHg0RTdDNUU1OiBzbmRfcGNtX29wZW5fY29uZiAocGNtLmM6MjE3MSkKPT0zODYy PT0gICAgYnkgMHg0RTdDQkJGOiBzbmRfcGNtX29wZW5fbm91cGRhdGUgKHBjbS5jOjIyMjUp Cj09Mzg2Mj09ICAgIGJ5IDB4NEU3RUI0ODogc25kMV9wY21fb3Blbl9uYW1lZF9zbGF2ZSAo cGNtLmM6MjMzNSkKPT0zODYyPT0gICAgYnkgMHg0RUJFNEQ0OiBfc25kX3BjbV9zb2Z0dm9s X29wZW4gKHBjbV9sb2NhbC5oOjg2NCkKPT0zODYyPT0gCj09Mzg2Mj09IExFQUsgU1VNTUFS WToKPT0zODYyPT0gICAgZGVmaW5pdGVseSBsb3N0OiA2MCBieXRlcyBpbiAxIGJsb2Nrcwo9 PTM4NjI9PSAgICBpbmRpcmVjdGx5IGxvc3Q6IDI0MCBieXRlcyBpbiAxMCBibG9ja3MKPT0z ODYyPT0gICAgICBwb3NzaWJseSBsb3N0OiAxNTAgYnl0ZXMgaW4gNCBibG9ja3MKPT0zODYy PT0gICAgc3RpbGwgcmVhY2hhYmxlOiA5NiBieXRlcyBpbiAyIGJsb2Nrcwo9PTM4NjI9PSAg ICAgICAgIHN1cHByZXNzZWQ6IDAgYnl0ZXMgaW4gMCBibG9ja3MKPT0zODYyPT0gCj09Mzg2 Mj09IEZvciBjb3VudHMgb2YgZGV0ZWN0ZWQgYW5kIHN1cHByZXNzZWQgZXJyb3JzLCByZXJ1 biB3aXRoOiAtdgo9PTM4NjI9PSBFUlJPUiBTVU1NQVJZOiA1IGVycm9ycyBmcm9tIDUgY29u dGV4dHMgKHN1cHByZXNzZWQ6IDIgZnJvbSAyKQo= --------------070406050808020805020404 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --------------070406050808020805020404--