From: Subject: EMSC - European-Mediterranean Seismological Centre Date: Fri, 20 Mar 2009 08:32:10 -0400 MIME-Version: 1.0 Content-Type: multipart/related; type="multipart/alternative"; boundary="----=_NextPart_000_0000_01C9A936.5CBF2A50" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 This is a multi-part message in MIME format. ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/emsc_200.png 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 ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/lock.jpg /9j/4AAQSkZJRgABAgEASwBLAAD/4QPZRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUA AAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAbAAAAcgEyAAIAAAAUAAAAjYdp AAQAAAABAAAApAAAANAAAABLAAAAAQAAAEsAAAABQWRvYmUgUGhvdG9zaG9wIENTIFdpbmRvd3MA MjAwNjowMToyNyAxMTo0MzoyMAAAAAAAA6ABAAMAAAAB//8AAKACAAQAAAABAAAAEKADAAQAAAAB AAAAEAAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEA AgAAAgEABAAAAAEAAAEuAgIABAAAAAEAAAKjAAAAAAAAAEgAAAABAAAASAAAAAH/2P/gABBKRklG AAECAQBIAEgAAP/tAAxBZG9iZV9DTQAC/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBEL CgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsN Dg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM DAwM/8AAEQgAEAAQAwEiAAIRAQMRAf/dAAQAAf/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYH CAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQh EjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXi ZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIE BAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKy gwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dX Z3eHl6e3x//aAAwDAQACEQMRAD8A9D6vl+m/FxG3Gh2VYWue0S8Max9rvTHu97tnp/RQuk5cZ+V0 43vyBUyu2p9o95DtzbZdtZ9B7Wf56P1CsF73PrNjXMYGwwv1Bs3aMa/99qo9ExL2dSsvNLqqvSLJ c0sklzHNhrtrvzFnHnc/30cv7P6v/OVL7eL5WYY4nGZcWo6P/9n/7QiUUGhvdG9zaG9wIDMuMAA4 QklNBCUAAAAAABAAAAAAAAAAAAAAAAAAAAAAOEJJTQPtAAAAAAAQAEsAAAABAAIASwAAAAEAAjhC SU0EJgAAAAAADgAAAAAAAAAAAAA/gAAAOEJJTQQNAAAAAAAEAAAAHjhCSU0EGQAAAAAABAAAAB44 QklNA/MAAAAAAAkAAAAAAAAAAAEAOEJJTQQKAAAAAAABAAA4QklNJxAAAAAAAAoAAQAAAAAAAAAC OEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoA AAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD///////////////////// ////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////// //////8D6AAAAAD/////////////////////////////A+gAADhCSU0EAAAAAAAAAgAAOEJJTQQC AAAAAAACAAA4QklNBAgAAAAAABAAAAABAAACQAAAAkAAAAAAOEJJTQQeAAAAAAAEAAAAADhCSU0E GgAAAAADPQAAAAYAAAAAAAAAAAAAABAAAAAQAAAABABsAG8AYwBrAAAAAQAAAAAAAAAAAAAAAAAA AAAAAAABAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAA ABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABU b3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAAEAAAAABSZ2h0bG9uZwAA ABAAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9u ZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAA DWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5k c09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAA AABCdG9tbG9uZwAAABAAAAAAUmdodGxvbmcAAAAQAAAAA3VybFRFWFQAAAABAAAAAAAAbnVsbFRF WFQAAAABAAAAAAAATXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVYVAAAAAEAAAAAAA5jZWxsVGV4 dElzSFRNTGJvb2wBAAAACGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6QWxpZ25lbnVtAAAAD0VT bGljZUhvcnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGlnbmVudW0AAAAPRVNsaWNlVmVydEFs aWduAAAAB2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVtAAAAEUVTbGljZUJHQ29sb3JUeXBlAAAA AE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAKbGVmdE91dHNldGxvbmcAAAAAAAAADGJvdHRv bU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0c2V0bG9uZwAAAAAAOEJJTQQoAAAAAAAMAAAAAT/w AAAAAAAAOEJJTQQRAAAAAAABAQA4QklNBBQAAAAAAAQAAAACOEJJTQQMAAAAAAK/AAAAAQAAABAA AAAQAAAAMAAAAwAAAAKjABgAAf/Y/+AAEEpGSUYAAQIBAEgASAAA/+0ADEFkb2JlX0NNAAL/7gAO QWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwM DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwMDBERDAwM DAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAAQABADASIAAhEBAxEB/90ABAAB /8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAABAAIDBAUG BwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWETInGBMgYUkaGxQiMkFVLBYjM0coLR QwclklPw4fFjczUWorKDJkSTVGRFwqN0NhfSVeJl8rOEw9N14/NGJ5SkhbSVxNTk9KW1xdXl9VZm doaWprbG1ub2N0dXZ3eHl6e3x9fn9xEAAgIBAgQEAwQFBgcHBgU1AQACEQMhMRIEQVFhcSITBTKB kRShsUIjwVLR8DMkYuFygpJDUxVjczTxJQYWorKDByY1wtJEk1SjF2RFVTZ0ZeLys4TD03Xj80aU pIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9ic3R1dnd4eXp7fH/9oADAMBAAIRAxEAPwD0Pq+X6b8X EbcaHZVha57RLwxrH2u9Me73u2en9FC6Tlxn5XTje/IFTK7an2j3kO3Ntl21n0HtZ/no/UKwXvc+ s2NcxgbDC/UGzdoxr/32qj0TEvZ1Ky80uqq9IslzSySXMc2Gu2u/MWcedz/fRy/s/q/85Uvt4vlZ hjicZlxajo//2QA4QklNBCEAAAAAAFMAAAABAQAAAA8AQQBkAG8AYgBlACAAUABoAG8AdABvAHMA aABvAHAAAAASAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwACAAQwBTAAAAAQA4QklNBAYA AAAAAAcACAAAAAEBAP/hGAFodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvADw/eHBhY2tldCBi ZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+Cjx4OnhtcG1ldGEgeG1s bnM6eD0nYWRvYmU6bnM6bWV0YS8nIHg6eG1wdGs9J1hNUCB0b29sa2l0IDMuMC0yOCwgZnJhbWV3 b3JrIDEuNic+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8y Mi1yZGYtc3ludGF4LW5zIycgeG1sbnM6aVg9J2h0dHA6Ly9ucy5hZG9iZS5jb20vaVgvMS4wLyc+ CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9J3V1aWQ6M2VlOTQ4ZTktOGYxOS0xMWRhLThj NWQtYzFlMzNiMDE5YWZmJwogIHhtbG5zOmV4aWY9J2h0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8x LjAvJz4KICA8ZXhpZjpDb2xvclNwYWNlPjQyOTQ5NjcyOTU8L2V4aWY6Q29sb3JTcGFjZT4KICA8 ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTY8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogIDxleGlmOlBp eGVsWURpbWVuc2lvbj4xNjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiA8L3JkZjpEZXNjcmlwdGlv bj4KCiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0ndXVpZDozZWU5NDhlOS04ZjE5LTExZGEt OGM1ZC1jMWUzM2IwMTlhZmYnCiAgeG1sbnM6cGRmPSdodHRwOi8vbnMuYWRvYmUuY29tL3BkZi8x LjMvJz4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSd1 dWlkOjNlZTk0OGU5LThmMTktMTFkYS04YzVkLWMxZTMzYjAxOWFmZicKICB4bWxuczpwaG90b3No b3A9J2h0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8nPgogIDxwaG90b3Nob3A6SGlz dG9yeT48L3Bob3Rvc2hvcDpIaXN0b3J5PgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNj cmlwdGlvbiByZGY6YWJvdXQ9J3V1aWQ6M2VlOTQ4ZTktOGYxOS0xMWRhLThjNWQtYzFlMzNiMDE5 YWZmJwogIHhtbG5zOnRpZmY9J2h0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvJz4KICA8dGlm ZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogIDx0aWZmOlhSZXNvbHV0aW9uPjc1 LzE8L3RpZmY6WFJlc29sdXRpb24+CiAgPHRpZmY6WVJlc29sdXRpb24+NzUvMTwvdGlmZjpZUmVz b2x1dGlvbj4KICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0Pgog PC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9J3V1aWQ6M2Vl OTQ4ZTktOGYxOS0xMWRhLThjNWQtYzFlMzNiMDE5YWZmJwogIHhtbG5zOnhhcD0naHR0cDovL25z LmFkb2JlLmNvbS94YXAvMS4wLyc+CiAgPHhhcDpDcmVhdGVEYXRlPjIwMDYtMDEtMjdUMTE6NDM6 MjArMDI6MDA8L3hhcDpDcmVhdGVEYXRlPgogIDx4YXA6TW9kaWZ5RGF0ZT4yMDA2LTAxLTI3VDEx OjQzOjIwKzAyOjAwPC94YXA6TW9kaWZ5RGF0ZT4KICA8eGFwOk1ldGFkYXRhRGF0ZT4yMDA2LTAx LTI3VDExOjQzOjIwKzAyOjAwPC94YXA6TWV0YWRhdGFEYXRlPgogIDx4YXA6Q3JlYXRvclRvb2w+ QWRvYmUgUGhvdG9zaG9wIENTIFdpbmRvd3M8L3hhcDpDcmVhdG9yVG9vbD4KIDwvcmRmOkRlc2Ny aXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSd1dWlkOjNlZTk0OGU5LThmMTkt MTFkYS04YzVkLWMxZTMzYjAxOWFmZicKICB4bWxuczp4YXBNTT0naHR0cDovL25zLmFkb2JlLmNv bS94YXAvMS4wL21tLyc+CiAgPHhhcE1NOkRvY3VtZW50SUQ+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9w OjNlZTk0OGU4LThmMTktMTFkYS04YzVkLWMxZTMzYjAxOWFmZjwveGFwTU06RG9jdW1lbnRJRD4K IDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSd1dWlkOjNl ZTk0OGU5LThmMTktMTFkYS04YzVkLWMxZTMzYjAxOWFmZicKICB4bWxuczpkYz0naHR0cDovL3B1 cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8nPgogIDxkYzpmb3JtYXQ+aW1hZ2UvanBlZzwvZGM6Zm9y bWF0PgogPC9yZGY6RGVzY3JpcHRpb24+Cgo8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0n dyc/Pv/uAA5BZG9iZQBkQAAAAAH/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQECAgICAgICAgICAgMDAwMDAwMDAwMBAQEBAQEBAQEBAQICAQICAwMDAwMDAwMD AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA//AABEIABAAEAMBEQACEQED EQH/3QAEAAL/xAGiAAAABgIDAQAAAAAAAAAAAAAHCAYFBAkDCgIBAAsBAAAGAwEBAQAAAAAAAAAA AAYFBAMHAggBCQAKCxAAAgEDBAEDAwIDAwMCBgl1AQIDBBEFEgYhBxMiAAgxFEEyIxUJUUIWYSQz F1JxgRhikSVDobHwJjRyChnB0TUn4VM2gvGSokRUc0VGN0djKFVWVxqywtLi8mSDdJOEZaOzw9Pj KThm83UqOTpISUpYWVpnaGlqdnd4eXqFhoeIiYqUlZaXmJmapKWmp6ipqrS1tre4ubrExcbHyMnK 1NXW19jZ2uTl5ufo6er09fb3+Pn6EQACAQMCBAQDBQQEBAYGBW0BAgMRBCESBTEGACITQVEHMmEU cQhCgSORFVKhYhYzCbEkwdFDcvAX4YI0JZJTGGNE8aKyJjUZVDZFZCcKc4OTRnTC0uLyVWV1VjeE haOzw9Pj8ykalKS0xNTk9JWltcXV5fUoR1dmOHaGlqa2xtbm9md3h5ent8fX5/dIWGh4iJiouMjY 6Pg5SVlpeYmZqbnJ2en5KjpKWmp6ipqqusra6vr/2gAMAwEAAhEDEQA/ANyT5ddsttnL9E9OYvs2 u6tzHefYmSwmW3VtvHpl984bY20th7w31nZ9m0ElJk4Y89nK/bVHh4KqWjrY6MZCSo+3nMIjYCc4 e5/IXIFrvF3zZzDFb/QW1vcTRhZJZlgurk2kE3gwpJK0bTK66lU0Ebk0CkgysNm3TdHhSxs2cSOU DYVNSrrKl2IQHTQ5I4j16Q3xN7b8Xe3eXxnrO1d9dp0mx9nda9n9fbi7SoqlN/5LB7uqdz4ffFJk smdubbpclRbYz+MxwiP21O6JklVYygDku5B95PbH3RhtZeQ+bbfcHmS4cRqsqSotrLDDMZYpUSWG j3EQTxlQyq+uIPGCwV7ryzvuyLJJue3tFCrRrrqrKWkV2QKykq2I3rpJ0laNQkA//9Dc9+QG34qj KbiyWX2Xld043J7T2PjcK2K2JmewJVy+EzHZFVlEOO27hdwZDGmmgz9C4mmhiikMlo3Zo5AnIr+8 y9mPdf3AtRvntdyJuW6721vs0EMthEZLmNLa63qS+jDRHxoY2S8tGcErHPwq7RELMPttvMFktjbv uyW6pdTvIHmWFSjpahDV2RXzFJgElaZADCpU/hR1VvjC/I3e3YNb1xuXZWzE6yzu10yG5dp5DZL5 TNZrd+zMpjIsdic5RYrK5CFMdtmreWVafx0+qNXZWlVfaH+7W9kfeb285t5s5m9zeTty2yzl2T6Z DfB45WmkubeXSqSnWwCwPrYAqpCgnuSo/wDfPmzlreOXto2zZt3t7m6W7WQiJg4VVikUlmSqg6nW grU5IrQ9f//Z ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/vide.gif R0lGODlhAQABAPcAAP//////zP//mf//Zv//M///AP/M///MzP/Mmf/MZv/MM//MAP+Z//+ZzP+Z mf+ZZv+ZM/+ZAP9m//9mzP9mmf9mZv9mM/9mAP8z//8zzP8zmf8zZv8zM/8zAP8A//8AzP8Amf8A Zv8AM/8AAMz//8z/zMz/mcz/Zsz/M8z/AMzM/8zMzMzMmczMZszMM8zMAMyZ/8yZzMyZmcyZZsyZ M8yZAMxm/8xmzMxmmcxmZsxmM8xmAMwz/8wzzMwzmcwzZswzM8wzAMwA/8wAzMwAmcwAZswAM8wA AJn//5n/zJn/mZn/Zpn/M5n/AJnM/5nMzJnMmZnMZpnMM5nMAJmZ/5mZzJmZmZmZZpmZM5mZAJlm /5lmzJlmmZlmZplmM5lmAJkz/5kzzJkzmZkzZpkzM5kzAJkA/5kAzJkAmZkAZpkAM5kAAGb//2b/ zGb/mWb/Zmb/M2b/AGbM/2bMzGbMmWbMZmbMM2bMAGaZ/2aZzGaZmWaZZmaZM2aZAGZm/2ZmzGZm mWZmZmZmM2ZmAGYz/2YzzGYzmWYzZmYzM2YzAGYA/2YAzGYAmWYAZmYAM2YAADP//zP/zDP/mTP/ ZjP/MzP/ADPM/zPMzDPMmTPMZjPMMzPMADOZ/zOZzDOZmTOZZjOZMzOZADNm/zNmzDNmmTNmZjNm MzNmADMz/zMzzDMzmTMzZjMzMzMzADMA/zMAzDMAmTMAZjMAMzMAAAD//wD/zAD/mQD/ZgD/MwD/ AADM/wDMzADMmQDMZgDMMwDMAACZ/wCZzACZmQCZZgCZMwCZAABm/wBmzABmmQBmZgBmMwBmAAAz /wAzzAAzmQAzZgAzMwAzAAAA/wAAzAAAmQAAZgAAMwAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAANgALAAAAAABAAEA AAgEALEFBAA7 ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/haut.png iVBORw0KGgoAAAANSUhEUgAAA80AAAAeCAMAAAAhKgzbAAADAFBMVEX////m5ube3t6+vr7MzMy1 tbXT09OsrKzGxsbZ2dmkpKSbm5uVlZXi4uKOjo7r6+vV1dXCwsLJycm6urqxsbHj4+Pk5OTg4ODb 29vo6Ojc3NzOzs7Y2Nj5+fn+/v79/f0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABHlY8PAAACWUlEQVR42u3a0ZKaQBBGYQRBMSGCKKCi+/5vmf57wLjW5n6m6nzX 7M1UneqZdrPjh6vZAIibQv2MN/tMOXw6DBfXAIhHyHIYXkX/t+aQ8qCExzEHEKdxVNhDCPrHmr1l S1kd36apBhCnabqp6RD0W8/Ze8zWspVsX89z21YAYtS282yVWtHe87+c15o1mNXyVM/q+G62AOKj ONX0XE/qWeP5e80e86iWrWT7g9PptAcQI6tTUVeVeh7fcs5eMduDObRsHXddVwCIk/VpTYee7fn8 yjlb38zNeKtbb9lC7vu+BBAn69OS9p7b+qacw9s5W0bzxWP2li3ks9kBiJHytKS9Z8/5sgznbI05 r1sbzGrZQz4AiJUnrZ5tPLd1vuYcah6aXJPZB/PZU/4FIFYetOe813TOm2GtWaM5n+ZKkzm0bJ// BhArD1o9azpX85SH4Zyto7m6h5jVsn3+B0CsPGjr2XO+V+tw9prDaN4XvWI+dM01AxCza9Ppun3u i/0ynL1m/ToVRnNf7g67+clJAQl4ztZr2S/DWVdt1TyMNx/Nds8uHhwSkIhHobu2hvNtHJaaL/p1 ykbzebflgICEbO2ubcO5rf2qrZp10fbR3HE6QFK6MJx11VbNm1fNJddsILHLdvmqeXPMtATTs9ku 2jlnAyQmt6u2Hs5ag2Vagk2zns0922wgNc9eD+d50hpMNeeTL8FaTgZITutrsCkPNYeVdlHyPyNA eo5lsS61Q82+BGMHBqTnsazBvtf8xcEAyfn6sWbOBUgQNQPUDCDimhtqBpKvudlc/wLG6bLZqjxN 5QAAAABJRU5ErkJggg== ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/Images_tmp/2009/03/20/LDGDGG82.global.jpg /9j/4AAQSkZJRgABAQAAAQABAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg SlBFRyB2NjIpLCBkZWZhdWx0IHF1YWxpdHkK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMP FB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEc ITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgA yADIAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMC BAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeY mZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5 +v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwAB AgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD REVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMR AD8A9/ooooAKKKKACiiopZo4ImllkWONBlmY4AHqTQBLUM9zDbRGWeVIo15Z5GCgfUmuL1Dx5LdM 0Hh63SdQcNfXGRCP9wdZPqMD3rmbvT7jUZ1u9UvJNRuFOQlwAIR/uxjhfryfrXTSwlSprsjjr42l S0vdnYXnxB0tWMemQ3OqydN1qo8ofWRiF/Imsm48VeJrziGLTtOQ9yWuJB/6Co/WqEMqMNm3y3Uc xkdP/rVLXoQwFNay1PNq5lVfw6EUkmtXP/Hz4j1Fgf4YdkI/NFB/WqraTA/+suL+Q9y99Mc/+PVL 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 ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/Images_tmp/2009/03/20/LDGDGG82.jpg /9j/4AAQSkZJRgABAQAAAQABAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg SlBFRyB2NjIpLCBkZWZhdWx0IHF1YWxpdHkK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMP FB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEc ITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgB FgEsAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMC BAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeY mZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5 +v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwAB AgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD REVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMR AD8A9/rkPFXhrTdV1KO9vdSa1dIVUKMYKq+c8/7TL+ldfWHq6JNdmM6St0xh/wBYSy/xjCbgp7jP XjHPHUAhayhuL+xmn1O1a5tg8JUIF8zOVK4LZ6fXkA+xoXttpWo6RpulJq6qtvtiVguXkIQqMHPD cE8emDwSDoReWNQl/wCJNKpN0peXnDHLYkHqBzn8O2Kzog/2+3LeGdr+cuZRuIQfu/m6e0f/AHy3 oaAK0fhPT0uGmOstEwljfoIwPLUghMn7vPvgcVKnhCzgheWPV08swPbl9isvJBBbnBwVDHPUlieC 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 KKKKACiiigAooooAKKKKACiiigAooooA/9k= ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/Images_tmp/2009/03/20/LDGDGG82.zoom.jpg /9j/4AAQSkZJRgABAQAAAQABAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg SlBFRyB2NjIpLCBkZWZhdWx0IHF1YWxpdHkK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMP FB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEc ITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgB JgEsAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMC BAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeY mZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5 +v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwAB AgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD REVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMR AD8A9/pKKKAOH8b+CbvxPeie1vIrcm0a1ffnlSSxHH+0sf4A1px6RqX9j6npssVk0cs88sDec/zi SZ5MONvy4DAfxD1BHBt65BdTSp5Gpx2oEUo2MxUklGG7IPYlT04wTVSOy1N/sJttVjaNUCzkS72d dx5DY5OOM4GT6YoAdpmhXdodFNxOrPp0Xku6yufOXywMlTxndn8B2zgUte8NahqutTXUf2XyDFEi K87qZdsqOySAKRtIUrx03EkHPF2906/fTrWKXVFS7jn8yKV3272ELZU4A3Anccf3eeo4p6Rplxb6 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 ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/evt/cadre.png iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAAXNSR0IArs4c6QAAAARnQU1BAACx jwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABh0RVh0 U29mdHdhcmUAUGFpbnQuTkVUIHYzLjEwcrIlkgAAADJJREFUOE9j/N/Q8J+BXADSTC5mgGv8TwKA WjiqmdgwGw0wYBIlBWAEGBlpHJE8ydAMAJ6V74iL9ihgAAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/evt/leg.png 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 ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/bul.gif R0lGODlhDAAMAPcAAIGf2+jo6ODg4Nra2szM/6/A5MXFxdDQ0NDQ/7i45qWlzqmp06y+4cnJ+729 7K2t2NPT/9TU/7a249LS/87O/8XF9p2v0v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAADAAMAAAITgAvCBxI sKDBgwgHFgDAEEABgwAiQEBAAADECRQdAAhQEACFBgkeABDQsYKEBQoADOA4kEFDABZWFhRwwICB AyQLBhAwYIAAlgYDAL0QEAA7 ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/Images_tmp/2009/03/20/LDGDGG82.wide.seismicity.jpg /9j/4AAQSkZJRgABAQAAAQABAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg SlBFRyB2NjIpLCBkZWZhdWx0IHF1YWxpdHkK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMP FB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEc ITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgB LgEsAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMC BAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeY mZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5 +v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwAB AgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD REVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMR AD8A9/ooooAKKKKACiiigAooooAKKKx/EkurwaUJdFhE12kqMYjj94gOWUEkAEgYz2zQBsVzeueF P7Y1qHU0ulgmit2hR9jF4yd3zIwcAH5u4PSqul3fic6NfQapazf2igzDPCkW1htQfKC2M7t55H59 K0dKl1uS4043yBIzYn7UuxQRcjy+QQx4ILjAH8J56UAZsfg7UlvxcP4q1OSMGI+SXYLlFAbo3Rjy R0570svg28bTLOzt/EN9am1hihV4WYbghbJILdWBX6bR2OKq6jdeMxql2NPtna3UyCESpEASMbed 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 ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/Images_tmp/2009/03/20/LDGDGG82.regional.seismicity.jpg /9j/4AAQSkZJRgABAQAAAQABAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg SlBFRyB2NjIpLCBkZWZhdWx0IHF1YWxpdHkK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMP FB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEc ITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgB JwEsAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMC BAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeY mZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5 +v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwAB AgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD REVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMR AD8A9/ooooAKKKKACiiigAooooAKKKzNftr+80W4t9LuDb3j7RHKDjZ8wyfyzQBp1geIfDa69dad O0kK/YpDIqyxM4YnHo64Ix7jnpVTw7b+KLS4mGsMs6zx7g6zgiB90jFQMZIwyKD6LTtMsPEMdpZJ eXUgkhu2kl/fK/mQndhWO3JI+XpjP6AArL4N1P7es7+K9TaDhWg3sAVDggZDZB2AKT1Jy3cipovC N5FoQ05devFm855jdIziRi0bLz856MQ+OmQOO9M1+w8TXWoXTaXcPBCYVWL/AEgBWfI5xjK4/HIJ z2FU7HSfGsep2z3Ooo1r5h84ebk7duGxwOrEsP7oAAxyKAFt/BeuJHcxzeK71g21Yn3yk4CoCTiQ YO4MRtx1+Yt0qUeCNQTUIbqLxPqEZVkaYbmYz7STg5bAHOMAY6+2IbDSvGMVwjXV6XjERVwLkHLf LnHy8EkOR1wGA424NvQ9P8UW94kl9c7ohaupSWbeBIXJUHA5wON2ckUANXwVcppen2o1qcT2s8sz 3CGRXl3tuIz5mR6clh6g1LH4Z1STSrOOfVVa8W1nt7mWaNpt4lKltp3LgjaADyPal1LSvEN5qlwY 71obSSJFXyZyhRt0YLAY6gCU8nnKg9OLE+na5Jc3LxajMkbG2MSFk+XZK5lH3ejIV75z3FAGbH4C Mf2RkvLaNoJ/N2x2IEa8xn92pY+WT5fJ5zuY8V2tcXqWmeLZ9UlktLwx25lBQfaAoC/Jj5QvbEme ed65ztxRrOm+L5dQvJNNvESJirQkzEDAaMhduMDhZAepO7r2AB2lFcx4b0jWrOZJtXv5riQRMrjz iULmRiDt6fc2CunoAKKKKACiiigAooooAKKKKACiikoAWiiigAooooAKKKKACiiigAooooAKKKjn nitbeSeeRY4olLu7HAVQMkn2xQBJRVGDV7C5ijkhuo2WQkLzg8Zzx1H3T19KkfUrKNGY3UOFXeQH BO3Gc4+nNAFqqWqalFpVkLqYDy/OiiYlgoXfIqZJPYbs/hSvqlhFcRwPdwrLIdqKXHzHnge/ynj2 qC/1jSbVTHfXMAUhTtfkENuK8f8AbNz/AMBJ7UAZdv450q61mbToBK5gWVpZgAUATqRg/Nn5unPy 1S074i2eoSTILN4zHbzT8yg7vLfbjPTk8A56546E9Da6ho8y3D2stsRa580oANnUZ/Rhn2PpVR/E nh2NRJLe2sYZA+ZBtJUuFB5HTewH1NAC6F4j/tqQR/Y2hPkCbf5gdSd7IVBHJwVPOAD2yOamvvEN lpt3dwXTBPs1qt194bnUmTIVe+PLP50kHiDRH8gQ3tv++OyIDjOCBj2GSMfUetTNqGlyag1vI8LX MabiWXO1SP72MDOfXvQBV0bxTp+u3EsFoswaJckumAeASAc843D254zVC48dWdvNqcfkEiyRShZ9 plZgpC7SMr98Y9cNxxXQrc2EbALNbISdowyjPbH9Kpz6vokd09vNdWnn+YsLoWBYORwp9Dg9/X3o Ap+HPFcPiOaaOK2aHy4YpuXDHDruwQOmP1qXX/EiaDNbI8CSCVXclpQhCqyAhRg7m+cYXjODU9vr 2iyZaC9tsGBrglWA/dIQC5/2Rkc1PdX2mxWpvLia3MUJBMhIbYTjH4nI/MUAcyfidobwRyQR3Upk YKimMITkkZ+YjjgnP54rWtPFVveeGp9YWFoRAitJHO4QKTGsg+bpja6nP6Z4pDrPhhJJbn7XYZwI nfI6ZJx9MluenX0NTtr+grA269tBD5hiYEjG4AcH6Ag/TnpQBXs/FcV3qthYC2Kvd2yTn94CYyyu wUgdcCM5PYlfWuhrCTxL4bjb93qFmrKMfKRnBIAA+vGB37Zqe68S6PZ48+/hXMIuBg7sxno/Hb3o A1qKy7nxHo9m7pcahBEyIJGVn5Ckhc/mQPxp11r2mWSSvcXcaLFnzDnO3Cqx6ezqfoaANKiqFlrO n6hO8FrdJJKq7mQZBA49fqM+mRmr9ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRVKe5E0EsdvK 8cpGFk8lmCn1xjmgC7RXDW/xB8J6O81nqPiqF7yJzHKkpbKMvBH3fbn3roNG8VaL4hgkn0i+W9ij bY7wozBTjODxQBsZqK5t0u7WW3kz5cqFG2nBwRg81z/iLVrLStl/qWrvp1hgxFmRk+ZumDjGePww fXitD8UfBM0qQxeIrR5HYKqruySeAOlACwfDfw7Bcm4S3l80xtGSZOMMCG+XoMg9AMe1Pj+Hnh+K IxiGViVK72ky2CgQ8/QD6V0T3IKEJ5qt2JhY4/SuQj8eeF9Du7i01bxVA19G5WWORSmw7mONuODg gdewoAu3PgDSZbR4ofMik2sI5C27YSjIDjjoHOOc8A5zVu88HaTe2iW0ySeUkUUICtj5Y94Uf+RG 569DwRU2jeK9D8QxSy6PqCXscTBZGgRmCk9AeKreI9WtNNgjvdQ1VtNsFJSSRkZeWBA5xjOefwoA e/g7S5YUhlNzJFE5eJGuGKxcMMKM9PmP6dgKp/8ACu9BMcCNFKRBgR7XCYHJx8oHc5+oB7VEnxT8 DuyoviSzLE4AG7k/lXUPdKUIQShiOCYWOP0oAx7DwfpumlDZvcwlSS2yUqHHBwwGBjIHHfnOcnNm bwxpVxPJPNapJPIYi0rKCxEbKyjOOmUBI6Gufj8eeF9CuprPV/E0K30fySwyM37sgk8ArkcEdfQV uaL4v0HxEJjo2opfCDaJTAjNsznGeO+D+VAFCL4e+H4Q222cliDlnyRhGQY9MKxH4A9RmtHUfC+m 6peJdXSO0iSJKMNgEpnAPtz0pmvarZ6dZG91DUXsLKM4klaNlxuBUc49WUj3FZK/FTwKqKv/AAk1 mxAxklsn9KALen+AdB0uN0tYJlD20lqwM7EGN8ZG3OM8DnH5mp4vB2mQWt9BC1xEL3b5zpJhiAxb HToSzZHfcR0wK2XuVaNgvmqxHB8ljj9K5M+OPDPh27msdY8SRJfJjzIZtw8vPIABGehHWgC9J4F0 eVZQ4nPm5BPmkYBLFlGOgJkfP+8cY4xK3hDTyJQJbpTNcC4kIlzvbjg5GCOF4PXaD1qTRfGXh/xE 0y6PqUd6YADL5Cs23OcZ49j+VO13U7KwsJL2+1CWws40KyzFGXbu+UHJHBBIxQBnt8PtDYOCtz8+ zP74nBQYQj3VSQPb35q8/hLSnmt5PLkUW8EVvGgkO0JGcqCO/ce4JFZX/C1vAv8A0Mtn+bf4V1K3 sMsQdPNKsMqRE2CPyoAyL7wfpepXMtxcG4Mkq7SUl24+cNkY78AfQVLJ4W06We6lYTYuYWheMSHa AyLGSB2O1FH4VjN428OeHLprLW/EUcV+qKJIZi2F5LAjK55DDr2A+p1dG8aeHfEMssWj6nHevEoa RYVZioPQnigDQs9Kgsbue4hknHnEsYjKTGrE5YhemSefz9TV+sLXr6C1sjeXF/JYWcAYzzFGXapG 3OcY4zx74PbByl+KvgYKB/wktmfxb/CgDsqSqsOo29zbxzwGR4pFDo4ibDKRkEcVy83jLw/4bv5L XXfEsaXhBYxTIyBVLMykLj0bHXoooA7Oiuf0fxv4c8QXEkGkarFeyxrvdIVZiq5xk8VtwXEdwu6M kjjqpH86AJaxNS8V6RpGqJp19cGKd41kGVO3ad/JP/bNs/h61rPNsfYEZ2xkhccD8TVG60fSdXk8 +9022uJQnlZniVmC8/Lz25P50AVW8Y+HhEZF1a1dQqsNkgOQwJXH1wcUh8Z+HxAJf7ShwZvJ2nht +4LjB57j8Oahg8OeFbaS9ljsrHDhBOrbSiBCQo2nhQCD6cj2q7/wjOgO/m/2RYMxcS7vIUkt1DZx 15oAu6fqNnq1jHe2FzFc2suSk0TBlbBwcEe4Iq1UNra29lbpb2sKQwoMLHGuFUewqWgBaKSigDJ0 8a0ZR9teNY1ILfKCX4bgYPHJU9+mOc5HIaPoFxot3qpu743n227e7i3g/uUYnEYyTwMdsda9GrjN cl8v5QxDPEijHXq2f0qoRcpKK6kVJqEXJ9DkW0LSZmMkul2MsjHLSNboSx9ckc561ZsLC20yAw2k McKk5by0VNx9TtAqxRX0KpRVtD5d1pu6voRXVtBfQ+VdwR3EWc7JUDjPrg1Vj8PaV5q+To1kZAcj ZbJkY75xxV+hHmjVwkmzeecKOnTr1qakXb3ErlUppy/eSdi+Luy06JUvbuFZGOfmP6Usvh7Q7qVp 5tH0+WVzuZ5LVCzH1JIzWJe6fbXgjMyZERyoBxx3B9uK6mMmWAb42jyPu7uQPwrxMRRqU6j5tnt+ p9Fhq9GrRj7O/Mt108rPr5lW1sdO08NHp9haw7jl1giVBx64FF5aW99b/Z7rTorhG52Sorp9Tmru xdmzaNuMbccYphfYRHHHnA6DACjtWJuZyeF9AQL/AMSTTCwx832SPr69KlvLeb7XbTQuqxbgkqMM DGc5HvwB+NXElLOUdGRuoBwcipCAwIIBBHIPek1cqMuV3M6fw9olzM00+j6fLK5yzyWyMzH3JHNT Weladp4cWWn2tsHxv8iFU3Y6ZwOetTASxDAUOo6ZbnHpQIdwzIzFj1AY4+mKZJi6vpQ14vbvF5SR SBRvUSRzLlGJZfquMdfpWYPAGmQFwltZs0mdrNbJ97k8jHA7cflXWJujV4kC7kGU7Ag9M/iKfGHa KMzqolABYIeA2Oce1A7aXMZNCuvs8SPqcqsMmQpk5J54JPFU73StKkYw3GnWFzdgAS3ElujOwwMc kE5xj6Yrdv76O0tXkBLuMAJHhnJJAGB361nzatpci/ZjIyFHG7MbZU8k9uvBB+taUpRjNOSujGtG coOMHZlPTtIt7ZpBptlbW5IG8xoI89cZwOe9WZ9LuLu28m7tYpo3xvidg6+vII5qTT9W0xIfkmfc 7EYZG3E9hgDrgjgeue9WH1/TY03faCwyB8iMcZ/D6/ka6J4yXM+RK3octPAR5Fzt39TAl8M6TBjz dDsUB4BNtGR+YFaAJVQFJAHAArV1G4ligxBAtxIcloieSoBzgfkPqa528uru1KldMnZWHy88g+nP Yev8+p6cPiozfLNanJisFOmuam20U9WtdKlgN9PpsF47lVMgjBcj/e644/pV+y0+yscvZWUFqzgb jFEqEj0OBSWtxNMzCS2MSc7ST9OvHv8AoatV1wpLnc3bW3Q46lb92qavdNu97726baW+Y2eNLmFo Z0WWJxhkkG5T9Qaof8I9ov8A0B9P/wDAZP8ACtGiteSPYw9pLuCfu0VE+VFGFVeAB6Cql1pOnXsx mu9PtZ5SMb5YVZsfUirdFHJHsLnl3K1pptjYSNJZ2VtbOwwzQxKhI9OBW54M0LWNA8Pzxx6gb6a6 vBdgv/BE6DEfzE9MdvyFZE8yW8DyyOFVRyTXoGglDplvsOU+zxYPqNgrzMwcE4xW57OVxqNSm722 C2Goo4eUxSStGu9CNgXA9RnqcnGPx9blrnyizffZju+vTj8qZcKzTosb+W5Unf1444x+NSWuPs4w O5zznJzya809U4saf4IuLjWQJ3MvmGS9USyAhhJKTx3AcSnaMjuRjFdtbpGltEkQYRqgCBs5Axxn PP51xf8AwkHh2O41X/iQuksExSZhZKTO++RScgcj5SxY9n9zXbRSCaGOVQQrqGAIwefagB9JS0UA JS0UUAFeVL4ng8SX19HBbyQ/2bcvZyM5HzshOSMdue/tXqteCeDf+Qn4s/7Dlz/OurBRTrK5xY+T jQdjq6KKK90+cCiig0AI33SScY7+lbsLSrbB7hgXxuO1cY9utZlrZvPIrOhEPUk/xewrVMp3HCgo GCk57/5/rXj4+rGcko9D3stozhFylpcTzmfHlITnklwQP5c0+NNmSTlmOSaao8uYoPusCwHoe/8A P+dUNU025v7i0kgvpLdYX3Oq/wAfT39v1rzptpXSuetShGcrSlZdzRdUfCuqt6AjNYN1qGrQa7bW dvamS03AO+0ngn+92wCK2pLy3iuorZ5VWabJjQ9Wx1px+W4U/wB5SD+HT+tTOPOrJ2sXSmqT5pwu mnv+ZW1K2e9iS08sGCQ5lffgpjkYGOckAdRVddDVIvLW+vQARjExAAwRjHTHP6VqM6oMuwUe5qJU 87Lvu2n7qnI49xWhgY0ejOksbS6leMww6IJCXDYPX26jn1q3aaY9tI0s15cumzaUknLjHHr06Vfw sbYWA9c5UDk0yeUKm6bEUQOTu5J79u1ADFtTK8UxlljC5KxKQq8/3hjnHv3pzQQxEssSPK54LAEk +v8AOppCxdY1baTySOw/zimG3LMxaVjuGDwOlADLa3i+zjMSHdnJ2D5gST+uc/jTzZWxmWYwR+Yu cNt9ev8AKphjoKWgCMwRG4E5iTzgpQSbRuCkgkZ9Mgce1U9W/wBVCO/mZ/Q/41frI1Fy93tz8qDA HueT/SunCRcqyOTHTUaEr9dCpS0lFe8fNC0UlFAC0lFFAB5STukTxearsMoQDkA5PX2FdH4A8S23 ibSbqW1t5IEsrj7CyyY5aNVyRjtzWRp6BWa4cMVHyLhSee54/L86ofAs58PeID/1HLj/ANBSvDxs 1Krp00PosvhKFDXrqelXi71RWX5CeSE3EcccVLBu8iPeoVtoyAOhptysrxgRMFOeecZH1wakQEKA xyccmuQ7jml1nxCZ9Qjfw/hInK20gkBEgDuN5Gc42hDgc5b8ukiZnhRnQo5UFlOOD6cZrmf7P8WB 9TA1m1CTlhaFodxgUtIR6ZOGQc5HydD36dAwjUOQWAGSO5oAdSUtFABRRRQBjadf6ndTBZ7MQop+ cuGXjDfdyOedvpxk+1eZ6T4evfD+pa39saFv7Q1CW9h8ticRuTjOQMHivZa4PX/+QjH/ANcF/wDQ mrswP8ZHDmP8B/IzKTOBk0tMcDYchjjn5Tg17bPnVuTxWtxON0aDbx8zkjPXkcc9vzq/DpiRqGbY 8pHzb13L+A7VW0/UoURknnbfuGFbLEZ4x+dX7i8it3COGLEZwo7V4lerWqScPyPocPRoUoKp+LJC krcGRQv+yvJ/Xikfy1KR9lO4j0AzyfxqraXQvCxlPlODtWMPz0znjr/9aodS1D7A6W6WskwlUl2T 5mHbp3/PtXI4uLszujJSV0S21614s4ngNsY5SsbMc7gOjVZVS8rgzjeoGQhxt/Dn9axJvGmmQ3Jt pYbtX2hsNFjIIyOp9wKkstQsJNUnFrbyx3JTdN5i4yqkD1yDzwPaslLonc3nDeTjZNaGrIRFLE8y q5GQriM5XjJ9fSlnYskbRH52Py59COv4dfwpLiSOKZHlk2xqpYD1PT8evQUWYuHUy3e0SEsFVRja ueM8nnAGa0sZX6EscCRncCzN0y7EmpaTcME5GB1OaiadSP3X7xjwNvT8T2oEOLSAkBAw7EN/P/Jp ogDFmlw7OuDxwB7VlnTX1NPtTyS2ckq4eNSCy8AFSwPI+Xp6k/hMukyCRGa/uGRXVghY4wDnHX2H t146YANFI0jHyrj1PenUtJQBGYiJC0bBNw+bC9ff60iz7V/eK+4dcISPw4qWsi51G7MkTQQNFCG+ czLgv1yuO3TOaqEHN2RM5xguaWxLJrCh3jWJy4+4SCAR68gdKoMzO7O5yzHJNOmkM9w0zKFYgLge g/8A10yvawuHVOPM9z5/G4p1pcqfuoWkqKK6hmmlijkDPEcOB2qWuqMoyV4u5xzhKDtJWf8AnqLS UUUyRCuWDZPHbNOiAmuRD8yr1eTHCj69iaY5IBC7d2CRuYKP1NPgkuoHdQ6Q3OcCCUgrMO2GHfrX Hiq/JFxg9TvweH9pJSmvdRpXk0sCRWtgbf7SQWWKVv4AOTjOepUZ96pfD/RtY8I+G78SwRTzXupN eKkJZ8RSIpGeBzx9PrUS31oYpi0E6XQ3L5JtdxBPJUFQf5+ld3oTF9Mt2KshNvCSrDBHyDg14rv1 PoFboTWrXV3b5uU8kMFZdjEN0ycgjjmr1FFIZzCeDyk2oyDWL4i9ZmZGYFUBZ22gY6ZkPvwOa6OC LyLeOLez7FC7m6nAxk+9SUUAFJS0UAFFFFABXl0niCx1/Urz7F5v+gSGym3rj94jHOPUcjmvUa8E 8G/8hLxZ/wBhy5/nXZgf4yOHMf4D+R1dLSUV7Z86KrMhJRmUkYOD1FNCgEkDBPU0tNRj91yu/rge lTyxUr21L5pONr6IcOGJMcUmcYEgJAwfTv8A/Wp1s5tr+S6y26d90wBOG4A4HbAA6envSAEkKAST 0AGTUgtrhlysD498D+dc9WFC7592dNGriLJU72XkbCeRcKkyqr91YryP8Kwri1htdZubu2J82VQs qt93sT+Yx/ninMkkXJWSPPflc0W6IbqBWjYxsSSPLJBAH+OK894Kkv3k2mlqj1Y5jiH+6ppxctH2 sErzBPPuZWR2DLaOVG0O2ducenGC1Tu2vR2/ym1YhG+Zxg5xkE446+ma2FZWUFSCD3FRm2jycZVS MFV4Brkk7s7YxstXcr2EVy8Bk1CODz2bICLwBgfrnNXaZISjq2flJ2kfXpUlSUV1C27sFjIjIG0I uQD9B0pRLLGA0ygKQMlf4T781MuQo3EE45IGKjklVflDKZDgBSfX2oAiu7p7dP3NtJcy5X93GQDg tgnJwOBk9e1Zcmm3fkkPf3kYQLgxA8BRjoGJOfbnn6Y2ooUhQKoAwACcYzinMyoCzEAepNAHOwJP YLFJHcXVxFAPmMxMSYIxghuSR9P1yTJPdfbpElBAVR8qq5IPv/kVqS2sF9IfPgEsQGF8xeh9s/X9 Kjn06JICYYmcxI3lQeYVUnsoP8I7egrooVYU5KUkcuJo1KsXGMrGZRTLzw/HHAtwkskLebvkjQ4z uPILDk4LcH29eaz/AOx/kkX7ddEMQR+8PykNnIr1qOI9qm0jxK+GVCSjKRorGiOzqihn+8QME/Wn 1SjspEuUlN3MwUYKluDxgcVcreOi2sc0nd73DIJ69KDnBx17Zp8Fq08jeSgBJ+dyOPx9ag1LT7yS RV012ea2dZJUmUqkin+FTjDdDkZ4z24rmq4uFPR6vyOuhgqlX3lovM0be2sp9qiZ3k25Kk4I9enT rWfJDHGpWUJclOEbedqnuMHjn/JqreQ+IEuI5P7PtBalgWMGfMQZxyoyCccnHvjNXbfTJr2zhjlj 8lhxJcJuj3DJ+6p+b8Tj2BFeY6yfxNs9dUHHSKS/rsaS6hp9mUt1xAgIUnbsRCV3AE9M45rX8EeJ LDxNpU1xpxkMdrKLSQyLty6Iuceo5HNc75Exu5RpjPG0TfvvtQdllOMKAxzkDJJx3AFVfgVkeHNf 3EFv7bnyR67UrmOw9TooooAKKKKACiiigAooooAy7G81G5MfnWaRL1kLMQcfP0GPUL1xwc+1eW6P 4fvtA1LXPtojH2/UJbyHY2f3bk4z6Hg8V7LiuE1//kIx/wDXBf8A0Jq7MD/GRw5j/AfyMyikor2z 50DkKSBk9hVexe5uIlM8AimZtoXPv1qxU9lE0t0pTpGQWb09vrWFd8i572snp0OnDpTfsuW92tdb pdfLUlgsLsXAfeIduVLABiQf7vp0HUfhWnExOUf769ff3pIOIgh+8nymhfmuWbsqhfxPJ/pXh1Kk qkuaR9HSpRpR5I7Dt/7zYBk4yT6D/IqvcQ3kl5bPDcrHboSZo9gJf057VMrD7S6nhtowPUc8/rTH vbePOZVJHULyf0rPkc9EaqoqfvO3zJDCCxZWZCeu3HNOVQi4BJ+pzUcNzDcf6twSOoPBH4VNTaad mSmmroim6IR1DjA+vB/QmmXlwbe3JQp5zZESsfvNjOAOp4BOB6VVOrWcoV4pC/lyYZQhyD09PfNV 72WLUmSO3t2knhO6ObG3yWIPOSPT86pU5b20IdWF7X1GXGr6klgzxaRM9xtOF6DI/lnt17d8gLZa pfyQ/Nok0JADMGk6564OOT9aZc3WqpKVDpESowCAc4zk9Pp/k1YXVJvKC7Azj7zsMA/QA/1q1has mmtUZvG0Ypxlo0R22r6hNCztpLgkbkAYjKnHqOv+cdcTQavpsyJN9rBHVQ7AH06VXuL29mjCxXAg YFTuRAScEEj5s8EDH403bp8kaJNpsOI2DJ5ShRkdOOP61csHWir2M44+hJ2uaMes6dIG23kXy9cn GOn+Iqnr13qEUETaU8TOJMSAkE49OaqSJHK7uYIELjDbI1BI+uM0oUDGAOOntW0ctlONpu3puZf2 vClNSpxUrd9iR7ie5VTO2DwSi/dB/r+NRqrtLhSWyOEVcn60tamlxgW5k2jczEbu5A/ya7a044am uVHnUISxdV87Kkdhcv8A8swg/wBtv8M0s9j9l8iWWQvH5qrIqjGQ3yj3+8V/DNbNQ3UH2mAx7ih3 KysBnBUgj9QK8yeLqz0vY9angaENbX9SRUVFCooVR0AGAKVmCKWY4AGSazlv7kSfZTbGS7BOSAUi K9m3c47ccnJ9OazR4gdbmSK5sJJJoC25YQWUcttIJ65298Y/nzHYbbTTGUKkWB1IJ5I/kKcyzyjB 2xrkZwSSRn14xTolJ/eP99gO3QelS0AUTqdlDdtZtMqSopYhvwJ/9CH+c1S+HGjar4W0G+SWGKV7 7Vmuk8ti2IZFXB46Hj8KvQ6bCqMbkJdTNuDTSxJuZW/hOAOMYX6Cuo0ZFSwhRFCqsEQCgYAGwUAW bOW5ljD3EKRblUhVYkgkDIPHY5rC13xd/YWqm2k06W4gW3E7PA26TnzOiYxgeWASWGC6/WovGnjS PwhDa/6GbmW5LbV37AAuMknB9RW1oerRa7o1rqUUbRpcJuCN1U5wR+YNQpxcnFPVG8sNVjRjXlH3 Xomcz/wsi2kkcW2j6hKkXmea2EBXYwVgAGPPJODg4HuM9vWNb+IdJK3I8xbdYJ2iYyAKC+5gcevK OfwJPrUd14u0e1v7eza58yW4VHjMQ3KVc7VOR6nH5irMDdorD0zxbousTwwWV4JJZl3IhRhnChjy RjIBB61uUAFFFFABXlreIrPxBqV79jWVfsErWU3mKBmRGOcYJyOa9SrwTwb/AMhPxZ/2HLn+ddmB /jI4cx/gP5HV0tJnFPjilmZRHGx3DIYjC49c17M5xgrydjwIU5zdoq4RQSXUhjicKQNxJ+o49sjP atuCJYIVjUcD3zzVRZrXTWW3d/3rqXJ28tjj/IqpJf3LvI0UmxTwgKg7fevIqe1xU3y7I9ykqWDg uf4n/X3GlcO9v5kyRmT5CSo9QCf16Vnf23NDM8c+n3HmcsUjw5CgdQehqjeKbnyGmeVzDKsqAHOG HQ/rWhHqjxuTNGrbio3IpGBnnPXpyazng6kNdzWnjqNTS9vUytQ8QRztvht7g+WnyqBtZt2Mjr7D j3FWI2DxI4UqGUEA8EUKq7mcIE3HO1RgL7Cn16uGpezgr7ni4usqtRtbCDIYMpIYHII6iiGS4SNd 9xKX6k7z1paK1lThJ3aMY1ZxVouwMzSOXkYs56kgf0oUmOQSIdrj+IdaKKfJHl5baC9pLm576g7N JIXdtznqcUlLRTjFRVkTKTk7vcSiikAA6UO912ELRRRTAAwOcHocGtfTM/YVz03Nj/vo1jJhVCly xUcknn6mtbTJE8jydrLIvzEMCM55yM9q87MH+7Xqerli/ey9C3KpcKB03DcM4yKYlpBHu2RgbmLH nqT/AE9qnoryT3Lle5thNZy26BFWRSpBXjB69CO1Vbq2mhkSWzgD4i8vbv2kEfcOT2GWHrz3rSqJ mZpNiNjAyzYzj2oFcr2t81wrpJA0NyiBmjdgR36EdRkf5zUemXM1/pqy3qRRu7EYikypAPHIPt60 650uO5YbppkjKFJFRseYDzyRyOSenXNUk086HFbw2JM0UsojeGd+oPJZcDqADx0IrNqXOmtjaMqa pNP4rr7tfP8AQff3N299ALCeGWJV3TQqN7HP3DwRgHB56cd63PAniS08TaRNPaxyp9klFnMJAB+8 RF3Y55HPBqhZ6db2CqlogijAOVAzu5yOTzxk/nWN8DP+Rf8AEH/YcuP/AEFKqKdtSKjTdo7fd952 PifTbHVY4LfULeKWIEsGccq3HAPbP9K1NKSOPTYI4okijRdqIi4UKOBgemOa5rx/cPaWVtM95HbW ocq5eYR7mONvUjPeug0Lz/7FtDcyiWUxglwwbIPTkdeMc1wUqdZY2c5N8jStp7t/JnOsZOdR4Zxd o636O/YzYNVvl1K8t5PDk8dtGXkEqFT5xB4IHTJ4PXP5GpjqVyb+5EuizPBAAY5VXLNlUPAIHd3H BJGw+oqG0t/Fkd9cyXN9YTWx3+RHtIIyfl3YUdB7+vXPFny/EC3l3ItxZtAwHkRPnCnamc4UHqJO 5zlemDn0TUo32r31ndWv9n+GJpo5VLM+AjRnJGCAD1wO/wDED0Bqe18QajLqzWU3h+9iiE7x/aTy hUMwV/oQoP8AwIVLqMXiSSCL7DdWMM3lvv3KSu/cuzHBONoYH3I/Ci8PjZDF5F5pEg8rEnnq+d+6 QgjaoyMGMH6EgDuAdXRUcBl8iPztnm7Rv2fd3d8Z7VJQBj6dda1cTAXlpDAgb5jnqMH7vJ5zjrjg H1rzPS/D134e1TWxdyQub++kvovKYnbG7HAbIHPB/wAa9jrhNf8A+QjH/wBcF/8AQmrswP8AGRw5 j/AfyMthkECnfbZpnaaK4+bP8Byox2xz/k02ora1htIzHBGEUtuIBzzXq1KSnNXSa1PFpVvZwdpN O6t287klzJJc6kswUCAJjD8uGz27AYpaKakiSruRgwyRkHuKdKnGkuRMVetOvLnkvuIzdxC8FoWP mlN4GO1TUYGc4GfWlq4qSvzMzm4O3Kraa+olLSUtUQJRRSE4xhScnt2oAWimPKsYLMG2ggEgZ5Jw OBzUiRm4yIwz7SM7c8flUOrBXV1oaqjUaT5XZ+QlFIy7tp3EYOeO/tVezvob3zfLIzHIyEZ9O/0o 54ppN7iVOTi5JaLfyLGW342jbjrnnP0qKWTyIHeaZEGThyMBfT61MWCgknAHJJqC7sl1GA2u0sz/ AHMHHI71FZuNOUo7pdTXDRhOtCNTSLavZXfyuMjM0dvA3m/aB/EyIMvnoRzwBUFtMbq4MsyrEw3C HrkjOCeuCDx2rV0PR5bSyWHUXV5FOERG4C9s9M962obeG2TZDEka+iKBXlLGXjFpP0ff+v8AM9ue AUJ1Itp6uzXbX0WvptoZdpYm4JeVSkfTBGC//wBatZ4xIMHgjoR1H0p9FYVasqrvI2o0IUY8sSEy GLPnEbez9B+PpWc+r3CzybbRZLcgNDKJQA68Akdc85I6ZFaxAIIIyD1BqILbWcccaiKCMkRooAUe ygf0rI2Sb2MqLW7qRGI0uYkMFHON/uOMY69/641lUpJIxPDEY59sUsis20qRuU5APQ1G4cFXbbvJ 2oOoXPf3P+fWgCQzRjOZEGDg5PeqGqMJ4YliiabbKrlo1DNGB/EueM9B+J4NaCRqgAA5AxnvT6AK DamBGSLS6MgGTH5RBH/Aj8v61n/DzQ9d8J+FLwGO1u7u91A3uyJyQI5EU4ycc5H05rfrc0fP2KLP XyYv/QBQB5j8XdIbWtM0yS+vFtLiN28mFULbwQu4sM8EEDHJ64rv/BNnb6f4N0q1tbprqGOABZmX aW5OeO3ORjtipfEPhix8SRwreGVWhJKPEwBGcZHII5wK0NOsINLsIbK1XbDCu1QTk/j7131cVz4O GHu/dbdtLa/ibyjh/Yxcb+0vr2t0sc8+hWeq3olg1u4LW1xIZFjlBwxdiUPptJIHoVH93FDtpN7f W0n/AAkSySW85wPOXJZmVgvHT7m3pyrEd81tpoemxszLarlp/tByScybi2eT6sxx0ySarR+E9Djn M66fH5pl84uSxJfOdxyeuQPyHoK4DApvp9trWnS2SeIZ5/OQEPHLGXUZzvXaMg8jnoOOO1V/+EGK ROsWvanFI0gkDpJgphWXC+i/P09hWvpvhjRdHuvtOn2EcEuzZuUn7vHHJ6cD8q1qAKWl6e+m27wv eXF3ukZw9w+5lB/hB9BV6kpaACvJofEsfiTUtS8u2aH+zrl7BtzZ3lGPzD0Bz0r1mvBPBv8AyE/F n/Ycuf512YH+MjhzH+A/kdZRRRXtnzoUgGBxS0UAJS0UUAFJS0UAVri6EVu8kaPNtyNsYyc5wRx3 qrFb3wtrmNrjLsm2Mlj8rYPOce46dMVpcCoxKDMUIZQMZbYSPwxWUtNZM3h7ztBfeQ2NvqiX0flX sYULsG9ckj5Sc8dflP5/ltTWV+ZTLBfFWYgFW5ULgZOMdcgn8azWXfxkjBOCpI/EVuWE7XForuMM PlPOckcZry8bSs1NbM9fL6ylF03ujhtWh1LT7KSU37CeJiGUkYky3BHHXkVzujR3c2qKscqxHYfm Q5Y47AHjOPWvV7vSrO+/18QYFlZx2fbnAPqOf0qjPpGm3zPcWSQfbIPkR0YhUYZ+Uhe3NebiF7Wt Co3tbS7+du3yPfwVb2GFqUIrWV9bLTsnpr1326GNbWYsr2W4lldjKQi7mz27+/FXIA0WoruSUxYL rJE251bkEbSD8pB7dPalv9KvZo0tdMuWguYEVpWkVvLfIOMMVOehyB0yM1Z0ex1q0RReS2Lthd7R q25ueeT7Hjjr9a73iKXs3TjF66/fqzxvq1Z1FVnNO2nySstLfqO/su3lt1ULfYRdiszkFvvdR/wM jJFPgsYIbxN8t0ZYTu3NLkN2A/8AHsVqxxmMyEyO+5twDY+XjoPaiWFZVAJKkdGGMj6VyHYweXbA 0qK0mFLBV6tx0FLE5kiR2RkLKCVbqvsarxp9i2QxxgW+eufuk5J/X+dW6Wo3bZBSFQ2MgHByMigk KpLEADqTUXzTE4JWMcZHVv8A61MQksw3+WHKAfefHA9skYzRGYN2VkV2Hctkj/CpUQIuFz68nNDI r8Mob6igBBLGwJEikDuDUEtxF50Y3IHJwjSHAyeMD1P0qwVUkEqCR0OOlU57I3l2TcInkoo8kqxD 7s5bPp91cY96ALO+Xn5EbHXD8/yp/wAPvE8finSbyeO1e3FncmyZXYMWMarluOmc9Kyz4dssDJmJ CFAxfkDGKzvgSoTw5ryjOF1ucc/7qUAeqUUUZoAKKaXUPtLDdjOM84oDoRkMCPUGgB1FJuB6EUbl 9RQAtFIDmloAxtPt9cF2z6hewGHeWEcSdR83GSB6qfXjHqT57beGR4a1LVCLv7R/aN09/wD6vZ5e 9j8vU5xjrx9K9brg9f8A+QjH/wBcF/8AQmrswP8AGRw5j/AfyMVpmNwbcRuuU3CXHy59PrTbKCa3 t9k85mfJO4/yqcorFSyglTlSR0NLXrKn7/PJ6q9vmeI637v2cVZO1/VX67rfYKKgMc0omSRgiEjy 2iJDY96mLBcZPU4qlO+trIiULaJ3fkLTS+SyKfnAzyOOen8qdHBdPK22J2VgCgK4A69T+FLHbXiv 5MiAuq7jIThSOOh9ecVk8TTva5usJVtdREOcHHXtmkDqWwGBI7Zq/ZacjxrLdRESBiQpbOB0wQDg 1HcafG9zIkELxPGoeMlQI2Y7sjPrz/KuZ5hBStbTudUcrqShzX13sVSoOMjocioZLZXt5YVJjEmc leuT1NSBiseZcKwHz+gPemvKiD94SgIBDMMZz0xXZKVNr3upwQVVP3ejHIuxFTJOBjJ6mtTSGL2s qk5VZSoGMcYBP15JrKVnEYkkj8uNmZVJbrg4/D6VoadciM+QUkIdsqyqSBn19OnX3rjxcozo3h0O /AxlTrtT0bRpksHVQnyEHLZ6enFMgtoLbzPIiSPzGLvtGMt61NSZbcOBtxyc968iy3Pd5nayFpKj 89PtP2f5t+zf904xnHXpn2qSmmS01uLRRRQAhAYEEZB4IqERyxuSj71IA2uenvU9FAFKWSSOYecM x/w7TjJHOcfl1PvVKTV7pR9qgtUurJ3VEMTfNyBlj1GAcg/SthlV1KsAVPBB71WgtYIp3WOJUVR8 iAYUZ6kDp1/rQBWtNRvLySdBYtEImwsj/clHP3enp1/lV3M7kjaI1z97dk4+mMZqeigCIW8Y/vE+ pck/zo8pl+5Kw9A3zD/H9alpKAGRyb8qw2uvUf1ql4P8KX/hnw9e22mahHLPfX324ySRbRGsiqSo HzZIx14zntVyVSNsigllPbuO4/z6V0WkHNlEf+mMX/oAoAo3elwX2lpD4jEV6m5W2eWdquFxkY59 fzqXQtK0XSxONHs47YSY8wIrDdjOOv1NbBANGBmotPmvfT0/W/6D0t5mLrA0aO6SbUpVgfYCsrsV UKG/vdBy315rKhsPCsMJSO8CorFdpuDwSTnrz611ctvDOMTRJIPR1B/z0FRDTrIAgWduAeuIxzVi OdeDwzaOoe+2Blb5DOcFQORj05H6992Y00zwtcRyxpfkiXazFbthnABBznnjGT3zz1NdKNMsF6WV v1J/1Y79f5D8qX+zrI/8udv02/6sdMYx+RIoAzrLVtDs4kt4NSgZW3OmZd27+I4P9PSpl8S6K2ca paHBwcSg1bGnWIYMLO33AYB8oZA/KkOl6exybG2J94l/woAt145pniO78RalrX2qOFP7Pv5LGLyg RuRCcE5J55r2OvBPBv8AyE/Fn/Ycuf512YH+MjhzH+A/kdZRSVGvn+fJv8vycDZjO7PfNe03ax8/ GN03fYcS4c5A2Y4IyTmrdvLZ29i95MqvIm5wFG5zjIAUdye2KqPIibd7Bdx2jJxk+lVrkq08cYK5 BDEE9R79/pj0rlxceeFrnZgpOFTmt0/pktk+qss9xb6gLhGcukRj+bBJYDHVcj5f/wBdaujNfTaZ v1L5biUkhGA+UYxjGB6E/jWdZx/ZJbi/kgEIgQE+WzfOmTnIIPbnj861oLm01C0i1FomRI9zo0y7 Soxgt9MV4MrRny3/AK7n1EE50+e273XfsStOZIrlYxJC8eRvaIkZxnIH8VPZIZfI80K7Kd8e4YO4 DqB+NZ1nbpLJI9ldRG0mcTlQCxbOQ2TnocVosgkgIUK7qpVS3HPQ9On4VMW2rsqpGMHZP/Mb9ih+ 1/aMc4+72zzz9eafPbQ3KqsyBlR1dR6MDkGnASFcME5JBwT0/wAelQRPDOSkV0ZAByoIPGSOuM9Q R+FaOV9GYRjy3cQsgpWfEBiBmfOej8/eH1pt+9zZ6af7PtRNKgCpGWwAKsyyxW0DyyukUUa5ZmOA oHqaxW1W/AaZLSK6tnYGFlYjK5bac4Oc/Jj659qmSurXLhK0k7XXbobETym0SSWLExQFo1I4bHIz U1YX2zV3lS4GkH5VZdn2oAHlccEcn73X0963KaJk09UFFIFActlskAYzxTZZVghklfO1FLHHoBmm SSUmQelUrnV7O1Z1kkJaNwjhRnaSCRn8BUUWtaZsPlzqqqcMAhG0k9Dx1yf50AadFFFABUcke8ZD FGHRh1qSigCD7R5anzlbcDyVQkfXjNKsryqDEg2nkMx4/SpqiXCXBUDhl3cdMj/9Y/KgA8onkyvu 9Qcfp0pYnJBVj86nB/ofxqSo3U7ldfvL29R6UASVT+F/iW78TaNqU15FDG1nfvZRiIEApGq4JyTz zU1tGsURVWkPzMT5jFjknP5c1z/wM/5F7xB/2HLj/wBBSgD1KiiloAKKKKACkpaSgApaSloAxtP0 COwuXna6ubhi/mL5r/dPzemAeHPb+QxxVxoVhoepXJsImj+2t9rnBctukZm3HnpnA4r06uD1/wD5 CMf/AF7r/wChNXXgV++Rw5i7UH8jElE0fmypmXIGyEYXB7806Vph5flIpyw37j0HfHvU1NcMyMEb axHDYzivYcLJ2bPDVS7V0v6Vunb7/Ujj3ypmeJVcN93O7HoaihtRBeSTx+YkxXAn38nnOMe2BRcQ 3T3MDwTKkan96pXlh/nP51arL2canuzjt3trp/XY29rKiualK3MtUr6a7P8A4d6b6jBrWo2s5E6Q 3MJxyh2unb7vOc4PPTPFW/7YedbYx2e2Fm/0jzmCeWh4yQevf8veqKRiTbLLEFkwQRnP/wCulkRG Zd8YfdleVzgf4cVwPLdG1J67HprOPeinBOy183bfR28xnilLux0+OfTbowwQH5442C4y2FwB2ySK 0tC16PV4gvlyrME3MSmF644PesH7Ys0c0MYMdvMwiYtHkFw33cdcHP8A+qta01O20u3lWYsq+ZkR RxfJEp7DA9Bk+59xXmvCzhUdSErx/r7j23jqc6CoVYWqJuz236Pu7mvNLJb2uA8cly2RGJCEDtyQ KTcLOKeeZ1WP75LycKe4yeg6Yqnp2rRakm7yJH2y4RzFgc5wepxgDBP+NXbgwyo9vcw70fOECl9w 98DjmhpmUWtnt1I4ZxfWCM8bLvYDa+Du55x6rjv3FWn2qiKIty7gMKBhfQ/hWdbTRzRTLp0kRe2B iWBeER+eD6j/AAq3Zm6Syi+3GI3AB8xo+F7+v4UoyukvxKqQs29tdupO+/K7NuM/Nn09v0pF2RsI g3zNlgC2T15/DmmW9x9pjdhHJHg7f3i4J4Bz+tSgg8bgTirWuqMmmtGKc4O3Ge2aiuLcXCopkkQK 4YhCBuA/hPqD3rOHiCwDuhcqkZZCxBPI6dAcggE/QVZh1axuJkiin3O5IUbGGcZzzjHY0yWiyttA q7VgiA44CDt0pPstvgj7PFgncfkHJ9ampB7UALTHkCEDBZj0A70jyFSFVdznoM4/OljQrlmwXbqR /KgBvn7c70dcc5xkfmKkBBAIOQaiaDN2k4OGClGznkdcdcDn2o8nacxNsPp1U/h/hSQ3boTVEVMm HAaNlJAzjkf4HApUlDD5sKwOGUnoakpiGRsWT5sbgcNj1pQSScjAB496jXK3TgfdZQx+vT+QqagC F/3cqsOjnaw/kf0x/wDqp+ieEdPs9ClstOe4s0upkvZWjkJLSMqk9c8HA4HpRIm9cZwQcg+hrf0Y k2EJYYPkxZH/AAAUATWFhHYQhEZ2baqszMTnaMDqfQD+uat0UUAFFFFABRRRQAUUUUAFeG+GNQvN Q1LxL9suprjyNXnhi81y3lxg8KuegGeleyQ6vZTzLFHNud2KL8pwxG7ocYP3G/KvE/BysupeK9yk Z1u4IyOozXZgf4yOHMf4D+R1dMdFkQowyrDBGcU6oo/ME0isCU4KsSPyx7V7Mn0fU8CKesk7W/rQ JIS80Mm7AjJOMdcjFTVFJMI5oo9jt5mfmVchcep7VIRkHHFKPKm+X5jnz2jzbW09Lv8AW4VFDE0R kLTPJucsN38I9B7UscTCFElkMjjGXxtyfwqRlDKVIyCMEUW5rSa1Dm5bxTun5flfX8iITwFkxIpM h2rg9cZ/+vVa8d1MXlAs0ki+YEXeNvcH06/pUqWEMNv5MIMeAwVgfmXPXBp9tALaAIOT1Yj+I9z9 TWDjVnZS09P69TrjLD025Qu9dE+q116rtprqNmVdrSTDKIuVZzkpxg49OK2Df2djaR/v0LOGVXCk hmUH/OM/Ssb7UxgW4WJjFsJK4y+ewwPxpDf29tJFcMo8tH+8RgAjjr27jp2NcuKpwnG8ZWsdeBqV IT5ZRcr6ad19/r5nQW6W87pPbSBPmLSLGoXzGxj5hjNU9T1b7DcmJrSWWF1ClwhYZO44x0PCn9M9 q0ba4ivbdLiI5VwQCD+B5H0qGxsktbi6IV8yS+bvY5ByAOOf9nmvKsloj2eZy1ZmQ+IYA0pjsLmJ crwyBclgTn8h6+lSQtBf2UqW0jQxy7Y2Fu7boiecYXBQ88nIxWib5WvWtYo2eSMr5hPygKe4Pf6V RtY4YpbmOy8sW3n/AL142O8ufvDIOcjj88dqhyV1Y3jTdnzXW39P9C/cW8UkZS5ijkhbG75OmOmf anl7SKaNC0KSvkxg4DH1xVSOxewitkjkurlhJhnebnaTkluxApJtPs72aC+gETvEx2sBvUjuMZxm nzSttqZ+zgpavTXX8iZb555bmK2t3LQgYeT5UckcbTzmqo0meZhP9oazlkPmSpbtwXKgEdOcY6nr 6VImsRi9a1nBgIl8tGkXAlOP4fzH+TWgqMssjmRmVsYQgYXHp9acZJ7O4qkHF6q2hS0zS204uWvr q6LgDM77sYJI/nWjVOC4u3vLqOe18u3jx5Uofd5nrxVuqi01oTOLT1EY7Rk5wOTgZp1FFMgqKXku sTQCMAsEJIbeBgg+3fjrxVuo5h+6J/ukNx7HNOEiFygdS4AYrnkA9Dj8KWw27kUKCJ5EHUndn1z/ APqqemPGGbcGKtjGVxyKSFmaMByC6/KxAxyO+P1piCaVIIWlfdtUZO1Sx/IVj/BnUb3UtC1t727n uWi1eaGMzOWKRqqYUZ6Aelblcr8F7iOy8N689wSgbXplXIOWJCAADqc0BpY9Xoqva3sF4GMD7toU nIIxkZHX2qegBaKKKACiikoAWiiigCC3s7a0UpbwRwqTkqigD17fU1xWvADUY/8Argv/AKE1d5Xm 1/q1hquozfYblJ/sv+jT7c/JIrNuU+4yK7MD/GRw5j/AfyIaKarq67kYMPUHNOr273PnmmtGFFJT GmjSWOJmw8mdo9cdaTaW4Ri5OyQ8Z7imyqzxMqPsYjAbGcfhTqYYgZ1l3vlVK7Q3yn3x60pXtZFQ aTv/AMEcCQVUgnjlqWgjIx60VRLZWujNDaf6OVaXIAMnQ5PtUOoWiXcUTSSMnlsGdoyOAOvWr9Ru QhBEZYsQp2joPU+1c1ahGcWpbPodeHxU6Uoypq0k27979PT/ADNDRvPlR2eOOG0jcraxx8fKMjcc dc56U/UbgwzQxvZT3aSSqVKKNsZ9+/vzVbTrxYbt4XchWGTkEAE9OenYj8q2yFAHYZz6c14VbDun 7l/mfTUMWqz9o4/L+tfPzKbyQRGK0S33FQWWIAHaF6d+M9qhl0K1kvoruMvCySeayxHaJG9WH5/n VM6A0fic6wJXcEgCJe2RtJJJ6D0reZlXliAM45PeueMee/OtnodVSapcrozvda+r3RAXmS7dZDG1 uUypAwUx13ZPIPbAqA3NtY28aW8QMJRjH5WMZHOABzzyeAehq3Nbw3EbRzRJIjDDBhnI9KcsaJGI 1RQgG0LjgD0rTlZhzxsr/wBf8EoGCG6vY5LmxUTRgESMAwORyFPsfYdKsxMySLFIxPy/LgcHHfPr z+lQamwiitwlp548wDaMYRcEEn2wamURxW0EU7rG3CJyFy3bA/pSTSbQ5JuKf3ISfUbe2vIbWUus k33DsJUn0z0zVqs37VIzJKWf7KzbUkAy2TgD5dvHJP5e9M/taSDWBZ3UOyKTCQyr0Z8ZIPP0o9ol uyvYylpFapa/15dUa1FFFaHOQ3EiLE6FwHZGKrnk4HOKQRlG3whCGAyOg+oNZ+q6kmlzrO9pczEh UDJyoyfrwf8A61XnZoGPlRlwyk+WpA5yOmfrUKaba7GkqclGMujJkkDg8EEcFT1FOAAJIHJ6+9V7 mBZdpdC65G4A9hyD+BqVnLxMYSu/B27s4z71TdtWRZD619Otra70+ATQxyoI4nUMoIBCjBHv71kL naN2M45x0rQ8K6vp+r6e76dcpOluVt5SoPySKo3Lz3GRTEbioqKFUYAGAB2paWigAooooAKSlooA KKKKACvBPBv/ACEvFn/Ycuf517Hp1zrs91IL2xgtoFk+U79zOmG6YJ5zt6+/rgeY6VoFz4e1LW/t c1u/2+/lvYvKcnajk4DZAweOnP1rrwP8ZHDmP8B/I00BVmQIqxj7uO/rxTpN+xvLKh8cFhkZpvnR A4Mif99ClEsbdHU/Q17Sta1zwG3e9iKRbk3UTRyIIBnzFI5Ppip6aZI1GS6j6mk8+H/nqn/fQpRi lfXccpSkkrbabfn3GWsUsMOyaczNkncRjj0qem70/vD86aZogcGRB/wIU4pRSihTlKcnJrV+VvwQ +oWnwqMqsVL7TlTkds4x6077RCZAglQsQSBnsP8A9dOMiAZLqB7mk3fZjiuXWURSqlgxAJXoSOlL VKS7lGoRxoIjbFSWk3jIP5/T86dFciOSOC4mUzMucgYVue3vWarxu1trbsavCz5U7p3V7LV21+61 tbluo4bqSDMO1SOCqupMeRyCB25oeeNf41JyBgMKw9T8SR2jvFHCzSqQBvHykevWscbWo04c1V6H VlmFxWIq8mHi2/W1jrnm1C+sJzalLd9uI3xuye+P5dKtWoufs6JLMjyqoDkx4JPTOM9yCa5Gz8Q3 UFshs7NHZwryRZOEGcZH1/wrrPtUFwqoxgMToyuyyjHoB+WfpXztWr+/SpRvF7u+i6rTq+j7dT6S NOpCgo1bJ3fa+mj+Xbv0GSXNrb6cbyS8Y26jJlViRnOOMdee1TRXYdLZlDyLOMiRF+UDGQT6Zpph torE2sMcJiAwInb5cZ/GnSTQRW+wSxgLhcbgOOB/KtVzX1Jfs0tE9393T5kjRxQwkhBtRTjvx1Ir JOoaRFqEFjJ5ZnkKyqWQnMhACnkcEj3q/JNDHHIqyRlGU4G7ocdPpUjx2byxzyLA0sf3ZGA3L9DR OLa92w6U4ptzv8n1GyR3ELk25RoyuBG3AQgcYx2z1qtawX6iG4ucNcNnzYkI8teOCM854H5n8Lkt 1biJi00JGOhYYNRx3LKoBhUJkhdsgJx2JzjHFHJre4lUfLay/UmWdXMYVW+cE/dPGOuewNNuH3P9 nUrvdGYKx4bGODweDnBqNry3iYSGZEVztYFhw3Qf4flU/wBogwT50eByTuHFUQnZ3sMjeGRXhMYC wsEwR8ueMY/Sh5oop9nBlYb8c525AJ/lXN6FqdpcXmpvDJcKks+Q0jjaW5I2dOuDkfSugnuIRbbT cIXIwpDDJb/IrBWrQV+/5M6K9L2M3F/1oWVkR3ZFdSyYDAHlfrTVO2SXgk5DY9eMf0qK0igtYQiz eYx+9K7As/uT3rE1PxM1hq8kAtN8MQhTzg/AMrEEtx8qrtBJ569K2Wq1OeVk/d2OieSOMqruqlzh QTjJ9BXO/Az/AJF/xB/2HLj/ANBSs+98VHEck2jpcTW75CxSFyrBNxCfKN746AZ6clRg1c+Flvqe m+CNRvNPgivJL7VZbmKPftxGSFO7OMH5D3PUHnpT1E7WVj1aiqlg99JCGvo4o3Kr8iZODjnPPrnH tVumIKKKKACiiigAooooAKzp7RLaGaeJJpXC5Eabct7DNaNJQB5rH8JfCWvT3Gp6loU8NxcyGV91 5JuZmOWJUY2854rqPDngjRPClrNbaNDJbwzP5jqZC+WxjOWz2roqWgDkfFXh6z8RRR6Pf6XPe2rf vg3neUodRwCyjI6n/PTLt/gp4GtriKeLTJllicOp+1SHBByP4q9BxS0AU3tAqFgZHI/hXbk/mK4J vhV4W8R391qeraDPFcXEjOxN6+WbcQcqCAOADxxzXpNJQBzfhzwLofhOCeHRYJLeOdg8gMhkyQMD 72cVD4r8P2mvWSaTe6dNfW0rbyPNMShlBIyyjI545x17811VFAHncfwQ8CRyLIulzBlIIP2uXqP+ BV3L2aqhYGRyBkKAuT+Yq5SUAecN8LPC/ia+uNW1bQ5o7i5O9nN3KpZskHK/Lt4Cnp39q6Hw34B0 Dwktyui28luLkqZQ0pkztzj72cdT0rpqKAOX8T6Np+s2g0O+tXu4rsF/K83yt2z5vvKMj5ggPT7w 69KwF+B3gIqC2lTBscgXkpwf++q6TxRoV5rE1pLaTIn2ZJCY3OFmJaNhG/B+RthBxz068isx/Bkj zvdeVbfaWeaXzNxLBzc+YhzjqqZUHtnA4oA6xrRUjYq0jEDIAC5P6Vw1z8MPDPivUbjV9Z0WZbqf GX+1yKWwNv3Rt28KO3evQ+1FAHL+G/h74e8JPctottLbm5CiXMrSbtucfezjqelT+JNBtta0mbSr q0e8trhCWj83yssuGUFlGQCQOf510NHegDzr/hRvgL/oFT/+Bcv/AMVXdJYRQQrGjuFRQqjg8D8K t0UAee3fw18N+L9Qk1fW9GmW5mRcv9qkUkglcFQFx8qqc45z7c7Hhv4deHPCc082i2stu86hJCZm kyAcj72cV1VLQBzniTSINR0x9Lms5b23u1ZJIw5jHAyMsq8AkAZyOvfpXNj4G+AiBnSpgf8Ar8l/ +Kr0aloAoW2lQWdpDbQM6xQosaLwcKBgDJHoK42/+G/h7xhqkup67ok6zkeWHN2ykhWYD5VwB8oU 5/2sdsn0GkoA43RPhZ4S8O3Mlxp2m7JJE2MZXMoxnPR8gV1NjYW+nweTbIEjHRQAAPwFWaWgAooo oAKKKKACiikoAWiiigAooooAKKKKACiiigAooooAKKKKACsXxIllc2VvYX8DTW95cRxFBIyc5yOV 57e3SiigCh/wrnwr/wBAxv8AwKm/+Lq9p3hLRNJ8z7FZmMS43ZmkbOM4+8x9TRRQBYvLKztbKe4F tuMUbPt3kZwM4zXJW+ieGNc12eKbSnadtzs/2uUZwcdAQBjpx+GRzRRQBr/8K68K9tMYH/r6m/8A i63BpVkAB5PT/ab/ABoooA5/V9X0/Q9WjhFrmSNBLuErDG7K4Iwc8ZP4H2z01ncfa7KC527RLGr4 znGRmiigCekoooAWiiigAooooAKKKKACiiigAooooAKKKKACkoooAKWiigD/2Q== ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/Images_tmp/2009/03/20/LDGDGG82.density.population.jpg /9j/4AAQSkZJRgABAQAAAQABAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg SlBFRyB2NjIpLCBkZWZhdWx0IHF1YWxpdHkK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMP FB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEc ITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgB WgGQAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMC BAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeY mZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5 +v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwAB AgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD REVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMR AD8A9/ooooArajE8+mXcMYzJJC6qM4ySpArzSDwX4h0HSYW0p0jnnhjS4ttKhitAjJG4VzvZlc73 G8j7wVeDjB9RllSGF5ZG2oilmPoB1rCtvG3h27u7O1t9UikmvYVnt0Ctl0ZtoPTj5uOeaAORg/4T W6vNTkga7cQzSJgyxLFJteMhYgcMDxJy2AQRz6PudN8XzPqV/HbXUVzcKkcKpcReYkf2h2253Y4j YdGHoDXd32tafp15a2l1crFPdNthQgnccgdunJA57kCnLq9g+rNpS3UTX6Rec0AbLKmQMkduooA8 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 ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/ques.gif R0lGODlhEgASAPeyAP///8q2jOjizbKrhdfJrfjz6mWDG5/PPvv69+LXwYC3FOPYw/j28bGphMO3 nOLWv7LXZ5/OPsK2mLLWZ2aEHNnKrurkz/Pv3fj15H+3FLPXaLqskWOCGYhySMG0mKDQQODSuo24 PYOHSufey56JWNjKruzk1e3n1Pr553+2FNzNtN3PteHWv8CymImxN+HUv4ORPejfzOTZxNLnpIqT Tf37+O/y2aWNX/Tv54ZwRfz496S0ZPXv5cW6n8S2nfj078e6mfXy4KvWU2eDHX2iMe7r16y4d/n2 5sq8oengzmiaDsXYms/Hq/r38IC3E9PIrMe6mqKEW/n18/r59evj1O/q3q/DfOrj077ZjP79+7XY a7PAf8evgP777NTFqfLu5ffz7auTY/fz7uTZxfj15aS1Zrauiv/+/LevimSCGrLXZuLXwn62EcW4 mPz79v7+/N/Xv97PtbegcvPv3NnLr/Xt5NnLsObmy9/mwOPYxJC4QaXUQ5C3Qvr357qxjZ+uXOfc ya3Be+vk1ZO6Qu/p3Ma6mXqCJHeNNcO3mJO7SY20PPPu5c/ApL6wlMa4nd7Rt+PYwt/Rt9vNse7p 2+DTvJO5R/fy5+TVwPj18PLq29rMsdfIq8S3mIWlQ865j4lySuLWwa3Ceuzm2NvLs4mvQcO1mZS9 SOnjzv///I21PcK2mbyykFaBAnJZJIhySo62P+jhzK6XZ9EAFAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAALIALAAAAAASABIA AAj/AJ9wCUCwYEFPcrrIWigLyCMAECNKjEWGoSwoBAAg2MigI6YpWcIcsVjICwAxP8AkePCAkqg3 N/pYbMPozBcci8YsyAPKRI0oKJaEsiGLExI3k6oQWpBgDYskOkgYCTGoUxFEjppcEUSFToUKmyBJ MaRHyx4lZiSUKgAoxogSBOK+sMJHw4EUQ1Z5aMQjgYwFmuyoGPUnFYQDTgwMOOVhQyZJK+JEAnFp x6sJHzJwaCBAVosNqCwVGF2njKIJERRQGNBZloRWOTp0+OQKhqnDChRbYAhHlQMHPnrQcKEh8+bW CzHMuXAhyJZKalKvRm6RIakZQtjorl4dDxEsidJwFeZePRCrQyLQwCJf/Y4fJicwsJcVEAA7 ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_en.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwTCRgNt8hMLAAAAn5JREFUOMutkG9MzAEYxz/36+rc oaJoaVp1CFeKDrkXCLeZZSkuYTX6Q2SZ9EJrTV6UmWZDbTYxW0RZS9ZM829lO6NQ7m5K3WVJpdBM Xa6z38+LZLLJmz5vn2ff7/N8ZJ37jkp+hTlYvvwgNbeGF+Ye/qSyKJZFGSkAvC25THx29YR5hMaX M1oF8x7exSfrAIJlQTi2PRn4tzzDWJHKqWw9KqUr/0OldOXkrlDKp1tQ93eirirF7BuMsK3Mxvnl cfQ2NNK99whZmwNpqk5n3aqAf4atjZhPXaw3CcZb+KYk4FmQy7ESI1GJV3ARPdfmN7YNcM/pRUjk YhQXivGe7kpaXgI+c93xmaVkZs3Ymw6DgRWzBbL7njDHYxr+xYXUD0BMejn3GtoRRQlZ5V2zNN4s CDI2hPkiNL1AuWwJbv5+iA4HJvUaAELbjQwZm5B7zUIVruHrNwcPjFZE8XcEsraNBmkyV5IoMWJu BUAZshiZIJvUreyVt0ZiCpGrwpYypRf+7XCTTo3HTAX2Zgs/Pg8yQ6fFtFA35tD6FEGhYLTrAyOv 3yBqI3jU0jvBoTw+swIAtf9sSvKjmSE56c45i72jk9pQPUtEK/N+Ldc1dGD7OMz+HeE4++r5knQQ af1Wjj/ox/Z+cOwouVwgMymSl7fT0Tn7sMYl887NkzSXlRwrMzFkH/3dPmQf5fDJWvQp1xiI0hNw qYgVZiN3gj9xKGYpcrmA/HFZMpFB7vTkFvD98yA3dQZOV7diH3H+01P983doYy+Sl7GerKvnGKqq JbO0nC2J0QghvW1Yt6dinRvI7mENJ26YJg0bxz7iJKfoPrqdpXSFrSboegmajmZ+AuL29Xf4F5k4 AAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_ar.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGBzQnOBtk8wAAAXRJREFUOE99k09v00AQR9+s139i O4qcIEWq4IJAUb8lX5ALlyCaSw8tCBoc12mceG0PB4qrmjhvDyuNnn6andHK8hMOg+ES+nzLq+r/ dHQWeT4jGAypnSFA2RZ0dEPlBUEsgshIoBGPzF/wPlphRNg8fSVvt3TaDlUAVBA7LP7DiGHuL/iQ fORteIUIiLRsDvDbPdDp+U5HZzcxMav0mswP+anf+N6uyYKAVXrNxMRDvWc0MPMXZF7KQ72lCabY eMmvekvmpWT+Yqj3jD45sQnTMEEn79DIJ7ARU2KSJiCpkqHeMxrYakfghcwmIXtOoMqbdEm3P9KO zA8uBUqLinCVLJEgIbIx7rjjfn9HK+e3DBcCd3VO4Sr8xx9EYUQlhuPpQOFO7Op8qPeMLqV0BTfl BitzfDfDq6d4zNmUN5SuGOo9ox026rivblnna2L5u4SDPnFX3dKoG9gvWBRV7X/rK0pX8CX/jE8A gKOmbB7Rszag6B/VVIr9sxEqtgAAAABJRU5ErkJggg== ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_al.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwTCQ0033giMAAAAQZJREFUOMu1kz9Lw1AUxX/35b2k NrSgg1RL164OHXUQnPRT9Hu6ODgIgiBufgALDhIpwWpe7nVocJAMidQznvuHczj3ysP+3NghHDuG byMVeNGKPYSbquTEDwB4jBvOQ84HxrELrWpaFwpw/bWmNKU05bYqAZg4z0orcnEsBwfdFQqQiXAf NzzHT7Thn4C5zzgLOdLHMsC7KtHgzeqfYQOibWu9Q5kmgYnzzFwgQUgQZm7LTZPQLxSAFOEqHZOJ sNIIwJHzXIQRhdX9FBqgGIXVLPyQaEY0Y+GHFFajGNZHoQCX6RgB1qbcNSmfhpyROKzpaZ3t8imv jeVD5/922L/RZdG/vd43OG5Y3JkFfnQAAAAASUVORK5CYII= ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_hy.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwFDyMwou2b9AAAADpJREFUOE9j/M/A8J+BioAJXYBS MPgNZAxlKKRqGDIyMKyiqoFU9zLVDWQJNT6OLkYRYPw/czRhUwgA5jEJa+rzVbgAAAAASUVORK5C YII= ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_bg.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA4ADgAODYf054AAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwTDActRzegkQAAADNJREFUOMtj/P///38GKgImBiqD wW8gS9iu+dQ1cPXdCyMtDN1vP6SqgYzX1IRGEzZlAAAQnQwytOf2AQAAAABJRU5ErkJggg== ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_cr.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwFDy4TtSSUywAAATZJREFUOE+tkr1KA0EURs+dZH9c ETH+JEExINqrYCtY6MNo5cOIb6EvYBOxs0gqQVFDTKFGogRF1p3Njo2E7IRdQTxwm28OH8ydkav5 suEfKdrBKEnRIXZcIsdnIIKnv3CjEBVrWx2SW/hWXaZTqREWB0RzDrOhoXrdpvRwa6tDlB2MErs+ jyvrDIzBcTRRbRFVLNhaCumfnGbuUBdcWmcXBDNTqALEz12W9nZQSWKrQ8QkSWahiSJ6R8dgfgpE KB3so1w3LY6gECFrjAhqMsBojdEaFQRjjj25OxQgum8hnod4HlG7jYjYWgqpN18yr4wxLNw1KN00 QOB1bYPu6qZtpZDdw/PsQmBr+pNtv4sA9bDMZX/CVlLk/kOA5vsEnY8KAD3jWafj/FqoE+EJ344z yX2Uv/ANkhZgNCivgQMAAAAASUVORK5CYII= ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_nl.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2AMfDhAvlu4L+QAAADRJREFUOMtjXCej8Z+BioCJgcpg 8BvI+GTzdqqGIeP///9HWKSwbDt0k7qRoujWPZqwKQMArNsNlUNSwP4AAAAASUVORK5CYII= ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_fa.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwFDyQpicel8wAAARlJREFUOE+tk71OwzAURs/nOm06 QyV21g5sBcTA1sfkcUgZGRASKwMisHVIFOrLYCdNzUZ7Ft8/f772lXX5cG+cEJcHjsVPXYEBEpB6 7VtWWse+YQj1Ttw7qvOriytiXpgFJAHCzJAUBdLGQccMyWEYJLuX1NPHswmQRLCAQ5iUCiE0LaGu MWCyWODKcn+YGYbhkrgQ6nY/o6GMLxBpqkd2X98ATM7PKK9vDvI53rtJHjsgvLzi5vNof9b427us 4hBvXZfH9khMl0uazQaAcrViqE/PkuObqoqWBCGkcROLJaxtUVEAELZbmqqKOefiOrYBva/XFqcJ hIBcnJglwYGx39t9h9Lw8nqbzf72/V8kvLVtHj6Kk3+9X4jWfsuVylGIAAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_fr.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGDTA7ReF4bgAAAGVJREFUOE9jZFCY/58BDTAzMzIk h6sytJUYMQgLcqDI/f/wkeHXxLkMf9ZsY2D49w9FjoGBgYEJXYBSMDgMZGRgRBeCA7IMxAcGi4EY CQMOyDQQNyDTQCpHyn9qe5nqyYbqLsQHAOHUEnhv5YlUAAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_de.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGDS8ftLiSIQAAADNJREFUOE9jZGBg+M9ARcCELkAp GPwGskxGF6EQMN4dcZHCwu2KLkQZYPx/bqSFIdUNBACoAgamar9YlwAAAABJRU5ErkJggg== ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_gr.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGDS4rjBdX1QAAAUxJREFUOE+tk88rw3EYx1/P9t3Y WgtrYn5sDaExWXbQioPEydXJydl/4aTk5iYnRRJlN8mPcEA5rG9zQhsxRd9Jflz2cdAy38N+xOvy eZ7387yfnk+fPlLjn1MA0YhPzc+OyuqGrhaXzgXAbrdi0yxUglYQi+lkZChApM+XT0sjKG045geg s8ODy2WnLVhLXhuMthDuqS+0lEJETz7mFIjTYaOxwYWR/eTp+Q2AlfUEh8cpk6c4Mj2zrQCCgVqm Jns5Ob1lZ+8KgFCXl9Zm9y9DMQTQNuOXAAz0+5gY7yChZ8hr3jon4VD5VxYRpTmqv9+lym7FYrFg s1nJa2tbOhvxZKGnFCK7B9c5pZS43VV0tnt4yLySvnsxN5aFiCjNMN5FAUb2g1Q6a+6pCAGR2Niy Mhf+guwf3fzrQO3s4l6hfn7HnxCUNHUv/OuGX/6SWZN7gW5vAAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_hu.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGDTAgz4SxggAAAD1JREFUOE9jvKSs85+BioAJXYBS MPgNZPywbSdVw5Dx////VDWQ6l6muoEsq28dQhejCDAy9LqNsDCkuoEAZ8QNrEDnbIkAAAAASUVO RK5CYII= ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_mt.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGDS4QPRy+8QAAATBJREFUOE+tkcFKw0AURc+bpE2j JAhaxC66EHQnihv9Er/L7/BPLC50IYIggpa2UC2thrRpkhkXKYWkSUDxbAbeuxzm8uT++tzotzn/ geq62PHtlOhmUNzlkdVrctMNnKsOdnG4gSWw1wQlMI4gNbXiWqFqNzEicOKBAu5SpKXQg6gYXVMt FFBnfibyGlntUx+2LfRoDLr8m9VCJbDvIIcew76NNkLneIkMQ8QSzK+Fq0MkbZeJ9okSi932FOd5 hknLZZAVKic16KeAeDQnacU0vRDzvSB+CCrrQt0PDZjPJY3eB0eXGiPAY8jCd3EJiuk11ULATGIU sNWfg4L4NUD1F8VYjlohXwm6N4X3RXaklxAVpcVUjnohwCxBf68q6vyqDLtxsYN14BTnf0J1XX4A vVFqbIiqm/QAAAAASUVORK5CYII= ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_pl.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGDS0ztFacQAAAADNJREFUOE9jfPni+X8GKgImdAFK waiBlAOWb3NWM/xnYGBgRBKkhM94RdF2NNlQBga/gQDqgg1AyXNoGgAAAABJRU5ErkJggg== ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_pt.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGDTQp0jTMIgAAATpJREFUOE+lkrtKA0EYRs+/s0l2 E9fCSDCCl0a00MpGEfIWVna+j/gavoYKloKFRUALG0lgF3Vz3Wxmxkowu7kYPOU33xz4mBEujy1z eLkLs9FcnGzwX2YKHbFUXI3xDFbmjpjAzQYiUPU0u8GYasmQHlpULKiWRToCC9w54bqXcr7d5TRy 8VolkmKA2Uoo1Af4jy5OZ+YoYIqwXklprPY40meYkwuMBf/+hiR+wAYGlhWuFDR9Dc0RjAZlrLFs +ilBLUGHCvWeuzJB7rTdL/AUlmkMPtmjDWLwShGSCqqrsvUcOeHH0CXasLz5r3B7zf5Qow9CipHB +Zo/F0CyH1sE1rwxO0FCrQhXzRg3tjhthXTU8q9sLUQDl4+hoqwMhecekghiJVudSk74g7FCd6xw hotn/ma59h/4Bh6GcELupP/OAAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_ro.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGDTQR+jZ0vAAAAFdJREFUOE9jZNCu/8+ABpiZ/v9L cbr2pyXsFIsgzw8mZLm/Hxn/PZvJ+ff9djZmhv8MKHIMDAyYAkQCDEfAALkG4gSjBlIOhq+BjOgC MECugYM/YeP0MgD8CxMeBxpO7gAAAABJRU5ErkJggg== ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_ru.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA4ADgAODYf054AAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwTDAcJezREQAAAAElJREFUOMvlk8ENACEMw9yqjIjE iLdjD8IS+ZEBrERWQpIwJjHHDiyAbn4HbAwq5lQ7G0aEjhUIXsuVHC9w8W3r5E16pQgee8oFI80V rDNL6k0AAAAASUVORK5CYII= ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_sk.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA4ADgAODYf054AAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwTDAY3o05oqgAAAUNJREFUOMvNk0svA2EUhp9+WpeO olWbamhEaBcsECESKzaWVvwZP8hSEAu6aIqkiy5oIhJJXUZRE8ylzZi2MxaTiq46FQtnd5I3zzkn 73t8juM4/GEJ/rj8PxtbM2hUqy2CrmAQMdDfGbBWtwFQ946onOboHo8DYN3JSCuLDG5teoIF/AL/ 9s45AJFQgI10mglDRlqaB+Dj4JjCrcHhU4I3veZtw92TBwDi0V4WXnRS0zFEsA+AnniM8rXOfraE rJjegLbtmmyYDSwpRKV4T+MsD4BZlLGkMQyzQVPXFihwhapucRVL8nqhkc/6AJhTh1Bmk6gli6au LXBdK3w3ughQTCyT+RwGoB6JMvKssKaWPbvsy0VSLaOV0Uky4RkAVt8viT7edJRDXz481XqLENiS mztRMcC2fx9sN902Qtf+z+t9AXWNdpwDBowTAAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_es.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGDTIqHWc6HgAAAO9JREFUOE+tk8FKw0AURc+bTkKS ShaKq9YWFDeCv+XKz/CH/AfpyrVdCF1URLFNilrrdGombtsJKYH0LM9cHsN9MzLqDkoOiPJFW3R4 UviuFXp4s/AdAK4UhBIR/2Q/Uj6w02FRCPP3kOwjIAgcF1cGpdx2ZC+VDueZMJ0I43HKNO+Tf4Ox za9ZGbjIznl5PuVndQ3dW/LZJXad+rFaKgN/lxEuCsi+3sif7rEmYrOuxGrRvjgaLjlThuN0RVK8 EvdSdNz8JcjsLtlZyqdJUJQ4FxKIZaOEWFvCzt92rBZ5HPQO+lO0zTq+a0XzthvyD9juStK7MoDY AAAAAElFTkSuQmCC ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/flag_tu.png iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wwGDTIaO74KsgAAAVhJREFUOE+tk7tKA0EUhr+ZnU0g EYMJGJLOSyHYeCtsxEawtrGw8R1sBRHExk6wtbCxtPAVxAdQIxrwhsYUgslKVkmy2RmLRZOswSj6 dfPP/IdzZv4RD7G04R+RYeGvqLCAEIhoBBGPY2p1jOuGT3zLl4LRyXGic7NgoHFzR/00h393j6nV wkc70jaylc3Qu7GKGh6kfprDu8hj3FeEshBKgex+Q20dxhYXkKkUla1tqkfH0PCDDdsmMj2FTCTw Ts7wC8VWWxvNgkJgj46gS880rm+axaTEHh6gZ3kJe2KMp5n5T0snmjMYg3d+iUymUEODoKxA1xrv 6hZ3b5+XtU1ksu/T0gnRmkMrmyG5u4NfKPJ2cIj/8IguOxjHCV5ca9C61f8Fa8XuWf9YmIqLn79C 9iWw0v0IpdBlB11yMJ4HpvsfaOswUP45hxiDqdYw1Z/lLkz3YP2Sd7VCf87P4cOVAAAAAElFTkSu QmCC ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/camera.png iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAB2lBMVEXAwMAkJCQqKiolJSXS0tIa GhrHyMf///+1tbQbGxsZGRmGh4Wqq6mqqqlnaGUUFBQwMS5SU1BaW1dkZWExMjAYGBilpaUiIiIf Hx8aGxoeHh1ISUdVVlQREhEgICAoKCh4eXdzdHLExMTDw8NrbWlNTkpXWlhbYF9hZWJnaWR+gH1l ZmOAgYAuLi5rbGsrLClgYGBqamlVWFZ5hIiDjZB+hIdmbG9QV1xTV1VKTEk0NTJ0dXQpKilgYV8q Kyk3ODVWWFZ1foJuc3VWWVpPU1RPUVNKT1BeY2Q2OTghIiFsbGsnJyddXlw5OjdeY2VOUlRVWFko LC4SFBUhJCZJTE04PT9SVlgnJyY4OjhUWFkyODkTFRYODg4BAQECAgIUFRUuMzQwMTFhYWA/QkEy ODocICEZGhpoaGgSEhIuMDAuNDY6Pj9gYWAZGRhISkkVFxiampp9fX05OzsvNTc1OTlgYF8sLSo+ QD4dHyA4ODiMjIyLi4tBQUFKS0s2OjtXWFYTExNNTk1TVFNPUE9RVFQrLzAPDw9ISEhxcnFQUlFT VldHSko8PDw2NjYjIyMVFRUyNTY6OjopKSomJiYhISHa2tq7u7t8fHw7OzslJiZ7e3vIyMjm5ub/ //+ywT8WAAAAnnRSTlP///////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// AD6H4/gAAAABYktHRAcWYYjrAAAA7klEQVR42mOYCwLK4kxMTJNZQEwGsAArGzs7OwcrkgA3Ly8v H5JAv4CgkLYAREBMXIqVVUoayJTJ6GcVF2OYPEtRSVlF1VldQ1NLe5YWK4OuClOSoYOxialZWJel lTUrA5OtjYeDo5Ozq6ubu4e4ISvDZJ8yXz9/58DoYLfQrskqrAzhPkwekSnRMXFxDQkpIu5gFeUp qazsfKkZAlnZpaIgFd3FaVKGBYWTJxbXlUJUFFfE9VZV19QW1zlkMExubGp2aY0Rn1zb4drVXd7L INbX19dfPEE8fCLTZHHxyWJgv0ydVjhx8sRZs+cA2QBNolks9mQjkwAAAABJRU5ErkJggg== ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Location: http://www.emsc-csem.org/imgs/bas.png iVBORw0KGgoAAAANSUhEUgAAA80AAAAeCAMAAAAhKgzbAAADAFBMVEX////m5ube3t6+vr7MzMy1 tbXT09OsrKzGxsbZ2dmkpKSbm5uVlZXi4uKOjo7r6+vV1dXCwsLJycm6urqxsbHj4+Pk5OTg4ODb 29vo6Ojc3NzOzs7Y2Nj5+fn+/v79/f0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABHlY8PAAACcklEQVR42u3aDY6DIBCG4Sr+VFu2oFbR0u79b7kzA/YvewBIvvcI JE9mQA9rocuuqY6qPiCE8qtWx6rpSl2sh7W4QjNC2Wu+QjNC0IwQSljzL84Foez6/VfzHQeDUHbd vzWb26DqCw4GoexaazXczK55Lh1ptqPBwSCUXWa0pNmVc9C8OM+axwdOBqHMeoys2bslaC705pvK jlOJo0Eos8pptFXjN12Q5kvx/BkM72AIZda9fv4KVlwOl9evnZPF4SCUVXZ6/dgpmsOjNq3abYXT QSijqnaSRzB50hbN88IXZx7OrcKyjVA2a7Zqw2j2Gz+CiWZZtXk4123ferxsI5RDD09eax7N4drM mmXVdjKcadfu+97qFSeFUNKt2pJV2rNlNDtZtIPmOQ5n3rX7/nQ6n88/CKFUI6GnE2OuVRzN81Nz HM6Bs3hm0AihNDuJ5YA5juaoOQ5nQ7u2VWPwzKARQmnWB8ujsrRnm300R83FdeGvVDydiTN5ZtAI oTQjoZNgHir+OrWE0SyaA+eNp/Mg45lAC2mEUHoxz1oG88CTedsxR838lUo438SzGkcijRBKMvKp xPJNMPPXqZdmHs7Euex8I56P1hJphFCSkc+jWG48rdmEOYzmqFk4093ZBc9VNQxkGiGUYKSTjIpl J3fmiHnXHDjrkj2bhkRTFUIovRgnGTVsudRvmJ+a5e48s+et6zrvDZtGCKWXMd6T0o0tz/ud+UOz cGbPS0minesQQmnmHEmmCzNbfsP8pjl6ZtBaL2waIZRiy0JGhfK75U/N7FlAE+n5KmmEUDoFlvMc mK4flr81B9BRNEIo2dZvytQfIB2y2SQJ2JgAAAAASUVORK5CYII= ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: http://c1.statcounter.com/counter.php?sc_project=217829&java=0&security=&invisible=0 R0lGODlhAQABAJH/AP///wAAAMDAwAAAACH5BAEAAAIALAAAAAABAAEAAAICVAEAOw== ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.emsc-csem.org/emsc.css BODY { FONT-SIZE: 12px; MARGIN: 0px; COLOR: black; FONT-FAMILY: Verdana, = Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #e8e8e8; TEXT-ALIGN: = justify } IMG { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-RIGHT-WIDTH: 0px } A { COLOR: #3366cc; TEXT-DECORATION: none } A:visited { TEXT-DECORATION: none } TH { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; = PADDING-BOTTOM: 3px; VERTICAL-ALIGN: top; COLOR: white; PADDING-TOP: = 3px; BACKGROUND-COLOR: #1874cd; TEXT-ALIGN: center } TH { PADDING-RIGHT: 7px; PADDING-LEFT: 9px; FONT-SIZE: 12px; BACKGROUND: = url(imgs/blu2.png) #e2eeff repeat-x left top; PADDING-BOTTOM: 5px; = COLOR: #fff; LINE-HEIGHT: 13px; PADDING-TOP: 6px } H1 { FONT-SIZE: 20px; MARGIN: 1.2em 0px 0.4em; COLOR: #18397c; TEXT-ALIGN: = center } H2 { FONT-SIZE: 16px; MARGIN: 0px 0px 10px; COLOR: #111111; BORDER-BOTTOM: = #999999 1px dotted } DIV#page LI { PADDING-LEFT: 20px; BACKGROUND: url(imgs/s.png) no-repeat left top; = MARGIN: 0px 0px 0.4em } DIV#page UL { PADDING-LEFT: 10px; MARGIN-LEFT: 0px; LIST-STYLE-TYPE: none } H3 { FONT-SIZE: 14px; MARGIN: 1.2em 0px 0.4em } .mix { COLOR: red } .intro { PADDING-RIGHT: 30px; PADDING-LEFT: 30px; FONT-WEIGHT: bold; = PADDING-BOTTOM: 0px; WIDTH: 840px; PADDING-TOP: 0px; FONT-STYLE: italic } .titre { FONT-SIZE: 20px; MARGIN-BOTTOM: 10px; COLOR: #18397c; TEXT-ALIGN: = center } .comment { FONT-SIZE: 10px } .comment2 { =09 } .error { COLOR: red } .pagelist { COLOR: white; BACKGROUND-COLOR: #5ba1e0; TEXT-ALIGN: center } .pagelist A { FONT-WEIGHT: normal; COLOR: white } .pagelist A:hover { FONT-WEIGHT: normal; COLOR: #c7a718 } .question { FONT-STYLE: italic } .button1 { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-SIZE: 11px; = BACKGROUND-IMAGE: url(imgs/button1.png); PADDING-BOTTOM: 0px; = BORDER-LEFT: #b0bec7 1px solid; WIDTH: 20%; COLOR: #18397c; LINE-HEIGHT: = 20px; PADDING-TOP: 0px; BACKGROUND-REPEAT: repeat-x; HEIGHT: 21px; = TEXT-ALIGN: center } .button2 { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: = 11px; BACKGROUND-IMAGE: url(imgs/button2.png); PADDING-BOTTOM: 0px; = BORDER-LEFT: #b0bec7 1px solid; WIDTH: 20%; COLOR: #ff8000; LINE-HEIGHT: = 20px; PADDING-TOP: 0px; BACKGROUND-REPEAT: repeat-x; HEIGHT: 21px; = TEXT-ALIGN: center } .button3 { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-SIZE: 11px; = BACKGROUND-IMAGE: url(imgs/button3.png); PADDING-BOTTOM: 0px; = BORDER-LEFT: #b0bec7 1px solid; WIDTH: 20%; COLOR: #18397c; LINE-HEIGHT: = 20px; PADDING-TOP: 0px; BACKGROUND-REPEAT: repeat-x; HEIGHT: 42px; = TEXT-ALIGN: center } .bis { BACKGROUND: none transparent scroll repeat 0% 0%; WIDTH: 50%; = BORDER-BOTTOM: #b0bec7 1px solid } .bis2 { WIDTH: 15% } .bul { PADDING-LEFT: 20px; BACKGROUND: url(imgs/s.png) no-repeat left top; = MARGIN-BOTTOM: 5px; TEXT-ALIGN: left } .point { PADDING-RIGHT: 10px; PADDING-LEFT: 20px; BACKGROUND: = url(imgs/arrow1.gif) no-repeat left top; PADDING-BOTTOM: 5px; = VERTICAL-ALIGN: top; COLOR: #666666; TEXT-ALIGN: left } .point2 { PADDING-RIGHT: 10px; FONT-WEIGHT: bold; PADDING-BOTTOM: 5px; = VERTICAL-ALIGN: top; COLOR: #000000; TEXT-ALIGN: left } .blueheader { PADDING-RIGHT: 7px; PADDING-LEFT: 9px; FONT-SIZE: 12px; BACKGROUND: = url(imgs/contentboxtop.png) #e2eeff repeat-x left top; PADDING-BOTTOM: = 5px; COLOR: #000; LINE-HEIGHT: 13px; PADDING-TOP: 6px } .blueheader2 { PADDING-RIGHT: 7px; PADDING-LEFT: 9px; FONT-SIZE: 12px; BACKGROUND: = url(imgs/content2boxtop.png) #e2eeff repeat-x left top; PADDING-BOTTOM: = 5px; COLOR: #fff; LINE-HEIGHT: 13px; PADDING-TOP: 6px } .blueheader3 { PADDING-RIGHT: 7px; PADDING-LEFT: 9px; FONT-SIZE: 12px; BACKGROUND: = url(imgs/content2boxtop2.png) repeat-x left top; PADDING-BOTTOM: 5px; = COLOR: #fff; LINE-HEIGHT: 13px; PADDING-TOP: 5px } .divmap { LEFT: -10px; WIDTH: 620px; POSITION: absolute; TOP: 40px; = BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: center } .divmap0 { LEFT: -10px; WIDTH: 620px; POSITION: absolute; TOP: 75px; = BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: center } .divmap1 { LEFT: -10px; POSITION: absolute; TOP: 5px; BACKGROUND-COLOR: #ffffff } .divmap2 { LEFT: 630px; POSITION: absolute; TOP: 5px; BACKGROUND-COLOR: #ffffff } .head1 { PADDING-RIGHT: 7px; PADDING-LEFT: 9px; FONT-WEIGHT: bold; FONT-SIZE: = 12px; BACKGROUND: url(imgs/h1.png) repeat-x left top; PADDING-BOTTOM: = 5px; COLOR: #000; LINE-HEIGHT: 13px; PADDING-TOP: 6px; TEXT-ALIGN: = center } .head2 { PADDING-RIGHT: 7px; PADDING-LEFT: 9px; FONT-SIZE: 12px; BACKGROUND: = url(imgs/h2.png) repeat-x left bottom; PADDING-BOTTOM: 5px; COLOR: #888; = LINE-HEIGHT: 13px; PADDING-TOP: 6px; TEXT-ALIGN: center } .news { FONT-SIZE: 11px; BACKGROUND: url(imgs/contentboxbottom.png) #fff = no-repeat left bottom; MARGIN-BOTTOM: 13px; PADDING-BOTTOM: 5px } .info2 { BACKGROUND-COLOR: #87cefa } .auto2 { BACKGROUND-COLOR: #d6d6e8 } .info { FONT-WEIGHT: bold; COLOR: red; LINE-HEIGHT: 1.3em } .info:hover { BACKGROUND-COLOR: yellow } .normal { LINE-HEIGHT: 1.1em } .auto { FONT-WEIGHT: bold; LINE-HEIGHT: 1.3em } .listsurlign { FONT-WEIGHT: bold; BACKGROUND: url(imgs/2.png) #e2eeff repeat-x left = top; COLOR: white; LINE-HEIGHT: 1.5em } .mix { COLOR: red } .msgman { FONT-WEIGHT: bold; COLOR: red } .msgmix { COLOR: red; FONT-STYLE: italic } .msgtrigger { COLOR: green } #contenu { BORDER-RIGHT: #b0bec7 1px solid; PADDING-RIGHT: 10px; PADDING-LEFT: = 10px; PADDING-BOTTOM: 10px; WIDTH: 891px; COLOR: #000000; PADDING-TOP: = 10px; BORDER-BOTTOM: #b0bec7 1px solid; POSITION: relative; HEIGHT: = 400px; BACKGROUND-COLOR: #ffffff } #main { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px = auto; WIDTH: 960px; PADDING-TOP: 0px; TEXT-ALIGN: left } #page { PADDING-RIGHT: 20px; PADDING-LEFT: 20px; MARGIN: 0px; WIDTH: 913px; = PADDING-TOP: 1px; BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: justify } #pagecaps { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; BACKGROUND-IMAGE: = url(imgs/fond.png); PADDING-BOTTOM: 10px; MARGIN: 0px; WIDTH: 973px; = BACKGROUND-REPEAT: repeat-y } #ejs_server_heure { COLOR: #4c7fb2 } .sec1 { FONT-WEIGHT: bold; FONT-SIZE: 14px; PADDING-BOTTOM: 3px; BORDER-BOTTOM: = #dddddd 1px solid; TEXT-ALIGN: left } .sec2 { PADDING-LEFT: 15px; BACKGROUND: url(imgs/s.png) no-repeat left top; = TEXT-ALIGN: left } .titleh2 { FONT-WEIGHT: bold; FONT-SIZE: 16px; MARGIN: 0px 0px 0.4em; COLOR: = #111111 } .vertscroll { OVERFLOW-Y: auto; DISPLAY: block; OVERFLOW-X: hidden } #lang DIV .popup { DISPLAY: none } #lang:hover .popup { DISPLAY: block; BOTTOM: -5px; POSITION: relative } .cssbox { BACKGROUND: url(imgs/img.php.png) no-repeat right bottom } .cssbox_body { BACKGROUND: url(imgs/img.php.png) no-repeat right bottom } .cssbox_head { BACKGROUND: url(imgs/img.php.png) no-repeat right bottom } .cssbox_head H2 { BACKGROUND: url(imgs/img.php.png) no-repeat right bottom } .cssbox { PADDING-RIGHT: 15px; MARGIN: 20px auto; WIDTH: 885px! important } .cssbox_head { PADDING-RIGHT: 40px; BACKGROUND-POSITION: right top; MARGIN-RIGHT: = -15px } .cssbox_head H2 { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND-POSITION: left = top; PADDING-LEFT: 10px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-TOP: 5px; HEIGHT: auto! = important; BORDER-RIGHT-WIDTH: 0px } .cssbox_body { PADDING-RIGHT: 0px; BACKGROUND-POSITION: left bottom; PADDING-LEFT: = 10px; PADDING-BOTTOM: 5px; MARGIN-RIGHT: 25px; PADDING-TOP: 10px } .cssbox2 { BACKGROUND: url(imgs/orange.png) no-repeat right bottom } .cssbox_body2 { BACKGROUND: url(imgs/orange.png) no-repeat right bottom } .cssbox_head2 { BACKGROUND: url(imgs/orange.png) no-repeat right bottom } .cssbox_head2 H2 { BACKGROUND: url(imgs/orange.png) no-repeat right bottom } .cssbox2 { PADDING-RIGHT: 15px; MARGIN: 20px auto; WIDTH: 885px! important } .cssbox_head2 { PADDING-RIGHT: 40px; BACKGROUND-POSITION: right top; MARGIN-RIGHT: = -15px } .cssbox_head2 H2 { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND-POSITION: left = top; PADDING-LEFT: 10px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-TOP: 5px; HEIGHT: auto! = important; BORDER-RIGHT-WIDTH: 0px } .cssbox_body2 { PADDING-RIGHT: 0px; BACKGROUND-POSITION: left bottom; PADDING-LEFT: = 10px; PADDING-BOTTOM: 5px; MARGIN-RIGHT: 25px; PADDING-TOP: 10px } ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Location: http://www.emsc-csem.org/print.css BODY { FONT-SIZE: 18px; FONT-FAMILY: Garamond, "Times New Roman", Times, serif } P { FONT-SIZE: 18px; FONT-FAMILY: Garamond, "Times New Roman", Times, serif } TD { FONT-SIZE: 18px; FONT-FAMILY: Garamond, "Times New Roman", Times, serif } DIV { FONT-SIZE: 18px; FONT-FAMILY: Garamond, "Times New Roman", Times, serif } SPAN { FONT-SIZE: 18px; FONT-FAMILY: Garamond, "Times New Roman", Times, serif } A { FONT-SIZE: 18px; FONT-FAMILY: Garamond, "Times New Roman", Times, serif } H1 { FONT-SIZE: 13px; FONT-FAMILY: Garamond, "Times New Roman", Times, serif } H2 { FONT-SIZE: 14px; FONT-FAMILY: Garamond, "Times New Roman", Times, serif } #msgprint { MARGIN-LEFT: 0px } ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.emsc-csem.org/yui/build/menu/assets/menu.css DIV.yuimenu { BORDER-RIGHT: #c4c4be 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: = #c4c4be 1px solid; PADDING-LEFT: 1px; Z-INDEX: 1; VISIBILITY: hidden; = PADDING-BOTTOM: 1px; BORDER-LEFT: #c4c4be 1px solid; COLOR: #ffffff; = PADDING-TOP: 1px; BORDER-BOTTOM: #c4c4be 1px solid; BACKGROUND-COLOR: = #243d6b } DIV.yuimenubar { COLOR: #ffffff } DIV.yuimenubar DIV.bd { ZOOM: 1 } DIV.yuimenubar DIV.bd:unknown { CLEAR: both; DISPLAY: block; VISIBILITY: hidden; HEIGHT: 0px; content: = '.' } DIV.yuimenu H6 { BORDER-RIGHT: #c4c4be 1px solid; BORDER-TOP: #c4c4be 1px solid; = FONT-WEIGHT: normal; FONT-SIZE: 100%; MARGIN: 0px; BORDER-LEFT: #c4c4be = 1px solid; COLOR: #b9b9b9; BORDER-BOTTOM: #c4c4be 1px solid } DIV.yuimenubar H6 { BORDER-RIGHT: #c4c4be 1px solid; BORDER-TOP: #c4c4be 1px solid; = FONT-WEIGHT: normal; FONT-SIZE: 100%; MARGIN: 0px; BORDER-LEFT: #c4c4be = 1px solid; COLOR: #b9b9b9; BORDER-BOTTOM: #c4c4be 1px solid } DIV.yuimenubar H6 { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 12px; DISPLAY: inline; = PADDING-LEFT: 12px; BORDER-LEFT-WIDTH: 0px; FLOAT: left; = BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 4px; PADDING-TOP: 4px; = BORDER-RIGHT-WIDTH: 1px } DIV.yuimenu H6 { BORDER-TOP-WIDTH: 1px; PADDING-RIGHT: 10px; DISPLAY: block; = PADDING-LEFT: 10px; BORDER-LEFT-WIDTH: 0px; FLOAT: none; = BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 5px; = BORDER-RIGHT-WIDTH: 0px } DIV.yuimenubar UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } DIV.yuimenu UL { BORDER-RIGHT: #c4c4be 0px solid; PADDING-RIGHT: 0px; BORDER-TOP: = #c4c4be 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 10px; MARGIN: 0px; = BORDER-LEFT: #c4c4be 0px solid; PADDING-TOP: 10px; BORDER-BOTTOM: = #c4c4be 0px solid; LIST-STYLE-TYPE: none } DIV.yuimenu UL.first-of-type { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-RIGHT-WIDTH: 0px } DIV.yuimenu UL.hastitle { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-RIGHT-WIDTH: 0px } DIV.yuimenu H6.first-of-type { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-RIGHT-WIDTH: 0px } DIV.yuimenu LI { FONT-SIZE: 85%; CURSOR: hand; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif; WHITE-SPACE: nowrap; TEXT-ALIGN: left } DIV.yuimenubar LI { FONT-SIZE: 85%; CURSOR: hand; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif; WHITE-SPACE: nowrap; TEXT-ALIGN: left } DIV.yuimenu LI.yuimenuitem { PADDING-RIGHT: 14px; PADDING-LEFT: 14px; PADDING-BOTTOM: 2px; = PADDING-TOP: 2px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif } DIV.yuimenu LI LI { FONT-SIZE: 100%; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif } DIV.yuimenubar LI LI { FONT-SIZE: 100%; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif } DIV.yuimenu LI EM { MARGIN: 0px 0px 0px 40px; FONT-STYLE: normal } DIV.yuimenu LI A EM { MARGIN: 0px } DIV.yuimenu LI A { COLOR: #fff; ZOOM: 1; TEXT-DECORATION: none } DIV.yuimenubar LI A { COLOR: #fff; ZOOM: 1; TEXT-DECORATION: none } DIV.yuimenu LI.hassubmenu { TEXT-ALIGN: right } DIV.yuimenu LI.hashelptext { TEXT-ALIGN: right } DIV.yuimenu LI.hassubmenu A.hassubmenu { DISPLAY: inline; FLOAT: left; TEXT-ALIGN: left } DIV.yuimenu LI.hashelptext A.hashelptext { DISPLAY: inline; FLOAT: left; TEXT-ALIGN: left } DIV.yuimenu LI.selected { BACKGROUND: url(imgs/3.png) repeat-x left top } DIV.yuimenubar LI.selected { BACKGROUND: url(imgs/3.png) repeat-x left top } DIV.yuimenu LI.selected A.selected { TEXT-DECORATION: none } DIV.yuimenubar LI.selected A.selected { TEXT-DECORATION: none } DIV.yuimenu LI.selected A.selected { COLOR: #fff } DIV.yuimenu LI.selected EM.selected { COLOR: #fff } DIV.yuimenubar LI.selected A.selected { COLOR: #fff } DIV.yuimenu LI.disabled { CURSOR: default } DIV.yuimenubar LI.disabled { CURSOR: default } DIV.yuimenu LI.disabled A.disabled { CURSOR: default; COLOR: #b9b9b9 } DIV.yuimenu LI.disabled EM.disabled { CURSOR: default; COLOR: #b9b9b9 } DIV.yuimenubar LI.disabled A.disabled { CURSOR: default; COLOR: #b9b9b9 } DIV.yuimenubar LI.yuimenubaritem { BORDER-RIGHT: #c4c4be 0px solid; PADDING-RIGHT: 14px; BORDER-TOP: = #c4c4be 0px solid; DISPLAY: inline; PADDING-LEFT: 14px; FLOAT: left; = PADDING-BOTTOM: 4px; MARGIN: 0px; BORDER-LEFT: #c4c4be 1px solid; = PADDING-TOP: 4px; BORDER-BOTTOM: #c4c4be 0px solid } DIV.yuimenubar LI.first-of-type.yuimenubaritem { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-RIGHT-WIDTH: 0px } DIV.yuimenubar LI.yuimenubaritem IMG { MARGIN: 0px 0px 0px 10px; VERTICAL-ALIGN: middle; WIDTH: 8px; HEIGHT: = 8px } DIV.yuimenu LI.yuimenuitem IMG { BORDER-RIGHT: #d9e8ff 0px solid; BORDER-TOP: #d9e8ff 0px solid; MARGIN: = 0px -16px 0px 0px; BORDER-LEFT: #d9e8ff 10px solid; WIDTH: 8px; = BORDER-BOTTOM: #d9e8ff 0px solid; HEIGHT: 8px } DIV.yuimenu LI.selected.yuimenuitem IMG.selected { BORDER-LEFT-COLOR: #5aa1e0; BORDER-BOTTOM-COLOR: #5aa1e0; = BORDER-TOP-COLOR: #5aa1e0; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif; BORDER-RIGHT-COLOR: #5aa1e0 } DIV.yuimenu LI.checked { POSITION: relative } DIV.yuimenu LI.checked IMG.checked { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; LEFT: 6px; = BORDER-BOTTOM-WIDTH: 0px; MARGIN: 0px; WIDTH: 8px; POSITION: absolute; = TOP: 0.5em; HEIGHT: 8px; BORDER-RIGHT-WIDTH: 0px; _left: -16px } ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://maps.google.com/maps?file=api&v=2&key=ABQIAAAA_C_XbCmKb9piLwxZVBPVyBQfSt2-20uB1h4X733mC4jQfTZBEhTRd9m9Vo2PCmjgy9vxZC0pkcx3Cg var G_INCOMPAT =3D false;function GScript(src) {document.write('<' + = 'script src=3D"' + src + '"' +' type=3D"text/javascript"><' + = '/script>');}function GBrowserIsCompatible() {if (G_INCOMPAT) return = false;return true;}function GVerify() {}function GApiInit() {if = (GApiInit.called) return;GApiInit.called =3D true;window.GAddMessages && = GAddMessages({160: '\x3cH1\x3eServer Error\x3c/H1\x3eThe server = encountered a temporary error and could not complete your = request.\x3cp\x3ePlease try again in a minute or so.\x3c/p\x3e',1415: = '.',1416: ',',1547: 'mi',1616: 'km',4100: 'm',4101: 'ft',10018: = 'Loading...',10021: 'Zoom In',10022: 'Zoom Out',10024: 'Drag to = zoom',10029: 'Return to the last result',10049: 'Map',10050: = 'Satellite',10093: 'Terms of Use',10109: 'm',10110: 'ft',10111: = 'Map',10112: 'Sat',10116: 'Hybrid',10117: 'Hyb',10120: 'We are sorry, = but we don\x27t have maps at this zoom level for this = region.\x3cp\x3eTry zooming out for a broader look.\x3c/p\x3e',10121: = 'We are sorry, but we don\x27t have imagery at this zoom level for this = region.\x3cp\x3eTry zooming out for a broader look.\x3c/p\x3e',10507: = 'Pan left',10508: 'Pan right',10509: 'Pan up',10510: 'Pan down',10511: = 'Show street map',10512: 'Show satellite imagery',10513: 'Show imagery = with street names',10806: 'Click to see this area on Google Maps',10807: = 'Traffic',10808: 'Show Traffic',10809: 'Hide Traffic',12150: '%1$s on = %2$s',12151: '%1$s on %2$s at %3$s',12152: '%1$s on %2$s between %3$s = and %4$s',10985: 'Zoom in',10986: 'Zoom out',11047: 'Center map = here',11089: '\x3ca href\x3d\x22javascript:void(0);\x22\x3eZoom = In\x3c/a\x3e to see traffic for this region',11259: 'Full-screen',11751: = 'Show street map with terrain',11752: 'Style:',11757: 'Change map = style',11758: 'Terrain',11759: 'Ter',11794: 'Show labels',11303: 'Street = View Help',11274: 'To use street view, you need Adobe Flash Player = version %1$d or newer.',11382: 'Get the latest Flash Player.',11314: = 'We\x27re sorry, street view is currently unavailable due to high = demand.\x3cbr\x3ePlease try again later!',1559: 'N',1560: 'S',1561: = 'W',1562: 'E',1608: 'NW',1591: 'NE',1605: 'SW',1606: 'SE',11907: 'This = image is no longer available',10041: 'Help',12471: 'Current = Location',12492: 'Earth',12823: 'Google has disabled usage of the Maps = API for this application. See the Terms of Service for more information: = %1$s.',12822: 'http://code.google.com/apis/maps/terms.html',0: ''});if = (!GValidateKey("1f4addbedb4b81d61e17ef7de60b88d07d364112")) {G_INCOMPAT = =3D true;alert("The Google Maps API key used on this web site was = registered for a different web site. You can generate a new key for this = web site at http://code.google.com/apis/maps/.");return;}}var = GLoad;(function() {var = jslinker=3D{version:"140",jsbinary:[{id:"maps2",url:"http://maps.google.c= om/intl/en_us/mapfiles/148e/maps2/main.js"},{id:"maps2.api",url:"http://m= aps.google.com/intl/en_us/mapfiles/148e/maps2.api/main.js"},{id:"gc",url:= "http://maps.google.com/intl/en_us/mapfiles/148e/gc.js"},{id:"legacy_gc",= url:"http://maps.google.com/intl/en_us/mapfiles/148e/legacy_gc.js"},{id:"= adsense",url:"http://maps.google.com/intl/en_us/mapfiles/148e/adsense.js"= },{id:"suggest",url:"http://maps.google.com/intl/en_us/mapfiles/148e/sugg= est/main.js"}]};GLoad =3D function(callback) {var apiCallback =3D = callback || GLoadApi;GApiInit();var opts =3D = {public_api:true,export_legacy_names:true,jsmain:"http://maps.google.com/= intl/en_us/mapfiles/148e/maps2.api/main.js"};var pageArgs =3D {};var = jsinit =3D window.GJsLoaderInit;jsinit && = jsinit(opts.jsmain);apiCallback(["http://mt0.google.com/mt/v\x3dap.92\x26= hl\x3den\x26","http://mt1.google.com/mt/v\x3dap.92\x26hl\x3den\x26","http= ://mt2.google.com/mt/v\x3dap.92\x26hl\x3den\x26","http://mt3.google.com/m= t/v\x3dap.92\x26hl\x3den\x26"], = ["http://khm0.google.com/kh/v\x3d37\x26hl\x3den\x26","http://khm1.google.= com/kh/v\x3d37\x26hl\x3den\x26","http://khm2.google.com/kh/v\x3d37\x26hl\= x3den\x26","http://khm3.google.com/kh/v\x3d37\x26hl\x3den\x26"], = ["http://mt0.google.com/mt/v\x3dapt.92\x26hl\x3den\x26","http://mt1.googl= e.com/mt/v\x3dapt.92\x26hl\x3den\x26","http://mt2.google.com/mt/v\x3dapt.= 92\x26hl\x3den\x26","http://mt3.google.com/mt/v\x3dapt.92\x26hl\x3den\x26= "],"ABQIAAAA_C_XbCmKb9piLwxZVBPVyBQfSt2-20uB1h4X733mC4jQfTZBEhTRd9m9Vo2PC= mjgy9vxZC0pkcx3Cg","","",true,"google.maps.",opts,["http://mt0.google.com= /mt/v\x3dapp.87\x26hl\x3den\x26","http://mt1.google.com/mt/v\x3dapp.87\x2= 6hl\x3den\x26","http://mt2.google.com/mt/v\x3dapp.87\x26hl\x3den\x26","ht= tp://mt3.google.com/mt/v\x3dapp.87\x26hl\x3den\x26"],jslinker,pageArgs);}= })();function GUnload() {if (window.GUnloadApi) {GUnloadApi();}}var = _mIsRtl =3D false;var _mF =3D [ = ,,false,true,true,20,4096,"bounds_cippppt.txt","cities_cippppt.txt","loca= l/add/flagStreetView",true,true,400,true,true,,true,,true,"/maps/c/ui/Hov= ercardLauncher/dommanifest.js",,true,true,false,false,,true,false,true,tr= ue,true,,true,true,,true,,true,"http://maps.google.com/maps/stk/fetch",0,= ,true,,,,true,,,,"http://maps.google.com/maps/stk/style",,"10748560224077= 3805043.00043dadc95ca3874f1fa",,"US,AU,NZ",false,1000,42,"http://cbk0.goo= gle.com",false,true,"ar,iw",false,,,true,,,false,"/maps/complete","http:/= /pagead2.googlesyndication.com/pagead/imgad?id\x3dCMKp3NaV5_mE1AEQEBgQMgi= eroCd6vHEKA",false,,false,false,,false,5000,,,true,"SS","en,fr",false,"tb= r","Earth","SATELLITE_3D_MAP",true,true,true,true,"getEarthInstance",fals= e,true,true,true,true,,true,true,"","1",true,false,false,true,false,true,= 25,"0.25","AU,BE,FR,NZ,US",true,false,false,true,500,"http://chart.apis.g= oogle.com/chart?cht\x3dqr\x26chs\x3d80x80\x26chld\x3d|0\x26chl\x3d",false= ,,,true,false,false,,true,false,,false,true,false,false,,false,false,,,,f= alse,,,false,10,,true,true,true,true,false,30,"infowindow_v1","",false,tr= ue,30,'http://khm.google.com/maptilecompress/t\x3d1\x26c\x3d10\x26hl\x3de= n\x26','http://khm.google.com/maptilecompress/t\x3d2\x26q\x3d20\x26hl\x3d= en\x26','http://khm.google.com/maptilecompress/t\x3d3\x26q\x3d25\x26hl\x3= den\x26','http://khm.google.com/maptilecompress/t\x3d6\x26q\x3d30\x26hl\x= 3den\x26',,true,false,"US,AU,NZ,FR,DK,MX,BE,CA,DE,GB,IE,PR,PT,RU,SG,JM,HK= ,TW",true,true,"windows-ie,windows-firefox,windows-chrome,macos-safari,ma= cos-firefox",true,false,40000,900,30,,true,,true,,false,false,true,true,"= maps.google.com",true,true,true,true,"",true,true,false,true,true,"4:http= ://gt%1$d.google.com/mt?v\x3dgwm.fresh\x26","4:http://gt%1$d.google.com/m= t?v\x3dgwh.fresh\x26",false,false,false,true,0.25,true,"10748560224077380= 5043.0004561b22ebdc3750300",false,false,false,"/ig/ifr",false,true,false,= true,true,8,"http://maps.gmodules.com/gadgets/js/rpc.js",true,true,true,f= alse,"https://cbks0.google.com",false,true,false,false,false,false,false,= false,false,false,true,false,false,false,false,false,false,true,false,fal= se,false,false ];var _mHost =3D "http://maps.google.com";var _mUri =3D = "/maps";var _mDomain =3D "google.com";var _mStaticPath =3D = "http://maps.google.com/intl/en_us/mapfiles/";var _mJavascriptVersion = =3D G_API_VERSION =3D "148e";var _mTermsUrl =3D = "http://www.google.com/intl/en_us/help/terms_maps.html";var _mHL =3D = "en";var _mGL =3D "us";var _mLocalSearchUrl =3D = "http://www.google.com/uds/solutions/localsearch/gmlocalsearch.js";var = _mTrafficEnableApi =3D true;var _mTrafficTileServerUrls =3D = ['http://mt0.google.com/mapstt','http://mt1.google.com/mapstt','http://mt= 2.google.com/mapstt','http://mt3.google.com/mapstt'];var = _mCityblockLatestFlashUrl =3D = "http://maps.google.com/local_url?q=3Dhttp://www.adobe.com/shockwave/down= load/download.cgi%3FP1_Prod_Version%3DShockwaveFlash&dq=3D&file=3D= api&v=3D2&key=3DABQIAAAA_C_XbCmKb9piLwxZVBPVyBQfSt2-20uB1h4X733mC= 4jQfTZBEhTRd9m9Vo2PCmjgy9vxZC0pkcx3Cg&s=3DANYYN7manSNIV_th6k0SFvGB4jz= 36is1Gg";var _mCityblockFrogLogUsage =3D false;var = _mCityblockInfowindowLogUsage =3D false;var = _mCityblockDrivingDirectionsLogUsage =3Dfalse;var = _mCityblockPrintwindowLogUsage =3Dfalse;var = _mCityblockPrintwindowImpressionLogUsage =3Dfalse;var _mCityblockUseSsl = =3D false;var _mAddressBookUrl =3D = "/maps?file\x3dapi\x26v\x3d2\x26key\x3dABQIAAAA_C_XbCmKb9piLwxZVBPVyBQfSt= 2-20uB1h4X733mC4jQfTZBEhTRd9m9Vo2PCmjgy9vxZC0pkcx3Cg\x26ie\x3dUTF8\x26hl\= x3den\x26sidr\x3d1\x26oi\x3dsl_menu_edit";var _mWizActions =3D = {hyphenSep: 1,breakSep: 2,dir: 3,searchNear: 6,savePlace: 9};var = _mIGoogleUseXSS =3D false;var _mIGoogleEt =3D "bdaDaw79";var = _mIGoogleServerTrustedUrl =3D "";var _mMMEnablePanelTab =3D true;var = _mIdcRouterPath =3D "/maps/mpl/router";var _mIdcRelayPath =3D = "/maps/mpl/relay";var _mIGoogleServerUntrustedUrl =3D = "http://maps.gmodules.com";var _mMplGGeoXml =3D 100;var _mMplGPoly =3D = 1000;var _mMplMapViews =3D 100;var _mMplGeocoding =3D 100;var = _mMplDirections =3D 100;var _mMplEnableGoogleLinks =3D true;var = _mMMEnableAddContent =3D true;var _mMSEnablePublicView =3D true;var = _mMSSurveyUrl =3D "";var _mMMLogPanelLoad =3D true;var _mSatelliteToken = =3D "fzwq2sIkfrSp_CkFL1bpeXecr5qdwVNykqeJew";var _mMapCopy =3D "Map data = \x26#169;2009 ";var _mSatelliteCopy =3D "Imagery \x26#169;2009 ";var = _mGoogleCopy =3D "\x26#169;2009 Google";var _mPreferMetric =3D false;var = _mPanelWidth =3D 23.75; var _mMapPrintUrl =3D = 'http://www.google.com/mapprint';var _mSvgEnabled =3D true;var = _mSvgForced =3D true;var _mLogPanZoomClks =3D false;var _mSXBmwAssistUrl = =3D '';var _mSXCarEnabled =3D true;var _mSXServices =3D {};var = _mSXPhoneEnabled =3D true;var _mSXQRCodeEnabled =3D false;var = _mLyrcItems =3D = [{label:"12102",layer_id:"com.panoramio.all"},{label:"12103",layer_id:"co= m.youtube.all"},{label:"12210",layer_id:"org.wikipedia.en"}];var = _mAttrInpNumMap =3D {'hundred': 100,'thousand': 1000,'k': = 1000,'million': 1000000,'m': 1000000,'billion': 1000000000,'b': = 1000000000};var _mMSMarker =3D 'Placemark';var _mMSLine =3D 'Line';var = _mMSPolygon =3D 'Shape';var _mMSImage =3D 'Image';var = _mDirectionsDragging =3D true;var _mDirectionsEnableCityblock =3D = true;var _mDirectionsEnableApi =3D true;var _mAdSenseForMapsEnable =3D = "true";var _mAdSenseForMapsFeedUrl =3D = "http://pagead2.googlesyndication.com/afmaps/ads";var _mReviewsWidgetUrl = =3D = "/reviews/scripts/annotations_bootstrap.js?hl\x3den\x26amp;gl\x3dus";var = _mIsRecentlyViewedEnabled =3D false;var _mTumblerLoaderV1Url =3D = _mStaticPath + "ge/v/1/4/loader.js";var _mUserPreferences =3D = false;function GLoadMapsScript() {if (GBrowserIsCompatible()) = {GScript("http://maps.google.com/intl/en_us/mapfiles/148e/maps2.api/main.= js");}}(function() {if (!window.google) window.google =3D {};if = (!window.google.maps) window.google.maps =3D {};var ns =3D = window.google.maps;ns.BrowserIsCompatible =3D = GBrowserIsCompatible;ns.Unload =3D GUnload;})();GLoadMapsScript(); ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: multipart/alternative; boundary="----=_NextPart_001_0053_01C9A936.5CDAC8A0" ------=_NextPart_001_0053_01C9A936.5CDAC8A0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.emsc-csem.org/index.php?page=current&sub=detail&id=122164 =EF=BB=BF EMSC - = European-Mediterranean Seismological Centre =
3D""=20

