Dev to 4.0.11
authorMikal Kolbein Gule <m.k.gule@usit.uio.no>
Thu, 18 Apr 2013 09:40:06 +0000 (11:40 +0200)
committerMikal Kolbein Gule <m.k.gule@usit.uio.no>
Thu, 18 Apr 2013 09:40:06 +0000 (11:40 +0200)
395 files changed:
docs/README
docs/UPGRADING-4.0
docs/backups.pod [new file with mode: 0644]
docs/customizing/approvals.pod [new file with mode: 0644]
docs/customizing/lifecycles.pod [new file with mode: 0644]
docs/customizing/styling_rt.pod [new file with mode: 0644]
docs/extending/external_custom_fields.pod
docs/images/action-decline.png [new file with mode: 0644]
docs/images/global-lifecycle-group-rights.png [new file with mode: 0644]
docs/images/lifecycle-choices.png [new file with mode: 0644]
docs/images/order-history-example.png [new file with mode: 0644]
docs/images/theme_editor_defaults.png [new file with mode: 0644]
docs/initialdata.pod [new file with mode: 0644]
docs/web_deployment.pod
etc/RT_Config.pm
lib/RT/Action/ExtractSubjectTag.pm
lib/RT/Action/RecordCorrespondence.pm
lib/RT/Article.pm
lib/RT/Attachment.pm
lib/RT/Class.pm
lib/RT/Config.pm
lib/RT/CustomField.pm
lib/RT/CustomFieldValues/External.pm
lib/RT/Generated.pm
lib/RT/Handle.pm
lib/RT/I18N/de.pm [new file with mode: 0644]
lib/RT/Interface/Web.pm
lib/RT/Interface/Web/Handler.pm
lib/RT/Link.pm
lib/RT/Pod/HTML.pm
lib/RT/Record.pm
lib/RT/Reminders.pm
lib/RT/Shredder.pm
lib/RT/Test.pm
lib/RT/Test/GnuPG.pm
lib/RT/Ticket.pm
lib/RT/Tickets.pm
lib/RT/Transaction.pm
lib/RT/User.pm
sbin/rt-setup-database
sbin/rt-test-dependencies
share/html/Admin/CustomFields/Modify.html
share/html/Articles/Elements/GotoArticle
share/html/Elements/EditCustomFieldDate
share/html/Elements/Footer
share/html/Elements/ListActions
share/html/Elements/Menu
share/html/Elements/QueueSummaryByLifecycle
share/html/Elements/QueueSummaryByStatus
share/html/Elements/RT__Queue/ColumnMap
share/html/Elements/ShowCustomFieldDate
share/html/Elements/ShowReminders
share/html/Elements/Tabs
share/html/Helpers/Autocomplete/Groups
share/html/Helpers/Autocomplete/Users
share/html/NoAuth/RichText/ckeditor/LICENSE.html
share/html/NoAuth/RichText/ckeditor/adapters/jquery.js
share/html/NoAuth/RichText/ckeditor/ckeditor.js
share/html/NoAuth/RichText/ckeditor/config.js
share/html/NoAuth/RichText/ckeditor/contents.css
share/html/NoAuth/RichText/ckeditor/lang/_languages.js
share/html/NoAuth/RichText/ckeditor/lang/_translationstatus.txt
share/html/NoAuth/RichText/ckeditor/lang/af.js
share/html/NoAuth/RichText/ckeditor/lang/ar.js
share/html/NoAuth/RichText/ckeditor/lang/bg.js
share/html/NoAuth/RichText/ckeditor/lang/bn.js
share/html/NoAuth/RichText/ckeditor/lang/bs.js
share/html/NoAuth/RichText/ckeditor/lang/ca.js
share/html/NoAuth/RichText/ckeditor/lang/cs.js
share/html/NoAuth/RichText/ckeditor/lang/cy.js
share/html/NoAuth/RichText/ckeditor/lang/da.js
share/html/NoAuth/RichText/ckeditor/lang/de.js
share/html/NoAuth/RichText/ckeditor/lang/el.js
share/html/NoAuth/RichText/ckeditor/lang/en-au.js
share/html/NoAuth/RichText/ckeditor/lang/en-ca.js
share/html/NoAuth/RichText/ckeditor/lang/en-gb.js
share/html/NoAuth/RichText/ckeditor/lang/en.js
share/html/NoAuth/RichText/ckeditor/lang/eo.js
share/html/NoAuth/RichText/ckeditor/lang/es.js
share/html/NoAuth/RichText/ckeditor/lang/et.js
share/html/NoAuth/RichText/ckeditor/lang/eu.js
share/html/NoAuth/RichText/ckeditor/lang/fa.js
share/html/NoAuth/RichText/ckeditor/lang/fi.js
share/html/NoAuth/RichText/ckeditor/lang/fo.js
share/html/NoAuth/RichText/ckeditor/lang/fr-ca.js
share/html/NoAuth/RichText/ckeditor/lang/fr.js
share/html/NoAuth/RichText/ckeditor/lang/gl.js
share/html/NoAuth/RichText/ckeditor/lang/gu.js
share/html/NoAuth/RichText/ckeditor/lang/he.js
share/html/NoAuth/RichText/ckeditor/lang/hi.js
share/html/NoAuth/RichText/ckeditor/lang/hr.js
share/html/NoAuth/RichText/ckeditor/lang/hu.js
share/html/NoAuth/RichText/ckeditor/lang/id.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/lang/is.js
share/html/NoAuth/RichText/ckeditor/lang/it.js
share/html/NoAuth/RichText/ckeditor/lang/ja.js
share/html/NoAuth/RichText/ckeditor/lang/ka.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/lang/km.js
share/html/NoAuth/RichText/ckeditor/lang/ko.js
share/html/NoAuth/RichText/ckeditor/lang/ku.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/lang/lt.js
share/html/NoAuth/RichText/ckeditor/lang/lv.js
share/html/NoAuth/RichText/ckeditor/lang/mk.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/lang/mn.js
share/html/NoAuth/RichText/ckeditor/lang/ms.js
share/html/NoAuth/RichText/ckeditor/lang/nb.js
share/html/NoAuth/RichText/ckeditor/lang/nl.js
share/html/NoAuth/RichText/ckeditor/lang/no.js
share/html/NoAuth/RichText/ckeditor/lang/pl.js
share/html/NoAuth/RichText/ckeditor/lang/pt-br.js
share/html/NoAuth/RichText/ckeditor/lang/pt.js
share/html/NoAuth/RichText/ckeditor/lang/ro.js
share/html/NoAuth/RichText/ckeditor/lang/ru.js
share/html/NoAuth/RichText/ckeditor/lang/sk.js
share/html/NoAuth/RichText/ckeditor/lang/sl.js
share/html/NoAuth/RichText/ckeditor/lang/sr-latn.js
share/html/NoAuth/RichText/ckeditor/lang/sr.js
share/html/NoAuth/RichText/ckeditor/lang/sv.js
share/html/NoAuth/RichText/ckeditor/lang/th.js
share/html/NoAuth/RichText/ckeditor/lang/tr.js
share/html/NoAuth/RichText/ckeditor/lang/ug.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/lang/uk.js
share/html/NoAuth/RichText/ckeditor/lang/vi.js
share/html/NoAuth/RichText/ckeditor/lang/zh-cn.js
share/html/NoAuth/RichText/ckeditor/lang/zh.js
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/_translationstatus.txt [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/cs.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/cy.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/da.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/de.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/el.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/en.js
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/eo.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/fa.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/fi.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/fr.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/gu.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/he.js
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/it.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/ku.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/lv.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/mk.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/nb.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/nl.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/no.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/pt-br.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/ro.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/sk.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/tr.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/ug.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/vi.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/zh-cn.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/about/dialogs/about.js
share/html/NoAuth/RichText/ckeditor/plugins/adobeair/plugin.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/ajax/plugin.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/autogrow/plugin.js
share/html/NoAuth/RichText/ckeditor/plugins/bbcode/plugin.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/clipboard/dialogs/paste.js
share/html/NoAuth/RichText/ckeditor/plugins/colordialog/dialogs/colordialog.js
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/_translationstatus.txt [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/bg.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/cs.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/cy.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/da.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/de.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/el.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/en.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/eo.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/et.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/fa.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/fi.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/fr.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/gu.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/he.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/hr.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/it.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/ku.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/lv.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/nb.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/nl.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/no.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/pl.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/pt-br.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/sk.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/tr.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/ug.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/uk.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/vi.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/zh-cn.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/devtools/plugin.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/dialog/dialogDefinition.js
share/html/NoAuth/RichText/ckeditor/plugins/div/dialogs/div.js
share/html/NoAuth/RichText/ckeditor/plugins/docprops/dialogs/docprops.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/docprops/plugin.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/find/dialogs/find.js
share/html/NoAuth/RichText/ckeditor/plugins/flash/dialogs/flash.js
share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/button.js
share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/checkbox.js
share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/form.js
share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/hiddenfield.js
share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/radio.js
share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/select.js
share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/textarea.js
share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/textfield.js
share/html/NoAuth/RichText/ckeditor/plugins/iframe/dialogs/iframe.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/iframe/images/placeholder.png [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/iframedialog/plugin.js
share/html/NoAuth/RichText/ckeditor/plugins/image/dialogs/image.js
share/html/NoAuth/RichText/ckeditor/plugins/link/dialogs/anchor.js
share/html/NoAuth/RichText/ckeditor/plugins/link/dialogs/link.js
share/html/NoAuth/RichText/ckeditor/plugins/liststyle/dialogs/liststyle.js
share/html/NoAuth/RichText/ckeditor/plugins/pastefromword/filter/default.js
share/html/NoAuth/RichText/ckeditor/plugins/pastetext/dialogs/pastetext.js
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/dialogs/placeholder.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/_translationstatus.txt [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/bg.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/cs.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/cy.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/da.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/de.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/el.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/en.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/eo.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/et.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/fa.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/fi.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/fr.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/he.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/hr.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/it.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/ku.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/lv.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/nb.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/nl.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/no.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/pl.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/pt-br.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/sk.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/tr.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/ug.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/uk.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/vi.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/zh-cn.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/placeholder.gif [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/placeholder/plugin.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/preview/preview.html [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/scayt/dialogs/options.js
share/html/NoAuth/RichText/ckeditor/plugins/scayt/dialogs/toolbar.css
share/html/NoAuth/RichText/ckeditor/plugins/smiley/dialogs/smiley.js
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/dialogs/specialchar.js
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/_translationstatus.txt [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/cs.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/cy.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/de.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/el.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/en.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/eo.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/et.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/fa.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/fi.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/fr.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/he.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/hr.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/it.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/ku.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/lv.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/nb.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/nl.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/no.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/pt-br.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/sk.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/tr.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/ug.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/zh-cn.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/styles/styles/default.js
share/html/NoAuth/RichText/ckeditor/plugins/stylesheetparser/plugin.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/table/dialogs/table.js
share/html/NoAuth/RichText/ckeditor/plugins/tableresize/plugin.js
share/html/NoAuth/RichText/ckeditor/plugins/tabletools/dialogs/tableCell.js
share/html/NoAuth/RichText/ckeditor/plugins/templates/dialogs/templates.js
share/html/NoAuth/RichText/ckeditor/plugins/templates/templates/default.js
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/dialogs/uicolor.js
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/_translationstatus.txt [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/bg.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/cs.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/cy.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/da.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/de.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/el.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/en.js
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/eo.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/et.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/fa.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/fi.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/fr.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/he.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/hr.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/it.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/ku.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/lv.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/mk.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/nb.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/nl.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/no.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/pl.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/pt-br.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/sk.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/tr.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/ug.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/uk.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/vi.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/zh-cn.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/plugin.js
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/yui/assets/yui.css
share/html/NoAuth/RichText/ckeditor/plugins/uicolor/yui/yui.js
share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/ciframe.html
share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/tmpFrameset.html
share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/wsc.css
share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/wsc.js
share/html/NoAuth/RichText/ckeditor/plugins/xml/plugin.js [new file with mode: 0644]
share/html/NoAuth/RichText/ckeditor/skins/kama/dialog.css
share/html/NoAuth/RichText/ckeditor/skins/kama/editor.css
share/html/NoAuth/RichText/ckeditor/skins/kama/icons.png
share/html/NoAuth/RichText/ckeditor/skins/kama/icons_rtl.png
share/html/NoAuth/RichText/ckeditor/skins/kama/skin.js
share/html/NoAuth/RichText/ckeditor/skins/kama/templates.css
share/html/NoAuth/RichText/ckeditor/skins/office2003/dialog.css
share/html/NoAuth/RichText/ckeditor/skins/office2003/editor.css
share/html/NoAuth/RichText/ckeditor/skins/office2003/icons.png
share/html/NoAuth/RichText/ckeditor/skins/office2003/icons_rtl.png
share/html/NoAuth/RichText/ckeditor/skins/office2003/skin.js
share/html/NoAuth/RichText/ckeditor/skins/office2003/templates.css
share/html/NoAuth/RichText/ckeditor/skins/v2/dialog.css
share/html/NoAuth/RichText/ckeditor/skins/v2/editor.css
share/html/NoAuth/RichText/ckeditor/skins/v2/icons.png
share/html/NoAuth/RichText/ckeditor/skins/v2/icons_rtl.png
share/html/NoAuth/RichText/ckeditor/skins/v2/skin.js
share/html/NoAuth/RichText/ckeditor/skins/v2/templates.css
share/html/NoAuth/RichText/ckeditor/themes/default/theme.js
share/html/NoAuth/css/base/login.css
share/html/NoAuth/css/print.css
share/html/NoAuth/js/jquery.cookie.js [new file with mode: 0644]
share/html/Prefs/Quicksearch.html
share/html/REST/1.0/Forms/ticket/comment
share/html/REST/1.0/ticket/comment
share/html/Search/Elements/BuildFormatString
share/html/Ticket/Elements/PreviewScrips
share/html/Ticket/Elements/Reminders
share/html/Ticket/Elements/ShowMessageStanza
share/html/Ticket/Elements/ShowSimplifiedRecipients
share/html/Ticket/Elements/ShowSummary
share/html/Ticket/Reminders.html
share/html/Ticket/Update.html
share/html/m/_elements/footer
share/html/m/_elements/login [new file with mode: 0644]
share/po/ar.po [new file with mode: 0644]
share/po/bg.po
share/po/ca.po [new file with mode: 0644]
share/po/cs.po
share/po/da.po
share/po/de.po
share/po/el.po
share/po/en.po
share/po/en_GB.po
share/po/es.po
share/po/et.po
share/po/fi.po
share/po/fr.po
share/po/he.po
share/po/hr.po
share/po/hu.po
share/po/id.po
share/po/is.po
share/po/it.po
share/po/ja.po
share/po/lt.po
share/po/lv.po
share/po/mk.po
share/po/nb.po
share/po/nl.po
share/po/nn.po
share/po/oc.po [new file with mode: 0644]
share/po/pl.po
share/po/pt.po
share/po/pt_BR.po
share/po/pt_PT.po
share/po/rt.pot
share/po/ru.po
share/po/sk.po [new file with mode: 0644]
share/po/sl.po
share/po/sv.po
share/po/tr.po
share/po/zh_CN.po
share/po/zh_TW.po

index ac16a0c..6fa8042 100644 (file)
@@ -10,10 +10,6 @@ RT is commercially-supported software. To purchase support, training,
 custom development, or professional services, please get in touch with
 us at <sales@bestpractical.com>.
 
-     Jesse Vincent
-     Best Practical Solutions, LLC
-     March, 2011
-
 
 REQUIRED PACKAGES
 -----------------
index f884c52..b95610b 100644 (file)
@@ -24,9 +24,13 @@ following to remove the _Overlay files:
     find /opt/rt3/lib/ -type f -name '*_Overlay*' -delete
 
 RT has also changed how web deployment works; you will need to review
-docs/web_deployment.pod for current instructions.  The old `fastcgi_server`,
-`webmux.pl`, and `mason_handler.*` files will not work with RT 4.0, and should
-be removed to reduce confusion.
+F<docs/web_deployment.pod> for current instructions.  The old
+`fastcgi_server`, `webmux.pl`, and `mason_handler.*` files will not
+work with RT 4.0, and should be removed to reduce confusion.
+
+If you deploy RT with mod_perl, Apache will no longer start with C<SetHandler>
+set to `perl-script`. F<docs/web_deployment.pod> contains the
+new configuration.
 
 
 =head2 RT_SiteConfig.pm
diff --git a/docs/backups.pod b/docs/backups.pod
new file mode 100644 (file)
index 0000000..6fce6bc
--- /dev/null
@@ -0,0 +1,108 @@
+=head1 BACKUPS
+
+RT is often a critical piece of businesses and organizations.  Backups are
+absolutely necessary to ensure you can recover quickly from an incident.
+
+Make sure you take backups.  Make sure they I<work>.
+
+There are many issues that can cause broken backups, such as a
+max_attachment_size too low for MySQL (in either the client or server), or
+encoding issues, or running out of disk space.
+
+Make sure your backup cronjobs notify someone if they fail instead of failing
+silently until you need them.
+
+Test your backups regularly to discover any unknown problems B<before> they
+become an issue.  You don't want to discover problems with your backups while
+tensely restoring from them in a critical data loss situation.
+
+=head2 DATABASE
+
+You should backup the entire RT database, although for improved speed and space
+you can ignore the I<data> in the C<sessions> table.  Make sure you still get
+the C<sessions> schema, however.
+
+Database specific notes and example backup commands for each database are
+below.  Adjust the commands as necessary for connection details such as
+database name (C<rt4> is the placeholder below), user, password, host, etc.
+You should put the example commands into a shell script for backup and setup a
+cronjob.  Make sure output from cron goes to someone who reads mail!  (Or into
+RT. :)
+
+=head3 MySQL
+
+    ( mysqldump rt4 --tables sessions --no-data; \
+      mysqldump rt4 --ignore-table rt4.sessions --single-transaction ) \
+        | gzip > rt-`date +%Y%M%d`.sql.gz
+
+If you're using a MySQL version older than 4.1.2 (only supported on RT 3.8.x
+and older), you should be also pass the C<--default-character-set=binary>
+option to the second C<mysqldump> command.
+
+The dump will be much faster if you can connect to the MySQL server over
+localhost.  This will use a local socket instead of the network.
+
+If you find your backups taking far far too long to complete (this point should
+take quite a long time to get to on an RT database), there are some alternate
+solutions.  Percona maintains a highly regarded hot-backup tool for MySQL
+called L<XtraBackup|http://www.percona.com/software/percona-xtrabackup/>.  If
+you have more resources, you can also setup replication to a slave using binary
+logs and backup from there as necessary.  This not only duplicates the data,
+but lets you take backups without putting load on your production server.
+
+=head3 PostgreSQL
+
+    ( pg_dump rt4 --table=sessions --schema-only; \
+      pg_dump rt4 --exclude-table=sessions ) \
+        | gzip > rt-`date +%Y%M%d`.sql.gz
+
+=head2 FILESYSTEM
+
+You will want to back up, at the very least, the following directories and files:
+
+=over 4
+
+=item /opt/rt4
+
+RT's source code, configuration, GPG data, and plugins.  Your install location
+may be different, of course.
+
+You can omit F<var/mason_data> and F<var/session_data> if you'd like since
+those are temporary caches.  Don't omit all of F<var/> however as it may
+contain important GPG data.
+
+=item Webserver configuration
+
+Often F</etc/httpd> or F</etc/apache2>.  This will depend on your OS, web
+server, and internal configuration standards.
+
+=item /etc/aliases
+
+Your incoming mail aliases mapping addresses to queues.
+
+=item Mail server configuration
+
+If you're running an MTA like Postfix, Exim, SendMail, or qmail, you'll want to
+backup their configuration files to minimize restore time.  "Lightweight" mail
+handling programs like fetchmail, msmtp, and ssmtp will also have configuration
+files, although usually not as many nor as complex.  You'll still want to back
+them up.
+
+The location of these files is highly dependent on what software you're using.
+
+=item Crontab containing RT's cronjobs
+
+This may be F</etc/crontab>, F</etc/cron.d/rt>, a user-specific crontab file
+(C<crontab -l $USER>), or some other file altogether.  Even if you only have
+the default cronjobs in place, it's one less piece to forget during a restore.
+If you have custom L<< C<rt-crontool> >> invocations, you don't want to have to
+recreate those.
+
+=back
+
+Simply saving a tarball should be sufficient, with something like:
+
+    tar czvpf rt-backup-`date +%Y%M%d`.tar.gz /opt/rt4 /etc/aliases /etc/httpd ...
+
+Be sure to include all the directories and files you enumerated above!
+
diff --git a/docs/customizing/approvals.pod b/docs/customizing/approvals.pod
new file mode 100644 (file)
index 0000000..4f768f7
--- /dev/null
@@ -0,0 +1,191 @@
+=head1 RT Approvals
+
+Some types of change requests processed through RT can
+require an approval before being fulfilled. You can configure
+RT to set up such an approval workflow for tickets in
+queues you select.
+
+This document walks through the steps to set up a
+"Change requests" queue with approvals. You should try
+this in a test instance first. If you don't have a test RT
+instance, you should read through the entire document first,
+change the details as needed for you approval scenario, and then
+set up approvals.
+
+=head2 Overview
+
+The approvals solution in RT involves using a special queue,
+called ___Approvals, to hold approval requests. Scrips and
+templates automatically create the necessary tickets
+and process the approval or rejection.
+
+=head2 Change Management Queue
+
+Since this example will use a change management queue as the
+queue where tickets need approval, first we'll set up the queue.
+
+Login into UI as the 'root' user. Go to Tools -> Configuration ->
+Queues and create a new 'Change requests' queue.
+
+When you set up this queue, do not select the "approvals" Lifecycle.
+That selection is for the ___Approvals queue itself, not for queues that
+need tickets approved.
+
+=head3 Change Management Template
+
+Once the Change Management queue is created, select Templates
+-> Create in the queue configuration menu. Enter the Name 'create approval',
+leave the default Type as Perl and in the content area enter the following:
+
+    ===Create-Ticket: Manager approval
+    Subject: Manager Approval for {$Tickets{TOP}->Id} - {$Tickets{TOP}->Subject}
+    Depended-On-By: TOP
+    Queue: ___Approvals
+    Owner: root
+    Requestors: {$Tickets{TOP}->RequestorAddresses}
+    Type: approval
+    Content-Type: text/plain
+    Due: {time + 3*24*60*60}
+    Content: Please approve me.
+
+    Thanks.
+    ENDOFCONTENT
+
+All of the text should be against the left side of the textarea
+with no spaces.
+
+Click create.
+
+You'll now use this template when you create the scrip.
+
+=head3 Change Management Scrip
+
+Now you need a scrip. On the queue configuration page, select
+Scrips -> Create. For the Description, enter 'Create an approval
+on ticket create', select the 'On Create' condition, 'Create Tickets'
+action, and select the template you just created. Click create.
+
+=head3 Testing
+
+You can already test your first workflow with approvals. Create
+a ticket in your new 'Change requests' queue. You're logged in as
+'root' and the owner of the approval is root (based on the template),
+so it's your job to approve or deny the request. Select Tools -> Approvals
+in the RT main menu. You should see your first approval request.
+
+Select the 'Deny' radio button, write 'too expensive' in the notes area
+and click Go! You just rejected the approval request. If you open the ticket
+you created for testing then you will see that it's rejected
+as well and has the correspondence:
+
+    Greetings,
+
+    Your ticket has been rejected by root.
+
+    Approver's notes: too expensive
+
+You may need to search for the ticket since the rejected state means
+it's no longer 'active'.
+
+Where did this message come from? From templates in the ___Approvals
+queue.
+
+=head2 ___Approvals queue
+
+___Approvals is a special queue where all approvals are created. The queue
+is disabled and is not shown in until you search for it.
+Go to Tools -> Configuration -> Queues, leave "Name is" in the search
+area and enter ___Approvals into the search
+field. Check 'Include disabled queues in listing.' and click Go!
+You should now see the ___Approvals queue configuration page.
+
+You may want to change the name of the ___Approvals queue, but parts of RT
+expect it not to change.  The name normally isn't shown to users, however, so
+it will be largely invisible.
+
+=head2 Approvals' templates
+
+From the ___Approvals queue configuration page, click 'Templates' in the
+page menu. You should see templates that are used after actions
+on approvals. For example if you click on the 'Approval Rejected'
+template in the list, you will see the template that generates
+the correspondence mentioned above.
+
+=over 4
+
+=item * New Pending Approval
+
+Owners of new approval requests get this message.
+
+=item * Approval Passed
+
+Recorded as correspondence on the ticket when it's approved by an
+approver, but still requires more people to approve.
+
+=item * All Approvals Passed
+
+Recorded when no more approvals are required.
+
+=item * Approval Rejected
+
+Recorded when the approval request is rejected (denied).
+
+=item * Approval Ready for Owner
+
+Sent to the Owner of the ticket when it's approved and no more approvals
+are required.
+
+=back
+
+You can customize these templates to meet your needs. However,
+note that there is just one ___Approvals queue for the system,
+so make sure changes work with all queues that use approvals.
+
+=head2 Approvers
+
+Navigate back to the template used to create approvals. It has
+the following line:
+
+    Owner: root
+
+With this code you set the owner of the approval request to root.
+Approvals, as well as tickets, have Ccs, AdminCcs and Requestors. For
+example the following line copies requestors from the Tickets
+to the approval request:
+
+    Requestors: {$Tickets{TOP}->RequestorAddresses}
+
+Let's create a group 'Change Approvers' and let any user of
+this group approve 'Change Requests'. Create the group, and add root
+as a member. Open the 'create an approval' template, and replace
+the 'Owner:...' line with the following:
+
+    AdminCcGroup: Change Approvers
+
+Note that this line only works in RT 4.0.5 and newer.
+
+Create another test ticket, and you as root still should be able to see
+the newly created approval, but now because of the group membership.
+You can accept or deny it.
+
+Any member of the group can accept/deny without consulting
+the other members, which is useful with more complex
+multistep workflows.
+
+=head2 Approvers' Rights
+
+Since the ___Approvals queue is a regular RT queue, you need
+to grant rights to allow your approvers to operate on approval
+requests. As root, you have super user rights and haven't needed
+specific rights for this example.
+
+It's wise to grant rights via roles as there
+is only one queue for all approvals in the system.
+
+To grant rights to your Change Approvers group, go to the queue
+configuration page for the ___Approvals queue. Click on Group Rights
+in the page menu. Grant ShowTicket and ModifyTicket rights to the
+Owner and AdminCc roles. This should be enough for most cases.
+
+Now members of the 'Change Approvers' group can act on approvals
+even if they have no SuperUser rights.
diff --git a/docs/customizing/lifecycles.pod b/docs/customizing/lifecycles.pod
new file mode 100644 (file)
index 0000000..9a6f38b
--- /dev/null
@@ -0,0 +1,448 @@
+=head1 Ticket Lifecycles
+
+By default, RT comes with ticket statuses that work for many types
+of workflows: new, open, stalled, resolved, rejected, and deleted.
+But there can be any number of workflows where these status values
+don't completely fit. RT allows you to add new custom status values and
+define their behavior with a feature called Lifecycles.
+
+This guide demonstrates lifecycles using an order fulfillment
+system as a real-world example. You can find full lifecycles
+documentation in L<RT_Config/Lifecycles>.
+
+As with all RT custom configuration, if you are customizing the RT
+lifecycle, make your changes in your C<RT_SiteConfig.pm> file, not
+directly in C<RT_Config.pm>. If you are adding a new lifecycle, you can
+add a new entry with:
+
+    Set(%Lifecycles, my_new_lifecycle => { ... } );
+
+The detailed configuration options are discussed below. Once you add it
+and restart the server, the new lifecycle will be available on the
+queue configuration page.
+
+If you want to modify the default lifecycle, you can copy it from
+C<RT_Config.pm>, paste it into C<RT_SiteConfig.pm> and make your
+changes.
+
+=head1 Order Processing Example
+
+To show how you might use custom lifecycles, we're going to configure
+an RT lifecycle to process orders of some sort. In our order example,
+each ticket in the queue is considered a separate order and the orders
+have the following statuses:
+
+=over
+
+=item pending
+
+The order just came in untouched, pending purchase validation
+
+=item processing
+
+The order is being looked at for transaction processing
+
+=item delivery
+
+The order is out for delivery
+
+=item delivered
+
+The order was successfully delivered to its destination
+
+=item refunded
+
+The order was delivered but subsequently refunded
+
+=item declined
+
+There was an error in the process validation and the order was denied purchase
+
+=back
+
+In this particular example, the only status an order can start with is
+'pending.'  When a process coordinator chooses to take this order, it
+goes into processing. The order can then either be delivered or denied
+processing. Once denied, the lifecycle for that order ends. If it is
+delivered, the order can still be refunded.
+
+The following sections walk through each part of the configuration.
+You can find the full configuration at the end in case you want to
+see the exact syntax or use it to experiment with.
+
+=head2 Defining Status Values
+
+Every queue has a lifecycle assigned to it. Without changing any
+configuration, you are given two lifecycles to choose from: "default"
+and "approvals." The approvals lifecycle is used by the internal
+approvals queue, and should not be changed or used by other queues. Do
+not modify the approvals lifecycle unless you fully understand how RT
+approvals work.
+
+=for html <img alt="Lifecycle choices" src="../images/lifecycle-choices.png">
+
+=for :text [Lifecycle choices F<docs/images/lifecycle-choices.png>]
+
+=for :man [Lifecycle choices F<docs/images/lifecycle-choices.png>]
+
+In RT 4.0, the C<@ActiveStatus> and C<@InactiveStatus> configurations
+which were previously available are gone. The logic defined by those
+options is now a subset of RT's lifecycle features, as described here.
+
+A ticket naturally has three states: initial (I<new>), active (I<open> and
+I<stalled>), and inactive (I<resolved>, I<rejected>, and I<deleted>). These
+default settings look like this in the C<RT_Config.pm> file:
+
+    default => {
+        initial         => [ 'new' ],
+        active          => [ 'open', 'stalled' ],
+        inactive        => [ 'resolved', 'rejected', 'deleted' ],
+
+The initial state is the default starting place for new tickets, although
+you can create tickets with other statuses. Initial is generally used
+to acknowledge that a request has been made, but not yet acted on. RT
+sets the Started date on a ticket when it is moved out of the initial state.
+
+Active tickets are currently being worked on, inactive tickets have reached
+some final state. By default, inactive tickets don't show up in search
+results. The AutoOpen action sets a ticket's status to the first active
+status. You can find more details in L<RT_Config/"Lifecycle definitions">.
+
+Now we want to set up some statuses appropriate for order fulfillment,
+so we create a new top-level key called C<orders> and add our new status
+values.
+
+    Set( %Lifecycles, orders => {
+             initial  => [ 'pending' ],
+             active   => [ 'processing', 'delivery' ],
+             inactive => [ 'delivered', 'returned', 'declined', 'deleted' ],
+             # ...,
+    });
+
+We still use the initial, active and inactive categories, but we are
+able to define status values that are appropriate for the workflow
+we want to create. This should make the system more intuitive for users.
+
+=head2 Transitions
+
+The typical lifecycle follows the path initial -> active -> inactive.
+Obviously the path of a ticket can get more complicated than this, which
+is where transitions come into play.
+
+Transitions manage the flow of a ticket from status to status. This
+section of the configuration has keys, which are the current status,
+and values that define which other statuses the ticket can transition
+to. Here are the transitions we define for our order process.
+
+    Set( %Lifecycles, orders => {
+        # ...,
+        transitions => {
+            ''          => [qw(pending processing declined)],
+            pending     => [qw(processing declined deleted)],
+            processing  => [qw(pending declined delivery delivered deleted)],
+            delivery    => [qw(pending delivered returned deleted)],
+            delivered   => [qw(pending returned deleted)],
+            returned    => [qw(pending delivery deleted)],
+            deleted     => [qw(pending processing delivered delivery returned)],
+        },
+        # ...,
+    });
+
+If a ticket is in the delivered status, it doesn't make sense for it to
+transition to processing or declined since the customer already has the
+order. However, it can transition to returned since they could send it back.
+The configuration above defines this for RT.
+
+The C<''> entry defines the valid statuses when a ticket is created.
+
+Deleted is a special status in RT that allows you to remove a ticket from
+active use. You may need to do this if a ticket is created by mistake, or
+a duplicate is created. Once deleted, a ticket will never show up in search
+results. As you can see, the system will allow you to
+transition to deleted from any status.
+
+=head2 Rights and Access Control
+
+Your workflow may have several people working on tickets at different
+steps, and for some you may want to make sure only certain users
+can perform certain actions. For example, the company may have a rule
+that only the quality assurance team is allowed to approve (or decline)
+an order for delivery.
+
+You can apply labels to transitions and assign rights to them to allow
+you to apply this sort of access control. This is done with a rights
+entry:
+
+    Set( %Lifecycles, orders => {
+        # ...,
+        rights => {
+            '* -> declined' => 'DeclineOrder',
+            '* -> delivery' => 'ApproveOrder',
+        },
+        # ...,
+    });
+
+This configuration tells RT to require the right DeclineOrder for a
+transition from any status (C<*>) to C<declined>. The ApproveOrder
+right is similar, but for C<delivery>. These rights take the place of
+the standard ModifyTicket right, not in addition to it, so keep that
+in mind when creating  and assigning new rights.
+
+Once these rights are configured and loaded (by restarting the web
+server), they can be assigned in the web UI to groups, queues, and users.
+The rights show up on the rights pages in a Status tab alongside the
+standard RT rights tabs.
+
+=for html <img alt="Lifecycle group rights" src="../images/global-lifecycle-group-rights.png">
+
+=for :text [Lifecycle group rights F<docs/images/global-lifecycle-group-rights.png>]
+
+=for :man [Lifecycle group rights F<docs/images/global-lifecycle-group-rights.png>]
+
+After a status transition right is granted, users with the right will see
+the status in the drop-down, and possibly any related actions (see
+L</Actions>).
+
+=head2 Default Status
+
+There are interfaces to RT from which it isn't possible to define a status,
+like sending an email to create a ticket, but tickets
+require a status. To handle these cases, you can set
+default status values for RT to use when the user doesn't explicitly set
+a value.
+
+Looking at the defaults section in the standard RT configuration,
+you can see the events for which you can define a default status.
+For example, 'on_create' => 'new' automatically gives newly created tickets
+a C<new> status when the requestor doesn't supply a status. We can do the same
+for our process.
+
+    Set( %Lifecycles, orders => {
+        defaults => {
+            on_create => 'pending',
+        },
+        # ...,
+    });
+
+Only a small number of defaults are needed because in practice there are
+relatively few cases where a ticket will find itself without a status or
+in an ambiguous state.
+
+=head2 Actions
+
+To customize how transitions are presented in RT, lifecycles have an
+C<actions> section where you can customize how an action (e.g. changing
+status from new -> open) looks and functions. You can customize the action's
+label, which is how it appears to users, and the type of update, either comment
+or reply. As an example, in the default RT configuration the action
+"new -> open" has the default label "Open it" and an update value of C<Respond>.
+
+Using the lifecycles configuration, you can change the label to anything you
+like. You can set the update option to C<Comment> or C<Respond>, which tells RT
+to process the action as a comment (not sent to requestors) or a reply (sent
+to requestors).
+
+This part of the lifecycles configuration replaces the previous
+C<$ResolveDefaultUpdateType> configuration value. To mimic that option, set
+the update type to C<Comment> for all transitions to C<resolved>.
+
+Here is an example of a change we might make for our order process:
+
+    Set( %Lifecycles, orders => {
+        # ...,
+        actions => [
+            'pending -> processing' => {
+                label  => 'Open For Processing',
+                update => 'Comment',
+            },
+            'pending -> declined' => {
+                label  => 'Decline',
+                update => 'Respond',
+            },
+            # ...
+        ],
+        # ...
+    });
+
+Alternatively, supplying no update type results in a "quick"
+action that changes the status immediately without going through the
+ticket update page.  RT's default "Delete" action is a "quick" action,
+for example:
+
+    # from the RT "default" lifecycle
+    'new -> deleted'   => {
+        label  => 'Delete',
+    },
+
+If the transition has an associated right, it must be granted for a user to
+see the action. For example, if we give a group the DeclineOrder right as
+shown in the earlier example, members of that group will see a Decline option
+in their Actions menu if a ticket has a pending status. The
+L</"Full Configuration"> at the end shows other action entries that
+make the Decline option available in more cases.
+
+=for html <img alt="Action menu decline" src="../images/action-decline.png">
+
+=for :text [Action menu decline F<docs/images/action-decline.png>]
+
+=for :man [Action menu decline F<docs/images/action-decline.png>]
+
+=head2 Mapping Between Queues
+
+As we've demonstrated, each queue can have its own custom lifecycle, but
+in RT you sometimes want to move a ticket from one queue to another.
+A ticket will have a status in a given queue, but that status may not
+exist in another queue you want to move the ticket to, or it may exist
+but mean something different. To allow tickets to move between queues with
+different lifecycles, RT needs to know how to set the status appropriately.
+
+The lifecycle configuration has a C<__maps__> entry to allow you to
+specify the mappings you want between different queues. Sometimes statuses
+between queues don't or can't match perfectly, but if you need to move
+tickets between those queues, it's important that you provide a complete
+mapping, defining the most sensible mapping you can.
+
+If you don't provide a mapping, users will see an error when they try to
+move a ticket between queues with different lifecycles but no mapping.
+
+    Set( %Lifecycles, orders => {
+        # ...,
+        __maps__ => {
+            'default -> orders' => {
+                'new'  => 'pending',
+                'open' => 'processing',
+                # ...,
+            },
+            'orders -> default' => {
+                'pending'    => 'new',
+                'processing' => 'open',
+                # ...,
+            },
+            # ...,
+        },
+        # ...,
+    });
+
+In the example above, we first define mappings between the default queue and
+our new orders queue. The second block defines the reverse for tickets that
+might be moved from the orders queue to a queue that uses the default lifecycle.
+
+=head2 Full Configuration
+
+Here is the full configuration if you want to add it to your RT instance
+to experiment.
+
+    Set(%Lifecycles,
+
+        # 'orders' shows up as a lifecycle choice when you create a new
+        # queue or modify an existing one
+        orders => {
+            # All the appropriate order statuses
+            initial         => [ 'pending' ],
+            active          => [ 'processing', 'delivery' ],
+            inactive        => [ 'delivered', 'returned', 'declined' ],
+
+            # Default order statuses for certain actions
+            defaults => {
+                on_create => 'pending',
+            },
+
+            # Status change restrictions
+            transitions => {
+                ''          => [qw(pending processing declined)],
+                pending     => [qw(processing declined deleted)],
+                processing  => [qw(pending declined delivery delivered deleted)],
+                delivery    => [qw(pending delivered returned deleted)],
+                delivered   => [qw(pending returned deleted)],
+                returned    => [qw(pending delivery deleted)],
+                deleted     => [qw(pending processing delivered delivery returned)],
+            },
+
+            # Rights for different actions
+            rights => {
+
+                # These rights are in the default lifecycle
+                '* -> deleted'  => 'DeleteTicket',
+                '* -> *'        => 'ModifyTicket',
+
+                # Maybe we want to create rights to keep QA rigid
+                '* -> declined' => 'DeclineOrder',
+                '* -> delivery' => 'ApproveOrder',
+            },
+
+            # Actions for the web UI
+            actions => [
+                'pending -> processing' => {
+                    label  => 'Open For Processing',
+                    update => 'Comment',
+                },
+                'pending -> delivered' => {
+                    label  => 'Mark as being delivered',
+                    update => 'Comment',
+                },
+                'pending -> declined' => {
+                    label  => 'Decline',
+                    update => 'Respond',
+                },
+                'pending -> deleted' => {
+                    label  => 'Delete',
+                },
+                'processing -> declined' => {
+                    label  => 'Decline',
+                    update => 'Respond',
+                },
+                'processing -> delivery' => {
+                    label  => 'Out for delivery',
+                    update => 'Comment',
+                },
+                'delivery -> delivered' => {
+                    label  => 'Mark as delivered',
+                    update => 'Comment',
+                },
+                'delivery -> returned' => {
+                    label  => 'Returned to Manufacturer',
+                    update => 'Respond',
+                },
+                'delivered -> returned' => {
+                    label  => 'Returned to Manufacturer',
+                    update => 'Respond',
+                },
+                'returned -> delivery' => {
+                    label  => 'Re-deliver Order',
+                    update => 'Respond',
+                },
+                'deleted -> pending' => {
+                    label  => 'Undelete',
+                    update => 'Respond',
+                },
+            ],
+        },
+
+        # Status mapping different different lifecycles
+        __maps__ => {
+            'default -> orders' => {
+                'new'      => 'pending',
+                'open'     => 'processing',
+                'stalled'  => 'processing',
+                'resolved' => 'delivered',
+                'rejected' => 'declined',
+                'deleted'  => 'deleted',
+            },
+            'orders -> default' => {
+                'pending'    => 'new',
+                'processing' => 'open',
+                'delivered'  => 'resolved',
+                'returned'   => 'open', # closest matching we have in 'default'
+                'declined'   => 'rejected',
+                'deleted'    => 'deleted',
+            },
+        },
+    );
+
+Here is an example history of a ticket following this lifecycle:
+
+=for html <img alt="Lifecycle history" src="../images/order-history-example.png">
+
+=for :text [Lifecycle history F<docs/images/order-history-example.png>]
+
+=for :man [Lifecycle history F<docs/images/order-history-example.png>]
diff --git a/docs/customizing/styling_rt.pod b/docs/customizing/styling_rt.pod
new file mode 100644 (file)
index 0000000..c5802a8
--- /dev/null
@@ -0,0 +1,169 @@
+=head1 Customizing the Look of Your RT
+
+While the default RT color scheme nicely matches the Best Practical colors,
+you may want to personalize your RT instance to make it better fit with
+your company colors.
+
+
+=head1 Selecting a Theme
+
+The fundamental look of RT comes from the selected theme. Different
+RT versions have a default, and the RT admin can set the system-wide
+theme with the C<$WebDefaultStylesheet> configuration value in the
+F<RT_SiteConfig.pm> file.
+
+RT 4.0 comes with the following themes:
+
+=over
+
+=item web2
+
+An approximation of the 3.8 style
+
+=item aileron
+
+The default layout for RT 4.0
+
+=item ballard
+
+Theme which doesn't rely on JavaScript for menuing
+
+=back
+
+If you have granted the ModifySelf right to users on your system,
+they can pick a different theme for themselves by going to
+Logged in as -> Settings -> Options and selecting a different theme.
+
+
+=head1 RT Theme Editor
+
+RT has some built-in controls to manage the look of the theme you select.
+To use the Theme Editor, log in as a SuperUser (like root), and navigate
+to Tools -> Configuration -> Tools -> Theme.
+
+=for html <img alt="RT theme editor, defaults" src="../images/theme_editor_defaults.png">
+
+=for :text [RT theme editor image at F<docs/images/theme_editor_defaults.png>]
+
+=for :man [RT theme editor image at F<docs/images/theme_editor_defaults.png>]
+
+=head2 Logo and Colors
+
+From there you can upload a logo and pick colors for the various page
+sections.  RT will automatically pick out the six most frequent primary
+colors from your logo and offer them as options next to the color wheel.
+In less than a minute, you can upload a logo and set a few colors.
+
+Until you click "Save", color changes are temporary and are only shown
+to you.  When you find the color scheme you want, click Save to make it
+the new theme for the entire RT instance. If you ever want to wipe the
+slate clean, you can use one or both of the "Reset to default" buttons.
+
+=head2 Basic CSS Customization
+
+The theme editor lets you do a bit more if you know your way around CSS
+or have a web designer who does.  By writing your own styles in the
+Custom CSS box, you can quickly customize the RT look and feel pretty
+extensively. The primary RT elements are stubbed out for you in the
+edit box.
+
+After making CSS changes, click Try to see how they look, and click Save
+when you're done.
+
+
+=head1 Advanced CSS Customization
+
+If you're more ambitious and good at CSS, you can go even further and
+create your own theme. As with all modifications to RT, it's a bad idea
+to just change the CSS for one of the standard RT themes in place. When
+you upgrade, if you protect your modifications from being over-written,
+you may miss out on updates that are required for new features. In the
+worst case, an upgrade might wipe out all of your changes.
+
+Below are a few approaches to customizing RT's CSS.
+
+=head2 Additional files
+
+RT allows you to conveniently include additional CSS files after the
+default CSS styles, via the C<@CSSFiles> configuration option.  To add
+an extra CSS file, for example F<my-site.css>, create the local overlay
+directory:
+
+    $ mkdir -p local/html/NoAuth/css/
+
+And place your F<my-site.css> file in it.  Finally, adjust your
+C<@CSSFiles> in your F<RT_SiteConfig.pm>:
+
+    Set( @CSSFiles, ('my-site.css') );
+
+This technique is preferred to callbacks (below) because CSS included
+via this way will be minified.  It is also included across all styles,
+unlike the callback technique.
+
+If you are writing an extension, see L<RT/AddStyleSheets> for how to
+simply and programmatically add values to C<@CSSFiles>.
+
+=head2 Callbacks
+
+RT's CSS files are also Mason templates and the main CSS file,
+conveniently called C<main.css>, has a C<Begin> and C<End> callback
+allowing you to inject custom CSS.
+
+To create an End callback, create the callback directory and an
+End file in that directory:
+
+    $ mkdir -p local/html/Callbacks/MyRT/NoAuth/css/aileron/main.css
+    $ touch local/html/Callbacks/MyRT/NoAuth/css/aileron/main.css/End
+
+You can use any name you want for the C<MyRT> directory and the theme
+directory should correspond with the theme you want to change.
+
+RT will now evaluate the contents of that file after it processes all
+of the C<@import> statements in C<main.css>.
+
+
+=head1 Designing Your Own Theme
+
+The above approaches work well if you need to change the look of
+part of RT, but you may want to design your own RT theme
+and leave the standard RT themes available to users unmodified. In
+this case, you'll want to create your own CSS directory.
+
+As shown above, the C<local> directory is the place to put
+local modifications to RT. Run the following commands in your
+C</opt/rt4> directory (or wherever your RT is installed) to get
+started:
+
+    $ mkdir -p local/html/NoAuth/css/localstyle
+    $ cp -R share/html/NoAuth/css/aileron/* local/html/NoAuth/css/localstyle/
+
+You can call your "localstyle" directory whatever you want and you don't
+have to copy the aileron theme to start from, but it's a good place to
+start off for RT4.
+
+Now set C<$WebDefaultStylesheet> in RT_SiteConfig.pm to the new directory
+name you selected, for example:
+
+    Set( $WebDefaultStylesheet, 'localstyle' );
+
+If you restart your RT it should look just the same (assuming you copied
+your current default theme), but if you go to your Options page you'll
+see that the system default theme is now your new "localtheme."
+
+If you look at the CSS being loaded, you'll also see that the main css
+file is now being loaded from your local directory. But you'll also see
+that files are still being loaded from the main RT css directories as
+well. Why?
+
+The place to start understanding the loading order of RT's CSS is the
+C<main.css> file. You'll see it first loads C<..base/main.css> which
+are the base styles for RT along with styles for other tools RT uses
+like jQuery. After loading all of the base styles, C<main.css> then
+imports a theme-specific version with overrides and new style elements
+for the selected theme. So as long as you follow the CSS precedence rules
+and use the correct specificity, you get the last chance to modify things.
+
+You can start modifying things by editing the CSS files in your new
+localstyle directory. When you upgrade RT, you'll want to look specifically
+at any changes to the style you started from to see if there are any new
+styles you want to merge into your new style.
index c6730ae..f32bda7 100644 (file)
@@ -13,7 +13,7 @@ For each type of data source that you want, you'll need to put a file in
 F</opt/rt4/local/lib/RT/CustomFieldValues/> (or equivalent if you
 installed RT into someplace other than F</opt/rt4>). To get a sense of
 the code that you'll need to write, take a look at the code in
-L</opt/rt4/lib/RT/CustomFieldValues/Groups.pm> for a simple example
+F</opt/rt4/lib/RT/CustomFieldValues/Groups.pm> for a simple example
 which just uses RT's API to pull in a list of RT's groups.
 
 Running C<perldoc /opt/rt4/lib/RT/CustomFieldValues/External.pm> will
diff --git a/docs/images/action-decline.png b/docs/images/action-decline.png
new file mode 100644 (file)
index 0000000..0a93e5a
Binary files /dev/null and b/docs/images/action-decline.png differ
diff --git a/docs/images/global-lifecycle-group-rights.png b/docs/images/global-lifecycle-group-rights.png
new file mode 100644 (file)
index 0000000..d87f7b4
Binary files /dev/null and b/docs/images/global-lifecycle-group-rights.png differ
diff --git a/docs/images/lifecycle-choices.png b/docs/images/lifecycle-choices.png
new file mode 100644 (file)
index 0000000..1d8e28c
Binary files /dev/null and b/docs/images/lifecycle-choices.png differ
diff --git a/docs/images/order-history-example.png b/docs/images/order-history-example.png
new file mode 100644 (file)
index 0000000..8670585
Binary files /dev/null and b/docs/images/order-history-example.png differ
diff --git a/docs/images/theme_editor_defaults.png b/docs/images/theme_editor_defaults.png
new file mode 100644 (file)
index 0000000..0fed8dc
Binary files /dev/null and b/docs/images/theme_editor_defaults.png differ
diff --git a/docs/initialdata.pod b/docs/initialdata.pod
new file mode 100644 (file)
index 0000000..6445fb0
--- /dev/null
@@ -0,0 +1,486 @@
+=head1 Summary of initialdata files
+
+It's often useful to be able to test configuration/database changes and then
+apply the same changes in production without manually clicking around.  It's
+also helpful if you're developing customizations or extensions to be able to
+get a fresh database back to the state you want for testing/development.
+
+This documentation applies to careful and thorough sysadmins as well as
+extension authors who need to make database changes easily and repeatably for
+new installs or upgrades.
+
+=head1 Examples
+
+RT ships with many initialdata files, only one of which is used to
+configure a fresh install; the rest are used for upgrades, but function
+the same despite being named differently.
+
+    etc/initialdata
+    etc/upgrade/*/content
+
+The upgrade "content" files are meant to be incremental changes applied on top
+of one another while the top level initialdata file is for fresh RT installs.
+
+Extensions may also ship with database changes in such files.  You may find
+some in your install with:
+
+    find local/plugins -name initialdata -or -name content
+
+=head1 What can be in an initialdata file?
+
+initialdata files are Perl, but often consist primarily of a bunch of data
+structures defining the new records you want and not much extra code.  There's
+nothing stopping you from writing a bunch of code, however!
+
+The basic template of a new initialdata file should look something like this:
+
+    use strict;
+    use warnings;
+
+    our @Queues = (
+        # some definitions here
+    );
+
+    our @Groups = (
+        # some other definitions here
+    );
+
+    1;
+
+The C<@Queues> and C<@Groups> arrays are expected by RT and should contain
+hashref definitions.  There are many other arrays RT will look for and act on,
+described below.  None are required, all may be used.  Keep in mind that since
+they're just normal Perl arrays, you can C<push> onto them from a loop or
+C<grep> out definitions based on conditionals or generate their content with
+C<map>, etc.
+
+The complete list of possible arrays which can be used, along with
+descriptions of the values to place in them, is below.
+
+=head2 C<@Users>
+
+    push @Users, {
+        Name        => 'john.doe',
+        Password    => 'changethis',
+        Language    => 'fr',
+        Timezone    => 'America/Vancouver',
+        Privileged  => 1,
+        Disabled    => 0,
+    };
+
+Each hashref in C<@Users> is treated as a new user to create and passed
+straight into C<< RT::User->Create >>.  All of the normal user fields are
+available, as well as C<Privileged> and C<Disabled> (both booleans) which will
+do the appropriate internal group/flag handling.
+
+For a full list of fields, read the documentation for L<RT::User/Create>.
+
+=head2 C<@Groups>
+
+    push @Groups, {
+        Domain      => 'UserDefined',
+        Name        => 'Example Employees',
+        Description => 'All of the employees of my company',
+    };
+
+Creates a new L<RT::Group> for each hashref.  In almost all cases you'll want
+to follow the example above to create a group just as if you had done it from
+the admin interface.  B<Do not> omit the C<< Domain => 'UserDefined' >> line.
+
+Additionally, the C<MemberOf> field is specially handled to make it easier to
+add the new group to other groups.  C<MemberOf> may be a single value or an
+array ref.  Each value should be a user-defined group name or hashref to pass
+into L<< RT::Group->LoadByCols >>.  Each group found will have the new group
+added as a member.
+
+Unfortunately you can't specify the I<members> of a group at this time.  As a
+workaround, you can push a subref into C<@Final> which adds members to your new
+groups.  An example, using a convenience function to avoid repeating yourself:
+
+    push @Final, sub {
+        add_members('My New Group Name' => qw(trs alex ruslan));
+        add_members('My Second Group'   => qw(jesse kevin sunnavy jim));
+    };
+
+    sub add_members {
+        my $group_name = shift;
+        my @members    = @_;
+
+        my $group = RT::Group->new( RT->SystemUser );
+        $group->LoadUserDefinedGroup($group_name);
+
+        if ($group->id) {
+            for my $name (@members) {
+                my $member = RT::User->new( RT->SystemUser );
+                $member->LoadByCols( Name => $name );
+
+                unless ($member->Id) {
+                    RT->Logger->error("Unable to find user '$name'");
+                    next;
+                }
+
+                my ($ok, $msg) = $group->AddMember( $member->PrincipalObj->Id );
+                if ($ok) {
+                    RT->Logger->info("Added member $name to $group_name");
+                } else {
+                    RT->Logger->error("Unable to AddMember $name to $group_name: $msg");
+                }
+            }
+        } else {
+            RT->Logger->error("Unable to find group '$group_name'!");
+        }
+    }
+
+=head2 C<@Queues>
+
+    push @Queues, {
+        Name                => 'Helpdesk',
+        CorrespondAddress   => 'help@example.com',
+        CommentAddress      => 'help-comment@example.com',
+    };
+
+Creates a new L<RT::Queue> for each hashref.  Refer to the documentation of
+L<RT::Queue/Create> for the fields you can use.
+
+=head2 C<@CustomFields>
+
+    push @CustomFields, {
+        Queue       => 0,
+        Name        => 'Favorite color',
+        Type        => 'FreeformSingle',
+        LookupType  => 'RT::Queue-RT::Ticket',
+    };
+
+Creates a new L<RT::CustomField> for each hashref.  It is the most complex of
+the initialdata structures.  The most commonly used fields are:
+
+=over 4
+
+=item C<Name>
+
+The name of this CF as displayed in RT.
+
+=item C<Description>
+
+A short summary of what this CF is for.
+
+=item C<Queue>
+
+May be a Name or ID.  The single queue or array ref of queues to apply this CF
+to.  This does not apply when C<LookupType> does not start with C<RT::Queue>.
+
+=item C<Type>
+
+One of the following on the left hand side:
+
+    SelectSingle            # Select one value
+    SelectMultiple          # Select multiple values
+
+    FreeformSingle          # Enter one value
+    FreeformMultiple        # Enter multiple values
+
+    Text                    # Fill in one text area
+    Wikitext                # Fill in one wikitext area
+
+    BinarySingle            # Upload one file
+    BinaryMultiple          # Upload multiple files
+
+    ImageSingle             # Upload one image
+    ImageMultiple           # Upload multiple images
+
+    Combobox                # Combobox: Select or enter one value
+
+    AutocompleteSingle      # Enter one value with autocompletion
+    AutocompleteMultiple    # Enter multiple values with autocompletion
+
+    Date                    # Select date
+    DateTime                # Select datetime
+
+    IPAddressSingle         # Enter one IP address
+    IPAddressMultiple       # Enter multiple IP addresses
+
+    IPAddressRangeSingle    # Enter one IP address range
+    IPAddressRangeMultiple  # Enter multiple IP address ranges
+
+If you don't specify "Single" or "Multiple" in the type, you must specify
+C<MaxValues>.
+
+=item C<LookupType>
+
+Labeled in the CF admin page as "Applies to".  This determines whether your CF
+is for Tickets, Transactions, Users, Groups, or Queues.  Possible values:
+
+    RT::Queue-RT::Ticket                    # Tickets
+    RT::Queue-RT::Ticket-RT::Transaction    # Transactions
+    RT::User                                # Users
+    RT::Group                               # Groups
+    RT::Queue                               # Queues
+
+Ticket CFs are the most common, meaning C<RT::Queue-RT::Ticket> is the most
+common C<LookupType>.
+
+=item C<RenderType>
+
+Only valid when C<Type> is "Select".  Controls how the CF is displayed when
+editing it.  Valid values are: C<Select box>, C<List>, and C<Dropdown>.
+
+C<List> is either a list of radio buttons or a list of checkboxes depending on
+C<MaxValues>.
+
+=item C<MaxValues>
+
+Determines whether this CF is a Single or Multiple type.  0 means multiple.  1
+means single.
+
+Make sure to set the C<MaxValues> field appropriately, otherwise you can end up
+with unsupported CF types like a "Select multiple dates" (it doesn't Just
+Work).
+
+You can also use old-style C<Type>s which end with "Single" or "Multiple", for
+example: SelectSingle, SelectMultiple, FreeformSingle, etc.
+
+=item C<Values>
+
+C<Values> should be an array ref (never a single value!) of hashrefs
+representing new L<RT::CustomFieldValue> objects to create for the new custom
+field.  This only makes sense for "Select" CFs.  An example:
+
+    my $i = 1;
+    push @CustomFields, {
+        Queue       => 0,                       # Globally applied
+        LookupType  => 'RT::Queue-RT::Ticket',  # for Tickets
+        Name        => 'Type of food',
+        Type        => 'SelectSingle',  # SelectSingle is the same as: Type => 'Select', MaxValues => 1
+        RenderType  => 'Dropdown',
+        Values      => [
+            { Name => 'Fruit',      Description => 'Berries, peaches, tomatos, etc', SortOrder => $i++ },
+            { Name => 'Vegetable',  Description => 'Asparagus, peas, lettuce, etc',  SortOrder => $i++ },
+            # more values as such...
+        ],
+    };
+
+In order to ensure the same sorting of C<Values>, set C<SortOrder> inside each
+value.  A clever way to do this easily is with a simple variable you increment
+each time (as above with C<$i>).  You can use the same variable throughout the
+whole file, and don't need one per CF.
+
+=item C<BasedOn>
+
+Name or ID of another Select Custom Field.  This makes the named CF the source
+of categories for your values.
+
+=item C<Pattern>
+
+The regular expression text (not C<qr//>!) used to validate values.
+
+=back
+
+Refer to the documentation and implementation of L<RT::CustomField/Create> and
+L<RT::CustomFieldValue/Create> for the full list of available fields and
+allowed values.
+
+=head2 C<@ACL>
+
+C<@ACL> is very useful for granting rights on your newly created records or
+setting up a standard system configuration.  It is one of the most complex
+initialdata structures.
+
+=head3 Pick a Right
+
+All ACL definitions expect a key named C<Right> with the internal right name
+you want to grant.  The internal right names are visible in RT's admin
+interface in grey next to the longer descriptions.
+
+=head3 Pick a level: on a queue, on a CF, or globally
+
+After picking a C<Right>, you need to specify on what object the right is
+granted.  This is B<different> than the user/group/role receiving the right.
+
+=over 4
+
+=item Granted on a custom field by name (or ID), potentially a global or queue
+
+    CF => 'Name',
+
+=item Granted on a queue
+
+    Queue => 'Name',
+
+=item Granted on a custom field applied to a specific queue
+
+    CF      => 'Name',
+    Queue   => 'Name',
+
+=item Granted globally
+
+Specifying none of the above will get you a global right.
+
+=back
+
+There is currently no way to grant rights on a group or article class level.
+Note that you can grant rights B<to> a group; see below.  If you need to grants
+rights on a group or article class level, you'll need to write an C<@Final>
+subref to handle it using the RT Perl API.
+
+=head3 Pick a Principal: User or Group or Role
+
+Finally you need to specify to what system group, system/queue role,
+user defined group, or user you want to grant the right B<to>.
+
+=over 4
+
+=item An internal user group
+
+    GroupDomain => 'SystemInternal',
+      GroupType => 'Everyone, Privileged, or Unprivileged'
+
+=item A system-level role
+
+    GroupDomain => 'RT::System-Role',
+      GroupType => 'Requestor, Owner, AdminCc, or Cc'
+
+=item A queue-level role
+
+    GroupDomain => 'RT::Queue-Role',
+      Queue     => 'Name',
+      GroupType => 'Requestor, Owner, AdminCc, or Cc',
+
+=item A group you created
+
+    GroupDomain => 'UserDefined',
+      GroupId   => 'Name'
+
+=item Individual user
+
+    UserId => 'Name or email or ID'
+
+=back
+
+=head3 Common cases
+
+You're probably looking for definitions like these most of the time.
+
+=over 4
+
+=item Grant a global right to a group you created
+
+    { Right       => '...',
+      GroupDomain => 'UserDefined',
+      GroupId     => 'Name' }
+
+=item Grant a queue-level right to a group you created
+
+    { Queue       => 'Name',
+      Right       => '...',
+      GroupDomain => 'UserDefined',
+      GroupId     => 'Name' }
+
+=item Grant a CF-level right to a group you created
+
+    { CF          => 'Name',
+      Right       => '...',
+      GroupDomain => 'UserDefined',
+      GroupId     => 'Name' }
+
+=back
+
+Since you often want to grant a list of rights on the same object/level to the
+same role/group/user, we generally use Perl loops and operators to aid in the
+generation of C<@ACL> without repeating ourselves.
+
+    # Give Requestors globally the right to see tickets, reply, and see the
+    # queue their ticket is in
+    push @ACL, map {
+        {
+            Right       => $_,
+            GroupDomain => 'RT::System-Role',
+            GroupType   => 'Requestor',
+        }
+    } qw(ShowTicket ReplyToTicket SeeQueue);
+
+=head3 Troubleshooting
+
+The best troubleshooting is often to see how the rights you define in C<@ACL>
+show up in the RT admin interface.
+
+=head2 C<@Scrips>
+
+Creates a new L<RT::Scrip> for each hashref.  Refer to the documentation of
+L<RT::Scrip/Create> for the fields you can use.
+
+Additionally, the C<Queue> field is specially handled to make it easier to
+setup the same Scrip on multiple queues:
+
+=over 4
+
+=item Globally
+
+    Queue => 0,
+
+=item Single queue
+
+    Queue => 'General', # Name or ID
+
+=item Multiple queues
+
+    Queue => ['General', 'Helpdesk', 13],   # Array ref of Name or ID
+
+=back
+
+=head2 C<@ScripActions>
+
+Creates a new L<RT::ScripAction> for each hashref.  Refer to the documentation
+of L<RT::ScripAction/Create> for the fields you can use.
+
+=head2 C<@ScripConditions>
+
+Creates a new L<RT::ScripCondition> for each hashref.  Refer to the
+documentation of L<RT::ScripCondition/Create> for the fields you can use.
+
+=head2 C<@Templates>
+
+Creates a new L<RT::Template> for each hashref.  Refer to the documentation of
+L<RT::Template/Create> for the fields you can use.
+
+=head2 C<@Attributes>
+
+An array of L<RT::Attribute>s to create.  You likely don't need to mess with
+this.  If you do, know that the key C<Object> is expected to be an
+L<RT::Record> object on which to call C<AddAttribute>.  If you don't provide
+C<Object> or it's undefined, C<< RT->System >> will be used.
+
+=head2 C<@Initial>
+
+=head2 C<@Final>
+
+C<@Initial> and C<@Final> are special and let you write your own processing
+code that runs before anything else or after everything else.  They are
+expected to be arrays of subrefs (usually anonymous) like so:
+
+    our @Final = (sub {
+        RT->Logger->info("Finishing up!");
+    });
+
+You have the full power of RT's Perl libraries at your disposal.  Be sure to do
+error checking and log any errors with C<< RT->Logger->error("...") >>!
+
+=head1 What's missing?
+
+There is currently no way, short of writing code in C<@Final> or C<@Initial>,
+to easily create B<Classes>, B<Topics>, or B<Articles> from initialdata files.
+
+=head1 Running an initialdata file
+
+    sbin/rt-setup-database --action insert --datafile /path/to/your/initialdata
+
+This may prompt you for a database password.
+
+=head1 Implementation details
+
+All the handling of initialdata files is done in C<< RT::Handle->InsertData >>.
+If you want to know B<exactly> what's happening with each array, your best bet
+is to start reading the code there.
+
+RT takes care of the ordering so that your new queues are created before it
+processes the new ACLs for those queues.  This lets you refer to new queues you
+just created by Name.
index 355f6ce..5a9bd93 100644 (file)
@@ -114,8 +114,9 @@ deployment if your privileged users are in a different timezone than the
 one the server is configured for.
 
 B<NOTE>: RT 3.8 and below suggested use of C<SetHandler perl-script>;
-this is incorrect for RT 4, and will lead to difficulties sending
-outgoing mail from RT.  Ensure that you use C<SetHandler modperl>.
+this is incorrect for RT 4, and (starting in RT 4.0.11) RT will refuse
+to start, to prevent difficulties sending mail from RT.  Change to
+C<SetHandler modperl>, as the example below uses.
 
     <VirtualHost rt.example.com>
         ### Optional apache logs for RT
index f2c52db..8337ddd 100644 (file)
@@ -455,7 +455,7 @@ accordingly.
 
 =cut
 
-Set($ExtractSubjectTagMatch, qr/\[.+? #\d+\]/);
+Set($ExtractSubjectTagMatch, qr/\[[^\]]+? #\d+\]/);
 Set($ExtractSubjectTagNoMatch, ( ${RT::EmailSubjectTagRegex}
        ? qr/\[(?:${RT::EmailSubjectTagRegex}) #\d+\]/
        : qr/\[\Q$RT::rtname\E #\d+\]/));
index 72147b4..6a3898e 100644 (file)
 #
 # END BPS TAGGED BLOCK }}}
 
+=head1 NAME
+
+  RT::Action::ExtractSubjectTag
+
+=head1 DESCRIPTION
+
+ExtractSubjectTag is a ScripAction which allows ticket bonding between
+two RT instances or between RT and other Ticket systems like Siebel
+or Remedy.
+
+By default this ScripAction is set up to run on every transaction on
+every Correspondence.
+
+One can configure this ScripActions behaviour by changing the
+global C<$ExtractSubjectTagMatch> in C<RT_Config.pm>.
+
+If a transaction's subject matches this regexp, we append the match
+tag to the ticket's current subject. This helps ensure that
+further communication on the ticket will include the remote
+system's subject tag.
+
+If you modify this code, be careful not to remove the code where it
+ensures that it only examines remote systems' tags.
+
+=head1 EXAMPLE
+
+As an example, Siebel will set their subject tag to something
+like:
+
+    B<[SR ID:1-554]>
+
+To record this tag in the local ticket's subject, we need to change
+ExtractSubjectTagMatch to something like:
+
+    Set($ExtractSubjectTagMatch, qr/\[[^\]]+[#:][0-9-]+\]/);
+
+=cut
+
 package RT::Action::ExtractSubjectTag;
 use base 'RT::Action';
 use strict;
index 212281c..cc21503 100644 (file)
@@ -55,7 +55,7 @@ use warnings;
 
 RT::Action::RecordCorrespondence - An Action which can be used from an
 external tool, or in any situation where a ticket transaction has not
-been started, to make a comment on the ticket.
+been started, to create a correspondence on the ticket.
 
 =head1 SYNOPSIS
 
index 589a6b8..ec1ae3c 100644 (file)
@@ -399,9 +399,8 @@ sub AddLink {
 
     # Check that we're actually getting a valid URI
     my $uri_obj = RT::URI->new( $self->CurrentUser );
-    $uri_obj->FromURI( $args{'Target'}||$args{'Base'} );
-    unless ( $uri_obj->Resolver && $uri_obj->Scheme ) {
-        my $msg = $self->loc( "Couldn't resolve '[_1]' into a Link.", $args{'Target'} );
+    unless ( $uri_obj->FromURI( $args{'Target'}||$args{'Base'} )) {
+        my $msg = $self->loc( "Couldn't resolve '[_1]' into a Link.", $args{'Target'} || $args{'Base'} );
         $RT::Logger->warning( $msg );
         return( 0, $msg );
     }
index 35387eb..54217b3 100644 (file)
@@ -499,12 +499,14 @@ L<Email::Address> objects.
 
 =cut
 
+our @ADDRESS_HEADERS = qw(From To Cc Bcc RT-Send-Cc RT-Send-Bcc);
+
 sub Addresses {
     my $self = shift;
 
     my %data = ();
     my $current_user_address = lc $self->CurrentUser->EmailAddress;
-    foreach my $hdr (qw(From To Cc Bcc RT-Send-Cc RT-Send-Bcc)) {
+    foreach my $hdr (@ADDRESS_HEADERS) {
         my @Addresses;
         my $line = $self->GetHeader($hdr);
         
index 5720e2a..6e1db23 100644 (file)
@@ -94,7 +94,7 @@ $RIGHTS = {
     AdminClass          => 'Modify metadata and custom fields for this class',              #loc_pair
     AdminTopics         => 'Modify topic hierarchy associated with this class',             #loc_pair
     ShowACL             => 'Display Access Control List',              #loc_pair
-    ModifyACL           => 'Modify Access Control List',               #loc_pair
+    ModifyACL           => 'Create, modify and delete Access Control List entries',         #loc_pair
     DeleteArticle       => 'Delete articles in this class',            #loc_pair
 };
 
index 7fe7b7b..11d337b 100644 (file)
@@ -302,15 +302,6 @@ our %META = (
     },
 
     # User overridable options for RT at a glance
-    DefaultSummaryRows => {
-        Section         => 'RT at a glance',    #loc
-        Overridable     => 1,
-        SortOrder       => 1,
-        Widget          => '/Widgets/Form/Integer',
-        WidgetArguments => {
-            Description => 'Number of search results',    #loc
-        },
-    },
     HomePageRefreshInterval => {
         Section         => 'RT at a glance',                       #loc
         Overridable     => 1,
index 14babff..a69c6f4 100644 (file)
@@ -693,7 +693,7 @@ sub ValidateValuesClass {
     my $self = shift;
     my $class = shift;
 
-    return 1 if !defined $class || $class eq 'RT::CustomFieldValues';
+    return 1 if !$class || $class eq 'RT::CustomFieldValues';
     return 1 if grep $class eq $_, RT->Config->Get('CustomFieldValuesSources');
     return undef;
 }
@@ -1539,9 +1539,8 @@ sub _CanonicalizeValueDate {
     my $DateObj = RT::Date->new( $self->CurrentUser );
     $DateObj->Set( Format   => 'unknown',
                    Value    => $args->{'Content'},
-                   Timezone => 'UTC',
                  );
-    $args->{'Content'} = $DateObj->Date( Timezone => 'UTC' );
+    $args->{'Content'} = $DateObj->Date( Timezone => 'user' );
 }
 
 =head2 MatchPattern STRING
@@ -2058,6 +2057,8 @@ sub _CoreAccessible {
         {read => 1, write => 1, sql_type => -4, length => 0,  is_blob => 1,  is_numeric => 0,  type => 'text', default => ''},
         Repeated => 
         {read => 1, write => 1, sql_type => 5, length => 6,  is_blob => 0,  is_numeric => 1,  type => 'smallint(6)', default => '0'},
+        ValuesClass => 
+        {read => 1, write => 1, sql_type => 12, length => 64,  is_blob => 0,  is_numeric => 0,  type => 'varchar(64)', default => ''},
         BasedOn => 
         {read => 1, write => 1, sql_type => 4, length => 11,  is_blob => 0,  is_numeric => 1,  type => 'int(11)', default => ''},
         Description => 
index f76fd51..e6bf2f8 100644 (file)
@@ -82,7 +82,7 @@ C<sortorder>.
 
 =head1 SEE ALSO
 
-L<docs/extending/external_custom_fields.pod>
+F<docs/extending/external_custom_fields.pod>
 
 =cut
 
index 7cb73d1..c80d634 100644 (file)
@@ -50,7 +50,7 @@ package RT;
 use warnings;
 use strict;
 
-our $VERSION = '4.0.10';
+our $VERSION = '4.0.11';
 
 
 
index f03f393..0a1d61e 100644 (file)
@@ -578,7 +578,13 @@ sub cmp_version($$) {
         return $a[$i] <=> $b[$i] if $a[$i] <=> $b[$i];
     }
     return 0;
-}}
+}
+
+sub version_words {
+    return keys %word;
+}
+
+}
 
 
 =head2 InsertInitialData
diff --git a/lib/RT/I18N/de.pm b/lib/RT/I18N/de.pm
new file mode 100644 (file)
index 0000000..b8352da
--- /dev/null
@@ -0,0 +1,61 @@
+# BEGIN BPS TAGGED BLOCK {{{
+#
+# COPYRIGHT:
+#
+# This software is Copyright (c) 1996-2013 Best Practical Solutions, LLC
+#                                          <sales@bestpractical.com>
+#
+# (Except where explicitly superseded by other copyright notices)
+#
+#
+# LICENSE:
+#
+# This work is made available to you under the terms of Version 2 of
+# the GNU General Public License. A copy of that license should have
+# been provided with this software, but in any event can be snarfed
+# from www.gnu.org.
+#
+# This work is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 or visit their web page on the internet at
+# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+#
+#
+# CONTRIBUTION SUBMISSION POLICY:
+#
+# (The following paragraph is not intended to limit the rights granted
+# to you to modify and distribute this software under the terms of
+# the GNU General Public License and is only of importance to you if
+# you choose to contribute your changes and enhancements to the
+# community by submitting them to Best Practical Solutions, LLC.)
+#
+# By intentionally submitting any modifications, corrections or
+# derivatives to this work, or any other work intended for use with
+# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+# you are the copyright holder for those contributions and you grant
+# Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
+# royalty-free, perpetual, license to use, copy, create derivative
+# works based on those contributions, and sublicense and distribute
+# those contributions and any derivatives thereof.
+#
+# END BPS TAGGED BLOCK }}}
+
+use strict;
+use warnings;
+
+package RT::I18N::de;
+use base 'RT::I18N';
+
+sub init {
+    $_[0]->{numf_comma} = 1;
+}
+
+RT::Base->_ImportOverlays();
+
+1;
index 1eaefc7..7c78548 100644 (file)
@@ -1292,10 +1292,8 @@ sub IsCompCSRFWhitelisted {
     # record.
     delete $args{id};
 
-    # If they have a valid results= from MaybeRedirectForResults, that's
-    # also fine.
-    delete $args{results} if $args{results}
-        and $HTML::Mason::Commands::session{"Actions"}->{$args{results}};
+    # If they have a results= from MaybeRedirectForResults, that's also fine.
+    delete $args{results};
 
     # The homepage refresh, which uses the Refresh header, doesn't send
     # a referer in most browsers; whitelist the one parameter it reloads
@@ -2566,12 +2564,17 @@ sub ProcessTicketReminders {
           Format => 'unknown',
           Value => $args->{'NewReminder-Due'}
         );
-        my ( $add_id, $msg, $txnid ) = $Ticket->Reminders->Add(
+        my ( $add_id, $msg ) = $Ticket->Reminders->Add(
             Subject => $args->{'NewReminder-Subject'},
             Owner   => $args->{'NewReminder-Owner'},
             Due     => $due_obj->ISO
         );
-        push @results, loc("Reminder '[_1]' added", $args->{'NewReminder-Subject'});
+        if ( $add_id ) {
+            push @results, loc("Reminder '[_1]' added", $args->{'NewReminder-Subject'});
+        }
+        else {
+            push @results, $msg;
+        }
     }
     return @results;
 }
@@ -3026,6 +3029,24 @@ sub ProcessRecordLinks {
     return (@results);
 }
 
+=head2 ProcessTransactionSquelching
+
+Takes a hashref of the submitted form arguments, C<%ARGS>.
+
+Returns a hash of squelched addresses.
+
+=cut
+
+sub ProcessTransactionSquelching {
+    my $args    = shift;
+    my %checked = map { $_ => 1 } grep { defined }
+        (    ref $args->{'TxnSendMailTo'} eq "ARRAY"  ? @{$args->{'TxnSendMailTo'}} :
+         defined $args->{'TxnSendMailTo'}             ?  ($args->{'TxnSendMailTo'}) :
+                                                                             () );
+    my %squelched = map { $_ => 1 } grep { not $checked{$_} } split /,/, ($args->{'TxnRecipients'}||'');
+    return %squelched;
+}
+
 =head2 _UploadedFile ( $arg );
 
 Takes a CGI parameter name; if a file is uploaded under that name,
@@ -3251,9 +3272,9 @@ our @SCRUBBER_ALLOWED_TAGS = qw(
 );
 
 our %SCRUBBER_ALLOWED_ATTRIBUTES = (
-    # Match http, ftp and relative urls
+    # Match http, https, ftp, mailto and relative urls
     # XXX: we also scrub format strings with this module then allow simple config options
-    href   => qr{^(?:http:|ftp:|https:|/|__Web(?:Path|BaseURL|URL)__)}i,
+    href   => qr{^(?:https?:|ftp:|mailto:|/|__Web(?:Path|BaseURL|URL)__)}i,
     face   => 1,
     size   => 1,
     target => 1,
index 32c877e..a1784c2 100644 (file)
@@ -209,6 +209,40 @@ sub HTML::Mason::Exception::as_rt_error {
     return "An internal RT error has occurred.  Your administrator can find more details in RT's log files.";
 }
 
+=head1 CheckModPerlHandler
+
+Make sure we're not running with SetHandler perl-script.
+
+=cut
+
+sub CheckModPerlHandler{
+    my $self = shift;
+    my $env = shift;
+
+    # Plack::Handler::Apache2 masks MOD_PERL, so use MOD_PERL_API_VERSION
+    return unless( $env->{'MOD_PERL_API_VERSION'}
+                   and $env->{'MOD_PERL_API_VERSION'} == 2);
+
+    my $handler = $env->{'psgi.input'}->handler;
+
+    return unless defined $handler && $handler eq 'perl-script';
+
+    $RT::Logger->critical(<<MODPERL);
+RT has problems when SetHandler is set to perl-script.
+Change SetHandler in your in httpd.conf to:
+
+    SetHandler modperl
+
+For a complete example mod_perl configuration, see:
+
+https://bestpractical.com/rt/docs/@{[$RT::VERSION =~ /^(\d\.\d)/]}/web_deployment.html#mod_perl-2.xx
+MODPERL
+
+    my $res = Plack::Response->new(500);
+    $res->content_type("text/plain");
+    $res->body("Server misconfiguration; see error log for details");
+    return $res;
+}
 
 # PSGI App
 
@@ -231,6 +265,12 @@ sub PSGIApp {
 
     return sub {
         my $env = shift;
+
+        {
+            my $res = $self->CheckModPerlHandler($env);
+            return $self->_psgi_response_cb( $res->finalize ) if $res;
+        }
+
         RT::ConnectToDatabase() unless RT->InstallMode;
 
         my $req = Plack::Request->new($env);
index 7f62e4e..7a27747 100644 (file)
@@ -96,33 +96,17 @@ sub Create {
                  @_ );
 
     my $base = RT::URI->new( $self->CurrentUser );
-    $base->FromURI( $args{'Base'} );
-
-    unless ( $base->Resolver && $base->Scheme ) {
-       my $msg = $self->loc("Couldn't resolve base '[_1]' into a URI.", 
-                            $args{'Base'});
+    unless ($base->FromURI( $args{'Base'} )) {
+        my $msg = $self->loc("Couldn't resolve base '[_1]' into a URI.", $args{'Base'});
         $RT::Logger->warning( "$self $msg" );
-
-       if (wantarray) {
-           return(undef, $msg);
-       } else {
-           return (undef);
-       }
+        return wantarray ? (undef, $msg) : undef;
     }
 
     my $target = RT::URI->new( $self->CurrentUser );
-    $target->FromURI( $args{'Target'} );
-
-    unless ( $target->Resolver ) {
-       my $msg = $self->loc("Couldn't resolve target '[_1]' into a URI.", 
-                            $args{'Target'});
+    unless ($target->FromURI( $args{'Target'} )) {
+        my $msg = $self->loc("Couldn't resolve target '[_1]' into a URI.", $args{'Target'});
         $RT::Logger->warning( "$self $msg" );
-
-       if (wantarray) {
-           return(undef, $msg);
-       } else {
-           return (undef);
-       }
+        return wantarray ? (undef, $msg) : undef;
     }
 
     my $base_id   = 0;
@@ -186,22 +170,21 @@ sub LoadByParams {
                  @_ );
 
     my $base = RT::URI->new($self->CurrentUser);
-    $base->FromURI( $args{'Base'} );
+    $base->FromURI( $args{'Base'} )
+        or return (0, $self->loc("Couldn't parse Base URI: [_1]", $args{Base}));
 
     my $target = RT::URI->new($self->CurrentUser);
-    $target->FromURI( $args{'Target'} );
-    
-    unless ($base->Resolver && $target->Resolver) {
-        return ( 0, $self->loc("Couldn't load link") );
-    }
-
+    $target->FromURI( $args{'Target'} )
+        or return (0, $self->loc("Couldn't parse Target URI: [_1]", $args{Target}));
 
     my ( $id, $msg ) = $self->LoadByCols( Base   => $base->URI,
                                           Type   => $args{'Type'},
                                           Target => $target->URI );
 
     unless ($id) {
-        return ( 0, $self->loc("Couldn't load link") );
+        return ( 0, $self->loc("Couldn't load link: [_1]", $msg) );
+    } else {
+        return ($id, $msg);
     }
 }
 
index b0c4e30..6896063 100644 (file)
@@ -52,6 +52,8 @@ use warnings;
 package RT::Pod::HTML;
 use base 'Pod::Simple::XHTML';
 
+use HTML::Entities qw//;
+
 sub new {
     my $self = shift->SUPER::new(@_);
     $self->index(1);
@@ -59,6 +61,11 @@ sub new {
     return $self;
 }
 
+sub decode_entities {
+    my $self = shift;
+    return HTML::Entities::decode_entities($_[0]);
+}
+
 sub perldoc_url_prefix { "http://metacpan.org/module/" }
 
 sub html_header { '' }
@@ -68,8 +75,22 @@ sub html_footer {
     return '<a href="./' . $toc . '">&larr; Back to index</a>';
 }
 
-sub start_Verbatim { $_[0]{'scratch'} = "<pre>" }
-sub end_Verbatim   { $_[0]{'scratch'} .= "</pre>"; $_[0]->emit; }
+sub start_F {
+    $_[0]{'scratch_F'} = $_[0]{'scratch'};
+    $_[0]{'scratch'}   = "";
+}
+sub end_F   {
+    my $self = shift;
+    my $text = $self->{scratch};
+    my $file = $self->decode_entities($text);
+
+    if (my $local = $self->resolve_local_link($file)) {
+        $text = qq[<a href="$local">$text</a>];
+    }
+
+    $self->{'scratch'} = delete $self->{scratch_F};
+    $self->{'scratch'} .= "<i>$text</i>";
+}
 
 sub _end_head {
     my $self = shift;
@@ -86,6 +107,17 @@ sub resolve_pod_page_link {
     return $self->SUPER::resolve_pod_page_link(@_)
         unless $self->batch_mode and $name;
 
+    my $local = $self->resolve_local_link($name, $section);
+
+    return $local
+        ? $local
+        : $self->SUPER::resolve_pod_page_link(@_);
+}
+
+sub resolve_local_link {
+    my $self = shift;
+    my ($name, $section) = @_;
+
     $section = defined $section
         ? '#' . $self->idify($section, 1)
         : '';
@@ -96,18 +128,28 @@ sub resolve_pod_page_link {
                   map { $self->encode_entities($_) }
                 split /::/, $name;
     }
-    elsif ($name =~ /^rt-/) {
+    elsif ($name =~ /^rt[-_]/) {
         $local = $self->encode_entities($name);
     }
+    elsif ($name eq "RT_Config" or $name eq "RT_Config.pm") {
+        $local = "RT_Config";
+    }
+    # These matches handle links that look like filenames, such as those we
+    # parse out of F<> tags.
+    elsif (   $name =~ m{^(?:lib/)(RT/[\w/]+?)\.pm$}
+           or $name =~ m{^(?:docs/)(.+?)\.pod$})
+    {
+        $local = join "/",
+                  map { $self->encode_entities($_) }
+                split /\//, $1;
+    }
 
     if ($local) {
         # Resolve links correctly by going up
         my $depth = $self->batch_mode_current_level - 1;
-        return join "/",
-                    ($depth ? ".." x $depth : ()),
-                    "$local.html$section";
+        return ($depth ? "../" x $depth : "") . "$local.html$section";
     } else {
-        return $self->SUPER::resolve_pod_page_link(@_)
+        return;
     }
 }
 
index 0310475..6f28120 100644 (file)
@@ -892,6 +892,8 @@ sub Update {
 
         $value =~ s/\r\n/\n/gs;
 
+        my $truncated_value = $self->TruncateValue($attribute, $value);
+
         # If Queue is 'General', we want to resolve the queue name for
         # the object.
 
@@ -910,8 +912,8 @@ sub Update {
             my $current = $self->$attribute();
             # RT::Queue->Lifecycle returns a Lifecycle object instead of name
             $current = eval { $current->Name } if ref $current;
-            next if $value eq $current;
-            next if ( $value || 0 ) eq $current;
+            next if $truncated_value eq $current;
+            next if ( $truncated_value || 0 ) eq $current;
         };
 
         $new_values{$attribute} = $value;
index 74b1006..42f4e1d 100644 (file)
@@ -116,6 +116,16 @@ sub Add {
         @_
     );
 
+    my $ticket = RT::Ticket->new($self->CurrentUser);
+    $ticket->Load($self->Ticket);
+    if ( !$ticket->id ) {
+        return ( 0, $self->loc( "Failed to load ticket [_1]", $self->Ticket ) );
+    }
+
+    if ( $ticket->Status eq 'deleted' ) {
+        return ( 0, $self->loc("Can't link to a deleted ticket") );
+    }
+
     my $reminder = RT::Ticket->new($self->CurrentUser);
     my ( $status, $msg ) = $reminder->Create(
         Subject => $args{'Subject'},
index 30f0006..bebd599 100644 (file)
@@ -720,7 +720,7 @@ sub GetFileName
 =head4 StoragePath
 
 Returns an absolute path to the storage dir.  See
-L<CONFIGURATION/$ShredderStoragePath>.
+L</$ShredderStoragePath>.
 
 See also description of the L</GetFileName> method.
 
index 467905c..d1eb05f 100644 (file)
@@ -111,6 +111,8 @@ sub import {
     my $class = shift;
     my %args = %rttest_opt = @_;
 
+    $rttest_opt{'nodb'} = $args{'nodb'} = 1 if $^C;
+
     # Spit out a plan (if we got one) *before* we load modules
     if ( $args{'tests'} ) {
         plan( tests => $args{'tests'} )
index 086ba5f..ec44672 100644 (file)
@@ -71,6 +71,8 @@ sub import {
 
     $class->SUPER::import(%args);
     require RT::Crypt::GnuPG;
+    return $class->export_to_level(1)
+        if $^C;
 
     RT::Test::diag "GnuPG --homedir " . RT->Config->Get('GnuPGOptions')->{'homedir'};
 
index 8bfe126..cce5c56 100644 (file)
@@ -2581,9 +2581,7 @@ sub __GetTicketFromURI {
     # If the other URI is an RT::Ticket, we want to make sure the user
     # can modify it too...
     my $uri_obj = RT::URI->new( $self->CurrentUser );
-    $uri_obj->FromURI( $args{'URI'} );
-
-    unless ( $uri_obj->Resolver && $uri_obj->Scheme ) {
+    unless ($uri_obj->FromURI( $args{'URI'} )) {
         my $msg = $self->loc( "Couldn't resolve '[_1]' into a URI.", $args{'URI'} );
         $RT::Logger->warning( $msg );
         return( 0, $msg );
index 20cdd92..39efecd 100644 (file)
@@ -910,22 +910,23 @@ sub _WatcherLimit {
         die "Invalid watcher subfield: '$rest{SUBKEY}'";
     }
 
+    # if it's equality op and search by Email or Name then we can preload user
+    # we do it to help some DBs better estimate number of rows and get better plans
+    if ( $op =~ /^!?=$/ && (!$rest{'SUBKEY'} || $rest{'SUBKEY'} eq 'Name' || $rest{'SUBKEY'} eq 'EmailAddress') ) {
+        my $o = RT::User->new( $self->CurrentUser );
+        my $method =
+            !$rest{'SUBKEY'}
+            ? $field eq 'Owner'? 'Load' : 'LoadByEmail'
+            : $rest{'SUBKEY'} eq 'EmailAddress' ? 'LoadByEmail': 'Load';
+        $o->$method( $value );
+        $rest{'SUBKEY'} = 'id';
+        $value = $o->id || 0;
+    }
+
     # Owner was ENUM field, so "Owner = 'xxx'" allowed user to
     # search by id and Name at the same time, this is workaround
     # to preserve backward compatibility
     if ( $field eq 'Owner' ) {
-        if ( $op =~ /^!?=$/ && (!$rest{'SUBKEY'} || $rest{'SUBKEY'} eq 'Name' || $rest{'SUBKEY'} eq 'EmailAddress') ) {
-            my $o = RT::User->new( $self->CurrentUser );
-            my $method = ($rest{'SUBKEY'}||'') eq 'EmailAddress' ? 'LoadByEmail': 'Load';
-            $o->$method( $value );
-            $self->_SQLLimit(
-                FIELD    => 'Owner',
-                OPERATOR => $op,
-                VALUE    => $o->id,
-                %rest,
-            );
-            return;
-        }
         if ( ($rest{'SUBKEY'}||'') eq 'id' ) {
             $self->_SQLLimit(
                 FIELD    => 'Owner',
@@ -2185,7 +2186,7 @@ sub LimitType {
         VALUE       => $args{'VALUE'},
         OPERATOR    => $args{'OPERATOR'},
         DESCRIPTION => join( ' ',
-            $self->loc('Type'), $args{'OPERATOR'}, $args{'Limit'}, ),
+            $self->loc('Type'), $args{'OPERATOR'}, $args{'VALUE'}, ),
     );
 }
 
index 5407542..1832aef 100644 (file)
@@ -381,13 +381,24 @@ sub Content {
         }
 
         $content =~ s/^/> /gm;
-        $content = $self->loc("On [_1], [_2] wrote:", $self->CreatedAsString, $self->CreatorObj->Name)
-          . "\n$content\n\n";
+        $content = $self->QuoteHeader . "\n$content\n\n";
     }
 
     return ($content);
 }
 
+=head2 QuoteHeader
+
+Returns text prepended to content when transaction is quoted
+(see C<Quote> argument in L</Content>). By default returns
+localized "On <date> <user name> wrote:\n".
+
+=cut
+
+sub QuoteHeader {
+    my $self = shift;
+    return $self->loc("On [_1], [_2] wrote:", $self->CreatedAsString, $self->CreatorObj->Name);
+}
 
 
 =head2 Addresses
index 938e5b6..e38e51c 100644 (file)
@@ -167,18 +167,10 @@ sub Create {
         return ( 0, $self->loc("Must specify 'Name' attribute") );
     }
 
-    #SANITY CHECK THE NAME AND ABORT IF IT'S TAKEN
-    if (RT->SystemUser) {   #This only works if RT::SystemUser has been defined
-        my $TempUser = RT::User->new(RT->SystemUser);
-        $TempUser->Load( $args{'Name'} );
-        return ( 0, $self->loc('Name in use') ) if ( $TempUser->Id );
-
-        my ($val, $message) = $self->ValidateEmailAddress( $args{'EmailAddress'} );
-        return (0, $message) unless ( $val );
-    } else {
-        $RT::Logger->warning( "$self couldn't check for pre-existing users");
-    }
-
+    my ( $val, $msg ) = $self->ValidateName( $args{'Name'} );
+    return ( 0, $msg ) unless $val;
+    ( $val, $msg ) = $self->ValidateEmailAddress( $args{'EmailAddress'} );
+    return ( 0, $msg ) unless ($val);
 
     $RT::Handle->BeginTransaction();
     # Groups deal with principal ids, rather than user ids.
@@ -270,6 +262,30 @@ sub Create {
     return ( $id, $self->loc('User created') );
 }
 
+=head2 ValidateName STRING
+
+Returns either (0, "failure reason") or 1 depending on whether the given
+name is valid.
+
+=cut
+
+sub ValidateName {
+    my $self = shift;
+    my $name = shift;
+
+    return ( 0, $self->loc('empty name') ) unless defined $name && length $name;
+
+    my $TempUser = RT::User->new( RT->SystemUser );
+    $TempUser->Load($name);
+
+    if ( $TempUser->id && ( !$self->id || $TempUser->id != $self->id ) ) {
+        return ( 0, $self->loc('Name in use') );
+    }
+    else {
+        return 1;
+    }
+}
+
 =head2 ValidatePassword STRING
 
 Returns either (0, "failure reason") or 1 depending on whether the given
@@ -572,6 +588,25 @@ sub ValidateEmailAddress {
     }
 }
 
+=head2 SetName
+
+Check to make sure someone else isn't using this name already
+
+=cut
+
+sub SetName {
+    my $self  = shift;
+    my $Value = shift;
+
+    my ( $val, $message ) = $self->ValidateName($Value);
+    if ($val) {
+        return $self->_Set( Field => 'Name', Value => $Value );
+    }
+    else {
+        return ( 0, $message );
+    }
+}
+
 =head2 SetEmailAddress
 
 Check to make sure someone else isn't using this email address already
index b85fbdc..7336e11 100755 (executable)
@@ -306,6 +306,7 @@ sub action_upgrade {
     return (0, "Couldn't read dir '$base_dir' with upgrade data")
         unless -d $base_dir || -r _;
 
+    my $version_word_regex = join '|', RT::Handle->version_words;
     my $upgrading_from = undef;
     do {
         if ( defined $upgrading_from ) {
@@ -316,7 +317,7 @@ sub action_upgrade {
         $upgrading_from = scalar <STDIN>;
         chomp $upgrading_from;
         $upgrading_from =~ s/\s+//g;
-    } while $upgrading_from !~ /^\d+\.\d+\.\w+$/;
+    } while $upgrading_from !~ /^\d+\.\d+\.\d+(?:$version_word_regex)?\d*$/;
 
     my $upgrading_to = $RT::VERSION;
     return (0, "The current version $upgrading_to is lower than $upgrading_from")
@@ -351,7 +352,7 @@ sub action_upgrade {
             chomp $custom_upgrading_to;
             $custom_upgrading_to =~ s/\s+//g;
             last unless $custom_upgrading_to;
-        } while $custom_upgrading_to !~ /^\d+\.\d+\.\w+$/;
+        } while $custom_upgrading_to !~ /^\d+\.\d+\.\d+(?:$version_word_regex)?\d*$/;
 
         if ( $custom_upgrading_to ) {
             return (
index 27e4955..a0bebaa 100755 (executable)
@@ -363,7 +363,7 @@ Convert::Color
 .
 
 $deps{'HTML-DOC'} = [ text_to_hash( <<'.') ];
-Pod::Simple 3.17
+Pod::Simple 3.24
 HTML::Entities
 .
 
index 4515ed7..4281d17 100644 (file)
@@ -202,7 +202,15 @@ if ( $ARGS{'Update'} && $id ne 'new' ) {
         Object        => $CustomFieldObj,
         ARGSRef       => \%ARGS
     );
-    $CustomFieldObj->SetValuesClass( $ValuesClass );
+    if ( ($ValuesClass||'RT::CustomFieldValues') ne $CustomFieldObj->ValuesClass ) {
+        my $original = $CustomFieldObj->ValuesClass;
+        my ($good, $msg) = $CustomFieldObj->SetValuesClass( $ValuesClass );
+        if ( $good ) {
+            $msg = loc("[_1] changed from '[_2]' to '[_3]'",
+                        loc("Field values source"), $original, $ValuesClass );
+        }
+        push @results, $msg;
+    }
 
     # Set the render type if we have it, but unset it if the new type doesn't
     # support render types
index c8934f0..d15d489 100644 (file)
@@ -47,7 +47,7 @@
 %# END BPS TAGGED BLOCK }}}
 <form ACTION="<% RT->Config->Get('WebPath') %>/Articles/Article/Search.html">
 <input type="hidden" name="HideOptions" value="1" />
-<input size="12" name="q" accesskey="0" />
+<input size="12" name="q" accesskey="0" value="<&|/l&>Search Articles</&>..." onfocus="if (this.value=='<&|/l&>Search Articles</&>...') this.value=''"  />
 % if ($class or $topic) {
 <input type="hidden" name="ExpandTopics" value="1" />
 <select name="Topics">
@@ -65,7 +65,6 @@
 <option value="">in all topics</option>
 </select>
 % }
-<input type="submit" value="<&|/l&>Search Articles</&>" />&nbsp;
 </form>
 <%args>
 $topic => ""
index e9524c5..9e190be 100644 (file)
 %#
 %# END BPS TAGGED BLOCK }}}
 % my $name = $NamePrefix.$CustomField->Id.'-Values';
-<& /Elements/SelectDate, Name => "$name", current => 0, ShowTime => 0 &> (<%$DateObj->AsString(Time => 0)%>)
+<& /Elements/SelectDate, Name => "$name", current => 0, ShowTime => 0 &> (<%$DateObj->AsString(Time => 0, Timezone => 'utc')%>)
 
 <%INIT>
 my $DateObj = RT::Date->new ( $session{'CurrentUser'} );
-$DateObj->Set( Format => 'unknown', Value => $Default );
+$DateObj->Set( Format => 'unknown', Value => $Default, Timezone => 'utc' );
 </%INIT>
 <%ARGS>
 $Object => undef
index 9f581af..7fb6a9a 100644 (file)
@@ -53,7 +53,7 @@
 % if ($m->{'rt_base_time'}) {
   <p id="time"><span><&|/l&>Time to display</&>: <%Time::HiRes::tv_interval( $m->{'rt_base_time'} )%></span></p>
 %}
-  <p id="bpscredits"><span><&|/l_unsafe,     '&#187;&#124;&#171;', $RT::VERSION, '2012', '<a href="http://www.bestpractical.com?rt='.$RT::VERSION.'">Best Practical Solutions, LLC</a>', &>[_1] RT [_2] Copyright 1996-[_3] [_4].</&>
+  <p id="bpscredits"><span><&|/l_unsafe,     '&#187;&#124;&#171;', $RT::VERSION, '2013', '<a href="http://www.bestpractical.com?rt='.$RT::VERSION.'">Best Practical Solutions, LLC</a>', &>[_1] RT [_2] Copyright 1996-[_3] [_4].</&>
 </span></p>
 % if (!$Menu) {
   <p id="legal"><&|/l_unsafe, '<a href="http://www.gnu.org/licenses/gpl-2.0.html">', '</a>' &>Distributed under [_1]version 2 of the GNU GPL[_2].</&><br /><&|/l_unsafe, '<a href="mailto:sales@bestpractical.com">sales@bestpractical.com</a>' &>To inquire about support, training, custom development or licensing, please contact [_1].</&><br /></p>
index 98a4fda..805bd2e 100644 (file)
 # backward compatibility, don't use array in new code, but use keyed hash
 if ( ref( $session{'Actions'} ) eq 'ARRAY' ) {
     unshift @actions, @{ delete $session{'Actions'} };
+    $session{'i'}++;
 }
 
 if ( ref( $session{'Actions'}{''} ) eq 'ARRAY' ) {
     unshift @actions, @{ delete $session{'Actions'}{''} };
+    $session{'i'}++;
 }
 
 my $actions_pointer = $DECODED_ARGS->{'results'};
 
 if ($actions_pointer &&  ref( $session{'Actions'}->{$actions_pointer} ) eq 'ARRAY' ) {
     unshift @actions, @{ delete $session{'Actions'}->{$actions_pointer} };
+    $session{'i'}++;
 }
 
 # XXX: run callbacks per row really crazy idea
index 23481c2..b2a2fb6 100644 (file)
@@ -61,8 +61,8 @@
 % if ($child->raw_html) {
 <% $child->raw_html |n %>
 % } else {
-% my $url = (not $child->path or $child->path =~ m{^\w+:/}) ? $child->path : RT->Config->Get('WebPath').$child->path;
-<a id="<%$item_id%>" class="menu-item <% $child->class || '' %>"<% $child->path ? ' href="'.$url.'"' : '' |n%><% $child->target ? ' target="'.$child->target.'"' : '' |n %>>\
+% my $url = $m->interp->apply_escapes((not $child->path or $child->path =~ m{^\w+:/}) ? $child->path : RT->Config->Get('WebPath').$child->path, 'h');
+<a id="<%$item_id%>" class="menu-item <% $child->class || '' %>"<% $child->path ? ' href="'.$url.'"' : '' |n%><% $child->target ? ' target="'.$m->interp->apply_escapes($child->target, 'h').'"' : '' |n %>>\
 <% $child->escape_title ? $m->interp->apply_escapes($child->title, 'h') : $child->title |n %>\
 </a>\
 % }
@@ -82,3 +82,6 @@ $toplevel => 1
 $parent_id => ''
 $depth => 0
 </%ARGS>
+<%init>
+$id = $m->interp->apply_escapes($id, 'h');
+</%init>
index 01514f1..44d6b5a 100644 (file)
@@ -66,20 +66,16 @@ for my $queue (@queues) {
     next if lc($queue->{Lifecycle} || '') ne lc $lifecycle->Name;
 
     $i++;
-    my $name = $queue->{Name};
-    $name =~ s/(['\\])/\\$1/g;
-    my $queue_cond = "Queue = '$name' AND ";
-    my $all_q = $queue_cond . '(' . join( " OR ", map "Status = '$_'", @cur_statuses ) . ')';
 </%PERL>
 <tr class="<% $i%2 ? 'oddline' : 'evenline'%>" >
 
 <td>
-    <a href="<% RT->Config->Get('WebPath') %>/Search/Results.html?Query=<% $all_q |u,n %>" title="<% $queue->{Description} %>"><% $queue->{Name} %></a>
+    <a href="<% $link_all->($queue, \@cur_statuses) %>" title="<% $queue->{Description} %>"><% $queue->{Name} %></a>
 </td>
 
 %   for my $status (@cur_statuses) {
 <td align="right">
-    <a href="<% RT->Config->Get('WebPath') %>/Search/Results.html?Query=<% $queue_cond ."Status = '$status'" |u,n %>"><% $data->{$queue->{id}}->{$status } || '-' %></a>
+    <a href="<% $link_status->($queue, $status) %>"><% $data->{$queue->{id}}->{$status } || '-' %></a>
 </td>
 %   }
 </tr>
@@ -87,6 +83,31 @@ for my $queue (@queues) {
 </table>
 % }
 <%INIT>
+my $build_search_link = sub {
+    my ($queue_name, $extra_query) = @_;
+    $queue_name =~ s/(['\\])/\\$1/g; #'
+
+    return RT->Config->Get('WebPath')
+         . "/Search/Results.html?Query="
+         . $m->interp->apply_escapes("Queue = '$queue_name' AND $extra_query", 'u');
+};
+
+my $link_all = sub {
+    my ($queue, $all_statuses) = @_;
+    return $build_search_link->($queue->{Name}, "(".join(" OR ", map "Status = '$_'", @$all_statuses).")");
+};
+
+my $link_status = sub {
+    my ($queue, $status) = @_;
+    return $build_search_link->($queue->{Name}, "Status = '$status'");
+};
+
+$m->callback(
+    CallbackName        => 'LinkBuilders',
+    build_search_link   => \$build_search_link,
+    link_all            => \$link_all,
+    link_status         => \$link_status,
+);
 
 my $Queues = RT::Queues->new( $session{'CurrentUser'} );
 $Queues->UnLimit();
index b843bba..2a8dc53 100644 (file)
 my $i = 0;
 for my $queue (@queues) {
     $i++;
-    my $name = $queue->{Name};
-    $name =~ s/(['\\])/\\$1/g;
-    my $queue_cond = "Queue = '$name' AND ";
     my $lifecycle = $lifecycle{ lc $queue->{'Lifecycle'} };
-    my $all_q = $queue_cond . '(' . join( " OR ", map "Status = '$_'", grep $lifecycle->IsValid($_), @statuses ) . ')';
+    my @queue_statuses = grep { $lifecycle->IsValid($_) } @statuses;
 </%PERL>
 <tr class="<% $i%2 ? 'oddline' : 'evenline'%>" >
 
 <td>
-    <a href="<% RT->Config->Get('WebPath') %>/Search/Results.html?Query=<% $all_q |u,n %>" title="<% $queue->{Description} %>"><% $queue->{Name} %></a>
+    <a href="<% $link_all->($queue, \@queue_statuses) %>" title="<% $queue->{Description} %>"><% $queue->{Name} %></a>
 </td>
 
 <%perl>
@@ -75,7 +72,7 @@ for my $queue (@queues) {
    if ( $lifecycle->IsValid( $status ) ) {
 </%perl>
 <td align="right">
-    <a href="<% RT->Config->Get('WebPath') %>/Search/Results.html?Query=<% $queue_cond ."Status = '$status'" |u,n %>"><% $data->{$queue->{id}}->{$status } || '-' %></a>
+    <a href="<% $link_status->($queue, $status) %>"><% $data->{$queue->{id}}->{$status } || '-' %></a>
 </td>
 %   } else {
 <td align="right">-</td>
@@ -85,6 +82,31 @@ for my $queue (@queues) {
 % }
 </table>
 <%INIT>
+my $build_search_link = sub {
+    my ($queue_name, $extra_query) = @_;
+    $queue_name =~ s/(['\\])/\\$1/g; #'
+
+    return RT->Config->Get('WebPath')
+         . "/Search/Results.html?Query="
+         . $m->interp->apply_escapes("Queue = '$queue_name' AND $extra_query", 'u');
+};
+
+my $link_all = sub {
+    my ($queue, $all_statuses) = @_;
+    return $build_search_link->($queue->{Name}, "(".join(" OR ", map "Status = '$_'", @$all_statuses).")");
+};
+
+my $link_status = sub {
+    my ($queue, $status) = @_;
+    return $build_search_link->($queue->{Name}, "Status = '$status'");
+};
+
+$m->callback(
+    CallbackName        => 'LinkBuilders',
+    build_search_link   => \$build_search_link,
+    link_all            => \$link_all,
+    link_status         => \$link_status,
+);
 
 my $Queues = RT::Queues->new( $session{'CurrentUser'} );
 $Queues->UnLimit();
index a23d0de..47a673e 100644 (file)
@@ -74,6 +74,7 @@ my $COLUMN_MAP = {
     # SubjectTag is special as we can not sort
     SubjectTag  => {
         title     => 'SubjectTag', # loc
+        attribute => 'SubjectTag',
         value     => sub { return $_[0]->SubjectTag },
     },
     Sign => {
index 64bedfd..4cfb965 100644 (file)
@@ -48,8 +48,8 @@
 <%INIT>
  my $content = $Object->Content;
  my $DateObj = RT::Date->new ( $session{'CurrentUser'} );
- $DateObj->Set( Format => 'unknown', Value => $content );
- $content = $DateObj->AsString(Time => 0);
+ $DateObj->Set( Format => 'unknown', Value => $content, Timezone => 'utc'  );
+ $content = $DateObj->AsString(Time => 0, Timezone => 'utc');
 </%INIT>
 <%$content|n%>
 <%ARGS>
index 8ae28e5..ca5b338 100644 (file)
@@ -60,6 +60,7 @@ my $dueobj = $reminder->DueObj;
 my $overdue = $dueobj->Unix > 0 && $dueobj->Diff < 0 ? 1 : 0;
 
 my $targets = RT::Tickets->new($session{'CurrentUser'});
+$targets->{'allow_deleted_search'} = 1;
 $targets->FromSQL( "ReferredToBy = " . $reminder->id );
 
 if ( my $ticket= $targets->First ) {
index 1887cfc..77f49b1 100644 (file)
@@ -363,7 +363,7 @@ my $build_admin_menu = sub {
     if ( $request_path =~ m{^/Admin/Articles/Classes/} ) {
         my $tabs = PageMenu();
         if ( my $id = $DECODED_ARGS->{'id'} ) {
-            my $obj = RT::CustomField->new( $session{'CurrentUser'} );
+            my $obj = RT::Class->new( $session{'CurrentUser'} );
             $obj->Load($id);
 
             if ( $obj and $obj->id ) {
@@ -388,6 +388,9 @@ my $build_admin_menu = sub {
 
 my $build_main_nav = sub {
 
+    PageWidgets()->child( simple_search => raw_html => $m->scomp('SimpleSearch') );
+    PageWidgets()->child( create_ticket => raw_html => $m->scomp('CreateTicket') );
+
     my $home = Menu->child( home => title => loc('Homepage'), path => '/' );
     # We explicitly exclude superusers; otherwise the dashboards for
     # groups you're not in (but can see the dashboards of by dint of
@@ -773,8 +776,8 @@ my $build_main_nav = sub {
                 &&                        #XXX TODO better abstraction
                 $session{'CurrentUser'}->HasRight( Right => 'SuperUser', Object => RT->System )) {
                 my $shred_args = $query_string->(
-                    search          => 1,
-                    plugin          => 'Tickets',
+                    Search          => 1,
+                    Plugin          => 'Tickets',
                     'Tickets:query' => $rss_data{'Query'},
                     'Tickets:limit' => $QueryArgs->{'Rows'},
                 );
@@ -798,6 +801,10 @@ my $build_main_nav = sub {
     }
 
     if ( $request_path =~ m{^/Articles/} ) {
+        PageWidgets()->child( article_search => raw_html => $m->scomp('/Articles/Elements/GotoArticle') );
+        PageWidgets()->delete('create_ticket');
+        PageWidgets()->delete('simple_search');
+
         my $tabs = PageMenu();
         $tabs->child( search => title => loc("Search"),       path => "/Articles/Article/Search.html" );
         $tabs->child( create => title => loc("New Article" ), path => "/Articles/Article/PreCreate.html" );
@@ -825,9 +832,6 @@ my $build_main_nav = sub {
         PageMenu()->child( edit => title => loc('Edit'), path => '/Prefs/MyRT.html' );
     }
 
-    PageWidgets()->child( simple_search => raw_html => $m->scomp('SimpleSearch') );
-    PageWidgets()->child( create_ticket => raw_html => $m->scomp('CreateTicket') );
-
     $m->callback( CallbackName => 'Privileged' );
 };
 
index c505b0b..b6a6f1a 100644 (file)
@@ -77,7 +77,7 @@ $groups->Limit(
 
 # Exclude groups we don't want
 foreach (split /\s*,\s*/, $exclude) {
-    $groups->Limit(FIELD => 'id', VALUE => $_, OPERATOR => '!=');
+    $groups->Limit(FIELD => 'id', VALUE => $_, OPERATOR => '!=', ENTRYAGGREGATOR => 'AND');
 }
 
 my @suggestions;
index 7a3bb32..349442a 100644 (file)
@@ -111,7 +111,7 @@ while (my ($name, $op) = each %fields) {
 
 # Exclude users we don't want
 foreach (split /\s*,\s*/, $exclude) {
-    $users->Limit(FIELD => 'id', VALUE => $_, OPERATOR => '!=');
+    $users->Limit(FIELD => 'id', VALUE => $_, OPERATOR => '!=', ENTRYAGGREGATOR => 'AND');
 }
 
 my @suggestions;
index f7ba067..649ca3d 100644 (file)
@@ -7,7 +7,7 @@ Software License Agreement
 ==========================
 
 CKEditor - The text editor for Internet - http://ckeditor.com
-Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
 
 Licensed under the terms of any of the following licenses at your
 choice:
@@ -28,9 +28,7 @@ You are not required to, but if you want to explicitly declare the
 license you have chosen to be bound to when using, reproducing,
 modifying and distributing this software, just include a text file
 titled "legal.txt" in your version of this software, indicating your
-license choice. In any case, your choice will not restrict any
-recipient of your version of this software to use, reproduce, modify
-and distribute this software under any of the above licenses.
+license choice.
 
 Sources of Intellectual Property Included in CKEditor
 =====================================================
@@ -40,11 +38,6 @@ CKSource engineers and consists of CKSource-owned intellectual
 property. In some specific instances, CKEditor will incorporate work
 done by developers outside of CKSource with their express permission.
 
-YUI Test: At _source/tests/yuitest.js can be found part of the source
-code of YUI, which is licensed under the terms of the BSD License
-(http://developer.yahoo.com/yui/license.txt). YUI is Copyright (C)
-2008, Yahoo! Inc.
-
 Trademarks
 ==========
 
@@ -1286,7 +1279,7 @@ EXHIBIT A -Mozilla Public License.
        <p>
                <strong>CKEditor&trade;</strong> - The text editor for Internet&trade; - <a href="http://ckeditor.com">
                        http://ckeditor.com</a><br />
-               Copyright &copy; 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico Knabben. All rights reserved.
+               Copyright &copy; 2003-2013, <a href="http://cksource.com/">CKSource</a> - Frederico Knabben. All rights reserved.
        </p>
        <p>
                Licensed under the terms of any of the following licenses at your choice:
index f603459..ae923ec 100644 (file)
@@ -1,6 +1,6 @@
-\feff/*
-Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
+/*
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
 */
 
-(function(){CKEDITOR.config.jqueryOverrideVal=typeof CKEDITOR.config.jqueryOverrideVal=='undefined'?true:CKEDITOR.config.jqueryOverrideVal;var a=window.jQuery;if(typeof a=='undefined')return;a.extend(a.fn,{ckeditorGet:function(){var b=this.eq(0).data('ckeditorInstance');if(!b)throw 'CKEditor not yet initialized, use ckeditor() with callback.';return b;},ckeditor:function(b,c){if(!a.isFunction(b)){var d=c;c=b;b=d;}c=c||{};this.filter('textarea, div, p').each(function(){var e=a(this),f=e.data('ckeditorInstance'),g=e.data('_ckeditorInstanceLock'),h=this;if(f&&!g){if(b)b.apply(f,[this]);}else if(!g){if(c.autoUpdateElement||typeof c.autoUpdateElement=='undefined'&&CKEDITOR.config.autoUpdateElement)c.autoUpdateElementJquery=true;c.autoUpdateElement=false;e.data('_ckeditorInstanceLock',true);f=CKEDITOR.replace(h,c);e.data('ckeditorInstance',f);f.on('instanceReady',function(i){var j=i.editor;setTimeout(function(){if(!j.element){setTimeout(arguments.callee,100);return;}i.removeListener('instanceReady',this.callee);j.on('dataReady',function(){e.trigger('setData.ckeditor',[j]);});j.on('getData',function(l){e.trigger('getData.ckeditor',[j,l.data]);},999);j.on('destroy',function(){e.trigger('destroy.ckeditor',[j]);});if(j.config.autoUpdateElementJquery&&e.is('textarea')&&e.parents('form').length){var k=function(){e.ckeditor(function(){j.updateElement();});};e.parents('form').submit(k);e.parents('form').bind('form-pre-serialize',k);e.bind('destroy.ckeditor',function(){e.parents('form').unbind('submit',k);e.parents('form').unbind('form-pre-serialize',k);});}j.on('destroy',function(){e.data('ckeditorInstance',null);});e.data('_ckeditorInstanceLock',null);e.trigger('instanceReady.ckeditor',[j]);if(b)b.apply(j,[h]);},0);},null,null,9999);}else CKEDITOR.on('instanceReady',function(i){var j=i.editor;setTimeout(function(){if(!j.element){setTimeout(arguments.callee,100);return;}if(j.element.$==h)if(b)b.apply(j,[h]);},0);},null,null,9999);});return this;}});if(CKEDITOR.config.jqueryOverrideVal)a.fn.val=CKEDITOR.tools.override(a.fn.val,function(b){return function(c,d){var e=typeof c!='undefined',f;this.each(function(){var g=a(this),h=g.data('ckeditorInstance');if(!d&&g.is('textarea')&&h){if(e)h.setData(c);else{f=h.getData();return null;}}else if(e)b.call(g,c);else{f=b.call(g);return null;}return true;});return e?this:f;};});})();
+(function(){CKEDITOR.config.jqueryOverrideVal=typeof CKEDITOR.config.jqueryOverrideVal=='undefined'?true:CKEDITOR.config.jqueryOverrideVal;var a=window.jQuery;if(typeof a=='undefined')return;a.extend(a.fn,{ckeditorGet:function(){var b=this.eq(0).data('ckeditorInstance');if(!b)throw 'CKEditor not yet initialized, use ckeditor() with callback.';return b;},ckeditor:function(b,c){if(!CKEDITOR.env.isCompatible)return this;if(!a.isFunction(b)){var d=c;c=b;b=d;}c=c||{};this.filter('textarea, div, p').each(function(){var e=a(this),f=e.data('ckeditorInstance'),g=e.data('_ckeditorInstanceLock'),h=this;if(f&&!g){if(b)b.apply(f,[this]);}else if(!g){if(c.autoUpdateElement||typeof c.autoUpdateElement=='undefined'&&CKEDITOR.config.autoUpdateElement)c.autoUpdateElementJquery=true;c.autoUpdateElement=false;e.data('_ckeditorInstanceLock',true);f=CKEDITOR.replace(h,c);e.data('ckeditorInstance',f);f.on('instanceReady',function(i){var j=i.editor;setTimeout(function(){if(!j.element){setTimeout(arguments.callee,100);return;}i.removeListener('instanceReady',this.callee);j.on('dataReady',function(){e.trigger('setData.ckeditor',[j]);});j.on('getData',function(l){e.trigger('getData.ckeditor',[j,l.data]);},999);j.on('destroy',function(){e.trigger('destroy.ckeditor',[j]);});if(j.config.autoUpdateElementJquery&&e.is('textarea')&&e.parents('form').length){var k=function(){e.ckeditor(function(){j.updateElement();});};e.parents('form').submit(k);e.parents('form').bind('form-pre-serialize',k);e.bind('destroy.ckeditor',function(){e.parents('form').unbind('submit',k);e.parents('form').unbind('form-pre-serialize',k);});}j.on('destroy',function(){e.data('ckeditorInstance',null);});e.data('_ckeditorInstanceLock',null);e.trigger('instanceReady.ckeditor',[j]);if(b)b.apply(j,[h]);},0);},null,null,9999);}else CKEDITOR.on('instanceReady',function(i){var j=i.editor;setTimeout(function(){if(!j.element){setTimeout(arguments.callee,100);return;}if(j.element.$==h)if(b)b.apply(j,[h]);},0);},null,null,9999);});return this;}});if(CKEDITOR.config.jqueryOverrideVal)a.fn.val=CKEDITOR.tools.override(a.fn.val,function(b){return function(c,d){var e=typeof c!='undefined',f;this.each(function(){var g=a(this),h=g.data('ckeditorInstance');if(!d&&g.is('textarea')&&h){if(e)h.setData(c);else{f=h.getData();return null;}}else if(e)b.call(g,c);else{f=b.call(g);return null;}return true;});return e?this:f;};});})();
index 77b165e..cd0359b 100644 (file)
-\feff/*
-Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
+/*
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
 */
 
-(function(){if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'A8LE4JO',version:'3.4.1',revision:'5892',_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f<e.length;f++){var g=e[f].src.match(/(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i);if(g){d=g[1];break;}}}if(d.indexOf('://')==-1)if(d.indexOf('/')===0)d=location.href.match(/^.*?:\/\/[^\/]*/)[0]+d;else d=location.href.match(/^[^\?]*\/(?:)/)[0]+d;if(!d)throw 'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.';return d;})(),getUrl:function(d){if(d.indexOf('://')==-1&&d.indexOf('/')!==0)d=this.basePath+d;if(this.timestamp&&d.charAt(d.length-1)!='/'&&!/[&?]t=/.test(d))d+=(d.indexOf('?')>=0?'&':'?')+'t='+this.timestamp;return d;}},b=window.CKEDITOR_GETURL;if(b){var c=a.getUrl;a.getUrl=function(d){return b.call(a,d)||c.call(a,d);};}return a;})();var a=CKEDITOR;if(!a.event){a.event=function(){};a.event.implementOn=function(b,c){var d=a.event.prototype;for(var e in d){if(b[e]==undefined)b[e]=d[e];}};a.event.prototype=(function(){var b=function(d){var e=d.getPrivate&&d.getPrivate()||d._||(d._={});return e.events||(e.events={});},c=function(d){this.name=d;this.listeners=[];};c.prototype={getListenerIndex:function(d){for(var e=0,f=this.listeners;e<f.length;e++){if(f[e].fn==d)return e;}return-1;}};return{on:function(d,e,f,g,h){var i=b(this),j=i[d]||(i[d]=new c(d));if(j.getListenerIndex(e)<0){var k=j.listeners;if(!f)f=this;if(isNaN(h))h=10;var l=this,m=function(o,p,q,r){var s={name:d,sender:this,editor:o,data:p,listenerData:g,stop:q,cancel:r,removeListener:function(){l.removeListener(d,e);}};e.call(f,s);return s.data;};m.fn=e;m.priority=h;for(var n=k.length-1;n>=0;n--){if(k[n].priority<=h){k.splice(n+1,0,m);return;}}k.unshift(m);}},fire:(function(){var d=false,e=function(){d=true;},f=false,g=function(){f=true;};return function(h,i,j){var k=b(this)[h],l=d,m=f;d=f=false;if(k){var n=k.listeners;if(n.length){n=n.slice(0);for(var o=0;o<n.length;o++){var p=n[o].call(this,j,i,e,g);if(typeof p!='undefined')i=p;if(d||f)break;}}}var q=f||(typeof i=='undefined'?false:i);d=l;f=m;return q;};})(),fireOnce:function(d,e,f){var g=this.fire(d,e,f);delete b(this)[d];return g;},removeListener:function(d,e){var f=b(this)[d];if(f){var g=f.getListenerIndex(e);if(g>=0)f.listeners.splice(g,1);}},hasListeners:function(d){var e=b(this)[d];
-return e&&e.listeners.length>0;}};})();}if(!a.editor){a.ELEMENT_MODE_NONE=0;a.ELEMENT_MODE_REPLACE=1;a.ELEMENT_MODE_APPENDTO=2;a.editor=function(b,c,d,e){var f=this;f._={instanceConfig:b,element:c,data:e};f.elementMode=d||0;a.event.call(f);f._init();};a.editor.replace=function(b,c){var d=b;if(typeof d!='object'){d=document.getElementById(b);if(!d){var e=0,f=document.getElementsByName(b);while((d=f[e++])&&d.tagName.toLowerCase()!='textarea'){}}if(!d)throw '[CKEDITOR.editor.replace] The element with id or name "'+b+'" was not found.';}d.style.visibility='hidden';return new a.editor(c,d,1);};a.editor.appendTo=function(b,c,d){var e=b;if(typeof e!='object'){e=document.getElementById(b);if(!e)throw '[CKEDITOR.editor.appendTo] The element with id "'+b+'" was not found.';}return new a.editor(c,e,2,d);};a.editor.prototype={_init:function(){var b=a.editor._pending||(a.editor._pending=[]);b.push(this);},fire:function(b,c){return a.event.prototype.fire.call(this,b,c,this);},fireOnce:function(b,c){return a.event.prototype.fireOnce.call(this,b,c,this);}};a.event.implementOn(a.editor.prototype,true);}if(!a.env)a.env=(function(){var b=navigator.userAgent.toLowerCase(),c=window.opera,d={ie:/*@cc_on!@*/false,opera:!!c&&c.version,webkit:b.indexOf(' applewebkit/')>-1,air:b.indexOf(' adobeair/')>-1,mac:b.indexOf('macintosh')>-1,quirks:document.compatMode=='BackCompat',mobile:b.indexOf('mobile')>-1,isCustomDomain:function(){if(!this.ie)return false;var g=document.domain,h=window.location.hostname;return g!=h&&g!='['+h+']';}};d.gecko=navigator.product=='Gecko'&&!d.webkit&&!d.opera;var e=0;if(d.ie){e=parseFloat(b.match(/msie (\d+)/)[1]);d.ie8=!!document.documentMode;d.ie8Compat=document.documentMode==8;d.ie7Compat=e==7&&!document.documentMode||document.documentMode==7;d.ie6Compat=e<7||d.quirks;}if(d.gecko){var f=b.match(/rv:([\d\.]+)/);if(f){f=f[1].split('.');e=f[0]*10000+(f[1]||0)*100+ +(f[2]||0);}}if(d.opera)e=parseFloat(c.version());if(d.air)e=parseFloat(b.match(/ adobeair\/(\d+)/)[1]);if(d.webkit)e=parseFloat(b.match(/ applewebkit\/(\d+)/)[1]);d.version=e;d.isCompatible=!d.mobile&&(d.ie&&e>=6||d.gecko&&e>=10801||d.opera&&e>=9.5||d.air&&e>=1||d.webkit&&e>=522||false);d.cssClass='cke_browser_'+(d.ie?'ie':d.gecko?'gecko':d.opera?'opera':d.air?'air':d.webkit?'webkit':'unknown');if(d.quirks)d.cssClass+=' cke_browser_quirks';if(d.ie){d.cssClass+=' cke_browser_ie'+(d.version<7?'6':d.version>=8?'8':'7');if(d.quirks)d.cssClass+=' cke_browser_iequirks';}if(d.gecko&&e<10900)d.cssClass+=' cke_browser_gecko18';
-return d;})();var b=a.env;var c=b.ie;if(a.status=='unloaded')(function(){a.event.implementOn(a);a.loadFullCore=function(){if(a.status!='basic_ready'){a.loadFullCore._load=true;return;}delete a.loadFullCore;var e=document.createElement('script');e.type='text/javascript';e.src=a.basePath+'ckeditor.js';document.getElementsByTagName('head')[0].appendChild(e);};a.loadFullCoreTimeout=0;a.replaceClass='ckeditor';a.replaceByClassEnabled=true;var d=function(e,f,g,h){if(b.isCompatible){if(a.loadFullCore)a.loadFullCore();var i=g(e,f,h);a.add(i);return i;}return null;};a.replace=function(e,f){return d(e,f,a.editor.replace);};a.appendTo=function(e,f,g){return d(e,f,a.editor.appendTo,g);};a.add=function(e){var f=this._.pending||(this._.pending=[]);f.push(e);};a.replaceAll=function(){var e=document.getElementsByTagName('textarea');for(var f=0;f<e.length;f++){var g=null,h=e[f],i=h.name;if(!h.name&&!h.id)continue;if(typeof arguments[0]=='string'){var j=new RegExp('(?:^|\\s)'+arguments[0]+'(?:$|\\s)');if(!j.test(h.className))continue;}else if(typeof arguments[0]=='function'){g={};if(arguments[0](h,g)===false)continue;}this.replace(h,g);}};(function(){var e=function(){var f=a.loadFullCore,g=a.loadFullCoreTimeout;if(a.replaceByClassEnabled)a.replaceAll(a.replaceClass);a.status='basic_ready';if(f&&f._load)f();else if(g)setTimeout(function(){if(a.loadFullCore)a.loadFullCore();},g*1000);};if(window.addEventListener)window.addEventListener('load',e,false);else if(window.attachEvent)window.attachEvent('onload',e);})();a.status='basic_loaded';})();a.dom={};var d=a.dom;(function(){var e=[];a.on('reset',function(){e=[];});a.tools={arrayCompare:function(f,g){if(!f&&!g)return true;if(!f||!g||f.length!=g.length)return false;for(var h=0;h<f.length;h++){if(f[h]!=g[h])return false;}return true;},clone:function(f){var g;if(f&&f instanceof Array){g=[];for(var h=0;h<f.length;h++)g[h]=this.clone(f[h]);return g;}if(f===null||typeof f!='object'||f instanceof String||f instanceof Number||f instanceof Boolean||f instanceof Date||f instanceof RegExp)return f;g=new f.constructor();for(var i in f){var j=f[i];g[i]=this.clone(j);}return g;},capitalize:function(f){return f.charAt(0).toUpperCase()+f.substring(1).toLowerCase();},extend:function(f){var g=arguments.length,h,i;if(typeof (h=arguments[g-1])=='boolean')g--;else if(typeof (h=arguments[g-2])=='boolean'){i=arguments[g-1];g-=2;}for(var j=1;j<g;j++){var k=arguments[j];for(var l in k){if(h===true||f[l]==undefined)if(!i||l in i)f[l]=k[l];}}return f;},prototypedCopy:function(f){var g=function(){};
-g.prototype=f;return new g();},isArray:function(f){return!!f&&f instanceof Array;},isEmpty:function(f){for(var g in f){if(f.hasOwnProperty(g))return false;}return true;},cssStyleToDomStyle:(function(){var f=document.createElement('div').style,g=typeof f.cssFloat!='undefined'?'cssFloat':typeof f.styleFloat!='undefined'?'styleFloat':'float';return function(h){if(h=='float')return g;else return h.replace(/-./g,function(i){return i.substr(1).toUpperCase();});};})(),buildStyleHtml:function(f){f=[].concat(f);var g,h=[];for(var i=0;i<f.length;i++){g=f[i];if(/@import|[{}]/.test(g))h.push('<style>'+g+'</style>');else h.push('<link type="text/css" rel=stylesheet href="'+g+'">');}return h.join('');},htmlEncode:function(f){var g=function(k){var l=new d.element('span');l.setText(k);return l.getHtml();},h=g('\n').toLowerCase()=='<br>'?function(k){return g(k).replace(/<br>/gi,'\n');}:g,i=g('>')=='>'?function(k){return h(k).replace(/>/g,'&gt;');}:h,j=g('  ')=='&nbsp; '?function(k){return i(k).replace(/&nbsp;/g,' ');}:i;this.htmlEncode=j;return this.htmlEncode(f);},htmlEncodeAttr:function(f){return f.replace(/"/g,'&quot;').replace(/</g,'&lt;').replace(/>/g,'&gt;');},escapeCssSelector:function(f){return f.replace(/[\s#:.,$*^\[\]()~=+>]/g,'\\$&');},getNextNumber:(function(){var f=0;return function(){return++f;};})(),getNextId:function(){return 'cke_'+this.getNextNumber();},override:function(f,g){return g(f);},setTimeout:function(f,g,h,i,j){if(!j)j=window;if(!h)h=j;return j.setTimeout(function(){if(i)f.apply(h,[].concat(i));else f.apply(h);},g||0);},trim:(function(){var f=/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g;return function(g){return g.replace(f,'');};})(),ltrim:(function(){var f=/^[ \t\n\r]+/g;return function(g){return g.replace(f,'');};})(),rtrim:(function(){var f=/[ \t\n\r]+$/g;return function(g){return g.replace(f,'');};})(),indexOf:Array.prototype.indexOf?function(f,g){return f.indexOf(g);}:function(f,g){for(var h=0,i=f.length;h<i;h++){if(f[h]===g)return h;}return-1;},bind:function(f,g){return function(){return f.apply(g,arguments);};},createClass:function(f){var g=f.$,h=f.base,i=f.privates||f._,j=f.proto,k=f.statics;if(i){var l=g;g=function(){var p=this;var m=p._||(p._={});for(var n in i){var o=i[n];m[n]=typeof o=='function'?a.tools.bind(o,p):o;}l.apply(p,arguments);};}if(h){g.prototype=this.prototypedCopy(h.prototype);g.prototype['constructor']=g;g.prototype.base=function(){this.base=h.prototype.base;h.apply(this,arguments);this.base=arguments.callee;};}if(j)this.extend(g.prototype,j,true);
-if(k)this.extend(g,k,true);return g;},addFunction:function(f,g){return e.push(function(){f.apply(g||this,arguments);})-1;},removeFunction:function(f){e[f]=null;},callFunction:function(f){var g=e[f];return g&&g.apply(window,Array.prototype.slice.call(arguments,1));},cssLength:(function(){var f=/^\d+(?:\.\d+)?$/;return function(g){return g+(f.test(g)?'px':'');};})(),repeat:function(f,g){return new Array(g+1).join(f);},tryThese:function(){var f;for(var g=0,h=arguments.length;g<h;g++){var i=arguments[g];try{f=i();break;}catch(j){}}return f;},genKey:function(){return Array.prototype.slice.call(arguments).join('-');}};})();var e=a.tools;a.dtd=(function(){var f=e.extend,g={isindex:1,fieldset:1},h={input:1,button:1,select:1,textarea:1,label:1},i=f({a:1},h),j=f({iframe:1},i),k={hr:1,ul:1,menu:1,div:1,blockquote:1,noscript:1,table:1,center:1,address:1,dir:1,pre:1,h5:1,dl:1,h4:1,noframes:1,h6:1,ol:1,h1:1,h3:1,h2:1},l={ins:1,del:1,script:1,style:1},m=f({b:1,acronym:1,bdo:1,'var':1,'#':1,abbr:1,code:1,br:1,i:1,cite:1,kbd:1,u:1,strike:1,s:1,tt:1,strong:1,q:1,samp:1,em:1,dfn:1,span:1},l),n=f({sub:1,img:1,object:1,sup:1,basefont:1,map:1,applet:1,font:1,big:1,small:1},m),o=f({p:1},n),p=f({iframe:1},n,h),q={img:1,noscript:1,br:1,kbd:1,center:1,button:1,basefont:1,h5:1,h4:1,samp:1,h6:1,ol:1,h1:1,h3:1,h2:1,form:1,font:1,'#':1,select:1,menu:1,ins:1,abbr:1,label:1,code:1,table:1,script:1,cite:1,input:1,iframe:1,strong:1,textarea:1,noframes:1,big:1,small:1,span:1,hr:1,sub:1,bdo:1,'var':1,div:1,object:1,sup:1,strike:1,dir:1,map:1,dl:1,applet:1,del:1,isindex:1,fieldset:1,ul:1,b:1,acronym:1,a:1,blockquote:1,i:1,u:1,s:1,tt:1,address:1,q:1,pre:1,p:1,em:1,dfn:1},r=f({a:1},p),s={tr:1},t={'#':1},u=f({param:1},q),v=f({form:1},g,j,k,o),w={li:1},x={style:1,script:1},y={base:1,link:1,meta:1,title:1},z=f(y,x),A={head:1,body:1},B={html:1},C={address:1,blockquote:1,center:1,dir:1,div:1,dl:1,fieldset:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,isindex:1,menu:1,noframes:1,ol:1,p:1,pre:1,table:1,ul:1};return{$nonBodyContent:f(B,A,y),$block:C,$blockLimit:{body:1,div:1,td:1,th:1,caption:1,form:1},$inline:r,$body:f({script:1,style:1},C),$cdata:{script:1,style:1},$empty:{area:1,base:1,br:1,col:1,hr:1,img:1,input:1,link:1,meta:1,param:1},$listItem:{dd:1,dt:1,li:1},$list:{ul:1,ol:1,dl:1},$nonEditable:{applet:1,button:1,embed:1,iframe:1,map:1,object:1,option:1,script:1,textarea:1,param:1},$removeEmpty:{abbr:1,acronym:1,address:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,s:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1},$tabIndex:{a:1,area:1,button:1,input:1,object:1,select:1,textarea:1},$tableContent:{caption:1,col:1,colgroup:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1},html:A,head:z,style:t,script:t,body:v,base:{},link:{},meta:{},title:t,col:{},tr:{td:1,th:1},img:{},colgroup:{col:1},noscript:v,td:v,br:{},th:v,center:v,kbd:r,button:f(o,k),basefont:{},h5:r,h4:r,samp:r,h6:r,ol:w,h1:r,h3:r,option:t,h2:r,form:f(g,j,k,o),select:{optgroup:1,option:1},font:r,ins:r,menu:w,abbr:r,label:r,table:{thead:1,col:1,tbody:1,tr:1,colgroup:1,caption:1,tfoot:1},code:r,script:t,tfoot:s,cite:r,li:v,input:{},iframe:v,strong:r,textarea:t,noframes:v,big:r,small:r,span:r,hr:{},dt:r,sub:r,optgroup:{option:1},param:{},bdo:r,'var':r,div:v,object:u,sup:r,dd:v,strike:r,area:{},dir:w,map:f({area:1,form:1,p:1},g,l,k),applet:u,dl:{dt:1,dd:1},del:r,isindex:{},fieldset:f({legend:1},q),thead:s,ul:w,acronym:r,b:r,a:p,blockquote:v,caption:r,i:r,u:r,tbody:s,s:r,address:f(j,o),tt:r,legend:r,q:r,pre:f(m,i),p:r,em:r,dfn:r};
-})();var f=a.dtd;d.event=function(g){this.$=g;};d.event.prototype={getKey:function(){return this.$.keyCode||this.$.which;},getKeystroke:function(){var h=this;var g=h.getKey();if(h.$.ctrlKey||h.$.metaKey)g+=1000;if(h.$.shiftKey)g+=2000;if(h.$.altKey)g+=4000;return g;},preventDefault:function(g){var h=this.$;if(h.preventDefault)h.preventDefault();else h.returnValue=false;if(g)this.stopPropagation();},stopPropagation:function(){var g=this.$;if(g.stopPropagation)g.stopPropagation();else g.cancelBubble=true;},getTarget:function(){var g=this.$.target||this.$.srcElement;return g?new d.node(g):null;}};a.CTRL=1000;a.SHIFT=2000;a.ALT=4000;d.domObject=function(g){if(g)this.$=g;};d.domObject.prototype=(function(){var g=function(h,i){return function(j){if(typeof a!='undefined')h.fire(i,new d.event(j));};};return{getPrivate:function(){var h;if(!(h=this.getCustomData('_')))this.setCustomData('_',h={});return h;},on:function(h){var k=this;var i=k.getCustomData('_cke_nativeListeners');if(!i){i={};k.setCustomData('_cke_nativeListeners',i);}if(!i[h]){var j=i[h]=g(k,h);if(k.$.addEventListener)k.$.addEventListener(h,j,!!a.event.useCapture);else if(k.$.attachEvent)k.$.attachEvent('on'+h,j);}return a.event.prototype.on.apply(k,arguments);},removeListener:function(h){var k=this;a.event.prototype.removeListener.apply(k,arguments);if(!k.hasListeners(h)){var i=k.getCustomData('_cke_nativeListeners'),j=i&&i[h];if(j){if(k.$.removeEventListener)k.$.removeEventListener(h,j,false);else if(k.$.detachEvent)k.$.detachEvent('on'+h,j);delete i[h];}}},removeAllListeners:function(){var k=this;var h=k.getCustomData('_cke_nativeListeners');for(var i in h){var j=h[i];if(k.$.removeEventListener)k.$.removeEventListener(i,j,false);else if(k.$.detachEvent)k.$.detachEvent('on'+i,j);delete h[i];}}};})();(function(g){var h={};a.on('reset',function(){h={};});g.equals=function(i){return i&&i.$===this.$;};g.setCustomData=function(i,j){var k=this.getUniqueId(),l=h[k]||(h[k]={});l[i]=j;return this;};g.getCustomData=function(i){var j=this.$._cke_expando,k=j&&h[j];return k&&k[i];};g.removeCustomData=function(i){var j=this.$._cke_expando,k=j&&h[j],l=k&&k[i];if(typeof l!='undefined')delete k[i];return l||null;};g.clearCustomData=function(){this.removeAllListeners();var i=this.$._cke_expando;i&&delete h[i];};g.getUniqueId=function(){return this.$._cke_expando||(this.$._cke_expando=e.getNextNumber());};a.event.implementOn(g);})(d.domObject.prototype);d.window=function(g){d.domObject.call(this,g);};d.window.prototype=new d.domObject();
-e.extend(d.window.prototype,{focus:function(){if(b.webkit&&this.$.parent)this.$.parent.focus();this.$.focus();},getViewPaneSize:function(){var g=this.$.document,h=g.compatMode=='CSS1Compat';return{width:(h?g.documentElement.clientWidth:g.body.clientWidth)||0,height:(h?g.documentElement.clientHeight:g.body.clientHeight)||0};},getScrollPosition:function(){var g=this.$;if('pageXOffset' in g)return{x:g.pageXOffset||0,y:g.pageYOffset||0};else{var h=g.document;return{x:h.documentElement.scrollLeft||h.body.scrollLeft||0,y:h.documentElement.scrollTop||h.body.scrollTop||0};}}});d.document=function(g){d.domObject.call(this,g);};var g=d.document;g.prototype=new d.domObject();e.extend(g.prototype,{appendStyleSheet:function(h){if(this.$.createStyleSheet)this.$.createStyleSheet(h);else{var i=new d.element('link');i.setAttributes({rel:'stylesheet',type:'text/css',href:h});this.getHead().append(i);}},appendStyleText:function(h){var k=this;if(k.$.createStyleSheet){var i=k.$.createStyleSheet('');i.cssText=h;}else{var j=new d.element('style',k);j.append(new d.text(h,k));k.getHead().append(j);}},createElement:function(h,i){var j=new d.element(h,this);if(i){if(i.attributes)j.setAttributes(i.attributes);if(i.styles)j.setStyles(i.styles);}return j;},createText:function(h){return new d.text(h,this);},focus:function(){this.getWindow().focus();},getById:function(h){var i=this.$.getElementById(h);return i?new d.element(i):null;},getByAddress:function(h,i){var j=this.$.documentElement;for(var k=0;j&&k<h.length;k++){var l=h[k];if(!i){j=j.childNodes[l];continue;}var m=-1;for(var n=0;n<j.childNodes.length;n++){var o=j.childNodes[n];if(i===true&&o.nodeType==3&&o.previousSibling&&o.previousSibling.nodeType==3)continue;m++;if(m==l){j=o;break;}}}return j?new d.node(j):null;},getElementsByTag:function(h,i){if(!c&&i)h=i+':'+h;return new d.nodeList(this.$.getElementsByTagName(h));},getHead:function(){var h=this.$.getElementsByTagName('head')[0];h=new d.element(h);return(this.getHead=function(){return h;})();},getBody:function(){var h=new d.element(this.$.body);return(this.getBody=function(){return h;})();},getDocumentElement:function(){var h=new d.element(this.$.documentElement);return(this.getDocumentElement=function(){return h;})();},getWindow:function(){var h=new d.window(this.$.parentWindow||this.$.defaultView);return(this.getWindow=function(){return h;})();}});d.node=function(h){if(h){switch(h.nodeType){case 9:return new g(h);case 1:return new d.element(h);case 3:return new d.text(h);}d.domObject.call(this,h);
-}return this;};d.node.prototype=new d.domObject();a.NODE_ELEMENT=1;a.NODE_DOCUMENT=9;a.NODE_TEXT=3;a.NODE_COMMENT=8;a.NODE_DOCUMENT_FRAGMENT=11;a.POSITION_IDENTICAL=0;a.POSITION_DISCONNECTED=1;a.POSITION_FOLLOWING=2;a.POSITION_PRECEDING=4;a.POSITION_IS_CONTAINED=8;a.POSITION_CONTAINS=16;e.extend(d.node.prototype,{appendTo:function(h,i){h.append(this,i);return h;},clone:function(h,i){var j=this.$.cloneNode(h);if(!i){var k=function(l){if(l.nodeType!=1)return;l.removeAttribute('id',false);l.removeAttribute('_cke_expando',false);var m=l.childNodes;for(var n=0;n<m.length;n++)k(m[n]);};k(j);}return new d.node(j);},hasPrevious:function(){return!!this.$.previousSibling;},hasNext:function(){return!!this.$.nextSibling;},insertAfter:function(h){h.$.parentNode.insertBefore(this.$,h.$.nextSibling);return h;},insertBefore:function(h){h.$.parentNode.insertBefore(this.$,h.$);return h;},insertBeforeMe:function(h){this.$.parentNode.insertBefore(h.$,this.$);return h;},getAddress:function(h){var i=[],j=this.getDocument().$.documentElement,k=this.$;while(k&&k!=j){var l=k.parentNode,m=-1;if(l){for(var n=0;n<l.childNodes.length;n++){var o=l.childNodes[n];if(h&&o.nodeType==3&&o.previousSibling&&o.previousSibling.nodeType==3)continue;m++;if(o==k)break;}i.unshift(m);}k=l;}return i;},getDocument:function(){var h=new g(this.$.ownerDocument||this.$.parentNode.ownerDocument);return(this.getDocument=function(){return h;})();},getIndex:function(){var h=this.$,i=h.parentNode&&h.parentNode.firstChild,j=-1;while(i){j++;if(i==h)return j;i=i.nextSibling;}return-1;},getNextSourceNode:function(h,i,j){if(j&&!j.call){var k=j;j=function(n){return!n.equals(k);};}var l=!h&&this.getFirst&&this.getFirst(),m;if(!l){if(this.type==1&&j&&j(this,true)===false)return null;l=this.getNext();}while(!l&&(m=(m||this).getParent())){if(j&&j(m,true)===false)return null;l=m.getNext();}if(!l)return null;if(j&&j(l)===false)return null;if(i&&i!=l.type)return l.getNextSourceNode(false,i,j);return l;},getPreviousSourceNode:function(h,i,j){if(j&&!j.call){var k=j;j=function(n){return!n.equals(k);};}var l=!h&&this.getLast&&this.getLast(),m;if(!l){if(this.type==1&&j&&j(this,true)===false)return null;l=this.getPrevious();}while(!l&&(m=(m||this).getParent())){if(j&&j(m,true)===false)return null;l=m.getPrevious();}if(!l)return null;if(j&&j(l)===false)return null;if(i&&l.type!=i)return l.getPreviousSourceNode(false,i,j);return l;},getPrevious:function(h){var i=this.$,j;do{i=i.previousSibling;j=i&&new d.node(i);}while(j&&h&&!h(j))return j;
-},getNext:function(h){var i=this.$,j;do{i=i.nextSibling;j=i&&new d.node(i);}while(j&&h&&!h(j))return j;},getParent:function(){var h=this.$.parentNode;return h&&h.nodeType==1?new d.node(h):null;},getParents:function(h){var i=this,j=[];do j[h?'push':'unshift'](i);while(i=i.getParent())return j;},getCommonAncestor:function(h){var j=this;if(h.equals(j))return j;if(h.contains&&h.contains(j))return h;var i=j.contains?j:j.getParent();do{if(i.contains(h))return i;}while(i=i.getParent())return null;},getPosition:function(h){var i=this.$,j=h.$;if(i.compareDocumentPosition)return i.compareDocumentPosition(j);if(i==j)return 0;if(this.type==1&&h.type==1){if(i.contains){if(i.contains(j))return 16+4;if(j.contains(i))return 8+2;}if('sourceIndex' in i)return i.sourceIndex<0||j.sourceIndex<0?1:i.sourceIndex<j.sourceIndex?4:2;}var k=this.getAddress(),l=h.getAddress(),m=Math.min(k.length,l.length);for(var n=0;n<=m-1;n++){if(k[n]!=l[n]){if(n<m)return k[n]<l[n]?4:2;break;}}return k.length<l.length?16+4:8+2;},getAscendant:function(h,i){var j=this.$;if(!i)j=j.parentNode;while(j){if(j.nodeName&&j.nodeName.toLowerCase()==h)return new d.node(j);j=j.parentNode;}return null;},hasAscendant:function(h,i){var j=this.$;if(!i)j=j.parentNode;while(j){if(j.nodeName&&j.nodeName.toLowerCase()==h)return true;j=j.parentNode;}return false;},move:function(h,i){h.append(this.remove(),i);},remove:function(h){var i=this.$,j=i.parentNode;if(j){if(h)for(var k;k=i.firstChild;)j.insertBefore(i.removeChild(k),i);j.removeChild(i);}return this;},replace:function(h){this.insertBefore(h);h.remove();},trim:function(){this.ltrim();this.rtrim();},ltrim:function(){var k=this;var h;while(k.getFirst&&(h=k.getFirst())){if(h.type==3){var i=e.ltrim(h.getText()),j=h.getLength();if(!i){h.remove();continue;}else if(i.length<j){h.split(j-i.length);k.$.removeChild(k.$.firstChild);}}break;}},rtrim:function(){var k=this;var h;while(k.getLast&&(h=k.getLast())){if(h.type==3){var i=e.rtrim(h.getText()),j=h.getLength();if(!i){h.remove();continue;}else if(i.length<j){h.split(i.length);k.$.lastChild.parentNode.removeChild(k.$.lastChild);}}break;}if(!c&&!b.opera){h=k.$.lastChild;if(h&&h.type==1&&h.nodeName.toLowerCase()=='br')h.parentNode.removeChild(h);}},isReadOnly:function(){var h=this;while(h){if(h.type==1){if(h.is('body')||h.getCustomData('_cke_notReadOnly'))break;if(h.getAttribute('contentEditable')=='false')return h;else if(h.getAttribute('contentEditable')=='true')break;}h=h.getParent();}return false;}});d.nodeList=function(h){this.$=h;
-};d.nodeList.prototype={count:function(){return this.$.length;},getItem:function(h){var i=this.$[h];return i?new d.node(i):null;}};d.element=function(h,i){if(typeof h=='string')h=(i?i.$:document).createElement(h);d.domObject.call(this,h);};var h=d.element;h.get=function(i){return i&&(i.$?i:new h(i));};h.prototype=new d.node();h.createFromHtml=function(i,j){var k=new h('div',j);k.setHtml(i);return k.getFirst().remove();};h.setMarker=function(i,j,k,l){var m=j.getCustomData('list_marker_id')||j.setCustomData('list_marker_id',e.getNextNumber()).getCustomData('list_marker_id'),n=j.getCustomData('list_marker_names')||j.setCustomData('list_marker_names',{}).getCustomData('list_marker_names');i[m]=j;n[k]=1;return j.setCustomData(k,l);};h.clearAllMarkers=function(i){for(var j in i)h.clearMarkers(i,i[j],true);};h.clearMarkers=function(i,j,k){var l=j.getCustomData('list_marker_names'),m=j.getCustomData('list_marker_id');for(var n in l)j.removeCustomData(n);j.removeCustomData('list_marker_names');if(k){j.removeCustomData('list_marker_id');delete i[m];}};e.extend(h.prototype,{type:1,addClass:function(i){var j=this.$.className;if(j){var k=new RegExp('(?:^|\\s)'+i+'(?:\\s|$)','');if(!k.test(j))j+=' '+i;}this.$.className=j||i;},removeClass:function(i){var j=this.getAttribute('class');if(j){var k=new RegExp('(?:^|\\s+)'+i+'(?=\\s|$)','i');if(k.test(j)){j=j.replace(k,'').replace(/^\s+/,'');if(j)this.setAttribute('class',j);else this.removeAttribute('class');}}},hasClass:function(i){var j=new RegExp('(?:^|\\s+)'+i+'(?=\\s|$)','');return j.test(this.getAttribute('class'));},append:function(i,j){var k=this;if(typeof i=='string')i=k.getDocument().createElement(i);if(j)k.$.insertBefore(i.$,k.$.firstChild);else k.$.appendChild(i.$);return i;},appendHtml:function(i){var k=this;if(!k.$.childNodes.length)k.setHtml(i);else{var j=new h('div',k.getDocument());j.setHtml(i);j.moveChildren(k);}},appendText:function(i){if(this.$.text!=undefined)this.$.text+=i;else this.append(new d.text(i));},appendBogus:function(){var k=this;var i=k.getLast();while(i&&i.type==3&&!e.rtrim(i.getText()))i=i.getPrevious();if(!i||!i.is||!i.is('br')){var j=b.opera?k.getDocument().createText(''):k.getDocument().createElement('br');b.gecko&&j.setAttribute('type','_moz');k.append(j);}},breakParent:function(i){var l=this;var j=new d.range(l.getDocument());j.setStartAfter(l);j.setEndAfter(i);var k=j.extractContents();j.insertNode(l.remove());k.insertAfterNode(l);},contains:c||b.webkit?function(i){var j=this.$;return i.type!=1?j.contains(i.getParent().$):j!=i.$&&j.contains(i.$);
-}:function(i){return!!(this.$.compareDocumentPosition(i.$)&16);},focus:function(){try{this.$.focus();}catch(i){}},getHtml:function(){var i=this.$.innerHTML;return c?i.replace(/<\?[^>]*>/g,''):i;},getOuterHtml:function(){var j=this;if(j.$.outerHTML)return j.$.outerHTML.replace(/<\?[^>]*>/,'');var i=j.$.ownerDocument.createElement('div');i.appendChild(j.$.cloneNode(true));return i.innerHTML;},setHtml:function(i){return this.$.innerHTML=i;},setText:function(i){h.prototype.setText=this.$.innerText!=undefined?function(j){return this.$.innerText=j;}:function(j){return this.$.textContent=j;};return this.setText(i);},getAttribute:(function(){var i=function(j){return this.$.getAttribute(j,2);};if(c&&(b.ie7Compat||b.ie6Compat))return function(j){var n=this;switch(j){case 'class':j='className';break;case 'tabindex':var k=i.call(n,j);if(k!==0&&n.$.tabIndex===0)k=null;return k;break;case 'checked':var l=n.$.attributes.getNamedItem(j),m=l.specified?l.nodeValue:n.$.checked;return m?'checked':null;case 'hspace':return n.$.hspace;case 'style':return n.$.style.cssText;}return i.call(n,j);};else return i;})(),getChildren:function(){return new d.nodeList(this.$.childNodes);},getComputedStyle:c?function(i){return this.$.currentStyle[e.cssStyleToDomStyle(i)];}:function(i){return this.getWindow().$.getComputedStyle(this.$,'').getPropertyValue(i);},getDtd:function(){var i=f[this.getName()];this.getDtd=function(){return i;};return i;},getElementsByTag:g.prototype.getElementsByTag,getTabIndex:c?function(){var i=this.$.tabIndex;if(i===0&&!f.$tabIndex[this.getName()]&&parseInt(this.getAttribute('tabindex'),10)!==0)i=-1;return i;}:b.webkit?function(){var i=this.$.tabIndex;if(i==undefined){i=parseInt(this.getAttribute('tabindex'),10);if(isNaN(i))i=-1;}return i;}:function(){return this.$.tabIndex;},getText:function(){return this.$.textContent||this.$.innerText||'';},getWindow:function(){return this.getDocument().getWindow();},getId:function(){return this.$.id||null;},getNameAtt:function(){return this.$.name||null;},getName:function(){var i=this.$.nodeName.toLowerCase();if(c){var j=this.$.scopeName;if(j!='HTML')i=j.toLowerCase()+':'+i;}return(this.getName=function(){return i;})();},getValue:function(){return this.$.value;},getFirst:function(i){var j=this.$.firstChild,k=j&&new d.node(j);if(k&&i&&!i(k))k=k.getNext(i);return k;},getLast:function(i){var j=this.$.lastChild,k=j&&new d.node(j);if(k&&i&&!i(k))k=k.getPrevious(i);return k;},getStyle:function(i){return this.$.style[e.cssStyleToDomStyle(i)];
-},is:function(){var i=this.getName();for(var j=0;j<arguments.length;j++){if(arguments[j]==i)return true;}return false;},isEditable:function(){var i=this.getName(),j=!f.$nonEditable[i]&&(f[i]||f.span);return j&&j['#'];},isIdentical:function(i){if(this.getName()!=i.getName())return false;var j=this.$.attributes,k=i.$.attributes,l=j.length,m=k.length;if(!c&&l!=m)return false;for(var n=0;n<l;n++){var o=j[n];if((!c||o.specified&&o.nodeName!='_cke_expando')&&o.nodeValue!=i.getAttribute(o.nodeName))return false;}if(c)for(n=0;n<m;n++){o=k[n];if(o.specified&&o.nodeName!='_cke_expando'&&o.nodeValue!=this.getAttribute(o.nodeName))return false;}return true;},isVisible:function(){var i=!!this.$.offsetHeight&&this.getComputedStyle('visibility')!='hidden',j,k;if(i&&(b.webkit||b.opera)){j=this.getWindow();if(!j.equals(a.document.getWindow())&&(k=j.$.frameElement))i=new h(k).isVisible();}return i;},isEmptyInlineRemoveable:function(){if(!f.$removeEmpty[this.getName()])return false;var i=this.getChildren();for(var j=0,k=i.count();j<k;j++){var l=i.getItem(j);if(l.type==1&&l.getAttribute('_cke_bookmark'))continue;if(l.type==1&&!l.isEmptyInlineRemoveable()||l.type==3&&e.trim(l.getText()))return false;}return true;},hasAttributes:c&&(b.ie7Compat||b.ie6Compat)?function(){var i=this.$.attributes;for(var j=0;j<i.length;j++){var k=i[j];switch(k.nodeName){case 'class':if(this.getAttribute('class'))return true;case '_cke_expando':continue;default:if(k.specified)return true;}}return false;}:function(){var i=this.$.attributes,j=i.length,k={_cke_expando:1,_moz_dirty:1};return j>0&&(j>2||!k[i[0].nodeName]||j==2&&!k[i[1].nodeName]);},hasAttribute:function(i){var j=this.$.attributes.getNamedItem(i);return!!(j&&j.specified);},hide:function(){this.setStyle('display','none');},moveChildren:function(i,j){var k=this.$;i=i.$;if(k==i)return;var l;if(j)while(l=k.lastChild)i.insertBefore(k.removeChild(l),i.firstChild);else while(l=k.firstChild)i.appendChild(k.removeChild(l));},mergeSiblings:(function(){function i(j,k,l){if(k&&k.type==1){var m=[];while(k.getAttribute('_cke_bookmark')||k.isEmptyInlineRemoveable()){m.push(k);k=l?k.getNext():k.getPrevious();if(!k||k.type!=1)return;}if(j.isIdentical(k)){var n=l?j.getLast():j.getFirst();while(m.length)m.shift().move(j,!l);k.moveChildren(j,!l);k.remove();if(n&&n.type==1)n.mergeSiblings();}}};return function(){var j=this;if(!(f.$removeEmpty[j.getName()]||j.is('a')))return;i(j,j.getNext(),true);i(j,j.getPrevious());};})(),show:function(){this.setStyles({display:'',visibility:''});
-},setAttribute:(function(){var i=function(j,k){this.$.setAttribute(j,k);return this;};if(c&&(b.ie7Compat||b.ie6Compat))return function(j,k){var l=this;if(j=='class')l.$.className=k;else if(j=='style')l.$.style.cssText=k;else if(j=='tabindex')l.$.tabIndex=k;else if(j=='checked')l.$.checked=k;else i.apply(l,arguments);return l;};else return i;})(),setAttributes:function(i){for(var j in i)this.setAttribute(j,i[j]);return this;},setValue:function(i){this.$.value=i;return this;},removeAttribute:(function(){var i=function(j){this.$.removeAttribute(j);};if(c&&(b.ie7Compat||b.ie6Compat))return function(j){if(j=='class')j='className';else if(j=='tabindex')j='tabIndex';i.call(this,j);};else return i;})(),removeAttributes:function(i){if(e.isArray(i))for(var j=0;j<i.length;j++)this.removeAttribute(i[j]);else for(var k in i)i.hasOwnProperty(k)&&this.removeAttribute(k);},removeStyle:function(i){var j=this;j.setStyle(i,'');if(j.$.style.removeAttribute)j.$.style.removeAttribute(e.cssStyleToDomStyle(i));if(!j.$.style.cssText)j.removeAttribute('style');},setStyle:function(i,j){this.$.style[e.cssStyleToDomStyle(i)]=j;return this;},setStyles:function(i){for(var j in i)this.setStyle(j,i[j]);return this;},setOpacity:function(i){if(c){i=Math.round(i*100);this.setStyle('filter',i>=100?'':'progid:DXImageTransform.Microsoft.Alpha(opacity='+i+')');}else this.setStyle('opacity',i);},unselectable:b.gecko?function(){this.$.style.MozUserSelect='none';this.on('dragstart',function(i){i.data.preventDefault();});}:b.webkit?function(){this.$.style.KhtmlUserSelect='none';this.on('dragstart',function(i){i.data.preventDefault();});}:function(){if(c||b.opera){var i=this.$,j,k=0;i.unselectable='on';while(j=i.all[k++])switch(j.tagName.toLowerCase()){case 'iframe':case 'textarea':case 'input':case 'select':break;default:j.unselectable='on';}}},getPositionedAncestor:function(){var i=this;while(i.getName()!='html'){if(i.getComputedStyle('position')!='static')return i;i=i.getParent();}return null;},getDocumentPosition:function(i){var D=this;var j=0,k=0,l=D.getDocument().getBody(),m=D.getDocument().$.compatMode=='BackCompat',n=D.getDocument();if(document.documentElement.getBoundingClientRect){var o=D.$.getBoundingClientRect(),p=n.$,q=p.documentElement,r=q.clientTop||l.$.clientTop||0,s=q.clientLeft||l.$.clientLeft||0,t=true;if(c){var u=n.getDocumentElement().contains(D),v=n.getBody().contains(D);t=m&&v||!m&&u;}if(t){j=o.left+(!m&&q.scrollLeft||l.$.scrollLeft);j-=s;k=o.top+(!m&&q.scrollTop||l.$.scrollTop);
-k-=r;}}else{var w=D,x=null,y;while(w&&!(w.getName()=='body'||w.getName()=='html')){j+=w.$.offsetLeft-w.$.scrollLeft;k+=w.$.offsetTop-w.$.scrollTop;if(!w.equals(D)){j+=w.$.clientLeft||0;k+=w.$.clientTop||0;}var z=x;while(z&&!z.equals(w)){j-=z.$.scrollLeft;k-=z.$.scrollTop;z=z.getParent();}x=w;w=(y=w.$.offsetParent)?new h(y):null;}}if(i){var A=D.getWindow(),B=i.getWindow();if(!A.equals(B)&&A.$.frameElement){var C=new h(A.$.frameElement).getDocumentPosition(i);j+=C.x;k+=C.y;}}if(!document.documentElement.getBoundingClientRect)if(b.gecko&&!m){j+=D.$.clientLeft?1:0;k+=D.$.clientTop?1:0;}return{x:j,y:k};},scrollIntoView:function(i){var o=this;var j=o.getWindow(),k=j.getViewPaneSize().height,l=k*-1;if(i)l+=k;else{l+=o.$.offsetHeight||0;l+=parseInt(o.getComputedStyle('marginBottom')||0,10)||0;}var m=o.getDocumentPosition();l+=m.y;l=l<0?0:l;var n=j.getScrollPosition().y;if(l>n||l<n-k)j.$.scrollTo(0,l);},setState:function(i){var j=this;switch(i){case 1:j.addClass('cke_on');j.removeClass('cke_off');j.removeClass('cke_disabled');break;case 0:j.addClass('cke_disabled');j.removeClass('cke_off');j.removeClass('cke_on');break;default:j.addClass('cke_off');j.removeClass('cke_on');j.removeClass('cke_disabled');break;}},getFrameDocument:function(){var i=this.$;try{i.contentWindow.document;}catch(j){i.src=i.src;if(c&&b.version<7)window.showModalDialog('javascript:document.write("<script>window.setTimeout(function(){window.close();},50);</script>")');}return i&&new g(i.contentWindow.document);},copyAttributes:function(i,j){var p=this;var k=p.$.attributes;j=j||{};for(var l=0;l<k.length;l++){var m=k[l],n=m.nodeName.toLowerCase(),o;if(n in j)continue;if(n=='checked'&&(o=p.getAttribute(n)))i.setAttribute(n,o);else if(m.specified||c&&m.nodeValue&&n=='value'){o=p.getAttribute(n);if(o===null)o=m.nodeValue;i.setAttribute(n,o);}}if(p.$.style.cssText!=='')i.$.style.cssText=p.$.style.cssText;},renameNode:function(i){var l=this;if(l.getName()==i)return;var j=l.getDocument(),k=new h(i,j);l.copyAttributes(k);l.moveChildren(k);l.getParent()&&l.$.parentNode.replaceChild(k.$,l.$);k.$._cke_expando=l.$._cke_expando;l.$=k.$;},getChild:function(i){var j=this.$;if(!i.slice)j=j.childNodes[i];else while(i.length>0&&j)j=j.childNodes[i.shift()];return j?new d.node(j):null;},getChildCount:function(){return this.$.childNodes.length;},disableContextMenu:function(){this.on('contextmenu',function(i){if(!i.data.getTarget().hasClass('cke_enable_context_menu'))i.data.preventDefault();});},setSize:(function(){var i={width:['border-left-width','border-right-width','padding-left','padding-right'],height:['border-top-width','border-bottom-width','padding-top','padding-bottom']};
-return function(j,k,l){if(typeof k=='number'){if(l&&!(c&&b.quirks)){var m=0;for(var n=0,o=i[j].length;n<o;n++)m+=parseInt(this.getComputedStyle(i[j][n])||0,10);k-=m;}this.setStyle(j,k+'px');}};})()});a.command=function(i,j){this.uiItems=[];this.exec=function(k){if(this.state==0)return false;if(this.editorFocus)i.focus();return j.exec.call(this,i,k)!==false;};e.extend(this,j,{modes:{wysiwyg:1},editorFocus:true,state:2});a.event.call(this);};a.command.prototype={enable:function(){var i=this;if(i.state==0)i.setState(!i.preserveState||typeof i.previousState=='undefined'?2:i.previousState);},disable:function(){this.setState(0);},setState:function(i){var j=this;if(j.state==i)return false;j.previousState=j.state;j.state=i;j.fire('state');return true;},toggleState:function(){var i=this;if(i.state==2)i.setState(1);else if(i.state==1)i.setState(2);}};a.event.implementOn(a.command.prototype,true);a.ENTER_P=1;a.ENTER_BR=2;a.ENTER_DIV=3;a.config={customConfig:'config.js',autoUpdateElement:true,baseHref:'',contentsCss:a.basePath+'contents.css',contentsLangDirection:'ui',contentsLanguage:'',language:'',defaultLanguage:'en',enterMode:1,forceEnterMode:false,shiftEnterMode:2,corePlugins:'',docType:'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',bodyId:'',bodyClass:'',fullPage:false,height:200,plugins:'about,a11yhelp,basicstyles,bidi,blockquote,button,clipboard,colorbutton,colordialog,contextmenu,dialogadvtab,div,elementspath,enterkey,entities,filebrowser,find,flash,font,format,forms,horizontalrule,htmldataprocessor,image,indent,justify,keystrokes,link,list,liststyle,maximize,newpage,pagebreak,pastefromword,pastetext,popup,preview,print,removeformat,resize,save,scayt,smiley,showblocks,showborders,sourcearea,stylescombo,table,tabletools,specialchar,tab,templates,toolbar,undo,wysiwygarea,wsc',extraPlugins:'',removePlugins:'',protectedSource:[],tabIndex:0,theme:'default',skin:'kama',width:'',baseFloatZIndex:10000};var i=a.config;a.focusManager=function(j){if(j.focusManager)return j.focusManager;this.hasFocus=false;this._={editor:j};return this;};a.focusManager.prototype={focus:function(){var k=this;if(k._.timer)clearTimeout(k._.timer);if(!k.hasFocus){if(a.currentInstance)a.currentInstance.focusManager.forceBlur();var j=k._.editor;j.container.getChild(1).addClass('cke_focus');k.hasFocus=true;j.fire('focus');}},blur:function(){var j=this;if(j._.timer)clearTimeout(j._.timer);j._.timer=setTimeout(function(){delete j._.timer;
-j.forceBlur();},100);},forceBlur:function(){if(this.hasFocus){var j=this._.editor;j.container.getChild(1).removeClass('cke_focus');this.hasFocus=false;j.fire('blur');}}};(function(){var j={};a.lang={languages:{af:1,ar:1,bg:1,bn:1,bs:1,ca:1,cs:1,cy:1,da:1,de:1,el:1,'en-au':1,'en-ca':1,'en-gb':1,en:1,eo:1,es:1,et:1,eu:1,fa:1,fi:1,fo:1,'fr-ca':1,fr:1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,is:1,it:1,ja:1,km:1,ko:1,lt:1,lv:1,mn:1,ms:1,nb:1,nl:1,no:1,pl:1,'pt-br':1,pt:1,ro:1,ru:1,sk:1,sl:1,'sr-latn':1,sr:1,sv:1,th:1,tr:1,uk:1,vi:1,'zh-cn':1,zh:1},load:function(k,l,m){if(!k||!a.lang.languages[k])k=this.detect(l,k);if(!this[k])a.scriptLoader.load(a.getUrl('lang/'+k+'.js'),function(){m(k,this[k]);},this);else m(k,this[k]);},detect:function(k,l){var m=this.languages;l=l||navigator.userLanguage||navigator.language;var n=l.toLowerCase().match(/([a-z]+)(?:-([a-z]+))?/),o=n[1],p=n[2];if(m[o+'-'+p])o=o+'-'+p;else if(!m[o])o=null;a.lang.detect=o?function(){return o;}:function(q){return q;};return o||k;}};})();a.scriptLoader=(function(){var j={},k={};return{load:function(l,m,n,o,p){var q=typeof l=='string';if(q)l=[l];if(!n)n=a;var r=l.length,s=[],t=[],u=function(z){if(m)if(q)m.call(n,z);else m.call(n,s,t);};if(r===0){u(true);return;}var v=function(z,A){(A?s:t).push(z);if(--r<=0){p&&a.document.getDocumentElement().removeStyle('cursor');u(A);}},w=function(z,A){j[z]=1;var B=k[z];delete k[z];for(var C=0;C<B.length;C++)B[C](z,A);},x=function(z){if(o!==true&&j[z]){v(z,true);return;}var A=k[z]||(k[z]=[]);A.push(v);if(A.length>1)return;var B=new h('script');B.setAttributes({type:'text/javascript',src:z});if(m)if(c)B.$.onreadystatechange=function(){if(B.$.readyState=='loaded'||B.$.readyState=='complete'){B.$.onreadystatechange=null;w(z,true);}};else{B.$.onload=function(){setTimeout(function(){w(z,true);},0);};B.$.onerror=function(){w(z,false);};}B.appendTo(a.document.getHead());};p&&a.document.getDocumentElement().setStyle('cursor','wait');for(var y=0;y<r;y++)x(l[y]);},loadCode:function(l){var m=new h('script');m.setAttribute('type','text/javascript');m.appendText(l);m.appendTo(a.document.getHead());}};})();a.resourceManager=function(j,k){var l=this;l.basePath=j;l.fileName=k;l.registered={};l.loaded={};l.externals={};l._={waitingList:{}};};a.resourceManager.prototype={add:function(j,k){if(this.registered[j])throw '[CKEDITOR.resourceManager.add] The resource name "'+j+'" is already registered.';a.fire(j+e.capitalize(this.fileName)+'Ready',this.registered[j]=k||{});},get:function(j){return this.registered[j]||null;
-},getPath:function(j){var k=this.externals[j];return a.getUrl(k&&k.dir||this.basePath+j+'/');},getFilePath:function(j){var k=this.externals[j];return a.getUrl(this.getPath(j)+(k&&typeof k.file=='string'?k.file:this.fileName+'.js'));},addExternal:function(j,k,l){j=j.split(',');for(var m=0;m<j.length;m++){var n=j[m];this.externals[n]={dir:k,file:l};}},load:function(j,k,l){if(!e.isArray(j))j=j?[j]:[];var m=this.loaded,n=this.registered,o=[],p={},q={};for(var r=0;r<j.length;r++){var s=j[r];if(!s)continue;if(!m[s]&&!n[s]){var t=this.getFilePath(s);o.push(t);if(!(t in p))p[t]=[];p[t].push(s);}else q[s]=this.get(s);}a.scriptLoader.load(o,function(u,v){if(v.length)throw '[CKEDITOR.resourceManager.load] Resource name "'+p[v[0]].join(',')+'" was not found at "'+v[0]+'".';for(var w=0;w<u.length;w++){var x=p[u[w]];for(var y=0;y<x.length;y++){var z=x[y];q[z]=this.get(z);m[z]=1;}}k.call(l,q);},this);}};a.plugins=new a.resourceManager('plugins/','plugin');var j=a.plugins;j.load=e.override(j.load,function(k){return function(l,m,n){var o={},p=function(q){k.call(this,q,function(r){e.extend(o,r);var s=[];for(var t in r){var u=r[t],v=u&&u.requires;if(v)for(var w=0;w<v.length;w++){if(!o[v[w]])s.push(v[w]);}}if(s.length)p.call(this,s);else{for(t in o){u=o[t];if(u.onLoad&&!u.onLoad._called){u.onLoad();u.onLoad._called=1;}}if(m)m.call(n||window,o);}},this);};p.call(this,l);};});j.setLang=function(k,l,m){var n=this.get(k),o=n.lang||(n.lang={});o[l]=m;};(function(){var k={},l=function(m,n){var o=function(){p.removeAllListeners();k[m]=1;n();},p=new h('img');p.on('load',o);p.on('error',o);p.setAttribute('src',m);};a.imageCacher={load:function(m,n){var o=m.length,p=function(){if(--o===0)n();};for(var q=0;q<m.length;q++){var r=m[q];if(k[r])p();else l(r,p);}}};})();a.skins=(function(){var k={},l={},m={},n=function(o,p,q,r){var s=k[p];if(!o.skin){o.skin=s;if(s.init)s.init(o);}var t=function(D){for(var E=0;E<D.length;E++)D[E]=a.getUrl(m[p]+D[E]);};function u(D,E){return D.replace(/url\s*\(([\s'"]*)(.*?)([\s"']*)\)/g,function(F,G,H,I){if(/^\/|^\w?:/.test(H))return F;else return 'url('+E+G+H+I+')';});};if(!l[p]){var v=s.preload;if(v&&v.length>0){t(v);a.imageCacher.load(v,function(){l[p]=1;n(o,p,q,r);});return;}l[p]=1;}q=s[q];var w=!q||!!q._isLoaded;if(w)r&&r();else{var x=q._pending||(q._pending=[]);x.push(r);if(x.length>1)return;var y=!q.css||!q.css.length,z=!q.js||!q.js.length,A=function(){if(y&&z){q._isLoaded=1;for(var D=0;D<x.length;D++){if(x[D])x[D]();}}};if(!y){var B=q.css;if(e.isArray(B)){t(B);
-for(var C=0;C<B.length;C++)a.document.appendStyleSheet(B[C]);}else{B=u(B,a.getUrl(m[p]));a.document.appendStyleText(B);}q.css=B;y=1;}if(!z){t(q.js);a.scriptLoader.load(q.js,function(){z=1;A();});}A();}};return{add:function(o,p){k[o]=p;p.skinPath=m[o]||(m[o]=a.getUrl('skins/'+o+'/'));},load:function(o,p,q){var r=o.skinName,s=o.skinPath;if(k[r])n(o,r,p,q);else{m[r]=s;a.scriptLoader.load(a.getUrl(s+'skin.js'),function(){n(o,r,p,q);});}}};})();a.themes=new a.resourceManager('themes/','theme');a.ui=function(k){if(k.ui)return k.ui;this._={handlers:{},items:{},editor:k};return this;};var k=a.ui;k.prototype={add:function(l,m,n){this._.items[l]={type:m,command:n.command||null,args:Array.prototype.slice.call(arguments,2)};},create:function(l){var q=this;var m=q._.items[l],n=m&&q._.handlers[m.type],o=m&&m.command&&q._.editor.getCommand(m.command),p=n&&n.create.apply(q,m.args);if(o)o.uiItems.push(p);return p;},addHandler:function(l,m){this._.handlers[l]=m;}};(function(){var l=0,m=function(){var x='editor'+ ++l;return a.instances&&a.instances[x]?m():x;},n={},o=function(x){var y=x.config.customConfig;if(!y)return false;y=a.getUrl(y);var z=n[y]||(n[y]={});if(z.fn){z.fn.call(x,x.config);if(a.getUrl(x.config.customConfig)==y||!o(x))x.fireOnce('customConfigLoaded');}else a.scriptLoader.load(y,function(){if(a.editorConfig)z.fn=a.editorConfig;else z.fn=function(){};o(x);});return true;},p=function(x,y){x.on('customConfigLoaded',function(){if(y){if(y.on)for(var z in y.on)x.on(z,y.on[z]);e.extend(x.config,y,true);delete x.config.on;}q(x);});if(y&&y.customConfig!=undefined)x.config.customConfig=y.customConfig;if(!o(x))x.fireOnce('customConfigLoaded');},q=function(x){var y=x.config.skin.split(','),z=y[0],A=a.getUrl(y[1]||'skins/'+z+'/');x.skinName=z;x.skinPath=A;x.skinClass='cke_skin_'+z;x.tabIndex=x.config.tabIndex||x.element.getAttribute('tabindex')||0;x.fireOnce('configLoaded');t(x);},r=function(x){a.lang.load(x.config.language,x.config.defaultLanguage,function(y,z){x.langCode=y;x.lang=e.prototypedCopy(z);if(b.gecko&&b.version<10900&&x.lang.dir=='rtl')x.lang.dir='ltr';var A=x.config;A.contentsLangDirection=='ui'&&(A.contentsLangDirection=x.lang.dir);s(x);});},s=function(x){var y=x.config,z=y.plugins,A=y.extraPlugins,B=y.removePlugins;if(A){var C=new RegExp('(?:^|,)(?:'+A.replace(/\s*,\s*/g,'|')+')(?=,|$)','g');z=z.replace(C,'');z+=','+A;}if(B){C=new RegExp('(?:^|,)(?:'+B.replace(/\s*,\s*/g,'|')+')(?=,|$)','g');z=z.replace(C,'');}j.load(z.split(','),function(D){var E=[],F=[],G=[];
-x.plugins=D;for(var H in D){var I=D[H],J=I.lang,K=j.getPath(H),L=null;I.path=K;if(J){L=e.indexOf(J,x.langCode)>=0?x.langCode:J[0];if(!I.lang[L])G.push(a.getUrl(K+'lang/'+L+'.js'));else{e.extend(x.lang,I.lang[L]);L=null;}}F.push(L);E.push(I);}a.scriptLoader.load(G,function(){var M=['beforeInit','init','afterInit'];for(var N=0;N<M.length;N++)for(var O=0;O<E.length;O++){var P=E[O];if(N===0&&F[O]&&P.lang)e.extend(x.lang,P.lang[F[O]]);if(P[M[N]])P[M[N]](x);}x.fire('pluginsLoaded');u(x);});});},t=function(x){a.skins.load(x,'editor',function(){r(x);});},u=function(x){var y=x.config.theme;a.themes.load(y,function(){var z=x.theme=a.themes.get(y);z.path=a.themes.getPath(y);z.build(x);if(x.config.autoUpdateElement)v(x);});},v=function(x){var y=x.element;if(x.elementMode==1&&y.is('textarea')){var z=y.$.form&&new h(y.$.form);if(z){function A(){x.updateElement();};z.on('submit',A);if(!z.$.submit.nodeName)z.$.submit=e.override(z.$.submit,function(B){return function(){x.updateElement();if(B.apply)B.apply(this,arguments);else B();};});x.on('destroy',function(){z.removeListener('submit',A);});}}};function w(){var x,y=this._.commands,z=this.mode;for(var A in y){x=y[A];x[x.startDisabled?'disable':x.modes[z]?'enable':'disable']();}};a.editor.prototype._init=function(){var z=this;var x=h.get(z._.element),y=z._.instanceConfig;delete z._.element;delete z._.instanceConfig;z._.commands={};z._.styles=[];z.element=x;z.name=x&&z.elementMode==1&&(x.getId()||x.getNameAtt())||m();if(z.name in a.instances)throw '[CKEDITOR.editor] The instance "'+z.name+'" already exists.';z.config=e.prototypedCopy(i);z.ui=new k(z);z.focusManager=new a.focusManager(z);a.fire('instanceCreated',null,z);z.on('mode',w,null,null,1);p(z,y);};})();e.extend(a.editor.prototype,{addCommand:function(l,m){return this._.commands[l]=new a.command(this,m);},addCss:function(l){this._.styles.push(l);},destroy:function(l){var r=this;if(!l)r.updateElement();if(r.mode)r._.modes[r.mode].unload(r.getThemeSpace('contents'));r.theme.destroy(r);var m,n=0,o,p,q;if(r.toolbox){m=r.toolbox.toolbars;for(;n<m.length;n++){p=m[n].items;for(o=0;o<p.length;o++){q=p[o];if(q.clickFn)e.removeFunction(q.clickFn);if(q.keyDownFn)e.removeFunction(q.keyDownFn);if(q.index)k.button._.instances[q.index]=null;}}}if(r.contextMenu)e.removeFunction(r.contextMenu._.functionId);if(r._.filebrowserFn)e.removeFunction(r._.filebrowserFn);r.fire('destroy');a.remove(r);a.fire('instanceDestroyed',null,r);},execCommand:function(l,m){var n=this.getCommand(l),o={name:l,commandData:m,command:n};
-if(n&&n.state!=0)if(this.fire('beforeCommandExec',o)!==true){o.returnValue=n.exec(o.commandData);if(!n.async&&this.fire('afterCommandExec',o)!==true)return o.returnValue;}return false;},getCommand:function(l){return this._.commands[l];},getData:function(){var n=this;n.fire('beforeGetData');var l=n._.data;if(typeof l!='string'){var m=n.element;if(m&&n.elementMode==1)l=m.is('textarea')?m.getValue():m.getHtml();else l='';}l={dataValue:l};n.fire('getData',l);return l.dataValue;},getSnapshot:function(){var l=this.fire('getSnapshot');if(typeof l!='string'){var m=this.element;if(m&&this.elementMode==1)l=m.is('textarea')?m.getValue():m.getHtml();}return l;},loadSnapshot:function(l){this.fire('loadSnapshot',l);},setData:function(l,m){if(m)this.on('dataReady',function(o){o.removeListener();m.call(o.editor);});var n={dataValue:l};this.fire('setData',n);this._.data=n.dataValue;this.fire('afterSetData',n);},insertHtml:function(l){this.fire('insertHtml',l);},insertElement:function(l){this.fire('insertElement',l);},checkDirty:function(){return this.mayBeDirty&&this._.previousValue!==this.getSnapshot();},resetDirty:function(){if(this.mayBeDirty)this._.previousValue=this.getSnapshot();},updateElement:function(){var n=this;var l=n.element;if(l&&n.elementMode==1){var m=n.getData();if(n.config.htmlEncodeOutput)m=e.htmlEncode(m);if(l.is('textarea'))l.setValue(m);else l.setHtml(m);}}});a.on('loaded',function(){var l=a.editor._pending;if(l){delete a.editor._pending;for(var m=0;m<l.length;m++)l[m]._init();}});a.htmlParser=function(){this._={htmlPartsRegex:new RegExp("<(?:(?:\\/([^>]+)>)|(?:!--([\\S|\\s]*?)-->)|(?:([^\\s>]+)\\s*((?:(?:[^\"'>]+)|(?:\"[^\"]*\")|(?:'[^']*'))*)\\/?>))",'g')};};(function(){var l=/([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,m={checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1};a.htmlParser.prototype={onTagOpen:function(){},onTagClose:function(){},onText:function(){},onCDATA:function(){},onComment:function(){},parse:function(n){var A=this;var o,p,q=0,r;while(o=A._.htmlPartsRegex.exec(n)){var s=o.index;if(s>q){var t=n.substring(q,s);if(r)r.push(t);else A.onText(t);}q=A._.htmlPartsRegex.lastIndex;if(p=o[1]){p=p.toLowerCase();if(r&&f.$cdata[p]){A.onCDATA(r.join(''));r=null;}if(!r){A.onTagClose(p);continue;}}if(r){r.push(o[0]);continue;}if(p=o[3]){p=p.toLowerCase();if(/="/.test(p))continue;var u={},v,w=o[4],x=!!(w&&w.charAt(w.length-1)=='/');if(w)while(v=l.exec(w)){var y=v[1].toLowerCase(),z=v[2]||v[3]||v[4]||'';
-if(!z&&m[y])u[y]=y;else u[y]=z;}A.onTagOpen(p,u,x);if(!r&&f.$cdata[p])r=[];continue;}if(p=o[2])A.onComment(p);}if(n.length>q)A.onText(n.substring(q,n.length));}};})();a.htmlParser.comment=function(l){this.value=l;this._={isBlockLike:false};};a.htmlParser.comment.prototype={type:8,writeHtml:function(l,m){var n=this.value;if(m){if(!(n=m.onComment(n,this)))return;if(typeof n!='string'){n.parent=this.parent;n.writeHtml(l,m);return;}}l.comment(n);}};(function(){var l=/[\t\r\n ]{2,}|[\t\r\n]/g;a.htmlParser.text=function(m){this.value=m;this._={isBlockLike:false};};a.htmlParser.text.prototype={type:3,writeHtml:function(m,n){var o=this.value;if(n&&!(o=n.onText(o,this)))return;m.text(o);}};})();(function(){a.htmlParser.cdata=function(l){this.value=l;};a.htmlParser.cdata.prototype={type:3,writeHtml:function(l){l.write(this.value);}};})();a.htmlParser.fragment=function(){this.children=[];this.parent=null;this._={isBlockLike:true,hasInlineStarted:false};};(function(){var l={colgroup:1,dd:1,dt:1,li:1,option:1,p:1,td:1,tfoot:1,th:1,thead:1,tr:1},m=e.extend({table:1,ul:1,ol:1,dl:1},f.table,f.ul,f.ol,f.dl),n=f.$list,o=f.$listItem;a.htmlParser.fragment.fromHtml=function(p,q){var r=new a.htmlParser(),s=[],t=new a.htmlParser.fragment(),u=[],v=[],w=t,x=false,y;function z(E){var F;if(u.length>0)for(var G=0;G<u.length;G++){var H=u[G],I=H.name,J=f[I],K=w.name&&f[w.name];if((!K||K[I])&&(!E||!J||J[E]||!f[E])){if(!F){A();F=1;}H=H.clone();H.parent=w;w=H;u.splice(G,1);G--;}}};function A(E){while(v.length-(E||0)>0)w.add(v.shift());};function B(E,F,G){F=F||w||t;if(q&&!F.type){var H,I;if(E.attributes&&(I=E.attributes._cke_real_element_type))H=I;else H=E.name;if(H&&!(H in f.$body)&&!(H in f.$nonBodyContent)){var J=w;w=F;r.onTagOpen(q,{});F=w;if(G)w=J;}}if(E._.isBlockLike&&E.name!='pre'){var K=E.children.length,L=E.children[K-1],M;if(L&&L.type==3)if(!(M=e.rtrim(L.value)))E.children.length=K-1;else L.value=M;}F.add(E);if(E.returnPoint){w=E.returnPoint;delete E.returnPoint;}};r.onTagOpen=function(E,F,G){var H=new a.htmlParser.element(E,F);if(H.isUnknown&&G)H.isEmpty=true;if(f.$removeEmpty[E]){u.push(H);return;}else if(E=='pre')x=true;else if(E=='br'&&x){w.add(new a.htmlParser.text('\n'));return;}if(E=='br'){v.push(H);return;}var I=w.name,J=I&&(f[I]||(w._.isBlockLike?f.div:f.span));if(J&&!H.isUnknown&&!w.isUnknown&&!J[E]){var K=false,L;if(E in n&&I in n){var M=w.children,N=M[M.length-1];if(!(N&&N.name in o))B(N=new a.htmlParser.element('li'),w);y=w,L=N;}else if(E==I)B(w,w.parent);else{if(m[I]){if(!y)y=w;
-}else{B(w,w.parent,true);if(!l[I])u.unshift(w);}K=true;}if(L)w=L;else w=w.returnPoint||w.parent;if(K){r.onTagOpen.apply(this,arguments);return;}}z(E);A();H.parent=w;H.returnPoint=y;y=0;if(H.isEmpty)B(H);else w=H;};r.onTagClose=function(E){for(var F=u.length-1;F>=0;F--){if(E==u[F].name){u.splice(F,1);return;}}var G=[],H=[],I=w;while(I.type&&I.name!=E){if(!I._.isBlockLike)H.unshift(I);G.push(I);I=I.parent;}if(I.type){for(F=0;F<G.length;F++){var J=G[F];B(J,J.parent);}w=I;if(w.name=='pre')x=false;if(I._.isBlockLike)A();B(I,I.parent);if(I==w)w=w.parent;u=u.concat(H);}if(E=='body')q=false;};r.onText=function(E){if(!w._.hasInlineStarted&&!x){E=e.ltrim(E);if(E.length===0)return;}A();z();if(q&&(!w.type||w.name=='body')&&e.trim(E))this.onTagOpen(q,{});if(!x)E=E.replace(/[\t\r\n ]{2,}|[\t\r\n]/g,' ');w.add(new a.htmlParser.text(E));};r.onCDATA=function(E){w.add(new a.htmlParser.cdata(E));};r.onComment=function(E){w.add(new a.htmlParser.comment(E));};r.parse(p);A(!c&&1);while(w.type){var C=w.parent,D=w;if(q&&(!C.type||C.name=='body')&&!f.$body[D.name]){w=C;r.onTagOpen(q,{});C=w;}C.add(D);w=C;}return t;};a.htmlParser.fragment.prototype={add:function(p){var s=this;var q=s.children.length,r=q>0&&s.children[q-1]||null;if(r){if(p._.isBlockLike&&r.type==3){r.value=e.rtrim(r.value);if(r.value.length===0){s.children.pop();s.add(p);return;}}r.next=p;}p.previous=r;p.parent=s;s.children.push(p);s._.hasInlineStarted=p.type==3||p.type==1&&!p._.isBlockLike;},writeHtml:function(p,q){var r;this.filterChildren=function(){var s=new a.htmlParser.basicWriter();this.writeChildrenHtml.call(this,s,q,true);var t=s.getHtml();this.children=new a.htmlParser.fragment.fromHtml(t).children;r=1;};!this.name&&q&&q.onFragment(this);this.writeChildrenHtml(p,r?null:q);},writeChildrenHtml:function(p,q){for(var r=0;r<this.children.length;r++)this.children[r].writeHtml(p,q);}};})();a.htmlParser.element=function(l,m){var r=this;r.name=l;r.attributes=m||(m={});r.children=[];var n=m._cke_real_element_type||l,o=f,p=!!(o.$nonBodyContent[n]||o.$block[n]||o.$listItem[n]||o.$tableContent[n]||o.$nonEditable[n]||n=='br'),q=!!o.$empty[l];r.isEmpty=q;r.isUnknown=!o[l];r._={isBlockLike:p,hasInlineStarted:q||!p};};(function(){var l=function(m,n){m=m[0];n=n[0];return m<n?-1:m>n?1:0;};a.htmlParser.element.prototype={type:1,add:a.htmlParser.fragment.prototype.add,clone:function(){return new a.htmlParser.element(this.name,this.attributes);},writeHtml:function(m,n){var o=this.attributes,p=this,q=p.name,r,s,t,u;p.filterChildren=function(){if(!u){var z=new a.htmlParser.basicWriter();
-a.htmlParser.fragment.prototype.writeChildrenHtml.call(p,z,n);p.children=new a.htmlParser.fragment.fromHtml(z.getHtml()).children;u=1;}};if(n){for(;;){if(!(q=n.onElementName(q)))return;p.name=q;if(!(p=n.onElement(p)))return;p.parent=this.parent;if(p.name==q)break;if(p.type!=1){p.writeHtml(m,n);return;}q=p.name;if(!q){this.writeChildrenHtml.call(p,m,u?null:n);return;}}o=p.attributes;}m.openTag(q,o);var v=[];for(var w=0;w<2;w++)for(r in o){s=r;t=o[r];if(w==1)v.push([r,t]);else if(n){for(;;){if(!(s=n.onAttributeName(r))){delete o[r];break;}else if(s!=r){delete o[r];r=s;continue;}else break;}if(s)if((t=n.onAttribute(p,s,t))===false)delete o[s];else o[s]=t;}}if(m.sortAttributes)v.sort(l);var x=v.length;for(w=0;w<x;w++){var y=v[w];m.attribute(y[0],y[1]);}m.openTagClose(q,p.isEmpty);if(!p.isEmpty){this.writeChildrenHtml.call(p,m,u?null:n);m.closeTag(q);}},writeChildrenHtml:function(m,n){a.htmlParser.fragment.prototype.writeChildrenHtml.apply(this,arguments);}};})();(function(){a.htmlParser.filter=e.createClass({$:function(q){this._={elementNames:[],attributeNames:[],elements:{$length:0},attributes:{$length:0}};if(q)this.addRules(q,10);},proto:{addRules:function(q,r){var s=this;if(typeof r!='number')r=10;m(s._.elementNames,q.elementNames,r);m(s._.attributeNames,q.attributeNames,r);n(s._.elements,q.elements,r);n(s._.attributes,q.attributes,r);s._.text=o(s._.text,q.text,r)||s._.text;s._.comment=o(s._.comment,q.comment,r)||s._.comment;s._.root=o(s._.root,q.root,r)||s._.root;},onElementName:function(q){return l(q,this._.elementNames);},onAttributeName:function(q){return l(q,this._.attributeNames);},onText:function(q){var r=this._.text;return r?r.filter(q):q;},onComment:function(q,r){var s=this._.comment;return s?s.filter(q,r):q;},onFragment:function(q){var r=this._.root;return r?r.filter(q):q;},onElement:function(q){var v=this;var r=[v._.elements['^'],v._.elements[q.name],v._.elements.$],s,t;for(var u=0;u<3;u++){s=r[u];if(s){t=s.filter(q,v);if(t===false)return null;if(t&&t!=q)return v.onNode(t);if(q.parent&&!q.name)break;}}return q;},onNode:function(q){var r=q.type;return r==1?this.onElement(q):r==3?new a.htmlParser.text(this.onText(q.value)):r==8?new a.htmlParser.comment(this.onComment(q.value)):null;},onAttribute:function(q,r,s){var t=this._.attributes[r];if(t){var u=t.filter(s,q,this);if(u===false)return false;if(typeof u!='undefined')return u;}return s;}}});function l(q,r){for(var s=0;q&&s<r.length;s++){var t=r[s];q=q.replace(t[0],t[1]);}return q;};function m(q,r,s){if(typeof r=='function')r=[r];
-var t,u,v=q.length,w=r&&r.length;if(w){for(t=0;t<v&&q[t].pri<s;t++){}for(u=w-1;u>=0;u--){var x=r[u];if(x){x.pri=s;q.splice(t,0,x);}}}};function n(q,r,s){if(r)for(var t in r){var u=q[t];q[t]=o(u,r[t],s);if(!u)q.$length++;}};function o(q,r,s){if(r){r.pri=s;if(q){if(!q.splice){if(q.pri>s)q=[r,q];else q=[q,r];q.filter=p;}else m(q,r,s);return q;}else{r.filter=r;return r;}}};function p(q){var r=q.type||q instanceof a.htmlParser.fragment;for(var s=0;s<this.length;s++){if(r)var t=q.type,u=q.name;var v=this[s],w=v.apply(window,arguments);if(w===false)return w;if(r){if(w&&(w.name!=u||w.type!=t))return w;}else if(typeof w!='string')return w;w!=undefined&&(q=w);}return q;};})();a.htmlParser.basicWriter=e.createClass({$:function(){this._={output:[]};},proto:{openTag:function(l,m){this._.output.push('<',l);},openTagClose:function(l,m){if(m)this._.output.push(' />');else this._.output.push('>');},attribute:function(l,m){if(typeof m=='string')m=e.htmlEncodeAttr(m);this._.output.push(' ',l,'="',m,'"');},closeTag:function(l){this._.output.push('</',l,'>');},text:function(l){this._.output.push(l);},comment:function(l){this._.output.push('<!--',l,'-->');},write:function(l){this._.output.push(l);},reset:function(){this._.output=[];this._.indent=false;},getHtml:function(l){var m=this._.output.join('');if(l)this.reset();return m;}}});delete a.loadFullCore;a.instances={};a.document=new g(document);a.add=function(l){a.instances[l.name]=l;l.on('focus',function(){if(a.currentInstance!=l){a.currentInstance=l;a.fire('currentInstance');}});l.on('blur',function(){if(a.currentInstance==l){a.currentInstance=null;a.fire('currentInstance');}});};a.remove=function(l){delete a.instances[l.name];};a.on('instanceDestroyed',function(){if(e.isEmpty(this.instances))a.fire('reset');});a.TRISTATE_ON=1;a.TRISTATE_OFF=2;a.TRISTATE_DISABLED=0;d.comment=e.createClass({base:d.node,$:function(l,m){if(typeof l=='string')l=(m?m.$:document).createComment(l);this.base(l);},proto:{type:8,getOuterHtml:function(){return '<!--'+this.$.nodeValue+'-->';}}});(function(){var l={address:1,blockquote:1,dl:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,li:1,dt:1,dd:1},m={body:1,div:1,table:1,tbody:1,tr:1,td:1,th:1,caption:1,form:1},n=function(o){var p=o.getChildren();for(var q=0,r=p.count();q<r;q++){var s=p.getItem(q);if(s.type==1&&f.$block[s.getName()])return true;}return false;};d.elementPath=function(o){var u=this;var p=null,q=null,r=[],s=o;while(s){if(s.type==1){if(!u.lastElement)u.lastElement=s;var t=s.getName();if(c&&s.$.scopeName!='HTML')t=s.$.scopeName.toLowerCase()+':'+t;
-if(!q){if(!p&&l[t])p=s;if(m[t])if(!p&&t=='div'&&!n(s))p=s;else q=s;}r.push(s);if(t=='body')break;}s=s.getParent();}u.block=p;u.blockLimit=q;u.elements=r;};})();d.elementPath.prototype={compare:function(l){var m=this.elements,n=l&&l.elements;if(!n||m.length!=n.length)return false;for(var o=0;o<m.length;o++){if(!m[o].equals(n[o]))return false;}return true;},contains:function(l){var m=this.elements;for(var n=0;n<m.length;n++){if(m[n].getName() in l)return m[n];}return null;}};d.text=function(l,m){if(typeof l=='string')l=(m?m.$:document).createTextNode(l);this.$=l;};d.text.prototype=new d.node();e.extend(d.text.prototype,{type:3,getLength:function(){return this.$.nodeValue.length;},getText:function(){return this.$.nodeValue;},split:function(l){var q=this;if(c&&l==q.getLength()){var m=q.getDocument().createText('');m.insertAfter(q);return m;}var n=q.getDocument(),o=new d.text(q.$.splitText(l),n);if(b.ie8){var p=new d.text('',n);p.insertAfter(o);p.remove();}return o;},substring:function(l,m){if(typeof m!='number')return this.$.nodeValue.substr(l);else return this.$.nodeValue.substring(l,m);}});d.documentFragment=function(l){l=l||a.document;this.$=l.$.createDocumentFragment();};e.extend(d.documentFragment.prototype,h.prototype,{type:11,insertAfterNode:function(l){l=l.$;l.parentNode.insertBefore(this.$,l.nextSibling);}},true,{append:1,appendBogus:1,getFirst:1,getLast:1,appendTo:1,moveChildren:1,insertBefore:1,insertAfterNode:1,replace:1,trim:1,type:1,ltrim:1,rtrim:1,getDocument:1,getChildCount:1,getChild:1,getChildren:1});(function(){function l(t,u){if(this._.end)return null;var v,w=this.range,x,y=this.guard,z=this.type,A=t?'getPreviousSourceNode':'getNextSourceNode';if(!this._.start){this._.start=1;w.trim();if(w.collapsed){this.end();return null;}}if(!t&&!this._.guardLTR){var B=w.endContainer,C=B.getChild(w.endOffset);this._.guardLTR=function(G,H){return(!H||!B.equals(G))&&(!C||!G.equals(C))&&(G.type!=1||!H||G.getName()!='body');};}if(t&&!this._.guardRTL){var D=w.startContainer,E=w.startOffset>0&&D.getChild(w.startOffset-1);this._.guardRTL=function(G,H){return(!H||!D.equals(G))&&(!E||!G.equals(E))&&(G.type!=1||!H||G.getName()!='body');};}var F=t?this._.guardRTL:this._.guardLTR;if(y)x=function(G,H){if(F(G,H)===false)return false;return y(G,H);};else x=F;if(this.current)v=this.current[A](false,z,x);else if(t){v=w.endContainer;if(w.endOffset>0){v=v.getChild(w.endOffset-1);if(x(v)===false)v=null;}else v=x(v,true)===false?null:v.getPreviousSourceNode(true,z,x);}else{v=w.startContainer;
-v=v.getChild(w.startOffset);if(v){if(x(v)===false)v=null;}else v=x(w.startContainer,true)===false?null:w.startContainer.getNextSourceNode(true,z,x);}while(v&&!this._.end){this.current=v;if(!this.evaluator||this.evaluator(v)!==false){if(!u)return v;}else if(u&&this.evaluator)return false;v=v[A](false,z,x);}this.end();return this.current=null;};function m(t){var u,v=null;while(u=l.call(this,t))v=u;return v;};d.walker=e.createClass({$:function(t){this.range=t;this._={};},proto:{end:function(){this._.end=1;},next:function(){return l.call(this);},previous:function(){return l.call(this,true);},checkForward:function(){return l.call(this,false,true)!==false;},checkBackward:function(){return l.call(this,true,true)!==false;},lastForward:function(){return m.call(this);},lastBackward:function(){return m.call(this,true);},reset:function(){delete this.current;this._={};}}});var n={block:1,'list-item':1,table:1,'table-row-group':1,'table-header-group':1,'table-footer-group':1,'table-row':1,'table-column-group':1,'table-column':1,'table-cell':1,'table-caption':1},o={hr:1};h.prototype.isBlockBoundary=function(t){var u=e.extend({},o,t||{});return n[this.getComputedStyle('display')]||u[this.getName()];};d.walker.blockBoundary=function(t){return function(u,v){return!(u.type==1&&u.isBlockBoundary(t));};};d.walker.listItemBoundary=function(){return this.blockBoundary({br:1});};d.walker.bookmark=function(t,u){function v(w){return w&&w.getName&&w.getName()=='span'&&w.hasAttribute('_cke_bookmark');};return function(w){var x,y;x=w&&!w.getName&&(y=w.getParent())&&v(y);x=t?x:x||v(w);return u^x;};};d.walker.whitespaces=function(t){return function(u){var v=u&&u.type==3&&!e.trim(u.getText());return t^v;};};d.walker.invisible=function(t){var u=d.walker.whitespaces();return function(v){var w=u(v)||v.is&&!v.$.offsetHeight;return t^w;};};var p=/^[\t\r\n ]*(?:&nbsp;|\xa0)$/,q=d.walker.whitespaces(true),r=d.walker.bookmark(false,true),s=function(t){return r(t)&&q(t);};h.prototype.getBogus=function(){var t=this.getLast(s);if(t&&(!c?t.is&&t.is('br'):t.getText&&p.test(t.getText())))return t;return false;};})();d.range=function(l){var m=this;m.startContainer=null;m.startOffset=null;m.endContainer=null;m.endOffset=null;m.collapsed=true;m.document=l;};(function(){var l=function(t){t.collapsed=t.startContainer&&t.endContainer&&t.startContainer.equals(t.endContainer)&&t.startOffset==t.endOffset;},m=function(t,u,v){t.optimizeBookmark();var w=t.startContainer,x=t.endContainer,y=t.startOffset,z=t.endOffset,A,B;
-if(x.type==3)x=x.split(z);else if(x.getChildCount()>0)if(z>=x.getChildCount()){x=x.append(t.document.createText(''));B=true;}else x=x.getChild(z);if(w.type==3){w.split(y);if(w.equals(x))x=w.getNext();}else if(!y){w=w.getFirst().insertBeforeMe(t.document.createText(''));A=true;}else if(y>=w.getChildCount()){w=w.append(t.document.createText(''));A=true;}else w=w.getChild(y).getPrevious();var C=w.getParents(),D=x.getParents(),E,F,G;for(E=0;E<C.length;E++){F=C[E];G=D[E];if(!F.equals(G))break;}var H=v,I,J,K,L;for(var M=E;M<C.length;M++){I=C[M];if(H&&!I.equals(w))J=H.append(I.clone());K=I.getNext();while(K){if(K.equals(D[M])||K.equals(x))break;L=K.getNext();if(u==2)H.append(K.clone(true));else{K.remove();if(u==1)H.append(K);}K=L;}if(H)H=J;}H=v;for(var N=E;N<D.length;N++){I=D[N];if(u>0&&!I.equals(x))J=H.append(I.clone());if(!C[N]||I.$.parentNode!=C[N].$.parentNode){K=I.getPrevious();while(K){if(K.equals(C[N])||K.equals(w))break;L=K.getPrevious();if(u==2)H.$.insertBefore(K.$.cloneNode(true),H.$.firstChild);else{K.remove();if(u==1)H.$.insertBefore(K.$,H.$.firstChild);}K=L;}}if(H)H=J;}if(u==2){var O=t.startContainer;if(O.type==3){O.$.data+=O.$.nextSibling.data;O.$.parentNode.removeChild(O.$.nextSibling);}var P=t.endContainer;if(P.type==3&&P.$.nextSibling){P.$.data+=P.$.nextSibling.data;P.$.parentNode.removeChild(P.$.nextSibling);}}else{if(F&&G&&(w.$.parentNode!=F.$.parentNode||x.$.parentNode!=G.$.parentNode)){var Q=G.getIndex();if(A&&G.$.parentNode==w.$.parentNode)Q--;t.setStart(G.getParent(),Q);}t.collapse(true);}if(A)w.remove();if(B&&x.$.parentNode)x.remove();},n={abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1};function o(t){var u=false,v=d.walker.bookmark(true);return function(w){if(v(w))return true;if(w.type==3){if(e.trim(w.getText()).length)return false;}else if(w.type==1)if(!n[w.getName()])if(!t&&!c&&w.getName()=='br'&&!u)u=true;else return false;return true;};};function p(t){return t.type!=3&&t.getName() in f.$removeEmpty||!e.trim(t.getText())||t.getParent().hasAttribute('_cke_bookmark');};var q=new d.walker.whitespaces(),r=new d.walker.bookmark();function s(t){return!q(t)&&!r(t);};d.range.prototype={clone:function(){var u=this;var t=new d.range(u.document);t.startContainer=u.startContainer;t.startOffset=u.startOffset;t.endContainer=u.endContainer;t.endOffset=u.endOffset;t.collapsed=u.collapsed;return t;},collapse:function(t){var u=this;if(t){u.endContainer=u.startContainer;
-u.endOffset=u.startOffset;}else{u.startContainer=u.endContainer;u.startOffset=u.endOffset;}u.collapsed=true;},cloneContents:function(){var t=new d.documentFragment(this.document);if(!this.collapsed)m(this,2,t);return t;},deleteContents:function(){if(this.collapsed)return;m(this,0);},extractContents:function(){var t=new d.documentFragment(this.document);if(!this.collapsed)m(this,1,t);return t;},createBookmark:function(t){var z=this;var u,v,w,x,y=z.collapsed;u=z.document.createElement('span');u.setAttribute('_cke_bookmark',1);u.setStyle('display','none');u.setHtml('&nbsp;');if(t){w='cke_bm_'+e.getNextNumber();u.setAttribute('id',w+'S');}if(!y){v=u.clone();v.setHtml('&nbsp;');if(t)v.setAttribute('id',w+'E');x=z.clone();x.collapse();x.insertNode(v);}x=z.clone();x.collapse(true);x.insertNode(u);if(v){z.setStartAfter(u);z.setEndBefore(v);}else z.moveToPosition(u,4);return{startNode:t?w+'S':u,endNode:t?w+'E':v,serializable:t,collapsed:y};},createBookmark2:function(t){var B=this;var u=B.startContainer,v=B.endContainer,w=B.startOffset,x=B.endOffset,y=B.collapsed,z,A;if(!u||!v)return{start:0,end:0};if(t){if(u.type==1){z=u.getChild(w);if(z&&z.type==3&&w>0&&z.getPrevious().type==3){u=z;w=0;}}while(u.type==3&&(A=u.getPrevious())&&A.type==3){u=A;w+=A.getLength();}if(!y){if(v.type==1){z=v.getChild(x);if(z&&z.type==3&&x>0&&z.getPrevious().type==3){v=z;x=0;}}while(v.type==3&&(A=v.getPrevious())&&A.type==3){v=A;x+=A.getLength();}}}return{start:u.getAddress(t),end:y?null:v.getAddress(t),startOffset:w,endOffset:x,normalized:t,collapsed:y,is2:true};},moveToBookmark:function(t){var B=this;if(t.is2){var u=B.document.getByAddress(t.start,t.normalized),v=t.startOffset,w=t.end&&B.document.getByAddress(t.end,t.normalized),x=t.endOffset;B.setStart(u,v);if(w)B.setEnd(w,x);else B.collapse(true);}else{var y=t.serializable,z=y?B.document.getById(t.startNode):t.startNode,A=y?B.document.getById(t.endNode):t.endNode;B.setStartBefore(z);z.remove();if(A){B.setEndBefore(A);A.remove();}else B.collapse(true);}},getBoundaryNodes:function(){var y=this;var t=y.startContainer,u=y.endContainer,v=y.startOffset,w=y.endOffset,x;if(t.type==1){x=t.getChildCount();if(x>v)t=t.getChild(v);else if(x<1)t=t.getPreviousSourceNode();else{t=t.$;while(t.lastChild)t=t.lastChild;t=new d.node(t);t=t.getNextSourceNode()||t;}}if(u.type==1){x=u.getChildCount();if(x>w)u=u.getChild(w).getPreviousSourceNode(true);else if(x<1)u=u.getPreviousSourceNode();else{u=u.$;while(u.lastChild)u=u.lastChild;u=new d.node(u);}}if(t.getPosition(u)&2)t=u;
-return{startNode:t,endNode:u};},getCommonAncestor:function(t,u){var y=this;var v=y.startContainer,w=y.endContainer,x;if(v.equals(w)){if(t&&v.type==1&&y.startOffset==y.endOffset-1)x=v.getChild(y.startOffset);else x=v;}else x=v.getCommonAncestor(w);return u&&!x.is?x.getParent():x;},optimize:function(){var v=this;var t=v.startContainer,u=v.startOffset;if(t.type!=1)if(!u)v.setStartBefore(t);else if(u>=t.getLength())v.setStartAfter(t);t=v.endContainer;u=v.endOffset;if(t.type!=1)if(!u)v.setEndBefore(t);else if(u>=t.getLength())v.setEndAfter(t);},optimizeBookmark:function(){var v=this;var t=v.startContainer,u=v.endContainer;if(t.is&&t.is('span')&&t.hasAttribute('_cke_bookmark'))v.setStartAt(t,3);if(u&&u.is&&u.is('span')&&u.hasAttribute('_cke_bookmark'))v.setEndAt(u,4);},trim:function(t,u){var B=this;var v=B.startContainer,w=B.startOffset,x=B.collapsed;if((!t||x)&&v&&v.type==3){if(!w){w=v.getIndex();v=v.getParent();}else if(w>=v.getLength()){w=v.getIndex()+1;v=v.getParent();}else{var y=v.split(w);w=v.getIndex()+1;v=v.getParent();if(B.startContainer.equals(B.endContainer))B.setEnd(y,B.endOffset-B.startOffset);else if(v.equals(B.endContainer))B.endOffset+=1;}B.setStart(v,w);if(x){B.collapse(true);return;}}var z=B.endContainer,A=B.endOffset;if(!(u||x)&&z&&z.type==3){if(!A){A=z.getIndex();z=z.getParent();}else if(A>=z.getLength()){A=z.getIndex()+1;z=z.getParent();}else{z.split(A);A=z.getIndex()+1;z=z.getParent();}B.setEnd(z,A);}},enlarge:function(t){switch(t){case 1:if(this.collapsed)return;var u=this.getCommonAncestor(),v=this.document.getBody(),w,x,y,z,A,B=false,C,D,E=this.startContainer,F=this.startOffset;if(E.type==3){if(F){E=!e.trim(E.substring(0,F)).length&&E;B=!!E;}if(E)if(!(z=E.getPrevious()))y=E.getParent();}else{if(F)z=E.getChild(F-1)||E.getLast();if(!z)y=E;}while(y||z){if(y&&!z){if(!A&&y.equals(u))A=true;if(!v.contains(y))break;if(!B||y.getComputedStyle('display')!='inline'){B=false;if(A)w=y;else this.setStartBefore(y);}z=y.getPrevious();}while(z){C=false;if(z.type==3){D=z.getText();if(/[^\s\ufeff]/.test(D))z=null;C=/[\s\ufeff]$/.test(D);}else if(z.$.offsetWidth>0&&!z.getAttribute('_cke_bookmark'))if(B&&f.$removeEmpty[z.getName()]){D=z.getText();if(/[^\s\ufeff]/.test(D))z=null;else{var G=z.$.all||z.$.getElementsByTagName('*');for(var H=0,I;I=G[H++];){if(!f.$removeEmpty[I.nodeName.toLowerCase()]){z=null;break;}}}if(z)C=!!D.length;}else z=null;if(C)if(B){if(A)w=y;else if(y)this.setStartBefore(y);}else B=true;if(z){var J=z.getPrevious();if(!y&&!J){y=z;z=null;break;
-}z=J;}else y=null;}if(y)y=y.getParent();}E=this.endContainer;F=this.endOffset;y=z=null;A=B=false;if(E.type==3){E=!e.trim(E.substring(F)).length&&E;B=!(E&&E.getLength());if(E)if(!(z=E.getNext()))y=E.getParent();}else{z=E.getChild(F);if(!z)y=E;}while(y||z){if(y&&!z){if(!A&&y.equals(u))A=true;if(!v.contains(y))break;if(!B||y.getComputedStyle('display')!='inline'){B=false;if(A)x=y;else if(y)this.setEndAfter(y);}z=y.getNext();}while(z){C=false;if(z.type==3){D=z.getText();if(/[^\s\ufeff]/.test(D))z=null;C=/^[\s\ufeff]/.test(D);}else if(z.$.offsetWidth>0&&!z.getAttribute('_cke_bookmark'))if(B&&f.$removeEmpty[z.getName()]){D=z.getText();if(/[^\s\ufeff]/.test(D))z=null;else{G=z.$.all||z.$.getElementsByTagName('*');for(H=0;I=G[H++];){if(!f.$removeEmpty[I.nodeName.toLowerCase()]){z=null;break;}}}if(z)C=!!D.length;}else z=null;if(C)if(B)if(A)x=y;else this.setEndAfter(y);if(z){J=z.getNext();if(!y&&!J){y=z;z=null;break;}z=J;}else y=null;}if(y)y=y.getParent();}if(w&&x){u=w.contains(x)?x:w;this.setStartBefore(u);this.setEndAfter(u);}break;case 2:case 3:var K=new d.range(this.document);v=this.document.getBody();K.setStartAt(v,1);K.setEnd(this.startContainer,this.startOffset);var L=new d.walker(K),M,N,O=d.walker.blockBoundary(t==3?{br:1}:null),P=function(R){var S=O(R);if(!S)M=R;return S;},Q=function(R){var S=P(R);if(!S&&R.is&&R.is('br'))N=R;return S;};L.guard=P;y=L.lastBackward();M=M||v;this.setStartAt(M,!M.is('br')&&(!y&&this.checkStartOfBlock()||y&&M.contains(y))?1:4);K=this.clone();K.collapse();K.setEndAt(v,2);L=new d.walker(K);L.guard=t==3?Q:P;M=null;y=L.lastForward();M=M||v;this.setEndAt(M,!y&&this.checkEndOfBlock()||y&&M.contains(y)?2:3);if(N)this.setEndAfter(N);}},shrink:function(t,u){if(!this.collapsed){t=t||2;var v=this.clone(),w=this.startContainer,x=this.endContainer,y=this.startOffset,z=this.endOffset,A=this.collapsed,B=1,C=1;if(w&&w.type==3)if(!y)v.setStartBefore(w);else if(y>=w.getLength())v.setStartAfter(w);else{v.setStartBefore(w);B=0;}if(x&&x.type==3)if(!z)v.setEndBefore(x);else if(z>=x.getLength())v.setEndAfter(x);else{v.setEndAfter(x);C=0;}var D=new d.walker(v);D.evaluator=function(H){return H.type==(t==1?1:3);};var E;D.guard=function(H,I){if(t==1&&H.type==3)return false;if(I&&H.equals(E))return false;if(!I&&H.type==1)E=H;return true;};if(B){var F=D[t==1?'lastForward':'next']();F&&this.setStartAt(F,u?1:3);}if(C){D.reset();var G=D[t==1?'lastBackward':'previous']();G&&this.setEndAt(G,u?2:4);}return!!(B||C);}},insertNode:function(t){var x=this;x.optimizeBookmark();
-x.trim(false,true);var u=x.startContainer,v=x.startOffset,w=u.getChild(v);if(w)t.insertBefore(w);else u.append(t);if(t.getParent().equals(x.endContainer))x.endOffset++;x.setStartBefore(t);},moveToPosition:function(t,u){this.setStartAt(t,u);this.collapse(true);},selectNodeContents:function(t){this.setStart(t,0);this.setEnd(t,t.type==3?t.getLength():t.getChildCount());},setStart:function(t,u){var v=this;if(t.type==1&&f.$empty[t.getName()])t=t.getParent(),u=t.getIndex();v.startContainer=t;v.startOffset=u;if(!v.endContainer){v.endContainer=t;v.endOffset=u;}l(v);},setEnd:function(t,u){var v=this;if(t.type==1&&f.$empty[t.getName()])t=t.getParent(),u=t.getIndex()+1;v.endContainer=t;v.endOffset=u;if(!v.startContainer){v.startContainer=t;v.startOffset=u;}l(v);},setStartAfter:function(t){this.setStart(t.getParent(),t.getIndex()+1);},setStartBefore:function(t){this.setStart(t.getParent(),t.getIndex());},setEndAfter:function(t){this.setEnd(t.getParent(),t.getIndex()+1);},setEndBefore:function(t){this.setEnd(t.getParent(),t.getIndex());},setStartAt:function(t,u){var v=this;switch(u){case 1:v.setStart(t,0);break;case 2:if(t.type==3)v.setStart(t,t.getLength());else v.setStart(t,t.getChildCount());break;case 3:v.setStartBefore(t);break;case 4:v.setStartAfter(t);}l(v);},setEndAt:function(t,u){var v=this;switch(u){case 1:v.setEnd(t,0);break;case 2:if(t.type==3)v.setEnd(t,t.getLength());else v.setEnd(t,t.getChildCount());break;case 3:v.setEndBefore(t);break;case 4:v.setEndAfter(t);}l(v);},fixBlock:function(t,u){var x=this;var v=x.createBookmark(),w=x.document.createElement(u);x.collapse(t);x.enlarge(2);x.extractContents().appendTo(w);w.trim();if(!c)w.appendBogus();x.insertNode(w);x.moveToBookmark(v);return w;},splitBlock:function(t){var D=this;var u=new d.elementPath(D.startContainer),v=new d.elementPath(D.endContainer),w=u.blockLimit,x=v.blockLimit,y=u.block,z=v.block,A=null;if(!w.equals(x))return null;if(t!='br'){if(!y){y=D.fixBlock(true,t);z=new d.elementPath(D.endContainer).block;}if(!z)z=D.fixBlock(false,t);}var B=y&&D.checkStartOfBlock(),C=z&&D.checkEndOfBlock();D.deleteContents();if(y&&y.equals(z))if(C){A=new d.elementPath(D.startContainer);D.moveToPosition(z,4);z=null;}else if(B){A=new d.elementPath(D.startContainer);D.moveToPosition(y,3);y=null;}else{z=D.splitElement(y);if(!c&&!y.is('ul','ol'))y.appendBogus();}return{previousBlock:y,nextBlock:z,wasStartOfBlock:B,wasEndOfBlock:C,elementPath:A};},splitElement:function(t){var w=this;if(!w.collapsed)return null;w.setEndAt(t,2);
-var u=w.extractContents(),v=t.clone(false);u.appendTo(v);v.insertAfter(t);w.moveToPosition(t,4);return v;},checkBoundaryOfElement:function(t,u){var v=u==1,w=this.clone();w.collapse(v);w[v?'setStartAt':'setEndAt'](t,v?1:2);var x=new d.walker(w);x.evaluator=p;return x[v?'checkBackward':'checkForward']();},checkStartOfBlock:function(){var z=this;var t=z.startContainer,u=z.startOffset;if(u&&t.type==3){var v=e.ltrim(t.substring(0,u));if(v.length)return false;}z.trim();var w=new d.elementPath(z.startContainer),x=z.clone();x.collapse(true);x.setStartAt(w.block||w.blockLimit,1);var y=new d.walker(x);y.evaluator=o(true);return y.checkBackward();},checkEndOfBlock:function(){var z=this;var t=z.endContainer,u=z.endOffset;if(t.type==3){var v=e.rtrim(t.substring(u));if(v.length)return false;}z.trim();var w=new d.elementPath(z.endContainer),x=z.clone();x.collapse(false);x.setEndAt(w.block||w.blockLimit,2);var y=new d.walker(x);y.evaluator=o(false);return y.checkForward();},moveToElementEditablePosition:function(t,u){var v;if(f.$empty[t.getName()])return false;while(t&&t.type==1){v=t.isEditable();if(v)this.moveToPosition(t,u?2:1);else if(f.$inline[t.getName()]){this.moveToPosition(t,u?4:3);return true;}if(f.$empty[t.getName()])t=t[u?'getPrevious':'getNext'](s);else t=t[u?'getLast':'getFirst'](s);if(t&&t.type==3){this.moveToPosition(t,u?4:3);return true;}}return v;},moveToElementEditStart:function(t){return this.moveToElementEditablePosition(t);},moveToElementEditEnd:function(t){return this.moveToElementEditablePosition(t,true);},getEnclosedNode:function(){var t=this.clone();t.optimize();if(t.startContainer.type!=1||t.endContainer.type!=1)return null;var u=new d.walker(t),v=d.walker.bookmark(true),w=d.walker.whitespaces(true),x=function(z){return w(z)&&v(z);};t.evaluator=x;var y=u.next();u.reset();return y&&y.equals(u.previous())?y:null;},getTouchedStartNode:function(){var t=this.startContainer;if(this.collapsed||t.type!=1)return t;return t.getChild(this.startOffset)||t;},getTouchedEndNode:function(){var t=this.endContainer;if(this.collapsed||t.type!=1)return t;return t.getChild(this.endOffset-1)||t;}};})();a.POSITION_AFTER_START=1;a.POSITION_BEFORE_END=2;a.POSITION_BEFORE_START=3;a.POSITION_AFTER_END=4;a.ENLARGE_ELEMENT=1;a.ENLARGE_BLOCK_CONTENTS=2;a.ENLARGE_LIST_ITEM_CONTENTS=3;a.START=1;a.END=2;a.STARTEND=3;a.SHRINK_ELEMENT=1;a.SHRINK_TEXT=2;(function(){d.rangeList=function(n){if(n instanceof d.rangeList)return n;if(!n)n=[];else if(n instanceof d.range)n=[n];return e.extend(n,l);
-};var l={createIterator:function(){var n=this,o=[],p;return{getNextRange:function(){p=p==undefined?0:p+1;var q=n[p];if(q&&n.length>1)if(!p)for(var r=n.length-1;r>0;r--)o.unshift(n[r].createBookmark(true));else q.moveToBookmark(o.shift());return q;}};},createBookmarks:function(n){var s=this;var o=[],p;for(var q=0;q<s.length;q++){o.push(p=s[q].createBookmark(n,true));for(var r=q+1;r<s.length;r++){s[r]=m(p,s[r]);s[r]=m(p,s[r],true);}}return o;},createBookmarks2:function(n){var o=[];for(var p=0;p<this.length;p++)o.push(this[p].createBookmark2(n));return o;},moveToBookmarks:function(n){for(var o=0;o<this.length;o++)this[o].moveToBookmark(n[o]);}};function m(n,o,p){var q=n.serializable,r=o[p?'endContainer':'startContainer'],s=p?'endOffset':'startOffset',t=q?o.document.getById(n.startNode):n.startNode,u=q?o.document.getById(n.endNode):n.endNode;if(r.equals(t.getPrevious())){o.startOffset=o.startOffset-r.getLength()-u.getPrevious().getLength();r=u.getNext();}else if(r.equals(u.getPrevious())){o.startOffset=o.startOffset-r.getLength();r=u.getNext();}r.equals(t.getParent())&&o[s]++;r.equals(u.getParent())&&o[s]++;o[p?'endContainer':'startContainer']=r;return o;};})();(function(){if(b.webkit){b.hc=false;return;}var l=c&&b.version<7,m=c&&b.version==7,n=l?a.basePath+'images/spacer.gif':m?'about:blank':'data:image/png;base64,',o=h.createFromHtml('<div style="width:0px;height:0px;position:absolute;left:-10000px;background-image:url('+n+')"></div>',a.document);o.appendTo(a.document.getHead());try{b.hc=o.getComputedStyle('background-image')=='none';}catch(p){b.hc=false;}if(b.hc)b.cssClass+=' cke_hc';o.remove();})();j.load(i.corePlugins.split(','),function(){a.status='loaded';a.fire('loaded');var l=a._.pending;if(l){delete a._.pending;for(var m=0;m<l.length;m++)a.add(l[m]);}});a.skins.add('kama',(function(){var l=[],m='cke_ui_color';if(c&&b.version<7)l.push('icons.png','images/sprites_ie6.png','images/dialog_sides.gif');return{preload:l,editor:{css:['editor.css']},dialog:{css:['dialog.css']},templates:{css:['templates.css']},margins:[0,0,0,0],init:function(n){if(n.config.width&&!isNaN(n.config.width))n.config.width-=12;var o=[],p=/\$color/g,q='/* UI Color Support */.cke_skin_kama .cke_menuitem .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuitem a:hover .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:focus .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:active .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuitem a:hover .cke_label,.cke_skin_kama .cke_menuitem a:focus .cke_label,.cke_skin_kama .cke_menuitem a:active .cke_label{\tbackground-color: $color !important;}.cke_skin_kama .cke_menuitem a.cke_disabled:hover .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:focus .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:active .cke_label{\tbackground-color: transparent !important;}.cke_skin_kama .cke_menuitem a.cke_disabled:hover .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a.cke_disabled:focus .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a.cke_disabled:active .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuitem a.cke_disabled .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuseparator{\tbackground-color: $color !important;}.cke_skin_kama .cke_menuitem a:hover,.cke_skin_kama .cke_menuitem a:focus,.cke_skin_kama .cke_menuitem a:active{\tbackground-color: $color !important;}';
-if(b.webkit){q=q.split('}').slice(0,-1);for(var r=0;r<q.length;r++)q[r]=q[r].split('{');}function s(v){var w=v.getById(m);if(!w){w=v.getHead().append('style');w.setAttribute('id',m);w.setAttribute('type','text/css');}return w;};function t(v,w,x){var y,z,A;for(var B=0;B<v.length;B++){if(b.webkit)for(z=0;z<w.length;z++){A=w[z][1];for(y=0;y<x.length;y++)A=A.replace(x[y][0],x[y][1]);v[B].$.sheet.addRule(w[z][0],A);}else{A=w;for(y=0;y<x.length;y++)A=A.replace(x[y][0],x[y][1]);if(c)v[B].$.styleSheet.cssText+=A;else v[B].$.innerHTML+=A;}}};var u=/\$color/g;e.extend(n,{uiColor:null,getUiColor:function(){return this.uiColor;},setUiColor:function(v){var w,x=s(a.document),y='.cke_editor_'+e.escapeCssSelector(n.name),z=[y+' .cke_wrapper',y+'_dialog .cke_dialog_contents',y+'_dialog a.cke_dialog_tab',y+'_dialog .cke_dialog_footer'].join(','),A='background-color: $color !important;';if(b.webkit)w=[[z,A]];else w=z+'{'+A+'}';return(this.setUiColor=function(B){var C=[[u,B]];n.uiColor=B;t([x],w,C);t(o,q,C);})(v);}});n.on('menuShow',function(v){var w=v.data[0],x=w.element.getElementsByTag('iframe').getItem(0).getFrameDocument();if(!x.getById('cke_ui_color')){var y=s(x);o.push(y);var z=n.getUiColor();if(z)t([y],q,[[u,z]]);}});if(n.config.uiColor)n.setUiColor(n.config.uiColor);}};})());(function(){a.dialog?l():a.on('dialogPluginReady',l);function l(){a.dialog.on('resize',function(m){var n=m.data,o=n.width,p=n.height,q=n.dialog,r=q.parts.contents;if(n.skin!='kama')return;r.setStyles({width:o+'px',height:p+'px'});setTimeout(function(){var s=q.parts.dialog.getChild([0,0,0]),t=s.getChild(0),u=s.getChild(2);u.setStyle('width',t.$.offsetWidth+'px');u=s.getChild(7);u.setStyle('width',t.$.offsetWidth-28+'px');u=s.getChild(4);u.setStyle('height',t.$.offsetHeight-31-14+'px');u=s.getChild(5);u.setStyle('height',t.$.offsetHeight-31-14+'px');},100);});};})();j.add('about',{requires:['dialog'],init:function(l){var m=l.addCommand('about',new a.dialogCommand('about'));m.modes={wysiwyg:1,source:1};m.canUndo=false;l.ui.addButton('About',{label:l.lang.about.title,command:'about'});a.dialog.add('about',this.path+'dialogs/about.js');}});(function(){var l='a11yhelp',m='a11yHelp';j.add(l,{availableLangs:{en:1,he:1},init:function(n){var o=this;n.addCommand(m,{exec:function(){var p=n.langCode;p=o.availableLangs[p]?p:'en';a.scriptLoader.load(a.getUrl(o.path+'lang/'+p+'.js'),function(){e.extend(n.lang,o.lang[p]);n.openDialog(m);});},modes:{wysiwyg:1,source:1},canUndo:false});a.dialog.add(m,this.path+'dialogs/a11yhelp.js');
-}});})();j.add('basicstyles',{requires:['styles','button'],init:function(l){var m=function(p,q,r,s){var t=new a.style(s);l.attachStyleStateChange(t,function(u){l.getCommand(r).setState(u);});l.addCommand(r,new a.styleCommand(t));l.ui.addButton(p,{label:q,command:r});},n=l.config,o=l.lang;m('Bold',o.bold,'bold',n.coreStyles_bold);m('Italic',o.italic,'italic',n.coreStyles_italic);m('Underline',o.underline,'underline',n.coreStyles_underline);m('Strike',o.strike,'strike',n.coreStyles_strike);m('Subscript',o.subscript,'subscript',n.coreStyles_subscript);m('Superscript',o.superscript,'superscript',n.coreStyles_superscript);}});i.coreStyles_bold={element:'strong',overrides:'b'};i.coreStyles_italic={element:'em',overrides:'i'};i.coreStyles_underline={element:'u'};i.coreStyles_strike={element:'strike'};i.coreStyles_subscript={element:'sub'};i.coreStyles_superscript={element:'sup'};(function(){var l={table:1,ul:1,ol:1,blockquote:1,div:1},m={};e.extend(m,l,{tr:1,p:1,div:1,li:1});function n(r){var s=r.editor,t=r.data.path,u=s.config.useComputedState,v;u=u===undefined||u;if(u){var w=s.getSelection(),x=w.getRanges();v=x&&x[0].getEnclosedNode();if(!v||v&&!(v.type==1&&v.getName() in m))v=p(w,l);}v=v||t.block||t.blockLimit;if(!v||v.getName()=='body')return;var y=u?v.getComputedStyle('direction'):v.getStyle('direction')||v.getAttribute('dir');s.getCommand('bidirtl').setState(y=='rtl'?1:2);s.getCommand('bidiltr').setState(y=='ltr'?1:2);var z=s.container.getChild(1);if(y!=s.lang.dir)z.addClass('cke_mixed_dir_content');else z.removeClass('cke_mixed_dir_content');};function o(r,s,t){var u=r.getComputedStyle('direction'),v=r.getStyle('direction')||r.getAttribute('dir')||'';r.removeStyle('direction');if(v.toLowerCase()==s)r.removeAttribute('dir');else r.setAttribute('dir',s);var w=r.getComputedStyle('direction');if(w!=u){var x=new d.range(r.getDocument());x.setStartBefore(r);x.setEndAfter(r);var y=new d.walker(x),z;while(z=y.next()){if(z.type==1){if(!z.equals(r)&&z.hasAttribute('dir')){x.setStartAfter(z);y=new d.walker(x);continue;}var A=z.getStyle('margin-right'),B=z.getStyle('margin-left');A?z.setStyle('margin-left',A):z.removeStyle('margin-left');B?z.setStyle('margin-right',B):z.removeStyle('margin-right');}}}t.forceNextSelectionCheck();};function p(r,s){var t=r.getCommonAncestor();while(t.type==1&&!(t.getName() in s)&&t.getParent().getChildCount()==1)t=t.getParent();return t.type==1&&t.getName() in s&&t;};function q(r){return function(s){var t=s.getSelection(),u=s.config.enterMode,v=t.getRanges();
-if(v&&v.length){var w=v[0].getEnclosedNode();if(!w||w&&!(w.type==1&&w.getName() in m))w=p(t,l);if(w){if(!w.isReadOnly())o(w,r,s);}else{var x=t.createBookmarks(),y,z;for(var A=v.length-1;A>=0;A--){var B=[],C=new d.walker(v[A]);C.evaluator=function(G){return G.type==1&&G.getName() in l&&!(G.getName()==(u==1)?'p':'div'&&G.getParent().type==1&&G.getParent().getName()=='blockquote');};while(z=C.next()){o(z,r,s);B.push(z);}y=v[A].createIterator();y.enlargeBr=u!=2;while(z=y.getNextParagraph(u==1?'p':'div')){if(z.isReadOnly())continue;var D=0;for(var E=0;E<B.length;E++){var F=z.getParent();while(F&&F.getName()!='body'){if(F.$.isSameNode&&F.$.isSameNode(B[E].$)||F.$==B[E].$){D=1;break;}F=F.getParent();}if(D)break;}if(!D)o(z,r,s);}}s.forceNextSelectionCheck();t.selectBookmarks(x);}s.focus();}};};j.add('bidi',{requires:['styles','button'],init:function(r){var s=function(u,v,w,x){r.addCommand(w,new a.command(r,{exec:x}));r.ui.addButton(u,{label:v,command:w});},t=r.lang.bidi;s('BidiLtr',t.ltr,'bidiltr',q('ltr'));s('BidiRtl',t.rtl,'bidirtl',q('rtl'));r.on('selectionChange',n);}});})();(function(){function l(p,q){var r=q.block||q.blockLimit;if(!r||r.getName()=='body')return 2;if(r.getAscendant('blockquote',true))return 1;return 2;};function m(p){var q=p.editor,r=q.getCommand('blockquote');r.state=l(q,p.data.path);r.fire('state');};function n(p){for(var q=0,r=p.getChildCount(),s;q<r&&(s=p.getChild(q));q++){if(s.type==1&&s.isBlockBoundary())return false;}return true;};var o={exec:function(p){var q=p.getCommand('blockquote').state,r=p.getSelection(),s=r&&r.getRanges(true)[0];if(!s)return;var t=r.createBookmarks();if(c){var u=t[0].startNode,v=t[0].endNode,w;if(u&&u.getParent().getName()=='blockquote'){w=u;while(w=w.getNext()){if(w.type==1&&w.isBlockBoundary()){u.move(w,true);break;}}}if(v&&v.getParent().getName()=='blockquote'){w=v;while(w=w.getPrevious()){if(w.type==1&&w.isBlockBoundary()){v.move(w);break;}}}}var x=s.createIterator(),y;if(q==2){var z=[];while(y=x.getNextParagraph())z.push(y);if(z.length<1){var A=p.document.createElement(p.config.enterMode==1?'p':'div'),B=t.shift();s.insertNode(A);A.append(new d.text('\ufeff',p.document));s.moveToBookmark(B);s.selectNodeContents(A);s.collapse(true);B=s.createBookmark();z.push(A);t.unshift(B);}var C=z[0].getParent(),D=[];for(var E=0;E<z.length;E++){y=z[E];C=C.getCommonAncestor(y.getParent());}var F={table:1,tbody:1,tr:1,ol:1,ul:1};while(F[C.getName()])C=C.getParent();var G=null;while(z.length>0){y=z.shift();while(!y.getParent().equals(C))y=y.getParent();
-if(!y.equals(G))D.push(y);G=y;}while(D.length>0){y=D.shift();if(y.getName()=='blockquote'){var H=new d.documentFragment(p.document);while(y.getFirst()){H.append(y.getFirst().remove());z.push(H.getLast());}H.replace(y);}else z.push(y);}var I=p.document.createElement('blockquote');I.insertBefore(z[0]);while(z.length>0){y=z.shift();I.append(y);}}else if(q==1){var J=[],K={};while(y=x.getNextParagraph()){var L=null,M=null;while(y.getParent()){if(y.getParent().getName()=='blockquote'){L=y.getParent();M=y;break;}y=y.getParent();}if(L&&M&&!M.getCustomData('blockquote_moveout')){J.push(M);h.setMarker(K,M,'blockquote_moveout',true);}}h.clearAllMarkers(K);var N=[],O=[];K={};while(J.length>0){var P=J.shift();I=P.getParent();if(!P.getPrevious())P.remove().insertBefore(I);else if(!P.getNext())P.remove().insertAfter(I);else{P.breakParent(P.getParent());O.push(P.getNext());}if(!I.getCustomData('blockquote_processed')){O.push(I);h.setMarker(K,I,'blockquote_processed',true);}N.push(P);}h.clearAllMarkers(K);for(E=O.length-1;E>=0;E--){I=O[E];if(n(I))I.remove();}if(p.config.enterMode==2){var Q=true;while(N.length){P=N.shift();if(P.getName()=='div'){H=new d.documentFragment(p.document);var R=Q&&P.getPrevious()&&!(P.getPrevious().type==1&&P.getPrevious().isBlockBoundary());if(R)H.append(p.document.createElement('br'));var S=P.getNext()&&!(P.getNext().type==1&&P.getNext().isBlockBoundary());while(P.getFirst())P.getFirst().remove().appendTo(H);if(S)H.append(p.document.createElement('br'));H.replace(P);Q=false;}}}}r.selectBookmarks(t);p.focus();}};j.add('blockquote',{init:function(p){p.addCommand('blockquote',o);p.ui.addButton('Blockquote',{label:p.lang.blockquote,command:'blockquote'});p.on('selectionChange',m);},requires:['domiterator']});})();j.add('button',{beforeInit:function(l){l.ui.addHandler(1,k.button.handler);}});a.UI_BUTTON=1;k.button=function(l){e.extend(this,l,{title:l.label,className:l.className||l.command&&'cke_button_'+l.command||'',click:l.click||(function(m){m.execCommand(l.command);})});this._={};};k.button.handler={create:function(l){return new k.button(l);}};k.button.prototype={canGroup:true,render:function(l,m){var n=b,o=this._.id='cke_'+e.getNextNumber(),p='',q=this.command,r,s;this._.editor=l;var t={id:o,button:this,editor:l,focus:function(){var v=a.document.getById(o);v.focus();},execute:function(){this.button.click(l);}};t.clickFn=r=e.addFunction(t.execute,t);t.index=s=k.button._.instances.push(t)-1;if(this.modes)l.on('mode',function(){this.setState(this.modes[l.mode]?2:0);
-},this);else if(q){q=l.getCommand(q);if(q){q.on('state',function(){this.setState(q.state);},this);p+='cke_'+(q.state==1?'on':q.state==0?'disabled':'off');}}if(!q)p+='cke_off';if(this.className)p+=' '+this.className;m.push('<span class="cke_button">','<a id="',o,'" class="',p,'"',n.gecko&&n.version>=10900&&!n.hc?'':'" href="javascript:void(\''+(this.title||'').replace("'",'')+"')\"",' title="',this.title,'" tabindex="-1" hidefocus="true" role="button" aria-labelledby="'+o+'_label"'+(this.hasArrow?' aria-haspopup="true"':''));if(n.opera||n.gecko&&n.mac)m.push(' onkeypress="return false;"');if(n.gecko)m.push(' onblur="this.style.cssText = this.style.cssText;"');m.push(' onkeydown="return CKEDITOR.ui.button._.keydown(',s,', event);" onfocus="return CKEDITOR.ui.button._.focus(',s,', event);" onclick="CKEDITOR.tools.callFunction(',r,', this); return false;"><span class="cke_icon"');if(this.icon){var u=(this.iconOffset||0)*-16;m.push(' style="background-image:url(',a.getUrl(this.icon),');background-position:0 '+u+'px;"');}m.push('>&nbsp;</span><span id="',o,'_label" class="cke_label">',this.label,'</span>');if(this.hasArrow)m.push('<span class="cke_buttonarrow">'+(b.hc?'&#9660;':'&nbsp;')+'</span>');m.push('</a>','</span>');if(this.onRender)this.onRender();return t;},setState:function(l){if(this._.state==l)return false;this._.state=l;var m=a.document.getById(this._.id);if(m){m.setState(l);l==0?m.setAttribute('aria-disabled',true):m.removeAttribute('aria-disabled');l==1?m.setAttribute('aria-pressed',true):m.removeAttribute('aria-pressed');return true;}else return false;}};k.button._={instances:[],keydown:function(l,m){var n=k.button._.instances[l];if(n.onkey){m=new d.event(m);return n.onkey(n,m.getKeystroke())!==false;}},focus:function(l,m){var n=k.button._.instances[l],o;if(n.onfocus)o=n.onfocus(n,new d.event(m))!==false;if(b.gecko&&b.version<10900)m.preventBubble();return o;}};k.prototype.addButton=function(l,m){this.add(l,1,m);};a.on('reset',function(){k.button._.instances=[];});(function(){var l=function(s,t){var u=s.document,v=u.getBody(),w=false,x=function(){w=true;};v.on(t,x);(b.version>7?u.$:u.$.selection.createRange()).execCommand(t);v.removeListener(t,x);return w;},m=c?function(s,t){return l(s,t);}:function(s,t){try{return s.document.$.execCommand(t);}catch(u){return false;}},n=function(s){this.type=s;this.canUndo=this.type=='cut';};n.prototype={exec:function(s,t){this.type=='cut'&&r(s);var u=m(s,this.type);if(!u)alert(s.lang.clipboard[this.type+'Error']);
-return u;}};var o={canUndo:false,exec:c?function(s){s.focus();if(!s.document.getBody().fire('beforepaste')&&!l(s,'paste')){s.fire('pasteDialog');return false;}}:function(s){try{if(!s.document.getBody().fire('beforepaste')&&!s.document.$.execCommand('Paste',false,null))throw 0;}catch(t){setTimeout(function(){s.fire('pasteDialog');},0);return false;}}},p=function(s){if(this.mode!='wysiwyg')return;switch(s.data.keyCode){case 1000+86:case 2000+45:var t=this.document.getBody();if(!c&&t.fire('beforepaste'))s.cancel();else if(b.opera||b.gecko&&b.version<10900)t.fire('paste');return;case 1000+88:case 2000+46:var u=this;this.fire('saveSnapshot');setTimeout(function(){u.fire('saveSnapshot');},0);}};function q(s,t,u){var v=this.document;if(c&&v.getById('cke_pastebin'))return;if(t=='text'&&s.data&&s.data.$.clipboardData){var w=s.data.$.clipboardData.getData('text/plain');if(w){s.data.preventDefault();u(w);return;}}var x=this.getSelection(),y=new d.range(v),z=new h(t=='text'?'textarea':b.webkit?'body':'div',v);z.setAttribute('id','cke_pastebin');b.webkit&&z.append(v.createText('\xa0'));v.getBody().append(z);z.setStyles({position:'absolute',top:x.getStartElement().getDocumentPosition().y+'px',width:'1px',height:'1px',overflow:'hidden'});z.setStyle(this.config.contentsLangDirection=='ltr'?'left':'right','-1000px');var A=x.createBookmarks();if(t=='text'){if(c){var B=v.getBody().$.createTextRange();B.moveToElementText(z.$);B.execCommand('Paste');s.data.preventDefault();}else{v.$.designMode='off';z.$.focus();}}else{y.setStartAt(z,1);y.setEndAt(z,2);y.select(true);}window.setTimeout(function(){t=='text'&&!c&&(v.$.designMode='on');z.remove();var C;z=b.webkit&&(C=z.getFirst())&&C.is&&C.hasClass('Apple-style-span')?C:z;x.selectBookmarks(A);u(z['get'+(t=='text'?'Value':'Html')]());},0);};function r(s){if(!c||s.document.$.compatMode=='BackCompat')return;var t=s.getSelection(),u;if(t.getType()==3&&(u=t.getSelectedElement())){var v=t.getRanges()[0],w=s.document.createText('');w.insertBefore(u);v.setStartBefore(w);v.setEndAfter(u);t.selectRanges([v]);setTimeout(function(){if(u.getParent()){w.remove();t.selectElement(u);}},0);}};j.add('clipboard',{requires:['dialog','htmldataprocessor'],init:function(s){s.on('paste',function(x){var y=x.data;if(y.html)s.insertHtml(y.html);else if(y.text)s.insertText(y.text);},null,null,1000);s.on('pasteDialog',function(x){setTimeout(function(){s.openDialog('paste');},0);});function t(x,y,z,A){var B=s.lang[y];s.addCommand(y,z);s.ui.addButton(x,{label:B,command:y});
-if(s.addMenuItems)s.addMenuItem(y,{label:B,command:y,group:'clipboard',order:A});};t('Cut','cut',new n('cut'),1);t('Copy','copy',new n('copy'),4);t('Paste','paste',o,8);a.dialog.add('paste',a.getUrl(this.path+'dialogs/paste.js'));s.on('key',p,s);var u=s.config.forcePasteAsPlainText?'text':'html';s.on('contentDom',function(){var x=s.document.getBody();x.on(u=='text'&&c||b.webkit?'paste':'beforepaste',function(y){if(v)return;q.call(s,y,u,function(z){if(!z)return;var A={};A[u]=z;s.fire('paste',A);});});x.on('beforecut',function(){!v&&r(s);});});if(s.contextMenu){var v;function w(x){c&&(v=1);var y=s.document.$.queryCommandEnabled(x)?2:0;v=0;return y;};s.contextMenu.addListener(function(x,y){var z=y.getCommonAncestor().isReadOnly();return{cut:!z&&w('Cut'),copy:w('Copy'),paste:!z&&(b.webkit?2:w('Paste'))};});}}});})();j.add('colorbutton',{requires:['panelbutton','floatpanel','styles'],init:function(l){var m=l.config,n=l.lang.colorButton,o;if(!b.hc){p('TextColor','fore',n.textColorTitle);p('BGColor','back',n.bgColorTitle);}function p(r,s,t){l.ui.add(r,4,{label:t,title:t,className:'cke_button_'+r.toLowerCase(),modes:{wysiwyg:1},panel:{css:l.skin.editor.css,attributes:{role:'listbox','aria-label':n.panelTitle}},onBlock:function(u,v){v.autoSize=true;v.element.addClass('cke_colorblock');v.element.setHtml(q(u,s));v.element.getDocument().getBody().setStyle('overflow','hidden');var w=v.keys,x=l.lang.dir=='rtl';w[x?37:39]='next';w[40]='next';w[9]='next';w[x?39:37]='prev';w[38]='prev';w[2000+9]='prev';w[32]='click';}});};function q(r,s){var t=[],u=m.colorButton_colors.split(','),v=u.length+(m.colorButton_enableMore?2:1),w=e.addFunction(function(C,D){if(C=='?'){var E=arguments.callee;function F(H){this.removeListener('ok',F);this.removeListener('cancel',F);H.name=='ok'&&E(this.getContentElement('picker','selectedColor').getValue(),D);};l.openDialog('colordialog',function(){this.on('ok',F);this.on('cancel',F);});return;}l.focus();r.hide();l.fire('saveSnapshot');new a.style(m['colorButton_'+D+'Style'],{color:'inherit'}).remove(l.document);if(C){var G=m['colorButton_'+D+'Style'];G.childRule=D=='back'?function(){return false;}:function(H){return H.getName()!='a';};new a.style(G,{color:C}).apply(l.document);}l.fire('saveSnapshot');});t.push('<a class="cke_colorauto" _cke_focus=1 hidefocus=true title="',n.auto,'" onclick="CKEDITOR.tools.callFunction(',w,",null,'",s,"');return false;\" href=\"javascript:void('",n.auto,'\')" role="option" aria-posinset="1" aria-setsize="',v,'"><table role="presentation" cellspacing=0 cellpadding=0 width="100%"><tr><td><span class="cke_colorbox" style="background-color:#000"></span></td><td colspan=7 align=center>',n.auto,'</td></tr></table></a><table role="presentation" cellspacing=0 cellpadding=0 width="100%">');
-for(var x=0;x<u.length;x++){if(x%8===0)t.push('</tr><tr>');var y=u[x].split('/'),z=y[0],A=y[1]||z;if(!y[1])z='#'+z.replace(/^(.)(.)(.)$/,'$1$1$2$2$3$3');var B=l.lang.colors[A]||A;t.push('<td><a class="cke_colorbox" _cke_focus=1 hidefocus=true title="',B,'" onclick="CKEDITOR.tools.callFunction(',w,",'",z,"','",s,"'); return false;\" href=\"javascript:void('",B,'\')" role="option" aria-posinset="',x+2,'" aria-setsize="',v,'"><span class="cke_colorbox" style="background-color:#',A,'"></span></a></td>');}if(m.colorButton_enableMore)t.push('</tr><tr><td colspan=8 align=center><a class="cke_colormore" _cke_focus=1 hidefocus=true title="',n.more,'" onclick="CKEDITOR.tools.callFunction(',w,",'?','",s,"');return false;\" href=\"javascript:void('",n.more,"')\"",' role="option" aria-posinset="',v,'" aria-setsize="',v,'">',n.more,'</a></td>');t.push('</tr></table>');return t.join('');};}});i.colorButton_enableMore=true;i.colorButton_colors='000,800000,8B4513,2F4F4F,008080,000080,4B0082,696969,B22222,A52A2A,DAA520,006400,40E0D0,0000CD,800080,808080,F00,FF8C00,FFD700,008000,0FF,00F,EE82EE,A9A9A9,FFA07A,FFA500,FFFF00,00FF00,AFEEEE,ADD8E6,DDA0DD,D3D3D3,FFF0F5,FAEBD7,FFFFE0,F0FFF0,F0FFFF,F0F8FF,E6E6FA,FFF';i.colorButton_foreStyle={element:'span',styles:{color:'#(color)'},overrides:[{element:'font',attributes:{color:null}}]};i.colorButton_backStyle={element:'span',styles:{'background-color':'#(color)'}};(function(){j.colordialog={init:function(l){l.addCommand('colordialog',new a.dialogCommand('colordialog'));a.dialog.add('colordialog',this.path+'dialogs/colordialog.js');}};j.add('colordialog',j.colordialog);})();j.add('contextmenu',{requires:['menu'],beforeInit:function(l){l.contextMenu=new j.contextMenu(l);l.addCommand('contextMenu',{exec:function(){l.contextMenu.show(l.document.getBody());}});}});j.contextMenu=e.createClass({$:function(l){this.id='cke_'+e.getNextNumber();this.editor=l;this._.listeners=[];this._.functionId=e.addFunction(function(m){this._.panel.hide();l.focus();l.execCommand(m);},this);this.definition={panel:{className:l.skinClass+' cke_contextmenu',attributes:{'aria-label':l.lang.contextmenu.options}}};},_:{onMenu:function(l,m,n,o){var p=this._.menu,q=this.editor;if(p){p.hide();p.removeAll();}else{p=this._.menu=new a.menu(q,this.definition);p.onClick=e.bind(function(z){p.hide();if(z.onClick)z.onClick();else if(z.command)q.execCommand(z.command);},this);p.onEscape=function(z){var A=this.parent;if(A){A._.panel.hideChild();var B=A._.panel._.panel._.currentBlock,C=B._.focusIndex;
-B._.markItem(C);}else if(z==27){this.hide();q.focus();}return false;};}var r=this._.listeners,s=[],t=this.editor.getSelection(),u=t&&t.getStartElement();p.onHide=e.bind(function(){p.onHide=null;if(c){var z=q.getSelection();z&&z.unlock();}this.onHide&&this.onHide();},this);for(var v=0;v<r.length;v++){var w=r[v](u,t);if(w)for(var x in w){var y=this.editor.getMenuItem(x);if(y){y.state=w[x];p.add(y);}}}p.items.length&&p.show(l,m||(q.lang.dir=='rtl'?2:1),n,o);}},proto:{addTarget:function(l,m){if(b.opera){var n;l.on('mousedown',function(r){r=r.data;if(r.$.button!=2){if(r.getKeystroke()==1000+1)l.fire('contextmenu',r);return;}if(m&&(b.mac?r.$.metaKey:r.$.ctrlKey))return;var s=r.getTarget();if(!n){var t=s.getDocument();n=t.createElement('input');n.$.type='button';t.getBody().append(n);}n.setAttribute('style','position:absolute;top:'+(r.$.clientY-2)+'px;left:'+(r.$.clientX-2)+'px;width:5px;height:5px;opacity:0.01');});l.on('mouseup',function(r){if(n){n.remove();n=undefined;l.fire('contextmenu',r.data);}});}l.on('contextmenu',function(r){var s=r.data;if(m&&(b.webkit?o:b.mac?s.$.metaKey:s.$.ctrlKey))return;s.preventDefault();var t=s.getTarget().getDocument().getDocumentElement(),u=s.$.clientX,v=s.$.clientY;e.setTimeout(function(){this.show(t,null,u,v);},0,this);},this);if(b.webkit){var o,p=function(r){o=b.mac?r.data.$.metaKey:r.data.$.ctrlKey;},q=function(){o=0;};l.on('keydown',p);l.on('keyup',q);l.on('contextmenu',q);}},addListener:function(l){this._.listeners.push(l);},show:function(l,m,n,o){this.editor.focus();if(c){var p=this.editor.getSelection();p&&p.lock();}this._.onMenu(l||a.document.getDocumentElement(),m,n||0,o||0);}}});(function(){function l(n){var o=this.att,p=n&&n.hasAttribute(o)&&n.getAttribute(o)||'';if(p!==undefined)this.setValue(p);};function m(){var n;for(var o=0;o<arguments.length;o++){if(arguments[o] instanceof h){n=arguments[o];break;}}if(n){var p=this.att,q=this.getValue();if(q)n.setAttribute(p,q);else n.removeAttribute(p,q);}};j.add('dialogadvtab',{createAdvancedTab:function(n,o){if(!o)o={id:1,dir:1,classes:1,styles:1};var p=n.lang.common,q={id:'advanced',label:p.advancedTab,title:p.advancedTab,elements:[{type:'vbox',padding:1,children:[]}]},r=[];if(o.id||o.dir){if(o.id)r.push({id:'advId',att:'id',type:'text',label:p.id,setup:l,commit:m});if(o.dir)r.push({id:'advLangDir',att:'dir',type:'select',label:p.langDir,'default':'',style:'width:100%',items:[[p.notSet,''],[p.langDirLTR,'ltr'],[p.langDirRTL,'rtl']],setup:l,commit:m});q.elements[0].children.push({type:'hbox',widths:['50%','50%'],children:[].concat(r)});
-}if(o.styles||o.classes){r=[];if(o.styles)r.push({id:'advStyles',att:'style',type:'text',label:p.styles,'default':'',onChange:function(){},getStyle:function(s,t){var u=this.getValue().match(new RegExp(s+'\\s*:s*([^;]*)','i'));return u?u[1]:t;},updateStyle:function(s,t){var u=this.getValue();if(u)u=u.replace(new RegExp('\\s*'+s+'s*:[^;]*(?:$|;s*)','i'),'').replace(/^[;\s]+/,'').replace(/\s+$/,'');if(t){u&&!/;\s*$/.test(u)&&(u+='; ');u+=s+': '+t;}this.setValue(u,true);},setup:l,commit:m});if(o.classes)r.push({type:'hbox',widths:['45%','55%'],children:[{id:'advCSSClasses',att:'class',type:'text',label:p.cssClasses,'default':'',setup:l,commit:m}]});q.elements[0].children.push({type:'hbox',widths:['50%','50%'],children:[].concat(r)});}return q;}});})();(function(){j.add('div',{requires:['editingblock','domiterator','styles'],init:function(l){var m=l.lang.div;l.addCommand('creatediv',new a.dialogCommand('creatediv'));l.addCommand('editdiv',new a.dialogCommand('editdiv'));l.addCommand('removediv',{exec:function(n){var o=n.getSelection(),p=o&&o.getRanges(),q,r=o.createBookmarks(),s,t=[];function u(w){var x=new d.elementPath(w),y=x.blockLimit,z=y.is('div')&&y;if(z&&!z.getAttribute('_cke_div_added')){t.push(z);z.setAttribute('_cke_div_added');}};for(var v=0;v<p.length;v++){q=p[v];if(q.collapsed)u(o.getStartElement());else{s=new d.walker(q);s.evaluator=u;s.lastForward();}}for(v=0;v<t.length;v++)t[v].remove(true);o.selectBookmarks(r);}});l.ui.addButton('CreateDiv',{label:m.toolbar,command:'creatediv'});if(l.addMenuItems){l.addMenuItems({editdiv:{label:m.edit,command:'editdiv',group:'div',order:1},removediv:{label:m.remove,command:'removediv',group:'div',order:5}});if(l.contextMenu)l.contextMenu.addListener(function(n,o){if(!n||n.isReadOnly())return null;var p=new d.elementPath(n),q=p.blockLimit;if(q&&q.getAscendant('div',true))return{editdiv:2,removediv:2};return null;});}a.dialog.add('creatediv',this.path+'dialogs/div.js');a.dialog.add('editdiv',this.path+'dialogs/div.js');}});})();(function(){var l={toolbarFocus:{exec:function(n){var o=n._.elementsPath.idBase,p=a.document.getById(o+'0');if(p)p.focus();}}},m='<span class="cke_empty">&nbsp;</span>';j.add('elementspath',{requires:['selection'],init:function(n){var o='cke_path_'+n.name,p,q=function(){if(!p)p=a.document.getById(o);return p;},r='cke_elementspath_'+e.getNextNumber()+'_';n._.elementsPath={idBase:r,filters:[]};n.on('themeSpace',function(s){if(s.data.space=='bottom')s.data.html+='<span id="'+o+'_label" class="cke_voice_label">'+n.lang.elementsPath.eleLabel+'</span>'+'<div id="'+o+'" class="cke_path" role="group" aria-labelledby="'+o+'_label">'+m+'</div>';
-});n.on('selectionChange',function(s){var t=b,u=s.data.selection,v=u.getStartElement(),w=[],x=s.editor,y=x._.elementsPath.list=[],z=x._.elementsPath.filters;while(v){var A=0;for(var B=0;B<z.length;B++){if(z[B](v)===false){A=1;break;}}if(!A){var C=y.push(v)-1,D;if(v.getAttribute('_cke_real_element_type'))D=v.getAttribute('_cke_real_element_type');else D=v.getName();var E='';if(t.opera||t.gecko&&t.mac)E+=' onkeypress="return false;"';if(t.gecko)E+=' onblur="this.style.cssText = this.style.cssText;"';var F=x.lang.elementsPath.eleTitle.replace(/%1/,D);w.unshift('<a id="',r,C,'" href="javascript:void(\'',D,'\')" tabindex="-1" title="',F,'"'+(b.gecko&&b.version<10900?' onfocus="event.preventBubble();"':'')+' hidefocus="true" '+" onkeydown=\"return CKEDITOR._.elementsPath.keydown('",x.name,"',",C,', event);"'+E," onclick=\"return CKEDITOR._.elementsPath.click('",x.name,"',",C,');"',' role="button" aria-labelledby="'+r+C+'_label">',D,'<span id="',r,C,'_label" class="cke_label">'+F+'</span>','</a>');}if(D=='body')break;v=v.getParent();}q().setHtml(w.join('')+m);});n.on('contentDomUnload',function(){p&&p.setHtml(m);});n.addCommand('elementsPathFocus',l.toolbarFocus);}});})();a._.elementsPath={click:function(l,m){var n=a.instances[l];n.focus();var o=n._.elementsPath.list[m];n.getSelection().selectElement(o);return false;},keydown:function(l,m,n){var o=k.button._.instances[m],p=a.instances[l],q=p._.elementsPath.idBase,r;n=new d.event(n);var s=p.lang.dir=='rtl';switch(n.getKeystroke()){case s?39:37:case 9:r=a.document.getById(q+(m+1));if(!r)r=a.document.getById(q+'0');r.focus();return false;case s?37:39:case 2000+9:r=a.document.getById(q+(m-1));if(!r)r=a.document.getById(q+(p._.elementsPath.list.length-1));r.focus();return false;case 27:p.focus();return false;case 13:case 32:this.click(l,m);return false;}return true;}};(function(){j.add('enterkey',{requires:['keystrokes','indent'],init:function(s){var t=s.specialKeys;t[13]=q;t[2000+13]=p;}});j.enterkey={enterBlock:function(s,t,u,v){u=u||r(s);if(!u)return;var w=u.document;if(u.checkStartOfBlock()&&u.checkEndOfBlock()){var x=new d.elementPath(u.startContainer),y=x.block;if(y&&(y.is('li')||y.getParent().is('li'))){s.execCommand('outdent');return;}}var z=t==3?'div':'p',A=u.splitBlock(z);if(!A)return;var B=A.previousBlock,C=A.nextBlock,D=A.wasStartOfBlock,E=A.wasEndOfBlock,F;if(C){F=C.getParent();if(F.is('li')){C.breakParent(F);C.move(C.getNext(),true);}}else if(B&&(F=B.getParent())&&F.is('li')){B.breakParent(F);u.moveToElementEditStart(B.getNext());
-B.move(B.getPrevious());}if(!D&&!E){if(C.is('li')&&(F=C.getFirst(d.walker.invisible(true)))&&F.is&&F.is('ul','ol'))(c?w.createText('\xa0'):w.createElement('br')).insertBefore(F);if(C)u.moveToElementEditStart(C);}else{var G;if(B){if(B.is('li')||!o.test(B.getName()))G=B.clone();}else if(C)G=C.clone();if(!G)G=w.createElement(z);else if(v&&!G.is('li'))G.renameNode(z);var H=A.elementPath;if(H)for(var I=0,J=H.elements.length;I<J;I++){var K=H.elements[I];if(K.equals(H.block)||K.equals(H.blockLimit))break;if(f.$removeEmpty[K.getName()]){K=K.clone();G.moveChildren(K);G.append(K);}}if(!c)G.appendBogus();u.insertNode(G);if(c&&D&&(!E||!B.getChildCount())){u.moveToElementEditStart(E?B:G);u.select();}u.moveToElementEditStart(D&&!E?C:G);}if(!c)if(C){var L=w.createElement('span');L.setHtml('&nbsp;');u.insertNode(L);L.scrollIntoView();u.deleteContents();}else G.scrollIntoView();u.select();},enterBr:function(s,t,u,v){u=u||r(s);if(!u)return;var w=u.document,x=t==3?'div':'p',y=u.checkEndOfBlock(),z=new d.elementPath(s.getSelection().getStartElement()),A=z.block,B=A&&z.block.getName(),C=false;if(!v&&B=='li'){n(s,t,u,v);return;}if(!v&&y&&o.test(B)){w.createElement('br').insertAfter(A);if(b.gecko)w.createText('').insertAfter(A);u.setStartAt(A.getNext(),c?3:1);}else{var D;C=B=='pre';if(C&&!b.gecko)D=w.createText(c?'\r':'\n');else D=w.createElement('br');u.deleteContents();u.insertNode(D);if(!c)w.createText('\ufeff').insertAfter(D);if(y&&!c)D.getParent().appendBogus();if(!c)D.getNext().$.nodeValue='';if(c)u.setStartAt(D,4);else u.setStartAt(D.getNext(),1);if(!c){var E=null;if(!b.gecko){E=w.createElement('span');E.setHtml('&nbsp;');}else E=w.createElement('br');E.insertBefore(D.getNext());E.scrollIntoView();E.remove();}}u.collapse(true);u.select(C);}};var l=j.enterkey,m=l.enterBr,n=l.enterBlock,o=/^h[1-6]$/;function p(s){if(s.mode!='wysiwyg')return false;if(s.getSelection().getStartElement().hasAscendant('pre',true)){setTimeout(function(){n(s,s.config.enterMode,null,true);},0);return true;}else return q(s,s.config.shiftEnterMode,true);};function q(s,t,u){u=s.config.forceEnterMode||u;if(s.mode!='wysiwyg')return false;if(!t)t=s.config.enterMode;setTimeout(function(){s.fire('saveSnapshot');if(t==2||s.getSelection().getStartElement().hasAscendant('pre',true))m(s,t,null,u);else n(s,t,null,u);},0);return true;};function r(s){var t=s.getSelection().getRanges(true);for(var u=t.length-1;u>0;u--)t[u].deleteContents();return t[0];};})();(function(){var l='nbsp,gt,lt,quot',m='iexcl,cent,pound,curren,yen,brvbar,sect,uml,copy,ordf,laquo,not,shy,reg,macr,deg,plusmn,sup2,sup3,acute,micro,para,middot,cedil,sup1,ordm,raquo,frac14,frac12,frac34,iquest,times,divide,fnof,bull,hellip,prime,Prime,oline,frasl,weierp,image,real,trade,alefsym,larr,uarr,rarr,darr,harr,crarr,lArr,uArr,rArr,dArr,hArr,forall,part,exist,empty,nabla,isin,notin,ni,prod,sum,minus,lowast,radic,prop,infin,ang,and,or,cap,cup,int,there4,sim,cong,asymp,ne,equiv,le,ge,sub,sup,nsub,sube,supe,oplus,otimes,perp,sdot,lceil,rceil,lfloor,rfloor,lang,rang,loz,spades,clubs,hearts,diams,circ,tilde,ensp,emsp,thinsp,zwnj,zwj,lrm,rlm,ndash,mdash,lsquo,rsquo,sbquo,ldquo,rdquo,bdquo,dagger,Dagger,permil,lsaquo,rsaquo,euro',n='Agrave,Aacute,Acirc,Atilde,Auml,Aring,AElig,Ccedil,Egrave,Eacute,Ecirc,Euml,Igrave,Iacute,Icirc,Iuml,ETH,Ntilde,Ograve,Oacute,Ocirc,Otilde,Ouml,Oslash,Ugrave,Uacute,Ucirc,Uuml,Yacute,THORN,szlig,agrave,aacute,acirc,atilde,auml,aring,aelig,ccedil,egrave,eacute,ecirc,euml,igrave,iacute,icirc,iuml,eth,ntilde,ograve,oacute,ocirc,otilde,ouml,oslash,ugrave,uacute,ucirc,uuml,yacute,thorn,yuml,OElig,oelig,Scaron,scaron,Yuml',o='Alpha,Beta,Gamma,Delta,Epsilon,Zeta,Eta,Theta,Iota,Kappa,Lambda,Mu,Nu,Xi,Omicron,Pi,Rho,Sigma,Tau,Upsilon,Phi,Chi,Psi,Omega,alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota,kappa,lambda,mu,nu,xi,omicron,pi,rho,sigmaf,sigma,tau,upsilon,phi,chi,psi,omega,thetasym,upsih,piv';
-function p(q,r){var s={},t=[],u={nbsp:'\xa0',shy:'\ad',gt:'>',lt:'<'};q=q.replace(/\b(nbsp|shy|gt|lt|amp)(?:,|$)/g,function(z,A){var B=r?'&'+A+';':u[A],C=r?u[A]:'&'+A+';';s[B]=C;t.push(B);return '';});if(!r){q=q.split(',');var v=document.createElement('div'),w;v.innerHTML='&'+q.join(';&')+';';w=v.innerHTML;v=null;for(var x=0;x<w.length;x++){var y=w.charAt(x);s[y]='&'+q[x]+';';t.push(y);}}s.regex=t.join(r?'|':'');return s;};j.add('entities',{afterInit:function(q){var r=q.config,s=q.dataProcessor,t=s&&s.htmlFilter;if(t){var u=l;if(r.entities){u+=','+m;if(r.entities_latin)u+=','+n;if(r.entities_greek)u+=','+o;if(r.entities_additional)u+=','+r.entities_additional;}var v=p(u),w='['+v.regex+']';delete v.regex;if(r.entities&&r.entities_processNumerical)w='[^ -~]|'+w;w=new RegExp(w,'g');function x(B){return r.entities_processNumerical=='force'||!v[B]?'&#'+B.charCodeAt(0)+';':v[B];};var y=p([l,'shy'].join(','),true),z=new RegExp(y.regex,'g');function A(B){return y[B];};t.addRules({text:function(B){return B.replace(z,A).replace(w,x);}});}}});})();i.entities=true;i.entities_latin=true;i.entities_greek=true;i.entities_processNumerical=false;i.entities_additional='#39';(function(){function l(u,v){var w=[];if(!v)return u;else for(var x in v)w.push(x+'='+encodeURIComponent(v[x]));return u+(u.indexOf('?')!=-1?'&':'?')+w.join('&');};function m(u){u+='';var v=u.charAt(0).toUpperCase();return v+u.substr(1);};function n(u){var B=this;var v=B.getDialog(),w=v.getParentEditor();w._.filebrowserSe=B;var x=w.config['filebrowser'+m(v.getName())+'WindowWidth']||w.config.filebrowserWindowWidth||'80%',y=w.config['filebrowser'+m(v.getName())+'WindowHeight']||w.config.filebrowserWindowHeight||'70%',z=B.filebrowser.params||{};z.CKEditor=w.name;z.CKEditorFuncNum=w._.filebrowserFn;if(!z.langCode)z.langCode=w.langCode;var A=l(B.filebrowser.url,z);w.popup(A,x,y,w.config.fileBrowserWindowFeatures);};function o(u){var x=this;var v=x.getDialog(),w=v.getParentEditor();w._.filebrowserSe=x;if(!v.getContentElement(x['for'][0],x['for'][1]).getInputElement().$.value)return false;if(!v.getContentElement(x['for'][0],x['for'][1]).getAction())return false;return true;};function p(u,v,w){var x=w.params||{};x.CKEditor=u.name;x.CKEditorFuncNum=u._.filebrowserFn;if(!x.langCode)x.langCode=u.langCode;v.action=l(w.url,x);v.filebrowser=w;};function q(u,v,w,x){var y,z;for(var A in x){y=x[A];if(y.type=='hbox'||y.type=='vbox')q(u,v,w,y.children);if(!y.filebrowser)continue;if(typeof y.filebrowser=='string'){var B={action:y.type=='fileButton'?'QuickUpload':'Browse',target:y.filebrowser};
-y.filebrowser=B;}if(y.filebrowser.action=='Browse'){var C=y.filebrowser.url||u.config['filebrowser'+m(v)+'BrowseUrl']||u.config.filebrowserBrowseUrl;if(C){y.onClick=n;y.filebrowser.url=C;y.hidden=false;}}else if(y.filebrowser.action=='QuickUpload'&&y['for']){C=y.filebrowser.url||u.config['filebrowser'+m(v)+'UploadUrl']||u.config.filebrowserUploadUrl;if(C){var D=y.onClick;y.onClick=function(E){var F=E.sender;if(D&&D.call(F,E)===false)return false;return o.call(F,E);};y.filebrowser.url=C;y.hidden=false;p(u,w.getContents(y['for'][0]).get(y['for'][1]),y.filebrowser);}}}};function r(u,v){var w=v.getDialog(),x=v.filebrowser.target||null;u=u.replace(/#/g,'%23');if(x){var y=x.split(':'),z=w.getContentElement(y[0],y[1]);if(z){z.setValue(u);w.selectPage(y[0]);}}};function s(u,v,w){if(w.indexOf(';')!==-1){var x=w.split(';');for(var y=0;y<x.length;y++){if(s(u,v,x[y]))return true;}return false;}var z=u.getContents(v).get(w).filebrowser;return z&&z.url;};function t(u,v){var z=this;var w=z._.filebrowserSe.getDialog(),x=z._.filebrowserSe['for'],y=z._.filebrowserSe.filebrowser.onSelect;if(x)w.getContentElement(x[0],x[1]).reset();if(typeof v=='function'&&v.call(z._.filebrowserSe)===false)return;if(y&&y.call(z._.filebrowserSe,u,v)===false)return;if(typeof v=='string'&&v)alert(v);if(u)r(u,z._.filebrowserSe);};j.add('filebrowser',{init:function(u,v){u._.filebrowserFn=e.addFunction(t,u);}});a.on('dialogDefinition',function(u){var v=u.data.definition,w;for(var x in v.contents){if(w=v.contents[x]){q(u.editor,u.data.name,v,w.elements);if(w.hidden&&w.filebrowser)w.hidden=!s(v,w.id,w.filebrowser);}}});})();j.add('find',{init:function(l){var m=j.find;l.ui.addButton('Find',{label:l.lang.findAndReplace.find,command:'find'});var n=l.addCommand('find',new a.dialogCommand('find'));n.canUndo=false;l.ui.addButton('Replace',{label:l.lang.findAndReplace.replace,command:'replace'});var o=l.addCommand('replace',new a.dialogCommand('replace'));o.canUndo=false;a.dialog.add('find',this.path+'dialogs/find.js');a.dialog.add('replace',this.path+'dialogs/find.js');},requires:['styles']});i.find_highlight={element:'span',styles:{'background-color':'#004',color:'#fff'}};(function(){var l=/\.swf(?:$|\?)/i,m=/^\d+(?:\.\d+)?$/;function n(q){if(m.test(q))return q+'px';return q;};function o(q){var r=q.attributes;return r.type=='application/x-shockwave-flash'||l.test(r.src||'');};function p(q,r){var s=q.createFakeParserElement(r,'cke_flash','flash',true),t=s.attributes.style||'',u=r.attributes.width,v=r.attributes.height;
-if(typeof u!='undefined')t=s.attributes.style=t+'width:'+n(u)+';';if(typeof v!='undefined')t=s.attributes.style=t+'height:'+n(v)+';';return s;};j.add('flash',{init:function(q){q.addCommand('flash',new a.dialogCommand('flash'));q.ui.addButton('Flash',{label:q.lang.common.flash,command:'flash'});a.dialog.add('flash',this.path+'dialogs/flash.js');q.addCss('img.cke_flash{background-image: url('+a.getUrl(this.path+'images/placeholder.png')+');'+'background-position: center center;'+'background-repeat: no-repeat;'+'border: 1px solid #a9a9a9;'+'width: 80px;'+'height: 80px;'+'}');if(q.addMenuItems)q.addMenuItems({flash:{label:q.lang.flash.properties,command:'flash',group:'flash'}});q.on('doubleclick',function(r){var s=r.data.element;if(s.is('img')&&s.getAttribute('_cke_real_element_type')=='flash')r.data.dialog='flash';});if(q.contextMenu)q.contextMenu.addListener(function(r,s){if(r&&r.is('img')&&!r.isReadOnly()&&r.getAttribute('_cke_real_element_type')=='flash')return{flash:2};});},afterInit:function(q){var r=q.dataProcessor,s=r&&r.dataFilter;if(s)s.addRules({elements:{'cke:object':function(t){var u=t.attributes,v=u.classid&&String(u.classid).toLowerCase();if(!v){for(var w=0;w<t.children.length;w++){if(t.children[w].name=='cke:embed'){if(!o(t.children[w]))return null;return p(q,t);}}return null;}return p(q,t);},'cke:embed':function(t){if(!o(t))return null;return p(q,t);}}},5);},requires:['fakeobjects']});})();e.extend(i,{flashEmbedTagOnly:false,flashAddEmbedTag:true,flashConvertOnEdit:false});(function(){function l(m,n,o,p,q,r,s){var t=m.config,u=q.split(';'),v=[],w={};for(var x=0;x<u.length;x++){var y=u[x];if(y){y=y.split('/');var z={},A=u[x]=y[0];z[o]=v[x]=y[1]||A;w[A]=new a.style(s,z);w[A]._.definition.name=A;}else u.splice(x--,1);}m.ui.addRichCombo(n,{label:p.label,title:p.panelTitle,className:'cke_'+(o=='size'?'fontSize':'font'),panel:{css:m.skin.editor.css.concat(t.contentsCss),multiSelect:false,attributes:{'aria-label':p.panelTitle}},init:function(){this.startGroup(p.panelTitle);for(var B=0;B<u.length;B++){var C=u[B];this.add(C,w[C].buildPreview(),C);}},onClick:function(B){m.focus();m.fire('saveSnapshot');var C=w[B];if(this.getValue()==B)C.remove(m.document);else C.apply(m.document);m.fire('saveSnapshot');},onRender:function(){m.on('selectionChange',function(B){var C=this.getValue(),D=B.data.path,E=D.elements;for(var F=0,G;F<E.length;F++){G=E[F];for(var H in w){if(w[H].checkElementRemovable(G,true)){if(H!=C)this.setValue(H);return;}}}this.setValue('',r);},this);
-}});};j.add('font',{requires:['richcombo','styles'],init:function(m){var n=m.config;l(m,'Font','family',m.lang.font,n.font_names,n.font_defaultLabel,n.font_style);l(m,'FontSize','size',m.lang.fontSize,n.fontSize_sizes,n.fontSize_defaultLabel,n.fontSize_style);}});})();i.font_names='Arial/Arial, Helvetica, sans-serif;Comic Sans MS/Comic Sans MS, cursive;Courier New/Courier New, Courier, monospace;Georgia/Georgia, serif;Lucida Sans Unicode/Lucida Sans Unicode, Lucida Grande, sans-serif;Tahoma/Tahoma, Geneva, sans-serif;Times New Roman/Times New Roman, Times, serif;Trebuchet MS/Trebuchet MS, Helvetica, sans-serif;Verdana/Verdana, Geneva, sans-serif';i.font_defaultLabel='';i.font_style={element:'span',styles:{'font-family':'#(family)'},overrides:[{element:'font',attributes:{face:null}}]};i.fontSize_sizes='8/8px;9/9px;10/10px;11/11px;12/12px;14/14px;16/16px;18/18px;20/20px;22/22px;24/24px;26/26px;28/28px;36/36px;48/48px;72/72px';i.fontSize_defaultLabel='';i.fontSize_style={element:'span',styles:{'font-size':'#(size)'},overrides:[{element:'font',attributes:{size:null}}]};j.add('format',{requires:['richcombo','styles'],init:function(l){var m=l.config,n=l.lang.format,o=m.format_tags.split(';'),p={};for(var q=0;q<o.length;q++){var r=o[q];p[r]=new a.style(m['format_'+r]);p[r]._.enterMode=l.config.enterMode;}l.ui.addRichCombo('Format',{label:n.label,title:n.panelTitle,className:'cke_format',panel:{css:l.skin.editor.css.concat(m.contentsCss),multiSelect:false,attributes:{'aria-label':n.panelTitle}},init:function(){this.startGroup(n.panelTitle);for(var s in p){var t=n['tag_'+s];this.add(s,'<'+s+'>'+t+'</'+s+'>',t);}},onClick:function(s){l.focus();l.fire('saveSnapshot');p[s].apply(l.document);setTimeout(function(){l.fire('saveSnapshot');},0);},onRender:function(){l.on('selectionChange',function(s){var t=this.getValue(),u=s.data.path;for(var v in p){if(p[v].checkActive(u)){if(v!=t)this.setValue(v,l.lang.format['tag_'+v]);return;}}this.setValue('');},this);}});}});i.format_tags='p;h1;h2;h3;h4;h5;h6;pre;address;div';i.format_p={element:'p'};i.format_div={element:'div'};i.format_pre={element:'pre'};i.format_address={element:'address'};i.format_h1={element:'h1'};i.format_h2={element:'h2'};i.format_h3={element:'h3'};i.format_h4={element:'h4'};i.format_h5={element:'h5'};i.format_h6={element:'h6'};j.add('forms',{init:function(l){var m=l.lang;l.addCss('form{border: 1px dotted #FF0000;padding: 2px;}\n');l.addCss('img.cke_hidden{background-image: url('+a.getUrl(this.path+'images/hiddenfield.gif')+');'+'background-position: center center;'+'background-repeat: no-repeat;'+'border: 1px solid #a9a9a9;'+'width: 16px !important;'+'height: 16px !important;'+'}');
-var n=function(p,q,r){l.addCommand(q,new a.dialogCommand(q));l.ui.addButton(p,{label:m.common[p.charAt(0).toLowerCase()+p.slice(1)],command:q});a.dialog.add(q,r);},o=this.path+'dialogs/';n('Form','form',o+'form.js');n('Checkbox','checkbox',o+'checkbox.js');n('Radio','radio',o+'radio.js');n('TextField','textfield',o+'textfield.js');n('Textarea','textarea',o+'textarea.js');n('Select','select',o+'select.js');n('Button','button',o+'button.js');n('ImageButton','imagebutton',j.getPath('image')+'dialogs/image.js');n('HiddenField','hiddenfield',o+'hiddenfield.js');if(l.addMenuItems)l.addMenuItems({form:{label:m.form.menu,command:'form',group:'form'},checkbox:{label:m.checkboxAndRadio.checkboxTitle,command:'checkbox',group:'checkbox'},radio:{label:m.checkboxAndRadio.radioTitle,command:'radio',group:'radio'},textfield:{label:m.textfield.title,command:'textfield',group:'textfield'},hiddenfield:{label:m.hidden.title,command:'hiddenfield',group:'hiddenfield'},imagebutton:{label:m.image.titleButton,command:'imagebutton',group:'imagebutton'},button:{label:m.button.title,command:'button',group:'button'},select:{label:m.select.title,command:'select',group:'select'},textarea:{label:m.textarea.title,command:'textarea',group:'textarea'}});if(l.contextMenu){l.contextMenu.addListener(function(p){if(p&&p.hasAscendant('form',true)&&!p.isReadOnly())return{form:2};});l.contextMenu.addListener(function(p){if(p&&!p.isReadOnly()){var q=p.getName();if(q=='select')return{select:2};if(q=='textarea')return{textarea:2};if(q=='input'){var r=p.getAttribute('type');if(r=='text'||r=='password')return{textfield:2};if(r=='button'||r=='submit'||r=='reset')return{button:2};if(r=='checkbox')return{checkbox:2};if(r=='radio')return{radio:2};if(r=='image')return{imagebutton:2};}if(q=='img'&&p.getAttribute('_cke_real_element_type')=='hiddenfield')return{hiddenfield:2};}});}l.on('doubleclick',function(p){var q=p.data.element;if(q.is('form'))p.data.dialog='form';else if(q.is('select'))p.data.dialog='select';else if(q.is('textarea'))p.data.dialog='textarea';else if(q.is('img')&&q.getAttribute('_cke_real_element_type')=='hiddenfield')p.data.dialog='hiddenfield';else if(q.is('input')){var r=q.getAttribute('type');switch(r){case 'text':case 'password':p.data.dialog='textfield';break;case 'button':case 'submit':case 'reset':p.data.dialog='button';break;case 'checkbox':p.data.dialog='checkbox';break;case 'radio':p.data.dialog='radio';break;case 'image':p.data.dialog='imagebutton';break;}}});},afterInit:function(l){var m=l.dataProcessor,n=m&&m.htmlFilter,o=m&&m.dataFilter;
-if(c)n&&n.addRules({elements:{input:function(p){var q=p.attributes,r=q.type;if(r=='checkbox'||r=='radio')q.value=='on'&&delete q.value;}}});if(o)o.addRules({elements:{input:function(p){if(p.attributes.type=='hidden')return l.createFakeParserElement(p,'cke_hidden','hiddenfield');}}});},requires:['image','fakeobjects']});if(c)h.prototype.hasAttribute=function(l){var o=this;var m=o.$.attributes.getNamedItem(l);if(o.getName()=='input')switch(l){case 'class':return o.$.className.length>0;case 'checked':return!!o.$.checked;case 'value':var n=o.getAttribute('type');if(n=='checkbox'||n=='radio')return o.$.value!='on';break;default:}return!!(m&&m.specified);};(function(){var l={canUndo:false,exec:function(n){n.insertElement(n.document.createElement('hr'));}},m='horizontalrule';j.add(m,{init:function(n){n.addCommand(m,l);n.ui.addButton('HorizontalRule',{label:n.lang.horizontalrule,command:m});}});})();(function(){var l=/^[\t\r\n ]*(?:&nbsp;|\xa0)$/,m='{cke_protected}';function n(R){var S=R.children.length,T=R.children[S-1];while(T&&T.type==3&&!e.trim(T.value))T=R.children[--S];return T;};function o(R,S){var T=R.children,U=n(R);if(U){if((S||!c)&&U.type==1&&U.name=='br')T.pop();if(U.type==3&&l.test(U.value))T.pop();}};function p(R){var S=n(R);return!S||S.type==1&&S.name=='br'||R.name=='form'&&S.name=='input';};function q(R){o(R,true);if(p(R))if(c)R.add(new a.htmlParser.text('\xa0'));else R.add(new a.htmlParser.element('br',{}));};function r(R){o(R);if(p(R))R.add(new a.htmlParser.text('\xa0'));};var s=f,t=e.extend({},s.$block,s.$listItem,s.$tableContent);for(var u in t){if(!('br' in s[u]))delete t[u];}delete t.pre;var v={elements:{},attributeNames:[[/^on/,'_cke_pa_on']]},w={elements:{}};for(u in t)w.elements[u]=q;var x={elementNames:[[/^cke:/,''],[/^\?xml:namespace$/,'']],attributeNames:[[/^_cke_(saved|pa)_/,''],[/^_cke.*/,''],['hidefocus','']],elements:{$:function(R){var S=R.attributes;if(S){if(S.cke_temp)return false;var T=['name','href','src'],U;for(var V=0;V<T.length;V++){U='_cke_saved_'+T[V];U in S&&delete S[T[V]];}}return R;},embed:function(R){var S=R.parent;if(S&&S.name=='object'){var T=S.attributes.width,U=S.attributes.height;T&&(R.attributes.width=T);U&&(R.attributes.height=U);}},param:function(R){R.children=[];R.isEmpty=true;return R;},a:function(R){if(!(R.children.length||R.attributes.name||R.attributes._cke_saved_name))return false;},html:function(R){delete R.attributes.contenteditable;delete R.attributes['class'];},body:function(R){delete R.attributes.spellcheck;
-delete R.attributes.contenteditable;},style:function(R){var S=R.children[0];S&&S.value&&(S.value=e.trim(S.value));if(!R.attributes.type)R.attributes.type='text/css';},title:function(R){var S=R.children[0];S&&(S.value=R.attributes._cke_title||'');}},attributes:{'class':function(R,S){return e.ltrim(R.replace(/(?:^|\s+)cke_[^\s]*/g,''))||false;}},comment:function(R){if(R.substr(0,m.length)==m){if(R.substr(m.length,3)=='{C}')R=R.substr(m.length+3);else R=R.substr(m.length);return new a.htmlParser.cdata(decodeURIComponent(R));}return R;}},y={elements:{}};for(u in t)y.elements[u]=r;if(c)x.attributes.style=function(R,S){return R.toLowerCase();};function z(R){R.attributes.contenteditable='false';};function A(R){delete R.attributes.contenteditable;};for(u in {input:1,textarea:1}){v.elements[u]=z;x.elements[u]=A;}var B=/<((?:a|area|img|input)[\s\S]*?\s)((href|src|name)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+)))([^>]*)>/gi,C=/\s_cke_saved_src\s*=/,D=/(?:<style(?=[ >])[^>]*>[\s\S]*<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,E=/<cke:encoded>([^<]*)<\/cke:encoded>/gi,F=/(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,G=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,H=/<cke:(param|embed)([^>]*?)\/?>(?!\s*<\/cke:\1)/gi;function I(R){return R.replace(B,function(S,T,U,V,W){if(V=='src'&&C.test(S))return S;else return '<'+T+U+' _cke_saved_'+U+W+'>';});};function J(R){return R.replace(D,function(S){return '<cke:encoded>'+encodeURIComponent(S)+'</cke:encoded>';});};function K(R){return R.replace(E,function(S,T){return decodeURIComponent(T);});};function L(R){return R.replace(F,'$1cke:$2');};function M(R){return R.replace(G,'$1$2');};function N(R){return R.replace(H,'<cke:$1$2></cke:$1>');};function O(R){return R.replace(/<!--(?!{cke_protected})[\s\S]+?-->/g,function(S){return '<!--'+m+'{C}'+encodeURIComponent(S).replace(/--/g,'%2D%2D')+'-->';});};function P(R){return R.replace(/<!--\{cke_protected\}\{C\}([\s\S]+?)-->/g,function(S,T){return decodeURIComponent(T);});};function Q(R,S){var T=[],U=/<\!--\{cke_temp(comment)?\}(\d*?)-->/g,V=[/<script[\s\S]*?<\/script>/gi,/<noscript[\s\S]*?<\/noscript>/gi].concat(S);R=R.replace(/<!--[\s\S]*?-->/g,function(X){return '<!--{cke_tempcomment}'+(T.push(X)-1)+'-->';});for(var W=0;W<V.length;W++)R=R.replace(V[W],function(X){X=X.replace(U,function(Y,Z,aa){return T[aa];});return '<!--{cke_temp}'+(T.push(X)-1)+'-->';});R=R.replace(U,function(X,Y,Z){return '<!--'+m+(Y?'{C}':'')+encodeURIComponent(T[Z]).replace(/--/g,'%2D%2D')+'-->';
-});return R;};j.add('htmldataprocessor',{requires:['htmlwriter'],init:function(R){var S=R.dataProcessor=new a.htmlDataProcessor(R);S.writer.forceSimpleAmpersand=R.config.forceSimpleAmpersand;S.dataFilter.addRules(v);S.dataFilter.addRules(w);S.htmlFilter.addRules(x);S.htmlFilter.addRules(y);}});a.htmlDataProcessor=function(R){var S=this;S.editor=R;S.writer=new a.htmlWriter();S.dataFilter=new a.htmlParser.filter();S.htmlFilter=new a.htmlParser.filter();};a.htmlDataProcessor.prototype={toHtml:function(R,S){R=Q(R,this.editor.config.protectedSource);R=I(R);R=J(R);R=L(R);R=N(R);var T=new h('div');T.setHtml('a'+R);R=T.getHtml().substr(1);R=M(R);R=K(R);R=P(R);var U=a.htmlParser.fragment.fromHtml(R,S),V=new a.htmlParser.basicWriter();U.writeHtml(V,this.dataFilter);R=V.getHtml(true);R=O(R);return R;},toDataFormat:function(R,S){var T=this.writer,U=a.htmlParser.fragment.fromHtml(R,S);T.reset();U.writeHtml(T,this.htmlFilter);return T.getHtml(true);}};})();i.forceSimpleAmpersand=false;j.add('image',{init:function(l){var m='image';a.dialog.add(m,this.path+'dialogs/image.js');l.addCommand(m,new a.dialogCommand(m));l.ui.addButton('Image',{label:l.lang.common.image,command:m});l.on('doubleclick',function(n){var o=n.data.element;if(o.is('img')&&!o.getAttribute('_cke_realelement'))n.data.dialog='image';});if(l.addMenuItems)l.addMenuItems({image:{label:l.lang.image.menu,command:'image',group:'image'}});if(l.contextMenu)l.contextMenu.addListener(function(n,o){if(!n||!n.is('img')||n.getAttribute('_cke_realelement')||n.isReadOnly())return null;return{image:2};});}});i.image_removeLinkByEmptyURL=true;(function(){var l={ol:1,ul:1},m=d.walker.whitespaces(true),n=d.walker.bookmark(false,true);function o(t,u){t.getCommand(this.name).setState(u);};function p(t){var C=this;var u=t.editor,v=t.data.path,w=v&&v.contains(l);if(w)return o.call(C,u,2);if(!C.useIndentClasses&&C.name=='indent')return o.call(C,u,2);var x=t.data.path,y=x.block||x.blockLimit;if(!y)return o.call(C,u,0);if(C.useIndentClasses){var z=y.$.className.match(C.classNameRegex),A=0;if(z){z=z[1];A=C.indentClassMap[z];}if(C.name=='outdent'&&!A||C.name=='indent'&&A==u.config.indentClasses.length)return o.call(C,u,0);return o.call(C,u,2);}else{var B=parseInt(y.getStyle(r(y)),10);if(isNaN(B))B=0;if(B<=0)return o.call(C,u,0);return o.call(C,u,2);}};function q(t,u){var w=this;w.name=u;w.useIndentClasses=t.config.indentClasses&&t.config.indentClasses.length>0;if(w.useIndentClasses){w.classNameRegex=new RegExp('(?:^|\\s+)('+t.config.indentClasses.join('|')+')(?=$|\\s)');
-w.indentClassMap={};for(var v=0;v<t.config.indentClasses.length;v++)w.indentClassMap[t.config.indentClasses[v]]=v+1;}w.startDisabled=u=='outdent';};function r(t){return t.getComputedStyle('direction')=='ltr'?'margin-left':'margin-right';};function s(t){return t.type=1&&t.is('li');};q.prototype={exec:function(t){var u=this,v={};function w(N){var O=C.startContainer,P=C.endContainer;while(O&&!O.getParent().equals(N))O=O.getParent();while(P&&!P.getParent().equals(N))P=P.getParent();if(!O||!P)return;var Q=O,R=[],S=false;while(!S){if(Q.equals(P))S=true;R.push(Q);Q=Q.getNext();}if(R.length<1)return;var T=N.getParents(true);for(var U=0;U<T.length;U++){if(T[U].getName&&l[T[U].getName()]){N=T[U];break;}}var V=u.name=='indent'?1:-1,W=R[0],X=R[R.length-1],Y=j.list.listToArray(N,v),Z=Y[X.getCustomData('listarray_index')].indent;for(U=W.getCustomData('listarray_index');U<=X.getCustomData('listarray_index');U++){Y[U].indent+=V;var aa=Y[U].parent;Y[U].parent=new h(aa.getName(),aa.getDocument());}for(U=X.getCustomData('listarray_index')+1;U<Y.length&&Y[U].indent>Z;U++)Y[U].indent+=V;var ab=N.getAttribute('dir')||N.getStyle('direction'),ac=j.list.arrayToList(Y,v,null,t.config.enterMode,ab);if(u.name=='outdent'){var ad;if((ad=N.getParent())&&ad.is('li')){var ae=ac.listNode.getChildren(),af=[],ag=ae.count(),ah;for(U=ag-1;U>=0;U--){if((ah=ae.getItem(U))&&ah.is&&ah.is('li'))af.push(ah);}}}if(ac)ac.listNode.replace(N);if(af&&af.length)for(U=0;U<af.length;U++){var ai=af[U],aj=ai;while((aj=aj.getNext())&&aj.is&&aj.getName() in l){if(c&&!ai.getFirst(function(ak){return m(ak)&&n(ak);}))ai.append(C.document.createText('\xa0'));ai.append(aj);}ai.insertAfter(ad);}};function x(){var N=C.createIterator(),O=t.config.enterMode;N.enforceRealBlocks=true;N.enlargeBr=O!=2;var P;while(P=N.getNextParagraph())y(P);};function y(N){if(N.getCustomData('indent_processed'))return false;if(u.useIndentClasses){var O=N.$.className.match(u.classNameRegex),P=0;if(O){O=O[1];P=u.indentClassMap[O];}if(u.name=='outdent')P--;else P++;if(P<0)return false;P=Math.min(P,t.config.indentClasses.length);P=Math.max(P,0);var Q=e.ltrim(N.$.className.replace(u.classNameRegex,''));if(P<1)N.$.className=Q;else N.addClass(t.config.indentClasses[P-1]);}else{var R=r(N),S=parseInt(N.getStyle(R),10);if(isNaN(S))S=0;S+=(u.name=='indent'?1:-1)*t.config.indentOffset;if(S<0)return false;S=Math.max(S,0);S=Math.ceil(S/t.config.indentOffset)*t.config.indentOffset;N.setStyle(R,S?S+t.config.indentUnit:'');if(N.getAttribute('style')==='')N.removeAttribute('style');
-}h.setMarker(v,N,'indent_processed',true);return true;};var z=t.getSelection(),A=z.createBookmarks(true),B=z&&z.getRanges(true),C,D=function(N){return!N.hasAttribute('_cke_bookmark');},E=B.createIterator();while(C=E.getNextRange()){C.shrink(1);if(C.endContainer.getName()=='body')C.setEndAt(C.endContainer.getLast(D),2);var F=C.startContainer,G=C.endContainer,H=C.getCommonAncestor(),I=H;while(I&&!(I.type==1&&l[I.getName()]))I=I.getParent();if(I&&F.type==1&&F.getName() in l){var J=new d.walker(C);J.evaluator=s;C.startContainer=J.next();}if(I&&G.type==1&&G.getName() in l){J=new d.walker(C);J.evaluator=s;C.endContainer=J.previous();}if(I){var K=I.getFirst(function(N){return N.type==1&&N.is('li');}),L=C.startContainer,M=K.equals(L)||K.contains(L);if(!(M&&y(I)))w(I);}else x();}h.clearAllMarkers(v);t.forceNextSelectionCheck();z.selectBookmarks(A);}};j.add('indent',{init:function(t){var u=new q(t,'indent'),v=new q(t,'outdent');t.addCommand('indent',u);t.addCommand('outdent',v);t.ui.addButton('Indent',{label:t.lang.indent,command:'indent'});t.ui.addButton('Outdent',{label:t.lang.outdent,command:'outdent'});t.on('selectionChange',e.bind(p,u));t.on('selectionChange',e.bind(p,v));if(b.ie6Compat||b.ie7Compat)t.addCss('ul,ol{\tmargin-left: 0px;\tpadding-left: 40px;}');},requires:['domiterator','list']});})();e.extend(i,{indentOffset:40,indentUnit:'px',indentClasses:null});(function(){function l(p,q){var r=q.block||q.blockLimit;if(!r||r.getName()=='body')return 2;return m(r,p.config.useComputedState)==this.value?1:2;};function m(p,q){q=q===undefined||q;var r;if(q)r=p.getComputedStyle('text-align');else{while(!p.hasAttribute||!(p.hasAttribute('align')||p.getStyle('text-align'))){var s=p.getParent();if(!s)break;p=s;}r=p.getStyle('text-align')||p.getAttribute('align')||'';}r&&(r=r.replace(/-moz-|-webkit-|start|auto/i,''));!r&&q&&(r=p.getComputedStyle('direction')=='rtl'?'right':'left');return r;};function n(p){var q=p.editor.getCommand(this.name);q.state=l.call(this,p.editor,p.data.path);q.fire('state');};function o(p,q,r){var t=this;t.name=q;t.value=r;var s=p.config.justifyClasses;if(s){switch(r){case 'left':t.cssClassName=s[0];break;case 'center':t.cssClassName=s[1];break;case 'right':t.cssClassName=s[2];break;case 'justify':t.cssClassName=s[3];break;}t.cssClassRegex=new RegExp('(?:^|\\s+)(?:'+s.join('|')+')(?=$|\\s)');}};o.prototype={exec:function(p){var B=this;var q=p.getSelection(),r=p.config.enterMode;if(!q)return;var s=q.createBookmarks(),t=q.getRanges(true),u=B.cssClassName,v,w,x=p.config.useComputedState;
-x=x===undefined||x;for(var y=t.length-1;y>=0;y--){v=t[y].createIterator();v.enlargeBr=r!=2;while(w=v.getNextParagraph()){w.removeAttribute('align');w.removeStyle('text-align');var z=u&&(w.$.className=e.ltrim(w.$.className.replace(B.cssClassRegex,''))),A=B.state==2&&(!x||m(w,true)!=B.value);if(u){if(A)w.addClass(u);else if(!z)w.removeAttribute('class');}else if(A)w.setStyle('text-align',B.value);}}p.focus();p.forceNextSelectionCheck();q.selectBookmarks(s);}};j.add('justify',{init:function(p){var q=new o(p,'justifyleft','left'),r=new o(p,'justifycenter','center'),s=new o(p,'justifyright','right'),t=new o(p,'justifyblock','justify');p.addCommand('justifyleft',q);p.addCommand('justifycenter',r);p.addCommand('justifyright',s);p.addCommand('justifyblock',t);p.ui.addButton('JustifyLeft',{label:p.lang.justify.left,command:'justifyleft'});p.ui.addButton('JustifyCenter',{label:p.lang.justify.center,command:'justifycenter'});p.ui.addButton('JustifyRight',{label:p.lang.justify.right,command:'justifyright'});p.ui.addButton('JustifyBlock',{label:p.lang.justify.block,command:'justifyblock'});p.on('selectionChange',e.bind(n,q));p.on('selectionChange',e.bind(n,s));p.on('selectionChange',e.bind(n,r));p.on('selectionChange',e.bind(n,t));},requires:['domiterator']});})();e.extend(i,{justifyClasses:null});j.add('keystrokes',{beforeInit:function(l){l.keystrokeHandler=new a.keystrokeHandler(l);l.specialKeys={};},init:function(l){var m=l.config.keystrokes,n=l.config.blockedKeystrokes,o=l.keystrokeHandler.keystrokes,p=l.keystrokeHandler.blockedKeystrokes;for(var q=0;q<m.length;q++)o[m[q][0]]=m[q][1];for(q=0;q<n.length;q++)p[n[q]]=1;}});a.keystrokeHandler=function(l){var m=this;if(l.keystrokeHandler)return l.keystrokeHandler;m.keystrokes={};m.blockedKeystrokes={};m._={editor:l};return m;};(function(){var l,m=function(o){o=o.data;var p=o.getKeystroke(),q=this.keystrokes[p],r=this._.editor;l=r.fire('key',{keyCode:p})===true;if(!l){if(q){var s={from:'keystrokeHandler'};l=r.execCommand(q,s)!==false;}if(!l){var t=r.specialKeys[p];l=t&&t(r)===true;if(!l)l=!!this.blockedKeystrokes[p];}}if(l)o.preventDefault(true);return!l;},n=function(o){if(l){l=false;o.data.preventDefault(true);}};a.keystrokeHandler.prototype={attach:function(o){o.on('keydown',m,this);if(b.opera||b.gecko&&b.mac)o.on('keypress',n,this);}};})();i.blockedKeystrokes=[1000+66,1000+73,1000+85];i.keystrokes=[[4000+121,'toolbarFocus'],[4000+122,'elementsPathFocus'],[2000+121,'contextMenu'],[1000+2000+121,'contextMenu'],[1000+90,'undo'],[1000+89,'redo'],[1000+2000+90,'redo'],[1000+76,'link'],[1000+66,'bold'],[1000+73,'italic'],[1000+85,'underline'],[4000+109,'toolbarCollapse'],[4000+48,'a11yHelp']];
-j.add('link',{init:function(l){l.addCommand('link',new a.dialogCommand('link'));l.addCommand('anchor',new a.dialogCommand('anchor'));l.addCommand('unlink',new a.unlinkCommand());l.ui.addButton('Link',{label:l.lang.link.toolbar,command:'link'});l.ui.addButton('Unlink',{label:l.lang.unlink,command:'unlink'});l.ui.addButton('Anchor',{label:l.lang.anchor.toolbar,command:'anchor'});a.dialog.add('link',this.path+'dialogs/link.js');a.dialog.add('anchor',this.path+'dialogs/anchor.js');l.addCss('img.cke_anchor{background-image: url('+a.getUrl(this.path+'images/anchor.gif')+');'+'background-position: center center;'+'background-repeat: no-repeat;'+'border: 1px solid #a9a9a9;'+'width: 18px !important;'+'height: 18px !important;'+'}\n'+'a.cke_anchor'+'{'+'background-image: url('+a.getUrl(this.path+'images/anchor.gif')+');'+'background-position: 0 center;'+'background-repeat: no-repeat;'+'border: 1px solid #a9a9a9;'+'padding-left: 18px;'+'}');l.on('selectionChange',function(m){var n=l.getCommand('unlink'),o=m.data.path.lastElement&&m.data.path.lastElement.getAscendant('a',true);if(o&&o.getName()=='a'&&o.getAttribute('href'))n.setState(2);else n.setState(0);});l.on('doubleclick',function(m){var n=j.link.getSelectedLink(l)||m.data.element;if(n.is('a'))m.data.dialog=n.getAttribute('name')&&!n.getAttribute('href')?'anchor':'link';else if(n.is('img')&&n.getAttribute('_cke_real_element_type')=='anchor')m.data.dialog='anchor';});if(l.addMenuItems)l.addMenuItems({anchor:{label:l.lang.anchor.menu,command:'anchor',group:'anchor'},link:{label:l.lang.link.menu,command:'link',group:'link',order:1},unlink:{label:l.lang.unlink,command:'unlink',group:'link',order:5}});if(l.contextMenu)l.contextMenu.addListener(function(m,n){if(!m||m.isReadOnly())return null;var o=m.is('img')&&m.getAttribute('_cke_real_element_type')=='anchor';if(!o){if(!(m=j.link.getSelectedLink(l)))return null;o=m.getAttribute('name')&&!m.getAttribute('href');}return o?{anchor:2}:{link:2,unlink:2};});},afterInit:function(l){var m=l.dataProcessor,n=m&&m.dataFilter;if(n)n.addRules({elements:{a:function(o){var p=o.attributes;if(p.name&&!p.href)return l.createFakeParserElement(o,'cke_anchor','anchor');}}});},requires:['fakeobjects']});j.link={getSelectedLink:function(l){try{var m=l.getSelection();if(m.getType()==3){var n=m.getSelectedElement();if(n.is('a'))return n;}var o=m.getRanges(true)[0];o.shrink(2);var p=o.getCommonAncestor();return p.getAscendant('a',true);}catch(q){return null;}}};a.unlinkCommand=function(){};a.unlinkCommand.prototype={exec:function(l){var m=l.getSelection(),n=m.createBookmarks(),o=m.getRanges(),p,q;
-for(var r=0;r<o.length;r++){p=o[r].getCommonAncestor(true);q=p.getAscendant('a',true);if(!q)continue;o[r].selectNodeContents(q);}m.selectRanges(o);l.document.$.execCommand('unlink',false,null);m.selectBookmarks(n);},startDisabled:true};e.extend(i,{linkShowAdvancedTab:true,linkShowTargetTab:true});(function(){var l={ol:1,ul:1},m=/^[\n\r\t ]*$/;j.list={listToArray:function(B,C,D,E,F){if(!l[B.getName()])return[];if(!E)E=0;if(!D)D=[];for(var G=0,H=B.getChildCount();G<H;G++){var I=B.getChild(G);if(I.$.nodeName.toLowerCase()!='li')continue;var J={parent:B,indent:E,element:I,contents:[]};if(!F){J.grandparent=B.getParent();if(J.grandparent&&J.grandparent.$.nodeName.toLowerCase()=='li')J.grandparent=J.grandparent.getParent();}else J.grandparent=F;if(C)h.setMarker(C,I,'listarray_index',D.length);D.push(J);for(var K=0,L=I.getChildCount(),M;K<L;K++){M=I.getChild(K);if(M.type==1&&l[M.getName()])j.list.listToArray(M,C,D,E+1,J.grandparent);else J.contents.push(M);}}return D;},arrayToList:function(B,C,D,E,F){if(!D)D=0;if(!B||B.length<D+1)return null;var G=B[D].parent.getDocument(),H=new d.documentFragment(G),I=null,J=D,K=Math.max(B[D].indent,0),L=null,M=E==1?'p':'div';for(;;){var N=B[J];if(N.indent==K){if(!I||B[J].parent.getName()!=I.getName()){I=B[J].parent.clone(false,true);H.append(I);}L=I.append(N.element.clone(false,true));for(var O=0;O<N.contents.length;O++)L.append(N.contents[O].clone(true,true));J++;}else if(N.indent==Math.max(K,0)+1){var P=j.list.arrayToList(B,null,J,E);L.append(P.listNode);J=P.nextIndex;}else if(N.indent==-1&&!D&&N.grandparent){L;if(l[N.grandparent.getName()])L=N.element.clone(false,true);else if(F||E!=2&&N.grandparent.getName()!='td'){L=G.createElement(M);if(F)L.setAttribute('dir',F);}else L=new d.documentFragment(G);for(O=0;O<N.contents.length;O++)L.append(N.contents[O].clone(true,true));if(L.type==11&&J!=B.length-1){if(L.getLast()&&L.getLast().type==1&&L.getLast().getAttribute('type')=='_moz')L.getLast().remove();L.appendBogus();}if(L.type==1&&L.getName()==M&&L.$.firstChild){L.trim();var Q=L.getFirst();if(Q.type==1&&Q.isBlockBoundary()){var R=new d.documentFragment(G);L.moveChildren(R);L=R;}}var S=L.$.nodeName.toLowerCase();if(!c&&(S=='div'||S=='p'))L.appendBogus();H.append(L);I=null;J++;}else return null;if(B.length<=J||Math.max(B[J].indent,0)<K)break;}if(C){var T=H.getFirst();while(T){if(T.type==1)h.clearMarkers(C,T);T=T.getNextSourceNode();}}return{listNode:H,nextIndex:J};}};function n(B,C){B.getCommand(this.name).setState(C);};function o(B){var C=B.data.path,D=C.blockLimit,E=C.elements,F;
-for(var G=0;G<E.length&&(F=E[G])&&!F.equals(D);G++){if(l[E[G].getName()])return n.call(this,B.editor,this.type==E[G].getName()?1:2);}return n.call(this,B.editor,2);};function p(B,C,D,E){var F=j.list.listToArray(C.root,D),G=[];for(var H=0;H<C.contents.length;H++){var I=C.contents[H];I=I.getAscendant('li',true);if(!I||I.getCustomData('list_item_processed'))continue;G.push(I);h.setMarker(D,I,'list_item_processed',true);}var J=C.root,K=J.getDocument().createElement(this.type);J.copyAttributes(K,{start:1,type:1});K.removeStyle('list-style-type');for(H=0;H<G.length;H++){var L=G[H].getCustomData('listarray_index');F[L].parent=K;}var M=j.list.arrayToList(F,D,null,B.config.enterMode),N,O=M.listNode.getChildCount();for(H=0;H<O&&(N=M.listNode.getChild(H));H++){if(N.getName()==this.type)E.push(N);}M.listNode.replace(C.root);};var q=/^h[1-6]$/;function r(B,C,D){var E=C.contents,F=C.root.getDocument(),G=[];if(E.length==1&&E[0].equals(C.root)){var H=F.createElement('div');E[0].moveChildren&&E[0].moveChildren(H);E[0].append(H);E[0]=H;}var I=C.contents[0].getParent();for(var J=0;J<E.length;J++)I=I.getCommonAncestor(E[J].getParent());for(J=0;J<E.length;J++){var K=E[J],L;while(L=K.getParent()){if(L.equals(I)){G.push(K);break;}K=L;}}if(G.length<1)return;var M=G[G.length-1].getNext(),N=F.createElement(this.type),O;D.push(N);while(G.length){var P=G.shift(),Q=F.createElement('li');if(P.is('pre')||q.test(P.getName()))P.appendTo(Q);else{if(P.hasAttribute('dir')){O=O||P.getAttribute('dir');P.removeAttribute('dir');}P.copyAttributes(Q);P.moveChildren(Q);P.remove();if(!c)Q.appendBogus();}Q.appendTo(N);}if(O)N.setAttribute('dir',O);if(M)N.insertBefore(M);else N.appendTo(I);};function s(B,C,D){var E=j.list.listToArray(C.root,D),F=[];for(var G=0;G<C.contents.length;G++){var H=C.contents[G];H=H.getAscendant('li',true);if(!H||H.getCustomData('list_item_processed'))continue;F.push(H);h.setMarker(D,H,'list_item_processed',true);}var I=null;for(G=0;G<F.length;G++){var J=F[G].getCustomData('listarray_index');E[J].indent=-1;I=J;}for(G=I+1;G<E.length;G++){if(E[G].indent>E[G-1].indent+1){var K=E[G-1].indent+1-E[G].indent,L=E[G].indent;while(E[G]&&E[G].indent>=L){E[G].indent+=K;G++;}G--;}}var M=j.list.arrayToList(E,D,null,B.config.enterMode,C.root.getAttribute('dir')),N=M.listNode,O,P;function Q(R){if((O=N[R?'getFirst':'getLast']())&&!(O.is&&O.isBlockBoundary())&&(P=C.root[R?'getPrevious':'getNext'](d.walker.whitespaces(true)))&&!(P.is&&P.isBlockBoundary({br:1})))B.document.createElement('br')[R?'insertBefore':'insertAfter'](O);
-};Q(true);Q();N.replace(C.root);};function t(B,C){this.name=B;this.type=C;};t.prototype={exec:function(B){B.focus();var C=B.document,D=B.getSelection(),E=D&&D.getRanges(true);if(!E||E.length<1)return;if(this.state==2){var F=C.getBody();F.trim();if(!F.getFirst()){var G=C.createElement(B.config.enterMode==1?'p':B.config.enterMode==3?'div':'br');G.appendTo(F);E=new d.rangeList([new d.range(C)]);if(G.is('br')){E[0].setStartBefore(G);E[0].setEndAfter(G);}else E[0].selectNodeContents(G);D.selectRanges(E);}else{var H=E.length==1&&E[0],I=H&&H.getEnclosedNode();if(I&&I.is&&this.type==I.getName())n.call(this,B,1);}}var J=D.createBookmarks(true),K=[],L={},M=E.createIterator(),N=0;while((H=M.getNextRange())&&++N){var O=H.getBoundaryNodes(),P=O.startNode,Q=O.endNode;if(P.type==1&&P.getName()=='td')H.setStartAt(O.startNode,1);if(Q.type==1&&Q.getName()=='td')H.setEndAt(O.endNode,2);var R=H.createIterator(),S;R.forceBrBreak=this.state==2;while(S=R.getNextParagraph()){if(S.getCustomData('list_block'))continue;else h.setMarker(L,S,'list_block',1);var T=new d.elementPath(S),U=T.elements,V=U.length,W=null,X=false,Y=T.blockLimit,Z;for(var aa=V-1;aa>=0&&(Z=U[aa]);aa--){if(l[Z.getName()]&&Y.contains(Z)){Y.removeCustomData('list_group_object_'+N);var ab=Z.getCustomData('list_group_object');if(ab)ab.contents.push(S);else{ab={root:Z,contents:[S]};K.push(ab);h.setMarker(L,Z,'list_group_object',ab);}X=true;break;}}if(X)continue;var ac=Y;if(ac.getCustomData('list_group_object_'+N))ac.getCustomData('list_group_object_'+N).contents.push(S);else{ab={root:ac,contents:[S]};h.setMarker(L,ac,'list_group_object_'+N,ab);K.push(ab);}}}var ad=[];while(K.length>0){ab=K.shift();if(this.state==2){if(l[ab.root.getName()])p.call(this,B,ab,L,ad);else r.call(this,B,ab,ad);}else if(this.state==1&&l[ab.root.getName()])s.call(this,B,ab,L);}for(aa=0;aa<ad.length;aa++){W=ad[aa];var ae,af=this;(ae=function(ag){var ah=W[ag?'getPrevious':'getNext'](d.walker.whitespaces(true));if(ah&&ah.getName&&ah.getName()==af.type){ah.remove();ah.moveChildren(W,ag?true:false);}})();ae(true);}h.clearAllMarkers(L);D.selectBookmarks(J);B.focus();}};var u=f,v=/[\t\r\n ]*(?:&nbsp;|\xa0)$/;function w(B,C){var D,E=B.children,F=E.length;for(var G=0;G<F;G++){D=E[G];if(D.name&&D.name in C)return G;}return F;};function x(B){return function(C){var D=C.children,E=w(C,u.$list),F=D[E],G=F&&F.previous,H;if(G&&(G.name&&G.name=='br'||G.value&&(H=G.value.match(v)))){var I=G;if(!(H&&H.index)&&I==D[0])D[0]=B||c?new a.htmlParser.text('\xa0'):new a.htmlParser.element('br',{});
-else if(I.name=='br')D.splice(E-1,1);else I.value=I.value.replace(v,'');}};};var y={elements:{}};for(var z in u.$listItem)y.elements[z]=x();var A={elements:{}};for(z in u.$listItem)A.elements[z]=x(true);j.add('list',{init:function(B){var C=new t('numberedlist','ol'),D=new t('bulletedlist','ul');B.addCommand('numberedlist',C);B.addCommand('bulletedlist',D);B.ui.addButton('NumberedList',{label:B.lang.numberedlist,command:'numberedlist'});B.ui.addButton('BulletedList',{label:B.lang.bulletedlist,command:'bulletedlist'});B.on('selectionChange',e.bind(o,C));B.on('selectionChange',e.bind(o,D));},afterInit:function(B){var C=B.dataProcessor;if(C){C.dataFilter.addRules(y);C.htmlFilter.addRules(A);}},requires:['domiterator']});})();(function(){j.liststyle={requires:['dialog'],init:function(l){l.addCommand('numberedListStyle',new a.dialogCommand('numberedListStyle'));a.dialog.add('numberedListStyle',this.path+'dialogs/liststyle.js');l.addCommand('bulletedListStyle',new a.dialogCommand('bulletedListStyle'));a.dialog.add('bulletedListStyle',this.path+'dialogs/liststyle.js');if(l.addMenuItems){l.addMenuGroup('list',108);l.addMenuItems({numberedlist:{label:l.lang.list.numberedTitle,group:'list',command:'numberedListStyle'},bulletedlist:{label:l.lang.list.bulletedTitle,group:'list',command:'bulletedListStyle'}});}if(l.contextMenu)l.contextMenu.addListener(function(m,n){if(!m||m.isReadOnly())return null;while(m){var o=m.getName();if(o=='ol')return{numberedlist:2};else if(o=='ul')return{bulletedlist:2};m=m.getParent();}return null;});}};j.add('liststyle',j.liststyle);})();(function(){function l(r){if(!r||r.type!=1||r.getName()!='form')return[];var s=[],t=['style','className'];for(var u=0;u<t.length;u++){var v=t[u],w=r.$.elements.namedItem(v);if(w){var x=new h(w);s.push([x,x.nextSibling]);x.remove();}}return s;};function m(r,s){if(!r||r.type!=1||r.getName()!='form')return;if(s.length>0)for(var t=s.length-1;t>=0;t--){var u=s[t][0],v=s[t][1];if(v)u.insertBefore(v);else u.appendTo(r);}};function n(r,s){var t=l(r),u={},v=r.$;if(!s){u['class']=v.className||'';v.className='';}u.inline=v.style.cssText||'';if(!s)v.style.cssText='position: static; overflow: visible';m(t);return u;};function o(r,s){var t=l(r),u=r.$;if('class' in s)u.className=s['class'];if('inline' in s)u.style.cssText=s.inline;m(t);};function p(r){var s=a.instances;for(var t in s){var u=s[t];if(u.mode=='wysiwyg'){var v=u.document.getBody();v.setAttribute('contentEditable',false);v.setAttribute('contentEditable',true);}}if(r.focusManager.hasFocus){r.toolbox.focus();
-r.focus();}};function q(r){if(!c||b.version>6)return null;var s=h.createFromHtml('<iframe frameborder="0" tabindex="-1" src="javascript:void((function(){document.open();'+(b.isCustomDomain()?"document.domain='"+this.getDocument().$.domain+"';":'')+'document.close();'+'})())"'+' style="display:block;position:absolute;z-index:-1;'+'progid:DXImageTransform.Microsoft.Alpha(opacity=0);'+'"></iframe>');return r.append(s,true);};j.add('maximize',{init:function(r){var s=r.lang,t=a.document,u=t.getWindow(),v,w,x,y;function z(){var B=u.getViewPaneSize();y&&y.setStyles({width:B.width+'px',height:B.height+'px'});r.resize(B.width,B.height,null,true);};var A=2;r.addCommand('maximize',{modes:{wysiwyg:1,source:1},editorFocus:false,exec:function(){var B=r.container.getChild(1),C=r.getThemeSpace('contents');if(r.mode=='wysiwyg'){var D=r.getSelection();v=D&&D.getRanges();w=u.getScrollPosition();}else{var E=r.textarea.$;v=!c&&[E.selectionStart,E.selectionEnd];w=[E.scrollLeft,E.scrollTop];}if(this.state==2){u.on('resize',z);x=u.getScrollPosition();var F=r.container;while(F=F.getParent()){F.setCustomData('maximize_saved_styles',n(F));F.setStyle('z-index',r.config.baseFloatZIndex-1);}C.setCustomData('maximize_saved_styles',n(C,true));B.setCustomData('maximize_saved_styles',n(B,true));if(c)t.$.documentElement.style.overflow=t.getBody().$.style.overflow='hidden';else t.getBody().setStyles({overflow:'hidden',width:'0px',height:'0px'});c?setTimeout(function(){u.$.scrollTo(0,0);},0):u.$.scrollTo(0,0);var G=u.getViewPaneSize();B.setStyle('position','absolute');B.$.offsetLeft;B.setStyles({'z-index':r.config.baseFloatZIndex-1,left:'0px',top:'0px'});y=q(B);B.addClass('cke_maximized');z();var H=B.getDocumentPosition();B.setStyles({left:-1*H.x+'px',top:-1*H.y+'px'});b.gecko&&p(r);}else if(this.state==1){u.removeListener('resize',z);var I=[C,B];for(var J=0;J<I.length;J++){o(I[J],I[J].getCustomData('maximize_saved_styles'));I[J].removeCustomData('maximize_saved_styles');}F=r.container;while(F=F.getParent()){o(F,F.getCustomData('maximize_saved_styles'));F.removeCustomData('maximize_saved_styles');}c?setTimeout(function(){u.$.scrollTo(x.x,x.y);},0):u.$.scrollTo(x.x,x.y);B.removeClass('cke_maximized');if(y){y.remove();y=null;}r.fire('resize');}this.toggleState();var K=this.uiItems[0],L=this.state==2?s.maximize:s.minimize,M=r.element.getDocument().getById(K._.id);M.getChild(1).setHtml(L);M.setAttribute('title',L);M.setAttribute('href','javascript:void("'+L+'");');if(r.mode=='wysiwyg'){if(v){b.gecko&&p(r);
-r.getSelection().selectRanges(v);var N=r.getSelection().getStartElement();N&&N.scrollIntoView(true);}else u.$.scrollTo(w.x,w.y);}else{if(v){E.selectionStart=v[0];E.selectionEnd=v[1];}E.scrollLeft=w[0];E.scrollTop=w[1];}v=w=null;A=this.state;},canUndo:false});r.ui.addButton('Maximize',{label:s.maximize,command:'maximize'});r.on('mode',function(){r.getCommand('maximize').setState(A);},null,null,100);}});})();j.add('newpage',{init:function(l){l.addCommand('newpage',{modes:{wysiwyg:1,source:1},exec:function(m){var n=this;m.setData(m.config.newpage_html,function(){setTimeout(function(){m.fire('afterCommandExec',{name:n.name,command:n});},200);});m.focus();},async:true});l.ui.addButton('NewPage',{label:l.lang.newPage,command:'newpage'});}});i.newpage_html='';j.add('pagebreak',{init:function(l){l.addCommand('pagebreak',j.pagebreakCmd);l.ui.addButton('PageBreak',{label:l.lang.pagebreak,command:'pagebreak'});l.addCss('img.cke_pagebreak{background-image: url('+a.getUrl(this.path+'images/pagebreak.gif')+');'+'background-position: center center;'+'background-repeat: no-repeat;'+'clear: both;'+'display: block;'+'float: none;'+'width:100% !important; _width:99.9% !important;'+'border-top: #999999 1px dotted;'+'border-bottom: #999999 1px dotted;'+'height: 5px !important;'+'page-break-after: always;'+'}');},afterInit:function(l){var m=l.dataProcessor,n=m&&m.dataFilter;if(n)n.addRules({elements:{div:function(o){var p=o.attributes,q=p&&p.style,r=q&&o.children.length==1&&o.children[0],s=r&&r.name=='span'&&r.attributes.style;if(s&&/page-break-after\s*:\s*always/i.test(q)&&/display\s*:\s*none/i.test(s)){var t=l.createFakeParserElement(o,'cke_pagebreak','div'),u=l.lang.pagebreakAlt;t.attributes.alt=u;t.attributes['aria-label']=u;return t;}}}});},requires:['fakeobjects']});j.pagebreakCmd={exec:function(l){var m=l.lang.pagebreakAlt,n=h.createFromHtml('<div style="page-break-after: always;"><span style="display: none;">&nbsp;</span></div>');n=l.createFakeElement(n,'cke_pagebreak','div');n.setAttribute('alt',m);n.setAttribute('aria-label',m);var o=l.getSelection().getRanges(true);l.fire('saveSnapshot');for(var p,q=o.length-1;q>=0;q--){p=o[q];if(q<o.length-1)n=n.clone(true);p.splitBlock('p');p.insertNode(n);if(q==o.length-1){p.moveToPosition(n,4);p.select();}var r=n.getPrevious();if(r&&f[r.getName()].div)n.move(r);}l.fire('saveSnapshot');}};(function(){j.add('pastefromword',{init:function(l){var m=0,n=function(){setTimeout(function(){m=0;},0);};l.addCommand('pastefromword',{canUndo:false,exec:function(){m=1;
-if(l.execCommand('paste')===false)l.on('dialogHide',function(o){o.removeListener();n();});else n();}});l.ui.addButton('PasteFromWord',{label:l.lang.pastefromword.toolbar,command:'pastefromword'});l.on('paste',function(o){var p=o.data,q;if((q=p.html)&&(m||/(class=\"?Mso|style=\"[^\"]*\bmso\-|w:WordDocument)/.test(q))){var r=this.loadFilterRules(function(){if(r)l.fire('paste',p);else if(!l.config.pasteFromWordPromptCleanup||m||confirm(l.lang.pastefromword.confirmCleanup))p.html=a.cleanWord(q,l);});r&&o.cancel();}},this);},loadFilterRules:function(l){var m=a.cleanWord;if(m)l();else{var n=a.getUrl(i.pasteFromWordCleanupFile||this.path+'filter/default.js');a.scriptLoader.load(n,l,null,false,true);}return!m;}});})();(function(){var l={exec:function(o){var p=e.tryThese(function(){var q=window.clipboardData.getData('Text');if(!q)throw 0;return q;});if(!p){o.openDialog('pastetext');return false;}else o.fire('paste',{text:p});return true;}};function m(o,p){if(c){var q=o.selection;if(q.type=='Control')q.clear();q.createRange().pasteHTML(p);}else o.execCommand('inserthtml',false,p);};j.add('pastetext',{init:function(o){var p='pastetext',q=o.addCommand(p,l);o.ui.addButton('PasteText',{label:o.lang.pasteText.button,command:p});a.dialog.add(p,a.getUrl(this.path+'dialogs/pastetext.js'));if(o.config.forcePasteAsPlainText)o.on('beforeCommandExec',function(r){if(r.data.name=='paste'){o.execCommand('pastetext');r.cancel();}},null,null,0);},requires:['clipboard']});function n(o,p,q,r){while(q--)j.enterkey[p==2?'enterBr':'enterBlock'](o,p,null,r);};a.editor.prototype.insertText=function(o){this.focus();this.fire('saveSnapshot');var p=this.getSelection().getStartElement().hasAscendant('pre',true)?2:this.config.enterMode,q=p==2,r=this.document.$,s=this,t;o=e.htmlEncode(o.replace(/\r\n|\r/g,'\n'));var u=0;o.replace(/\n+/g,function(v,w){t=o.substring(u,w);u=w+v.length;t.length&&m(r,t);var x=v.length,y=q?0:Math.floor(x/2),z=q?x:x%2;n(s,p,y);n(s,2,z,q?false:true);});t=o.substring(u,o.length);t.length&&m(r,t);this.fire('saveSnapshot');};})();j.add('popup');e.extend(a.editor.prototype,{popup:function(l,m,n,o){m=m||'80%';n=n||'70%';if(typeof m=='string'&&m.length>1&&m.substr(m.length-1,1)=='%')m=parseInt(window.screen.width*parseInt(m,10)/100,10);if(typeof n=='string'&&n.length>1&&n.substr(n.length-1,1)=='%')n=parseInt(window.screen.height*parseInt(n,10)/100,10);if(m<640)m=640;if(n<420)n=420;var p=parseInt((window.screen.height-n)/2,10),q=parseInt((window.screen.width-m)/2,10);o=(o||'location=no,menubar=no,toolbar=no,dependent=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable=yes,scrollbars=yes')+',width='+m+',height='+n+',top='+p+',left='+q;
-var r=window.open('',null,o,true);if(!r)return false;try{r.moveTo(q,p);r.resizeTo(m,n);r.focus();r.location.href=l;}catch(s){r=window.open(l,null,o,true);}return true;}});(function(){var l={modes:{wysiwyg:1,source:1},canUndo:false,exec:function(n){var o,p=n.config,q=p.baseHref?'<base href="'+p.baseHref+'"/>':'',r=b.isCustomDomain();if(p.fullPage)o=n.getData().replace(/<head>/,'$&'+q).replace(/[^>]*(?=<\/title>)/,n.lang.preview);else{var s='<body ',t=n.document&&n.document.getBody();if(t){if(t.getAttribute('id'))s+='id="'+t.getAttribute('id')+'" ';if(t.getAttribute('class'))s+='class="'+t.getAttribute('class')+'" ';}s+='>';o=n.config.docType+'<html dir="'+n.config.contentsLangDirection+'">'+'<head>'+q+'<title>'+n.lang.preview+'</title>'+e.buildStyleHtml(n.config.contentsCss)+'</head>'+s+n.getData()+'</body></html>';}var u=640,v=420,w=80;try{var x=window.screen;u=Math.round(x.width*0.8);v=Math.round(x.height*0.7);w=Math.round(x.width*0.1);}catch(A){}var y='';if(r){window._cke_htmlToLoad=o;y='javascript:void( (function(){document.open();document.domain="'+document.domain+'";'+'document.write( window.opener._cke_htmlToLoad );'+'document.close();'+'window.opener._cke_htmlToLoad = null;'+'})() )';}var z=window.open(y,null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+u+',height='+v+',left='+w);if(!r){z.document.open();z.document.write(o);z.document.close();}}},m='preview';j.add(m,{init:function(n){n.addCommand(m,l);n.ui.addButton('Preview',{label:n.lang.preview,command:m});}});})();j.add('print',{init:function(l){var m='print',n=l.addCommand(m,j.print);l.ui.addButton('Print',{label:l.lang.print,command:m});}});j.print={exec:function(l){if(b.opera)return;else if(b.gecko)l.window.$.print();else l.document.$.execCommand('Print');},canUndo:false,modes:{wysiwyg:!b.opera}};j.add('removeformat',{requires:['selection'],init:function(l){l.addCommand('removeFormat',j.removeformat.commands.removeformat);l.ui.addButton('RemoveFormat',{label:l.lang.removeFormat,command:'removeFormat'});l._.removeFormat={filters:[]};}});j.removeformat={commands:{removeformat:{exec:function(l){var m=l._.removeFormatRegex||(l._.removeFormatRegex=new RegExp('^(?:'+l.config.removeFormatTags.replace(/,/g,'|')+')$','i')),n=l._.removeAttributes||(l._.removeAttributes=l.config.removeFormatAttributes.split(',')),o=j.removeformat.filter,p=l.getSelection().getRanges(true),q=p.createIterator(),r;while(r=q.getNextRange()){if(r.collapsed)continue;r.enlarge(1);var s=r.createBookmark(),t=s.startNode,u=s.endNode,v=function(y){var z=new d.elementPath(y),A=z.elements;
-for(var B=1,C;C=A[B];B++){if(C.equals(z.block)||C.equals(z.blockLimit))break;if(m.test(C.getName())&&o(l,C))y.breakParent(C);}};v(t);v(u);var w=t.getNextSourceNode(true,1);while(w){if(w.equals(u))break;var x=w.getNextSourceNode(false,1);if(!(w.getName()=='img'&&w.getAttribute('_cke_realelement'))&&o(l,w))if(m.test(w.getName()))w.remove(true);else{w.removeAttributes(n);l.fire('removeFormatCleanup',w);}w=x;}r.moveToBookmark(s);}l.getSelection().selectRanges(p);}}},filter:function(l,m){var n=l._.removeFormat.filters;for(var o=0;o<n.length;o++){if(n[o](m)===false)return false;}return true;}};a.editor.prototype.addRemoveFormatFilter=function(l){this._.removeFormat.filters.push(l);};i.removeFormatTags='b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var';i.removeFormatAttributes='class,style,lang,width,height,align,hspace,valign';j.add('resize',{init:function(l){var m=l.config;!m.resize_dir&&(m.resize_dir='both');m.resize_maxWidth==undefined&&(m.resize_maxWidth=3000);m.resize_maxHeight==undefined&&(m.resize_maxHeight=3000);m.resize_minWidth==undefined&&(m.resize_minWidth=750);m.resize_minHeight==undefined&&(m.resize_minHeight=250);if(m.resize_enabled!==false){var n=null,o,p,q=(m.resize_dir=='both'||m.resize_dir=='horizontal')&&m.resize_minWidth!=m.resize_maxWidth,r=(m.resize_dir=='both'||m.resize_dir=='vertical')&&m.resize_minHeight!=m.resize_maxHeight;function s(v){var w=v.data.$.screenX-o.x,x=v.data.$.screenY-o.y,y=p.width,z=p.height,A=y+w*(l.lang.dir=='rtl'?-1:1),B=z+x;if(q)y=Math.max(m.resize_minWidth,Math.min(A,m.resize_maxWidth));if(r)z=Math.max(m.resize_minHeight,Math.min(B,m.resize_maxHeight));l.resize(y,z);};function t(v){a.document.removeListener('mousemove',s);a.document.removeListener('mouseup',t);if(l.document){l.document.removeListener('mousemove',s);l.document.removeListener('mouseup',t);}};var u=e.addFunction(function(v){if(!n)n=l.getResizable();p={width:n.$.offsetWidth||0,height:n.$.offsetHeight||0};o={x:v.screenX,y:v.screenY};m.resize_minWidth>p.width&&(m.resize_minWidth=p.width);m.resize_minHeight>p.height&&(m.resize_minHeight=p.height);a.document.on('mousemove',s);a.document.on('mouseup',t);if(l.document){l.document.on('mousemove',s);l.document.on('mouseup',t);}});l.on('destroy',function(){e.removeFunction(u);});l.on('themeSpace',function(v){if(v.data.space=='bottom'){var w='';if(q&&!r)w=' cke_resizer_horizontal';if(!q&&r)w=' cke_resizer_vertical';v.data.html+='<div class="cke_resizer'+w+'"'+' title="'+e.htmlEncode(l.lang.resize)+'"'+' onmousedown="CKEDITOR.tools.callFunction('+u+', event)"'+'></div>';
-}},l,null,100);}}});(function(){var l={modes:{wysiwyg:1,source:1},exec:function(n){var o=n.element.$.form;if(o)try{o.submit();}catch(p){if(o.submit.click)o.submit.click();}}},m='save';j.add(m,{init:function(n){var o=n.addCommand(m,l);o.modes={wysiwyg:!!n.element.$.form};n.ui.addButton('Save',{label:n.lang.save,command:m});}});})();(function(){var l='scaytcheck',m='';function n(s,t){var u=false,v;for(v in t){if(t[v]===s||t[v]==s){u=true;break;}}return u;};var o=function(){var s=this,t=function(){var x={};x.srcNodeRef=s.document.getWindow().$.frameElement;x.assocApp='CKEDITOR.'+a.version+'@'+a.revision;x.customerid=s.config.scayt_customerid||'1:WvF0D4-UtPqN1-43nkD4-NKvUm2-daQqk3-LmNiI-z7Ysb4-mwry24-T8YrS3-Q2tpq2';x.customDictionaryIds=s.config.scayt_customDictionaryIds||'';x.userDictionaryName=s.config.scayt_userDictionaryName||'';x.sLang=s.config.scayt_sLang||'en_US';x.onLoad=function(){if(!(c&&b.version<8))this.addStyle(this.selectorCss(),'padding-bottom: 2px !important;');if(s.focusManager.hasFocus&&!p.isControlRestored(s))this.focus();};x.onBeforeChange=function(){if(p.getScayt(s)&&!s.checkDirty())setTimeout(function(){s.resetDirty();},0);};var y=window.scayt_custom_params;if(typeof y=='object')for(var z in y)x[z]=y[z];if(p.getControlId(s))x.id=p.getControlId(s);var A=new window.scayt(x);A.afterMarkupRemove.push(function(H){new h(H,A.document).mergeSiblings();});var B=p.instances[s.name];if(B){A.sLang=B.sLang;A.option(B.option());A.paused=B.paused;}p.instances[s.name]=A;var C='scaytButton',D=window.scayt.uiTags,E=[];for(var F=0,G=4;F<G;F++)E.push(D[F]&&p.uiTabs[F]);p.uiTabs=E;try{A.setDisabled(p.isPaused(s)===false);}catch(H){}s.fire('showScaytState');};s.on('contentDom',t);s.on('contentDomUnload',function(){var x=a.document.getElementsByTag('script'),y=/^dojoIoScript(\d+)$/i,z=/^https?:\/\/svc\.spellchecker\.net\/spellcheck\/script\/ssrv\.cgi/i;for(var A=0;A<x.count();A++){var B=x.getItem(A),C=B.getId(),D=B.getAttribute('src');if(C&&D&&C.match(y)&&D.match(z))B.remove();}});s.on('beforeCommandExec',function(x){if((x.data.name=='source'||x.data.name=='newpage')&&s.mode=='wysiwyg'){var y=p.getScayt(s);if(y){p.setPaused(s,!y.disabled);p.setControlId(s,y.id);y.destroy(true);delete p.instances[s.name];}}else if(x.data.name=='source'&&s.mode=='source')p.markControlRestore(s);});s.on('afterCommandExec',function(x){if(!p.isScaytEnabled(s))return;if(s.mode=='wysiwyg'&&(x.data.name=='undo'||x.data.name=='redo'))window.setTimeout(function(){p.getScayt(s).refresh();},10);
-});s.on('destroy',function(x){var y=x.editor,z=p.getScayt(y);if(!z)return;delete p.instances[y.name];p.setControlId(y,z.id);z.destroy(true);});s.on('afterSetData',function(){if(p.isScaytEnabled(s))window.setTimeout(function(){var x=p.getScayt(s);x&&x.refresh();},10);});s.on('insertElement',function(){var x=p.getScayt(s);if(p.isScaytEnabled(s)){if(c)s.getSelection().unlock(true);window.setTimeout(function(){x.focus();x.refresh();},10);}},this,null,50);s.on('insertHtml',function(){var x=p.getScayt(s);if(p.isScaytEnabled(s)){if(c)s.getSelection().unlock(true);window.setTimeout(function(){x.focus();x.refresh();},10);}},this,null,50);s.on('scaytDialog',function(x){x.data.djConfig=window.djConfig;x.data.scayt_control=p.getScayt(s);x.data.tab=m;x.data.scayt=window.scayt;});var u=s.dataProcessor,v=u&&u.htmlFilter;if(v)v.addRules({elements:{span:function(x){if(x.attributes.scayt_word&&x.attributes.scaytid){delete x.name;return x;}}}});var w=j.undo.Image.prototype;w.equals=e.override(w.equals,function(x){return function(y){var D=this;var z=D.contents,A=y.contents,B=p.getScayt(D.editor);if(B&&p.isScaytReady(D.editor)){D.contents=B.reset(z)||'';y.contents=B.reset(A)||'';}var C=x.apply(D,arguments);D.contents=z;y.contents=A;return C;};});if(s.document)t();};j.scayt={engineLoaded:false,instances:{},controlInfo:{},setControlInfo:function(s,t){if(s&&s.name&&typeof this.controlInfo[s.name]!='object')this.controlInfo[s.name]={};for(var u in t)this.controlInfo[s.name][u]=t[u];},isControlRestored:function(s){if(s&&s.name&&this.controlInfo[s.name])return this.controlInfo[s.name].restored;return false;},markControlRestore:function(s){this.setControlInfo(s,{restored:true});},setControlId:function(s,t){this.setControlInfo(s,{id:t});},getControlId:function(s){if(s&&s.name&&this.controlInfo[s.name]&&this.controlInfo[s.name].id)return this.controlInfo[s.name].id;return null;},setPaused:function(s,t){this.setControlInfo(s,{paused:t});},isPaused:function(s){if(s&&s.name&&this.controlInfo[s.name])return this.controlInfo[s.name].paused;return undefined;},getScayt:function(s){return this.instances[s.name];},isScaytReady:function(s){return this.engineLoaded===true&&'undefined'!==typeof window.scayt&&this.getScayt(s);},isScaytEnabled:function(s){var t=this.getScayt(s);return t?t.disabled===false:false;},loadEngine:function(s){if(b.gecko&&b.version<10900||b.opera)return s.fire('showScaytState');if(this.engineLoaded===true)return o.apply(s);else if(this.engineLoaded==-1)return a.on('scaytReady',function(){o.apply(s);
-});a.on('scaytReady',o,s);a.on('scaytReady',function(){this.engineLoaded=true;},this,null,0);this.engineLoaded=-1;var t=document.location.protocol;t=t.search(/https?:/)!=-1?t:'http:';var u='svc.spellchecker.net/scayt25/loader__base.js',v=s.config.scayt_srcUrl||t+'//'+u,w=p.parseUrl(v).path+'/';if(window.scayt==undefined){a._djScaytConfig={baseUrl:w,addOnLoad:[function(){a.fireOnce('scaytReady');}],isDebug:false};a.document.getHead().append(a.document.createElement('script',{attributes:{type:'text/javascript',async:'true',src:v}}));}else a.fireOnce('scaytReady');return null;},parseUrl:function(s){var t;if(s.match&&(t=s.match(/(.*)[\/\\](.*?\.\w+)$/)))return{path:t[1],file:t[2]};else return s;}};var p=j.scayt,q=function(s,t,u,v,w,x,y){s.addCommand(v,w);s.addMenuItem(v,{label:u,command:v,group:x,order:y});},r={preserveState:true,editorFocus:false,exec:function(s){if(p.isScaytReady(s)){var t=p.isScaytEnabled(s);this.setState(t?2:1);var u=p.getScayt(s);u.focus();u.setDisabled(t);}else if(!s.config.scayt_autoStartup&&p.engineLoaded>=0){this.setState(0);p.loadEngine(s);}}};j.add('scayt',{requires:['menubutton'],beforeInit:function(s){var t=s.config.scayt_contextMenuItemsOrder||'suggest|moresuggest|control',u='';t=t.split('|');if(t&&t.length)for(var v in t)u+='scayt_'+t[v]+(t.length!=parseInt(v,10)+1?',':'');s.config.menu_groups=u+','+s.config.menu_groups;},init:function(s){var t={},u={},v=s.addCommand(l,r);a.dialog.add(l,a.getUrl(this.path+'dialogs/options.js'));var w=s.config.scayt_uiTabs||'1,1,1',x=[];w=w.split(',');for(var y=0,z=3;y<z;y++){var A=parseInt(w[y]||'1',10);x.push(A);}var B='scaytButton';s.addMenuGroup(B);var C={};C.scaytToggle={label:s.lang.scayt.enable,command:l,group:B};if(x[0]==1)C.scaytOptions={label:s.lang.scayt.options,group:B,onClick:function(){m='options';s.openDialog(l);}};if(x[1]==1)C.scaytLangs={label:s.lang.scayt.langs,group:B,onClick:function(){m='langs';s.openDialog(l);}};if(x[2]==1)C.scaytDict={label:s.lang.scayt.dictionariesTab,group:B,onClick:function(){m='dictionaries';s.openDialog(l);}};C.scaytAbout={label:s.lang.scayt.about,group:B,onClick:function(){m='about';s.openDialog(l);}};x[3]=1;p.uiTabs=x;s.addMenuItems(C);s.ui.add('Scayt',5,{label:s.lang.scayt.title,title:b.opera?s.lang.scayt.opera_title:s.lang.scayt.title,className:'cke_button_scayt',onRender:function(){v.on('state',function(){this.setState(v.state);},this);},onMenu:function(){var E=p.isScaytEnabled(s);s.getMenuItem('scaytToggle').label=s.lang.scayt[E?'disable':'enable'];
-return{scaytToggle:2,scaytOptions:E&&p.uiTabs[0]?2:0,scaytLangs:E&&p.uiTabs[1]?2:0,scaytDict:E&&p.uiTabs[2]?2:0,scaytAbout:E&&p.uiTabs[3]?2:0};}});if(s.contextMenu&&s.addMenuItems)s.contextMenu.addListener(function(E,F){if(!p.isScaytEnabled(s)||F.getCommonAncestor().isReadOnly())return null;var G=p.getScayt(s),H=G.getScaytNode();if(!H)return null;var I=G.getWord(H);if(!I)return null;var J=G.getLang(),K={},L=window.scayt.getSuggestion(I,J);if(!L||!L.length)return null;for(y in t){delete s._.menuItems[y];delete s._.commands[y];}for(y in u){delete s._.menuItems[y];delete s._.commands[y];}t={};u={};var M=s.config.scayt_moreSuggestions||'on',N=false,O=s.config.scayt_maxSuggestions;typeof O!='number'&&(O=5);!O&&(O=L.length);var P=s.config.scayt_contextCommands||'all';P=P.split('|');for(var Q=0,R=L.length;Q<R;Q+=1){var S='scayt_suggestion_'+L[Q].replace(' ','_'),T=(function(X,Y){return{exec:function(){G.replace(X,Y);}};})(H,L[Q]);if(Q<O){q(s,'button_'+S,L[Q],S,T,'scayt_suggest',Q+1);K[S]=2;u[S]=2;}else if(M=='on'){q(s,'button_'+S,L[Q],S,T,'scayt_moresuggest',Q+1);t[S]=2;N=true;}}if(N){s.addMenuItem('scayt_moresuggest',{label:s.lang.scayt.moreSuggestions,group:'scayt_moresuggest',order:10,getItems:function(){return t;}});u.scayt_moresuggest=2;}if(n('all',P)||n('ignore',P)){var U={exec:function(){G.ignore(H);}};q(s,'ignore',s.lang.scayt.ignore,'scayt_ignore',U,'scayt_control',1);u.scayt_ignore=2;}if(n('all',P)||n('ignoreall',P)){var V={exec:function(){G.ignoreAll(H);}};q(s,'ignore_all',s.lang.scayt.ignoreAll,'scayt_ignore_all',V,'scayt_control',2);u.scayt_ignore_all=2;}if(n('all',P)||n('add',P)){var W={exec:function(){window.scayt.addWordToUserDictionary(H);}};q(s,'add_word',s.lang.scayt.addWord,'scayt_add_word',W,'scayt_control',3);u.scayt_add_word=2;}if(G.fireOnContextMenu)G.fireOnContextMenu(s);return u;});var D=function(){s.removeListener('showScaytState',D);if(!b.opera)v.setState(p.isScaytEnabled(s)?1:2);else v.setState(0);};s.on('showScaytState',D);if(b.opera)s.on('instanceReady',function(){D();});if(s.config.scayt_autoStartup)s.on('instanceReady',function(){p.loadEngine(s);});},afterInit:function(s){var t,u=function(v){if(v.hasAttribute('scaytid'))return false;};if(s._.elementsPath&&(t=s._.elementsPath.filters))t.push(u);s.addRemoveFormatFilter&&s.addRemoveFormatFilter(u);}});})();j.add('smiley',{requires:['dialog'],init:function(l){l.config.smiley_path=l.config.smiley_path||this.path+'images/';l.addCommand('smiley',new a.dialogCommand('smiley'));l.ui.addButton('Smiley',{label:l.lang.smiley.toolbar,command:'smiley'});
-a.dialog.add('smiley',this.path+'dialogs/smiley.js');}});i.smiley_images=['regular_smile.gif','sad_smile.gif','wink_smile.gif','teeth_smile.gif','confused_smile.gif','tounge_smile.gif','embaressed_smile.gif','omg_smile.gif','whatchutalkingabout_smile.gif','angry_smile.gif','angel_smile.gif','shades_smile.gif','devil_smile.gif','cry_smile.gif','lightbulb.gif','thumbs_down.gif','thumbs_up.gif','heart.gif','broken_heart.gif','kiss.gif','envelope.gif'];i.smiley_descriptions=['smiley','sad','wink','laugh','frown','cheeky','blush','surprise','indecision','angry','angel','cool','devil','crying','enlightened','no','yes','heart','broken heart','kiss','mail'];(function(){var l='.%2 p,.%2 div,.%2 pre,.%2 address,.%2 blockquote,.%2 h1,.%2 h2,.%2 h3,.%2 h4,.%2 h5,.%2 h6{background-repeat: no-repeat;background-position: top %3;border: 1px dotted gray;padding-top: 8px;padding-%3: 8px;}.%2 p{%1p.png);}.%2 div{%1div.png);}.%2 pre{%1pre.png);}.%2 address{%1address.png);}.%2 blockquote{%1blockquote.png);}.%2 h1{%1h1.png);}.%2 h2{%1h2.png);}.%2 h3{%1h3.png);}.%2 h4{%1h4.png);}.%2 h5{%1h5.png);}.%2 h6{%1h6.png);}',m=/%1/g,n=/%2/g,o=/%3/g,p={preserveState:true,editorFocus:false,exec:function(q){this.toggleState();this.refresh(q);},refresh:function(q){var r=this.state==1?'addClass':'removeClass';q.document.getBody()[r]('cke_show_blocks');}};j.add('showblocks',{requires:['wysiwygarea'],init:function(q){var r=q.addCommand('showblocks',p);r.canUndo=false;if(q.config.startupOutlineBlocks)r.setState(1);q.addCss(l.replace(m,'background-image: url('+a.getUrl(this.path)+'images/block_').replace(n,'cke_show_blocks ').replace(o,q.lang.dir=='rtl'?'right':'left'));q.ui.addButton('ShowBlocks',{label:q.lang.showBlocks,command:'showblocks'});q.on('mode',function(){if(r.state!=0)r.refresh(q);});q.on('contentDom',function(){if(r.state!=0)r.refresh(q);});}});})();i.startupOutlineBlocks=false;(function(){var l='cke_show_border',m,n=(b.ie6Compat?['.%1 table.%2,','.%1 table.%2 td, .%1 table.%2 th,','{','border : #d3d3d3 1px dotted','}']:['.%1 table.%2,','.%1 table.%2 > tr > td, .%1 table.%2 > tr > th,','.%1 table.%2 > tbody > tr > td, .%1 table.%2 > tbody > tr > th,','.%1 table.%2 > thead > tr > td, .%1 table.%2 > thead > tr > th,','.%1 table.%2 > tfoot > tr > td, .%1 table.%2 > tfoot > tr > th','{','border : #d3d3d3 1px dotted','}']).join('');m=n.replace(/%2/g,l).replace(/%1/g,'cke_show_borders ');var o={preserveState:true,editorFocus:false,exec:function(p){this.toggleState();this.refresh(p);},refresh:function(p){var q=this.state==1?'addClass':'removeClass';
-p.document.getBody()[q]('cke_show_borders');}};j.add('showborders',{requires:['wysiwygarea'],modes:{wysiwyg:1},init:function(p){var q=p.addCommand('showborders',o);q.canUndo=false;if(p.config.startupShowBorders!==false)q.setState(1);p.addCss(m);p.on('mode',function(){if(q.state!=0)q.refresh(p);},null,null,100);p.on('contentDom',function(){if(q.state!=0)q.refresh(p);});p.on('removeFormatCleanup',function(r){var s=r.data;if(p.getCommand('showborders').state==1&&s.is('table')&&(!s.hasAttribute('border')||parseInt(s.getAttribute('border'),10)<=0))s.addClass(l);});},afterInit:function(p){var q=p.dataProcessor,r=q&&q.dataFilter,s=q&&q.htmlFilter;if(r)r.addRules({elements:{table:function(t){var u=t.attributes,v=u['class'],w=parseInt(u.border,10);if(!w||w<=0)u['class']=(v||'')+' '+l;}}});if(s)s.addRules({elements:{table:function(t){var u=t.attributes,v=u['class'];v&&(u['class']=v.replace(l,'').replace(/\s{2}/,' ').replace(/^\s+|\s+$/,''));}}});}});a.on('dialogDefinition',function(p){var q=p.data.name;if(q=='table'||q=='tableProperties'){var r=p.data.definition,s=r.getContents('info'),t=s.get('txtBorder'),u=t.commit;t.commit=e.override(u,function(x){return function(y,z){x.apply(this,arguments);var A=parseInt(this.getValue(),10);z[!A||A<=0?'addClass':'removeClass'](l);};});var v=r.getContents('advanced'),w=v&&v.get('advCSSClasses');if(w){w.setup=e.override(w.setup,function(x){return function(){x.apply(this,arguments);this.setValue(this.getValue().replace(/cke_show_border/,''));};});w.commit=e.override(w.commit,function(x){return function(y,z){x.apply(this,arguments);if(!parseInt(z.getAttribute('border'),10))z.addClass('cke_show_border');};});}}});})();j.add('sourcearea',{requires:['editingblock'],init:function(l){var m=j.sourcearea,n=a.document.getWindow();l.on('editingBlockReady',function(){var o,p;l.addMode('source',{load:function(q,r){if(c&&b.version<8)q.setStyle('position','relative');l.textarea=o=new h('textarea');o.setAttributes({dir:'ltr',tabIndex:b.webkit?-1:l.tabIndex,role:'textbox','aria-label':l.lang.editorTitle.replace('%1',l.name)});o.addClass('cke_source');o.addClass('cke_enable_context_menu');var s={width:b.ie7Compat?'99%':'100%',height:'100%',resize:'none',outline:'none','text-align':'left'};if(c){p=function(){o.hide();o.setStyle('height',q.$.clientHeight+'px');o.setStyle('width',q.$.clientWidth+'px');o.show();};l.on('resize',p);n.on('resize',p);setTimeout(p,0);}else o.on('mousedown',function(u){u.data.stopPropagation();});q.setHtml('');q.append(o);o.setStyles(s);
-l.fire('ariaWidget',o);o.on('blur',function(){l.focusManager.blur();});o.on('focus',function(){l.focusManager.focus();});l.mayBeDirty=true;this.loadData(r);var t=l.keystrokeHandler;if(t)t.attach(o);setTimeout(function(){l.mode='source';l.fire('mode');},b.gecko||b.webkit?100:0);},loadData:function(q){o.setValue(q);l.fire('dataReady');},getData:function(){return o.getValue();},getSnapshotData:function(){return o.getValue();},unload:function(q){o.clearCustomData();l.textarea=o=null;if(p){l.removeListener('resize',p);n.removeListener('resize',p);}if(c&&b.version<8)q.removeStyle('position');},focus:function(){o.focus();}});});l.addCommand('source',m.commands.source);if(l.ui.addButton)l.ui.addButton('Source',{label:l.lang.source,command:'source'});l.on('mode',function(){l.getCommand('source').setState(l.mode=='source'?1:2);});}});j.sourcearea={commands:{source:{modes:{wysiwyg:1,source:1},editorFocus:false,exec:function(l){if(l.mode=='wysiwyg')l.fire('saveSnapshot');l.getCommand('source').setState(0);l.setMode(l.mode=='source'?'wysiwyg':'source');},canUndo:false}}};(function(){j.add('stylescombo',{requires:['richcombo','styles'],init:function(m){var n=m.config,o=m.lang.stylesCombo,p={},q=[];function r(s){m.getStylesSet(function(t){if(!q.length){var u,v;for(var w=0;w<t.length;w++){var x=t[w];v=x.name;u=p[v]=new a.style(x);u._name=v;u._.enterMode=n.enterMode;q.push(u);}q.sort(l);}s&&s();});};m.ui.addRichCombo('Styles',{label:o.label,title:o.panelTitle,className:'cke_styles',panel:{css:m.skin.editor.css.concat(n.contentsCss),multiSelect:true,attributes:{'aria-label':o.panelTitle}},init:function(){var s=this;r(function(){var t,u,v;for(var w=0;w<q.length;w++){t=q[w];u=t._name;var x=t.type;if(x!=v){s.startGroup(o['panelTitle'+String(x)]);v=x;}s.add(u,t.type==3?u:t.buildPreview(),u);}s.commit();s.onOpen();});},onClick:function(s){m.focus();m.fire('saveSnapshot');var t=p[s],u=m.getSelection(),v=new d.elementPath(u.getStartElement());if(t.type==2&&t.checkActive(v))t.remove(m.document);else if(t.type==3&&t.checkActive(v))t.remove(m.document);else t.apply(m.document);m.fire('saveSnapshot');},onRender:function(){m.on('selectionChange',function(s){var t=this.getValue(),u=s.data.path,v=u.elements;for(var w=0,x;w<v.length;w++){x=v[w];for(var y in p){if(p[y].checkElementRemovable(x,true)){if(y!=t)this.setValue(y);return;}}}this.setValue('');},this);},onOpen:function(){var z=this;if(c||b.webkit)m.focus();var s=m.getSelection(),t=s.getSelectedElement(),u=new d.elementPath(t||s.getStartElement()),v=[0,0,0,0];
-z.showAll();z.unmarkAll();for(var w in p){var x=p[w],y=x.type;if(x.checkActive(u))z.mark(w);else if(y==3&&!x.checkApplicable(u)){z.hideItem(w);v[y]--;}v[y]++;}if(!v[1])z.hideGroup(o['panelTitle'+String(1)]);if(!v[2])z.hideGroup(o['panelTitle'+String(2)]);if(!v[3])z.hideGroup(o['panelTitle'+String(3)]);}});m.on('instanceReady',function(){r();});}});function l(m,n){var o=m.type,p=n.type;return o==p?0:o==3?-1:p==3?1:p==1?1:-1;};})();j.add('table',{init:function(l){var m=j.table,n=l.lang.table;l.addCommand('table',new a.dialogCommand('table'));l.addCommand('tableProperties',new a.dialogCommand('tableProperties'));l.ui.addButton('Table',{label:n.toolbar,command:'table'});a.dialog.add('table',this.path+'dialogs/table.js');a.dialog.add('tableProperties',this.path+'dialogs/table.js');if(l.addMenuItems)l.addMenuItems({table:{label:n.menu,command:'tableProperties',group:'table',order:5},tabledelete:{label:n.deleteTable,command:'tableDelete',group:'table',order:1}});l.on('doubleclick',function(o){var p=o.data.element;if(p.is('table'))o.data.dialog='tableProperties';});if(l.contextMenu)l.contextMenu.addListener(function(o,p){if(!o||o.isReadOnly())return null;var q=o.is('table')||o.hasAscendant('table');if(q)return{tabledelete:2,table:2};return null;});}});(function(){function l(F,G){if(c)F.removeAttribute(G);else delete F[G];};var m=/^(?:td|th)$/;function n(F){var G=F.createBookmarks(),H=F.getRanges(),I=[],J={};function K(S){if(I.length>0)return;if(S.type==1&&m.test(S.getName())&&!S.getCustomData('selected_cell')){h.setMarker(J,S,'selected_cell',true);I.push(S);}};for(var L=0;L<H.length;L++){var M=H[L];if(M.collapsed){var N=M.getCommonAncestor(),O=N.getAscendant('td',true)||N.getAscendant('th',true);if(O)I.push(O);}else{var P=new d.walker(M),Q;P.guard=K;while(Q=P.next()){var R=Q.getParent();if(R&&m.test(R.getName())&&!R.getCustomData('selected_cell')){h.setMarker(J,R,'selected_cell',true);I.push(R);}}}}h.clearAllMarkers(J);F.selectBookmarks(G);return I;};function o(F){var G=0,H=F.length-1,I={},J,K,L;while(J=F[G++])h.setMarker(I,J,'delete_cell',true);G=0;while(J=F[G++]){if((K=J.getPrevious())&&!K.getCustomData('delete_cell')||(K=J.getNext())&&!K.getCustomData('delete_cell')){h.clearAllMarkers(I);return K;}}h.clearAllMarkers(I);L=F[0].getParent();if(L=L.getPrevious())return L.getLast();L=F[H].getParent();if(L=L.getNext())return L.getChild(0);return null;};function p(F){var G=F.cells;for(var H=0;H<G.length;H++){G[H].innerHTML='';if(!c)new h(G[H]).appendBogus();}};function q(F,G){var H=F.getStartElement().getAscendant('tr');
-if(!H)return;var I=H.clone(true);G?I.insertBefore(H):I.insertAfter(H);p(I.$);};function r(F){if(F instanceof d.selection){var G=n(F),H=G.length,I=[],J,K,L;for(var M=0;M<H;M++){var N=G[M].getParent(),O=N.$.rowIndex;!M&&(K=O-1);I[O]=N;M==H-1&&(L=O+1);}var P=N.getAscendant('table'),Q=P.$.rows,R=Q.length;J=new h(L<R&&P.$.rows[L]||K>0&&P.$.rows[K]||P.$.parentNode);for(M=I.length;M>=0;M--){if(I[M])r(I[M]);}return J;}else if(F instanceof h){P=F.getAscendant('table');if(P.$.rows.length==1)P.remove();else F.remove();}return 0;};function s(F,G){var H=F.getStartElement(),I=H.getAscendant('td',true)||H.getAscendant('th',true);if(!I)return;var J=I.getAscendant('table'),K=I.$.cellIndex;for(var L=0;L<J.$.rows.length;L++){var M=J.$.rows[L];if(M.cells.length<K+1)continue;I=new h(M.cells[K]).clone(false);if(!c)I.appendBogus();var N=new h(M.cells[K]);if(G)I.insertBefore(N);else I.insertAfter(N);}};function t(F){var G=[],H=F[0]&&F[0].getAscendant('table'),I,J,K,L;for(I=0,J=F.length;I<J;I++)G.push(F[I].$.cellIndex);G.sort();for(I=1,J=G.length;I<J;I++){if(G[I]-G[I-1]>1){K=G[I-1]+1;break;}}if(!K)K=G[0]>0?G[0]-1:G[G.length-1]+1;var M=H.$.rows;for(I=0,J=M.length;I<J;I++){L=M[I].cells[K];if(L)break;}return L?new h(L):H.getPrevious();};function u(F){if(F instanceof d.selection){var G=n(F),H=t(G);for(var I=G.length-1;I>=0;I--){if(G[I])u(G[I]);}return H;}else if(F instanceof h){var J=F.getAscendant('table');if(!J)return null;var K=F.$.cellIndex;for(I=J.$.rows.length-1;I>=0;I--){var L=new h(J.$.rows[I]);if(!K&&L.$.cells.length==1){r(L);continue;}if(L.$.cells[K])L.$.removeChild(L.$.cells[K]);}}return null;};function v(F,G){var H=F.getStartElement(),I=H.getAscendant('td',true)||H.getAscendant('th',true);if(!I)return;var J=I.clone();if(!c)J.appendBogus();if(G)J.insertBefore(I);else J.insertAfter(I);};function w(F){if(F instanceof d.selection){var G=n(F),H=G[0]&&G[0].getAscendant('table'),I=o(G);for(var J=G.length-1;J>=0;J--)w(G[J]);if(I)y(I,true);else if(H)H.remove();}else if(F instanceof h){var K=F.getParent();if(K.getChildCount()==1)K.remove();else F.remove();}};function x(F){var G=F.getBogus();G&&G.remove();F.trim();};function y(F,G){var H=new d.range(F.getDocument());if(!H['moveToElementEdit'+(G?'End':'Start')](F)){H.selectNodeContents(F);H.collapse(G?false:true);}H.select(true);};function z(F,G,H){var I=F[G];if(typeof H=='undefined')return I;for(var J=0;I&&J<I.length;J++){if(H.is&&I[J]==H.$)return J;else if(J==H)return new h(I[J]);}return H.is?-1:null;};function A(F,G,H){var I=[];for(var J=0;
-J<F.length;J++){var K=F[J];if(typeof H=='undefined')I.push(K[G]);else if(H.is&&K[G]==H.$)return J;else if(J==H)return new h(K[G]);}return typeof H=='undefined'?I:H.is?-1:null;};function B(F,G,H){var I=n(F),J;if((G?I.length!=1:I.length<2)||(J=F.getCommonAncestor())&&J.type==1&&J.is('table'))return false;var K,L=I[0],M=L.getAscendant('table'),N=e.buildTableMap(M),O=N.length,P=N[0].length,Q=L.getParent().$.rowIndex,R=z(N,Q,L);if(G){var S;try{S=N[G=='up'?Q-1:G=='down'?Q+1:Q][G=='left'?R-1:G=='right'?R+1:R];}catch(ak){return false;}if(!S||L.$==S)return false;I[G=='up'||G=='left'?'unshift':'push'](new h(S));}var T=L.getDocument(),U=Q,V=0,W=0,X=!H&&new d.documentFragment(T),Y=0;for(var Z=0;Z<I.length;Z++){K=I[Z];var aa=K.getParent(),ab=K.getFirst(),ac=K.$.colSpan,ad=K.$.rowSpan,ae=aa.$.rowIndex,af=z(N,ae,K);Y+=ac*ad;W=Math.max(W,af-R+ac);V=Math.max(V,ae-Q+ad);if(!H){if(x(K),K.getChildren().count()){if(ae!=U&&ab&&!(ab.isBlockBoundary&&ab.isBlockBoundary({br:1}))){var ag=X.getLast(d.walker.whitespaces(true));if(ag&&!(ag.is&&ag.is('br')))X.append(new h('br'));}K.moveChildren(X);}Z?K.remove():K.setHtml('');}U=ae;}if(!H){X.moveChildren(L);if(!c)L.appendBogus();if(W>=P)L.removeAttribute('rowSpan');else L.$.rowSpan=V;if(V>=O)L.removeAttribute('colSpan');else L.$.colSpan=W;var ah=new d.nodeList(M.$.rows),ai=ah.count();for(Z=ai-1;Z>=0;Z--){var aj=ah.getItem(Z);if(!aj.$.cells.length){aj.remove();ai++;continue;}}return L;}else return V*W==Y;};function C(F,G){var H=n(F);if(H.length>1)return false;else if(G)return true;var I=H[0],J=I.getParent(),K=J.getAscendant('table'),L=e.buildTableMap(K),M=J.$.rowIndex,N=z(L,M,I),O=I.$.rowSpan,P,Q,R,S;if(O>1){Q=Math.ceil(O/2);R=Math.floor(O/2);S=M+Q;var T=new h(K.$.rows[S]),U=z(L,S),V;P=I.clone();for(var W=0;W<U.length;W++){V=U[W];if(V.parentNode==T.$&&W>N){P.insertBefore(new h(V));break;}else V=null;}if(!V)T.append(P,true);}else{R=Q=1;T=J.clone();T.insertAfter(J);T.append(P=I.clone());var X=z(L,M);for(var Y=0;Y<X.length;Y++)X[Y].rowSpan++;}if(!c)P.appendBogus();I.$.rowSpan=Q;P.$.rowSpan=R;if(Q==1)I.removeAttribute('rowSpan');if(R==1)P.removeAttribute('rowSpan');return P;};function D(F,G){var H=n(F);if(H.length>1)return false;else if(G)return true;var I=H[0],J=I.getParent(),K=J.getAscendant('table'),L=e.buildTableMap(K),M=J.$.rowIndex,N=z(L,M,I),O=I.$.colSpan,P,Q,R;if(O>1){Q=Math.ceil(O/2);R=Math.floor(O/2);}else{R=Q=1;var S=A(L,N);for(var T=0;T<S.length;T++)S[T].colSpan++;}P=I.clone();P.insertAfter(I);if(!c)P.appendBogus();I.$.colSpan=Q;P.$.colSpan=R;
-if(Q==1)I.removeAttribute('colSpan');if(R==1)P.removeAttribute('colSpan');return P;};var E={thead:1,tbody:1,tfoot:1,td:1,tr:1,th:1};j.tabletools={init:function(F){var G=F.lang.table;F.addCommand('cellProperties',new a.dialogCommand('cellProperties'));a.dialog.add('cellProperties',this.path+'dialogs/tableCell.js');F.addCommand('tableDelete',{exec:function(H){var I=H.getSelection(),J=I&&I.getStartElement(),K=J&&J.getAscendant('table',true);if(!K)return;I.selectElement(K);var L=I.getRanges()[0];L.collapse();I.selectRanges([L]);var M=K.getParent();if(M.getChildCount()==1&&M.getName()!='body')M.remove();else K.remove();}});F.addCommand('rowDelete',{exec:function(H){var I=H.getSelection();y(r(I));}});F.addCommand('rowInsertBefore',{exec:function(H){var I=H.getSelection();q(I,true);}});F.addCommand('rowInsertAfter',{exec:function(H){var I=H.getSelection();q(I);}});F.addCommand('columnDelete',{exec:function(H){var I=H.getSelection(),J=u(I);J&&y(J,true);}});F.addCommand('columnInsertBefore',{exec:function(H){var I=H.getSelection();s(I,true);}});F.addCommand('columnInsertAfter',{exec:function(H){var I=H.getSelection();s(I);}});F.addCommand('cellDelete',{exec:function(H){var I=H.getSelection();w(I);}});F.addCommand('cellMerge',{exec:function(H){y(B(H.getSelection()),true);}});F.addCommand('cellMergeRight',{exec:function(H){y(B(H.getSelection(),'right'),true);}});F.addCommand('cellMergeDown',{exec:function(H){y(B(H.getSelection(),'down'),true);}});F.addCommand('cellVerticalSplit',{exec:function(H){y(C(H.getSelection()));}});F.addCommand('cellHorizontalSplit',{exec:function(H){y(D(H.getSelection()));}});F.addCommand('cellInsertBefore',{exec:function(H){var I=H.getSelection();v(I,true);}});F.addCommand('cellInsertAfter',{exec:function(H){var I=H.getSelection();v(I);}});if(F.addMenuItems)F.addMenuItems({tablecell:{label:G.cell.menu,group:'tablecell',order:1,getItems:function(){var H=F.getSelection(),I=n(H);return{tablecell_insertBefore:2,tablecell_insertAfter:2,tablecell_delete:2,tablecell_merge:B(H,null,true)?2:0,tablecell_merge_right:B(H,'right',true)?2:0,tablecell_merge_down:B(H,'down',true)?2:0,tablecell_split_vertical:C(H,true)?2:0,tablecell_split_horizontal:D(H,true)?2:0,tablecell_properties:I.length>0?2:0};}},tablecell_insertBefore:{label:G.cell.insertBefore,group:'tablecell',command:'cellInsertBefore',order:5},tablecell_insertAfter:{label:G.cell.insertAfter,group:'tablecell',command:'cellInsertAfter',order:10},tablecell_delete:{label:G.cell.deleteCell,group:'tablecell',command:'cellDelete',order:15},tablecell_merge:{label:G.cell.merge,group:'tablecell',command:'cellMerge',order:16},tablecell_merge_right:{label:G.cell.mergeRight,group:'tablecell',command:'cellMergeRight',order:17},tablecell_merge_down:{label:G.cell.mergeDown,group:'tablecell',command:'cellMergeDown',order:18},tablecell_split_horizontal:{label:G.cell.splitHorizontal,group:'tablecell',command:'cellHorizontalSplit',order:19},tablecell_split_vertical:{label:G.cell.splitVertical,group:'tablecell',command:'cellVerticalSplit',order:20},tablecell_properties:{label:G.cell.title,group:'tablecellproperties',command:'cellProperties',order:21},tablerow:{label:G.row.menu,group:'tablerow',order:1,getItems:function(){return{tablerow_insertBefore:2,tablerow_insertAfter:2,tablerow_delete:2};
-}},tablerow_insertBefore:{label:G.row.insertBefore,group:'tablerow',command:'rowInsertBefore',order:5},tablerow_insertAfter:{label:G.row.insertAfter,group:'tablerow',command:'rowInsertAfter',order:10},tablerow_delete:{label:G.row.deleteRow,group:'tablerow',command:'rowDelete',order:15},tablecolumn:{label:G.column.menu,group:'tablecolumn',order:1,getItems:function(){return{tablecolumn_insertBefore:2,tablecolumn_insertAfter:2,tablecolumn_delete:2};}},tablecolumn_insertBefore:{label:G.column.insertBefore,group:'tablecolumn',command:'columnInsertBefore',order:5},tablecolumn_insertAfter:{label:G.column.insertAfter,group:'tablecolumn',command:'columnInsertAfter',order:10},tablecolumn_delete:{label:G.column.deleteColumn,group:'tablecolumn',command:'columnDelete',order:15}});if(F.contextMenu)F.contextMenu.addListener(function(H,I){if(!H||H.isReadOnly())return null;while(H){if(H.getName() in E)return{tablecell:2,tablerow:2,tablecolumn:2};H=H.getParent();}return null;});},getSelectedCells:n};j.add('tabletools',j.tabletools);})();e.buildTableMap=function(l){var m=l.$.rows,n=-1,o=[];for(var p=0;p<m.length;p++){n++;!o[n]&&(o[n]=[]);var q=-1;for(var r=0;r<m[p].cells.length;r++){var s=m[p].cells[r];q++;while(o[n][q])q++;var t=isNaN(s.colSpan)?1:s.colSpan,u=isNaN(s.rowSpan)?1:s.rowSpan;for(var v=0;v<u;v++){if(!o[n+v])o[n+v]=[];for(var w=0;w<t;w++)o[n+v][q+w]=m[p].cells[r];}q+=t-1;}}return o;};j.add('specialchar',{init:function(l){var m='specialchar';a.dialog.add(m,this.path+'dialogs/specialchar.js');l.addCommand(m,new a.dialogCommand(m));l.ui.addButton('SpecialChar',{label:l.lang.specialChar.toolbar,command:m});}});(function(){var l={editorFocus:false,modes:{wysiwyg:1,source:1}},m={exec:function(p){p.container.focusNext(true,p.tabIndex);}},n={exec:function(p){p.container.focusPrevious(true,p.tabIndex);}};function o(p){return{editorFocus:false,canUndo:false,modes:{wysiwyg:1},exec:function(q){if(q.focusManager.hasFocus){var r=q.getSelection(),s=r.getCommonAncestor(),t;if(t=s.getAscendant('td',true)||s.getAscendant('th',true)){var u=new d.range(q.document),v=e.tryThese(function(){var C=t.getParent(),D=C.$.cells[t.$.cellIndex+(p?-1:1)];D.parentNode.parentNode;return D;},function(){var C=t.getParent(),D=C.getAscendant('table'),E=D.$.rows[C.$.rowIndex+(p?-1:1)];return E.cells[p?E.cells.length-1:0];});if(!(v||p)){var w=t.getAscendant('table').$,x=t.getParent().$.cells,y=new h(w.insertRow(-1),q.document);for(var z=0,A=x.length;z<A;z++){var B=y.append(new h(x[z],q.document).clone(false,false));
-!c&&B.appendBogus();}u.moveToElementEditStart(y);}else if(v){v=new h(v);u.moveToElementEditStart(v);if(!(u.checkStartOfBlock()&&u.checkEndOfBlock()))u.selectNodeContents(v);}else return true;u.select(true);return true;}}return false;}};};j.add('tab',{requires:['keystrokes'],init:function(p){var q=p.config.enableTabKeyTools!==false,r=p.config.tabSpaces||0,s='';while(r--)s+='\xa0';if(s)p.on('key',function(t){if(t.data.keyCode==9){p.insertHtml(s);t.cancel();}});if(q)p.on('key',function(t){if(t.data.keyCode==9&&p.execCommand('selectNextCell')||t.data.keyCode==2000+9&&p.execCommand('selectPreviousCell'))t.cancel();});if(b.webkit||b.gecko)p.on('key',function(t){var u=t.data.keyCode;if(u==9&&!s){t.cancel();p.execCommand('blur');}if(u==2000+9){p.execCommand('blurBack');t.cancel();}});p.addCommand('blur',e.extend(m,l));p.addCommand('blurBack',e.extend(n,l));p.addCommand('selectNextCell',o());p.addCommand('selectPreviousCell',o(true));}});})();h.prototype.focusNext=function(l,m){var v=this;var n=v.$,o=m===undefined?v.getTabIndex():m,p,q,r,s,t,u;if(o<=0){t=v.getNextSourceNode(l,1);while(t){if(t.isVisible()&&t.getTabIndex()===0){r=t;break;}t=t.getNextSourceNode(false,1);}}else{t=v.getDocument().getBody().getFirst();while(t=t.getNextSourceNode(false,1)){if(!p)if(!q&&t.equals(v)){q=true;if(l){if(!(t=t.getNextSourceNode(true,1)))break;p=1;}}else if(q&&!v.contains(t))p=1;if(!t.isVisible()||(u=t.getTabIndex())<0)continue;if(p&&u==o){r=t;break;}if(u>o&&(!r||!s||u<s)){r=t;s=u;}else if(!r&&u===0){r=t;s=u;}}}if(r)r.focus();};h.prototype.focusPrevious=function(l,m){var v=this;var n=v.$,o=m===undefined?v.getTabIndex():m,p,q,r,s=0,t,u=v.getDocument().getBody().getLast();while(u=u.getPreviousSourceNode(false,1)){if(!p)if(!q&&u.equals(v)){q=true;if(l){if(!(u=u.getPreviousSourceNode(true,1)))break;p=1;}}else if(q&&!v.contains(u))p=1;if(!u.isVisible()||(t=u.getTabIndex())<0)continue;if(o<=0){if(p&&t===0){r=u;break;}if(t>s){r=u;s=t;}}else{if(p&&t==o){r=u;break;}if(t<o&&(!r||t>s)){r=u;s=t;}}}if(r)r.focus();};(function(){j.add('templates',{requires:['dialog'],init:function(n){a.dialog.add('templates',a.getUrl(this.path+'dialogs/templates.js'));n.addCommand('templates',new a.dialogCommand('templates'));n.ui.addButton('Templates',{label:n.lang.templates.button,command:'templates'});}});var l={},m={};a.addTemplates=function(n,o){l[n]=o;};a.getTemplates=function(n){return l[n];};a.loadTemplates=function(n,o){var p=[];for(var q=0;q<n.length;q++){if(!m[n[q]]){p.push(n[q]);m[n[q]]=1;}}if(p.length>0)a.scriptLoader.load(p,o);
-else setTimeout(o,0);};})();i.templates='default';i.templates_files=[a.getUrl('plugins/templates/templates/default.js')];i.templates_replaceContent=true;(function(){var l=function(){this.toolbars=[];this.focusCommandExecuted=false;};l.prototype.focus=function(){for(var n=0,o;o=this.toolbars[n++];)for(var p=0,q;q=o.items[p++];){if(q.focus){q.focus();return;}}};var m={toolbarFocus:{modes:{wysiwyg:1,source:1},exec:function(n){if(n.toolbox){n.toolbox.focusCommandExecuted=true;if(c)setTimeout(function(){n.toolbox.focus();},100);else n.toolbox.focus();}}}};j.add('toolbar',{init:function(n){var o=function(p,q){var r,s,t,u=n.lang.dir=='rtl';switch(q){case u?37:39:case 9:do{r=p.next;if(!r){s=p.toolbar.next;t=s&&s.items.length;while(t===0){s=s.next;t=s&&s.items.length;}if(s)r=s.items[0];}p=r;}while(p&&!p.focus)if(p)p.focus();else n.toolbox.focus();return false;case u?39:37:case 2000+9:do{r=p.previous;if(!r){s=p.toolbar.previous;t=s&&s.items.length;while(t===0){s=s.previous;t=s&&s.items.length;}if(s)r=s.items[t-1];}p=r;}while(p&&!p.focus)if(p)p.focus();else{var v=n.toolbox.toolbars[n.toolbox.toolbars.length-1].items;v[v.length-1].focus();}return false;case 27:n.focus();return false;case 13:case 32:p.execute();return false;}return true;};n.on('themeSpace',function(p){if(p.data.space==n.config.toolbarLocation){n.toolbox=new l();var q='cke_'+e.getNextNumber(),r=['<div class="cke_toolbox" role="toolbar" aria-labelledby="',q,'"'],s=n.config.toolbarStartupExpanded!==false,t;r.push(s?'>':' style="display:none">');r.push('<span id="',q,'" class="cke_voice_label">',n.lang.toolbar,'</span>');var u=n.toolbox.toolbars,v=n.config.toolbar instanceof Array?n.config.toolbar:n.config['toolbar_'+n.config.toolbar];for(var w=0;w<v.length;w++){var x=v[w];if(!x)continue;var y='cke_'+e.getNextNumber(),z={id:y,items:[]};if(t){r.push('</div>');t=0;}if(x==='/'){r.push('<div class="cke_break"></div>');continue;}r.push('<span id="',y,'" class="cke_toolbar" role="presentation"><span class="cke_toolbar_start"></span>');var A=u.push(z)-1;if(A>0){z.previous=u[A-1];z.previous.next=z;}for(var B=0;B<x.length;B++){var C,D=x[B];if(D=='-')C=k.separator;else C=n.ui.create(D);if(C){if(C.canGroup){if(!t){r.push('<span class="cke_toolgroup" role="presentation">');t=1;}}else if(t){r.push('</span>');t=0;}var E=C.render(n,r);A=z.items.push(E)-1;if(A>0){E.previous=z.items[A-1];E.previous.next=E;}E.toolbar=z;E.onkey=o;E.onfocus=function(){if(!n.toolbox.focusCommandExecuted)n.focus();};}}if(t){r.push('</span>');t=0;
-}r.push('<span class="cke_toolbar_end"></span></span>');}r.push('</div>');if(n.config.toolbarCanCollapse){var F=e.addFunction(function(){n.execCommand('toolbarCollapse');});n.on('destroy',function(){e.removeFunction(F);});var G='cke_'+e.getNextNumber();n.addCommand('toolbarCollapse',{exec:function(H){var I=a.document.getById(G),J=I.getPrevious(),K=H.getThemeSpace('contents'),L=J.getParent(),M=parseInt(K.$.style.height,10),N=L.$.offsetHeight,O=!J.isVisible();if(!O){J.hide();I.addClass('cke_toolbox_collapser_min');I.setAttribute('title',H.lang.toolbarExpand);}else{J.show();I.removeClass('cke_toolbox_collapser_min');I.setAttribute('title',H.lang.toolbarCollapse);}I.getFirst().setText(O?'▲':'◀');var P=L.$.offsetHeight-N;K.setStyle('height',M-P+'px');H.fire('resize');},modes:{wysiwyg:1,source:1}});r.push('<a title="'+(s?n.lang.toolbarCollapse:n.lang.toolbarExpand)+'" id="'+G+'" tabIndex="-1" class="cke_toolbox_collapser');if(!s)r.push(' cke_toolbox_collapser_min');r.push('" onclick="CKEDITOR.tools.callFunction('+F+')">','<span>&#9650;</span>','</a>');}p.data.html+=r.join('');}});n.addCommand('toolbarFocus',m.toolbarFocus);}});})();k.separator={render:function(l,m){m.push('<span class="cke_separator" role="separator"></span>');return{};}};i.toolbarLocation='top';i.toolbar_Basic=[['Bold','Italic','-','NumberedList','BulletedList','-','Link','Unlink','-','About']];i.toolbar_Full=[['Source','-','Save','NewPage','Preview','-','Templates'],['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print','SpellChecker','Scayt'],['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],'/',['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],['NumberedList','BulletedList','-','Outdent','Indent','Blockquote','CreateDiv'],['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],['BidiLtr','BidiRtl'],['Link','Unlink','Anchor'],['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak'],'/',['Styles','Format','Font','FontSize'],['TextColor','BGColor'],['Maximize','ShowBlocks','-','About']];i.toolbar='Full';i.toolbarCanCollapse=true;(function(){j.add('undo',{requires:['selection','wysiwygarea'],init:function(r){var s=new n(r),t=r.addCommand('undo',{exec:function(){if(s.undo()){r.selectionChange();this.fire('afterUndo');}},state:0,canUndo:false}),u=r.addCommand('redo',{exec:function(){if(s.redo()){r.selectionChange();this.fire('afterRedo');
-}},state:0,canUndo:false});s.onChange=function(){t.setState(s.undoable()?2:0);u.setState(s.redoable()?2:0);};function v(w){if(s.enabled&&w.data.command.canUndo!==false)s.save();};r.on('beforeCommandExec',v);r.on('afterCommandExec',v);r.on('saveSnapshot',function(){s.save();});r.on('contentDom',function(){r.document.on('keydown',function(w){if(!w.data.$.ctrlKey&&!w.data.$.metaKey)s.type(w);});});r.on('beforeModeUnload',function(){r.mode=='wysiwyg'&&s.save(true);});r.on('mode',function(){s.enabled=r.mode=='wysiwyg';s.onChange();});r.ui.addButton('Undo',{label:r.lang.undo,command:'undo'});r.ui.addButton('Redo',{label:r.lang.redo,command:'redo'});r.resetUndo=function(){s.reset();r.fire('saveSnapshot');};r.on('updateSnapshot',function(){if(s.currentImage&&new l(r).equals(s.currentImage))setTimeout(function(){s.update();},0);});}});j.undo={};var l=j.undo.Image=function(r){this.editor=r;var s=r.getSnapshot(),t=s&&r.getSelection();c&&s&&(s=s.replace(/\s+_cke_expando=".*?"/g,''));this.contents=s;this.bookmarks=t&&t.createBookmarks2(true);},m=/\b(?:href|src|name)="[^"]*?"/gi;l.prototype={equals:function(r,s){var t=this.contents,u=r.contents;if(c&&(b.ie7Compat||b.ie6Compat)){t=t.replace(m,'');u=u.replace(m,'');}if(t!=u)return false;if(s)return true;var v=this.bookmarks,w=r.bookmarks;if(v||w){if(!v||!w||v.length!=w.length)return false;for(var x=0;x<v.length;x++){var y=v[x],z=w[x];if(y.startOffset!=z.startOffset||y.endOffset!=z.endOffset||!e.arrayCompare(y.start,z.start)||!e.arrayCompare(y.end,z.end))return false;}}return true;}};function n(r){this.editor=r;this.reset();};var o={8:1,46:1},p={16:1,17:1,18:1},q={37:1,38:1,39:1,40:1};n.prototype={type:function(r){var s=r&&r.data.getKey(),t=s in p,u=s in o,v=this.lastKeystroke in o,w=u&&s==this.lastKeystroke,x=s in q,y=this.lastKeystroke in q,z=!u&&!x,A=u&&!w,B=!(t||this.typing)||z&&(v||y);if(B||A){var C=new l(this.editor);e.setTimeout(function(){var E=this;var D=E.editor.getSnapshot();if(c)D=D.replace(/\s+_cke_expando=".*?"/g,'');if(C.contents!=D){E.typing=true;if(!E.save(false,C,false))E.snapshots.splice(E.index+1,E.snapshots.length-E.index-1);E.hasUndo=true;E.hasRedo=false;E.typesCount=1;E.modifiersCount=1;E.onChange();}},0,this);}this.lastKeystroke=s;if(u){this.typesCount=0;this.modifiersCount++;if(this.modifiersCount>25){this.save(false,null,false);this.modifiersCount=1;}}else if(!x){this.modifiersCount=0;this.typesCount++;if(this.typesCount>25){this.save(false,null,false);this.typesCount=1;}}},reset:function(){var r=this;
-r.lastKeystroke=0;r.snapshots=[];r.index=-1;r.limit=r.editor.config.undoStackSize;r.currentImage=null;r.hasUndo=false;r.hasRedo=false;r.resetType();},resetType:function(){var r=this;r.typing=false;delete r.lastKeystroke;r.typesCount=0;r.modifiersCount=0;},fireChange:function(){var r=this;r.hasUndo=!!r.getNextImage(true);r.hasRedo=!!r.getNextImage(false);r.resetType();r.onChange();},save:function(r,s,t){var v=this;var u=v.snapshots;if(!s)s=new l(v.editor);if(s.contents===false)return false;if(v.currentImage&&s.equals(v.currentImage,r))return false;u.splice(v.index+1,u.length-v.index-1);if(u.length==v.limit)u.shift();v.index=u.push(s)-1;v.currentImage=s;if(t!==false)v.fireChange();return true;},restoreImage:function(r){var t=this;t.editor.loadSnapshot(r.contents);if(r.bookmarks)t.editor.getSelection().selectBookmarks(r.bookmarks);else if(c){var s=t.editor.document.getBody().$.createTextRange();s.collapse(true);s.select();}t.index=r.index;t.update();t.fireChange();},getNextImage:function(r){var w=this;var s=w.snapshots,t=w.currentImage,u,v;if(t)if(r)for(v=w.index-1;v>=0;v--){u=s[v];if(!t.equals(u,true)){u.index=v;return u;}}else for(v=w.index+1;v<s.length;v++){u=s[v];if(!t.equals(u,true)){u.index=v;return u;}}return null;},redoable:function(){return this.enabled&&this.hasRedo;},undoable:function(){return this.enabled&&this.hasUndo;},undo:function(){var s=this;if(s.undoable()){s.save(true);var r=s.getNextImage(true);if(r)return s.restoreImage(r),true;}return false;},redo:function(){var s=this;if(s.redoable()){s.save(true);if(s.redoable()){var r=s.getNextImage(false);if(r)return s.restoreImage(r),true;}}return false;},update:function(){var r=this;r.snapshots.splice(r.index,1,r.currentImage=new l(r.editor));}};})();i.undoStackSize=20;(function(){var l={table:1,pre:1},m=/\s*<(p|div|address|h\d|center)[^>]*>\s*(?:<br[^>]*>|&nbsp;|\u00A0|&#160;)?\s*(:?<\/\1>)?(?=\s*$|<\/body>)/gi,n=d.walker.whitespaces(true);function o(A){if(A.getType()==3)return A.getSelectedElement().isReadOnly();else return A.getCommonAncestor().isReadOnly();};function p(A){if(this.mode=='wysiwyg'){this.focus();var B=this.getSelection();if(o(B))return;var C=A.data;this.fire('saveSnapshot');if(this.dataProcessor)C=this.dataProcessor.toHtml(C);if(c){var D=B.isLocked;if(D)B.unlock();var E=B.getNative();if(E.type=='Control')E.clear();else if(B.getType()==2){var F=B.getRanges()[0],G=F&&F.endContainer;if(G&&G.type==1&&G.getAttribute('contenteditable')=='false'&&F.checkBoundaryOfElement(G,2)){F.setEndAfter(F.endContainer);
-F.deleteContents();}}try{E.createRange().pasteHTML(C);}catch(I){}if(D)this.getSelection().lock();}else this.document.$.execCommand('inserthtml',false,C);if(b.webkit){this.document.$.execCommand('inserthtml',false,'<span id="cke_paste_marker" cke_temp="1"></span>');var H=this.document.getById('cke_paste_marker');H.scrollIntoView();H.remove();}e.setTimeout(function(){this.fire('saveSnapshot');},0,this);}};function q(A){if(this.mode=='wysiwyg'){this.focus();var B=this.getSelection();if(o(B))return;this.fire('saveSnapshot');var C=B.getRanges(),D=A.data,E=D.getName(),F=f.$block[E],G=B.isLocked;if(G)B.unlock();var H,I,J,K;for(var L=C.length-1;L>=0;L--){H=C[L];H.deleteContents();I=!L&&D||D.clone(true);var M,N;if(F)while((M=H.getCommonAncestor(false,true))&&(N=f[M.getName()])&&!(N&&N[E])){if(M.getName() in f.span)H.splitElement(M);else if(H.checkStartOfBlock()&&H.checkEndOfBlock()){H.setStartBefore(M);H.collapse(true);M.remove();}else H.splitBlock();}H.insertNode(I);if(!J)J=I;}H.moveToPosition(J,4);if(F){var O=J.getNext(n),P=O&&O.type==1&&O.getName();if(P&&f.$block[P]&&f[P]['#'])H.moveToElementEditStart(O);}B.selectRanges([H]);if(G)this.getSelection().lock();e.setTimeout(function(){this.fire('saveSnapshot');},0,this);}};function r(A){if(!A.checkDirty())setTimeout(function(){A.resetDirty();},0);};var s=d.walker.whitespaces(true),t=d.walker.bookmark(false,true);function u(A){return s(A)&&t(A);};function v(A){return A.type==3&&e.trim(A.getText()).match(/^(?:&nbsp;|\xa0)$/);};function w(A){if(A.isLocked){A.unlock();setTimeout(function(){A.lock();},0);}};function x(A){return A.getOuterHtml().match(m);};s=d.walker.whitespaces(true);function y(A){var B=A.window,C=A.document,D=A.document.getBody(),E=D.getChildren().count();if(!E||E==1&&D.getFirst().hasAttribute('_moz_editor_bogus_node')){r(A);var F=A.element.getDocument(),G=F.getDocumentElement(),H=G.$.scrollTop,I=G.$.scrollLeft,J=C.$.createEvent('KeyEvents');J.initKeyEvent('keypress',true,true,B.$,false,false,false,false,0,32);C.$.dispatchEvent(J);if(H!=G.$.scrollTop||I!=G.$.scrollLeft)F.getWindow().$.scrollTo(I,H);E&&D.getFirst().remove();C.getBody().appendBogus();var K=new d.range(C);K.setStartAt(D,1);K.select();}};function z(A){var B=A.editor,C=A.data.path,D=C.blockLimit,E=A.data.selection,F=E.getRanges()[0],G=B.document.getBody(),H=B.config.enterMode;b.gecko&&y(B);if(H!=2&&F.collapsed&&D.getName()=='body'&&!C.block){B.fire('updateSnapshot');r(B);c&&w(E);var I=F.fixBlock(true,B.config.enterMode==3?'div':'p');if(c){var J=I.getFirst(u);
-J&&v(J)&&J.remove();}if(x(I)){var K=I.getNext(s);if(K&&K.type==1&&!l[K.getName()]){F.moveToElementEditStart(K);I.remove();}else{K=I.getPrevious(s);if(K&&K.type==1&&!l[K.getName()]){F.moveToElementEditEnd(K);I.remove();}}}F.select();if(!c)B.selectionChange();}var L=new d.range(B.document),M=new d.walker(L);L.selectNodeContents(G);M.evaluator=function(O){return O.type==1&&O.getName() in l;};M.guard=function(O,P){return!(O.type==3&&s(O)||P);};if(M.previous()){B.fire('updateSnapshot');r(B);c&&w(E);var N;if(H!=2)N=G.append(new h(H==1?'p':'div'));else N=G;if(!c)N.appendBogus();}};j.add('wysiwygarea',{requires:['editingblock'],init:function(A){var B=A.config.enterMode!=2?A.config.enterMode==3?'div':'p':false,C=A.lang.editorTitle.replace('%1',A.name),D;A.on('editingBlockReady',function(){var J,K,L,M,N,O,P=b.isCustomDomain(),Q=function(T){if(K)K.remove();var U='document.open();'+(P?'document.domain="'+document.domain+'";':'')+'document.close();';K=h.createFromHtml('<iframe style="width:100%;height:100%" frameBorder="0" title="'+C+'"'+' src="'+(c?'javascript:void(function(){'+encodeURIComponent(U)+'}())':'')+'"'+' tabIndex="'+(b.webkit?-1:A.tabIndex)+'"'+' allowTransparency="true"'+'></iframe>');if(document.location.protocol=='chrome:')a.event.useCapture=true;K.on('load',function(Y){N=1;Y.removeListener();var Z=K.getFrameDocument().$;Z.open('text/html','replace');Z.write(T);Z.close();});if(document.location.protocol=='chrome:')a.event.useCapture=false;var V=A.element,W=b.gecko&&!V.isVisible(),X={};if(W){V.show();X={position:V.getStyle('position'),top:V.getStyle('top')};V.setStyles({position:'absolute',top:'-3000px'});}J.append(K);if(W)setTimeout(function(){V.hide();V.setStyles(X);},1000);};D=e.addFunction(S);var R='<script id="cke_actscrpt" type="text/javascript" cke_temp="1">'+(P?'document.domain="'+document.domain+'";':'')+'window.parent.CKEDITOR.tools.callFunction( '+D+', window );'+'</script>';function S(T){if(!N)return;N=0;A.fire('ariaWidget',K);var U=T.document,V=U.body,W=U.getElementById('cke_actscrpt');W.parentNode.removeChild(W);V.spellcheck=!A.config.disableNativeSpellChecker;if(c){V.hideFocus=true;V.disabled=true;V.contentEditable=true;V.removeAttribute('disabled');}else setTimeout(function(){if(b.gecko&&b.version>=10900||b.opera)U.$.body.contentEditable=true;else if(b.webkit)U.$.body.parentNode.contentEditable=true;else U.$.designMode='on';},0);b.gecko&&e.setTimeout(y,0,null,A);T=A.window=new d.window(T);U=A.document=new g(U);U.on('dblclick',function(aa){var ab=aa.data.getTarget(),ac={element:ab,dialog:''};
-A.fire('doubleclick',ac);ac.dialog&&A.openDialog(ac.dialog);});if(!(c||b.opera))U.on('mousedown',function(aa){var ab=aa.data.getTarget();if(ab.is('img','hr','input','textarea','select'))A.getSelection().selectElement(ab);});if(b.gecko)U.on('mouseup',function(aa){if(aa.data.$.button==2){var ab=aa.data.getTarget();if(!ab.getOuterHtml().replace(m,'')){var ac=new d.range(U);ac.moveToElementEditStart(ab);ac.select(true);}}});U.on('click',function(aa){aa=aa.data;if(aa.getTarget().is('a')&&aa.$.button!=2)aa.preventDefault();});if(b.webkit){U.on('click',function(aa){if(aa.data.getTarget().is('input','select'))aa.data.preventDefault();});U.on('mouseup',function(aa){if(aa.data.getTarget().is('input','textarea'))aa.data.preventDefault();});}if(c&&U.$.compatMode=='CSS1Compat'||b.gecko||b.opera){var X=U.getDocumentElement();X.on('mousedown',function(aa){if(aa.data.getTarget().equals(X)){if(b.gecko&&b.version>=10900)H();I.focus();}});}T.on('blur',function(){A.focusManager.blur();});T.on('focus',function(){var aa=A.document;if(b.gecko&&b.version>=10900)H();else if(b.opera)aa.getBody().focus();A.focusManager.focus();});var Y=A.keystrokeHandler;if(Y)Y.attach(U);if(c){U.getDocumentElement().addClass(U.$.compatMode);U.on('keydown',function(aa){var ab=aa.data.getKeystroke();if(ab in {8:1,46:1}){var ac=A.getSelection(),ad=ac.getSelectedElement();if(ad){A.fire('saveSnapshot');var ae=ac.getRanges()[0].createBookmark();ad.remove();ac.selectBookmarks([ae]);A.fire('saveSnapshot');aa.data.preventDefault();}}});if(U.$.compatMode=='CSS1Compat'){var Z={33:1,34:1};U.on('keydown',function(aa){if(aa.data.getKeystroke() in Z)setTimeout(function(){A.getSelection().scrollIntoView();},0);});}}if(A.contextMenu)A.contextMenu.addTarget(U,A.config.browserContextMenuOnCtrl!==false);setTimeout(function(){A.fire('contentDom');if(O){A.mode='wysiwyg';A.fire('mode');O=false;}L=false;if(M){A.focus();M=false;}setTimeout(function(){A.fire('dataReady');},0);try{A.document.$.execCommand('enableObjectResizing',false,!A.config.disableObjectResizing);}catch(aa){}try{A.document.$.execCommand('enableInlineTableEditing',false,!A.config.disableNativeTableHandles);}catch(ab){}if(c)setTimeout(function(){if(A.document){var ac=A.document.$.body;ac.runtimeStyle.marginBottom='0px';ac.runtimeStyle.marginBottom='';}},1000);},0);};A.addMode('wysiwyg',{load:function(T,U,V){J=T;if(c&&b.quirks)T.setStyle('position','relative');A.mayBeDirty=true;O=true;if(V)this.loadSnapshotData(U);else this.loadData(U);},loadData:function(T){L=true;
-var U=A.config,V=U.fullPage,W=U.docType,X='<style type="text/css" cke_temp="1">'+A._.styles.join('\n')+'</style>';!V&&(X=e.buildStyleHtml(A.config.contentsCss)+X);var Y=U.baseHref?'<base href="'+U.baseHref+'" cke_temp="1" />':'';if(V)T=T.replace(/<!DOCTYPE[^>]*>/i,function(Z){A.docType=W=Z;return '';});if(A.dataProcessor)T=A.dataProcessor.toHtml(T,B);if(V){if(!/<body[\s|>]/.test(T))T='<body>'+T;if(!/<html[\s|>]/.test(T))T='<html>'+T+'</html>';if(!/<head[\s|>]/.test(T))T=T.replace(/<html[^>]*>/,'$&<head><title></title></head>');else if(!/<title[\s|>]/.test(T))T=T.replace(/<head[^>]*>/,'$&<title></title>');Y&&(T=T.replace(/<head>/,'$&'+Y));T=T.replace(/<\/head\s*>/,X+'$&');T=W+T;}else T=U.docType+'<html dir="'+U.contentsLangDirection+'"'+' lang="'+(U.contentsLanguage||A.langCode)+'">'+'<head>'+'<title>'+C+'</title>'+Y+X+'</head>'+'<body'+(U.bodyId?' id="'+U.bodyId+'"':'')+(U.bodyClass?' class="'+U.bodyClass+'"':'')+'>'+T+'</html>';T+=R;this.onDispose();Q(T);},getData:function(){var T=A.config,U=T.fullPage,V=U&&A.docType,W=K.getFrameDocument(),X=U?W.getDocumentElement().getOuterHtml():W.getBody().getHtml();if(A.dataProcessor)X=A.dataProcessor.toDataFormat(X,B);if(T.ignoreEmptyParagraph)X=X.replace(m,'');if(V)X=V+'\n'+X;return X;},getSnapshotData:function(){return K.getFrameDocument().getBody().getHtml();},loadSnapshotData:function(T){K.getFrameDocument().getBody().setHtml(T);},onDispose:function(){if(!A.document)return;A.document.getDocumentElement().clearCustomData();A.document.getBody().clearCustomData();A.window.clearCustomData();A.document.clearCustomData();K.clearCustomData();K.remove();},unload:function(T){this.onDispose();A.window=A.document=K=J=M=null;A.fire('contentDomUnload');},focus:function(){if(L)M=true;else if(b.opera&&A.document){A.document.getBody().focus();A.selectionChange();}else if(!b.opera&&A.window){A.window.focus();A.selectionChange();}}});A.on('insertHtml',p,null,null,20);A.on('insertElement',q,null,null,20);A.on('selectionChange',z,null,null,1);});var E;A.on('contentDom',function(){var J=A.document.getElementsByTag('title').getItem(0);J.setAttribute('_cke_title',A.document.$.title);A.document.$.title=C;});if(b.ie8Compat){A.addCss('html.CSS1Compat [contenteditable=false]{ min-height:0 !important;}');var F=[];for(var G in f.$removeEmpty)F.push('html.CSS1Compat '+G+'[contenteditable=false]');A.addCss(F.join(',')+'{ display:inline-block;}');}function H(J){e.tryThese(function(){A.document.$.designMode='on';setTimeout(function(){A.document.$.designMode='off';
-A.document.getBody().focus();},50);},function(){A.document.$.designMode='off';var K=A.document.getBody();K.setAttribute('contentEditable',false);K.setAttribute('contentEditable',true);!J&&H(1);});};if(b.gecko||c||b.opera){var I;A.on('uiReady',function(){I=A.container.append(h.createFromHtml('<span tabindex="-1" style="position:absolute; left:-10000" role="presentation"></span>'));I.on('focus',function(){A.focus();});});A.on('destroy',function(){e.removeFunction(D);I.clearCustomData();});}A.on('insertElement',function(J){var K=J.data;if(K.type==1&&(K.is('input')||K.is('textarea')))if(!K.isReadOnly()){K.setAttribute('contentEditable',false);K.setCustomData('_cke_notReadOnly',1);}});}});if(b.gecko)(function(){var A=document.body;if(!A)window.addEventListener('load',arguments.callee,false);else{var B=A.getAttribute('onpageshow');A.setAttribute('onpageshow',(B?B+';':'')+'event.persisted && (function(){'+'var allInstances = CKEDITOR.instances, editor, doc;'+'for ( var i in allInstances )'+'{'+'\teditor = allInstances[ i ];'+'\tdoc = editor.document;'+'\tif ( doc )'+'\t{'+'\t\tdoc.$.designMode = "off";'+'\t\tdoc.$.designMode = "on";'+'\t}'+'}'+'})();');}})();})();i.disableObjectResizing=false;i.disableNativeTableHandles=true;i.disableNativeSpellChecker=true;i.ignoreEmptyParagraph=true;j.add('wsc',{requires:['dialog'],init:function(l){var m='checkspell',n=l.addCommand(m,new a.dialogCommand(m));n.modes={wysiwyg:!b.opera&&document.domain==window.location.hostname};l.ui.addButton('SpellChecker',{label:l.lang.spellCheck.toolbar,command:m});a.dialog.add(m,this.path+'dialogs/wsc.js');}});i.wsc_customerId=i.wsc_customerId||'1:ua3xw1-2XyGJ3-GWruD3-6OFNT1-oXcuB1-nR6Bp4-hgQHc-EcYng3-sdRXG3-NOfFk';i.wsc_customLoaderScript=i.wsc_customLoaderScript||null;a.DIALOG_RESIZE_NONE=0;a.DIALOG_RESIZE_WIDTH=1;a.DIALOG_RESIZE_HEIGHT=2;a.DIALOG_RESIZE_BOTH=3;(function(){function l(N){return!!this._.tabs[N][0].$.offsetHeight;};function m(){var R=this;var N=R._.currentTabId,O=R._.tabIdList.length,P=e.indexOf(R._.tabIdList,N)+O;for(var Q=P-1;Q>P-O;Q--){if(l.call(R,R._.tabIdList[Q%O]))return R._.tabIdList[Q%O];}return null;};function n(){var R=this;var N=R._.currentTabId,O=R._.tabIdList.length,P=e.indexOf(R._.tabIdList,N);for(var Q=P+1;Q<P+O;Q++){if(l.call(R,R._.tabIdList[Q%O]))return R._.tabIdList[Q%O];}return null;};function o(N,O){var P=N.$.getElementsByTagName('input');for(var Q=0,R=P.length;Q<R;Q++){var S=new h(P[Q]);if(S.getAttribute('type').toLowerCase()=='text')if(O){S.setAttribute('value',S.getCustomData('fake_value')||'');
-S.removeCustomData('fake_value');}else{S.setCustomData('fake_value',S.getAttribute('value'));S.setAttribute('value','');}}};a.dialog=function(N,O){var P=a.dialog._.dialogDefinitions[O];P=e.extend(P(N),q);P=e.clone(P);P=new u(this,P);var Q=a.document,R=N.theme.buildDialog(N);this._={editor:N,element:R.element,name:O,contentSize:{width:0,height:0},size:{width:0,height:0},updateSize:false,contents:{},buttons:{},accessKeyMap:{},tabs:{},tabIdList:[],currentTabId:null,currentTabIndex:null,pageCount:0,lastTab:null,tabBarMode:false,focusList:[],currentFocusIndex:0,hasFocus:false};this.parts=R.parts;e.setTimeout(function(){N.fire('ariaWidget',this.parts.contents);},0,this);this.parts.dialog.setStyles({position:b.ie6Compat?'absolute':'fixed',top:0,left:0,visibility:'hidden'});a.event.call(this);this.definition=P=a.fire('dialogDefinition',{name:O,definition:P},N).definition;if(P.onLoad)this.on('load',P.onLoad);if(P.onShow)this.on('show',P.onShow);if(P.onHide)this.on('hide',P.onHide);if(P.onOk)this.on('ok',function(ae){N.fire('saveSnapshot');setTimeout(function(){N.fire('saveSnapshot');},0);if(P.onOk.call(this,ae)===false)ae.data.hide=false;});if(P.onCancel)this.on('cancel',function(ae){if(P.onCancel.call(this,ae)===false)ae.data.hide=false;});var S=this,T=function(ae){var af=S._.contents,ag=false;for(var ah in af)for(var ai in af[ah]){ag=ae.call(this,af[ah][ai]);if(ag)return;}};this.on('ok',function(ae){T(function(af){if(af.validate){var ag=af.validate(this);if(typeof ag=='string'){alert(ag);ag=false;}if(ag===false){if(af.select)af.select();else af.focus();ae.data.hide=false;ae.stop();return true;}}});},this,null,0);this.on('cancel',function(ae){T(function(af){if(af.isChanged()){if(!confirm(N.lang.common.confirmCancel))ae.data.hide=false;return true;}});},this,null,0);this.parts.close.on('click',function(ae){if(this.fire('cancel',{hide:true}).hide!==false)this.hide();ae.data.preventDefault();},this);function U(){var ae=S._.focusList;ae.sort(function(ah,ai){if(ah.tabIndex!=ai.tabIndex)return ai.tabIndex-ah.tabIndex;else return ah.focusIndex-ai.focusIndex;});var af=ae.length;for(var ag=0;ag<af;ag++)ae[ag].focusIndex=ag;};function V(ae){var af=S._.focusList,ag=ae?1:-1;if(af.length<1)return;var ah=S._.currentFocusIndex;try{af[ah].getInputElement().$.blur();}catch(ak){}var ai=(ah+ag+af.length)%af.length,aj=ai;while(!af[aj].isFocusable()){aj=(aj+ag+af.length)%af.length;if(aj==ai)break;}af[aj].focus();if(af[aj].type=='text')af[aj].select();};this.changeFocus=V;var W;function X(ae){var aj=this;
-if(S!=a.dialog._.currentTop)return;var af=ae.data.getKeystroke(),ag=N.lang.dir=='rtl';W=0;if(af==9||af==2000+9){var ah=af==2000+9;if(S._.tabBarMode){var ai=ah?m.call(S):n.call(S);S.selectPage(ai);S._.tabs[ai][0].focus();}else V(!ah);W=1;}else if(af==4000+121&&!S._.tabBarMode&&S.getPageCount()>1){S._.tabBarMode=true;S._.tabs[S._.currentTabId][0].focus();W=1;}else if((af==37||af==39)&&S._.tabBarMode){ai=af==(ag?39:37)?m.call(S):n.call(S);S.selectPage(ai);S._.tabs[ai][0].focus();W=1;}else if((af==13||af==32)&&S._.tabBarMode){aj.selectPage(aj._.currentTabId);aj._.tabBarMode=false;aj._.currentFocusIndex=-1;V(true);W=1;}if(W){ae.stop();ae.data.preventDefault();}};function Y(ae){W&&ae.data.preventDefault();};var Z=this._.element;this.on('show',function(){Z.on('keydown',X,this,null,0);if(b.opera||b.gecko&&b.mac)Z.on('keypress',Y,this);});this.on('hide',function(){Z.removeListener('keydown',X);if(b.opera||b.gecko&&b.mac)Z.removeListener('keypress',Y);});this.on('iframeAdded',function(ae){var af=new g(ae.data.iframe.$.contentWindow.document);af.on('keydown',X,this,null,0);});this.on('show',function(){var ai=this;U();if(N.config.dialog_startupFocusTab&&S._.pageCount>1){S._.tabBarMode=true;S._.tabs[S._.currentTabId][0].focus();}else if(!ai._.hasFocus){ai._.currentFocusIndex=-1;if(P.onFocus){var ae=P.onFocus.call(ai);ae&&ae.focus();}else V(true);if(ai._.editor.mode=='wysiwyg'&&c){var af=N.document.$.selection,ag=af.createRange();if(ag)if(ag.parentElement&&ag.parentElement().ownerDocument==N.document.$||ag.item&&ag.item(0).ownerDocument==N.document.$){var ah=document.body.createTextRange();ah.moveToElementText(ai.getElement().getFirst().$);ah.collapse(true);ah.select();}}}},this,null,4294967295);if(b.ie6Compat)this.on('load',function(ae){var af=this.getElement(),ag=af.getFirst();ag.remove();ag.appendTo(af);},this);w(this);x(this);new d.text(P.title,a.document).appendTo(this.parts.title);for(var aa=0;aa<P.contents.length;aa++){var ab=P.contents[aa];ab&&this.addPage(ab);}this.parts.tabs.on('click',function(ae){var ah=this;var af=ae.data.getTarget();if(af.hasClass('cke_dialog_tab')){var ag=af.$.id;ah.selectPage(ag.substring(4,ag.lastIndexOf('_')));if(ah._.tabBarMode){ah._.tabBarMode=false;ah._.currentFocusIndex=-1;V(true);}ae.data.preventDefault();}},this);var ac=[],ad=a.dialog._.uiElementBuilders.hbox.build(this,{type:'hbox',className:'cke_dialog_footer_buttons',widths:[],children:P.buttons},ac).getChild();this.parts.footer.setHtml(ac.join(''));for(aa=0;aa<ad.length;aa++)this._.buttons[ad[aa].id]=ad[aa];
-};function p(N,O,P){this.element=O;this.focusIndex=P;this.tabIndex=0;this.isFocusable=function(){return!O.getAttribute('disabled')&&O.isVisible();};this.focus=function(){N._.currentFocusIndex=this.focusIndex;this.element.focus();};O.on('keydown',function(Q){if(Q.data.getKeystroke() in {32:1,13:1})this.fire('click');});O.on('focus',function(){this.fire('mouseover');});O.on('blur',function(){this.fire('mouseout');});};a.dialog.prototype={destroy:function(){this.hide();this._.element.remove();},resize:(function(){return function(N,O){var P=this;if(P._.contentSize&&P._.contentSize.width==N&&P._.contentSize.height==O)return;a.dialog.fire('resize',{dialog:P,skin:P._.editor.skinName,width:N,height:O},P._.editor);P._.contentSize={width:N,height:O};P._.updateSize=true;};})(),getSize:function(){var P=this;if(!P._.updateSize)return P._.size;var N=P._.element.getFirst(),O=P._.size={width:N.$.offsetWidth||0,height:N.$.offsetHeight||0};P._.updateSize=!O.width||!O.height;return O;},move:(function(){var N;return function(O,P){var S=this;var Q=S._.element.getFirst();if(N===undefined)N=Q.getComputedStyle('position')=='fixed';if(N&&S._.position&&S._.position.x==O&&S._.position.y==P)return;S._.position={x:O,y:P};if(!N){var R=a.document.getWindow().getScrollPosition();O+=R.x;P+=R.y;}Q.setStyles({left:(O>0?O:0)+'px',top:(P>0?P:0)+'px'});};})(),getPosition:function(){return e.extend({},this._.position);},show:function(){var N=this._.editor;if(N.mode=='wysiwyg'&&c){var O=N.getSelection();O&&O.lock();}var P=this._.element,Q=this.definition;if(!(P.getParent()&&P.getParent().equals(a.document.getBody())))P.appendTo(a.document.getBody());else P.setStyle('display','block');if(b.gecko&&b.version<10900){var R=this.parts.dialog;R.setStyle('position','absolute');setTimeout(function(){R.setStyle('position','fixed');},0);}this.resize(Q.minWidth,Q.minHeight);this.reset();this.selectPage(this.definition.contents[0].id);if(a.dialog._.currentZIndex===null)a.dialog._.currentZIndex=this._.editor.config.baseFloatZIndex;this._.element.getFirst().setStyle('z-index',a.dialog._.currentZIndex+=10);if(a.dialog._.currentTop===null){a.dialog._.currentTop=this;this._.parentDialog=null;B(this._.editor);P.on('keydown',F);P.on(b.opera?'keypress':'keyup',G);for(var S in {keyup:1,keydown:1,keypress:1})P.on(S,M);}else{this._.parentDialog=a.dialog._.currentTop;var T=this._.parentDialog.getElement().getFirst();T.$.style.zIndex-=Math.floor(this._.editor.config.baseFloatZIndex/2);a.dialog._.currentTop=this;}H(this,this,'\x1b',null,function(){this.getButton('cancel')&&this.getButton('cancel').click();
-});this._.hasFocus=false;e.setTimeout(function(){var U=a.document.getWindow().getViewPaneSize(),V=this.getSize();this.move((U.width-Q.minWidth)/2,(U.height-V.height)/2);this.parts.dialog.setStyle('visibility','');this.fireOnce('load',{});this.fire('show',{});this._.editor.fire('dialogShow',this);this.foreach(function(W){W.setInitValue&&W.setInitValue();});},100,this);},foreach:function(N){var Q=this;for(var O in Q._.contents)for(var P in Q._.contents[O])N(Q._.contents[O][P]);return Q;},reset:(function(){var N=function(O){if(O.reset)O.reset(1);};return function(){this.foreach(N);return this;};})(),setupContent:function(){var N=arguments;this.foreach(function(O){if(O.setup)O.setup.apply(O,N);});},commitContent:function(){var N=arguments;this.foreach(function(O){if(O.commit)O.commit.apply(O,N);});},hide:function(){if(!this.parts.dialog.isVisible())return;this.fire('hide',{});this._.editor.fire('dialogHide',this);var N=this._.element;N.setStyle('display','none');this.parts.dialog.setStyle('visibility','hidden');I(this);while(a.dialog._.currentTop!=this)a.dialog._.currentTop.hide();if(!this._.parentDialog)C();else{var O=this._.parentDialog.getElement().getFirst();O.setStyle('z-index',parseInt(O.$.style.zIndex,10)+Math.floor(this._.editor.config.baseFloatZIndex/2));}a.dialog._.currentTop=this._.parentDialog;if(!this._.parentDialog){a.dialog._.currentZIndex=null;N.removeListener('keydown',F);N.removeListener(b.opera?'keypress':'keyup',G);for(var P in {keyup:1,keydown:1,keypress:1})N.removeListener(P,M);var Q=this._.editor;Q.focus();if(Q.mode=='wysiwyg'&&c){var R=Q.getSelection();R&&R.unlock(true);}}else a.dialog._.currentZIndex-=10;delete this._.parentDialog;this.foreach(function(S){S.resetInitValue&&S.resetInitValue();});},addPage:function(N){var Z=this;var O=[],P=N.label?' title="'+e.htmlEncode(N.label)+'"':'',Q=N.elements,R=a.dialog._.uiElementBuilders.vbox.build(Z,{type:'vbox',className:'cke_dialog_page_contents',children:N.elements,expand:!!N.expand,padding:N.padding,style:N.style||'width: 100%; height: 100%;'},O),S=h.createFromHtml(O.join(''));S.setAttribute('role','tabpanel');var T=b,U='cke_'+N.id+'_'+e.getNextNumber(),V=h.createFromHtml(['<a class="cke_dialog_tab"',Z._.pageCount>0?' cke_last':'cke_first',P,!!N.hidden?' style="display:none"':'',' id="',U,'"',T.gecko&&T.version>=10900&&!T.hc?'':' href="javascript:void(0)"',' tabIndex="-1"',' hidefocus="true"',' role="tab">',N.label,'</a>'].join(''));S.setAttribute('aria-labelledby',U);Z._.tabs[N.id]=[V,S];Z._.tabIdList.push(N.id);
-!N.hidden&&Z._.pageCount++;Z._.lastTab=V;Z.updateStyle();var W=Z._.contents[N.id]={},X,Y=R.getChild();while(X=Y.shift()){W[X.id]=X;if(typeof X.getChild=='function')Y.push.apply(Y,X.getChild());}S.setAttribute('name',N.id);S.appendTo(Z.parts.contents);V.unselectable();Z.parts.tabs.append(V);if(N.accessKey){H(Z,Z,'CTRL+'+N.accessKey,K,J);Z._.accessKeyMap['CTRL+'+N.accessKey]=N.id;}},selectPage:function(N){if(this._.currentTabId==N)return;if(this.fire('selectPage',{page:N,currentPage:this._.currentTabId})===true)return;for(var O in this._.tabs){var P=this._.tabs[O][0],Q=this._.tabs[O][1];if(O!=N){P.removeClass('cke_dialog_tab_selected');Q.hide();}Q.setAttribute('aria-hidden',O!=N);}var R=this._.tabs[N];R[0].addClass('cke_dialog_tab_selected');if(b.ie6Compat||b.ie7Compat){o(R[1]);R[1].show();setTimeout(function(){o(R[1],true);},0);}else R[1].show();this._.currentTabId=N;this._.currentTabIndex=e.indexOf(this._.tabIdList,N);},updateStyle:function(){this.parts.dialog[(this._.pageCount===1?'add':'remove')+'Class']('cke_single_page');},hidePage:function(N){var P=this;var O=P._.tabs[N]&&P._.tabs[N][0];if(!O||P._.pageCount==1)return;else if(N==P._.currentTabId)P.selectPage(m.call(P));O.hide();P._.pageCount--;P.updateStyle();},showPage:function(N){var P=this;var O=P._.tabs[N]&&P._.tabs[N][0];if(!O)return;O.show();P._.pageCount++;P.updateStyle();},getElement:function(){return this._.element;},getName:function(){return this._.name;},getContentElement:function(N,O){var P=this._.contents[N];return P&&P[O];},getValueOf:function(N,O){return this.getContentElement(N,O).getValue();},setValueOf:function(N,O,P){return this.getContentElement(N,O).setValue(P);},getButton:function(N){return this._.buttons[N];},click:function(N){return this._.buttons[N].click();},disableButton:function(N){return this._.buttons[N].disable();},enableButton:function(N){return this._.buttons[N].enable();},getPageCount:function(){return this._.pageCount;},getParentEditor:function(){return this._.editor;},getSelectedElement:function(){return this.getParentEditor().getSelection().getSelectedElement();},addFocusable:function(N,O){var Q=this;if(typeof O=='undefined'){O=Q._.focusList.length;Q._.focusList.push(new p(Q,N,O));}else{Q._.focusList.splice(O,0,new p(Q,N,O));for(var P=O+1;P<Q._.focusList.length;P++)Q._.focusList[P].focusIndex++;}}};e.extend(a.dialog,{add:function(N,O){if(!this._.dialogDefinitions[N]||typeof O=='function')this._.dialogDefinitions[N]=O;},exists:function(N){return!!this._.dialogDefinitions[N];
-},getCurrent:function(){return a.dialog._.currentTop;},okButton:(function(){var N=function(O,P){P=P||{};return e.extend({id:'ok',type:'button',label:O.lang.common.ok,'class':'cke_dialog_ui_button_ok',onClick:function(Q){var R=Q.data.dialog;if(R.fire('ok',{hide:true}).hide!==false)R.hide();}},P,true);};N.type='button';N.override=function(O){return e.extend(function(P){return N(P,O);},{type:'button'},true);};return N;})(),cancelButton:(function(){var N=function(O,P){P=P||{};return e.extend({id:'cancel',type:'button',label:O.lang.common.cancel,'class':'cke_dialog_ui_button_cancel',onClick:function(Q){var R=Q.data.dialog;if(R.fire('cancel',{hide:true}).hide!==false)R.hide();}},P,true);};N.type='button';N.override=function(O){return e.extend(function(P){return N(P,O);},{type:'button'},true);};return N;})(),addUIElement:function(N,O){this._.uiElementBuilders[N]=O;}});a.dialog._={uiElementBuilders:{},dialogDefinitions:{},currentTop:null,currentZIndex:null};a.event.implementOn(a.dialog);a.event.implementOn(a.dialog.prototype,true);var q={resizable:3,minWidth:600,minHeight:400,buttons:[a.dialog.okButton,a.dialog.cancelButton]};b.mac&&q.buttons.reverse();var r=function(N,O,P){for(var Q=0,R;R=N[Q];Q++){if(R.id==O)return R;if(P&&R[P]){var S=r(R[P],O,P);if(S)return S;}}return null;},s=function(N,O,P,Q,R){if(P){for(var S=0,T;T=N[S];S++){if(T.id==P){N.splice(S,0,O);return O;}if(Q&&T[Q]){var U=s(T[Q],O,P,Q,true);if(U)return U;}}if(R)return null;}N.push(O);return O;},t=function(N,O,P){for(var Q=0,R;R=N[Q];Q++){if(R.id==O)return N.splice(Q,1);if(P&&R[P]){var S=t(R[P],O,P);if(S)return S;}}return null;},u=function(N,O){this.dialog=N;var P=O.contents;for(var Q=0,R;R=P[Q];Q++)P[Q]=R&&new v(N,R);e.extend(this,O);};u.prototype={getContents:function(N){return r(this.contents,N);},getButton:function(N){return r(this.buttons,N);},addContents:function(N,O){return s(this.contents,N,O);},addButton:function(N,O){return s(this.buttons,N,O);},removeContents:function(N){t(this.contents,N);},removeButton:function(N){t(this.buttons,N);}};function v(N,O){this._={dialog:N};e.extend(this,O);};v.prototype={get:function(N){return r(this.elements,N,'children');},add:function(N,O){return s(this.elements,N,O,'children');},remove:function(N){t(this.elements,N,'children');}};function w(N){var O=null,P=null,Q=N.getElement().getFirst(),R=N.getParentEditor(),S=R.config.dialog_magnetDistance,T=R.skin.margins||[0,0,0,0];if(typeof S=='undefined')S=20;function U(W){var X=N.getSize(),Y=a.document.getWindow().getViewPaneSize(),Z=W.data.$.screenX,aa=W.data.$.screenY,ab=Z-O.x,ac=aa-O.y,ad,ae;
-O={x:Z,y:aa};P.x+=ab;P.y+=ac;if(P.x+T[3]<S)ad=-T[3];else if(P.x-T[1]>Y.width-X.width-S)ad=Y.width-X.width+T[1];else ad=P.x;if(P.y+T[0]<S)ae=-T[0];else if(P.y-T[2]>Y.height-X.height-S)ae=Y.height-X.height+T[2];else ae=P.y;N.move(ad,ae);W.data.preventDefault();};function V(W){a.document.removeListener('mousemove',U);a.document.removeListener('mouseup',V);if(b.ie6Compat){var X=A.getChild(0).getFrameDocument();X.removeListener('mousemove',U);X.removeListener('mouseup',V);}};N.parts.title.on('mousedown',function(W){N._.updateSize=true;O={x:W.data.$.screenX,y:W.data.$.screenY};a.document.on('mousemove',U);a.document.on('mouseup',V);P=N.getPosition();if(b.ie6Compat){var X=A.getChild(0).getFrameDocument();X.on('mousemove',U);X.on('mouseup',V);}W.data.preventDefault();},N);};function x(N){var O=N.definition,P=O.minWidth||0,Q=O.minHeight||0,R=O.resizable,S=N.getParentEditor().skin.margins||[0,0,0,0];function T(ae,af){ae.y+=af;};function U(ae,af){ae.x2+=af;};function V(ae,af){ae.y2+=af;};function W(ae,af){ae.x+=af;};var X=null,Y=null,Z=N._.editor.config.magnetDistance,aa=['tl','t','tr','l','r','bl','b','br'];function ab(ae){var af=ae.listenerData.part,ag=N.getSize();Y=N.getPosition();e.extend(Y,{x2:Y.x+ag.width,y2:Y.y+ag.height});X={x:ae.data.$.screenX,y:ae.data.$.screenY};a.document.on('mousemove',ac,N,{part:af});a.document.on('mouseup',ad,N,{part:af});if(b.ie6Compat){var ah=A.getChild(0).getFrameDocument();ah.on('mousemove',ac,N,{part:af});ah.on('mouseup',ad,N,{part:af});}ae.data.preventDefault();};function ac(ae){var af=ae.data.$.screenX,ag=ae.data.$.screenY,ah=af-X.x,ai=ag-X.y,aj=a.document.getWindow().getViewPaneSize(),ak=ae.listenerData.part;if(ak.search('t')!=-1)T(Y,ai);if(ak.search('l')!=-1)W(Y,ah);if(ak.search('b')!=-1)V(Y,ai);if(ak.search('r')!=-1)U(Y,ah);X={x:af,y:ag};var al,am,an,ao;if(Y.x+S[3]<Z)al=-S[3];else if(ak.search('l')!=-1&&Y.x2-Y.x<P+Z)al=Y.x2-P;else al=Y.x;if(Y.y+S[0]<Z)am=-S[0];else if(ak.search('t')!=-1&&Y.y2-Y.y<Q+Z)am=Y.y2-Q;else am=Y.y;if(Y.x2-S[1]>aj.width-Z)an=aj.width+S[1];else if(ak.search('r')!=-1&&Y.x2-Y.x<P+Z)an=Y.x+P;else an=Y.x2;if(Y.y2-S[2]>aj.height-Z)ao=aj.height+S[2];else if(ak.search('b')!=-1&&Y.y2-Y.y<Q+Z)ao=Y.y+Q;else ao=Y.y2;N.move(al,am);N.resize(an-al,ao-am);ae.data.preventDefault();};function ad(ae){a.document.removeListener('mouseup',ad);a.document.removeListener('mousemove',ac);if(b.ie6Compat){var af=A.getChild(0).getFrameDocument();af.removeListener('mouseup',ad);af.removeListener('mousemove',ac);}};};var y,z={},A;function B(N){var O=a.document.getWindow(),P=N.config.dialog_backgroundCoverColor||'white',Q=N.config.dialog_backgroundCoverOpacity,R=N.config.baseFloatZIndex,S=e.genKey(P,Q,R),T=z[S];
-if(!T){var U=['<div style="position: ',b.ie6Compat?'absolute':'fixed','; z-index: ',R,'; top: 0px; left: 0px; ',!b.ie6Compat?'background-color: '+P:'','" class="cke_dialog_background_cover">'];if(b.ie6Compat){var V=b.isCustomDomain(),W="<html><body style=\\'background-color:"+P+";\\'></body></html>";U.push('<iframe hidefocus="true" frameborder="0" id="cke_dialog_background_iframe" src="javascript:');U.push('void((function(){document.open();'+(V?"document.domain='"+document.domain+"';":'')+"document.write( '"+W+"' );"+'document.close();'+'})())');U.push('" style="position:absolute;left:0;top:0;width:100%;height: 100%;progid:DXImageTransform.Microsoft.Alpha(opacity=0)"></iframe>');}U.push('</div>');T=h.createFromHtml(U.join(''));T.setOpacity(Q!=undefined?Q:0.5);T.appendTo(a.document.getBody());z[S]=T;}else T.show();A=T;var X=function(){var aa=O.getViewPaneSize();T.setStyles({width:aa.width+'px',height:aa.height+'px'});},Y=function(){var aa=O.getScrollPosition(),ab=a.dialog._.currentTop;T.setStyles({left:aa.x+'px',top:aa.y+'px'});do{var ac=ab.getPosition();ab.move(ac.x,ac.y);}while(ab=ab._.parentDialog)};y=X;O.on('resize',X);X();if(b.ie6Compat){var Z=function(){Y();arguments.callee.prevScrollHandler.apply(this,arguments);};O.$.setTimeout(function(){Z.prevScrollHandler=window.onscroll||(function(){});window.onscroll=Z;},0);Y();}};function C(){if(!A)return;var N=a.document.getWindow();A.hide();N.removeListener('resize',y);if(b.ie6Compat)N.$.setTimeout(function(){var O=window.onscroll&&window.onscroll.prevScrollHandler;window.onscroll=O||null;},0);y=null;};function D(){for(var N in z)z[N].remove();z={};};var E={},F=function(N){var O=N.data.$.ctrlKey||N.data.$.metaKey,P=N.data.$.altKey,Q=N.data.$.shiftKey,R=String.fromCharCode(N.data.$.keyCode),S=E[(O?'CTRL+':'')+(P?'ALT+':'')+(Q?'SHIFT+':'')+R];if(!S||!S.length)return;S=S[S.length-1];S.keydown&&S.keydown.call(S.uiElement,S.dialog,S.key);N.data.preventDefault();},G=function(N){var O=N.data.$.ctrlKey||N.data.$.metaKey,P=N.data.$.altKey,Q=N.data.$.shiftKey,R=String.fromCharCode(N.data.$.keyCode),S=E[(O?'CTRL+':'')+(P?'ALT+':'')+(Q?'SHIFT+':'')+R];if(!S||!S.length)return;S=S[S.length-1];if(S.keyup){S.keyup.call(S.uiElement,S.dialog,S.key);N.data.preventDefault();}},H=function(N,O,P,Q,R){var S=E[P]||(E[P]=[]);S.push({uiElement:N,dialog:O,key:P,keyup:R||N.accessKeyUp,keydown:Q||N.accessKeyDown});},I=function(N){for(var O in E){var P=E[O];for(var Q=P.length-1;Q>=0;Q--){if(P[Q].dialog==N||P[Q].uiElement==N)P.splice(Q,1);
-}if(P.length===0)delete E[O];}},J=function(N,O){if(N._.accessKeyMap[O])N.selectPage(N._.accessKeyMap[O]);},K=function(N,O){},L={27:1,13:1},M=function(N){if(N.data.getKeystroke() in L)N.data.stopPropagation();};(function(){k.dialog={uiElement:function(N,O,P,Q,R,S,T){if(arguments.length<4)return;var U=(Q.call?Q(O):Q)||'div',V=['<',U,' '],W=(R&&R.call?R(O):R)||{},X=(S&&S.call?S(O):S)||{},Y=(T&&T.call?T.call(this,N,O):T)||'',Z=this.domId=X.id||e.getNextId()+'_uiElement',aa=this.id=O.id,ab;X.id=Z;var ac={};if(O.type)ac['cke_dialog_ui_'+O.type]=1;if(O.className)ac[O.className]=1;var ad=X['class']&&X['class'].split?X['class'].split(' '):[];for(ab=0;ab<ad.length;ab++){if(ad[ab])ac[ad[ab]]=1;}var ae=[];for(ab in ac)ae.push(ab);X['class']=ae.join(' ');if(O.title)X.title=O.title;var af=(O.style||'').split(';');for(ab in W)af.push(ab+':'+W[ab]);if(O.hidden)af.push('display:none');for(ab=af.length-1;ab>=0;ab--){if(af[ab]==='')af.splice(ab,1);}if(af.length>0)X.style=(X.style?X.style+'; ':'')+af.join('; ');for(ab in X)V.push(ab+'="'+e.htmlEncode(X[ab])+'" ');V.push('>',Y,'</',U,'>');P.push(V.join(''));(this._||(this._={})).dialog=N;if(typeof O.isChanged=='boolean')this.isChanged=function(){return O.isChanged;};if(typeof O.isChanged=='function')this.isChanged=O.isChanged;a.event.implementOn(this);this.registerEvents(O);if(this.accessKeyUp&&this.accessKeyDown&&O.accessKey)H(this,N,'CTRL+'+O.accessKey);var ag=this;N.on('load',function(){if(ag.getInputElement())ag.getInputElement().on('focus',function(){N._.tabBarMode=false;N._.hasFocus=true;ag.fire('focus');},ag);});if(this.keyboardFocusable){this.tabIndex=O.tabIndex||0;this.focusIndex=N._.focusList.push(this)-1;this.on('focus',function(){N._.currentFocusIndex=ag.focusIndex;});}e.extend(this,O);},hbox:function(N,O,P,Q,R){if(arguments.length<4)return;this._||(this._={});var S=this._.children=O,T=R&&R.widths||null,U=R&&R.height||null,V={},W,X=function(){var Z=['<tbody><tr class="cke_dialog_ui_hbox">'];for(W=0;W<P.length;W++){var aa='cke_dialog_ui_hbox_child',ab=[];if(W===0)aa='cke_dialog_ui_hbox_first';if(W==P.length-1)aa='cke_dialog_ui_hbox_last';Z.push('<td class="',aa,'" role="presentation" ');if(T){if(T[W])ab.push('width:'+e.cssLength(T[W]));}else ab.push('width:'+Math.floor(100/P.length)+'%');if(U)ab.push('height:'+e.cssLength(U));if(R&&R.padding!=undefined)ab.push('padding:'+e.cssLength(R.padding));if(ab.length>0)Z.push('style="'+ab.join('; ')+'" ');Z.push('>',P[W],'</td>');}Z.push('</tr></tbody>');return Z.join('');},Y={role:'presentation'};
-R&&R.align&&(Y.align=R.align);k.dialog.uiElement.call(this,N,R||{type:'hbox'},Q,'table',V,Y,X);},vbox:function(N,O,P,Q,R){if(arguments.length<3)return;this._||(this._={});var S=this._.children=O,T=R&&R.width||null,U=R&&R.heights||null,V=function(){var W=['<table role="presentation" cellspacing="0" border="0" '];W.push('style="');if(R&&R.expand)W.push('height:100%;');W.push('width:'+e.cssLength(T||'100%'),';');W.push('"');W.push('align="',e.htmlEncode(R&&R.align||(N.getParentEditor().lang.dir=='ltr'?'left':'right')),'" ');W.push('><tbody>');for(var X=0;X<P.length;X++){var Y=[];W.push('<tr><td role="presentation" ');if(T)Y.push('width:'+e.cssLength(T||'100%'));if(U)Y.push('height:'+e.cssLength(U[X]));else if(R&&R.expand)Y.push('height:'+Math.floor(100/P.length)+'%');if(R&&R.padding!=undefined)Y.push('padding:'+e.cssLength(R.padding));if(Y.length>0)W.push('style="',Y.join('; '),'" ');W.push(' class="cke_dialog_ui_vbox_child">',P[X],'</td></tr>');}W.push('</tbody></table>');return W.join('');};k.dialog.uiElement.call(this,N,R||{type:'vbox'},Q,'div',null,{role:'presentation'},V);}};})();k.dialog.uiElement.prototype={getElement:function(){return a.document.getById(this.domId);},getInputElement:function(){return this.getElement();},getDialog:function(){return this._.dialog;},setValue:function(N,O){this.getInputElement().setValue(N);!O&&this.fire('change',{value:N});return this;},getValue:function(){return this.getInputElement().getValue();},isChanged:function(){return false;},selectParentTab:function(){var Q=this;var N=Q.getInputElement(),O=N,P;while((O=O.getParent())&&O.$.className.search('cke_dialog_page_contents')==-1){}if(!O)return Q;P=O.getAttribute('name');if(Q._.dialog._.currentTabId!=P)Q._.dialog.selectPage(P);return Q;},focus:function(){this.selectParentTab().getInputElement().focus();return this;},registerEvents:function(N){var O=/^on([A-Z]\w+)/,P,Q=function(S,T,U,V){T.on('load',function(){S.getInputElement().on(U,V,S);});};for(var R in N){if(!(P=R.match(O)))continue;if(this.eventProcessors[R])this.eventProcessors[R].call(this,this._.dialog,N[R]);else Q(this,this._.dialog,P[1].toLowerCase(),N[R]);}return this;},eventProcessors:{onLoad:function(N,O){N.on('load',O,this);},onShow:function(N,O){N.on('show',O,this);},onHide:function(N,O){N.on('hide',O,this);}},accessKeyDown:function(N,O){this.focus();},accessKeyUp:function(N,O){},disable:function(){var N=this.getInputElement();N.setAttribute('disabled','true');N.addClass('cke_disabled');},enable:function(){var N=this.getInputElement();
-N.removeAttribute('disabled');N.removeClass('cke_disabled');},isEnabled:function(){return!this.getInputElement().getAttribute('disabled');},isVisible:function(){return this.getInputElement().isVisible();},isFocusable:function(){if(!this.isEnabled()||!this.isVisible())return false;return true;}};k.dialog.hbox.prototype=e.extend(new k.dialog.uiElement(),{getChild:function(N){var O=this;if(arguments.length<1)return O._.children.concat();if(!N.splice)N=[N];if(N.length<2)return O._.children[N[0]];else return O._.children[N[0]]&&O._.children[N[0]].getChild?O._.children[N[0]].getChild(N.slice(1,N.length)):null;}},true);k.dialog.vbox.prototype=new k.dialog.hbox();(function(){var N={build:function(O,P,Q){var R=P.children,S,T=[],U=[];for(var V=0;V<R.length&&(S=R[V]);V++){var W=[];T.push(W);U.push(a.dialog._.uiElementBuilders[S.type].build(O,S,W));}return new k.dialog[P.type](O,U,T,Q,P);}};a.dialog.addUIElement('hbox',N);a.dialog.addUIElement('vbox',N);})();a.dialogCommand=function(N){this.dialogName=N;};a.dialogCommand.prototype={exec:function(N){N.openDialog(this.dialogName);},canUndo:false,editorFocus:c||b.webkit};(function(){var N=/^([a]|[^a])+$/,O=/^\d*$/,P=/^\d*(?:\.\d+)?$/;a.VALIDATE_OR=1;a.VALIDATE_AND=2;a.dialog.validate={functions:function(){return function(){var W=this;var Q=W&&W.getValue?W.getValue():arguments[0],R=undefined,S=2,T=[],U;for(U=0;U<arguments.length;U++){if(typeof arguments[U]=='function')T.push(arguments[U]);else break;}if(U<arguments.length&&typeof arguments[U]=='string'){R=arguments[U];U++;}if(U<arguments.length&&typeof arguments[U]=='number')S=arguments[U];var V=S==2?true:false;for(U=0;U<T.length;U++){if(S==2)V=V&&T[U](Q);else V=V||T[U](Q);}if(!V){if(R!==undefined)alert(R);if(W&&(W.select||W.focus))W.select||W.focus();return false;}return true;};},regex:function(Q,R){return function(){var T=this;var S=T&&T.getValue?T.getValue():arguments[0];if(!Q.test(S)){if(R!==undefined)alert(R);if(T&&(T.select||T.focus))if(T.select)T.select();else T.focus();return false;}return true;};},notEmpty:function(Q){return this.regex(N,Q);},integer:function(Q){return this.regex(O,Q);},number:function(Q){return this.regex(P,Q);},equals:function(Q,R){return this.functions(function(S){return S==Q;},R);},notEqual:function(Q,R){return this.functions(function(S){return S!=Q;},R);}};a.on('instanceDestroyed',function(Q){if(e.isEmpty(a.instances)){var R;while(R=a.dialog._.currentTop)R.hide();D();}var S=Q.editor._.storedDialogs;for(var T in S)S[T].destroy();});})();})();e.extend(a.editor.prototype,{openDialog:function(l,m){var n=a.dialog._.dialogDefinitions[l],o=this.skin.dialog;
-if(typeof n=='function'&&o._isLoaded){var p=this._.storedDialogs||(this._.storedDialogs={}),q=p[l]||(p[l]=new a.dialog(this,l));m&&m.call(q,q);q.show();return q;}else if(n=='failed')throw new Error('[CKEDITOR.dialog.openDialog] Dialog "'+l+'" failed when loading definition.');var r=a.document.getBody(),s=r.$.style.cursor,t=this;r.setStyle('cursor','wait');function u(w){var x=a.dialog._.dialogDefinitions[l],y=t.skin.dialog;if(!y._isLoaded||v&&typeof w=='undefined')return;if(typeof x!='function')a.dialog._.dialogDefinitions[l]='failed';t.openDialog(l,m);r.setStyle('cursor',s);};if(typeof n=='string'){var v=1;a.scriptLoader.load(a.getUrl(n),u);}a.skins.load(this,'dialog',u);return null;}});j.add('dialog',{requires:['dialogui']});j.add('styles',{requires:['selection']});a.editor.prototype.attachStyleStateChange=function(l,m){var n=this._.styleStateChangeCallbacks;if(!n){n=this._.styleStateChangeCallbacks=[];this.on('selectionChange',function(o){for(var p=0;p<n.length;p++){var q=n[p],r=q.style.checkActive(o.data.path)?1:2;if(q.state!==r){q.fn.call(this,r);q.state=r;}}});}n.push({style:l,fn:m});};a.STYLE_BLOCK=1;a.STYLE_INLINE=2;a.STYLE_OBJECT=3;(function(){var l={address:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1},m={a:1,embed:1,hr:1,img:1,li:1,object:1,ol:1,table:1,td:1,tr:1,th:1,ul:1,dl:1,dt:1,dd:1,form:1},n=/\s*(?:;\s*|$)/;a.style=function(P,Q){if(Q){P=e.clone(P);H(P.attributes,Q);H(P.styles,Q);}var R=this.element=(P.element||'*').toLowerCase();this.type=R=='#'||l[R]?1:m[R]?3:2;this._={definition:P};};a.style.prototype={apply:function(P){O.call(this,P,false);},remove:function(P){O.call(this,P,true);},applyToRange:function(P){var Q=this;return(Q.applyToRange=Q.type==2?o:Q.type==1?s:Q.type==3?q:null).call(Q,P);},removeFromRange:function(P){var Q=this;return(Q.removeFromRange=Q.type==2?p:Q.type==3?r:null).call(Q,P);},applyToObject:function(P){F(P,this);},checkActive:function(P){var T=this;switch(T.type){case 1:return T.checkElementRemovable(P.block||P.blockLimit,true);case 3:case 2:var Q=P.elements;for(var R=0,S;R<Q.length;R++){S=Q[R];if(T.type==2&&(S==P.block||S==P.blockLimit))continue;if(T.type==3&&!(S.getName() in m))continue;if(T.checkElementRemovable(S,true))return true;}}return false;},checkApplicable:function(P){switch(this.type){case 2:case 1:break;case 3:return P.lastElement.getAscendant(this.element,true);}return true;},checkElementRemovable:function(P,Q){if(!P)return false;var R=this._.definition,S;if(P.getName()==this.element){if(!Q&&!P.hasAttributes())return true;
-S=I(R);if(S._length){for(var T in S){if(T=='_length')continue;var U=P.getAttribute(T)||'';if(T=='style'?N(S[T],L(U,false)):S[T]==U){if(!Q)return true;}else if(Q)return false;}if(Q)return true;}else return true;}var V=J(this)[P.getName()];if(V){if(!(S=V.attributes))return true;for(var W=0;W<S.length;W++){T=S[W][0];var X=P.getAttribute(T);if(X){var Y=S[W][1];if(Y===null||typeof Y=='string'&&X==Y||Y.test(X))return true;}}}return false;},buildPreview:function(){var P=this._.definition,Q=[],R=P.element;if(R=='bdo')R='span';Q=['<',R];var S=P.attributes;if(S)for(var T in S)Q.push(' ',T,'="',S[T],'"');var U=a.style.getStyleText(P);if(U)Q.push(' style="',U,'"');Q.push('>',P.name,'</',R,'>');return Q.join('');}};a.style.getStyleText=function(P){var Q=P._ST;if(Q)return Q;Q=P.styles;var R=P.attributes&&P.attributes.style||'',S='';if(R.length)R=R.replace(n,';');for(var T in Q){var U=Q[T],V=(T+':'+U).replace(n,';');if(U=='inherit')S+=V;else R+=V;}if(R.length)R=L(R);R+=S;return P._ST=R;};function o(P){var al=this;var Q=P.document;if(P.collapsed){var R=E(al,Q);P.insertNode(R);P.moveToPosition(R,2);return;}var S=al.element,T=al._.definition,U,V=f[S]||(U=true,f.span);P.enlarge(1);P.trim();var W=P.createBookmark(),X=W.startNode,Y=W.endNode,Z=X,aa;while(Z){var ab=false;if(Z.equals(Y)){Z=null;ab=true;}else{var ac=Z.type,ad=ac==1?Z.getName():null;if(ad&&Z.getAttribute('_cke_bookmark')){Z=Z.getNextSourceNode(true);continue;}if(!ad||V[ad]&&(Z.getPosition(Y)|4|0|8)==4+0+8&&(!T.childRule||T.childRule(Z))){var ae=Z.getParent();if(ae&&((ae.getDtd()||f.span)[S]||U)&&(!T.parentRule||T.parentRule(ae))){if(!aa&&(!ad||!f.$removeEmpty[ad]||(Z.getPosition(Y)|4|0|8)==4+0+8)){aa=new d.range(Q);aa.setStartBefore(Z);}if(ac==3||ac==1&&!Z.getChildCount()){var af=Z,ag;while(!af.$.nextSibling&&(ag=af.getParent(),V[ag.getName()])&&(ag.getPosition(X)|2|0|8)==2+0+8&&(!T.childRule||T.childRule(ag)))af=ag;aa.setEndAfter(af);if(!af.$.nextSibling)ab=true;}}else ab=true;}else ab=true;Z=Z.getNextSourceNode();}if(ab&&aa&&!aa.collapsed){var ah=E(al,Q),ai=aa.getCommonAncestor();while(ah&&ai){if(ai.getName()==S){for(var aj in T.attributes){if(ah.getAttribute(aj)==ai.getAttribute(aj))ah.removeAttribute(aj);}for(var ak in T.styles){if(ah.getStyle(ak)==ai.getStyle(ak))ah.removeStyle(ak);}if(!ah.hasAttributes()){ah=null;break;}}ai=ai.getParent();}if(ah){aa.extractContents().appendTo(ah);B(al,ah);aa.insertNode(ah);ah.mergeSiblings();if(!c)ah.$.normalize();}aa=null;}}P.moveToBookmark(W);P.shrink(2);};function p(P){P.enlarge(1);
-var Q=P.createBookmark(),R=Q.startNode;if(P.collapsed){var S=new d.elementPath(R.getParent()),T;for(var U=0,V;U<S.elements.length&&(V=S.elements[U]);U++){if(V==S.block||V==S.blockLimit)break;if(this.checkElementRemovable(V)){var W;if(P.collapsed&&(P.checkBoundaryOfElement(V,2)||(W=P.checkBoundaryOfElement(V,1)))){T=V;T.match=W?'start':'end';}else{V.mergeSiblings();A(this,V);}}}if(T){var X=R;for(U=0;true;U++){var Y=S.elements[U];if(Y.equals(T))break;else if(Y.match)continue;else Y=Y.clone();Y.append(X);X=Y;}X[T.match=='start'?'insertBefore':'insertAfter'](T);}}else{var Z=Q.endNode,aa=this;function ab(){var ae=new d.elementPath(R.getParent()),af=new d.elementPath(Z.getParent()),ag=null,ah=null;for(var ai=0;ai<ae.elements.length;ai++){var aj=ae.elements[ai];if(aj==ae.block||aj==ae.blockLimit)break;if(aa.checkElementRemovable(aj))ag=aj;}for(ai=0;ai<af.elements.length;ai++){aj=af.elements[ai];if(aj==af.block||aj==af.blockLimit)break;if(aa.checkElementRemovable(aj))ah=aj;}if(ah)Z.breakParent(ah);if(ag)R.breakParent(ag);};ab();var ac=R.getNext();while(!ac.equals(Z)){var ad=ac.getNextSourceNode();if(ac.type==1&&this.checkElementRemovable(ac)){if(ac.getName()==this.element)A(this,ac);else C(ac,J(this)[ac.getName()]);if(ad.type==1&&ad.contains(R)){ab();ad=R.getNext();}}ac=ad;}}P.moveToBookmark(Q);};function q(P){var Q=P.getCommonAncestor(true,true),R=Q.getAscendant(this.element,true);R&&F(R,this);};function r(P){var Q=P.getCommonAncestor(true,true),R=Q.getAscendant(this.element,true);if(!R)return;var S=this,T=S._.definition,U=T.attributes,V=a.style.getStyleText(T);if(U)for(var W in U)R.removeAttribute(W,U[W]);if(T.styles)for(var X in T.styles){if(!T.styles.hasOwnProperty(X))continue;R.removeStyle(X);}};function s(P){var Q=P.createBookmark(true),R=P.createIterator();R.enforceRealBlocks=true;if(this._.enterMode)R.enlargeBr=this._.enterMode!=2;var S,T=P.document,U;while(S=R.getNextParagraph()){var V=E(this,T);t(S,V);}P.moveToBookmark(Q);};function t(P,Q){var R=Q.is('pre'),S=P.is('pre'),T=R&&!S,U=!R&&S;if(T)Q=z(P,Q);else if(U)Q=y(w(P),Q);else P.moveChildren(Q);Q.replace(P);if(R)v(Q);};var u=d.walker.whitespaces(true);function v(P){var Q;if(!((Q=P.getPrevious(u))&&Q.is&&Q.is('pre')))return;var R=x(Q.getHtml(),/\n$/,'')+'\n\n'+x(P.getHtml(),/^\n/,'');if(c)P.$.outerHTML='<pre>'+R+'</pre>';else P.setHtml(R);Q.remove();};function w(P){var Q=/(\S\s*)\n(?:\s|(<span[^>]+_cke_bookmark.*?\/span>))*\n(?!$)/gi,R=P.getName(),S=x(P.getOuterHtml(),Q,function(U,V,W){return V+'</pre>'+W+'<pre>';
-}),T=[];S.replace(/<pre\b.*?>([\s\S]*?)<\/pre>/gi,function(U,V){T.push(V);});return T;};function x(P,Q,R){var S='',T='';P=P.replace(/(^<span[^>]+_cke_bookmark.*?\/span>)|(<span[^>]+_cke_bookmark.*?\/span>$)/gi,function(U,V,W){V&&(S=V);W&&(T=W);return '';});return S+P.replace(Q,R)+T;};function y(P,Q){var R=new d.documentFragment(Q.getDocument());for(var S=0;S<P.length;S++){var T=P[S];T=T.replace(/(\r\n|\r)/g,'\n');T=x(T,/^[ \t]*\n/,'');T=x(T,/\n$/,'');T=x(T,/^[ \t]+|[ \t]+$/g,function(V,W,X){if(V.length==1)return '&nbsp;';else if(!W)return e.repeat('&nbsp;',V.length-1)+' ';else return ' '+e.repeat('&nbsp;',V.length-1);});T=T.replace(/\n/g,'<br>');T=T.replace(/[ \t]{2,}/g,function(V){return e.repeat('&nbsp;',V.length-1)+' ';});var U=Q.clone();U.setHtml(T);R.append(U);}return R;};function z(P,Q){var R=P.getHtml();R=x(R,/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g,'');R=R.replace(/[ \t\r\n]*(<br[^>]*>)[ \t\r\n]*/gi,'$1');R=R.replace(/([ \t\n\r]+|&nbsp;)/g,' ');R=R.replace(/<br\b[^>]*>/gi,'\n');if(c){var S=P.getDocument().createElement('div');S.append(Q);Q.$.outerHTML='<pre>'+R+'</pre>';Q=S.getFirst().remove();}else Q.setHtml(R);return Q;};function A(P,Q){var R=P._.definition,S=e.extend({},R.attributes,J(P)[Q.getName()]),T=R.styles,U=e.isEmpty(S)&&e.isEmpty(T);for(var V in S){if((V=='class'||P._.definition.fullMatch)&&Q.getAttribute(V)!=K(V,S[V]))continue;U=Q.hasAttribute(V);Q.removeAttribute(V);}for(var W in T){if(P._.definition.fullMatch&&Q.getStyle(W)!=K(W,T[W],true))continue;U=U||!!Q.getStyle(W);Q.removeStyle(W);}U&&D(Q);};function B(P,Q){var R=P._.definition,S=R.attributes,T=R.styles,U=J(P),V=Q.getElementsByTag(P.element);for(var W=V.count();--W>=0;)A(P,V.getItem(W));for(var X in U){if(X!=P.element){V=Q.getElementsByTag(X);for(W=V.count()-1;W>=0;W--){var Y=V.getItem(W);C(Y,U[X]);}}}};function C(P,Q){var R=Q&&Q.attributes;if(R)for(var S=0;S<R.length;S++){var T=R[S][0],U;if(U=P.getAttribute(T)){var V=R[S][1];if(V===null||V.test&&V.test(U)||typeof V=='string'&&U==V)P.removeAttribute(T);}}D(P);};function D(P){if(!P.hasAttributes()){var Q=P.getFirst(),R=P.getLast();P.remove(true);if(Q){Q.type==1&&Q.mergeSiblings();if(R&&!Q.equals(R)&&R.type==1)R.mergeSiblings();}}};function E(P,Q){var R,S=P._.definition,T=P.element;if(T=='*')T='span';R=new h(T,Q);return F(R,P);};function F(P,Q){var R=Q._.definition,S=R.attributes,T=a.style.getStyleText(R);if(S)for(var U in S)P.setAttribute(U,S[U]);if(R.styles)for(var V in R.styles){if(!R.styles.hasOwnProperty(V))continue;P.setStyle(V,R.styles[V]);
-}return P;};var G=/#\((.+?)\)/g;function H(P,Q){for(var R in P)P[R]=P[R].replace(G,function(S,T){return Q[T];});};function I(P){var Q=P._AC;if(Q)return Q;Q={};var R=0,S=P.attributes;if(S)for(var T in S){R++;Q[T]=S[T];}var U=a.style.getStyleText(P);if(U){if(!Q.style)R++;Q.style=U;}Q._length=R;return P._AC=Q;};function J(P){if(P._.overrides)return P._.overrides;var Q=P._.overrides={},R=P._.definition.overrides;if(R){if(!e.isArray(R))R=[R];for(var S=0;S<R.length;S++){var T=R[S],U,V,W;if(typeof T=='string')U=T.toLowerCase();else{U=T.element?T.element.toLowerCase():P.element;W=T.attributes;}V=Q[U]||(Q[U]={});if(W){var X=V.attributes=V.attributes||[];for(var Y in W)X.push([Y.toLowerCase(),W[Y]]);}}}return Q;};function K(P,Q,R){var S=new h('span');S[R?'setStyle':'setAttribute'](P,Q);return S[R?'getStyle':'getAttribute'](P);};function L(P,Q){var R;if(Q!==false){var S=new h('span');S.setAttribute('style',P);R=S.getAttribute('style')||'';}else R=P;return R.replace(/\s*([;:])\s*/,'$1').replace(/([^\s;])$/,'$1;').replace(/,\s+/g,',').toLowerCase();};function M(P){var Q={};P.replace(/&quot;/g,'"').replace(/\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(R,S,T){Q[S]=T;});return Q;};function N(P,Q){typeof P=='string'&&(P=M(P));typeof Q=='string'&&(Q=M(Q));for(var R in P){if(!(R in Q&&(Q[R]==P[R]||P[R]=='inherit'||Q[R]=='inherit')))return false;}return true;};function O(P,Q){var R=P.getSelection(),S=R.createBookmarks(),T=R.getRanges(true),U=Q?this.removeFromRange:this.applyToRange,V,W=T.createIterator();while(V=W.getNextRange())U.call(this,V);if(S.length==1&&S[0].collapsed){R.selectRanges(T);S[0].startNode.remove();}else R.selectBookmarks(S);};})();a.styleCommand=function(l){this.style=l;};a.styleCommand.prototype.exec=function(l){var n=this;l.focus();var m=l.document;if(m)if(n.state==2)n.style.apply(m);else if(n.state==1)n.style.remove(m);return!!m;};a.stylesSet=new a.resourceManager('','stylesSet');a.addStylesSet=e.bind(a.stylesSet.add,a.stylesSet);a.loadStylesSet=function(l,m,n){a.stylesSet.addExternal(l,m,'');a.stylesSet.load(l,n);};a.editor.prototype.getStylesSet=function(l){if(!this._.stylesDefinitions){var m=this,n=m.config.stylesCombo_stylesSet||m.config.stylesSet||'default';if(n instanceof Array){m._.stylesDefinitions=n;l(n);return;}var o=n.split(':'),p=o[0],q=o[1],r=j.registered.styles.path;a.stylesSet.addExternal(p,q?o.slice(1).join(':'):r+'styles/'+p+'.js','');a.stylesSet.load(p,function(s){m._.stylesDefinitions=s[p];l(m._.stylesDefinitions);});}else l(this._.stylesDefinitions);
-};j.add('domiterator');(function(){function l(o){var p=this;if(arguments.length<1)return;p.range=o;p.forceBrBreak=false;p.enlargeBr=true;p.enforceRealBlocks=false;p._||(p._={});};var m=/^[\r\n\t ]+$/,n=d.walker.bookmark();l.prototype={getNextParagraph:function(o){var P=this;var p,q,r,s,t,u;if(!P._.lastNode){q=P.range.clone();q.shrink(1,true);s=q.endContainer.hasAscendant('pre',true)||q.startContainer.hasAscendant('pre',true);q.enlarge(P.forceBrBreak&&!s||!P.enlargeBr?3:2);var v=new d.walker(q),w=d.walker.bookmark(true,true);v.evaluator=w;P._.nextNode=v.next();v=new d.walker(q);v.evaluator=w;var x=v.previous();P._.lastNode=x.getNextSourceNode(true);if(P._.lastNode&&P._.lastNode.type==3&&!e.trim(P._.lastNode.getText())&&P._.lastNode.getParent().isBlockBoundary()){var y=new d.range(q.document);y.moveToPosition(P._.lastNode,4);if(y.checkEndOfBlock()){var z=new d.elementPath(y.endContainer),A=z.block||z.blockLimit;P._.lastNode=A.getNextSourceNode(true);}}if(!P._.lastNode){P._.lastNode=P._.docEndMarker=q.document.createText('');P._.lastNode.insertAfter(x);}q=null;}var B=P._.nextNode;x=P._.lastNode;P._.nextNode=null;while(B){var C=false,D=B.hasAscendant('pre'),E=B.type!=1,F=false;if(!E){var G=B.getName();if(B.isBlockBoundary(P.forceBrBreak&&!D&&{br:1})){if(G=='br')E=true;else if(!q&&!B.getChildCount()&&G!='hr'){p=B;r=B.equals(x);break;}if(q){q.setEndAt(B,3);if(G!='br')P._.nextNode=B;}C=true;}else{if(B.getFirst()){if(!q){q=new d.range(P.range.document);q.setStartAt(B,3);}B=B.getFirst();continue;}E=true;}}else if(B.type==3)if(m.test(B.getText()))E=false;if(E&&!q){q=new d.range(P.range.document);q.setStartAt(B,3);}r=(!C||E)&&B.equals(x);if(q&&!C)while(!B.getNext()&&!r){var H=B.getParent();if(H.isBlockBoundary(P.forceBrBreak&&!D&&{br:1})){C=true;r=r||H.equals(x);break;}B=H;E=true;r=B.equals(x);F=true;}if(E)q.setEndAt(B,4);B=B.getNextSourceNode(F,null,x);r=!B;if(r||C&&q)break;}if(!p){if(!q){P._.docEndMarker&&P._.docEndMarker.remove();P._.nextNode=null;return null;}var I=new d.elementPath(q.startContainer),J=I.blockLimit,K={div:1,th:1,td:1};p=I.block;if(!p&&!P.enforceRealBlocks&&K[J.getName()]&&q.checkStartOfBlock()&&q.checkEndOfBlock())p=J;else if(!p||P.enforceRealBlocks&&p.getName()=='li'){p=P.range.document.createElement(o||'p');q.extractContents().appendTo(p);p.trim();q.insertNode(p);t=u=true;}else if(p.getName()!='li'){if(!q.checkStartOfBlock()||!q.checkEndOfBlock()){p=p.clone(false);q.extractContents().appendTo(p);p.trim();var L=q.splitBlock();t=!L.wasStartOfBlock;
-u=!L.wasEndOfBlock;q.insertNode(p);}}else if(!r)P._.nextNode=p.equals(x)?null:q.getBoundaryNodes().endNode.getNextSourceNode(true,null,x);}if(t){var M=p.getPrevious();if(M&&M.type==1)if(M.getName()=='br')M.remove();else if(M.getLast()&&M.getLast().$.nodeName.toLowerCase()=='br')M.getLast().remove();}if(u){var N=d.walker.bookmark(false,true),O=p.getLast();if(O&&O.type==1&&O.getName()=='br')if(c||O.getPrevious(N)||O.getNext(N))O.remove();}if(!P._.nextNode)P._.nextNode=r||p.equals(x)?null:p.getNextSourceNode(true,null,x);return p;}};d.range.prototype.createIterator=function(){return new l(this);};})();j.add('panelbutton',{requires:['button'],beforeInit:function(l){l.ui.addHandler(4,k.panelButton.handler);}});a.UI_PANELBUTTON=4;(function(){var l=function(m){var o=this;var n=o._;if(n.state==0)return;o.createPanel(m);if(n.on){n.panel.hide();return;}n.panel.showBlock(o._.id,o.document.getById(o._.id),4);};k.panelButton=e.createClass({base:k.button,$:function(m){var o=this;var n=m.panel;delete m.panel;o.base(m);o.document=n&&n.parent&&n.parent.getDocument()||a.document;n.block={attributes:n.attributes};o.hasArrow=true;o.click=l;o._={panelDefinition:n};},statics:{handler:{create:function(m){return new k.panelButton(m);}}},proto:{createPanel:function(m){var n=this._;if(n.panel)return;var o=this._.panelDefinition||{},p=this._.panelDefinition.block,q=o.parent||a.document.getBody(),r=this._.panel=new k.floatPanel(m,q,o),s=r.addBlock(n.id,p),t=this;r.onShow=function(){if(t.className)this.element.getFirst().addClass(t.className+'_panel');n.oldState=t._.state;t.setState(1);n.on=1;if(t.onOpen)t.onOpen();};r.onHide=function(){if(t.className)this.element.getFirst().removeClass(t.className+'_panel');t.setState(n.oldState);n.on=0;if(t.onClose)t.onClose();};r.onEscape=function(){r.hide();t.document.getById(n.id).focus();};if(this.onBlock)this.onBlock(r,s);s.onHide=function(){n.on=0;t.setState(2);};}}});})();j.add('floatpanel',{requires:['panel']});(function(){var l={},m=false;function n(o,p,q,r,s){var t=p.getUniqueId()+'-'+q.getUniqueId()+'-'+o.skinName+'-'+o.lang.dir+(o.uiColor&&'-'+o.uiColor||'')+(r.css&&'-'+r.css||'')+(s&&'-'+s||''),u=l[t];if(!u){u=l[t]=new k.panel(p,r);u.element=q.append(h.createFromHtml(u.renderHtml(o),p));u.element.setStyles({display:'none',position:'absolute'});}return u;};k.floatPanel=e.createClass({$:function(o,p,q,r){q.forceIFrame=true;var s=p.getDocument(),t=n(o,s,p,q,r||0),u=t.element,v=u.getFirst().getFirst();this.element=u;this._={panel:t,parentElement:p,definition:q,document:s,iframe:v,children:[],dir:o.lang.dir};
-},proto:{addBlock:function(o,p){return this._.panel.addBlock(o,p);},addListBlock:function(o,p){return this._.panel.addListBlock(o,p);},getBlock:function(o){return this._.panel.getBlock(o);},showBlock:function(o,p,q,r,s){var t=this._.panel,u=t.showBlock(o);this.allowBlur(false);m=true;var v=this.element,w=this._.iframe,x=this._.definition,y=p.getDocumentPosition(v.getDocument()),z=this._.dir=='rtl',A=y.x+(r||0),B=y.y+(s||0);if(z&&(q==1||q==4))A+=p.$.offsetWidth;else if(!z&&(q==2||q==3))A+=p.$.offsetWidth-1;if(q==3||q==4)B+=p.$.offsetHeight-1;this._.panel._.offsetParentId=p.getId();v.setStyles({top:'-30000px',display:''});v.setOpacity(0);v.getFirst().removeStyle('width');if(!this._.blurSet){var C=c?w:new d.window(w.$.contentWindow);a.event.useCapture=true;C.on('blur',function(D){var F=this;if(!F.allowBlur())return;var E;if(c&&!F.allowBlur()||(E=D.data.getTarget())&&E.getName&&E.getName()!='iframe')return;if(F.visible&&!F._.activeChild&&!m)F.hide();},this);C.on('focus',function(){this._.focused=true;this.hideChild();this.allowBlur(true);},this);a.event.useCapture=false;this._.blurSet=1;}t.onEscape=e.bind(function(D){if(this.onEscape&&this.onEscape(D)===false)return false;},this);e.setTimeout(function(){if(z)A-=v.$.offsetWidth;var D=e.bind(function(){var E=v.getFirst();if(u.autoSize){var F=u.element.$;if(b.gecko||b.opera)F=F.parentNode;if(c)F=F.document.body;var G=F.scrollWidth;if(c&&b.quirks&&G>0)G+=(E.$.offsetWidth||0)-(E.$.clientWidth||0);G+=4;E.setStyle('width',G+'px');u.element.addClass('cke_frameLoaded');var H=u.element.$.scrollHeight;if(c&&b.quirks&&H>0)H+=(E.$.offsetHeight||0)-(E.$.clientHeight||0);E.setStyle('height',H+'px');t._.currentBlock.element.setStyle('display','none').removeStyle('display');}else E.removeStyle('height');var I=t.element,J=I.getWindow(),K=J.getScrollPosition(),L=J.getViewPaneSize(),M={height:I.$.offsetHeight,width:I.$.offsetWidth};if(z?A<0:A+M.width>L.width+K.x)A+=M.width*(z?1:-1);if(B+M.height>L.height+K.y)B-=M.height;if(c){var N=new h(v.$.offsetParent),O=N;if(O.getName()=='html')O=O.getDocument().getBody();if(O.getComputedStyle('direction')=='rtl')if(b.ie8Compat)A-=v.getDocument().getDocumentElement().$.scrollLeft*2;else A-=N.$.scrollWidth-N.$.clientWidth;}v.setStyles({top:B+'px',left:A+'px'});v.setOpacity(1);},this);t.isLoaded?D():t.onLoad=D;e.setTimeout(function(){w.$.contentWindow.focus();this.allowBlur(true);},0,this);},0,this);this.visible=1;if(this.onShow)this.onShow.call(this);m=false;},hide:function(){var o=this;if(o.visible&&(!o.onHide||o.onHide.call(o)!==true)){o.hideChild();
-o.element.setStyle('display','none');o.visible=0;}},allowBlur:function(o){var p=this._.panel;if(o!=undefined)p.allowBlur=o;return p.allowBlur;},showAsChild:function(o,p,q,r,s,t){if(this._.activeChild==o&&o._.panel._.offsetParentId==q.getId())return;this.hideChild();o.onHide=e.bind(function(){e.setTimeout(function(){if(!this._.focused)this.hide();},0,this);},this);this._.activeChild=o;this._.focused=false;o.showBlock(p,q,r,s,t);if(b.ie7Compat||b.ie8&&b.ie6Compat)setTimeout(function(){o.element.getChild(0).$.style.cssText+='';},100);},hideChild:function(){var o=this._.activeChild;if(o){delete o.onHide;delete this._.activeChild;o.hide();}}}});a.on('instanceDestroyed',function(){var o=e.isEmpty(a.instances);for(var p in l){var q=l[p];if(o)q.destroy();else q.element.hide();}o&&(l={});});})();j.add('menu',{beforeInit:function(l){var m=l.config.menu_groups.split(','),n=l._.menuGroups={},o=l._.menuItems={};for(var p=0;p<m.length;p++)n[m[p]]=p+1;l.addMenuGroup=function(q,r){n[q]=r||100;};l.addMenuItem=function(q,r){if(n[r.group])o[q]=new a.menuItem(this,q,r);};l.addMenuItems=function(q){for(var r in q)this.addMenuItem(r,q[r]);};l.getMenuItem=function(q){return o[q];};},requires:['floatpanel']});(function(){a.menu=e.createClass({$:function(m,n){var q=this;n=q._.definition=n||{};q.id='cke_'+e.getNextNumber();q.editor=m;q.items=[];q._.level=n.level||1;var o=e.extend({},n.panel,{css:m.skin.editor.css,level:q._.level-1,block:{}}),p=o.block.attributes=o.attributes||{};!p.role&&(p.role='menu');q._.panelDefinition=o;},_:{showSubMenu:function(m){var u=this;var n=u._.subMenu,o=u.items[m],p=o.getItems&&o.getItems();if(!p){u._.panel.hideChild();return;}var q=u._.panel.getBlock(u.id);q._.focusIndex=m;if(n)n.removeAll();else{n=u._.subMenu=new a.menu(u.editor,e.extend({},u._.definition,{level:u._.level+1},true));n.parent=u;n.onClick=e.bind(u.onClick,u);n.onEscape=u.onEscape;}for(var r in p){var s=u.editor.getMenuItem(r);if(s){s.state=p[r];n.add(s);}}var t=u._.panel.getBlock(u.id).element.getDocument().getById(u.id+String(m));n.show(t,2);}},proto:{add:function(m){if(!m.order)m.order=this.items.length;this.items.push(m);},removeAll:function(){this.items=[];},show:function(m,n,o,p){var q=this.items,r=this.editor,s=this._.panel,t=this._.element;if(!s){s=this._.panel=new k.floatPanel(this.editor,a.document.getBody(),this._.panelDefinition,this._.level);s.onEscape=e.bind(function(E){if(this.onEscape&&this.onEscape(E)===false)return false;},this);s.onHide=e.bind(function(){this.onHide&&this.onHide();
-},this);var u=s.addBlock(this.id,this._.panelDefinition.block);u.autoSize=true;var v=u.keys;v[40]='next';v[9]='next';v[38]='prev';v[2000+9]='prev';v[32]='click';v[r.lang.dir=='rtl'?37:39]='click';t=this._.element=u.element;t.addClass(r.skinClass);var w=t.getDocument();w.getBody().setStyle('overflow','hidden');w.getElementsByTag('html').getItem(0).setStyle('overflow','hidden');this._.itemOverFn=e.addFunction(function(E){var F=this;clearTimeout(F._.showSubTimeout);F._.showSubTimeout=e.setTimeout(F._.showSubMenu,r.config.menu_subMenuDelay,F,[E]);},this);this._.itemOutFn=e.addFunction(function(E){clearTimeout(this._.showSubTimeout);},this);this._.itemClickFn=e.addFunction(function(E){var G=this;var F=G.items[E];if(F.state==0){G.hide();return;}if(F.getItems)G._.showSubMenu(E);else G.onClick&&G.onClick(F);},this);}l(q);var x=r.container.getChild(1),y=x.hasClass('cke_mixed_dir_content')?' cke_mixed_dir_content':'',z=['<div class="cke_menu'+y+'" role="presentation">'],A=q.length,B=A&&q[0].group;for(var C=0;C<A;C++){var D=q[C];if(B!=D.group){z.push('<div class="cke_menuseparator" role="separator"></div>');B=D.group;}D.render(this,C,z);}z.push('</div>');t.setHtml(z.join(''));if(this.parent)this.parent._.panel.showAsChild(s,this.id,m,n,o,p);else s.showBlock(this.id,m,n,o,p);r.fire('menuShow',[s]);},hide:function(){this._.panel&&this._.panel.hide();}}});function l(m){m.sort(function(n,o){if(n.group<o.group)return-1;else if(n.group>o.group)return 1;return n.order<o.order?-1:n.order>o.order?1:0;});};})();a.menuItem=e.createClass({$:function(l,m,n){var o=this;e.extend(o,n,{order:0,className:'cke_button_'+m});o.group=l._.menuGroups[o.group];o.editor=l;o.name=m;},proto:{render:function(l,m,n){var u=this;var o=l.id+String(m),p=typeof u.state=='undefined'?2:u.state,q=' cke_'+(p==1?'on':p==0?'disabled':'off'),r=u.label;if(u.className)q+=' '+u.className;var s=u.getItems;n.push('<span class="cke_menuitem"><a id="',o,'" class="',q,'" href="javascript:void(\'',(u.label||'').replace("'",''),'\')" title="',u.label,'" tabindex="-1"_cke_focus=1 hidefocus="true" role="menuitem"'+(s?'aria-haspopup="true"':'')+(p==0?'aria-disabled="true"':'')+(p==1?'aria-pressed="true"':''));if(b.opera||b.gecko&&b.mac)n.push(' onkeypress="return false;"');if(b.gecko)n.push(' onblur="this.style.cssText = this.style.cssText;"');var t=(u.iconOffset||0)*-16;n.push(' onmouseover="CKEDITOR.tools.callFunction(',l._.itemOverFn,',',m,');" onmouseout="CKEDITOR.tools.callFunction(',l._.itemOutFn,',',m,');" onclick="CKEDITOR.tools.callFunction(',l._.itemClickFn,',',m,'); return false;"><span class="cke_icon_wrapper"><span class="cke_icon"'+(u.icon?' style="background-image:url('+a.getUrl(u.icon)+');background-position:0 '+t+'px;"':'')+'></span></span>'+'<span class="cke_label">');
-if(s)n.push('<span class="cke_menuarrow">','<span>&#',u.editor.lang.dir=='rtl'?'9668':'9658',';</span>','</span>');n.push(r,'</span></a></span>');}}});i.menu_subMenuDelay=400;i.menu_groups='clipboard,form,tablecell,tablecellproperties,tablerow,tablecolumn,table,anchor,link,image,flash,checkbox,radio,textfield,hiddenfield,imagebutton,button,select,textarea,div';(function(){var l=function(n,o){return n._.modes&&n._.modes[o||n.mode];},m;j.add('editingblock',{init:function(n){if(!n.config.editingBlock)return;n.on('themeSpace',function(o){if(o.data.space=='contents')o.data.html+='<br>';});n.on('themeLoaded',function(){n.fireOnce('editingBlockReady');});n.on('uiReady',function(){n.setMode(n.config.startupMode);});n.on('afterSetData',function(){if(!m){function o(){m=true;l(n).loadData(n.getData());m=false;};if(n.mode)o();else n.on('mode',function(){o();n.removeListener('mode',arguments.callee);});}});n.on('beforeGetData',function(){if(!m&&n.mode){m=true;n.setData(l(n).getData());m=false;}});n.on('getSnapshot',function(o){if(n.mode)o.data=l(n).getSnapshotData();});n.on('loadSnapshot',function(o){if(n.mode)l(n).loadSnapshotData(o.data);});n.on('mode',function(o){o.removeListener();b.webkit&&n.container.on('focus',function(){n.focus();});if(n.config.startupFocus)n.focus();setTimeout(function(){n.fireOnce('instanceReady');a.fire('instanceReady',null,n);},0);});}});a.editor.prototype.mode='';a.editor.prototype.addMode=function(n,o){o.name=n;(this._.modes||(this._.modes={}))[n]=o;};a.editor.prototype.setMode=function(n){var o,p=this.getThemeSpace('contents'),q=this.checkDirty();if(this.mode){if(n==this.mode)return;this.fire('beforeModeUnload');var r=l(this);o=r.getData();r.unload(p);this.mode='';}p.setHtml('');var s=l(this,n);if(!s)throw '[CKEDITOR.editor.setMode] Unknown mode "'+n+'".';if(!q)this.on('mode',function(){this.resetDirty();this.removeListener('mode',arguments.callee);});s.load(p,typeof o!='string'?this.getData():o);};a.editor.prototype.focus=function(){var n=l(this);if(n)n.focus();};})();i.startupMode='wysiwyg';i.startupFocus=false;i.editingBlock=true;(function(){function l(){var v=this;try{var s=v.getSelection();if(!s||!s.document.getWindow().$)return;var t=s.getStartElement(),u=new d.elementPath(t);if(!u.compare(v._.selectionPreviousPath)){v._.selectionPreviousPath=u;v.fire('selectionChange',{selection:s,path:u,element:t});}}catch(w){}};var m,n;function o(){n=true;if(m)return;p.call(this);m=e.setTimeout(p,200,this);};function p(){m=null;if(n){e.setTimeout(l,0,this);
-n=false;}};var q={modes:{wysiwyg:1,source:1},exec:function(s){switch(s.mode){case 'wysiwyg':s.document.$.execCommand('SelectAll',false,null);break;case 'source':var t=s.textarea.$;if(c)t.createTextRange().execCommand('SelectAll');else{t.selectionStart=0;t.selectionEnd=t.value.length;}t.focus();}},canUndo:false};j.add('selection',{init:function(s){s.on('contentDom',function(){var t=s.document,u=t.getBody(),v=t.getDocumentElement();if(c){var w,x,y=1;u.on('focusin',function(C){if(C.data.$.srcElement.nodeName!='BODY')return;if(w){if(y)try{w.select();}catch(D){}w=null;}});u.on('focus',function(){x=true;B();});u.on('beforedeactivate',function(C){if(C.data.$.toElement)return;x=false;y=1;});if(c&&b.version<8)s.on('blur',function(C){s.document&&s.document.$.selection.empty();});v.on('mousedown',function(){y=0;});v.on('mouseup',function(){y=1;});if(c&&(b.ie7Compat||b.version<8||b.quirks))v.on('click',function(C){if(C.data.getTarget().getName()=='html')s.getSelection().getRanges()[0].select();});var z;u.on('mousedown',function(C){if(C.data.$.button==2){var D=s.document.$.selection;if(D.type=='None')z=s.window.getScrollPosition();}A();});u.on('mouseup',function(C){if(C.data.$.button==2&&z){s.document.$.documentElement.scrollLeft=z.x;s.document.$.documentElement.scrollTop=z.y;}z=null;x=true;setTimeout(function(){B(true);},0);});u.on('keydown',A);u.on('keyup',function(){x=true;B();});t.on('selectionchange',B);function A(){x=false;};function B(C){if(x){var D=s.document,E=s.getSelection(),F=E&&E.getNative();if(C&&F&&F.type=='None')if(!D.$.queryCommandEnabled('InsertImage')){e.setTimeout(B,50,this,true);return;}var G;if(F&&F.type&&F.type!='Control'&&(G=F.createRange())&&(G=G.parentElement())&&(G=G.nodeName)&&G.toLowerCase() in {input:1,textarea:1})return;w=F&&E.getRanges()[0];o.call(s);}};}else{t.on('mouseup',o,s);t.on('keyup',o,s);}});s.addCommand('selectAll',q);s.ui.addButton('SelectAll',{label:s.lang.selectAll,command:'selectAll'});s.selectionChange=o;}});a.editor.prototype.getSelection=function(){return this.document&&this.document.getSelection();};a.editor.prototype.forceNextSelectionCheck=function(){delete this._.selectionPreviousPath;};g.prototype.getSelection=function(){var s=new d.selection(this);return!s||s.isInvalid?null:s;};a.SELECTION_NONE=1;a.SELECTION_TEXT=2;a.SELECTION_ELEMENT=3;d.selection=function(s){var v=this;var t=s.getCustomData('cke_locked_selection');if(t)return t;v.document=s;v.isLocked=false;v._={cache:{}};if(c){var u=v.getNative().createRange();if(!u||u.item&&u.item(0).ownerDocument!=v.document.$||u.parentElement&&u.parentElement().ownerDocument!=v.document.$)v.isInvalid=true;
-}return v;};var r={img:1,hr:1,li:1,table:1,tr:1,td:1,th:1,embed:1,object:1,ol:1,ul:1,a:1,input:1,form:1,select:1,textarea:1,button:1,fieldset:1,th:1,thead:1,tfoot:1};d.selection.prototype={getNative:c?function(){return this._.cache.nativeSel||(this._.cache.nativeSel=this.document.$.selection);}:function(){return this._.cache.nativeSel||(this._.cache.nativeSel=this.document.getWindow().$.getSelection());},getType:c?function(){var s=this._.cache;if(s.type)return s.type;var t=1;try{var u=this.getNative(),v=u.type;if(v=='Text')t=2;if(v=='Control')t=3;if(u.createRange().parentElement)t=2;}catch(w){}return s.type=t;}:function(){var s=this._.cache;if(s.type)return s.type;var t=2,u=this.getNative();if(!u)t=1;else if(u.rangeCount==1){var v=u.getRangeAt(0),w=v.startContainer;if(w==v.endContainer&&w.nodeType==1&&v.endOffset-v.startOffset==1&&r[w.childNodes[v.startOffset].nodeName.toLowerCase()])t=3;}return s.type=t;},getRanges:(function(){var s=c?(function(){var t=function(u,v){u=u.duplicate();u.collapse(v);var w=u.parentElement(),x=w.childNodes,y;for(var z=0;z<x.length;z++){var A=x[z];if(A.nodeType==1){y=u.duplicate();y.moveToElementText(A);var B=y.compareEndPoints('StartToStart',u),C=y.compareEndPoints('EndToStart',u);y.collapse();if(B>0)break;else if(!B||C==1&&B==-1)return{container:w,offset:z};else if(!C)return{container:w,offset:z+1};y=null;}}if(!y){y=u.duplicate();y.moveToElementText(w);y.collapse(false);}y.setEndPoint('StartToStart',u);var D=y.text.replace(/(\r\n|\r)/g,'\n').length;try{while(D>0)D-=x[--z].nodeValue.length;}catch(E){D=0;}if(D===0)return{container:w,offset:z};else return{container:x[z],offset:-D};};return function(){var E=this;var u=E.getNative(),v=u&&u.createRange(),w=E.getType(),x;if(!u)return[];if(w==2){x=new d.range(E.document);var y=t(v,true);x.setStart(new d.node(y.container),y.offset);y=t(v);x.setEnd(new d.node(y.container),y.offset);return[x];}else if(w==3){var z=[];for(var A=0;A<v.length;A++){var B=v.item(A),C=B.parentNode,D=0;x=new d.range(E.document);for(;D<C.childNodes.length&&C.childNodes[D]!=B;D++){}x.setStart(new d.node(C),D);x.setEnd(new d.node(C),D+1);z.push(x);}return z;}return[];};})():function(){var t=[],u,v=this.document,w=this.getNative();if(!w)return t;if(!w.rangeCount){u=new d.range(v);u.moveToElementEditStart(v.getBody());t.push(u);}for(var x=0;x<w.rangeCount;x++){var y=w.getRangeAt(x);u=new d.range(v);u.setStart(new d.node(y.startContainer),y.startOffset);u.setEnd(new d.node(y.endContainer),y.endOffset);t.push(u);}return t;
-};return function(t){var u=this._.cache;if(u.ranges&&!t)return u.ranges;else if(!u.ranges)u.ranges=new d.rangeList(s.call(this));if(t){var v=u.ranges;for(var w=0;w<v.length;w++){var x=v[w],y=x.getCommonAncestor();if(y.isReadOnly())v.splice(w,1);if(x.collapsed)continue;var z=x.startContainer,A=x.endContainer,B=x.startOffset,C=x.endOffset,D=x.clone(),E;if(E=z.isReadOnly())x.setStartAfter(E);if(z&&z.type==3)if(B>=z.getLength())D.setStartAfter(z);else D.setStartBefore(z);if(A&&A.type==3)if(!C)D.setEndBefore(A);else D.setEndAfter(A);var F=new d.walker(D);F.evaluator=function(G){if(G.type==1&&G.getAttribute('contenteditable')=='false'){var H=x.clone();x.setEndBefore(G);if(x.collapsed)v.splice(w--,1);if(!(G.getPosition(D.endContainer)&16)){H.setStartAfter(G);if(!H.collapsed)v.splice(w+1,0,H);}return true;}return false;};F.next();}}return u.ranges;};})(),getStartElement:function(){var z=this;var s=z._.cache;if(s.startElement!==undefined)return s.startElement;var t,u=z.getNative();switch(z.getType()){case 3:return z.getSelectedElement();case 2:var v=z.getRanges()[0];if(v)if(!v.collapsed){v.optimize();for(;;){var w=v.startContainer,x=v.startOffset;if(x==(w.getChildCount?w.getChildCount():w.getLength())&&!w.isBlockBoundary())v.setStartAfter(w);else break;}t=v.startContainer;if(t.type!=1)return t.getParent();t=t.getChild(v.startOffset);if(!t||t.type!=1)return v.startContainer;var y=t.getFirst();while(y&&y.type==1){t=y;y=y.getFirst();}return t;}if(c){v=u.createRange();v.collapse(true);t=v.parentElement();}else{t=u.anchorNode;if(t&&t.nodeType!=1)t=t.parentNode;}}return s.startElement=t?new h(t):null;},getSelectedElement:function(){var s=this._.cache;if(s.selectedElement!==undefined)return s.selectedElement;var t=this,u=e.tryThese(function(){return t.getNative().createRange().item(0);},function(){var v=t.getRanges()[0],w,x;for(var y=2;y&&!((w=v.getEnclosedNode())&&w.type==1&&r[w.getName()]&&(x=w));y--)v.shrink(1);return x.$;});return s.selectedElement=u?new h(u):null;},lock:function(){var s=this;s.getRanges();s.getStartElement();s.getSelectedElement();s._.cache.nativeSel={};s.isLocked=true;s.document.setCustomData('cke_locked_selection',s);},unlock:function(s){var x=this;var t=x.document,u=t.getCustomData('cke_locked_selection');if(u){t.setCustomData('cke_locked_selection',null);if(s){var v=u.getSelectedElement(),w=!v&&u.getRanges();x.isLocked=false;x.reset();t.getBody().focus();if(v)x.selectElement(v);else x.selectRanges(w);}}if(!u||!s){x.isLocked=false;x.reset();}},reset:function(){this._.cache={};
-},selectElement:function(s){var v=this;if(v.isLocked){var t=new d.range(v.document);t.setStartBefore(s);t.setEndAfter(s);v._.cache.selectedElement=s;v._.cache.startElement=s;v._.cache.ranges=new d.rangeList(t);v._.cache.type=3;return;}if(c){v.getNative().empty();try{t=v.document.$.body.createControlRange();t.addElement(s.$);t.select();}catch(w){t=v.document.$.body.createTextRange();t.moveToElementText(s.$);t.select();}finally{v.document.fire('selectionchange');}v.reset();}else{t=v.document.$.createRange();t.selectNode(s.$);var u=v.getNative();u.removeAllRanges();u.addRange(t);v.reset();}},selectRanges:function(s){var C=this;if(C.isLocked){C._.cache.selectedElement=null;C._.cache.startElement=s[0]&&s[0].getTouchedStartNode();C._.cache.ranges=new d.rangeList(s);C._.cache.type=2;return;}if(c){if(s.length>1){var t=s[s.length-1];s[0].setEnd(t.endContainer,t.endOffset);s.length=1;}if(s[0])s[0].select();C.reset();}else{var u=C.getNative();if(s.length)u.removeAllRanges();for(var v=0;v<s.length;v++){if(v<s.length-1){var w=s[v],x=s[v+1],y=w.clone();y.setStart(w.endContainer,w.endOffset);y.setEnd(x.startContainer,x.startOffset);if(!y.collapsed){y.shrink(1,true);if(y.getCommonAncestor().isReadOnly()){x.setStart(w.startContainer,w.startOffset);s.splice(v--,1);continue;}}}var z=s[v],A=C.document.$.createRange(),B=z.startContainer;if(z.collapsed&&(b.opera||b.gecko&&b.version<10900)&&B.type==1&&!B.getChildCount())B.appendText('');A.setStart(B.$,z.startOffset);A.setEnd(z.endContainer.$,z.endOffset);u.addRange(A);}C.reset();}},createBookmarks:function(s){return this.getRanges().createBookmarks(s);},createBookmarks2:function(s){return this.getRanges().createBookmarks2(s);},selectBookmarks:function(s){var t=[];for(var u=0;u<s.length;u++){var v=new d.range(this.document);v.moveToBookmark(s[u]);t.push(v);}this.selectRanges(t);return this;},getCommonAncestor:function(){var s=this.getRanges(),t=s[0].startContainer,u=s[s.length-1].endContainer;return t.getCommonAncestor(u);},scrollIntoView:function(){var s=this.getStartElement();s.scrollIntoView();}};})();(function(){var l=d.walker.whitespaces(true),m=/\ufeff|\u00a0/,n={table:1,tbody:1,tr:1};d.range.prototype.select=c?function(o){var y=this;var p=y.collapsed,q,r;if(y.startContainer.type==1&&y.startContainer.getName() in n||y.endContainer.type==1&&y.endContainer.getName() in n)y.shrink(1,true);var s=y.createBookmark(),t=s.startNode,u;if(!p)u=s.endNode;var v=y.document.$.body.createTextRange();v.moveToElementText(t.$);v.moveStart('character',1);
-if(u){var w=y.document.$.body.createTextRange();w.moveToElementText(u.$);v.setEndPoint('EndToEnd',w);v.moveEnd('character',-1);}else{var x=t.getNext(l);q=!(x&&x.getText&&x.getText().match(m))&&(o||!t.hasPrevious()||t.getPrevious().is&&t.getPrevious().is('br'));r=y.document.createElement('span');r.setHtml('&#65279;');r.insertBefore(t);if(q)y.document.createText('\ufeff').insertBefore(t);}y.setStartBefore(t);t.remove();if(p){if(q){v.moveStart('character',-1);v.select();y.document.$.selection.clear();}else v.select();y.moveToPosition(r,3);r.remove();}else{y.setEndBefore(u);u.remove();v.select();}y.document.fire('selectionchange');}:function(){var r=this;var o=r.startContainer;if(r.collapsed&&o.type==1&&!o.getChildCount())o.append(new d.text(''));var p=r.document.$.createRange();p.setStart(o.$,r.startOffset);try{p.setEnd(r.endContainer.$,r.endOffset);}catch(s){if(s.toString().indexOf('NS_ERROR_ILLEGAL_VALUE')>=0){r.collapse(true);p.setEnd(r.endContainer.$,r.endOffset);}else throw s;}var q=r.document.getSelection().getNative();q.removeAllRanges();q.addRange(p);};})();(function(){var l={elements:{$:function(m){var n=m.attributes,o=n&&n._cke_realelement,p=o&&new a.htmlParser.fragment.fromHtml(decodeURIComponent(o)),q=p&&p.children[0];if(q&&m.attributes._cke_resizable){var r=m.attributes.style;if(r){var s=/(?:^|\s)width\s*:\s*(\d+)/i.exec(r),t=s&&s[1];s=/(?:^|\s)height\s*:\s*(\d+)/i.exec(r);var u=s&&s[1];if(t)q.attributes.width=t;if(u)q.attributes.height=u;}}return q;}}};j.add('fakeobjects',{requires:['htmlwriter'],afterInit:function(m){var n=m.dataProcessor,o=n&&n.htmlFilter;if(o)o.addRules(l);}});})();a.editor.prototype.createFakeElement=function(l,m,n,o){var p=this.lang.fakeobjects,q={'class':m,src:a.getUrl('images/spacer.gif'),_cke_realelement:encodeURIComponent(l.getOuterHtml()),_cke_real_node_type:l.type,alt:p[n]||p.unknown,align:l.getAttribute('align')||''};if(n)q._cke_real_element_type=n;if(o)q._cke_resizable=o;return this.document.createElement('img',{attributes:q});};a.editor.prototype.createFakeParserElement=function(l,m,n,o){var p=this.lang.fakeobjects,q,r=new a.htmlParser.basicWriter();l.writeHtml(r);q=r.getHtml();var s={'class':m,src:a.getUrl('images/spacer.gif'),_cke_realelement:encodeURIComponent(q),_cke_real_node_type:l.type,alt:p[n]||p.unknown,align:l.attributes.align||''};if(n)s._cke_real_element_type=n;if(o)s._cke_resizable=o;return new a.htmlParser.element('img',s);};a.editor.prototype.restoreRealElement=function(l){if(l.getAttribute('_cke_real_node_type')!=1)return null;
-return h.createFromHtml(decodeURIComponent(l.getAttribute('_cke_realelement')),this.document);};j.add('richcombo',{requires:['floatpanel','listblock','button'],beforeInit:function(l){l.ui.addHandler(3,k.richCombo.handler);}});a.UI_RICHCOMBO=3;k.richCombo=e.createClass({$:function(l){var n=this;e.extend(n,l,{title:l.label,modes:{wysiwyg:1}});var m=n.panel||{};delete n.panel;n.id=e.getNextNumber();n.document=m&&m.parent&&m.parent.getDocument()||a.document;m.className=(m.className||'')+' cke_rcombopanel';m.block={multiSelect:m.multiSelect,attributes:m.attributes};n._={panelDefinition:m,items:{},state:2};},statics:{handler:{create:function(l){return new k.richCombo(l);}}},proto:{renderHtml:function(l){var m=[];this.render(l,m);return m.join('');},render:function(l,m){var n=b,o='cke_'+this.id,p=e.addFunction(function(s){var v=this;var t=v._;if(t.state==0)return;v.createPanel(l);if(t.on){t.panel.hide();return;}if(!t.committed){t.list.commit();t.committed=1;}var u=v.getValue();if(u)t.list.mark(u);else t.list.unmarkAll();t.panel.showBlock(v.id,new h(s),4);},this),q={id:o,combo:this,focus:function(){var s=a.document.getById(o).getChild(1);s.focus();},clickFn:p};l.on('mode',function(){this.setState(this.modes[l.mode]?2:0);},this);var r=e.addFunction(function(s,t){s=new d.event(s);var u=s.getKeystroke();switch(u){case 13:case 32:case 40:e.callFunction(p,t);break;default:q.onkey(q,u);}s.preventDefault();});q.keyDownFn=r;m.push('<span class="cke_rcombo">','<span id=',o);if(this.className)m.push(' class="',this.className,' cke_off"');m.push('>','<span id="'+o+'_label" class=cke_label>',this.label,'</span>','<a hidefocus=true title="',this.title,'" tabindex="-1"',n.gecko&&n.version>=10900&&!n.hc?'':" href=\"javascript:void('"+this.label+"')\"",' role="button" aria-labelledby="',o,'_label" aria-describedby="',o,'_text" aria-haspopup="true"');if(b.opera||b.gecko&&b.mac)m.push(' onkeypress="return false;"');if(b.gecko)m.push(' onblur="this.style.cssText = this.style.cssText;"');m.push(' onkeydown="CKEDITOR.tools.callFunction( ',r,', event, this );" onclick="CKEDITOR.tools.callFunction(',p,', this); return false;"><span><span id="'+o+'_text" class="cke_text cke_inline_label">'+this.label+'</span>'+'</span>'+'<span class=cke_openbutton>'+(b.hc?'<span>&#9660;</span>':'')+'</span>'+'</a>'+'</span>'+'</span>');if(this.onRender)this.onRender();return q;},createPanel:function(l){if(this._.panel)return;var m=this._.panelDefinition,n=this._.panelDefinition.block,o=m.parent||a.document.getBody(),p=new k.floatPanel(l,o,m),q=p.addListBlock(this.id,n),r=this;
-p.onShow=function(){if(r.className)this.element.getFirst().addClass(r.className+'_panel');r.setState(1);q.focus(!r.multiSelect&&r.getValue());r._.on=1;if(r.onOpen)r.onOpen();};p.onHide=function(){if(r.className)this.element.getFirst().removeClass(r.className+'_panel');r.setState(2);r._.on=0;if(r.onClose)r.onClose();};p.onEscape=function(){p.hide();r.document.getById('cke_'+r.id).getFirst().getNext().focus();};q.onClick=function(s,t){r.document.getWindow().focus();if(r.onClick)r.onClick.call(r,s,t);if(t)r.setValue(s,r._.items[s]);else r.setValue('');p.hide();};this._.panel=p;this._.list=q;p.getBlock(this.id).onHide=function(){r._.on=0;r.setState(2);};if(this.init)this.init();},setValue:function(l,m){var o=this;o._.value=l;var n=o.document.getById('cke_'+o.id+'_text');if(!(l||m)){m=o.label;n.addClass('cke_inline_label');}else n.removeClass('cke_inline_label');n.setHtml(typeof m!='undefined'?m:l);},getValue:function(){return this._.value||'';},unmarkAll:function(){this._.list.unmarkAll();},mark:function(l){this._.list.mark(l);},hideItem:function(l){this._.list.hideItem(l);},hideGroup:function(l){this._.list.hideGroup(l);},showAll:function(){this._.list.showAll();},add:function(l,m,n){this._.items[l]=n||l;this._.list.add(l,m,n);},startGroup:function(l){this._.list.startGroup(l);},commit:function(){this._.list.commit();},setState:function(l){var m=this;if(m._.state==l)return;m.document.getById('cke_'+m.id).setState(l);m._.state=l;}}});k.prototype.addRichCombo=function(l,m){this.add(l,3,m);};j.add('htmlwriter');a.htmlWriter=e.createClass({base:a.htmlParser.basicWriter,$:function(){var n=this;n.base();n.indentationChars='\t';n.selfClosingEnd=' />';n.lineBreakChars='\n';n.forceSimpleAmpersand=false;n.sortAttributes=true;n._.indent=false;n._.indentation='';n._.rules={};var l=f;for(var m in e.extend({},l.$nonBodyContent,l.$block,l.$listItem,l.$tableContent))n.setRules(m,{indent:true,breakBeforeOpen:true,breakAfterOpen:true,breakBeforeClose:!l[m]['#'],breakAfterClose:true});n.setRules('br',{breakAfterOpen:true});n.setRules('title',{indent:false,breakAfterOpen:false});n.setRules('style',{indent:false,breakBeforeClose:true});n.setRules('pre',{indent:false});},proto:{openTag:function(l,m){var o=this;var n=o._.rules[l];if(o._.indent)o.indentation();else if(n&&n.breakBeforeOpen){o.lineBreak();o.indentation();}o._.output.push('<',l);},openTagClose:function(l,m){var o=this;var n=o._.rules[l];if(m)o._.output.push(o.selfClosingEnd);else{o._.output.push('>');if(n&&n.indent)o._.indentation+=o.indentationChars;
-}if(n&&n.breakAfterOpen)o.lineBreak();},attribute:function(l,m){if(typeof m=='string'){this.forceSimpleAmpersand&&(m=m.replace(/&amp;/g,'&'));m=e.htmlEncodeAttr(m);}this._.output.push(' ',l,'="',m,'"');},closeTag:function(l){var n=this;var m=n._.rules[l];if(m&&m.indent)n._.indentation=n._.indentation.substr(n.indentationChars.length);if(n._.indent)n.indentation();else if(m&&m.breakBeforeClose){n.lineBreak();n.indentation();}n._.output.push('</',l,'>');if(m&&m.breakAfterClose)n.lineBreak();},text:function(l){if(this._.indent){this.indentation();l=e.ltrim(l);}this._.output.push(l);},comment:function(l){if(this._.indent)this.indentation();this._.output.push('<!--',l,'-->');},lineBreak:function(){var l=this;if(l._.output.length>0)l._.output.push(l.lineBreakChars);l._.indent=true;},indentation:function(){this._.output.push(this._.indentation);this._.indent=false;},setRules:function(l,m){var n=this._.rules[l];if(n)e.extend(n,m,true);else this._.rules[l]=m;}}});j.add('menubutton',{requires:['button','contextmenu'],beforeInit:function(l){l.ui.addHandler(5,k.menuButton.handler);}});a.UI_MENUBUTTON=5;(function(){var l=function(m){var n=this._;if(n.state===0)return;n.previousState=n.state;var o=n.menu;if(!o){o=n.menu=new j.contextMenu(m);o.definition.panel.attributes['aria-label']=m.lang.common.options;o.onHide=e.bind(function(){this.setState(n.previousState);},this);if(this.onMenu)o.addListener(this.onMenu);}if(n.on){o.hide();return;}this.setState(1);o.show(a.document.getById(this._.id),4);};k.menuButton=e.createClass({base:k.button,$:function(m){var n=m.panel;delete m.panel;this.base(m);this.hasArrow=true;this.click=l;},statics:{handler:{create:function(m){return new k.menuButton(m);}}}});})();j.add('dialogui');(function(){var l=function(t){var w=this;w._||(w._={});w._['default']=w._.initValue=t['default']||'';w._.required=t.required||false;var u=[w._];for(var v=1;v<arguments.length;v++)u.push(arguments[v]);u.push(true);e.extend.apply(e,u);return w._;},m={build:function(t,u,v){return new k.dialog.textInput(t,u,v);}},n={build:function(t,u,v){return new k.dialog[u.type](t,u,v);}},o={build:function(t,u,v){var w=u.children,x,y=[],z=[];for(var A=0;A<w.length&&(x=w[A]);A++){var B=[];y.push(B);z.push(a.dialog._.uiElementBuilders[x.type].build(t,x,B));}return new k.dialog[u.type](t,z,y,v,u);}},p={isChanged:function(){return this.getValue()!=this.getInitValue();},reset:function(t){this.setValue(this.getInitValue(),t);},setInitValue:function(){this._.initValue=this.getValue();
-},resetInitValue:function(){this._.initValue=this._['default'];},getInitValue:function(){return this._.initValue;}},q=e.extend({},k.dialog.uiElement.prototype.eventProcessors,{onChange:function(t,u){if(!this._.domOnChangeRegistered){t.on('load',function(){this.getInputElement().on('change',function(){if(!t.parts.dialog.isVisible())return;this.fire('change',{value:this.getValue()});},this);},this);this._.domOnChangeRegistered=true;}this.on('change',u);}},true),r=/^on([A-Z]\w+)/,s=function(t){for(var u in t){if(r.test(u)||u=='title'||u=='type')delete t[u];}return t;};e.extend(k.dialog,{labeledElement:function(t,u,v,w){if(arguments.length<4)return;var x=l.call(this,u);x.labelId=e.getNextId()+'_label';var y=this._.children=[],z=function(){var A=[],B=u.required?' cke_required':'';if(u.labelLayout!='horizontal')A.push('<label class="cke_dialog_ui_labeled_label'+B+'" ',' id="'+x.labelId+'"',' for="'+x.inputId+'"',' style="'+u.labelStyle+'">',u.label,'</label>','<div class="cke_dialog_ui_labeled_content" role="presentation">',w.call(this,t,u),'</div>');else{var C={type:'hbox',widths:u.widths,padding:0,children:[{type:'html',html:'<label class="cke_dialog_ui_labeled_label'+B+'"'+' id="'+x.labelId+'"'+' for="'+x.inputId+'"'+' style="'+u.labelStyle+'">'+e.htmlEncode(u.label)+'</span>'},{type:'html',html:'<span class="cke_dialog_ui_labeled_content">'+w.call(this,t,u)+'</span>'}]};a.dialog._.uiElementBuilders.hbox.build(t,C,A);}return A.join('');};k.dialog.uiElement.call(this,t,u,v,'div',null,{role:'presentation'},z);},textInput:function(t,u,v){if(arguments.length<3)return;l.call(this,u);var w=this._.inputId=e.getNextId()+'_textInput',x={'class':'cke_dialog_ui_input_'+u.type,id:w,type:'text'},y;if(u.validate)this.validate=u.validate;if(u.maxLength)x.maxlength=u.maxLength;if(u.size)x.size=u.size;if(u.controlStyle)x.style=u.controlStyle;var z=this,A=false;t.on('load',function(){z.getInputElement().on('keydown',function(C){if(C.data.getKeystroke()==13)A=true;});z.getInputElement().on('keyup',function(C){if(C.data.getKeystroke()==13&&A){t.getButton('ok')&&setTimeout(function(){t.getButton('ok').click();},0);A=false;}},null,null,1000);});var B=function(){var C=['<div class="cke_dialog_ui_input_',u.type,'" role="presentation"'];if(u.width)C.push('style="width:'+u.width+'" ');C.push('><input ');x['aria-labelledby']=this._.labelId;this._.required&&(x['aria-required']=this._.required);for(var D in x)C.push(D+'="'+x[D]+'" ');C.push(' /></div>');return C.join('');};k.dialog.labeledElement.call(this,t,u,v,B);
-},textarea:function(t,u,v){if(arguments.length<3)return;l.call(this,u);var w=this,x=this._.inputId=e.getNextId()+'_textarea',y={};if(u.validate)this.validate=u.validate;y.rows=u.rows||5;y.cols=u.cols||20;var z=function(){y['aria-labelledby']=this._.labelId;this._.required&&(y['aria-required']=this._.required);var A=['<div class="cke_dialog_ui_input_textarea" role="presentation"><textarea class="cke_dialog_ui_input_textarea" id="',x,'" '];for(var B in y)A.push(B+'="'+e.htmlEncode(y[B])+'" ');A.push('>',e.htmlEncode(w._['default']),'</textarea></div>');return A.join('');};k.dialog.labeledElement.call(this,t,u,v,z);},checkbox:function(t,u,v){if(arguments.length<3)return;var w=l.call(this,u,{'default':!!u['default']});if(u.validate)this.validate=u.validate;var x=function(){var y=e.extend({},u,{id:u.id?u.id+'_checkbox':e.getNextId()+'_checkbox'},true),z=[],A=e.getNextId()+'_label',B={'class':'cke_dialog_ui_checkbox_input',type:'checkbox','aria-labelledby':A};s(y);if(u['default'])B.checked='checked';if(typeof y.controlStyle!='undefined')y.style=y.controlStyle;w.checkbox=new k.dialog.uiElement(t,y,z,'input',null,B);z.push(' <label id="',A,'" for="',B.id,'">',e.htmlEncode(u.label),'</label>');return z.join('');};k.dialog.uiElement.call(this,t,u,v,'span',null,null,x);},radio:function(t,u,v){if(arguments.length<3)return;l.call(this,u);if(!this._['default'])this._['default']=this._.initValue=u.items[0][1];if(u.validate)this.validate=u.valdiate;var w=[],x=this,y=function(){var z=[],A=[],B={'class':'cke_dialog_ui_radio_item','aria-labelledby':this._.labelId},C=u.id?u.id+'_radio':e.getNextId()+'_radio';for(var D=0;D<u.items.length;D++){var E=u.items[D],F=E[2]!==undefined?E[2]:E[0],G=E[1]!==undefined?E[1]:E[0],H=e.getNextId()+'_radio_input',I=H+'_label',J=e.extend({},u,{id:H,title:null,type:null},true),K=e.extend({},J,{title:F},true),L={type:'radio','class':'cke_dialog_ui_radio_input',name:C,value:G,'aria-labelledby':I},M=[];if(x._['default']==G)L.checked='checked';s(J);s(K);if(typeof J.controlStyle!='undefined')J.style=J.controlStyle;w.push(new k.dialog.uiElement(t,J,M,'input',null,L));M.push(' ');new k.dialog.uiElement(t,K,M,'label',null,{id:I,'for':L.id},E[0]);z.push(M.join(''));}new k.dialog.hbox(t,[],z,A);return A.join('');};k.dialog.labeledElement.call(this,t,u,v,y);this._.children=w;},button:function(t,u,v){if(!arguments.length)return;if(typeof u=='function')u=u(t.getParentEditor());l.call(this,u,{disabled:u.disabled||false});a.event.implementOn(this);var w=this;t.on('load',function(z){var A=this.getElement();
-(function(){A.on('click',function(B){w.fire('click',{dialog:w.getDialog()});B.data.preventDefault();});A.on('keydown',function(B){if(B.data.getKeystroke() in {32:1}){w.click();B.data.preventDefault();}});})();A.unselectable();},this);var x=e.extend({},u);delete x.style;var y=e.getNextId()+'_label';k.dialog.uiElement.call(this,t,x,v,'a',null,{style:u.style,href:'javascript:void(0)',title:u.label,hidefocus:'true','class':u['class'],role:'button','aria-labelledby':y},'<span id="'+y+'" class="cke_dialog_ui_button">'+e.htmlEncode(u.label)+'</span>');},select:function(t,u,v){if(arguments.length<3)return;var w=l.call(this,u);if(u.validate)this.validate=u.validate;w.inputId=e.getNextId()+'_select';var x=function(){var y=e.extend({},u,{id:u.id?u.id+'_select':e.getNextId()+'_select'},true),z=[],A=[],B={id:w.inputId,'class':'cke_dialog_ui_input_select','aria-labelledby':this._.labelId};if(u.size!=undefined)B.size=u.size;if(u.multiple!=undefined)B.multiple=u.multiple;s(y);for(var C=0,D;C<u.items.length&&(D=u.items[C]);C++)A.push('<option value="',e.htmlEncode(D[1]!==undefined?D[1]:D[0]),'" /> ',e.htmlEncode(D[0]));if(typeof y.controlStyle!='undefined')y.style=y.controlStyle;w.select=new k.dialog.uiElement(t,y,z,'select',null,B,A.join(''));return z.join('');};k.dialog.labeledElement.call(this,t,u,v,x);},file:function(t,u,v){if(arguments.length<3)return;if(u['default']===undefined)u['default']='';var w=e.extend(l.call(this,u),{definition:u,buttons:[]});if(u.validate)this.validate=u.validate;var x=function(){w.frameId=e.getNextId()+'_fileInput';var y=b.isCustomDomain(),z=['<iframe frameborder="0" allowtransparency="0" class="cke_dialog_ui_input_file" id="',w.frameId,'" title="',u.label,'" src="javascript:void('];z.push(y?"(function(){document.open();document.domain='"+document.domain+"';"+'document.close();'+'})()':'0');z.push(')"></iframe>');return z.join('');};t.on('load',function(){var y=a.document.getById(w.frameId),z=y.getParent();z.addClass('cke_dialog_ui_input_file');});k.dialog.labeledElement.call(this,t,u,v,x);},fileButton:function(t,u,v){if(arguments.length<3)return;var w=l.call(this,u),x=this;if(u.validate)this.validate=u.validate;var y=e.extend({},u),z=y.onClick;y.className=(y.className?y.className+' ':'')+'cke_dialog_ui_button';y.onClick=function(A){var B=u['for'];if(!z||z.call(this,A)!==false){t.getContentElement(B[0],B[1]).submit();this.disable();}};t.on('load',function(){t.getContentElement(u['for'][0],u['for'][1])._.buttons.push(x);});k.dialog.button.call(this,t,y,v);
-},html:(function(){var t=/^\s*<[\w:]+\s+([^>]*)?>/,u=/^(\s*<[\w:]+(?:\s+[^>]*)?)((?:.|\r|\n)+)$/,v=/\/$/;return function(w,x,y){if(arguments.length<3)return;var z=[],A,B=x.html,C,D;if(B.charAt(0)!='<')B='<span>'+B+'</span>';var E=x.focus;if(E){var F=this.focus;this.focus=function(){F.call(this);typeof E=='function'&&E.call(this);this.fire('focus');};if(x.isFocusable){var G=this.isFocusable;this.isFocusable=G;}this.keyboardFocusable=true;}k.dialog.uiElement.call(this,w,x,z,'span',null,null,'');A=z.join('');C=A.match(t);D=B.match(u)||['','',''];if(v.test(D[1])){D[1]=D[1].slice(0,-1);D[2]='/'+D[2];}y.push([D[1],' ',C[1]||'',D[2]].join(''));};})(),fieldset:function(t,u,v,w,x){var y=x.label,z=function(){var A=[];y&&A.push('<legend>'+y+'</legend>');for(var B=0;B<v.length;B++)A.push(v[B]);return A.join('');};this._={children:u};k.dialog.uiElement.call(this,t,x,w,'fieldset',null,null,z);}},true);k.dialog.html.prototype=new k.dialog.uiElement();k.dialog.labeledElement.prototype=e.extend(new k.dialog.uiElement(),{setLabel:function(t){var u=a.document.getById(this._.labelId);if(u.getChildCount()<1)new d.text(t,a.document).appendTo(u);else u.getChild(0).$.nodeValue=t;return this;},getLabel:function(){var t=a.document.getById(this._.labelId);if(!t||t.getChildCount()<1)return '';else return t.getChild(0).getText();},eventProcessors:q},true);k.dialog.button.prototype=e.extend(new k.dialog.uiElement(),{click:function(){var t=this;if(!t._.disabled)return t.fire('click',{dialog:t._.dialog});t.getElement().$.blur();return false;},enable:function(){this._.disabled=false;var t=this.getElement();t&&t.removeClass('disabled');},disable:function(){this._.disabled=true;this.getElement().addClass('disabled');},isVisible:function(){return this.getElement().getFirst().isVisible();},isEnabled:function(){return!this._.disabled;},eventProcessors:e.extend({},k.dialog.uiElement.prototype.eventProcessors,{onClick:function(t,u){this.on('click',u);}},true),accessKeyUp:function(){this.click();},accessKeyDown:function(){this.focus();},keyboardFocusable:true},true);k.dialog.textInput.prototype=e.extend(new k.dialog.labeledElement(),{getInputElement:function(){return a.document.getById(this._.inputId);},focus:function(){var t=this.selectParentTab();setTimeout(function(){var u=t.getInputElement();u&&u.$.focus();},0);},select:function(){var t=this.selectParentTab();setTimeout(function(){var u=t.getInputElement();if(u){u.$.focus();u.$.select();}},0);},accessKeyUp:function(){this.select();},setValue:function(t){!t&&(t='');
-return k.dialog.uiElement.prototype.setValue.apply(this,arguments);},keyboardFocusable:true},p,true);k.dialog.textarea.prototype=new k.dialog.textInput();k.dialog.select.prototype=e.extend(new k.dialog.labeledElement(),{getInputElement:function(){return this._.select.getElement();},add:function(t,u,v){var w=new h('option',this.getDialog().getParentEditor().document),x=this.getInputElement().$;w.$.text=t;w.$.value=u===undefined||u===null?t:u;if(v===undefined||v===null){if(c)x.add(w.$);else x.add(w.$,null);}else x.add(w.$,v);return this;},remove:function(t){var u=this.getInputElement().$;u.remove(t);return this;},clear:function(){var t=this.getInputElement().$;while(t.length>0)t.remove(0);return this;},keyboardFocusable:true},p,true);k.dialog.checkbox.prototype=e.extend(new k.dialog.uiElement(),{getInputElement:function(){return this._.checkbox.getElement();},setValue:function(t,u){this.getInputElement().$.checked=t;!u&&this.fire('change',{value:t});},getValue:function(){return this.getInputElement().$.checked;},accessKeyUp:function(){this.setValue(!this.getValue());},eventProcessors:{onChange:function(t,u){if(!c)return q.onChange.apply(this,arguments);else{t.on('load',function(){var v=this._.checkbox.getElement();v.on('propertychange',function(w){w=w.data.$;if(w.propertyName=='checked')this.fire('change',{value:v.$.checked});},this);},this);this.on('change',u);}return null;}},keyboardFocusable:true},p,true);k.dialog.radio.prototype=e.extend(new k.dialog.uiElement(),{setValue:function(t,u){var v=this._.children,w;for(var x=0;x<v.length&&(w=v[x]);x++)w.getElement().$.checked=w.getValue()==t;!u&&this.fire('change',{value:t});},getValue:function(){var t=this._.children;for(var u=0;u<t.length;u++){if(t[u].getElement().$.checked)return t[u].getValue();}return null;},accessKeyUp:function(){var t=this._.children,u;for(u=0;u<t.length;u++){if(t[u].getElement().$.checked){t[u].getElement().focus();return;}}t[0].getElement().focus();},eventProcessors:{onChange:function(t,u){if(!c)return q.onChange.apply(this,arguments);else{t.on('load',function(){var v=this._.children,w=this;for(var x=0;x<v.length;x++){var y=v[x].getElement();y.on('propertychange',function(z){z=z.data.$;if(z.propertyName=='checked'&&this.$.checked)w.fire('change',{value:this.getAttribute('value')});});}},this);this.on('change',u);}return null;}},keyboardFocusable:true},p,true);k.dialog.file.prototype=e.extend(new k.dialog.labeledElement(),p,{getInputElement:function(){var t=a.document.getById(this._.frameId).getFrameDocument();
-return t.$.forms.length>0?new h(t.$.forms[0].elements[0]):this.getElement();},submit:function(){this.getInputElement().getParent().$.submit();return this;},getAction:function(){return this.getInputElement().getParent().$.action;},registerEvents:function(t){var u=/^on([A-Z]\w+)/,v,w=function(y,z,A,B){y.on('formLoaded',function(){y.getInputElement().on(A,B,y);});};for(var x in t){if(!(v=x.match(u)))continue;if(this.eventProcessors[x])this.eventProcessors[x].call(this,this._.dialog,t[x]);else w(this,this._.dialog,v[1].toLowerCase(),t[x]);}return this;},reset:function(){var t=a.document.getById(this._.frameId),u=t.getFrameDocument(),v=this._.definition,w=this._.buttons,x=this.formLoadedNumber,y=this.formUnloadNumber,z=this._.dialog._.editor.lang.dir,A=this._.dialog._.editor.langCode;if(!x){x=this.formLoadedNumber=e.addFunction(function(){this.fire('formLoaded');},this);y=this.formUnloadNumber=e.addFunction(function(){this.getInputElement().clearCustomData();},this);this.getDialog()._.editor.on('destroy',function(){e.removeFunction(x);e.removeFunction(y);});}function B(){u.$.open();if(b.isCustomDomain())u.$.domain=document.domain;var C='';if(v.size)C=v.size-(c?7:0);u.$.write(['<html dir="'+z+'" lang="'+A+'"><head><title></title></head><body style="margin: 0; overflow: hidden; background: transparent;">','<form enctype="multipart/form-data" method="POST" dir="'+z+'" lang="'+A+'" action="',e.htmlEncode(v.action),'">','<input type="file" name="',e.htmlEncode(v.id||'cke_upload'),'" size="',e.htmlEncode(C>0?C:''),'" />','</form>','</body></html>','<script>window.parent.CKEDITOR.tools.callFunction('+x+');','window.onbeforeunload = function() {window.parent.CKEDITOR.tools.callFunction('+y+')}</script>'].join(''));u.$.close();for(var D=0;D<w.length;D++)w[D].enable();};if(b.gecko)setTimeout(B,500);else B();},getValue:function(){return this.getInputElement().$.value;},setInitValue:function(){this._.initValue='';},eventProcessors:{onChange:function(t,u){if(!this._.domOnChangeRegistered){this.on('formLoaded',function(){this.getInputElement().on('change',function(){this.fire('change',{value:this.getValue()});},this);},this);this._.domOnChangeRegistered=true;}this.on('change',u);}},keyboardFocusable:true},true);k.dialog.fileButton.prototype=new k.dialog.button();k.dialog.fieldset.prototype=e.clone(k.dialog.hbox.prototype);a.dialog.addUIElement('text',m);a.dialog.addUIElement('password',m);a.dialog.addUIElement('textarea',n);a.dialog.addUIElement('checkbox',n);a.dialog.addUIElement('radio',n);
-a.dialog.addUIElement('button',n);a.dialog.addUIElement('select',n);a.dialog.addUIElement('file',n);a.dialog.addUIElement('fileButton',n);a.dialog.addUIElement('html',n);a.dialog.addUIElement('fieldset',o);})();j.add('panel',{beforeInit:function(l){l.ui.addHandler(2,k.panel.handler);}});a.UI_PANEL=2;k.panel=function(l,m){var n=this;if(m)e.extend(n,m);e.extend(n,{className:'',css:[]});n.id=e.getNextNumber();n.document=l;n._={blocks:{}};};k.panel.handler={create:function(l){return new k.panel(l);}};k.panel.prototype={renderHtml:function(l){var m=[];this.render(l,m);return m.join('');},render:function(l,m){var o=this;var n='cke_'+o.id;m.push('<div class="',l.skinClass,'" lang="',l.langCode,'" role="presentation" style="display:none;z-index:'+(l.config.baseFloatZIndex+1)+'">'+'<div'+' id=',n,' dir=',l.lang.dir,' role="presentation" class="cke_panel cke_',l.lang.dir);if(o.className)m.push(' ',o.className);m.push('">');if(o.forceIFrame||o.css.length){m.push('<iframe id="',n,'_frame" frameborder="0" role="application" src="javascript:void(');m.push(b.isCustomDomain()?"(function(){document.open();document.domain='"+document.domain+"';"+'document.close();'+'})()':'0');m.push(')"></iframe>');}m.push('</div></div>');return n;},getHolderElement:function(){var l=this._.holder;if(!l){if(this.forceIFrame||this.css.length){var m=this.document.getById('cke_'+this.id+'_frame'),n=m.getParent(),o=n.getAttribute('dir'),p=n.getParent().getAttribute('class'),q=n.getParent().getAttribute('lang'),r=m.getFrameDocument();r.$.open();if(b.isCustomDomain())r.$.domain=document.domain;var s=e.addFunction(e.bind(function(u){this.isLoaded=true;if(this.onLoad)this.onLoad();},this));r.$.write('<!DOCTYPE html><html dir="'+o+'" class="'+p+'_container" lang="'+q+'">'+'<head>'+'<style>.'+p+'_container{visibility:hidden}</style>'+'</head>'+'<body class="cke_'+o+' cke_panel_frame '+b.cssClass+'" style="margin:0;padding:0"'+' onload="( window.CKEDITOR || window.parent.CKEDITOR ).tools.callFunction('+s+');"></body>'+e.buildStyleHtml(this.css)+'</html>');r.$.close();var t=r.getWindow();t.$.CKEDITOR=a;r.on('keydown',function(u){var x=this;var v=u.data.getKeystroke(),w=x.document.getById('cke_'+x.id).getAttribute('dir');if(x._.onKeyDown&&x._.onKeyDown(v)===false){u.data.preventDefault();return;}if(v==27||v==(w=='rtl'?39:37))if(x.onEscape&&x.onEscape(v)===false)u.data.preventDefault();},this);l=r.getBody();l.unselectable();}else l=this.document.getById('cke_'+this.id);this._.holder=l;}return l;},addBlock:function(l,m){var n=this;
-m=n._.blocks[l]=m instanceof k.panel.block?m:new k.panel.block(n.getHolderElement(),m);if(!n._.currentBlock)n.showBlock(l);return m;},getBlock:function(l){return this._.blocks[l];},showBlock:function(l){var m=this._.blocks,n=m[l],o=this._.currentBlock,p=this.forceIFrame?this.document.getById('cke_'+this.id+'_frame'):this._.holder;p.getParent().getParent().disableContextMenu();if(o){p.removeAttributes(o.attributes);o.hide();}this._.currentBlock=n;p.setAttributes(n.attributes);a.fire('ariaWidget',p);n._.focusIndex=-1;this._.onKeyDown=n.onKeyDown&&e.bind(n.onKeyDown,n);n.onMark=function(q){p.setAttribute('aria-activedescendant',q.getId()+'_option');};n.onUnmark=function(){p.removeAttribute('aria-activedescendant');};n.show();return n;},destroy:function(){this.element&&this.element.remove();}};k.panel.block=e.createClass({$:function(l,m){var n=this;n.element=l.append(l.getDocument().createElement('div',{attributes:{tabIndex:-1,'class':'cke_panel_block',role:'presentation'},styles:{display:'none'}}));if(m)e.extend(n,m);if(!n.attributes.title)n.attributes.title=n.attributes['aria-label'];n.keys={};n._.focusIndex=-1;n.element.disableContextMenu();},_:{markItem:function(l){var o=this;if(l==-1)return;var m=o.element.getElementsByTag('a'),n=m.getItem(o._.focusIndex=l);if(b.webkit)n.getDocument().getWindow().focus();n.focus();o.onMark&&o.onMark(n);}},proto:{show:function(){this.element.setStyle('display','');},hide:function(){var l=this;if(!l.onHide||l.onHide.call(l)!==true)l.element.setStyle('display','none');},onKeyDown:function(l){var q=this;var m=q.keys[l];switch(m){case 'next':var n=q._.focusIndex,o=q.element.getElementsByTag('a'),p;while(p=o.getItem(++n)){if(p.getAttribute('_cke_focus')&&p.$.offsetWidth){q._.focusIndex=n;p.focus();break;}}return false;case 'prev':n=q._.focusIndex;o=q.element.getElementsByTag('a');while(n>0&&(p=o.getItem(--n))){if(p.getAttribute('_cke_focus')&&p.$.offsetWidth){q._.focusIndex=n;p.focus();break;}}return false;case 'click':n=q._.focusIndex;p=n>=0&&q.element.getElementsByTag('a').getItem(n);if(p)p.$.click?p.$.click():p.$.onclick();return false;}return true;}}});j.add('listblock',{requires:['panel'],onLoad:function(){k.panel.prototype.addListBlock=function(l,m){return this.addBlock(l,new k.listBlock(this.getHolderElement(),m));};k.listBlock=e.createClass({base:k.panel.block,$:function(l,m){var p=this;m=m||{};var n=m.attributes||(m.attributes={});(p.multiSelect=!!m.multiSelect)&&(n['aria-multiselectable']=true);!n.role&&(n.role='listbox');
-p.base.apply(p,arguments);var o=p.keys;o[40]='next';o[9]='next';o[38]='prev';o[2000+9]='prev';o[32]='click';p._.pendingHtml=[];p._.items={};p._.groups={};},_:{close:function(){if(this._.started){this._.pendingHtml.push('</ul>');delete this._.started;}},getClick:function(){if(!this._.click)this._.click=e.addFunction(function(l){var n=this;var m=true;if(n.multiSelect)m=n.toggle(l);else n.mark(l);if(n.onClick)n.onClick(l,m);},this);return this._.click;}},proto:{add:function(l,m,n){var q=this;var o=q._.pendingHtml,p='cke_'+e.getNextNumber();if(!q._.started){o.push('<ul role="presentation" class=cke_panel_list>');q._.started=1;q._.size=q._.size||0;}q._.items[l]=p;o.push('<li id=',p,' class=cke_panel_listItem><a id="',p,'_option" _cke_focus=1 hidefocus=true title="',n||l,'" href="javascript:void(\'',l,'\')" onclick="CKEDITOR.tools.callFunction(',q._.getClick(),",'",l,"'); return false;\"",' role="option" aria-posinset="'+ ++q._.size+'">',m||l,'</a></li>');},startGroup:function(l){this._.close();var m='cke_'+e.getNextNumber();this._.groups[l]=m;this._.pendingHtml.push('<h1 role="presentation" id=',m,' class=cke_panel_grouptitle>',l,'</h1>');},commit:function(){var o=this;o._.close();o.element.appendHtml(o._.pendingHtml.join(''));var l=o._.items,m=o.element.getDocument();for(var n in l)m.getById(l[n]+'_option').setAttribute('aria-setsize',o._.size);delete o._.size;o._.pendingHtml=[];},toggle:function(l){var m=this.isMarked(l);if(m)this.unmark(l);else this.mark(l);return!m;},hideGroup:function(l){var m=this.element.getDocument().getById(this._.groups[l]),n=m&&m.getNext();if(m){m.setStyle('display','none');if(n&&n.getName()=='ul')n.setStyle('display','none');}},hideItem:function(l){this.element.getDocument().getById(this._.items[l]).setStyle('display','none');},showAll:function(){var l=this._.items,m=this._.groups,n=this.element.getDocument();for(var o in l)n.getById(l[o]).setStyle('display','');for(var p in m){var q=n.getById(m[p]),r=q.getNext();q.setStyle('display','');if(r&&r.getName()=='ul')r.setStyle('display','');}},mark:function(l){var o=this;if(!o.multiSelect)o.unmarkAll();var m=o._.items[l],n=o.element.getDocument().getById(m);n.addClass('cke_selected');o.element.getDocument().getById(m+'_option').setAttribute('aria-selected',true);o.element.setAttribute('aria-activedescendant',m+'_option');o.onMark&&o.onMark(n);},unmark:function(l){var m=this;m.element.getDocument().getById(m._.items[l]).removeClass('cke_selected');m.onUnmark&&m.onUnmark(m._.items[l]);},unmarkAll:function(){var o=this;
-var l=o._.items,m=o.element.getDocument();for(var n in l)m.getById(l[n]).removeClass('cke_selected');o.onUnmark&&o.onUnmark();},isMarked:function(l){return this.element.getDocument().getById(this._.items[l]).hasClass('cke_selected');},focus:function(l){this._.focusIndex=-1;if(l){var m=this.element.getDocument().getById(this._.items[l]).getFirst(),n=this.element.getElementsByTag('a'),o,p=-1;while(o=n.getItem(++p)){if(o.equals(m)){this._.focusIndex=p;break;}}setTimeout(function(){m.focus();},0);}}}});}});a.themes.add('default',(function(){function l(m,n){var o,p;p=m.config.sharedSpaces;p=p&&p[n];p=p&&a.document.getById(p);if(p){var q='<span class="cke_shared"><span class="'+m.skinClass+' cke_editor_'+m.name+'">'+'<span class="'+b.cssClass+'">'+'<span class="cke_wrapper cke_'+m.lang.dir+'">'+'<span class="cke_editor">'+'<div class="cke_'+n+'">'+'</div></span></span></span></span></span>',r=p.append(h.createFromHtml(q,p.getDocument()));if(p.getCustomData('cke_hasshared'))r.hide();else p.setCustomData('cke_hasshared',1);o=r.getChild([0,0,0,0]);m.on('focus',function(){for(var s=0,t,u=p.getChildren();t=u.getItem(s);s++){if(t.type==1&&!t.equals(r)&&t.hasClass('cke_shared'))t.hide();}r.show();});m.on('destroy',function(){r.remove();});}return o;};return{build:function(m,n){var o=m.name,p=m.element,q=m.elementMode;if(!p||q==0)return;if(q==1)p.hide();var r=m.fire('themeSpace',{space:'top',html:''}).html,s=m.fire('themeSpace',{space:'contents',html:''}).html,t=m.fireOnce('themeSpace',{space:'bottom',html:''}).html,u=s&&m.config.height,v=m.config.tabIndex||m.element.getAttribute('tabindex')||0;if(!s)u='auto';else if(!isNaN(u))u+='px';var w='',x=m.config.width;if(x){if(!isNaN(x))x+='px';w+='width: '+x+';';}var y=r&&l(m,'top'),z=l(m,'bottom');y&&(y.setHtml(r),r='');z&&(z.setHtml(t),t='');var A=h.createFromHtml(['<span id="cke_',o,'" onmousedown="return false;" class="',m.skinClass,' cke_editor_',o,'" dir="',m.lang.dir,'" title="',b.gecko?' ':'','" lang="',m.langCode,'"'+(b.webkit?' tabindex="'+v+'"':'')+' role="application"'+' aria-labelledby="cke_',o,'_arialbl"'+(w?' style="'+w+'"':'')+'>'+'<span id="cke_',o,'_arialbl" class="cke_voice_label">'+m.lang.editor+'</span>'+'<span class="',b.cssClass,'" role="presentation"><span class="cke_wrapper cke_',m.lang.dir,'" role="presentation"><table class="cke_editor" border="0" cellspacing="0" cellpadding="0" role="presentation"><tbody><tr',r?'':' style="display:none"',' role="presentation"><td id="cke_top_',o,'" class="cke_top" role="presentation">',r,'</td></tr><tr',s?'':' style="display:none"',' role="presentation"><td id="cke_contents_',o,'" class="cke_contents" style="height:',u,'" role="presentation">',s,'</td></tr><tr',t?'':' style="display:none"',' role="presentation"><td id="cke_bottom_',o,'" class="cke_bottom" role="presentation">',t,'</td></tr></tbody></table><style>.',m.skinClass,'{visibility:hidden;}</style></span></span></span>'].join(''));
-A.getChild([1,0,0,0,0]).unselectable();A.getChild([1,0,0,0,2]).unselectable();if(q==1)A.insertAfter(p);else p.append(A);m.container=A;A.disableContextMenu();m.fireOnce('themeLoaded');m.fireOnce('uiReady');},buildDialog:function(m){var n=e.getNextNumber(),o=h.createFromHtml(['<div class="cke_editor_'+m.name.replace('.','\\.')+'_dialog cke_skin_',m.skinName,'" dir="',m.lang.dir,'" lang="',m.langCode,'" role="dialog" aria-labelledby="%title#"><table class="cke_dialog',' '+b.cssClass,' cke_',m.lang.dir,'" style="position:absolute" role="presentation"><tr><td role="presentation"><div class="%body" role="presentation"><div id="%title#" class="%title" role="presentation"></div><a id="%close_button#" class="%close_button" href="javascript:void(0)" title="'+m.lang.common.close+'" role="button"><span class="cke_label">X</span></a>'+'<div id="%tabs#" class="%tabs" role="tablist"></div>'+'<table class="%contents" role="presentation"><tr>'+'<td id="%contents#" class="%contents" role="presentation"></td>'+'</tr></table>'+'<div id="%footer#" class="%footer" role="presentation"></div>'+'</div>'+'<div id="%tl#" class="%tl"></div>'+'<div id="%tc#" class="%tc"></div>'+'<div id="%tr#" class="%tr"></div>'+'<div id="%ml#" class="%ml"></div>'+'<div id="%mr#" class="%mr"></div>'+'<div id="%bl#" class="%bl"></div>'+'<div id="%bc#" class="%bc"></div>'+'<div id="%br#" class="%br"></div>'+'</td></tr>'+'</table>',c?'':'<style>.cke_dialog{visibility:hidden;}</style>','</div>'].join('').replace(/#/g,'_'+n).replace(/%/g,'cke_dialog_')),p=o.getChild([0,0,0,0,0]),q=p.getChild(0),r=p.getChild(1);q.unselectable();r.unselectable();return{element:o,parts:{dialog:o.getChild(0),title:q,close:r,tabs:p.getChild(2),contents:p.getChild([3,0,0,0]),footer:p.getChild(4)}};},destroy:function(m){var n=m.container;n.clearCustomData();m.element.clearCustomData();if(n)n.remove();if(m.elementMode==1)m.element.show();delete m.element;}};})());a.editor.prototype.getThemeSpace=function(l){var m='cke_'+l,n=this._[m]||(this._[m]=a.document.getById(m+'_'+this.name));return n;};a.editor.prototype.resize=function(l,m,n,o){var p=this.container,q=a.document.getById('cke_contents_'+this.name),r=o?p.getChild(1):p;b.webkit&&r.setStyle('display','none');r.setSize('width',l,true);if(b.webkit){r.$.offsetWidth;r.setStyle('display','');}var s=n?0:(r.$.offsetHeight||0)-(q.$.clientHeight||0);q.setStyle('height',Math.max(m-s,0)+'px');this.fire('resize');};a.editor.prototype.getResizable=function(){return this.container.getChild(1);
-};})();
+(function(){if(window.CKEDITOR&&window.CKEDITOR.dom)return;if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'D03G5XL',version:'3.6.6.1',revision:'7696',rnd:Math.floor(Math.random()*900)+100,_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f<e.length;f++){var g=e[f].src.match(/(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i);if(g){d=g[1];break;}}}if(d.indexOf(':/')==-1)if(d.indexOf('/')===0)d=location.href.match(/^.*?:\/\/[^\/]*/)[0]+d;else d=location.href.match(/^[^\?]*\/(?:)/)[0]+d;if(!d)throw 'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.';return d;})(),getUrl:function(d){if(d.indexOf(':/')==-1&&d.indexOf('/')!==0)d=this.basePath+d;if(this.timestamp&&d.charAt(d.length-1)!='/'&&!/[&?]t=/.test(d))d+=(d.indexOf('?')>=0?'&':'?')+'t='+this.timestamp;return d;}},b=window.CKEDITOR_GETURL;if(b){var c=a.getUrl;a.getUrl=function(d){return b.call(a,d)||c.call(a,d);};}return a;})();var a=CKEDITOR;if(!a.event){a.event=function(){};a.event.implementOn=function(b){var c=a.event.prototype;for(var d in c){if(b[d]==undefined)b[d]=c[d];}};a.event.prototype=(function(){var b=function(d){var e=d.getPrivate&&d.getPrivate()||d._||(d._={});return e.events||(e.events={});},c=function(d){this.name=d;this.listeners=[];};c.prototype={getListenerIndex:function(d){for(var e=0,f=this.listeners;e<f.length;e++){if(f[e].fn==d)return e;}return-1;}};return{on:function(d,e,f,g,h){var i=b(this),j=i[d]||(i[d]=new c(d));if(j.getListenerIndex(e)<0){var k=j.listeners;if(!f)f=this;if(isNaN(h))h=10;var l=this,m=function(o,p,q,r){var s={name:d,sender:this,editor:o,data:p,listenerData:g,stop:q,cancel:r,removeListener:function(){l.removeListener(d,e);}};e.call(f,s);return s.data;};m.fn=e;m.priority=h;for(var n=k.length-1;n>=0;n--){if(k[n].priority<=h){k.splice(n+1,0,m);return;}}k.unshift(m);}},fire:(function(){var d=false,e=function(){d=true;},f=false,g=function(){f=true;};return function(h,i,j){var k=b(this)[h],l=d,m=f;d=f=false;if(k){var n=k.listeners;if(n.length){n=n.slice(0);for(var o=0;o<n.length;o++){var p=n[o].call(this,j,i,e,g);if(typeof p!='undefined')i=p;if(d||f)break;}}}var q=f||(typeof i=='undefined'?false:i);d=l;f=m;return q;};})(),fireOnce:function(d,e,f){var g=this.fire(d,e,f);delete b(this)[d];return g;},removeListener:function(d,e){var f=b(this)[d];if(f){var g=f.getListenerIndex(e);
+if(g>=0)f.listeners.splice(g,1);}},hasListeners:function(d){var e=b(this)[d];return e&&e.listeners.length>0;}};})();}if(!a.editor){a.ELEMENT_MODE_NONE=0;a.ELEMENT_MODE_REPLACE=1;a.ELEMENT_MODE_APPENDTO=2;a.editor=function(b,c,d,e){var f=this;f._={instanceConfig:b,element:c,data:e};f.elementMode=d||0;a.event.call(f);f._init();};a.editor.replace=function(b,c){var d=b;if(typeof d!='object'){d=document.getElementById(b);if(d&&d.tagName.toLowerCase() in {style:1,script:1,base:1,link:1,meta:1,title:1})d=null;if(!d){var e=0,f=document.getElementsByName(b);while((d=f[e++])&&d.tagName.toLowerCase()!='textarea'){}}if(!d)throw '[CKEDITOR.editor.replace] The element with id or name "'+b+'" was not found.';}d.style.visibility='hidden';return new a.editor(c,d,1);};a.editor.appendTo=function(b,c,d){var e=b;if(typeof e!='object'){e=document.getElementById(b);if(!e)throw '[CKEDITOR.editor.appendTo] The element with id "'+b+'" was not found.';}return new a.editor(c,e,2,d);};a.editor.prototype={_init:function(){var b=a.editor._pending||(a.editor._pending=[]);b.push(this);},fire:function(b,c){return a.event.prototype.fire.call(this,b,c,this);},fireOnce:function(b,c){return a.event.prototype.fireOnce.call(this,b,c,this);}};a.event.implementOn(a.editor.prototype,true);}if(!a.env)a.env=(function(){var b=navigator.userAgent.toLowerCase(),c=window.opera,d={ie:/*@cc_on!@*/false,opera:!!c&&c.version,webkit:b.indexOf(' applewebkit/')>-1,air:b.indexOf(' adobeair/')>-1,mac:b.indexOf('macintosh')>-1,quirks:document.compatMode=='BackCompat',mobile:b.indexOf('mobile')>-1,iOS:/(ipad|iphone|ipod)/.test(b),isCustomDomain:function(){if(!this.ie)return false;var g=document.domain,h=window.location.hostname;return g!=h&&g!='['+h+']';},secure:location.protocol=='https:'};d.gecko=navigator.product=='Gecko'&&!d.webkit&&!d.opera;var e=0;if(d.ie){e=parseFloat(b.match(/msie (\d+)/)[1]);d.ie8=!!document.documentMode;d.ie8Compat=document.documentMode==8;d.ie9Compat=document.documentMode==9;d.ie7Compat=e==7&&!document.documentMode||document.documentMode==7;d.ie6Compat=e<7||d.quirks;}if(d.gecko){var f=b.match(/rv:([\d\.]+)/);if(f){f=f[1].split('.');e=f[0]*10000+(f[1]||0)*100+ +(f[2]||0);}}if(d.opera)e=parseFloat(c.version());if(d.air)e=parseFloat(b.match(/ adobeair\/(\d+)/)[1]);if(d.webkit)e=parseFloat(b.match(/ applewebkit\/(\d+)/)[1]);d.version=e;d.isCompatible=d.iOS&&e>=534||!d.mobile&&(d.ie&&e>=6||d.gecko&&e>=10801||d.opera&&e>=9.5||d.air&&e>=1||d.webkit&&e>=522||false);d.cssClass='cke_browser_'+(d.ie?'ie':d.gecko?'gecko':d.opera?'opera':d.webkit?'webkit':'unknown');
+if(d.quirks)d.cssClass+=' cke_browser_quirks';if(d.ie){d.cssClass+=' cke_browser_ie'+(d.version<7?'6':d.version>=8?document.documentMode:'7');if(d.quirks)d.cssClass+=' cke_browser_iequirks';if(document.documentMode&&document.documentMode>=9)d.cssClass+=' cke_browser_ie9plus';}if(d.gecko&&e<10900)d.cssClass+=' cke_browser_gecko18';if(d.air)d.cssClass+=' cke_browser_air';return d;})();var b=a.env;var c=b.ie;if(a.status=='unloaded')(function(){a.event.implementOn(a);a.loadFullCore=function(){if(a.status!='basic_ready'){a.loadFullCore._load=1;return;}delete a.loadFullCore;var e=document.createElement('script');e.type='text/javascript';e.src=a.basePath+'ckeditor.js';document.getElementsByTagName('head')[0].appendChild(e);};a.loadFullCoreTimeout=0;a.replaceClass='ckeditor';a.replaceByClassEnabled=1;var d=function(e,f,g,h){if(b.isCompatible){if(a.loadFullCore)a.loadFullCore();var i=g(e,f,h);a.add(i);return i;}return null;};a.replace=function(e,f){return d(e,f,a.editor.replace);};a.appendTo=function(e,f,g){return d(e,f,a.editor.appendTo,g);};a.add=function(e){var f=this._.pending||(this._.pending=[]);f.push(e);};a.replaceAll=function(){var e=document.getElementsByTagName('textarea');for(var f=0;f<e.length;f++){var g=null,h=e[f];if(!h.name&&!h.id)continue;if(typeof arguments[0]=='string'){var i=new RegExp('(?:^|\\s)'+arguments[0]+'(?:$|\\s)');if(!i.test(h.className))continue;}else if(typeof arguments[0]=='function'){g={};if(arguments[0](h,g)===false)continue;}this.replace(h,g);}};(function(){var e=function(){var f=a.loadFullCore,g=a.loadFullCoreTimeout;if(a.replaceByClassEnabled)a.replaceAll(a.replaceClass);a.status='basic_ready';if(f&&f._load)f();else if(g)setTimeout(function(){if(a.loadFullCore)a.loadFullCore();},g*1000);};if(window.addEventListener)window.addEventListener('load',e,false);else if(window.attachEvent)window.attachEvent('onload',e);})();a.status='basic_loaded';})();a.dom={};var d=a.dom;(function(){var e=[];a.on('reset',function(){e=[];});a.tools={arrayCompare:function(f,g){if(!f&&!g)return true;if(!f||!g||f.length!=g.length)return false;for(var h=0;h<f.length;h++){if(f[h]!=g[h])return false;}return true;},clone:function(f){var g;if(f&&f instanceof Array){g=[];for(var h=0;h<f.length;h++)g[h]=this.clone(f[h]);return g;}if(f===null||typeof f!='object'||f instanceof String||f instanceof Number||f instanceof Boolean||f instanceof Date||f instanceof RegExp)return f;g=new f.constructor();for(var i in f){var j=f[i];g[i]=this.clone(j);}return g;},capitalize:function(f){return f.charAt(0).toUpperCase()+f.substring(1).toLowerCase();
+},extend:function(f){var g=arguments.length,h,i;if(typeof (h=arguments[g-1])=='boolean')g--;else if(typeof (h=arguments[g-2])=='boolean'){i=arguments[g-1];g-=2;}for(var j=1;j<g;j++){var k=arguments[j];for(var l in k){if(h===true||f[l]==undefined)if(!i||l in i)f[l]=k[l];}}return f;},prototypedCopy:function(f){var g=function(){};g.prototype=f;return new g();},isArray:function(f){return!!f&&f instanceof Array;},isEmpty:function(f){for(var g in f){if(f.hasOwnProperty(g))return false;}return true;},cssStyleToDomStyle:(function(){var f=document.createElement('div').style,g=typeof f.cssFloat!='undefined'?'cssFloat':typeof f.styleFloat!='undefined'?'styleFloat':'float';return function(h){if(h=='float')return g;else return h.replace(/-./g,function(i){return i.substr(1).toUpperCase();});};})(),buildStyleHtml:function(f){f=[].concat(f);var g,h=[];for(var i=0;i<f.length;i++){g=f[i];if(/@import|[{}]/.test(g))h.push('<style>'+g+'</style>');else h.push('<link type="text/css" rel=stylesheet href="'+g+'">');}return h.join('');},htmlEncode:function(f){var g=function(k){var l=new d.element('span');l.setText(k);return l.getHtml();},h=g('\n').toLowerCase()=='<br>'?function(k){return g(k).replace(/<br>/gi,'\n');}:g,i=g('>')=='>'?function(k){return h(k).replace(/>/g,'&gt;');}:h,j=g('  ')=='&nbsp; '?function(k){return i(k).replace(/&nbsp;/g,' ');}:i;this.htmlEncode=j;return this.htmlEncode(f);},htmlEncodeAttr:function(f){return f.replace(/"/g,'&quot;').replace(/</g,'&lt;').replace(/>/g,'&gt;');},getNextNumber:(function(){var&n