]> git.mxchange.org Git - friendica-addons.git/commitdiff
Update strings
authorAdam Magness <adam.magness@gmail.com>
Sat, 20 Jan 2018 16:01:59 +0000 (11:01 -0500)
committerAdam Magness <adam.magness@gmail.com>
Sat, 20 Jan 2018 16:01:59 +0000 (11:01 -0500)
update strings to contain addon

519 files changed:
INSTALL.txt
README.md
blackout/README.md
blogger/lang/C/messages.po
blogger/lang/ca/strings.php
blogger/lang/cs/messages.po
blogger/lang/de/messages.po
blogger/lang/de/strings.php
blogger/lang/eo/strings.php
blogger/lang/es/messages.po
blogger/lang/es/strings.php
blogger/lang/fr/messages.po
blogger/lang/fr/strings.php
blogger/lang/is/messages.po
blogger/lang/is/strings.php
blogger/lang/it/messages.po
blogger/lang/it/strings.php
blogger/lang/nb-no/strings.php
blogger/lang/pl/strings.php
blogger/lang/pt-br/messages.po
blogger/lang/pt-br/strings.php
blogger/lang/ro/messages.po
blogger/lang/ro/strings.php
blogger/lang/ru/messages.po
blogger/lang/ru/strings.php
blogger/lang/zh-cn/strings.php
buffer/README.md
buffer/lang/C/messages.po
buffer/lang/cs/messages.po
buffer/lang/cs/strings.php
buffer/lang/de/messages.po
buffer/lang/de/strings.php
buffer/lang/es/messages.po
buffer/lang/es/strings.php
buffer/lang/fr/messages.po
buffer/lang/fr/strings.php
buffer/lang/it/messages.po
buffer/lang/it/strings.php
buffer/lang/pt-br/messages.po
buffer/lang/pt-br/strings.php
buffer/lang/ro/messages.po
buffer/lang/ro/strings.php
buffer/lang/ru/messages.po
buffer/lang/ru/strings.php
communityhome/README.md
dav/README.md
dav/SabreDAV/ChangeLog
dav/SabreDAV/lib/Sabre/CalDAV/ICSExportPlugin.php
dav/SabreDAV/lib/Sabre/CalDAV/Notifications/Collection.php
dav/SabreDAV/lib/Sabre/CalDAV/Notifications/ICollection.php
dav/SabreDAV/lib/Sabre/CalDAV/Plugin.php
dav/SabreDAV/lib/Sabre/CalDAV/Schedule/Outbox.php
dav/SabreDAV/lib/Sabre/CardDAV/Plugin.php
dav/SabreDAV/lib/Sabre/DAV/Auth/Plugin.php
dav/SabreDAV/lib/Sabre/DAV/Browser/GuessContentType.php
dav/SabreDAV/lib/Sabre/DAV/Browser/MapGetToPropFind.php
dav/SabreDAV/lib/Sabre/DAV/Browser/Plugin.php
dav/SabreDAV/lib/Sabre/DAV/Locks/Plugin.php
dav/SabreDAV/lib/Sabre/DAV/Mount/Plugin.php
dav/SabreDAV/lib/Sabre/DAV/PartialUpdate/Plugin.php
dav/SabreDAV/lib/Sabre/DAV/Server.php
dav/SabreDAV/lib/Sabre/DAV/ServerPlugin.php
dav/SabreDAV/lib/Sabre/DAV/TemporaryFileFilterPlugin.php
dav/SabreDAV/lib/Sabre/DAVACL/Plugin.php
dav/SabreDAV/lib/Sabre/DAVACL/PrincipalBackend/PDO.php
dav/colorpicker/README.md
dav/common/wdcal/js/jquery.calendar.js
dav/friendica/layout.fnk.php
dav/jqueryui/jquery.ui.datepicker-de.js
dav/lang/C/messages.po
dav/lang/ca/strings.php
dav/lang/cs/messages.po
dav/lang/cs/strings.php
dav/lang/de/messages.po
dav/lang/de/strings.php
dav/lang/eo/strings.php
dav/lang/es/messages.po
dav/lang/es/strings.php
dav/lang/fr/strings.php
dav/lang/is/strings.php
dav/lang/it/messages.po
dav/lang/it/strings.php
dav/lang/nb-no/strings.php
dav/lang/pl/strings.php
dav/lang/pt-br/strings.php
dav/lang/ro/messages.po
dav/lang/ro/strings.php
dav/lang/ru/strings.php
dav/lang/zh-cn/strings.php
diaspora/diaspora.php
diaspora/lang/C/messages.po
diaspora/lang/cs/messages.po
diaspora/lang/cs/strings.php
diaspora/lang/de/messages.po
diaspora/lang/de/strings.php
diaspora/lang/es/messages.po
diaspora/lang/es/strings.php
diaspora/lang/fr/messages.po
diaspora/lang/fr/strings.php
diaspora/lang/it/messages.po
diaspora/lang/it/strings.php
diaspora/lang/pt-br/messages.po
diaspora/lang/ro/messages.po
diaspora/lang/ro/strings.php
diaspora/lang/ru/messages.po
diaspora/lang/ru/strings.php
diaspora/lang/zh-cn/messages.po
diaspora/lang/zh-cn/strings.php
dwpost/dwpost.php
dwpost/lang/C/messages.po
dwpost/lang/ca/strings.php
dwpost/lang/cs/messages.po
dwpost/lang/cs/strings.php
dwpost/lang/de/messages.po
dwpost/lang/de/strings.php
dwpost/lang/eo/strings.php
dwpost/lang/es/messages.po
dwpost/lang/es/strings.php
dwpost/lang/fr/messages.po
dwpost/lang/fr/strings.php
dwpost/lang/is/strings.php
dwpost/lang/it/messages.po
dwpost/lang/it/strings.php
dwpost/lang/nb-no/strings.php
dwpost/lang/pl/strings.php
dwpost/lang/pt-br/messages.po
dwpost/lang/pt-br/strings.php
dwpost/lang/ro/messages.po
dwpost/lang/ro/strings.php
dwpost/lang/ru/messages.po
dwpost/lang/ru/strings.php
dwpost/lang/zh-cn/strings.php
fortunate/fortunate.php
geonames/lang/C/messages.po
geonames/lang/ca/strings.php
geonames/lang/cs/messages.po
geonames/lang/cs/strings.php
geonames/lang/de/messages.po
geonames/lang/de/strings.php
geonames/lang/eo/strings.php
geonames/lang/es/messages.po
geonames/lang/es/strings.php
geonames/lang/fr/strings.php
geonames/lang/is/strings.php
geonames/lang/it/messages.po
geonames/lang/it/strings.php
geonames/lang/nb-no/strings.php
geonames/lang/pl/strings.php
geonames/lang/pt-br/strings.php
geonames/lang/ro/messages.po
geonames/lang/ro/strings.php
geonames/lang/ru/messages.po
geonames/lang/ru/strings.php
geonames/lang/zh-cn/strings.php
gnot/lang/C/messages.po
gnot/lang/ca/strings.php
gnot/lang/cs/messages.po
gnot/lang/cs/strings.php
gnot/lang/de/messages.po
gnot/lang/de/strings.php
gnot/lang/eo/strings.php
gnot/lang/es/messages.po
gnot/lang/es/strings.php
gnot/lang/fr/strings.php
gnot/lang/is/strings.php
gnot/lang/it/messages.po
gnot/lang/it/strings.php
gnot/lang/nb-no/strings.php
gnot/lang/pl/strings.php
gnot/lang/pt-br/strings.php
gnot/lang/ro/messages.po
gnot/lang/ro/strings.php
gnot/lang/ru/messages.po
gnot/lang/ru/strings.php
gnot/lang/zh-cn/strings.php
gravatar/README.md
ijpost/ijpost.php
ijpost/lang/C/messages.po
ijpost/lang/ca/strings.php
ijpost/lang/cs/messages.po
ijpost/lang/cs/strings.php
ijpost/lang/de/messages.po
ijpost/lang/de/strings.php
ijpost/lang/eo/strings.php
ijpost/lang/es/messages.po
ijpost/lang/es/strings.php
ijpost/lang/fr/strings.php
ijpost/lang/is/strings.php
ijpost/lang/it/messages.po
ijpost/lang/it/strings.php
ijpost/lang/nb-no/strings.php
ijpost/lang/pl/strings.php
ijpost/lang/pt-br/messages.po
ijpost/lang/pt-br/strings.php
ijpost/lang/ro/messages.po
ijpost/lang/ro/strings.php
ijpost/lang/ru/strings.php
ijpost/lang/zh-cn/strings.php
impressum/README.md
impressum/lang/de/messages.po
impressum/lang/de/strings.php
impressum/lang/it/messages.po
impressum/lang/it/strings.php
jappixmini/README
jappixmini/jappix/js/adhoc.js
jappixmini/jappix/js/anonymous.js
jappixmini/jappix/js/archives.js
jappixmini/jappix/js/connection.js
jappixmini/jappix/js/directory.js
jappixmini/jappix/js/discovery.js
jappixmini/jappix/js/favorites.js
jappixmini/jappix/js/home.js
jappixmini/jappix/js/inbox.js
jappixmini/jappix/js/integratebox.js
jappixmini/jappix/js/interface.js
jappixmini/jappix/js/jquery.js
jappixmini/jappix/js/jquery.placeholder.js
jappixmini/jappix/js/me.js
jappixmini/jappix/js/microblog.js
jappixmini/jappix/js/mini.js
jappixmini/jappix/js/mucadmin.js
jappixmini/jappix/js/music.js
jappixmini/jappix/js/notification.js
jappixmini/jappix/js/options.js
jappixmini/jappix/js/pep.js
jappixmini/jappix/js/presence.js
jappixmini/jappix/js/privacy.js
jappixmini/jappix/js/roster.js
jappixmini/jappix/js/rosterx.js
jappixmini/jappix/js/talk.js
jappixmini/jappix/js/userinfos.js
jappixmini/jappix/js/vcard.js
jappixmini/jappix/js/welcome.js
jappixmini/jappix/lang/ar/LC_MESSAGES/main.po
jappixmini/jappix/lang/bg/LC_MESSAGES/main.po
jappixmini/jappix/lang/cs/LC_MESSAGES/main.po
jappixmini/jappix/lang/de/LC_MESSAGES/main.po
jappixmini/jappix/lang/en/LC_MESSAGES/main.pot
jappixmini/jappix/lang/eo/LC_MESSAGES/main.po
jappixmini/jappix/lang/es/LC_MESSAGES/main.po
jappixmini/jappix/lang/et/LC_MESSAGES/main.po
jappixmini/jappix/lang/fa/LC_MESSAGES/main.po
jappixmini/jappix/lang/fr/LC_MESSAGES/main.po
jappixmini/jappix/lang/hu/LC_MESSAGES/main.po
jappixmini/jappix/lang/id/LC_MESSAGES/main.po
jappixmini/jappix/lang/it/LC_MESSAGES/main.po
jappixmini/jappix/lang/ja/LC_MESSAGES/main.po
jappixmini/jappix/lang/nl/LC_MESSAGES/main.po
jappixmini/jappix/lang/oc/LC_MESSAGES/main.po
jappixmini/jappix/lang/pl/LC_MESSAGES/main.po
jappixmini/jappix/lang/pt-BR/LC_MESSAGES/main.po
jappixmini/jappix/lang/ru/LC_MESSAGES/main.po
jappixmini/jappix/lang/sk/LC_MESSAGES/main.po
jappixmini/jappix/lang/sv/LC_MESSAGES/main.po
jappixmini/jappix/lang/uk/LC_MESSAGES/main.po
jappixmini/jappix/lang/zh/LC_MESSAGES/main.po
jappixmini/jappix/php/install.php
jappixmini/lang/it/messages.po
jappixmini/lang/it/strings.php
js_upload/file-uploader/readme.md
krynn/lang/C/messages.po
krynn/lang/ca/strings.php
krynn/lang/cs/messages.po
krynn/lang/cs/strings.php
krynn/lang/de/messages.po
krynn/lang/de/strings.php
krynn/lang/eo/strings.php
krynn/lang/es/messages.po
krynn/lang/es/strings.php
krynn/lang/fr/strings.php
krynn/lang/is/strings.php
krynn/lang/it/messages.po
krynn/lang/it/strings.php
krynn/lang/nb-no/strings.php
krynn/lang/pl/strings.php
krynn/lang/pt-br/strings.php
krynn/lang/ro/messages.po
krynn/lang/ro/strings.php
krynn/lang/ru/strings.php
krynn/lang/zh-cn/strings.php
langfilter/lang/it/messages.po
langfilter/lang/it/strings.php
libertree/lang/C/messages.po
libertree/lang/ca/strings.php
libertree/lang/cs/messages.po
libertree/lang/cs/strings.php
libertree/lang/de/messages.po
libertree/lang/de/strings.php
libertree/lang/eo/strings.php
libertree/lang/es/messages.po
libertree/lang/es/strings.php
libertree/lang/fr/messages.po
libertree/lang/fr/strings.php
libertree/lang/is/strings.php
libertree/lang/it/messages.po
libertree/lang/it/strings.php
libertree/lang/nb-no/strings.php
libertree/lang/pl/strings.php
libertree/lang/pt-br/messages.po
libertree/lang/pt-br/strings.php
libertree/lang/ro/messages.po
libertree/lang/ro/strings.php
libertree/lang/ru/strings.php
libertree/lang/zh-cn/strings.php
libertree/libertree.php
libravatar/README.md
ljpost/lang/C/messages.po
ljpost/lang/ca/strings.php
ljpost/lang/cs/messages.po
ljpost/lang/cs/strings.php
ljpost/lang/de/messages.po
ljpost/lang/de/strings.php
ljpost/lang/eo/strings.php
ljpost/lang/es/messages.po
ljpost/lang/es/strings.php
ljpost/lang/fr/strings.php
ljpost/lang/is/strings.php
ljpost/lang/it/messages.po
ljpost/lang/it/strings.php
ljpost/lang/nb-no/strings.php
ljpost/lang/pl/strings.php
ljpost/lang/pt-br/messages.po
ljpost/lang/pt-br/strings.php
ljpost/lang/ro/messages.po
ljpost/lang/ro/strings.php
ljpost/lang/ru/strings.php
ljpost/lang/zh-cn/strings.php
ljpost/ljpost.php
mailstream/phpmailer/class.phpmailer.php
mathjax/lang/it/messages.po
mathjax/lang/it/strings.php
nsfw/README
nsfw/lang/C/messages.po
nsfw/lang/ca/strings.php
nsfw/lang/cs/messages.po
nsfw/lang/cs/strings.php
nsfw/lang/de/messages.po
nsfw/lang/de/strings.php
nsfw/lang/eo/strings.php
nsfw/lang/es/messages.po
nsfw/lang/es/strings.php
nsfw/lang/fr/strings.php
nsfw/lang/is/strings.php
nsfw/lang/it/messages.po
nsfw/lang/it/strings.php
nsfw/lang/nb-no/strings.php
nsfw/lang/pl/strings.php
nsfw/lang/pt-br/messages.po
nsfw/lang/pt-br/strings.php
nsfw/lang/ro/messages.po
nsfw/lang/ro/strings.php
nsfw/lang/ru/strings.php
nsfw/lang/zh-cn/strings.php
openstreetmap/README
pageheader/README
piwik/README.md
planets/lang/C/messages.po
planets/lang/ca/strings.php
planets/lang/cs/messages.po
planets/lang/cs/strings.php
planets/lang/de/messages.po
planets/lang/de/strings.php
planets/lang/eo/strings.php
planets/lang/es/messages.po
planets/lang/es/strings.php
planets/lang/fr/strings.php
planets/lang/is/strings.php
planets/lang/it/messages.po
planets/lang/it/strings.php
planets/lang/nb-no/strings.php
planets/lang/pl/strings.php
planets/lang/pt-br/strings.php
planets/lang/ro/messages.po
planets/lang/ro/strings.php
planets/lang/ru/strings.php
planets/lang/zh-cn/strings.php
public_server/README.md
pumpio/lang/C/messages.po
pumpio/lang/cs/messages.po
pumpio/lang/cs/strings.php
pumpio/lang/de/messages.po
pumpio/lang/de/strings.php
pumpio/lang/es/messages.po
pumpio/lang/es/strings.php
pumpio/lang/fr/messages.po
pumpio/lang/fr/strings.php
pumpio/lang/it/messages.po
pumpio/lang/it/strings.php
pumpio/lang/pt-br/messages.po
pumpio/lang/pt-br/strings.php
pumpio/lang/ro/messages.po
pumpio/lang/ro/strings.php
pumpio/pumpio.php
randplace/lang/C/messages.po
randplace/lang/ca/strings.php
randplace/lang/cs/messages.po
randplace/lang/cs/strings.php
randplace/lang/de/messages.po
randplace/lang/de/strings.php
randplace/lang/eo/strings.php
randplace/lang/es/messages.po
randplace/lang/es/strings.php
randplace/lang/fr/strings.php
randplace/lang/is/strings.php
randplace/lang/it/messages.po
randplace/lang/it/strings.php
randplace/lang/nb-no/strings.php
randplace/lang/pl/strings.php
randplace/lang/pt-br/strings.php
randplace/lang/ro/messages.po
randplace/lang/ro/strings.php
randplace/lang/ru/strings.php
randplace/lang/sv/strings.php
randplace/lang/zh-cn/strings.php
remote_permissions/README.md
sniper/sniper.php
statusnet/README.md
testdrive/README.md
testdrive/testdrive.php
tumblr/README.md
tumblr/lang/C/messages.po
tumblr/lang/ca/strings.php
tumblr/lang/cs/messages.po
tumblr/lang/cs/strings.php
tumblr/lang/de/messages.po
tumblr/lang/de/strings.php
tumblr/lang/eo/strings.php
tumblr/lang/es/messages.po
tumblr/lang/es/strings.php
tumblr/lang/fr/strings.php
tumblr/lang/is/strings.php
tumblr/lang/it/messages.po
tumblr/lang/it/strings.php
tumblr/lang/nb-no/strings.php
tumblr/lang/pl/strings.php
tumblr/lang/pt-br/messages.po
tumblr/lang/pt-br/strings.php
tumblr/lang/ro/messages.po
tumblr/lang/ro/strings.php
tumblr/lang/ru/strings.php
tumblr/lang/zh-cn/strings.php
twitter/README.md
twitter/lang/C/messages.po
twitter/lang/ca/strings.php
twitter/lang/cs/messages.po
twitter/lang/cs/strings.php
twitter/lang/de/messages.po
twitter/lang/de/strings.php
twitter/lang/eo/strings.php
twitter/lang/es/messages.po
twitter/lang/es/strings.php
twitter/lang/fr/messages.po
twitter/lang/fr/strings.php
twitter/lang/is/strings.php
twitter/lang/it/messages.po
twitter/lang/it/strings.php
twitter/lang/nb-no/strings.php
twitter/lang/pl/strings.php
twitter/lang/pt-br/messages.po
twitter/lang/pt-br/strings.php
twitter/lang/ro/messages.po
twitter/lang/ro/strings.php
twitter/lang/ru/messages.po
twitter/lang/ru/strings.php
twitter/lang/sv/strings.php
twitter/lang/zh-cn/strings.php
webrtc/README.md
webrtc/lang/it/messages.po
webrtc/lang/it/strings.php
widgets/lang/C/messages.po
widgets/lang/ca/strings.php
widgets/lang/cs/strings.php
widgets/lang/de/strings.php
widgets/lang/eo/strings.php
widgets/lang/es/strings.php
widgets/lang/fr/strings.php
widgets/lang/is/strings.php
widgets/lang/it/strings.php
widgets/lang/nb-no/strings.php
widgets/lang/pl/strings.php
widgets/lang/pt-br/strings.php
widgets/lang/ru/strings.php
widgets/lang/sv/strings.php
widgets/lang/zh-cn/strings.php
windowsphonepush/lang/C/messages.po
windowsphonepush/lang/de/messages.po
windowsphonepush/lang/de/strings.php
windowsphonepush/lang/es/messages.po
windowsphonepush/lang/es/strings.php
windowsphonepush/lang/fr/messages.po
windowsphonepush/lang/fr/strings.php
windowsphonepush/lang/it/messages.po
windowsphonepush/lang/it/strings.php
windowsphonepush/lang/ro/messages.po
windowsphonepush/lang/ro/strings.php
wppost/lang/C/messages.po
wppost/lang/ca/strings.php
wppost/lang/cs/messages.po
wppost/lang/cs/strings.php
wppost/lang/de/messages.po
wppost/lang/de/strings.php
wppost/lang/eo/strings.php
wppost/lang/es/messages.po
wppost/lang/es/strings.php
wppost/lang/fr/strings.php
wppost/lang/is/strings.php
wppost/lang/it/messages.po
wppost/lang/it/strings.php
wppost/lang/nb-no/strings.php
wppost/lang/pl/strings.php
wppost/lang/pt-br/messages.po
wppost/lang/pt-br/strings.php
wppost/lang/ro/messages.po
wppost/lang/ro/strings.php
wppost/lang/ru/strings.php
wppost/lang/zh-cn/strings.php
xmpp/converse/README.rst
xmpp/converse/builds/converse.min.js
yourls/README

index f45e86b80115836c1546a2666d3c90eae9ab2d7c..c06b08e21f70462a7826ec83d99d6ffd13558b19 100644 (file)
@@ -6,7 +6,7 @@ To install all addons using git, cd into your top level Friendica directory and
 
 git clone https://github.com/friendica/friendica-addons.git addon
 
-This will clone the entire repository in a directory called addon.  They can now be activated in the plugins section of your admin panel.
+This will clone the entire repository in a directory called addon.  They can now be activated in the addons section of your admin panel.
 
 ********************
 * Install Manually *
@@ -15,4 +15,4 @@ This will clone the entire repository in a directory called addon.  They can now
 1. Download the archive (Download ZIP button) containing the addons.
 2. Unzip the contents of the archive to your harddrive.
 3. Upload the extracted directory and all it's contents to /path/to/friendica/addon.  You will need to create the addon directory if this is the first addon you have installed.
-4. Activate the addon in the plugins section of your admin panel.
+4. Activate the addon in the addons section of your admin panel.
index 52fdbb2e074d6f5118d594c9e37f7bdc685ac5a5..deffa2a54f249be0edbe1be066a233844e0fbc89 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
 Addons for Friendica
 ====================
 
-This repository is a collection of plugins for the [Friendica Social Communications Server](https://github.com/friendica/friendica).
-You can add these plugins to the /addon directory of your Friendica installation
+This repository is a collection of addons for the [Friendica Social Communications Server](https://github.com/friendica/friendica).
+You can add these addons to the /addon directory of your Friendica installation
 do extend the functionality of your node.
 
 After uploading the addons to your server, you need to activate the desired addons
@@ -14,7 +14,7 @@ in cases the addon developers have choosen not to include them here.
 Connectors
 ----------
 
-Among these plugins there are also the [connectors](https://github.com/friendica/friendica/blob/master/doc/Connectors.md) for various other networks
+Among these addons there are also the [connectors](https://github.com/friendica/friendica/blob/master/doc/Connectors.md) for various other networks
 (e.g. Twitter, pump.io, Google+) that are needed for communication when the
 protocoll is not supported by Friendica core (DFRN, OStatus and Diaspora).
 
@@ -28,7 +28,7 @@ Development
 
 The addon interface of Friendica is very flexible and powerful, so if you are
 missing functionality, your chances are high it may be added with an addon.
-See the [documentation](https://github.com/friendica/friendica/blob/master/doc/Plugins.md) for more informations on the plugin development.
+See the [documentation](https://github.com/friendica/friendica/blob/master/doc/Addons.md) for more informations on the addon development.
 
 Addons can be translated like any other part of Friendica. Translations for the
 addons included in this repository are done at the [Transifex project](https://www.transifex.com/projects/p/friendica/) for Friendica.
index 1974ef7b0f384240f12390c5cbaef5a2389e3820..1bf536ca1261f30007ca6a9e3104f8b32e301e20 100644 (file)
@@ -8,12 +8,12 @@ blackout addon
 About
 -----
 
-This plugin will allow you to enter a date/time period during which
+This addon will allow you to enter a date/time period during which
 all your ~friendica visitors from the web will be redirected to a page
 you can configure in the admin panel as well.
 
 Calls to the API and the communication with other ~friendica nodes is
-not effected from this plugin.
+not effected from this addon.
 
 If you enter a period the current date would be affected none of the
 currently logged in users will be effected as well. But if they log
index 1f99bc6571b805c8add07f9a89f5817b3cbba24b..f04bbb39227ec47be226f06a95b58cad64c038ca 100644 (file)
@@ -26,7 +26,7 @@ msgid "Blogger Export"
 msgstr ""
 
 #: blogger.php:82
-msgid "Enable Blogger Post Plugin"
+msgid "Enable Blogger Post Addon"
 msgstr ""
 
 #: blogger.php:87
index 354d354aee5fc28c3de2a78abd67e9fe186e748e..572617cab355ad0ca03ed815f46d96790cf1b326 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to blogger"] = "Enviament a blogger";\r
 $a->strings["Blogger Post Settings"] = "Ajustos d'enviament a blogger";\r
-$a->strings["Enable Blogger Post Plugin"] = "Habilita el Plugin d'Enviaments a Blogger";\r
+$a->strings["Enable Blogger Post Addon"] = "Habilita el Addon d'Enviaments a Blogger";\r
 $a->strings["Blogger username"] = "Nom d'usuari a blogger";\r
 $a->strings["Blogger password"] = "Contrasenya a blogger";\r
 $a->strings["Blogger API URL"] = "Blogger API URL";\r
index 0d2a1227cf06bbc1a3ee039af75843552f237b7a..e2389585f900a4bfe876c3a21547b8496b470a37 100644 (file)
@@ -28,8 +28,8 @@ msgid "Blogger Export"
 msgstr "Blogger Export"
 
 #: blogger.php:82
-msgid "Enable Blogger Post Plugin"
-msgstr "Povolit Blogger Post Plugin"
+msgid "Enable Blogger Post Addon"
+msgstr "Povolit Blogger Post Addon"
 
 #: blogger.php:87
 msgid "Blogger username"
index 61cb7863ccea28b6b9eb8d3b1ea12e7616873991..0ecdfd790c734dab2d039e092c517655d370ceb1 100644 (file)
@@ -28,8 +28,8 @@ msgid "Blogger Export"
 msgstr "Blogger Export"
 
 #: blogger.php:82
-msgid "Enable Blogger Post Plugin"
-msgstr "Blogger-Post-Plugin aktivieren"
+msgid "Enable Blogger Post Addon"
+msgstr "Blogger-Post-Addon aktivieren"
 
 #: blogger.php:87
 msgid "Blogger username"
index 8e44b4c20e697e473835f2225e90c87d1331d96d..549b6a2baaf15c0c6b3992b8e288c69059353c52 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_de($n){
 ;
 $a->strings["Post to blogger"] = "Auf Blogger posten";
 $a->strings["Blogger Export"] = "Blogger Export";
-$a->strings["Enable Blogger Post Plugin"] = "Blogger-Post-Plugin aktivieren";
+$a->strings["Enable Blogger Post Addon"] = "Blogger-Post-Addon aktivieren";
 $a->strings["Blogger username"] = "Blogger-Benutzername";
 $a->strings["Blogger password"] = "Blogger-Passwort";
 $a->strings["Blogger API URL"] = "Blogger-API-URL";
index 5ab29790d1eeefa8c9b29588252316647880c3f4..a7783cd8fabcf5872be59651df3cfd196c98e9ed 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to blogger"] = "Afiŝi al blogger";\r
 $a->strings["Blogger Post Settings"] = "Agordo pri Blogger Afiŝoj";\r
-$a->strings["Enable Blogger Post Plugin"] = "Ŝalti la Blogger afiŝo kromprogramon";\r
+$a->strings["Enable Blogger Post Addon"] = "Ŝalti la Blogger afiŝo kromprogramon";\r
 $a->strings["Blogger username"] = "Blogger uzantonomo";\r
 $a->strings["Blogger password"] = "Blogger pasvorto";\r
 $a->strings["Blogger API URL"] = "Blogger API URL";\r
index 86b1dcb7a64053b28e8926f7891a0ab676a025ad..66b6804fe4955db70b446c6c3d5f7e377a1b56dd 100644 (file)
@@ -27,8 +27,8 @@ msgid "Blogger Export"
 msgstr "Esportar Blogger"
 
 #: blogger.php:82
-msgid "Enable Blogger Post Plugin"
-msgstr "Activar plugin de entrada de Blogger"
+msgid "Enable Blogger Post Addon"
+msgstr "Activar addon de entrada de Blogger"
 
 #: blogger.php:87
 msgid "Blogger username"
index 01441ae5af62bda6b076380df03138d11e72dcc6..47e44a4990c69377de02bdd2d21fb6633c9873b7 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_es($n){
 ;
 $a->strings["Post to blogger"] = "Entrada para blogger";
 $a->strings["Blogger Export"] = "Esportar Blogger";
-$a->strings["Enable Blogger Post Plugin"] = "Activar plugin de entrada de Blogger";
+$a->strings["Enable Blogger Post Addon"] = "Activar addon de entrada de Blogger";
 $a->strings["Blogger username"] = "Nombre de usuario de Blogger";
 $a->strings["Blogger password"] = "Contraseña de Blogger";
 $a->strings["Blogger API URL"] = "URL API de Blogger";
index 0438f3d801c4fd1b0d54d92ebc98421c9d140ed8..497bf0bed3a7868858dadca84d17224b2f690d93 100644 (file)
@@ -28,7 +28,7 @@ msgid "Blogger Export"
 msgstr ""
 
 #: blogger.php:82
-msgid "Enable Blogger Post Plugin"
+msgid "Enable Blogger Post Addon"
 msgstr "Activer le connecteur Blogger"
 
 #: blogger.php:87
index 2265182a4650df3ff73b1ce732616b19ea65d707..89a429aef7defaac55d639dce33c30ade3e220a9 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_fr($n){
 ;
 $a->strings["Post to blogger"] = "Poster sur Blogger";
 $a->strings["Blogger Export"] = "";
-$a->strings["Enable Blogger Post Plugin"] = "Activer le connecteur Blogger";
+$a->strings["Enable Blogger Post Addon"] = "Activer le connecteur Blogger";
 $a->strings["Blogger username"] = "Nom d'utilisateur Blogger";
 $a->strings["Blogger password"] = "Mot de passe Blogger";
 $a->strings["Blogger API URL"] = "URL de l'API de Blogger";
index 1c76cf7412937fc1e92d20342e739a93b0d3e26c..e29ce4968ba06d1d26d7ceb447da67c969219839 100644 (file)
@@ -28,7 +28,7 @@ msgid "Blogger Export"
 msgstr "Flytja út blogg"
 
 #: blogger.php:82
-msgid "Enable Blogger Post Plugin"
+msgid "Enable Blogger Post Addon"
 msgstr "Virkja sendiviðbót fyrir blogg"
 
 #: blogger.php:87
index 01f532f61972b97691af59246b2cc37bd601f5bc..deab7af80fb6ade3cafc4ae447c9c5d93d2b8385 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_is($n){
 ;
 $a->strings["Post to blogger"] = "Senda færslu á bloggara";
 $a->strings["Blogger Export"] = "Flytja út blogg";
-$a->strings["Enable Blogger Post Plugin"] = "Virkja sendiviðbót fyrir blogg";
+$a->strings["Enable Blogger Post Addon"] = "Virkja sendiviðbót fyrir blogg";
 $a->strings["Blogger username"] = "Notandanafn bloggara";
 $a->strings["Blogger password"] = "Aðgangsorð bloggara";
 $a->strings["Blogger API URL"] = "API slóð bloggs";
index 6babcabf4c97a693ddff67cad5be371df5a235da..ed0b95d7e0aecacf4e7639c8ff1e31428381c86b 100644 (file)
@@ -28,8 +28,8 @@ msgid "Blogger Export"
 msgstr "Esporta Blogger"
 
 #: blogger.php:82
-msgid "Enable Blogger Post Plugin"
-msgstr "Abilita il plugin di invio a Blogger"
+msgid "Enable Blogger Post Addon"
+msgstr "Abilita il addon di invio a Blogger"
 
 #: blogger.php:87
 msgid "Blogger username"
index deea28a52b49b37c24d342254fc7c84eed80b62f..953fbc0a0a6d4bb2640425aeb66953a5d79efbfb 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_it($n){
 ;
 $a->strings["Post to blogger"] = "Invia a Blogger";
 $a->strings["Blogger Export"] = "Esporta Blogger";
-$a->strings["Enable Blogger Post Plugin"] = "Abilita il plugin di invio a Blogger";
+$a->strings["Enable Blogger Post Addon"] = "Abilita il addon di invio a Blogger";
 $a->strings["Blogger username"] = "Nome utente Blogger";
 $a->strings["Blogger password"] = "Password Blogger";
 $a->strings["Blogger API URL"] = "Indirizzo API Blogger";
index de7246bc7dd840952f972f4c20e35f9c488eb1bf..3c5a03dffe66f0fc9a781d6acbe82a1aac79a02f 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to blogger"] = "";\r
 $a->strings["Blogger Post Settings"] = "";\r
-$a->strings["Enable Blogger Post Plugin"] = "";\r
+$a->strings["Enable Blogger Post Addon"] = "";\r
 $a->strings["Blogger username"] = "";\r
 $a->strings["Blogger password"] = "";\r
 $a->strings["Blogger API URL"] = "";\r
index a08b447b54489db3ba728b058c42b48d073e2c33..c2e7e2d62bd2cfa521fd28b61c2edf890319a649 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to blogger"] = "Post na blogger";\r
 $a->strings["Blogger Post Settings"] = "Ustawienia postów na Blogger";\r
-$a->strings["Enable Blogger Post Plugin"] = "";\r
+$a->strings["Enable Blogger Post Addon"] = "";\r
 $a->strings["Blogger username"] = "Nazwa użytkownika na Blogger";\r
 $a->strings["Blogger password"] = "Hasło do Blogger";\r
 $a->strings["Blogger API URL"] = "";\r
index af8a5ba0529b97eaa8f4c374ea438f44633f6feb..6b22fc20480c8c1b809b6e059bd31629f3eaf363 100644 (file)
@@ -29,7 +29,7 @@ msgid "Blogger Export"
 msgstr "Exportador Blogger"
 
 #: blogger.php:82
-msgid "Enable Blogger Post Plugin"
+msgid "Enable Blogger Post Addon"
 msgstr "Habilitar plug-in para publicar no Blogger"
 
 #: blogger.php:87
index dcd10fabbdbdd5a6f66c6903bccaa42288cb8fe4..74a79acade6de8e20db64eeed69cfc0d9633a884 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_pt_br($n){
 ;
 $a->strings["Post to blogger"] = "Publicar no Blogger";
 $a->strings["Blogger Export"] = "Exportador Blogger";
-$a->strings["Enable Blogger Post Plugin"] = "Habilitar plug-in para publicar no Blogger";
+$a->strings["Enable Blogger Post Addon"] = "Habilitar plug-in para publicar no Blogger";
 $a->strings["Blogger username"] = "Nome de usuário no Blogger";
 $a->strings["Blogger password"] = "Senha do Blogger";
 $a->strings["Blogger API URL"] = "URL da API do Blogger";
index 8ba21d2f7d3a7c544c7dd741b3ede759043594ea..de35da2b8e50d62e51a295bf93d9b22382da105f 100644 (file)
@@ -27,7 +27,7 @@ msgid "Blogger Export"
 msgstr "Export pe Blogger "
 
 #: blogger.php:82
-msgid "Enable Blogger Post Plugin"
+msgid "Enable Blogger Post Addon"
 msgstr "Activare Modul Postare pe Blogger "
 
 #: blogger.php:87
index f89fd4b9882542d934a0c58e36cc10a2c898f9b5..f6aac95deeb2fe7c16cd1354fab8ff8eeb774e38 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_ro($n){
 ;
 $a->strings["Post to blogger"] = "Postați pe Blogger";
 $a->strings["Blogger Export"] = "Export pe Blogger ";
-$a->strings["Enable Blogger Post Plugin"] = "Activare Modul Postare pe Blogger ";
+$a->strings["Enable Blogger Post Addon"] = "Activare Modul Postare pe Blogger ";
 $a->strings["Blogger username"] = "Utilizator Blogger";
 $a->strings["Blogger password"] = "Parolă Blogger ";
 $a->strings["Blogger API URL"] = "URL Cheie API Blogger ";
index 38942ed6d7b6782a59bc9e9d1f8ed664985263df..93d8ce3f7c50b4bd19752528207c3c8ed4ec7b4b 100644 (file)
@@ -28,7 +28,7 @@ msgid "Blogger Export"
 msgstr "Экспорт в Blogger"
 
 #: blogger.php:82
-msgid "Enable Blogger Post Plugin"
+msgid "Enable Blogger Post Addon"
 msgstr "Включить плагин Blogger"
 
 #: blogger.php:87
index a718ce74b6c18b5bc266898636cfdb60d9b5f3e9..3c2e1a2993c19f7f024e568fe62db1386ad6a970 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_ru($n){
 ;
 $a->strings["Post to blogger"] = "Написать в Blogger";
 $a->strings["Blogger Export"] = "Экспорт в Blogger";
-$a->strings["Enable Blogger Post Plugin"] = "Включить плагин Blogger";
+$a->strings["Enable Blogger Post Addon"] = "Включить плагин Blogger";
 $a->strings["Blogger username"] = "Имя пользователя Blogger";
 $a->strings["Blogger password"] = "Пароль Blogger";
 $a->strings["Blogger API URL"] = "Blogger API URL";
index 6134a7d1ccf59f129ae13484e8669394e3e109fc..d9b717312ea85989944c93fdfec7bef87f537639 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to blogger"] = "转播到blogger";\r
 $a->strings["Blogger Post Settings"] = "Blogger转播设置";\r
-$a->strings["Enable Blogger Post Plugin"] = "使Blogger转播插件可用";\r
+$a->strings["Enable Blogger Post Addon"] = "使Blogger转播插件可用";\r
 $a->strings["Blogger username"] = "Blogger用户名";\r
 $a->strings["Blogger password"] = "Blogger密码";\r
 $a->strings["Blogger API URL"] = "Blogger API URL";\r
index 2ba2b01e6eab6a45feaef2d9cbd6cc8113e8f8a0..f97cf07b7b690923928382763f5e06c9cb175fbe 100644 (file)
@@ -5,4 +5,4 @@ Please register an app at [http://bufferapp.com/developers/api](http://bufferapp
 Please use (your server address)/buffer/connect as Callback URL.
 
 After the registration please enter the values for "Client ID" and "Client Secret" in the 
-[administration](admin/plugins/buffer).
+[administration](admin/addons/buffer).
index 17522ebefd0005fb84db3767178a44e659475607..3d5193379389398a2f686a812366b738351a21fb 100644 (file)
@@ -58,7 +58,7 @@ msgid "Authenticate your Buffer connection"
 msgstr ""
 
 #: buffer.php:146
-msgid "Enable Buffer Post Plugin"
+msgid "Enable Buffer Post Addon"
 msgstr ""
 
 #: buffer.php:151
index 7ec1390b618a7f7e6f451c1e43acd7c1e310016f..63e753b0e28b56bb61490e2493a32afbacdbd46f 100644 (file)
@@ -60,8 +60,8 @@ msgid "Authenticate your Buffer connection"
 msgstr "Přihlásit ke spojení na Buffer"
 
 #: buffer.php:146
-msgid "Enable Buffer Post Plugin"
-msgstr "Povolit Buffer Post Plugin"
+msgid "Enable Buffer Post Addon"
+msgstr "Povolit Buffer Post Addon"
 
 #: buffer.php:151
 msgid "Post to Buffer by default"
index 052b3e8efa55fe0ef5b1ed66f84f296967fc23d7..f6ecd1e34e366fd6524ec694442f23d0f2539bc4 100644 (file)
@@ -15,7 +15,7 @@ $a->strings["return to the connector page"] = "návrat ke stránce konektor";
 $a->strings["Post to Buffer"] = "Příspěvek na Buffer";
 $a->strings["Buffer Export"] = "Buffer Export";
 $a->strings["Authenticate your Buffer connection"] = "Přihlásit ke spojení na Buffer";
-$a->strings["Enable Buffer Post Plugin"] = "Povolit Buffer Post Plugin";
+$a->strings["Enable Buffer Post Addon"] = "Povolit Buffer Post Addon";
 $a->strings["Post to Buffer by default"] = "Defaultně zaslat na Buffer";
 $a->strings["Check to delete this preset"] = "Zaškrtnout pro smazání tohoto nastavení";
 $a->strings["Posts are going to all accounts that are enabled by default:"] = "Příspěvky jsou zasílány na všechny účty, které jsou defaultně povoleny:";
index 21bbdda1fb8f859d410e694de290bc0f9ec98033..a252d87c2976db387729905f2b11f880500ad900 100644 (file)
@@ -60,8 +60,8 @@ msgid "Authenticate your Buffer connection"
 msgstr "Authentifiziere deine Verbindung zu buffer"
 
 #: buffer.php:146
-msgid "Enable Buffer Post Plugin"
-msgstr "Buffer Post-Plugin aktivieren"
+msgid "Enable Buffer Post Addon"
+msgstr "Buffer Post-Addon aktivieren"
 
 #: buffer.php:151
 msgid "Post to Buffer by default"
index 4ddbf1e977f5ede0900743be75b6a73e5b431c35..dbf3f7dc4505e5de00fab06de844f515458a7394 100644 (file)
@@ -15,7 +15,7 @@ $a->strings["return to the connector page"] = "zurück zur Connector Seite";
 $a->strings["Post to Buffer"] = "Auf buffer veröffentlichen";
 $a->strings["Buffer Export"] = "Buffer Export";
 $a->strings["Authenticate your Buffer connection"] = "Authentifiziere deine Verbindung zu buffer";
-$a->strings["Enable Buffer Post Plugin"] = "Buffer Post-Plugin aktivieren";
+$a->strings["Enable Buffer Post Addon"] = "Buffer Post-Addon aktivieren";
 $a->strings["Post to Buffer by default"] = "Standardmäßig auf buffer veröffentlichen";
 $a->strings["Check to delete this preset"] = "Markieren um dieses Preset zu löschen";
 $a->strings["Posts are going to all accounts that are enabled by default:"] = "Beiträge werden an alle Accounts geschickt, die Standardmäßig aktiviert sind.";
index 20ceacaed55c25c512a5515e83571ff715839be1..7a40dd46d8adeebd56dd9031234dc7bcc517036f 100644 (file)
@@ -59,8 +59,8 @@ msgid "Authenticate your Buffer connection"
 msgstr "Autenticar su conexión de Buffer"
 
 #: buffer.php:146
-msgid "Enable Buffer Post Plugin"
-msgstr "Active el plugin de publicación de Buffer"
+msgid "Enable Buffer Post Addon"
+msgstr "Active el addon de publicación de Buffer"
 
 #: buffer.php:151
 msgid "Post to Buffer by default"
index 15c58cd1b41191d9dd5f5e50b59a6b3b9618f96c..0ee13d76157a3d9e5d6ccc7243307033f991d449 100644 (file)
@@ -15,7 +15,7 @@ $a->strings["return to the connector page"] = "Vuelva a la página de conexión"
 $a->strings["Post to Buffer"] = "Publique en Buffer";
 $a->strings["Buffer Export"] = "Exportar Buffer";
 $a->strings["Authenticate your Buffer connection"] = "Autenticar su conexión de Buffer";
-$a->strings["Enable Buffer Post Plugin"] = "Active el plugin de publicación de Buffer";
+$a->strings["Enable Buffer Post Addon"] = "Active el addon de publicación de Buffer";
 $a->strings["Post to Buffer by default"] = "Publicar en Buffer por defecto";
 $a->strings["Check to delete this preset"] = "Verificar para eliminar este preajuste";
 $a->strings["Posts are going to all accounts that are enabled by default:"] = "Las publicaciones van a todas las cuentas que estén habilitadas por defecto";
index bc15934111698fa06cfe8ef2b1fabf8429e7e895..5ba45daad26da839cc567edcdc0cdd2cce59981d 100644 (file)
@@ -62,7 +62,7 @@ msgid "Authenticate your Buffer connection"
 msgstr "Authentifier votre connexion à Buffer"
 
 #: buffer.php:146
-msgid "Enable Buffer Post Plugin"
+msgid "Enable Buffer Post Addon"
 msgstr "Activer le connecteur Buffer"
 
 #: buffer.php:151
index 07460f47207f0cac3df49b8bd7a00366cadda2c8..f86822c5f4003bfaa1605fab64b8a23f7ad22738 100644 (file)
@@ -15,7 +15,7 @@ $a->strings["return to the connector page"] = "revenir à la page du connecteur"
 $a->strings["Post to Buffer"] = "Publier sur Buffer";
 $a->strings["Buffer Export"] = "Export Buffer";
 $a->strings["Authenticate your Buffer connection"] = "Authentifier votre connexion à Buffer";
-$a->strings["Enable Buffer Post Plugin"] = "Activer le connecteur Buffer";
+$a->strings["Enable Buffer Post Addon"] = "Activer le connecteur Buffer";
 $a->strings["Post to Buffer by default"] = "Publier sur Buffer par défaut";
 $a->strings["Check to delete this preset"] = "Cocher pour supprimer ce préréglage";
 $a->strings["Posts are going to all accounts that are enabled by default:"] = "Les posts sont envoyés à tous les comptes activés par défault:";
index 232cd2d61bfbc6beaca196e60d02f21930c50c46..f74d2cfa0044ac2c98b987fc9bf2f5a06a4601f7 100644 (file)
@@ -61,8 +61,8 @@ msgid "Authenticate your Buffer connection"
 msgstr "Autentica la tua connessione a Buffer"
 
 #: buffer.php:146
-msgid "Enable Buffer Post Plugin"
-msgstr "Abilita il plugin di invio a Buffer"
+msgid "Enable Buffer Post Addon"
+msgstr "Abilita il addon di invio a Buffer"
 
 #: buffer.php:151
 msgid "Post to Buffer by default"
index 9081af8a59d548afb8180ad5e628e48affcad0d9..d0c017709bc5b82a830d1c17cfec15c51185eb7e 100644 (file)
@@ -15,7 +15,7 @@ $a->strings["return to the connector page"] = "ritorna alla pagina del connettor
 $a->strings["Post to Buffer"] = "Invia a Buffer";
 $a->strings["Buffer Export"] = "Esporta Buffer";
 $a->strings["Authenticate your Buffer connection"] = "Autentica la tua connessione a Buffer";
-$a->strings["Enable Buffer Post Plugin"] = "Abilita il plugin di invio a Buffer";
+$a->strings["Enable Buffer Post Addon"] = "Abilita il addon di invio a Buffer";
 $a->strings["Post to Buffer by default"] = "Invia sempre a Buffer";
 $a->strings["Check to delete this preset"] = "Seleziona per eliminare questo preset";
 $a->strings["Posts are going to all accounts that are enabled by default:"] = "I messaggi andranno a tutti gli account che sono abilitati:";
index 08884bd41f38849ca5b8500b01f65beaa607664f..795f26429f7051a6ff8c7963c1d3875a287909c5 100644 (file)
@@ -61,8 +61,8 @@ msgid "Authenticate your Buffer connection"
 msgstr "Autenticar sua conexão de Buffer"
 
 #: buffer.php:146
-msgid "Enable Buffer Post Plugin"
-msgstr "Habilita plugin para publicar no Buffer"
+msgid "Enable Buffer Post Addon"
+msgstr "Habilita addon para publicar no Buffer"
 
 #: buffer.php:151
 msgid "Post to Buffer by default"
index 272a071ef755b2c597ed3b4d9b3da4751ceb51a4..737a86eb6858745ae6cd5ef1d4e749b481ec6f3b 100644 (file)
@@ -15,7 +15,7 @@ $a->strings["return to the connector page"] = "Volte a página de conectores.";
 $a->strings["Post to Buffer"] = "Publicar no Buffer";
 $a->strings["Buffer Export"] = "Exportar Buffer";
 $a->strings["Authenticate your Buffer connection"] = "Autenticar sua conexão de Buffer";
-$a->strings["Enable Buffer Post Plugin"] = "Habilita plugin para publicar no Buffer";
+$a->strings["Enable Buffer Post Addon"] = "Habilita addon para publicar no Buffer";
 $a->strings["Post to Buffer by default"] = "Publica no Buffer por padrão";
 $a->strings["Check to delete this preset"] = "Marque para excluir este perfil";
 $a->strings["Posts are going to all accounts that are enabled by default:"] = "";
index 383390aac17d82b498e19b5c7493d945469daa53..81e46a5ab2c44320543fb7c869a4cadaf9cedd48 100644 (file)
@@ -59,7 +59,7 @@ msgid "Authenticate your Buffer connection"
 msgstr "Autentificați-vă conectarea la Buffer"
 
 #: buffer.php:146
-msgid "Enable Buffer Post Plugin"
+msgid "Enable Buffer Post Addon"
 msgstr "Activare Modul Postare pe Buffer"
 
 #: buffer.php:151
index 7e7e575feb6a53b8c38e6f4e15ec701e3a8f7883..a6bda064d5b1aa296ba83225e388cf69a08529ec 100644 (file)
@@ -15,7 +15,7 @@ $a->strings["return to the connector page"] = "revenire la pagina de conectare";
 $a->strings["Post to Buffer"] = "Postați pe Buffer";
 $a->strings["Buffer Export"] = "Export pe Buffer ";
 $a->strings["Authenticate your Buffer connection"] = "Autentificați-vă conectarea la Buffer";
-$a->strings["Enable Buffer Post Plugin"] = "Activare Modul Postare pe Buffer";
+$a->strings["Enable Buffer Post Addon"] = "Activare Modul Postare pe Buffer";
 $a->strings["Post to Buffer by default"] = "Postați implicit pe Buffer";
 $a->strings["Check to delete this preset"] = "Bifați pentru a șterge această presetare";
 $a->strings["Posts are going to all accounts that are enabled by default:"] = "Posturile merg către toate conturile care sunt activate implicit:";
index 84e2531c344f174c2f08df3f69c9485a63f550d8..68107abc1164358235d5c2d87c1db7a6c8c8b57b 100644 (file)
@@ -60,7 +60,7 @@ msgid "Authenticate your Buffer connection"
 msgstr "Аутентифицируйте свое соединение с Buffer"
 
 #: buffer.php:146
-msgid "Enable Buffer Post Plugin"
+msgid "Enable Buffer Post Addon"
 msgstr "Включить плагин Buffer"
 
 #: buffer.php:151
index 9b8bd0414f6cac4c6b2db21d1a0370e960893a01..8572ffd6658f468fc5db1d81dd7dd85f86169158 100644 (file)
@@ -15,7 +15,7 @@ $a->strings["return to the connector page"] = "вернуться на стра
 $a->strings["Post to Buffer"] = "Написать в Buffer";
 $a->strings["Buffer Export"] = "Экспорт в Buffer";
 $a->strings["Authenticate your Buffer connection"] = "Аутентифицируйте свое соединение с Buffer";
-$a->strings["Enable Buffer Post Plugin"] = "Включить плагин Buffer";
+$a->strings["Enable Buffer Post Addon"] = "Включить плагин Buffer";
 $a->strings["Post to Buffer by default"] = "Отправлять в Buffer по умолчанию";
 $a->strings["Check to delete this preset"] = "Отметьте для удаления этих настроек";
 $a->strings["Posts are going to all accounts that are enabled by default:"] = "Сообщения уходят во все учетные записи по умолчанию:";
index 21f2a9465f97389ea0d36325c93721e3e72ccdfe..91838d9f17507bb6c360e1d4b645f4064b815296 100644 (file)
@@ -1,12 +1,12 @@
 Community Home
 --------------
 
-This plugin overwrites the default home page shown to not logged users.
+This addon overwrites the default home page shown to not logged users.
 On sidebar there are the login form, last ten users (if they have 
 choosed to be in site directory), last ten public photos and last ten
 "likes" sent by a site user or about a site user's item
 
-In main content is shown the community stream. This plugin doesn't 
+In main content is shown the community stream. This addon doesn't 
 honour your community page visibility site setting: the community 
 stream is shown also if you have choose to not show the community page.
 
index 7c2abdb806b20f8b7060c36ff47181acdbfb49bd..b86d47fc8e2b44532c74b08b3597086f9fe3f574 100644 (file)
@@ -30,7 +30,7 @@ At the moment, the calendar system supports the following features:
   - CalDAV-Sync (http://dmfs.org/caldav/) works, non-free
 
 ## Installation
-After activating, serveral tables in the database have to be created. The admin-interface of the plugin will try to do this automatically.
+After activating, serveral tables in the database have to be created. The admin-interface of the addon will try to do this automatically.
 In case of errors, the SQL-statement to create the tables manually are shown in the admin-interface.
 
 
@@ -63,7 +63,7 @@ MIT License
 
 
 
-Author of this plugin (the parts that are not part of the libraries above):
+Author of this addon (the parts that are not part of the libraries above):
 Tobias Hößl
 http://friendica.hoessl.eu/profile/cato
 http://www.hoessl.eu/
index 3f424d953198259b894af62f370d3e9316f5528b..aa7b686d5dcff13b4cc59ba3fc59aa73deaeab51 100644 (file)
@@ -17,7 +17,7 @@
        * Changed: The Sabre_VObject library now spawned into it's own project!
        * New feature: Support for caldav notifications!
        * Changed: Responsibility for dealing with the calendar-query is now
-         moved from the CalDAV plugin to the CalDAV backends. This allows for
+         moved from the CalDAV addon to the CalDAV backends. This allows for
          heavy optimizations.
        * Changed: The CalDAV PDO backend is now a lot faster for common
          calendar queries.
@@ -27,7 +27,7 @@
          receiving "text/x-vcard; charset=utf-8" for a contenttype.
        * Added: Sabre_DAV_Client now throws more specific exceptions in cases
          where we already has an exception class.
-       * Added: Sabre_DAV_PartialUpdate. This plugin allows you to use the
+       * Added: Sabre_DAV_PartialUpdate. This addon allows you to use the
          PATCH method to update parts of a file.
        * Added: Tons of timezone name mappings for Microsoft Exchange.
        * Added: Support for an 'exception' event.
        * Fixed: Issue 112: Stronger validation of iCalendar objects. Now making
          sure every iCalendar object only contains 1 component, and disallowing
          vcards, forcing every component to have a UID.
-       * Fixed: Basic validation for vcards in the CardDAV plugin.
+       * Fixed: Basic validation for vcards in the CardDAV addon.
        * Fixed: Issue 213: Workaround for an Evolution bug, that prevented it
          from updating events.
        * Fixed: Issue 211: A time-limit query on a non-relative alarm trigger in
          a recurring event could result in an endless loop.
        * Fixed: All uri fields are now a maximum of 200 characters. The Bynari
-         outlook plugin used much longer strings so this should improve
+         outlook addon used much longer strings so this should improve
          compatibility.
        * Fixed: Added a workaround for a bug in KDE 4.8.2 contact syncing. See
          https://bugs.kde.org/show_bug.cgi?id=300047
          COUNT= parameter in the RRULE property.
        * Added: Support for time-range filters on VALARM components.
        * Fixed: Correctly filtering all-day events.
-       * Fixed: Sending back correct mimetypes from the browser plugin (thanks
+       * Fixed: Sending back correct mimetypes from the browser addon (thanks
          Jürgen).
        * Fixed: Issue 195: Sabre_CardDAV pear package had an incorrect dependency.
        * Fixed: Calendardata would be destroyed when performing a MOVE request.
        * BC Break: Default Principals PDO backend now needs a new field in the
          'principals' table. See the website for details.
        * Added: Ability to create new calendars and addressbooks from within the
-         browser plugin.
-       * Added: Browser plugin: icons for various nodes.
+         browser addon.
+       * Added: Browser addon: icons for various nodes.
        * Added: Support for FREEBUSY reports!
        * Added: Support for creating principals with admin-level privileges.
        * Added: Possibility to let server send out invitation emails on behalf of
        * Changed: beforeCreateFile event now passes data argument by reference.
        * Changed: The 'propertyMap' property from Sabre_VObject_Reader, must now
          be specified in Sabre_VObject_Property::$classMap.
-       * Added: Ability for plugins to tell the ACL plugin which principal
-         plugins are searchable.
+       * Added: Ability for addons to tell the ACL addon which principal
+         addons are searchable.
        * Added: [DAVACL] Per-node overriding of supported privileges. This allows
          for custom privileges where needed.
-       * Added: [DAVACL] Public 'principalSearch' method on the DAVACL plugin,
+       * Added: [DAVACL] Public 'principalSearch' method on the DAVACL addon,
          which allows for easy searching for principals, based on their
          properties.
        * Added: Sabre_VObject_Component::getComponents() to return a list of only
        * Fixed: VObject properties are now always encoded before components.
        * Fixed: Sabre_DAVACL had issues with multiple levels of privilege
          aggregration.
-       * Changed: Added 'GuessContentType' plugin to fileserver.php example.
-       * Fixed: The Browser plugin will now trigger the correct events when
+       * Changed: Added 'GuessContentType' addon to fileserver.php example.
+       * Fixed: The Browser addon will now trigger the correct events when
          creating files.
        * Fixed: The ICSExportPlugin now considers ACL's.
        * Added: Made it optional to supply carddata from an Addressbook backend
          files to be locked at the same time.
 
 1.5.4-stable (2011-10-28)
-       * Fixed: GuessContentType plugin now supports mixed case file extensions.
+       * Fixed: GuessContentType addon now supports mixed case file extensions.
        * Fixed: DATE-TIME encoding was wrong in VObject. (we used 'DATETIME').
        * Changed: Sending back HTTP 204 after a PUT request on an existing resource
          instead of HTTP 200. This should fix Evolution CardDAV client
        * Fixed: Issue 140: Not returning 201 Created if an event cancelled the
          creation of a file.
        * Fixed: Issue 150: Faster URLUtil::encodePath() implementation.
-       * Fixed: Issue 144: Browser plugin could interfere with
+       * Fixed: Issue 144: Browser addon could interfere with
          TemporaryFileFilterPlugin if it was loaded first.
        * Added: It's not possible to specify more 'alternate uris' in principal
          backends.
        * Added: Clark-notation parser to XML utility.
        * Added: unset() support to VObject components.
        * Fixed: Refactored CalDAV property fetching to be faster and simpler.
-       * Added: Central string-matcher for CalDAV and CardDAV plugins.
+       * Added: Central string-matcher for CalDAV and CardDAV addons.
        * Added: i;unicode-casemap support
        * Fixed: VObject bug: wouldn't parse parameters if they weren't specified
          in uppercase.
        * Fixed: VObject bug: Parameters with no value are now correctly parsed.
        * Changed: If calendars don't specify which components they allow, 'all'
          components are assumed (e.g.: VEVENT, VTODO, VJOURNAL).
-       * Changed: Browser plugin now uses POST variable 'sabreAction' instead of
+       * Changed: Browser addon now uses POST variable 'sabreAction' instead of
          'action' to reduce the chance of collisions.
 
 1.4.4-stable (2011-07-07)
        * Added: Ability to automatically generate full .ics feeds off calendars.
          To use: Add the Sabre_CalDAV_ICSExportPlugin, and add ?export to your
          calendar url.
-       * Added: Plugins can now specify a pluginname, for easy access using
+       * Added: Plugins can now specify a addonname, for easy access using
          Sabre_DAV_Server::getPlugin().
        * Added: beforeGetProperties event.
        * Added: updateProperties event.
          break, so if you implement Sabre_DAV_ICollection directly, add the method.
        * Changed: Almost all HTTP method implementations now take a uri argument,
          including events. This allows for internal rerouting of certain calls.
-         If you have custom plugins, make sure they use this argument. If they
+         If you have custom addons, make sure they use this argument. If they
          don't, they will likely still work, but it might get in the way of
          future changes.
        * Changed: All getETag methods MUST now surround the etag with
          instead.
        * Removed: Sabre_DAV_IDirectory interface, use Sabre_DAV_ICollection
          instead.
-       * Added: Browser plugin now uses {DAV:}displayname if this property is
+       * Added: Browser addon now uses {DAV:}displayname if this property is
          available.
        * Added: Cache layer in the ObjectTree.
        * Added: Tree classes now have a delete and getChildren method.
        * Updated: Small improvements to example files.
 
 1.2.0 (2010-05-24)
-       * Fixed: Browser plugin now displays international characters.
+       * Fixed: Browser addon now displays international characters.
        * Changed: More properties in CalDAV classes are now protected instead of
          private.
 
        * Update: Complete rewrite of property updating. Now easier to use and
          atomic.
        * Fixed: Issue 16, automatically adding trailing / to baseUri.
-       * Added: text/plain is used for .txt files in GuessContentType plugin.
+       * Added: text/plain is used for .txt files in GuessContentType addon.
        * Added: support for principal-property-search and
          principal-search-property-set reports.
        * Added: Issue 31: Hiding exception information by default. Can be turned
          this.
        * Added: PDO authentication backend.
        * Added: Example sql for auth, caldav, locks for sqlite.
-       * Added: Sabre_DAV_Browser_GuessContentType plugin
-       * Changed: Authentication plugin refactored, making it possible to
+       * Added: Sabre_DAV_Browser_GuessContentType addon
+       * Changed: Authentication addon refactored, making it possible to
          implement non-digest authentication.
-       * Fixed: Better error display in browser plugin.
+       * Fixed: Better error display in browser addon.
        * Added: Support for {DAV:}supported-report-set
        * Added: XML utility class with helper functions for the WebDAV protocol.
        * Added: Tons of unittests
          Before, execution would be stopped by anything loosely evaluating to
          false.
        * Changed: the getPropertiesForPath method now takes a different set of
-         arguments, and returns a different response. This allows plugin
+         arguments, and returns a different response. This allows addon
          developers to return statuses for properties other than 200 and 404. The
          hrefs are now also always calculated relative to the baseUri, and not
          the uri of the request.
        * Changed: generatePropFindResponse is renamed to generateMultiStatus, and
          now takes a list of properties similar to the response of
          getPropertiesForPath. This was also needed to improve flexibility for
-         plugin development.
-       * Changed: Auth plugins are no longer included. They were not yet stable
+         addon development.
+       * Changed: Auth addons are no longer included. They were not yet stable
          quality, so they will probably be reintroduced in a later version.
        * Changed: PROPPATCH also used generateMultiStatus now.
        * Removed: unknownProperties event. This is replaced by the
        * Fixed: Copy and Move could fail in the root directory. This is now
          fixed.
        * Added: Plugins can now be retrieved by their classname. This is useful
-         for inter-plugin communication.
+         for inter-addon communication.
        * Added: The Auth backend can now return usernames and user-id's.
        * Added: The Auth backend got a getUsers method
        * Added: Sabre_DAV_FSExt_Directory now returns quota info
        * Fixed: UNLOCK bug. Unlock didn't work at all
 
 0.12-beta (2009-09-10)
-       * Updated: Browser plugin now shows multiple {DAV:}resourcetype values
+       * Updated: Browser addon now shows multiple {DAV:}resourcetype values
          if available.
        * Added: Experimental PDO backend for Locks Manager
        * Fixed: Sending Content-Length: 0 for every empty response. This
        * Added: Ability to choose to use auth-int, auth or both for HTTP Digest
          authentication. (Issue 11)
        * Changed: Made more methods in Sabre_DAV_Server public.
-       * Fixed: TemporaryFileFilter plugin now intercepts HTTP LOCK requests
+       * Fixed: TemporaryFileFilter addon now intercepts HTTP LOCK requests
          to non-existent files. (Issue 12)
        * Added: Central list of defined xml namespace prefixes. This can reduce
          Bandwidth and legibility for xml bodies with user-defined namespaces.
          and IDirectory objects. If you created your own Tree objects,
          this will most likely break in this release.
        * Changed: Moved all the Locking logic from the Tree and Server classes
-         into a separate plugin.
-       * Changed: TemporaryFileFilter is now a plugin.
+         into a separate addon.
+       * Changed: TemporaryFileFilter is now a addon.
        * Added: Comes with an autoloader script. This can be used instead of
          the includer script, and is preferred by some people.
        * Added: AWS Authentication class.
          priority. This is for example needed to ensure that the Authentication
          Plugin is used before any other Plugin.
        * Added: 22 new tests.
-       * Added: Users-manager plugin for .htdigest files. Experimental and
+       * Added: Users-manager addon for .htdigest files. Experimental and
          subject to change.
        * Added: RFC 2324 HTTP 418 status code
        * Fixed: Exclusive locks could in some cases be picked up as shared locks
        * Changed: Renamed all exceptions! This is a compatibility break. Every
          Exception now follows Sabre_DAV_Exception_FileNotFound convention
          instead of Sabre_DAV_FileNotFoundException.
-       * Added: Browser plugin now allows uploading and creating directories
+       * Added: Browser addon now allows uploading and creating directories
          straight from the browser.
        * Added: 12 more unittests
        * Fixed: Locking bug, which became prevalent on Windows Vista.
        * Added: support for {DAV:}supportedlock.
        * Added: support for {DAV:}lockdiscovery.
        * Added: 6 new tests.
-       * Added: New plugin system.
-       * Added: Simple HTML directory plugin, for browser access.
+       * Added: New addon system.
+       * Added: Simple HTML directory addon, for browser access.
        * Added: Server class now sends back standard pre-condition error xml
        bodies. This was new since RFC4918.
        * Added: Sabre_DAV_Tree_Aggregrate, which can 'host' multiple Tree objects
        into one.
        * Added: simple basis for HTTP REPORT method. This method is not used yet,
-       but can be used by plugins to add reports.
+       but can be used by addons to add reports.
        * Changed: ->getSize is only called for files, no longer for collections.
        r303
        * Changed: Sabre_DAV_FilterTree is now Sabre_DAV_Tree_Filter
index d3e4e7b7201c27613bd333065e3da1bd5c59d247..7d989a951dc684a0831136d8e59cde86d0aff1c6 100644 (file)
@@ -5,7 +5,7 @@ use Sabre\VObject;
 /**
  * ICS Exporter
  *
- * This plugin adds the ability to export entire calendars as .ics files.
+ * This addon adds the ability to export entire calendars as .ics files.
  * This is useful for clients that don't support CalDAV yet. They often do
  * support ics files.
  *
@@ -25,7 +25,7 @@ class Sabre_CalDAV_ICSExportPlugin extends Sabre_DAV_ServerPlugin {
     private $server;
 
     /**
-     * Initializes the plugin and registers event handlers
+     * Initializes the addon and registers event handlers
      *
      * @param Sabre_DAV_Server $server
      * @return void
index 8f6cb260100371a808c69aaf3c1c83a00ff9a8d9..479720c6bd7479c495827728b67002aaa7d9957b 100644 (file)
@@ -4,7 +4,7 @@
  * This node represents a list of notifications.
  *
  * It provides no additional functionality, but you must implement this
- * interface to allow the Notifications plugin to mark the collection
+ * interface to allow the Notifications addon to mark the collection
  * as a notifications collection.
  *
  * This collection should only return Sabre_CalDAV_Notifications_INode nodes as
index eb873af3f92aecd9d5e68870218a9b813e03e5ad..bdf6bf1ece9dcce2eae2efab457ddcc548947eae 100644 (file)
@@ -4,7 +4,7 @@
  * This node represents a list of notifications.
  *
  * It provides no additional functionality, but you must implement this
- * interface to allow the Notifications plugin to mark the collection
+ * interface to allow the Notifications addon to mark the collection
  * as a notifications collection.
  *
  * This collection should only return Sabre_CalDAV_Notifications_INode nodes as
index c0e4a206de7ef36a22016c960a210a6a65b18505..f1c93af081581bb1f5fce6764b4f6a5a47eee67e 100644 (file)
@@ -3,9 +3,9 @@
 use Sabre\VObject;
 
 /**
- * CalDAV plugin
+ * CalDAV addon
  *
- * This plugin provides functionality added by CalDAV (RFC 4791)
+ * This addon provides functionality added by CalDAV (RFC 4791)
  * It implements new reports, and the MKCALENDAR method.
  *
  * @package Sabre
@@ -67,7 +67,7 @@ class Sabre_CalDAV_Plugin extends Sabre_DAV_ServerPlugin {
     }
 
     /**
-     * Use this method to tell the server this plugin defines additional
+     * Use this method to tell the server this addon defines additional
      * HTTP methods.
      *
      * This method is passed a uri. It should only return HTTP methods that are
@@ -107,9 +107,9 @@ class Sabre_CalDAV_Plugin extends Sabre_DAV_ServerPlugin {
     }
 
     /**
-     * Returns a plugin name.
+     * Returns a addon name.
      *
-     * Using this name other plugins will be able to access other plugins
+     * Using this name other addons will be able to access other addons
      * using Sabre_DAV_Server::getPlugin
      *
      * @return string
@@ -121,7 +121,7 @@ class Sabre_CalDAV_Plugin extends Sabre_DAV_ServerPlugin {
     }
 
     /**
-     * Returns a list of reports this plugin supports.
+     * Returns a list of reports this addon supports.
      *
      * This will be used in the {DAV:}supported-report-set property.
      * Note that you still need to subscribe to the 'report' event to actually
@@ -147,7 +147,7 @@ class Sabre_CalDAV_Plugin extends Sabre_DAV_ServerPlugin {
     }
 
     /**
-     * Initializes the plugin
+     * Initializes the addon
      *
      * @param Sabre_DAV_Server $server
      * @return void
@@ -631,7 +631,7 @@ class Sabre_CalDAV_Plugin extends Sabre_DAV_ServerPlugin {
         $acl = $this->server->getPlugin('acl');
 
         if (!$acl) {
-            throw new Sabre_DAV_Exception('The ACL plugin must be loaded for free-busy queries to work');
+            throw new Sabre_DAV_Exception('The ACL addon must be loaded for free-busy queries to work');
         }
         $uri = $this->server->getRequestUri();
         $acl->checkPrivileges($uri,'{' . self::NS_CALDAV . '}read-free-busy');
@@ -665,7 +665,7 @@ class Sabre_CalDAV_Plugin extends Sabre_DAV_ServerPlugin {
     /**
      * This method is triggered before a file gets updated with new content.
      *
-     * This plugin uses this method to ensure that CalDAV objects receive
+     * This addon uses this method to ensure that CalDAV objects receive
      * valid calendar data.
      *
      * @param string $path
@@ -685,7 +685,7 @@ class Sabre_CalDAV_Plugin extends Sabre_DAV_ServerPlugin {
     /**
      * This method is triggered before a new file is created.
      *
-     * This plugin uses this method to ensure that newly created calendar
+     * This addon uses this method to ensure that newly created calendar
      * objects contain valid calendar data.
      *
      * @param string $path
@@ -1014,7 +1014,7 @@ class Sabre_CalDAV_Plugin extends Sabre_DAV_ServerPlugin {
 
     /**
      * This method allows us to intercept the 'mkcalendar' sabreAction. This
-     * action enables the user to create new calendars from the browser plugin.
+     * action enables the user to create new calendars from the browser addon.
      *
      * @param string $uri
      * @param string $action
index 09aa07d7f44c83face83cf02c738606cdda870f9..639f5d0ddbc20ca8c50a9c1d1f70d77300662806 100644 (file)
@@ -5,7 +5,7 @@
  *
  * The outbox is mainly used as an endpoint in the tree for a client to do
  * free-busy requests. This functionality is completely handled by the
- * Scheduling plugin, so this object is actually mostly static.
+ * Scheduling addon, so this object is actually mostly static.
  *
  * @package Sabre
  * @subpackage CalDAV
index 30194bb6469f9c85c3164e04b69267d42cf7de42..aa6a523d3ce7c49f8d23e6fdf335595e81e48cfb 100644 (file)
@@ -3,9 +3,9 @@
 use Sabre\VObject;
 
 /**
- * CardDAV plugin
+ * CardDAV addon
  *
- * The CardDAV plugin adds CardDAV functionality to the WebDAV server
+ * The CardDAV addon adds CardDAV functionality to the WebDAV server
  *
  * @package Sabre
  * @subpackage CardDAV
@@ -41,7 +41,7 @@ class Sabre_CardDAV_Plugin extends Sabre_DAV_ServerPlugin {
     protected $server;
 
     /**
-     * Initializes the plugin
+     * Initializes the addon
      *
      * @param Sabre_DAV_Server $server
      * @return void
@@ -91,7 +91,7 @@ class Sabre_CardDAV_Plugin extends Sabre_DAV_ServerPlugin {
     }
 
     /**
-     * Returns a list of reports this plugin supports.
+     * Returns a list of reports this addon supports.
      *
      * This will be used in the {DAV:}supported-report-set property.
      * Note that you still need to subscribe to the 'report' event to actually
@@ -290,7 +290,7 @@ class Sabre_CardDAV_Plugin extends Sabre_DAV_ServerPlugin {
     /**
      * This method is triggered before a file gets updated with new content.
      *
-     * This plugin uses this method to ensure that Card nodes receive valid
+     * This addon uses this method to ensure that Card nodes receive valid
      * vcard data.
      *
      * @param string $path
@@ -310,7 +310,7 @@ class Sabre_CardDAV_Plugin extends Sabre_DAV_ServerPlugin {
     /**
      * This method is triggered before a new file is created.
      *
-     * This plugin uses this method to ensure that Card nodes receive valid
+     * This addon uses this method to ensure that Card nodes receive valid
      * vcard data.
      *
      * @param string $path
@@ -671,7 +671,7 @@ class Sabre_CardDAV_Plugin extends Sabre_DAV_ServerPlugin {
 
     /**
      * This method allows us to intercept the 'mkcalendar' sabreAction. This
-     * action enables the user to create new calendars from the browser plugin.
+     * action enables the user to create new calendars from the browser addon.
      *
      * @param string $uri
      * @param string $action
index 55a4e3916741c9a7d728a2c54ae0d5ba4f127eba..256e0c02a04e0bc40fc1223e965e33dbffa26534 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
- * This plugin provides Authentication for a WebDAV server.
+ * This addon provides Authentication for a WebDAV server.
  *
  * It relies on a Backend object, which provides user information.
  *
@@ -52,7 +52,7 @@ class Sabre_DAV_Auth_Plugin extends Sabre_DAV_ServerPlugin {
     }
 
     /**
-     * Initializes the plugin. This function is automatically called by the server
+     * Initializes the addon. This function is automatically called by the server
      *
      * @param Sabre_DAV_Server $server
      * @return void
@@ -65,9 +65,9 @@ class Sabre_DAV_Auth_Plugin extends Sabre_DAV_ServerPlugin {
     }
 
     /**
-     * Returns a plugin name.
+     * Returns a addon name.
      *
-     * Using this name other plugins will be able to access other plugins
+     * Using this name other addons will be able to access other addons
      * using Sabre_DAV_Server::getPlugin
      *
      * @return string
index b6c00d461cb95e3ac778d5810b94a439b26d99c9..add059b282185204924d337a76777c66dc3c828d 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
- * GuessContentType plugin
+ * GuessContentType addon
  *
  * A lot of the built-in File objects just return application/octet-stream
  * as a content-type by default. This is a problem for some clients, because
@@ -43,7 +43,7 @@ class Sabre_DAV_Browser_GuessContentType extends Sabre_DAV_ServerPlugin {
     );
 
     /**
-     * Initializes the plugin
+     * Initializes the addon
      *
      * @param Sabre_DAV_Server $server
      * @return void
index 1588488764133f951cf103fad141763de653154e..01c40749ed72f9bc62d0e25ab9c24c399193f57e 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
- * This is a simple plugin that will map any GET request for non-files to
+ * This is a simple addon that will map any GET request for non-files to
  * PROPFIND allprops-requests.
  *
  * This should allow easy debugging of PROPFIND
@@ -22,7 +22,7 @@ class Sabre_DAV_Browser_MapGetToPropFind extends Sabre_DAV_ServerPlugin {
     protected $server;
 
     /**
-     * Initializes the plugin and subscribes to events
+     * Initializes the addon and subscribes to events
      *
      * @param Sabre_DAV_Server $server
      * @return void
index 09bbdd2ae021e013c83c85bcbbc77f9cfb8a6ace..df6867e319781c9023ca10e1aa384b602e680477 100644 (file)
@@ -3,7 +3,7 @@
 /**
  * Browser Plugin
  *
- * This plugin provides a html representation, so that a WebDAV server may be accessed
+ * This addon provides a html representation, so that a WebDAV server may be accessed
  * using a browser.
  *
  * The class intercepts GET requests to collection resources and generates a simple
@@ -60,7 +60,7 @@ class Sabre_DAV_Browser_Plugin extends Sabre_DAV_ServerPlugin {
     protected $enablePost = true;
 
     /**
-     * By default the browser plugin will generate a favicon and other images.
+     * By default the browser addon will generate a favicon and other images.
      * To turn this off, set this property to false.
      *
      * @var bool
@@ -84,7 +84,7 @@ class Sabre_DAV_Browser_Plugin extends Sabre_DAV_ServerPlugin {
     }
 
     /**
-     * Initializes the plugin and subscribes to events
+     * Initializes the addon and subscribes to events
      *
      * @param Sabre_DAV_Server $server
      * @return void
@@ -122,7 +122,7 @@ class Sabre_DAV_Browser_Plugin extends Sabre_DAV_ServerPlugin {
             $node = $this->server->tree->getNodeForPath($uri);
         } catch (Sabre_DAV_Exception_NotFound $e) {
             // We're simply stopping when the file isn't found to not interfere
-            // with other plugins.
+            // with other addons.
             return;
         }
         if ($node instanceof Sabre_DAV_IFile)
index 957ac506a9c1bb9baf96e2689fae69ea17ca50b1..3e5c71bcf44ce15d89ab1762e3307f40490026d7 100644 (file)
@@ -1,9 +1,9 @@
 <?php
 
 /**
- * Locking plugin
+ * Locking addon
  *
- * This plugin provides locking support to a WebDAV server.
+ * This addon provides locking support to a WebDAV server.
  * The easiest way to get started, is by hooking it up as such:
  *
  * $lockBackend = new Sabre_DAV_Locks_Backend_File('./mylockdb');
@@ -44,7 +44,7 @@ class Sabre_DAV_Locks_Plugin extends Sabre_DAV_ServerPlugin {
     }
 
     /**
-     * Initializes the plugin
+     * Initializes the addon
      *
      * This method is automatically called by the Server class after addPlugin.
      *
@@ -61,9 +61,9 @@ class Sabre_DAV_Locks_Plugin extends Sabre_DAV_ServerPlugin {
     }
 
     /**
-     * Returns a plugin name.
+     * Returns a addon name.
      *
-     * Using this name other plugins will be able to access other plugins
+     * Using this name other addons will be able to access other addons
      * using Sabre_DAV_Server::getPlugin
      *
      * @return string
@@ -78,7 +78,7 @@ class Sabre_DAV_Locks_Plugin extends Sabre_DAV_ServerPlugin {
      * This method is called by the Server if the user used an HTTP method
      * the server didn't recognize.
      *
-     * This plugin intercepts the LOCK and UNLOCK methods.
+     * This addon intercepts the LOCK and UNLOCK methods.
      *
      * @param string $method
      * @param string $uri
@@ -134,7 +134,7 @@ class Sabre_DAV_Locks_Plugin extends Sabre_DAV_ServerPlugin {
      * This method is called before the logic for any HTTP method is
      * handled.
      *
-     * This plugin uses that feature to intercept access to locked resources.
+     * This addon uses that feature to intercept access to locked resources.
      *
      * @param string $method
      * @param string $uri
@@ -179,7 +179,7 @@ class Sabre_DAV_Locks_Plugin extends Sabre_DAV_ServerPlugin {
     }
 
     /**
-     * Use this method to tell the server this plugin defines additional
+     * Use this method to tell the server this addon defines additional
      * HTTP methods.
      *
      * This method is passed a uri. It should only return HTTP methods that are
index b37a90ae9939a1315e438a4bd55d5687e12cc28b..45f865bd81695f916b38ac29faed17ba08c23e74 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
- * This plugin provides support for RFC4709: Mounting WebDAV servers
+ * This addon provides support for RFC4709: Mounting WebDAV servers
  *
  * Simply append ?mount to any collection to generate the davmount response.
  *
@@ -20,7 +20,7 @@ class Sabre_DAV_Mount_Plugin extends Sabre_DAV_ServerPlugin {
     private $server;
 
     /**
-     * Initializes the plugin and registers event handles
+     * Initializes the addon and registers event handles
      *
      * @param Sabre_DAV_Server $server
      * @return void
index 170acbc9785132db3098179d5ed3241c0b60c4ad..2293359789bfba96cd8f105e5d0a2ab556c22d0d 100644 (file)
@@ -1,8 +1,8 @@
 <?php
 /**
- * Partial update plugin (Patch method)
+ * Partial update addon (Patch method)
  *
- * This plugin provides a way to modify only part of a target resource
+ * This addon provides a way to modify only part of a target resource
  * It may bu used to update a file chunk, upload big a file into smaller
  * chunks or resume an upload.
  *
@@ -25,7 +25,7 @@ class Sabre_DAV_PartialUpdate_Plugin extends Sabre_DAV_ServerPlugin {
     protected $server;
 
     /**
-     * Initializes the plugin
+     * Initializes the addon
      *
      * This method is automatically called by the Server class after addPlugin.
      *
@@ -40,9 +40,9 @@ class Sabre_DAV_PartialUpdate_Plugin extends Sabre_DAV_ServerPlugin {
     }
 
     /**
-     * Returns a plugin name.
+     * Returns a addon name.
      *
-     * Using this name other plugins will be able to access other plugins
+     * Using this name other addons will be able to access other addons
      * using Sabre_DAV_Server::getPlugin
      *
      * @return string
@@ -57,7 +57,7 @@ class Sabre_DAV_PartialUpdate_Plugin extends Sabre_DAV_ServerPlugin {
      * This method is called by the Server if the user used an HTTP method
      * the server didn't recognize.
      *
-     * This plugin intercepts the PATCH methods.
+     * This addon intercepts the PATCH methods.
      *
      * @param string $method
      * @param string $uri
@@ -75,7 +75,7 @@ class Sabre_DAV_PartialUpdate_Plugin extends Sabre_DAV_ServerPlugin {
     }
 
     /**
-     * Use this method to tell the server this plugin defines additional
+     * Use this method to tell the server this addon defines additional
      * HTTP methods.
      *
      * This method is passed a uri. It should only return HTTP methods that are
index aa586ae3536cfec81ed811b3b6029e251ad54d77..5d04b67502e12f99a6d6c1649b416c53d5358135 100644 (file)
@@ -60,7 +60,7 @@ class Sabre_DAV_Server {
     public $httpRequest;
 
     /**
-     * The list of plugins
+     * The list of addons
      *
      * @var array
      */
@@ -324,7 +324,7 @@ class Sabre_DAV_Server {
     }
 
     /**
-     * Adds a plugin to the server
+     * Adds a addon to the server
      *
      * For more information, console the documentation of Sabre_DAV_ServerPlugin
      *
@@ -339,9 +339,9 @@ class Sabre_DAV_Server {
     }
 
     /**
-     * Returns an initialized plugin by it's name.
+     * Returns an initialized addon by it's name.
      *
-     * This function returns null if the plugin was not found.
+     * This function returns null if the addon was not found.
      *
      * @param string $name
      * @return Sabre_DAV_ServerPlugin
@@ -361,7 +361,7 @@ class Sabre_DAV_Server {
     }
 
     /**
-     * Returns all plugins
+     * Returns all addons
      *
      * @return array
      */
@@ -379,7 +379,7 @@ class Sabre_DAV_Server {
      * It is possible to control the order of the callbacks through the
      * priority argument.
      *
-     * This is for example used to make sure that the authentication plugin
+     * This is for example used to make sure that the authentication addon
      * is triggered before anything else. If it's not needed to change this
      * number, it is recommended to ommit.
      *
@@ -1050,7 +1050,7 @@ class Sabre_DAV_Server {
             $methods[] = 'MKCOL';
         }
 
-        // We're also checking if any of the plugins register any new methods
+        // We're also checking if any of the addons register any new methods
         foreach($this->plugins as $plugin) $methods = array_merge($methods, $plugin->getHTTPMethods($uri));
         array_unique($methods);
 
@@ -1464,7 +1464,7 @@ class Sabre_DAV_Server {
      *
      * Currently this is done by HTTP PUT and HTTP LOCK (in the Locks_Plugin).
      * It was important to get this done through a centralized function,
-     * allowing plugins to intercept this using the beforeCreateFile event.
+     * allowing addons to intercept this using the beforeCreateFile event.
      *
      * This method will return true if the file was actually created
      *
@@ -1654,7 +1654,7 @@ class Sabre_DAV_Server {
         }
 
         if (!$hasError) {
-            // Allowing plugins to take care of property updating
+            // Allowing addons to take care of property updating
             $hasError = !$this->broadcastEvent('updateProperties',array(
                 &$remainingProperties,
                 &$result,
index 131863d13fbf3a9823282d0b9aebb5b7c4e9a760..4dcee58794a4707f8b5921ccaa53f82b4f40171d 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
- * The baseclass for all server plugins.
+ * The baseclass for all server addons.
  *
  * Plugins can modify or extend the servers behaviour.
  *
@@ -14,7 +14,7 @@
 abstract class Sabre_DAV_ServerPlugin {
 
     /**
-     * This initializes the plugin.
+     * This initializes the addon.
      *
      * This function is called by Sabre_DAV_Server, after
      * addPlugin is called.
@@ -41,7 +41,7 @@ abstract class Sabre_DAV_ServerPlugin {
     }
 
     /**
-     * Use this method to tell the server this plugin defines additional
+     * Use this method to tell the server this addon defines additional
      * HTTP methods.
      *
      * This method is passed a uri. It should only return HTTP methods that are
@@ -57,9 +57,9 @@ abstract class Sabre_DAV_ServerPlugin {
     }
 
     /**
-     * Returns a plugin name.
+     * Returns a addon name.
      *
-     * Using this name other plugins will be able to access other plugins
+     * Using this name other addons will be able to access other addons
      * using Sabre_DAV_Server::getPlugin
      *
      * @return string
@@ -71,7 +71,7 @@ abstract class Sabre_DAV_ServerPlugin {
     }
 
     /**
-     * Returns a list of reports this plugin supports.
+     * Returns a list of reports this addon supports.
      *
      * This will be used in the {DAV:}supported-report-set property.
      * Note that you still need to subscribe to the 'report' event to actually
index 36096e677752e61fc1b62e53f3caf64c47e131aa..843112081ccd88a22d1476bbac15ee0f7cb35433 100644 (file)
@@ -45,7 +45,7 @@ class Sabre_DAV_TemporaryFileFilterPlugin extends Sabre_DAV_ServerPlugin {
     );
 
     /**
-     * This is the directory where this plugin
+     * This is the directory where this addon
      * will store it's files.
      *
      * @var string
@@ -60,7 +60,7 @@ class Sabre_DAV_TemporaryFileFilterPlugin extends Sabre_DAV_ServerPlugin {
     private $server;
 
     /**
-     * Creates the plugin.
+     * Creates the addon.
      *
      * Make sure you specify a directory for your files. If you don't, we
      * will use PHP's directory for session-storage instead, and you might
@@ -77,9 +77,9 @@ class Sabre_DAV_TemporaryFileFilterPlugin extends Sabre_DAV_ServerPlugin {
     }
 
     /**
-     * Initialize the plugin
+     * Initialize the addon
      *
-     * This is called automatically be the Server class after this plugin is
+     * This is called automatically be the Server class after this addon is
      * added with Sabre_DAV_Server::addPlugin()
      *
      * @param Sabre_DAV_Server $server
index 1dd00c87581e301dbdde6b70905b07f40530d138..cb3c44c17c0202165ba21d406acd7e95ade58dfb 100644 (file)
@@ -3,7 +3,7 @@
 /**
  * SabreDAV ACL Plugin
  *
- * This plugin provides functionality to enforce ACL permissions.
+ * This addon provides functionality to enforce ACL permissions.
  * ACL is defined in RFC3744.
  *
  * In addition it also provides support for the {DAV:}current-user-principal
@@ -81,7 +81,7 @@ class Sabre_DAVACL_Plugin extends Sabre_DAV_ServerPlugin {
 
     /**
      * This string is prepended to the username of the currently logged in
-     * user. This allows the plugin to determine the principal path based on
+     * user. This allows the addon to determine the principal path based on
      * the username.
      *
      * @var string
@@ -111,7 +111,7 @@ class Sabre_DAVACL_Plugin extends Sabre_DAV_ServerPlugin {
     public $adminPrincipals = array();
 
     /**
-     * Returns a list of features added by this plugin.
+     * Returns a list of features added by this addon.
      *
      * This list is used in the response of a HTTP OPTIONS request.
      *
@@ -136,9 +136,9 @@ class Sabre_DAVACL_Plugin extends Sabre_DAV_ServerPlugin {
     }
 
     /**
-     * Returns a plugin name.
+     * Returns a addon name.
      *
-     * Using this name other plugins will be able to access other plugins
+     * Using this name other addons will be able to access other addons
      * using Sabre_DAV_Server::getPlugin
      *
      * @return string
@@ -150,7 +150,7 @@ class Sabre_DAVACL_Plugin extends Sabre_DAV_ServerPlugin {
     }
 
     /**
-     * Returns a list of reports this plugin supports.
+     * Returns a list of reports this addon supports.
      *
      * This will be used in the {DAV:}supported-report-set property.
      * Note that you still need to subscribe to the 'report' event to actually
@@ -283,7 +283,7 @@ class Sabre_DAVACL_Plugin extends Sabre_DAV_ServerPlugin {
     }
 
     /**
-     * Returns the supported privilege structure for this ACL plugin.
+     * Returns the supported privilege structure for this ACL addon.
      *
      * See RFC3744 for more details. Currently we default on a simple,
      * standard structure.
@@ -608,7 +608,7 @@ class Sabre_DAVACL_Plugin extends Sabre_DAV_ServerPlugin {
     }
 
     /**
-     * Sets up the plugin
+     * Sets up the addon
      *
      * This method is automatically called by the server class.
      *
@@ -1067,7 +1067,7 @@ class Sabre_DAVACL_Plugin extends Sabre_DAV_ServerPlugin {
      * there.
      *
      * Other rfc's, such as ACL rely on this report, so it made sense to put
-     * it in this plugin.
+     * it in this addon.
      *
      * @param DOMElement $dom
      * @return void
index a76b4a9d7279dcaf47e7286eb718c237b6ca4d5a..6495a1bd4dcc72c48d362c56ce1ceeb756a42056 100644 (file)
@@ -53,7 +53,7 @@ class Sabre_DAVACL_PrincipalBackend_PDO implements Sabre_DAVACL_IPrincipalBacken
         ),
 
         /**
-         * This property is actually used by the CardDAV plugin, where it gets
+         * This property is actually used by the CardDAV addon, where it gets
          * mapped to {http://calendarserver.orgi/ns/}me-card.
          *
          * The reason we don't straight-up use that property, is because
index b41ee438a1721bda074a675eb38e6f8cd5fc59fd..3e77f1dcd220b15d1dd216439295c109a75c4b7d 100644 (file)
@@ -9,7 +9,7 @@ For more details check the introductory blog post - http://laktek.com/2008/10/27
 You can either clone [this repo](https://github.com/laktek/really-simple-color-picker) or download the latest build as a zip from here - http://github.com/laktek/really-simple-color-picker/zipball/master
 
 Color Picker requires jQuery 1.2.6 or higher. Make sure to load it before Color Picker (there's no other dependencies!). 
-For default styles of the color picker load the CSS file that comes with the plugin.
+For default styles of the color picker load the CSS file that comes with the addon.
 
   ```html
     <script language="javascript" type="text/javascript" src=jquery.min.js"></script>
index 201917c0e151f9c1f8f146fb5438d14ba2416bfc..c8221a696ada2c602ae48b3cfd1fd26572d5efe5 100644 (file)
 \r
 \r
        if ($.fn.noSelect == undefined) {\r
-               $.fn.noSelect = function (p) { //no select plugin by me :-)\r
+               $.fn.noSelect = function (p) { //no select addon by me :-)\r
                        var prevent;\r
                        if (p == null)\r
                                prevent = true;\r
index f384c50c397bdb5d6055ecf6d7e8e0ce6f4aa4bc..8a06e64de264e185a8883cfca03914ac04e893d2 100644 (file)
@@ -501,14 +501,14 @@ function wdcal_getSettingsPage(&$a)
 
        $o .= "<br><h3>" . t("Warning") . "</h3>";
 
-       $o .= "This plugin still is in a very early stage of development. Expect major bugs!<br>";
+       $o .= "This addon still is in a very early stage of development. Expect major bugs!<br>";
 
        $o .= "<br><h3>" . t("Synchronization (iPhone, Thunderbird Lightning, Android, ...)") . "</h3>";
 
-       $o .= 'This plugin enables synchronization of your dates and contacts with CalDAV- and CardDAV-enabled programs or devices.<br>
+       $o .= 'This addon enables synchronization of your dates and contacts with CalDAV- and CardDAV-enabled programs or devices.<br>
                As an example, the instructions how to set up two-way synchronization with an iPhone/iPodTouch are provided below.<br>
                Unfortunately, Android does not have native support for CalDAV or CardDAV, so an app has to be installed.<br>
-               On desktops, the Lightning-extension to Mozilla Thunderbird should be able to use this plugin as a backend.<br><br>';
+               On desktops, the Lightning-extension to Mozilla Thunderbird should be able to use this addon as a backend.<br><br>';
 
        $o .= '<h4>' . t('Synchronizing this calendar with the iPhone') . '</h4>';
 
index ac2d516aa931d436334f0b5e3571c88b8bb297eb..c7726531ac9ceda2f91600ff3431b3c4e7d86da8 100644 (file)
@@ -1,4 +1,4 @@
-/* German initialisation for the jQuery UI date picker plugin. */
+/* German initialisation for the jQuery UI date picker addon. */
 /* Written by Milian Wolff (mail@milianw.de). */
 jQuery(function($){
        $.datepicker.regional['de'] = {
index 7913b53a643adfc762ebfe9b06ab9bd160c523e3..0f2fc5c752973a64bba5292d0a5ae08537dcae17 100644 (file)
@@ -183,7 +183,7 @@ msgstr ""
 
 #: friendica/main.php:202
 msgid ""
-"The current version of this plugin has not been set up correctly. Please "
+"The current version of this addon has not been set up correctly. Please "
 "contact the system administrator of your installation of friendica to fix "
 "this."
 msgstr ""
index f198cd895a73038f90393d16fe6b56cd5f4de50a..93816d2a94717856fe8e666c29b298442a272e27 100644 (file)
@@ -40,7 +40,7 @@ $a->strings["Warning"] = "Avís";
 $a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Syncronització (iPhone, Thunderbird Lightning, Android, ...)";\r
 $a->strings["Synchronizing this calendar with the iPhone"] = "Sncronitzant aquest calendari amb el iPhone";\r
 $a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Sincronitzant els teus contactes a Friendica amb el iPhone";\r
-$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";\r
+$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";\r
 $a->strings["Calendar"] = "Calendari";\r
 $a->strings["Extended calendar with CalDAV-support"] = "Calendari ampliat amb suport CalDAV";\r
 $a->strings["noreply"] = "no contestar";\r
index d55ac2e06038da3c60d34635472abd1c6e3f491a..561206a47e6e4abde8a716a1492997cff4ead6aa 100644 (file)
@@ -185,7 +185,7 @@ msgstr "Synchronizovat Vaše Friendica kontakty s iPhone"
 
 #: friendica/main.php:202
 msgid ""
-"The current version of this plugin has not been set up correctly. Please "
+"The current version of this addon has not been set up correctly. Please "
 "contact the system administrator of your installation of friendica to fix "
 "this."
 msgstr "Stávající verze tohoto rozšíření nebyla správně nastavena. Prosím, kontaktujte administrátora webu, ať to opraví."
index a42a3a3078b69bc6a6527fce6b1013bb6cebdf75..0c5066f510f1cf98ceca365b29402a15ba863b1b 100644 (file)
@@ -45,7 +45,7 @@ $a->strings["Warning"] = "Omezení";
 $a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Synchronizace (iPhone, Thunderbird Lightning, Android, ...)";
 $a->strings["Synchronizing this calendar with the iPhone"] = "Synchronizovat tento kalendář s iPhone";
 $a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Synchronizovat Vaše Friendica kontakty s iPhone";
-$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "Stávající verze tohoto rozšíření nebyla správně nastavena. Prosím, kontaktujte administrátora webu, ať to opraví.";
+$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "Stávající verze tohoto rozšíření nebyla správně nastavena. Prosím, kontaktujte administrátora webu, ať to opraví.";
 $a->strings["Calendar"] = "Kalendář";
 $a->strings["Extended calendar with CalDAV-support"] = "Rozšířený kalendář s podporou CalDAV";
 $a->strings["noreply"] = "bez odpovědi";
index 9eeb56d66d2b7f0374a770f84e830dad695ba469..3f816fb31613b848756b07085d9b96da99055c40 100644 (file)
@@ -185,7 +185,7 @@ msgstr "Friendica-Kontakte mit dem iPhone synchronisieren"
 
 #: friendica/main.php:202
 msgid ""
-"The current version of this plugin has not been set up correctly. Please "
+"The current version of this addon has not been set up correctly. Please "
 "contact the system administrator of your installation of friendica to fix "
 "this."
 msgstr "Die aktuelle Version dieses Plugins wurde nicht korrekt eingestellt. Bitte kontaktiere den System-Administrator deiner Friendica Installation um den Fehler zu beheben."
index 441a1dacba37881c79dc4d1e8b651ea7ae7a7893..2a938464a9ead43651e00d57bb3bd6c3bb4df1e3 100644 (file)
@@ -45,7 +45,7 @@ $a->strings["Warning"] = "Warnung";
 $a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Synchronisation (iPhone, Thunderbird Lightning, Android, ...)";
 $a->strings["Synchronizing this calendar with the iPhone"] = "Diesen Kalender mit dem iPhone synchronisieren";
 $a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Friendica-Kontakte mit dem iPhone synchronisieren";
-$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "Die aktuelle Version dieses Plugins wurde nicht korrekt eingestellt. Bitte kontaktiere den System-Administrator deiner Friendica Installation um den Fehler zu beheben.";
+$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "Die aktuelle Version dieses Plugins wurde nicht korrekt eingestellt. Bitte kontaktiere den System-Administrator deiner Friendica Installation um den Fehler zu beheben.";
 $a->strings["Calendar"] = "Kalender";
 $a->strings["Extended calendar with CalDAV-support"] = "Erweiterter Kalender mit CalDAV Unterstützung.";
 $a->strings["noreply"] = "noreply";
index 6e902d5b5a2afa6fd20645d8781ada23914e3689..5ecd486b04729c971dff8525f5de9b13875379fd 100644 (file)
@@ -40,7 +40,7 @@ $a->strings["Warning"] = "Averto";
 $a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Sinkronigo (iPhone, Thunderbird Lightning, Android, ...)";\r
 $a->strings["Synchronizing this calendar with the iPhone"] = "Sinkronigi tiun kalendaron kun la iPhone";\r
 $a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Sinkronigi viajn Friendica kontaktojn kun la iPhone";\r
-$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";\r
+$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";\r
 $a->strings["Calendar"] = "Kalendaro";\r
 $a->strings["Extended calendar with CalDAV-support"] = "Etendita kalendaro kun CalDAV subteno";\r
 $a->strings["noreply"] = "nerespondi";\r
index d00bbe2601fd6a0dea054f422979093d422b527c..7bc95e0bff52293c2b1b50fc80cf1ad16eb756de 100644 (file)
@@ -186,10 +186,10 @@ msgstr "Sincronizar sus contactos de Friendica con el iPhone"
 
 #: friendica/main.php:202
 msgid ""
-"The current version of this plugin has not been set up correctly. Please "
+"The current version of this addon has not been set up correctly. Please "
 "contact the system administrator of your installation of friendica to fix "
 "this."
-msgstr "La versión actual de este plugin no se ha instalado correctamente. Por favor contacte con el administrador del sistema de su instalación de Friendica para resolver esto."
+msgstr "La versión actual de este addon no se ha instalado correctamente. Por favor contacte con el administrador del sistema de su instalación de Friendica para resolver esto."
 
 #: friendica/main.php:239 common/wdcal_edit.inc.php:146
 msgid "Calendar"
index 5300246abea79bccd42f90559318bd27d5dd9f05..76a3ad2e6eb3d66439b5641062f4857b85fc4680 100644 (file)
@@ -45,7 +45,7 @@ $a->strings["Warning"] = "Advertencia";
 $a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Sincronización (iPhone, Thunderbird Lightning, Android, ...)";
 $a->strings["Synchronizing this calendar with the iPhone"] = "Sincronizar este calendario con el iPhone";
 $a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Sincronizar sus contactos de Friendica con el iPhone";
-$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "La versión actual de este plugin no se ha instalado correctamente. Por favor contacte con el administrador del sistema de su instalación de Friendica para resolver esto.";
+$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "La versión actual de este addon no se ha instalado correctamente. Por favor contacte con el administrador del sistema de su instalación de Friendica para resolver esto.";
 $a->strings["Calendar"] = "Calendario";
 $a->strings["Extended calendar with CalDAV-support"] = "Estendido el calendario con soporte CalDAV";
 $a->strings["noreply"] = "no responder";
index 86dae0d11d138614b96aeda28b02456f25fe9704..0705d6a3765a943bb60c9031270df7671b71f663 100644 (file)
@@ -40,7 +40,7 @@ $a->strings["Warning"] = "Avertissement";
 $a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Synchronisation (Iphone, Thunderbird Lightning, Android, ...)";\r
 $a->strings["Synchronizing this calendar with the iPhone"] = "Synchronisation avec l'Iphone en cours";\r
 $a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Synchronisation de vos contacts Friendica avec l'Iphone en cours";\r
-$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "La version actuelle de cette extension n'a pas été configurée correctement. Merci de contacter votre administrateur Friendica pour régler ce problème. ";\r
+$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "La version actuelle de cette extension n'a pas été configurée correctement. Merci de contacter votre administrateur Friendica pour régler ce problème. ";\r
 $a->strings["Calendar"] = "Calendrier";\r
 $a->strings["Extended calendar with CalDAV-support"] = "Calendrier étendu avec support CalDAV";\r
 $a->strings["noreply"] = "noreply";\r
index e592e7de0fa2ca3dea9f7b6e14f9fcb5853a84ac..69fc6178c7825ff118b8e6995430fbffafbd47a2 100644 (file)
@@ -40,7 +40,7 @@ $a->strings["Warning"] = "";
 $a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "";\r
 $a->strings["Synchronizing this calendar with the iPhone"] = "";\r
 $a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "";\r
-$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";\r
+$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";\r
 $a->strings["Calendar"] = "";\r
 $a->strings["Extended calendar with CalDAV-support"] = "";\r
 $a->strings["noreply"] = "ekki svara";\r
index ae53f06eb37a3c964eccbeca59d9d7fedc1223bf..b1911a70885a812c0cd1b66c9488a352661c8f35 100644 (file)
@@ -185,10 +185,10 @@ msgstr "Sincronizzare i tuoi contatti di Friendica con l'iPhone"
 
 #: friendica/main.php:202
 msgid ""
-"The current version of this plugin has not been set up correctly. Please "
+"The current version of this addon has not been set up correctly. Please "
 "contact the system administrator of your installation of friendica to fix "
 "this."
-msgstr "La versione corrente di questo plugin non è stata configurata correttamente. Contatta l'amministratore."
+msgstr "La versione corrente di questo addon non è stata configurata correttamente. Contatta l'amministratore."
 
 #: friendica/main.php:239 common/wdcal_edit.inc.php:146
 msgid "Calendar"
index 9fe374ccecf74e62a0b666a9ea160e30f89e4e2c..ce1f78a899dcd29c7a680c47f0ee18c16b09273a 100644 (file)
@@ -45,7 +45,7 @@ $a->strings["Warning"] = "Attenzione";
 $a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Sincronizzazione (iPhone, Thunderbird Lightning, Android, ...)";
 $a->strings["Synchronizing this calendar with the iPhone"] = "Sincronizzare questo calendario con l'iPhone";
 $a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Sincronizzare i tuoi contatti di Friendica con l'iPhone";
-$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "La versione corrente di questo plugin non è stata configurata correttamente. Contatta l'amministratore.";
+$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "La versione corrente di questo addon non è stata configurata correttamente. Contatta l'amministratore.";
 $a->strings["Calendar"] = "Calendario";
 $a->strings["Extended calendar with CalDAV-support"] = "Calendario esteso con supporto CalDAV";
 $a->strings["noreply"] = "nonrispondere";
index 3ba89070fdc9832591df0a4c7a4e8aac084adb7e..132f0750480724363e5b9a0c1eb5898d4b0dbb28 100644 (file)
@@ -40,7 +40,7 @@ $a->strings["Warning"] = "";
 $a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "";\r
 $a->strings["Synchronizing this calendar with the iPhone"] = "";\r
 $a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "";\r
-$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";\r
+$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";\r
 $a->strings["Calendar"] = "";\r
 $a->strings["Extended calendar with CalDAV-support"] = "";\r
 $a->strings["noreply"] = "ikke svar";\r
index 171a73e1a51db2125a8bffb1fb9fd76efc2bfd99..9fcae4b8df6cc500b867bb3b98f70352962072e8 100644 (file)
@@ -40,7 +40,7 @@ $a->strings["Warning"] = "Ostrzeżenie";
 $a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Synchronizacja (iPhone, Thunderbird Lightning, Android, ...)";\r
 $a->strings["Synchronizing this calendar with the iPhone"] = "Zsynchronizuj kalendarz z iPhone";\r
 $a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Zsynchronizuj kontakty friendica z iPhone";\r
-$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";\r
+$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";\r
 $a->strings["Calendar"] = "Kalendarz";\r
 $a->strings["Extended calendar with CalDAV-support"] = "";\r
 $a->strings["noreply"] = "brak odpowiedzi";\r
index 566c3a84a8f78d03353d9ddab8ab5af79d9645e6..d57df030d4672b3eabf2dc8a5d50b08367432e41 100644 (file)
@@ -40,7 +40,7 @@ $a->strings["Warning"] = "Aviso";
 $a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Sincronização (iPhone, Thunderbird Lightning, Android, ...)";\r
 $a->strings["Synchronizing this calendar with the iPhone"] = "Sincronização desta agenda com o iPhone";\r
 $a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Sincronização dos seus contatos Friendica com o iPhone";\r
-$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";\r
+$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";\r
 $a->strings["Calendar"] = "Agenda";\r
 $a->strings["Extended calendar with CalDAV-support"] = "";\r
 $a->strings["noreply"] = "naoresponda";\r
index c6925954eff3cd381eb86c9a02492726fefb91b5..ec8cdc19d8e0bd62a391f348530c55352d52449b 100644 (file)
@@ -184,7 +184,7 @@ msgstr "Sincronizați contactele Friendica cu iPhone"
 
 #: friendica/main.php:202
 msgid ""
-"The current version of this plugin has not been set up correctly. Please "
+"The current version of this addon has not been set up correctly. Please "
 "contact the system administrator of your installation of friendica to fix "
 "this."
 msgstr "Versiunea curentă a acestui modul nu a fost corect configurată. Vă rugăm să contactați administratorul de sistem al aplicației dvs. friendica, pentru a corecta această situație."
index f2870213e53f6b55df9b6678fc347bec2ea2bab9..cf3ff44962062ce88c9460681880c366efb109e6 100644 (file)
@@ -45,7 +45,7 @@ $a->strings["Warning"] = "Atenție";
 $a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "Sincronizare (iPhone, Thunderbird Lightning, Android, ...)";
 $a->strings["Synchronizing this calendar with the iPhone"] = "Sincronizați acest calendar cu iPhone";
 $a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "Sincronizați contactele Friendica cu iPhone";
-$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "Versiunea curentă a acestui modul nu a fost corect configurată. Vă rugăm să contactați administratorul de sistem al aplicației dvs. friendica, pentru a corecta această situație.";
+$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "Versiunea curentă a acestui modul nu a fost corect configurată. Vă rugăm să contactați administratorul de sistem al aplicației dvs. friendica, pentru a corecta această situație.";
 $a->strings["Calendar"] = "Calendar";
 $a->strings["Extended calendar with CalDAV-support"] = "Calendar extins cu suport-CalDAV";
 $a->strings["noreply"] = "nu-răspunde";
index 32921b3b7974a0f8c4d0f93ff1bc76ca1d369ed5..7e4a4fb25c71d5f415705ea6b1a019216e94ad5c 100644 (file)
@@ -40,7 +40,7 @@ $a->strings["Warning"] = "";
 $a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "";\r
 $a->strings["Synchronizing this calendar with the iPhone"] = "";\r
 $a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "";\r
-$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";\r
+$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "";\r
 $a->strings["Calendar"] = "";\r
 $a->strings["Extended calendar with CalDAV-support"] = "";\r
 $a->strings["noreply"] = "без ответа";\r
index 45de3639b362a12930aa9f785c4570e5cfdc9aa7..7ace01d7d8ae5a6e57820d76648a75118205b880 100644 (file)
@@ -40,7 +40,7 @@ $a->strings["Warning"] = "警告";
 $a->strings["Synchronization (iPhone, Thunderbird Lightning, Android, ...)"] = "同步(iPhone,Thunderbird Lightning, 案桌,等)";\r
 $a->strings["Synchronizing this calendar with the iPhone"] = "正在把这个日历跟iPhone同步";\r
 $a->strings["Synchronizing your Friendica-Contacts with the iPhone"] = "正在把您的Friendica熟人跟iPhone同步";\r
-$a->strings["The current version of this plugin has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "现有的插件没安装好。请跟系统管理您的friendica安装联系为维修。";\r
+$a->strings["The current version of this addon has not been set up correctly. Please contact the system administrator of your installation of friendica to fix this."] = "现有的插件没安装好。请跟系统管理您的friendica安装联系为维修。";\r
 $a->strings["Calendar"] = "日历";\r
 $a->strings["Extended calendar with CalDAV-support"] = "增能日历跟CalDAV支持";\r
 $a->strings["noreply"] = "noreply";\r
index 7deb2b72a4878b192618863c28f5e57ed7672046..0d0d2744070f544f294d6761f56041b72ead9773 100644 (file)
@@ -172,7 +172,7 @@ function diaspora_settings(&$a,&$s) {
        }
 
        $s .= '<div id="diaspora-enable-wrapper">';
-       $s .= '<label id="diaspora-enable-label" for="diaspora-checkbox">' . t('Enable Diaspora Post Plugin') . '</label>';
+       $s .= '<label id="diaspora-enable-label" for="diaspora-checkbox">' . t('Enable Diaspora Post Addon') . '</label>';
        $s .= '<input id="diaspora-checkbox" type="checkbox" name="diaspora" value="1" ' . $checked . '/>';
        $s .= '</div><div class="clear"></div>';
 
index 0f71c2cd8e74321e41cc940368c74b3b77f23e16..6764eaf1e939975314bf17f9bc18f307a633d189 100644 (file)
@@ -32,7 +32,7 @@ msgid "Diaspora Export"
 msgstr ""
 
 #: diaspora.php:163
-msgid "Enable Diaspora Post Plugin"
+msgid "Enable Diaspora Post Addon"
 msgstr ""
 
 #: diaspora.php:168
index 22e1cfef03dc700815d83a40ce0e2a25a38a9498..5d8b0a309ff2feb0cbf41f0edd93831703b1e798 100644 (file)
@@ -34,8 +34,8 @@ msgid "Diaspora Export"
 msgstr "Diaspora export"
 
 #: diaspora.php:163
-msgid "Enable Diaspora Post Plugin"
-msgstr "Povolit Diaspora Plugin"
+msgid "Enable Diaspora Post Addon"
+msgstr "Povolit Diaspora Addon"
 
 #: diaspora.php:168
 msgid "Diaspora username"
index 9db097912864c621452b3249783b9d5a0f118301..1a87dc1f94b74b4c9510aab5325065370272dcf9 100644 (file)
@@ -8,7 +8,7 @@ function string_plural_select_cs($n){
 $a->strings["Post to Diaspora"] = "Příspěvek na Diaspora";
 $a->strings["Can't login to your Diaspora account. Please check username and password and ensure you used the complete address (including http...)"] = "Nelze se přihlásit na váš Diaspora účet. Prosím ověřte své uživatelské jméno a heslo a ujistěte se, že jste použili kompletní adresu (včetně http...)";
 $a->strings["Diaspora Export"] = "Diaspora export";
-$a->strings["Enable Diaspora Post Plugin"] = "Povolit Diaspora Plugin";
+$a->strings["Enable Diaspora Post Addon"] = "Povolit Diaspora Addon";
 $a->strings["Diaspora username"] = "Diaspora uživatelské jméno";
 $a->strings["Diaspora password"] = "Diaspora heslo";
 $a->strings["Diaspora site URL"] = "Adresa webu Diaspora";
index eaeb24edb7331f0fc050d51b9de6f6e5a3f74770..22187254ac7e31f58fcf33c5b6b7cf2f16647178 100644 (file)
@@ -34,7 +34,7 @@ msgid "Diaspora Export"
 msgstr "Diaspora Export"
 
 #: diaspora.php:163
-msgid "Enable Diaspora Post Plugin"
+msgid "Enable Diaspora Post Addon"
 msgstr "Veröffentlichungen bei Diaspora erlauben"
 
 #: diaspora.php:168
index 597d4cea9bda8a6fe448020c98f11a2355c05b83..22990765e80f7b6f18df8ed4918286073a7d91c7 100644 (file)
@@ -8,7 +8,7 @@ function string_plural_select_de($n){
 $a->strings["Post to Diaspora"] = "Auf Diaspora veröffentlichen";
 $a->strings["Can't login to your Diaspora account. Please check username and password and ensure you used the complete address (including http...)"] = "Anmeldung bei deinem Diaspora Account fehlgeschlagen. Bitte überprüfe Nutzername und Passwort und stelle sicher, dass die komplette Adresse (inklusive des htto...) verwendet wurde.";
 $a->strings["Diaspora Export"] = "Diaspora Export";
-$a->strings["Enable Diaspora Post Plugin"] = "Veröffentlichungen bei Diaspora erlauben";
+$a->strings["Enable Diaspora Post Addon"] = "Veröffentlichungen bei Diaspora erlauben";
 $a->strings["Diaspora username"] = "Diaspora Nutzername";
 $a->strings["Diaspora password"] = "Diaspora Passwort";
 $a->strings["Diaspora site URL"] = "URL der Diaspora Seite";
index 16ce4539074c0883e1c83c9c0c8e274f803ca95c..a7beaa0495ab0575a5a5625c50dd74b7b13b473f 100644 (file)
@@ -34,8 +34,8 @@ msgid "Diaspora Export"
 msgstr "Exportar a Diaspora*"
 
 #: diaspora.php:163
-msgid "Enable Diaspora Post Plugin"
-msgstr "Habilitar publicar a traves de Diaspora* plugin."
+msgid "Enable Diaspora Post Addon"
+msgstr "Habilitar publicar a traves de Diaspora* addon."
 
 #: diaspora.php:168
 msgid "Diaspora username"
index b3251898969710c02b30a62c665b74cc96b94fad..e25594c3f11aeac8d06c428e3bdf7831dfa74431 100644 (file)
@@ -8,7 +8,7 @@ function string_plural_select_es($n){
 $a->strings["Post to Diaspora"] = "Publicar hacia Diaspora*";
 $a->strings["Can't login to your Diaspora account. Please check username and password and ensure you used the complete address (including http...)"] = "No se puede ingresar a tu cuenta de Diaspora*. Por favor verificar nombre de usuario, contraseña y asegura de usar la dirección completa, incluyendo https.. .";
 $a->strings["Diaspora Export"] = "Exportar a Diaspora*";
-$a->strings["Enable Diaspora Post Plugin"] = "Habilitar publicar a traves de Diaspora* plugin.";
+$a->strings["Enable Diaspora Post Addon"] = "Habilitar publicar a traves de Diaspora* addon.";
 $a->strings["Diaspora username"] = "Nombre de usuario de Diaspora*.";
 $a->strings["Diaspora password"] = "Contraseña Diaspora*";
 $a->strings["Diaspora site URL"] = "URL sitio Diaspora*";
index 6f2fa876d63c47b0459c47ac0177e905a3c6a556..d8f79f976f23cdd08ca14792be3925fdb0f9940f 100644 (file)
@@ -35,7 +35,7 @@ msgid "Diaspora Export"
 msgstr "Export Diaspora"
 
 #: diaspora.php:163
-msgid "Enable Diaspora Post Plugin"
+msgid "Enable Diaspora Post Addon"
 msgstr "Activer l’extension « Publier sur Diaspora »"
 
 #: diaspora.php:168
index 8ba2940c578923231407d3368f5705b556843614..c9037b6af3a011ff6109800719adf9021012f09f 100644 (file)
@@ -8,7 +8,7 @@ function string_plural_select_fr($n){
 $a->strings["Post to Diaspora"] = "Publier sur Diaspora";
 $a->strings["Can't login to your Diaspora account. Please check username and password and ensure you used the complete address (including http...)"] = "Impossible de se connecter à votre compte Diaspora. Veuillez vérifier votre identifiant et votre mot de passe, et assurez-vous d’avoir indiqué l’adresse complète (y compris le « http:// » initial).";
 $a->strings["Diaspora Export"] = "Export Diaspora";
-$a->strings["Enable Diaspora Post Plugin"] = "Activer l’extension « Publier sur Diaspora »";
+$a->strings["Enable Diaspora Post Addon"] = "Activer l’extension « Publier sur Diaspora »";
 $a->strings["Diaspora username"] = "Identifiant Diaspora";
 $a->strings["Diaspora password"] = "Mot de passe Diaspora";
 $a->strings["Diaspora site URL"] = "Adresse du site Diaspora";
index 514dcbb1f8b6e9b0410e12d2fb725c81a22c001f..1468e52359a4eb2eb5ec366b981f51f3b928dede 100644 (file)
@@ -34,8 +34,8 @@ msgid "Diaspora Export"
 msgstr "Esporta Diaspora"
 
 #: diaspora.php:163
-msgid "Enable Diaspora Post Plugin"
-msgstr "Abilita il plugin di invio a Diaspora"
+msgid "Enable Diaspora Post Addon"
+msgstr "Abilita il addon di invio a Diaspora"
 
 #: diaspora.php:168
 msgid "Diaspora username"
index 4b8affb6a3c6843ae6f10aee7a2dc030e5d99969..4c1673e18a41ed60a7fb4bf14e4eca0d69c1011b 100644 (file)
@@ -8,7 +8,7 @@ function string_plural_select_it($n){
 $a->strings["Post to Diaspora"] = "Invia a Diaspora";
 $a->strings["Can't login to your Diaspora account. Please check username and password and ensure you used the complete address (including http...)"] = "Non riesco ad autenticarmi con il tuo account Diaspora. Controlla il nome utente e la password e assicurati di aver usato l'indirizzo completo (compreso \"http\" o \"https\")";
 $a->strings["Diaspora Export"] = "Esporta Diaspora";
-$a->strings["Enable Diaspora Post Plugin"] = "Abilita il plugin di invio a Diaspora";
+$a->strings["Enable Diaspora Post Addon"] = "Abilita il addon di invio a Diaspora";
 $a->strings["Diaspora username"] = "Nome utente Diaspora";
 $a->strings["Diaspora password"] = "Password Diaspora";
 $a->strings["Diaspora site URL"] = "Indirizzo sito Diaspora";
index 1034ffed6b0ad1bb67a65678a34ea162e09e4881..7b0bc7413d42101a7e60276a8534af69d2bda7ff 100644 (file)
@@ -34,7 +34,7 @@ msgid "Diaspora Export"
 msgstr ""
 
 #: diaspora.php:163
-msgid "Enable Diaspora Post Plugin"
+msgid "Enable Diaspora Post Addon"
 msgstr "Habilitar plug-in para publicar na Diaspora"
 
 #: diaspora.php:168
index 4ad834a1c32cf7fea5b2309b359ffe93ce15990b..11c6b1ecbb4d2149543794d5569a816a97d6492f 100644 (file)
@@ -33,7 +33,7 @@ msgid "Diaspora Export"
 msgstr "Exportare pe Diaspora "
 
 #: diaspora.php:163
-msgid "Enable Diaspora Post Plugin"
+msgid "Enable Diaspora Post Addon"
 msgstr "Activare Modul Postare pe Diaspora"
 
 #: diaspora.php:168
index c40ac8b68dabd9c5232d33a8a83f40cb341864f3..a679815853042a5bf7a7f9fcb1166f9b3c80fc05 100644 (file)
@@ -8,7 +8,7 @@ function string_plural_select_ro($n){
 $a->strings["Post to Diaspora"] = "Postați pe Diaspora";
 $a->strings["Can't login to your Diaspora account. Please check username and password and ensure you used the complete address (including http...)"] = "Nu se poate face autentificarea pe contul dvs. Diaspora. Verificați numele de utilizator şi parola şi asigurați-vă că ați folosit adresa completă  (inclusiv http ... )";
 $a->strings["Diaspora Export"] = "Exportare pe Diaspora ";
-$a->strings["Enable Diaspora Post Plugin"] = "Activare Modul Postare pe Diaspora";
+$a->strings["Enable Diaspora Post Addon"] = "Activare Modul Postare pe Diaspora";
 $a->strings["Diaspora username"] = "Utilizator Diaspora";
 $a->strings["Diaspora password"] = "Parola Diaspora";
 $a->strings["Diaspora site URL"] = "URL site Diaspora";
index 7a9322c9af8fa12d42e4367e2b534469b0fecd77..3534b0ac40e51c5d61abcc1e8e3e0c180ced9593 100644 (file)
@@ -34,7 +34,7 @@ msgid "Diaspora Export"
 msgstr "Экспорт в Diaspora"
 
 #: diaspora.php:163
-msgid "Enable Diaspora Post Plugin"
+msgid "Enable Diaspora Post Addon"
 msgstr "Включить плагин отправки сообщений в Diaspora"
 
 #: diaspora.php:168
index ac120995b7a7d78f83ff8e734080da69dea4ff92..0d46c78ded8fbad58af49816e3ec3d1ec9ff0f58 100644 (file)
@@ -8,7 +8,7 @@ function string_plural_select_ru($n){
 $a->strings["Post to Diaspora"] = "Отправить в Diaspora";
 $a->strings["Can't login to your Diaspora account. Please check username and password and ensure you used the complete address (including http...)"] = "Невозможно войти в вашу учетную запись Diaspora. Пожалуйста, проверьте имя пользователя, пароль и убедитесь, что вы ввели полный адрес пода (включая http/https)";
 $a->strings["Diaspora Export"] = "Экспорт в Diaspora";
-$a->strings["Enable Diaspora Post Plugin"] = "Включить плагин отправки сообщений в Diaspora";
+$a->strings["Enable Diaspora Post Addon"] = "Включить плагин отправки сообщений в Diaspora";
 $a->strings["Diaspora username"] = "Имя пользователя Diaspora";
 $a->strings["Diaspora password"] = "Пароль Diaspora";
 $a->strings["Diaspora site URL"] = "URL пода Diaspora";
index beb0d17a4f9c6aaac3c777675a46aa2df40a759e..c0a4978e1aa3a7cdafed24c732c8151c48cf9fe6 100644 (file)
@@ -34,7 +34,7 @@ msgid "Diaspora Export"
 msgstr "Diaspora 导出"
 
 #: diaspora.php:163
-msgid "Enable Diaspora Post Plugin"
+msgid "Enable Diaspora Post Addon"
 msgstr "启用 Diaspora 发文插件"
 
 #: diaspora.php:168
index 47c0f5560e13d1541232d2ff57e7ee6ddf0c7217..307a634f2e5b81f3afd90d09b710076ebd865e30 100644 (file)
@@ -8,7 +8,7 @@ function string_plural_select_zh_cn($n){
 $a->strings["Post to Diaspora"] = "发到 Diaspora";
 $a->strings["Can't login to your Diaspora account. Please check username and password and ensure you used the complete address (including http...)"] = "无法登录到你的 Diaspora 账户。请检查用户名和密码并确保你用了完整的地址(包括http...)";
 $a->strings["Diaspora Export"] = "Diaspora 导出";
-$a->strings["Enable Diaspora Post Plugin"] = "启用 Diaspora 发文插件";
+$a->strings["Enable Diaspora Post Addon"] = "启用 Diaspora 发文插件";
 $a->strings["Diaspora username"] = "Diaspora 用户名";
 $a->strings["Diaspora password"] = "Diaspora 密码";
 $a->strings["Diaspora site URL"] = "Diaspora 站点 URL";
index 94d7937c8553b699af87b639d9f2215ed2c18108..be2bcd1160f6774a5bb866af12db4c8f33f4d450 100644 (file)
@@ -76,7 +76,7 @@ function dwpost_settings(&$a,&$s) {
     $s .= '</span>';
 
     $s .= '<div id="dwpost-enable-wrapper">';
-    $s .= '<label id="dwpost-enable-label" for="dwpost-checkbox">' . t('Enable dreamwidth Post Plugin') . '</label>';
+    $s .= '<label id="dwpost-enable-label" for="dwpost-checkbox">' . t('Enable dreamwidth Post Addon') . '</label>';
     $s .= '<input id="dwpost-checkbox" type="checkbox" name="dwpost" value="1" ' . $checked . '/>';
     $s .= '</div><div class="clear"></div>';
 
index 6bed922ffc58205dfe6c51f374e807c2ae641f18..c81e9f0fa4b6792d2eba15a583f4b636112d7c3a 100644 (file)
@@ -26,7 +26,7 @@ msgid "Dreamwidth Post Settings"
 msgstr ""
 
 #: dwpost.php:72
-msgid "Enable dreamwidth Post Plugin"
+msgid "Enable dreamwidth Post Addon"
 msgstr ""
 
 #: dwpost.php:77
index 6ad56a9b5a5d7b413511ec6c83bd792587c3caf8..3b7df6d052577d19394574cabe9a5f8395351d10 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Dreamwidth"] = "Missatge a Dreamwidth";\r
 $a->strings["Dreamwidth Post Settings"] = "Configuració d'enviaments a Dreamwidth";\r
-$a->strings["Enable dreamwidth Post Plugin"] = "Habilitat el plugin d'enviaments a Dreamwidth";\r
+$a->strings["Enable dreamwidth Post Addon"] = "Habilitat el addon d'enviaments a Dreamwidth";\r
 $a->strings["dreamwidth username"] = "Nom d'usuari a Dreamwidth";\r
 $a->strings["dreamwidth password"] = "Contrasenya a Dreamwidth";\r
 $a->strings["Post to dreamwidth by default"] = "Enviar per defecte a Dreamwidth";\r
index 2291657a3276bb513cdd47b1841e52b82879ded2..fb01a38e134dc776aa07f0361ebd7c4a21e928ee 100644 (file)
@@ -28,8 +28,8 @@ msgid "Dreamwidth Post Settings"
 msgstr "Dreamwidth nastavení příspěvků"
 
 #: dwpost.php:72
-msgid "Enable dreamwidth Post Plugin"
-msgstr "Povolit dreamwidth Plugin"
+msgid "Enable dreamwidth Post Addon"
+msgstr "Povolit dreamwidth Addon"
 
 #: dwpost.php:77
 msgid "dreamwidth username"
index 6d02b09f622c54d55d4ab4877d827a6e5498ac70..df348a8396b06018610d12eb1b2f35f3e2305140 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_cs($n){
 ;
 $a->strings["Post to Dreamwidth"] = "Poslat na Dreamwidth";
 $a->strings["Dreamwidth Post Settings"] = "Dreamwidth nastavení příspěvků";
-$a->strings["Enable dreamwidth Post Plugin"] = "Povolit dreamwidth Plugin";
+$a->strings["Enable dreamwidth Post Addon"] = "Povolit dreamwidth Addon";
 $a->strings["dreamwidth username"] = "dreamwidth uživatelské jméno";
 $a->strings["dreamwidth password"] = "dreamwidth heslo";
 $a->strings["Post to dreamwidth by default"] = "Defaultně umístit na dreamwidth";
index 81507eed8d2f7b457006302cd9a3e2a3795f6dc8..07e6beb6506543f5fccc852bd0b5227e02151702 100644 (file)
@@ -29,8 +29,8 @@ msgid "Dreamwidth Post Settings"
 msgstr "Dreamwidth Veröffentlichungs-Einstellungen"
 
 #: dwpost.php:72
-msgid "Enable dreamwidth Post Plugin"
-msgstr "Dreamwidth Post Plugin aktivieren"
+msgid "Enable dreamwidth Post Addon"
+msgstr "Dreamwidth Post Addon aktivieren"
 
 #: dwpost.php:77
 msgid "dreamwidth username"
index a809589977ae6a889eb34ba7128c2b23d05b6037..a810f79efb1a3b8efe1f2ae5731e8e4933298489 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_de($n){
 ;
 $a->strings["Post to Dreamwidth"] = "In Dreamwidth veröffentlichen";
 $a->strings["Dreamwidth Post Settings"] = "Dreamwidth Veröffentlichungs-Einstellungen";
-$a->strings["Enable dreamwidth Post Plugin"] = "Dreamwidth Post Plugin aktivieren";
+$a->strings["Enable dreamwidth Post Addon"] = "Dreamwidth Post Addon aktivieren";
 $a->strings["dreamwidth username"] = "Dreamwidth Benutzername";
 $a->strings["dreamwidth password"] = "Dreamwidth Passwort";
 $a->strings["Post to dreamwidth by default"] = "Standardmäßig bei Dreamwidth veröffentlichen";
index 967d4b9b6bea55b9817a6adfe8a81379eed47e0e..d0c96db6eac196da1a5c0bb609ff043057d3dfe6 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Dreamwidth"] = "Afiŝi al Dreamwidth";\r
 $a->strings["Dreamwidth Post Settings"] = "Agordoj por Afiŝoj al Dreamwidth";\r
-$a->strings["Enable dreamwidth Post Plugin"] = "Ŝalti la Dreamwidth Kromprogramon";\r
+$a->strings["Enable dreamwidth Post Addon"] = "Ŝalti la Dreamwidth Kromprogramon";\r
 $a->strings["dreamwidth username"] = "Dreamwidth salutnomo";\r
 $a->strings["dreamwidth password"] = "Dreamwidth pasvorto";\r
 $a->strings["Post to dreamwidth by default"] = "Defaŭlte afiŝi al Dreamwidth";\r
index 10368bb28954e0354c991937648cd1d60f59312d..18036677aae0748976fd84f26b18bf7ef85da5b2 100644 (file)
@@ -28,8 +28,8 @@ msgid "Dreamwidth Post Settings"
 msgstr "Ajustes de publicación de Dreamwidth"
 
 #: dwpost.php:72
-msgid "Enable dreamwidth Post Plugin"
-msgstr "Activar el plugin de publicación dreamwidth"
+msgid "Enable dreamwidth Post Addon"
+msgstr "Activar el addon de publicación dreamwidth"
 
 #: dwpost.php:77
 msgid "dreamwidth username"
index 646b945bd8211135882082129bb572840194484d..4c5c116f42ffbaed83318847a77b3999a7244b08 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_es($n){
 ;
 $a->strings["Post to Dreamwidth"] = "Publicar en Dreamwidth";
 $a->strings["Dreamwidth Post Settings"] = "Ajustes de publicación de Dreamwidth";
-$a->strings["Enable dreamwidth Post Plugin"] = "Activar el plugin de publicación dreamwidth";
+$a->strings["Enable dreamwidth Post Addon"] = "Activar el addon de publicación dreamwidth";
 $a->strings["dreamwidth username"] = "Nombre de usuario de dreamwidth";
 $a->strings["dreamwidth password"] = "Contraseña de dreamwidth";
 $a->strings["Post to dreamwidth by default"] = "Publicar en dreamwidth por defecto";
index d0010280a40e7a04a3fe263e3343db9f54fc223a..1277d5901d3838e9ef0841237adec7e6bc3dfdbc 100644 (file)
@@ -29,7 +29,7 @@ msgid "Dreamwidth Post Settings"
 msgstr "Paramètres pour Dreamwidth"
 
 #: dwpost.php:72
-msgid "Enable dreamwidth Post Plugin"
+msgid "Enable dreamwidth Post Addon"
 msgstr ""
 
 #: dwpost.php:77
index 138d9d8ad63fbdf81bcb71c68f3024193328a2ec..5ecda4717b0f97e0f304f8d5705f021f115e8f82 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_fr($n){
 ;
 $a->strings["Post to Dreamwidth"] = "Publier sur Dreamwidth";
 $a->strings["Dreamwidth Post Settings"] = "Paramètres pour Dreamwidth";
-$a->strings["Enable dreamwidth Post Plugin"] = "";
+$a->strings["Enable dreamwidth Post Addon"] = "";
 $a->strings["dreamwidth username"] = "Nom d'utilisateur Dreamwidth";
 $a->strings["dreamwidth password"] = "Mot de passe dreamwidth";
 $a->strings["Post to dreamwidth by default"] = "Poster sur Dreamwidth par défaut";
index 96f1f78b06cf42c17798a81cf184552f47a5c3b1..e5fee40076238bc09e69b34273d1ccc80bfb8e5f 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Dreamwidth"] = "";\r
 $a->strings["Dreamwidth Post Settings"] = "";\r
-$a->strings["Enable dreamwidth Post Plugin"] = "";\r
+$a->strings["Enable dreamwidth Post Addon"] = "";\r
 $a->strings["dreamwidth username"] = "";\r
 $a->strings["dreamwidth password"] = "";\r
 $a->strings["Post to dreamwidth by default"] = "";\r
index dbd210168ed1a8fe30f8c7128597bb6fd1263263..8b19c299746c8e722002decbd89bafafaaf38111 100644 (file)
@@ -28,8 +28,8 @@ msgid "Dreamwidth Post Settings"
 msgstr "Impostazioni di invio a Dreamwidth"
 
 #: dwpost.php:72
-msgid "Enable dreamwidth Post Plugin"
-msgstr "Abilita il plugin di invio a Dreamwidth"
+msgid "Enable dreamwidth Post Addon"
+msgstr "Abilita il addon di invio a Dreamwidth"
 
 #: dwpost.php:77
 msgid "dreamwidth username"
index 5cded6e11130d0ed5f26f0da125dae8931aeabfd..df904d620b99ccce3c9c99650fbcccabd4fce57a 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_it($n){
 ;
 $a->strings["Post to Dreamwidth"] = "Posta su Dreamwidth";
 $a->strings["Dreamwidth Post Settings"] = "Impostazioni di invio a Dreamwidth";
-$a->strings["Enable dreamwidth Post Plugin"] = "Abilita il plugin di invio a Dreamwidth";
+$a->strings["Enable dreamwidth Post Addon"] = "Abilita il addon di invio a Dreamwidth";
 $a->strings["dreamwidth username"] = "Nome utente Dreamwidth";
 $a->strings["dreamwidth password"] = "password Dreamwidth";
 $a->strings["Post to dreamwidth by default"] = "Invia sempre a Dreamwidth";
index 37677e6df7af6bc21083a629bd384622d49c7861..c4ea612b398007f166df55b815b006c4a09ba13e 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Dreamwidth"] = "";\r
 $a->strings["Dreamwidth Post Settings"] = "";\r
-$a->strings["Enable dreamwidth Post Plugin"] = "";\r
+$a->strings["Enable dreamwidth Post Addon"] = "";\r
 $a->strings["dreamwidth username"] = "";\r
 $a->strings["dreamwidth password"] = "";\r
 $a->strings["Post to dreamwidth by default"] = "";\r
index 237c95d94014e3797122c8a40269361399f0b8ff..9f1ff04e7482fbe7c5beb79e9f8f668975246519 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Dreamwidth"] = "Opublikuj na Dreamwidth";\r
 $a->strings["Dreamwidth Post Settings"] = "";\r
-$a->strings["Enable dreamwidth Post Plugin"] = "";\r
+$a->strings["Enable dreamwidth Post Addon"] = "";\r
 $a->strings["dreamwidth username"] = "";\r
 $a->strings["dreamwidth password"] = "";\r
 $a->strings["Post to dreamwidth by default"] = "";\r
index 26c3bba6e1d1f2fb48390206865a9cc61479af31..f0e49e4e3e96713d5c20070630ee471f50a05143 100644 (file)
@@ -28,7 +28,7 @@ msgid "Dreamwidth Post Settings"
 msgstr "Configurações de publicação no Dreamwidth"
 
 #: dwpost.php:72
-msgid "Enable dreamwidth Post Plugin"
+msgid "Enable dreamwidth Post Addon"
 msgstr "Habilitar plug-in para publicar no Dreamwidth"
 
 #: dwpost.php:77
index 329cf9e3f066e0d59d5f755786d4a0cc0e09b0e6..03dc7d2d269b29f587694cc656d32b03d8e43dc5 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Dreamwidth"] = "Publicar no Dreamwidth";\r
 $a->strings["Dreamwidth Post Settings"] = "Configurações de publicação no Dreamwidth";\r
-$a->strings["Enable dreamwidth Post Plugin"] = "Habilitar o plugin de publicação no Dreamwidth";\r
+$a->strings["Enable dreamwidth Post Addon"] = "Habilitar o addon de publicação no Dreamwidth";\r
 $a->strings["dreamwidth username"] = "Nome de usuário do Dreamwidth";\r
 $a->strings["dreamwidth password"] = "Senha do Dreamwidth";\r
 $a->strings["Post to dreamwidth by default"] = "Publicar no Dreamwidth por padrão";\r
index f2fd9e0c57248838b0c069bd9d8215d56e1816bc..91285968699f7f90df2bec4917aa36be47506018 100644 (file)
@@ -28,7 +28,7 @@ msgid "Dreamwidth Post Settings"
 msgstr "Configurări Postări Dreamwidth "
 
 #: dwpost.php:72
-msgid "Enable dreamwidth Post Plugin"
+msgid "Enable dreamwidth Post Addon"
 msgstr "Activare Modul Postare pe Dreamwidth"
 
 #: dwpost.php:77
index d50f38037fc9b5b9c7a130f45f51d8befa9aa01d..ed3ece27f2626d617f6b19ba9aa7941a97f2f185 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_ro($n){
 ;
 $a->strings["Post to Dreamwidth"] = "Postați pe Dreamwidth";
 $a->strings["Dreamwidth Post Settings"] = "Configurări Postări Dreamwidth ";
-$a->strings["Enable dreamwidth Post Plugin"] = "Activare Modul Postare pe Dreamwidth";
+$a->strings["Enable dreamwidth Post Addon"] = "Activare Modul Postare pe Dreamwidth";
 $a->strings["dreamwidth username"] = "Utilizator Dreamwidth";
 $a->strings["dreamwidth password"] = "Parola Dreamwidth ";
 $a->strings["Post to dreamwidth by default"] = "Postați implicit pe Dreamwidth";
index fc01bce0e21485b79f25e9519e2d8cd00bab8362..93e400e549ee332c69ff383de74605dcc35076f9 100644 (file)
@@ -28,7 +28,7 @@ msgid "Dreamwidth Post Settings"
 msgstr "Настройки сообщений Dreamwidth"
 
 #: dwpost.php:72
-msgid "Enable dreamwidth Post Plugin"
+msgid "Enable dreamwidth Post Addon"
 msgstr "Включить плагин отправки сообщений в Dreamwidth"
 
 #: dwpost.php:77
index db1b2755de1b53bad594dff79fa74695873f008f..7b6e5f47187d92949569ad2db5a83f7731c50400 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_ru($n){
 ;
 $a->strings["Post to Dreamwidth"] = "Отправить в Dreamwidth";
 $a->strings["Dreamwidth Post Settings"] = "Настройки сообщений Dreamwidth";
-$a->strings["Enable dreamwidth Post Plugin"] = "Включить плагин отправки сообщений в Dreamwidth";
+$a->strings["Enable dreamwidth Post Addon"] = "Включить плагин отправки сообщений в Dreamwidth";
 $a->strings["dreamwidth username"] = "Имя пользователя Dreamwidth";
 $a->strings["dreamwidth password"] = "Пароль Dreamwidth";
 $a->strings["Post to dreamwidth by default"] = "Отправлять сообщения в Dreamwidth по умолчанию";
index 93e075c6ff4e9103d44ea6ac5feed7dd2af13c4c..131cd9fa2a3b7baa335907a2668c58e91cfd2d31 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Dreamwidth"] = "转播到Dreamwidth";\r
 $a->strings["Dreamwidth Post Settings"] = "Dreamwidth转播设置";\r
-$a->strings["Enable dreamwidth Post Plugin"] = "使Dreamwidth转播插件可用";\r
+$a->strings["Enable dreamwidth Post Addon"] = "使Dreamwidth转播插件可用";\r
 $a->strings["dreamwidth username"] = "Dreamwidth用户名";\r
 $a->strings["dreamwidth password"] = "Dreamwidth密码";\r
 $a->strings["Post to dreamwidth by default"] = "默认地转播到Dreamwidth";\r
index 8e28879c2624d4a82a42affb55d871dcb0b439e2..4d87bffe77eeadb42061bd4a43d47952d54e6902 100644 (file)
@@ -14,7 +14,7 @@ define ('FORTUNATE_SERVER', 'hostname.com');
 function fortunate_install() {
        Addon::registerHook('page_end', 'addon/fortunate/fortunate.php', 'fortunate_fetch');
        if(FORTUNATE_SERVER == 'hostname.com' && is_site_admin()) {
-               notice('Fortunate plugin requires configuration. See README');
+               notice('Fortunate addon requires configuration. See README');
        }
 }
 
index 49210658ace9aa524f27e8ff299a8114dc5cec9c..81c239d2b896427de88fba72d5caf2bea8fc7d74 100644 (file)
@@ -26,7 +26,7 @@ msgid "Geonames Settings"
 msgstr ""
 
 #: geonames.php:181
-msgid "Enable Geonames Plugin"
+msgid "Enable Geonames Addon"
 msgstr ""
 
 #: geonames.php:187
index 058ef8e5d495d635b572605b198102841d0b7d16..259e81f4e770d58b8971258bc880380d2a7d2abb 100644 (file)
@@ -2,5 +2,5 @@
 \r
 $a->strings["Geonames settings updated."] = "Actualitzada la configuració de Geonames.";\r
 $a->strings["Geonames Settings"] = "Configuració de Geonames";\r
-$a->strings["Enable Geonames Plugin"] = "Habilitar Plugin de Geonames";\r
+$a->strings["Enable Geonames Addon"] = "Habilitar Addon de Geonames";\r
 $a->strings["Submit"] = "Enviar";\r
index d88aef60ba462bb3a5f236f5d47a2a7c519332de..98d8f14f49714b69a19a5a3658a8ed2879945683 100644 (file)
@@ -28,7 +28,7 @@ msgid "Geonames Settings"
 msgstr "Nastavení Geonames"
 
 #: geonames.php:181
-msgid "Enable Geonames Plugin"
+msgid "Enable Geonames Addon"
 msgstr "Povolit Geonames rozšíření"
 
 #: geonames.php:187
index 134a6a77c666b0614e6a86c0fc4a8f202c76d46f..dfd52e6c0f057bc88f01a8ed0696a6691e92e7e8 100644 (file)
@@ -7,5 +7,5 @@ function string_plural_select_cs($n){
 ;
 $a->strings["Geonames settings updated."] = "Geonames nastavení aktualizováno.";
 $a->strings["Geonames Settings"] = "Nastavení Geonames";
-$a->strings["Enable Geonames Plugin"] = "Povolit Geonames rozšíření";
+$a->strings["Enable Geonames Addon"] = "Povolit Geonames rozšíření";
 $a->strings["Submit"] = "Odeslat";
index 7629b1b5e07c53aab49459dcb28db8dab94a7917..fdc3ed632c08a9831dbc266dfe16a7877cde6774 100644 (file)
@@ -29,8 +29,8 @@ msgid "Geonames Settings"
 msgstr "Geonames Einstellungen"
 
 #: geonames.php:181
-msgid "Enable Geonames Plugin"
-msgstr "Geonames Plugin aktivieren"
+msgid "Enable Geonames Addon"
+msgstr "Geonames Addon aktivieren"
 
 #: geonames.php:187
 msgid "Submit"
index cf1838fb08ad9b848fcd2097e0b058e95ff4cb36..26f2246e678231f01212b8d39d4d10604bf3ab94 100644 (file)
@@ -7,5 +7,5 @@ function string_plural_select_de($n){
 ;
 $a->strings["Geonames settings updated."] = "Geonames Einstellungen aktualisiert";
 $a->strings["Geonames Settings"] = "Geonames Einstellungen";
-$a->strings["Enable Geonames Plugin"] = "Geonames Plugin aktivieren";
+$a->strings["Enable Geonames Addon"] = "Geonames Addon aktivieren";
 $a->strings["Submit"] = "Senden";
index a6127e68400dc42f0d12adcc6916034f960d7811..65cd16a3b13f90002dc03ecf098c71cc88026d56 100644 (file)
@@ -2,5 +2,5 @@
 \r
 $a->strings["Geonames settings updated."] = "Ĝidatigis la Geonames agordojn.";\r
 $a->strings["Geonames Settings"] = "Geonames Agordoj";\r
-$a->strings["Enable Geonames Plugin"] = "Ŝalti la Geonames Kromprogramon";\r
+$a->strings["Enable Geonames Addon"] = "Ŝalti la Geonames Kromprogramon";\r
 $a->strings["Submit"] = "Sendi";\r
index f372d7925057cdaada452054933f9436e77c7986..84de85aae5ba3e7583469ee1766ab5be533d4500 100644 (file)
@@ -28,8 +28,8 @@ msgid "Geonames Settings"
 msgstr "Ajustes de Geonombres"
 
 #: geonames.php:181
-msgid "Enable Geonames Plugin"
-msgstr "Habilitar Plugin de Geonombres"
+msgid "Enable Geonames Addon"
+msgstr "Habilitar Addon de Geonombres"
 
 #: geonames.php:187
 msgid "Submit"
index d9a85aa16858e0d1a757563b935a2106fbfc6c94..d2cb635d7a09f87624c114f179a6c320e5c10d84 100644 (file)
@@ -7,5 +7,5 @@ function string_plural_select_es($n){
 ;
 $a->strings["Geonames settings updated."] = "Ajustes de geonombres actualizados.";
 $a->strings["Geonames Settings"] = "Ajustes de Geonombres";
-$a->strings["Enable Geonames Plugin"] = "Habilitar Plugin de Geonombres";
+$a->strings["Enable Geonames Addon"] = "Habilitar Addon de Geonombres";
 $a->strings["Submit"] = "Enviar";
index 6428cb38bad6303667b5eec8476f72cdb16e4b16..10d6631eb15a4a8ccf26f7e43abb7c45e918c85f 100644 (file)
@@ -2,5 +2,5 @@
 \r
 $a->strings["Geonames settings updated."] = "Réglages Geonames sauvés.";\r
 $a->strings["Geonames Settings"] = "Réglages Geonames";\r
-$a->strings["Enable Geonames Plugin"] = "Activer Geonames";\r
+$a->strings["Enable Geonames Addon"] = "Activer Geonames";\r
 $a->strings["Submit"] = "Envoyer";\r
index ac64f2babad71c5a56ad1c69a4b145fff561bfcf..436d31167b7e93adc441d4bdb62cce3f3447d127 100644 (file)
@@ -2,5 +2,5 @@
 \r
 $a->strings["Geonames settings updated."] = "";\r
 $a->strings["Geonames Settings"] = "";\r
-$a->strings["Enable Geonames Plugin"] = "";\r
+$a->strings["Enable Geonames Addon"] = "";\r
 $a->strings["Submit"] = "Senda inn";\r
index 8164d7a24a0e95c3f2ee3bbe1c5340de3dd668e5..94f4c2693a9dc394b2fffd7fca61a6221e4aadd9 100644 (file)
@@ -28,8 +28,8 @@ msgid "Geonames Settings"
 msgstr "Impostazioni Geonames"
 
 #: geonames.php:181
-msgid "Enable Geonames Plugin"
-msgstr "Abilita plugin Geonames"
+msgid "Enable Geonames Addon"
+msgstr "Abilita addon Geonames"
 
 #: geonames.php:187
 msgid "Submit"
index 8ecc98c2208454c8f71aac62aa1470eaff1453b2..c50e83455bd087f31f74b852d09cae8253723c5b 100644 (file)
@@ -7,5 +7,5 @@ function string_plural_select_it($n){
 ;
 $a->strings["Geonames settings updated."] = "Impostazioni di Geonames aggiornate.";
 $a->strings["Geonames Settings"] = "Impostazioni Geonames";
-$a->strings["Enable Geonames Plugin"] = "Abilita plugin Geonames";
+$a->strings["Enable Geonames Addon"] = "Abilita addon Geonames";
 $a->strings["Submit"] = "Invia";
index b3fea872a3924a5a1bff6c179510f917176f1d1d..4a7b5f09f60c66a445b9ee2171a51ca9655d8f8f 100644 (file)
@@ -2,5 +2,5 @@
 \r
 $a->strings["Geonames settings updated."] = "";\r
 $a->strings["Geonames Settings"] = "";\r
-$a->strings["Enable Geonames Plugin"] = "";\r
+$a->strings["Enable Geonames Addon"] = "";\r
 $a->strings["Submit"] = "Lagre";\r
index ff15d74fe7b65890e9c4f2c0802988f09e0530af..08a3633c6d40a96a3e28755f128709e0c8e442bf 100644 (file)
@@ -2,5 +2,5 @@
 \r
 $a->strings["Geonames settings updated."] = "";\r
 $a->strings["Geonames Settings"] = "ustawienia Geonames";\r
-$a->strings["Enable Geonames Plugin"] = "";\r
+$a->strings["Enable Geonames Addon"] = "";\r
 $a->strings["Submit"] = "Potwierdź";\r
index c0cf0b5381205f5a2c3ecded8d34e53cd6cfd2c3..d302d1fe3111ff69aba5991ca206c31ed2576801 100644 (file)
@@ -2,5 +2,5 @@
 \r
 $a->strings["Geonames settings updated."] = "Configurações Geonames atualizadas.";\r
 $a->strings["Geonames Settings"] = "Configurações Geonames";\r
-$a->strings["Enable Geonames Plugin"] = "Plugin Geonames Habilitado";\r
+$a->strings["Enable Geonames Addon"] = "Addon Geonames Habilitado";\r
 $a->strings["Submit"] = "Enviar";\r
index 673f4fdfdb5e7228241c716278013d54d1a93e67..973c9446f21a1d695f125f9e935a3fc49f42b98d 100644 (file)
@@ -28,7 +28,7 @@ msgid "Geonames Settings"
 msgstr "Configurări Geonume"
 
 #: geonames.php:181
-msgid "Enable Geonames Plugin"
+msgid "Enable Geonames Addon"
 msgstr "Permite Modul Geonume"
 
 #: geonames.php:187
index 6b25f12f31286d092ee77f8dd9e54a2580c1e359..b625855271f04527396763f1c8b93eaaf6f136fe 100644 (file)
@@ -7,5 +7,5 @@ function string_plural_select_ro($n){
 ;
 $a->strings["Geonames settings updated."] = "Configurări Geonume actualizate.";
 $a->strings["Geonames Settings"] = "Configurări Geonume";
-$a->strings["Enable Geonames Plugin"] = "Permite Modul Geonume";
+$a->strings["Enable Geonames Addon"] = "Permite Modul Geonume";
 $a->strings["Submit"] = "Trimite";
index d8deda8c1da7efdac26108290bb690a51083a0d5..a639310bc7e26e5e2b932d80618fc19d4c391cdd 100644 (file)
@@ -28,7 +28,7 @@ msgid "Geonames Settings"
 msgstr "Настройки Geonames"
 
 #: geonames.php:181
-msgid "Enable Geonames Plugin"
+msgid "Enable Geonames Addon"
 msgstr "Включить плагин Geonames"
 
 #: geonames.php:187
index 2af0233ca63e5b28a2fd3bd3868c8f032db36a49..658dd72a866153f65bd81f33fdbc4178773ec5fd 100644 (file)
@@ -7,5 +7,5 @@ function string_plural_select_ru($n){
 ;
 $a->strings["Geonames settings updated."] = "Настройки Geonames обновлены.";
 $a->strings["Geonames Settings"] = "Настройки Geonames";
-$a->strings["Enable Geonames Plugin"] = "Включить плагин Geonames";
+$a->strings["Enable Geonames Addon"] = "Включить плагин Geonames";
 $a->strings["Submit"] = "Добавить";
index 2f72f8c00962215be24bce4620eae244c885d11e..89e3fd943f67286bc1885915e88e855df668e193 100644 (file)
@@ -2,5 +2,5 @@
 \r
 $a->strings["Geonames settings updated."] = "Geonames设置更新了。";\r
 $a->strings["Geonames Settings"] = "Geonames设置";\r
-$a->strings["Enable Geonames Plugin"] = "使Geonames插件能用";\r
+$a->strings["Enable Geonames Addon"] = "使Geonames插件能用";\r
 $a->strings["Submit"] = "提交";\r
index 86f2268c1a109c554e66126ae22df325c5e53789..230d2364b1d75e5192b8457b13d3bf43202482dd 100644 (file)
@@ -32,7 +32,7 @@ msgid ""
 msgstr ""
 
 #: gnot.php:82
-msgid "Enable this plugin/addon?"
+msgid "Enable this addon?"
 msgstr ""
 
 #: gnot.php:88
index 809a152df1bd47fd075140071e9a40d3203866f6..e65ec9365d552dddf3068fd11076e31bfdeb4d7e 100644 (file)
@@ -3,6 +3,6 @@
 $a->strings["Gnot settings updated."] = "Configuració de Gnot actualitzada";\r
 $a->strings["Gnot Settings"] = "Configuració de Gnot";\r
 $a->strings["Allows threading of email comment notifications on Gmail and anonymising the subject line."] = "Permet crear fils de les notificacions de comentaris de correu electrònic a Gmail i anonimat de la línia d'assumpte.";\r
-$a->strings["Enable this plugin/addon?"] = "Activar aquest plugin/aplicació?";\r
+$a->strings["Enable this addon?"] = "Activar aquest addon/aplicació?";\r
 $a->strings["Submit"] = "Enviar";\r
 $a->strings["[Friendica:Notify] Comment to conversation #%d"] = "[Friendica: Notifica] Conversació comentada #%d";\r
index 3db9fa475457d0cbc34f2962843a7c4a5dac853e..1f9f4244a2e40a801774f6689ef62e2669acc8b4 100644 (file)
@@ -34,8 +34,8 @@ msgid ""
 msgstr "Umožnit řetězení emailových komentářových notifikací na Gmailu a anonymizací řádky předmětu."
 
 #: gnot.php:82
-msgid "Enable this plugin/addon?"
-msgstr "Povolit tento plugin/rozšíření?"
+msgid "Enable this addon?"
+msgstr "Povolit tento addon/rozšíření?"
 
 #: gnot.php:88
 msgid "Submit"
index 596817d1e18e99aad9505994986f5f9816dc8a33..90648e5e57a41f062b7307dc0555dca4c675b205 100644 (file)
@@ -8,6 +8,6 @@ function string_plural_select_cs($n){
 $a->strings["Gnot settings updated."] = "Nastavení Gnot aktualizováno.";
 $a->strings["Gnot Settings"] = "Nastavení Gnot";
 $a->strings["Allows threading of email comment notifications on Gmail and anonymising the subject line."] = "Umožnit řetězení emailových komentářových notifikací na Gmailu a anonymizací řádky předmětu.";
-$a->strings["Enable this plugin/addon?"] = "Povolit tento plugin/rozšíření?";
+$a->strings["Enable this addon?"] = "Povolit tento addon/rozšíření?";
 $a->strings["Submit"] = "Odeslat";
 $a->strings["[Friendica:Notify] Comment to conversation #%d"] = "[Friendica:Upozornění] Komentář ke konverzaci #%d";
index 3a72154d0944c15205b097f8924af0c7e3e87ffa..747f1853e2c76713c422db6f709da34d794b1029 100644 (file)
@@ -35,8 +35,8 @@ msgid ""
 msgstr "Erlaubt das Veröffentlichen von E-Mail Kommentar Benachrichtigungen bei Gmail mit anonymisiertem Betreff"
 
 #: gnot.php:82
-msgid "Enable this plugin/addon?"
-msgstr "Dieses Plugin/Addon aktivieren?"
+msgid "Enable this addon?"
+msgstr "Dieses Addon aktivieren?"
 
 #: gnot.php:88
 msgid "Submit"
index 03832f71a3ee75e9e613e55997efbd9ae9e07e52..b798a21b94c803b670d02d8e454da3639875b64c 100644 (file)
@@ -8,6 +8,6 @@ function string_plural_select_de($n){
 $a->strings["Gnot settings updated."] = "Gnot Einstellungen aktualisiert.";
 $a->strings["Gnot Settings"] = "Gnot Einstellungen";
 $a->strings["Allows threading of email comment notifications on Gmail and anonymising the subject line."] = "Erlaubt das Veröffentlichen von E-Mail Kommentar Benachrichtigungen bei Gmail mit anonymisiertem Betreff";
-$a->strings["Enable this plugin/addon?"] = "Dieses Plugin/Addon aktivieren?";
+$a->strings["Enable this addon?"] = "Dieses Addon aktivieren?";
 $a->strings["Submit"] = "Senden";
 $a->strings["[Friendica:Notify] Comment to conversation #%d"] = "[Friendica-Benachrichtigung] Kommentar zum Beitrag #%d";
index 89379e9aac995fbf4f57e1caee621b056559e283..cfd3c53cc8588d03ceb44d8747cdde5ef037b3ef 100644 (file)
@@ -3,6 +3,6 @@
 $a->strings["Gnot settings updated."] = "Ĝisdatigis Gnot agordojn.";\r
 $a->strings["Gnot Settings"] = "Agordoj por Gnot";\r
 $a->strings["Allows threading of email comment notifications on Gmail and anonymising the subject line."] = "Permesas la ĉenadon de retpoŝtaj atentigoj pri komentoj ĉe Gmail kan anonimigado de la temlinio.";\r
-$a->strings["Enable this plugin/addon?"] = "Ŝalti tiun kromprogramon?";\r
+$a->strings["Enable this addon?"] = "Ŝalti tiun kromprogramon?";\r
 $a->strings["Submit"] = "Sendi";\r
 $a->strings["[Friendica:Notify] Comment to conversation #%d"] = "[Friendica:Atentigo] Komento pri konversacio #%d";\r
index b96abe64275232c1963f1162043df0ae39558d1d..6e4b85690b234ddbbbe033c5afd02eaab060f6d5 100644 (file)
@@ -34,8 +34,8 @@ msgid ""
 msgstr "Permite limpiar las notificaciones de comentario de email en Gmail y anonimizar la línea del tema."
 
 #: gnot.php:82
-msgid "Enable this plugin/addon?"
-msgstr "¿Habilitar este plugin/addon?"
+msgid "Enable this addon?"
+msgstr "¿Habilitar este addon?"
 
 #: gnot.php:88
 msgid "Submit"
index 1f114cdb97c3f4a4da86c3c1ad873a1ec4a200bb..2f9e7a8d4c23908c835eb31df29780db179c9ce3 100644 (file)
@@ -8,6 +8,6 @@ function string_plural_select_es($n){
 $a->strings["Gnot settings updated."] = "Ajustes de Gnot actualizados.";
 $a->strings["Gnot Settings"] = "Ajustes de Gnot";
 $a->strings["Allows threading of email comment notifications on Gmail and anonymising the subject line."] = "Permite limpiar las notificaciones de comentario de email en Gmail y anonimizar la línea del tema.";
-$a->strings["Enable this plugin/addon?"] = "¿Habilitar este plugin/addon?";
+$a->strings["Enable this addon?"] = "¿Habilitar este addon?";
 $a->strings["Submit"] = "Enviar";
 $a->strings["[Friendica:Notify] Comment to conversation #%d"] = "[Friendica:Notify] Comentar en conversación #%d";
index 7018f6c3fe343e67ce64d80493fad19f7f52f682..32caf46bae67f1e00cd7034f543b64092bf392bc 100644 (file)
@@ -3,6 +3,6 @@
 $a->strings["Gnot settings updated."] = "Réglages Gnot sauvés.";\r
 $a->strings["Gnot Settings"] = "Réglages Gnot";\r
 $a->strings["Allows threading of email comment notifications on Gmail and anonymising the subject line."] = "Autorise l'arborescence des notifications de commentaires sur GMail, et rend la ligne 'Sujet' anonyme.";\r
-$a->strings["Enable this plugin/addon?"] = "Activer cette extension?";\r
+$a->strings["Enable this addon?"] = "Activer cette extension?";\r
 $a->strings["Submit"] = "Envoyer";\r
 $a->strings["[Friendica:Notify] Comment to conversation #%d"] = "[Friendica:Notification] Commentaire sur la conversation #%d";\r
index c75a1c42c66bf508596a19bf566f0f2ffa156c2b..ae183568a91b6c748baf1f26f1d411c5736b8f21 100644 (file)
@@ -3,6 +3,6 @@
 $a->strings["Gnot settings updated."] = "";\r
 $a->strings["Gnot Settings"] = "";\r
 $a->strings["Allows threading of email comment notifications on Gmail and anonymising the subject line."] = "";\r
-$a->strings["Enable this plugin/addon?"] = "";\r
+$a->strings["Enable this addon?"] = "";\r
 $a->strings["Submit"] = "Senda inn";\r
 $a->strings["[Friendica:Notify] Comment to conversation #%d"] = "";\r
index 45649f78d0e339b253c1ee5990f057242c130b94..e8ea90055b1bd8cde3b9697781715b1e974e5f4d 100644 (file)
@@ -34,8 +34,8 @@ msgid ""
 msgstr "Permetti di raggruppare le notifiche dei commenti in thread su Gmail e anonimizza l'oggetto"
 
 #: gnot.php:82
-msgid "Enable this plugin/addon?"
-msgstr "Abilita questo plugin?"
+msgid "Enable this addon?"
+msgstr "Abilita questo addon?"
 
 #: gnot.php:88
 msgid "Submit"
index 0c8ef482c4521e4ce988b7788f0f580401223df0..78c368cacbbfe2a6efd48d38dbd8cb489fcf9cd7 100644 (file)
@@ -8,6 +8,6 @@ function string_plural_select_it($n){
 $a->strings["Gnot settings updated."] = "Impostazioni di \"Gnot\" aggiornate.";
 $a->strings["Gnot Settings"] = "Impostazioni Gnot";
 $a->strings["Allows threading of email comment notifications on Gmail and anonymising the subject line."] = "Permetti di raggruppare le notifiche dei commenti in thread su Gmail e anonimizza l'oggetto";
-$a->strings["Enable this plugin/addon?"] = "Abilita questo plugin?";
+$a->strings["Enable this addon?"] = "Abilita questo addon?";
 $a->strings["Submit"] = "Invia";
 $a->strings["[Friendica:Notify] Comment to conversation #%d"] = "[Friendica:Notifica] Commento alla conversazione n° %d";
index d53d82969fda6b87c6bb64b0e1ed8c86c4955e62..4d260d6bb7658bb9966a642c24534edaeb094314 100644 (file)
@@ -3,6 +3,6 @@
 $a->strings["Gnot settings updated."] = "";\r
 $a->strings["Gnot Settings"] = "";\r
 $a->strings["Allows threading of email comment notifications on Gmail and anonymising the subject line."] = "";\r
-$a->strings["Enable this plugin/addon?"] = "";\r
+$a->strings["Enable this addon?"] = "";\r
 $a->strings["Submit"] = "Lagre";\r
 $a->strings["[Friendica:Notify] Comment to conversation #%d"] = "";\r
index 64d9ef8b37c0b17e3477c23d8febef3ed56396e1..fb58666ef0b6ffad74665bab6804880ad11e3269 100644 (file)
@@ -3,6 +3,6 @@
 $a->strings["Gnot settings updated."] = "";\r
 $a->strings["Gnot Settings"] = "";\r
 $a->strings["Allows threading of email comment notifications on Gmail and anonymising the subject line."] = "";\r
-$a->strings["Enable this plugin/addon?"] = "Umożliwić tego plugina/wtyczkę?";\r
+$a->strings["Enable this addon?"] = "Umożliwić tego addona/wtyczkę?";\r
 $a->strings["Submit"] = "Potwierdź";\r
 $a->strings["[Friendica:Notify] Comment to conversation #%d"] = "";\r
index 5a0791546b4954f2c1347d2eba0e8ce2b265020c..92c97c4b3388e373a68b04d13b2352eb43fb78fc 100644 (file)
@@ -3,6 +3,6 @@
 $a->strings["Gnot settings updated."] = "As configurações do Gnot foram atualizadas.";\r
 $a->strings["Gnot Settings"] = "Configurações do Gnot";\r
 $a->strings["Allows threading of email comment notifications on Gmail and anonymising the subject line."] = "Permite o encadeamento das notificações por e-mail de comentário no GMail, tornando a a linha de assunto anônima.";\r
-$a->strings["Enable this plugin/addon?"] = "Habilitar este plugin/complemento?";\r
+$a->strings["Enable this addon?"] = "Habilitar este addon/complemento?";\r
 $a->strings["Submit"] = "Enviar";\r
 $a->strings["[Friendica:Notify] Comment to conversation #%d"] = "[Friendica:Notify] Comentário na conversa #%d";\r
index 807f2977bed09d4dac45f80a332835f7481064c8..34de34f8eaa97b4d3d838c5a23388911ae78fbf9 100644 (file)
@@ -34,7 +34,7 @@ msgid ""
 msgstr "Permite înlănțuirea notificărilor prin email a comentariilor, în Gmail și anonimizarea  subiectului."
 
 #: gnot.php:82
-msgid "Enable this plugin/addon?"
+msgid "Enable this addon?"
 msgstr "Activați acest modul/supliment?"
 
 #: gnot.php:88
index 764be84e0510314f1062c437631a2603a994cad1..a3641f4e5e5b67d6f3cfca97b0e0314104069e13 100644 (file)
@@ -8,6 +8,6 @@ function string_plural_select_ro($n){
 $a->strings["Gnot settings updated."] = "Configurările Gnot au fost actualizate.";
 $a->strings["Gnot Settings"] = "Configurări Gnot";
 $a->strings["Allows threading of email comment notifications on Gmail and anonymising the subject line."] = "Permite înlănțuirea notificărilor prin email a comentariilor, în Gmail și anonimizarea  subiectului.";
-$a->strings["Enable this plugin/addon?"] = "Activați acest modul/supliment?";
+$a->strings["Enable this addon?"] = "Activați acest modul/supliment?";
 $a->strings["Submit"] = "Trimite";
 $a->strings["[Friendica:Notify] Comment to conversation #%d"] = "[Friendica:Notificare] Comentariu la conversația # %d";
index ff2dc4601c69f79d7c6c4bfccc765d98a761c27f..9e63af41925d24bca44e62b1b1416969b28c82df 100644 (file)
@@ -34,7 +34,7 @@ msgid ""
 msgstr "Разрешить нитевание уведомлений о комментариях на Gmail и анонимизировать поле \"Тема\"."
 
 #: gnot.php:82
-msgid "Enable this plugin/addon?"
+msgid "Enable this addon?"
 msgstr "Включить этот плагин/аддон?"
 
 #: gnot.php:88
index 45510f700792a36ff205f46abaea59146bd44ede..53d6583b2d6ebd9c21f51a3287b6ccd410f1f2be 100644 (file)
@@ -8,6 +8,6 @@ function string_plural_select_ru($n){
 $a->strings["Gnot settings updated."] = "Настройки Gnot обновлены.";
 $a->strings["Gnot Settings"] = "Настройки Gnot";
 $a->strings["Allows threading of email comment notifications on Gmail and anonymising the subject line."] = "Разрешить нитевание уведомлений о комментариях на Gmail и анонимизировать поле \"Тема\".";
-$a->strings["Enable this plugin/addon?"] = "Включить этот плагин/аддон?";
+$a->strings["Enable this addon?"] = "Включить этот плагин/аддон?";
 $a->strings["Submit"] = "Добавить";
 $a->strings["[Friendica:Notify] Comment to conversation #%d"] = "[Friendica:Notify] Комментарий в теме #%d";
index ddb0d85da5877695fb6e05815d6452e4d6b4b396..3f7ba8f911473b2ac1219134cf6dba812ed890aa 100644 (file)
@@ -3,6 +3,6 @@
 $a->strings["Gnot settings updated."] = "Gnot设置更新了。";\r
 $a->strings["Gnot Settings"] = "Gnot设置";\r
 $a->strings["Allows threading of email comment notifications on Gmail and anonymising the subject line."] = "允许邮件评论通知在Gmail和匿名话题行。";\r
-$a->strings["Enable this plugin/addon?"] = "使这个插件/加件可用?";\r
+$a->strings["Enable this addon?"] = "使这个插件/加件可用?";\r
 $a->strings["Submit"] = "提交";\r
 $a->strings["[Friendica:Notify] Comment to conversation #%d"] = "[Friendica:Notify]评论在交流#%d";\r
index ff209b0e008c7959d1702b01aceb4efdd75129b7..0145570b79506277e612bae0726a207f3695ffe4 100644 (file)
@@ -1,4 +1,4 @@
-# Gravatar Plugin
+# Gravatar Addon
 by [Klaus Weidenbach](http://friendica.dszdw.net/profile/klaus)
 
 This addon allows you to look up an avatar image for new users and contacts at [Gravatar](http://www.gravatar.com). This will be used if there have not been found any other avatar images yet for example through OpenID.
index 16c14a79126a479e6d86d63d5ee3664f6302b202..6df040fe865181c6ad2b085c0d4d68bb6fac718d 100644 (file)
@@ -75,7 +75,7 @@ function ijpost_settings(&$a,&$s) {
     $s .= '</span>';
 
     $s .= '<div id="ijpost-enable-wrapper">';
-    $s .= '<label id="ijpost-enable-label" for="ijpost-checkbox">' . t('Enable InsaneJournal Post Plugin') . '</label>';
+    $s .= '<label id="ijpost-enable-label" for="ijpost-checkbox">' . t('Enable InsaneJournal Post Addon') . '</label>';
     $s .= '<input id="ijpost-checkbox" type="checkbox" name="ijpost" value="1" ' . $checked . '/>';
     $s .= '</div><div class="clear"></div>';
 
index 4f62c23aeff969d0d080978a8adacb1c790dad25..33e9c31aa4cf6d5d3169a3d89ebb32c2f92b10a0 100644 (file)
@@ -26,7 +26,7 @@ msgid "InsaneJournal Post Settings"
 msgstr ""
 
 #: ijpost.php:72
-msgid "Enable InsaneJournal Post Plugin"
+msgid "Enable InsaneJournal Post Addon"
 msgstr ""
 
 #: ijpost.php:77
index b5382615171ba2df2b440f1da324afced80a64a7..a1f796d6fc73c283a62cbb7edad379e539bb6c73 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Insanejournal"] = "Enviament a Insanejournal";\r
 $a->strings["InsaneJournal Post Settings"] = "Ajustos d'Enviament a Insanejournal";\r
-$a->strings["Enable InsaneJournal Post Plugin"] = "Habilita el Plugin d'Enviaments a Insanejournal";\r
+$a->strings["Enable InsaneJournal Post Addon"] = "Habilita el Addon d'Enviaments a Insanejournal";\r
 $a->strings["InsaneJournal username"] = "Nom d'usuari de Insanejournal";\r
 $a->strings["InsaneJournal password"] = "Contrasenya de Insanejournal";\r
 $a->strings["Post to InsaneJournal by default"] = "Enviar per defecte a Insanejournal";\r
index 491112fb6ec51b5f3f143e86ad4df990d5b4e0e6..dd273de413a667030361e5763e9cba8bf052155d 100644 (file)
@@ -28,8 +28,8 @@ msgid "InsaneJournal Post Settings"
 msgstr "Nastavení příspěvků pro InsaneJournal"
 
 #: ijpost.php:72
-msgid "Enable InsaneJournal Post Plugin"
-msgstr "Povolit Insanejournal plugin"
+msgid "Enable InsaneJournal Post Addon"
+msgstr "Povolit Insanejournal addon"
 
 #: ijpost.php:77
 msgid "InsaneJournal username"
index 157e6a8e7137c4d4b2fd04c6e3abfc18072bacfc..4f4fec3665d6bbe5f17fe7ba0ce2a01373a2028c 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_cs($n){
 ;
 $a->strings["Post to Insanejournal"] = "Odeslat na Insanejournal";
 $a->strings["InsaneJournal Post Settings"] = "Nastavení příspěvků pro InsaneJournal";
-$a->strings["Enable InsaneJournal Post Plugin"] = "Povolit Insanejournal plugin";
+$a->strings["Enable InsaneJournal Post Addon"] = "Povolit Insanejournal addon";
 $a->strings["InsaneJournal username"] = "Insanejournal uživatelské jméno";
 $a->strings["InsaneJournal password"] = "Insanejournal heslo";
 $a->strings["Post to InsaneJournal by default"] = "Defaultně zasílat  příspěvky na InsaneJournal";
index 6d3897ebee45f7218efea3ed66d683a4714e3759..35101521d9e99590b9caeb5140368801934ddbfa 100644 (file)
@@ -29,8 +29,8 @@ msgid "InsaneJournal Post Settings"
 msgstr "InsaneJournal Beitrags-Einstellungen"
 
 #: ijpost.php:72
-msgid "Enable InsaneJournal Post Plugin"
-msgstr "InsaneJournal Plugin aktivieren"
+msgid "Enable InsaneJournal Post Addon"
+msgstr "InsaneJournal Addon aktivieren"
 
 #: ijpost.php:77
 msgid "InsaneJournal username"
index e256daecba1f9145e1adeb78f84c88538c0509f8..3b8dbb6d8a099fee08dcd30fc08b635c96626c1d 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_de($n){
 ;
 $a->strings["Post to Insanejournal"] = "Auf InsaneJournal posten.";
 $a->strings["InsaneJournal Post Settings"] = "InsaneJournal Beitrags-Einstellungen";
-$a->strings["Enable InsaneJournal Post Plugin"] = "InsaneJournal Plugin aktivieren";
+$a->strings["Enable InsaneJournal Post Addon"] = "InsaneJournal Addon aktivieren";
 $a->strings["InsaneJournal username"] = "InsaneJournal Benutzername";
 $a->strings["InsaneJournal password"] = "InsaneJournal Passwort";
 $a->strings["Post to InsaneJournal by default"] = "Standardmäßig auf InsaneJournal posten.";
index 116988871c2b73f50b3b98f9d578954901e89c25..bab5fc08b1ece01b82bbdf8c46907adbb578ed4d 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Insanejournal"] = "Afiŝi al Insanejournal";\r
 $a->strings["InsaneJournal Post Settings"] = "Agordoj pri Insaenejournal Afiŝoj";\r
-$a->strings["Enable InsaneJournal Post Plugin"] = "Ŝalti la InsaneJournal afiŝo kromprogramon.";\r
+$a->strings["Enable InsaneJournal Post Addon"] = "Ŝalti la InsaneJournal afiŝo kromprogramon.";\r
 $a->strings["InsaneJournal username"] = "Salutnomo ĉe InsaneJournal";\r
 $a->strings["InsaneJournal password"] = "Pasvorto ĉe InsaneJournal";\r
 $a->strings["Post to InsaneJournal by default"] = "Defaŭlte afiŝi ĉe InsaneJournal";\r
index c4d5c06bfa44aa43aa975c074e6683ee2292c0c1..7aa4e1a8cf42c3977cc93e6f69deeffe87eaac8d 100644 (file)
@@ -28,8 +28,8 @@ msgid "InsaneJournal Post Settings"
 msgstr "Ajustes de Entrada de InsaneJournal"
 
 #: ijpost.php:72
-msgid "Enable InsaneJournal Post Plugin"
-msgstr "Habilitar el Plugin de Entrada InsaneJournal"
+msgid "Enable InsaneJournal Post Addon"
+msgstr "Habilitar el Addon de Entrada InsaneJournal"
 
 #: ijpost.php:77
 msgid "InsaneJournal username"
index db51f3722ffa50544caf8d3a01be90005c42acb9..76c9e5f94d1860f6669caa1200fe9d62834cec42 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_es($n){
 ;
 $a->strings["Post to Insanejournal"] = "Publicar en Insanejournal";
 $a->strings["InsaneJournal Post Settings"] = "Ajustes de Entrada de InsaneJournal";
-$a->strings["Enable InsaneJournal Post Plugin"] = "Habilitar el Plugin de Entrada InsaneJournal";
+$a->strings["Enable InsaneJournal Post Addon"] = "Habilitar el Addon de Entrada InsaneJournal";
 $a->strings["InsaneJournal username"] = "Nombre de usuario InsaneJournal";
 $a->strings["InsaneJournal password"] = "Contraseña de InsaneJournal";
 $a->strings["Post to InsaneJournal by default"] = "Publicar en InsaneJournal por defecto";
index 7db58ccf9f82850eeb0e79863a6e2c5e11724fc1..398e3c623564d8a784d1c5ac602274643f3c1f14 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Insanejournal"] = "Publier vers InsaneJournal";\r
 $a->strings["InsaneJournal Post Settings"] = "Réglages InsaneJournal";\r
-$a->strings["Enable InsaneJournal Post Plugin"] = "Activer le connecteur InsaneJournal";\r
+$a->strings["Enable InsaneJournal Post Addon"] = "Activer le connecteur InsaneJournal";\r
 $a->strings["InsaneJournal username"] = "Utilisateur InsaneJournal";\r
 $a->strings["InsaneJournal password"] = "Mot de passe InsaneJournal";\r
 $a->strings["Post to InsaneJournal by default"] = "Publier sur InsaneJournal par défaut";\r
index b79f347ef622e2aca0589e4c85f67400af2a9bf0..3dffb3207e99db47af4dc175d5444fedd4d402cb 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Insanejournal"] = "";\r
 $a->strings["InsaneJournal Post Settings"] = "";\r
-$a->strings["Enable InsaneJournal Post Plugin"] = "";\r
+$a->strings["Enable InsaneJournal Post Addon"] = "";\r
 $a->strings["InsaneJournal username"] = "";\r
 $a->strings["InsaneJournal password"] = "";\r
 $a->strings["Post to InsaneJournal by default"] = "";\r
index aba0684679069d4283e238b31dd7d58f25a29195..79578b34b1fc25b91270dfcf3c94f03402b21ca0 100644 (file)
@@ -28,8 +28,8 @@ msgid "InsaneJournal Post Settings"
 msgstr "Impostazioni post InsaneJournal"
 
 #: ijpost.php:72
-msgid "Enable InsaneJournal Post Plugin"
-msgstr "Abilita il plugin di invio a InsaneJournal"
+msgid "Enable InsaneJournal Post Addon"
+msgstr "Abilita iladdondi invio a InsaneJournal"
 
 #: ijpost.php:77
 msgid "InsaneJournal username"
index 73e8bed467fc235554dbb70a3e0eadc1d541e8d2..2f26bb932b462c47d671fe8720c5463489b97591 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_it($n){
 ;
 $a->strings["Post to Insanejournal"] = "Invia a InsaneJournal";
 $a->strings["InsaneJournal Post Settings"] = "Impostazioni post InsaneJournal";
-$a->strings["Enable InsaneJournal Post Plugin"] = "Abilita il plugin di invio a InsaneJournal";
+$a->strings["Enable InsaneJournal Post Addon"] = "Abilita il addon di invio a InsaneJournal";
 $a->strings["InsaneJournal username"] = "Nome utente InsaneJournal";
 $a->strings["InsaneJournal password"] = "Password InsaneJournal";
 $a->strings["Post to InsaneJournal by default"] = "Invia sempre a InsaneJournal";
index 2eaa62e358fb90287aeb1314ea7dbb1d00a69756..4b616bcd88f869c356b750d6233ec19d8ddef93b 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Insanejournal"] = "";\r
 $a->strings["InsaneJournal Post Settings"] = "";\r
-$a->strings["Enable InsaneJournal Post Plugin"] = "";\r
+$a->strings["Enable InsaneJournal Post Addon"] = "";\r
 $a->strings["InsaneJournal username"] = "";\r
 $a->strings["InsaneJournal password"] = "";\r
 $a->strings["Post to InsaneJournal by default"] = "";\r
index 5b6ec6743eec412fc28c0c2dd6e131dbe39b0a14..e3f180595b63326ca81ee19b011d87af4152e3ee 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Insanejournal"] = "Opublikuj na Insanejournal";\r
 $a->strings["InsaneJournal Post Settings"] = "";\r
-$a->strings["Enable InsaneJournal Post Plugin"] = "";\r
+$a->strings["Enable InsaneJournal Post Addon"] = "";\r
 $a->strings["InsaneJournal username"] = "";\r
 $a->strings["InsaneJournal password"] = "";\r
 $a->strings["Post to InsaneJournal by default"] = "";\r
index 40f4f6dfecbd15fe461c8c2bc31aa426e2228e07..b3f799bd8b8185c55d16e1885f7a8350f5556dc1 100644 (file)
@@ -28,7 +28,7 @@ msgid "InsaneJournal Post Settings"
 msgstr "Configurações de publicação no InsaneJournal"
 
 #: ijpost.php:72
-msgid "Enable InsaneJournal Post Plugin"
+msgid "Enable InsaneJournal Post Addon"
 msgstr "Habilitar plug-in para publicar no InsaneJournal"
 
 #: ijpost.php:77
index b48f4dececfec564b1484f4fb24a71853939710d..fbc1f2840c6bff8ea0bbdf40890d8655694a0680 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_pt_br($n){
 ;
 $a->strings["Post to Insanejournal"] = "Publicar no Insanejournal";
 $a->strings["InsaneJournal Post Settings"] = "Configurações de publicação no InsaneJournal";
-$a->strings["Enable InsaneJournal Post Plugin"] = "Habilitar plug-in para publicar no InsaneJournal";
+$a->strings["Enable InsaneJournal Post Addon"] = "Habilitar plug-in para publicar no InsaneJournal";
 $a->strings["InsaneJournal username"] = "Nome de usuário no InsaneJournal";
 $a->strings["InsaneJournal password"] = "Senha do InsaneJournal";
 $a->strings["Post to InsaneJournal by default"] = "Publicar no InsaneJournal por padrão";
index 5743743a39f931635c254f4353009d82b1cfef81..c37bed7ea0061d5fc0c0a9a0bc61dcdfd9ff7e92 100644 (file)
@@ -28,7 +28,7 @@ msgid "InsaneJournal Post Settings"
 msgstr "Configurări Postări Insaneournal"
 
 #: ijpost.php:72
-msgid "Enable InsaneJournal Post Plugin"
+msgid "Enable InsaneJournal Post Addon"
 msgstr "Activare Modul Postare InsaneJournal"
 
 #: ijpost.php:77
index a42334608bb2d9b08dee194f6d643f336c29ee74..35d64ea6c00f4e9cc6e907a6f0dcf3edf0295622 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_ro($n){
 ;
 $a->strings["Post to Insanejournal"] = "Postare pe Insanejournal";
 $a->strings["InsaneJournal Post Settings"] = "Configurări Postări Insaneournal";
-$a->strings["Enable InsaneJournal Post Plugin"] = "Activare Modul Postare InsaneJournal";
+$a->strings["Enable InsaneJournal Post Addon"] = "Activare Modul Postare InsaneJournal";
 $a->strings["InsaneJournal username"] = "Utilizator InsaneJournal ";
 $a->strings["InsaneJournal password"] = "Parolă InsaneJournal ";
 $a->strings["Post to InsaneJournal by default"] = "Postați implicit pe InsaneJournal ";
index 0109f8a60e33f133d663c63ee270fcf86b11bc01..dc869896c0f9ca53e16e2f3b73a51cd66a561641 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Insanejournal"] = "";\r
 $a->strings["InsaneJournal Post Settings"] = "";\r
-$a->strings["Enable InsaneJournal Post Plugin"] = "Включить InsaneJournal  плагин сообщений";\r
+$a->strings["Enable InsaneJournal Post Addon"] = "Включить InsaneJournal  плагин сообщений";\r
 $a->strings["InsaneJournal username"] = "";\r
 $a->strings["InsaneJournal password"] = "";\r
 $a->strings["Post to InsaneJournal by default"] = "";\r
index f2a047123502d1c26b52ca77c47b30bbafa6cc5d..273451d76c64ceeef446fda4b4f2fc77527b3890 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Insanejournal"] = "转播到Insanejournal";\r
 $a->strings["InsaneJournal Post Settings"] = "Insanejournal转播设置";\r
-$a->strings["Enable InsaneJournal Post Plugin"] = "使InsaneJournal转播插件可用";\r
+$a->strings["Enable InsaneJournal Post Addon"] = "使InsaneJournal转播插件可用";\r
 $a->strings["InsaneJournal username"] = "InsaneJournal用户名";\r
 $a->strings["InsaneJournal password"] = "InsaneJournal密码";\r
 $a->strings["Post to InsaneJournal by default"] = "默认地转播到InsaneJournal";\r
index cf420ba10d0df2eacaec39fe6a89d7b9c6f62a10..963a085e2d6b419e6b614465d203dc53422b4f48 100644 (file)
@@ -1,4 +1,4 @@
-Impressum Plugin for Friendica
+Impressum Addon for Friendica
 ==============================
 
 * Author: Tobias Diekershoff
@@ -7,7 +7,7 @@ Impressum Plugin for Friendica
 
 About
 -----
-This plugin adds an Impressum (contact) block to the /friendica page with 
+This addon adds an Impressum (contact) block to the /friendica page with 
 informations about the page operator/owner and how to contact you in case of
 any questions.
 
@@ -16,7 +16,7 @@ normal friendica postings..
 
 Configuration
 -------------
-Simply fill in the fields in the impressium settings page in the plugins 
+Simply fill in the fields in the impressium settings page in the addons 
 area of your admin panel. For email adresses the "@" symbol will be obfuscated
 in the source of the page to make in harder for harvesting tools.
 
index 1a73058ae38710baf46874e06624a18245b0233f..11d4a512886b3535bfbaee4ab672cdfbae7b6478 100644 (file)
@@ -41,7 +41,7 @@ msgid ""
 "The impressum addon needs to be configured!<br />Please add at least the "
 "<tt>owner</tt> variable to your config file. For other variables please "
 "refer to the README file of the addon."
-msgstr "Das Impressums-Plugin muss noch konfiguriert werden.<br />Bitte gebe mindestens den <tt>Betreiber</tt> in der Konfiguration an. Alle weiteren Parameter werden in der README-Datei des Addons erläutert."
+msgstr "Das Impressums-Addon muss noch konfiguriert werden.<br />Bitte gebe mindestens den <tt>Betreiber</tt> in der Konfiguration an. Alle weiteren Parameter werden in der README-Datei des Addons erläutert."
 
 #: impressum.php:78
 msgid "Settings updated."
index 66acf0973c85bc02153b9d3b75bf5ebb2617a714..0cf1a4aeaafec6cf3836952858b023df3c43677a 100644 (file)
@@ -9,7 +9,7 @@ $a->strings["Impressum"] = "Impressum";
 $a->strings["Site Owner"] = "Betreiber der Seite";
 $a->strings["Email Address"] = "Email Adresse";
 $a->strings["Postal Address"] = "Postalische Anschrift";
-$a->strings["The impressum addon needs to be configured!<br />Please add at least the <tt>owner</tt> variable to your config file. For other variables please refer to the README file of the addon."] = "Das Impressums-Plugin muss noch konfiguriert werden.<br />Bitte gebe mindestens den <tt>Betreiber</tt> in der Konfiguration an. Alle weiteren Parameter werden in der README-Datei des Addons erläutert.";
+$a->strings["The impressum addon needs to be configured!<br />Please add at least the <tt>owner</tt> variable to your config file. For other variables please refer to the README file of the addon."] = "Das Impressums-Addon muss noch konfiguriert werden.<br />Bitte gebe mindestens den <tt>Betreiber</tt> in der Konfiguration an. Alle weiteren Parameter werden in der README-Datei des Addons erläutert.";
 $a->strings["Settings updated."] = "Einstellungen aktualisiert.";
 $a->strings["Submit"] = "Senden";
 $a->strings["The page operators name."] = "Name des Server-Administrators";
index ae430ef41919b09023fef13b9897211ef8ff524c..5fafbbcaa6ecc9ae70e5ab3a240e447b8dabef17 100644 (file)
@@ -40,7 +40,7 @@ msgid ""
 "The impressum addon needs to be configured!<br />Please add at least the "
 "<tt>owner</tt> variable to your config file. For other variables please "
 "refer to the README file of the addon."
-msgstr "Il plugin Colophon deve essere configurato!<br>Aggiungi almeno il Proprietario del sito."
+msgstr "IladdonColophon deve essere configurato!<br>Aggiungi almeno il Proprietario del sito."
 
 #: impressum.php:78
 msgid "Settings updated."
index 25f3b1bea8cf108d3d1ae6c3e1208fa2002ab242..ce51610f915dbf05418876d5728efa7656f51418 100644 (file)
@@ -9,7 +9,7 @@ $a->strings["Impressum"] = "Colophon";
 $a->strings["Site Owner"] = "Proprietario del sito";
 $a->strings["Email Address"] = "Indirizzo email";
 $a->strings["Postal Address"] = "Indirizzo";
-$a->strings["The impressum addon needs to be configured!<br />Please add at least the <tt>owner</tt> variable to your config file. For other variables please refer to the README file of the addon."] = "Il plugin Colophon deve essere configurato!<br>Aggiungi almeno il Proprietario del sito.";
+$a->strings["The impressum addon needs to be configured!<br />Please add at least the <tt>owner</tt> variable to your config file. For other variables please refer to the README file of the addon."] = "Il addon Colophon deve essere configurato!<br>Aggiungi almeno il Proprietario del sito.";
 $a->strings["Settings updated."] = "Impostazioni aggiornate.";
 $a->strings["Submit"] = "Invia";
 $a->strings["The page operators name."] = "Nome del gestore della pagina.";
index f21649be7566669e65feef0283cb32aefd5c2414..0343d060b27deaf59667a486a98ee13df876ae1d 100644 (file)
@@ -1,10 +1,10 @@
-Jappix Mini Plugin
+Jappix Mini Addon
 ==================
 
 This quick-and-dirty addon allows you to add a Jabber-based, Facebook-like chat
 to Friendica. It uses Jappix Mini.
 
-It is necessary to use a BOSH host - so to use this plugin, each users need to
+It is necessary to use a BOSH host - so to use this addon, each users need to
 know the address of a BOSH host that works with his account. The BOSH server of
 the Jappix project (https://bind.jappix.com/) is not locked to a specific XMPP
 provider, but keep in mind that only personal usage is approved according to
index d4e3bf4c25475c53b3a18b4217ae2e43d69cc082..499d709f315a3b43c0ff138144930d3dbfebe5fa 100644 (file)
@@ -78,7 +78,7 @@ function serverAdHoc(server) {
        dataForm(server, 'command', '', '', 'adhoc');
 }
 
-// Plugin launcher
+// Addon launcher
 function launchAdHoc() {
        // Click event
        $('#adhoc .bottom .finish').click(closeAdHoc);
index 88eaa7dc3e1e46f8952238d86f6b513acebadf7f..af4ecb596307c50ad8deecddb55fb148d1b385a6 100644 (file)
@@ -110,7 +110,7 @@ function anonymousLogin(server) {
        }
 }
 
-// Plugin launcher
+// Addon launcher
 function launchAnonymous() {
        logThis('Anonymous mode detected, connecting...', 3);
        
@@ -127,5 +127,5 @@ function launchAnonymous() {
        anonymousLogin(HOST_ANONYMOUS);
 }
 
-// Launch this plugin!
+// Launch this addon!
 $(document).ready(launchAnonymous);
index 387a379fa3f2b528eae470a1db4bcfecd31ec9ae..e6a08029de0968057cfee57ecc7089040ab76408 100644 (file)
@@ -393,7 +393,7 @@ function updateArchives() {
        getListArchives(xid, date);
 }
 
-// Plugin launcher
+// Addon launcher
 function launchArchives() {
        // Current date
        var current_date = explodeThis('T', getXMPPTime(), 0);
index 85a718c5fa24b2d0eb13b387800ad8d60761ca39..afd1f6e8bedf99d828c4333e44796d39c975ab33 100644 (file)
@@ -489,7 +489,7 @@ function getEverything() {
        getStorage(NS_ROSTERNOTES);
 }
 
-// Plugin launcher
+// Addon launcher
 function launchConnection() {
        // Logouts when Jappix is closed
        $(window).bind('beforeunload', terminate);
@@ -522,5 +522,5 @@ function launchConnection() {
        }
 }
 
-// Launch this plugin!
+// Launch this addon!
 $(document).ready(launchConnection);
index ebe1a570791e1dc5db52fa1f2634c36533864daf..d1f69492ea4a2a477b282337d710b6aad0b5a191 100644 (file)
@@ -66,7 +66,7 @@ function startDirectory() {
        return false;
 }
 
-// Plugin launcher
+// Addon launcher
 function launchDirectory() {
        // Click event
        $('#directory .bottom .finish').click(closeDirectory);
index 867037b2c726f229e0bea650f25a2cad772976e1..f4bc0d426296abfe21feb6a5bb3cf4eb5d0bc0ac 100644 (file)
@@ -148,7 +148,7 @@ function cleanDiscovery() {
        $('#discovery .wait, #discovery .disco-category').hide();
 }
 
-// Plugin launcher
+// Addon launcher
 function launchDiscovery() {
        // Click event
        $('#discovery .bottom .finish').click(closeDiscovery);
index 69a042e84ee8a0bf8b0f9c3bb53198fed3ea7905..0b4f1cb0e66a4c627e7b38739fb76e0b24124aa5 100644 (file)
@@ -473,7 +473,7 @@ function loadFavorites() {
        $('#favorites .fedit-head-select').html(favorites_popup);
 }
 
-// Plugin launcher
+// Addon launcher
 function launchFavorites() {
        var path = '#favorites .';
        
index 5322501d3fcaf3c9f2f1ff8b938f2a46047a2d29..fdaba56b9bee8d38d9bd8268265f34ed7244e4a1 100644 (file)
@@ -288,7 +288,7 @@ function registerForm() {
        return false;
 }
 
-// Plugin launcher
+// Addon launcher
 function launchHome() {
        // Define the vars
        var home = '#home ';
@@ -367,5 +367,5 @@ function launchHome() {
        logThis('Welcome to Jappix! Happy coding in developer mode!');
 }
 
-// Launch this plugin!
+// Launch this addon!
 $(document).ready(launchHome);
index 9f54cb93a0cb244f025c4af53b2336b91bc10c88..2fe32730c9759041516e9273d35a2ef7fa6f7f72 100644 (file)
@@ -613,7 +613,7 @@ function handleInboxAttach(responseXML) {
        $('#inbox .wait').hide();
 }
 
-// Plugin launcher
+// Addon launcher
 function launchInbox() {
        // Define the pats
        var inbox = '#inbox .';
index 214b3d72547b87cd97c4c4577bedf912f65a51b3..6d33df1319178f29e448f8965c27638d458c41ff 100644 (file)
@@ -316,13 +316,13 @@ function filterIntegrateBox(data) {
        return string;
 }
 
-// Plugin launcher
+// Addon launcher
 function launchIntegratebox() {
        // Click event
        $('#integratebox .bottom .finish.close').click(closeIntegrateBox);
 }
 
-// Plugin keyup event
+// Addon keyup event
 $(document).keyup(function(e) {
        // Previous item?
        if((exists('#integratebox .bottom .finish.previous:not(.disabled)')) && (e.keyCode == 37)) {
index e4a0db52ef73820c6c6c6cfcf1447da94bd49485..5fe6593bc8b0c4ec5814e05b851543f0b2bbfe97 100644 (file)
@@ -376,11 +376,11 @@ function inputFocus() {
                });
 }
 
-// Plugin launcher
+// Addon launcher
 function launchInterface() {
        // Focus on the first visible input
        $(window).focus(inputFocus);
 }
 
-// Launch this plugin!
+// Launch this addon!
 $(document).ready(launchInterface);
index a4f114586ce4468aae29f8f241f145556377307f..7b0be75f83ce4eb1f902844f92c790db94e76a10 100644 (file)
@@ -1403,7 +1403,7 @@ jQuery.fn.extend({
                });
        },
 
-       // Based off of the plugin by Clint Helfers, with permission.
+       // Based off of the addon by Clint Helfers, with permission.
        // http://blindsignals.com/index.php/2009/07/jquery-delay/
        delay: function( time, type ) {
                time = jQuery.fx ? jQuery.fx.speeds[time] || time : time;
index 834bda64bb5d29f1f3cd9dfc16692bfb2ba1d2f7..d9162f0fae8dc5061546ae18ce54ca06f9f9df61 100644 (file)
@@ -64,7 +64,7 @@
        });
 
 
-    // plugin code
+    // addon code
        $.fn.placeholder = function(opts) {
                opts = $.extend({},$.placeholder.settings, opts);
 
index 5720df3417d04bd192cabf8ef9d7abc660127035..bc3038057df7a14f79a9e9bfd8cd7134a56bb191 100644 (file)
@@ -51,7 +51,7 @@ function closeMe() {
        return false;
 }
 
-// Plugin launcher
+// Addon launcher
 function launchMe() {
        // Click events
        $('#me .content a.go').click(function() {
index ceff07ab003d4f2bc8beacbf55873ea0cce80b01..5d489081a20cd5a2d6e9a9abaf9a88efef6b7978 100644 (file)
@@ -1430,7 +1430,7 @@ function fromInfosMicroblog(xid, hash) {
        getMicroblog(xid, hash);
 }
 
-// Plugin launcher
+// Addon launcher
 function launchMicroblog() {
        // Keyboard event
        $('#channel .top input[name=microblog_body]').keyup(function(e) {
index 0bfb80870c9b3dcfc6946d01e4ddf74bb5c55e76..112fbb4c744a50b0ca3d1e6e930746433d0dc16f 100644 (file)
@@ -1543,7 +1543,7 @@ function adaptRosterMini() {
        jQuery('#jappix_mini div.jm_roster div.jm_buddies').css('max-height', height);
 }
 
-// Plugin launcher
+// Addon launcher
 function launchMini(autoconnect, show_pane, domain, user, password) {
        // Save infos to reconnect
        MINI_DOMAIN = domain;
index 3bee965b11796e2c35e21ae7b5115350c3dd6d1d..ca2e89d1f99dd546697c69f2499bbf068d207a32 100644 (file)
@@ -361,7 +361,7 @@ function saveMucAdmin() {
        return closeMucAdmin();
 }
 
-// Plugin launcher
+// Addon launcher
 function launchMucAdmin() {
        // Click events
        $('#mucadmin .bottom .finish').click(function() {
index f367a2b6e5262ea22117f0152075426d9954f02a..af86a060c51e14ff65896175162c0897ffe7ca3b 100644 (file)
@@ -244,7 +244,7 @@ function addMusic(id, title, artist, source, duration, uri, mime, type) {
        return false;
 }
 
-// Plugin launcher
+// Addon launcher
 function launchMusic() {
        // When music search string submitted
        $('.music-content input').keyup(function(e) {
index c0f6c12cde3285f3b1f1995bfb5d5057348cae1f..603d37ad63aa54c7965a1dd3564c10ab96dd0419 100644 (file)
@@ -412,7 +412,7 @@ function adaptNotifications() {
        $('.notifications-content .tools-content-subitem').css('max-height', max_height);
 }
 
-// Plugin launcher
+// Addon launcher
 function launchNotifications() {
        // Adapt the notifications height
        adaptNotifications();
index 0463af4d3781e3dc1fb929e1d10a3ef9a22c1805..8f1ea19016985aed2356615e33db3a14711b421b 100644 (file)
@@ -534,7 +534,7 @@ function loadOptions() {
                $('#integratemedias').attr('checked', true);
 }
 
-// Plugin launcher
+// Addon launcher
 function launchOptions() {
        // Click events
        $('#options .tab a').click(function() {
index 04f9f1567ae5058705e8fa03c56f2337773960a1..2a3ee1ac75bcc8d11d28e49a835eb3c3506cae35 100644 (file)
@@ -652,7 +652,7 @@ function displayAllPEP(xid) {
        displayPEP(xid, 'geoloc');
 }
 
-// Plugin launcher
+// Addon launcher
 function launchPEP() {
        // Apply empty values to the PEP database
        setDB('mood-value', 1, '');
index 0834209c40911f9ee5fe44c0ae1ca28264b53a3a..ef5c1c67b76401c9089cd39e3eb30e477afef3c7 100644 (file)
@@ -973,7 +973,7 @@ function getUserStatus() {
        return $('#presence-status').val();
 }
 
-// Plugin launcher
+// Addon launcher
 function launchPresence() {
        // Click event for user presence show
        $('#my-infos .f-presence a.picker').click(function() {
index 01675f7f26080d840a0e8877fd8d39a69293bc74..d9cd46b61e5b1a12b8fab05bf16fbe6483e968ea 100644 (file)
@@ -645,7 +645,7 @@ function enableFormPrivacy(rank) {
        $('#privacy .privacy-' + rank + ' input, #privacy .privacy-' + rank + ' select').removeAttr('disabled');
 }
 
-// Plugin launcher
+// Addon launcher
 function launchPrivacy() {
        // Click events
        $('#privacy .bottom .finish').click(closePrivacy);
index 99389a7755721959c9febbd401469c90aff80b58..4dca501c73d222d0d104601561bb052c40ba4aa9 100644 (file)
@@ -708,7 +708,7 @@ function getGateways() {
 // Define a global var for buddy list all buddies displayed
 var BLIST_ALL = false;
 
-// Plugin launcher
+// Addon launcher
 function launchRoster() {
        // Filtering tool
        var iFilter = $('#buddy-list .filter input');
index 30f0854cafdb3b497f2530b686485b3795d278db..5cfe118002a11d0767af1610e09914ef65289494 100644 (file)
@@ -166,7 +166,7 @@ function saveRosterX() {
        closeRosterX();
 }
 
-// Plugin launcher
+// Addon launcher
 function launchRosterX() {
        // Click events
        $('#rosterx .bottom .finish').click(function() {
index 7e1320e9fdd00b6f3cb8301334d2d2926f0594de..529de6c7b2bb1a0d05ade4f7ba08022cc362ce2d 100644 (file)
@@ -13,7 +13,7 @@ Last revision: 06/05/11
 
 // Creates the talkpage events
 function eventsTalkPage() {
-       // Launch all associated plugins
+       // Launch all associated addons
        launchMicroblog();
        launchRoster();
        launchPresence();
index 35a58fe563942b472afafed82be17b3ed277bbad..885f3163b03e45a9b428c0e1ba04b3c8c5fa98c6 100644 (file)
@@ -406,7 +406,7 @@ function getUserInfos(hash, xid, nick, type) {
        presenceFunnel(xid, hash);
 }
 
-// Plugin launcher
+// Addon launcher
 function launchUserInfos() {
        // Click events
        $('#userinfos .tab a').click(function() {
index 6e0fa09a368a1f2ebdb3a1a32ee170863a89de1f..f61ca990c5e009b8db3ad619bb17137b3aeabd0f 100644 (file)
@@ -566,7 +566,7 @@ function sendVCard() {
        return false;
 }
 
-// Plugin launcher
+// Addon launcher
 function launchVCard() {
        // Focus on the first input
        $(document).oneTime(10, function() {
index 4faf5bd1d894d0e655ee6fcbdb2bbc8a8f3fb07f..ff19330264ce86a888b62b753c3bfb170818d53e 100644 (file)
@@ -269,7 +269,7 @@ function nextWelcome() {
        return false;
 }
 
-// Plugin launcher
+// Addon launcher
 function launchWelcome() {
        // Click events
        $('#welcome .tab a').click(function() {
index c8cc999bce47c1a06fc845ec7dced8c9e3c2df97..697e7f2f1dd66f636c405b3c054575cbf71b3088 100644 (file)
@@ -1038,7 +1038,7 @@ msgstr ""
 msgid "The folder is writable, you can continue!"
 msgstr ""
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
 msgstr ""
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
index 5d7e06d314fd60eb97564b844566649e172ae12f..6f4a7339173f382be1a84e0e3052667c0fbf0a7f 100644 (file)
@@ -1038,7 +1038,7 @@ msgstr "Jappix трябва да може да вписва данни в таз
 msgid "The folder is writable, you can continue!"
 msgstr "В тази папка/директория може да се записва, можете да продължите!"
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
 msgstr "Jappix ви позволява да управлявате и менажирате вашата конфигурация, да инсталирате нови разширения (плъгини) или да потърсите за обновления на програмата (ъпдейти). Затова трябва да създадете администраторска потребителска сметка (акаунт), за да можете да имате достъп до мениджъра с настройките на Jappix."
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
index a1a627224e5ab0d6c14a53f2e4e84272c52812b8..9063b52dec28c73ded0a0e01849af43b63f359cc 100644 (file)
@@ -1038,8 +1038,8 @@ msgstr "Jappix musí mít oprávnění zapisovat do tohoto adresáře pro vytvo
 msgid "The folder is writable, you can continue!"
 msgstr "Do adresáře je povolen zápis, můžete pokračovat!"
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
-msgstr "Jappix vám úmožňuje spravovat vaší konfiguraci, instalovat pluginy nebo vyhledávat aktualizace. Proto je nutné si vytvořit účet administrátora ke vstupu do Správy Jappix."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
+msgstr "Jappix vám úmožňuje spravovat vaší konfiguraci, instalovat addony nebo vyhledávat aktualizace. Proto je nutné si vytvořit účet administrátora ke vstupu do Správy Jappix."
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
 msgstr "Když je Jappix nainstalován, stačí kliknout na odkaz Správce na výchozí stránce pro vstup do Správy. "
index 75dba8f4d5d8f7837c943256bac468dc3f626532..352e9674c8fc6cd83b4b29af48cafefc8887f912 100644 (file)
@@ -1038,8 +1038,8 @@ msgstr "Jappix muss Schreibberechtigungen in diesem Ordner haben um sein Unteror
 msgid "The folder is writable, you can continue!"
 msgstr "Der Ordner ist schreibbar, du kannst weitermachen!"
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
-msgstr "Jappix bietet dir die Möglichkeit, deine Konfiguration einzustellen, neue Plugins zu installieren oder nach Updates zu suchen. Deshalb musst Du ein Admin-Account anlegen um auf die Verwaltung zugreifen zu können."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
+msgstr "Jappix bietet dir die Möglichkeit, deine Konfiguration einzustellen, neue Addons zu installieren oder nach Updates zu suchen. Deshalb musst Du ein Admin-Account anlegen um auf die Verwaltung zugreifen zu können."
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
 msgstr "Wenn Jappix installiert ist, klicke einfach auf den Manager-Link auf der Homepage um darauf zuzugreifen."
index 42b5b2c0e95cf31232fa4c7c949b6f89863ba113..108bb18a714aad2f736d8984a53b6be065a268e4 100644 (file)
@@ -1132,7 +1132,7 @@ msgstr ""
 msgid "The folder is writable, you can continue!"
 msgstr ""
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
 msgstr ""
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
index 346aa5e41191a12189d114c4802c9fb25d93e91e..8926bdaed26826c599686ee31ed826a8ffd7db81 100644 (file)
@@ -1038,7 +1038,7 @@ msgstr "Jappix devas esti kapabla skribi en ĉi tiu teko krei ĝia sub-adresaroj
 msgid "The folder is writable, you can continue!"
 msgstr "La dosierujo estas skribebla, vi povas daŭri!"
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
 msgstr "Jappix ebligas vin administri vian konfiguron, instali novajn kromaĵojn aŭ serĉi ĝisdatigojn. Tio estas kial vi devas krei administrantan konton por aliri la manaĝeron."
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
index b9a5714112843e1f479e595048042d8a1a8c29f4..9716a39e28e73c0add4d48ddac5a1e6f24681489 100644 (file)
@@ -1038,8 +1038,8 @@ msgstr "Jappix debe ser capaz de escribir en esta carpeta para crear sus sub-dir
 msgid "The folder is writable, you can continue!"
 msgstr "La carpeta es escribible, ¡puedes continuar!"
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
-msgstr "Jappix te ofrece la posibilidad de gestionar tu configuración, instalar nuevos plugins y buscar actualizaciones. Por eso tienes que crear una cuenta de administración para acceder al gerente."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
+msgstr "Jappix te ofrece la posibilidad de gestionar tu configuración, instalar nuevos addons y buscar actualizaciones. Por eso tienes que crear una cuenta de administración para acceder al gerente."
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
 msgstr "Cuando Jappix esté instalado, basta con hacer clic en el enlace de gerente en la página principal para acceder."
index f91ace4cc112112711d285ef9f5c63052ae3a97e..b48715a92f5789fd0310b1ea2e7e054aec19d688 100644 (file)
@@ -1038,8 +1038,8 @@ msgstr "Jappixil peab olema siia ja alamkataloogidesse kirjutusõigus. Kui see p
 msgid "The folder is writable, you can continue!"
 msgstr "Kataloogil on kirjutusõigused, Te võite jätkata!"
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
-msgstr "Jappix pakub võimalust hallata oma konfiguratsiooni, installida uusi pluginaid või otsida uuendusi. Sellepärast peate te tegema administraatori konto, et haldus lehele ligi pääseda."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
+msgstr "Jappix pakub võimalust hallata oma konfiguratsiooni, installida uusi addonaid või otsida uuendusi. Sellepärast peate te tegema administraatori konto, et haldus lehele ligi pääseda."
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
 msgstr "Kui Jappix on paigaldatud siis lihtsalt vajutage Haldaja lingile avalehel, et sellele ligi pääseda."
index b6771020a626ba4cff1231e214ab5f63aa9c2dac..ed3782ca9f55999fbd7a8c25ad05d2eed3c28ee7 100644 (file)
@@ -1038,7 +1038,7 @@ msgstr ""
 msgid "The folder is writable, you can continue!"
 msgstr "پوشه قابل ویرایش است. می‌توانید ادامه دهید!"
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
 msgstr ""
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
index 38cf556bc4afe7981e45ddd1047cd47f6d79c971..9ae141d30fc2ab51a19890b1f7c59bb8ac05fa8b 100644 (file)
@@ -1038,7 +1038,7 @@ msgstr "Jappix doit pouvoir écrire dans ce dossier pour y créer ses sous-répe
 msgid "The folder is writable, you can continue!"
 msgstr "Le dossier peut être écrit, vous pouvez continuer !"
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
 msgstr "Jappix vous offre la possibilité de gérer votre configuration, installer des nouveaux modules et rechercher des mises à jour. C'est pourquoi vous devez créer un compte administrateur pour accéder au gestionnaire."
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
index 89e5157769b76ff17407e5d42a5e35e0d9882879..1ab5c9591ab535212829853813059ba74e9442b3 100644 (file)
@@ -1038,7 +1038,7 @@ msgstr "A Jappix-nak tudnia kell írni ebbe a mappába, hogy létre tudjon hozni
 msgid "The folder is writable, you can continue!"
 msgstr "A mappa írható, már folytathatod!"
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
 msgstr "Jappix felajánlja a lehetőséget, hogy menedzseld a konfigurációd, telepíts új kiegészítőket, vagy keress frissítéseket. Ezért kell létrehoznod egy adminisztrátori fiókot, hogy hozzáférj ezekhez a beállításokhoz."
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
index 5c7f5ae56867a51c39519bd1d82558df83b0e7df..189a3c9485677bf9121165f54324ce8db2305d53 100644 (file)
@@ -1038,8 +1038,8 @@ msgstr "Jappix harus mampu menulis dalam folder ini untuk membuat sub-direktori.
 msgid "The folder is writable, you can continue!"
 msgstr "Folder dapat ditulis, anda dapat melanjutkan!"
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
-msgstr "Jappix menawarkan kemungkinan untuk mengelola konfigurasi anda, menginstal plugin baru atau mencari update. Itulah mengapa anda harus membuat account administrator untuk mengakses manajer."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
+msgstr "Jappix menawarkan kemungkinan untuk mengelola konfigurasi anda, menginstal addon baru atau mencari update. Itulah mengapa anda harus membuat account administrator untuk mengakses manajer."
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
 msgstr "Ketika Jappix akan diinstal, cukup klik pada link manajer di halaman rumah untuk mengaksesnya."
index 092cc8fb5c5f63515a9aa1977c2ce726ac31d543..a1726a54d16251bd65870cbb81c24de2f239572a 100644 (file)
@@ -1038,8 +1038,8 @@ msgstr "Jappix deve avere le autorizzazioni adeguate per scrivere in questa cart
 msgid "The folder is writable, you can continue!"
 msgstr "La directory è scrivibile, puoi continuare!"
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
-msgstr "Jappix ti offre la possibilità controllare la configurazione di Jappix, installare nuove plugins e cercare aggiornamenti. Ecco perchè devi creare un account amministrativo per accedere all'Amministrazione."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
+msgstr "Jappix ti offre la possibilità controllare la configurazione di Jappix, installare nuove addons e cercare aggiornamenti. Ecco perchè devi creare un account amministrativo per accedere all'Amministrazione."
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
 msgstr "Quando Jappix sarà installato, semplicemente clicca sul link “Amministrazione” nella home page per accedervi."
index bc1751f45d89375d12412866f3f059d16e8073b5..b296135f45169391d5b42270f15cf9d05f84272b 100644 (file)
@@ -1038,7 +1038,7 @@ msgstr "サブフォルダを書き込む権限が必要です。%1sに権限を
 msgid "The folder is writable, you can continue!"
 msgstr "フォルダは書き込み可能です。続けてください。"
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
 msgstr "Jappixは、設定ファイル、新しいプラグイン、アップデートを提供できます。管理者権限でのアクセスが必要です。"
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
index e85c315cf9087bf532ba4cca67bd37fe0c5ba0c7..9ce3a85645649b2656a338090dd00077aaa871d8 100644 (file)
@@ -1038,7 +1038,7 @@ msgstr ""
 msgid "The folder is writable, you can continue!"
 msgstr ""
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
 msgstr ""
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
index 1f2d628709b01eb6583a284ab181cba81944c364..f74d43616ce2f64e81ede3c2d74d74ea7d1c8406 100644 (file)
@@ -1038,7 +1038,7 @@ msgstr ""
 msgid "The folder is writable, you can continue!"
 msgstr ""
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
 msgstr ""
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
index 58bdb62fccef82eafcc154608f6b145ded6b3007..f0fa0316bfe2674cce290518103cee53946db3b3 100644 (file)
@@ -1038,8 +1038,8 @@ msgstr "Jappix musi mieć możliwość zapisu w tym folderze aby móc stworzyć
 msgid "The folder is writable, you can continue!"
 msgstr "Można zapisywać w folderze, możesz kontynuować!"
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
-msgstr "Jappix oferuje Ci możliwość zarządzania konfiguracją, instalacji nowych pluginów lub sprawdzania aktualizacji. To właśnie dlatego musisz stworzyć konto administratora."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
+msgstr "Jappix oferuje Ci możliwość zarządzania konfiguracją, instalacji nowych addonów lub sprawdzania aktualizacji. To właśnie dlatego musisz stworzyć konto administratora."
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
 msgstr "Kiedy Jappix będzie już zainstalowany, kliknij w link Menedżer na stronie głównej."
index deef5ba81a2cfa4d8f20bfbb71eae76f57cdbccf..3541dda446c1b736b0976f92b47ef48d85c549ac 100644 (file)
@@ -1038,8 +1038,8 @@ msgstr "Jappix precisa permissão para escrita nessa pasta. Se não, você preci
 msgid "The folder is writable, you can continue!"
 msgstr "Esta pasta possui permissão de escrita, pode continuar!"
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
-msgstr "Jappix oferece a você a possibilidade de gerenciar suas configurações, instalar novos plugins ou procurar por atulizações. Por isso você deve criar um usuário de administração para acessar o gerenciador."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
+msgstr "Jappix oferece a você a possibilidade de gerenciar suas configurações, instalar novos addons ou procurar por atulizações. Por isso você deve criar um usuário de administração para acessar o gerenciador."
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
 msgstr "Quando o Jappix for instalado, clique no link do gerenciador, em sua página inicial, para acessá-lo."
index 88b4a2d08faa28a373892ba58287741f2c242667..8ca7f6503e331f425f4572338c3c074718d7f3ac 100644 (file)
@@ -1038,7 +1038,7 @@ msgstr "Jappix должен иметь возможность записыват
 msgid "The folder is writable, you can continue!"
 msgstr "Папка доступна для записи, можно продолжать!"
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
 msgstr "Jabbix позволяет вам управлять конфигурацией, устанавливать новые плагины или проверять обновления. Для доступа к панели управления требуется создать учетную запись администратора."
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
index d9c24be299978f394ad8e089ea2212380930fd72..846e639b709bd91dd1b0bc3fed382586059f0368 100644 (file)
@@ -1038,8 +1038,8 @@ msgstr "Jappix musí mať právo zapisovať v tejto zložke pre vytvorenie svoji
 msgid "The folder is writable, you can continue!"
 msgstr "Do zložky je možné zapisovať, môžete pokračovať!"
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
-msgstr "Jappix vám ponúka možnosť spravovať vaše konfiguráciu, inštalovať nové pluginy alebo vyhľadať aktualizácie. Preto si musíte vytvoriť administračný účet pre prístup k Správcovi."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
+msgstr "Jappix vám ponúka možnosť spravovať vaše konfiguráciu, inštalovať nové addony alebo vyhľadať aktualizácie. Preto si musíte vytvoriť administračný účet pre prístup k Správcovi."
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
 msgstr "Po nainštalovaní Jappix, stačí kliknúť na odkaz Správca na domovskej stránke pre prístup."
index d7910185dcc3b05b0b0a6acf76a2a7c328243c0c..255b86f511561cc84ab51c23f2782aeab1ce791c 100644 (file)
@@ -1038,7 +1038,7 @@ msgstr ""
 msgid "The folder is writable, you can continue!"
 msgstr "Mappen är skrivbar -- du kan nu fortsätta!"
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
 msgstr ""
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
index e5a39e0b1bdd2b270f2fae985ddf161d5d872351..79e8f2ba7ce88ab39703d511337e9cdfead0367e 100644 (file)
@@ -1038,7 +1038,7 @@ msgstr ""
 msgid "The folder is writable, you can continue!"
 msgstr ""
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
 msgstr ""
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
index 6ae04497bfe4ab1572ae81016dd6ee8f1a9a1f88..33c1f821e530104295ff82f88f8e563ee4ef206a 100644 (file)
@@ -1038,7 +1038,7 @@ msgstr ""
 msgid "The folder is writable, you can continue!"
 msgstr "資料夾可寫入,你可以繼續!"
 
-msgid "Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."
+msgid "Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."
 msgstr ""
 
 msgid "When Jappix will be installed, just click on the manager link on the home page to access it."
index ae0ff70d3150671e0b5357667e932124b1ca900e..9cce271365737488bb4f466c9e8b837e434e257f 100644 (file)
@@ -163,7 +163,7 @@ else
                        else if($step == 3) { ?>
                                <h3 class="account  install-images"><?php _e("Administrator account"); ?></h3>
                                
-                               <p><?php _e("Jappix offers you the possibility to manage your configuration, install new plugins or search for updates. That's why you must create an administrator account to access the manager."); ?></p>
+                               <p><?php _e("Jappix offers you the possibility to manage your configuration, install new addons or search for updates. That's why you must create an administrator account to access the manager."); ?></p>
                                
                                <p><?php _e("When Jappix will be installed, just click on the manager link on the home page to access it."); ?></p>
                                
index 7e4eb1f6f8e9ccf7c15c86c6555f3301f893961c..5633930f2712e12ca6eff05c9ebd4514af09ed71 100644 (file)
@@ -21,11 +21,11 @@ msgstr ""
 
 #: jappixmini.php:266
 msgid "Jappix Mini addon settings"
-msgstr "Impostazioni plugin Jappix Mini"
+msgstr "ImpostazioniaddonJappix Mini"
 
 #: jappixmini.php:268
 msgid "Activate addon"
-msgstr "Abilita plugin"
+msgstr "Abilita addon"
 
 #: jappixmini.php:271
 msgid ""
index 51f6b79493e5917dad76b9df824213b211efb7fa..892e1c7245aab36d9adc3232297581e35d897413 100644 (file)
@@ -5,8 +5,8 @@ function string_plural_select_it($n){
        return ($n != 1);;
 }}
 ;
-$a->strings["Jappix Mini addon settings"] = "Impostazioni plugin Jappix Mini";
-$a->strings["Activate addon"] = "Abilita plugin";
+$a->strings["Jappix Mini addon settings"] = "Impostazioni addon Jappix Mini";
+$a->strings["Activate addon"] = "Abilita addon";
 $a->strings["Do <em>not</em> insert the Jappixmini Chat-Widget into the webinterface"] = "Non inserire Jappixmini nell'intrerfaccia web";
 $a->strings["Jabber username"] = "Nome utente Jabber";
 $a->strings["Jabber server"] = "Server Jabber";
index c107bf1229e2e52bebbf2f2fe89d05cf08738832..4c30eaa65be5d7bb016b47c5635b1cde040b0bbf 100644 (file)
@@ -1,6 +1,6 @@
 [donation_link]: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=3PMY37SL9L888&lc=US&item_name=JavaScript%20file%20uploader&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted
 
-This plugin uses XHR for uploading multiple files with progress-bar in FF3.6+, Safari4+,
+This addon uses XHR for uploading multiple files with progress-bar in FF3.6+, Safari4+,
 Chrome and falls back to hidden iframe based upload in other browsers,
 providing good user experience everywhere.
 
@@ -17,13 +17,13 @@ providing good user experience everywhere.
 * tested in IE7,8; Firefox 3,3.6,4; Safari4,5; Chrome; Opera10.60;
 
 ### License ###
-This plugin is open sourced under <a href="http://www.gnu.org/licenses/gpl-2.0.html">GNU GPL 2</a> or later.
+This addon is open sourced under <a href="http://www.gnu.org/licenses/gpl-2.0.html">GNU GPL 2</a> or later.
 If this license doesn't suit you mail me at andrew (at) valums.com.
 
-Please [donate][donation_link] if you are willing to support the further development of file upload plugin.  
+Please [donate][donation_link] if you are willing to support the further development of file upload addon.  
 
 ### Known Issues ###
-Plugin breaks back button functionality in Opera.
+Addon breaks back button functionality in Opera.
        
 ### Getting started ###
 The fileuploader.js contains two classes that are meant to be used directly.
index 0831b915ab6939af35ed105c59ccd4a88e554c2b..63255c9f35ad7c290403298f9e14483f46f87270 100644 (file)
@@ -22,7 +22,7 @@ msgid "Krynn Settings"
 msgstr ""
 
 #: krynn.php:152
-msgid "Enable Krynn Plugin"
+msgid "Enable Krynn Addon"
 msgstr ""
 
 #: krynn.php:158
index ec7bf80346c3044dc63d763ee7b2b843d14c27f0..d5e09e7e75a68e85ad3058d8fa1c6a9050dd29e4 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Krynn Settings"] = "Ajustos de Krynn";\r
-$a->strings["Enable Krynn Plugin"] = "Activa Plugin de Krynn";\r
+$a->strings["Enable Krynn Addon"] = "Activa Addon de Krynn";\r
 $a->strings["Submit"] = "Enviar";\r
index 69e803e3ba66f6151c81eea923ae62718385f182..abb6d5158a59cc264a7e3928e528c2b44d603b21 100644 (file)
@@ -24,8 +24,8 @@ msgid "Krynn Settings"
 msgstr "Krynn Nastavení"
 
 #: krynn.php:152
-msgid "Enable Krynn Plugin"
-msgstr "Povolit Krynn plugin"
+msgid "Enable Krynn Addon"
+msgstr "Povolit Krynn addon"
 
 #: krynn.php:158
 msgid "Submit"
index e725ffc3ed9af2f0e0e6303db9a707d4a0264ff8..76de5f7fedb404fdceb80125a8220bb74f420c8f 100644 (file)
@@ -6,5 +6,5 @@ function string_plural_select_cs($n){
 }}
 ;
 $a->strings["Krynn Settings"] = "Krynn Nastavení";
-$a->strings["Enable Krynn Plugin"] = "Povolit Krynn plugin";
+$a->strings["Enable Krynn Addon"] = "Povolit Krynn addon";
 $a->strings["Submit"] = "Odeslat";
index 12dceb31192eb5148da5d503db9b05fa568bb38d..7d3e6bbd4799f3337451219bf9414ec0109be29e 100644 (file)
@@ -25,8 +25,8 @@ msgid "Krynn Settings"
 msgstr "Planeten Einstellungen"
 
 #: Krynn.php:152
-msgid "Enable Krynn Plugin"
-msgstr "Planeten-Plugin aktivieren"
+msgid "Enable Krynn Addon"
+msgstr "Planeten-Addon aktivieren"
 
 #: Krynn.php:158
 msgid "Submit"
index 74b5e9f924c9c7019dfec611a06d24956864732d..d8a54083a59066d1e5b0a2a7e15bb95a2a1712fa 100644 (file)
@@ -6,5 +6,5 @@ function string_plural_select_de($n){
 }}
 ;
 $a->strings["Krynn Settings"] = "Krynn Einstellungen";
-$a->strings["Enable Krynn Plugin"] = "Krynn-Plugin aktivieren";
+$a->strings["Enable Krynn Addon"] = "Krynn-Addon aktivieren";
 $a->strings["Submit"] = "Senden";
index 8b8dd24af4b32a30102feda917e983fb146479ba..eae02345832a97d035a4fa6e27cfcb056ba5d9cf 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Krynn Settings"] = "Agordo pri Krynn";\r
-$a->strings["Enable Krynn Plugin"] = "Ŝalti la Krynn kromprogamon";\r
+$a->strings["Enable Krynn Addon"] = "Ŝalti la Krynn kromprogamon";\r
 $a->strings["Submit"] = "Sendi";\r
index e2015a3794c503ed152887de796ffea4023e08cf..a8690ef1e502b096ddf5d061de8ef011c7f8a018 100644 (file)
@@ -24,8 +24,8 @@ msgid "Krynn Settings"
 msgstr "Ajustes de Krynn"
 
 #: krynn.php:152
-msgid "Enable Krynn Plugin"
-msgstr "Habilitar Plugin de Krynn"
+msgid "Enable Krynn Addon"
+msgstr "Habilitar Addon de Krynn"
 
 #: krynn.php:158
 msgid "Submit"
index 77df4d4e67e1f6b66d20f48a0979ae4b84fbaa7c..6bb39518baf1b2487a11ac8427c122db0c4902b0 100644 (file)
@@ -6,5 +6,5 @@ function string_plural_select_es($n){
 }}
 ;
 $a->strings["Krynn Settings"] = "Ajustes de Krynn";
-$a->strings["Enable Krynn Plugin"] = "Habilitar Plugin de Krynn";
+$a->strings["Enable Krynn Addon"] = "Habilitar Addon de Krynn";
 $a->strings["Submit"] = "Enviar";
index 601f95021625cf8ed2465d75fb6630601f99ee8c..bcd3430bb9cbd066fcf7dfcfb1c77ab31677267a 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Krynn Settings"] = "Réglages des Krynn";\r
-$a->strings["Enable Krynn Plugin"] = "Activer Krynn";\r
+$a->strings["Enable Krynn Addon"] = "Activer Krynn";\r
 $a->strings["Submit"] = "Envoyer";\r
index 976a601e69a9fb9064b1fc3fb52853e6ebe5f7f3..11fd5b57a3cb2fc88b1c7ce54c0ac370c754b9e5 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Krynn Settings"] = "";\r
-$a->strings["Enable Krynn Plugin"] = "";\r
+$a->strings["Enable Krynn Addon"] = "";\r
 $a->strings["Submit"] = "Senda inn";\r
index 507fac5443bc5f9e7568605dbc2eb0e95d48de11..4d70b47bf2b94026fb9d703950e60647bf08d4c9 100644 (file)
@@ -24,8 +24,8 @@ msgid "Krynn Settings"
 msgstr "Impostazioni Krynn"
 
 #: krynn.php:152
-msgid "Enable Krynn Plugin"
-msgstr "Abilita plugin Krynn"
+msgid "Enable Krynn Addon"
+msgstr "AbilitaaddonKrynn"
 
 #: krynn.php:158
 msgid "Submit"
index 7c9f5f114026c296523abcbfe165ec763b2d365e..753fe7a7fb42b440294f8268de41f922c2f8d873 100644 (file)
@@ -6,5 +6,5 @@ function string_plural_select_it($n){
 }}
 ;
 $a->strings["Krynn Settings"] = "Impostazioni Krynn";
-$a->strings["Enable Krynn Plugin"] = "Abilita plugin Krynn";
+$a->strings["Enable Krynn Addon"] = "Abilita addon Krynn";
 $a->strings["Submit"] = "Invia";
index 06ad32cb592dbbde64fe0b45f5982b2d9fd8a659..29bffb9a0ddb7240e83e99bffe155379dcc33b55 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Krynn Settings"] = "";\r
-$a->strings["Enable Krynn Plugin"] = "";\r
+$a->strings["Enable Krynn Addon"] = "";\r
 $a->strings["Submit"] = "Lagre";\r
index 239001b17742d300c7a6328efbdff8d5c72aff57..d77ed6c1fd771f3a426b0047b891077ea1357a7f 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Krynn Settings"] = "";\r
-$a->strings["Enable Krynn Plugin"] = "";\r
+$a->strings["Enable Krynn Addon"] = "";\r
 $a->strings["Submit"] = "Potwierdź";\r
index a3b2d663a8b08a72fa47414ab46fe4d9c83241f6..0b882a7152bd767d7510c4e980e8e36d1ea6fdc5 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Krynn Settings"] = "Configuração dos Krynn";\r
-$a->strings["Enable Krynn Plugin"] = "Habilita configuração dos Krynn";\r
+$a->strings["Enable Krynn Addon"] = "Habilita configuração dos Krynn";\r
 $a->strings["Submit"] = "Enviar";\r
index 2e629e1cee559229071208681294fdeed4510407..8f945315548c812101aab5735f3194acd0a0010d 100644 (file)
@@ -24,7 +24,7 @@ msgid "Krynn Settings"
 msgstr "Configurări Krynn"
 
 #: krynn.php:152
-msgid "Enable Krynn Plugin"
+msgid "Enable Krynn Addon"
 msgstr "Activare Modul Krynn"
 
 #: krynn.php:158
index 88a84ee890cf16b843f8a34046df974528cca701..f6c6f53d298b227568ff9d22307859f1f091ae6b 100644 (file)
@@ -6,5 +6,5 @@ function string_plural_select_ro($n){
 }}
 ;
 $a->strings["Krynn Settings"] = "Configurări Krynn";
-$a->strings["Enable Krynn Plugin"] = "Activare Modul Krynn";
+$a->strings["Enable Krynn Addon"] = "Activare Modul Krynn";
 $a->strings["Submit"] = "Trimite";
index 8fd1069bf76cd5b348c00a5ccc22d69c957a8f56..88ba671982e2574476fd855ec589c7d5d3b64bff 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Krynn Settings"] = "";\r
-$a->strings["Enable Krynn Plugin"] = "";\r
+$a->strings["Enable Krynn Addon"] = "";\r
 $a->strings["Submit"] = "Подтвердить";\r
index dcbfbeb731ed74a4819b42a351f83efd285a5322..5564f1f4488be1fb3c085c49dc433270831e0fe5 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Krynn Settings"] = "行星设置";\r
-$a->strings["Enable Krynn Plugin"] = "使行星插件可用";\r
+$a->strings["Enable Krynn Addon"] = "使行星插件可用";\r
 $a->strings["Submit"] = "提交";\r
index 6eded71faa2f985af674f558f6af9e2d8a16c7ca..e446717ad22e3c8b45c722370be25a71874fba4b 100644 (file)
@@ -30,7 +30,7 @@ msgid ""
 "match any language spoken by you (see below) the posting will be collapsed. "
 "Remember detecting the language is not perfect, especially with short "
 "postings."
-msgstr "Questo plugin prova ad identificare la lingua usata in un messaggio. Se questa non corrisponde a una delle lingue da te parlata (vedi sotto), il messaggio verrà nascosto. Ricorda che la rilevazione della lingua non è perfetta, specie con i messaggi corti."
+msgstr "Questo addon prova ad identificare la lingua usata in un messaggio. Se questa non corrisponde a una delle lingue da te parlata (vedi sotto), il messaggio verrà nascosto. Ricorda che la rilevazione della lingua non è perfetta, specie con i messaggi corti."
 
 #: langfilter.php:46
 msgid "Use the language filter"
index ecb7b8d31870818340d6f12445e4f23992c2d84c..b94ab8125ca0610f275a19bd845836491d35c142 100644 (file)
@@ -6,7 +6,7 @@ function string_plural_select_it($n){
 }}
 ;
 $a->strings["Language Filter"] = "Filtro Lingua";
-$a->strings["This addon tries to identify the language of a postings. If it does not match any language spoken by you (see below) the posting will be collapsed. Remember detecting the language is not perfect, especially with short postings."] = "Questo plugin prova ad identificare la lingua usata in un messaggio. Se questa non corrisponde a una delle lingue da te parlata (vedi sotto), il messaggio verrà nascosto. Ricorda che la rilevazione della lingua non è perfetta, specie con i messaggi corti.";
+$a->strings["This addon tries to identify the language of a postings. If it does not match any language spoken by you (see below) the posting will be collapsed. Remember detecting the language is not perfect, especially with short postings."] = "Questo addon prova ad identificare la lingua usata in un messaggio. Se questa non corrisponde a una delle lingue da te parlata (vedi sotto), il messaggio verrà nascosto. Ricorda che la rilevazione della lingua non è perfetta, specie con i messaggi corti.";
 $a->strings["Use the language filter"] = "Usa il filtro lingua";
 $a->strings["I speak"] = "Parlo";
 $a->strings["List of abbreviations (iso2 codes) for languages you speak, comma separated. For example \"de,it\"."] = "Lista di abbreviazioni (codici iso2) per le lingue che parli, separate da virgola. Per esempio \"it,de\"";
index fa31c8823d30791650d4ab8a144b13c2a0449f64..ec61f84758a28bc56c8c5206734a085e63f9b610 100644 (file)
@@ -26,7 +26,7 @@ msgid "libertree Post Settings"
 msgstr ""
 
 #: libertree.php:69
-msgid "Enable Libertree Post Plugin"
+msgid "Enable Libertree Post Addon"
 msgstr ""
 
 #: libertree.php:74
index 28c6b31a08ca3aa1976609da026f53eba9946be0..02c7d22c331bd36c32dabe0782f8ebf03e5114f4 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to libertree"] = "Enviament a libertree";\r
 $a->strings["libertree Post Settings"] = "Ajustos d'enviaments a libertree";\r
-$a->strings["Enable Libertree Post Plugin"] = "Activa el plugin d'enviaments a libertree";\r
+$a->strings["Enable Libertree Post Addon"] = "Activa el addon d'enviaments a libertree";\r
 $a->strings["Libertree API token"] = "Libertree API token";\r
 $a->strings["Libertree site URL"] = "lloc URL libertree";\r
 $a->strings["Post to Libertree by default"] = "Enviar a libertree per defecte";\r
index d9473ab0b5eecc5dca61dc36ff79454318f14c12..b97b17ede9edf233dcc7e426ddf79a850524b3dd 100644 (file)
@@ -28,7 +28,7 @@ msgid "libertree Post Settings"
 msgstr "libertree nastavení příspěvků"
 
 #: libertree.php:69
-msgid "Enable Libertree Post Plugin"
+msgid "Enable Libertree Post Addon"
 msgstr "Povolit Libertree Post rozšíření"
 
 #: libertree.php:74
index 97618321a4b203d939104d9a4b1af4e5bc3c367b..57ad0ff13cecf4e2d7e71296f6a12ac53b362a20 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_cs($n){
 ;
 $a->strings["Post to libertree"] = "Poslat na libertree";
 $a->strings["libertree Post Settings"] = "libertree nastavení příspěvků";
-$a->strings["Enable Libertree Post Plugin"] = "Povolit Libertree Post rozšíření";
+$a->strings["Enable Libertree Post Addon"] = "Povolit Libertree Post rozšíření";
 $a->strings["Libertree API token"] = "Libertree API token";
 $a->strings["Libertree site URL"] = "URL adresa Libertree ";
 $a->strings["Post to Libertree by default"] = "Defaultně poslat na Libertree";
index 7c3d3f1a305d3f91c9b450261f7684be6ad7eacf..970d22ddba8c1399448d016db458c6e56881a628 100644 (file)
@@ -29,8 +29,8 @@ msgid "libertree Post Settings"
 msgstr "libertree Post Einstellungen"
 
 #: libertree.php:69
-msgid "Enable Libertree Post Plugin"
-msgstr "Libertree Post Plugin aktivieren"
+msgid "Enable Libertree Post Addon"
+msgstr "Libertree Post Addon aktivieren"
 
 #: libertree.php:74
 msgid "Libertree API token"
index 27d40815caa06cc700fd00667ab8793ebf609cfd..c6867705c0095984b2c768fa2882e5425a9df880 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_de($n){
 ;
 $a->strings["Post to libertree"] = "bei libertree veröffentlichen";
 $a->strings["libertree Post Settings"] = "libertree Post Einstellungen";
-$a->strings["Enable Libertree Post Plugin"] = "Libertree Post Plugin aktivieren";
+$a->strings["Enable Libertree Post Addon"] = "Libertree Post Addon aktivieren";
 $a->strings["Libertree API token"] = "Libertree API Token";
 $a->strings["Libertree site URL"] = "Libertree URL";
 $a->strings["Post to Libertree by default"] = "Standardmäßig bei libertree veröffentlichen";
index 11b8496cd7536a8008495760d4afa778c927d543..674972d0e714afa67450e6e79ba1a903075bb192 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to libertree"] = "Afiŝi al libertree";\r
 $a->strings["libertree Post Settings"] = "Agordoj por Afiŝoj ĉe libertree";\r
-$a->strings["Enable Libertree Post Plugin"] = "Aktivigi Kromprogramon por Afiŝoj ĉe libertree";\r
+$a->strings["Enable Libertree Post Addon"] = "Aktivigi Kromprogramon por Afiŝoj ĉe libertree";\r
 $a->strings["Libertree API token"] = "Libertree API ĵetono";\r
 $a->strings["Libertree site URL"] = "URL adreso de libertree retejo:";\r
 $a->strings["Post to Libertree by default"] = "Defaŭlte afiŝi ĉe Libertree";\r
index 8fcc8a8d0cc0e40657f288b8cb79022ab3030e36..d600576588b7cad8b3e4111b191b9fe51c6310b0 100644 (file)
@@ -28,8 +28,8 @@ msgid "libertree Post Settings"
 msgstr "Ajustes de Publicación de Libertree"
 
 #: libertree.php:69
-msgid "Enable Libertree Post Plugin"
-msgstr "Habilitar Plugin de publicación de Libertree"
+msgid "Enable Libertree Post Addon"
+msgstr "Habilitar Addon de publicación de Libertree"
 
 #: libertree.php:74
 msgid "Libertree API token"
index 0be7bbca74f540656f59b768668b89eda0cd6d6c..8a8dbf1f93c5b172fa007a3c0ca685a009e1a953 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_es($n){
 ;
 $a->strings["Post to libertree"] = "Publicar en Libertree";
 $a->strings["libertree Post Settings"] = "Ajustes de Publicación de Libertree";
-$a->strings["Enable Libertree Post Plugin"] = "Habilitar Plugin de publicación de Libertree";
+$a->strings["Enable Libertree Post Addon"] = "Habilitar Addon de publicación de Libertree";
 $a->strings["Libertree API token"] = "Símbolo de API de Libertree";
 $a->strings["Libertree site URL"] = "URL de la página de Libertree";
 $a->strings["Post to Libertree by default"] = "Publicar en Libertree por defecto";
index ce956cf1a5ef294054beb388ca1f77ba224915f8..6deb7b4e83b95d49cd32c2fc01f6672cca8b4875 100644 (file)
@@ -28,8 +28,8 @@ msgid "libertree Post Settings"
 msgstr "Réglages des messages sur libertree"
 
 #: libertree.php:69
-msgid "Enable Libertree Post Plugin"
-msgstr "Activer le plugin de publication sur libertree"
+msgid "Enable Libertree Post Addon"
+msgstr "Activer leaddonde publication sur libertree"
 
 #: libertree.php:74
 msgid "Libertree API token"
index 8f7770164bd244602f394c854f20e4b20c0bd9d6..1e2279143b08930428358016de9271d9cd9824db 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_fr($n){
 ;
 $a->strings["Post to libertree"] = "Publier sur libertree";
 $a->strings["libertree Post Settings"] = "Réglages des messages sur libertree";
-$a->strings["Enable Libertree Post Plugin"] = "Activer le plugin de publication sur libertree";
+$a->strings["Enable Libertree Post Addon"] = "Activer le addon de publication sur libertree";
 $a->strings["Libertree API token"] = "Clé de l'API libertree";
 $a->strings["Libertree site URL"] = "URL du site libertree";
 $a->strings["Post to Libertree by default"] = "Publier sur libertree par défaut";
index 7d5e7f37b8bbe1108333a1795bb9a79ec9913730..6256e21c0a8ad6c0f02e0b139c4c88ed62074619 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to libertree"] = "";\r
 $a->strings["libertree Post Settings"] = "";\r
-$a->strings["Enable Libertree Post Plugin"] = "";\r
+$a->strings["Enable Libertree Post Addon"] = "";\r
 $a->strings["Libertree API token"] = "";\r
 $a->strings["Libertree site URL"] = "";\r
 $a->strings["Post to Libertree by default"] = "";\r
index 25bd37ff6ea0ebc6030e5dc88005e2c0eb3bf446..358956883de4cb9f62c4ffdd8ea28b6819f188cd 100644 (file)
@@ -28,8 +28,8 @@ msgid "libertree Post Settings"
 msgstr "Impostazioni di invio a Libertree"
 
 #: libertree.php:69
-msgid "Enable Libertree Post Plugin"
-msgstr "Abilita il plugin di invio a Libertree"
+msgid "Enable Libertree Post Addon"
+msgstr "Abilita iladdondi invio a Libertree"
 
 #: libertree.php:74
 msgid "Libertree API token"
index beef73dae02637b032bf511f3cd40e98f144ea21..ca0b50facd1fd113eac0db3664d462443199e67f 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_it($n){
 ;
 $a->strings["Post to libertree"] = "Invia a Libertree";
 $a->strings["libertree Post Settings"] = "Impostazioni di invio a Libertree";
-$a->strings["Enable Libertree Post Plugin"] = "Abilita il plugin di invio a Libertree";
+$a->strings["Enable Libertree Post Addon"] = "Abilita il addon di invio a Libertree";
 $a->strings["Libertree API token"] = "Token API Libertree";
 $a->strings["Libertree site URL"] = "Indirizzo sito Libertree";
 $a->strings["Post to Libertree by default"] = "Invia sempre a Libertree";
index 679aefe1860ba415fd91c12abc8c398330b8d8e8..1600c269d3f9463aea6432c6b83405688e2cb421 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to libertree"] = "";\r
 $a->strings["libertree Post Settings"] = "";\r
-$a->strings["Enable Libertree Post Plugin"] = "";\r
+$a->strings["Enable Libertree Post Addon"] = "";\r
 $a->strings["Libertree API token"] = "";\r
 $a->strings["Libertree site URL"] = "";\r
 $a->strings["Post to Libertree by default"] = "";\r
index 217757f2bc1543c05bfa8ada1e45e5c1a452856c..5f21224863cbd6d8efa7226e6178d64e18c50fdb 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to libertree"] = "";\r
 $a->strings["libertree Post Settings"] = "";\r
-$a->strings["Enable Libertree Post Plugin"] = "";\r
+$a->strings["Enable Libertree Post Addon"] = "";\r
 $a->strings["Libertree API token"] = "";\r
 $a->strings["Libertree site URL"] = "";\r
 $a->strings["Post to Libertree by default"] = "";\r
index 4df816bb0cc7aabc0893a74a2f96aa0aa3b490c1..d6554ff62ba77132cc13e49f3e938749ef66765c 100644 (file)
@@ -28,7 +28,7 @@ msgid "libertree Post Settings"
 msgstr "Configurações de publicação do Libertree"
 
 #: libertree.php:69
-msgid "Enable Libertree Post Plugin"
+msgid "Enable Libertree Post Addon"
 msgstr "Habilitar plug-in para publicar no Libertree"
 
 #: libertree.php:74
index 9c75069803a6ade57f45096a364aaedd804e1e32..d55aee610170bfe51ebe9b465e5641389337afdc 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_pt_br($n){
 ;
 $a->strings["Post to libertree"] = "Publicar no Libertree";
 $a->strings["libertree Post Settings"] = "Configurações de publicação do Libertree";
-$a->strings["Enable Libertree Post Plugin"] = "Habilitar plug-in para publicar no Libertree";
+$a->strings["Enable Libertree Post Addon"] = "Habilitar plug-in para publicar no Libertree";
 $a->strings["Libertree API token"] = "";
 $a->strings["Libertree site URL"] = "";
 $a->strings["Post to Libertree by default"] = "Publicar no Libertree por padrão";
index 4690e7c15bc0446ecea848581e32fb6e8eea76ed..bd99286a6394620e2569377c2438172b83dbeb59 100644 (file)
@@ -28,7 +28,7 @@ msgid "libertree Post Settings"
 msgstr "Configurări Postări libertree "
 
 #: libertree.php:69
-msgid "Enable Libertree Post Plugin"
+msgid "Enable Libertree Post Addon"
 msgstr "Activare Modul Postare Libertree"
 
 #: libertree.php:74
index 3136a26b0e59e8dd235c0031e9642e54c4c5fdb3..efa612ed5445449eb3d7d5cb53303ad2f3a227b1 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_ro($n){
 ;
 $a->strings["Post to libertree"] = "Postați pe libertree";
 $a->strings["libertree Post Settings"] = "Configurări Postări libertree ";
-$a->strings["Enable Libertree Post Plugin"] = "Activare Modul Postare Libertree";
+$a->strings["Enable Libertree Post Addon"] = "Activare Modul Postare Libertree";
 $a->strings["Libertree API token"] = "Token API Libertree";
 $a->strings["Libertree site URL"] = "URL site Libertree";
 $a->strings["Post to Libertree by default"] = "Postați implicit pe Libertree";
index c6101b705f99cca1e9d0b28e239e858f03da51ea..9d1522a4ab6c1fb9f86b344c7a6439889b8d4260 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to libertree"] = "";\r
 $a->strings["libertree Post Settings"] = "";\r
-$a->strings["Enable Libertree Post Plugin"] = "";\r
+$a->strings["Enable Libertree Post Addon"] = "";\r
 $a->strings["Libertree API token"] = "";\r
 $a->strings["Libertree site URL"] = "";\r
 $a->strings["Post to Libertree by default"] = "";\r
index 2122014c0eaaeb2c57906535a976392270fe2535..c3d1f6a109d42531499bef92cbefbf3410324691 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to libertree"] = "转播到libertree";\r
 $a->strings["libertree Post Settings"] = "libertree转播设置";\r
-$a->strings["Enable Libertree Post Plugin"] = "使Libertree转播插件可用";\r
+$a->strings["Enable Libertree Post Addon"] = "使Libertree转播插件可用";\r
 $a->strings["Libertree API token"] = "Libertree API令牌";\r
 $a->strings["Libertree site URL"] = "Libertree网站URL";\r
 $a->strings["Post to Libertree by default"] = "默认地转播到Libertree";\r
index 2909a8efb991054e37332b39af6f0f285a5f70ef..0dd6e38ad54a282ec251f7c79ece80b51c3c5da1 100644 (file)
@@ -74,7 +74,7 @@ function libertree_settings(&$a,&$s) {
     $s .= '</span>';
 
     $s .= '<div id="libertree-enable-wrapper">';
-    $s .= '<label id="libertree-enable-label" for="libertree-checkbox">' . t('Enable Libertree Post Plugin') . '</label>';
+    $s .= '<label id="libertree-enable-label" for="libertree-checkbox">' . t('Enable Libertree Post Addon') . '</label>';
     $s .= '<input id="libertree-checkbox" type="checkbox" name="libertree" value="1" ' . $checked . '/>';
     $s .= '</div><div class="clear"></div>';
 
index 16fbd85a24bbb09da743c37215c4084ea64296d8..07ac2a798309b384379e5e234762b6675bc43713 100644 (file)
@@ -1,4 +1,4 @@
-# Libravatar Plugin
+# Libravatar Addon
 by [Klaus Weidenbach](http://friendica.dszdw.net/profile/klaus)
 
 This addon allows you to look up an avatar image for new users and contacts at [Libravatar](http://www.libravatar.com). It will be used if there have not been found any other avatar images yet for example through OpenID.
@@ -6,7 +6,7 @@ This addon allows you to look up an avatar image for new users and contacts at [
 Libravatar is a free and open replacement for Gravatar. It is a service where people can store an avatar image for their email-addresses. These avatar images can get looked up for example in comment functions, profile pages, etc. on other sites. There exists a central installation at [www.libravatar.com](http://www.libravatar.com), but you can also host it on your own server. If no avatar was found Libravatar will look up at Gravatar as a fallback.
 There is no rating available, as it is on Gravatar, so all avatar lookups are g-rated. (Suitable for all audiences.)
 
-PHP >= 5.3 is required for this plugin!
+PHP >= 5.3 is required for this addon!
 
 You can not use the Libravatar and Gravatar addon at the same time. You need to choose one. If you need other ratings than g you better stay with Gravatar, otherwise it is safe to use Libravatar, because it will fall back to Gravatar if nothing was found at Libravatar.
 
index 6c506e053f112765e030fa4f0797f31065060b29..9baae18ebe175286931a8905e6160c8303a78c11 100644 (file)
@@ -26,7 +26,7 @@ msgid "LiveJournal Post Settings"
 msgstr ""
 
 #: ljpost.php:72
-msgid "Enable LiveJournal Post Plugin"
+msgid "Enable LiveJournal Post Addon"
 msgstr ""
 
 #: ljpost.php:77
index 04053fa20fee9f9e399d8a49b68c54cf12650aa5..ec370df8e7cc499728bbe263473dc4801a0ea728 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to LiveJournal"] = "Missatge a Livejournal";\r
 $a->strings["LiveJournal Post Settings"] = "Configuració d'enviaments a Livejournal";\r
-$a->strings["Enable LiveJournal Post Plugin"] = "Habilitat el plugin d'enviaments a Livejournal";\r
+$a->strings["Enable LiveJournal Post Addon"] = "Habilitat el addon d'enviaments a Livejournal";\r
 $a->strings["LiveJournal username"] = "Nom d'usuari a Livejournal";\r
 $a->strings["LiveJournal password"] = "Contrasenya a Livejournal";\r
 $a->strings["Post to LiveJournal by default"] = "Enviar per defecte a Livejournal";\r
index 78abd5272d8b75d01fa4834e90349d5a6b230331..74a88433a5d5c0cc84e7f89da86e8509b567f0e1 100644 (file)
@@ -28,8 +28,8 @@ msgid "LiveJournal Post Settings"
 msgstr "Nastavení LiveJournal Post"
 
 #: ljpost.php:72
-msgid "Enable LiveJournal Post Plugin"
-msgstr "Povolit LiveJournal Post plugin"
+msgid "Enable LiveJournal Post Addon"
+msgstr "Povolit LiveJournal Post addon"
 
 #: ljpost.php:77
 msgid "LiveJournal username"
index f1dad443a0d6e9d42235904daf6273e5b83bf822..d2c833d975f833e616dbe6921070701999a0b8f1 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_cs($n){
 ;
 $a->strings["Post to LiveJournal"] = "Poslat na LiveJournal";
 $a->strings["LiveJournal Post Settings"] = "Nastavení LiveJournal Post";
-$a->strings["Enable LiveJournal Post Plugin"] = "Povolit LiveJournal Post plugin";
+$a->strings["Enable LiveJournal Post Addon"] = "Povolit LiveJournal Post addon";
 $a->strings["LiveJournal username"] = "LiveJournal uživatelské jméno";
 $a->strings["LiveJournal password"] = "LiveJournal heslo";
 $a->strings["Post to LiveJournal by default"] = "Defaultně umístit na LiveJournal";
index 62cd8afc92ec8440da2eca4f03dd8c6b4e1d5533..4d915c0d37b3bd95fba072314b86545f6a229ee0 100644 (file)
@@ -29,8 +29,8 @@ msgid "LiveJournal Post Settings"
 msgstr "LiveJournal Veröffentlichungs-Einstellungen"
 
 #: ljpost.php:72
-msgid "Enable LiveJournal Post Plugin"
-msgstr "LiveJournal Post Plugin aktivieren"
+msgid "Enable LiveJournal Post Addon"
+msgstr "LiveJournal Post Addon aktivieren"
 
 #: ljpost.php:77
 msgid "LiveJournal username"
index 862b57798edf73bdb25fcc136939828f542eef8b..e6b9c84819465cb5063d4581cf54a1d5e34f4c2f 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_de($n){
 ;
 $a->strings["Post to LiveJournal"] = "In LiveJournal veröffentlichen.";
 $a->strings["LiveJournal Post Settings"] = "LiveJournal Veröffentlichungs-Einstellungen";
-$a->strings["Enable LiveJournal Post Plugin"] = "LiveJournal Post Plugin aktivieren";
+$a->strings["Enable LiveJournal Post Addon"] = "LiveJournal Post Addon aktivieren";
 $a->strings["LiveJournal username"] = "LiveJournal Benutzername";
 $a->strings["LiveJournal password"] = "LiveJournal Passwort";
 $a->strings["Post to LiveJournal by default"] = "Standardmäßig bei LiveJournal veröffentlichen";
index b606e6a661c4f4f917641c8e0a4f19cdc4431bca..1bd09a6f9c4eeb9f6fc90cd26b21c639f1f500e4 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to LiveJournal"] = "Afiŝi ĉe LiveJournal";\r
 $a->strings["LiveJournal Post Settings"] = "Agordoj pri afiŝoj ĉe LiveJournal";\r
-$a->strings["Enable LiveJournal Post Plugin"] = "Ŝalti la LiveJournal-afiŝo kromprogramon.";\r
+$a->strings["Enable LiveJournal Post Addon"] = "Ŝalti la LiveJournal-afiŝo kromprogramon.";\r
 $a->strings["LiveJournal username"] = "LiveJournal Salutnomo";\r
 $a->strings["LiveJournal password"] = "LiveJournal pasvorto";\r
 $a->strings["Post to LiveJournal by default"] = "Defaŭlte afiŝi al LiveJournal";\r
index 16efa134f7ed0667dbeb60cdf8dd3637a090d83e..f94e20bbd0755eabfa0e90fda842f94eb1def4e1 100644 (file)
@@ -28,8 +28,8 @@ msgid "LiveJournal Post Settings"
 msgstr "Ajustes de publicación de LiveJournal"
 
 #: ljpost.php:72
-msgid "Enable LiveJournal Post Plugin"
-msgstr "Habilitar Plugin de publicción de LiveJournal"
+msgid "Enable LiveJournal Post Addon"
+msgstr "Habilitar Addon de publicción de LiveJournal"
 
 #: ljpost.php:77
 msgid "LiveJournal username"
index 89e117fbcf564063b750ef23d24b6c798cffc178..10092765f923ab5ac9f5896f2514a6af3c6ff8f2 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_es($n){
 ;
 $a->strings["Post to LiveJournal"] = "Publicar en LiveJournal";
 $a->strings["LiveJournal Post Settings"] = "Ajustes de publicación de LiveJournal";
-$a->strings["Enable LiveJournal Post Plugin"] = "Habilitar Plugin de publicción de LiveJournal";
+$a->strings["Enable LiveJournal Post Addon"] = "Habilitar Addon de publicción de LiveJournal";
 $a->strings["LiveJournal username"] = "Nombre de usuario de LiveJournal";
 $a->strings["LiveJournal password"] = "Contraseña de LiveJournal";
 $a->strings["Post to LiveJournal by default"] = "Publicar en LiveJournal por defecto";
index 615f929a4e4b391eaf457bb8f163462434ec8abf..85407d5717c8ddfe253e41ddd55e2edcd3ef1b47 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to LiveJournal"] = "Poster vers LiveJournal";\r
 $a->strings["LiveJournal Post Settings"] = "Réglages LiveJournal";\r
-$a->strings["Enable LiveJournal Post Plugin"] = "Activer \"Poster vers LiveJournal\"";\r
+$a->strings["Enable LiveJournal Post Addon"] = "Activer \"Poster vers LiveJournal\"";\r
 $a->strings["LiveJournal username"] = "Nom d'utilisateur LiveJournal";\r
 $a->strings["LiveJournal password"] = "Mot de passe";\r
 $a->strings["Post to LiveJournal by default"] = "Poster vers LiveJournal par défaut";\r
index 5edfc631c5e9d07def6ef2da54db8df184634716..164dc4413dbf5ba0adc24445dc1cbe0e562ac2e4 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to LiveJournal"] = "";\r
 $a->strings["LiveJournal Post Settings"] = "";\r
-$a->strings["Enable LiveJournal Post Plugin"] = "";\r
+$a->strings["Enable LiveJournal Post Addon"] = "";\r
 $a->strings["LiveJournal username"] = "";\r
 $a->strings["LiveJournal password"] = "";\r
 $a->strings["Post to LiveJournal by default"] = "";\r
index 23b345bb9d517e8b22b209f5753530364bcfc072..fb6f3493fb541c80238f3bbd04fd0068486f8a34 100644 (file)
@@ -28,8 +28,8 @@ msgid "LiveJournal Post Settings"
 msgstr "Impostazioni invio a LiveJournal"
 
 #: ljpost.php:72
-msgid "Enable LiveJournal Post Plugin"
-msgstr "Abilita il plugin di invio a LiveJournal"
+msgid "Enable LiveJournal Post Addon"
+msgstr "Abilita il addon di invio a LiveJournal"
 
 #: ljpost.php:77
 msgid "LiveJournal username"
index 538b0ef88393793aa7feddc73ac7afb16e32262f..041d4077d37eb73fa017b8000f57ece32836ecd8 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_it($n){
 ;
 $a->strings["Post to LiveJournal"] = "Invia a LiveJournal";
 $a->strings["LiveJournal Post Settings"] = "Impostazioni invio a LiveJournal";
-$a->strings["Enable LiveJournal Post Plugin"] = "Abilita il plugin di invio a LiveJournal";
+$a->strings["Enable LiveJournal Post Addon"] = "Abilita il addon di invio a LiveJournal";
 $a->strings["LiveJournal username"] = "Nome utente LiveJournal";
 $a->strings["LiveJournal password"] = "Password LiveJournal";
 $a->strings["Post to LiveJournal by default"] = "Invia sempre a LiveJournal";
index c4e0456251ee01f9c512726f764011e54cf1fc57..0ea53bd39c6be2628c1267e8226802c722b6b2d8 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to LiveJournal"] = "";\r
 $a->strings["LiveJournal Post Settings"] = "";\r
-$a->strings["Enable LiveJournal Post Plugin"] = "";\r
+$a->strings["Enable LiveJournal Post Addon"] = "";\r
 $a->strings["LiveJournal username"] = "";\r
 $a->strings["LiveJournal password"] = "";\r
 $a->strings["Post to LiveJournal by default"] = "";\r
index 3497dc2ca9973fea355e8b5fabc41d9f92981428..a96826eea61185052f0e475ae6b637b6124861f8 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to LiveJournal"] = "Post do LiveJournal";\r
 $a->strings["LiveJournal Post Settings"] = "Ustawienia postów do LiveJournal";\r
-$a->strings["Enable LiveJournal Post Plugin"] = "";\r
+$a->strings["Enable LiveJournal Post Addon"] = "";\r
 $a->strings["LiveJournal username"] = "Nazwa użytkownika do LiveJournal";\r
 $a->strings["LiveJournal password"] = "Hasło do LiveJournal";\r
 $a->strings["Post to LiveJournal by default"] = "automatycznie publikuj na LiveJournal";\r
index 3ed7117f3348d5c6fe1df7c63ed1f1eb859df52f..832a647de36a2bf19d112edd619419c256b5424f 100644 (file)
@@ -28,7 +28,7 @@ msgid "LiveJournal Post Settings"
 msgstr "Configurações de publicação no LiveJournal"
 
 #: ljpost.php:72
-msgid "Enable LiveJournal Post Plugin"
+msgid "Enable LiveJournal Post Addon"
 msgstr "Habilitar plug-in para publicar no LiveJournal"
 
 #: ljpost.php:77
index 0792861bea9f8e4c1f07fc43fb75daf4d9df2f31..ddc091a40686d9a59d3d3db0c494d8dc00b7395f 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_pt_br($n){
 ;
 $a->strings["Post to LiveJournal"] = "Publicar no LiveJournal";
 $a->strings["LiveJournal Post Settings"] = "Configurações de publicação no LiveJournal";
-$a->strings["Enable LiveJournal Post Plugin"] = "Habilitar plug-in para publicar no LiveJournal";
+$a->strings["Enable LiveJournal Post Addon"] = "Habilitar plug-in para publicar no LiveJournal";
 $a->strings["LiveJournal username"] = "Nome de usuário no LiveJournal";
 $a->strings["LiveJournal password"] = "Senha do LiveJournal";
 $a->strings["Post to LiveJournal by default"] = "Publicar no LiveJournal por padrão";
index 2393930af95adee3583791f4850a561badd602c5..546e49bb7bee13bd2dabb316b7091687d03611ea 100644 (file)
@@ -28,7 +28,7 @@ msgid "LiveJournal Post Settings"
 msgstr "Configurări Postări LiveJournal"
 
 #: ljpost.php:72
-msgid "Enable LiveJournal Post Plugin"
+msgid "Enable LiveJournal Post Addon"
 msgstr "Activare Modul Postare LiveJournal"
 
 #: ljpost.php:77
index 4bc21cc4f46038017b62cfdeb55c00f6c67d905b..b65c77549f451110809c871215eab9f4a7982191 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_ro($n){
 ;
 $a->strings["Post to LiveJournal"] = "Postați pe LiveJournal";
 $a->strings["LiveJournal Post Settings"] = "Configurări Postări LiveJournal";
-$a->strings["Enable LiveJournal Post Plugin"] = "Activare Modul Postare LiveJournal";
+$a->strings["Enable LiveJournal Post Addon"] = "Activare Modul Postare LiveJournal";
 $a->strings["LiveJournal username"] = "Utilizator LiveJournal";
 $a->strings["LiveJournal password"] = "Parolă LiveJournal ";
 $a->strings["Post to LiveJournal by default"] = "Postați implicit pe LiveJournal";
index 8e8474379d83ec40b74115908367df470bd65b7d..89a241cd26981004ccde8d9e686d1831ff068f2d 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to LiveJournal"] = "";\r
 $a->strings["LiveJournal Post Settings"] = "";\r
-$a->strings["Enable LiveJournal Post Plugin"] = "Включить LiveJournal  плагин сообщений";\r
+$a->strings["Enable LiveJournal Post Addon"] = "Включить LiveJournal  плагин сообщений";\r
 $a->strings["LiveJournal username"] = "";\r
 $a->strings["LiveJournal password"] = "";\r
 $a->strings["Post to LiveJournal by default"] = "";\r
index f34b63659f34a496d050099b79fe2e0822120d1b..579eac21d3afea9ecae723af8126359acac1fd01 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to LiveJournal"] = "转播到LiveJournal";\r
 $a->strings["LiveJournal Post Settings"] = "LiveJournal转播设置";\r
-$a->strings["Enable LiveJournal Post Plugin"] = "使Livejournal转播插件可用";\r
+$a->strings["Enable LiveJournal Post Addon"] = "使Livejournal转播插件可用";\r
 $a->strings["LiveJournal username"] = "LiveJournal用户名";\r
 $a->strings["LiveJournal password"] = "LiveJournal密码";\r
 $a->strings["Post to LiveJournal by default"] = "默认地转播到LiveJournal";\r
index 6f3585305096eeb05c37bc0851dd9b955d25463d..7843d6f3912791adcd81adcd96d58068779abea2 100644 (file)
@@ -70,7 +70,7 @@ function ljpost_settings(&$a,&$s) {
     $s .= '<div class="settings-block">';
     $s .= '<h3>' . t('LiveJournal Post Settings') . '</h3>';
     $s .= '<div id="ljpost-enable-wrapper">';
-    $s .= '<label id="ljpost-enable-label" for="ljpost-checkbox">' . t('Enable LiveJournal Post Plugin') . '</label>';
+    $s .= '<label id="ljpost-enable-label" for="ljpost-checkbox">' . t('Enable LiveJournal Post Addon') . '</label>';
     $s .= '<input id="ljpost-checkbox" type="checkbox" name="ljpost" value="1" ' . $checked . '/>';
     $s .= '</div><div class="clear"></div>';
 
index 8ff13f11046ae84bc49d2397ef49ec9e3e93ba80..c2611e8603eaab67c155c05355325292b1289cc3 100644 (file)
@@ -176,7 +176,7 @@ class PHPMailer
     public $UseSendmailOptions = true;
 
     /**
-     * Path to PHPMailer plugins.
+     * Path to PHPMailer addons.
      * Useful if the SMTP class is not in the PHP include path.
      * @var string
      * @deprecated Should not be needed now there is an autoloader.
index 826737335ccbe0382280a957bcd1b4e229f29257..f44812c3425a1aebedb3e73633e7f659dc4ccac7 100644 (file)
@@ -28,7 +28,7 @@ msgid ""
 "The MathJax addon renders mathematical formulae written using the LaTeX "
 "syntax surrounded by the usual $$ or an eqnarray block in the postings of "
 "your wall,network tab and private mail."
-msgstr "Il plugin \"MatJax\" renderizza formule matematiche scritta usando la sintassi LaTeX circondate dalle usuali $$ o un blocco eqnarray nei messaggi della tua bacheca, pagina Rete e messaggi privati."
+msgstr "Iladdon\"MatJax\" renderizza formule matematiche scritta usando la sintassi LaTeX circondate dalle usuali $$ o un blocco eqnarray nei messaggi della tua bacheca, pagina Rete e messaggi privati."
 
 #: mathjax.php:38
 msgid "Use the MathJax renderer"
index 1481d731d3455b88751d6ab7dde0b9f7805741f7..a1aa5b2b025330f09216680d70bb882ec5e8d200 100644 (file)
@@ -6,7 +6,7 @@ function string_plural_select_it($n){
 }}
 ;
 $a->strings["Settings"] = "Impostazioni";
-$a->strings["The MathJax addon renders mathematical formulae written using the LaTeX syntax surrounded by the usual $$ or an eqnarray block in the postings of your wall,network tab and private mail."] = "Il plugin \"MatJax\" renderizza formule matematiche scritta usando la sintassi LaTeX circondate dalle usuali $$ o un blocco eqnarray nei messaggi della tua bacheca, pagina Rete e messaggi privati.";
+$a->strings["The MathJax addon renders mathematical formulae written using the LaTeX syntax surrounded by the usual $$ or an eqnarray block in the postings of your wall,network tab and private mail."] = "Il addon \"MatJax\" renderizza formule matematiche scritta usando la sintassi LaTeX circondate dalle usuali $$ o un blocco eqnarray nei messaggi della tua bacheca, pagina Rete e messaggi privati.";
 $a->strings["Use the MathJax renderer"] = "Usa il render MathJax";
 $a->strings["Submit"] = "Invia";
 $a->strings["Settings updated."] = "Impostazioni aggiornate.";
index 624fb7031032634cc6d50e9b894cd095c1fab6f7..e4a8b9d3188a0eef11fd71c4fce0b0a754580691 100644 (file)
@@ -6,7 +6,7 @@ Scans the message content for the string 'nsfw'
 (case insensitive) and if found replaces the content
 with a "click to open/close" link, default is closed.
 
-If you click on the 'Not safe for work' plugin under
+If you click on the 'Not safe for work' addon under
 /settings/addon a text field appears, where you can
 extend the list of search terms. The terms must be
 seperated by commas.
index 34ad6565f061102f7e6c25c71df6f77a4244a971..0fd1035cb489bffd5dd56bf9e2e8a9c67e300850 100644 (file)
@@ -23,7 +23,7 @@ msgstr ""
 
 #: nsfw.php:80
 msgid ""
-"This plugin looks in posts for the words/text you specify below, and "
+"This addon looks in posts for the words/text you specify below, and "
 "collapses any content containing those keywords so it is not displayed at "
 "inappropriate times, such as sexual innuendo that may be improper in a work "
 "setting. It is polite and recommended to tag any content containing nudity "
index 36607e47eec0c528e496477d8247f44097972864..349ffefd936a7b71729fa766c30c7abee25f5dca 100644 (file)
@@ -1,7 +1,7 @@
 <?php\r
 \r
 $a->strings["Not Safe For Work (General Purpose Content Filter) settings"] = "Ajustos, Not Safe For Work (Filtre de Contingut de Propòsit General)";\r
-$a->strings["This plugin looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Aquest plugin es veu en enviaments amb les paraules/text que s'especifiquen a continuació , i amagarà qualsevol contingut que contingui les paraules clau de manera que no apareguin en moments inapropiats, com ara insinuacions sexuals que poden ser inadequades en un entorn de treball. És de bona educació i es recomana etiquetar qualsevol contingut que contingui nus amb #NSFW. Aquest filtre també es pot fer coincidir amb qualsevol paraula/text que especifiqueu, i per tant pot ser utilitzat com un filtre general de contingut.";\r
+$a->strings["This addon looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Aquest addon es veu en enviaments amb les paraules/text que s'especifiquen a continuació , i amagarà qualsevol contingut que contingui les paraules clau de manera que no apareguin en moments inapropiats, com ara insinuacions sexuals que poden ser inadequades en un entorn de treball. És de bona educació i es recomana etiquetar qualsevol contingut que contingui nus amb #NSFW. Aquest filtre també es pot fer coincidir amb qualsevol paraula/text que especifiqueu, i per tant pot ser utilitzat com un filtre general de contingut.";\r
 $a->strings["Enable Content filter"] = "Activat el filtre de Contingut";\r
 $a->strings["Comma separated list of keywords to hide"] = "Llista separada per comes de paraules clau per ocultar";\r
 $a->strings["Submit"] = "Enviar";\r
index da5142ba4b493d1f917c5181198a7c9b04555358..61d367c4df553ccca9d8961c7c51e988f932507a 100644 (file)
@@ -25,13 +25,13 @@ msgstr "Not Safe For Work (General Purpose Content Filter) nastavení"
 
 #: nsfw.php:80
 msgid ""
-"This plugin looks in posts for the words/text you specify below, and "
+"This addon looks in posts for the words/text you specify below, and "
 "collapses any content containing those keywords so it is not displayed at "
 "inappropriate times, such as sexual innuendo that may be improper in a work "
 "setting. It is polite and recommended to tag any content containing nudity "
 "with #NSFW.  This filter can also match any other word/text you specify, and"
 " can thereby be used as a general purpose content filter."
-msgstr "Tento plugin hledá v příspěvcích slova zadáná níže a skryje jakýkoliv obsah, který tyto slova obsahuje v prostředích, kde to není vhodné. Je slušné a doporučené jakékoliv příspěvky s mahotou označit s #NSFW.  Tento filtr může také vyhledávat jakékoliv Vámi specifikované slovní spojení, takže může být využit jako obecný kontextový filtr."
+msgstr "Tento addon hledá v příspěvcích slova zadáná níže a skryje jakýkoliv obsah, který tyto slova obsahuje v prostředích, kde to není vhodné. Je slušné a doporučené jakékoliv příspěvky s mahotou označit s #NSFW.  Tento filtr může také vyhledávat jakékoliv Vámi specifikované slovní spojení, takže může být využit jako obecný kontextový filtr."
 
 #: nsfw.php:81
 msgid "Enable Content filter"
index 9731449582fd0b18598b82915019f36d96ab2f8d..fd07368bd2fc0ea00855241cae86eb826d881132 100644 (file)
@@ -6,7 +6,7 @@ function string_plural_select_cs($n){
 }}
 ;
 $a->strings["Not Safe For Work (General Purpose Content Filter) settings"] = "Not Safe For Work (General Purpose Content Filter) nastavení";
-$a->strings["This plugin looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Tento plugin hledá v příspěvcích slova zadáná níže a skryje jakýkoliv obsah, který tyto slova obsahuje v prostředích, kde to není vhodné. Je slušné a doporučené jakékoliv příspěvky s mahotou označit s #NSFW.  Tento filtr může také vyhledávat jakékoliv Vámi specifikované slovní spojení, takže může být využit jako obecný kontextový filtr.";
+$a->strings["This addon looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Tento addon hledá v příspěvcích slova zadáná níže a skryje jakýkoliv obsah, který tyto slova obsahuje v prostředích, kde to není vhodné. Je slušné a doporučené jakékoliv příspěvky s mahotou označit s #NSFW.  Tento filtr může také vyhledávat jakékoliv Vámi specifikované slovní spojení, takže může být využit jako obecný kontextový filtr.";
 $a->strings["Enable Content filter"] = "Povolit Kontextový filtr";
 $a->strings["Comma separated list of keywords to hide"] = "Čárkou oddělený seznam klíčových slov ke skrytí";
 $a->strings["Submit"] = "Odeslat";
index 1355f8aba42d38506c7839aaf1945bce9c6242d5..192c33cf15c128af0cbec293ffe8b1fbb951168b 100644 (file)
@@ -26,13 +26,13 @@ msgstr "Not Safe for Work (Filter für ungewollte Inhalte) Einstellungen:"
 
 #: nsfw.php:80
 msgid ""
-"This plugin looks in posts for the words/text you specify below, and "
+"This addon looks in posts for the words/text you specify below, and "
 "collapses any content containing those keywords so it is not displayed at "
 "inappropriate times, such as sexual innuendo that may be improper in a work "
 "setting. It is polite and recommended to tag any content containing nudity "
 "with #NSFW.  This filter can also match any other word/text you specify, and"
 " can thereby be used as a general purpose content filter."
-msgstr "Dieses Plugin sucht in Beiträgen nach Wörtern oder Textbauteilen die du weiter unten eingibst, findet es diese Bausteine, dann wird der entsprechende Beitrag zusammengefaltet dargestellt. Auf diese Weise wird verhindert, dass Inhalte, wie z.B. sexuelle Anspielungen, in unpassenden Momenten angezeigt werden. Du solltest den #NSFW Tag für Beiträge verwenden von denen du ausgehen kannst, dass andere sie anstößig finden könnten. Su kannst beliebige Wörter in der Filterliste angeben und ihn so als allgemeinen Filter verwenden."
+msgstr "Dieses Addon sucht in Beiträgen nach Wörtern oder Textbauteilen die du weiter unten eingibst, findet es diese Bausteine, dann wird der entsprechende Beitrag zusammengefaltet dargestellt. Auf diese Weise wird verhindert, dass Inhalte, wie z.B. sexuelle Anspielungen, in unpassenden Momenten angezeigt werden. Du solltest den #NSFW Tag für Beiträge verwenden von denen du ausgehen kannst, dass andere sie anstößig finden könnten. Su kannst beliebige Wörter in der Filterliste angeben und ihn so als allgemeinen Filter verwenden."
 
 #: nsfw.php:81
 msgid "Enable Content filter"
index 36e258fabe29e2384b5a888549756b371a4e2bab..a313c5059c77378b73d36b2648be6417fb7138bf 100644 (file)
@@ -6,7 +6,7 @@ function string_plural_select_de($n){
 }}
 ;
 $a->strings["Not Safe For Work (General Purpose Content Filter) settings"] = "Not Safe for Work (Filter für ungewollte Inhalte) Einstellungen:";
-$a->strings["This plugin looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Dieses Plugin sucht in Beiträgen nach Wörtern oder Textbauteilen die du weiter unten eingibst, findet es diese Bausteine, dann wird der entsprechende Beitrag zusammengefaltet dargestellt. Auf diese Weise wird verhindert, dass Inhalte, wie z.B. sexuelle Anspielungen, in unpassenden Momenten angezeigt werden. Du solltest den #NSFW Tag für Beiträge verwenden von denen du ausgehen kannst, dass andere sie anstößig finden könnten. Su kannst beliebige Wörter in der Filterliste angeben und ihn so als allgemeinen Filter verwenden.";
+$a->strings["This addon looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Dieses Addon sucht in Beiträgen nach Wörtern oder Textbauteilen die du weiter unten eingibst, findet es diese Bausteine, dann wird der entsprechende Beitrag zusammengefaltet dargestellt. Auf diese Weise wird verhindert, dass Inhalte, wie z.B. sexuelle Anspielungen, in unpassenden Momenten angezeigt werden. Du solltest den #NSFW Tag für Beiträge verwenden von denen du ausgehen kannst, dass andere sie anstößig finden könnten. Su kannst beliebige Wörter in der Filterliste angeben und ihn so als allgemeinen Filter verwenden.";
 $a->strings["Enable Content filter"] = "Aktiviere den Inhaltsfilter";
 $a->strings["Comma separated list of keywords to hide"] = "Durch Kommata getrennte Liste von Schlüsselwörtern die verborgen werden sollen";
 $a->strings["Submit"] = "Senden";
index d3f39d082788ac1cb60dca0e376b47ca2cc38fd4..13da052ae99a503d1c52c334646e6643836135fa 100644 (file)
@@ -1,7 +1,7 @@
 <?php\r
 \r
 $a->strings["Not Safe For Work (General Purpose Content Filter) settings"] = "Not Safe For Work (ĝenerala filtrilo por enhavoj) agordoj";\r
-$a->strings["This plugin looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Tiu kromprogramo serĉas la malsupre agordatajn vortojn en afiŝoj kaj malvidebligis ilin se ili enhavas iun vorton. Tiel, afiŝoj ne montriĝis kiuj enhavas maladekvatan enhavon, ekzemple seksumaj aferoj, kiuj ne estas adekvata, ekzemple en la laborejo. En la reto, oni kutime markas tiajn afiŝojn #NSFW - Not Safe For Work - ne adekvata por la laborejo.  La filtrilo ankaŭ serĉas ĉiujn vortojn kiujn vi agordas kaj tial funkcias kiel ĝenerala filtrilo.";\r
+$a->strings["This addon looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Tiu kromprogramo serĉas la malsupre agordatajn vortojn en afiŝoj kaj malvidebligis ilin se ili enhavas iun vorton. Tiel, afiŝoj ne montriĝis kiuj enhavas maladekvatan enhavon, ekzemple seksumaj aferoj, kiuj ne estas adekvata, ekzemple en la laborejo. En la reto, oni kutime markas tiajn afiŝojn #NSFW - Not Safe For Work - ne adekvata por la laborejo.  La filtrilo ankaŭ serĉas ĉiujn vortojn kiujn vi agordas kaj tial funkcias kiel ĝenerala filtrilo.";\r
 $a->strings["Enable Content filter"] = "Ŝalti la filtrilo por la enhavo";\r
 $a->strings["Comma separated list of keywords to hide"] = "Perkome disigita listo da kaŝontaj ŝlosilvortoj";\r
 $a->strings["Submit"] = "Sendi";\r
index 45659825b8ac689987d38946fe31607491cf97d3..2950395f29ed4084107b475830a11612fbca7c2d 100644 (file)
@@ -25,13 +25,13 @@ msgstr "Configuración \"No apto para trabajar\" (Filtro genérico de contenido)
 
 #: nsfw.php:80
 msgid ""
-"This plugin looks in posts for the words/text you specify below, and "
+"This addon looks in posts for the words/text you specify below, and "
 "collapses any content containing those keywords so it is not displayed at "
 "inappropriate times, such as sexual innuendo that may be improper in a work "
 "setting. It is polite and recommended to tag any content containing nudity "
 "with #NSFW.  This filter can also match any other word/text you specify, and"
 " can thereby be used as a general purpose content filter."
-msgstr "Este plugin se fija por el contenido del texto y colapsa todo tema o respuesta que contiene las palabras establecidas. Como tales pueden ser contenido sexual o de otra índole que no conviene desplegar en el trabajo o ambientes correspondientes. Es de buena educación y recomendado de identificar todo tipo de contenido explicito con #NSFW. Este filtro además puede ser usado con cualquier palabra a especificar y por lo tanto ser usado como un filtro generico de contenido."
+msgstr "Este addon se fija por el contenido del texto y colapsa todo tema o respuesta que contiene las palabras establecidas. Como tales pueden ser contenido sexual o de otra índole que no conviene desplegar en el trabajo o ambientes correspondientes. Es de buena educación y recomendado de identificar todo tipo de contenido explicito con #NSFW. Este filtro además puede ser usado con cualquier palabra a especificar y por lo tanto ser usado como un filtro generico de contenido."
 
 #: nsfw.php:81
 msgid "Enable Content filter"
index 54fb2688ffc3a3d610fb25fa7b4ca96cb6743265..75d3211df263f96a496608280c2c2f934e3f4c45 100644 (file)
@@ -6,7 +6,7 @@ function string_plural_select_es($n){
 }}
 ;
 $a->strings["Not Safe For Work (General Purpose Content Filter) settings"] = "Configuración \"No apto para trabajar\" (Filtro genérico de contenido)";
-$a->strings["This plugin looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Este plugin se fija por el contenido del texto y colapsa todo tema o respuesta que contiene las palabras establecidas. Como tales pueden ser contenido sexual o de otra índole que no conviene desplegar en el trabajo o ambientes correspondientes. Es de buena educación y recomendado de identificar todo tipo de contenido explicito con #NSFW. Este filtro además puede ser usado con cualquier palabra a especificar y por lo tanto ser usado como un filtro generico de contenido.";
+$a->strings["This addon looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Este addon se fija por el contenido del texto y colapsa todo tema o respuesta que contiene las palabras establecidas. Como tales pueden ser contenido sexual o de otra índole que no conviene desplegar en el trabajo o ambientes correspondientes. Es de buena educación y recomendado de identificar todo tipo de contenido explicito con #NSFW. Este filtro además puede ser usado con cualquier palabra a especificar y por lo tanto ser usado como un filtro generico de contenido.";
 $a->strings["Enable Content filter"] = "Habilitar filtro de contenido";
 $a->strings["Comma separated list of keywords to hide"] = "Lista de palabras claves separadas por coma para colapsar el contenido correspondiente.";
 $a->strings["Submit"] = "Enviar";
index 1bfbfdfa9ebbdcdafe3f95068fe5014ce39ce772..09086f48cb5bb9699e71a365873995c3896e12fd 100644 (file)
@@ -1,7 +1,7 @@
 <?php\r
 \r
 $a->strings["Not Safe For Work (General Purpose Content Filter) settings"] = "Réglages de \"NSFW\" (filtrage de contenu)";\r
-$a->strings["This plugin looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Cette extension va parcourir les publications à la recherche des mots (ou phrases) que vous spécifierez ci-dessous, et repliera automatiquement tout contenu qui les contiendrait, afin de ne pas risquer de les afficher à un moment inopportun. Comme par exemple des messages à caractère sexuel dans un contexte professionnel. Il est globalement considéré comme correct et poli de \"tagguer\" toute publication contenant de la nudité avec #NSFW (Not Safe For Work - pas pour le boulot).    Ce filtre peut également fonctionner pour tout autre texte que vous spécifierez, et pourra ainsi être utilisé comme filtre de contenu générique.";\r
+$a->strings["This addon looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Cette extension va parcourir les publications à la recherche des mots (ou phrases) que vous spécifierez ci-dessous, et repliera automatiquement tout contenu qui les contiendrait, afin de ne pas risquer de les afficher à un moment inopportun. Comme par exemple des messages à caractère sexuel dans un contexte professionnel. Il est globalement considéré comme correct et poli de \"tagguer\" toute publication contenant de la nudité avec #NSFW (Not Safe For Work - pas pour le boulot).    Ce filtre peut également fonctionner pour tout autre texte que vous spécifierez, et pourra ainsi être utilisé comme filtre de contenu générique.";\r
 $a->strings["Enable Content filter"] = "Activer le filtrage de contenu";\r
 $a->strings["Comma separated list of keywords to hide"] = "Liste de mots-clés - séparés par des virgules - à cacher";\r
 $a->strings["Submit"] = "Envoyer";\r
index f4bcb824695edbb25556f2d967a8ab42430a4a4c..534f19c2436f08d05b7c848511632505baecd744 100644 (file)
@@ -1,7 +1,7 @@
 <?php\r
 \r
 $a->strings["Not Safe For Work (General Purpose Content Filter) settings"] = "";\r
-$a->strings["This plugin looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "";\r
+$a->strings["This addon looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "";\r
 $a->strings["Enable Content filter"] = "";\r
 $a->strings["Comma separated list of keywords to hide"] = "";\r
 $a->strings["Submit"] = "Senda inn";\r
index 934a3cae1bebd83e605eeb473860e63e0409cb71..37b2574040de86002ac25df60ef8c44abfab7ee2 100644 (file)
@@ -25,13 +25,13 @@ msgstr "Impostazioni per NSWF (Filtro Contenuti Generico)"
 
 #: nsfw.php:80
 msgid ""
-"This plugin looks in posts for the words/text you specify below, and "
+"This addon looks in posts for the words/text you specify below, and "
 "collapses any content containing those keywords so it is not displayed at "
 "inappropriate times, such as sexual innuendo that may be improper in a work "
 "setting. It is polite and recommended to tag any content containing nudity "
 "with #NSFW.  This filter can also match any other word/text you specify, and"
 " can thereby be used as a general purpose content filter."
-msgstr "Questo plugin cerca nei messagi le parole/testo che inserisci qui sotto, e collassa i messaggi che li contengono, per non mostrare contenuto inappropriato nel momento sbagliato, come contenuto a sfondo sessuale che può essere inappropriato in un ambiente di lavoro. E' educato (e consigliato) taggare i messaggi che contengono nudità con #NSFW (Not Safe For Work: Non Sicuro Per il Lavoro). Questo filtro può cercare anche qualsiasi parola che inserisci, quindi può essere usato come filtro di contenuti generico."
+msgstr "Questo addon cerca nei messagi le parole/testo che inserisci qui sotto, e collassa i messaggi che li contengono, per non mostrare contenuto inappropriato nel momento sbagliato, come contenuto a sfondo sessuale che può essere inappropriato in un ambiente di lavoro. E' educato (e consigliato) taggare i messaggi che contengono nudità con #NSFW (Not Safe For Work: Non Sicuro Per il Lavoro). Questo filtro può cercare anche qualsiasi parola che inserisci, quindi può essere usato come filtro di contenuti generico."
 
 #: nsfw.php:81
 msgid "Enable Content filter"
index 36f7d972924ac184beb5d1901d2496b8e0ed8390..fc8ec54d1c475eca8914c564574bca9cbdf2c1aa 100644 (file)
@@ -6,7 +6,7 @@ function string_plural_select_it($n){
 }}
 ;
 $a->strings["Not Safe For Work (General Purpose Content Filter) settings"] = "Impostazioni per NSWF (Filtro Contenuti Generico)";
-$a->strings["This plugin looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Questo plugin cerca nei messagi le parole/testo che inserisci qui sotto, e collassa i messaggi che li contengono, per non mostrare contenuto inappropriato nel momento sbagliato, come contenuto a sfondo sessuale che può essere inappropriato in un ambiente di lavoro. E' educato (e consigliato) taggare i messaggi che contengono nudità con #NSFW (Not Safe For Work: Non Sicuro Per il Lavoro). Questo filtro può cercare anche qualsiasi parola che inserisci, quindi può essere usato come filtro di contenuti generico.";
+$a->strings["This addon looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Questo addon cerca nei messagi le parole/testo che inserisci qui sotto, e collassa i messaggi che li contengono, per non mostrare contenuto inappropriato nel momento sbagliato, come contenuto a sfondo sessuale che può essere inappropriato in un ambiente di lavoro. E' educato (e consigliato) taggare i messaggi che contengono nudità con #NSFW (Not Safe For Work: Non Sicuro Per il Lavoro). Questo filtro può cercare anche qualsiasi parola che inserisci, quindi può essere usato come filtro di contenuti generico.";
 $a->strings["Enable Content filter"] = "Abilita il Filtro Contenuti";
 $a->strings["Comma separated list of keywords to hide"] = "Elenco separato da virgole di parole da nascondere";
 $a->strings["Submit"] = "Invia";
index 7836003f2ff53c6a1f28592600eca724156f9546..5274da91171ab7d49298659fb811c5870ff45ba8 100644 (file)
@@ -1,7 +1,7 @@
 <?php\r
 \r
 $a->strings["Not Safe For Work (General Purpose Content Filter) settings"] = "";\r
-$a->strings["This plugin looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "";\r
+$a->strings["This addon looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "";\r
 $a->strings["Enable Content filter"] = "";\r
 $a->strings["Comma separated list of keywords to hide"] = "";\r
 $a->strings["Submit"] = "Lagre";\r
index b99d9ec2d01f7b30063c41fe7bf0e88491e4666f..ea2189ca3b4c6dd3fa56d8d324308830380c36e6 100644 (file)
@@ -1,7 +1,7 @@
 <?php\r
 \r
 $a->strings["Not Safe For Work (General Purpose Content Filter) settings"] = "";\r
-$a->strings["This plugin looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "";\r
+$a->strings["This addon looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "";\r
 $a->strings["Enable Content filter"] = "";\r
 $a->strings["Comma separated list of keywords to hide"] = "";\r
 $a->strings["Submit"] = "Potwierdź";\r
index 013c8b48542497b2fd3cbcbc4d612f2f6b8b5185..10435354e53ff43c4c5780b343514231d910139b 100644 (file)
@@ -25,7 +25,7 @@ msgstr ""
 
 #: nsfw.php:80
 msgid ""
-"This plugin looks in posts for the words/text you specify below, and "
+"This addon looks in posts for the words/text you specify below, and "
 "collapses any content containing those keywords so it is not displayed at "
 "inappropriate times, such as sexual innuendo that may be improper in a work "
 "setting. It is polite and recommended to tag any content containing nudity "
index 6c1b15d9817b1af07c6331bb44ca804202db834e..21a814923f9b9a1f54c1355d06176315ecaa2f79 100644 (file)
@@ -6,7 +6,7 @@ function string_plural_select_pt_br($n){
 }}
 ;
 $a->strings["Not Safe For Work (General Purpose Content Filter) settings"] = "";
-$a->strings["This plugin looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "";
+$a->strings["This addon looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "";
 $a->strings["Enable Content filter"] = "Habilitar filtro de conteúdo";
 $a->strings["Comma separated list of keywords to hide"] = "";
 $a->strings["Submit"] = "Enviar";
index 503813c490d032b4f31a52c82104443810002bc8..06d97e3f7143d2c12b3c97caa0ba2cdeb44caa54 100644 (file)
@@ -25,7 +25,7 @@ msgstr "Nesigur Pentru Lucru (Filtrare de Conținut pentru Uz General )"
 
 #: nsfw.php:80
 msgid ""
-"This plugin looks in posts for the words/text you specify below, and "
+"This addon looks in posts for the words/text you specify below, and "
 "collapses any content containing those keywords so it is not displayed at "
 "inappropriate times, such as sexual innuendo that may be improper in a work "
 "setting. It is polite and recommended to tag any content containing nudity "
index 28f71d2c93f60efc59f67c3ba13cb67a1bacb4e4..f03f490f8f8ad41ecf9095cb4fa98c4622c0a9ce 100644 (file)
@@ -6,7 +6,7 @@ function string_plural_select_ro($n){
 }}
 ;
 $a->strings["Not Safe For Work (General Purpose Content Filter) settings"] = "Nesigur Pentru Lucru (Filtrare de Conținut pentru Uz General )";
-$a->strings["This plugin looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Acest modul verifică în postări, cuvintele/textele pe care le specificați mai jos, și cenzurează orice conținut cu aceste cuvinte cheie, astfel încât să nu se afișeze în momentele necorespunzătoare, precum aluziile sexuale ce pot fi necorespunzătoare într-un mediu de lucru. Este politicos și recomandat să etichetați orice conținut cu nuditate, folosind eticheta #NSFW. Acest filtru poate de asemenea, potrivi orice alt cuvânt/text specificat, şi poate fi folosit astfel și ca filtru de conținut cu scop general.";
+$a->strings["This addon looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Acest modul verifică în postări, cuvintele/textele pe care le specificați mai jos, și cenzurează orice conținut cu aceste cuvinte cheie, astfel încât să nu se afișeze în momentele necorespunzătoare, precum aluziile sexuale ce pot fi necorespunzătoare într-un mediu de lucru. Este politicos și recomandat să etichetați orice conținut cu nuditate, folosind eticheta #NSFW. Acest filtru poate de asemenea, potrivi orice alt cuvânt/text specificat, şi poate fi folosit astfel și ca filtru de conținut cu scop general.";
 $a->strings["Enable Content filter"] = "Activare filtru de Conținut";
 $a->strings["Comma separated list of keywords to hide"] = "Lista cu separator prin virgulă a cuvintelor cheie, ce vor declanșa ascunderea";
 $a->strings["Submit"] = "Trimite";
index 2ccb5ad143781ea8f4fb14be4f3184a265b8085e..7e821ed8872d103a37282a56d693310a2ffffcbc 100644 (file)
@@ -1,7 +1,7 @@
 <?php\r
 \r
 $a->strings["Not Safe For Work (General Purpose Content Filter) settings"] = "";\r
-$a->strings["This plugin looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "";\r
+$a->strings["This addon looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "";\r
 $a->strings["Enable Content filter"] = "Включить фильтр содержимого";\r
 $a->strings["Comma separated list of keywords to hide"] = "ключевые слова, которые скрыть (список через запятую)";\r
 $a->strings["Submit"] = "Подтвердить";\r
index 0669361a8007e00c910c55abdbadadc0f8729d67..44e9cc575c5f599302655b14ff89fcbb78c41857 100644 (file)
@@ -1,7 +1,7 @@
 <?php\r
 \r
 $a->strings["Not Safe For Work (General Purpose Content Filter) settings"] = "工作不安全(通用内容过滤)设置";\r
-$a->strings["This plugin looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "这个插件找您下面输入的词在所有的文章里,和把包括那些词的内容隐藏,省得不妥当的时候表示,比如性的影射在办公室里。是礼貌和建议的把什么包括裸体的内容跟#NSFW标签。这个过滤也会符合设么别的您输入的词,从而能当通用内容过滤有用的。";\r
+$a->strings["This addon looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW.  This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "这个插件找您下面输入的词在所有的文章里,和把包括那些词的内容隐藏,省得不妥当的时候表示,比如性的影射在办公室里。是礼貌和建议的把什么包括裸体的内容跟#NSFW标签。这个过滤也会符合设么别的您输入的词,从而能当通用内容过滤有用的。";\r
 $a->strings["Enable Content filter"] = "使内容过滤可用";\r
 $a->strings["Comma separated list of keywords to hide"] = "逗号分隔单词要隐藏";\r
 $a->strings["Submit"] = "提交";\r
index beac3a2184ef7534365411f3286795a6755b4457..93f231c64c949114c11caf88751b7525a9a68914 100644 (file)
@@ -1,4 +1,4 @@
- ____ OpenStreetMap Plugin ____
+ ____ OpenStreetMap Addon ____
 by Mike Macgirvin
    Klaus Weidenbach
 
@@ -6,7 +6,7 @@ This addon allows you to use OpenStreetMap for displaying locations.
 
 ___ Requirements ___
 
-To use this plugin you need a tile Server that provides the maps.
+To use this addon you need a tile Server that provides the maps.
 OpenStreetMap data is free for everyone to use. Their tile servers are not.
 Please take a look at their "Tile Usage Policy":
 http://wiki.openstreetmap.org/wiki/Tile_usage_policy
@@ -19,9 +19,9 @@ ___ Configuration ___
 If you for any reason prefer to use a configuration file instead 
 of the admin panels, please refer to the Alternative Configuration below. 
 
-Activate the plugin from your admin panel.  
+Activate the addon from your admin panel.  
 
-You can now add a Tile Server and default zoom level in the plugin settings
+You can now add a Tile Server and default zoom level in the addon settings
 page of your admin panel.
 
 The Time Server URL points to the tile server you want to use. Use the full URL,
index d3fbf9eab044fe940e07602dc08cebbd98febd71..c5d0fa3d9a9644374bbf7b06e1581ccfbf338724 100644 (file)
@@ -2,7 +2,7 @@ Page Header
 
 For server admins only.
 Displays a text message for system announcements'
-The message is entered in the admin account at settings, Plugin settings.
+The message is entered in the admin account at settings, Addon settings.
 
 If you want to use HTML in the pageheader, create a file called pageheader.html 
 in the document root of your friendica instance and add the html there.
\ No newline at end of file
index 0ac2ff72b183fd4e1b1c740f94ae492bc48f1fcd..37ece2f0b7dd1119b4fa5c4b365b632c0b4934f0 100644 (file)
@@ -1,4 +1,4 @@
-Piwik Plugin
+Piwik Addon
 ============
 
 by Tobias Diekershoff and Klaus Weidenbach
@@ -9,7 +9,7 @@ tool Piwik into the Friendica pages.
 Requirements
 ------------
 
-To use this plugin you need a [piwik](http://piwik.org/) installation.
+To use this addon you need a [piwik](http://piwik.org/) installation.
 
 Where to find
 -------------
index 843752a1d9e3c72ce72864ed39d9bef8ebd1901a..f0773cc278a72280fe2bd789687220035ac8e60d 100644 (file)
@@ -22,7 +22,7 @@ msgid "Planets Settings"
 msgstr ""
 
 #: planets.php:152
-msgid "Enable Planets Plugin"
+msgid "Enable Planets Addon"
 msgstr ""
 
 #: planets.php:158
index 79fdd6be2493076c2c0af2ea3b831772b09f2630..625dcab920f4ca979a83e783f10aed4f33fdfe58 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Planets Settings"] = "Ajustos de Planet";\r
-$a->strings["Enable Planets Plugin"] = "Activa Plugin de Planet";\r
+$a->strings["Enable Planets Addon"] = "Activa Addon de Planet";\r
 $a->strings["Submit"] = "Enviar";\r
index c47ff06cdb730dbe7c4d07fd482ced114c18ce7b..ac2b9c749a0cf9d4ec127ba0a45152f2c8509da0 100644 (file)
@@ -24,8 +24,8 @@ msgid "Planets Settings"
 msgstr "Planets Nastavení"
 
 #: planets.php:152
-msgid "Enable Planets Plugin"
-msgstr "Povolit Planets plugin"
+msgid "Enable Planets Addon"
+msgstr "Povolit Planets addon"
 
 #: planets.php:158
 msgid "Submit"
index 268f319212a34b96ed3af9f948cb26dcb9aaabb5..c4c0524df3285522223c130a568bbb168d178eb1 100644 (file)
@@ -6,5 +6,5 @@ function string_plural_select_cs($n){
 }}
 ;
 $a->strings["Planets Settings"] = "Planets Nastavení";
-$a->strings["Enable Planets Plugin"] = "Povolit Planets plugin";
+$a->strings["Enable Planets Addon"] = "Povolit Planets addon";
 $a->strings["Submit"] = "Odeslat";
index 42788d569e5e498c2cb549111fc48b026783019d..89f4d07ab1bdbaa6d66eecaf17ce6318a470e6d5 100644 (file)
@@ -25,8 +25,8 @@ msgid "Planets Settings"
 msgstr "Planeten Einstellungen"
 
 #: planets.php:152
-msgid "Enable Planets Plugin"
-msgstr "Planeten-Plugin aktivieren"
+msgid "Enable Planets Addon"
+msgstr "Planeten-Addon aktivieren"
 
 #: planets.php:158
 msgid "Submit"
index ab513fac2347f50a9f90f73f3644baddc864118d..653d025b93618111b7fd46db9abceec7252803a0 100644 (file)
@@ -6,5 +6,5 @@ function string_plural_select_de($n){
 }}
 ;
 $a->strings["Planets Settings"] = "Planeten Einstellungen";
-$a->strings["Enable Planets Plugin"] = "Planeten-Plugin aktivieren";
+$a->strings["Enable Planets Addon"] = "Planeten-Addon aktivieren";
 $a->strings["Submit"] = "Senden";
index 2f9ff97cd31a3e6999467ad3ca1c4414ecbca6cb..c6b6d4130f02c96ce39eee409369c45f116d410c 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Planets Settings"] = "Agordo pri Planets";\r
-$a->strings["Enable Planets Plugin"] = "Ŝalti la Planets kromprogamon";\r
+$a->strings["Enable Planets Addon"] = "Ŝalti la Planets kromprogamon";\r
 $a->strings["Submit"] = "Sendi";\r
index 294da082133045c0b89c981e8411693c7584e885..b1e336591b95f92dbf817852c62a2279dfb6407f 100644 (file)
@@ -24,8 +24,8 @@ msgid "Planets Settings"
 msgstr "Ajustes de Planets"
 
 #: planets.php:152
-msgid "Enable Planets Plugin"
-msgstr "Habilite el plugin Planets"
+msgid "Enable Planets Addon"
+msgstr "Habilite eladdonPlanets"
 
 #: planets.php:158
 msgid "Submit"
index 8c7ef65d17c8cf13f7e4e514e6959826021f5f5e..2fd5ed9034b78110f8918d5f7da567df5cfa2e05 100644 (file)
@@ -6,5 +6,5 @@ function string_plural_select_es($n){
 }}
 ;
 $a->strings["Planets Settings"] = "Ajustes de Planets";
-$a->strings["Enable Planets Plugin"] = "Habilite el plugin Planets";
+$a->strings["Enable Planets Addon"] = "Habilite el addon Planets";
 $a->strings["Submit"] = "Enviar";
index 505d24c34d4f330583555dc6486d0c48f5510ac2..b4524f10249a70f721a157a9e7a8b7ec4d5f97ad 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Planets Settings"] = "Réglages des Planets";\r
-$a->strings["Enable Planets Plugin"] = "Activer Planets";\r
+$a->strings["Enable Planets Addon"] = "Activer Planets";\r
 $a->strings["Submit"] = "Envoyer";\r
index d59b838f25f4f589aeaa468beb171c761c541716..82f8b728a15558f53e67ba3e2ea6bd9333206685 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Planets Settings"] = "";\r
-$a->strings["Enable Planets Plugin"] = "";\r
+$a->strings["Enable Planets Addon"] = "";\r
 $a->strings["Submit"] = "Senda inn";\r
index 4cb0b69412368da43d85482b75480d39fa4c68bd..26c8e03df283b74457a957eefbc271a79255f670 100644 (file)
@@ -24,8 +24,8 @@ msgid "Planets Settings"
 msgstr "Impostazioni \"Pianeti\""
 
 #: planets.php:152
-msgid "Enable Planets Plugin"
-msgstr "Abilita il plugin \"Pianeti\""
+msgid "Enable Planets Addon"
+msgstr "Abilita il addon\"Pianeti\""
 
 #: planets.php:158
 msgid "Submit"
index 1cfa66e6953ec0a6c3620bfe6526f21f66ef3301..c568fb3669f760c9c47a5464977dbb7c6f5a8c86 100644 (file)
@@ -6,5 +6,5 @@ function string_plural_select_it($n){
 }}
 ;
 $a->strings["Planets Settings"] = "Impostazioni \"Pianeti\"";
-$a->strings["Enable Planets Plugin"] = "Abilita il plugin \"Pianeti\"";
+$a->strings["Enable Planets Addon"] = "Abilita il addon \"Pianeti\"";
 $a->strings["Submit"] = "Invia";
index 628eb2aef8d5d563696be5792a85207562e65f3c..7d8fbe48bcd324515fe08f058678992ea673fd09 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Planets Settings"] = "";\r
-$a->strings["Enable Planets Plugin"] = "";\r
+$a->strings["Enable Planets Addon"] = "";\r
 $a->strings["Submit"] = "Lagre";\r
index 971200460fc7e270b4c63efb96ec654481e52d64..0e05c0a47dfe39c5a0a554dbab37af0d3a6a13f5 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Planets Settings"] = "";\r
-$a->strings["Enable Planets Plugin"] = "";\r
+$a->strings["Enable Planets Addon"] = "";\r
 $a->strings["Submit"] = "Potwierdź";\r
index 5cb179c5d901f2015a73481695134b7ddb23a563..6f3b8f10e7a8276e25ed948972fc4f6ef0a4f15f 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Planets Settings"] = "Configuração dos planetas";\r
-$a->strings["Enable Planets Plugin"] = "Habilita configuração dos planetas";\r
+$a->strings["Enable Planets Addon"] = "Habilita configuração dos planetas";\r
 $a->strings["Submit"] = "Enviar";\r
index 67932a8b4d3b191344db8cc0b7fc96612e7a179e..b94394aebebb379030ff39b906f22cef4c3c97eb 100644 (file)
@@ -24,7 +24,7 @@ msgid "Planets Settings"
 msgstr "Configurări Planets"
 
 #: planets.php:152
-msgid "Enable Planets Plugin"
+msgid "Enable Planets Addon"
 msgstr "Activare Modul Planets"
 
 #: planets.php:158
index 93736aad8dbab7601ca74eb81e58b20b5b415fc5..19a2e3deeabb027ce2f1c8f840e1d364a76e4517 100644 (file)
@@ -6,5 +6,5 @@ function string_plural_select_ro($n){
 }}
 ;
 $a->strings["Planets Settings"] = "Configurări Planets";
-$a->strings["Enable Planets Plugin"] = "Activare Modul Planets";
+$a->strings["Enable Planets Addon"] = "Activare Modul Planets";
 $a->strings["Submit"] = "Trimite";
index 1902b826ffa2a2ca6822db1cc2f21cea8eb4684d..b84e2bbca815647eb440ec54304f37315cf1ff30 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Planets Settings"] = "";\r
-$a->strings["Enable Planets Plugin"] = "";\r
+$a->strings["Enable Planets Addon"] = "";\r
 $a->strings["Submit"] = "Подтвердить";\r
index ac066c776c5e6b67a28dcaed247c2476d08c05a3..68de35c6c1de7af3994dc9466bafb7c4dd5ddd5e 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Planets Settings"] = "行星设置";\r
-$a->strings["Enable Planets Plugin"] = "使行星插件可用";\r
+$a->strings["Enable Planets Addon"] = "使行星插件可用";\r
 $a->strings["Submit"] = "提交";\r
index d323ff0f3fdbd3ee87516f3a0d7b266cd938333a..b1fb49df071c9fbd57a535a7117b535c77a3ffec 100644 (file)
@@ -2,10 +2,10 @@ Public Server
 =============
 
 
-Public Server is a Friendica plugin which implements automatic account & post expiration so that a site may be used as a public
+Public Server is a Friendica addon which implements automatic account & post expiration so that a site may be used as a public
 test bed with reduced data retention. 
 
-This is a modified version of the testdrive plugin, DO NOT ACTIVATE AT THE SAME TIME AS THE TESTDRIVE PLUGIN.
+This is a modified version of the testdrive addon, DO NOT ACTIVATE AT THE SAME TIME AS THE TESTDRIVE ADDON.
 
     //When an account is created on the site, it is given a hard expiration date of 
     $a->config['public_server']['expiredays'] = 30;
@@ -19,7 +19,7 @@ This is a modified version of the testdrive plugin, DO NOT ACTIVATE AT THE SAME
     $a->config['public_server']['flagposts'] = 90;
     $a->config['public_server']['flagpostsexpire'] = 146;
 
-Set these in your .htconfig.php file. By default nothing is defined in case the plugin is activated accidentally. 
+Set these in your .htconfig.php file. By default nothing is defined in case the addon is activated accidentally. 
 They can be ommitted or set to 0 to disable each option.
 The default values are those used by friendica.eu, change these as desired.
 
index 84ce856f468f9dee8a01df9c9badd8434a33eee1..a35f0410a4a097f95032630987563277eebd25ed 100644 (file)
@@ -59,7 +59,7 @@ msgid "Import the remote timeline"
 msgstr ""
 
 #: pumpio.php:255
-msgid "Enable pump.io Post Plugin"
+msgid "Enable pump.io Post Addon"
 msgstr ""
 
 #: pumpio.php:260
index 157699e37fe2b3d5055824768f7ba34424cf5904..f5f9f35cedd5e97df943fa7f2eb5126ae11d1d4f 100644 (file)
@@ -61,8 +61,8 @@ msgid "Import the remote timeline"
 msgstr "Importovat vzdálenou časovou osu"
 
 #: pumpio.php:255
-msgid "Enable pump.io Post Plugin"
-msgstr "Aktivovat pump.io Post Plugin"
+msgid "Enable pump.io Post Addon"
+msgstr "Aktivovat pump.io Post Addon"
 
 #: pumpio.php:260
 msgid "Post to pump.io by default"
index 6af0c8137470029d9924d109e0dbaf257ec23888..e5bc749dda5026b2c4315268f2dc41c6681d0d24 100644 (file)
@@ -15,7 +15,7 @@ $a->strings["pump.io username (without the servername)"] = "uživatelské jméno
 $a->strings["pump.io servername (without \"http://\" or \"https://\" )"] = "jméno serveru pump.io  (bez \"http://\" nebo \"https://\" )";
 $a->strings["Authenticate your pump.io connection"] = "Přihlásit ke spojení na pump.io";
 $a->strings["Import the remote timeline"] = "Importovat vzdálenou časovou osu";
-$a->strings["Enable pump.io Post Plugin"] = "Aktivovat pump.io Post Plugin";
+$a->strings["Enable pump.io Post Addon"] = "Aktivovat pump.io Post Addon";
 $a->strings["Post to pump.io by default"] = "Defaultní umístění na pump.oi ";
 $a->strings["Should posts be public?"] = "Mají být příspěvky veřejné?";
 $a->strings["Mirror all public posts"] = "Zrcadlit všechny veřejné příspěvky";
index 4a85f793143d96e0a334daeb26aa76033463a798..acfb87fad72a4fff64cf67d6de343b8547052c43 100644 (file)
@@ -61,8 +61,8 @@ msgid "Import the remote timeline"
 msgstr "Importiere die entfernte Zeitleiste"
 
 #: pumpio.php:255
-msgid "Enable pump.io Post Plugin"
-msgstr "Pump.io-Post-Plugin aktivieren"
+msgid "Enable pump.io Post Addon"
+msgstr "Pump.io-Post-Addon aktivieren"
 
 #: pumpio.php:260
 msgid "Post to pump.io by default"
index 91c1735c0c15088b943237d31619740643d5eba2..4f2c8c88ab841360b362ae65f64bb4002b8241ba 100644 (file)
@@ -15,7 +15,7 @@ $a->strings["pump.io username (without the servername)"] = " Pump.io Nutzername
 $a->strings["pump.io servername (without \"http://\" or \"https://\" )"] = " Pump.io Servername (ohne \"http://\" oder \"https://\" )";
 $a->strings["Authenticate your pump.io connection"] = "Authentifiziere deine  Pump.io Verbindung";
 $a->strings["Import the remote timeline"] = "Importiere die entfernte Zeitleiste";
-$a->strings["Enable pump.io Post Plugin"] = "Pump.io-Post-Plugin aktivieren";
+$a->strings["Enable pump.io Post Addon"] = "Pump.io-Post-Addon aktivieren";
 $a->strings["Post to pump.io by default"] = "Standardmäßig bei  Pump.io veröffentlichen";
 $a->strings["Should posts be public?"] = "Sollen Nachrichten öffentlich sein ?";
 $a->strings["Mirror all public posts"] = "Spiegle alle öffentlichen Nachrichten";
index dd3816264ef6121c752aca0c05b9fbf92bbc50b4..8698199692a368e3821a8534abe280597f7de01d 100644 (file)
@@ -61,8 +61,8 @@ msgid "Import the remote timeline"
 msgstr "Importar la línea de tiempo remota"
 
 #: pumpio.php:255
-msgid "Enable pump.io Post Plugin"
-msgstr "Habilitar Plugin de publicación de Pump.io"
+msgid "Enable pump.io Post Addon"
+msgstr "Habilitar Addon de publicación de Pump.io"
 
 #: pumpio.php:260
 msgid "Post to pump.io by default"
index 8f0a8bfb3a7f660feb5682970b780a0a3f05c456..df9630b22e0856a3eb62c3c07522ea7f7f5dacf4 100644 (file)
@@ -15,7 +15,7 @@ $a->strings["pump.io username (without the servername)"] = "Nombre de usuario de
 $a->strings["pump.io servername (without \"http://\" or \"https://\" )"] = "Nombre de servidor de Pump.io (sin \"http://\" o \"https://\" )";
 $a->strings["Authenticate your pump.io connection"] = "Autenticar su conexión de Pump.io";
 $a->strings["Import the remote timeline"] = "Importar la línea de tiempo remota";
-$a->strings["Enable pump.io Post Plugin"] = "Habilitar Plugin de publicación de Pump.io";
+$a->strings["Enable pump.io Post Addon"] = "Habilitar Addon de publicación de Pump.io";
 $a->strings["Post to pump.io by default"] = "Publicar en Pump.io por defecto";
 $a->strings["Should posts be public?"] = "¿Deberían de ser públicas las entradas?";
 $a->strings["Mirror all public posts"] = "Reflejar todas las entradas públicas";
index 9258d61988cdbb1bbb797d22e5cf5ae1fb6f7dd7..28c5891f0ec7e0d97765dcb608904c17e15012ef 100644 (file)
@@ -62,7 +62,7 @@ msgid "Import the remote timeline"
 msgstr "Importer la timeline distante"
 
 #: pumpio.php:255
-msgid "Enable pump.io Post Plugin"
+msgid "Enable pump.io Post Addon"
 msgstr ""
 
 #: pumpio.php:260
index 3f9331737c59979b98d7cedc5a4400c016367dd5..3e69c2728e0a6da1b6ed61d590bc11b6c83dc267 100644 (file)
@@ -15,7 +15,7 @@ $a->strings["pump.io username (without the servername)"] = "Nom d'utilisateur pu
 $a->strings["pump.io servername (without \"http://\" or \"https://\" )"] = "";
 $a->strings["Authenticate your pump.io connection"] = "";
 $a->strings["Import the remote timeline"] = "Importer la timeline distante";
-$a->strings["Enable pump.io Post Plugin"] = "";
+$a->strings["Enable pump.io Post Addon"] = "";
 $a->strings["Post to pump.io by default"] = "Publier sur pump.io par défaut";
 $a->strings["Should posts be public?"] = "Les messages devraient être publiques ?";
 $a->strings["Mirror all public posts"] = "";
index 3529a080812ade7f26e05b58c234626e3a2b9feb..9e98acfd829c267bba51d963337c3c3143682bb5 100644 (file)
@@ -61,8 +61,8 @@ msgid "Import the remote timeline"
 msgstr "Importa la timeline remota"
 
 #: pumpio.php:255
-msgid "Enable pump.io Post Plugin"
-msgstr "Abilita il plugin di invio ad pump.io"
+msgid "Enable pump.io Post Addon"
+msgstr "Abilita iladdondi invio ad pump.io"
 
 #: pumpio.php:260
 msgid "Post to pump.io by default"
index 3a26670a4be834bf384373fd62f1f434c6db33cb..087a188aefd5a43ed79a5cca5a06287a3274958a 100644 (file)
@@ -15,7 +15,7 @@ $a->strings["pump.io username (without the servername)"] = "nome utente pump.io
 $a->strings["pump.io servername (without \"http://\" or \"https://\" )"] = "nome del server pump.io (senza \"http://\" o \"https://\")";
 $a->strings["Authenticate your pump.io connection"] = "Autentica la tua connessione pump.io";
 $a->strings["Import the remote timeline"] = "Importa la timeline remota";
-$a->strings["Enable pump.io Post Plugin"] = "Abilita il plugin di invio ad pump.io";
+$a->strings["Enable pump.io Post Addon"] = "Abilita il addon di invio ad pump.io";
 $a->strings["Post to pump.io by default"] = "Invia sempre a pump.io";
 $a->strings["Should posts be public?"] = "I messaggi devono essere pubblici?";
 $a->strings["Mirror all public posts"] = "Clona tutti i messaggi pubblici";
index 8f02e0403644c1d525299a40222bd28d32d02017..bceaa2feef691a3907e29b3b43229cbd58066851 100644 (file)
@@ -61,7 +61,7 @@ msgid "Import the remote timeline"
 msgstr "Importar a linha do tempo remota"
 
 #: pumpio.php:255
-msgid "Enable pump.io Post Plugin"
+msgid "Enable pump.io Post Addon"
 msgstr "Habilitar plug-in para publicar no Pump.io"
 
 #: pumpio.php:260
index 56890a66fd98c8c50b94698897a302d7f2c84db2..e93516b469d78245f3132e24ba1982e3c5823238 100644 (file)
@@ -15,7 +15,7 @@ $a->strings["pump.io username (without the servername)"] = "Nome de usuário no
 $a->strings["pump.io servername (without \"http://\" or \"https://\" )"] = "";
 $a->strings["Authenticate your pump.io connection"] = "";
 $a->strings["Import the remote timeline"] = "Importar a linha do tempo remota";
-$a->strings["Enable pump.io Post Plugin"] = "Habilitar plug-in para publicar no Pump.io";
+$a->strings["Enable pump.io Post Addon"] = "Habilitar plug-in para publicar no Pump.io";
 $a->strings["Post to pump.io by default"] = "Publicar no Pump.io por padrão";
 $a->strings["Should posts be public?"] = "";
 $a->strings["Mirror all public posts"] = "";
index ae3f945bbba7518fc34e10aa4bc16872822cac80..7ac8ef7fafda67e94246370e4cec3f7568ee7326 100644 (file)
@@ -60,7 +60,7 @@ msgid "Import the remote timeline"
 msgstr "Importare cronologie la distanță"
 
 #: pumpio.php:255
-msgid "Enable pump.io Post Plugin"
+msgid "Enable pump.io Post Addon"
 msgstr "Activare Modul Postare pump.io"
 
 #: pumpio.php:260
index bd8bf5f1b01dabc108dfd5917b090b1e5eccf79d..b0ee9a25c1bb6c06d669cc87661bd334fb0787e0 100644 (file)
@@ -15,7 +15,7 @@ $a->strings["pump.io username (without the servername)"] = "Utilizator pump.io (
 $a->strings["pump.io servername (without \"http://\" or \"https://\" )"] = "Nume server pump.io (fără \"http://\" ori \"https://\" )";
 $a->strings["Authenticate your pump.io connection"] = "Autentificați-vă conectarea la pump.io";
 $a->strings["Import the remote timeline"] = "Importare cronologie la distanță";
-$a->strings["Enable pump.io Post Plugin"] = "Activare Modul Postare pump.io";
+$a->strings["Enable pump.io Post Addon"] = "Activare Modul Postare pump.io";
 $a->strings["Post to pump.io by default"] = "Postați implicit pe pump.io";
 $a->strings["Should posts be public?"] = "Postările ar trebui sa fie publice?";
 $a->strings["Mirror all public posts"] = "Reproducere pentru toate postările publice";
index 8aa1588ac68d7d0854d3d0b0f76e6c626410780e..be4db5fafdcd9b82c49823f7d4d3276c932e4919 100644 (file)
@@ -276,7 +276,7 @@ function pumpio_settings(&$a,&$s) {
                        $s .= '</div><div class="clear"></div>';
 
                        $s .= '<div id="pumpio-enable-wrapper">';
-                       $s .= '<label id="pumpio-enable-label" for="pumpio-checkbox">' . t('Enable pump.io Post Plugin') . '</label>';
+                       $s .= '<label id="pumpio-enable-label" for="pumpio-checkbox">' . t('Enable pump.io Post Addon') . '</label>';
                        $s .= '<input id="pumpio-checkbox" type="checkbox" name="pumpio" value="1" ' . $checked . '/>';
                        $s .= '</div><div class="clear"></div>';
 
index 3494eafd4d40582ae24d27940cd1e9fe4a64e36d..3d2ed587b7bd9e9f4a8ebf3a55a094cc9b63f996 100644 (file)
@@ -22,7 +22,7 @@ msgid "Randplace Settings"
 msgstr ""
 
 #: randplace.php:171
-msgid "Enable Randplace Plugin"
+msgid "Enable Randplace Addon"
 msgstr ""
 
 #: randplace.php:177
index 4e2fe7637584d7f9df1a6a5adebbf3ca3a9de5d3..120fab8cc4ae0273858171232307587d02fb5b8e 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Randplace Settings"] = "Configuració de Randplace";\r
-$a->strings["Enable Randplace Plugin"] = "Habilitar el Plugin de Randplace";\r
+$a->strings["Enable Randplace Addon"] = "Habilitar el Addon de Randplace";\r
 $a->strings["Submit"] = "Enviar";\r
index 6cc09f7d0891b80347a3a981f6628169303e1bcb..09032861cfdef22bdedcd48c2d26fb22c187d8f4 100644 (file)
@@ -24,8 +24,8 @@ msgid "Randplace Settings"
 msgstr "Randplace Nastavení"
 
 #: randplace.php:171
-msgid "Enable Randplace Plugin"
-msgstr "Povolit Randplace Plugin"
+msgid "Enable Randplace Addon"
+msgstr "Povolit Randplace Addon"
 
 #: randplace.php:177
 msgid "Save Settings"
index dae496fc2b9140d76b8c7d54da4aa3e2649c73d9..a5a72e9ef2ac191344825c041771831c03e0744b 100644 (file)
@@ -6,5 +6,5 @@ function string_plural_select_cs($n){
 }}
 ;
 $a->strings["Randplace Settings"] = "Randplace Nastavení";
-$a->strings["Enable Randplace Plugin"] = "Povolit Randplace Plugin";
+$a->strings["Enable Randplace Addon"] = "Povolit Randplace Addon";
 $a->strings["Save Settings"] = "Uložit Nastavení";
index 8735e20d0823c3dee8e7fbc325832110bb829984..c575242fd663557c6b70e7648cfd10c5a469f18a 100644 (file)
@@ -24,8 +24,8 @@ msgid "Randplace Settings"
 msgstr "Randplace-Einstellungen"
 
 #: randplace.php:171
-msgid "Enable Randplace Plugin"
-msgstr "Randplace-Plugin aktivieren"
+msgid "Enable Randplace Addon"
+msgstr "Randplace-Addon aktivieren"
 
 #: randplace.php:177
 msgid "Save Settings"
index 29bec858270f3c6534ce1be307472d439d40d568..5a5b69f324bdee67b08218419f25fac1e3ed0e11 100644 (file)
@@ -6,5 +6,5 @@ function string_plural_select_de($n){
 }}
 ;
 $a->strings["Randplace Settings"] = "Randplace-Einstellungen";
-$a->strings["Enable Randplace Plugin"] = "Randplace-Plugin aktivieren";
+$a->strings["Enable Randplace Addon"] = "Randplace-Addon aktivieren";
 $a->strings["Save Settings"] = "Einstellungen speichern";
index 4550209303b7206a478d7313cdc9e08ceef6e5e1..38e6ebfa39ed704df873471a98cb8a34c7a6148b 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Randplace Settings"] = "Randplace agordoj.";\r
-$a->strings["Enable Randplace Plugin"] = "Aktivigi la Randplace kromprogramon.";\r
+$a->strings["Enable Randplace Addon"] = "Aktivigi la Randplace kromprogramon.";\r
 $a->strings["Submit"] = "Sendi";\r
index 0b63aa17b79565c864ae3b45e0bb1f167067c461..7f0a1047a361d673b56e27d745a6e0c65c84e4a8 100644 (file)
@@ -24,8 +24,8 @@ msgid "Randplace Settings"
 msgstr "Ajustes de Randplace"
 
 #: randplace.php:171
-msgid "Enable Randplace Plugin"
-msgstr "Habilitar el Plugin de Randplace"
+msgid "Enable Randplace Addon"
+msgstr "Habilitar el Addon de Randplace"
 
 #: randplace.php:177
 msgid "Submit"
index 716845ac6aa45aea09074731e20056996909b716..b196c6b89e39631fdab35a551336ebc2b1e82d86 100644 (file)
@@ -6,5 +6,5 @@ function string_plural_select_es($n){
 }}
 ;
 $a->strings["Randplace Settings"] = "Ajustes de Randplace";
-$a->strings["Enable Randplace Plugin"] = "Habilitar el Plugin de Randplace";
+$a->strings["Enable Randplace Addon"] = "Habilitar el Addon de Randplace";
 $a->strings["Submit"] = "Enviar";
index f85b1cbae0bfae97337bf0d50430e6fe5523dc8b..f9d354b4d21765fdf0ff106001d056b533915ba1 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Randplace Settings"] = "Réglages de Randplace";\r
-$a->strings["Enable Randplace Plugin"] = "Activer l'extension Randplace";\r
+$a->strings["Enable Randplace Addon"] = "Activer l'extension Randplace";\r
 $a->strings["Submit"] = "Envoyer";\r
index 924285d47ab59a12c310bc16b906957b444668d7..85e49238b8735d4c4b4578ab67832187271e99d8 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Randplace Settings"] = "Stilla Randplace";\r
-$a->strings["Enable Randplace Plugin"] = "Kveikja á Randplace einingu";\r
+$a->strings["Enable Randplace Addon"] = "Kveikja á Randplace einingu";\r
 $a->strings["Submit"] = "Senda inn";\r
index d2fa89032c090df02336ab181420d6f8e484942b..0b54be4c266d0aa3e065b17bfe6fa09d03700f55 100644 (file)
@@ -24,8 +24,8 @@ msgid "Randplace Settings"
 msgstr "Impostazioni \"Posizione casuale\""
 
 #: randplace.php:171
-msgid "Enable Randplace Plugin"
-msgstr "Abilita il plugin \"Posizione casuale\""
+msgid "Enable Randplace Addon"
+msgstr "Abilita il addon \"Posizione casuale\""
 
 #: randplace.php:177
 msgid "Submit"
index 08e17fa78c1b8aad70492477474eac6cd4b6c91d..97dfe38aea9f707e738bd7c20081aecfe62a5cfc 100644 (file)
@@ -6,5 +6,5 @@ function string_plural_select_it($n){
 }}
 ;
 $a->strings["Randplace Settings"] = "Impostazioni \"Posizione casuale\"";
-$a->strings["Enable Randplace Plugin"] = "Abilita il plugin \"Posizione casuale\"";
+$a->strings["Enable Randplace Addon"] = "Abilita il addon \"Posizione casuale\"";
 $a->strings["Submit"] = "Invia";
index 16518f390f53e762e5cab37bf6168a6cae30ba92..0675219c72247191b2c39bc42d57990b30bced04 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Randplace Settings"] = "Tilfeldig plassering";\r
-$a->strings["Enable Randplace Plugin"] = "Aktiver Tilfeldig plassering-tillegget";\r
+$a->strings["Enable Randplace Addon"] = "Aktiver Tilfeldig plassering-tillegget";\r
 $a->strings["Submit"] = "Lagre";\r
index 3f1b2f9fd0f3588d3753f9ccc747e6e4aec33faa..4166face25759ffaebeecc635f72261acf8eaa7c 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Randplace Settings"] = "Ustawienia Randplace";\r
-$a->strings["Enable Randplace Plugin"] = "Włącz Randplace Plugin";\r
+$a->strings["Enable Randplace Addon"] = "Włącz Randplace Addon";\r
 $a->strings["Submit"] = "Potwierdź";\r
index 1f010b4237ca31a211ebb8a34a56189dd8ab26d4..b41c865d46cf983f94fb5905f2f1a05fb3a24896 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Randplace Settings"] = "Configurações do Randplace";\r
-$a->strings["Enable Randplace Plugin"] = "Habilitar o plugin Randplace";\r
+$a->strings["Enable Randplace Addon"] = "Habilitar o addon Randplace";\r
 $a->strings["Submit"] = "Enviar";\r
index 1138665f6a392d730b3f75656ad26fd089494758..f900373fb1986cfb3a386388f9305213769ca0b3 100644 (file)
@@ -23,7 +23,7 @@ msgid "Randplace Settings"
 msgstr "Configurări Randplace"
 
 #: randplace.php:171
-msgid "Enable Randplace Plugin"
+msgid "Enable Randplace Addon"
 msgstr "Activare Modul Randplace"
 
 #: randplace.php:177
index 9ef0274ffc9044c851603f19266bd1bf56ee441d..81607079b83bb12aecdc1cd39f7780372128c1b2 100644 (file)
@@ -6,5 +6,5 @@ function string_plural_select_ro($n){
 }}
 ;
 $a->strings["Randplace Settings"] = "Configurări Randplace";
-$a->strings["Enable Randplace Plugin"] = "Activare Modul Randplace";
+$a->strings["Enable Randplace Addon"] = "Activare Modul Randplace";
 $a->strings["Save Settings"] = "Salvare Configurări";
index 482c4ed090545dc50ca0ab0e4e7aeb3f010e65e9..46733dc680a02fec6a0fdaf22376c2ad6872e986 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Randplace Settings"] = "Настройки Случайного места";\r
-$a->strings["Enable Randplace Plugin"] = "Включить Randplace  плагин";\r
+$a->strings["Enable Randplace Addon"] = "Включить Randplace  плагин";\r
 $a->strings["Submit"] = "Подтвердить";\r
index eec3a7bd68754d1500306f2f4e2cb78014d83171..c47a51cae678d7fb7c400ea9803ac29c289b5506 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Randplace Settings"] = "Randplace Settings";\r
-$a->strings["Enable Randplace Plugin"] = "Enable Randplace Plugin";\r
+$a->strings["Enable Randplace Addon"] = "Enable Randplace Addon";\r
 $a->strings["Submit"] = "Spara";\r
index 5b96f0867c29f1b0905ab8bffb88103e4e79ce56..2b9b82e39de9814fce5339c85bb9eafd43886f61 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
 \r
 $a->strings["Randplace Settings"] = "随意下设置";\r
-$a->strings["Enable Randplace Plugin"] = "使随意下插件能用";\r
+$a->strings["Enable Randplace Addon"] = "使随意下插件能用";\r
 $a->strings["Submit"] = "提交";\r
index b9e385825af8c60d29cc8fd374b3fdef9a4506ee..33e106ce2a591b94dece766af2aaf8e3cea8fd9c 100644 (file)
@@ -1,8 +1,8 @@
-The Remote Permissions plugin enables recipients of private posts to see who else has received the post. This can be beneficial on community servers where people may want to modify the way they speak depending on who can see their comments to the post.
+The Remote Permissions addon enables recipients of private posts to see who else has received the post. This can be beneficial on community servers where people may want to modify the way they speak depending on who can see their comments to the post.
 
-Note that since Friendica is federated, the local hub may have posts that originated elsewhere. In that case, the plugin has no way of knowing all the recipients of the post, and it must settle for finding out who else can see it on the local hub.
+Note that since Friendica is federated, the local hub may have posts that originated elsewhere. In that case, the addon has no way of knowing all the recipients of the post, and it must settle for finding out who else can see it on the local hub.
 
-The hub admin can specify one of two behaviors for this plugin:
+The hub admin can specify one of two behaviors for this addon:
 
 * **Global:** every private post on the local hub will show all recipients (or at least the ones it can discover) of the post to any other users on the local hub
 * **Individual:** only private posts from those users on the local hub who "opt-in" will show the post recipients. None of the private posts that originated elsewhere will show even partial lists of post recipients
index 2be7165d1b178ec6c0485297e43b9b2c20592053..ffebedb3031e70749174290cb294fd18c1d97446 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
- * Demo plugin for adding various types of Flash games to Friendica.
+ * Demo addon for adding various types of Flash games to Friendica.
  * In this case we're using "Hot Shot Sniper" by FlashGames247
  *
  * Name: Sniper
index 5042e413ea74bb4a186bf5b27918f889395cfb04..0f246750d883574a6c399e11e7fa6765885d9193 100644 (file)
@@ -12,7 +12,7 @@ Requirements
 Due to the distributed nature of the GNU Social network, each user who wishes to
 forward public messages to a GNU Social account has to get the OAuth credentials
 for themselves, which makes this addon a little bit more user unfriendly than
-the Twitter Plugin is. Nothing too geeky though!
+the Twitter Addon is. Nothing too geeky though!
 
 The inclusion of a shorturl for the original posting in cases when the message
 was longer than the maximal allowed notice length requires it, that you have
@@ -57,9 +57,9 @@ During the registration of the OAuth client remember the following:
 After the required credentials for the application are stored in the
 configuration you have to actually connect your friendica account with
 GNU Social. To do so follow the Sign in with GNU Social button, allow the access
-and copy the security code into the plugin configuration. Friendica will then
+and copy the security code into the addon configuration. Friendica will then
 try to acquire the final OAuth credentials from the API, if successful the
-plugin settings will allow you to select to post your public messages to your
+addon settings will allow you to select to post your public messages to your
 GNU Social account.
 
 License
index 3d735dea95a220fc7db4b97f81245a3da18a5904..edc63ed57c5939857f391e6fd6242ea9e960ed22 100644 (file)
@@ -2,7 +2,7 @@ TestDrive
 =========
 
 
-Testdrive is a Friendica plugin which implements automatic account expiration so that a site may be used as a public
+Testdrive is a Friendica addon which implements automatic account expiration so that a site may be used as a public
 test bed. 
 
 When an account is created on the site, it is given a hard expiration date of 
@@ -11,11 +11,11 @@ When an account is created on the site, it is given a hard expiration date of
 $a->config['testdrive']['expiredays'] = 30;
 
 Set this in your .htconfig.php file to allow a 30 day test drive period. By default no expiration period is defined 
-in case the plugin is activated accidentally. 
+in case the addon is activated accidentally. 
 
 
-There is no opportunity to extend an expired account using this plugin. Expiration is final. Other plugins may be created
-which charge for service and extend the expiration as long as a balance is maintained. This plugin is purely for creating
+There is no opportunity to extend an expired account using this addon. Expiration is final. Other addons may be created
+which charge for service and extend the expiration as long as a balance is maintained. This addon is purely for creating
 a limited use test site. 
 
 An email warning will be sent out approximately five days before the expiration occurs. Once it occurs logins and many 
index db16d2143c3c9c4b2fabd0681d22c8b978a49484..f28d8d55f9ea939c0d20f3860294e8139ef62e06 100644 (file)
@@ -2,7 +2,7 @@
 
 /**
  * Name: testdrive
- * Description: Sample Friendica plugin/addon for creating a test drive Friendica site with automatic account expiration.
+ * Description: Sample Friendica addon for creating a test drive Friendica site with automatic account expiration.
  * Version: 1.0
  * Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
  */
index fb20dac28712194cd1a79c60948832fbe511d388..57ca145a07f1ec922308a804513aa19f636fd1b6 100644 (file)
@@ -4,7 +4,7 @@ Installation
 [Register](http://www.tumblr.com/oauth/apps) an application and use (your server name)/addon/tumblr/callback.php as 
 callback URL
 
-After the registration please enter the values for "Consumer Key" and "Consumer Secret" in the [administration](admin/plugins/tumblr).
+After the registration please enter the values for "Consumer Key" and "Consumer Secret" in the [administration](admin/addons/tumblr).
 
 Notice
 ------
index b826c03037dca8a9d7fbd46aea07dd9ab60255e7..d2e4a909c14c24ad0db0d9714414e7490f63a626 100644 (file)
@@ -42,7 +42,7 @@ msgid "(Re-)Authenticate your tumblr page"
 msgstr ""
 
 #: tumblr.php:192
-msgid "Enable Tumblr Post Plugin"
+msgid "Enable Tumblr Post Addon"
 msgstr ""
 
 #: tumblr.php:197
index b1766618dd7a8fee5b0a2a4f3fad3f5b1feb4b11..9ded80d22ea2968ec2ab6287aef9e61b117c8ff8 100644 (file)
@@ -6,7 +6,7 @@ $a->strings["return to the connector page"] = "";
 $a->strings["Post to Tumblr"] = "Publica-ho al Tumblr";\r
 $a->strings["Tumblr Post Settings"] = "Configuració d'Enviaments de Tumblr";\r
 $a->strings["(Re-)Authenticate your tumblr page"] = "";\r
-$a->strings["Enable Tumblr Post Plugin"] = "Habilita el plugin de enviaments de Tumblr";\r
+$a->strings["Enable Tumblr Post Addon"] = "Habilita el addon de enviaments de Tumblr";\r
 $a->strings["Post to Tumblr by default"] = "Enviar a Tumblr per defecte";\r
 $a->strings["Post to page:"] = "";\r
 $a->strings["You are not authenticated to tumblr"] = "";\r
index 83d24f701e26738e9cc8841b2d23cb7a5cacb7fd..a084ca65950c9843e4c5f0baa7e0a50ba4212d0c 100644 (file)
@@ -44,7 +44,7 @@ msgid "(Re-)Authenticate your tumblr page"
 msgstr "(Znovu) přihlásit k Vaší tumblr stránce"
 
 #: tumblr.php:198
-msgid "Enable Tumblr Post Plugin"
+msgid "Enable Tumblr Post Addon"
 msgstr "Povolit rozšíření Tumbir"
 
 #: tumblr.php:203
index 43673188414eb3383f89d10eaeb2e16ab3592160..8a8741d23fff584cc49532e4c683f8476a7dd8e7 100644 (file)
@@ -11,7 +11,7 @@ $a->strings["return to the connector page"] = "návrat ke stránce konektor";
 $a->strings["Post to Tumblr"] = "Příspěvek na Tumbir";
 $a->strings["Tumblr Export"] = "Tumbir export";
 $a->strings["(Re-)Authenticate your tumblr page"] = "(Znovu) přihlásit k Vaší tumblr stránce";
-$a->strings["Enable Tumblr Post Plugin"] = "Povolit rozšíření Tumbir";
+$a->strings["Enable Tumblr Post Addon"] = "Povolit rozšíření Tumbir";
 $a->strings["Post to Tumblr by default"] = "Standardně posílat příspěvky na Tumbir";
 $a->strings["Post to page:"] = "Příspěvek ke stránce:";
 $a->strings["You are not authenticated to tumblr"] = "Nyní nejste přihlášen k tumblr.";
index d40400020c6c53f4f920db082516d4f615226b98..aa3c16cf76f8bfed74ba3774200bebcfc13f348e 100644 (file)
@@ -44,8 +44,8 @@ msgid "(Re-)Authenticate your tumblr page"
 msgstr "(Re-)Authentifizierung deiner tumblr Seite"
 
 #: tumblr.php:192
-msgid "Enable Tumblr Post Plugin"
-msgstr "Tumblr-Post-Plugin aktivieren"
+msgid "Enable Tumblr Post Addon"
+msgstr "Tumblr-Post-Addon aktivieren"
 
 #: tumblr.php:197
 msgid "Post to Tumblr by default"
index 9ba399870e057ff42aa60c6dce6111e4d6b5a720..87fd5c5043bb0a61bceb41cd5c84fe31189bf885 100644 (file)
@@ -11,7 +11,7 @@ $a->strings["return to the connector page"] = "zurück zur Connector Seite";
 $a->strings["Post to Tumblr"] = "Auf Tumblr veröffentlichen";
 $a->strings["Tumblr Post Settings"] = "Tumblr-Beitragseinstellungen";
 $a->strings["(Re-)Authenticate your tumblr page"] = "(Re-)Authentifizierung deiner tumblr Seite";
-$a->strings["Enable Tumblr Post Plugin"] = "Tumblr-Post-Plugin aktivieren";
+$a->strings["Enable Tumblr Post Addon"] = "Tumblr-Post-Addon aktivieren";
 $a->strings["Post to Tumblr by default"] = "Standardmäßig bei Tumblr veröffentlichen";
 $a->strings["Post to page:"] = "Auf tumblr veröffentlichen";
 $a->strings["You are not authenticated to tumblr"] = "Du bist gegenüber tumblr nicht authentifiziert";
index 375ea292f7b20368f2209dae204082ead7b248ef..12caadbf8832fdd3552721c408c5a0ebe285ce9e 100644 (file)
@@ -3,6 +3,6 @@
 $a->strings["Permission denied."] = "Malpermesita.";\r
 $a->strings["Post to Tumblr"] = "Afiŝi al Tumblr";\r
 $a->strings["Tumblr Post Settings"] = "Agordoj pri afiŝoj ĉe Tumblr";\r
-$a->strings["Enable Tumblr Post Plugin"] = "Ŝalti la kromprogramon por Tumblr afiŝoj";\r
+$a->strings["Enable Tumblr Post Addon"] = "Ŝalti la kromprogramon por Tumblr afiŝoj";\r
 $a->strings["Post to Tumblr by default"] = "Defaŭlte afiŝi ĉe Tumblr";\r
 $a->strings["Submit"] = "Sendi";\r
index 2f2eb43139a7caa0fdbf75c55118a1e12a1b7396..5993bd53850318a016fb930ad5601b64d1ca0c38 100644 (file)
@@ -44,8 +44,8 @@ msgid "(Re-)Authenticate your tumblr page"
 msgstr "(Re-)autenticar su página de tumblr"
 
 #: tumblr.php:192
-msgid "Enable Tumblr Post Plugin"
-msgstr "Habilite el plugin Tumblr Post"
+msgid "Enable Tumblr Post Addon"
+msgstr "Habilite el addon Tumblr Post"
 
 #: tumblr.php:197
 msgid "Post to Tumblr by default"
index 3a6e5ce99d2090a23ccbaac926cb6734d5a1c3ee..12d3d2d2a85f88772535d72341ef366d345d03d4 100644 (file)
@@ -11,7 +11,7 @@ $a->strings["return to the connector page"] = "Vuelva a la página del conector"
 $a->strings["Post to Tumblr"] = "Publicar en Tumblr";
 $a->strings["Tumblr Post Settings"] = "Ajustes de publicación de Tumblr";
 $a->strings["(Re-)Authenticate your tumblr page"] = "(Re-)autenticar su página de tumblr";
-$a->strings["Enable Tumblr Post Plugin"] = "Habilite el plugin Tumblr Post";
+$a->strings["Enable Tumblr Post Addon"] = "Habilite el addon Tumblr Post";
 $a->strings["Post to Tumblr by default"] = "Publique en Tumblr por defecto";
 $a->strings["Post to page:"] = "Publicar en página:";
 $a->strings["You are not authenticated to tumblr"] = "No está autenticado en tumblr";
index e23f85f72e11c9aed2757eb97df0ef47e4d77d70..c4d50431d34dd01e7726d4a42dca5373e399d5ba 100644 (file)
@@ -3,6 +3,6 @@
 $a->strings["Permission denied."] = "Permission refusée.";\r
 $a->strings["Post to Tumblr"] = "Publier sur Tumblr";\r
 $a->strings["Tumblr Post Settings"] = "Réglages de Tumblr";\r
-$a->strings["Enable Tumblr Post Plugin"] = "Activer l'extension Tumblr";\r
+$a->strings["Enable Tumblr Post Addon"] = "Activer l'extension Tumblr";\r
 $a->strings["Post to Tumblr by default"] = "Publier sur Tumblr par défaut";\r
 $a->strings["Submit"] = "Envoyer";\r
index cdd3d8362a7da2fa03b779190941d702a9e5f217..a477e8a6e6876dd7f371d19597ff1088e9f6d16c 100644 (file)
@@ -3,6 +3,6 @@
 $a->strings["Permission denied."] = "Heimild ekki veitt.";\r
 $a->strings["Post to Tumblr"] = "Senda fæslu til Tumblr";\r
 $a->strings["Tumblr Post Settings"] = "Tumblr færslu stillingar";\r
-$a->strings["Enable Tumblr Post Plugin"] = "Leyfa Tumblr færslu viðbót";\r
+$a->strings["Enable Tumblr Post Addon"] = "Leyfa Tumblr færslu viðbót";\r
 $a->strings["Post to Tumblr by default"] = "Senda færslu á Tumblr sjálfvirkt";\r
 $a->strings["Submit"] = "Senda inn";\r
index 11d5752afd14b811030dbc106ab1b7e56d9225ac..581d2d78e54d373d9efb3857b8b5e16e0247c77d 100644 (file)
@@ -44,8 +44,8 @@ msgid "(Re-)Authenticate your tumblr page"
 msgstr "(Ri)Autenticati con la tua pagina Tumblr"
 
 #: tumblr.php:192
-msgid "Enable Tumblr Post Plugin"
-msgstr "Abilita Plugin Tumblr"
+msgid "Enable Tumblr Post Addon"
+msgstr "Abilita Addon Tumblr"
 
 #: tumblr.php:197
 msgid "Post to Tumblr by default"
index 2c49b0f13e25df3ad56c9881f8dbde904e58222d..bda3338964575b8fe4bf86d0ea1714c86da2f945 100644 (file)
@@ -11,7 +11,7 @@ $a->strings["return to the connector page"] = "ritorna alla pagina del connettor
 $a->strings["Post to Tumblr"] = "Invia a Tumblr";
 $a->strings["Tumblr Post Settings"] = "Impostazioni di invio a Tumblr";
 $a->strings["(Re-)Authenticate your tumblr page"] = "(Ri)Autenticati con la tua pagina Tumblr";
-$a->strings["Enable Tumblr Post Plugin"] = "Abilita Plugin Tumblr";
+$a->strings["Enable Tumblr Post Addon"] = "Abilita Addon Tumblr";
 $a->strings["Post to Tumblr by default"] = "Invia sempre a Tumblr";
 $a->strings["Post to page:"] = "Invia alla pagina:";
 $a->strings["You are not authenticated to tumblr"] = "Non sei autenticato su Tumblr";
index 733128540039f6afe71a2080c54f7813682d5b1b..024c5517144d35b92ebcb61bfa66f3f87664d7ae 100644 (file)
@@ -3,6 +3,6 @@
 $a->strings["Permission denied."] = "Ingen tilgang.";\r
 $a->strings["Post to Tumblr"] = "";\r
 $a->strings["Tumblr Post Settings"] = "";\r
-$a->strings["Enable Tumblr Post Plugin"] = "";\r
+$a->strings["Enable Tumblr Post Addon"] = "";\r
 $a->strings["Post to Tumblr by default"] = "";\r
 $a->strings["Submit"] = "Lagre";\r
index 819c7c2053ba062aa4d37e434f56968a50b548e8..b01dddb65de7be3a09e583597ae210f87c4d37b3 100644 (file)
@@ -6,7 +6,7 @@ $a->strings["return to the connector page"] = "";
 $a->strings["Post to Tumblr"] = "Opublikuj na Tumblrze";\r
 $a->strings["Tumblr Post Settings"] = "Ustawienia postu Tumblr";\r
 $a->strings["(Re-)Authenticate your tumblr page"] = "";\r
-$a->strings["Enable Tumblr Post Plugin"] = "Zezwól na wtyczkę postu Tumblr";\r
+$a->strings["Enable Tumblr Post Addon"] = "Zezwól na wtyczkę postu Tumblr";\r
 $a->strings["Post to Tumblr by default"] = "Post do Tumblr przez standard";\r
 $a->strings["Post to page:"] = "Napisz na stronę:";\r
 $a->strings["You are not authenticated to tumblr"] = "";\r
index 6c80433ea5ddbd09ba4c920a6fe30e086ce4fd32..a0de33adf9f87ff3b168a5218b1054bd1670e88e 100644 (file)
@@ -44,7 +44,7 @@ msgid "(Re-)Authenticate your tumblr page"
 msgstr "(Re)autenticar sua página no Tumblr"
 
 #: tumblr.php:192
-msgid "Enable Tumblr Post Plugin"
+msgid "Enable Tumblr Post Addon"
 msgstr "Habilitar plug-in para publicar no Tumblr"
 
 #: tumblr.php:197
index e800cd710d443580478ee205343307a0d3e6ecd4..f77c85f204d7db0be8f89c9c8ce519f7f11d481c 100644 (file)
@@ -11,7 +11,7 @@ $a->strings["return to the connector page"] = "voltar à página de conectores";
 $a->strings["Post to Tumblr"] = "Publicar no Tumblr";
 $a->strings["Tumblr Post Settings"] = "Configurações de publicação no Tumblr";
 $a->strings["(Re-)Authenticate your tumblr page"] = "(Re)autenticar sua página no Tumblr";
-$a->strings["Enable Tumblr Post Plugin"] = "Habilitar plug-in para publicar no Tumblr";
+$a->strings["Enable Tumblr Post Addon"] = "Habilitar plug-in para publicar no Tumblr";
 $a->strings["Post to Tumblr by default"] = "Publicar no Tumblr por padrão";
 $a->strings["Post to page:"] = "Publicar na página:";
 $a->strings["You are not authenticated to tumblr"] = "Você não se autenticou no Tumblr";
index 46748edd9994a746d26fe9a208416afe5f1ccba5..4f3fba64a3669d46290ecd51105d58af0deb79d8 100644 (file)
@@ -43,7 +43,7 @@ msgid "(Re-)Authenticate your tumblr page"
 msgstr "(Re- )Autentificare pagină tumblr "
 
 #: tumblr.php:198
-msgid "Enable Tumblr Post Plugin"
+msgid "Enable Tumblr Post Addon"
 msgstr "Activare Modul Postare pe Tumblr "
 
 #: tumblr.php:203
index 7262ca4caa74b390641ed6f93078b49624898d1a..60f96432fc6b0db9b01597c2b2677ec39a4e968f 100644 (file)
@@ -11,7 +11,7 @@ $a->strings["return to the connector page"] = "revenire la pagina de conectare";
 $a->strings["Post to Tumblr"] = "Postați pe Tumblr";
 $a->strings["Tumblr Export"] = "Export Tumblr";
 $a->strings["(Re-)Authenticate your tumblr page"] = "(Re- )Autentificare pagină tumblr ";
-$a->strings["Enable Tumblr Post Plugin"] = "Activare Modul Postare pe Tumblr ";
+$a->strings["Enable Tumblr Post Addon"] = "Activare Modul Postare pe Tumblr ";
 $a->strings["Post to Tumblr by default"] = "Postați implicit pe Tumblr";
 $a->strings["Post to page:"] = "Postare pe pagina:";
 $a->strings["You are not authenticated to tumblr"] = "Nu sunteți autentificat pe tumblr.";
index 21d7724506bf0290d34d4cc95166bc3a0e898d68..cccb32c3ee4a5ef244995d1d70870301de58ab27 100644 (file)
@@ -3,6 +3,6 @@
 $a->strings["Permission denied."] = "Нет разрешения.";\r
 $a->strings["Post to Tumblr"] = "Написать в Tumblr";\r
 $a->strings["Tumblr Post Settings"] = "Tumblr Настройки сообщения";\r
-$a->strings["Enable Tumblr Post Plugin"] = "Включить Tumblr  плагин сообщений";\r
+$a->strings["Enable Tumblr Post Addon"] = "Включить Tumblr  плагин сообщений";\r
 $a->strings["Post to Tumblr by default"] = "Сообщение Tumblr по умолчанию";\r
 $a->strings["Submit"] = "Подтвердить";\r
index 0956e13ec51fd190de9bf8082fe267b541032b1a..da62cdba0c1445290b9b9fa57fb0973d6e4307d8 100644 (file)
@@ -6,7 +6,7 @@ $a->strings["return to the connector page"] = "会连接器页";
 $a->strings["Post to Tumblr"] = "发送到Tumblr";\r
 $a->strings["Tumblr Post Settings"] = "Tumblr发送设置";\r
 $a->strings["(Re-)Authenticate your tumblr page"] = "再认证您的tumblr页";\r
-$a->strings["Enable Tumblr Post Plugin"] = "使Tumblr发送插件能够";\r
+$a->strings["Enable Tumblr Post Addon"] = "使Tumblr发送插件能够";\r
 $a->strings["Post to Tumblr by default"] = "默认地给Tumblr发送";\r
 $a->strings["Post to page:"] = "放在页:";\r
 $a->strings["You are not authenticated to tumblr"] = "tumblr没证明您是真的";\r
index edfc81385ccf56ae4627cac4becc43795f71cc3e..7936f894ef23278c2b4e397280c271d19b96607f 100644 (file)
@@ -1,4 +1,4 @@
-Twitter Plugin
+Twitter Addon
 ==============
 
 Main authors Tobias Diekershoff and Michael Vogel.
@@ -12,9 +12,9 @@ The addon can also mirror a users Tweets into the ~friendica wall.
 Installation
 ------------
 
-To use this plugin you have to register an [application](https://apps.twitter.com/) for your friendica instance on Twitter. Please leave the field "Callback URL" empty.
+To use this addon you have to register an [application](https://apps.twitter.com/) for your friendica instance on Twitter. Please leave the field "Callback URL" empty.
 
-After the registration please enter the values for "Consumer Key" and "Consumer Secret" in the [administration](admin/plugins/twitter).
+After the registration please enter the values for "Consumer Key" and "Consumer Secret" in the [administration](admin/addons/twitter).
 
 Where to find
 -------------
index fa058ba46ff5bdbe5721e44aabcc4a88a732e506..95c071415607356b07a10079c48fe2fc53a1f2ed 100644 (file)
@@ -37,7 +37,7 @@ msgstr ""
 
 #: twitter.php:183
 msgid ""
-"At this Friendica instance the Twitter plugin was enabled but you have not "
+"At this Friendica instance the Twitter addon was enabled but you have not "
 "yet connected your account to your Twitter account. To do so click the "
 "button below to get a PIN from Twitter which you have to copy into the input "
 "box below and submit the form. Only your <strong>public</strong> posts will "
index 203c9a1f2ed460bb50e2b7e5aedbdf5d1bfd3010..bc53d4c804ad3365bcd58f2d4da475cf517a1f34 100644 (file)
@@ -4,7 +4,7 @@ $a->strings["Post to Twitter"] = "Publica-ho al Twitter";
 $a->strings["Twitter settings updated."] = "La configuració de Twitter actualitzada.";\r
 $a->strings["Twitter Posting Settings"] = "Configuració d'Enviaments per a Twitter";\r
 $a->strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "No s'ha pogut emparellar cap clau \"consumer key\" per a Twitter. Si us plau, poseu-vos en contacte amb l'administrador del lloc.";\r
-$a->strings["At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "En aquesta instància Friendica el plugin Twitter va ser habilitat, però encara no ha connectat el compte al seu compte de Twitter. Per a això feu clic al botó de sota per obtenir un PIN de Twitter que ha de copiar a la casella de sota i enviar el formulari. Només els missatges <strong> públics </strong> es publicaran a Twitter.";\r
+$a->strings["At this Friendica instance the Twitter addon was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "En aquesta instància Friendica el addon Twitter va ser habilitat, però encara no ha connectat el compte al seu compte de Twitter. Per a això feu clic al botó de sota per obtenir un PIN de Twitter que ha de copiar a la casella de sota i enviar el formulari. Només els missatges <strong> públics </strong> es publicaran a Twitter.";\r
 $a->strings["Log in with Twitter"] = "Accedeixi com en  Twitter";\r
 $a->strings["Copy the PIN from Twitter here"] = "Copieu el codi PIN de Twitter aquí";\r
 $a->strings["Submit"] = "Enviar";\r
index f893d731414f6e653e0afc7dcd554328cddda8b5..5e35bae6752c0bccc8ad68cfac80948c6b6f77d1 100644 (file)
@@ -39,12 +39,12 @@ msgstr "Nenalezen žádný spotřebitelský páru klíčů pro Twitter. Obraťte
 
 #: twitter.php:264
 msgid ""
-"At this Friendica instance the Twitter plugin was enabled but you have not "
+"At this Friendica instance the Twitter addon was enabled but you have not "
 "yet connected your account to your Twitter account. To do so click the "
 "button below to get a PIN from Twitter which you have to copy into the input"
 " box below and submit the form. Only your <strong>public</strong> posts will"
 " be posted to Twitter."
-msgstr "Na této Friendica instanci je sice povolen Twitter plugin, ale vy jste si ještě nenastavili svůj Twitter účet. Svůj účet si můžete nastavit kliknutím na tlačítko níže k získání PINu z Vašeho Twitteru, který si zkopírujte do níže uvedeného vstupního pole a odešlete formulář. Pouze vaše <strong>veřejné</strong> příspěvky budou zaslány na Twitter."
+msgstr "Na této Friendica instanci je sice povolen Twitter addon, ale vy jste si ještě nenastavili svůj Twitter účet. Svůj účet si můžete nastavit kliknutím na tlačítko níže k získání PINu z Vašeho Twitteru, který si zkopírujte do níže uvedeného vstupního pole a odešlete formulář. Pouze vaše <strong>veřejné</strong> příspěvky budou zaslány na Twitter."
 
 #: twitter.php:265
 msgid "Log in with Twitter"
index 8de4b13001a14a0cc4362c00f90b21412c71561a..6561b6b811021aef9db7930043dba61c942e1adf 100644 (file)
@@ -9,7 +9,7 @@ $a->strings["Post to Twitter"] = "Poslat příspěvek na Twitter";
 $a->strings["Twitter settings updated."] = "Nastavení Twitteru aktualizováno.";
 $a->strings["Twitter Import/Export/Mirror"] = "Twitter Import/Export/Zrcadlení";
 $a->strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "Nenalezen žádný spotřebitelský páru klíčů pro Twitter. Obraťte se na administrátora webu.";
-$a->strings["At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "Na této Friendica instanci je sice povolen Twitter plugin, ale vy jste si ještě nenastavili svůj Twitter účet. Svůj účet si můžete nastavit kliknutím na tlačítko níže k získání PINu z Vašeho Twitteru, který si zkopírujte do níže uvedeného vstupního pole a odešlete formulář. Pouze vaše <strong>veřejné</strong> příspěvky budou zaslány na Twitter.";
+$a->strings["At this Friendica instance the Twitter addon was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "Na této Friendica instanci je sice povolen Twitter addon, ale vy jste si ještě nenastavili svůj Twitter účet. Svůj účet si můžete nastavit kliknutím na tlačítko níže k získání PINu z Vašeho Twitteru, který si zkopírujte do níže uvedeného vstupního pole a odešlete formulář. Pouze vaše <strong>veřejné</strong> příspěvky budou zaslány na Twitter.";
 $a->strings["Log in with Twitter"] = "Přihlásit se s Twitter";
 $a->strings["Copy the PIN from Twitter here"] = "Zkopírujte sem PIN z Twitteru";
 $a->strings["Save Settings"] = "Uložit Nastavení";
index 5ec80d6418d8411e4b71c7fa02742cca1d523c40..b17031a723afeb4d62496395996e0967eab50f72 100644 (file)
@@ -39,12 +39,12 @@ msgstr "Kein Consumer Schlüsselpaar für Twitter gefunden. Bitte wende dich an
 
 #: twitter.php:264
 msgid ""
-"At this Friendica instance the Twitter plugin was enabled but you have not "
+"At this Friendica instance the Twitter addon was enabled but you have not "
 "yet connected your account to your Twitter account. To do so click the "
 "button below to get a PIN from Twitter which you have to copy into the input"
 " box below and submit the form. Only your <strong>public</strong> posts will"
 " be posted to Twitter."
-msgstr "Auf diesem Friendica-Server wurde das Twitter-Plugin aktiviert, aber du hast deinen Account noch nicht mit deinem Twitter-Account verbunden. Klicke dazu auf die Schaltfläche unten. Du erhältst dann eine PIN von Twitter, die du dann in das Eingabefeld unten einfügst. Denk daran, den Senden-Knopf zu drücken! Nur <strong>öffentliche</strong> Beiträge werden bei Twitter veröffentlicht."
+msgstr "Auf diesem Friendica-Server wurde das Twitter-Addon aktiviert, aber du hast deinen Account noch nicht mit deinem Twitter-Account verbunden. Klicke dazu auf die Schaltfläche unten. Du erhältst dann eine PIN von Twitter, die du dann in das Eingabefeld unten einfügst. Denk daran, den Senden-Knopf zu drücken! Nur <strong>öffentliche</strong> Beiträge werden bei Twitter veröffentlicht."
 
 #: twitter.php:265
 msgid "Log in with Twitter"
index 997bf55f87f06b89f72f98a34458c96f2a6ea2e9..69083a2b9dc82628b11ff179cbed24ebb7a54a63 100644 (file)
@@ -9,7 +9,7 @@ $a->strings["Post to Twitter"] = "An Twitter senden";
 $a->strings["Twitter settings updated."] = "Twitter Einstellungen aktualisiert.";
 $a->strings["Twitter Import/Export/Mirror"] = "Twitter Import/Export/Spiegeln";
 $a->strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "Kein Consumer Schlüsselpaar für Twitter gefunden. Bitte wende dich an den Administrator der Seite.";
-$a->strings["At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "Auf diesem Friendica-Server wurde das Twitter-Plugin aktiviert, aber du hast deinen Account noch nicht mit deinem Twitter-Account verbunden. Klicke dazu auf die Schaltfläche unten. Du erhältst dann eine PIN von Twitter, die du dann in das Eingabefeld unten einfügst. Denk daran, den Senden-Knopf zu drücken! Nur <strong>öffentliche</strong> Beiträge werden bei Twitter veröffentlicht.";
+$a->strings["At this Friendica instance the Twitter addon was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "Auf diesem Friendica-Server wurde das Twitter-Addon aktiviert, aber du hast deinen Account noch nicht mit deinem Twitter-Account verbunden. Klicke dazu auf die Schaltfläche unten. Du erhältst dann eine PIN von Twitter, die du dann in das Eingabefeld unten einfügst. Denk daran, den Senden-Knopf zu drücken! Nur <strong>öffentliche</strong> Beiträge werden bei Twitter veröffentlicht.";
 $a->strings["Log in with Twitter"] = "bei Twitter anmelden";
 $a->strings["Copy the PIN from Twitter here"] = "Kopiere die Twitter-PIN hier her";
 $a->strings["Save Settings"] = "Einstellungen speichern";
index cce714e7916cf0ee70decc7730dd70a405bc2618..0dbedd82ce4bb1011b8754498e2a166684c05f92 100644 (file)
@@ -4,7 +4,7 @@ $a->strings["Post to Twitter"] = "Afiŝi ĉe Twitter";
 $a->strings["Twitter settings updated."] = "Ĝisdatigis Twitter agordojn.";\r
 $a->strings["Twitter Posting Settings"] = "Agordoj por afiŝi ĉe Twitter";\r
 $a->strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "Ne trovis klientajn ŝlosilojn por Twitter. Bonvolu kontakti vian retejan administranton.";\r
-$a->strings["At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "Je ĉi tiu Friendica retejo, la Twitter kromprogramo jam estas ŝaltita, sed via konto anokoraŭ ne estas konektita kun via Twitter konto. Por fari tion, klaku la supran butonon por atingi nombrokodon de Twitter, kion vi kopiu en la supran eniga ĉelo, kaj  sendu la formularon. Nur viaj <strong>publikaj</strong> afiŝoj estas plusendota al Twitter. ";\r
+$a->strings["At this Friendica instance the Twitter addon was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "Je ĉi tiu Friendica retejo, la Twitter kromprogramo jam estas ŝaltita, sed via konto anokoraŭ ne estas konektita kun via Twitter konto. Por fari tion, klaku la supran butonon por atingi nombrokodon de Twitter, kion vi kopiu en la supran eniga ĉelo, kaj  sendu la formularon. Nur viaj <strong>publikaj</strong> afiŝoj estas plusendota al Twitter. ";\r
 $a->strings["Log in with Twitter"] = "Ensaluti kun Twitter";\r
 $a->strings["Copy the PIN from Twitter here"] = "Alglui la PIN de Twitter ĉi tie";\r
 $a->strings["Submit"] = "Sendi";\r
index 6cb699489195ae7dcb32416db8d5fb21cec84eac..739ac523fb1d8269dcb0e5025c6cf711b4c3eb35 100644 (file)
@@ -39,12 +39,12 @@ msgstr "No hay par de claves para encuentro de Twitter."
 
 #: twitter.php:183
 msgid ""
-"At this Friendica instance the Twitter plugin was enabled but you have not "
+"At this Friendica instance the Twitter addon was enabled but you have not "
 "yet connected your account to your Twitter account. To do so click the "
 "button below to get a PIN from Twitter which you have to copy into the input"
 " box below and submit the form. Only your <strong>public</strong> posts will"
 " be posted to Twitter."
-msgstr "En esta petición de Friendica el plugin de Twitter estaba activo pero usted no ha conectado aún su cuenta con la cuenta de Twitter. Para hacerlo click en el botón de abajo para obtener un PIN desde Twitter que tiene que copiar en la caja de texto de abajo y enviar el formulario. Sólo sus entradas <strong>públicas</strong> serán posteadas en Twitter"
+msgstr "En esta petición de Friendica el addon de Twitter estaba activo pero usted no ha conectado aún su cuenta con la cuenta de Twitter. Para hacerlo click en el botón de abajo para obtener un PIN desde Twitter que tiene que copiar en la caja de texto de abajo y enviar el formulario. Sólo sus entradas <strong>públicas</strong> serán posteadas en Twitter"
 
 #: twitter.php:184
 msgid "Log in with Twitter"
index c1168e4a0bc3a5ace91dac38ee28edb69971dec7..812e646becf37e3d3561f4cc6bd57097f139f7b8 100644 (file)
@@ -9,7 +9,7 @@ $a->strings["Post to Twitter"] = "Entrada para Twitter";
 $a->strings["Twitter settings updated."] = "Ajustes de Twitter actualizados.";
 $a->strings["Twitter Posting Settings"] = "Ajustes de publicación de Twitter";
 $a->strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "No hay par de claves para encuentro de Twitter.";
-$a->strings["At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "En esta petición de Friendica el plugin de Twitter estaba activo pero usted no ha conectado aún su cuenta con la cuenta de Twitter. Para hacerlo click en el botón de abajo para obtener un PIN desde Twitter que tiene que copiar en la caja de texto de abajo y enviar el formulario. Sólo sus entradas <strong>públicas</strong> serán posteadas en Twitter";
+$a->strings["At this Friendica instance the Twitter addon was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "En esta petición de Friendica el addon de Twitter estaba activo pero usted no ha conectado aún su cuenta con la cuenta de Twitter. Para hacerlo click en el botón de abajo para obtener un PIN desde Twitter que tiene que copiar en la caja de texto de abajo y enviar el formulario. Sólo sus entradas <strong>públicas</strong> serán posteadas en Twitter";
 $a->strings["Log in with Twitter"] = "Iniciar sesión con Twitter";
 $a->strings["Copy the PIN from Twitter here"] = "Copie el PIN de Twitter aquí";
 $a->strings["Submit"] = "Enviar";
index abddb85f85e5e010e22882a14f6327fa2a436492..6b898264d10fd95bdf9026fa9848a6e155007ffc 100644 (file)
@@ -40,7 +40,7 @@ msgstr ""
 
 #: twitter.php:183
 msgid ""
-"At this Friendica instance the Twitter plugin was enabled but you have not "
+"At this Friendica instance the Twitter addon was enabled but you have not "
 "yet connected your account to your Twitter account. To do so click the "
 "button below to get a PIN from Twitter which you have to copy into the input"
 " box below and submit the form. Only your <strong>public</strong> posts will"
index de9e80a06273eb08f0285361cb23a0e84fc9ea20..d79c5cf960398730f9b4e18c41e8ef7f4e1db8ad 100644 (file)
@@ -9,7 +9,7 @@ $a->strings["Post to Twitter"] = "Publier sur Twitter";
 $a->strings["Twitter settings updated."] = "Paramètres Twitter mis à jour.";
 $a->strings["Twitter Posting Settings"] = "Paramètres Twitter de publication";
 $a->strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "";
-$a->strings["At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "";
+$a->strings["At this Friendica instance the Twitter addon was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "";
 $a->strings["Log in with Twitter"] = "Se connecter avec Twitter";
 $a->strings["Copy the PIN from Twitter here"] = "Copier le PIN de Twitter ici";
 $a->strings["Submit"] = "Soumettre";
index edd7809b09ffb342636dd4e8f134c7e31e500354..66d1836d57a70613cf68c7ddd1eb3ed81b9206a5 100644 (file)
@@ -4,7 +4,7 @@ $a->strings["Post to Twitter"] = "Senda færslu á Twitter";
 $a->strings["Twitter settings updated."] = "Stillingar Twitter uppfærðar.";\r
 $a->strings["Twitter Posting Settings"] = "Twitter færslu stillingar";\r
 $a->strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "Ekkert notenda lykils par fyrir Twitter fundið.  Hafðu samband við kerfisstjórann.";\r
-$a->strings["At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "";\r
+$a->strings["At this Friendica instance the Twitter addon was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "";\r
 $a->strings["Log in with Twitter"] = "Innskrá með Twitter";\r
 $a->strings["Copy the PIN from Twitter here"] = "Afrita PIN frá Twitter hingað";\r
 $a->strings["Submit"] = "Senda inn";\r
index ef14b5bb08174700035e6b407304ff02024eb9c5..75f71963f3e2476234896db69dfde99a6abff417 100644 (file)
@@ -39,12 +39,12 @@ msgstr "Nessuna coppia di chiavi per Twitter trovata. Contatta l'amministratore
 
 #: twitter.php:183
 msgid ""
-"At this Friendica instance the Twitter plugin was enabled but you have not "
+"At this Friendica instance the Twitter addon was enabled but you have not "
 "yet connected your account to your Twitter account. To do so click the "
 "button below to get a PIN from Twitter which you have to copy into the input"
 " box below and submit the form. Only your <strong>public</strong> posts will"
 " be posted to Twitter."
-msgstr "Il plugin Twitter è abilitato ma non hai ancora collegato i tuoi account Friendica e Twitter. Per farlo, clicca il bottone qui sotto per ricevere un PIN da Twitter che dovrai copiare nel campo qui sotto. Solo i tuoi post <strong>pubblici</strong> saranno inviati a Twitter."
+msgstr "Il addon Twitter è abilitato ma non hai ancora collegato i tuoi account Friendica e Twitter. Per farlo, clicca il bottone qui sotto per ricevere un PIN da Twitter che dovrai copiare nel campo qui sotto. Solo i tuoi post <strong>pubblici</strong> saranno inviati a Twitter."
 
 #: twitter.php:184
 msgid "Log in with Twitter"
index 446c7de208098b7daed4eac90a208d773d547465..c41dc5474243382e92a8f76a58518414ae8b9326 100644 (file)
@@ -9,7 +9,7 @@ $a->strings["Post to Twitter"] = "Invia a Twitter";
 $a->strings["Twitter settings updated."] = "Impostazioni di Twitter aggiornate.";
 $a->strings["Twitter Posting Settings"] = "Impostazioni di invio a Twitter";
 $a->strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "Nessuna coppia di chiavi per Twitter trovata. Contatta l'amministratore del sito.";
-$a->strings["At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "Il plugin Twitter è abilitato ma non hai ancora collegato i tuoi account Friendica e Twitter. Per farlo, clicca il bottone qui sotto per ricevere un PIN da Twitter che dovrai copiare nel campo qui sotto. Solo i tuoi post <strong>pubblici</strong> saranno inviati a Twitter.";
+$a->strings["At this Friendica instance the Twitter addon was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "Il addon Twitter è abilitato ma non hai ancora collegato i tuoi account Friendica e Twitter. Per farlo, clicca il bottone qui sotto per ricevere un PIN da Twitter che dovrai copiare nel campo qui sotto. Solo i tuoi post <strong>pubblici</strong> saranno inviati a Twitter.";
 $a->strings["Log in with Twitter"] = "Accedi con Twitter";
 $a->strings["Copy the PIN from Twitter here"] = "Copia il PIN da Twitter qui";
 $a->strings["Submit"] = "Invia";
index 00a0f111aac08364757315ee6dae9e45f1351f8c..6330249cc55dad66a4bcf487c61f6b99cc074439 100644 (file)
@@ -4,7 +4,7 @@ $a->strings["Post to Twitter"] = "Post til Twitter";
 $a->strings["Twitter settings updated."] = "Twitter-innstilinger oppdatert.";\r
 $a->strings["Twitter Posting Settings"] = "Innstillinger for posting til Twitter";\r
 $a->strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "Ingen \"consumer key pair\" for Twitter funnet. Vennligst kontakt stedets administrator.";\r
-$a->strings["At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "Ved denne Friendica-forekomsten er Twitter-tillegget aktivert, men du har ennå ikke tilkoblet din konto til din Twitter-konto. For å gjøre det, klikk på knappen nedenfor for å få en PIN-kode fra Twitter som du må kopiere inn i feltet nedenfor og sende inn skjemaet. Bare dine <strong>offentlige</strong> innlegg vil bli lagt inn på Twitter. ";\r
+$a->strings["At this Friendica instance the Twitter addon was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "Ved denne Friendica-forekomsten er Twitter-tillegget aktivert, men du har ennå ikke tilkoblet din konto til din Twitter-konto. For å gjøre det, klikk på knappen nedenfor for å få en PIN-kode fra Twitter som du må kopiere inn i feltet nedenfor og sende inn skjemaet. Bare dine <strong>offentlige</strong> innlegg vil bli lagt inn på Twitter. ";\r
 $a->strings["Log in with Twitter"] = "Logg inn via Twitter";\r
 $a->strings["Copy the PIN from Twitter here"] = "Kopier PIN-kode fra Twitter hit";\r
 $a->strings["Submit"] = "Lagre";\r
index 54d3acae7a2e4e9e3490d9fe6322aff40244abef..3afb1506804d768409f7ead60a7ed3c50763db0f 100644 (file)
@@ -4,7 +4,7 @@ $a->strings["Post to Twitter"] = "Post na Twitter";
 $a->strings["Twitter settings updated."] = "Zaktualizowano ustawienia Twittera.";\r
 $a->strings["Twitter Posting Settings"] = "Ustawienia wpisów z Twittera";\r
 $a->strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "Nie znaleziono pary dla Twittera. Proszę skontaktować się z admininstratorem strony.";\r
-$a->strings["At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "";\r
+$a->strings["At this Friendica instance the Twitter addon was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "";\r
 $a->strings["Log in with Twitter"] = "Zaloguj się przez Twitter";\r
 $a->strings["Copy the PIN from Twitter here"] = "Skopiuj tutaj PIN z Twittera";\r
 $a->strings["Submit"] = "Potwierdź";\r
index df121428b4607918d9b3bfb342a07e8399dc1bcc..56630fecfa9fb9d8d8c9ef1a2d61a30fb166a0f0 100644 (file)
@@ -39,7 +39,7 @@ msgstr "Não foi encontrado nenhum par de \"consumer keys\" para o Twitter. Por
 
 #: twitter.php:183
 msgid ""
-"At this Friendica instance the Twitter plugin was enabled but you have not "
+"At this Friendica instance the Twitter addon was enabled but you have not "
 "yet connected your account to your Twitter account. To do so click the "
 "button below to get a PIN from Twitter which you have to copy into the input"
 " box below and submit the form. Only your <strong>public</strong> posts will"
index edc4b9162aa7094b1767b0ffe239fddf2c32f9b4..698b761e2e8fa9f70cd598a11dcc16b86737f46a 100644 (file)
@@ -9,7 +9,7 @@ $a->strings["Post to Twitter"] = "Publicar no Twitter";
 $a->strings["Twitter settings updated."] = "As configurações do Twitter foram atualizadas.";
 $a->strings["Twitter Posting Settings"] = "Configurações de publicação no Twitter";
 $a->strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "Não foi encontrado nenhum par de \"consumer keys\" para o Twitter. Por favor, entre em contato com a administração do site.";
-$a->strings["At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "O plug-in do Twitter está habilitado nesta instância do Friendica, mas você ainda não conectou sua conta aqui à sua conta no Twitter. Para fazer isso, clique no botão abaixo. Você vai receber um código de verificação do Twitter. Copie-o para o campo abaixo e envie o formulário. Apenas os seus posts <strong>públicos</strong> serão publicados no Twitter.";
+$a->strings["At this Friendica instance the Twitter addon was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "O plug-in do Twitter está habilitado nesta instância do Friendica, mas você ainda não conectou sua conta aqui à sua conta no Twitter. Para fazer isso, clique no botão abaixo. Você vai receber um código de verificação do Twitter. Copie-o para o campo abaixo e envie o formulário. Apenas os seus posts <strong>públicos</strong> serão publicados no Twitter.";
 $a->strings["Log in with Twitter"] = "Entrar com o Twitter";
 $a->strings["Copy the PIN from Twitter here"] = "Cole o código de verificação do Twitter aqui";
 $a->strings["Submit"] = "Enviar";
index 27e0d553d49c61f3f324d58701f1ea52adfbf2ee..46407c733ab4b2a89dafef2564799de9021b9166 100644 (file)
@@ -38,7 +38,7 @@ msgstr "Nici o pereche de chei de utilizator pentru Twitter nu a fost găsită.
 
 #: twitter.php:264
 msgid ""
-"At this Friendica instance the Twitter plugin was enabled but you have not "
+"At this Friendica instance the Twitter addon was enabled but you have not "
 "yet connected your account to your Twitter account. To do so click the "
 "button below to get a PIN from Twitter which you have to copy into the input"
 " box below and submit the form. Only your <strong>public</strong> posts will"
index d941d001967e64b72f7a9e413a491d36c53e4b39..36a36e8c5c0d130fd4316a52caf06dd4e8a50be6 100644 (file)
@@ -9,7 +9,7 @@ $a->strings["Post to Twitter"] = "Postați pe Twitter";
 $a->strings["Twitter settings updated."] = "Configurările Twitter au fost actualizate.";
 $a->strings["Twitter Import/Export/Mirror"] = "Import/Export/Clonare Twitter";
 $a->strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "Nici o pereche de chei de utilizator pentru Twitter nu a fost găsită. Vă rugăm să vă contactați administratorul de site.";
-$a->strings["At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "Pe această sesiune Friendica, modulul Twitter era activat, dar încă nu v-ați conectat contul la profilul dvs. Twitter. Pentru aceasta apăsați pe butonul de mai jos pentru a obține un PIN de pe Twitter pe care va trebui să îl copiați în caseta de introducere mai jos şi trimiteți formularul. Numai postările dumneavoastră <strong>publice</strong> vor fi postate pe Twitter.";
+$a->strings["At this Friendica instance the Twitter addon was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "Pe această sesiune Friendica, modulul Twitter era activat, dar încă nu v-ați conectat contul la profilul dvs. Twitter. Pentru aceasta apăsați pe butonul de mai jos pentru a obține un PIN de pe Twitter pe care va trebui să îl copiați în caseta de introducere mai jos şi trimiteți formularul. Numai postările dumneavoastră <strong>publice</strong> vor fi postate pe Twitter.";
 $a->strings["Log in with Twitter"] = "Autentificare prin Twitter";
 $a->strings["Copy the PIN from Twitter here"] = "Copiați aici PIN-ul de la Twitter";
 $a->strings["Save Settings"] = "Salvare Configurări";
index 9418282a632f8e72310c44599d25ad86af91e848..911b2e083a3440759c7e106cbb2c79ba8f6182bc 100644 (file)
@@ -39,7 +39,7 @@ msgstr "Не найдено пары потребительских ключей
 
 #: twitter.php:183
 msgid ""
-"At this Friendica instance the Twitter plugin was enabled but you have not "
+"At this Friendica instance the Twitter addon was enabled but you have not "
 "yet connected your account to your Twitter account. To do so click the "
 "button below to get a PIN from Twitter which you have to copy into the input"
 " box below and submit the form. Only your <strong>public</strong> posts will"
index c2210cbbb93d5f86ccdebd8b09b7548f03070389..39e61e4ecdde6567eb9692da8b3988a7135de0cb 100644 (file)
@@ -9,7 +9,7 @@ $a->strings["Post to Twitter"] = "Отправить в Twitter";
 $a->strings["Twitter settings updated."] = "Настройки Twitter обновлены.";
 $a->strings["Twitter Posting Settings"] = "Настройка отправки сообщений в Twitter";
 $a->strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "Не найдено пары потребительских ключей для Twitter. Пожалуйста, обратитесь к администратору сайта.";
-$a->strings["At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "Чтобы подключиться к Twitter аккаунту, нажмите на кнопку ниже, чтобы получить код безопасности от Twitter, который нужно скопировать в поле ввода ниже, и отправить форму. Только ваши <strong>публичные сообщения</strong> будут отправляться на Twitter.";
+$a->strings["At this Friendica instance the Twitter addon was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "Чтобы подключиться к Twitter аккаунту, нажмите на кнопку ниже, чтобы получить код безопасности от Twitter, который нужно скопировать в поле ввода ниже, и отправить форму. Только ваши <strong>публичные сообщения</strong> будут отправляться на Twitter.";
 $a->strings["Log in with Twitter"] = "Войдите через Twitter";
 $a->strings["Copy the PIN from Twitter here"] = "Скопируйте PIN с Twitter сюда";
 $a->strings["Submit"] = "Подтвердить";
index 02cb3fdd9f8e914b4ce67db1c0c8fec5700daad8..3f9d77c8c0d8620a82ce4cd8e98f972f2b7af0a5 100644 (file)
@@ -3,7 +3,7 @@
 $a->strings["Post to Twitter"] = "L&auml;gg in p&aring; Twitter";\r
 $a->strings["Twitter Posting Settings"] = "Inst&auml;llningar f&ouml;r inl&auml;gg p&aring; Twitter";\r
 $a->strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "No consumer key pair for Twitter found. Please contact your site administrator.";\r
-$a->strings["At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter.";\r
+$a->strings["At this Friendica instance the Twitter addon was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "At this Friendica instance the Twitter addon was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter.";\r
 $a->strings["Copy the PIN from Twitter here"] = "Ange PIN-koden fr&aring;n Twitter h&auml;r";\r
 $a->strings["Submit"] = "Spara";\r
 $a->strings["Currently connected to: "] = "Ansluten till: ";\r
index 9f8f7058bd3a94f57f7d09e27ea97d74b3c26f73..402534c1e6ec6bb0b27cd71487a018a157571a32 100644 (file)
@@ -4,7 +4,7 @@ $a->strings["Post to Twitter"] = "发送到在Twitter";
 $a->strings["Twitter settings updated."] = "Twitter设置更新了。";\r
 $a->strings["Twitter Posting Settings"] = "Twitter发送设置";\r
 $a->strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "找不到Twitter的消费钥匙双。请联系您的网页行政人员。";\r
-$a->strings["At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "在这个Friendica网站使Twitter插件可用的可您还没有把您的账户和您Twitter账户连通。为这做点击下边的按钮得到密码从Twitter您要粘贴在下边的输入框和提交。只您的<strong>公开</strong>文章被发送到Twitter。";\r
+$a->strings["At this Friendica instance the Twitter addon was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "在这个Friendica网站使Twitter插件可用的可您还没有把您的账户和您Twitter账户连通。为这做点击下边的按钮得到密码从Twitter您要粘贴在下边的输入框和提交。只您的<strong>公开</strong>文章被发送到Twitter。";\r
 $a->strings["Log in with Twitter"] = "用Twitter登记";\r
 $a->strings["Copy the PIN from Twitter here"] = "复制Twitter密码这儿";\r
 $a->strings["Submit"] = "提交";\r
index 4f6c55cacfe5cad76e16fbee83d7f22e89ba0d2f..2b5c9ed00704de33e514c42e782187ac203cba42 100644 (file)
@@ -1,8 +1,8 @@
-WebRTC Plugin
+WebRTC Addon
 =============
 
 This is a quick and dirty addon to add a [webrtc][1] website as an app. As webrtc
-advances so rapidly there is s a chance this plugin will be obsolete. Webrtc is
+advances so rapidly there is s a chance this addon will be obsolete. Webrtc is
 a new video and audio conferencing tool that is browser to browser
 communication, no need to download specific software for just conferencing.
 There are many different webrtc instances and because of the technology it is
@@ -10,7 +10,7 @@ really a person 2 person communication, using the server to only signal who
 wants to talk to who, the actual transfer of the audio and video is directly
 between the participants.
 
-If you would like to try this plugin please download one of the following
+If you would like to try this addon please download one of the following
 either Chrome/Chromium 25 or higher or Firefox 21 or higher. Then test it by
 visiting a known webrtc instance (i.e. [live.mayfirst.org](https://live.mayfirst.org)) create a
 room, you should be asked to share your camera and microphone (firefox will let
index ae800a32d7e7e2bc33c21b49f7ad5a785e4daf2a..31610b50edd17c40d7d3befa07c42eb54c4ab6d5 100644 (file)
@@ -56,4 +56,4 @@ msgstr "WebRTC è un sistema di conferenza audio/video che funziona con Firefox
 msgid ""
 "Please contact your friendica admin and send a reminder to configure the "
 "WebRTC addon."
-msgstr "Contatta il tuo amministratore Friendica e ricordagli di configurare il plugin WebRTC."
+msgstr "Contatta il tuo amministratore Friendica e ricordagli di configurare il addonWebRTC."
index 7eb1f2f4fe8fb32247d29da3794fdc8fc9adcd41..cb86cd3a20d3fd793fcd521e81f3d03b7a246ee8 100644 (file)
@@ -12,4 +12,4 @@ $a->strings["Page your users will create a WebRTC chat room on. For example you
 $a->strings["Settings updated."] = "Impostazioni aggiornate.";
 $a->strings["Video Chat"] = "Chat Video";
 $a->strings["WebRTC is a video and audio conferencing tool that works with Firefox (version 21 and above) and Chrome/Chromium (version 25 and above). Just create a new chat room and send the link to someone you want to chat with."] = "WebRTC è un sistema di conferenza audio/video che funziona con Firefox (dalla versione 21) e Chrome/Chromium (dalla versione 25).\nCrea semplicemente una nuova stanza e invia il link alla persona con cui vuoi parlare.";
-$a->strings["Please contact your friendica admin and send a reminder to configure the WebRTC addon."] = "Contatta il tuo amministratore Friendica e ricordagli di configurare il plugin WebRTC.";
+$a->strings["Please contact your friendica admin and send a reminder to configure the WebRTC addon."] = "Contatta il tuo amministratore Friendica e ricordagli di configurare il addon WebRTC.";
index c903d2bf85cc4c47c6269e83d36c4b088d85a8c5..79a7a40282286cc2cab35116d24d4c74c0269ec6 100644 (file)
@@ -49,7 +49,7 @@ msgid "Widgets available"
 msgstr ""
 
 #: widgets.php:124
-msgid "Plugin Settings"
+msgid "Addon Settings"
 msgstr ""
 
 #: widget_friendheader.php:40
index db19a10b80497b1eca22de76f979357f363598fa..fb4bd47215ff7deff886494f58d8b7a5cde222c2 100644 (file)
@@ -6,5 +6,5 @@ $a->strings["Connect on Friendica!"] = "Connectar en Friendica";
 $a->strings["Generate new key"] = "Generar nova clau";\r
 $a->strings["Widgets key"] = "Ginys clau";\r
 $a->strings["Widgets available"] = "Ginys disponibles";\r
-$a->strings["Plugin Settings"] = "Ajustos de Plugin";\r
+$a->strings["Addon Settings"] = "Ajustos de Addon";\r
 $a->strings["Get added to this list!"] = "S'afegeixen a aquesta llista!";\r
index 68c4f81fa4f37d9ff2aa0dda69d4a75c6eaf8e6a..e6da406d74fa11b201623191a90132773d6d081c 100644 (file)
@@ -6,5 +6,5 @@ $a->strings["Connect on Friendica!"] = "Připojit na Friendica!";
 $a->strings["Generate new key"] = "Generovat nové klíče";\r
 $a->strings["Widgets key"] = "Widgety klíč";\r
 $a->strings["Widgets available"] = "Widgety k dispozici";\r
-$a->strings["Plugin Settings"] = "Nastavení doplňku";\r
+$a->strings["Addon Settings"] = "Nastavení doplňku";\r
 $a->strings["Get added to this list!"] = "Nechte se přidat do tohoto listu!";\r
index 3137f02dbfc11fb2cb31da0e93597be2d32dfb93..86e42c688511e8acc16dca13b6aac51944f0f04f 100644 (file)
@@ -6,5 +6,5 @@ $a->strings["Connect on Friendica!"] = "In Friendica verbinden!";
 $a->strings["Generate new key"] = "Neuen Schlüssel erstellen";\r
 $a->strings["Widgets key"] = "Widgets Schlüssel";\r
 $a->strings["Widgets available"] = "Verfügbare Widgets";\r
-$a->strings["Plugin Settings"] = "Plugin-Einstellungen";\r
+$a->strings["Addon Settings"] = "Addon-Einstellungen";\r
 $a->strings["Get added to this list!"] = "Werde Mitglied dieser Liste";\r
index 5a599474c9c142d8b7ee8716db156936008f2427..7585a6bb4edc7fc839d5430731b661440802153a 100644 (file)
@@ -6,5 +6,5 @@ $a->strings["Connect on Friendica!"] = "Konekti ĉe Friendica!";
 $a->strings["Generate new key"] = "Generi novan ĉifroŝlosilon";\r
 $a->strings["Widgets key"] = "Ŝlosilo por fenestraĵoj";\r
 $a->strings["Widgets available"] = "Disponeblaj fenestraĵoj";\r
-$a->strings["Plugin Settings"] = "Kromprogramoagordoj";\r
+$a->strings["Addon Settings"] = "Kromprogramoagordoj";\r
 $a->strings["Get added to this list!"] = "Iĝu membro de ĉi tiu listo!";\r
index 181ae8e0275cc1cb4330a641b38010a7160b2118..736ae769ad1d73cfad1049f3d99793e1eab13dca 100644 (file)
@@ -6,5 +6,5 @@ $a->strings["Connect on Friendica!"] = "¡Conéctate en Friendica!";
 $a->strings["Generate new key"] = "Generar clave nueva";\r
 $a->strings["Widgets key"] = "Clave de aplicaciones";\r
 $a->strings["Widgets available"] = "Aplicaciones disponibles";\r
-$a->strings["Plugin Settings"] = "Configuración de los módulos";\r
+$a->strings["Addon Settings"] = "Configuración de los módulos";\r
 $a->strings["Get added to this list!"] = "¡Añadido a la lista!";\r
index b3b6108df696579c65e83922192115fd2b2620ba..2a3000e329b2549ede1a49283a82a092a17c2862 100644 (file)
@@ -6,5 +6,5 @@ $a->strings["Connect on Friendica!"] = "Se connecter sur Friendica!";
 $a->strings["Generate new key"] = "Générer une nouvelle clé";\r
 $a->strings["Widgets key"] = "Clé des widgets";\r
 $a->strings["Widgets available"] = "Widgets disponibles";\r
-$a->strings["Plugin Settings"] = "Extensions";\r
+$a->strings["Addon Settings"] = "Extensions";\r
 $a->strings["Get added to this list!"] = "Ajoutez-vous à cette liste!";\r
index 9892b5f4d2ff6ce09638e8830a682d4323822203..7867762d2ce5028cec34d8b175c1f9fc0e74d5d4 100644 (file)
@@ -6,5 +6,5 @@ $a->strings["Connect on Friendica!"] = "Tengist á Friendica!";
 $a->strings["Generate new key"] = "Búa til nýjan lykil";\r
 $a->strings["Widgets key"] = "Lykill smáforrits ";\r
 $a->strings["Widgets available"] = "Smáforrit til";\r
-$a->strings["Plugin Settings"] = "Eininga stillingar";\r
+$a->strings["Addon Settings"] = "Eininga stillingar";\r
 $a->strings["Get added to this list!"] = "Láta bæta þér við þennan lista!";\r
index d713d8ce02a8b472328c27356edeac8ec878a738..277f1f8653ffa1f28a39e185ccf31eb07a34a63d 100644 (file)
@@ -6,5 +6,5 @@ $a->strings["Connect on Friendica!"] = "Connettiti su Friendica!";
 $a->strings["Generate new key"] = "Genera una nuova chiave";\r
 $a->strings["Widgets key"] = "Chiave Widget";\r
 $a->strings["Widgets available"] = "Widget disponibili";\r
-$a->strings["Plugin Settings"] = "Impostazioni plugin";\r
+$a->strings["Addon Settings"] = "Impostazioni addon";\r
 $a->strings["Get added to this list!"] = "Aggiungiti a questa lista!";\r
index 7774c639b330c23b9b5eb030f8ad485eaaab640c..cdcf3f4333eebc743afd07130c6ef8985a0b8e29 100644 (file)
@@ -6,5 +6,5 @@ $a->strings["Connect on Friendica!"] = "";
 $a->strings["Generate new key"] = "Lag ny nøkkel";\r
 $a->strings["Widgets key"] = "Nøkkel til småprogrammer";\r
 $a->strings["Widgets available"] = "Småprogrammer er tilgjengelige";\r
-$a->strings["Plugin Settings"] = "Tilleggsinnstillinger";\r
+$a->strings["Addon Settings"] = "Tilleggsinnstillinger";\r
 $a->strings["Get added to this list!"] = "";\r
index 967b998be6540687068018d413a0e48a40286542..b36b2cf5f1f7345203873f69bbf7ed31b19233d2 100644 (file)
@@ -6,5 +6,5 @@ $a->strings["Connect on Friendica!"] = "Połączono z Friendica!";
 $a->strings["Generate new key"] = "Stwórz nowy klucz";\r
 $a->strings["Widgets key"] = "";\r
 $a->strings["Widgets available"] = "Widgety są dostępne";\r
-$a->strings["Plugin Settings"] = "Ustawienia wtyczki";\r
+$a->strings["Addon Settings"] = "Ustawienia wtyczki";\r
 $a->strings["Get added to this list!"] = "Zostań dodany do listy!";\r
index 965c39eb3493a9251cc2e1a59258a37ddae9b495..934ffea31c6db450ba6ee1eb7cae54c955248324 100644 (file)
@@ -6,5 +6,5 @@ $a->strings["Connect on Friendica!"] = "Conecte no Friendica!";
 $a->strings["Generate new key"] = "Gerar nova chave";\r
 $a->strings["Widgets key"] = "Chave de widgets";\r
 $a->strings["Widgets available"] = "Widgets disponíveis";\r
-$a->strings["Plugin Settings"] = "Configurações do plugin";\r
+$a->strings["Addon Settings"] = "Configurações do addon";\r
 $a->strings["Get added to this list!"] = "";\r
index 3c455eb3b57dd74f8dcdb8bdcd5a9ca3d1fa11ee..8d8cf250fe01f51765296d70940a2b1a6a19abc5 100644 (file)
@@ -6,5 +6,5 @@ $a->strings["Connect on Friendica!"] = "Подключены к Friendica!";
 $a->strings["Generate new key"] = "Сгенерировать новый ключ";\r
 $a->strings["Widgets key"] = "Ключ виджетов";\r
 $a->strings["Widgets available"] = "Виджеты доступны";\r
-$a->strings["Plugin Settings"] = "Настройки плагина";\r
+$a->strings["Addon Settings"] = "Настройки плагина";\r
 $a->strings["Get added to this list!"] = "";\r
index 0d27628b67561d306160807e315b8d3b7d5dd0dd..6b34aac18d12a72b0fa39857bf6c74abdd9969a3 100644 (file)
@@ -1,3 +1,3 @@
 <?php\r
 \r
-$a->strings["Plugin Settings"] = "Inst&auml;llningar f&ouml;r insticksprogram";\r
+$a->strings["Addon Settings"] = "Inst&auml;llningar f&ouml;r insticksprogram";\r
index 11f1a96e1757349d28d8ab120317be2325fae1e2..df8fc4943fc712e8fad6436ad5fd2e522407797e 100644 (file)
@@ -6,5 +6,5 @@ $a->strings["Connect on Friendica!"] = "连接在Friendica!";
 $a->strings["Generate new key"] = "造成新钥匙";\r
 $a->strings["Widgets key"] = "小窗口钥匙";\r
 $a->strings["Widgets available"] = "可用的小窗口";\r
-$a->strings["Plugin Settings"] = "插件设置";\r
+$a->strings["Addon Settings"] = "插件设置";\r
 $a->strings["Get added to this list!"] = "被在这个单子加入!";\r
index b6a10a74315ff390660a10c8ecb4f29f58806d49..8643694aae3776005ac0d1c5f7db457fb7221327 100644 (file)
@@ -26,7 +26,7 @@ msgid "WindowsPhonePush Settings"
 msgstr ""
 
 #: windowsphonepush.php:117
-msgid "Enable WindowsPhonePush Plugin"
+msgid "Enable WindowsPhonePush Addon"
 msgstr ""
 
 #: windowsphonepush.php:122
index 672ab3f22914793a76c7f31c53ae9f03b85db5c0..58bf87cff5b4d1e7e561aca94ec7ad0b2c880112 100644 (file)
@@ -28,8 +28,8 @@ msgid "WindowsPhonePush Settings"
 msgstr "WindowsPhonePush Einstellungen"
 
 #: windowsphonepush.php:117
-msgid "Enable WindowsPhonePush Plugin"
-msgstr "Aktiviere WindowsPhonePush Plugin"
+msgid "Enable WindowsPhonePush Addon"
+msgstr "Aktiviere WindowsPhonePush Addon"
 
 #: windowsphonepush.php:122
 msgid "Push text of new item"
index 5dbbafc2f999d0cf7a7ee96dbaf3cbc5b01eefbb..e03a0bd73bc28952fce212591ab0b00aadc1e378 100644 (file)
@@ -7,6 +7,6 @@ function string_plural_select_de($n){
 ;
 $a->strings["WindowsPhonePush settings updated."] = "WindowsPhonePush Einstellungen aktualisiert.";
 $a->strings["WindowsPhonePush Settings"] = "WindowsPhonePush Einstellungen";
-$a->strings["Enable WindowsPhonePush Plugin"] = "Aktiviere WindowsPhonePush Plugin";
+$a->strings["Enable WindowsPhonePush Addon"] = "Aktiviere WindowsPhonePush Addon";
 $a->strings["Push text of new item"] = "Text senden";
 $a->strings["Save Settings"] = "Einstellungen speichern";
index 7d561c218068bd3fe9c01f2df112d2e79c0b34d9..52d8e80765d2c50a66b098b4b0c35852fd617616 100644 (file)
@@ -28,8 +28,8 @@ msgid "WindowsPhonePush Settings"
 msgstr "Ajustes de WindowsPhonePush"
 
 #: windowsphonepush.php:117
-msgid "Enable WindowsPhonePush Plugin"
-msgstr "Habilitar Plugin de WindowsPhonePush"
+msgid "Enable WindowsPhonePush Addon"
+msgstr "Habilitar Addon de WindowsPhonePush"
 
 #: windowsphonepush.php:122
 msgid "Push text of new item"
index 22a5c4c5c238e4754de7a3cd597e2f78de70f6a7..b1a1bd37a70686a4a5331f07766d1eea1e1c3afd 100644 (file)
@@ -7,6 +7,6 @@ function string_plural_select_es($n){
 ;
 $a->strings["WindowsPhonePush settings updated."] = "Ajustes de WindowsPhonePush actualizados.";
 $a->strings["WindowsPhonePush Settings"] = "Ajustes de WindowsPhonePush";
-$a->strings["Enable WindowsPhonePush Plugin"] = "Habilitar Plugin de WindowsPhonePush";
+$a->strings["Enable WindowsPhonePush Addon"] = "Habilitar Addon de WindowsPhonePush";
 $a->strings["Push text of new item"] = "Empujar texto de nuevo objeto";
 $a->strings["Save Settings"] = "Guardar Ajustes";
index 612f4d6cf2d1a589b972ea58ebc217bfa426651f..b1b9a65ce010ccf82c0f5c3513b58cb005ca4715 100644 (file)
@@ -28,7 +28,7 @@ msgid "WindowsPhonePush Settings"
 msgstr "Paramètres WindowsPhonePush"
 
 #: windowsphonepush.php:117
-msgid "Enable WindowsPhonePush Plugin"
+msgid "Enable WindowsPhonePush Addon"
 msgstr "Activer le greffon WindowsPhonePush"
 
 #: windowsphonepush.php:122
index 8edca6fc384410ebe22c2bbd7e0a189bf49f229e..bff0edb39f755dda5535c969eb04ba5136b8e0b2 100644 (file)
@@ -7,6 +7,6 @@ function string_plural_select_fr($n){
 ;
 $a->strings["WindowsPhonePush settings updated."] = "Paramètres WindowsPhonePush mis à jour";
 $a->strings["WindowsPhonePush Settings"] = "Paramètres WindowsPhonePush";
-$a->strings["Enable WindowsPhonePush Plugin"] = "Activer le greffon WindowsPhonePush";
+$a->strings["Enable WindowsPhonePush Addon"] = "Activer le greffon WindowsPhonePush";
 $a->strings["Push text of new item"] = "Pousse le texte du nouvel élément";
 $a->strings["Save Settings"] = "Sauvegarde des paramètres";
index be085107f9f9def69bf42892be7dd4faad2c7a89..d51b5732c83a2e02f79a85d11b4611f860636339 100644 (file)
@@ -28,8 +28,8 @@ msgid "WindowsPhonePush Settings"
 msgstr "Impostazioni WindowsPhonePush"
 
 #: windowsphonepush.php:117
-msgid "Enable WindowsPhonePush Plugin"
-msgstr "Abilita plugin WindowsPhonePush"
+msgid "Enable WindowsPhonePush Addon"
+msgstr "Abilita addon WindowsPhonePush"
 
 #: windowsphonepush.php:122
 msgid "Push text of new item"
index a472a7c1363c634db687ba1abb6fad69c42db4be..ca76a09d27dcf7d201ed5ea63b73d94f7717ac2c 100644 (file)
@@ -7,6 +7,6 @@ function string_plural_select_it($n){
 ;
 $a->strings["WindowsPhonePush settings updated."] = "Impostazioni WindowsPhonePush aggiornate.";
 $a->strings["WindowsPhonePush Settings"] = "Impostazioni WindowsPhonePush";
-$a->strings["Enable WindowsPhonePush Plugin"] = "Abilita plugin WindowsPhonePush";
+$a->strings["Enable WindowsPhonePush Addon"] = "Abilita addon WindowsPhonePush";
 $a->strings["Push text of new item"] = "Notifica il testo dei nuovi elementi";
 $a->strings["Save Settings"] = "Salva Impostazioni";
index 3b55d4a43351102ed76e08e951d690c323ec6668..cbef36dade56530b8e50eed503f12e0c3f775ee8 100644 (file)
@@ -28,8 +28,8 @@ msgid "WindowsPhonePush Settings"
 msgstr "Configurare  WindowsPhonePush"
 
 #: windowsphonepush.php:117
-msgid "Enable WindowsPhonePush Plugin"
-msgstr "Activare Plugin WindowsPhonePush"
+msgid "Enable WindowsPhonePush Addon"
+msgstr "Activare Addon WindowsPhonePush"
 
 #: windowsphonepush.php:122
 msgid "Push text of new item"
index 1c29eaba67efdcf0856c396560e20058e24bcd97..819ef6fe5b6d2217e7e4015ce816104cb257bf43 100644 (file)
@@ -7,6 +7,6 @@ function string_plural_select_ro($n){
 ;
 $a->strings["WindowsPhonePush settings updated."] = "Configurări  WindowsPhonePush actualizate.";
 $a->strings["WindowsPhonePush Settings"] = "Configurare  WindowsPhonePush";
-$a->strings["Enable WindowsPhonePush Plugin"] = "Activare Plugin WindowsPhonePush";
+$a->strings["Enable WindowsPhonePush Addon"] = "Activare Addon WindowsPhonePush";
 $a->strings["Push text of new item"] = "Tastează textul noului element";
 $a->strings["Save Settings"] = "Salvare Configurări";
index 27baa9606a9390fd671f9af6060a6e5a1d7b9ac5..92bc721d4afae374505d9b7b33f88016b11c874e 100644 (file)
@@ -26,7 +26,7 @@ msgid "Wordpress Export"
 msgstr ""
 
 #: wppost.php:87
-msgid "Enable WordPress Post Plugin"
+msgid "Enable WordPress Post Addon"
 msgstr ""
 
 #: wppost.php:92
index 2856b55c303224dd168d56d4a6b70e4e4b353183..fb8f7d65c72dbb8f34e5de8b02b53cf7a4eac189 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Wordpress"] = "Publica-ho al Wordpress";\r
 $a->strings["WordPress Post Settings"] = "Configuració d'enviaments a WordPress";\r
-$a->strings["Enable WordPress Post Plugin"] = "Habilitar Configuració d'Enviaments a WordPress";\r
+$a->strings["Enable WordPress Post Addon"] = "Habilitar Configuració d'Enviaments a WordPress";\r
 $a->strings["WordPress username"] = "Nom d'usuari de WordPress";\r
 $a->strings["WordPress password"] = "Contrasenya de WordPress";\r
 $a->strings["WordPress API URL"] = "WordPress API URL";\r
index 992a95db2c5c8476625145b675aa4b5f331535d2..d2571365ac5b4e465a4d6ed4b21bc965ba036c3b 100644 (file)
@@ -28,7 +28,7 @@ msgid "Wordpress Export"
 msgstr "Wordpress Export"
 
 #: wppost.php:86
-msgid "Enable WordPress Post Plugin"
+msgid "Enable WordPress Post Addon"
 msgstr "Povolit rozšíření na WordPress"
 
 #: wppost.php:91
index 00352ce7ac10c9e3ee6b933fae842e1c7559d52e..457834224894f3bcb25a2ad0e3e5d59373683bdc 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_cs($n){
 ;
 $a->strings["Post to Wordpress"] = "Příspěvky do WordPress";
 $a->strings["Wordpress Export"] = "Wordpress Export";
-$a->strings["Enable WordPress Post Plugin"] = "Povolit rozšíření na WordPress";
+$a->strings["Enable WordPress Post Addon"] = "Povolit rozšíření na WordPress";
 $a->strings["WordPress username"] = "WordPress uživatelské jméno";
 $a->strings["WordPress password"] = "WordPress heslo";
 $a->strings["WordPress API URL"] = "URL adresa API WordPress";
index 57dde23f2b5ae9e2c6b1c02629d10579b94e1424..eb10db4004d20ac04c56a80f828856186d3b2a5f 100644 (file)
@@ -30,8 +30,8 @@ msgid "Wordpress Export"
 msgstr "Wordpress Export"
 
 #: wppost.php:87
-msgid "Enable WordPress Post Plugin"
-msgstr "WordPress Plugin aktivieren"
+msgid "Enable WordPress Post Addon"
+msgstr "WordPress Addon aktivieren"
 
 #: wppost.php:92
 msgid "WordPress username"
index 9cdc292a99a284c358bd501126a48934be02117c..57ae6afeb45af5fc28a5052b44afdf5abb066f1f 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_de($n){
 ;
 $a->strings["Post to Wordpress"] = "Bei WordPress veröffentlichen";
 $a->strings["Wordpress Export"] = "Wordpress Export";
-$a->strings["Enable WordPress Post Plugin"] = "WordPress Plugin aktivieren";
+$a->strings["Enable WordPress Post Addon"] = "WordPress Addon aktivieren";
 $a->strings["WordPress username"] = "WordPress-Benutzername";
 $a->strings["WordPress password"] = "WordPress-Passwort";
 $a->strings["WordPress API URL"] = "WordPress-API-URL";
index 7c786666d6339f597086a956db5826bc6f4d3c89..04130d7360377b4d1f216e54c820c40cdb0975c5 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Wordpress"] = "Afiŝi al Wordpress";\r
 $a->strings["WordPress Post Settings"] = "Agordoj por WordPress afiŝojn";\r
-$a->strings["Enable WordPress Post Plugin"] = "Ŝalti la Wordpress-afiŝo kromprogramon";\r
+$a->strings["Enable WordPress Post Addon"] = "Ŝalti la Wordpress-afiŝo kromprogramon";\r
 $a->strings["WordPress username"] = "WordPress salutnomo";\r
 $a->strings["WordPress password"] = "WordPress pasvorto";\r
 $a->strings["WordPress API URL"] = "Wordpress API URL adreso";\r
index baac8034bed26bcdfcf8838042405be0b54ecc4e..0c555a7fd667865bbc03c18e3c823678f418ff0d 100644 (file)
@@ -28,8 +28,8 @@ msgid "Wordpress Export"
 msgstr "Exportar a Wordpress"
 
 #: wppost.php:87
-msgid "Enable WordPress Post Plugin"
-msgstr "Habilitar Plugin de publicación de WordPress"
+msgid "Enable WordPress Post Addon"
+msgstr "Habilitar Addon de publicación de WordPress"
 
 #: wppost.php:92
 msgid "WordPress username"
index 1375331180e0d127b4ff4d4bbef21b8a98661fd7..fab68021a876ee9cbcdd5b90c1caebc379f80079 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_es($n){
 ;
 $a->strings["Post to Wordpress"] = "Publicar en Wordpress";
 $a->strings["Wordpress Export"] = "Exportar a Wordpress";
-$a->strings["Enable WordPress Post Plugin"] = "Habilitar Plugin de publicación de WordPress";
+$a->strings["Enable WordPress Post Addon"] = "Habilitar Addon de publicación de WordPress";
 $a->strings["WordPress username"] = "Nombre de usuario de WordPress";
 $a->strings["WordPress password"] = "Contraseña de WordPress";
 $a->strings["WordPress API URL"] = "URL de API de WordPress";
index 9cd4456fe13e784e07332acbd94f653c59ea6a2f..ed5113976fa702aad1067ee5ee6cac2c31b57018 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Wordpress"] = "Poster sur WordPress";\r
 $a->strings["WordPress Post Settings"] = "Réglages WordPress";\r
-$a->strings["Enable WordPress Post Plugin"] = "Activer l'extension WordPress";\r
+$a->strings["Enable WordPress Post Addon"] = "Activer l'extension WordPress";\r
 $a->strings["WordPress username"] = "Utilisateur WordPress";\r
 $a->strings["WordPress password"] = "Mot de passe WordPress";\r
 $a->strings["WordPress API URL"] = "URL de l'API WordPress";\r
index 0b7f3fe7ffe167ce1695a5841d64eb88c512b674..bca63d568c7eb7fed16c821b714f3655dfb352a6 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Wordpress"] = "Senda færslu á Wordpress";\r
 $a->strings["WordPress Post Settings"] = "Wordpress Post stillingar";\r
-$a->strings["Enable WordPress Post Plugin"] = "Kveikja á WordPress Post viðbót";\r
+$a->strings["Enable WordPress Post Addon"] = "Kveikja á WordPress Post viðbót";\r
 $a->strings["WordPress username"] = "Wordpress aðgangsorð";\r
 $a->strings["WordPress password"] = "Wordpress aðgagnsorð";\r
 $a->strings["WordPress API URL"] = "Slóð á Wordpress API";\r
index 2369d955dd5ad52b49936c78f6898e5c1a367c09..00bed78af392b4e7ce73578d48422ecf46f26ccf 100644 (file)
@@ -28,8 +28,8 @@ msgid "Wordpress Export"
 msgstr ""
 
 #: wppost.php:87
-msgid "Enable WordPress Post Plugin"
-msgstr "Abilita il plugin di invio a Wordpress"
+msgid "Enable WordPress Post Addon"
+msgstr "Abilita il addon di invio a Wordpress"
 
 #: wppost.php:92
 msgid "WordPress username"
index 3f616900e88220d4bee4ce80f7f173167a7781b9..8df1bd08ee2c56b3be39113ee5743f3798dd90b4 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_it($n){
 ;
 $a->strings["Post to Wordpress"] = "Invia a Wordpress";
 $a->strings["Wordpress Export"] = "";
-$a->strings["Enable WordPress Post Plugin"] = "Abilita il plugin di invio a Wordpress";
+$a->strings["Enable WordPress Post Addon"] = "Abilita il addon di invio a Wordpress";
 $a->strings["WordPress username"] = "Nome utente Wordpress";
 $a->strings["WordPress password"] = "Password Wordpress";
 $a->strings["WordPress API URL"] = "Indirizzo API Wordpress";
index 5c840e6734b112c2f2ec722e31ca666f2e503595..3d125aa677088ccfe1de7683631a99e9d2ef892c 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Wordpress"] = "";\r
 $a->strings["WordPress Post Settings"] = "";\r
-$a->strings["Enable WordPress Post Plugin"] = "";\r
+$a->strings["Enable WordPress Post Addon"] = "";\r
 $a->strings["WordPress username"] = "";\r
 $a->strings["WordPress password"] = "";\r
 $a->strings["WordPress API URL"] = "";\r
index 201ead1d42b6cb04b0bc3a2347691f4ac7950282..ab2df6a71f274803945a4c55bddd85a87c57553e 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Wordpress"] = "Opublikuj na Wordpress";\r
 $a->strings["WordPress Post Settings"] = "Ustawienia wpisów WorldPress";\r
-$a->strings["Enable WordPress Post Plugin"] = "Włącz plugin wpisów WorldPress";\r
+$a->strings["Enable WordPress Post Addon"] = "Włącz addon wpisów WorldPress";\r
 $a->strings["WordPress username"] = "nazwa użytkownika WordPress";\r
 $a->strings["WordPress password"] = "hasło WordPress";\r
 $a->strings["WordPress API URL"] = "WordPress API URL";\r
index 3d2ad0ffdbc0df69a3493520570554d4958cec53..b011d0c2eaea0e69125fb03dd50cff0421be1ebd 100644 (file)
@@ -28,7 +28,7 @@ msgid "WordPress Post Settings"
 msgstr "Configurações de publicação no WordPress"
 
 #: wppost.php:78
-msgid "Enable WordPress Post Plugin"
+msgid "Enable WordPress Post Addon"
 msgstr "Habilitar plug-in para publicar no WordPress"
 
 #: wppost.php:83
index dbb6eb1f2330e94e2f212d31767024966fdde14f..fc59fcb38b79524c689961043a0282c8afdbf23e 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_pt_br($n){
 ;
 $a->strings["Post to Wordpress"] = "Publicar no Wordpress";
 $a->strings["WordPress Post Settings"] = "Configurações de publicação no WordPress";
-$a->strings["Enable WordPress Post Plugin"] = "Habilitar plug-in para publicar no WordPress";
+$a->strings["Enable WordPress Post Addon"] = "Habilitar plug-in para publicar no WordPress";
 $a->strings["WordPress username"] = "Nome de usuário no WordPress";
 $a->strings["WordPress password"] = "Senha do WordPress";
 $a->strings["WordPress API URL"] = "";
index d329836d12f0053576976451dcf9624e10ab3f0c..a239bcb5809e3c97375c1b53f67b1d14a5371ab4 100644 (file)
@@ -27,7 +27,7 @@ msgid "Wordpress Export"
 msgstr "Export pe Wordpress"
 
 #: wppost.php:86
-msgid "Enable WordPress Post Plugin"
+msgid "Enable WordPress Post Addon"
 msgstr "Activare Modul Postare pe Wordpress"
 
 #: wppost.php:91
index 86835bc3922de1e7022fe3dc3f33caa97222cffc..fcd0efa43b98932d84aa60f7adf101e0f7e37816 100644 (file)
@@ -7,7 +7,7 @@ function string_plural_select_ro($n){
 ;
 $a->strings["Post to Wordpress"] = "Postați pe Wordpress";
 $a->strings["Wordpress Export"] = "Export pe Wordpress";
-$a->strings["Enable WordPress Post Plugin"] = "Activare Modul Postare pe Wordpress";
+$a->strings["Enable WordPress Post Addon"] = "Activare Modul Postare pe Wordpress";
 $a->strings["WordPress username"] = "Utilizator WordPress ";
 $a->strings["WordPress password"] = "Parolă WordPress ";
 $a->strings["WordPress API URL"] = "URL Cheie API WordPress";
index f193addc7fe4522119ef002b2df473d483440421..5eefa6390b0b0c9604dd109276beef209047f470 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Wordpress"] = "Сообщение для Wordpress";\r
 $a->strings["WordPress Post Settings"] = "Настройки сообщений для Wordpress";\r
-$a->strings["Enable WordPress Post Plugin"] = "Включить WordPress  плагин сообщений";\r
+$a->strings["Enable WordPress Post Addon"] = "Включить WordPress  плагин сообщений";\r
 $a->strings["WordPress username"] = "WordPress Имя пользователя";\r
 $a->strings["WordPress password"] = "WordPress паролъ";\r
 $a->strings["WordPress API URL"] = "WordPress API URL";\r
index 74db63063bd1efa6f04d579a923d276c093d10aa..9ac233fd76ad3026d88554832de36d9d3673c51b 100644 (file)
@@ -2,7 +2,7 @@
 \r
 $a->strings["Post to Wordpress"] = "发送到Wordpress";\r
 $a->strings["WordPress Post Settings"] = "Wordpress发送设置";\r
-$a->strings["Enable WordPress Post Plugin"] = "使Wordpress发送插件可用";\r
+$a->strings["Enable WordPress Post Addon"] = "使Wordpress发送插件可用";\r
 $a->strings["WordPress username"] = "Wordpress用户名";\r
 $a->strings["WordPress password"] = "Wordpress密码";\r
 $a->strings["WordPress API URL"] = "WordPress API URL";\r
index f0a5b99136052b5ad910b1451af03cf71484b4dd..96b61a7618e4d7e33b5c7bb4b359a0cbdfe553b6 100644 (file)
@@ -55,7 +55,7 @@ Integration into other frameworks
     `django-conversejs <https://pypi.python.org/pypi/django-conversejs>`_ is an app that makes it easer to integrate *Converse.js* into Django.
     `django-xmpp <https://github.com/fpytloun/django-xmpp>`_ adds XMPP chat integration with converse.js by letting Ejabberd authenticate against your Django site.
 * `Roundcube <http://roundcube.net>`_: 
-    `roundcube-converse.js-xmpp-plugin <https://github.com/priyadi/roundcube-converse.js-xmpp-plugin>`_ is a plugin for Roundcube Webmail.
+    `roundcube-converse.js-xmpp-plugin <https://github.com/priyadi/roundcube-converse.js-xmpp-plugin>`_ is an addon for Roundcube Webmail.
 * `Wordpress <http://wordpress.org>`_:
     `ConverseJS <http://wordpress.org/plugins/conversejs>`_
 * `Patternslib <http://patternslib.com>`_:
index 7efcf9609d074564c3c5bbb70f2f893ef7617184..7ac83109ca24a7dee0818b2f22c400ed53627ec5 100644 (file)
@@ -2,8 +2,8 @@
  * @license almond 0.3.1 Copyright (c) 2011-2014, The Dojo Foundation All Rights Reserved.
  * Available via the MIT or new BSD license.
  * see: http://github.com/jrburke/almond for details
- */\r
-\r
+ */
+
 /*!
  * jQuery JavaScript Library v1.11.0
  * http://jquery.com/
@@ -16,8 +16,8 @@
  * http://jquery.org/license
  *
  * Date: 2014-01-23T21:02Z
- */\r
-\r
+ */
+
 /*!
  * Sizzle CSS Selector Engine v1.10.16
  * http://sizzlejs.com/
  * http://jquery.org/license
  *
  * Date: 2014-01-13
- */\r
-\r
-//     Underscore.js 1.8.3\r
-//     http://underscorejs.org\r
-//     (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\r
-//     Underscore may be freely distributed under the MIT license.\r
-\r
+ */
+
+//     Underscore.js 1.8.3
+//     http://underscorejs.org
+//     (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+//     Underscore may be freely distributed under the MIT license.
+
 /**
  * @license RequireJS text 2.0.14 Copyright (c) 2010-2014, The Dojo Foundation All Rights Reserved.
  * Available via the MIT or new BSD license.
  * see: http://github.com/requirejs/text for details
- */\r
-\r
-// RequireJS UnderscoreJS template plugin\r
-// http://github.com/jfparadis/requirejs-tpl\r
-//\r
-// An alternative to http://github.com/ZeeAgency/requirejs-tpl\r
-//\r
-// Using UnderscoreJS micro-templates at http://underscorejs.org/#template\r
-// Using and RequireJS text.js at http://requirejs.org/docs/api.html#text\r
-// @author JF Paradis\r
-// @version 0.0.2\r
-//\r
-// Released under the MIT license\r
-//\r
-// Usage:\r
-//   require(['backbone', 'tpl!mytemplate'], function (Backbone, mytemplate) {\r
-//     return Backbone.View.extend({\r
-//       initialize: function(){\r
-//         this.render();\r
-//       },\r
-//       render: function(){\r
-//         this.$el.html(mytemplate({message: 'hello'}));\r
-//     });\r
-//   });\r
-//\r
-// Configuration: (optional)\r
-//   require.config({\r
-//     tpl: {\r
-//       extension: '.tpl' // default = '.html'\r
-//     }\r
-//   });\r
-\r
+ */
+
+// RequireJS UnderscoreJS template addon
+// http://github.com/jfparadis/requirejs-tpl
+//
+// An alternative to http://github.com/ZeeAgency/requirejs-tpl
+//
+// Using UnderscoreJS micro-templates at http://underscorejs.org/#template
+// Using and RequireJS text.js at http://requirejs.org/docs/api.html#text
+// @author JF Paradis
+// @version 0.0.2
+//
+// Released under the MIT license
+//
+// Usage:
+//   require(['backbone', 'tpl!mytemplate'], function (Backbone, mytemplate) {
+//     return Backbone.View.extend({
+//       initialize: function(){
+//         this.render();
+//       },
+//       render: function(){
+//         this.$el.html(mytemplate({message: 'hello'}));
+//     });
+//   });
+//
+// Configuration: (optional)
+//   require.config({
+//     tpl: {
+//       extension: '.tpl' // default = '.html'
+//     }
+//   });
+
 /*
 jed.js
 v0.5.0beta
@@ -91,10 +91,10 @@ Many thanks to Joshua I. Miller - unrtst@cpan.org - who wrote
 gettext.js back in 2008. I was able to vet a lot of my ideas
 against his. I also made sure Jed passed against his tests
 in order to offer easy upgrades -- jsgettext.berlios.de
-*/\r
-\r
-// Underscore 1.3.0 was used to port and is licensed\r
-\r
+*/
+
+// Underscore 1.3.0 was used to port and is licensed
+
 /**
    sprintf() for JavaScript 0.7-beta1
    http://www.diveintojavascript.com/projects/javascript-sprintf
@@ -123,8 +123,8 @@ in order to offer easy upgrades -- jsgettext.berlios.de
    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-  */\r
-\r
+  */
+
 /*!
  * jQuery Browser Plugin 0.0.8
  * https://github.com/gabceb/jquery-browser-plugin
@@ -138,22 +138,22 @@ in order to offer easy upgrades -- jsgettext.berlios.de
  * Released under the MIT license
  *
  * Date: 05-07-2015
- */\r
-\r
+ */
+
 /*
 CryptoJS v3.1.2
 code.google.com/p/crypto-js
 (c) 2009-2013 by Jeff Mott. All rights reserved.
 code.google.com/p/crypto-js/wiki/License
-*/\r
-\r
+*/
+
 /*!
  * EventEmitter v4.2.3 - git.io/ee
  * Oliver Caldwell
  * MIT license
  * @preserve
- */\r
-\r
+ */
+
 /*!
 
   otr.js v0.2.12 - 2014-04-15
@@ -163,14 +163,14 @@ code.google.com/p/crypto-js/wiki/License
   This file is concatenated for the browser.
   Please see: https://github.com/arlolra/otr
 
-*/\r
-\r
-//! moment.js\r
-//! version : 2.10.6\r
-//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\r
-//! license : MIT\r
-//! momentjs.com\r
-\r
+*/
+
+//! moment.js
+//! version : 2.10.6
+//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
+//! license : MIT
+//! momentjs.com
+
 /*
  * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
  * in FIPS PUB 180-1
@@ -178,8 +178,8 @@ code.google.com/p/crypto-js/wiki/License
  * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
  * Distributed under the BSD License
  * See http://pajhome.org.uk/crypt/md5 for details.
- */\r
-\r
+ */
+
 /*
  * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
  * Digest Algorithm, as defined in RFC 1321.
@@ -187,51 +187,51 @@ code.google.com/p/crypto-js/wiki/License
  * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
  * Distributed under the BSD License
  * See http://pajhome.org.uk/crypt/md5 for more info.
- */\r
-\r
+ */
+
 /*
     This program is distributed under the terms of the MIT license.
     Please see the LICENSE file for details.
 
     Copyright 2006-2008, OGG, LLC
-*/\r
-\r
+*/
+
 /*
   Copyright 2010, François de Metz <francois@2metz.fr>
-*/\r
-\r
+*/
+
 /*
 * Based on Ping Strophejs plugins (https://github.com/metajack/strophejs-plugins/tree/master/ping)
-* This plugin is distributed under the terms of the MIT licence.
+* This addon is distributed under the terms of the MIT licence.
 * Please see the LICENCE file for details.
 *
 * Copyright (c) Markus Kohlhase, 2010
 * Refactored by Pavel Lang, 2011
-*/\r
-\r
-//     (c) 2010-2014 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\r
-//     Backbone may be freely distributed under the MIT license.\r
-//     For all details and documentation:\r
-//     http://backbonejs.org\r
-\r
+*/
+
+//     (c) 2010-2014 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+//     Backbone may be freely distributed under the MIT license.
+//     For all details and documentation:
+//     http://backbonejs.org
+
 /*!
  * Backbone.Overview 
  *
  * Copyright (c) 2014, JC Brand <jc@opkode.com>
  * Licensed under the Mozilla Public License (MPL) 
- */\r
-\r
+ */
+
 /*!
  * typeahead.js 0.10.5
  * https://github.com/twitter/typeahead.js
  * Copyright 2013-2014 Twitter, Inc. and other contributors; Licensed MIT
- */\r
-\r
-// Converse.js (A browser based XMPP chat client)\r
-// http://conversejs.org\r
-//\r
-// Copyright (c) 2012-2015, Jan-Carel Brand <jc@opkode.com>\r
-// Licensed under the Mozilla Public License (MPLv2)\r
-//\r
-\r
+ */
+
+// Converse.js (A browser based XMPP chat client)
+// http://conversejs.org
+//
+// Copyright (c) 2012-2015, Jan-Carel Brand <jc@opkode.com>
+// Licensed under the Mozilla Public License (MPLv2)
+//
+
 var requirejs,require,define;(function(e){function h(e,t){return f.call(e,t)}function p(e,t){var n,r,i,s,o,a,f,l,h,p,d,v=t&&t.split("/"),m=u.map,g=m&&m["*"]||{};if(e&&e.charAt(0)===".")if(t){e=e.split("/"),o=e.length-1,u.nodeIdCompat&&c.test(e[o])&&(e[o]=e[o].replace(c,"")),e=v.slice(0,v.length-1).concat(e);for(h=0;h<e.length;h+=1){d=e[h];if(d===".")e.splice(h,1),h-=1;else if(d===".."){if(h===1&&(e[2]===".."||e[0]===".."))break;h>0&&(e.splice(h-1,2),h-=2)}}e=e.join("/")}else e.indexOf("./")===0&&(e=e.substring(2));if((v||g)&&m){n=e.split("/");for(h=n.length;h>0;h-=1){r=n.slice(0,h).join("/");if(v)for(p=v.length;p>0;p-=1){i=m[v.slice(0,p).join("/")];if(i){i=i[r];if(i){s=i,a=h;break}}}if(s)break;!f&&g&&g[r]&&(f=g[r],l=h)}!s&&f&&(s=f,a=l),s&&(n.splice(0,a,s),e=n.join("/"))}return e}function d(t,r){return function(){var i=l.call(arguments,0);return typeof i[0]!="string"&&i.length===1&&i.push(null),n.apply(e,i.concat([t,r]))}}function v(e){return function(t){return p(t,e)}}function m(e){return function(t){s[e]=t}}function g(n){if(h(o,n)){var r=o[n];delete o[n],a[n]=!0,t.apply(e,r)}if(!h(s,n)&&!h(a,n))throw new Error("No "+n);return s[n]}function y(e){var t,n=e?e.indexOf("!"):-1;return n>-1&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function b(e){return function(){return u&&u.config&&u.config[e]||{}}}var t,n,r,i,s={},o={},u={},a={},f=Object.prototype.hasOwnProperty,l=[].slice,c=/\.js$/;r=function(e,t){var n,r=y(e),i=r[0];return e=r[1],i&&(i=p(i,t),n=g(i)),i?n&&n.normalize?e=n.normalize(e,v(t)):e=p(e,t):(e=p(e,t),r=y(e),i=r[0],e=r[1],i&&(n=g(i))),{f:i?i+"!"+e:e,n:e,pr:i,p:n}},i={require:function(e){return d(e)},exports:function(e){var t=s[e];return typeof t!="undefined"?t:s[e]={}},module:function(e){return{id:e,uri:"",exports:s[e],config:b(e)}}},t=function(t,n,u,f){var l,c,p,v,y,b=[],w=typeof u,E;f=f||t;if(w==="undefined"||w==="function"){n=!n.length&&u.length?["require","exports","module"]:n;for(y=0;y<n.length;y+=1){v=r(n[y],f),c=v.f;if(c==="require")b[y]=i.require(t);else if(c==="exports")b[y]=i.exports(t),E=!0;else if(c==="module")l=b[y]=i.module(t);else if(h(s,c)||h(o,c)||h(a,c))b[y]=g(c);else{if(!v.p)throw new Error(t+" missing "+c);v.p.load(v.n,d(f,!0),m(c),{}),b[y]=s[c]}}p=u?u.apply(s[t],b):undefined;if(t)if(l&&l.exports!==e&&l.exports!==s[t])s[t]=l.exports;else if(p!==e||!E)s[t]=p}else t&&(s[t]=u)},requirejs=require=n=function(s,o,a,f,l){if(typeof s=="string")return i[s]?i[s](o):g(r(s,o).f);if(!s.splice){u=s,u.deps&&n(u.deps,u.callback);if(!o)return;o.splice?(s=o,o=a,a=null):s=e}return o=o||function(){},typeof a=="function"&&(a=f,f=l),f?t(e,s,o,a):setTimeout(function(){t(e,s,o,a)},4),n},n.config=function(e){return n(e)},requirejs._defined=s,define=function(e,t,n){if(typeof e!="string")throw new Error("See almond README: incorrect module build, no module name");t.splice||(n=t,t=[]),!h(s,e)&&!h(o,e)&&(o[e]=[e,t,n])},define.amd={jQuery:!0}})(),define("components/almond/almond.js",function(){}),function(e,t){typeof module=="object"&&typeof module.exports=="object"?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}(typeof window!="undefined"?window:this,function(e,t){function y(e){var t=e.length,n=p.type(e);return n==="function"||p.isWindow(e)?!1:e.nodeType===1&&t?!0:n==="array"||t===0||typeof t=="number"&&t>0&&t-1 in e}function x(e,t,n){if(p.isFunction(t))return p.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return p.grep(e,function(e){return e===t!==n});if(typeof t=="string"){if(S.test(t))return p.filter(t,e,n);t=p.filter(t,e)}return p.grep(e,function(e){return p.inArray(e,t)>=0!==n})}function O(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function D(e){var t=_[e]={};return p.each(e.match(M)||[],function(e,n){t[n]=!0}),t}function H(){N.addEventListener?(N.removeEventListener("DOMContentLoaded",B,!1),e.removeEventListener("load",B,!1)):(N.detachEvent("onreadystatechange",B),e.detachEvent("onload",B))}function B(){if(N.addEventListener||event.type==="load"||N.readyState==="complete")H(),p.ready()}function R(e,t,n){if(n===undefined&&e.nodeType===1){var r="data-"+t.replace(q,"-$1").toLowerCase();n=e.getAttribute(r);if(typeof n=="string"){try{n=n==="true"?!0:n==="false"?!1:n==="null"?null:+n+""===n?+n:I.test(n)?p.parseJSON(n):n}catch(i){}p.data(e,t,n)}else n=undefined}return n}function U(e){var t;for(t in e){if(t==="data"&&p.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function z(e,t,r,i){if(!p.acceptData(e))return;var s,o,u=p.expando,a=e.nodeType,f=a?p.cache:e,l=a?e[u]:e[u]&&u;if((!l||!f[l]||!i&&!f[l].data)&&r===undefined&&typeof t=="string")return;l||(a?l=e[u]=n.pop()||p.guid++:l=u),f[l]||(f[l]=a?{}:{toJSON:p.noop});if(typeof t=="object"||typeof t=="function")i?f[l]=p.extend(f[l],t):f[l].data=p.extend(f[l].data,t);return o=f[l],i||(o.data||(o.data={}),o=o.data),r!==undefined&&(o[p.camelCase(t)]=r),typeof t=="string"?(s=o[t],s==null&&(s=o[p.camelCase(t)])):s=o,s}function W(e,t,n){if(!p.acceptData(e))return;var r,i,s=e.nodeType,o=s?p.cache:e,u=s?e[p.expando]:p.expando;if(!o[u])return;if(t){r=n?o[u]:o[u].data;if(r){p.isArray(t)?t=t.concat(p.map(t,p.camelCase)):t in r?t=[t]:(t=p.camelCase(t),t in r?t=[t]:t=t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!U(r):!p.isEmptyObject(r))return}}if(!n){delete o[u].data;if(!U(o[u]))return}s?p.cleanData([e],!0):c.deleteExpando||o!=o.window?delete o[u]:o[u]=null}function tt(){return!0}function nt(){return!1}function rt(){try{return N.activeElement}catch(e){}}function it(e){var t=st.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Et(e,t){var n,r,i=0,s=typeof e.getElementsByTagName!==j?e.getElementsByTagName(t||"*"):typeof e.querySelectorAll!==j?e.querySelectorAll(t||"*"):undefined;if(!s)for(s=[],n=e.childNodes||e;(r=n[i])!=null;i++)!t||p.nodeName(r,t)?s.push(r):p.merge(s,Et(r,t));return t===undefined||t&&p.nodeName(e,t)?p.merge([e],s):s}function St(e){K.test(e.type)&&(e.defaultChecked=e.checked)}function xt(e,t){return p.nodeName(e,"table")&&p.nodeName(t.nodeType!==11?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Tt(e){return e.type=(p.find.attr(e,"type")!==null)+"/"+e.type,e}function Nt(e){var t=mt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Ct(e,t){var n,r=0;for(;(n=e[r])!=null;r++)p._data(n,"globalEval",!t||p._data(t[r],"globalEval"))}function kt(e,t){if(t.nodeType!==1||!p.hasData(e))return;var n,r,i,s=p._data(e),o=p._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r<i;r++)p.event.add(t,n,u[n][r])}o.data&&(o.data=p.extend({},o.data))}function Lt(e,t){var n,r,i;if(t.nodeType!==1)return;n=t.nodeName.toLowerCase();if(!c.noCloneEvent&&t[p.expando]){i=p._data(t);for(r in i.events)p.removeEvent(t,r,i.handle);t.removeAttribute(p.expando)}if(n==="script"&&t.text!==e.text)Tt(t).text=e.text,Nt(t);else if(n==="object")t.parentNode&&(t.outerHTML=e.outerHTML),c.html5Clone&&e.innerHTML&&!p.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML);else if(n==="input"&&K.test(e.type))t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value);else if(n==="option")t.defaultSelected=t.selected=e.defaultSelected;else if(n==="input"||n==="textarea")t.defaultValue=e.defaultValue}function Mt(t,n){var r=p(n.createElement(t)).appendTo(n.body),i=e.getDefaultComputedStyle?e.getDefaultComputedStyle(r[0]).display:p.css(r[0],"display");return r.detach(),i}function _t(e){var t=N,n=Ot[e];if(!n){n=Mt(e,t);if(n==="none"||!n)At=(At||p("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement),t=(At[0].contentWindow||At[0].contentDocument).document,t.write(),t.close(),n=Mt(e,t),At.detach();Ot[e]=n}return n}function Ft(e,t){return{get:function(){var n=e();if(n==null)return;if(n){delete this.get;return}return(this.get=t).apply(this,arguments)}}}function $t(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Vt.length;while(i--){t=Vt[i]+n;if(t in e)return t}return r}function Jt(e,t){var n,r,i,s=[],o=0,u=e.length;for(;o<u;o++){r=e[o];if(!r.style)continue;s[o]=p._data(r,"olddisplay"),n=r.style.display,t?(!s[o]&&n==="none"&&(r.style.display=""),r.style.display===""&&$(r)&&(s[o]=p._data(r,"olddisplay",_t(r.nodeName)))):s[o]||(i=$(r),(n&&n!=="none"||!i)&&p._data(r,"olddisplay",i?n:p.css(r,"display")))}for(o=0;o<u;o++){r=e[o];if(!r.style)continue;if(!t||r.style.display==="none"||r.style.display==="")r.style.display=t?s[o]||"":"none"}return e}function Kt(e,t,n){var r=Ut.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function Qt(e,t,n,r,i){var s=n===(r?"border":"content")?4:t==="width"?1:0,o=0;for(;s<4;s+=2)n==="margin"&&(o+=p.css(e,n+V[s],!0,i)),r?(n==="content"&&(o-=p.css(e,"padding"+V[s],!0,i)),n!=="margin"&&(o-=p.css(e,"border"+V[s]+"Width",!0,i))):(o+=p.css(e,"padding"+V[s],!0,i),n!=="padding"&&(o+=p.css(e,"border"+V[s]+"Width",!0,i)));return o}function Gt(e,t,n){var r=!0,i=t==="width"?e.offsetWidth:e.offsetHeight,s=Ht(e),o=c.boxSizing()&&p.css(e,"boxSizing",!1,s)==="border-box";if(i<=0||i==null){i=Bt(e,t,s);if(i<0||i==null)i=e.style[t];if(Pt.test(i))return i;r=o&&(c.boxSizingReliable()||i===e.style[t]),i=parseFloat(i)||0}return i+Qt(e,t,n||(o?"border":"content"),r,s)+"px"}function Yt(e,t,n,r,i){return new Yt.prototype.init(e,t,n,r,i)}function un(){return setTimeout(function(){Zt=undefined}),Zt=p.now()}function an(e,t){var n,r={height:e},i=0;t=t?1:0;for(;i<4;i+=2-t)n=V[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function fn(e,t,n){var r,i=(on[t]||[]).concat(on["*"]),s=0,o=i.length;for(;s<o;s++)if(r=i[s].call(n,t,e))return r}function ln(e,t,n){var r,i,s,o,u,a,f,l,h=this,d={},v=e.style,m=e.nodeType&&$(e),g=p._data(e,"fxshow");n.queue||(u=p._queueHooks(e,"fx"),u.unqueued==null&&(u.unqueued=0,a=u.empty.fire,u.empty.fire=function(){u.unqueued||a()}),u.unqueued++,h.always(function(){h.always(function(){u.unqueued--,p.queue(e,"fx").length||u.empty.fire()})})),e.nodeType===1&&("height"in t||"width"in t)&&(n.overflow=[v.overflow,v.overflowX,v.overflowY],f=p.css(e,"display"),l=_t(e.nodeName),f==="none"&&(f=l),f==="inline"&&p.css(e,"float")==="none"&&(!c.inlineBlockNeedsLayout||l==="inline"?v.display="inline-block":v.zoom=1)),n.overflow&&(v.overflow="hidden",c.shrinkWrapBlocks()||h.always(function(){v.overflow=n.overflow[0],v.overflowX=n.overflow[1],v.overflowY=n.overflow[2]}));for(r in t){i=t[r];if(tn.exec(i)){delete t[r],s=s||i==="toggle";if(i===(m?"hide":"show")){if(i!=="show"||!g||g[r]===undefined)continue;m=!0}d[r]=g&&g[r]||p.style(e,r)}}if(!p.isEmptyObject(d)){g?"hidden"in g&&(m=g.hidden):g=p._data(e,"fxshow",{}),s&&(g.hidden=!m),m?p(e).show():h.done(function(){p(e).hide()}),h.done(function(){var t;p._removeData(e,"fxshow");for(t in d)p.style(e,t,d[t])});for(r in d)o=fn(m?g[r]:0,r,h),r in g||(g[r]=o.start,m&&(o.end=o.start,o.start=r==="width"||r==="height"?1:0))}}function cn(e,t){var n,r,i,s,o;for(n in e){r=p.camelCase(n),i=t[r],s=e[n],p.isArray(s)&&(i=s[1],s=e[n]=s[0]),n!==r&&(e[r]=s,delete e[n]),o=p.cssHooks[r];if(o&&"expand"in o){s=o.expand(s),delete e[r];for(n in s)n in e||(e[n]=s[n],t[n]=i)}else t[r]=i}}function hn(e,t,n){var r,i,s=0,o=sn.length,u=p.Deferred().always(function(){delete a.elem}),a=function(){if(i)return!1;var t=Zt||un(),n=Math.max(0,f.startTime+f.duration-t),r=n/f.duration||0,s=1-r,o=0,a=f.tweens.length;for(;o<a;o++)f.tweens[o].run(s);return u.notifyWith(e,[f,s,n]),s<1&&a?n:(u.resolveWith(e,[f]),!1)},f=u.promise({elem:e,props:p.extend({},t),opts:p.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Zt||un(),duration:n.duration,tweens:[],createTween:function(t,n){var r=p.Tween(e,f.opts,t,n,f.opts.specialEasing[t]||f.opts.easing);return f.tweens.push(r),r},stop:function(t){var n=0,r=t?f.tweens.length:0;if(i)return this;i=!0;for(;n<r;n++)f.tweens[n].run(1);return t?u.resolveWith(e,[f,t]):u.rejectWith(e,[f,t]),this}}),l=f.props;cn(l,f.opts.specialEasing);for(;s<o;s++){r=sn[s].call(f,e,l,f.opts);if(r)return r}return p.map(l,fn,f),p.isFunction(f.opts.start)&&f.opts.start.call(e,f),p.fx.timer(p.extend(a,{elem:e,anim:f,queue:f.opts.queue})),f.progress(f.opts.progress).done(f.opts.done,f.opts.complete).fail(f.opts.fail).always(f.opts.always)}function In(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i=0,s=t.toLowerCase().match(M)||[];if(p.isFunction(n))while(r=s[i++])r.charAt(0)==="+"?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,t,n,r){function o(u){var a;return i[u]=!0,p.each(e[u]||[],function(e,u){var f=u(t,n,r);if(typeof f=="string"&&!s&&!i[f])return t.dataTypes.unshift(f),o(f),!1;if(s)return!(a=f)}),a}var i={},s=e===Bn;return o(t.dataTypes[0])||!i["*"]&&o("*")}function Rn(e,t){var n,r,i=p.ajaxSettings.flatOptions||{};for(r in t)t[r]!==undefined&&((i[r]?e:n||(n={}))[r]=t[r]);return n&&p.extend(!0,e,n),e}function Un(e,t,n){var r,i,s,o,u=e.contents,a=e.dataTypes;while(a[0]==="*")a.shift(),i===undefined&&(i=e.mimeType||t.getResponseHeader("Content-Type"));if(i)for(o in u)if(u[o]&&u[o].test(i)){a.unshift(o);break}if(a[0]in n)s=a[0];else{for(o in n){if(!a[0]||e.converters[o+" "+a[0]]){s=o;break}r||(r=o)}s=s||r}if(s)return s!==a[0]&&a.unshift(s),n[s]}function zn(e,t,n,r){var i,s,o,u,a,f={},l=e.dataTypes.slice();if(l[1])for(o in e.converters)f[o.toLowerCase()]=e.converters[o];s=l.shift();while(s){e.responseFields[s]&&(n[e.responseFields[s]]=t),!a&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),a=s,s=l.shift();if(s)if(s==="*")s=a;else if(a!=="*"&&a!==s){o=f[a+" "+s]||f["* "+s];if(!o)for(i in f){u=i.split(" ");if(u[1]===s){o=f[a+" "+u[0]]||f["* "+u[0]];if(o){o===!0?o=f[i]:f[i]!==!0&&(s=u[0],l.unshift(u[1]));break}}}if(o!==!0)if(o&&e["throws"])t=o(t);else try{t=o(t)}catch(c){return{state:"parsererror",error:o?c:"No conversion from "+a+" to "+s}}}}return{state:"success",data:t}}function Kn(e,t,n,r){var i;if(p.isArray(t))p.each(t,function(t,i){n||Xn.test(e)?r(e,i):Kn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&p.type(t)==="object")for(i in t)Kn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Zn(){try{return new e.XMLHttpRequest}catch(t){}}function er(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function sr(e){return p.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:!1}var n=[],r=n.slice,i=n.concat,s=n.push,o=n.indexOf,u={},a=u.toString,f=u.hasOwnProperty,l="".trim,c={},h="1.11.0",p=function(e,t){return new p.fn.init(e,t)},d=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,v=/^-ms-/,m=/-([\da-z])/gi,g=function(e,t){return t.toUpperCase()};p.fn=p.prototype={jquery:h,constructor:p,selector:"",length:0,toArray:function(){return r.call(this)},get:function(e){return e!=null?e<0?this[e+this.length]:this[e]:r.call(this)},pushStack:function(e){var t=p.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return p.each(this,e,t)},map:function(e){return this.pushStack(p.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(r.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:s,sort:n.sort,splice:n.splice},p.extend=p.fn.extend=function(){var e,t,n,r,i,s,o=arguments[0]||{},u=1,a=arguments.length,f=!1;typeof o=="boolean"&&(f=o,o=arguments[u]||{},u++),typeof o!="object"&&!p.isFunction(o)&&(o={}),u===a&&(o=this,u--);for(;u<a;u++)if((i=arguments[u])!=null)for(r in i){e=o[r],n=i[r];if(o===n)continue;f&&n&&(p.isPlainObject(n)||(t=p.isArray(n)))?(t?(t=!1,s=e&&p.isArray(e)?e:[]):s=e&&p.isPlainObject(e)?e:{},o[r]=p.extend(f,s,n)):n!==undefined&&(o[r]=n)}return o},p.extend({expando:"jQuery"+(h+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return p.type(e)==="function"},isArray:Array.isArray||function(e){return p.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return e-parseFloat(e)>=0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},isPlainObject:function(e){var t;if(!e||p.type(e)!=="object"||e.nodeType||p.isWindow(e))return!1;try{if(e.constructor&&!f.call(e,"constructor")&&!f.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}if(c.ownLast)for(t in e)return f.call(e,t);for(t in e);return t===undefined||f.call(e,t)},type:function(e){return e==null?e+"":typeof e=="object"||typeof e=="function"?u[a.call(e)]||"object":typeof e},globalEval:function(t){t&&p.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(v,"ms-").replace(m,g)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,s=e.length,o=y(e);if(n)if(o)for(;i<s;i++){r=t.apply(e[i],n);if(r===!1)break}else for(i in e){r=t.apply(e[i],n);if(r===!1)break}else if(o)for(;i<s;i++){r=t.call(e[i],i,e[i]);if(r===!1)break}else for(i in e){r=t.call(e[i],i,e[i]);if(r===!1)break}return e},trim:l&&!l.call(" ")?function(e){return e==null?"":l.call(e)}:function(e){return e==null?"":(e+"").replace(d,"")},makeArray:function(e,t){var n=t||[];return e!=null&&(y(Object(e))?p.merge(n,typeof e=="string"?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(o)return o.call(t,e,n);r=t.length,n=n?n<0?Math.max(0,r+n):n:0;for(;n<r;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,t){var n=+t.length,r=0,i=e.length;while(r<n)e[i++]=t[r++];if(n!==n)while(t[r]!==undefined)e[i++]=t[r++];return e.length=i,e},grep:function(e,t,n){var r,i=[],s=0,o=e.length,u=!n;for(;s<o;s++)r=!t(e[s],s),r!==u&&i.push(e[s]);return i},map:function(e,t,n){var r,s=0,o=e.length,u=y(e),a=[];if(u)for(;s<o;s++)r=t(e[s],s,n),r!=null&&a.push(r);else for(s in e)r=t(e[s],s,n),r!=null&&a.push(r);return i.apply([],a)},guid:1,proxy:function(e,t){var n,i,s;return typeof t=="string"&&(s=e[t],t=e,e=s),p.isFunction(e)?(n=r.call(arguments,2),i=function(){return e.apply(t||this,n.concat(r.call(arguments)))},i.guid=e.guid=e.guid||p.guid++,i):undefined},now:function(){return+(new Date)},support:c}),p.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){u["[object "+t+"]"]=t.toLowerCase()});var b=function(e){function rt(e,t,r,i){var s,o,u,a,f,h,v,m,w,E;(t?t.ownerDocument||t:b)!==c&&l(t),t=t||c,r=r||[];if(!e||typeof e!="string")return r;if((a=t.nodeType)!==1&&a!==9)return[];if(p&&!i){if(s=G.exec(e))if(u=s[1]){if(a===9){o=t.getElementById(u);if(!o||!o.parentNode)return r;if(o.id===u)return r.push(o),r}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(u))&&g(t,o)&&o.id===u)return r.push(o),r}else{if(s[2])return _.apply(r,t.getElementsByTagName(e)),r;if((u=s[3])&&n.getElementsByClassName&&t.getElementsByClassName)return _.apply(r,t.getElementsByClassName(u)),r}if(n.qsa&&(!d||!d.test(e))){m=v=y,w=t,E=a===9&&e;if(a===1&&t.nodeName.toLowerCase()!=="object"){h=dt(e),(v=t.getAttribute("id"))?m=v.replace(Z,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",f=h.length;while(f--)h[f]=m+vt(h[f]);w=Y.test(e)&&ht(t.parentNode)||t,E=h.join(",")}if(E)try{return _.apply(r,w.querySelectorAll(E)),r}catch(S){}finally{v||t.removeAttribute("id")}}}return xt(e.replace(R,"$1"),t,r,i)}function it(){function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}var e=[];return t}function st(e){return e[y]=!0,e}function ot(e){var t=c.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ut(e,t){var n=e.split("|"),i=e.length;while(i--)r.attrHandle[n[i]]=t}function at(e,t){var n=t&&e,r=n&&e.nodeType===1&&t.nodeType===1&&(~t.sourceIndex||k)-(~e.sourceIndex||k);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function ct(e){return st(function(t){return t=+t,st(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ht(e){return e&&typeof e.getElementsByTagName!==C&&e}function pt(){}function dt(e,t){var n,i,s,o,u,a,f,l=x[e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=r.preFilter;while(u){if(!n||(i=U.exec(u)))i&&(u=u.slice(i[0].length)||u),a.push(s=[]);n=!1;if(i=z.exec(u))n=i.shift(),s.push({value:n,type:i[0].replace(R," ")}),u=u.slice(n.length);for(o in r.filter)(i=$[o].exec(u))&&(!f[o]||(i=f[o](i)))&&(n=i.shift(),s.push({value:n,type:o,matches:i}),u=u.slice(n.length));if(!n)break}return t?u.length:u?rt.error(e):x(e,a).slice(0)}function vt(e){var t=0,n=e.length,r="";for(;t<n;t++)r+=e[t].value;return r}function mt(e,t,n){var r=t.dir,i=n&&r==="parentNode",s=E++;return t.first?function(t,n,s){while(t=t[r])if(t.nodeType===1||i)return e(t,n,s)}:function(t,n,o){var u,a,f=[w,s];if(o){while(t=t[r])if(t.nodeType===1||i)if(e(t,n,o))return!0}else while(t=t[r])if(t.nodeType===1||i){a=t[y]||(t[y]={});if((u=a[r])&&u[0]===w&&u[1]===s)return f[2]=u[2];a[r]=f;if(f[2]=e(t,n,o))return!0}}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function yt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u<a;u++)if(s=e[u])if(!n||n(s,r,i))o.push(s),f&&t.push(u);return o}function bt(e,t,n,r,i,s){return r&&!r[y]&&(r=bt(r)),i&&!i[y]&&(i=bt(i,s)),st(function(s,o,u,a){var f,l,c,h=[],p=[],d=o.length,v=s||St(t||"*",u.nodeType?[u]:u,[]),m=e&&(s||!t)?yt(v,h,e,u,a):v,g=n?i||(s?e:d||r)?[]:o:m;n&&n(m,g,u,a);if(r){f=yt(g,p),r(f,[],u,a),l=f.length;while(l--)if(c=f[l])g[p[l]]=!(m[p[l]]=c)}if(s){if(i||e){if(i){f=[],l=g.length;while(l--)(c=g[l])&&f.push(m[l]=c);i(null,g=[],f,a)}l=g.length;while(l--)(c=g[l])&&(f=i?P.call(s,c):h[l])>-1&&(s[f]=!(o[f]=c))}}else g=yt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):_.apply(o,g)})}function wt(e){var t,n,i,s=e.length,o=r.relative[e[0].type],a=o||r.relative[" "],f=o?1:0,l=mt(function(e){return e===t},a,!0),c=mt(function(e){return P.call(t,e)>-1},a,!0),h=[function(e,n,r){return!o&&(r||n!==u)||((t=n).nodeType?l(e,n,r):c(e,n,r))}];for(;f<s;f++)if(n=r.relative[e[f].type])h=[mt(gt(h),n)];else{n=r.filter[e[f].type].apply(null,e[f].matches);if(n[y]){i=++f;for(;i<s;i++)if(r.relative[e[i].type])break;return bt(f>1&&gt(h),f>1&&vt(e.slice(0,f-1).concat({value:e[f-2].type===" "?"*":""})).replace(R,"$1"),n,f<i&&wt(e.slice(f,i)),i<s&&wt(e=e.slice(i)),i<s&&vt(e))}h.push(n)}return gt(h)}function Et(e,t){var n=t.length>0,i=e.length>0,s=function(s,o,a,f,l){var h,p,d,v=0,m="0",g=s&&[],y=[],b=u,E=s||i&&r.find.TAG("*",l),S=w+=b==null?1:Math.random()||.1,x=E.length;l&&(u=o!==c&&o);for(;m!==x&&(h=E[m])!=null;m++){if(i&&h){p=0;while(d=e[p++])if(d(h,o,a)){f.push(h);break}l&&(w=S)}n&&((h=!d&&h)&&v--,s&&g.push(h))}v+=m;if(n&&m!==v){p=0;while(d=t[p++])d(g,y,o,a);if(s){if(v>0)while(m--)!g[m]&&!y[m]&&(y[m]=O.call(f));y=yt(y)}_.apply(f,y),l&&!s&&y.length>0&&v+t.length>1&&rt.uniqueSort(f)}return l&&(w=S,u=b),g};return n?st(s):s}function St(e,t,n){var r=0,i=t.length;for(;r<i;r++)rt(e,t[r],n);return n}function xt(e,t,i,s){var u,a,f,l,c,h=dt(e);if(!s&&h.length===1){a=h[0]=h[0].slice(0);if(a.length>2&&(f=a[0]).type==="ID"&&n.getById&&t.nodeType===9&&p&&r.relative[a[1].type]){t=(r.find.ID(f.matches[0].replace(et,tt),t)||[])[0];if(!t)return i;e=e.slice(a.shift().value.length)}u=$.needsContext.test(e)?0:a.length;while(u--){f=a[u];if(r.relative[l=f.type])break;if(c=r.find[l])if(s=c(f.matches[0].replace(et,tt),Y.test(a[0].type)&&ht(t.parentNode)||t)){a.splice(u,1),e=s.length&&vt(a);if(!e)return _.apply(i,s),i;break}}}return o(e,h)(s,t,!p,i,Y.test(e)&&ht(t.parentNode)||t),i}var t,n,r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y="sizzle"+ -(new Date),b=e.document,w=0,E=0,S=it(),x=it(),T=it(),N=function(e,t){return e===t&&(f=!0),0},C=typeof undefined,k=1<<31,L={}.hasOwnProperty,A=[],O=A.pop,M=A.push,_=A.push,D=A.slice,P=A.indexOf||function(e){var t=0,n=this.length;for(;t<n;t++)if(this[t]===e)return t;return-1},H="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",B="[\\x20\\t\\r\\n\\f]",j="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",F=j.replace("w","w#"),I="\\["+B+"*("+j+")"+B+"*(?:([*^$|!~]?=)"+B+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+F+")|)|)"+B+"*\\]",q=":("+j+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+I.replace(3,8)+")*)|.*)\\)|)",R=new RegExp("^"+B+"+|((?:^|[^\\\\])(?:\\\\.)*)"+B+"+$","g"),U=new RegExp("^"+B+"*,"+B+"*"),z=new RegExp("^"+B+"*([>+~]|"+B+")"+B+"*"),W=new RegExp("="+B+"*([^\\]'\"]*?)"+B+"*\\]","g"),X=new RegExp(q),V=new RegExp("^"+F+"$"),$={ID:new RegExp("^#("+j+")"),CLASS:new RegExp("^\\.("+j+")"),TAG:new RegExp("^("+j.replace("w","w*")+")"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+B+"*(even|odd|(([+-]|)(\\d*)n|)"+B+"*(?:([+-]|)"+B+"*(\\d+)|))"+B+"*\\)|)","i"),bool:new RegExp("^(?:"+H+")$","i"),needsContext:new RegExp("^"+B+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+B+"*((?:-\\d)?\\d*)"+B+"*\\)|)(?=[^-]|$)","i")},J=/^(?:input|select|textarea|button)$/i,K=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,G=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Y=/[+~]/,Z=/'|\\/g,et=new RegExp("\\\\([\\da-f]{1,6}"+B+"?|("+B+")|.)","ig"),tt=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,r&1023|56320)};try{_.apply(A=D.call(b.childNodes),b.childNodes),A[b.childNodes.length].nodeType}catch(nt){_={apply:A.length?function(e,t){M.apply(e,D.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}n=rt.support={},s=rt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},l=rt.setDocument=function(e){var t,i=e?e.ownerDocument||e:b,o=i.defaultView;if(i===c||i.nodeType!==9||!i.documentElement)return c;c=i,h=i.documentElement,p=!s(i),o&&o!==o.top&&(o.addEventListener?o.addEventListener("unload",function(){l()},!1):o.attachEvent&&o.attachEvent("onunload",function(){l()})),n.attributes=ot(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ot(function(e){return e.appendChild(i.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(i.getElementsByClassName)&&ot(function(e){return e.innerHTML="<div class='a'></div><div class='a i'></div>",e.firstChild.className="i",e.getElementsByClassName("i").length===2}),n.getById=ot(function(e){return h.appendChild(e).id=y,!i.getElementsByName||!i.getElementsByName(y).length}),n.getById?(r.find.ID=function(e,t){if(typeof t.getElementById!==C&&p){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},r.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(delete r.find.ID,r.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==C&&e.getAttributeNode("id");return n&&n.value===t}}),r.find.TAG=n.getElementsByTagName?function(e,t){if(typeof t.getElementsByTagName!==C)return t.getElementsByTagName(e)}:function(e,t){var n,r=[],i=0,s=t.getElementsByTagName(e);if(e==="*"){while(n=s[i++])n.nodeType===1&&r.push(n);return r}return s},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(typeof t.getElementsByClassName!==C&&p)return t.getElementsByClassName(e)},v=[],d=[];if(n.qsa=Q.test(i.querySelectorAll))ot(function(e){e.innerHTML="<select t=''><option selected=''></option></select>",e.querySelectorAll("[t^='']").length&&d.push("[*^$]="+B+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||d.push("\\["+B+"*(?:value|"+H+")"),e.querySelectorAll(":checked").length||d.push(":checked")}),ot(function(e){var t=i.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&d.push("name"+B+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||d.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),d.push(",.*:")});return(n.matchesSelector=Q.test(m=h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ot(function(e){n.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),v.push("!=",q)}),d=d.length&&new RegExp(d.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),g=t||Q.test(h.contains)?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!r&&r.nodeType===1&&!!(n.contains?n.contains(r):e.compareDocumentPosition&&e.compareDocumentPosition(r)&16)}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},N=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r?r:(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,r&1||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===i||e.ownerDocument===b&&g(b,e)?-1:t===i||t.ownerDocument===b&&g(b,t)?1:a?P.call(a,e)-P.call(a,t):0:r&4?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,s=e.parentNode,o=t.parentNode,u=[e],l=[t];if(!s||!o)return e===i?-1:t===i?1:s?-1:o?1:a?P.call(a,e)-P.call(a,t):0;if(s===o)return at(e,t);n=e;while(n=n.parentNode)u.unshift(n);n=t;while(n=n.parentNode)l.unshift(n);while(u[r]===l[r])r++;return r?at(u[r],l[r]):u[r]===b?-1:l[r]===b?1:0},i},rt.matches=function(e,t){return rt(e,null,null,t)},rt.matchesSelector=function(e,t){(e.ownerDocument||e)!==c&&l(e),t=t.replace(W,"='$1']");if(n.matchesSelector&&p&&(!v||!v.test(t))&&(!d||!d.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&e.document.nodeType!==11)return r}catch(i){}return rt(t,c,null,[e]).length>0},rt.contains=function(e,t){return(e.ownerDocument||e)!==c&&l(e),g(e,t)},rt.attr=function(e,t){(e.ownerDocument||e)!==c&&l(e);var i=r.attrHandle[t.toLowerCase()],s=i&&L.call(r.attrHandle,t.toLowerCase())?i(e,t,!p):undefined;return s!==undefined?s:n.attributes||!p?e.getAttribute(t):(s=e.getAttributeNode(t))&&s.specified?s.value:null},rt.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},rt.uniqueSort=function(e){var t,r=[],i=0,s=0;f=!n.detectDuplicates,a=!n.sortStable&&e.slice(0),e.sort(N);if(f){while(t=e[s++])t===e[s]&&(i=r.push(s));while(i--)e.splice(r[i],1)}return a=null,e},i=rt.getText=function(e){var t,n="",r=0,s=e.nodeType;if(!s)while(t=e[r++])n+=i(t);else if(s===1||s===9||s===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(s===3||s===4)return e.nodeValue;return n},r=rt.selectors={cacheLength:50,createPseudo:st,match:$,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1].slice(0,3)==="nth"?(e[3]||rt.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*(e[3]==="even"||e[3]==="odd")),e[5]=+(e[7]+e[8]||e[3]==="odd")):e[3]&&rt.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return $.CHILD.test(e[0])?null:(e[3]&&e[4]!==undefined?e[2]=e[4]:n&&X.test(n)&&(t=dt(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(et,tt).toLowerCase();return e==="*"?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=S[e+" "];return t||(t=new RegExp("(^|"+B+")"+e+"("+B+"|$)"))&&S(e,function(e){return t.test(typeof e.className=="string"&&e.className||typeof e.getAttribute!==C&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=rt.attr(r,e);return i==null?t==="!=":t?(i+="",t==="="?i===n:t==="!="?i!==n:t==="^="?n&&i.indexOf(n)===0:t==="*="?n&&i.indexOf(n)>-1:t==="$="?n&&i.slice(-n.length)===n:t==="~="?(" "+i+" ").indexOf(n)>-1:t==="|="?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var s=e.slice(0,3)!=="nth",o=e.slice(-4)!=="last",u=t==="of-type";return r===1&&i===0?function(e){return!!e.parentNode}:function(t,n,a){var f,l,c,h,p,d,v=s!==o?"nextSibling":"previousSibling",m=t.parentNode,g=u&&t.nodeName.toLowerCase(),b=!a&&!u;if(m){if(s){while(v){c=t;while(c=c[v])if(u?c.nodeName.toLowerCase()===g:c.nodeType===1)return!1;d=v=e==="only"&&!d&&"nextSibling"}return!0}d=[o?m.firstChild:m.lastChild];if(o&&b){l=m[y]||(m[y]={}),f=l[e]||[],p=f[0]===w&&f[1],h=f[0]===w&&f[2],c=p&&m.childNodes[p];while(c=++p&&c&&c[v]||(h=p=0)||d.pop())if(c.nodeType===1&&++h&&c===t){l[e]=[w,p,h];break}}else if(b&&(f=(t[y]||(t[y]={}))[e])&&f[0]===w)h=f[1];else while(c=++p&&c&&c[v]||(h=p=0)||d.pop())if((u?c.nodeName.toLowerCase()===g:c.nodeType===1)&&++h){b&&((c[y]||(c[y]={}))[e]=[w,h]);if(c===t)break}return h-=i,h===r||h%r===0&&h/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||rt.error("unsupported pseudo: "+e);return i[y]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?st(function(e,n){var r,s=i(e,t),o=s.length;while(o--)r=P.call(e,s[o]),e[r]=!(n[r]=s[o])}):function(e){return i(e,0,n)}):i}},pseudos:{not:st(function(e){var t=[],n=[],r=o(e.replace(R,"$1"));return r[y]?st(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:st(function(e){return function(t){return rt(e,t).length>0}}),contains:st(function(e){return function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:st(function(e){return V.test(e||"")||rt.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=p?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||n.indexOf(e+"-")===0;while((t=t.parentNode)&&t.nodeType===1);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===c.activeElement&&(!c.hasFocus||c.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return K.test(e.nodeName)},input:function(e){return J.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},text:function(e){var t;return e.nodeName.toLowerCase()==="input"&&e.type==="text"&&((t=e.getAttribute("type"))==null||t.toLowerCase()==="text")},first:ct(function(){return[0]}),last:ct(function(e,t){return[t-1]}),eq:ct(function(e,t,n){return[n<0?n+t:n]}),even:ct(function(e,t){var n=0;for(;n<t;n+=2)e.push(n);return e}),odd:ct(function(e,t){var n=1;for(;n<t;n+=2)e.push(n);return e}),lt:ct(function(e,t,n){var r=n<0?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ct(function(e,t,n){var r=n<0?n+t:n;for(;++r<t;)e.push(r);return e})}},r.pseudos.nth=r.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=ft(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=lt(t);return pt.prototype=r.filters=r.pseudos,r.setFilters=new pt,o=rt.compile=function(e,t){var n,r=[],i=[],s=T[e+" "];if(!s){t||(t=dt(e)),n=t.length;while(n--)s=wt(t[n]),s[y]?r.push(s):i.push(s);s=T(e,Et(i,r))}return s},n.sortStable=y.split("").sort(N).join("")===y,n.detectDuplicates=!!f,l(),n.sortDetached=ot(function(e){return e.compareDocumentPosition(c.createElement("div"))&1}),ot(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild.getAttribute("href")==="#"})||ut("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,t.toLowerCase()==="type"?1:2)}),(!n.attributes||!ot(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),e.firstChild.getAttribute("value")===""}))&&ut("value",function(e,t,n){if(!n&&e.nodeName.toLowerCase()==="input")return e.defaultValue}),ot(function(e){return e.getAttribute("disabled")==null})||ut(H,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),rt}(e);p.find=b,p.expr=b.selectors,p.expr[":"]=p.expr.pseudos,p.unique=b.uniqueSort,p.text=b.getText,p.isXMLDoc=b.isXML,p.contains=b.contains;var w=p.expr.match.needsContext,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^.[^:#\[\.,]*$/;p.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),t.length===1&&r.nodeType===1?p.find.matchesSelector(r,e)?[r]:[]:p.find.matches(e,p.grep(t,function(e){return e.nodeType===1}))},p.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if(typeof e!="string")return this.pushStack(p(e).filter(function(){for(t=0;t<i;t++)if(p.contains(r[t],this))return!0}));for(t=0;t<i;t++)p.find(e,r[t],n);return n=this.pushStack(i>1?p.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},filter:function(e){return this.pushStack(x(this,e||[],!1))},not:function(e){return this.pushStack(x(this,e||[],!0))},is:function(e){return!!x(this,typeof e=="string"&&w.test(e)?p(e):e||[],!1).length}});var T,N=e.document,C=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=p.fn.init=function(e,t){var n,r;if(!e)return this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?n=[null,e,null]:n=C.exec(e);if(n&&(n[1]||!t)){if(n[1]){t=t instanceof p?t[0]:t,p.merge(this,p.parseHTML(n[1],t&&t.nodeType?t.ownerDocument||t:N,!0));if(E.test(n[1])&&p.isPlainObject(t))for(n in t)p.isFunction(this[n])?this[n](t[n]):this.attr(n,t[n]);return this}r=N.getElementById(n[2]);if(r&&r.parentNode){if(r.id!==n[2])return T.find(e);this.length=1,this[0]=r}return this.context=N,this.selector=e,this}return!t||t.jquery?(t||T).find(e):this.constructor(t).find(e)}return e.nodeType?(this.context=this[0]=e,this.length=1,this):p.isFunction(e)?typeof T.ready!="undefined"?T.ready(e):e(p):(e.selector!==undefined&&(this.selector=e.selector,this.context=e.context),p.makeArray(e,this))};k.prototype=p.fn,T=p(N);var L=/^(?:parents|prev(?:Until|All))/,A={children:!0,contents:!0,next:!0,prev:!0};p.extend({dir:function(e,t,n){var r=[],i=e[t];while(i&&i.nodeType!==9&&(n===undefined||i.nodeType!==1||!p(i).is(n)))i.nodeType===1&&r.push(i),i=i[t];return r},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}}),p.fn.extend({has:function(e){var t,n=p(e,this),r=n.length;return this.filter(function(){for(t=0;t<r;t++)if(p.contains(this,n[t]))return!0})},closest:function(e,t){var n,r=0,i=this.length,s=[],o=w.test(e)||typeof e!="string"?p(e,t||this.context):0;for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(o?o.index(n)>-1:n.nodeType===1&&p.find.matchesSelector(n,e))){s.push(n);break}return this.pushStack(s.length>1?p.unique(s):s)},index:function(e){return e?typeof e=="string"?p.inArray(this[0],p(e)):p.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(p.unique(p.merge(this.get(),p(e,t))))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),p.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return p.dir(e,"parentNode")},parentsUntil:function(e,t,n){return p.dir(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return p.dir(e,"nextSibling")},prevAll:function(e){return p.dir(e,"previousSibling")},nextUntil:function(e,t,n){return p.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return p.dir(e,"previousSibling",n)},siblings:function(e){return p.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return p.sibling(e.firstChild)},contents:function(e){return p.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:p.merge([],e.childNodes)}},function(e,t){p.fn[e]=function(n,r){var i=p.map(this,t,n);return e.slice(-5)!=="Until"&&(r=n),r&&typeof r=="string"&&(i=p.filter(r,i)),this.length>1&&(A[e]||(i=p.unique(i)),L.test(e)&&(i=i.reverse())),this.pushStack(i)}});var M=/\S+/g,_={};p.Callbacks=function(e){e=typeof e=="string"?_[e]||D(e):p.extend({},e);var t,n,r,i,s,o,u=[],a=!e.once&&[],f=function(c){n=e.memory&&c,r=!0,s=o||0,o=0,i=u.length,t=!0;for(;u&&s<i;s++)if(u[s].apply(c[0],c[1])===!1&&e.stopOnFalse){n=!1;break}t=!1,u&&(a?a.length&&f(a.shift()):n?u=[]:l.disable())},l={add:function(){if(u){var r=u.length;(function s(t){p.each(t,function(t,n){var r=p.type(n);r==="function"?(!e.unique||!l.has(n))&&u.push(n):n&&n.length&&r!=="string"&&s(n)})})(arguments),t?i=u.length:n&&(o=r,f(n))}return this},remove:function(){return u&&p.each(arguments,function(e,n){var r;while((r=p.inArray(n,u,r))>-1)u.splice(r,1),t&&(r<=i&&i--,r<=s&&s--)}),this},has:function(e){return e?p.inArray(e,u)>-1:!!u&&!!u.length},empty:function(){return u=[],i=0,this},disable:function(){return u=a=n=undefined,this},disabled:function(){return!u},lock:function(){return a=undefined,n||l.disable(),this},locked:function(){return!a},fireWith:function(e,n){return u&&(!r||a)&&(n=n||[],n=[e,n.slice?n.slice():n],t?a.push(n):f(n)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},p.extend({Deferred:function(e){var t=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return p.Deferred(function(n){p.each(t,function(t,s){var o=p.isFunction(e[t])&&e[t];i[s[1]](function(){var e=o&&o.apply(this,arguments);e&&p.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s[0]+"With"](this===r?n.promise():this,o?[e]:arguments)})}),e=null}).promise()},promise:function(e){return e!=null?p.extend(e,r):r}},i={};return r.pipe=r.then,p.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=function(){return i[s[0]+"With"](this===i?r:this,arguments),this},i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=r.call(arguments),i=n.length,s=i!==1||e&&p.isFunction(e.promise)?i:0,o=s===1?e:p.Deferred(),u=function(e,t,n){return function(i){t[e]=this,n[e]=arguments.length>1?r.call(arguments):i,n===a?o.notifyWith(t,n):--s||o.resolveWith(t,n)}},a,f,l;if(i>1){a=new Array(i),f=new Array(i),l=new Array(i);for(;t<i;t++)n[t]&&p.isFunction(n[t].promise)?n[t].promise().done(u(t,l,n)).fail(o.reject).progress(u(t,f,a)):--s}return s||o.resolveWith(l,n),o.promise()}});var P;p.fn.ready=function(e){return p.ready.promise().done(e),this},p.extend({isReady:!1,readyWait:1,holdReady:function(e){e?p.readyWait++:p.ready(!0)},ready:function(e){if(e===!0?--p.readyWait:p.isReady)return;if(!N.body)return setTimeout(p.ready);p.isReady=!0;if(e!==!0&&--p.readyWait>0)return;P.resolveWith(N,[p]),p.fn.trigger&&p(N).trigger("ready").off("ready")}}),p.ready.promise=function(t){if(!P){P=p.Deferred();if(N.readyState==="complete")setTimeout(p.ready);else if(N.addEventListener)N.addEventListener("DOMContentLoaded",B,!1),e.addEventListener("load",B,!1);else{N.attachEvent("onreadystatechange",B),e.attachEvent("onload",B);var n=!1;try{n=e.frameElement==null&&N.documentElement}catch(r){}n&&n.doScroll&&function i(){if(!p.isReady){try{n.doScroll("left")}catch(e){return setTimeout(i,50)}H(),p.ready()}}()}}return P.promise(t)};var j=typeof undefined,F;for(F in p(c))break;c.ownLast=F!=="0",c.inlineBlockNeedsLayout=!1,p(function(){var e,t,n=N.getElementsByTagName("body")[0];if(!n)return;e=N.createElement("div"),e.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",t=N.createElement("div"),n.appendChild(e).appendChild(t);if(typeof t.style.zoom!==j){t.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1";if(c.inlineBlockNeedsLayout=t.offsetWidth===3)n.style.zoom=1}n.removeChild(e),e=t=null}),function(){var e=N.createElement("div");if(c.deleteExpando==null){c.deleteExpando=!0;try{delete e.test}catch(t){c.deleteExpando=!1}}e=null}(),p.acceptData=function(e){var t=p.noData[(e.nodeName+" ").toLowerCase()],n=+e.nodeType||1;return n!==1&&n!==9?!1:!t||t!==!0&&e.getAttribute("classid")===t};var I=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,q=/([A-Z])/g;p.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?p.cache[e[p.expando]]:e[p.expando],!!e&&!U(e)},data:function(e,t,n){return z(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return z(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)}}),p.fn.extend({data:function(e,t){var n,r,i,s=this[0],o=s&&s.attributes;if(e===undefined){if(this.length){i=p.data(s);if(s.nodeType===1&&!p._data(s,"parsedAttrs")){n=o.length;while(n--)r=o[n].name,r.indexOf("data-")===0&&(r=p.camelCase(r.slice(5)),R(s,r,i[r]));p._data(s,"parsedAttrs",!0)}}return i}return typeof e=="object"?this.each(function(){p.data(this,e)}):arguments.length>1?this.each(function(){p.data(this,e,t)}):s?R(s,e,p.data(s,e)):undefined},removeData:function(e){return this.each(function(){p.removeData(this,e)})}}),p.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=p._data(e,t),n&&(!r||p.isArray(n)?r=p._data(e,t,p.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=p.queue(e,t),r=n.length,i=n.shift(),s=p._queueHooks(e,t),o=function(){p.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return p._data(e,n)||p._data(e,n,{empty:p.Callbacks("once memory").add(function(){p._removeData(e,t+"queue"),p._removeData(e,n)})})}}),p.fn.extend({queue:function(e,t){var n=2;return typeof e!="string"&&(t=e,e="fx",n--),arguments.length<n?p.queue(this[0],e):t===undefined?this:this.each(function(){var n=p.queue(this,e,t);p._queueHooks(this,e),e==="fx"&&n[0]!=="inprogress"&&p.dequeue(this,e)})},dequeue:function(e){return this.each(function(){p.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=p.Deferred(),s=this,o=this.length,u=function(){--r||i.resolveWith(s,[s])};typeof e!="string"&&(t=e,e=undefined),e=e||"fx";while(o--)n=p._data(s[o],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(u));return u(),i.promise(t)}});var X=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,V=["Top","Right","Bottom","Left"],$=function(e,t){return e=t||e,p.css(e,"display")==="none"||!p.contains(e.ownerDocument,e)},J=p.access=function(e,t,n,r,i,s,o){var u=0,a=e.length,f=n==null;if(p.type(n)==="object"){i=!0;for(u in n)p.access(e,t,u,n[u],!0,s,o)}else if(r!==undefined){i=!0,p.isFunction(r)||(o=!0),f&&(o?(t.call(e,r),t=null):(f=t,t=function(e,t,n){return f.call(p(e),n)}));if(t)for(;u<a;u++)t(e[u],n,o?r:r.call(e[u],u,t(e[u],n)))}return i?e:f?t.call(e):a?t(e[0],n):s},K=/^(?:checkbox|radio)$/i;(function(){var e=N.createDocumentFragment(),t=N.createElement("div"),n=N.createElement("input");t.setAttribute("className","t"),t.innerHTML="  <link/><table></table><a href='/a'>a</a>",c.leadingWhitespace=t.firstChild.nodeType===3,c.tbody=!t.getElementsByTagName("tbody").length,c.htmlSerialize=!!t.getElementsByTagName("link").length,c.html5Clone=N.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",n.type="checkbox",n.checked=!0,e.appendChild(n),c.appendChecked=n.checked,t.innerHTML="<textarea>x</textarea>",c.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue,e.appendChild(t),t.innerHTML="<input type='radio' checked='checked' name='t'/>",c.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,c.noCloneEvent=!0,t.attachEvent&&(t.attachEvent("onclick",function(){c.noCloneEvent=!1}),t.cloneNode(!0).click());if(c.deleteExpando==null){c.deleteExpando=!0;try{delete t.test}catch(r){c.deleteExpando=!1}}e=t=n=null})(),function(){var t,n,r=N.createElement("div");for(t in{submit:!0,change:!0,focusin:!0})n="on"+t,(c[t+"Bubbles"]=n in e)||(r.setAttribute(n,"t"),c[t+"Bubbles"]=r.attributes[n].expando===!1);r=null}();var Q=/^(?:input|select|textarea)$/i,G=/^key/,Y=/^(?:mouse|contextmenu)|click/,Z=/^(?:focusinfocus|focusoutblur)$/,et=/^([^.]*)(?:\.(.+)|)$/;p.event={global:{},add:function(e,t,n,r,i){var s,o,u,a,f,l,c,h,d,v,m,g=p._data(e);if(!g)return;n.handler&&(a=n,n=a.handler,i=a.selector),n.guid||(n.guid=p.guid++),(o=g.events)||(o=g.events={}),(l=g.handle)||(l=g.handle=function(e){return typeof p===j||!!e&&p.event.triggered===e.type?undefined:p.event.dispatch.apply(l.elem,arguments)},l.elem=e),t=(t||"").match(M)||[""],u=t.length;while(u--){s=et.exec(t[u])||[],d=m=s[1],v=(s[2]||"").split(".").sort();if(!d)continue;f=p.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=p.event.special[d]||{},c=p.extend({type:d,origType:m,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&p.expr.match.needsContext.test(i),namespace:v.join(".")},a);if(!(h=o[d])){h=o[d]=[],h.delegateCount=0;if(!f.setup||f.setup.call(e,r,v,l)===!1)e.addEventListener?e.addEventListener(d,l,!1):e.attachEvent&&e.attachEvent("on"+d,l)}f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?h.splice(h.delegateCount++,0,c):h.push(c),p.event.global[d]=!0}e=null},remove:function(e,t,n,r,i){var s,o,u,a,f,l,c,h,d,v,m,g=p.hasData(e)&&p._data(e);if(!g||!(l=g.events))return;t=(t||"").match(M)||[""],f=t.length;while(f--){u=et.exec(t[f])||[],d=m=u[1],v=(u[2]||"").split(".").sort();if(!d){for(d in l)p.event.remove(e,d+t[f],n,r,!0);continue}c=p.event.special[d]||{},d=(r?c.delegateType:c.bindType)||d,h=l[d]||[],u=u[2]&&new RegExp("(^|\\.)"+v.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=s=h.length;while(s--)o=h[s],(i||m===o.origType)&&(!n||n.guid===o.guid)&&(!u||u.test(o.namespace))&&(!r||r===o.selector||r==="**"&&o.selector)&&(h.splice(s,1),o.selector&&h.delegateCount--,c.remove&&c.remove.call(e,o));a&&!h.length&&((!c.teardown||c.teardown.call(e,v,g.handle)===!1)&&p.removeEvent(e,d,g.handle),delete l[d])}p.isEmptyObject(l)&&(delete g.handle,p._removeData(e,"events"))},trigger:function(t,n,r,i){var s,o,u,a,l,c,h,d=[r||N],v=f.call(t,"type")?t.type:t,m=f.call(t,"namespace")?t.namespace.split("."):[];u=c=r=r||N;if(r.nodeType===3||r.nodeType===8)return;if(Z.test(v+p.event.triggered))return;v.indexOf(".")>=0&&(m=v.split("."),v=m.shift(),m.sort()),o=v.indexOf(":")<0&&"on"+v,t=t[p.expando]?t:new p.Event(v,typeof t=="object"&&t),t.isTrigger=i?2:3,t.namespace=m.join("."),t.namespace_re=t.namespace?new RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=undefined,t.target||(t.target=r),n=n==null?[t]:p.makeArray(n,[t]),l=p.event.special[v]||{};if(!i&&l.trigger&&l.trigger.apply(r,n)===!1)return;if(!i&&!l.noBubble&&!p.isWindow(r)){a=l.delegateType||v,Z.test(a+v)||(u=u.parentNode);for(;u;u=u.parentNode)d.push(u),c=u;c===(r.ownerDocument||N)&&d.push(c.defaultView||c.parentWindow||e)}h=0;while((u=d[h++])&&!t.isPropagationStopped())t.type=h>1?a:l.bindType||v,s=(p._data(u,"events")||{})[t.type]&&p._data(u,"handle"),s&&s.apply(u,n),s=o&&u[o],s&&s.apply&&p.acceptData(u)&&(t.result=s.apply(u,n),t.result===!1&&t.preventDefault());t.type=v;if(!i&&!t.isDefaultPrevented()&&(!l._default||l._default.apply(d.pop(),n)===!1)&&p.acceptData(r)&&o&&r[v]&&!p.isWindow(r)){c=r[o],c&&(r[o]=null),p.event.triggered=v;try{r[v]()}catch(g){}p.event.triggered=undefined,c&&(r[o]=c)}return t.result},dispatch:function(e){e=p.event.fix(e);var t,n,i,s,o,u=[],a=r.call(arguments),f=(p._data(this,"events")||{})[e.type]||[],l=p.event.special[e.type]||{};a[0]=e,e.delegateTarget=this;if(l.preDispatch&&l.preDispatch.call(this,e)===!1)return;u=p.event.handlers.call(this,e,f),t=0;while((s=u[t++])&&!e.isPropagationStopped()){e.currentTarget=s.elem,o=0;while((i=s.handlers[o++])&&!e.isImmediatePropagationStopped())if(!e.namespace_re||e.namespace_re.test(i.namespace))e.handleObj=i,e.data=i.data,n=((p.event.special[i.origType]||{}).handle||i.handler).apply(s.elem,a),n!==undefined&&(e.result=n)===!1&&(e.preventDefault(),e.stopPropagation())}return l.postDispatch&&l.postDispatch.call(this,e),e.result},handlers:function(e,t){var n,r,i,s,o=[],u=t.delegateCount,a=e.target;if(u&&a.nodeType&&(!e.button||e.type!=="click"))for(;a!=this;a=a.parentNode||this)if(a.nodeType===1&&(a.disabled!==!0||e.type!=="click")){i=[];for(s=0;s<u;s++)r=t[s],n=r.selector+" ",i[n]===undefined&&(i[n]=r.needsContext?p(n,this).index(a)>=0:p.find(n,this,null,[a]).length),i[n]&&i.push(r);i.length&&o.push({elem:a,handlers:i})}return u<t.length&&o.push({elem:this,handlers:t.slice(u)}),o},fix:function(e){if(e[p.expando])return e;var t,n,r,i=e.type,s=e,o=this.fixHooks[i];o||(this.fixHooks[i]=o=Y.test(i)?this.mouseHooks:G.test(i)?this.keyHooks:{}),r=o.props?this.props.concat(o.props):this.props,e=new p.Event(s),t=r.length;while(t--)n=r[t],e[n]=s[n];return e.target||(e.target=s.srcElement||N),e.target.nodeType===3&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,o.filter?o.filter(e,s):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return e.which==null&&(e.which=t.charCode!=null?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var n,r,i,s=t.button,o=t.fromElement;return e.pageX==null&&t.clientX!=null&&(r=e.target.ownerDocument||N,i=r.documentElement,n=r.body,e.pageX=t.clientX+(i&&i.scrollLeft||n&&n.scrollLeft||0)-(i&&i.clientLeft||n&&n.clientLeft||0),e.pageY=t.clientY+(i&&i.scrollTop||n&&n.scrollTop||0)-(i&&i.clientTop||n&&n.clientTop||0)),!e.relatedTarget&&o&&(e.relatedTarget=o===e.target?t.toElement:o),!e.which&&s!==undefined&&(e.which=s&1?1:s&2?3:s&4?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==rt()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){if(this===rt()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if(p.nodeName(this,"input")&&this.type==="checkbox"&&this.click)return this.click(),!1},_default:function(e){return p.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==undefined&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=p.extend(new p.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?p.event.trigger(i,null,t):p.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},p.removeEvent=N.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===j&&(e[r]=null),e.detachEvent(r,n))},p.Event=function(e,t){if(!(this instanceof p.Event))return new p.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.defaultPrevented===undefined&&(e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault())?tt:nt):this.type=e,t&&p.extend(this,t),this.timeStamp=e&&e.timeStamp||p.now(),this[p.expando]=!0},p.Event.prototype={isDefaultPrevented:nt,isPropagationStopped:nt,isImmediatePropagationStopped:nt,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=tt;if(!e)return;e.preventDefault?e.preventDefault():e.returnValue=!1},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=tt;if(!e)return;e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=tt,this.stopPropagation()}},p.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){p.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,s=e.handleObj;if(!i||i!==r&&!p.contains(r,i))e.type=s.origType,n=s.handler.apply(this,arguments),e.type=t;return n}}}),c.submitBubbles||(p.event.special.submit={setup:function(){if(p.nodeName(this,"form"))return!1;p.event.add(this,"click._submit keypress._submit",function(e){var t=e.target,n=p.nodeName(t,"input")||p.nodeName(t,"button")?t.form:undefined;n&&!p._data(n,"submitBubbles")&&(p.event.add(n,"submit._submit",function(e){e._submit_bubble=!0}),p._data(n,"submitBubbles",!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&p.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){if(p.nodeName(this,"form"))return!1;p.event.remove(this,"._submit")}}),c.changeBubbles||(p.event.special.change={setup:function(){if(Q.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")p.event.add(this,"propertychange._change",function(e){e.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),p.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),p.event.simulate("change",this,e,!0)});return!1}p.event.add(this,"beforeactivate._change",function(e){var t=e.target;Q.test(t.nodeName)&&!p._data(t,"changeBubbles")&&(p.event.add(t,"change._change",function(e){this.parentNode&&!e.isSimulated&&!e.isTrigger&&p.event.simulate("change",this.parentNode,e,!0)}),p._data(t,"changeBubbles",!0))})},handle:function(e){var t=e.target;if(this!==t||e.isSimulated||e.isTrigger||t.type!=="radio"&&t.type!=="checkbox")return e.handleObj.handler.apply(this,arguments)},teardown:function(){return p.event.remove(this,"._change"),!Q.test(this.nodeName)}}),c.focusinBubbles||p.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){p.event.simulate(t,e.target,p.event.fix(e),!0)};p.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=p._data(r,t);i||r.addEventListener(e,n,!0),p._data(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=p._data(r,t)-1;i?p._data(r,t,i):(r.removeEventListener(e,n,!0),p._removeData(r,t))}}}),p.fn.extend({on:function(e,t,n,r,i){var s,o;if(typeof e=="object"){typeof t!="string"&&(n=n||t,t=undefined);for(s in e)this.on(s,t,n,e[s],i);return this}n==null&&r==null?(r=t,n=t=undefined):r==null&&(typeof t=="string"?(r=n,n=undefined):(r=n,n=t,t=undefined));if(r===!1)r=nt;else if(!r)return this;return i===1&&(o=r,r=function(e){return p().off(e),o.apply(this,arguments)},r.guid=o.guid||(o.guid=p.guid++)),this.each(function(){p.event.add(this,e,r,n,t)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,p(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if(typeof e=="object"){for(i in e)this.off(i,t,e[i]);return this}if(t===!1||typeof t=="function")n=t,t=undefined;return n===!1&&(n=nt),this.each(function(){p.event.remove(this,e,n,t)})},trigger:function(e,t){return this.each(function(){p.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return p.event.trigger(e,t,n,!0)}});var st="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ot=/ jQuery\d+="(?:null|\d+)"/g,ut=new RegExp("<(?:"+st+")[\\s/>]","i"),at=/^\s+/,ft=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,lt=/<([\w:]+)/,ct=/<tbody/i,ht=/<|&#?\w+;/,pt=/<(?:script|style|link)/i,dt=/checked\s*(?:[^=]|=\s*.checked.)/i,vt=/^$|\/(?:java|ecma)script/i,mt=/^true\/(.*)/,gt=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,yt={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:c.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},bt=it(N),wt=bt.appendChild(N.createElement("div"));yt.optgroup=yt.option,yt.tbody=yt.tfoot=yt.colgroup=yt.caption=yt.thead,yt.th=yt.td,p.extend({clone:function(e,t,n){var r,i,s,o,u,a=p.contains(e.ownerDocument,e);c.html5Clone||p.isXMLDoc(e)||!ut.test("<"+e.nodeName+">")?s=e.cloneNode(!0):(wt.innerHTML=e.outerHTML,wt.removeChild(s=wt.firstChild));if((!c.noCloneEvent||!c.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!p.isXMLDoc(e)){r=Et(s),u=Et(e);for(o=0;(i=u[o])!=null;++o)r[o]&&Lt(i,r[o])}if(t)if(n){u=u||Et(e),r=r||Et(s);for(o=0;(i=u[o])!=null;o++)kt(i,r[o])}else kt(e,s);return r=Et(s,"script"),r.length>0&&Ct(r,!a&&Et(e,"script")),r=u=i=null,s},buildFragment:function(e,t,n,r){var i,s,o,u,a,f,l,h=e.length,d=it(t),v=[],m=0;for(;m<h;m++){s=e[m];if(s||s===0)if(p.type(s)==="object")p.merge(v,s.nodeType?[s]:s);else if(!ht.test(s))v.push(t.createTextNode(s));else{u=u||d.appendChild(t.createElement("div")),a=(lt.exec(s)||["",""])[1].toLowerCase(),l=yt[a]||yt._default,u.innerHTML=l[1]+s.replace(ft,"<$1></$2>")+l[2],i=l[0];while(i--)u=u.lastChild;!c.leadingWhitespace&&at.test(s)&&v.push(t.createTextNode(at.exec(s)[0]));if(!c.tbody){s=a==="table"&&!ct.test(s)?u.firstChild:l[1]==="<table>"&&!ct.test(s)?u:0,i=s&&s.childNodes.length;while(i--)p.nodeName(f=s.childNodes[i],"tbody")&&!f.childNodes.length&&s.removeChild(f)}p.merge(v,u.childNodes),u.textContent="";while(u.firstChild)u.removeChild(u.firstChild);u=d.lastChild}}u&&d.removeChild(u),c.appendChecked||p.grep(Et(v,"input"),St),m=0;while(s=v[m++]){if(r&&p.inArray(s,r)!==-1)continue;o=p.contains(s.ownerDocument,s),u=Et(d.appendChild(s),"script"),o&&Ct(u);if(n){i=0;while(s=u[i++])vt.test(s.type||"")&&n.push(s)}}return u=null,d},cleanData:function(e,t){var r,i,s,o,u=0,a=p.expando,f=p.cache,l=c.deleteExpando,h=p.event.special;for(;(r=e[u])!=null;u++)if(t||p.acceptData(r)){s=r[a],o=s&&f[s];if(o){if(o.events)for(i in o.events)h[i]?p.event.remove(r,i):p.removeEvent(r,i,o.handle);f[s]&&(delete f[s],l?delete r[a]:typeof r.removeAttribute!==j?r.removeAttribute(a):r[a]=null,n.push(s))}}}}),p.fn.extend({text:function(e){return J(this,function(e){return e===undefined?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||N).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var t=xt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var t=xt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?p.filter(e,this):this,i=0;for(;(n=r[i])!=null;i++)!t&&n.nodeType===1&&p.cleanData(Et(n)),n.parentNode&&(t&&p.contains(n.ownerDocument,n)&&Ct(Et(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&p.cleanData(Et(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&p.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return p.clone(this,e,t)})},html:function(e){return J(this,function(e){var t=this[0]||{},n=0,r=this.length;if(e===undefined)return t.nodeType===1?t.innerHTML.replace(ot,""):undefined;if(typeof e=="string"&&!pt.test(e)&&(c.htmlSerialize||!ut.test(e))&&(c.leadingWhitespace||!at.test(e))&&!yt[(lt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(ft,"<$1></$2>");try{for(;n<r;n++)t=this[n]||{},t.nodeType===1&&(p.cleanData(Et(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=arguments[0];return this.domManip(arguments,function(t){e=this.parentNode,p.cleanData(Et(this)),e&&e.replaceChild(t,this)}),e&&(e.length||e.nodeType)?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t){e=i.apply([],e);var n,r,s,o,u,a,f=0,l=this.length,h=this,d=l-1,v=e[0],m=p.isFunction(v);if(m||l>1&&typeof v=="string"&&!c.checkClone&&dt.test(v))return this.each(function(n){var r=h.eq(n);m&&(e[0]=v.call(this,n,r.html())),r.domManip(e,t)});if(l){a=p.buildFragment(e,this[0].ownerDocument,!1,this),n=a.firstChild,a.childNodes.length===1&&(a=n);if(n){o=p.map(Et(a,"script"),Tt),s=o.length;for(;f<l;f++)r=a,f!==d&&(r=p.clone(r,!0,!0),s&&p.merge(o,Et(r,"script"))),t.call(this[f],r,f);if(s){u=o[o.length-1].ownerDocument,p.map(o,Nt);for(f=0;f<s;f++)r=o[f],vt.test(r.type||"")&&!p._data(r,"globalEval")&&p.contains(u,r)&&(r.src?p._evalUrl&&p._evalUrl(r.src):p.globalEval((r.text||r.textContent||r.innerHTML||"").replace(gt,"")))}a=n=null}}return this}}),p.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){p.fn[e]=function(e){var n,r=0,i=[],o=p(e),u=o.length-1;for(;r<=u;r++)n=r===u?this:this.clone(!0),p(o[r])[t](n),s.apply(i,n.get());return this.pushStack(i)}});var At,Ot={};(function(){var e,t,n=N.createElement("div"),r="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;padding:0;margin:0;border:0";n.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",e=n.getElementsByTagName("a")[0],e.style.cssText="float:left;opacity:.5",c.opacity=/^0.5/.test(e.style.opacity),c.cssFloat=!!e.style.cssFloat,n.style.backgroundClip="content-box",n.cloneNode(!0).style.backgroundClip="",c.clearCloneStyle=n.style.backgroundClip==="content-box",e=n=null,c.shrinkWrapBlocks=function(){var e,n,i,s;if(t==null){e=N.getElementsByTagName("body")[0];if(!e)return;s="border:0;width:0;height:0;position:absolute;top:0;left:-9999px",n=N.createElement("div"),i=N.createElement("div"),e.appendChild(n).appendChild(i),t=!1,typeof i.style.zoom!==j&&(i.style.cssText=r+";width:1px;padding:1px;zoom:1",i.innerHTML="<div></div>",i.firstChild.style.width="5px",t=i.offsetWidth!==3),e.removeChild(n),e=n=i=null}return t}})();var Dt=/^margin/,Pt=new RegExp("^("+X+")(?!px)[a-z%]+$","i"),Ht,Bt,jt=/^(top|right|bottom|left)$/;e.getComputedStyle?(Ht=function(e){return e.ownerDocument.defaultView.getComputedStyle(e,null)},Bt=function(e,t,n){var r,i,s,o,u=e.style;return n=n||Ht(e),o=n?n.getPropertyValue(t)||n[t]:undefined,n&&(o===""&&!p.contains(e.ownerDocument,e)&&(o=p.style(e,t)),Pt.test(o)&&Dt.test(t)&&(r=u.width,i=u.minWidth,s=u.maxWidth,u.minWidth=u.maxWidth=u.width=o,o=n.width,u.width=r,u.minWidth=i,u.maxWidth=s)),o===undefined?o:o+""}):N.documentElement.currentStyle&&(Ht=function(e){return e.currentStyle},Bt=function(e,t,n){var r,i,s,o,u=e.style;return n=n||Ht(e),o=n?n[t]:undefined,o==null&&u&&u[t]&&(o=u[t]),Pt.test(o)&&!jt.test(t)&&(r=u.left,i=e.runtimeStyle,s=i&&i.left,s&&(i.left=e.currentStyle.left),u.left=t==="fontSize"?"1em":o,o=u.pixelLeft+"px",u.left=r,s&&(i.left=s)),o===undefined?o:o+""||"auto"}),function(){function l(){var t,n,u=N.getElementsByTagName("body")[0];if(!u)return;t=N.createElement("div"),n=N.createElement("div"),t.style.cssText=a,u.appendChild(t).appendChild(n),n.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;display:block;padding:1px;border:1px;width:4px;margin-top:1%;top:1%",p.swap(u,u.style.zoom!=null?{zoom:1}:{},function(){r=n.offsetWidth===4}),i=!0,s=!1,o=!0,e.getComputedStyle&&(s=(e.getComputedStyle(n,null)||{}).top!=="1%",i=(e.getComputedStyle(n,null)||{width:"4px"}).width==="4px"),u.removeChild(t),n=u=null}var t,n,r,i,s,o,u=N.createElement("div"),a="border:0;width:0;height:0;position:absolute;top:0;left:-9999px",f="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;padding:0;margin:0;border:0";u.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",t=u.getElementsByTagName("a")[0],t.style.cssText="float:left;opacity:.5",c.opacity=/^0.5/.test(t.style.opacity),c.cssFloat=!!t.style.cssFloat,u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",c.clearCloneStyle=u.style.backgroundClip==="content-box",t=u=null,p.extend(c,{reliableHiddenOffsets:function(){if(n!=null)return n;var e,t,r,i=N.createElement("div"),s=N.getElementsByTagName("body")[0];if(!s)return;return i.setAttribute("className","t"),i.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",e=N.createElement("div"),e.style.cssText=a,s.appendChild(e).appendChild(i),i.innerHTML="<table><tr><td></td><td>t</td></tr></table>",t=i.getElementsByTagName("td"),t[0].style.cssText="padding:0;margin:0;border:0;display:none",r=t[0].offsetHeight===0,t[0].style.display="",t[1].style.display="none",n=r&&t[0].offsetHeight===0,s.removeChild(e),i=s=null,n},boxSizing:function(){return r==null&&l(),r},boxSizingReliable:function(){return i==null&&l(),i},pixelPosition:function(){return s==null&&l(),s},reliableMarginRight:function(){var t,n,r,i;if(o==null&&e.getComputedStyle){t=N.getElementsByTagName("body")[0];if(!t)return;n=N.createElement("div"),r=N.createElement("div"),n.style.cssText=a,t.appendChild(n).appendChild(r),i=r.appendChild(N.createElement("div")),i.style.cssText=r.style.cssText=f,i.style.marginRight=i.style.width="0",r.style.width="1px",o=!parseFloat((e.getComputedStyle(i,null)||{}).marginRight),t.removeChild(n)}return o}})}(),p.swap=function(e,t,n,r){var i,s,o={};for(s in t)o[s]=e.style[s],e.style[s]=t[s];i=n.apply(e,r||[]);for(s in t)e.style[s]=o[s];return i};var It=/alpha\([^)]*\)/i,qt=/opacity\s*=\s*([^)]*)/,Rt=/^(none|table(?!-c[ea]).+)/,Ut=new RegExp("^("+X+")(.*)$","i"),zt=new RegExp("^([+-])=("+X+")","i"),Wt={position:"absolute",visibility:"hidden",display:"block"},Xt={letterSpacing:0,fontWeight:400},Vt=["Webkit","O","Moz","ms"];p.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Bt(e,"opacity");return n===""?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":c.cssFloat?"cssFloat":"styleFloat"},style:function(e,t,n,r){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var i,s,o,u=p.camelCase(t),a=e.style;t=p.cssProps[u]||(p.cssProps[u]=$t(a,u)),o=p.cssHooks[t]||p.cssHooks[u];if(n===undefined)return o&&"get"in o&&(i=o.get(e,!1,r))!==undefined?i:a[t];s=typeof n,s==="string"&&(i=zt.exec(n))&&(n=(i[1]+1)*i[2]+parseFloat(p.css(e,t)),s="number");if(n==null||n!==n)return;s==="number"&&!p.cssNumber[u]&&(n+="px"),!c.clearCloneStyle&&n===""&&t.indexOf("background")===0&&(a[t]="inherit");if(!o||!("set"in o)||(n=o.set(e,n,r))!==undefined)try{a[t]="",a[t]=n}catch(f){}},css:function(e,t,n,r){var i,s,o,u=p.camelCase(t);return t=p.cssProps[u]||(p.cssProps[u]=$t(e.style,u)),o=p.cssHooks[t]||p.cssHooks[u],o&&"get"in o&&(s=o.get(e,!0,n)),s===undefined&&(s=Bt(e,t,r)),s==="normal"&&t in Xt&&(s=Xt[t]),n===""||n?(i=parseFloat(s),n===!0||p.isNumeric(i)?i||0:s):s}}),p.each(["height","width"],function(e,t){p.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&Rt.test(p.css(e,"display"))?p.swap(e,Wt,function(){return Gt(e,t,r)}):Gt(e,t,r)},set:function(e,n,r){var i=r&&Ht(e);return Kt(e,n,r?Qt(e,t,r,c.boxSizing()&&p.css(e,"boxSizing",!1,i)==="border-box",i):0)}}}),c.opacity||(p.cssHooks.opacity={get:function(e,t){return qt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=p.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if((t>=1||t==="")&&p.trim(s.replace(It,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(t===""||r&&!r.filter)return}n.filter=It.test(s)?s.replace(It,i):s+" "+i}}),p.cssHooks.marginRight=Ft(c.reliableMarginRight,function(e,t){if(t)return p.swap(e,{display:"inline-block"},Bt,[e,"marginRight"])}),p.each({margin:"",padding:"",border:"Width"},function(e,t){p.cssHooks[e+t]={expand:function(n){var r=0,i={},s=typeof n=="string"?n.split(" "):[n];for(;r<4;r++)i[e+V[r]+t]=s[r]||s[r-2]||s[0];return i}},Dt.test(e)||(p.cssHooks[e+t].set=Kt)}),p.fn.extend({css:function(e,t){return J(this,function(e,t,n){var r,i,s={},o=0;if(p.isArray(t)){r=Ht(e),i=t.length;for(;o<i;o++)s[t[o]]=p.css(e,t[o],!1,r);return s}return n!==undefined?p.style(e,t,n):p.css(e,t)},e,t,arguments.length>1)},show:function(){return Jt(this,!0)},hide:function(){return Jt(this)},toggle:function(e){return typeof e=="boolean"?e?this.show():this.hide():this.each(function(){$(this)?p(this).show():p(this).hide()})}}),p.Tween=Yt,Yt.prototype={constructor:Yt,init:function(e,t,n,r,i,s){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=s||(p.cssNumber[n]?"":"px")},cur:function(){var e=Yt.propHooks[this.prop];return e&&e.get?e.get(this):Yt.propHooks._default.get(this)},run:function(e){var t,n=Yt.propHooks[this.prop];return this.options.duration?this.pos=t=p.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Yt.propHooks._default.set(this),this}},Yt.prototype.init.prototype=Yt.prototype,Yt.propHooks={_default:{get:function(e){var t;return e.elem[e.prop]==null||!!e.elem.style&&e.elem.style[e.prop]!=null?(t=p.css(e.elem,e.prop,""),!t||t==="auto"?0:t):e.elem[e.prop]},set:function(e){p.fx.step[e.prop]?p.fx.step[e.prop](e):e.elem.style&&(e.elem.style[p.cssProps[e.prop]]!=null||p.cssHooks[e.prop])?p.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},Yt.propHooks.scrollTop=Yt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},p.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},p.fx=Yt.prototype.init,p.fx.step={};var Zt,en,tn=/^(?:toggle|show|hide)$/,nn=new RegExp("^(?:([+-])=|)("+X+")([a-z%]*)$","i"),rn=/queueHooks$/,sn=[ln],on={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=nn.exec(t),s=i&&i[3]||(p.cssNumber[e]?"":"px"),o=(p.cssNumber[e]||s!=="px"&&+r)&&nn.exec(p.css(n.elem,e)),u=1,a=20;if(o&&o[3]!==s){s=s||o[3],i=i||[],o=+r||1;do u=u||".5",o/=u,p.style(n.elem,e,o+s);while(u!==(u=n.cur()/r)&&u!==1&&--a)}return i&&(o=n.start=+o||+r||0,n.unit=s,n.end=i[1]?o+(i[1]+1)*i[2]:+i[2]),n}]};p.Animation=p.extend(hn,{tweener:function(e,t){p.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r<i;r++)n=e[r],on[n]=on[n]||[],on[n].unshift(t)},prefilter:function(e,t){t?sn.unshift(e):sn.push(e)}}),p.speed=function(e,t,n){var r=e&&typeof e=="object"?p.extend({},e):{complete:n||!n&&t||p.isFunction(e)&&e,duration:e,easing:n&&t||t&&!p.isFunction(t)&&t};r.duration=p.fx.off?0:typeof r.duration=="number"?r.duration:r.duration in p.fx.speeds?p.fx.speeds[r.duration]:p.fx.speeds._default;if(r.queue==null||r.queue===!0)r.queue="fx";return r.old=r.complete,r.complete=function(){p.isFunction(r.old)&&r.old.call(this),r.queue&&p.dequeue(this,r.queue)},r},p.fn.extend({fadeTo:function(e,t,n,r){return this.filter($).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=p.isEmptyObject(e),s=p.speed(t,n,r),o=function(){var t=hn(this,p.extend({},e),s);(i||p._data(this,"finish"))&&t.stop(!0)};return o.finish=o,i||s.queue===!1?this.each(o):this.queue(s.queue,o)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return typeof e!="string"&&(n=t,t=e,e=undefined),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=e!=null&&e+"queueHooks",s=p.timers,o=p._data(this);if(i)o[i]&&o[i].stop&&r(o[i]);else for(i in o)o[i]&&o[i].stop&&rn.test(i)&&r(o[i]);for(i=s.length;i--;)s[i].elem===this&&(e==null||s[i].queue===e)&&(s[i].anim.stop(n),t=!1,s.splice(i,1));(t||!n)&&p.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=p._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],s=p.timers,o=r?r.length:0;n.finish=!0,p.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0);for(t=s.length;t--;)s[t].elem===this&&s[t].queue===e&&(s[t].anim.stop(!0),s.splice(t,1));for(t=0;t<o;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),p.each(["toggle","show","hide"],function(e,t){var n=p.fn[t];p.fn[t]=function(e,r,i){return e==null||typeof e=="boolean"?n.apply(this,arguments):this.animate(an(t,!0),e,r,i)}}),p.each({slideDown:an("show"),slideUp:an("hide"),slideToggle:an("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){p.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),p.timers=[],p.fx.tick=function(){var e,t=p.timers,n=0;Zt=p.now();for(;n<t.length;n++)e=t[n],!e()&&t[n]===e&&t.splice(n--,1);t.length||p.fx.stop(),Zt=undefined},p.fx.timer=function(e){p.timers.push(e),e()?p.fx.start():p.timers.pop()},p.fx.interval=13,p.fx.start=function(){en||(en=setInterval(p.fx.tick,p.fx.interval))},p.fx.stop=function(){clearInterval(en),en=null},p.fx.speeds={slow:600,fast:200,_default:400},p.fn.delay=function(e,t){return e=p.fx?p.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},function(){var e,t,n,r,i=N.createElement("div");i.setAttribute("className","t"),i.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",e=i.getElementsByTagName("a")[0],n=N.createElement("select"),r=n.appendChild(N.createElement("option")),t=i.getElementsByTagName("input")[0],e.style.cssText="top:1px",c.getSetAttribute=i.className!=="t",c.style=/top/.test(e.getAttribute("style")),c.hrefNormalized=e.getAttribute("href")==="/a",c.checkOn=!!t.value,c.optSelected=r.selected,c.enctype=!!N.createElement("form").enctype,n.disabled=!0,c.optDisabled=!r.disabled,t=N.createElement("input"),t.setAttribute("value",""),c.input=t.getAttribute("value")==="",t.value="t",t.setAttribute("type","radio"),c.radioValue=t.value==="t",e=t=n=r=i=null}();var pn=/\r/g;p.fn.extend({val:function(e){var t,n,r,i=this[0];if(!arguments.length){if(i)return t=p.valHooks[i.type]||p.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&(n=t.get(i,"value"))!==undefined?n:(n=i.value,typeof n=="string"?n.replace(pn,""):n==null?"":n);return}return r=p.isFunction(e),this.each(function(n){var i;if(this.nodeType!==1)return;r?i=e.call(this,n,p(this).val()):i=e,i==null?i="":typeof i=="number"?i+="":p.isArray(i)&&(i=p.map(i,function(e){return e==null?"":e+""})),t=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!t||!("set"in t)||t.set(this,i,"value")===undefined)this.value=i})}}),p.extend({valHooks:{option:{get:function(e){var t=p.find.attr(e,"value");return t!=null?t:p.text(e)}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a<u;a++){n=r[a];if((n.selected||a===i)&&(c.optDisabled?!n.disabled:n.getAttribute("disabled")===null)&&(!n.parentNode.disabled||!p.nodeName(n.parentNode,"optgroup"))){t=p(n).val();if(s)return t;o.push(t)}}return o},set:function(e,t){var n,r,i=e.options,s=p.makeArray(t),o=i.length;while(o--){r=i[o];if(p.inArray(p.valHooks.option.get(r),s)>=0)try{r.selected=n=!0}catch(u){r.scrollHeight}else r.selected=!1}return n||(e.selectedIndex=-1),i}}}}),p.each(["radio","checkbox"],function(){p.valHooks[this]={set:function(e,t){if(p.isArray(t))return e.checked=p.inArray(p(e).val(),t)>=0}},c.checkOn||(p.valHooks[this].get=function(e){return e.getAttribute("value")===null?"on":e.value})});var dn,vn,mn=p.expr.attrHandle,gn=/^(?:checked|selected)$/i,yn=c.getSetAttribute,bn=c.input;p.fn.extend({attr:function(e,t){return J(this,p.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){p.removeAttr(this,e)})}}),p.extend({attr:function(e,t,n){var r,i,s=e.nodeType;if(!e||s===3||s===8||s===2)return;if(typeof e.getAttribute===j)return p.prop(e,t,n);if(s!==1||!p.isXMLDoc(e))t=t.toLowerCase(),r=p.attrHooks[t]||(p.expr.match.bool.test(t)?vn:dn);if(n===undefined)return r&&"get"in r&&(i=r.get(e,t))!==null?i:(i=p.find.attr(e,t),i==null?undefined:i);if(n!==null)return r&&"set"in r&&(i=r.set(e,n,t))!==undefined?i:(e.setAttribute(t,n+""),n);p.removeAttr(e,t)},removeAttr:function(e,t){var n,r,i=0,s=t&&t.match(M);if(s&&e.nodeType===1)while(n=s[i++])r=p.propFix[n]||n,p.expr.match.bool.test(n)?bn&&yn||!gn.test(n)?e[r]=!1:e[p.camelCase("default-"+n)]=e[r]=!1:p.attr(e,n,""),e.removeAttribute(yn?n:r)},attrHooks:{type:{set:function(e,t){if(!c.radioValue&&t==="radio"&&p.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}}}),vn={set:function(e,t,n){return t===!1?p.removeAttr(e,n):bn&&yn||!gn.test(n)?e.setAttribute(!yn&&p.propFix[n]||n,n):e[p.camelCase("default-"+n)]=e[n]=!0,n}},p.each(p.expr.match.bool.source.match(/\w+/g),function(e,t){var n=mn[t]||p.find.attr;mn[t]=bn&&yn||!gn.test(t)?function(e,t,r){var i,s;return r||(s=mn[t],mn[t]=i,i=n(e,t,r)!=null?t.toLowerCase():null,mn[t]=s),i}:function(e,t,n){if(!n)return e[p.camelCase("default-"+t)]?t.toLowerCase():null}});if(!bn||!yn)p.attrHooks.value={set:function(e,t,n){if(!p.nodeName(e,"input"))return dn&&dn.set(e,t,n);e.defaultValue=t}};yn||(dn={set:function(e,t,n){var r=e.getAttributeNode(n);r||e.setAttributeNode(r=e.ownerDocument.createAttribute(n)),r.value=t+="";if(n==="value"||t===e.getAttribute(n))return t}},mn.id=mn.name=mn.coords=function(e,t,n){var r;if(!n)return(r=e.getAttributeNode(t))&&r.value!==""?r.value:null},p.valHooks.button={get:function(e,t){var n=e.getAttributeNode(t);if(n&&n.specified)return n.value},set:dn.set},p.attrHooks.contenteditable={set:function(e,t,n){dn.set(e,t===""?!1:t,n)}},p.each(["width","height"],function(e,t){p.attrHooks[t]={set:function(e,n){if(n==="")return e.setAttribute(t,"auto"),n}}})),c.style||(p.attrHooks.style={get:function(e){return e.style.cssText||undefined},set:function(e,t){return e.style.cssText=t+""}});var wn=/^(?:input|select|textarea|button|object)$/i,En=/^(?:a|area)$/i;p.fn.extend({prop:function(e,t){return J(this,p.prop,e,t,arguments.length>1)},removeProp:function(e){return e=p.propFix[e]||e,this.each(function(){try{this[e]=undefined,delete this[e]}catch(t){}})}}),p.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var r,i,s,o=e.nodeType;if(!e||o===3||o===8||o===2)return;return s=o!==1||!p.isXMLDoc(e),s&&(t=p.propFix[t]||t,i=p.propHooks[t]),n!==undefined?i&&"set"in i&&(r=i.set(e,n,t))!==undefined?r:e[t]=n:i&&"get"in i&&(r=i.get(e,t))!==null?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=p.find.attr(e,"tabindex");return t?parseInt(t,10):wn.test(e.nodeName)||En.test(e.nodeName)&&e.href?0:-1}}}}),c.hrefNormalized||p.each(["href","src"],function(e,t){p.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),c.optSelected||(p.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),p.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){p.propFix[this.toLowerCase()]=this}),c.enctype||(p.propFix.enctype="encoding");var Sn=/[\t\r\n\f]/g;p.fn.extend({addClass:function(e){var t,n,r,i,s,o,u=0,a=this.length,f=typeof e=="string"&&e;if(p.isFunction(e))return this.each(function(t){p(this).addClass(e.call(this,t,this.className))});if(f){t=(e||"").match(M)||[];for(;u<a;u++){n=this[u],r=n.nodeType===1&&(n.className?(" "+n.className+" ").replace(Sn," "):" ");if(r){s=0;while(i=t[s++])r.indexOf(" "+i+" ")<0&&(r+=i+" ");o=p.trim(r),n.className!==o&&(n.className=o)}}}return this},removeClass:function(e){var t,n,r,i,s,o,u=0,a=this.length,f=arguments.length===0||typeof e=="string"&&e;if(p.isFunction(e))return this.each(function(t){p(this).removeClass(e.call(this,t,this.className))});if(f){t=(e||"").match(M)||[];for(;u<a;u++){n=this[u],r=n.nodeType===1&&(n.className?(" "+n.className+" ").replace(Sn," "):"");if(r){s=0;while(i=t[s++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");o=e?p.trim(r):"",n.className!==o&&(n.className=o)}}}return this},toggleClass:function(e,t){var n=typeof e;return typeof t=="boolean"&&n==="string"?t?this.addClass(e):this.removeClass(e):p.isFunction(e)?this.each(function(n){p(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var t,r=0,i=p(this),s=e.match(M)||[];while(t=s[r++])i.hasClass(t)?i.removeClass(t):i.addClass(t)}else if(n===j||n==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||e===!1?"":p._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n<r;n++)if(this[n].nodeType===1&&(" "+this[n].className+" ").replace(Sn," ").indexOf(t)>=0)return!0;return!1}}),p.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){p.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),p.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return arguments.length===1?this.off(e,"**"):this.off(t,e||"**",n)}});var xn=p.now(),Tn=/\?/,Nn=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;p.parseJSON=function(t){if(e.JSON&&e.JSON.parse)return e.JSON.parse(t+"");var n,r=null,i=p.trim(t+"");return i&&!p.trim(i.replace(Nn,function(e,t,i,s){return n&&t&&(r=0),r===0?e:(n=i||t,r+=!s-!i,"")}))?Function("return "+i)():p.error("Invalid JSON: "+t)},p.parseXML=function(t){var n,r;if(!t||typeof t!="string")return null;try{e.DOMParser?(r=new DOMParser,n=r.parseFromString(t,"text/xml")):(n=new ActiveXObject("Microsoft.XMLDOM"),n.async="false",n.loadXML(t))}catch(i){n=undefined}return(!n||!n.documentElement||n.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+t),n};var Cn,kn,Ln=/#.*$/,An=/([?&])_=[^&]*/,On=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,Mn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,_n=/^(?:GET|HEAD)$/,Dn=/^\/\//,Pn=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hn={},Bn={},jn="*/".concat("*");try{kn=location.href}catch(Fn){kn=N.createElement("a"),kn.href="",kn=kn.href}Cn=Pn.exec(kn.toLowerCase())||[],p.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:kn,type:"GET",isLocal:Mn.test(Cn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":jn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Rn(Rn(e,p.ajaxSettings),t):Rn(p.ajaxSettings,e)},ajaxPrefilter:In(Hn),ajaxTransport:In(Bn),ajax:function(e,t){function x(e,t,n,r){var f,g,y,w,S,x=t;if(b===2)return;b=2,o&&clearTimeout(o),a=undefined,s=r||"",E.readyState=e>0?4:0,f=e>=200&&e<300||e===304,n&&(w=Un(l,E,n)),w=zn(l,w,E,f);if(f)l.ifModified&&(S=E.getResponseHeader("Last-Modified"),S&&(p.lastModified[i]=S),S=E.getResponseHeader("etag"),S&&(p.etag[i]=S)),e===204||l.type==="HEAD"?x="nocontent":e===304?x="notmodified":(x=w.state,g=w.data,y=w.error,f=!y);else{y=x;if(e||!x)x="error",e<0&&(e=0)}E.status=e,E.statusText=(t||x)+"",f?d.resolveWith(c,[g,x,E]):d.rejectWith(c,[E,x,y]),E.statusCode(m),m=undefined,u&&h.trigger(f?"ajaxSuccess":"ajaxError",[E,l,f?g:y]),v.fireWith(c,[E,x]),u&&(h.trigger("ajaxComplete",[E,l]),--p.active||p.event.trigger("ajaxStop"))}typeof e=="object"&&(t=e,e=undefined),t=t||{};var n,r,i,s,o,u,a,f,l=p.ajaxSetup({},t),c=l.context||l,h=l.context&&(c.nodeType||c.jquery)?p(c):p.event,d=p.Deferred(),v=p.Callbacks("once memory"),m=l.statusCode||{},g={},y={},b=0,w="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(b===2){if(!f){f={};while(t=On.exec(s))f[t[1].toLowerCase()]=t[2]}t=f[e.toLowerCase()]}return t==null?null:t},getAllResponseHeaders:function(){return b===2?s:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=y[n]=y[n]||e,g[e]=t),this},overrideMimeType:function(e){return b||(l.mimeType=e),this},statusCode:function(e){var t;if(e)if(b<2)for(t in e)m[t]=[m[t],e[t]];else E.always(e[E.status]);return this},abort:function(e){var t=e||w;return a&&a.abort(t),x(0,t),this}};d.promise(E).complete=v.add,E.success=E.done,E.error=E.fail,l.url=((e||l.url||kn)+"").replace(Ln,"").replace(Dn,Cn[1]+"//"),l.type=t.method||t.type||l.method||l.type,l.dataTypes=p.trim(l.dataType||"*").toLowerCase().match(M)||[""],l.crossDomain==null&&(n=Pn.exec(l.url.toLowerCase()),l.crossDomain=!(!n||n[1]===Cn[1]&&n[2]===Cn[2]&&(n[3]||(n[1]==="http:"?"80":"443"))===(Cn[3]||(Cn[1]==="http:"?"80":"443")))),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),qn(Hn,l,t,E);if(b===2)return E;u=l.global,u&&p.active++===0&&p.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!_n.test(l.type),i=l.url,l.hasContent||(l.data&&(i=l.url+=(Tn.test(i)?"&":"?")+l.data,delete l.data),l.cache===!1&&(l.url=An.test(i)?i.replace(An,"$1_="+xn++):i+(Tn.test(i)?"&":"?")+"_="+xn++)),l.ifModified&&(p.lastModified[i]&&E.setRequestHeader("If-Modified-Since",p.lastModified[i]),p.etag[i]&&E.setRequestHeader("If-None-Match",p.etag[i])),(l.data&&l.hasContent&&l.contentType!==!1||t.contentType)&&E.setRequestHeader("Content-Type",l.contentType),E.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+jn+"; q=0.01":""):l.accepts["*"]);for(r in l.headers)E.setRequestHeader(r,l.headers[r]);if(!l.beforeSend||l.beforeSend.call(c,E,l)!==!1&&b!==2){w="abort";for(r in{success:1,error:1,complete:1})E[r](l[r]);a=qn(Bn,l,t,E);if(!a)x(-1,"No Transport");else{E.readyState=1,u&&h.trigger("ajaxSend",[E,l]),l.async&&l.timeout>0&&(o=setTimeout(function(){E.abort("timeout")},l.timeout));try{b=1,a.send(g,x)}catch(S){if(!(b<2))throw S;x(-1,S)}}return E}return E.abort()},getJSON:function(e,t,n){return p.get(e,t,n,"json")},getScript:function(e,t){return p.get(e,undefined,t,"script")}}),p.each(["get","post"],function(e,t){p[t]=function(e,n,r,i){return p.isFunction(n)&&(i=i||r,r=n,n=undefined),p.ajax({url:e,type:t,dataType:i,data:n,success:r})}}),p.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){p.fn[t]=function(e){return this.on(t,e)}}),p._evalUrl=function(e){return p.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},p.fn.extend({wrapAll:function(e){if(p.isFunction(e))return this.each(function(t){p(this).wrapAll(e.call(this,t))});if(this[0]){var t=p(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return p.isFunction(e)?this.each(function(t){p(this).wrapInner(e.call(this,t))}):this.each(function(){var t=p(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=p.isFunction(e);return this.each(function(n){p(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()}}),p.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0||!c.reliableHiddenOffsets()&&(e.style&&e.style.display||p.css(e,"display"))==="none"},p.expr.filters.visible=function(e){return!p.expr.filters.hidden(e)};var Wn=/%20/g,Xn=/\[\]$/,Vn=/\r?\n/g,$n=/^(?:submit|button|image|reset|file)$/i,Jn=/^(?:input|select|textarea|keygen)/i;p.param=function(e,t){var n,r=[],i=function(e,t){t=p.isFunction(t)?t():t==null?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};t===undefined&&(t=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(e)||e.jquery&&!p.isPlainObject(e))p.each(e,function(){i(this.name,this.value)});else for(n in e)Kn(n,e[n],t,i);return r.join("&").replace(Wn,"+")},p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=p.prop(this,"elements");return e?p.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!p(this).is(":disabled")&&Jn.test(this.nodeName)&&!$n.test(e)&&(this.checked||!K.test(e))}).map(function(e,t){var n=p(this).val();return n==null?null:p.isArray(n)?p.map(n,function(e){return{name:t.name,value:e.replace(Vn,"\r\n")}}):{name:t.name,value:n.replace(Vn,"\r\n")}}).get()}}),p.ajaxSettings.xhr=e.ActiveXObject!==undefined?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zn()||er()}:Zn;var Qn=0,Gn={},Yn=p.ajaxSettings.xhr();e.ActiveXObject&&p(e).on("unload",function(){for(var e in Gn)Gn[e](undefined,!0)}),c.cors=!!Yn&&"withCredentials"in Yn,Yn=c.ajax=!!Yn,Yn&&p.ajaxTransport(function(e){if(!e.crossDomain||c.cors){var t;return{send:function(n,r){var i,s=e.xhr(),o=++Qn;s.open(e.type,e.url,e.async,e.username,e.password);if(e.xhrFields)for(i in e.xhrFields)s[i]=e.xhrFields[i];e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),!e.crossDomain&&!n["X-Requested-With"]&&(n["X-Requested-With"]="XMLHttpRequest");for(i in n)n[i]!==undefined&&s.setRequestHeader(i,n[i]+"");s.send(e.hasContent&&e.data||null),t=function(n,i){var u,a,f;if(t&&(i||s.readyState===4)){delete Gn[o],t=undefined,s.onreadystatechange=p.noop;if(i)s.readyState!==4&&s.abort();else{f={},u=s.status,typeof s.responseText=="string"&&(f.text=s.responseText);try{a=s.statusText}catch(l){a=""}!u&&e.isLocal&&!e.crossDomain?u=f.text?200:404:u===1223&&(u=204)}}f&&r(u,a,f,s.getAllResponseHeaders())},e.async?s.readyState===4?setTimeout(t):s.onreadystatechange=Gn[o]=t:t()},abort:function(){t&&t(undefined,!0)}}}}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return p.globalEval(e),e}}}),p.ajaxPrefilter("script",function(e){e.cache===undefined&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),p.ajaxTransport("script",function(e){if(e.crossDomain){var t,n=N.head||p("head")[0]||N.documentElement;return{send:function(r,i){t=N.createElement("script"),t.async=!0,e.scriptCharset&&(t.charset=e.scriptCharset),t.src=e.url,t.onload=t.onreadystatechange=function(e,n){if(n||!t.readyState||/loaded|complete/.test(t.readyState))t.onload=t.onreadystatechange=null,t.parentNode&&t.parentNode.removeChild(t),t=null,n||i(200,"success")},n.insertBefore(t,n.firstChild)},abort:function(){t&&t.onload(undefined,!0)}}}});var tr=[],nr=/(=)\?(?=&|$)|\?\?/;p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=tr.pop()||p.expando+"_"+xn++;return this[e]=!0,e}}),p.ajaxPrefilter("json jsonp",function(t,n,r){var i,s,o,u=t.jsonp!==!1&&(nr.test(t.url)?"url":typeof t.data=="string"&&!(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&nr.test(t.data)&&"data");if(u||t.dataTypes[0]==="jsonp")return i=t.jsonpCallback=p.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,u?t[u]=t[u].replace(nr,"$1"+i):t.jsonp!==!1&&(t.url+=(Tn.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return o||p.error(i+" was not called"),o[0]},t.dataTypes[0]="json",s=e[i],e[i]=function(){o=arguments},r.always(function(){e[i]=s,t[i]&&(t.jsonpCallback=n.jsonpCallback,tr.push(i)),o&&p.isFunction(s)&&s(o[0]),o=s=undefined}),"script"}),p.parseHTML=function(e,t,n){if(!e||typeof e!="string")return null;typeof t=="boolean"&&(n=t,t=!1),t=t||N;var r=E.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=p.buildFragment([e],t,i),i&&i.length&&p(i).remove(),p.merge([],r.childNodes))};var rr=p.fn.load;p.fn.load=function(e,t,n){if(typeof e!="string"&&rr)return rr.apply(this,arguments);var r,i,s,o=this,u=e.indexOf(" ");return u>=0&&(r=e.slice(u,e.length),e=e.slice(0,u)),p.isFunction(t)?(n=t,t=undefined):t&&typeof t=="object"&&(s="POST"),o.length>0&&p.ajax({url:e,type:s,dataType:"html",data:t}).done(function(e){i=arguments,o.html(r?p("<div>").append(p.parseHTML(e)).find(r):e)}).complete(n&&function(e,t){o.each(n,i||[e.responseText,t,e])}),this},p.expr.filters.animated=function(e){return p.grep(p.timers,function(t){return e===t.elem}).length};var ir=e.document.documentElement;p.offset={setOffset:function(e,t,n){var r,i,s,o,u,a,f,l=p.css(e,"position"),c=p(e),h={};l==="static"&&(e.style.position="relative"),u=c.offset(),s=p.css(e,"top"),a=p.css(e,"left"),f=(l==="absolute"||l==="fixed")&&p.inArray("auto",[s,a])>-1,f?(r=c.position(),o=r.top,i=r.left):(o=parseFloat(s)||0,i=parseFloat(a)||0),p.isFunction(t)&&(t=t.call(e,n,u)),t.top!=null&&(h.top=t.top-u.top+o),t.left!=null&&(h.left=t.left-u.left+i),"using"in t?t.using.call(e,h):c.css(h)}},p.fn.extend({offset:function(e){if(arguments.length)return e===undefined?this:this.each(function(t){p.offset.setOffset(this,e,t)});var t,n,r={top:0,left:0},i=this[0],s=i&&i.ownerDocument;if(!s)return;return t=s.documentElement,p.contains(t,i)?(typeof i.getBoundingClientRect!==j&&(r=i.getBoundingClientRect()),n=sr(s),{top:r.top+(n.pageYOffset||t.scrollTop)-(t.clientTop||0),left:r.left+(n.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}):r},position:function(){if(!this[0])return;var e,t,n={top:0,left:0},r=this[0];return p.css(r,"position")==="fixed"?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),p.nodeName(e[0],"html")||(n=e.offset()),n.top+=p.css(e[0],"borderTopWidth",!0),n.left+=p.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-p.css(r,"marginTop",!0),left:t.left-n.left-p.css(r,"marginLeft",!0)}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||ir;while(e&&!p.nodeName(e,"html")&&p.css(e,"position")==="static")e=e.offsetParent;return e||ir})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n=/Y/.test(t);p.fn[e]=function(r){return J(this,function(e,r,i){var s=sr(e);if(i===undefined)return s?t in s?s[t]:s.document.documentElement[r]:e[r];s?s.scrollTo(n?p(s).scrollLeft():i,n?i:p(s).scrollTop()):e[r]=i},e,r,arguments.length,null)}}),p.each(["top","left"],function(e,t){p.cssHooks[t]=Ft(c.pixelPosition,function(e,n){if(n)return n=Bt(e,t),Pt.test(n)?p(e).position()[t]+"px":n})}),p.each({Height:"height",Width:"width"},function(e,t){p.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){p.fn[r]=function(r,i){var s=arguments.length&&(n||typeof r!="boolean"),o=n||(r===!0||i===!0?"margin":"border");return J(this,function(t,n,r){var i;return p.isWindow(t)?t.document.documentElement["client"+e]:t.nodeType===9?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):r===undefined?p.css(t,n,o):p.style(t,n,r,o)},t,s?r:undefined,s,null)}})}),p.fn.size=function(){return this.length},p.fn.andSelf=p.fn.addBack,typeof define=="function"&&define.amd&&define("jquery",[],function(){return p});var or=e.jQuery,ur=e.$;return p.noConflict=function(t){return e.$===p&&(e.$=ur),t&&e.jQuery===p&&(e.jQuery=or),p},typeof t===j&&(e.jQuery=e.$=p),p}),define("jquery-private",["jquery"],function(e){return e.noConflict(!0)}),function(){function x(e){function t(t,n,r,i,s,o){for(;s>=0&&s<o;s+=e){var u=i?i[s]:s;r=n(r,t[u],u,t)}return r}return function(n,r,i,s){r=v(r,s,4);var o=!S(n)&&d.keys(n),u=(o||n).length,a=e>0?0:u-1;return arguments.length<3&&(i=n[o?o[a]:a],a+=e),t(n,r,i,o,a,u)}}function C(e){return function(t,n,r){n=m(n,r);var i=E(t),s=e>0?0:i-1;for(;s>=0&&s<i;s+=e)if(n(t[s],s,t))return s;return-1}}function k(e,t,n){return function(r,i,s){var u=0,a=E(r);if(typeof s=="number")e>0?u=s>=0?s:Math.max(s+a,u):a=s>=0?Math.min(s+1,a):s+a+1;else if(n&&s&&a)return s=n(r,i),r[s]===i?s:-1;if(i!==i)return s=t(o.call(r,u,a),d.isNaN),s>=0?s+u:-1;for(s=e>0?u:a-1;s>=0&&s<a;s+=e)if(r[s]===i)return s;return-1}}function M(e,t){var n=O.length,i=e.constructor,s=d.isFunction(i)&&i.prototype||r,o="constructor";d.has(e,o)&&!d.contains(t,o)&&t.push(o);while(n--)o=O[n],o in e&&e[o]!==s[o]&&!d.contains(t,o)&&t.push(o)}var e=this,t=e._,n=Array.prototype,r=Object.prototype,i=Function.prototype,s=n.push,o=n.slice,u=r.toString,a=r.hasOwnProperty,f=Array.isArray,l=Object.keys,c=i.bind,h=Object.create,p=function(){},d=function(e){if(e instanceof d)return e;if(!(this instanceof d))return new d(e);this._wrapped=e};typeof exports!="undefined"?(typeof module!="undefined"&&module.exports&&(exports=module.exports=d),exports._=d):e._=d,d.VERSION="1.8.3";var v=function(e,t,n){if(t===void 0)return e;switch(n==null?3:n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)};case 4:return function(n,r,i,s){return e.call(t,n,r,i,s)}}return function(){return e.apply(t,arguments)}},m=function(e,t,n){return e==null?d.identity:d.isFunction(e)?v(e,t,n):d.isObject(e)?d.matcher(e):d.property(e)};d.iteratee=function(e,t){return m(e,t,Infinity)};var g=function(e,t){return function(n){var r=arguments.length;if(r<2||n==null)return n;for(var i=1;i<r;i++){var s=arguments[i],o=e(s),u=o.length;for(var a=0;a<u;a++){var f=o[a];if(!t||n[f]===void 0)n[f]=s[f]}}return n}},y=function(e){if(!d.isObject(e))return{};if(h)return h(e);p.prototype=e;var t=new p;return p.prototype=null,t},b=function(e){return function(t){return t==null?void 0:t[e]}},w=Math.pow(2,53)-1,E=b("length"),S=function(e){var t=E(e);return typeof t=="number"&&t>=0&&t<=w};d.each=d.forEach=function(e,t,n){t=v(t,n);var r,i;if(S(e))for(r=0,i=e.length;r<i;r++)t(e[r],r,e);else{var s=d.keys(e);for(r=0,i=s.length;r<i;r++)t(e[s[r]],s[r],e)}return e},d.map=d.collect=function(e,t,n){t=m(t,n);var r=!S(e)&&d.keys(e),i=(r||e).length,s=Array(i);for(var o=0;o<i;o++){var u=r?r[o]:o;s[o]=t(e[u],u,e)}return s},d.reduce=d.foldl=d.inject=x(1),d.reduceRight=d.foldr=x(-1),d.find=d.detect=function(e,t,n){var r;S(e)?r=d.findIndex(e,t,n):r=d.findKey(e,t,n);if(r!==void 0&&r!==-1)return e[r]},d.filter=d.select=function(e,t,n){var r=[];return t=m(t,n),d.each(e,function(e,n,i){t(e,n,i)&&r.push(e)}),r},d.reject=function(e,t,n){return d.filter(e,d.negate(m(t)),n)},d.every=d.all=function(e,t,n){t=m(t,n);var r=!S(e)&&d.keys(e),i=(r||e).length;for(var s=0;s<i;s++){var o=r?r[s]:s;if(!t(e[o],o,e))return!1}return!0},d.some=d.any=function(e,t,n){t=m(t,n);var r=!S(e)&&d.keys(e),i=(r||e).length;for(var s=0;s<i;s++){var o=r?r[s]:s;if(t(e[o],o,e))return!0}return!1},d.contains=d.includes=d.include=function(e,t,n,r){S(e)||(e=d.values(e));if(typeof n!="number"||r)n=0;return d.indexOf(e,t,n)>=0},d.invoke=function(e,t){var n=o.call(arguments,2),r=d.isFunction(t);return d.map(e,function(e){var i=r?t:e[t];return i==null?i:i.apply(e,n)})},d.pluck=function(e,t){return d.map(e,d.property(t))},d.where=function(e,t){return d.filter(e,d.matcher(t))},d.findWhere=function(e,t){return d.find(e,d.matcher(t))},d.max=function(e,t,n){var r=-Infinity,i=-Infinity,s,o;if(t==null&&e!=null){e=S(e)?e:d.values(e);for(var u=0,a=e.length;u<a;u++)s=e[u],s>r&&(r=s)}else t=m(t,n),d.each(e,function(e,n,s){o=t(e,n,s);if(o>i||o===-Infinity&&r===-Infinity)r=e,i=o});return r},d.min=function(e,t,n){var r=Infinity,i=Infinity,s,o;if(t==null&&e!=null){e=S(e)?e:d.values(e);for(var u=0,a=e.length;u<a;u++)s=e[u],s<r&&(r=s)}else t=m(t,n),d.each(e,function(e,n,s){o=t(e,n,s);if(o<i||o===Infinity&&r===Infinity)r=e,i=o});return r},d.shuffle=function(e){var t=S(e)?e:d.values(e),n=t.length,r=Array(n);for(var i=0,s;i<n;i++)s=d.random(0,i),s!==i&&(r[i]=r[s]),r[s]=t[i];return r},d.sample=function(e,t,n){return t==null||n?(S(e)||(e=d.values(e)),e[d.random(e.length-1)]):d.shuffle(e).slice(0,Math.max(0,t))},d.sortBy=function(e,t,n){return t=m(t,n),d.pluck(d.map(e,function(e,n,r){return{value:e,index:n,criteria:t(e,n,r)}}).sort(function(e,t){var n=e.criteria,r=t.criteria;if(n!==r){if(n>r||n===void 0)return 1;if(n<r||r===void 0)return-1}return e.index-t.index}),"value")};var T=function(e){return function(t,n,r){var i={};return n=m(n,r),d.each(t,function(r,s){var o=n(r,s,t);e(i,r,o)}),i}};d.groupBy=T(function(e,t,n){d.has(e,n)?e[n].push(t):e[n]=[t]}),d.indexBy=T(function(e,t,n){e[n]=t}),d.countBy=T(function(e,t,n){d.has(e,n)?e[n]++:e[n]=1}),d.toArray=function(e){return e?d.isArray(e)?o.call(e):S(e)?d.map(e,d.identity):d.values(e):[]},d.size=function(e){return e==null?0:S(e)?e.length:d.keys(e).length},d.partition=function(e,t,n){t=m(t,n);var r=[],i=[];return d.each(e,function(e,n,s){(t(e,n,s)?r:i).push(e)}),[r,i]},d.first=d.head=d.take=function(e,t,n){return e==null?void 0:t==null||n?e[0]:d.initial(e,e.length-t)},d.initial=function(e,t,n){return o.call(e,0,Math.max(0,e.length-(t==null||n?1:t)))},d.last=function(e,t,n){return e==null?void 0:t==null||n?e[e.length-1]:d.rest(e,Math.max(0,e.length-t))},d.rest=d.tail=d.drop=function(e,t,n){return o.call(e,t==null||n?1:t)},d.compact=function(e){return d.filter(e,d.identity)};var N=function(e,t,n,r){var i=[],s=0;for(var o=r||0,u=E(e);o<u;o++){var a=e[o];if(S(a)&&(d.isArray(a)||d.isArguments(a))){t||(a=N(a,t,n));var f=0,l=a.length;i.length+=l;while(f<l)i[s++]=a[f++]}else n||(i[s++]=a)}return i};d.flatten=function(e,t){return N(e,t,!1)},d.without=function(e){return d.difference(e,o.call(arguments,1))},d.uniq=d.unique=function(e,t,n,r){d.isBoolean(t)||(r=n,n=t,t=!1),n!=null&&(n=m(n,r));var i=[],s=[];for(var o=0,u=E(e);o<u;o++){var a=e[o],f=n?n(a,o,e):a;t?((!o||s!==f)&&i.push(a),s=f):n?d.contains(s,f)||(s.push(f),i.push(a)):d.contains(i,a)||i.push(a)}return i},d.union=function(){return d.uniq(N(arguments,!0,!0))},d.intersection=function(e){var t=[],n=arguments.length;for(var r=0,i=E(e);r<i;r++){var s=e[r];if(d.contains(t,s))continue;for(var o=1;o<n;o++)if(!d.contains(arguments[o],s))break;o===n&&t.push(s)}return t},d.difference=function(e){var t=N(arguments,!0,!0,1);return d.filter(e,function(e){return!d.contains(t,e)})},d.zip=function(){return d.unzip(arguments)},d.unzip=function(e){var t=e&&d.max(e,E).length||0,n=Array(t);for(var r=0;r<t;r++)n[r]=d.pluck(e,r);return n},d.object=function(e,t){var n={};for(var r=0,i=E(e);r<i;r++)t?n[e[r]]=t[r]:n[e[r][0]]=e[r][1];return n},d.findIndex=C(1),d.findLastIndex=C(-1),d.sortedIndex=function(e,t,n,r){n=m(n,r,1);var i=n(t),s=0,o=E(e);while(s<o){var u=Math.floor((s+o)/2);n(e[u])<i?s=u+1:o=u}return s},d.indexOf=k(1,d.findIndex,d.sortedIndex),d.lastIndexOf=k(-1,d.findLastIndex),d.range=function(e,t,n){t==null&&(t=e||0,e=0),n=n||1;var r=Math.max(Math.ceil((t-e)/n),0),i=Array(r);for(var s=0;s<r;s++,e+=n)i[s]=e;return i};var L=function(e,t,n,r,i){if(r instanceof t){var s=y(e.prototype),o=e.apply(s,i);return d.isObject(o)?o:s}return e.apply(n,i)};d.bind=function(e,t){if(c&&e.bind===c)return c.apply(e,o.call(arguments,1));if(!d.isFunction(e))throw new TypeError("Bind must be called on a function");var n=o.call(arguments,2),r=function(){return L(e,r,t,this,n.concat(o.call(arguments)))};return r},d.partial=function(e){var t=o.call(arguments,1),n=function(){var r=0,i=t.length,s=Array(i);for(var o=0;o<i;o++)s[o]=t[o]===d?arguments[r++]:t[o];while(r<arguments.length)s.push(arguments[r++]);return L(e,n,this,this,s)};return n},d.bindAll=function(e){var t,n=arguments.length,r;if(n<=1)throw new Error("bindAll must be passed function names");for(t=1;t<n;t++)r=arguments[t],e[r]=d.bind(e[r],e);return e},d.memoize=function(e,t){var n=function(r){var i=n.cache,s=""+(t?t.apply(this,arguments):r);return d.has(i,s)||(i[s]=e.apply(this,arguments)),i[s]};return n.cache={},n},d.delay=function(e,t){var n=o.call(arguments,2);return setTimeout(function(){return e.apply(null,n)},t)},d.defer=d.partial(d.delay,d,1),d.throttle=function(e,t,n){var r,i,s,o=null,u=0;n||(n={});var a=function(){u=n.leading===!1?0:d.now(),o=null,s=e.apply(r,i),o||(r=i=null)};return function(){var f=d.now();!u&&n.leading===!1&&(u=f);var l=t-(f-u);return r=this,i=arguments,l<=0||l>t?(o&&(clearTimeout(o),o=null),u=f,s=e.apply(r,i),o||(r=i=null)):!o&&n.trailing!==!1&&(o=setTimeout(a,l)),s}},d.debounce=function(e,t,n){var r,i,s,o,u,a=function(){var f=d.now()-o;f<t&&f>=0?r=setTimeout(a,t-f):(r=null,n||(u=e.apply(s,i),r||(s=i=null)))};return function(){s=this,i=arguments,o=d.now();var f=n&&!r;return r||(r=setTimeout(a,t)),f&&(u=e.apply(s,i),s=i=null),u}},d.wrap=function(e,t){return d.partial(t,e)},d.negate=function(e){return function(){return!e.apply(this,arguments)}},d.compose=function(){var e=arguments,t=e.length-1;return function(){var n=t,r=e[t].apply(this,arguments);while(n--)r=e[n].call(this,r);return r}},d.after=function(e,t){return function(){if(--e<1)return t.apply(this,arguments)}},d.before=function(e,t){var n;return function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=null),n}},d.once=d.partial(d.before,2);var A=!{toString:null}.propertyIsEnumerable("toString"),O=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];d.keys=function(e){if(!d.isObject(e))return[];if(l)return l(e);var t=[];for(var n in e)d.has(e,n)&&t.push(n);return A&&M(e,t),t},d.allKeys=function(e){if(!d.isObject(e))return[];var t=[];for(var n in e)t.push(n);return A&&M(e,t),t},d.values=function(e){var t=d.keys(e),n=t.length,r=Array(n);for(var i=0;i<n;i++)r[i]=e[t[i]];return r},d.mapObject=function(e,t,n){t=m(t,n);var r=d.keys(e),i=r.length,s={},o;for(var u=0;u<i;u++)o=r[u],s[o]=t(e[o],o,e);return s},d.pairs=function(e){var t=d.keys(e),n=t.length,r=Array(n);for(var i=0;i<n;i++)r[i]=[t[i],e[t[i]]];return r},d.invert=function(e){var t={},n=d.keys(e);for(var r=0,i=n.length;r<i;r++)t[e[n[r]]]=n[r];return t},d.functions=d.methods=function(e){var t=[];for(var n in e)d.isFunction(e[n])&&t.push(n);return t.sort()},d.extend=g(d.allKeys),d.extendOwn=d.assign=g(d.keys),d.findKey=function(e,t,n){t=m(t,n);var r=d.keys(e),i;for(var s=0,o=r.length;s<o;s++){i=r[s];if(t(e[i],i,e))return i}},d.pick=function(e,t,n){var r={},i=e,s,o;if(i==null)return r;d.isFunction(t)?(o=d.allKeys(i),s=v(t,n)):(o=N(arguments,!1,!1,1),s=function(e,t,n){return t in n},i=Object(i));for(var u=0,a=o.length;u<a;u++){var f=o[u],l=i[f];s(l,f,i)&&(r[f]=l)}return r},d.omit=function(e,t,n){if(d.isFunction(t))t=d.negate(t);else{var r=d.map(N(arguments,!1,!1,1),String);t=function(e,t){return!d.contains(r,t)}}return d.pick(e,t,n)},d.defaults=g(d.allKeys,!0),d.create=function(e,t){var n=y(e);return t&&d.extendOwn(n,t),n},d.clone=function(e){return d.isObject(e)?d.isArray(e)?e.slice():d.extend({},e):e},d.tap=function(e,t){return t(e),e},d.isMatch=function(e,t){var n=d.keys(t),r=n.length;if(e==null)return!r;var i=Object(e);for(var s=0;s<r;s++){var o=n[s];if(t[o]!==i[o]||!(o in i))return!1}return!0};var _=function(e,t,n,r){if(e===t)return e!==0||1/e===1/t;if(e==null||t==null)return e===t;e instanceof d&&(e=e._wrapped),t instanceof d&&(t=t._wrapped);var i=u.call(e);if(i!==u.call(t))return!1;switch(i){case"[object RegExp]":case"[object String]":return""+e==""+t;case"[object Number]":if(+e!==+e)return+t!==+t;return+e===0?1/+e===1/t:+e===+t;case"[object Date]":case"[object Boolean]":return+e===+t}var s=i==="[object Array]";if(!s){if(typeof e!="object"||typeof t!="object")return!1;var o=e.constructor,a=t.constructor;if(o!==a&&!(d.isFunction(o)&&o instanceof o&&d.isFunction(a)&&a instanceof a)&&"constructor"in e&&"constructor"in t)return!1}n=n||[],r=r||[];var f=n.length;while(f--)if(n[f]===e)return r[f]===t;n.push(e),r.push(t);if(s){f=e.length;if(f!==t.length)return!1;while(f--)if(!_(e[f],t[f],n,r))return!1}else{var l=d.keys(e),c;f=l.length;if(d.keys(t).length!==f)return!1;while(f--){c=l[f];if(!d.has(t,c)||!_(e[c],t[c],n,r))return!1}}return n.pop(),r.pop(),!0};d.isEqual=function(e,t){return _(e,t)},d.isEmpty=function(e){return e==null?!0:S(e)&&(d.isArray(e)||d.isString(e)||d.isArguments(e))?e.length===0:d.keys(e).length===0},d.isElement=function(e){return!!e&&e.nodeType===1},d.isArray=f||function(e){return u.call(e)==="[object Array]"},d.isObject=function(e){var t=typeof e;return t==="function"||t==="object"&&!!e},d.each(["Arguments","Function","String","Number","Date","RegExp","Error"],function(e){d["is"+e]=function(t){return u.call(t)==="[object "+e+"]"}}),d.isArguments(arguments)||(d.isArguments=function(e){return d.has(e,"callee")}),typeof /./!="function"&&typeof Int8Array!="object"&&(d.isFunction=function(e){return typeof e=="function"||!1}),d.isFinite=function(e){return isFinite(e)&&!isNaN(parseFloat(e))},d.isNaN=function(e){return d.isNumber(e)&&e!==+e},d.isBoolean=function(e){return e===!0||e===!1||u.call(e)==="[object Boolean]"},d.isNull=function(e){return e===null},d.isUndefined=function(e){return e===void 0},d.has=function(e,t){return e!=null&&a.call(e,t)},d.noConflict=function(){return e._=t,this},d.identity=function(e){return e},d.constant=function(e){return function(){return e}},d.noop=function(){},d.property=b,d.propertyOf=function(e){return e==null?function(){}:function(t){return e[t]}},d.matcher=d.matches=function(e){return e=d.extendOwn({},e),function(t){return d.isMatch(t,e)}},d.times=function(e,t,n){var r=Array(Math.max(0,e));t=v(t,n,1);for(var i=0;i<e;i++)r[i]=t(i);return r},d.random=function(e,t){return t==null&&(t=e,e=0),e+Math.floor(Math.random()*(t-e+1))},d.now=Date.now||function(){return(new Date).getTime()};var D={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},P=d.invert(D),H=function(e){var t=function(t){return e[t]},n="(?:"+d.keys(e).join("|")+")",r=RegExp(n),i=RegExp(n,"g");return function(e){return e=e==null?"":""+e,r.test(e)?e.replace(i,t):e}};d.escape=H(D),d.unescape=H(P),d.result=function(e,t,n){var r=e==null?void 0:e[t];return r===void 0&&(r=n),d.isFunction(r)?r.call(e):r};var B=0;d.uniqueId=function(e){var t=++B+"";return e?e+t:t},d.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var j=/(.)^/,F={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},I=/\\|'|\r|\n|\u2028|\u2029/g,q=function(e){return"\\"+F[e]};d.template=function(e,t,n){!t&&n&&(t=n),t=d.defaults({},t,d.templateSettings);var r=RegExp([(t.escape||j).source,(t.interpolate||j).source,(t.evaluate||j).source].join("|")+"|$","g"),i=0,s="__p+='";e.replace(r,function(t,n,r,o,u){return s+=e.slice(i,u).replace(I,q),i=u+t.length,n?s+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":r?s+="'+\n((__t=("+r+"))==null?'':__t)+\n'":o&&(s+="';\n"+o+"\n__p+='"),t}),s+="';\n",t.variable||(s="with(obj||{}){\n"+s+"}\n"),s="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+s+"return __p;\n";try{var o=new Function(t.variable||"obj","_",s)}catch(u){throw u.source=s,u}var a=function(e){return o.call(this,e,d)},f=t.variable||"obj";return a.source="function("+f+"){\n"+s+"}",a},d.chain=function(e){var t=d(e);return t._chain=!0,t};var R=function(e,t){return e._chain?d(t).chain():t};d.mixin=function(e){d.each(d.functions(e),function(t){var n=d[t]=e[t];d.prototype[t]=function(){var e=[this._wrapped];return s.apply(e,arguments),R(this,n.apply(d,e))}})},d.mixin(d),d.each(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var t=n[e];d.prototype[e]=function(){var n=this._wrapped;return t.apply(n,arguments),(e==="shift"||e==="splice")&&n.length===0&&delete n[0],R(this,n)}}),d.each(["concat","join","slice"],function(e){var t=n[e];d.prototype[e]=function(){return R(this,t.apply(this._wrapped,arguments))}}),d.prototype.value=function(){return this._wrapped},d.prototype.valueOf=d.prototype.toJSON=d.prototype.value,d.prototype.toString=function(){return""+this._wrapped},typeof define=="function"&&define.amd&&define("underscore",[],function(){return d})}.call(this),String.prototype.endsWith||(String.prototype.endsWith=function(e,t){var n=this.toString();if(t===undefined||t>n.length)t=n.length;t-=e.length;var r=n.indexOf(e,t);return r!==-1&&r===t}),String.prototype.splitOnce=function(e){var t=this.split(e);return[t.shift(),t.join(e)]},String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}),define("polyfill",function(){}),define("text",["module"],function(e){"use strict";var t,n,r,i,s,o=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"],u=/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,a=/<body[^>]*>\s*([\s\S]+)\s*<\/body>/im,f=typeof location!="undefined"&&location.href,l=f&&location.protocol&&location.protocol.replace(/\:/,""),c=f&&location.hostname,h=f&&(location.port||undefined),p={},d=e.config&&e.config()||{};t={version:"2.0.14",strip:function(e){if(e){e=e.replace(u,"");var t=e.match(a);t&&(e=t[1])}else e="";return e},jsEscape:function(e){return e.replace(/(['\\])/g,"\\$1").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r").replace(/[\u2028]/g,"\\u2028").replace(/[\u2029]/g,"\\u2029")},createXhr:d.createXhr||function(){var e,t,n;if(typeof XMLHttpRequest!="undefined")return new XMLHttpRequest;if(typeof ActiveXObject!="undefined")for(t=0;t<3;t+=1){n=o[t];try{e=new ActiveXObject(n)}catch(r){}if(e){o=[n];break}}return e},parseName:function(e){var t,n,r,i=!1,s=e.lastIndexOf("."),o=e.indexOf("./")===0||e.indexOf("../")===0;return s!==-1&&(!o||s>1)?(t=e.substring(0,s),n=e.substring(s+1)):t=e,r=n||t,s=r.indexOf("!"),s!==-1&&(i=r.substring(s+1)==="strip",r=r.substring(0,s),n?n=r:t=r),{moduleName:t,ext:n,strip:i}},xdRegExp:/^((\w+)\:)?\/\/([^\/\\]+)/,useXhr:function(e,n,r,i){var s,o,u,a=t.xdRegExp.exec(e);return a?(s=a[2],o=a[3],o=o.split(":"),u=o[1],o=o[0],(!s||s===n)&&(!o||o.toLowerCase()===r.toLowerCase())&&(!u&&!o||u===i)):!0},finishLoad:function(e,n,r,i){r=n?t.strip(r):r,d.isBuild&&(p[e]=r),i(r)},load:function(e,n,r,i){if(i&&i.isBuild&&!i.inlineText){r();return}d.isBuild=i&&i.isBuild;var s=t.parseName(e),o=s.moduleName+(s.ext?"."+s.ext:""),u=n.toUrl(o),a=d.useXhr||t.useXhr;if(u.indexOf("empty:")===0){r();return}!f||a(u,l,c,h)?t.get(u,function(n){t.finishLoad(e,s.strip,n,r)},function(e){r.error&&r.error(e)}):n([o],function(e){t.finishLoad(s.moduleName+"."+s.ext,s.strip,e,r)})},write:function(e,n,r,i){if(p.hasOwnProperty(n)){var s=t.jsEscape(p[n]);r.asModule(e+"!"+n,"define(function () { return '"+s+"';});\n")}},writeFile:function(e,n,r,i,s){var o=t.parseName(n),u=o.ext?"."+o.ext:"",a=o.moduleName+u,f=r.toUrl(o.moduleName+u)+".js";t.load(a,r,function(n){var r=function(e){return i(f,e)};r.asModule=function(e,t){return i.asModule(e,f,t)},t.write(e,a,r,s)},s)}};if(d.env==="node"||!d.env&&typeof process!="undefined"&&process.versions&&!!process.versions.node&&!process.versions["node-webkit"]&&!process.versions["atom-shell"])n=require.nodeRequire("fs"),t.get=function(e,t,r){try{var i=n.readFileSync(e,"utf8");i[0]===""&&(i=i.substring(1)),t(i)}catch(s){r&&r(s)}};else if(d.env==="xhr"||!d.env&&t.createXhr())t.get=function(e,n,r,i){var s=t.createXhr(),o;s.open("GET",e,!0);if(i)for(o in i)i.hasOwnProperty(o)&&s.setRequestHeader(o.toLowerCase(),i[o]);d.onXhr&&d.onXhr(s,e),s.onreadystatechange=function(t){var i,o;s.readyState===4&&(i=s.status||0,i>399&&i<600?(o=new Error(e+" HTTP status: "+i),o.xhr=s,r&&r(o)):n(s.responseText),d.onXhrComplete&&d.onXhrComplete(s,e))},s.send(null)};else if(d.env==="rhino"||!d.env&&typeof Packages!="undefined"&&typeof java!="undefined")t.get=function(e,t){var n,r,i="utf-8",s=new java.io.File(e),o=java.lang.System.getProperty("line.separator"),u=new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(s),i)),a="";try{n=new java.lang.StringBuffer,r=u.readLine(),r&&r.length()&&r.charAt(0)===65279&&(r=r.substring(1)),r!==null&&n.append(r);while((r=u.readLine())!==null)n.append(o),n.append(r);a=String(n.toString())}finally{u.close()}t(a)};else if(d.env==="xpconnect"||!d.env&&typeof Components!="undefined"&&Components.classes&&Components.interfaces)r=Components.classes,i=Components.interfaces,Components.utils["import"]("resource://gre/modules/FileUtils.jsm"),s="@mozilla.org/windows-registry-key;1"in r,t.get=function(e,t){var n,o,u,a={};s&&(e=e.replace(/\//g,"\\")),u=new FileUtils.File(e);try{n=r["@mozilla.org/network/file-input-stream;1"].createInstance(i.nsIFileInputStream),n.init(u,1,0,!1),o=r["@mozilla.org/intl/converter-input-stream;1"].createInstance(i.nsIConverterInputStream),o.init(n,"utf-8",n.available(),i.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER),o.readString(n.available(),a),o.close(),n.close(),t(a.value)}catch(f){throw new Error((u&&u.path||"")+": "+f)}};return t}),define("tpl",["text","underscore"],function(e,t){"use strict";var n={},r="define('{pluginName}!{moduleName}', function () { return {source}; });\n";return{version:"0.0.2",load:function(r,i,s,o){o.tpl&&o.tpl.templateSettings&&(t.templateSettings=o.tpl.templateSettings);if(n[r])s(n[r]);else{var u=o.tpl&&o.tpl.extension||".html",a=o.tpl&&o.tpl.path||"";e.load(a+r+u,i,function(e){n[r]=t.template(e),s(n[r])},o)}},write:function(e,t,i){var s=n[t],o=s&&s.source;o&&i.asModule(e+"!"+t,r.replace("{pluginName}",e).replace("{moduleName}",t).replace("{source}",o))}}}),define("tpl!action",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<div class="chat-message '+((__t=extra_classes)==null?"":__t)+'" data-isodate="'+((__t=isodate)==null?"":__t)+'">\n    <span class="chat-msg-author chat-msg-'+((__t=sender)==null?"":__t)+'">'+((__t=time)==null?"":__t)+" **"+((__t=username)==null?"":__t)+' </span>\n    <span class="chat-msg-content">'+((__t=message)==null?"":__t)+"</span>\n</div>\n";return __p}}),define("tpl!add_contact_dropdown",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<dl class="add-converse-contact dropdown">\n    <dt id="xmpp-contact-search" class="fancy-dropdown">\n        <a class="toggle-xmpp-contact-form icon-plus" href="#" title="'+((__t=label_click_to_chat)==null?"":__t)+'"> '+((__t=label_add_contact)==null?"":__t)+'</a>\n    </dt>\n    <dd class="search-xmpp" style="display:none"><ul></ul></dd>\n</dl>\n';return __p}}),define("tpl!add_contact_form",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<li>\n    <form class="pure-form add-xmpp-contact">\n        <input type="text"\n            name="identifier"\n            class="username"\n            placeholder="'+((__t=label_contact_username)==null?"":__t)+'"/>\n        <button class="pure-button button-primary" type="submit">'+((__t=label_add)==null?"":__t)+"</button>\n    </form>\n</li>\n";return __p}}),define("tpl!change_status_message",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<form id="set-custom-xmpp-status" class="pure-form">\n<fieldset>\n    <span class="input-button-group">\n        <input type="text" class="custom-xmpp-status" '+((__t=status_message)==null?"":__t)+' placeholder="'+((__t=label_custom_status)==null?"":__t)+'"/>\n        <input type="submit" class="pure-button button-primary" value="'+((__t=label_save)==null?"":__t)+'"/>\n    </span>\n</fieldset>\n</form>\n';return __p}}),define("tpl!chat_status",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<div class="xmpp-status">\n    <a class="choose-xmpp-status '+((__t=chat_status)==null?"":__t)+" icon-"+((__t=chat_status)==null?"":__t)+'" data-value="'+((__t=status_message)==null?"":__t)+'" href="#" title="'+((__t=desc_change_status)==null?"":__t)+'">\n        '+((__t=status_message)==null?"":__t)+'\n    </a>\n    <a class="change-xmpp-status-message icon-pencil" href="#" title="'+((__t=desc_custom_status)==null?"":__t)+'"></a>\n</div>\n';return __p}}),define("tpl!chatarea",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<div class="chat-area">\n    <div class="chat-content"></div>\n    <form class="sendXMPPMessage" action="" method="post">\n        ',show_toolbar&&(__p+='\n            <ul class="chat-toolbar no-text-select"></ul>\n        '),__p+='\n        <textarea type="text" class="chat-textarea" \n            placeholder="'+((__t=label_message)==null?"":__t)+'"/>\n    </form>\n</div>\n';return __p}}),define("tpl!chatbox",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<div class="flyout box-flyout">\n    <div class="dragresize dragresize-top"></div>\n    <div class="dragresize dragresize-topleft"></div>\n    <div class="dragresize dragresize-left"></div>\n    <div class="chat-head chat-head-chatbox">\n        <a class="chatbox-btn close-chatbox-button icon-close" title="'+((__t=info_close)==null?"":__t)+'"></a>\n        <a class="chatbox-btn toggle-chatbox-button icon-minus" title="'+((__t=info_minimize)==null?"":__t)+'"></a>\n        <div class="chat-title">\n            ',url&&(__p+='\n                <a href="'+((__t=url)==null?"":__t)+'" target="_blank" class="user">\n            '),__p+="\n                    "+((__t=fullname)==null?"":__t)+"\n            ",url&&(__p+="\n                </a>\n            "),__p+='\n        </div>\n        <p class="user-custom-message"><p/>\n    </div>\n    <div class="chat-body">\n        <div class="chat-content"></div>\n        <form class="sendXMPPMessage" action="" method="post">\n            ',show_toolbar&&(__p+='\n                <ul class="chat-toolbar no-text-select"></ul>\n            '),__p+='\n        <textarea\n            type="text"\n            class="chat-textarea"\n            placeholder="'+((__t=label_personal_message)==null?"":__t)+'"/>\n        </form>\n    </div>\n</div>\n';return __p}}),define("tpl!chatroom",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<div class="flyout box-flyout">\n    <div class="dragresize dragresize-top"></div>\n    <div class="dragresize dragresize-topleft"></div>\n    <div class="dragresize dragresize-left"></div>\n    <div class="chat-head chat-head-chatroom">\n        <a class="chatbox-btn close-chatbox-button icon-close"></a>\n        <a class="chatbox-btn toggle-chatbox-button icon-minus"></a>\n        <a class="chatbox-btn configure-chatroom-button icon-wrench" style="display:none"></a>\n        <div class="chat-title"> '+((__t=_.escape(name))==null?"":__t)+' </div>\n        <p class="chatroom-topic"><p/>\n    </div>\n    <div class="chat-body chatroom-body"><span class="spinner centered"/></div>\n</div>\n';return __p}}),define("tpl!chatroom_form",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<div class="chatroom-form-container">\n    <form class="pure-form pure-form-stacked converse-form chatroom-form">\n        <fieldset>\n            <span class="spinner centered"/>\n        </fieldset>\n    </form>\n</div>\n';return __p}}),define("tpl!chatroom_password_form",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<div class="chatroom-form-container">\n    <form class="pure-form converse-form chatroom-form">\n        <fieldset>\n            <legend>'+((__t=heading)==null?"":__t)+"</legend>\n            <label>"+((__t=label_password)==null?"":__t)+'</label>\n            <input type="password" name="password"/>\n        </fieldset>\n        <fieldset>\n            <input class="pure-button button-primary" type="submit" value="'+((__t=label_submit)==null?"":__t)+'"/>\n        </fieldset>\n    </form>\n</div>\n';return __p}}),define("tpl!chatroom_sidebar",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<!-- <div class="occupants"> -->\n<form class="pure-form room-invite">\n    <input class="invited-contact" placeholder="'+((__t=label_invitation)==null?"":__t)+'" type="text"/>\n</form>\n<p class="occupants-heading">'+((__t=label_occupants)==null?"":__t)+':</p>\n<ul class="occupant-list"></ul>\n<!-- </div> -->\n';return __p}}),define("tpl!chatrooms_tab",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<li><a class="s" href="#chatrooms">'+((__t=label_rooms)==null?"":__t)+"</a></li>\n";return __p}}),define("tpl!chats_panel",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<div id="minimized-chats">\n    <a id="toggle-minimized-chats" href="#"></a>\n    <div class="flyout minimized-chats-flyout"></div>\n</div>\n';return __p}}),define("tpl!choose_status",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<dl id="target" class="dropdown">\n    <dt id="fancy-xmpp-status-select" class="fancy-dropdown"></dt>\n    <dd><ul class="xmpp-status-menu"></ul></dd>\n</dl>\n';return __p}}),define("tpl!contacts_panel",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<form class="pure-form set-xmpp-status" action="" method="post">\n    <span id="xmpp-status-holder">\n        <select id="select-xmpp-status" style="display:none">\n            <option value="online">'+((__t=label_online)==null?"":__t)+'</option>\n            <option value="dnd">'+((__t=label_busy)==null?"":__t)+'</option>\n            <option value="away">'+((__t=label_away)==null?"":__t)+'</option>\n            <option value="offline">'+((__t=label_offline)==null?"":__t)+"</option>\n            ",allow_logout&&(__p+='\n            <option value="logout">'+((__t=label_logout)==null?"":__t)+"</option>\n            "),__p+="\n        </select>\n    </span>\n</form>\n";return __p}}),define("tpl!contacts_tab",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<li><a class="s current" href="#users">'+((__t=label_contacts)==null?"":__t)+"</a></li>\n";return __p}}),define("tpl!controlbox",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<div class="flyout box-flyout">\n    <div class="dragresize dragresize-top"></div>\n    <div class="dragresize dragresize-topleft"></div>\n    <div class="dragresize dragresize-left"></div>\n    <div class="chat-head controlbox-head">\n        <ul id="controlbox-tabs"></ul>\n        <a class="chatbox-btn close-chatbox-button icon-close"></a>\n    </div>\n    <div class="controlbox-panes"></div>\n</div>\n';return __p}}),define("tpl!controlbox_toggle",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<span class="conn-feedback">'+((__t=label_toggle)==null?"":__t)+'</span>\n<span style="display: none" id="online-count">(0)</span>\n';return __p}}),define("tpl!field",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<field var="'+((__t=name)==null?"":__t)+'">',_.isArray(value)?(__p+="\n    ",_.each(value,function(e){__p+="<value>"+((__t=e)==null?"":__t)+"</value>"}),__p+="\n"):__p+="\n    <value>"+((__t=value)==null?"":__t)+"</value>\n",__p+="</field>\n";return __p}}),define("tpl!form_captcha",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+="",label&&(__p+="\n<label>\n    "+((__t=label)==null?"":__t)+"\n</label>\n"),__p+='\n<img src="data:'+((__t=type)==null?"":__t)+";base64,"+((__t=data)==null?"":__t)+'">\n<input name="'+((__t=name)==null?"":__t)+'" type="text" ',required&&(__p+=' class="required" '),__p+=" >\n\n\n";return __p}}),define("tpl!form_checkbox",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+="<label>"+((__t=label)==null?"":__t)+'</label>\n<input name="'+((__t=name)==null?"":__t)+'" type="'+((__t=type)==null?"":__t)+'" '+((__t=checked)==null?"":__t)+">\n";return __p}}),define("tpl!form_input",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+="",label&&(__p+="\n<label>\n    "+((__t=label)==null?"":__t)+"\n</label>\n"),__p+='\n<input name="'+((__t=name)==null?"":__t)+'" type="'+((__t=type)==null?"":__t)+'" \n    ',value&&(__p+=' value="'+((__t=value)==null?"":__t)+'" '),__p+="\n    ",required&&(__p+=' class="required" '),__p+=" >\n";return __p}}),define("tpl!form_select",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+="<label>"+((__t=label)==null?"":__t)+'</label>\n<select name="'+((__t=name)==null?"":__t)+'"  ',multiple&&(__p+=' multiple="multiple" '),__p+=">"+((__t=options)==null?"":__t)+"</select>\n";return __p}}),define("tpl!form_textarea",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<label class="label-ta">'+((__t=label)==null?"":__t)+'</label>\n<textarea name="'+((__t=name)==null?"":__t)+'">'+((__t=value)==null?"":__t)+"</textarea>\n";return __p}}),define("tpl!form_username",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+="",label&&(__p+="\n<label>\n    "+((__t=label)==null?"":__t)+"\n</label>\n"),__p+='\n<div class="input-group">\n    <input name="'+((__t=name)==null?"":__t)+'" type="'+((__t=type)==null?"":__t)+'"\n        ',value&&(__p+=' value="'+((__t=value)==null?"":__t)+'" '),__p+="\n        ",required&&(__p+=' class="required" '),__p+=' />\n    <span title="'+((__t=domain)==null?"":__t)+'">'+((__t=domain)==null?"":__t)+"</span>\n</div>\n";return __p}}),define("tpl!group_header",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<a href="#" class="group-toggle icon-'+((__t=toggle_state)==null?"":__t)+'" title="'+((__t=desc_group_toggle)==null?"":__t)+'">'+((__t=label_group)==null?"":__t)+"</a>\n";return __p}}),define("tpl!info",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<div class="chat-info">'+((__t=message)==null?"":__t)+"</div>\n";return __p}}),define("tpl!login_panel",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<form class="pure-form pure-form-stacked converse-form" id="converse-login" method="post">\n    ',auto_login&&(__p+='\n        <span class="spinner login-submit"/>\n    '),__p+="\n    ",auto_login||(__p+="\n        ",authentication==LOGIN&&(__p+="\n            <label>"+((__t=label_username)==null?"":__t)+'</label>\n            <input type="text" name="jid" placeholder="'+((__t=placeholder_username)==null?"":__t)+'">\n            <label>'+((__t=label_password)==null?"":__t)+'</label>\n            <input type="password" name="password" placeholder="'+((__t=placeholder_password)==null?"":__t)+'">\n            <input class="pure-button button-primary" type="submit" value="'+((__t=label_login)==null?"":__t)+'">\n            <span class="conn-feedback"></span>\n        '),__p+="\n        ",authentication==ANONYMOUS&&(__p+='\n            <input type="pure-button button-primary" class="submit login-anon" value="'+((__t=label_anon_login)==null?"":__t)+'"/>\n        '),__p+="\n        ",authentication==PREBIND&&(__p+="\n            <p>Disconnected.</p>\n        "),__p+="\n    "),__p+="\n</form>\n";return __p}}),define("tpl!login_tab",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<li><a class="current" href="#login-dialog">'+((__t=label_sign_in)==null?"":__t)+"</a></li>\n";return __p}}),define("tpl!message",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<div class="chat-message '+((__t=extra_classes)==null?"":__t)+'" data-isodate="'+((__t=isodate)==null?"":__t)+'" data-msgid="'+((__t=msgid)==null?"":__t)+'">\n    <span class="chat-msg-author chat-msg-'+((__t=sender)==null?"":__t)+'">'+((__t=time)==null?"":__t)+" "+((__t=username)==null?"":__t)+':&nbsp;</span>\n    <span class="chat-msg-content">'+((__t=message)==null?"":__t)+"</span>\n</div>\n";return __p}}),define("tpl!new_day",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<time class="chat-info chat-date" data-isodate="'+((__t=isodate)==null?"":__t)+'">'+((__t=datestring)==null?"":__t)+"</time>\n";return __p}}),define("tpl!occupant",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<li class="'+((__t=role)==null?"":__t)+'"\n    ',role==="moderator"&&(__p+='\n       title="'+((__t=desc_moderator)==null?"":__t)+'"\n    '),__p+="\n    ",role==="occupant"&&(__p+='\n       title="'+((__t=desc_occupant)==null?"":__t)+'"\n    '),__p+="\n    ",role==="visitor"&&(__p+='\n       title="'+((__t=desc_visitor)==null?"":__t)+'"\n    '),__p+="\n>"+((__t=nick)==null?"":__t)+"</li>\n";return __p}}),define("tpl!pending_contact",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+="",allow_chat_pending_contacts&&(__p+='\n<a class="open-chat"href="#">\n'),__p+='\n<span class="pending-contact-name" title="Name: '+((__t=fullname)==null?"":__t)+"\nJID: "+((__t=jid)==null?"":__t)+'">'+((__t=fullname)==null?"":__t)+"</span> \n",allow_chat_pending_contacts&&(__p+="\n</a>\n"),__p+='\n<a class="remove-xmpp-contact icon-remove" title="'+((__t=desc_remove)==null?"":__t)+'" href="#"></a>\n';return __p}}),define("tpl!pending_contacts",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<dt class="roster-group" id="pending-xmpp-contacts"><a href="#" class="group-toggle icon-'+((__t=toggle_state)==null?"":__t)+'" title="'+((__t=desc_group_toggle)==null?"":__t)+'">'+((__t=label_pending_contacts)==null?"":__t)+"</a></dt>\n";return __p}}),define("tpl!register_panel",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<form id="converse-register" class="pure-form converse-form">\n    <span class="reg-feedback"></span>\n    <label>'+((__t=label_domain)==null?"":__t)+'</label>\n    <input type="text" name="domain" placeholder="'+((__t=domain_placeholder)==null?"":__t)+'">\n    <p class="form-help">'+((__t=help_providers)==null?"":__t)+' <a href="'+((__t=href_providers)==null?"":__t)+'" class="url" target="_blank">'+((__t=help_providers_link)==null?"":__t)+'</a>.</p>\n    <input class="pure-button button-primary" type="submit" value="'+((__t=label_register)==null?"":__t)+'">\n</form>\n';return __p}}),define("tpl!register_tab",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<li><a class="s" href="#register">'+((__t=label_register)==null?"":__t)+"</a></li>\n";return __p}}),define("tpl!registration_form",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<p class="provider-title">'+((__t=domain)==null?"":__t)+"</p>\n<a href='https://xmpp.net/result.php?domain="+((__t=domain)==null?"":__t)+"&amp;type=client'>\n    <img class=\"provider-score\" src='https://xmpp.net/badge.php?domain="+((__t=domain)==null?"":__t)+"' alt='xmpp.net score' />\n</a>\n<p class=\"title\">"+((__t=title)==null?"":__t)+'</p>\n<p class="instructions">'+((__t=instructions)==null?"":__t)+"</p>\n";return __p}}),define("tpl!registration_request",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<span class="spinner login-submit"/>\n<p class="info">'+((__t=info_message)==null?"":__t)+'</p>\n<button class="pure-button button-cancel hor_centered">'+((__t=cancel)==null?"":__t)+"</button>\n";return __p}}),define("tpl!requesting_contact",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+="",allow_chat_pending_contacts&&(__p+='\n<a class="open-chat"href="#">\n'),__p+='\n<span class="req-contact-name" title="Name: '+((__t=fullname)==null?"":__t)+"\nJID: "+((__t=jid)==null?"":__t)+'">'+((__t=fullname)==null?"":__t)+"</span>\n",allow_chat_pending_contacts&&(__p+="\n</a>\n"),__p+='\n<span class="request-actions">\n    <a class="accept-xmpp-request icon-checkmark" title="'+((__t=desc_accept)==null?"":__t)+'" href="#"></a>\n    <a class="decline-xmpp-request icon-close" title="'+((__t=desc_decline)==null?"":__t)+'" href="#"></a>\n</span>\n';return __p}}),define("tpl!requesting_contacts",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<dt class="roster-group" id="xmpp-contact-requests"><a href="#" class="group-toggle icon-'+((__t=toggle_state)==null?"":__t)+'" title="'+((__t=desc_group_toggle)==null?"":__t)+'">'+((__t=label_contact_requests)==null?"":__t)+"</a></dt>\n";return __p}}),define("tpl!room_description",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<!-- FIXME: check markup in mockup -->\n<div class="room-info">\n<p class="room-info"><strong>'+((__t=label_desc)==null?"":__t)+"</strong> "+((__t=desc)==null?"":__t)+'</p>\n<p class="room-info"><strong>'+((__t=label_occ)==null?"":__t)+"</strong> "+((__t=occ)==null?"":__t)+'</p>\n<p class="room-info"><strong>'+((__t=label_features)==null?"":__t)+"</strong>\n    <ul>\n        ",passwordprotected&&(__p+='\n        <li class="room-info locked">'+((__t=label_requires_auth)==null?"":__t)+"</li>\n        "),__p+="\n        ",hidden&&(__p+='\n        <li class="room-info">'+((__t=label_hidden)==null?"":__t)+"</li>\n        "),__p+="\n        ",membersonly&&(__p+='\n        <li class="room-info">'+((__t=label_requires_invite)==null?"":__t)+"</li>\n        "),__p+="\n        ",moderated&&(__p+='\n        <li class="room-info">'+((__t=label_moderated)==null?"":__t)+"</li>\n        "),__p+="\n        ",nonanonymous&&(__p+='\n        <li class="room-info">'+((__t=label_non_anon)==null?"":__t)+"</li>\n        "),__p+="\n        ",open&&(__p+='\n        <li class="room-info">'+((__t=label_open_room)==null?"":__t)+"</li>\n        "),__p+="\n        ",persistent&&(__p+='\n        <li class="room-info">'+((__t=label_permanent_room)==null?"":__t)+"</li>\n        "),__p+="\n        ",publicroom&&(__p+='\n        <li class="room-info">'+((__t=label_public)==null?"":__t)+"</li>\n        "),__p+="\n        ",semianonymous&&(__p+='\n        <li class="room-info">'+((__t=label_semi_anon)==null?"":__t)+"</li>\n        "),__p+="\n        ",temporary&&(__p+='\n        <li class="room-info">'+((__t=label_temp_room)==null?"":__t)+"</li>\n        "),__p+="\n        ",unmoderated&&(__p+='\n        <li class="room-info">'+((__t=label_unmoderated)==null?"":__t)+"</li>\n        "),__p+="\n    </ul>\n</p>\n</div>\n";return __p}}),define("tpl!room_item",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<dd class="available-chatroom">\n<a class="open-room" data-room-jid="'+((__t=jid)==null?"":__t)+'"\n   title="'+((__t=open_title)==null?"":__t)+'" href="#">'+((__t=_.escape(name))==null?"":__t)+'</a>\n<a class="room-info icon-room-info" data-room-jid="'+((__t=jid)==null?"":__t)+'"\n   title="'+((__t=info_title)==null?"":__t)+'" href="#">&nbsp;</a>\n</dd>\n';return __p}}),define("tpl!room_panel",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<form class="pure-form pure-form-stacked converse-form add-chatroom" action="" method="post">\n    <fieldset>\n        <label>'+((__t=label_room_name)==null?"":__t)+'</label>\n        <input type="text" name="chatroom" class="new-chatroom-name" placeholder="'+((__t=label_room_name)==null?"":__t)+'"/>\n        <label>'+((__t=label_nickname)==null?"":__t)+'</label> <input type="text" name="nick" class="new-chatroom-nick" placeholder="'+((__t=label_nickname)==null?"":__t)+'"/>\n        <input type="submit" class="pure-button button-primary" name="join" value="'+((__t=label_join)==null?"":__t)+'"/>\n    </fieldset>\n    <fieldset>\n        ',server_input_type!="hidden"&&(__p+="\n            <label"+((__t=server_label_global_attr)==null?"":__t)+">"+((__t=label_server)==null?"":__t)+"</label>\n        "),__p+='\n        <input type="'+((__t=server_input_type)==null?"":__t)+'" name="server" class="new-chatroom-server" placeholder="'+((__t=label_server)==null?"":__t)+'"/>\n        <input type="button" class="pure-button button-secondary" name="show" id="show-rooms" value="'+((__t=label_show_rooms)==null?"":__t)+'"/>\n    </fieldset>\n</form>\n<dl id="available-chatrooms"></dl>\n';return __p}}),define("tpl!roster",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<form class="pure-form roster-filter-group input-button-group">\n    <input style="display: none;" class="roster-filter" placeholder="'+((__t=placeholder)==null?"":__t)+'">\n    <select style="display: none;" class="filter-type">\n        <option value="contacts">'+((__t=label_contacts)==null?"":__t)+'</option>\n        <option value="groups">'+((__t=label_groups)==null?"":__t)+"</option>\n    </select>\n</form>\n";return __p}}),define("tpl!roster_item",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<a class="open-chat" title="'+((__t=title_fullname)==null?"":__t)+": "+((__t=fullname)==null?"":__t)+"\nJID: "+((__t=jid)==null?"":__t)+"\n"+((__t=desc_chat)==null?"":__t)+'" href="#"><span class="icon-'+((__t=chat_status)==null?"":__t)+'" title="'+((__t=desc_status)==null?"":__t)+'"></span>'+((__t=fullname)==null?"":__t)+"</a>\n",allow_contact_removal&&(__p+='\n<a class="remove-xmpp-contact icon-remove" title="'+((__t=desc_remove)==null?"":__t)+'" href="#"></a>\n'),__p+="\n";return __p}}),define("tpl!search_contact",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<li>\n    <form class="search-xmpp-contact">\n        <input type="text"\n            name="identifier"\n            class="username"\n            placeholder="'+((__t=label_contact_name)==null?"":__t)+'"/>\n        <button type="submit">'+((__t=label_search)==null?"":__t)+"</button>\n    </form>\n</li>\n";return __p}}),define("tpl!select_option",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<option value="'+((__t=value)==null?"":__t)+'" ',selected&&(__p+=' selected="selected" '),__p+=" >"+((__t=label)==null?"":__t)+"</option>\n";return __p}}),define("tpl!status_option",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<li>\n    <a href="#" class="'+((__t=value)==null?"":__t)+'" data-value="'+((__t=value)==null?"":__t)+'">\n        <span class="icon-'+((__t=value)==null?"":__t)+'"></span>\n        '+((__t=text)==null?"":__t)+"\n    </a>\n</li>\n";return __p}}),define("tpl!toggle_chats",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+=""+((__t=Minimized)==null?"":__t)+' <span id="minimized-count">('+((__t=num_minimized)==null?"":__t)+')</span>\n<span class="unread-message-count"\n    ',num_unread||(__p+=' style="display: none" '),__p+='\n    href="#">'+((__t=num_unread)==null?"":__t)+"</span>\n";return __p}}),define("tpl!toolbar",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+="",show_emoticons&&(__p+='\n    <li class="toggle-smiley icon-happy" title="'+((__t=label_insert_smiley)==null?"":__t)+'">\n        <ul>\n            <li><a class="icon-smiley" href="#" data-emoticon=":)"></a></li>\n            <li><a class="icon-wink" href="#" data-emoticon=";)"></a></li>\n            <li><a class="icon-grin" href="#" data-emoticon=":D"></a></li>\n            <li><a class="icon-tongue" href="#" data-emoticon=":P"></a></li>\n            <li><a class="icon-cool" href="#" data-emoticon="8)"></a></li>\n            <li><a class="icon-evil" href="#" data-emoticon=">:)"></a></li>\n            <li><a class="icon-confused" href="#" data-emoticon=":S"></a></li>\n            <li><a class="icon-wondering" href="#" data-emoticon=":\\"></a></li>\n            <li><a class="icon-angry" href="#" data-emoticon=">:("></a></li>\n            <li><a class="icon-sad" href="#" data-emoticon=":("></a></li>\n            <li><a class="icon-shocked" href="#" data-emoticon=":O"></a></li>\n            <li><a class="icon-thumbs-up" href="#" data-emoticon="(^.^)b"></a></li>\n            <li><a class="icon-heart" href="#" data-emoticon="<3"></a></li>\n        </ul>\n    </li>\n'),__p+="\n",show_call_button&&(__p+='\n<li class="toggle-call"><a class="icon-phone" title="'+((__t=label_start_call)==null?"":__t)+'"></a></li>\n'),__p+="\n",show_occupants_toggle&&(__p+='\n<li class="toggle-occupants"><a class="icon-hide-users" title="'+((__t=label_hide_occupants)==null?"":__t)+'"></a></li>\n'),__p+="\n",show_clear_button&&(__p+='\n<li class="toggle-clear"><a class="icon-remove" title="'+((__t=label_clear)==null?"":__t)+'"></a></li>\n'),__p+="\n",allow_otr&&(__p+='\n    <li class="toggle-otr '+((__t=otr_status_class)==null?"":__t)+'" title="'+((__t=otr_tooltip)==null?"":__t)+'">\n        <span class="chat-toolbar-text">'+((__t=otr_translated_status)==null?"":__t)+"</span>\n        ",otr_status==UNENCRYPTED&&(__p+='\n            <span class="icon-unlocked"></span>\n        '),__p+="\n        ",otr_status==UNVERIFIED&&(__p+='\n            <span class="icon-lock"></span>\n        '),__p+="\n        ",otr_status==VERIFIED&&(__p+='\n            <span class="icon-lock"></span>\n        '),__p+="\n        ",otr_status==FINISHED&&(__p+='\n            <span class="icon-unlocked"></span>\n        '),__p+="\n        <ul>\n            ",otr_status==UNENCRYPTED&&(__p+='\n               <li><a class="start-otr" href="#">'+((__t=label_start_encrypted_conversation)==null?"":__t)+"</a></li>\n            "),__p+="\n            ",otr_status!=UNENCRYPTED&&(__p+='\n               <li><a class="start-otr" href="#">'+((__t=label_refresh_encrypted_conversation)==null?"":__t)+'</a></li>\n               <li><a class="end-otr" href="#">'+((__t=label_end_encrypted_conversation)==null?"":__t)+'</a></li>\n               <li><a class="auth-otr" data-scheme="smp" href="#">'+((__t=label_verify_with_smp)==null?"":__t)+"</a></li>\n            "),__p+="\n            ",otr_status==UNVERIFIED&&(__p+='\n               <li><a class="auth-otr" data-scheme="fingerprint" href="#">'+((__t=label_verify_with_fingerprints)==null?"":__t)+"</a></li>\n            "),__p+='\n            <li><a href="http://www.cypherpunks.ca/otr/help/3.2.0/levels.php" target="_blank">'+((__t=label_whats_this)==null?"":__t)+"</a></li>\n        </ul>\n    </li>\n"),__p+="\n";return __p}}),define("tpl!trimmed_chat",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<a class="chatbox-btn close-chatbox-button icon-close"></a>\n<a class="chat-head-message-count" \n    ',num_unread||(__p+=' style="display: none" '),__p+='\n    href="#">'+((__t=num_unread)==null?"":__t)+'</a>\n<a href="#" class="restore-chat" title="'+((__t=tooltip)==null?"":__t)+'">\n    '+((__t=title)==null?"":__t)+"\n</a>\n";return __p}}),define("tpl!vcard",[],function(){return function(obj){var __t,__p="",__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,"")};with(obj||{})__p+='<form class="pure-form converse-form vcard-info">\n    <fieldset>\n        <legend>The VCard info gets rendered here</legend>\n        <label>Full name:</label>\n        '+((__t=fullname)==null?"":__t)+"\n        <label>URL:</label>\n        "+((__t=url)==null?"":__t)+'\n    </fieldset>\n    <fieldset>\n        <input type="button" class="pure-button button-cancel" value="'+((__t=label_return)==null?"":__t)+'"/>\n    </fieldset>\n</form>\n';return __p}}),define("converse-templates",["tpl!action","tpl!add_contact_dropdown","tpl!add_contact_form","tpl!change_status_message","tpl!chat_status","tpl!chatarea","tpl!chatbox","tpl!chatroom","tpl!chatroom_form","tpl!chatroom_password_form","tpl!chatroom_sidebar","tpl!chatrooms_tab","tpl!chats_panel","tpl!choose_status","tpl!contacts_panel","tpl!contacts_tab","tpl!controlbox","tpl!controlbox_toggle","tpl!field","tpl!form_captcha","tpl!form_checkbox","tpl!form_input","tpl!form_select","tpl!form_textarea","tpl!form_username","tpl!group_header","tpl!info","tpl!login_panel","tpl!login_tab","tpl!message","tpl!new_day","tpl!occupant","tpl!pending_contact","tpl!pending_contacts","tpl!register_panel","tpl!register_tab","tpl!registration_form","tpl!registration_request","tpl!requesting_contact","tpl!requesting_contacts","tpl!room_description","tpl!room_item","tpl!room_panel","tpl!roster","tpl!roster_item","tpl!search_contact","tpl!select_option","tpl!status_option","tpl!toggle_chats","tpl!toolbar","tpl!trimmed_chat","tpl!vcard"],function(){return{action:arguments[0],add_contact_dropdown:arguments[1],add_contact_form:arguments[2],change_status_message:arguments[3],chat_status:arguments[4],chatarea:arguments[5],chatbox:arguments[6],chatroom:arguments[7],chatroom_form:arguments[8],chatroom_password_form:arguments[9],chatroom_sidebar:arguments[10],chatrooms_tab:arguments[11],chats_panel:arguments[12],choose_status:arguments[13],contacts_panel:arguments[14],contacts_tab:arguments[15],controlbox:arguments[16],controlbox_toggle:arguments[17],field:arguments[18],form_captcha:arguments[19],form_checkbox:arguments[20],form_input:arguments[21],form_select:arguments[22],form_textarea:arguments[23],form_username:arguments[24],group_header:arguments[25],info:arguments[26],login_panel:arguments[27],login_tab:arguments[28],message:arguments[29],new_day:arguments[30],occupant:arguments[31],pending_contact:arguments[32],pending_contacts:arguments[33],register_panel:arguments[34],register_tab:arguments[35],registration_form:arguments[36],registration_request:arguments[37],requesting_contact:arguments[38],requesting_contacts:arguments[39],room_description:arguments[40],room_item:arguments[41],room_panel:arguments[42],roster:arguments[43],roster_item:arguments[44],search_contact:arguments[45],select_option:arguments[46],status_option:arguments[47],toggle_chats:arguments[48],toolbar:arguments[49],trimmed_chat:arguments[50],vcard:arguments[51]}}),function(e,t){function l(e){return f.PF.compile(e||"nplurals=2; plural=(n != 1);")}function c(e,t){this._key=e,this._i18n=t}var n=Array.prototype,r=Object.prototype,i=n.slice,s=r.hasOwnProperty,o=n.forEach,u={},a={forEach:function(e,t,n){var r,i,a;if(e===null)return;if(o&&e.forEach===o)e.forEach(t,n);else if(e.length===+e.length){for(r=0,i=e.length;r<i;r++)if(r in e&&t.call(n,e[r],r,e)===u)return}else for(a in e)if(s.call(e,a)&&t.call(n,e[a],a,e)===u)return},extend:function(e){return this.forEach(i.call(arguments,1),function(t){for(var n in t)e[n]=t[n]}),e}},f=function(e){this.defaults={locale_data:{messages:{"":{domain:"messages",lang:"en",plural_forms:"nplurals=2; plural=(n != 1);"}}},domain:"messages"},this.options=a.extend({},this.defaults,e),this.textdomain(this.options.domain);if(e.domain&&!this.options.locale_data[this.options.domain])throw new Error("Text domain set to non-existent domain: `"+e.domain+"`")};f.context_delimiter=String.fromCharCode(4),a.extend(c.prototype,{onDomain:function(e){return this._domain=e,this},withContext:function(e){return this._context=e,this},ifPlural:function(e,t){return this._val=e,this._pkey=t,this},fetch:function(e){return{}.toString.call(e)!="[object Array]"&&(e=[].slice.call(arguments)),(e&&e.length?f.sprintf:function(e){return e})(this._i18n.dcnpgettext(this._domain,this._context,this._key,this._pkey,this._val),e)}}),a.extend(f.prototype,{translate:function(e){return new c(e,this)},textdomain:function(e){if(!e)return this._textdomain;this._textdomain=e},gettext:function(e){return this.dcnpgettext.call(this,t,t,e)},dgettext:function(e,n){return this.dcnpgettext.call(this,e,t,n)},dcgettext:function(e,n){return this.dcnpgettext.call(this,e,t,n)},ngettext:function(e,n,r){return this.dcnpgettext.call(this,t,t,e,n,r)},dngettext:function(e,n,r,i){return this.dcnpgettext.call(this,e,t,n,r,i)},dcngettext:function(e,n,r,i){return this.dcnpgettext.call(this,e,t,n,r,i)},pgettext:function(e,n){return this.dcnpgettext.call(this,t,e,n)},dpgettext:function(e,t,n){return this.dcnpgettext.call(this,e,t,n)},dcpgettext:function(e,t,n){return this.dcnpgettext.call(this,e,t,n)},npgettext:function(e,n,r,i){return this.dcnpgettext.call(this,t,e,n,r,i)},dnpgettext:function(e,t,n,r,i){return this.dcnpgettext.call(this,e,t,n,r,i)},dcnpgettext:function(e,t,n,r,i){r=r||n,e=e||this._textdomain,i=typeof i=="undefined"?1:i;var s;if(!this.options)return s=new f,s.dcnpgettext.call(s,undefined,undefined,n,r,i);if(!this.options.locale_data)throw new Error("No locale data provided.");if(!this.options.locale_data[e])throw new Error("Domain `"+e+"` was not found.");if(!this.options.locale_data[e][""])throw new Error("No locale meta information provided.");if(!n)throw new Error("No translation key found.");if(typeof i!="number"){i=parseInt(i,10);if(isNaN(i))throw new Error("The number that was passed in is not a number.")}var o=t?t+f.context_delimiter+n:n,u=this.options.locale_data,a=u[e],c=a[""].plural_forms||(u.messages||this.defaults.locale_data.messages)[""].plural_forms,h=l(c)(i)+1,p,d;if(!a)throw new Error("No domain named `"+e+"` could be found.");return p=a[o],!p||h>=p.length?(this.options.missing_key_callback&&this.options.missing_key_callback(o),d=[null,n,r],d[l(c)(i)+1]):(d=p[h],d?d:(d=[null,n,r],d[l(c)(i)+1]))}});var h=function(){function e(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()}function t(e,t){for(var n=[];t>0;n[--t]=e);return n.join("")}var n=function(){return n.cache.hasOwnProperty(arguments[0])||(n.cache[arguments[0]]=n.parse(arguments[0])),n.format.call(null,n.cache[arguments[0]],arguments)};return n.format=function(n,r){var i=1,s=n.length,o="",u,a=[],f,l,c,p,d,v;for(f=0;f<s;f++){o=e(n[f]);if(o==="string")a.push(n[f]);else if(o==="array"){c=n[f];if(c[2]){u=r[i];for(l=0;l<c[2].length;l++){if(!u.hasOwnProperty(c[2][l]))throw h('[sprintf] property "%s" does not exist',c[2][l]);u=u[c[2][l]]}}else c[1]?u=r[c[1]]:u=r[i++];if(/[^s]/.test(c[8])&&e(u)!="number")throw h("[sprintf] expecting number but found %s",e(u));if(typeof u=="undefined"||u===null)u="";switch(c[8]){case"b":u=u.toString(2);break;case"c":u=String.fromCharCode(u);break;case"d":u=parseInt(u,10);break;case"e":u=c[7]?u.toExponential(c[7]):u.toExponential();break;case"f":u=c[7]?parseFloat(u).toFixed(c[7]):parseFloat(u);break;case"o":u=u.toString(8);break;case"s":u=(u=String(u))&&c[7]?u.substring(0,c[7]):u;break;case"u":u=Math.abs(u);break;case"x":u=u.toString(16);break;case"X":u=u.toString(16).toUpperCase()}u=/[def]/.test(c[8])&&c[3]&&u>=0?"+"+u:u,d=c[4]?c[4]=="0"?"0":c[4].charAt(1):" ",v=c[6]-String(u).length,p=c[6]?t(d,v):"",a.push(c[5]?u+p:p+u)}}return a.join("")},n.cache={},n.parse=function(e){var t=e,n=[],r=[],i=0;while(t){if((n=/^[^\x25]+/.exec(t))!==null)r.push(n[0]);else if((n=/^\x25{2}/.exec(t))!==null)r.push("%");else{if((n=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(t))===null)throw"[sprintf] huh?";if(n[2]){i|=1;var s=[],o=n[2],u=[];if((u=/^([a-z_][a-z_\d]*)/i.exec(o))===null)throw"[sprintf] huh?";s.push(u[1]);while((o=o.substring(u[0].length))!=="")if((u=/^\.([a-z_][a-z_\d]*)/i.exec(o))!==null)s.push(u[1]);else{if((u=/^\[(\d+)\]/.exec(o))===null)throw"[sprintf] huh?";s.push(u[1])}n[2]=s}else i|=2;if(i===3)throw"[sprintf] mixing positional and named placeholders is not (yet) supported";r.push(n)}t=t.substring(n[0].length)}return r},n}(),p=function(e,t){return t.unshift(e),h.apply(null,t)};f.parse_plural=function(e,t){return e=e.replace(/n/g,t),f.parse_expression(e)},f.sprintf=function(e,t){return{}.toString.call(t)=="[object Array]"?p(e,[].slice.call(t)):h.apply(this,[].slice.call(arguments))},f.prototype.sprintf=function(){return f.sprintf.apply(this,arguments)},f.PF={},f.PF.parse=function(e){var t=f.PF.extractPluralExpr(e);return f.PF.parser.parse.call(f.PF.parser,t)},f.PF.compile=function(e){function t(e){return e===!0?1:e?e:0}var n=f.PF.parse(e);return function(e){return t(f.PF.interpreter(n)(e))}},f.PF.interpreter=function(e){return function(t){var n;switch(e.type){case"GROUP":return f.PF.interpreter(e.expr)(t);case"TERNARY":if(f.PF.interpreter(e.expr)(t))return f.PF.interpreter(e.truthy)(t);return f.PF.interpreter(e.falsey)(t);case"OR":return f.PF.interpreter(e.left)(t)||f.PF.interpreter(e.right)(t);case"AND":return f.PF.interpreter(e.left)(t)&&f.PF.interpreter(e.right)(t);case"LT":return f.PF.interpreter(e.left)(t)<f.PF.interpreter(e.right)(t);case"GT":return f.PF.interpreter(e.left)(t)>f.PF.interpreter(e.right)(t);case"LTE":return f.PF.interpreter(e.left)(t)<=f.PF.interpreter(e.right)(t);case"GTE":return f.PF.interpreter(e.left)(t)>=f.PF.interpreter(e.right)(t);case"EQ":return f.PF.interpreter(e.left)(t)==f.PF.interpreter(e.right)(t);case"NEQ":return f.PF.interpreter(e.left)(t)!=f.PF.interpreter(e.right)(t);case"MOD":return f.PF.interpreter(e.left)(t)%f.PF.interpreter(e.right)(t);case"VAR":return t;case"NUM":return e.val;default:throw new Error("Invalid Token found.")}}},f.PF.extractPluralExpr=function(e){e=e.replace(/^\s\s*/,"").replace(/\s\s*$/,""),/;\s*$/.test(e)||(e=e.concat(";"));var t=/nplurals\=(\d+);/,n=/plural\=(.*);/,r=e.match(t),i={},s;if(r.length>1){i.nplurals=r[1],e=e.replace(t,""),s=e.match(n);if(!(s&&s.length>1))throw new Error("`plural` expression not found: "+e);return s[1]}throw new Error("nplurals not found in plural_forms string: "+e)},f.PF.parser=function(){var e={trace:function(){},yy:{},symbols_:{error:2,expressions:3,e:4,EOF:5,"?":6,":":7,"||":8,"&&":9,"<":10,"<=":11,">":12,">=":13,"!=":14,"==":15,"%":16,"(":17,")":18,n:19,NUMBER:20,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",6:"?",7:":",8:"||",9:"&&",10:"<",11:"<=",12:">",13:">=",14:"!=",15:"==",16:"%",17:"(",18:")",19:"n",20:"NUMBER"},productions_:[0,[3,2],[4,5],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,1],[4,1]],performAction:function(t,n,r,i,s,o,u){var a=o.length-1;switch(s){case 1:return{type:"GROUP",expr:o[a-1]};case 2:this.$={type:"TERNARY",expr:o[a-4],truthy:o[a-2],falsey:o[a]};break;case 3:this.$={type:"OR",left:o[a-2],right:o[a]};break;case 4:this.$={type:"AND",left:o[a-2],right:o[a]};break;case 5:this.$={type:"LT",left:o[a-2],right:o[a]};break;case 6:this.$={type:"LTE",left:o[a-2],right:o[a]};break;case 7:this.$={type:"GT",left:o[a-2],right:o[a]};break;case 8:this.$={type:"GTE",left:o[a-2],right:o[a]};break;case 9:this.$={type:"NEQ",left:o[a-2],right:o[a]};break;case 10:this.$={type:"EQ",left:o[a-2],right:o[a]};break;case 11:this.$={type:"MOD",left:o[a-2],right:o[a]};break;case 12:this.$={type:"GROUP",expr:o[a-1]};break;case 13:this.$={type:"VAR"};break;case 14:this.$={type:"NUM",val:Number(t)}}},table:[{3:1,4:2,17:[1,3],19:[1,4],20:[1,5]},{1:[3]},{5:[1,6],6:[1,7],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16]},{4:17,17:[1,3],19:[1,4],20:[1,5]},{5:[2,13],6:[2,13],7:[2,13],8:[2,13],9:[2,13],10:[2,13],11:[2,13],12:[2,13],13:[2,13],14:[2,13],15:[2,13],16:[2,13],18:[2,13]},{5:[2,14],6:[2,14],7:[2,14],8:[2,14],9:[2,14],10:[2,14],11:[2,14],12:[2,14],13:[2,14],14:[2,14],15:[2,14],16:[2,14],18:[2,14]},{1:[2,1]},{4:18,17:[1,3],19:[1,4],20:[1,5]},{4:19,17:[1,3],19:[1,4],20:[1,5]},{4:20,17:[1,3],19:[1,4],20:[1,5]},{4:21,17:[1,3],19:[1,4],20:[1,5]},{4:22,17:[1,3],19:[1,4],20:[1,5]},{4:23,17:[1,3],19:[1,4],20:[1,5]},{4:24,17:[1,3],19:[1,4],20:[1,5]},{4:25,17:[1,3],19:[1,4],20:[1,5]},{4:26,17:[1,3],19:[1,4],20:[1,5]},{4:27,17:[1,3],19:[1,4],20:[1,5]},{6:[1,7],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[1,28]},{6:[1,7],7:[1,29],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16]},{5:[2,3],6:[2,3],7:[2,3],8:[2,3],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,3]},{5:[2,4],6:[2,4],7:[2,4],8:[2,4],9:[2,4],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,4]},{5:[2,5],6:[2,5],7:[2,5],8:[2,5],9:[2,5],10:[2,5],11:[2,5],12:[2,5],13:[2,5],14:[2,5],15:[2,5],16:[1,16],18:[2,5]},{5:[2,6],6:[2,6],7:[2,6],8:[2,6],9:[2,6],10:[2,6],11:[2,6],12:[2,6],13:[2,6],14:[2,6],15:[2,6],16:[1,16],18:[2,6]},{5:[2,7],6:[2,7],7:[2,7],8:[2,7],9:[2,7],10:[2,7],11:[2,7],12:[2,7],13:[2,7],14:[2,7],15:[2,7],16:[1,16],18:[2,7]},{5:[2,8],6:[2,8],7:[2,8],8:[2,8],9:[2,8],10:[2,8],11:[2,8],12:[2,8],13:[2,8],14:[2,8],15:[2,8],16:[1,16],18:[2,8]},{5:[2,9],6:[2,9],7:[2,9],8:[2,9],9:[2,9],10:[2,9],11:[2,9],12:[2,9],13:[2,9],14:[2,9],15:[2,9],16:[1,16],18:[2,9]},{5:[2,10],6:[2,10],7:[2,10],8:[2,10],9:[2,10],10:[2,10],11:[2,10],12:[2,10],13:[2,10],14:[2,10],15:[2,10],16:[1,16],18:[2,10]},{5:[2,11],6:[2,11],7:[2,11],8:[2,11],9:[2,11],10:[2,11],11:[2,11],12:[2,11],13:[2,11],14:[2,11],15:[2,11],16:[2,11],18:[2,11]},{5:[2,12],6:[2,12],7:[2,12],8:[2,12],9:[2,12],10:[2,12],11:[2,12],12:[2,12],13:[2,12],14:[2,12],15:[2,12],16:[2,12],18:[2,12]},{4:30,17:[1,3],19:[1,4],20:[1,5]},{5:[2,2],6:[1,7],7:[2,2],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,2]}],defaultActions:{6:[2,1]},parseError:function(t,n){throw new Error(t)},parse:function(t){function d(e){r.length=r.length-2*e,i.length=i.length-e,s.length=s.length-e}function v(){var e;return e=n.lexer.lex()||1,typeof e!="number"&&(e=n.symbols_[e]||e),e}var n=this,r=[0],i=[null],s=[],o=this.table,u="",a=0,f=0,l=0,c=2,h=1;this.lexer.setInput(t),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,typeof this.lexer.yylloc=="undefined"&&(this.lexer.yylloc={});var p=this.lexer.yylloc;s.push(p),typeof this.yy.parseError=="function"&&(this.parseError=this.yy.parseError);var m,g,y,b,w,E,S={},x,T,N,C;for(;;){y=r[r.length-1],this.defaultActions[y]?b=this.defaultActions[y]:(m==null&&(m=v()),b=o[y]&&o[y][m]);if(typeof b=="undefined"||!b.length||!b[0]){if(!l){C=[];for(x in o[y])this.terminals_[x]&&x>2&&C.push("'"+this.terminals_[x]+"'");var k="";this.lexer.showPosition?k="Parse error on line "+(a+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+C.join(", ")+", got '"+this.terminals_[m]+"'":k="Parse error on line "+(a+1)+": Unexpected "+(m==1?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(k,{text:this.lexer.match,token:this.terminals_[m]||m,line:this.lexer.yylineno,loc:p,expected:C})}if(l==3){if(m==h)throw new Error(k||"Parsing halted.");f=this.lexer.yyleng,u=this.lexer.yytext,a=this.lexer.yylineno,p=this.lexer.yylloc,m=v()}for(;;){if(c.toString()in o[y])break;if(y==0)throw new Error(k||"Parsing halted.");d(1),y=r[r.length-1]}g=m,m=c,y=r[r.length-1],b=o[y]&&o[y][c],l=3}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+y+", token: "+m);switch(b[0]){case 1:r.push(m),i.push(this.lexer.yytext),s.push(this.lexer.yylloc),r.push(b[1]),m=null,g?(m=g,g=null):(f=this.lexer.yyleng,u=this.lexer.yytext,a=this.lexer.yylineno,p=this.lexer.yylloc,l>0&&l--);break;case 2:T=this.productions_[b[1]][1],S.$=i[i.length-T],S._$={first_line:s[s.length-(T||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(T||1)].first_column,last_column:s[s.length-1].last_column},E=this.performAction.call(S,u,f,a,this.yy,b[1],i,s);if(typeof E!="undefined")return E;T&&(r=r.slice(0,-1*T*2),i=i.slice(0,-1*T),s=s.slice(0,-1*T)),r.push(this.productions_[b[1]][0]),i.push(S.$),s.push(S._$),N=o[r[r.length-2]][r[r.length-1]],r.push(N);break;case 3:return!0}}return!0}},t=function(){var e={EOF:1,parseError:function(t,n){if(!this.yy.parseError)throw new Error(t);this.yy.parseError(t,n)},setInput:function(e){return this._input=e,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this},input:function(){var e=this._input[0];this.yytext+=e,this.yyleng++,this.match+=e,this.matched+=e;var t=e.match(/\n/);return t&&this.yylineno++,this._input=this._input.slice(1),e},unput:function(e){return this._input=e+this._input,this},more:function(){return this._more=!0,this},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=(new Array(e.length+1)).join("-");return e+this.upcomingInput()+"\n"+t+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,r;this._more||(this.yytext="",this.match="");var i=this._currentRules();for(var s=0;s<i.length;s++){t=this._input.match(this.rules[i[s]]);if(t){r=t[0].match(/\n.*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-1:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this._more=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,i[s],this.conditionStack[this.conditionStack.length-1]);if(e)return e;return}}if(this._input==="")return this.EOF;this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return typeof t!="undefined"?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(t){this.begin(t)}};return e.performAction=function(t,n,r,i){var s=i;switch(r){case 0:break;case 1:return 20;case 2:return 19;case 3:return 8;case 4:return 9;case 5:return 6;case 6:return 7;case 7:return 11;case 8:return 13;case 9:return 10;case 10:return 12;case 11:return 14;case 12:return 15;case 13:return 16;case 14:return 17;case 15:return 18;case 16:return 5;case 17:return"INVALID"}},e.rules=[/^\s+/,/^[0-9]+(\.[0-9]+)?\b/,/^n\b/,/^\|\|/,/^&&/,/^\?/,/^:/,/^<=/,/^>=/,/^</,/^>/,/^!=/,/^==/,/^%/,/^\(/,/^\)/,/^$/,/^./],e.conditions={INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],inclusive:!0}},e}();return e.lexer=t,e}(),typeof exports!="undefined"?(typeof module!="undefined"&&module.exports&&(exports=module.exports=f),exports.Jed=f):(typeof define=="function"&&define.amd&&define("jed",[],function(){return f}),e.Jed=f)}(this),define("text!af",[],function(){return'{\n   "domain": "converse",\n   "locale_data": {\n      "converse": {\n         "": {\n            "domain": "converse",\n            "lang": "af"\n         },\n         " e.g. conversejs.org": [\n            null,\n            "bv. conversejs.org"\n         ],\n         "unencrypted": [\n            null,\n            "nie-privaat"\n         ],\n         "unverified": [\n            null,\n            "onbevestig"\n         ],\n         "verified": [\n            null,\n            "privaat"\n         ],\n         "finished": [\n            null,\n            "afgesluit"\n         ],\n         "This contact is busy": [\n            null,\n            "Hierdie persoon is besig"\n         ],\n         "This contact is online": [\n            null,\n            "Hierdie persoon is aanlyn"\n         ],\n         "This contact is offline": [\n            null,\n            "Hierdie persoon is aflyn"\n         ],\n         "This contact is unavailable": [\n            null,\n            "Hierdie persoon is onbeskikbaar"\n         ],\n         "This contact is away for an extended period": [\n            null,\n            "Hierdie persoon is vir lank afwesig"\n         ],\n         "This contact is away": [\n            null,\n            "Hierdie persoon is afwesig"\n         ],\n         "Click to hide these contacts": [\n            null,\n            "Klik om hierdie kontakte te verskuil"\n         ],\n         "My contacts": [\n            null,\n            "My kontakte"\n         ],\n         "Pending contacts": [\n            null,\n            "Hangende kontakte"\n         ],\n         "Contact requests": [\n            null,\n            "Kontak versoeke"\n         ],\n         "Ungrouped": [\n            null,\n            "Ongegroepeer"\n         ],\n         "Contacts": [\n            null,\n            "Kontakte"\n         ],\n         "Groups": [\n            null,\n            "Groepe"\n         ],\n         "Attempting to reconnect in 5 seconds": [\n            null,\n            ""\n         ],\n         "Error": [\n            null,\n            "Fout"\n         ],\n         "Connecting": [\n            null,\n            "Verbind tans"\n         ],\n         "Authenticating": [\n            null,\n            "Besig om te bekragtig"\n         ],\n         "Authentication Failed": [\n            null,\n            "Bekragtiging het gefaal"\n         ],\n         "Re-establishing encrypted session": [\n            null,\n            "Herstel versleutelde sessie"\n         ],\n         "Generating private key.": [\n            null,\n            "Genereer private sleutel."\n         ],\n         "Your browser might become unresponsive.": [\n            null,\n            "U webblaaier mag tydelik onreageerbaar word."\n         ],\n         "Authentication request from %1$s\\n\\nYour chat contact is attempting to verify your identity, by asking you the question below.\\n\\n%2$s": [\n            null,\n            "Identiteitbevestigingsversoek van  %1$s\\n\\nU gespreksmaat probeer om u identiteit te bevestig, deur die volgende vraag te vra \\n\\n%2$s"\n         ],\n         "Could not verify this user\'s identify.": [\n            null,\n            "Kon nie hierdie gebruiker se identitied bevestig nie."\n         ],\n         "Exchanging private key with contact.": [\n            null,\n            "Sleutels word met gespreksmaat uitgeruil."\n         ],\n         "Close this chat box": [\n            null,\n            "Klik om hierdie kletskas toe te maak"\n         ],\n         "Minimize this chat box": [\n            null,\n            "Minimeer hierdie kletskas"\n         ],\n         "View more information on this person": [\n            null,\n            "Wys meer inligting aangaande hierdie persoon"\n         ],\n         "Personal message": [\n            null,\n            "Persoonlike boodskap"\n         ],\n         "Are you sure you want to clear the messages from this room?": [\n            null,\n            "Is u seker dat u die boodskappe in hierdie kamer wil verwyder?"\n         ],\n         "me": [\n            null,\n            "ek"\n         ],\n         "is typing": [\n            null,\n            "tik tans"\n         ],\n         "has stopped typing": [\n            null,\n            "het opgehou tik"\n         ],\n         "has gone away": [\n            null,\n            "het weggegaan"\n         ],\n         "Show this menu": [\n            null,\n            "Vertoon hierdie keuselys"\n         ],\n         "Write in the third person": [\n            null,\n            "Skryf in die derde persoon"\n         ],\n         "Remove messages": [\n            null,\n            "Verwyder boodskappe"\n         ],\n         "Are you sure you want to clear the messages from this chat box?": [\n            null,\n            "Is u seker u wil die boodskappe in hierdie kletskas uitvee?"\n         ],\n         "Your message could not be sent": [\n            null,\n            "U boodskap kon nie gestuur word nie"\n         ],\n         "We received an unencrypted message": [\n            null,\n            "Ons het \'n onversleutelde boodskap ontvang"\n         ],\n         "We received an unreadable encrypted message": [\n            null,\n            "Ons het \'n onleesbare versleutelde boodskap ontvang"\n         ],\n         "Here are the fingerprints, please confirm them with %1$s, outside of this chat.\\n\\nFingerprint for you, %2$s: %3$s\\n\\nFingerprint for %1$s: %4$s\\n\\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.": [\n            null,\n            "Hier is die vingerafdrukke, bevestig hulle met %1$s, buite hierdie kletskanaal \\n\\nU vingerafdruk, %2$s: %3$s\\n\\nVingerafdruk vir %1$s: %4$s\\n\\nIndien u die vingerafdrukke bevestig het, klik OK, andersinds klik Kanselleer"\n         ],\n         "You will be prompted to provide a security question and then an answer to that question.\\n\\nYour contact will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.": [\n            null,\n            "Daar sal van u verwag word om \'n sekuriteitsvraag te stel, en dan ook die antwoord tot daardie vraag te verskaf.\\n\\nU gespreksmaat sal dan daardie vraag gestel word, en indien hulle presies dieselfde antwoord (lw. hoofletters tel) verskaf, sal hul identiteit bevestig wees."\n         ],\n         "What is your security question?": [\n            null,\n            "Wat is u sekuriteitsvraag?"\n         ],\n         "What is the answer to the security question?": [\n            null,\n            "Wat is die antwoord tot die sekuriteitsvraag?"\n         ],\n         "Invalid authentication scheme provided": [\n            null,\n            "Ongeldige verifikasiemetode verskaf"\n         ],\n         "has gone offline": [\n            null,\n            "is nou aflyn"\n         ],\n         "is busy": [\n            null,\n            "is besig"\n         ],\n         "Your messages are not encrypted anymore": [\n            null,\n            "U boodskappe is nie meer versleutel nie"\n         ],\n         "Your messages are now encrypted but your contact\'s identity has not been verified.": [\n            null,\n            "U boodskappe is now versleutel maar u gespreksmaat se identiteit is nog onseker."\n         ],\n         "Your contact\'s identify has been verified.": [\n            null,\n            "U gespreksmaat se identiteit is bevestig."\n         ],\n         "Your contact has ended encryption on their end, you should do the same.": [\n            null,\n            "U gespreksmaat het versleuteling gestaak, u behoort nou dieselfde te doen."\n         ],\n         "Your messages are not encrypted. Click here to enable OTR encryption.": [\n            null,\n            "U boodskappe is nie versleutel nie. Klik hier om OTR versleuteling te aktiveer."\n         ],\n         "Your messages are encrypted, but your contact has not been verified.": [\n            null,\n            "U boodskappe is versleutel, maar u gespreksmaat se identiteit is not onseker."\n         ],\n         "Your messages are encrypted and your contact verified.": [\n            null,\n            "U boodskappe is versleutel en u gespreksmaat se identiteit bevestig."\n         ],\n         "Your contact has closed their end of the private session, you should do the same": [\n            null,\n            "U gespreksmaat het die private sessie gestaak. U behoort dieselfde te doen"\n         ],\n         "Clear all messages": [\n            null,\n            "Vee alle boodskappe uit"\n         ],\n         "End encrypted conversation": [\n            null,\n            "Beëindig versleutelde gesprek"\n         ],\n         "Insert a smiley": [\n            null,\n            ""\n         ],\n         "Hide the list of occupants": [\n            null,\n            "Verskuil die lys van deelnemers"\n         ],\n         "Refresh encrypted conversation": [\n            null,\n            "Verfris versleutelde gesprek"\n         ],\n         "Start a call": [\n            null,\n            "Begin \'n oproep"\n         ],\n         "Start encrypted conversation": [\n            null,\n            "Begin versleutelde gesprek"\n         ],\n         "Verify with fingerprints": [\n            null,\n            "Bevestig met vingerafdrukke"\n         ],\n         "Verify with SMP": [\n            null,\n            "Bevestig met SMP"\n         ],\n         "What\'s this?": [\n            null,\n            "Wat is hierdie?"\n         ],\n         "Online": [\n            null,\n            "Aangemeld"\n         ],\n         "Busy": [\n            null,\n            "Besig"\n         ],\n         "Away": [\n            null,\n            "Afwesig"\n         ],\n         "Offline": [\n            null,\n            "Afgemeld"\n         ],\n         "Log out": [\n            null,\n            "Meld af"\n         ],\n         "Contact name": [\n            null,\n            "Kontaknaam"\n         ],\n         "Search": [\n            null,\n            "Soek"\n         ],\n         "e.g. user@example.com": [\n            null,\n            ""\n         ],\n         "Add": [\n            null,\n            "Voeg by"\n         ],\n         "Click to add new chat contacts": [\n            null,\n            "Klik om nuwe kletskontakte by te voeg"\n         ],\n         "Add a contact": [\n            null,\n            "Voeg \'n kontak by"\n         ],\n         "No users found": [\n            null,\n            "Geen gebruikers gevind"\n         ],\n         "Click to add as a chat contact": [\n            null,\n            "Klik om as kletskontak by te voeg"\n         ],\n         "Room name": [\n            null,\n            "Kamer naam"\n         ],\n         "Nickname": [\n            null,\n            "Bynaam"\n         ],\n         "Server": [\n            null,\n            "Bediener"\n         ],\n         "Join Room": [\n            null,\n            "Betree kamer"\n         ],\n         "Show rooms": [\n            null,\n            "Wys kamers"\n         ],\n         "Rooms": [\n            null,\n            "Kamers"\n         ],\n         "No rooms on %1$s": [\n            null,\n            "Geen kamers op %1$s"\n         ],\n         "Rooms on %1$s": [\n            null,\n            "Kamers op %1$s"\n         ],\n         "Click to open this room": [\n            null,\n            "Klik om hierdie kletskamer te open"\n         ],\n         "Show more information on this room": [\n            null,\n            "Wys meer inligting aangaande hierdie kletskamer"\n         ],\n         "Description:": [\n            null,\n            "Beskrywing:"\n         ],\n         "Occupants:": [\n            null,\n            "Deelnemers:"\n         ],\n         "Features:": [\n            null,\n            "Eienskappe:"\n         ],\n         "Requires authentication": [\n            null,\n            "Benodig magtiging"\n         ],\n         "Hidden": [\n            null,\n            "Verskuil"\n         ],\n         "Requires an invitation": [\n            null,\n            "Benodig \'n uitnodiging"\n         ],\n         "Moderated": [\n            null,\n            "Gemodereer"\n         ],\n         "Non-anonymous": [\n            null,\n            "Nie-anoniem"\n         ],\n         "Open room": [\n            null,\n            "Oop kletskamer"\n         ],\n         "Permanent room": [\n            null,\n            "Permanente kamer"\n         ],\n         "Public": [\n            null,\n            "Publiek"\n         ],\n         "Semi-anonymous": [\n            null,\n            "Deels anoniem"\n         ],\n         "Temporary room": [\n            null,\n            "Tydelike kamer"\n         ],\n         "Unmoderated": [\n            null,\n            "Ongemodereer"\n         ],\n         "This user is a moderator": [\n            null,\n            "Hierdie gebruiker is \'n moderator"\n         ],\n         "This user can send messages in this room": [\n            null,\n            "Hierdie gebruiker kan boodskappe na die kamer stuur"\n         ],\n         "This user can NOT send messages in this room": [\n            null,\n            "Hierdie gebruiker kan NIE boodskappe na die kamer stuur nie"\n         ],\n         "Invite...": [\n            null,\n            "Nooi uit..."\n         ],\n         "Occupants": [\n            null,\n            "Deelnemers"\n         ],\n         "You are about to invite %1$s to the chat room \\"%2$s\\". ": [\n            null,\n            "U is op die punt om %1$s na die kletskamer \\"%2$s\\" uit te nooi."\n         ],\n         "You may optionally include a message, explaining the reason for the invitation.": [\n            null,\n            "U mag na keuse \'n boodskap insluit, om bv. die rede vir die uitnodiging te staaf."\n         ],\n         "Message": [\n            null,\n            "Boodskap"\n         ],\n         "Error: could not execute the command": [\n            null,\n            "Fout: kon nie die opdrag uitvoer nie"\n         ],\n         "Error: the \\"": [\n            null,\n            ""\n         ],\n         "Change user\'s affiliation to admin": [\n            null,\n            ""\n         ],\n         "Ban user from room": [\n            null,\n            "Verban gebruiker uit hierdie kletskamer"\n         ],\n         "Change user role to occupant": [\n            null,\n            "Verander gebruiker se rol na lid"\n         ],\n         "Kick user from room": [\n            null,\n            "Skop gebruiker uit hierdie kletskamer"\n         ],\n         "Write in 3rd person": [\n            null,\n            "Skryf in die derde persoon"\n         ],\n         "Grant membership to a user": [\n            null,\n            "Verleen lidmaatskap aan \'n gebruiker"\n         ],\n         "Remove user\'s ability to post messages": [\n            null,\n            "Verwyder gebruiker se vermoë om boodskappe te plaas"\n         ],\n         "Change your nickname": [\n            null,\n            "Verander u bynaam"\n         ],\n         "Grant moderator role to user": [\n            null,\n            "Verleen moderator rol aan gebruiker"\n         ],\n         "Grant ownership of this room": [\n            null,\n            "Verleen eienaarskap van hierdie kamer"\n         ],\n         "Revoke user\'s membership": [\n            null,\n            "Herroep gebruiker se lidmaatskap"\n         ],\n         "Set room topic": [\n            null,\n            "Stel onderwerp vir kletskamer"\n         ],\n         "Allow muted user to post messages": [\n            null,\n            "Laat stilgemaakte gebruiker toe om weer boodskappe te plaas"\n         ],\n         "Save": [\n            null,\n            "Stoor"\n         ],\n         "Cancel": [\n            null,\n            "Kanseleer"\n         ],\n         "An error occurred while trying to save the form.": [\n            null,\n            "A fout het voorgekom terwyl probeer is om die vorm te stoor."\n         ],\n         "This chatroom requires a password": [\n            null,\n            "Hiedie kletskamer benodig \'n wagwoord"\n         ],\n         "Password: ": [\n            null,\n            "Wagwoord:"\n         ],\n         "Submit": [\n            null,\n            "Dien in"\n         ],\n         "This room is not anonymous": [\n            null,\n            "Hierdie vertrek is nie anoniem nie"\n         ],\n         "This room now shows unavailable members": [\n            null,\n            "Hierdie vertrek wys nou onbeskikbare lede"\n         ],\n         "This room does not show unavailable members": [\n            null,\n            "Hierdie vertrek wys nie onbeskikbare lede nie"\n         ],\n         "Non-privacy-related room configuration has changed": [\n            null,\n            "Nie-privaatheidverwante kamer instellings het verander"\n         ],\n         "Room logging is now enabled": [\n            null,\n            "Kamer log is nou aangeskakel"\n         ],\n         "Room logging is now disabled": [\n            null,\n            "Kamer log is nou afgeskakel"\n         ],\n         "This room is now non-anonymous": [\n            null,\n            "Hiedie kamer is nou nie anoniem nie"\n         ],\n         "This room is now semi-anonymous": [\n            null,\n            "Hierdie kamer is nou gedeeltelik anoniem"\n         ],\n         "This room is now fully-anonymous": [\n            null,\n            "Hierdie kamer is nou ten volle anoniem"\n         ],\n         "A new room has been created": [\n            null,\n            "\'n Nuwe kamer is geskep"\n         ],\n         "You have been banned from this room": [\n            null,\n            "Jy is uit die kamer verban"\n         ],\n         "You have been kicked from this room": [\n            null,\n            "Jy is uit die kamer geskop"\n         ],\n         "You have been removed from this room because of an affiliation change": [\n            null,\n            "Jy is vanuit die kamer verwyder a.g.v \'n verandering van affiliasie"\n         ],\n         "You have been removed from this room because the room has changed to members-only and you\'re not a member": [\n            null,\n            "Jy is vanuit die kamer verwyder omdat die kamer nou slegs tot lede beperk word en jy nie \'n lid is nie."\n         ],\n         "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.": [\n            null,\n            "Jy is van hierdie kamer verwyder aangesien die MUC (Multi-user chat) diens nou afgeskakel word."\n         ],\n         "<strong>%1$s</strong> has been banned": [\n            null,\n            "<strong>%1$s</strong> is verban"\n         ],\n         "<strong>%1$s</strong>\'s nickname has changed": [\n            null,\n            "<strong>%1$s</strong> se bynaam het verander"\n         ],\n         "<strong>%1$s</strong> has been kicked out": [\n            null,\n            "<strong>%1$s</strong> is uitgeskop"\n         ],\n         "<strong>%1$s</strong> has been removed because of an affiliation change": [\n            null,\n            "<strong>%1$s</strong> is verwyder a.g.v \'n verandering van affiliasie"\n         ],\n         "<strong>%1$s</strong> has been removed for not being a member": [\n            null,\n            "<strong>%1$s</strong> is nie \'n lid nie, en dus verwyder"\n         ],\n         "Your nickname has been automatically changed to: <strong>%1$s</strong>": [\n            null,\n            "U bynaam is outomaties verander na: <strong>%1$s</strong>"\n         ],\n         "Your nickname has been changed to: <strong>%1$s</strong>": [\n            null,\n            "U bynaam is verander na: <strong>%1$s</strong>"\n         ],\n         "The reason given is: \\"": [\n            null,\n            "Die gegewe rede is: \\""\n         ],\n         "You are not on the member list of this room": [\n            null,\n            "Jy is nie op die ledelys van hierdie kamer nie"\n         ],\n         "No nickname was specified": [\n            null,\n            "Geen bynaam verskaf nie"\n         ],\n         "You are not allowed to create new rooms": [\n            null,\n            "Jy word nie toegelaat om nog kamers te skep nie"\n         ],\n         "Your nickname doesn\'t conform to this room\'s policies": [\n            null,\n            "Jou bynaam voldoen nie aan die kamer se beleid nie"\n         ],\n         "Your nickname is already taken": [\n            null,\n            "Jou bynaam is reeds geneem"\n         ],\n         "This room does not (yet) exist": [\n            null,\n            "Hierdie kamer bestaan tans (nog) nie"\n         ],\n         "This room has reached it\'s maximum number of occupants": [\n            null,\n            "Hierdie kamer het sy maksimum aantal deelnemers bereik"\n         ],\n         "Topic set by %1$s to: %2$s": [\n            null,\n            "Onderwerp deur %1$s bygewerk na: %2$s"\n         ],\n         "%1$s has invited you to join a chat room: %2$s": [\n            null,\n            "%1$s het u uitgenooi om die kletskamer %2$s te besoek"\n         ],\n         "%1$s has invited you to join a chat room: %2$s, and left the following reason: \\"%3$s\\"": [\n            null,\n            "%1$s het u uitgenooi om die kletskamer %2$s te besoek, en het die volgende rede verskaf: \\"%3$s\\""\n         ],\n         "Click to restore this chat": [\n            null,\n            "Klik om hierdie klets te herstel"\n         ],\n         "Minimized": [\n            null,\n            "Geminimaliseer"\n         ],\n         "Click to remove this contact": [\n            null,\n            "Klik om hierdie kontak te verwyder"\n         ],\n         "Click to accept this contact request": [\n            null,\n            "Klik om hierdie kontakversoek te aanvaar"\n         ],\n         "Click to decline this contact request": [\n            null,\n            "Klik om hierdie kontakversoek te weier"\n         ],\n         "Click to chat with this contact": [\n            null,\n            "Klik om met hierdie kontak te klets"\n         ],\n         "Name": [\n            null,\n            ""\n         ],\n         "Are you sure you want to remove this contact?": [\n            null,\n            "Is u seker u wil hierdie gespreksmaat verwyder?"\n         ],\n         "Sorry, there was an error while trying to remove ": [\n            null,\n            ""\n         ],\n         "Are you sure you want to decline this contact request?": [\n            null,\n            "Is u seker dat u hierdie persoon se versoek wil afkeur?"\n         ],\n         "Sorry, there was an error while trying to add ": [\n            null,\n            ""\n         ],\n         "This client does not allow presence subscriptions": [\n            null,\n            ""\n         ],\n         "Type to filter": [\n            null,\n            "Tik om te filtreer"\n         ],\n         "I am %1$s": [\n            null,\n            "Ek is %1$s"\n         ],\n         "Click here to write a custom status message": [\n            null,\n            "Klik hier om jou eie statusboodskap te skryf"\n         ],\n         "Click to change your chat status": [\n            null,\n            "Klik om jou klets-status te verander"\n         ],\n         "Custom status": [\n            null,\n            "Doelgemaakte status"\n         ],\n         "online": [\n            null,\n            "aangemeld"\n         ],\n         "busy": [\n            null,\n            "besig"\n         ],\n         "away for long": [\n            null,\n            "vir lank afwesig"\n         ],\n         "away": [\n            null,\n            "afwesig"\n         ],\n         "offline": [\n            null,\n            "afgemeld"\n         ],\n         "Your XMPP provider\'s domain name:": [\n            null,\n            "U XMPP-verskaffer se domein naam:"\n         ],\n         "Fetch registration form": [\n            null,\n            "Haal die registrasie form"\n         ],\n         "Tip: A list of public XMPP providers is available": [\n            null,\n            "Wenk: A lys van publieke XMPP-verskaffers is beskikbaar"\n         ],\n         "here": [\n            null,\n            "hier"\n         ],\n         "Register": [\n            null,\n            "Registreer"\n         ],\n         "Sorry, the given provider does not support in band account registration. Please try with a different provider.": [\n            null,\n            "Jammer, die gekose verskaffer ondersteun nie in-band registrasie nie.Probeer weer met \'n ander verskaffer."\n         ],\n         "Requesting a registration form from the XMPP server": [\n            null,\n            "Vra tans die XMPP-bediener vir \'n registrasie vorm"\n         ],\n         "Something went wrong while establishing a connection with \\"%1$s\\". Are you sure it exists?": [\n            null,\n            "Iets het fout geloop tydens koppeling met \\"%1$s\\". Is u seker dat dit bestaan?"\n         ],\n         "Now logging you in": [\n            null,\n            "U word nou aangemeld"\n         ],\n         "Registered successfully": [\n            null,\n            "Suksesvol geregistreer"\n         ],\n         "Return": [\n            null,\n            "Terug"\n         ],\n         "XMPP Username:": [\n            null,\n            "XMPP Gebruikersnaam:"\n         ],\n         "Password:": [\n            null,\n            "Wagwoord"\n         ],\n         "Click here to log in anonymously": [\n            null,\n            "Klik hier om anoniem aan te meld"\n         ],\n         "Log In": [\n            null,\n            "Meld aan"\n         ],\n         "user@server": [\n            null,\n            "gebruiker@bediener"\n         ],\n         "password": [\n            null,\n            "wagwoord"\n         ],\n         "Sign in": [\n            null,\n            "Teken in"\n         ],\n         "Toggle chat": [\n            null,\n            "Klets"\n         ]\n      }\n   }\n}'}),define("text!de",[],function(){return'{\n   "domain": "converse",\n   "locale_data": {\n      "converse": {\n         "": {\n            "domain": "converse",\n            "plural_forms": "nplurals=2; plural=(n != 1);",\n            "lang": "de"\n         },\n         " e.g. conversejs.org": [\n            null,\n            "z. B. conversejs.org"\n         ],\n         "unencrypted": [\n            null,\n            "unverschlüsselt"\n         ],\n         "unverified": [\n            null,\n            "nicht verifiziert"\n         ],\n         "verified": [\n            null,\n            "verifiziert"\n         ],\n         "finished": [\n            null,\n            "erledigt"\n         ],\n         "This contact is busy": [\n            null,\n            "Dieser Kontakt ist beschäftigt"\n         ],\n         "This contact is online": [\n            null,\n            "Dieser Kontakt ist online"\n         ],\n         "This contact is offline": [\n            null,\n            "Dieser Kontakt ist offline"\n         ],\n         "This contact is unavailable": [\n            null,\n            "Dieser Kontakt ist nicht verfügbar"\n         ],\n         "This contact is away for an extended period": [\n            null,\n            "Dieser Kontakt ist für längere Zeit abwesend"\n         ],\n         "This contact is away": [\n            null,\n            "Dieser Kontakt ist abwesend"\n         ],\n         "Click to hide these contacts": [\n            null,\n            "Hier klicken um diese Kontakte zu verstecken"\n         ],\n         "My contacts": [\n            null,\n            "Meine Kontakte"\n         ],\n         "Pending contacts": [\n            null,\n            "Unbestätigte Kontakte"\n         ],\n         "Contact requests": [\n            null,\n            "Kontaktanfragen"\n         ],\n         "Ungrouped": [\n            null,\n            "Ungruppiert"\n         ],\n         "Contacts": [\n            null,\n            "Kontakte"\n         ],\n         "Groups": [\n            null,\n            "Gruppen"\n         ],\n         "Attempting to reconnect in 5 seconds": [\n            null,\n            ""\n         ],\n         "Error": [\n            null,\n            "Fehler"\n         ],\n         "Connecting": [\n            null,\n            "Verbindungsaufbau …"\n         ],\n         "Authenticating": [\n            null,\n            "Authentifizierung"\n         ],\n         "Authentication Failed": [\n            null,\n            "Authentifizierung gescheitert"\n         ],\n         "Re-establishing encrypted session": [\n            null,\n            "Verschlüsselte Sitzung wiederherstellen"\n         ],\n         "Generating private key.": [\n            null,\n            "Generiere privaten Schlüssel."\n         ],\n         "Your browser might become unresponsive.": [\n            null,\n            "Ihr Browser könnte langsam reagieren."\n         ],\n         "Authentication request from %1$s\\n\\nYour chat contact is attempting to verify your identity, by asking you the question below.\\n\\n%2$s": [\n            null,\n            "Authentifizierungsanfrage von %1$s\\n\\nIhr Kontakt möchte durch die folgende Frage Ihre Identität verifizieren:\\n\\n%2$s"\n         ],\n         "Could not verify this user\'s identify.": [\n            null,\n            "Die Identität des Benutzers konnte nicht verifiziert werden."\n         ],\n         "Exchanging private key with contact.": [\n            null,\n            "Tausche private Schlüssel mit Kontakt aus."\n         ],\n         "Minimize this chat box": [\n            null,\n            ""\n         ],\n         "Personal message": [\n            null,\n            "Persönliche Nachricht"\n         ],\n         "Are you sure you want to clear the messages from this room?": [\n            null,\n            "Sind Sie sicher, dass Sie alle Nachrichten in diesem Raum löschen möchten?"\n         ],\n         "me": [\n            null,\n            "Ich"\n         ],\n         "is typing": [\n            null,\n            "tippt"\n         ],\n         "has stopped typing": [\n            null,\n            "tippt nicht mehr"\n         ],\n         "has gone away": [\n            null,\n            "ist jetzt abwesend"\n         ],\n         "Show this menu": [\n            null,\n            "Dieses Menü anzeigen"\n         ],\n         "Write in the third person": [\n            null,\n            "In der dritten Person schreiben"\n         ],\n         "Remove messages": [\n            null,\n            "Nachrichten entfernen"\n         ],\n         "Are you sure you want to clear the messages from this chat box?": [\n            null,\n            "Sind Sie sicher, dass Sie alle Nachrichten dieses Chats löschen möchten?"\n         ],\n         "Your message could not be sent": [\n            null,\n            "Ihre Nachricht konnte nicht gesendet werden"\n         ],\n         "We received an unencrypted message": [\n            null,\n            "Wir haben eine unverschlüsselte Nachricht empfangen"\n         ],\n         "We received an unreadable encrypted message": [\n            null,\n            "Wir haben eine unlesbare Nachricht empfangen"\n         ],\n         "Here are the fingerprints, please confirm them with %1$s, outside of this chat.\\n\\nFingerprint for you, %2$s: %3$s\\n\\nFingerprint for %1$s: %4$s\\n\\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.": [\n            null,\n            ""\n         ],\n         "You will be prompted to provide a security question and then an answer to that question.\\n\\nYour contact will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.": [\n            null,\n            ""\n         ],\n         "What is your security question?": [\n            null,\n            ""\n         ],\n         "What is the answer to the security question?": [\n            null,\n            ""\n         ],\n         "Invalid authentication scheme provided": [\n            null,\n            ""\n         ],\n         "is busy": [\n            null,\n            "ist beschäftigt"\n         ],\n         "Your messages are not encrypted anymore": [\n            null,\n            ""\n         ],\n         "Your messages are now encrypted but your contact\'s identity has not been verified.": [\n            null,\n            ""\n         ],\n         "Your contact\'s identify has been verified.": [\n            null,\n            ""\n         ],\n         "Your contact has ended encryption on their end, you should do the same.": [\n            null,\n            ""\n         ],\n         "Your messages are not encrypted. Click here to enable OTR encryption.": [\n            null,\n            ""\n         ],\n         "Your messages are encrypted, but your contact has not been verified.": [\n            null,\n            ""\n         ],\n         "Your messages are encrypted and your contact verified.": [\n            null,\n            ""\n         ],\n         "Your contact has closed their end of the private session, you should do the same": [\n            null,\n            ""\n         ],\n         "Clear all messages": [\n            null,\n            "Alle Nachrichten löschen"\n         ],\n         "End encrypted conversation": [\n            null,\n            ""\n         ],\n         "Insert a smiley": [\n            null,\n            ""\n         ],\n         "Refresh encrypted conversation": [\n            null,\n            ""\n         ],\n         "Start a call": [\n            null,\n            ""\n         ],\n         "Start encrypted conversation": [\n            null,\n            ""\n         ],\n         "Verify with fingerprints": [\n            null,\n            ""\n         ],\n         "Verify with SMP": [\n            null,\n            ""\n         ],\n         "What\'s this?": [\n            null,\n            "Was ist das?"\n         ],\n         "Online": [\n            null,\n            "Online"\n         ],\n         "Busy": [\n            null,\n            "Beschäftigt"\n         ],\n         "Away": [\n            null,\n            "Abwesend"\n         ],\n         "Offline": [\n            null,\n            "Abgemeldet"\n         ],\n         "Log out": [\n            null,\n            "Abmelden"\n         ],\n         "Contact name": [\n            null,\n            "Name des Kontakts"\n         ],\n         "Search": [\n            null,\n            "Suche"\n         ],\n         "e.g. user@example.com": [\n            null,\n            ""\n         ],\n         "Add": [\n            null,\n            "Hinzufügen"\n         ],\n         "Click to add new chat contacts": [\n            null,\n            "Hier klicken um neuen Kontakt hinzuzufügen"\n         ],\n         "Add a contact": [\n            null,\n            "Kontakt hinzufügen"\n         ],\n         "No users found": [\n            null,\n            "Keine Benutzer gefunden"\n         ],\n         "Click to add as a chat contact": [\n            null,\n            "Hier klicken um als Kontakt hinzuzufügen"\n         ],\n         "Room name": [\n            null,\n            "Raumname"\n         ],\n         "Nickname": [\n            null,\n            "Spitzname"\n         ],\n         "Server": [\n            null,\n            "Server"\n         ],\n         "Join Room": [\n            null,\n            "Raum betreten"\n         ],\n         "Show rooms": [\n            null,\n            "Räume anzeigen"\n         ],\n         "Rooms": [\n            null,\n            "Räume"\n         ],\n         "No rooms on %1$s": [\n            null,\n            "Keine Räume auf %1$s"\n         ],\n         "Rooms on %1$s": [\n            null,\n            "Räume auf %1$s"\n         ],\n         "Click to open this room": [\n            null,\n            "Hier klicken um diesen Raum zu öffnen"\n         ],\n         "Show more information on this room": [\n            null,\n            "Mehr Information über diesen Raum zeigen"\n         ],\n         "Description:": [\n            null,\n            "Beschreibung"\n         ],\n         "Occupants:": [\n            null,\n            "Teilnehmer"\n         ],\n         "Features:": [\n            null,\n            "Funktionen:"\n         ],\n         "Requires authentication": [\n            null,\n            "Authentifizierung erforderlich"\n         ],\n         "Hidden": [\n            null,\n            "Versteckt"\n         ],\n         "Requires an invitation": [\n            null,\n            "Einladung erforderlich"\n         ],\n         "Moderated": [\n            null,\n            "Moderiert"\n         ],\n         "Non-anonymous": [\n            null,\n            "Nicht anonym"\n         ],\n         "Open room": [\n            null,\n            "Offener Raum"\n         ],\n         "Permanent room": [\n            null,\n            "Dauerhafter Raum"\n         ],\n         "Public": [\n            null,\n            "Öffentlich"\n         ],\n         "Semi-anonymous": [\n            null,\n            "Teils anonym"\n         ],\n         "Temporary room": [\n            null,\n            "Vorübergehender Raum"\n         ],\n         "Unmoderated": [\n            null,\n            "Unmoderiert"\n         ],\n         "This user is a moderator": [\n            null,\n            "Dieser Benutzer ist ein Moderator"\n         ],\n         "This user can send messages in this room": [\n            null,\n            "Dieser Benutzer kann Nachrichten in diesem Raum verschicken"\n         ],\n         "This user can NOT send messages in this room": [\n            null,\n            "Dieser Benutzer kann keine Nachrichten in diesem Raum verschicken"\n         ],\n         "Invite...": [\n            null,\n            "Einladen..."\n         ],\n         "Occupants": [\n            null,\n            "Teilnehmer"\n         ],\n         "You are about to invite %1$s to the chat room \\"%2$s\\". ": [\n            null,\n            ""\n         ],\n         "You may optionally include a message, explaining the reason for the invitation.": [\n            null,\n            ""\n         ],\n         "Message": [\n            null,\n            "Nachricht"\n         ],\n         "Error: could not execute the command": [\n            null,\n            "Fehler: Konnte den Befehl nicht ausführen"\n         ],\n         "Error: the \\"": [\n            null,\n            ""\n         ],\n         "Change user\'s affiliation to admin": [\n            null,\n            ""\n         ],\n         "Ban user from room": [\n            null,\n            "Verbanne einen Benutzer aus dem Raum."\n         ],\n         "Kick user from room": [\n            null,\n            "Werfe einen Benutzer aus dem Raum."\n         ],\n         "Write in 3rd person": [\n            null,\n            "In der dritten Person schreiben"\n         ],\n         "Grant membership to a user": [\n            null,\n            ""\n         ],\n         "Remove user\'s ability to post messages": [\n            null,\n            ""\n         ],\n         "Change your nickname": [\n            null,\n            "Spitznamen ändern"\n         ],\n         "Grant moderator role to user": [\n            null,\n            ""\n         ],\n         "Grant ownership of this room": [\n            null,\n            "Besitzrechte an diesem Raum vergeben"\n         ],\n         "Revoke user\'s membership": [\n            null,\n            ""\n         ],\n         "Set room topic": [\n            null,\n            "Chatraum Thema festlegen"\n         ],\n         "Allow muted user to post messages": [\n            null,\n            ""\n         ],\n         "Save": [\n            null,\n            "Speichern"\n         ],\n         "Cancel": [\n            null,\n            "Abbrechen"\n         ],\n         "An error occurred while trying to save the form.": [\n            null,\n            "Beim Speichern des Formulars ist ein Fehler aufgetreten."\n         ],\n         "This chatroom requires a password": [\n            null,\n            "Dieser Raum erfordert ein Passwort"\n         ],\n         "Password: ": [\n            null,\n            "Passwort: "\n         ],\n         "Submit": [\n            null,\n            "Abschicken"\n         ],\n         "This room is not anonymous": [\n            null,\n            "Dieser Raum ist nicht anonym"\n         ],\n         "This room now shows unavailable members": [\n            null,\n            "Dieser Raum zeigt jetzt nicht verfügbare Mitglieder an"\n         ],\n         "This room does not show unavailable members": [\n            null,\n            "Dieser Raum zeigt jetzt nicht verfügbare Mitglieder nicht an"\n         ],\n         "Non-privacy-related room configuration has changed": [\n            null,\n            "Die Raumkonfiguration hat sich geändert (nicht Privatsphäre relevant)"\n         ],\n         "Room logging is now enabled": [\n            null,\n            "Nachrichten in diesem Raum werden ab jetzt protokolliert."\n         ],\n         "Room logging is now disabled": [\n            null,\n            "Nachrichten in diesem Raum werden nicht mehr protokolliert."\n         ],\n         "This room is now non-anonymous": [\n            null,\n            "Dieser Raum ist jetzt nicht anonym"\n         ],\n         "This room is now semi-anonymous": [\n            null,\n            "Dieser Raum ist jetzt teils anonym"\n         ],\n         "This room is now fully-anonymous": [\n            null,\n            "Dieser Raum ist jetzt anonym"\n         ],\n         "A new room has been created": [\n            null,\n            "Ein neuer Raum wurde erstellt"\n         ],\n         "You have been banned from this room": [\n            null,\n            "Sie sind aus diesem Raum verbannt worden"\n         ],\n         "You have been kicked from this room": [\n            null,\n            "Sie wurden aus diesem Raum hinausgeworfen"\n         ],\n         "You have been removed from this room because of an affiliation change": [\n            null,\n            "Sie wurden wegen einer Zugehörigkeitsänderung entfernt"\n         ],\n         "You have been removed from this room because the room has changed to members-only and you\'re not a member": [\n            null,\n            "Sie wurden aus diesem Raum entfernt, da Sie kein Mitglied sind."\n         ],\n         "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.": [\n            null,\n            "Sie wurden aus diesem Raum entfernt, da der MUC (Multi-User Chat) Dienst gerade heruntergefahren wird."\n         ],\n         "<strong>%1$s</strong> has been banned": [\n            null,\n            "<strong>%1$s</strong> ist verbannt worden"\n         ],\n         "<strong>%1$s</strong>\'s nickname has changed": [\n            null,\n            "<strong>%1$s</strong> hat den Spitznamen geändert"\n         ],\n         "<strong>%1$s</strong> has been kicked out": [\n            null,\n            "<strong>%1$s</strong> wurde hinausgeworfen"\n         ],\n         "<strong>%1$s</strong> has been removed because of an affiliation change": [\n            null,\n            "<strong>%1$s</strong> wurde wegen einer Zugehörigkeitsänderung entfernt"\n         ],\n         "<strong>%1$s</strong> has been removed for not being a member": [\n            null,\n            "<strong>%1$s</strong> ist kein Mitglied und wurde daher entfernt"\n         ],\n         "Your nickname has been automatically changed to: <strong>%1$s</strong>": [\n            null,\n            "Ihr Spitzname wurde automatisiert geändert zu: <strong>%1$s</strong>"\n         ],\n         "Your nickname has been changed to: <strong>%1$s</strong>": [\n            null,\n            "Ihr Spitzname wurde geändert zu: <strong>%1$s</strong>"\n         ],\n         "The reason given is: \\"": [\n            null,\n            "Die angegebene Begründung lautet: \\""\n         ],\n         "You are not on the member list of this room": [\n            null,\n            "Sie sind nicht auf der Mitgliederliste dieses Raums"\n         ],\n         "No nickname was specified": [\n            null,\n            "Kein Spitzname festgelegt"\n         ],\n         "You are not allowed to create new rooms": [\n            null,\n            "Es ist Ihnen nicht erlaubt neue Räume anzulegen"\n         ],\n         "Your nickname doesn\'t conform to this room\'s policies": [\n            null,\n            "Ungültiger Spitzname"\n         ],\n         "Your nickname is already taken": [\n            null,\n            "Ihre Spitzname existiert bereits."\n         ],\n         "This room does not (yet) exist": [\n            null,\n            "Dieser Raum existiert (noch) nicht"\n         ],\n         "This room has reached it\'s maximum number of occupants": [\n            null,\n            "Dieser Raum hat die maximale Mitgliederanzahl erreicht"\n         ],\n         "Topic set by %1$s to: %2$s": [\n            null,\n            "%1$s hat das Thema zu \\"%2$s\\" geändert"\n         ],\n         "%1$s has invited you to join a chat room: %2$s": [\n            null,\n            "%1$s hat Sie in den Raum \\"%2$s\\" eingeladen"\n         ],\n         "%1$s has invited you to join a chat room: %2$s, and left the following reason: \\"%3$s\\"": [\n            null,\n            "%1$s hat Sie in den Raum \\"%2$s\\" eingeladen. Begründung: \\"%3$s\\""\n         ],\n         "Click to restore this chat": [\n            null,\n            "Hier klicken um diesen Chat wiederherzustellen"\n         ],\n         "Minimized": [\n            null,\n            "Minimiert"\n         ],\n         "Click to remove this contact": [\n            null,\n            "Hier klicken um diesen Kontakt zu entfernen"\n         ],\n         "Click to accept this contact request": [\n            null,\n            "Hier klicken um diese Kontaktanfrage zu akzeptieren"\n         ],\n         "Click to decline this contact request": [\n            null,\n            "Hier klicken um diese Kontaktanfrage zu abzulehnen"\n         ],\n         "Click to chat with this contact": [\n            null,\n            "Hier klicken um mit diesem Kontakt zu chatten"\n         ],\n         "Name": [\n            null,\n            ""\n         ],\n         "Are you sure you want to remove this contact?": [\n            null,\n            "Wollen Sie diesen Kontakt wirklich entfernen?"\n         ],\n         "Sorry, there was an error while trying to remove ": [\n            null,\n            ""\n         ],\n         "Are you sure you want to decline this contact request?": [\n            null,\n            "Wollen Sie diese Kontaktanfrage wirklich ablehnen?"\n         ],\n         "Sorry, there was an error while trying to add ": [\n            null,\n            ""\n         ],\n         "This client does not allow presence subscriptions": [\n            null,\n            ""\n         ],\n         "Type to filter": [\n            null,\n            "Tippen um zu filtern"\n         ],\n         "I am %1$s": [\n            null,\n            "Ich bin %1$s"\n         ],\n         "Click here to write a custom status message": [\n            null,\n            "Hier klicken um Statusnachricht zu ändern"\n         ],\n         "Click to change your chat status": [\n            null,\n            "Hier klicken um Status zu ändern"\n         ],\n         "Custom status": [\n            null,\n            "Statusnachricht"\n         ],\n         "online": [\n            null,\n            "online"\n         ],\n         "busy": [\n            null,\n            "beschäftigt"\n         ],\n         "away for long": [\n            null,\n            "länger abwesend"\n         ],\n         "away": [\n            null,\n            "abwesend"\n         ],\n         "Your XMPP provider\'s domain name:": [\n            null,\n            ""\n         ],\n         "Fetch registration form": [\n            null,\n            ""\n         ],\n         "Tip: A list of public XMPP providers is available": [\n            null,\n            ""\n         ],\n         "here": [\n            null,\n            ""\n         ],\n         "Register": [\n            null,\n            ""\n         ],\n         "Sorry, the given provider does not support in band account registration. Please try with a different provider.": [\n            null,\n            ""\n         ],\n         "Requesting a registration form from the XMPP server": [\n            null,\n            ""\n         ],\n         "Something went wrong while establishing a connection with \\"%1$s\\". Are you sure it exists?": [\n            null,\n            ""\n         ],\n         "Now logging you in": [\n            null,\n            ""\n         ],\n         "Registered successfully": [\n            null,\n            ""\n         ],\n         "Return": [\n            null,\n            "Zurück"\n         ],\n         "The provider rejected your registration attempt. Please check the values you entered for correctness.": [\n            null,\n            ""\n         ],\n         "XMPP Username:": [\n            null,\n            "XMPP Benutzername"\n         ],\n         "Password:": [\n            null,\n            "Passwort:"\n         ],\n         "Click here to log in anonymously": [\n            null,\n            "Hier klicken um anonym anzumelden"\n         ],\n         "Log In": [\n            null,\n            "Anmelden"\n         ],\n         "user@server": [\n            null,\n            ""\n         ],\n         "Sign in": [\n            null,\n            "Anmelden"\n         ],\n         "Toggle chat": [\n            null,\n            "Chat ein-/ausblenden"\n         ]\n      }\n   }\n}'}),define("text!en",[],function(){return'{\n   "domain": "converse",\n   "locale_data": {\n      "converse": {\n         "": {\n            "domain": "converse",\n            "plural_forms": "nplurals=2; plural=(n != 1);",\n            "lang": "en"\n         },\n         " e.g. conversejs.org": [\n            null,\n            ""\n         ],\n         "unencrypted": [\n            null,\n            ""\n         ],\n         "unverified": [\n            null,\n            ""\n         ],\n         "verified": [\n            null,\n            ""\n         ],\n         "finished": [\n            null,\n            ""\n         ],\n         "This contact is busy": [\n            null,\n            ""\n         ],\n         "This contact is online": [\n            null,\n            ""\n         ],\n         "This contact is offline": [\n            null,\n            ""\n         ],\n         "This contact is unavailable": [\n            null,\n            ""\n         ],\n         "This contact is away for an extended period": [\n            null,\n            ""\n         ],\n         "This contact is away": [\n            null,\n            ""\n         ],\n         "Click to hide these contacts": [\n            null,\n            ""\n         ],\n         "My contacts": [\n            null,\n            ""\n         ],\n         "Pending contacts": [\n            null,\n            ""\n         ],\n         "Contact requests": [\n            null,\n            ""\n         ],\n         "Ungrouped": [\n            null,\n            ""\n         ],\n         "Contacts": [\n            null,\n            ""\n         ],\n         "Groups": [\n            null,\n            ""\n         ],\n         "Attempting to reconnect in 5 seconds": [\n            null,\n            ""\n         ],\n         "Error": [\n            null,\n            ""\n         ],\n         "Connecting": [\n            null,\n            ""\n         ],\n         "Authenticating": [\n            null,\n            ""\n         ],\n         "Authentication Failed": [\n            null,\n            ""\n         ],\n         "Re-establishing encrypted session": [\n            null,\n            ""\n         ],\n         "Generating private key.": [\n            null,\n            ""\n         ],\n         "Your browser might become unresponsive.": [\n            null,\n            ""\n         ],\n         "Authentication request from %1$s\\n\\nYour chat contact is attempting to verify your identity, by asking you the question below.\\n\\n%2$s": [\n            null,\n            ""\n         ],\n         "Could not verify this user\'s identify.": [\n            null,\n            ""\n         ],\n         "Exchanging private key with contact.": [\n            null,\n            ""\n         ],\n         "Close this chat box": [\n            null,\n            ""\n         ],\n         "Minimize this chat box": [\n            null,\n            ""\n         ],\n         "Personal message": [\n            null,\n            ""\n         ],\n         "Are you sure you want to clear the messages from this room?": [\n            null,\n            ""\n         ],\n         "me": [\n            null,\n            ""\n         ],\n         "is typing": [\n            null,\n            ""\n         ],\n         "has stopped typing": [\n            null,\n            ""\n         ],\n         "has gone away": [\n            null,\n            ""\n         ],\n         "Show this menu": [\n            null,\n            "Show this menu"\n         ],\n         "Write in the third person": [\n            null,\n            "Write in the third person"\n         ],\n         "Remove messages": [\n            null,\n            "Remove messages"\n         ],\n         "Are you sure you want to clear the messages from this chat box?": [\n            null,\n            ""\n         ],\n         "Your message could not be sent": [\n            null,\n            ""\n         ],\n         "We received an unencrypted message": [\n            null,\n            ""\n         ],\n         "We received an unreadable encrypted message": [\n            null,\n            ""\n         ],\n         "Here are the fingerprints, please confirm them with %1$s, outside of this chat.\\n\\nFingerprint for you, %2$s: %3$s\\n\\nFingerprint for %1$s: %4$s\\n\\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.": [\n            null,\n            ""\n         ],\n         "You will be prompted to provide a security question and then an answer to that question.\\n\\nYour contact will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.": [\n            null,\n            ""\n         ],\n         "What is your security question?": [\n            null,\n            ""\n         ],\n         "What is the answer to the security question?": [\n            null,\n            ""\n         ],\n         "Invalid authentication scheme provided": [\n            null,\n            ""\n         ],\n         "has gone offline": [\n            null,\n            ""\n         ],\n         "is busy": [\n            null,\n            ""\n         ],\n         "Your messages are not encrypted anymore": [\n            null,\n            ""\n         ],\n         "Your messages are now encrypted but your contact\'s identity has not been verified.": [\n            null,\n            ""\n         ],\n         "Your contact\'s identify has been verified.": [\n            null,\n            ""\n         ],\n         "Your contact has ended encryption on their end, you should do the same.": [\n            null,\n            ""\n         ],\n         "Your messages are not encrypted. Click here to enable OTR encryption.": [\n            null,\n            ""\n         ],\n         "Your messages are encrypted, but your contact has not been verified.": [\n            null,\n            ""\n         ],\n         "Your messages are encrypted and your contact verified.": [\n            null,\n            ""\n         ],\n         "Your contact has closed their end of the private session, you should do the same": [\n            null,\n            ""\n         ],\n         "Clear all messages": [\n            null,\n            ""\n         ],\n         "End encrypted conversation": [\n            null,\n            ""\n         ],\n         "Insert a smiley": [\n            null,\n            ""\n         ],\n         "Hide the list of occupants": [\n            null,\n            ""\n         ],\n         "Refresh encrypted conversation": [\n            null,\n            ""\n         ],\n         "Start a call": [\n            null,\n            ""\n         ],\n         "Start encrypted conversation": [\n            null,\n            ""\n         ],\n         "Verify with fingerprints": [\n            null,\n            ""\n         ],\n         "Verify with SMP": [\n            null,\n            ""\n         ],\n         "What\'s this?": [\n            null,\n            ""\n         ],\n         "Online": [\n            null,\n            ""\n         ],\n         "Busy": [\n            null,\n            ""\n         ],\n         "Away": [\n            null,\n            ""\n         ],\n         "Offline": [\n            null,\n            ""\n         ],\n         "Log out": [\n            null,\n            ""\n         ],\n         "Contact name": [\n            null,\n            ""\n         ],\n         "Search": [\n            null,\n            ""\n         ],\n         "e.g. user@example.com": [\n            null,\n            ""\n         ],\n         "Add": [\n            null,\n            ""\n         ],\n         "Click to add new chat contacts": [\n            null,\n            ""\n         ],\n         "Add a contact": [\n            null,\n            ""\n         ],\n         "No users found": [\n            null,\n            ""\n         ],\n         "Click to add as a chat contact": [\n            null,\n            ""\n         ],\n         "Room name": [\n            null,\n            ""\n         ],\n         "Nickname": [\n            null,\n            ""\n         ],\n         "Server": [\n            null,\n            "Server"\n         ],\n         "Join Room": [\n            null,\n            ""\n         ],\n         "Show rooms": [\n            null,\n            ""\n         ],\n         "Rooms": [\n            null,\n            ""\n         ],\n         "No rooms on %1$s": [\n            null,\n            ""\n         ],\n         "Rooms on %1$s": [\n            null,\n            "Rooms on %1$s"\n         ],\n         "Click to open this room": [\n            null,\n            "Click to open this room"\n         ],\n         "Show more information on this room": [\n            null,\n            "Show more information on this room"\n         ],\n         "Description:": [\n            null,\n            "Description:"\n         ],\n         "Occupants:": [\n            null,\n            "Occupants:"\n         ],\n         "Features:": [\n            null,\n            "Features:"\n         ],\n         "Requires authentication": [\n            null,\n            "Requires authentication"\n         ],\n         "Hidden": [\n            null,\n            "Hidden"\n         ],\n         "Requires an invitation": [\n            null,\n            "Requires an invitation"\n         ],\n         "Moderated": [\n            null,\n            "Moderated"\n         ],\n         "Non-anonymous": [\n            null,\n            "Non-anonymous"\n         ],\n         "Open room": [\n            null,\n            "Open room"\n         ],\n         "Permanent room": [\n            null,\n            "Permanent room"\n         ],\n         "Public": [\n            null,\n            "Public"\n         ],\n         "Semi-anonymous": [\n            null,\n            "Semi-anonymous"\n         ],\n         "Temporary room": [\n            null,\n            "Temporary room"\n         ],\n         "Unmoderated": [\n            null,\n            "Unmoderated"\n         ],\n         "This user is a moderator": [\n            null,\n            "This user is a moderator"\n         ],\n         "This user can send messages in this room": [\n            null,\n            "This user can send messages in this room"\n         ],\n         "This user can NOT send messages in this room": [\n            null,\n            "This user can NOT send messages in this room"\n         ],\n         "Invite...": [\n            null,\n            ""\n         ],\n         "Occupants": [\n            null,\n            ""\n         ],\n         "You are about to invite %1$s to the chat room \\"%2$s\\". ": [\n            null,\n            ""\n         ],\n         "You may optionally include a message, explaining the reason for the invitation.": [\n            null,\n            ""\n         ],\n         "Message": [\n            null,\n            "Message"\n         ],\n         "Error: could not execute the command": [\n            null,\n            ""\n         ],\n         "Error: the \\"": [\n            null,\n            ""\n         ],\n         "Change user\'s affiliation to admin": [\n            null,\n            ""\n         ],\n         "Ban user from room": [\n            null,\n            ""\n         ],\n         "Change user role to occupant": [\n            null,\n            ""\n         ],\n         "Kick user from room": [\n            null,\n            ""\n         ],\n         "Write in 3rd person": [\n            null,\n            ""\n         ],\n         "Grant membership to a user": [\n            null,\n            ""\n         ],\n         "Remove user\'s ability to post messages": [\n            null,\n            ""\n         ],\n         "Change your nickname": [\n            null,\n            ""\n         ],\n         "Grant moderator role to user": [\n            null,\n            ""\n         ],\n         "Grant ownership of this room": [\n            null,\n            ""\n         ],\n         "Revoke user\'s membership": [\n            null,\n            ""\n         ],\n         "Set room topic": [\n            null,\n            ""\n         ],\n         "Allow muted user to post messages": [\n            null,\n            ""\n         ],\n         "Save": [\n            null,\n            "Save"\n         ],\n         "Cancel": [\n            null,\n            "Cancel"\n         ],\n         "An error occurred while trying to save the form.": [\n            null,\n            "An error occurred while trying to save the form."\n         ],\n         "This chatroom requires a password": [\n            null,\n            "This chatroom requires a password"\n         ],\n         "Password: ": [\n            null,\n            "Password: "\n         ],\n         "Submit": [\n            null,\n            "Submit"\n         ],\n         "This room is not anonymous": [\n            null,\n            "This room is not anonymous"\n         ],\n         "This room now shows unavailable members": [\n            null,\n            "This room now shows unavailable members"\n         ],\n         "This room does not show unavailable members": [\n            null,\n            "This room does not show unavailable members"\n         ],\n         "Non-privacy-related room configuration has changed": [\n            null,\n            "Non-privacy-related room configuration has changed"\n         ],\n         "Room logging is now enabled": [\n            null,\n            "Room logging is now enabled"\n         ],\n         "Room logging is now disabled": [\n            null,\n            "Room logging is now disabled"\n         ],\n         "This room is now non-anonymous": [\n            null,\n            "This room is now non-anonymous"\n         ],\n         "This room is now semi-anonymous": [\n            null,\n            "This room is now semi-anonymous"\n         ],\n         "This room is now fully-anonymous": [\n            null,\n            "This room is now fully-anonymous"\n         ],\n         "A new room has been created": [\n            null,\n            "A new room has been created"\n         ],\n         "You have been banned from this room": [\n            null,\n            "You have been banned from this room"\n         ],\n         "You have been kicked from this room": [\n            null,\n            "You have been kicked from this room"\n         ],\n         "You have been removed from this room because of an affiliation change": [\n            null,\n            "You have been removed from this room because of an affiliation change"\n         ],\n         "You have been removed from this room because the room has changed to members-only and you\'re not a member": [\n            null,\n            "You have been removed from this room because the room has changed to members-only and you\'re not a member"\n         ],\n         "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.": [\n            null,\n            "You have been removed from this room because the MUC (Multi-user chat) service is being shut down."\n         ],\n         "<strong>%1$s</strong> has been banned": [\n            null,\n            "<strong>%1$s</strong> has been banned"\n         ],\n         "<strong>%1$s</strong>\'s nickname has changed": [\n            null,\n            ""\n         ],\n         "<strong>%1$s</strong> has been kicked out": [\n            null,\n            "<strong>%1$s</strong> has been kicked out"\n         ],\n         "<strong>%1$s</strong> has been removed because of an affiliation change": [\n            null,\n            "<strong>%1$s</strong> has been removed because of an affiliation change"\n         ],\n         "<strong>%1$s</strong> has been removed for not being a member": [\n            null,\n            "<strong>%1$s</strong> has been removed for not being a member"\n         ],\n         "Your nickname has been automatically changed to: <strong>%1$s</strong>": [\n            null,\n            ""\n         ],\n         "Your nickname has been changed to: <strong>%1$s</strong>": [\n            null,\n            ""\n         ],\n         "The reason given is: \\"": [\n            null,\n            ""\n         ],\n         "You are not on the member list of this room": [\n            null,\n            "You are not on the member list of this room"\n         ],\n         "No nickname was specified": [\n            null,\n            "No nickname was specified"\n         ],\n         "You are not allowed to create new rooms": [\n            null,\n            "You are not allowed to create new rooms"\n         ],\n         "Your nickname doesn\'t conform to this room\'s policies": [\n            null,\n            "Your nickname doesn\'t conform to this room\'s policies"\n         ],\n         "Your nickname is already taken": [\n            null,\n            "Your nickname is already taken"\n         ],\n         "This room does not (yet) exist": [\n            null,\n            "This room does not (yet) exist"\n         ],\n         "This room has reached it\'s maximum number of occupants": [\n            null,\n            "This room has reached it\'s maximum number of occupants"\n         ],\n         "Topic set by %1$s to: %2$s": [\n            null,\n            "Topic set by %1$s to: %2$s"\n         ],\n         "%1$s has invited you to join a chat room: %2$s": [\n            null,\n            ""\n         ],\n         "%1$s has invited you to join a chat room: %2$s, and left the following reason: \\"%3$s\\"": [\n            null,\n            ""\n         ],\n         "Click to restore this chat": [\n            null,\n            ""\n         ],\n         "Minimized": [\n            null,\n            ""\n         ],\n         "Click to remove this contact": [\n            null,\n            "Click to remove this contact"\n         ],\n         "Click to accept this contact request": [\n            null,\n            ""\n         ],\n         "Click to decline this contact request": [\n            null,\n            ""\n         ],\n         "Click to chat with this contact": [\n            null,\n            "Click to chat with this contact"\n         ],\n         "Name": [\n            null,\n            ""\n         ],\n         "Are you sure you want to remove this contact?": [\n            null,\n            ""\n         ],\n         "Sorry, there was an error while trying to remove ": [\n            null,\n            ""\n         ],\n         "Are you sure you want to decline this contact request?": [\n            null,\n            ""\n         ],\n         "Sorry, there was an error while trying to add ": [\n            null,\n            ""\n         ],\n         "This client does not allow presence subscriptions": [\n            null,\n            ""\n         ],\n         "Type to filter": [\n            null,\n            ""\n         ],\n         "I am %1$s": [\n            null,\n            "I am %1$s"\n         ],\n         "Click here to write a custom status message": [\n            null,\n            "Click here to write a custom status message"\n         ],\n         "Click to change your chat status": [\n            null,\n            "Click to change your chat status"\n         ],\n         "Custom status": [\n            null,\n            "Custom status"\n         ],\n         "online": [\n            null,\n            "online"\n         ],\n         "busy": [\n            null,\n            "busy"\n         ],\n         "away for long": [\n            null,\n            "away for long"\n         ],\n         "away": [\n            null,\n            "away"\n         ],\n         "Your XMPP provider\'s domain name:": [\n            null,\n            ""\n         ],\n         "Fetch registration form": [\n            null,\n            ""\n         ],\n         "Tip: A list of public XMPP providers is available": [\n            null,\n            ""\n         ],\n         "here": [\n            null,\n            ""\n         ],\n         "Register": [\n            null,\n            ""\n         ],\n         "Sorry, the given provider does not support in band account registration. Please try with a different provider.": [\n            null,\n            ""\n         ],\n         "Requesting a registration form from the XMPP server": [\n            null,\n            ""\n         ],\n         "Something went wrong while establishing a connection with \\"%1$s\\". Are you sure it exists?": [\n            null,\n            ""\n         ],\n         "Now logging you in": [\n            null,\n            ""\n         ],\n         "Registered successfully": [\n            null,\n            ""\n         ],\n         "Return": [\n            null,\n            ""\n         ],\n         "The provider rejected your registration attempt. Please check the values you entered for correctness.": [\n            null,\n            ""\n         ],\n         "XMPP Username:": [\n            null,\n            ""\n         ],\n         "Password:": [\n            null,\n            "Password:"\n         ],\n         "Click here to log in anonymously": [\n            null,\n            "Click here to log in anonymously"\n         ],\n         "Log In": [\n            null,\n            "Log In"\n         ],\n         "user@server": [\n            null,\n            ""\n         ],\n         "Sign in": [\n            null,\n            "Sign in"\n         ],\n         "Toggle chat": [\n            null,\n            ""\n         ]\n      }\n   }\n}'}),define("text!es",[],function(){return'{\n   "domain": "converse",\n   "locale_data": {\n      "converse": {\n         "": {\n            "domain": "converse",\n            "plural_forms": "nplurals=2; plural=(n != 1);",\n            "lang": "es"\n         },\n         " e.g. conversejs.org": [\n            null,\n            ""\n         ],\n         "unencrypted": [\n            null,\n            "texto plano"\n         ],\n         "unverified": [\n            null,\n            "sin verificar"\n         ],\n         "verified": [\n            null,\n            "verificado"\n         ],\n         "finished": [\n            null,\n            "finalizado"\n         ],\n         "This contact is busy": [\n            null,\n            "Este contacto está ocupado"\n         ],\n         "This contact is online": [\n            null,\n            "Este contacto está en línea"\n         ],\n         "This contact is offline": [\n            null,\n            "Este contacto está desconectado"\n         ],\n         "This contact is unavailable": [\n            null,\n            "Este contacto no está disponible"\n         ],\n         "This contact is away for an extended period": [\n            null,\n            "Este contacto está ausente por un largo periodo de tiempo"\n         ],\n         "This contact is away": [\n            null,\n            "Este contacto está ausente"\n         ],\n         "My contacts": [\n            null,\n            "Mis contactos"\n         ],\n         "Pending contacts": [\n            null,\n            "Contactos pendientes"\n         ],\n         "Contact requests": [\n            null,\n            "Solicitudes de contacto"\n         ],\n         "Ungrouped": [\n            null,\n            ""\n         ],\n         "Contacts": [\n            null,\n            "Contactos"\n         ],\n         "Groups": [\n            null,\n            ""\n         ],\n         "Attempting to reconnect in 5 seconds": [\n            null,\n            ""\n         ],\n         "Error": [\n            null,\n            "Error"\n         ],\n         "Connecting": [\n            null,\n            "Conectando"\n         ],\n         "Authenticating": [\n            null,\n            "Autenticando"\n         ],\n         "Authentication Failed": [\n            null,\n            "La autenticación falló"\n         ],\n         "Re-establishing encrypted session": [\n            null,\n            "Re-estableciendo sesión cifrada"\n         ],\n         "Generating private key.": [\n            null,\n            "Generando llave privada"\n         ],\n         "Your browser might become unresponsive.": [\n            null,\n            "Su navegador podría dejar de responder por un momento"\n         ],\n         "Could not verify this user\'s identify.": [\n            null,\n            "No se pudo verificar la identidad de este usuario"\n         ],\n         "Minimize this chat box": [\n            null,\n            ""\n         ],\n         "Personal message": [\n            null,\n            "Mensaje personal"\n         ],\n         "Are you sure you want to clear the messages from this room?": [\n            null,\n            "¿Está seguro de querer limpiar los mensajes de esta sala?"\n         ],\n         "me": [\n            null,\n            "yo"\n         ],\n         "is typing": [\n            null,\n            ""\n         ],\n         "has stopped typing": [\n            null,\n            ""\n         ],\n         "Show this menu": [\n            null,\n            "Mostrar este menú"\n         ],\n         "Write in the third person": [\n            null,\n            "Escribir en tercera persona"\n         ],\n         "Remove messages": [\n            null,\n            "Eliminar mensajes"\n         ],\n         "Are you sure you want to clear the messages from this chat box?": [\n            null,\n            "¿Está seguro de querer limpiar los mensajes de esta conversación?"\n         ],\n         "Your message could not be sent": [\n            null,\n            "Su mensaje no se pudo enviar"\n         ],\n         "We received an unencrypted message": [\n            null,\n            "Se recibío un mensaje sin cifrar"\n         ],\n         "We received an unreadable encrypted message": [\n            null,\n            "Se recibío un mensaje cifrado corrupto"\n         ],\n         "Here are the fingerprints, please confirm them with %1$s, outside of this chat.\\n\\nFingerprint for you, %2$s: %3$s\\n\\nFingerprint for %1$s: %4$s\\n\\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.": [\n            null,\n            "Por favor confirme los identificadores de %1$s fuera de este chat.\\n\\nSu identificador es, %2$s: %3$s\\n\\nEl identificador de %1$s es: %4$s\\n\\nDespués de confirmar los identificadores haga click en OK, cancele si no concuerdan."\n         ],\n         "What is your security question?": [\n            null,\n            "Introduzca su pregunta de seguridad"\n         ],\n         "What is the answer to the security question?": [\n            null,\n            "Introduzca la respuesta a su pregunta de seguridad"\n         ],\n         "Invalid authentication scheme provided": [\n            null,\n            "Esquema de autenticación inválido"\n         ],\n         "Your messages are not encrypted anymore": [\n            null,\n            "Sus mensajes han dejado de cifrarse"\n         ],\n         "Your messages are not encrypted. Click here to enable OTR encryption.": [\n            null,\n            "Sus mensajes no están cifrados. Haga click aquí para habilitar el cifrado OTR"\n         ],\n         "End encrypted conversation": [\n            null,\n            "Finalizar sesión cifrada"\n         ],\n         "Insert a smiley": [\n            null,\n            ""\n         ],\n         "Hide the list of occupants": [\n            null,\n            ""\n         ],\n         "Refresh encrypted conversation": [\n            null,\n            "Actualizar sesión cifrada"\n         ],\n         "Start a call": [\n            null,\n            ""\n         ],\n         "Start encrypted conversation": [\n            null,\n            "Iniciar sesión cifrada"\n         ],\n         "Verify with fingerprints": [\n            null,\n            "Verificar con identificadores"\n         ],\n         "Verify with SMP": [\n            null,\n            "Verificar con SMP"\n         ],\n         "What\'s this?": [\n            null,\n            "¿Qué es esto?"\n         ],\n         "Online": [\n            null,\n            "En línea"\n         ],\n         "Busy": [\n            null,\n            "Ocupado"\n         ],\n         "Away": [\n            null,\n            "Ausente"\n         ],\n         "Offline": [\n            null,\n            "Desconectado"\n         ],\n         "Contact name": [\n            null,\n            "Nombre de contacto"\n         ],\n         "Search": [\n            null,\n            "Búsqueda"\n         ],\n         "e.g. user@example.com": [\n            null,\n            ""\n         ],\n         "Add": [\n            null,\n            "Agregar"\n         ],\n         "Click to add new chat contacts": [\n            null,\n            "Haga click para agregar nuevos contactos al chat"\n         ],\n         "Add a contact": [\n            null,\n            "Agregar un contacto"\n         ],\n         "No users found": [\n            null,\n            "Sin usuarios encontrados"\n         ],\n         "Click to add as a chat contact": [\n            null,\n            "Haga click para agregar como contacto de chat"\n         ],\n         "Room name": [\n            null,\n            "Nombre de sala"\n         ],\n         "Nickname": [\n            null,\n            "Apodo"\n         ],\n         "Server": [\n            null,\n            "Servidor"\n         ],\n         "Show rooms": [\n            null,\n            "Mostrar salas"\n         ],\n         "Rooms": [\n            null,\n            "Salas"\n         ],\n         "No rooms on %1$s": [\n            null,\n            "Sin salas en %1$s"\n         ],\n         "Rooms on %1$s": [\n            null,\n            "Salas en %1$s"\n         ],\n         "Click to open this room": [\n            null,\n            "Haga click para abrir esta sala"\n         ],\n         "Show more information on this room": [\n            null,\n            "Mostrar más información en esta sala"\n         ],\n         "Description:": [\n            null,\n            "Descripción"\n         ],\n         "Occupants:": [\n            null,\n            "Ocupantes:"\n         ],\n         "Features:": [\n            null,\n            "Características:"\n         ],\n         "Requires authentication": [\n            null,\n            "Autenticación requerida"\n         ],\n         "Hidden": [\n            null,\n            "Oculto"\n         ],\n         "Requires an invitation": [\n            null,\n            "Requiere una invitación"\n         ],\n         "Moderated": [\n            null,\n            "Moderado"\n         ],\n         "Non-anonymous": [\n            null,\n            "No anónimo"\n         ],\n         "Open room": [\n            null,\n            "Abrir sala"\n         ],\n         "Permanent room": [\n            null,\n            "Sala permanente"\n         ],\n         "Public": [\n            null,\n            "Pública"\n         ],\n         "Semi-anonymous": [\n            null,\n            "Semi anónimo"\n         ],\n         "Temporary room": [\n            null,\n            "Sala temporal"\n         ],\n         "Unmoderated": [\n            null,\n            "Sin moderar"\n         ],\n         "This user is a moderator": [\n            null,\n            "Este usuario es un moderador"\n         ],\n         "This user can send messages in this room": [\n            null,\n            "Este usuario puede enviar mensajes en esta sala"\n         ],\n         "This user can NOT send messages in this room": [\n            null,\n            "Este usuario NO puede enviar mensajes en esta"\n         ],\n         "Invite...": [\n            null,\n            ""\n         ],\n         "You are about to invite %1$s to the chat room \\"%2$s\\". ": [\n            null,\n            ""\n         ],\n         "You may optionally include a message, explaining the reason for the invitation.": [\n            null,\n            ""\n         ],\n         "Message": [\n            null,\n            "Mensaje"\n         ],\n         "Error: could not execute the command": [\n            null,\n            ""\n         ],\n         "Error: the \\"": [\n            null,\n            ""\n         ],\n         "Change user\'s affiliation to admin": [\n            null,\n            ""\n         ],\n         "Change user role to occupant": [\n            null,\n            ""\n         ],\n         "Grant membership to a user": [\n            null,\n            ""\n         ],\n         "Remove user\'s ability to post messages": [\n            null,\n            ""\n         ],\n         "Change your nickname": [\n            null,\n            ""\n         ],\n         "Grant moderator role to user": [\n            null,\n            ""\n         ],\n         "Revoke user\'s membership": [\n            null,\n            ""\n         ],\n         "Allow muted user to post messages": [\n            null,\n            ""\n         ],\n         "Save": [\n            null,\n            "Guardar"\n         ],\n         "Cancel": [\n            null,\n            "Cancelar"\n         ],\n         "An error occurred while trying to save the form.": [\n            null,\n            "Un error ocurrío mientras se guardaba el formulario."\n         ],\n         "This chatroom requires a password": [\n            null,\n            "Esta sala de chat requiere una contraseña."\n         ],\n         "Password: ": [\n            null,\n            "Contraseña: "\n         ],\n         "Submit": [\n            null,\n            "Enviar"\n         ],\n         "This room is not anonymous": [\n            null,\n            "Esta sala no es para usuarios anónimos"\n         ],\n         "This room now shows unavailable members": [\n            null,\n            "Esta sala ahora muestra los miembros no disponibles"\n         ],\n         "This room does not show unavailable members": [\n            null,\n            "Esta sala no muestra los miembros no disponibles"\n         ],\n         "Non-privacy-related room configuration has changed": [\n            null,\n            "Una configuración de la sala no relacionada con la privacidad ha sido cambiada"\n         ],\n         "Room logging is now enabled": [\n            null,\n            "El registro de la sala ahora está habilitado"\n         ],\n         "Room logging is now disabled": [\n            null,\n            "El registro de la sala ahora está deshabilitado"\n         ],\n         "This room is now non-anonymous": [\n            null,\n            "Esta sala ahora es pública"\n         ],\n         "This room is now semi-anonymous": [\n            null,\n            "Esta sala ahora es semi-anónima"\n         ],\n         "This room is now fully-anonymous": [\n            null,\n            "Esta sala ahora es completamente anónima"\n         ],\n         "A new room has been created": [\n            null,\n            "Una nueva sala ha sido creada"\n         ],\n         "You have been banned from this room": [\n            null,\n            "Usted ha sido bloqueado de esta sala"\n         ],\n         "You have been kicked from this room": [\n            null,\n            "Usted ha sido expulsado de esta sala"\n         ],\n         "You have been removed from this room because of an affiliation change": [\n            null,\n            "Usted ha sido eliminado de esta sala debido a un cambio de afiliación"\n         ],\n         "You have been removed from this room because the room has changed to members-only and you\'re not a member": [\n            null,\n            "Usted ha sido eliminado de esta sala debido a que la sala cambio su configuración a solo-miembros y usted no es un miembro"\n         ],\n         "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.": [\n            null,\n            "Usted ha sido eliminado de esta sala debido a que el servicio MUC (Multi-user chat) está deshabilitado."\n         ],\n         "<strong>%1$s</strong> has been banned": [\n            null,\n            "<strong>%1$s</strong> ha sido bloqueado"\n         ],\n         "<strong>%1$s</strong> has been kicked out": [\n            null,\n            "<strong>%1$s</strong> ha sido expulsado"\n         ],\n         "<strong>%1$s</strong> has been removed because of an affiliation change": [\n            null,\n            "<strong>%1$s</strong> ha sido eliminado debido a un cambio de afiliación"\n         ],\n         "<strong>%1$s</strong> has been removed for not being a member": [\n            null,\n            "<strong>%1$s</strong> ha sido eliminado debido a que no es miembro"\n         ],\n         "The reason given is: \\"": [\n            null,\n            ""\n         ],\n         "You are not on the member list of this room": [\n            null,\n            "Usted no está en la lista de miembros de esta sala"\n         ],\n         "No nickname was specified": [\n            null,\n            "Sin apodo especificado"\n         ],\n         "You are not allowed to create new rooms": [\n            null,\n            "Usted no esta autorizado para crear nuevas salas"\n         ],\n         "Your nickname doesn\'t conform to this room\'s policies": [\n            null,\n            "Su apodo no se ajusta a la política de esta sala"\n         ],\n         "Your nickname is already taken": [\n            null,\n            "Su apodo ya ha sido tomando por otro usuario"\n         ],\n         "This room does not (yet) exist": [\n            null,\n            "Esta sala (aún) no existe"\n         ],\n         "This room has reached it\'s maximum number of occupants": [\n            null,\n            "Esta sala ha alcanzado su número máximo de ocupantes"\n         ],\n         "Topic set by %1$s to: %2$s": [\n            null,\n            "Tema fijado por %1$s a: %2$s"\n         ],\n         "%1$s has invited you to join a chat room: %2$s": [\n            null,\n            ""\n         ],\n         "%1$s has invited you to join a chat room: %2$s, and left the following reason: \\"%3$s\\"": [\n            null,\n            ""\n         ],\n         "Click to restore this chat": [\n            null,\n            "Haga click para eliminar este contacto"\n         ],\n         "Minimized": [\n            null,\n            "Minimizado"\n         ],\n         "Click to remove this contact": [\n            null,\n            "Haga click para eliminar este contacto"\n         ],\n         "Click to chat with this contact": [\n            null,\n            "Haga click para conversar con este contacto"\n         ],\n         "Name": [\n            null,\n            ""\n         ],\n         "Are you sure you want to remove this contact?": [\n            null,\n            "¿Esta seguro de querer eliminar este contacto?"\n         ],\n         "Sorry, there was an error while trying to remove ": [\n            null,\n            ""\n         ],\n         "Sorry, there was an error while trying to add ": [\n            null,\n            ""\n         ],\n         "This client does not allow presence subscriptions": [\n            null,\n            ""\n         ],\n         "Type to filter": [\n            null,\n            ""\n         ],\n         "I am %1$s": [\n            null,\n            "Estoy %1$s"\n         ],\n         "Click here to write a custom status message": [\n            null,\n            "Haga click para escribir un mensaje de estatus personalizado"\n         ],\n         "Click to change your chat status": [\n            null,\n            "Haga click para cambiar su estatus de chat"\n         ],\n         "Custom status": [\n            null,\n            "Personalizar estatus"\n         ],\n         "online": [\n            null,\n            "en línea"\n         ],\n         "busy": [\n            null,\n            "ocupado"\n         ],\n         "away for long": [\n            null,\n            "ausente por mucho tiempo"\n         ],\n         "away": [\n            null,\n            "ausente"\n         ],\n         "Your XMPP provider\'s domain name:": [\n            null,\n            ""\n         ],\n         "Fetch registration form": [\n            null,\n            ""\n         ],\n         "Tip: A list of public XMPP providers is available": [\n            null,\n            ""\n         ],\n         "here": [\n            null,\n            ""\n         ],\n         "Register": [\n            null,\n            ""\n         ],\n         "Sorry, the given provider does not support in band account registration. Please try with a different provider.": [\n            null,\n            ""\n         ],\n         "Requesting a registration form from the XMPP server": [\n            null,\n            ""\n         ],\n         "Something went wrong while establishing a connection with \\"%1$s\\". Are you sure it exists?": [\n            null,\n            ""\n         ],\n         "Now logging you in": [\n            null,\n            ""\n         ],\n         "Registered successfully": [\n            null,\n            ""\n         ],\n         "Return": [\n            null,\n            ""\n         ],\n         "The provider rejected your registration attempt. Please check the values you entered for correctness.": [\n            null,\n            ""\n         ],\n         "Password:": [\n            null,\n            "Contraseña:"\n         ],\n         "Log In": [\n            null,\n            "Iniciar sesión"\n         ],\n         "user@server": [\n            null,\n            ""\n         ],\n         "Sign in": [\n            null,\n            "Registrar"\n         ],\n         "Toggle chat": [\n            null,\n            "Chat"\n         ]\n      }\n   }\n}'}),define("text!fr",[],function(){return'{\n   "domain": "converse",\n   "locale_data": {\n      "converse": {\n         "": {\n            "domain": "converse",\n            "plural_forms": "nplurals=2; plural=(n != 1);",\n            "lang": "fr"\n         },\n         " e.g. conversejs.org": [\n            null,\n            ""\n         ],\n         "unencrypted": [\n            null,\n            "non crypté"\n         ],\n         "unverified": [\n            null,\n            "non vérifié"\n         ],\n         "verified": [\n            null,\n            "vérifié"\n         ],\n         "finished": [\n            null,\n            "terminé"\n         ],\n         "This contact is busy": [\n            null,\n            "Ce contact est occupé"\n         ],\n         "This contact is online": [\n            null,\n            "Ce contact est connecté"\n         ],\n         "This contact is offline": [\n            null,\n            "Ce contact est déconnecté"\n         ],\n         "This contact is unavailable": [\n            null,\n            "Ce contact est indisponible"\n         ],\n         "This contact is away for an extended period": [\n            null,\n            "Ce contact est absent"\n         ],\n         "This contact is away": [\n            null,\n            "Ce contact est absent"\n         ],\n         "Click to hide these contacts": [\n            null,\n            "Cliquez pour cacher ces contacts"\n         ],\n         "My contacts": [\n            null,\n            "Mes contacts"\n         ],\n         "Pending contacts": [\n            null,\n            "Contacts en attente"\n         ],\n         "Contact requests": [\n            null,\n            "Demandes de contacts"\n         ],\n         "Ungrouped": [\n            null,\n            "Sans groupe"\n         ],\n         "Contacts": [\n            null,\n            "Contacts"\n         ],\n         "Groups": [\n            null,\n            "Groupes"\n         ],\n         "Attempting to reconnect in 5 seconds": [\n            null,\n            ""\n         ],\n         "Error": [\n            null,\n            "Erreur"\n         ],\n         "Connecting": [\n            null,\n            "Connexion"\n         ],\n         "Authenticating": [\n            null,\n            "Authentification"\n         ],\n         "Authentication Failed": [\n            null,\n            "L\'authentification a échoué"\n         ],\n         "Re-establishing encrypted session": [\n            null,\n            "Rétablissement de la session encryptée"\n         ],\n         "Generating private key.": [\n            null,\n            "Génération de la clé privée"\n         ],\n         "Your browser might become unresponsive.": [\n            null,\n            "Votre navigateur pourrait ne plus répondre"\n         ],\n         "Authentication request from %1$s\\n\\nYour chat contact is attempting to verify your identity, by asking you the question below.\\n\\n%2$s": [\n            null,\n            "Demande d\'authentification de %1$s\\n\\nVotre contact tente de vérifier votre identité, en vous posant la question ci-dessous.\\n\\n%2$s"\n         ],\n         "Could not verify this user\'s identify.": [\n            null,\n            "L\'identité de cet utilisateur ne peut pas être vérifiée"\n         ],\n         "Exchanging private key with contact.": [\n            null,\n            "Échange de clé privée avec le contact"\n         ],\n         "Minimize this chat box": [\n            null,\n            ""\n         ],\n         "Personal message": [\n            null,\n            "Message personnel"\n         ],\n         "Are you sure you want to clear the messages from this room?": [\n            null,\n            "Etes-vous sûr de vouloir supprimer les messages de ce salon ?"\n         ],\n         "me": [\n            null,\n            "moi"\n         ],\n         "is typing": [\n            null,\n            "écrit"\n         ],\n         "has stopped typing": [\n            null,\n            "a arrêté d\'écrire"\n         ],\n         "has gone away": [\n            null,\n            "est parti"\n         ],\n         "Show this menu": [\n            null,\n            "Afficher ce menu"\n         ],\n         "Write in the third person": [\n            null,\n            "Écrire à la troisième personne"\n         ],\n         "Remove messages": [\n            null,\n            "Effacer les messages"\n         ],\n         "Are you sure you want to clear the messages from this chat box?": [\n            null,\n            "Êtes-vous sûr de vouloir supprimer les messages de cette conversation?"\n         ],\n         "Your message could not be sent": [\n            null,\n            "Votre message ne peut pas être envoyé"\n         ],\n         "We received an unencrypted message": [\n            null,\n            "Un message non crypté a été reçu"\n         ],\n         "We received an unreadable encrypted message": [\n            null,\n            "Un message crypté illisible a été reçu"\n         ],\n         "Here are the fingerprints, please confirm them with %1$s, outside of this chat.\\n\\nFingerprint for you, %2$s: %3$s\\n\\nFingerprint for %1$s: %4$s\\n\\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.": [\n            null,\n            "Voici les empreintes de sécurité, veuillez les confirmer avec %1$s, en dehors de ce chat.\\n\\nEmpreinte pour vous, %2$s: %3$s\\n\\nEmpreinte pour %1$s: %4$s\\n\\nSi vous avez confirmé que les empreintes correspondent, cliquez OK, sinon cliquez Annuler."\n         ],\n         "You will be prompted to provide a security question and then an answer to that question.\\n\\nYour contact will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.": [\n            null,\n            "Vous allez être invité à fournir une question de sécurité et une réponse à cette question.\\n\\nVotre contact devra répondre à la même question et s\'il fournit la même réponse (sensible à la casse), son identité sera vérifiée."\n         ],\n         "What is your security question?": [\n            null,\n            "Quelle est votre question de sécurité?"\n         ],\n         "What is the answer to the security question?": [\n            null,\n            "Quelle est la réponse à la question de sécurité?"\n         ],\n         "Invalid authentication scheme provided": [\n            null,\n            "Schéma d\'authentification fourni non valide"\n         ],\n         "has gone offline": [\n            null,\n            "s\'est déconnecté"\n         ],\n         "is busy": [\n            null,\n            "est occupé"\n         ],\n         "Your messages are not encrypted anymore": [\n            null,\n            "Vos messages ne sont plus cryptés"\n         ],\n         "Your messages are now encrypted but your contact\'s identity has not been verified.": [\n            null,\n            "Vos messages sont maintenant cryptés mais l\'identité de votre contact n\'a pas econre été véfifiée"\n         ],\n         "Your contact\'s identify has been verified.": [\n            null,\n            "L\'identité de votre contact a été vérifiée"\n         ],\n         "Your contact has ended encryption on their end, you should do the same.": [\n            null,\n            "Votre contact a arrêté le cryptage de son côté, vous devriez le faire aussi"\n         ],\n         "Your messages are not encrypted. Click here to enable OTR encryption.": [\n            null,\n            "Vos messges ne sont pas cryptés. Cliquez ici pour activer le cryptage OTR"\n         ],\n         "Your messages are encrypted, but your contact has not been verified.": [\n            null,\n            "Vos messges sont cryptés, mais votre contact n\'a pas été vérifié"\n         ],\n         "Your messages are encrypted and your contact verified.": [\n            null,\n            "Vos messages sont cryptés et votre contact est vérifié"\n         ],\n         "Your contact has closed their end of the private session, you should do the same": [\n            null,\n            "Votre contact a fermé la session privée de son côté, vous devriez le faire aussi"\n         ],\n         "Clear all messages": [\n            null,\n            "Supprimer tous les messages"\n         ],\n         "End encrypted conversation": [\n            null,\n            "Terminer la conversation cryptée"\n         ],\n         "Insert a smiley": [\n            null,\n            ""\n         ],\n         "Refresh encrypted conversation": [\n            null,\n            "Actualiser la conversation cryptée"\n         ],\n         "Start a call": [\n            null,\n            "Démarrer un appel"\n         ],\n         "Start encrypted conversation": [\n            null,\n            "Démarrer une conversation cryptée"\n         ],\n         "Verify with fingerprints": [\n            null,\n            "Vérifier par empreintes de sécurité"\n         ],\n         "Verify with SMP": [\n            null,\n            "Vérifier par Question/Réponse"\n         ],\n         "What\'s this?": [\n            null,\n            "Qu\'est-ce qu\'une conversation cryptée?"\n         ],\n         "Online": [\n            null,\n            "En ligne"\n         ],\n         "Busy": [\n            null,\n            "Occupé"\n         ],\n         "Away": [\n            null,\n            "Absent"\n         ],\n         "Offline": [\n            null,\n            "Déconnecté"\n         ],\n         "Log out": [\n            null,\n            "Se déconnecter"\n         ],\n         "Contact name": [\n            null,\n            "Nom du contact"\n         ],\n         "Search": [\n            null,\n            "Rechercher"\n         ],\n         "e.g. user@example.com": [\n            null,\n            ""\n         ],\n         "Add": [\n            null,\n            "Ajouter"\n         ],\n         "Click to add new chat contacts": [\n            null,\n            "Cliquez pour ajouter de nouveaux contacts"\n         ],\n         "Add a contact": [\n            null,\n            "Ajouter un contact"\n         ],\n         "No users found": [\n            null,\n            "Aucun utilisateur trouvé"\n         ],\n         "Click to add as a chat contact": [\n            null,\n            "Cliquer pour ajouter aux contacts"\n         ],\n         "Room name": [\n            null,\n            "Nom du salon"\n         ],\n         "Nickname": [\n            null,\n            "Alias"\n         ],\n         "Server": [\n            null,\n            "Serveur"\n         ],\n         "Join Room": [\n            null,\n            "Rejoindre"\n         ],\n         "Show rooms": [\n            null,\n            "Afficher les salons"\n         ],\n         "Rooms": [\n            null,\n            "Salons"\n         ],\n         "No rooms on %1$s": [\n            null,\n            "Aucun salon dans %1$s"\n         ],\n         "Rooms on %1$s": [\n            null,\n            "Salons dans %1$s"\n         ],\n         "Click to open this room": [\n            null,\n            "Cliquer pour ouvrir ce salon"\n         ],\n         "Show more information on this room": [\n            null,\n            "Afficher davantage d\'informations sur ce salon"\n         ],\n         "Description:": [\n            null,\n            "Description:"\n         ],\n         "Occupants:": [\n            null,\n            "Participants:"\n         ],\n         "Features:": [\n            null,\n            "Caractéristiques:"\n         ],\n         "Requires authentication": [\n            null,\n            "Nécessite une authentification"\n         ],\n         "Hidden": [\n            null,\n            "Masqué"\n         ],\n         "Requires an invitation": [\n            null,\n            "Nécessite une invitation"\n         ],\n         "Moderated": [\n            null,\n            "Modéré"\n         ],\n         "Non-anonymous": [\n            null,\n            "Non-anonyme"\n         ],\n         "Open room": [\n            null,\n            "Ouvrir un salon"\n         ],\n         "Permanent room": [\n            null,\n            "Salon permanent"\n         ],\n         "Public": [\n            null,\n            "Public"\n         ],\n         "Semi-anonymous": [\n            null,\n            "Semi-anonyme"\n         ],\n         "Temporary room": [\n            null,\n            "Salon temporaire"\n         ],\n         "Unmoderated": [\n            null,\n            "Non modéré"\n         ],\n         "This user is a moderator": [\n            null,\n            "Cet utilisateur est modérateur"\n         ],\n         "This user can send messages in this room": [\n            null,\n            "Cet utilisateur peut envoyer des messages dans ce salon"\n         ],\n         "This user can NOT send messages in this room": [\n            null,\n            "Cet utilisateur ne peut PAS envoyer de messages dans ce salon"\n         ],\n         "Invite...": [\n            null,\n            "Inviter..."\n         ],\n         "Occupants": [\n            null,\n            "Participants:"\n         ],\n         "You are about to invite %1$s to the chat room \\"%2$s\\". ": [\n            null,\n            "Vous vous apprêtez à inviter %1$s dans le salon \\"%2$s\\". "\n         ],\n         "You may optionally include a message, explaining the reason for the invitation.": [\n            null,\n            "Vous pouvez facultativement ajouter un message, expliquant la raison de cette invitation."\n         ],\n         "Message": [\n            null,\n            "Message"\n         ],\n         "Error: could not execute the command": [\n            null,\n            "Erreur: la commande ne peut pas être exécutée"\n         ],\n         "Error: the \\"": [\n            null,\n            ""\n         ],\n         "Change user\'s affiliation to admin": [\n            null,\n            "Changer le rôle  de l\'utilisateur en administrateur"\n         ],\n         "Ban user from room": [\n            null,\n            "Bannir l\'utilisateur du salon"\n         ],\n         "Kick user from room": [\n            null,\n            "Expulser l\'utilisateur du salon"\n         ],\n         "Write in 3rd person": [\n            null,\n            "Écrire à la troisième personne"\n         ],\n         "Grant membership to a user": [\n            null,\n            "Autoriser l\'utilisateur à être membre"\n         ],\n         "Remove user\'s ability to post messages": [\n            null,\n            "Retirer le droit d\'envoyer des messages"\n         ],\n         "Change your nickname": [\n            null,\n            "Changer votre alias"\n         ],\n         "Grant moderator role to user": [\n            null,\n            "Changer le rôle de l\'utilisateur en modérateur"\n         ],\n         "Grant ownership of this room": [\n            null,\n            "Accorder la propriété à ce salon"\n         ],\n         "Revoke user\'s membership": [\n            null,\n            "Révoquer l\'utilisateur des membres"\n         ],\n         "Set room topic": [\n            null,\n            "Indiquer le sujet du salon"\n         ],\n         "Allow muted user to post messages": [\n            null,\n            "Autoriser les utilisateurs muets à poster des messages"\n         ],\n         "Save": [\n            null,\n            "Enregistrer"\n         ],\n         "Cancel": [\n            null,\n            "Annuler"\n         ],\n         "An error occurred while trying to save the form.": [\n            null,\n            "Une erreur est survenue lors de l\'enregistrement du formulaire."\n         ],\n         "This chatroom requires a password": [\n            null,\n            "Ce salon nécessite un mot de passe."\n         ],\n         "Password: ": [\n            null,\n            "Mot de passe: "\n         ],\n         "Submit": [\n            null,\n            "Soumettre"\n         ],\n         "This room is not anonymous": [\n            null,\n            "Ce salon n\'est pas anonyme"\n         ],\n         "This room now shows unavailable members": [\n            null,\n            "Ce salon affiche maintenant les membres indisponibles"\n         ],\n         "This room does not show unavailable members": [\n            null,\n            "Ce salon n\'affiche pas les membres indisponibles"\n         ],\n         "Non-privacy-related room configuration has changed": [\n            null,\n            "Les paramètres du salon non liés à la confidentialité ont été modifiés"\n         ],\n         "Room logging is now enabled": [\n            null,\n            "Le logging du salon est activé"\n         ],\n         "Room logging is now disabled": [\n            null,\n            "Le logging du salon est désactivé"\n         ],\n         "This room is now non-anonymous": [\n            null,\n            "Ce salon est maintenant non-anonyme"\n         ],\n         "This room is now semi-anonymous": [\n            null,\n            "Ce salon est maintenant semi-anonyme"\n         ],\n         "This room is now fully-anonymous": [\n            null,\n            "Ce salon est maintenant entièrement anonyme"\n         ],\n         "A new room has been created": [\n            null,\n            "Un nouveau salon a été créé"\n         ],\n         "You have been banned from this room": [\n            null,\n            "Vous avez été banni de ce salon"\n         ],\n         "You have been kicked from this room": [\n            null,\n            "Vous avez été expulsé de ce salon"\n         ],\n         "You have been removed from this room because of an affiliation change": [\n            null,\n            "Vous avez été retiré de ce salon du fait d\'un changement d\'affiliation"\n         ],\n         "You have been removed from this room because the room has changed to members-only and you\'re not a member": [\n            null,\n            "Vous avez été retiré de ce salon parce que ce salon est devenu réservé aux membres et vous n\'êtes pas membre"\n         ],\n         "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.": [\n            null,\n            "Vous avez été retiré de ce salon parce que le service de chat multi-utilisateur a été désactivé."\n         ],\n         "<strong>%1$s</strong> has been banned": [\n            null,\n            "<strong>%1$s</strong> a été banni"\n         ],\n         "<strong>%1$s</strong>\'s nickname has changed": [\n            null,\n            "<strong>%1$s</strong> a changé son nom"\n         ],\n         "<strong>%1$s</strong> has been kicked out": [\n            null,\n            "<strong>%1$s</strong> a été expulsé"\n         ],\n         "<strong>%1$s</strong> has been removed because of an affiliation change": [\n            null,\n            "<strong>%1$s</strong> a été supprimé à cause d\'un changement d\'affiliation"\n         ],\n         "<strong>%1$s</strong> has been removed for not being a member": [\n            null,\n            "<strong>%1$s</strong> a été supprimé car il n\'est pas membre"\n         ],\n         "Your nickname has been automatically changed to: <strong>%1$s</strong>": [\n            null,\n            "Votre alias a été modifié automatiquement en: <strong>%1$s</strong>"\n         ],\n         "Your nickname has been changed to: <strong>%1$s</strong>": [\n            null,\n            "Votre alias a été modifié en: <strong>%1$s</strong>"\n         ],\n         "The reason given is: \\"": [\n            null,\n            "La raison indiquée est: \\""\n         ],\n         "You are not on the member list of this room": [\n            null,\n            "Vous n\'êtes pas dans la liste des membres de ce salon"\n         ],\n         "No nickname was specified": [\n            null,\n            "Aucun alias n\'a été indiqué"\n         ],\n         "You are not allowed to create new rooms": [\n            null,\n            "Vous n\'êtes pas autorisé à créer des salons"\n         ],\n         "Your nickname doesn\'t conform to this room\'s policies": [\n            null,\n            "Votre alias n\'est pas conforme à la politique de ce salon"\n         ],\n         "Your nickname is already taken": [\n            null,\n            "Votre alias est déjà utilisé"\n         ],\n         "This room does not (yet) exist": [\n            null,\n            "Ce salon n\'existe pas encore"\n         ],\n         "This room has reached it\'s maximum number of occupants": [\n            null,\n            "Ce salon a atteint la limite maximale d\'occupants"\n         ],\n         "Topic set by %1$s to: %2$s": [\n            null,\n            "Le sujet \'%2$s\' a été défini par %1$s"\n         ],\n         "%1$s has invited you to join a chat room: %2$s": [\n            null,\n            "%1$s vous invite à rejoindre le salon: %2$s"\n         ],\n         "%1$s has invited you to join a chat room: %2$s, and left the following reason: \\"%3$s\\"": [\n            null,\n            "%1$s vous invite à rejoindre le salon: %2$s, avec le message suivant:\\"%3$s\\""\n         ],\n         "Click to restore this chat": [\n            null,\n            "Cliquez pour afficher cette discussion"\n         ],\n         "Minimized": [\n            null,\n            "Réduit(s)"\n         ],\n         "Click to remove this contact": [\n            null,\n            "Cliquez pour supprimer ce contact"\n         ],\n         "Click to accept this contact request": [\n            null,\n            "Cliquez pour accepter la demande de ce contact"\n         ],\n         "Click to decline this contact request": [\n            null,\n            "Cliquez pour refuser la demande de ce contact"\n         ],\n         "Click to chat with this contact": [\n            null,\n            "Cliquez pour discuter avec ce contact"\n         ],\n         "Name": [\n            null,\n            ""\n         ],\n         "Are you sure you want to remove this contact?": [\n            null,\n            "Êtes-vous sûr de vouloir supprimer ce contact?"\n         ],\n         "Sorry, there was an error while trying to remove ": [\n            null,\n            ""\n         ],\n         "Are you sure you want to decline this contact request?": [\n            null,\n            "Êtes-vous sûr de vouloir refuser la demande de ce contact?"\n         ],\n         "Sorry, there was an error while trying to add ": [\n            null,\n            ""\n         ],\n         "This client does not allow presence subscriptions": [\n            null,\n            ""\n         ],\n         "Type to filter": [\n            null,\n            "Filtrer"\n         ],\n         "I am %1$s": [\n            null,\n            "Je suis %1$s"\n         ],\n         "Click here to write a custom status message": [\n            null,\n            "Cliquez ici pour indiquer votre statut personnel"\n         ],\n         "Click to change your chat status": [\n            null,\n            "Cliquez pour changer votre statut"\n         ],\n         "Custom status": [\n            null,\n            "Statut personnel"\n         ],\n         "online": [\n            null,\n            "en ligne"\n         ],\n         "busy": [\n            null,\n            "occupé"\n         ],\n         "away for long": [\n            null,\n            "absent pour une longue durée"\n         ],\n         "away": [\n            null,\n            "absent"\n         ],\n         "Your XMPP provider\'s domain name:": [\n            null,\n            "Votre domaine XMPP:"\n         ],\n         "Fetch registration form": [\n            null,\n            "Récupération du formulaire d\'enregistrement"\n         ],\n         "Tip: A list of public XMPP providers is available": [\n            null,\n            "Astuce: Une liste publique de fournisseurs XMPP est disponible"\n         ],\n         "here": [\n            null,\n            "ici"\n         ],\n         "Register": [\n            null,\n            "S\'enregistrer"\n         ],\n         "Sorry, the given provider does not support in band account registration. Please try with a different provider.": [\n            null,\n            "Désolé, le fournisseur indiqué ne supporte pas l\'enregistrement de compte en ligne. Merci d\'essayer avec un autre fournisseur."\n         ],\n         "Requesting a registration form from the XMPP server": [\n            null,\n            "Demande du formulaire enregistrement au serveur XMPP"\n         ],\n         "Something went wrong while establishing a connection with \\"%1$s\\". Are you sure it exists?": [\n            null,\n            "Quelque chose a échoué lors de l\'établissement de la connexion avec \\"%1$s\\". Êtes-vous sure qu\'il existe ?"\n         ],\n         "Now logging you in": [\n            null,\n            "En cours de connexion"\n         ],\n         "Registered successfully": [\n            null,\n            "Enregistré avec succès"\n         ],\n         "Return": [\n            null,\n            "Retourner"\n         ],\n         "XMPP Username:": [\n            null,\n            "Nom d\'utilisateur XMPP/Jabber"\n         ],\n         "Password:": [\n            null,\n            "Mot de passe:"\n         ],\n         "Click here to log in anonymously": [\n            null,\n            "Cliquez ici pour se connecter anonymement"\n         ],\n         "Log In": [\n            null,\n            "Se connecter"\n         ],\n         "user@server": [\n            null,\n            ""\n         ],\n         "Sign in": [\n            null,\n            "S\'inscrire"\n         ],\n         "Toggle chat": [\n            null,\n            "Ouvrir IM"\n         ]\n      }\n   }\n}'}),define("text!he",[],function(){return'{\n   "domain": "converse",\n   "locale_data": {\n      "converse": {\n         "": {\n            "domain": "converse",\n            "plural_forms": "nplurals=2; plural=(n != 1);",\n            "lang": "he"\n         },\n         " e.g. conversejs.org": [\n            null,\n            " למשל conversejs.org"\n         ],\n         "unencrypted": [\n            null,\n            "לא מוצפנת"\n         ],\n         "unverified": [\n            null,\n            "לא מאומתת"\n         ],\n         "verified": [\n            null,\n            "מאומתת"\n         ],\n         "finished": [\n            null,\n            "מוגמרת"\n         ],\n         "This contact is busy": [\n            null,\n            "איש קשר זה עסוק"\n         ],\n         "This contact is online": [\n            null,\n            "איש קשר זה מקוון"\n         ],\n         "This contact is offline": [\n            null,\n            "איש קשר זה אינו מקוון"\n         ],\n         "This contact is unavailable": [\n            null,\n            "איש קשר זה לא זמין"\n         ],\n         "This contact is away for an extended period": [\n            null,\n            "איש קשר זה נעדר למשך זמן ממושך"\n         ],\n         "This contact is away": [\n            null,\n            "איש קשר זה הינו נעדר"\n         ],\n         "Click to hide these contacts": [\n            null,\n            "לחץ כדי להסתיר את אנשי קשר אלה"\n         ],\n         "My contacts": [\n            null,\n            "האנשי קשר שלי"\n         ],\n         "Pending contacts": [\n            null,\n            "אנשי קשר ממתינים"\n         ],\n         "Contact requests": [\n            null,\n            "בקשות איש קשר"\n         ],\n         "Ungrouped": [\n            null,\n            "ללא קבוצה"\n         ],\n         "Contacts": [\n            null,\n            "אנשי קשר"\n         ],\n         "Groups": [\n            null,\n            "קבוצות"\n         ],\n         "Attempting to reconnect in 5 seconds": [\n            null,\n            "מנסה להתחבר בעוד 5 שניות"\n         ],\n         "Error": [\n            null,\n            "שגיאה"\n         ],\n         "Connecting": [\n            null,\n            "כעת מתחבר"\n         ],\n         "Authenticating": [\n            null,\n            "כעת מאמת"\n         ],\n         "Authentication Failed": [\n            null,\n            "אימות נכשל"\n         ],\n         "Re-establishing encrypted session": [\n            null,\n            "בסס מחדש ישיבה מוצפנת"\n         ],\n         "Generating private key.": [\n            null,\n            "כעת מפיק מפתח פרטי."\n         ],\n         "Your browser might become unresponsive.": [\n            null,\n            "הדפדפן שלך עשוי שלא להגיב."\n         ],\n         "Authentication request from %1$s\\n\\nYour chat contact is attempting to verify your identity, by asking you the question below.\\n\\n%2$s": [\n            null,\n            "בקשת אימות מאת %1$s\\n\\nהאיש קשר שלך מנסה לאמת את הזהות שלך, בעזרת שאילת השאלה שלהלן.\\n\\n%2$s"\n         ],\n         "Could not verify this user\'s identify.": [\n            null,\n            "לא היתה אפשרות לאמת את זהות משתמש זה."\n         ],\n         "Exchanging private key with contact.": [\n            null,\n            "מחליף מפתח פרטי עם איש קשר."\n         ],\n         "Minimize this chat box": [\n            null,\n            ""\n         ],\n         "Personal message": [\n            null,\n            "הודעה אישית"\n         ],\n         "Are you sure you want to clear the messages from this room?": [\n            null,\n            "האם אתה בטוח כי ברצונך לטהר את ההודעות מתוך חדר זה?"\n         ],\n         "me": [\n            null,\n            "אני"\n         ],\n         "is typing": [\n            null,\n            "מקליד(ה) כעת"\n         ],\n         "has stopped typing": [\n            null,\n            "חדל(ה) להקליד"\n         ],\n         "has gone away": [\n            null,\n            "נעדר(ת)"\n         ],\n         "Show this menu": [\n            null,\n            "הצג את תפריט זה"\n         ],\n         "Write in the third person": [\n            null,\n            "כתוב בגוף השלישי"\n         ],\n         "Remove messages": [\n            null,\n            "הסר הודעות"\n         ],\n         "Are you sure you want to clear the messages from this chat box?": [\n            null,\n            "האם אתה בטוח כי ברצונך לטהר את ההודעות מתוך תיבת שיחה זה?"\n         ],\n         "Your message could not be sent": [\n            null,\n            "ההודעה שלך לא היתה יכולה להישלח"\n         ],\n         "We received an unencrypted message": [\n            null,\n            "אנחנו קיבלנו הודעה לא מוצפנת"\n         ],\n         "We received an unreadable encrypted message": [\n            null,\n            "אנחנו קיבלנו הודעה מוצפנת לא קריאה"\n         ],\n         "Here are the fingerprints, please confirm them with %1$s, outside of this chat.\\n\\nFingerprint for you, %2$s: %3$s\\n\\nFingerprint for %1$s: %4$s\\n\\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.": [\n            null,\n            "הרי טביעות האצבע, אנא אמת אותן עם %1$s, מחוץ לשיחה זו.\\n\\nטביעת אצבע עבורך, %2$s: %3$s\\n\\nטביעת אצבע עבור %1$s: %4$s\\n\\nהיה ואימתת כי טביעות האצבע תואמות, לחץ אישור (OK), אחרת לחץ ביטול (Cancel)."\n         ],\n         "You will be prompted to provide a security question and then an answer to that question.\\n\\nYour contact will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.": [\n            null,\n            "אתה תתבקש לספק שאלת אבטחה ולאחריה תשובה לשאלה הזו.\\n\\nהאיש קשר יתבקש עובר זאת לאותה שאלת אבטחה ואם אלו יקלידו את אותה התשובה במדויק (case sensitive), זהותם תאומת."\n         ],\n         "What is your security question?": [\n            null,\n            "מהי שאלת האבטחה שלך?"\n         ],\n         "What is the answer to the security question?": [\n            null,\n            "מהי התשובה לשאלת האבטחה?"\n         ],\n         "Invalid authentication scheme provided": [\n            null,\n            "סופקה סכימת אימות שגויה"\n         ],\n         "has gone offline": [\n            null,\n            "כבר לא מקוון"\n         ],\n         "is busy": [\n            null,\n            "עסוק(ה) כעת"\n         ],\n         "Your messages are not encrypted anymore": [\n            null,\n            "ההודעות שלך אינן מוצפנות עוד"\n         ],\n         "Your messages are now encrypted but your contact\'s identity has not been verified.": [\n            null,\n            "ההודעות שלך מוצפנות כעת אך זהות האיש קשר שלך טרם אומתה."\n         ],\n         "Your contact\'s identify has been verified.": [\n            null,\n            "זהות האיש קשר שלך אומתה."\n         ],\n         "Your contact has ended encryption on their end, you should do the same.": [\n            null,\n            "האיש קשר סיים הצפנה בקצה שלהם, עליך לעשות זאת גם כן."\n         ],\n         "Your messages are not encrypted. Click here to enable OTR encryption.": [\n            null,\n            "ההודעות שלך אינן מוצפנות. לחץ כאן כדי לאפשר OTR."\n         ],\n         "Your messages are encrypted, but your contact has not been verified.": [\n            null,\n            "ההודעות שלך מוצפנות כעת, אך האיש קשר שלך טרם אומת."\n         ],\n         "Your messages are encrypted and your contact verified.": [\n            null,\n            "ההודעות שלך מוצפנות כעת והאיש קשר שלך אומת."\n         ],\n         "Your contact has closed their end of the private session, you should do the same": [\n            null,\n            "האיש קשר סגר את קצה ישיבה פרטית שלהם, עליך לעשות זאת גם כן"\n         ],\n         "Clear all messages": [\n            null,\n            "טהר את כל ההודעות"\n         ],\n         "End encrypted conversation": [\n            null,\n            "סיים ישיבה מוצפנת"\n         ],\n         "Insert a smiley": [\n            null,\n            "הכנס סמיילי"\n         ],\n         "Refresh encrypted conversation": [\n            null,\n            "רענן ישיבה מוצפנת"\n         ],\n         "Start a call": [\n            null,\n            "התחל שיחה"\n         ],\n         "Start encrypted conversation": [\n            null,\n            "התחל ישיבה מוצפנת"\n         ],\n         "Verify with fingerprints": [\n            null,\n            "אמת בעזרת טביעות אצבע"\n         ],\n         "Verify with SMP": [\n            null,\n            "אמת בעזרת SMP"\n         ],\n         "What\'s this?": [\n            null,\n            "מה זה?"\n         ],\n         "Online": [\n            null,\n            "מקוון"\n         ],\n         "Busy": [\n            null,\n            "עסוק"\n         ],\n         "Away": [\n            null,\n            "נעדר"\n         ],\n         "Offline": [\n            null,\n            "לא מקוון"\n         ],\n         "Log out": [\n            null,\n            "התנתקות"\n         ],\n         "Contact name": [\n            null,\n            "שם איש קשר"\n         ],\n         "Search": [\n            null,\n            "חיפוש"\n         ],\n         "e.g. user@example.com": [\n            null,\n            "למשל user@example.com"\n         ],\n         "Add": [\n            null,\n            "הוסף"\n         ],\n         "Click to add new chat contacts": [\n            null,\n            "לחץ כדי להוסיף אנשי קשר שיחה חדשים"\n         ],\n         "Add a contact": [\n            null,\n            "הוסף איש קשר"\n         ],\n         "No users found": [\n            null,\n            "לא נמצאו משתמשים"\n         ],\n         "Click to add as a chat contact": [\n            null,\n            "לחץ כדי להוסיף בתור איש קשר שיחה"\n         ],\n         "Room name": [\n            null,\n            "שם חדר"\n         ],\n         "Nickname": [\n            null,\n            "שם כינוי"\n         ],\n         "Server": [\n            null,\n            "שרת"\n         ],\n         "Join Room": [\n            null,\n            "הצטרף לחדר"\n         ],\n         "Show rooms": [\n            null,\n            "הצג חדרים"\n         ],\n         "Rooms": [\n            null,\n            "חדרים"\n         ],\n         "No rooms on %1$s": [\n            null,\n            "אין חדרים על %1$s"\n         ],\n         "Rooms on %1$s": [\n            null,\n            "חדרים על %1$s"\n         ],\n         "Click to open this room": [\n            null,\n            "לחץ כדי לפתוח את חדר זה"\n         ],\n         "Show more information on this room": [\n            null,\n            "הצג עוד מידע אודות חדר זה"\n         ],\n         "Description:": [\n            null,\n            "תיאור:"\n         ],\n         "Occupants:": [\n            null,\n            "נוכחים:"\n         ],\n         "Features:": [\n            null,\n            "תכונות:"\n         ],\n         "Requires authentication": [\n            null,\n            "מצריך אישור"\n         ],\n         "Hidden": [\n            null,\n            "נסתר"\n         ],\n         "Requires an invitation": [\n            null,\n            "מצריך הזמנה"\n         ],\n         "Moderated": [\n            null,\n            "מבוקר"\n         ],\n         "Non-anonymous": [\n            null,\n            "לא-אנונימי"\n         ],\n         "Open room": [\n            null,\n            "חדר פתוח"\n         ],\n         "Permanent room": [\n            null,\n            "חדר צמיתה"\n         ],\n         "Public": [\n            null,\n            "פומבי"\n         ],\n         "Semi-anonymous": [\n            null,\n            "אנונימי-למחצה"\n         ],\n         "Temporary room": [\n            null,\n            "חדר זמני"\n         ],\n         "Unmoderated": [\n            null,\n            "לא מבוקר"\n         ],\n         "This user is a moderator": [\n            null,\n            "משתמש זה הינו אחראי"\n         ],\n         "This user can send messages in this room": [\n            null,\n            "משתמש זה מסוגל לשלוח הודעות בתוך חדר זה"\n         ],\n         "This user can NOT send messages in this room": [\n            null,\n            "משתמש זה ﬥﬡ מסוגל לשלוח הודעות בתוך חדר זה"\n         ],\n         "Invite...": [\n            null,\n            "הזמנה..."\n         ],\n         "Occupants": [\n            null,\n            "נוכחים"\n         ],\n         "You are about to invite %1$s to the chat room \\"%2$s\\". ": [\n            null,\n            "אתה עומד להזמין את %1$s לחדר שיחה \\"%2$s\\". "\n         ],\n         "You may optionally include a message, explaining the reason for the invitation.": [\n            null,\n            "באפשרותך להכליל הודעה, אשר  מסבירה את הסיבה להזמנה."\n         ],\n         "Message": [\n            null,\n            "הודעה"\n         ],\n         "Error: could not execute the command": [\n            null,\n            "שגיאה: לא היתה אפשרות לבצע פקודה"\n         ],\n         "Error: the \\"": [\n            null,\n            ""\n         ],\n         "Change user\'s affiliation to admin": [\n            null,\n            "שנה סינוף משתמש למנהל"\n         ],\n         "Ban user from room": [\n            null,\n            "אסור משתמש מתוך חדר"\n         ],\n         "Kick user from room": [\n            null,\n            "בעט משתמש מתוך חדר"\n         ],\n         "Write in 3rd person": [\n            null,\n            "כתוב בגוף שלישי"\n         ],\n         "Grant membership to a user": [\n            null,\n            "הענק חברות למשתמש"\n         ],\n         "Remove user\'s ability to post messages": [\n            null,\n            "הסר יכולת משתמש לפרסם הודעות"\n         ],\n         "Change your nickname": [\n            null,\n            "שנה את השם כינוי שלך"\n         ],\n         "Grant moderator role to user": [\n            null,\n            "הענק תפקיד אחראי למשתמש"\n         ],\n         "Grant ownership of this room": [\n            null,\n            "הענק בעלות על חדר זה"\n         ],\n         "Revoke user\'s membership": [\n            null,\n            "שלול חברות משתמש"\n         ],\n         "Set room topic": [\n            null,\n            "קבע נושא חדר"\n         ],\n         "Allow muted user to post messages": [\n            null,\n            "התר למשתמש מושתק לפרסם הודעות"\n         ],\n         "Save": [\n            null,\n            "שמור"\n         ],\n         "Cancel": [\n            null,\n            "ביטול"\n         ],\n         "An error occurred while trying to save the form.": [\n            null,\n            "אירעה שגיאה במהלך ניסיון שמירת הטופס."\n         ],\n         "This chatroom requires a password": [\n            null,\n            "חדר שיחה זה מצריך סיסמה"\n         ],\n         "Password: ": [\n            null,\n            "סיסמה: "\n         ],\n         "Submit": [\n            null,\n            "שלח"\n         ],\n         "This room is not anonymous": [\n            null,\n            "חדר זה אינו אנונימי"\n         ],\n         "This room now shows unavailable members": [\n            null,\n            "חדר זה כעת מציג חברים לא זמינים"\n         ],\n         "This room does not show unavailable members": [\n            null,\n            "חדר זה לא מציג חברים לא זמינים"\n         ],\n         "Non-privacy-related room configuration has changed": [\n            null,\n            "תצורת חדר אשר לא-קשורה-בפרטיות שונתה"\n         ],\n         "Room logging is now enabled": [\n            null,\n            "יומן חדר הינו מופעל כעת"\n         ],\n         "Room logging is now disabled": [\n            null,\n            "יומן חדר הינו מנוטרל כעת"\n         ],\n         "This room is now non-anonymous": [\n            null,\n            "חדר זה אינו אנונימי כעת"\n         ],\n         "This room is now semi-anonymous": [\n            null,\n            "חדר זה הינו אנונימי-למחצה כעת"\n         ],\n         "This room is now fully-anonymous": [\n            null,\n            "חדר זה הינו אנונימי-לחלוטין כעת"\n         ],\n         "A new room has been created": [\n            null,\n            "חדר חדש נוצר"\n         ],\n         "You have been banned from this room": [\n            null,\n            "נאסרת מתוך חדר זה"\n         ],\n         "You have been kicked from this room": [\n            null,\n            "נבעטת מתוך חדר זה"\n         ],\n         "You have been removed from this room because of an affiliation change": [\n            null,\n            "הוסרת מתוך חדר זה משום שינוי שיוך"\n         ],\n         "You have been removed from this room because the room has changed to members-only and you\'re not a member": [\n            null,\n            "הוסרת מתוך חדר זה משום שהחדר שונה לחברים-בלבד ואינך במעמד של חבר"\n         ],\n         "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.": [\n            null,\n            "הוסרת מתוך חדר זה משום ששירות שמ״מ (שיחה מרובת משתמשים) זה כעת מצוי בהליכי סגירה."\n         ],\n         "<strong>%1$s</strong> has been banned": [\n            null,\n            "<strong>%1$s</strong> נאסר(ה)"\n         ],\n         "<strong>%1$s</strong>\'s nickname has changed": [\n            null,\n            "השם כינוי של<strong>%1$s</strong> השתנה"\n         ],\n         "<strong>%1$s</strong> has been kicked out": [\n            null,\n            "<strong>%1$s</strong> נבעט(ה)"\n         ],\n         "<strong>%1$s</strong> has been removed because of an affiliation change": [\n            null,\n            "<strong>%1$s</strong> הוסרה(ה) משום שינוי שיוך"\n         ],\n         "<strong>%1$s</strong> has been removed for not being a member": [\n            null,\n            "<strong>%1$s</strong> הוסר(ה) משום אי הימצאות במסגרת מעמד של חבר"\n         ],\n         "Your nickname has been automatically changed to: <strong>%1$s</strong>": [\n            null,\n            "השם כינוי שלך שונה אוטומטית בשם: <strong>%1$s</strong>"\n         ],\n         "Your nickname has been changed to: <strong>%1$s</strong>": [\n            null,\n            "השם כינוי שלך שונה בשם: <strong>%1$s</strong>"\n         ],\n         "The reason given is: \\"": [\n            null,\n            "הסיבה שניתנה היא: \\""\n         ],\n         "You are not on the member list of this room": [\n            null,\n            "אינך ברשימת החברים של חדר זה"\n         ],\n         "No nickname was specified": [\n            null,\n            "לא צוין שום שם כינוי"\n         ],\n         "You are not allowed to create new rooms": [\n            null,\n            "אין לך רשות ליצור חדרים חדשים"\n         ],\n         "Your nickname doesn\'t conform to this room\'s policies": [\n            null,\n            "השם כינוי שלך לא תואם את המדינויות של חדר זה"\n         ],\n         "Your nickname is already taken": [\n            null,\n            "השם כינוי שלך הינו תפוס"\n         ],\n         "This room does not (yet) exist": [\n            null,\n            "חדר זה (עדיין) לא קיים"\n         ],\n         "This room has reached it\'s maximum number of occupants": [\n            null,\n            "חדר זה הגיע לסף הנוכחים המרבי שלו"\n         ],\n         "Topic set by %1$s to: %2$s": [\n            null,\n            "נושא חדר זה נקבע על ידי %1$s אל: %2$s"\n         ],\n         "%1$s has invited you to join a chat room: %2$s": [\n            null,\n            "%1$s הזמינך להצטרף לחדר שיחה: %2$s"\n         ],\n         "%1$s has invited you to join a chat room: %2$s, and left the following reason: \\"%3$s\\"": [\n            null,\n            "%1$s הזמינך להצטרף לחדר שיחה: %2$s, והשאיר את הסיבה הבאה: \\"%3$s\\""\n         ],\n         "Click to restore this chat": [\n            null,\n            "לחץ כדי לשחזר את שיחה זו"\n         ],\n         "Minimized": [\n            null,\n            "ממוזער"\n         ],\n         "Click to remove this contact": [\n            null,\n            "לחץ כדי להסיר את איש קשר זה"\n         ],\n         "Click to accept this contact request": [\n            null,\n            "לחץ כדי לקבל את בקשת איש קשר זה"\n         ],\n         "Click to decline this contact request": [\n            null,\n            "לחץ כדי לסרב את בקשת איש קשר זה"\n         ],\n         "Click to chat with this contact": [\n            null,\n            "לחץ כדי לשוחח עם איש קשר זה"\n         ],\n         "Name": [\n            null,\n            "שם"\n         ],\n         "Are you sure you want to remove this contact?": [\n            null,\n            "האם אתה בטוח כי ברצונך להסיר את איש קשר זה?"\n         ],\n         "Sorry, there was an error while trying to remove ": [\n            null,\n            "מצטערים, היתה שגיאה במהלך ניסיון להסיר את "\n         ],\n         "Are you sure you want to decline this contact request?": [\n            null,\n            "האם אתה בטוח כי ברצונך לסרב את בקשת איש קשר זה?"\n         ],\n         "Sorry, there was an error while trying to add ": [\n            null,\n            "מצטערים, היתה שגיאה במהלך ניסיון הוספת "\n         ],\n         "This client does not allow presence subscriptions": [\n            null,\n            "לקוח זה לא מתיר הרשמות נוכחות"\n         ],\n         "Type to filter": [\n            null,\n            "הקלד כדי לסנן"\n         ],\n         "I am %1$s": [\n            null,\n            "מצבי כעת הינו %1$s"\n         ],\n         "Click here to write a custom status message": [\n            null,\n            "לחץ כאן כדי לכתוב הודעת מצב מותאמת"\n         ],\n         "Click to change your chat status": [\n            null,\n            "לחץ כדי לשנות את הודעת השיחה שלך"\n         ],\n         "Custom status": [\n            null,\n            "מצב מותאם"\n         ],\n         "online": [\n            null,\n            "מקוון"\n         ],\n         "busy": [\n            null,\n            "עסוק"\n         ],\n         "away for long": [\n            null,\n            "נעדר לזמן מה"\n         ],\n         "away": [\n            null,\n            "נעדר"\n         ],\n         "offline": [\n            null,\n            "לא מקוון"\n         ],\n         "Your XMPP provider\'s domain name:": [\n            null,\n            "שם מתחם של ספק XMPP שלך:"\n         ],\n         "Fetch registration form": [\n            null,\n            "משוך טופס הרשמה"\n         ],\n         "Tip: A list of public XMPP providers is available": [\n            null,\n            "טיפ: רשימה פומבית של ספקי XMPP הינה זמינה"\n         ],\n         "here": [\n            null,\n            "כאן"\n         ],\n         "Register": [\n            null,\n            "הירשם"\n         ],\n         "Sorry, the given provider does not support in band account registration. Please try with a different provider.": [\n            null,\n            "מצטערים, הספק שניתן לא תומך ברישום חשבונות in band. אנא נסה עם ספק אחר."\n         ],\n         "Requesting a registration form from the XMPP server": [\n            null,\n            "כעת מבקש טופס הרשמה מתוך שרת XMPP"\n         ],\n         "Something went wrong while establishing a connection with \\"%1$s\\". Are you sure it exists?": [\n            null,\n            "משהו השתבש במהלך ביסוס חיבור עם \\"%1$s\\". האם אתה בטוח כי זה קיים?"\n         ],\n         "Now logging you in": [\n            null,\n            "כעת מחבר אותך פנימה"\n         ],\n         "Registered successfully": [\n            null,\n            "נרשם בהצלחה"\n         ],\n         "Return": [\n            null,\n            "חזור"\n         ],\n         "XMPP Username:": [\n            null,\n            "שם משתמש XMPP:"\n         ],\n         "Password:": [\n            null,\n            "סיסמה:"\n         ],\n         "Click here to log in anonymously": [\n            null,\n            "לחץ כאן כדי להתחבר באופן אנונימי"\n         ],\n         "Log In": [\n            null,\n            "כניסה"\n         ],\n         "user@server": [\n            null,\n            ""\n         ],\n         "password": [\n            null,\n            "סיסמה"\n         ],\n         "Sign in": [\n            null,\n            "התחברות"\n         ],\n         "Toggle chat": [\n            null,\n            "הפעל שיח"\n         ]\n      }\n   }\n}'}),define("text!hu",[],function(){return'{\n   "domain": "converse",\n   "locale_data": {\n      "converse": {\n         "": {\n            "domain": "converse",\n            "lang": "hu"\n         },\n         " e.g. conversejs.org": [\n            null,\n            ""\n         ],\n         "unencrypted": [\n            null,\n            "titkosítatlan"\n         ],\n         "unverified": [\n            null,\n            "nem hitelesített"\n         ],\n         "verified": [\n            null,\n            "hitelesített"\n         ],\n         "finished": [\n            null,\n            "befejezett"\n         ],\n         "This contact is busy": [\n            null,\n            "Elfoglalt"\n         ],\n         "This contact is online": [\n            null,\n            "Elérhető"\n         ],\n         "This contact is offline": [\n            null,\n            "Nincs bejelentkezve"\n         ],\n         "This contact is unavailable": [\n            null,\n            "Elérhetetlen"\n         ],\n         "This contact is away for an extended period": [\n            null,\n            "Hosszabb ideje távol"\n         ],\n         "This contact is away": [\n            null,\n            "Távol"\n         ],\n         "Click to hide these contacts": [\n            null,\n            "A csevegő partnerek elrejtése"\n         ],\n         "My contacts": [\n            null,\n            "Kapcsolataim"\n         ],\n         "Pending contacts": [\n            null,\n            "Függőben levő kapcsolatok"\n         ],\n         "Contact requests": [\n            null,\n            "Kapcsolatnak jelölés"\n         ],\n         "Ungrouped": [\n            null,\n            "Nincs csoportosítva"\n         ],\n         "Contacts": [\n            null,\n            "Kapcsolatok"\n         ],\n         "Groups": [\n            null,\n            "Csoportok"\n         ],\n         "Attempting to reconnect in 5 seconds": [\n            null,\n            ""\n         ],\n         "Error": [\n            null,\n            "Hiba"\n         ],\n         "Connecting": [\n            null,\n            "Kapcsolódás"\n         ],\n         "Authenticating": [\n            null,\n            "Azonosítás"\n         ],\n         "Authentication Failed": [\n            null,\n            "Azonosítási hiba"\n         ],\n         "Re-establishing encrypted session": [\n            null,\n            "Titkosított kapcsolat újraépítése"\n         ],\n         "Generating private key.": [\n            null,\n            "Privát kulcs generálása"\n         ],\n         "Your browser might become unresponsive.": [\n            null,\n            "Előfordulhat, hogy a böngésző futása megáll."\n         ],\n         "Authentication request from %1$s\\n\\nYour chat contact is attempting to verify your identity, by asking you the question below.\\n\\n%2$s": [\n            null,\n            "Azonosítási kérés érkezett: %1$s\\n\\nA csevegő partnere hitelesítést kér a következő kérdés megválaszolásával:\\n\\n%2$s"\n         ],\n         "Could not verify this user\'s identify.": [\n            null,\n            "A felhasználó ellenőrzése sikertelen."\n         ],\n         "Exchanging private key with contact.": [\n            null,\n            "Privát kulcs cseréje..."\n         ],\n         "Minimize this chat box": [\n            null,\n            ""\n         ],\n         "Personal message": [\n            null,\n            "Személyes üzenet"\n         ],\n         "Are you sure you want to clear the messages from this room?": [\n            null,\n            "Törölni szeretné az üzeneteket ebből a szobából?"\n         ],\n         "me": [\n            null,\n            "Én"\n         ],\n         "is typing": [\n            null,\n            "gépel..."\n         ],\n         "has stopped typing": [\n            null,\n            "már nem gépel"\n         ],\n         "Show this menu": [\n            null,\n            "Mutasd a menüt"\n         ],\n         "Write in the third person": [\n            null,\n            "Írjon egyes szám harmadik személyben"\n         ],\n         "Remove messages": [\n            null,\n            "Üzenetek törlése"\n         ],\n         "Are you sure you want to clear the messages from this chat box?": [\n            null,\n            "Törölni szeretné az eddigi üzeneteket?"\n         ],\n         "Your message could not be sent": [\n            null,\n            "Az üzenet elküldése nem sikerült"\n         ],\n         "We received an unencrypted message": [\n            null,\n            "Titkosítatlan üzenet érkezett"\n         ],\n         "We received an unreadable encrypted message": [\n            null,\n            "Visszafejthetetlen titkosított üzenet érkezett"\n         ],\n         "Here are the fingerprints, please confirm them with %1$s, outside of this chat.\\n\\nFingerprint for you, %2$s: %3$s\\n\\nFingerprint for %1$s: %4$s\\n\\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.": [\n            null,\n            "Újjlenyomatok megerősítése.\\n\\nAz Ön újjlenyomata,  %2$s: %3$s\\n\\nA csevegő partnere újjlenyomata, %1$s: %4$s\\n\\nAmennyiben az újjlenyomatok biztosan egyeznek, klikkeljen az OK, ellenkező esetben a Mégsem gombra."\n         ],\n         "You will be prompted to provide a security question and then an answer to that question.\\n\\nYour contact will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.": [\n            null,\n            "Elsőként egy biztonsági kérdést kell majd feltennie és megválaszolnia.\\n\\nMajd a csevegő partnerének is megjelenik ez a kérdés. Végül ha a válaszok azonosak lesznek (kis- nagybetű érzékeny), a partner hitelesítetté válik."\n         ],\n         "What is your security question?": [\n            null,\n            "Mi legyen a biztonsági kérdés?"\n         ],\n         "What is the answer to the security question?": [\n            null,\n            "Mi a válasz a biztonsági kérdésre?"\n         ],\n         "Invalid authentication scheme provided": [\n            null,\n            "Érvénytelen hitelesítési séma."\n         ],\n         "Your messages are not encrypted anymore": [\n            null,\n            "Az üzenetek mostantól már nem titkosítottak"\n         ],\n         "Your messages are now encrypted but your contact\'s identity has not been verified.": [\n            null,\n            "Az üzenetek titikosítva vannak, de a csevegő partnerét még nem hitelesítette."\n         ],\n         "Your contact\'s identify has been verified.": [\n            null,\n            "A csevegő partnere hitelesítve lett."\n         ],\n         "Your contact has ended encryption on their end, you should do the same.": [\n            null,\n            "A csevegő partnere kikapcsolta a titkosítást, így Önnek is ezt kellene tennie."\n         ],\n         "Your messages are not encrypted. Click here to enable OTR encryption.": [\n            null,\n            "Az üzenetek titkosítatlanok. OTR titkosítás aktiválása."\n         ],\n         "Your messages are encrypted, but your contact has not been verified.": [\n            null,\n            "Az üzenetek titikosítottak, de a csevegő partnere még nem hitelesített."\n         ],\n         "Your messages are encrypted and your contact verified.": [\n            null,\n            "Az üzenetek titikosítottak és a csevegő partnere hitelesített."\n         ],\n         "Your contact has closed their end of the private session, you should do the same": [\n            null,\n            "A csevegő partnere lezárta a magán beszélgetést"\n         ],\n         "Clear all messages": [\n            null,\n            "Üzenetek törlése"\n         ],\n         "End encrypted conversation": [\n            null,\n            "Titkosított kapcsolat vége"\n         ],\n         "Insert a smiley": [\n            null,\n            ""\n         ],\n         "Refresh encrypted conversation": [\n            null,\n            "A titkosított kapcsolat frissítése"\n         ],\n         "Start a call": [\n            null,\n            "Hívás indítása"\n         ],\n         "Start encrypted conversation": [\n            null,\n            "Titkosított beszélgetés indítása"\n         ],\n         "Verify with fingerprints": [\n            null,\n            "Ellenőrzés újjlenyomattal"\n         ],\n         "Verify with SMP": [\n            null,\n            "Ellenőrzés SMP-vel"\n         ],\n         "What\'s this?": [\n            null,\n            "Mi ez?"\n         ],\n         "Online": [\n            null,\n            "Elérhető"\n         ],\n         "Busy": [\n            null,\n            "Foglalt"\n         ],\n         "Away": [\n            null,\n            "Távol"\n         ],\n         "Offline": [\n            null,\n            "Nem elérhető"\n         ],\n         "Log out": [\n            null,\n            "Kilépés"\n         ],\n         "Contact name": [\n            null,\n            "Partner neve"\n         ],\n         "Search": [\n            null,\n            "Keresés"\n         ],\n         "e.g. user@example.com": [\n            null,\n            ""\n         ],\n         "Add": [\n            null,\n            "Hozzáad"\n         ],\n         "Click to add new chat contacts": [\n            null,\n            "Új csevegő partner hozzáadása"\n         ],\n         "Add a contact": [\n            null,\n            "Új partner felvétele"\n         ],\n         "No users found": [\n            null,\n            "Nincs felhasználó"\n         ],\n         "Click to add as a chat contact": [\n            null,\n            "Felvétel a csevegő partnerek közé"\n         ],\n         "Room name": [\n            null,\n            "Szoba neve"\n         ],\n         "Nickname": [\n            null,\n            "Becenév"\n         ],\n         "Server": [\n            null,\n            "Szerver"\n         ],\n         "Show rooms": [\n            null,\n            "Létező szobák"\n         ],\n         "Rooms": [\n            null,\n            "Szobák"\n         ],\n         "No rooms on %1$s": [\n            null,\n            "Nincs csevegő szoba a(z) %1$s szerveren"\n         ],\n         "Rooms on %1$s": [\n            null,\n            "Csevegő szobák a(z) %1$s szerveren:"\n         ],\n         "Click to open this room": [\n            null,\n            "Belépés a csevegő szobába"\n         ],\n         "Show more information on this room": [\n            null,\n            "További információk a csevegő szobáról"\n         ],\n         "Description:": [\n            null,\n            "Leírás:"\n         ],\n         "Occupants:": [\n            null,\n            "Jelenlevők:"\n         ],\n         "Features:": [\n            null,\n            "Tulajdonságok:"\n         ],\n         "Requires authentication": [\n            null,\n            "Azonosítás szükséges"\n         ],\n         "Hidden": [\n            null,\n            "Rejtett"\n         ],\n         "Requires an invitation": [\n            null,\n            "Meghívás szükséges"\n         ],\n         "Moderated": [\n            null,\n            "Moderált"\n         ],\n         "Non-anonymous": [\n            null,\n            "NEM névtelen"\n         ],\n         "Open room": [\n            null,\n            "Nyitott szoba"\n         ],\n         "Permanent room": [\n            null,\n            "Állandó szoba"\n         ],\n         "Public": [\n            null,\n            "Nyílvános"\n         ],\n         "Semi-anonymous": [\n            null,\n            "Félig névtelen"\n         ],\n         "Temporary room": [\n            null,\n            "Ideiglenes szoba"\n         ],\n         "Unmoderated": [\n            null,\n            "Moderálatlan"\n         ],\n         "This user is a moderator": [\n            null,\n            "Ez a felhasználó egy moderátor"\n         ],\n         "This user can send messages in this room": [\n            null,\n            "Ez a felhasználó küldhet üzenetet ebbe a szobába"\n         ],\n         "This user can NOT send messages in this room": [\n            null,\n            "Ez a felhasználó NEM küldhet üzenetet ebbe a szobába"\n         ],\n         "Invite...": [\n            null,\n            "Meghívás..."\n         ],\n         "Occupants": [\n            null,\n            "Jelenlevők"\n         ],\n         "You are about to invite %1$s to the chat room \\"%2$s\\". ": [\n            null,\n            "%1$s meghívott a \\"%2$s\\" csevegő szobába. "\n         ],\n         "Message": [\n            null,\n            "Üzenet"\n         ],\n         "Error: could not execute the command": [\n            null,\n            "Hiba: A parancs nem értelmezett"\n         ],\n         "Error: the \\"": [\n            null,\n            ""\n         ],\n         "Change user\'s affiliation to admin": [\n            null,\n            ""\n         ],\n         "Ban user from room": [\n            null,\n            "Felhasználó kitíltása a csevegő szobából"\n         ],\n         "Kick user from room": [\n            null,\n            "Felhasználó kiléptetése a csevegő szobából"\n         ],\n         "Write in 3rd person": [\n            null,\n            "Írjon egyes szám harmadik személyben"\n         ],\n         "Grant membership to a user": [\n            null,\n            ""\n         ],\n         "Remove user\'s ability to post messages": [\n            null,\n            "A felhasználó nem küldhet üzeneteket"\n         ],\n         "Change your nickname": [\n            null,\n            "Becenév módosítása"\n         ],\n         "Grant moderator role to user": [\n            null,\n            ""\n         ],\n         "Revoke user\'s membership": [\n            null,\n            ""\n         ],\n         "Set room topic": [\n            null,\n            "Csevegőszoba téma beállítás"\n         ],\n         "Allow muted user to post messages": [\n            null,\n            "Elnémított felhasználók is küldhetnek üzeneteket"\n         ],\n         "Save": [\n            null,\n            "Ment"\n         ],\n         "Cancel": [\n            null,\n            "Mégsem"\n         ],\n         "An error occurred while trying to save the form.": [\n            null,\n            "Hiba történt az adatok mentése közben."\n         ],\n         "This chatroom requires a password": [\n            null,\n            "A csevegő szoba belépéshez jelszó szükséges"\n         ],\n         "Password: ": [\n            null,\n            "Jelszó: "\n         ],\n         "Submit": [\n            null,\n            "Küldés"\n         ],\n         "This room is not anonymous": [\n            null,\n            "Ez a szoba NEM névtelen"\n         ],\n         "This room now shows unavailable members": [\n            null,\n            "Ez a szoba mutatja az elérhetetlen tagokat"\n         ],\n         "This room does not show unavailable members": [\n            null,\n            "Ez a szoba nem mutatja az elérhetetlen tagokat"\n         ],\n         "Non-privacy-related room configuration has changed": [\n            null,\n            "A szoba általános konfigurációja módosult"\n         ],\n         "Room logging is now enabled": [\n            null,\n            "A szobába a belépés lehetséges"\n         ],\n         "Room logging is now disabled": [\n            null,\n            "A szobába a belépés szünetel"\n         ],\n         "This room is now non-anonymous": [\n            null,\n            "Ez a szoba most NEM névtelen"\n         ],\n         "This room is now semi-anonymous": [\n            null,\n            "Ez a szoba most félig névtelen"\n         ],\n         "This room is now fully-anonymous": [\n            null,\n            "Ez a szoba most teljesen névtelen"\n         ],\n         "A new room has been created": [\n            null,\n            "Létrejött egy új csevegő szoba"\n         ],\n         "You have been banned from this room": [\n            null,\n            "Ki lettél tíltva ebből a szobából"\n         ],\n         "You have been kicked from this room": [\n            null,\n            "Ki lettél dobva ebből a szobából"\n         ],\n         "You have been removed from this room because of an affiliation change": [\n            null,\n            "Taglista módosítás miatt kiléptettünk a csevegő szobából"\n         ],\n         "You have been removed from this room because the room has changed to members-only and you\'re not a member": [\n            null,\n            "Kiléptettünk a csevegő szobából, mert mostantól csak a taglistán szereplők lehetnek jelen"\n         ],\n         "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.": [\n            null,\n            "Kiléptettünk a csevegő szobából, mert a MUC (Multi-User Chat) szolgáltatás leállításra került."\n         ],\n         "<strong>%1$s</strong> has been banned": [\n            null,\n            "A szobából kitíltva: <strong>%1$s</strong>"\n         ],\n         "<strong>%1$s</strong>\'s nickname has changed": [\n            null,\n            "<strong>%1$s</strong> beceneve módosult"\n         ],\n         "<strong>%1$s</strong> has been kicked out": [\n            null,\n            "A szobából kidobva: <strong>%1$s</strong>"\n         ],\n         "<strong>%1$s</strong> has been removed because of an affiliation change": [\n            null,\n            "Taglista módosítás miatt a szobából kiléptetve: <strong>%1$s</strong>"\n         ],\n         "<strong>%1$s</strong> has been removed for not being a member": [\n            null,\n            "A taglistán nem szerepel így a szobából kiléptetve: <strong>%1$s</strong>"\n         ],\n         "Your nickname has been automatically changed to: <strong>%1$s</strong>": [\n            null,\n            "A beceneved módosításra került a következőre: <strong>%1$s</strong>"\n         ],\n         "Your nickname has been changed to: <strong>%1$s</strong>": [\n            null,\n            "A beceneved a következőre módosult: <strong>%1$s</strong>"\n         ],\n         "The reason given is: \\"": [\n            null,\n            "Az indok: \\""\n         ],\n         "You are not on the member list of this room": [\n            null,\n            "Nem szerepelsz a csevegő szoba taglistáján"\n         ],\n         "No nickname was specified": [\n            null,\n            "Nem lett megadva becenév"\n         ],\n         "You are not allowed to create new rooms": [\n            null,\n            "Nem lehet új csevegő szobát létrehozni"\n         ],\n         "Your nickname doesn\'t conform to this room\'s policies": [\n            null,\n            "A beceneved ütközik a csevegő szoba szabályzataival"\n         ],\n         "Your nickname is already taken": [\n            null,\n            "A becenevedet már valaki használja"\n         ],\n         "This room does not (yet) exist": [\n            null,\n            "Ez a szoba (még) nem létezik"\n         ],\n         "This room has reached it\'s maximum number of occupants": [\n            null,\n            "Ez a csevegő szoba elérte a maximális jelenlévők számát"\n         ],\n         "Topic set by %1$s to: %2$s": [\n            null,\n            "A következő témát állította be %1$s: %2$s"\n         ],\n         "%1$s has invited you to join a chat room: %2$s": [\n            null,\n            "%1$s meghívott a(z) %2$s csevegő szobába"\n         ],\n         "%1$s has invited you to join a chat room: %2$s, and left the following reason: \\"%3$s\\"": [\n            null,\n            "%1$s meghívott a(z) %2$s csevegő szobába. Indok: \\"%3$s\\""\n         ],\n         "Click to restore this chat": [\n            null,\n            "A csevegés visszaállítása"\n         ],\n         "Minimized": [\n            null,\n            "Lezárva"\n         ],\n         "Click to remove this contact": [\n            null,\n            "Partner törlése"\n         ],\n         "Click to accept this contact request": [\n            null,\n            "Elogadása a partnerlistába történő felvételnek"\n         ],\n         "Click to decline this contact request": [\n            null,\n            "Megtagadása a partnerlistába történő felvételnek"\n         ],\n         "Click to chat with this contact": [\n            null,\n            "Csevegés indítása ezzel a partnerünkkel"\n         ],\n         "Name": [\n            null,\n            ""\n         ],\n         "Are you sure you want to remove this contact?": [\n            null,\n            "Valóban törölni szeretné a csevegő partnerét?"\n         ],\n         "Sorry, there was an error while trying to remove ": [\n            null,\n            ""\n         ],\n         "Are you sure you want to decline this contact request?": [\n            null,\n            "Valóban elutasítja ezt a kapcsolat felvételi kérést?"\n         ],\n         "Sorry, there was an error while trying to add ": [\n            null,\n            ""\n         ],\n         "This client does not allow presence subscriptions": [\n            null,\n            ""\n         ],\n         "Type to filter": [\n            null,\n            "Írjon be pár betűt"\n         ],\n         "I am %1$s": [\n            null,\n            "%1$s vagyok"\n         ],\n         "Click here to write a custom status message": [\n            null,\n            "Egyedi státusz üzenet írása"\n         ],\n         "Click to change your chat status": [\n            null,\n            "Saját státusz beállítása"\n         ],\n         "Custom status": [\n            null,\n            "Egyedi státusz"\n         ],\n         "online": [\n            null,\n            "Elérhető"\n         ],\n         "busy": [\n            null,\n            "Elfoglalt"\n         ],\n         "away for long": [\n            null,\n            "Hosszú ideje távol"\n         ],\n         "away": [\n            null,\n            "Távol"\n         ],\n         "Your XMPP provider\'s domain name:": [\n            null,\n            "Az XMPP szolgáltató domain neve:"\n         ],\n         "Fetch registration form": [\n            null,\n            "Regisztrációs űrlap"\n         ],\n         "Tip: A list of public XMPP providers is available": [\n            null,\n            "Tipp: A nyílvános XMPP szolgáltatókról egy lista elérhető"\n         ],\n         "here": [\n            null,\n            "itt"\n         ],\n         "Register": [\n            null,\n            "Regisztráció"\n         ],\n         "Sorry, the given provider does not support in band account registration. Please try with a different provider.": [\n            null,\n            "A megadott szolgáltató nem támogatja a csevegőn keresztüli regisztrációt. Próbáljon meg egy másikat."\n         ],\n         "Requesting a registration form from the XMPP server": [\n            null,\n            "Regisztrációs űrlap lekérése az XMPP szervertől"\n         ],\n         "Something went wrong while establishing a connection with \\"%1$s\\". Are you sure it exists?": [\n            null,\n            "Hiba történt a(z) \\"%1$s\\" kapcsolódásakor. Biztos benne, hogy ez létező kiszolgáló?"\n         ],\n         "Now logging you in": [\n            null,\n            "Belépés..."\n         ],\n         "Registered successfully": [\n            null,\n            "Sikeres regisztráció"\n         ],\n         "Return": [\n            null,\n            "Visza"\n         ],\n         "XMPP Username:": [\n            null,\n            "XMPP/Jabber azonosító:"\n         ],\n         "Password:": [\n            null,\n            "Jelszó:"\n         ],\n         "Log In": [\n            null,\n            "Belépés"\n         ],\n         "user@server": [\n            null,\n            ""\n         ],\n         "Sign in": [\n            null,\n            "Belépés"\n         ],\n         "Toggle chat": [\n            null,\n            "Csevegő ablak"\n         ]\n      }\n   }\n}'}),define("text!id",[],function(){return'{\n   "domain": "converse",\n   "locale_data": {\n      "converse": {\n         "": {\n            "domain": "converse",\n            "lang": "id"\n         },\n         " e.g. conversejs.org": [\n            null,\n            ""\n         ],\n         "unencrypted": [\n            null,\n            "tak dienkripsi"\n         ],\n         "unverified": [\n            null,\n            "tak diverifikasi"\n         ],\n         "verified": [\n            null,\n            "diverifikasi"\n         ],\n         "finished": [\n            null,\n            "selesai"\n         ],\n         "This contact is busy": [\n            null,\n            "Teman ini sedang sibuk"\n         ],\n         "This contact is online": [\n            null,\n            "Teman ini terhubung"\n         ],\n         "This contact is offline": [\n            null,\n            "Teman ini tidak terhubung"\n         ],\n         "This contact is unavailable": [\n            null,\n            "Teman ini tidak tersedia"\n         ],\n         "This contact is away for an extended period": [\n            null,\n            "Teman ini tidak di tempat untuk waktu yang lama"\n         ],\n         "This contact is away": [\n            null,\n            "Teman ini tidak di tempat"\n         ],\n         "My contacts": [\n            null,\n            "Teman saya"\n         ],\n         "Pending contacts": [\n            null,\n            "Teman yang menunggu"\n         ],\n         "Contact requests": [\n            null,\n            "Permintaan pertemanan"\n         ],\n         "Ungrouped": [\n            null,\n            ""\n         ],\n         "Contacts": [\n            null,\n            "Teman"\n         ],\n         "Groups": [\n            null,\n            ""\n         ],\n         "Attempting to reconnect in 5 seconds": [\n            null,\n            ""\n         ],\n         "Error": [\n            null,\n            "Kesalahan"\n         ],\n         "Connecting": [\n            null,\n            "Menyambung"\n         ],\n         "Authenticating": [\n            null,\n            "Melakukan otentikasi"\n         ],\n         "Authentication Failed": [\n            null,\n            "Otentikasi gagal"\n         ],\n         "Re-establishing encrypted session": [\n            null,\n            "Menyambung kembali sesi terenkripsi"\n         ],\n         "Generating private key.": [\n            null,\n            ""\n         ],\n         "Your browser might become unresponsive.": [\n            null,\n            ""\n         ],\n         "Could not verify this user\'s identify.": [\n            null,\n            "Tak dapat melakukan verifikasi identitas pengguna ini."\n         ],\n         "Exchanging private key with contact.": [\n            null,\n            ""\n         ],\n         "Minimize this chat box": [\n            null,\n            ""\n         ],\n         "Personal message": [\n            null,\n            "Pesan pribadi"\n         ],\n         "me": [\n            null,\n            "saya"\n         ],\n         "is typing": [\n            null,\n            ""\n         ],\n         "has stopped typing": [\n            null,\n            ""\n         ],\n         "Show this menu": [\n            null,\n            "Tampilkan menu ini"\n         ],\n         "Write in the third person": [\n            null,\n            "Tulis ini menggunakan bahasa pihak ketiga"\n         ],\n         "Remove messages": [\n            null,\n            "Hapus pesan"\n         ],\n         "Are you sure you want to clear the messages from this chat box?": [\n            null,\n            ""\n         ],\n         "Your message could not be sent": [\n            null,\n            "Pesan anda tak dapat dikirim"\n         ],\n         "We received an unencrypted message": [\n            null,\n            "Kami menerima pesan terenkripsi"\n         ],\n         "We received an unreadable encrypted message": [\n            null,\n            "Kami menerima pesan terenkripsi yang gagal dibaca"\n         ],\n         "Here are the fingerprints, please confirm them with %1$s, outside of this chat.\\n\\nFingerprint for you, %2$s: %3$s\\n\\nFingerprint for %1$s: %4$s\\n\\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.": [\n            null,\n            "Ini adalah sidik jari anda, konfirmasikan bersama mereka dengan %1$s, di luar percakapan ini.\\n\\nSidik jari untuk anda, %2$s: %3$s\\n\\nSidik jari untuk %1$s: %4$s\\n\\nJika anda bisa mengkonfirmasi sidik jadi cocok, klik Lanjutkan, jika tidak klik Batal."\n         ],\n         "What is your security question?": [\n            null,\n            "Apakah pertanyaan keamanan anda?"\n         ],\n         "What is the answer to the security question?": [\n            null,\n            "Apa jawaban dari pertanyaan keamanan tersebut?"\n         ],\n         "Invalid authentication scheme provided": [\n            null,\n            "Skema otentikasi salah"\n         ],\n         "Your messages are not encrypted anymore": [\n            null,\n            "Pesan anda tidak lagi terenkripsi"\n         ],\n         "Your messages are not encrypted. Click here to enable OTR encryption.": [\n            null,\n            "Pesan anda tak terenkripsi. Klik di sini untuk menyalakan enkripsi OTR."\n         ],\n         "End encrypted conversation": [\n            null,\n            "Sudahi percakapan terenkripsi"\n         ],\n         "Insert a smiley": [\n            null,\n            ""\n         ],\n         "Hide the list of occupants": [\n            null,\n            ""\n         ],\n         "Refresh encrypted conversation": [\n            null,\n            "Setel ulang percakapan terenkripsi"\n         ],\n         "Start a call": [\n            null,\n            ""\n         ],\n         "Start encrypted conversation": [\n            null,\n            "Mulai sesi terenkripsi"\n         ],\n         "Verify with fingerprints": [\n            null,\n            "Verifikasi menggunakan sidik jari"\n         ],\n         "Verify with SMP": [\n            null,\n            "Verifikasi menggunakan SMP"\n         ],\n         "What\'s this?": [\n            null,\n            "Apakah ini?"\n         ],\n         "Online": [\n            null,\n            "Terhubung"\n         ],\n         "Busy": [\n            null,\n            "Sibuk"\n         ],\n         "Away": [\n            null,\n            "Pergi"\n         ],\n         "Offline": [\n            null,\n            "Tak Terhubung"\n         ],\n         "Contact name": [\n            null,\n            "Nama teman"\n         ],\n         "Search": [\n            null,\n            "Cari"\n         ],\n         "e.g. user@example.com": [\n            null,\n            ""\n         ],\n         "Add": [\n            null,\n            "Tambah"\n         ],\n         "Click to add new chat contacts": [\n            null,\n            "Klik untuk menambahkan teman baru"\n         ],\n         "Add a contact": [\n            null,\n            "Tambah teman"\n         ],\n         "No users found": [\n            null,\n            "Pengguna tak ditemukan"\n         ],\n         "Click to add as a chat contact": [\n            null,\n            "Klik untuk menambahkan sebagai teman"\n         ],\n         "Room name": [\n            null,\n            "Nama ruangan"\n         ],\n         "Nickname": [\n            null,\n            "Nama panggilan"\n         ],\n         "Server": [\n            null,\n            "Server"\n         ],\n         "Show rooms": [\n            null,\n            "Perlihatkan ruangan"\n         ],\n         "Rooms": [\n            null,\n            "Ruangan"\n         ],\n         "No rooms on %1$s": [\n            null,\n            "Tak ada ruangan di %1$s"\n         ],\n         "Rooms on %1$s": [\n            null,\n            "Ruangan di %1$s"\n         ],\n         "Click to open this room": [\n            null,\n            "Klik untuk membuka ruangan ini"\n         ],\n         "Show more information on this room": [\n            null,\n            "Tampilkan informasi ruangan ini"\n         ],\n         "Description:": [\n            null,\n            "Keterangan:"\n         ],\n         "Occupants:": [\n            null,\n            "Penghuni:"\n         ],\n         "Features:": [\n            null,\n            "Fitur:"\n         ],\n         "Requires authentication": [\n            null,\n            "Membutuhkan otentikasi"\n         ],\n         "Hidden": [\n            null,\n            "Tersembunyi"\n         ],\n         "Requires an invitation": [\n            null,\n            "Membutuhkan undangan"\n         ],\n         "Moderated": [\n            null,\n            "Dimoderasi"\n         ],\n         "Non-anonymous": [\n            null,\n            "Tidak anonim"\n         ],\n         "Open room": [\n            null,\n            "Ruangan terbuka"\n         ],\n         "Permanent room": [\n            null,\n            "Ruangan permanen"\n         ],\n         "Public": [\n            null,\n            "Umum"\n         ],\n         "Semi-anonymous": [\n            null,\n            "Semi-anonim"\n         ],\n         "Temporary room": [\n            null,\n            "Ruangan sementara"\n         ],\n         "Unmoderated": [\n            null,\n            "Tak dimoderasi"\n         ],\n         "This user is a moderator": [\n            null,\n            "Pengguna ini adalah moderator"\n         ],\n         "This user can send messages in this room": [\n            null,\n            "Pengguna ini dapat mengirim pesan di ruangan ini"\n         ],\n         "This user can NOT send messages in this room": [\n            null,\n            "Pengguna ini tak dapat mengirim pesan di ruangan ini"\n         ],\n         "Invite...": [\n            null,\n            ""\n         ],\n         "You are about to invite %1$s to the chat room \\"%2$s\\". ": [\n            null,\n            ""\n         ],\n         "You may optionally include a message, explaining the reason for the invitation.": [\n            null,\n            ""\n         ],\n         "Message": [\n            null,\n            "Pesan"\n         ],\n         "Error: could not execute the command": [\n            null,\n            ""\n         ],\n         "Error: the \\"": [\n            null,\n            ""\n         ],\n         "Change user\'s affiliation to admin": [\n            null,\n            ""\n         ],\n         "Change user role to occupant": [\n            null,\n            ""\n         ],\n         "Grant membership to a user": [\n            null,\n            ""\n         ],\n         "Remove user\'s ability to post messages": [\n            null,\n            ""\n         ],\n         "Change your nickname": [\n            null,\n            ""\n         ],\n         "Grant moderator role to user": [\n            null,\n            ""\n         ],\n         "Revoke user\'s membership": [\n            null,\n            ""\n         ],\n         "Allow muted user to post messages": [\n            null,\n            ""\n         ],\n         "Save": [\n            null,\n            "Simpan"\n         ],\n         "Cancel": [\n            null,\n            "Batal"\n         ],\n         "An error occurred while trying to save the form.": [\n            null,\n            "Kesalahan terjadi saat menyimpan formulir ini."\n         ],\n         "This chatroom requires a password": [\n            null,\n            "Ruangan ini membutuhkan kata sandi"\n         ],\n         "Password: ": [\n            null,\n            "Kata sandi: "\n         ],\n         "Submit": [\n            null,\n            "Kirim"\n         ],\n         "This room is not anonymous": [\n            null,\n            "Ruangan ini tidak anonim"\n         ],\n         "This room now shows unavailable members": [\n            null,\n            "Ruangan ini menampilkan anggota yang tak tersedia"\n         ],\n         "This room does not show unavailable members": [\n            null,\n            "Ruangan ini tidak menampilkan anggota yang tak tersedia"\n         ],\n         "Non-privacy-related room configuration has changed": [\n            null,\n            "Konfigurasi ruangan yang tak berhubungan dengan privasi telah diubah"\n         ],\n         "Room logging is now enabled": [\n            null,\n            "Pencatatan di ruangan ini sekarang dinyalakan"\n         ],\n         "Room logging is now disabled": [\n            null,\n            "Pencatatan di ruangan ini sekarang dimatikan"\n         ],\n         "This room is now non-anonymous": [\n            null,\n            "Ruangan ini sekarang tak-anonim"\n         ],\n         "This room is now semi-anonymous": [\n            null,\n            "Ruangan ini sekarang semi-anonim"\n         ],\n         "This room is now fully-anonymous": [\n            null,\n            "Ruangan ini sekarang anonim"\n         ],\n         "A new room has been created": [\n            null,\n            "Ruangan baru telah dibuat"\n         ],\n         "You have been banned from this room": [\n            null,\n            "Anda telah dicekal dari ruangan ini"\n         ],\n         "You have been kicked from this room": [\n            null,\n            "Anda telah ditendang dari ruangan ini"\n         ],\n         "You have been removed from this room because of an affiliation change": [\n            null,\n            "Anda telah dihapus dari ruangan ini karena perubahan afiliasi"\n         ],\n         "You have been removed from this room because the room has changed to members-only and you\'re not a member": [\n            null,\n            "Anda telah dihapus dari ruangan ini karena ruangan ini hanya terbuka untuk anggota dan anda bukan anggota"\n         ],\n         "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.": [\n            null,\n            "Anda telah dihapus dari ruangan ini karena layanan MUC (Multi-user chat) telah dimatikan."\n         ],\n         "<strong>%1$s</strong> has been banned": [\n            null,\n            "<strong>%1$s</strong> telah dicekal"\n         ],\n         "<strong>%1$s</strong> has been kicked out": [\n            null,\n            "<strong>%1$s</strong> telah ditendang keluar"\n         ],\n         "<strong>%1$s</strong> has been removed because of an affiliation change": [\n            null,\n            "<strong>%1$s</strong> telah dihapus karena perubahan afiliasi"\n         ],\n         "<strong>%1$s</strong> has been removed for not being a member": [\n            null,\n            "<strong>%1$s</strong> telah dihapus karena bukan anggota"\n         ],\n         "The reason given is: \\"": [\n            null,\n            ""\n         ],\n         "You are not on the member list of this room": [\n            null,\n            "Anda bukan anggota dari ruangan ini"\n         ],\n         "No nickname was specified": [\n            null,\n            "Nama panggilan belum ditentukan"\n         ],\n         "You are not allowed to create new rooms": [\n            null,\n            "Anda tak diizinkan untuk membuat ruangan baru"\n         ],\n         "Your nickname doesn\'t conform to this room\'s policies": [\n            null,\n            "Nama panggilan anda tidak sesuai aturan ruangan ini"\n         ],\n         "Your nickname is already taken": [\n            null,\n            "Nama panggilan anda telah digunakan orang lain"\n         ],\n         "This room does not (yet) exist": [\n            null,\n            "Ruangan ini belum dibuat"\n         ],\n         "This room has reached it\'s maximum number of occupants": [\n            null,\n            "Ruangan ini telah mencapai jumlah penghuni maksimum"\n         ],\n         "Topic set by %1$s to: %2$s": [\n            null,\n            "Topik diganti oleh %1$s menjadi: %2$s"\n         ],\n         "%1$s has invited you to join a chat room: %2$s": [\n            null,\n            ""\n         ],\n         "%1$s has invited you to join a chat room: %2$s, and left the following reason: \\"%3$s\\"": [\n            null,\n            ""\n         ],\n         "Minimized": [\n            null,\n            ""\n         ],\n         "Click to remove this contact": [\n            null,\n            "Klik untuk menghapus teman ini"\n         ],\n         "Click to chat with this contact": [\n            null,\n            "Klik untuk mulai perbinjangan dengan teman ini"\n         ],\n         "Name": [\n            null,\n            ""\n         ],\n         "Sorry, there was an error while trying to remove ": [\n            null,\n            ""\n         ],\n         "Sorry, there was an error while trying to add ": [\n            null,\n            ""\n         ],\n         "This client does not allow presence subscriptions": [\n            null,\n            ""\n         ],\n         "Type to filter": [\n            null,\n            ""\n         ],\n         "I am %1$s": [\n            null,\n            "Saya %1$s"\n         ],\n         "Click here to write a custom status message": [\n            null,\n            "Klik untuk menulis status kustom"\n         ],\n         "Click to change your chat status": [\n            null,\n            "Klik untuk mengganti status"\n         ],\n         "Custom status": [\n            null,\n            "Status kustom"\n         ],\n         "online": [\n            null,\n            "terhubung"\n         ],\n         "busy": [\n            null,\n            "sibuk"\n         ],\n         "away for long": [\n            null,\n            "lama tak di tempat"\n         ],\n         "away": [\n            null,\n            "tak di tempat"\n         ],\n         "Your XMPP provider\'s domain name:": [\n            null,\n            ""\n         ],\n         "Fetch registration form": [\n            null,\n            ""\n         ],\n         "Tip: A list of public XMPP providers is available": [\n            null,\n            ""\n         ],\n         "here": [\n            null,\n            ""\n         ],\n         "Register": [\n            null,\n            ""\n         ],\n         "Sorry, the given provider does not support in band account registration. Please try with a different provider.": [\n            null,\n            ""\n         ],\n         "Requesting a registration form from the XMPP server": [\n            null,\n            ""\n         ],\n         "Something went wrong while establishing a connection with \\"%1$s\\". Are you sure it exists?": [\n            null,\n            ""\n         ],\n         "Now logging you in": [\n            null,\n            ""\n         ],\n         "Registered successfully": [\n            null,\n            ""\n         ],\n         "Return": [\n            null,\n            ""\n         ],\n         "The provider rejected your registration attempt. Please check the values you entered for correctness.": [\n            null,\n            ""\n         ],\n         "Password:": [\n            null,\n            "Kata sandi:"\n         ],\n         "Log In": [\n            null,\n            "Masuk"\n         ],\n         "user@server": [\n            null,\n            ""\n         ],\n         "Sign in": [\n            null,\n            "Masuk"\n         ],\n         "Toggle chat": [\n            null,\n            ""\n         ]\n      }\n   }\n}'}),define("text!it",[],function(){return'{\n   "domain": "converse",\n   "locale_data": {\n      "converse": {\n         "": {\n            "domain": "converse",\n            "plural_forms": "nplurals=2; plural=(n != 1);",\n            "lang": "it"\n         },\n         " e.g. conversejs.org": [\n            null,\n            "es. conversejs.org"\n         ],\n         "unencrypted": [\n            null,\n            "non criptato"\n         ],\n         "unverified": [\n            null,\n            "non verificato"\n         ],\n         "verified": [\n            null,\n            "verificato"\n         ],\n         "finished": [\n            null,\n            "finito"\n         ],\n         "This contact is busy": [\n            null,\n            "Questo contatto è occupato"\n         ],\n         "This contact is online": [\n            null,\n            "Questo contatto è online"\n         ],\n         "This contact is offline": [\n            null,\n            "Questo contatto è offline"\n         ],\n         "This contact is unavailable": [\n            null,\n            "Questo contatto non è disponibile"\n         ],\n         "This contact is away for an extended period": [\n            null,\n            "Il contatto è away da un lungo periodo"\n         ],\n         "This contact is away": [\n            null,\n            "Questo contatto è away"\n         ],\n         "Click to hide these contacts": [\n            null,\n            "Clicca per nascondere questi contatti"\n         ],\n         "My contacts": [\n            null,\n            "I miei contatti"\n         ],\n         "Pending contacts": [\n            null,\n            "Contatti in attesa"\n         ],\n         "Contact requests": [\n            null,\n            "Richieste dei contatti"\n         ],\n         "Ungrouped": [\n            null,\n            "Senza Gruppo"\n         ],\n         "Contacts": [\n            null,\n            "Contatti"\n         ],\n         "Groups": [\n            null,\n            "Gruppi"\n         ],\n         "Attempting to reconnect in 5 seconds": [\n            null,\n            "Attendi riconversione in 5 secondi"\n         ],\n         "Error": [\n            null,\n            "Errore"\n         ],\n         "Connecting": [\n            null,\n            "Connessione in corso"\n         ],\n         "Authenticating": [\n            null,\n            "Autenticazione in corso"\n         ],\n         "Authentication Failed": [\n            null,\n            "Autenticazione fallita"\n         ],\n         "Re-establishing encrypted session": [\n            null,\n            ""\n         ],\n         "Generating private key.": [\n            null,\n            ""\n         ],\n         "Your browser might become unresponsive.": [\n            null,\n            ""\n         ],\n         "Authentication request from %1$s\\n\\nYour chat contact is attempting to verify your identity, by asking you the question below.\\n\\n%2$s": [\n            null,\n            ""\n         ],\n         "Could not verify this user\'s identify.": [\n            null,\n            ""\n         ],\n         "Exchanging private key with contact.": [\n            null,\n            ""\n         ],\n         "Minimize this chat box": [\n            null,\n            ""\n         ],\n         "Personal message": [\n            null,\n            "Messaggio personale"\n         ],\n         "Are you sure you want to clear the messages from this room?": [\n            null,\n            "Sei sicuro di voler pulire i messaggi da questa stanza?"\n         ],\n         "me": [\n            null,\n            "me"\n         ],\n         "is typing": [\n            null,\n            "sta scrivendo"\n         ],\n         "has stopped typing": [\n            null,\n            "ha smesso di scrivere"\n         ],\n         "has gone away": [\n            null,\n            ""\n         ],\n         "Show this menu": [\n            null,\n            "Mostra questo menu"\n         ],\n         "Write in the third person": [\n            null,\n            "Scrivi in terza persona"\n         ],\n         "Remove messages": [\n            null,\n            "Rimuovi messaggi"\n         ],\n         "Are you sure you want to clear the messages from this chat box?": [\n            null,\n            ""\n         ],\n         "Your message could not be sent": [\n            null,\n            ""\n         ],\n         "We received an unencrypted message": [\n            null,\n            ""\n         ],\n         "We received an unreadable encrypted message": [\n            null,\n            ""\n         ],\n         "Here are the fingerprints, please confirm them with %1$s, outside of this chat.\\n\\nFingerprint for you, %2$s: %3$s\\n\\nFingerprint for %1$s: %4$s\\n\\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.": [\n            null,\n            ""\n         ],\n         "You will be prompted to provide a security question and then an answer to that question.\\n\\nYour contact will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.": [\n            null,\n            ""\n         ],\n         "What is your security question?": [\n            null,\n            ""\n         ],\n         "What is the answer to the security question?": [\n            null,\n            ""\n         ],\n         "Invalid authentication scheme provided": [\n            null,\n            ""\n         ],\n         "has gone offline": [\n            null,\n            ""\n         ],\n         "is busy": [\n            null,\n            "è occupato"\n         ],\n         "Your messages are not encrypted anymore": [\n            null,\n            ""\n         ],\n         "Your messages are now encrypted but your contact\'s identity has not been verified.": [\n            null,\n            ""\n         ],\n         "Your contact\'s identify has been verified.": [\n            null,\n            ""\n         ],\n         "Your contact has ended encryption on their end, you should do the same.": [\n            null,\n            ""\n         ],\n         "Your messages are not encrypted. Click here to enable OTR encryption.": [\n            null,\n            ""\n         ],\n         "Your messages are encrypted, but your contact has not been verified.": [\n            null,\n            ""\n         ],\n         "Your messages are encrypted and your contact verified.": [\n            null,\n            ""\n         ],\n         "Your contact has closed their end of the private session, you should do the same": [\n            null,\n            ""\n         ],\n         "Clear all messages": [\n            null,\n            "Pulisci tutti i messaggi"\n         ],\n         "End encrypted conversation": [\n            null,\n            ""\n         ],\n         "Insert a smiley": [\n            null,\n            ""\n         ],\n         "Hide the list of occupants": [\n            null,\n            ""\n         ],\n         "Refresh encrypted conversation": [\n            null,\n            ""\n         ],\n         "Start a call": [\n            null,\n            ""\n         ],\n         "Start encrypted conversation": [\n            null,\n            ""\n         ],\n         "Verify with fingerprints": [\n            null,\n            ""\n         ],\n         "Verify with SMP": [\n            null,\n            ""\n         ],\n         "What\'s this?": [\n            null,\n            ""\n         ],\n         "Online": [\n            null,\n            "In linea"\n         ],\n         "Busy": [\n            null,\n            "Occupato"\n         ],\n         "Away": [\n            null,\n            "Assente"\n         ],\n         "Offline": [\n            null,\n            "Non in linea"\n         ],\n         "Log out": [\n            null,\n            "Logo out"\n         ],\n         "Contact name": [\n            null,\n            "Nome del contatto"\n         ],\n         "Search": [\n            null,\n            "Cerca"\n         ],\n         "e.g. user@example.com": [\n            null,\n            "es. user@example.com"\n         ],\n         "Add": [\n            null,\n            "Aggiungi"\n         ],\n         "Click to add new chat contacts": [\n            null,\n            "Clicca per aggiungere nuovi contatti alla chat"\n         ],\n         "Add a contact": [\n            null,\n            "Aggiungi contatti"\n         ],\n         "No users found": [\n            null,\n            "Nessun utente trovato"\n         ],\n         "Click to add as a chat contact": [\n            null,\n            "Clicca per aggiungere il contatto alla chat"\n         ],\n         "Room name": [\n            null,\n            "Nome stanza"\n         ],\n         "Nickname": [\n            null,\n            "Soprannome"\n         ],\n         "Server": [\n            null,\n            "Server"\n         ],\n         "Join Room": [\n            null,\n            "Entra nella Stanza"\n         ],\n         "Show rooms": [\n            null,\n            "Mostra stanze"\n         ],\n         "Rooms": [\n            null,\n            "Stanze"\n         ],\n         "No rooms on %1$s": [\n            null,\n            "Nessuna stanza su %1$s"\n         ],\n         "Rooms on %1$s": [\n            null,\n            "Stanze su %1$s"\n         ],\n         "Click to open this room": [\n            null,\n            "Clicca per aprire questa stanza"\n         ],\n         "Show more information on this room": [\n            null,\n            "Mostra più informazioni su questa stanza"\n         ],\n         "Description:": [\n            null,\n            "Descrizione:"\n         ],\n         "Occupants:": [\n            null,\n            "Utenti presenti:"\n         ],\n         "Features:": [\n            null,\n            "Funzionalità:"\n         ],\n         "Requires authentication": [\n            null,\n            "Richiede autenticazione"\n         ],\n         "Hidden": [\n            null,\n            "Nascosta"\n         ],\n         "Requires an invitation": [\n            null,\n            "Richiede un invito"\n         ],\n         "Moderated": [\n            null,\n            "Moderata"\n         ],\n         "Non-anonymous": [\n            null,\n            "Non-anonima"\n         ],\n         "Open room": [\n            null,\n            "Stanza aperta"\n         ],\n         "Permanent room": [\n            null,\n            "Stanza permanente"\n         ],\n         "Public": [\n            null,\n            "Pubblica"\n         ],\n         "Semi-anonymous": [\n            null,\n            "Semi-anonima"\n         ],\n         "Temporary room": [\n            null,\n            "Stanza temporanea"\n         ],\n         "Unmoderated": [\n            null,\n            "Non moderata"\n         ],\n         "This user is a moderator": [\n            null,\n            "Questo utente è un moderatore"\n         ],\n         "This user can send messages in this room": [\n            null,\n            "Questo utente può inviare messaggi in questa stanza"\n         ],\n         "This user can NOT send messages in this room": [\n            null,\n            "Questo utente NON può inviare messaggi in questa stanza"\n         ],\n         "Invite...": [\n            null,\n            "Invita…"\n         ],\n         "Occupants": [\n            null,\n            "Occupanti"\n         ],\n         "You are about to invite %1$s to the chat room \\"%2$s\\". ": [\n            null,\n            ""\n         ],\n         "You may optionally include a message, explaining the reason for the invitation.": [\n            null,\n            ""\n         ],\n         "Message": [\n            null,\n            "Messaggio"\n         ],\n         "Error: could not execute the command": [\n            null,\n            ""\n         ],\n         "Error: the \\"": [\n            null,\n            ""\n         ],\n         "Change user\'s affiliation to admin": [\n            null,\n            ""\n         ],\n         "Ban user from room": [\n            null,\n            "Bandisci utente dalla stanza"\n         ],\n         "Change user role to occupant": [\n            null,\n            ""\n         ],\n         "Kick user from room": [\n            null,\n            "Espelli utente dalla stanza"\n         ],\n         "Write in 3rd person": [\n            null,\n            "Scrivi in terza persona"\n         ],\n         "Grant membership to a user": [\n            null,\n            ""\n         ],\n         "Remove user\'s ability to post messages": [\n            null,\n            ""\n         ],\n         "Change your nickname": [\n            null,\n            ""\n         ],\n         "Grant moderator role to user": [\n            null,\n            ""\n         ],\n         "Revoke user\'s membership": [\n            null,\n            ""\n         ],\n         "Set room topic": [\n            null,\n            "Cambia oggetto della stanza"\n         ],\n         "Allow muted user to post messages": [\n            null,\n            ""\n         ],\n         "Save": [\n            null,\n            "Salva"\n         ],\n         "Cancel": [\n            null,\n            "Annulla"\n         ],\n         "An error occurred while trying to save the form.": [\n            null,\n            "Errore durante il salvataggio del modulo"\n         ],\n         "This chatroom requires a password": [\n            null,\n            "Questa stanza richiede una password"\n         ],\n         "Password: ": [\n            null,\n            "Password: "\n         ],\n         "Submit": [\n            null,\n            "Invia"\n         ],\n         "This room is not anonymous": [\n            null,\n            "Questa stanza non è anonima"\n         ],\n         "This room now shows unavailable members": [\n            null,\n            "Questa stanza mostra i membri non disponibili al momento"\n         ],\n         "This room does not show unavailable members": [\n            null,\n            "Questa stanza non mostra i membri non disponibili"\n         ],\n         "Non-privacy-related room configuration has changed": [\n            null,\n            "Una configurazione della stanza non legata alla privacy è stata modificata"\n         ],\n         "Room logging is now enabled": [\n            null,\n            "La registrazione è abilitata nella stanza"\n         ],\n         "Room logging is now disabled": [\n            null,\n            "La registrazione è disabilitata nella stanza"\n         ],\n         "This room is now non-anonymous": [\n            null,\n            "Questa stanza è non-anonima"\n         ],\n         "This room is now semi-anonymous": [\n            null,\n            "Questa stanza è semi-anonima"\n         ],\n         "This room is now fully-anonymous": [\n            null,\n            "Questa stanza è completamente-anonima"\n         ],\n         "A new room has been created": [\n            null,\n            "Una nuova stanza è stata creata"\n         ],\n         "You have been banned from this room": [\n            null,\n            "Sei stato bandito da questa stanza"\n         ],\n         "You have been kicked from this room": [\n            null,\n            "Sei stato espulso da questa stanza"\n         ],\n         "You have been removed from this room because of an affiliation change": [\n            null,\n            "Sei stato rimosso da questa stanza a causa di un cambio di affiliazione"\n         ],\n         "You have been removed from this room because the room has changed to members-only and you\'re not a member": [\n            null,\n            "Sei stato rimosso da questa stanza poiché ora la stanza accetta solo membri"\n         ],\n         "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.": [\n            null,\n            "Sei stato rimosso da questa stanza poiché il servizio MUC (Chat multi utente) è in fase di spegnimento"\n         ],\n         "<strong>%1$s</strong> has been banned": [\n            null,\n            "<strong>%1$s</strong> è stato bandito"\n         ],\n         "<strong>%1$s</strong>\'s nickname has changed": [\n            null,\n            "<strong>%1$s</strong> nickname è cambiato"\n         ],\n         "<strong>%1$s</strong> has been kicked out": [\n            null,\n            "<strong>%1$s</strong> è stato espulso"\n         ],\n         "<strong>%1$s</strong> has been removed because of an affiliation change": [\n            null,\n            "<strong>%1$s</strong> è stato rimosso a causa di un cambio di affiliazione"\n         ],\n         "<strong>%1$s</strong> has been removed for not being a member": [\n            null,\n            "<strong>%1$s</strong> è stato rimosso in quanto non membro"\n         ],\n         "Your nickname has been automatically changed to: <strong>%1$s</strong>": [\n            null,\n            "Il tuo nickname è stato cambiato automaticamente in: <strong>%1$s</strong>"\n         ],\n         "Your nickname has been changed to: <strong>%1$s</strong>": [\n            null,\n            "Il tuo nickname è stato cambiato: <strong>%1$s</strong>"\n         ],\n         "The reason given is: \\"": [\n            null,\n            ""\n         ],\n         "You are not on the member list of this room": [\n            null,\n            "Non sei nella lista dei membri di questa stanza"\n         ],\n         "No nickname was specified": [\n            null,\n            "Nessun soprannome specificato"\n         ],\n         "You are not allowed to create new rooms": [\n            null,\n            "Non ti è permesso creare nuove stanze"\n         ],\n         "Your nickname doesn\'t conform to this room\'s policies": [\n            null,\n            "Il tuo soprannome non è conforme alle regole di questa stanza"\n         ],\n         "Your nickname is already taken": [\n            null,\n            "Il tuo soprannome è già utilizzato"\n         ],\n         "This room does not (yet) exist": [\n            null,\n            "Questa stanza non esiste (per ora)"\n         ],\n         "This room has reached it\'s maximum number of occupants": [\n            null,\n            "Questa stanza ha raggiunto il limite massimo di utenti"\n         ],\n         "Topic set by %1$s to: %2$s": [\n            null,\n            "Topic impostato da %1$s a: %2$s"\n         ],\n         "%1$s has invited you to join a chat room: %2$s": [\n            null,\n            "%1$s ti ha invitato a partecipare a una chat room: %2$s"\n         ],\n         "%1$s has invited you to join a chat room: %2$s, and left the following reason: \\"%3$s\\"": [\n            null,\n            "%1$s ti ha invitato a partecipare a una chat room: %2$s, e ha lasciato il seguente motivo: “%3$s”"\n         ],\n         "Click to restore this chat": [\n            null,\n            "Clicca per ripristinare questa chat"\n         ],\n         "Minimized": [\n            null,\n            "Ridotto"\n         ],\n         "Click to remove this contact": [\n            null,\n            "Clicca per rimuovere questo contatto"\n         ],\n         "Click to accept this contact request": [\n            null,\n            "Clicca per accettare questa richiesta di contatto"\n         ],\n         "Click to decline this contact request": [\n            null,\n            "Clicca per rifiutare questa richiesta di contatto"\n         ],\n         "Click to chat with this contact": [\n            null,\n            "Clicca per parlare con questo contatto"\n         ],\n         "Name": [\n            null,\n            "Nome"\n         ],\n         "Are you sure you want to remove this contact?": [\n            null,\n            "Sei sicuro di voler rimuovere questo contatto?"\n         ],\n         "Sorry, there was an error while trying to remove ": [\n            null,\n            "Si è verificato un errore durante il tentativo di rimozione"\n         ],\n         "Are you sure you want to decline this contact request?": [\n            null,\n            "Sei sicuro dirifiutare questa richiesta di contatto?"\n         ],\n         "Sorry, there was an error while trying to add ": [\n            null,\n            "Si è verificato un errore durante il tentativo di aggiunta"\n         ],\n         "This client does not allow presence subscriptions": [\n            null,\n            "Questo client non consente sottoscrizioni di presenza"\n         ],\n         "Type to filter": [\n            null,\n            ""\n         ],\n         "I am %1$s": [\n            null,\n            "Sono %1$s"\n         ],\n         "Click here to write a custom status message": [\n            null,\n            "Clicca qui per scrivere un messaggio di stato personalizzato"\n         ],\n         "Click to change your chat status": [\n            null,\n            "Clicca per cambiare il tuo stato"\n         ],\n         "Custom status": [\n            null,\n            "Stato personalizzato"\n         ],\n         "online": [\n            null,\n            "in linea"\n         ],\n         "busy": [\n            null,\n            "occupato"\n         ],\n         "away for long": [\n            null,\n            "assente da molto"\n         ],\n         "away": [\n            null,\n            "assente"\n         ],\n         "offline": [\n            null,\n            "offline"\n         ],\n         "Your XMPP provider\'s domain name:": [\n            null,\n            "Nome del dominio del provider XMPP:"\n         ],\n         "Fetch registration form": [\n            null,\n            "Recupero il modulo di registrazione"\n         ],\n         "Tip: A list of public XMPP providers is available": [\n            null,\n            "Suggerimento: È disponibile un elenco di provider XMPP pubblici"\n         ],\n         "here": [\n            null,\n            "qui"\n         ],\n         "Register": [\n            null,\n            "Registra"\n         ],\n         "Sorry, the given provider does not support in band account registration. Please try with a different provider.": [\n            null,\n            "Siamo spiacenti, il provider specificato non supporta la registrazione di account. Si prega di provare con un altro provider."\n         ],\n         "Requesting a registration form from the XMPP server": [\n            null,\n            "Sto richiedendo un modulo di registrazione al server XMPP"\n         ],\n         "Something went wrong while establishing a connection with \\"%1$s\\". Are you sure it exists?": [\n            null,\n            "Qualcosa è andato storto durante la connessione con “%1$s”. Sei sicuro che esiste?"\n         ],\n         "Now logging you in": [\n            null,\n            ""\n         ],\n         "Registered successfully": [\n            null,\n            "Registrazione riuscita"\n         ],\n         "Return": [\n            null,\n            ""\n         ],\n         "XMPP Username:": [\n            null,\n            "XMPP Username:"\n         ],\n         "Password:": [\n            null,\n            "Password:"\n         ],\n         "Click here to log in anonymously": [\n            null,\n            "Clicca per entrare anonimo"\n         ],\n         "Log In": [\n            null,\n            "Entra"\n         ],\n         "user@server": [\n            null,\n            "user@server"\n         ],\n         "password": [\n            null,\n            "Password"\n         ],\n         "Sign in": [\n            null,\n            "Accesso"\n         ],\n         "Toggle chat": [\n            null,\n            "Attiva/disattiva chat"\n         ]\n      }\n   }\n}'}),define("text!ja",[],function(){return'{\n   "domain": "converse",\n   "locale_data": {\n      "converse": {\n         "": {\n            "domain": "converse",\n            "plural_forms": "nplurals=1; plural=0;",\n            "lang": "JA"\n         },\n         " e.g. conversejs.org": [\n            null,\n            ""\n         ],\n         "unencrypted": [\n            null,\n            "暗号化されていません"\n         ],\n         "unverified": [\n            null,\n            "検証されていません"\n         ],\n         "verified": [\n            null,\n            "検証されました"\n         ],\n         "finished": [\n            null,\n            "完了"\n         ],\n         "This contact is busy": [\n            null,\n            "この相手先は取り込み中です"\n         ],\n         "This contact is online": [\n            null,\n            "この相手先は在席しています"\n         ],\n         "This contact is offline": [\n            null,\n            "この相手先はオフラインです"\n         ],\n         "This contact is unavailable": [\n            null,\n            "この相手先は不通です"\n         ],\n         "This contact is away for an extended period": [\n            null,\n            "この相手先は不在です"\n         ],\n         "This contact is away": [\n            null,\n            "この相手先は離席中です"\n         ],\n         "My contacts": [\n            null,\n            "相手先一覧"\n         ],\n         "Pending contacts": [\n            null,\n            "保留中の相手先"\n         ],\n         "Contact requests": [\n            null,\n            "会話に呼び出し"\n         ],\n         "Ungrouped": [\n            null,\n            ""\n         ],\n         "Contacts": [\n            null,\n            "相手先"\n         ],\n         "Groups": [\n            null,\n            ""\n         ],\n         "Attempting to reconnect in 5 seconds": [\n            null,\n            ""\n         ],\n         "Error": [\n            null,\n            "エラー"\n         ],\n         "Connecting": [\n            null,\n            "接続中です"\n         ],\n         "Authenticating": [\n            null,\n            "認証中"\n         ],\n         "Authentication Failed": [\n            null,\n            "認証に失敗"\n         ],\n         "Re-establishing encrypted session": [\n            null,\n            "暗号化セッションの再接続"\n         ],\n         "Generating private key.": [\n            null,\n            ""\n         ],\n         "Your browser might become unresponsive.": [\n            null,\n            ""\n         ],\n         "Could not verify this user\'s identify.": [\n            null,\n            "このユーザーの本人性を検証できませんでした。"\n         ],\n         "Exchanging private key with contact.": [\n            null,\n            ""\n         ],\n         "Minimize this chat box": [\n            null,\n            ""\n         ],\n         "Personal message": [\n            null,\n            "私信"\n         ],\n         "me": [\n            null,\n            "私"\n         ],\n         "is typing": [\n            null,\n            ""\n         ],\n         "has stopped typing": [\n            null,\n            ""\n         ],\n         "Show this menu": [\n            null,\n            "このメニューを表示"\n         ],\n         "Write in the third person": [\n            null,\n            "第三者に書く"\n         ],\n         "Remove messages": [\n            null,\n            "メッセージを削除"\n         ],\n         "Are you sure you want to clear the messages from this chat box?": [\n            null,\n            ""\n         ],\n         "Your message could not be sent": [\n            null,\n            "メッセージを送信できませんでした"\n         ],\n         "We received an unencrypted message": [\n            null,\n            "暗号化されていないメッセージを受信しました"\n         ],\n         "We received an unreadable encrypted message": [\n            null,\n            "読めない暗号化メッセージを受信しました"\n         ],\n         "Here are the fingerprints, please confirm them with %1$s, outside of this chat.\\n\\nFingerprint for you, %2$s: %3$s\\n\\nFingerprint for %1$s: %4$s\\n\\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.": [\n            null,\n            "これは鍵指紋です。チャット以外の方法でこれらを %1$s と確認してください。\\n\\nあなた %2$s の鍵指紋: %3$s\\n\\n%1$s の鍵指紋: %4$s\\n\\n確認して、鍵指紋が正しければ「OK」を、正しくなければ「キャンセル」をクリックしてください。"\n         ],\n         "What is your security question?": [\n            null,\n            "秘密の質問はなんですか?"\n         ],\n         "What is the answer to the security question?": [\n            null,\n            "秘密の質問の答はなんですか?"\n         ],\n         "Invalid authentication scheme provided": [\n            null,\n            "認証の方式が正しくありません"\n         ],\n         "Your messages are not encrypted anymore": [\n            null,\n            "メッセージはもう暗号化されません"\n         ],\n         "Your messages are not encrypted. Click here to enable OTR encryption.": [\n            null,\n            "メッセージは暗号化されません。OTR 暗号化を有効にするにはここをクリックしてください。"\n         ],\n         "End encrypted conversation": [\n            null,\n            "暗号化された会話を終了"\n         ],\n         "Insert a smiley": [\n            null,\n            ""\n         ],\n         "Hide the list of occupants": [\n            null,\n            ""\n         ],\n         "Refresh encrypted conversation": [\n            null,\n            "暗号化された会話をリフレッシュ"\n         ],\n         "Start a call": [\n            null,\n            ""\n         ],\n         "Start encrypted conversation": [\n            null,\n            "暗号化された会話を開始"\n         ],\n         "Verify with fingerprints": [\n            null,\n            "鍵指紋で検証"\n         ],\n         "Verify with SMP": [\n            null,\n            "SMP で検証"\n         ],\n         "What\'s this?": [\n            null,\n            "これは何ですか?"\n         ],\n         "Online": [\n            null,\n            "オンライン"\n         ],\n         "Busy": [\n            null,\n            "取り込み中"\n         ],\n         "Away": [\n            null,\n            "離席中"\n         ],\n         "Offline": [\n            null,\n            "オフライン"\n         ],\n         "Contact name": [\n            null,\n            "名前"\n         ],\n         "Search": [\n            null,\n            "検索"\n         ],\n         "e.g. user@example.com": [\n            null,\n            ""\n         ],\n         "Add": [\n            null,\n            "追加"\n         ],\n         "Click to add new chat contacts": [\n            null,\n            "クリックして新しいチャットの相手先を追加"\n         ],\n         "Add a contact": [\n            null,\n            "相手先を追加"\n         ],\n         "No users found": [\n            null,\n            "ユーザーが見つかりません"\n         ],\n         "Click to add as a chat contact": [\n            null,\n            "クリックしてチャットの相手先として追加"\n         ],\n         "Room name": [\n            null,\n            "談話室の名前"\n         ],\n         "Nickname": [\n            null,\n            "ニックネーム"\n         ],\n         "Server": [\n            null,\n            "サーバー"\n         ],\n         "Show rooms": [\n            null,\n            "談話室一覧を見る"\n         ],\n         "Rooms": [\n            null,\n            "談話室"\n         ],\n         "No rooms on %1$s": [\n            null,\n            "%1$s に談話室はありません"\n         ],\n         "Rooms on %1$s": [\n            null,\n            "%1$s の談話室一覧"\n         ],\n         "Click to open this room": [\n            null,\n            "クリックしてこの談話室を開く"\n         ],\n         "Show more information on this room": [\n            null,\n            "この談話室についての詳細を見る"\n         ],\n         "Description:": [\n            null,\n            "説明: "\n         ],\n         "Occupants:": [\n            null,\n            "入室者:"\n         ],\n         "Features:": [\n            null,\n            "特徴:"\n         ],\n         "Requires authentication": [\n            null,\n            "認証の要求"\n         ],\n         "Hidden": [\n            null,\n            "非表示"\n         ],\n         "Requires an invitation": [\n            null,\n            "招待の要求"\n         ],\n         "Moderated": [\n            null,\n            "発言制限"\n         ],\n         "Non-anonymous": [\n            null,\n            "非匿名"\n         ],\n         "Open room": [\n            null,\n            "開放談話室"\n         ],\n         "Permanent room": [\n            null,\n            "常設談話室"\n         ],\n         "Public": [\n            null,\n            "公開談話室"\n         ],\n         "Semi-anonymous": [\n            null,\n            "半匿名"\n         ],\n         "Temporary room": [\n            null,\n            "臨時談話室"\n         ],\n         "Unmoderated": [\n            null,\n            "発言制限なし"\n         ],\n         "This user is a moderator": [\n            null,\n            "このユーザーは司会者です"\n         ],\n         "This user can send messages in this room": [\n            null,\n            "このユーザーはこの談話室で発言できます"\n         ],\n         "This user can NOT send messages in this room": [\n            null,\n            "このユーザーはこの談話室で発言できません"\n         ],\n         "Invite...": [\n            null,\n            ""\n         ],\n         "You are about to invite %1$s to the chat room \\"%2$s\\". ": [\n            null,\n            ""\n         ],\n         "You may optionally include a message, explaining the reason for the invitation.": [\n            null,\n            ""\n         ],\n         "Message": [\n            null,\n            "メッセージ"\n         ],\n         "Error: could not execute the command": [\n            null,\n            ""\n         ],\n         "Error: the \\"": [\n            null,\n            ""\n         ],\n         "Change user\'s affiliation to admin": [\n            null,\n            ""\n         ],\n         "Change user role to occupant": [\n            null,\n            ""\n         ],\n         "Grant membership to a user": [\n            null,\n            ""\n         ],\n         "Remove user\'s ability to post messages": [\n            null,\n            ""\n         ],\n         "Change your nickname": [\n            null,\n            ""\n         ],\n         "Grant moderator role to user": [\n            null,\n            ""\n         ],\n         "Revoke user\'s membership": [\n            null,\n            ""\n         ],\n         "Allow muted user to post messages": [\n            null,\n            ""\n         ],\n         "Save": [\n            null,\n            "保存"\n         ],\n         "Cancel": [\n            null,\n            "キャンセル"\n         ],\n         "An error occurred while trying to save the form.": [\n            null,\n            "フォームを保存する際にエラーが発生しました。"\n         ],\n         "This chatroom requires a password": [\n            null,\n            "この談話室にはパスワードが必要です"\n         ],\n         "Password: ": [\n            null,\n            "パスワード:"\n         ],\n         "Submit": [\n            null,\n            "送信"\n         ],\n         "This room is not anonymous": [\n            null,\n            "この談話室は非匿名です"\n         ],\n         "This room now shows unavailable members": [\n            null,\n            "この談話室はメンバー以外にも見えます"\n         ],\n         "This room does not show unavailable members": [\n            null,\n            "この談話室はメンバー以外には見えません"\n         ],\n         "Non-privacy-related room configuration has changed": [\n            null,\n            "談話室の設定(プライバシーに無関係)が変更されました"\n         ],\n         "Room logging is now enabled": [\n            null,\n            "談話室の記録を取りはじめます"\n         ],\n         "Room logging is now disabled": [\n            null,\n            "談話室の記録を止めます"\n         ],\n         "This room is now non-anonymous": [\n            null,\n            "この談話室はただいま非匿名です"\n         ],\n         "This room is now semi-anonymous": [\n            null,\n            "この談話室はただいま半匿名です"\n         ],\n         "This room is now fully-anonymous": [\n            null,\n            "この談話室はただいま匿名です"\n         ],\n         "A new room has been created": [\n            null,\n            "新しい談話室が作成されました"\n         ],\n         "You have been banned from this room": [\n            null,\n            "この談話室から締め出されました"\n         ],\n         "You have been kicked from this room": [\n            null,\n            "この談話室から蹴り出されました"\n         ],\n         "You have been removed from this room because of an affiliation change": [\n            null,\n            "分掌の変更のため、この談話室から削除されました"\n         ],\n         "You have been removed from this room because the room has changed to members-only and you\'re not a member": [\n            null,\n            "談話室がメンバー制に変更されました。メンバーではないため、この談話室から削除されました"\n         ],\n         "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.": [\n            null,\n            "MUC(グループチャット)のサービスが停止したため、この談話室から削除されました。"\n         ],\n         "<strong>%1$s</strong> has been banned": [\n            null,\n            "<strong>%1$s</strong> を締め出しました"\n         ],\n         "<strong>%1$s</strong> has been kicked out": [\n            null,\n            "<strong>%1$s</strong> を蹴り出しました"\n         ],\n         "<strong>%1$s</strong> has been removed because of an affiliation change": [\n            null,\n            "分掌の変更のため、<strong>%1$s</strong> を削除しました"\n         ],\n         "<strong>%1$s</strong> has been removed for not being a member": [\n            null,\n            "メンバーでなくなったため、<strong>%1$s</strong> を削除しました"\n         ],\n         "The reason given is: \\"": [\n            null,\n            ""\n         ],\n         "You are not on the member list of this room": [\n            null,\n            "この談話室のメンバー一覧にいません"\n         ],\n         "No nickname was specified": [\n            null,\n            "ニックネームがありません"\n         ],\n         "You are not allowed to create new rooms": [\n            null,\n            "新しい談話室を作成する権限がありません"\n         ],\n         "Your nickname doesn\'t conform to this room\'s policies": [\n            null,\n            "ニックネームがこの談話室のポリシーに従っていません"\n         ],\n         "Your nickname is already taken": [\n            null,\n            "ニックネームは既に使われています"\n         ],\n         "This room does not (yet) exist": [\n            null,\n            "この談話室は存在しません"\n         ],\n         "This room has reached it\'s maximum number of occupants": [\n            null,\n            "この談話室は入室者数の上限に達しています"\n         ],\n         "Topic set by %1$s to: %2$s": [\n            null,\n            "%1$s が話題を設定しました: %2$s"\n         ],\n         "%1$s has invited you to join a chat room: %2$s": [\n            null,\n            ""\n         ],\n         "%1$s has invited you to join a chat room: %2$s, and left the following reason: \\"%3$s\\"": [\n            null,\n            ""\n         ],\n         "Minimized": [\n            null,\n            ""\n         ],\n         "Click to remove this contact": [\n            null,\n            "クリックしてこの相手先を削除"\n         ],\n         "Click to chat with this contact": [\n            null,\n            "クリックしてこの相手先とチャット"\n         ],\n         "Name": [\n            null,\n            ""\n         ],\n         "Sorry, there was an error while trying to remove ": [\n            null,\n            ""\n         ],\n         "Sorry, there was an error while trying to add ": [\n            null,\n            ""\n         ],\n         "This client does not allow presence subscriptions": [\n            null,\n            ""\n         ],\n         "Type to filter": [\n            null,\n            ""\n         ],\n         "I am %1$s": [\n            null,\n            "私はいま %1$s"\n         ],\n         "Click here to write a custom status message": [\n            null,\n            "状況メッセージを入力するには、ここをクリック"\n         ],\n         "Click to change your chat status": [\n            null,\n            "クリックして、在席状況を変更"\n         ],\n         "Custom status": [\n            null,\n            "独自の在席状況"\n         ],\n         "online": [\n            null,\n            "在席"\n         ],\n         "busy": [\n            null,\n            "取り込み中"\n         ],\n         "away for long": [\n            null,\n            "不在"\n         ],\n         "away": [\n            null,\n            "離席中"\n         ],\n         "Your XMPP provider\'s domain name:": [\n            null,\n            ""\n         ],\n         "Fetch registration form": [\n            null,\n            ""\n         ],\n         "Tip: A list of public XMPP providers is available": [\n            null,\n            ""\n         ],\n         "here": [\n            null,\n            ""\n         ],\n         "Register": [\n            null,\n            ""\n         ],\n         "Sorry, the given provider does not support in band account registration. Please try with a different provider.": [\n            null,\n            ""\n         ],\n         "Requesting a registration form from the XMPP server": [\n            null,\n            ""\n         ],\n         "Something went wrong while establishing a connection with \\"%1$s\\". Are you sure it exists?": [\n            null,\n            ""\n         ],\n         "Now logging you in": [\n            null,\n            ""\n         ],\n         "Registered successfully": [\n            null,\n            ""\n         ],\n         "Return": [\n            null,\n            ""\n         ],\n         "The provider rejected your registration attempt. Please check the values you entered for correctness.": [\n            null,\n            ""\n         ],\n         "Password:": [\n            null,\n            "パスワード:"\n         ],\n         "Log In": [\n            null,\n            "ログイン"\n         ],\n         "user@server": [\n            null,\n            ""\n         ],\n         "Sign in": [\n            null,\n            "サインイン"\n         ],\n         "Toggle chat": [\n            null,\n            ""\n         ]\n      }\n   }\n}'}),define("text!nb",[],function(){return'{\n   "domain": "converse",\n   "locale_data": {\n      "converse": {\n         "": {\n            "domain": "converse",\n            "plural_forms": "nplurals=2; plural=(n != 1);",\n            "lang": "nb"\n         },\n         " e.g. conversejs.org": [\n            null,\n            ""\n         ],\n         "unencrypted": [\n            null,\n            "ukryptertß"\n         ],\n         "unverified": [\n            null,\n            "uverifisert"\n         ],\n         "verified": [\n            null,\n            "verifisert"\n         ],\n         "finished": [\n            null,\n            "ferdig"\n         ],\n         "This contact is busy": [\n            null,\n            "Denne kontakten er opptatt"\n         ],\n         "This contact is online": [\n            null,\n            "Kontakten er pålogget"\n         ],\n         "This contact is offline": [\n            null,\n            "Kontakten er avlogget"\n         ],\n         "This contact is unavailable": [\n            null,\n            "Kontakten er utilgjengelig"\n         ],\n         "This contact is away for an extended period": [\n            null,\n            "Kontakten er borte for en lengre periode"\n         ],\n         "This contact is away": [\n            null,\n            "Kontakten er borte"\n         ],\n         "Click to hide these contacts": [\n            null,\n            "Klikk for å skjule disse kontaktene"\n         ],\n         "My contacts": [\n            null,\n            "Mine Kontakter"\n         ],\n         "Pending contacts": [\n            null,\n            "Kontakter som venter på godkjenning"\n         ],\n         "Contact requests": [\n            null,\n            "Kontaktforespørsler"\n         ],\n         "Ungrouped": [\n            null,\n            "Ugrupperte"\n         ],\n         "Contacts": [\n            null,\n            "Kontakter"\n         ],\n         "Groups": [\n            null,\n            "Grupper"\n         ],\n         "Attempting to reconnect in 5 seconds": [\n            null,\n            ""\n         ],\n         "Error": [\n            null,\n            "Feil"\n         ],\n         "Connecting": [\n            null,\n            "Kobler til"\n         ],\n         "Authenticating": [\n            null,\n            "Godkjenner"\n         ],\n         "Authentication Failed": [\n            null,\n            "Godkjenning mislyktes"\n         ],\n         "Re-establishing encrypted session": [\n            null,\n            "Gjenopptar kryptert økt"\n         ],\n         "Generating private key.": [\n            null,\n            "Genererer privat nøkkel"\n         ],\n         "Your browser might become unresponsive.": [\n            null,\n            "Din nettleser kan bli uresponsiv"\n         ],\n         "Authentication request from %1$s\\n\\nYour chat contact is attempting to verify your identity, by asking you the question below.\\n\\n%2$s": [\n            null,\n            "Godkjenningsforespørsel fra %1$s\\n\\nDin nettpratkontakt forsøker å bekrefte din identitet, ved å spørre deg spørsmålet under.\\n\\n%2$s"\n         ],\n         "Could not verify this user\'s identify.": [\n            null,\n            "Kunne ikke bekrefte denne brukerens identitet"\n         ],\n         "Exchanging private key with contact.": [\n            null,\n            "Bytter private nøkler med kontakt"\n         ],\n         "Minimize this chat box": [\n            null,\n            ""\n         ],\n         "Personal message": [\n            null,\n            "Personlig melding"\n         ],\n         "Are you sure you want to clear the messages from this room?": [\n            null,\n            "Er du sikker på at du vil fjerne meldingene fra dette rommet?"\n         ],\n         "me": [\n            null,\n            "meg"\n         ],\n         "is typing": [\n            null,\n            "skriver"\n         ],\n         "has stopped typing": [\n            null,\n            "har stoppet å skrive"\n         ],\n         "Show this menu": [\n            null,\n            "Viser denne menyen"\n         ],\n         "Write in the third person": [\n            null,\n            "Skriv i tredjeperson"\n         ],\n         "Remove messages": [\n            null,\n            "Fjern meldinger"\n         ],\n         "Are you sure you want to clear the messages from this chat box?": [\n            null,\n            "Er du sikker på at du vil fjerne meldingene fra denne meldingsboksen?"\n         ],\n         "Your message could not be sent": [\n            null,\n            "Beskjeden din kunne ikke sendes"\n         ],\n         "We received an unencrypted message": [\n            null,\n            "Vi mottok en ukryptert beskjed"\n         ],\n         "We received an unreadable encrypted message": [\n            null,\n            "Vi mottok en uleselig melding"\n         ],\n         "Here are the fingerprints, please confirm them with %1$s, outside of this chat.\\n\\nFingerprint for you, %2$s: %3$s\\n\\nFingerprint for %1$s: %4$s\\n\\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.": [\n            null,\n            "Here are the fingerprints, please confirm them with %1$s, outside of this chat.\\n\\nFingerprint for you, %2$s: %3$s\\n\\nFingerprint for %1$s: %4$s\\n\\nOm du har bekreftet at avtrykkene matcher, klikk OK. I motsatt fall, trykk Avbryt."\n         ],\n         "You will be prompted to provide a security question and then an answer to that question.\\n\\nYour contact will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.": [\n            null,\n            "Du vil bli spurt etter å tilby et sikkerhetsspørsmål og siden svare på dette.\\n\\nDin kontakt vil så bli spurt om det samme spørsmålet, og om de svarer det nøyaktig samme svaret (det er forskjell på små og store bokstaver), vil identiteten verifiseres."\n         ],\n         "What is your security question?": [\n            null,\n            "Hva er ditt Sikkerhetsspørsmål?"\n         ],\n         "What is the answer to the security question?": [\n            null,\n            "Hva er svaret på ditt Sikkerhetsspørsmål?"\n         ],\n         "Invalid authentication scheme provided": [\n            null,\n            "Du har vedlagt en ugyldig godkjenningsplan."\n         ],\n         "Your messages are not encrypted anymore": [\n            null,\n            "Dine meldinger er ikke kryptert lenger."\n         ],\n         "Your messages are now encrypted but your contact\'s identity has not been verified.": [\n            null,\n            "Dine meldinger er nå krypterte, men identiteten til din kontakt har ikke blitt verifisert."\n         ],\n         "Your contact\'s identify has been verified.": [\n            null,\n            "Din kontakts identitet har blitt verifisert."\n         ],\n         "Your contact has ended encryption on their end, you should do the same.": [\n            null,\n            "Din kontakt har avsluttet kryptering i sin ende, dette burde du også gjøre."\n         ],\n         "Your messages are not encrypted. Click here to enable OTR encryption.": [\n            null,\n            "Dine meldinger er ikke krypterte. Klikk her for å aktivere OTR-kryptering."\n         ],\n         "Your messages are encrypted, but your contact has not been verified.": [\n            null,\n            "Dine meldinger er krypterte, men din kontakt har ikke blitt verifisert."\n         ],\n         "Your messages are encrypted and your contact verified.": [\n            null,\n            "Dine meldinger er krypterte og din kontakt er verifisert."\n         ],\n         "Your contact has closed their end of the private session, you should do the same": [\n            null,\n            "Din kontakt har avsluttet økten i sin ende, dette burde du også gjøre."\n         ],\n         "Clear all messages": [\n            null,\n            "Fjern alle meldinger"\n         ],\n         "End encrypted conversation": [\n            null,\n            "Avslutt kryptert økt"\n         ],\n         "Insert a smiley": [\n            null,\n            ""\n         ],\n         "Refresh encrypted conversation": [\n            null,\n            "Last inn kryptert samtale på nytt"\n         ],\n         "Start a call": [\n            null,\n            "Start en samtale"\n         ],\n         "Start encrypted conversation": [\n            null,\n            "Start en kryptert samtale"\n         ],\n         "Verify with fingerprints": [\n            null,\n            "Verifiser med Avtrykk"\n         ],\n         "Verify with SMP": [\n            null,\n            "Verifiser med SMP"\n         ],\n         "What\'s this?": [\n            null,\n            "Hva er dette?"\n         ],\n         "Online": [\n            null,\n            "Pålogget"\n         ],\n         "Busy": [\n            null,\n            "Opptatt"\n         ],\n         "Away": [\n            null,\n            "Borte"\n         ],\n         "Offline": [\n            null,\n            "Avlogget"\n         ],\n         "Log out": [\n            null,\n            "Logg Av"\n         ],\n         "Contact name": [\n            null,\n            "Kontaktnavn"\n         ],\n         "Search": [\n            null,\n            "Søk"\n         ],\n         "e.g. user@example.com": [\n            null,\n            ""\n         ],\n         "Add": [\n            null,\n            "Legg Til"\n         ],\n         "Click to add new chat contacts": [\n            null,\n            "Klikk for å legge til nye meldingskontakter"\n         ],\n         "Add a contact": [\n            null,\n            "Legg til en Kontakt"\n         ],\n         "No users found": [\n            null,\n            "Ingen brukere funnet"\n         ],\n         "Click to add as a chat contact": [\n            null,\n            "Klikk for å legge til som meldingskontakt"\n         ],\n         "Room name": [\n            null,\n            "Romnavn"\n         ],\n         "Nickname": [\n            null,\n            "Kallenavn"\n         ],\n         "Server": [\n            null,\n            "Server"\n         ],\n         "Show rooms": [\n            null,\n            "Vis Rom"\n         ],\n         "Rooms": [\n            null,\n            "Rom"\n         ],\n         "No rooms on %1$s": [\n            null,\n            "Ingen rom på %1$s"\n         ],\n         "Rooms on %1$s": [\n            null,\n            "Rom på %1$s"\n         ],\n         "Click to open this room": [\n            null,\n            "Klikk for å åpne dette rommet"\n         ],\n         "Show more information on this room": [\n            null,\n            "Vis mer informasjon om dette rommet"\n         ],\n         "Description:": [\n            null,\n            "Beskrivelse:"\n         ],\n         "Occupants:": [\n            null,\n            "Brukere her:"\n         ],\n         "Features:": [\n            null,\n            "Egenskaper:"\n         ],\n         "Requires authentication": [\n            null,\n            "Krever Godkjenning"\n         ],\n         "Hidden": [\n            null,\n            "Skjult"\n         ],\n         "Requires an invitation": [\n            null,\n            "Krever en invitasjon"\n         ],\n         "Moderated": [\n            null,\n            "Moderert"\n         ],\n         "Non-anonymous": [\n            null,\n            "Ikke-Anonym"\n         ],\n         "Open room": [\n            null,\n            "Åpent Rom"\n         ],\n         "Permanent room": [\n            null,\n            "Permanent Rom"\n         ],\n         "Public": [\n            null,\n            "Alle"\n         ],\n         "Semi-anonymous": [\n            null,\n            "Semi-anonymt"\n         ],\n         "Temporary room": [\n            null,\n            "Midlertidig Rom"\n         ],\n         "Unmoderated": [\n            null,\n            "Umoderert"\n         ],\n         "This user is a moderator": [\n            null,\n            "Denne brukeren er moderator"\n         ],\n         "This user can send messages in this room": [\n            null,\n            "Denne brukeren kan skrive meldinger i dette rommet"\n         ],\n         "This user can NOT send messages in this room": [\n            null,\n            "Denne brukeren kan IKKE sende meldinger i dette rommet"\n         ],\n         "Invite...": [\n            null,\n            "Invitér..."\n         ],\n         "Occupants": [\n            null,\n            "Brukere her:"\n         ],\n         "You are about to invite %1$s to the chat room \\"%2$s\\". ": [\n            null,\n            "Du er i ferd med å invitere %1$s til samtalerommet \\"%2$s\\". "\n         ],\n         "You may optionally include a message, explaining the reason for the invitation.": [\n            null,\n            "Du kan eventuelt inkludere en melding og forklare årsaken til invitasjonen."\n         ],\n         "Message": [\n            null,\n            "Melding"\n         ],\n         "Error: could not execute the command": [\n            null,\n            "Feil: kunne ikke utføre kommandoen"\n         ],\n         "Error: the \\"": [\n            null,\n            ""\n         ],\n         "Change user\'s affiliation to admin": [\n            null,\n            ""\n         ],\n         "Ban user from room": [\n            null,\n            "Utesteng bruker fra rommet"\n         ],\n         "Kick user from room": [\n            null,\n            "Kast ut bruker fra rommet"\n         ],\n         "Write in 3rd person": [\n            null,\n            "Skriv i tredjeperson"\n         ],\n         "Grant membership to a user": [\n            null,\n            ""\n         ],\n         "Remove user\'s ability to post messages": [\n            null,\n            "Fjern brukerens muligheter til å skrive meldinger"\n         ],\n         "Change your nickname": [\n            null,\n            "Endre ditt kallenavn"\n         ],\n         "Grant moderator role to user": [\n            null,\n            ""\n         ],\n         "Revoke user\'s membership": [\n            null,\n            ""\n         ],\n         "Set room topic": [\n            null,\n            "Endre rommets emne"\n         ],\n         "Allow muted user to post messages": [\n            null,\n            "Tillat stumme brukere å skrive meldinger"\n         ],\n         "Save": [\n            null,\n            "Lagre"\n         ],\n         "Cancel": [\n            null,\n            "Avbryt"\n         ],\n         "An error occurred while trying to save the form.": [\n            null,\n            "En feil skjedde under lagring av skjemaet."\n         ],\n         "This chatroom requires a password": [\n            null,\n            "Dette rommet krever et passord"\n         ],\n         "Password: ": [\n            null,\n            "Passord:"\n         ],\n         "Submit": [\n            null,\n            "Send"\n         ],\n         "This room is not anonymous": [\n            null,\n            "Dette rommet er ikke anonymt"\n         ],\n         "This room now shows unavailable members": [\n            null,\n            "Dette rommet viser nå utilgjengelige medlemmer"\n         ],\n         "This room does not show unavailable members": [\n            null,\n            "Dette rommet viser ikke utilgjengelige medlemmer"\n         ],\n         "Non-privacy-related room configuration has changed": [\n            null,\n            "Ikke-personvernsrelatert romkonfigurasjon har blitt endret"\n         ],\n         "Room logging is now enabled": [\n            null,\n            "Romlogging er nå aktivert"\n         ],\n         "Room logging is now disabled": [\n            null,\n            "Romlogging er nå deaktivert"\n         ],\n         "This room is now non-anonymous": [\n            null,\n            "Dette rommet er nå ikke-anonymt"\n         ],\n         "This room is now semi-anonymous": [\n            null,\n            "Dette rommet er nå semi-anonymt"\n         ],\n         "This room is now fully-anonymous": [\n            null,\n            "Dette rommet er nå totalt anonymt"\n         ],\n         "A new room has been created": [\n            null,\n            "Et nytt rom har blitt opprettet"\n         ],\n         "You have been banned from this room": [\n            null,\n            "Du har blitt utestengt fra dette rommet"\n         ],\n         "You have been kicked from this room": [\n            null,\n            "Du ble kastet ut av dette rommet"\n         ],\n         "You have been removed from this room because of an affiliation change": [\n            null,\n            "Du har blitt fjernet fra dette rommet på grunn av en holdningsendring"\n         ],\n         "You have been removed from this room because the room has changed to members-only and you\'re not a member": [\n            null,\n            "Du har blitt fjernet fra dette rommet fordi rommet nå kun tillater medlemmer, noe du ikke er."\n         ],\n         "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.": [\n            null,\n            "Du har blitt fjernet fra dette rommet fordi MBC (Multi-Bruker-Chat)-tjenesten er stengt ned."\n         ],\n         "<strong>%1$s</strong> has been banned": [\n            null,\n            "<strong>%1$s</strong>  har blitt utestengt"\n         ],\n         "<strong>%1$s</strong>\'s nickname has changed": [\n            null,\n            "<strong>%1$s</strong> sitt kallenavn er endret"\n         ],\n         "<strong>%1$s</strong> has been kicked out": [\n            null,\n            "<strong>%1$s</strong>  ble kastet ut"\n         ],\n         "<strong>%1$s</strong> has been removed because of an affiliation change": [\n            null,\n            "<strong>%1$s</strong> har blitt fjernet på grunn av en holdningsendring"\n         ],\n         "<strong>%1$s</strong> has been removed for not being a member": [\n            null,\n            "<strong>%1$s</strong> har blitt fjernet på grunn av at han/hun ikke er medlem"\n         ],\n         "Your nickname has been automatically changed to: <strong>%1$s</strong>": [\n            null,\n            "Ditt kallenavn har blitt automatisk endret til <strong>%1$s</strong> "\n         ],\n         "Your nickname has been changed to: <strong>%1$s</strong>": [\n            null,\n            "Ditt kallenavn har blitt endret til <strong>%1$s</strong> "\n         ],\n         "The reason given is: \\"": [\n            null,\n            "Årsaken som er oppgitt er: \\""\n         ],\n         "You are not on the member list of this room": [\n            null,\n            "Du er ikke på medlemslisten til dette rommet"\n         ],\n         "No nickname was specified": [\n            null,\n            "Ingen kallenavn var spesifisert"\n         ],\n         "You are not allowed to create new rooms": [\n            null,\n            "Du har ikke tillatelse til å opprette nye rom"\n         ],\n         "Your nickname doesn\'t conform to this room\'s policies": [\n            null,\n            "Ditt kallenavn er ikke i samsvar med rommets regler"\n         ],\n         "Your nickname is already taken": [\n            null,\n            "Kallenavnet er allerede tatt"\n         ],\n         "This room does not (yet) exist": [\n            null,\n            "Dette rommet eksisterer ikke (enda)"\n         ],\n         "This room has reached it\'s maximum number of occupants": [\n            null,\n            "Dette rommet har nådd maksimalt antall brukere"\n         ],\n         "Topic set by %1$s to: %2$s": [\n            null,\n            "Emnet ble endret den %1$s til: %2$s"\n         ],\n         "%1$s has invited you to join a chat room: %2$s": [\n            null,\n            "%1$s har invitert deg til å bli med i chatterommet: %2$s"\n         ],\n         "%1$s has invited you to join a chat room: %2$s, and left the following reason: \\"%3$s\\"": [\n            null,\n            "%1$s har invitert deg til å bli med i chatterommet: %2$s, og forlot selv av følgende grunn:  \\"%3$s\\""\n         ],\n         "Click to restore this chat": [\n            null,\n            "Klikk for å gjenopprette denne samtalen"\n         ],\n         "Minimized": [\n            null,\n            "Minimert"\n         ],\n         "Click to remove this contact": [\n            null,\n            "Klikk for å fjerne denne kontakten"\n         ],\n         "Click to accept this contact request": [\n            null,\n            "Klikk for å Godta denne kontaktforespørselen"\n         ],\n         "Click to decline this contact request": [\n            null,\n            "Klikk for å avslå denne kontaktforespørselen"\n         ],\n         "Click to chat with this contact": [\n            null,\n            "Klikk for å chatte med denne kontakten"\n         ],\n         "Name": [\n            null,\n            ""\n         ],\n         "Are you sure you want to remove this contact?": [\n            null,\n            "Er du sikker på at du vil fjerne denne kontakten?"\n         ],\n         "Sorry, there was an error while trying to remove ": [\n            null,\n            ""\n         ],\n         "Are you sure you want to decline this contact request?": [\n            null,\n            "Er du sikker på at du vil avslå denne kontaktforespørselen?"\n         ],\n         "Sorry, there was an error while trying to add ": [\n            null,\n            ""\n         ],\n         "This client does not allow presence subscriptions": [\n            null,\n            ""\n         ],\n         "Type to filter": [\n            null,\n            "Skriv til filter"\n         ],\n         "I am %1$s": [\n            null,\n            "Jeg er %1$s"\n         ],\n         "Click here to write a custom status message": [\n            null,\n            "Klikk her for å skrive en personlig statusmelding"\n         ],\n         "Click to change your chat status": [\n            null,\n            "Klikk for å endre din meldingsstatus"\n         ],\n         "Custom status": [\n            null,\n            "Personlig status"\n         ],\n         "online": [\n            null,\n            "pålogget"\n         ],\n         "busy": [\n            null,\n            "opptatt"\n         ],\n         "away for long": [\n            null,\n            "borte lenge"\n         ],\n         "away": [\n            null,\n            "borte"\n         ],\n         "Your XMPP provider\'s domain name:": [\n            null,\n            "Din XMPP-tilbyders domenenavn:"\n         ],\n         "Fetch registration form": [\n            null,\n            "Hent registreringsskjema"\n         ],\n         "Tip: A list of public XMPP providers is available": [\n            null,\n            "Tips: En liste med offentlige XMPP-tilbydere er tilgjengelig"\n         ],\n         "here": [\n            null,\n            "her"\n         ],\n         "Register": [\n            null,\n            "Registrér deg"\n         ],\n         "Sorry, the given provider does not support in band account registration. Please try with a different provider.": [\n            null,\n            "Beklager, den valgte tilbyderen støtter ikke in band kontoregistrering. Vennligst prøv igjen med en annen tilbyder. "\n         ],\n         "Requesting a registration form from the XMPP server": [\n            null,\n            "Spør etter registreringsskjema fra XMPP-tjeneren"\n         ],\n         "Something went wrong while establishing a connection with \\"%1$s\\". Are you sure it exists?": [\n            null,\n            "Noe gikk galt under etablering av forbindelse med \\"%1$s\\". Er du sikker på at denne eksisterer?"\n         ],\n         "Now logging you in": [\n            null,\n            "Logger deg inn"\n         ],\n         "Registered successfully": [\n            null,\n            "Registrering var vellykket"\n         ],\n         "Return": [\n            null,\n            "Tilbake"\n         ],\n         "XMPP Username:": [\n            null,\n            "XMPP Brukernavn:"\n         ],\n         "Password:": [\n            null,\n            "Passord:"\n         ],\n         "Log In": [\n            null,\n            "Logg inn"\n         ],\n         "user@server": [\n            null,\n            ""\n         ],\n         "Sign in": [\n            null,\n            "Innlogging"\n         ],\n         "Toggle chat": [\n            null,\n            "Endre chatten"\n         ]\n      }\n   }\n}'}),define("text!nl",[],function(){return'{\n   "domain": "converse",\n   "locale_data": {\n      "converse": {\n         "": {\n            "domain": "converse",\n            "plural_forms": "nplurals=2; plural=(n != 1);",\n            "lang": "nl"\n         },\n         " e.g. conversejs.org": [\n            null,\n            ""\n         ],\n         "unencrypted": [\n            null,\n            "ongecodeerde"\n         ],\n         "unverified": [\n            null,\n            "niet geverifieerd"\n         ],\n         "verified": [\n            null,\n            "geverifieerd"\n         ],\n         "finished": [\n            null,\n            "klaar"\n         ],\n         "This contact is busy": [\n            null,\n            "Contact is bezet"\n         ],\n         "This contact is online": [\n            null,\n            "Contact is online"\n         ],\n         "This contact is offline": [\n            null,\n            "Contact is offline"\n         ],\n         "This contact is unavailable": [\n            null,\n            "Contact is niet beschikbaar"\n         ],\n         "This contact is away for an extended period": [\n            null,\n            "Contact is afwezig voor lange periode"\n         ],\n         "This contact is away": [\n            null,\n            "Conact is afwezig"\n         ],\n         "My contacts": [\n            null,\n            "Mijn contacts"\n         ],\n         "Pending contacts": [\n            null,\n            "Conacten in afwachting van"\n         ],\n         "Contact requests": [\n            null,\n            "Contact uitnodiging"\n         ],\n         "Ungrouped": [\n            null,\n            ""\n         ],\n         "Contacts": [\n            null,\n            "Contacten"\n         ],\n         "Groups": [\n            null,\n            ""\n         ],\n         "Attempting to reconnect in 5 seconds": [\n            null,\n            ""\n         ],\n         "Error": [\n            null,\n            "Error"\n         ],\n         "Connecting": [\n            null,\n            "Verbinden"\n         ],\n         "Authenticating": [\n            null,\n            "Authenticeren"\n         ],\n         "Authentication Failed": [\n            null,\n            "Authenticeren mislukt"\n         ],\n         "Re-establishing encrypted session": [\n            null,\n            "Bezig versleutelde sessie te herstellen"\n         ],\n         "Generating private key.": [\n            null,\n            ""\n         ],\n         "Your browser might become unresponsive.": [\n            null,\n            ""\n         ],\n         "Authentication request from %1$s\\n\\nYour chat contact is attempting to verify your identity, by asking you the question below.\\n\\n%2$s": [\n            null,\n            ""\n         ],\n         "Could not verify this user\'s identify.": [\n            null,\n            "Niet kon de identiteit van deze gebruiker niet identificeren."\n         ],\n         "Exchanging private key with contact.": [\n            null,\n            ""\n         ],\n         "Minimize this chat box": [\n            null,\n            ""\n         ],\n         "Personal message": [\n            null,\n            "Persoonlijk bericht"\n         ],\n         "me": [\n            null,\n            "ikzelf"\n         ],\n         "Show this menu": [\n            null,\n            "Toon dit menu"\n         ],\n         "Write in the third person": [\n            null,\n            "Schrijf in de 3de persoon"\n         ],\n         "Remove messages": [\n            null,\n            "Verwijder bericht"\n         ],\n         "Are you sure you want to clear the messages from this chat box?": [\n            null,\n            ""\n         ],\n         "Your message could not be sent": [\n            null,\n            "Je bericht kon niet worden verzonden"\n         ],\n         "We received an unencrypted message": [\n            null,\n            "We ontvingen een unencrypted bericht "\n         ],\n         "We received an unreadable encrypted message": [\n            null,\n            "We ontvangen een onleesbaar unencrypted bericht"\n         ],\n         "Here are the fingerprints, please confirm them with %1$s, outside of this chat.\\n\\nFingerprint for you, %2$s: %3$s\\n\\nFingerprint for %1$s: %4$s\\n\\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.": [\n            null,\n            ""\n         ],\n         "You will be prompted to provide a security question and then an answer to that question.\\n\\nYour contact will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.": [\n            null,\n            ""\n         ],\n         "What is your security question?": [\n            null,\n            "Wat is jou sericury vraag?"\n         ],\n         "What is the answer to the security question?": [\n            null,\n            "Wat is het antwoord op de security vraag?"\n         ],\n         "Invalid authentication scheme provided": [\n            null,\n            ""\n         ],\n         "Your messages are not encrypted anymore": [\n            null,\n            "Je berichten zijn niet meer encrypted"\n         ],\n         "Your messages are not encrypted. Click here to enable OTR encryption.": [\n            null,\n            "Jou bericht is niet encrypted. KLik hier om ORC encrytion aan te zetten."\n         ],\n         "End encrypted conversation": [\n            null,\n            "Beeindig encrypted gesprek"\n         ],\n         "Insert a smiley": [\n            null,\n            ""\n         ],\n         "Hide the list of occupants": [\n            null,\n            ""\n         ],\n         "Refresh encrypted conversation": [\n            null,\n            "Ververs encrypted gesprek"\n         ],\n         "Start a call": [\n            null,\n            ""\n         ],\n         "Start encrypted conversation": [\n            null,\n            "Start encrypted gesprek"\n         ],\n         "Verify with fingerprints": [\n            null,\n            ""\n         ],\n         "Verify with SMP": [\n            null,\n            ""\n         ],\n         "What\'s this?": [\n            null,\n            "Wat is dit?"\n         ],\n         "Online": [\n            null,\n            "Online"\n         ],\n         "Busy": [\n            null,\n            "Bezet"\n         ],\n         "Away": [\n            null,\n            "Afwezig"\n         ],\n         "Offline": [\n            null,\n            ""\n         ],\n         "Contact name": [\n            null,\n            "Contact naam"\n         ],\n         "Search": [\n            null,\n            "Zoeken"\n         ],\n         "e.g. user@example.com": [\n            null,\n            ""\n         ],\n         "Add": [\n            null,\n            "Toevoegen"\n         ],\n         "Click to add new chat contacts": [\n            null,\n            "Klik om nieuwe contacten toe te voegen"\n         ],\n         "Add a contact": [\n            null,\n            "Voeg contact toe"\n         ],\n         "No users found": [\n            null,\n            "Geen gebruikers gevonden"\n         ],\n         "Click to add as a chat contact": [\n            null,\n            "Klik om contact toe te voegen"\n         ],\n         "Room name": [\n            null,\n            "Room naam"\n         ],\n         "Nickname": [\n            null,\n            "Nickname"\n         ],\n         "Server": [\n            null,\n            "Server"\n         ],\n         "Show rooms": [\n            null,\n            "Toon rooms"\n         ],\n         "Rooms": [\n            null,\n            "Rooms"\n         ],\n         "No rooms on %1$s": [\n            null,\n            "Geen room op %1$s"\n         ],\n         "Rooms on %1$s": [\n            null,\n            "Room op %1$s"\n         ],\n         "Click to open this room": [\n            null,\n            "Klik om room te openen"\n         ],\n         "Show more information on this room": [\n            null,\n            "Toon meer informatie over deze room"\n         ],\n         "Description:": [\n            null,\n            "Beschrijving"\n         ],\n         "Occupants:": [\n            null,\n            "Deelnemers:"\n         ],\n         "Features:": [\n            null,\n            "Functies:"\n         ],\n         "Requires authentication": [\n            null,\n            "Verificatie vereist"\n         ],\n         "Hidden": [\n            null,\n            "Verborgen"\n         ],\n         "Requires an invitation": [\n            null,\n            "Veriest een uitnodiging"\n         ],\n         "Moderated": [\n            null,\n            "Gemodereerd"\n         ],\n         "Non-anonymous": [\n            null,\n            "Niet annoniem"\n         ],\n         "Open room": [\n            null,\n            "Open room"\n         ],\n         "Permanent room": [\n            null,\n            "Blijvend room"\n         ],\n         "Public": [\n            null,\n            "Publiek"\n         ],\n         "Semi-anonymous": [\n            null,\n            "Semi annoniem"\n         ],\n         "Temporary room": [\n            null,\n            "Tijdelijke room"\n         ],\n         "Unmoderated": [\n            null,\n            "Niet gemodereerd"\n         ],\n         "This user is a moderator": [\n            null,\n            "Dit is een moderator"\n         ],\n         "This user can send messages in this room": [\n            null,\n            "Deze gebruiker kan berichten sturen in deze room"\n         ],\n         "This user can NOT send messages in this room": [\n            null,\n            "Deze gebruiker kan NIET een bericht sturen in deze room"\n         ],\n         "Invite...": [\n            null,\n            ""\n         ],\n         "You are about to invite %1$s to the chat room \\"%2$s\\". ": [\n            null,\n            ""\n         ],\n         "You may optionally include a message, explaining the reason for the invitation.": [\n            null,\n            ""\n         ],\n         "Message": [\n            null,\n            "Bericht"\n         ],\n         "Error: could not execute the command": [\n            null,\n            ""\n         ],\n         "Error: the \\"": [\n            null,\n            ""\n         ],\n         "Change user\'s affiliation to admin": [\n            null,\n            ""\n         ],\n         "Change user role to occupant": [\n            null,\n            ""\n         ],\n         "Grant membership to a user": [\n            null,\n            ""\n         ],\n         "Remove user\'s ability to post messages": [\n            null,\n            ""\n         ],\n         "Change your nickname": [\n            null,\n            ""\n         ],\n         "Grant moderator role to user": [\n            null,\n            ""\n         ],\n         "Revoke user\'s membership": [\n            null,\n            ""\n         ],\n         "Allow muted user to post messages": [\n            null,\n            ""\n         ],\n         "Save": [\n            null,\n            "Opslaan"\n         ],\n         "Cancel": [\n            null,\n            "Annuleren"\n         ],\n         "An error occurred while trying to save the form.": [\n            null,\n            "Een error tijdens het opslaan van het formulier."\n         ],\n         "This chatroom requires a password": [\n            null,\n            "Chatroom heeft een wachtwoord"\n         ],\n         "Password: ": [\n            null,\n            "Wachtwoord: "\n         ],\n         "Submit": [\n            null,\n            "Indienen"\n         ],\n         "This room is not anonymous": [\n            null,\n            "Deze room is niet annoniem"\n         ],\n         "This room now shows unavailable members": [\n            null,\n            ""\n         ],\n         "This room does not show unavailable members": [\n            null,\n            ""\n         ],\n         "Non-privacy-related room configuration has changed": [\n            null,\n            ""\n         ],\n         "Room logging is now enabled": [\n            null,\n            ""\n         ],\n         "Room logging is now disabled": [\n            null,\n            ""\n         ],\n         "This room is now non-anonymous": [\n            null,\n            "Deze room is nu niet annoniem"\n         ],\n         "This room is now semi-anonymous": [\n            null,\n            "Deze room is nu semie annoniem"\n         ],\n         "This room is now fully-anonymous": [\n            null,\n            "Deze room is nu volledig annoniem"\n         ],\n         "A new room has been created": [\n            null,\n            "Een nieuwe room is gemaakt"\n         ],\n         "You have been banned from this room": [\n            null,\n            "Je bent verbannen uit deze room"\n         ],\n         "You have been kicked from this room": [\n            null,\n            "Je bent uit de room gegooid"\n         ],\n         "You have been removed from this room because of an affiliation change": [\n            null,\n            ""\n         ],\n         "You have been removed from this room because the room has changed to members-only and you\'re not a member": [\n            null,\n            ""\n         ],\n         "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.": [\n            null,\n            ""\n         ],\n         "<strong>%1$s</strong> has been banned": [\n            null,\n            "<strong>%1$s</strong> is verbannen"\n         ],\n         "<strong>%1$s</strong> has been kicked out": [\n            null,\n            "<strong>%1$s</strong> has been kicked out"\n         ],\n         "<strong>%1$s</strong> has been removed because of an affiliation change": [\n            null,\n            ""\n         ],\n         "<strong>%1$s</strong> has been removed for not being a member": [\n            null,\n            ""\n         ],\n         "The reason given is: \\"": [\n            null,\n            ""\n         ],\n         "You are not on the member list of this room": [\n            null,\n            "Je bent niet een gebruiker van deze room"\n         ],\n         "No nickname was specified": [\n            null,\n            "Geen nickname ingegeven"\n         ],\n         "You are not allowed to create new rooms": [\n            null,\n            "Je bent niet toegestaan nieuwe rooms te maken"\n         ],\n         "Your nickname doesn\'t conform to this room\'s policies": [\n            null,\n            "Je nickname is niet conform policy"\n         ],\n         "Your nickname is already taken": [\n            null,\n            "Je nickname bestaat al"\n         ],\n         "This room does not (yet) exist": [\n            null,\n            "Deze room bestaat niet"\n         ],\n         "This room has reached it\'s maximum number of occupants": [\n            null,\n            "Deze room heeft het maximale aantal gebruikers"\n         ],\n         "Topic set by %1$s to: %2$s": [\n            null,\n            ""\n         ],\n         "%1$s has invited you to join a chat room: %2$s": [\n            null,\n            ""\n         ],\n         "%1$s has invited you to join a chat room: %2$s, and left the following reason: \\"%3$s\\"": [\n            null,\n            ""\n         ],\n         "Minimized": [\n            null,\n            ""\n         ],\n         "Click to remove this contact": [\n            null,\n            "Klik om contact te verwijderen"\n         ],\n         "Click to chat with this contact": [\n            null,\n            "Klik om te chatten met contact"\n         ],\n         "Name": [\n            null,\n            ""\n         ],\n         "Sorry, there was an error while trying to remove ": [\n            null,\n            ""\n         ],\n         "Sorry, there was an error while trying to add ": [\n            null,\n            ""\n         ],\n         "This client does not allow presence subscriptions": [\n            null,\n            ""\n         ],\n         "Type to filter": [\n            null,\n            ""\n         ],\n         "I am %1$s": [\n            null,\n            "Ik ben %1$s"\n         ],\n         "Click here to write a custom status message": [\n            null,\n            "Klik hier om custom status bericht te maken"\n         ],\n         "Click to change your chat status": [\n            null,\n            "Klik hier om status te wijzigen"\n         ],\n         "Custom status": [\n            null,\n            ""\n         ],\n         "online": [\n            null,\n            "online"\n         ],\n         "busy": [\n            null,\n            "bezet"\n         ],\n         "away for long": [\n            null,\n            "afwezig lange tijd"\n         ],\n         "away": [\n            null,\n            "afwezig"\n         ],\n         "Your XMPP provider\'s domain name:": [\n            null,\n            ""\n         ],\n         "Fetch registration form": [\n            null,\n            ""\n         ],\n         "Tip: A list of public XMPP providers is available": [\n            null,\n            ""\n         ],\n         "here": [\n            null,\n            ""\n         ],\n         "Register": [\n            null,\n            ""\n         ],\n         "Sorry, the given provider does not support in band account registration. Please try with a different provider.": [\n            null,\n            ""\n         ],\n         "Requesting a registration form from the XMPP server": [\n            null,\n            ""\n         ],\n         "Something went wrong while establishing a connection with \\"%1$s\\". Are you sure it exists?": [\n            null,\n            ""\n         ],\n         "Now logging you in": [\n            null,\n            ""\n         ],\n         "Registered successfully": [\n            null,\n            ""\n         ],\n         "Return": [\n            null,\n            ""\n         ],\n         "The provider rejected your registration attempt. Please check the values you entered for correctness.": [\n            null,\n            ""\n         ],\n         "Password:": [\n            null,\n            "Wachtwoord:"\n         ],\n         "Log In": [\n            null,\n            "Aanmelden"\n         ],\n         "user@server": [\n            null,\n            ""\n         ],\n         "Sign in": [\n            null,\n            "Aanmelden"\n         ],\n         "Toggle chat": [\n            null,\n            ""\n         ]\n      }\n   }\n}'}),define("text!pl",[],function(){return'{\n   "domain": "converse",\n   "locale_data": {\n      "converse": {\n         "": {\n            "domain": "converse",\n            "plural_forms": "nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);",\n            "lang": "pl"\n         },\n         " e.g. conversejs.org": [\n            null,\n            "np. conversejs.org"\n         ],\n         "unencrypted": [\n            null,\n            "nieszyfrowane"\n         ],\n         "unverified": [\n            null,\n            "niezweryfikowane"\n         ],\n         "verified": [\n            null,\n            "zweryfikowane"\n         ],\n         "finished": [\n            null,\n            "zakończone"\n         ],\n         "This contact is busy": [\n            null,\n            "Kontakt jest zajęty"\n         ],\n         "This contact is online": [\n            null,\n            "Kontakt jest połączony"\n         ],\n         "This contact is offline": [\n            null,\n            "Kontakt jest niepołączony"\n         ],\n         "This contact is unavailable": [\n            null,\n            "Kontakt jest niedostępny"\n         ],\n         "This contact is away for an extended period": [\n            null,\n            "Kontakt jest nieobecny przez dłuższą chwilę"\n         ],\n         "This contact is away": [\n            null,\n            "Kontakt jest nieobecny"\n         ],\n         "Click to hide these contacts": [\n            null,\n            "Kliknij aby schować te kontakty"\n         ],\n         "My contacts": [\n            null,\n            "Moje kontakty"\n         ],\n         "Pending contacts": [\n            null,\n            "Kontakty oczekujące"\n         ],\n         "Contact requests": [\n            null,\n            "Zaproszenia do kontaktu"\n         ],\n         "Ungrouped": [\n            null,\n            "Niezgrupowane"\n         ],\n         "Contacts": [\n            null,\n            "Kontakty"\n         ],\n         "Groups": [\n            null,\n            "Grupy"\n         ],\n         "Attempting to reconnect in 5 seconds": [\n            null,\n            ""\n         ],\n         "Error": [\n            null,\n            "Błąd"\n         ],\n         "Connecting": [\n            null,\n            "Łączę się"\n         ],\n         "Authenticating": [\n            null,\n            "Autoryzacja"\n         ],\n         "Authentication Failed": [\n            null,\n            "Autoryzacja nie powiodła się"\n         ],\n         "Re-establishing encrypted session": [\n            null,\n            "Przywrócenie sesji szyfrowanej"\n         ],\n         "Generating private key.": [\n            null,\n            "Generuję klucz prywatny."\n         ],\n         "Your browser might become unresponsive.": [\n            null,\n            "Twoja przeglądarka może nieco zwolnić."\n         ],\n         "Authentication request from %1$s\\n\\nYour chat contact is attempting to verify your identity, by asking you the question below.\\n\\n%2$s": [\n            null,\n            "Prośba o autoryzację od %1$s\\n\\nKontakt próbuje zweryfikować twoją tożsamość, zadając ci pytanie poniżej.\\n\\n%2$s"\n         ],\n         "Could not verify this user\'s identify.": [\n            null,\n            "Nie jestem w stanie zweryfikować tożsamości kontaktu."\n         ],\n         "Exchanging private key with contact.": [\n            null,\n            "Wymieniam klucze szyfrujące z kontaktem."\n         ],\n         "Minimize this chat box": [\n            null,\n            ""\n         ],\n         "Personal message": [\n            null,\n            "Wiadomość osobista"\n         ],\n         "Are you sure you want to clear the messages from this room?": [\n            null,\n            "Potwierdź czy rzeczywiście chcesz wyczyścić wiadomości z tego pokoju?"\n         ],\n         "me": [\n            null,\n            "ja"\n         ],\n         "is typing": [\n            null,\n            "pisze"\n         ],\n         "has stopped typing": [\n            null,\n            "przestał pisać"\n         ],\n         "has gone away": [\n            null,\n            "uciekł"\n         ],\n         "Show this menu": [\n            null,\n            "Pokaż menu"\n         ],\n         "Write in the third person": [\n            null,\n            "Pisz w trzeciej osobie"\n         ],\n         "Remove messages": [\n            null,\n            "Usuń wiadomość"\n         ],\n         "Are you sure you want to clear the messages from this chat box?": [\n            null,\n            "Potwierdź czy rzeczywiście chcesz wyczyścić wiadomości z okienka rozmowy?"\n         ],\n         "Your message could not be sent": [\n            null,\n            "Twoja wiadomość nie została wysłana"\n         ],\n         "We received an unencrypted message": [\n            null,\n            "Otrzymaliśmy niezaszyfrowaną wiadomość"\n         ],\n         "We received an unreadable encrypted message": [\n            null,\n            "Otrzymaliśmy nieczytelną zaszyfrowaną wiadomość"\n         ],\n         "Here are the fingerprints, please confirm them with %1$s, outside of this chat.\\n\\nFingerprint for you, %2$s: %3$s\\n\\nFingerprint for %1$s: %4$s\\n\\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.": [\n            null,\n            "Oto odciski palców, potwiedź je proszę z %1$s używając innego sposobuwymiany informacji niż ta rozmowa.\\n\\nOdcisk palca dla ciebie, %2$s: %3$s\\n\\nOdcisk palca dla %1$s: %4$s\\n\\nJeśli odciski palców zostały potwierdzone, kliknij OK, w inny wypadku kliknij Anuluj."\n         ],\n         "You will be prompted to provide a security question and then an answer to that question.\\n\\nYour contact will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.": [\n            null,\n            "Poprosimy cię o podanie pytania sprawdzającego i odpowiedzi na nie.\\n\\nTwój kontakt zostanie poproszony później o odpowiedź na to samo pytanie i jeśli udzieli tej samej odpowiedzi (ważna jest wielkość liter), tożsamość zostanie zwerfikowana."\n         ],\n         "What is your security question?": [\n            null,\n            "Jakie jest pytanie bezpieczeństwa?"\n         ],\n         "What is the answer to the security question?": [\n            null,\n            "Jaka jest odpowiedź na pytanie bezpieczeństwa?"\n         ],\n         "Invalid authentication scheme provided": [\n            null,\n            "Niewłaściwy schemat autoryzacji"\n         ],\n         "has gone offline": [\n            null,\n            "wyłączył się"\n         ],\n         "is busy": [\n            null,\n            "zajęty"\n         ],\n         "Your messages are not encrypted anymore": [\n            null,\n            "Twoje wiadomości nie są już szyfrowane"\n         ],\n         "Your messages are now encrypted but your contact\'s identity has not been verified.": [\n            null,\n            "Wiadomości są teraz szyfrowane, ale tożsamość kontaktu nie została zweryfikowana."\n         ],\n         "Your contact\'s identify has been verified.": [\n            null,\n            "Tożsamość kontaktu została zweryfikowana"\n         ],\n         "Your contact has ended encryption on their end, you should do the same.": [\n            null,\n            "Kontakt zakończył sesję szyfrowaną, powinieneś zrobić to samo."\n         ],\n         "Your messages are not encrypted. Click here to enable OTR encryption.": [\n            null,\n            "Twoje wiadomości nie są szyfrowane. Kliknij, aby uruchomić szyfrowanie OTR"\n         ],\n         "Your messages are encrypted, but your contact has not been verified.": [\n            null,\n            "Wiadomości są szyfrowane, ale tożsamość kontaktu nie została zweryfikowana."\n         ],\n         "Your messages are encrypted and your contact verified.": [\n            null,\n            "Wiadomości są szyfrowane i tożsamość kontaktu została zweryfikowana."\n         ],\n         "Your contact has closed their end of the private session, you should do the same": [\n            null,\n            "Kontakt zakończył prywatną rozmowę i ty zrób to samo"\n         ],\n         "Clear all messages": [\n            null,\n            "Wyczyść wszystkie wiadomości"\n         ],\n         "End encrypted conversation": [\n            null,\n            "Zakończ szyfrowaną rozmowę"\n         ],\n         "Insert a smiley": [\n            null,\n            "Wstaw uśmieszek"\n         ],\n         "Refresh encrypted conversation": [\n            null,\n            "Odśwież szyfrowaną rozmowę"\n         ],\n         "Start a call": [\n            null,\n            "Zadzwoń"\n         ],\n         "Start encrypted conversation": [\n            null,\n            "Rozpocznij szyfrowaną rozmowę"\n         ],\n         "Verify with fingerprints": [\n            null,\n            "Zweryfikuj za pomocą odcisków palców"\n         ],\n         "Verify with SMP": [\n            null,\n            "Zweryfikuj za pomocą SMP"\n         ],\n         "What\'s this?": [\n            null,\n            "Co to jest?"\n         ],\n         "Online": [\n            null,\n            "Dostępny"\n         ],\n         "Busy": [\n            null,\n            "Zajęty"\n         ],\n         "Away": [\n            null,\n            "Nieobecny"\n         ],\n         "Offline": [\n            null,\n            "Rozłączony"\n         ],\n         "Log out": [\n            null,\n            "Wyloguj"\n         ],\n         "Contact name": [\n            null,\n            "Nazwa kontaktu"\n         ],\n         "Search": [\n            null,\n            "Szukaj"\n         ],\n         "e.g. user@example.com": [\n            null,\n            "np. user@example.com"\n         ],\n         "Add": [\n            null,\n            "Dodaj"\n         ],\n         "Click to add new chat contacts": [\n            null,\n            "Kliknij aby dodać nowe kontakty"\n         ],\n         "Add a contact": [\n            null,\n            "Dodaj kontakt"\n         ],\n         "No users found": [\n            null,\n            "Nie znaleziono użytkowników"\n         ],\n         "Click to add as a chat contact": [\n            null,\n            "Kliknij aby dodać jako kontakt"\n         ],\n         "Room name": [\n            null,\n            "Nazwa pokoju"\n         ],\n         "Nickname": [\n            null,\n            "Ksywka"\n         ],\n         "Server": [\n            null,\n            "Serwer"\n         ],\n         "Join Room": [\n            null,\n            "Wejdź do pokoju"\n         ],\n         "Show rooms": [\n            null,\n            "Pokaż pokoje"\n         ],\n         "Rooms": [\n            null,\n            "Pokoje"\n         ],\n         "No rooms on %1$s": [\n            null,\n            "Brak jest pokojów na %1$s"\n         ],\n         "Rooms on %1$s": [\n            null,\n            "Pokoje na %1$s"\n         ],\n         "Click to open this room": [\n            null,\n            "Kliknij aby wejść do pokoju"\n         ],\n         "Show more information on this room": [\n            null,\n            "Pokaż więcej informacji o pokoju"\n         ],\n         "Description:": [\n            null,\n            "Opis:"\n         ],\n         "Occupants:": [\n            null,\n            "Uczestnicy:"\n         ],\n         "Features:": [\n            null,\n            "Możliwości:"\n         ],\n         "Requires authentication": [\n            null,\n            "Wymaga autoryzacji"\n         ],\n         "Hidden": [\n            null,\n            "Ukryty"\n         ],\n         "Requires an invitation": [\n            null,\n            "Wymaga zaproszenia"\n         ],\n         "Moderated": [\n            null,\n            "Moderowany"\n         ],\n         "Non-anonymous": [\n            null,\n            "Nieanonimowy"\n         ],\n         "Open room": [\n            null,\n            "Otwarty pokój"\n         ],\n         "Permanent room": [\n            null,\n            "Stały pokój"\n         ],\n         "Public": [\n            null,\n            "Publiczny"\n         ],\n         "Semi-anonymous": [\n            null,\n            "Półanonimowy"\n         ],\n         "Temporary room": [\n            null,\n            "Pokój tymczasowy"\n         ],\n         "Unmoderated": [\n            null,\n            "Niemoderowany"\n         ],\n         "This user is a moderator": [\n            null,\n            "Ten człowiek jest moderatorem"\n         ],\n         "This user can send messages in this room": [\n            null,\n            "Ten człowiek może rozmawiać w niejszym pokoju"\n         ],\n         "This user can NOT send messages in this room": [\n            null,\n            "Ten człowiek nie może rozmawiać w niniejszym pokoju"\n         ],\n         "Invite...": [\n            null,\n            "Zaproś..."\n         ],\n         "Occupants": [\n            null,\n            "Uczestników"\n         ],\n         "You are about to invite %1$s to the chat room \\"%2$s\\". ": [\n            null,\n            "Zamierzasz zaprosić %1$s do pokoju rozmów \\"%2$s\\". "\n         ],\n         "You may optionally include a message, explaining the reason for the invitation.": [\n            null,\n            "Masz opcjonalną możliwość dołączenia wiadomości, która wyjaśni przyczynę zaproszenia."\n         ],\n         "Message": [\n            null,\n            "Wiadomość:"\n         ],\n         "Error: could not execute the command": [\n            null,\n            "Błąd: nie potrafię uruchomić polecenia"\n         ],\n         "Error: the \\"": [\n            null,\n            "Błąd: \\""\n         ],\n         "Change user\'s affiliation to admin": [\n            null,\n            "Przyznaj prawa administratora"\n         ],\n         "Ban user from room": [\n            null,\n            "Zablokuj dostępu do pokoju"\n         ],\n         "Kick user from room": [\n            null,\n            "Wykop z pokoju"\n         ],\n         "Write in 3rd person": [\n            null,\n            "Pisz w trzeciej osobie"\n         ],\n         "Grant membership to a user": [\n            null,\n            "Przyznaj członkowstwo "\n         ],\n         "Remove user\'s ability to post messages": [\n            null,\n            "Zablokuj człowiekowi możliwość rozmowy"\n         ],\n         "Change your nickname": [\n            null,\n            "Zmień ksywkę"\n         ],\n         "Grant moderator role to user": [\n            null,\n            "Przyznaj prawa moderatora"\n         ],\n         "Grant ownership of this room": [\n            null,\n            "Uczyń właścicielem pokoju"\n         ],\n         "Revoke user\'s membership": [\n            null,\n            "Usuń z listy członków"\n         ],\n         "Set room topic": [\n            null,\n            "Ustaw temat pokoju"\n         ],\n         "Allow muted user to post messages": [\n            null,\n            "Pozwól uciszonemu człowiekowi na rozmowę"\n         ],\n         "Save": [\n            null,\n            "Zachowaj"\n         ],\n         "Cancel": [\n            null,\n            "Anuluj"\n         ],\n         "An error occurred while trying to save the form.": [\n            null,\n            "Wystąpił błąd w czasie próby zachowania formularza."\n         ],\n         "This chatroom requires a password": [\n            null,\n            "Pokój rozmów wymaga podania hasła"\n         ],\n         "Password: ": [\n            null,\n            "Hasło:"\n         ],\n         "Submit": [\n            null,\n            "Wyślij"\n         ],\n         "This room is not anonymous": [\n            null,\n            "Pokój nie jest anonimowy"\n         ],\n         "This room now shows unavailable members": [\n            null,\n            "Pokój pokazuje niedostępnych rozmówców"\n         ],\n         "This room does not show unavailable members": [\n            null,\n            "Ten pokój nie wyświetla niedostępnych członków"\n         ],\n         "Non-privacy-related room configuration has changed": [\n            null,\n            "Ustawienia pokoju nie związane z prywatnością zostały zmienione"\n         ],\n         "Room logging is now enabled": [\n            null,\n            "Zostało włączone zapisywanie rozmów w pokoju"\n         ],\n         "Room logging is now disabled": [\n            null,\n            "Zostało wyłączone zapisywanie rozmów w pokoju"\n         ],\n         "This room is now non-anonymous": [\n            null,\n            "Pokój stał się nieanonimowy"\n         ],\n         "This room is now semi-anonymous": [\n            null,\n            "Pokój stał się półanonimowy"\n         ],\n         "This room is now fully-anonymous": [\n            null,\n            "Pokój jest teraz w pełni anonimowy"\n         ],\n         "A new room has been created": [\n            null,\n            "Został utworzony nowy pokój"\n         ],\n         "You have been banned from this room": [\n            null,\n            "Jesteś niemile widziany w tym pokoju"\n         ],\n         "You have been kicked from this room": [\n            null,\n            "Zostałeś wykopany z pokoju"\n         ],\n         "You have been removed from this room because of an affiliation change": [\n            null,\n            "Zostałeś usunięty z pokoju ze względu na zmianę przynależności"\n         ],\n         "You have been removed from this room because the room has changed to members-only and you\'re not a member": [\n            null,\n            "Zostałeś usunięty z pokoju ze względu na to, że pokój zmienił się na wymagający członkowstwa, a ty nie jesteś członkiem"\n         ],\n         "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.": [\n            null,\n            "Zostałeś usunięty z pokoju ze względu na to, że serwis MUC(Multi-user chat) został wyłączony."\n         ],\n         "<strong>%1$s</strong> has been banned": [\n            null,\n            "<strong>%1$s</strong> został zbanowany"\n         ],\n         "<strong>%1$s</strong>\'s nickname has changed": [\n            null,\n            "<strong>%1$s</strong> zmienił ksywkę"\n         ],\n         "<strong>%1$s</strong> has been kicked out": [\n            null,\n            "<strong>%1$s</strong> został wykopany"\n         ],\n         "<strong>%1$s</strong> has been removed because of an affiliation change": [\n            null,\n            "<strong>%1$s</strong> został usunięty z powodu zmiany przynależności"\n         ],\n         "<strong>%1$s</strong> has been removed for not being a member": [\n            null,\n            "<strong>%1$s</strong> został usunięty ze względu na to, że nie jest członkiem"\n         ],\n         "Your nickname has been automatically changed to: <strong>%1$s</strong>": [\n            null,\n            "Twoja ksywka została automatycznie zmieniona na: <strong>%1$s</strong>"\n         ],\n         "Your nickname has been changed to: <strong>%1$s</strong>": [\n            null,\n            "Twoja ksywka została zmieniona na: <strong>%1$s</strong>"\n         ],\n         "The reason given is: \\"": [\n            null,\n            "Podana przyczyna to: \\""\n         ],\n         "You are not on the member list of this room": [\n            null,\n            "Nie jesteś członkiem tego pokoju rozmów"\n         ],\n         "No nickname was specified": [\n            null,\n            "Nie podałeś ksywki"\n         ],\n         "You are not allowed to create new rooms": [\n            null,\n            "Nie masz uprawnień do tworzenia nowych pokojów rozmów"\n         ],\n         "Your nickname doesn\'t conform to this room\'s policies": [\n            null,\n            "Twoja ksywka nie jest zgodna z regulaminem pokoju"\n         ],\n         "Your nickname is already taken": [\n            null,\n            "Twoja ksywka jest już w użyciu"\n         ],\n         "This room does not (yet) exist": [\n            null,\n            "Ten pokój (jeszcze) nie istnieje"\n         ],\n         "This room has reached it\'s maximum number of occupants": [\n            null,\n            "Pokój przekroczył dozwoloną ilość rozmówców"\n         ],\n         "Topic set by %1$s to: %2$s": [\n            null,\n            "Temat ustawiony przez %1$s na: %2$s"\n         ],\n         "%1$s has invited you to join a chat room: %2$s": [\n            null,\n            "%1$s zaprosił(a) cię do wejścia do pokoju rozmów %2$s"\n         ],\n         "%1$s has invited you to join a chat room: %2$s, and left the following reason: \\"%3$s\\"": [\n            null,\n            "%1$s zaprosił cię do pokoju: %2$s, podając następujący powód: \\"%3$s\\""\n         ],\n         "Click to restore this chat": [\n            null,\n            "Kliknij aby powrócić do rozmowy"\n         ],\n         "Minimized": [\n            null,\n            "Zminimalizowany"\n         ],\n         "Click to remove this contact": [\n            null,\n            "Kliknij aby usunąć kontakt"\n         ],\n         "Click to accept this contact request": [\n            null,\n            "Klknij aby zaakceptować życzenie nawiązania kontaktu"\n         ],\n         "Click to decline this contact request": [\n            null,\n            "Kliknij aby odrzucić życzenie nawiązania kontaktu"\n         ],\n         "Click to chat with this contact": [\n            null,\n            "Kliknij aby porozmawiać z kontaktem"\n         ],\n         "Name": [\n            null,\n            "Nazwa"\n         ],\n         "Are you sure you want to remove this contact?": [\n            null,\n            "Czy potwierdzasz zamiar usnunięcia tego kontaktu?"\n         ],\n         "Sorry, there was an error while trying to remove ": [\n            null,\n            "Wystąpił błąd w trakcie próby usunięcia "\n         ],\n         "Are you sure you want to decline this contact request?": [\n            null,\n            "Czy potwierdzasz odrzucenie chęci nawiązania kontaktu?"\n         ],\n         "Sorry, there was an error while trying to add ": [\n            null,\n            "Wystąpił błąd w czasie próby dodania "\n         ],\n         "This client does not allow presence subscriptions": [\n            null,\n            "Klient nie umożliwia subskrybcji obecności"\n         ],\n         "Type to filter": [\n            null,\n            "Zacznij pisać, aby odfiltrować"\n         ],\n         "I am %1$s": [\n            null,\n            "Jestem %1$s"\n         ],\n         "Click here to write a custom status message": [\n            null,\n            "Kliknij aby wpisać nowy status"\n         ],\n         "Click to change your chat status": [\n            null,\n            "Kliknij aby zmienić status rozmowy"\n         ],\n         "Custom status": [\n            null,\n            "Własny status"\n         ],\n         "online": [\n            null,\n            "dostępny"\n         ],\n         "busy": [\n            null,\n            "zajęty"\n         ],\n         "away for long": [\n            null,\n            "dłużej nieobecny"\n         ],\n         "away": [\n            null,\n            "nieobecny"\n         ],\n         "offline": [\n            null,\n            "rozłączony"\n         ],\n         "Your XMPP provider\'s domain name:": [\n            null,\n            "Domena twojego dostawcy XMPP:"\n         ],\n         "Fetch registration form": [\n            null,\n            "Pobierz formularz rejestracyjny"\n         ],\n         "Tip: A list of public XMPP providers is available": [\n            null,\n            "Wskazówka: dostępna jest lista publicznych dostawców XMPP"\n         ],\n         "here": [\n            null,\n            "tutaj"\n         ],\n         "Register": [\n            null,\n            "Zarejestruj"\n         ],\n         "Sorry, the given provider does not support in band account registration. Please try with a different provider.": [\n            null,\n            "Przepraszamy, ale podany dostawca nie obsługuje rejestracji. Spróbuj wskazać innego dostawcę."\n         ],\n         "Requesting a registration form from the XMPP server": [\n            null,\n            "Pobieranie formularza rejestracyjnego z serwera XMPP"\n         ],\n         "Something went wrong while establishing a connection with \\"%1$s\\". Are you sure it exists?": [\n            null,\n            "Coś nie zadziałało przy próbie połączenia z \\"%1$s\\". Jesteś pewien że istnieje?"\n         ],\n         "Now logging you in": [\n            null,\n            "Teraz jesteś logowany"\n         ],\n         "Registered successfully": [\n            null,\n            "Szczęśliwie zarejestrowany"\n         ],\n         "Return": [\n            null,\n            "Powrót"\n         ],\n         "The provider rejected your registration attempt. Please check the values you entered for correctness.": [\n            null,\n            "Dostawca odrzucił twoją próbę rejestracji. Sprawdź proszę poprawność danych które zostały wprowadzone."\n         ],\n         "XMPP Username:": [\n            null,\n            "Nazwa użytkownika XMPP:"\n         ],\n         "Password:": [\n            null,\n            "Hasło:"\n         ],\n         "Click here to log in anonymously": [\n            null,\n            "Kliknij tutaj aby zalogować się anonimowo"\n         ],\n         "Log In": [\n            null,\n            "Zaloguj się"\n         ],\n         "user@server": [\n            null,\n            "user@server"\n         ],\n         "password": [\n            null,\n            "hasło"\n         ],\n         "Sign in": [\n            null,\n            "Zarejestruj się"\n         ],\n         "Toggle chat": [\n            null,\n            "Przełącz rozmowę"\n         ]\n      }\n   }\n}'}),define("text!pt_BR",[],function(){return'{\n   "domain": "converse",\n   "locale_data": {\n      "converse": {\n         "": {\n            "domain": "converse",\n            "plural_forms": "nplurals=2; plural=(n > 1);",\n            "lang": "pt_BR"\n         },\n         " e.g. conversejs.org": [\n            null,\n            ""\n         ],\n         "unencrypted": [\n            null,\n            "não-criptografado"\n         ],\n         "unverified": [\n            null,\n            "não-verificado"\n         ],\n         "verified": [\n            null,\n            "verificado"\n         ],\n         "finished": [\n            null,\n            "finalizado"\n         ],\n         "This contact is busy": [\n            null,\n            "Este contato está ocupado"\n         ],\n         "This contact is online": [\n            null,\n            "Este contato está online"\n         ],\n         "This contact is offline": [\n            null,\n            "Este contato está offline"\n         ],\n         "This contact is unavailable": [\n            null,\n            "Este contato está indisponível"\n         ],\n         "This contact is away for an extended period": [\n            null,\n            "Este contato está ausente por um longo período"\n         ],\n         "This contact is away": [\n            null,\n            "Este contato está ausente"\n         ],\n         "My contacts": [\n            null,\n            "Meus contatos"\n         ],\n         "Pending contacts": [\n            null,\n            "Contados pendentes"\n         ],\n         "Contact requests": [\n            null,\n            "Solicitação de contatos"\n         ],\n         "Ungrouped": [\n            null,\n            ""\n         ],\n         "Contacts": [\n            null,\n            "Contatos"\n         ],\n         "Groups": [\n            null,\n            ""\n         ],\n         "Attempting to reconnect in 5 seconds": [\n            null,\n            ""\n         ],\n         "Error": [\n            null,\n            "Erro"\n         ],\n         "Connecting": [\n            null,\n            "Conectando"\n         ],\n         "Authenticating": [\n            null,\n            "Autenticando"\n         ],\n         "Authentication Failed": [\n            null,\n            "Falha de autenticação"\n         ],\n         "Re-establishing encrypted session": [\n            null,\n            "Reestabelecendo sessão criptografada"\n         ],\n         "Generating private key.": [\n            null,\n            "Gerando chave-privada."\n         ],\n         "Your browser might become unresponsive.": [\n            null,\n            "Seu navegador pode parar de responder."\n         ],\n         "Could not verify this user\'s identify.": [\n            null,\n            "Não foi possível verificar a identidade deste usuário."\n         ],\n         "Minimize this chat box": [\n            null,\n            ""\n         ],\n         "Personal message": [\n            null,\n            "Mensagem pessoal"\n         ],\n         "me": [\n            null,\n            "eu"\n         ],\n         "Show this menu": [\n            null,\n            "Mostrar o menu"\n         ],\n         "Write in the third person": [\n            null,\n            "Escrever em terceira pessoa"\n         ],\n         "Remove messages": [\n            null,\n            "Remover mensagens"\n         ],\n         "Are you sure you want to clear the messages from this chat box?": [\n            null,\n            "Tem certeza que deseja limpar as mensagens dessa caixa?"\n         ],\n         "Your message could not be sent": [\n            null,\n            "Sua mensagem não pode ser enviada"\n         ],\n         "We received an unencrypted message": [\n            null,\n            "Recebemos uma mensagem não-criptografada"\n         ],\n         "We received an unreadable encrypted message": [\n            null,\n            "Recebemos uma mensagem não-criptografada ilegível"\n         ],\n         "Here are the fingerprints, please confirm them with %1$s, outside of this chat.\\n\\nFingerprint for you, %2$s: %3$s\\n\\nFingerprint for %1$s: %4$s\\n\\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.": [\n            null,\n            "Aqui estão as assinaturas digitais, por favor confirme elas com %1$s, fora deste chat.\\n\\nAssinatura para você, %2$s: %3$s\\n\\nAssinatura para %1$s: %4$s\\n\\nSe você tiver confirmado que as assinaturas conferem, clique OK, caso contrário, clique Cancelar."\n         ],\n         "What is your security question?": [\n            null,\n            "Qual é a sua pergunta de segurança?"\n         ],\n         "What is the answer to the security question?": [\n            null,\n            "Qual é a resposta para a pergunta de segurança?"\n         ],\n         "Invalid authentication scheme provided": [\n            null,\n            "Schema de autenticação fornecido é inválido"\n         ],\n         "Your messages are not encrypted anymore": [\n            null,\n            "Suas mensagens não estão mais criptografadas"\n         ],\n         "Your messages are not encrypted. Click here to enable OTR encryption.": [\n            null,\n            "Suas mensagens não estão criptografadas. Clique aqui para habilitar criptografia OTR."\n         ],\n         "End encrypted conversation": [\n            null,\n            "Finalizar conversa criptografada"\n         ],\n         "Insert a smiley": [\n            null,\n            ""\n         ],\n         "Hide the list of occupants": [\n            null,\n            ""\n         ],\n         "Refresh encrypted conversation": [\n            null,\n            "Atualizar conversa criptografada"\n         ],\n         "Start a call": [\n            null,\n            ""\n         ],\n         "Start encrypted conversation": [\n            null,\n            "Iniciar conversa criptografada"\n         ],\n         "Verify with fingerprints": [\n            null,\n            "Verificar com assinatura digital"\n         ],\n         "Verify with SMP": [\n            null,\n            "Verificar com SMP"\n         ],\n         "What\'s this?": [\n            null,\n            "O que é isso?"\n         ],\n         "Online": [\n            null,\n            "Online"\n         ],\n         "Busy": [\n            null,\n            "Ocupado"\n         ],\n         "Away": [\n            null,\n            "Ausente"\n         ],\n         "Offline": [\n            null,\n            "Offline"\n         ],\n         "Contact name": [\n            null,\n            "Nome do contato"\n         ],\n         "Search": [\n            null,\n            "Procurar"\n         ],\n         "e.g. user@example.com": [\n            null,\n            ""\n         ],\n         "Add": [\n            null,\n            "Adicionar"\n         ],\n         "Click to add new chat contacts": [\n            null,\n            "Clique para adicionar novos contatos ao chat"\n         ],\n         "Add a contact": [\n            null,\n            "Adicionar contato"\n         ],\n         "No users found": [\n            null,\n            "Não foram encontrados usuários"\n         ],\n         "Click to add as a chat contact": [\n            null,\n            "Clique para adicionar como um contato do chat"\n         ],\n         "Room name": [\n            null,\n            "Nome da sala"\n         ],\n         "Nickname": [\n            null,\n            "Apelido"\n         ],\n         "Server": [\n            null,\n            "Server"\n         ],\n         "Show rooms": [\n            null,\n            "Mostar salas"\n         ],\n         "Rooms": [\n            null,\n            "Salas"\n         ],\n         "No rooms on %1$s": [\n            null,\n            "Sem salas em %1$s"\n         ],\n         "Rooms on %1$s": [\n            null,\n            "Salas em %1$s"\n         ],\n         "Click to open this room": [\n            null,\n            "CLique para abrir a sala"\n         ],\n         "Show more information on this room": [\n            null,\n            "Mostrar mais informações nessa sala"\n         ],\n         "Description:": [\n            null,\n            "Descrição:"\n         ],\n         "Occupants:": [\n            null,\n            "Ocupantes:"\n         ],\n         "Features:": [\n            null,\n            "Recursos:"\n         ],\n         "Requires authentication": [\n            null,\n            "Requer autenticação"\n         ],\n         "Hidden": [\n            null,\n            "Escondido"\n         ],\n         "Requires an invitation": [\n            null,\n            "Requer um convite"\n         ],\n         "Moderated": [\n            null,\n            "Moderado"\n         ],\n         "Non-anonymous": [\n            null,\n            "Não anônimo"\n         ],\n         "Open room": [\n            null,\n            "Sala aberta"\n         ],\n         "Permanent room": [\n            null,\n            "Sala permanente"\n         ],\n         "Public": [\n            null,\n            "Público"\n         ],\n         "Semi-anonymous": [\n            null,\n            "Semi anônimo"\n         ],\n         "Temporary room": [\n            null,\n            "Sala temporária"\n         ],\n         "Unmoderated": [\n            null,\n            "Sem moderação"\n         ],\n         "This user is a moderator": [\n            null,\n            "Esse usuário é o moderador"\n         ],\n         "This user can send messages in this room": [\n            null,\n            "Esse usuário pode enviar mensagens nessa sala"\n         ],\n         "This user can NOT send messages in this room": [\n            null,\n            "Esse usuário NÃO pode enviar mensagens nessa sala"\n         ],\n         "Invite...": [\n            null,\n            ""\n         ],\n         "You are about to invite %1$s to the chat room \\"%2$s\\". ": [\n            null,\n            ""\n         ],\n         "You may optionally include a message, explaining the reason for the invitation.": [\n            null,\n            ""\n         ],\n         "Message": [\n            null,\n            "Mensagem"\n         ],\n         "Error: could not execute the command": [\n            null,\n            ""\n         ],\n         "Error: the \\"": [\n            null,\n            ""\n         ],\n         "Change user\'s affiliation to admin": [\n            null,\n            ""\n         ],\n         "Change user role to occupant": [\n            null,\n            ""\n         ],\n         "Grant membership to a user": [\n            null,\n            ""\n         ],\n         "Remove user\'s ability to post messages": [\n            null,\n            ""\n         ],\n         "Change your nickname": [\n            null,\n            ""\n         ],\n         "Grant moderator role to user": [\n            null,\n            ""\n         ],\n         "Revoke user\'s membership": [\n            null,\n            ""\n         ],\n         "Allow muted user to post messages": [\n            null,\n            ""\n         ],\n         "Save": [\n            null,\n            "Salvar"\n         ],\n         "Cancel": [\n            null,\n            "Cancelar"\n         ],\n         "An error occurred while trying to save the form.": [\n            null,\n            "Ocorreu um erro enquanto tentava salvar o formulário"\n         ],\n         "This chatroom requires a password": [\n            null,\n            "Esse chat precisa de senha"\n         ],\n         "Password: ": [\n            null,\n            "Senha: "\n         ],\n         "Submit": [\n            null,\n            "Enviar"\n         ],\n         "This room is not anonymous": [\n            null,\n            "Essa sala não é anônima"\n         ],\n         "This room now shows unavailable members": [\n            null,\n            "Agora esta sala mostra membros indisponíveis"\n         ],\n         "This room does not show unavailable members": [\n            null,\n            "Essa sala não mostra membros indisponíveis"\n         ],\n         "Non-privacy-related room configuration has changed": [\n            null,\n            "Configuraçõs não relacionadas à privacidade mudaram"\n         ],\n         "Room logging is now enabled": [\n            null,\n            "O log da sala está ativado"\n         ],\n         "Room logging is now disabled": [\n            null,\n            "O log da sala está desativado"\n         ],\n         "This room is now non-anonymous": [\n            null,\n            "Esse sala é não anônima"\n         ],\n         "This room is now semi-anonymous": [\n            null,\n            "Essa sala agora é semi anônima"\n         ],\n         "This room is now fully-anonymous": [\n            null,\n            "Essa sala agora é totalmente anônima"\n         ],\n         "A new room has been created": [\n            null,\n            "Uma nova sala foi criada"\n         ],\n         "You have been banned from this room": [\n            null,\n            "Você foi banido dessa sala"\n         ],\n         "You have been kicked from this room": [\n            null,\n            "Você foi expulso dessa sala"\n         ],\n         "You have been removed from this room because of an affiliation change": [\n            null,\n            "Você foi removido da sala devido a uma mudança de associação"\n         ],\n         "You have been removed from this room because the room has changed to members-only and you\'re not a member": [\n            null,\n            "Você foi removido da sala porque ela foi mudada para somente membrose você não é um membro"\n         ],\n         "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.": [\n            null,\n            "Você foi removido da sala devido a MUC (Multi-user chat)o serviço está sendo desligado"\n         ],\n         "<strong>%1$s</strong> has been banned": [\n            null,\n            "<strong>%1$s</strong> foi banido"\n         ],\n         "<strong>%1$s</strong> has been kicked out": [\n            null,\n            "<strong>%1$s</strong> foi expulso"\n         ],\n         "<strong>%1$s</strong> has been removed because of an affiliation change": [\n            null,\n            "<srtong>%1$s</strong> foi removido por causa de troca de associação"\n         ],\n         "<strong>%1$s</strong> has been removed for not being a member": [\n            null,\n            "<strong>%1$s</strong> foi removido por não ser um membro"\n         ],\n         "The reason given is: \\"": [\n            null,\n            ""\n         ],\n         "You are not on the member list of this room": [\n            null,\n            "Você não é membro dessa sala"\n         ],\n         "No nickname was specified": [\n            null,\n            "Você não escolheu um apelido "\n         ],\n         "You are not allowed to create new rooms": [\n            null,\n            "Você não tem permitição de criar novas salas"\n         ],\n         "Your nickname doesn\'t conform to this room\'s policies": [\n            null,\n            "Seu apelido não está de acordo com as regras da sala"\n         ],\n         "Your nickname is already taken": [\n            null,\n            "Seu apelido já foi escolhido"\n         ],\n         "This room does not (yet) exist": [\n            null,\n            "A sala não existe (ainda)"\n         ],\n         "This room has reached it\'s maximum number of occupants": [\n            null,\n            "A sala atingiu o número máximo de ocupantes"\n         ],\n         "Topic set by %1$s to: %2$s": [\n            null,\n            "Topico definido por %1$s para: %2$s"\n         ],\n         "%1$s has invited you to join a chat room: %2$s": [\n            null,\n            ""\n         ],\n         "%1$s has invited you to join a chat room: %2$s, and left the following reason: \\"%3$s\\"": [\n            null,\n            ""\n         ],\n         "Minimized": [\n            null,\n            "Minimizado"\n         ],\n         "Click to remove this contact": [\n            null,\n            "Clique para remover o contato"\n         ],\n         "Click to chat with this contact": [\n            null,\n            "Clique para conversar com o contato"\n         ],\n         "Name": [\n            null,\n            ""\n         ],\n         "Sorry, there was an error while trying to remove ": [\n            null,\n            ""\n         ],\n         "Sorry, there was an error while trying to add ": [\n            null,\n            ""\n         ],\n         "This client does not allow presence subscriptions": [\n            null,\n            ""\n         ],\n         "Type to filter": [\n            null,\n            ""\n         ],\n         "I am %1$s": [\n            null,\n            "Estou %1$s"\n         ],\n         "Click here to write a custom status message": [\n            null,\n            "Clique aqui para customizar a mensagem de status"\n         ],\n         "Click to change your chat status": [\n            null,\n            "Clique para mudar seu status no chat"\n         ],\n         "Custom status": [\n            null,\n            "Status customizado"\n         ],\n         "online": [\n            null,\n            "online"\n         ],\n         "busy": [\n            null,\n            "ocupado"\n         ],\n         "away for long": [\n            null,\n            "ausente a bastante tempo"\n         ],\n         "away": [\n            null,\n            "ausente"\n         ],\n         "Your XMPP provider\'s domain name:": [\n            null,\n            ""\n         ],\n         "Fetch registration form": [\n            null,\n            ""\n         ],\n         "Tip: A list of public XMPP providers is available": [\n            null,\n            ""\n         ],\n         "here": [\n            null,\n            ""\n         ],\n         "Register": [\n            null,\n            ""\n         ],\n         "Sorry, the given provider does not support in band account registration. Please try with a different provider.": [\n            null,\n            ""\n         ],\n         "Requesting a registration form from the XMPP server": [\n            null,\n            ""\n         ],\n         "Something went wrong while establishing a connection with \\"%1$s\\". Are you sure it exists?": [\n            null,\n            ""\n         ],\n         "Now logging you in": [\n            null,\n            ""\n         ],\n         "Registered successfully": [\n            null,\n            ""\n         ],\n         "Return": [\n            null,\n            ""\n         ],\n         "The provider rejected your registration attempt. Please check the values you entered for correctness.": [\n            null,\n            ""\n         ],\n         "Password:": [\n            null,\n            "Senha:"\n         ],\n         "Log In": [\n            null,\n            "Entrar"\n         ],\n         "user@server": [\n            null,\n            ""\n         ],\n         "Sign in": [\n            null,\n            "Conectar-se"\n         ],\n         "Toggle chat": [\n            null,\n            "Alternar bate-papo"\n         ]\n      }\n   }\n}'}),define("text!ru",[],function(){return'{\n   "domain": "converse",\n   "locale_data": {\n      "converse": {\n         "": {\n            "domain": "converse",\n            "lang": "ru"\n         },\n         " e.g. conversejs.org": [\n            null,\n            ""\n         ],\n         "unencrypted": [\n            null,\n            "не зашифровано"\n         ],\n         "unverified": [\n            null,\n            "непроверено"\n         ],\n         "verified": [\n            null,\n            "проверено"\n         ],\n         "finished": [\n            null,\n            "закончено"\n         ],\n         "This contact is busy": [\n            null,\n            "Занят"\n         ],\n         "This contact is online": [\n            null,\n            "В сети"\n         ],\n         "This contact is offline": [\n            null,\n            "Не в сети"\n         ],\n         "This contact is unavailable": [\n            null,\n            "Не доступен"\n         ],\n         "This contact is away for an extended period": [\n            null,\n            "На долго отошёл"\n         ],\n         "This contact is away": [\n            null,\n            "Отошёл"\n         ],\n         "My contacts": [\n            null,\n            "Контакты"\n         ],\n         "Pending contacts": [\n            null,\n            "Собеседники ожидающие авторизации"\n         ],\n         "Contact requests": [\n            null,\n            "Запросы на авторизацию"\n         ],\n         "Ungrouped": [\n            null,\n            ""\n         ],\n         "Contacts": [\n            null,\n            "Контакты"\n         ],\n         "Groups": [\n            null,\n            ""\n         ],\n         "Attempting to reconnect in 5 seconds": [\n            null,\n            ""\n         ],\n         "Error": [\n            null,\n            "Ошибка"\n         ],\n         "Connecting": [\n            null,\n            "Соединение"\n         ],\n         "Authenticating": [\n            null,\n            "Авторизация"\n         ],\n         "Authentication Failed": [\n            null,\n            "Не удалось авторизоваться"\n         ],\n         "Re-establishing encrypted session": [\n            null,\n            ""\n         ],\n         "Generating private key.": [\n            null,\n            ""\n         ],\n         "Your browser might become unresponsive.": [\n            null,\n            ""\n         ],\n         "Authentication request from %1$s\\n\\nYour chat contact is attempting to verify your identity, by asking you the question below.\\n\\n%2$s": [\n            null,\n            ""\n         ],\n         "Could not verify this user\'s identify.": [\n            null,\n            ""\n         ],\n         "Exchanging private key with contact.": [\n            null,\n            ""\n         ],\n         "Minimize this chat box": [\n            null,\n            ""\n         ],\n         "Personal message": [\n            null,\n            "Введите сообщение"\n         ],\n         "me": [\n            null,\n            "Я"\n         ],\n         "is typing": [\n            null,\n            ""\n         ],\n         "has stopped typing": [\n            null,\n            ""\n         ],\n         "Show this menu": [\n            null,\n            "Показать это меню"\n         ],\n         "Write in the third person": [\n            null,\n            ""\n         ],\n         "Remove messages": [\n            null,\n            "Удалить сообщения"\n         ],\n         "Are you sure you want to clear the messages from this chat box?": [\n            null,\n            ""\n         ],\n         "Your message could not be sent": [\n            null,\n            "Ваше сообщение не послано"\n         ],\n         "We received an unencrypted message": [\n            null,\n            ""\n         ],\n         "We received an unreadable encrypted message": [\n            null,\n            ""\n         ],\n         "Here are the fingerprints, please confirm them with %1$s, outside of this chat.\\n\\nFingerprint for you, %2$s: %3$s\\n\\nFingerprint for %1$s: %4$s\\n\\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.": [\n            null,\n            ""\n         ],\n         "You will be prompted to provide a security question and then an answer to that question.\\n\\nYour contact will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.": [\n            null,\n            ""\n         ],\n         "What is your security question?": [\n            null,\n            ""\n         ],\n         "What is the answer to the security question?": [\n            null,\n            ""\n         ],\n         "Invalid authentication scheme provided": [\n            null,\n            ""\n         ],\n         "Your messages are not encrypted anymore": [\n            null,\n            "Ваши сообщения больше не шифруются"\n         ],\n         "Your contact has ended encryption on their end, you should do the same.": [\n            null,\n            ""\n         ],\n         "Your messages are not encrypted. Click here to enable OTR encryption.": [\n            null,\n            "Ваши сообщения не шифруются. Нажмите здесь чтобы настроить шифрование."\n         ],\n         "Your contact has closed their end of the private session, you should do the same": [\n            null,\n            ""\n         ],\n         "End encrypted conversation": [\n            null,\n            ""\n         ],\n         "Insert a smiley": [\n            null,\n            ""\n         ],\n         "Hide the list of occupants": [\n            null,\n            ""\n         ],\n         "Refresh encrypted conversation": [\n            null,\n            ""\n         ],\n         "Start a call": [\n            null,\n            ""\n         ],\n         "Start encrypted conversation": [\n            null,\n            ""\n         ],\n         "Verify with fingerprints": [\n            null,\n            ""\n         ],\n         "Verify with SMP": [\n            null,\n            ""\n         ],\n         "What\'s this?": [\n            null,\n            "Что это?"\n         ],\n         "Online": [\n            null,\n            "В сети"\n         ],\n         "Busy": [\n            null,\n            "Занят"\n         ],\n         "Away": [\n            null,\n            "Отошёл"\n         ],\n         "Offline": [\n            null,\n            "Не в сети"\n         ],\n         "Contact name": [\n            null,\n            "Имя контакта"\n         ],\n         "Search": [\n            null,\n            "Поиск"\n         ],\n         "e.g. user@example.com": [\n            null,\n            ""\n         ],\n         "Add": [\n            null,\n            "Добавить"\n         ],\n         "Click to add new chat contacts": [\n            null,\n            "Добавить новую конференцию"\n         ],\n         "Add a contact": [\n            null,\n            "Добавть контакт"\n         ],\n         "No users found": [\n            null,\n            "Пользователи не найдены"\n         ],\n         "Click to add as a chat contact": [\n            null,\n            "Добавить контакт"\n         ],\n         "Room name": [\n            null,\n            "Имя конференции"\n         ],\n         "Nickname": [\n            null,\n            "Псевдоним"\n         ],\n         "Server": [\n            null,\n            "Сервер"\n         ],\n         "Show rooms": [\n            null,\n            "Обновить"\n         ],\n         "Rooms": [\n            null,\n            "Конфер."\n         ],\n         "No rooms on %1$s": [\n            null,\n            "Нет доступных конференций %1$s"\n         ],\n         "Rooms on %1$s": [\n            null,\n            "Конференции %1$s:"\n         ],\n         "Click to open this room": [\n            null,\n            "Зайти в конференцию"\n         ],\n         "Show more information on this room": [\n            null,\n            "Показать больше информации об этой конференции"\n         ],\n         "Description:": [\n            null,\n            "Описание:"\n         ],\n         "Occupants:": [\n            null,\n            "Участники:"\n         ],\n         "Features:": [\n            null,\n            "Свойства:"\n         ],\n         "Requires authentication": [\n            null,\n            "Требуется авторизация"\n         ],\n         "Hidden": [\n            null,\n            "Скрыто"\n         ],\n         "Requires an invitation": [\n            null,\n            "Требуется приглашение"\n         ],\n         "Moderated": [\n            null,\n            "Модерируемая"\n         ],\n         "Non-anonymous": [\n            null,\n            "Не анонимная"\n         ],\n         "Open room": [\n            null,\n            "Открыть конференцию"\n         ],\n         "Permanent room": [\n            null,\n            "Перманентная конференция"\n         ],\n         "Public": [\n            null,\n            "Публичный"\n         ],\n         "Semi-anonymous": [\n            null,\n            "Частично анонимная"\n         ],\n         "Temporary room": [\n            null,\n            "Временная конференция"\n         ],\n         "Unmoderated": [\n            null,\n            "Немодерируемая"\n         ],\n         "This user is a moderator": [\n            null,\n            "Модератор"\n         ],\n         "This user can send messages in this room": [\n            null,\n            "Собеседник"\n         ],\n         "This user can NOT send messages in this room": [\n            null,\n            "Пользователь не может посылать сообщения в эту комнату"\n         ],\n         "Invite...": [\n            null,\n            ""\n         ],\n         "You are about to invite %1$s to the chat room \\"%2$s\\". ": [\n            null,\n            ""\n         ],\n         "You may optionally include a message, explaining the reason for the invitation.": [\n            null,\n            ""\n         ],\n         "Message": [\n            null,\n            "Сообщение"\n         ],\n         "Error: could not execute the command": [\n            null,\n            ""\n         ],\n         "Error: the \\"": [\n            null,\n            ""\n         ],\n         "Change user\'s affiliation to admin": [\n            null,\n            ""\n         ],\n         "Change user role to occupant": [\n            null,\n            ""\n         ],\n         "Write in 3rd person": [\n            null,\n            ""\n         ],\n         "Grant membership to a user": [\n            null,\n            ""\n         ],\n         "Remove user\'s ability to post messages": [\n            null,\n            ""\n         ],\n         "Change your nickname": [\n            null,\n            ""\n         ],\n         "Grant moderator role to user": [\n            null,\n            ""\n         ],\n         "Revoke user\'s membership": [\n            null,\n            ""\n         ],\n         "Allow muted user to post messages": [\n            null,\n            ""\n         ],\n         "Save": [\n            null,\n            "Сохранить"\n         ],\n         "Cancel": [\n            null,\n            "Отменить"\n         ],\n         "An error occurred while trying to save the form.": [\n            null,\n            "При сохранение формы произошла ошибка."\n         ],\n         "This chatroom requires a password": [\n            null,\n            "Для доступа в конфер. необходим пароль."\n         ],\n         "Password: ": [\n            null,\n            "Пароль: "\n         ],\n         "Submit": [\n            null,\n            "Отправить"\n         ],\n         "This room is not anonymous": [\n            null,\n            "Эта комната не анонимная"\n         ],\n         "This room now shows unavailable members": [\n            null,\n            "Эта комната показывает доступных собеседников"\n         ],\n         "This room does not show unavailable members": [\n            null,\n            "Эта комната не показывает недоступных собеседников"\n         ],\n         "Non-privacy-related room configuration has changed": [\n            null,\n            ""\n         ],\n         "Room logging is now enabled": [\n            null,\n            ""\n         ],\n         "Room logging is now disabled": [\n            null,\n            ""\n         ],\n         "This room is now non-anonymous": [\n            null,\n            "Эта комната не анонимная"\n         ],\n         "This room is now semi-anonymous": [\n            null,\n            "Эта комната частично анонимная"\n         ],\n         "This room is now fully-anonymous": [\n            null,\n            "Эта комната стала полностью анонимной"\n         ],\n         "A new room has been created": [\n            null,\n            "Новая комната была создана"\n         ],\n         "You have been banned from this room": [\n            null,\n            "Вам запрещено подключатся к этой конференции"\n         ],\n         "You have been kicked from this room": [\n            null,\n            "Вам запрещено подключатся к этой конференции"\n         ],\n         "You have been removed from this room because of an affiliation change": [\n            null,\n            "<strong>%1$s</strong> удалён потому что изменились права"\n         ],\n         "You have been removed from this room because the room has changed to members-only and you\'re not a member": [\n            null,\n            "Вы отключены от этой конференции потому что режим изменился: только-участники"\n         ],\n         "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.": [\n            null,\n            "Вы отключены от этой конференции потому что сервись конференций выключен."\n         ],\n         "<strong>%1$s</strong> has been banned": [\n            null,\n            "<strong>%1$s</strong> забанен"\n         ],\n         "<strong>%1$s</strong> has been kicked out": [\n            null,\n            "<strong>%1$s</strong> выдворен"\n         ],\n         "<strong>%1$s</strong> has been removed because of an affiliation change": [\n            null,\n            "<strong>%1$s</strong> has been removed because of an affiliation change"\n         ],\n         "<strong>%1$s</strong> has been removed for not being a member": [\n            null,\n            "<strong>%1$s</strong> удалён потому что не участник"\n         ],\n         "The reason given is: \\"": [\n            null,\n            ""\n         ],\n         "You are not on the member list of this room": [\n            null,\n            "Вас нет в списке этой конференции"\n         ],\n         "No nickname was specified": [\n            null,\n            "Вы не указали псевдоним"\n         ],\n         "You are not allowed to create new rooms": [\n            null,\n            "Вы не имеете права создавать конфер."\n         ],\n         "Your nickname doesn\'t conform to this room\'s policies": [\n            null,\n            "Псевдоним не согласуется с правилами конфер."\n         ],\n         "Your nickname is already taken": [\n            null,\n            "Ваш ник уже используется другим пользователем"\n         ],\n         "This room does not (yet) exist": [\n            null,\n            "Эта комната не существует"\n         ],\n         "This room has reached it\'s maximum number of occupants": [\n            null,\n            "Конференция достигла максимального количества участников"\n         ],\n         "Topic set by %1$s to: %2$s": [\n            null,\n            "Тема %2$s устатновлена %1$s"\n         ],\n         "%1$s has invited you to join a chat room: %2$s": [\n            null,\n            ""\n         ],\n         "%1$s has invited you to join a chat room: %2$s, and left the following reason: \\"%3$s\\"": [\n            null,\n            ""\n         ],\n         "Minimized": [\n            null,\n            ""\n         ],\n         "Click to remove this contact": [\n            null,\n            "Удалить контакт"\n         ],\n         "Click to chat with this contact": [\n            null,\n            "Начать общение"\n         ],\n         "Name": [\n            null,\n            ""\n         ],\n         "Sorry, there was an error while trying to remove ": [\n            null,\n            ""\n         ],\n         "Sorry, there was an error while trying to add ": [\n            null,\n            ""\n         ],\n         "This client does not allow presence subscriptions": [\n            null,\n            ""\n         ],\n         "Type to filter": [\n            null,\n            ""\n         ],\n         "I am %1$s": [\n            null,\n            "%1$s"\n         ],\n         "Click here to write a custom status message": [\n            null,\n            "Редактировать произвольный статус"\n         ],\n         "Click to change your chat status": [\n            null,\n            "Изменить ваш статус"\n         ],\n         "Custom status": [\n            null,\n            "Произвольный статус"\n         ],\n         "online": [\n            null,\n            "на связи"\n         ],\n         "busy": [\n            null,\n            "занят"\n         ],\n         "away for long": [\n            null,\n            "отошёл на долго"\n         ],\n         "away": [\n            null,\n            "отошёл"\n         ],\n         "Your XMPP provider\'s domain name:": [\n            null,\n            ""\n         ],\n         "Fetch registration form": [\n            null,\n            ""\n         ],\n         "Tip: A list of public XMPP providers is available": [\n            null,\n            ""\n         ],\n         "here": [\n            null,\n            ""\n         ],\n         "Register": [\n            null,\n            ""\n         ],\n         "Sorry, the given provider does not support in band account registration. Please try with a different provider.": [\n            null,\n            ""\n         ],\n         "Requesting a registration form from the XMPP server": [\n            null,\n            ""\n         ],\n         "Something went wrong while establishing a connection with \\"%1$s\\". Are you sure it exists?": [\n            null,\n            ""\n         ],\n         "Now logging you in": [\n            null,\n            ""\n         ],\n         "Registered successfully": [\n            null,\n            ""\n         ],\n         "Return": [\n            null,\n            ""\n         ],\n         "The provider rejected your registration attempt. Please check the values you entered for correctness.": [\n            null,\n            ""\n         ],\n         "Password:": [\n            null,\n            "Пароль:"\n         ],\n         "Log In": [\n            null,\n            "Войти"\n         ],\n         "user@server": [\n            null,\n            ""\n         ],\n         "Sign in": [\n            null,\n            "Подписать"\n         ],\n         "Toggle chat": [\n            null,\n            ""\n         ]\n      }\n   }\n}'}),define("text!uk",[],function(){return'{\n   "domain": "converse",\n   "locale_data": {\n      "converse": {\n         "": {\n            "domain": "converse",\n            "plural_forms": "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);",\n            "lang": "uk"\n         },\n         " e.g. conversejs.org": [\n            null,\n            " напр. conversejs.org"\n         ],\n         "unencrypted": [\n            null,\n            "некриптовано"\n         ],\n         "unverified": [\n            null,\n            "неперевірено"\n         ],\n         "verified": [\n            null,\n            "перевірено"\n         ],\n         "finished": [\n            null,\n            "завершено"\n         ],\n         "This contact is busy": [\n            null,\n            "Цей контакт зайнятий"\n         ],\n         "This contact is online": [\n            null,\n            "Цей контакт на зв\'язку"\n         ],\n         "This contact is offline": [\n            null,\n            "Цей контакт поза мережею"\n         ],\n         "This contact is unavailable": [\n            null,\n            "Цей контакт недоступний"\n         ],\n         "This contact is away for an extended period": [\n            null,\n            "Цей контакт відсутній тривалий час"\n         ],\n         "This contact is away": [\n            null,\n            "Цей контакт відсутній"\n         ],\n         "Click to hide these contacts": [\n            null,\n            "Клацніть, щоб приховати ці контакти"\n         ],\n         "My contacts": [\n            null,\n            "Мої контакти"\n         ],\n         "Pending contacts": [\n            null,\n            "Контакти в очікуванні"\n         ],\n         "Contact requests": [\n            null,\n            "Запити контакту"\n         ],\n         "Ungrouped": [\n            null,\n            "Негруповані"\n         ],\n         "Contacts": [\n            null,\n            "Контакти"\n         ],\n         "Groups": [\n            null,\n            "Групи"\n         ],\n         "Attempting to reconnect in 5 seconds": [\n            null,\n            ""\n         ],\n         "Error": [\n            null,\n            "Помилка"\n         ],\n         "Connecting": [\n            null,\n            "Під\'єднуюсь"\n         ],\n         "Authenticating": [\n            null,\n            "Автентикуюсь"\n         ],\n         "Authentication Failed": [\n            null,\n            "Автентикація невдала"\n         ],\n         "Re-establishing encrypted session": [\n            null,\n            "Перевстановлюю криптований сеанс"\n         ],\n         "Generating private key.": [\n            null,\n            "Генерація приватного ключа."\n         ],\n         "Your browser might become unresponsive.": [\n            null,\n            "Ваш браузер може підвиснути."\n         ],\n         "Authentication request from %1$s\\n\\nYour chat contact is attempting to verify your identity, by asking you the question below.\\n\\n%2$s": [\n            null,\n            "Запит автентикації від %1$s\\n\\nВаш контакт в чаті намагається встановити Вашу особу і просить відповісти на питання нижче.\\n\\n%2$s"\n         ],\n         "Could not verify this user\'s identify.": [\n            null,\n            "Не можу перевірити автентичність цього користувача."\n         ],\n         "Exchanging private key with contact.": [\n            null,\n            "Обмін приватним ключем з контактом."\n         ],\n         "Minimize this chat box": [\n            null,\n            ""\n         ],\n         "Personal message": [\n            null,\n            "Персональна вісточка"\n         ],\n         "Are you sure you want to clear the messages from this room?": [\n            null,\n            "Ви впевнені, що хочете очистити повідомлення з цієї кімнати?"\n         ],\n         "me": [\n            null,\n            "я"\n         ],\n         "is typing": [\n            null,\n            "друкує"\n         ],\n         "has stopped typing": [\n            null,\n            "припинив друкувати"\n         ],\n         "has gone away": [\n            null,\n            "пішов геть"\n         ],\n         "Show this menu": [\n            null,\n            "Показати це меню"\n         ],\n         "Write in the third person": [\n            null,\n            "Писати від третьої особи"\n         ],\n         "Remove messages": [\n            null,\n            "Видалити повідомлення"\n         ],\n         "Are you sure you want to clear the messages from this chat box?": [\n            null,\n            "Ви впевнені, що хочете очистити повідомлення з цього вікна чату?"\n         ],\n         "Your message could not be sent": [\n            null,\n            "Ваше повідомлення не може бути надіслане"\n         ],\n         "We received an unencrypted message": [\n            null,\n            "Ми отримали некриптоване повідомлення"\n         ],\n         "We received an unreadable encrypted message": [\n            null,\n            "Ми отримали нечитабельне криптоване повідомлення"\n         ],\n         "Here are the fingerprints, please confirm them with %1$s, outside of this chat.\\n\\nFingerprint for you, %2$s: %3$s\\n\\nFingerprint for %1$s: %4$s\\n\\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.": [\n            null,\n            "Ось відбитки, будь-ласка, підтвердіть їх з %1$s, за межами цього чату.\\n\\nВідбиток для Вас, %2$s: %3$s\\n\\nВідбиток для %1$s: %4$s\\n\\nЯкщо Ви підтверджуєте відповідність відбитка, клацніть Гаразд, інакше клацніть Відміна."\n         ],\n         "You will be prompted to provide a security question and then an answer to that question.\\n\\nYour contact will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.": [\n            null,\n            "Вас запитають таємне питання і відповідь на нього.\\n\\nПотім Вашого контакта запитають те саме питання, і якщо вони введуть ту саму відповідь (враховуючи регістр), їх особи будуть перевірені."\n         ],\n         "What is your security question?": [\n            null,\n            "Яке Ваше таємне питання?"\n         ],\n         "What is the answer to the security question?": [\n            null,\n            "Яка відповідь на таємне питання?"\n         ],\n         "Invalid authentication scheme provided": [\n            null,\n            "Надана некоректна схема автентикації"\n         ],\n         "has gone offline": [\n            null,\n            "тепер поза мережею"\n         ],\n         "is busy": [\n            null,\n            "зайнятий"\n         ],\n         "Your messages are not encrypted anymore": [\n            null,\n            "Ваші повідомлення більше не криптуються"\n         ],\n         "Your messages are now encrypted but your contact\'s identity has not been verified.": [\n            null,\n            "Ваші повідомлення вже криптуються, але особа Вашого контакту не перевірена."\n         ],\n         "Your contact\'s identify has been verified.": [\n            null,\n            "Особу Вашого контакту перевірено."\n         ],\n         "Your contact has ended encryption on their end, you should do the same.": [\n            null,\n            "Ваш контакт припинив криптування зі свого боку, Вам слід зробити те саме."\n         ],\n         "Your messages are not encrypted. Click here to enable OTR encryption.": [\n            null,\n            "Ваші повідомлення не криптуються. Клацніть тут, щоб увімкнути OTR-криптування."\n         ],\n         "Your messages are encrypted, but your contact has not been verified.": [\n            null,\n            "Ваші повідомлення криптуються, але Ваш контакт не був перевірений."\n         ],\n         "Your messages are encrypted and your contact verified.": [\n            null,\n            "Ваші повідомлення криптуються і Ваш контакт перевірено."\n         ],\n         "Your contact has closed their end of the private session, you should do the same": [\n            null,\n            "Ваш контакт закрив зі свого боку приватну сесію, Вам слід зробити те ж саме"\n         ],\n         "Clear all messages": [\n            null,\n            "Очистити всі повідомлення"\n         ],\n         "End encrypted conversation": [\n            null,\n            "Завершити криптовану розмову"\n         ],\n         "Insert a smiley": [\n            null,\n            ""\n         ],\n         "Refresh encrypted conversation": [\n            null,\n            "Оновити криптовану розмову"\n         ],\n         "Start a call": [\n            null,\n            "Почати виклик"\n         ],\n         "Start encrypted conversation": [\n            null,\n            "Почати криптовану розмову"\n         ],\n         "Verify with fingerprints": [\n            null,\n            "Перевірити за відбитками"\n         ],\n         "Verify with SMP": [\n            null,\n            "Перевірити за SMP"\n         ],\n         "What\'s this?": [\n            null,\n            "Що це?"\n         ],\n         "Online": [\n            null,\n            "На зв\'язку"\n         ],\n         "Busy": [\n            null,\n            "Зайнятий"\n         ],\n         "Away": [\n            null,\n            "Далеко"\n         ],\n         "Offline": [\n            null,\n            "Поза мережею"\n         ],\n         "Log out": [\n            null,\n            "Вийти"\n         ],\n         "Contact name": [\n            null,\n            "Назва контакту"\n         ],\n         "Search": [\n            null,\n            "Пошук"\n         ],\n         "e.g. user@example.com": [\n            null,\n            ""\n         ],\n         "Add": [\n            null,\n            "Додати"\n         ],\n         "Click to add new chat contacts": [\n            null,\n            "Клацніть, щоб додати нові контакти до чату"\n         ],\n         "Add a contact": [\n            null,\n            "Додати контакт"\n         ],\n         "No users found": [\n            null,\n            "Жодного користувача не знайдено"\n         ],\n         "Click to add as a chat contact": [\n            null,\n            "Клацніть, щоб додати як чат-контакт"\n         ],\n         "Room name": [\n            null,\n            "Назва кімнати"\n         ],\n         "Nickname": [\n            null,\n            "Прізвисько"\n         ],\n         "Server": [\n            null,\n            "Сервер"\n         ],\n         "Join Room": [\n            null,\n            "Приєднатися до кімнати"\n         ],\n         "Show rooms": [\n            null,\n            "Показати кімнати"\n         ],\n         "Rooms": [\n            null,\n            "Кімнати"\n         ],\n         "No rooms on %1$s": [\n            null,\n            "Жодної кімнати на %1$s"\n         ],\n         "Rooms on %1$s": [\n            null,\n            "Кімнати на %1$s"\n         ],\n         "Click to open this room": [\n            null,\n            "Клацніть, щоб увійти в цю кімнату"\n         ],\n         "Show more information on this room": [\n            null,\n            "Показати більше інформації про цю кімату"\n         ],\n         "Description:": [\n            null,\n            "Опис:"\n         ],\n         "Occupants:": [\n            null,\n            "Присутні:"\n         ],\n         "Features:": [\n            null,\n            "Особливості:"\n         ],\n         "Requires authentication": [\n            null,\n            "Вимагає автентикації"\n         ],\n         "Hidden": [\n            null,\n            "Прихована"\n         ],\n         "Requires an invitation": [\n            null,\n            "Вимагає запрошення"\n         ],\n         "Moderated": [\n            null,\n            "Модерована"\n         ],\n         "Non-anonymous": [\n            null,\n            "Не-анонімні"\n         ],\n         "Open room": [\n            null,\n            "Увійти в кімнату"\n         ],\n         "Permanent room": [\n            null,\n            "Постійна кімната"\n         ],\n         "Public": [\n            null,\n            "Публічна"\n         ],\n         "Semi-anonymous": [\n            null,\n            "Напів-анонімна"\n         ],\n         "Temporary room": [\n            null,\n            "Тимчасова кімната"\n         ],\n         "Unmoderated": [\n            null,\n            "Немодерована"\n         ],\n         "This user is a moderator": [\n            null,\n            "Цей користувач є модератором"\n         ],\n         "This user can send messages in this room": [\n            null,\n            "Цей користувач може слати повідомлення в цій кімнаті"\n         ],\n         "This user can NOT send messages in this room": [\n            null,\n            "Цей користувач НЕ МОЖЕ слати повідомлення в цій кімнаті"\n         ],\n         "Invite...": [\n            null,\n            "Запросіть..."\n         ],\n         "Occupants": [\n            null,\n            "Учасники"\n         ],\n         "You are about to invite %1$s to the chat room \\"%2$s\\". ": [\n            null,\n            "Ви запрошуєте %1$s до чату \\"%2$s\\". "\n         ],\n         "You may optionally include a message, explaining the reason for the invitation.": [\n            null,\n            "Ви можете опціонально додати повідомлення, щоб пояснити причину запрошення."\n         ],\n         "Message": [\n            null,\n            "Повідомлення"\n         ],\n         "Error: could not execute the command": [\n            null,\n            "Помилка: Не можу виконати команду"\n         ],\n         "Error: the \\"": [\n            null,\n            ""\n         ],\n         "Change user\'s affiliation to admin": [\n            null,\n            "Призначити користувача адміністратором"\n         ],\n         "Ban user from room": [\n            null,\n            "Заблокувати і викинути з кімнати"\n         ],\n         "Kick user from room": [\n            null,\n            "Викинути з кімнати"\n         ],\n         "Write in 3rd person": [\n            null,\n            "Писати в 3-й особі"\n         ],\n         "Grant membership to a user": [\n            null,\n            "Надати членство користувачу"\n         ],\n         "Remove user\'s ability to post messages": [\n            null,\n            "Забрати можливість слати повідомлення"\n         ],\n         "Change your nickname": [\n            null,\n            "Змінити Ваше прізвисько"\n         ],\n         "Grant moderator role to user": [\n            null,\n            "Надати права модератора"\n         ],\n         "Grant ownership of this room": [\n            null,\n            "Передати у власність цю кімнату"\n         ],\n         "Revoke user\'s membership": [\n            null,\n            "Забрати членство в користувача"\n         ],\n         "Set room topic": [\n            null,\n            "Встановити тему кімнати"\n         ],\n         "Allow muted user to post messages": [\n            null,\n            "Дозволити безголосому користувачу слати повідомлення"\n         ],\n         "Save": [\n            null,\n            "Зберегти"\n         ],\n         "Cancel": [\n            null,\n            "Відміна"\n         ],\n         "An error occurred while trying to save the form.": [\n            null,\n            "Трапилася помилка при спробі зберегти форму."\n         ],\n         "This chatroom requires a password": [\n            null,\n            "Ця кімната вимагає пароль"\n         ],\n         "Password: ": [\n            null,\n            "Пароль:"\n         ],\n         "Submit": [\n            null,\n            "Надіслати"\n         ],\n         "This room is not anonymous": [\n            null,\n            "Ця кімната не є анонімною"\n         ],\n         "This room now shows unavailable members": [\n            null,\n            "Ця кімната вже показує недоступних учасників"\n         ],\n         "This room does not show unavailable members": [\n            null,\n            "Ця кімната не показує недоступних учасників"\n         ],\n         "Non-privacy-related room configuration has changed": [\n            null,\n            "Змінено конфігурацію кімнати, не повязану з приватністю"\n         ],\n         "Room logging is now enabled": [\n            null,\n            "Журналювання кімнати тепер ввімкнено"\n         ],\n         "Room logging is now disabled": [\n            null,\n            "Журналювання кімнати тепер вимкнено"\n         ],\n         "This room is now non-anonymous": [\n            null,\n            "Ця кімната тепер не-анонімна"\n         ],\n         "This room is now semi-anonymous": [\n            null,\n            "Ця кімната тепер напів-анонімна"\n         ],\n         "This room is now fully-anonymous": [\n            null,\n            "Ця кімната тепер повністю анонімна"\n         ],\n         "A new room has been created": [\n            null,\n            "Створено нову кімнату"\n         ],\n         "You have been banned from this room": [\n            null,\n            "Вам заблокували доступ до цієї кімнати"\n         ],\n         "You have been kicked from this room": [\n            null,\n            "Вас викинули з цієї кімнати"\n         ],\n         "You have been removed from this room because of an affiliation change": [\n            null,\n            "Вас видалено з кімнати у зв\'язку зі змінами власності кімнати"\n         ],\n         "You have been removed from this room because the room has changed to members-only and you\'re not a member": [\n            null,\n            "Вас видалено з цієї кімнати, оскільки вона тепер вимагає членства, а Ви ним не є її членом"\n         ],\n         "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.": [\n            null,\n            "Вас видалено з цієї кімнати, тому що MUC (Чат-сервіс) припиняє роботу."\n         ],\n         "<strong>%1$s</strong> has been banned": [\n            null,\n            "<strong>%1$s</strong> заблоковано"\n         ],\n         "<strong>%1$s</strong>\'s nickname has changed": [\n            null,\n            "Прізвисько <strong>%1$s</strong> змінено"\n         ],\n         "<strong>%1$s</strong> has been kicked out": [\n            null,\n            "<strong>%1$s</strong> було викинуто звідси"\n         ],\n         "<strong>%1$s</strong> has been removed because of an affiliation change": [\n            null,\n            "<strong>%1$s</strong> було видалено через зміни власності кімнати"\n         ],\n         "<strong>%1$s</strong> has been removed for not being a member": [\n            null,\n            "<strong>%1$s</strong> було виделано через відсутність членства"\n         ],\n         "Your nickname has been automatically changed to: <strong>%1$s</strong>": [\n            null,\n            "Ваше прізвисько було автоматично змінене на: <strong>%1$s</strong>"\n         ],\n         "Your nickname has been changed to: <strong>%1$s</strong>": [\n            null,\n            "Ваше прізвисько було змінене на: <strong>%1$s</strong>"\n         ],\n         "The reason given is: \\"": [\n            null,\n            "Причиною вказано: \\""\n         ],\n         "You are not on the member list of this room": [\n            null,\n            "Ви не є у списку членів цієї кімнати"\n         ],\n         "No nickname was specified": [\n            null,\n            "Не вказане прізвисько"\n         ],\n         "You are not allowed to create new rooms": [\n            null,\n            "Вам не дозволено створювати нові кімнати"\n         ],\n         "Your nickname doesn\'t conform to this room\'s policies": [\n            null,\n            "Ваше прізвисько не відповідає політиці кімнати"\n         ],\n         "Your nickname is already taken": [\n            null,\n            "Таке прізвисько вже зайняте"\n         ],\n         "This room does not (yet) exist": [\n            null,\n            "Такої кімнати (поки) не існує"\n         ],\n         "This room has reached it\'s maximum number of occupants": [\n            null,\n            "Ця кімната досягнула максимуму учасників"\n         ],\n         "Topic set by %1$s to: %2$s": [\n            null,\n            "Тема встановлена %1$s: %2$s"\n         ],\n         "%1$s has invited you to join a chat room: %2$s": [\n            null,\n            "%1$s запрошує вас приєднатись до чату: %2$s"\n         ],\n         "%1$s has invited you to join a chat room: %2$s, and left the following reason: \\"%3$s\\"": [\n            null,\n            "%1$s запрошує Вас приєднатись до чату: %2$s, аргументує ось як: \\"%3$s\\""\n         ],\n         "Click to restore this chat": [\n            null,\n            "Клацніть, щоб відновити цей чат"\n         ],\n         "Minimized": [\n            null,\n            "Мінімізовано"\n         ],\n         "Click to remove this contact": [\n            null,\n            "Клацніть, щоб видалити цей контакт"\n         ],\n         "Click to accept this contact request": [\n            null,\n            "Клацніть, щоб прийняти цей запит контакту"\n         ],\n         "Click to decline this contact request": [\n            null,\n            "Клацніть, щоб відхилити цей запит контакту"\n         ],\n         "Click to chat with this contact": [\n            null,\n            "Клацніть, щоб почати розмову з цим контактом"\n         ],\n         "Name": [\n            null,\n            ""\n         ],\n         "Are you sure you want to remove this contact?": [\n            null,\n            "Ви впевнені, що хочете видалити цей контакт?"\n         ],\n         "Sorry, there was an error while trying to remove ": [\n            null,\n            ""\n         ],\n         "Are you sure you want to decline this contact request?": [\n            null,\n            "Ви впевнені, що хочете відхилити цей запит контакту?"\n         ],\n         "Sorry, there was an error while trying to add ": [\n            null,\n            ""\n         ],\n         "This client does not allow presence subscriptions": [\n            null,\n            ""\n         ],\n         "Type to filter": [\n            null,\n            "Друкуйте для фільтру"\n         ],\n         "I am %1$s": [\n            null,\n            "Я %1$s"\n         ],\n         "Click here to write a custom status message": [\n            null,\n            "Клацніть тут, щоб створити власний статус"\n         ],\n         "Click to change your chat status": [\n            null,\n            "Клацніть, щоб змінити статус в чаті"\n         ],\n         "Custom status": [\n            null,\n            "Власний статус"\n         ],\n         "online": [\n            null,\n            "на зв\'язку"\n         ],\n         "busy": [\n            null,\n            "зайнятий"\n         ],\n         "away for long": [\n            null,\n            "давно відсутній"\n         ],\n         "away": [\n            null,\n            "відсутній"\n         ],\n         "Your XMPP provider\'s domain name:": [\n            null,\n            "Домен Вашого провайдера XMPP:"\n         ],\n         "Fetch registration form": [\n            null,\n            "Отримати форму реєстрації"\n         ],\n         "Tip: A list of public XMPP providers is available": [\n            null,\n            "Порада: доступний перелік публічних XMPP-провайдерів"\n         ],\n         "here": [\n            null,\n            "тут"\n         ],\n         "Register": [\n            null,\n            "Реєстрація"\n         ],\n         "Sorry, the given provider does not support in band account registration. Please try with a different provider.": [\n            null,\n            "Вибачте, вказаний провайдер не підтримує реєстрації онлайн. Спробуйте іншого провайдера."\n         ],\n         "Requesting a registration form from the XMPP server": [\n            null,\n            "Запитую форму реєстрації з XMPP сервера"\n         ],\n         "Something went wrong while establishing a connection with \\"%1$s\\". Are you sure it exists?": [\n            null,\n            "Щось пішло не так при встановленні зв\'язку з \\"%1$s\\". Ви впевнені, що такий існує?"\n         ],\n         "Now logging you in": [\n            null,\n            "Входимо"\n         ],\n         "Registered successfully": [\n            null,\n            "Успішно зареєстровано"\n         ],\n         "Return": [\n            null,\n            "Вернутися"\n         ],\n         "XMPP Username:": [\n            null,\n            "XMPP адреса:"\n         ],\n         "Password:": [\n            null,\n            "Пароль:"\n         ],\n         "Log In": [\n            null,\n            "Ввійти"\n         ],\n         "user@server": [\n            null,\n            ""\n         ],\n         "Sign in": [\n            null,\n            "Вступити"\n         ],\n         "Toggle chat": [\n            null,\n            "Включити чат"\n         ]\n      }\n   }\n}'}),define("text!zh",[],function(){return'{\n   "domain": "converse",\n   "locale_data": {\n      "converse": {\n         "": {\n            "domain": "converse",\n            "lang": "zh"\n         },\n         " e.g. conversejs.org": [\n            null,\n            ""\n         ],\n         "unencrypted": [\n            null,\n            "未加密"\n         ],\n         "unverified": [\n            null,\n            "未验证"\n         ],\n         "verified": [\n            null,\n            "已验证"\n         ],\n         "finished": [\n            null,\n            "结束了"\n         ],\n         "This contact is busy": [\n            null,\n            "对方忙碌中"\n         ],\n         "This contact is online": [\n            null,\n            "对方在线中"\n         ],\n         "This contact is offline": [\n            null,\n            "对方已下线"\n         ],\n         "This contact is unavailable": [\n            null,\n            "对方免打扰"\n         ],\n         "This contact is away for an extended period": [\n            null,\n            "对方暂时离开"\n         ],\n         "This contact is away": [\n            null,\n            "对方离开"\n         ],\n         "My contacts": [\n            null,\n            "我的好友列表"\n         ],\n         "Pending contacts": [\n            null,\n            "保留中的联系人"\n         ],\n         "Contact requests": [\n            null,\n            "来自好友的请求"\n         ],\n         "Ungrouped": [\n            null,\n            ""\n         ],\n         "Contacts": [\n            null,\n            "联系人"\n         ],\n         "Groups": [\n            null,\n            ""\n         ],\n         "Attempting to reconnect in 5 seconds": [\n            null,\n            ""\n         ],\n         "Error": [\n            null,\n            "错误"\n         ],\n         "Connecting": [\n            null,\n            "连接中"\n         ],\n         "Authenticating": [\n            null,\n            "验证中"\n         ],\n         "Authentication Failed": [\n            null,\n            "验证失败"\n         ],\n         "Re-establishing encrypted session": [\n            null,\n            "重新建立加密会话"\n         ],\n         "Generating private key.": [\n            null,\n            "正在生成私钥"\n         ],\n         "Your browser might become unresponsive.": [\n            null,\n            "您的浏览器可能会暂时无响应"\n         ],\n         "Could not verify this user\'s identify.": [\n            null,\n            "无法验证对方信息。"\n         ],\n         "Minimize this chat box": [\n            null,\n            ""\n         ],\n         "Personal message": [\n            null,\n            "私信"\n         ],\n         "me": [\n            null,\n            "我"\n         ],\n         "is typing": [\n            null,\n            ""\n         ],\n         "has stopped typing": [\n            null,\n            ""\n         ],\n         "Show this menu": [\n            null,\n            "显示此项菜单"\n         ],\n         "Write in the third person": [\n            null,\n            "以第三者身份写"\n         ],\n         "Remove messages": [\n            null,\n            "移除消息"\n         ],\n         "Are you sure you want to clear the messages from this chat box?": [\n            null,\n            "你确定清除此次的聊天记录吗?"\n         ],\n         "Your message could not be sent": [\n            null,\n            "您的消息无法送出"\n         ],\n         "We received an unencrypted message": [\n            null,\n            "我们收到了一条未加密的信息"\n         ],\n         "We received an unreadable encrypted message": [\n            null,\n            "我们收到一条无法读取的信息"\n         ],\n         "Here are the fingerprints, please confirm them with %1$s, outside of this chat.\\n\\nFingerprint for you, %2$s: %3$s\\n\\nFingerprint for %1$s: %4$s\\n\\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.": [\n            null,\n            "这里是指纹。请与 %1$s 确认。\\n\\n您的 %2$s 指纹: %3$s\\n\\n%1$s 的指纹: %4$s\\n\\n如果确认符合,请点击OK,否则点击取消"\n         ],\n         "What is your security question?": [\n            null,\n            "您的安全问题是?"\n         ],\n         "What is the answer to the security question?": [\n            null,\n            "此安全问题的答案是?"\n         ],\n         "Invalid authentication scheme provided": [\n            null,\n            "非法的认证方式"\n         ],\n         "Your messages are not encrypted anymore": [\n            null,\n            "您的消息将不再被加密"\n         ],\n         "Your messages are not encrypted. Click here to enable OTR encryption.": [\n            null,\n            "您的消息未加密。点击这里来启用OTR加密"\n         ],\n         "End encrypted conversation": [\n            null,\n            "结束加密的会话"\n         ],\n         "Insert a smiley": [\n            null,\n            ""\n         ],\n         "Hide the list of occupants": [\n            null,\n            ""\n         ],\n         "Refresh encrypted conversation": [\n            null,\n            "刷新加密的会话"\n         ],\n         "Start a call": [\n            null,\n            ""\n         ],\n         "Start encrypted conversation": [\n            null,\n            "开始加密的会话"\n         ],\n         "Verify with fingerprints": [\n            null,\n            "验证指纹"\n         ],\n         "Verify with SMP": [\n            null,\n            "验证SMP"\n         ],\n         "What\'s this?": [\n            null,\n            "这是什么?"\n         ],\n         "Online": [\n            null,\n            "在线"\n         ],\n         "Busy": [\n            null,\n            "忙碌中"\n         ],\n         "Away": [\n            null,\n            "离开"\n         ],\n         "Offline": [\n            null,\n            "离线"\n         ],\n         "Contact name": [\n            null,\n            "联系人名称"\n         ],\n         "Search": [\n            null,\n            "搜索"\n         ],\n         "e.g. user@example.com": [\n            null,\n            ""\n         ],\n         "Add": [\n            null,\n            "添加"\n         ],\n         "Click to add new chat contacts": [\n            null,\n            "点击添加新联系人"\n         ],\n         "Add a contact": [\n            null,\n            "添加联系人"\n         ],\n         "No users found": [\n            null,\n            "未找到用户"\n         ],\n         "Click to add as a chat contact": [\n            null,\n            "点击添加为好友"\n         ],\n         "Room name": [\n            null,\n            "聊天室名称"\n         ],\n         "Nickname": [\n            null,\n            "昵称"\n         ],\n         "Server": [\n            null,\n            "服务器"\n         ],\n         "Show rooms": [\n            null,\n            "显示所有聊天室"\n         ],\n         "Rooms": [\n            null,\n            "聊天室"\n         ],\n         "No rooms on %1$s": [\n            null,\n            "%1$s 上没有聊天室"\n         ],\n         "Rooms on %1$s": [\n            null,\n            "%1$s 上的聊天室"\n         ],\n         "Click to open this room": [\n            null,\n            "打开聊天室"\n         ],\n         "Show more information on this room": [\n            null,\n            "显示次聊天室的更多信息"\n         ],\n         "Description:": [\n            null,\n            "描述: "\n         ],\n         "Occupants:": [\n            null,\n            "成员:"\n         ],\n         "Features:": [\n            null,\n            "特性:"\n         ],\n         "Requires authentication": [\n            null,\n            "需要验证"\n         ],\n         "Hidden": [\n            null,\n            "隐藏的"\n         ],\n         "Requires an invitation": [\n            null,\n            "需要被邀请"\n         ],\n         "Moderated": [\n            null,\n            "发言受限"\n         ],\n         "Non-anonymous": [\n            null,\n            "非匿名"\n         ],\n         "Open room": [\n            null,\n            "打开聊天室"\n         ],\n         "Permanent room": [\n            null,\n            "永久聊天室"\n         ],\n         "Public": [\n            null,\n            "公开的"\n         ],\n         "Semi-anonymous": [\n            null,\n            "半匿名"\n         ],\n         "Temporary room": [\n            null,\n            "临时聊天室"\n         ],\n         "Unmoderated": [\n            null,\n            "无发言限制"\n         ],\n         "This user is a moderator": [\n            null,\n            "此用户是主持人"\n         ],\n         "This user can send messages in this room": [\n            null,\n            "此用户在这房间里可发消息"\n         ],\n         "This user can NOT send messages in this room": [\n            null,\n            "此用户不可在此房间发消息"\n         ],\n         "Invite...": [\n            null,\n            ""\n         ],\n         "You are about to invite %1$s to the chat room \\"%2$s\\". ": [\n            null,\n            ""\n         ],\n         "You may optionally include a message, explaining the reason for the invitation.": [\n            null,\n            ""\n         ],\n         "Message": [\n            null,\n            "信息"\n         ],\n         "Error: could not execute the command": [\n            null,\n            ""\n         ],\n         "Error: the \\"": [\n            null,\n            ""\n         ],\n         "Change user\'s affiliation to admin": [\n            null,\n            ""\n         ],\n         "Change user role to occupant": [\n            null,\n            ""\n         ],\n         "Grant membership to a user": [\n            null,\n            ""\n         ],\n         "Remove user\'s ability to post messages": [\n            null,\n            ""\n         ],\n         "Change your nickname": [\n            null,\n            ""\n         ],\n         "Grant moderator role to user": [\n            null,\n            ""\n         ],\n         "Revoke user\'s membership": [\n            null,\n            ""\n         ],\n         "Allow muted user to post messages": [\n            null,\n            ""\n         ],\n         "Save": [\n            null,\n            "保存"\n         ],\n         "Cancel": [\n            null,\n            "取消"\n         ],\n         "An error occurred while trying to save the form.": [\n            null,\n            "保存表单是出错。"\n         ],\n         "This chatroom requires a password": [\n            null,\n            "此聊天室需要密码"\n         ],\n         "Password: ": [\n            null,\n            "密码:"\n         ],\n         "Submit": [\n            null,\n            "发送"\n         ],\n         "This room is not anonymous": [\n            null,\n            "此为非匿名聊天室"\n         ],\n         "This room now shows unavailable members": [\n            null,\n            "此聊天室显示不可用用户"\n         ],\n         "This room does not show unavailable members": [\n            null,\n            "此聊天室不显示不可用用户"\n         ],\n         "Non-privacy-related room configuration has changed": [\n            null,\n            "此聊天室设置(非私密性)已改变"\n         ],\n         "Room logging is now enabled": [\n            null,\n            "聊天室聊天记录已启用"\n         ],\n         "Room logging is now disabled": [\n            null,\n            "聊天室聊天记录已禁用"\n         ],\n         "This room is now non-anonymous": [\n            null,\n            "此聊天室非匿名"\n         ],\n         "This room is now semi-anonymous": [\n            null,\n            "此聊天室半匿名"\n         ],\n         "This room is now fully-anonymous": [\n            null,\n            "此聊天室完全匿名"\n         ],\n         "A new room has been created": [\n            null,\n            "新聊天室已创建"\n         ],\n         "You have been banned from this room": [\n            null,\n            "您已被此聊天室禁止入内"\n         ],\n         "You have been kicked from this room": [\n            null,\n            "您已被踢出次房间"\n         ],\n         "You have been removed from this room because of an affiliation change": [\n            null,\n            "由于关系变化,您已被移除此房间"\n         ],\n         "You have been removed from this room because the room has changed to members-only and you\'re not a member": [\n            null,\n            "您已被移除此房间因为此房间更改为只允许成员加入,而您非成员"\n         ],\n         "You have been removed from this room because the MUC (Multi-user chat) service is being shut down.": [\n            null,\n            "由于服务不可用,您已被移除此房间。"\n         ],\n         "<strong>%1$s</strong> has been banned": [\n            null,\n            "<strong>%1$s</strong> 已被禁止"\n         ],\n         "<strong>%1$s</strong> has been kicked out": [\n            null,\n            "<strong>%1$s</strong> 已被踢出"\n         ],\n         "<strong>%1$s</strong> has been removed because of an affiliation change": [\n            null,\n            "由于关系解除、<strong>%1$s</strong> 已被移除"\n         ],\n         "<strong>%1$s</strong> has been removed for not being a member": [\n            null,\n            "由于不是成员、<strong>%1$s</strong> 已被移除"\n         ],\n         "The reason given is: \\"": [\n            null,\n            ""\n         ],\n         "You are not on the member list of this room": [\n            null,\n            "您并非此房间成员"\n         ],\n         "No nickname was specified": [\n            null,\n            "未指定昵称"\n         ],\n         "You are not allowed to create new rooms": [\n            null,\n            "您可此创建新房间了"\n         ],\n         "Your nickname doesn\'t conform to this room\'s policies": [\n            null,\n            "您的昵称不符合此房间标准"\n         ],\n         "Your nickname is already taken": [\n            null,\n            "您的昵称已被占用"\n         ],\n         "This room does not (yet) exist": [\n            null,\n            "此房间不存在"\n         ],\n         "This room has reached it\'s maximum number of occupants": [\n            null,\n            "此房间人数已达上线"\n         ],\n         "Topic set by %1$s to: %2$s": [\n            null,\n            "%1$s 设置话题为: %2$s"\n         ],\n         "%1$s has invited you to join a chat room: %2$s": [\n            null,\n            ""\n         ],\n         "%1$s has invited you to join a chat room: %2$s, and left the following reason: \\"%3$s\\"": [\n            null,\n            ""\n         ],\n         "Minimized": [\n            null,\n            "最小化的"\n         ],\n         "Click to remove this contact": [\n            null,\n            "点击移除联系人"\n         ],\n         "Click to chat with this contact": [\n            null,\n            "点击与对方交谈"\n         ],\n         "Name": [\n            null,\n            ""\n         ],\n         "Sorry, there was an error while trying to remove ": [\n            null,\n            ""\n         ],\n         "Sorry, there was an error while trying to add ": [\n            null,\n            ""\n         ],\n         "This client does not allow presence subscriptions": [\n            null,\n            ""\n         ],\n         "Type to filter": [\n            null,\n            ""\n         ],\n         "I am %1$s": [\n            null,\n            "我现在%1$s"\n         ],\n         "Click here to write a custom status message": [\n            null,\n            "点击这里,填写状态信息"\n         ],\n         "Click to change your chat status": [\n            null,\n            "点击这里改变聊天状态"\n         ],\n         "Custom status": [\n            null,\n            "DIY状态"\n         ],\n         "online": [\n            null,\n            "在线"\n         ],\n         "busy": [\n            null,\n            "忙碌"\n         ],\n         "away for long": [\n            null,\n            "长时间离开"\n         ],\n         "away": [\n            null,\n            "离开"\n         ],\n         "Your XMPP provider\'s domain name:": [\n            null,\n            ""\n         ],\n         "Fetch registration form": [\n            null,\n            ""\n         ],\n         "Tip: A list of public XMPP providers is available": [\n            null,\n            ""\n         ],\n         "here": [\n            null,\n            ""\n         ],\n         "Register": [\n            null,\n            ""\n         ],\n         "Sorry, the given provider does not support in band account registration. Please try with a different provider.": [\n            null,\n            ""\n         ],\n         "Requesting a registration form from the XMPP server": [\n            null,\n            ""\n         ],\n         "Something went wrong while establishing a connection with \\"%1$s\\". Are you sure it exists?": [\n            null,\n            ""\n         ],\n         "Now logging you in": [\n            null,\n            ""\n         ],\n         "Registered successfully": [\n            null,\n            ""\n         ],\n         "Return": [\n            null,\n            ""\n         ],\n         "The provider rejected your registration attempt. Please check the values you entered for correctness.": [\n            null,\n            ""\n         ],\n         "Password:": [\n            null,\n            "密码:"\n         ],\n         "Log In": [\n            null,\n            "登录"\n         ],\n         "user@server": [\n            null,\n            ""\n         ],\n         "Sign in": [\n            null,\n            "登录"\n         ],\n         "Toggle chat": [\n            null,\n            "折叠聊天窗口"\n         ]\n      }\n   }\n}'}),function(e,t){define("locales",["jquery","jed","text!af","text!de","text!en","text!es","text!fr","text!he","text!hu","text!id","text!it","text!ja","text!nb","text!nl","text!pl","text!pt_BR","text!ru","text!uk","text!zh"],function(t,n){return e.locales={af:arguments[2],de:arguments[3],en:arguments[4],es:arguments[5],fr:arguments[6],he:arguments[7],hu:arguments[8],id:arguments[9],it:arguments[10],ja:arguments[11],nb:arguments[12],nl:arguments[13],pl:arguments[14],"pt-br":arguments[15],ru:arguments[16],uk:arguments[17],zh:arguments[18]},e.locales})}(this),function(e,t){typeof define=="function"&&define.amd?define("utils",["jquery","underscore","converse-templates","locales"],t):e.utils=t(jQuery,_,templates)}(this,function(e,t,n,r){"use strict";var i={"text-private":"password","text-single":"text",fixed:"label","boolean":"checkbox",hidden:"hidden","jid-multi":"textarea","list-single":"dropdown","list-multi":"dropdown"};e.expr[":"].emptyVal=function(e){return e.value===""},e.fn.hasScrollBar=function(){return e.contains(document,this.get(0))?this.parent().height()<this.get(0).scrollHeight?!0:!1:!1},e.fn.addHyperlinks=function(){return this.length>0&&this.each(function(t,n){var r=e(n).html(),i=r.match(/\b(https?:\/\/|www\.|https?:\/\/www\.)[^\s<]{2,200}\b/g);if(i)for(t=0;t<i.length;t++){var s=i[t].indexOf("http://")===0||i[t].indexOf("https://")===0?"":"http://",o=encodeURI(decodeURI(i[t])).replace(/[!'()]/g,escape).replace(/\*/g,"%2A");r=r.replace(i[t],"<a target='_blank' href='"+s+o+"'>"+i[t]+"</a>")}e(n).html(r)}),this},e.fn.addEmoticons=function(t){return t&&this.length>0&&this.each(function(t,n){var r=e(n).html();r=r.replace(/&gt;:\)/g,'<span class="emoticon icon-evil"></span>'),r=r.replace(/:\)/g,'<span class="emoticon icon-smiley"></span>'),r=r.replace(/:\-\)/g,'<span class="emoticon icon-smiley"></span>'),r=r.replace(/;\)/g,'<span class="emoticon icon-wink"></span>'),r=r.replace(/;\-\)/g,'<span class="emoticon icon-wink"></span>'),r=r.replace(/:D/g,'<span class="emoticon icon-grin"></span>'),r=r.replace(/:\-D/g,'<span class="emoticon icon-grin"></span>'),r=r.replace(/:P/g,'<span class="emoticon icon-tongue"></span>'),r=r.replace(/:\-P/g,'<span class="emoticon icon-tongue"></span>'),r=r.replace(/:p/g,'<span class="emoticon icon-tongue"></span>'),r=r.replace(/:\-p/g,'<span class="emoticon icon-tongue"></span>'),r=r.replace(/8\)/g,'<span class="emoticon icon-cool"></span>'),r=r.replace(/:S/g,'<span class="emoticon icon-confused"></span>'),r=r.replace(/:\\/g,'<span class="emoticon icon-wondering"></span>'),r=r.replace(/:\/ /g,'<span class="emoticon icon-wondering"></span>'),r=r.replace(/&gt;:\(/g,'<span class="emoticon icon-angry"></span>'),r=r.replace(/:\(/g,'<span class="emoticon icon-sad"></span>'),r=r.replace(/:\-\(/g,'<span class="emoticon icon-sad"></span>'),r=r.replace(/:O/g,'<span class="emoticon icon-shocked"></span>'),r=r.replace(/:\-O/g,'<span class="emoticon icon-shocked"></span>'),r=r.replace(/\=\-O/g,'<span class="emoticon icon-shocked"></span>'),r=r.replace(/\(\^.\^\)b/g,'<span class="emoticon icon-thumbs-up"></span>'),r=r.replace(/&lt;3/g,'<span class="emoticon icon-heart"></span>'),e(n).html(r)}),this};var s={__:function(t){typeof this.i18n=="undefined"&&(this.i18n=r.en),typeof this.i18n=="string"&&(this.i18n=e.parseJSON(this.i18n)),typeof this.jed=="undefined"&&(this.jed=new Jed(this.i18n));var n=this.jed.translate(t);return arguments.length>1?n.fetch.apply(n,[].slice.call(arguments,1)):n.fetch()},___:function(e){return e},webForm2xForm:function(t){var r=e(t),i;if(r.is("[type=checkbox]"))i=r.is(":checked")&&1||0;else if(r.is("textarea")){i=[];var s=r.val().split("\n");for(var o=0;o<s.length;o++){var u=e.trim(s[o]);if(u==="")continue;i.push(u)}}else i=r.val();return e(n.field({name:r.attr("name"),value:i}))[0]},xForm2webForm:function(r,s){var o=[],u,a,f,l,c;if(r.attr("type")==="list-single"||r.attr("type")==="list-multi"){c=[],f=r.children("value");for(u=0;u<f.length;u++)c.push(e(f[u]).text());a=r.children("option");for(u=0;u<a.length;u++)l=e(a[u]).find("value").text(),o.push(n.select_option({value:l,label:e(a[u]).attr("label"),selected:c.indexOf(l)>=0,required:r.find("required").length}));return n.form_select({name:r.attr("var"),label:r.attr("label"),options:o.join(""),multiple:r.attr("type")==="list-multi",required:r.find("required").length})}if(r.attr("type")==="fixed")return e('<p class="form-help">').text(r.find("value").text());if(r.attr("type")==="jid-multi")return n.form_textarea({name:r.attr("var"),label:r.attr("label")||"",value:r.find("value").text(),required:r.find("required").length});if(r.attr("type")==="boolean")return n.form_checkbox({name:r.attr("var"),type:i[r.attr("type")],label:r.attr("label")||"",checked:r.find("value").text()==="1"&&'checked="1"'||"",required:r.find("required").length});if(r.attr("type")&&r.attr("var")==="username")return n.form_username({domain:" @"+this.domain,name:r.attr("var"),type:i[r.attr("type")],label:r.attr("label")||"",value:r.find("value").text(),required:r.find("required").length});if(r.attr("type"))return n.form_input({name:r.attr("var"),type:i[r.attr("type")],label:r.attr("label")||"",value:r.find("value").text(),required:r.find("required").length});if(r.attr("var")==="ocr")return t.reduce(t.map(r.find("uri"),e.proxy(function(e){return n.form_captcha({label:this.$field.attr("label"),name:this.$field.attr("var"),data:this.$stanza.find('data[cid="'+e.textContent.replace(/^cid:/,"")+'"]').text(),type:e.getAttribute("type"),required:this.$field.find("required").length})},{$stanza:s,$field:r})),function(e,t){return e+t},"")}};return s}),function(e){typeof define=="function"&&define.amd?define("jquery.browser",["jquery"],function(t){return e(t)}):typeof module=="object"&&typeof module.exports=="object"?module.exports=e(require("jquery")):e(window.jQuery)}(function(e){"use strict";function t(e){e===undefined&&(e=window.navigator.userAgent),e=e.toLowerCase();var t=/(edge)\/([\w.]+)/.exec(e)||/(opr)[\/]([\w.]+)/.exec(e)||/(chrome)[ \/]([\w.]+)/.exec(e)||/(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[],n=/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(silk)/.exec(e)||/(android)/.exec(e)||/(windows phone)/.exec(e)||/(win)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||/(playbook)/.exec(e)||/(bb)/.exec(e)||/(blackberry)/.exec(e)||[],r={},i={browser:t[5]||t[3]||t[1]||"",version:t[2]||t[4]||"0",versionNumber:t[4]||t[2]||"0",platform:n[0]||""};i.browser&&(r[i.browser]=!0,r.version=i.version,r.versionNumber=parseInt(i.versionNumber,10)),i.platform&&(r[i.platform]=!0);if(r.android||r.bb||r.blackberry||r.ipad||r.iphone||r.ipod||r.kindle||r.playbook||r.silk||r["windows phone"])r.mobile=!0;if(r.cros||r.mac||r.linux||r.win)r.desktop=!0;if(r.chrome||r.opr||r.safari)r.webkit=!0;if(r.rv||r.edge){var s="msie";i.browser=s,r[s]=!0}if(r.safari&&r.blackberry){var o="blackberry";i.browser=o,r[o]=!0}if(r.safari&&r.playbook){var u="playbook";i.browser=u,r[u]=!0}if(r.bb){var a="blackberry";i.browser=a,r[a]=!0}if(r.opr){var f="opera";i.browser=f,r[f]=!0}if(r.safari&&r.android){var l="android";i.browser=l,r[l]=!0}if(r.safari&&r.kindle){var c="kindle";i.browser=c,r[c]=!0}if(r.safari&&r.silk){var h="silk";i.browser=h,r[h]=!0}return r.name=i.browser,r.platform=i.platform,r}return window.jQBrowser=t(window.navigator.userAgent),window.jQBrowser.uaMatch=t,e&&(e.browser=window.jQBrowser),window.jQBrowser});var CryptoJS=CryptoJS||function(e,t){var n={},r=n.lib={},i=r.Base=function(){function e(){}return{extend:function(t){e.prototype=this;var n=new e;return t&&n.mixIn(t),n.hasOwnProperty("init")||(n.init=function(){n.$super.init.apply(this,arguments)}),n.init.prototype=n,n.$super=this,n},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),s=r.WordArray=i.extend({init:function(e,n){e=this.words=e||[],n!=t?this.sigBytes=n:this.sigBytes=e.length*4},toString:function(e){return(e||u).stringify(this)},concat:function(e){var t=this.words,n=e.words,r=this.sigBytes,i=e.sigBytes;this.clamp();if(r%4)for(var s=0;s<i;s++){var o=n[s>>>2]>>>24-s%4*8&255;t[r+s>>>2]|=o<<24-(r+s)%4*8}else if(n.length>65535)for(var s=0;s<i;s+=4)t[r+s>>>2]=n[s>>>2];else t.push.apply(t,n);return this.sigBytes+=i,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=i.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){var n=[];for(var r=0;r<t;r+=4)n.push(e.random()*4294967296|0);return new s.init(n,t)}}),o=n.enc={},u=o.Hex={stringify:function(e){var t=e.words,n=e.sigBytes,r=[];for(var i=0;i<n;i++){var s=t[i>>>2]>>>24-i%4*8&255;r.push((s>>>4).toString(16)),r.push((s&15).toString(16))}return r.join("")},parse:function(e){var t=e.length,n=[];for(var r=0;r<t;r+=2)n[r>>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new s.init(n,t/2)}},a=o.Latin1={stringify:function(e){var t=e.words,n=e.sigBytes,r=[];for(var i=0;i<n;i++){var s=t[i>>>2]>>>24-i%4*8&255;r.push(String.fromCharCode(s))}return r.join("")},parse:function(e){var t=e.length,n=[];for(var r=0;r<t;r++)n[r>>>2]|=(e.charCodeAt(r)&255)<<24-r%4*8;return new s.init(n,t)}},f=o.Utf8={stringify:function(e){try{return decodeURIComponent(escape(a.stringify(e)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(e){return a.parse(unescape(encodeURIComponent(e)))}},l=r.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new s.init,this._nDataBytes=0},_append:function(e){typeof e=="string"&&(e=f.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,i=n.sigBytes,o=this.blockSize,u=o*4,a=i/u;t?a=e.ceil(a):a=e.max((a|0)-this._minBufferSize,0);var f=a*o,l=e.min(f*4,i);if(f){for(var c=0;c<f;c+=o)this._doProcessBlock(r,c);var h=r.splice(0,f);n.sigBytes-=l}return new s.init(h,l)},clone:function(){var e=i.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0}),c=r.Hasher=l.extend({cfg:i.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){l.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){e&&this._append(e);var t=this._doFinalize();return t},blockSize:16,_createHelper:function(e){return function(t,n){return(new e.init(n)).finalize(t)}},_createHmacHelper:function(e){return function(t,n){return(new h.HMAC.init(e,n)).finalize(t)}}}),h=n.algo={};return n}(Math);define("crypto.core",function(){}),function(){var e=CryptoJS,t=e.lib,n=t.WordArray,r=e.enc,i=r.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,r=this._map;e.clamp();var i=[];for(var s=0;s<n;s+=3){var o=t[s>>>2]>>>24-s%4*8&255,u=t[s+1>>>2]>>>24-(s+1)%4*8&255,a=t[s+2>>>2]>>>24-(s+2)%4*8&255,f=o<<16|u<<8|a;for(var l=0;l<4&&s+l*.75<n;l++)i.push(r.charAt(f>>>6*(3-l)&63))}var c=r.charAt(64);if(c)while(i.length%4)i.push(c);return i.join("")},parse:function(e){var t=e.length,r=this._map,i=r.charAt(64);if(i){var s=e.indexOf(i);s!=-1&&(t=s)}var o=[],u=0;for(var a=0;a<t;a++)if(a%4){var f=r.indexOf(e.charAt(a-1))<<a%4*2,l=r.indexOf(e.charAt(a))>>>6-a%4*2;o[u>>>2]|=(f|l)<<24-u%4*8,u++}return n.create(o,u)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),define("crypto.enc-base64",["crypto.core"],function(){}),function(e){function a(e,t,n,r,i,s,o){var u=e+(t&n|~t&r)+i+o;return(u<<s|u>>>32-s)+t}function f(e,t,n,r,i,s,o){var u=e+(t&r|n&~r)+i+o;return(u<<s|u>>>32-s)+t}function l(e,t,n,r,i,s,o){var u=e+(t^n^r)+i+o;return(u<<s|u>>>32-s)+t}function c(e,t,n,r,i,s,o){var u=e+(n^(t|~r))+i+o;return(u<<s|u>>>32-s)+t}var t=CryptoJS,n=t.lib,r=n.WordArray,i=n.Hasher,s=t.algo,o=[];(function(){for(var t=0;t<64;t++)o[t]=e.abs(e.sin(t+1))*4294967296|0})();var u=s.MD5=i.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var r=t+n,i=e[r];e[r]=(i<<8|i>>>24)&16711935|(i<<24|i>>>8)&4278255360}var s=this._hash.words,u=e[t+0],h=e[t+1],p=e[t+2],d=e[t+3],v=e[t+4],m=e[t+5],g=e[t+6],y=e[t+7],b=e[t+8],w=e[t+9],E=e[t+10],S=e[t+11],x=e[t+12],N=e[t+13],C=e[t+14],k=e[t+15],L=s[0],A=s[1],O=s[2],M=s[3];L=a(L,A,O,M,u,7,o[0]),M=a(M,L,A,O,h,12,o[1]),O=a(O,M,L,A,p,17,o[2]),A=a(A,O,M,L,d,22,o[3]),L=a(L,A,O,M,v,7,o[4]),M=a(M,L,A,O,m,12,o[5]),O=a(O,M,L,A,g,17,o[6]),A=a(A,O,M,L,y,22,o[7]),L=a(L,A,O,M,b,7,o[8]),M=a(M,L,A,O,w,12,o[9]),O=a(O,M,L,A,E,17,o[10]),A=a(A,O,M,L,S,22,o[11]),L=a(L,A,O,M,x,7,o[12]),M=a(M,L,A,O,N,12,o[13]),O=a(O,M,L,A,C,17,o[14]),A=a(A,O,M,L,k,22,o[15]),L=f(L,A,O,M,h,5,o[16]),M=f(M,L,A,O,g,9,o[17]),O=f(O,M,L,A,S,14,o[18]),A=f(A,O,M,L,u,20,o[19]),L=f(L,A,O,M,m,5,o[20]),M=f(M,L,A,O,E,9,o[21]),O=f(O,M,L,A,k,14,o[22]),A=f(A,O,M,L,v,20,o[23]),L=f(L,A,O,M,w,5,o[24]),M=f(M,L,A,O,C,9,o[25]),O=f(O,M,L,A,d,14,o[26]),A=f(A,O,M,L,b,20,o[27]),L=f(L,A,O,M,N,5,o[28]),M=f(M,L,A,O,p,9,o[29]),O=f(O,M,L,A,y,14,o[30]),A=f(A,O,M,L,x,20,o[31]),L=l(L,A,O,M,m,4,o[32]),M=l(M,L,A,O,b,11,o[33]),O=l(O,M,L,A,S,16,o[34]),A=l(A,O,M,L,C,23,o[35]),L=l(L,A,O,M,h,4,o[36]),M=l(M,L,A,O,v,11,o[37]),O=l(O,M,L,A,y,16,o[38]),A=l(A,O,M,L,E,23,o[39]),L=l(L,A,O,M,N,4,o[40]),M=l(M,L,A,O,u,11,o[41]),O=l(O,M,L,A,d,16,o[42]),A=l(A,O,M,L,g,23,o[43]),L=l(L,A,O,M,w,4,o[44]),M=l(M,L,A,O,x,11,o[45]),O=l(O,M,L,A,k,16,o[46]),A=l(A,O,M,L,p,23,o[47]),L=c(L,A,O,M,u,6,o[48]),M=c(M,L,A,O,y,10,o[49]),O=c(O,M,L,A,C,15,o[50]),A=c(A,O,M,L,m,21,o[51]),L=c(L,A,O,M,x,6,o[52]),M=c(M,L,A,O,d,10,o[53]),O=c(O,M,L,A,E,15,o[54]),A=c(A,O,M,L,h,21,o[55]),L=c(L,A,O,M,b,6,o[56]),M=c(M,L,A,O,k,10,o[57]),O=c(O,M,L,A,g,15,o[58]),A=c(A,O,M,L,N,21,o[59]),L=c(L,A,O,M,v,6,o[60]),M=c(M,L,A,O,S,10,o[61]),O=c(O,M,L,A,p,15,o[62]),A=c(A,O,M,L,w,21,o[63]),s[0]=s[0]+L|0,s[1]=s[1]+A|0,s[2]=s[2]+O|0,s[3]=s[3]+M|0},_doFinalize:function(){var t=this._data,n=t.words,r=this._nDataBytes*8,i=t.sigBytes*8;n[i>>>5]|=128<<24-i%32;var s=e.floor(r/4294967296),o=r;n[(i+64>>>9<<4)+15]=(s<<8|s>>>24)&16711935|(s<<24|s>>>8)&4278255360,n[(i+64>>>9<<4)+14]=(o<<8|o>>>24)&16711935|(o<<24|o>>>8)&4278255360,t.sigBytes=(n.length+1)*4,this._process();var u=this._hash,a=u.words;for(var f=0;f<4;f++){var l=a[f];a[f]=(l<<8|l>>>24)&16711935|(l<<24|l>>>8)&4278255360}return u},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});t.MD5=i._createHelper(u),t.HmacMD5=i._createHmacHelper(u)}(Math),define("crypto.md5",["crypto.core"],function(){}),function(){var e=CryptoJS,t=e.lib,n=t.Base,r=t.WordArray,i=e.algo,s=i.MD5,o=i.EvpKDF=n.extend({cfg:n.extend({keySize:4,hasher:s,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){var n=this.cfg,i=n.hasher.create(),s=r.create(),o=s.words,u=n.keySize,a=n.iterations;while(o.length<u){f&&i.update(f);var f=i.update(e).finalize(t);i.reset();for(var l=1;l<a;l++)f=i.finalize(f),i.reset();s.concat(f)}return s.sigBytes=u*4,s}});e.EvpKDF=function(e,t,n){return o.create(n).compute(e,t)}}(),define("crypto.evpkdf",["crypto.md5"],function(){}),CryptoJS.lib.Cipher||function(e){var t=CryptoJS,n=t.lib,r=n.Base,i=n.WordArray,s=n.BufferedBlockAlgorithm,o=t.enc,u=o.Utf8,a=o.Base64,f=t.algo,l=f.EvpKDF,c=n.Cipher=s.extend({cfg:r.extend(),createEncryptor:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)},createDecryptor:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)},init:function(e,t,n){this.cfg=this.cfg.extend(n),this._xformMode=e,this._key=t,this.reset()},reset:function(){s.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){e&&this._append(e);var t=this._doFinalize();return t},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function e(e){return typeof e=="string"?N:S}return function(t){return{encrypt:function(n,r,i){return e(r).encrypt(t,n,r,i)},decrypt:function(n,r,i){return e(r).decrypt(t,n,r,i)}}}}()}),h=n.StreamCipher=c.extend({_doFinalize:function(){var e=this._process(!0);return e},blockSize:1}),p=t.mode={},d=n.BlockCipherMode=r.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}}),v=p.CBC=function(){function n(t,n,r){var i=this._iv;if(i){var s=i;this._iv=e}else var s=this._prevBlock;for(var o=0;o<r;o++)t[n+o]^=s[o]}var t=d.extend();return t.Encryptor=t.extend({processBlock:function(e,t){var r=this._cipher,i=r.blockSize;n.call(this,e,t,i),r.encryptBlock(e,t),this._prevBlock=e.slice(t,t+i)}}),t.Decryptor=t.extend({processBlock:function(e,t){var r=this._cipher,i=r.blockSize,s=e.slice(t,t+i);r.decryptBlock(e,t),n.call(this,e,t,i),this._prevBlock=s}}),t}(),m=t.pad={},g=m.Pkcs7={pad:function(e,t){var n=t*4,r=n-e.sigBytes%n,s=r<<24|r<<16|r<<8|r,o=[];for(var u=0;u<r;u+=4)o.push(s);var a=i.create(o,r);e.concat(a)},unpad:function(e){var t=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=t}},y=n.BlockCipher=c.extend({cfg:c.cfg.extend({mode:v,padding:g}),reset:function(){c.reset.call(this);var e=this.cfg,t=e.iv,n=e.mode;if(this._xformMode==this._ENC_XFORM_MODE)var r=n.createEncryptor;else{var r=n.createDecryptor;this._minBufferSize=1}this._mode=r.call(n,this,t&&t.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else{var t=this._process(!0);e.unpad(t)}return t},blockSize:4}),b=n.CipherParams=r.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),w=t.format={},E=w.OpenSSL={stringify:function(e){var t=e.ciphertext,n=e.salt;if(n)var r=i.create([1398893684,1701076831]).concat(n).concat(t);else var r=t;return r.toString(a)},parse:function(e){var t=a.parse(e),n=t.words;if(n[0]==1398893684&&n[1]==1701076831){var r=i.create(n.slice(2,4));n.splice(0,4),t.sigBytes-=16}return b.create({ciphertext:t,salt:r})}},S=n.SerializableCipher=r.extend({cfg:r.extend({format:E}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=e.createEncryptor(n,r),s=i.finalize(t),o=i.cfg;return b.create({ciphertext:s,key:n,iv:o.iv,algorithm:e,mode:o.mode,padding:o.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,n,r){r=this.cfg.extend(r),t=this._parse(t,r.format);var i=e.createDecryptor(n,r).finalize(t.ciphertext);return i},_parse:function(e,t){return typeof e=="string"?t.parse(e,this):e}}),x=t.kdf={},T=x.OpenSSL={execute:function(e,t,n,r){r||(r=i.random(8));var s=l.create({keySize:t+n}).compute(e,r),o=i.create(s.words.slice(t),n*4);return s.sigBytes=t*4,b.create({key:s,iv:o,salt:r})}},N=n.PasswordBasedCipher=S.extend({cfg:S.cfg.extend({kdf:T}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=r.kdf.execute(n,e.keySize,e.ivSize);r.iv=i.iv;var s=S.encrypt.call(this,e,t,i.key,r);return s.mixIn(i),s},decrypt:function(e,t,n,r){r=this.cfg.extend(r),t=this._parse(t,r.format);var i=r.kdf.execute(n,e.keySize,e.ivSize,t.salt);r.iv=i.iv;var s=S.decrypt.call(this,e,t,i.key,r);return s}})}(),define("crypto.cipher-core",["crypto.enc-base64","crypto.evpkdf"],function(){}),function(){var e=CryptoJS,t=e.lib,n=t.BlockCipher,r=e.algo,i=[],s=[],o=[],u=[],a=[],f=[],l=[],c=[],h=[],p=[];(function(){var e=[];for(var t=0;t<256;t++)t<128?e[t]=t<<1:e[t]=t<<1^283;var n=0,r=0;for(var t=0;t<256;t++){var d=r^r<<1^r<<2^r<<3^r<<4;d=d>>>8^d&255^99,i[n]=d,s[d]=n;var v=e[n],m=e[v],g=e[m],y=e[d]*257^d*16843008;o[n]=y<<24|y>>>8,u[n]=y<<16|y>>>16,a[n]=y<<8|y>>>24,f[n]=y;var y=g*16843009^m*65537^v*257^n*16843008;l[d]=y<<24|y>>>8,c[d]=y<<16|y>>>16,h[d]=y<<8|y>>>24,p[d]=y,n?(n=v^e[e[e[g^v]]],r^=e[e[r]]):n=r=1}})();var d=[0,1,2,4,8,16,32,64,128,27,54],v=r.AES=n.extend({_doReset:function(){var e=this._key,t=e.words,n=e.sigBytes/4,r=this._nRounds=n+6,s=(r+1)*4,o=this._keySchedule=[];for(var u=0;u<s;u++)if(u<n)o[u]=t[u];else{var a=o[u-1];u%n?n>6&&u%n==4&&(a=i[a>>>24]<<24|i[a>>>16&255]<<16|i[a>>>8&255]<<8|i[a&255]):(a=a<<8|a>>>24,a=i[a>>>24]<<24|i[a>>>16&255]<<16|i[a>>>8&255]<<8|i[a&255],a^=d[u/n|0]<<24),o[u]=o[u-n]^a}var f=this._invKeySchedule=[];for(var v=0;v<s;v++){var u=s-v;if(v%4)var a=o[u];else var a=o[u-4];v<4||u<=4?f[v]=a:f[v]=l[i[a>>>24]]^c[i[a>>>16&255]]^h[i[a>>>8&255]]^p[i[a&255]]}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,o,u,a,f,i)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,l,c,h,p,s);var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,r,i,s,o,u){var a=this._nRounds,f=e[t]^n[0],l=e[t+1]^n[1],c=e[t+2]^n[2],h=e[t+3]^n[3],p=4;for(var d=1;d<a;d++){var v=r[f>>>24]^i[l>>>16&255]^s[c>>>8&255]^o[h&255]^n[p++],m=r[l>>>24]^i[c>>>16&255]^s[h>>>8&255]^o[f&255]^n[p++],g=r[c>>>24]^i[h>>>16&255]^s[f>>>8&255]^o[l&255]^n[p++],y=r[h>>>24]^i[f>>>16&255]^s[l>>>8&255]^o[c&255]^n[p++];f=v,l=m,c=g,h=y}var v=(u[f>>>24]<<24|u[l>>>16&255]<<16|u[c>>>8&255]<<8|u[h&255])^n[p++],m=(u[l>>>24]<<24|u[c>>>16&255]<<16|u[h>>>8&255]<<8|u[f&255])^n[p++],g=(u[c>>>24]<<24|u[h>>>16&255]<<16|u[f>>>8&255]<<8|u[l&255])^n[p++],y=(u[h>>>24]<<24|u[f>>>16&255]<<16|u[l>>>8&255]<<8|u[c&255])^n[p++];e[t]=v,e[t+1]=m,e[t+2]=g,e[t+3]=y},keySize:8});e.AES=n._createHelper(v)}(),define("crypto.aes",["crypto.cipher-core"],function(){}),function(){var e=CryptoJS,t=e.lib,n=t.WordArray,r=t.Hasher,i=e.algo,s=[],o=i.SHA1=r.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){var n=this._hash.words,r=n[0],i=n[1],o=n[2],u=n[3],a=n[4];for(var f=0;f<80;f++){if(f<16)s[f]=e[t+f]|0;else{var l=s[f-3]^s[f-8]^s[f-14]^s[f-16];s[f]=l<<1|l>>>31}var c=(r<<5|r>>>27)+a+s[f];f<20?c+=(i&o|~i&u)+1518500249:f<40?c+=(i^o^u)+1859775393:f<60?c+=(i&o|i&u|o&u)-1894007588:c+=(i^o^u)-899497514,a=u,u=o,o=i<<30|i>>>2,i=r,r=c}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+o|0,n[3]=n[3]+u|0,n[4]=n[4]+a|0},_doFinalize:function(){var e=this._data,t=e.words,n=this._nDataBytes*8,r=e.sigBytes*8;return t[r>>>5]|=128<<24-r%32,t[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),t[(r+64>>>9<<4)+15]=n,e.sigBytes=t.length*4,this._process(),this._hash},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=r._createHelper(o),e.HmacSHA1=r._createHmacHelper(o)}(),define("crypto.sha1",["crypto.core"],function(){}),function(e){var t=CryptoJS,n=t.lib,r=n.WordArray,i=n.Hasher,s=t.algo,o=[],u=[];(function(){function t(t){var n=e.sqrt(t);for(var r=2;r<=n;r++)if(!(t%r))return!1;return!0}function n(e){return(e-(e|0))*4294967296|0}var r=2,i=0;while(i<64)t(r)&&(i<8&&(o[i]=n(e.pow(r,.5))),u[i]=n(e.pow(r,1/3)),i++),r++})();var a=[],f=s.SHA256=i.extend({_doReset:function(){this._hash=new r.init(o.slice(0))},_doProcessBlock:function(e,t){var n=this._hash.words,r=n[0],i=n[1],s=n[2],o=n[3],f=n[4],l=n[5],c=n[6],h=n[7];for(var p=0;p<64;p++){if(p<16)a[p]=e[t+p]|0;else{var d=a[p-15],v=(d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3,m=a[p-2],g=(m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10;a[p]=v+a[p-7]+g+a[p-16]}var y=f&l^~f&c,b=r&i^r&s^i&s,w=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),E=(f<<26|f>>>6)^(f<<21|f>>>11)^(f<<7|f>>>25),S=h+E+y+u[p]+a[p],x=w+b;h=c,c=l,l=f,f=o+S|0,o=s,s=i,i=r,r=S+x|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+s|0,n[3]=n[3]+o|0,n[4]=n[4]+f|0,n[5]=n[5]+l|0,n[6]=n[6]+c|0,n[7]=n[7]+h|0},_doFinalize:function(){var t=this._data,n=t.words,r=this._nDataBytes*8,i=t.sigBytes*8;return n[i>>>5]|=128<<24-i%32,n[(i+64>>>9<<4)+14]=e.floor(r/4294967296),n[(i+64>>>9<<4)+15]=r,t.sigBytes=n.length*4,this._process(),this._hash},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=i._createHelper(f),t.HmacSHA256=i._createHmacHelper(f)}(Math),define("crypto.sha256",["crypto.core"],function(){}),function(){var e=CryptoJS,t=e.lib,n=t.Base,r=e.enc,i=r.Utf8,s=e.algo,o=s.HMAC=n.extend({init:function(e,t){e=this._hasher=new e.init,typeof t=="string"&&(t=i.parse(t));var n=e.blockSize,r=n*4;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();var s=this._oKey=t.clone(),o=this._iKey=t.clone(),u=s.words,a=o.words;for(var f=0;f<n;f++)u[f]^=1549556828,a[f]^=909522486;s.sigBytes=o.sigBytes=r,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher,n=t.finalize(e);t.reset();var r=t.finalize(this._oKey.clone().concat(n));return r}})}(),define("crypto.hmac",["crypto.core"],function(){}),CryptoJS.pad.NoPadding={pad:function(){},unpad:function(){}},define("crypto.pad-nopadding",["crypto.cipher-core"],function(){}),CryptoJS.mode.CTR=function(){var e=CryptoJS.lib.BlockCipherMode.extend(),t=e.Encryptor=e.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=this._iv,s=this._counter;i&&(s=this._counter=i.slice(0),this._iv=undefined);var o=s.slice(0);n.encryptBlock(o,0),s[r-1]=s[r-1]+1|0;for(var u=0;u<r;u++)e[t+u]^=o[u]}});return e.Decryptor=t,e}(),define("crypto.mode-ctr",["crypto.cipher-core"],function(){}),function(e,t){typeof define=="function"&&define.amd?define("crypto",["crypto.core","crypto.enc-base64","crypto.md5","crypto.evpkdf","crypto.cipher-core","crypto.aes","crypto.sha1","crypto.sha256","crypto.hmac","crypto.pad-nopadding","crypto.mode-ctr"],function(){return CryptoJS}):e.CryptoJS=t()}(this),function(e,t){typeof define=="function"&&define.amd?define("bigint",[],t.bind(e,e.crypto||e.msCrypto)):typeof module!="undefined"&&module.exports?module.exports=t(require("crypto")):e.BigInt=t(e.crypto||e.msCrypto)}(this,function(e){function G(e){var t,n,r,i;n=new Array(e);for(t=0;t<e;t++)n[t]=0;n[0]=2,r=0;for(;n[r]<e;){for(t=n[r]*n[r];t<e;t+=n[r])n[t]=1;r++,n[r]=n[r-1]+1;for(;n[r]<e&&n[n[r]];n[r]++);}i=new Array(r);for(t=0;t<r;t++)i[t]=n[t];return i}function Y(e,t){return y.length!=e.length&&(y=Pt(e),b=Pt(e),w=Pt(e)),Bt(w,t),Z(e,w)}function Z(e,n){var r,i,s,o;y.length!=e.length&&(y=Pt(e),b=Pt(e),w=Pt(e)),Ht(w,n),Ht(b,e),Ht(y,e),jt(b,-1),jt(y,-1);if(_t(b))return 0;for(s=0;b[s]==0;s++);for(r=1,i=2;b[s]%i==0;i*=2,r++);o=s*t+r-1,o&&Ft(b,o),en(w,b,e);if(!Ot(w,1)&&!Mt(w,y)){i=1;while(i<=o-1&&!Mt(w,y)){Yt(w,e);if(Ot(w,1))return 0;i++}if(!Mt(w,y))return 0}return 1}function et(e){var n,r,i;for(n=e.length-1;e[n]==0&&n>0;n--);for(r=0,i=e[n];i;i>>=1,r++);return r+=t*n,r}function tt(e,n){var r=Lt(0,(e.length>n?e.length:n)*t,0);return Ht(r,e),r}function nt(e){var t=Lt(0,e,0);return pt(t,e),Zt(t,1)}function rt(e){return e>=600?it(e,2):e>=550?it(e,4):e>=500?it(e,5):e>=400?it(e,6):e>=350?it(e,7):e>=300?it(e,9):e>=250?it(e,12):e>=200?it(e,15):e>=150?it(e,18):e>=100?it(e,27):it(e,40)}function it(e,t){var n,r,i,s;s=3e4,n=Lt(0,e,0),P.length==0&&(P=G(3e4)),Q.length!=n.length&&(Q=Pt(n));for(;;){vt(n,e,0),n[0]|=1,i=0;for(r=0;r<P.length&&P[r]<=s;r++)if(kt(n,P[r])==0&&!Ot(n,P[r])){i=1;break}for(r=0;r<t&&!i;r++){vt(Q,e,0);while(!Tt(n,Q))vt(Q,e,0);Z(n,Q)||(i=1)}if(!i)return n}}function st(e,t){var n=Pt(e);return Qt(n,t),Zt(n,1)}function ot(e,t){var n=tt(e,e.length+1);return jt(n,t),Zt(n,1)}function ut(e,t){var n=tt(e,e.length+t.length);return Kt(n,t),Zt(n,1)}function at(e,t,n){var r=tt(e,n.length);return en(r,Zt(t,2),Zt(n,2),0),Zt(r,1)}function ft(e,t){var n=tt(e,e.length>t.length?e.length+1:t.length+1);return $t(n,t),Zt(n,1)}function lt(e,t){var n=tt(e,e.length>t.length?e.length+1:t.length+1);return Jt(n,t),Zt(n,1)}function ct(e,t){var n=tt(e,t.length),r;return r=yt(n,t),r?Zt(n,1):null}function ht(e,t,n){var r=tt(e,n.length);return Gt(r,t,n),Zt(r,1)}function pt(e,n){var r,i,s,o,u,a,f,l,c,h,p,d,v;P.length==0&&(P=G(3e4));if(H.length==0){H=new Array(512);for(a=0;a<512;a++)H[a]=Math.pow(2,a/511-1)}r=.1,s=20,v=20,j.length!=e.length&&(j=Pt(e),F=Pt(e),R=Pt(e),z=Pt(e),V=Pt(e),$=Pt(e),J=Pt(e),X=Pt(e),W=Pt(e),B=Pt(e),I=Pt(e),q=Pt(e),U=Pt(e),K=Pt(e));if(n<=v){o=(1<<(n+2>>1))-1,Bt(e,0);for(u=1;u;){u=0,e[0]=1|1<<n-1|hn(n);for(a=1;a<P.length&&(P[a]&o)==P[a];a++)if(0==e[0]%P[a]){u=1;break}}Ct(e);return}l=r*n*n;if(n>2*s)for(f=1;n-n*f<=s;)f=H[hn(9)];else f=.5;d=Math.floor(f*n)+1,pt(q,d),Bt(j,0),j[Math.floor((n-2)/t)]|=1<<(n-2)%t,Nt(j,q,B,I),h=et(B);for(;;){for(;;){vt(F,h,0);if(Tt(B,F))break}jt(F,1),Jt(F,B),Ht(W,q),Kt(W,F),Rt(W,2),jt(W,1),Ht(z,F),Rt(z,2);for(c=0,a=0;a<P.length&&P[a]<l;a++)if(kt(W,P[a])==0&&!Ot(W,P[a])){c=1;break}c||Y(W,2)||(c=1);if(!c){jt(W,-3);for(a=W.length-1;W[a]==0&&a>0;a--);for(p=0,i=W[a];i;i>>=1,p++);p+=t*a;for(;;){vt(U,p,0);if(Tt(W,U))break}jt(W,3),jt(U,2),Ht(X,U),Ht(R,W),jt(R,-1),en(X,R,W),jt(X,-1);if(_t(X)){Ht(X,U),en(X,z,W),jt(X,-1),Ht(K,W),Ht(V,X),gt(V,W);if(Ot(V,1)){Ht(e,K);return}}}}}function dt(e,n){var r,i;return r=Math.floor((e-1)/t)+2,i=Lt(0,0,r),vt(i,e,n),i}function vt(e,n,r){var i,s;for(i=0;i<e.length;i++)e[i]=0;s=Math.floor((n-1)/t)+1;for(i=0;i<s;i++)e[i]=hn(t);e[s-1]&=(2<<(n-1)%t)-1,r==1&&(e[s-1]|=1<<(n-1)%t)}function mt(e,t){var n,r;return n=Pt(e),r=Pt(t),gt(n,r),n}function gt(e,t){var n,r,i,s,u,a,f,l,c,h;m.length!=e.length&&(m=Pt(e)),c=1;while(c){c=0;for(n=1;n<t.length;n++)if(t[n]){c=1;break}if(!c)break;for(n=e.length;!e[n]&&n>=0;n--);r=e[n],i=t[n],s=1,u=0,a=0,f=1;while(i+a&&i+f){l=Math.floor((r+s)/(i+a)),h=Math.floor((r+u)/(i+f));if(l!=h)break;o=s-l*a,s=a,a=o,o=u-l*f,u=f,f=o,o=r-l*i,r=i,i=o}u?(Ht(m,e),zt(e,t,s,u),zt(t,m,f,a)):(Qt(e,t),Ht(m,e),Ht(e,t),Ht(t,m))}if(t[0]==0)return;o=kt(e,t[0]),Bt(e,t[0]),t[0]=o;while(t[0])e[0]%=t[0],o=e[0],e[0]=t[0],t[0]=o}function yt(e,t){var n=1+2*Math.max(e.length,t.length);if(!(e[0]&1)&&!(t[0]&1))return Bt(e,0),0;S.length!=n&&(S=new Array(n),E=new Array(n),x=new Array(n),T=new Array(n),N=new Array(n),C=new Array(n)),Ht(S,e),Ht(E,t),Bt(x,1),Bt(T,0),Bt(N,0),Bt(C,1);for(;;){while(!(S[0]&1))It(S),!(x[0]&1)&&!(T[0]&1)?(It(x),It(T)):(Jt(x,t),It(x),$t(T,e),It(T));while(!(E[0]&1))It(E),!(N[0]&1)&&!(C[0]&1)?(It(N),It(C)):(Jt(N,t),It(N),$t(C,e),It(C));Tt(E,S)?($t(E,S),$t(N,x),$t(C,T)):($t(S,E),$t(x,N),$t(T,C));if(Ot(S,0)){while(St(N))Jt(N,t);return Ht(e,N),Ot(E,1)?1:(Bt(e,0),0)}}}function bt(e,t){var n=1,r=0,i;for(;;){if(e==1)return n;if(e==0)return 0;r-=n*Math.floor(t/e),t%=e;if(t==1)return r;if(t==0)return 0;n-=r*Math.floor(e/t),e%=t}}function wt(e,t){return bt(e,t)}function Et(e,t,n,r,i){var s=0,o=Math.max(e.length,t.length);S.length!=o&&(S=new Array(o),x=new Array(o),T=new Array(o),N=new Array(o),C=new Array(o));while(!(e[0]&1)&&!(t[0]&1))It(e),It(t),s++;Ht(S,e),Ht(n,t),Bt(x,1),Bt(T,0),Bt(N,0),Bt(C,1);for(;;){while(!(S[0]&1))It(S),!(x[0]&1)&&!(T[0]&1)?(It(x),It(T)):(Jt(x,t),It(x),$t(T,e),It(T));while(!(n[0]&1))It(n),!(N[0]&1)&&!(C[0]&1)?(It(N),It(C)):(Jt(N,t),It(N),$t(C,e),It(C));Tt(n,S)?($t(n,S),$t(N,x),$t(C,T)):($t(S,n),$t(x,N),$t(T,C));if(Ot(S,0)){while(St(N))Jt(N,t),$t(C,e);Rt(C,-1),Ht(r,N),Ht(i,C),qt(n,s);return}}}function St(e){return e[e.length-1]>>t-1&1}function xt(e,t,n){var r,i=e.length,s=t.length,o=i+n<s?i+n:s;for(r=s-1-n;r<i&&r>=0;r++)if(e[r]>0)return 1;for(r=i-1+n;r<s;r++)if(t[r]>0)return 0;for(r=o-1;r>=n;r--){if(e[r-n]>t[r])return 1;if(e[r-n]<t[r])return 0}return 0}function Tt(e,t){var n,r=e.length<t.length?e.length:t.length;for(n=e.length;n<t.length;n++)if(t[n])return 0;for(n=t.length;n<e.length;n++)if(e[n])return 1;for(n=r-1;n>=0;n--){if(e[n]>t[n])return 1;if(e[n]<t[n])return 0}return 0}function Nt(e,i,s,o){var u,a,f,l,c,h,p,d,v;Ht(o,e);for(a=i.length;i[a-1]==0;a--);v=i[a-1];for(d=0;v;d++)v>>=1;d=t-d,qt(i,d),qt(o,d);for(u=o.length;o[u-1]==0&&u>a;u--);Bt(s,0);while(!xt(i,o,u-a))Vt(o,i,u-a),s[u-a]++;for(f=u-1;f>=a;f--){o[f]==i[a-1]?s[f-a]=r:s[f-a]=Math.floor((o[f]*n+o[f-1])/i[a-1]);for(;;){h=(a>1?i[a-2]:0)*s[f-a],p=h,h&=r,p=(p-h)/n,c=p+s[f-a]*i[a-1],p=c,c&=r,p=(p-c)/n;if(!(p==o[f]?c==o[f-1]?h>(f>1?o[f-2]:0):c>o[f-1]:p>o[f]))break;s[f-a]--}Wt(o,i,-s[f-a],f-a),St(o)&&(Xt(o,i,f-a),s[f-a]--)}Ft(i,d),Ft(o,d)}function Ct(e){var t,i,s,o;i=e.length,s=0;for(t=0;t<i;t++)s+=e[t],o=0,s<0&&(o=s&r,o=-((s-o)/n),s+=o*n),e[t]=s&r,s=(s-e[t])/n-o}function kt(e,t){var r,i=0;for(r=e.length-1;r>=0;r--)i=(i*n+e[r])%t;return i}function Lt(e,n,r){var i,s,o;return s=Math.ceil(n/t)+1,s=r>s?r:s,o=new Array(s),Bt(o,e),o}function At(e,t,n){var r,s,o,u,a,f,l=e.length;if(t==-1){u=new Array(0);for(;;){a=new Array(u.length+1);for(s=0;s<u.length;s++)a[s+1]=u[s];a[0]=parseInt(e,10),u=a,r=e.indexOf(",",0);if(r<1)break;e=e.substring(r+1);if(e.length==0)break}return u.length<n?(a=new Array(n),Ht(a,u),a):u}var c=t,h=0,p=t==1?l:0;while(c>1)c&1&&(h=1),p+=l,c>>=1;p+=h*l,u=Lt(0,p,0);for(s=0;s<l;s++){r=i.indexOf(e.substring(s,s+1),0),t<=36&&r>=36&&(r-=26);if(r>=t||r<0)break;Rt(u,t),jt(u,r)}for(l=u.length;l>0&&!u[l-1];l--);l=n>l+1?n:l+1,a=new Array(l),f=l<u.length?l:u.length;for(s=0;s<f;s++)a[s]=u[s];for(;s<l;s++)a[s]=0;return a}function Ot(e,t){var n;if(e[0]!=t)return 0;for(n=1;n<e.length;n++)if(e[n])return 0;return 1}function Mt(e,t){var n,r=e.length<t.length?e.length:t.length;for(n=0;n<r;n++)if(e[n]!=t[n])return 0;if(e.length>t.length){for(;n<e.length;n++)if(e[n])return 0}else for(;n<t.length;n++)if(t[n])return 0;return 1}function _t(e){var t;for(t=0;t<e.length;t++)if(e[t])return 0;return 1}function Dt(e,t){var n,r,s="";d.length!=e.length?d=Pt(e):Ht(d,e);if(t==-1){for(n=e.length-1;n>0;n--)s+=e[n]+",";s+=e[0]}else while(!_t(d))r=Ut(d,t),s=i.substring(r,r+1)+s;return s.length==0&&(s="0"),s}function Pt(e){var t,n;return n=new Array(e.length),Ht(n,e),n}function Ht(e,t){var n,r=e.length<t.length?e.length:t.length;for(n=0;n<r;n++)e[n]=t[n];for(n=r;n<e.length;n++)e[n]=0}function Bt(e,n){var i,s;for(s=n,i=0;i<e.length;i++)e[i]=s&r,s>>=t}function jt(e,t){var i,s,o,u;e[0]+=t,s=e.length,o=0;for(i=0;i<s;i++){o+=e[i],u=0,o<0&&(u=o&r,u=-((o-u)/n),o+=u*n),e[i]=o&r,o=(o-e[i])/n-u;if(!o)return}}function Ft(e,n){var i,s=Math.floor(n/t);if(s){for(i=0;i<e.length-s;i++)e[i]=e[i+s];for(;i<e.length;i++)e[i]=0;n%=t}for(i=0;i<e.length-1;i++)e[i]=r&(e[i+1]<<t-n|e[i]>>n);e[i]>>=n}function It(e){var i;for(i=0;i<e.length-1;i++)e[i]=r&(e[i+1]<<t-1|e[i]>>1);e[i]=e[i]>>1|e[i]&n>>1}function qt(e,n){var i,s=Math.floor(n/t);if(s){for(i=e.length;i>=s;i--)e[i]=e[i-s];for(;i>=0;i--)e[i]=0;n%=t}if(!n)return;for(i=e.length-1;i>0;i--)e[i]=r&(e[i]<<n|e[i-1]>>t-n);e[i]=r&e[i]<<n}function Rt(e,t){var i,s,o,u;if(!t)return;s=e.length,o=0;for(i=0;i<s;i++)o+=e[i]*t,u=0,o<0&&(u=o&r,u=-((o-u)/n),o+=u*n),e[i]=o&r,o=(o-e[i])/n-u}function Ut(e,t){var r,i=0,s;for(r=e.length-1;r>=0;r--)s=i*n+e[r],e[r]=Math.floor(s/t),i=s%t;return i}function zt(e,t,i,s){var o,u,a,f;a=e.length<t.length?e.length:t.length,f=e.length;for(u=0,o=0;o<a;o++)u+=i*e[o]+s*t[o],e[o]=u&r,u=(u-e[o])/n;for(o=a;o<f;o++)u+=i*e[o],e[o]=u&r,u=(u-e[o])/n}function Wt(e,t,i,s){var o,u,a,f;a=e.length<s+t.length?e.length:s+t.length,f=e.length;for(u=0,o=s;o<a;o++)u+=e[o]+i*t[o-s],e[o]=u&r,u=(u-e[o])/n;for(o=a;u&&o<f;o++)u+=e[o],e[o]=u&r,u=(u-e[o])/n}function Xt(e,t,i){var s,o,u,a;u=e.length<i+t.length?e.length:i+t.length,a=e.length;for(o=0,s=i;s<u;s++)o+=e[s]+t[s-i],e[s]=o&r,o=(o-e[s])/n;for(s=u;o&&s<a;s++)o+=e[s],e[s]=o&r,o=(o-e[s])/n}function Vt(e,t,i){var s,o,u,a;u=e.length<i+t.length?e.length:i+t.length,a=e.length;for(o=0,s=i;s<u;s++)o+=e[s]-t[s-i],e[s]=o&r,o=(o-e[s])/n;for(s=u;o&&s<a;s++)o+=e[s],e[s]=o&r,o=(o-e[s])/n}function $t(e,t){var i,s,o,u;o=e.length<t.length?e.length:t.length;for(s=0,i=0;i<o;i++)s+=e[i]-t[i],e[i]=s&r,s=(s-e[i])/n;for(i=o;s&&i<e.length;i++)s+=e[i],e[i]=s&r,s=(s-e[i])/n}function Jt(e,t){var i,s,o,u;o=e.length<t.length?e.length:t.length;for(s=0,i=0;i<o;i++)s+=e[i]+t[i],e[i]=s&r,s=(s-e[i])/n;for(i=o;s&&i<e.length;i++)s+=e[i],e[i]=s&r,s=(s-e[i])/n}function Kt(e,t){var n;u.length!=2*e.length&&(u=new Array(2*e.length)),Bt(u,0);for(n=0;n<t.length;n++)t[n]&&Wt(u,e,t[n],n);Ht(e,u)}function Qt(e,t){h.length!=e.length?h=Pt(e):Ht(h,e),p.length!=e.length&&(p=Pt(e)),Nt(h,t,p,e)}function Gt(e,t,n){var r;a.length!=2*e.length&&(a=new Array(2*e.length)),Bt(a,0);for(r=0;r<t.length;r++)t[r]&&Wt(a,e,t[r],r);Qt(a,n),Ht(e,a)}function Yt(e,t){var i,s,o,u,f,l,c;for(f=e.length;f>0&&!e[f-1];f--);c=f>t.length?2*f:2*t.length,a.length!=c&&(a=new Array(c)),Bt(a,0);for(i=0;i<f;i++){u=a[2*i]+e[i]*e[i],a[2*i]=u&r,u=(u-a[2*i])/n;for(s=i+1;s<f;s++)u=a[i+s]+2*e[i]*e[s]+u,a[i+s]=u&r,u=(u-a[i+s])/n;a[i+f]=u}Qt(a,t),Ht(e,a)}function Zt(e,t){var n,r;for(n=e.length;n>0&&!e[n-1];n--);return r=new Array(n+t),Ht(r,e),r}function en(e,r,i){var o,u,a,f;v.length!=i.length&&(v=Pt(i));if((i[0]&1)==0){Ht(v,e),Bt(e,1);while(!Ot(r,0))r[0]&1&&Gt(e,v,i),Ut(r,2),Yt(v,i);return}Bt(v,0);for(a=i.length;a>0&&!i[a-1];a--);f=n-bt(kt(i,n),n),v[a]=1,Gt(e,v,i),c.length!=e.length?c=Pt(e):Ht(c,e);for(o=r.length-1;o>0&!r[o];o--);if(r[o]==0){Bt(e,1);return}for(u=1<<t-1;u&&!(r[o]&u);u>>=1);for(;;){if(!(u>>=1)){o--;if(o<0){tn(e,s,i,f);return}u=1<<t-1}tn(e,e,i,f),u&r[o]&&tn(e,c,i,f)}}function tn(e,t,i,s){var o,u,a,f,l,c,h,p=i.length,d=t.length;g.length!=p&&(g=new Array(p)),Bt(g,0);for(;p>0&&i[p-1]==0;p--);for(;d>0&&t[d-1]==0;d--);h=g.length-1;for(o=0;o<p;o++){l=g[0]+e[o]*t[0],f=(l&r)*s&r,a=l+f*i[0],a=(a-(a&r))/n,l=e[o],u=1;for(;u<d-4;)a+=g[u]+f*i[u]+l*t[u],c=g[u-1]=a&r,a=(a-c)/n,u++,a+=g[u]+f*i[u]+l*t[u],c=g[u-1]=a&r,a=(a-c)/n,u++,a+=g[u]+f*i[u]+l*t[u],c=g[u-1]=a&r,a=(a-c)/n,u++,a+=g[u]+f*i[u]+l*t[u],c=g[u-1]=a&r,a=(a-c)/n,u++,a+=g[u]+f*i[u]+l*t[u],c=g[u-1]=a&r,a=(a-c)/n,u++;for(;u<d;)a+=g[u]+f*i[u]+l*t[u],c=g[u-1]=a&r,a=(a-c)/n,u++;for(;u<p-4;)a+=g[u]+f*i[u],c=g[u-1]=a&r,a=(a-c)/n,u++,a+=g[u]+f*i[u],c=g[u-1]=a&r,a=(a-c)/n,u++,a+=g[u]+f*i[u],c=g[u-1]=a&r,a=(a-c)/n,u++,a+=g[u]+f*i[u],c=g[u-1]=a&r,a=(a-c)/n,u++,a+=g[u]+f*i[u],c=g[u-1]=a&r,a=(a-c)/n,u++;for(;u<p;)a+=g[u]+f*i[u],c=g[u-1]=a&r,a=(a-c)/n,u++;for(;u<h;)a+=g[u],c=g[u-1]=a&r,a=(a-c)/n,u++;g[u-1]=a&r}Tt(i,g)||$t(g,i),Ht(e,g)}function nn(e,t,n){return ht(e,ct(t,n),n)}function rn(e,t,n){return e=st(e,n),t=st(t,n),Tt(t,e)&&(e=lt(e,n)),ft(e,t)}function sn(e){var n=Math.floor(e/t)+2,r=new Array(n);for(var i=0;i<n;i++)r[i]=0;return r[n-2]=1<<e%t,r}function un(e,t){t||(t=0),e=Pt(e);var n="";while(!_t(e))n=on[e[0]&255]+n,Ft(e,8);while(n.length<t)n="\0"+n;return n}function an(e){var t=At("0",10,e.length);return e.forEach(function(e,n){n&&qt(t,8),t[0]|=e}),t}function ln(){return fn(40)}function cn(){return fn(1)[0]}function hn(e){if(e>31)throw new Error("Too many bits.");var t=0,n=0,r=Math.floor(e/8),i=(1<<e%8)-1;i&&(n=cn()&i);for(;t<r;t++)n=256*n+cn();return n}var t=26,n=1<<t,r=n-1,i="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_=!@#$%^&*()[]{}|;:,.<>/?`~ \\'\"+-",s=Lt(1,1,1),o=new Array(0),u=o,a=o,f=o,l=o,c=o,h=o,p=o,d=o,v=o,m=o,g=o,y=o,b=o,w=o,E=o,S=o,x=o,T=o,N=o,C=o,k=o,L=o,A=o,O=o,M=o,_=o,D=o,P=o,H=o,B=o,j=o,F=o,I=o,q=o,R=o,U=o,z=o,W=o,X=o,V=o,$=o,J=o,K=o,Q=o,on=function(){var e=0,t={};for(;e<256;++e)t[e]=String.fromCharCode(e);return t}(),fn=function(){if(typeof e!="undefined"&&typeof e.randomBytes=="function")return function(t){try{var n=e.randomBytes(t)}catch(r){throw r}return Array.prototype.slice.call(n,0)};if(typeof e!="undefined"&&typeof e.getRandomValues=="function")return function(t){var n=new Uint8Array(t);return e.getRandomValues(n),Array.prototype.slice.call(n,0)};console.log("Keys should not be generated without CSPRNG.");return}();return{str2bigInt:At,bigInt2str:Dt,int2bigInt:Lt,multMod:ht,powMod:at,inverseMod:ct,randBigInt:dt,randBigInt_:vt,equals:Mt,equalsInt:Ot,sub:ft,mod:st,modInt:kt,mult:ut,divInt_:Ut,rightShift_:Ft,dup:Pt,greater:Tt,add:lt,isZero:_t,bitSize:et,millerRabin:Z,divide_:Nt,trim:Zt,primes:P,findPrimes:G,getSeed:ln,divMod:nn,subMod:rn,twoToThe:sn,bigInt2bits:un,ba2bigInt:an}}),function(){"use strict";function e(){}function n(e,t){var n=e.length;while(n--)if(e[n].listener===t)return n;return-1}function r(e){return function(){return this[e].apply(this,arguments)}}var t=e.prototype;t.getListeners=function(t){var n=this._getEvents(),r,i;if(typeof t=="object"){r={};for(i in n)n.hasOwnProperty(i)&&t.test(i)&&(r[i]=n[i])}else r=n[t]||(n[t]=[]);return r},t.flattenListeners=function(t){var n=[],r;for(r=0;r<t.length;r+=1)n.push(t[r].listener);return n},t.getListenersAsObject=function(t){var n=this.getListeners(t),r;return n instanceof Array&&(r={},r[t]=n),r||n},t.addListener=function(t,r){var i=this.getListenersAsObject(t),s=typeof r=="object",o;for(o in i)i.hasOwnProperty(o)&&n(i[o],r)===-1&&i[o].push(s?r:{listener:r,once:!1});return this},t.on=r("addListener"),t.addOnceListener=function(t,n){return this.addListener(t,{listener:n,once:!0})},t.once=r("addOnceListener"),t.defineEvent=function(t){return this.getListeners(t),this},t.defineEvents=function(t){for(var n=0;n<t.length;n+=1)this.defineEvent(t[n]);return this},t.removeListener=function(t,r){var i=this.getListenersAsObject(t),s,o;for(o in i)i.hasOwnProperty(o)&&(s=n(i[o],r),s!==-1&&i[o].splice(s,1));return this},t.off=r("removeListener"),t.addListeners=function(t,n){return this.manipulateListeners(!1,t,n)},t.removeListeners=function(t,n){return this.manipulateListeners(!0,t,n)},t.manipulateListeners=function(t,n,r){var i,s,o=t?this.removeListener:this.addListener,u=t?this.removeListeners:this.addListeners;if(typeof n!="object"||n instanceof RegExp){i=r.length;while(i--)o.call(this,n,r[i])}else for(i in n)n.hasOwnProperty(i)&&(s=n[i])&&(typeof s=="function"?o.call(this,i,s):u.call(this,i,s));return this},t.removeEvent=function(t){var n=typeof t,r=this._getEvents(),i;if(n==="string")delete r[t];else if(n==="object")for(i in r)r.hasOwnProperty(i)&&t.test(i)&&delete r[i];else delete this._events;return this},t.emitEvent=function(t,n){var r=this.getListenersAsObject(t),i,s,o,u;for(o in r)if(r.hasOwnProperty(o)){s=r[o].length;while(s--)i=r[o][s],i.once===!0&&this.removeListener(t,i.listener),u=i.listener.apply(this,n||[]),u===this._getOnceReturnValue()&&this.removeListener(t,i.listener)}return this},t.trigger=r("emitEvent"),t.emit=function(t){var n=Array.prototype.slice.call(arguments,1);return this.emitEvent(t,n)},t.setOnceReturnValue=function(t){return this._onceReturnValue=t,this},t._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},t._getEvents=function(){return this._events||(this._events={})},typeof define=="function"&&define.amd?define("eventemitter",[],function(){return e}):typeof module=="object"&&module.exports?module.exports=e:this.EventEmitter=e}.call(this),function(e,t){typeof define=="function"&&define.amd?define("otr",["jquery","jquery.browser","bigint","crypto","eventemitter"],function(e,n,r,i,s){if(e.browser.msie)return undefined;var o={BigInt:r,CryptoJS:i,EventEmitter:s,OTR:{},DSA:{}};return t.call(o)}):(e.OTR={},e.DSA={},t.call(e))}(this,function(){return function(){"use strict";var e=this,t={N:"FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA237327FFFFFFFFFFFFFFFF",G:"2",MSGSTATE_PLAINTEXT:0,MSGSTATE_ENCRYPTED:1,MSGSTATE_FINISHED:2,AUTHSTATE_NONE:0,AUTHSTATE_AWAITING_DHKEY:1,AUTHSTATE_AWAITING_REVEALSIG:2,AUTHSTATE_AWAITING_SIG:3,WHITESPACE_TAG:"                                                             ",WHITESPACE_TAG_V2:"                          ",WHITESPACE_TAG_V3:"                                  ",OTR_TAG:"?OTR",OTR_VERSION_1:"\0\ 1",OTR_VERSION_2:"\0\ 2",OTR_VERSION_3:"\0\ 3",SMPSTATE_EXPECT0:0,SMPSTATE_EXPECT1:1,SMPSTATE_EXPECT2:2,SMPSTATE_EXPECT3:3,SMPSTATE_EXPECT4:4,STATUS_SEND_QUERY:0,STATUS_AKE_INIT:1,STATUS_AKE_SUCCESS:2,STATUS_END_OTR:3};typeof module!="undefined"&&module.exports?module.exports=t:e.OTR.CONST=t}.call(this),function(){"use strict";var e=this,t={},n,r;typeof module!="undefined"&&module.exports?(module.exports=t={},n=require("../vendor/crypto.js"),r=require("../vendor/bigint.js")):(e.OTR&&(e.OTR.HLP=t),e.DSA&&(e.DSA.HLP=t),n=e.CryptoJS,r=e.BigInt);var i={BYTE:1,SHORT:2,INT:4,CTR:8,MAC:20,SIG:40},s="?OTR",o=".",u=r.str2bigInt("2",10);t.debug=function(e){this.debug&&typeof this.debug!="function"&&typeof console!="undefined"&&console.log(e)},t.extend=function(e,t){function r(){this.constructor=e}for(var n in t)Object.hasOwnProperty.call(t,n)&&(e[n]=t[n]);r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype},t.compare=function(e,t){if(e.length!==t.length)return!1;var n=0,r=0;for(;n<e.length;n++)r|=e[n].charCodeAt(0)^t[n].charCodeAt(0);return r===0},t.randomExponent=function(){return r.randBigInt(1536)},t.smpHash=function(e,r,s){var o=n.algo.SHA256.create();o.update(n.enc.Latin1.parse(t.packBytes(e,i.BYTE))),o.update(n.enc.Latin1.parse(t.packMPI(r))),s&&o.update(n.enc.Latin1.parse(t.packMPI(s)));var u=o.finalize();return t.bits2bigInt(u.toString(n.enc.Latin1))},t.makeMac=function(e,r){var i=n.enc.Latin1.parse(r),s=n.HmacSHA256(n.enc.Latin1.parse(e),i);return t.mask(s.toString(n.enc.Latin1),0,160)},t.make1Mac=function(e,t){var r=n.enc.Latin1.parse(t),i=n.HmacSHA1(n.enc.Latin1.parse(e),r);return i.toString(n.enc.Latin1)},t.encryptAes=function(e,t,r){var i={mode:n.mode.CTR,iv:n.enc.Latin1.parse(r),padding:n.pad.NoPadding},s=n.AES.encrypt(e,n.enc.Latin1.parse(t),i),o=n.enc.Base64.parse(s.toString());return n.enc.Latin1.stringify(o)},t.decryptAes=function(e,t,r){e=n.enc.Latin1.parse(e);var i={mode:n.mode.CTR,iv:n.enc.Latin1.parse(r),padding:n.pad.NoPadding};return n.AES.decrypt(n.enc.Base64.stringify(e),n.enc.Latin1.parse(t),i)},t.multPowMod=function(e,t,n,i,s){return r.multMod(r.powMod(e,t,s),r.powMod(n,i,s),s)},t.ZKP=function(e,n,i,s){return r.equals(n,t.smpHash(e,i,s))},t.GTOE=function(e,t){return r.equals(e,t)||r.greater(e,t)},t.between=function(e,t,n){return r.greater(e,t)&&r.greater(n,e)},t.checkGroup=function(e,n){return t.GTOE(e,u)&&t.GTOE(n,e)},t.h1=function(e,t){var r=n.algo.SHA1.create();return r.update(n.enc.Latin1.parse(e)),r.update(n.enc.Latin1.parse(t)),r.finalize().toString(n.enc.Latin1)},t.h2=function(e,t){var r=n.algo.SHA256.create();return r.update(n.enc.Latin1.parse(e)),r.update(n.enc.Latin1.parse(t)),r.finalize().toString(n.enc.Latin1)},t.mask=function(e,t,n){return e.substr(t/8,n/8)};var a=String.fromCharCode;t.packBytes=function(e,t){e=e.toString(16);var n,r="";for(;t>0;t--)n=e.length?e.substr(-2,2):"0",e=e.substr(0,e.length-2),r=a(parseInt(n,16))+r;return r},t.packINT=function(e){return t.packBytes(e,i.INT)},t.packCtr=function(e){return t.padCtr(t.packBytes(e,i.CTR))},t.padCtr=function(e){return e+"\0\0\0\0\0\0\0\0"},t.unpackCtr=function(e){return e=t.toByteArray(e.substring(0,8)),t.unpack(e)},t.unpack=function(e){var t=0,n=0,r=e.length;for(;n<r;n++)t=t*256+e[n];return t},t.packData=function(e){return t.packINT(e.length)+e},t.bits2bigInt=function(e){return e=t.toByteArray(e),r.ba2bigInt(e)},t.packMPI=function(e){return t.packData(r.bigInt2bits(r.trim(e,0)))},t.packSHORT=function(e){return t.packBytes(e,i.SHORT)},t.unpackSHORT=function(e){return e=t.toByteArray(e),t.unpack(e)},t.packTLV=function(e,n){return t.packSHORT(e)+t.packSHORT(n.length)+n},t.readLen=function(e){return e=t.toByteArray(e.substring(0,4)),t.unpack(e)},t.readData=function(e){var n=t.unpack(e.splice(0,4));return[n,e]},t.readMPI=function(e){return e=t.toByteArray(e),e=t.readData(e),r.ba2bigInt(e[1])},t.packMPIs=function(e){return e.reduce(function(e,n){return e+t.packMPI(n)},"")},t.unpackMPIs=function(e,n){var r=0,i=[];for(;r<e;r++)i.push("MPI");return t.splitype(i,n).map(function(e){return t.readMPI(e)})},t.wrapMsg=function(e,r,i,u,a){e=n.enc.Base64.stringify(n.enc.Latin1.parse(e)),e=s+":"+e+o;var f;i&&(f="|",f+=t.readLen(u).toString(16),f+="|",f+=t.readLen(a).toString(16));if(!r)return[null,e];var l=Math.ceil(e.length/r);if(l>65535)return["Too many fragments"];if(l==1)return[null,e];var c,h,p,d,v,m=[];for(c=1;c<=l;c++)h=(c-1)*r,p=c*r,d=e.slice(h,p),v=s,i&&(v+=f),v+=","+c+",",v+=l+",",v+=d+",",m.push(v);return[null,m]},t.splitype=function l(e,n){var r=[];return e.forEach(function(e){var s;switch(e){case"PUBKEY":s=l(["SHORT","MPI","MPI","MPI","MPI"],n).join("");break;case"DATA":case"MPI":s=n.substring(0,t.readLen(n)+4);break;default:s=n.substring(0,i[e])}r.push(s),n=n.substring(s.length)}),r};var f=function(){var e=0,t={};for(;e<256;++e)t[String.fromCharCode(e)]=e;for(e=128;e<256;++e)t[String.fromCharCode(63232+e)]=e;return t}();t.toByteArray=function(e){var t=[],n=e.split(""),r=-1,i=n.length,s=i%8;while(s--)++r,t[r]=f[n[r]];s=i>>3;while(s--)t.push(f[n[++r]],f[n[++r]],f[n[++r]],f[n[++r]],f[n[++r]],f[n[++r]],f[n[++r]],f[n[++r]]);return t}}.call(this),function(){"use strict";function c(){var e=(new Date).getTime();return function(t){if(!l||typeof console=="undefined")return;var n=(new Date).getTime();console.log(t+": "+(n-e)),e=n}}function h(e,t){var r=n.randBigInt(n.bitSize(t));return s.between(r,e,t)?r:h(e,t)}function d(e,t){var r,i=3e4,s=n.bitSize(e),o=n.primes;o.length===0&&(o=n.findPrimes(i)),p.length!=e.length&&(p=n.dup(e));for(r=0;r<o.length&&o[r]<=i;r++)if(n.modInt(e,o[r])===0&&!n.equalsInt(e,o[r]))return 0;for(r=0;r<t;r++){n.randBigInt_(p,s,0);while(!n.greater(e,p))n.randBigInt_(p,s,0);if(!n.millerRabin(e,p))return 0}return 1}function g(e){var t=c(),r=v[e].repeat,i=v[e].N,s=n.twoToThe(e-1),o=4*e,f=!1,l,h,p,g;for(;;){l=n.randBigInt(i,1),l[0]|=1;if(!d(l,r))continue;t("q");for(g=0;g<o;g++){h=n.randBigInt(e,1),h[0]|=1,p=n.mod(h,l),p=n.sub(p,u),h=n.sub(h,p);if(n.greater(s,h))continue;if(!d(h,r))continue;t("p"),m[e]={p:h,q:l},f=!0;break}if(f)break}var y=n.dup(a),b=n.sub(h,u),w=n.multMod(b,n.inverseMod(l,h),h),E;for(;;){E=n.powMod(y,w,h);if(n.equals(E,u)){y=n.add(y,u);continue}m[e].g=E,t("g");return}throw new Error("Unreachable!")}function y(e,t){if(!(this instanceof y))return new y(e,t);t=t||{};if(e){var r=this;["p","q","g","y","x"].forEach(function(t){r[t]=e[t]}),this.type=e.type||f;return}var i=parseInt(t.bit_length?t.bit_length:1024,10);if(!v[i])throw new Error("Unsupported bit length.");m[i]||g(i),this.p=m[i].p,this.q=m[i].q,this.g=m[i].g,this.type=f,this.x=h(o,this.q),this.y=n.powMod(this.g,this.x,this.p),t.nocache&&(m[i]=null)}function b(e){var t,n;t=e.indexOf("("),n=e.lastIndexOf(")");if(t<0||n<0)throw new Error("Malformed S-Expression");e=e.substring(t+1,n);var r=e.search(/\s/),i={type:e.substring(0,r),val:[]};e=e.substring(r+1,n),t=e.indexOf("(");if(t<0)i.val.push(e);else{var s,o,u,a;while(t>-1){s=t+1,o=e.length;for(u=1,a=0;s<o&&a<u;s++)e[s]==="("&&u++,e[s]===")"&&a++;i.val.push(b(e.substring(t,++s))),e=e.substring(++s),t=e.indexOf("(")}}return i}function w(e){if(!e.type)throw new Error("Parse error.");var t,r;return e.type==="privkeys"?(t=[],e.val.forEach(function(e){t.push(w(e))}),t):(t={},e.val.forEach(function(e){r=e.val[0],typeof r=="string"?r.indexOf("#")===0&&(r=r.substring(1,r.lastIndexOf("#")),r=n.str2bigInt(r,16)):r=w(e),t[e.type]=r}),t)}var e=this,t,n,r,i,s;typeof module!="undefined"&&module.exports?(module.exports=y,t=require("../vendor/crypto.js"),n=require("../vendor/bigint.js"),i=require("path").join(__dirname,"/dsa-webworker.js"),s=require("./helpers.js")):(Object.keys(e.DSA).forEach(function(t){y[t]=e.DSA[t]}),e.DSA=y,t=e.CryptoJS,n=e.BigInt,r=e.Worker,i="dsa-webworker.js",s=y.HLP);var o=n.str2bigInt("0",10),u=n.str2bigInt("1",10),a=n.str2bigInt("2",10),f="\0\0",l=!1,p=[],v={1024:{N:160,repeat:40},2048:{N:224,repeat:56}},m={};y.prototype={constructor:y,packPublic:function(){var e=this.type;return e+=s.packMPI(this.p),e+=s.packMPI(this.q),e+=s.packMPI(this.g),e+=s.packMPI(this.y),e},packPrivate:function(){var e=this.packPublic()+s.packMPI(this.x);return e=t.enc.Latin1.parse(e),e.toString(t.enc.Base64)},generateNonce:function(e){var r=n.bigInt2bits(n.trim(this.x,0)),i=n.bigInt2bits(n.randBigInt(256)),u=t.algo.SHA256.create();u.update(t.enc.Latin1.parse(r)),u.update(e),u.update(t.enc.Latin1.parse(i));var a=u.finalize();return a=s.bits2bigInt(a.toString(t.enc.Latin1)),n.rightShift_(a,256-n.bitSize(this.q)),s.between(a,o,this.q)?a:this.generateNonce(e)},sign:function(e){e=t.enc.Latin1.parse(e);var r=n.str2bigInt(e.toString(t.enc.Hex),16),i,s=o,u=o;while(n.isZero(u)||n.isZero(s)){i=this.generateNonce(e),s=n.mod(n.powMod(this.g,i,this.p),this.q);if(n.isZero(s))continue;u=n.inverseMod(i,this.q),u=n.mult(u,n.add(r,n.mult(this.x,s))),u=n.mod(u,this.q)}return[s,u]},fingerprint:function(){var e=this.packPublic();return this.type===f&&(e=e.substring(2)),e=t.enc.Latin1.parse(e),t.SHA1(e).toString(t.enc.Hex)}},y.parsePublic=function(e,t){var n=["SHORT","MPI","MPI","MPI","MPI"];t&&n.push("MPI"),e=s.splitype(n,e);var r={type:e[0],p:s.readMPI(e[1]),q:s.readMPI(e[2]),g:s.readMPI(e[3]),y:s.readMPI(e[4])};return t&&(r.x=s.readMPI(e[5])),new y(r)},y.parsePrivate=function(e,n){return n?w(b(e))[0]["private-key"].dsa:(e=t.enc.Base64.parse(e),e=e.toString(t.enc.Latin1),y.parsePublic(e,!0))},y.verify=function(e,r,i,u){if(!s.between(i,o,e.q)||!s.between(u,o,e.q))return!1;var a=t.enc.Latin1.parse(r);a=n.str2bigInt(a.toString(t.enc.Hex),16);var f=n.inverseMod(u,e.q),l=n.multMod(a,f,e.q),c=n.multMod(i,f,e.q);l=n.powMod(e.g,l,e.p),c=n.powMod(e.y,c,e.p);var h=n.mod(n.multMod(l,c,e.p),e.q);return n.equals(h,i)},y.createInWebWorker=function(e,t){var s={path:i,seed:n.getSeed};e&&typeof e=="object"&&Object.keys(e).forEach(function(t){s[t]=e[t]}),typeof module!="undefined"&&module.exports&&(r=require("webworker-threads").Worker);var o=new r(s.path);o.onmessage=function(e){var n=e.data;switch(n.type){case"debug":if(!l||typeof console=="undefined")return;console.log(n.val);break;case"data":o.terminate(),t(y.parsePrivate(n.val));break;default:throw new Error("Unrecognized type.")}},o.postMessage({seed:s.seed(),imports:s.imports,debug:l})}}.call(this),function(){"use strict";var e=this,t={},n,r,i;typeof module!="undefined"&&module.exports?(module.exports=t,n=require("../vendor/crypto.js"),r=require("./const.js"),i=require("./helpers.js")):(e.OTR.Parse=t,n=e.CryptoJS,r=e.OTR.CONST,i=e.OTR.HLP);var s={};s[r.WHITESPACE_TAG_V2]=r.OTR_VERSION_2,s[r.WHITESPACE_TAG_V3]=r.OTR_VERSION_3,t.parseMsg=function(e,t){var o=[],u=t.indexOf(r.OTR_TAG);if(!~u){this.initFragment(e),l=t.indexOf(r.WHITESPACE_TAG);if(~l){t=t.split(""),t.splice(l,16);var a,f=t.length;for(;l<f;){a=t.slice(l,l+8).join("");if(Object.hasOwnProperty.call(s,a)){t.splice(l,8),o.push(s[a]);continue}l+=8}t=t.join("")}return{msg:t,ver:o}}var l=u+r.OTR_TAG.length,c=t[l];if(c===","||c==="|")return this.msgFragment(e,t.substring(l+1),c==="|");this.initFragment(e);if(~["?","v"].indexOf(c)){t[l]==="?"&&(o.push(r.OTR_VERSION_1),l+=1);var h={2:r.OTR_VERSION_2,3:r.OTR_VERSION_3},p=t.substring(l+1),d=p.indexOf("?");return d>=1&&(p=p.substring(0,d).split(""),t[l]==="v"&&p.forEach(function(e){Object.hasOwnProperty.call(h,e)&&o.push(h[e])})),{cls:"query",ver:o}}if(c===":"){l+=1;var v=t.substring(l,l+4);if(v.length<4)return{msg:t};v=n.enc.Base64.parse(v).toString(n.enc.Latin1);var m=v.substring(0,2),g=v.substring(2);if(!e["ALLOW_V"+i.unpackSHORT(m)])return{msg:t};l+=4;var y=t.substring(l).indexOf(".");if(!~y)return{msg:t};t=n.enc.Base64.parse(t.substring(l,l+y)),t=n.enc.Latin1.stringify(t);var b;m===r.OTR_VERSION_3&&(b=t.substring(0,8),t=t.substring(8));var w;return~["\ 2","\n","\11","\12"].indexOf(g)?w="ake":g==="\ 3"&&(w="data"),{version:m,type:g,msg:t,cls:w,instance_tags:b}}return t.substring(l,l+7)===" Error:"?(e.ERROR_START_AKE&&e.sendQueryMsg(),{msg:t.substring(l+7),cls:"error"}):{msg:t}},t.initFragment=function(e){e.fragment={s:"",j:0,k:0}},t.msgFragment=function(e,t,n){t=t.split(",");if(n){var r=t.shift().split("|"),s=i.packINT(parseInt(r[0],16)),o=i.packINT(parseInt(r[1],16));if(e.checkInstanceTags(s+o))return}if(t.length<4||isNaN(parseInt(t[0],10))||isNaN(parseInt(t[1],10)))return;var u=parseInt(t[0],10),a=parseInt(t[1],10);t=t[2];if(a<u||a===0||u===0){this.initFragment(e);return}u===1?(this.initFragment(e),e.fragment={k:1,n:a,s:t}):a===e.fragment.n&&u===e.fragment.k+1?(e.fragment.s+=t,e.fragment.k+=1):this.initFragment(e);if(a===u)return t=e.fragment.s,this.initFragment(e),this.parseMsg(e,t);return}}.call(this),function(){"use strict";function a(e,n,r,s,o){var u=t.enc.Latin1.parse(o),a=t.algo.HMAC.create(t.algo.SHA256,u);return a.update(t.enc.Latin1.parse(i.packMPI(e))),a.update(t.enc.Latin1.parse(i.packMPI(n))),a.update(t.enc.Latin1.parse(r)),a.update(t.enc.Latin1.parse(s)),a.finalize().toString(t.enc.Latin1)}function f(e){if(!(this instanceof f))return new f(e);this.otr=e,this.our_dh=e.our_old_dh,this.our_keyid=e.our_keyid-1,this.their_y=null,this.their_keyid=null,this.their_priv_pk=null,this.ssid=null,this.transmittedRS=!1,this.r=null;var t=this;["sendMsg"].forEach(function(e){t[e]=t[e].bind(t)})}var e=this,t,n,r,i,s;typeof module!="undefined"&&module.exports?(module.exports=f,t=require("../vendor/crypto.js"),n=require("../vendor/bigint.js"),r=require("./const.js"),i=require("./helpers.js"),s=require("./dsa.js")):(e.OTR.AKE=f,t=e.CryptoJS,n=e.BigInt,r=e.OTR.CONST,i=e.OTR.HLP,s=e.DSA);var o=n.str2bigInt(r.N,16),u=n.sub(o,n.str2bigInt("2",10));f.prototype={constructor:f,createKeys:function(e){var t=n.powMod(e,this.our_dh.privateKey,o),r=i.packMPI(t);this.ssid=i.mask(i.h2("\0",r),0,64);var s=i.h2("\ 1",r);this.c=i.mask(s,0,128),this.c_prime=i.mask(s,128,128),this.m1=i.h2("\ 2",r),this.m2=i.h2("\ 3",r),this.m1_prime=i.h2("\ 4",r),this.m2_prime=i.h2("\ 5",r)},verifySignMac:function(e,n,r,o,u,f,l,c){var h=i.makeMac(n,r);if(!i.compare(e,h))return["MACs do not match."];var p=i.decryptAes(n.substring(4),o,c);p=i.splitype(["PUBKEY","INT","SIG"],p.toString(t.enc.Latin1));var d=a(u,f,p[0],p[1],l),v=s.parsePublic(p[0]),m=i.bits2bigInt(p[2].substring(0,20)),g=i.bits2bigInt(p[2].substring(20));return s.verify(v,d,m,g)?[null,i.readLen(p[1]),v]:["Cannot verify signature of m."]},makeM:function(e,r,s,o){var u=this.otr.priv.packPublic(),f=i.packINT(this.our_keyid),l=a(this.our_dh.publicKey,e,u,f,r);l=this.otr.priv.sign(l);var c=u+f;c+=n.bigInt2bits(l[0],20),c+=n.bigInt2bits(l[1],20),c=t.enc.Latin1.parse(c);var h=i.packData(i.encryptAes(c,s,i.packCtr(0))),p=i.makeMac(h,o);return h+p},akeSuccess:function(e){i.debug.call(this.otr,"success");if(n.equals(this.their_y,this.our_dh.publicKey))return this.otr.error("equal keys - we have a problem.",!0);this.otr.our_old_dh=this.our_dh,this.otr.their_priv_pk=this.their_priv_pk,this.their_keyid===this.otr.their_keyid&&n.equals(this.their_y,this.otr.their_y)||this.their_keyid===this.otr.their_keyid-1&&n.equals(this.their_y,this.otr.their_old_y)||(this.otr.their_y=this.their_y,this.otr.their_old_y=null,this.otr.their_keyid=this.their_keyid,this.otr.sessKeys[0]=[new this.otr.DHSession(this.otr.our_dh,this.otr.their_y),null],this.otr.sessKeys[1]=[new this.otr.DHSession(this.otr.our_old_dh,this.otr.their_y),null]),this.otr.ssid=this.ssid,this.otr.transmittedRS=this.transmittedRS,this.otr_version=e,this.otr.authstate=r.AUTHSTATE_NONE,this.otr.msgstate=r.MSGSTATE_ENCRYPTED,this.r=null,this.myhashed=null,this.dhcommit=null,this.encrypted=null,this.hashed=null,this.otr.trigger("status",[r.STATUS_AKE_SUCCESS]),this.otr.sendStored()},handleAKE:function(e){var s,o,a,f=e.version;switch(e.type){case"\ 2":i.debug.call(this.otr,"d-h key message"),e=i.splitype(["DATA","DATA"],e.msg);if(this.otr.authstate===r.AUTHSTATE_AWAITING_DHKEY){var l=i.readMPI(this.myhashed),c=i.readMPI(e[1]);if(n.greater(l,c)){a="\ 2",s=this.dhcommit;break}this.our_dh=this.otr.dh(),this.otr.authstate=r.AUTHSTATE_NONE,this.r=null,this.myhashed=null}else this.otr.authstate===r.AUTHSTATE_AWAITING_SIG&&(this.our_dh=this.otr.dh());this.otr.authstate=r.AUTHSTATE_AWAITING_REVEALSIG,this.encrypted=e[0].substring(4),this.hashed=e[1].substring(4),a="\n",s=i.packMPI(this.our_dh.publicKey);break;case"\n":i.debug.call(this.otr,"reveal signature message"),e=i.splitype(["MPI"],e.msg);if(this.otr.authstate!==r.AUTHSTATE_AWAITING_DHKEY){if(this.otr.authstate!==r.AUTHSTATE_AWAITING_SIG)return;if(!n.equals(this.their_y,i.readMPI(e[0])))return}this.otr.authstate=r.AUTHSTATE_AWAITING_SIG,this.their_y=i.readMPI(e[0]);if(!i.checkGroup(this.their_y,u))return this.otr.error("Illegal g^y.",!0);this.createKeys(this.their_y),a="\11",s=i.packMPI(this.r),s+=this.makeM(this.their_y,this.m1,this.c,this.m2),this.m1=null,this.m2=null,this.c=null;break;case"\11":i.debug.call(this.otr,"signature message");if(this.otr.authstate!==r.AUTHSTATE_AWAITING_REVEALSIG)return;e=i.splitype(["DATA","DATA","MAC"],e.msg),this.r=i.readMPI(e[0]);var h=t.enc.Hex.parse(n.bigInt2str(this.r,16));h=t.enc.Latin1.stringify(h);var p=i.decryptAes(this.encrypted,h,i.packCtr(0));p=p.toString(t.enc.Latin1),this.their_y=i.readMPI(p);var d=t.SHA256(t.enc.Latin1.parse(p));if(!i.compare(this.hashed,d.toString(t.enc.Latin1)))return this.otr.error("Hashed g^x does not match.",!0);if(!i.checkGroup(this.their_y,u))return this.otr.error("Illegal g^x.",!0);this.createKeys(this.their_y),o=this.verifySignMac(e[2],e[1],this.m2,this.c,this.their_y,this.our_dh.publicKey,this.m1,i.packCtr(0));if(o[0])return this.otr.error(o[0],!0);this.their_keyid=o[1],this.their_priv_pk=o[2],s=this.makeM(this.their_y,this.m1_prime,this.c_prime,this.m2_prime),this.m1=null,this.m2=null,this.m1_prime=null,this.m2_prime=null,this.c=null,this.c_prime=null,this.sendMsg(f,"\12",s),this.akeSuccess(f);return;case"\12":i.debug.call(this.otr,"data message");if(this.otr.authstate!==r.AUTHSTATE_AWAITING_SIG)return;e=i.splitype(["DATA","MAC"],e.msg),o=this.verifySignMac(e[1],e[0],this.m2_prime,this.c_prime,this.their_y,this.our_dh.publicKey,this.m1_prime,i.packCtr(0));if(o[0])return this.otr.error(o[0],!0);this.their_keyid=o[1],this.their_priv_pk=o[2],this.m1_prime=null,this.m2_prime=null,this.c_prime=null,this.transmittedRS=!0,this.akeSuccess(f);return;default:return}this.sendMsg(f,a,s)},sendMsg:function(e,t,n){var s=e+t,o=e===r.OTR_VERSION_3;o&&(i.debug.call(this.otr,"instance tags"),s+=this.otr.our_instance_tag,s+=this.otr.their_instance_tag),s+=n,s=i.wrapMsg(s,this.otr.fragment_size,o,this.otr.our_instance_tag,this.otr.their_instance_tag);if(s[0])return this.otr.error(s[0]);this.otr.io(s[1])},initiateAKE:function(e){i.debug.call(this.otr,"d-h commit message"),this.otr.trigger("status",[r.STATUS_AKE_INIT]),this.otr.authstate=r.AUTHSTATE_AWAITING_DHKEY;var s=i.packMPI(this.our_dh.publicKey);s=t.enc.Latin1.parse(s),this.r=n.randBigInt(128);var o=t.enc.Hex.parse(n.bigInt2str(this.r,16));o=t.enc.Latin1.stringify(o),this.myhashed=t.SHA256(s),this.myhashed=i.packData(this.myhashed.toString(t.enc.Latin1)),this.dhcommit=i.packData(i.encryptAes(s,o,i.packCtr(0))),this.dhcommit+=this.myhashed,this.sendMsg(e,"\ 2",this.dhcommit)}}}.call(this),function(){"use strict";function l(e){if(!(this instanceof l))return new l(e);this.version=1,this.our_fp=e.our_fp,this.their_fp=e.their_fp,this.ssid=e.ssid,this.debug=!!e.debug,this.init()}var e=this,t,n,r,i,s;typeof module!="undefined"&&module.exports?(module.exports=l,t=require("../vendor/crypto.js"),n=require("../vendor/bigint.js"),r=require("../vendor/eventemitter.js"),i=require("./const.js"),s=require("./helpers.js")):(e.OTR.SM=l,t=e.CryptoJS,n=e.BigInt,r=e.EventEmitter,i=e.OTR.CONST,s=e.OTR.HLP);var o=n.str2bigInt(i.G,10),u=n.str2bigInt(i.N,16),a=n.sub(u,n.str2bigInt("2",10)),f=n.sub(u,n.str2bigInt("1",10));n.divInt_(f,2),s.extend(l,r),l.prototype.init=function(){this.smpstate=i.SMPSTATE_EXPECT1,this.secret=null},l.prototype.makeSecret=function(e,n){var r=t.algo.SHA256.create();r.update(t.enc.Latin1.parse(s.packBytes(this.version,1))),r.update(t.enc.Hex.parse(e?this.our_fp:this.their_fp)),r.update(t.enc.Hex.parse(e?this.their_fp:this.our_fp)),r.update(t.enc.Latin1.parse(this.ssid)),r.update(t.enc.Latin1.parse(n));var i=r.finalize();this.secret=s.bits2bigInt(i.toString(t.enc.Latin1))},l.prototype.makeG2s=function(){this.a2=s.randomExponent(),this.a3=s.randomExponent(),this.g2a=n.powMod(o,this.a2,u),this.g3a=n.powMod(o,this.a3,u),(!s.checkGroup(this.g2a,a)||!s.checkGroup(this.g3a,a))&&this.makeG2s()},l.prototype.computeGs=function(e,t){this.g2=n.powMod(e,this.a2,u),this.g3=n.powMod(t,this.a3,u)},l.prototype.computePQ=function(e){this.p=n.powMod(this.g3,e,u),this.q=s.multPowMod(o,e,this.g2,this.secret,u)},l.prototype.computeR=function(){this.r=n.powMod(this.QoQ,this.a3,u)},l.prototype.computeRab=function(e){return n.powMod(e,this.a3,u)},l.prototype.computeC=function(e,t){return s.smpHash(e,n.powMod(o,t,u))},l.prototype.computeD=function(e,t,r){return n.subMod(e,n.multMod(t,r,f),f)},l.prototype.handleSM=function(e){var r,f,l,c,h,p,d,v,m,g,y,b,w,E,S={2:i.SMPSTATE_EXPECT1,3:i.SMPSTATE_EXPECT2,4:i.SMPSTATE_EXPECT3,5:i.SMPSTATE_EXPECT4,7:i.SMPSTATE_EXPECT1};if(e.type===6){this.init(),this.trigger("abort");return}if(this.smpstate!==S[e.type])return this.abort();switch(this.smpstate){case i.SMPSTATE_EXPECT1:s.debug.call(this,"smp tlv 2");var x,T;e.type===7&&(x=e.msg.indexOf("\0"),T=e.msg.substring(0,x),e.msg=e.msg.substring(x+1)),w=s.readLen(e.msg.substr(0,4));if(w!==6)return this.abort();e=s.unpackMPIs(6,e.msg.substring(4));if(!s.checkGroup(e[0],a)||!s.checkGroup(e[3],a))return this.abort();if(!s.ZKP(1,e[1],s.multPowMod(o,e[2],e[0],e[1],u)))return this.abort();if(!s.ZKP(2,e[4],s.multPowMod(o,e[5],e[3],e[4],u)))return this.abort();this.g3ao=e[3],this.makeG2s(),f=s.randomExponent(),l=s.randomExponent(),this.c2=this.computeC(3,f),this.c3=this.computeC(4,l),this.d2=this.computeD(f,this.a2,this.c2),this.d3=this.computeD(l,this.a3,this.c3),this.computeGs(e[0],e[3]),this.smpstate=i.SMPSTATE_EXPECT0,T=t.enc.Latin1.parse(T).toString(t.enc.Utf8),this.trigger("question",[T]);return;case i.SMPSTATE_EXPECT2:s.debug.call(this,"smp tlv 3"),w=s.readLen(e.msg.substr(0,4));if(w!==11)return this.abort();e=s.unpackMPIs(11,e.msg.substring(4));if(!s.checkGroup(e[0],a)||!s.checkGroup(e[3],a)||!s.checkGroup(e[6],a)||!s.checkGroup(e[7],a))return this.abort();if(!s.ZKP(3,e[1],s.multPowMod(o,e[2],e[0],e[1],u)))return this.abort();if(!s.ZKP(4,e[4],s.multPowMod(o,e[5],e[3],e[4],u)))return this.abort();this.g3ao=e[3],this.computeGs(e[0],e[3]),h=s.multPowMod(this.g3,e[9],e[6],e[8],u),p=s.multPowMod(o,e[9],this.g2,e[10],u),p=n.multMod(p,n.powMod(e[7],e[8],u),u);if(!s.ZKP(5,e[8],h,p))return this.abort();var C=s.randomExponent();this.computePQ(C);var k=s.randomExponent(),L=s.randomExponent(),A=s.multPowMod(o,k,this.g2,L,u),O=s.smpHash(6,n.powMod(this.g3,k,u),A),M=this.computeD(k,C,O),_=this.computeD(L,this.secret,O);this.QoQ=n.divMod(this.q,e[7],u),this.PoP=n.divMod(this.p,e[6],u),this.computeR(),c=s.randomExponent(),g=n.powMod(this.QoQ,c,u),y=s.smpHash(7,n.powMod(o,c,u),g),b=this.computeD(c,this.a3,y),this.smpstate=i.SMPSTATE_EXPECT4,r=s.packINT(8)+s.packMPIs([this.p,this.q,O,M,_,this.r,y,b]),r=s.packTLV(4,r);break;case i.SMPSTATE_EXPECT3:s.debug.call(this,"smp tlv 4"),w=s.readLen(e.msg.substr(0,4));if(w!==8)return this.abort();e=s.unpackMPIs(8,e.msg.substring(4));if(!s.checkGroup(e[0],a)||!s.checkGroup(e[1],a)||!s.checkGroup(e[5],a))return this.abort();h=s.multPowMod(this.g3,e[3],e[0],e[2],u),p=s.multPowMod(o,e[3],this.g2,e[4],u),p=n.multMod(p,n.powMod(e[1],e[2],u),u);if(!s.ZKP(6,e[2],h,p))return this.abort();d=s.multPowMod(o,e[7],this.g3ao,e[6],u),this.QoQ=n.divMod(e[1],this.q,u),v=s.multPowMod(this.QoQ,e[7],e[5],e[6],u);if(!s.ZKP(7,e[6],d,v))return this.abort();this.computeR(),c=s.randomExponent(),g=n.powMod(this.QoQ,c,u),y=s.smpHash(8,n.powMod(o,c,u),g),b=this.computeD(c,this.a3,y),r=s.packINT(3)+s.packMPIs([this.r,y,b]),r=s.packTLV(5,r),m=this.computeRab(e[5]),E=!!n.equals(m,n.divMod(e[0],this.p,u)),this.trigger("trust",[E,"answered"]),this.init();break;case i.SMPSTATE_EXPECT4:s.debug.call(this,"smp tlv 5"),w=s.readLen(e.msg.substr(0,4));if(w!==3)return this.abort();e=s.unpackMPIs(3,e.msg.substring(4));if(!s.checkGroup(e[0],a))return this.abort();d=s.multPowMod(o,e[2],this.g3ao,e[1],u),v=s.multPowMod(this.QoQ,e[2],e[0],e[1],u);if(!s.ZKP(8,e[1],d,v))return this.abort();m=this.computeRab(e[0]),E=!!n.equals(m,this.PoP),this.trigger("trust",[E,"asked"]),this.init();return}this.sendMsg(r)},l.prototype.sendMsg=function(e){this.trigger("send",[this.ssid,"\0"+e])},l.prototype.rcvSecret=function(e,t){s.debug.call(this,"receive secret");var n,r=!1;this.smpstate===i.SMPSTATE_EXPECT0?n=this.answer:(n=this.initiate,r=!0),this.makeSecret(r,e),n.call(this,t)},l.prototype.answer=function(){s.debug.call(this,"smp answer");var e=s.randomExponent();this.computePQ(e);var t=s.randomExponent(),r=s.randomExponent(),a=s.multPowMod(o,t,this.g2,r,u),f=s.smpHash(5,n.powMod(this.g3,t,u),a),l=this.computeD(t,e,f),c=this.computeD(r,this.secret,f);this.smpstate=i.SMPSTATE_EXPECT3;var h=s.packINT(11)+s.packMPIs([this.g2a,this.c2,this.d2,this.g3a,this.c3,this.d3,this.p,this.q,f,l,c]);this.sendMsg(s.packTLV(3,h))},l.prototype.initiate=function(e){s.debug.call(this,"smp initiate"),this.smpstate!==i.SMPSTATE_EXPECT1&&this.abort(),this.makeG2s();var t=s.randomExponent(),n=s.randomExponent();this.c2=this.computeC(1,t),this.c3=this.computeC(2,n),this.d2=this.computeD(t,this.a2,this.c2),this.d3=this.computeD(n,this.a3,this.c3),this.smpstate=i.SMPSTATE_EXPECT2;var r="",o=2;e&&(r+=e,r+="\0",o=7),r+=s.packINT(6)+s.packMPIs([this.g2a,this.c2,this.d2,this.g3a,this.c3,this.d3]),this.sendMsg(s.packTLV(o,r))},l.prototype.abort=function(){this.init(),this.sendMsg(s.packTLV(6,"")),this.trigger("abort")}}.call(this),function(){"use strict";function m(e){if(!(this instanceof m))return new m(e);e=e||{};if(!(!e.priv||e.priv instanceof c))throw new Error("Requires long-lived DSA key.");this.priv=e.priv?e.priv:new c,this.fragment_size=e.fragment_size||0;if(this.fragment_size<0)throw new Error("Fragment size must be a positive integer.");this.send_interval=e.send_interval||0;if(this.send_interval<0)throw new Error("Send interval must be a positive integer.");this.outgoing=[],this.our_instance_tag=e.instance_tag||m.makeInstanceTag(),this.debug=!!e.debug,this.smw=e.smw,this.init();var t=this;["sendMsg","receiveMsg"].forEach(function(e){t[e]=t[e].bind(t)}),r.call(this)}var e=this,t,n,r,i,s,o,u,a,f,l,c;typeof module!="undefined"&&module.exports?(module.exports=m,t=require("../vendor/crypto.js"),n=require("../vendor/bigint.js"),r=require("../vendor/eventemitter.js"),s=require("path").join(__dirname,"/sm-webworker.js"),o=require("./const.js"),u=require("./helpers.js"),a=require("./parse.js"),f=require("./ake.js"),l=require("./sm.js"),c=require("./dsa.js"),m.CONST=o):(Object.keys(e.OTR).forEach(function(t){m[t]=e.OTR[t]}),e.OTR=m,t=e.CryptoJS,n=e.BigInt,r=e.EventEmitter,i=e.Worker,s="sm-webworker.js",o=m.CONST,u=m.HLP,a=m.Parse,f=m.AKE,l=m.SM,c=e.DSA);var h=n.str2bigInt(o.G,10),p=n.str2bigInt(o.N,16),d=Math.pow(2,53)-1,v=Math.pow(2,31)-1;u.extend(m,r),m.prototype.init=function(){this.msgstate=o.MSGSTATE_PLAINTEXT,this.authstate=o.AUTHSTATE_NONE,this.ALLOW_V2=!0,this.ALLOW_V3=!0,this.REQUIRE_ENCRYPTION=!1,this.SEND_WHITESPACE_TAG=!1,this.WHITESPACE_START_AKE=!1,this.ERROR_START_AKE=!1,a.initFragment(this),this.their_y=null,this.their_old_y=null,this.their_keyid=0,this.their_priv_pk=null,this.their_instance_tag="\0\0\0\0",this.our_dh=this.dh(),this.our_old_dh=this.dh(),this.our_keyid=2,this.sessKeys=[new Array(2),new Array(2)],this.storedMgs=[],this.oldMacKeys=[],this.sm=null,this._akeInit(),this.receivedPlaintext=!1},m.prototype._akeInit=function(){this.ake=new f(this),this.transmittedRS=!1,this.ssid=null},m.prototype._SMW=function(e,t){this.otr=e;var r={path:s,seed:n.getSeed};typeof e.smw=="object"&&Object.keys(e.smw).forEach(function(t){r[t]=e.smw[t]}),typeof module!="undefined"&&module.exports&&(i=require("webworker-threads").Worker),this.worker=new i(r.path);var o=this;this.worker.onmessage=function(e){var t=e.data;if(!t)return;o.trigger(t.method,t.args)},this.worker.postMessage({type:"seed",seed:r.seed(),imports:r.imports}),this.worker.postMessage({type:"init",reqs:t})},u.extend(m.prototype._SMW,r),["handleSM","rcvSecret","abort"].forEach(function(e){m.prototype._SMW.prototype[e]=function(){this.worker.postMessage({type:"method",method:e,args:Array.prototype.slice.call(arguments,0)})}}),m.prototype._smInit=function(){var e={ssid:this.ssid,our_fp:this.priv.fingerprint(),their_fp:this.their_priv_pk.fingerprint(),debug:this.debug};this.smw?(this.sm&&this.sm.worker.terminate(),this.sm=new this._SMW(this,e)):this.sm=new l(e);var t=this;["trust","abort","question"].forEach(function(e){t.sm.on(e,function(){t.trigger("smp",[e].concat(Array.prototype.slice.call(arguments)))})}),this.sm.on("send",function(e,n){t.ssid===e&&(n=t.prepareMsg(n),t.io(n))})},m.prototype.io=function(e,t){e=[].concat(e).map(function(e){return{msg:e,meta:t}}),this.outgoing=this.outgoing.concat(e);var n=this;(function r(e){if(!e){if(!n.outgoing.length)return;var t=n.outgoing.shift();n.trigger("io",[t.msg,t.meta])}setTimeout(r,e?0:n.send_interval)})(!0)},m.prototype.dh=function(){var t={privateKey:n.randBigInt(320)};return t.publicKey=n.powMod(h,t.privateKey,p),t},m.prototype.DHSession=function g(e,r){if(!(this instanceof g))return new g(e,r);var i=n.powMod(r,e.privateKey,p),s=u.packMPI(i);this.id=u.mask(u.h2("\0",s),0,64);var o=n.greater(e.publicKey,r),a=o?"\ 1":"\ 2",f=o?"\ 2":"\ 1";this.sendenc=u.mask(u.h1(a,s),0,128),this.sendmac=t.SHA1(t.enc.Latin1.parse(this.sendenc)),this.sendmac=this.sendmac.toString(t.enc.Latin1),this.rcvenc=u.mask(u.h1(f,s),0,128),this.rcvmac=t.SHA1(t.enc.Latin1.parse(this.rcvenc)),this.rcvmac=this.rcvmac.toString(t.enc.Latin1),this.rcvmacused=!1,this.extra_symkey=u.h2("ÿ",s),this.send_counter=0,this.rcv_counter=0},m.prototype.rotateOurKeys=function(){var e=this;this.sessKeys[1].forEach(function(t){t&&t.rcvmacused&&e.oldMacKeys.push(t.rcvmac)}),this.our_old_dh=this.our_dh,this.our_dh=this.dh(),this.our_keyid+=1,this.sessKeys[1][0]=this.sessKeys[0][0],this.sessKeys[1][1]=this.sessKeys[0][1],this.sessKeys[0]=[this.their_y?new this.DHSession(this.our_dh,this.their_y):null,this.their_old_y?new this.DHSession(this.our_dh,this.their_old_y):null]},m.prototype.rotateTheirKeys=function(e){this.their_keyid+=1;var t=this;this.sessKeys.forEach(function(e){e[1]&&e[1].rcvmacused&&t.oldMacKeys.push(e[1].rcvmac)}),this.their_old_y=this.their_y,this.sessKeys[0][1]=this.sessKeys[0][0],this.sessKeys[1][1]=this.sessKeys[1][0],this.their_y=e,this.sessKeys[0][0]=new this.DHSession(this.our_dh,this.their_y),this.sessKeys[1][0]=new this.DHSession(this.our_old_dh,this.their_y)},m.prototype.prepareMsg=function(e,n){if(this.msgstate!==o.MSGSTATE_ENCRYPTED||this.their_keyid===0)return this.error("Not ready to encrypt.");var r=this.sessKeys[1][0];if(r.send_counter>=d)return this.error("Should have rekeyed by now.");r.send_counter+=1;var i=u.packCtr(r.send_counter),s=this.ake.otr_version+"\ 3",a=this.ake.otr_version===o.OTR_VERSION_3;a&&(s+=this.our_instance_tag,s+=this.their_instance_tag),s+="\0",s+=u.packINT(this.our_keyid-1),s+=u.packINT(this.their_keyid),s+=u.packMPI(this.our_dh.publicKey),s+=i.substring(0,8);if(Math.ceil(e.length/8)>=v)return this.error("Message is too long.");var f=u.encryptAes(t.enc.Latin1.parse(e),r.sendenc,i);return s+=u.packData(f),s+=u.make1Mac(s,r.sendmac),s+=u.packData(this.oldMacKeys.splice(0).join("")),s=u.wrapMsg(s,this.fragment_size,a,this.our_instance_tag,this.their_instance_tag),s[0]?this.error(s[0]):(n&&this.trigger("file",["send",r.extra_symkey,n]),s[1])},m.prototype.handleDataMsg=function(e){var n=e.version+e.type;this.ake.otr_version===o.OTR_VERSION_3&&(n+=e.instance_tags);var r=["BYTE","INT","INT","MPI","CTR","DATA","MAC","DATA"];e=u.splitype(r,e.msg);var i=e[0]==="\ 1";if(this.msgstate!==o.MSGSTATE_ENCRYPTED||e.length!==8){i||this.error("Received an unreadable encrypted message.",!0);return}var s=this.our_keyid-u.readLen(e[2]),a=this.their_keyid-u.readLen(e[1]);if(s<0||s>1){i||this.error("Not of our latest keys.",!0);return}if(a<0||a>1){i||this.error("Not of your latest keys.",!0);return}var f=a?this.their_old_y:this.their_y;if(a===1&&!f){i||this.error("Do not have that key.");return}var l=this.sessKeys[s][a],c=u.unpackCtr(e[4]);if(c<=l.rcv_counter){i||this.error("Counter in message is not larger.");return}l.rcv_counter=c,n+=e.slice(0,6).join("");var h=u.make1Mac(n,l.rcvmac);if(!u.compare(e[6],h)){i||this.error("MACs do not match.");return}l.rcvmacused=!0;var p=u.decryptAes(e[5].substring(4),l.rcvenc,u.padCtr(e[4]));p=p.toString(t.enc.Latin1),s||this.rotateOurKeys(),a||this.rotateTheirKeys(u.readMPI(e[3]));var d=p.indexOf("\0");return~d&&(this.handleTLVs(p.substring(d+1),l),p=p.substring(0,d)),p=t.enc.Latin1.parse(p),p.toString(t.enc.Utf8)},m.prototype.handleTLVs=function(e,n){var r,i,s;for(;e.length;){r=u.unpackSHORT(e.substr(0,2)),i=u.unpackSHORT(e.substr(2,2)),s=e.substr(4,i);if(s.length<i)break;switch(r){case 1:this.msgstate=o.MSGSTATE_FINISHED,this.trigger("status",[o.STATUS_END_OTR]);break;case 2:case 3:case 4:case 5:case 6:case 7:if(this.msgstate!==o.MSGSTATE_ENCRYPTED){this.sm&&this.sm.abort();return}this.sm||this._smInit(),this.sm.handleSM({msg:s,type:r});break;case 8:s=s.substring(4),s=t.enc.Latin1.parse(s),s=s.toString(t.enc.Utf8),this.trigger("file",["receive",n.extra_symkey,s])}e=e.substring(4+i)}},m.prototype.smpSecret=function(e,n){if(this.msgstate!==o.MSGSTATE_ENCRYPTED)return this.error("Must be encrypted for SMP.");if(typeof e!="string"||e.length<1)return this.error("Secret is required.");this.sm||this._smInit(),e=t.enc.Utf8.parse(e).toString(t.enc.Latin1),n=t.enc.Utf8.parse(n).toString(t.enc.Latin1),this.sm.rcvSecret(e,n)},m.prototype.sendQueryMsg=function(){var e={},t=o.OTR_TAG;this.ALLOW_V2&&(e[2]=!0),this.ALLOW_V3&&(e[3]=!0);var n=Object.keys(e);n.length&&(t+="v",n.forEach(function(e){e!=="1"&&(t+=e)}),t+="?"),this.io(t),this.trigger("status",[o.STATUS_SEND_QUERY])},m.prototype.sendMsg=function(e,n){if(this.REQUIRE_ENCRYPTION||this.msgstate!==o.MSGSTATE_PLAINTEXT)e=t.enc.Utf8.parse(e),e=e.toString(t.enc.Latin1);switch(this.msgstate){case o.MSGSTATE_PLAINTEXT:if(this.REQUIRE_ENCRYPTION){this.storedMgs.push({msg:e,meta:n}),this.sendQueryMsg();return}this.SEND_WHITESPACE_TAG&&!this.receivedPlaintext&&(e+=o.WHITESPACE_TAG,this.ALLOW_V3&&(e+=o.WHITESPACE_TAG_V3),this.ALLOW_V2&&(e+=o.WHITESPACE_TAG_V2));break;case o.MSGSTATE_FINISHED:this.storedMgs.push({msg:e,meta:n}),this.error("Message cannot be sent at this time.");return;case o.MSGSTATE_ENCRYPTED:e=this.prepareMsg(e);break;default:throw new Error("Unknown message state.")}e&&this.io(e,n)},m.prototype.receiveMsg=function(e){e=a.parseMsg(this,e);if(!e)return;switch(e.cls){case"error":this.error(e.msg);return;case"ake":if(e.version===o.OTR_VERSION_3&&this.checkInstanceTags(e.instance_tags))return;this.ake.handleAKE(e);return;case"data":if(e.version===o.OTR_VERSION_3&&this.checkInstanceTags(e.instance_tags))return;e.msg=this.handleDataMsg(e),e.encrypted=!0;break;case"query":this.msgstate===o.MSGSTATE_ENCRYPTED&&this._akeInit(),this.doAKE(e);break;default:(this.REQUIRE_ENCRYPTION||this.msgstate!==o.MSGSTATE_PLAINTEXT)&&this.error("Received an unencrypted message."),this.receivedPlaintext=!0,this.WHITESPACE_START_AKE&&e.ver.length>0&&this.doAKE(e)}e.msg&&this.trigger("ui",[e.msg,!!e.encrypted])},m.prototype.checkInstanceTags=function(e){var t=u.readLen(e.substr(0,4)),n=u.readLen(e.substr(4,4));if(n&&n!==u.readLen(this.our_instance_tag))return!0;if(u.readLen(this.their_instance_tag)){if(u.readLen(this.their_instance_tag)!==t)return!0}else{if(t<100)return!0;this.their_instance_tag=u.packINT(t)}},m.prototype.doAKE=function(e){this.ALLOW_V3&&~e.ver.indexOf(o.OTR_VERSION_3)?this.ake.initiateAKE(o.OTR_VERSION_3):this.ALLOW_V2&&~e.ver.indexOf(o.OTR_VERSION_2)?this.ake.initiateAKE(o.OTR_VERSION_2):this.error("OTR conversation requested, but no compatible protocol version found.")},m.prototype.error=function(e,t){if(t){this.debug||(e="An OTR error has occurred."),e="?OTR Error:"+e,this.io(e);return}this.trigger("error",[e])},m.prototype.sendStored=function(){var e=this;this.storedMgs.splice(0).forEach(function(t){var n=e.prepareMsg(t.msg);e.io(n,t.meta)})},m.prototype.sendFile=function(e){if(this.msgstate!==o.MSGSTATE_ENCRYPTED)return this.error("Not ready to encrypt.");if(this.ake.otr_version!==o.OTR_VERSION_3)return this.error("Protocol v3 required.");if(!e)return this.error("Please specify a filename.");var n=t.enc.Utf8.parse(e);n=n.toString(t.enc.Latin1);if(n.length>=65532)return this.error("filename is too long.");var r="\0";r+="\0\b",r+=u.packSHORT(4+n.length),r+="\0\0\0\ 1",r+=n,r=this.prepareMsg(r,e),this.io(r)},m.prototype.endOtr=function(){this.msgstate===o.MSGSTATE_ENCRYPTED&&(this.sendMsg("\0\0\ 1\0\0"),this.sm&&(this.smw&&this.sm.worker.terminate(),this.sm=null)),this.msgstate=o.MSGSTATE_PLAINTEXT,this.receivedPlaintext=!1,this.trigger("status",[o.STATUS_END_OTR])},m.makeInstanceTag=function(){var e=n.randBigInt(32);return n.greater(n.str2bigInt("100",16),e)?m.makeInstanceTag():u.packINT(parseInt(n.bigInt2str(e,10),10))}}.call(this),{OTR:this.OTR,DSA:this.DSA}}),function(e,t){typeof exports=="object"&&typeof module!="undefined"?module.exports=t():typeof define=="function"&&define.amd?define("moment",t):e.moment=t()}(this,function(){"use strict";function t(){return e.apply(null,arguments)}function n(t){e=t}function r(e){return Object.prototype.toString.call(e)==="[object Array]"}function i(e){return e instanceof Date||Object.prototype.toString.call(e)==="[object Date]"}function s(e,t){var n=[],r;for(r=0;r<e.length;++r)n.push(t(e[r],r));return n}function o(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function u(e,t){for(var n in t)o(t,n)&&(e[n]=t[n]);return o(t,"toString")&&(e.toString=t.toString),o(t,"valueOf")&&(e.valueOf=t.valueOf),e}function a(e,t,n,r){return gn(e,t,n,r,!0).utc()}function f(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function l(e){return e._pf==null&&(e._pf=f()),e._pf}function c(e){if(e._isValid==null){var t=l(e);e._isValid=!isNaN(e._d.getTime())&&t.overflow<0&&!t.empty&&!t.invalidMonth&&!t.invalidWeekday&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated,e._strict&&(e._isValid=e._isValid&&t.charsLeftOver===0&&t.unusedTokens.length===0&&t.bigHour===undefined)}return e._isValid}function h(e){var t=a(NaN);return e!=null?u(l(t),e):l(t).userInvalidated=!0,t}function d(e,t){var n,r,i;typeof t._isAMomentObject!="undefined"&&(e._isAMomentObject=t._isAMomentObject),typeof t._i!="undefined"&&(e._i=t._i),typeof t._f!="undefined"&&(e._f=t._f),typeof t._l!="undefined"&&(e._l=t._l),typeof t._strict!="undefined"&&(e._strict=t._strict),typeof t._tzm!="undefined"&&(e._tzm=t._tzm),typeof t._isUTC!="undefined"&&(e._isUTC=t._isUTC),typeof t._offset!="undefined"&&(e._offset=t._offset),typeof t._pf!="undefined"&&(e._pf=l(t)),typeof t._locale!="undefined"&&(e._locale=t._locale);if(p.length>0)for(n in p)r=p[n],i=t[r],typeof i!="undefined"&&(e[r]=i);return e}function m(e){d(this,e),this._d=new Date(e._d!=null?e._d.getTime():NaN),v===!1&&(v=!0,t.updateOffset(this),v=!1)}function g(e){return e instanceof m||e!=null&&e._isAMomentObject!=null}function y(e){return e<0?Math.ceil(e):Math.floor(e)}function b(e){var t=+e,n=0;return t!==0&&isFinite(t)&&(n=y(t)),n}function w(e,t,n){var r=Math.min(e.length,t.length),i=Math.abs(e.length-t.length),s=0,o;for(o=0;o<r;o++)(n&&e[o]!==t[o]||!n&&b(e[o])!==b(t[o]))&&s++;return s+i}function E(){}function T(e){return e?e.toLowerCase().replace("_","-"):e}function N(e){var t=0,n,r,i,s;while(t<e.length){s=T(e[t]).split("-"),n=s.length,r=T(e[t+1]),r=r?r.split("-"):null;while(n>0){i=C(s.slice(0,n).join("-"));if(i)return i;if(r&&r.length>=n&&w(s,r,!0)>=n-1)break;n--}t++}return null}function C(e){var t=null;if(!S[e]&&typeof module!="undefined"&&module&&module.exports)try{t=x._abbr,require("./locale/"+e),k(t)}catch(n){}return S[e]}function k(e,t){var n;return e&&(typeof t=="undefined"?n=A(e):n=L(e,t),n&&(x=n)),x._abbr}function L(e,t){return t!==null?(t.abbr=e,S[e]=S[e]||new E,S[e].set(t),k(e),S[e]):(delete S[e],null)}function A(e){var t;e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr);if(!e)return x;if(!r(e)){t=C(e);if(t)return t;e=[e]}return N(e)}function M(e,t){var n=e.toLowerCase();O[n]=O[n+"s"]=O[t]=e}function _(e){return typeof e=="string"?O[e]||O[e.toLowerCase()]:undefined}function D(e){var t={},n,r;for(r in e)o(e,r)&&(n=_(r),n&&(t[n]=e[r]));return t}function P(e,n){return function(r){return r!=null?(B(this,e,r),t.updateOffset(this,n),this):H(this,e)}}function H(e,t){return e._d["get"+(e._isUTC?"UTC":"")+t]()}function B(e,t,n){return e._d["set"+(e._isUTC?"UTC":"")+t](n)}function j(e,t){var n;if(typeof e=="object")for(n in e)this.set(n,e[n]);else{e=_(e);if(typeof this[e]=="function")return this[e](t)}return this}function F(e,t,n){var r=""+Math.abs(e),i=t-r.length,s=e>=0;return(s?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+r}function z(e,t,n,r){var i=r;typeof r=="string"&&(i=function(){return this[r]()}),e&&(U[e]=i),t&&(U[t[0]]=function(){return F(i.apply(this,arguments),t[1],t[2])}),n&&(U[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function W(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function X(e){var t=e.match(I),n,r;for(n=0,r=t.length;n<r;n++)U[t[n]]?t[n]=U[t[n]]:t[n]=W(t[n]);return function(i){var s="";for(n=0;n<r;n++)s+=t[n]instanceof Function?t[n].call(i,e):t[n];return s}}function V(e,t){return e.isValid()?(t=$(t,e.localeData()),R[t]=R[t]||X(t),R[t](e)):e.localeData().invalidDate()}function $(e,t){function r(e){return t.longDateFormat(e)||e}var n=5;q.lastIndex=0;while(n>=0&&q.test(e))e=e.replace(q,r),q.lastIndex=0,n-=1;return e}function ft(e){return typeof e=="function"&&Object.prototype.toString.call(e)==="[object Function]"}function lt(e,t,n){at[e]=ft(t)?t:function(e){return e&&n?n:t}}function ct(e,t){return o(at,e)?at[e](t._strict,t._locale):new RegExp(ht(e))}function ht(e){return e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,r,i){return t||n||r||i}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function dt(e,t){var n,r=t;typeof e=="string"&&(e=[e]),typeof t=="number"&&(r=function(e,n){n[t]=b(e)});for(n=0;n<e.length;n++)pt[e[n]]=r}function vt(e,t){dt(e,function(e,n,r,i){r._w=r._w||{},t(e,r._w,r,i)})}function mt(e,t,n){t!=null&&o(pt,e)&&pt[e](t,n._a,n,e)}function Tt(e,t){return(new Date(Date.UTC(e,t+1,0))).getUTCDate()}function Ct(e){return this._months[e.month()]}function Lt(e){return this._monthsShort[e.month()]}function At(e,t,n){var r,i,s;this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]);for(r=0;r<12;r++){i=a([2e3,r]),n&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[r]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),!n&&!this._monthsParse[r]&&(s="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[r]=new RegExp(s.replace(".",""),"i"));if(n&&t==="MMMM"&&this._longMonthsParse[r].test(e))return r;if(n&&t==="MMM"&&this._shortMonthsParse[r].test(e))return r;if(!n&&this._monthsParse[r].test(e))return r}}function Ot(e,t){var n;if(typeof t=="string"){t=e.localeData().monthsParse(t);if(typeof t!="number")return e}return n=Math.min(e.date(),Tt(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,n),e}function Mt(e){return e!=null?(Ot(this,e),t.updateOffset(this,!0),this):H(this,"Month")}function _t(){return Tt(this.year(),this.month())}function Dt(e){var t,n=e._a;return n&&l(e).overflow===-2&&(t=n[yt]<0||n[yt]>11?yt:n[bt]<1||n[bt]>Tt(n[gt],n[yt])?bt:n[wt]<0||n[wt]>24||n[wt]===24&&(n[Et]!==0||n[St]!==0||n[xt]!==0)?wt:n[Et]<0||n[Et]>59?Et:n[St]<0||n[St]>59?St:n[xt]<0||n[xt]>999?xt:-1,l(e)._overflowDayOfYear&&(t<gt||t>bt)&&(t=bt),l(e).overflow=t),e}function Pt(e){t.suppressDeprecationWarnings===!1&&typeof console!="undefined"&&console.warn&&console.warn("Deprecation warning: "+e)}function Ht(e,t){var n=!0;return u(function(){return n&&(Pt(e+"\n"+(new Error).stack),n=!1),t.apply(this,arguments)},t)}function jt(e,t){Bt[e]||(Pt(t),Bt[e]=!0)}function Ut(e){var t,n,r=e._i,i=Ft.exec(r);if(i){l(e).iso=!0;for(t=0,n=It.length;t<n;t++)if(It[t][1].exec(r)){e._f=It[t][0];break}for(t=0,n=qt.length;t<n;t++)if(qt[t][1].exec(r)){e._f+=(i[6]||" ")+qt[t][0];break}r.match(st)&&(e._f+="Z"),ln(e)}else e._isValid=!1}function zt(e){var n=Rt.exec(e._i);if(n!==null){e._d=new Date(+n[1]);return}Ut(e),e._isValid===!1&&(delete e._isValid,t.createFromInputFallback(e))}function Wt(e,t,n,r,i,s,o){var u=new Date(e,t,n,r,i,s,o);return e<1970&&u.setFullYear(e),u}function Xt(e){var t=new Date(Date.UTC.apply(null,arguments));return e<1970&&t.setUTCFullYear(e),t}function Vt(e){return $t(e)?366:365}function $t(e){return e%4===0&&e%100!==0||e%400===0}function Kt(){return $t(this.year())}function Qt(e,t,n){var r=n-t,i=n-e.day(),s;return i>r&&(i-=7),i<r-7&&(i+=7),s=yn(e).add(i,"d"),{week:Math.ceil(s.dayOfYear()/7),year:s.year()}}function Gt(e){return Qt(e,this._week.dow,this._week.doy).week}function Zt(){return this._week.dow}function en(){return this._week.doy}function tn(e){var t=this.localeData().week(this);return e==null?t:this.add((e-t)*7,"d")}function nn(e){var t=Qt(this,1,4).week;return e==null?t:this.add((e-t)*7,"d")}function rn(e,t,n,r,i){var s=6+i-r,o=Xt(e,0,1+s),u=o.getUTCDay(),a;return u<i&&(u+=7),n=n!=null?1*n:i,a=1+s+7*(t-1)-u+n,{year:a>0?e:e-1,dayOfYear:a>0?a:Vt(e-1)+a}}function sn(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return e==null?t:this.add(e-t,"d")}function on(e,t,n){return e!=null?e:t!=null?t:n}function un(e){var t=new Date;return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}function an(e){var t,n,r=[],i,s;if(e._d)return;i=un(e),e._w&&e._a[bt]==null&&e._a[yt]==null&&fn(e),e._dayOfYear&&(s=on(e._a[gt],i[gt]),e._dayOfYear>Vt(s)&&(l(e)._overflowDayOfYear=!0),n=Xt(s,0,e._dayOfYear),e._a[yt]=n.getUTCMonth(),e._a[bt]=n.getUTCDate());for(t=0;t<3&&e._a[t]==null;++t)e._a[t]=r[t]=i[t];for(;t<7;t++)e._a[t]=r[t]=e._a[t]==null?t===2?1:0:e._a[t];e._a[wt]===24&&e._a[Et]===0&&e._a[St]===0&&e._a[xt]===0&&(e._nextDay=!0,e._a[wt]=0),e._d=(e._useUTC?Xt:Wt).apply(null,r),e._tzm!=null&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[wt]=24)}function fn(e){var t,n,r,i,s,o,u;t=e._w,t.GG!=null||t.W!=null||t.E!=null?(s=1,o=4,n=on(t.GG,e._a[gt],Qt(yn(),1,4).year),r=on(t.W,1),i=on(t.E,1)):(s=e._locale._week.dow,o=e._locale._week.doy,n=on(t.gg,e._a[gt],Qt(yn(),s,o).year),r=on(t.w,1),t.d!=null?(i=t.d,i<s&&++r):t.e!=null?i=t.e+s:i=s),u=rn(n,r,i,o,s),e._a[gt]=u.year,e._dayOfYear=u.dayOfYear}function ln(e){if(e._f===t.ISO_8601){Ut(e);return}e._a=[],l(e).empty=!0;var n=""+e._i,r,i,s,o,u,a=n.length,f=0;s=$(e._f,e._locale).match(I)||[];for(r=0;r<s.length;r++)o=s[r],i=(n.match(ct(o,e))||[])[0],i&&(u=n.substr(0,n.indexOf(i)),u.length>0&&l(e).unusedInput.push(u),n=n.slice(n.indexOf(i)+i.length),f+=i.length),U[o]?(i?l(e).empty=!1:l(e).unusedTokens.push(o),mt(o,i,e)):e._strict&&!i&&l(e).unusedTokens.push(o);l(e).charsLeftOver=a-f,n.length>0&&l(e).unusedInput.push(n),l(e).bigHour===!0&&e._a[wt]<=12&&e._a[wt]>0&&(l(e).bigHour=undefined),e._a[wt]=cn(e._locale,e._a[wt],e._meridiem),an(e),Dt(e)}function cn(e,t,n){var r;return n==null?t:e.meridiemHour!=null?e.meridiemHour(t,n):e.isPM!=null?(r=e.isPM(n),r&&t<12&&(t+=12),!r&&t===12&&(t=0),t):t}function hn(e){var t,n,r,i,s;if(e._f.length===0){l(e).invalidFormat=!0,e._d=new Date(NaN);return}for(i=0;i<e._f.length;i++){s=0,t=d({},e),e._useUTC!=null&&(t._useUTC=e._useUTC),t._f=e._f[i],ln(t);if(!c(t))continue;s+=l(t).charsLeftOver,s+=l(t).unusedTokens.length*10,l(t).score=s;if(r==null||s<r)r=s,n=t}u(e,n||t)}function pn(e){if(e._d)return;var t=D(e._i);e._a=[t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond],an(e)}function dn(e){var t=new m(Dt(vn(e)));return t._nextDay&&(t.add(1,"d"),t._nextDay=undefined),t}function vn(e){var t=e._i,n=e._f;return e._locale=e._locale||A(e._l),t===null||n===undefined&&t===""?h({nullInput:!0}):(typeof t=="string"&&(e._i=t=e._locale.preparse(t)),g(t)?new m(Dt(t)):(r(n)?hn(e):n?ln(e):i(t)?e._d=t:mn(e),e))}function mn(e){var n=e._i;n===undefined?e._d=new Date:i(n)?e._d=new Date(+n):typeof n=="string"?zt(e):r(n)?(e._a=s(n.slice(0),function(e){return parseInt(e,10)}),an(e)):typeof n=="object"?pn(e):typeof n=="number"?e._d=new Date(n):t.createFromInputFallback(e)}function gn(e,t,n,r,i){var s={};return typeof n=="boolean"&&(r=n,n=undefined),s._isAMomentObject=!0,s._useUTC=s._isUTC=i,s._l=n,s._i=e,s._f=t,s._strict=r,dn(s)}function yn(e,t,n,r){return gn(e,t,n,r,!1)}function En(e,t){var n,i;t.length===1&&r(t[0])&&(t=t[0]);if(!t.length)return yn();n=t[0];for(i=1;i<t.length;++i)if(!t[i].isValid()||t[i][e](n))n=t[i];return n}function Sn(){var e=[].slice.call(arguments,0);return En("isBefore",e)}function xn(){var e=[].slice.call(arguments,0);return En("isAfter",e)}function Tn(e){var t=D(e),n=t.year||0,r=t.quarter||0,i=t.month||0,s=t.week||0,o=t.day||0,u=t.hour||0,a=t.minute||0,f=t.second||0,l=t.millisecond||0;this._milliseconds=+l+f*1e3+a*6e4+u*36e5,this._days=+o+s*7,this._months=+i+r*3+n*12,this._data={},this._locale=A(),this._bubble()}function Nn(e){return e instanceof Tn}function Cn(e,t){z(e,0,0,function(){var e=this.utcOffset(),n="+";return e<0&&(e=-e,n="-"),n+F(~~(e/60),2)+t+F(~~e%60,2)})}function Ln(e){var t=(e||"").match(st)||[],n=t[t.length-1]||[],r=(n+"").match(kn)||["-",0,0],i=+(r[1]*60)+b(r[2]);return r[0]==="+"?i:-i}function An(e,n){var r,s;return n._isUTC?(r=n.clone(),s=(g(e)||i(e)?+e:+yn(e))- +r,r._d.setTime(+r._d+s),t.updateOffset(r,!1),r):yn(e).local()}function On(e){return-Math.round(e._d.getTimezoneOffset()/15)*15}function Mn(e,n){var r=this._offset||0,i;return e!=null?(typeof e=="string"&&(e=Ln(e)),Math.abs(e)<16&&(e*=60),!this._isUTC&&n&&(i=On(this)),this._offset=e,this._isUTC=!0,i!=null&&this.add(i,"m"),r!==e&&(!n||this._changeInProgress?Kn(this,Wn(e-r,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,t.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?r:On(this)}function _n(e,t){return e!=null?(typeof e!="string"&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}function Dn(e){return this.utcOffset(0,e)}function Pn(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(On(this),"m")),this}function Hn(){return this._tzm?this.utcOffset(this._tzm):typeof this._i=="string"&&this.utcOffset(Ln(this._i)),this}function Bn(e){return e=e?yn(e).utcOffset():0,(this.utcOffset()-e)%60===0}function jn(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Fn(){if(typeof this._isDSTShifted!="undefined")return this._isDSTShifted;var e={};d(e,this),e=vn(e);if(e._a){var t=e._isUTC?a(e._a):yn(e._a);this._isDSTShifted=this.isValid()&&w(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function In(){return!this._isUTC}function qn(){return this._isUTC}function Rn(){return this._isUTC&&this._offset===0}function Wn(e,t){var n=e,r=null,i,s,u;return Nn(e)?n={ms:e._milliseconds,d:e._days,M:e._months}:typeof e=="number"?(n={},t?n[t]=e:n.milliseconds=e):(r=Un.exec(e))?(i=r[1]==="-"?-1:1,n={y:0,d:b(r[bt])*i,h:b(r[wt])*i,m:b(r[Et])*i,s:b(r[St])*i,ms:b(r[xt])*i}):(r=zn.exec(e))?(i=r[1]==="-"?-1:1,n={y:Xn(r[2],i),M:Xn(r[3],i),d:Xn(r[4],i),h:Xn(r[5],i),m:Xn(r[6],i),s:Xn(r[7],i),w:Xn(r[8],i)}):n==null?n={}:typeof n=="object"&&("from"in n||"to"in n)&&(u=$n(yn(n.from),yn(n.to)),n={},n.ms=u.milliseconds,n.M=u.months),s=new Tn(n),Nn(e)&&o(e,"_locale")&&(s._locale=e._locale),s}function Xn(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function Vn(e,t){var n={milliseconds:0,months:0};return n.months=t.month()-e.month()+(t.year()-e.year())*12,e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t- +e.clone().add(n.months,"M"),n}function $n(e,t){var n;return t=An(t,e),e.isBefore(t)?n=Vn(e,t):(n=Vn(t,e),n.milliseconds=-n.milliseconds,n.months=-n.months),n}function Jn(e,t){return function(n,r){var i,s;return r!==null&&!isNaN(+r)&&(jt(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period)."),s=n,n=r,r=s),n=typeof n=="string"?+n:n,i=Wn(n,r),Kn(this,i,e),this}}function Kn(e,n,r,i){var s=n._milliseconds,o=n._days,u=n._months;i=i==null?!0:i,s&&e._d.setTime(+e._d+s*r),o&&B(e,"Date",H(e,"Date")+o*r),u&&Ot(e,H(e,"Month")+u*r),i&&t.updateOffset(e,o||u)}function Yn(e,t){var n=e||yn(),r=An(n,this).startOf("day"),i=this.diff(r,"days",!0),s=i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse";return this.format(t&&t[s]||this.localeData().calendar(s,this,yn(n)))}function Zn(){return new m(this)}function er(e,t){var n;return t=_(typeof t!="undefined"?t:"millisecond"),t==="millisecond"?(e=g(e)?e:yn(e),+this>+e):(n=g(e)?+e:+yn(e),n<+this.clone().startOf(t))}function tr(e,t){var n;return t=_(typeof t!="undefined"?t:"millisecond"),t==="millisecond"?(e=g(e)?e:yn(e),+this<+e):(n=g(e)?+e:+yn(e),+this.clone().endOf(t)<n)}function nr(e,t,n){return this.isAfter(e,n)&&this.isBefore(t,n)}function rr(e,t){var n;return t=_(t||"millisecond"),t==="millisecond"?(e=g(e)?e:yn(e),+this===+e):(n=+yn(e),+this.clone().startOf(t)<=n&&n<=+this.clone().endOf(t))}function ir(e,t,n){var r=An(e,this),i=(r.utcOffset()-this.utcOffset())*6e4,s,o;return t=_(t),t==="year"||t==="month"||t==="quarter"?(o=sr(this,r),t==="quarter"?o/=3:t==="year"&&(o/=12)):(s=this-r,o=t==="second"?s/1e3:t==="minute"?s/6e4:t==="hour"?s/36e5:t==="day"?(s-i)/864e5:t==="week"?(s-i)/6048e5:s),n?o:y(o)}function sr(e,t){var n=(t.year()-e.year())*12+(t.month()-e.month()),r=e.clone().add(n,"months"),i,s;return t-r<0?(i=e.clone().add(n-1,"months"),s=(t-r)/(r-i)):(i=e.clone().add(n+1,"months"),s=(t-r)/(i-r)),-(n+s)}function or(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function ur(){var e=this.clone().utc();return 0<e.year()&&e.year()<=9999?"function"==typeof Date.prototype.toISOString?this.toDate().toISOString():V(e,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):V(e,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function ar(e){var n=V(this,e||t.defaultFormat);return this.localeData().postformat(n)}function fr(e,t){return this.isValid()?Wn({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function lr(e){return this.from(yn(),e)}function cr(e,t){return this.isValid()?Wn({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function hr(e){return this.to(yn(),e)}function pr(e){var t;return e===undefined?this._locale._abbr:(t=A(e),t!=null&&(this._locale=t),this)}function vr(){return this._locale}function mr(e){e=_(e);switch(e){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return e==="week"&&this.weekday(0),e==="isoWeek"&&this.isoWeekday(1),e==="quarter"&&this.month(Math.floor(this.month()/3)*3),this}function gr(e){return e=_(e),e===undefined||e==="millisecond"?this:this.startOf(e).add(1,e==="isoWeek"?"week":e).subtract(1,"ms")}function yr(){return+this._d-(this._offset||0)*6e4}function br(){return Math.floor(+this/1e3)}function wr(){return this._offset?new Date(+this):this._d}function Er(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function Sr(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function xr(){return c(this)}function Tr(){return u({},l(this))}function Nr(){return l(this).overflow}function Cr(e,t){z(0,[e,e.length],0,t)}function kr(e,t,n){return Qt(yn([e,11,31+t-n]),t,n).week}function Lr(e){var t=Qt(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return e==null?t:this.add(e-t,"y")}function Ar(e){var t=Qt(this,1,4).year;return e==null?t:this.add(e-t,"y")}function Or(){return kr(this.year(),1,4)}function Mr(){var e=this.localeData()._week;return kr(this.year(),e.dow,e.doy)}function _r(e){return e==null?Math.ceil((this.month()+1)/3):this.month((e-1)*3+this.month()%3)}function Pr(e,t){return typeof e!="string"?e:isNaN(e)?(e=t.weekdaysParse(e),typeof e=="number"?e:null):parseInt(e,10)}function Br(e){return this._weekdays[e.day()]}function Fr(e){return this._weekdaysShort[e.day()]}function qr(e){return this._weekdaysMin[e.day()]}function Rr(e){var t,n,r;this._weekdaysParse=this._weekdaysParse||[];for(t=0;t<7;t++){this._weekdaysParse[t]||(n=yn([2e3,1]).day(t),r="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[t]=new RegExp(r.replace(".",""),"i"));if(this._weekdaysParse[t].test(e))return t}}function Ur(e){var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return e!=null?(e=Pr(e,this.localeData()),this.add(e-t,"d")):t}function zr(e){var t=(this.day()+7-this.localeData()._week.dow)%7;return e==null?t:this.add(e-t,"d")}function Wr(e){return e==null?this.day()||7:this.day(this.day()%7?e:e-7)}function Xr(e,t){z(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function Vr(e,t){return t._meridiemParse}function $r(e){return(e+"").toLowerCase().charAt(0)==="p"}function Kr(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"}function ei(e,t){t[xt]=b(("0."+e)*1e3)}function ni(){return this._isUTC?"UTC":""}function ri(){return this._isUTC?"Coordinated Universal Time":""}function oi(e){return yn(e*1e3)}function ui(){return yn.apply(null,arguments).parseZone()}function fi(e,t,n){var r=this._calendar[e];return typeof r=="function"?r.call(t,n):r}function ci(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])}function pi(){return this._invalidDate}function mi(e){return this._ordinal.replace("%d",e)}function gi(e){return e}function bi(e,t,n,r){var i=this._relativeTime[n];return typeof i=="function"?i(e,t,n,r):i.replace(/%d/i,e)}function wi(e,t){var n=this._relativeTime[e>0?"future":"past"];return typeof n=="function"?n(t):n.replace(/%s/i,t)}function Ei(e){var t,n;for(n in e)t=e[n],typeof t=="function"?this[n]=t:this["_"+n]=t;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function xi(e,t,n,r){var i=A(),s=a().set(r,t);return i[n](s,e)}function Ti(e,t,n,r,i){typeof e=="number"&&(t=e,e=undefined),e=e||"";if(t!=null)return xi(e,t,n,i);var s,o=[];for(s=0;s<r;s++)o[s]=xi(e,s,n,i);return o}function Ni(e,t){return Ti(e,t,"months",12,"month")}function Ci(e,t){return Ti(e,t,"monthsShort",12,"month")}function ki(e,t){return Ti(e,t,"weekdays",7,"day")}function Li(e,t){return Ti(e,t,"weekdaysShort",7,"day")}function Ai(e,t){return Ti(e,t,"weekdaysMin",7,"day")}function Mi(){var e=this._data;return this._milliseconds=Oi(this._milliseconds),this._days=Oi(this._days),this._months=Oi(this._months),e.milliseconds=Oi(e.milliseconds),e.seconds=Oi(e.seconds),e.minutes=Oi(e.minutes),e.hours=Oi(e.hours),e.months=Oi(e.months),e.years=Oi(e.years),this}function _i(e,t,n,r){var i=Wn(t,n);return e._milliseconds+=r*i._milliseconds,e._days+=r*i._days,e._months+=r*i._months,e._bubble()}function Di(e,t){return _i(this,e,t,1)}function Pi(e,t){return _i(this,e,t,-1)}function Hi(e){return e<0?Math.floor(e):Math.ceil(e)}function Bi(){var e=this._milliseconds,t=this._days,n=this._months,r=this._data,i,s,o,u,a;return e>=0&&t>=0&&n>=0||e<=0&&t<=0&&n<=0||(e+=Hi(Fi(n)+t)*864e5,t=0,n=0),r.milliseconds=e%1e3,i=y(e/1e3),r.seconds=i%60,s=y(i/60),r.minutes=s%60,o=y(s/60),r.hours=o%24,t+=y(o/24),a=y(ji(t)),n+=a,t-=Hi(Fi(a)),u=y(n/12),n%=12,r.days=t,r.months=n,r.years=u,this}function ji(e){return e*4800/146097}function Fi(e){return e*146097/4800}function Ii(e){var t,n,r=this._milliseconds;e=_(e);if(e==="month"||e==="year")return t=this._days+r/864e5,n=this._months+ji(t),e==="month"?n:n/12;t=this._days+Math.round(Fi(this._months));switch(e){case"week":return t/7+r/6048e5;case"day":return t+r/864e5;case"hour":return t*24+r/36e5;case"minute":return t*1440+r/6e4;case"second":return t*86400+r/1e3;case"millisecond":return Math.floor(t*864e5)+r;default:throw new Error("Unknown unit "+e)}}function qi(){return this._milliseconds+this._days*864e5+this._months%12*2592e6+b(this._months/12)*31536e6}function Ri(e){return function(){return this.as(e)}}function Qi(e){return e=_(e),this[e+"s"]()}function Gi(e){return function(){return this._data[e]}}function ss(){return y(this.days()/7)}function as(e,t,n,r,i){return i.relativeTime(t||1,!!n,e,r)}function fs(e,t,n){var r=Wn(e).abs(),i=os(r.as("s")),s=os(r.as("m")),o=os(r.as("h")),u=os(r.as("d")),a=os(r.as("M")),f=os(r.as("y")),l=i<us.s&&["s",i]||s===1&&["m"]||s<us.m&&["mm",s]||o===1&&["h"]||o<us.h&&["hh",o]||u===1&&["d"]||u<us.d&&["dd",u]||a===1&&["M"]||a<us.M&&["MM",a]||f===1&&["y"]||["yy",f];return l[2]=t,l[3]=+e>0,l[4]=n,as.apply(null,l)}function ls(e,t){return us[e]===undefined?!1:t===undefined?us[e]:(us[e]=t,!0)}function cs(e){var t=this.localeData(),n=fs(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)}function ps(){var e=hs(this._milliseconds)/1e3,t=hs(this._days),n=hs(this._months),r,i,s;r=y(e/60),i=y(r/60),e%=60,r%=60,s=y(n/12),n%=12;var o=s,u=n,a=t,f=i,l=r,c=e,h=this.asSeconds();return h?(h<0?"-":"")+"P"+(o?o+"Y":"")+(u?u+"M":"")+(a?a+"D":"")+(f||l||c?"T":"")+(f?f+"H":"")+(l?l+"M":"")+(c?c+"S":""):"P0D"}var e,p=t.momentProperties=[],v=!1,S={},x,O={},I=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,q=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,R={},U={},J=/\d/,K=/\d\d/,Q=/\d{3}/,G=/\d{4}/,Y=/[+-]?\d{6}/,Z=/\d\d?/,et=/\d{1,3}/,tt=/\d{1,4}/,nt=/[+-]?\d{1,6}/,rt=/\d+/,it=/[+-]?\d+/,st=/Z|[+-]\d\d:?\d\d/gi,ot=/[+-]?\d+(\.\d{1,3})?/,ut=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,at={},pt={},gt=0,yt=1,bt=2,wt=3,Et=4,St=5,xt=6;z("M",["MM",2],"Mo",function(){return this.month()+1}),z("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),z("MMMM",0,0,function(e){return this.localeData().months(this,e)}),M("month","M"),lt("M",Z),lt("MM",Z,K),lt("MMM",ut),lt("MMMM",ut),dt(["M","MM"],function(e,t){t[yt]=b(e)-1}),dt(["MMM","MMMM"],function(e,t,n,r){var i=n._locale.monthsParse(e,r,n._strict);i!=null?t[yt]=i:l(n).invalidMonth=e});var Nt="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),kt="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Bt={};t.suppressDeprecationWarnings=!1;var Ft=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,It=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],qt=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],Rt=/^\/?Date\((\-?\d+)/i;t.createFromInputFallback=Ht("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),z(0,["YY",2],0,function(){return this.year()%100}),z(0,["YYYY",4],0,"year"),z(0,["YYYYY",5],0,"year"),z(0,["YYYYYY",6,!0],0,"year"),M("year","y"),lt("Y",it),lt("YY",Z,K),lt("YYYY",tt,G),lt("YYYYY",nt,Y),lt("YYYYYY",nt,Y),dt(["YYYYY","YYYYYY"],gt),dt("YYYY",function(e,n){n[gt]=e.length===2?t.parseTwoDigitYear(e):b(e)}),dt("YY",function(e,n){n[gt]=t.parseTwoDigitYear(e)}),t.parseTwoDigitYear=function(e){return b(e)+(b(e)>68?1900:2e3)};var Jt=P("FullYear",!1);z("w",["ww",2],"wo","week"),z("W",["WW",2],"Wo","isoWeek"),M("week","w"),M("isoWeek","W"),lt("w",Z),lt("ww",Z,K),lt("W",Z),lt("WW",Z,K),vt(["w","ww","W","WW"],function(e,t,n,r){t[r.substr(0,1)]=b(e)});var Yt={dow:0,doy:6};z("DDD",["DDDD",3],"DDDo","dayOfYear"),M("dayOfYear","DDD"),lt("DDD",et),lt("DDDD",Q),dt(["DDD","DDDD"],function(e,t,n){n._dayOfYear=b(e)}),t.ISO_8601=function(){};var bn=Ht("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var e=yn.apply(null,arguments);return e<this?this:e}),wn=Ht("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var e=yn.apply(null,arguments);return e>this?this:e});Cn("Z",":"),Cn("ZZ",""),lt("Z",st),lt("ZZ",st),dt(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=Ln(e)});var kn=/([\+\-]|\d\d)/gi;t.updateOffset=function(){};var Un=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,zn=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Wn.fn=Tn.prototype;var Qn=Jn(1,"add"),Gn=Jn(-1,"subtract");t.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var dr=Ht("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return e===undefined?this.localeData():this.locale(e)});z(0,["gg",2],0,function(){return this.weekYear()%100}),z(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Cr("gggg","weekYear"),Cr("ggggg","weekYear"),Cr("GGGG","isoWeekYear"),Cr("GGGGG","isoWeekYear"),M("weekYear","gg"),M("isoWeekYear","GG"),lt("G",it),lt("g",it),lt("GG",Z,K),lt("gg",Z,K),lt("GGGG",tt,G),lt("gggg",tt,G),lt("GGGGG",nt,Y),lt("ggggg",nt,Y),vt(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,r){t[r.substr(0,2)]=b(e)}),vt(["gg","GG"],function(e,n,r,i){n[i]=t.parseTwoDigitYear(e)}),z("Q",0,0,"quarter"),M("quarter","Q"),lt("Q",J),dt("Q",function(e,t){t[yt]=(b(e)-1)*3}),z("D",["DD",2],"Do","date"),M("date","D"),lt("D",Z),lt("DD",Z,K),lt("Do",function(e,t){return e?t._ordinalParse:t._ordinalParseLenient}),dt(["D","DD"],bt),dt("Do",function(e,t){t[bt]=b(e.match(Z)[0],10)});var Dr=P("Date",!0);z("d",0,"do","day"),z("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),z("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),z("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),z("e",0,0,"weekday"),z("E",0,0,"isoWeekday"),M("day","d"),M("weekday","e"),M("isoWeekday","E"),lt("d",Z),lt("e",Z),lt("E",Z),lt("dd",ut),lt("ddd",ut),lt("dddd",ut),vt(["dd","ddd","dddd"],function(e,t,n){var r=n._locale.weekdaysParse(e);r!=null?t.d=r:l(n).invalidWeekday=e}),vt(["d","e","E"],function(e,t,n,r){t[r]=b(e)});var Hr="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),jr="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Ir="Su_Mo_Tu_We_Th_Fr_Sa".split("_");z("H",["HH",2],0,"hour"),z("h",["hh",2],0,function(){return this.hours()%12||12}),Xr("a",!0),Xr("A",!1),M("hour","h"),lt("a",Vr),lt("A",Vr),lt("H",Z),lt("h",Z),lt("HH",Z,K),lt("hh",Z,K),dt(["H","HH"],wt),dt(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),dt(["h","hh"],function(e,t,n){t[wt]=b(e),l(n).bigHour=!0});var Jr=/[ap]\.?m?\.?/i,Qr=P("Hours",!0);z("m",["mm",2],0,"minute"),M("minute","m"),lt("m",Z),lt("mm",Z,K),dt(["m","mm"],Et);var Gr=P("Minutes",!1);z("s",["ss",2],0,"second"),M("second","s"),lt("s",Z),lt("ss",Z,K),dt(["s","ss"],St);var Yr=P("Seconds",!1);z("S",0,0,function(){return~~(this.millisecond()/100)}),z(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),z(0,["SSS",3],0,"millisecond"),z(0,["SSSS",4],0,function(){return this.millisecond()*10}),z(0,["SSSSS",5],0,function(){return this.millisecond()*100}),z(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3}),z(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4}),z(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5}),z(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6}),M("millisecond","ms"),lt("S",et,J),lt("SS",et,K),lt("SSS",et,Q);var Zr;for(Zr="SSSS";Zr.length<=9;Zr+="S")lt(Zr,rt);for(Zr="S";Zr.length<=9;Zr+="S")dt(Zr,ei);var ti=P("Milliseconds",!1);z("z",0,0,"zoneAbbr"),z("zz",0,0,"zoneName");var ii=m.prototype;ii.add=Qn,ii.calendar=Yn,ii.clone=Zn,ii.diff=ir,ii.endOf=gr,ii.format=ar,ii.from=fr,ii.fromNow=lr,ii.to=cr,ii.toNow=hr,ii.get=j,ii.invalidAt=Nr,ii.isAfter=er,ii.isBefore=tr,ii.isBetween=nr,ii.isSame=rr,ii.isValid=xr,ii.lang=dr,ii.locale=pr,ii.localeData=vr,ii.max=wn,ii.min=bn,ii.parsingFlags=Tr,ii.set=j,ii.startOf=mr,ii.subtract=Gn,ii.toArray=Er,ii.toObject=Sr,ii.toDate=wr,ii.toISOString=ur,ii.toJSON=ur,ii.toString=or,ii.unix=br,ii.valueOf=yr,ii.year=Jt,ii.isLeapYear=Kt,ii.weekYear=Lr,ii.isoWeekYear=Ar,ii.quarter=ii.quarters=_r,ii.month=Mt,ii.daysInMonth=_t,ii.week=ii.weeks=tn,ii.isoWeek=ii.isoWeeks=nn,ii.weeksInYear=Mr,ii.isoWeeksInYear=Or,ii.date=Dr,ii.day=ii.days=Ur,ii.weekday=zr,ii.isoWeekday=Wr,ii.dayOfYear=sn,ii.hour=ii.hours=Qr,ii.minute=ii.minutes=Gr,ii.second=ii.seconds=Yr,ii.millisecond=ii.milliseconds=ti,ii.utcOffset=Mn,ii.utc=Dn,ii.local=Pn,ii.parseZone=Hn,ii.hasAlignedHourOffset=Bn,ii.isDST=jn,ii.isDSTShifted=Fn,ii.isLocal=In,ii.isUtcOffset=qn,ii.isUtc=Rn,ii.isUTC=Rn,ii.zoneAbbr=ni,ii.zoneName=ri,ii.dates=Ht("dates accessor is deprecated. Use date instead.",Dr),ii.months=Ht("months accessor is deprecated. Use month instead",Mt),ii.years=Ht("years accessor is deprecated. Use year instead",Jt),ii.zone=Ht("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",_n);var si=ii,ai={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},li={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},hi="Invalid date",di="%d",vi=/\d{1,2}/,yi={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Si=E.prototype;Si._calendar=ai,Si.calendar=fi,Si._longDateFormat=li,Si.longDateFormat=ci,Si._invalidDate=hi,Si.invalidDate=pi,Si._ordinal=di,Si.ordinal=mi,Si._ordinalParse=vi,Si.preparse=gi,Si.postformat=gi,Si._relativeTime=yi,Si.relativeTime=bi,Si.pastFuture=wi,Si.set=Ei,Si.months=Ct,Si._months=Nt,Si.monthsShort=Lt,Si._monthsShort=kt,Si.monthsParse=At,Si.week=Gt,Si._week=Yt,Si.firstDayOfYear=en,Si.firstDayOfWeek=Zt,Si.weekdays=Br,Si._weekdays=Hr,Si.weekdaysMin=qr,Si._weekdaysMin=Ir,Si.weekdaysShort=Fr,Si._weekdaysShort=jr,Si.weekdaysParse=Rr,Si.isPM=$r,Si._meridiemParse=Jr,Si.meridiem=Kr,k("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=b(e%100/10)===1?"th":t===1?"st":t===2?"nd":t===3?"rd":"th";return e+n}}),t.lang=Ht("moment.lang is deprecated. Use moment.locale instead.",k),t.langData=Ht("moment.langData is deprecated. Use moment.localeData instead.",A);var Oi=Math.abs,Ui=Ri("ms"),zi=Ri("s"),Wi=Ri("m"),Xi=Ri("h"),Vi=Ri("d"),$i=Ri("w"),Ji=Ri("M"),Ki=Ri("y"),Yi=Gi("milliseconds"),Zi=Gi("seconds"),es=Gi("minutes"),ts=Gi("hours"),ns=Gi("days"),rs=Gi("months"),is=Gi("years"),os=Math.round,us={s:45,m:45,h:22,d:26,M:11},hs=Math.abs,ds=Tn.prototype;ds.abs=Mi,ds.add=Di,ds.subtract=Pi,ds.as=Ii,ds.asMilliseconds=Ui,ds.asSeconds=zi,ds.asMinutes=Wi,ds.asHours=Xi,ds.asDays=Vi,ds.asWeeks=$i,ds.asMonths=Ji,ds.asYears=Ki,ds.valueOf=qi,ds._bubble=Bi,ds.get=Qi,ds.milliseconds=Yi,ds.seconds=Zi,ds.minutes=es,ds.hours=ts,ds.days=ns,ds.weeks=ss,ds.months=rs,ds.years=is,ds.humanize=cs,ds.toISOString=ps,ds.toString=ps,ds.toJSON=ps,ds.locale=pr,ds.localeData=vr,ds.toIsoString=Ht("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",ps),ds.lang=dr,z("X",0,0,"unix"),z("x",0,0,"valueOf"),lt("x",it),lt("X",ot),dt("X",function(e,t,n){n._d=new Date(parseFloat(e,10)*1e3)}),dt("x",function(e,t,n){n._d=new Date(b(e))}),t.version="2.10.6",n(yn),t.fn=si,t.min=Sn,t.max=xn,t.utc=a,t.unix=oi,t.months=Ni,t.isDate=i,t.locale=k,t.invalid=h,t.duration=Wn,t.isMoment=g,t.weekdays=ki,t.parseZone=ui,t.localeData=A,t.isDuration=Nn,t.monthsShort=Ci,t.weekdaysMin=Ai,t.defineLocale=L,t.weekdaysShort=Li,t.normalizeUnits=_,t.relativeTimeThreshold=ls;var vs=t;return vs}),function(e,t){typeof exports=="object"&&typeof module!="undefined"?t(require("../moment")):typeof define=="function"&&define.amd?define("moment_af",["moment"],t):t(e.moment)}(this,function(e){"use strict";var t=e.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,t,n){return e<12?n?"vm":"VM":n?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(e===1||e===8||e>=20?"ste":"de")},week:{dow:1,doy:4}});return t}),function(e,t){typeof exports=="object"&&typeof module!="undefined"?t(require("../moment")):typeof define=="function"&&define.amd?define("moment_de",["moment"],t):t(e.moment)}(this,function(e){"use strict";function t(e,t,n,r){var i={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?i[n][0]:i[n][1]}var n=e.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[Heute um] LT [Uhr]",sameElse:"L",nextDay:"[Morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[Gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:t,mm:"%d Minuten",h:t,hh:"%d Stunden",d:t,dd:t,M:t,MM:t,y:t,yy:t},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return n}),function(e,t){typeof exports=="object"&&typeof module!="undefined"?t(require("../moment")):typeof define=="function"&&define.amd?define("moment_es",["moment"],t):t(e.moment)}(this,function(e){"use strict";var t="Ene._Feb._Mar._Abr._May._Jun._Jul._Ago._Sep._Oct._Nov._Dic.".split("_"),n="Ene_Feb_Mar_Abr_May_Jun_Jul_Ago_Sep_Oct_Nov_Dic".split("_"),r=e.defineLocale("es",{months:"Enero_Febrero_Marzo_Abril_Mayo_Junio_Julio_Agosto_Septiembre_Octubre_Noviembre_Diciembre".split("_"),monthsShort:function(e,r){return/-MMM-/.test(r)?n[e.month()]:t[e.month()]},weekdays:"Domingo_Lunes_Martes_Miércoles_Jueves_Viernes_Sábado".split("_"),weekdaysShort:"Dom._Lun._Mar._Mié._Jue._Vie._Sáb.".split("_"),weekdaysMin:"Do_Lu_Ma_Mi_Ju_Vi_Sá".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(this.hours()!==1?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(this.hours()!==1?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(this.hours()!==1?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(this.hours()!==1?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(this.hours()!==1?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return r}),function(e,t){typeof exports=="object"&&typeof module!="undefined"?t(require("../moment")):typeof define=="function"&&define.amd?define("moment_fr",["moment"],t):t(e.moment)}(this,function(e){"use strict";var t=e.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|)/,ordinal:function(e){return e+(e===1?"er":"")},week:{dow:1,doy:4}});return t}),function(e,t){typeof exports=="object"&&typeof module!="undefined"?t(require("../moment")):typeof define=="function"&&define.amd?define("moment_he",["moment"],t):t(e.moment)}(this,function(e){"use strict";var t=e.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(e){return e===2?"שעתיים":e+" שעות"},d:"יום",dd:function(e){return e===2?"יומיים":e+" ימים"},M:"חודש",MM:function(e){return e===2?"חודשיים":e+" חודשים"},y:"שנה",yy:function(e){return e===2?"שנתיים":e%10===0&&e!==10?e+" שנה":e+" שנים"}}});return t}),function(e,t){typeof exports=="object"&&typeof module!="undefined"?t(require("../moment")):typeof define=="function"&&define.amd?define("moment_hu",["moment"],t):t(e.moment)}(this,function(e){"use strict";function n(e,t,n,r){var i=e,s;switch(n){case"s":return r||t?"néhány másodperc":"néhány másodperce";case"m":return"egy"+(r||t?" perc":" perce");case"mm":return i+(r||t?" perc":" perce");case"h":return"egy"+(r||t?" óra":" órája");case"hh":return i+(r||t?" óra":" órája");case"d":return"egy"+(r||t?" nap":" napja");case"dd":return i+(r||t?" nap":" napja");case"M":return"egy"+(r||t?" hónap":" hónapja");case"MM":return i+(r||t?" hónap":" hónapja");case"y":return"egy"+(r||t?" év":" éve");case"yy":return i+(r||t?" év":" éve")}return""}function r(e){return(e?"":"[múlt] ")+"["+t[this.day()]+"] LT[-kor]"}var t="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" "),i=e.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return e.charAt(1).toLowerCase()==="u"},meridiem:function(e,t,n){return e<12?n===!0?"de":"DE":n===!0?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return r.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return r.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return i}),function(e,t){typeof exports=="object"&&typeof module!="undefined"?t(require("../moment")):typeof define=="function"&&define.amd?define("moment_id",["moment"],t):t(e.moment)}(this,function(e){"use strict";var t=e.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,t){e===12&&(e=0);if(t==="pagi")return e;if(t==="siang")return e>=11?e:e+12;if(t==="sore"||t==="malam")return e+12},meridiem:function(e,t,n){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}});return t}),function(e,t){typeof exports=="object"&&typeof module!="undefined"?t(require("../moment")):typeof define=="function"&&define.amd?define("moment_it",["moment"],t):t(e.moment)}(this,function(e){"use strict";var t=e.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato".split("_"),weekdaysShort:"Dom_Lun_Mar_Mer_Gio_Ven_Sab".split("_"),weekdaysMin:"D_L_Ma_Me_G_V_S".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return t}),function(e,t){typeof exports=="object"&&typeof module!="undefined"?t(require("../moment")):typeof define=="function"&&define.amd?define("moment_ja",["moment"],t):t(e.moment)}(this,function(e){"use strict";var t=e.defineLocale("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"Ah時m分",LTS:"Ah時m分s秒",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah時m分",LLLL:"YYYY年M月D日Ah時m分 dddd"},meridiemParse:/午前|午後/i,isPM:function(e){return e==="午後"},meridiem:function(e,t,n){return e<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},relativeTime:{future:"%s後",past:"%s前",s:"数秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}});return t}),function(e,t){typeof exports=="object"&&typeof module!="undefined"?t(require("../moment")):typeof define=="function"&&define.amd?define("moment_nb",["moment"],t):t(e.moment)}(this,function(e){"use strict";var t=e.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tirs_ons_tors_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"H.mm",LTS:"H.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H.mm",LLLL:"dddd D. MMMM YYYY [kl.] H.mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"for %s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return t}),function(e,t){typeof exports=="object"&&typeof module!="undefined"?t(require("../moment")):typeof define=="function"&&define.amd?define("moment_nl",["moment"],t):t(e.moment)}(this,function(e){"use strict";var t="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),r=e.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,r){return/-MMM-/.test(r)?n[e.month()]:t[e.month()]},weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(e===1||e===8||e>=20?"ste":"de")},week:{dow:1,doy:4}});return r}),function(e,t){typeof exports=="object"&&typeof module!="undefined"?t(require("../moment")):typeof define=="function"&&define.amd?define("moment_pl",["moment"],t):t(e.moment)}(this,function(e){"use strict";function r(e){return e%10<5&&e%10>1&&~~(e/10)%10!==1}function i(e,t,n){var i=e+" ";switch(n){case"m":return t?"minuta":"minutę";case"mm":return i+(r(e)?"minuty":"minut");case"h":return t?"godzina":"godzinę";case"hh":return i+(r(e)?"godziny":"godzin");case"MM":return i+(r(e)?"miesiące":"miesięcy");case"yy":return i+(r(e)?"lata":"lat")}}var t="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),n="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_"),s=e.defineLocale("pl",{months:function(e,r){return r===""?"("+n[e.month()]+"|"+t[e.month()]+")":/D MMMM/.test(r)?n[e.month()]:t[e.month()]},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"nie_pon_wt_śr_czw_pt_sb".split("_"),weekdaysMin:"N_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:"[W] dddd [o] LT",lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:i,mm:i,h:i,hh:i,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:i,y:"rok",yy:i},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return s}),function(e,t){typeof exports=="object"&&typeof module!="undefined"?t(require("../moment")):typeof define=="function"&&define.amd?define("moment_pt-br",["moment"],t):t(e.moment)}(this,function(e){"use strict";var t=e.defineLocale("pt-br",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Dom_2ª_3ª_4ª_5ª_6ª_Sáb".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return this.day()===0||this.day()===6?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atrás",s:"poucos segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº"});return t}),function(e,t){typeof exports=="object"&&typeof module!="undefined"?t(require("../moment")):typeof define=="function"&&define.amd?define("moment_ru",["moment"],t):t(e.moment)}(this,function(e){"use strict";function t(e,t){var n=e.split("_");return t%10===1&&t%100!==11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var i={mm:n?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return r==="m"?n?"минута":"минуту":e+" "+t(i[r],+e)}function r(e,t){var n={nominative:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),accusative:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_")},r=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(t)?"accusative":"nominative";return n[r][e.month()]}function i(e,t){var n={nominative:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),accusative:"янв_фев_мар_апр_мая_июня_июля_авг_сен_окт_ноя_дек".split("_")},r=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(t)?"accusative":"nominative";return n[r][e.month()]}function s(e,t){var n={nominative:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),accusative:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_")},r=/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/.test(t)?"accusative":"nominative";return n[r][e.day()]}var o=e.defineLocale("ru",{months:r,monthsShort:i,weekdays:s,weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[й|я]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(){return this.day()===2?"[Во] dddd [в] LT":"[В] dddd [в] LT"},lastWeek:function(e){if(e.week()===this.week())return this.day()===2?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",m:n,mm:n,h:"час",hh:n,d:"день",dd:n,M:"месяц",MM:n,y:"год",yy:n},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(e){return/^(дня|вечера)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночи":e<12?"утра":e<17?"дня":"вечера"},ordinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":return e+"-й";case"D":return e+"-го";case"w":case"W":return e+"-я";default:return e}},week:{dow:1,doy:7}});return o}),function(e,t){typeof exports=="object"&&typeof module!="undefined"?t(require("../moment")):typeof define=="function"&&define.amd?define("moment_uk",["moment"],t):t(e.moment)}(this,function(e){"use strict";function t(e,t){var n=e.split("_");return t%10===1&&t%100!==11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var i={mm:"хвилина_хвилини_хвилин",hh:"година_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return r==="m"?n?"хвилина":"хвилину":r==="h"?n?"година":"годину":e+" "+t(i[r],+e)}function r(e,t){var n={nominative:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_"),accusative:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_")},r=/D[oD]? *MMMM?/.test(t)?"accusative":"nominative";return n[r][e.month()]}function i(e,t){var n={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")},r=/(\[[ВвУу]\]) ?dddd/.test(t)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(t)?"genitive":"nominative";return n[r][e.day()]}function s(e){return function(){return e+"о"+(this.hours()===11?"б":"")+"] LT"}}var o=e.defineLocale("uk",{months:r,monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:i,weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:s("[Сьогодні "),nextDay:s("[Завтра "),lastDay:s("[Вчора "),nextWeek:s("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return s("[Минулої] dddd [").call(this);case 1:case 2:case 4:return s("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",m:n,mm:n,h:"годину",hh:n,d:"день",dd:n,M:"місяць",MM:n,y:"рік",yy:n},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(e){return/^(дня|вечора)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночі":e<12?"ранку":e<17?"дня":"вечора"},ordinalParse:/\d{1,2}-(й|го)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":case"w":case"W":return e+"-й";case"D":return e+"-го";default:return e}},week:{dow:1,doy:7}});return o}),function(e,t){typeof exports=="object"&&typeof module!="undefined"?t(require("../moment")):typeof define=="function"&&define.amd?define("moment_zh",["moment"],t):t(e.moment)}(this,function(e){"use strict";var t=e.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"Ah点mm分",LTS:"Ah点m分s秒",L:"YYYY-MM-DD",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日Ah点mm分",LLLL:"YYYY年MMMD日ddddAh点mm分",l:"YYYY-MM-DD",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日Ah点mm分",llll:"YYYY年MMMD日ddddAh点mm分"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return e===12&&(e=0),t==="凌晨"||t==="早上"||t==="上午"?e:t==="下午"||t==="晚上"?e+12:e>=11?e:e+12},meridiem:function(e,t,n){var r=e*100+t;return r<600?"凌晨":r<900?"早上":r<1130?"上午":r<1230?"中午":r<1800?"下午":"晚上"},calendar:{sameDay:function(){return this.minutes()===0?"[今天]Ah[点整]":"[今天]LT"},nextDay:function(){return this.minutes()===0?"[明天]Ah[点整]":"[明天]LT"},lastDay:function(){return this.minutes()===0?"[昨天]Ah[点整]":"[昨天]LT"},nextWeek:function(){var t,n;return t=e().startOf("week"),n=this.unix()-t.unix()>=604800?"[下]":"[本]",this.minutes()===0?n+"dddAh点整":n+"dddAh点mm"},lastWeek:function(){var t,n;return t=e().startOf("week"),n=this.unix()<t.unix()?"[上]":"[本]",this.minutes()===0?n+"dddAh点整":n+"dddAh点mm"},sameElse:"LL"},ordinalParse:/\d{1,2}(日|月|周)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"周";default:return e}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}});return t}),function(e,t){define("moment_with_locales",["moment","moment_af","moment_de","moment_es","moment_fr","moment_he","moment_hu","moment_id","moment_it","moment_ja","moment_nb","moment_nl","moment_pl","moment_pt-br","moment_ru","moment_uk","moment_zh"],function(e){return e})}(this),function(e,t){typeof define=="function"&&define.amd?define("strophe-sha1",[],function(){return t()}):e.SHA1=t()}(this,function(){function e(e,r){e[r>>5]|=128<<24-r%32,e[(r+64>>9<<4)+15]=r;var o=new Array(80),u=1732584193,a=-271733879,f=-1732584194,l=271733878,c=-1009589776,h,p,d,v,m,g,y,b;for(h=0;h<e.length;h+=16){v=u,m=a,g=f,y=l,b=c;for(p=0;p<80;p++)p<16?o[p]=e[h+p]:o[p]=s(o[p-3]^o[p-8]^o[p-14]^o[p-16],1),d=i(i(s(u,5),t(p,a,f,l)),i(i(c,o[p]),n(p))),c=l,l=f,f=s(a,30),a=u,u=d;u=i(u,v),a=i(a,m),f=i(f,g),l=i(l,y),c=i(c,b)}return[u,a,f,l,c]}function t(e,t,n,r){return e<20?t&n|~t&r:e<40?t^n^r:e<60?t&n|t&r|n&r:t^n^r}function n(e){return e<20?1518500249:e<40?1859775393:e<60?-1894007588:-899497514}function r(t,n){var r=o(t);r.length>16&&(r=e(r,t.length*8));var i=new Array(16),s=new Array(16);for(var u=0;u<16;u++)i[u]=r[u]^909522486,s[u]=r[u]^1549556828;var a=e(i.concat(o(n)),512+n.length*8);return e(s.concat(a),672)}function i(e,t){var n=(e&65535)+(t&65535),r=(e>>16)+(t>>16)+(n>>16);return r<<16|n&65535}function s(e,t){return e<<t|e>>>32-t}function o(e){var t=[],n=255;for(var r=0;r<e.length*8;r+=8)t[r>>5]|=(e.charCodeAt(r/8)&n)<<24-r%32;return t}function u(e){var t="",n=255;for(var r=0;r<e.length*32;r+=8)t+=String.fromCharCode(e[r>>5]>>>24-r%32&n);return t}function a(e){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n="",r,i;for(var s=0;s<e.length*4;s+=3){r=(e[s>>2]>>8*(3-s%4)&255)<<16|(e[s+1>>2]>>8*(3-(s+1)%4)&255)<<8|e[s+2>>2]>>8*(3-(s+2)%4)&255;for(i=0;i<4;i++)s*8+i*6>e.length*32?n+="=":n+=t.charAt(r>>6*(3-i)&63)}return n}return{b64_hmac_sha1:function(e,t){return a(r(e,t))},b64_sha1:function(t){return a(e(o(t),t.length*8))},binb2str:u,core_hmac_sha1:r,str_hmac_sha1:function(e,t){return u(r(e,t))},str_sha1:function(t){return u(e(o(t),t.length*8))}}}),function(e,t){typeof define=="function"&&define.amd?define("strophe-base64",[],function(){return t()}):e.Base64=t()}(this,function(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",t={encode:function(t){var n="",r,i,s,o,u,a,f,l=0;do r=t.charCodeAt(l++),i=t.charCodeAt(l++),s=t.charCodeAt(l++),o=r>>2,u=(r&3)<<4|i>>4,a=(i&15)<<2|s>>6,f=s&63,isNaN(i)?(u=(r&3)<<4,a=f=64):isNaN(s)&&(f=64),n=n+e.charAt(o)+e.charAt(u)+e.charAt(a)+e.charAt(f);while(l<t.length);return n},decode:function(t){var n="",r,i,s,o,u,a,f,l=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");do o=e.indexOf(t.charAt(l++)),u=e.indexOf(t.charAt(l++)),a=e.indexOf(t.charAt(l++)),f=e.indexOf(t.charAt(l++)),r=o<<2|u>>4,i=(u&15)<<4|a>>2,s=(a&3)<<6|f,n+=String.fromCharCode(r),a!=64&&(n+=String.fromCharCode(i)),f!=64&&(n+=String.fromCharCode(s));while(l<t.length);return n}};return t}),function(e,t){typeof define=="function"&&define.amd?define("strophe-md5",[],function(){return t()}):e.MD5=t()}(this,function(e){var t=function(e,t){var n=(e&65535)+(t&65535),r=(e>>16)+(t>>16)+(n>>16);return r<<16|n&65535},n=function(e,t){return e<<t|e>>>32-t},r=function(e){var t=[];for(var n=0;n<e.length*8;n+=8)t[n>>5]|=(e.charCodeAt(n/8)&255)<<n%32;return t},i=function(e){var t="";for(var n=0;n<e.length*32;n+=8)t+=String.fromCharCode(e[n>>5]>>>n%32&255);return t},s=function(e){var t="0123456789abcdef",n="";for(var r=0;r<e.length*4;r++)n+=t.charAt(e[r>>2]>>r%4*8+4&15)+t.charAt(e[r>>2]>>r%4*8&15);return n},o=function(e,r,i,s,o,u){return t(n(t(t(r,e),t(s,u)),o),i)},u=function(e,t,n,r,i,s,u){return o(t&n|~t&r,e,t,i,s,u)},a=function(e,t,n,r,i,s,u){return o(t&r|n&~r,e,t,i,s,u)},f=function(e,t,n,r,i,s,u){return o(t^n^r,e,t,i,s,u)},l=function(e,t,n,r,i,s,u){return o(n^(t|~r),e,t,i,s,u)},c=function(e,n){e[n>>5]|=128<<n%32,e[(n+64>>>9<<4)+14]=n;var r=1732584193,i=-271733879,s=-1732584194,o=271733878,c,h,p,d;for(var v=0;v<e.length;v+=16)c=r,h=i,p=s,d=o,r=u(r,i,s,o,e[v+0],7,-680876936),o=u(o,r,i,s,e[v+1],12,-389564586),s=u(s,o,r,i,e[v+2],17,606105819),i=u(i,s,o,r,e[v+3],22,-1044525330),r=u(r,i,s,o,e[v+4],7,-176418897),o=u(o,r,i,s,e[v+5],12,1200080426),s=u(s,o,r,i,e[v+6],17,-1473231341),i=u(i,s,o,r,e[v+7],22,-45705983),r=u(r,i,s,o,e[v+8],7,1770035416),o=u(o,r,i,s,e[v+9],12,-1958414417),s=u(s,o,r,i,e[v+10],17,-42063),i=u(i,s,o,r,e[v+11],22,-1990404162),r=u(r,i,s,o,e[v+12],7,1804603682),o=u(o,r,i,s,e[v+13],12,-40341101),s=u(s,o,r,i,e[v+14],17,-1502002290),i=u(i,s,o,r,e[v+15],22,1236535329),r=a(r,i,s,o,e[v+1],5,-165796510),o=a(o,r,i,s,e[v+6],9,-1069501632),s=a(s,o,r,i,e[v+11],14,643717713),i=a(i,s,o,r,e[v+0],20,-373897302),r=a(r,i,s,o,e[v+5],5,-701558691),o=a(o,r,i,s,e[v+10],9,38016083),s=a(s,o,r,i,e[v+15],14,-660478335),i=a(i,s,o,r,e[v+4],20,-405537848),r=a(r,i,s,o,e[v+9],5,568446438),o=a(o,r,i,s,e[v+14],9,-1019803690),s=a(s,o,r,i,e[v+3],14,-187363961),i=a(i,s,o,r,e[v+8],20,1163531501),r=a(r,i,s,o,e[v+13],5,-1444681467),o=a(o,r,i,s,e[v+2],9,-51403784),s=a(s,o,r,i,e[v+7],14,1735328473),i=a(i,s,o,r,e[v+12],20,-1926607734),r=f(r,i,s,o,e[v+5],4,-378558),o=f(o,r,i,s,e[v+8],11,-2022574463),s=f(s,o,r,i,e[v+11],16,1839030562),i=f(i,s,o,r,e[v+14],23,-35309556),r=f(r,i,s,o,e[v+1],4,-1530992060),o=f(o,r,i,s,e[v+4],11,1272893353),s=f(s,o,r,i,e[v+7],16,-155497632),i=f(i,s,o,r,e[v+10],23,-1094730640),r=f(r,i,s,o,e[v+13],4,681279174),o=f(o,r,i,s,e[v+0],11,-358537222),s=f(s,o,r,i,e[v+3],16,-722521979),i=f(i,s,o,r,e[v+6],23,76029189),r=f(r,i,s,o,e[v+9],4,-640364487),o=f(o,r,i,s,e[v+12],11,-421815835),s=f(s,o,r,i,e[v+15],16,530742520),i=f(i,s,o,r,e[v+2],23,-995338651),r=l(r,i,s,o,e[v+0],6,-198630844),o=l(o,r,i,s,e[v+7],10,1126891415),s=l(s,o,r,i,e[v+14],15,-1416354905),i=l(i,s,o,r,e[v+5],21,-57434055),r=l(r,i,s,o,e[v+12],6,1700485571),o=l(o,r,i,s,e[v+3],10,-1894986606),s=l(s,o,r,i,e[v+10],15,-1051523),i=l(i,s,o,r,e[v+1],21,-2054922799),r=l(r,i,s,o,e[v+8],6,1873313359),o=l(o,r,i,s,e[v+15],10,-30611744),s=l(s,o,r,i,e[v+6],15,-1560198380),i=l(i,s,o,r,e[v+13],21,1309151649),r=l(r,i,s,o,e[v+4],6,-145523070),o=l(o,r,i,s,e[v+11],10,-1120210379),s=l(s,o,r,i,e[v+2],15,718787259),i=l(i,s,o,r,e[v+9],21,-343485551),r=t(r,c),i=t(i,h),s=t(s,p),o=t(o,d);return[r,i,s,o]},h={hexdigest:function(e){return s(c(r(e),e.length*8))},hash:function(e){return i(c(r(e),e.length*8))}};return h}),Function.prototype.bind||(Function.prototype.bind=function(e){var t=this,n=Array.prototype.slice,r=Array.prototype.concat,i=n.call(arguments,1);return function(){return t.apply(e?e:this,r.call(i,n.call(arguments,0)))}}),Array.isArray||(Array.isArray=function(e){return Object.prototype.toString.call(e)==="[object Array]"}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e){var t=this.length,n=Number(arguments[1])||0;n=n<0?Math.ceil(n):Math.floor(n),n<0&&(n+=t);for(;n<t;n++)if(n in this&&this[n]===e)return n;return-1}),define("strophe-polyfill",function(){}),function(e,t){if(typeof define=="function"&&define.amd)define("strophe-core",["strophe-sha1","strophe-base64","strophe-md5","strophe-polyfill"],function(){return t.apply(this,arguments)});else{var n=t(e.SHA1,e.Base64,e.MD5);window.Strophe=n.Strophe,window.$build=n.$build,window.$iq=n.$iq,window.$msg=n.$msg,window.$pres=n.$pres,window.SHA1=n.SHA1,window.Base64=n.Base64,window.MD5=n.MD5,window.b64_hmac_sha1=n.SHA1.b64_hmac_sha1,window.b64_sha1=n.SHA1.b64_sha1,window.str_hmac_sha1=n.SHA1.str_hmac_sha1,window.str_sha1=n.SHA1.str_sha1}}(this,function(e,t,n){function i(e,t){return new r.Builder(e,t)}function s(e){return new r.Builder("message",e)}function o(e){return new r.Builder("iq",e)}function u(e){return new r.Builder("presence",e)}var r;return r={VERSION:"@VERSION@",NS:{HTTPBIND:"http://jabber.org/protocol/httpbind",BOSH:"urn:xmpp:xbosh",CLIENT:"jabber:client",AUTH:"jabber:iq:auth",ROSTER:"jabber:iq:roster",PROFILE:"jabber:iq:profile",DISCO_INFO:"http://jabber.org/protocol/disco#info",DISCO_ITEMS:"http://jabber.org/protocol/disco#items",MUC:"http://jabber.org/protocol/muc",SASL:"urn:ietf:params:xml:ns:xmpp-sasl",STREAM:"http://etherx.jabber.org/streams",FRAMING:"urn:ietf:params:xml:ns:xmpp-framing",BIND:"urn:ietf:params:xml:ns:xmpp-bind",SESSION:"urn:ietf:params:xml:ns:xmpp-session",VERSION:"jabber:iq:version",STANZAS:"urn:ietf:params:xml:ns:xmpp-stanzas",XHTML_IM:"http://jabber.org/protocol/xhtml-im",XHTML:"http://www.w3.org/1999/xhtml"},XHTML:{tags:["a","blockquote","br","cite","em","img","li","ol","p","span","strong","ul","body"],attributes:{a:["href"],blockquote:["style"],br:[],cite:["style"],em:[],img:["src","alt","style","height","width"],li:["style"],ol:["style"],p:["style"],span:["style"],strong:[],ul:["style"],body:[]},css:["background-color","color","font-family","font-size","font-style","font-weight","margin-left","margin-right","text-align","text-decoration"],validTag:function(e){for(var t=0;t<r.XHTML.tags.length;t++)if(e==r.XHTML.tags[t])return!0;return!1},validAttribute:function(e,t){if(typeof r.XHTML.attributes[e]!="undefined"&&r.XHTML.attributes[e].length>0)for(var n=0;n<r.XHTML.attributes[e].length;n++)if(t==r.XHTML.attributes[e][n])return!0;return!1},validCSS:function(e){for(var t=0;t<r.XHTML.css.length;t++)if(e==r.XHTML.css[t])return!0;return!1}},Status:{ERROR:0,CONNECTING:1,CONNFAIL:2,AUTHENTICATING:3,AUTHFAIL:4,CONNECTED:5,DISCONNECTED:6,DISCONNECTING:7,ATTACHED:8,REDIRECT:9},LogLevel:{DEBUG:0,INFO:1,WARN:2,ERROR:3,FATAL:4},ElementType:{NORMAL:1,TEXT:3,CDATA:4,FRAGMENT:11},TIMEOUT:1.1,SECONDARY_TIMEOUT:.1,addNamespace:function(e,t){r.NS[e]=t},forEachChild:function(e,t,n){var i,s;for(i=0;i<e.childNodes.length;i++)s=e.childNodes[i],s.nodeType==r.ElementType.NORMAL&&(!t||this.isTagEqual(s,t))&&n(s)},isTagEqual:function(e,t){return e.tagName==t},_xmlGenerator:null,_makeGenerator:function(){var e;return document.implementation.createDocument===undefined||document.implementation.createDocument&&document.documentMode&&document.documentMode<10?(e=this._getIEXmlDom(),e.appendChild(e.createElement("strophe"))):e=document.implementation.createDocument("jabber:client","strophe",null),e},xmlGenerator:function(){return r._xmlGenerator||(r._xmlGenerator=r._makeGenerator()),r._xmlGenerator},_getIEXmlDom:function(){var e=null,t=["Msxml2.DOMDocument.6.0","Msxml2.DOMDocument.5.0","Msxml2.DOMDocument.4.0","MSXML2.DOMDocument.3.0","MSXML2.DOMDocument","MSXML.DOMDocument","Microsoft.XMLDOM"];for(var n=0;n<t.length;n++){if(e!==null)break;try{e=new ActiveXObject(t[n])}catch(r){e=null}}return e},xmlElement:function(e){if(!e)return null;var t=r.xmlGenerator().createElement(e),n,i,s;for(n=1;n<arguments.length;n++){var o=arguments[n];if(!o)continue;if(typeof o=="string"||typeof o=="number")t.appendChild(r.xmlTextNode(o));else if(typeof o=="object"&&typeof o.sort=="function")for(i=0;i<o.length;i++){var u=o[i];typeof u=="object"&&typeof u.sort=="function"&&u[1]!==undefined&&u[1]!==null&&t.setAttribute(u[0],u[1])}else if(typeof o=="object")for(s in o)o.hasOwnProperty(s)&&o[s]!==undefined&&o[s]!==null&&t.setAttribute(s,o[s])}return t},xmlescape:function(e){return e=e.replace(/\&/g,"&amp;"),e=e.replace(/</g,"&lt;"),e=e.replace(/>/g,"&gt;"),e=e.replace(/'/g,"&apos;"),e=e.replace(/"/g,"&quot;"),e},xmlunescape:function(e){return e=e.replace(/\&amp;/g,"&"),e=e.replace(/&lt;/g,"<"),e=e.replace(/&gt;/g,">"),e=e.replace(/&apos;/g,"'"),e=e.replace(/&quot;/g,'"'),e},xmlTextNode:function(e){return r.xmlGenerator().createTextNode(e)},xmlHtmlNode:function(e){var t;if(window.DOMParser){var n=new DOMParser;t=n.parseFromString(e,"text/xml")}else t=new ActiveXObject("Microsoft.XMLDOM"),t.async="false",t.loadXML(e);return t},getText:function(e){if(!e)return null;var t="";e.childNodes.length===0&&e.nodeType==r.ElementType.TEXT&&(t+=e.nodeValue);for(var n=0;n<e.childNodes.length;n++)e.childNodes[n].nodeType==r.ElementType.TEXT&&(t+=e.childNodes[n].nodeValue);return r.xmlescape(t)},copyElement:function(e){var t,n;if(e.nodeType==r.ElementType.NORMAL){n=r.xmlElement(e.tagName);for(t=0;t<e.attributes.length;t++)n.setAttribute(e.attributes[t].nodeName,e.attributes[t].value);for(t=0;t<e.childNodes.length;t++)n.appendChild(r.copyElement(e.childNodes[t]))}else e.nodeType==r.ElementType.TEXT&&(n=r.xmlGenerator().createTextNode(e.nodeValue));return n},createHtml:function(e){var t,n,i,s,o,u,a,f,l,c,h;if(e.nodeType==r.ElementType.NORMAL){s=e.nodeName.toLowerCase();if(r.XHTML.validTag(s))try{n=r.xmlElement(s);for(t=0;t<r.XHTML.attributes[s].length;t++){o=r.XHTML.attributes[s][t],u=e.getAttribute(o);if(typeof u=="undefined"||u===null||u===""||u===!1||u===0)continue;o=="style"&&typeof u=="object"&&typeof u.cssText!="undefined"&&(u=u.cssText);if(o=="style"){a=[],f=u.split(";");for(i=0;i<f.length;i++)l=f[i].split(":"),c=l[0].replace(/^\s*/,"").replace(/\s*$/,"").toLowerCase(),r.XHTML.validCSS(c)&&(h=l[1].replace(/^\s*/,"").replace(/\s*$/,""),a.push(c+": "+h));a.length>0&&(u=a.join("; "),n.setAttribute(o,u))}else n.setAttribute(o,u)}for(t=0;t<e.childNodes.length;t++)n.appendChild(r.createHtml(e.childNodes[t]))}catch(p){n=r.xmlTextNode("")}else{n=r.xmlGenerator().createDocumentFragment();for(t=0;t<e.childNodes.length;t++)n.appendChild(r.createHtml(e.childNodes[t]))}}else if(e.nodeType==r.ElementType.FRAGMENT){n=r.xmlGenerator().createDocumentFragment();for(t=0;t<e.childNodes.length;t++)n.appendChild(r.createHtml(e.childNodes[t]))}else e.nodeType==r.ElementType.TEXT&&(n=r.xmlTextNode(e.nodeValue));return n},escapeNode:function(e){return typeof e!="string"?e:e.replace(/^\s+|\s+$/g,"").replace(/\\/g,"\\5c").replace(/ /g,"\\20").replace(/\"/g,"\\22").replace(/\&/g,"\\26").replace(/\'/g,"\\27").replace(/\//g,"\\2f").replace(/:/g,"\\3a").replace(/</g,"\\3c").replace(/>/g,"\\3e").replace(/@/g,"\\40")},unescapeNode:function(e){return typeof e!="string"?e:e.replace(/\\20/g," ").replace(/\\22/g,'"').replace(/\\26/g,"&").replace(/\\27/g,"'").replace(/\\2f/g,"/").replace(/\\3a/g,":").replace(/\\3c/g,"<").replace(/\\3e/g,">").replace(/\\40/g,"@").replace(/\\5c/g,"\\")},getNodeFromJid:function(e){return e.indexOf("@")<0?null:e.split("@")[0]},getDomainFromJid:function(e){var t=r.getBareJidFromJid(e);if(t.indexOf("@")<0)return t;var n=t.split("@");return n.splice(0,1),n.join("@")},getResourceFromJid:function(e){var t=e.split("/");return t.length<2?null:(t.splice(0,1),t.join("/"))},getBareJidFromJid:function(e){return e?e.split("/")[0]:null},log:function(e,t){return},debug:function(e){this.log(this.LogLevel.DEBUG,e)},info:function(e){this.log(this.LogLevel.INFO,e)},warn:function(e){this.log(this.LogLevel.WARN,e)},error:function(e){this.log(this.LogLevel.ERROR,e)},fatal:function(e){this.log(this.LogLevel.FATAL,e)},serialize:function(e){var t;if(!e)return null;typeof e.tree=="function"&&(e=e.tree());var n=e.nodeName,i,s;e.getAttribute("_realname")&&(n=e.getAttribute("_realname")),t="<"+n;for(i=0;i<e.attributes.length;i++)e.attributes[i].nodeName!="_realname"&&(t+=" "+e.attributes[i].nodeName+"='"+e.attributes[i].value.replace(/&/g,"&amp;").replace(/\'/g,"&apos;").replace(/>/g,"&gt;").replace(/</g,"&lt;")+"'");if(e.childNodes.length>0){t+=">";for(i=0;i<e.childNodes.length;i++){s=e.childNodes[i];switch(s.nodeType){case r.ElementType.NORMAL:t+=r.serialize(s);break;case r.ElementType.TEXT:t+=r.xmlescape(s.nodeValue);break;case r.ElementType.CDATA:t+="<![CDATA["+s.nodeValue+"]]>"}}t+="</"+n+">"}else t+="/>";return t},_requestId:0,_connectionPlugins:{},addConnectionPlugin:function(e,t){r._connectionPlugins[e]=t}},r.Builder=function(e,t){if(e=="presence"||e=="message"||e=="iq")t&&!t.xmlns?t.xmlns=r.NS.CLIENT:t||(t={xmlns:r.NS.CLIENT});this.nodeTree=r.xmlElement(e,t),this.node=this.nodeTree},r.Builder.prototype={tree:function(){return this.nodeTree},toString:function(){return r.serialize(this.nodeTree)},up:function(){return this.node=this.node.parentNode,this},attrs:function(e){for(var t in e)e.hasOwnProperty(t)&&(e[t]===undefined?this.node.removeAttribute(t):this.node.setAttribute(t,e[t]));return this},c:function(e,t,n){var i=r.xmlElement(e,t,n);return this.node.appendChild(i),typeof n!="string"&&(this.node=i),this},cnode:function(e){var t,n=r.xmlGenerator();try{t=n.importNode!==undefined}catch(i){t=!1}var s=t?n.importNode(e,!0):r.copyElement(e);return this.node.appendChild(s),this.node=s,this},t:function(e){var t=r.xmlTextNode(e);return this.node.appendChild(t),this},h:function(e){var t=document.createElement("body");t.innerHTML=e;var n=r.createHtml(t);while(n.childNodes.length>0)this.node.appendChild(n.childNodes[0]);return this}},r.Handler=function(e,t,n,i,s,o,u){this.handler=e,this.ns=t,this.name=n,this.type=i,this.id=s,this.options=u||{matchBare:!1},this.options.matchBare||(this.options.matchBare=!1),this.options.matchBare?this.from=o?r.getBareJidFromJid(o):null:this.from=o,this.user=!0},r.Handler.prototype={isMatch:function(e){var t,n=null;this.options.matchBare?n=r.getBareJidFromJid(e.getAttribute("from")):n=e.getAttribute("from"),t=!1;if(!this.ns)t=!0;else{var i=this;r.forEachChild(e,null,function(e){e.getAttribute("xmlns")==i.ns&&(t=!0)}),t=t||e.getAttribute("xmlns")==this.ns}var s=e.getAttribute("type");return!t||!!this.name&&!r.isTagEqual(e,this.name)||!!this.type&&(Array.isArray(this.type)?this.type.indexOf(s)==-1:s!=this.type)||!!this.id&&e.getAttribute("id")!=this.id||!!this.from&&n!=this.from?!1:!0},run:function(e){var t=null;try{t=this.handler(e)}catch(n){throw n.sourceURL?r.fatal("error: "+this.handler+" "+n.sourceURL+":"+n.line+" - "+n.name+": "+n.message):n.fileName?(typeof console!="undefined"&&(console.trace(),console.error(this.handler," - error - ",n,n.message)),r.fatal("error: "+this.handler+" "+n.fileName+":"+n.lineNumber+" - "+n.name+": "+n.message)):r.fatal("error: "+n.message+"\n"+n.stack),n}return t},toString:function(){return"{Handler: "+this.handler+"("+this.name+","+this.id+","+this.ns+")}"}},r.TimedHandler=function(e,t){this.period=e,this.handler=t,this.lastCalled=(new Date).getTime(),this.user=!0},r.TimedHandler.prototype={run:function(){return this.lastCalled=(new Date).getTime(),this.handler()},reset:function(){this.lastCalled=(new Date).getTime()},toString:function(){return"{TimedHandler: "+this.handler+"("+this.period+")}"}},r.Connection=function(e,t){this.service=e,this.options=t||{};var n=this.options.protocol||"";e.indexOf("ws:")===0||e.indexOf("wss:")===0||n.indexOf("ws")===0?this._proto=new r.Websocket(this):this._proto=new r.Bosh(this),this.jid="",this.domain=null,this.features=null,this._sasl_data={},this.do_session=!1,this.do_bind=!1,this.timedHandlers=[],this.handlers=[],this.removeTimeds=[],this.removeHandlers=[],this.addTimeds=[],this.addHandlers=[],this._authentication={},this._idleTimeout=null,this._disconnectTimeout=null,this.authenticated=!1,this.connected=!1,this.disconnecting=!1,this.do_authentication=!0,this.paused=!1,this.restored=!1,this._data=[],this._uniqueId=0,this._sasl_success_handler=null,this._sasl_failure_handler=null,this._sasl_challenge_handler=null,this.maxRetries=5,this._idleTimeout=setTimeout(this._onIdle.bind(this),100);for(var i in r._connectionPlugins)if(r._connectionPlugins.hasOwnProperty(i)){var s=r._connectionPlugins[i],o=function(){};o.prototype=s,this[i]=new o,this[i].init(this)}},r.Connection.prototype={reset:function(){this._proto._reset(),this.do_session=!1,this.do_bind=!1,this.timedHandlers=[],this.handlers=[],this.removeTimeds=[],this.removeHandlers=[],this.addTimeds=[],this.addHandlers=[],this._authentication={},this.authenticated=!1,this.connected=!1,this.disconnecting=!1,this.restored=!1,this._data=[],this._requests=[],this._uniqueId=0},pause:function(){this.paused=!0},resume:function(){this.paused=!1},getUniqueId:function(e){var t="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=Math.random()*16|0,n=e=="x"?t:t&3|8;return n.toString(16)});return typeof e=="string"||typeof e=="number"?t+":"+e:t+""},connect:function(e,t,n,i,s,o,u){this.jid=e,this.authzid=r.getBareJidFromJid(this.jid),this.authcid=u||r.getNodeFromJid(this.jid),this.pass=t,this.servtype="xmpp",this.connect_callback=n,this.disconnecting=!1,this.connected=!1,this.authenticated=!1,this.restored=!1,this.domain=r.getDomainFromJid(this.jid),this._changeConnectStatus(r.Status.CONNECTING,null),this._proto._connect(i,s,o)},attach:function(e,t,n,i,s,o,u){if(!(this._proto instanceof r.Bosh))throw{name:"StropheSessionError",message:'The "attach" method can only be used with a BOSH connection.'};this._proto._attach(e,t,n,i,s,o,u)},restore:function(e,t,n,r,i){if(!this._sessionCachingSupported())throw{name:"StropheSessionError",message:'The "restore" method can only be used with a BOSH connection.'};this._proto._restore(e,t,n,r,i)},_sessionCachingSupported:function(){if(this._proto instanceof r.Bosh){if(!JSON)return!1;try{window.sessionStorage.setItem("_strophe_","_strophe_"),window.sessionStorage.removeItem("_strophe_")}catch(e){return!1}return!0}return!1},xmlInput:function(e){return},xmlOutput:function(e){return},rawInput:function(e){return},rawOutput:function(e){return},nextValidRid:function(e){return},send:function(e){if(e===null)return;if(typeof e.sort=="function")for(var t=0;t<e.length;t++)this._queueData(e[t]);else typeof e.tree=="function"?this._queueData(e.tree()):this._queueData(e);this._proto._send()},flush:function(){clearTimeout(this._idleTimeout),this._onIdle()},sendIQ:function(e,t,n,i){var s=null,o=this;typeof e.tree=="function"&&(e=e.tree());var u=e.getAttribute("id");u||(u=this.getUniqueId("sendIQ"),e.setAttribute("id",u));var a=e.getAttribute("to"),f=this.jid,l=this.addHandler(function(e){s&&o.deleteTimedHandler(s);var i=!1,u=e.getAttribute("from");if(u===a||a===null&&(u===r.getBareJidFromJid(f)||u===r.getDomainFromJid(f)||u===f))i=!0;if(!i)throw{name:"StropheError",message:"Got answer to IQ from wrong jid:"+u+"\nExpected jid: "+a};var l=e.getAttribute("type");if(l=="result")t&&t(e);else{if(l!="error")throw{name:"StropheError",message:"Got bad IQ type of "+l};n&&n(e)}},null,"iq",["error","result"],u);return i&&(s=this.addTimedHandler(i,function(){return o.deleteHandler(l),n&&n(null),!1})),this.send(e),u},_queueData:function(e){if(e===null||!e.tagName||!e.childNodes)throw{name:"StropheError",message:"Cannot queue non-DOMElement."};this._data.push(e)},_sendRestart:function(){this._data.push("restart"),this._proto._sendRestart(),this._idleTimeout=setTimeout(this._onIdle.bind(this),100)},addTimedHandler:function(e,t){var n=new r.TimedHandler(e,t);return this.addTimeds.push(n),n},deleteTimedHandler:function(e){this.removeTimeds.push(e)},addHandler:function(e,t,n,i,s,o,u){var a=new r.Handler(e,t,n,i,s,o,u);return this.addHandlers.push(a),a},deleteHandler:function(e){this.removeHandlers.push(e);var t=this.addHandlers.indexOf(e);t>=0&&this.addHandlers.splice(t,1)},disconnect:function(e){this._changeConnectStatus(r.Status.DISCONNECTING,e),r.info("Disconnect was called because: "+e);if(this.connected){var t=!1;this.disconnecting=!0,this.authenticated&&(t=u({xmlns:r.NS.CLIENT,type:"unavailable"})),this._disconnectTimeout=this._addSysTimedHandler(3e3,this._onDisconnectTimeout.bind(this)),this._proto._disconnect(t)}else r.info("Disconnect was called before Strophe connected to the server"),this._proto._abortAllRequests()},_changeConnectStatus:function(e,t){for(var n in r._connectionPlugins)if(r._connectionPlugins.hasOwnProperty(n)){var i=this[n];if(i.statusChanged)try{i.statusChanged(e,t)}catch(s){r.error(""+n+" plugin caused an exception "+"changing status: "+s)}}if(this.connect_callback)try{this.connect_callback(e,t)}catch(o){r.error("User connection callback caused an exception: "+o)}},_doDisconnect:function(e){typeof this._idleTimeout=="number"&&clearTimeout(this._idleTimeout),this._disconnectTimeout!==null&&(this.deleteTimedHandler(this._disconnectTimeout),this._disconnectTimeout=null),r.info("_doDisconnect was called"),this._proto._doDisconnect(),this.authenticated=!1,this.disconnecting=!1,this.restored=!1,this.handlers=[],this.timedHandlers=[],this.removeTimeds=[],this.removeHandlers=[],this.addTimeds=[],this.addHandlers=[],this._changeConnectStatus(r.Status.DISCONNECTED,e),this.connected=!1},_dataRecv:function(e,t){r.info("_dataRecv called");var n=this._proto._reqToData(e);if(n===null)return;this.xmlInput!==r.Connection.prototype.xmlInput&&(n.nodeName===this._proto.strip&&n.childNodes.length?this.xmlInput(n.childNodes[0]):this.xmlInput(n)),this.rawInput!==r.Connection.prototype.rawInput&&(t?this.rawInput(t):this.rawInput(r.serialize(n)));var i,s;while(this.removeHandlers.length>0)s=this.removeHandlers.pop(),i=this.handlers.indexOf(s),i>=0&&this.handlers.splice(i,1);while(this.addHandlers.length>0)this.handlers.push(this.addHandlers.pop());if(this.disconnecting&&this._proto._emptyQueue()){this._doDisconnect();return}var o=n.getAttribute("type"),u,a;if(o!==null&&o=="terminate"){if(this.disconnecting)return;u=n.getAttribute("condition"),a=n.getElementsByTagName("conflict"),u!==null?(u=="remote-stream-error"&&a.length>0&&(u="conflict"),this._changeConnectStatus(r.Status.CONNFAIL,u)):this._changeConnectStatus(r.Status.CONNFAIL,"unknown"),this._doDisconnect(u);return}var f=this;r.forEachChild(n,null,function(e){var t,n;n=f.handlers,f.handlers=[];for(t=0;t<n.length;t++){var i=n[t];try{i.isMatch(e)&&(f.authenticated||!i.user)?i.run(e)&&f.handlers.push(i):f.handlers.push(i)}catch(s){r.warn("Removing Strophe handlers due to uncaught exception: "+s.message)}}})},mechanisms:{},_connect_cb:function(e,t,n){r.info("_connect_cb was called"),this.connected=!0;var i=this._proto._reqToData(e);if(!i)return;this.xmlInput!==r.Connection.prototype.xmlInput&&(i.nodeName===this._proto.strip&&i.childNodes.length?this.xmlInput(i.childNodes[0]):this.xmlInput(i)),this.rawInput!==r.Connection.prototype.rawInput&&(n?this.rawInput(n):this.rawInput(r.serialize(i)));var s=this._proto._connect_cb(i);if(s===r.Status.CONNFAIL)return;this._authentication.sasl_scram_sha1=!1,this._authentication.sasl_plain=!1,this._authentication.sasl_digest_md5=!1,this._authentication.sasl_anonymous=!1,this._authentication.legacy_auth=!1;var o;i.getElementsByTagNameNS?o=i.getElementsByTagNameNS(r.NS.STREAM,"features").length>0:o=i.getElementsByTagName("stream:features").length>0||i.getElementsByTagName("features").length>0;var u=i.getElementsByTagName("mechanism"),a=[],f,l,c=!1;if(!o){this._proto._no_auth_received(t);return}if(u.length>0)for(f=0;f<u.length;f++)l=r.getText(u[f]),this.mechanisms[l]&&a.push(this.mechanisms[l]);this._authentication.legacy_auth=i.getElementsByTagName("auth").length>0,c=this._authentication.legacy_auth||a.length>0;if(!c){this._proto._no_auth_received(t);return}this.do_authentication!==!1&&this.authenticate(a)},authenticate:function(e){var n;for(n=0;n<e.length-1;++n){var s=n;for(var u=n+1;u<e.length;++u)e[u].prototype.priority>e[s].prototype.priority&&(s=u);if(s!=n){var a=e[n];e[n]=e[s],e[s]=a}}var f=!1;for(n=0;n<e.length;++n){if(!e[n].test(this))continue;this._sasl_success_handler=this._addSysHandler(this._sasl_success_cb.bind(this),null,"success",null,null),this._sasl_failure_handler=this._addSysHandler(this._sasl_failure_cb.bind(this),null,"failure",null,null),this._sasl_challenge_handler=this._addSysHandler(this._sasl_challenge_cb.bind(this),null,"challenge",null,null),this._sasl_mechanism=new e[n],this._sasl_mechanism.onStart(this);var l=i("auth",{xmlns:r.NS.SASL,mechanism:this._sasl_mechanism.name});if(this._sasl_mechanism.isClientFirst){var c=this._sasl_mechanism.onChallenge(this,null);l.t(t.encode(c))}this.send(l.tree()),f=!0;break}f||(r.getNodeFromJid(this.jid)===null?(this._changeConnectStatus(r.Status.CONNFAIL,"x-strophe-bad-non-anon-jid"),this.disconnect("x-strophe-bad-non-anon-jid")):(this._changeConnectStatus(r.Status.AUTHENTICATING,null),this._addSysHandler(this._auth1_cb.bind(this),null,null,null,"_auth_1"),this.send(o({type:"get",to:this.domain,id:"_auth_1"}).c("query",{xmlns:r.NS.AUTH}).c("username",{}).t(r.getNodeFromJid(this.jid)).tree())))},_sasl_challenge_cb:function(e){var n=t.decode(r.getText(e)),s=this._sasl_mechanism.onChallenge(this,n),o=i("response",{xmlns:r.NS.SASL});return s!==""&&o.t(t.encode(s)),this.send(o.tree()),!0},_auth1_cb:function(e){var t=o({type:"set",id:"_auth_2"}).c("query",{xmlns:r.NS.AUTH}).c("username",{}).t(r.getNodeFromJid(this.jid)).up().c("password").t(this.pass);return r.getResourceFromJid(this.jid)||(this.jid=r.getBareJidFromJid(this.jid)+"/strophe"),t.up().c("resource",{}).t(r.getResourceFromJid(this.jid)),this._addSysHandler(this._auth2_cb.bind(this),null,null,null,"_auth_2"),this.send(t.tree()),!1},_sasl_success_cb:function(e){if(this._sasl_data["server-signature"]){var n,i=t.decode(r.getText(e)),s=/([a-z]+)=([^,]+)(,|$)/,o=i.match(s);o[1]=="v"&&(n=o[2]);if(n!=this._sasl_data["server-signature"])return this.deleteHandler(this._sasl_failure_handler),this._sasl_failure_handler=null,this._sasl_challenge_handler&&(this.deleteHandler(this._sasl_challenge_handler),this._sasl_challenge_handler=null),this._sasl_data={},this._sasl_failure_cb(null)}r.info("SASL authentication succeeded."),this._sasl_mechanism&&this._sasl_mechanism.onSuccess(),this.deleteHandler(this._sasl_failure_handler),this._sasl_failure_handler=null,this._sasl_challenge_handler&&(this.deleteHandler(this._sasl_challenge_handler),this._sasl_challenge_handler=null);var u=[],a=function(e,t){while(e.length)this.deleteHandler(e.pop());return this._sasl_auth1_cb.bind(this)(t),!1};return u.push(this._addSysHandler(function(e){a.bind(this)(u,e)}.bind(this),null,"stream:features",null,null)),u.push(this._addSysHandler(function(e){a.bind(this)(u,e)}.bind(this),r.NS.STREAM,"features",null,null)),this._sendRestart(),!1},_sasl_auth1_cb:function(e){this.features=e;var t,n;for(t=0;t<e.childNodes.length;t++)n=e.childNodes[t],n.nodeName=="bind"&&(this.do_bind=!0),n.nodeName=="session"&&(this.do_session=!0);if(!this.do_bind)return this._changeConnectStatus(r.Status.AUTHFAIL,null),!1;this._addSysHandler(this._sasl_bind_cb.bind(this),null,null,null,"_bind_auth_2");var i=r.getResourceFromJid(this.jid);return i?this.send(o({type:"set",id:"_bind_auth_2"}).c("bind",{xmlns:r.NS.BIND}).c("resource",{}).t(i).tree()):this.send(o({type:"set",id:"_bind_auth_2"}).c("bind",{xmlns:r.NS.BIND}).tree()),!1},_sasl_bind_cb:function(e){if(e.getAttribute("type")=="error"){r.info("SASL binding failed.");var t=e.getElementsByTagName("conflict"),n;return t.length>0&&(n="conflict"),this._changeConnectStatus(r.Status.AUTHFAIL,n),!1}var i=e.getElementsByTagName("bind"),s;if(!(i.length>0))return r.info("SASL binding failed."),this._changeConnectStatus(r.Status.AUTHFAIL,null),!1;s=i[0].getElementsByTagName("jid"),s.length>0&&(this.jid=r.getText(s[0]),this.do_session?(this._addSysHandler(this._sasl_session_cb.bind(this),null,null,null,"_session_auth_2"),this.send(o({type:"set",id:"_session_auth_2"}).c("session",{xmlns:r.NS.SESSION}).tree())):(this.authenticated=!0,this._changeConnectStatus(r.Status.CONNECTED,null)))},_sasl_session_cb:function(e){if(e.getAttribute("type")=="result")this.authenticated=!0,this._changeConnectStatus(r.Status.CONNECTED,null);else if(e.getAttribute("type")=="error")return r.info("Session creation failed."),this._changeConnectStatus(r.Status.AUTHFAIL,null),!1;return!1},_sasl_failure_cb:function(e){return this._sasl_success_handler&&(this.deleteHandler(this._sasl_success_handler),this._sasl_success_handler=null),this._sasl_challenge_handler&&(this.deleteHandler(this._sasl_challenge_handler),this._sasl_challenge_handler=null),this._sasl_mechanism&&this._sasl_mechanism.onFailure(),this._changeConnectStatus(r.Status.AUTHFAIL,null),!1},_auth2_cb:function(e){return e.getAttribute("type")=="result"?(this.authenticated=!0,this._changeConnectStatus(r.Status.CONNECTED,null)):e.getAttribute("type")=="error"&&(this._changeConnectStatus(r.Status.AUTHFAIL,null),this.disconnect("authentication failed")),!1},_addSysTimedHandler:function(e,t){var n=new r.TimedHandler(e,t);return n.user=!1,this.addTimeds.push(n),n},_addSysHandler:function(e,t,n,i,s){var o=new r.Handler(e,t,n,i,s);return o.user=!1,this.addHandlers.push(o),o},_onDisconnectTimeout:function(){return r.info("_onDisconnectTimeout was called"),this._proto._onDisconnectTimeout(),this._doDisconnect(),!1},_onIdle:function(){var e,t,n,r;while(this.addTimeds.length>0)this.timedHandlers.push(this.addTimeds.pop());while(this.removeTimeds.length>0)t=this.removeTimeds.pop(),e=this.timedHandlers.indexOf(t),e>=0&&this.timedHandlers.splice(e,1);var i=(new Date).getTime();r=[];for(e=0;e<this.timedHandlers.length;e++){t=this.timedHandlers[e];if(this.authenticated||!t.user)n=t.lastCalled+t.period,n-i<=0?t.run()&&r.push(t):r.push(t)}this.timedHandlers=r,clearTimeout(this._idleTimeout),this._proto._onIdle(),this.connected&&(this._idleTimeout=setTimeout(this._onIdle.bind(this),100))}},r.SASLMechanism=function(e,t,n){this.name=e,this.isClientFirst=t,this.priority=n},r.SASLMechanism.prototype={test:function(e){return!0},onStart:function(e){this._connection=e},onChallenge:function(e,t){throw new Error("You should implement challenge handling!")},onFailure:function(){this._connection=null},onSuccess:function(){this._connection=null}},r.SASLAnonymous=function(){},r.SASLAnonymous.prototype=new r.SASLMechanism("ANONYMOUS",!1,10),r.SASLAnonymous.test=function(e){return e.authcid===null},r.Connection.prototype.mechanisms[r.SASLAnonymous.prototype.name]=r.SASLAnonymous,r.SASLPlain=function(){},r.SASLPlain.prototype=new r.SASLMechanism("PLAIN",!0,20),r.SASLPlain.test=function(e){return e.authcid!==null},r.SASLPlain.prototype.onChallenge=function(e){var t=e.authzid;return t+="\0",t+=e.authcid,t+="\0",t+=e.pass,t},r.Connection.prototype.mechanisms[r.SASLPlain.prototype.name]=r.SASLPlain,r.SASLSHA1=function(){},r.SASLSHA1.prototype=new r.SASLMechanism("SCRAM-SHA-1",!0,40),r.SASLSHA1.test=function(e){return e.authcid!==null},r.SASLSHA1.prototype.onChallenge=function(r,i,s){var o=s||n.hexdigest(Math.random()*1234567890),u="n="+r.authcid;return u+=",r=",u+=o,r._sasl_data.cnonce=o,r._sasl_data["client-first-message-bare"]=u,u="n,,"+u,this.onChallenge=function(n,r){var i,s,o,u,a,f,l,c,h,p,d,v="c=biws,",m=n._sasl_data["client-first-message-bare"]+","+r+",",g=n._sasl_data.cnonce,y=/([a-z]+)=([^,]+)(,|$)/;while(r.match(y)){var b=r.match(y);r=r.replace(b[0],"");switch(b[1]){case"r":i=b[2];break;case"s":s=b[2];break;case"i":o=b[2]}}if(i.substr(0,g.length)!==g)return n._sasl_data={},n._sasl_failure_cb();v+="r="+i,m+=v,s=t.decode(s),s+="\0\0\0\ 1",u=f=e.core_hmac_sha1(n.pass,s);for(l=1;l<o;l++){a=e.core_hmac_sha1(n.pass,e.binb2str(f));for(c=0;c<5;c++)u[c]^=a[c];f=a}u=e.binb2str(u),h=e.core_hmac_sha1(u,"Client Key"),p=e.str_hmac_sha1(u,"Server Key"),d=e.core_hmac_sha1(e.str_sha1(e.binb2str(h)),m),n._sasl_data["server-signature"]=e.b64_hmac_sha1(p,m);for(c=0;c<5;c++)h[c]^=d[c];return v+=",p="+t.encode(e.binb2str(h)),v}.bind(this),u},r.Connection.prototype.mechanisms[r.SASLSHA1.prototype.name]=r.SASLSHA1,r.SASLMD5=function(){},r.SASLMD5.prototype=new r.SASLMechanism("DIGEST-MD5",!1,30),r.SASLMD5.test=function(e){return e.authcid!==null},r.SASLMD5.prototype._quote=function(e){return'"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'},r.SASLMD5.prototype.onChallenge=function(e,t,r){var i=/([a-z]+)=("[^"]+"|[^,"]+)(?:,|$)/,s=r||n.hexdigest(""+Math.random()*1234567890),o="",u=null,a="",f="",l;while(t.match(i)){l=t.match(i),t=t.replace(l[0],""),l[2]=l[2].replace(/^"(.+)"$/,"$1");switch(l[1]){case"realm":o=l[2];break;case"nonce":a=l[2];break;case"qop":f=l[2];break;case"host":u=l[2]}}var c=e.servtype+"/"+e.domain;u!==null&&(c=c+"/"+u);var h=n.hash(e.authcid+":"+o+":"+this._connection.pass)+":"+a+":"+s,p="AUTHENTICATE:"+c,d="";return d+="charset=utf-8,",d+="username="+this._quote(e.authcid)+",",d+="realm="+this._quote(o)+",",d+="nonce="+this._quote(a)+",",d+="nc=00000001,",d+="cnonce="+this._quote(s)+",",d+="digest-uri="+this._quote(c)+",",d+="response="+n.hexdigest(n.hexdigest(h)+":"+a+":00000001:"+s+":auth:"+n.hexdigest(p))+",",d+="qop=auth",this.onChallenge=function(){return""}.bind(this),d},r.Connection.prototype.mechanisms[r.SASLMD5.prototype.name]=r.SASLMD5,{Strophe:r,$build:i,$msg:s,$iq:o,$pres:u,SHA1:e,Base64:t,MD5:n}}),function(e,t){if(typeof define!="function"||!define.amd)return t(Strophe,$build);define("strophe-bosh",["strophe-core"],function(e){return t(e.Strophe,e.$build)})}(this,function(e,t){return e.Request=function(t,n,r,i){this.id=++e._requestId,this.xmlData=t,this.data=e.serialize(t),this.origFunc=n,this.func=n,this.rid=r,this.date=NaN,this.sends=i||0,this.abort=!1,this.dead=null,this.age=function(){if(!this.date)return 0;var e=new Date;return(e-this.date)/1e3},this.timeDead=function(){if(!this.dead)return 0;var e=new Date;return(e-this.dead)/1e3},this.xhr=this._newXHR()},e.Request.prototype={getResponse:function(){var t=null;if(this.xhr.responseXML&&this.xhr.responseXML.documentElement){t=this.xhr.responseXML.documentElement;if(t.tagName=="parsererror")throw e.error("invalid response received"),e.error("responseText: "+this.xhr.responseText),e.error("responseXML: "+e.serialize(this.xhr.responseXML)),"parsererror"}else this.xhr.responseText&&(e.error("invalid response received"),e.error("responseText: "+this.xhr.responseText),e.error("responseXML: "+e.serialize(this.xhr.responseXML)));return t},_newXHR:function(){var e=null;return window.XMLHttpRequest?(e=new XMLHttpRequest,e.overrideMimeType&&e.overrideMimeType("text/xml; charset=utf-8")):window.ActiveXObject&&(e=new ActiveXObject("Microsoft.XMLHTTP")),e.onreadystatechange=this.func.bind(null,this),e}},e.Bosh=function(e){this._conn=e,this.rid=Math.floor(Math.random()*4294967295),this.sid=null,this.hold=1,this.wait=60,this.window=5,this.errors=0,this._requests=[]},e.Bosh.prototype={strip:null,_buildBody:function(){var n=t("body",{rid:this.rid++,xmlns:e.NS.HTTPBIND});return this.sid!==null&&n.attrs({sid:this.sid}),this._conn.options.keepalive&&this._cacheSession(),n},_reset:function(){this.rid=Math.floor(Math.random()*4294967295),this.sid=null,this.errors=0,window.sessionStorage.removeItem("strophe-bosh-session"),this._conn.nextValidRid(this.rid)},_connect:function(t,n,r){this.wait=t||this.wait,this.hold=n||this.hold,this.errors=0;var i=this._buildBody().attrs({to:this._conn.domain,"xml:lang":"en",wait:this.wait,hold:this.hold,content:"text/xml; charset=utf-8",ver:"1.6","xmpp:version":"1.0","xmlns:xmpp":e.NS.BOSH});r&&i.attrs({route:r});var s=this._conn._connect_cb;this._requests.push(new e.Request(i.tree(),this._onRequestStateChange.bind(this,s.bind(this._conn)),i.tree().getAttribute("rid"))),this._throttledRequestHandler()},_attach:function(t,n,r,i,s,o,u){this._conn.jid=t,this.sid=n,this.rid=r,this._conn.connect_callback=i,this._conn.domain=e.getDomainFromJid(this._conn.jid),this._conn.authenticated=!0,this._conn.connected=!0,this.wait=s||this.wait,this.hold=o||this.hold,this.window=u||this.window,this._conn._changeConnectStatus(e.Status.ATTACHED,null)},_restore:function(t,n,r,i,s){var o=JSON.parse(window.sessionStorage.getItem("strophe-bosh-session"));if(!(typeof o!="undefined"&&o!==null&&o.rid&&o.sid&&o.jid)||typeof t!="undefined"&&t!=="null"&&e.getBareJidFromJid(o.jid)!=e.getBareJidFromJid(t))throw{name:"StropheSessionError",message:"_restore: no restoreable session."};this._conn.restored=!0,this._attach(o.jid,o.sid,o.rid,n,r,i,s)},_cacheSession:function(){this._conn.authenticated?this._conn.jid&&this.rid&&this.sid&&window.sessionStorage.setItem("strophe-bosh-session",JSON.stringify({jid:this._conn.jid,rid:this.rid,sid:this.sid})):window.sessionStorage.removeItem("strophe-bosh-session")},_connect_cb:function(t){var n=t.getAttribute("type"),r,i;if(n!==null&&n=="terminate")return r=t.getAttribute("condition"),e.error("BOSH-Connection failed: "+r),i=t.getElementsByTagName("conflict"),r!==null?(r=="remote-stream-error"&&i.length>0&&(r="conflict"),this._conn._changeConnectStatus(e.Status.CONNFAIL,r)):this._conn._changeConnectStatus(e.Status.CONNFAIL,"unknown"),this._conn._doDisconnect(r),e.Status.CONNFAIL;this.sid||(this.sid=t.getAttribute("sid"));var s=t.getAttribute("requests");s&&(this.window=parseInt(s,10));var o=t.getAttribute("hold");o&&(this.hold=parseInt(o,10));var u=t.getAttribute("wait");u&&(this.wait=parseInt(u,10))},_disconnect:function(e){this._sendTerminate(e)},_doDisconnect:function(){this.sid=null,this.rid=Math.floor(Math.random()*4294967295),window.sessionStorage.removeItem("strophe-bosh-session"),this._conn.nextValidRid(this.rid)},_emptyQueue:function(){return this._requests.length===0},_hitError:function(t){this.errors++,e.warn("request errored, status: "+t+", number of errors: "+this.errors),this.errors>4&&this._conn._onDisconnectTimeout()},_no_auth_received:function(t){t?t=t.bind(this._conn):t=this._conn._connect_cb.bind(this._conn);var n=this._buildBody();this._requests.push(new e.Request(n.tree(),this._onRequestStateChange.bind(this,t.bind(this._conn)),n.tree().getAttribute("rid"))),this._throttledRequestHandler()},_onDisconnectTimeout:function(){this._abortAllRequests()},_abortAllRequests:function(){var t;while(this._requests.length>0)t=this._requests.pop(),t.abort=!0,t.xhr.abort(),t.xhr.onreadystatechange=function(){}},_onIdle:function(){var t=this._conn._data;this._conn.authenticated&&this._requests.length===0&&t.length===0&&!this._conn.disconnecting&&(e.info("no requests during idle cycle, sending blank request"),t.push(null));if(this._conn.paused)return;if(this._requests.length<2&&t.length>0){var n=this._buildBody();for(var r=0;r<t.length;r++)t[r]!==null&&(t[r]==="restart"?n.attrs({to:this._conn.domain,"xml:lang":"en","xmpp:restart":"true","xmlns:xmpp":e.NS.BOSH}):n.cnode(t[r]).up());delete this._conn._data,this._conn._data=[],this._requests.push(new e.Request(n.tree(),this._onRequestStateChange.bind(this,this._conn._dataRecv.bind(this._conn)),n.tree().getAttribute("rid"))),this._throttledRequestHandler()}if(this._requests.length>0){var i=this._requests[0].age();this._requests[0].dead!==null&&this._requests[0].timeDead()>Math.floor(e.SECONDARY_TIMEOUT*this.wait)&&this._throttledRequestHandler(),i>Math.floor(e.TIMEOUT*this.wait)&&(e.warn("Request "+this._requests[0].id+" timed out, over "+Math.floor(e.TIMEOUT*this.wait)+" seconds since last activity"),this._throttledRequestHandler())}},_onRequestStateChange:function(t,n){e.debug("request id "+n.id+"."+n.sends+" state changed to "+n.xhr.readyState);if(n.abort){n.abort=!1;return}var r;if(n.xhr.readyState==4){r=0;try{r=n.xhr.status}catch(i){}typeof r=="undefined"&&(r=0);if(this.disconnecting&&r>=400){this._hitError(r);return}var s=this._requests[0]==n,o=this._requests[1]==n;if(r>0&&r<500||n.sends>5)this._removeRequest(n),e.debug("request id "+n.id+" should now be removed");if(r==200)(o||s&&this._requests.length>0&&this._requests[0].age()>Math.floor(e.SECONDARY_TIMEOUT*this.wait))&&this._restartRequest(0),this._conn.nextValidRid(Number(n.rid)+1),e.debug("request id "+n.id+"."+n.sends+" got 200"),t(n),this.errors=0;else{e.error("request id "+n.id+"."+n.sends+" error "+r+" happened");if(r===0||r>=400&&r<600||r>=12e3)this._hitError(r),r>=400&&r<500&&(this._conn._changeConnectStatus(e.Status.DISCONNECTING,null),this._conn._doDisconnect())}r>0&&r<500||n.sends>5||this._throttledRequestHandler()}},_processRequest:function(t){var n=this,r=this._requests[t],i=-1;try{r.xhr.readyState==4&&(i=r.xhr.status)}catch(s){e.error("caught an error in _requests["+t+"], reqStatus: "+i)}typeof i=="undefined"&&(i=-1);if(r.sends>this._conn.maxRetries){this._conn._onDisconnectTimeout();return}var o=r.age(),u=!isNaN(o)&&o>Math.floor(e.TIMEOUT*this.wait),a=r.dead!==null&&r.timeDead()>Math.floor(e.SECONDARY_TIMEOUT*this.wait),f=r.xhr.readyState==4&&(i<1||i>=500);if(u||a||f)a&&e.error("Request "+this._requests[t].id+" timed out (secondary), restarting"),r.abort=!0,r.xhr.abort(),r.xhr.onreadystatechange=function(){},this._requests[t]=new e.Request(r.xmlData,r.origFunc,r.rid,r.sends),r=this._requests[t];if(r.xhr.readyState===0){e.debug("request id "+r.id+"."+r.sends+" posting");try{r.xhr.open("POST",this._conn.service,this._conn.options.sync?!1:!0),r.xhr.setRequestHeader("Content-Type","text/xml; charset=utf-8")}catch(l){e.error("XHR open failed."),this._conn.connected||this._conn._changeConnectStatus(e.Status.CONNFAIL,"bad-service"),this._conn.disconnect();return}var c=function(){r.date=new Date;if(n._conn.options.customHeaders){var e=n._conn.options.customHeaders;for(var t in e)e.hasOwnProperty(t)&&r.xhr.setRequestHeader(t,e[t])}r.xhr.send(r.data)};if(r.sends>1){var h=Math.min(Math.floor(e.TIMEOUT*this.wait),Math.pow(r.sends,3))*1e3;setTimeout(c,h)}else c();r.sends++,this._conn.xmlOutput!==e.Connection.prototype.xmlOutput&&(r.xmlData.nodeName===this.strip&&r.xmlData.childNodes.length?this._conn.xmlOutput(r.xmlData.childNodes[0]):this._conn.xmlOutput(r.xmlData)),this._conn.rawOutput!==e.Connection.prototype.rawOutput&&this._conn.rawOutput(r.data)}else e.debug("_processRequest: "+(t===0?"first":"second")+" request has readyState of "+r.xhr.readyState)},_removeRequest:function(t){e.debug("removing request");var n;for(n=this._requests.length-1;n>=0;n--)t==this._requests[n]&&this._requests.splice(n,1);t.xhr.onreadystatechange=function(){},this._throttledRequestHandler()},_restartRequest:function(e){var t=this._requests[e];t.dead===null&&(t.dead=new Date),this._processRequest(e)},_reqToData:function(e){try{return e.getResponse()}catch(t){if(t!="parsererror")throw t;this._conn.disconnect("strophe-parsererror")}},_sendTerminate:function(t){e.info("_sendTerminate was called");var n=this._buildBody().attrs({type:"terminate"});t&&n.cnode(t.tree());var r=new e.Request(n.tree(),this._onRequestStateChange.bind(this,this._conn._dataRecv.bind(this._conn)),n.tree().getAttribute("rid"));this._requests.push(r),this._throttledRequestHandler()},_send:function(){clearTimeout(this._conn._idleTimeout),this._throttledRequestHandler(),this._conn._idleTimeout=setTimeout(this._conn._onIdle.bind(this._conn),100)},_sendRestart:function(){this._throttledRequestHandler(),clearTimeout(this._conn._idleTimeout)},_throttledRequestHandler:function(){this._requests?e.debug("_throttledRequestHandler called with "+this._requests.length+" requests"):e.debug("_throttledRequestHandler called with undefined requests");if(!this._requests||this._requests.length===0)return;this._requests.length>0&&this._processRequest(0),this._requests.length>1&&Math.abs(this._requests[0].rid-this._requests[1].rid)<this.window&&this._processRequest(1)}},e}),function(e,t){if(typeof define!="function"||!define.amd)return t(Strophe,$build);define("strophe-websocket",["strophe-core"],function(e){return t(e.Strophe,e.$build)})}(this,function(e,t){return e.Websocket=function(e){this._conn=e,this.strip="wrapper";var t=e.service;if(t.indexOf("ws:")!==0&&t.indexOf("wss:")!==0){var n="";e.options.protocol==="ws"&&window.location.protocol!=="https:"?n+="ws":n+="wss",n+="://"+window.location.host,t.indexOf("/")!==0?n+=window.location.pathname+t:n+=t,e.service=n}},e.Websocket.prototype={_buildStream:function(){return t("open",{xmlns:e.NS.FRAMING,to:this._conn.domain,version:"1.0"})},_check_streamerror:function(t,n){var r;t.getElementsByTagNameNS?r=t.getElementsByTagNameNS(e.NS.STREAM,"error"):r=t.getElementsByTagName("stream:error");if(r.length===0)return!1;var i=r[0],s="",o="",u="urn:ietf:params:xml:ns:xmpp-streams";for(var a=0;a<i.childNodes.length;a++){var f=i.childNodes[a];if(f.getAttribute("xmlns")!==u)break;f.nodeName==="text"?o=f.textContent:s=f.nodeName}var l="WebSocket stream error: ";return s?l+=s:l+="unknown",o&&(l+=" - "+s),e.error(l),this._conn._changeConnectStatus(n,s),this._conn._doDisconnect(),!0},_reset:function(){return},_connect:function(){this._closeSocket(),this.socket=new WebSocket(this._conn.service,"xmpp"),this.socket.onopen=this._onOpen.bind(this),this.socket.onerror=this._onError.bind(this),this.socket.onclose=this._onClose.bind(this),this.socket.onmessage=this._connect_cb_wrapper.bind(this)},_connect_cb:function(t){var n=this._check_streamerror(t,e.Status.CONNFAIL);if(n)return e.Status.CONNFAIL},_handleStreamStart:function(t){var n=!1,r=t.getAttribute("xmlns");typeof r!="string"?n="Missing xmlns in <open />":r!==e.NS.FRAMING&&(n="Wrong xmlns in <open />: "+r);var i=t.getAttribute("version");return typeof i!="string"?n="Missing version in <open />":i!=="1.0"&&(n="Wrong version in <open />: "+i),n?(this._conn._changeConnectStatus(e.Status.CONNFAIL,n),this._conn._doDisconnect(),!1):!0},_connect_cb_wrapper:function(t){if(t.data.indexOf("<open ")===0||t.data.indexOf("<?xml")===0){var n=t.data.replace(/^(<\?.*?\?>\s*)*/,"");if(n==="")return;var r=(new DOMParser).parseFromString(n,"text/xml").documentElement;this._conn.xmlInput(r),this._conn.rawInput(t.data),this._handleStreamStart(r)&&this._connect_cb(r)}else if(t.data.indexOf("<close ")===0){this._conn.rawInput(t.data),this._conn.xmlInput(t);var i=t.getAttribute("see-other-uri");i?(this._conn._changeConnectStatus(e.Status.REDIRECT,"Received see-other-uri, resetting connection"),this._conn.reset(),this._conn.service=i,this._connect()):(this._conn._changeConnectStatus(e.Status.CONNFAIL,"Received closing stream"),this._conn._doDisconnect())}else{var s=this._streamWrap(t.data),o=(new DOMParser).parseFromString(s,"text/xml").documentElement;this.socket.onmessage=this._onMessage.bind(this),this._conn._connect_cb(o,null,t.data)}},_disconnect:function(n){if(this.socket&&this.socket.readyState!==WebSocket.CLOSED){n&&this._conn.send(n);var r=t("close",{xmlns:e.NS.FRAMING});this._conn.xmlOutput(r);var i=e.serialize(r);this._conn.rawOutput(i);try{this.socket.send(i)}catch(s){e.info("Couldn't send <close /> tag.")}}this._conn._doDisconnect()},_doDisconnect:function(){e.info("WebSockets _doDisconnect was called"),this._closeSocket()},_streamWrap:function(e){return"<wrapper>"+e+"</wrapper>"},_closeSocket:function(){if(this.socket)try{this.socket.close()}catch(e){}this.socket=null},_emptyQueue:function(){return!0},_onClose:function(){this._conn.connected&&!this._conn.disconnecting?(e.error("Websocket closed unexcectedly"),this._conn._doDisconnect()):e.info("Websocket closed")},_no_auth_received:function(t){e.error("Server did not send any auth methods"),this._conn._changeConnectStatus(e.Status.CONNFAIL,"Server did not send any auth methods"),t&&(t=t.bind(this._conn),t()),this._conn._doDisconnect()},_onDisconnectTimeout:function(){},_abortAllRequests:function(){},_onError:function(t){e.error("Websocket error "+t),this._conn._changeConnectStatus(e.Status.CONNFAIL,"The WebSocket connection could not be established was disconnected."),this._disconnect()},_onIdle:function(){var t=this._conn._data;if(t.length>0&&!this._conn.paused){for(var n=0;n<t.length;n++)if(t[n]!==null){var r,i;t[n]==="restart"?r=this._buildStream().tree():r=t[n],i=e.serialize(r),this._conn.xmlOutput(r),this._conn.rawOutput(i),this.socket.send(i)}this._conn._data=[]}},_onMessage:function(t){var n,r,i='<close xmlns="urn:ietf:params:xml:ns:xmpp-framing" />';if(t.data===i){this._conn.rawInput(i),this._conn.xmlInput(t),this._conn.disconnecting||this._conn._doDisconnect();return}if(t.data.search("<open ")===0){n=(new DOMParser).parseFromString(t.data,"text/xml").documentElement;if(!this._handleStreamStart(n))return}else r=this._streamWrap(t.data),n=(new DOMParser).parseFromString(r,"text/xml").documentElement;if(this._check_streamerror(n,e.Status.ERROR))return;if(this._conn.disconnecting&&n.firstChild.nodeName==="presence"&&n.firstChild.getAttribute("type")==="unavailable"){this._conn.xmlInput(n),this._conn.rawInput(e.serialize(n));return}this._conn._dataRecv(n,t.data)},_onOpen:function(){e.info("Websocket open");var t=this._buildStream();this._conn.xmlOutput(t.tree());var n=e.serialize(t);this._conn.rawOutput(n),this.socket.send(n)},_reqToData:function(e){return e},_send:function(){this._conn.flush()},_sendRestart:function(){clearTimeout(this._conn._idleTimeout),this._conn._onIdle.bind(this._conn)()}},e}),define("strophe",["strophe-core","strophe-bosh","strophe-websocket"],function(e){return e}),function(e,t){typeof define=="function"&&define.amd?define("strophe.disco",["strophe"],function(e){return t(e.Strophe,e.$build,e.$iq,e.$msg,e.$pres),e}):t(e.Strophe,e.$build,e.$iq,e.$msg,e.$pres)}(this,function(e,t,n,r,i){e.addConnectionPlugin("disco",{_connection:null,_identities:[],_features:[],_items:[],init:function(t){this._connection=t,this._identities=[],this._features=[],this._items=[],t.addHandler(this._onDiscoInfo.bind(this),e.NS.DISCO_INFO,"iq","get",null,null),t.addHandler(this._onDiscoItems.bind(this),e.NS.DISCO_ITEMS,"iq","get",null,null)},addIdentity:function(e,t,n,r){for(var i=0;i<this._identities.length;i++)if(this._identities[i].category==e&&this._identities[i].type==t&&this._identities[i].name==n&&this._identities[i].lang==r)return!1;return this._identities.push({category:e,type:t,name:n,lang:r}),!0},addFeature:function(e){for(var t=0;t<this._features.length;t++)if(this._features[t]==e)return!1;return this._features.push(e),!0},removeFeature:function(e){for(var t=0;t<this._features.length;t++)if(this._features[t]===e)return this._features.splice(t,1),!0;return!1},addItem:function(e,t,n,r){return n&&!r?!1:(this._items.push({jid:e,name:t,node:n,call_back:r}),!0)},info:function(t,r,i,s,o){var u={xmlns:e.NS.DISCO_INFO};r&&(u.node=r);var a=n({from:this._connection.jid,to:t,type:"get"}).c("query",u);this._connection.sendIQ(a,i,s,o)},items:function(t,r,i,s,o){var u={xmlns:e.NS.DISCO_ITEMS};r&&(u.node=r);var a=n({from:this._connection.jid,to:t,type:"get"}).c("query",u);this._connection.sendIQ(a,i,s,o)},_buildIQResult:function(e,t){var r=e.getAttribute("id"),i=e.getAttribute("from"),s=n({type:"result",id:r});return i!==null&&s.attrs({to:i}),s.c("query",t)},_onDiscoInfo:function(t){var n=t.getElementsByTagName("query")[0].getAttribute("node"),r={xmlns:e.NS.DISCO_INFO},i;n&&(r.node=n);var s=this._buildIQResult(t,r);for(i=0;i<this._identities.length;i++)r={category:this._identities[i].category,type:this._identities[i].type},this._identities[i].name&&(r.name=this._identities[i].name),this._identities[i].lang&&(r["xml:lang"]=this._identities[i].lang),s.c("identity",r).up();for(i=0;i<this._features.length;i++)s.c("feature",{"var":this._features[i]}).up();return this._connection.send(s.tree()),!0},_onDiscoItems:function(t){var n={xmlns:e.NS.DISCO_ITEMS},r=t.getElementsByTagName("query")[0].getAttribute("node"),i,s;if(r){n.node=r,i=[];for(s=0;s<this._items.length;s++)if(this._items[s].node==r){i=this._items[s].call_back(t);break}}else i=this._items;var o=this._buildIQResult(t,n);for(s=0;s<i.length;s++){var u={jid:i[s].jid};i[s].name&&(u.name=i[s].name),i[s].node&&(u.node=i[s].node),o.c("item",u).up()}return this._connection.send(o.tree()),!0}})}),function(e,t){typeof define=="function"&&define.amd?define("strophe.ping",["strophe"],function(e){return t(e.Strophe,e.$build,e.$iq,e.$msg,e.$pres),e}):t(e.Strophe,e.$build,e.$iq,e.$msg,e.$pres)}(this,function(e,t,n,r,i){e.addConnectionPlugin("ping",{_c:null,init:function(t){this._c=t,e.addNamespace("PING","urn:xmpp:ping")},ping:function(t,r,i,s){var o=this._c.getUniqueId("ping"),u=n({type:"get",to:t,id:o}).c("ping",{xmlns:e.NS.PING});this._c.sendIQ(u,r,i,s)},pong:function(e){var t=e.getAttribute("from"),r=e.getAttribute("id"),i=n({type:"result",to:t,id:r});this._c.sendIQ(i)},addPingHandler:function(t){return this._c.addHandler(t,e.NS.PING,"iq","get")}})}),function(e,t){typeof define=="function"&&define.amd?define("strophe.rsm",["strophe"],function(e){return t(e.Strophe,e.$build,e.$iq,e.$msg,e.$pres),e}):t(e.Strophe,e.$build,e.$iq,e.$msg,e.$pres)}(this,function(e,t,n,r,i){e.addNamespace("RSM","http://jabber.org/protocol/rsm"),e.RSM=function(e){this.attribs=["max","first","last","after","before","index","count"];if(typeof e.xml!="undefined")this.fromXMLElement(e.xml);else for(var t=0;t<this.attribs.length;t++){var n=this.attribs[t];this[n]=e[n]}},e.RSM.prototype={toXML:function(){var n=t("set",{xmlns:e.NS.RSM});for(var r=0;r<this.attribs.length;r++){var i=this.attribs[r];typeof this[i]!="undefined"&&(n=n.c(i).t(this[i].toString()).up())}return n.tree()},next:function(t){var n=new e.RSM({max:t,after:this.last});return n},previous:function(t){var n=new e.RSM({max:t,before:this.first});return n},fromXMLElement:function(t){for(var n=0;n<this.attribs.length;n++){var r=this.attribs[n],i=t.getElementsByTagName(r)[0];typeof i!="undefined"&&i!==null&&(this[r]=e.getText(i),r=="first"&&(this.index=i.getAttribute("index")))}}}}),function(e,t){typeof define=="function"&&define.amd?define("strophe.vcard",["strophe"],function(e){return t(e.Strophe,e.$build,e.$iq,e.$msg,e.$pres),e}):t(e.Strophe,e.$build,e.$iq,e.$msg,e.$pres)}(this,function(e,t,n,r,i){var s=function(t,r,i){var s=n(r?{type:t,to:r}:{type:t});return s.c("vCard",{xmlns:e.NS.VCARD}),i&&s.cnode(i),s};e.addConnectionPlugin("vcard",{_connection:null,init:function(t){return this._connection=t,e.addNamespace("VCARD","vcard-temp")},get:function(e,t,n){var r=s("get",t);return this._connection.sendIQ(r,e,n)},set:function(e,t,n,r){var i=s("set",n,t);return this._connection.sendIQ(i,e,r)}})}),function(e,t){if(typeof define=="function"&&define.amd)define("backbone",["underscore","jquery","exports"],function(n,r,i){e.Backbone=t(e,i,n,r)});else if(typeof exports!="undefined"){var n=require("underscore");t(e,exports,n)}else e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}(this,function(e,t,n,r){var i=e.Backbone,s=[],o=s.push,u=s.slice,a=s.splice;t.VERSION="1.1.2",t.$=r,t.noConflict=function(){return e.Backbone=i,this},t.emulateHTTP=!1,t.emulateJSON=!1;var f=t.Events={on:function(e,t,n){if(!c(this,"on",e,[t,n])||!t)return this;this._events||(this._events={});var r=this._events[e]||(this._events[e]=[]);return r.push({callback:t,context:n,ctx:n||this}),this},once:function(e,t,r){if(!c(this,"once",e,[t,r])||!t)return this;var i=this,s=n.once(function(){i.off(e,s),t.apply(this,arguments)});return s._callback=t,this.on(e,s,r)},off:function(e,t,r){var i,s,o,u,a,f,l,h;if(!this._events||!c(this,"off",e,[t,r]))return this;if(!e&&!t&&!r)return this._events=void 0,this;u=e?[e]:n.keys(this._events);for(a=0,f=u.length;a<f;a++){e=u[a];if(o=this._events[e]){this._events[e]=i=[];if(t||r)for(l=0,h=o.length;l<h;l++)s=o[l],(t&&t!==s.callback&&t!==s.callback._callback||r&&r!==s.context)&&i.push(s);i.length||delete this._events[e]}}return this},trigger:function(e){if(!this._events)return this;var t=u.call(arguments,1);if(!c(this,"trigger",e,t))return this;var n=this._events[e],r=this._events.all;return n&&h(n,t),r&&h(r,arguments),this},stopListening:function(e,t,r){var i=this._listeningTo;if(!i)return this;var s=!t&&!r;!r&&typeof t=="object"&&(r=this),e&&((i={})[e._listenId]=e);for(var o in i)e=i[o],e.off(t,r,this),(s||n.isEmpty(e._events))&&delete this._listeningTo[o];return this}},l=/\s+/,c=function(e,t,n,r){if(!n)return!0;if(typeof n=="object"){for(var i in n)e[t].apply(e,[i,n[i]].concat(r));return!1}if(l.test(n)){var s=n.split(l);for(var o=0,u=s.length;o<u;o++)e[t].apply(e,[s[o]].concat(r));return!1}return!0},h=function(e,t){var n,r=-1,i=e.length,s=t[0],o=t[1],u=t[2];switch(t.length){case 0:while(++r<i)(n=e[r]).callback.call(n.ctx);return;case 1:while(++r<i)(n=e[r]).callback.call(n.ctx,s);return;case 2:while(++r<i)(n=e[r]).callback.call(n.ctx,s,o);return;case 3:while(++r<i)(n=e[r]).callback.call(n.ctx,s,o,u);return;default:while(++r<i)(n=e[r]).callback.apply(n.ctx,t);return}},p={listenTo:"on",listenToOnce:"once"};n.each(p,function(e,t){f[t]=function(t,r,i){var s=this._listeningTo||(this._listeningTo={}),o=t._listenId||(t._listenId=n.uniqueId("l"));return s[o]=t,!i&&typeof r=="object"&&(i=this),t[e](r,i,this),this}}),f.bind=f.on,f.unbind=f.off,n.extend(t,f);var d=t.Model=function(e,t){var r=e||{};t||(t={}),this.cid=n.uniqueId("c"),this.attributes={},t.collection&&(this.collection=t.collection),t.parse&&(r=this.parse(r,t)||{}),r=n.defaults({},r,n.result(this,"defaults")),this.set(r,t),this.changed={},this.initialize.apply(this,arguments)};n.extend(d.prototype,f,{changed:null,validationError:null,idAttribute:"id",initialize:function(){},toJSON:function(e){return n.clone(this.attributes)},sync:function(){return t.sync.apply(this,arguments)},get:function(e){return this.attributes[e]},escape:function(e){return n.escape(this.get(e))},has:function(e){return this.get(e)!=null},set:function(e,t,r){var i,s,o,u,a,f,l,c;if(e==null)return this;typeof e=="object"?(s=e,r=t):(s={})[e]=t,r||(r={});if(!this._validate(s,r))return!1;o=r.unset,a=r.silent,u=[],f=this._changing,this._changing=!0,f||(this._previousAttributes=n.clone(this.attributes),this.changed={}),c=this.attributes,l=this._previousAttributes,this.idAttribute in s&&(this.id=s[this.idAttribute]);for(i in s)t=s[i],n.isEqual(c[i],t)||u.push(i),n.isEqual(l[i],t)?delete this.changed[i]:this.changed[i]=t,o?delete c[i]:c[i]=t;if(!a){u.length&&(this._pending=r);for(var h=0,p=u.length;h<p;h++)this.trigger("change:"+u[h],this,c[u[h]],r)}if(f)return this;if(!a)while(this._pending)r=this._pending,this._pending=!1,this.trigger("change",this,r);return this._pending=!1,this._changing=!1,this},unset:function(e,t){return this.set(e,void 0,n.extend({},t,{unset:!0}))},clear:function(e){var t={};for(var r in this.attributes)t[r]=void 0;return this.set(t,n.extend({},e,{unset:!0}))},hasChanged:function(e){return e==null?!n.isEmpty(this.changed):n.has(this.changed,e)},changedAttributes:function(e){if(!e)return this.hasChanged()?n.clone(this.changed):!1;var t,r=!1,i=this._changing?this._previousAttributes:this.attributes;for(var s in e){if(n.isEqual(i[s],t=e[s]))continue;(r||(r={}))[s]=t}return r},previous:function(e){return e==null||!this._previousAttributes?null:this._previousAttributes[e]},previousAttributes:function(){return n.clone(this._previousAttributes)},fetch:function(e){e=e?n.clone(e):{},e.parse===void 0&&(e.parse=!0);var t=this,r=e.success;return e.success=function(n){if(!t.set(t.parse(n,e),e))return!1;r&&r(t,n,e),t.trigger("sync",t,n,e)},I(this,e),this.sync("read",this,e)},save:function(e,t,r){var i,s,o,u=this.attributes;e==null||typeof e=="object"?(i=e,r=t):(i={})[e]=t,r=n.extend({validate:!0},r);if(i&&!r.wait){if(!this.set(i,r))return!1}else if(!this._validate(i,r))return!1;i&&r.wait&&(this.attributes=n.extend({},u,i)),r.parse===void 0&&(r.parse=!0);var a=this,f=r.success;return r.success=function(e){a.attributes=u;var t=a.parse(e,r);r.wait&&(t=n.extend(i||{},t));if(n.isObject(t)&&!a.set(t,r))return!1;f&&f(a,e,r),a.trigger("sync",a,e,r)},I(this,r),s=this.isNew()?"create":r.patch?"patch":"update",s==="patch"&&(r.attrs=i),o=this.sync(s,this,r),i&&r.wait&&(this.attributes=u),o},destroy:function(e){e=e?n.clone(e):{};var t=this,r=e.success,i=function(){t.trigger("destroy",t,t.collection,e)};e.success=function(n){(e.wait||t.isNew())&&i(),r&&r(t,n,e),t.isNew()||t.trigger("sync",t,n,e)};if(this.isNew())return e.success(),!1;I(this,e);var s=this.sync("delete",this,e);return e.wait||i(),s},url:function(){var e=n.result(this,"urlRoot")||n.result(this.collection,"url")||F();return this.isNew()?e:e.replace(/([^\/])$/,"$1/")+encodeURIComponent(this.id)},parse:function(e,t){return e},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(e){return this._validate({},n.extend(e||{},{validate:!0}))},_validate:function(e,t){if(!t.validate||!this.validate)return!0;e=n.extend({},this.attributes,e);var r=this.validationError=this.validate(e,t)||null;return r?(this.trigger("invalid",this,r,n.extend(t,{validationError:r})),!1):!0}});var v=["keys","values","pairs","invert","pick","omit"];n.each(v,function(e){d.prototype[e]=function(){var t=u.call(arguments);return t.unshift(this.attributes),n[e].apply(n,t)}});var m=t.Collection=function(e,t){t||(t={}),t.model&&(this.model=t.model),t.comparator!==void 0&&(this.comparator=t.comparator),this._reset(),this.initialize.apply(this,arguments),e&&this.reset(e,n.extend({silent:!0},t))},g={add:!0,remove:!0,merge:!0},y={add:!0,remove:!1};n.extend(m.prototype,f,{model:d,initialize:function(){},toJSON:function(e){return this.map(function(t){return t.toJSON(e)})},sync:function(){return t.sync.apply(this,arguments)},add:function(e,t){return this.set(e,n.extend({merge:!1},t,y))},remove:function(e,t){var r=!n.isArray(e);e=r?[e]:n.clone(e),t||(t={});var i,s,o,u;for(i=0,s=e.length;i<s;i++){u=e[i]=this.get(e[i]);if(!u)continue;delete this._byId[u.id],delete this._byId[u.cid],o=this.indexOf(u),this.models.splice(o,1),this.length--,t.silent||(t.index=o,u.trigger("remove",u,this,t)),this._removeReference(u,t)}return r?e[0]:e},set:function(e,t){t=n.defaults({},t,g),t.parse&&(e=this.parse(e,t));var r=!n.isArray(e);e=r?e?[e]:[]:n.clone(e);var i,s,o,u,a,f,l,c=t.at,h=this.model,p=this.comparator&&c==null&&t.sort!==!1,v=n.isString(this.comparator)?this.comparator:null,m=[],y=[],b={},w=t.add,E=t.merge,S=t.remove,x=!p&&w&&S?[]:!1;for(i=0,s=e.length;i<s;i++){a=e[i]||{},a instanceof d?o=u=a:o=a[h.prototype.idAttribute||"id"];if(f=this.get(o))S&&(b[f.cid]=!0),E&&(a=a===u?u.attributes:a,t.parse&&(a=f.parse(a,t)),f.set(a,t),p&&!l&&f.hasChanged(v)&&(l=!0)),e[i]=f;else if(w){u=e[i]=this._prepareModel(a,t);if(!u)continue;m.push(u),this._addReference(u,t)}u=f||u,x&&(u.isNew()||!b[u.id])&&x.push(u),b[u.id]=!0}if(S){for(i=0,s=this.length;i<s;++i)b[(u=this.models[i]).cid]||y.push(u);y.length&&this.remove(y,t)}if(m.length||x&&x.length){p&&(l=!0),this.length+=m.length;if(c!=null)for(i=0,s=m.length;i<s;i++)this.models.splice(c+i,0,m[i]);else{x&&(this.models.length=0);var T=x||m;for(i=0,s=T.length;i<s;i++)this.models.push(T[i])}}l&&this.sort({silent:!0});if(!t.silent){for(i=0,s=m.length;i<s;i++)(u=m[i]).trigger("add",u,this,t);(l||x&&x.length)&&this.trigger("sort",this,t)}return r?e[0]:e},reset:function(e,t){t||(t={});for(var r=0,i=this.models.length;r<i;r++)this._removeReference(this.models[r],t);return t.previousModels=this.models,this._reset(),e=this.add(e,n.extend({silent:!0},t)),t.silent||this.trigger("reset",this,t),e},push:function(e,t){return this.add(e,n.extend({at:this.length},t))},pop:function(e){var t=this.at(this.length-1);return this.remove(t,e),t},unshift:function(e,t){return this.add(e,n.extend({at:0},t))},shift:function(e){var t=this.at(0);return this.remove(t,e),t},slice:function(){return u.apply(this.models,arguments)},get:function(e){return e==null?void 0:this._byId[e]||this._byId[e.id]||this._byId[e.cid]},at:function(e){return this.models[e]},where:function(e,t){return n.isEmpty(e)?t?void 0:[]:this[t?"find":"filter"](function(t){for(var n in e)if(e[n]!==t.get(n))return!1;return!0})},findWhere:function(e){return this.where(e,!0)},sort:function(e){if(!this.comparator)throw new Error("Cannot sort a set without a comparator");return e||(e={}),n.isString(this.comparator)||this.comparator.length===1?this.models=this.sortBy(this.comparator,this):this.models.sort(n.bind(this.comparator,this)),e.silent||this.trigger("sort",this,e),this},pluck:function(e){return n.invoke(this.models,"get",e)},fetch:function(e){e=e?n.clone(e):{},e.parse===void 0&&(e.parse=!0);var t=e.success,r=this;return e.success=function(n){var i=e.reset?"reset":"set";r[i](n,e),t&&t(r,n,e),r.trigger("sync",r,n,e)},I(this,e),this.sync("read",this,e)},create:function(e,t){t=t?n.clone(t):{};if(!(e=this._prepareModel(e,t)))return!1;t.wait||this.add(e,t);var r=this,i=t.success;return t.success=function(e,n){t.wait&&r.add(e,t),i&&i(e,n,t)},e.save(null,t),e},parse:function(e,t){return e},clone:function(){return new this.constructor(this.models)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(e,t){if(e instanceof d)return e;t=t?n.clone(t):{},t.collection=this;var r=new this.model(e,t);return r.validationError?(this.trigger("invalid",this,r.validationError,t),!1):r},_addReference:function(e,t){this._byId[e.cid]=e,e.id!=null&&(this._byId[e.id]=e),e.collection||(e.collection=this),e.on("all",this._onModelEvent,this)},_removeReference:function(e,t){this===e.collection&&delete e.collection,e.off("all",this._onModelEvent,this)},_onModelEvent:function(e,t,n,r){if((e==="add"||e==="remove")&&n!==this)return;e==="destroy"&&this.remove(t,r),t&&e==="change:"+t.idAttribute&&(delete this._byId[t.previous(t.idAttribute)],t.id!=null&&(this._byId[t.id]=t)),this.trigger.apply(this,arguments)}});var b=["forEach","each","map","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","toArray","size","first","head","take","initial","rest","tail","drop","last","without","difference","indexOf","shuffle","lastIndexOf","isEmpty","chain","sample"];n.each(b,function(e){m.prototype[e]=function(){var t=u.call(arguments);return t.unshift(this.models),n[e].apply(n,t)}});var w=["groupBy","countBy","sortBy","indexBy"];n.each(w,function(e){m.prototype[e]=function(t,r){var i=n.isFunction(t)?t:function(e){return e.get(t)};return n[e](this.models,i,r)}});var E=t.View=function(e){this.cid=n.uniqueId("view"),e||(e={}),n.extend(this,n.pick(e,x)),this._ensureElement(),this.initialize.apply(this,arguments),this.delegateEvents()},S=/^(\S+)\s*(.*)$/,x=["model","collection","el","id","attributes","className","tagName","events"];n.extend(E.prototype,f,{tagName:"div",$:function(e){return this.$el.find(e)},initialize:function(){},render:function(){return this},remove:function(){return this.$el.remove(),this.stopListening(),this},setElement:function(e,n){return this.$el&&this.undelegateEvents(),this.$el=e instanceof t.$?e:t.$(e),this.el=this.$el[0],n!==!1&&this.delegateEvents(),this},delegateEvents:function(e){if(!e&&!(e=n.result(this,"events")))return this;this.undelegateEvents();for(var t in e){var r=e[t];n.isFunction(r)||(r=this[e[t]]);if(!r)continue;var i=t.match(S),s=i[1],o=i[2];r=n.bind(r,this),s+=".delegateEvents"+this.cid,o===""?this.$el.on(s,r):this.$el.on(s,o,r)}return this},undelegateEvents:function(){return this.$el.off(".delegateEvents"+this.cid),this},_ensureElement:function(){if(!this.el){var e=n.extend({},n.result(this,"attributes"));this.id&&(e.id=n.result(this,"id")),this.className&&(e["class"]=n.result(this,"className"));var r=t.$("<"+n.result(this,"tagName")+">").attr(e);this.setElement(r,!1)}else this.setElement(n.result(this,"el"),!1)}}),t.sync=function(e,r,i){var s=N[e];n.defaults(i||(i={}),{emulateHTTP:t.emulateHTTP,emulateJSON:t.emulateJSON});var o={type:s,dataType:"json"};i.url||(o.url=n.result(r,"url")||F()),i.data==null&&r&&(e==="create"||e==="update"||e==="patch")&&(o.contentType="application/json",o.data=JSON.stringify(i.attrs||r.toJSON(i))),i.emulateJSON&&(o.contentType="application/x-www-form-urlencoded",o.data=o.data?{model:o.data}:{});if(i.emulateHTTP&&(s==="PUT"||s==="DELETE"||s==="PATCH")){o.type="POST",i.emulateJSON&&(o.data._method=s);var u=i.beforeSend;i.beforeSend=function(e){e.setRequestHeader("X-HTTP-Method-Override",s);if(u)return u.apply(this,arguments)}}o.type!=="GET"&&!i.emulateJSON&&(o.processData=!1),o.type==="PATCH"&&T&&(o.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")});var a=i.xhr=t.ajax(n.extend(o,i));return r.trigger("request",r,a,i),a};var T=typeof window!="undefined"&&!!window.ActiveXObject&&(!window.XMLHttpRequest||!(new XMLHttpRequest).dispatchEvent),N={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};t.ajax=function(){return t.$.ajax.apply(t.$,arguments)};var C=t.Router=function(e){e||(e={}),e.routes&&(this.routes=e.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},k=/\((.*?)\)/g,L=/(\(\?)?:\w+/g,A=/\*\w+/g,O=/[\-{}\[\]+?.,\\\^$|#\s]/g;n.extend(C.prototype,f,{initialize:function(){},route:function(e,r,i){n.isRegExp(e)||(e=this._routeToRegExp(e)),n.isFunction(r)&&(i=r,r=""),i||(i=this[r]);var s=this;return t.history.route(e,function(n){var o=s._extractParameters(e,n);s.execute(i,o),s.trigger.apply(s,["route:"+r].concat(o)),s.trigger("route",r,o),t.history.trigger("route",s,r,o)}),this},execute:function(e,t){e&&e.apply(this,t)},navigate:function(e,n){return t.history.navigate(e,n),this},_bindRoutes:function(){if(!this.routes)return;this.routes=n.result(this,"routes");var e,t=n.keys(this.routes);while((e=t.pop())!=null)this.route(e,this.routes[e])},_routeToRegExp:function(e){return e=e.replace(O,"\\$&").replace(k,"(?:$1)?").replace(L,function(e,t){return t?e:"([^/?]+)"}).replace(A,"([^?]*?)"),new RegExp("^"+e+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(e,t){var r=e.exec(t).slice(1);return n.map(r,function(e,t){return t===r.length-1?e||null:e?decodeURIComponent(e):null})}});var M=t.History=function(){this.handlers=[],n.bindAll(this,"checkUrl"),typeof window!="undefined"&&(this.location=window.location,this.history=window.history)},_=/^[#\/]|\s+$/g,D=/^\/+|\/+$/g,P=/msie [\w.]+/,H=/\/$/,B=/#.*$/;M.started=!1,n.extend(M.prototype,f,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root},getHash:function(e){var t=(e||this).location.href.match(/#(.*)$/);return t?t[1]:""},getFragment:function(e,t){if(e==null)if(this._hasPushState||!this._wantsHashChange||t){e=decodeURI(this.location.pathname+this.location.search);var n=this.root.replace(H,"");e.indexOf(n)||(e=e.slice(n.length))}else e=this.getHash();return e.replace(_,"")},start:function(e){if(M.started)throw new Error("Backbone.history has already been started");M.started=!0,this.options=n.extend({root:"/"},this.options,e),this.root=this.options.root,this._wantsHashChange=this.options.hashChange!==!1,this._wantsPushState=!!this.options.pushState,this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var r=this.getFragment(),i=document.documentMode,s=P.exec(navigator.userAgent.toLowerCase())&&(!i||i<=7);this.root=("/"+this.root+"/").replace(D,"/");if(s&&this._wantsHashChange){var o=t.$('<iframe src="javascript:0" tabindex="-1">');this.iframe=o.hide().appendTo("body")[0].contentWindow,this.navigate(r)}this._hasPushState?t.$(window).on("popstate",this.checkUrl):this._wantsHashChange&&"onhashchange"in window&&!s?t.$(window).on("hashchange",this.checkUrl):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),this.fragment=r;var u=this.location;if(this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot())return this.fragment=this.getFragment(null,!0),this.location.replace(this.root+"#"+this.fragment),!0;this._hasPushState&&this.atRoot()&&u.hash&&(this.fragment=this.getHash().replace(_,""),this.history.replaceState({},document.title,this.root+this.fragment))}if(!this.options.silent)return this.loadUrl()},stop:function(){t.$(window).off("popstate",this.checkUrl).off("hashchange",this.checkUrl),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),M.started=!1},route:function(e,t){this.handlers.unshift({route:e,callback:t})},checkUrl:function(e){var t=this.getFragment();t===this.fragment&&this.iframe&&(t=this.getFragment(this.getHash(this.iframe)));if(t===this.fragment)return!1;this.iframe&&this.navigate(t),this.loadUrl()},loadUrl:function(e){return e=this.fragment=this.getFragment(e),n.any(this.handlers,function(t){if(t.route.test(e))return t.callback(e),!0})},navigate:function(e,t){if(!M.started)return!1;if(!t||t===!0)t={trigger:!!t};var n=this.root+(e=this.getFragment(e||""));e=e.replace(B,"");if(this.fragment===e)return;this.fragment=e,e===""&&n!=="/"&&(n=n.slice(0,-1));if(this._hasPushState)this.history[t.replace?"replaceState":"pushState"]({},document.title,n);else{if(!this._wantsHashChange)return this.location.assign(n);this._updateHash(this.location,e,t.replace),this.iframe&&e!==this.getFragment(this.getHash(this.iframe))&&(t.replace||this.iframe.document.open().close(),this._updateHash(this.iframe.location,e,t.replace))}if(t.trigger)return this.loadUrl(e)},_updateHash:function(e,t,n){if(n){var r=e.href.replace(/(javascript:|#).*$/,"");e.replace(r+"#"+t)}else e.hash="#"+t}}),t.history=new M;var j=function(e,t){var r=this,i;e&&n.has(e,"constructor")?i=e.constructor:i=function(){return r.apply(this,arguments)},n.extend(i,r,t);var s=function(){this.constructor=i};return s.prototype=r.prototype,i.prototype=new s,e&&n.extend(i.prototype,e),i.__super__=r.prototype,i};d.extend=m.extend=C.extend=E.extend=M.extend=j;var F=function(){throw new Error('A "url" property or function must be specified')},I=function(e,t){var n=t.error;t.error=function(r){n&&n(e,r,t),e.trigger("error",e,r,t)}};return t}),function(e,t){typeof exports=="object"&&typeof require=="function"?module.exports=t(require("backbone"),require("underscore")):typeof define=="function"&&define.amd?define("backbone.browserStorage",["backbone","underscore"],function(n,r){return t(n||e.Backbone,r||e._)}):t(Backbone,_)}(this,function(e,t){function n(){return((1+Math.random())*65536|0).toString(16).substring(1)}function r(){return n()+n()+"-"+n()+"-"+n()+"-"+n()+"-"+n()+n()+n()}function i(e,t){var n=e.length;while(n--)if(e[n]===t)return!0;return!1}function s(e,t){for(var n in t)e[n]=t[n];return e}function o(e,n,r){var i;if(r==="local"&&!window.localStorage)throw"Backbone.browserStorage: Environment does not support localStorage.";if(r==="session"&&!window.sessionStorage)throw"Backbone.browserStorage: Environment does not support sessionStorage.";this.name=e,this.serializer=n||{serialize:function(e){return t.isObject(e)?JSON.stringify(e):e},deserialize:function(e){return e&&JSON.parse(e)}};if(r==="session")this.store=window.sessionStorage;else{if(r!=="local")throw"Backbone.browserStorage: No storage type was specified";this.store=window.localStorage}i=this.store.getItem(this.name),this.records=i&&i.split(",")||[]}e.BrowserStorage={local:function(e,t){return o.bind(this,e,t,"local")()},session:function(e,t){return o.bind(this,e,t,"session")()}};var u={save:function(){this.store.setItem(this.name,this.records.join(","))},create:function(e){return e.id||(e.id=r(),e.set(e.idAttribute,e.id)),this.store.setItem(this._itemName(e.id),this.serializer.serialize(e)),this.records.push(e.id.toString()),this.save(),this.find(e)!==!1},update:function(e){this.store.setItem(this._itemName(e.id),this.serializer.serialize(e));var t=e.id.toString();return i(this.records,t)||(this.records.push(t),this.save()),this.find(e)!==!1},find:function(e){return this.serializer.deserialize(this.store.getItem(this._itemName(e.id)))},findAll:function(){var e=[];for(var t=0,n,r;t<this.records.length;t++)n=this.records[t],r=this.serializer.deserialize(this.store.getItem(this._itemName(n))),r!==null&&e.push(r);return e},destroy:function(e){this.store.removeItem(this._itemName(e.id));var t=e.id.toString();for(var n=0,r;n<this.records.length;n++)this.records[n]===t&&this.records.splice(n,1);return this.save(),e},browserStorage:function(){return{session:sessionStorage,local:localStorage}},_clear:function(){var e=this.store,t=new RegExp("^"+this.name+"-");e.removeItem(this.name);for(var n in e)t.test(n)&&e.removeItem(n);this.records.length=0},_storageSize:function(){return this.store.length},_itemName:function(e){return this.name+"-"+e}};return s(e.BrowserStorage.session.prototype,u),s(e.BrowserStorage.local.prototype,u),e.BrowserStorage.sync=e.localSync=function(t,n,r){var i=n.browserStorage||n.collection.browserStorage,s,o,u=e.$?e.$.Deferred&&e.$.Deferred():e.Deferred&&e.Deferred();try{switch(t){case"read":s=n.id!==undefined?i.find(n):i.findAll();break;case"create":s=i.create(n);break;case"update":s=i.update(n);break;case"delete":s=i.destroy(n)}}catch(a){a.code===22&&i._storageSize()===0?o="Private browsing is unsupported":o=a.message}return s?(r&&r.success&&(e.VERSION==="0.9.10"?r.success(n,s,r):r.success(s)),u&&u.resolve(s)):(o=o?o:"Record Not Found",r&&r.error&&(e.VERSION==="0.9.10"?r.error(n,o,r):r.error(o)),u&&u.reject(o)),r&&r.complete&&r.complete(s),u&&u.promise()},e.ajaxSync=e.sync,e.getSyncMethod=function(t){return t.browserStorage||t.collection&&t.collection.browserStorage?e.localSync:e.ajaxSync},e.sync=function(t,n,r){return e.getSyncMethod(n).apply(this,[t,n,r])},e.BrowserStorage}),function(e,t){typeof define=="function"&&define.amd?define("backbone.overview",["underscore","backbone"],t):t(_||e._,Backbone||e.Backbone)}(this,function(e,t){"use strict";var n=t.Overview=function(n){this.views={},this.keys=e.partial(e.keys,this.views),this.getAll=e.partial(e.identity,this.views),this.get=function(e){return this.views[e]}.bind(this),this.add=function(e,t){return this.views[e]=t,t}.bind(this),this.remove=function(e){typeof e=="undefined"&&(new t.View).remove.apply(this);var n=this.views[e];if(n)return delete this.views[e],n.remove(),n}.bind(this),this.removeAll=function(){e.each(e.keys(this.views),this.remove)}.bind(this),t.View.apply(this,Array.prototype.slice.apply(arguments))},r=["forEach","each","map","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","toArray","size","first","head","take","initial","rest","tail","drop","last","without","difference","indexOf","shuffle","lastIndexOf","isEmpty","chain","sample"];return e.each(r,function(t){n.prototype[t]=function(){var n=Array.prototype.slice.call(arguments);return n.unshift(this.views),e[t].apply(e,n)}}),e.extend(n.prototype,t.View.prototype),n.extend=t.View.extend,t.Overview}),function(e,t){typeof define=="function"&&define.amd?define("typeahead",["jquery"],function(n){t(n,e)}):t(jQuery,e)}(this,function(e,t){var n=function(){"use strict";return{isMsie:function(){return/(msie|trident)/i.test(navigator.userAgent)?navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2]:!1},isBlankString:function(e){return!e||/^\s*$/.test(e)},escapeRegExChars:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isString:function(e){return typeof e=="string"},isNumber:function(e){return typeof e=="number"},isArray:e.isArray,isFunction:e.isFunction,isObject:e.isPlainObject,isUndefined:function(e){return typeof e=="undefined"},toStr:function(t){return n.isUndefined(t)||t===null?"":t+""},bind:e.proxy,each:function(t,n){function r(e,t){return n(t,e)}e.each(t,r)},map:e.map,filter:e.grep,every:function(t,n){var r=!0;return t?(e.each(t,function(e,i){if(!(r=n.call(null,i,e,t)))return!1}),!!r):r},some:function(t,n){var r=!1;return t?(e.each(t,function(e,i){if(r=n.call(null,i,e,t))return!1}),!!r):r},mixin:e.extend,getUniqueId:function(){var e=0;return function(){return e++}}(),templatify:function(n){function r(){return String(n)}return e.isFunction(n)?n:r},defer:function(e){setTimeout(e,0)},debounce:function(e,t,n){var r,i;return function(){var s=this,o=arguments,u,a;return u=function(){r=null,n||(i=e.apply(s,o))},a=n&&!r,clearTimeout(r),r=setTimeout(u,t),a&&(i=e.apply(s,o)),i}},throttle:function(e,t){var n,r,i,s,o,u;return o=0,u=function(){o=new Date,i=null,s=e.apply(n,r)},function(){var a=new Date,f=t-(a-o);return n=this,r=arguments,f<=0?(clearTimeout(i),i=null,o=a,s=e.apply(n,r)):i||(i=setTimeout(u,f)),s}},noop:function(){}}}(),r=function(){return{wrapper:'<span class="twitter-typeahead"></span>',dropdown:'<span class="tt-dropdown-menu"></span>',dataset:'<div class="tt-dataset-%CLASS%"></div>',suggestions:'<span class="tt-suggestions"></span>',suggestion:'<div class="tt-suggestion"></div>'}}(),i=function(){"use strict";var e={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:" 0"}};return n.isMsie()&&n.mixin(e.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),n.isMsie()&&n.isMsie()<=7&&n.mixin(e.input,{marginTop:"-1px"}),e}(),s=function(){"use strict";function r(t){(!t||!t.el)&&e.error("EventBus initialized without el"),this.$el=e(t.el)}var t="typeahead:";return n.mixin(r.prototype,{trigger:function(e){var n=[].slice.call(arguments,1);this.$el.trigger(t+e,n)}}),r}(),o=function(){"use strict";function r(t,n,r,i){var s;if(!r)return this;n=n.split(e),r=i?l(r,i):r,this._callbacks=this._callbacks||{};while(s=n.shift())this._callbacks[s]=this._callbacks[s]||{sync:[],async:[]},this._callbacks[s][t].push(r);return this}function i(e,t,n){return r.call(this,"async",e,t,n)}function s(e,t,n){return r.call(this,"sync",e,t,n)}function o(t){var n;if(!this._callbacks)return this;t=t.split(e);while(n=t.shift())delete this._callbacks[n];return this}function u(t){var r,i,s,o,u;if(!this._callbacks)return this;t=t.split(e),s=[].slice.call(arguments,1);while((r=t.shift())&&(i=this._callbacks[r]))o=a(i.sync,this,[r].concat(s)),u=a(i.async,this,[r].concat(s)),o()&&n(u);return this}function a(e,t,n){function r(){var r;for(var i=0,s=e.length;!r&&i<s;i+=1)r=e[i].apply(t,n)===!1;return!r}return r}function f(){var e;return t.setImmediate?e=function(t){setImmediate(function(){t()})}:e=function(t){setTimeout(function(){t()},0)},e}function l(e,t){return e.bind?e.bind(t):function(){e.apply(t,[].slice.call(arguments,0))}}var e=/\s+/,n=f();return{onSync:s,onAsync:i,off:o,trigger:u}}(),u=function(e){"use strict";function r(e,t,r){var i=[],s;for(var o=0,u=e.length;o<u;o++)i.push(n.escapeRegExChars(e[o]));return s=r?"\\b("+i.join("|")+")\\b":"("+i.join("|")+")",t?new RegExp(s):new RegExp(s,"i")}var t={node:null,pattern:null,tagName:"strong",className:null,wordsOnly:!1,caseSensitive:!1};return function(s){function u(t){var n,r,i;if(n=o.exec(t.data))i=e.createElement(s.tagName),s.className&&(i.className=s.className),r=t.splitText(n.index),r.splitText(n[0].length),i.appendChild(r.cloneNode(!0)),t.parentNode.replaceChild(i,r);return!!n}function a(e,t){var n,r=3;for(var i=0;i<e.childNodes.length;i++)n=e.childNodes[i],n.nodeType===r?i+=t(n)?1:0:a(n,t)}var o;s=n.mixin({},t,s);if(!s.node||!s.pattern)return;s.pattern=n.isArray(s.pattern)?s.pattern:[s.pattern],o=r(s.pattern,s.caseSensitive,s.wordsOnly),a(s.node,u)}}(t.document),a=function(){"use strict";function r(r){var s=this,o,u,a,f;r=r||{},r.input||e.error("input is missing"),o=n.bind(this._onBlur,this),u=n.bind(this._onFocus,this),a=n.bind(this._onKeydown,this),f=n.bind(this._onInput,this),this.$hint=e(r.hint),this.$input=e(r.input).on("blur.tt",o).on("focus.tt",u).on("keydown.tt",a),this.$hint.length===0&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=n.noop),n.isMsie()?this.$input.on("keydown.tt keypress.tt cut.tt paste.tt",function(e){if(t[e.which||e.keyCode])return;n.defer(n.bind(s._onInput,s,e))}):this.$input.on("input.tt",f),this.query=this.$input.val(),this.$overflowHelper=i(this.$input)}function i(t){return e('<pre aria-hidden="true"></pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:t.css("font-family"),fontSize:t.css("font-size"),fontStyle:t.css("font-style"),fontVariant:t.css("font-variant"),fontWeight:t.css("font-weight"),wordSpacing:t.css("word-spacing"),letterSpacing:t.css("letter-spacing"),textIndent:t.css("text-indent"),textRendering:t.css("text-rendering"),textTransform:t.css("text-transform")}).insertAfter(t)}function s(e,t){return r.normalizeQuery(e)===r.normalizeQuery(t)}function u(e){return e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}var t;return t={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"},r.normalizeQuery=function(e){return(e||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")},n.mixin(r.prototype,o,{_onBlur:function(){this.resetInputValue(),this.trigger("blurred")},_onFocus:function(){this.trigger("focused")},_onKeydown:function(n){var r=t[n.which||n.keyCode];this._managePreventDefault(r,n),r&&this._shouldTrigger(r,n)&&this.trigger(r+"Keyed",n)},_onInput:function(){this._checkInputValue()},_managePreventDefault:function(t,n){var r,i,s;switch(t){case"tab":i=this.getHint(),s=this.getInputValue(),r=i&&i!==s&&!u(n);break;case"up":case"down":r=!u(n);break;default:r=!1}r&&n.preventDefault()},_shouldTrigger:function(t,n){var r;switch(t){case"tab":r=!u(n);break;default:r=!0}return r},_checkInputValue:function(){var t,n,r;t=this.getInputValue(),n=s(t,this.query),r=n?this.query.length!==t.length:!1,this.query=t,n?r&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(t){this.query=t},getInputValue:function(){return this.$input.val()},setInputValue:function(t,n){this.$input.val(t),n?this.clearHint():this._checkInputValue()},resetInputValue:function(){this.setInputValue(this.query,!0)},getHint:function(){return this.$hint.val()},setHint:function(t){this.$hint.val(t)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var t,n,r,i;t=this.getInputValue(),n=this.getHint(),r=t!==n&&n.indexOf(t)===0,i=t!==""&&r&&!this.hasOverflow(),!i&&this.clearHint()},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var t=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=t},isCursorAtEnd:function(){var e,t,r;return e=this.$input.val().length,t=this.$input[0].selectionStart,n.isNumber(t)?t===e:document.selection?(r=document.selection.createRange(),r.moveStart("character",-e),e===r.text.length):!0},destroy:function(){this.$hint.off(".tt"),this.$input.off(".tt"),this.$hint=this.$input=this.$overflowHelper=null}}),r}(),f=function(){"use strict";function f(t){t=t||{},t.templates=t.templates||{},t.source||e.error("missing source"),t.name&&!h(t.name)&&e.error("invalid dataset name: "+t.name),this.query=null,this.highlight=!!t.highlight,this.name=t.name||n.getUniqueId(),this.source=t.source,this.displayFn=l(t.display||t.displayKey),this.templates=c(t.templates,this.displayFn),this.$el=e(r.dataset.replace("%CLASS%",this.name))}function l(e){function t(t){return t[e]}return e=e||"value",n.isFunction(e)?e:t}function c(e,t){function r(e){return"<p>"+t(e)+"</p>"}return{empty:e.empty&&n.templatify(e.empty),header:e.header&&n.templatify(e.header),footer:e.footer&&n.templatify(e.footer),suggestion:e.suggestion||r}}function h(e){return/^[_a-zA-Z0-9-]+$/.test(e)}var t="ttDataset",s="ttValue",a="ttDatum";return f.extractDatasetName=function(r){return e(r).data(t)},f.extractValue=function(n){return e(n).data(s)},f.extractDatum=function(n){return e(n).data(a)},n.mixin(f.prototype,o,{_render:function(f,l){function p(){return c.templates.empty({query:f,isEmpty:!0})}function d(){function p(n){var o;return o=e(r.suggestion).append(c.templates.suggestion(n)).data(t,c.name).data(s,c.displayFn(n)).data(a,n),o.children().each(function(){e(this).css(i.suggestionChild)}),o}var o,h;return o=e(r.suggestions).css(i.suggestions),h=n.map(l,p),o.append.apply(o,h),c.highlight&&u({className:"tt-highlight",node:o[0],pattern:f}),o}function v(){return c.templates.header({query:f,isEmpty:!h})}function m(){return c.templates.footer({query:f,isEmpty:!h})}if(!this.$el)return;var c=this,h;this.$el.empty(),h=l&&l.length,!h&&this.templates.empty?this.$el.html(p()).prepend(c.templates.header?v():null).append(c.templates.footer?m():null):h&&this.$el.html(d()).prepend(c.templates.header?v():null).append(c.templates.footer?m():null),this.trigger("rendered")},getRoot:function(){return this.$el},update:function(t){function r(e){!n.canceled&&t===n.query&&n._render(t,e)}var n=this;this.query=t,this.canceled=!1,this.source(t,r)},cancel:function(){this.canceled=!0},clear:function(){this.cancel(),this.$el.empty(),this.trigger("rendered")},isEmpty:function(){return this.$el.is(":empty")},destroy:function(){this.$el=null}}),f}(),l=function(){"use strict";function t(t){var i=this,s,o,u;t=t||{},t.menu||e.error("menu is required"),this.isOpen=!1,this.isEmpty=!0,this.datasets=n.map(t.datasets,r),s=n.bind(this._onSuggestionClick,this),o=n.bind(this._onSuggestionMouseEnter,this),u=n.bind(this._onSuggestionMouseLeave,this),this.$menu=e(t.menu).on("click.tt",".tt-suggestion",s).on("mouseenter.tt",".tt-suggestion",o).on("mouseleave.tt",".tt-suggestion",u),n.each(this.datasets,function(e){i.$menu.append(e.getRoot()),e.onSync("rendered",i._onRendered,i)})}function r(e){return new f(e)}return n.mixin(t.prototype,o,{_onSuggestionClick:function(n){this.trigger("suggestionClicked",e(n.currentTarget))},_onSuggestionMouseEnter:function(n){this._removeCursor(),this._setCursor(e(n.currentTarget),!0)},_onSuggestionMouseLeave:function(){this._removeCursor()},_onRendered:function(){function t(e){return e.isEmpty()}this.isEmpty=n.every(this.datasets,t),this.isEmpty?this._hide():this.isOpen&&this._show(),this.trigger("datasetRendered")},_hide:function(){this.$menu.hide()},_show:function(){this.$menu.css("display","block")},_getSuggestions:function(){return this.$menu.find(".tt-suggestion")},_getCursor:function(){return this.$menu.find(".tt-cursor").first()},_setCursor:function(t,n){t.first().addClass("tt-cursor"),!n&&this.trigger("cursorMoved")},_removeCursor:function(){this._getCursor().removeClass("tt-cursor")},_moveCursor:function(t){var n,r,i,s;if(!this.isOpen)return;r=this._getCursor(),n=this._getSuggestions(),this._removeCursor(),i=n.index(r)+t,i=(i+1)%(n.length+1)-1;if(i===-1){this.trigger("cursorRemoved");return}i<-1&&(i=n.length-1),this._setCursor(s=n.eq(i)),this._ensureVisible(s)},_ensureVisible:function(t){var n,r,i,s;n=t.position().top,r=n+t.outerHeight(!0),i=this.$menu.scrollTop(),s=this.$menu.height()+parseInt(this.$menu.css("paddingTop"),10)+parseInt(this.$menu.css("paddingBottom"),10),n<0?this.$menu.scrollTop(i+n):s<r&&this.$menu.scrollTop(i+(r-s))},close:function(){this.isOpen&&(this.isOpen=!1,this._removeCursor(),this._hide(),this.trigger("closed"))},open:function(){this.isOpen||(this.isOpen=!0,!this.isEmpty&&this._show(),this.trigger("opened"))},setLanguageDirection:function(t){this.$menu.css(t==="ltr"?i.ltr:i.rtl)},moveCursorUp:function(){this._moveCursor(-1)},moveCursorDown:function(){this._moveCursor(1)},getDatumForSuggestion:function(t){var n=null;return t.length&&(n={raw:f.extractDatum(t),value:f.extractValue(t),datasetName:f.extractDatasetName(t)}),n},getDatumForCursor:function(){return this.getDatumForSuggestion(this._getCursor().first())},getDatumForTopSuggestion:function(){return this.getDatumForSuggestion(this._getSuggestions().first())},update:function(t){function r(e){e.update(t)}n.each(this.datasets,r)},empty:function(){function t(e){e.clear()}n.each(this.datasets,t),this.isEmpty=!0},isVisible:function(){return this.isOpen&&!this.isEmpty},destroy:function(){function t(e){e.destroy()}this.$menu.off(".tt"),this.$menu=null,n.each(this.datasets,t)}}),t}(),c=function(){"use strict";function o(t){var r,i,o;t=t||{},t.input||e.error("missing input"),this.isActivated=!1,this.autoselect=!!t.autoselect,this.minLength=n.isNumber(t.minLength)?t.minLength:1,this.$node=u(t.input,t.withHint),r=this.$node.find(".tt-dropdown-menu"),i=this.$node.find(".tt-input"),o=this.$node.find(".tt-hint"),i.on("blur.tt",function(e){var t,s,o;t=document.activeElement,s=r.is(t),o=r.has(t).length>0,n.isMsie()&&(s||o)&&(e.preventDefault(),e.stopImmediatePropagation(),n.defer(function(){i.focus()}))}),r.on("mousedown.tt",function(e){e.preventDefault()}),this.eventBus=t.eventBus||new s({el:i}),this.dropdown=(new l({menu:r,datasets:t.datasets})).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onAsync("datasetRendered",this._onDatasetRendered,this),this.input=(new a({input:i,hint:o})).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this),this._setLanguageDirection()}function u(n,s){var o,u,a,l;o=e(n),u=e(r.wrapper).css(i.wrapper),a=e(r.dropdown).css(i.dropdown),l=o.clone().css(i.hint).css(f(o)),l.val("").removeData().addClass("tt-hint").removeAttr("id name placeholder required").prop("readonly",!0).attr({autocomplete:"off",spellcheck:"false",tabindex:-1}),o.data(t,{dir:o.attr("dir"),autocomplete:o.attr("autocomplete"),spellcheck:o.attr("spellcheck"),style:o.attr("style")}),o.addClass("tt-input").attr({autocomplete:"off",spellcheck:!1}).css(s?i.input:i.inputWithNoHint);try{!o.attr("dir")&&o.attr("dir","auto")}catch(c){}return o.wrap(u).parent().prepend(s?l:null).append(a)}function f(e){return{backgroundAttachment:e.css("background-attachment"),backgroundClip:e.css("background-clip"),backgroundColor:e.css("background-color"),backgroundImage:e.css("background-image"),backgroundOrigin:e.css("background-origin"),backgroundPosition:e.css("background-position"),backgroundRepeat:e.css("background-repeat"),backgroundSize:e.css("background-size")}}function c(e){var r=e.find(".tt-input");n.each(r.data(t),function(e,t){n.isUndefined(e)?r.removeAttr(t):r.attr(t,e)}),r.detach().removeData(t).removeClass("tt-input").insertAfter(e),e.remove()}var t="ttAttrs";return n.mixin(o.prototype,{_onSuggestionClicked:function(t,n){var r;(r=this.dropdown.getDatumForSuggestion(n))&&this._select(r)},_onCursorMoved:function(){var t=this.dropdown.getDatumForCursor();this.input.setInputValue(t.value,!0),this.eventBus.trigger("cursorchanged",t.raw,t.datasetName)},_onCursorRemoved:function(){this.input.resetInputValue(),this._updateHint()},_onDatasetRendered:function(){this._updateHint()},_onOpened:function(){this._updateHint(),this.eventBus.trigger("opened")},_onClosed:function(){this.input.clearHint(),this.eventBus.trigger("closed")},_onFocused:function(){this.isActivated=!0,this.dropdown.open()},_onBlurred:function(){this.isActivated=!1,this.dropdown.empty(),this.dropdown.close()},_onEnterKeyed:function(t,n){var r,i;r=this.dropdown.getDatumForCursor(),i=this.dropdown.getDatumForTopSuggestion(),r?(this._select(r),n.preventDefault()):this.autoselect&&i&&(this._select(i),n.preventDefault())},_onTabKeyed:function(t,n){var r;(r=this.dropdown.getDatumForCursor())?(this._select(r),n.preventDefault()):this._autocomplete(!0)},_onEscKeyed:function(){this.dropdown.close(),this.input.resetInputValue()},_onUpKeyed:function(){var t=this.input.getQuery();this.dropdown.isEmpty&&t.length>=this.minLength?this.dropdown.update(t):this.dropdown.moveCursorUp(),this.dropdown.open()},_onDownKeyed:function(){var t=this.input.getQuery();this.dropdown.isEmpty&&t.length>=this.minLength?this.dropdown.update(t):this.dropdown.moveCursorDown(),this.dropdown.open()},_onLeftKeyed:function(){this.dir==="rtl"&&this._autocomplete()},_onRightKeyed:function(){this.dir==="ltr"&&this._autocomplete()},_onQueryChanged:function(t,n){this.input.clearHintIfInvalid(),n.length>=this.minLength?this.dropdown.update(n):this.dropdown.empty(),this.dropdown.open(),this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint(),this.dropdown.open()},_setLanguageDirection:function(){var t;this.dir!==(t=this.input.getLanguageDirection())&&(this.dir=t,this.$node.css("direction",t),this.dropdown.setLanguageDirection(t))},_updateHint:function(){var t,r,i,s,o,u;t=this.dropdown.getDatumForTopSuggestion(),t&&this.dropdown.isVisible()&&!this.input.hasOverflow()?(r=this.input.getInputValue(),i=a.normalizeQuery(r),s=n.escapeRegExChars(i),o=new RegExp("^(?:"+s+")(.+$)","i"),u=o.exec(t.value),u?this.input.setHint(r+u[1]):this.input.clearHint()):this.input.clearHint()},_autocomplete:function(t){var n,r,i,s;n=this.input.getHint(),r=this.input.getQuery(),i=t||this.input.isCursorAtEnd(),n&&r!==n&&i&&(s=this.dropdown.getDatumForTopSuggestion(),s&&this.input.setInputValue(s.value),this.eventBus.trigger("autocompleted",s.raw,s.datasetName))},_select:function(t){this.input.setQuery(t.value),this.input.setInputValue(t.value,!0),this._setLanguageDirection(),this.eventBus.trigger("selected",t.raw,t.datasetName),this.dropdown.close(),n.defer(n.bind(this.dropdown.empty,this.dropdown))},open:function(){this.dropdown.open()},close:function(){this.dropdown.close()},setVal:function(t){t=n.toStr(t),this.isActivated?this.input.setInputValue(t):(this.input.setQuery(t),this.input.setInputValue(t,!0)),this._setLanguageDirection()},getVal:function(){return this.input.getQuery()},destroy:function(){this.input.destroy(),this.dropdown.destroy(),c(this.$node),this.$node=null}}),o}();return function(){"use strict";var t,r,i;t=e.fn.typeahead,r="ttTypeahead",i={initialize:function(i,o){function u(){var t=e(this),u,a;n.each(o,function(e){e.highlight=!!i.highlight}),a=new c({input:t,eventBus:u=new s({el:t}),withHint:n.isUndefined(i.hint)?!0:!!i.hint,minLength:i.minLength,autoselect:i.autoselect,datasets:o}),t.data(r,a)}return o=n.isArray(o)?o:[].slice.call(arguments,1),i=i||{},this.each(u)},open:function(){function n(){var t=e(this),n;(n=t.data(r))&&n.open()}return this.each(n)},close:function(){function n(){var t=e(this),n;(n=t.data(r))&&n.close()}return this.each(n)},val:function(n){function i(){var t=e(this),i;(i=t.data(r))&&i.setVal(n)}function s(e){var t,n;if(t=e.data(r))n=t.getVal();return n}return arguments.length?this.each(i):s(this.first())},destroy:function(){function n(){var t=e(this),n;if(n=t.data(r))n.destroy(),t.removeData(r)}return this.each(n)}},e.fn.typeahead=function(t){var n;return i[t]&&t!=="initialize"?(n=this.filter(function(){return!!e(this).data(r)}),i[t].apply(n,[].slice.call(arguments,1))):i.initialize.apply(this,arguments)},e.fn.typeahead.noConflict=function(){return e.fn.typeahead=t,this}}(),{}}),define("converse-dependencies",["jquery","underscore","polyfill","utils","otr","moment_with_locales","strophe","strophe.disco","strophe.ping","strophe.rsm","strophe.vcard","backbone.browserStorage","backbone.overview","jquery.browser","typeahead"],function(e,t,n,r,i,s,o){return t.extend({underscore:t,jQuery:e,otr:i,moment:s,utils:r},o)}),function(e,t){typeof define=="function"&&define.amd?define("converse",["converse-dependencies","converse-templates"],function(e,n){return t(n,e.jQuery,e.$iq,e.$msg,e.$pres,e.$build,e.otr?e.otr.DSA:undefined,e.otr?e.otr.OTR:undefined,e.Strophe,e.underscore,e.moment,e.utils,e.SHA1.b64_sha1)}):e.converse=t(templates,jQuery,$iq,$msg,$pres,$build,DSA,OTR,Strophe,_,moment,utils,b64_sha1)}(this,function(e,t,n,r,i,s,o,u,a,f,l,c,h){f.templateSettings={evaluate:/\{\[([\s\S]+?)\]\}/g,interpolate:/\{\{([\s\S]+?)\}\}/g};var p=function(e,t){return function(n){if(typeof e=="object"){var r=!1;return f.each(e,function(e){r=r||n.get(e).toLowerCase().indexOf(t.toLowerCase())!==-1}),r}if(typeof e=="string")return n.get(e).toLowerCase().indexOf(t.toLowerCase())!==-1;throw new TypeError("contains: wrong attribute type. Must be string or array.")}};p.not=function(e,t){return function(n){return!p(e,t)(n)}};var d={plugins:{},templates:e,emit:function(e,n){t(this).trigger(e,n)},once:function(e,n){t(this).one(e,n)},on:function(e,n){t(this).bind(e,n)},off:function(e,n){t(this).unbind(e,n)},refreshWebkit:function(){if(t.browser.webkit){var e=document.getElementById("conversejs");e.style.display="none",e.offsetHeight=e.offsetHeight,e.style.display="block"}}},v=["max","first","last","after","before","index","count"],m=["with","start","end"],g={offline:6,unavailable:5,xa:4,away:3,dnd:2,chat:1,online:1};d.initialize=function(d,v){"use strict";var m=this,y;"onpagehide"in window?y="pagehide":"onbeforeunload"in window?y="beforeunload":"onunload"in window&&(y="unload"),a.log=function(e,t){m.log(e+" "+t,e)},a.error=function(e){m.log(e,"error")},a.addNamespace("CARBONS","urn:xmpp:carbons:2"),a.addNamespace("CHATSTATES","http://jabber.org/protocol/chatstates"),a.addNamespace("CSI","urn:xmpp:csi:0"),a.addNamespace("MAM","urn:xmpp:mam:0"),a.addNamespace("MUC_ADMIN",a.NS.MUC+"#admin"),a.addNamespace("MUC_OWNER",a.NS.MUC+"#owner"),a.addNamespace("MUC_REGISTER","jabber:iq:register"),a.addNamespace("MUC_ROOMCONF",a.NS.MUC+"#roomconfig"),a.addNamespace("MUC_USER",a.NS.MUC+"#user"),a.addNamespace("REGISTER","jabber:iq:register"),a.addNamespace("ROSTERX","http://jabber.org/protocol/rosterx"),a.addNamespace("RSM","http://jabber.org/protocol/rsm"),a.addNamespace("XFORM","jabber:x:data");var w=0;Object.keys(a.Status).forEach(function(e){w=Math.max(w,a.Status[e])}),a.Status.REGIFAIL=w+1,a.Status.REGISTERED=w+2,a.Status.CONFLICT=w+3,a.Status.NOTACCEPTABLE=w+5;var E="login",S="anonymous",x="prebind",T=0,N=1,C=2,k=3,L={ENTER:13,FORWARD_SLASH:47},A={0:"ERROR",1:"CONNECTING",2:"CONNFAIL",3:"AUTHENTICATING",4:"AUTHFAIL",5:"CONNECTED",6:"DISCONNECTED",7:"DISCONNECTING",8:"ATTACHED",9:"REDIRECT"},O="inactive",M="active",D="composing",P="paused",H="gone";this.TIMEOUTS={PAUSED:2e4,INACTIVE:9e4};var B=typeof crypto!="undefined"&&(typeof crypto.randomBytes=="function"||typeof crypto.getRandomValues=="function"),j=B&&typeof CryptoJS!="undefined"&&typeof u!="undefined"&&typeof o!="undefined",F="opened",I="closed";this.isConverseLocale=function(e){return typeof locales[e]!="undefined"},this.isMomentLocale=function(e){return l.locale()!==l.locale(e)},this.isLocaleAvailable=function(e,t){if(t(e))return e;var n=e.split("-")[0];if(n!==e&&t(n))return n},this.detectLocale=function(e){var t,n;window.navigator.userLanguage&&(t=this.isLocaleAvailable(window.navigator.userLanguage,e));if(window.navigator.languages&&!t)for(n=0;n<window.navigator.languages.length&&!t;n++)t=this.isLocaleAvailable(window.navigator.languages[n],e);return window.navigator.browserLanguage&&!t&&(t=this.isLocaleAvailable(window.navigator.browserLanguage,e)),window.navigator.language&&!t&&(t=this.isLocaleAvailable(window.navigator.language,e)),window.navigator.systemLanguage&&!t&&(t=this.isLocaleAvailable(window.navigator.systemLanguage,e)),t||"en"},l.locale||(l.locale=l.lang),l.locale(this.detectLocale(this.isMomentLocale)),this.i18n=d.i18n?d.i18n:locales[this.detectLocale(this.isConverseLocale)];var q=c.__.bind(this),R=c.___;this.default_settings={allow_chat_pending_contacts:!1,allow_contact_removal:!0,allow_contact_requests:!0,allow_dragresize:!0,allow_logout:!0,allow_muc:!0,allow_otr:!0,archived_messages_page_size:"20",auto_away:0,auto_xa:0,allow_registration:!0,animate:!0,auto_list_rooms:!1,auto_login:!1,auto_reconnect:!1,auto_subscribe:!1,bosh_service_url:undefined,cache_otr_key:!1,csi_waiting_time:0,debug:!1,domain_placeholder:q(" e.g. conversejs.org"),expose_rid_and_sid:!1,forward_messages:!1,hide_muc_server:!1,hide_offline_users:!1,jid:undefined,keepalive:!1,message_archiving:"never",message_carbons:!1,muc_history_max_stanzas:undefined,no_trimming:!1,ping_interval:180,play_sounds:!1,sounds_path:"/sounds/",password:undefined,authentication:"login",prebind:!1,prebind_url:null,providers_link:"https://xmpp.net/directory.php",rid:undefined,roster_groups:!1,show_controlbox_by_default:!1,show_only_online_users:!1,show_toolbar:!0,sid:undefined,storage:"session",use_otr_by_default:!1,use_vcards:!0,visible_toolbar_buttons:{emoticons:!0,call:!1,clear:!0,toggle_occupants:!0},websocket_url:undefined,xhr_custom_status:!1,xhr_custom_status_url:"",xhr_user_search:!1,xhr_user_search_url:""},f.extend(this,this.default_settings),f.extend(this,f.pick(d,Object.keys(this.default_settings))),this.prebind===!0&&(this.authentication=x);if(this.authentication===S&&!this.jid)throw"Config Error: you need to provide the server's domain via the 'jid' option when using anonymous authentication.";d.visible_toolbar_buttons&&f.extend(this.visible_toolbar_buttons,f.pick(d.visible_toolbar_buttons,["emoticons","call","clear","toggle_occupants"])),t.fx.off=!this.animate,this.allow_otr=this.allow_otr&&j,this.use_otr_by_default=this.use_otr_by_default&&this.allow_otr;var U={};U[T]="unencrypted",U[N]="unverified",U[C]="verified",U[k]="finished";var z={};z[T]=q("unencrypted"),z[N]=q("unverified"),z[C]=q("verified"),z[k]=q("finished");var W={dnd:q("This contact is busy"),online:q("This contact is online"),offline:q("This contact is offline"),unavailable:q("This contact is unavailable"),xa:q("This contact is away for an extended period"),away:q("This contact is away")},X=q("Click to hide these contacts"),V=q("My contacts"),J=q("Pending contacts"),K=q("Contact requests"),Q=q("Ungrouped"),G=q("Contacts"),Y=q("Groups"),Z={};Z[V]=0,Z[Q]=1,Z[K]=2,Z[J]=3,this.callback=v||function(){},this.initial_presence_sent=0,this.msg_counter=0,this.sendCSI=function(e){if(m.features[a.NS.CSI]||!0)m.connection.send(s(e,{xmlns:a.NS.CSI})),this.inactive=e===O?!0:!1},this.onUserActivity=function(){this.idle_seconds>0&&(this.idle_seconds=0);if(!m.connection.authenticated)return;this.inactive&&this.sendCSI(M),this.auto_changed_status===!0&&(this.auto_changed_status=!1,this.xmppstatus.setStatus("online"))},this.onEverySecond=function(){if(!m.connection.authenticated)return;var e=this.xmppstatus.getStatus();this.idle_seconds++,this.csi_waiting_time>0&&this.idle_seconds>this.csi_waiting_time&&!this.inactive&&this.sendCSI(O),this.auto_away>0&&this.idle_seconds>this.auto_away&&e!=="away"&&e!=="xa"?(this.auto_changed_status=!0,this.xmppstatus.setStatus("away")):this.auto_xa>0&&this.idle_seconds>this.auto_xa&&e!=="xa"&&(this.auto_changed_status=!0,this.xmppstatus.setStatus("xa"))},this.registerIntervalHandler=function(){if(this.auto_away<1&&this.auto_xa<1&&this.csi_waiting_time<1)return;this.idle_seconds=0,this.auto_changed_status=!1,t(window).on("click mousemove keypress focus"+y,this.onUserActivity.bind(this)),window.setInterval(this.onEverySecond.bind(this),1e3)},this.playNotification=function(){var e;m.play_sounds&&typeof Audio!="undefined"&&(e=new Audio(m.sounds_path+"msg_received.ogg"),e.canPlayType("/audio/ogg")?e.play():(e=new Audio(m.sounds_path+"msg_received.mp3"),e.play()))},this.giveFeedback=function(e,n){t(".conn-feedback").each(function(r,i){var s=t(i);s.addClass("conn-feedback").text(e),n?s.addClass(n):s.removeClass("error")})},this.log=function(e,t){var n;typeof console=="undefined"||typeof console.log=="undefined"?n={log:function(){},error:function(){}}:n=console,this.debug&&(t==="error"?n.log("ERROR: "+e):n.log(e))},this.rejectPresenceSubscription=function(e,t){var n=i({to:e,type:"unsubscribed"});t&&t!==""&&n.c("status").t(t),m.connection.send(n)},this.getVCard=function(e,n,r){if(!this.use_vcards){n&&n(e,e);return}m.connection.vcard.get(function(r){var i=t(r).find("vCard"),s=i.find("FN").text(),o=i.find("BINVAL").text(),u=i.find("TYPE").text(),a=i.find("URL").text();if(e){var c=m.roster.get(e);c&&(s=f.isEmpty(s)?c.get("fullname")||e:s,c.save({fullname:s,image_type:u,image:o,url:a,vcard_updated:l().format()}))}n&&n(r,e,s,o,u,a)}.bind(this),e,function(t){var n=m.roster.get(e);n&&n.save({vcard_updated:l().format()}),r&&r(t,e)})},this.reconnect=function(e){m.log("Attempting to reconnect in 5 seconds"),m.giveFeedback(q("Attempting to reconnect in 5 seconds"),"error"),setTimeout(function(){m.authentication!=="prebind"?this.connection.connect(this.connection.jid,this.connection.pass,function(e,t){this.onConnectStatusChanged(e,t,!0)}.bind(this),this.connection.wait,this.connection.hold,this.connection.route):m.prebind_url&&(this.clearSession(),this._tearDown(),this.startNewBOSHSession())}.bind(this),5e3)},this.renderLoginPanel=function(){m._tearDown();var e=m.chatboxviews.get("controlbox");e.model.set({connected:!1}),e.renderLoginPanel()},this.onConnectStatusChanged=function(e,t,n){m.log("Status changed to: "+A[e]),e===a.Status.CONNECTED||e===a.Status.ATTACHED?(delete m.disconnection_cause,typeof n!="undefined"&&n?(m.log(e===a.Status.CONNECTED?"Reconnected":"Reattached"),m.onReconnected()):(m.log(e===a.Status.CONNECTED?"Connected":"Attached"),m.onConnected())):e===a.Status.DISCONNECTED?m.disconnection_cause===a.Status.CONNFAIL&&m.auto_reconnect?m.reconnect(t):m.renderLoginPanel():e===a.Status.ERROR?m.giveFeedback(q("Error"),"error"):e===a.Status.CONNECTING?m.giveFeedback(q("Connecting")):e===a.Status.AUTHENTICATING?m.giveFeedback(q("Authenticating")):e===a.Status.AUTHFAIL?(m.giveFeedback(q("Authentication Failed"),"error"),m.connection.disconnect(q("Authentication Failed")),m.disconnection_cause=a.Status.AUTHFAIL):e===a.Status.CONNFAIL?m.disconnection_cause=a.Status.CONNFAIL:e===a.Status.DISCONNECTING&&(m.connection.connected||m.renderLoginPanel(),t&&m.giveFeedback(t,"error"))},this.applyDragResistance=function(e,t){if(typeof e=="undefined")return undefined;if(typeof t=="undefined")return e;var n=10;return e!==t&&Math.abs(e-t)<n?t:e},this.updateMsgCounter=function(){this.msg_counter>0?(document.title.search(/^Messages \(\d+\) /)===-1?document.title="Messages ("+this.msg_counter+") "+document.title:document.title=document.title.replace(/^Messages \(\d+\) /,"Messages ("+this.msg_counter+") "),window.blur(),window.focus()):document.title.search(/^Messages \(\d+\) /)!==-1&&(document.title=document.title.replace(/^Messages \(\d+\) /,""))},this.incrementMsgCounter=function(){this.msg_counter+=1,this.updateMsgCounter()},this.clearMsgCounter=function(){this.msg_counter=0,this.updateMsgCounter()},this.initStatus=function(e){this.xmppstatus=new this.XMPPStatus;var t=h("converse.xmppstatus-"+m.bare_jid);this.xmppstatus.id=t,this.xmppstatus.browserStorage=new Backbone.BrowserStorage[m.storage](t),this.xmppstatus.fetch({success:e,error:e})},this.initSession=function(){this.session=new this.Session;var e=h("converse.bosh-session");this.session.id=e,this.session.browserStorage=new Backbone.BrowserStorage[m.storage](e),this.session.fetch()},this.clearSession=function(){this.roster&&this.roster.browserStorage._clear(),this.session.browserStorage._clear(),m.connection.connected&&m.chatboxes.get("controlbox").save({connected:!1})},this.logOut=function(){m.chatboxviews.closeAllChatBoxes(!1),m.clearSession(),m.connection.disconnect()},this.registerGlobalEventHandlers=function(){t(document).click(function(){t(".toggle-otr ul").is(":visible")&&t(".toggle-otr ul",this).slideUp(),t(".toggle-smiley ul").is(":visible")&&t(".toggle-smiley ul",this).slideUp()}),t(document).on("mousemove",function(e){if(!this.resizing||!this.allow_dragresize)return!0;e.preventDefault(),this.resizing.chatbox.resizeChatBox(e)}.bind(this)),t(document).on("mouseup",function(e){if(!this.resizing||!this.allow_dragresize)return!0;e.preventDefault();var t=this.applyDragResistance(this.resizing.chatbox.height,this.resizing.chatbox.model.get("default_height")),n=this.applyDragResistance(this.resizing.chatbox.width,this.resizing.chatbox.model.get("default_width"));this.connection.connected?(this.resizing.chatbox.model.save({height:t}),this.resizing.chatbox.model.save({width:n})):(this.resizing.chatbox.model.set({height:t}),this.resizing.chatbox.model.set({width:n})),this.resizing=null}.bind(this)),t(window).on("blur focus",function(e){this.windowState!==e.type&&e.type==="focus"&&m.clearMsgCounter(),this.windowState=e.type}.bind(this)),t(window).on("resize",f.debounce(function(e){this.chatboxviews.trimChats()}.bind(this),200))},this.ping=function(e,t,n,r){m.lastStanzaDate=new Date;if(typeof e=="undefined"||e===null)e=a.getDomainFromJid(m.bare_jid);return typeof r=="undefined"&&(r=null),typeof t=="undefined"&&(t=null),typeof n=="undefined"&&(n=null),m.connection?(m.connection.ping.ping(e,t,n,r),!0):!1},this.pong=function(e){return m.lastStanzaDate=new Date,m.connection.ping.pong(e),!0},this.registerPongHandler=function(){m.connection.disco.addFeature(a.NS.PING),m.connection.ping.addPingHandler(this.pong)},this.registerPingHandler=function(){this.registerPongHandler(),this.ping_interval>0&&(this.connection.addHandler(function(){return this.lastStanzaDate=new Date,!0}.bind(m)),this.connection.addTimedHandler(1e3,function(){var e=new Date;return this.lastStanzaDate||(this.lastStanzaDate=e),(e-this.lastStanzaDate)/1e3>this.ping_interval?this.ping():!0}.bind(m)))},this.onReconnected=function(){this.initStatus(function(){this.registerPingHandler(),this.rosterview.registerRosterXHandler(),this.rosterview.registerPresenceHandler(),this.chatboxes.registerMessageHandler(),this.xmppstatus.sendPresence(),this.giveFeedback(q("Contacts"))}.bind(this))},this.enableCarbons=function(){if(!this.message_carbons||this.session.get("carbons_enabled"))return;var e=(new a.Builder("iq",{from:this.connection.jid,id:"enablecarbons",type:"set"})).c("enable",{xmlns:a.NS.CARBONS});this.connection.addHandler(function(e){t(e).find("error").length>0?m.log("ERROR: An error occured while trying to enable message carbons."):(this.session.save({carbons_enabled:!0}),m.log("Message carbons have been enabled."))}.bind(this),null,"iq",null,"enablecarbons"),this.connection.send(e)},this.onConnected=function(){this.chatboxviews.closeAllChatBoxes(),this.jid=this.connection.jid,this.bare_jid=a.getBareJidFromJid(this.connection.jid),this.resource=a.getResourceFromJid(this.connection.jid),this.domain=a.getDomainFromJid(this.connection.jid),this.minimized_chats=new m.MinimizedChats({model:this.chatboxes}),this.features=new this.Features,this.enableCarbons(),this.initStatus(function(){this.registerPingHandler(),this.registerIntervalHandler(),this.chatboxes.onConnected(),this.giveFeedback(q("Contacts")),this.callback&&(this.connection.service==="jasmine tests"?this.callback(this):this.callback())}.bind(this)),m.emit("ready")},this.OTR=Backbone.Model.extend({getSessionPassphrase:function(){if(m.authentication==="prebind"){var e=h(m.connection.jid),t=window.sessionStorage[e];return typeof t=="undefined"&&(t=Math.floor(Math.random()*4294967295).toString(),window.sessionStorage[e]=t),t}return m.connection.pass},generatePrivateKey:function(e){var t=new o,n=m.connection.jid;if(m.cache_otr_key){var r=CryptoJS.lib.PasswordBasedCipher,i=this.getSessionPassphrase();typeof i!="undefined"&&(window.sessionStorage[h(n+"priv_key")]=r.encrypt(CryptoJS.algo.AES,t.packPrivate(),i).toString(),window.sessionStorage[h(n+"instance_tag")]=e,window.sessionStorage[h(n+"pass_check")]=r.encrypt(CryptoJS.algo.AES,"match",i).toString())}return t}}),this.Message=Backbone.Model.extend({idAttribute:"msgid",defaults:function(){return{msgid:m.connection.getUniqueId()}}}),this.Messages=Backbone.Collection.extend({model:m.Message,comparator:"time"}),this.ChatBox=Backbone.Model.extend({initialize:function(){var e=this.get("height"),t=this.get("width"),n={height:m.applyDragResistance(e,this.get("default_height")),width:m.applyDragResistance(t,this.get("default_width")),num_unread:this.get("num_unread")||0};this.get("box_id")!=="controlbox"?(this.messages=new m.Messages,this.messages.browserStorage=new Backbone.BrowserStorage[m.storage](h("converse.messages"+this.get("jid")+m.bare_jid)),this.save(f.extend(n,{chat_state:undefined,box_id:h(this.get("jid")),minimized:this.get("minimized")||!1,otr_status:this.get("otr_status")||T,time_minimized:this.get("time_minimized")||l(),time_opened:this.get("time_opened")||l().valueOf(),url:"",user_id:a.getNodeFromJid(this.get("jid"))}))):this.set(f.extend(n,{time_opened:l(0).valueOf()}))},maximize:function(){this.save({minimized:!1,time_opened:l().valueOf()})},minimize:function(){this.save({minimized:!0,time_minimized:l().format()})},getSession:function(e){var t=CryptoJS.lib.PasswordBasedCipher,n,r,i,s;if(m.cache_otr_key){n=m.otr.getSessionPassphrase();if(typeof n!="undefined"){r=window.sessionStorage[h(this.id+"instance_tag")],i=window.sessionStorage[h(this.id+"priv_key")],s=window.sessionStorage[h(this.connection.jid+"pass_check")];if(i&&r&&typeof s!="undefined"){var a=t.decrypt(CryptoJS.algo.AES,i,n),f=o.parsePrivate(a.toString(CryptoJS.enc.Latin1));if(t.decrypt(CryptoJS.algo.AES,s,n).toString(CryptoJS.enc.Latin1)==="match"){this.trigger("showHelpMessages",[q("Re-establishing encrypted session")]),e({key:f,instance_tag:r});return}}}}this.trigger("showHelpMessages",[q("Generating private key."),q("Your browser might become unresponsive.")],null,!0),setTimeout(function(){var t=u.makeInstanceTag();e({key:m.otr.generatePrivateKey.call(this,t),instance_tag:t})},500)},updateOTRStatus:function(e){switch(e){case u.CONST.STATUS_AKE_SUCCESS:this.otr.msgstate===u.CONST.MSGSTATE_ENCRYPTED&&this.save({otr_status:N});break;case u.CONST.STATUS_END_OTR:this.otr.msgstate===u.CONST.MSGSTATE_FINISHED?this.save({otr_status:k}):this.otr.msgstate===u.CONST.MSGSTATE_PLAINTEXT&&this.save({otr_status:T})}},onSMP:function(e,t){switch(e){case"question":this.otr.smpSecret(prompt(q("Authentication request from %1$s\n\nYour chat contact is attempting to verify your identity, by asking you the question below.\n\n%2$s",[this.get("fullname"),t])));break;case"trust":t===!0?this.save({otr_status:C}):(this.trigger("showHelpMessages",[q("Could not verify this user's identify.")],"error"),this.save({otr_status:N}));break;default:throw new TypeError("ChatBox.onSMP: Unknown type for SMP")}},initiateOTR:function(e){this.save({otr_status:T}),this.getSession(function(t){this.otr=new u({fragment_size:140,send_interval:200,priv:t.key,instance_tag:t.instance_tag,debug:this.debug}),this.otr.on("status",this.updateOTRStatus.bind(this)),this.otr.on("smp",this.onSMP.bind(this)),this.otr.on("ui",function(e){this.trigger("showReceivedOTRMessage",e)}.bind(this)),this.otr.on("io",function(e){this.trigger("sendMessage",new m.Message({message:e}))}.bind(this)),this.otr.on("error",function(e){this.trigger("showOTRError",e)}.bind(this)),this.trigger("showHelpMessages",[q("Exchanging private key with contact.")]),e?this.otr.receiveMsg(e):this.otr.sendQueryMsg()}.bind(this))},endOTR:function(){this.otr&&this.otr.endOtr(),this.save({otr_status:T})},createMessage:function(e,t,n){t=t||e.find("delay");var r=e.children("body").text(),i=t.length>0,s=this.get("fullname"),o=e.attr("type")==="groupchat",u=e.attr("id"),c=e.find(D).length&&D||e.find(P).length&&P||e.find(O).length&&O||e.find(M).length&&M||e.find(H).length&&H,h,p,d,v;o?v=a.unescapeNode(a.getResourceFromJid(e.attr("from"))):v=a.getBareJidFromJid(e.attr("from")),s=(f.isEmpty(s)?v:s).split(" ")[0],i?(h=t.attr("stamp"),p=h):p=l().format(),o&&v===this.get("nick")||!o&&v===m.bare_jid?d="me":d="them",this.messages.create({chat_state:c,delayed:i,fullname:s,message:r||undefined,msgid:u,sender:d,time:p,archive_id:n})},receiveMessage:function(e,t,n){var r=e.children("body"),i=r.length>0?r.text():undefined;if(!i||!m.allow_otr)return this.createMessage(e,t,n);i.match(/^\?OTRv23?/)?this.initiateOTR(i):f.contains([N,C],this.get("otr_status"))?this.otr.receiveMsg(i):i.match(/^\?OTR/)?this.otr?this.otr.receiveMsg(i):this.initiateOTR(i):this.createMessage(e,t,n)}}),this.ChatBoxView=Backbone.View.extend({length:200,tagName:"div",className:"chatbox",is_chatroom:!1,events:{"click .close-chatbox-button":"close","click .toggle-chatbox-button":"minimize","keypress textarea.chat-textarea":"keyPressed","click .toggle-smiley":"toggleEmoticonMenu","click .toggle-smiley ul li":"insertEmoticon","click .toggle-clear":"clearMessages","click .toggle-otr":"toggleOTRMenu","click .start-otr":"startOTRFromToolbar","click .end-otr":"endOTR","click .auth-otr":"authOTR","click .toggle-call":"toggleCall","mousedown .dragresize-top":"onStartVerticalResize","mousedown .dragresize-left":"onStartHorizontalResize","mousedown .dragresize-topleft":"onStartDiagonalResize"},initialize:function(){t(window).on("resize",f.debounce(this.setDimensions.bind(this),100)),this.model.messages.on("add",this.onMessageAdded,this),this.model.on("show",this.show,this),this.model.on("destroy",this.hide,this),this.model.on("change:chat_state",this.sendChatState,this),this.model.on("change:chat_status",this.onChatStatusChanged,this),this.model.on("change:image",this.renderAvatar,this),this.model.on("change:otr_status",this.onOTRStatusChanged,this),this.model.on("change:minimized",this.onMinimizedChanged,this),this.model.on("change:status",this.onStatusChanged,this),this.model.on("showOTRError",this.showOTRError,this),this.model.on("showHelpMessages",this.showHelpMessages,this),this.model.on("sendMessage",this.sendMessage,this),this.model.on("showSentOTRMessage",function(e){this.showMessage({message:e,sender:"me"})},this),this.model.on("showReceivedOTRMessage",function(e){this.showMessage({message:e,sender:"them"})},this),this.updateVCard().render().fetchMessages().insertIntoPage().hide(),(f.contains([N,C],this.model.get("otr_status"))||m.use_otr_by_default)&&this.model.initiateOTR()},render:function(){return this.$el.attr("id",this.model.get("box_id")).html(m.templates.chatbox(f.extend(this.model.toJSON(),{show_toolbar:m.show_toolbar,info_close:q("Close this chat box"),info_minimize:q("Minimize this chat box"),info_view:q("View more information on this person"),label_personal_message:q("Personal message")}))),this.setWidth(),this.$content=this.$el.find(".chat-content"),this.renderToolbar().renderAvatar(),this.$content.on("scroll",f.debounce(this.onScroll.bind(this),100)),m.emit("chatBoxOpened",this),setTimeout(m.refreshWebkit,50),this.showStatusMessage()},setWidth:function(){this.model.get("width")&&this.$el.css("width",this.model.get("width"))},onScroll:function(e){t(e.target).scrollTop()===0&&this.model.messages.length&&this.fetchArchivedMessages({before:this.model.messages.at(0).get("archive_id"),"with":this.model.get("jid"),max:m.archived_messages_page_size})},fetchMessages:function(){return this.model.messages.fetch({add:!0,success:function(){if(!m.features.findWhere({"var":a.NS.MAM}))return;this.model.messages.length<m.archived_messages_page_size&&this.fetchArchivedMessages({before:"","with":this.model.get("jid"),max:m.archived_messages_page_size})}.bind(this)}),this},fetchArchivedMessages:function(e){if(!m.features.findWhere({"var":a.NS.MAM})){m.log("Attempted to fetch archived messages but this user's server doesn't support XEP-0313");return}this.addSpinner(),b.archive.query(f.extend(e,{groupchat:this.is_chatroom}),function(e){this.clearSpinner(),e.length&&(this.is_chatroom?f.map(e,this.onChatRoomMessage.bind(this)):f.map(e,m.chatboxes.onMessage.bind(m.chatboxes)))}.bind(this),function(){this.clearSpinner(),m.log("Error while trying to fetch archived messages","error")}.bind(this))},insertIntoPage:function(){return this.$el.insertAfter(m.chatboxviews.get("controlbox").$el),this},adjustToViewport:function(){var e=Math.max(document.documentElement.clientWidth,window.innerWidth||0),t=Math.max(document.documentElement.clientHeight,window.innerHeight||0);e<=480?(this.model.set("height",undefined),this.model.set("width",undefined)):e<=this.model.get("width")?this.model.set("width",undefined):t<=this.model.get("height")&&this.model.set("height",undefined)},initDragResize:function(){var e=this.$el.find(".box-flyout");if(typeof this.model.get("height")=="undefined"){var t=e.height(),n=e.width();this.model.set("height",t),this.model.set("default_height",t),this.model.set("width",n),this.model.set("default_width",n)}var r=e.css("min-width"),i=e.css("min-height");return this.model.set("min_width",r.endsWith("px")?Number(r.replace(/px$/,"")):0),this.model.set("min_height",i.endsWith("px")?Number(i.replace(/px$/,"")):0),this.prev_pageY=0,this.prev_pageX=0,m.connection.connected&&(this.height=this.model.get("height"),this.width=this.model.get("width")),this},setDimensions:function(){this.adjustToViewport(),this.setChatBoxHeight(this.model.get("height")),this.setChatBoxWidth(this.model.get("width"))},clearStatusNotification:function(){this.$content.find("div.chat-event").remove()},showStatusNotification:function(e,n){n||this.clearStatusNotification(),this.$content.append(t('<div class="chat-info chat-event"></div>').text(e)),this.scrollDown()},clearChatRoomMessages:function(e){typeof e!="undefined"&&e.stopPropagation();var t=confirm(q("Are you sure you want to clear the messages from this room?"));return t===!0&&this.$content.empty(),this},addSpinner:function(){this.$content.first().hasClass("spinner")||this.$content.prepend('<span class="spinner"/>')},clearSpinner:function(){this.$content.children(":first").is("span.spinner")&&this.$content.children(":first").remove()},prependDayIndicator:function(e){var t=l(e).startOf("day");this.$content.prepend(m.templates.new_day({isodate:t.format(),datestring:t.format("dddd MMM Do YYYY")}))},appendMessage:function(e){f.compose(f.debounce(this.scrollDown.bind(this),50),this.$content.append.bind(this.$content))(this.renderMessage(e))},showMessage:function(e){var n=this.$content.children(".chat-message:first"),r=n.data("isodate"),i,s,o,u,a,c;if(!r){this.appendMessage(e);return}s=l(e.time)||l,i=this.$content.children(".chat-message:last").data("isodate");if(typeof i!="undefined"&&(s.isAfter(i)||s.isSame(i))){s.isAfter(i,"day")&&(o=l(s).startOf("day"),this.$content.append(m.templates.new_day({isodate:s.format(),datestring:s.format("dddd MMM Do YYYY")}))),this.appendMessage(e);return}typeof r!="undefined"&&(s.isBefore(r)||s.isSame(r)&&!s.isSame(i))?(n.prev().length===0&&this.prependDayIndicator(r),s.isBefore(r,"day")?(f.compose(this.scrollDownMessageHeight.bind(this),function(e){return this.$content.prepend(e),e}.bind(this))(this.renderMessage(e)),this.prependDayIndicator(s)):f.compose(this.scrollDownMessageHeight.bind(this),function(e){return e.insertBefore(n),e})(this.renderMessage(e))):(s=s.format(),u=this.$content.children(".chat-message"),a=f.map(u,function(e){return t(e).data("isodate")}),a.push(s),a.sort(),c=a.indexOf(s)-1,f.compose(this.scrollDownMessageHeight.bind(this),function(e){return e.insertAfter(this.$content.find('.chat-message[data-isodate="'+a[c]+'"]')),e}.bind(this))(this.renderMessage(e)))},renderMessage:function(e){var n=l(e.time)||l,r=e.message,i=r.match(/^\/(.*?)(?: (.*))?$/),s=this.model.get("fullname")||e.fullname,o=e.delayed&&"delayed"||"",u,a;return i&&i[1]==="me"?(r=r.replace(/^\/me/,""),u=m.templates.action,a=s):(u=m.templates.message,a=e.sender==="me"&&q("me")||s),this.$content.find("div.chat-event").remove(),this.is_chatroom&&e.sender==="them"&&(new RegExp("\\b"+this.model.get("nick")+"\\b")).test(r)&&(o+=" mentioned"),t(u({msgid:e.msgid,sender:e.sender,time:n.format("hh:mm"),isodate:n.format(),username:a,message:"",extra_classes:o})).children(".chat-msg-content").first().text(r).addHyperlinks().addEmoticons(m.visible_toolbar_buttons.emoticons).parent()},showHelpMessages:function(e,n,r){var i,s=e.length;for(i=0;i<s;i++)this.$content.append(t('<div class="chat-'+(n||"info")+'">'+e[i]+"</div>"));return r===!0?this.$content.append('<span class="spinner"/>'):r===!1&&this.$content.find("span.spinner").remove(),this.scrollDown()},onMessageAdded:function(e){typeof this.clear_status_timeout!="undefined"&&(clearTimeout(this.clear_status_timeout),delete this.clear_status_timeout);if(!e.get("message")){if(e.get("chat_state")===D){this.showStatusNotification(e.get("fullname")+" "+q("is typing")),this.clear_status_timeout=setTimeout(this.clearStatusNotification.bind(this),1e4);return}if(e.get("chat_state")===P){this.showStatusNotification(e.get("fullname")+" "+q("has stopped typing"));return}if(f.contains([O,M],e.get("chat_state"))){this.$content.find("div.chat-event").remove();return}if(e.get("chat_state")===H){this.showStatusNotification(e.get("fullname")+" "+q("has gone away"));return}}else this.showMessage(f.clone(e.attributes));e.get("sender")!=="me"&&m.windowState==="blur"&&m.incrementMsgCounter(),!this.model.get("minimized")&&!this.$el.is(":visible")&&f.debounce(this.show.bind(this),100)()},sendMessage:function(e){var t=this.model.get("jid"),n=r({from:m.connection.jid,to:t,type:"chat",id:e.get("msgid")}).c("body").t(e.get("message")).up().c(M,{xmlns:a.NS.CHATSTATES}).up();this.model.get("otr_status")!==T&&n.c("private",{xmlns:a.NS.CARBONS}),m.connection.send(n),m.forward_messages&&m.connection.send(r({to:m.bare_jid,type:"chat",id:e.get("msgid")}).c("forwarded",{xmlns:"urn:xmpp:forward:0"}).c("delay",{xmns:"urn:xmpp:delay",stamp:(new Date).getTime()}).up().cnode(n.tree()))},onMessageSubmitted:function(e){if(!m.connection.authenticated)return this.showHelpMessages(["Sorry, the connection has been lost, and your message could not be sent"],"error");var t=e.replace(/^\s*/,"").match(/^\/(.*)\s*$/),n;if(t){if(t[1]==="clear")return this.clearMessages();if(t[1]==="help"){n=["<strong>/help</strong>:"+q("Show this menu")+"","<strong>/me</strong>:"+q("Write in the third person")+"","<strong>/clear</strong>:"+q("Remove messages")+""],this.showHelpMessages(n);return}if(m.allow_otr&&t[1]==="endotr")return this.endOTR();if(m.allow_otr&&t[1]==="otr")return this.model.initiateOTR()}if(f.contains([N,C],this.model.get("otr_status")))this.model.otr.sendMsg(e),this.model.trigger("showSentOTRMessage",e);else{var r=m.xmppstatus.get("fullname");r=f.isEmpty(r)?m.bare_jid:r;var i=this.model.messages.create({fullname:r,sender:"me",time:l().format(),message:e});this.sendMessage(i)}},sendChatState:function(){m.connection.send(r({to:this.model.get("jid"),type:"chat"}).c(this.model.get("chat_state"),{xmlns:a.NS.CHATSTATES}))},setChatState:function(e,t){return typeof this.chat_state_timeout!="undefined"&&(clearTimeout(this.chat_state_timeout),delete this.chat_state_timeout),e===D?this.chat_state_timeout=setTimeout(this.setChatState.bind(this),m.TIMEOUTS.PAUSED,P):e===P&&(this.chat_state_timeout=setTimeout(this.setChatState.bind(this),m.TIMEOUTS.INACTIVE,O)),!t&&this.model.get("chat_state")!==e&&this.model.set("chat_state",e),this},keyPressed:function(e){var n=t(e.target),r;e.keyCode===L.ENTER?(e.preventDefault(),r=n.val(),n.val("").focus(),r!==""&&(this.model.get("chatroom")?this.onChatRoomMessageSubmitted(r):this.onMessageSubmitted(r),m.emit("messageSend",r)),this.setChatState(M)):this.model.get("chatroom")||this.setChatState(D,e.keyCode===L.FORWARD_SLASH)},onStartVerticalResize:function(e){if(!m.allow_dragresize)return!0;this.height=this.$el.children(".box-flyout").height(),m.resizing={chatbox:this,direction:"top"},this.prev_pageY=e.pageY},onStartHorizontalResize:function(e){if(!m.allow_dragresize)return!0;this.width=this.$el.children(".box-flyout").width(),m.resizing={chatbox:this,direction:"left"},this.prev_pageX=e.pageX},onStartDiagonalResize:function(e){this.onStartHorizontalResize(e),this.onStartVerticalResize(e),m.resizing.direction="topleft"},setChatBoxHeight:function(e){this.model.get("minimized")||(e?e=m.applyDragResistance(e,this.model.get("default_height"))+"px":e="",this.$el.children(".box-flyout")[0].style.height=e)},setChatBoxWidth:function(e){this.model.get("minimized")||(e?e=m.applyDragResistance(e,this.model.get("default_width"))+"px":e="",this.$el[0].style.width=e,this.$el.children(".box-flyout")[0].style.width=e)},resizeChatBox:function(e){var t;m.resizing.direction.indexOf("top")===0&&(t=e.pageY-this.prev_pageY,t&&(this.height=this.height-t>(this.model.get("min_height")||0)?this.height-t:this.model.get("min_height"),this.prev_pageY=e.pageY,this.setChatBoxHeight(this.height))),m.resizing.direction.indexOf("left")!==-1&&(t=this.prev_pageX-e.pageX,t&&(this.width=this.width+t>(this.model.get("min_width")||0)?this.width+t:this.model.get("min_width"),this.prev_pageX=e.pageX,this.setChatBoxWidth(this.width)))},clearMessages:function(e){e&&e.preventDefault&&e.preventDefault();var t=confirm(q("Are you sure you want to clear the messages from this chat box?"));return t===!0&&(this.$content.empty(),this.model.messages.reset(),this.model.messages.browserStorage._clear()),this},insertEmoticon:function(e){e.stopPropagation(),this.$el.find(".toggle-smiley ul").slideToggle(200);var n=this.$el.find("textarea.chat-textarea"),r=n.val(),i=t(e.target);i=i.is("a")?i:i.children("a"),r&&r[r.length-1]!==" "&&(r+=" "),n.focus().val(r+i.data("emoticon")+" ")},toggleEmoticonMenu:function(e){e.stopPropagation(),this.$el.find(".toggle-smiley ul").slideToggle(200)},toggleOTRMenu:function(e){e.stopPropagation(),this.$el.find(".toggle-otr ul").slideToggle(200)},showOTRError:function(e){e==="Message cannot be sent at this time."?this.showHelpMessages([q("Your message could not be sent")],"error"):e==="Received an unencrypted message."?this.showHelpMessages([q("We received an unencrypted message")],"error"):e==="Received an unreadable encrypted message."?this.showHelpMessages([q("We received an unreadable encrypted message")],"error"):this.showHelpMessages(["Encryption error occured: "+e],"error"),m.log("OTR ERROR:"+e)},startOTRFromToolbar:function(e){t(e.target).parent().parent().slideUp(),e.stopPropagation(),this.model.initiateOTR()},endOTR:function(e){typeof e!="undefined"&&(e.preventDefault(),e.stopPropagation()),this.model.endOTR()},authOTR:function(e){var n=t(e.target).data().scheme,r,i,s;n==="fingerprint"?(r=confirm(q("Here are the fingerprints, please confirm them with %1$s, outside of this chat.\n\nFingerprint for you, %2$s: %3$s\n\nFingerprint for %1$s: %4$s\n\nIf you have confirmed that the fingerprints match, click OK, otherwise click Cancel.",[this.model.get("fullname"),m.xmppstatus.get("fullname")||m.bare_jid,this.model.otr.priv.fingerprint(),this.model.otr.their_priv_pk.fingerprint()])),r===!0?this.model.save({otr_status:C}):this.model.save({otr_status:N})):n==="smp"?(alert(q("You will be prompted to provide a security question and then an answer to that question.\n\nYour contact will then be prompted the same question and if they type the exact same answer (case sensitive), their identity will be verified.")),i=prompt(q("What is your security question?")),i&&(s=prompt(q("What is the answer to the security question?")),this.model.otr.smpSecret(s,i))):this.showHelpMessages([q("Invalid authentication scheme provided")],"error")},toggleCall:function(e){e.stopPropagation(),m.emit("callButtonClicked",{connection:m.connection,model:this.model})},onChatStatusChanged:function(e){var t=e.get("chat_status"),n=e.get("fullname");n=f.isEmpty(n)?e.get("jid"):n,this.$el.is(":visible")&&(t==="offline"?this.showStatusNotification(n+" "+q("has gone offline")):t==="away"?this.showStatusNotification(n+" "+q("has gone away")):t==="dnd"?this.showStatusNotification(n+" "+q("is busy")):t==="online"&&this.$el.find("div.chat-event").remove()),m.emit("contactStatusChanged",e.attributes,e.get("chat_status"))},onStatusChanged:function(e){this.showStatusMessage(),m.emit("contactStatusMessageChanged",e.attributes,e.get("status"))},onOTRStatusChanged:function(){this.renderToolbar().informOTRChange()},onMinimizedChanged:function(e){e.get("minimized")?this.hide():this.maximize()},showStatusMessage:function(e){return e=e||this.model.get("status"),typeof e=="string"&&this.$el.find("p.user-custom-message").text(e).attr("title",e),this},close:function(e){return e&&e.preventDefault&&e.preventDefault(),m.connection.connected?(this.model.destroy(),this.setChatState(O)):this.hide(),m.emit("chatBoxClosed",this),this},maximize:function(){var e=m.chatboxviews;this.$el.insertAfter(e.get("controlbox").$el).show("fast",function(){e.trimChats(this),m.refreshWebkit(),this.setChatState(M).focus(),m.emit("chatBoxMaximized",this)}.bind(this))},minimize:function(e){e&&e.preventDefault&&e.preventDefault(),this.setChatState(O).model.minimize(),this.$el.hide("fast",m.refreshwebkit),m.emit("chatBoxMinimized",this)},updateVCard:function(){if(!this.use_vcards)return this;var e=this.model.get("jid"),t=m.roster.get(e);return t&&!t.get("vcard_updated")&&m.getVCard(e,function(e,t,n,r,i,s){this.model.save({fullname:n||t,url:s,image_type:i,image:r})}.bind(this),function(){m.log("ChatBoxView.initialize: An error occured while fetching vcard")}),this},informOTRChange:function(){var e=this.model.toJSON(),t=[];return e.otr_status===T?t.push(q("Your messages are not encrypted anymore")):e.otr_status===N?t.push(q("Your messages are now encrypted but your contact's identity has not been verified.")):e.otr_status===C?t.push(q("Your contact's identify has been verified.")):e.otr_status===k&&t.push(q("Your contact has ended encryption on their end, you should do the same.")),this.showHelpMessages(t,"info",!1)},renderToolbar:function(){if(m.show_toolbar){var e=this.model.toJSON();e.otr_status===T?e.otr_tooltip=q("Your messages are not encrypted. Click here to enable OTR encryption."):e.otr_status===N?e.otr_tooltip=q("Your messages are encrypted, but your contact has not been verified."):e.otr_status===C?e.otr_tooltip=q("Your messages are encrypted and your contact verified."):e.otr_status===k&&(e.otr_tooltip=q("Your contact has closed their end of the private session, you should do the same")),this.$el.find(".chat-toolbar").html(m.templates.toolbar(f.extend(e,{FINISHED:k,UNENCRYPTED:T,UNVERIFIED:N,VERIFIED:C,allow_otr:m.allow_otr&&!this.is_chatroom,label_clear:q("Clear all messages"),label_end_encrypted_conversation:q("End encrypted conversation"),label_insert_smiley:q("Insert a smiley"),label_hide_occupants:q("Hide the list of occupants"),label_refresh_encrypted_conversation:q("Refresh encrypted conversation"),label_start_call:q("Start a call"),label_start_encrypted_conversation:q("Start encrypted conversation"),label_verify_with_fingerprints:q("Verify with fingerprints"),label_verify_with_smp:q("Verify with SMP"),label_whats_this:q("What's this?"),otr_status_class:U[e.otr_status],otr_translated_status:z[e.otr_status],show_call_button:m.visible_toolbar_buttons.call,show_clear_button:m.visible_toolbar_buttons.clear,show_emoticons:m.visible_toolbar_buttons.emoticons,show_occupants_toggle:this.is_chatroom&&m.visible_toolbar_buttons.toggle_occupants})))}return this},renderAvatar:function(){if(!this.model.get("image"))return;var e="data:"+this.model.get("image_type")+";base64,"+this.model.get("image"),n=t('<canvas height="32px" width="32px" class="avatar"></canvas>').get(0);if(!n.getContext||!n.getContext("2d"))return this;var r=n.getContext("2d"),i=new Image;return i.onload=function(){var e=i.width/i.height;e<1?r.drawImage(i,0,0,32,32*(1/e)):r.drawImage(i,0,0,32,32*e)},i.src=e,this.$el.find(".chat-title").before(n),this},focus:function(){return this.$el.find(".chat-textarea").focus(),m.emit("chatBoxFocused",this),this},hide:function(){return this.$el.is(":visible")&&this.$el.css("opacity")==="1"&&(this.$el.hide(),m.refreshWebkit()),this},show:function(e){return this.$el.is(":visible")&&this.$el.css("opacity")==="1"?this.focus():(this.initDragResize().setDimensions(),this.$el.fadeIn(function(){typeof e=="function"&&e.apply(this,arguments),m.connection.connected&&this.model.save(),this.setChatState(M),this.scrollDown().focus()}.bind(this)),this)},scrollDownMessageHeight:function(e){return this.$content.is(":visible")&&this.$content.scrollTop(this.$content.scrollTop()+e[0].scrollHeight),this},scrollDown:function(){return this.$content.is(":visible")&&this.$content.scrollTop(this.$content[0].scrollHeight),this}}),this.ContactsPanel=Backbone.View.extend({tagName:"div",className:"controlbox-pane",id:"users",events:{"click a.toggle-xmpp-contact-form":"toggleContactForm","submit form.add-xmpp-contact":"addContactFromForm","submit form.search-xmpp-contact":"searchContacts","click a.subscribe-to-user":"addContactFromList"},initialize:function(e){e.$parent.append(this.$el),this.$tabs=e.$parent.parent().find("#controlbox-tabs")},render:function(){var e,t=m.templates.contacts_panel({label_online:q("Online"),label_busy:q("Busy"),label_away:q("Away"),label_offline:q("Offline"),label_logout:q("Log out"),allow_logout:m.allow_logout});return this.$tabs.append(m.templates.contacts_tab({label_contacts:G})),m.xhr_user_search?e=m.templates.search_contact({label_contact_name:q("Contact name"),label_search:q("Search")}):e=m.templates.add_contact_form({label_contact_username:q("e.g. user@example.com"),label_add:q("Add")}),m.allow_contact_requests&&(t+=m.templates.add_contact_dropdown({label_click_to_chat:q("Click to add new chat contacts"),label_add_contact:q("Add a contact")})),this.$el.html(t),this.$el.find(".search-xmpp ul").append(e),this},toggleContactForm:function(e){e.preventDefault(),this.$el.find(".search-xmpp").toggle("fast",function(){t(this).is(":visible")&&t(this).find("input.username").focus()})},searchContacts:function(e){e.preventDefault(),t.getJSON(m.xhr_user_search_url+"?q="+t(e.target).find("input.username").val(),function(e){var n=t(".search-xmpp ul");n.find("li.found-user").remove(),n.find("li.chat-info").remove(),e.length||n.append('<li class="chat-info">'+q("No users found")+"</li>"),t(e).each(function(e,r){n.append(t('<li class="found-user"></li>').append(t('<a class="subscribe-to-user" href="#" title="'+q("Click to add as a chat contact")+'"></a>').attr("data-recipient",a.getNodeFromJid(r.id)+"@"+a.getDomainFromJid(r.id)).text(r.fullname)))})})},addContactFromForm:function(e){e.preventDefault();var n=t(e.target).find("input"),r=n.val();if(!r){n.addClass("error");return}m.roster.addAndSubscribe(r),t(".search-xmpp").hide()},addContactFromList:function(e){e.preventDefault();var n=t(e.target),r=n.attr("data-recipient"),i=n.text();m.roster.addAndSubscribe(r,i),n.parent().remove(),t(".search-xmpp").hide()}}),this.RoomsPanel=Backbone.View.extend({tagName:"div",className:"controlbox-pane",id:"chatrooms",events:{"submit form.add-chatroom":"createChatRoom","click input#show-rooms":"showRooms","click a.open-room":"createChatRoom","click a.room-info":"showRoomInfo","change input[name=server]":"setDomain","change input[name=nick]":"setNick"},initialize:function(e){this.$parent=e.$parent,this.model.on("change:muc_domain",this.onDomainChange,this),this.model.on("change:nick",this.onNickChange,this)},render:function(){return this.$parent.append(this.$el.html(m.templates.room_panel({server_input_type:m.hide_muc_server&&"hidden"||"text",server_label_global_attr:m.hide_muc_server&&" hidden"||"",label_room_name:q("Room name"),label_nickname:q("Nickname"),label_server:q("Server"),label_join:q("Join Room"),label_show_rooms:q("Show rooms")})).hide()),this.$tabs=this.$parent.parent().find("#controlbox-tabs"),this.$tabs.append(m.templates.chatrooms_tab({label_rooms:q("Rooms")})),this},onDomainChange:function(e){var t=this.$el.find("input.new-chatroom-server");t.val(e.get("muc_domain")),m.auto_list_rooms&&this.updateRoomsList()},onNickChange:function(e){var t=this.$el.find("input.new-chatroom-nick");t.val(e.get("nick"))},informNoRoomsFound:function(){var e=this.$el.find("#available-chatrooms");e.html("<dt>"+q("No rooms on %1$s",this.model.get("muc_domain"))+"</dt>"),t("input#show-rooms").show().siblings("span.spinner").remove()},onRoomsFound:function(e){var n,r,i,s,o=this.$el.find("#available-chatrooms");this.rooms=t(e).find("query").find("item");if(this.rooms.length){o.html("<dt>"+q("Rooms on %1$s",this.model.get("muc_domain"))+"</dt>"),s=document.createDocumentFragment();for(i=0;i<this.rooms.length;i++)n=a.unescapeNode(t(this.rooms[i]).attr("name")||t(this.rooms[i]).attr("jid")),r=t(this.rooms[i]).attr("jid"),s.appendChild(t(m.templates.room_item({name:n,jid:r,open_title:q("Click to open this room"),info_title:q("Show more information on this room")}))[0]);o.append(s),t("input#show-rooms").show().siblings("span.spinner").remove()}else this.informNoRoomsFound();return!0},updateRoomsList:function(){m.connection.sendIQ(n({to:this.model.get("muc_domain"),from:m.connection.jid,type:"get"}).c("query",{xmlns:a.NS.DISCO_ITEMS}),this.onRoomsFound.bind(this),this.informNoRoomsFound.bind(this))},showRooms:function(){var e=this.$el.find("#available-chatrooms"),n=this.$el.find("input.new-chatroom-server"),r=n.val();if(!r){n.addClass("error");return}this.$el.find("input.new-chatroom-name").removeClass("error"),n.removeClass("error"),e.empty(),t("input#show-rooms").hide().after('<span class="spinner"/>'),this.model.save({muc_domain:r}),this.updateRoomsList()},showRoomInfo:function(e){var n=e.target,r=t(n).parent("dd"),i=r.find("div.room-info");i.length?i.remove():(r.find("span.spinner").remove(),r.append('<span class="spinner hor_centered"/>'),m.connection.disco.info(t(n).attr("data-room-jid"),null,function(e){var n=t(e);r.find("span.spinner").replaceWith(m.templates.room_description({desc:n.find('field[var="muc#roominfo_description"] value').text(),occ:n.find('field[var="muc#roominfo_occupants"] value').text(),hidden:n.find('feature[var="muc_hidden"]').length,membersonly:n.find('feature[var="muc_membersonly"]').length,moderated:n.find('feature[var="muc_moderated"]').length,nonanonymous:n.find('feature[var="muc_nonanonymous"]').length,open:n.find('feature[var="muc_open"]').length,passwordprotected:n.find('feature[var="muc_passwordprotected"]').length,persistent:n.find('feature[var="muc_persistent"]').length,publicroom:n.find('feature[var="muc_public"]').length,semianonymous:n.find('feature[var="muc_semianonymous"]').length,temporary:n.find('feature[var="muc_temporary"]').length,unmoderated:n.find('feature[var="muc_unmoderated"]').length,label_desc:q("Description:"),label_occ:q("Occupants:"),label_features:q("Features:"),label_requires_auth:q("Requires authentication"),label_hidden:q("Hidden"),label_requires_invite:q("Requires an invitation"),label_moderated:q("Moderated"),label_non_anon:q("Non-anonymous"),label_open_room:q("Open room"),label_permanent_room:q("Permanent room"),label_public:q("Public"),label_semi_anon:q("Semi-anonymous"),label_temp_room:q("Temporary room"),label_unmoderated:q("Unmoderated")}))}.bind(this)))},createChatRoom:function(e){e.preventDefault();var n,r,i,s,o,u=this.$el.find("input.new-chatroom-nick"),f=u.val(),l;f?u.removeClass("error"):u.addClass("error");if(e.type==="click")n=t(e.target).text(),o=t(e.target).attr("data-room-jid");else{r=this.$el.find("input.new-chatroom-name"),s=this.$el.find("input.new-chatroom-server"),i=s.val(),n=r.val().trim(),r.val("");if(!n||!i){n||r.addClass("error"),i||s.addClass("error");return}o=a.escapeNode(n.toLowerCase())+"@"+i,r.removeClass("error"),s.removeClass("error"),this.model.save({muc_domain:i})}if(!f)return;l=m.chatboxviews.showChat({id:o,jid:o,name:n||a.unescapeNode(a.getNodeFromJid(o)),nick:f,chatroom:!0,box_id:h(o)})},setDomain:function(e){this.model.save({muc_domain:e.target.value})},setNick:function(e){this.model.save({nick:e.target.value})}}),this.ControlBoxView=m.ChatBoxView.extend({tagName:"div",className:"chatbox",id:"controlbox",events:{"click a.close-chatbox-button":"close","click ul#controlbox-tabs li a":"switchTab","mousedown .dragresize-top":"onStartVerticalResize","mousedown .dragresize-left":"onStartHorizontalResize","mousedown .dragresize-topleft":"onStartDiagonalResize"},initialize:function(){this.$el.insertAfter(m.controlboxtoggle.$el),t(window).on("resize",f.debounce(this.setDimensions.bind(this),100)),this.model.on("change:connected",this.onConnected,this),this.model.on("destroy",this.hide,this),this.model.on("hide",this.hide,this),this.model.on("show",this.show,this),this.model.on("change:closed",this.ensureClosedState,this),this.render(),this.model.get("connected")&&this.initRoster(),this.model.get("closed")?this.hide():this.show()},render:function(){return!m.connection.connected||!m.connection.authenticated||m.connection.disconnecting?this.renderLoginPanel():(!this.contactspanel||!this.contactspanel.$el.is(":visible"))&&this.renderContactsPanel(),this},giveFeedback:function(e,t){var n=this.$(".conn-feedback");n.addClass("conn-feedback").text(e),t&&n.addClass(t)},onConnected:function(){if(this.model.get("connected")){this.render().initRoster(),m.features.off("add",this.featureAdded,this),m.features.on("add",this.featureAdded,this);var e=m.features.findWhere({"var":a.NS.MUC});e&&this.featureAdded(e)}},initRoster:function(){m.roster=new m.RosterContacts,m.roster.browserStorage=new Backbone.BrowserStorage[m.storage](h("converse.contacts-"+m.bare_jid));var e=new m.RosterGroups;return e.browserStorage=new Backbone.BrowserStorage[m.storage](h("converse.roster.groups"+m.bare_jid)),m.rosterview=new m.RosterView({model:e}),this.contactspanel.$el.append(m.rosterview.$el),m.rosterview.render().fetch().update(),this},renderLoginPanel:function(){var e=this.$(".conn-feedback");this.$el.html(m.templates.controlbox(this.model.toJSON()));var t={$parent:this.$el.find(".controlbox-panes"),model:this};return this.loginpanel?(this.loginpanel.delegateEvents().initialize(t),m.allow_registration&&this.registerpanel.delegateEvents().initialize(t)):(this.loginpanel=new m.LoginPanel(t),m.allow_registration&&(this.registerpanel=new m.RegisterPanel(t))),this.loginpanel.render(),m.allow_registration&&this.registerpanel.render().$el.hide(),this.initDragResize().setDimensions(),e.length&&e.text()!==q("Connecting")&&this.$(".conn-feedback").replaceWith(e),this},renderContactsPanel:function(){this.$el.html(m.templates.controlbox(this.model.toJSON())),this.contactspanel=new m.ContactsPanel({$parent:this.$el.find(".controlbox-panes")}),this.contactspanel.render(),m.xmppstatusview=new m.XMPPStatusView({model:m.xmppstatus}),m.xmppstatusview.render(),m.allow_muc&&(this.roomspanel=new m.RoomsPanel({$parent:this.$el.find(".controlbox-panes"),model:new(Backbone.Model.extend({id:h("converse.roomspanel"+m.bare_jid),browserStorage:new Backbone.BrowserStorage[m.storage](h("converse.roomspanel"+m.bare_jid))}))}),this.roomspanel.render().model.fetch(),this.roomspanel.model.get("nick")||this.roomspanel.model.save({nick:a.getNodeFromJid(m.bare_jid)})),this.initDragResize().setDimensions()},close:function(e){return e&&e.preventDefault&&e.preventDefault(),m.connection.connected?this.model.save({closed:!0}):this.model.trigger("hide"),m.emit("controlBoxClosed",this),this},ensureClosedState:function(){this.model.get("closed")?this.hide():this.show()},hide:function(e){return this.$el.hide("fast",function(){m.refreshWebkit(),m.emit("chatBoxClosed",this),m.controlboxtoggle.show(function(){typeof e=="function"&&e()})}),this},show:function(){return m.controlboxtoggle.hide(function(){this.$el.show("fast",function(){m.rosterview&&m.rosterview.update(),m.refreshWebkit()}.bind(this)),m.emit("controlBoxOpened",this)}.bind(this)),this},featureAdded:function(e){if(e.get("var")===a.NS.MUC&&m.allow_muc){this.roomspanel.model.save({muc_domain:e.get("from")});var t=this.$el.find("input.new-chatroom-server");t.is(":focus")||t.val(this.roomspanel.model.get("muc_domain"))}},switchTab:function(e){e&&e.preventDefault&&e.preventDefault();var n=t(e.target),r=n.parent().siblings("li").children("a"),i=t(n.attr("href"));return t(r.attr("href")).hide(),r.removeClass("current"),n.addClass("current"),i.show(),this},showHelpMessages:function(e){return}}),this.ChatRoomOccupant=Backbone.Model,this.ChatRoomOccupantView=Backbone.View.extend({tagName:"li",initialize:function(){this.model.on("add",this.render,this),this.model.on("change",this.render,this),this.model.on("destroy",this.destroy,this)},render:function(){var e=m.templates.occupant(f.extend(this.model.toJSON(),{desc_moderator:q("This user is a moderator"),desc_occupant:q("This user can send messages in this room"),desc_visitor:q("This user can NOT send messages in this room")}));return this.$el.replaceWith(e),this.setElement(e,!0),this},destroy:function(){this.$el.remove()}}),this.ChatRoomOccupants=Backbone.Collection.extend({model:m.ChatRoomOccupant}),this.ChatRoomOccupantsView=Backbone.Overview.extend({tagName:"div",className:"occupants",initialize:function(){this.model.on("add",this.onOccupantAdded,this)},render:function(){return this.$el.html(m.templates.chatroom_sidebar({label_invitation:q("Invite..."),label_occupants:q("Occupants")})),this.initInviteWidget()},onOccupantAdded:function(e){var t=this.get(e.get("id"));t?(delete t.model,t.model=e,t.initialize()):t=this.add(e.get("id"),new m.ChatRoomOccupantView({model:e})),this.$(".occupant-list").append(t.render().$el)},parsePresence:function(e){var t=a.getResourceFromJid(e.getAttribute("from")),n={id:t,nick:t,type:e.getAttribute("type"),states:[]};return f.each(e.childNodes,function(e){switch(e.nodeName){case"status":n.status=e.textContent||null;break;case"show":n.show=e.textContent||null;break;case"x":e.getAttribute("xmlns")===a.NS.MUC_USER&&f.each(e.childNodes,function(e){switch(e.nodeName){case"item":n.affiliation=e.getAttribute("affiliation"),n.role=e.getAttribute("role"),n.jid=e.getAttribute("jid"),n.nick=e.getAttribute("nick")||n.nick;break;case"status":e.getAttribute("code")&&n.states.push(e.getAttribute("code"))}})}}),n},updateOccupantsOnPresence:function(e){var t,n=this.parsePresence(e);switch(n.type){case"error":return!0;case"unavailable":t=this.model.get(n.id),t&&t.destroy();break;default:t=this.model.get(n.id),t?t.save(n):this.model.create(n)}},initInviteWidget:function(){var e=this.$("input.invited-contact");return e.typeahead({minLength:1,highlight:!0},{name:"contacts-dataset",source:function(e,t){var n=[];f.each(m.roster.filter(p(["fullname","jid"],e)),function(e){n.push({value:e.get("fullname"),jid:e.get("jid")})}),t(n)},templates:{suggestion:f.template('<p data-jid="{{jid}}">{{value}}</p>')}}),e.on("typeahead:selected",function(e,n,r){var i=prompt(q(R('You are about to invite %1$s to the chat room "%2$s". '),n.value,this.model.get("id"))+q("You may optionally include a message, explaining the reason for the invitation."));i!==null&&this.chatroomview.directInvite(n.jid,i),t(e.target).typeahead("val","")}.bind(this)),this}}),this.ChatRoomView=m.ChatBoxView.extend({length:300,tagName:"div",className:"chatbox chatroom",events:{"click .close-chatbox-button":"close","click .toggle-chatbox-button":"minimize","click .configure-chatroom-button":"configureChatRoom","click .toggle-smiley":"toggleEmoticonMenu","click .toggle-smiley ul li":"insertEmoticon","click .toggle-clear":"clearChatRoomMessages","click .toggle-call":"toggleCall","click .toggle-occupants a":"toggleOccupants","keypress textarea.chat-textarea":"keyPressed","mousedown .dragresize-top":"onStartVerticalResize","mousedown .dragresize-left":"onStartHorizontalResize","mousedown .dragresize-topleft":"onStartDiagonalResize"},is_chatroom:!0,initialize:function(){t(window).on("resize",f.debounce(this.setDimensions.bind(this),100)),this.model.messages.on("add",this.onMessageAdded,this),this.model.on("change:minimized",function(e){e.get("minimized")?this.hide():this.maximize()},this),this.model.on("destroy",function(){this.hide().leave()},this),this.occupantsview=new m.ChatRoomOccupantsView({model:new m.ChatRoomOccupants({nick:this.model.get("nick")})});var e=h("converse.occupants"+m.bare_jid+this.model.get("id")+this.model.get("nick"));this.occupantsview.model.browserStorage=new Backbone.BrowserStorage[m.storage](e),this.occupantsview.chatroomview=this,this.render().$el.hide(),this.occupantsview.model.fetch({add:!0}),this.join(null,{maxstanzas:m.muc_history_max_stanzas}),this.fetchMessages(),m.emit("chatRoomOpened",this),this.$el.insertAfter(m.chatboxviews.get("controlbox").$el),this.model.get("minimized")?this.hide():this.show()},render:function(){return this.$el.attr("id",this.model.get("box_id")).html(m.templates.chatroom(this.model.toJSON())),this.renderChatArea(),this.$content.on("scroll",f.debounce(this.onScroll.bind(this),100)),this.setWidth(),setTimeout(m.refreshWebkit,50),this},renderChatArea:function(){return this.$(".chat-area").length||(this.$(".chatroom-body").empty().append(m.templates.chatarea({show_toolbar:m.show_toolbar,label_message:q("Message")})).append(this.occupantsview.render().$el),this.renderToolbar(),this.$content=this.$el.find(".chat-content")),this.toggleOccupants(null,!0),this},toggleOccupants:function(e,t){e&&(e.preventDefault(),e.stopPropagation()),t&&this.model.set({hidden_occupants:!this.model.get("hidden_occupants")});var n=this.$(".icon-hide-users");this.model.get("hidden_occupants")?(this.model.save({hidden_occupants:!1}),n.removeClass("icon-show-users").addClass("icon-hide-users"),this.$(".chat-area").removeClass("full"),this.$("div.occupants").removeClass("hidden"),this.scrollDown()):(this.model.save({hidden_occupants:!0}),n.removeClass("icon-hide-users").addClass("icon-show-users"),this.$(".occupants").addClass("hidden"),this.$(".chat-area").addClass("full"),this.scrollDown())},directInvite:function(e,t){var n={xmlns:"jabber:x:conference",jid:this.model.get("jid")};t!==null&&(n.reason=t),this.model.get("password")&&(n.password=this.model.get("password"));var i=r({from:m.connection.jid,to:e,id:m.connection.getUniqueId()}).c("x",n);m.connection.send(i),m.emit("roomInviteSent",this,e,t)},onCommandError:function(e){this.showStatusNotification(q("Error: could not execute the command"),!0)},sendChatRoomMessage:function(e){var t=m.connection.getUniqueId(),n=r({to:this.model.get("jid"),from:m.connection.jid,type:"groupchat",id:t}).c("body").t(e).up().c("x",{xmlns:"jabber:x:event"}).c("composing");m.connection.send(n);var i=m.xmppstatus.get("fullname");this.model.messages.create({fullname:f.isEmpty(i)?m.bare_jid:i,sender:"me",time:l().format(),message:e,msgid:t})},setAffiliation:function(e,t,r,i,o,u){var f=s("item",{jid:t,affiliation:r}),l=n({to:e,type:"set"}).c("query",{xmlns:a.NS.MUC_ADMIN}).cnode(f.node);return i!==null&&l.c("reason",i),m.connection.sendIQ(l.tree(),o,u)},modifyRole:function(e,t,r,i,o,u){var f=s("item",{nick:t,role:r}),l=n({to:e,type:"set"}).c("query",{xmlns:a.NS.MUC_ADMIN}).cnode(f.node);return i!==null&&l.c("reason",i),m.connection.sendIQ(l.tree(),o,u)},member:function(e,t,n,r,i){return this.setAffiliation(e,t,"member",n,r,i)},revoke:function(e,t,n,r,i){return this.setAffiliation(e,t,"none",n,r,i)},owner:function(e,t,n,r,i){return this.setAffiliation(e,t,"owner",n,r,i)},admin:function(e,t,n,r,i){return this.setAffiliation(e,t,"admin",n,r,i)},validateRoleChangeCommand:function(e,t){return t.length<1||t.length>2?(this.showStatusNotification(q('Error: the "'+e+"\" command takes two arguments, the user's nickname and optionally a reason."),!0),!1):!0},onChatRoomMessageSubmitted:function(e){var t=e.replace(/^\s*/,"").match(/^\/(.*?)(?: (.*))?$/)||[!1,"",""],n=t[2]&&t[2].splitOnce(" ")||[];switch(t[1]){case"admin":if(!this.validateRoleChangeCommand(t[1],n))break;this.setAffiliation(this.model.get("jid"),n[0],"admin",n[1],undefined,this.onCommandError.bind(this));break;case"ban":if(!this.validateRoleChangeCommand(t[1],n))break;this.setAffiliation(this.model.get("jid"),n[0],"outcast",n[1],undefined,this.onCommandError.bind(this));break;case"clear":this.clearChatRoomMessages();break;case"deop":if(!this.validateRoleChangeCommand(t[1],n))break;this.modifyRole(this.model.get("jid"),n[0],"occupant",n[1],undefined,this.onCommandError.bind(this));break;case"help":this.showHelpMessages(["<strong>/admin</strong>: "+q("Change user's affiliation to admin"),"<strong>/ban</strong>: "+q("Ban user from room"),"<strong>/clear</strong>: "+q("Remove messages"),"<strong>/deop</strong>: "+q("Change user role to occupant"),"<strong>/help</strong>: "+q("Show this menu"),"<strong>/kick</strong>: "+q("Kick user from room"),"<strong>/me</strong>: "+q("Write in 3rd person"),"<strong>/member</strong>: "+q("Grant membership to a user"),"<strong>/mute</strong>: "+q("Remove user's ability to post messages"),"<strong>/nick</strong>: "+q("Change your nickname"),"<strong>/op</strong>: "+q("Grant moderator role to user"),"<strong>/owner</strong>: "+q("Grant ownership of this room"),"<strong>/revoke</strong>: "+q("Revoke user's membership"),"<strong>/topic</strong>: "+q("Set room topic"),"<strong>/voice</strong>: "+q("Allow muted user to post messages")]);break;case"kick":if(!this.validateRoleChangeCommand(t[1],n))break;this.modifyRole(this.model.get("jid"),n[0],"none",n[1],undefined,this.onCommandError.bind(this));break;case"mute":if(!this.validateRoleChangeCommand(t[1],n))break;this.modifyRole(this.model.get("jid"),n[0],"visitor",n[1],undefined,this.onCommandError.bind(this));break;case"member":if(!this.validateRoleChangeCommand(t[1],n))break;this.setAffiliation(this.model.get("jid"),n[0],"member",n[1],undefined,this.onCommandError.bind(this));break;case"nick":m.connection.send(i({from:m.connection.jid,to:this.getRoomJIDAndNick(t[2]),id:m.connection.getUniqueId()}).tree());break;case"owner":if(!this.validateRoleChangeCommand(t[1],n))break;this.setAffiliation(this.model.get("jid"),n[0],"owner",n[1],undefined,this.onCommandError.bind(this));break;case"op":if(!this.validateRoleChangeCommand(t[1],n))break;this.modifyRole(this.model.get("jid"),n[0],"moderator",n[1],undefined,this.onCommandError.bind(this));break;case"revoke":if(!this.validateRoleChangeCommand(t[1],n))break;this.setAffiliation(this.model.get("jid"),n[0],"none",n[1],undefined,this.onCommandError.bind(this));break;case"topic":m.connection.send(r({to:this.model.get("jid"),from:m.connection.jid,type:"groupchat"}).c("subject",{xmlns:"jabber:client"}).t(t[2]).tree());break;case"voice":if(!this.validateRoleChangeCommand(t[1],n))break;this.modifyRole(this.model.get("jid"),n[0],"occupant",n[1],undefined,this.onCommandError.bind(this));break;default:this.sendChatRoomMessage(e)}},handleMUCStanza:function(e){var n,r,i,s=e.getAttribute("from"),o=t(e).find('[xmlns="'+a.NS.MAM+'"]').length>0;if(!s||this.model.get("id")!==s.split("/")[0]||o)return!0;if(e.nodeName==="message")f.compose(this.onChatRoomMessage.bind(this),this.showStatusMessages.bind(this))(e);else if(e.nodeName==="presence"){r=e.getElementsByTagName("x");if(r.length>0)for(i=0;i<r.length;i++){n=r[i].getAttribute("xmlns");if(n&&n.match(a.NS.MUC)){this.onChatRoomPresence(e);break}}}return!0},getRoomJIDAndNick:function(e){e=e||this.model.get("nick");var t=this.model.get("jid"),n=a.getNodeFromJid(t),r=a.getDomainFromJid(t);return n+"@"+r+(e!==null?"/"+e:"")},join:function(e,t,n){var r=i({from:m.connection.jid,to:this.getRoomJIDAndNick()}).c("x",{xmlns:a.NS.MUC});return typeof t=="object"&&Object.keys(t).length&&(r=r.c("history",t).up()),e&&r.cnode(a.xmlElement("password",[],e)),typeof n!="undefined"&&n!==null&&r.up.cnode(n),this.handler||(this.handler=m.connection.addHandler(this.handleMUCStanza.bind(this))),this.model.set("connection_status",a.Status.CONNECTING),m.connection.send(r)},leave:function(e){var t=m.connection.getUniqueId(),n=i({type:"unavailable",id:t,from:m.connection.jid,to:this.getRoomJIDAndNick()});e!==null&&n.c("status",e),m.connection.addHandler(function(){this.model.set("connection_status",a.Status.DISCONNECTED)}.bind(this),null,"presence",null,t),m.connection.send(n)},renderConfigurationForm:function(e){var n=this.$el.find("form.chatroom-form"),r=n.children("fieldset:first"),i=t(e),s=i.find("field"),o=i.find("title").text(),u=i.find("instructions").text();r.find("span.spinner").remove(),r.append(t("<legend>").text(o)),u&&u!==o&&r.append(t('<p class="instructions">').text(u)),f.each(s,function(e){r.append(c.xForm2webForm(t(e),i))}),n.append("<fieldset></fieldset>"),r=n.children("fieldset:last"),r.append('<input type="submit" class="pure-button button-primary" value="'+q("Save")+'"/>'),r.append('<input type="button" class="pure-button button-cancel" value="'+q("Cancel")+'"/>'),r.find("input[type=button]").on("click",this.cancelConfiguration.bind(this)),n.on("submit",this.saveConfiguration.bind(this))},sendConfiguration:function(e,t,r){var i=n({to:this.model.get("jid"),type:"set"}).c("query",{xmlns:a.NS.MUC_OWNER}).c("x",{xmlns:a.NS.XFORM,type:"submit"});return f.each(e,function(e){i.cnode(e).up()}),m.connection.sendIQ(i.tree(),t,r)},saveConfiguration:function(e){e.preventDefault();var n=this,r=t(e.target).find(":input:not([type=button]):not([type=submit])"),i=r.length,s=[];r.each(function(){s.push(c.webForm2xForm(this)),--i||n.sendConfiguration(s,n.onConfigSaved.bind(n),n.onErrorConfigSaved.bind(n))}),this.$el.find("div.chatroom-form-container").hide(function(){t(this).remove(),n.$el.find(".chat-area").removeClass("hidden"),n.$el.find(".occupants").removeClass("hidden")})},onConfigSaved:function(e){},onErrorConfigSaved:function(e){this.showStatusNotification(q("An error occurred while trying to save the form."))},cancelConfiguration:function(e){e.preventDefault();var n=this;this.$el.find("div.chatroom-form-container").hide(function(){t(this).remove(),n.$el.find(".chat-area").removeClass("hidden"),n.$el.find(".occupants").removeClass("hidden")})},configureChatRoom:function(e){e.preventDefault();if(this.$el.find("div.chatroom-form-container").length)return;this.$(".chatroom-body").children().addClass("hidden"),this.$(".chatroom-body").append(m.templates.chatroom_form()),m.connection.sendIQ(n({to:this.model.get("jid"),type:"get"}).c("query",{xmlns:a.NS.MUC_OWNER}).tree(),this.renderConfigurationForm.bind(this))},submitPassword:function(e){e.preventDefault();var t=this.$el.find(".chatroom-form").find("input[type=password]").val();this.$el.find(".chatroom-form-container").replaceWith('<span class="spinner centered"/>'),this.join(t)},renderPasswordForm:function(){this.$(".chatroom-body").children().hide(),this.$("span.centered.spinner").remove(),this.$(".chatroom-body").append(m.templates.chatroom_password_form({heading:q("This chatroom requires a password"),label_password:q("Password: "),label_submit:q("Submit")})),this.$(".chatroom-form").on("submit",this.submitPassword.bind(this))},showDisconnectMessage:function(e){this.$(".chat-area").hide(),this.$(".occupants").hide(),this.$("span.centered.spinner").remove(),this.$(".chatroom-body").append(t("<p>"+e+"</p>"))},infoMessages:{100:q("This room is not anonymous"),102:q("This room now shows unavailable members"),103:q("This room does not show unavailable members"),104:q("Non-privacy-related room configuration has changed"),170:q("Room logging is now enabled"),171:q("Room logging is now disabled"),172:q("This room is now non-anonymous"),173:q("This room is now semi-anonymous"),174:q("This room is now fully-anonymous"),201:q("A new room has been created")},disconnectMessages:{301:q("You have been banned from this room"),307:q("You have been kicked from this room"),321:q("You have been removed from this room because of an affiliation change"),322:q("You have been removed from this room because the room has changed to members-only and you're not a member"),332:q("You have been removed from this room because the MUC (Multi-user chat) service is being shut down.")},actionInfoMessages:{301:R("<strong>%1$s</strong> has been banned"),303:R("<strong>%1$s</strong>'s nickname has changed"),307:R("<strong>%1$s</strong> has been kicked out"),321:R("<strong>%1$s</strong> has been removed because of an affiliation change"),322:R("<strong>%1$s</strong> has been removed for not being a member")},newNicknameMessages:{210:R("Your nickname has been automatically changed to: <strong>%1$s</strong>"),303:R("Your nickname has been changed to: <strong>%1$s</strong>")},showStatusMessages:function(e,n){var r=t(e),i=[],s=[],o=[];r.find('x[xmlns="'+a.NS.MUC_USER+'"]').each(function(e,u){var l=t(u).find("item");a.getBareJidFromJid(l.attr("jid"))===m.bare_jid&&l.attr("affiliation")==="owner"&&this.$el.find("a.configure-chatroom-button").show(),t(u).find("item reason").each(function(e,n){t(n).text()&&o.push(t(n).text())}),t(u).find("status").each(function(e,o){var u=o.getAttribute("code"),c=a.unescapeNode(a.getResourceFromJid(r.attr("from")));n&&u==="210"?s.push(q(this.newNicknameMessages[u],c)):n&&u==="303"?s.push(q(this.newNicknameMessages[u],l.attr("nick"))):n&&f.contains(f.keys(this.disconnectMessages),u)?i.push(this.disconnectMessages[u]):!n&&f.contains(f.keys(this.actionInfoMessages),u)?s.push(q(this.actionInfoMessages[u],c)):f.contains(f.keys(this.infoMessages),u)?s.push(this.infoMessages[u]):u!=="110"&&t(o).text()&&s.push(t(o).text())}.bind(this))}.bind(this));if(i.length>0){for(w=0;w<i.length;w++)this.showDisconnectMessage(i[w]);for(w=0;w<o.length;w++)this.showDisconnectMessage(q('The reason given is: "'+o[w]+'"'),!0);this.model.set("connection_status",a.Status.DISCONNECTED);return}for(w=0;w<s.length;w++)this.$content.append(m.templates.info({message:s[w]}));for(w=0;w<o.length;w++)this.showStatusNotification(q('The reason given is: "'+o[w]+'"'),!0);return this.scrollDown(),e},showErrorMessage:function(e){e.attr("type")==="auth"?e.find("not-authorized").length?this.renderPasswordForm():e.find("registration-required").length?this.showDisconnectMessage(q("You are not on the member list of this room")):e.find("forbidden").length&&this.showDisconnectMessage(q("You have been banned from this room")):e.attr("type")==="modify"?e.find("jid-malformed").length&&this.showDisconnectMessage(q("No nickname was specified")):e.attr("type")==="cancel"&&(e.find("not-allowed").length?this.showDisconnectMessage(q("You are not allowed to create new rooms")):e.find("not-acceptable").length?this.showDisconnectMessage(q("Your nickname doesn't conform to this room's policies")):e.find("conflict").length?this.showDisconnectMessage(q("Your nickname is already taken")):e.find("item-not-found").length?this.showDisconnectMessage(q("This room does not (yet) exist")):e.find("service-unavailable").length&&this.showDisconnectMessage(q("This room has reached it's maximum number of occupants")))},onChatRoomPresence:function(e){var n=t(e),r,i=this.model.get("nick");n.attr("type")==="error"?(this.model.set("connection_status",a.Status.DISCONNECTED),this.showErrorMessage(n.find("error"))):(r=n.find("status[code='110']").length||n.attr("from")===this.model.get("id")+"/"+a.escapeNode(i),this.model.get("connection_status")!==a.Status.CONNECTED&&this.model.set("connection_status",a.Status.CONNECTED),this.showStatusMessages(e,r)),this.occupantsview.updateOccupantsOnPresence(e)},onChatRoomMessage:function(e){var n=t(e),r=n.find('result[xmlns="'+a.NS.MAM+'"]').attr("id"),i=n.find("delay").length>0,s=n.find("forwarded"),o;s.length&&(n=s.children("message"),o=s.children("delay"),i=o.length>0);var u=n.children("body").text(),f=n.attr("from"),l=n.attr("id"),c=a.getResourceFromJid(f),h=c&&a.unescapeNode(c)||"",p=n.children("subject").text();return l&&this.model.messages.findWhere({msgid:l})?!0:(p&&(this.$el.find(".chatroom-topic").text(p).attr("title",p),this.$content.append(m.templates.info({message:q("Topic set by %1$s to: %2$s",h,p)}))),h===""?!0:(this.model.createMessage(n,o,r),!i&&h!==this.model.get("nick")&&(new RegExp("\\b"+this.model.get("nick")+"\\b")).test(u)&&m.playNotification(),h!==this.model.get("nick")&&m.emit("message",e),!0))}}),this.ChatBoxes=Backbone.Collection.extend({model:m.ChatBox,comparator:"time_opened",registerMessageHandler:function(){m.connection.addHandler(function(e){return this.onMessage(e),!0}.bind(this),null,"message","chat"),m.connection.addHandler(function(e){return this.onInvite(e),!0}.bind(this),"jabber:x:conference","message")},onConnected:function(){this.browserStorage=new Backbone.BrowserStorage[m.storage](h("converse.chatboxes-"+m.bare_jid)),this.registerMessageHandler(),this.fetch({add:!0,success:function(e,t){e.each(function(e){e.get("id")!=="controlbox"&&!e.get("minimized")&&e.trigger("show")}),f.include(f.pluck(t,"id"),"controlbox")||this.add({id:"controlbox",box_id:"controlbox"}),this.get("controlbox").save({connected:!0})}.bind(this)})},isOnlyChatStateNotification:function(e){return e.find("body").length===0&&(e.find(M).length!==0||e.find(D).length!==0||e.find(O).length!==0||e.find(P).length!==0||e.find(H).length!==0)},onInvite:function(e){var n=t(e),r=n.children('x[xmlns="jabber:x:conference"]'),i=a.getBareJidFromJid(n.attr("from")),s=r.attr("jid"),o=r.attr("reason"),u=m.roster.get(i),l;o?l=confirm(q(R('%1$s has invited you to join a chat room: %2$s, and left the following reason: "%3$s"'),u.get("fullname"),s,o)):l=confirm(q(R("%1$s has invited you to join a chat room: %2$s"),u.get("fullname"),s));if(l===!0){var c=m.chatboxviews.showChat({id:s,jid:s,name:a.unescapeNode(a.getNodeFromJid(s)),nick:a.unescapeNode(a.getNodeFromJid(m.connection.jid)),chatroom:!0,box_id:h(s),password:r.attr("password")});f.contains([a.Status.CONNECTING,a.Status.CONNECTED],c.get("connection_status"))||m.chatboxviews.get(s).join(null)}},onMessage:function(e){var n=t(e),r,i,s,o,u,f,l,c,h,p=n.attr("from"),d=n.attr("to"),v=a.getResourceFromJid(d),g=n.find('result[xmlns="'+a.NS.MAM+'"]').attr("id");return v&&v!==m.resource?(m.log("Ignore incoming message intended for a different resource: "+d,"info"),!0):p===m.connection.jid?(m.log("Ignore incoming message sent from this client's JID: "+p,"info"),!0):(i=n.find("forwarded"),i.length&&(n=i.children("message"),s=i.children("delay"),p=n.attr("from"),d=n.attr("to")),o=a.getBareJidFromJid(p),u=a.getResourceFromJid(p),f=o===m.bare_jid,l=n.attr("id"),f?(r=a.getBareJidFromJid(d),h=a.getResourceFromJid(d)):(r=o,h=u),c=this.getChatBox(r,n.find("body").length>0),c?l&&c.messages.findWhere({msgid:l})?!0:(!this.isOnlyChatStateNotification(n)&&!f&&!i.length&&m.playNotification(),c.receiveMessage(n,s,g),m.roster.addResource(r,h),m.emit("message",e),!0):!0)},getChatBox:function(e,t){var n=a.getBareJidFromJid(e),r=this.get(n);if(!r&&t){var i=m.roster.get(n);if(i===undefined){m.log("Could not get roster item for JID "+n,"error");return}r=this.create({id:n,jid:n,fullname:f.isEmpty(i.get("fullname"))?e:i.get("fullname"),image_type:i.get("image_type"),image:i.get("image"),url:i.get("url")})}return r}}),this.ChatBoxViews=Backbone.Overview.extend({initialize:function(){this.model.on("add",this.onChatBoxAdded,this),this.model.on("change:minimized",function(e){e.get("minimized")===!0?this.trimChats():this.trimChats(this.get(e.get("id")))},this)},_ensureElement:function(){if(!this.el){var e=t("#conversejs");e.length||(e=t('<div id="conversejs">'),t("body").append(e)),e.html(m.templates.chats_panel()),this.setElement(e,!1)}else this.setElement(f.result(this,"el"),!1)},onChatBoxAdded:function(e){var t=this.get(e.get("id"));t?(delete t.model,t.model=e,t.initialize()):(e.get("chatroom")?t=new m.ChatRoomView({model:e}):e.get("box_id")==="controlbox"?t=new m.ControlBoxView({model:e}):t=new m.ChatBoxView({model:e}),this.add(e.get("id"),t)),this.trimChats(t)},trimChats:function(e){if(m.no_trimming||this.model.length<=1)return;var n,r=0,i=m.minimized_chats.$el,s=f.contains(this.model.pluck("minimized"),!0)?i.outerWidth(!0):0,o=e?e.$el.outerWidth(!0):0,u=e?e.model.get("id"):null,a=this.get("controlbox");!a||!a.$el.is(":visible")?r=m.controlboxtoggle.$el.outerWidth(!0):r=a.$el.outerWidth(!0),f.each(this.getAll(),function(e){var t=e.model.get("id");t!=="controlbox"&&t!==u&&!e.model.get("minimized")&&e.$el.is(":visible")&&(o+=e.$el.outerWidth(!0))}),s+o+r>t("body").outerWidth(!0)&&(n=this.getOldestMaximizedChat(),n&&n.get("id")!==u&&n.minimize())},getOldestMaximizedChat:function(){var e=0,t=this.model.sort().at(e);while(t.get("id")==="controlbox"||t.get("minimized")===!0){e++,t=this.model.at(e);if(!t)return null}return t},closeAllChatBoxes:function(e){var t=[];return this.model.each(function(n){var r=n.get("id");(e||r!=="controlbox")&&t.push(r)}),t.forEach(function(e){var t=this.get(e);t&&t.close()},this),this},showChat:function(e){var t=this.model.get(e.jid);return t||(t=this.model.create(e,{error:function(e,t){m.log(t.responseText)}})),t.get("minimized")?t.maximize():t.trigger("show"),t}}),this.MinimizedChatBoxView=Backbone.View.extend({tagName:"div",className:"chat-head",events:{"click .close-chatbox-button":"close","click .restore-chat":"restore"},initialize:function(){this.model.messages.on("add",function(e){e.get("message")&&this.updateUnreadMessagesCounter()},this),this.model.on("change:minimized",this.clearUnreadMessagesCounter,this),this.model.on("showReceivedOTRMessage",this.updateUnreadMessagesCounter,this),this.model.on("showSentOTRMessage",this.updateUnreadMessagesCounter,this)},render:function(){var e=f.extend(this.model.toJSON(),{tooltip:q("Click to restore this chat")});return this.model.get("chatroom")?(e.title=this.model.get("name"),this.$el.addClass("chat-head-chatroom")):(e.title=this.model.get("fullname"),this.$el.addClass("chat-head-chatbox")),this.$el.html(m.templates.trimmed_chat(e))},clearUnreadMessagesCounter:function(){this.model.set({num_unread:0}),this.render()},updateUnreadMessagesCounter:function(){this.model.set({num_unread:this.model.get("num_unread")+1}),this.render()},close:function(e){return e&&e.preventDefault&&e.preventDefault(),this.remove(),this.model.destroy(),m.emit("chatBoxClosed",this),this},restore:f.debounce(function(e){e&&e.preventDefault&&e.preventDefault(),this.model.messages.off("add",null,this),this.remove(),this.model.maximize()},200,!0)}),this.MinimizedChats=Backbone.Overview.extend({el:"#minimized-chats",events:{"click #toggle-minimized-chats":"toggle"},initialize:function(){this.initToggle(),this.model.on("add",this.onChanged,this),this.model.on("destroy",this.removeChat,this),this.model.on("change:minimized",this.onChanged,this),this.model.on("change:num_unread",this.updateUnreadMessagesCounter,this)},tearDown:function(){return this.model.off("add",this.onChanged),this.model.off("destroy",this.removeChat),this.model.off("change:minimized",this.onChanged),this.model.off("change:num_unread",this.updateUnreadMessagesCounter),this},initToggle:function(){this.toggleview=new m.MinimizedChatsToggleView({model:new m.MinimizedChatsToggle});var e=h("converse.minchatstoggle"+m.bare_jid);this.toggleview.model.id=e,this.toggleview.model.browserStorage=new Backbone.BrowserStorage[m.storage](e),this.toggleview.model.fetch()},render:function(){return this.keys().length===0?this.$el.hide("fast"):this.keys().length===1&&this.$el.show("fast"),this.$el},toggle:function(e){e&&e.preventDefault&&e.preventDefault(),this.toggleview.model.save({collapsed:!this.toggleview.model.get("collapsed")}),this.$(".minimized-chats-flyout").toggle()},onChanged:function(e){e.get("id")!=="controlbox"&&e.get("minimized")?this.addChat(e):this.get(e.get("id"))&&this.removeChat(e)},addChat:function(e){var t=this.get(e.get("id"));if(t&&t.$el.parent().length!==0)return;var n=new m.MinimizedChatBoxView({model:e});this.$(".minimized-chats-flyout").append(n.render()),this.add(e.get("id"),n),this.toggleview.model.set({num_minimized:this.keys().length}),this.render()},removeChat:function(e){this.remove(e.get("id")),this.toggleview.model.set({num_minimized:this.keys().length}),this.render()},updateUnreadMessagesCounter:function(){var e=this.model.pluck("num_unread"),t=0,n;for(n=0;n<e.length;n++)t+=e[n];this.toggleview.model.set({num_unread:t}),this.render()}}),this.MinimizedChatsToggle=Backbone.Model.extend({initialize:function(){this.set({collapsed:this.get("collapsed")||!1,num_minimized:this.get("num_minimized")||0,num_unread:this.get("num_unread")||0})}}),this.MinimizedChatsToggleView=Backbone.View.extend({el:"#toggle-minimized-chats",initialize:function(){this.model.on("change:num_minimized",this.render,this),this.model.on("change:num_unread",this.render,this),this.$flyout=this.$el.siblings(".minimized-chats-flyout")},render:function(){return this.$el.html(m.templates.toggle_chats(f.extend(this.model.toJSON(),{Minimized:q("Minimized")}))),this.model.get("collapsed")?this.$flyout.hide():this.$flyout.show(),this.$el}}),this.RosterContact=Backbone.Model.extend({initialize:function(e,t){var n=e.jid,r=a.getBareJidFromJid(n),i=a.getResourceFromJid(n);e.jid=r,this.set(f.extend({id:r,jid:r,fullname:r,chat_status:"offline",user_id:a.getNodeFromJid(n),resources:i?[i]:[],groups:[],image_type:"image/png",image:"iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAIAAABt+uBvAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gwHCy455JBsggAABkJJREFUeNrtnM1PE1sUwHvvTD8otWLHST/Gimi1CEgr6M6FEWuIBo2pujDVsNDEP8GN/4MbN7oxrlipG2OCgZgYlxAbkRYw1KqkIDRCSkM7nXvvW8x7vjyNeQ9m7p1p3z1LQk/v/Dhz7vkEXL161cHl9wI5Ag6IA+KAOCAOiAPigDggLhwQB2S+iNZ+PcYY/SWEEP2HAAAIoSAIoihCCP+ngDDGtVotGAz29/cfOXJEUZSOjg6n06lp2sbGRqlUWlhYyGazS0tLbrdbEASrzgksyeYJId3d3el0uqenRxRFAAAA4KdfIIRgjD9+/Pj8+fOpqSndslofEIQwHA6Pjo4mEon//qmFhYXHjx8vLi4ihBgDEnp7e9l8E0Jo165dQ0NDd+/eDYVC2/qsJElDQ0OEkKWlpa2tLZamxAhQo9EIBoOjo6MXL17csZLe3l5FUT59+lQul5l5JRaAVFWNRqN37tw5ceKEQVWRSOTw4cOFQuHbt2+iKLYCIISQLMu3b99OJpOmKAwEAgcPHszn8+vr6wzsiG6UQQhxuVyXLl0aGBgwUW0sFstkMl6v90fo1KyAMMYDAwPnzp0zXfPg4GAqlWo0Gk0MiBAiy/L58+edTqf5Aa4onj59OhaLYYybFRCEMBaL0fNxBw4cSCQStN0QRUBut3t4eJjq6U+dOiVJElVPRBFQIBDo6+ujCqirqyscDlONGykC2lYyYSR6pBoQQapHZwAoHo/TuARYAOrs7GQASFEUqn6aIiBJkhgA6ujooFpUo6iaTa7koFwnaoWadLNe81tbWwzoaJrWrICWl5cZAFpbW6OabVAEtLi4yABQsVjUNK0pAWWzWQaAcrlcswKanZ1VVZUqHYRQEwOq1Wpv3ryhCmh6erpcLjdrNl+v1ycnJ+l5UELI27dvv3//3qxxEADgy5cvExMT9Mznw4cPtFtAdAPFarU6Pj5eKpVM17yxsfHy5cvV1VXazXu62gVBKBQKT58+rdVqJqrFGL948eLdu3dU8/g/H4FBUaJYLAqC0NPTY9brMD4+PjY25mDSracOCABACJmZmXE6nUePHjWu8NWrV48ePSKEsGlAs7Agfd5nenq6Wq0mk0kjDzY2NvbkyRMIIbP2PLvhBUEQ8vl8NpuNx+M+n29bzhVjvLKycv/+/YmJCcazQuwA6YzW1tYmJyf1SY+2trZ/rRk1Go1SqfT69esHDx4UCgVmNaa/zZ/9ABUhRFXVYDB48uTJeDweiUQkSfL7/T9MA2NcqVTK5fLy8vL8/PzU1FSxWHS5XJaM4wGr9sUwxqqqer3eUCgkSZJuUBBCfTRvc3OzXC6vrKxUKhWn02nhCJ5lM4oQQo/HgxD6+vXr58+fHf8sDOp+HQDg8XgclorFU676dKLlo6yWRdItIBwQB8QBcUCtfosRQjRNQwhhjPUC4w46WXryBSHU1zgEQWBz99EFhDGu1+t+v//48ePxeFxRlD179ng8nh0Efgiher2+vr6ur3HMzMysrq7uTJVdACGEurq6Ll++nEgkPB7Pj9jPoDHqOxyqqubz+WfPnuVyuV9XPeyeagAAAoHArVu3BgcHab8CuVzu4cOHpVKJUnfA5GweY+xyuc6cOXPv3r1IJMLAR8iyPDw8XK/Xi8Wiqqqmm5KZgBBC7e3tN27cuHbtGuPVpf7+/lAoNDs7W61WzfVKpgHSSzw3b95MpVKW3MfRaDQSiczNzVUqFRMZmQOIEOL1eq9fv3727FlL1t50URRFluX5+flqtWpWEGAOIFEUU6nUlStXLKSjy759+xwOx9zcnKZpphzGHMzhcDiTydgk9r1w4YIp7RPTAAmCkMlk2FeLf/tIEKbTab/fbwtAhJBoNGrutpNx6e7uPnTokC1eMU3T0um0DZPMkZER6wERQnw+n/FFSxpy7Nix3bt3WwwIIcRgIWnHkkwmjecfRgGx7DtuV/r6+iwGhDHev3+/bQF1dnYaH6E2CkiWZdsC2rt3r8WAHA5HW1ubbQGZcjajgOwTH/4qNko1Wlg4IA6IA+KAOKBWBUQIsfNojyliKIoRRfH9+/dut9umf3wzpoUNNQ4BAJubmwz+ic+OxefzWWlBhJD29nbug7iT5sIBcUAcEAfEAXFAHBAHxOVn+QMrmWpuPZx12gAAAABJRU5ErkJggg==",status:""},e)),this.on("destroy",function(){this.removeFromRoster()}.bind(this))},subscribe:function(e){this.save("ask","subscribe");var t=i({to:this.get("jid"),type:"subscribe"});e&&e!==""&&t.c("status").t(e).up();var n=m.xmppstatus.get("fullname");return n&&n!==""&&t.c("nick",{xmlns:a.NS.NICK}).t(n).up(),m.connection.send(t),this},ackSubscribe:function(){m.connection.send(i({type:"subscribe",to:this.get("jid")}))},ackUnsubscribe:function(e){m.connection.send(i({type:"unsubscribe",to:this.get("jid")})),this.destroy()},unauthorize:function(e){return m.rejectPresenceSubscription(this.get("jid"),e),this},authorize:function(e){var t=i({to:this.get("jid"),type:"subscribed"});return e&&e!==""&&t.c("status").t(e),m.connection.send(t),this},removeResource:function(e){var t=this.get("resources"),n;return e&&(n=f.indexOf(t,e),n!==-1&&(t.splice(n,1),this.save({resources:t}))),t.length},removeFromRoster:function(e){var t=n({type:"set"}).c("query",{xmlns:a.NS.ROSTER}).c("item",{jid:this.get("jid"),subscription:"remove"});return m.connection.sendIQ(t,e,e),this},showInRoster:function(){var e=this.get("chat_status");return m.show_only_online_users&&e!=="online"||m.hide_offline_users&&e==="offline"?this.get("ask")==="subscribe"||this.get("subscription")==="from"||this.get("requesting")===!0?!0:!1:!0}}),this.RosterContactView=Backbone.View.extend({tagName:"dd",events:{"click .accept-xmpp-request":"acceptRequest","click .decline-xmpp-request":"declineRequest","click .open-chat":"openChat","click .remove-xmpp-contact":"removeContact"},initialize:function(){this.model.on("change",this.render,this),this.model.on("remove",this.remove,this),this.model.on("destroy",this.remove,this),this.model.on("open",this.openChat,this)},render:function(){if(!this.model.showInRoster())return this.$el.hide(),this;this.$el[0].style.display==="none"&&this.$el.show();var e=this.model,t=e.get("ask"),n=e.get("chat_status"),r=e.get("requesting"),i=e.get("subscription"),s=["current-xmpp-contact","pending-xmpp-contact","requesting-xmpp-contact"].concat(f.keys(W));f.each(s,function(e){this.el.className.indexOf(e)!==-1&&this.$el.removeClass(e)},this),this.$el.addClass(n).data("status",n);if(t==="subscribe"||i==="from")this.$el.addClass("pending-xmpp-contact"),this.$el.html(m.templates.pending_contact(f.extend(e.toJSON(),{desc_remove:q("Click to remove this contact"),allow_chat_pending_contacts:m.allow_chat_pending_contacts})));else if(r===!0)this.$el.addClass("requesting-xmpp-contact"),this.$el.html(m.templates.requesting_contact(f.extend(e.toJSON(),{desc_accept:q("Click to accept this contact request"),desc_decline:q("Click to decline this contact request"),allow_chat_pending_contacts:m.allow_chat_pending_contacts}))),m.controlboxtoggle.showControlBox();else if(i==="both"||i==="to")this.$el.addClass("current-xmpp-contact"),this.$el.removeClass(f.without(["both","to"],i)[0]).addClass(i),this.$el.html(m.templates.roster_item(f.extend(e.toJSON(),{desc_status:W[n||"offline"],desc_chat:q("Click to chat with this contact"),desc_remove:q("Click to remove this contact"),title_fullname:q("Name"),allow_contact_removal:m.allow_contact_removal})));return this},openChat:function(e){return e&&e.preventDefault&&e.preventDefault(),m.chatboxviews.showChat(this.model.attributes)},removeContact:function(e){e&&e.preventDefault&&e.preventDefault();if(!m.allow_contact_removal)return;var t=confirm(q("Are you sure you want to remove this contact?"));if(t===!0){var r=n({type:"set"}).c("query",{xmlns:a.NS.ROSTER}).c("item",{jid:this.model.get("jid"),subscription:"remove"});m.connection.sendIQ(r,function(e){this.model.destroy(),this.remove()}.bind(this),function(e){alert(q("Sorry, there was an error while trying to remove "+name+" as a contact.")),m.log(e)})}},acceptRequest:function(e){e&&e.preventDefault&&e.preventDefault(),m.roster.sendContactAddIQ(this.model.get("jid"),this.model.get("fullname"),[],function(){this.model.authorize().subscribe()}.bind(this))},declineRequest:function(e){e&&e.preventDefault&&e.preventDefault();var t=confirm(q("Are you sure you want to decline this contact request?"));return t===!0&&this.model.unauthorize().destroy(),this}}),this.RosterContacts=Backbone.Collection.extend({model:m.RosterContact,comparator:function(e,t){var n,r,i=e.get("chat_status")||"offline",s=t.get("chat_status")||"offline";return g[i]===g[s]?(n=e.get("fullname").toLowerCase(),r=t.get("fullname").toLowerCase(),n<r?-1:n>r?1:0):g[i]<g[s]?-1:1},subscribeToSuggestedItems:function(e){return t(e).find("item").each(function(e,t){this.getAttribute("action")==="add"&&m.roster.addAndSubscribe(this.getAttribute("jid"),null,m.xmppstatus.get("fullname"))}),!0},isSelf:function(e){return a.getBareJidFromJid(e)===a.getBareJidFromJid(m.connection.jid)},addAndSubscribe:function(e,t,n,r,i){this.addContact(e,t,n,i).done(function(e){e instanceof m.RosterContact&&e.subscribe(r)})},sendContactAddIQ:function(e,t,r,i,s){t=f.isEmpty(t)?e:t;var o=n({type:"set"}).c("query",{xmlns:a.NS.ROSTER}).c("item",{jid:e,name:t});f.map(r,function(e){o.c("group").t(e).up()}),m.connection.sendIQ(o,i,s)},addContact:function(e,n,r,i){var s=new t.Deferred;return r=r||[],n=f.isEmpty(n)?e:n,this.sendContactAddIQ(e,n,r,function(t){var o=this.create(f.extend({ask:undefined,fullname:n,groups:r,jid:e,requesting:!1,subscription:"none"},i),{sort:!1});s.resolve(o)}.bind(this),function(e){alert(q("Sorry, there was an error while trying to add "+n+" as a contact.")),m.log(e),s.resolve(e)}),s.promise()},addResource:function(e,t){var n=this.get(e),r;n&&(r=n.get("resources"),r?f.indexOf(r,t)===-1&&(r.push(t),n.set({resources:r})):n.set({resources:[t]}))},subscribeBack:function(e){var t=this.get(e);t instanceof m.RosterContact?t.authorize().subscribe():this.addContact(e,"",[],{subscription:"from"}).done(function(e){e instanceof m.RosterContact&&e.authorize().subscribe()})},getNumOnlineContacts:function(){var e=0,t=["offline","unavailable"],n=this.models,r=n.length,i;m.show_only_online_users&&(t=f.union(t,["dnd","xa","away"]));for(i=0;i<r;i++)f.indexOf(t,n[i].get("chat_status"))===-1&&e++;return e},onRosterPush:function(e){var r=e.getAttribute("id"),i=e.getAttribute("from");return i&&i!==""&&a.getBareJidFromJid(i)!==m.bare_jid?(m.connection.send(n({type:"error",id:r,from:m.connection.jid}).c("error",{type:"cancel"}).c("service-unavailable",{xmlns:a.NS.ROSTER})),!0):(m.connection.send(n({type:"result",id:r,from:m.connection.jid})),t(e).children("query").find("item").each(function(e,t){this.updateContact(t)}.bind(this)),m.emit("rosterPush",e),!0)},fetchFromServer:function(e,t){var r=n({type:"get",id:m.connection.getUniqueId("roster")}).c("query",{xmlns:a.NS.ROSTER});return m.connection.sendIQ(r,this.onReceivedFromServer.bind(this))},onReceivedFromServer:function(e){m.emit("roster",e),t(e).children("query").find("item").each(function(e,t){this.updateContact(t)}.bind(this)),m.initial_presence_sent||(m.initial_presence_sent=1,m.xmppstatus.sendPresence())},updateContact:function(e){var n=e.getAttribute("jid");if(this.isSelf(n))return;var r=[],i=this.get(n),s=e.getAttribute("ask"),o=e.getAttribute("subscription");t.map(e.getElementsByTagName("group"),function(e){r.push(a.getText(e))});if(!i){if(o==="none"&&s===null||o==="remove")return;this.create({ask:s,fullname:e.getAttribute("name")||n,groups:r,jid:n,subscription:o},{sort:!1})}else{if(o==="remove")return i.destroy();i.save({subscription:o,ask:s,requesting:null,groups:r})}},createContactFromVCard:function(e,t,n,r,i,s){var o=a.getBareJidFromJid(t);this.create({jid:o,subscription:"none",ask:null,requesting:!0,fullname:n||o,image:r,image_type:i,url:s,vcard_updated:l().format()})},handleIncomingSubscription:function(e){var t=a.getBareJidFromJid(e),n=this.get(t);m.allow_contact_requests||m.rejectPresenceSubscription(e,q("This client does not allow presence subscriptions")),m.auto_subscribe?!n||n.get("subscription")!=="to"?this.subscribeBack(t):n.authorize():n?n.get("subscription")!=="none"?n.authorize():n.get("ask")==="subscribe"&&n.authorize():n||m.getVCard(t,this.createContactFromVCard.bind(this),function(e,t){m.log("Error while retrieving vcard for "+t),this.createContactFromVCard.call(this,e,t)}.bind(this))},presenceHandler:function(e){var n=t(e),r=e.getAttribute("type");if(r==="error")return!0;var i=e.getAttribute("from"),s=a.getBareJidFromJid(i),o=a.getResourceFromJid(i),u=n.find("show").text()||"online",f=n.find("status"),l=this.get(s);if(this.isSelf(s)){m.connection.jid!==i&&r!=="unavailable"&&(m.xmppstatus.save({status:u}),f.length&&m.xmppstatus.save({status_message:f.text()}));return}if((n.find("x").attr("xmlns")||"").indexOf(a.NS.MUC)===0)return;l&&f.text()!==l.get("status")&&l.save({status:f.text()});if(r==="subscribed"&&l)l.ackSubscribe();else if(r==="unsubscribed"&&l)l.ackUnsubscribe();else{if(r==="unsubscribe")return;r==="subscribe"?this.handleIncomingSubscription(i):r==="unavailable"&&l?l.removeResource(o)===0&&l.save({chat_status:"offline"}):l&&(this.addResource(s,o),l.save({chat_status:u}))}}}),this.RosterGroup=Backbone.Model.extend({initialize:function(e,t){this.set(f.extend({description:X,state:F},e)),this.contacts=new m.RosterContacts}}),this.RosterGroupView=Backbone.Overview.extend({tagName:"dt",className:"roster-group",events:{"click a.group-toggle":"toggle"},initialize:function(){this.model.contacts.on("add",this.addContact,this),this.model.contacts.on("change:subscription",this.onContactSubscriptionChange,this),this.model.contacts.on("change:requesting",this.onContactRequestChange,this),this.model.contacts.on("change:chat_status",function(e){this.model.contacts.sort(),this.positionContact(e).render()},this),this.model.contacts.on("destroy",this.onRemove,this),this.model.contacts.on("remove",this.onRemove,this),m.roster.on("change:groups",this.onContactGroupChange,this)},render:function(){return this.$el.attr("data-group",this.model.get("name")),this.$el.html(t(m.templates.group_header({label_group:this.model.get("name"),desc_group_toggle:this.model.get("description"),toggle_state:this.model.get("state")}))),this},addContact:function(e){var t=new m.RosterContactView({model:e});this.add(e.get("id"),t),t=this.positionContact(e).render(),e.showInRoster()&&(this.model.get("state")===I?(t.$el[0].style.display!=="none"&&t.$el.hide(),this.$el.is(":visible")||this.$el.show()):this.$el[0].style.display!=="block"&&this.show())},positionContact:function(e){var t=this.get(e.get("id")),n=this.model.contacts.indexOf(e);return t.$el.detach(),n===0?this.$el.after(t.$el):n===this.model.contacts.length-1?this.$el.nextUntil("dt").last().after(t.$el):this.$el.nextUntil("dt").eq(n).before(t.$el),t},show:function(){this.$el.show(),f.each(this.getAll(),function(e){e.model.showInRoster()&&e.$el.show()})},hide:function(){this.$el.nextUntil("dt").addBack().hide()},filter:function(e){var t;e.length===0?(this.model.get("state")===F&&this.model.contacts.each(function(e){e.showInRoster()&&this.get(e.get("id")).$el.show()}.bind(this)),this.showIfNecessary()):(e=e.toLowerCase(),t=this.model.contacts.filter(p.not("fullname",e)),t.length===this.model.contacts.length?this.hide():(f.each(t,function(e){this.get(e.get("id")).$el.hide()}.bind(this)),f.each(this.model.contacts.reject(p.not("fullname",e)),function(e){this.get(e.get("id")).$el.show()}.bind(this)),this.showIfNecessary()))},showIfNecessary:function(){!this.$el.is(":visible")&&this.model.contacts.length>0&&this.$el.show()},toggle:function(e){e&&e.preventDefault&&e.preventDefault();var n=t(e.target);n.hasClass("icon-opened")?(this.$el.nextUntil("dt").slideUp(),this.model.save({state:I}),n.removeClass("icon-opened").addClass("icon-closed")):(n.removeClass("icon-closed").addClass("icon-opened"),this.model.save({state:F}),this.filter(m.rosterview.$(".roster-filter").val(),m.rosterview.$(".filter-type").val()))},onContactGroupChange:function(e){var t=f.contains(e.get("groups"),this.model.get("name")),n=e.get("id"),r=!this.get(n);t&&!r?this.model.contacts.remove(n):!t&&r&&this.addContact(e)},onContactSubscriptionChange:function(e){this.model.get("name")===J&&e.get("subscription")!=="from"&&this.model.contacts.remove(e.get("id"))},onContactRequestChange:function(e){this.model.get("name")===K&&!e.get("requesting")&&this.model.contacts.remove(e.get("id"))},onRemove:function(e){this.remove(e.get("id")),this.model.contacts.length===0&&this.$el.hide()}}),this.RosterGroups=Backbone.Collection.extend({model:m.RosterGroup,comparator:function(e,t){e=e.get("name"),t=t.get("name");var n=f.keys(Z),r=f.contains(n,e),i=f.contains(n,t);if(!r&&!i)return e.toLowerCase()<t.toLowerCase()?-1:e.toLowerCase()>t.toLowerCase()?1:0;if(r&&i)return Z[e]<Z[t]?-1:Z[e]>Z[t]?1:0;if(!r&&i)return t===V?1:-1;if(r&&!i)return e===V?-1:1}}),this.RosterView=Backbone.Overview.extend({tagName:"div",id:"converse-roster",events:{"keydown .roster-filter":"liveFilter","click .onX":"clearFilter","mousemove .x":"togglePointer","change .filter-type":"changeFilterType"},initialize:function(){this.roster_handler_ref=this.registerRosterHandler(),this.rosterx_handler_ref=this.registerRosterXHandler(),this.presence_ref=this.registerPresenceHandler(),m.roster.on("add",this.onContactAdd,this),m.roster.on("change",this.onContactChange,this),m.roster.on("destroy",this.update,this),m.roster.on("remove",this.update,this),this.model.on("add",this.onGroupAdd,this),this.model.on("reset",this.reset,this),this.$roster=t('<dl class="roster-contacts" style="display: none;"></dl>')},unregisterHandlers:function(){m.connection.deleteHandler(this.roster_handler_ref),delete this.roster_handler_ref,m.connection.deleteHandler(this.rosterx_handler_ref),delete this.rosterx_handler_ref,m.connection.deleteHandler(this.presence_ref),delete this.presence_ref},update:f.debounce(function(){var e=t("#online-count");return e.text("("+m.roster.getNumOnlineContacts()+")"),e.is(":visible")||e.show(),this.$roster.parent().length===0&&this.$el.append(this.$roster.show()),this.showHideFilter()},m.animate?100:0),render:function(){return this.$el.html(m.templates.roster({placeholder:q("Type to filter"),label_contacts:G,label_groups:Y})),m.allow_contact_requests||this.$el.addClass("no-contact-requests"),this},fetch:function(){return this.model.fetch({silent:!0,success:function(e,t,n){e.length!==0&&this.positionFetchedGroups(e,t,n),m.roster.fetch({add:!0,success:function(e){e.length>0?m.initial_presence_sent=1:m.roster.fetchFromServer()}})}.bind(this)}),this},changeFilterType:function(e){e&&e.preventDefault&&e.preventDefault(),this.clearFilter(),this.filter(this.$(".roster-filter").val(),e.target.value)},tog:function(e){return e?"addClass":"removeClass"},togglePointer:function(e){e&&e.preventDefault&&e.preventDefault();var n=e.target;t(n)[this.tog(n.offsetWidth-18<e.clientX-n.getBoundingClientRect().left)]("onX")},filter:function(e,t){e=e.toLowerCase(),t==="groups"?f.each(this.getAll(),function(t,n){t.model.get("name").toLowerCase().indexOf(e.toLowerCase())===-1?t.hide():t.model.contacts.length>0&&t.show()}):f.each(this.getAll(),function(n){n.filter(e,t)})},liveFilter:f.debounce(function(e){e&&e.preventDefault&&e.preventDefault();var t=this.$(".roster-filter"),n=t.val(),r=this.$(".filter-type").val();t[this.tog(n)]("x"),this.filter(n,r)},300),clearFilter:function(e){e&&e.preventDefault&&(e.preventDefault(),t(e.target).removeClass("x onX").val("")),this.filter("")},showHideFilter:function(){if(!this.$el.is(":visible"))return;var e=this.$(".roster-filter"),t=this.$(".filter-type"),n=e.is(":visible");if(n&&e.val().length>0)return;return this.$roster.hasScrollBar()?n||(e.show(),t.show()):(e.hide(),t.hide()),this},reset:function(){return m.roster.reset(),this.removeAll(),this.$roster=t('<dl class="roster-contacts" style="display: none;"></dl>'),this.render().update(),this},registerRosterHandler:function(){m.connection.addHandler(m.roster.onRosterPush.bind(m.roster),a.NS.ROSTER,"iq","set")},registerRosterXHandler:function(){var e=0;m.connection.addHandler(function(n){return window.setTimeout(function(){m.connection.flush(),m.roster.subscribeToSuggestedItems.bind(m.roster)(n)},e),e+=t(n).find("item").length*250,!0},a.NS.ROSTERX,"message",null)},registerPresenceHandler:function(){m.connection.addHandler(function(e){return m.roster.presenceHandler(e),!0}.bind(this),null,"presence",null)},onGroupAdd:function(e){var t=new m.RosterGroupView({model:e});this.add(e.get("name"),t.render()),this.positionGroup(t)},onContactAdd:function(e){this.addRosterContact(e).update(),e.get("vcard_updated")||m.getVCard(e.get("jid"))},onContactChange:function(e){this.updateChatBox(e).update(),f.has(e.changed,"subscription")&&(e.changed.subscription==="from"?this.addContactToGroup(e,J):f.contains(["both","to"],e.get("subscription"))&&this.addExistingContact(e)),f.has(e.changed,"ask")&&e.changed.ask==="subscribe"&&this.addContactToGroup(e,J),f.has(e.changed,"subscription")&&e.changed.requesting==="true"&&this.addContactToGroup(e,K),this.liveFilter()},updateChatBox:function(e){var t=m.chatboxes.get(e.get("jid")),n={};return t?(f.has(e.changed,"chat_status")&&(n.chat_status=e.get("chat_status")),f.has(e.changed,"status")&&(n.status=e.get("status")),t.save(n),this):this},positionFetchedGroups:function(e,t,n){e.sort(),e.each(function(e,t){var n=this.get(e.get("name"));n||(n=new m.RosterGroupView({model:e}),this.add(e.get("name"),n.render())),t===0?this.$roster.append(n.$el):this.appendGroup(n)}.bind(this))},positionGroup:function(e){var n=this.$roster.find(".roster-group"),r=n.length?this.model.indexOf(e.model):0;return r===0?this.$roster.prepend(e.$el):r===this.model.length-1?this.appendGroup(e):t(n.eq(r)).before(e.$el),this},appendGroup:function(e){var t=this.$roster.find(".roster-group").last(),n=t.siblings("dd");return n.length>0?n.last().after(e.$el):t.after(e.$el),this},getGroup:function(e){var t=this.get(e);return t?t.model:this.model.create({name:e,id:h(e)})},addContactToGroup:function(e,t){this.getGroup(t).contacts.add(e)},addExistingContact:function(e){var t;m.roster_groups?(t=e.get("groups"),t.length===0&&(t=[Q])):t=[V],f.each(t,f.bind(this.addContactToGroup,this,e))},addRosterContact:function(e){return e.get("subscription")==="both"||e.get("subscription")==="to"?this.addExistingContact(e):e.get("ask")==="subscribe"||e.get("subscription")==="from"?this.addContactToGroup(e,J):e.get("requesting")===!0&&this.addContactToGroup(e,K),this}}),this.XMPPStatus=Backbone.Model.extend({initialize:function(){this.set({status:this.getStatus()}),this.on("change",function(e){this.get("fullname")===undefined&&m.getVCard(null,function(e,t,n,r,i,s){this.save({fullname:n})}.bind(this)),f.has(e.changed,"status")&&m.emit("statusChanged",this.get("status")),f.has(e.changed,"status_message")&&m.emit("statusMessageChanged",this.get("status_message"))}.bind(this))},constructPresence:function(e,t){typeof e=="undefined"&&(e=this.get("status")||"online"),typeof t=="undefined"&&(t=this.get("status_message"));var n;return e==="unavailable"||e==="probe"||e==="error"||e==="unsubscribe"||e==="unsubscribed"||e==="subscribe"||e==="subscribed"?n=i({type:e}):e==="offline"?(n=i({type:"unavailable"}),t&&n.c("show").t(e)):(e==="online"?n=i():n=i().c("show").t(e).up(),t&&n.c("status").t(t)),n},sendPresence:function(e,t){m.connection.send(this.constructPresence(e,t))},setStatus:function(e){this.sendPresence(e),this.save({status:e})},getStatus:function(){return this.get("status")||"online"},setStatusMessage:function(e){this.sendPresence(this.getStatus(),e);var n=this.get("status_message");this.save({status_message:e}),this.xhr_custom_status&&t.ajax({url:this.xhr_custom_status_url,type:"POST",data:{msg:e}}),n===e&&this.trigger("update-status-ui",this)}}),this.XMPPStatusView=Backbone.View.extend({el:"span#xmpp-status-holder",events:{"click a.choose-xmpp-status":"toggleOptions","click #fancy-xmpp-status-select a.change-xmpp-status-message":"renderStatusChangeForm","submit #set-custom-xmpp-status":"setStatusMessage","click .dropdown dd ul li a":"setStatus"},initialize:function(){this.model.on("change:status",this.updateStatusUI,this),this.model.on("change:status_message",this.updateStatusUI,this),this.model.on("update-status-ui",this.updateStatusUI,this)},render:function(){var e=this.$el.find("select#select-xmpp-status"),n=this.model.get("status")||"offline",r=t("option",e),i,s=[];return this.$el.html(m.templates.choose_status()),this.$el.find("#fancy-xmpp-status-select").html(m.templates.chat_status({status_message:this.model.get("status_message")||q("I am %1$s",this.getPrettyStatus(n)),chat_status:n,desc_custom_status:q("Click here to write a custom status message"),desc_change_status:q("Click to change your chat status")})),r.each(function(){s.push(m.templates.status_option({value:t(this).val(),text:this.text}))}),i=this.$el.find("#target dd ul").hide(),i.append(s.join("")),e.remove(),this},toggleOptions:function(e){e.preventDefault(),t(e.target).parent().parent().siblings("dd").find("ul").toggle("fast")},renderStatusChangeForm:function(e){e.preventDefault();var t=this.model.get("status")||"offline",n=m.templates.change_status_message({status_message:t,label_custom_status:q("Custom status"),label_save:q("Save")}),r=this.$el.find(".xmpp-status");r.parent().addClass("no-border"),r.replaceWith(n),this.$el.find(".custom-xmpp-status").focus().focus()},setStatusMessage:function(e){e.preventDefault(),this.model.setStatusMessage(t(e.target).find("input").val())},setStatus:function(e){e.preventDefault();var n=t(e.target),r=n.attr("data-value");r==="logout"?(this.$el.find(".dropdown dd ul").hide(),m.logOut()):(this.model.setStatus(r),this.$el.find(".dropdown dd ul").hide())},getPrettyStatus:function(e){return e==="chat"?q("online"):e==="dnd"?q("busy"):e==="xa"?q("away for long"):e==="away"?q("away"):e==="offline"?q("offline"):q(e)||q("online")},updateStatusUI:function(e){var t=e.get("status"),n=e.get("status_message")||q("I am %1$s",this.getPrettyStatus(t));this.$el.find("#fancy-xmpp-status-select").removeClass("no-border").html(m.templates.chat_status({chat_status:t,status_message:n,desc_custom_status:q("Click here to write a custom status message"),desc_change_status:q("Click to change your chat status")}))}}),this.Session=Backbone.Model,this.Feature=Backbone.Model,this.Features=Backbone.Collection.extend({model:m.Feature,initialize:function(){this.addClientIdentities().addClientFeatures(),this.browserStorage=new Backbone.BrowserStorage[m.storage](h("converse.features"+m.bare_jid)),this.on("add",this.onFeatureAdded,this),this.browserStorage.records.length===0?(m.connection.disco.info(m.domain,null,this.onInfo.bind(this)),m.connection.disco.items(m.domain,null,this.onItems.bind(this))):this.fetch({add:!0})},onFeatureAdded:function(e){var t=e.get("preferences")||{};m.emit("serviceDiscovered",e),e.get("var")===a.NS.MAM&&t["default"]!==m.message_archiving&&m.connection.sendIQ(n({type:"get"}).c("prefs",{xmlns:a.NS.MAM}),f.bind(this.onMAMPreferences,this,e),f.bind(this.onMAMError,this,e))},onMAMPreferences:function(e,r){var i=t(r).find('prefs[xmlns="'+a.NS.MAM+'"]'),s=i.attr("default"),o;s!==m.message_archiving?(o=n({type:"set"}).c("prefs",{xmlns:a.NS.MAM,"default":m.message_archiving}),i.children().each(function(e,t){o.cnode(t).up()}),m.connection.sendIQ(o,f.bind(function(e,t){e.save({preferences:{"default":m.message_archiving}})},this,e),f.bind(this.onMAMError,this,e))):e.save({preferences:{"default":m.message_archiving}})},onMAMError:function(e){t(e).find("feature-not-implemented").length?m.log("Message Archive Management (XEP-0313) not supported by this browser"):(m.log("An error occured while trying to set archiving preferences."),m.log(e))},addClientIdentities:function(){return m.connection.disco.addIdentity("client","web","Converse.js"),this},addClientFeatures:function(){return m.connection.disco.addFeature("jabber:x:conference"),m.connection.disco.addFeature(a.NS.BOSH),m.connection.disco.addFeature(a.NS.CHATSTATES),m.connection.disco.addFeature(a.NS.DISCO_INFO),m.connection.disco.addFeature(a.NS.MAM),m.connection.disco.addFeature(a.NS.ROSTERX),m.use_vcards&&m.connection.disco.addFeature(a.NS.VCARD),m.allow_muc&&m.connection.disco.addFeature(a.NS.MUC),m.message_carbons&&m.connection.disco.addFeature(a.NS.CARBONS),this},onItems:function(e){t(e).find("query item").each(function(e,n){m.connection.disco.info(t(n).attr("jid"),null,this.onInfo.bind(this))}.bind(this))},onInfo:function(e){var n=t(e);if(n.find("identity[category=server][type=im]").length===0&&n.find("identity[category=conference][type=text]").length===0)return;n.find("feature").each(function(e,r){var i=t(r).attr("var");this[i]=!0,this.create({"var":i,from:n.attr("from")})}.bind(this))}}),this.RegisterPanel=Backbone.View.extend({tagName:"div",id:"register",className:"controlbox-pane",events:{"submit form#converse-register":"onProviderChosen"},initialize:function(e){this.reset(),this.$parent=e.$parent,this.$tabs=e.$parent.parent().find("#controlbox-tabs"),this.registerHooks()},render:function(){return this.$parent.append(this.$el.html(m.templates.register_panel({label_domain:q("Your XMPP provider's domain name:"),label_register:q("Fetch registration form"),help_providers:q("Tip: A list of public XMPP providers is available"),help_providers_link:q("here"),href_providers:m.providers_link,domain_placeholder:m.domain_placeholder}))),this.$tabs.append(m.templates.register_tab({label_register:q("Register")})),this},registerHooks:function(){var e=m.connection,t=e._connect_cb.bind(e);e._connect_cb=function(e,n,r){this._registering?this.getRegistrationFields(e,n,r)&&(this._registering=!1):t(e,n,r)}.bind(this)},getRegistrationFields:function(e,t,r){m.log("sendQueryStanza was called");var i=m.connection;i.connected=!0;var s=i._proto._reqToData(e);if(!s)return;if(i._proto._connect_cb(s)===a.Status.CONNFAIL)return!1;var o=s.getElementsByTagName("register"),u=s.getElementsByTagName("mechanism");return o.length===0&&u.length===0?(i._proto._no_auth_received(t),!1):o.length===0?(i._changeConnectStatus(a.Status.REGIFAIL,q("Sorry, the given provider does not support in band account registration. Please try with a different provider.")),!0):(i._addSysHandler(this.onRegistrationFields.bind(this),null,"iq",null,null),i.send(n({type:"get"}).c("query",{xmlns:a.NS.REGISTER}).tree()),!0)},onRegistrationFields:function(e){return e.getElementsByTagName("query").length!==1?(m.connection._changeConnectStatus(a.Status.REGIFAIL,"unknown"),!1):(this.setFields(e),this.renderRegistrationForm(e),!1)},reset:function(e){var t={fields:{},urls:[],title:"",instructions:"",registered:!1,_registering:!1,domain:null,form_type:null};f.extend(this,t),e&&f.extend(this,f.pick(e,Object.keys(t)))},onProviderChosen:function(e){e&&e.preventDefault&&e.preventDefault();var n=t(e.target),r=n.find("input[name=domain]"),i=r.val();if(!i){r.addClass("error");return}return n.find("input[type=submit]").hide().after(m.templates.registration_request({cancel:q("Cancel"),info_message:q("Requesting a registration form from the XMPP server")})),n.find("button.cancel").on("click",this.cancelRegistration.bind(this)),this.reset({domain:a.getDomainFromJid(i),_registering:!0}),m.connection.connect(this.domain,"",this.onRegistering.bind(this)),!1},giveFeedback:function(e,n){this.$(".reg-feedback").attr("class","reg-feedback").text(e),n&&t(".reg-feedback").addClass(n)},onRegistering:function(e,n){var r;m.log("onRegistering"),f.contains([a.Status.DISCONNECTED,a.Status.CONNFAIL,a.Status.REGIFAIL,a.Status.NOTACCEPTABLE,a.Status.CONFLICT],e)?(m.log("Problem during registration: Strophe.Status is: "+e),this.cancelRegistration(),n?this.giveFeedback(n,"error"):this.giveFeedback(q('Something went wrong while establishing a connection with "%1$s". Are you sure it exists?',this.domain),"error")):e===a.Status.REGISTERED&&(m.log("Registered successfully."),m.connection.reset(),r=this,this.$("form").hide(function(){t(this).replaceWith('<span class="spinner centered"/>'),r.fields.password&&r.fields.username?(m.connection.connect(r.fields.username.toLowerCase()+"@"+r.domain.toLowerCase(),r.fields.password,m.onConnectStatusChanged),m.chatboxviews.get("controlbox").switchTab({target:r.$tabs.find(".current")}).giveFeedback(q("Now logging you in"))):m.chatboxviews.get("controlbox").renderLoginPanel().giveFeedback(q("Registered successfully")),r.reset()}))},renderRegistrationForm:function(n){var r=this.$("form"),i=t(n),s,o;r.empty().append(m.templates.registration_form({domain:this.domain,title:this.title,instructions:this.instructions})),this.form_type==="xform"?(s=i.find("field"),f.each(s,function(e){r.append(c.xForm2webForm.bind(this,t(e),i))}.bind(this))):(f.each(Object.keys(this.fields),function(n){n==="username"?o=e.form_username({domain:" @"+this.domain,name:n,type:"text",label:n,value:"",required:1}):(r.append("<label>"+n+"</label>"),o=t('<input placeholder="'+n+'" name="'+n+'"></input>'),(n==="password"||n==="email")&&o.attr("type",n)),r.append(o)}.bind(this)),f.each(this.urls,function(e){r.append(t('<a target="blank"></a>').attr("href",e).text(e))}.bind(this))),this.fields?(r.append('<input type="submit" class="pure-button button-primary" value="'+q("Register")+'"/>'),r.on("submit",this.submitRegistrationForm.bind(this)),r.append('<input type="button" class="pure-button button-cancel" value="'+q("Cancel")+'"/>'),r.find("input[type=button]").on("click",this.cancelRegistration.bind(this))):(r.append('<input type="button" class="submit" value="'+q("Return")+'"/>'),r.find("input[type=button]").on("click",this.cancelRegistration.bind(this)))},reportErrors:function(e){var n=this.$("form"),r,i=t(e).find("error text"),s=n.find(".form-errors");s.length?s.empty():(r='<legend class="form-errors"></legend>',n.find("p.instructions").length?n.find("p.instructions").append(r):n.prepend(r),s=n.find(".form-errors")),i.each(function(e,n){s.append(t("<p>").text(t(n).text()))}),i.length||s.append(t("<p>").text(q("The provider rejected your registration attempt. Please check the values you entered for correctness."))),s.show()},cancelRegistration:function(e){e&&e.preventDefault&&e.preventDefault(),m.connection.reset(),this.render()},submitRegistrationForm:function(e){e&&e.preventDefault&&e.preventDefault();var r=this.$("input.required:emptyVal");if(r.length){r.addClass("error");return}var i=t(e.target).find(":input:not([type=button]):not([type=submit])"),s=n({type:"set"}).c("query",{xmlns:a.NS.REGISTER});this.form_type==="xform"?(s.c("x",{xmlns:a.NS.XFORM,type:"submit"}),i.each(function(){s.cnode(c.webForm2xForm(this)).up()})):i.each(function(){var e=t(this);s.c(e.attr("name"),{},e.val())}),m.connection._addSysHandler(this._onRegisterIQ.bind(this),null,"iq",null,null),m.connection.send(s),this.setFields(s.tree())},setFields:function(e){var n=t(e).find("query"),r;n.length>0&&(r=n.find('x[xmlns="'+a.NS.XFORM+'"]'),r.length>0?this._setFieldsFromXForm(r):this._setFieldsFromLegacy(n))},_setFieldsFromLegacy:function(e){e.children().each(function(e,n){var r=t(n);if(n.tagName.toLowerCase()==="instructions"){this.instructions=a.getText(n);return}if(n.tagName.toLowerCase()==="x"){r.attr("xmlns")==="jabber:x:oob"&&r.find("url").each(function(e,n){this.urls.push(t(n).text())}.bind(this));return}this.fields[n.tagName.toLowerCase()]=a.getText(n)}.bind(this)),this.form_type="legacy"},_setFieldsFromXForm:function(e){this.title=e.find("title").text(),this.instructions=e.find("instructions").text(),e.find("field").each(function(e,n){var r=n.getAttribute("var");r?this.fields[r.toLowerCase()]=t(n).children("value").text():m.log("WARNING: Found field we couldn't parse")}.bind(this)),this.form_type="xform"},_onRegisterIQ:function(e){var t=null,n=e.getElementsByTagName("query");n.length>0&&(n=n[0]);if(e.getAttribute("type")==="error"){m.log("Registration failed."),t=e.getElementsByTagName("error");if(t.length!==1)return m.connection._changeConnectStatus(a.Status.REGIFAIL,"unknown"),!1;t=t[0].firstChild.tagName.toLowerCase(),t==="conflict"?m.connection._changeConnectStatus(a.Status.CONFLICT,t):t==="not-acceptable"?m.connection._changeConnectStatus(a.Status.NOTACCEPTABLE,t):m.connection._changeConnectStatus(a.Status.REGIFAIL,t),this.reportErrors(e)}else m.connection._changeConnectStatus(a.Status.REGISTERED,null);return!1},remove:function(){this.$tabs.empty(),this.$el.parent().empty()}}),this.LoginPanel=Backbone.View.extend({tagName:"div",id:"login-dialog",className:"controlbox-pane",events:{"submit form#converse-login":"authenticate"},initialize:function(e){e.$parent.html(this.$el.html(m.templates.login_panel({LOGIN:E,ANONYMOUS:S,PREBIND:x,auto_login:m.auto_login,authentication:m.authentication,label_username:q("XMPP Username:"),label_password:q("Password:"),label_anon_login:q("Click here to log in anonymously"),label_login:q("Log In"),placeholder_username:q("user@server"),placeholder_password:q("password")}))),this.$tabs=e.$parent.parent().find("#controlbox-tabs")},render:function(){return this.$tabs.append(m.templates.login_tab({label_sign_in:q("Sign in")})),this.$el.find("input#jid").focus(),this.$el.is(":visible")||this.$el.show(),this},authenticate:function(e){e&&e.preventDefault&&e.preventDefault();var n=t(e.target);if(m.authentication===S){this.connect(n,m.jid,null);return}var r=n.find("input[name=jid]"),i=r.val(),s=n.find("input[name=password]"),o=s.val(),u=!1;i||(u=!0,r.addClass("error")),o||(u=!0,s.addClass("error"));if(u)return;return this.connect(n,i,o),!1},connect:function(e,t,n){var r;e&&e.find("input[type=submit]").hide().after('<span class="spinner login-submit"/>'),t&&(r=a.getResourceFromJid(t),r?t=a.getBareJidFromJid(t).toLowerCase()+"/"+a.getResourceFromJid(t):t=t.toLowerCase()+"/converse.js-"+Math.floor(Math.random()*139749825).toString()),m.connection.connect(t,n,m.onConnectStatusChanged)},remove:function(){this.$tabs.empty(),this.$el.parent().empty()}}),this.ControlBoxToggle=Backbone.View.extend({tagName:"a",className:"toggle-controlbox",id:"toggle-controlbox",events:{click:"onClick"},attributes:{href:"#"},initialize:function(){this.render()},render:function(){return t("#conversejs").prepend(this.$el.html(m.templates.controlbox_toggle({label_toggle:q("Toggle chat")}))),this.$el.hide(),this},hide:function(e){this.$el.fadeOut("fast",e)},show:function(e){this.$el.show("fast",e)},showControlBox:function(){var e=m.chatboxes.get("controlbox");e||(e=m.addControlBox()),m.connection.connected?e.save({closed:!1}):e.trigger("show")},onClick:function(e){e.preventDefault();if(t("div#controlbox").is(":visible")){var n=m.chatboxes.get("controlbox");m.connection.connected?n.save({closed:!0}):n.trigger("hide")}else this.showControlBox()}}),this.addControlBox=function(){return this.chatboxes.add({id:"controlbox",box_id:"controlbox",closed:!this.show_controlbox_by_default})},this.setUpXMLLogging=function(){this.debug&&(this.connection.xmlInput=function(e){m.log(e)},this.connection.xmlOutput=function(e){m.log(e)})},this.startNewBOSHSession=function(){t.ajax({url:this.prebind_url,type:"GET",success:function(e){this.connection.attach(e.jid,e.sid,e.rid,this.onConnectStatusChanged)}.bind(this),error:function(e){delete this.connection,this.emit("noResumeableSession")}.bind(this)})},this.attemptPreboundSession=function(e){if(!this.keepalive){if(this.jid&&this.sid&&this.rid)return this.connection.attach(this.jid,this.sid,this.rid,this.onConnectStatusChanged);throw new Error("initConnection: If you use prebind and not keepalive, then you MUST supply JID, RID and SID values")}if(!this.jid)throw new Error("initConnection: when using 'keepalive' with 'prebind, you must supply the JID of the current user.");try{return this.connection.restore(this.jid,this.onConnectStatusChanged)}catch(t){m.log("Could not restore session for jid: "+this.jid+" Error message: "+t.message)}this.prebind_url?this.startNewBOSHSession():(delete this.connection,this.emit("noResumeableSession"))},this.attemptNonPreboundSession=function(){if(this.keepalive)try{return this.connection.restore(undefined,this.onConnectStatusChanged)}catch(e){m.log("Could not restore sessions. Error message: "+e.message)}if(this.auto_login){if(!this.jid)throw new Error("initConnection: If you use auto_login, you also need to provide a jid value");if(this.authentication===S)this.connection.connect(this.jid.toLowerCase(),null,this.onConnectStatusChanged);else if(this.authentication===E){if(!this.password)throw new Error("initConnection: If you use auto_login and authentication='login' then you also need to provide a password.");this.jid=a.getBareJidFromJid(this.jid).toLowerCase()+"/"+a.getResourceFromJid(this.jid),this.connection.connect(this.jid,this.password,this.onConnectStatusChanged)}}},this.initConnection=function(){if(this.connection&&this.connection.connected)this.setUpXMLLogging(),this.onConnected();else{if(!this.bosh_service_url&&!this.websocket_url)throw new Error("initConnection: you must supply a value for either the bosh_service_url or websocket_url or both.");if(("WebSocket"in window||"MozWebSocket"in window)&&this.websocket_url)this.connection=new a.Connection(this.websocket_url);else{if(!this.bosh_service_url)throw new Error("initConnection: this browser does not support websockets and bosh_service_url wasn't specified.");this.connection=new a.Connection(this.bosh_service_url,{keepalive:this.keepalive})}this.setUpXMLLogging(),this.authentication===x?this.attemptPreboundSession():this.attemptNonPreboundSession()}},this._tearDown=function(){return this.initial_presence_sent=!1,this.roster&&this.roster.off().reset(),this.rosterview&&(this.rosterview.unregisterHandlers(),this.rosterview.model.off().reset(),this.rosterview.undelegateEvents().remove()),this.chatboxes.remove(),this.features&&this.features.reset(),this.minimized_chats&&(this.minimized_chats.undelegateEvents().model.reset(),this.minimized_chats.removeAll(),this.minimized_chats.tearDown().remove(),delete this.minimized_chats),this},this._initialize=function(){return this.chatboxes=new this.ChatBoxes,this.chatboxviews=new this.ChatBoxViews({model:this.chatboxes}),this.controlboxtoggle=new this.ControlBoxToggle,this.otr=new this.OTR,this.initSession(),this.initConnection(),this.connection&&this.addControlBox(),this},this._overrideAttribute=function(e,t){var n=t.overrides[e];typeof n=="function"?(typeof t._super=="undefined"&&(t._super={converse:m}),t._super[e]=m[e].bind(m),m[e]=n.bind(t)):m[e]=n},this._extendObject=function(e,t){e.prototype._super||(e.prototype._super={converse:m}),f.each(t,function(t,n){n==="events"?e.prototype[n]=f.extend(t,e.prototype[n]):(typeof t=="function"&&(e.prototype._super[n]=e.prototype[n]),e.prototype[n]=t)})},this._initializePlugins=function(){f.each(this.plugins,function(e){e.converse=m,f.each(Object.keys(e.overrides),function(t){var n=e.overrides[t];typeof n=="object"?this._extendObject(m[t],n):this._overrideAttribute(t,e)}.bind(this)),typeof e.initialize=="function"?e.initialize.bind(e)(this):e.bind(this)(this)}.bind(this))},d.connection&&(this.connection=d.connection),this._initializePlugins(),this._initialize(),this.registerGlobalEventHandlers(),m.emit("initialized")};var y=function(e){if(!e)return;var t=d.chatboxviews.get(e.get("jid"));return{close:t.close.bind(t),endOTR:e.endOTR.bind(e),focus:t.focus.bind(t),get:e.get.bind(e),initiateOTR:e.initiateOTR.bind(e),is_chatroom:e.is_chatroom,maximize:e.maximize.bind(e),minimize:e.minimize.bind(e),open:t.show.bind(t),set:e.set.bind(e)}},b={initialize:function(e,t){d.initialize(e,t)},disconnect:function(){d.connection.disconnect()},account:{logout:function(){d.logOut()}},user:{logout:function(){d.logOut()},status:{get:function(){return d.xmppstatus.get("status")},set:function(e,t){var n={status:e};if(!f.contains(f.keys(g),e))throw new Error("Invalid availability value. See https://xmpp.org/rfcs/rfc3921.html#rfc.section.2.2.2.1");typeof t=="string"&&(n.status_message=t),d.xmppstatus.save(n)},message:{get:function(){return d.xmppstatus.get("status_message")},set:function(e){d.xmppstatus.save({status_message:e})}}}},settings:{get:function(e){if(f.contains(Object.keys(d.default_settings),e))return d[e]},set:function(e,t){var n={};typeof e=="object"?f.extend(d,f.pick(e,Object.keys(d.default_settings))):typeof e=="string"&&(n[e]=t,f.extend(d,f.pick(n,Object.keys(d.default_settings))))}},contacts:{get:function(e){var t=function(e){var t=d.roster.get(a.getBareJidFromJid(e));return t?t.attributes:null};if(typeof e=="undefined")e=d.roster.pluck("jid");else if(typeof e=="string")return t(e);return f.map(e,t)},add:function(e,t){if(typeof e!="string"||e.indexOf("@")<0)throw new TypeError("contacts.add: invalid jid");d.roster.addAndSubscribe(e,f.isEmpty(t)?e:t)}},chats:{open:function(e){var t;return typeof e=="undefined"?(d.log("chats.open: You need to provide at least one JID","error"),null):typeof e=="string"?(t=y(d.chatboxes.getChatBox(e,!0)),t.open(),t):f.map(e,function(e){return t=y(d.chatboxes.getChatBox(e,!0)),t.open(),t})},get:function(e){return typeof e=="undefined"?(d.log("chats.get: You need to provide at least one JID","error"),null):typeof e=="string"?y(d.chatboxes.getChatBox(e,!0)):f.map(e,f.partial(f.compose(y,d.chatboxes.getChatBox.bind(d.chatboxes)),f,!0))}},archive:{query:function(e,r,i){var s,o=[];typeof e=="function"&&(r=e,i=r);if(!d.features.findWhere({"var":a.NS.MAM}))throw new Error("This server does not support XEP-0313, Message Archive Management");var u=d.connection.getUniqueId(),c={type:"set"};if(typeof e!="undefined"&&e.groupchat){if(!e["with"])throw new Error('You need to specify a "with" value containing the chat room JID, when querying groupchat messages.');c.to=e["with"]}var h=n(c).c("query",{xmlns:a.NS.MAM,queryid:u});typeof e!="undefined"&&(h.c("x",{xmlns:a.NS.XFORM,type:"submit"}).c("field",{"var":"FORM_TYPE",type:"hidden"}).c("value").t(a.NS.MAM).up().up(),e["with"]&&!e.groupchat&&h.c("field",{"var":"with"}).c("value").t(e["with"]).up().up(),f.each(["start","end"],function(t){if(e[t]){s=l(e[t]);if(!s.isValid())throw new TypeError("archive.query: invalid date provided for: "+t);h.c("field",{"var":t}).c("value").t(s.format()).up().up()}}),h.up(),e instanceof a.RSM?h.cnode(e.toXML()):f.intersection(v,f.keys(e)).length&&h.cnode((new a.RSM(e)).toXML())),d.connection.addHandler(function(n){var i=t(n),s,l;if(typeof r=="function")return s=i.find('fin[xmlns="'+a.NS.MAM+'"]'),s.length?(l=new a.RSM({xml:s.find("set")[0]}),f.extend(l,f.pick(e,["max"])),f.extend(l,f.pick(e,m)),r(o,l),!1):(u===i.find("result").attr("queryid")&&o.push(n),!0);return!1},a.NS.MAM),d.connection.sendIQ(h,null,i)}},rooms:{open:function(e,t){t||(t=a.getNodeFromJid(d.bare_jid));if(typeof t!="string")throw new TypeError("rooms.open: invalid nick, must be string");var n=function(e){var n=d.chatboxes.get(e);return d.log("jid"),n||(n=d.chatboxviews.showChat({id:e,jid:e,name:a.unescapeNode(a.getNodeFromJid(e)),nick:t,chatroom:!0,box_id:h(e)})),y(d.chatboxes.getChatBox(e,!0))};if(typeof e=="undefined")throw new TypeError("rooms.open: You need to provide at least one JID");return typeof e=="string"?n(e):f.map(e,n)},get:function(e){if(typeof e=="undefined")throw new TypeError("rooms.get: You need to provide at least one JID");return typeof e=="string"?y(d.chatboxes.getChatBox(e,!0)):f.map(e,f.partial(y,f.bind(d.chatboxes.getChatBox,d.chatboxes,f,!0)))}},tokens:{get:function(e){if(!d.expose_rid_and_sid||typeof d.connection=="undefined")return null;if(e.toLowerCase()==="rid")return d.connection.rid||d.connection._proto.rid;if(e.toLowerCase()==="sid")return d.connection.sid||d.connection._proto.sid}},listen:{once:function(e,t){d.once(e,t)},on:function(e,t){d.on(e,t)},not:function(e,t){d.off(e,t)}},send:function(e){d.connection.send(e)},ping:function(e){d.ping(e)},plugins:{add:function(e,t){d.plugins[e]=t},remove:function(e){delete d.plugins[e]},override:function(e,t){d._overrideAttribute(e,t)},extend:function(e,t){d._extendObject(e,t)}},env:{$build:s,$iq:n,$msg:r,$pres:i,Strophe:a,_:f,b64_sha1:h,jQuery:t,moment:l}};return b});var config;typeof require=="undefined"&&(require={config:function(e){config=e}}),require.config({baseUrl:".",paths:{backbone:"components/backbone/backbone","backbone.browserStorage":"components/backbone.browserStorage/backbone.browserStorage","backbone.overview":"components/backbone.overview/backbone.overview","converse-dependencies":"src/deps-full","converse-templates":"src/templates",eventemitter:"components/otr/build/dep/eventemitter",jquery:"components/jquery/dist/jquery","jquery-private":"src/jquery-private","jquery.browser":"components/jquery.browser/dist/jquery.browser","jquery.easing":"components/jquery-easing-original/index",moment:"components/momentjs/moment",strophe:"components/strophejs/src/wrapper","strophe-base64":"components/strophejs/src/base64","strophe-bosh":"components/strophejs/src/bosh","strophe-core":"components/strophejs/src/core","strophe-md5":"components/strophejs/src/md5","strophe-polyfill":"components/strophejs/src/polyfills","strophe-sha1":"components/strophejs/src/sha1","strophe-websocket":"components/strophejs/src/websocket","strophe.disco":"components/strophejs-plugins/disco/strophe.disco","strophe.ping":"src/strophe.ping","strophe.rsm":"components/strophejs-plugins/rsm/strophe.rsm","strophe.vcard":"src/strophe.vcard",text:"components/requirejs-text/text",tpl:"components/requirejs-tpl-jcbrand/tpl",typeahead:"components/typeahead.js/index",underscore:"components/underscore/underscore",utils:"src/utils",polyfill:"src/polyfill",bigint:"src/bigint",crypto:"src/crypto","crypto.aes":"components/otr/vendor/cryptojs/aes","crypto.cipher-core":"components/otr/vendor/cryptojs/cipher-core","crypto.core":"components/otr/vendor/cryptojs/core","crypto.enc-base64":"components/otr/vendor/cryptojs/enc-base64","crypto.evpkdf":"components/crypto-js-evanvosberg/src/evpkdf","crypto.hmac":"components/otr/vendor/cryptojs/hmac","crypto.md5":"components/crypto-js-evanvosberg/src/md5","crypto.mode-ctr":"components/otr/vendor/cryptojs/mode-ctr","crypto.pad-nopadding":"components/otr/vendor/cryptojs/pad-nopadding","crypto.sha1":"components/otr/vendor/cryptojs/sha1","crypto.sha256":"components/otr/vendor/cryptojs/sha256",salsa20:"components/otr/build/dep/salsa20",otr:"src/otr",locales:"src/locales",jed:"components/jed/jed",af:"locale/af/LC_MESSAGES/converse.json",de:"locale/de/LC_MESSAGES/converse.json",en:"locale/en/LC_MESSAGES/converse.json",es:"locale/es/LC_MESSAGES/converse.json",fr:"locale/fr/LC_MESSAGES/converse.json",he:"locale/he/LC_MESSAGES/converse.json",hu:"locale/hu/LC_MESSAGES/converse.json",id:"locale/id/LC_MESSAGES/converse.json",it:"locale/it/LC_MESSAGES/converse.json",ja:"locale/ja/LC_MESSAGES/converse.json",nb:"locale/nb/LC_MESSAGES/converse.json",nl:"locale/nl/LC_MESSAGES/converse.json",pl:"locale/pl/LC_MESSAGES/converse.json",pt_BR:"locale/pt_BR/LC_MESSAGES/converse.json",ru:"locale/ru/LC_MESSAGES/converse.json",uk:"locale/uk/LC_MESSAGES/converse.json",zh:"locale/zh/LC_MESSAGES/converse.json",moment_with_locales:"src/moment_locales",moment_af:"components/momentjs/locale/af",moment_de:"components/momentjs/locale/de",moment_es:"components/momentjs/locale/es",moment_fr:"components/momentjs/locale/fr",moment_he:"components/momentjs/locale/he",moment_hu:"components/momentjs/locale/hu",moment_id:"components/momentjs/locale/id",moment_it:"components/momentjs/locale/it",moment_ja:"components/momentjs/locale/ja",moment_nb:"components/momentjs/locale/nb",moment_nl:"components/momentjs/locale/nl",moment_pl:"components/momentjs/locale/pl","moment_pt-br":"components/momentjs/locale/pt-br",moment_ru:"components/momentjs/locale/ru",moment_uk:"components/momentjs/locale/uk",moment_zh:"components/momentjs/locale/zh-cn",action:"src/templates/action",add_contact_dropdown:"src/templates/add_contact_dropdown",add_contact_form:"src/templates/add_contact_form",change_status_message:"src/templates/change_status_message",chat_status:"src/templates/chat_status",chatarea:"src/templates/chatarea",chatbox:"src/templates/chatbox",chatroom:"src/templates/chatroom",chatroom_form:"src/templates/chatroom_form",chatroom_password_form:"src/templates/chatroom_password_form",chatroom_sidebar:"src/templates/chatroom_sidebar",chatrooms_tab:"src/templates/chatrooms_tab",chats_panel:"src/templates/chats_panel",choose_status:"src/templates/choose_status",contacts_panel:"src/templates/contacts_panel",contacts_tab:"src/templates/contacts_tab",controlbox:"src/templates/controlbox",controlbox_toggle:"src/templates/controlbox_toggle",field:"src/templates/field",form_captcha:"src/templates/form_captcha",form_checkbox:"src/templates/form_checkbox",form_input:"src/templates/form_input",form_select:"src/templates/form_select",form_textarea:"src/templates/form_textarea",form_username:"src/templates/form_username",group_header:"src/templates/group_header",info:"src/templates/info",login_panel:"src/templates/login_panel",login_tab:"src/templates/login_tab",message:"src/templates/message",new_day:"src/templates/new_day",occupant:"src/templates/occupant",pending_contact:"src/templates/pending_contact",pending_contacts:"src/templates/pending_contacts",register_panel:"src/templates/register_panel",register_tab:"src/templates/register_tab",registration_form:"src/templates/registration_form",registration_request:"src/templates/registration_request",requesting_contact:"src/templates/requesting_contact",requesting_contacts:"src/templates/requesting_contacts",room_description:"src/templates/room_description",room_item:"src/templates/room_item",room_panel:"src/templates/room_panel",roster:"src/templates/roster",roster_item:"src/templates/roster_item",search_contact:"src/templates/search_contact",select_option:"src/templates/select_option",status_option:"src/templates/status_option",toggle_chats:"src/templates/toggle_chats",toolbar:"src/templates/toolbar",trimmed_chat:"src/templates/trimmed_chat",vcard:"src/templates/vcard"},map:{"*":{jquery:"jquery-private"},"jquery-private":{jquery:"jquery"}},tpl:{templateSettings:{evaluate:/\{\[([\s\S]+?)\]\}/g,interpolate:/\{\{([\s\S]+?)\}\}/g}},shim:{"crypto.aes":{deps:["crypto.cipher-core"]},"crypto.cipher-core":{deps:["crypto.enc-base64","crypto.evpkdf"]},"crypto.enc-base64":{deps:["crypto.core"]},"crypto.evpkdf":{deps:["crypto.md5"]},"crypto.hmac":{deps:["crypto.core"]},"crypto.md5":{deps:["crypto.core"]},"crypto.mode-ctr":{deps:["crypto.cipher-core"]},"crypto.pad-nopadding":{deps:["crypto.cipher-core"]},"crypto.sha1":{deps:["crypto.core"]},"crypto.sha256":{deps:["crypto.core"]},bigint:{deps:["crypto"]},"strophe.ping":{deps:["strophe"]},"strophe.register":{deps:["strophe"]},"strophe.vcard":{deps:["strophe"]}}}),typeof require=="function"&&require(["converse"],function(e){window.converse=e}),define("main",function(){});
\ No newline at end of file
index 3950f0279e9d1dfac6c1c77d6b5c5f3b970f79af..e9b8227dba583f317e3ed4bafddfcf0f7652b458 100644 (file)
@@ -1,8 +1,8 @@
 YourLS
 
 For server admins only.
-Defines a YourLS url shortener for the Statusnet & Twitter plugins.
+Defines a YourLS url shortener for the Statusnet & Twitter addons.
 
-This plugin will not do anything else unless the Statusnet and/or Twitter plugins are installed.
+This addon will not do anything else unless the Statusnet and/or Twitter addons are installed.
 
-The message is entered in the admin account at Settings -> Plugin settings.
+The message is entered in the admin account at Settings -> Addon settings.