Earthquake Information

= Centre=20 Sismologique = Euro-M=C3=A9diterran=C3=A9en
European-Mediterranean=20 Seismological Centre

set_server_date(2009,3,20,12,31,26)
=
Current time: 2009-03-20 = 12:31:26=20 UTC
3D""=20 Member accessName  Pwd
 
  • Earthquake information
  • Euro-Med seismicity
  • How it works
  • Database & Documents
  • News
  • Projects
  • About EMSC=20 =

= Send=20 us your pictures or videos about the effects of the=20 = earthquake

Summary Maps Regional=20 seismicity More=20 Information List = of data=20 providers
Summary:
Magnitude ML 3.1
Region FRANCE
Paris Basin
Date time 2009-03-20 at 07:11:03.0 UTC
Location 49.51 N ; 0.8 W
Depth 2 km
Distances 48 km NW = Caen (pop=20 110,624 ; local time 08:11 2009-03-20)
27 km NW Bayeux = (pop=20 15,963 ; local time 08:11 2009-03-20)
18 km NW=20 Port-en-bessin-huppain (pop 1,984 ; local time 08:11=20 2009-03-20)
More=20 seismicity information (Moment tensors, phases=20 pickings, etc.)
Maps:
3D"Global
Global view Regional=20 view Local=20 view
References=20 for tectonic plate boundaries:
Bird, P. (2003) An = updated=20 digital model of plate boundaries,
Geochemistry = Geophysics=20 Geosystems, 4(3), 1027.
Google maps view: Seismicity from the = previous 7=20 days in the area .
3D"" Regional instrumental seismicity


This seismicity maps have been = generated by=20 concatenating the ISC catalogue (since 1964), the EMSC Euro-Med = Bulletin=20 catalogue and the EMSC Real Time catalogue. Therefore, they show = the=20 seismicity from 1964 until the earthquake = occurrence.


More information at:

 Laboratoire de D=C3=A9tection et = de=20 G=C3=A9ophysique Bruy=C3=A8res-le-Ch=C3=A2tel, France
 R=C3=A9seau National de = Surveillance=20 Sismique Strasbourg, France
 Bureau Central de la Sismologie = Francaise=20 (BCSF) Strasbourg, France
List of data providers:

 Laboratoire de D=C3=A9tection et = de=20 G=C3=A9ophysique, Bruy=C3=A8res-le-Ch=C3=A2tel, France = (LDG)
Witnesses Reports:


Contributions Map  
Were=20 you on the spot? Report=20 your experience and observations (shaking, damage, = etc.)
Answer=20 the questionnaire
Choose your language : =
=20
3D""
3D""=20
http://www.esc2010.eu/=20

Help us improve our website! We need your feedback to make this = website=20 even more user-friendly.
So if you have any suggestion or wish to = report a=20 technical problem, please contact webmaster@emsc-csem.org.
T= hank you=20 for your time and help.

3D""
------=_NextPart_001_0053_01C9A936.5CDAC8A0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.emsc-csem.org/gmap.php?lat=49.51&long=-0.8&id=122164 =EF=BB=BF maps
------=_NextPart_001_0053_01C9A936.5CDAC8A0-- ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.emsc-csem.org/javascript/dyndate.js var ejs_server_date;=0A= =0A= function set_server_date(Y,M,D,h,m,s)=0A= {=0A= ejs_server_date =3D new Date(Y,M-1,D,h,m,s);=0A= }=0A= =0A= function ejs_server_calc()=0A= {=0A= // static ejs_server_date =3D new Date(Y,M,D,h,m,s);=0A= ejs_server_date.setSeconds(ejs_server_date.getSeconds()+1);=0A= var ejs_server_year =3D ejs_server_date.getFullYear();=0A= var ejs_server_month =3D ejs_server_date.getMonth()+1;=0A= var ejs_server_day =3D ejs_server_date.getDate();=0A= var ejs_server_hour =3D ejs_server_date.getHours();=0A= var ejs_server_min =3D ejs_server_date.getMinutes();=0A= var ejs_server_sec =3D ejs_server_date.getSeconds();=0A= if(ejs_server_sec < 10)=0A= ejs_server_sec =3D "0"+ejs_server_sec;=0A= if(ejs_server_min < 10)=0A= ejs_server_min =3D "0"+ejs_server_min;=0A= if(ejs_server_hour < 10)=0A= ejs_server_hour =3D "0"+ejs_server_hour;=0A= if(ejs_server_day < 10)=0A= ejs_server_day =3D "0"+ejs_server_day;=0A= if(ejs_server_month < 10)=0A= ejs_server_month =3D "0"+ejs_server_month;=0A= ejs_server_texte =3D "Current time: = "+ejs_server_year+"-"+ejs_server_month+"-"+ejs_server_day+" = "+ejs_server_hour + ":" + ejs_server_min + ":" + ejs_server_sec+" UTC";=0A= if(document.getElementById)=0A= {=0A= = document.getElementById("ejs_server_heure").innerHTML=3Dejs_server_texte;=0A= }=0A= }=0A= setInterval("ejs_server_calc()", 1000);=0A= ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.emsc-csem.org/javascript/refresh.js function refresh(adress,timeout)=0A= {=0A= setTimeout('changeLocation("'+adress+'")',timeout*1000);=0A= }=0A= =0A= function changeLocation(adress)=0A= {=0A= location.href =3D adress;=0A= }=0A= ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://google.com/coop/cse/brand?form=searchbox_015286299597385877176%3A7nylgcdy1ke =0A= (function() {=0A= var f =3D = document.getElementById('searchbox_015286299597385877176:7nylgcdy1ke');=0A= if (!f) {=0A= f =3D document.getElementById('searchbox_demo');=0A= }=0A= if (f && f.q) {=0A= var q =3D f.q;=0A= var n =3D navigator;=0A= var l =3D location;=0A= if (n.platform =3D=3D 'Win32') {=0A= q.style.cssText =3D 'border: 1px solid #7e9db9; padding: 2px;';=0A= }=0A= var b =3D function() {=0A= if (q.value =3D=3D '') {=0A= q.style.background =3D '#FFFFFF = url(http:\x2F\x2Fwww.google.com\x2Fcoop\x2Fintl\x2Fen\x2Fimages\x2Fgoogle= _custom_search_watermark.gif) left no-repeat';=0A= }=0A= };=0A= var f =3D function() {=0A= q.style.background =3D '#ffffff';=0A= };=0A= q.onfocus =3D f;=0A= q.onblur =3D b;=0A= if (!/[&?]q=3D[^&]/.test(l.search)) {=0A= b();=0A= }=0A= }=0A= })();=0A= ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.statcounter.com/counter/counter_xhtml.js var sc_width=3Dscreen.width;var sc_height=3Dscreen.height;var = sc_referer=3D""+document.referrer;try{sc_referer=3D""+parent.document.ref= errer}catch(ex){sc_referer=3D""+document.referrer}var sc_unique=3D0;var = sc_returning=3D0;var sc_returns=3D0;var sc_error=3D0;var = sc_remove=3D0;var sc_cls=3D-1;var sc_inv=3D0;var sc_os=3D"";var = sc_title=3D"";var sc_url=3D"";var sc_base_dir=3D"";var = sc_click_dir=3D"";var sc_link_back_start=3D"";var = sc_link_back_end=3D"";var sc_security_code=3D"";var = sc_http_url=3D"http";var = sc_host=3D"statcounter.com";if(window.sc_invisible){if(window.sc_invisibl= e=3D=3D1){sc_inv=3D1}}if(window.sc_click_stat){sc_cls=3Dwindow.sc_click_s= tat}if(window.sc_https){if(sc_https=3D=3D1){sc_doc_loc=3D''+document.loca= tion;myRE=3Dnew = RegExp("^https","i");if(sc_doc_loc.match(myRE)){sc_http_url=3D"https"}}}i= f(window.sc_local){sc_base_dir=3Dsc_local}else{if(window.sc_partition){if= (sc_cls=3D=3D-1&&sc_partition=3D=3D3){sc_cls=3D1}var = sc_counter=3D"";if(window.sc_partition!=3D34&&sc_partition<=3D45){sc_coun= ter=3Dsc_partition+1}sc_base_dir=3Dsc_http_url+"://c"+sc_counter+"."+sc_h= ost+"/"}else{sc_base_dir=3Dsc_http_url+"://c1."+sc_host+"/"}}sc_click_dir= =3Dsc_base_dir;if(window.sc_text){sc_base_dir+=3D"text.php?"}else{sc_base= _dir+=3D"t.php?"}if(window.sc_project){sc_base_dir+=3D"sc_project=3D"+sc_= project}else = if(window.usr){sc_base_dir+=3D"usr=3D"+usr}else{sc_error=3D1}if(window.sc= _remove_link){sc_link_back_start=3D"";sc_link_back_end=3D""}else{sc_link_= back_start=3D"";sc_link_back_end=3D"<\/a>"}sc_date=3Dnew = Date();sc_time=3Dsc_date.getTime();sc_time_difference=3D3600000;sc_title=3D= ""+document.title;sc_url=3D""+document.location;sc_referer=3Dsc_referer.s= ubstring(0,255);sc_title=3Dsc_title.substring(0,150);sc_url=3Dsc_url.subs= tring(0,150);sc_referer=3Descape(sc_referer);if(encodeURIComponent){sc_ti= tle=3DencodeURIComponent(sc_title)}else{sc_title=3Descape(sc_title)}sc_ur= l=3Descape(sc_url);if(window.sc_security){sc_security_code=3Dsc_security}= var = sc_tracking_url=3Dsc_base_dir+"&resolution=3D"+sc_width+"&h=3D"+sc_height= +"&camefrom=3D"+sc_referer+"&u=3D"+sc_url+"&t=3D"+sc_title+"&java=3D1&sec= urity=3D"+sc_security_code+"&sc_random=3D"+Math.random();var = sc_clstr=3D"";var sc_cltext=3D"\" = alt=3D\"StatCounter - Free Web Tracker and Counter\" = border=3D\"0\">";var sc_strout=3Dsc_clstr+sc_link_back_start+"";if(sc_erro= r=3D=3D1){document.writeln("Code corrupted. Insert fresh copy.")}else = if(sc_remove=3D=3D1){}else{if(sc_inv=3D=3D1){if(window.sc_call){sc_call++= }else{sc_call=3D1}eval("var sc_img"+sc_call+" =3D new = Image();sc_img"+sc_call+".src =3D = \""+sc_tracking_url+"&invisible=3D1\"")}else = if(window.sc_text){document.writeln('')}else{document= .writeln(sc_strout)}}if(sc_cls>0){if(clickstat_done!=3D1){var = clickstat_done=3D1;var clickstat_project=3Dwindow.sc_project;var = clickstat_security=3Dwindow.sc_security_code;var = dlext=3D"7z|aac|avi|csv|doc|exe|flv|gif|gz|jpe?g|js|mp(3|4|e?g)|mov|pdf|p= hps|png|ppt|rar|sit|tar|torrent|txt|wma|wmv|xls|xml|zip";if(typeof(window= .sc_download_type)=3D=3D'string'){dlext=3Dwindow.sc_download_type}var = ltype=3D"https?|ftp|telnet|ssh|ssl|mailto";var = second=3D"ac|co|gov|ltd|me|mod|net|nic|nhs|org|plc|police|sch|com";var = dl=3Dnew RegExp("\\.("+dlext+")$","i");var lnk=3Dnew = RegExp("^("+ltype+"):","i");var domsec=3Dnew = RegExp("\^("+second+")$","i");var = host_name=3Dlocation.host.replace(/^www\./i,"");var = host_splitted=3Dhost_name.split(".");var = domain=3Dhost_splitted.pop();var = host_split=3Dhost_splitted.pop();if(domsec.test(host_split)){domain=3Dhos= t_split+"."+domain;host_split=3Dhost_splitted.pop()}domain=3Dhost_split+"= ."+domain;var lnklocal_mask=3D"^https?:\/\/(.*)"+domain;var = lnklocal=3Dnew = RegExp(lnklocal_mask,"i");if(document.getElementsByTagName){var = anchors=3Ddocument.getElementsByTagName('a');for(var = i=3D0;i0){var = sc_req=3Dsc_click_dir+"click.gif?sc_project=3D"+clickstat_project+"&secur= ity=3D"+clickstat_security+"&c=3D"+sc_link+"&m=3D"+clickmode+"&u=3D"+sc_u= rl+"&t=3D"+sc_title+"&rand=3D"+Math.random();var sc_req_image=3Dnew = Image();sc_req_image.onload=3Dsc_none;sc_req_image.src=3Dsc_req;sc_delay(= )}}}}var = sc_gsyn_pattern=3D'googlesyndication\.com|ypn-js\.overture\.com|googleads= \.g\.doubleclick\.net';var sc_px;var sc_py;function = sc_adsense_click(sc_data){var sc_link=3Descape(sc_data.src);var i=3Dnew = Image();var = sc_req=3Dsc_click_dir+"click.gif?sc_project=3D"+clickstat_project+"&secur= ity=3D"+clickstat_security+"&c=3D"+sc_link+"&m=3D2&u=3D"+sc_url+"&t=3D"+s= c_title+"&rand=3D"+Math.random();i.src=3Dsc_req;sc_delay()}function = sc_adsense_init(){if(document.all&&typeof = window.opera=3D=3D"undefined"){var = el=3Ddocument.getElementsByTagName("iframe");for(var = i=3D0;i(adLeft-10)&&sc_px(adTop-10)&&sc_py * - The type of event * - All of the arguments fire() was executed with as an array * - The custom object (if any) that was passed into the = subscribe() method * * @method fire * @param {Array} an arbitrary set of parameters to pass to the = handler */ fire: function() { var len=3Dthis.subscribers.length; if (!len && this.silent) { return; } var args =3D []; for (var i=3D0; i=3D 0) { cacheItem =3D listeners[index]; } if (!el || !cacheItem) { return false; } if (this.useLegacyEvent(el, sType)) { var legacyIndex =3D this.getLegacyIndex(el, sType); var llist =3D legacyHandlers[legacyIndex]; if (llist) { for (i=3D0, len=3Dllist.length; i 0); } // Delayed listeners var stillDelayed =3D []; for (var i=3D0,len=3DdelayedListeners.length; i 0) { for (var i=3D0,len=3Dlisteners.length; i 0) { //for (i=3D0,len=3Dlisteners.length; i -1); var isSafari =3D (ua.indexOf('safari') > -1); var isIE =3D (window.ActiveXObject); var id_counter =3D 0; var util =3D YAHOO.util; // internal shorthand var property_cache =3D {}; // to cache case conversion for = set/getStyle var toCamel =3D function(property) { var convert =3D function(prop) { var test =3D /(-[a-z])/i.exec(prop); return prop.replace(RegExp.$1, = RegExp.$1.substr(1).toUpperCase()); }; while(property.indexOf('-') > -1) { property =3D convert(property); } return property; //return property.replace(/-([a-z])/gi, function(m0, m1) {return = m1.toUpperCase()}) // cant use function as 2nd arg yet due to safari bug }; var toHyphen =3D function(property) { if (property.indexOf('-') > -1) { // assume hyphen return property; } var converted =3D ''; for (var i =3D 0, len =3D property.length;i < len; ++i) { if (property.charAt(i) =3D=3D property.charAt(i).toUpperCase()) = { converted =3D converted + '-' + = property.charAt(i).toLowerCase(); } else { converted =3D converted + property.charAt(i); } } return converted; //return property.replace(/([a-z])([A-Z]+)/g, function(m0, m1, m2) = {return (m1 + '-' + m2.toLowerCase())}); }; // improve performance by only looking up once var cacheConvertedProperties =3D function(property) { property_cache[property] =3D { camel: toCamel(property), hyphen: toHyphen(property) }; }; return { /** * Returns an HTMLElement reference * @param {String/HTMLElement/Array} el Accepts a string to use as = an ID for getting a DOM reference, an actual DOM reference, or an Array = of IDs and/or HTMLElements. * @return {HTMLElement/Array} A DOM reference to an HTML element = or an array of HTMLElements. */ get: function(el) { if (!el) { return null; } // nothing to work with if (typeof el !=3D 'string' && !(el instanceof Array) ) { // = assuming HTMLElement or HTMLCollection, so pass back as is return el; } if (typeof el =3D=3D 'string') { // ID return document.getElementById(el); } else { // array of ID's and/or elements var collection =3D []; for (var i =3D 0, len =3D el.length; i < len; ++i) { collection[collection.length] =3D util.Dom.get(el[i]); } return collection; } return null; // safety, should never happen }, /** * Normalizes currentStyle and ComputedStyle. * @param {String/HTMLElement/Array} el Accepts a string to use as = an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements. * @param {String} property The style property whose value is = returned. * @return {String/Array} The current value of the style property = for the element(s). */ getStyle: function(el, property) { var f =3D function(el) { var value =3D null; var dv =3D document.defaultView; if (!property_cache[property]) { cacheConvertedProperties(property); } var camel =3D property_cache[property]['camel']; var hyphen =3D property_cache[property]['hyphen']; if (property =3D=3D 'opacity' && el.filters) {// IE opacity value =3D 1; try { value =3D = el.filters.item('DXImageTransform.Microsoft.Alpha').opacity / 100; } catch(e) { try { value =3D el.filters.item('alpha').opacity / 100; } catch(e) {} } } else if (el.style[camel]) { // camelCase for valid styles value =3D el.style[camel]; } else if (isIE && el.currentStyle && el.currentStyle[camel]) = { // camelCase for currentStyle; isIE to workaround broken Opera 9 = currentStyle value =3D el.currentStyle[camel]; } else if ( dv && dv.getComputedStyle ) { // hyphen-case for = computedStyle var computed =3D dv.getComputedStyle(el, ''); if (computed && computed.getPropertyValue(hyphen)) { value =3D computed.getPropertyValue(hyphen); } } return value; }; return util.Dom.batch(el, f, util.Dom, true); }, /** * Wrapper for setting style properties of HTMLElements. = Normalizes "opacity" across modern browsers. * @param {String/HTMLElement/Array} el Accepts a string to use as = an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements. * @param {String} property The style property to be set. * @param {String} val The value to apply to the given property. */ setStyle: function(el, property, val) { if (!property_cache[property]) { cacheConvertedProperties(property); } var camel =3D property_cache[property]['camel']; var f =3D function(el) { switch(property) { case 'opacity' : if (isIE && typeof el.style.filter =3D=3D 'string') { = // in case not appended el.style.filter =3D 'alpha(opacity=3D' + val * 100 = + ')'; if (!el.currentStyle || !el.currentStyle.hasLayout) = { el.style.zoom =3D 1; // when no layout or cant = tell } } else { el.style.opacity =3D val; el.style['-moz-opacity'] =3D val; el.style['-khtml-opacity'] =3D val; } break; default : el.style[camel] =3D val; } }; util.Dom.batch(el, f, util.Dom, true); }, /** * Gets the current position of an element based on page = coordinates. Element must be part of the DOM tree to have page = coordinates (display:none or elements not appended return false). * @param {String/HTMLElement/Array} el Accepts a string to use as = an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements @ return {Array} The XY position of the element(s) */ getXY: function(el) { var f =3D function(el) { // has to be part of document to have pageXY if (el.offsetParent =3D=3D=3D null || this.getStyle(el, = 'display') =3D=3D 'none') { return false; } var parentNode =3D null; var pos =3D []; var box; if (el.getBoundingClientRect) { // IE box =3D el.getBoundingClientRect(); var doc =3D document; if ( !this.inDocument(el) && parent.document !=3D = document) {// might be in a frame, need to get its scroll doc =3D parent.document; if ( !this.isAncestor(doc.documentElement, el) ) { return false; } } var scrollTop =3D Math.max(doc.documentElement.scrollTop, = doc.body.scrollTop); var scrollLeft =3D = Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft); return [box.left + scrollLeft, box.top + scrollTop]; } else { // safari, opera, & gecko pos =3D [el.offsetLeft, el.offsetTop]; parentNode =3D el.offsetParent; if (parentNode !=3D el) { while (parentNode) { pos[0] +=3D parentNode.offsetLeft; pos[1] +=3D parentNode.offsetTop; parentNode =3D parentNode.offsetParent; } } if (isSafari && this.getStyle(el, 'position') =3D=3D = 'absolute' ) { // safari doubles in some cases pos[0] -=3D document.body.offsetLeft; pos[1] -=3D document.body.offsetTop; } } if (el.parentNode) { parentNode =3D el.parentNode; } else { parentNode =3D null; } while (parentNode && parentNode.tagName.toUpperCase() !=3D = 'BODY' && parentNode.tagName.toUpperCase() !=3D 'HTML') { // account for any scrolled ancestors if (util.Dom.getStyle(parentNode, 'display') !=3D = 'inline') { // work around opera inline scrollLeft/Top bug pos[0] -=3D parentNode.scrollLeft; pos[1] -=3D parentNode.scrollTop; } if (parentNode.parentNode) { parentNode =3D = parentNode.parentNode; } else { parentNode =3D null; } } return pos; }; return util.Dom.batch(el, f, util.Dom, true); }, /** * Gets the current X position of an element based on page = coordinates. The element must be part of the DOM tree to have page = coordinates (display:none or elements not appended return false). * @param {String/HTMLElement/Array} el Accepts a string to use as = an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements * @return {String/Array} The X position of the element(s) */ getX: function(el) { var f =3D function(el) { return util.Dom.getXY(el)[0]; }; return util.Dom.batch(el, f, util.Dom, true); }, /** * Gets the current Y position of an element based on page = coordinates. Element must be part of the DOM tree to have page = coordinates (display:none or elements not appended return false). * @param {String/HTMLElement/Array} el Accepts a string to use as = an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements * @return {String/Array} The Y position of the element(s) */ getY: function(el) { var f =3D function(el) { return util.Dom.getXY(el)[1]; }; return util.Dom.batch(el, f, util.Dom, true); }, /** * Set the position of an html element in page coordinates, = regardless of how the element is positioned. * The element(s) must be part of the DOM tree to have page = coordinates (display:none or elements not appended return false). * @param {String/HTMLElement/Array} el Accepts a string to use as = an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements * @param {Array} pos Contains X & Y values for new position = (coordinates are page-based) * @param {Boolean} noRetry By default we try and set the position = a second time if the first fails */ setXY: function(el, pos, noRetry) { var f =3D function(el) { var style_pos =3D this.getStyle(el, 'position'); if (style_pos =3D=3D 'static') { // default to relative this.setStyle(el, 'position', 'relative'); style_pos =3D 'relative'; } var pageXY =3D this.getXY(el); if (pageXY =3D=3D=3D false) { // has to be part of doc to = have pageXY return false; } var delta =3D [ // assuming pixels; if not we will have to = retry parseInt( this.getStyle(el, 'left'), 10 ), parseInt( this.getStyle(el, 'top'), 10 ) ]; if ( isNaN(delta[0]) ) {// in case of 'auto' delta[0] =3D (style_pos =3D=3D 'relative') ? 0 : = el.offsetLeft; } if ( isNaN(delta[1]) ) { // in case of 'auto' delta[1] =3D (style_pos =3D=3D 'relative') ? 0 : = el.offsetTop; } if (pos[0] !=3D=3D null) { el.style.left =3D pos[0] - = pageXY[0] + delta[0] + 'px'; } if (pos[1] !=3D=3D null) { el.style.top =3D pos[1] - = pageXY[1] + delta[1] + 'px'; } var newXY =3D this.getXY(el); // if retry is true, try one more time if we miss if (!noRetry && (newXY[0] !=3D pos[0] || newXY[1] !=3D = pos[1]) ) { this.setXY(el, pos, true); } }; util.Dom.batch(el, f, util.Dom, true); }, /** * Set the X position of an html element in page coordinates, = regardless of how the element is positioned. * The element must be part of the DOM tree to have page = coordinates (display:none or elements not appended return false). * @param {String/HTMLElement/Array} el Accepts a string to use as = an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements. * @param {Int} x to use as the X coordinate for the element(s). */ setX: function(el, x) { util.Dom.setXY(el, [x, null]); }, /** * Set the Y position of an html element in page coordinates, = regardless of how the element is positioned. * The element must be part of the DOM tree to have page = coordinates (display:none or elements not appended return false). * @param {String/HTMLElement/Array} el Accepts a string to use as = an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements. * @param {Int} x to use as the Y coordinate for the element(s). */ setY: function(el, y) { util.Dom.setXY(el, [null, y]); }, /** * Returns the region position of the given element. * The element must be part of the DOM tree to have a region = (display:none or elements not appended return false). * @param {String/HTMLElement/Array} el Accepts a string to use as = an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements. * @return {Region/Array} A Region or array of Region instances = containing "top, left, bottom, right" member data. */ getRegion: function(el) { var f =3D function(el) { var region =3D new YAHOO.util.Region.getRegion(el); return region; }; return util.Dom.batch(el, f, util.Dom, true); }, /** * Returns the width of the client (viewport). * Now using getViewportWidth. This interface left intact for = back compat. * @return {Int} The width of the viewable area of the page. */ getClientWidth: function() { return util.Dom.getViewportWidth(); }, /** * Returns the height of the client (viewport). * Now using getViewportHeight. This interface left intact for = back compat. * @return {Int} The height of the viewable area of the page. */ getClientHeight: function() { return util.Dom.getViewportHeight(); }, /** * Returns a array of HTMLElements with the given class * For optimized performance, include a tag and/or root node if = possible * @param {String} className The class name to match against * @param {String} tag (optional) The tag name of the elements = being collected * @param {String/HTMLElement} root (optional) The HTMLElement or = an ID to use as the starting point * @return {Array} An array of elements that have the given class = name */ getElementsByClassName: function(className, tag, root) { var method =3D function(el) { return util.Dom.hasClass(el, = className) }; return util.Dom.getElementsBy(method, tag, root); }, /** * Determines whether an HTMLElement has the given className * @param {String/HTMLElement/Array} el The element or collection = to test * @param {String} className the class name to search for * @return {Boolean/Array} A boolean value or array of boolean = values */ hasClass: function(el, className) { var re =3D new RegExp('(?:^|\\s+)' + className + '(?:\\s+|$)'); var f =3D function(el) { return re.test(el['className']); }; return util.Dom.batch(el, f, util.Dom, true); }, /** * Adds a class name to a given element or collection of elements * @param {String/HTMLElement/Array} el The element or collection = to add the class to * @param {String} className the class name to add to the class = attribute */ addClass: function(el, className) { var f =3D function(el) { if (this.hasClass(el, className)) { return; } // already = present el['className'] =3D [el['className'], className].join(' '); }; util.Dom.batch(el, f, util.Dom, true); }, /** * Removes a class name from a given element or collection of = elements * @param {String/HTMLElement/Array} el The element or collection = to remove the class from * @param {String} className the class name to remove from the = class attribute */ removeClass: function(el, className) { var re =3D new RegExp('(?:^|\\s+)' + className + '(?:\\s+|$)', = 'g'); var f =3D function(el) { if (!this.hasClass(el, className)) { return; } // not = present var c =3D el['className']; el['className'] =3D c.replace(re, ' '); if ( this.hasClass(el, className) ) { // in case of multiple = adjacent this.removeClass(el, className); } }; util.Dom.batch(el, f, util.Dom, true); }, /** * Replace a class with another class for a given element or = collection of elements. * If no oldClassName is present, the newClassName is simply = added. * @param {String/HTMLElement/Array} el The element or collection = to remove the class from * @param {String} oldClassName the class name to be replaced * @param {String} newClassName the class name that will be = replacing the old class name */ replaceClass: function(el, oldClassName, newClassName) { if (oldClassName =3D=3D=3D newClassName) { // avoid infinite = loop return false; }; var re =3D new RegExp('(?:^|\\s+)' + oldClassName + = '(?:\\s+|$)', 'g'); var f =3D function(el) { if ( !this.hasClass(el, oldClassName) ) { this.addClass(el, newClassName); // just add it if = nothing to replace return; // note return } el['className'] =3D el['className'].replace(re, ' ' + = newClassName + ' '); if ( this.hasClass(el, oldClassName) ) { // in case of = multiple adjacent this.replaceClass(el, oldClassName, newClassName); } }; util.Dom.batch(el, f, util.Dom, true); }, /** * Generates a unique ID * @param {String/HTMLElement/Array} el (optional) An optional = element array of elements to add an ID to (no ID is added if one is = already present) * @param {String} prefix (optional) an optional prefix to use = (defaults to "yui-gen") * @return {String/Array} The generated ID, or array of generated = IDs (or original ID if already present on an element) */ generateId: function(el, prefix) { prefix =3D prefix || 'yui-gen'; el =3D el || {}; var f =3D function(el) { if (el) { el =3D util.Dom.get(el); } else { el =3D {}; // just generating ID in this case } if (!el.id) { el.id =3D prefix + id_counter++; } // dont override existing return el.id; }; return util.Dom.batch(el, f, util.Dom, true); }, /** * Determines whether an HTMLElement is an ancestor of another = HTML element in the DOM hierarchy * @param {String/HTMLElement} haystack The possible ancestor * @param {String/HTMLElement} needle The possible descendent * @return {Boolean} Whether or not the haystack is an ancestor of = needle */ isAncestor: function(haystack, needle) { haystack =3D util.Dom.get(haystack); if (!haystack || !needle) { return false; } var f =3D function(needle) { if (haystack.contains && !isSafari) { // safari "contains" = is broken return haystack.contains(needle); } else if ( haystack.compareDocumentPosition ) { return !!(haystack.compareDocumentPosition(needle) & 16); } else { // loop up and test each parent var parent =3D needle.parentNode; while (parent) { if (parent =3D=3D haystack) { return true; } else if (!parent.tagName || = parent.tagName.toUpperCase() =3D=3D 'HTML') { return false; } parent =3D parent.parentNode; } return false; } }; return util.Dom.batch(needle, f, util.Dom, true); }, /** * Determines whether an HTMLElement is present in the current = document * @param {String/HTMLElement} el The element to search for * @return {Boolean} Whether or not the element is present in the = current document */ inDocument: function(el) { var f =3D function(el) { return this.isAncestor(document.documentElement, el); }; return util.Dom.batch(el, f, util.Dom, true); }, /** * Returns a array of HTMLElements that pass the test applied by = supplied boolean method * For optimized performance, include a tag and/or root node if = possible * @param {Function} method A boolean method to test elements with * @param {String} tag (optional) The tag name of the elements = being collected * @param {String/HTMLElement} root (optional) The HTMLElement or = an ID to use as the starting point */ getElementsBy: function(method, tag, root) { tag =3D tag || '*'; root =3D util.Dom.get(root) || document; var nodes =3D []; var elements =3D root.getElementsByTagName(tag); if ( !elements.length && (tag =3D=3D '*' && root.all) ) { elements =3D root.all; // IE < 6 } for (var i =3D 0, len =3D elements.length; i < len; ++i) { if ( method(elements[i]) ) { nodes[nodes.length] =3D = elements[i]; } } return nodes; }, /** * Returns an array of elements that have had the supplied method = applied. * The method is called with the element(s) as the first arg, and = the optional param as the second ( method(el, o) ) * @param {String/HTMLElement/Array} el (optional) An element or = array of elements to apply the method to * @param {Function} method The method to apply to the element(s) * @param {Generic} (optional) o An optional arg that is passed to = the supplied method * @param {Boolean} (optional) override Whether or not to override = the scope of "method" with "o" * @return {HTMLElement/Array} The element(s) with the method = applied */ batch: function(el, method, o, override) { var id =3D el; el =3D util.Dom.get(el); var scope =3D (override) ? o : window; if (!el || el.tagName || !el.length) { // is null or not a = collection (tagName for SELECT and others that can be both an element = and a collection) if (!el) { return false; } return method.call(scope, el, o); } var collection =3D []; for (var i =3D 0, len =3D el.length; i < len; ++i) { if (!el[i]) { id =3D id[i]; } collection[collection.length] =3D method.call(scope, el[i], = o); } return collection; }, /** * Returns the height of the document. * @return {Int} The height of the actual document (which includes = the body and its margin). */ getDocumentHeight: function() { var scrollHeight=3D-1,windowHeight=3D-1,bodyHeight=3D-1; var marginTop =3D parseInt(util.Dom.getStyle(document.body, = 'marginTop'), 10); var marginBottom =3D parseInt(util.Dom.getStyle(document.body, = 'marginBottom'), 10); var mode =3D document.compatMode; if ( (mode || isIE) && !isOpera ) { // (IE, Gecko) switch (mode) { case 'CSS1Compat': // Standards mode scrollHeight =3D ((window.innerHeight && = window.scrollMaxY) ? window.innerHeight+window.scrollMaxY : -1); windowHeight =3D = [document.documentElement.clientHeight,self.innerHeight||-1].sort(functio= n(a, b){return(a-b);})[1]; bodyHeight =3D document.body.offsetHeight + marginTop = + marginBottom; break; default: // Quirks scrollHeight =3D document.body.scrollHeight; bodyHeight =3D document.body.clientHeight; } } else { // Safari & Opera scrollHeight =3D document.documentElement.scrollHeight; windowHeight =3D self.innerHeight; bodyHeight =3D document.documentElement.clientHeight; } var h =3D = [scrollHeight,windowHeight,bodyHeight].sort(function(a, = b){return(a-b);}); return h[2]; }, /** * Returns the width of the document. * @return {Int} The width of the actual document (which includes = the body and its margin). */ getDocumentWidth: function() { var docWidth=3D-1,bodyWidth=3D-1,winWidth=3D-1; var marginRight =3D parseInt(util.Dom.getStyle(document.body, = 'marginRight'), 10); var marginLeft =3D parseInt(util.Dom.getStyle(document.body, = 'marginLeft'), 10); var mode =3D document.compatMode; if (mode || isIE) { // (IE, Gecko, Opera) switch (mode) { case 'CSS1Compat': // Standards mode docWidth =3D document.documentElement.clientWidth; bodyWidth =3D document.body.offsetWidth + marginLeft + = marginRight; break; default: // Quirks bodyWidth =3D document.body.clientWidth; docWidth =3D document.body.scrollWidth; break; } } else { // Safari docWidth =3D document.documentElement.clientWidth; bodyWidth =3D document.body.offsetWidth + marginLeft + = marginRight; } var w =3D Math.max(docWidth, bodyWidth); return w; }, /** * Returns the current height of the viewport. * @return {Int} The height of the viewable area of the page = (excludes scrollbars). */ getViewportHeight: function() { var height =3D -1; var mode =3D document.compatMode; if ( (mode || isIE) && !isOpera ) { switch (mode) { // (IE, Gecko) case 'CSS1Compat': // Standards mode height =3D document.documentElement.clientHeight; break; default: // Quirks height =3D document.body.clientHeight; } } else { // Safari, Opera height =3D self.innerHeight; } return height; }, /** * Returns the current width of the viewport. * @return {Int} The width of the viewable area of the page = (excludes scrollbars). */ getViewportWidth: function() { var width =3D -1; var mode =3D document.compatMode; if (mode || isIE) { // (IE, Gecko, Opera) switch (mode) { case 'CSS1Compat': // Standards mode width =3D document.documentElement.clientWidth; break; default: // Quirks width =3D document.body.clientWidth; } } else { // Safari width =3D self.innerWidth; } return width; } }; }(); /** * @class A region is a representation of an object on a grid. It is = defined * by the top, right, bottom, left extents, so is rectangular by = default. If * other shapes are required, this class could be extended to support = it. * * @param {int} t the top extent * @param {int} r the right extent * @param {int} b the bottom extent * @param {int} l the left extent * @constructor */ YAHOO.util.Region =3D function(t, r, b, l) { /** * The region's top extent * @type int */ this.top =3D t; /** * The region's top extent as index, for symmetry with set/getXY * @type int */ this[1] =3D t; /** * The region's right extent * @type int */ this.right =3D r; /** * The region's bottom extent * @type int */ this.bottom =3D b; /** * The region's left extent * @type int */ this.left =3D l; /** * The region's left extent as index, for symmetry with set/getXY * @type int */ this[0] =3D l; }; /** * Returns true if this region contains the region passed in * * @param {Region} region The region to evaluate * @return {boolean} True if the region is contained with this = region, * else false */ YAHOO.util.Region.prototype.contains =3D function(region) { return ( region.left >=3D this.left && region.right <=3D this.right && region.top >=3D this.top && region.bottom <=3D this.bottom ); }; /** * Returns the area of the region * * @return {int} the region's area */ YAHOO.util.Region.prototype.getArea =3D function() { return ( (this.bottom - this.top) * (this.right - this.left) ); }; /** * Returns the region where the passed in region overlaps with this one * * @param {Region} region The region that intersects * @return {Region} The overlap region, or null if there is no = overlap */ YAHOO.util.Region.prototype.intersect =3D function(region) { var t =3D Math.max( this.top, region.top ); var r =3D Math.min( this.right, region.right ); var b =3D Math.min( this.bottom, region.bottom ); var l =3D Math.max( this.left, region.left ); if (b >=3D t && r >=3D l) { return new YAHOO.util.Region(t, r, b, l); } else { return null; } }; /** * Returns the region representing the smallest region that can contain = both * the passed in region and this region. * * @param {Region} region The region that to create the union with * @return {Region} The union region */ YAHOO.util.Region.prototype.union =3D function(region) { var t =3D Math.min( this.top, region.top ); var r =3D Math.max( this.right, region.right ); var b =3D Math.max( this.bottom, region.bottom ); var l =3D Math.min( this.left, region.left ); return new YAHOO.util.Region(t, r, b, l); }; /** * toString * @return string the region properties */ YAHOO.util.Region.prototype.toString =3D function() { return ( "Region {" + "top: " + this.top + ", right: " + this.right + ", bottom: " + this.bottom + ", left: " + this.left + "}" ); }; /** * Returns a region that is occupied by the DOM element * * @param {HTMLElement} el The element * @return {Region} The region that the element occupies * @static */ YAHOO.util.Region.getRegion =3D function(el) { var p =3D YAHOO.util.Dom.getXY(el); var t =3D p[1]; var r =3D p[0] + el.offsetWidth; var b =3D p[1] + el.offsetHeight; var l =3D p[0]; return new YAHOO.util.Region(t, r, b, l); }; /////////////////////////////////////////////////////////////////////////= //// /** * @class * * A point is a region that is special in that it represents a single = point on * the grid. * * @param {int} x The X position of the point * @param {int} y The Y position of the point * @constructor * @extends Region */ YAHOO.util.Point =3D function(x, y) { if (x instanceof Array) { // accept output from Dom.getXY y =3D x[1]; x =3D x[0]; } /** * The X position of the point, which is also the right, left and = index zero (for Dom.getXY symmetry) * @type int */ this.x =3D this.right =3D this.left =3D this[0] =3D x; /** * The Y position of the point, which is also the top, bottom and = index one (for Dom.getXY symmetry) * @type int */ this.y =3D this.top =3D this.bottom =3D this[1] =3D y; }; YAHOO.util.Point.prototype =3D new YAHOO.util.Region(); ------=_NextPart_000_0000_01C9A936.5CBF2A50 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.emsc-csem.org/yui/build/container/container_core.js /* Copyright (c) 2006, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.net/yui/license.txt Version 0.11.4 */ /** * Config is a utility used within an object to allow the implementer to = maintain a list of local configuration properties and listen for changes = to those properties dynamically using CustomEvent. The initial values = are also maintained so that the configuration can be reset at any given = point to its initial state. * @param {object} owner The owner object to which this Config object = belongs * @constructor */ YAHOO.util.Config =3D function(owner) { if (owner) { this.init(owner); } }; YAHOO.util.Config.prototype =3D { =09 /** * Object reference to the owner of this Config object * @type object */ owner : null, /** * Object reference to the owner of this Config object * args: key, value * @type YAHOO.util.CustomEvent */ configChangedEvent : null, /** * Boolean flag that specifies whether a queue is currently being = executed * @type boolean */ queueInProgress : false, /** * Adds a property to the Config object's private config hash.=20 * @param {string} key The configuration property's name * @param {object} propertyObject The object containing all of this = property's arguments */ addProperty : function(key, propertyObject){}, /** * Returns a key-value configuration map of the values currently set in = the Config object. * @return {object} The current config, represented in a key-value map */ getConfig : function(){}, /** * Returns the value of specified property. * @param {key} The name of the property * @return {object} The value of the specified property */ getProperty : function(key){}, /** * Resets the specified property's value to its initial value. * @param {key} The name of the property */ resetProperty : function(key){}, /** * Sets the value of a property. If the silent property is passed as = true, the property's event will not be fired. * @param {key} The name of the property * @param {value} The value to set the property to * @param {boolean} Whether the value should be set silently, without = firing the property event. * @return {boolean} true, if the set was successful, false if it = failed. */ setProperty : function(key,value,silent){}, /** * Sets the value of a property and queues its event to execute. If the = event is already scheduled to execute, it is * moved from its current position to the end of the queue. * @param {key} The name of the property * @param {value} The value to set the property to * @return {boolean} true, if the set was successful, false if it = failed. */=09 queueProperty : function(key,value){}, /** * Fires the event for a property using the property's current value. * @param {key} The name of the property */ refireEvent : function(key){}, /** * Applies a key-value object literal to the configuration, replacing = any existing values, and queueing the property events. * Although the values will be set, fireQueue() must be called for their = associated events to execute. * @param {object} userConfig The configuration object literal * @param {boolean} init When set to true, the initialConfig will be = set to the userConfig passed in, so that calling a reset will reset the = properties to the passed values. */ applyConfig : function(userConfig,init){}, /** * Refires the events for all configuration properties using their = current values. */ refresh : function(){}, /** * Fires the normalized list of queued property change events */ fireQueue : function(){}, /** * Subscribes an external handler to the change event for any given = property.=20 * @param {string} key The property name * @param {Function} handler The handler function to use subscribe to = the property's event * @param {object} obj The object to use for scoping the event handler = (see CustomEvent documentation) * @param {boolean} override Optional. If true, will override "this" = within the handler to map to the scope object passed into the method. */=09 subscribeToConfigEvent : function(key,handler,obj,override){}, /** * Unsubscribes an external handler from the change event for any given = property.=20 * @param {string} key The property name * @param {Function} handler The handler function to use subscribe to = the property's event * @param {object} obj The object to use for scoping the event handler = (see CustomEvent documentation) */ unsubscribeFromConfigEvent: function(key,handler,obj){}, /** * Validates that the value passed in is a boolean. * @param {object} val The value to validate * @return {boolean} true, if the value is valid */=09 checkBoolean: function(val) { if (typeof val =3D=3D 'boolean') { return true; } else { return false; } }, /** * Validates that the value passed in is a number. * @param {object} val The value to validate * @return {boolean} true, if the value is valid */ checkNumber: function(val) { if (isNaN(val)) { return false; } else { return true; } } }; /** * Initializes the configuration object and all of its local members. * @param {object} owner The owner object to which this Config object = belongs */ YAHOO.util.Config.prototype.init =3D function(owner) { this.owner =3D owner; this.configChangedEvent =3D new = YAHOO.util.CustomEvent("configChanged"); this.queueInProgress =3D false; /* Private Members */ var config =3D {}; var initialConfig =3D {}; var eventQueue =3D []; /** * @private * Fires a configuration property event using the specified value.=20 * @param {string} key The configuration property's name * @param {value} object The value of the correct type for the property */=20 var fireEvent =3D function( key, value ) { key =3D key.toLowerCase(); var property =3D config[key]; if (typeof property !=3D 'undefined' && property.event) { property.event.fire(value); }=09 }; /* End Private Members */ this.addProperty =3D function( key, propertyObject ) { key =3D key.toLowerCase(); config[key] =3D propertyObject; propertyObject.event =3D new YAHOO.util.CustomEvent(key); propertyObject.key =3D key; if (propertyObject.handler) { propertyObject.event.subscribe(propertyObject.handler, this.owner, = true); } this.setProperty(key, propertyObject.value, true); =09 if (! propertyObject.suppressEvent) { this.queueProperty(key, propertyObject.value); } }; this.getConfig =3D function() { var cfg =3D {}; =09 for (var prop in config) { var property =3D config[prop]; if (typeof property !=3D 'undefined' && property.event) { cfg[prop] =3D property.value; } } =09 return cfg; }; this.getProperty =3D function(key) { key =3D key.toLowerCase(); var property =3D config[key]; if (typeof property !=3D 'undefined' && property.event) { return property.value; } else { return undefined; } }; this.resetProperty =3D function(key) { key =3D key.toLowerCase(); var property =3D config[key]; if (typeof property !=3D 'undefined' && property.event) { this.setProperty(key, initialConfig[key].value); } else { return undefined; } }; this.setProperty =3D function(key, value, silent) { key =3D key.toLowerCase(); if (this.queueInProgress && ! silent) { this.queueProperty(key,value); // Currently running through a = queue...=20 return true; } else { var property =3D config[key]; if (typeof property !=3D 'undefined' && property.event) { if (property.validator && ! property.validator(value)) { // = validator return false; } else { property.value =3D value; if (! silent) { fireEvent(key, value); this.configChangedEvent.fire([key, value]); } return true; } } else { return false; } } }; this.queueProperty =3D function(key, value) { key =3D key.toLowerCase(); var property =3D config[key]; =09 if (typeof property !=3D 'undefined' && property.event) { if (typeof value !=3D 'undefined' && property.validator && ! = property.validator(value)) { // validator return false; } else { if (typeof value !=3D 'undefined') { property.value =3D value; } else { value =3D property.value; } var foundDuplicate =3D false; for (var i=3D0;iOR * @param {Element} el The element representing the Module * @param {object} userConfig The configuration object literal containing = the configuration that should be set for this module. See configuration = documentation for more details. * @constructor */ YAHOO.widget.Module =3D function(el, userConfig) { if (el) {=20 this.init(el, userConfig);=20 } }; /** * Constant representing the prefix path to use for non-secure images * @type string */ YAHOO.widget.Module.IMG_ROOT =3D "http://us.i1.yimg.com/us.yimg.com/i/"; /** * Constant representing the prefix path to use for securely served = images * @type string */ YAHOO.widget.Module.IMG_ROOT_SSL =3D = "https://a248.e.akamai.net/sec.yimg.com/i/"; /** * Constant for the default CSS class name that represents a Module * @type string * @final */ YAHOO.widget.Module.CSS_MODULE =3D "module"; /** * Constant representing the module header * @type string * @final */ YAHOO.widget.Module.CSS_HEADER =3D "hd"; /** * Constant representing the module body * @type string * @final */ YAHOO.widget.Module.CSS_BODY =3D "bd"; /** * Constant representing the module footer * @type string * @final */ YAHOO.widget.Module.CSS_FOOTER =3D "ft"; /** * Constant representing the url for the "src" attribute of the iframe = used to monitor changes to the browser's base font size * @type string * @final */ YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL =3D "javascript:false"; YAHOO.widget.Module.prototype =3D { /** * The class's constructor function * @type function */ constructor : YAHOO.widget.Module, /** * The main module element that contains the header, body, and footer * @type Element */ element : null,=20 /** * The header element, denoted with CSS class "hd" * @type Element */ header : null, /** * The body element, denoted with CSS class "bd" * @type Element */ body : null, /** * The footer element, denoted with CSS class "ft" * @type Element */ footer : null, /** * The id of the element * @type string */ id : null, /** * Array of elements * @type Element[] */ childNodesInDOM : null, /** * The string representing the image root * @type string */ imageRoot : YAHOO.widget.Module.IMG_ROOT, /** * CustomEvent fired prior to class initalization. * args: class reference of the initializing class, such as = this.beforeInitEvent.fire(YAHOO.widget.Module) * @type YAHOO.util.CustomEvent */ beforeInitEvent : null, /** * CustomEvent fired after class initalization. * args: class reference of the initializing class, such as = this.initEvent.fire(YAHOO.widget.Module) * @type YAHOO.util.CustomEvent */ initEvent : null, /** * CustomEvent fired when the Module is appended to the DOM * args: none * @type YAHOO.util.CustomEvent */ appendEvent : null, /** * CustomEvent fired before the Module is rendered * args: none * @type YAHOO.util.CustomEvent */ beforeRenderEvent : null, /** * CustomEvent fired after the Module is rendered * args: none * @type YAHOO.util.CustomEvent */ renderEvent : null, /** * CustomEvent fired when the header content of the Module is modified * args: string/element representing the new header content * @type YAHOO.util.CustomEvent */ changeHeaderEvent : null, /** * CustomEvent fired when the body content of the Module is modified * args: string/element representing the new body content * @type YAHOO.util.CustomEvent */ changeBodyEvent : null, /** * CustomEvent fired when the footer content of the Module is modified * args: string/element representing the new footer content * @type YAHOO.util.CustomEvent */ changeFooterEvent : null, /** * CustomEvent fired when the content of the Module is modified * args: none * @type YAHOO.util.CustomEvent */ changeContentEvent : null, /** * CustomEvent fired when the Module is destroyed * args: none * @type YAHOO.util.CustomEvent */ destroyEvent : null, /** * CustomEvent fired before the Module is shown * args: none * @type YAHOO.util.CustomEvent */ beforeShowEvent : null, /** * CustomEvent fired after the Module is shown * args: none * @type YAHOO.util.CustomEvent */ showEvent : null, /** * CustomEvent fired before the Module is hidden * args: none * @type YAHOO.util.CustomEvent */ beforeHideEvent : null, =09 /** * CustomEvent fired after the Module is hidden * args: none * @type YAHOO.util.CustomEvent */ hideEvent : null, =09 /** * Initializes the custom events for Module which are fired = automatically at appropriate times by the Module class. */ initEvents : function() { this.beforeInitEvent =3D new YAHOO.util.CustomEvent("beforeInit"); this.initEvent =3D new YAHOO.util.CustomEvent("init"); this.appendEvent =3D new YAHOO.util.CustomEvent("append"); this.beforeRenderEvent =3D new = YAHOO.util.CustomEvent("beforeRender"); this.renderEvent =3D new YAHOO.util.CustomEvent("render"); this.changeHeaderEvent =3D new = YAHOO.util.CustomEvent("changeHeader"); this.changeBodyEvent =3D new YAHOO.util.CustomEvent("changeBody"); this.changeFooterEvent =3D new = YAHOO.util.CustomEvent("changeFooter"); this.changeContentEvent =3D new = YAHOO.util.CustomEvent("changeContent"); this.destroyEvent =3D new YAHOO.util.CustomEvent("destroy"); this.beforeShowEvent =3D new YAHOO.util.CustomEvent("beforeShow"); this.showEvent =3D new YAHOO.util.CustomEvent("show"); this.beforeHideEvent =3D new YAHOO.util.CustomEvent("beforeHide"); this.hideEvent =3D new YAHOO.util.CustomEvent("hide"); },=20 /** * String representing the current user-agent platform * @type string */ platform : function() { var ua =3D navigator.userAgent.toLowerCase(); if (ua.indexOf("windows") !=3D -1 || ua.indexOf("win32") !=3D -1) { return "windows"; } else if (ua.indexOf("macintosh") !=3D -1) { return "mac"; } else { return false; } }(), /** * String representing the current user-agent browser * @type string */ browser : function() { var ua =3D navigator.userAgent.toLowerCase(); if (ua.indexOf('opera')!=3D-1) { // Opera (check first in case of = spoof) return 'opera'; } else if (ua.indexOf('msie 7')!=3D-1) { // IE7 return 'ie7'; } else if (ua.indexOf('msie') !=3D-1) { // IE return 'ie'; } else if (ua.indexOf('safari')!=3D-1) { // Safari (check before = Gecko because it includes "like Gecko") return 'safari'; } else if (ua.indexOf('gecko') !=3D -1) { // Gecko return 'gecko'; } else { return false; } }(), /** * Boolean representing whether or not the current browsing context is = secure (https) * @type boolean */ isSecure : function() { if (window.location.href.toLowerCase().indexOf("https") =3D=3D=3D 0) { return true; } else { return false; } }(), /** * Initializes the custom events for Module which are fired = automatically at appropriate times by the Module class. */ initDefaultConfig : function() { // Add properties // this.cfg.addProperty("visible", { value:true, = handler:this.configVisible, validator:this.cfg.checkBoolean } ); this.cfg.addProperty("effect", { suppressEvent:true, = supercedes:["visible"] } ); this.cfg.addProperty("monitorresize", { value:true, = handler:this.configMonitorResize } ); }, /** * The Module class's initialization method, which is executed for = Module and all of its subclasses. This method is automatically called by = the constructor, and sets up all DOM references for pre-existing = markup, and creates required markup if it is not already present. * @param {string} el The element ID representing the Module OR * @param {Element} el The element representing the Module * @param {object} userConfig The configuration object literal = containing the configuration that should be set for this module. See = configuration documentation for more details. */ init : function(el, userConfig) { this.initEvents(); this.beforeInitEvent.fire(YAHOO.widget.Module); this.cfg =3D new YAHOO.util.Config(this); =09 if (this.isSecure) { this.imageRoot =3D YAHOO.widget.Module.IMG_ROOT_SSL; } if (typeof el =3D=3D "string") { var elId =3D el; el =3D document.getElementById(el); if (! el) { el =3D document.createElement("DIV"); el.id =3D elId; } } this.element =3D el; =09 if (el.id) { this.id =3D el.id; }=20 var childNodes =3D this.element.childNodes; if (childNodes) { for (var i=3D0;iOR * @param {Element} headerContent The Element to append to the header */=09 setHeader : function(headerContent) { if (! this.header) { this.header =3D document.createElement("DIV"); this.header.className =3D YAHOO.widget.Module.CSS_HEADER; } =09 if (typeof headerContent =3D=3D "string") { this.header.innerHTML =3D headerContent; } else { this.header.innerHTML =3D ""; this.header.appendChild(headerContent); } this.changeHeaderEvent.fire(headerContent); this.changeContentEvent.fire(); }, /** * Appends the passed element to the header. If no header is present, = one will be automatically created. * @param {Element} element The element to append to the header */=09 appendToHeader : function(element) { if (! this.header) { this.header =3D document.createElement("DIV"); this.header.className =3D YAHOO.widget.Module.CSS_HEADER; } =09 this.header.appendChild(element); this.changeHeaderEvent.fire(element); this.changeContentEvent.fire(); }, /** * Sets the Module's body content to the HTML specified, or appends the = passed element to the body. If no body is present, one will be = automatically created. * @param {string} bodyContent The HTML used to set the body OR * @param {Element} bodyContent The Element to append to the body */ =09 setBody : function(bodyContent) { if (! this.body) { this.body =3D document.createElement("DIV"); this.body.className =3D YAHOO.widget.Module.CSS_BODY; } if (typeof bodyContent =3D=3D "string") { this.body.innerHTML =3D bodyContent; } else { this.body.innerHTML =3D ""; this.body.appendChild(bodyContent); } this.changeBodyEvent.fire(bodyContent); this.changeContentEvent.fire(); }, /** * Appends the passed element to the body. If no body is present, one = will be automatically created. * @param {Element} element The element to append to the body */ appendToBody : function(element) { if (! this.body) { this.body =3D document.createElement("DIV"); this.body.className =3D YAHOO.widget.Module.CSS_BODY; } this.body.appendChild(element); this.changeBodyEvent.fire(element); this.changeContentEvent.fire(); }, /** * Sets the Module's footer content to the HTML specified, or appends = the passed element to the footer. If no footer is present, one will be = automatically created. * @param {string} footerContent The HTML used to set the footer = OR * @param {Element} footerContent The Element to append to the footer */=09 setFooter : function(footerContent) { if (! this.footer) { this.footer =3D document.createElement("DIV"); this.footer.className =3D YAHOO.widget.Module.CSS_FOOTER; } if (typeof footerContent =3D=3D "string") { this.footer.innerHTML =3D footerContent; } else { this.footer.innerHTML =3D ""; this.footer.appendChild(footerContent); } this.changeFooterEvent.fire(footerContent); this.changeContentEvent.fire(); }, /** * Appends the passed element to the footer. If no footer is present, = one will be automatically created. * @param {Element} element The element to append to the footer */ appendToFooter : function(element) { if (! this.footer) { this.footer =3D document.createElement("DIV"); this.footer.className =3D YAHOO.widget.Module.CSS_FOOTER; } this.footer.appendChild(element); this.changeFooterEvent.fire(element); this.changeContentEvent.fire(); }, /** * Renders the Module by inserting the elements that are not already in = the main Module into their correct places. Optionally appends the Module = to the specified node prior to the render's execution. NOTE: For Modules = without existing markup, the appendToNode argument is REQUIRED. If this = argument is ommitted and the current element is not present in the = document, the function will return false, indicating that the render was = a failure. * @param {string} appendToNode The element id to which the Module = should be appended to prior to rendering OR * @param {Element} appendToNode The element to which the Module should = be appended to prior to rendering=09 * @param {Element} moduleElement OPTIONAL. The element that represents = the actual Standard Module container.=20 * @return {boolean} Success or failure of the render */ render : function(appendToNode, moduleElement) { this.beforeRenderEvent.fire(); if (! moduleElement) { moduleElement =3D this.element; } var me =3D this; var appendTo =3D function(element) { if (typeof element =3D=3D "string") { element =3D document.getElementById(element); } =09 if (element) { element.appendChild(me.element); me.appendEvent.fire(); } }; if (appendToNode) { appendTo(appendToNode); } else { // No node was passed in. If the element is not pre-marked = up, this fails if (! YAHOO.util.Dom.inDocument(this.element)) { return false; } } // Need to get everything into the DOM if it isn't already =09 if (this.header && ! YAHOO.util.Dom.inDocument(this.header)) { // There is a header, but it's not in the DOM yet... need to add it var firstChild =3D moduleElement.firstChild; if (firstChild) { // Insert before first child if exists moduleElement.insertBefore(this.header, firstChild); } else { // Append to empty body because there are no children moduleElement.appendChild(this.header); } } if (this.body && ! YAHOO.util.Dom.inDocument(this.body)) { // There is a body, but it's not in the DOM yet... need to add it if (this.footer && YAHOO.util.Dom.isAncestor(this.moduleElement, = this.footer)) { // Insert before footer if exists in DOM moduleElement.insertBefore(this.body, this.footer); } else { // Append to element because there is no footer moduleElement.appendChild(this.body); } } if (this.footer && ! YAHOO.util.Dom.inDocument(this.footer)) { // There is a footer, but it's not in the DOM yet... need to add it moduleElement.appendChild(this.footer); } this.renderEvent.fire(); return true; }, /** * Removes the Module element from the DOM and sets all child elements = to null. */ destroy : function() { if (this.element) { var parent =3D this.element.parentNode; } if (parent) { parent.removeChild(this.element); } this.element =3D null; this.header =3D null; this.body =3D null; this.footer =3D null; this.destroyEvent.fire(); }, /** * Shows the Module element by setting the visible configuration = property to true. Also fires two events: beforeShowEvent prior to the = visibility change, and showEvent after. */ show : function() { this.cfg.setProperty("visible", true); }, /** * Hides the Module element by setting the visible configuration = property to false. Also fires two events: beforeHideEvent prior to the = visibility change, and hideEvent after. */ hide : function() { this.cfg.setProperty("visible", false); }, // BUILT-IN EVENT HANDLERS FOR MODULE // /** * Default event handler for changing the visibility property of a = Module. By default, this is achieved by switching the "display" style = between "block" and "none". * This method is responsible for firing showEvent and hideEvent. */ configVisible : function(type, args, obj) { var visible =3D args[0]; if (visible) { this.beforeShowEvent.fire(); YAHOO.util.Dom.setStyle(this.element, "display", "block"); this.showEvent.fire(); } else { this.beforeHideEvent.fire(); YAHOO.util.Dom.setStyle(this.element, "display", "none"); this.hideEvent.fire(); } }, /** * Default event handler for the "monitorresize" configuration property */ configMonitorResize : function(type, args, obj) { var monitor =3D args[0]; if (monitor) { this.initResizeMonitor(); } else { YAHOO.util.Event.removeListener(this.resizeMonitor, "resize", = this.onDomResize); this.resizeMonitor =3D null; } } }; /** * Returns a string representation of the object. * @type string */=20 YAHOO.widget.Module.prototype.toString =3D function() { return "Module " + this.id; }; /** * Overlay is a Module that is absolutely positioned above the page flow. = It has convenience methods for positioning and sizing, as well as = options for controlling zIndex and constraining the Overlay's position = to the current visible viewport. Overlay also contains a dynamicly = generated IFRAME which is placed beneath it for Internet Explorer 6 and = 5.x so that it will be properly rendered above SELECT elements. * @extends YAHOO.widget.Module * @param {string} el The element ID representing the Overlay OR * @param {Element} el The element representing the Overlay * @param {object} userConfig The configuration object literal containing = the configuration that should be set for this Overlay. See configuration = documentation for more details. * @constructor */ YAHOO.widget.Overlay =3D function(el, userConfig) { YAHOO.widget.Overlay.superclass.constructor.call(this, el, userConfig); }; YAHOO.extend(YAHOO.widget.Overlay, YAHOO.widget.Module); /** * The URL of the blank image that will be placed in the iframe * @type string * @final */ YAHOO.widget.Overlay.IFRAME_SRC =3D "promo/m/irs/blank.gif"; /** * Constant representing the top left corner of an element, used for = configuring the context element alignment * @type string * @final */ YAHOO.widget.Overlay.TOP_LEFT =3D "tl"; /** * Constant representing the top right corner of an element, used for = configuring the context element alignment * @type string * @final */ YAHOO.widget.Overlay.TOP_RIGHT =3D "tr"; /** * Constant representing the top bottom left corner of an element, used = for configuring the context element alignment * @type string * @final */ YAHOO.widget.Overlay.BOTTOM_LEFT =3D "bl"; /** * Constant representing the bottom right corner of an element, used for = configuring the context element alignment * @type string * @final */ YAHOO.widget.Overlay.BOTTOM_RIGHT =3D "br"; /** * Constant representing the default CSS class used for an Overlay * @type string * @final */ YAHOO.widget.Overlay.CSS_OVERLAY =3D "overlay"; /** * CustomEvent fired before the Overlay is moved. * args: x,y that the Overlay will be moved to * @type YAHOO.util.CustomEvent */ YAHOO.widget.Overlay.prototype.beforeMoveEvent =3D null; /** * CustomEvent fired after the Overlay is moved. * args: x,y that the Overlay was moved to * @type YAHOO.util.CustomEvent */ YAHOO.widget.Overlay.prototype.moveEvent =3D null; /** * The Overlay initialization method, which is executed for Overlay and = all of its subclasses. This method is automatically called by the = constructor, and sets up all DOM references for pre-existing markup, = and creates required markup if it is not already present. * @param {string} el The element ID representing the Overlay OR * @param {Element} el The element representing the Overlay * @param {object} userConfig The configuration object literal containing = the configuration that should be set for this Overlay. See configuration = documentation for more details. */ YAHOO.widget.Overlay.prototype.init =3D function(el, userConfig) { YAHOO.widget.Overlay.superclass.init.call(this, el/*, userConfig*/); = // Note that we don't pass the user config in here yet because we only = want it executed once, at the lowest subclass level =09 this.beforeInitEvent.fire(YAHOO.widget.Overlay); YAHOO.util.Dom.addClass(this.element, = YAHOO.widget.Overlay.CSS_OVERLAY); if (userConfig) { this.cfg.applyConfig(userConfig, true); } if (this.platform =3D=3D "mac" && this.browser =3D=3D "gecko") { if (! = YAHOO.util.Config.alreadySubscribed(this.showEvent,this.showMacGeckoScrol= lbars,this)) { this.showEvent.subscribe(this.showMacGeckoScrollbars,this,true); } if (! = YAHOO.util.Config.alreadySubscribed(this.hideEvent,this.hideMacGeckoScrol= lbars,this)) { this.hideEvent.subscribe(this.hideMacGeckoScrollbars,this,true); } } this.initEvent.fire(YAHOO.widget.Overlay); }; /** * Initializes the custom events for Overlay which are fired = automatically at appropriate times by the Overlay class. */ YAHOO.widget.Overlay.prototype.initEvents =3D function() { YAHOO.widget.Overlay.superclass.initEvents.call(this); this.beforeMoveEvent =3D new YAHOO.util.CustomEvent("beforeMove", = this); this.moveEvent =3D new YAHOO.util.CustomEvent("move", this); }; /** * Initializes the class's configurable properties which can be changed = using the Overlay's Config object (cfg). */ YAHOO.widget.Overlay.prototype.initDefaultConfig =3D function() { YAHOO.widget.Overlay.superclass.initDefaultConfig.call(this); // Add overlay config properties // this.cfg.addProperty("x", { handler:this.configX, = validator:this.cfg.checkNumber, suppressEvent:true, = supercedes:["iframe"] } ); this.cfg.addProperty("y", { handler:this.configY, = validator:this.cfg.checkNumber, suppressEvent:true, = supercedes:["iframe"] } ); this.cfg.addProperty("xy",{ handler:this.configXY, suppressEvent:true, = supercedes:["iframe"] } ); this.cfg.addProperty("context", { handler:this.configContext, = suppressEvent:true, supercedes:["iframe"] } ); this.cfg.addProperty("fixedcenter", { value:false, = handler:this.configFixedCenter, validator:this.cfg.checkBoolean, = supercedes:["iframe","visible"] } ); this.cfg.addProperty("width", { handler:this.configWidth, = suppressEvent:true, supercedes:["iframe"] } ); this.cfg.addProperty("height", { handler:this.configHeight, = suppressEvent:true, supercedes:["iframe"] } ); this.cfg.addProperty("zIndex", { value:null, handler:this.configzIndex = } ); this.cfg.addProperty("constraintoviewport", { value:false, = handler:this.configConstrainToViewport, validator:this.cfg.checkBoolean, = supercedes:["iframe","x","y","xy"] } ); this.cfg.addProperty("iframe", { value:(this.browser =3D=3D "ie" ? true = : false), handler:this.configIframe, validator:this.cfg.checkBoolean, = supercedes:["zIndex"] } ); }; /** * Moves the Overlay to the specified position. This function is = identical to calling this.cfg.setProperty("xy", [x,y]); * @param {int} x The Overlay's new x position * @param {int} y The Overlay's new y position */ YAHOO.widget.Overlay.prototype.moveTo =3D function(x, y) { this.cfg.setProperty("xy",[x,y]); }; /** * Adds a special CSS class to the Overlay when Mac/Gecko is in use, to = work around a Gecko bug where * scrollbars cannot be hidden. See = https://bugzilla.mozilla.org/show_bug.cgi?id=3D187435 */ YAHOO.widget.Overlay.prototype.hideMacGeckoScrollbars =3D function() { YAHOO.util.Dom.removeClass(this.element, "show-scrollbars"); YAHOO.util.Dom.addClass(this.element, "hide-scrollbars"); }; /** * Removes a special CSS class from the Overlay when Mac/Gecko is in use, = to work around a Gecko bug where * scrollbars cannot be hidden. See = https://bugzilla.mozilla.org/show_bug.cgi?id=3D187435 */ YAHOO.widget.Overlay.prototype.showMacGeckoScrollbars =3D function() { YAHOO.util.Dom.removeClass(this.element, "hide-scrollbars"); YAHOO.util.Dom.addClass(this.element, "show-scrollbars"); }; // BEGIN BUILT-IN PROPERTY EVENT HANDLERS // /** * The default event handler fired when the "visible" property is = changed. This method is responsible for firing showEvent and hideEvent. */ YAHOO.widget.Overlay.prototype.configVisible =3D function(type, args, = obj) { var visible =3D args[0]; var currentVis =3D YAHOO.util.Dom.getStyle(this.element, "visibility"); var effect =3D this.cfg.getProperty("effect"); var effectInstances =3D []; if (effect) { if (effect instanceof Array) { for (var i=3D0;i rightConstraint) { x =3D rightConstraint; } if (y < topConstraint) { y =3D topConstraint; } else if (y > bottomConstraint) { y =3D bottomConstraint; } this.cfg.setProperty("x", x, true); this.cfg.setProperty("y", y, true); this.cfg.setProperty("xy", [x,y], true); }; /** * Centers the container in the viewport. */ YAHOO.widget.Overlay.prototype.center =3D function() { var scrollX =3D document.documentElement.scrollLeft || = document.body.scrollLeft; var scrollY =3D document.documentElement.scrollTop || = document.body.scrollTop; var viewPortWidth =3D YAHOO.util.Dom.getClientWidth(); var viewPortHeight =3D YAHOO.util.Dom.getClientHeight(); var elementWidth =3D this.element.offsetWidth; var elementHeight =3D this.element.offsetHeight; var x =3D (viewPortWidth / 2) - (elementWidth / 2) + scrollX; var y =3D (viewPortHeight / 2) - (elementHeight / 2) + scrollY; =09 this.element.style.left =3D parseInt(x, 10) + "px"; this.element.style.top =3D parseInt(y, 10) + "px"; this.syncPosition(); this.cfg.refireEvent("iframe"); }; /** * Synchronizes the Panel's "xy", "x", and "y" properties with the = Panel's position in the DOM. This is primarily used to update position = information during drag & drop. */ YAHOO.widget.Overlay.prototype.syncPosition =3D function() { var pos =3D YAHOO.util.Dom.getXY(this.element); this.cfg.setProperty("x", pos[0], true); this.cfg.setProperty("y", pos[1], true); this.cfg.setProperty("xy", pos, true); }; /** * Event handler fired when the resize monitor element is resized. */ YAHOO.widget.Overlay.prototype.onDomResize =3D function(e, obj) { YAHOO.widget.Overlay.superclass.onDomResize.call(this, e, obj); this.cfg.refireEvent("iframe"); }; /** * Removes the Overlay element from the DOM and sets all child elements = to null. */ YAHOO.widget.Overlay.prototype.destroy =3D function() { if (this.iframe) { this.iframe.parentNode.removeChild(this.iframe); } =09 this.iframe =3D null; YAHOO.widget.Overlay.superclass.destroy.call(this); =20 }; /** * Returns a string representation of the object. * @type string */=20 YAHOO.widget.Overlay.prototype.toString =3D function() { return "Overlay " + this.id; }; /** * A singleton CustomEvent used for reacting to the DOM event for window = scroll * @type YAHOO.util.CustomEvent */ YAHOO.widget.Overlay.windowScrollEvent =3D new = YAHOO.util.CustomEvent("windowScroll"); /** * A singleton CustomEvent used for reacting to the DOM event for window = resize * @type YAHOO.util.CustomEvent */ YAHOO.widget.Overlay.windowResizeEvent =3D new = YAHOO.util.CustomEvent("windowResize"); /** * The DOM event handler used to fire the CustomEvent for window scroll * @type Function */ YAHOO.widget.Overlay.windowScrollHandler =3D function(e) { YAHOO.widget.Overlay.windowScrollEvent.fire(); }; /** * The DOM event handler used to fire the CustomEvent for window resize * @type Function */ YAHOO.widget.Overlay.windowResizeHandler =3D function(e) { YAHOO.widget.Overlay.windowResizeEvent.fire(); }; /** * @private */ YAHOO.widget.Overlay._initialized =3D null; if (YAHOO.widget.Overlay._initialized =3D=3D=3D null) { YAHOO.util.Event.addListener(window, "scroll", = YAHOO.widget.Overlay.windowScrollHandler); YAHOO.util.Event.addListener(window, "resize", = YAHOO.widget.Overlay.windowResizeHandler); YAHOO.widget.Overlay._initialized =3D true; } /** * OverlayManager is used for maintaining the focus status of multiple = Overlays. * @param {Array} overlays Optional. A collection of Overlays to register = with the manager. * @param {object} userConfig The object literal representing the user = configuration of the OverlayManager * @constructor */ YAHOO.widget.OverlayManager =3D function(userConfig) { this.init(userConfig); }; /** * The CSS class representing a focused Overlay * @type string */ YAHOO.widget.OverlayManager.CSS_FOCUSED =3D "focused"; YAHOO.widget.OverlayManager.prototype =3D { constructor : YAHOO.widget.OverlayManager, /** * The array of Overlays that are currently registered * @type Array */ overlays : null, /** * Initializes the default configuration of the OverlayManager */=09 initDefaultConfig : function() { this.cfg.addProperty("overlays", { suppressEvent:true } ); this.cfg.addProperty("focusevent", { value:"mousedown" } ); },=20 /** * Returns the currently focused Overlay * @return {Overlay} The currently focused Overlay */ getActive : function() {}, /** * Focuses the specified Overlay * @param {Overlay} The Overlay to focus * @param {string} The id of the Overlay to focus */ focus : function(overlay) {}, /** * Removes the specified Overlay from the manager * @param {Overlay} The Overlay to remove * @param {string} The id of the Overlay to remove */ remove: function(overlay) {}, /** * Removes focus from all registered Overlays in the manager */ blurAll : function() {}, /** * Initializes the OverlayManager * @param {Array} overlays Optional. A collection of Overlays to = register with the manager. * @param {object} userConfig The object literal representing the user = configuration of the OverlayManager */ init : function(userConfig) { this.cfg =3D new YAHOO.util.Config(this); this.initDefaultConfig(); if (userConfig) { this.cfg.applyConfig(userConfig, true); } this.cfg.fireQueue(); var activeOverlay =3D null; this.getActive =3D function() { return activeOverlay; }; this.focus =3D function(overlay) { var o =3D this.find(overlay); if (o) { this.blurAll(); activeOverlay =3D o; YAHOO.util.Dom.addClass(activeOverlay.element, = YAHOO.widget.OverlayManager.CSS_FOCUSED); this.overlays.sort(this.compareZIndexDesc); var topZIndex =3D YAHOO.util.Dom.getStyle(this.overlays[0].element, = "zIndex"); if (! isNaN(topZIndex) && this.overlays[0] !=3D overlay) { activeOverlay.cfg.setProperty("zIndex", (parseInt(topZIndex, 10) + = 2)); } this.overlays.sort(this.compareZIndexDesc); } }; this.remove =3D function(overlay) { var o =3D this.find(overlay); if (o) { var originalZ =3D YAHOO.util.Dom.getStyle(o.element, "zIndex"); o.cfg.setProperty("zIndex", -1000, true); this.overlays.sort(this.compareZIndexDesc); this.overlays =3D this.overlays.slice(0, this.overlays.length-1); o.cfg.setProperty("zIndex", originalZ, true); o.cfg.setProperty("manager", null); o.focusEvent =3D null; o.blurEvent =3D null; o.focus =3D null; o.blur =3D null; } }; this.blurAll =3D function() { activeOverlay =3D null; for (var o=3D0;o 0) { return true; } } else { return false; } }, /** * Attempts to locate an Overlay by instance or ID. * @param {Overlay} overlay An Overlay to locate within the manager * @param {string} overlay An Overlay id to locate within the manager * @return {Overlay} The requested Overlay, if found, or null if it = cannot be located. */ find : function(overlay) { if (overlay instanceof YAHOO.widget.Overlay) { for (var o=3D0;o zIndex2) { return -1; } else if (zIndex1 < zIndex2) { return 1; } else { return 0; } }, /** * Shows all Overlays in the manager. */ showAll : function() { for (var o=3D0;o 0) { var i =3D this._aListElements.length - 1; do { oNode =3D this._aListElements[i].firstChild; do { switch(oNode.tagName) { case "LI": this.addItem(new this.ITEM_TYPE(oNode), = i); break; } } while((oNode =3D oNode.nextSibling)); } while(i--); } break; case "SELECT": oNode =3D this.srcElement.firstChild; do { switch(oNode.tagName) { case "OPTGROUP": case "OPTION": this.addItem(new this.ITEM_TYPE(oNode)); break; } } while((oNode =3D oNode.nextSibling)); break; } }; /** * Returns the first enabled item in a menu instance. * @return Returns a MenuModuleItem instance. * @type YAHOO.widget.MenuModuleItem * @private */ YAHOO.widget.MenuModule.prototype._getFirstEnabledItem =3D function() { var nGroups =3D this._aItemGroups.length; var oItem; var aItemGroup; for(var i=3D0; i=3D aGroup.length); if(aGroup[p_nItemIndex]) { aGroup.splice(p_nItemIndex, 0, oItem); } else { aGroup[p_nItemIndex] =3D oItem; } oGroupItem =3D aGroup[p_nItemIndex]; if(oGroupItem) { if( bAppend && ( !oGroupItem.element.parentNode || oGroupItem.element.parentNode.nodeType = =3D=3D 11 ) ) { this._aListElements[nGroupIndex].appendChild( oGroupItem.element ); } else { /** * Returns the next sibling of an item in an = array * @param {p_aArray} An array * @param {p_nStartIndex} The index to start = searching * the array * @ignore * @return Returns an item in an array * @type Object */ function getNextItemSibling(p_aArray, = p_nStartIndex) { return ( p_aArray[p_nStartIndex] || getNextItemSibling( p_aArray, (p_nStartIndex+1) ) ); } var oNextItemSibling =3D getNextItemSibling(aGroup, = (p_nItemIndex+1)); if( oNextItemSibling && ( !oGroupItem.element.parentNode || oGroupItem.element.parentNode.nodeType = =3D=3D 11 ) ) { = this._aListElements[nGroupIndex].insertBefore( oGroupItem.element, oNextItemSibling.element ); } } oGroupItem.parent =3D this; this._subscribeToItemEvents(oGroupItem); this._configureItemSubmenuModule(oGroupItem); this._updateItemProperties(nGroupIndex); return oGroupItem; } } else { var nItemIndex =3D aGroup.length; aGroup[nItemIndex] =3D oItem; oGroupItem =3D aGroup[nItemIndex]; if(oGroupItem) { if( !Dom.isAncestor( this._aListElements[nGroupIndex], oGroupItem.element ) ) { this._aListElements[nGroupIndex].appendChild( oGroupItem.element ); } oGroupItem.element.setAttribute("groupindex", = nGroupIndex); oGroupItem.element.setAttribute("index", = nItemIndex); oGroupItem.parent =3D this; oGroupItem.index =3D nItemIndex; oGroupItem.groupIndex =3D nGroupIndex; this._subscribeToItemEvents(oGroupItem); this._configureItemSubmenuModule(oGroupItem); if(nItemIndex =3D=3D=3D 0) { Dom.addClass(oGroupItem.element, = "first-of-type"); } return oGroupItem; } } } }; /** * Removes an item from a group by index. * @private * @param {Number} p_nGroupIndex Number indicating the group to which * the item belongs. * @param {Number} p_nItemIndex Number indicating the index of the item = to * be removed. * @return The item that was removed. * @type YAHOO.widget.MenuModuleItem */ YAHOO.widget.MenuModule.prototype._removeItemFromGroupByIndex =3D function(p_nGroupIndex, p_nItemIndex) { var nGroupIndex =3D typeof p_nGroupIndex =3D=3D "number" ? = p_nGroupIndex : 0; var aGroup =3D this._getItemGroup(nGroupIndex); if(aGroup) { var aArray =3D aGroup.splice(p_nItemIndex, 1); var oItem =3D aArray[0]; if(oItem) { // Update the index and className properties of each = member this._updateItemProperties(nGroupIndex); if(aGroup.length =3D=3D=3D 0) { // Remove the UL var oUL =3D this._aListElements[nGroupIndex]; if(this.body && oUL) { this.body.removeChild(oUL); } // Remove the group from the array of items this._aItemGroups.splice(nGroupIndex, 1); // Remove the UL from the array of ULs this._aListElements.splice(nGroupIndex, 1); /* Assign the "first-of-type" class to the new = first UL in the collection */ oUL =3D this._aListElements[0]; if(oUL) { this._oDom.addClass(oUL, "first-of-type"); } } // Return a reference to the item that was removed return oItem; } } }; /** * Removes a item from a group by reference. * @private * @param {Number} p_nGroupIndex Number indicating the group to which * the item belongs. * @param {YAHOO.widget.MenuModuleItem} p_oItem The item to be removed. * @return The item that was removed. * @type YAHOO.widget.MenuModuleItem */ YAHOO.widget.MenuModule.prototype._removeItemFromGroupByValue =3D function(p_nGroupIndex, p_oItem) { var aGroup =3D this._getItemGroup(p_nGroupIndex); if(aGroup) { var nItems =3D aGroup.length; var nItemIndex =3D -1; if(nItems > 0) { var i =3D nItems-1; do { if(aGroup[i] =3D=3D p_oItem) { nItemIndex =3D i; break; } } while(i--); if(nItemIndex > -1) { return this._removeItemFromGroupByIndex( p_nGroupIndex, nItemIndex ); } } } }; /** * Updates the index, groupindex, and className properties of the items * in the specified group. * @private * @param {Number} p_nGroupIndex Number indicating the group of items to = update. */ YAHOO.widget.MenuModule.prototype._updateItemProperties =3D function(p_nGroupIndex) { var aGroup =3D this._getItemGroup(p_nGroupIndex); var nItems =3D aGroup.length; if(nItems > 0) { var Dom =3D this._oDom; var i =3D nItems - 1; var oItem; var oLI; // Update the index and className properties of each member do { oItem =3D aGroup[i]; if(oItem) { oLI =3D oItem.element; oItem.index =3D i; oItem.groupIndex =3D p_nGroupIndex; oLI.setAttribute("groupindex", p_nGroupIndex); oLI.setAttribute("index", i); Dom.removeClass(oLI, "first-of-type"); } } while(i--); if(oLI) { Dom.addClass(oLI, "first-of-type"); } } }; /** * Creates a new item group (array) and it's associated HTMLUlElement = node * @private * @param {Number} p_nIndex Number indicating the group to create. * @return An item group. * @type Array */ YAHOO.widget.MenuModule.prototype._createItemGroup =3D = function(p_nIndex) { if(!this._aItemGroups[p_nIndex]) { this._aItemGroups[p_nIndex] =3D []; var oUL =3D document.createElement("ul"); this._aListElements[p_nIndex] =3D oUL; return this._aItemGroups[p_nIndex]; } }; /** * Returns the item group at the specified index. * @private * @param {Number} p_nIndex Number indicating the index of the item group = to * be retrieved. * @return An array of items. * @type Array */ YAHOO.widget.MenuModule.prototype._getItemGroup =3D function(p_nIndex) { var nIndex =3D ((typeof p_nIndex =3D=3D "number") ? p_nIndex : 0); return this._aItemGroups[nIndex]; }; /** * Subscribe's a MenuModule instance to it's parent MenuModule instance's = events. * @private * @param {YAHOO.widget.MenuModuleItem} p_oItem The item to listen * for events on. */ YAHOO.widget.MenuModule.prototype._configureItemSubmenuModule =3D function(p_oItem) { var oSubmenu =3D p_oItem.cfg.getProperty("submenu"); if(oSubmenu) { /* Listen for configuration changes to the parent = MenuModule instance so they they can be applied to the submenu. */ this.cfg.configChangedEvent.subscribe( this._onParentMenuModuleConfigChange, oSubmenu, true ); this.renderEvent.subscribe( this._onParentMenuModuleRender, oSubmenu, true ); oSubmenu.beforeShowEvent.subscribe( this._onSubmenuBeforeShow, oSubmenu, true ); oSubmenu.showEvent.subscribe(this._onSubmenuShow, oSubmenu, = true); oSubmenu.hideEvent.subscribe(this._onSubmenuHide, oSubmenu, = true); } }; /** * Subscribes a MenuModule instance to the specified item's Custom = Events. * @private * @param {YAHOO.widget.MenuModuleItem} p_oItem The item to listen for = events on. */ YAHOO.widget.MenuModule.prototype._subscribeToItemEvents =3D = function(p_oItem) { var aArguments =3D [this, p_oItem]; p_oItem.focusEvent.subscribe(this._onItemFocus, aArguments); p_oItem.blurEvent.subscribe(this._onItemBlur, aArguments); p_oItem.cfg.configChangedEvent.subscribe( this._onItemConfigChange, aArguments ); }; /** * Returns the offset width of a MenuModule instance. * @private */ YAHOO.widget.MenuModule.prototype._getOffsetWidth =3D function() { var oClone =3D this.element.cloneNode(true); this._oDom.setStyle(oClone, "width", ""); document.body.appendChild(oClone); var sWidth =3D oClone.offsetWidth; document.body.removeChild(oClone); return sWidth; }; // Private Custom Event handlers /** * "init" Custom Event handler for a MenuModule instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance = that * fired the event. */ YAHOO.widget.MenuModule.prototype._onInit =3D function(p_sType, p_aArgs, p_oMenuModule) { var sCSSPosition =3D (this.cfg.getProperty("position") =3D=3D = "static") ? "static" : "absolute"; this._oDom.setStyle(this.element, "position", sCSSPosition); }; /** * "beforerender" Custom Event handler for a MenuModule instance. = Appends all * of the HTMLUListElement (<UL<s) nodes (and their child * HTMLLIElement (<LI<)) nodes and their accompanying title nodes = to * the body of the MenuModule instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance = that * fired the event. */ YAHOO.widget.MenuModule.prototype._onBeforeRender =3D function(p_sType, p_aArgs, p_oMenuModule) { var Dom =3D this._oDom; var oConfig =3D this.cfg; var oEl =3D this.element; var nListElements =3D this._aListElements.length; if(oConfig.getProperty("position") =3D=3D "static") { oConfig.queueProperty("iframe", false); oConfig.queueProperty("visible", true); } if(nListElements > 0) { var i =3D 0; var bFirstList =3D true; var oUL; var oGroupTitle; do { oUL =3D this._aListElements[i]; if(oUL) { if(bFirstList) { Dom.addClass(oUL, "first-of-type"); bFirstList =3D false; } if(!Dom.isAncestor(oEl, oUL)) { this.appendToBody(oUL); } oGroupTitle =3D this._aGroupTitleElements[i]; if(oGroupTitle) { if(!Dom.isAncestor(oEl, oGroupTitle)) { oUL.parentNode.insertBefore(oGroupTitle, = oUL); } Dom.addClass(oUL, "hastitle"); } } i++; } while(i < nListElements); } }; /** * "render" Custom Event handler for a MenuModule instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance = that * fired the event. */ YAHOO.widget.MenuModule.prototype._onRender =3D function(p_sType, p_aArgs, p_oMenuModule) { if(this.cfg.getProperty("position") =3D=3D "dynamic") { var sWidth =3D this.element.parentNode.tagName =3D=3D "BODY" = ? this.element.offsetWidth : this._getOffsetWidth(); this.cfg.setProperty("width", (sWidth + "px")); } }; /** * "show" Custom Event handler for a MenuModule instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance = that * fired the event. */ YAHOO.widget.MenuModule.prototype._onShow =3D function(p_sType, p_aArgs, p_oMenuModule) { /* Setting focus to an item in the newly visible submenu alerts = the contents of the submenu to the screen reader. */ this.setInitialFocus(); }; /** * "hide" Custom Event handler for a MenuModule instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance = that * fired the event. */ YAHOO.widget.MenuModule.prototype._onBeforeHide =3D function(p_sType, p_aArgs, p_oMenuModule) { var oActiveItem =3D this.activeItem; if(oActiveItem) { oActiveItem.blur(); if(oActiveItem.cfg.getProperty("selected")) { oActiveItem.cfg.setProperty("selected", false); } var oSubmenu =3D oActiveItem.cfg.getProperty("submenu"); if(oSubmenu && oSubmenu.cfg.getProperty("visible")) { oSubmenu.hide(); } } }; /** * "configchange" Custom Event handler for a submenu. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that = subscribed * to the event. */ YAHOO.widget.MenuModule.prototype._onParentMenuModuleConfigChange =3D function(p_sType, p_aArgs, p_oSubmenu) { var sPropertyName =3D p_aArgs[0][0]; var oPropertyValue =3D p_aArgs[0][1]; switch(sPropertyName) { case "iframe": case "constraintoviewport": p_oSubmenu.cfg.setProperty(sPropertyName, = oPropertyValue); break; } }; /** * "render" Custom Event handler for a MenuModule instance. Renders a * submenu in response to the firing of it's parent's "render" event. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that = subscribed * to the event. */ YAHOO.widget.MenuModule.prototype._onParentMenuModuleRender =3D function(p_sType, p_aArgs, p_oSubmenu) { /* Set the "constraintoviewport" configuration property to match the parent MenuModule */ var oParentMenu =3D p_oSubmenu.parent.parent; var oConfig =3D { constraintoviewport: oParentMenu.cfg.getProperty("constraintoviewport"), xy: [0,0] }; /* Only sync the "iframe" configuration property if the parent MenuModule instance's position is of the same value */ if( this.cfg.getProperty("position") =3D=3D oParentMenu.cfg.getProperty("position") ) { oConfig.iframe =3D oParentMenu.cfg.getProperty("iframe"); } p_oSubmenu.cfg.applyConfig(oConfig); if(this._oDom.inDocument(this.element)) { this.render(); } else { this.render(this.parent.element); } }; /** * "beforeshow" Custom Event handler for a submenu. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that fired * the event. */ YAHOO.widget.MenuModule.prototype._onSubmenuBeforeShow =3D function(p_sType, p_aArgs, p_oSubmenu) { var oParent =3D this.parent; var aAlignment =3D = oParent.parent.cfg.getProperty("submenualignment"); this.cfg.setProperty( "context", [ oParent.element, aAlignment[0], aAlignment[1] ] ); oParent.submenuIndicator.alt =3D oParent.EXPANDED_SUBMENU_INDICATOR_ALT_TEXT; }; /** * "show" Custom Event handler for a submenu. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that fired * the event. */ YAHOO.widget.MenuModule.prototype._onSubmenuShow =3D function(p_sType, p_aArgs, p_oSubmenu) { var oParent =3D this.parent; oParent.submenuIndicator.alt =3D oParent.EXPANDED_SUBMENU_INDICATOR_ALT_TEXT; }; /** * "hide" Custom Event handler for a submenu. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that fired * the event. */ YAHOO.widget.MenuModule.prototype._onSubmenuHide =3D function(p_sType, p_aArgs, p_oSubmenu) { var oParent =3D this.parent; if(oParent.parent.cfg.getProperty("visible")) { oParent.cfg.setProperty("selected", false); oParent.focus(); } oParent.submenuIndicator.alt =3D oParent.COLLAPSED_SUBMENU_INDICATOR_ALT_TEXT; }; /** * "focus" YAHOO.util.CustomEvent handler for a MenuModule instance's = items. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {Array} p_aObjects Array containing the current MenuModule = instance * and the item that fired the event. */ YAHOO.widget.MenuModule.prototype._onItemFocus =3D function(p_sType, p_aArgs, p_aObjects) { var me =3D p_aObjects[0]; var oItem =3D p_aObjects[1]; me.activeItem =3D oItem; }; /** * "blur" YAHOO.util.CustomEvent handler for a MenuModule instance's = items. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {Array} p_aObjects Array containing the current MenuModule = instance * and the item that fired the event. */ YAHOO.widget.MenuModule.prototype._onItemBlur =3D function(p_sType, p_aArgs, p_aObjects) { var me =3D p_aObjects[0]; var oItem =3D p_aObjects[1]; var oSubmenu =3D oItem.cfg.getProperty("submenu"); if(!oSubmenu || (oSubmenu && = !oSubmenu.cfg.getProperty("visible"))) { me.activeItem =3D null; } }; /** * "configchange" YAHOO.util.CustomEvent handler for the MenuModule * instance's items. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {Array} p_aObjects Array containing the current MenuModule = instance * and the item that fired the event. */ YAHOO.widget.MenuModule.prototype._onItemConfigChange =3D function(p_sType, p_aArgs, p_aObjects) { var me =3D p_aObjects[0]; var sProperty =3D p_aArgs[0][0]; var oItem =3D p_aObjects[1]; switch(sProperty) { case "submenu": var oSubmenu =3D p_aArgs[0][1]; if(oSubmenu) { me._configureItemSubmenuModule(oItem); } break; case "text": case "helptext": /* A change to an item's "text" or "helptext" configuration properties requires the width of the = parent MenuModule instance to be recalculated. */ if(me.element.style.width) { var sWidth =3D me._getOffsetWidth() + "px"; me._oDom.setStyle(me.element, "width", sWidth); } break; } }; /** * The default event handler executed when the moveEvent is fired, if the * "constraintoviewport" configuration property is set to true. */ YAHOO.widget.MenuModule.prototype.enforceConstraints =3D function(type, args, obj) { var Dom =3D this._oDom; var oConfig =3D this.cfg; var pos =3D args[0]; var x =3D pos[0]; var y =3D pos[1]; var bod =3D document.getElementsByTagName('body')[0]; var htm =3D document.getElementsByTagName('html')[0]; var bodyOverflow =3D Dom.getStyle(bod, "overflow"); var htmOverflow =3D Dom.getStyle(htm, "overflow"); var offsetHeight =3D this.element.offsetHeight; var offsetWidth =3D this.element.offsetWidth; var viewPortWidth =3D Dom.getClientWidth(); var viewPortHeight =3D Dom.getClientHeight(); var scrollX =3D window.scrollX || document.body.scrollLeft; var scrollY =3D window.scrollY || document.body.scrollTop; var topConstraint =3D scrollY + 10; var leftConstraint =3D scrollX + 10; var bottomConstraint =3D scrollY + viewPortHeight - offsetHeight = - 10; var rightConstraint =3D scrollX + viewPortWidth - offsetWidth - = 10; var aContext =3D oConfig.getProperty("context"); var oContextElement =3D aContext ? aContext[0] : null; if (x < 10) { x =3D leftConstraint; } else if ((x + offsetWidth) > viewPortWidth) { if( oContextElement && ((x - oContextElement.offsetWidth) > offsetWidth) ) { x =3D (x - (oContextElement.offsetWidth + offsetWidth)); } else { x =3D rightConstraint; } } if (y < 10) { y =3D topConstraint; } else if (y > bottomConstraint) { if(oContextElement && (y > offsetHeight)) { y =3D ((y + oContextElement.offsetHeight) - = offsetHeight); } else { y =3D bottomConstraint; } } oConfig.setProperty("x", x, true); oConfig.setProperty("y", y, true); }; // Event handlers for configuration properties /** * Event handler for when the "position" configuration property of a * MenuModule changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance = fired * the event. */ YAHOO.widget.MenuModule.prototype.configPosition =3D function(p_sType, p_aArgs, p_oMenuModule) { var sCSSPosition =3D p_aArgs[0] =3D=3D "static" ? "static" : = "absolute"; this._oDom.setStyle(this.element, "position", sCSSPosition); }; /** * Event handler for when the "iframe" configuration property of a * MenuModule changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance = fired * the event. * @see YAHOO.widget.Overlay#configIframe */ YAHOO.widget.MenuModule.prototype.configIframe =3D function(p_sType, p_aArgs, p_oMenuModule) { if(this.cfg.getProperty("position") =3D=3D "dynamic") { YAHOO.widget.MenuModule.superclass.configIframe.call( this, p_sType, p_aArgs, p_oMenuModule ); } }; // Public methods YAHOO.widget.MenuModule.prototype.toString =3D function() { return ("Menu " + this.id); }; /** * Sets the title of a group of items. * @param {String} p_sGroupTitle The title of the group. * @param {Number} p_nGroupIndex Optional. Number indicating the group to = which * the title belongs. */ YAHOO.widget.MenuModule.prototype.setItemGroupTitle =3D function(p_sGroupTitle, p_nGroupIndex) { if(typeof p_sGroupTitle =3D=3D "string" && p_sGroupTitle.length = > 0) { var Dom =3D this._oDom; var nGroupIndex =3D typeof p_nGroupIndex =3D=3D "number" ? p_nGroupIndex = : 0; var oTitle =3D this._aGroupTitleElements[nGroupIndex]; if(oTitle) { oTitle.innerHTML =3D p_sGroupTitle; } else { oTitle =3D = document.createElement(this.GROUP_TITLE_TAG_NAME); oTitle.innerHTML =3D p_sGroupTitle; this._aGroupTitleElements[nGroupIndex] =3D oTitle; } var i =3D this._aGroupTitleElements.length - 1; var nFirstIndex; do { if(this._aGroupTitleElements[i]) { Dom.removeClass( this._aGroupTitleElements[i], "first-of-type" ); nFirstIndex =3D i; } } while(i--); if(nFirstIndex !=3D=3D null) { Dom.addClass( this._aGroupTitleElements[nFirstIndex], "first-of-type" ); } } }; /** * Appends the specified item to a MenuModule instance. * @param {YAHOO.widget.MenuModuleItem} p_oItem The item to be added. * @param {Number} p_nGroupIndex Optional. Number indicating the group to = which * the item belongs. * @return The item that was added to the MenuModule. * @type YAHOO.widget.MenuModuleItem */ YAHOO.widget.MenuModule.prototype.addItem =3D function(p_oItem, = p_nGroupIndex) { if(p_oItem) { return this._addItemToGroup(p_nGroupIndex, p_oItem); } }; /** * Inserts an item into a MenuModule instance at the specified index. * @param {YAHOO.widget.MenuModuleItem} p_oItem The item to be inserted. * @param {Number} p_nItemIndex Number indicating the ordinal position * at which the item should be added. * @param {Number} p_nGroupIndex Optional. Number indicating the group to = which * the item belongs. * @return The item that was inserted into the MenuModule. * @type YAHOO.widget.MenuModuleItem */ YAHOO.widget.MenuModule.prototype.insertItem =3D function(p_oItem, p_nItemIndex, p_nGroupIndex) { if(p_oItem) { return this._addItemToGroup(p_nGroupIndex, p_oItem, = p_nItemIndex); } }; /** * Removes the specified item from a MenuModule instance. * @param {YAHOO.widget.MenuModuleItem/Number} p_oObject The item or = index of * the item to be removed. * @param {Number} p_nGroupIndex Optional. Number indicating the group to = which * the item belongs. * @return The item that was removed from the MenuModule. * @type YAHOO.widget.MenuModuleItem */ YAHOO.widget.MenuModule.prototype.removeItem =3D function(p_oObject, p_nGroupIndex) { if(typeof p_oObject !=3D "undefined") { var oItem; if(p_oObject instanceof YAHOO.widget.MenuModuleItem) { oItem =3D this._removeItemFromGroupByValue(p_nGroupIndex, = p_oObject); } else if(typeof p_oObject =3D=3D "number") { oItem =3D this._removeItemFromGroupByIndex(p_nGroupIndex, = p_oObject); } if(oItem) { oItem.destroy(); return oItem; } } }; /** * Returns a multi-dimensional array of all of a MenuModule's items. * @return An array of items. * @type Array */ YAHOO.widget.MenuModule.prototype.getItemGroups =3D function() { return this._aItemGroups; }; /** * Returns the item at the specified index. * @param {Number} p_nItemIndex Number indicating the ordinal position of = the * item to be retrieved. * @param {Number} p_nGroupIndex Optional. Number indicating the group to = which * the item belongs. * @return An item. * @type YAHOO.widget.MenuModuleItem */ YAHOO.widget.MenuModule.prototype.getItem =3D function(p_nItemIndex, p_nGroupIndex) { if(typeof p_nItemIndex =3D=3D "number") { var aGroup =3D this._getItemGroup(p_nGroupIndex); if(aGroup) { return aGroup[p_nItemIndex]; } } }; /** * Removes the MenuModule instance's element from the DOM and sets all = child * elements to null. */ YAHOO.widget.MenuModule.prototype.destroy =3D function() { // Remove Custom Event listeners this.mouseOverEvent.unsubscribeAll(); this.mouseOutEvent.unsubscribeAll(); this.mouseDownEvent.unsubscribeAll(); this.mouseUpEvent.unsubscribeAll(); this.clickEvent.unsubscribeAll(); this.keyPressEvent.unsubscribeAll(); this.keyDownEvent.unsubscribeAll(); this.keyUpEvent.unsubscribeAll(); var nItemGroups =3D this._aItemGroups.length; var nItems; var oItemGroup; var oItem; var i; var n; // Remove all items if(nItemGroups > 0) { i =3D nItemGroups - 1; do { oItemGroup =3D this._aItemGroups[i]; if(oItemGroup) { nItems =3D oItemGroup.length; if(nItems > 0) { n =3D nItems - 1; do { oItem =3D this._aItemGroups[i][n]; if(oItem) { oItem.destroy(); } } while(n--); } } } while(i--); } // Continue with the superclass implementation of this method YAHOO.widget.MenuModule.superclass.destroy.call(this); }; /** * Sets focus to a MenuModule instance's first enabled item. */ YAHOO.widget.MenuModule.prototype.setInitialFocus =3D function() { var oItem =3D this._getFirstEnabledItem(); if(oItem) { oItem.focus(); } }; /** * Sets the "selected" configuration property of a MenuModule instance's = first * enabled item to "true." */ YAHOO.widget.MenuModule.prototype.setInitialSelection =3D function() { var oItem =3D this._getFirstEnabledItem(); if(oItem) { oItem.cfg.setProperty("selected", true); } }; /** * Sets the "selected" configuration property of a MenuModule instance's = active * item to "false," blurs the item and hide's the item's submenu. */ YAHOO.widget.MenuModule.prototype.clearActiveItem =3D function () { if(this.activeItem) { var oConfig =3D this.activeItem.cfg; oConfig.setProperty("selected", false); var oSubmenu =3D oConfig.getProperty("submenu"); if(oSubmenu) { oSubmenu.hide(); } } }; /** * Initializes the class's configurable properties which can be changed = using * the MenuModule's Config object (cfg). */ YAHOO.widget.MenuModule.prototype.initDefaultConfig =3D function() { YAHOO.widget.MenuModule.superclass.initDefaultConfig.call(this); var oConfig =3D this.cfg; // Add configuration properties oConfig.addProperty( "position", { value: "dynamic", handler: this.configPosition, validator: this._checkPosition } ); // this.cfg.refireEvent("position"); oConfig.addProperty("submenualignment", { value: ["tl","tr"] } ); }; /** * @class The MenuModuleItem class allows you to create and modify an = item for a * MenuModule instance. * @constructor * @param {String or HTMLElement} p_oObject String or HTMLElement * (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of = the * source HTMLElement node. * @param {Object} p_oConfig The configuration object literal containing * the configuration for a MenuModuleItem instance. See the configuration * class documentation for more details. */ YAHOO.widget.MenuModuleItem =3D function(p_oObject, p_oConfig) { if(p_oObject) { this.init(p_oObject, p_oConfig); } }; YAHOO.widget.MenuModuleItem.prototype =3D { // Constants /** * Constant representing the path to the image to be used for the = submenu * arrow indicator. * @final * @type String */ SUBMENU_INDICATOR_IMAGE_PATH: = "nt/ic/ut/alt1/menuarorght8_nrm_1.gif", /** * Constant representing the path to the image to be used for the = submenu * arrow indicator when a MenuModuleItem instance is selected. * @final * @type String */ SELECTED_SUBMENU_INDICATOR_IMAGE_PATH: "nt/ic/ut/alt1/menuarorght8_hov_1.gif", /** * Constant representing the path to the image to be used for the = submenu * arrow indicator when a MenuModuleItem instance is disabled. * @final * @type String */ DISABLED_SUBMENU_INDICATOR_IMAGE_PATH: "nt/ic/ut/alt1/menuarorght8_dim_1.gif", /** * Constant representing the alt text for the image to be used for = the * submenu arrow indicator. * @final * @type String */ COLLAPSED_SUBMENU_INDICATOR_ALT_TEXT: "Collapsed. Click to = expand.", /** * Constant representing the alt text for the image to be used for = the * submenu arrow indicator when the submenu is visible. * @final * @type String */ EXPANDED_SUBMENU_INDICATOR_ALT_TEXT: "Expanded. Click to = collapse.", /** * Constant representing the alt text for the image to be used for = the * submenu arrow indicator when a MenuModuleItem instance is = disabled. * @final * @type String */ DISABLED_SUBMENU_INDICATOR_ALT_TEXT: "Disabled.", /** * Constant representing the CSS class(es) to be applied to the root * HTMLLIElement of the MenuModuleItem. * @final * @type String */ CSS_CLASS_NAME: "yuimenuitem", /** * Constant representing the type of menu to instantiate when = creating * submenu instances from parsing the child nodes (either = HTMLSelectElement * or HTMLDivElement) of the item's DOM. The default * is YAHOO.widget.MenuModule. * @final * @type YAHOO.widget.MenuModule */ SUBMENU_TYPE: null, /** * Constant representing the type of item to instantiate when * creating item instances from parsing the child nodes (either * HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the * submenu's DOM. * The default is YAHOO.widget.MenuModuleItem. * @final * @type YAHOO.widget.MenuModuleItem */ SUBMENU_ITEM_TYPE: null, /** * Constant representing the prefix path to use for non-secure images * @type string */ IMG_ROOT: "http://us.i1.yimg.com/us.yimg.com/i/", /** * Constant representing the prefix path to use for securely served = images * @type string */ IMG_ROOT_SSL: "https://a248.e.akamai.net/sec.yimg.com/i/", // Private member variables /** * Reference to the HTMLAnchorElement of the MenuModuleItem's core = internal * DOM structure. * @private * @type {HTMLAnchorElement} */ _oAnchor: null, /** * Reference to the text node of the MenuModuleItem's core internal * DOM structure. * @private * @type {Text} */ _oText: null, /** * Reference to the HTMLElement (<EM<) used to create the = optional * help text for a MenuModuleItem instance. * @private * @type {HTMLElement} */ _oHelpTextEM: null, /** * Reference to the submenu for a MenuModuleItem instance. * @private * @type {YAHOO.widget.MenuModule} */ _oSubmenu: null, /** * Reference to the Dom utility singleton. * @private * @type {YAHOO.util.Dom} */ _oDom: YAHOO.util.Dom, /** * The current state of a MenuModuleItem instance's "mouseover" event * @private * @type {Boolean} */ _bFiredMouseOverEvent: false, /** * The current state of a MenuModuleItem instance's "mouseout" event * @private * @type {Boolean} */ _bFiredMouseOutEvent: false, // Public properties /** * The class's constructor function * @type YAHOO.widget.MenuModuleItem */ constructor: YAHOO.widget.MenuModuleItem, /** * The string representing the image root * @type string */ imageRoot: null, /** * Boolean representing whether or not the current browsing context * is secure (https) * @type boolean */ isSecure: YAHOO.widget.Module.prototype.isSecure, /** * Returns the ordinal position of a MenuModuleItem instance in a = group. * @type Number */ index: null, /** * Returns the index of the group to which a MenuModuleItem instance = belongs. * @type Number */ groupIndex: null, /** * Returns the parent object for a MenuModuleItem instance. * @type {YAHOO.widget.MenuModule} */ parent: null, /** * Returns the HTMLLIElement for a MenuModuleItem instance. * @type {HTMLLIElement} */ element: null, /** * Returns the HTMLElement (either HTMLLIElement, HTMLOptGroupElement = or * HTMLOptionElement) used create the MenuModuleItem instance. * @type {HTMLLIElement/HTMLOptGroupElement/HTMLOptionElement} */ srcElement: null, /** * Specifies an arbitrary value for a MenuModuleItem instance. * @type {Object} */ value: null, /** * Reference to the HTMLImageElement used to create the submenu * indicator for a MenuModuleItem instance. * @type {HTMLImageElement} */ submenuIndicator: null, /** * String representing the browser * @type string */ browser: YAHOO.widget.Module.prototype.browser, // Events /** * Fires when a MenuModuleItem instances's HTMLLIElement is removed = from * it's parent HTMLUListElement node. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ destroyEvent: null, /** * Fires when the mouse has entered a MenuModuleItem instance. = Passes * back the DOM Event object as an argument. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ mouseOverEvent: null, /** * Fires when the mouse has left a MenuModuleItem instance. Passes = back * the DOM Event object as an argument. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ mouseOutEvent: null, /** * Fires when the user mouses down on a MenuModuleItem instance. = Passes * back the DOM Event object as an argument. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ mouseDownEvent: null, /** * Fires when the user releases a mouse button while the mouse is * over a MenuModuleItem instance. Passes back the DOM Event object = as * an argument. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ mouseUpEvent: null, /** * Fires when the user clicks the on a MenuModuleItem instance. = Passes * back the DOM Event object as an argument. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ clickEvent: null, /** * Fires when the user presses an alphanumeric key. Passes back the * DOM Event object as an argument. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ keyPressEvent: null, /** * Fires when the user presses a key. Passes back the DOM Event * object as an argument. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ keyDownEvent: null, /** * Fires when the user releases a key. Passes back the DOM Event * object as an argument. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ keyUpEvent: null, /** * Fires when a MenuModuleItem instance receives focus. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ focusEvent: null, /** * Fires when a MenuModuleItem instance loses the input focus. * @type {YAHOO.util.CustomEvent} * @see YAHOO.util.CustomEvent */ blurEvent: null, /** * The MenuModuleItem class's initialization method. This method is * automatically called by the constructor, and sets up all DOM = references * for pre-existing markup, and creates required markup if it is not * already present. * @param {String or HTMLElement} p_oObject String or HTMLElement * (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) = of the * source HTMLElement node. * @param {Object} p_oConfig The configuration object literal = containing * the configuration for a MenuModuleItem instance. See the = configuration * class documentation for more details. */ init: function(p_oObject, p_oConfig) { this.imageRoot =3D (this.isSecure) ? this.IMG_ROOT_SSL : = this.IMG_ROOT; if(!this.SUBMENU_TYPE) { this.SUBMENU_TYPE =3D YAHOO.widget.MenuModule; } if(!this.SUBMENU_ITEM_TYPE) { this.SUBMENU_ITEM_TYPE =3D YAHOO.widget.MenuModuleItem; } // Create the config object this.cfg =3D new YAHOO.util.Config(this); this.initDefaultConfig(); var oConfig =3D this.cfg; if(this._checkString(p_oObject)) { this._createRootNodeStructure(); oConfig.setProperty("text", p_oObject); } else if(this._checkDOMNode(p_oObject)) { switch(p_oObject.tagName) { case "OPTION": this._createRootNodeStructure(); oConfig.setProperty("text", p_oObject.text); this.srcElement =3D p_oObject; break; case "OPTGROUP": this._createRootNodeStructure(); oConfig.setProperty("text", p_oObject.label); this.srcElement =3D p_oObject; this._initSubTree(); break; case "LI": // Get the anchor node (if it exists) var oAnchor =3D this._getFirstElement(p_oObject, = "A"); var sURL =3D "#"; var sTarget =3D null; var sText =3D null; // Capture the "text" and/or the "URL" if(oAnchor) { sURL =3D oAnchor.getAttribute("href"); sTarget =3D oAnchor.getAttribute("target"); if(oAnchor.innerText) { sText =3D oAnchor.innerText; } else { var oRange =3D = oAnchor.ownerDocument.createRange(); oRange.selectNodeContents(oAnchor); sText =3D oRange.toString(); } } else { var oText =3D p_oObject.firstChild; sText =3D oText.nodeValue; oAnchor =3D document.createElement("a"); oAnchor.setAttribute("href", sURL); p_oObject.replaceChild(oAnchor, oText); oAnchor.appendChild(oText); } this.srcElement =3D p_oObject; this.element =3D p_oObject; this._oAnchor =3D oAnchor; // Check if emphasis has been applied to the = MenuModuleItem var oEmphasisNode =3D = this._getFirstElement(oAnchor); var bEmphasis =3D false; var bStrongEmphasis =3D false; if(oEmphasisNode) { // Set a reference to the text node this._oText =3D oEmphasisNode.firstChild; switch(oEmphasisNode.tagName) { case "EM": bEmphasis =3D true; break; case "STRONG": bStrongEmphasis =3D true; break; } } else { // Set a reference to the text node this._oText =3D oAnchor.firstChild; } /* Set these properties silently to sync up the configuration object without making changes to = the element's DOM */ oConfig.setProperty("text", sText, true); oConfig.setProperty("url", sURL, true); oConfig.setProperty("target", sTarget, true); oConfig.setProperty("emphasis", bEmphasis, true); oConfig.setProperty( "strongemphasis", bStrongEmphasis, true ); this._initSubTree(); break; } } if(this.element) { this._oDom.addClass(this.element, this.CSS_CLASS_NAME); // Create custom events var CustomEvent =3D YAHOO.util.CustomEvent; this.destroyEvent =3D new CustomEvent("destroyEvent", this); this.mouseOverEvent =3D new CustomEvent("mouseOverEvent", = this); this.mouseOutEvent =3D new CustomEvent("mouseOutEvent", = this); this.mouseDownEvent =3D new CustomEvent("mouseDownEvent", = this); this.mouseUpEvent =3D new CustomEvent("mouseUpEvent", this); this.clickEvent =3D new CustomEvent("clickEvent", this); this.keyPressEvent =3D new CustomEvent("keyPressEvent", = this); this.keyDownEvent =3D new CustomEvent("keyDownEvent", this); this.keyUpEvent =3D new CustomEvent("keyUpEvent", this); this.focusEvent =3D new CustomEvent("focusEvent", this); this.blurEvent =3D new CustomEvent("blurEvent", this); // Subscribe to custom event this.clickEvent.subscribe(this._onMenuModuleItemClick, this, = true); if(p_oConfig) { oConfig.applyConfig(p_oConfig); } oConfig.fireQueue(); } }, // Private methods /** * Returns an HTMLElement's first HTMLElement node * @private * @param {HTMLElement} p_oElement The element to be evaluated. * @param {String} p_sTagName Optional. The tagname of the element. * @return Returns an HTMLElement node. * @type Boolean */ _getFirstElement: function(p_oElement, p_sTagName) { var oElement; if(p_oElement.firstChild && p_oElement.firstChild.nodeType = =3D=3D 1) { oElement =3D p_oElement.firstChild; } else if( p_oElement.firstChild && p_oElement.firstChild.nextSibling && p_oElement.firstChild.nextSibling.nodeType =3D=3D 1 ) { oElement =3D p_oElement.firstChild.nextSibling; } if(p_sTagName) { return (oElement && oElement.tagName =3D=3D p_sTagName) ? oElement : false; } return oElement; }, /** * Determines if an object is a string * @private * @param {Object} p_oObject The object to be evaluated. * @return Returns true if the object is a string. * @type Boolean */ _checkString: function(p_oObject) { return (typeof p_oObject =3D=3D "string"); }, /** * Determines if an object is an HTMLElement. * @private * @param {Object} p_oObject The object to be evaluated. * @return Returns true if the object is an HTMLElement. * @type Boolean */ _checkDOMNode: function(p_oObject) { return (p_oObject && p_oObject.tagName); }, /** * Creates the core DOM structure for a MenuModuleItem instance. * @private */ _createRootNodeStructure: function () { this.element =3D document.createElement("li"); this._oText =3D document.createTextNode(""); this._oAnchor =3D document.createElement("a"); this._oAnchor.appendChild(this._oText); this.cfg.refireEvent("url"); this.element.appendChild(this._oAnchor); }, /** * Iterates the source element's childNodes collection and uses the * child nodes to instantiate other menus. * @private */ _initSubTree: function() { var Menu =3D this.SUBMENU_TYPE; var MenuModuleItem =3D this.SUBMENU_ITEM_TYPE; var oSrcEl =3D this.srcElement; var oConfig =3D this.cfg; if(oSrcEl.childNodes.length > 0) { var oNode =3D oSrcEl.firstChild; var aOptions =3D []; do { switch(oNode.tagName) { case "DIV": oConfig.setProperty("submenu", (new = Menu(oNode))); break; case "OPTION": aOptions[aOptions.length] =3D oNode; break; } } while((oNode =3D oNode.nextSibling)); var nOptions =3D aOptions.length; if(nOptions > 0) { oConfig.setProperty( "submenu", (new Menu(this._oDom.generateId())) ); for(var n=3D0; n 0); // Prevent the browser from following links equal to "#" if(oTarget.tagName =3D=3D "A" && bCurrentPageURL && = !bHasTarget) { Event.preventDefault(oEvent); } if(oTarget.tagName !=3D "A" && !bCurrentPageURL && = !bHasTarget) { /* Follow the URL of the item regardless of whether or not the user clicked specifically on the HTMLAnchorElement (<A<) node. */ document.location =3D sURL; } } }, // Event handlers for configuration properties /** * Event handler for when the "text" configuration property of * a MenuModuleItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem = instance * that fired the event. */ configText: function(p_sType, p_aArgs, p_oItem) { var sText =3D p_aArgs[0]; if(this._oText) { this._oText.nodeValue =3D sText; } }, /** * Event handler for when the "helptext" configuration property of * a MenuModuleItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem = instance * that fired the event. */ configHelpText: function(p_sType, p_aArgs, p_oItem) { var me =3D this; var Dom =3D this._oDom; var oHelpText =3D p_aArgs[0]; var oEl =3D this.element; var oConfig =3D this.cfg; var aNodes =3D [oEl, this._oAnchor]; var oImg =3D this.submenuIndicator; /** * Adds the "hashelptext" class to the necessary nodes and = refires the * "selected" and "disabled" configuration events * @ignore */ function initHelpText() { Dom.addClass(aNodes, "hashelptext"); if(oConfig.getProperty("disabled")) { oConfig.refireEvent("disabled"); } if(oConfig.getProperty("selected")) { oConfig.refireEvent("selected"); } } /** * Removes the "hashelptext" class and corresponding DOM element = (EM) * @ignore */ function removeHelpText() { Dom.removeClass(aNodes, "hashelptext"); oEl.removeChild(me._oHelpTextEM); me._oHelpTextEM =3D null; } if(this._checkDOMNode(oHelpText)) { if(this._oHelpTextEM) { this._oHelpTextEM.parentNode.replaceChild( oHelpText, this._oHelpTextEM ); } else { this._oHelpTextEM =3D oHelpText; oEl.insertBefore(this._oHelpTextEM, oImg); } initHelpText(); } else if(this._checkString(oHelpText)) { if(oHelpText.length =3D=3D=3D 0) { removeHelpText(); } else { if(!this._oHelpTextEM) { this._oHelpTextEM =3D document.createElement("em"); oEl.insertBefore(this._oHelpTextEM, oImg); } this._oHelpTextEM.innerHTML =3D oHelpText; initHelpText(); } } else if(!oHelpText && this._oHelpTextEM) { removeHelpText(); } }, /** * Event handler for when the "url" configuration property of * a MenuModuleItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem = instance * that fired the event. */ configURL: function(p_sType, p_aArgs, p_oItem) { var sURL =3D p_aArgs[0]; if(!sURL) { sURL =3D "#"; } this._oAnchor.setAttribute("href", sURL); }, /** * Event handler for when the "target" configuration property of * a MenuModuleItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem = instance * that fired the event. */ configTarget: function(p_sType, p_aArgs, p_oItem) { var sTarget =3D p_aArgs[0]; var oAnchor =3D this._oAnchor; if(sTarget && sTarget.length > 0) { oAnchor.setAttribute("target", sTarget); } else { oAnchor.removeAttribute("target"); } }, /** * Event handler for when the "emphasis" configuration property of * a MenuModuleItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem = instance * that fired the event. */ configEmphasis: function(p_sType, p_aArgs, p_oItem) { var bEmphasis =3D p_aArgs[0]; var oAnchor =3D this._oAnchor; var oText =3D this._oText; var oConfig =3D this.cfg; var oEM; if(bEmphasis && oConfig.getProperty("strongemphasis")) { oConfig.setProperty("strongemphasis", false); } if(oAnchor) { if(bEmphasis) { oEM =3D document.createElement("em"); oEM.appendChild(oText); oAnchor.appendChild(oEM); } else { oEM =3D this._getFirstElement(oAnchor, "EM"); oAnchor.removeChild(oEM); oAnchor.appendChild(oText); } } }, /** * Event handler for when the "strongemphasis" configuration property = of * a MenuModuleItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem = instance * that fired the event. */ configStrongEmphasis: function(p_sType, p_aArgs, p_oItem) { var bStrongEmphasis =3D p_aArgs[0]; var oAnchor =3D this._oAnchor; var oText =3D this._oText; var oConfig =3D this.cfg; var oStrong; if(bStrongEmphasis && oConfig.getProperty("emphasis")) { oConfig.setProperty("emphasis", false); } if(oAnchor) { if(bStrongEmphasis) { oStrong =3D document.createElement("strong"); oStrong.appendChild(oText); oAnchor.appendChild(oStrong); } else { oStrong =3D this._getFirstElement(oAnchor, "STRONG"); oAnchor.removeChild(oStrong); oAnchor.appendChild(oText); } } }, /** * Event handler for when the "disabled" configuration property of * a MenuModuleItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem = instance * that fired the event. */ configDisabled: function(p_sType, p_aArgs, p_oItem) { var bDisabled =3D p_aArgs[0]; var Dom =3D this._oDom; var oAnchor =3D this._oAnchor; var aNodes =3D [this.element, oAnchor]; var oEM =3D this._oHelpTextEM; var oConfig =3D this.cfg; var oImg =3D this.submenuIndicator; var sImageSrc; var sImageAlt; if(oEM) { aNodes[2] =3D oEM; } if(bDisabled) { if(oConfig.getProperty("selected")) { oConfig.setProperty("selected", false); } oAnchor.removeAttribute("href"); Dom.addClass(aNodes, "disabled"); sImageSrc =3D this.DISABLED_SUBMENU_INDICATOR_IMAGE_PATH; sImageAlt =3D this.DISABLED_SUBMENU_INDICATOR_ALT_TEXT; } else { oAnchor.setAttribute("href", oConfig.getProperty("url")); Dom.removeClass(aNodes, "disabled"); sImageSrc =3D this.SUBMENU_INDICATOR_IMAGE_PATH; sImageAlt =3D this.COLLAPSED_SUBMENU_INDICATOR_ALT_TEXT; } if(oImg) { oImg.src =3D this.imageRoot + sImageSrc; oImg.alt =3D sImageAlt; } }, /** * Event handler for when the "selected" configuration property of * a MenuModuleItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem = instance * that fired the event. */ configSelected: function(p_sType, p_aArgs, p_oItem) { if(!this.cfg.getProperty("disabled")) { var Dom =3D this._oDom; var bSelected =3D p_aArgs[0]; var oEM =3D this._oHelpTextEM; var aNodes =3D [this.element, this._oAnchor]; var oImg =3D this.submenuIndicator; var sImageSrc; if(oEM) { aNodes[aNodes.length] =3D oEM; } if(oImg) { aNodes[aNodes.length] =3D oImg; } if(bSelected) { Dom.addClass(aNodes, "selected"); sImageSrc =3D = this.SELECTED_SUBMENU_INDICATOR_IMAGE_PATH; } else { Dom.removeClass(aNodes, "selected"); sImageSrc =3D this.SUBMENU_INDICATOR_IMAGE_PATH; } if(oImg) { oImg.src =3D document.images[(this.imageRoot + = sImageSrc)].src; } } }, /** * Event handler for when the "submenu" configuration property of * a MenuModuleItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem = instance * that fired the event. */ configSubmenu: function(p_sType, p_aArgs, p_oItem) { var Dom =3D this._oDom; var oEl =3D this.element; var oSubmenu =3D p_aArgs[0]; var oImg =3D this.submenuIndicator; var oConfig =3D this.cfg; var aNodes =3D [this.element, this._oAnchor]; if(oSubmenu) { // Set the submenu's parent to this MenuModuleItem instance oSubmenu.parent =3D this; this._oSubmenu =3D oSubmenu; if(!oImg) { var me =3D this; function preloadImage(p_sPath) { var sPath =3D me.imageRoot + p_sPath; if(!document.images[sPath]) { var oImage =3D document.createElement("img"); oImage.src =3D sPath; oImage.name =3D sPath; oImage.id =3D sPath; oImage.style.display =3D "none"; document.body.appendChild(oImage); } } preloadImage(this.SUBMENU_INDICATOR_IMAGE_PATH); = preloadImage(this.SELECTED_SUBMENU_INDICATOR_IMAGE_PATH); = preloadImage(this.DISABLED_SUBMENU_INDICATOR_IMAGE_PATH); oImg =3D document.createElement("img"); oImg.src =3D (this.imageRoot + = this.SUBMENU_INDICATOR_IMAGE_PATH); oImg.alt =3D this.COLLAPSED_SUBMENU_INDICATOR_ALT_TEXT; oEl.appendChild(oImg); this.submenuIndicator =3D oImg; Dom.addClass(aNodes, "hassubmenu"); if(oConfig.getProperty("disabled")) { oConfig.refireEvent("disabled"); } if(oConfig.getProperty("selected")) { oConfig.refireEvent("selected"); } } } else { Dom.removeClass(aNodes, "hassubmenu"); if(oImg) { oEl.removeChild(oImg); } if(this._oSubmenu) { this._oSubmenu.destroy(); } } }, // Public methods /** * Initializes an item's configurable properties. */ initDefaultConfig : function() { var oConfig =3D this.cfg; var CheckBoolean =3D oConfig.checkBoolean; // Define the config properties oConfig.addProperty( "text", { value: "", handler: this.configText, validator: this._checkString, suppressEvent: true } ); oConfig.addProperty("helptext", { handler: this.configHelpText = }); oConfig.addProperty( "url", { value: "#", handler: this.configURL, suppressEvent: true } ); oConfig.addProperty( "target", { handler: this.configTarget, suppressEvent: true } ); oConfig.addProperty( "emphasis", { value: false, handler: this.configEmphasis, validator: CheckBoolean, suppressEvent: true } ); oConfig.addProperty( "strongemphasis", { value: false, handler: this.configStrongEmphasis, validator: CheckBoolean, suppressEvent: true } ); oConfig.addProperty( "disabled", { value: false, handler: this.configDisabled, validator: CheckBoolean, suppressEvent: true } ); oConfig.addProperty( "selected", { value: false, handler: this.configSelected, validator: CheckBoolean, suppressEvent: true } ); oConfig.addProperty("submenu", { handler: this.configSubmenu }); }, /** * Finds the next enabled MenuModuleItem instance in a MenuModule = instance * @return Returns a MenuModuleItem instance. * @type YAHOO.widget.MenuModuleItem */ getNextEnabledSibling: function() { if(this.parent instanceof YAHOO.widget.MenuModule) { var nGroupIndex =3D this.groupIndex; /** * Returns the next item in an array * @param {p_aArray} An array * @param {p_nStartIndex} The index to start searching the = array * @ignore * @return Returns an item in an array * @type Object */ function getNextArrayItem(p_aArray, p_nStartIndex) { return p_aArray[p_nStartIndex] || getNextArrayItem(p_aArray, (p_nStartIndex+1)); } var aItemGroups =3D this.parent.getItemGroups(); var oNextItem; if(this.index < (aItemGroups[nGroupIndex].length - 1)) { oNextItem =3D getNextArrayItem( aItemGroups[nGroupIndex], (this.index+1) ); } else { var nNextGroupIndex; if(nGroupIndex < (aItemGroups.length - 1)) { nNextGroupIndex =3D nGroupIndex + 1; } else { nNextGroupIndex =3D 0; } var aNextGroup =3D getNextArrayItem(aItemGroups, = nNextGroupIndex); // Retrieve the first MenuModuleItem instance in the = next group oNextItem =3D getNextArrayItem(aNextGroup, 0); } return ( oNextItem.cfg.getProperty("disabled") || oNextItem.element.style.display =3D=3D "none" ) ? oNextItem.getNextEnabledSibling() : oNextItem; } }, /** * Finds the previous enabled MenuModuleItem instance in a * MenuModule instance * @return Returns a MenuModuleItem instance. * @type YAHOO.widget.MenuModuleItem */ getPreviousEnabledSibling: function() { if(this.parent instanceof YAHOO.widget.MenuModule) { var nGroupIndex =3D this.groupIndex; /** * Returns the previous item in an array * @param {p_aArray} An array * @param {p_nStartIndex} The index to start searching the = array * @ignore * @return Returns an item in an array * @type Object */ function getPreviousArrayItem(p_aArray, p_nStartIndex) { return p_aArray[p_nStartIndex] || getPreviousArrayItem(p_aArray, (p_nStartIndex-1)); } /** * Get the index of the first item in an array * @param {p_aArray} An array * @param {p_nStartIndex} The index to start searching the = array * @ignore * @return Returns an item in an array * @type Object */ function getFirstItemIndex(p_aArray, p_nStartIndex) { return p_aArray[p_nStartIndex] ? p_nStartIndex : getFirstItemIndex(p_aArray, (p_nStartIndex+1)); } var aItemGroups =3D this.parent.getItemGroups(); var oPreviousItem; if( this.index > getFirstItemIndex(aItemGroups[nGroupIndex], = 0) ) { oPreviousItem =3D getPreviousArrayItem( aItemGroups[nGroupIndex], (this.index-1) ); } else { var nPreviousGroupIndex; if(nGroupIndex > getFirstItemIndex(aItemGroups, 0)) { nPreviousGroupIndex =3D nGroupIndex - 1; } else { nPreviousGroupIndex =3D aItemGroups.length - 1; } var aPreviousGroup =3D getPreviousArrayItem(aItemGroups, = nPreviousGroupIndex); oPreviousItem =3D getPreviousArrayItem( aPreviousGroup, (aPreviousGroup.length - 1) ); } return ( oPreviousItem.cfg.getProperty("disabled") || oPreviousItem.element.style.display =3D=3D "none" ) ? oPreviousItem.getPreviousEnabledSibling() : oPreviousItem; } }, /** * Causes a MenuModuleItem instance to receive the focus and fires = the * focus event. */ focus: function() { var oParent =3D this.parent; var oAnchor =3D this._oAnchor; var oActiveItem =3D oParent.activeItem; if( !this.cfg.getProperty("disabled") && oParent && oParent.cfg.getProperty("visible") && this.element.style.display !=3D "none" ) { if(oActiveItem) { oActiveItem.blur(); } oAnchor.focus(); this.focusEvent.fire(); } }, /** * Causes a MenuModuleItem instance to lose focus and fires the = onblur event. */ blur: function() { var oParent =3D this.parent; if( !this.cfg.getProperty("disabled") && oParent && this._oDom.getStyle(oParent.element, "visibility") =3D=3D = "visible" ) { this._oAnchor.blur(); this.blurEvent.fire(); } }, /** * Removes a MenuModuleItem instance's HTMLLIElement from it's parent * HTMLUListElement node. */ destroy: function() { var oEl =3D this.element; if(oEl) { // Remove CustomEvent listeners this.mouseOverEvent.unsubscribeAll(); this.mouseOutEvent.unsubscribeAll(); this.mouseDownEvent.unsubscribeAll(); this.mouseUpEvent.unsubscribeAll(); this.clickEvent.unsubscribeAll(); this.keyPressEvent.unsubscribeAll(); this.keyDownEvent.unsubscribeAll(); this.keyUpEvent.unsubscribeAll(); this.focusEvent.unsubscribeAll(); this.blurEvent.unsubscribeAll(); this.cfg.configChangedEvent.unsubscribeAll(); // Remove the element from the parent node var oParentNode =3D oEl.parentNode; if(oParentNode) { oParentNode.removeChild(oEl); this.destroyEvent.fire(); } this.destroyEvent.unsubscribeAll(); } } }; /** * @class Extends YAHOO.widget.MenuModule to provide a set of default = mouse and * key event behaviors. * @constructor * @extends YAHOO.widget.MenuModule * @base YAHOO.widget.MenuModule * @param {String or HTMLElement} p_oElement String id or HTMLElement * (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement = node. * @param {Object} p_oConfig Optional. The configuration object literal * containing the configuration for a Menu instance. See * configuration class documentation for more details. */ YAHOO.widget.Menu =3D function(p_oElement, p_oConfig) { YAHOO.widget.Menu.superclass.constructor.call( this, p_oElement, p_oConfig ); }; YAHOO.extend(YAHOO.widget.Menu, YAHOO.widget.MenuModule); /** * The Menu class's initialization method. This method is automatically * called by the constructor, and sets up all DOM references for = pre-existing * markup, and creates required markup if it is not already present. * @param {String or HTMLElement} p_oElement String id or HTMLElement * (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement = node. * @param {Object} p_oConfig Optional. The configuration object literal * containing the configuration for a Menu instance. See * configuration class documentation for more details. */ YAHOO.widget.Menu.prototype.init =3D function(p_oElement, p_oConfig) { if(!this.ITEM_TYPE) { this.ITEM_TYPE =3D YAHOO.widget.MenuItem; } // Call the init of the superclass (YAHOO.widget.Menu) YAHOO.widget.Menu.superclass.init.call(this, p_oElement); this.beforeInitEvent.fire(YAHOO.widget.Menu); // Add event handlers this.showEvent.subscribe(this._onMenuShow, this, true); this.mouseOverEvent.subscribe(this._onMenuMouseOver, this, true); this.keyDownEvent.subscribe(this._onMenuKeyDown, this, true); if(p_oConfig) { this.cfg.applyConfig(p_oConfig, true); } this.initEvent.fire(YAHOO.widget.Menu); }; // Private event handlers /** * "show" Custom Event handler for a menu. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.Menu} p_oMenu The menu that fired the event. */ YAHOO.widget.Menu.prototype._onMenuShow =3D function(p_sType, p_aArgs, p_oMenu) { var oParent =3D this.parent; if(oParent && oParent.parent instanceof YAHOO.widget.Menu) { var aAlignment =3D = oParent.parent.cfg.getProperty("submenualignment"); this.cfg.setProperty( "submenualignment", [ aAlignment[0], aAlignment[1] ] ); } }; /** * "mouseover" Custom Event handler for a Menu instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.Menu} p_oMenu The Menu instance that fired the = event. */ YAHOO.widget.Menu.prototype._onMenuMouseOver =3D function(p_sType, p_aArgs, p_oMenu) { /* If the menu is a submenu, then select the menu's parent MenuItem instance */ if(this.parent) { this.parent.cfg.setProperty("selected", true); } }; /** * "mouseover" Custom Event handler for a Menu instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.Menu} p_oMenu The Menu instance that fired the = event. */ YAHOO.widget.Menu.prototype._onMenuKeyDown =3D function(p_sType, p_aArgs, p_oMenu) { if(this.cfg.getProperty("position") =3D=3D "dynamic") { var oDOMEvent =3D p_aArgs[0]; var oParent =3D this.parent; if(oDOMEvent.keyCode =3D=3D 27) { // Esc key this.hide(); // Set focus to the parent MenuItem if one exists if(oParent) { oParent.focus(); if(oParent.parent instanceof YAHOO.widget.Menu) { oParent.cfg.setProperty("selected", true); } YAHOO.util.Event.preventDefault(oDOMEvent); } } } }; // Public event handlers /** * Event handler fired when the resize monitor element is resized. */ YAHOO.widget.Menu.prototype.onDomResize =3D function(e, obj) { if(!this._handleResize) { this._handleResize =3D true; return; } var me =3D this; var oConfig =3D this.cfg; if(oConfig.getProperty("position") =3D=3D "dynamic") { oConfig.setProperty("width", (this._getOffsetWidth() + "px")); if(this.parent && oConfig.getProperty("visible")) { function align() { me.align(); } window.setTimeout(align, 0); } } YAHOO.widget.Menu.superclass.onDomResize.call(this, e, obj); }; /** * @class The MenuItem class allows you to create and modify an item for = a * Menu instance. MenuItem extends YAHOO.widget.MenuModuleItem to = provide a * set of default mouse and key event behaviors. * @constructor * @extends YAHOO.widget.MenuModuleItem * @base YAHOO.widget.MenuModuleItem * @param {String or HTMLElement} p_oObject String or HTMLElement * (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of = the * source HTMLElement node. * @param {Object} p_oConfig The configuration object literal containing * the configuration for a MenuItem instance. See the configuration * class documentation for more details. */ YAHOO.widget.MenuItem =3D function(p_oObject, p_oConfig) { YAHOO.widget.MenuItem.superclass.constructor.call( this, p_oObject, p_oConfig ); }; YAHOO.extend(YAHOO.widget.MenuItem, YAHOO.widget.MenuModuleItem); /** * The MenuItem class's initialization method. This method is = automatically * called by the constructor, and sets up all DOM references for * pre-existing markup, and creates required markup if it is not * already present. * @param {String or HTMLElement} p_oObject String or HTMLElement * (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of = the * source HTMLElement node. * @param {Object} p_oConfig The configuration object literal containing * the configuration for a MenuItem instance. See the configuration * class documentation for more details. */ YAHOO.widget.MenuItem.prototype.init =3D function(p_oObject, p_oConfig) = { if(!this.SUBMENU_TYPE) { this.SUBMENU_TYPE =3D YAHOO.widget.Menu; } if(!this.SUBMENU_ITEM_TYPE) { this.SUBMENU_ITEM_TYPE =3D YAHOO.widget.MenuItem; } /* Call the init of the superclass (YAHOO.widget.MenuModuleItem) Note: We don't pass the user config in here yet because we only want it executed once, at the lowest subclass level. */ YAHOO.widget.MenuItem.superclass.init.call(this, p_oObject); // Add event handlers to each "MenuItem" instance this.keyDownEvent.subscribe(this._onKeyDown, this, true); this.mouseOverEvent.subscribe(this._onMouseOver, this, true); this.mouseOutEvent.subscribe(this._onMouseOut, this, true); this.clickEvent.subscribe(this._onClick, this, true); var oConfig =3D this.cfg; if(p_oConfig) { oConfig.applyConfig(p_oConfig, true); } oConfig.fireQueue(); }; // Constants /** * Constant representing the path to the image to be used for the checked = state. * @final * @type String */ YAHOO.widget.MenuItem.prototype.CHECKED_IMAGE_PATH =3D "nt/ic/ut/bsc/menuchk8_nrm_1.gif"; /** * Constant representing the path to the image to be used for the = selected * checked state. * @final * @type String */ YAHOO.widget.MenuItem.prototype.SELECTED_CHECKED_IMAGE_PATH =3D "nt/ic/ut/bsc/menuchk8_hov_1.gif"; /** * Constant representing the path to the image to be used for the = disabled * checked state. * @final * @type String */ YAHOO.widget.MenuItem.prototype.DISABLED_CHECKED_IMAGE_PATH =3D "nt/ic/ut/bsc/menuchk8_dim_1.gif"; /** * Constant representing the alt text for the image to be used for the * checked image. * @final * @type String */ YAHOO.widget.MenuItem.prototype.CHECKED_IMAGE_ALT_TEXT =3D "Checked."; /** * Constant representing the alt text for the image to be used for the * checked image when the item is disabled. * @final * @type String */ YAHOO.widget.MenuItem.prototype.DISABLED_CHECKED_IMAGE_ALT_TEXT =3D "Checked. (Item disabled.)"; // Private properties /** * Reference to the HTMLImageElement used to create the checked * indicator for a MenuItem instance. * @private * @type {HTMLImageElement} */ YAHOO.widget.MenuItem.prototype._checkImage =3D null; // Private event handlers /** * "keydown" Custom Event handler for a MenuItem instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuItem} p_oMenuModule The MenuModule instance = that * fired the event. */ YAHOO.widget.MenuItem.prototype._onKeyDown =3D function(p_sType, p_aArgs, p_oMenuItem) { var Event =3D YAHOO.util.Event; var oDOMEvent =3D p_aArgs[0]; var oParent =3D this.parent; var oConfig =3D this.cfg; var oMenuItem; switch(oDOMEvent.keyCode) { case 38: // Up arrow case 40: // Down arrow if( this =3D=3D oParent.activeItem && !oConfig.getProperty("selected") ) { oConfig.setProperty("selected", true); } else { var oNextItem =3D (oDOMEvent.keyCode =3D=3D 38) ? this.getPreviousEnabledSibling() : this.getNextEnabledSibling(); if(oNextItem) { oParent.clearActiveItem(); oNextItem.cfg.setProperty("selected", true); oNextItem.focus(); } } Event.preventDefault(oDOMEvent); break; case 39: // Right arrow oParent.clearActiveItem(); oConfig.setProperty("selected", true); this.focus(); var oSubmenu =3D oConfig.getProperty("submenu"); if(oSubmenu) { oSubmenu.show(); oSubmenu.setInitialSelection(); } else if( YAHOO.widget.MenuBarItem && oParent.parent && oParent.parent instanceof YAHOO.widget.MenuBarItem ) { oParent.hide(); // Set focus to the parent MenuItem if one exists oMenuItem =3D oParent.parent; if(oMenuItem) { oMenuItem.focus(); oMenuItem.cfg.setProperty("selected", true); } } Event.preventDefault(oDOMEvent); break; case 37: // Left arrow // Only hide if this this is a MenuItem of a submenu if(oParent.parent) { oParent.hide(); // Set focus to the parent MenuItem if one exists oMenuItem =3D oParent.parent; if(oMenuItem) { oMenuItem.focus(); oMenuItem.cfg.setProperty("selected", true); } } Event.preventDefault(oDOMEvent); break; } }; /** * "mouseover" Custom Event handler for a MenuItem instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuItem} p_oMenuModule The MenuModule instance = that * fired the event. */ YAHOO.widget.MenuItem.prototype._onMouseOver =3D function(p_sType, p_aArgs, p_oMenuItem) { var oParent =3D this.parent; var oConfig =3D this.cfg; var oActiveItem =3D oParent.activeItem; // Hide any other submenus that might be visible if(oActiveItem && oActiveItem !=3D this) { oParent.clearActiveItem(); } // Select and focus the current MenuItem instance oConfig.setProperty("selected", true); this.focus(); // Show the submenu for this instance var oSubmenu =3D oConfig.getProperty("submenu"); if(oSubmenu) { oSubmenu.show(); } }; /** * "mouseout" Custom Event handler for a MenuItem instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuItem} p_oMenuModule The MenuModule instance = that * fired the event. */ YAHOO.widget.MenuItem.prototype._onMouseOut =3D function(p_sType, p_aArgs, p_oMenuItem) { var oConfig =3D this.cfg; var oSubmenu =3D oConfig.getProperty("submenu"); oConfig.setProperty("selected", false); if(oSubmenu) { var oDOMEvent =3D p_aArgs[0]; var oRelatedTarget =3D = YAHOO.util.Event.getRelatedTarget(oDOMEvent); if( !( oRelatedTarget =3D=3D oSubmenu.element || YAHOO.util.Dom.isAncestor(oSubmenu.element, = oRelatedTarget) ) ) { oSubmenu.hide(); } } }; /** * "click" Custom Event handler for a MenuItem instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuItem} p_oMenuModule The MenuModule instance = that * fired the event. */ YAHOO.widget.MenuItem.prototype._onClick =3D function(p_sType, p_aArgs, p_oMenuItem) { function findRoot(p_oMenu) { var oItem =3D p_oMenu.parent; // The parent MenuItem = instance if(oItem) { var oParentMenu =3D oItem.parent; if( oParentMenu && (oParentMenu instanceof YAHOO.widget.Menu) && oParentMenu.cfg.getProperty("position") =3D=3D = "dynamic" ) { return findRoot(oParentMenu); } } return p_oMenu; } var oRoot =3D findRoot(this.parent); var sURL =3D this.cfg.getProperty("url"); if( (sURL.substr((sURL.length-1),1) =3D=3D "#") && oRoot && oRoot.cfg.getProperty("position") =3D=3D "dynamic" ) { oRoot.hide(); } }; // Event handlers for configuration properties /** * Event handler for when the "checked" configuration property of * a MenuItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuItem} p_oItem The MenuItem instance * that fired the event. */ YAHOO.widget.MenuItem.prototype.configChecked =3D function(p_sType, p_aArgs, p_oItem) { var Dom =3D YAHOO.util.Dom; var bChecked =3D p_aArgs[0]; var oEl =3D this.element; var oConfig =3D this.cfg; var oImg; if(bChecked) { var me =3D this; function preloadImage(p_sPath) { var sPath =3D me.imageRoot + p_sPath; if(!document.images[sPath]) { var oImage =3D document.createElement("img"); oImage.src =3D sPath; oImage.name =3D sPath; oImage.id =3D sPath; oImage.style.display =3D "none"; document.body.appendChild(oImage); } } preloadImage(this.CHECKED_IMAGE_PATH); preloadImage(this.SELECTED_CHECKED_IMAGE_PATH); preloadImage(this.DISABLED_CHECKED_IMAGE_PATH); oImg =3D document.createElement("img"); oImg.src =3D (this.imageRoot + this.CHECKED_IMAGE_PATH); oImg.alt =3D this.CHECKED_IMAGE_ALT_TEXT; var oSubmenu =3D this.cfg.getProperty("submenu"); if(oSubmenu) { oEl.insertBefore(oImg, oSubmenu.element); } else { oEl.appendChild(oImg); } Dom.addClass([oEl, oImg], "checked"); this._checkImage =3D oImg; if(oConfig.getProperty("disabled")) { oConfig.refireEvent("disabled"); } if(oConfig.getProperty("selected")) { oConfig.refireEvent("selected"); } } else { oImg =3D this._checkImage; Dom.removeClass([oEl, oImg], "checked"); if(oImg) { oEl.removeChild(oImg); } this._checkImage =3D null; } }; /** * Event handler for when the "selected" configuration property of * a MenuItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuItem} p_oItem The MenuItem instance * that fired the event. */ YAHOO.widget.MenuItem.prototype.configSelected =3D function(p_sType, p_aArgs, p_oItem) { YAHOO.widget.MenuItem.superclass.configSelected.call( this, p_sType, p_aArgs, p_oItem ); var oConfig =3D this.cfg; if(!oConfig.getProperty("disabled") && = oConfig.getProperty("checked")) { var bSelected =3D p_aArgs[0]; var sSrc =3D this.imageRoot + (bSelected ? this.SELECTED_CHECKED_IMAGE_PATH : = this.CHECKED_IMAGE_PATH); this._checkImage.src =3D document.images[sSrc].src; } }; /** * Event handler for when the "disabled" configuration property of * a MenuItem instance changes. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.MenuItem} p_oItem The MenuItem instance * that fired the event. */ YAHOO.widget.MenuItem.prototype.configDisabled =3D function(p_sType, p_aArgs, p_oItem) { YAHOO.widget.MenuItem.superclass.configDisabled.call( this, p_sType, p_aArgs, p_oItem ); if(this.cfg.getProperty("checked")) { var bDisabled =3D p_aArgs[0]; var sAlt =3D this.CHECKED_IMAGE_ALT_TEXT; var sSrc =3D this.CHECKED_IMAGE_PATH; var oImg =3D this._checkImage; if(bDisabled) { sAlt =3D this.DISABLED_CHECKED_IMAGE_ALT_TEXT; sSrc =3D this.DISABLED_CHECKED_IMAGE_PATH; } oImg.src =3D document.images[(this.imageRoot + sSrc)].src; oImg.alt =3D sAlt; } }; // Public methods /** * Initializes the class's configurable properties which can be changed = using * the MenuModule's Config object (cfg). */ YAHOO.widget.MenuItem.prototype.initDefaultConfig =3D function() { YAHOO.widget.MenuItem.superclass.initDefaultConfig.call(this); // Add configuration properties this.cfg.addProperty( "checked", { value: false, handler: this.configChecked, validator: this.cfg.checkBoolean, suppressEvent: true, supercedes:["disabled"] } ); }; /** * @class Creates a list of options which vary depending on the context = in * which the menu is invoked. * @constructor * @extends YAHOO.widget.Menu * @base YAHOO.widget.Menu * @param {String or HTMLElement} p_oElement String id or HTMLElement * (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement = node. * @param {Object} p_oConfig Optional. The configuration object literal * containing the configuration for a ContextMenu instance. See * configuration class documentation for more details. */ YAHOO.widget.ContextMenu =3D function(p_oElement, p_oConfig) { YAHOO.widget.ContextMenu.superclass.constructor.call( this, p_oElement, p_oConfig ); }; YAHOO.extend(YAHOO.widget.ContextMenu, YAHOO.widget.Menu); // Private properties /** * Array of ContextMenu instances * @private * @type {Array} */ YAHOO.widget.ContextMenu._aMenus =3D []; /** * The id(s) or element(s) that trigger the display of the ContextMenu = instance * @private * @type {String/Array/HTMLElement} */ YAHOO.widget.ContextMenu.prototype._oTrigger =3D null; // Public properties /** * Returns the HTMLElement node that was the target of the "contextmenu" * DOM event. * @type HTMLElement */ YAHOO.widget.ContextMenu.prototype.contextEventTarget =3D null; /** * The ContextMenu class's initialization method. This method is = automatically * called by the constructor, and sets up all DOM references for = pre-existing * markup, and creates required markup if it is not already present. * @param {String or HTMLElement} p_oElement String id or HTMLElement * (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement = node. * @param {Object} p_oConfig Optional. The configuration object literal * containing the configuration for a ContextMenu instance. See * configuration class documentation for more details. */ YAHOO.widget.ContextMenu.prototype.init =3D function(p_oElement, = p_oConfig) { if(!this.ITEM_TYPE) { this.ITEM_TYPE =3D YAHOO.widget.ContextMenuItem; } // Call the init of the superclass (YAHOO.widget.Menu) YAHOO.widget.ContextMenu.superclass.init.call(this, p_oElement); this.beforeInitEvent.fire(YAHOO.widget.ContextMenu); if(p_oConfig) { this.cfg.applyConfig(p_oConfig, true); } this.initEvent.fire(YAHOO.widget.ContextMenu); var aMenus =3D YAHOO.widget.ContextMenu._aMenus; aMenus[aMenus.length] =3D this; }; // Private event handlers /** * "click" event handler for the document object. * @private * @param {Event} p_oEvent Event object passed back by the * event utility (YAHOO.util.Event). * @param {YAHOO.widget.ContextMenu} p_oMenu The ContextMenu instance * handling the event. */ YAHOO.widget.ContextMenu.prototype._onDocumentClick =3D function(p_oEvent, p_oMenu) { this.hide(); }; /** * "click" event handler for the HTMLElement node that triggered the = event. * Used to cancel default behaviors in Opera. * @private * @param {Event} p_oEvent Event object passed back by the * event utility (YAHOO.util.Event). * @param {YAHOO.widget.ContextMenu} p_oMenu The ContextMenu instance * handling the event. */ YAHOO.widget.ContextMenu.prototype._onTriggerClick =3D function(p_oEvent, p_oMenu) { if(p_oEvent.ctrlKey) { YAHOO.util.Event.stopEvent(p_oEvent); } }; /** * "contextmenu" event handler ("mousedown" for Opera) for the = HTMLElement * node that triggered the event. * @private * @param {Event} p_oEvent Event object passed back by the * event utility (YAHOO.util.Event). * @param {YAHOO.widget.ContextMenu} p_oMenu The ContextMenu instance * handling the event. */ YAHOO.widget.ContextMenu.prototype._onTriggerContextMenu =3D function(p_oEvent, p_oMenu) { var Event =3D YAHOO.util.Event; var oConfig =3D this.cfg; // Hide any other ContextMenu instances that might be visible var aMenus =3D YAHOO.widget.ContextMenu._aMenus; var i =3D aMenus.length - 1; do { aMenus[i].hide(); } while(i--); if(p_oEvent.type =3D=3D "mousedown" && !p_oEvent.ctrlKey) { return; } this.contextEventTarget =3D Event.getTarget(p_oEvent); // Position and display the context menu var nX =3D Event.getPageX(p_oEvent); var nY =3D Event.getPageY(p_oEvent); oConfig.applyConfig( { xy:[nX, nY], visible:true } ); oConfig.fireQueue(); /* Prevent the browser's default context menu from appearing = and stop the propagation of the "contextmenu" event so that other ContextMenu instances are no displayed. */ Event.stopEvent(p_oEvent); }; // Public methods /** * Initializes the class's configurable properties which can be changed = using * a ContextMenu instance's Config object (cfg). */ YAHOO.widget.ContextMenu.prototype.initDefaultConfig =3D function() { YAHOO.widget.ContextMenu.superclass.initDefaultConfig.call(this); // Add a configuration property this.cfg.addProperty("trigger", { handler: this.configTrigger }); }; // Event handlers for configuration properties /** * Event handler for when the "trigger" configuration property of * a MenuItem instance. * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the * event was fired. * @param {YAHOO.widget.ContextMenu} p_oMenu The ContextMenu that = instance fired * the event. */ YAHOO.widget.ContextMenu.prototype.configTrigger =3D function(p_sType, p_aArgs, p_oMenu) { var Event =3D YAHOO.util.Event; var oTrigger =3D p_aArgs[0]; if(oTrigger) { /* If there is a current "trigger" - remove the event = handlers from that element(s) before assigning new ones */ if(this._oTrigger) { Event.purgeElement(this._oTrigger); } this._oTrigger =3D oTrigger; /* Listen for the "mousedown" event in Opera b/c it does = not support the "contextmenu" event */ var bOpera =3D (this.browser =3D=3D "opera"); Event.addListener( oTrigger, (bOpera ? "mousedown" : "contextmenu"), this._onTriggerContextMenu, this, true ); /* Assign a "click" event handler to the trigger element(s) = for Opera to prevent default browser behaviors. */ if(bOpera) { Event.addListener( oTrigger, "click", this._onTriggerClick, this, true ); } // Assign a "mousedown" event handler to the document Event.addListener( document, "click", this._onDocumentClick, this, true ); } }; /** * @class Creates an item for a context menu instance. * @constructor * @extends YAHOO.widget.MenuItem * @base YAHOO.widget.MenuItem * @param {String or HTMLElement} p_oObject String or HTMLElement * (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of = the * source HTMLElement node. * @param {Object} p_oConfig The configuration object literal containing * the configuration for a ContextMenuItem instance. See the = configuration * class documentation for more details. */ YAHOO.widget.ContextMenuItem =3D function(p_oObject, p_oConfig) { YAHOO.widget.ContextMenuItem.superclass.constructor.call( this, p_oObject, p_oConfig ); }; YAHOO.extend(YAHOO.widget.ContextMenuItem, YAHOO.widget.MenuItem); /** * The ContextMenuItem class's initialization method. This method is * automatically called by the constructor, and sets up all DOM = references for * pre-existing markup, and creates required markup if it is not * already present. * @param {String or HTMLElement} p_oObject String or HTMLElement * (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of = the * source HTMLElement node. * @param {Object} p_oConfig The configuration object literal containing * the configuration for a ContextMenuItem instance. See the = configuration * class documentation for more details. */ YAHOO.widget.ContextMenuItem.prototype.init =3D function(p_oObject, p_oConfig) { if(!this.SUBMENU_TYPE) { this.SUBMENU_TYPE =3D YAHOO.widget.ContextMenu; } if(!this.SUBMENU_ITEM_TYPE) { this.SUBMENU_ITEM_TYPE =3D YAHOO.widget.ContextMenuItem; } /* Call the init of the superclass (YAHOO.widget.MenuItem) Note: We don't pass the user config in here yet because we only want it executed once, at the lowest subclass level. */ YAHOO.widget.ContextMenuItem.superclass.init.call(this, = p_oObject); var oConfig =3D this.cfg; if(p_oConfig) { oConfig.applyConfig(p_oConfig, true); } oConfig.fireQueue(); }; /** * @class Horizontal collection of items, each of which can contain a = submenu. * Extends YAHOO.widget.MenuModule to provide a set of default mouse and * key event behaviors. * @constructor * @extends YAHOO.widget.MenuModule * @base YAHOO.widget.MenuModule * @param {String or HTMLElement} p_oElement String id or HTMLElement * (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement = node. * @param {Object} p_oConfig Optional. The configuration object literal * containing the configuration for a MenuBar instance. See * configuration class documentation for more details. */ YAHOO.widget.MenuBar =3D function(p_oElement, p_oConfig) { YAHOO.widget.MenuBar.superclass.constructor.call( this, p_oElement, p_oConfig ); }; YAHOO.extend(YAHOO.widget.MenuBar, YAHOO.widget.MenuModule); /** * The MenuBar class's initialization method. This method is = automatically * called by the constructor, and sets up all DOM references for = pre-existing * markup, and creates required markup if it is not already present. * @param {String or HTMLElement} p_oElement String id or HTMLElement * (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement = node. * @param {Object} p_oConfig Optional. The configuration object literal * containing the configuration for a MenuBar instance. See * configuration class documentation for more details. */ YAHOO.widget.MenuBar.prototype.init =3D function(p_oElement, p_oConfig) = { if(!this.ITEM_TYPE) { this.ITEM_TYPE =3D YAHOO.widget.MenuBarItem; } // Call the init of the superclass (YAHOO.widget.MenuModule) YAHOO.widget.MenuBar.superclass.init.call(this, p_oElement); this.beforeInitEvent.fire(YAHOO.widget.MenuBar); var oConfig =3D this.cfg; /* Set the default value for the "position" configuration property to "static" */ if(!p_oConfig || (p_oConfig && !p_oConfig.position)) { oConfig.queueProperty("position", "static"); } /* Set the default value for the "submenualignment" configuration = property to "tl" and "bl" */ if(!p_oConfig || (p_oConfig && !p_oConfig.submenualignment)) { oConfig.queueProperty("submenualignment", ["tl","bl"]); } if(p_oConfig) { oConfig.applyConfig(p_oConfig, true); } this.initEvent.fire(YAHOO.widget.MenuBar); }; // Constants /** * Constant representing the CSS class(es) to be applied to the root * HTMLDivElement of the MenuBar instance. * @final * @type String */ YAHOO.widget.MenuBar.prototype.CSS_CLASS_NAME =3D "yuimenubar"; /** * @class The MenuBarItem class allows you to create and modify an item = for a * MenuBar instance. MenuBarItem extends YAHOO.widget.MenuModuleItem to = provide * a set of default mouse and key event behaviors. * @constructor * @extends YAHOO.widget.MenuModuleItem * @base YAHOO.widget.MenuModuleItem * @param {String or HTMLElement} p_oObject String or HTMLElement * (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of = the * source HTMLElement node. * @param {Object} p_oConfig The configuration object literal containing * the configuration for a MenuBarItem instance. See the configuration * class documentation for more details. */ YAHOO.widget.MenuBarItem =3D function(p_oObject, p_oConfig) { YAHOO.widget.MenuBarItem.superclass.constructor.call( this, p_oObject, p_oConfig ); }; YAHOO.extend(YAHOO.widget.MenuBarItem, YAHOO.widget.MenuModuleItem); /** * The MenuBarItem class's initialization method. This method is = automatically * called by the constructor, and sets up all DOM references for * pre-existing markup, and creates required markup if it is not * already present. * @param {String or HTMLElement} p_oObject String or HTMLElement * (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of = the * source HTMLElement node. * @param {Object} p_oConfig The configuration object literal containing * the configuration for a MenuBarItem instance. See the configuration * class documentation for more details. */ YAHOO.widget.MenuBarItem.prototype.init =3D function(p_oObject, = p_oConfig) { if(!this.SUBMENU_TYPE) { this.SUBMENU_TYPE =3D YAHOO.widget.Menu; } if(!this.SUBMENU_ITEM_TYPE) { this.SUBMENU_ITEM_TYPE =3D YAHOO.widget.MenuItem; } /* Call the init of the superclass (YAHOO.widget.MenuModuleItem) Note: We don't pass the user config in here yet because we only want it executed once, at the lowest subclass level. */ YAHOO.widget.MenuBarItem.superclass.init.call(this, p_oObject); // Add event handlers to each "MenuBarItem" instance this.keyDownEvent.subscribe(this._onKeyDown, this, true); var oConfig =3D this.cfg; if(p_oConfig) { oConfig.applyConfig(p_oConfig, true); } oConfig.fireQueue(); }; // Constants /** * Constant representing the CSS class(es) to be applied to the root * HTMLLIElement of the MenuBarItem. * @final * @type String */ YAHOO.widget.MenuBarItem.prototype.CSS_CLASS_NAME =3D "yuimenubaritem"; /** * Constant representing the path to the image to be used for the submenu * arrow indicator. * @final * @type String */ YAHOO.widget.MenuBarItem.prototype.SUBMENU_INDICATOR_IMAGE_PATH =3D "nt/ic/ut/alt1/menuarodwn8_nrm_1.gif"; /** * Constant representing the path to the image to be used for the submenu * arrow indicator when a MenuBarItem instance is selected. * @final * @type String */ YAHOO.widget.MenuBarItem.prototype.SELECTED_SUBMENU_INDICATOR_IMAGE_PATH = =3D "nt/ic/ut/alt1/menuarodwn8_hov_1.gif"; /** * Constant representing the path to the image to be used for the submenu * arrow indicator when a MenuBarItem instance is disabled. * @final * @type String */ YAHOO.widget.MenuBarItem.prototype.DISABLED_SUBMENU_INDICATOR_IMAGE_PATH = =3D "nt/ic/ut/alt1/menuarodwn8_dim_1.gif"; // Private event handlers /** * "keydown" Custom Event handler for a MenuBarItem instance. * @private * @param {String} p_sType The name of the event that was fired. * @param {Array} p_aArgs Collection of arguments sent when the event * was fired. * @param {YAHOO.widget.MenuBarItem} p_oMenuModule The MenuModule = instance that * fired the event. */ YAHOO.widget.MenuBarItem.prototype._onKeyDown =3D function(p_sType, p_aArgs, p_oMenuItem) { var Event =3D YAHOO.util.Event; var oDOMEvent =3D p_aArgs[0]; var oConfig =3D this.cfg; var oParent =3D this.parent; switch(oDOMEvent.keyCode) { case 37: // Left arrow case 39: // Right arrow if( this =3D=3D oParent.activeItem && !oConfig.getProperty("selected") ) { oConfig.setProperty("selected", true); } else { var oNextItem =3D (oDOMEvent.keyCode =3D=3D 37) ? this.getPreviousEnabledSibling() : this.getNextEnabledSibling(); if(oNextItem) { oParent.clearActiveItem(); oNextItem.cfg.setProperty("selected", true); oNextItem.focus(); } } Event.preventDefault(oDOMEvent); break; case 40: // Down arrow oParent.clearActiveItem(); oConfig.setProperty("selected", true); this.focus(); var oSubmenu =3D oConfig.getProperty("submenu"); if(oSubmenu) { oSubmenu.show(); oSubmenu.setInitialSelection(); } Event.preventDefault(oDOMEvent); break; } }; ------=_NextPart_000_0000_01C9A936.5CBF2A50--