Help
RSS
API
Feed
Maltego
Contact
Domain > www.unigaia-brasil.org
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2018-04-23
198.8.90.90
(
ClassC
)
2024-10-23
66.154.14.46
(
ClassC
)
Port 80
HTTP/1.1 200 OKDate: Wed, 23 Oct 2024 06:16:52 GMTServer: ApacheLast-Modified: Fri, 14 Jun 2024 18:06:31 GMTAccept-Ranges: bytesContent-Length: 670771Content-Type: text/html !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd>html xmlnshttp://www.w3.org/1999/xhtml xml:langpt langpt>head>script idversionArea typetext/javascript>//!CDATAvar version {title: TiddlyWiki, major: 2, minor: 8, revision: 1, date: new Date(June 23, 2013), extensions: {}};//>/script>meta http-equivContent-Type contenttext/html;charsetutf-8 />meta namecopyright contentTiddlyWiki created by Jeremy Ruston, (jeremy at osmosoft dot com)Copyright (c) Jeremy Ruston 2004-2007Copyright (c) UnaMesa Association 2007-2012Redistribution and use in source and binary forms, with or without modification,are permitted provided that the following conditions are met:Redistributions of source code must retain the above copyright notice, thislist of conditions and the following disclaimer.Redistributions in binary form must reproduce the above copyright notice, thislist of conditions and the following disclaimer in the documentation and/or othermaterials provided with the distribution.Neither the name of the UnaMesa Association nor the names of its contributors may beused to endorse or promote products derived from this software without specificprior written permission.THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANYEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIESOF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENTSHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITEDTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; ORBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER INCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING INANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCHDAMAGE. />!--PRE-HEAD-START-->!--{{{-->link relalternate typeapplication/rss+xml titleRSS hrefindex.xml />!--}}}-->!--PRE-HEAD-END-->title> Blank Curso /title>style idstyleArea typetext/css>#saveTest {display:none;}#messageArea {display:none;}#copyright {display:none;}#storeArea {display:none;}#storeArea div {padding:0.5em; margin:1em 0em 0em 0em; border-color:#fff #666 #444 #ddd; border-style:solid; border-width:2px; overflow:auto;}#shadowArea {display:none;}#javascriptWarning {width:100%; text-align:center; font-weight:bold; background-color:#dd1100; color:#fff; padding:1em 0em;}/style>!--POST-HEAD-START-->!--POST-HEAD-END-->/head>body onloadmain(); onunloadif(window.unload) unload();>!--PRE-BODY-START-->!--PRE-BODY-END-->div idcopyright>Welcome to TiddlyWiki created by Jeremy Ruston; Copyright © 2004-2007 Jeremy Ruston, Copyright © 2007-2011 UnaMesa Association/div>noscript>div idjavascriptWarning>This page requires JavaScript to function properly.br />br />If you are using Microsoft Internet Explorer you may need to click on the yellow bar above and select Allow Blocked Content. You must then click Yes on the following security warning./div>/noscript>div idsaveTest>/div>div idbackstageCloak>/div>div idbackstageButton>/div>div idbackstageArea>div idbackstageToolbar>/div>/div>div idbackstage> div idbackstagePanel>/div>/div>div idcontentWrapper>/div>div idcontentStash>/div>div idshadowArea>div titleColorPalette>pre>Background: #fffForeground: #000PrimaryPale: #8cfPrimaryLight: #18fPrimaryMid: #04bPrimaryDark: #014SecondaryPale: #ffcSecondaryLight: #fe8SecondaryMid: #db4SecondaryDark: #841TertiaryPale: #eeeTertiaryLight: #cccTertiaryMid: #999TertiaryDark: #666Error: #f88/pre>/div>div titleEditTemplate>pre><!--{{{--><div classtoolbar macrotoolbar ToolbarCommands::EditToolbar></div><div classtitle macroview title></div><div classeditor macroedit title></div><div macroannotations></div><div classeditor macroedit text></div><div classeditor macroedit tags></div><div classeditorFooter><span macromessage views.editor.tagPrompt></span><span macrotagChooser excludeLists></span></div><!--}}}-->/pre>/div>div titleGettingStarted>pre>To get started with this blank TiddlyWiki, youll need to modify the following tiddlers:* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)* MainMenu: The menu (usually on the left)* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is openedYoull also need to enter your username for signing your edits: <<option txtUserName>>/pre>/div>div titleImportTiddlers>pre><<importTiddlers>>/pre>/div>div titleMarkupPreHead>pre><!--{{{--><link relalternate typeapplication/rss+xml titleRSS hrefindex.xml /><!--}}}-->/pre>/div>div titleOptionsPanel>pre>These InterfaceOptions for customising TiddlyWiki are saved in your browserYour username for signing your edits. Write it as a WikiWord (eg JoeBloggs)<<option txtUserName>><<option chkSaveBackups>> SaveBackups<<option chkAutoSave>> AutoSave<<option chkRegExpSearch>> RegExpSearch<<option chkCaseSensitiveSearch>> CaseSensitiveSearch<<option chkAnimate>> EnableAnimations----Also see AdvancedOptions/pre>/div>div titlePageTemplate>pre><!--{{{--><div classheader rolebanner macrogradient vert ColorPalette::PrimaryLight ColorPalette::PrimaryMid><div classheaderShadow><span classsiteTitle refreshcontent tiddlerSiteTitle></span> <span classsiteSubtitle refreshcontent tiddlerSiteSubtitle></span></div><div classheaderForeground><span classsiteTitle refreshcontent tiddlerSiteTitle></span> <span classsiteSubtitle refreshcontent tiddlerSiteSubtitle></span></div></div><div idmainMenu rolenavigation refreshcontent tiddlerMainMenu></div><div idsidebar><div idsidebarOptions rolenavigation refreshcontent tiddlerSideBarOptions></div><div idsidebarTabs rolecomplementary refreshcontent forcetrue tiddlerSideBarTabs></div></div><div iddisplayArea rolemain><div idmessageArea></div><div idtiddlerDisplay></div></div><!--}}}-->/pre>/div>div titleStyleSheetColors>pre>/*{{{*/body {background:ColorPalette::Background; color:ColorPalette::Foreground;}a {color:ColorPalette::PrimaryMid;}a:hover {background-color:ColorPalette::PrimaryMid; color:ColorPalette::Background;}a img {border:0;}h1,h2,h3,h4,h5,h6 {color:ColorPalette::SecondaryDark; background:transparent;}h1 {border-bottom:2px solid ColorPalette::TertiaryLight;}h2,h3 {border-bottom:1px solid ColorPalette::TertiaryLight;}.button {color:ColorPalette::PrimaryDark; border:1px solid ColorPalette::Background;}.button:hover {color:ColorPalette::PrimaryDark; background:ColorPalette::SecondaryLight; border-color:ColorPalette::SecondaryMid;}.button:active {color:ColorPalette::Background; background:ColorPalette::SecondaryMid; border:1px solid ColorPalette::SecondaryDark;}.header {background:ColorPalette::PrimaryMid;}.headerShadow {color:ColorPalette::Foreground;}.headerShadow a {font-weight:normal; color:ColorPalette::Foreground;}.headerForeground {color:ColorPalette::Background;}.headerForeground a {font-weight:normal; color:ColorPalette::PrimaryPale;}.tabSelected {color:ColorPalette::PrimaryDark; background:ColorPalette::TertiaryPale; border-left:1px solid ColorPalette::TertiaryLight; border-top:1px solid ColorPalette::TertiaryLight; border-right:1px solid ColorPalette::TertiaryLight;}.tabUnselected {color:ColorPalette::Background; background:ColorPalette::TertiaryMid;}.tabContents {color:ColorPalette::PrimaryDark; background:ColorPalette::TertiaryPale; border:1px solid ColorPalette::TertiaryLight;}.tabContents .button {border:0;}#sidebar {}#sidebarOptions input {border:1px solid ColorPalette::PrimaryMid;}#sidebarOptions .sliderPanel {background:ColorPalette::PrimaryPale;}#sidebarOptions .sliderPanel a {border:none;color:ColorPalette::PrimaryMid;}#sidebarOptions .sliderPanel a:hover {color:ColorPalette::Background; background:ColorPalette::PrimaryMid;}#sidebarOptions .sliderPanel a:active {color:ColorPalette::PrimaryMid; background:ColorPalette::Background;}.wizard {background:ColorPalette::PrimaryPale; border:1px solid ColorPalette::PrimaryMid;}.wizard h1 {color:ColorPalette::PrimaryDark; border:none;}.wizard h2 {color:ColorPalette::Foreground; border:none;}.wizardStep {background:ColorPalette::Background; color:ColorPalette::Foreground; border:1px solid ColorPalette::PrimaryMid;}.wizardStep.wizardStepDone {background:ColorPalette::TertiaryLight;}.wizardFooter {background:ColorPalette::PrimaryPale;}.wizardFooter .status {background:ColorPalette::PrimaryDark; color:ColorPalette::Background;}.wizard .button {color:ColorPalette::Foreground; background:ColorPalette::SecondaryLight; border: 1px solid; border-color:ColorPalette::SecondaryPale ColorPalette::SecondaryDark ColorPalette::SecondaryDark ColorPalette::SecondaryPale;}.wizard .button:hover {color:ColorPalette::Foreground; background:ColorPalette::Background;}.wizard .button:active {color:ColorPalette::Background; background:ColorPalette::Foreground; border: 1px solid; border-color:ColorPalette::PrimaryDark ColorPalette::PrimaryPale ColorPalette::PrimaryPale ColorPalette::PrimaryDark;}.wizard .notChanged {background:transparent;}.wizard .changedLocally {background:#80ff80;}.wizard .changedServer {background:#8080ff;}.wizard .changedBoth {background:#ff8080;}.wizard .notFound {background:#ffff80;}.wizard .putToServer {background:#ff80ff;}.wizard .gotFromServer {background:#80ffff;}#messageArea {border:1px solid ColorPalette::SecondaryMid; background:ColorPalette::SecondaryLight; color:ColorPalette::Foreground;}#messageArea .button {color:ColorPalette::PrimaryMid; background:ColorPalette::SecondaryPale; border:none;}.popupTiddler {background:ColorPalette::TertiaryPale; border:2px solid ColorPalette::TertiaryMid;}.popup {background:ColorPalette::TertiaryPale; color:ColorPalette::TertiaryDark; border-left:1px solid ColorPalette::TertiaryMid; border-top:1px solid ColorPalette::TertiaryMid; border-right:2px solid ColorPalette::TertiaryDark; border-bottom:2px solid ColorPalette::TertiaryDark;}.popup hr {color:ColorPalette::PrimaryDark; background:ColorPalette::PrimaryDark; border-bottom:1px;}.popup li.disabled {color:ColorPalette::TertiaryMid;}.popup li a, .popup li a:visited {color:ColorPalette::Foreground; border: none;}.popup li a:hover {background:ColorPalette::SecondaryLight; color:ColorPalette::Foreground; border: none;}.popup li a:active {background:ColorPalette::SecondaryPale; color:ColorPalette::Foreground; border: none;}.popupHighlight {background:ColorPalette::Background; color:ColorPalette::Foreground;}.listBreak div {border-bottom:1px solid ColorPalette::TertiaryDark;}.tiddler .defaultCommand {font-weight:bold;}.shadow .title {color:ColorPalette::TertiaryDark;}.title {color:ColorPalette::SecondaryDark;}.subtitle {color:ColorPalette::TertiaryDark;}.toolbar {color:ColorPalette::PrimaryMid;}.toolbar a {color:ColorPalette::TertiaryLight;}.selected .toolbar a {color:ColorPalette::TertiaryMid;}.selected .toolbar a:hover {color:ColorPalette::Foreground;}.tagging, .tagged {border:1px solid ColorPalette::TertiaryPale; background-color:ColorPalette::TertiaryPale;}.selected .tagging, .selected .tagged {background-color:ColorPalette::TertiaryLight; border:1px solid ColorPalette::TertiaryMid;}.tagging .listTitle, .tagged .listTitle {color:ColorPalette::PrimaryDark;}.tagging .button, .tagged .button {border:none;}.footer {color:ColorPalette::TertiaryLight;}.selected .footer {color:ColorPalette::TertiaryMid;}.error, .errorButton {color:ColorPalette::Foreground; background:ColorPalette::Error;}.warning {color:ColorPalette::Foreground; background:ColorPalette::SecondaryPale;}.lowlight {background:ColorPalette::TertiaryLight;}.zoomer {background:none; color:ColorPalette::TertiaryMid; border:3px solid ColorPalette::TertiaryMid;}.imageLink, #displayArea .imageLink {background:transparent;}.annotation {background:ColorPalette::SecondaryLight; color:ColorPalette::Foreground; border:2px solid ColorPalette::SecondaryMid;}.viewer .listTitle {list-style-type:none; margin-left:-2em;}.viewer .button {border:1px solid ColorPalette::SecondaryMid;}.viewer blockquote {border-left:3px solid ColorPalette::TertiaryDark;}.viewer table, table.twtable {border:2px solid ColorPalette::TertiaryDark;}.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:ColorPalette::SecondaryMid; border:1px solid ColorPalette::TertiaryDark; color:ColorPalette::Background;}.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid ColorPalette::TertiaryDark;}.viewer pre {border:1px solid ColorPalette::SecondaryLight; background:ColorPalette::SecondaryPale;}.viewer code {color:ColorPalette::SecondaryDark;}.viewer hr {border:0; border-top:dashed 1px ColorPalette::TertiaryDark; color:ColorPalette::TertiaryDark;}.highlight, .marked {background:ColorPalette::SecondaryLight;}.editor input {border:1px solid ColorPalette::PrimaryMid;}.editor textarea {border:1px solid ColorPalette::PrimaryMid; width:100%;}.editorFooter {color:ColorPalette::TertiaryMid;}.readOnly {background:ColorPalette::TertiaryPale;}#backstageArea {background:ColorPalette::Foreground; color:ColorPalette::TertiaryMid;}#backstageArea a {background:ColorPalette::Foreground; color:ColorPalette::Background; border:none;}#backstageArea a:hover {background:ColorPalette::SecondaryLight; color:ColorPalette::Foreground; }#backstageArea a.backstageSelTab {background:ColorPalette::Background; color:ColorPalette::Foreground;}#backstageButton a {background:none; color:ColorPalette::Background; border:none;}#backstageButton a:hover {background:ColorPalette::Foreground; color:ColorPalette::Background; border:none;}#backstagePanel {background:ColorPalette::Background; border-color: ColorPalette::Background ColorPalette::TertiaryDark ColorPalette::TertiaryDark ColorPalette::TertiaryDark;}.backstagePanelFooter .button {border:none; color:ColorPalette::Background;}.backstagePanelFooter .button:hover {color:ColorPalette::Foreground;}#backstageCloak {background:ColorPalette::Foreground; opacity:0.6; filter:alpha(opacity60);}/*}}}*//pre>/div>div titleStyleSheetLayout>pre>/*{{{*/* html .tiddler {height:1%;}body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}h4,h5,h6 {margin-top:1em;}h1 {font-size:1.35em;}h2 {font-size:1.25em;}h3 {font-size:1.1em;}h4 {font-size:1em;}h5 {font-size:.9em;}hr {height:1px;}a {text-decoration:none;}dt {font-weight:bold;}ol {list-style-type:decimal;}ol ol {list-style-type:lower-alpha;}ol ol ol {list-style-type:lower-roman;}ol ol ol ol {list-style-type:decimal;}ol ol ol ol ol {list-style-type:lower-alpha;}ol ol ol ol ol ol {list-style-type:lower-roman;}ol ol ol ol ol ol ol {list-style-type:decimal;}.txtOptionInput {width:11em;}#contentWrapper .chkOptionInput {border:0;}.externalLink {text-decoration:underline;}.indent {margin-left:3em;}.outdent {margin-left:3em; text-indent:-3em;}code.escaped {white-space:nowrap;}.tiddlyLinkExisting {font-weight:bold;}.tiddlyLinkNonExisting {font-style:italic;}/* the a is required for IE, otherwise it renders the whole tiddler in bold */a.tiddlyLinkNonExisting.shadow {font-weight:bold;}#mainMenu .tiddlyLinkExisting, #mainMenu .tiddlyLinkNonExisting, #sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}.header {position:relative;}.header a:hover {background:transparent;}.headerShadow {position:relative; padding:4.5em 0 1em 1em; left:-1px; top:-1px;}.headerForeground {position:absolute; padding:4.5em 0 1em 1em; left:0; top:0;}.siteTitle {font-size:3em;}.siteSubtitle {font-size:1.2em;}#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}#sidebarOptions {padding-top:0.3em;}#sidebarOptions a {margin:0 0.2em; padding:0.2em 0.3em; display:block;}#sidebarOptions input {margin:0.4em 0.5em;}#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}#sidebarOptions .sliderPanel input {margin:0 0 0.3em 0;}#sidebarTabs .tabContents {width:15em; overflow:hidden;}.wizard {padding:0.1em 1em 0 2em;}.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}.wizardStep {padding:1em 1em 1em 1em;}.wizard .button {margin:0.5em 0 0; font-size:1.2em;}.wizardFooter {padding:0.8em 0.4em 0.8em 0;}.wizardFooter .status {padding:0 0.4em; margin-left:1em;}.wizard .button {padding:0.1em 0.2em;}#messageArea {position:fixed; top:2em; right:0; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}.messageToolbar {display:block; text-align:right; padding:0.2em;}#messageArea a {text-decoration:underline;}.tiddlerPopupButton {padding:0.2em;}.popupTiddler {position: absolute; z-index:300; padding:1em; margin:0;}.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}.popup .popupMessage {padding:0.4em;}.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0;}.popup li.disabled {padding:0.4em;}.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}.listBreak {font-size:1px; line-height:1px;}.listBreak div {margin:2px 0;}.tabset {padding:1em 0 0 0.5em;}.tab {margin:0 0 0 0.25em; padding:2px;}.tabContents {padding:0.5em;}.tabContents ul, .tabContents ol {margin:0; padding:0;}.txtMainTab .tabContents li {list-style:none;}.tabContents li.listLink { margin-left:.75em;}#contentWrapper {display:block;}#splashScreen {display:none;}#displayArea {margin:1em 17em 0 14em;}.toolbar {text-align:right; font-size:.9em;}.tiddler {padding:1em 1em 0;}.missing .viewer,.missing .title {font-style:italic;}.title {font-size:1.6em; font-weight:bold;}.missing .subtitle {display:none;}.subtitle {font-size:1.1em;}.tiddler .button {padding:0.2em 0.4em;}.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}.isTag .tagging {display:block;}.tagged {margin:0.5em; float:right;}.tagging, .tagged {font-size:0.9em; padding:0.25em;}.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}.tagClear {clear:both;}.footer {font-size:.9em;}.footer li {display:inline;}.annotation {padding:0.5em; margin:0.5em;}* html .viewer pre {width:99%; padding:0 0 1em 0;}.viewer {line-height:1.4em; padding-top:0.5em;}.viewer .button {margin:0 0.25em; padding:0 0.25em;}.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}table.listView {font-size:0.85em; margin:0.8em 1.0em;}table.listView th, table.listView td, table.listView tr {padding:0 3px 0 3px;}.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}.viewer code {font-size:1.2em; line-height:1.4em;}.editor {font-size:1.1em;}.editor input, .editor textarea {display:block; width:100%; font:inherit;}.editorFooter {padding:0.25em 0; font-size:.9em;}.editorFooter .button {padding-top:0; padding-bottom:0;}.fieldsetFix {border:0; padding:0; margin:1px 0px;}.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}.zoomer div {padding:1em;}* html #backstage {width:99%;}* html #backstageArea {width:99%;}#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em;}#backstageToolbar {position:relative;}#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}#backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}#backstageButton a {padding:0.1em 0.4em; margin:0.1em;}#backstage {position:relative; width:100%; z-index:50;}#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}.backstagePanelFooter {padding-top:0.2em; float:right;}.backstagePanelFooter a {padding:0.2em 0.4em;}#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}.whenBackstage {display:none;}.backstageVisible .whenBackstage {display:block;}/*}}}*//pre>/div>div titleStyleSheetLocale>pre>/***StyleSheet for use when a translation requires any css style changes.This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.***//*{{{*/body {font-size:0.8em;}#sidebarOptions {font-size:1.05em;}#sidebarOptions a {font-style:normal;}#sidebarOptions .sliderPanel {font-size:0.95em;}.subtitle {font-size:0.8em;}.viewer table.listView {font-size:0.95em;}/*}}}*//pre>/div>div titleStyleSheetPrint>pre>/*{{{*/@media print {#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}#displayArea {margin: 1em 1em 0em;}noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */}/*}}}*//pre>/div>div titleViewTemplate>pre><!--{{{--><div classtoolbar rolenavigation macrotoolbar ToolbarCommands::ViewToolbar></div><div classtitle macroview title></div><div classsubtitle><span macroview modifier link></span>, <span macroview modified date></span> (<span macromessage views.wikified.createdPrompt></span> <span macroview created date></span>)</div><div classtagging macrotagging></div><div classtagged macrotags></div><div classviewer macroview text wikified></div><div classtagClear></div><!--}}}-->/pre>/div>/div>!--POST-SHADOWAREA-->div idstoreArea>div titleBem Vindo modifierOSeuNome created201807270309 modified202004151855 tagsexcludeLists sistem server.page.revision201909290434 server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.typefile changecount8>pre><script>if(!localStorage.username){return "Parece que essa é sua primeira visita em nossa página. Por favor, faça o login, o sistema se lembrará de você. Caso você precise acessar por computadores diferentes ou você limper os registros do navegador....será preciso fazer o login|Login novamente.<br>"}</script>A esquerda estão os links da navegação para o curso. Clicar neles para acessar as áreas de seu interesse.Nos links você pode ver apresentações feitas anteriormente, temas estudados, listas dos participantes e...muito mais!!!! Navegar e ver o que você pode encontrar!!!Em caso que achas links ou partes quais não estam funcionando, me mandar email ou whatsapp, como os detalhes e vou acertar o mais rapido posivel.SKYE.<script>sessionStorage.continuando"";config.options.chkUploadTiddlerfalse;</script>/pre>/div>div titleBlogLogin creatorOSeuNome modifierOSeuNome created202101202254 modified202101221543 tagsnoTitle changecount19>pre>Em caso que voce participo em no curso PDC oferecidos por SEDUC, voce só precisa confirma, e voce tem accesso a plataforma dirietamente:-<script>config.options.txtUsernamelocalStorage.username;config.options.cursolocalStorage.curso;config.options.txtEmaillocalStorage.email;</script><<option txtUsername>> Nome<<option txtCurso>> Curso<script label"Confirma Curso">if(config.options.txtUsername"undefined"){return "<br>Aparece o plataforma te esqueci, qual foi seu nome no curso?";}localStorage.usernameconfig.options.txtUsername;localStorage.cursoconfig.options.txtCurso;if(localStorage.email"undefined"){var emailprompt("Aparece esquecemos seu email, porfavor digitar seu email institucinal");localStorage.emailemail;}var lista""; var xmlHttp null; xmlHttp new XMLHttpRequest(); var discFilelocalStorage.curso+".txt";//return discFile; xmlHttp.open( "GET",discFile, false); xmlHttp.send( null ); var indexListaxmlHttp.responseText;if(localStorage.curso"PDCProfs"){//return "lists"+indexLista;if(indexLista.indexOf(config.options.txtUsername)-1){return "<br><br>{{big{Não tenho esse Nome na lista autorizada.... redigitar seu nome e tentar de novo}}}";}}if(localStorage.curso!"PDCProfs"){if(indexLista.indexOf(localStorage.email)-1){return "<br><br>{{big{Não tenho esse Email na lista autorizada.... redigitar seu email (institucional) e tentar de novo}}}";}}localStorage.usernameconfig.options.txtUsername;if(localStorage.whatsapp"undefined"){var whatsappprompt("Puxa...não temos seu numero de Whatsapp tambem....qual é?");localStorage.whatsappwhatsapp;}localStorage.language"br";if(localStorage.escla"undefined"){var escolaprompt("Puxa...tampouco não sabemos qual é sua escola tambem....qual é?");localStorage.escolaescola;}if(localStorage.disciplina"undefined"){var disciplinaprompt("Puxa...e sua disciplina tambem....qual é?");localStorage.disciplinadisciplina;}localStorage.escolasResilientes"aprovado";var Osnavigator.userAgent;//if(Os.indexOf("Android")!-1){window.location"http://www.unigaia-brasil.org/PDC/android";}window.location"http://www.unigaia-brasil.org/EscolasBlog/index.html";</script>----Em caso que você ainda não faz curso do PDC com SEDUC, mas você é um professor em uma escola EMTI em Ceará, por favor completar esses detalhes. Esse forma mandara um email para Skye, pedindo que ele se autoriza entrar a plataforma. Ele se responda por whatsapp o mais rápido possível. Grato.<<option txtNome>>Nome<<option txtEscola>>Escola (EMTI.....)<<option txtDisciplina>>Seu Disciplina Principal<<option txtEmail>> Email, institucional<script label"Mandar Email">localStorage.usernameconfig.options.txtNome;localStorage.escolaconfig.options.txtEscola;localStorage.disciplinaconfig.options.txtDisciplina;localStorage.emailconfig.options.txtEmail;localStorage.escolasResilientes"pending";localStorage.curso"Escolas_Resilientes";return <script src"pedirBlogsClearance.php?Nome+config.options.txtNome+&Escola+config.options.txtEscola+&Disciplina+config.options.txtDisciplina+&Email+config.options.txtEmail+">return "<br>{{big{Mandamos seu email a Skye, espera por ele responde}}}";</scr+ipt>;</script>/pre>/div>div titleCompleta_Registro creatorOSeuNome modifierOSeuNome created202101212151 modified202101212311 changecount4>pre><script>config.options.txtCursolocalStorage.curso;if(localStorage.username){config.options.txtUsernamelocalStorage.username;}else{config.options.txtUsername"";}if(localStorage.email){config.options.txtEmaillocalStorage.email;}else{config.options.txtEmail"";}config.options.txtWhatsApp"";if(localStorage.language){config.options.txtLanguagelocalStorage.language;}else{config.options.txtLanguage"";}</script><<option txtCurso>> Codigo do Curso<<option txtUsername>> Nome Login (simples, sem espacos, sem acentos)<<option txtEmail>> Seu email<<option txtWhatsApp>> Seu telefone(do Whatsapp)..lembra o DDD{{bookmarklet{<script label"Completar seu Registração"> //// verifica com lista dos alunos do curso!!! - quando aluno paga...criar sua pasta com senha e arquivos necesarios! var xmlHttp null; xmlHttp new XMLHttpRequest(); var discFilelocalStorage.curso+"/.txt";//return discFile; xmlHttp.open( "GET",discFile, false); xmlHttp.send( null ); var indexListaxmlHttp.responseText;if(xmlHttp.status!"200"){alerta("Aparece isso não é um curso valido");return "";}if(indexLista.indexOf(localStorage.email)-1){return "<br><br>{{big{Não tenho esse Email na lista autorizada.... redigitar seu email e tentar de novo}}}";}if(indexLista.indexOf(localStorage.email)!-1){if(config.options.txtWhatsApp"undefined"){return "<br>Não tem Whatsapp, por minimo precisamos um numero telefone!";}localStorage.whatsappconfig.options.txtWhatsApp;if(localStorage.curso"PDC_Individual"){localStorage.PDCIndividual"aprovado";}if(localStorage.curso"AdaptaProfunda"){localStorage.AdapatProfunda"aprovado";}if(localStorage.curso"IntroPC"){localStorage.IntroPC"aprovado";}if(localStorage.curso"EscolasResilientes"){localStorage.EscolasResilientes"aprovado";}var Osnavigator.userAgent;//if(Os.indexOf("Android")!-1){window.location"http://www.unigaia-brasil.org/PDC/android";}return <script src"chkLogin.php?Nome+localStorage.name+&Username+localStorage.username+&Curso+localStorage.curso+&Email+localStorage.email+&WhatsApp+localStorage.whatsapp+&Language+localStorage.language+"></scr+ipt>;window.locationhttp://www.unigaia-brasil.org/+localStorage.curso/index.html";</script>/pre>/div>div titleConfigTweaks modifierELSDesignStudios created200603110808 modified200811121616 tagsexcludeLists systemConfig server.typefile server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.page.revision200811121616>pre>//{{{// re-label default text for some standard UI elementsconfig.commands.permalink.text"link";config.commands.references.text"references";merge(config.macros.toolbar,{ moreLabel: more\u25BC, lessLabel: \u25C4less });// allows custom response when tiddler does not exist (e.g. redirection to alternative tiddler)config.shadowTiddlers.MissingTiddlerconfig.views.wikified.defaultText.replace(/%0/,$1); // default to standard messageconfig.views.wikified.defaultText<<tiddler MissingTiddler with: %0>>;// wrap AdvancedOptions and PluginManager default content in a groupbox (and use a smaller font)config.shadowTiddlers.AdvancedOptions config.shadowTiddlers.AdvancedOptions.replace( /<<options>>/, "{{small groupbox{<<options>>}}}");config.shadowTiddlers.PluginManager config.shadowTiddlers.PluginManager.replace( /<<plugins>>/, "{{small groupbox{<<plugins>>}}}");// message used by ConfirmExitPlugin when no changes have been madeconfig.messages.confirmExit_nochanges\tTiddlyTools... Small Tools for Big Ideas™\n\t +store.getTiddlerText("SiteUrl",document.location.protocol"http"?document.location.href:"");//}}}/pre>/div>div titleCoreTweaks modifierELSDesignStudios created200608201502 modified201112270158 tagsexcludeLists systemConfig server.typefile server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.page.revision201112270158>pre>/***|Name|CoreTweaks||Source|http://www.TiddlyTools.com/#CoreTweaks||Version|||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.2.0||Type|plugin||Description|a small collection of overrides to TW core functions|This tiddler contains small changes to TW core functions that correct or enhance standard features or behaviors.***///{{{// calculate TW version number - used to determine which tweaks should be appliedvar verversion.major+version.minor/10+version.revision/100;//}}}/***----***/// // closed: wont fix //(leave as core tweaks)//// // {{block{/***!!!637 TiddlyLink tooltip - custom formatting***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/637 - CLOSED: WONT FIXThis tweak modifies the tooltip format that appears when you mouseover a link to a tiddler. It adds an option to control the date format, as well as displaying the size of the tiddler (in bytes)Tiddler link tooltip format:{{stretch{<<option txtTiddlerLinkTootip>>}}}^^where: %0title, %1username, %2modification date, %3size in bytes, %4description slice, %5first N characters of tiddler content^^Tiddler link tooltip date format:{{stretch{<<option txtTiddlerLinkTooltipDate>>}}}Tiddler excerpt limit (chars):{{stretch{<<option txtTiddlerLinkTooltipLimit>>}}}***///{{{config.messages.tiddlerLinkTooltip%0 - %1, %2 (%3 bytes) - %4;config.messages.tiddlerLinkTooltipDateDDD, MMM DDth YYYY 0hh12:0mm AM;config.messages.tiddlerLinkTooltipLimit50;config.options.txtTiddlerLinkTootip config.options.txtTiddlerLinkTootip||config.messages.tiddlerLinkTooltip;config.options.txtTiddlerLinkTooltipDate config.options.txtTiddlerLinkTooltipDate||config.messages.tiddlerLinkTooltipDate;config.options.txtTiddlerLinkTooltipLimit config.options.txtTiddlerLinkTooltipLimit||config.messages.tiddlerLinkTooltipLimit;Tiddler.prototype.getSubtitle function() { var modifier this.modifier; if(!modifier) modifier config.messages.subtitleUnknown; var modified this.modified; if(modified) modified modified.formatString(config.options.txtTiddlerLinkTooltipDate); else modified config.messages.subtitleUnknown; var descrstore.getTiddlerSlice(this.title,Description)||; var txtthis.text.substr(0,config.options.txtTiddlerLinkTooltipLimit); if (this.text.length>config.options.txtTiddlerLinkTooltipLimit) txt+"..."; return config.options.txtTiddlerLinkTootip.format(this.title,modifier,modified,this.text.length,descr,txt);};//}}}// // }}}}}}// // {{block{/***!!!607 add HREF link on permaview command***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/607 - CLOSED: WONT FIXThis tweak automatically sets the HREF for the permaview sidebar command link so you can use the right click context menu for faster, easier bookmarking. Note that this does not automatically set the permaview in the browsers current location URL... it just sets the HREF on the command link. You still have to click the link to apply the permaview.***///{{{config.macros.permaview.handler function(place){ var btncreateTiddlyButton(place,this.label,this.prompt,this.onClick); addEvent(btn,mouseover,this.setHREF); addEvent(btn,focus,this.setHREF);};config.macros.permaview.setHREF function(event){ var links ; story.forEachTiddler(function(title,element) { links.push(String.encodeTiddlyLink(title)); }); var newURLdocument.location.href; var hashPosnewURL.indexOf(#); if (hashPos!-1) newURLnewURL.substr(0,hashPos); this.hrefnewURL+#+encodeURIComponent(links.join( ));}//}}}// // }}}}}}// // {{block{/***!!!458 add permalink-like HREFs on internal TiddlyLinks***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/458 - CLOSED: WONT FIXThis tweak assigns a permalink-like HREF to internal Tiddler links (which normally do not have any HREF defined). This permits the links context menu (right-click) to include open link in another window/tab command. Based on a request from Dustin Spicuzza.***///{{{window.coreTweaks_createTiddlyLinkwindow.createTiddlyLink;window.createTiddlyLinkfunction(place,title,includeText,theClass,isStatic,linkedFromTiddler,noToggle){ // create the core button, then add the HREF (to internal links only) var linkwindow.coreTweaks_createTiddlyLink.apply(this,arguments); if (!isStatic) link.hrefdocument.location.href.split(#)0+#+encodeURIComponent(String.encodeTiddlyLink(title)); return link;}//}}}// // }}}}}}// // to be fixed in 2.6.0:// // {{block{/***!!!1151 adjust popup placement when root element is in scrolled DIV***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/1151When a popup link is placed inside a DIV with style "overflow:scroll" or "overflow:auto" and that DIV is then scrolled, the position of the resulting popup appears further down the page that intended, because it is not adjusting for the relative scroll offset of the containing DIV. This tweak patches the Popup.place() function to calculate and subtract the current scroll offset from the computed popup position, so that it appears in the correct location on the page.Test case: //(scroll to the bottom of this DIV and click on "test popup")//{{groupbox{ <<tiddler ScrollBox with: CoreTweaks##1151test 12em>>}}}/%!1151test<<tiddler About>><<showPopup tiddler:About label:"test popup" tip:About popupClass:sticky>>!end%/***///{{{window.findScrollOffsetXfunction(obj) { var x0; while(obj) { if (obj.scrollLeft && obj.nodeName!HTML) x+obj.scrollLeft; objobj.parentNode; } return -x;}window.findScrollOffsetYfunction(obj) { var y0; while(obj) { if (obj.scrollTop && obj.nodeName!HTML) y+obj.scrollTop; objobj.parentNode; } return -y;}var fnPopup.place.toString();if (fn.indexOf(findScrollOffsetX)-1) { // only once fnfn.replace(/var\s*rootLeft\s*/,var rootLeft window.findScrollOffsetX(root) +); fnfn.replace(/var\s*rootTop\s*/,var rootTop window.findScrollOffsetY(root) +); eval(Popup.place+fn);}//}}}// // }}}}}}// // {{block{/***!!!1147 tiddler macro with params does not refresh***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/1147when the {{{<<tiddler SomeTiddler>>}}} macro is handled, the resulting span has extra attributes: {{{refreshcontent}}} and {{{tiddlerSomeTiddler}}}. If SomeTiddler is changed, {{{store.notify(SomeTiddler)}}} triggers {{{refreshDisplay()}}}, which automatically re-renders transcluded content in any span that has these extra attributes. However, when additional arguments are passed by using {{{<<tiddler SomeTiddler with: arg arg arg ...>>}}} then the resulting span does NOT get the extra attributes noted above and, as a consequence, the transcluded content is not being refreshed, even though the underlying tiddler has changedTo correct this, in {{{config.macros.tiddler.handler}}}:*set the refresh and tiddler attributes even when arguments are present in the macro*store the arguments themselves in an attribute (e.g, args), using as a space-separated, bracketed listThen, in {{{config.refreshers.content}}}:*retrieve the stored arguments (if any) and the tiddler source*substitute arguments into source and re-render the span with the updated content***///{{{config.refreshers.contentfunction(e,changeList) { var title e.getAttribute("tiddler"); var force e.getAttribute("force"); var args e.getAttribute("args"); // ADDED if(force ! null || changeList null || changeList.indexOf(title) ! -1) { removeChildren(e);// wikify(store.getTiddlerText(title,""),e,null,store.fetchTiddler(title)); // REMOVED config.macros.tiddler.transclude(e,title,args); // ADDED return true; } else return false;};config.macros.tiddler.handlerfunction(place,macroName,params,wikifier,paramString,tiddler) { params paramString.parseParams("name",null,true,false,true); var names params0"name"; var tiddlerName names0; var className names1 || null; var args params0"with"; var wrapper createTiddlyElement(place,"span",null,className);// if(!args) { // REMOVED wrapper.setAttribute("refresh","content"); wrapper.setAttribute("tiddler",tiddlerName);// } // REMOVED if(args!undefined) wrapper.setAttribute("args",+args.join( )+); // ADDED this.transclude(wrapper,tiddlerName,args); // REFACTORED TO ...tiddler.transclude}// REFACTORED FROM ...tiddler.handlerconfig.macros.tiddler.transcludefunction(wrapper,tiddlerName,args) { var text store.getTiddlerText(tiddlerName); if (!text) return; var stack config.macros.tiddler.tiddlerStack; if(stack.indexOf(tiddlerName) ! -1) return; stack.push(tiddlerName); try { if (typeof args "string") argsargs.readBracketedList(); // ADDED var n args ? Math.min(args.length,9) : 0; for(var i0; i<n; i++) { var placeholderRE new RegExp("\\$" + (i + 1),"mg"); text text.replace(placeholderRE,argsi); } config.macros.tiddler.renderText(wrapper,text,tiddlerName,null); // REMOVED UNUSED params } finally { stack.pop(); }};//}}}// // }}}}}}// // {{block{/***!!!1134 allow leading whitespace in section headings / TBD handle shadow tiddler sections***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/1134This tweak REPLACES and extends {{{store.getTiddlerText()}}} so it can return sections defined in shadow tiddlers as well as permitting use of leading whitespace in section headings.***///{{{TiddlyWiki.prototype.getTiddlerText function(title,defaultText){ if(!title) return defaultText; var parts title.split(config.textPrimitives.sectionSeparator); var title parts0; var section parts1; var parts title.split(config.textPrimitives.sliceSeparator); var title parts0; var slice parts1?this.getTiddlerSlice(title,parts1):null; if(slice) return slice; var tiddler this.fetchTiddler(title); var text defaultText; if(this.isShadowTiddler(title)) text this.getShadowTiddlerText(title); if(tiddler) text tiddler.text; if(!section) return text; var re new RegExp("(^!{1,6} \t*" + section.escapeRegExp() + " \t*\n)","mg"); re.lastIndex 0; var match re.exec(text); if(match) { var t text.substr(match.index+match1.length); var re2 /^!/mg; re2.lastIndex 0; match re2.exec(t); //# search for the next heading if(match) t t.substr(0,match.index-1);//# dont include final \n return t; } return defaultText;};//}}}// // }}}}}}// // {{block{/***!!!824 ~WindowTitle - alternative to combined ~SiteTitle/~SiteSubtitle in window titlebar***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/824 - OPENThis tweak allows definition of an optional WindowTitle tiddler that, when present, provides alternative text for display in the browser windows titlebar, instead of using the combined text content from SiteTitle and SiteSubtitle (which will still be displayed as usual in the TiddlyWiki document header area).Note: this ticket replaces http://trac.tiddlywiki.org/ticket/401 (closed), which proposed using a custom PageTitle tiddler for this purpose. If you were using the previous 401 ~PageTitle tweak, you will need to rename PageTitle to WindowTitle to continue to use your custom window title text***///{{{config.shadowTiddlers.WindowTitle<<tiddler SiteTitle>> - <<tiddler SiteSubtitle>>;window.getPageTitlefunction() { return wikifyPlain(WindowTitle); }store.addNotification(WindowTitle,refreshPageTitle); // so title stays in sync with tiddler changes//}}}// // }}}}}}// // {{block{/***!!!471 creator field for new tiddlers***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/471 - OPENThis tweak HIJACKS the cores saveTiddler() function to automatically add a creator field to a tiddler when it is FIRST created. You can use """<<view creator>>""" (or """<<view creator wikified>>""" if you prefer) to show this value embedded directly within the tiddler content, or {{{<span macro"view creator"></span>}}} in the ViewTemplate and/or EditTemplate to display the creator value in each tiddler. ***///{{{// hijack saveTiddler()TiddlyWiki.prototype.CoreTweaks_creatorSaveTiddlerTiddlyWiki.prototype.saveTiddler;TiddlyWiki.prototype.saveTiddlerfunction(title,newTitle,newBody,modifier,modified,tags,fields){ var existingstore.tiddlerExists(title); var tiddlerthis.CoreTweaks_creatorSaveTiddler.apply(this,arguments); if (!existing) store.setValue(title,creator,config.options.txtUserName); return tiddler;}//}}}// // }}}}}}// // fixed in ~TW2.4.3// // {{block{/***!!!444 tiddler and place - global variables for use in computed macro parameters***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/444 - CLOSED:FIXED - TW2.4.3 - http://trac.tiddlywiki.org/changeset/8367When invoking a macro, this tweak makes the current containing tiddler object and DOM rendering location available as global variables (window.tiddler and window.place, respectively). These globals can then be used within //computed macro parameters// to retrieve tiddler-relative and/or DOM-relative values or perform tiddler-specific side-effect functionality.***///{{{if (ver<2.43) {window.coreTweaks_invokeMacro window.invokeMacro;window.invokeMacro function(place,macro,params,wikifier,tiddler) { var herestory.findContainingTiddler(place); window.tiddlerhere?store.getTiddler(here.getAttribute(tiddler)):tiddler; window.placeplace; window.coreTweaks_invokeMacro.apply(this,arguments);}}//}}}// // }}}}}}// // fixed in ~TW2.4.2:// // {{block{/***!!!823 apply option values via paramifiers (e.g. #chk...and #txt...)***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/823 - CLOSED:FIXED - TW2.4.2 http://trac.tiddlywiki.org/changeset/7988This tweak extends and //replaces// the core {{{invokeParamifier()}}} function to support use of option paramifiers that set TiddlyWiki option values on-the-fly, directly from a document URL.If a paramifier begins with chk (checkbox) or txt (text field), its value will be automatically stored in {{{config.options.*}}}, adding to or overriding any existing chk or txt option values that may have already been loaded from browser cookies and/or assigned by the TW core or plugin initialization functions using hard-coded default values. Note: option values that have been overriden by paramifiers are only applied during the current document session, and are not //automatically// retained. However, if you edit an overridden option value during that session, then the modified value is, of course, saved in a browser cookie, as usual.***///{{{if (ver<2.42) {function invokeParamifier(params,handler){ if(!params || params.length undefined || params.length < 1) return; for(var t1; t<params.length; t++) { var p config.paramifiersparamst.name; if(p && phandler instanceof Function) phandler(paramst.value); else { // not a paramifier with handler()... check for an option prefix var hconfig.optionHandlersparamst.name.substr(0,3); if (h && h.set instanceof Function) h.set(paramst.name,paramst.value); } }}}//}}}// // }}}}}}// // open tickets:// // {{block{/***!!!608/609/610 toolbars - toggles, separators and transclusion***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/608 - OPEN (more/less toggle)http://trac.tiddlywiki.org/ticket/609 - OPEN (separators)http://trac.tiddlywiki.org/ticket/610 - OPEN (wikify tiddler/slice/section content)This combination tweak extends the """<<toolbar>>""" macro to add use of < to insert a less menu command (the opposite of > more), as well as use of * to insert linebreaks and "!" to insert a vertical line separator between toolbar items. In addition, this tweak add the ability to use references to tiddlernames, slices, or sections and render their content inline within the toolbar, allowing easy creation of new toolbar commands using TW content (such as macros, links, inline scripts, etc.)To produce a one-line style, with "less" at the end, use| ViewToolbar| foo bar baz > yabba dabba doo < |or to use a two-line style with more/less toggle:| ViewToolbar| foo bar baz > < * yabba dabba doo |***///{{{merge(config.macros.toolbar,{ moreLabel: more\u25BC, morePrompt: Show additional commands, lessLabel: \u25C4less, lessPrompt: Hide additional commands, separator: |});config.macros.toolbar.onClickMore function(ev) { var e this.nextSibling; e.style.display inline; // show menu this.style.display none; // hide button return false;};config.macros.toolbar.onClickLess function(ev) { var e this.parentNode; var m e.previousSibling; e.style.display none; // hide menu m.style.display inline; // show button return false;};config.macros.toolbar.handler function(place,macroName,params,wikifier,paramString,tiddler) { for(var t0; t<params.length; t++) { var c paramst; switch(c) { case !: // ELS - SEPARATOR (added) createTiddlyText(place,this.separator); break; case *: // ELS - LINEBREAK (added) createTiddlyElement(place,BR); break; case <: // ELS - LESS COMMAND (added) var btn createTiddlyButton(place, this.lessLabel,this.lessPrompt,config.macros.toolbar.onClickLess,moreCommand); break; case >: var btn createTiddlyButton(place, this.moreLabel,this.morePrompt,config.macros.toolbar.onClickMore,moreCommand); var e createTiddlyElement(place,span,null,moreCommand); e.style.display none; place e; break; default: var theClass ; switch(c.substr(0,1)) { case +: theClass defaultCommand; c c.substr(1); break; case -: theClass cancelCommand; c c.substr(1); break; } if(c in config.commands) this.createCommand(place,c,tiddler,theClass); else { // ELS - WIKIFY TIDDLER/SLICE/SECTION (added) if (c.substr(0,1)~) cc.substr(1); // ignore leading ~ var txtstore.getTiddlerText(c); if (txt) { // trim any leading/trailing newlines txttxt.replace(/^\n*/,).replace(/\n*$/,); // trim PRE format wrapper if any txttxt.replace(/^\{\{\{\n/,).replace(/\n\}\}\}$/,); // render content into toolbar wikify(txt,createTiddlyElement(place,span),null,tiddler); } } // ELS - end WIKIFY CONTENT break; } }};//}}}// // }}}}}}// // {{block{/***!!!529 IE fixup - case-sensitive element lookup of tiddler elements***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/529 - OPENThis tweak hijacks the standard browser function, document.getElementById(), to work-around the case-INsensitivity error in Internet Explorer (all versions up to and including IE7) //Note: This tweak is only applied when using IE, and only for lookups of rendered tiddler elements within the containing tiddlerDisplay element.//***///{{{if (config.browser.isIE) {document.coreTweaks_coreGetElementByIddocument.getElementById;document.getElementByIdfunction(id) { var edocument.coreTweaks_coreGetElementById(id); if (!e || !e.parentNode || e.parentNode.id!tiddlerDisplay) return e; for (var i0; i<e.parentNode.childNodes.length; i++) if (ide.parentNode.childNodesi.id) return e.parentNode.childNodesi; return null;};}//}}}// // }}}}}}// // {{block{/***!!!890 add conditional test to """<<tiddler>>""" macro***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/890 - OPENThis tweak extends the {{{<<tiddler>>}}} macro syntax so you can include a javascript-based //test expression// to determine if the tiddler transclusion should be performed:{{{<<tiddler TiddlerName if:{{...}} with: param param etc.>>}}}If the test is true, then the tiddler is transcluded as usual. If the test is false, then the transclusion is skipped and //no output is produced//.***///{{{config.macros.tiddler.if_handler config.macros.tiddler.handler;config.macros.tiddler.handler function(place,macroName,params,wikifier,paramString,tiddler){ params paramString.parseParams(name,null,true,false,true); if (!getParam(params,if,true)) return; this.if_handler.apply(this,arguments);};//}}}// // }}}}}}// // {{block{/***!!!831 backslash-quoting for embedding newlines in line-mode formats***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/831 - OPENThis tweak pre-processes source content to convert double-backslash-newline into {{{<br>}}} before wikify(), so that literal newlines can be embedded in line-mode wiki syntax (e.g., tables, bullets, etc.)***///{{{window.coreWikify wikify;window.wikify function(source,output,highlightRegExp,tiddler){ if (source) arguments0source.replace(/\\\\\n/mg,<br>); coreWikify.apply(this,arguments);}//}}}// // }}}}}}// // {{block{/***!!!683 FireFox3 Import bug: browse button replacement***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/683 - OPENThe web standard typefile input control that has been used as a local path/file picker for TiddlyWiki no longer works as expected in FireFox3, which has, for security reasons, limited javascript access to this control so that *no* local filesystem path information can be revealed, even when it is intentional and necessary, as it is with TiddlyWiki. This tweak provides alternative HTML source that patches the backstage import panel. It replaces the typefile input control with a text+button combination of controls that invokes a system-native secure file-chooser dialog box to provide TiddlyWiki with access to a complete path+filename so that TW functions properly locate user-selected local files.>Note: This tweak also requires http://trac.tiddlywiki.org/ticket/604 - cross-platform askForFilename()***///{{{if (window.Components) { var fixhtml<input name"txtBrowse" style"width:30em"><input type"button" value"..." + onClick"window.browseForFilename(this.previousSibling,true)">; var cmiconfig.macros.importTiddlers; cmi.step1Htmlcmi.step1Html.replace(/<input typefile size50 nametxtBrowse>/,fixhtml);}merge(config.messages,{selectFile:Please enter or select a file}); // ready for I18N translationwindow.browseForFilenamefunction(target,mustExist) { // note: both params are optional var msgconfig.messages.selectFile; if (target && target.title) msgtarget.title; // use target field tooltip (if any) as dialog prompt text // get local path for current document var pathgetLocalPath(document.location.href); var ppath.lastIndexOf(/); if (p-1) ppath.lastIndexOf(\\); // Unix or Windows if (p!-1) pathpath.substr(0,p+1); // remove filename, leave trailing slash var file var resultwindow.askForFilename(msg,path,file,mustExist); // requires #604 if (target && result.length) // set target field and trigger handling { target.valueresult; target.onchange(); } return result; }//}}}// // }}}}}}// // {{block{/***!!!604 cross-platform askForFilename()***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/604 - OPENinvokes a system-native secure file-chooser dialog box to provide TiddlyWiki with access to a complete path+filename so that TW functions properly locate user-selected local files.***///{{{window.askForFilenamefunction(msg,path,file,mustExist) { var r window.mozAskForFilename(msg,path,file,mustExist); if(rnull || rfalse) r window.ieAskForFilename(msg,path,file,mustExist); if(rnull || rfalse) r window.javaAskForFilename(msg,path,file,mustExist); if(rnull || rfalse) r prompt(msg,path+file); return r||;}window.mozAskForFilenamefunction(msg,path,file,mustExist) { if(!window.Components) return false; try { netscape.security.PrivilegeManager.enablePrivilege(UniversalXPConnect); var nsIFilePicker window.Components.interfaces.nsIFilePicker; var picker Components.classes@mozilla.org/filepicker;1.createInstance(nsIFilePicker); picker.init(window, msg, mustExist?nsIFilePicker.modeOpen:nsIFilePicker.modeSave); var thispath Components.classes@mozilla.org/file/local;1.createInstance(Components.interfaces.nsILocalFile); thispath.initWithPath(path); picker.displayDirectorythispath; picker.defaultExtensionhtml; picker.defaultStringfile; picker.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterText|nsIFilePicker.filterHTML); if (picker.show()!nsIFilePicker.returnCancel) var resultpicker.file.path; } catch(ex) { displayMessage(ex.toString()); } return result;}window.ieAskForFilenamefunction(msg,path,file,mustExist) { if(!config.browser.isIE) return false; try { var s new ActiveXObject(UserAccounts.CommonDialog); s.FilterAll files|*.*|Text files|*.txt|HTML files|*.htm;*.html|; s.FilterIndex3; // default to HTML files; s.InitialDirpath; s.FileNamefile; return s.showOpen()?s.FileName:; } catch(ex) { displayMessage(ex.toString()); } return result;}window.javaAskForFilenamefunction(msg,path,file,mustExist) { if(!document.appletsTiddlySaver) return false; // TBD: implement java-based askFile(...) function try { return document.appletsTiddlySaver.askFile(msg,path,file,mustExist); } catch(ex) { displayMessage(ex.toString()); }}//}}}// // }}}}}}// // {{block{/***!!!657 wrap tabs onto multiple lines***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/657 - OPENThis tweak inserts an extra space element following each tab, allowing them to wrap onto multiple lines if needed.***///{{{config.macros.tabs.handler function(place,macroName,params){ var cookie params0; var numTabs (params.length-1)/3; var wrapper createTiddlyElement(null,div,null,tabsetWrapper + cookie); var tabset createTiddlyElement(wrapper,div,null,tabset); tabset.setAttribute(cookie,cookie); var validTab false; for(var t0; t<numTabs; t++) { var label paramst*3+1; var prompt paramst*3+2; var content paramst*3+3; var tab createTiddlyButton(tabset,label,prompt,this.onClickTab,tab tabUnselected); createTiddlyElement(tab,span,null,null, ,{style:font-size:0pt;line-height:0px}); // ELS tab.setAttribute(tab,label); tab.setAttribute(content,content); tab.title prompt; if(config.optionscookie label) validTab true; } if(!validTab) config.optionscookie params1; place.appendChild(wrapper); this.switchTab(tabset,config.optionscookie);};//}}}// // }}}}}}// // {{block{/***!!!628 hide no such macro errors***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/628 - OPENWhen invoking a macro that is not defined, this tweak prevents the display of the error in macro... no such macro message. This is useful when rendering tiddler content or templates that reference macros that are defined by //optional// plugins that have not been installed in the current document.<<option chkHideMissingMacros>> hide no such macro error messages***///{{{if (config.options.chkHideMissingMacrosundefined) config.options.chkHideMissingMacrosfalse;window.coreTweaks_missingMacro_invokeMacro window.invokeMacro;window.invokeMacro function(place,macro,params,wikifier,tiddler) { if (!config.macrosmacro || !config.macrosmacro.handler) if (config.options.chkHideMissingMacros) return; window.coreTweaks_missingMacro_invokeMacro.apply(this,arguments);}//}}}// // }}}}}}// // <<foldHeadings>>/pre>/div>div titleDefaultTiddlers modifierOSeuNome created201304201350 modified202005232249 tagsexcludeLists formatting changecount11 server.page.revision201304201350 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre>StartHere/pre>/div>div titleEditTemplate modifierOSeuNome created201304201336 modified201304201341 tagsexcludeLists server.typefile server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.page.revision201304201341>pre><!--{{{--><div classtoolbar macrotoolbar ToolbarCommands::EditToolbar></div><div classtitle macroview title></div><div classeditor macroedit title></div><div classeditor macroedit tags></div><div macroannotations></div><div classeditor macroedit text></div><div>macrotagChooser excludeLists></div><div classeditorFooter><span macromessage views.editor.tagPrompt></span></div><!--}}}-->/pre>/div>div titleExtraStyleSheet creatorOSeuNome modifierOSeuNome created202001170129 modified202004160949 tagsexcludeLists core autosave server.typefile server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.page.revision202003290151>pre>body { background:-moz-linear-gradient(top, palegreen, beige);font-family: Helvetica;color:#996633;}/pre>/div>div titleFour creatorOSeuNome modifierOSeuNome created202005240208 modified202406112026 changecount23>pre>/pre>/div>div titleFull_Login creatorOSeuNome modifierOSeuNome created202003310112 modified202107312118 tagsnoTitle changecount213>pre>__{{big{ Registração por Usuararios Novos}}}__Nota:Antes de registrar/acessar esse curso..... precisar tem seu email institucional autorizado por SEDUC e Aceita o convite para entra a plataforma do Classroom por esse curso.<script>config.options.txtCursolocalStorage.curso;if(localStorage.username){config.options.txtUsernamelocalStorage.username;}else{config.options.txtUsername"";}if(localStorage.cpf){config.options.txtCPFlocalStorage.cpf;}else{config.options.txtCPF"";}</script><<option txtCurso>> Curso<<option txtUsername>>Nome Usuario<<option txtCPF>> CPF<<option txtWhatsApp>> Seu telefone(do Whatsapp)..lembra o DDD<script label"Registra"> var xmlHttp null; xmlHttp new XMLHttpRequest(); var discFilelocalStorage.curso+".txt";//return discFile; xmlHttp.open( "GET",discFile, false); xmlHttp.send( null ); var indexListaxmlHttp.responseText;if(localStorage.curso"PDCProfs"){//return "lists"+indexLista;if(indexLista.indexOf(config.options.txtUsername)-1){return "{{big{Não tenho esse Nome na lista autorizada.... redigitar seu nome e tentar de novo}}}";}}if(localStorage.curso!"PDCProfs"){//var cpfconfig.options.replace(/./g,"");if(indexLista.indexOf(config.options.txtCPF)-1){return "{{big{Não tenho esse CPF ("+config.options.txtCPF+") na lista autorizada.... redigitar seu cpf e tentar de novo}}}";}var studentListindexLista.split("#");for(i0;i<studentList.length;i++){if(studentListi.indexOf(config.options.txtCPF)!-1){var thisDatastudentListi.split(",");localStorage.namethisData1;localStorage.usernamethisData2;localStorage.escolathisData3;localStorage.disciplinathisData4;localStorage.cpfthisData0;localStorage.emailthisData5;localStorage.language"br";}}confirm(" Bem Vindo "+localStorage.name+", CPF numero "+localStorage.cpf+". ...Vou chamar voce: "+localStorage.username+" .. e vou incluir voce no grupo do whatsapp do curso....Agora clicar OK, e vamos abrira a plataforma do curso");var Osnavigator.userAgent;return <br><script src"chkLogin.php?Nome+localStorage.name+&Username+localStorage.username+&CPF+localStorage.cpf+&Curso+localStorage.curso+&Escola+localStorage.escola+&Disciplina+localStorage.disciplina+&Email+localStorage.email+&WhatsApp+localStorage.whatsapp+&Language+localStorage.language+&Plataforma+Os+">;window.location"http://www.unigaia-brasil.org/PDC/index.html#txtTema:Iniciando";</scr+ipt>;}return "Oooops!! - Hustão...temos uma problema!";</script>{{bold{Nota: Verifica que a informação acima é certa, e depois clicar Registrar, para confirma e registrar por o curso. Voce será direcionado por a plataforma do curso, e lembra que só precisa esta confirmação na primeira visita a plataforma.}}}/pre>/div>div titleGetRefs creatorOSeuNome modifierOSeuNome created201908281722 modified202004150355 tagsexcludeLists android changecount4>pre><script src"dir.php?pathTemas"></script>{{small{{{fourcolumns{<script>sessionStorage.pdfdisplay"closed";var lista""; var xmlHttp null; xmlHttp new XMLHttpRequest(); var discFile"Temas/lista.txt";//return discFile; xmlHttp.open( "GET",discFile, false); xmlHttp.send( null ); var indexListaxmlHttp.responseText;var listingsindexLista.split("|");listingslistings.sort();//return listings1;/pre>/div>div titleGettingStarted modifierOSeuNome created201304200117 modified201304200155 server.typefile server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.page.revision201304200155>pre>To get started with this blank TiddlyWiki, youll need to modify the following tiddlers:* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)* MainMenu: The menu (usually on the left)* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is openedYoull also need to enter your username for signing your edits: <<option txtUserName>><<tiddler Options>><<tiddler SideBarTabs>>/pre>/div>div titleHideWhenPlugin modifierOSeuNome created201807270533 modified201902182204 tagsexcludeLists systemConfig changecount2 server.page.revision201902180242 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre>/***|Name:|HideWhenPlugin||Description:|Allows conditional inclusion/exclusion in templates||Version:|3.2a||Date:|27-Jun-2011||Source:|http://mptw.tiddlyspot.com/#HideWhenPlugin||Author:|Simon Baird <simon.baird@gmail.com>||License:|http://mptw.tiddlyspot.com/#TheBSDLicense|For use in ViewTemplate and EditTemplate. Example usage:{{{<div macro"showWhenTagged Task">TaskToolbar</div>}}}{{{<div macro"showWhen tiddler.modifier BartSimpson"><img src"bart.gif"/></div>}}}Warning: the showWhen and hideWhen macros will blindly eval paramString.This could be used to execute harmful javascript from a tiddler.(TODO: Make some effort to sanitize paramString. Perhaps disallow the equals sign?)***///{{{window.hideWhenLastTest false;window.removeElementWhen function(test,place) { window.hideWhenLastTest test; if (test) { jQuery(place).empty() place.parentNode.removeChild(place); }};merge(config.macros,{ hideWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( eval(paramString), place ); }}, showWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( !eval(paramString), place ); }}, hideWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( tiddler.tags.containsAll(params), place ); }}, showWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( !tiddler.tags.containsAll(params), place ); }}, hideWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( tiddler.tags.containsAny(params), place ); }}, showWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( !tiddler.tags.containsAny(params), place ); }}, hideWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( tiddler.tags.containsAll(params), place ); }}, showWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( !tiddler.tags.containsAll(params), place ); }}, hideWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( store.tiddlerExists(params0) || store.isShadowTiddler(params0), place ); }}, showWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( !(store.tiddlerExists(params0) || store.isShadowTiddler(params0)), place ); }}, hideWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( tiddler.title params0, place ); }}, showWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( tiddler.title ! params0, place ); }}, else: { handler: function(place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( !window.hideWhenLastTest, place ); }}});//}}}/pre>/div>div titleImageSizePlugin modifierOSeuNome created201304200127 modified201908291922 tagssystemConfig android server.typefile server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.page.revision201304201251 changecount14>pre>/***|Name|ImageSizePlugin||Source|http://www.TiddlyTools.com/#ImageSizePlugin||Version|1.2.1||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.1||Type|plugin||Description|adds support for resizing images|This plugin adds optional syntax to scale an image to a specified width and height and/or interactively resize the image with the mouse.!!!!!Usage<<<The extended image syntax is:{{{img(w+,h+)......}}}where (w,h) indicates the desired width and height (in CSS units, e.g., px, em, cm, in, or %). Use auto (or a blank value) for either dimension to scale that dimension proportionally (i.e., maintain the aspect ratio). You can also calculate a CSS value on-the-fly by using a //javascript expression// enclosed between """{{""" and """}}""". Appending a plus sign (+) to a dimension enables interactive resizing in that dimension (by dragging the mouse inside the image). Use ~SHIFT-click to show the full-sized (un-scaled) image. Use ~CTRL-click to restore the starting size (either scaled or full-sized).<<<!!!!!Examples<<<{{{img(100px+,75px+)images/meow2.jpg}}}img(100px+,75px+)images/meow2.jpg{{{<img(34%+,+)images/meow.gif<img(21% ,+)images/meow.gif<img(13%+, )images/meow.gif<img( 8%+, )images/meow.gif<img( 5% , )images/meow.gif<img( 3% , )images/meow.gif<img( 2% , )images/meow.gifimg( 1%+,+)images/meow.gif}}}<img(34%+,+)images/meow.gif<img(21% ,+)images/meow.gif<img(13%+, )images/meow.gif<img( 8%+, )images/meow.gif<img( 5% , )images/meow.gif<img( 3% , )images/meow.gif<img( 2% , )images/meow.gifimg( 1%+,+)images/meow.gif{{tagClear{}}}<<<!!!!!Revisions<<<2009.02.24 1.2.1 cleanup width/height regexp, use + suffix for resizing2009.02.22 1.2.0 added stretchable images2008.01.19 1.1.0 added evaluated width/height values2008.01.18 1.0.1 regexp for "(width,height)" now passes all CSS values to browser for validation2008.01.17 1.0.0 initial release<<<!!!!!Code***///{{{version.extensions.ImageSizePlugin {major: 1, minor: 2, revision: 1, date: new Date(2009,2,24)};//}}}//{{{var fconfig.formattersconfig.formatters.findByField("name","image");f.match"\\<>?IiMmGg(?:\\(^,*,^\\)*\\))?\\";f.lookaheadRegExp/\(<?)(>?)IiMmGg(?:\((^,*),(^\)*)\))?\(?:(^\|\+)\|)?(^\\\|+)\(?:\(^\*)\)?\/mg;f.handlerfunction(w) { this.lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch this.lookaheadRegExp.exec(w.source) if(lookaheadMatch && lookaheadMatch.index w.matchStart) { var floatLeftlookaheadMatch1; var floatRightlookaheadMatch2; var widthlookaheadMatch3; var heightlookaheadMatch4; var tooltiplookaheadMatch5; var srclookaheadMatch6; var linklookaheadMatch7; // Simple bracketted link var e w.output; if(link) { // LINKED IMAGE if (config.formatterHelpers.isExternalLink(link)) { if (config.macros.attach && config.macros.attach.isAttachment(link)) { // see AttachFilePluginFormatters e createExternalLink(w.output,link); e.hrefconfig.macros.attach.getAttachment(link); e.title config.macros.attach.linkTooltip + link; } else e createExternalLink(w.output,link); } else e createTiddlyLink(w.output,link,false,null,w.isStatic); addClass(e,"imageLink"); } var img createTiddlyElement(e,"img"); if(floatLeft) img.align"left"; else if(floatRight) img.align"right"; if(width||height) { var xwidth.trim(); var yheight.trim(); var stretchW(x.substr(x.length-1,1)+); if (stretchW) xx.substr(0,x.length-1); var stretchH(y.substr(y.length-1,1)+); if (stretchH) yy.substr(0,y.length-1); if (x.substr(0,2)"{{") { try{xeval(x.substr(2,x.length-4))} catch(e){displayMessage(e.description||e.toString())} } if (y.substr(0,2)"{{") { try{yeval(y.substr(2,y.length-4))} catch(e){displayMessage(e.description||e.toString())} } img.style.widthx.trim(); img.style.heighty.trim(); config.formatterHelpers.addStretchHandlers(img,stretchW,stretchH); } if(tooltip) img.title tooltip; // GET IMAGE SOURCE if (config.macros.attach && config.macros.attach.isAttachment(src)) srcconfig.macros.attach.getAttachment(src); // see AttachFilePluginFormatters else if (config.formatterHelpers.resolvePath) { // see ImagePathPlugin if (config.browser.isIE || config.browser.isSafari) { img.onerror(function(){ this.srcconfig.formatterHelpers.resolvePath(this.src,false); return false; }); } else srcconfig.formatterHelpers.resolvePath(src,true); } img.srcsrc; w.nextMatch this.lookaheadRegExp.lastIndex; }}config.formatterHelpers.addStretchHandlersfunction(e,stretchW,stretchH) { e.title((stretchW||stretchH)?DRAGstretch/shrink, :) +SHIFT-CLICKshow full size, CTRL-CLICKrestore initial size; e.statusMsgwidth%0, height%1; e.style.cursormove; e.originalWe.style.width; e.originalHe.style.height; e.minWMath.max(e.offsetWidth/20,10); e.minHMath.max(e.offsetHeight/20,10); e.stretchWstretchW; e.stretchHstretchH; e.onmousedownfunction(ev) { var evev||window.event; this.sizingtrue; this.startX!config.browser.isIE?ev.pageX:(ev.clientX+findScrollX()); this.startY!config.browser.isIE?ev.pageY:(ev.clientY+findScrollY()); this.startWthis.offsetWidth; this.startHthis.offsetHeight; return false; }; e.onmousemovefunction(ev) { var evev||window.event; if (this.sizing) { var sthis.style; var currX!config.browser.isIE?ev.pageX:(ev.clientX+findScrollX()); var currY!config.browser.isIE?ev.pageY:(ev.clientY+findScrollY()); var newW(currX-this.offsetLeft)/(this.startX-this.offsetLeft)*this.startW; var newH(currY-this.offsetTop )/(this.startY-this.offsetTop )*this.startH; if (this.stretchW) s.width Math.floor(Math.max(newW,this.minW))+px; if (this.stretchH) s.heightMath.floor(Math.max(newH,this.minH))+px; clearMessage(); displayMessage(this.statusMsg.format(s.width,s.height)); } return false; }; e.onmouseupfunction(ev) { var evev||window.event; if (ev.shiftKey) { this.style.widththis.style.height; } if (ev.ctrlKey) { this.style.widththis.originalW; this.style.heightthis.originalH; } this.sizingfalse; clearMessage(); return false; }; e.onmouseoutfunction(ev) { var evev||window.event; this.sizingfalse; clearMessage(); return false; };}//}}}/pre>/div>div titleIndividual_Login creatorOSeuNome modifierOSeuNome created202006140227 modified202105291747 changecount43>pre>__{{big{ Registração por Usuararios Novos}}}__Aparece isso é sua primeira visita aqui, e que vocẽ esta querendo registrar por um curso.Que bom. Existe tres passos necesario.1/ Usar esta forma parar mandar seu pedido para ser registrado a Skye.2/ Fazer seu pagamento e mandar um imagem dela a Skye (whatsapp 85 9881821687. Auxiliara muito quando você marcar seu deposito com seu nome e nome do curso.3/ Voltara aqui, e completar o fase final da registração.... incluindo detalhes com seu number de whatsapp...... isso liberar seu acesso a pagina inical do curso. Nota que, depois terminar sua registração, em frente o sistema vem reconhece você e autamaticamente direcioná vocẽ por o curso.<script>config.options.txtCursosessionStorage.curso;if(localStorage.username){config.options.txtUsernamelocalStorage.username;}else{config.options.txtUsername"";}</script><<option txtCurso>> Curso<<option txtName>> Seu Nome<<option txtEmail>> Seu email (tem cuidado a acertar seu email){{bookmarklet{<script label"Registrar">localStorage.usernameconfig.options.txtUsername;localStorage.cursoconfig.options.txtCurso;var emailconfig.options.txtEmail;if(config.options.txtEmail"undefined" || email.indexOf("@")-1 ){return "<br>Precisa um email valido!!!";}localStorage.emailconfig.options.txtEmail;localStorage.language"br";return <script src"startReg.php?Curso+localStorage.curso+&Username+localStorage.username+&Email+localStorage.email+&Language+localStorage.language+&Browser+navigator.userAgent+&Platform+navigator.platform+"></scr+ipt>;</script>/pre>/div>div titleInlineJavascriptPlugin modifierELSDesignStudios created200512130544 modified201012151753 tagssystemConfig excludeLists server.typefile server.hosthttp://tiddlytools.com server.page.revision201012151753>pre>/***|Name|InlineJavascriptPlugin||Source|http://www.TiddlyTools.com/#InlineJavascriptPlugin||Documentation|http://www.TiddlyTools.com/#InlineJavascriptPluginInfo||Version|1.9.6||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.1||Type|plugin||Description|Insert Javascript executable code directly into your tiddler content.|Call directly into TW core utility routines, define new functions, calculate values, add dynamically-generated TiddlyWiki-formatted output into tiddler content, or perform any other programmatic actions each time the tiddler is rendered.!!!!!Documentation>see InlineJavascriptPluginInfo!!!!!Revisions<<<2010.12.15 1.9.6 allow (but ignore) type"..." syntax|please see InlineJavascriptPluginInfo for additional revision details|2005.11.08 1.0.0 initial release<<<!!!!!Code***///{{{version.extensions.InlineJavascriptPlugin {major: 1, minor: 9, revision: 6, date: new Date(2010,12,15)};config.formatters.push( { name: "inlineJavascript", match: "\\<script", lookahead: "\\<script(?: type\\\"^\\\"*\\\")?(?: src\\\"(^\\\"*)\\\")?(?: label\\\"(^\\\"*)\\\")?(?: title\\\"(^\\\"*)\\\")?(?: key\\\"(^\\\"*)\\\")?( show)?\\>((?:.|\\n)*?)\\</script\\>", handler: function(w) { var lookaheadRegExp new RegExp(this.lookahead,"mg"); lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch lookaheadRegExp.exec(w.source) if(lookaheadMatch && lookaheadMatch.index w.matchStart) { var srclookaheadMatch1; var labellookaheadMatch2; var tiplookaheadMatch3; var keylookaheadMatch4; var showlookaheadMatch5; var codelookaheadMatch6; if (src) { // external script library var script document.createElement("script"); script.src src; document.body.appendChild(script); document.body.removeChild(script); } if (code) { // inline code if (show) // display source in tiddler wikify("{{{\n"+lookaheadMatch0+"\n}}}\n",w.output); if (label) { // create onclick command link var linkcreateTiddlyElement(w.output,"a",null,"tiddlyLinkExisting",wikifyPlainText(label)); var fixupcode.replace(/document.write\s*\(/gi,place.bufferedHTML+(); link.code"function _out(place,tiddler){"+fixup+"\n};_out(this,this.tiddler);" link.tiddlerw.tiddler; link.onclickfunction(){ this.bufferedHTML""; try{ var reval(this.code); if(this.bufferedHTML.length || (typeof(r)"string")&&r.length) var sthis.parentNode.insertBefore(document.createElement("span"),this.nextSibling); if(this.bufferedHTML.length) s.innerHTMLthis.bufferedHTML; if((typeof(r)"string")&&r.length) { wikify(r,s,null,this.tiddler); return false; } else return r!undefined?r:false; } catch(e){alert(e.description||e.toString());return false;} }; link.setAttribute("title",tip||""); var URIcodejavascript:void(eval(decodeURIComponent(%22(function(){try{; URIcode+encodeURIComponent(encodeURIComponent(code.replace(/\n/g, ))); URIcode+}catch(e){alert(e.description||e.toString())}})()%22))); link.setAttribute("href",URIcode); link.style.cursor"pointer"; if (key) link.accessKeykey.substr(0,1); // single character only } else { // run script immediately var fixupcode.replace(/document.write\s*\(/gi,place.innerHTML+(); var c"function _out(place,tiddler){"+fixup+"\n};_out(w.output,w.tiddler);"; try { var outeval(c); } catch(e) { oute.description?e.description:e.toString(); } if (out && out.length) wikify(out,w.output,w.highlightRegExp,w.tiddler); } } w.nextMatch lookaheadMatch.index + lookaheadMatch0.length; } }} )//}}}// // Backward-compatibility for TW2.1.x and earlier//{{{if (typeof(wikifyPlainText)"undefined") window.wikifyPlainTextfunction(text,limit,tiddler) { if(limit > 0) text text.substr(0,limit); var wikifier new Wikifier(text,formatter,null,tiddler); return wikifier.wikifyPlain();}//}}}// // GLOBAL FUNCTION: $(...) -- shorthand convenience syntax for document.getElementById()//{{{if (typeof($)undefined) { function $(id) { return document.getElementById(id.replace(/^#/,)); } }//}}}/pre>/div>div titleInscrive creatorOSeuNome modifierOSeuNome created202402231640 modified202405211623 tagsInscrive changecount8>pre><script>var Reg"$1";if(Reg"Accessar os Planos das Aulas"){sessionStorage.reg$1; config.refreshers.content(document.getElementById("loginMenu"));}</script>/pre>/div>div titleLoadTiddlersPlugin creatorOSeuNome modifierOSeuNome created200703220614 modified202001200046 tagssystemConfig excludeLists changecount3 server.page.revision200910070458 server.hosthttp://localhost/xampp/htdocs/Adapta/www.tiddlytools.com.htm server.typefile>pre>/***|Name|LoadTiddlersPlugin||Source|http://www.TiddlyTools.com/#LoadTiddlersPlugin||Documentation|http://www.TiddlyTools.com/#LoadTiddlersPluginInfo||Version|3.8.1||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.1||Type|plugin||Description|macro for automated updates or one-click installations of tiddlers from remote sources|!!!!!Documentation>see LoadTiddlersPluginInfo!!!!!Configuration<<<<<option chkLoadTiddlersShowReport>>after loading tiddlers, automatically display ImportedTiddlers (if created)__password-protected server settings //(optional, if needed)//:__>username: <<option txtRemoteUsername>> password: <<option txtRemotePassword>>>{{{usage: <<option txtRemoteUsername>> <<option txtRemotePassword>>}}}>note: these settings are also used by ExternalTiddlersPlugin and ImportTiddlersPlugin<<<!!!!!Revisions<<<2009.10.08 3.8.1 removed switchTheme() from doImport()... causes an INFINITE cycle of imports!|please see LoadTiddlersPluginInfo for additional revision details|2005.07.20 1.0.0 Initial Release<<<!!!!!Code***///{{{version.extensions.LoadTiddlersPlugin {major: 3, minor: 8, revision: 1, date: new Date(2009,10,8)};if (config.options.chkLoadTiddlersShowReportundefined) config.options.chkLoadTiddlersShowReporttrue;config.macros.loadTiddlers { label: , tip: "add/update tiddlers from %0", lockedTag: noReload, // if existing tiddler has this tag value, dont overwrite it, even if inbound tiddler is newer askMsg: Please enter a local path/filename or a remote URL, openMsg: Opening %0, openErrMsg: Could not open %0 - error%1, readMsg: Read %0 bytes from %1, foundMsg: Found %0 tiddlers in %1, nochangeMsg: "%0 is up-to-date... skipped.", lockedMsg: "%0 is tagged %1... skipped.", skippedMsg: skipped (cancelled by user), loadedMsg: Loaded %0 of %1 tiddlers from %2, reportTitle: ImportedTiddlers, warning: "Warning!! Processing %0 as a systemConfig (plugin) tiddler may produce unexpected results! Are you sure you want to proceed?", handler: function(place,macroName,params) { var label(params0 && params0.substr(0,6)label:)?params.shift().substr(6):this.label; var tip(params0 && params0.substr(0,7)prompt:)?params.shift().substr(7):this.tip; var filterupdates; if (params0 && (params0all || params0new || params0changes || params0updates || params0.substr(0,8)tiddler: || params0.substr(0,4)tag:)) filterparams.shift(); var srcparams.shift(); if (!src || !src.length) return; // filename is required var quiet(params0quiet); if (quiet) params.shift(); var ask(params0confirm); if (ask) params.shift(); var force(params0force); if (force) params.shift(); var init(params0init); if (init) params.shift(); var nodirty(params0nodirty); if (nodirty) params.shift(); var norefresh(params0norefresh); if (norefresh) params.shift(); var noreport(params0noreport); if (noreport) params.shift(); this.newTags; if (params0) this.newTagsparams; // any remaining params are used as autotags if (label.trim().length) { // link triggers load tiddlers from another file/URL and then applies filtering rules to add/replace tiddlers in the store createTiddlyButton(place,label.format(src.replace(/%20/g, )),tip.format(src.replace(/%20/g, )), function() { if (srcask) srcprompt(this.askMsg); config.macros.loadTiddlers.loadFile(src,config.macros.loadTiddlers.doImport,{quiet:quiet,ask:ask,filter:filter,force:force,init:init,noreport:noreport}); return false; }) } else { // load tiddlers from another file/URL and then apply filtering rules to add/replace tiddlers in the store if (srcask) srcprompt(this.askMsg); config.macros.loadTiddlers.loadFile(src,config.macros.loadTiddlers.doImport,{quiet:quiet,ask:ask,filter:filter,force:force,init:init,nodirty:nodirty,norefresh:norefresh,noreport:noreport}); } }, loadFile: function(src,callback,params) { var quietparams.quiet; if (srcundefined || !src.length) return null; // filename is required if (!quiet) clearMessage(); if (!quiet) displayMessage(this.openMsg.format(src.replace(/%20/g, ))); // if working locally and src is not a URL, read from local filesystem if (document.location.protocolfile: && src.substr(0,5)!http: && src.substr(0,5)!file:) { var txtloadFile(src); if (!txt) { // file didnt load, might be relative path.. try fixup var pathPrefixdocument.location.href; // get current document path and trim off filename var slashpospathPrefix.lastIndexOf(/); if (slashpos-1) slashpospathPrefix.lastIndexOf(); if (slashpos!-1 && slashpos!pathPrefix.length-1) pathPrefixpathPrefix.substr(0,slashpos+1); srcpathPrefix+src; if (pathPrefix.substr(0,5)!http:) srcgetLocalPath(src); var txtloadFile(src); } if (!txt) { // file still didnt load, report error if (!quiet) displayMessage(this.openErrMsg.format(src.replace(/%20/g, ),(unknown))); } else { if (!quiet) displayMessage(this.readMsg.format(txt.length,src.replace(/%20/g, ))); if (version.major+version.minor*.1+version.revision*.01!2.52) txtconvertUTF8ToUnicode(txt); if (callback) callback(true,params,txt,src,null); } } else { // use XMLHttpRequest doHttp(GET,src,null,null,config.options.txtRemoteUsername,config.options.txtRemotePassword,callback,params,null); } }, readTiddlersFromHTML: function(html) { // for TW2.2+ if (TiddlyWiki.prototype.importTiddlyWiki!undefined) { var remoteStorenew TiddlyWiki(); remoteStore.importTiddlyWiki(html); return remoteStore.getTiddlers(title); } }, readTiddlersFromCSV: function(CSV) { var remoteStorenew TiddlyWiki(); // GET NAMES var linesCSV.replace(/r/g,).split(n); var nameslines.shift().replace(/"/g,).split(,); CSVlines.join(n); // ENCODE commas and newlines within quoted values var comma!~comma~!; var commaREnew RegExp(comma,g); var newline!~newline~!; var newlineREnew RegExp(newline,g); CSVCSV.replace(/"(^"*?)"/g, function(x){ return x.replace(/,/g,comma).replace(/n/g,newline); }); // PARSE lines var linesCSV.split(n); for (var i0; i<lines.length; i++) { if (!linesi.length) continue; var valueslinesi.split(,); // DECODE commas, newlines, and doubled-quotes, and remove enclosing quotes (if any) for (var v0; v<values.length; v++) valuesvvaluesv.replace(commaRE,,).replace(newlineRE,n) .replace(/^"|"$/g,).replace(/""/g,"); // EXTRACT tiddler values var title; var text; var tags; var fields{}; var creatednull; var whennew Date(); var whoconfig.options.txtUserName; for (var v0; v<values.length; v++) { var valvaluesv; if (namesv) switch(namesv.toLowerCase()) { case title: titleval.replace(/|/g,_); break; case created: creatednew Date(val); break; case modified:whennew Date(val); break; case modifier:whoval; break; case text: textval; break; case tags: tagsval.readBracketedList(); break; default: fieldsnamesv.toLowerCase()val; break; } } // CREATE tiddler in temporary store if (title.length) remoteStore.saveTiddler(title,title,text,who,when,tags,fields,true,created||when); } return remoteStore.getTiddlers(title); }, createTiddlerFromFile: function(src,txt) { var tnew Tiddler(); var possrc.lastIndexOf("/"); if (pos-1) possrc.lastIndexOf(""); t.titlepos-1?src:src.substr(pos+1); t.texttxt; t.createdt.modifiednew Date(); t.modifierconfig.options.txtUserName; if (src.substr(src.length-3,3).js) t.tagssystemConfig; return t; }, doImport: function(status,params,html,src,xhr) { var cmlconfig.macros.loadTiddlers; // abbrev srcsrc.split(?)0; // strip off "?nocache..." if (!status) { displayMessage(cml.openErrMsg.format(src.replace(/%20/g, ),xhr.status)); return false; } var quietparams.quiet; var askparams.ask; var filterparams.filter; var forceparams.force; var initparams.init; var nodirtyparams.nodirty; var norefreshparams.norefresh; var noreportparams.noreport; var tiddlers cml.readTiddlersFromHTML(html); if (!tiddlers||!tiddlers.length) tiddlerscml.readTiddlersFromCSV(html); if (!tiddlers||!tiddlers.length) tiddlerscml.createTiddlerFromFile(src,html); var counttiddlers?tiddlers.length:0; if (!quiet) displayMessage(cml.foundMsg.format(count,src.replace(/%20/g, ))); var wasDirtystore.isDirty(); store.suspendNotifications(); var count0; if (tiddlers) for (var t0;t<tiddlers.length;t++) { var inbound tiddlerst; var theExisting store.getTiddler(inbound.title); if (inbound.titlecml.reportTitle) continue; // skip ImportedTiddlers history from the other document... if (theExisting && theExisting.tags.contains(cml.lockedTag)) { if (!quiet) displayMessage(cml.lockedMsg.format(theExisting.title,cml.lockedTag)); continue; // skip existing tiddler if tagged with noReload } // apply the all/new/changes/updates filter (if any) if (filter && filter!all) { if ((filternew) && theExisting) // skip existing tiddlers continue; if ((filterchanges) && !theExisting) // skip new tiddlers continue; if ((filter.substr(0,4)tag:) && inbound.tags.indexOf(filter.substr(4))-1) // must match specific tag value continue; if ((filter.substr(0,8)tiddler:) && inbound.title!filter.substr(8)) // must match specific tiddler name continue; if (!force && store.tiddlerExists(inbound.title) && ((theExisting.modified.getTime()-inbound.modified.getTime())>0)) { var msgcml.nochangeMsg; if (!quiet&&msg.length) displayMessage(msg.format(inbound.title)); continue; } } // get confirmation if required var msg(theExisting?Update:Add)+" tiddler "+inbound.title+"n" +from +src.replace(/%20/g, )+nnOK to proceed?; if (ask && !confirm(msg)) { tiddlerst.statuscml.skippedMsg; continue; } // DO IT! var tagsnew Array().concat(inbound.tags,cml.newTags); store.saveTiddler(inbound.title, inbound.title, inbound.text, inbound.modifier, inbound.modified, tags, inbound.fields, true, inbound.created); // force creation date to imported value - needed for TW2.1.3 or earlier store.fetchTiddler(inbound.title).created inbound.created; tiddlerst.statustheExisting?updated:added if (init && tags.contains(systemConfig) && !tags.contains(systemConfigDisable)) { var oktrue; if (ask||!quiet) okconfirm(cml.warning.format(inbound.title)) if (ok) { // run the plugin try { window.eval(inbound.text); tiddlerst.status+ (plugin initialized); } catch(ex) { displayMessage(config.messages.pluginError.format(exceptionText(ex))); } } } count++; } store.resumeNotifications(); if (count) { // set/clear unsaved changes flag, refresh page display, and generate a report store.setDirty(wasDirty||!nodirty); if (!norefresh) { story.forEachTiddler(function(t,e){ if(!story.isDirty(t))story.refreshTiddler(t,null,true) }); store.notifyAll(); } if (!noreport) cml.report(src,tiddlers,count,quiet); } // show message whenver tiddlers are actually loaded if (!quiet||count) displayMessage(cml.loadedMsg.format(count,tiddlers.length,src.replace(/%20/g, ))); }, showReport: true, report: function(src,tiddlers,count,quiet) { var cmlconfig.macros.loadTiddlers; // abbrev // format the new report content var newText On +(new Date()).toLocaleString()+, ; newText + config.options.txtUserName+ loaded +count+ tiddlers ; newText + fromn+src+|+src+:n; newText + <<<n; for (var t0; t<tiddlers.length; t++) if (tiddlerst.status) newText + #+tiddlerst.title+ - +tiddlerst.status+n; newText + <<<n; var titlecml.reportTitle; var currText; var tstore.getTiddler(title); if (t) currText(t.text.length?n----n:)+t.text; store.saveTiddler(title, title, newText+currText, config.options.txtUserName, new Date(), t?t.tags:null, t?t.fields:null); if (!quiet) { if (config.options.chkLoadTiddlersShowReport) story.displayTiddler(null,title); story.refreshTiddler(title,null,true); } }}//}}}/pre>/div>div titleLogin creatorOSeuNome modifierOSeuNome created202006132347 modified202406141808 changecount99>pre><<wikify {{<<tiddler Login##+sessionStorage.login+>+>}}>>/%!!Introducao_a_Permacultura{{block500{<<tiddler Login##Empty>>Isso é uma breve curso de 20 horas para introduzir a Permacultura.O curso explica em forma breve a historia do desenvolvimento da Permacultura e suas inspirações. Com mais dettalhes esudamos as eticas e principios de design da Permacultura. Consideramos a importança da Permacultura no contexto dos desafios que a humanidade esta enfrentando, e a completar, indiciamos algumas praticas simples que participantes podem aplicar com facildade em suas casas, escolas ou comunidades.O curso é autodirigido, e gratis para participar{{center{<<tiddler OpenWindow2 with:Inscreve no Introducao_a_Permacultura http://www.unigaia-brasil.org/Permacultura/index.html?Cursos/Introducao_a_Permacultura>>img(450px,auto)https://www.carboninq.com/document/VG}}}}}}!!Etica_Economica{{block500{<<tiddler Login##Empty>>{{center{{{medium{A Etica Economica}}}}}}Todos nos são embutidos no sistema economico, e passa um grande parte cada dia em atividades ligadas a economia.No mesmo tempo, é a economia que é responsavel por a mioria parte da destruição ambiental, a corrupção publico, disigualdade social, e os conflitos internacionais. Não tem sentido culpar só o "capitalismo", sendo que paises não-capitalista tambem são destruindo seu ambiente, emitindo grande quantidades de gas carbonico e tem seu parte na disigualdade social. È o sistema economico.Mas poucos de nos entende como a economia funciona. Poucos entendem de onde vem dinheiro. Não importa partidos politicos do direito ou esquerda, os ambos usar os mesmos misconceitos, erros ou simplesmente mentiras.Nesse curso, estudamos a macroeconomia desde o perspectiva da Teoria Monetaria Moderna, e depois aprofundamos nas praticas e estrategias economicas mais relevantes funcional por Permacultores atuan.{{center{<<tiddler OpenWindow2 with:Inscreve no A Etica Economica http://www.unigaia-brasil.org/Permacultura/index.html?Curso/Etica_Economica>>img(450px,auto)https://www.repstatic.it/content/nazionale/img/2021/05/11/144110977-ebf03624-2767-47a1-bc93-b619b0036e82.jpg}}}Nota: Esse curso é uma estudo profundo ligada a tercera etica em Permacultura, a "Partilha Justa", que ate agora não foi bem desenvolvido a dentro o movimento Permacultural.}}}!!Adaptando_as_Mudancas_Climaticas{{block500{<<tiddler Login##Empty>>{{center{{{medium{Adaptando as Mudanças Climaticas}}}}}}O mundo, e todos seus habitantes estam enfrentando um seres dos desafios fortes, e ate existenciais. O mais preocupante e urgente é as Mudanças Climaticas. A maioria dos politicos só apresenta falas vazias, ou simplesmente negam a realidade. Quando os empresarios continuaram motivados por ganhança, lucrando desde a destruição da planeta.O futuro é preocupante!Mas uma coisa é certo. O futuro será bem diferente do que existe agora. Toda nossa sociedade é ameaçada e por mínimo vai se transformar radicalmente. Estamos preparados por isso?Mesmo que continuamos pressionando e buscando mitigar os impactos mais duros, precisamos começar adaptar e preparar por as realidades que estam chegando com força.Esse curso é uma oportunidade olha com mais clareza a situação global atual e considerar algumas das opções e possibilidades que isso vem apresentando.{{center{<<tiddler OpenWindow2 with:Inscreve no Adaptando as Mudanças Climaticas http://www.unigaia-brasil.org/Permacultura/index.html?Curso/Curso_Adaptando_as_Mudancas_Climaticas>>img(450px,auto)https://uploads.metropoles.com/wp-content/uploads/2022/01/27141810/WhatsApp-Image-2022-01-27-at-14.17.25-2.jpeg}}}}}}!!Horta_Organica{{block500{<<tiddler Login##Empty>>{{center{{{medium{Horta_Organica}}}}}}Antes do que podemos discutir politicas ou tomar ação ambiental ou ate pensar em ser mais ecologica, precisamos comer e beber água. A maioria de nos, esperam que teremos condição comer tres vezes por dia. Por isso a maioria dos Permacultor(a) começam com a pratica de uma horta organica.Horta porque gostamos comer. Organica porque preferemos cuidar nossa saude (e a saude de nossa familia), preferemos comer alimnetos que nos-nutriam (diferenciado as alimnetos comerciais que só encher barriga). E porque respeitamos a Natureza, e nossos vizinhos.Esse curso é um breve introdução as praticas basicas para iniciar uma horta em casa (ou na escola). A melhor forma aprendaer cuidar uma horta, sera fazer amistade com um vizinho que tem horta boa. Quando isso é faltando, esse curso podem iniciar seus estudos e praticas. {{center{<<tiddler OpenWindow2 with:Inscreve na Horta Organica http://www.unigaia-brasil.org/Permacultura/index.html?Curso/Horta_Organica>>img(450px,auto)https://hips.hearstapps.com/hmg-prod/images/backyard-vegetable-garden-1525293686.jpg?resize1200:*}}}!!Agua_Verde{{block500{<<tiddler Login##Empty>>{{center{{{medium{Àgua Verde}}}}}}Isso é um frase estranho e pouco ouvido. No mesmo tempo entendemos a importança da água. Precisamos consumir água para nossa saude. Precisamos água para produzir nossos alimentos. Precisamos água para banhar, cozinar e limpar nosso ambiente. Em verdade, nosso clima e nossa sociedade é totalmente depende en água, seus ciclos e suas carateristicas estranhas.Quando falamos de "àgua verde" estamos falando da água que infiltra no solo, e que as plantas usam para seu crescimento e deselvolvimento. Todas as florestas, areas naturais e agricultura são dependente em água verde.Nesse curso, concentramos em praticas para manegar a água verde.{{center{<<tiddler OpenWindow2 with:Inscreve na Àgua Verde http://www.unigaia-brasil.org/Permacultura/index.html?Curso/Agua_Verde>>img(450px,auto)http://www.inadesformation.net/wp-content/uploads/2018/11/Zaipit-5.jpg}}}!!Empty<script label"fechar">sessionStorage.login"empty";config.refreshers.content(document.getElementById("login"));</script><<setIcon Logos/no.png "" notext>>!!UCE{{blockMedium{{{floatleft{<script label"fechar">sessionStorage.login"empty";config.refreshers.content(document.getElementById("login"));</script><<setIcon Logos/no.png "" notext>>}}} <html><nowiki><form action"chkReg.php" method"POST" target"responseFrame"><input typetext nameusername value"">Nome<br><input typetext namecpf value"">CPF<br><input typehidden namewhen value""><input typetext nameemail value"">Email<br><input typehidden namecurso value"UCE"><input typetext namewhatsapp value"">Whatsapp<br><input typesubmit value"Confirma Seus Detalhes" onclicklocalStorage.usernamethis.form.username.value;localStorage.emailthis.form.email.value;localStorage.curso"UCE";localStorage.cpfthis.form.cpf.value;localStorage.escolathis.form.escola.value;localStorage.disciplinathis.form.disciplina.valuelocalStorage.whatsappthis.form.whatsapp.value;//window.open("http://www.unigaia-brasil.org/Permacultura/index.html?"+localStorage.cpf,"_parent");></form><iframe src"" name"responseFrame" id"responseFrame" width500px height50px style"border:0;"></iframe></html><script>var formplace.lastChild.getElementsByTagName(form)0;form.username.valuelocalStorage.username;form.cpf.valuelocalStorage.CPF;form.escola.valuelocalStorage.escola;form.disciplina.valuelocalStorage.disciplina;form.email.valuelocalStorage.email;form.whatsapp.valuelocalStorage.whatsapp;</script>Nota:Porfavor confirmar que suas dados são certos. Clicar "Confirma Seus Detalhes"..voçe será registrado e sistema redirecionar vocẽ por a pagina inicial da Plataforma Unigaia.!!???{{blockMedium{{{floatleft{<script label"fechar"> sessionStorage.login"empty";config.refreshers.content(document.getElementById("login"));</script><<setIcon ../Logos/no.png "" notext>>}}} <html><nowiki><form action"chkReg.php" method"POST" target"responseFrame"><input typetext nameusername value"">Nome<br><input typetext namecpf value"">CPF<br><input typehidden namewhen value""><input typehidden nameescola><input typehidden namedisciplina><input typetext nameemail value"">Email<br><input typetext namewhatsapp value"">Whatsapp<br><input typehidden namecurso value"Que_e_Permacultura"><input typesubmit value"Confirma Seus Detalhes" onclicklocalStorage.usernamethis.form.username.value;localStorage.emailthis.form.email.value;localStorage.cpfthis.form.cpf.value;localStorage.whatsappthis.form.whatsapp.value;localStorage.cursosessionStorage.login;localStorage.cpfthis.form.cpf.value;localStorage.escola"";localStorage.disciplina"";></form><iframe src"" name"responseFrame" id"responseFrame" width500px height50px style"border:0;"></iframe></html><script>var formplace.lastChild.getElementsByTagName(form)0;form.username.valuelocalStorage.username;form.cpf.valuelocalStorage.CPF;form.email.valuelocalStorage.email;form.whatsapp.valuelocalStorage.whatsapp;form.curso.valuesessionStorage.login;</script>Nota:Porfavor confirmar que suas dados são certos. Clicar "Confirma Seus Detalhes"..voce sra registrado e o sistema redirecionar vocẽ por a pagina inicial da Plataforma Unigaia.}}}!!Adaptacao_Profunda{{blockMedium{{{floatleft{<script label"fechar"> sessionStorage.login"empty";config.refreshers.content(document.getElementById("login"));</script><<setIcon ../Logos/no.png "" notext>>}}}<<tiddler Login##MiniCurso>>!!MiniCurso <html><nowiki><form action"chkReg.php" method"POST" target"responseFrame"><input typetext nameusername value"">Nome<br><input typetext namecpf value"">CPF<br><input typehidden namewhen value""><input typehidden nameescola><input typehidden namedisciplina><input typetext nameemail value"">Email<br><input typetext namewhatsapp value"">Whatsapp<br><input typetext namecurso value"">MiniCurso<br><input typesubmit value"Confirma Seus Detalhes" onclicklocalStorage.usernamethis.form.username.value;localStorage.emailthis.form.email.value;localStorage.cpfthis.form.cpf.value;localStorage.whatsappthis.form.whatsapp.value;localStorage.cursosessionStorage.login;localStorage.cpfthis.form.cpf.value;localStorage.escola"";localStorage.disciplina"";></form><iframe src"" name"responseFrame" id"responseFrame" width500px height50px style"border:0;"></iframe></html><script>var formplace.lastChild.getElementsByTagName(form)0;form.username.valuelocalStorage.username;form.cpf.valuelocalStorage.CPF;form.escola.valuelocalStorage.escola;form.disciplina.valuelocalStorage.disciplina;form.email.valuelocalStorage.email;form.whatsapp.valuelocalStorage.whatsapp;form.curso.valuesessionStorage.login;</script>Nota:Porfavor confirmar que suas dados são certos. Clicar "Confirma Seus Detalhes"..voce sra registrado e o sistema redirecionar vocẽ por a pagina inicial da Plataforma Unigaia.!!PDCVirtual{{blockMedium{{{floatleft{<script label"fechar"> sessionStorage.login"empty";config.refreshers.content(document.getElementById("login"));</script><<setIcon ../Logos/no.png "" notext>>}}} <html><nowiki><form action"chkReg.php" method"POST" target"responseFrame"><input typetext nameusername value"">Nome<br><input typetext namecpf value"">CPF<br><input typehidden nameescola><input typehidden namedisciplina><input typehidden namewhen value""><input typetext nameemail value"">Email<br><input typetext namewhatsapp value"">Whatsapp<br><input typesubmit value"Confirma Seus Detalhes" onclicklocalStorage.usernamethis.form.username.value;localStorage.emailthis.form.email.value;localStorage.cpfthis.form.cpf.value;localStorage.escola"";localStorage.disciplina"";localStorage.curso"PDCVirtual";localStorage.whatsappthis.form.whatsapp.value;></form><iframe src"" name"responseFrame" id"responseFrame" width500px height50px style"border:0;"></iframe></html><script>var formplace.lastChild.getElementsByTagName(form)0;form.email.valuelocalStorage.email;form.whatsapp.valuelocalStorage.whatsapp;</script>Depois mandar seu Inscripção, usar esse qcode para fazer seu pagamento por PIX. Quando confirmamaos o pagamento, mandamos por voce o codigo que dé voce acesso a plataforma.{{center{img(250px,auto)Images/PDCVirtual/qrcode.svg}}}ou{{{00020101021126370014br.gov.bcb.pix01117339464514902005204000053039865406600.005802BR5904SKYE6009FORTALEZA62070503pix63040FC9}}}}}}!!Biblioteca{{blockMedium{{{floatleft{<script label"fechar"> sessionStorage.login"empty";config.refreshers.content(document.getElementById("login"));</script><<setIcon ../Logos/no.png "" notext>>}}} <html><nowiki><form action"chkReg.php" method"POST" target"responseFrame"><input typetext nameusername value"">Nome<br><input typetext namecpf value"">CPF<br><input typehidden namewhen value""><input typehidden nameescola><input typehidden namedisciplina><input typetext nameemail value"">Email<br><input typetext namewhatsapp value"">Whatsapp<br><input typehidden namecurso value"Biblioteca"><input typesubmit value"Confirma Seus Detalhes" onclicklocalStorage.usernamethis.form.username.value;localStorage.emailthis.form.email.value;localStorage.cpfthis.form.cpf.value;localStorage.whatsappthis.form.whatsapp.value;localStorage.cursosessionStorage.login;localStorage.cpfthis.form.cpf.value;localStorage.escola"";localStorage.disciplina"";></form><iframe src"" name"responseFrame" id"responseFrame" width500px height50px style"border:0;"></iframe></html><script>var formplace.lastChild.getElementsByTagName(form)0;form.username.valuelocalStorage.username;form.cpf.valuelocalStorage.CPF;form.email.valuelocalStorage.email;form.whatsapp.valuelocalStorage.whatsapp;form.curso.valuesessionStorage.login;</script>Nota:Porfavor confirmar que suas dados são certos. Clicar "Confirma Seus Detalhes"..voce sra registrado e o sistema redirecionar vocẽ por a pagina inicial da Plataforma Unigaia.}}}!!fechar!!end%/ /%/pre>/div>div titleMainHead creatorOSeuNome modifierOSeuNome created201909050131 modified202406112020 tagsexcludeLists formatting changecount14 server.page.revision202003290646 server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.typefile>pre> {{center{{{grand{<<showPopup tiddler:admin label:"Estuda a Permacultura com UniGaia-Brasil.org" width:800px popupClass:sticky>> }}} }}}/pre>/div>div titleNine creatorOSeuNome modifierOSeuNome created202006140155 modified202406141810 changecount119>pre>{{block9{<<wikify {{<<tiddler Nine##+sessionStorage.Nine+>+>}}>>/%!!start{{center{img(450px,auto)https://telema.com.br/wp-content/uploads/2019/04/principios-da-permacultura-diagrama-holmgren-800px-768x816.jpg}}}!!PDC{{center{{{large{PDC}}}}}}O curso do certificado em Design em Permacultura é o curso basico para forma Permacultores, e é reconhecida internacionalmente.O curriculo basico desse curso foi escrito por Bill Mollison mesmo, e agora atualizado por as avanças tecnologicas e as realidades do secula 21.Esse curso tem como carga horario um minimo de 80 horas, e originalmente foi apresentado em forma residencial de 3 semanas.O curso cobrir as conceitos e fundamentos da Permacultura, e bastante das praticas relevantes e utilizadas em sistemas Permaculturais.O eixo central da Permacultura é design. Por isso o curso termina com uma pratica real de um design Permacultura de uma propriedade real. Mesmo em forma presencial ou virtual, o design é a avaliação final do curso.Lembra que o curso não é só a respeito hortas organicas, sistemas agroflorestais ou ate tecnicas da construição ecologica. Aprendemos com ver o mundo com novos olhos, como os olhos de um Permacultor(a). Aprendemos ser Permacultor(a)s.{{center{img(400px,auto)https://i.pinimg.com/originals/8f/27/13/8f271398744ac8282ad572f2306e6289.jpg}}}!Presencial{{large{{{center{PDC Pratica/Virtual}}}}}}Algumas vezes por ano, apresentamos o curso do PDC em forma prática/virtual em parceira com Marcelo Bueno (IPEMA) e NEOS, ambos do Ubatuba, SP. {{center{img(300px,auto)https://www.ipemabrasil.org.br/event-details|https://static.wixstatic.com/media/e1c714_e366dfe7bb42461abf8f794cf54503f0~mv2.jpg/v1/fill/w_505,h_580,fp_0.50_0.50,q_80,usm_0.66_1.00_0.01,enc_auto/e1c714_e366dfe7bb42461abf8f794cf54503f0~mv2.jpg}}}Na proxima pratica será 23 a 28 de Julho. <<tiddler OpenWindow2 with:Inscrive-se https://www.ipemabrasil.org.br/event-details>>O curso pratica/virtual é não só uma oportunidade para aprender os principios, eticas e praticas da Permacultura, alem da plataforma UniGaia. Mas tambem um oportunidade a viver em uma comunidade da aprendizagem e praticar muito do que aprendemos. È uma imersão total, que a maioria das participantes contam que mudou seu vida e sua visão da vida.UniGaia-org tambem é disponivel a apresentar cursos residenciais em outras localidades e ate por empresas ou ONGs em forma interna. Contatar o UniGaia|mailto:skyepermacultor@unigaia-brasil.org para saber mais.!!Virtual{{large{{{center{PDC Virtual}}}}}}Por muitas pessoas 9 ou 10 dias para participar em um curso presencial é dificil organizar. Todos nos tem muitas demandas por nosso tempo e muitas obrigações a atender. Por isso, oferecemos um curso do PDC em forma virtual, auto-dirigido.Nesse curso voce terá acesso a plataforma do UniGaia onde pode estudar as temas da Permacultura em seu próprio tempo, e ritmo. Cada tema tem textos explicativos, videos a assistir, referencias e tarefas a ser feitos. Muitas das temas tem apresenetações para assistir e estudar. Voce terá acesso um banco dos dados e uma biblioteca virtual com centenas dos livros relevantes a Permacultura.Durante o curso você tem comunicação (via whatsapp) com os professores video conferencias podem será marcadas. A avaliação do curso é feito por um seres das tarefas a ser feitos, o maior deles sendo a pratica do design permacultural por seu propria propriedade, escola ou comunidade.{{center{<<tiddler OpenWindow2 with:Inscrição por PDC Virtual http://www.unigaia-brasil.org/Permacultura/index.html?Cursos/PDC>>}}}{{center{img(400px,auto)https://www.appliedglobal.com/wp-content/uploads/Higher-Learning-AGT.png}}}!!Biblioteca{{center{{{large{Biblioteca Permacultural}}}}}}Nos anos estudando e pesquisando, a UniGaia.org,eu vem acumular uma coleção de livros relevantes a Permacultura e forma pdf. Acesso esse biblioteca é livre e os livros podem ser lido on line ou ate abaixado para que voce podem estudar mesmo quando não conectado ao internet.{{center{<<tiddler OpenWindow2 with:Acessar a Biblioteca Permacultural http://www.unigaia-brasil.org/PDFs/test.html>>}}}{{center{img(400px,auto)https://1.bp.blogspot.com/-YpjRq78pL8w/YLBiZD_TU-I/AAAAAAAAAFg/ZvIf4vJLSaUsUlwpy5VIBnYjYHCnxU82ACLcBGAsYHQ/s1920/biblioteca-virtual-756955.jpg}}}!!???{{center{{{large{Qual é Permacultura}}}}}}Por muitas pessoas Permacultura é um conceito novo e ate estranho. Por isso construimos esta plataforma e permite acesso livre algumos cursos da introdução. Isso pode gerar questões ou duvidas a respeito a Permacultura e as temas embutidass. Por isso criamos um espaço onde pessoas interessadas podem lançar suas perguntas e receber respostas. Um tipo blog/perguntas frequentes. Acesso é livre.{{center{<<tiddler OpenWindow2 with:Acessar a Plataforma das Perguntas http://www.unigaia-brasil.org/PermaQue>>}}}{{center{img(400px,auto)https://jcra.ncsu.edu/events/2016/1277/permaculture-garden.jpg}}}!!MiniCursos{{center{{{large{Mini-Cursos}}}}}}Esses cursos introduzir a Permacultura, ou são cursos onde estudamos temas ligadas a Permacultura. A ideia é estudar temas de interesse especifica, sem necessidade fazer o compromiso a completar todo um PDC.As vezes são cursos mais introdutorios as temas da Permacultura e as vezes são efeitavemente cursos onde estudamos temas ligadas a Permacultura com MAIS profundidade do que seja posivel em um PDC. Em geral as cursos da introdução são livres para assistir, quandoos cursos aprofundizados são pagos. Estas cursos aprofundizados normalmente incluir tarefas a sera completadas e avaliadas e incluir uma certificação ao conclusão do curso.|{{medium{Cursos Aprofundizados}}}|{{medium{Cursos Introdutorios}}}||<<tiddler Nine##Aprofundizados>>|<<tiddler Nine##Introdutorios>>|{{center{img(350px,auto)https://i.pinimg.com/originals/e7/e7/dd/e7e7ddaccc353436acdfe748abd9cbbb.jpg}}}!!Aprofundizados{{mini{<script label"A Etica_Economica"> sessionStorage.login"Etica_Economica";config.refreshers.content(document.getElementById("login"));</script>}}}{{mini{<script label"Àgua Verde"> sessionStorage.login"Agua_Verde";config.refreshers.content(document.getElementById("login"));</script>}}}!!Introdutorios{{mini{<script label"Introdução a Permacultura">sessionStorage.login"Introducao_a_Permacultura";config.refreshers.content(document.getElementById("login"));</script>}}}{{mini{<script label"Adaptando as Mudancas Climaticas">sessionStorage.login"Adaptando_as_Mudancas_Climaticas"; config.refreshers.content(document.getElementById("login"));</script>}}}{{mini{<script label"Horta Organica"> sessionStorage.login"Horta_Organica";config.refreshers.content(document.getElementById("login"));</script>}}}!!UCE<img(150px,auto)../Images/SEDUC/UCE_2024.png{{center{{{large{UCEs}}} }}}Esses planos das aulas foram desenvolvido com Secretario da Educação do Ceará como recursos didáticas por professores do rede estadual da educação, responsáveis por UCEs ligadas a Permacultura. Eles são disponibilizados por todas as professores do SEDUC por platafaormaa interna, mas aqui são disponibilizados por professores afora o rede estudual e ate afora o estado.Accesso é livre.Cada plano da aula, tem lista das aulas por o UCE, com atividades, referencias, BNCC definidas e, varios incluim tambem apresentações disponiveis por os professores.Temas atualmente disponivel:{{medium{CNT041 - <<tiddler OpenWindow2 with:Introdução a Permacultura http://www.unigaia-brasil.org/Permacultura/index.html?Introducao_a_Permacultura(UCE)>>CNT030 - <<tiddler OpenWindow2 with:Biofilia http://www.unigaia-brasil.org/Permacultura/index.html?Biofilia(UCE)>>CNT018 - <<tiddler OpenWindow2 with:Mudanças Ambientais Globais http://www.unigaia-brasil.org/Permacultura/index.html?Desafios_Hoje>>CNT042 - <<tiddler OpenWindow2 with:Permacultura Urbana http://www.unigaia-brasil.org/Permacultura/index.html?Permacultira_Urbana>>CNT033 - <<tiddler OpenWindow2 with:Construindo Escola Sustentavel http://www.unigaia-brasil.org/Permacultura/index.html?Escola_Sustentavel>>CNT013 - <<tiddler OpenWindow2 with:Horta na Escola http://www.unigaia-brasil.org/Permacultura/index.html?Hortas_na_Escola>>CNT015 - <<tiddler OpenWindow2 with:Medicina Popular http://www.unigaia-brasil.org/Permacultura/index.html?Medicina_Popular>>CNT014 - <<tiddler OpenWindow2 with:Manejo Àgua na Escola http://www.unigaia-brasil.org/Permacultura/index.html?Manejo_Agua_na_Escola>>CNT058 - <<tiddler OpenWindow2 with:Mulheres que Inspiram a Ciençia http://www.unigaia-brasil.org/Permacultura/index.html?Mulheres_na_Ciencia>>CNS028 - <<tiddler OpenWindow2 with:Historia Moderna http://www.unigaia-brasil.org/Permacultura/index.html?Historia_Moderna>>CNT099 - <<tiddler OpenWindow2 with:Ciençia na Ficcão Cientifica http://www.unigaia-brasil.org/Permacultura/index.html?Ficcão_na_Ciencia>>CNS099 - <<tiddler OpenWindow2 with:Comviviencia com o SemiArido http://www.unigaia-brasil.org/Permacultura/index.html?Comviviencia_com_SemiArido>>CNT044 - <<tiddler OpenWindow2 with:Os Objetivos do desenvolvimento Sustentavel (UNO) http://www.unigaia-brasil.org/Permacultura/index.html?ODSs(UCE)>>}}}Professores do SEDUC (Ceará) como email institucional pode acessar os planos das aulas por <<tiddler OpenWindow2 with:Lista no AVA/CED https://drive.google.com/drive/u/4/folders/1gFfDAos_8uCzAq-7n4l_wuykp6PR3Zi2 >>!!Praticas{{center{{{large{Práticas de Permacultura}}}Além da Permacultura como uma ciência, uma filosofia da Vida e um movimento social, Permacultura também promove varias práticas. Atividades que em isolação não constituir um sistema Permacultural, mas que são utis na construção uma vida mais sustentável, mas ecológica e ate mais resiliente.Isso é uma lista ainda na produção e criação, com ideia auxiliar começar fazer algumas atividades simples em sua casa, sua escola ou sua comunidade.}}}<<tiddler OpenWindow2 with:Lista da Práticas http://www.unigaia-brasil.org/Permacultura/index.html?Curso_Praticas_Permaculturais>>Temas disponiveis ate agora, incluem:{{twocolumns{{{bold{Adubos CaseirosBerço AgroflorestalBiofertilizantesCanteiro InstantâneoCanteiro com Copos de CocoGongo-ompostagemHorta em BaldesHorta Olho de ChaveHorta em Paletes - Horta VerticalMinhocano - Vermicostagem SimplesMulch - Cuidando do SoloSAFS/Sistemas AgroflorestaisSombraVermicomposteira CaseiraPátios ProdutivosBunds - Infiltrando Água da ChuvaBarreiras com PlantasCı́rculos de BananeirasDique ao Conturno/SwaleJardins de ChuvaParedes de Pedras - Coletando mais ÁguaPiquete das GalinhasTrator de Galinhas}}}}}}{{center{img(300px,auto)https://greenglobaltravel.com/wp-content/uploads/Permaculture-Garden-Guide-Permaculture-Garden-by-Irene-Knightley-via-CC-e1457299182465.jpg}}}!!end%/}}}/pre>/div>div titleOne creatorOSeuNome modifierOSeuNome created202005240210 modified202406121740 changecount71>pre>{{block500{<img(120px,auto)http://veracidade.eco.br/wp-content/uploads/2017/09/12-principios-permacultura2.png{{center{Curso{{medium{Certificado de Design em Permacultura}}}{{large{<script label"PDC">sessionStorage.Nine"PDC"; config.refreshers.content(document.getElementById("nine"));</script>}}}O unico curso da Permacultura reconhecido internacionalmente, baseado no curricula original do Bill Mollison e atualizado por a secula 21.{{large{<script label"Hibrida">sessionStorage.Nine"Presencial"; config.refreshers.content(document.getElementById("nine"));</script> ou <script label"Virtual">sessionStorage.Nine"Virtual";config.refreshers.content(document.getElementById("nine"));</script>}}}}}}}}}{{block500{<img(120px,auto)https://hips.hearstapps.com/hmg-prod.s3.amazonaws.com/images/heart-healthy-food-1580231690.jpg{{large{{{center{<script label"Mini Cursos">sessionStorage.Nine"MiniCursos";config.refreshers.content(document.getElementById("nine"));</script>}}}}}}A UniGaia-Brasil.org oferece varios cursos cortos ligados a tema da Permacultura. A maioria são virtual usando sua propria plataforma, mas outras, as vezes são oferecidas em forma presencial.}}}{{block500{<img(80px,auto)../Images/SEDUC/UCE_2024.png{{center{Planos das Aulas{{large{<script label"Unidades Curriculares Eletivos">sessionStorage.Nine"UCE";config.refreshers.content(document.getElementById("nine"));</script>}}}{{medium{SEDUC - 2024}}} }}}Disponibilizamos planos das aulas por temas ligadas a Permacultura no catelogo dos UCEs publicados por SEDUC (Ceara) por 2024. Acesso é gratis.}}}{{block500{<img(80px,auto)../Images/SEDUC/Praticas.png{{center{{{large{<script label"Praticas de Permacultura">sessionStorage.Nine"Praticas";config.refreshers.content(document.getElementById("nine"));</script>}}}Descrições simples das varias das praticas mais utilizadas em Permacultura. Uma referencia bem Util.}}}}}}{{block500{{{center{{{large{<script label"Biblioteca Permacultural">sessionStorage.Nine"Biblioteca";config.refreshers.content(document.getElementById("nine"));</script>}}}}}}}}}{{block500{{{center{{{large{<script label"Que é Permacultura?">sessionStorage.Nine"???";config.refreshers.content(document.getElementById("nine"));</script>}}}}}}}}}/pre>/div>div titleOpenWindow2 creatorOSeuNome modifierOSeuNome created202406112102 modified202406121517 tagstransclucao changecount2>pre>{{mini{<script label"$1">window.open("$2","_parent","toolbaryes,scrollbarsyes,resizableyes,top50,left50");</script>}}}/pre>/div>div titlePageTemplate modifierOSeuNome created201304200112 modified202402202100 tagsexcludeLists formatting core report autosave server.typefile server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.page.revision201902171940 changecount7>pre><div idmainHead refreshcontent forcetrue tiddlerMainHead></div><div idstaticLocation refreshcontent forcetrue tiddlerStaticLocation></div><div idone refreshcontent forcetrue tiddlerOne></div><div idtwo refreshcontent forcetrue tiddlerTwo></div><div idthree refreshcontent forcetrue tiddlerThree></div><div idfour refreshcontent forcetrue tiddlerFour></div><div idnine refreshcontent forcetrue tiddlerNine></div><div idlogin refreshcontent forcetrue tiddlerLogin></div><div iddisplayArea><div idmessageArea></div><div idtiddlerDisplay></div></div>/pre>/div>div titlePasswordOptionPlugin modifierOSeuNome created200701172059 modified201304201341 tagssystemConfig excludeLists server.typefile server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.page.revision201304201341>pre>/***|Name:|PasswordOptionPlugin||Description:|Extends TiddlyWiki options with non encrypted password option.||Version:|1.0.2||Date:|Apr 19, 2007||Source:|http://tiddlywiki.bidix.info/#PasswordOptionPlugin||Author:|BidiX (BidiX (at) bidix (dot) info)||License:|BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ||~CoreVersion:|2.2.0 (Beta 5)|***///{{{version.extensions.PasswordOptionPlugin { major: 1, minor: 0, revision: 2, date: new Date("Apr 19, 2007"), source: http://tiddlywiki.bidix.info/#PasswordOptionPlugin, author: BidiX (BidiX (at) bidix (dot) info, license: BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D, coreVersion: 2.2.0 (Beta 5)};config.macros.option.passwordCheckboxLabel "Save this password on this computer";config.macros.option.passwordInputType "password"; // password | textsetStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");merge(config.macros.option.types, { pas: { elementType: "input", valueField: "value", eventName: "onkeyup", className: "pasOptionInput", typeValue: config.macros.option.passwordInputType, create: function(place,type,opt,className,desc) { // password field config.macros.option.genericCreate(place,pas,opt,className,desc); // checkbox linked with this password "save this password on this computer" config.macros.option.genericCreate(place,chk,chk+opt,className,desc); // text savePasswordCheckboxLabel place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel)); }, onChange: config.macros.option.genericOnChange }});merge(config.optionHandlerschk, { get: function(name) { // is there an option linked with this chk ? var opt name.substr(3); if (config.optionsopt) saveOptionCookie(opt); return config.optionsname ? "true" : "false"; }});merge(config.optionHandlers, { pas: { get: function(name) { if (config.options"chk"+name) { return encodeCookie(config.optionsname.toString()); } else { return ""; } }, set: function(name,value) {config.optionsname decodeCookie(value);} }});// need to reload options to load passwordOptionsloadOptionsCookie();/*if (!config.optionspasPassword) config.optionspasPassword ;merge(config.optionsDesc,{ pasPassword: "Test password" });*///}}}/pre>/div>div titlePluginManager modifierOSeuNome created201304201344 modified202004150345 tagsexcludeLists changecount1 server.page.revision201304201344 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre><<plugins>>/pre>/div>div titlePortugueseTranslationPlugin modifierOSeuNome created200805120944 modified201304200123 tagsexcludeLists systemConfig server.typefile server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.page.revision201304200123>pre>/***|Name:|PortugueseTranslationPlugin||Description:|Translation of TiddlyWiki into European Portuguese||Author:|Paulo Soares||Source:|http://www.math.ist.utl.pt/~psoares/addons.html||Version:|2.6.2||Date:|Jan 18, 2011||License:|Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/ ||~CoreVersion:|2.6.0|***//*{{{*/config.locale "pt"; // W3C language tagif (config.options.txtUserName"YourName") merge(config.options,{txtUserName: "OSeuNome"});merge(config.tasks,{ save: {text: "guardar", tooltip: "Guarda as alteracoes a este TiddlyWiki", action: saveChanges}, sync: {text: "sincronizar", tooltip: "Sincroniza alteracoes com outros ficheiros TiddlyWiki ou servidores", content: <<sync>>}, importTask: {text: "importar", tooltip: "Importa tiddlers e plugins de outros ficheiros TiddlyWiki ou servidores", content: <<importTiddlers>>}, tweak: {text: "configurar", tooltip: "Configura a aparencia e o comportamento do TiddlyWiki", content: <<options>>}, upgrade: {text: "actualizar", tooltip: "Actualiza o codigo central do TiddlyWiki", content: <<upgrade>>}, plugins: {text: "plugins", tooltip: "Gerir plugins instalados", content: <<plugins>>}});// Options that can be set in the options panel and/or cookiesmerge(config.optionsDesc,{ txtUserName: "Nome de utilizador para assinar as edicoes", chkRegExpSearch: "Activar expressoes regulares na procura", chkCaseSensitiveSearch: "Procura sense­vel a maiusculas", chkIncrementalSearch: "Procura incremental caracter-a-caracter", chkAnimate: "Activar animacoes", chkSaveBackups: "Manter ficheiro de salvaguarda ao guardar alteracoes", chkAutoSave: "Guardar alteracoes automaticamente", chkGenerateAnRssFeed: "Gerar um ficheiro RSS ao guardar alteracoes", chkSaveEmptyTemplate: "Gerar um modelo vazio ao guardar alteracoes", chkOpenInNewWindow: "Abrir ligacoes externas em novas janelas", chkToggleLinks: "Clicar em ligacoes para tiddlers abertos, fecha-os", chkHttpReadOnly: "Esconde funcoes de edicao quando acedido por HTTP", chkForceMinorUpdate: "Nao actualizar o nome de utilizador nem a data ao editar tiddlers", chkConfirmDelete: "Requerer confirmacao ao eliminar tiddlers", chkInsertTabs: "Usar a tecla TAB para inserir caracteres de tabulacao em vez de saltar para o proximo campo", txtBackupFolder: "Nome do directorio para os ficheiros de salvaguarda", txtMaxEditRows: "Numero maximo de linhas nas caixas de edicao", txtTheme: "Nome do tema a usar", txtFileSystemCharSet: "Codigo de caracteres por omissao para guardar alteracoes (apenas em Firefox/Mozilla)"});merge(config.messages,{ customConfigError: "Foram encontrados problemas ao carregar plugins. Veja o PluginManager para mais detalhes", pluginError: "Erro: %0", pluginDisabled: "Nao executado porque foi desactivado pela etiqueta systemConfigDisable", pluginForced: "Executado porque foi forcado pela etiqueta systemConfigForce", pluginVersionError: "Nao executado porque este plugin requer uma versao mais recente do TiddlyWiki", nothingSelected: "Nada esta selecionado. Deve selecionar um ou mais itens primeiro", savedSnapshotError: "Parece que este TiddlyWiki foi guardado incorrectamente. Por favor veja http://www.tiddlywiki.com/#Download para mais detalhes", subtitleUnknown: "(desconhecido)", undefinedTiddlerToolTip: "O tiddler %0 ainda nao existe", shadowedTiddlerToolTip: "O tiddler %0 ainda nao existe, mas tem um modelo pre-definido", tiddlerLinkTooltip: "%0 - %1, %2", externalLinkTooltip: "Ligacao externa a %0", noTags: "Nao ha tiddlers com etiquetas", notFileUrlError: "e‰ necessario guardar este TiddlyWiki num ficheiro antes de poder guardar alteracoes", cantSaveError: "Nao e posse­vel guardar alteracoes. Posse­veis razoes incluem:\n- o seu browser nao o permite (funciona sob Firefox, Internet Explorer, Safari ou Opera se estes estiverem configurados adequadamente)\n- o nome do caminho para o seu ficheiro TiddlyWiki contem caracteres ilegais\n- o nome ou a localizacao do ficheiro TiddlyWiki foram alterados", invalidFileError: "O ficheiro original %0 nao parece ser um TiddlyWiki valido", backupSaved: "Ficheiro de salvaguarda guardado", backupFailed: "Falha ao guardar o ficheiro de salvaguarda", rssSaved: "Ficheiro RSS guardado", rssFailed: "Falha ao guardar o ficheiro RSS", emptySaved: "Modelo vazio guardado", emptyFailed: "Falha ao guardar o modelo vazio", mainSaved: "Ficheiro principal de TiddlyWiki guardado", mainFailed: "Falha ao guardar o ficheiro principal de TiddlyWiki. As suas alteracoes nao foram guardadas", macroError: "Erro na macro <<%0>>", macroErrorDetails: "Erro ao executar a macro <<%0>>:\n%1", missingMacro: "Essa macro nao existe", overwriteWarning: "Um tiddler chamado %0 ja existe. Escolha OK para substitue­-lo", unsavedChangesWarning: "ATENCAO! Ha alteracoes no TiddlyWiki que ainda nao foram guardadas\n\nEscolha OK para guardar\nEscolha CANCEL para abandonar as alteracoes", confirmExit: "--------------------------------\n\nHa alteracoes no TiddlyWiki que ainda nao foram guardadas. Se continuar ira perder essas alteracoes\n\n--------------------------------", saveInstructions: "GuardarAlteracoes", unsupportedTWFormat: "Formato TiddlyWiki nao suportado %0", tiddlerSaveError: "Erro ao guardar tiddler %0", tiddlerLoadError: "Erro ao carregar tiddler %0", wrongSaveFormat: "Nao e posse­vel guardar no formato de armazenamento %0. Use o formato padrao para guardar.", invalidFieldName: "Nome de campo invalido %0", loadingMissingTiddler: "Tentando obter o tiddler %0 do servidor %1 em:\n\n%2 no espaco de trabalho %3", upgradeDone: "A actualizacao para a versao %0 esta completa\n\nClique OK para recarregar o TiddlyWiki actualizado", invalidCookie: "Cookie invalida %0"});merge(config.messages.messageClose,{ text: "fechar", tooltip: "fecha esta area de mensagens"});config.messages.backstage { open: {text: "bastidores", tooltip: "Abre a area de bastidores para executar tarefas de edicao e administracao"}, close: {text: "fechar", tooltip: "Fecha a area de bastidores"}, prompt: "bastidores: ", decal: { edit: {text: "editar", tooltip: "Edita o tiddler %0"} }};config.messages.listView { tiddlerTooltip: "Clique para ver o texto completo deste tiddler", previewUnavailable: "(antevisao nao dispone­vel)"};config.messages.dates.months "Janeiro","Fevereiro","Marco","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro";config.messages.dates.days "Domingo","Segunda","Terca","Quarta","Quinta","Sexta","Sabado";config.messages.dates.shortMonths "Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez";config.messages.dates.shortDays "Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab";merge(config.messages.tiddlerPopup,{ });merge(config.views.wikified.tag,{ labelNoTags: "sem etiquetas", labelTags: "etiquetas: ", openTag: "Abrir etiqueta %0", tooltip: "Abrir tiddlers etiquetados com %0", openAllText: "Abrir todos", openAllTooltip: "Abrir todos estes tiddlers", popupNone: "Nao ha outros tiddlers etiquetados com %0"});merge(config.views.wikified,{ defaultText: "O tiddler %0 ainda nao existe. Faca duplo-clique para cria-lo", defaultModifier: "(em falta)", shadowModifier: "(tiddler sombra pre-definido)", dateFormat: "DD MMM YYYY", createdPrompt: "criado em"});merge(config.views.editor,{ tagPrompt: "Escreva as etiquetas separadas por espacos, use duplos parenteses rectos se necessario, ou atribua existentes", defaultText: "Escreva o texto para %0"});merge(config.views.editor.tagChooser,{ text: "etiquetas", tooltip: "Escolha entre as etiquetas existentes para atribuir a este tiddler", popupNone: "Nao ha etiquetas definidas", tagTooltip: "Atribuir a etiqueta %0"});merge(config.messages,{ sizeTemplates: {unit: 1024*1024*1024, template: "%0\u00a0GB"}, {unit: 1024*1024, template: "%0\u00a0MB"}, {unit: 1024, template: "%0\u00a0KB"}, {unit: 1, template: "%0\u00a0B"} });merge(config.macros.search,{ label: "procurar", prompt: "Procura neste TiddlyWiki", accessKey: "F", successMsg: "%0 tiddlers encontrados que contem %1", failureMsg: "Nao foi encontrado nenhum tiddler que contenha %0"});merge(config.macros.tagging,{ label: "etiquetando:", labelNotTag: "nao etiquetando", tooltip: "Lista de tiddlers etiquetados com %0"});merge(config.macros.timeline,{ dateFormat: "DD MMM YYYY"});merge(config.macros.allTags,{ tooltip: "Mostra tiddlers com a etiqueta %0", noTags: "Nao ha tiddlers etiquetados"});config.macros.list.all.prompt "Todos os tiddlers em ordem alfabetica";config.macros.list.missing.prompt "Tiddlers com ligacoes para eles mas que nao existem";config.macros.list.orphans.prompt "Tiddlers sem ligacoes de outros tiddlers";config.macros.list.shadowed.prompt "Tiddlers na sombra com conteudo pre-definido";config.macros.list.touched.prompt "Tiddlers que foram modificados localmente";merge(config.macros.closeAll,{ label: "fechar todos", prompt: "Fecha todos os tiddlers abertos (excepto os que estao a ser editados)"});merge(config.macros.permaview,{ label: "permavista", prompt: "Ligacao a um URL que mostra todos os tiddlers que estao abertos"});merge(config.macros.saveChanges,{ label: "guardar alteracoes", prompt: "Guarda todas as alteracoes em ficheiro", accessKey: "S"});merge(config.macros.newTiddler,{ label: "novo tiddler", prompt: "Cria um novo tiddler", title: "Novo tiddler", accessKey: "N"});merge(config.macros.newJournal,{ label: "novo diario", prompt: "Cria um novo tiddler com a data e hora actuais", accessKey: "J"});merge(config.macros.options,{ wizardTitle: "Configurar opcoes avancadas", step1Title: "Estas opcoes sao guardadas em cookies no seu browser", step1Html: "<input typehidden namemarkList></input><br><input typecheckbox checkedfalse namechkUnknown>Mostra opcoes desconhecidas</input>", unknownDescription: "//(desconhecido)//", listViewTemplate: { columns: {name: Option, field: option, title: "Opcao", type: String}, {name: Description, field: description, title: "Descricao", type: WikiText}, {name: Name, field: name, title: "Nome", type: String} , rowClasses: {className: lowlight, field: lowlight} } });merge(config.macros.plugins,{ wizardTitle: "Gerir plugins", step1Title: "Plugins carregados", step1Html: "<input typehidden namemarkList></input>", // DO NOT TRANSLATE skippedText: "(Este plugin nao foi executado porque foi incluido depois do arranque)", noPluginText: "Nao ha plugins instalados", confirmDeleteText: "Tem a a certeza que quer eliminar estes plugins:\n\n%0", removeLabel: "remover a etiqueta systemConfig", removePrompt: "Remove a etiqueta systemConfig", deleteLabel: "eliminar", deletePrompt: "Elimina estes tiddlers para sempre", listViewTemplate: { columns: {name: Selected, field: Selected, rowName: title, type: Selector}, {name: Tiddler, field: tiddler, title: "Tiddler", type: Tiddler}, {name: Description, field: Description, title: "Descricao", type: String}, {name: Version, field: Version, title: "Versao", type: String}, {name: Size, field: size, tiddlerLink: size, title: "Tamanho", type: Size}, {name: Forced, field: forced, title: "Forcado", tag: systemConfigForce, type: TagCheckbox}, {name: Disabled, field: disabled, title: "Desactivado", tag: systemConfigDisable, type: TagCheckbox}, {name: Executed, field: executed, title: "Carregado", type: Boolean, trueText: "Sim", falseText: "Nao"}, {name: Startup Time, field: startupTime, title: "Tempo de arranque", type: String}, {name: Error, field: error, title: "Estado", type: Boolean, trueText: "Erro", falseText: "OK"}, {name: Log, field: log, title: "Registo", type: StringList} , rowClasses: {className: error, field: error}, {className: warning, field: warning} }, listViewTemplateReadOnly: { columns: {name: Tiddler, field: tiddler, title: "Tiddler", type: Tiddler}, {name: Description, field: Description, title: "Descricao", type: String}, {name: Version, field: Version, title: "Versao", type: String}, {name: Size, field: size, tiddlerLink: size, title: "Tamanho", type: Size}, {name: Executed, field: executed, title: "Carregado", type: Boolean, trueText: "Sim", falseText: "Nao"}, {name: Startup Time, field: startupTime, title: "Tempo de inicializacao", type: String}, {name: Error, field: error, title: "Estado", type: Boolean, trueText: "Erro", falseText: "OK"}, {name: Log, field: log, title: "Registo", type: StringList} , rowClasses: {className: error, field: error}, {className: warning, field: warning} } });merge(config.macros.toolbar,{ moreLabel: "mais", morePrompt: "Mostra comandos adicionais", lessLabel: "menos", lessPrompt: "Esconde comandos adicionais", separator: "|" });merge(config.macros.refreshDisplay,{ label: "refresca", prompt: "Refresca a apresentacao de todo o TiddlyWiki" });merge(config.macros.importTiddlers,{ readOnlyWarning: "Nao pode importar para um ficheiro TiddlyWiki so de leitura. Tente abrir a partir de um URL do tipo file://", wizardTitle: "Importar tiddlers de outro ficheiro TiddlyWiki ou servidor", step1Title: "Passo 1: Localize o servidor ou o ficheiro TiddlyWiki", step1Html: "Especifique o tipo de servidor: <select nameselTypes><option value>Escolha...</option></select><br>Escreva o URL ou o caminho aqui: <input typetext size50 nametxtPath><br>...ou procure um ficheiro: <input typefile size50 nametxtBrowse><br><hr>...ou selecione uma localizacao pre-definida: <select nameselFeeds><option value>Escolha...</option></select>", openLabel: "abrir", openPrompt: "Abre a ligacao a este ficheiro ou servidor", statusOpenHost: "Abrindo o anfitriao", statusGetWorkspaceList: "Obtendo a lista de espacos de trabalho dispone­veis", step2Title: "Passo 2: Escolha o espaco de trabalho", step2Html: "Escreva o nome de um espaco de trabalho: <input typetext size50 nametxtWorkspace><br>...or selecione um espaco de trabalho: <select nameselWorkspace><option value>Escolha...</option></select>", cancelLabel: "cancelar", cancelPrompt: "Cancela esta importacao", statusOpenWorkspace: "Abrindo o espaco de trabalho", statusGetTiddlerList: "Obtendo a lista de tiddlers dispone­veis", errorGettingTiddlerList: "Erro ao transferir a lista de tiddlers, clique em Cancelar para tentar novamente", step3Title: "Passo 3: Escolha os tiddlers para importar", step3Html: "<input typehidden namemarkList></input><br><input typecheckbox checkedtrue namechkSync>Manter estes tiddlers ligados a este servidor para poder sincronizar mudancas subsequentes</input><br><input typecheckbox namechkSave>Guardar os detalhes deste servidor num tiddler systemServer chamado:</input> <input typetext size25 nametxtSaveTiddler>", importLabel: "importar", importPrompt: "Importa estes tiddlers", confirmOverwriteText: "Tem a certeza que quer substituir estes tiddlers:\n\n%0", step4Title: "Passo 4: Importando %0 tiddler(s)", step4Html: "<input typehidden namemarkReport></input>", // DO NOT TRANSLATE doneLabel: "fechar", donePrompt: "Fecha este assistente", statusDoingImport: "Importando tiddlers", statusDoneImport: "Todos os tiddlers importados", systemServerNamePattern: "%2 de %1", systemServerNamePatternNoWorkspace: "%1", confirmOverwriteSaveTiddler: "O tiddler %0 ja existe. Clique OK para o substituir pelos detalhes deste servidor, ou Cancel para manter sem alteracoes", serverSaveTemplate: "|Tipo:|%0|\n|URL:|%1|\n|Espaco de trabalho:|%2|\n\nEste tiddler foi criado automaticamente para registar os detalhes deste servidor", serverSaveModifier: "(Sistema)", listViewTemplate: { columns: {name: Selected, field: Selected, rowName: title, type: Selector}, {name: Tiddler, field: tiddler, title: "Tiddler", type: Tiddler}, {name: Size, field: size, tiddlerLink: size, title: "Tamanho", type: Size}, {name: Tags, field: tags, title: "Etiquetas", type: Tags} , rowClasses: } });merge(config.macros.upgrade,{ wizardTitle: "Actualizacao do codigo central do TiddlyWiki", step1Title: "Actualize ou repare este TiddlyWiki para a versao mais recente", step1Html: "Vai proceder com a actualizacao para o codigo central do TiddlyWiki mais recente (a partir de <a href%0 classexternalLink target_blank>%1</a>). O seu conteudo sera preservado pela actualizacao.<br><br>Note que as actualizacoes do codigo central podem interferir com plugins antigos. Se tiver problemas com o ficheiro actualizado, veja <a hrefhttp://www.tiddlywiki.org/wiki/CoreUpgrades classexternalLink target_blank>http://www.tiddlywiki.org/wiki/CoreUpgrades</a>", errorCantUpgrade: "Nao e posse­vel actualizar este TiddlyWiki. So sao posse­veis as actualizacoes de ficheiros TiddlyWiki guardados localmente", errorNotSaved: "e‰ necessario guardar modificacoes antes de actualizar", step2Title: "Confirme os detalhes da actualizacao", step2Html_downgrade: "Vai regredir para a versao %0 do TiddlyWiki a partir da versao %1.<br><br>Regredir para uma versao anterior do codigo central nao e recomendado", step2Html_restore: "Parece que este TiddlyWiki ja usa a ultima versao do codigo central (%0).<br><br>Pode continuar a actualizacao para garantir que o codigo central nao foi corrompido ou danificado", step2Html_upgrade: "Vai actualizar o TiddlyWiki da versao %1 para a versao %0", upgradeLabel: "actualizar", upgradePrompt: "Prepare-se para o processo de actualizacao", statusPreparingBackup: "A preparar copia de seguranca", statusSavingBackup: "A guardar copia de seguranca", errorSavingBackup: "Ocorreu um problema ao guardar a copia de seguranca", statusLoadingCore: "A transferir o codigo central", errorLoadingCore: "Erro ao transferir o codigo central", errorCoreFormat: "Erro com o novo codigo central", statusSavingCore: "A guardar o novo codigo central", statusReloadingCore: "A recarregar o novo codigo central", startLabel: "iniciar", startPrompt: "Inicie a actualizacao", cancelLabel: "cancelar", cancelPrompt: "Cancele a actualizacao", step3Title: "Actualizacao cancelada", step3Html: "A actualizacao foi cancelada" });merge(config.macros.sync,{ listViewTemplate: { columns: {name: Selected, field: selected, rowName: title, type: Selector}, {name: Tiddler, field: tiddler, title: "Tiddler", type: Tiddler}, {name: Server Type, field: serverType, title: "Tipo de servidor", type: String}, {name: Server Host, field: serverHost, title: "Anfitriao do servidor", type: String}, {name: Server Workspace, field: serverWorkspace, title: "Espaco de trabalho do servidor", type: String}, {name: Status, field: status, title: "Estado da sincronizacao", type: String}, {name: Server URL, field: serverUrl, title: "URL do servidor", text: "Ver", type: Link} , rowClasses: , buttons: {caption: "Sincroniza este tiddlers", name: sync} }, wizardTitle: "Sincronizar com ficheiros ou servidores externos", step1Title: "Escolha os tiddlers que quer sincronizar", step1Html: "<input typehidden namemarkList></input>", // DO NOT TRANSLATE syncLabel: "sincronizar", syncPrompt: "Sincroniza este tiddlers", hasChanged: "Alterado enquanto desligado", hasNotChanged: "Sem alteracoes enquanto desligado", syncStatusList: { none: {text: "...", display:none, className:notChanged}, changedServer: {text: "Alterado no servidor", display:null, className:changedServer}, changedLocally: {text: "Alterado enquanto desligado", display:null, className:changedLocally}, changedBoth: {text: "Alterado enquanto desligado e no servidor", display:null, className:changedBoth}, notFound: {text: "Nao encontrado no servidor", display:null, className:notFound}, putToServer: {text: "Actualizado no servidor", display:null, className:putToServer}, gotFromServer: {text: "Obtida actualizacao do servidor", display:null, className:gotFromServer} } });merge(config.macros.annotations,{ });merge(config.commands.closeTiddler,{ text: "fechar", tooltip: "Fecha este tiddler"});merge(config.commands.closeOthers,{ text: "isolar", tooltip: "Fecha todos os outros tiddlers"});merge(config.commands.editTiddler,{ text: "editar", tooltip: "Edita este tiddler", readOnlyText: "ver", readOnlyTooltip: "Ver o conteudo deste tiddler"});merge(config.commands.saveTiddler,{ text: "guardar", tooltip: "Guarda as alteracoes a este tiddler"});merge(config.commands.cancelTiddler,{ text: "cancelar", tooltip: "Cancela as alteracoes a este tiddler", warning: "Tem a certeza que quer cancelar as alteracoes a %0?", readOnlyText: "voltar", readOnlyTooltip: "Ver este tiddler normalmente"});merge(config.commands.deleteTiddler,{ text: "eliminar", tooltip: "Elimina este tiddler", warning: "Tem a certeza que quer eliminar %0?"});merge(config.commands.permalink,{ text: "permaligacao", tooltip: "Permaligacao para este tiddler"});merge(config.commands.references,{ text: "referencias", tooltip: "Mostra tiddlers que ligam a este", popupNone: "Sem referencias"});merge(config.commands.jump,{ text: "saltar", tooltip: "Salta para outro tiddler aberto"});merge(config.commands.syncing,{ text: "sinc", tooltip: "Controla sincronizacao deste tiddler com um servidor ou ficheiro externo", currentlySyncing: "<div>Sincronizando via <span classpopupHighlight>%0</span> para:</"+"div><div>anfitriao: <span classpopupHighlight>%1</span></"+"div><div>espaco de trabalho: <span classpopupHighlight>%2</span></"+"div>", // Note escaping of closing <div> tag notCurrentlySyncing: "Sem sincronizacao", captionUnSync: "Parar sincronizacao deste tiddler", chooseServer: "Sincronizar este tiddler com outro servidor:", currServerMarker: "\u25cf ", notCurrServerMarker: " "});merge(config.commands.fields,{ text: "campos", tooltip: "Mostra os campos estendidos deste tiddler", emptyText: "Este tiddler nao tem campos estendidos", listViewTemplate: { columns: {name: Field, field: field, title: "Campo", type: String}, {name: Value, field: value, title: "Valor", type: String} , rowClasses: , buttons: }});merge(config.shadowTiddlers,{ DefaultTiddlers: "ComoIniciar", MainMenu: "ComoIniciar", ComoIniciar: "Para comecar a usar este TiddlyWiki vazio tera de modificar os seguintes tiddlers:\n* SiteTitle & SiteSubtitle: O te­tulo e o subte­tulo do site, como pode ver acima (depois de guardar as alteracoes, eles aparecerao tambem na barra de te­tulo do browser)\n* MainMenu: O menu (usualmente e esquerda)\n* DefaultTiddlers: Contem o nome dos tiddlers que pretende que aparecam quando o TiddlyWiki e aberto\nSera tambem necessario inserir o nome de utilizador que servira para assinar as edicoes: <<option txtUserName>>", SiteTitle: "O meu TiddlyWiki", SiteSubtitle: "um bloco de notas reutilizavel e nao-linear na web", SiteUrl: "", SideBarOptions: <<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal "DD MMM YYYY">><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "opcoes \u00bb" "Muda as opcoes avancadas do TiddlyWiki">>, OptionsPanel: "Estas opcoes de personalizacao do TiddlyWiki ficam guardadas no seu browser\n\nO seu nome de utilizador para assinar os textos. Use uma PalavraWiki (eg, JoseSilva)\n\n<<option txtUserName>>\n<<option chkSaveBackups>> GuardarSalvaguardas\n<<option chkAutoSave>> AutoGuardar\n<<option chkRegExpSearch>> ProcuraExpReg\n<<option chkCaseSensitiveSearch>> ProcuraSense­vMaiusc\n<<option chkAnimate>> ActivarAnimacoes\n\n----\nVeja as OpcoesAvancadas|AdvancedOptions", SideBarTabs: <<tabs txtMainTab "Data" "Tiddlers por ordem cronologica" TabTimeline "Te­tulo" "Tiddlers por ordem alfabetica" TabAll "Etiquetas" "Todas as etiquetas" TabTags "Mais" "Mais listas" TabMore>>, TabMore: <<tabs txtMoreTab "Em falta" "Tiddlers em falta" TabMoreMissing "e“rfaos" "Tiddlers sem ligacoes de outros tiddlers" TabMoreOrphans "Sombra" "Tiddlers na sombra" TabMoreShadowed>>, ToolbarCommands: "|~ViewToolbar|closeTiddler closeOthers +editTiddler > fields syncing permalink references jump|\n|~EditToolbar|+saveTiddler -cancelTiddler deleteTiddler|"});merge(config.annotations,{ AdvancedOptions: "Este tiddler sombra da acesso a varias opcoes avancadas", ColorPalette: "Estes valores neste tiddler sombra determinam o esquema de cores do interface de utilizador do ~TiddlyWiki", DefaultTiddlers: "Os tiddlers listados neste tiddler sombra serao automaticamente abertos no arranque do ~TiddlyWiki", EditTemplate: "O modelo em HTML neste tiddler sombra determina o aspecto dos tiddlers enquanto sao editados", ComoIniciar: "Este tiddler sombra fornece algumas instrucoes basicas de utilizacao", ImportTiddlers: "Este tiddler sombra da acesso e importacao de tiddlers", MainMenu: "Este tiddler sombra e usado como conteudo do menu principal na coluna da esquerda do ecran", MarkupPreHead: "Este tiddler e inserido no topo da seccao <head> do ficheiro TiddlyWiki", MarkupPostHead: "Este tiddler e inserido no fundo da seccao <head> do ficheiro TiddlyWiki", MarkupPreBody: "Este tiddler e inserido no topo da seccao <body> do ficheiro TiddlyWiki", MarkupPostBody: "Este tiddler e inserido no fim da seccao <head> do ficheiro TiddlyWiki immediatamente apos o bloco <script>", OptionsPanel: "Este tiddler sombra e usado como conteudo do painel deslizante de opcoes na barra lateral da direita", PageTemplate: "O modelo em HTML neste tiddler sombra determina o aspecto geral do ~TiddlyWiki", PluginManager: "Este tiddler sombra da acesso ao gestor de plugins", SideBarOptions: "Este tiddler sombra e usado como conteudo do painel de opcoes na barra lateral da direita", SideBarTabs: "Este tiddler sombra e usado como conteudo do painel de abas na barra lateral da direita", SiteSubtitle: "Este tiddler sombra e usado como a segunda parte do te­tulo da pagina", SiteTitle: "Este tiddler sombra e usado como a primeira parte do te­tulo da pagina", SiteUrl: "Este tiddler sombra deve conter o URL completo para publicacao", StyleSheetColors: "Este tiddler sombra contem definicoes CSS relacionadas com a cor dos elementos da pagina. NeÆ’O EDITE ESTE TIDDLER, em vez disso faca as suas alteracoes no tiddler sombra StyleSheet", StyleSheet: "Este tiddler pode conter definicoes CSS do utilizador", StyleSheetLayout: "Este tiddler sombra contem definicoes CSS relacionadas com a disposicao dos elementos da pagina. NeÆ’O EDITE ESTE TIDDLER, em vez disso faca as suas alteracoes no tiddler sombra StyleSheet", StyleSheetLocale: "Este tiddler sombra contem definicoes CSS relacionadas com traducoes", StyleSheetPrint: "Este tiddler sombra contem definicoes CSS relacionadas com a impressao", SystemSettings: "Este tiddler e usado para guardar opcoes de configuracao deste documento ~TiddlyWiki", TabAll: "Este tiddler sombra define o conteudo da aba Te­tulo na barra lateral da direita", TabMore: "Este tiddler sombra define o conteudo da aba Mais na barra lateral da direita", TabMoreMissing: "Este tiddler sombra define o conteudo da aba Em falta na barra lateral da direita", TabMoreOrphans: "Este tiddler sombra define o conteudo da aba e“rfaos na barra lateral da direita", TabMoreShadowed: "Este tiddler sombra define o conteudo da aba Sombra na barra lateral da direita", TabTags: "Este tiddler sombra define o conteudo da aba Etiquetas na barra lateral da direita", TabTimeline: "Este tiddler sombra define o conteudo da aba Data na barra lateral da direita", ToolbarCommands: "Este tiddler sombra determina quais os comandos que aparecem na barra de ferramentas dos tiddlers", ViewTemplate: "O modelo em HTML neste tiddler sombra determina o aspecto dos tiddlers" });delete config.shadowTiddlers.GettingStarted;/*}}}*//pre>/div>div titleProjetos modifierOSeuNome created201805271833 modified202005232141 tagsexcludeLists android changecount32 server.typefile server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.page.revision201805282300>pre>{{right{<<showPopup tiddler:Projetos##Texto label:TextoNovo width:500px popupClass:sticky>> . <<showPopup tiddler:Projetos##PDF label:UploadPDF width:500px popupClass:sticky>>}}}Um parte essencial do curso, é seu projeto pratico. Mostrando o eixo central da Permacultura, o planejamento. Projetos podem tomar varias formas, paisagistas, organizacional, criação cursos ou apresentações...... Projetos podem ser individual ou em consorcio com colegas na mesma escola ou comunidade.Aqui buscamos arrumar os documentos que voce produzira em suporte seu projeto.__Doc Existentes__<script>var lista""; var xmlHttp null; xmlHttp new XMLHttpRequest(); var discFile"Cursos/"+localStorage.curso+"/"+localStorage.username+"/Projeto/lista.txt"; xmlHttp.open( "GET",discFile, false); xmlHttp.send( null ); var indexListaxmlHttp.responseText;if(xmlHttp.status!200){indexLista"empty";}//return indexLista+"no"+xmlHttp.status;var tidsindexLista.split("#");for(i0;i<tids.length-1;i++){var detstidsi.split("|");dets3dets3.replace(".pdf","");var link"";if(dets3){link<script label"+dets3+">sessionStorage.item"+dets3+";sessionStorage.dir"Cursos/+localStorage.curso+/+localStorage.username+/Projeto";sessionStorage.tipo"pdf";if(sessionStorage.pdfdisplay"closed"){displayTiddler(true,"PDFDisplay");}if(sessionStorage.pdfdisplay"open"){story.refreshTiddler("PDFDisplay", null,true);}sessionStorage.pdfdisplay"open";</scri+pt>;}lista+__+dets1+__ ( +dets0+) +dets2+ - +link+<br>;}return lista;</script>/%!!PDF<html><nowiki><form enctype"multipart/form-data" action"http://www.unigaia-brasil.org/escolasResilientes/uploadFile.php" method"POST" targetresponseframe><input type"text" name "titulo" value"" style"width:200px;">Titulo Simples (sem espacos e sem acentos)<br><textarea name"comment" rows"6" cols"48" style"width:400px;"></textarea><br>Breve Descrição (opcional)<br><input typehidden name"username"><input typehidden name"escola"><input typehidden name"curso"><input typehidden name"when"><input type"file" name"fileToUpload" id"fileToUpload" style"width:200px;"><br><input type"submit" value"submit" onclick><br></form><iframe src"" name"responseframe" id"responseframe" marginheight0 style"display:block;border:0;padding:0;margin:0;width:100%;height:4em;"></iframe></html><script>var formplace.lastChild.getElementsByTagName(form)0;form.username.valuelocalStorage.username;form.escola.valuelocalStorage.escola;form.curso.valuelocalStorage.curso;var datenew Date();form.when.valuedate.formatString("YYYY-MM-DD");</script>!! Texto<html><nowiki><form action"addProjetoTexto.php" method"POST" targetresponseframe><input type"text" name "titulo" value"" style"width:200px;">Titulo Simples (sem espacos e sem acentos)<br><textarea name"comment" rows"18" cols"48" style"width:400px;"></textarea><br>Descrição<br><input typehidden name"username"><input typehidden name"escola"><input typehidden name"curso"><input typehidden name"when"><input type"submit" value"submit" onclick></form><iframe src"" name"responseframe" id"responseframe" marginheight0 style"display:block;border:0;padding:0;margin:0;width:100%;height:4em;"></iframe></html><script>var formplace.lastChild.getElementsByTagName(form)0;form.username.valuelocalStorage.username;form.escola.valuelocalStorage.escola;form.curso.valuelocalStorage.curso;var datenew Date();form.when.valuedate.formatString("YYYY-MM-DD");</script>!!end%//pre>/div>div titleRegSEDUC creatorOSeuNome modifierOSeuNome created202109102312 modified202402231717 changecount27>pre> <html><nowiki><form action"chkReg.php" method"POST" target"responseFrame"><input typetext namecurso value"">Curso<br><input typetext namefullname value"">Nome Completo<br><input typetext namecpf value"">CPF<br><input typetext nameusername value"">Nome Usuario por esse Curso<br><input typehidden namewhen value""><input typetext nameescola value""><br><input typetext namedisciplina value""><br><input typetext nameemail value"">Email<br><input typetext namewhatsapp value"">Whatsapp<br><input typesubmit value"Confirma Seus Detalhes" onclicklocalStorage.usernamethis.form.username.value;localStorage.emailthis.form.email.value;localStorage.cpfthis.form.cpf.value;localStorage.escolathis.form.escola.value;localStorage.whatsappthis.form.whatsapp.value;window.location.assign("http://www.unigaia-brasil.org/PDC/index.html#txtTema:CoverPage");></form><iframe src"" name"responseFrame" id"responseFrame" width500px height50px style"border:0;"></iframe></html><script>var formplace.lastChild.getElementsByTagName(form)0;form.curso.valuelocalStorage.curso;form.fullname.valuelocalStorage.fullname;form.cpf.valuelocalStorage.cpf;form.username.valuelocalStorage.username;form.escola.valuelocalStorage.escola;form.disciplina.valuelocalStorage.disciplina;form.email.valuelocalStorage.email;form.whatsapp.valuelocalStorage.whatsapp;</script>Nota:Porfavor confirmar que suas dados são certos. Onde necessario. Clicar "Confirma Seus Detalhes"..e o sistema redirecionar vocẽ por a pagina inicial da Plataforma Unigaia.Como nome usuario do curso, usamos seu nome e sobrenome (simples e sim acentos). Em caso que vocẽ é reconhecido por outro nome (muitas pessoas usam a segunda nome quando seu primeiro nome é mais comun), vocẽ podem digitar esse nome mais reconhecido, mas porfavor digitar esse nome em formato "NomePreferido_Sobrenome". Em caso que isso gera uma duplicação a dentro nosso sistema, vamos te avisa.<script label"??">var usernameprompt("nome do usurario");localStorage.usernameusername;var cpfprompt("seu CPF - 11 numeros");localStorage.cpfcpf;localStorage.curso"PDC_SEDUC_2021";return "voce esta tentando registrar como "+localStorage.username+ " - CPF:"+localStorage.cpf;</script>/pre>/div>div titleRegUDV creatorOSeuNome modifierOSeuNome created202109102322 modified202109102322 changecount2>pre><html><nowiki><form action"chkReg.php" method"POST" target"responseFrame"><input typetexxt namecurso value"">Curso<br><input typetext namefullname value"">Nome Completo<br><input typetext namecpf value"">CPF<br><input typetext name"username" value"">Nome Usuario por esse Curso<br><input typehidden namewhen value""><input typetext nameemail value"">Email<br><input typetext namewhatsapp value"">Whatsapp<br><input typesubmit value"Confirma Seus Detalhes" onclickwindow.location.assign("http://www.unigaia-brasil.org/PDC/index.html#txtTema:CoverPage");></form><iframe src"" name"responseFrame" id"responseFrame" width500px height50px style"border:0;"></iframe></html><script>var formplace.lastChild.getElementsByTagName(form)0;form.curso.valuelocalStorage.curso;form.fullname.valuelocalStorage.fullname;form.cpf.valuelocalStorage.cpf;form.username.valuelocalStorage.username;form.email.valuelocalStorage.email;form.whatsapp.valuelocalStorage.whatsapp;</script>Nota:Porfavor confirmar que suas dados são certos. Onde necessario. Clicar "Confirma Seus Detalhes"..e o sistema redirecionar vocẽ por a pagina inicial da Plataforma Unigaia.Como nome usuario do curso, usamos seu nome e sobrenome (simples e sim acentos). Em caso que vocẽ é reconhecido por outro nome (muitas pessoas usam a segunda nome quando seu primeiro nome é mais comun), vocẽ podem digitar esse nome mais reconhecido, mas porfavor digitar esse nome em formato "NomePreferido_Sobrenome". Em caso que isso gera uma duplicação a dentro nosso sistema, vamos te avisa./pre>/div>div titleRightHere creatorOSeuNome modifierOSeuNome created202004070029 modified202004070142 tagsexcludeLists formatting changecount43>pre>{{floatright{<script>/// $1 no items, $2width, $3tipo (img,youtube.... $4url do $3.........var item"";var lista"";var limit"$1";return limit;for(i1;ilimit;i++){itemi"$"+parseInt(i);}return item4;</script>}}}<<tiddler RightHere with: 6 300 img http://www.bbc.co.uk/staticarchive/e11416dac86f6d3a5ce40bf75f23f4f25fd89eb6.jpg img http://www.bbc.co.uk/staticarchive/e11416dac86f6d3a5ce40bf75f23f4f25fd89eb6.jpg>>for(i3;i<$1*2;i+2){item"$"+parseInt(i+1);url"$"+parseInt(i+2);return i+" item"+item+" url"+url;if(item"img"){return "found one";lista+"img("+$2+"px,auto)url";}}return "{{{"+lista+"}}}";/pre>/div>div titleSetIconPlugin creatorOSeuNome modifierOSeuNome created200805091124 modified201908291922 tagsexcludeLists systemConfig changecount1 server.typefile server.hosthttp://tiddlytools.com server.page.revision201110030355>pre>/***|Name|SetIconPlugin||Source|http://www.TiddlyTools.com/#SetIconPlugin||Documentation|http://www.TiddlyTools.com/#SetIconPluginInfo||Version|1.9.1||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.3||Type|plugin||Description|add an image to a toolbar, macro, or slider link|!!!!!Documentation>see SetIconPluginInfo!!!!!Configuration<<<<<option chkIconsShowImage>> show images on links<<option chkIconsShowText>> include link text with imagesdefault image style: {{stretch{<<option txtIconsCSS>>}}}<<<!!!!!Revisions<<<2011.10.02 1.9.1 use plain text instead of innerHTML for link tooltips2011.10.02 1.9.0 added find:... macro param (for use with tabsets)| see SetIconPluginInfo for additional revision details |2008.05.09 1.0.0 initial release (as inline script)<<<!!!!!Code***///{{{version.extensions.SetIconPlugin {major: 1, minor: 9, revision: 1, date: new Date(2011,10,2)};if (config.options.chkIconsShowImageundefined) config.options.chkIconsShowImagetrue;if (config.options.chkIconsShowTextundefined) config.options.chkIconsShowTexttrue;if (config.options.txtIconsCSSundefined) config.options.txtIconsCSS"vertical-align:middle;width:auto;height:auto";config.macros.setIcon { handler: function(place,macroName,params,wikifier,paramString,tiddler) { if (!config.options.chkIconsShowImage) return; // text-only - do nothing var srcparams0; if (!src) return; // no image src specified - do nothing var pparamString.parseParams(name,null,true,false,true); var labelgetParam(p,find); if (label) params.shift(); // optional find:"..." var cssparams1; if (!css||!css.length) cssconfig.options.txtIconsCSS; var afterparams2&¶ms2.toUpperCase()"RIGHT"; var notextparams2&¶ms2.toUpperCase()"NOTEXT"; // find nearest link element var btnplace.lastChild; // look for sibling link while (btn && (btn.nodeName!"A" || label&&!btn.innerHTML.startsWith(label))) btnbtn.previousSibling; if (!btn) { // look for child link var linksplace.getElementsByTagName("A"); for (var ilinks.length-1; i>0; i--) if (!label || linksi.innerHTML.startsWith(label)) { btnlinksi; break; } } if (!btn) { // look for parent link var btnplace.parentNode.lastChild; while (btn && (btn.nodeName!"A" || label&&!btn.innerHTML.startsWith(label))) btnbtn.previousSibling; } if (!btn) { // look for cousin link (e.g. TABS in TABSETS) var linksplace.parentNode.getElementsByTagName("A"); for (var ilinks.length-1; i>0; i--) if (!label || linksi.innerHTML.startsWith(label)) { btnlinksi; alert(found); break; } } if (!btn) return; // cant find a link - do nothing // set icon and command text/tip var txtbtn.innerHTML; var tipgetPlainText(btn); if (config.macros.attach && config.macros.attach.isAttachment(src)) srcconfig.macros.attach.getAttachment(src); // retrieve attachment (if any) btn.innerHTML"<img src"+src+" style"+css+">"; if (config.options.chkIconsShowText && !notext) btn.innerHTMLafter?txt+btn.innerHTML:btn.innerHTML+txt; else btn.titletip+" - "+btn.title; // add text to tooltip // adjust nested slider button text/tip if (btn.getAttribute("closedtext")!null) { btn.setAttribute("closedtext",btn.innerHTML); btn.setAttribute("openedtext",btn.innerHTML); if (!config.options.chkIconsShowText || notext) { btn.setAttribute("closedtip",txt.toUpperCase()+": "+btn.getAttribute("closedtip")); btn.setAttribute("openedtip",txt.toUpperCase()+": "+btn.getAttribute("openedtip")); } } }};//}}}/pre>/div>div titleShowPopupPlugin modifierOSeuNome created201105061548 modified201902180258 tagsexcludeLists systemConfig server.page.revision201902180258 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre>/***|Name|ShowPopupPlugin||Source|http://www.TiddlyTools.com/#ShowPopupPlugin||Version|2.1.1||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.1||Type|plugin||Description|display tiddler content in a TiddlyWiki popup panel|!!!!!Documenatation>see ShowPopupPluginInfo!!!!!Revisions<<<2011.03.13 2.1.1 in click(), removed check for popup already shown (prevents nested popups!)| Please see ShowPopupPluginInfo for previous revision details |2006.09.09 1.0.0 initial release (transclusion)<<<!!!!!Code***///{{{version.extensions.ShowPopupPlugin { major:2, minor:1, revision:1, date:new Date(2011,3,13) };config.macros.showPopup { tip: display "%0" in a popup, init: function() { config.shadowTiddlers.ShowPopup <<showPopup tiddler:$1 label:"$2" tip:"$3" buttonClass:"button $4" width:"$5" popupClass:"$6" "$7">>; config.annotations.ShowPopup created by ShowPopupPlugin; }, handler: function(place,macroName,params,wikifier,paramString,tiddler) { var pparamString.parseParams(name,null,true,false,true); var tidgetParam(p,tiddler,TiddlerName); var labelgetParam(p,label,tid); var tipgetParam(p,tip,this.tip.format(tid)); var buttonClassgetParam(p,buttonClass,); var widthgetParam(p,width,auto); var popupClassgetParam(p,popupClass,); var aboveparams.contains(above); var mouseoverparams.contains(mouseover); var bcreateTiddlyButton(place, label, tip, this.click, buttonClass, null, null, { tid:tid, popupClass:popupClass, width:width, above:above }); b.innerHTMLlabel; // render HTML for entities, images, etc if (mouseover) b.onmouseoverb.onclick; // option: mouseover triggers click }, click: function(ev) { var evev||window.event; // DISABLED if (Popup.find(this)!-1)return false; // popup already shown! var pPopup.create(this); if(!p)return false; // popup not created! addClass(p,this.getAttribute(popupClass)); var dcreateTiddlyElement(p,div); var sd.style; s.whiteSpacenormal; s.widththis.getAttribute(width); s.padding2px; wikify(store.getTiddlerText(this.getAttribute(tid),),d); if (this.getAttribute(above)!true) Popup.show(); else Popup.show(top,left,{x:0,y:-jQuery(d).outerHeight()}); ev.cancelBubbletrue; if(ev.stopPropagation)ev.stopPropagation(); return false; }}//}}}/pre>/div>div titleSideBarOptions modifierOSeuNome created201208262109 modified201902202150 tagsexcludeLists server.page.revision201808090146 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile changecount1>pre><<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal "DD MMM YYYY" "journal">><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "options »" "Change TiddlyWiki advanced options">>{{fourcolumns{<<tiddler SideBarTabs>>}}}/pre>/div>div titleSimpleMessagePlugin modifierOSeuNome created201012282040 modified201902180256 tagsexcludeLists systemConfig server.page.revision201902180256 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre>/***|Name|SimpleMessagePlugin||Version|0.1||Author|Michael Mahemoff, Osmosoft||License:|BSD open source license||~CoreVersion|2.2|***//*{{{*/(function() {if(!version.extensions.SimpleMessagePlugin) { version.extensions.SimpleMessagePlugin {installed:true}; version.extensions.SimpleMessagePlugin.delay 2000; var timer; var _displayMessage displayMessage; displayMessage function() { if (timer) { timernull; clearTimeout(timer); } timer setTimeout(clearMessage, version.extensions.SimpleMessagePlugin.delay); _displayMessage.apply(this, arguments); } var _clearMessage clearMessage; clearMessage function() { clearTimeout(timer); return _clearMessage.apply(this, arguments); }} // end of install only once})();/*}}}*//pre>/div>div titleSinglePageModePlugin modifierOSeuNome created200508151715 modified201806261722 tagsexcludeLists systemConfig server.page.revision201806261722 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre>/***|Name|SinglePageModePlugin||Source|http://www.TiddlyTools.com/#SinglePageModePlugin||Documentation|http://www.TiddlyTools.com/#SinglePageModePluginInfo||Version|2.9.7||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.1||Type|plugin||Description|Show tiddlers one at a time with automatic permalink, or always open tiddlers at top/bottom of page.|This plugin allows you to configure TiddlyWiki to navigate more like a traditional multipage web site with only one tiddler displayed at a time.!!!!!Documentation>see SinglePageModePluginInfo!!!!!Configuration<<<<<option chkSinglePageMode>> Display one tiddler at a time><<option chkSinglePagePermalink>> Automatically permalink current tiddler><<option chkSinglePageKeepFoldedTiddlers>> Dont close tiddlers that are folded><<option chkSinglePageKeepEditedTiddlers>> Dont close tiddlers that are being edited<<option chkTopOfPageMode>> Open tiddlers at the top of the page<<option chkBottomOfPageMode>> Open tiddlers at the bottom of the page<<option chkSinglePageAutoScroll>> Automatically scroll tiddler into view (if needed)Notes:* The "display one tiddler at a time" option can also be //temporarily// set/reset by including a paramifier in the document URL: {{{#SPM:true}}} or {{{#SPM:false}}}.* If more than one display mode is selected, one at a time display takes precedence over both top and bottom settings, and if one at a time setting is not used, top of page takes precedence over bottom of page.* When using Apples Safari browser, automatically setting the permalink causes an error and is disabled.<<<!!!!!Revisions<<<2010.11.30 2.9.7 use story.getTiddler()2008.10.17 2.9.6 changed chkSinglePageAutoScroll default to false| Please see SinglePageModePluginInfo for previous revision details |2005.08.15 1.0.0 Initial Release. Support for BACK/FORWARD buttons adapted from code developed by Clint Checketts.<<<!!!!!Code***///{{{version.extensions.SinglePageModePlugin {major: 2, minor: 9, revision: 7, date: new Date(2010,11,30)};//}}}//{{{config.paramifiers.SPM { onstart: function(v) { config.options.chkSinglePageModeeval(v); if (config.options.chkSinglePageMode && config.options.chkSinglePagePermalink && !config.browser.isSafari) { config.lastURL window.location.hash; if (!config.SPMTimer) config.SPMTimerwindow.setInterval(function() {checkLastURL();},1000); }} };//}}}//{{{if (config.options.chkSinglePageModeundefined) config.options.chkSinglePageModefalse;if (config.options.chkSinglePagePermalinkundefined) config.options.chkSinglePagePermalinktrue;if (config.options.chkSinglePageKeepFoldedTiddlersundefined) config.options.chkSinglePageKeepFoldedTiddlersfalse;if (config.options.chkSinglePageKeepEditedTiddlersundefined) config.options.chkSinglePageKeepEditedTiddlersfalse;if (config.options.chkTopOfPageModeundefined) config.options.chkTopOfPageModefalse;if (config.options.chkBottomOfPageModeundefined) config.options.chkBottomOfPageModefalse;if (config.options.chkSinglePageAutoScrollundefined) config.options.chkSinglePageAutoScrollfalse;//}}}//{{{config.SPMTimer 0;config.lastURL window.location.hash;function checkLastURL(){ if (!config.options.chkSinglePageMode) { window.clearInterval(config.SPMTimer); config.SPMTimer0; return; } if (config.lastURL window.location.hash) return; // no change in hash var tidsdecodeURIComponent(window.location.hash.substr(1)).readBracketedList(); if (tids.length1) // permalink (single tiddler in URL) story.displayTiddler(null,tids0); else { // restore permaview or default view config.lastURL window.location.hash; if (!tids.length) tidsstore.getTiddlerText("DefaultTiddlers").readBracketedList(); story.closeAllTiddlers(); story.displayTiddlers(null,tids); }}if (Story.prototype.SPM_coreDisplayTiddlerundefined) Story.prototype.SPM_coreDisplayTiddlerStory.prototype.displayTiddler;Story.prototype.displayTiddler function(srcElement,tiddler,template,animate,slowly){ var title(tiddler instanceof Tiddler)?tiddler.title:tiddler; var tiddlerElemstory.getTiddler(title); // null unless tiddler is already displayed var optconfig.options; var singleopt.chkSinglePageMode && !startingUp; var topopt.chkTopOfPageMode && !startingUp; var bottomopt.chkBottomOfPageMode && !startingUp; if (single) { story.forEachTiddler(function(tid,elem) { // skip current tiddler and, optionally, tiddlers that are folded. if ( tidtitle || (opt.chkSinglePageKeepFoldedTiddlers && elem.getAttribute("folded")"true")) return; // if a tiddler is being edited, ask before closing if (elem.getAttribute("dirty")"true") { if (opt.chkSinglePageKeepEditedTiddlers) return; // if tiddler to be displayed is already shown, then leave active tiddler editor as is // (occurs when switching between view and edit modes) if (tiddlerElem) return; // otherwise, ask for permission var msg""+tid+" is currently being edited.nn"; msg+"Press OK to save and close this tiddlernor press Cancel to leave it opened"; if (!confirm(msg)) return; else story.saveTiddler(tid); } story.closeTiddler(tid); }); } else if (top) arguments0null; else if (bottom) arguments0"bottom"; if (single && opt.chkSinglePagePermalink && !config.browser.isSafari) { window.location.hash encodeURIComponent(String.encodeTiddlyLink(title)); config.lastURL window.location.hash; document.title wikifyPlain("SiteTitle") + " - " + title; if (!config.SPMTimer) config.SPMTimerwindow.setInterval(function() {checkLastURL();},1000); } if (tiddlerElem && tiddlerElem.getAttribute("dirty")"true") { // editing... move tiddler without re-rendering var isTopTiddler(tiddlerElem.previousSiblingnull); if (!isTopTiddler && (single || top)) tiddlerElem.parentNode.insertBefore(tiddlerElem,tiddlerElem.parentNode.firstChild); else if (bottom) tiddlerElem.parentNode.insertBefore(tiddlerElem,null); else this.SPM_coreDisplayTiddler.apply(this,arguments); // let CORE render tiddler } else this.SPM_coreDisplayTiddler.apply(this,arguments); // let CORE render tiddler var tiddlerElemstory.getTiddler(title); if (tiddlerElem&&opt.chkSinglePageAutoScroll) { // scroll to top of page or top of tiddler var isTopTiddler(tiddlerElem.previousSiblingnull); var yPosisTopTiddler?0:ensureVisible(tiddlerElem); // if animating, defer scroll until after animation completes var delayopt.chkAnimate?config.animDuration+10:0; setTimeout("window.scrollTo(0,"+yPos+")",delay); }}if (Story.prototype.SPM_coreDisplayTiddlersundefined) Story.prototype.SPM_coreDisplayTiddlersStory.prototype.displayTiddlers;Story.prototype.displayTiddlers function() { // suspend single/top/bottom modes when showing multiple tiddlers var optconfig.options; var saveSPMopt.chkSinglePageMode; opt.chkSinglePageModefalse; var saveTPMopt.chkTopOfPageMode; opt.chkTopOfPageModefalse; var saveBPMopt.chkBottomOfPageMode; opt.chkBottomOfPageModefalse; this.SPM_coreDisplayTiddlers.apply(this,arguments); opt.chkBottomOfPageModesaveBPM; opt.chkTopOfPageModesaveTPM; opt.chkSinglePageModesaveSPM;}//}}}/pre>/div>div titleStartHere creatorYourName modifierOSeuNome created201606150012 modified202406112244 tagsnoTitle server.typefile server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.page.revision201909160126 changecount127>pre><script>sessionStorage.Nine"start";config.refreshers.content(document.getElementById("nine"));</script>/pre>/div>div titleStaticLocation creatorOSeuNome modifierOSeuNome created202005250317 modified202005250405 tagsexcludeLists noTitle changecount6>pre>/pre>/div>div titleStickyPopupPlugin modifierOSeuNome created201105061550 modified201902180257 tagsexcludeLists systemConfig server.page.revision201902180257 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre>/***|Name|StickyPopupPlugin||Source|http://www.TiddlyTools.com/#StickyPopupPlugin||Version|1.0.1||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.1||Type|plugin||Description|allow mouse interactions inside popups without automatically closing them|Usually, when a TW popup is displayed, it is automatically closed whenever a click occurs //anywhere// in the document, either //inside// or //outside// the popup itself. This plugin makes popups persistent (a.k.a, "sticky"), allowing you to perform multiple mouse interactions on content //inside// the popup (e.g., entering form fields, opening links, selecting text, etc.), remaining visible until you click //outside// the popup or perform an action that opens another popup (only one popup can be displayed at any given time).!!!!!Configuration<<<You can cause popups to behave in a persistent ("sticky") manner simply by selecting the option checkbox below. The selected popup display behavior will be applied to ALL popups in the document automatically.><<option chkStickyPopups>> make all popups "sticky">{{{usage: <<option chkStickyPopups>>}}}<<<!!!!!Usage<<<If you are developing your own plugins or inline scripts that create popups programmatically using the core function:{{{Popup.create(this)}}}you can provide additional parameters that specify the desired CSS classname(s) to assign to the popup DOM element. The default class when none is specified is simply "popup". To create a //sticky// popup, simply enter a custom class combination like this:{{{Popup.create(this,null,"sticky popup")}}}<<<!!!!!Revisions<<<2008.05.16 1.0.1 added try..catch around addEvent/removeEvent calls to avoid error in Opera2007.11.25 1.0.0 initial release - moved from CoreTweaks<<<!!!!!Code***///{{{version.extensions.StickyPopupPlugin {major: 1, minor: 0, revision: 1, date: new Date(2008,5,16)};if (config.options.chkStickyPopupsundefined) config.options.chkStickyPopupsfalse;Popup.stickyPopup_onDocumentClick function(ev){ // if click is in a sticky popup, ignore it so popup will remain visible var e ev ? ev : window.event; var target resolveTarget(e); var ptarget; while (p) { if (hasClass(p,"popup") && (hasClass(p,"sticky")||config.options.chkStickyPopups)) break; else pp.parentNode; } if (!p) // not in sticky popup (or sticky popups disabled)... use normal click handling Popup.onDocumentClick(ev); return true;};try{removeEvent(document,"click",Popup.onDocumentClick);}catch(e){};try{addEvent(document,"click",Popup.stickyPopup_onDocumentClick);}catch(e){};//}}}/pre>/div>div titleStyleSheet modifierOSeuNome created201304200113 modified202406112207 tagsexcludeLists noTitle server.page.revision202003290151 server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.typefile changecount495>pre>body { background-color:#C4F6F8;font-family: Helvetica; color:#024D51;}#contentWrapper a:link, a:visited, a:active {text-decoration: bold; color:#1A7074; background-color: transparent; }#contentWrapper a:hover {text-decoration: none; color:#10585C; background-color: ColorB1; }#contentWrapper .button {background-color: transparent; border-color: ColorS2; border-width: 0px;}#contentWrapper .button:hover {background-color: ColorB1; border-width: 0px;}#contentWrapper {border:0; color:maroon;margin:0 auto;color:#052224;}#contentWrapper{width:1000px;height:800px;background-color:#C4F6F8;}#staticLocation{position:static;left:10px;top:30px;width:1px;height:1px;background-color:yellow;}#mainHead {position:relative;left:0px; height:80px;width:1000px;background-color:transparent;}#one {position:relative; top:-30px;left:0px;height:600px;width:500px; opacity:0.8; z-index:10; background_color:red;}#nine {position:relative;left:510px;top:-630px;height:600px;width:490px;z-index:25; opacity:0.8;background-color:lightyellow;}#login {position:relative;left:300px;top:-1150px;height:10px;width:10px;z-index:35; background-color:transparent;}#displayArea {position:relative; top:-560px; left:-180px;width:500px;height:600px;z-index:20;}.header { background-color: #edead5; height: 50px;left:150px; top:-50px;}.tiddlyLinkExisting .tiddlyLink {color:red;}.externalLink {color:red;} .viewer img{margin-right:10px;}.viewer {text-align: left; width: 100%; height:100%;padding: 0.5em 20px 0em .5em;z-index:30;}/*.viewer h1, h2, h3, h4 {color: ColorT1; background-color: transparent; font-weight: bold; font-style: italic; padding: 0em 0em 0em 0em; margin: 0em 0em 0em 0em; display: block;}/*.viewer h1 {font-sytle: normal; font-variant: small-caps; background-color: ColorB1;}/*.viewer img {width: 95%; margin: 0em 20px 0em 20px;}/*.title {font-weight: normal; color: ColorT3; display: inline; padding: 0.2em 1em 1em 0.25em; border-style: solid; border-width: 1px 0px 0px 1px; border-padding: 0em 0em 0em 0em; border-color: ColorT3; }*/.toolbar {color:#BF2323; border-bottom:1px solid#BF2323; }/*.subtitle {display: none; padding: 0em 0em 0em 3em; }*/.editor {padding: 0.75em 0em 0em 2em; height: 550% ; line-height: 100%; }.editor textarea {height: 40em; }.title {font-size:10pt;font-weight:bold;}.popup {background-color:springgreen; color:brown; width:auto; height:auto;border-style:solid;border-radius:1em;padding:5px 5px 5px 5px;}.popup a:link {color:blue;font-weight:bold;border-width:0px;}.popupInfo {background-color:beige; color:brown; width:auto; height:auto;border-style:solid;border-radius:1em;padding:5px 5px 5px 5px;}.yellow {background-color:yellow; color:brown; width:auto; height:auto;border-style:solid;border-radius:0.1em;padding:1px 5px 5px 1px;}.palegreen {background-color:palegreen; color:deepgreen; width:auto; height:auto;border-style:solid;border-radius:0.1em;padding:1px 5px 5px 1px;}.sandybrown {background-color:sandybrown; color:beige; width:auto; height:auto;border-style:solid;border-radius:1em;padding:5px 5px 5px 5px;}.orange {color:orange; width:auto; height:auto;border-style:none;border-radius:1em;padding:5px 5px 5px 5px;}.brown {background-color:orange; color:blown; width:auto; height:auto;border-style:solid;border-radius:1em;padding:5px 5px 5px 5px;}.black {color:black; width:auto; height:auto;border-style:none;border-radius:1em;padding:5px 5px 5px 5px;}/* IE fix */body {position:static;}.tagClear{margin-top:1em;clear:both;}#messageArea {background-color: ColorB1; position: absolute; top: 0; right: 0; }#backstageButton a{background:none;color:transparent;}#backstageButton a:link{background:none;color:transparent;}.breadCrumbs a {border: 1px solid; padding: 0px 1em; -moz-border-radius-topleft:.5em; -moz-border-radius-topright:.5em; -webkit-border-top-left-radius:.5em; -webkit-border-top-right-radius:.5em;}.foto1{position:relative;top:0px;left:0px;width:600px;height:400px;border-width:1px 3px 3px 1px;border-radius: .1em;z-index:30;}.foto2{position:relative;top:-450px;left:0px;width:600px;height:400px;border-width:1px 3px 3px 1px;border-radius: .1em;z-index:31;opacity:0.8;}.foto3{position:relative;top:-900px;left:0px;width:600px;height:400px;border-width:1px 3px 3px 1px;border-radius: .1em;z-index:32;opacity:0.8;}StyleSheetShortcuts/pre>/div>div titleStyleSheetLayout creatorOSeuNome modifierOSeuNome created201908281819 modified202005240052 tagsexcludeLists sistem changecount2 server.typefile server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.page.revision201912070152>pre>/*{{{*/* html .tiddler {height:1%;}body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}h4,h5,h6 {margin-top:1em;}h1 {font-size:1.35em;}h2 {font-size:1.25em;}h3 {font-size:1.1em;}h4 {font-size:1em;}h5 {font-size:.9em;}hr {height:1px;}a {text-decoration:none;}dt {font-weight:bold;}ol {list-style-type:decimal;}ol ol {list-style-type:lower-alpha;}ol ol ol {list-style-type:lower-roman;}ol ol ol ol {list-style-type:decimal;}ol ol ol ol ol {list-style-type:lower-alpha;}ol ol ol ol ol ol {list-style-type:lower-roman;}ol ol ol ol ol ol ol {list-style-type:decimal;}.txtOptionInput {width:11em;}#contentWrapper .chkOptionInput {border:0;}.externalLink {text-decoration:underline;}.indent {margin-left:3em;}.outdent {margin-left:3em; text-indent:-3em;}code.escaped {white-space:nowrap;}.tiddlyLinkExisting {font-weight:bold;}.tiddlyLinkNonExisting {font-style:italic;}/* the a is required for IE, otherwise it renders the whole tiddler in bold */a.tiddlyLinkNonExisting.shadow {font-weight:bold;}#mainMenu .tiddlyLinkExisting, #mainMenu .tiddlyLinkNonExisting, #sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}.header {position:relative;}.header a:hover {background:transparent;}.headerShadow {position:relative; padding:4.5em 0 1em 1em; left:-1px; top:-1px;}.headerForeground {position:absolute; padding:4.5em 0 1em 1em; left:0; top:0;}.siteTitle {font-size:3em;}.siteSubtitle {font-size:1.2em;}#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}#sidebarOptions {padding-top:0.3em;}#sidebarOptions a {margin:0 0.2em; padding:0.2em 0.3em; display:block;}#sidebarOptions input {margin:0.4em 0.5em;}#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}#sidebarOptions .sliderPanel input {margin:0 0 0.3em 0;}#sidebarTabs .tabContents {width:15em; overflow:hidden;}.wizard {padding:0.1em 1em 0 2em;}.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}.wizardStep {padding:1em 1em 1em 1em;}.wizard .button {margin:0.5em 0 0; font-size:1.2em;}.wizardFooter {padding:0.8em 0.4em 0.8em 0;}.wizardFooter .status {padding:0 0.4em; margin-left:1em;}.wizard .button {padding:0.1em 0.2em;}#messageArea {position:fixed; top:2em; right:0; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}.messageToolbar {display:block; text-align:right; padding:0.2em;}#messageArea a {text-decoration:underline;}.tiddlerPopupButton {padding:0.2em;}.popupTiddler {position: absolute; z-index:300; padding:1em; margin:0;}.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}.popup .popupMessage {padding:0.4em;}.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0;}.popup li.disabled {padding:0.4em;}.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}.listBreak {font-size:1px; line-height:1px;}.listBreak div {margin:2px 0;}.tabset {padding:1em 0 0 0.5em;}.tab {margin:0 0 0 0.25em; padding:2px;}.tabContents {padding:0.5em;}.tabContents ul, .tabContents ol {margin:0; padding:0;}.txtMainTab .tabContents li {list-style:none;}.tabContents li.listLink { margin-left:.75em;}#contentWrapper {display:block;}#splashScreen {display:none;}#displayArea {margin:1em 17em 0 14em;}.toolbar {text-align:right; font-size:.9em;}//.tiddler {padding:1em 1em 0;}.tiddler {padding:0em 1em 0;}.missing .viewer,.missing .title {font-style:italic;}.title {font-size:1.6em; font-weight:bold;}.missing .subtitle {display:none;}.subtitle {font-size:1.1em;}.tiddler .button {padding:0.2em 0.4em;}.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}.isTag .tagging {display:block;}.tagged {margin:0.5em; float:right;}.tagging, .tagged {font-size:0.9em; padding:0.25em;}.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}.tagClear {clear:both;}.footer {font-size:.9em;}.footer li {display:inline;}.annotation {padding:0.5em; margin:0.5em;}* html .viewer pre {width:99%; padding:0 0 1em 0;}.viewer {line-height:1.4em; padding-top:0.5em;}.viewer .button {margin:0 0.25em; padding:0 0.25em;}.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}table.listView {font-size:0.85em; margin:0.8em 1.0em;}table.listView th, table.listView td, table.listView tr {padding:0 3px 0 3px;}.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}.viewer code {font-size:1.2em; line-height:1.4em;}.editor {font-size:1.1em;}.editor input, .editor textarea {display:block; width:100%; font:inherit;}.editorFooter {padding:0.25em 0; font-size:.9em;}.editorFooter .button {padding-top:0; padding-bottom:0;}.fieldsetFix {border:0; padding:0; margin:1px 0px;}.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}.zoomer div {padding:1em;}* html #backstage {width:99%;}* html #backstageArea {width:99%;}#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em;}#backstageToolbar {position:relative;}#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}#backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}#backstageButton a {padding:0.1em 0.4em; margin:0.1em;}#backstage {position:relative; width:100%; z-index:50;}#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}.backstagePanelFooter {padding-top:0.2em; float:right;}.backstagePanelFooter a {padding:0.2em 0.4em;}#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}.whenBackstage {display:none;}.backstageVisible .whenBackstage {display:block;}/*}}}*//pre>/div>div titleStyleSheetShortcuts modifierOSeuNome created201304200139 modified202406112207 tagsexcludeLists formatting core autosave android server.page.revision202003271627 server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.typefile changecount56>pre>/***|Name|StyleSheetShortcuts||Source|http://www.TiddlyTools.com/#StyleSheetShortcuts||Version|||Author|Eric Shulman - ELS Design Studios||License|http://www.TiddlyTools.com/#LegalStatements <br>and Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/||~CoreVersion|2.1||Type|CSS||Requires|||Overrides|||Description|convenience classes for common formatting, alignment, boxes, tables, etc.|These style tweaks can be easily included in other stylesheet tiddler so they can share a baseline look-and-feel that can then be customized to create a wide variety of flavors.***//*{{{*//* text alignments */.left { display:block;text-align:left; }.center { display:block;text-align:center;z-indez:2; }.right { display:block;text-align:right; }.justify { display:block;text-align:justify; }.indent { display:block;margin:0;padding:0;border:0;margin-left:2em; }.floatleft { float:left; }.floatright { float:right; }.valignTop, .valignTop table, .valignTop tbody, .valignTop th, .valignTop tr, .valignTop td { vertical-align:top; }.valignBottom, .valignBottom table, .valignBottom tbody, .valignBottom th, .valignBottom tr, .valignBottom td { vertical-align:bottom; }.clear { clear:both; }.wrap { white-space:normal; }.nowrap { white-space:nowrap; }.hidden { display:none; }.show { display:inline !important; }.span { display:span; }.block { display:block; }.relative { position:relative; }.absolute { position:absolute; }.vertical {-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg); -o-transform: rotate(270deg);}/* font sizes */.grand { font-size:24pt;line-height:150%;font-weight:bold; font-family:Tahoma, sans-serif;}.large { font-size:18pt;line-height:120%;font-weight:bold; }.big { font-size:14pt;line-height:110% }.medium { font-size:12pt;line-height:110% }.normal { font-size:9pt;line-height:120% }.small { font-size:8pt;line-height:120% }.fine { font-size:7pt;line-height:120% }.tiny { font-size:6pt;line-height:120% }.larger { font-size:120%; }.smaller { font-size:80%; }.blink {text-decoration:blink;}/* font styles */.bold { font-weight:bold; }.italic { font-style:italic; }.underline { text-decoration:underline; }/* plain list items (no bullets or indent) */.nobullets li { list-style-type: none; margin-left:-2em; }/* multi-column tiddler content (not supported in Internet Explorer) */.twocolumns { display:block; -moz-column-count:2; -moz-column-gap:1em; -moz-column-width:50%; /* FireFox */ -webkit-column-count:2; -webkit-column-gap:1em; -webkit-column-width:50%; /* Safari */ column-count:2; column-gap:1em; column-width:50%; /* Opera */}.threecolumns { display:block; -moz-column-count:3; -moz-column-gap:1em; -moz-column-width:33%; /* FireFox */ -webkit-column-count:3; -webkit-column-gap:1em; -webkit-column-width:33%; /* Safari */ column-count:3; column-gap:1em; column-width:33%; /* Opera */}.fourcolumns { display:block; -moz-column-count:4; -moz-column-gap:1em; -moz-column-width:25%; /* FireFox */ -webkit-column-count:4; -webkit-column-gap:1em; -webkit-column-width:25%; /* Safari */ column-count:4; column-gap:1em; column-width:25%; /* Opera */}.fivecolumns { display:block; -moz-column-count:5; -moz-column-gap:1em; -moz-column-width:20%; /* FireFox */ -webkit-column-count:5; -webkit-column-gap:1em; -webkit-column-width:20%; /* Safari */ column-count:5; column-gap:1em; column-width:20%; /* Opera */}/* show/hide browser-specific content for InternetExplorer vs. non-IE ("moz") browsers */*class"ieOnly" { display:none; } /* hide in moz (uses CSS selector) */* html .mozOnly, *:first-child+html .mozOnly { display: none; } /* hide in IE (uses IE6/IE7 CSS hacks) *//* borderless tables */.borderless, .borderless table, .borderless td, .borderless tr, .borderless th, .borderless tbody { border:0 !important; margin:0 !important; padding:0 !important; }.widetable, .widetable table { width:100%; }/* thumbnail images (fixed-sized scaled images) */.thumbnail img { height:5em !important; }/* stretchable images (auto-size to fit tiddler) */.stretch img { width:95%; }/* grouped content */.outline { display:block; padding:5px; border:1px solid; background-color:beige; }.outlineDiscuss { display:block; padding:5px; border:1px solid; background-color:beige;width:300px;height:200px; }.menubox { display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; border:1px solid; background:#fff; color:#000; }.menubox .button, .menubox .tiddlyLinkExisting, .menubox .tiddlyLinkNonExisting { color:#009 !important; }.groupbox { display:block; padding:2px; border-style:solid;border-color:#996633;border-width:1px 3px 1px 3px;border-radius: 1em; background: -webkit-gradient(linear, left top, left bottom, from(DashBoard::top), to(DashBoard::button)); background: -moz-linear-gradient(top, DashBoard::top, DashBoard::button);color:#000; }.bookmarklet{padding:2px; border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color:bisque; }.apresenta{padding:2px; border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color:bisque; }.dropdown{padding:2px; border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color:azure; }.materia{padding:2px; border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color:gold; }.openWindow{padding:2px; border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color:lightgrey; }.mini{display:line;padding:2px; border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color: ivory;width:50px; }.mini:hover{display:line;padding:2px; border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color: #00e6e6;width:50px; }.blockMedium{display:block;padding:2px; border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color:lightyellow;width:400px; }.block500{display:block;padding:2px; border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color:#d1f8fa;width:500px; opacity:0.9;}.block9{display:block;padding:2px; border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color:#d1f8fa;width:480px; height:600px;opacity:0.9;}.login{display:block;padding:2px;border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color:lightgreen;width:500px; height:500px;opacity:0.95;}.groupbox a, .groupbox .button, .groupbox .tiddlyLinkExisting, .groupbox .tiddlyLinkNonExisting { color:#009 !important; }.groupbox code { color:#333 !important; }.borderleft { margin:0;padding:0;border:0;margin-left:1em; border-left:1px dotted; padding-left:.5em; }.borderright { margin:0;padding:0;border:0;margin-right:1em; border-right:1px dotted; padding-right:.5em; }.borderbottom { margin:0;padding:1px 0;border:0;border-bottom:1px dotted; margin-bottom:1px; padding-bottom:1px; }.bordertop { margin:0;padding:0;border:0;border-top:1px dotted; margin-top:1px; padding-top:1px; }/* compact form */.smallform { white-space:nowrap; }.smallform input, .smallform textarea, .smallform button, .smallform checkbox, .smallform radio, .smallform select { font-size:8pt; }/* stretchable edit fields and textareas (auto-size to fit tiddler) */.stretch input { width:99%; }.stretch textarea { width:99%; }/* compact input fields (limited to a few characters for entering percentages and other small values) */.onechar input { width:1em; }.twochar input { width:2em; }.threechar input { width:3em; }.fourchar input { width:4em; }.fivechar input { width:5em; }/* text colors */.green { color:#0c0 !important }.red { color:#f66 !important }.blue { color:#99f !important }.gray { color:#999 !important }/* rollover highlighting */.mouseover {color:ColorPalette::TertiaryLight !important;}.mouseover a {color:ColorPalette::TertiaryLight !important;}.selected .mouseover {color:ColorPalette::Foreground !important;}.selected .mouseover .button, .selected .mouseover a {color:ColorPalette::PrimaryDark !important;}/* rollover zoom text */.zoomover { font-size:80% !important; }.selected .zoomover { font-size:100% !important; }/*}}}*//pre>/div>div titleTaggedTemplateTweak modifierOSeuNome created201902171846 tagsexcludeLists systemConfig server.typefile server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.page.revision201902171846>pre>/***|Name|TaggedTemplateTweak||Source|http://www.TiddlyTools.com/#TaggedTemplateTweak||Documentation|http://www.TiddlyTools.com/#TaggedTemplateTweakInfo||Version|1.6.1||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.1||Type|plugin||Description|use alternative ViewTemplate/EditTemplate for specific tiddlers|This plugin extends the core function, story.chooseTemplateForTiddler(), so that any given tiddler can be viewed and/or edited using alternatives to the standard tiddler templates.!!!!!Documentation>see TaggedTemplateTweakInfo!!!!!Revisions<<<2009.09.02 1.6.1 apply field-based template (if any) *before* tag-based template| please see TaggedTemplateTweakInfo for previous revision details |2007.06.11 1.0.0 initial release<<<!!!!!Code***///{{{version.extensions.TaggedTemplateTweak {major: 1, minor: 6, revision: 1, date: new Date(2009,9,2)};if (!config.options.txtTemplateTweakFieldname) config.options.txtTemplateTweakFieldnametemplate;Story.prototype.taggedTemplate_chooseTemplateForTiddler Story.prototype.chooseTemplateForTiddlerStory.prototype.chooseTemplateForTiddler function(title,template){ // get core template and split into theme and template name var coreTemplatethis.taggedTemplate_chooseTemplateForTiddler.apply(this,arguments); var theme""; var templatecoreTemplate; var partstemplate.split(config.textPrimitives.sectionSeparator); if (parts1) { themeparts0; templateparts1; } else themeconfig.options.txtTheme||""; // if theme is not specified theme+config.textPrimitives.sectionSeparator; // look for template using title as prefix if (!store.getTaggedTiddlers(title).length) { // if tiddler is not a tag if (store.getTiddlerText(theme+title+template)) { return theme+title+template; } // theme##TitleTemplate if (store.getTiddlerText(title+template)) { return title+template; } // TitleTemplate } // look for templates using custom field value as prefix var vstore.getValue(title,config.options.txtTemplateTweakFieldname); if (store.getTiddlerText(theme+v+template)) { return theme+v+template; } // theme##valueTemplate if (store.getTiddlerText(v+template)) { return v+template; } // valueTemplate // look for template using tags as prefix var tiddlerstore.getTiddler(title); if (!tiddler) return coreTemplate; // tiddler doesnt exist... use core result for (i0; i<tiddler.tags.length; i++) { var ttiddler.tagsi+template; // add tag prefix to template var ct.substr(0,1).toUpperCase()+t.substr(1); // capitalized for WikiWord title if (store.getTiddlerText(theme+t)) { return theme+t; } // theme##tagTemplate if (store.getTiddlerText(theme+c)) { return theme+c; } // theme##TagTemplate if (store.getTiddlerText(t)) { return t; } // tagTemplate if (store.getTiddlerText(c)) { return c; } // TagTemplate } // no match... use core result return coreTemplate;}//}}}/pre>/div>div titleThree creatorOSeuNome modifierOSeuNome created202005240159 modified202406112025 changecount30>pre>/pre>/div>div titleThumbThing creatorOSeuNome modifierOSeuNome created200905241650 modified201902202052 tagsexcludeLists changecount2 server.page.revision200909120140 server.hosthttp://tiddlytools.com server.typefile>pre>/%!info|Name|ThumbThing||Source|http://www.TiddlyTools.com/#ThumbThing||Version|1.2.0||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.1||Type|transclusion||Description|display a scaled thumbnail image with popup for full-sized image|Usage:<<<{{{<<tiddler ThumbThing with: image thumbWidth thumbHeight fullWidth fullHeight>>}}}*{{{image}}} is one of:**a local path/file**a remote URL reference**the title of a tiddler containing an attached image (see AttachFilePlugin)*{{{thumbWidth, thumbHeight, fullWidth, fullHeight}}} are CSS measurements. Use auto (or omit values) for default (full-sized) image height and/or width. For proportional scaling, specify a fixed-width OR fixed-height and use auto for the other dimension.<<<Example:<<<{{{<<tiddler ThumbThing with: images/meow2.jpg 100px>>}}}<<tiddler ThumbThing with: images/meow2.jpg 100px>><<<See also:>AllThumbs!end!show<html><hide linebreaks><img src"$1" style"border0;width:$2;height:$3;" title"$1" onclick" var pPopup.create(this); if (!p) return; var sp.style; s.borders.padding0; s.backgroundnone; p.innerHTML<img src\x22$1\x22 style\x22border:1px solid #999;background:#eee;width:$4;height:$5\x22>; Popup.show(); event.cancelBubbletrue; if(event.stopPropagation)event.stopPropagation(); return(false);"></html>!end%/<<tiddler {{ThumbThing##+($1$+1?info:show)}} with: {{var cmaconfig.macros.attach; (cma&&cma.isAttachment($1))?cma.getAttachment($1):$1;}} $2 $3 $4 $5>>/pre>/div>div titleTiddlerTweakerPlugin creatorYourName modifierYourName created202004120428 modified202004120455 tagssystemConfig support excludeLists changecount2>pre>/***|Name|TiddlerTweakerPlugin||Source|http://www.TiddlyTools.com/#TiddlerTweakerPlugin||Version|2.4.5||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.1||Type|plugin||Description|select multiple tiddlers and modify author, created, modified and/or tag values|~TiddlerTweaker is a power tool for TiddlyWiki authors. Select multiple tiddlers from a listbox and bulk modify the creator, author, created, modified and/or tag values of those tiddlers using a compact set of form fields. The values you enter into the fields simultaneously overwrite the existing values in all tiddlers you have selected.!!!!!Usage<<<{{{<<tiddlerTweaker>>}}}{{smallform{<<tiddlerTweaker>>}}}By default, any tags you enter into the TiddlerTweaker will //replace// the existing tags in all the tiddlers you have selected. However, you can also use TiddlerTweaker to quickly filter specified tags from the selected tiddlers, while leaving any other tags assigned to those tiddlers unchanged:>Any tag preceded by a + (plus) or - (minus), will be added or removed from the existing tags //instead of replacing the entire tag definition// of each tiddler (e.g., enter -excludeLists to remove that tag from all selected tiddlers. When using this syntax, care should be taken to ensure that //every// tag is preceded by + or -, to avoid inadvertently overwriting any other existing tags on the selected tiddlers. (note: the + or - prefix on each tag value is NOT part of the tag value, and is only used by TiddlerTweaker to control how that tag value is processed)Important Notes:* TiddlerTweaker is a power user tool that can make changes to many tiddlers at once. You should always have a recent backup of your document (or save changes just *before* tweaking the tiddlers), just in case you accidentally shoot yourself in the foot.* The date and author information on any tiddlers you tweak will ONLY be updated if the corresponding checkboxes have been selected. As a general rule, after using TiddlerTweaker, always //remember to save your document// when you are done, even though the tiddler timeline tab may not show any recently modified tiddlers.* Selecting and updating all tiddlers in a document can take a while. Your browser may warn about an unresponsive script. Usually, if you allow it to continue, it should complete the processing... eventually. Nonetheless, be sure to save your work before you begin tweaking lots of tiddlers, just in case something does get stuck.<<<!!!!!Revisions<<<2011.01.21 2.4.5 auto-selection: use "-" for untagged tiddlers. Also, added opened, invert2009.09.15 2.4.4 added edit button. moved html definition to separate section2009.09.13 2.4.3 in settiddlers(), convert backslashed chars (\n\b\s\t) in replacement text2009.06.26 2.4.2 only add brackets around tags containing spaces2009.06.22 2.4.1 in setFields(), add brackets around all tags shown tweaker edit field2009.03.30 2.4.0 added sort by modifier2009.01.22 2.3.0 added support for text pattern find/replace2008.10.27 2.2.3 in setTiddlers(), fixed Safari bug by replacing static Array.concat(...) with new Array().concat(...)2008.09.07 2.2.2 added removeCookie() function for compatibility with CookieManagerPlugin2008.05.12 2.2.1 replace built-in backstage tweak task with tiddler tweaker control panel (moved from BackstageTweaks)2008.01.13 2.2.0 added auto-selection links: all, changed, tags, title, text2007.12.26 2.1.0 added support for managing creator custom field (see CoreTweaks)2007.11.01 2.0.3 added config.options.txtTweakerSortBy for cookie-based persistence of list display order preference setting.2007.09.28 2.0.2 in settiddlers() and deltiddlers(), added suspend/resume notification handling (improves performance when operating on multiple tiddlers)2007.08.03 2.0.1 added shadow definition for TiddlerTweaker tiddler for use as parameter references with {{{<<tiddler>>, <<slider>> or <<tabs>>}}} macros.2007.08.03 2.0.0 converted from inline script2006.01.01 1.0.0 initial release<<<!!!!!Code***///{{{version.extensions.TiddlerTweakerPlugin {major: 2, minor: 4, revision: 5, date: new Date(2011,1,21)};// shadow tiddlerconfig.shadowTiddlers.TiddlerTweaker<<tiddlerTweaker>>;// defaultsif (config.options.txtTweakerSortByundefined) config.options.txtTweakerSortBymodified;// backstage taskif (config.tasks) { // for TW2.2b3 or above config.tasks.tweak.tooltipreview/modify tiddler internals: dates, authors, tags, etc.; config.tasks.tweak.content{{smallform small groupbox{<<tiddlerTweaker>>}}};}// if removeCookie() function is not defined by TW core, define it here.if (window.removeCookieundefined) { window.removeCookiefunction(name) { document.cookie name+; expiresThu, 01-Jan-1970 00:00:01 UTC; path/;; }}config.macros.tiddlerTweaker { handler: function(place,macroName,params,wikifier,paramString,tiddler) { var spancreateTiddlyElement(place,span); span.innerHTMLstore.getTiddlerText(TiddlerTweakerPlugin##html); this.init(span.getElementsByTagName(form)0,config.options.txtTweakerSortBy); }, init: function(f,sortby) { // set form controls if (!f) return; // form might not be rendered yet... while (f.list.options0) f.list.options0null; // empty the list var tidsstore.getTiddlers(sortby); if (sortbysize) // descending order tids.sort(function(a,b) {return a.text.length > b.text.length ? -1 : (a.text.length b.text.length ? 0 : +1);}); var who; for (i0; i<tids.length; i++) { var ttidsi; var labelt.title; var valuet.title; switch (sortby) { case modified: case created: var ttidstids.length-i-1; // reverse order var whentsortby.formatString(YY.0MM.0DD 0hh:0mm ); labelwhen+t.title; valuet.title; break; case size: label+t.text.length+ +label; break; case modifier: case creator: if (who!tsortby) { whotsortby; f.list.optionsf.list.lengthnew Option(by +who+:,,false,false); } label\xa0\xa0\xa0+label; // indent break; } f.list.optionsf.list.lengthnew Option(label,value,false,false); } f.title.valuef.who.valuef.creator.valuef.tags.value; f.cm.valuef.cd.valuef.cy.valuef.ch.valuef.cn.value; f.mm.valuef.md.valuef.my.valuef.mh.valuef.mn.value; f.stats.disabledf.set.disabledf.del.disabledf.edit.disabledf.display.disabledtrue; f.settitle.disabledfalse; config.options.txtTweakerSortBysortby; f.sortby.valuesortby; // sync droplist if (sortby!modified) saveOptionCookie(txtTweakerSortBy); else removeCookie(txtTweakerSortBy); }, enablefields: function(here) { // enables/disables inputs based on #items selected var fhere.form; var listf.list; var c0; for (i0;i<list.length;i++) if (list.optionsi.selected) c++; if (c>1) f.title.disabledtrue; if (c>1) f.settitle.checkedfalse; f.set.disabled(c0); f.del.disabled(c0); f.edit.disabled(c0); f.display.disabled(c0); f.settitle.disabled(c>1); f.stats.disabled(c0); var msg(c0)?select tiddlers:(c+ tiddler+(c!1?s:)+ selected); here.previousSibling.firstChild.firstChild.nextSibling.innerHTMLmsg; if (c) clearMessage(); else displayMessage(no tiddlers selected); }, setfields: function(here) { // set fields from first selected tiddler var fhere.form; if (!here.value.length) { f.title.valuef.who.valuef.creator.valuef.tags.value; f.cm.valuef.cd.valuef.cy.valuef.ch.valuef.cn.value; f.mm.valuef.md.valuef.my.valuef.mh.valuef.mn.value; return; } var tidstore.getTiddler(here.value); if (!tid) return; f.title.valuetid.title; f.who.valuetid.modifier; f.creator.valuetid.fieldscreator||; // custom field - might not exist f.tags.valuetid.tags.map(function(t){return String.encodeTiddlyLink(t)}).join( ); var ctid.created; var mtid.modified; f.cm.valuec.getMonth()+1; f.cd.valuec.getDate(); f.cy.valuec.getFullYear(); f.ch.valuec.getHours(); f.cn.valuec.getMinutes(); f.mm.valuem.getMonth()+1; f.md.valuem.getDate(); f.my.valuem.getFullYear(); f.mh.valuem.getHours(); f.mn.valuem.getMinutes(); }, selecttiddlers: function(here,callback) { var fhere; while (f&&f.nodeName.toLowerCase()!form)ff.parentNode; for (var tf.list.options.length-1; t>0; t--) f.list.optionst.selectedcallback(f.list.optionst); config.macros.tiddlerTweaker.enablefields(f.list); return false; }, settiddlers: function(here) { var fhere.form; var listf.list; var tids; for (i0;i<list.length;i++) if (list.optionsi.selected) tids.push(list.optionsi.value); if (!tids.length) { alert(please select at least one tiddler); return; } var cdatenew Date(f.cy.value,f.cm.value-1,f.cd.value,f.ch.value,f.cn.value); var mdatenew Date(f.my.value,f.mm.value-1,f.md.value,f.mh.value,f.mn.value); if (tids.length>1 && !confirm(Are you sure you want to update these tiddlers:\n\n+tids.join(, ))) return; store.suspendNotifications(); for (t0;t<tids.length;t++) { var tidstore.getTiddler(tidst); if (!tid) continue; var title!f.settitle.checked?tid.title:f.title.value; var who!f.setwho.checked?tid.modifier:f.who.value; var texttid.text; if (f.replacetext.checked) { var rf.replacement.value.replace(/\\t/mg,\t).unescapeLineBreaks(); texttext.replace(new RegExp(f.pattern.value,mg),r); } var tagstid.tags; if (f.settags.checked) { var intagsf.tags.value.readBracketedList(); var addtags; var deltags; var reptags; for (i0;i<intags.length;i++) { if (intagsi.substr(0,1)+) addtags.push(intagsi.substr(1)); else if (intagsi.substr(0,1)-) deltags.push(intagsi.substr(1)); else reptags.push(intagsi); } if (reptags.length) tagsreptags; if (addtags.length) tagsnew Array().concat(tags,addtags); if (deltags.length) for (i0;i<deltags.length;i++) { var postags.indexOf(deltagsi); if (pos!-1) tags.splice(pos,1); } } if (!f.setcdate.checked) cdatetid.created; if (!f.setmdate.checked) mdatetid.modified; store.saveTiddler(tid.title,title,text,who,mdate,tags,tid.fields); if (f.setcreator.checked) store.setValue(tid.title,creator,f.creator.value); // set creator if (f.setcdate.checked) tid.assign(null,null,null,null,null,cdate); // set create date } store.resumeNotifications(); this.init(f,f.sortby.value); }, displaytiddlers: function(here,edit) { var fhere.form; var listf.list; var tids; for (i0; i<list.length;i++) if (list.optionsi.selected) tids.push(list.optionsi.value); if (!tids.length) { alert(please select at least one tiddler); return; } story.displayTiddlers(story.findContainingTiddler(f),tids,edit?DEFAULT_EDIT_TEMPLATE:null); }, deltiddlers: function(here) { var fhere.form; var listf.list; var tids; for (i0;i<list.length;i++) if (list.optionsi.selected) tids.push(list.optionsi.value); if (!tids.length) { alert(please select at least one tiddler); return; } if (!confirm(Are you sure you want to delete these tiddlers:\n\n+tids.join(, ))) return; store.suspendNotifications(); for (t0;t<tids.length;t++) { var tidstore.getTiddler(tidst); if (!tid) continue; if (tid.tags.contains(systemConfig)) { var msgtid.title+ is tagged with systemConfig. +\n\nRemoving this tiddler may cause unexpected results. Are you sure?; if (!confirm(msg)) continue; } store.removeTiddler(tid.title); story.closeTiddler(tid.title); } store.resumeNotifications(); this.init(f,f.sortby.value); }, stats: function(here) { var fhere.form; var listf.list; var tids; var out; var tot0; var targetf.nextSibling; for (i0;i<list.length;i++) if (list.optionsi.selected) tids.push(list.optionsi.value); if (!tids.length) { alert(please select at least one tiddler); return; } for (t0;t<tids.length;t++) { var tidstore.getTiddler(tidst); if (!tid) continue; out++tid.title+ +tid.text.length+\n; tot+tid.text.length; } var avgtot/tids.length; outtot+ bytes in +tids.length+ selected tiddlers (+avg+ bytes/tiddler)\n<<<\n+out+<<<\n; removeChildren(target); target.innerHTML"<hr><font size-2><a hrefjavascript:; stylefloat:right " +"onclickthis.parentNode.parentNode.style.display\"none\">close</a></font>"; wikify(out,target); target.style.displayblock; }};//}}}/***//{{{!html<style>.tiddlerTweaker table,.tiddlerTweaker table tr,.tiddlerTweaker table td { padding:0;margin:0;border:0;white-space:nowrap; }</style><form classtiddlerTweaker><!----><table style"width:100%"><tr valign"top"><!----><td style"text-align:center;width:99%;"><!-- --><font size-2><div style"text-align:left;"><span style"float:right"><!-- --> <a href"javascript:;" title"select all tiddlers" onclick"return config.macros.tiddlerTweaker.selecttiddlers(this,function(opt){ return opt.value.length; });">all</a><!-- --> <a href"javascript:;" title"select tiddlers currently displayed in the story column" onclick"return config.macros.tiddlerTweaker.selecttiddlers(this,function(opt){ return story.getTiddler(opt.value); });">opened</a><!-- --> <a href"javascript:;" title"select tiddlers that are new/changed since the last file save" onclick"var lastmodnew Date(document.lastModified); return config.macros.tiddlerTweaker.selecttiddlers(this,function(opt){ var tidstore.getTiddler(opt.value); return tid&&tid.modified>lastmod; }); ">changed</a><!-- --> <a href"javascript:;" title"select tiddlers with at least one matching tag" onclick"var tprompt(Enter space-separated tags (match one or more). Use \x22-\x22 to match untagged tiddlers); if (!t||!t.length) return false; var tagst.readBracketedList(); return config.macros.tiddlerTweaker.selecttiddlers(this,function(opt){ var tidstore.getTiddler(opt.value); return tid&&tags0-?!tid.tags.length:tid.tags.containsAny(tags); }); ">tags</a><!-- --> <a href"javascript:;" title"select tiddlers whose titles include matching text" onclick"var tprompt(Enter a title (or portion of a title) to match); if (!t||!t.length) return false; return config.macros.tiddlerTweaker.selecttiddlers(this,function(opt){ return opt.value.indexOf(t)!-1; }); ">titles</a><!-- --> <a href"javascript:;" title"select tiddlers containing matching text" onclick"var tprompt(Enter tiddler text (content) to match); if (!t||!t.length) return false; return config.macros.tiddlerTweaker.selecttiddlers(this,function(opt){ var ttstore.getTiddlerText(opt.value,); return tt.indexOf(t)!-1; }); ">text</a><!-- --> <a href"javascript:;" title"reverse selection of all list items" onclick"return config.macros.tiddlerTweaker.selecttiddlers(this,function(opt){ return !opt.selected; });">invert</a><!-- --></span><span>select tiddlers</span><!-- --></div><!-- --></font><select multiple namelist size"11" style"width:99.99%" title"use click, shift-click and/or ctrl-click to select multiple tiddler titles" onclick"config.macros.tiddlerTweaker.enablefields(this)" onchange"config.macros.tiddlerTweaker.setfields(this)"><!-- --></select><br><!-- -->show<input typetext size1 value"11" onchange"this.form.list.sizethis.value; this.form.list.multiple(this.value>1);"><!-- -->by<!-- --><select namesortby size1 onchange"config.macros.tiddlerTweaker.init(this.form,this.value)"><!-- --><option value"title">title</option><!-- --><option value"size">size</option><!-- --><option value"modified">modified</option><!-- --><option value"created">created</option><!-- --><option value"modifier">modifier</option><!-- --></select><!-- --><input type"button" value"refresh" onclick"config.macros.tiddlerTweaker.init(this.form,this.form.sortby.value)"<!-- --> <input type"button" name"stats" disabled value"totals..." onclick"config.macros.tiddlerTweaker.stats(this)"><!----></td><td style"width:1%"><!-- --><div style"text-align:left"><font size-2> modify values</font></div><!-- --><table style"width:100%;"><tr><!-- --><td style"padding:1px"><!-- --><input typecheckbox namesettitle unchecked title"allow changes to tiddler title (rename tiddler)" onclick"this.form.title.disabled!this.checked">title<!-- --></td><td style"padding:1px"><!-- --><input typetext nametitle size35 style"width:98%" disabled><!-- --></td></tr><tr><td style"padding:1px"><!-- --><input typecheckbox namesetcreator unchecked title"allow changes to tiddler creator" onclick"this.form.creator.disabled!this.checked">created by<!-- --></td><td style"padding:1px;"><!-- --><input typetext namecreator size35 style"width:98%" disabled><!-- --></td></tr><tr><td style"padding:1px"><!-- --><input typecheckbox namesetwho unchecked title"allow changes to tiddler author" onclick"this.form.who.disabled!this.checked">modified by<!-- --></td><td style"padding:1px"><!-- --><input typetext namewho size35 style"width:98%" disabled><!-- --></td></tr><tr><td style"padding:1px"><!-- --><input typecheckbox namesetcdate unchecked title"allow changes to created date" onclick"var fthis.form; f.cm.disabledf.cd.disabledf.cy.disabledf.ch.disabledf.cn.disabled!this.checked"><!-- -->created on<!-- --></td><td style"padding:1px"><!-- --><input typetext namecm size2 style"width:2em;padding:0;text-align:center" disabled><!-- --> / <input typetext namecd size2 style"width:2em;padding:0;text-align:center" disabled><!-- --> / <input typetext namecy size4 style"width:3em;padding:0;text-align:center" disabled><!-- --> at <input typetext namech size2 style"width:2em;padding:0;text-align:center" disabled><!-- --> : <input typetext namecn size2 style"width:2em;padding:0;text-align:center" disabled><!-- --></td></tr><tr><td style"padding:1px"><!-- --><input typecheckbox namesetmdate unchecked title"allow changes to modified date" onclick"var fthis.form; f.mm.disabledf.md.disabledf.my.disabledf.mh.disabledf.mn.disabled!this.checked"><!-- -->modified on<!-- --></td><td style"padding:1px"><!-- --><input typetext namemm size2 style"width:2em;padding:0;text-align:center" disabled><!-- --> / <input typetext namemd size2 style"width:2em;padding:0;text-align:center" disabled><!-- --> / <input typetext namemy size4 style"width:3em;padding:0;text-align:center" disabled><!-- --> at <input typetext namemh size2 style"width:2em;padding:0;text-align:center" disabled><!-- --> : <input typetext namemn size2 style"width:2em;padding:0;text-align:center" disabled><!-- --></td></tr><tr><td style"padding:1px"><!-- --><input typecheckbox namereplacetext unchecked title"find/replace matching text" onclick"this.form.pattern.disabledthis.form.replacement.disabled!this.checked">replace text<!-- --></td><td style"padding:1px"><!-- --><input typetext namepattern size15 value"" style"width:40%" disabled title"enter TEXT PATTERN (regular expression)"> with<!-- --><input typetext namereplacement size15 value"" style"width:40%" disabled title"enter REPLACEMENT TEXT"><!-- --></td></tr><tr><td style"padding:1px"><!-- --><input typecheckbox namesettags checked title"allow changes to tiddler tags" onclick"this.form.tags.disabled!this.checked">tags<!-- --></td><td style"padding:1px"><!-- --><input typetext nametags size35 value"" style"width:98%" title"enter new tags or use +tag and -tag to add/remove tags from existing tags"><!-- --></td></tr></table><!-- --><div style"text-align:center"><!-- --><nobr><input typebutton namedisplay disabled style"width:24%" value"display" title"show selected tiddlers" onclick"config.macros.tiddlerTweaker.displaytiddlers(this,false)"><!-- --> <input typebutton nameedit disabled style"width:23%" value"edit" title"edit selected tiddlers" onclick"config.macros.tiddlerTweaker.displaytiddlers(this,true)"><!-- --> <input typebutton namedel disabled style"width:24%" value"delete" title"remove selected tiddlers" onclick"config.macros.tiddlerTweaker.deltiddlers(this)"><!-- --> <input typebutton nameset disabled style"width:24%" value"update" title"update selected tiddlers" onclick"config.macros.tiddlerTweaker.settiddlers(this)"></nobr><!-- --></div><!----></td></tr></table><!----></form><span style"display:none"><!--content replaced by tiddler "stats"--></span>!end//}}}***/ /pre>/div>div titleToolbarCommands modifierOSeuNome created201304200230 modified202002190134 tagsexcludeLists formatting changecount3 server.page.revision201304200230 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre>|~ViewToolbar|collapseTiddler closeTiddler closeOthers +editTiddler > fields syncing permalink references jump||~EditToolbar|+saveTiddler -cancelTiddler deleteTiddler|/%!!SkyeToolbarcollapseTiddler closeTiddler closeOthers +editTiddler > fields syncing permalink references jump!!end%//pre>/div>div titleTwo creatorOSeuNome modifierOSeuNome created202005240157 modified202406112023 changecount57>pre>/pre>/div>div titleUpdateIndex creatorOSeuNome modifierOSeuNome created202001170106 modified202001170111 tagsexcludeLists changecount4>pre><<loadTiddlers tag:adapta "http://www.unigaia-brasil.org/escolasResilientes/index.html" quiet report>>/pre>/div>div titleUpdateSys creatorOSeuNome modifierOSeuNome created202001170113 modified202002190122 tagsexcludeLists sistem changecount10>pre><<loadTiddlers tag:adapta "../escolasResilientes/index.html" quiet noreport>>/pre>/div>div titleUploadLog modifierOSeuNome created202003302332 modified202005231941 changecount1>pre>| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin || 30/03/2020 23:32:02 | OSeuNome | /|http://www.unigaia-brasil.org/PDC/ | store.php|http://www.unigaia-brasil.org/PDC/store.php | . | index.html | http://www.unigaia-brasil.org/PDC/index.html | | failed || 30/03/2020 23:33:17 | OSeuNome | /|http://www.unigaia-brasil.org/PDC/ | store.php|http://www.unigaia-brasil.org/PDC/store.php | . | index.html | http://www.unigaia-brasil.org/PDC/index.html | | failed || 30/03/2020 23:34:24 | OSeuNome | /|http://www.unigaia-brasil.org/PDC/ | store.php|http://www.unigaia-brasil.org/PDC/store.php | . | index.html | http://www.unigaia-brasil.org/PDC/index.html | | failed || 14/04/2020 22:26:19 | OSeuNome | index-IntroPC_br.html|http://www.unigaia-brasil.org/PDC/index-IntroPC_br.html | store.php|http://www.unigaia-brasil.org/PDC/store.php | . | index.html | http://www.unigaia-brasil.org/PDC/index.html | || 23/05/2020 16:41:10 | OSeuNome | index-Blank_br.html|http://www.unigaia-brasil.org/PDC/index-Blank_br.html | store.php|http://www.unigaia-brasil.org/PDC/store.php | . | index-Blank_br.html | http://www.unigaia-brasil.org/PDC/index-Blank_br.html | |/pre>/div>div titleUploadPlugin modifierSkye created200703021728 modified201308300507 tagssystemConfig excludeLists server.typefile server.hosthttp://www.unigaia-brasil.org/escolasResilientes/indexOld.html server.page.revision201308300507>pre>/***|Name:|UploadPlugin||Description:|Save to web a TiddlyWiki||Version:|4.1.4||Date:|2008-08-11||Source:|http://tiddlywiki.bidix.info/#UploadPlugin||Documentation:|http://tiddlywiki.bidix.info/#UploadPluginDoc||Author:|BidiX (BidiX (at) bidix (dot) info)||License:|BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ||~CoreVersion:|2.2.0||Requires:|PasswordOptionPlugin|***///{{{version.extensions.UploadPlugin { major: 4, minor: 1, revision: 4, date: new Date("2008-08-11"), source: http://tiddlywiki.bidix.info/#UploadPlugin, author: BidiX (BidiX (at) bidix (dot) info, coreVersion: 2.2.0};//// Environment//if (!window.bidix) window.bidix {}; // bidix namespacebidix.debugMode false; // true to activate both in Plugin and UploadService //// Upload Macro//config.macros.upload {// default values defaultBackupDir: , //no backup defaultStoreScript: "store.php", defaultToFilename: "index.html", defaultUploadDir: ".", authenticateUser: true // UploadService Authenticate User}; config.macros.upload.label { promptOption: "Save and Upload this TiddlyWiki with UploadOptions", promptParamMacro: "Save and Upload this TiddlyWiki in %0", saveLabel: "save to web", saveToDisk: "save to disk", uploadLabel: "upload" };config.macros.upload.messages { noStoreUrl: "No store URL in parmeters or options", usernameOrPasswordMissing: "Username or password missing"};config.macros.upload.handler function(place,macroName,params) { if (readOnly) return; var label; if (document.location.toString().substr(0,4) "http") label this.label.saveLabel; else label this.label.uploadLabel; var prompt; if (params0) { prompt this.label.promptParamMacro.toString().format(this.destFile(params0, (params1 ? params1:bidix.basename(window.location.toString())), params3)); } else { prompt this.label.promptOption; } createTiddlyButton(place, label, prompt, function() {config.macros.upload.action(params);}, null, null, this.accessKey);};config.macros.upload.action function(params){ // for missing macro parameter set value from options if (!params) params {}; var storeUrl params0 ? params0 : config.options.txtUploadStoreUrl; var toFilename params1 ? params1 : config.options.txtUploadFilename; var backupDir params2 ? params2 : config.options.txtUploadBackupDir; var uploadDir params3 ? params3 : config.options.txtUploadDir; var username params4 ? params4 : config.options.txtUploadUserName; var password config.options.pasUploadPassword; // for security reason no password as macro parameter // for still missing parameter set default value if ((!storeUrl) && (document.location.toString().substr(0,4) "http")) storeUrl bidix.dirname(document.location.toString())+/+config.macros.upload.defaultStoreScript; if (storeUrl.substr(0,4) ! "http") storeUrl bidix.dirname(document.location.toString()) +/+ storeUrl; if (!toFilename) toFilename bidix.basename(window.location.toString()); if (!toFilename) toFilename config.macros.upload.defaultToFilename; if (!uploadDir) uploadDir config.macros.upload.defaultUploadDir; if (!backupDir) backupDir config.macros.upload.defaultBackupDir; // report error if still missing if (!storeUrl) { alert(config.macros.upload.messages.noStoreUrl); clearMessage(); return false; } if (config.macros.upload.authenticateUser && (!username || !password)) { alert(config.macros.upload.messages.usernameOrPasswordMissing); clearMessage(); return false; } bidix.upload.uploadChanges(false,null,storeUrl, toFilename, uploadDir, backupDir, username, password); return false; };config.macros.upload.destFile function(storeUrl, toFilename, uploadDir) { if (!storeUrl) return null; var dest bidix.dirname(storeUrl); if (uploadDir && uploadDir ! .) dest dest + / + uploadDir; dest dest + / + toFilename; return dest;};//// uploadOptions Macro//config.macros.uploadOptions { handler: function(place,macroName,params) { var wizard new Wizard(); wizard.createWizard(place,this.wizardTitle); wizard.addStep(this.step1Title,this.step1Html); var markList wizard.getElement("markList"); var listWrapper document.createElement("div"); markList.parentNode.insertBefore(listWrapper,markList); wizard.setValue("listWrapper",listWrapper); this.refreshOptions(listWrapper,false); var uploadCaption; if (document.location.toString().substr(0,4) "http") uploadCaption config.macros.upload.label.saveLabel; else uploadCaption config.macros.upload.label.uploadLabel; wizard.setButtons( {caption: uploadCaption, tooltip: config.macros.upload.label.promptOption, onClick: config.macros.upload.action}, {caption: this.cancelButton, tooltip: this.cancelButtonPrompt, onClick: this.onCancel} ); }, options: "txtUploadUserName", "pasUploadPassword", "txtUploadStoreUrl", "txtUploadDir", "txtUploadFilename", "txtUploadBackupDir", "chkUploadLog", "txtUploadLogMaxLine" , refreshOptions: function(listWrapper) { var opts ; for(i0; i<this.options.length; i++) { var opt {}; opts.push(); opt.option ""; n this.optionsi; opt.name n; opt.lowlight !config.optionsDescn; opt.description opt.lowlight ? this.unknownDescription : config.optionsDescn; opts.push(opt); } var listview ListView.create(listWrapper,opts,this.listViewTemplate); for(n0; n<opts.length; n++) { var type optsn.name.substr(0,3); var h config.macros.option.typestype; if (h && h.create) { h.create(optsn.colElementsoption,type,optsn.name,optsn.name,"no"); } } }, onCancel: function(e) { backstage.switchTab(null); return false; }, wizardTitle: "Upload with options", step1Title: "These options are saved in cookies in your browser", step1Html: "<input typehidden namemarkList></input><br>", cancelButton: "Cancel", cancelButtonPrompt: "Cancel prompt", listViewTemplate: { columns: {name: Description, field: description, title: "Description", type: WikiText}, {name: Option, field: option, title: "Option", type: String}, {name: Name, field: name, title: "Name", type: String} , rowClasses: {className: lowlight, field: lowlight} }};//// upload functions//if (!bidix.upload) bidix.upload {};if (!bidix.upload.messages) bidix.upload.messages { //from saving invalidFileError: "The original file %0 does not appear to be a valid TiddlyWiki", backupSaved: "Backup saved", backupFailed: "Failed to upload backup file", rssSaved: "RSS feed uploaded", rssFailed: "Failed to upload RSS feed file", emptySaved: "Empty template uploaded", emptyFailed: "Failed to upload empty template file", mainSaved: "Main TiddlyWiki file uploaded", mainFailed: "Failed to upload main TiddlyWiki file. Your changes have not been saved", //specific upload loadOriginalHttpPostError: "Cant get original file", aboutToSaveOnHttpPost: About to upload on %0 ..., storePhpNotFound: "The store script %0 was not found."};bidix.upload.uploadChanges function(onlyIfDirty,tiddlers,storeUrl,toFilename,uploadDir,backupDir,username,password){ var callback function(status,uploadParams,original,url,xhr) { if (!status) { displayMessage(bidix.upload.messages.loadOriginalHttpPostError); return; } if (bidix.debugMode) alert(original.substr(0,500)+"\n..."); // Locate the storeArea divs var posDiv locateStoreArea(original); if((posDiv0 -1) || (posDiv1 -1)) { alert(config.messages.invalidFileError.format(localPath)); return; } bidix.upload.uploadRss(uploadParams,original,posDiv); }; if(onlyIfDirty && !store.isDirty()) return; clearMessage(); // save on localdisk ? if (document.location.toString().substr(0,4) "file") { var path document.location.toString(); var localPath getLocalPath(path); saveChanges(); } // get original var uploadParams new Array(storeUrl,toFilename,uploadDir,backupDir,username,password); var originalPath document.location.toString(); // If url is a directory : add index.html if (originalPath.charAt(originalPath.length-1) "/") originalPath originalPath + "index.html"; var dest config.macros.upload.destFile(storeUrl,toFilename,uploadDir); var log new bidix.UploadLog(); log.startUpload(storeUrl, dest, uploadDir, backupDir); displayMessage(bidix.upload.messages.aboutToSaveOnHttpPost.format(dest)); if (bidix.debugMode) alert("about to execute Http - GET on "+originalPath); var r doHttp("GET",originalPath,null,null,username,password,callback,uploadParams,null); if (typeof r "string") displayMessage(r); return r;};bidix.upload.uploadRss function(uploadParams,original,posDiv) { var callback function(status,params,responseText,url,xhr) { if(status) { var destfile responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:"))); displayMessage(bidix.upload.messages.rssSaved,bidix.dirname(url)+/+destfile); bidix.upload.uploadMain(params0,params1,params2); } else { displayMessage(bidix.upload.messages.rssFailed); } }; // do uploadRss if(config.options.chkGenerateAnRssFeed) { var rssPath uploadParams1.substr(0,uploadParams1.lastIndexOf(".")) + ".xml"; var rssUploadParams new Array(uploadParams0,rssPath,uploadParams2,,uploadParams4,uploadParams5); var rssString generateRss(); // no UnicodeToUTF8 conversion needed when location is "file" !!! if (document.location.toString().substr(0,4) ! "file") rssString convertUnicodeToUTF8(rssString); bidix.upload.httpUpload(rssUploadParams,rssString,callback,Array(uploadParams,original,posDiv)); } else { bidix.upload.uploadMain(uploadParams,original,posDiv); }};bidix.upload.uploadMain function(uploadParams,original,posDiv) { var callback function(status,params,responseText,url,xhr) { var log new bidix.UploadLog(); if(status) { // if backupDir specified if ((params3) && (responseText.indexOf("backupfile:") > -1)) { var backupfile responseText.substring(responseText.indexOf("backupfile:")+11,responseText.indexOf("\n", responseText.indexOf("backupfile:"))); displayMessage(bidix.upload.messages.backupSaved,bidix.dirname(url)+/+backupfile); } var destfile responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:"))); displayMessage(bidix.upload.messages.mainSaved,bidix.dirname(url)+/+destfile); store.setDirty(false); log.endUpload("ok"); } else { alert(bidix.upload.messages.mainFailed); displayMessage(bidix.upload.messages.mainFailed); log.endUpload("failed"); } }; // do uploadMain var revised bidix.upload.updateOriginal(original,posDiv); bidix.upload.httpUpload(uploadParams,revised,callback,uploadParams);};bidix.upload.httpUpload function(uploadParams,data,callback,params){ var localCallback function(status,params,responseText,url,xhr) { url (url.indexOf("nocache") < 0 ? url : url.substring(0,url.indexOf("nocache")-1)); if (xhr.status 404) alert(bidix.upload.messages.storePhpNotFound.format(url)); if ((bidix.debugMode) || (responseText.indexOf("Debug mode") > 0 )) { alert(responseText); if (responseText.indexOf("Debug mode") > 0 ) responseText responseText.substring(responseText.indexOf("\n\n")+2); } else if (responseText.charAt(0) ! 0) alert(responseText); if (responseText.charAt(0) ! 0) status null; callback(status,params,responseText,url,xhr); }; // do httpUpload var boundary "---------------------------"+"AaB03x"; var uploadFormName "UploadPlugin"; // compose headers data var sheader ""; sheader + "--" + boundary + "\r\nContent-disposition: form-data; name\""; sheader + uploadFormName +"\"\r\n\r\n"; sheader + "backupDir"+uploadParams3 + ";user" + uploadParams4 + ";password" + uploadParams5 + ";uploaddir" + uploadParams2; if (bidix.debugMode) sheader + ";debug1"; sheader + ";;\r\n"; sheader + "\r\n" + "--" + boundary + "\r\n"; sheader + "Content-disposition: form-data; name\"userfile\"; filename\""+uploadParams1+"\"\r\n"; sheader + "Content-Type: text/html;charsetUTF-8" + "\r\n"; sheader + "Content-Length: " + data.length + "\r\n\r\n"; // compose trailer data var strailer new String(); strailer "\r\n--" + boundary + "--\r\n"; data sheader + data + strailer; if (bidix.debugMode) alert("about to execute Http - POST on "+uploadParams0+"\n with \n"+data.substr(0,500)+ " ... "); var r doHttp("POST",uploadParams0,data,"multipart/form-data; ;charsetUTF-8; boundary"+boundary,uploadParams4,uploadParams5,localCallback,params,null); if (typeof r "string") displayMessage(r); return r;};// same as Savings updateOriginal but without convertUnicodeToUTF8 callsbidix.upload.updateOriginal function(original, posDiv){ if (!posDiv) posDiv locateStoreArea(original); if((posDiv0 -1) || (posDiv1 -1)) { alert(config.messages.invalidFileError.format(localPath)); return; } var revised original.substr(0,posDiv0 + startSaveArea.length) + "\n" + store.allTiddlersAsHtml() + "\n" + original.substr(posDiv1); var newSiteTitle getPageTitle().htmlEncode(); revised revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " "); revised updateMarkupBlock(revised,"PRE-HEAD","MarkupPreHead"); revised updateMarkupBlock(revised,"POST-HEAD","MarkupPostHead"); revised updateMarkupBlock(revised,"PRE-BODY","MarkupPreBody"); revised updateMarkupBlock(revised,"POST-SCRIPT","MarkupPostBody"); return revised;};//// UploadLog// // config.options.chkUploadLog :// false : no logging// true : logging// config.options.txtUploadLogMaxLine :// -1 : no limit// 0 : no Log lines but UploadLog is still in place// n : the last n lines are only kept// NaN : no limit (-1)bidix.UploadLog function() { if (!config.options.chkUploadLog) return; // this.tiddler null this.tiddler store.getTiddler("UploadLog"); if (!this.tiddler) { this.tiddler new Tiddler(); this.tiddler.title "UploadLog"; this.tiddler.text "| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |"; this.tiddler.created new Date(); this.tiddler.modifier config.options.txtUserName; this.tiddler.modified new Date(); store.addTiddler(this.tiddler); } return this;};bidix.UploadLog.prototype.addText function(text) { if (!this.tiddler) return; // retrieve maxLine when we need it var maxLine parseInt(config.options.txtUploadLogMaxLine,10); if (isNaN(maxLine)) maxLine -1; // add text if (maxLine ! 0) this.tiddler.text this.tiddler.text + text; // Trunck to maxLine if (maxLine > 0) { var textArray this.tiddler.text.split(\n); if (textArray.length > maxLine + 1) textArray.splice(1,textArray.length-1-maxLine); this.tiddler.text textArray.join(\n); } // update tiddler fields this.tiddler.modifier config.options.txtUserName; this.tiddler.modified new Date(); store.addTiddler(this.tiddler); // refresh and notifiy for immediate update story.refreshTiddler(this.tiddler.title); store.notify(this.tiddler.title, true);};bidix.UploadLog.prototype.startUpload function(storeUrl, toFilename, uploadDir, backupDir) { if (!this.tiddler) return; var now new Date(); var text "\n| "; var filename bidix.basename(document.location.toString()); if (!filename) filename /; text + now.formatString("0DD/0MM/YYYY 0hh:0mm:0ss") +" | "; text + config.options.txtUserName + " | "; text + ""+filename+"|"+location + " |"; text + " " + bidix.basename(storeUrl) + "|" + storeUrl + " | "; text + uploadDir + " | "; text + "" + bidix.basename(toFilename) + " | " +toFilename + " | "; text + backupDir + " |"; this.addText(text);};bidix.UploadLog.prototype.endUpload function(status) { if (!this.tiddler) return; this.addText(" "+status+" |");};//// Utilities// bidix.checkPlugin function(plugin, major, minor, revision) { var ext version.extensionsplugin; if (! (ext && ((ext.major > major) || ((ext.major major) && (ext.minor > minor)) || ((ext.major major) && (ext.minor minor) && (ext.revision > revision))))) { // write error in PluginManager if (pluginInfo) pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision); eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined" }};bidix.dirname function(filePath) { if (!filePath) return; var lastpos; if ((lastpos filePath.lastIndexOf("/")) ! -1) { return filePath.substring(0, lastpos); } else { return filePath.substring(0, filePath.lastIndexOf("\\")); }};bidix.basename function(filePath) { if (!filePath) return; var lastpos; if ((lastpos filePath.lastIndexOf("#")) ! -1) filePath filePath.substring(0, lastpos); if ((lastpos filePath.lastIndexOf("/")) ! -1) { return filePath.substring(lastpos + 1); } else return filePath.substring(filePath.lastIndexOf("\\")+1);};bidix.initOption function(name,value) { if (!config.optionsname) config.optionsname value;};//// Initializations//// require PasswordOptionPlugin 1.0.1 or betterbidix.checkPlugin("PasswordOptionPlugin", 1, 0, 1);// styleSheetsetStylesheet(.txtUploadStoreUrl, .txtUploadBackupDir, .txtUploadDir {width: 22em;},"uploadPluginStyles");//optionsDescmerge(config.optionsDesc,{ txtUploadStoreUrl: "Url of the UploadService script (default: store.php)", txtUploadFilename: "Filename of the uploaded file (default: in index.html)", txtUploadDir: "Relative Directory where to store the file (default: . (downloadService directory))", txtUploadBackupDir: "Relative Directory where to backup the file. If empty no backup. (default: (empty))", txtUploadUserName: "Upload Username", pasUploadPassword: "Upload Password", chkUploadLog: "do Logging in UploadLog (default: true)", txtUploadLogMaxLine: "Maximum of lines in UploadLog (default: 10)"});// Options Initializationsbidix.initOption(txtUploadStoreUrl,);bidix.initOption(txtUploadFilename,);bidix.initOption(txtUploadDir,);bidix.initOption(txtUploadBackupDir,);bidix.initOption(txtUploadUserName,);bidix.initOption(pasUploadPassword,);bidix.initOption(chkUploadLog,true);bidix.initOption(txtUploadLogMaxLine,10);// Backstagemerge(config.tasks,{ uploadOptions: {text: "upload", tooltip: "Change UploadOptions and Upload", content: <<uploadOptions>>}});config.backstageTasks.push("uploadOptions");//}}}/pre>/div>div titleUploadPluginTweak modifierELSDesignStudios created200611082203 modified200611082235 tagsexcludeLists systemConfig server.typefile server.hosthttp://tiddlytools.com server.page.revision200611082235>pre>// null logger : no more UploadLog and no upload logging// BidiX - 2006/11/8//{{{config.macros.upload.UploadLog function() {return this;};config.macros.upload.UploadLog.prototype.startUpload function(storeUrl, toFilename, uploadDir, backupDir) {};config.macros.upload.UploadLog.prototype.endUpload function() {};//}}}/pre>/div>div titleUploadTiddlerMacro modifierSkye created200809302120 modified201308300507 tagsexcludeLists systemConfig server.typefile server.hosthttp://www.unigaia-brasil.org/escolasResilientes/indexOld.html server.page.revision201308300507>pre>/***|Name:|UploadTiddlerMacro||Description:|Define a macro to upload a tiddler using UploadTiddlerPlugin (see UploadTiddlerPlugin for details).||Version:|1.0.0||Date:|2008-09-30||Source:|http://tiddlywiki.bidix.info/#UploadTiddlerMacro||Usage:|{{{<<uploadTiddler tiddlerTitle>>}}}<br>{{{tiddlerTitle: if omitted the title of the current tiddler}}}||Author:|BidiX (BidiX (at) bidix (dot) info)||License:|BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ||CoreVersion:|2.2.0||Requires:|UploadTiddlerPlugin|***///{{{version.extensions.UploadTiddlerMacro { major: 1, minor: 0, revision: 0, date: new Date("2008-09-30"), source: http://tiddlywiki.bidix.info/#UploadTiddlerMacro, author: BidiX (BidiX (at) bidix (dot) info, coreVersion: 2.2.0};config.macros.uploadTiddler { label: "uploadTiddler", prompt: "upload tiddler %0 using UploadTiddlerOptions ", warning: "Are you sure you want to upload %0?", messages: { fileUploaded: "tiddler %0 uploaded to file %1", fileNotUploaded: "tiddler %0 NOT uploaded" }, handler: function(place, macroName, params, wikifier,paramString, tiddler) { var tiddlerTitle params0; if (!tiddlerTitle) { tiddlerTitle tiddler.title; } else { tiddler store.getTiddler(tiddlerTitle); } createTiddlyButton(place, this.label, this.prompt.format(tiddlerTitle), function () { config.macros.uploadTiddler.upload(tiddlerTitle, tiddler); return false;}, null, null, null); }, upload: function(tiddlerTitle, tiddler) { var saved_chkUploadTiddler config.options.chkUploadTiddler; config.options.chkUploadTiddler true; bidix.uploadTiddler.upload(tiddlerTitle, tiddler,tiddlerTitle); config.options.chkUploadTiddler saved_chkUploadTiddler; }};//// Utilities// if (!window.bidix) window.bidix {}; // bidix namespacebidix.checkPlugin function(plugin, major, minor, revision) { var ext version.extensionsplugin; if (! (ext && ((ext.major > major) || ((ext.major major) && (ext.minor > minor)) || ((ext.major major) && (ext.minor minor) && (ext.revision > revision))))) { // write error in PluginManager if (pluginInfo) pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision); eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined" }};//// Initializations//// require UploadTiddlerPlugin 1.2.2 or betterbidix.checkPlugin("UploadTiddlerPlugin", 1, 2, 2);//}}}/pre>/div>div titleUploadTiddlerPlugin modifierSkye created200802222218 modified201308300507 tagsexcludeLists systemConfig server.typefile server.hosthttp://www.unigaia-brasil.org/escolasResilientes/indexOld.html server.page.revision201308300507>pre>/***|Name:|UploadTiddlerPlugin||Description:|Upload a tiddler and Update a remote TiddlyWiki ||Version:|1.2.2||Date:|2008-09-13||Source:|http://tiddlywiki.bidix.info/#UploadTiddlerPlugin||Usage:|Uses {{{<<uploadOptions>>}}}<br>with those UploadTiddler Options : <br>chkUploadTiddler: <<option chkUploadTiddler>><br>txtUploadTiddlerStoreUrl: <<option txtUploadTiddlerStoreUrl>><br>chkUploadTiddlerFromFile: <<option chkUploadTiddlerFromFile>>||Author:|BidiX (BidiX (at) bidix (dot) info)||License:|BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ||CoreVersion:|2.3.0|***///{{{version.extensions.UploadTiddlerPlugin { major: 1, minor: 2, revision: 2, date: new Date("2008-09-13"), source: http://tiddlywiki.bidix.info/#UploadTiddlerPlugin, author: BidiX (BidiX (at) bidix (dot) info, coreVersion: 2.3.0};if (!window.bidix) window.bidix {}; // bidix namespacebidix.debugMode false;bidix.uploadTiddler { messages: { aboutToSaveTiddler: "About to update tiddler %0...", aboutToRemotelySaveTiddler: "About to REMOTELY update tiddler %0...", storeTiddlerNotFound: "Script store tiddler %0 not found", tiddlerSaved: "Tiddler %0 updated in %1 using %2 " }, upload: function(title,tiddler,oldTitle) { var callback function(status,params,responseText,url,xhr) { if (xhr.status 404) { alert(bidix.uploadTiddler.messages.storeTiddlerNotFound.format(url)); return; } if ((bidix.debugMode) || (responseText.indexOf("Debug mode") > 0 )) { alert(responseText); if (responseText.indexOf("Debug mode") > 0 ) responseText responseText.substring(responseText.indexOf("\n\n")+2); } else if (responseText.charAt(0) ! 0) alert(responseText); else displayMessage(bidix.uploadTiddler.messages.tiddlerSaved.format(params0, params1, params2)); store.setDirty(false); } if ((config.optionschkUploadTiddler) && ((document.location.toString().substr(0,4) "http") || config.optionschkUploadTiddlerFromFile)) { clearMessage(); if (document.location.toString().substr(0,4) ! "http") displayMessage(bidix.uploadTiddler.messages.aboutToRemotelySaveTiddler.format(title)); else displayMessage(bidix.uploadTiddler.messages.aboutToSaveTiddler.format(title)); var ExtTiddler null; var html null; if (tiddler) { ExtTiddler store.getSaver().externalizeTiddler(store,tiddler); html wikifyStatic(tiddler.text,null,tiddler).htmlEncode(); } var form "title"+encodeURIComponent(title); form form + "&tiddler"+(ExtTiddler?encodeURIComponent(ExtTiddler):); form form + "&html"+(html?encodeURIComponent(html):); var filename (config.optionstxtUploadFilename?config.optionstxtUploadFilename:index.html); form form +"&oldTitle"+encodeURIComponent(oldTitle); form form +"&fileName"+encodeURIComponent(filename); form form +"&backupDir"+encodeURIComponent(config.optionstxtUploadBackupDir); form form +"&user"+encodeURIComponent(config.optionstxtUploadUserName); form form +"&password"+encodeURIComponent(config.optionspasUploadPassword); form form +"&uploadir"+encodeURIComponent(config.optionstxtUploadDir); form form +"&debug"+encodeURIComponent(0); var storeScript (config.options.txtUploadTiddlerStoreUrl ? config.options.txtUploadTiddlerStoreUrl : storeTiddler.php); var r doHttp("POST",storeScript,form+"\n",application/x-www-form-urlencoded, config.optionstxtUploadUserName,config.optionspasUploadPassword,callback,Array(title,filename, storeScript),null); } }}TiddlyWiki.prototype.saveTiddler_bidix TiddlyWiki.prototype.saveTiddler;TiddlyWiki.prototype.saveTiddler function(oldTitle,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created) { var tiddler TiddlyWiki.prototype.saveTiddler_bidix.apply(this,arguments); var title (newTitle?newTitle:oldTitle); if (oldTitle title) oldTitle ; bidix.uploadTiddler.upload(title, tiddler, oldTitle);}TiddlyWiki.prototype.removeTiddler_bidix TiddlyWiki.prototype.removeTiddler;TiddlyWiki.prototype.removeTiddler function(title) { TiddlyWiki.prototype.removeTiddler_bidix.apply(this,arguments); bidix.uploadTiddler.upload(title, null);}//// Initializations//bidix.initOption function(name,value) { if (!config.optionsname) config.optionsname value;};// styleSheetsetStylesheet(.txtUploadTiddlerStoreUrl {width: 22em;},"uploadTiddlerPluginStyles");//optionsDescmerge(config.optionsDesc,{ txtUploadTiddlerStoreUrl: "Url of the UploadTiddlerService script (default: storeTiddler.php)", chkUploadTiddler: "Do per Tiddler upload using txtUploadTiddlerStoreUrl (default: false)", chkUploadTiddlerFromFile: "Upload tiddler even if TiddlyWiki is located on local file (default: false)"});// Options Initializationsbidix.initOption(txtUploadTiddlerStoreUrl,);bidix.initOption(chkUploadTiddler,);bidix.initOption(chkUploadTiddlerFromFile,);// add options in backstage UploadOptionsif (config.macros.uploadOptions) { if (config.macros.uploadOptions.options) { config.macros.uploadOptions.options.push("txtUploadTiddlerStoreUrl","chkUploadTiddler", "chkUploadTiddlerFromFile"); }}//}}}/pre>/div>div titleViewTemplate modifierOSeuNome created201304200126 modified202005250407 tagsexcludeLists formatting changecount83 server.page.revision201807270207 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre><!--{{{--><div classtitle macroview title></div><div macro"showWhen localStorage.username Skye"><div classtoolbar macrotoolbar ToolbarCommands::ViewToolbar></div></div><div macro"showWhen localStorage.username Ivone"><div classtoolbar macrotoolbar ToolbarCommands::ViewToolbar><span macrotiddler newHere##OpenNote></span><span macrotiddler newHere##Corr_Nota></span><span macrotiddler NossasVisitas></span><span macrotiddler Atualiza><span macrotiddler Imprimir></span></span></div></div><div macro"showWhen localStorage.username Aline"><div classtoolbar macrotoolbar ToolbarCommands::ViewToolbar><span macrotiddler newHere##OpenNote></span><span macrotiddler newHere##Corr_Nota></span><span macrotiddler NossasVisitas></span><span macrotiddler Atualiza><span macrotiddler Imprimir></span></span></div></div><div classviewer macroview text wikified></div><div classtagClear></div><!--}}}-->/pre>/div>div titleWikifyPlugin modifierOSeuNome created201105061709 modified201902180258 tagsexcludeLists systemConfig server.page.revision201902180258 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre>/***|Name|WikifyPlugin||Source|http://www.TiddlyTools.com/#WikifyPlugin||Documentation|http://www.TiddlyTools.com/#WikifyPluginInfo||Version|1.2.0||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.1||Type|plugin||Description|insert sections, slices, fields, literals, or computed values into a wiki-format output|!!!!!Documentation> see WikifyPluginInfo!!!!!Revisions<<<2011.03.07 1.2.0 added handling in getFieldReference() for retrieving section values|please see WikifyPluginInfo for additional revision details|2007.06.22 1.0.0 initial release<<<!!!!!Code***///{{{version.extensions.WikifyPlugin {major: 1, minor: 2, revision: 0, date: new Date(2011,3,7)};config.macros.wikify{ handler: function(place,macroName,params,wikifier,paramString,tiddler) { var fmtparams.shift(); var values; var out""; if (!fmt.match(/%0-9/g) && params.length) // format has no markers, just join all params with spaces outfmt+" "+params.join(" "); else { // format param has markers, get values and perform substitution while (pparams.shift()) values.push(this.getFieldReference(place,p)); outfmt.format(values); } if (macroName"wikiCalc") outeval(out).toString(); wikify(out.unescapeLineBreaks(),place,null,tiddler); }, getFieldReference: function(place,p) { if (typeof p ! "string") return p; // literal non-string value... just return it... var valundefined; var herestory.findContainingTiddler(place); var currenthere?here.getAttribute(tiddler):; // SLICES: "::slicename" OR "here::slicename" OR "tiddlername::slicename" var partsp.split(config.textPrimitives.sliceSeparator); var tidparts0; var sliceparts1; if (slice) { // slice reference if (!tid || !tid.length || tid"here") tidcurrent; var valstore.getTiddlerSlice(tid,slice); } // SECTIONS: "##sectionname" OR "here##sectionname" OR "tiddlername##sectionname" if (!slice) { var partsp.split(config.textPrimitives.sectionSeparator); var tidparts0; var sectionparts1; if (section) { if (!tid || !tid.length || tid"here") tidcurrent; var valstore.getTiddlerText(tid+config.textPrimitives.sectionSeparator+section); } } // FIELDS: "fieldname" OR "fieldname@tiddlername" if (!slice && !section) { var partsp.split("@"); var fieldparts0; var tidparts1; if (!tid || !tid.length || tid"here") tidcurrent; var valstore.getValue(tid,field); } // not a slice, section or field, or value not found... return value unchanged return valundefined?p:val; }}//}}}//{{{// define alternative macroName for triggering pre-rendering call to eval()config.macros.wikiCalcconfig.macros.wikify;//}}}/pre>/div>div titleWindowTitle modifierOSeuNome created201304201454 modified202005280234 tagsexcludeLists sistem changecount6 server.typefile server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.page.revision202003271525>pre>UniGaia-Brasil/pre>/div>div titleadmin modifierOSeuNome created201807280048 modified202005232247 tagsexcludeLists sistem changecount111 server.page.revision201902172203 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre><<tiddler SideBarOptions>>/pre>/div>div titlenoTitleViewTemplate creatorOSeuNome modifierOSeuNome created201909241343 modified202004020633 tagsexcludeLists sistem noTitle changecount35>pre><!--{{{--><div macroshowWhen tiddler.tags.indexOf("show")!-1><div classtoolbar macrotiddler Show></div></div><div macro"showWhen localStorage.username Skye"><div classtoolbar macrotoolbar ToolbarCommands::ViewToolbar><span macrotiddler newHere##OpenNote></span><span macrotiddler newHere##NoticiaBreve></span><span macrotiddler newHere##Corr_Nota></span><span macrotiddler newHere##Corr_Estudo></span><span macrotiddler NossasVisitas></span><span macrotiddler Atualiza><span macrotiddler Imprimir></span></span></span></div></div><div macro"showWhen localStorage.username Ivone"><div classtoolbar macrotoolbar ToolbarCommands::ViewToolbar><span macrotiddler newHere##OpenNote></span><span macrotiddler newHere##NoticiaBreve></span><span macrotiddler newHere##Corr_Nota></span><span macrotiddler NossasVisitas></span><span macrotiddler Atualiza><span macrotiddler Imprimir></span></span></div></div><div macro"showWhen localStorage.username Aline"><div classtoolbar macrotoolbar ToolbarCommands::ViewToolbar><span macrotiddler newHere##OpenNote></span><span macrotiddler newHere##NoticiaBreve></span><span macrotiddler newHere##Corr_Nota></span><span macrotiddler NossasVisitas></span><span macrotiddler Atualiza><span macrotiddler Imprimir></span></span></div></div><div classviewer macroview text wikified></div><div classtagClear></div><!--}}}-->/pre>/div>div titlexxConfig modifierOSeuNome created201304201334 modified202403041720 tagsexcludeLists systemConfig changecount9 server.typefile server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.page.revision201910031856>pre>config.options.txUploadFilenameconfig.options.txtCursoIndexconfig.options.txtUploadStoreUrl"store.php"config.options.txtUploadFilename"index.html"config.options.txtUploadUserName"Skye"config.options.txtUploadTiddlerStoreUrl"storeTiddler.php"config.options.chkUploadTiddlertrueconfig.options.chkSinglePageModetrueconfig.options.chkSinglePagePermalinkfalsechkHttpReadOnlyfalseconfig.options.chkBackstagefalsereadOnlyfalseconfig.options.pasUploadPassword"6y7"/pre>/div>/div>!--POST-STOREAREA-->!--POST-BODY-START-->!--POST-BODY-END-->script idjsArea typetext/javascript>//!CDATA//// Please note://// * This code is designed to be readable but for compactness it only includes brief comments. You can see fuller comments// in the project repository at https://github.com/TiddlyWiki/tiddlywiki//// * You should never need to modify this source code directly. TiddlyWiki is carefully designed to allow deep customisation// without changing the core code. Please consult the development group at http://groups.google.com/group/TiddlyWikiDev//// JSLint directives/*global jQuery:false, version:false *//*jslint bitwise:true, browser:true, confusion:true, eqeq:true, evil:true, forin:true, maxerr:100, plusplus:true, regexp:true, sloppy:true, sub:true, undef:true, unparam:true, vars:true, white:true *///--//-- Configuration repository//--// Miscellaneous optionsvar config { numRssItems: 20, // Number of items in the RSS feed animDuration: 400, // Duration of UI animations in milliseconds cascadeFast: 20, // Speed for cascade animations (higher slower) cascadeSlow: 60, // Speed for EasterEgg cascade animations cascadeDepth: 5, // Depth of cascade animation locale: en // W3C language tag};// Hashmap of alternative parsers for the wikifierconfig.parsers {};// Adaptorsconfig.adaptors {};config.defaultAdaptor null;// Backstage tasksconfig.tasks {};// Annotationsconfig.annotations {};// Custom fields to be automatically added to new tiddlersconfig.defaultCustomFields {};// Messagesconfig.messages { messageClose: {}, dates: {}, tiddlerPopup: {}};// Options that can be set in the options panel and/or cookiesconfig.options { chkRegExpSearch: false, chkCaseSensitiveSearch: false, chkIncrementalSearch: true, chkAnimate: true, chkSaveBackups: true, chkAutoSave: false, chkGenerateAnRssFeed: false, chkSaveEmptyTemplate: false, chkOpenInNewWindow: true, chkToggleLinks: false, chkHttpReadOnly: true, chkForceMinorUpdate: false, chkConfirmDelete: true, chkInsertTabs: false, chkUsePreForStorage: true, // Whether to use pre> format for storage chkDisplayInstrumentation: false, txtBackupFolder: , txtEditorFocus: text, txtMainTab: tabTimeline, txtMoreTab: moreTabAll, txtMaxEditRows: 30, txtFileSystemCharSet: UTF-8, txtTheme: };config.optionsDesc {};config.optionsSource {};// Default tiddler templatesvar DEFAULT_VIEW_TEMPLATE 1;var DEFAULT_EDIT_TEMPLATE 2;config.tiddlerTemplates { 1: ViewTemplate, 2: EditTemplate};// More messages (rather a legacy layout that should not really be like this)config.views { wikified: { tag: {} }, editor: { tagChooser: {} }};// Backstage tasksconfig.backstageTasks save,importTask,tweak,upgrade,plugins;// Extensionsconfig.extensions {};// Macros; each has a handler member that is inserted laterconfig.macros { today: {}, version: {}, search: {sizeTextbox: 15}, tiddler: {}, tag: {}, tags: {}, tagging: {}, timeline: {}, allTags: {}, list: { all: {}, missing: {}, orphans: {}, shadowed: {}, touched: {}, filter: {} }, closeAll: {}, permaview: {}, saveChanges: {}, slider: {}, option: {}, options: {}, newTiddler: {}, newJournal: {}, tabs: {}, gradient: {}, message: {}, view: {defaultView: text}, edit: {}, tagChooser: {}, toolbar: {}, plugins: {}, refreshDisplay: {}, importTiddlers: {}, upgrade: { source: http://tiddlywiki-releases.tiddlyspace.com/upgrade, backupExtension: pre.core.upgrade }, sync: {}, annotations: {}};// Commands supported by the toolbar macroconfig.commands { closeTiddler: {}, closeOthers: {}, editTiddler: {}, saveTiddler: {hideReadOnly: true}, cancelTiddler: {}, deleteTiddler: {hideReadOnly: true}, permalink: {}, references: {type: popup}, jump: {type: popup}, syncing: {type: popup}, fields: {type: popup}};// Control of macro parameter evaluationconfig.evaluateMacroParameters all;// Basic regular expressionsconfig.textPrimitives { upperLetter: A-Z\u00c0-\u00de\u0150\u0170, lowerLetter: a-z0-9_\\-\u00df-\u00ff\u0151\u0171, anyLetter: A-Za-z0-9_\\-\u00c0-\u00de\u00df-\u00ff\u0150\u0170\u0151\u0171, anyLetterStrict: A-Za-z0-9\u00c0-\u00de\u00df-\u00ff\u0150\u0170\u0151\u0171};if(!((new RegExp(\u0150\u0170,g)).test(\u0150))) { config.textPrimitives { upperLetter: A-Z\u00c0-\u00de, lowerLetter: a-z0-9_\\-\u00df-\u00ff, anyLetter: A-Za-z0-9_\\-\u00c0-\u00de\u00df-\u00ff, anyLetterStrict: A-Za-z0-9\u00c0-\u00de\u00df-\u00ff };}config.textPrimitives.sliceSeparator ::;config.textPrimitives.sectionSeparator ##;config.textPrimitives.urlPattern (?:file|http|https|mailto|ftp|irc|news|data):^\\s\+(?:/|\\b);config.textPrimitives.unWikiLink ~;config.textPrimitives.wikiLink (?:(?: + config.textPrimitives.upperLetter + + + config.textPrimitives.lowerLetter + + + config.textPrimitives.upperLetter + config.textPrimitives.anyLetter + *)|(?: + config.textPrimitives.upperLetter + {2,} + config.textPrimitives.lowerLetter + +));config.textPrimitives.cssLookahead (?:( + config.textPrimitives.anyLetter + +)\\((^\\)\\|\\n+)(?:\\):))|(?:( + config.textPrimitives.anyLetter + +):(^;\\|\\n+););config.textPrimitives.cssLookaheadRegExp new RegExp(config.textPrimitives.cssLookahead,mg);config.textPrimitives.brackettedLink \\\\(^\\+)\\\\;config.textPrimitives.titledBrackettedLink \\\\(^\\\\\\|+)\\|(^\\\\\\|+)\\\\;config.textPrimitives.tiddlerForcedLinkRegExp new RegExp((?: + config.textPrimitives.titledBrackettedLink + )|(?: + config.textPrimitives.brackettedLink + )|(?: + config.textPrimitives.urlPattern + ),mg);config.textPrimitives.tiddlerAnyLinkRegExp new RegExp((+ config.textPrimitives.wikiLink + )|(?: + config.textPrimitives.titledBrackettedLink + )|(?: + config.textPrimitives.brackettedLink + )|(?: + config.textPrimitives.urlPattern + ),mg);config.glyphs { currBrowser: null, browsers: , codes: {}};//--//-- Shadow tiddlers//--config.shadowTiddlers { StyleSheet: , MarkupPreHead: , MarkupPostHead: , MarkupPreBody: , MarkupPostBody: , TabTimeline: timeline>>, TabAll: list all>>, TabTags: allTags excludeLists>>, TabMoreMissing: list missing>>, TabMoreOrphans: list orphans>>, TabMoreShadowed: list shadowed>>, AdvancedOptions: options>>, PluginManager: plugins>>, SystemSettings: , ToolbarCommands: |~ViewToolbar|closeTiddler closeOthers +editTiddler > fields syncing permalink references jump|\n|~EditToolbar|+saveTiddler -cancelTiddler deleteTiddler|, WindowTitle: tiddler SiteTitle>> - tiddler SiteSubtitle>>};// Browser detection... In a very few places, theres nothing else for it but to know what browser were using.config.userAgent navigator.userAgent.toLowerCase();config.browser { isIE: config.userAgent.indexOf(msie) ! -1 && config.userAgent.indexOf(opera) -1, isGecko: navigator.product Gecko && config.userAgent.indexOf(WebKit) -1, ieVersion: /MSIE (\d{1,2}.\d)/i.exec(config.userAgent), // config.browser.ieVersion1, if it exists, will be the IE version string, eg 6.0 isSafari: config.userAgent.indexOf(applewebkit) ! -1, isBadSafari: !((new RegExp(\u0150\u0170,g)).test(\u0150)), firefoxDate: /gecko\/(\d{8})/i.exec(config.userAgent), // config.browser.firefoxDate1, if it exists, will be Firefox release date as YYYYMMDD isOpera: config.userAgent.indexOf(opera) ! -1, isChrome: config.userAgent.indexOf(chrome) > -1, isLinux: config.userAgent.indexOf(linux) ! -1, isUnix: config.userAgent.indexOf(x11) ! -1, isMac: config.userAgent.indexOf(mac) ! -1, isWindows: config.userAgent.indexOf(win) ! -1};merge(config.glyphs,{ browsers: function() {return config.browser.isIE;}, function() {return true;} , codes: { downTriangle: \u25BC,\u25BE, downArrow: \u2193,\u2193, bentArrowLeft: \u2190,\u21A9, bentArrowRight: \u2192,\u21AA }});//--//-- Translateable strings//--// Strings in double quotes should be translated; strings in single quotes should be left alonemerge(config.options,{ txtUserName: YourName});merge(config.tasks,{ save: {text: save, tooltip: Save your changes to this TiddlyWiki}, importTask: {text: import, tooltip: Import tiddlers and plugins from other TiddlyWiki files and servers, content: importTiddlers>>}, tweak: {text: tweak, tooltip: Tweak the appearance and behaviour of TiddlyWiki, content: options>>}, upgrade: {text: upgrade, tooltip: Upgrade TiddlyWiki core code, content: upgrade>>}, plugins: {text: plugins, tooltip: Manage installed plugins, content: plugins>>}});// Options that can be set in the options panel and/or cookiesmerge(config.optionsDesc,{ txtUserName: Username for signing your edits, chkRegExpSearch: Enable regular expressions for searches, chkCaseSensitiveSearch: Case-sensitive searching, chkIncrementalSearch: Incremental key-by-key searching, chkAnimate: Enable animations, chkSaveBackups: Keep backup file when saving changes, chkAutoSave: Automatically save changes, chkGenerateAnRssFeed: Generate an RSS feed when saving changes, chkSaveEmptyTemplate: Generate an empty template when saving changes, chkOpenInNewWindow: Open external links in a new window, chkToggleLinks: Clicking on links to open tiddlers causes them to close, chkHttpReadOnly: Hide editing features when viewed over HTTP, chkForceMinorUpdate: Dont update modifier username and date when editing tiddlers, chkConfirmDelete: Require confirmation before deleting tiddlers, chkInsertTabs: Use the tab key to insert tab characters instead of moving between fields, txtBackupFolder: Name of folder to use for backups, txtMaxEditRows: Maximum number of rows in edit boxes, txtTheme: Name of the theme to use, txtFileSystemCharSet: Default character set for saving changes (Firefox/Mozilla only)});merge(config.messages,{ customConfigError: Problems were encountered loading plugins. See PluginManager for details, pluginError: Error: %0, pluginDisabled: Not executed because disabled via systemConfigDisable tag, pluginForced: Executed because forced via systemConfigForce tag, pluginVersionError: Not executed because this plugin needs a newer version of TiddlyWiki, nothingSelected: Nothing is selected. You must select one or more items first, savedSnapshotError: It appears that this TiddlyWiki has been incorrectly saved. Please see http://www.tiddlywiki.com/#Download for details, subtitleUnknown: (unknown), undefinedTiddlerToolTip: The tiddler %0 doesnt yet exist, shadowedTiddlerToolTip: The tiddler %0 doesnt yet exist, but has a pre-defined shadow value, tiddlerLinkTooltip: %0 - %1, %2, externalLinkTooltip: External link to %0, noTags: There are no tagged tiddlers, notFileUrlError: You need to save this TiddlyWiki to a file before you can save changes, cantSaveError: Its not possible to save changes. Possible reasons include:\n- your browser doesnt support saving (Firefox, Internet Explorer, Safari and Opera all work if properly configured)\n- the pathname to your TiddlyWiki file contains illegal characters\n- the TiddlyWiki HTML file has been moved or renamed, invalidFileError: The original file %0 does not appear to be a valid TiddlyWiki, backupSaved: Backup saved, backupFailed: Failed to save backup file, rssSaved: RSS feed saved, rssFailed: Failed to save RSS feed file, emptySaved: Empty template saved, emptyFailed: Failed to save empty template file, mainSaved: Main TiddlyWiki file saved, mainDownload: Downloading/saving main TiddlyWiki file, mainDownloadManual: RIGHT CLICK HERE to download/save main TiddlyWiki file, mainFailed: Failed to save main TiddlyWiki file. Your changes have not been saved, macroError: Error in macro %0>>, macroErrorDetails: Error while executing macro %0>>:\n%1, missingMacro: No such macro, overwriteWarning: A tiddler named %0 already exists. Choose OK to overwrite it, unsavedChangesWarning: WARNING! There are unsaved changes in TiddlyWiki\n\nChoose OK to save\nChoose CANCEL to discard, confirmExit: --------------------------------\n\nThere are unsaved changes in TiddlyWiki. If you continue you will lose those changes\n\n--------------------------------, saveInstructions: SaveChanges, unsupportedTWFormat: Unsupported TiddlyWiki format %0, tiddlerSaveError: Error when saving tiddler %0, tiddlerLoadError: Error when loading tiddler %0, wrongSaveFormat: Cannot save with storage format %0. Using standard format for save., invalidFieldName: Invalid field name %0, fieldCannotBeChanged: Field %0 cannot be changed, loadingMissingTiddler: Attempting to retrieve the tiddler %0 from the %1 server at:\n\n%2 in the workspace %3, upgradeDone: The upgrade to version %0 is now complete\n\nClick OK to reload the newly upgraded TiddlyWiki, invalidCookie: Invalid cookie %0});merge(config.messages.messageClose,{ text: close, tooltip: close this message area});config.messages.backstage { open: {text: backstage, tooltip: Open the backstage area to perform authoring and editing tasks}, close: {text: close, tooltip: Close the backstage area}, prompt: backstage: , decal: { edit: {text: edit, tooltip: Edit the tiddler %0} }};config.messages.listView { tiddlerTooltip: Click for the full text of this tiddler, previewUnavailable: (preview not available)};config.messages.dates.months January, February, March, April, May, June, July, August, September, October, November,December;config.messages.dates.days Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday;config.messages.dates.shortMonths Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec;config.messages.dates.shortDays Sun, Mon, Tue, Wed, Thu, Fri, Sat;// suffixes for dates, eg 1st,2nd,3rd...30th,31stconfig.messages.dates.daySuffixes st,nd,rd,th,th,th,th,th,th,th, th,th,th,th,th,th,th,th,th,th, st,nd,rd,th,th,th,th,th,th,th, st;config.messages.dates.am am;config.messages.dates.pm pm;merge(config.messages.tiddlerPopup,{ });merge(config.views.wikified.tag,{ labelNoTags: no tags, labelTags: tags: , openTag: Open tag %0, tooltip: Show tiddlers tagged with %0, openAllText: Open all, openAllTooltip: Open all of these tiddlers, popupNone: No other tiddlers tagged with %0});merge(config.views.wikified,{ defaultText: The tiddler %0 doesnt yet exist. Double-click to create it, defaultModifier: (missing), shadowModifier: (built-in shadow tiddler), dateFormat: DD MMM YYYY, createdPrompt: created});merge(config.views.editor,{ tagPrompt: Type tags separated with spaces, use double square brackets if necessary, or add existing, defaultText: Type the text for %0});merge(config.views.editor.tagChooser,{ text: tags, tooltip: Choose existing tags to add to this tiddler, popupNone: There are no tags defined, tagTooltip: Add the tag %0});merge(config.messages,{ sizeTemplates: {unit: 1024*1024*1024, template: %0\u00a0GB}, {unit: 1024*1024, template: %0\u00a0MB}, {unit: 1024, template: %0\u00a0KB}, {unit: 1, template: %0\u00a0B} });merge(config.macros.search,{ label: search, prompt: Search this TiddlyWiki, placeholder: , accessKey: F, successMsg: %0 tiddlers found matching %1, failureMsg: No tiddlers found matching %0});merge(config.macros.tagging,{ label: tagging: , labelNotTag: not tagging, tooltip: List of tiddlers tagged with %0});merge(config.macros.timeline,{ dateFormat: DD MMM YYYY});merge(config.macros.allTags,{ tooltip: Show tiddlers tagged with %0, noTags: There are no tagged tiddlers});config.macros.list.all.prompt All tiddlers in alphabetical order;config.macros.list.missing.prompt Tiddlers that have links to them but are not defined;config.macros.list.orphans.prompt Tiddlers that are not linked to from any other tiddlers;config.macros.list.shadowed.prompt Tiddlers shadowed with default contents;config.macros.list.touched.prompt Tiddlers that have been modified locally;merge(config.macros.closeAll,{ label: close all, prompt: Close all displayed tiddlers (except any that are being edited)});merge(config.macros.permaview,{ label: permaview, prompt: Link to an URL that retrieves all the currently displayed tiddlers});merge(config.macros.saveChanges,{ label: save changes, prompt: Save all tiddlers to create a new TiddlyWiki, accessKey: S});merge(config.macros.newTiddler,{ label: new tiddler, prompt: Create a new tiddler, title: New Tiddler, accessKey: N});merge(config.macros.newJournal,{ label: new journal, prompt: Create a new tiddler from the current date and time, accessKey: J});merge(config.macros.options,{ wizardTitle: Tweak advanced options, step1Title: These options are saved in cookies in your browser, step1Html: input typehidden namemarkList>/input>br>input typecheckbox checkedfalse namechkUnknown>Show unknown options/input>, unknownDescription: //(unknown)//, listViewTemplate: { columns: {name: Option, field: option, title: Option, type: String}, {name: Description, field: description, title: Description, type: WikiText}, {name: Name, field: name, title: Name, type: String} , rowClasses: {className: lowlight, field: lowlight} } });merge(config.macros.plugins,{ wizardTitle: Manage plugins, step1Title: Currently loaded plugins, step1Html: input typehidden namemarkList>/input>, // DO NOT TRANSLATE skippedText: (This plugin has not been executed because it was added since startup), noPluginText: There are no plugins installed, confirmDeleteText: Are you sure you want to delete these plugins:\n\n%0, removeLabel: remove systemConfig tag, removePrompt: Remove systemConfig tag, deleteLabel: delete, deletePrompt: Delete these tiddlers forever, listViewTemplate: { columns: {name: Selected, field: Selected, rowName: title, type: Selector}, {name: Tiddler, field: tiddler, title: Tiddler, type: Tiddler}, {name: Description, field: Description, title: Description, type: String}, {name: Version, field: Version, title: Version, type: String}, {name: Size, field: size, tiddlerLink: size, title: Size, type: Size}, {name: Forced, field: forced, title: Forced, tag: systemConfigForce, type: TagCheckbox}, {name: Disabled, field: disabled, title: Disabled, tag: systemConfigDisable, type: TagCheckbox}, {name: Executed, field: executed, title: Loaded, type: Boolean, trueText: Yes, falseText: No}, {name: Startup Time, field: startupTime, title: Startup Time, type: String}, {name: Error, field: error, title: Status, type: Boolean, trueText: Error, falseText: OK}, {name: Log, field: log, title: Log, type: StringList} , rowClasses: {className: error, field: error}, {className: warning, field: warning} }, listViewTemplateReadOnly: { columns: {name: Tiddler, field: tiddler, title: Tiddler, type: Tiddler}, {name: Description, field: Description, title: Description, type: String}, {name: Version, field: Version, title: Version, type: String}, {name: Size, field: size, tiddlerLink: size, title: Size, type: Size}, {name: Executed, field: executed, title: Loaded, type: Boolean, trueText: Yes, falseText: No}, {name: Startup Time, field: startupTime, title: Startup Time, type: String}, {name: Error, field: error, title: Status, type: Boolean, trueText: Error, falseText: OK}, {name: Log, field: log, title: Log, type: StringList} , rowClasses: {className: error, field: error}, {className: warning, field: warning} } });merge(config.macros.toolbar,{ moreLabel: more, morePrompt: Show additional commands, lessLabel: less, lessPrompt: Hide additional commands, separator: | });merge(config.macros.refreshDisplay,{ label: refresh, prompt: Redraw the entire TiddlyWiki display });merge(config.macros.importTiddlers,{ readOnlyWarning: You cannot import into a read-only TiddlyWiki file. Try opening it from a file:// URL, wizardTitle: Import tiddlers from another file or server, step1Title: Step 1: Locate the server or TiddlyWiki file, step1Html: Specify the type of the server: select nameselTypes>option value>Choose.../option>/select>br>Enter the URL or pathname here: input typetext size50 nametxtPath>br>...or browse for a file: input typefile size50 nametxtBrowse>br>hr>...or select a pre-defined feed: select nameselFeeds>option value>Choose.../option>/select>, openLabel: open, openPrompt: Open the connection to this file or server, statusOpenHost: Opening the host, statusGetWorkspaceList: Getting the list of available workspaces, step2Title: Step 2: Choose the workspace, step2Html: Enter a workspace name: input typetext size50 nametxtWorkspace>br>...or select a workspace: select nameselWorkspace>option value>Choose.../option>/select>, cancelLabel: cancel, cancelPrompt: Cancel this import, statusOpenWorkspace: Opening the workspace, statusGetTiddlerList: Getting the list of available tiddlers, errorGettingTiddlerList: Error getting list of tiddlers, click Cancel to try again, errorGettingTiddlerListHttp404: Error retrieving tiddlers from url, please ensure the url exists. Click Cancel to try again., errorGettingTiddlerListHttp: Error retrieving tiddlers from url, please ensure this url exists and is a hrefhttp://enable-cors.org/>CORS/a> enabled, errorGettingTiddlerListFile: Error retrieving tiddlers from local file, please make sure the file is in the same directory as your TiddlyWiki. Click Cancel to try again., step3Title: Step 3: Choose the tiddlers to import, step3Html: input typehidden namemarkList>/input>br>input typecheckbox checkedtrue namechkSync>Keep these tiddlers linked to this server so that you can synchronise subsequent changes/input>br>input typecheckbox namechkSave>Save the details of this server in a systemServer tiddler called:/input> input typetext size25 nametxtSaveTiddler>, importLabel: import, importPrompt: Import these tiddlers, confirmOverwriteText: Are you sure you want to overwrite these tiddlers:\n\n%0, step4Title: Step 4: Importing %0 tiddler(s), step4Html: input typehidden namemarkReport>/input>, // DO NOT TRANSLATE doneLabel: done, donePrompt: Close this wizard, statusDoingImport: Importing tiddlers, statusDoneImport: All tiddlers imported, systemServerNamePattern: %2 on %1, systemServerNamePatternNoWorkspace: %1, confirmOverwriteSaveTiddler: The tiddler %0 already exists. Click OK to overwrite it with the details of this server, or Cancel to leave it unchanged, serverSaveTemplate: |Type:|%0|\n|URL:|%1|\n|Workspace:|%2|\n\nThis tiddler was automatically created to record the details of this server, serverSaveModifier: (System), listViewTemplate: { columns: {name: Selected, field: Selected, rowName: title, type: Selector}, {name: Tiddler, field: tiddler, title: Tiddler, type: Tiddler}, {name: Size, field: size, tiddlerLink: size, title: Size, type: Size}, {name: Tags, field: tags, title: Tags, type: Tags} , rowClasses: } });merge(config.macros.upgrade,{ wizardTitle: Upgrade TiddlyWiki core code, step1Title: Update or repair this TiddlyWiki to the latest release, step1Html: You are about to upgrade to the latest release of the TiddlyWiki core code (from a href%0 classexternalLink target_blank>%1/a>). Your content will be preserved across the upgrade.br>br>Note that core upgrades have been known to interfere with older plugins. If you run into problems with the upgraded file, see a hrefhttp://www.tiddlywiki.org/wiki/CoreUpgrades classexternalLink target_blank>http://www.tiddlywiki.org/wiki/CoreUpgrades/a>, errorCantUpgrade: Unable to upgrade this TiddlyWiki. You can only perform upgrades on TiddlyWiki files stored locally, errorNotSaved: You must save changes before you can perform an upgrade, step2Title: Confirm the upgrade details, step2Html_downgrade: You are about to downgrade to TiddlyWiki version %0 from %1.br>br>Downgrading to an earlier version of the core code is not recommended, step2Html_restore: This TiddlyWiki appears to be already using the latest version of the core code (%0).br>br>You can continue to upgrade anyway to ensure that the core code hasnt been corrupted or damaged, step2Html_upgrade: You are about to upgrade to TiddlyWiki version %0 from %1, upgradeLabel: upgrade, upgradePrompt: Prepare for the upgrade process, statusPreparingBackup: Preparing backup, statusSavingBackup: Saving backup file, errorSavingBackup: There was a problem saving the backup file, statusLoadingCore: Loading core code, errorLoadingCore: Error loading the core code, errorCoreFormat: Error with the new core code, statusSavingCore: Saving the new core code, statusReloadingCore: Reloading the new core code, startLabel: start, startPrompt: Start the upgrade process, cancelLabel: cancel, cancelPrompt: Cancel the upgrade process, step3Title: Upgrade cancelled, step3Html: You have cancelled the upgrade process });merge(config.macros.annotations,{ });merge(config.commands.closeTiddler,{ text: close, tooltip: Close this tiddler});merge(config.commands.closeOthers,{ text: close others, tooltip: Close all other tiddlers});merge(config.commands.editTiddler,{ text: edit, tooltip: Edit this tiddler, readOnlyText: view, readOnlyTooltip: View the source of this tiddler});merge(config.commands.saveTiddler,{ text: done, tooltip: Save changes to this tiddler});merge(config.commands.cancelTiddler,{ text: cancel, tooltip: Undo changes to this tiddler, warning: Are you sure you want to abandon your changes to %0?, readOnlyText: done, readOnlyTooltip: View this tiddler normally});merge(config.commands.deleteTiddler,{ text: delete, tooltip: Delete this tiddler, warning: Are you sure you want to delete %0?});merge(config.commands.permalink,{ text: permalink, tooltip: Permalink for this tiddler});merge(config.commands.references,{ text: references, tooltip: Show tiddlers that link to this one, popupNone: No references});merge(config.commands.jump,{ text: jump, tooltip: Jump to another open tiddler});merge(config.commands.fields,{ text: fields, tooltip: Show the extended fields of this tiddler, emptyText: There are no extended fields for this tiddler, listViewTemplate: { columns: {name: Field, field: field, title: Field, type: String}, {name: Value, field: value, title: Value, type: String} , rowClasses: , buttons: }});merge(config.shadowTiddlers,{ DefaultTiddlers: GettingStarted, MainMenu: GettingStarted, SiteTitle: My TiddlyWiki, SiteSubtitle: a reusable non-linear personal web notebook, SiteUrl: , SideBarOptions: search>>closeAll>>permaview>>newTiddler>>newJournal DD MMM YYYY journal>>saveChanges>>slider chkSliderOptionsPanel OptionsPanel options \u00bb Change TiddlyWiki advanced options>>, SideBarTabs: tabs txtMainTab Timeline Timeline TabTimeline All All tiddlers TabAll Tags All tags TabTags More More lists TabMore>>, TabMore: tabs txtMoreTab Missing Missing tiddlers TabMoreMissing Orphans Orphaned tiddlers TabMoreOrphans Shadowed Shadowed tiddlers TabMoreShadowed>> });merge(config.annotations,{ AdvancedOptions: This shadow tiddler provides access to several advanced options, ColorPalette: These values in this shadow tiddler determine the colour scheme of the ~TiddlyWiki user interface, DefaultTiddlers: The tiddlers listed in this shadow tiddler will be automatically displayed when ~TiddlyWiki starts up, EditTemplate: The HTML template in this shadow tiddler determines how tiddlers look while they are being edited, GettingStarted: This shadow tiddler provides basic usage instructions, ImportTiddlers: This shadow tiddler provides access to importing tiddlers, MainMenu: This shadow tiddler is used as the contents of the main menu in the left-hand column of the screen, MarkupPreHead: This tiddler is inserted at the top of the head> section of the TiddlyWiki HTML file, MarkupPostHead: This tiddler is inserted at the bottom of the head> section of the TiddlyWiki HTML file, MarkupPreBody: This tiddler is inserted at the top of the body> section of the TiddlyWiki HTML file, MarkupPostBody: This tiddler is inserted at the end of the body> section of the TiddlyWiki HTML file immediately after the script block, OptionsPanel: This shadow tiddler is used as the contents of the options panel slider in the right-hand sidebar, PageTemplate: The HTML template in this shadow tiddler determines the overall ~TiddlyWiki layout, PluginManager: This shadow tiddler provides access to the plugin manager, SideBarOptions: This shadow tiddler is used as the contents of the option panel in the right-hand sidebar, SideBarTabs: This shadow tiddler is used as the contents of the tabs panel in the right-hand sidebar, SiteSubtitle: This shadow tiddler is used as the second part of the page title, SiteTitle: This shadow tiddler is used as the first part of the page title, SiteUrl: This shadow tiddler should be set to the full target URL for publication, StyleSheetColors: This shadow tiddler contains CSS definitions related to the color of page elements. DO NOT EDIT THIS TIDDLER, instead make your changes in the StyleSheet shadow tiddler, StyleSheet: This tiddler can contain custom CSS definitions, StyleSheetLayout: This shadow tiddler contains CSS definitions related to the layout of page elements. DO NOT EDIT THIS TIDDLER, instead make your changes in the StyleSheet shadow tiddler, StyleSheetLocale: This shadow tiddler contains CSS definitions related to the translation locale, StyleSheetPrint: This shadow tiddler contains CSS definitions for printing, SystemSettings: This tiddler is used to store configuration options for this TiddlyWiki document, TabAll: This shadow tiddler contains the contents of the All tab in the right-hand sidebar, TabMore: This shadow tiddler contains the contents of the More tab in the right-hand sidebar, TabMoreMissing: This shadow tiddler contains the contents of the Missing tab in the right-hand sidebar, TabMoreOrphans: This shadow tiddler contains the contents of the Orphans tab in the right-hand sidebar, TabMoreShadowed: This shadow tiddler contains the contents of the Shadowed tab in the right-hand sidebar, TabTags: This shadow tiddler contains the contents of the Tags tab in the right-hand sidebar, TabTimeline: This shadow tiddler contains the contents of the Timeline tab in the right-hand sidebar, ToolbarCommands: This shadow tiddler determines which commands are shown in tiddler toolbars, ViewTemplate: The HTML template in this shadow tiddler determines how tiddlers look });//--//-- Main//--var params null; // Command line parametersvar store null; // TiddlyWiki storagevar story null; // Main storyvar formatter null; // Default formatters for the wikifiervar anim typeof Animator function ? new Animator() : null; // Animation enginevar readOnly false; // Whether were in readonly modevar highlightHack null; // Embarrassing hack department...var hadConfirmExit false; // Dont warn more than oncevar safeMode false; // Disable all plugins and cookiesvar showBackstage; // Whether to include the backstage areavar installedPlugins ; // Information filled in when plugins are executedvar startingUp false; // Whether were in the process of starting upvar pluginInfo,tiddler; // Used to pass information to plugins in loadPlugins()// Whether this file can be saved back to the same location Preemptionwindow.allowSave window.allowSave || function(l){ return true;}// Whether this file is being viewed locallywindow.isLocal function(){ return (document.location.protocol file:);}// Whether to use the JavaSaver appletvar useJavaSaver window.isLocal() && (config.browser.isSafari || config.browser.isOpera);// Allow preemption code a chance to tweak config and useJavaSaver Preemptionif (window.tweakConfig) window.tweakConfig();if(!window || !window.console) { console {tiddlywiki:true,log:function(message) {displayMessage(message);}};}// Starting upfunction main(){ window.originalHTMLrecreateOriginal(); var t10,t9,t8,t7,t6,t5,t4,t3,t2,t1,t0 new Date(); startingUp true; var doc jQuery(document); jQuery.noConflict(); window.onbeforeunload function(e) {if(window.confirmExit) return confirmExit();}; params getParameters(); if(params) params params.parseParams(open,null,false); store new TiddlyWiki({config:config}); invokeParamifier(params,oninit); story new Story(tiddlerDisplay,tiddler); addEvent(document,click,Popup.onDocumentClick); saveTest(); var s; for(s0; sconfig.notifyTiddlers.length; s++) store.addNotification(config.notifyTiddlerss.name,config.notifyTiddlerss.notify); t1 new Date(); loadShadowTiddlers(); doc.trigger(loadShadows); t2 new Date(); store.loadFromDiv(storeArea,store,true); doc.trigger(loadTiddlers); loadOptions(); t3 new Date(); invokeParamifier(params,onload); t4 new Date(); readOnly window.isLocal() ? false : config.options.chkHttpReadOnly; var pluginProblem loadPlugins(systemConfig); doc.trigger(loadPlugins); t5 new Date(); formatter new Formatter(config.formatters); invokeParamifier(params,onconfig); story.switchTheme(config.options.txtTheme); showBackstage showBackstage ! undefined ? showBackstage : !readOnly; t6 new Date(); var m; for(m in config.macros) { if(config.macrosm.init) config.macrosm.init(); } t7 new Date(); store.notifyAll(); t8 new Date(); restart(); refreshDisplay(); t9 new Date(); if(pluginProblem) { story.displayTiddler(null,PluginManager); displayMessage(config.messages.customConfigError); } if(showBackstage) backstage.init(); t10 new Date(); if(config.options.chkDisplayInstrumentation) { displayMessage(LoadShadows + (t2-t1) + ms); displayMessage(LoadFromDiv + (t3-t2) + ms); displayMessage(LoadPlugins + (t5-t4) + ms); displayMessage(Macro init + (t7-t6) + ms); displayMessage(Notify + (t8-t7) + ms); displayMessage(Restart + (t9-t8) + ms); displayMessage(Total: + (t10-t0) + ms); } startingUp false; doc.trigger(startup);}// Called on unload. All functions called conditionally since they themselves may have been unloaded.function unload(){ if(window.checkUnsavedChanges) checkUnsavedChanges(); if(window.scrubNodes) scrubNodes(document.body);}// Restartingfunction restart(){ invokeParamifier(params,onstart); if(story.isEmpty()) { story.displayDefaultTiddlers(); } window.scrollTo(0,0);}function saveTest(){ var s document.getElementById(saveTest); if(s.hasChildNodes()) alert(config.messages.savedSnapshotError); s.appendChild(document.createTextNode(savetest));}function loadShadowTiddlers(){ var shadows new TiddlyWiki(); shadows.loadFromDiv(shadowArea,shadows,true); shadows.forEachTiddler(function(title,tiddler){config.shadowTiddlerstitle tiddler.text;});}function loadPlugins(tag){ if(safeMode) return false; var tiddlers store.getTaggedTiddlers(tag); tiddlers.sort(function(a,b) {return a.title b.title ? -1 : (a.title b.title ? 0 : 1);}); var toLoad ; var nLoaded 0; var map {}; var nPlugins tiddlers.length; installedPlugins ; var i; for(i0; inPlugins; i++) { var p getPluginInfo(tiddlersi); installedPluginsi p; var n p.Name || p.title; if(n) mapn p; n p.Source; if(n) mapn p; } var visit function(p) { if(!p || p.done) return; p.done 1; var reqs p.Requires; if(reqs) { reqs reqs.readBracketedList(); var i; for(i0; ireqs.length; i++) visit(mapreqsi); } toLoad.push(p); }; for(i0; inPlugins; i++) visit(installedPluginsi); for(i0; itoLoad.length; i++) { p toLoadi; pluginInfo p; tiddler p.tiddler; if(isPluginExecutable(p)) { if(isPluginEnabled(p)) { p.executed true; var startTime new Date(); try { if(tiddler.text) window.eval(tiddler.text); nLoaded++; } catch(ex) { p.log.push(config.messages.pluginError.format(exceptionText(ex))); p.error true; if(!console.tiddlywiki) { console.log(error evaluating + tiddler.title, ex); } } pluginInfo.startupTime String((new Date()) - startTime) + ms; } else { nPlugins--; } } else { p.warning true; } } return nLoaded ! nPlugins;}function getPluginInfo(tiddler){ var p store.getTiddlerSlices(tiddler.title,Name,Description,Version,Requires,CoreVersion,Date,Source,Author,License,Browsers); p.tiddler tiddler; p.title tiddler.title; p.log ; return p;}// Check that a particular plugin is valid for executionfunction isPluginExecutable(plugin){ if(plugin.tiddler.isTagged(systemConfigForce)) { plugin.log.push(config.messages.pluginForced); return true; } if(pluginCoreVersion) { var coreVersion pluginCoreVersion.split(.); var w parseInt(coreVersion0,10) - version.major; if(w 0 && coreVersion1) w parseInt(coreVersion1,10) - version.minor; if(w 0 && coreVersion2) w parseInt(coreVersion2,10) - version.revision; if(w > 0) { plugin.log.push(config.messages.pluginVersionError); return false; } } return true;}function isPluginEnabled(plugin){ if(plugin.tiddler.isTagged(systemConfigDisable)) { plugin.log.push(config.messages.pluginDisabled); return false; } return true;}//--//-- Paramifiers//--function getParameters(){ var p null; if(window.location.hash) { p decodeURIComponent(window.location.hash.substr(1)); if(config.browser.firefoxDate ! null && config.browser.firefoxDate1 20051111) p convertUTF8ToUnicode(p); } return p;}function invokeParamifier(params,handler){ if(!params || params.length undefined || params.length 1) return; var i; for(i1; iparams.length; i++) { var p config.paramifiersparamsi.name; if(p && phandler instanceof Function) phandler(paramsi.value); else { var h config.optionHandlersparamsi.name.substr(0,3); if(h && h.set instanceof Function) h.set(paramsi.name,paramsi.value); } }}config.paramifiers {};config.paramifiers.start { oninit: function(v) { safeMode v.toLowerCase() safe; }};config.paramifiers.open { onstart: function(v) { if(!readOnly || store.tiddlerExists(v) || store.isShadowTiddler(v)) story.displayTiddler(bottom,v,null,false,null); }};config.paramifiers.story { onstart: function(v) { var list store.getTiddlerText(v,).parseParams(open,null,false); invokeParamifier(list,onstart); }};config.paramifiers.search { onstart: function(v) { story.search(v,false,false); }};config.paramifiers.searchRegExp { onstart: function(v) { story.prototype.search(v,false,true); }};config.paramifiers.tag { onstart: function(v) { story.displayTiddlers(null,store.filterTiddlers(tag+v+),null,false,null); }};config.paramifiers.newTiddler { onstart: function(v) { var args v.parseParams(anon, null, null)0; var title args.title ? args.title0 : v; var customFields args.fields ? args.fields0 : null; if(!readOnly) { story.displayTiddler(null,title,DEFAULT_EDIT_TEMPLATE,false,null,customFields); story.focusTiddler(title,text); var i,tags args.tag || ; for(i0;itags.length;i++) { story.setTiddlerTag(title,tagsi,+1); } } }};config.paramifiers.newJournal { onstart: function(v) { if(!readOnly) { var now new Date(); var title now.formatString(v.trim()); story.displayTiddler(null,title,DEFAULT_EDIT_TEMPLATE); story.focusTiddler(title,text); } }};config.paramifiers.readOnly { onconfig: function(v) { var p v.toLowerCase(); readOnly p yes ? true : (p no ? false : readOnly); }};config.paramifiers.theme { onconfig: function(v) { story.switchTheme(v); }};config.paramifiers.upgrade { onstart: function(v) { upgradeFrom(v); }};config.paramifiers.recent { onstart: function(v) { var titles; var i,tiddlersstore.getTiddlers(modified,excludeLists).reverse(); for(i0; iv && itiddlers.length; i++) titles.push(tiddlersi.title); story.displayTiddlers(null,titles); }};config.paramifiers.filter { onstart: function(v) { story.displayTiddlers(null,store.filterTiddlers(v),null,false); }};//--//-- Formatter helpers//--function Formatter(formatters){ var n; this.formatters ; var pattern ; for(n0; nformatters.length; n++) { pattern.push(( + formattersn.match + )); this.formatters.push(formattersn); } this.formatterRegExp new RegExp(pattern.join(|),mg);}config.formatterHelpers { createElementAndWikify: function(w) { w.subWikifyTerm(createTiddlyElement(w.output,this.element),this.termRegExp); }, inlineCssHelper: function(w) { var styles ; config.textPrimitives.cssLookaheadRegExp.lastIndex w.nextMatch; var lookaheadMatch config.textPrimitives.cssLookaheadRegExp.exec(w.source); while(lookaheadMatch && lookaheadMatch.index w.nextMatch) { var s,v; if(lookaheadMatch1) { s lookaheadMatch1.unDash(); v lookaheadMatch2; } else { s lookaheadMatch3.unDash(); v lookaheadMatch4; } if(sbgcolor) s backgroundColor; if(sfloat) s cssFloat; styles.push({style: s, value: v}); w.nextMatch lookaheadMatch.index + lookaheadMatch0.length; config.textPrimitives.cssLookaheadRegExp.lastIndex w.nextMatch; lookaheadMatch config.textPrimitives.cssLookaheadRegExp.exec(w.source); } return styles; }, applyCssHelper: function(e,styles) { var t; for(t0; t styles.length; t++) { try { e.stylestylest.style stylest.value; } catch (ex) { } } }, enclosedTextHelper: function(w) { this.lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch this.lookaheadRegExp.exec(w.source); if(lookaheadMatch && lookaheadMatch.index w.matchStart) { var text lookaheadMatch1; if(config.browser.isIE && (config.browser.ieVersion1 10)) text text.replace(/\n/g,\r); createTiddlyElement(w.output,this.element,null,null,text); w.nextMatch lookaheadMatch.index + lookaheadMatch0.length; } }, isExternalLink: function(link) { if(store.tiddlerExists(link) || store.isShadowTiddler(link)) { return false; } var urlRegExp new RegExp(config.textPrimitives.urlPattern,mg); if(urlRegExp.exec(link)) { return true; } if(link.indexOf(.)!-1 || link.indexOf(\\)!-1 || link.indexOf(/)!-1 || link.indexOf(#)!-1) { return true; } return false; }};//--//-- Standard formatters//--config.formatters { name: table, match: ^\\|(?:^\\n*)\\|(?:fhck?)$, lookaheadRegExp: /^\|(^\n*)\|(fhck?)$/mg, rowTermRegExp: /(\|(?:fhck?)$\n?)/mg, cellRegExp: /(?:\|(^\n\|*)\|)|(\|fhck?$\n?)/mg, cellTermRegExp: /((?:\x20*)\|)/mg, rowTypes: {c:caption, h:thead, :tbody, f:tfoot}, handler: function(w) { var table createTiddlyElement(w.output,table,null,twtable); var prevColumns ; var currRowType null; var rowContainer; var rowCount 0; var onmouseover function() {jQuery(this).addClass(hoverRow);}; var onmouseout function() {jQuery(this).removeClass(hoverRow);}; w.nextMatch w.matchStart; this.lookaheadRegExp.lastIndex w.nextMatch; var lookaheadMatch this.lookaheadRegExp.exec(w.source); while(lookaheadMatch && lookaheadMatch.index w.nextMatch) { var nextRowType lookaheadMatch2; if(nextRowType k) { table.className lookaheadMatch1; w.nextMatch + lookaheadMatch0.length+1; } else { if(nextRowType ! currRowType) { rowContainer createTiddlyElement(table,this.rowTypesnextRowType); currRowType nextRowType; } if(currRowType c) { // Caption w.nextMatch++; if(rowContainer ! table.firstChild) table.insertBefore(rowContainer,table.firstChild); rowContainer.setAttribute(align,rowCount 0?top:bottom); w.subWikifyTerm(rowContainer,this.rowTermRegExp); } else { var theRow createTiddlyElement(rowContainer,tr,null,rowCount%2?oddRow:evenRow); theRow.onmouseover onmouseover; theRow.onmouseout onmouseout; this.rowHandler(w,theRow,prevColumns); rowCount++; } } this.lookaheadRegExp.lastIndex w.nextMatch; lookaheadMatch this.lookaheadRegExp.exec(w.source); } }, rowHandler: function(w,e,prevColumns) { var col 0; var colSpanCount 1; var prevCell null; this.cellRegExp.lastIndex w.nextMatch; var cellMatch this.cellRegExp.exec(w.source); while(cellMatch && cellMatch.index w.nextMatch) { if(cellMatch1 ~) { // Rowspan var last prevColumnscol; if(last) { last.rowSpanCount++; last.element.setAttribute(rowspan,last.rowSpanCount); last.element.setAttribute(rowSpan,last.rowSpanCount); // Needed for IE last.element.valign center; if(colSpanCount > 1) { last.element.setAttribute(colspan,colSpanCount); last.element.setAttribute(colSpan,colSpanCount); // Needed for IE colSpanCount 1; } } w.nextMatch this.cellRegExp.lastIndex-1; } else if(cellMatch1 >) { // Colspan colSpanCount++; w.nextMatch this.cellRegExp.lastIndex-1; } else if(cellMatch2) { // End of row if(prevCell && colSpanCount > 1) { prevCell.setAttribute(colspan,colSpanCount); prevCell.setAttribute(colSpan,colSpanCount); // Needed for IE } w.nextMatch this.cellRegExp.lastIndex; break; } else { // Cell w.nextMatch++; var styles config.formatterHelpers.inlineCssHelper(w); var spaceLeft false; var chr w.source.substr(w.nextMatch,1); while(chr ) { spaceLeft true; w.nextMatch++; chr w.source.substr(w.nextMatch,1); } var cell; if(chr !) { cell createTiddlyElement(e,th); w.nextMatch++; } else { cell createTiddlyElement(e,td); } prevCell cell; prevColumnscol {rowSpanCount:1,element:cell}; if(colSpanCount > 1) { cell.setAttribute(colspan,colSpanCount); cell.setAttribute(colSpan,colSpanCount); // Needed for IE colSpanCount 1; } config.formatterHelpers.applyCssHelper(cell,styles); w.subWikifyTerm(cell,this.cellTermRegExp); if(w.matchText.substr(w.matchText.length-2,1) ) // spaceRight cell.align spaceLeft ? center : left; else if(spaceLeft) cell.align right; w.nextMatch--; } col++; this.cellRegExp.lastIndex w.nextMatch; cellMatch this.cellRegExp.exec(w.source); } }},{ name: heading, match: ^!{1,6}, termRegExp: /(\n)/mg, handler: function(w) { w.subWikifyTerm(createTiddlyElement(w.output,h + w.matchLength),this.termRegExp); }},{ name: list, match: ^(?:\\*#;:+), lookaheadRegExp: /^(?:(?:(\*)|(#)|(;)|(:))+)/mg, termRegExp: /(\n)/mg, handler: function(w) { var stack w.output; var currLevel 0, currType null; var listLevel, listType, itemType, baseType; w.nextMatch w.matchStart; this.lookaheadRegExp.lastIndex w.nextMatch; var lookaheadMatch this.lookaheadRegExp.exec(w.source); while(lookaheadMatch && lookaheadMatch.index w.nextMatch) { if(lookaheadMatch1) { listType ul; itemType li; } else if(lookaheadMatch2) { listType ol; itemType li; } else if(lookaheadMatch3) { listType dl; itemType dt; } else if(lookaheadMatch4) { listType dl; itemType dd; } if(!baseType) baseType listType; listLevel lookaheadMatch0.length; w.nextMatch + lookaheadMatch0.length; var t; if(listLevel > currLevel) { for(tcurrLevel; tlistLevel; t++) { var target (currLevel 0) ? stackstack.length-1 : stackstack.length-1.lastChild; stack.push(createTiddlyElement(target,listType)); } } else if(listType!baseType && listLevel1) { w.nextMatch - lookaheadMatch0.length; return; } else if(listLevel currLevel) { for(tcurrLevel; t>listLevel; t--) stack.pop(); } else if(listLevel currLevel && listType ! currType) { stack.pop(); stack.push(createTiddlyElement(stackstack.length-1.lastChild,listType)); } currLevel listLevel; currType listType; var e createTiddlyElement(stackstack.length-1,itemType); w.subWikifyTerm(e,this.termRegExp); this.lookaheadRegExp.lastIndex w.nextMatch; lookaheadMatch this.lookaheadRegExp.exec(w.source); } }},{ name: quoteByBlock, match: ^\\n, termRegExp: /(^(\n|$))/mg, element: blockquote, handler: config.formatterHelpers.createElementAndWikify},{ name: quoteByLine, match: ^>+, lookaheadRegExp: /^>+/mg, termRegExp: /(\n)/mg, element: blockquote, handler: function(w) { var stack w.output; var currLevel 0; var newLevel w.matchLength; var t,matched; do { if(newLevel > currLevel) { for(tcurrLevel; tnewLevel; t++) stack.push(createTiddlyElement(stackstack.length-1,this.element)); } else if(newLevel currLevel) { for(tcurrLevel; t>newLevel; t--) stack.pop(); } currLevel newLevel; w.subWikifyTerm(stackstack.length-1,this.termRegExp); createTiddlyElement(stackstack.length-1,br); this.lookaheadRegExp.lastIndex w.nextMatch; var lookaheadMatch this.lookaheadRegExp.exec(w.source); matched lookaheadMatch && lookaheadMatch.index w.nextMatch; if(matched) { newLevel lookaheadMatch0.length; w.nextMatch + lookaheadMatch0.length; } } while(matched); }},{ name: rule, match: ^----+$\\n?|hr ?/?>\\n?, handler: function(w) { createTiddlyElement(w.output,hr); }},{ name: monospacedByLine, match: ^(?:/\\*\\{\\{\\{\\*/|\\{\\{\\{|//\\{\\{\\{|!--\\{\\{\\{-->)\\n, element: pre, handler: function(w) { switch(w.matchText) { case /*{{{*/\n: // CSS this.lookaheadRegExp /\/\*\{\{\{\*\/\n*((?:^^\n*\n)+?)(\n*^\f*\/\*\}\}\}\*\/$\n?)/mg; break; case {{{\n: // monospaced block this.lookaheadRegExp /^\{\{\{\n((?:^^\n*\n)+?)(^\f*\}\}\}$\n?)/mg; break; case //{{{\n: // plugin this.lookaheadRegExp /^\/\/\{\{\{\n\n*((?:^^\n*\n)+?)(\n*^\f*\/\/\}\}\}$\n?)/mg; break; case !--{{{-->\n: //template this.lookaheadRegExp /!--\{\{\{-->\n*((?:^^\n*\n)+?)(\n*^\f*!--\}\}\}-->$\n?)/mg; break; default: break; } config.formatterHelpers.enclosedTextHelper.call(this,w); }},{ name: wikifyComment, match: ^(?:/\\*\\*\\*|!---)\\n, handler: function(w) { var termRegExp (w.matchText /***\n) ? (/(^\*\*\*\/\n)/mg) : (/(^--->\n)/mg); w.subWikifyTerm(w.output,termRegExp); }},{ name: macro, match: , lookaheadRegExp: /(^>\s+)(?:\s*)((?:^>|(?:>(?!>)))*)>>/mg, handler: function(w) { this.lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch this.lookaheadRegExp.exec(w.source); if(lookaheadMatch && lookaheadMatch.index w.matchStart && lookaheadMatch1) { w.nextMatch this.lookaheadRegExp.lastIndex; invokeMacro(w.output,lookaheadMatch1,lookaheadMatch2,w,w.tiddler); } }},{ name: prettyLink, match: \\\\, lookaheadRegExp: /\\(.*?)(?:\|(~)?(.*?))?\\/mg, handler: function(w) { this.lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch this.lookaheadRegExp.exec(w.source); if(lookaheadMatch && lookaheadMatch.index w.matchStart) { var e; var text lookaheadMatch1; if(lookaheadMatch3) { // Pretty bracketted link var link lookaheadMatch3; e (!lookaheadMatch2 && config.formatterHelpers.isExternalLink(link)) ? createExternalLink(w.output,link) : createTiddlyLink(w.output,link,false,null,w.isStatic,w.tiddler); } else { // Simple bracketted link e createTiddlyLink(w.output,text,false,null,w.isStatic,w.tiddler); } createTiddlyText(e,text); w.nextMatch this.lookaheadRegExp.lastIndex; } }},{ name: wikiLink, match: config.textPrimitives.unWikiLink+?+config.textPrimitives.wikiLink, handler: function(w) { if(w.matchText.substr(0,1) config.textPrimitives.unWikiLink) { w.outputText(w.output,w.matchStart+1,w.nextMatch); return; } if(w.matchStart > 0) { var preRegExp new RegExp(config.textPrimitives.anyLetterStrict,mg); preRegExp.lastIndex w.matchStart-1; var preMatch preRegExp.exec(w.source); if(preMatch.index w.matchStart-1) { w.outputText(w.output,w.matchStart,w.nextMatch); return; } } if(w.autoLinkWikiWords || store.isShadowTiddler(w.matchText)) { var link createTiddlyLink(w.output,w.matchText,false,null,w.isStatic,w.tiddler); w.outputText(link,w.matchStart,w.nextMatch); } else { w.outputText(w.output,w.matchStart,w.nextMatch); } }},{ name: urlLink, match: config.textPrimitives.urlPattern, handler: function(w) { w.outputText(createExternalLink(w.output,w.matchText),w.matchStart,w.nextMatch); }},{ name: image, match: \\>?IiMmGg\\, lookaheadRegExp: /\(?)(>?)IiMmGg\(?:(^\|\+)\|)?(^\\\|+)\(?:\(^\*)\)?\/mg, handler: function(w) { this.lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch this.lookaheadRegExp.exec(w.source); if(lookaheadMatch && lookaheadMatch.index w.matchStart) { var e w.output; if(lookaheadMatch5) { var link lookaheadMatch5; e config.formatterHelpers.isExternalLink(link) ? createExternalLink(w.output,link) : createTiddlyLink(w.output,link,false,null,w.isStatic,w.tiddler); jQuery(e).addClass(imageLink); } var img createTiddlyElement(e,img); if(lookaheadMatch1) img.align left; else if(lookaheadMatch2) img.align right; if(lookaheadMatch3) { img.title lookaheadMatch3; img.setAttribute(alt,lookaheadMatch3); } img.src lookaheadMatch4; w.nextMatch this.lookaheadRegExp.lastIndex; } }},{ name: html, match: HhTtMmLl>, lookaheadRegExp: /HhTtMmLl>((?:.|\n)*?)\/HhTtMmLl>/mg, handler: function(w) { this.lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch this.lookaheadRegExp.exec(w.source); if(lookaheadMatch && lookaheadMatch.index w.matchStart) { createTiddlyElement(w.output,span).innerHTML lookaheadMatch1; w.nextMatch this.lookaheadRegExp.lastIndex; } }},{ name: commentByBlock, match: /%, lookaheadRegExp: /\/%((?:.|\n)*?)%\//mg, handler: function(w) { this.lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch this.lookaheadRegExp.exec(w.source); if(lookaheadMatch && lookaheadMatch.index w.matchStart) w.nextMatch this.lookaheadRegExp.lastIndex; }},{ name: characterFormat, match: |//|__|\\^\\^|~~|--(?!\\s|$)|\\{\\{\\{, handler: function(w) { switch(w.matchText) { case : w.subWikifyTerm(w.output.appendChild(document.createElement(strong)),/()/mg); break; case //: w.subWikifyTerm(createTiddlyElement(w.output,em),/(\/\/)/mg); break; case __: w.subWikifyTerm(createTiddlyElement(w.output,u),/(__)/mg); break; case ^^: w.subWikifyTerm(createTiddlyElement(w.output,sup),/(\^\^)/mg); break; case ~~: w.subWikifyTerm(createTiddlyElement(w.output,sub),/(~~)/mg); break; case --: w.subWikifyTerm(createTiddlyElement(w.output,strike),/(--)/mg); break; case {{{: var lookaheadRegExp /\{\{\{((?:.|\n)*?)\}\}\}/mg; lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch lookaheadRegExp.exec(w.source); if(lookaheadMatch && lookaheadMatch.index w.matchStart) { createTiddlyElement(w.output,code,null,null,lookaheadMatch1); w.nextMatch lookaheadRegExp.lastIndex; } break; } }},{ name: customFormat, match: @@|\\{\\{, handler: function(w) { switch(w.matchText) { case @@: var e createTiddlyElement(w.output,span); var styles config.formatterHelpers.inlineCssHelper(w); if(styles.length 0) e.className marked; else config.formatterHelpers.applyCssHelper(e,styles); w.subWikifyTerm(e,/(@@)/mg); break; case {{: var lookaheadRegExp /\{\{\s*(\w+\s\w*)\s*\{(\n?)/mg; lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch lookaheadRegExp.exec(w.source); if(lookaheadMatch) { w.nextMatch lookaheadRegExp.lastIndex; e createTiddlyElement(w.output,lookaheadMatch2 \n ? div : span,null,lookaheadMatch1); w.subWikifyTerm(e,/(\}\}\})/mg); } break; } }},{ name: mdash, match: --, handler: function(w) { createTiddlyElement(w.output,span).innerHTML —; }},{ name: lineBreak, match: \\n|br ?/?>, handler: function(w) { createTiddlyElement(w.output,br); }},{ name: rawText, match: \{3}|nowiki>, lookaheadRegExp: /(?:\{3}|nowiki>)((?:.|\n)*?)(?:\{3}|\/nowiki>)/mg, handler: function(w) { this.lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch this.lookaheadRegExp.exec(w.source); if(lookaheadMatch && lookaheadMatch.index w.matchStart) { createTiddlyElement(w.output,span,null,null,lookaheadMatch1); w.nextMatch this.lookaheadRegExp.lastIndex; } }},{ name: htmlEntitiesEncoding, match: (?:(?:?a-zA-Z0-9{2,8};|.)(?:?(?:x0*(?:30-60-9a-fA-F|1Dc-fC-F0-9a-fA-F|20d-fD-F0-9a-fA-F|FE20-9a-fA-F)|0*(?:7689|77-90-9|80-70-9|7616-9|762-70-9|840-30-9|8440-7|65056-9|65060-9|65070-1));)+|?a-zA-Z0-9{2,8};), handler: function(w) { createTiddlyElement(w.output,span).innerHTML w.matchText; }};//--//-- Wikifier//--function getParser(tiddler,format){ if(tiddler) { if(!format) format tiddler.fieldswikiformat; var i; if(format) { for(i in config.parsers) { if(format config.parsersi.format) return config.parsersi; } } else { for(i in config.parsers) { if(tiddler.isTagged(config.parsersi.formatTag)) return config.parsersi; } } } return formatter;}function Wikifier(source,formatter,highlightRegExp,tiddler){ this.source source; this.output null; this.formatter formatter; this.nextMatch 0; this.autoLinkWikiWords tiddler && tiddler.autoLinkWikiWords() false ? false : true; this.highlightRegExp highlightRegExp; this.highlightMatch null; this.isStatic false; if(highlightRegExp) { highlightRegExp.lastIndex 0; this.highlightMatch highlightRegExp.exec(source); } this.tiddler tiddler;}Wikifier.prototype.wikifyPlain function(){ var e createTiddlyElement(document.body,div); e.style.display none; this.subWikify(e); var text jQuery(e).text(); jQuery(e).remove(); return text;};Wikifier.prototype.subWikify function(output,terminator){ try { if(terminator) this.subWikifyTerm(output,new RegExp(( + terminator + ),mg)); else this.subWikifyUnterm(output); } catch(ex) { showException(ex); }};Wikifier.prototype.subWikifyUnterm function(output){ var oldOutput this.output; this.output output; this.formatter.formatterRegExp.lastIndex this.nextMatch; var formatterMatch this.formatter.formatterRegExp.exec(this.source); while(formatterMatch) { // Output any text before the match if(formatterMatch.index > this.nextMatch) this.outputText(this.output,this.nextMatch,formatterMatch.index); // Set the match parameters for the handler this.matchStart formatterMatch.index; this.matchLength formatterMatch0.length; this.matchText formatterMatch0; this.nextMatch this.formatter.formatterRegExp.lastIndex; var t; for(t1; tformatterMatch.length; t++) { if(formatterMatcht) { this.formatter.formatterst-1.handler(this); this.formatter.formatterRegExp.lastIndex this.nextMatch; break; } } formatterMatch this.formatter.formatterRegExp.exec(this.source); } if(this.nextMatch this.source.length) { this.outputText(this.output,this.nextMatch,this.source.length); this.nextMatch this.source.length; } this.output oldOutput;};Wikifier.prototype.subWikifyTerm function(output,terminatorRegExp){ var oldOutput this.output; this.output output; terminatorRegExp.lastIndex this.nextMatch; var terminatorMatch terminatorRegExp.exec(this.source); this.formatter.formatterRegExp.lastIndex this.nextMatch; var formatterMatch this.formatter.formatterRegExp.exec(terminatorMatch ? this.source.substr(0,terminatorMatch.index) : this.source); while(terminatorMatch || formatterMatch) { if(terminatorMatch && (!formatterMatch || terminatorMatch.index formatterMatch.index)) { if(terminatorMatch.index > this.nextMatch) this.outputText(this.output,this.nextMatch,terminatorMatch.index); this.matchText terminatorMatch1; this.matchLength terminatorMatch1.length; this.matchStart terminatorMatch.index; this.nextMatch this.matchStart + this.matchLength; this.output oldOutput; return; } if(formatterMatch.index > this.nextMatch) this.outputText(this.output,this.nextMatch,formatterMatch.index); this.matchStart formatterMatch.index; this.matchLength formatterMatch0.length; this.matchText formatterMatch0; this.nextMatch this.formatter.formatterRegExp.lastIndex; var t; for(t1; tformatterMatch.length; t++) { if(formatterMatcht) { this.formatter.formatterst-1.handler(this); this.formatter.formatterRegExp.lastIndex this.nextMatch; break; } } terminatorRegExp.lastIndex this.nextMatch; terminatorMatch terminatorRegExp.exec(this.source); formatterMatch this.formatter.formatterRegExp.exec(terminatorMatch ? this.source.substr(0,terminatorMatch.index) : this.source); } if(this.nextMatch this.source.length) { this.outputText(this.output,this.nextMatch,this.source.length); this.nextMatch this.source.length; } this.output oldOutput;};Wikifier.prototype.outputText function(place,startPos,endPos){ while(this.highlightMatch && (this.highlightRegExp.lastIndex > startPos) && (this.highlightMatch.index endPos) && (startPos endPos)) { if(this.highlightMatch.index > startPos) { createTiddlyText(place,this.source.substring(startPos,this.highlightMatch.index)); startPos this.highlightMatch.index; } var highlightEnd Math.min(this.highlightRegExp.lastIndex,endPos); createTiddlyElement(place,span,null,highlight,this.source.substring(startPos,highlightEnd)); startPos highlightEnd; if(startPos > this.highlightRegExp.lastIndex) this.highlightMatch this.highlightRegExp.exec(this.source); } if(startPos endPos) { createTiddlyText(place,this.source.substring(startPos,endPos)); }};function wikify(source,output,highlightRegExp,tiddler){ if(source) { var wikifier new Wikifier(source,getParser(tiddler),highlightRegExp,tiddler); var t0 new Date(); wikifier.subWikify(output); if(tiddler && config.options.chkDisplayInstrumentation) displayMessage(wikify: +tiddler.title+ in + (new Date()-t0) + ms); }}function wikifyStatic(source,highlightRegExp,tiddler,format){ var e createTiddlyElement(document.body,pre); e.style.display none; var html ; if(source && source ! ) { if(!tiddler) tiddler new Tiddler(temp); var wikifier new Wikifier(source,getParser(tiddler,format),highlightRegExp,tiddler); wikifier.isStatic true; wikifier.subWikify(e); html e.innerHTML; jQuery(e).remove(); } return html;}function wikifyPlainText(text,limit,tiddler){ if(limit > 0) text text.substr(0,limit); var wikifier new Wikifier(text,formatter,null,tiddler); return wikifier.wikifyPlain();}function highlightify(source,output,highlightRegExp,tiddler){ if(source) { var wikifier new Wikifier(source,formatter,highlightRegExp,tiddler); wikifier.outputText(output,0,source.length); }}//--//-- Macro definitions//--function invokeMacro(place,macro,params,wikifier,tiddler){ try { var m config.macrosmacro; if(m && m.handler) { var tiddlerElem story.findContainingTiddler(place); window.tiddler tiddlerElem ? store.getTiddler(tiddlerElem.getAttribute(tiddler)) : null; window.place place; var allowEval true; if(config.evaluateMacroParameterssystem) { if(!tiddler || tiddler.tags.indexOf(systemAllowEval) -1) { allowEval false; } } m.handler(place,macro,m.noPreParse?null:params.readMacroParams(!allowEval),wikifier,params,tiddler); } else { createTiddlyError(place,config.messages.macroError.format(macro),config.messages.macroErrorDetails.format(macro,config.messages.missingMacro)); } } catch(ex) { createTiddlyError(place,config.messages.macroError.format(macro),config.messages.macroErrorDetails.format(macro,ex.toString())); }}config.macros.version.handler function(place){ jQuery(span/>).text(formatVersion()).appendTo(place);};config.macros.today.handler function(place,macroName,params){ var now new Date(); var text params0 ? now.formatString(params0.trim()) : now.toLocaleString(); jQuery(span/>).text(text).appendTo(place);};config.macros.list.template view title link>>;config.macros.list.handler function(place,macroName,params,wikifier,paramString){ var list document.createElement(ul); jQuery(list).attr({ refresh: macro, macroName: macroName }).data(params, paramString); place.appendChild(list); this.refresh(list);};config.macros.list.refresh function(list) { var paramString jQuery(list).data(params); var params paramString.readMacroParams(); var args paramString.parseParams(anon, null, null)0; var type args.anon ? args.anon0 : all; jQuery(list).empty().addClass(list list- + type); var template args.template ? store.getTiddlerText(args.template0) : false; if(!template) { template config.macros.list.template; } if(thistype.prompt) createTiddlyElement(list,li,null,listTitle,thistype.prompt); var results; if(thistype.handler) results thistype.handler(params); var t; for(t 0; t results.length; t++) { var li document.createElement(li); list.appendChild(li); var tiddler resultst; if(typeof(tiddler) string) { // deal with missing etc.. tiddler store.getTiddler(tiddler) || new Tiddler(tiddler); } wikify(template, li, null, tiddler); } if(results.length 0 && args.emptyMessage) { jQuery(list).addClass(emptyList); jQuery(li />).text(args.emptyMessage0).appendTo(list); }};config.macros.list.all.handler function(params){ return store.reverseLookup(tags,excludeLists,false,title);};config.macros.list.missing.handler function(params){ return store.getMissingLinks();};config.macros.list.orphans.handler function(params){ return store.getOrphans();};config.macros.list.shadowed.handler function(params){ return store.getShadowed();};config.macros.list.touched.handler function(params){ return store.getTouched();};config.macros.list.filter.handler function(params){ var filter params1; var results ; if(filter) { var tiddlers store.filterTiddlers(filter); var t; for(t0; ttiddlers.length; t++) results.push(tiddlerst.title); } return results;};config.macros.allTags.handler function(place,macroName,params){ var tags store.getTags(params0); var ul createTiddlyElement(place,ul); if(tags.length 0) createTiddlyElement(ul,li,null,listTitle,this.noTags); var t; for(t0; ttags.length; t++) { var title tagst0; var info getTiddlyLinkInfo(title); var li createTiddlyElement(ul,li); var btn createTiddlyButton(li,title + ( + tagst1 + ),this.tooltip.format(title),onClickTag,info.classes); btn.setAttribute(tag,title); btn.setAttribute(refresh,link); btn.setAttribute(tiddlyLink,title); if(params1) { btn.setAttribute(sortby,params1); } }};var macro config.macros.timeline;merge(macro, { handler: function(place,macroName,params, wikifier, paramString, tiddler) { var container jQuery(div />).attr(params, paramString). attr(macroName, macroName).appendTo(place)0; macro.refresh(container); }, refresh: function(container) { jQuery(container).attr(refresh, macro).empty(); var paramString jQuery(container).attr(params); var args paramString.parseParams(anon, null, null)0; var params args.anon || ; var field params0 || modified; var prefix field.charAt(0); var no_prefix_field prefix - || prefix + ? field.substr(1, field.length) : field; var dateFormat params2 || this.dateFormat; var groupTemplate macro.groupTemplate.format(no_prefix_field, dateFormat); groupTemplate args.groupTemplate ? store.getTiddlerText(args.groupTemplate0) || groupTemplate : groupTemplate; var itemTemplate macro.itemTemplate; itemTemplate args.template ? store.getTiddlerText(args.template0) || itemTemplate : itemTemplate; var tiddlers args.filter ? store.sortTiddlers(store.filterTiddlers(args.filter0), field) : store.reverseLookup(tags, excludeLists, false, field); var lastGroup , ul; var last params1 ? tiddlers.length-Math.min(tiddlers.length,parseInt(params1,10)) : 0; var t; for(ttiddlers.length-1; t>last; t--) { var tiddler tiddlerst; var theGroup wikifyPlainText(groupTemplate,0,tiddler); if(typeof(ul) undefined || theGroup ! lastGroup) { ul document.createElement(ul); jQuery(ul).addClass(timeline); container.appendChild(ul); createTiddlyElement(ul,li,null,listTitle,theGroup); lastGroup theGroup; } var item createTiddlyElement(ul,li,null,listLink); wikify(itemTemplate,item,null,tiddler); } }, groupTemplate: view %0 date %1>>, itemTemplate: view title link>>});config.macros.tiddler.handler function(place,macroName,params,wikifier,paramString,tiddler){ var allowEval true; var stack config.macros.tiddler.tiddlerStack; if(stack.length > 0 && config.evaluateMacroParameters system) { // included tiddler and system evaluation required, so check tiddler tagged appropriately var title stackstack.length-1; var pos title.indexOf(config.textPrimitives.sectionSeparator); if(pos ! -1) { title title.substr(0,pos); // get the base tiddler title } var t store.getTiddler(title); if(!t || t.tags.indexOf(systemAllowEval) -1) { allowEval false; } } params paramString.parseParams(name,null,allowEval,false,true); var names params0name; var tiddlerName names0; var className names1 || null; var args params0with; var wrapper createTiddlyElement(place,span,null,className,null,{ refresh: content, tiddler: tiddlerName }); if(args!undefined) wrapper.setAttribute(args,+args.join( )+); this.transclude(wrapper,tiddlerName,args);};config.macros.tiddler.transclude function(wrapper,tiddlerName,args){ var text store.getTiddlerText(tiddlerName); if(!text) return; var stack config.macros.tiddler.tiddlerStack; if(stack.indexOf(tiddlerName) ! -1) return; stack.push(tiddlerName); try { if(typeof args string) args args.readBracketedList(); var n args ? Math.min(args.length,9) : 0; var i; for(i0; in; i++) { var placeholderRE new RegExp(\\$ + (i + 1),mg); text text.replace(placeholderRE,argsi); } config.macros.tiddler.renderText(wrapper,text,tiddlerName); } finally { stack.pop(); }};config.macros.tiddler.renderText function(place,text,tiddlerName){ wikify(text,place,null,store.getTiddler(tiddlerName));};config.macros.tiddler.tiddlerStack ;config.macros.tag.handler function(place,macroName,params){ var btn createTagButton(place,params0,null,params1,params2); if(params3) { btn.setAttribute(sortby,params3); }};config.macros.tags.handler function(place,macroName,params,wikifier,paramString,tiddler){ params paramString.parseParams(anon,null,true,false,false); var ul createTiddlyElement(place,ul); var title getParam(params,anon,); if(title && store.tiddlerExists(title)) tiddler store.getTiddler(title); var sep getParam(params,sep, ); var lingo config.views.wikified.tag; var label null; var t; for(t0; ttiddler.tags.length; t++) { var tag store.getTiddler(tiddler.tagst); if(!tag || !tag.tags.contains(excludeLists)) { if(!label) label createTiddlyElement(ul,li,null,listTitle,lingo.labelTags.format(tiddler.title)); createTagButton(createTiddlyElement(ul,li),tiddler.tagst,tiddler.title); if(ttiddler.tags.length-1) createTiddlyText(ul,sep); } } if(!label) createTiddlyElement(ul,li,null,listTitle,lingo.labelNoTags.format(tiddler.title));};config.macros.tagging.handler function(place,macroName,params,wikifier,paramString,tiddler){ params paramString.parseParams(anon,null,true,false,false); var ul createTiddlyElement(place,ul); var title getParam(params,anon,); if(title && tiddler instanceof Tiddler) title tiddler.title; var sep getParam(params,sep, ); ul.setAttribute(title,this.tooltip.format(title)); var sortby getParam(params,sortBy,false); var tagged store.getTaggedTiddlers(title,sortby); var prompt tagged.length 0 ? this.labelNotTag : this.label; createTiddlyElement(ul,li,null,listTitle,prompt.format(title,tagged.length)); var t; for(t0; ttagged.length; t++) { createTiddlyLink(createTiddlyElement(ul,li),taggedt.title,true); if(ttagged.length-1) createTiddlyText(ul,sep); }};config.macros.closeAll.handler function(place){ createTiddlyButton(place,this.label,this.prompt,this.onClick);};config.macros.closeAll.onClick function(e){ story.closeAllTiddlers(); return false;};config.macros.permaview.handler function(place){ createTiddlyButton(place,this.label,this.prompt,this.onClick);};config.macros.permaview.onClick function(e){ story.permaView(); return false;};config.macros.saveChanges.handler function(place,macroName,params){ if(!readOnly) createTiddlyButton(place,params0 || this.label,params1 || this.prompt,this.onClick,null,null,this.accessKey);};config.macros.saveChanges.onClick function(e){ saveChanges(); return false;};config.macros.slider.onClickSlider function(ev){ var n this.nextSibling; var cookie n.getAttribute(cookie); var isOpen n.style.display ! none; if(config.options.chkAnimate && anim && typeof Slider function) anim.startAnimating(new Slider(n,!isOpen,null,none)); else n.style.display isOpen ? none : block; config.optionscookie !isOpen; saveOption(cookie); return false;};config.macros.slider.createSlider function(place,cookie,title,tooltip){ var c cookie || ; createTiddlyButton(place,title,tooltip,this.onClickSlider); var panel createTiddlyElement(null,div,null,sliderPanel); panel.setAttribute(cookie,c); panel.style.display config.optionsc ? block : none; place.appendChild(panel); return panel;};config.macros.slider.handler function(place,macroName,params){ var panel this.createSlider(place,params0,params2,params3); var text store.getTiddlerText(params1); panel.setAttribute(refresh,content); panel.setAttribute(tiddler,params1); if(text) wikify(text,panel,null,store.getTiddler(params1));};// gradient tiddler name vert|horiz rgb rgb rgb rgb... >>config.macros.gradient.handler function(place,macroName,params,wikifier,paramString,tiddler){ var panel wikifier ? createTiddlyElement(place,div,null,gradient) : place; panel.style.position relative; panel.style.overflow hidden; panel.style.zIndex 0; if(wikifier) { var styles config.formatterHelpers.inlineCssHelper(wikifier); config.formatterHelpers.applyCssHelper(panel,styles); } params paramString.parseParams(color); var locolors , hicolors ; var t; for(t2; tparams.length; t++) { var c paramst.value; if(paramst.name snap) { hicolorshicolors.length-1 c; } else { locolors.push(c); hicolors.push(c); } } drawGradient(panel,params1.value ! vert,locolors,hicolors); if(wikifier) wikifier.subWikify(panel,>>); if(document.all) { panel.style.height 100%; panel.style.width 100%; }};config.macros.message.handler function(place,macroName,params){ if(params0) { var names params0.split(.); var lookupMessage function(root,nameIndex) { if(rootnamesnameIndex) { if(nameIndex names.length-1) return (lookupMessage(rootnamesnameIndex,nameIndex+1)); else return rootnamesnameIndex; } else return null; }; var m lookupMessage(config,0); if(m null) m lookupMessage(window,0); createTiddlyText(place,m.toString().format(params.splice(1))); }};config.macros.view.depth 0;config.macros.view.values ;config.macros.view.views { text: function(value,place,params,wikifier,paramString,tiddler) { highlightify(value,place,highlightHack,tiddler); }, link: function(value,place,params,wikifier,paramString,tiddler) { createTiddlyLink(place,value,true); }, wikified: function(value,place,params,wikifier,paramString,tiddler) { if(config.macros.view.depth>50) return; if(config.macros.view.depth>0) { if (valueconfig.macros.view.valuesconfig.macros.view.depth-1) { return; } } config.macros.view.valuesconfig.macros.view.depth value; config.macros.view.depth++; if(params2) valueparams2.unescapeLineBreaks().format(value); wikify(value,place,highlightHack,tiddler); config.macros.view.depth--; config.macros.view.valuesconfig.macros.view.depth null; }, date: function(value,place,params,wikifier,paramString,tiddler) { value Date.convertFromYYYYMMDDHHMM(value); createTiddlyText(place,value.formatString(params2 || config.views.wikified.dateFormat)); }};config.macros.view.handler function(place,macroName,params,wikifier,paramString,tiddler){ if((tiddler instanceof Tiddler) && params0) { var value store.getValue(tiddler,params0); if(value) { var type params1 || config.macros.view.defaultView; var handler config.macros.view.viewstype; if(handler) handler(value,place,params,wikifier,paramString,tiddler); } }};config.macros.edit.handler function(place,macroName,params,wikifier,paramString,tiddler){ var field params0; var rows params1 || 0; var defVal params2 || ; if((tiddler instanceof Tiddler) && field) { story.setDirty(tiddler.title,true); var e,v; if(field ! text && !rows) { e createTiddlyElement(null,input,null,null,null,{ type: text, edit: field, size: 40, autocomplete: off }); e.value store.getValue(tiddler,field) || defVal; place.appendChild(e); } else { var wrapper1 createTiddlyElement(null,fieldset,null,fieldsetFix); var wrapper2 createTiddlyElement(wrapper1,div); e createTiddlyElement(wrapper2,textarea); e.value v store.getValue(tiddler,field) || defVal; rows rows || 10; var lines v.match(/\n/mg); var maxLines Math.max(parseInt(config.options.txtMaxEditRows,10),5); if(lines ! null && lines.length > rows) rows lines.length + 5; rows Math.min(rows,maxLines); e.setAttribute(rows,rows); e.setAttribute(edit,field); place.appendChild(wrapper1); } if(tiddler.isReadOnly()) { e.setAttribute(readOnly,readOnly); jQuery(e).addClass(readOnly); } return e; }};config.macros.tagChooser.onClick function(ev){ var e ev || window.event; var lingo config.views.editor.tagChooser; var popup Popup.create(this); var tags store.getTags(this.getAttribute(tags)); if(tags.length 0) jQuery(li/>).text(lingo.popupNone).appendTo(popup); var t; for(t0; ttags.length; t++) { var tag createTiddlyButton(createTiddlyElement(popup,li),tagst0,lingo.tagTooltip.format(tagst0),config.macros.tagChooser.onTagClick); tag.setAttribute(tag,tagst0); tag.setAttribute(tiddler,this.getAttribute(tiddler)); } Popup.show(); e.cancelBubble true; if(e.stopPropagation) e.stopPropagation(); return false;};config.macros.tagChooser.onTagClick function(ev){ var e ev || window.event; if(e.metaKey || e.ctrlKey) stopEvent(e); //# keep popup open on CTRL-click var tag this.getAttribute(tag); var title this.getAttribute(tiddler); if(!readOnly) story.setTiddlerTag(title,tag,0); return false;};config.macros.tagChooser.handler function(place,macroName,params,wikifier,paramString,tiddler){ if(tiddler instanceof Tiddler) { var lingo config.views.editor.tagChooser; var btn createTiddlyButton(place,lingo.text,lingo.tooltip,this.onClick); btn.setAttribute(tiddler,tiddler.title); btn.setAttribute(tags,params0); }};config.macros.refreshDisplay.handler function(place){ createTiddlyButton(place,this.label,this.prompt,this.onClick);};config.macros.refreshDisplay.onClick function(e){ refreshAll(); return false;};config.macros.annotations.handler function(place,macroName,params,wikifier,paramString,tiddler){ var title tiddler ? tiddler.title : null; var a title ? config.annotationstitle : null; if(!tiddler || !title || !a) return; var text a.format(title); wikify(text,createTiddlyElement(place,div,null,annotation),null,tiddler);};//--//-- NewTiddler and NewJournal macros//--config.macros.newTiddler.createNewTiddlerButton function(place,title,params,label,prompt,accessKey,newFocus,isJournal){ var tags ; var t; for(t1; tparams.length; t++) { if((paramst.name anon && t ! 1) || (paramst.name tag)) tags.push(paramst.value); } label getParam(params,label,label); prompt getParam(params,prompt,prompt); accessKey getParam(params,accessKey,accessKey); newFocus getParam(params,focus,newFocus); var customFields getParam(params,fields,); if(!customFields && !store.isShadowTiddler(title)) customFields String.encodeHashMap(config.defaultCustomFields); var btn createTiddlyButton(place,label,prompt,this.onClickNewTiddler,null,null,accessKey); btn.setAttribute(newTitle,title); btn.setAttribute(isJournal,isJournal ? true : false); if(tags.length > 0) btn.setAttribute(params,tags.join(|)); btn.setAttribute(newFocus,newFocus); btn.setAttribute(newTemplate,getParam(params,template,DEFAULT_EDIT_TEMPLATE)); if(customFields ! ) btn.setAttribute(customFields,customFields); var text getParam(params,text); if(text ! undefined) btn.setAttribute(newText,text); return btn;};config.macros.newTiddler.onClickNewTiddler function(){ var title this.getAttribute(newTitle); if(this.getAttribute(isJournal) true) { title new Date().formatString(title.trim()); } var params this.getAttribute(params); var tags params ? params.split(|) : ; var focus this.getAttribute(newFocus); var template this.getAttribute(newTemplate); var customFields this.getAttribute(customFields); if(!customFields && !store.isShadowTiddler(title)) customFields String.encodeHashMap(config.defaultCustomFields); story.displayTiddler(null,title,template,false,null,null); var tiddlerElem story.getTiddler(title); if(customFields) story.addCustomFields(tiddlerElem,customFields); var text this.getAttribute(newText); if(typeof text string && story.getTiddlerField(title,text)) story.getTiddlerField(title,text).value text.format(title); var t; for(t0;ttags.length;t++) story.setTiddlerTag(title,tagst,+1); story.focusTiddler(title,focus); return false;};config.macros.newTiddler.handler function(place,macroName,params,wikifier,paramString){ if(!readOnly) { params paramString.parseParams(anon,null,true,false,false); var title params1 && params1.name anon ? params1.value : this.title; title getParam(params,title,title); this.createNewTiddlerButton(place,title,params,this.label,this.prompt,this.accessKey,title,false); }};config.macros.newJournal.handler function(place,macroName,params,wikifier,paramString){ if(!readOnly) { params paramString.parseParams(anon,null,true,false,false); var title params1 && params1.name anon ? params1.value : config.macros.timeline.dateFormat; title getParam(params,title,title); config.macros.newTiddler.createNewTiddlerButton(place,title,params,this.label,this.prompt,this.accessKey,text,true); }};//--//-- Search macro//--config.macros.search.handler function(place,macroName,params,wikifier,paramString,tiddler){ params paramString.parseParams(anon,null,false,false,false); createTiddlyButton(place,this.label,this.prompt,this.onClick,searchButton); var txt createTiddlyElement(null,input,null,txtOptionInput searchField); txt.value getParam(params,anon,); if(config.browser.isSafari) { txt.setAttribute(type,search); txt.setAttribute(results,5); } else { txt.setAttribute(type,text); } place.appendChild(txt); txt.onkeyup this.onKeyPress; txt.onfocus this.onFocus; txt.setAttribute(size,this.sizeTextbox); txt.setAttribute(accessKey,getParam(params,accesskey,this.accessKey)); txt.setAttribute(autocomplete,off); txt.setAttribute(lastSearchText,); txt.setAttribute(placeholder,getParam(params,placeholder,this.placeholder));};// Global because theres only ever one outstanding incremental search timerconfig.macros.search.timeout null;config.macros.search.doSearch function(txt){ if(txt.value.length > 0) { story.search(txt.value,config.options.chkCaseSensitiveSearch,config.options.chkRegExpSearch); txt.setAttribute(lastSearchText,txt.value); }};config.macros.search.onClick function(e){ config.macros.search.doSearch(this.nextSibling); return false;};config.macros.search.onKeyPress function(ev){ var me config.macros.search; var e ev || window.event; switch(e.keyCode) { case 9: // Tab return; case 13: // Ctrl-Enter case 10: // Ctrl-Enter on IE PC me.doSearch(this); break; case 27: // Escape this.value ; clearMessage(); break; } if(config.options.chkIncrementalSearch) { if(this.value.length > 2) { if(this.value ! this.getAttribute(lastSearchText)) { if(me.timeout) { clearTimeout(me.timeout); } var txt this; me.timeout setTimeout(function() {me.doSearch(txt);},500); } } else { if(me.timeout) { clearTimeout(me.timeout); } } }};config.macros.search.onFocus function(e){ this.select();};//--//-- Tabs macro//--config.macros.tabs.handler function(place,macroName,params){ var cookie params0; var numTabs (params.length-1)/3; var wrapper createTiddlyElement(null,div,null,tabsetWrapper + cookie); var tabset createTiddlyElement(wrapper,div,null,tabset); tabset.setAttribute(cookie,cookie); var validTab false; var t; for(t0; tnumTabs; t++) { var label paramst*3+1; var prompt paramst*3+2; var content paramst*3+3; var tab createTiddlyButton(tabset,label,prompt,this.onClickTab,tab tabUnselected); createTiddlyElement(tab,span,null,null, ,{style:font-size:0pt;line-height:0px}); tab.setAttribute(tab,label); tab.setAttribute(content,content); tab.title prompt; if(config.optionscookie label) validTab true; } if(!validTab) config.optionscookie params1; place.appendChild(wrapper); this.switchTab(tabset,config.optionscookie);};config.macros.tabs.onClickTab function(e){ config.macros.tabs.switchTab(this.parentNode,this.getAttribute(tab)); return false;};config.macros.tabs.switchTab function(tabset,tab){ var cookie tabset.getAttribute(cookie); var theTab null; var nodes tabset.childNodes; var t; for(t0; tnodes.length; t++) { if(nodest.getAttribute && nodest.getAttribute(tab) tab) { theTab nodest; theTab.className tab tabSelected; } else { nodest.className tab tabUnselected; } } if(theTab) { if(tabset.nextSibling && tabset.nextSibling.className tabContents) jQuery(tabset.nextSibling).remove(); var tabContent createTiddlyElement(null,div,null,tabContents); tabset.parentNode.insertBefore(tabContent,tabset.nextSibling); var contentTitle theTab.getAttribute(content); wikify(store.getTiddlerText(contentTitle),tabContent,null,store.getTiddler(contentTitle)); if(cookie) { config.optionscookie tab; saveOption(cookie); } }};//--//-- Tiddler toolbar//--// Create a toolbar command buttonconfig.macros.toolbar.createCommand function(place,commandName,tiddler,className){ if(typeof commandName ! string) { var c null; var t; for(t in config.commands) { if(config.commandst commandName) c t; } commandName c; } if((tiddler instanceof Tiddler) && (typeof commandName string)) { var command config.commandscommandName; if(command.isEnabled ? command.isEnabled(tiddler) : this.isCommandEnabled(command,tiddler)) { var text command.getText ? command.getText(tiddler) : this.getCommandText(command,tiddler); var tooltip command.getTooltip ? command.getTooltip(tiddler) : this.getCommandTooltip(command,tiddler); var cmd command.type popup ? this.onClickPopup : this.onClickCommand; var btn createTiddlyButton(null,text,tooltip,cmd); btn.setAttribute(commandName,commandName); btn.setAttribute(tiddler,tiddler.title); jQuery(btn).addClass(command_ + commandName); if(className) jQuery(btn).addClass(className); place.appendChild(btn); } }};config.macros.toolbar.isCommandEnabled function(command,tiddler){ var title tiddler.title; var ro tiddler.isReadOnly(); var shadow store.isShadowTiddler(title) && !store.tiddlerExists(title); return (!ro || (ro && !command.hideReadOnly)) && !(shadow && command.hideShadow);};config.macros.toolbar.getCommandText function(command,tiddler){ return (tiddler.isReadOnly() && command.readOnlyText) || command.text;};config.macros.toolbar.getCommandTooltip function(command,tiddler){ return (tiddler.isReadOnly() && command.readOnlyTooltip) || command.tooltip;};config.macros.toolbar.onClickCommand function(ev){ var e ev || window.event; e.cancelBubble true; if(e.stopPropagation) e.stopPropagation(); var command config.commandsthis.getAttribute(commandName); return command.handler(e,this,this.getAttribute(tiddler));};config.macros.toolbar.onClickPopup function(ev){ var e ev || window.event; e.cancelBubble true; if(e.stopPropagation) e.stopPropagation(); var popup Popup.create(this); var command config.commandsthis.getAttribute(commandName); var title this.getAttribute(tiddler); popup.setAttribute(tiddler,title); command.handlePopup(popup,title); Popup.show(); return false;};// Invoke the first command encountered from a given place that is tagged with a specified classconfig.macros.toolbar.invokeCommand function(place,className,event){ var children place.getElementsByTagName(a); var t; for(t0; tchildren.length; t++) { var c childrent; if(jQuery(c).hasClass(className) && c.getAttribute && c.getAttribute(commandName)) { if(c.onclick instanceof Function) c.onclick.call(c,event); break; } }};config.macros.toolbar.onClickMore function(ev){ var e this.nextSibling; e.style.display inline; this.style.display none; return false;};config.macros.toolbar.onClickLess function(ev){ var e this.parentNode; var m e.previousSibling; e.style.display none; m.style.display inline; return false;};config.macros.toolbar.handler function(place,macroName,params,wikifier,paramString,tiddler){ var t; for(t0; tparams.length; t++) { var btn; var c paramst; switch(c) { case !: createTiddlyText(place,this.separator); break; case *: createTiddlyElement(place,br); break; case : btn createTiddlyButton(place,this.lessLabel,this.lessPrompt,config.macros.toolbar.onClickLess); jQuery(btn).addClass(lessCommand); break; case >: btn createTiddlyButton(place,this.moreLabel,this.morePrompt,config.macros.toolbar.onClickMore); jQuery(btn).addClass(moreCommand); var e createTiddlyElement(place,span,null,moreCommand); e.style.display none; place e; break; default: var className ; switch(c.substr(0,1)) { case +: className defaultCommand; c c.substr(1); break; case -: className cancelCommand; c c.substr(1); break; } if(config.commandsc) { this.createCommand(place,c,tiddler,className); } else { this.customCommand(place,c,wikifier,tiddler); } break; } }};// Overrideable function to extend toolbar handlerconfig.macros.toolbar.customCommand function(place,command,wikifier,tiddler){};//--//-- Menu and toolbar commands//--config.commands.closeTiddler.handler function(event,src,title){ if(story.isDirty(title) && !readOnly) { if(!confirm(config.commands.cancelTiddler.warning.format(title))) return false; } story.setDirty(title,false); story.closeTiddler(title,true); return false;};config.commands.closeOthers.handler function(event,src,title){ story.closeAllTiddlers(title); return false;};config.commands.editTiddler.handler function(event,src,title){ clearMessage(); var tiddlerElem story.getTiddler(title); var fields tiddlerElem.getAttribute(tiddlyFields); story.displayTiddler(null,title,DEFAULT_EDIT_TEMPLATE,false,null,fields); var e story.getTiddlerField(title,config.options.txtEditorFocus||text); if(e) { setCaretPosition(e,0); } return false;};config.commands.saveTiddler.handler function(event,src,title){ var newTitle story.saveTiddler(title,event.shiftKey); if(newTitle) story.displayTiddler(null,newTitle); return false;};config.commands.cancelTiddler.handler function(event,src,title){ if(story.hasChanges(title) && !readOnly) { if(!confirm(this.warning.format(title))) return false; } story.setDirty(title,false); story.displayTiddler(null,title); return false;};config.commands.deleteTiddler.handler function(event,src,title){ var deleteIt true; if(config.options.chkConfirmDelete) deleteIt confirm(this.warning.format(title)); if(deleteIt) { store.removeTiddler(title); story.closeTiddler(title,true); autoSaveChanges(); } return false;};config.commands.permalink.handler function(event,src,title){ var t encodeURIComponent(String.encodeTiddlyLink(title)); if(window.location.hash ! t) window.location.hash t; return false;};config.commands.references.handlePopup function(popup,title){ var references store.getReferringTiddlers(title); var c false; var r; for(r0; rreferences.length; r++) { if(referencesr.title ! title && !referencesr.isTagged(excludeLists)) { createTiddlyLink(createTiddlyElement(popup,li),referencesr.title,true); c true; } } if(!c) createTiddlyElement(popup,li,null,disabled,this.popupNone);};config.commands.jump.handlePopup function(popup,title){ story.forEachTiddler(function(title,element) { createTiddlyLink(createTiddlyElement(popup,li),title,true,null,false,null,true); });};config.commands.fields.handlePopup function(popup,title){ var tiddler store.fetchTiddler(title); if(!tiddler) return; var items ; store.forEachField(tiddler,function(tiddler,fieldName,value){items.push({field:fieldName,value:value});},true); items.sort(function(a,b) {return a.field b.field ? -1 : (a.field b.field ? 0 : +1);}); if(items.length > 0) ListView.create(popup,items,this.listViewTemplate); else createTiddlyElement(popup,div,null,null,this.emptyText);};//--//-- Tiddler() object//--function Tiddler(title){ this.title title; this.text ; this.creator null; this.modifier null; this.created new Date(); this.modified this.created; this.links ; this.linksUpdated false; this.tags ; this.fields {}; return this;}Tiddler.prototype.getLinks function(){ if(this.linksUpdatedfalse) this.changed(); return this.links;};// Returns the fields that are inherited in string field:value field2:value2 formatTiddler.prototype.getInheritedFields function(){ var f {}; var i; for(i in this.fields) { if(iserver.host || iserver.workspace || iwikiformat|| iserver.type) { fi this.fieldsi; } } return String.encodeHashMap(f);};// Increment the changeCount of a tiddlerTiddler.prototype.incChangeCount function(){ var c this.fieldschangecount; c c ? parseInt(c,10) : 0; this.fieldschangecount String(c+1);};// Clear the changeCount of a tiddlerTiddler.prototype.clearChangeCount function(){ if(this.fieldschangecount) { delete this.fieldschangecount; }};Tiddler.prototype.doNotSave function(){ return this.fieldsdoNotSave;};// Returns true if the tiddler has been updated since the tiddler was created or downloadedTiddler.prototype.isTouched function(){ var changecount this.fields.changecount || 0; return changecount > 0;};// Change the text and other attributes of a tiddlerTiddler.prototype.set function(title,text,modifier,modified,tags,created,fields,creator){ this.assign(title,text,modifier,modified,tags,created,fields,creator); this.changed(); return this;};// Change the text and other attributes of a tiddler without triggered a tiddler.changed() callTiddler.prototype.assign function(title,text,modifier,modified,tags,created,fields,creator){ if(title ! undefined) this.title title; if(text ! undefined) this.text text; if(modifier ! undefined) this.modifier modifier; if(modified ! undefined) this.modified modified; if(creator ! undefined) this.creator creator; if(created ! undefined) this.created created; if(fields ! undefined) this.fields fields; if(tags ! undefined) this.tags (typeof tags string) ? tags.readBracketedList() : tags; else if(this.tags undefined) this.tags ; return this;};// Get the tags for a tiddler as a string (space delimited, using brackets for tags containing spaces)Tiddler.prototype.getTags function(){ return String.encodeTiddlyLinkList(this.tags);};// Test if a tiddler carries a tagTiddler.prototype.isTagged function(tag){ return this.tags.indexOf(tag) ! -1;};// Static method to convert \n to newlines, \s to \Tiddler.unescapeLineBreaks function(text){ return text ? text.unescapeLineBreaks() : ;};// Convert newlines to \n, \ to \sTiddler.prototype.escapeLineBreaks function(){ return this.text.escapeLineBreaks();};// Updates the secondary information (like links array) after a change to a tiddlerTiddler.prototype.changed function(){ this.links ; var text this.text; // remove quoted text before scanning tiddler source text text.replace(/\/%((?:.|\n)*?)%\//g,). replace(/\{{3}((?:.|\n)*?)\}{3}/g,). replace(/((?:.|\n)*?)/g,). replace(/nowiki\>((?:.|\n)*?)\/nowiki\>/g,). replace(/html\>((?:.|\n)*?)\/html\>/g,). replace(/script((?:.|\n)*?)\/script\>/g,); var t this.autoLinkWikiWords() ? 0 : 1; var tiddlerLinkRegExp t0 ? config.textPrimitives.tiddlerAnyLinkRegExp : config.textPrimitives.tiddlerForcedLinkRegExp; tiddlerLinkRegExp.lastIndex 0; var formatMatch tiddlerLinkRegExp.exec(text); while(formatMatch) { var lastIndex tiddlerLinkRegExp.lastIndex; if(t0 && formatMatch1 && formatMatch1 ! this.title) { // wikiWordLink if(formatMatch.index > 0) { var preRegExp new RegExp(config.textPrimitives.unWikiLink+|+config.textPrimitives.anyLetter,mg); preRegExp.lastIndex formatMatch.index-1; var preMatch preRegExp.exec(text); if(preMatch.index ! formatMatch.index-1) this.links.pushUnique(formatMatch1); } else { this.links.pushUnique(formatMatch1); } } else if(formatMatch2-t && !config.formatterHelpers.isExternalLink(formatMatch3-t)) // titledBrackettedLink this.links.pushUnique(formatMatch3-t); else if(formatMatch4-t && formatMatch4-t ! this.title) // brackettedLink this.links.pushUnique(formatMatch4-t); tiddlerLinkRegExp.lastIndex lastIndex; formatMatch tiddlerLinkRegExp.exec(text); } this.linksUpdated true;};Tiddler.prototype.getSubtitle function(){ var modifier this.modifier; if(!modifier) modifier config.messages.subtitleUnknown || ; var modified this.modified; if(modified) modified modified.toLocaleString(); else modified config.messages.subtitleUnknown || ; var f config.messages.tiddlerLinkTooltip || %0 - %1, %2; return f.format(this.title,modifier,modified);};Tiddler.prototype.isReadOnly function(){ return readOnly;};Tiddler.prototype.autoLinkWikiWords function(){ return !(this.isTagged(systemConfig) || this.isTagged(excludeMissing));};Tiddler.prototype.getServerType function(){ var serverType null; if(this.fieldsserver.type) serverType this.fieldsserver.type; if(!serverType) serverType this.fieldswikiformat; if(serverType && !config.adaptorsserverType) serverType null; return serverType;};Tiddler.prototype.getAdaptor function(){ var serverType this.getServerType(); return serverType ? new config.adaptorsserverType() : null;};//--//-- TiddlyWiki instance contains TiddlerS//--function TiddlyWiki(params){ var tiddlers {}; // Hashmap by name of tiddlers if(params && params.config) { this.config config; } this.tiddlersUpdated false; this.namedNotifications ; // Array of {name:,notify:} of notification functions this.notificationLevel 0; this.slices {}; // map tiddlerName->(map sliceName->sliceValue). Lazy. this.clear function() { tiddlers {}; this.setDirty(false); }; this.fetchTiddler function(title) { var t tiddlerstitle; return t instanceof Tiddler ? t : null; }; this.deleteTiddler function(title) { delete this.slicestitle; delete tiddlerstitle; }; this.addTiddler function(tiddler) { delete this.slicestiddler.title; tiddlerstiddler.title tiddler; }; this.forEachTiddler function(callback) { var t; for(t in tiddlers) { var tiddler tiddlerst; if(tiddler instanceof Tiddler) callback.call(this,t,tiddler); } };}TiddlyWiki.prototype.setDirty function(dirty){ this.dirty dirty;};TiddlyWiki.prototype.isDirty function(){ return this.dirty;};TiddlyWiki.prototype.tiddlerExists function(title){ var t this.fetchTiddler(title); return t ! undefined;};TiddlyWiki.prototype.isShadowTiddler function(title){ return config.shadowTiddlerstitle undefined ? false : true;};TiddlyWiki.prototype.isAvailable function(title) { if (!title) return false; var s title ? title.indexOf(config.textPrimitives.sectionSeparator) : -1; if(s!-1) title title.substr(0,s); return this.tiddlerExists(title) || this.isShadowTiddler(title);};TiddlyWiki.prototype.createTiddler function(title){ var tiddler this.fetchTiddler(title); if(!tiddler) { tiddler new Tiddler(title); this.addTiddler(tiddler); this.setDirty(true); } return tiddler;};TiddlyWiki.prototype.getTiddler function(title){ var t this.fetchTiddler(title); if(t ! undefined) return t; else return null;};TiddlyWiki.prototype.getShadowTiddlerText function(title){ if(typeof config.shadowTiddlerstitle string) return config.shadowTiddlerstitle; else return ;};// Retrieve tiddler contentsTiddlyWiki.prototype.getTiddlerText function(title,defaultText){ if(!title) return defaultText; var pos title.indexOf(config.textPrimitives.sectionSeparator); var section null; if(pos ! -1) { section title.substr(pos + config.textPrimitives.sectionSeparator.length); title title.substr(0,pos); } pos title.indexOf(config.textPrimitives.sliceSeparator); if(pos ! -1) { var slice this.getTiddlerSlice(title.substr(0,pos),title.substr(pos + config.textPrimitives.sliceSeparator.length)); if(slice) return slice; } var tiddler this.fetchTiddler(title); var text tiddler ? tiddler.text : null; if(!tiddler && this.isShadowTiddler(title)) { text this.getShadowTiddlerText(title); } if(text) { if(!section) return text; var re new RegExp((^!{1,6} \t* + section.escapeRegExp() + \t*\n),mg); re.lastIndex 0; var match re.exec(text); if(match) { var t text.substr(match.index+match1.length); var re2 /^!/mg; re2.lastIndex 0; match re2.exec(t); //# search for the next heading if(match) t t.substr(0,match.index-1);//# dont include final \n return t; } return defaultText; } if(defaultText ! undefined) return defaultText; return null;};TiddlyWiki.prototype.getRecursiveTiddlerText function(title,defaultText,depth){ var bracketRegExp new RegExp((?:\\\\(^\\+)\\\\),mg); var text this.getTiddlerText(title,null); if(text null) return defaultText; var textOut ; var match,lastPos 0; do { match bracketRegExp.exec(text); if(match) { textOut.push(text.substr(lastPos,match.index-lastPos)); if(match1) { if(depth 0) textOut.push(match1); else textOut.push(this.getRecursiveTiddlerText(match1,,depth-1)); } lastPos match.index + match0.length; } else { textOut.push(text.substr(lastPos)); } } while(match); return textOut.join();};//TiddlyWiki.prototype.slicesRE /(?:^(\\/{0,2})~?(\.\w+)\:\1\t\x20*(^\n+)\t\x20*$)|(?:^\|(\\/{0,2})~?(\.\w+)\:?\4\|\t\x20*(^\n+)\t\x20*\|$)/gm;TiddlyWiki.prototype.slicesRE /(?:^(\\/{0,2})~?(\.\w+)\:\1\t\x20*(^\n*)\t\x20*$)|(?:^\|(\\/{0,2})~?(\.\w+)\:?\4\|\t\x20*(^\|\n*)\t\x20*\|$)/gm;// @internalTiddlyWiki.prototype.calcAllSlices function(title){ var slices {}; var text this.getTiddlerText(title,); this.slicesRE.lastIndex 0; var m this.slicesRE.exec(text); while(m) { if(m2) slicesm2 m3; else slicesm5 m6; m this.slicesRE.exec(text); } return slices;};// Returns the slice of text of the given nameTiddlyWiki.prototype.getTiddlerSlice function(title,sliceName){ var slices this.slicestitle; if(!slices) { slices this.calcAllSlices(title); this.slicestitle slices; } return slicessliceName;};// Build an hashmap of the specified named slices of a tiddlerTiddlyWiki.prototype.getTiddlerSlices function(title,sliceNames){ var t,r {}; for(t0; tsliceNames.length; t++) { var slice this.getTiddlerSlice(title,sliceNamest); if(slice) rsliceNamest slice; } return r;};TiddlyWiki.prototype.suspendNotifications function(){ this.notificationLevel--;};TiddlyWiki.prototype.resumeNotifications function(){ this.notificationLevel++;};// Invoke the notification handlers for a particular tiddlerTiddlyWiki.prototype.notify function(title,doBlanket){ if(!this.notificationLevel) { var t; for(t0; tthis.namedNotifications.length; t++) { var n this.namedNotificationst; if((n.name null && doBlanket) || (n.name title)) n.notify(title); } }};// Invoke the notification handlers for all tiddlersTiddlyWiki.prototype.notifyAll function(){ if(!this.notificationLevel) { var t; for(t0; tthis.namedNotifications.length; t++) { var n this.namedNotificationst; if(n.name) n.notify(n.name); } }};// Add a notification handler to a tiddlerTiddlyWiki.prototype.addNotification function(title,fn){ var i; for(i0; ithis.namedNotifications.length; i++) { if((this.namedNotificationsi.name title) && (this.namedNotificationsi.notify fn)) return this; } this.namedNotifications.push({name: title, notify: fn}); return this;};TiddlyWiki.prototype.removeTiddler function(title){ var tiddler this.fetchTiddler(title); if(tiddler) { this.deleteTiddler(title); this.notify(title,true); this.setDirty(true); }};// Reset the sync status of a freshly synced tiddlerTiddlyWiki.prototype.resetTiddler function(title){ var tiddler this.fetchTiddler(title); if(tiddler) { tiddler.clearChangeCount(); this.notify(title,true); this.setDirty(true); }};TiddlyWiki.prototype.setTiddlerTag function(title,status,tag){ var tiddler this.fetchTiddler(title); if(tiddler) { var t tiddler.tags.indexOf(tag); if(t ! -1) tiddler.tags.splice(t,1); if(status) tiddler.tags.push(tag); tiddler.changed(); tiddler.incChangeCount(); this.notify(title,true); this.setDirty(true); }};TiddlyWiki.prototype.addTiddlerFields function(title,fields){ var tiddler this.fetchTiddler(title); if(!tiddler) return; merge(tiddler.fields,fields); tiddler.changed(); tiddler.incChangeCount(); this.notify(title,true); this.setDirty(true);};// Store tiddler in TiddlyWiki instanceTiddlyWiki.prototype.saveTiddler function(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created,creator){ var tiddler; if(title instanceof Tiddler) { tiddler title; tiddler.fields merge(merge({},tiddler.fields),config.defaultCustomFields,true); title tiddler.title; newTitle title; } else { tiddler this.fetchTiddler(title); if(tiddler) { created created || tiddler.created; // Preserve created date creator creator || tiddler.creator; this.deleteTiddler(title); } else { created created || modified; tiddler new Tiddler(); } fields merge(merge({},fields),config.defaultCustomFields,true); tiddler.set(newTitle,newBody,modifier,modified,tags,created,fields,creator); } this.addTiddler(tiddler); if(clearChangeCount) tiddler.clearChangeCount(); else tiddler.incChangeCount(); if(title ! newTitle) this.notify(title,true); this.notify(newTitle,true); this.setDirty(true); return tiddler;};TiddlyWiki.prototype.incChangeCount function(title){ var tiddler this.fetchTiddler(title); if(tiddler) tiddler.incChangeCount();};TiddlyWiki.prototype.getLoader function(){ if(!this.loader) this.loader new TW21Loader(); return this.loader;};TiddlyWiki.prototype.getSaver function(){ if(!this.saver) this.saver new TW21Saver(); return this.saver;};// Return all tiddlers formatted as an HTML stringTiddlyWiki.prototype.allTiddlersAsHtml function(){ return this.getSaver().externalize(store);};// Load contents of a TiddlyWiki from an HTML DIVTiddlyWiki.prototype.loadFromDiv function(src,idPrefix,noUpdate){ this.idPrefix idPrefix; var storeElem (typeof src string) ? document.getElementById(src) : src; if(!storeElem) return; var tiddlers this.getLoader().loadTiddlers(this,storeElem.childNodes); this.setDirty(false); if(!noUpdate) { var i; for(i 0;itiddlers.length; i++) tiddlersi.changed(); } jQuery(document).trigger(loadTiddlers);};// Load contents of a TiddlyWiki from a string// Returns null if theres an errorTiddlyWiki.prototype.importTiddlyWiki function(text){ var posDiv locateStoreArea(text); if(!posDiv) return null; var content + html> + body> + text.substring(posDiv0,posDiv1 + endSaveArea.length) + + /body> + /html>; // Create the iframe var iframe document.createElement(iframe); iframe.style.display none; document.body.appendChild(iframe); var doc iframe.document; if(iframe.contentDocument) doc iframe.contentDocument; // For NS6 else if(iframe.contentWindow) doc iframe.contentWindow.document; // For IE5.5 and IE6 // Put the content in the iframe doc.open(); doc.writeln(content); doc.close(); // Load the content into a TiddlyWiki() object var storeArea doc.getElementById(storeArea); this.loadFromDiv(storeArea,store); // Get rid of the iframe iframe.parentNode.removeChild(iframe); return this;};TiddlyWiki.prototype.updateTiddlers function(){ this.tiddlersUpdated true; this.forEachTiddler(function(title,tiddler) { tiddler.changed(); });};// Return an array of tiddlers matching a search regular expressionTiddlyWiki.prototype.search function(searchRegExp,sortField,excludeTag,match){ var candidates this.reverseLookup(tags,excludeTag,!!match); var t,results ; for(t0; tcandidates.length; t++) { if((candidatest.title.search(searchRegExp) ! -1) || (candidatest.text.search(searchRegExp) ! -1)) results.push(candidatest); } if(!sortField) sortField title; results.sort(function(a,b) {return asortField bsortField ? -1 : (asortField bsortField ? 0 : +1);}); return results;};// Returns a list of all tags in use// excludeTag - if present, excludes tags that are themselves tagged with excludeTag// Returns an array of arrays where tag0 is the name of the tag and tag1 is the number of occurancesTiddlyWiki.prototype.getTags function(excludeTag){ var results ; this.forEachTiddler(function(title,tiddler) { var g,c; for(g0; gtiddler.tags.length; g++) { var tag tiddler.tagsg; var n true; for(c0; cresults.length; c++) { if(resultsc0 tag) { n false; resultsc1++; } } if(n && excludeTag) { var t this.fetchTiddler(tag); if(t && t.isTagged(excludeTag)) n false; } if(n) results.push(tag,1); } }); results.sort(function(a,b) {return a0.toLowerCase() b0.toLowerCase() ? -1 : (a0.toLowerCase() b0.toLowerCase() ? 0 : +1);}); return results;};// Return an array of the tiddlers that are tagged with a given tagTiddlyWiki.prototype.getTaggedTiddlers function(tag,sortField){ return this.reverseLookup(tags,tag,true,sortField);};TiddlyWiki.prototype.getValueTiddlers function(field,value,sortField){ return this.reverseLookup(field,value,true,sortField);};// Return an array of the tiddlers that link to a given tiddlerTiddlyWiki.prototype.getReferringTiddlers function(title,unusedParameter,sortField){ if(!this.tiddlersUpdated) this.updateTiddlers(); return this.reverseLookup(links,title,true,sortField);};// Return an array of the tiddlers that do or do not have a specified entry in the specified storage array (ie, links or tags)// lookupMatch true to match tiddlers, false to exclude tiddlersTiddlyWiki.prototype.reverseLookup function(lookupField,lookupValue,lookupMatch,sortField){ var results ; this.forEachTiddler(function(title,tiddler) { var f !lookupMatch; var values; if(links, tags.contains(lookupField)) { values tiddlerlookupField; } else { var accessor TiddlyWiki.standardFieldAccesslookupField; if(accessor) { values accessor.get(tiddler) ; } else { values tiddler.fieldslookupField ? tiddler.fieldslookupField : ; } } var lookup; for(lookup0; lookupvalues.length; lookup++) { if(valueslookup lookupValue) f lookupMatch; } if(f) results.push(tiddler); }); if(!sortField) sortField title; return this.sortTiddlers(results,sortField);};// Return the tiddlers as a sorted arrayTiddlyWiki.prototype.getTiddlers function(field,excludeTag){ var results ; this.forEachTiddler(function(title,tiddler) { if(excludeTag undefined || !tiddler.isTagged(excludeTag)) results.push(tiddler); }); if(field) results.sort(function(a,b) {return afield bfield ? -1 : (afield bfield ? 0 : +1);}); return results;};// Return array of names of tiddlers that are referred to but not definedTiddlyWiki.prototype.getMissingLinks function(){ if(!this.tiddlersUpdated) this.updateTiddlers(); var results ; this.forEachTiddler(function (title,tiddler) { if(tiddler.isTagged(excludeMissing) || tiddler.isTagged(systemConfig)) return; var n; for(n0; ntiddler.links.length;n++) { var link tiddler.linksn; if(this.getTiddlerText(link,null) null && !this.isShadowTiddler(link) && !config.macroslink) results.pushUnique(link); } }); results.sort(); return results;};// Return an array of names of tiddlers that are defined but not referred toTiddlyWiki.prototype.getOrphans function(){ var results ; this.forEachTiddler(function (title,tiddler) { if(this.getReferringTiddlers(title).length 0 && !tiddler.isTagged(excludeLists)) results.push(title); }); results.sort(); return results;};// Return an array of names of all the shadow tiddlersTiddlyWiki.prototype.getShadowed function(){ var t,results ; for(t in config.shadowTiddlers) { if(this.isShadowTiddler(t)) results.push(t); } results.sort(); return results;};// Return an array of tiddlers that have been touched since they were downloaded or createdTiddlyWiki.prototype.getTouched function(){ var results ; this.forEachTiddler(function(title,tiddler) { if(tiddler.isTouched()) results.push(tiddler); }); results.sort(); return results;};// Resolves a Tiddler reference or tiddler title into a Tiddler object, or null if it doesnt existTiddlyWiki.prototype.resolveTiddler function(tiddler){ var t (typeof tiddler string) ? this.getTiddler(tiddler) : tiddler; return t instanceof Tiddler ? t : null;};// Sort a list of tiddlersTiddlyWiki.prototype.sortTiddlers function(tiddlers,field){ var asc +1; switch(field.substr(0,1)) { case -: asc -1; field field.substr(1); break; case +: field field.substr(1); break; } if(TiddlyWiki.standardFieldAccessfield) { if(fieldtitle) { tiddlers.sort(function(a,b) {return afield.toLowerCase() bfield.toLowerCase() ? -asc : (afield.toLowerCase() bfield.toLowerCase() ? 0 : asc);}); } else { tiddlers.sort(function(a,b) {return afield bfield ? -asc : (afield bfield ? 0 : asc);}); } } else { tiddlers.sort(function(a,b) {return a.fieldsfield b.fieldsfield ? -asc : (a.fieldsfield b.fieldsfield ? 0 : +asc);}); } return tiddlers;};//--//-- Filter a list of tiddlers//--config.filters { tiddler: function(results,match) { var title match1||match4; var tiddler this.fetchTiddler(title); if(tiddler) { results.pushUnique(tiddler); } else if(this.isShadowTiddler(title)) { tiddler new Tiddler(); tiddler.set(title,this.getTiddlerText(title)); results.pushUnique(tiddler); } else { results.pushUnique(new Tiddler(title)); } return results; }, tag: function(results,match) { var m,matched this.getTaggedTiddlers(match3); for(m0; mmatched.length; m++) { results.pushUnique(matchedm); } return results; }, sort: function(results,match) { return this.sortTiddlers(results,match3); }, limit: function(results,match) { return results.slice(0,parseInt(match3,10)); }, field: function(results,match) { var m,matched this.getValueTiddlers(match2,match3); for (m 0; m matched.length; m++) { results.pushUnique(matchedm); } return results; }};// Filter a list of tiddlersTiddlyWiki.prototype.filterTiddlers function(filter){ var re /(^\s\\+)|(?:\( \w\.\-+)\(^\+)\\)|(?:\\(^\+)\\)/mg; var results ; if(filter) { var match re.exec(filter); while(match) { var handler (match1||match4)?tiddler:config.filtersmatch2?match2:field; results config.filtershandler.call(this,results,match); match re.exec(filter); } } return results;};// Returns true if path is a valid field name (path),// i.e. a sequence of identifiers, separated by .TiddlyWiki.isValidFieldName function(name){ var match /a-zA-Z_\w*(\.a-zA-Z_\w*)*/.exec(name); return match && (match0 name);};// Throws an exception when name is not a valid field name.TiddlyWiki.checkFieldName function(name){ if(!TiddlyWiki.isValidFieldName(name)) throw config.messages.invalidFieldName.format(name);};function StringFieldAccess(n,readOnly){ this.set readOnly ? function(t,v) {if(v ! tn) throw config.messages.fieldCannotBeChanged.format(n);} : function(t,v) {if(v ! tn) {tn v; return true;}}; this.get function(t) {return tn;};}function DateFieldAccess(n){ this.set function(t,v) { var d v instanceof Date ? v : Date.convertFromYYYYMMDDHHMM(v); if(d ! tn) { tn d; return true; } }; this.get function(t) {return tn.convertToYYYYMMDDHHMM();};}function LinksFieldAccess(n){ this.set function(t,v) { var s (typeof v string) ? v.readBracketedList() : v; if(s.toString() ! tn.toString()) { tn s; return true; } }; this.get function(t) {return String.encodeTiddlyLinkList(tn);};}TiddlyWiki.standardFieldAccess { // The set functions return true when setting the data has changed the value. title: new StringFieldAccess(title,true), // Handle the tiddler field name as the title tiddler: new StringFieldAccess(title,true), text: new StringFieldAccess(text), modifier: new StringFieldAccess(modifier), modified: new DateFieldAccess(modified), creator: new StringFieldAccess(creator), created: new DateFieldAccess(created), tags: new LinksFieldAccess(tags)};TiddlyWiki.isStandardField function(name){ return TiddlyWiki.standardFieldAccessname ! undefined;};// Sets the value of the given field of the tiddler to the value.// Setting an ExtendedFields value to null or undefined removes the field.// Setting a namespace to undefined removes all fields of that namespace.// The fieldName is case-insensitive.// All values will be converted to a string value.TiddlyWiki.prototype.setValue function(tiddler,fieldName,value){ TiddlyWiki.checkFieldName(fieldName); var t this.resolveTiddler(tiddler); if(!t) return; fieldName fieldName.toLowerCase(); var isRemove (value undefined) || (value null); var accessor TiddlyWiki.standardFieldAccessfieldName; if(accessor) { if(isRemove) // dont remove StandardFields return; var h TiddlyWiki.standardFieldAccessfieldName; if(!h.set(t,value)) return; } else { var oldValue t.fieldsfieldName; if(isRemove) { if(oldValue ! undefined) { // deletes a single field delete t.fieldsfieldName; } else { // no concrete value is defined for the fieldName // so we guess this is a namespace path. // delete all fields in a namespace var re new RegExp(^+fieldName+\\.); var dirty false; var n; for(n in t.fields) { if(n.match(re)) { delete t.fieldsn; dirty true; } } if(!dirty) return; } } else { // the normal set case. value is defined (not null/undefined) // For convenience provide a nicer conversion Date->String value value instanceof Date ? value.convertToYYYYMMDDHHMMSSMMM() : String(value); if(oldValue value) return; t.fieldsfieldName value; } } // When we are here the tiddler/store really was changed. this.notify(t.title,true); if(!fieldName.match(/^temp\./)) this.setDirty(true);};// Returns the value of the given field of the tiddler.// The fieldName is case-insensitive.// Will only return String values (or undefined).TiddlyWiki.prototype.getValue function(tiddler,fieldName){ var t this.resolveTiddler(tiddler); if(!t) return undefined; if(fieldName.indexOf(config.textPrimitives.sectionSeparator) 0 || fieldName.indexOf(config.textPrimitives.sliceSeparator) 0) { var sliceType fieldName.substr(0, 2); var sliceName fieldName.substring(2); return store.getTiddlerText(%0%1%2.format(t.title,sliceType,sliceName)); } else { fieldName fieldName.toLowerCase(); var accessor TiddlyWiki.standardFieldAccessfieldName; if(accessor) { return accessor.get(t); } } return t.fieldsfieldName;};// Calls the callback function for every field in the tiddler.// When callback function returns a non-false value the iteration stops// and that value is returned.// The order of the fields is not defined.// @param callback a function(tiddler,fieldName,value).TiddlyWiki.prototype.forEachField function(tiddler,callback,onlyExtendedFields){ var t this.resolveTiddler(tiddler); if(!t) return undefined; var n,result; for(n in t.fields) { result callback(t,n,t.fieldsn); if(result) return result; } if(onlyExtendedFields) return undefined; for(n in TiddlyWiki.standardFieldAccess) { if(n ! tiddler) { // even though the title field can also be referenced through the name tiddler // we only visit this field once. result callback(t,n,TiddlyWiki.standardFieldAccessn.get(t)); if(result) return result; } } return undefined;};//--//-- Story functions//--function Story(containerId,idPrefix){ this.container containerId; this.idPrefix idPrefix; this.highlightRegExp null; this.tiddlerId function(title) { title title.replace(/_/g, __).replace(/ /g, _); var id this.idPrefix + title; return idthis.container ? this.idPrefix + _ + title : id; }; this.containerId function() { return this.container; };}Story.prototype.getTiddler function(title){ return document.getElementById(this.tiddlerId(title));};Story.prototype.getContainer function(){ return document.getElementById(this.containerId());};Story.prototype.forEachTiddler function(fn){ var place this.getContainer(); if(!place) return; var e place.firstChild; while(e) { var n e.nextSibling; var title e.getAttribute(tiddler); if(title) { fn.call(this,title,e); } e n; }};Story.prototype.displayDefaultTiddlers function(){ this.displayTiddlers(null,store.filterTiddlers(store.getTiddlerText(DefaultTiddlers)));};Story.prototype.displayTiddlers function(srcElement,titles,template,animate,unused,customFields,toggle){ var t; for(t titles.length-1;t>0;t--) this.displayTiddler(srcElement,titlest,template,animate,unused,customFields);};Story.prototype.displayTiddler function(srcElement,tiddler,template,animate,unused,customFields,toggle,animationSrc){ var title (tiddler instanceof Tiddler) ? tiddler.title : tiddler; var tiddlerElem this.getTiddler(title); if(tiddlerElem) { if(toggle) { if(tiddlerElem.getAttribute(dirty) ! true) this.closeTiddler(title,true); } else { this.refreshTiddler(title,template,false,customFields); } } else { var place this.getContainer(); var before this.positionTiddler(srcElement); tiddlerElem this.createTiddler(place,before,title,template,customFields); } if(animationSrc && typeof animationSrc ! string) { srcElement animationSrc; } if(srcElement && typeof srcElement ! string) { if(config.options.chkAnimate && (animate undefined || animate true) && anim && typeof Zoomer function && typeof Scroller function) anim.startAnimating(new Zoomer(title,srcElement,tiddlerElem),new Scroller(tiddlerElem)); else window.scrollTo(0,ensureVisible(tiddlerElem)); } return tiddlerElem;};Story.prototype.positionTiddler function(srcElement){ var place this.getContainer(); var before null; if(typeof srcElement string) { switch(srcElement) { case top: before place.firstChild; break; case bottom: before null; break; } } else { var after this.findContainingTiddler(srcElement); if(after null) { before place.firstChild; } else if(after.nextSibling) { before after.nextSibling; if(before.nodeType ! 1) before null; } } return before;};Story.prototype.createTiddler function(place,before,title,template,customFields){ var tiddlerElem createTiddlyElement(null,div,this.tiddlerId(title),tiddler); tiddlerElem.setAttribute(refresh,tiddler); if(customFields) tiddlerElem.setAttribute(tiddlyFields,customFields); place.insertBefore(tiddlerElem,before); var defaultText null; if(!store.tiddlerExists(title) && !store.isShadowTiddler(title)) defaultText this.loadMissingTiddler(title,customFields); this.refreshTiddler(title,template,false,customFields,defaultText); return tiddlerElem;};Story.prototype.loadMissingTiddler function(title,fields,callback){ var getTiddlerCallback function(context) { if(context.status) { var t context.tiddler; if(!t.created) t.created new Date(); if(!t.modified) t.modified t.created; var dirty store.isDirty(); context.tiddler store.saveTiddler(t.title,t.title,t.text,t.modifier,t.modified,t.tags,t.fields,true,t.created,t.creator); if(!window.allowSave()) store.setDirty(dirty); autoSaveChanges(); } else { story.refreshTiddler(context.title,null,true); } context.adaptor.close(); if(callback) { callback(context); } }; var tiddler new Tiddler(title); tiddler.fields typeof fields string ? fields.decodeHashMap() : fields||{}; var context {serverType:tiddler.getServerType()}; if(!context.serverType) return ; context.host tiddler.fieldsserver.host; context.workspace tiddler.fieldsserver.workspace; var adaptor new config.adaptorscontext.serverType(); adaptor.getTiddler(title,context,null,getTiddlerCallback); return config.messages.loadingMissingTiddler.format(title,context.serverType,context.host,context.workspace);};Story.prototype.chooseTemplateForTiddler function(title,template){ if(!template) template DEFAULT_VIEW_TEMPLATE; if(template DEFAULT_VIEW_TEMPLATE || template DEFAULT_EDIT_TEMPLATE) template config.tiddlerTemplatestemplate; return template;};Story.prototype.getTemplateForTiddler function(title,template,tiddler){ return store.getRecursiveTiddlerText(template,null,10);};Story.prototype.refreshTiddler function(title,template,force,customFields,defaultText){ var tiddlerElem this.getTiddler(title); if(tiddlerElem) { if(tiddlerElem.getAttribute(dirty) true && !force) return tiddlerElem; template this.chooseTemplateForTiddler(title,template); var currTemplate tiddlerElem.getAttribute(template); if((template ! currTemplate) || force) { var tiddler store.getTiddler(title); if(!tiddler) { tiddler new Tiddler(); if(store.isShadowTiddler(title)) { var tags ; tiddler.set(title,store.getTiddlerText(title),config.views.wikified.shadowModifier,version.date,tags,version.date); } else { var text templateEditTemplate ? config.views.editor.defaultText.format(title) : config.views.wikified.defaultText.format(title); text defaultText || text; var fields customFields ? customFields.decodeHashMap() : null; tiddler.set(title,text,config.views.wikified.defaultModifier,version.date,,version.date,fields); } } tiddlerElem.setAttribute(tags,tiddler.tags.join( )); tiddlerElem.setAttribute(tiddler,title); tiddlerElem.setAttribute(template,template); tiddlerElem.onmouseover this.onTiddlerMouseOver; tiddlerElem.onmouseout this.onTiddlerMouseOut; tiddlerElem.ondblclick this.onTiddlerDblClick; tiddlerElemwindow.event?onkeydown:onkeypress this.onTiddlerKeyPress; tiddlerElem.innerHTML this.getTemplateForTiddler(title,template,tiddler); applyHtmlMacros(tiddlerElem,tiddler); if(store.getTaggedTiddlers(title).length > 0) jQuery(tiddlerElem).addClass(isTag); else jQuery(tiddlerElem).removeClass(isTag); if(store.tiddlerExists(title)) { jQuery(tiddlerElem).removeClass(shadow); jQuery(tiddlerElem).removeClass(missing); } else { jQuery(tiddlerElem).addClass(store.isShadowTiddler(title) ? shadow : missing); } if(customFields) this.addCustomFields(tiddlerElem,customFields); } } return tiddlerElem;};Story.prototype.addCustomFields function(place,customFields){ var fields customFields.decodeHashMap(); var w createTiddlyElement(place,div,null,customFields); w.style.display none; var t; for(t in fields) { var e document.createElement(input); e.setAttribute(type,text); e.setAttribute(value,fieldst); w.appendChild(e); e.setAttribute(edit,t); }};Story.prototype.refreshAllTiddlers function(force){ var e this.getContainer().firstChild; while(e) { var template e.getAttribute(template); if(template && e.getAttribute(dirty) ! true) { this.refreshTiddler(e.getAttribute(tiddler),force ? null : template,true); } e e.nextSibling; }};Story.prototype.onTiddlerMouseOver function(e){ jQuery(this).addClass(selected);};Story.prototype.onTiddlerMouseOut function(e){ jQuery(this).removeClass(selected);};Story.prototype.onTiddlerDblClick function(ev){ var e ev || window.event; var target resolveTarget(e); if(target && target.nodeName.toLowerCase() ! input && target.nodeName.toLowerCase() ! textarea) { if(document.selection && document.selection.empty) document.selection.empty(); config.macros.toolbar.invokeCommand(this,defaultCommand,e); e.cancelBubble true; if(e.stopPropagation) e.stopPropagation(); return true; } return false;};Story.prototype.onTiddlerKeyPress function(ev){ var e ev || window.event; clearMessage(); var consume false; var title this.getAttribute(tiddler); var target resolveTarget(e); switch(e.keyCode) { case 9: // Tab var ed story.getTiddlerField(title,text); if(target.tagName.toLowerCase() input && ed.valueconfig.views.editor.defaultText.format(title)) { // moving from input field and editor still contains default text, so select it ed.focus(); ed.select(); consume true; } if(config.options.chkInsertTabs && target.tagName.toLowerCase() textarea) { replaceSelection(target,String.fromCharCode(9)); consume true; } if(config.isOpera) { target.onblur function() { this.focus(); this.onblur null; }; } break; case 13: // Ctrl-Enter case 10: // Ctrl-Enter on IE PC case 77: // Ctrl-Enter is M on some platforms if(e.ctrlKey) { blurElement(this); config.macros.toolbar.invokeCommand(this,defaultCommand,e); consume true; } break; case 27: // Escape blurElement(this); config.macros.toolbar.invokeCommand(this,cancelCommand,e); consume true; break; } e.cancelBubble consume; if(consume) { if(e.stopPropagation) e.stopPropagation(); // Stop Propagation e.returnValue true; // Cancel The Event in IE if(e.preventDefault ) e.preventDefault(); // Cancel The Event in Moz } return !consume;};Story.prototype.getTiddlerField function(title,field){ var tiddlerElem this.getTiddler(title); var e null; if(tiddlerElem) { var t,children tiddlerElem.getElementsByTagName(*); for(t0; tchildren.length; t++) { var c childrent; if(c.tagName.toLowerCase() input || c.tagName.toLowerCase() textarea) { if(!e) e c; if(c.getAttribute(edit) field) e c; } } } return e;};Story.prototype.focusTiddler function(title,field){ var e this.getTiddlerField(title,field); if(e) { e.focus(); e.select(); }};Story.prototype.blurTiddler function(title){ var tiddlerElem this.getTiddler(title); if(tiddlerElem && tiddlerElem.focus && tiddlerElem.blur) { tiddlerElem.focus(); tiddlerElem.blur(); }};Story.prototype.setTiddlerField function(title,tag,mode,field){ var c this.getTiddlerField(title,field); var tags c.value.readBracketedList(); tags.setItem(tag,mode); c.value String.encodeTiddlyLinkList(tags);};Story.prototype.setTiddlerTag function(title,tag,mode){ this.setTiddlerField(title,tag,mode,tags);};Story.prototype.closeTiddler function(title,animate,unused){ var tiddlerElem this.getTiddler(title); if(tiddlerElem) { clearMessage(); this.scrubTiddler(tiddlerElem); if(config.options.chkAnimate && animate && anim && typeof Slider function) anim.startAnimating(new Slider(tiddlerElem,false,null,all)); else { jQuery(tiddlerElem).remove(); } }};Story.prototype.scrubTiddler function(tiddlerElem){ tiddlerElem.id null;};Story.prototype.setDirty function(title,dirty){ var tiddlerElem this.getTiddler(title); if(tiddlerElem) tiddlerElem.setAttribute(dirty,dirty ? true : false);};Story.prototype.isDirty function(title){ var tiddlerElem this.getTiddler(title); if(tiddlerElem) return tiddlerElem.getAttribute(dirty) true; return null;};Story.prototype.areAnyDirty function(){ var r false; this.forEachTiddler(function(title,element) { if(this.isDirty(title)) r true; }); return r;};Story.prototype.closeAllTiddlers function(exclude){ clearMessage(); this.forEachTiddler(function(title,element) { if((title ! exclude) && element.getAttribute(dirty) ! true) this.closeTiddler(title); }); window.scrollTo(0,ensureVisible(this.container));};Story.prototype.isEmpty function(){ var place this.getContainer(); return place && place.firstChild null;};Story.prototype.search function(text,useCaseSensitive,useRegExp){ this.closeAllTiddlers(); highlightHack new RegExp(useRegExp ? text : text.escapeRegExp(),useCaseSensitive ? mg : img); var matches store.search(highlightHack,title,excludeSearch); this.displayTiddlers(null,matches); highlightHack null; var q useRegExp ? / : ; if(matches.length > 0) displayMessage(config.macros.search.successMsg.format(matches.length.toString(),q + text + q)); else displayMessage(config.macros.search.failureMsg.format(q + text + q));};Story.prototype.findContainingTiddler function(e){ while(e && !jQuery(e).hasClass(tiddler)) { e jQuery(e).hasClass(popup) && Popup.stack0 ? Popup.stack0.root : e.parentNode; } return e;};Story.prototype.gatherSaveFields function(e,fields){ if(e && e.getAttribute) { var f e.getAttribute(edit); if(f) fieldsf e.value.replace(/\r/mg,); if(e.hasChildNodes()) { var t,c e.childNodes; for(t0; tc.length; t++) this.gatherSaveFields(ct,fields); } }};Story.prototype.hasChanges function(title){ var e this.getTiddler(title); if(e) { var fields {}; this.gatherSaveFields(e,fields); if(store.fetchTiddler(title)) { var n; for(n in fields) { if(store.getValue(title,n) ! fieldsn) //# tiddler changed return true; } } else { if(store.isShadowTiddler(title) && store.getShadowTiddlerText(title) fields.text) { //# not checking for title or tags return false; } else { //# changed shadow or new tiddler return true; } } } return false;};Story.prototype.saveTiddler function(title,minorUpdate){ var tiddlerElem this.getTiddler(title); if(tiddlerElem) { var fields {}; this.gatherSaveFields(tiddlerElem,fields); var newTitle fields.title || title; if(!store.tiddlerExists(newTitle)) { newTitle newTitle.trim(); var creator config.options.txtUserName; } if(store.tiddlerExists(newTitle) && newTitle ! title) { if(!confirm(config.messages.overwriteWarning.format(newTitle.toString()))) return null; title newTitle; } if(newTitle ! title) this.closeTiddler(newTitle,false); tiddlerElem.id this.tiddlerId(newTitle); tiddlerElem.setAttribute(tiddler,newTitle); tiddlerElem.setAttribute(template,DEFAULT_VIEW_TEMPLATE); tiddlerElem.setAttribute(dirty,false); if(config.options.chkForceMinorUpdate) minorUpdate !minorUpdate; if(!store.tiddlerExists(newTitle)) minorUpdate false; var newDate new Date(); if(store.tiddlerExists(title)) { var t store.fetchTiddler(title); var extendedFields t.fields; creator t.creator; } else { extendedFields merge({},config.defaultCustomFields); } var n; for(n in fields) { if(!TiddlyWiki.isStandardField(n)) extendedFieldsn fieldsn; } var tiddler store.saveTiddler(title,newTitle,fields.text,minorUpdate ? undefined : config.options.txtUserName,minorUpdate ? undefined : newDate,fields.tags,extendedFields,null,null,creator); autoSaveChanges(null,tiddler); return newTitle; } return null;};Story.prototype.permaView function(){ var links ; this.forEachTiddler(function(title,element) { links.push(String.encodeTiddlyLink(title)); }); var t encodeURIComponent(links.join( )); if(t ) t #; if(window.location.hash ! t) window.location.hash t;};Story.prototype.switchTheme function(theme){ if(safeMode) return; var getSlice function(theme,slice) { var r; if(readOnly) r store.getTiddlerSlice(theme,slice+ReadOnly) || store.getTiddlerSlice(theme,Web+slice); r r || store.getTiddlerSlice(theme,slice); if(r && r.indexOf(config.textPrimitives.sectionSeparator)0) r theme + r; return store.isAvailable(r) ? r : slice; }; var replaceNotification function(i,name,theme,slice) { var newName getSlice(theme,slice); if(name!newName && store.namedNotificationsi.namename) { store.namedNotificationsi.name newName; return newName; } return name; }; var pt config.refresherData.pageTemplate; var vi DEFAULT_VIEW_TEMPLATE; var vt config.tiddlerTemplatesvi; var ei DEFAULT_EDIT_TEMPLATE; var et config.tiddlerTemplatesei; var i; for(i0; iconfig.notifyTiddlers.length; i++) { var name config.notifyTiddlersi.name; switch(name) { case PageTemplate: config.refresherData.pageTemplate replaceNotification(i,config.refresherData.pageTemplate,theme,name); break; case StyleSheet: removeStyleSheet(config.refresherData.styleSheet); config.refresherData.styleSheet replaceNotification(i,config.refresherData.styleSheet,theme,name); break; case ColorPalette: config.refresherData.colorPalette replaceNotification(i,config.refresherData.colorPalette,theme,name); break; default: break; } } config.tiddlerTemplatesvi getSlice(theme,ViewTemplate); config.tiddlerTemplatesei getSlice(theme,EditTemplate); if(!startingUp) { if(config.refresherData.pageTemplate!pt || config.tiddlerTemplatesvi!vt || config.tiddlerTemplatesei!et) { refreshAll(); this.refreshAllTiddlers(true); } else { setStylesheet(store.getRecursiveTiddlerText(config.refresherData.styleSheet,,10),config.refreshers.styleSheet); } config.options.txtTheme theme; saveOption(txtTheme); }};//--//-- Backstage//--// Backstage tasksconfig.tasks.save.action saveChanges;var backstage { area: null, toolbar: null, button: null, showButton: null, hideButton: null, cloak: null, panel: null, panelBody: null, panelFooter: null, currTabName: null, currTabElem: null, content: null, init: function() { var cmb config.messages.backstage; this.area document.getElementById(backstageArea); this.toolbar jQuery(#backstageToolbar).empty()0; this.button jQuery(#backstageButton).empty()0; this.button.style.display block; var t cmb.open.text + + glyph(bentArrowLeft); this.showButton createTiddlyButton(this.button,t,cmb.open.tooltip, function(e) {backstage.show(); return false;},null,backstageShow); t glyph(bentArrowRight) + + cmb.close.text; this.hideButton createTiddlyButton(this.button,t,cmb.close.tooltip, function(e) {backstage.hide(); return false;},null,backstageHide); this.cloak document.getElementById(backstageCloak); this.panel document.getElementById(backstagePanel); this.panelFooter createTiddlyElement(this.panel,div,null,backstagePanelFooter); this.panelBody createTiddlyElement(this.panel,div,null,backstagePanelBody); this.cloak.onmousedown function(e) {backstage.switchTab(null);}; createTiddlyText(this.toolbar,cmb.prompt); for(t0; tconfig.backstageTasks.length; t++) { var taskName config.backstageTaskst; var task config.taskstaskName; var handler task.action ? this.onClickCommand : this.onClickTab; var text task.text + (task.action ? : glyph(downTriangle)); var btn createTiddlyButton(this.toolbar,text,task.tooltip,handler,backstageTab); jQuery(btn).addClass(task.action ? backstageAction : backstageTask); btn.setAttribute(task, taskName); } this.content document.getElementById(contentWrapper); if(config.options.chkBackstage) this.show(); else this.hide(); }, isVisible: function() { return this.area ? this.area.style.display block : false; }, show: function() { this.area.style.display block; if(anim && config.options.chkAnimate) { backstage.toolbar.style.left findWindowWidth() + px; var p {style: left, start: findWindowWidth(), end: 0, template: %0px}; anim.startAnimating(new Morpher(backstage.toolbar,config.animDuration,p)); } else { backstage.area.style.left 0px; } jQuery(this.showButton).hide(); jQuery(this.hideButton).show(); config.options.chkBackstage true; saveOption(chkBackstage); jQuery(this.content).addClass(backstageVisible); }, hide: function() { if(this.currTabElem) { this.switchTab(null); } else { backstage.toolbar.style.left 0px; if(anim && config.options.chkAnimate) { var p {style: left, start: 0, end: findWindowWidth(), template: %0px}; var c function(element,properties) {backstage.area.style.display none;}; anim.startAnimating(new Morpher(backstage.toolbar,config.animDuration,p,c)); } else { this.area.style.display none; } this.showButton.style.display block; this.hideButton.style.display none; config.options.chkBackstage false; saveOption(chkBackstage); jQuery(this.content).removeClass(backstageVisible); } }, onClickCommand: function(e) { var task config.tasksthis.getAttribute(task); if(task.action) { backstage.switchTab(null); task.action(); } return false; }, onClickTab: function(e) { backstage.switchTab(this.getAttribute(task)); return false; }, // Switch to a given tab, or none if null is passed switchTab: function(tabName) { var tabElem null; var e this.toolbar.firstChild; while(e) { if(e.getAttribute && e.getAttribute(task) tabName) tabElem e; e e.nextSibling; } if(tabName backstage.currTabName) { backstage.hidePanel(); return; } if(backstage.currTabElem) { jQuery(this.currTabElem).removeClass(backstageSelTab); } if(tabElem && tabName) { backstage.preparePanel(); jQuery(tabElem).addClass(backstageSelTab); var task config.taskstabName; wikify(task.content,backstage.panelBody,null,null); backstage.showPanel(); } else if(backstage.currTabElem) { backstage.hidePanel(); } backstage.currTabName tabName; backstage.currTabElem tabElem; }, isPanelVisible: function() { return backstage.panel ? backstage.panel.style.display block : false; }, preparePanel: function() { backstage.cloak.style.height findDocHeight() + px; backstage.cloak.style.display block; jQuery(backstage.panelBody).empty(); return backstage.panelBody; }, showPanel: function() { backstage.panel.style.display block; if(anim && config.options.chkAnimate) { backstage.panel.style.top (-backstage.panel.offsetHeight) + px; var p {style: top, start: -backstage.panel.offsetHeight, end: 0, template: %0px}; anim.startAnimating(new Morpher(backstage.panel,config.animDuration,p),new Scroller(backstage.panel,false)); } else { backstage.panel.style.top 0px; } return backstage.panelBody; }, hidePanel: function() { if(backstage.currTabElem) jQuery(backstage.currTabElem).removeClass(backstageSelTab); backstage.currTabElem null; backstage.currTabName null; if(anim && config.options.chkAnimate) { var p {style: top, start: 0, end: -(backstage.panel.offsetHeight), template: %0px}, {style: display, atEnd: none} ; var c function(element,properties) {backstage.cloak.style.display none;}; anim.startAnimating(new Morpher(backstage.panel,config.animDuration,p,c)); } else { jQuery(backstage.panel,backstage.cloak).hide(); } }};config.macros.backstage {};config.macros.backstage.handler function(place,macroName,params){ var backstageTask config.tasksparams0; if(backstageTask) createTiddlyButton(place,backstageTask.text,backstageTask.tooltip,function(e) {backstage.switchTab(params0); return false;});};//--//-- ImportTiddlers macro//--config.macros.importTiddlers.handler function(place,macroName,params,wikifier,paramString,tiddler){ if(readOnly) { createTiddlyElement(place,div,null,marked,this.readOnlyWarning); return; } var w new Wizard(); w.createWizard(place,this.wizardTitle); this.restart(w);};config.macros.importTiddlers.onCancel function(e){ var wizard new Wizard(this); wizard.clear(); config.macros.importTiddlers.restart(wizard); return false;};config.macros.importTiddlers.onClose function(e){ backstage.hidePanel(); return false;};config.macros.importTiddlers.restart function(wizard){ var me config.macros.importTiddlers; wizard.addStep(this.step1Title,this.step1Html); var t,s wizard.getElement(selTypes); for(t in config.adaptors) { var e createTiddlyElement(s,option,null,null,config.adaptorst.serverLabel || t); e.value t; } if(config.defaultAdaptor) s.value config.defaultAdaptor; s wizard.getElement(selFeeds); var feeds this.getFeeds(); for(t in feeds) { e createTiddlyElement(s,option,null,null,t); e.value t; } wizard.setValue(feeds,feeds); s.onchange me.onFeedChange; var fileInput wizard.getElement(txtBrowse); fileInput.onchange me.onBrowseChange; fileInput.onkeyup me.onBrowseChange; wizard.setButtons({caption: this.openLabel, tooltip: this.openPrompt, onClick: me.onOpen}); wizard.formElem.action javascript:;; wizard.formElem.onsubmit function() { if(!this.txtPath || this.txtPath.value.length) //# check for manually entered path in first step this.lastChild.firstChild.onclick(); };};config.macros.importTiddlers.getFeeds function(){ var feeds {}; var t,tagged store.getTaggedTiddlers(systemServer,title); for(t0; ttagged.length; t++) { var title taggedt.title; var serverType store.getTiddlerSlice(title,Type); if(!serverType) serverType file; feedstitle {title: title, url: store.getTiddlerSlice(title,URL), workspace: store.getTiddlerSlice(title,Workspace), workspaceList: store.getTiddlerSlice(title,WorkspaceList), tiddlerFilter: store.getTiddlerSlice(title,TiddlerFilter), serverType: serverType, description: store.getTiddlerSlice(title,Description)}; } return feeds;};config.macros.importTiddlers.onFeedChange function(e){ var wizard new Wizard(this); var selTypes wizard.getElement(selTypes); var fileInput wizard.getElement(txtPath); var feeds wizard.getValue(feeds); var f feedsthis.value; if(f) { selTypes.value f.serverType; fileInput.value f.url; wizard.setValue(feedName,f.serverType); wizard.setValue(feedHost,f.url); wizard.setValue(feedWorkspace,f.workspace); wizard.setValue(feedWorkspaceList,f.workspaceList); wizard.setValue(feedTiddlerFilter,f.tiddlerFilter); } return false;};config.macros.importTiddlers.onBrowseChange function(e){ var wizard new Wizard(this); var file this.value; file file.replace(/^C:\\fakepath\\/i,); // remove fakepath (chrome/opera/safari) if(this.files && this.files0) { try { netscape.security.PrivilegeManager.enablePrivilege(UniversalFileRead); file this.files0.fileName; // REQUIRES PRIVILEGES.. NULL otherwise } catch (ex) { // non-priv fallback: combine filename with path to current document var pathgetLocalPath(document.location.href); var slashpospath.lastIndexOf(/); if (slashpos-1) slashpospath.lastIndexOf(\\); if (slashpos!-1) pathpath.substr(0,slashpos+1); // remove filename, leave trailing slash filepath+file; } } var fileInput wizard.getElement(txtPath); fileInput.value config.macros.importTiddlers.getURLFromLocalPath(file); var serverType wizard.getElement(selTypes); serverType.value file; return true;};config.macros.importTiddlers.getURLFromLocalPath function(v){ if(!v || !v.length) return v; v v.replace(/\\/g,/); // use / for cross-platform consistency var u; var t v.split(:); var p t1 || t0; // remove drive letter (if any) if(t1 && (t0 http || t0 https || t0 file)) { u v; } else if(p.substr(0,1)/) { u document.location.protocol + // + document.location.hostname + (t1 ? / : ) + v; } else { var c document.location.href.replace(/\\/g,/); var pos c.lastIndexOf(/); if(pos!-1) c c.substr(0,pos); // remove filename u c + / + p; } return u;};config.macros.importTiddlers.onOpen function(e){ var me config.macros.importTiddlers; var wizard new Wizard(this); var fileInput wizard.getElement(txtPath); var url fileInput.value; var serverType wizard.getElement(selTypes).value || config.defaultAdaptor; var adaptor new config.adaptorsserverType(); wizard.setValue(adaptor,adaptor); wizard.setValue(serverType,serverType); wizard.setValue(host,url); adaptor.openHost(url,null,wizard,me.onOpenHost); wizard.setButtons({caption: me.cancelLabel, tooltip: me.cancelPrompt, onClick: me.onCancel},me.statusOpenHost); return false;};config.macros.importTiddlers.onOpenHost function(context,wizard){ var me config.macros.importTiddlers; var adaptor wizard.getValue(adaptor); if(context.status ! true) displayMessage(Error in importTiddlers.onOpenHost: + context.statusText); adaptor.getWorkspaceList(context,wizard,me.onGetWorkspaceList); wizard.setButtons({caption: me.cancelLabel, tooltip: me.cancelPrompt, onClick: me.onCancel},me.statusGetWorkspaceList);};config.macros.importTiddlers.onGetWorkspaceList function(context,wizard){ var me config.macros.importTiddlers; if(context.status ! true) displayMessage(Error in importTiddlers.onGetWorkspaceList: + context.statusText); wizard.setValue(context,context); var workspace wizard.getValue(feedWorkspace); if(!workspace && context.workspaces.length1) workspace context.workspaces0.title; if(workspace) { context.adaptor.openWorkspace(workspace,context,wizard,me.onOpenWorkspace); wizard.setValue(workspace,workspace); wizard.setButtons({caption: me.cancelLabel, tooltip: me.cancelPrompt, onClick: me.onCancel},me.statusOpenWorkspace); return; } wizard.addStep(me.step2Title,me.step2Html); var t,s wizard.getElement(selWorkspace); s.onchange me.onWorkspaceChange; for(t0; tcontext.workspaces.length; t++) { var e createTiddlyElement(s,option,null,null,context.workspacest.title); e.value context.workspacest.title; } var workspaceList wizard.getValue(feedWorkspaceList); if(workspaceList) { var n,list workspaceList.parseParams(workspace,null,false,true); for(n1; nlist.length; n++) { if(context.workspaces.findByField(title,listn.value) null) { e createTiddlyElement(s,option,null,null,listn.value); e.value listn.value; } } } if(workspace) { t wizard.getElement(txtWorkspace); t.value workspace; } wizard.setButtons({caption: me.openLabel, tooltip: me.openPrompt, onClick: me.onChooseWorkspace});};config.macros.importTiddlers.onWorkspaceChange function(e){ var wizard new Wizard(this); var t wizard.getElement(txtWorkspace); t.value this.value; this.selectedIndex 0; return false;};config.macros.importTiddlers.onChooseWorkspace function(e){ var me config.macros.importTiddlers; var wizard new Wizard(this); var adaptor wizard.getValue(adaptor); var workspace wizard.getElement(txtWorkspace).value; wizard.setValue(workspace,workspace); var context wizard.getValue(context); adaptor.openWorkspace(workspace,context,wizard,me.onOpenWorkspace); wizard.setButtons({caption: me.cancelLabel, tooltip: me.cancelPrompt, onClick: me.onCancel},me.statusOpenWorkspace); return false;};config.macros.importTiddlers.onOpenWorkspace function(context,wizard){ var me config.macros.importTiddlers; if(context.status ! true) displayMessage(Error in importTiddlers.onOpenWorkspace: + context.statusText); var adaptor wizard.getValue(adaptor); var browsewizard.getElement(txtBrowse); if (browse.files) context.filebrowse.files0; // for HTML5 FileReader adaptor.getTiddlerList(context,wizard,me.onGetTiddlerList,wizard.getValue(feedTiddlerFilter)); wizard.setButtons({caption: me.cancelLabel, tooltip: me.cancelPrompt, onClick: me.onCancel},me.statusGetTiddlerList);};config.macros.importTiddlers.onGetTiddlerList function(context,wizard){ var me config.macros.importTiddlers; if(context.status ! true) { var error context.statusText||me.errorGettingTiddlerList; if(context.host.indexOf(file://) 0) { error me.errorGettingTiddlerListFile; } else { error context.xhr && context.xhr.status 404 ? me.errorGettingTiddlerListHttp404 : me.errorGettingTiddlerListHttp; } wizard.setButtons({caption: me.cancelLabel, tooltip: me.cancelPrompt, onClick: me.onCancel},); jQuery(span.status, wizard.footerEl).html(error); // so error message can be html return; } // Extract data for the listview var listedTiddlers ; if(context.tiddlers) { var n; for(n0; ncontext.tiddlers.length; n++) { var tiddler context.tiddlersn; listedTiddlers.push({ title: tiddler.title, modified: tiddler.modified, modifier: tiddler.modifier, text: tiddler.text ? wikifyPlainText(tiddler.text,100) : , tags: tiddler.tags, size: tiddler.text ? tiddler.text.length : 0, tiddler: tiddler }); } } listedTiddlers.sort(function(a,b) {return a.title b.title ? -1 : (a.title b.title ? 0 : +1);}); // Display the listview wizard.addStep(me.step3Title,me.step3Html); var markList wizard.getElement(markList); var listWrapper document.createElement(div); markList.parentNode.insertBefore(listWrapper,markList); var listView ListView.create(listWrapper,listedTiddlers,me.listViewTemplate); wizard.setValue(listView,listView); wizard.setValue(context,context); var txtSaveTiddler wizard.getElement(txtSaveTiddler); txtSaveTiddler.value me.generateSystemServerName(wizard); wizard.setButtons( {caption: me.cancelLabel, tooltip: me.cancelPrompt, onClick: me.onCancel}, {caption: me.importLabel, tooltip: me.importPrompt, onClick: me.doImport} );};config.macros.importTiddlers.generateSystemServerName function(wizard){ var serverType wizard.getValue(serverType); var host wizard.getValue(host); var workspace wizard.getValue(workspace); var pattern config.macros.importTiddlersworkspace ? systemServerNamePattern : systemServerNamePatternNoWorkspace; return pattern.format(serverType,host,workspace);};config.macros.importTiddlers.saveServerTiddler function(wizard){ var me config.macros.importTiddlers; var txtSaveTiddler wizard.getElement(txtSaveTiddler).value; if(store.tiddlerExists(txtSaveTiddler)) { if(!confirm(me.confirmOverwriteSaveTiddler.format(txtSaveTiddler))) return; store.suspendNotifications(); store.removeTiddler(txtSaveTiddler); store.resumeNotifications(); } var serverType wizard.getValue(serverType); var host wizard.getValue(host); var workspace wizard.getValue(workspace); var text me.serverSaveTemplate.format(serverType,host,workspace); store.saveTiddler(txtSaveTiddler,txtSaveTiddler,text,me.serverSaveModifier,new Date(),systemServer);};config.macros.importTiddlers.doImport function(e){ var me config.macros.importTiddlers; var wizard new Wizard(this); if(wizard.getElement(chkSave).checked) me.saveServerTiddler(wizard); var chkSync wizard.getElement(chkSync).checked; wizard.setValue(sync,chkSync); var listView wizard.getValue(listView); var rowNames ListView.getSelectedRows(listView); var adaptor wizard.getValue(adaptor); var overwrite ; var t; for(t0; trowNames.length; t++) { if(store.tiddlerExists(rowNamest)) overwrite.push(rowNamest); } if(overwrite.length > 0) { if(!confirm(me.confirmOverwriteText.format(overwrite.join(, )))) return false; } wizard.addStep(me.step4Title.format(rowNames.length),me.step4Html); for(t0; trowNames.length; t++) { var link document.createElement(div); createTiddlyLink(link,rowNamest,true); var place wizard.getElement(markReport); place.parentNode.insertBefore(link,place); } wizard.setValue(remainingImports,rowNames.length); wizard.setButtons( {caption: me.cancelLabel, tooltip: me.cancelPrompt, onClick: me.onCancel} ,me.statusDoingImport); var wizardContext wizard.getValue(context); var tiddlers wizardContext ? wizardContext.tiddlers : ; for(t0; trowNames.length; t++) { var context { allowSynchronous:true, tiddler:tiddlerstiddlers.findByField(title,rowNamest) }; adaptor.getTiddler(rowNamest,context,wizard,me.onGetTiddler); } return false;};config.macros.importTiddlers.onGetTiddler function(context,wizard){ var me config.macros.importTiddlers; if(!context.status) displayMessage(Error in importTiddlers.onGetTiddler: + context.statusText); var tiddler context.tiddler; store.suspendNotifications(); store.saveTiddler(tiddler.title, tiddler.title, tiddler.text, tiddler.modifier, tiddler.modified, tiddler.tags, tiddler.fields, true, tiddler.created); if(!wizard.getValue(sync)) { store.setValue(tiddler.title,server,null); } store.resumeNotifications(); if(!context.isSynchronous) store.notify(tiddler.title,true); var remainingImports wizard.getValue(remainingImports)-1; wizard.setValue(remainingImports,remainingImports); if(remainingImports 0) { if(context.isSynchronous) { store.notifyAll(); refreshDisplay(); } wizard.setButtons( {caption: me.doneLabel, tooltip: me.donePrompt, onClick: me.onClose} ,me.statusDoneImport); autoSaveChanges(); }};//--//-- Upgrade macro//--config.macros.upgrade.handler function(place){ var w new Wizard(); w.createWizard(place,this.wizardTitle); w.addStep(this.step1Title,this.step1Html.format(this.source,this.source)); w.setButtons({caption: this.upgradeLabel, tooltip: this.upgradePrompt, onClick: this.onClickUpgrade});};config.macros.upgrade.onClickUpgrade function(e){ var me config.macros.upgrade; var w new Wizard(this); if(!window.allowSave()) { alert(me.errorCantUpgrade); return false; } if(story.areAnyDirty() || store.isDirty()) { alert(me.errorNotSaved); return false; } var localPath getLocalPath(document.location.toString()); var backupPath getBackupPath(localPath,me.backupExtension); w.setValue(backupPath,backupPath); w.setButtons(,me.statusPreparingBackup); var original loadOriginal(localPath); w.setButtons(,me.statusSavingBackup); var backup copyFile(backupPath,localPath); if(!backup) backup saveFile(backupPath,original); if(!backup) { w.setButtons(,me.errorSavingBackup); alert(me.errorSavingBackup); return false; } w.setButtons(,me.statusLoadingCore); var options { type:GET, url:me.source, processData:false, success:function(data,textStatus,jqXHR) { me.onLoadCore(true,w,jqXHR.responseText,me.source,jqXHR); }, error:function(jqXHR,textStatus,errorThrown) { me.onLoadCore(false,w,null,me.source,jqXHR); } }; ajaxReq(options); return false;};config.macros.upgrade.onLoadCore function(status,params,responseText,url,xhr){ var me config.macros.upgrade; var w params; var errMsg; if(!status) errMsg me.errorLoadingCore; var newVer me.extractVersion(responseText); if(!newVer) errMsg me.errorCoreFormat; if(errMsg) { w.setButtons(,errMsg); alert(errMsg); return; } var onStartUpgrade function(e) { w.setButtons(,me.statusSavingCore); var localPath getLocalPath(document.location.toString()); saveFile(localPath,responseText); w.setButtons(,me.statusReloadingCore); var backupPath w.getValue(backupPath); var newLoc document.location.toString() + ?time + new Date().convertToYYYYMMDDHHMM() + #upgrade: + encodeURI(backupPath) + ; window.setTimeout(function () {window.location newLoc;},10); }; var step2 me.step2Html_downgrade,me.step2Html_restore,me.step2Html_upgradecompareVersions(version,newVer) + 1; w.addStep(me.step2Title,step2.format(formatVersion(newVer),formatVersion(version))); w.setButtons({caption: me.startLabel, tooltip: me.startPrompt, onClick: onStartUpgrade},{caption: me.cancelLabel, tooltip: me.cancelPrompt, onClick: me.onCancel});};config.macros.upgrade.onCancel function(e){ var me config.macros.upgrade; var w new Wizard(this); w.addStep(me.step3Title,me.step3Html); w.setButtons(); return false;};config.macros.upgrade.extractVersion function(upgradeFile){ var re /^var version \{title: (^+), major: (\d+), minor: (\d+), revision: (\d+)(, beta: (\d+)){0,1}, date: new Date\((^+)\)/mg; var m re.exec(upgradeFile); return m ? {title: m1, major: m2, minor: m3, revision: m4, beta: m6, date: new Date(m7)} : null;};function upgradeFrom(path){ var importStore new TiddlyWiki(); var tw loadFile(path); if(window.netscape ! undefined) tw convertUTF8ToUnicode(tw); importStore.importTiddlyWiki(tw); importStore.forEachTiddler(function(title,tiddler) { if(!store.getTiddler(title)) { store.addTiddler(tiddler); } }); refreshDisplay(); saveChanges(); //# To create appropriate Markup* sections alert(config.messages.upgradeDone.format(formatVersion())); window.location window.location.toString().substr(0,window.location.toString().lastIndexOf(?));}//--//-- Manager UI for groups of tiddlers//--config.macros.plugins.handler function(place,macroName,params,wikifier,paramString){ var wizard new Wizard(); wizard.createWizard(place,this.wizardTitle); wizard.addStep(this.step1Title,this.step1Html); var markList wizard.getElement(markList); var listWrapper document.createElement(div); markList.parentNode.insertBefore(listWrapper,markList); listWrapper.setAttribute(refresh,macro); listWrapper.setAttribute(macroName,plugins); listWrapper.setAttribute(params,paramString); this.refresh(listWrapper,paramString);};config.macros.plugins.refresh function(listWrapper,params){ var me config.macros.plugins; var wizard new Wizard(listWrapper); var selectedRows ; ListView.forEachSelector(listWrapper,function(e,rowName) { if(e.checked) selectedRows.push(e.getAttribute(rowName)); }); jQuery(listWrapper).empty(); params params.parseParams(anon); var plugins installedPlugins.slice(0); var t,tiddler,p; var configTiddlers store.getTaggedTiddlers(systemConfig); for(t0; tconfigTiddlers.length; t++) { tiddler configTiddlerst; if(plugins.findByField(title,tiddler.title) null) { p getPluginInfo(tiddler); p.executed false; p.log.splice(0,0,this.skippedText); plugins.push(p); } } for(t0; tplugins.length; t++) { p pluginst; p.size p.tiddler.text ? p.tiddler.text.length : 0; p.forced p.tiddler.isTagged(systemConfigForce); p.disabled p.tiddler.isTagged(systemConfigDisable); p.Selected selectedRows.indexOf(pluginst.title) ! -1; } if(plugins.length 0) { createTiddlyElement(listWrapper,em,null,null,this.noPluginText); wizard.setButtons(); } else { var template readOnly ? this.listViewTemplateReadOnly : this.listViewTemplate; var listView ListView.create(listWrapper,plugins,template,this.onSelectCommand); wizard.setValue(listView,listView); if(!readOnly) { wizard.setButtons( {caption: me.removeLabel, tooltip: me.removePrompt, onClick: me.doRemoveTag}, {caption: me.deleteLabel, tooltip: me.deletePrompt, onClick: me.doDelete} ); } }};config.macros.plugins.doRemoveTag function(e){ var wizard new Wizard(this); var listView wizard.getValue(listView); var rowNames ListView.getSelectedRows(listView); if(rowNames.length 0) { alert(config.messages.nothingSelected); } else { var t; for(t0; trowNames.length; t++) { store.setTiddlerTag(rowNamest,false,systemConfig); } autoSaveChanges(); }};config.macros.plugins.doDelete function(e){ var wizard new Wizard(this); var listView wizard.getValue(listView); var rowNames ListView.getSelectedRows(listView); if(rowNames.length 0) { alert(config.messages.nothingSelected); } else { if(confirm(config.macros.plugins.confirmDeleteText.format(rowNames.join(, )))) { var t; for(t0; trowNames.length; t++) { store.removeTiddler(rowNamest); story.closeTiddler(rowNamest,true); } } autoSaveChanges(); }};//--//-- Message area//--function getMessageDiv(){ var msgArea document.getElementById(messageArea); if(!msgArea) return null; if(!msgArea.hasChildNodes()) createTiddlyButton(createTiddlyElement(msgArea,div,null,messageToolbar), config.messages.messageClose.text, config.messages.messageClose.tooltip, clearMessage); msgArea.style.display block; return createTiddlyElement(msgArea,div);}function displayMessage(text,linkText){ var e getMessageDiv(); if(!e) { alert(text); return; } if(linkText) { var link createTiddlyElement(e,a,null,null,text); link.href linkText; link.target _blank; } else { e.appendChild(document.createTextNode(text)); }}function clearMessage(){ var msgArea document.getElementById(messageArea); if(msgArea) { jQuery(msgArea).empty(); msgArea.style.display none; } return false;}//--//-- Refresh mechanism//--config.notifyTiddlers {name: SystemSettings, notify: onSystemSettingsChange}, {name: StyleSheetLayout, notify: refreshStyles}, {name: StyleSheetColors, notify: refreshStyles}, {name: StyleSheet, notify: refreshStyles}, {name: StyleSheetPrint, notify: refreshStyles}, {name: PageTemplate, notify: refreshPageTemplate}, {name: SiteTitle, notify: refreshPageTitle}, {name: SiteSubtitle, notify: refreshPageTitle}, {name: WindowTitle, notify: refreshPageTitle}, {name: ColorPalette, notify: refreshColorPalette}, {name: null, notify: refreshDisplay};config.refreshers { link: function(e,changeList) { var title e.getAttribute(tiddlyLink); refreshTiddlyLink(e,title); return true; }, tiddler: function(e,changeList) { var title e.getAttribute(tiddler); var template e.getAttribute(template); if(changeList && (changeList.indexOf && changeList.indexOf(title) ! -1) && !story.isDirty(title)) story.refreshTiddler(title,template,true); else refreshElements(e,changeList); return true; }, content: function(e,changeList) { var title e.getAttribute(tiddler); var force e.getAttribute(force); var args e.getAttribute(args); if(force ! null || changeList null || (changeList.indexOf && changeList.indexOf(title) ! -1)) { jQuery(e).empty(); config.macros.tiddler.transclude(e,title,args); return true; } else return false; }, macro: function(e,changeList) { var macro e.getAttribute(macroName); var params e.getAttribute(params); if(macro) macro config.macrosmacro; if(macro && macro.refresh) macro.refresh(e,params); return true; }};config.refresherData { styleSheet: StyleSheet, defaultStyleSheet: StyleSheet, pageTemplate: PageTemplate, defaultPageTemplate: PageTemplate, colorPalette: ColorPalette, defaultColorPalette: ColorPalette};function refreshElements(root,changeList){ var c,nodes root.childNodes; for(c0; cnodes.length; c++) { var e nodesc, type null; if(e.getAttribute && (e.tagName ? e.tagName ! IFRAME : true)) type e.getAttribute(refresh); var refresher config.refresherstype; var refreshed false; if(refresher ! undefined) refreshed refresher(e,changeList); if(e.hasChildNodes() && !refreshed) refreshElements(e,changeList); }}function applyHtmlMacros(root,tiddler){ var e root.firstChild; while(e) { var nextChild e.nextSibling; if(e.getAttribute) { var macro e.getAttribute(macro); if(macro) { e.removeAttribute(macro); var params ; var p macro.indexOf( ); if(p ! -1) { params macro.substr(p+1); macro macro.substr(0,p); } invokeMacro(e,macro,params,null,tiddler); } } if(e.hasChildNodes()) applyHtmlMacros(e,tiddler); e nextChild; }}function refreshPageTemplate(title){ var stash jQuery(div/>).appendTo(body).hide()0; var display story.getContainer(); var nodes,t; if(display) { nodes display.childNodes; for(tnodes.length-1; t>0; t--) stash.appendChild(nodest); } var wrapper document.getElementById(contentWrapper); if(!title || !store.isAvailable(title)) title config.refresherData.pageTemplate; if(!store.isAvailable(title)) title config.refresherData.defaultPageTemplate; //# this one is always avaialable wrapper.innerHTML store.getRecursiveTiddlerText(title,null,10); applyHtmlMacros(wrapper); refreshElements(wrapper); display story.getContainer(); jQuery(display).empty(); if(!display) display createTiddlyElement(wrapper,div,story.containerId()); nodes stash.childNodes; for(tnodes.length-1; t>0; t--) display.appendChild(nodest); jQuery(stash).remove();}function refreshDisplay(hint){ if(typeof hint string) hint hint; var e document.getElementById(contentWrapper); refreshElements(e,hint); if(backstage.isPanelVisible()) { e document.getElementById(backstage); refreshElements(e,hint); }}function refreshPageTitle(){ document.title getPageTitle();}function getPageTitle(){ return wikifyPlainText(store.getTiddlerText(WindowTitle,),null,tiddler);}function refreshStyles(title,doc){ setStylesheet(title null ? : store.getRecursiveTiddlerText(title,,10),title,doc || document);}function refreshColorPalette(title){ if(!startingUp) refreshAll();}function refreshAll(){ refreshPageTemplate(); refreshDisplay(); refreshStyles(StyleSheetLayout); refreshStyles(StyleSheetColors); refreshStyles(config.refresherData.styleSheet); refreshStyles(StyleSheetPrint);}//--//-- Option handling//--config.optionHandlers { txt: { get: function(name) {return encodeCookie(config.optionsname.toString());}, set: function(name,value) {config.optionsname decodeCookie(value);} }, chk: { get: function(name) {return config.optionsname ? true : false;}, set: function(name,value) {config.optionsname value true;} }};function setOption(name,value){ var optType name.substr(0,3); if(config.optionHandlersoptType && config.optionHandlersoptType.set) config.optionHandlersoptType.set(name,value);}// Gets the value of an option as a string. Most code should just read from config.options.* directlyfunction getOption(name){ var optType name.substr(0,3); return config.optionHandlersoptType && config.optionHandlersoptType.get ? config.optionHandlersoptType.get(name) : null;}function loadOptions(){ if(safeMode) return; loadCookies(); loadSystemSettings();}// @Deprecated; retained for backwards compatibilityvar loadOptionsCookie loadOptions;function getCookies(){ var cookieList document.cookie.split(;); var i,cookies {}; for(i0; icookieList.length; i++) { var p cookieListi.indexOf(); if(p ! -1) { var name cookieListi.substr(0,p).trim(); var value cookieListi.substr(p+1).trim(); cookiesname value; } } return cookies;}function loadCookies(){ var i,cookies getCookies(); if(cookiesTiddlyWiki) { cookies cookiesTiddlyWiki.decodeHashMap(); } for(i in cookies) { if(config.optionsSourcei ! setting) { setOption(i,cookiesi); } }}function loadSystemSettings(){ var key,settings store.calcAllSlices(SystemSettings); config.optionsSource {}; for(key in settings) { setOption(key,settingskey); config.optionsSourcekey setting; }}function onSystemSettingsChange(){ if(!startingUp) { loadSystemSettings(); }}function saveOption(name){ if(safeMode) return; if(name.match(/()\s/g, _)) { alert(config.messages.invalidCookie.format(name)); return; } saveCookie(name); if(config.optionsSourcename setting) { saveSystemSetting(name,true); }}// @Deprecated; retained for backwards compatibilityvar saveOptionCookie saveOption;function removeCookie(name){ document.cookie name + ; expiresThu, 01-Jan-1970 00:00:01 UTC; path/;;}function saveCookie(name){ var key,cookies {}; for(key in config.options) { var value getOption(key); value value null ? false : value; cookieskey value; } document.cookie TiddlyWiki + String.encodeHashMap(cookies) + ; expiresFri, 1 Jan 2038 12:00:00 UTC; path/; cookies getCookies(); var c; for(c in cookies) { var optType c.substr(0,3); if(config.optionHandlersoptType) removeCookie(c); }}var systemSettingSave;function commitSystemSettings(storeWasDirty){ if(systemSettingSave) { window.clearTimeout(systemSettingSave); } systemSettingSave window.setTimeout(function() { var tiddler store.getTiddler(SystemSettings); autoSaveChanges(null,tiddler); }, 1000);}function saveSystemSetting(name,saveFile){ var title SystemSettings; var slice store.getTiddlerSlice(title,name); if(readOnly || slice getOption(name)) { return; //# dont save if read-only or the option hasnt changed } var slices store.calcAllSlices(title); var key; for(key in config.optionsSource) { var value getOption(key) || ; if(sliceskey ! value) { sliceskey value; } } var text ; for(key in slices) { text.push(%0: %1.format(key,sliceskey)); } text text.sort().join(\n); var storeWasDirty store.isDirty(); var tiddler store.getTiddler(title); if(tiddler) { tiddler.text text; tiddler store.saveTiddler(tiddler); } else { tiddler store.saveTiddler(title,title,text,System,new Date(),excludeLists,config.defaultCustomFields); } if(saveFile) { commitSystemSettings(storeWasDirty); }}function encodeCookie(s){ return escape(convertUnicodeToHtmlEntities(s));}function decodeCookie(s){ s unescape(s); var re /-9{1,5};/g; return s.replace(re,function($0) {return String.fromCharCode(eval($0.replace(//g,)));});}config.macros.option.genericCreate function(place,type,opt,className,desc){ var typeInfo config.macros.option.typestype; var c document.createElement(typeInfo.elementType); if(typeInfo.typeValue) c.setAttribute(type,typeInfo.typeValue); ctypeInfo.eventName typeInfo.onChange; c.setAttribute(option,opt); c.className className || typeInfo.className; if(config.optionsDescopt) c.setAttribute(title,config.optionsDescopt); place.appendChild(c); if(desc ! no) createTiddlyText(place,config.optionsDescopt || opt); ctypeInfo.valueField config.optionsopt; return c;};config.macros.option.genericOnChange function(e){ var opt this.getAttribute(option); if(opt) { var optType opt.substr(0,3); var handler config.macros.option.typesoptType; if(handler.elementType && handler.valueField) config.macros.option.propagateOption(opt,handler.valueField,thishandler.valueField,handler.elementType,this); } return true;};config.macros.option.types { txt: { elementType: input, valueField: value, eventName: onchange, className: txtOptionInput, create: config.macros.option.genericCreate, onChange: config.macros.option.genericOnChange }, chk: { elementType: input, valueField: checked, eventName: onclick, className: chkOptionInput, typeValue: checkbox, create: config.macros.option.genericCreate, onChange: config.macros.option.genericOnChange }};config.macros.option.propagateOption function(opt,valueField,value,elementType,elem){ config.optionsopt value; saveOption(opt); var t,nodes document.getElementsByTagName(elementType); for(t0; tnodes.length; t++) { var optNode nodest.getAttribute(option); if(opt optNode && nodest!elem) nodestvalueField value; }};config.macros.option.handler function(place,macroName,params,wikifier,paramString){ params paramString.parseParams(anon,null,true,false,false); var opt (params1 && params1.name anon) ? params1.value : getParam(params,name,null); var className (params2 && params2.name anon) ? params2.value : getParam(params,class,null); var desc getParam(params,desc,no); var type opt.substr(0,3); var h config.macros.option.typestype; if(h && h.create) h.create(place,type,opt,className,desc);};config.macros.options.handler function(place,macroName,params,wikifier,paramString){ params paramString.parseParams(anon,null,true,false,false); var showUnknown getParam(params,showUnknown,no); var wizard new Wizard(); wizard.createWizard(place,this.wizardTitle); wizard.addStep(this.step1Title,this.step1Html); var markList wizard.getElement(markList); var chkUnknown wizard.getElement(chkUnknown); chkUnknown.checked showUnknown yes; chkUnknown.onchange this.onChangeUnknown; var listWrapper document.createElement(div); markList.parentNode.insertBefore(listWrapper,markList); wizard.setValue(listWrapper,listWrapper); this.refreshOptions(listWrapper,showUnknown yes);};config.macros.options.refreshOptions function(listWrapper,showUnknown){ var n,opts ; for(n in config.options) { var opt {}; opt.option ; opt.name n; opt.lowlight !config.optionsDescn; opt.description opt.lowlight ? this.unknownDescription : config.optionsDescn; if(!opt.lowlight || showUnknown) opts.push(opt); } opts.sort(function(a,b) {return a.name.substr(3) b.name.substr(3) ? -1 : (a.name.substr(3) b.name.substr(3) ? 0 : +1);}); ListView.create(listWrapper,opts,this.listViewTemplate); for(n0; nopts.length; n++) { var type optsn.name.substr(0,3); var h config.macros.option.typestype; if(h && h.create) { h.create(optsn.colElementsoption,type,optsn.name,null,no); } }};config.macros.options.onChangeUnknown function(e){ var wizard new Wizard(this); var listWrapper wizard.getValue(listWrapper); jQuery(listWrapper).empty(); config.macros.options.refreshOptions(listWrapper,this.checked); return false;};//--//-- Saving//--var saveUsingSafari false;var startSaveArea div id + storeArea>; // Split up into two so that indexOf() of this source doesnt find itvar startSaveAreaRE /((div)|(DIV)) ((id)|(ID))?storeArea?>/; // Used for IE6var endSaveArea /d + iv>;var endSaveAreaCaps /D + IV>;// If there are unsaved changes, force the user to confirm before exittingfunction confirmExit(){ hadConfirmExit true; if((store && store.isDirty && store.isDirty()) || (story && story.areAnyDirty && story.areAnyDirty())) return config.messages.confirmExit;}// Give the user a chance to save changes before exittingfunction checkUnsavedChanges(){ if(store && store.isDirty && store.isDirty() && window.hadConfirmExit false) { if(confirm(config.messages.unsavedChangesWarning)) saveChanges(); }}function updateLanguageAttribute(s){ if(config.locale) { var mRE /(html(?:.*?)?)(?: xml:lang\(a-z+))?(?: lang\(a-z+))?>/; var m mRE.exec(s); if(m) { var t m1; if(m2) t + xml:lang + config.locale + ; if(m3) t + lang + config.locale + ; t + >; s s.substr(0,m.index) + t + s.substr(m.index+m0.length); } } return s;}function updateMarkupBlock(s,blockName,tiddlerName){ return s.replaceChunk( !--%0-START-->.format(blockName), !--%0-END-->.format(blockName), \n + convertUnicodeToFileFormat(store.getRecursiveTiddlerText(tiddlerName,)) + \n);}function updateOriginal(original,posDiv,localPath){ if(!posDiv) posDiv locateStoreArea(original); if(!posDiv) { alert(config.messages.invalidFileError.format(localPath)); return null; } var revised original.substr(0,posDiv0 + startSaveArea.length) + \n + convertUnicodeToFileFormat(store.allTiddlersAsHtml()) + \n + original.substr(posDiv1); var newSiteTitle convertUnicodeToFileFormat(getPageTitle()).htmlEncode(); revised revised.replaceChunk(title+>,/title+>, + newSiteTitle + ); revised updateLanguageAttribute(revised); revised updateMarkupBlock(revised,PRE-HEAD,MarkupPreHead); revised updateMarkupBlock(revised,POST-HEAD,MarkupPostHead); revised updateMarkupBlock(revised,PRE-BODY,MarkupPreBody); revised updateMarkupBlock(revised,POST-SCRIPT,MarkupPostBody); return revised;}function locateStoreArea(original){ // Locate the storeArea divs if(!original) return null; var posOpeningDiv original.search(startSaveAreaRE); var limitClosingDiv original.indexOf(+!--POST-STOREAREA--+>); if(limitClosingDiv -1) limitClosingDiv original.indexOf(+!--POST-BODY-START--+>); var start limitClosingDiv -1 ? original.length : limitClosingDiv; var posClosingDiv original.lastIndexOf(endSaveArea,start); if(posClosingDiv -1) posClosingDiv original.lastIndexOf(endSaveAreaCaps,start); return (posOpeningDiv ! -1 && posClosingDiv ! -1) ? posOpeningDiv,posClosingDiv : null;}function autoSaveChanges(onlyIfDirty,tiddlers){ if(config.options.chkAutoSave) saveChanges(onlyIfDirty,tiddlers);}function loadOriginal(localPath){ var contentloadFile(localPath); if (!content) contentwindow.originalHTML||recreateOriginal(); return content;}function recreateOriginal(){ // construct doctype var content !DOCTYPE ; var tdocument.doctype; if (!t) content+html else { content+t.name; if (t.publicId) content+ PUBLIC +t.publicId+; else if (t.systemId) content+ SYSTEM +t.systemId+; } content+ http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd; content+>\n; // append current document content content+document.documentElement.outerHTML; contentcontent.replace(/div idsaveTest>savetest\/div>/,div idsaveTest>/div>); contentcontent.replace(/script>applet ^\>*>\/applet>/g,script>); contentcontent.replace(/>head>/,>\nhead>); contentcontent.replace(/\n\n\/body>\/html>$/,/body>\n/html>\n); contentcontent.replace(/((meta) ^\>*^\/)>/g,$1 />); contentcontent.replace(/noscript>^\*\/noscript>/, function(m){return m.replace(/</g,).replace(/>/g,>);}); contentcontent.replace(/div idcopyright>^\*\/div>/, function(m){return m.replace(/\xA9/g,©);}); return content;}// Save this tiddlywiki with the pending changesfunction saveChanges(onlyIfDirty,tiddlers){ if(onlyIfDirty && !store.isDirty()) return; clearMessage(); var t0 new Date(); var msg config.messages; var originalPath document.location.toString(); if(!window.allowSave()) { alert(msg.notFileUrlError); if(store.tiddlerExists(msg.saveInstructions)) story.displayTiddler(null,msg.saveInstructions); return; } var localPath getLocalPath(originalPath); var original loadOriginal(localPath); if(original null) { alert(msg.cantSaveError); if(store.tiddlerExists(msg.saveInstructions)) story.displayTiddler(null,msg.saveInstructions); return; } var posDiv locateStoreArea(original); if(!posDiv) { alert(msg.invalidFileError.format(localPath)); return; } var coconfig.options; //# abbreviation config.saveByDownloadfalse; config.saveByManualDownloadfalse; saveMain(localPath,original,posDiv); if (!config.saveByDownload && !config.saveByManualDownload) { if(co.chkSaveBackups) saveBackup(localPath,original); if(co.chkSaveEmptyTemplate) saveEmpty(localPath,original,posDiv); if(co.chkGenerateAnRssFeed && saveRss instanceof Function) saveRss(localPath); } if(co.chkDisplayInstrumentation) displayMessage(saveChanges + (new Date()-t0) + ms);}function saveMain(localPath,original,posDiv){ var save; try { var revised updateOriginal(original,posDiv,localPath); save saveFile(localPath,revised); } catch (ex) { showException(ex); } if(save) { if (!config.saveByManualDownload) { if (config.saveByDownload) { //# set by HTML5DownloadSaveFile() var link getDataURI(revised); var msg config.messages.mainDownload; } else { var link file:// + localPath; var msg config.messages.mainSaved; } displayMessage(msg,link); } store.setDirty(false); } else { alert(config.messages.mainFailed); }}function saveBackup(localPath,original){ var backupPath getBackupPath(localPath); var backup copyFile(backupPath,localPath); if(!backup) backup saveFile(backupPath,original); if(backup) displayMessage(config.messages.backupSaved,file:// + backupPath); else alert(config.messages.backupFailed);}function saveEmpty(localPath,original,posDiv){ var emptyPath,p; if((p localPath.lastIndexOf(/)) ! -1) emptyPath localPath.substr(0,p) + /; else if((p localPath.lastIndexOf(\\)) ! -1) emptyPath localPath.substr(0,p) + \\; else emptyPath localPath + .; emptyPath + empty.html; var empty original.substr(0,posDiv0 + startSaveArea.length) + original.substr(posDiv1); var emptySave saveFile(emptyPath,empty); if(emptySave) displayMessage(config.messages.emptySaved,file:// + emptyPath); else alert(config.messages.emptyFailed);}// Translate URL to local path Preemptionwindow.getLocalPath window.getLocalPath || function(origPath){ var originalPath convertUriToUTF8(origPath,config.options.txtFileSystemCharSet); // Remove any location or query part of the URL var argPos originalPath.indexOf(?); if(argPos ! -1) originalPath originalPath.substr(0,argPos); var hashPos originalPath.indexOf(#); if(hashPos ! -1) originalPath originalPath.substr(0,hashPos); // Convert file://localhost/ to file:/// if(originalPath.indexOf(file://localhost/) 0) originalPath file:// + originalPath.substr(16); // Convert to a native file format var localPath; if(originalPath.charAt(9) :) // pc local file localPath unescape(originalPath.substr(8)).replace(new RegExp(/,g),\\); else if(originalPath.indexOf(file://///) 0) // FireFox pc network file localPath \\\\ + unescape(originalPath.substr(10)).replace(new RegExp(/,g),\\); else if(originalPath.indexOf(file:///) 0) // mac/unix local file localPath unescape(originalPath.substr(7)); else if(originalPath.indexOf(file:/) 0) // mac/unix local file localPath unescape(originalPath.substr(5)); else // pc network file localPath \\\\ + unescape(originalPath.substr(7)).replace(new RegExp(/,g),\\); return localPath;}function getBackupPath(localPath,title,extension){ var slash \\; var dirPathPos localPath.lastIndexOf(\\); if(dirPathPos -1) { dirPathPos localPath.lastIndexOf(/); slash /; } var backupFolder config.options.txtBackupFolder; if(!backupFolder || backupFolder ) backupFolder .; var backupPath localPath.substr(0,dirPathPos) + slash + backupFolder + localPath.substr(dirPathPos); backupPath backupPath.substr(0,backupPath.lastIndexOf(.)) + .; if(title) backupPath + title.replace(/\\\/\*\?\:> /g,_) + .; backupPath + (new Date()).convertToYYYYMMDDHHMMSSMMM() + . + (extension || html); return backupPath;}//--//-- RSS Saving//--function saveRss(localPath){ var rssPath localPath.substr(0,localPath.lastIndexOf(.)) + .xml; if(saveFile(rssPath,convertUnicodeToFileFormat(generateRss()))) displayMessage(config.messages.rssSaved,file:// + rssPath); else alert(config.messages.rssFailed);}tiddlerToRssItem function(tiddler,uri){ var s title + > + tiddler.title.htmlEncode() + /title + >\n; s + description> + wikifyStatic(tiddler.text,null,tiddler).htmlEncode() + /description>\n; var i; for(i0; itiddler.tags.length; i++) s + category> + tiddler.tagsi + /category>\n; s + link> + uri + # + encodeURIComponent(String.encodeTiddlyLink(tiddler.title)) + /link>\n; s +pubDate> + tiddler.modified.toGMTString() + /pubDate>\n; return s;};function generateRss(){ var s ; var d new Date(); var u store.getTiddlerText(SiteUrl); // Assemble the header s.push( + ?xml version\1.0\? + >); s.push(rss version\2.0\>); s.push(channel>); s.push(title + > + wikifyPlainText(store.getTiddlerText(SiteTitle,),null,tiddler).htmlEncode() + /title + >); if(u) s.push(link> + u.htmlEncode() + /link>); s.push(description> + wikifyPlainText(store.getTiddlerText(SiteSubtitle,),null,tiddler).htmlEncode() + /description>); s.push(language> + config.locale + /language>); s.push(copyright>Copyright + d.getFullYear() + + config.options.txtUserName.htmlEncode() + /copyright>); s.push(pubDate> + d.toGMTString() + /pubDate>); s.push(lastBuildDate> + d.toGMTString() + /lastBuildDate>); s.push(docs>http://blogs.law.harvard.edu/tech/rss/docs>); s.push(generator>TiddlyWiki + formatVersion() + /generator>); // The body var tiddlers store.getTiddlers(modified,excludeLists); var i,n config.numRssItems > tiddlers.length ? 0 : tiddlers.length-config.numRssItems; for(itiddlers.length-1; i>n; i--) { s.push(item>\n + tiddlerToRssItem(tiddlersi,u) + \n/item>); } // And footer s.push(/channel>); s.push(/rss>); // Save it all return s.join(\n);}//--//-- Filesystem code//--// Copy a file in filesystem Preemptionwindow.copyFile window.copyFile || function(dest,source){ return config.browser.isIE ? ieCopyFile(dest,source) : false;}// Save a file in filesystem Preemptionwindow.saveFile window.saveFile || function(fileUrl,content){ var r mozillaSaveFile(fileUrl,content); if(!r) r ieSaveFile(fileUrl,content); if(!r) r javaSaveFile(fileUrl,content); if(!r) r HTML5DownloadSaveFile(fileUrl,content); if(!r) r manualSaveFile(fileUrl,content); return r;}// Load a file from filesystem Preemptionwindow.loadFile window.loadFile || function(fileUrl){ var r mozillaLoadFile(fileUrl); if((r null) || (r false)) r ieLoadFile(fileUrl); if((r null) || (r false)) r javaLoadFile(fileUrl); return r;}function ieCreatePath(path){ try { var fso new ActiveXObject(Scripting.FileSystemObject); } catch(ex) { return null; } var pos path.lastIndexOf(\\); if(pos-1) pos path.lastIndexOf(/); if(pos!-1) path path.substring(0,pos+1); var scan path; var parent fso.GetParentFolderName(path); while(parent && !fso.FolderExists(parent)) { scan.push(parent); parent fso.GetParentFolderName(parent); } for(iscan.length-1;i>0;i--) { if(!fso.FolderExists(scani)) { fso.CreateFolder(scani); } } return true;}// Returns null if it cant do it, false if theres an error, true if it saved OKfunction ieSaveFile(filePath,content){ ieCreatePath(filePath); try { var fso new ActiveXObject(Scripting.FileSystemObject); } catch(ex) { return null; } var file fso.OpenTextFile(filePath,2,-1,0); file.Write(content); file.Close(); return true;}// Returns null if it cant do it, false if theres an error, or a string of the content if successfulfunction ieLoadFile(filePath){ try { var fso new ActiveXObject(Scripting.FileSystemObject); var file fso.OpenTextFile(filePath,1); var content file.ReadAll(); file.Close(); } catch(ex) { return null; } return content;}function ieCopyFile(dest,source){ ieCreatePath(dest); try { var fso new ActiveXObject(Scripting.FileSystemObject); fso.GetFile(source).Copy(dest); } catch(ex) { return false; } return true;}// Returns null if it cant do it, false if theres an error, true if it saved OKfunction mozillaSaveFile(filePath,content){ if(window.Components) { try { netscape.security.PrivilegeManager.enablePrivilege(UniversalXPConnect); var file Components.classes@mozilla.org/file/local;1.createInstance(Components.interfaces.nsILocalFile); file.initWithPath(filePath); if(!file.exists()) file.create(0,0x01B4);// 0x01B4 0664 var out Components.classes@mozilla.org/network/file-output-stream;1.createInstance(Components.interfaces.nsIFileOutputStream); out.init(file,0x22,0x04,null); out.write(content,content.length); out.flush(); out.close(); return true; } catch(ex) { return false; } } return null;}// Returns null if it cant do it, false if theres an error, or a string of the content if successfulfunction mozillaLoadFile(filePath){ if(window.Components) { try { netscape.security.PrivilegeManager.enablePrivilege(UniversalXPConnect); var file Components.classes@mozilla.org/file/local;1.createInstance(Components.interfaces.nsILocalFile); file.initWithPath(filePath); if(!file.exists()) return null; var inputStream Components.classes@mozilla.org/network/file-input-stream;1.createInstance(Components.interfaces.nsIFileInputStream); inputStream.init(file,0x01,0x04,null); var sInputStream Components.classes@mozilla.org/scriptableinputstream;1.createInstance(Components.interfaces.nsIScriptableInputStream); sInputStream.init(inputStream); var contents sInputStream.read(sInputStream.available()); sInputStream.close(); inputStream.close(); return contents; } catch(ex) { return false; } } return null;}function javaUrlToFilename(url){ var f //localhost; if(url.indexOf(f) 0) return url.substring(f.length); var i url.indexOf(:); return i > 0 ? url.substring(i-1) : url;}/* * * in between when the applet has been started * and the user has given permission to run the applet * we get an applet object, but it doesnt have the methods * we expect yet. * */var LOG_TIDDLYSAVER true;function logTiddlySaverException(msg, ex) { var applet document.appletsTiddlySaver; console.log(msg + : + ex); if (LOG_TIDDLYSAVER && applet) { try { console.log(msg + : + applet.getLastErrorMsg()); console.log(msg + : + applet.getLastErrorStackTrace()); } catch (ex) {} }}function javaDebugInformation () { var applet document.appletsTiddlySaver; var what Java Version, applet.getJavaVersion, Last Exception, applet.getLastErrorMessage, Last Exception Stack Trace, applet.getLastErrorStackTrace, System Properties, applet.getSystemProperties ; function formatItem (description, method) { try { result String(method.call(applet)); } catch (ex) { result String(ex) } return description + : + result } return jQuery.map(what, function (item) { return formatItem.apply(this, item) }) .join(\n\n)}function javaSaveFile(filePath,content){ var applet document.appletsTiddlySaver; try { if (applet && filePath) return applet.saveFile(javaUrlToFilename(filePath), UTF-8, content); } catch(ex) { logTiddlySaverException(javaSaveFile, ex); } // is this next block working anywhere ? -- grmble try { var s new java.io.PrintStream(new java.io.FileOutputStream(javaUrlToFilename(filePath))); s.print(content); s.close(); } catch(ex2) { return null; } return true;}function javaLoadFile(filePath){ var applet document.appletsTiddlySaver; try { if (applet && filePath) { var ret applet.loadFile(javaUrlToFilename(filePath),UTF-8); if(!ret) return null; return String(ret); } } catch(ex) { logTiddlySaverException(javaLoadFile, ex); } // is this next block working anywhere ? -- grmble var content ; try { var r new java.io.BufferedReader(new java.io.FileReader(javaUrlToFilename(filePath))); var line; while((line r.readLine()) ! null) content.push(String(line)); r.close(); } catch(ex2) { return null; } return content.join(\n);}function HTML5DownloadSaveFile(filePath,content){ if(document.createElement(a).download ! undefined) { config.saveByDownloadtrue; var slashposfilePath.lastIndexOf(/); if (slashpos-1) slashposfilePath.lastIndexOf(\\); var filenamefilePath.substr(slashpos+1); var uri getDataURI(content); var link document.createElement(a); link.setAttribute(target,_blank); link.setAttribute(href,uri); link.setAttribute(download,filename); document.body.appendChild(link); link.click(); document.body.removeChild(link); return true; } return null;}// Returns null if it cant do it, false if theres an error, true if it saved OKfunction manualSaveFile(filePath,content){ // FALLBACK for showing a link to data: URI config.saveByManualDownloadtrue; var slashposfilePath.lastIndexOf(/); if (slashpos-1) slashposfilePath.lastIndexOf(\\); var filenamefilePath.substr(slashpos+1); var uri getDataURI(content); displayMessage(config.messages.mainDownloadManual,uri); return true;}// construct data URI (using base64 encoding to preserve multi-byte encodings)function getDataURI(data) { if (config.browser.isIE) return data:text/html,+encodeURIComponent(data); else return data:text/html;base64,+encodeBase64(data);}function encodeBase64(data) { if (!data) return ; var keyStr ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/; var out ; var chr1,chr2,chr3; var enc1,enc2,enc3,enc4; for (var count0,i0; idata.length; ) { chr1data.charCodeAt(i++); chr2data.charCodeAt(i++); chr3data.charCodeAt(i++); enc1chr1 >> 2; enc2((chr1 & 3) 4) | (chr2 >> 4); enc3((chr2 & 15) 2) | (chr3 >> 6); enc4chr3 & 63; if (isNaN(chr2)) enc3enc464; else if (isNaN(chr3)) enc464; out+keyStr.charAt(enc1)+keyStr.charAt(enc2)+keyStr.charAt(enc3)+keyStr.charAt(enc4); chr1chr2chr3enc1enc2enc3enc4; } return out;}//--//-- Filesystem utilities//--function convertUTF8ToUnicode(u){ return config.browser.isOpera || !window.netscape ? manualConvertUTF8ToUnicode(u) : mozConvertUTF8ToUnicode(u);}function manualConvertUTF8ToUnicode(utf){ var uni utf; var src 0; var dst 0; var b1, b2, b3; var c; while(src utf.length) { b1 utf.charCodeAt(src++); if(b1 0x80) { dst++; } else if(b1 0xE0) { b2 utf.charCodeAt(src++); c String.fromCharCode(((b1 & 0x1F) 6) | (b2 & 0x3F)); uni uni.substring(0,dst++).concat(c,utf.substr(src)); } else { b2 utf.charCodeAt(src++); b3 utf.charCodeAt(src++); c String.fromCharCode(((b1 & 0xF) 12) | ((b2 & 0x3F) 6) | (b3 & 0x3F)); uni uni.substring(0,dst++).concat(c,utf.substr(src)); } } return uni;}function mozConvertUTF8ToUnicode(u){ try { netscape.security.PrivilegeManager.enablePrivilege(UniversalXPConnect); var converter Components.classes@mozilla.org/intl/scriptableunicodeconverter.createInstance(Components.interfaces.nsIScriptableUnicodeConverter); converter.charset UTF-8; } catch(ex) { return manualConvertUTF8ToUnicode(u); } // fallback var s converter.ConvertToUnicode(u); var fin converter.Finish(); return fin.length > 0 ? s+fin : s;}function convertUnicodeToFileFormat(s){ return config.browser.isOpera || !window.netscape ? (config.browser.isIE ? convertUnicodeToHtmlEntities(s) : s) : mozConvertUnicodeToUTF8(s);}function convertUnicodeToHtmlEntities(s){ var re /^\u0000-\u007F/g; return s.replace(re,function($0) {return + $0.charCodeAt(0).toString() + ;;});}function convertUnicodeToUTF8(s){// return convertUnicodeToFileFormat to allow plugin migration return convertUnicodeToFileFormat(s);}function manualConvertUnicodeToUTF8(s){ return unescape(encodeURIComponent(s));}function mozConvertUnicodeToUTF8(s){ try { netscape.security.PrivilegeManager.enablePrivilege(UniversalXPConnect); var converter Components.classes@mozilla.org/intl/scriptableunicodeconverter.createInstance(Components.interfaces.nsIScriptableUnicodeConverter); converter.charset UTF-8; } catch(ex) { return manualConvertUnicodeToUTF8(s); } // fallback var u converter.ConvertFromUnicode(s); var fin converter.Finish(); return fin.length > 0 ? u + fin : u;}function convertUriToUTF8(uri,charSet){ if(window.netscape undefined || charSet undefined || charSet ) return uri; try { netscape.security.PrivilegeManager.enablePrivilege(UniversalXPConnect); var converter Components.classes@mozilla.org/intl/utf8converterservice;1.getService(Components.interfaces.nsIUTF8ConverterService); } catch(ex) { return uri; } return converter.convertURISpecToUTF8(uri,charSet);}//--//-- Server adaptor base class//--function AdaptorBase(){ this.host null; this.store null; return this;}AdaptorBase.prototype.close function(){ return true;};AdaptorBase.prototype.fullHostName function(host){ if(!host) return ; host host.trim(); if(!host.match(/:\/\//)) host http:// + host; if(host.substr(host.length-1) /) host host.substr(0,host.length-1); return host;};AdaptorBase.minHostName function(host){ return host;};AdaptorBase.prototype.setContext function(context,userParams,callback){ if(!context) context {}; context.userParams userParams; if(callback) context.callback callback; context.adaptor this; if(!context.host) context.host this.host; context.host this.fullHostName(context.host); if(!context.workspace) context.workspace this.workspace; return context;};// Open the specified hostAdaptorBase.prototype.openHost function(host,context,userParams,callback){ this.host host; context this.setContext(context,userParams,callback); context.status true; if(callback) window.setTimeout(function() {context.callback(context,userParams);},10); return true;};// Open the specified workspaceAdaptorBase.prototype.openWorkspace function(workspace,context,userParams,callback){ this.workspace workspace; context this.setContext(context,userParams,callback); context.status true; if(callback) window.setTimeout(function() {callback(context,userParams);},10); return true;};//--//-- Server adaptor for talking to static TiddlyWiki files//--function FileAdaptor(){}FileAdaptor.prototype new AdaptorBase();FileAdaptor.serverType file;FileAdaptor.serverLabel TiddlyWiki;FileAdaptor.loadTiddlyWikiSuccess function(context,jqXHR){ context.status true; context.adaptor.store new TiddlyWiki(); if(!context.adaptor.store.importTiddlyWiki(jqXHR.responseText)) { context.statusText config.messages.invalidFileError.format(context.host); context.status false; } context.complete(context,context.userParams);};FileAdaptor.loadTiddlyWikiError function(context,jqXHR){ context.status false; context.statusText jqXHR.message; context.complete(context,context.userParams);};// Get the list of workspaces on a given serverFileAdaptor.prototype.getWorkspaceList function(context,userParams,callback){ context this.setContext(context,userParams,callback); context.workspaces {title:(default)}; context.status true; if(callback) window.setTimeout(function() {callback(context,userParams);},10); return true;};// Gets the list of tiddlers within a given workspaceFileAdaptor.prototype.getTiddlerList function(context,userParams,callback,filter){ context this.setContext(context,userParams,callback); if(!context.filter) context.filter filter; context.complete FileAdaptor.getTiddlerListComplete; if(this.store) { return context.complete(context,context.userParams); } var options { type:GET, url:context.host, file:context.file, // for HTML5 FileReader processData:false, success:function(data,textStatus,jqXHR) { FileAdaptor.loadTiddlyWikiSuccess(context,jqXHR); }, error:function(jqXHR,textStatus,errorThrown) { context.xhr jqXHR; FileAdaptor.loadTiddlyWikiError(context,jqXHR); } }; return ajaxReq(options);};FileAdaptor.getTiddlerListComplete function(context,userParams){ if(context.status) { if(context.filter) { context.tiddlers context.adaptor.store.filterTiddlers(context.filter); } else { context.tiddlers ; context.adaptor.store.forEachTiddler(function(title,tiddler) {context.tiddlers.push(tiddler);}); } var i; for(i0; icontext.tiddlers.length; i++) { context.tiddlersi.fieldsserver.type FileAdaptor.serverType; context.tiddlersi.fieldsserver.host AdaptorBase.minHostName(context.host); context.tiddlersi.fieldsserver.page.revision context.tiddlersi.modified.convertToYYYYMMDDHHMM(); } context.status true; } if(context.callback) { window.setTimeout(function() {context.callback(context,userParams);},10); } return true;};FileAdaptor.prototype.generateTiddlerInfo function(tiddler){ var info {}; info.uri tiddler.fieldsserver.host + # + tiddler.title; return info;};// Retrieve a tiddler from a given workspace on a given serverFileAdaptor.prototype.getTiddler function(title,context,userParams,callback){ context this.setContext(context,userParams,callback); context.title title; context.complete FileAdaptor.getTiddlerComplete; if(context.adaptor.store) { return context.complete(context,context.userParams); } var options { type:GET, url:context.host, processData:false, success:function(data,textStatus,jqXHR) { FileAdaptor.loadTiddlyWikiSuccess(context,jqXHR); }, error:function(jqXHR,textStatus,errorThrown) { FileAdaptor.loadTiddlyWikiError(context,jqXHR); } }; return ajaxReq(options);};FileAdaptor.getTiddlerComplete function(context,userParams){ var t context.adaptor.store.fetchTiddler(context.title); if(t) { t.fieldsserver.type FileAdaptor.serverType; t.fieldsserver.host AdaptorBase.minHostName(context.host); t.fieldsserver.page.revision t.modified.convertToYYYYMMDDHHMM(); context.tiddler t; context.status true; } else { //# tiddler does not exist in document context.status false; } if(context.allowSynchronous) { context.isSynchronous true; context.callback(context,userParams); } else { window.setTimeout(function() {context.callback(context,userParams);},10); } return true;};FileAdaptor.prototype.close function(){ this.store null;};config.adaptorsFileAdaptor.serverType FileAdaptor;config.defaultAdaptor FileAdaptor.serverType;//--//-- HTTP request code//--function ajaxReq(args){ if (args.file || args.url.startsWith(file)) // LOCAL FILE return localAjax(args); return jQuery.ajax(args);}function localAjax(args){ var successfunction(data) { args.success(data,success,{ responseText:data }); } var failurefunction(who) { args.error({ message:who+: cannot read local file },error,0); } if (args.file) try { // HTML5 FileReader (Chrome, FF20+, Safari, etc.) var readernew FileReader(); reader.onloadfunction(e) { success(e.target.result); } reader.onerrorfunction(e) { failure(FileReader); } reader.readAsText(args.file); return true; } catch (ex) { ; } try { // local file I/O (IE, FF with TiddlyFox, Chrome/Safari with TiddlySaver, etc.) var dataloadFile(getLocalPath(args.url)); if (data) success(data); else failure(loadFile); return true; } catch (ex) { ; } return true;}function httpReq(type,url,callback,params,headers,data,contentType,username,password,allowCache){ var httpSuccess function(xhr) { try { // IE error sometimes returns 1223 when it should be 204 so treat it as success, see #1450 return (!xhr.status && location.protocol file:) || (xhr.status > 200 && xhr.status 300) || xhr.status 304 || xhr.status 1223; } catch(e) {} return false; }; var options { type:type, url:url, processData:false, data:data, cache:!!allowCache, beforeSend: function(xhr) { var i; for(i in headers) xhr.setRequestHeader(i,headersi); } }; if(callback) { options.complete function(xhr,textStatus) { if(httpSuccess(xhr)) callback(true,params,xhr.responseText,url,xhr); else callback(false,params,null,url,xhr); }; } if(contentType) options.contentType contentType; if(username) options.username username; if(password) options.password password; try { if(window.Components && window.netscape && window.netscape.security && document.location.protocol.indexOf(http) -1) window.netscape.security.PrivilegeManager.enablePrivilege(UniversalBrowserRead); } catch (ex) { } return jQuery.ajax(options);}//--//-- TiddlyWiki-specific utility functions//--// Returns TiddlyWiki version stringfunction formatVersion(v){ v v || version; return v.major + . + v.minor + . + v.revision + (v.alpha ? (alpha + v.alpha + ) : ) + (v.beta ? (beta + v.beta + ) : );}function compareVersions(v1,v2){ var x1,x2,i,a major,minor,revision; for(i 0; ia.length; i++) { x1 v1ai || 0; x2 v2ai || 0; if(x1x2) return 1; if(x1>x2) return -1; } x1 v1.beta || 9999; x2 v2.beta || 9999; if(x1x2) return 1; return x1 > x2 ? -1 : 0;}function merge(dst,src,preserveExisting){ var i; for(i in src) { if(!preserveExisting || dsti undefined) dsti srci; } return dst;}// Resolve the target object of an eventfunction resolveTarget(e){ var obj; if(e.target) obj e.target; else if(e.srcElement) obj e.srcElement; if(obj.nodeType 3) // defeat Safari bug obj obj.parentNode; return obj;}// Returns a string containing the description of an exception, optionally prepended by a messagefunction exceptionText(e,message){ var s e.description || e.toString(); return message ? %0:\n%1.format(message,s) : s;}// Displays an alert of an exception description with optional messagefunction showException(e,message){ alert(exceptionText(e,message));}function alertAndThrow(m){ alert(m); throw(m);}function glyph(name){ var g config.glyphs; var b g.currBrowser; if(b null) { b 0; while(b g.browsers.length-1 && !g.browsersb()) b++; g.currBrowser b; } if(!g.codesname) return ; return g.codesnameb;}function createTiddlyText(parent,text){ return parent.appendChild(document.createTextNode(text));}function createTiddlyCheckbox(parent,caption,checked,onChange){ var cb document.createElement(input); cb.setAttribute(type,checkbox); cb.onclick onChange; parent.appendChild(cb); cb.checked checked; cb.className chkOptionInput; if(caption) wikify(caption,parent); return cb;}function createTiddlyElement(parent,element,id,className,text,attribs){ var n,e document.createElement(element); if(className ! null) e.className className; if(id ! null) e.setAttribute(id,id); if(text ! null) e.appendChild(document.createTextNode(text)); if(attribs) { for(n in attribs) { e.setAttribute(n,attribsn); } } if(parent ! null) parent.appendChild(e); return e;}function createTiddlyButton(parent,text,tooltip,action,className,id,accessKey,attribs){ var i,btn document.createElement(a); btn.setAttribute(href,javascript:;); if(action) { btn.onclick action; } if(tooltip) btn.setAttribute(title,tooltip); if(text) btn.appendChild(document.createTextNode(text)); btn.className className || button; if(id) btn.id id; if(attribs) { for(i in attribs) { btn.setAttribute(i,attribsi); } } if(parent) parent.appendChild(btn); if(accessKey) btn.setAttribute(accessKey,accessKey); return btn;}function createExternalLink(place,url,label){ var link document.createElement(a); link.className externalLink; link.href url; var f config.messages.externalLinkTooltip; link.title f ? f.format(url) : url; if(config.options.chkOpenInNewWindow) link.target _blank; place.appendChild(link); if(label) createTiddlyText(link, label); return link;}function getTiddlyLinkInfo(title,currClasses){ var classes currClasses ? currClasses.split( ) : ; classes.pushUnique(tiddlyLink); var tiddler store.fetchTiddler(title); var subTitle; if(tiddler) { subTitle tiddler.getSubtitle(); classes.pushUnique(tiddlyLinkExisting); classes.remove(tiddlyLinkNonExisting); classes.remove(shadow); } else { var f; classes.remove(tiddlyLinkExisting); classes.pushUnique(tiddlyLinkNonExisting); if(store.isShadowTiddler(title)) { f config.messages.shadowedTiddlerToolTip; classes.pushUnique(shadow); } else { f config.messages.undefinedTiddlerToolTip; classes.remove(shadow); } subTitle f ? f.format(title) : ; } if(typeof config.annotationstitlestring) subTitle config.annotationstitle; return {classes: classes.join( ),subTitle: subTitle};}// Event handler for clicking on a tiddly linkfunction onClickTiddlerLink(ev){ var e ev || window.event; var target resolveTarget(e); var link target; var title null; var fields null; var noToggle null; do { title link.getAttribute(tiddlyLink); fields link.getAttribute(tiddlyFields); noToggle link.getAttribute(noToggle); link link.parentNode; } while(title null && link ! null); if(!store.isShadowTiddler(title)) { var f fields ? fields.decodeHashMap() : {}; fields String.encodeHashMap(merge(f,config.defaultCustomFields,true)); } if(title) { var toggling e.metaKey || e.ctrlKey; if(config.options.chkToggleLinks) toggling !toggling; if(noToggle) toggling false; if(store.getTiddler(title)) fields null; story.displayTiddler(target,title,null,true,null,fields,toggling); } clearMessage(); return false;}function createTiddlyLink(place,title,includeText,className,isStatic,linkedFromTiddler,noToggle){ var title jQuery.trim(title); var text includeText ? title : null; var i getTiddlyLinkInfo(title,className); var btn isStatic ? createExternalLink(place,store.getTiddlerText(SiteUrl,null) + # + title) : createTiddlyButton(place,text,i.subTitle,onClickTiddlerLink,i.classes); if(isStatic) btn.className + + className; btn.setAttribute(refresh,link); btn.setAttribute(tiddlyLink,title); if(noToggle) btn.setAttribute(noToggle,true); if(linkedFromTiddler) { var fields linkedFromTiddler.getInheritedFields(); if(fields) btn.setAttribute(tiddlyFields,fields); } return btn;}function refreshTiddlyLink(e,title){ var i getTiddlyLinkInfo(title,e.className); e.className i.classes; e.title i.subTitle;}function createTiddlyDropDown(place,onchange,options,defaultValue){ var sel createTiddlyElement(place,select); sel.onchange onchange; var t; for(t0; toptions.length; t++) { var e createTiddlyElement(sel,option,null,null,optionst.caption); e.value optionst.name; if(optionst.name defaultValue) e.selected true; } return sel;}//--//-- TiddlyWiki-specific popup utility functions//--// Event handler for open all on a tiddler popupfunction onClickTagOpenAll(ev){ var tiddlers store.getTaggedTiddlers(this.getAttribute(tag)); var sortby this.getAttribute(sortby); if(sortby&&sortby.length) { store.sortTiddlers(tiddlers,sortby); } story.displayTiddlers(this,tiddlers); return false;}// Event handler for clicking on a tiddler tagfunction onClickTag(ev){ var e ev || window.event; var popup Popup.create(this); jQuery(popup).addClass(taggedTiddlerList); var tag this.getAttribute(tag); var title this.getAttribute(tiddler); if(popup && tag) { var tagged tag.indexOf()-1 ? store.getTaggedTiddlers(tag) : store.filterTiddlers(tag); var sortby this.getAttribute(sortby); if(sortby&&sortby.length) { store.sortTiddlers(tagged,sortby); } var titles ; var r; for(r0;rtagged.length;r++) { if(taggedr.title ! title) titles.push(taggedr.title); } var lingo config.views.wikified.tag; if(titles.length > 0) { var openAll createTiddlyButton(createTiddlyElement(popup,li),lingo.openAllText.format(tag),lingo.openAllTooltip,onClickTagOpenAll); openAll.setAttribute(tag,tag); openAll.setAttribute(sortby,sortby); createTiddlyElement(createTiddlyElement(popup,li,null,listBreak),div); for(r0; rtitles.length; r++) { createTiddlyLink(createTiddlyElement(popup,li),titlesr,true); } } else { createTiddlyElement(popup,li,null,disabled,lingo.popupNone.format(tag)); } createTiddlyElement(createTiddlyElement(popup,li,null,listBreak),div); var h createTiddlyLink(createTiddlyElement(popup,li),tag,false); createTiddlyText(h,lingo.openTag.format(tag)); } Popup.show(); e.cancelBubble true; if(e.stopPropagation) e.stopPropagation(); return false;}// Create a button for a tag with a popup listing all the tiddlers that it tagsfunction createTagButton(place,tag,excludeTiddler,title,tooltip){ var btn createTiddlyButton(place,title||tag,(tooltip||config.views.wikified.tag.tooltip).format(tag),onClickTag); btn.setAttribute(tag,tag); if(excludeTiddler) btn.setAttribute(tiddler,excludeTiddler); return btn;}function onClickTiddlyPopup(ev){ var e ev || window.event; var tiddler this.tiddler; if(tiddler.text) { var popup Popup.create(this,div,popupTiddler); wikify(tiddler.text,popup,null,tiddler); Popup.show(); } if(e) e.cancelBubble true; if(e && e.stopPropagation) e.stopPropagation(); return false;}function createTiddlyPopup(place,caption,tooltip,tiddler){ if(tiddler.text) { createTiddlyLink(place,caption,true); var btn createTiddlyButton(place,glyph(downArrow),tooltip,onClickTiddlyPopup,tiddlerPopupButton); btn.tiddler tiddler; } else { createTiddlyText(place,caption); }}function onClickError(ev){ var e ev || window.event; var popup Popup.create(this); var lines this.getAttribute(errorText).split(\n); var t; for(t0; tlines.length; t++) createTiddlyElement(popup,li,null,null,linest); Popup.show(); e.cancelBubble true; if(e.stopPropagation) e.stopPropagation(); return false;}function createTiddlyError(place,title,text){ var btn createTiddlyButton(place,title,null,onClickError,errorButton); if(text) btn.setAttribute(errorText,text);}//-//- Animation engine//-function Animator(){ this.running 0; // Incremented at start of each animation, decremented afterwards. If zero, the interval timer is disabled this.timerID 0; // ID of the timer used for animating this.animations ; // List of animations in progress return this;}// Start animation engineAnimator.prototype.startAnimating function() //# Variable number of arguments{ var t; for(t0; targuments.length; t++) this.animations.push(argumentst); if(this.running 0) { var me this; this.timerID window.setInterval(function() {me.doAnimate(me);},10); } this.running + arguments.length;};// Perform an animation engine tick, calling each of the known animation modulesAnimator.prototype.doAnimate function(me){ var a 0; while(a me.animations.length) { var animation me.animationsa; if(animation.tick()) { a++; } else { me.animations.splice(a,1); if(--me.running 0) window.clearInterval(me.timerID); } }};Animator.slowInSlowOut function(progress){ return(1-((Math.cos(progress * Math.PI)+1)/2));};//--//-- Morpher animation//--// Animate a set of properties of an elementfunction Morpher(element,duration,properties,callback){ this.element element; this.duration duration; this.properties properties; this.startTime new Date(); this.endTime Number(this.startTime) + duration; this.callback callback; this.tick(); return this;}Morpher.prototype.assignStyle function(element,style,value){ switch(style) { case -tw-vertScroll: window.scrollTo(findScrollX(),value); break; case -tw-horizScroll: window.scrollTo(value,findScrollY()); break; default: element.stylestyle value; break; }};Morpher.prototype.stop function(){ var t; for(t0; tthis.properties.length; t++) { var p this.propertiest; if(p.atEnd ! undefined) { this.assignStyle(this.element,p.style,p.atEnd); } } if(this.callback) this.callback(this.element,this.properties);};Morpher.prototype.tick function(){ var currTime Number(new Date()); var t,progress Animator.slowInSlowOut(Math.min(1,(currTime-this.startTime)/this.duration)); for(t0; tthis.properties.length; t++) { var p this.propertiest; if(p.start ! undefined && p.end ! undefined) { var template p.template || %0; switch(p.format) { case undefined: case style: var v p.start + (p.end-p.start) * progress; this.assignStyle(this.element,p.style,template.format(v)); break; case color: break; } } } if(currTime > this.endTime) { this.stop(); return false; } return true;};//--//-- Zoomer animation//--function Zoomer(text,startElement,targetElement,unused){ var e createTiddlyElement(document.body,div,null,zoomer); createTiddlyElement(e,div,null,null,text); var winWidth findWindowWidth(); var winHeight findWindowHeight(); var p {style: left, start: findPosX(startElement), end: findPosX(targetElement), template: %0px}, {style: top, start: findPosY(startElement), end: findPosY(targetElement), template: %0px}, {style: width, start: Math.min(startElement.scrollWidth,winWidth), end: Math.min(targetElement.scrollWidth,winWidth), template: %0px, atEnd: auto}, {style: height, start: Math.min(startElement.scrollHeight,winHeight), end: Math.min(targetElement.scrollHeight,winHeight), template: %0px, atEnd: auto}, {style: fontSize, start: 8, end: 24, template: %0pt} ; var c function(element,properties) {jQuery(element).remove();}; return new Morpher(e,config.animDuration,p,c);}//--//-- Scroller animation//--function Scroller(targetElement){ var p {style: -tw-vertScroll, start: findScrollY(), end: ensureVisible(targetElement)}; return new Morpher(targetElement,config.animDuration,p);}//--//-- Slider animation//--// deleteMode - none, all delete target element and its children, only children but not the target elementfunction Slider(element,opening,unused,deleteMode){ element.style.overflow hidden; if(opening) element.style.height 0px; // Resolves a Firefox flashing bug element.style.display block; var height element.scrollHeight; var p ; var c null; if(opening) { p.push({style: height, start: 0, end: height, template: %0px, atEnd: auto}); p.push({style: opacity, start: 0, end: 1, template: %0}); p.push({style: filter, start: 0, end: 100, template: alpha(opacity:%0)}); } else { p.push({style: height, start: height, end: 0, template: %0px}); p.push({style: display, atEnd: none}); p.push({style: opacity, start: 1, end: 0, template: %0}); p.push({style: filter, start: 100, end: 0, template: alpha(opacity:%0)}); switch(deleteMode) { case all: c function(element,properties) {jQuery(element).remove();}; break; case children: c function(element,properties) {jQuery(element).empty();}; break; } } return new Morpher(element,config.animDuration,p,c);}//--//-- Popup menu//--var Popup { stack: // Array of objects with members root: and popup: };Popup.create function(root,elem,className){ var stackPosition this.find(root,popup); Popup.remove(stackPosition+1); var popup createTiddlyElement(document.body,elem || ol,popup,className || popup); popup.stackPosition stackPosition; Popup.stack.push({root: root, popup: popup}); return popup;};Popup.onDocumentClick function(ev){ var e ev || window.event; if(e.eventPhase undefined) Popup.remove(); else if(e.eventPhase Event.BUBBLING_PHASE || e.eventPhase Event.AT_TARGET) Popup.remove(); return true;};Popup.show function(valign,halign,offset){ var curr Popup.stackPopup.stack.length-1; this.place(curr.root,curr.popup,valign,halign,offset); jQuery(curr.root).addClass(highlight); if(config.options.chkAnimate && anim && typeof Scroller function) anim.startAnimating(new Scroller(curr.popup)); else window.scrollTo(0,ensureVisible(curr.popup));};Popup.place function(root,popup,valign,halign,offset){ if(!offset) offset {x:0,y:0}; if(popup.stackPosition > 0 && !valign && !halign) { offset.x offset.x + root.offsetWidth; } else { offset.x (halign right) ? offset.x + root.offsetWidth : offset.x; offset.y (valign top) ? offset.y : offset.y + root.offsetHeight; } var rootLeft findPosX(root); var rootTop findPosY(root); var popupLeft rootLeft + offset.x; var popupTop rootTop + offset.y; var winWidth findWindowWidth(); if(popup.offsetWidth > winWidth*0.75) popup.style.width winWidth*0.75 + px; var popupWidth popup.offsetWidth; var scrollWidth winWidth - document.body.offsetWidth; if(popupLeft + popupWidth > winWidth - scrollWidth - 1) { if(halign right) popupLeft popupLeft - root.offsetWidth - popupWidth; else popupLeft winWidth - popupWidth - scrollWidth - 1; } popup.style.left popupLeft + px; popup.style.top popupTop + px; popup.style.display block;};Popup.find function(e){ var t,pos -1; for(tthis.stack.length-1; t>0; t--) { if(isDescendant(e,this.stackt.popup)) pos t; } return pos;};Popup.remove function(pos){ if(!pos) pos 0; if(Popup.stack.length > pos) { Popup.removeFrom(pos); }};Popup.removeFrom function(from){ var t; for(tPopup.stack.length-1; t>from; t--) { var p Popup.stackt; jQuery(p.root).removeClass(highlight); jQuery(p.popup).remove(); } Popup.stack Popup.stack.slice(0,from);};//--//-- Wizard support//--function Wizard(elem){ if(elem) { this.formElem findRelated(elem,wizard,className); this.bodyElem findRelated(this.formElem.firstChild,wizardBody,className,nextSibling); this.footElem findRelated(this.formElem.firstChild,wizardFooter,className,nextSibling); } else { this.formElem null; this.bodyElem null; this.footElem null; }}Wizard.prototype.setValue function(name,value){ jQuery(this.formElem).data(name, value);};Wizard.prototype.getValue function(name){ return this.formElem ? jQuery(this.formElem).data(name) : null;};Wizard.prototype.createWizard function(place,title){ this.formElem createTiddlyElement(place,form,null,wizard); createTiddlyElement(this.formElem,h1,null,null,title); this.bodyElem createTiddlyElement(this.formElem,div,null,wizardBody); this.footElem createTiddlyElement(this.formElem,div,null,wizardFooter); return this.formElem;};Wizard.prototype.clear function(){ jQuery(this.bodyElem).empty();};Wizard.prototype.setButtons function(buttonInfo,status){ jQuery(this.footElem).empty(); var t; for(t0; tbuttonInfo.length; t++) { createTiddlyButton(this.footElem,buttonInfot.caption,buttonInfot.tooltip,buttonInfot.onClick); insertSpacer(this.footElem); } if(typeof status string) { createTiddlyElement(this.footElem,span,null,status,status); }};Wizard.prototype.addStep function(stepTitle,html){ jQuery(this.bodyElem).empty(); var w createTiddlyElement(this.bodyElem,div); createTiddlyElement(w,h2,null,null,stepTitle); var step createTiddlyElement(w,div,null,wizardStep); step.innerHTML html; applyHtmlMacros(step,tiddler);};Wizard.prototype.getElement function(name){ return this.formElem.elementsname;};//--//-- ListView gadget//--var ListView {};// Create a listviewListView.create function(place,listObject,listTemplate,callback,className){ var table createTiddlyElement(place,table,null,className || listView twtable); var thead createTiddlyElement(table,thead); var t,r createTiddlyElement(thead,tr); for(t0; tlistTemplate.columns.length; t++) { var columnTemplate listTemplate.columnst; var c createTiddlyElement(r,th); var colType ListView.columnTypescolumnTemplate.type; if(colType && colType.createHeader) { colType.createHeader(c,columnTemplate,t); if(columnTemplate.className) jQuery(c).addClass(columnTemplate.className); } } var rc,tbody createTiddlyElement(table,tbody); for(rc0; rclistObject.length; rc++) { var rowObject listObjectrc; r createTiddlyElement(tbody,tr); for(c0; clistTemplate.rowClasses.length; c++) { if(rowObjectlistTemplate.rowClassesc.field) jQuery(r).addClass(listTemplate.rowClassesc.className); } rowObject.rowElement r; rowObject.colElements {}; var cc; for(cc0; cclistTemplate.columns.length; cc++) { c createTiddlyElement(r,td); columnTemplate listTemplate.columnscc; var field columnTemplate.field; colType ListView.columnTypescolumnTemplate.type; if(colType && colType.createItem) { colType.createItem(c,rowObject,field,columnTemplate,cc,rc); if(columnTemplate.className) jQuery(c).addClass(columnTemplate.className); } rowObject.colElementsfield c; } } if(callback && listTemplate.actions) createTiddlyDropDown(place,ListView.getCommandHandler(callback),listTemplate.actions); if(callback && listTemplate.buttons) { for(t0; tlistTemplate.buttons.length; t++) { var a listTemplate.buttonst; if(a && a.name ! ) createTiddlyButton(place,a.caption,null,ListView.getCommandHandler(callback,a.name,a.allowEmptySelection)); } } return table;};ListView.getCommandHandler function(callback,name,allowEmptySelection){ return function(e) { var view findRelated(this,TABLE,null,previousSibling); var tiddlers ; ListView.forEachSelector(view,function(e,rowName) { if(e.checked) tiddlers.push(rowName); }); if(tiddlers.length 0 && !allowEmptySelection) { alert(config.messages.nothingSelected); } else { if(this.nodeName.toLowerCase() select) { callback(view,this.value,tiddlers); this.selectedIndex 0; } else { callback(view,name,tiddlers); } } };};// Invoke a callback for each selector checkbox in the listviewListView.forEachSelector function(view,callback){ var checkboxes view.getElementsByTagName(input); var t,hadOne false; for(t0; tcheckboxes.length; t++) { var cb checkboxest; if(cb.getAttribute(type) checkbox) { var rn cb.getAttribute(rowName); if(rn) { callback(cb,rn); hadOne true; } } } return hadOne;};ListView.getSelectedRows function(view){ var rowNames ; ListView.forEachSelector(view,function(e,rowName) { if(e.checked) rowNames.push(rowName); }); return rowNames;};ListView.columnTypes {};ListView.columnTypes.String { createHeader: function(place,columnTemplate,col) { createTiddlyText(place,columnTemplate.title); }, createItem: function(place,listObject,field,columnTemplate,col,row) { var v listObjectfield; if(v ! undefined) createTiddlyText(place,v); }};ListView.columnTypes.WikiText { createHeader: ListView.columnTypes.String.createHeader, createItem: function(place,listObject,field,columnTemplate,col,row) { var v listObjectfield; if(v ! undefined) wikify(v,place,null,null); }};ListView.columnTypes.Tiddler { createHeader: ListView.columnTypes.String.createHeader, createItem: function(place,listObject,field,columnTemplate,col,row) { var v listObjectfield; if(v ! undefined && v.title) createTiddlyPopup(place,v.title,config.messages.listView.tiddlerTooltip,v); }};ListView.columnTypes.Size { createHeader: ListView.columnTypes.String.createHeader, createItem: function(place,listObject,field,columnTemplate,col,row) { var msg config.messages.sizeTemplates; var v listObjectfield; if(v ! undefined) { var t 0; while(tmsg.length-1 && vmsgt.unit) t++; createTiddlyText(place,msgt.template.format(Math.round(v/msgt.unit))); } }};ListView.columnTypes.Link { createHeader: ListView.columnTypes.String.createHeader, createItem: function(place,listObject,field,columnTemplate,col,row) { var v listObjectfield; var c columnTemplate.text; if(v ! undefined) createExternalLink(place,v,c || v); }};ListView.columnTypes.Date { createHeader: ListView.columnTypes.String.createHeader, createItem: function(place,listObject,field,columnTemplate,col,row) { var v listObjectfield; if(v ! undefined) createTiddlyText(place,v.formatString(columnTemplate.dateFormat)); }};ListView.columnTypes.StringList { createHeader: ListView.columnTypes.String.createHeader, createItem: function(place,listObject,field,columnTemplate,col,row) { var v listObjectfield; if(v ! undefined) { var t; for(t0; tv.length; t++) { createTiddlyText(place,vt); createTiddlyElement(place,br); } } }};ListView.columnTypes.Selector { createHeader: function(place,columnTemplate,col) { createTiddlyCheckbox(place,null,false,this.onHeaderChange); }, createItem: function(place,listObject,field,columnTemplate,col,row) { var e createTiddlyCheckbox(place,null,listObjectfield,null); e.setAttribute(rowName,listObjectcolumnTemplate.rowName); }, onHeaderChange: function(e) { var state this.checked; var view findRelated(this,TABLE); if(!view) return; ListView.forEachSelector(view,function(e,rowName) { e.checked state; }); }};ListView.columnTypes.Tags { createHeader: ListView.columnTypes.String.createHeader, createItem: function(place,listObject,field,columnTemplate,col,row) { var tags listObjectfield; createTiddlyText(place,String.encodeTiddlyLinkList(tags)); }};ListView.columnTypes.Boolean { createHeader: ListView.columnTypes.String.createHeader, createItem: function(place,listObject,field,columnTemplate,col,row) { if(listObjectfield true) createTiddlyText(place,columnTemplate.trueText); if(listObjectfield false) createTiddlyText(place,columnTemplate.falseText); }};ListView.columnTypes.TagCheckbox { createHeader: ListView.columnTypes.String.createHeader, createItem: function(place,listObject,field,columnTemplate,col,row) { var e createTiddlyCheckbox(place,null,listObjectfield,this.onChange); e.setAttribute(tiddler,listObject.title); e.setAttribute(tag,columnTemplate.tag); }, onChange : function(e) { var tag this.getAttribute(tag); var tiddler this.getAttribute(tiddler); store.setTiddlerTag(tiddler,this.checked,tag); }};ListView.columnTypes.TiddlerLink { createHeader: ListView.columnTypes.String.createHeader, createItem: function(place,listObject,field,columnTemplate,col,row) { var v listObjectfield; if(v ! undefined) { var link createTiddlyLink(place,listObjectcolumnTemplate.tiddlerLink,false,null); createTiddlyText(link,listObjectfield); } }};//--//-- Augmented methods for the JavaScript Array() object//--// Add indexOf function if browser does not support itif(!Array.indexOf) {Array.prototype.indexOf function(item,from){ if(!from) from 0; var i; for(ifrom; ithis.length; i++) { if(thisi item) return i; } return -1;};}// Find an entry in a given field of the members of an arrayArray.prototype.findByField function(field,value){ var t; for(t0; tthis.length; t++) { if(thistfield value) return t; } return null;};// Return whether an entry exists in an arrayArray.prototype.contains function(item){ return this.indexOf(item) ! -1;};// Adds, removes or toggles a particular value within an array// value - value to add// mode - +1 to add value, -1 to remove value, 0 to toggle itArray.prototype.setItem function(value,mode){ var p this.indexOf(value); if(mode 0) mode (p -1) ? +1 : -1; if(mode +1) { if(p -1) this.push(value); } else if(mode -1) { if(p ! -1) this.splice(p,1); }};// Return whether one of a list of values exists in an arrayArray.prototype.containsAny function(items){ var i; for(i0; iitems.length; i++) { if(this.indexOf(itemsi) ! -1) return true; } return false;};// Return whether all of a list of values exists in an arrayArray.prototype.containsAll function(items){ var i; for(i 0; iitems.length; i++) { if(this.indexOf(itemsi) -1) return false; } return true;};// Push a new value into an array only if it is not already present in the array. If the optional unique parameter is false, it reverts to a normal pushArray.prototype.pushUnique function(item,unique){ if(unique false) { this.push(item); } else { if(this.indexOf(item) -1) this.push(item); }};Array.prototype.remove function(item){ var p this.indexOf(item); if(p ! -1) this.splice(p,1);};if(!Array.prototype.map) {Array.prototype.map function(fn,thisObj){ var scope thisObj || window; var i,j,a ; for(i0, jthis.length; i j; ++i) { a.push(fn.call(scope,thisi,i,this)); } return a;};}//--//-- Augmented methods for the JavaScript String() object//--// Get characters from the right end of a stringString.prototype.right function(n){ return n this.length ? this.slice(this.length-n) : this;};// Trim whitespace from both ends of a stringString.prototype.trim function(){ return this.replace(/^\s*|\s*$/g,);};// Convert a string from a CSS style property name to a JavaScript style name (background-color -> backgroundColor)String.prototype.unDash function(){ var t,s this.split(-); if(s.length > 1) { for(t1; ts.length; t++) st st.substr(0,1).toUpperCase() + st.substr(1); } return s.join();};// Substitute substrings from an array into a format string that includes %1-type specifiersString.prototype.format function(s){ var substrings s && s.constructor Array ? s : arguments; var subRegExp /(?:%(\d+))/mg; var currPos 0; var match,r ; do { match subRegExp.exec(this); if(match && match1) { if(match.index > currPos) r.push(this.substring(currPos,match.index)); r.push(substringsparseInt(match1,10)); currPos subRegExp.lastIndex; } } while(match); if(currPos this.length) r.push(this.substring(currPos,this.length)); return r.join();};// Escape any special RegExp characters with that character preceded by a backslashString.prototype.escapeRegExp function(){ var s \\^$*+?()!|,{}.; var t,c this; for(t0; ts.length; t++) c c.replace(new RegExp(\\ + s.substr(t,1),g),\\ + s.substr(t,1)); return c;};// Convert \ to \s, newlines to \n (and remove carriage returns)String.prototype.escapeLineBreaks function(){ return this.replace(/\\/mg,\\s).replace(/\n/mg,\\n).replace(/\r/mg,);};// Convert \n to newlines, \b to , \s to \ (and remove carriage returns)String.prototype.unescapeLineBreaks function(){ return this.replace(/\\n/mg,\n).replace(/\\b/mg, ).replace(/\\s/mg,\\).replace(/\r/mg,);};// Convert & to &, to <, > to > and to "String.prototype.htmlEncode function(){ return this.replace(/&/mg,&).replace(//mg,<).replace(/>/mg,>).replace(/\/mg,");};// Convert & to &, < to , > to > and " to String.prototype.htmlDecode function(){ return this.replace(/</mg,).replace(/>/mg,>).replace(/"/mg,\).replace(/&/mg,&);};// Parse a space-separated string of name:value parameters// The result is an array of objects:// result0 object with a member for each parameter name, value of that member being an array of values// result1..n one object for each parameter, with name and value membersString.prototype.parseParams function(defaultName,defaultValue,allowEval,noNames,cascadeDefaults){ var parseToken function(match,p) { var n; if(matchp) // Double quoted n matchp; else if(matchp+1) // Single quoted n matchp+1; else if(matchp+2) // Double-square-bracket quoted n matchp+2; else if(matchp+3) // Double-brace quoted try { n matchp+3; if(allowEval && config.evaluateMacroParameters ! none) { if(config.evaluateMacroParameters restricted) { if(window.restrictedEval) { n window.restrictedEval(n); } } else { n window.eval(n); } } } catch(ex) { throw Unable to evaluate {{ + matchp+3 + }}: + exceptionText(ex); } else if(matchp+4) // Unquoted n matchp+4; else if(matchp+5) // empty quote n ; return n; }; var r {}; var dblQuote (?:\((?:(?:\\\\\)|^\)+)\); var sngQuote (?:((?:(?:\\\\\)|^)+)); var dblSquare (?:\\\\((?:\\s|\\S)*?)\\\\); var dblBrace (?:\\{\\{((?:\\s|\\S)*?)\\}\\}); var unQuoted noNames ? (^\\\s\\S*) : (^\:\\s^\\s:*); var emptyQuote ((?:\\)|(?:)); var skipSpace (?:\\s*); var token (?: + dblQuote + | + sngQuote + | + dblSquare + | + dblBrace + | + unQuoted + | + emptyQuote + ); var re noNames ? new RegExp(token,mg) : new RegExp(skipSpace + token + skipSpace + (?:(\\:) + skipSpace + token + )?,mg); var match; do { match re.exec(this); if(match) { var n parseToken(match,1); if(noNames) { r.push({name:,value:n}); } else { var v parseToken(match,8); if(v null && defaultName) { v n; n defaultName; } else if(v null && defaultValue) { v defaultValue; } r.push({name:n,value:v}); if(cascadeDefaults) { defaultName n; defaultValue v; } } } } while(match); // Summarise parameters into first element var t; for(t1; tr.length; t++) { if(r0rt.name) r0rt.name.push(rt.value); else r0rt.name rt.value; } return r;};// Process a string list of macro parameters into an array. Parameters can be quoted with , ,// , {{ }} or left unquoted (and therefore space-separated). Double-braces {{}} results in// an *evaluated* parameter: e.g. {{config.options.txtUserName}} results in the current users name.String.prototype.readMacroParams function(notAllowEval){ var p this.parseParams(list,null,!notAllowEval,true); var t,n ; for(t1; tp.length; t++) n.push(pt.value); return n;};// Process a string list of unique tiddler names into an array. Tiddler names that have spaces in them must be bracketedString.prototype.readBracketedList function(unique){ var p this.parseParams(list,null,false,true); var t,n ; for(t1; tp.length; t++) { if(pt.value) n.pushUnique(pt.value,unique); } return n;};// Returns array with start and end index of chunk between given start and end marker, or undefined.String.prototype.getChunkRange function(start,end){ var s this.indexOf(start); if(s ! -1) { s + start.length; var e this.indexOf(end,s); if(e ! -1) return s,e; }};// Replace a chunk of a string given start and end markersString.prototype.replaceChunk function(start,end,sub){ var r this.getChunkRange(start,end); return r ? this.substring(0,r0) + sub + this.substring(r1) : this;};// Returns a chunk of a string between start and end markers, or undefinedString.prototype.getChunk function(start,end){ var r this.getChunkRange(start,end); if(r) return this.substring(r0,r1);};// Static method to bracket a string with double square brackets if it contains a spaceString.encodeTiddlyLink function(title){ return title.indexOf( ) -1 ? title : + title + ;};// Static method to encodeTiddlyLink for every item in an array and join them with spacesString.encodeTiddlyLinkList function(list){ if(list) { var t,results ; for(t0; tlist.length; t++) results.push(String.encodeTiddlyLink(listt)); return results.join( ); } else { return ; }};// Convert a string as a sequence of name:value pairs into a hashmapString.prototype.decodeHashMap function(){ var fields this.parseParams(anon,,false); var t,r {}; for(t1; tfields.length; t++) rfieldst.name fieldst.value; return r;};// Static method to encode a hashmap into a name:value... stringString.encodeHashMap function(hashmap){ var t,r ; for(t in hashmap) r.push(t + : + hashmapt + ); return r.join( );};// Static method to left-pad a string with 0s to a certain widthString.zeroPad function(n,d){ var s n.toString(); if(s.length d) s 000000000000000000000000000.substr(0,d-s.length) + s; return s;};String.prototype.startsWith function(prefix){ return !prefix || this.substring(0,prefix.length) prefix;};// Returns the first value of the given named parameter.function getParam(params,name,defaultValue){ if(!params) return defaultValue; var p params0name; return p ? p0 : defaultValue;}// Returns the first value of the given boolean named parameter.function getFlag(params,name,defaultValue){ return !!getParam(params,name,defaultValue);}//--//-- Augmented methods for the JavaScript Date() object//--// Substitute date components into a stringDate.prototype.formatString function(template){ var t template.replace(/0hh12/g,String.zeroPad(this.getHours12(),2)); t t.replace(/hh12/g,this.getHours12()); t t.replace(/0hh/g,String.zeroPad(this.getHours(),2)); t t.replace(/hh/g,this.getHours()); t t.replace(/mmm/g,config.messages.dates.shortMonthsthis.getMonth()); t t.replace(/0mm/g,String.zeroPad(this.getMinutes(),2)); t t.replace(/mm/g,this.getMinutes()); t t.replace(/0ss/g,String.zeroPad(this.getSeconds(),2)); t t.replace(/ss/g,this.getSeconds()); t t.replace(/apm/g,this.getAmPm().toLowerCase()); t t.replace(/APM/g,this.getAmPm().toUpperCase()); t t.replace(/wYYYY/g,this.getYearForWeekNo()); t t.replace(/wYY/g,String.zeroPad(this.getYearForWeekNo()-2000,2)); t t.replace(/YYYY/g,this.getFullYear()); t t.replace(/YY/g,String.zeroPad(this.getFullYear()-2000,2)); t t.replace(/MMM/g,config.messages.dates.monthsthis.getMonth()); t t.replace(/0MM/g,String.zeroPad(this.getMonth()+1,2)); t t.replace(/MM/g,this.getMonth()+1); t t.replace(/0WW/g,String.zeroPad(this.getWeek(),2)); t t.replace(/WW/g,this.getWeek()); t t.replace(/DDD/g,config.messages.dates.daysthis.getDay()); t t.replace(/ddd/g,config.messages.dates.shortDaysthis.getDay()); t t.replace(/0DD/g,String.zeroPad(this.getDate(),2)); t t.replace(/DDth/g,this.getDate()+this.daySuffix()); t t.replace(/DD/g,this.getDate()); var tz this.getTimezoneOffset(); var atz Math.abs(tz); t t.replace(/TZD/g,(tz 0 ? + : -) + String.zeroPad(Math.floor(atz / 60),2) + : + String.zeroPad(atz % 60,2)); t t.replace(/\\/g,); return t;};Date.prototype.getWeek function(){ var dt new Date(this.getTime()); var d dt.getDay(); if(d0) d7;// JavaScript Sun0, ISO Sun7 dt.setTime(dt.getTime()+(4-d)*86400000);// shift day to Thurs of same week to calculate weekNo var n Math.floor((dt.getTime()-new Date(dt.getFullYear(),0,1)+3600000)/86400000); return Math.floor(n/7)+1;};Date.prototype.getYearForWeekNo function(){ var dt new Date(this.getTime()); var d dt.getDay(); if(d0) d7;// JavaScript Sun0, ISO Sun7 dt.setTime(dt.getTime()+(4-d)*86400000);// shift day to Thurs of same week return dt.getFullYear();};Date.prototype.getHours12 function(){ var h this.getHours(); return h > 12 ? h-12 : ( h > 0 ? h : 12 );};Date.prototype.getAmPm function(){ return this.getHours() > 12 ? config.messages.dates.pm : config.messages.dates.am;};Date.prototype.daySuffix function(){ return config.messages.dates.daySuffixesthis.getDate()-1;};// Convert a date to local YYYYMMDDHHMM string formatDate.prototype.convertToLocalYYYYMMDDHHMM function(){ return this.getFullYear() + String.zeroPad(this.getMonth()+1,2) + String.zeroPad(this.getDate(),2) + String.zeroPad(this.getHours(),2) + String.zeroPad(this.getMinutes(),2);};// Convert a date to UTC YYYYMMDDHHMM string formatDate.prototype.convertToYYYYMMDDHHMM function(){ return this.getUTCFullYear() + String.zeroPad(this.getUTCMonth()+1,2) + String.zeroPad(this.getUTCDate(),2) + String.zeroPad(this.getUTCHours(),2) + String.zeroPad(this.getUTCMinutes(),2);};// Convert a date to UTC YYYYMMDD.HHMMSSMMM string formatDate.prototype.convertToYYYYMMDDHHMMSSMMM function(){ return this.getUTCFullYear() + String.zeroPad(this.getUTCMonth()+1,2) + String.zeroPad(this.getUTCDate(),2) + . + String.zeroPad(this.getUTCHours(),2) + String.zeroPad(this.getUTCMinutes(),2) + String.zeroPad(this.getUTCSeconds(),2) + String.zeroPad(this.getUTCMilliseconds(),3) +0;};// Static method to create a date from a UTC YYYYMMDDHHMM format stringDate.convertFromYYYYMMDDHHMM function(d){ d d?d.replace(/^0-9/g, ):; return Date.convertFromYYYYMMDDHHMMSSMMM(d.substr(0,12));};// Static method to create a date from a UTC YYYYMMDDHHMMSS format stringDate.convertFromYYYYMMDDHHMMSS function(d){ d d?d.replace(/^0-9/g, ):; return Date.convertFromYYYYMMDDHHMMSSMMM(d.substr(0,14));};// Static method to create a date from a UTC YYYYMMDDHHMMSSMMM format stringDate.convertFromYYYYMMDDHHMMSSMMM function(d){ d d ? d.replace(/^0-9/g, ) : ; return new Date(Date.UTC(parseInt(d.substr(0,4),10), parseInt(d.substr(4,2),10)-1, parseInt(d.substr(6,2),10), parseInt(d.substr(8,2)||00,10), parseInt(d.substr(10,2)||00,10), parseInt(d.substr(12,2)||00,10), parseInt(d.substr(14,3)||000,10)));};//--//-- RGB colour object//--// Construct an RGB colour object from a #rrggbb, #rgb or rgb(n,n,n) string or from separate r,g,b valuesfunction RGB(r,g,b){ this.r 0; this.g 0; this.b 0; if(typeof r string) { if(r.substr(0,1) #) { if(r.length 7) { this.r parseInt(r.substr(1,2),16)/255; this.g parseInt(r.substr(3,2),16)/255; this.b parseInt(r.substr(5,2),16)/255; } else { this.r parseInt(r.substr(1,1),16)/15; this.g parseInt(r.substr(2,1),16)/15; this.b parseInt(r.substr(3,1),16)/15; } } else { var rgbPattern /rgb\s*\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/; var c r.match(rgbPattern); if(c) { this.r parseInt(c1,10)/255; this.g parseInt(c2,10)/255; this.b parseInt(c3,10)/255; } } } else { this.r r; this.g g; this.b b; } return this;}// Mixes this colour with another in a specified proportion// c other colour to mix// f 0..1 where 0 is this colour and 1 is the new colour// Returns an RGB objectRGB.prototype.mix function(c,f){ return new RGB(this.r + (c.r-this.r) * f,this.g + (c.g-this.g) * f,this.b + (c.b-this.b) * f);};// Return an rgb colour as a #rrggbb format hex stringRGB.prototype.toString function(){ var clamp function(x,min,max) { return x min ? min : (x > max ? max : x); }; return # + (0 + Math.floor(clamp(this.r,0,1) * 255).toString(16)).right(2) + (0 + Math.floor(clamp(this.g,0,1) * 255).toString(16)).right(2) + (0 + Math.floor(clamp(this.b,0,1) * 255).toString(16)).right(2);};//--//-- DOM utilities - many derived from www.quirksmode.org//--function drawGradient(place,horiz,locolors,hicolors){ if(!hicolors) hicolors locolors; var t; for(t0; t 100; t+2) { var bar document.createElement(div); place.appendChild(bar); bar.style.position absolute; bar.style.left horiz ? t + % : 0; bar.style.top horiz ? 0 : t + %; bar.style.width horiz ? (101-t) + % : 100%; bar.style.height horiz ? 100% : (101-t) + %; bar.style.zIndex -1; var p t/100*(locolors.length-1); var hc hicolorsMath.floor(p); if(typeof hc string) hc new RGB(hc); var lc locolorsMath.ceil(p); if(typeof lc string) lc new RGB(lc); bar.style.backgroundColor hc.mix(lc,p-Math.floor(p)).toString(); }}function addEvent(obj,type,fn){ if(obj.attachEvent) { obje+type+fn fn; objtype+fn function(){obje+type+fn(window.event);}; obj.attachEvent(on+type,objtype+fn); } else { obj.addEventListener(type,fn,false); }}function removeEvent(obj,type,fn){ if(obj.detachEvent) { obj.detachEvent(on+type,objtype+fn); objtype+fn null; } else { obj.removeEventListener(type,fn,false); }}// Find the closest relative with a given property value (property defaults to tagName, relative defaults to parentNode)function findRelated(e,value,name,relative){ name name || tagName; relative relative || parentNode; if(name className) { while(e && !jQuery(e).hasClass(value)) { e erelative; } } else { while(e && ename ! value) { e erelative; } } return e;}// Get the scroll position for window.scrollTo necessary to scroll a given element into viewfunction ensureVisible(e){ var posTop findPosY(e); var posBot posTop + e.offsetHeight; var winTop findScrollY(); var winHeight findWindowHeight(); var winBot winTop + winHeight; if(posTop winTop) { return posTop; } else if(posBot > winBot) { if(e.offsetHeight winHeight) return posTop - (winHeight - e.offsetHeight); else return posTop; } else { return winTop; }}// Get the current width of the display windowfunction findWindowWidth(){ return window.innerWidth || document.documentElement.clientWidth;}// Get the current height of the display windowfunction findWindowHeight(){ return window.innerHeight || document.documentElement.clientHeight;}// Get the current height of the documentfunction findDocHeight() { var D document; return Math.max( Math.max(D.body.scrollHeight, D.documentElement.scrollHeight), Math.max(D.body.offsetHeight, D.documentElement.offsetHeight), Math.max(D.body.clientHeight, D.documentElement.clientHeight) );}// Get the current horizontal page scroll positionfunction findScrollX(){ return window.scrollX || document.documentElement.scrollLeft;}// Get the current vertical page scroll positionfunction findScrollY(){ return window.scrollY || document.documentElement.scrollTop;}function findPosX(obj){ var curleft 0; while(obj.offsetParent) { curleft + obj.offsetLeft; obj obj.offsetParent; } return curleft;}function findPosY(obj){ var curtop 0; while(obj.offsetParent) { curtop + obj.offsetTop; obj obj.offsetParent; } return curtop;}// Blur a particular elementfunction blurElement(e){ if(e && e.focus && e.blur) { e.focus(); e.blur(); }}// Create a non-breaking spacefunction insertSpacer(place){ var e document.createTextNode(String.fromCharCode(160)); if(place) place.appendChild(e); return e;}// Replace the current selection of a textarea or text input and scroll it into viewfunction replaceSelection(e,text){ if(e.setSelectionRange) { var oldpos e.selectionStart; var isRange e.selectionEnd > e.selectionStart; e.value e.value.substr(0,e.selectionStart) + text + e.value.substr(e.selectionEnd); e.setSelectionRange(isRange ? oldpos : oldpos + text.length,oldpos + text.length); var linecount e.value.split(\n).length; var thisline e.value.substr(0,e.selectionStart).split(\n).length-1; e.scrollTop Math.floor((thisline - e.rows / 2) * e.scrollHeight / linecount); } else if(document.selection) { var range document.selection.createRange(); if(range.parentElement() e) { var isCollapsed range.text ; range.text text; if(!isCollapsed) { range.moveStart(character, -text.length); range.select(); } } }}// Set the caret position in a text areafunction setCaretPosition(e,pos){ if(e.selectionStart || e.selectionStart 0) { e.selectionStart pos; e.selectionEnd pos; e.focus(); } else if(document.selection) { // IE support e.focus (); var sel document.selection.createRange(); sel.moveStart(character, -e.value.length); sel.moveStart(character,pos); sel.moveEnd(character,0); sel.select(); }}// Returns the text of the given (text) node, possibly merging subsequent text nodesfunction getNodeText(e){ var t ; while(e && e.nodeName #text) { t + e.nodeValue; e e.nextSibling; } return t;}// Returns true if the element e has a given ancestor elementfunction isDescendant(e,ancestor){ while(e) { if(e ancestor) return true; e e.parentNode; } return false;}// deprecate the following...// Prevent an event from bubblingfunction stopEvent(e){ var ev e || window.event; ev.cancelBubble true; if(ev.stopPropagation) ev.stopPropagation(); return false;}// Remove any event handlers or non-primitve custom attributesfunction scrubNode(e){ if(!config.browser.isIE) return; var att e.attributes; if(att) { var t; for(t0; tatt.length; t++) { var n attt.name; if(n ! style && (typeof en function || (typeof en object && en ! null))) { try { en null; } catch(ex) { } } } } var c e.firstChild; while(c) { scrubNode(c); c c.nextSibling; }}function setStylesheet(s,id,doc){ jQuery.twStylesheet(s,{id:id,doc:doc});}function removeStyleSheet(id){ jQuery.twStylesheet.remove({id:id});}//--//-- LoaderBase and SaverBase//--function LoaderBase() {}LoaderBase.prototype.loadTiddler function(store,node,tiddlers){ var title this.getTitle(store,node); if(safeMode && store.isShadowTiddler(title)) return; if(title) { var tiddler store.createTiddler(title); this.internalizeTiddler(store,tiddler,title,node); tiddlers.push(tiddler); }};LoaderBase.prototype.loadTiddlers function(store,nodes){ var t,tiddlers ; for(t 0; t nodes.length; t++) { try { this.loadTiddler(store,nodest,tiddlers); } catch(ex) { showException(ex,config.messages.tiddlerLoadError.format(this.getTitle(store,nodest))); } } return tiddlers;};function SaverBase() {}SaverBase.prototype.externalize function(store){ var results ; var t,tiddlers store.getTiddlers(title); for(t 0; t tiddlers.length; t++) { if(!tiddlerst.doNotSave()) results.push(this.externalizeTiddler(store, tiddlerst)); } return results.join(\n);};//--//-- TW21Loader (inherits from LoaderBase)//--function TW21Loader() {}TW21Loader.prototype new LoaderBase();TW21Loader.prototype.getTitle function(store,node){ var title null; if(node.getAttribute) { title node.getAttribute(title); if(!title) title node.getAttribute(tiddler); } if(!title && node.id) { var lenPrefix store.idPrefix.length; if(node.id.substr(0,lenPrefix) store.idPrefix) title node.id.substr(lenPrefix); } return title;};TW21Loader.prototype.internalizeTiddler function(store,tiddler,title,node){ var e node.firstChild; var text null; if(node.getAttribute(tiddler)) { text getNodeText(e).unescapeLineBreaks(); } else { while(e.nodeName!PRE && e.nodeName!pre) { e e.nextSibling; } text e.innerHTML.replace(/\r/mg,).htmlDecode(); } var creator node.getAttribute(creator); var modifier node.getAttribute(modifier); var c node.getAttribute(created); var m node.getAttribute(modified); var created c ? Date.convertFromYYYYMMDDHHMMSS(c) : version.date; var modified m ? Date.convertFromYYYYMMDDHHMMSS(m) : created; var tags node.getAttribute(tags); var fields {}; var i,attrs node.attributes; for(i attrs.length-1; i > 0; i--) { var name attrsi.name; if(attrsi.specified && !TiddlyWiki.isStandardField(name)) { fieldsname attrsi.value.unescapeLineBreaks(); } } tiddler.assign(title,text,modifier,modified,tags,created,fields,creator); return tiddler;};//--//-- TW21Saver (inherits from SaverBase)//--function TW21Saver() {}TW21Saver.prototype new SaverBase();TW21Saver.prototype.externalizeTiddler function(store,tiddler){ try { var extendedAttributes ; var usePre config.options.chkUsePreForStorage; store.forEachField(tiddler, function(tiddler,fieldName,value) { // dont store stuff from the temp namespace if(typeof value ! string) value ; if(!fieldName.match(/^temp\./)) extendedAttributes + %0%1.format(fieldName,value.escapeLineBreaks().htmlEncode()); },true); var created tiddler.created; var modified tiddler.modified; var attributes tiddler.creator ? creator + tiddler.creator.htmlEncode() + : ; attributes + tiddler.modifier ? modifier + tiddler.modifier.htmlEncode() + : ; attributes + (usePre && created version.date) ? : created + created.convertToYYYYMMDDHHMM() + ; attributes + (usePre && modified created) ? : modified + modified.convertToYYYYMMDDHHMM() +; var tags tiddler.getTags(); if(!usePre || tags) attributes + tags + tags.htmlEncode() + ; return (div %0%1%2%3>%4/+div>).format( usePre ? title : tiddler, tiddler.title.htmlEncode(), attributes, extendedAttributes, usePre ? \npre> + tiddler.text.htmlEncode() + /pre>\n : tiddler.text.escapeLineBreaks().htmlEncode() ); } catch (ex) { throw exceptionText(ex,config.messages.tiddlerSaveError.format(tiddler.title)); }};//>/script>script idjsdeprecatedArea typetext/javascript>//!CDATA//--//-- Deprecated Crypto functions and associated conversion routines.//-- Use the jQuery.encoding functions directly instead.//--// Crypto namespacefunction Crypto() {}// Convert a string to an array of big-endian 32-bit wordsCrypto.strToBe32s function(str){ return jQuery.encoding.strToBe32s(str);};// Convert an array of big-endian 32-bit words to a stringCrypto.be32sToStr function(be){ return jQuery.encoding.be32sToStr(be);};// Convert an array of big-endian 32-bit words to a hex stringCrypto.be32sToHex function(be){ return jQuery.encoding.be32sToHex(be);};// Return, in hex, the SHA-1 hash of a stringCrypto.hexSha1Str function(str){ return jQuery.encoding.digests.hexSha1Str(str);};// Return the SHA-1 hash of a stringCrypto.sha1Str function(str){ return jQuery.encoding.digests.sha1Str(str);};// Calculate the SHA-1 hash of an array of blen bytes of big-endian 32-bit wordsCrypto.sha1 function(x,blen){ return jQuery.encoding.digests.sha1(x,blen);};//--//-- Deprecated code//--// @Deprecated: Use createElementAndWikify and this.termRegExp insteadconfig.formatterHelpers.charFormatHelper function(w){ w.subWikify(createTiddlyElement(w.output,this.element),this.terminator);};// @Deprecated: Use enclosedTextHelper and this.lookaheadRegExp insteadconfig.formatterHelpers.monospacedByLineHelper function(w){ var lookaheadRegExp new RegExp(this.lookahead,mg); lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch lookaheadRegExp.exec(w.source); if(lookaheadMatch && lookaheadMatch.index w.matchStart) { var text lookaheadMatch1; if(config.browser.isIE) text text.replace(/\n/g,\r); createTiddlyElement(w.output,pre,null,null,text); w.nextMatch lookaheadRegExp.lastIndex; }};// @Deprecated: Use br> or br /> instead of br>>config.macros.br {};config.macros.br.handler function(place){ createTiddlyElement(place,br);};// Find an entry in an array. Returns the array index or null// @Deprecated: Use indexOf insteadArray.prototype.find function(item){ var i this.indexOf(item); return i -1 ? null : i;};// Load a tiddler from an HTML DIV. The caller should make sure to later call Tiddler.changed()// @Deprecated: Use store.getLoader().internalizeTiddler insteadTiddler.prototype.loadFromDiv function(divRef,title){ return store.getLoader().internalizeTiddler(store,this,title,divRef);};// Format the text for storage in an HTML DIV// @Deprecated Use store.getSaver().externalizeTiddler instead.Tiddler.prototype.saveToDiv function(){ return store.getSaver().externalizeTiddler(store,this);};// @Deprecated: Use store.allTiddlersAsHtml() insteadfunction allTiddlersAsHtml(){ return store.allTiddlersAsHtml();}// @Deprecated: Use refreshPageTemplate insteadfunction applyPageTemplate(title){ refreshPageTemplate(title);}// @Deprecated: Use story.displayTiddlers insteadfunction displayTiddlers(srcElement,titles,template,unused1,unused2,animate,unused3){ story.displayTiddlers(srcElement,titles,template,animate);}// @Deprecated: Use story.displayTiddler insteadfunction displayTiddler(srcElement,title,template,unused1,unused2,animate,unused3){ story.displayTiddler(srcElement,title,template,animate);}// @Deprecated: Use functions on right hand side directly insteadvar createTiddlerPopup Popup.create;var scrollToTiddlerPopup Popup.show;var hideTiddlerPopup Popup.remove;// @Deprecated: Use right hand side directly insteadvar regexpBackSlashEn new RegExp(\\\\n,mg);var regexpBackSlash new RegExp(\\\\,mg);var regexpBackSlashEss new RegExp(\\\\s,mg);var regexpNewLine new RegExp(\n,mg);var regexpCarriageReturn new RegExp(\r,mg);//--//-- Deprecated FileAdaptor functions//--FileAdaptor.loadTiddlyWikiCallback function(status,context,responseText,url,xhr){ context.status status; if(!status) { context.statusText Error reading file; } else { context.adaptor.store new TiddlyWiki(); if(!context.adaptor.store.importTiddlyWiki(responseText)) { context.statusText config.messages.invalidFileError.format(url); context.status false; } } context.complete(context,context.userParams);};//--//-- Deprecated HTTP request code//-- Use the jQuery ajax functions directly instead//--function loadRemoteFile(url,callback,params){ return httpReq(GET,url,callback,params);}function doHttp(type,url,data,contentType,username,password,callback,params,headers,allowCache){ return httpReq(type,url,callback,params,headers,data,contentType,username,password,allowCache);}//--//-- Deprecated String functions//--// @Deprecated: no direct replacement, since not used in core codeString.prototype.toJSONString function(){ // Convert a string to its JSON representation by encoding control characters, double quotes and backslash. See json.org var m { \b: \\b, \f: \\f, \n: \\n, \r: \\r, \t: \\t, : \\, \\: \\\\ }; var replaceFn function(a,b) { var c mb; if(c) return c; c b.charCodeAt(); return \\u00 + Math.floor(c / 16).toString(16) + (c % 16).toString(16); }; if(/\\\x00-\x1f/.test(this)) return + this.replace(/(\x00-\x1f\\)/g,replaceFn) + ; return + this + ;};//--//-- Deprecated Tiddler code//--// @Deprecated: Use tiddlerToRssItem(tiddler,uri) insteadTiddler.prototype.toRssItem function(uri){ return tiddlerToRssItem(this,uri);};// @Deprecated: Use item>\n + tiddlerToRssItem(tiddler,uri) + \n/item> insteadTiddler.prototype.saveToRss function(uri){ return item>\n + tiddlerToRssItem(this,uri) + \n/item>;};// @Deprecated: Use jQuery.encoding.digests.hexSha1Str insteadTiddler.prototype.generateFingerprint function(){ return 0x + Crypto.hexSha1Str(this.text);};//--//-- Deprecated Number functions//--// @Deprecated: no direct replacement, since not used in core code// Clamp a number to a rangeNumber.prototype.clamp function(min,max){ var c this; if(c min) c min; if(c > max) c max; return Number(c);};//--//-- Deprecated utility functions//-- Use the jQuery functions directly instead//--// Remove all children of a nodefunction removeChildren(e){ jQuery(e).empty();}// Remove a node and all its childrenfunction removeNode(e){ jQuery(e).remove();}// Return the content of an element as plain text with no formattingfunction getPlainText(e){ return jQuery(e).text();}function addClass(e,className){ jQuery(e).addClass(className);}function removeClass(e,className){ jQuery(e).removeClass(className);}function hasClass(e,className){ return jQuery(e).hasClass(className);}//--//-- Deprecated Wikifier code//--function wikifyPlain(title,theStore,limit){ if(!theStore) theStore store; if(theStore.tiddlerExists(title) || theStore.isShadowTiddler(title)) { return wikifyPlainText(theStore.getTiddlerText(title),limit,tiddler); } else { return ; }}//>/script>script idjslibArea typetext/javascript>//!CDATA/*! jQuery v1.8.3 jquery.com | jquery.org/license */(function(e,t){function _(e){var tMe{};return v.each(e.split(y),function(e,n){tn!0}),t}function H(e,n,r){if(rt&&e.nodeType1){var idata-+n.replace(P,-$1).toLowerCase();re.getAttribute(i);if(typeof rstring){try{rrtrue?!0:rfalse?!1:rnull?null:+r+r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else rt}return r}function B(e){var t;for(t in e){if(tdata&&v.isEmptyObject(et))continue;if(t!toJSON)return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType11}function at(e,t){do eet;while(e&&e.nodeType!1);return e}function ft(e,t,n){tt||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i!!t.call(e,r,e);return in});if(t.nodeType)return v.grep(e,function(e,r){return etn});if(typeof tstring){var rv.grep(e,function(e){return e.nodeType1});if(it.test(t))return v.filter(t,r,!n);tv.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>0n})}function lt(e){var tct.split(|),ne.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)0||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!1||!v.hasData(e))return;var n,r,i,sv._data(e),ov._data(t,s),us.events;if(u){delete o.handle,o.events{};for(n in u)for(r0,iun.length;ri;r++)v.event.add(t,n,unr)}o.data&&(o.datav.extend({},o.data))}function Ot(e,t){var n;if(t.nodeType!1)return;t.clearAttributes&&t.clearAttributes(),t.mergeAttributes&&t.mergeAttributes(e),nt.nodeName.toLowerCase(),nobject?(t.parentNode&&(t.outerHTMLe.outerHTML),v.support.html5Clone&&e.innerHTML&&!v.trim(t.innerHTML)&&(t.innerHTMLe.innerHTML)):ninput&&Et.test(e.type)?(t.defaultCheckedt.checkede.checked,t.value!e.value&&(t.valuee.value)):noption?t.selectede.defaultSelected:ninput||ntextarea?t.defaultValuee.defaultValue:nscript&&t.text!e.text&&(t.texte.text),t.removeAttribute(v.expando)}function Mt(e){return typeof e.getElementsByTagName!undefined?e.getElementsByTagName(*):typeof e.querySelectorAll!undefined?e.querySelectorAll(*):}function _t(e){Et.test(e.type)&&(e.defaultCheckede.checked)}function Qt(e,t){if(t in e)return t;var nt.charAt(0).toUpperCase()+t.slice(1),rt,iJt.length;while(i--){tJti+n;if(t in e)return t}return r}function Gt(e,t){return et||e,v.css(e,display)none||!v.contains(e.ownerDocument,e)}function Yt(e,t){var n,r,i,s0,oe.length;for(;so;s++){nes;if(!n.style)continue;isv._data(n,olddisplay),t?(!is&&n.style.displaynone&&(n.style.display),n.style.display&&Gt(n)&&(isv._data(n,olddisplay,nn(n.nodeName)))):(rDt(n,display),!is&&r!none&&v._data(n,olddisplay,r))}for(s0;so;s++){nes;if(!n.style)continue;if(!t||n.style.displaynone||n.style.display)n.style.displayt?is||:none}return e}function Zt(e,t,n){var rRt.exec(t);return r?Math.max(0,r1-(n||0))+(r2||px):t}function en(e,t,n,r){var in(r?border:content)?4:twidth?1:0,s0;for(;i4;i+2)nmargin&&(s+v.css(e,n+$ti,!0)),r?(ncontent&&(s-parseFloat(Dt(e,padding+$ti))||0),n!margin&&(s-parseFloat(Dt(e,border+$ti+Width))||0)):(s+parseFloat(Dt(e,padding+$ti))||0,n!padding&&(s+parseFloat(Dt(e,border+$ti+Width))||0));return s}function tn(e,t,n){var rtwidth?e.offsetWidth:e.offsetHeight,i!0,sv.support.boxSizing&&v.css(e,boxSizing)border-box;if(r0||rnull){rDt(e,t);if(r0||rnull)re.stylet;if(Ut.test(r))return r;is&&(v.support.boxSizingReliable||re.stylet),rparseFloat(r)||0}return r+en(e,t,n||(s?border:content),i)+px}function nn(e){if(Wte)return Wte;var tv(+e+>).appendTo(i.body),nt.css(display);t.remove();if(nnone||n){Pti.body.appendChild(Pt||v.extend(i.createElement(iframe),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht(Pt.contentWindow||Pt.contentDocument).document,Ht.write(!doctype html>html>body>),Ht.close();tHt.body.appendChild(Ht.createElement(e)),nDt(t,display),i.body.removeChild(Pt)}return Wten,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e++(typeof iobject?t:)+,i,n,r)});else if(!n&&v.type(t)object)for(i in t)fn(e++i+,ti,n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!string&&(nt,t*);var r,i,s,ot.toLowerCase().split(y),u0,ao.length;if(v.isFunction(n))for(;ua;u++)rou,s/^\+/.test(r),s&&(rr.substr(1)||*),ierer||,is?unshift:push(n)}}function kn(e,n,r,i,s,o){ss||n.dataTypes0,oo||{},os!0;var u,aes,f0,la?a.length:0,ceSn;for(;fl&&(c||!u);f++)uaf(n,r,i),typeof ustring&&(!c||ou?ut:(n.dataTypes.unshift(u),ukn(e,n,r,i,u,o)));return(c||!u)&&!o*&&(ukn(e,n,r,i,*,o)),u}function Ln(e,n){var r,i,sv.ajaxSettings.flatOptions||{};for(r in n)nr!t&&((sr?e:i||(i{}))rnr);i&&v.extend(!0,e,i)}function An(e,n,r){var i,s,o,u,ae.contents,fe.dataTypes,le.responseFields;for(s in l)s in r&&(nlsrs);while(f0*)f.shift(),it&&(ie.mimeType||n.getResponseHeader(content-type));if(i)for(s in a)if(as&&as.test(i)){f.unshift(s);break}if(f0in r)of0;else{for(s in r){if(!f0||e.converterss+ +f0){os;break}u||(us)}oo||u}if(o)return o!f0&&f.unshift(o),ro}function On(e,t){var n,r,i,s,oe.dataTypes.slice(),uo0,a{},f0;e.dataFilter&&(te.dataFilter(t,e.dataType));if(o1)for(n in e.converters)an.toLowerCase()e.convertersn;for(;io++f;)if(i!*){if(u!*&&u!i){nau+ +i||a* +i;if(!n)for(r in a){sr.split( );if(s1i){nau+ +s0||a* +s0;if(n){n!0?nar:ar!!0&&(is0,o.splice(f--,0,i));break}}}if(n!!0)if(n&ðrows)tn(t);else try{tn(t)}catch(l){return{state:parsererror,error:n?l:No conversion from +u+ to +i}}}ui}return{state:success,data:t}}function Fn(){try{return new e.XMLHttpRequest}catch(t){}}function In(){try{return new e.ActiveXObject(Microsoft.XMLHTTP)}catch(t){}}function $n(){return setTimeout(function(){qnt},0),qnv.now()}function Jn(e,t){v.each(t,function(t,n){var r(Vnt||).concat(Vn*),i0,sr.length;for(;is;i++)if(ri.call(e,t,n))return})}function Kn(e,t,n){var r,i0,s0,oXn.length,uv.Deferred().always(function(){delete a.elem}),afunction(){var tqn||$n(),nMath.max(0,f.startTime+f.duration-t),rn/f.duration||0,i1-r,s0,of.tweens.length;for(;so;s++)f.tweenss.run(i);return u.notifyWith(e,f,i,n),i1&&o?n:(u.resolveWith(e,f),!1)},fu.promise({elem:e,props:v.extend({},t),opts:v.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:qn||$n(),duration:n.duration,tweens:,createTween:function(t,n,r){var iv.Tween(e,f.opts,t,n,f.opts.specialEasingt||f.opts.easing);return f.tweens.push(i),i},stop:function(t){var n0,rt?f.tweens.length:0;for(;nr;n++)f.tweensn.run(1);return t?u.resolveWith(e,f,t):u.rejectWith(e,f,t),this}}),lf.props;Qn(l,f.opts.specialEasing);for(;io;i++){rXni.call(f,e,l,f.opts);if(r)return r}return Jn(f,l),v.isFunction(f.opts.start)&&f.opts.start.call(e,f),v.fx.timer(v.extend(a,{anim:f,queue:f.opts.queue,elem:e})),f.progress(f.opts.progress).done(f.opts.done,f.opts.complete).fail(f.opts.fail).always(f.opts.always)}function Qn(e,t){var n,r,i,s,o;for(n in e){rv.camelCase(n),itr,sen,v.isArray(s)&&(is1,sens0),n!r&&(ers,delete en),ov.cssHooksr;if(o&&expandin o){so.expand(s),delete er;for(n in s)n in e||(ensn,tni)}else tri}}function Gn(e,t,n){var r,i,s,o,u,a,f,l,c,hthis,pe.style,d{},m,ge.nodeType&&Gt(e);n.queue||(lv._queueHooks(e,fx),l.unqueuednull&&(l.unqueued0,cl.empty.fire,l.empty.firefunction(){l.unqueued||c()}),l.unqueued++,h.always(function(){h.always(function(){l.unqueued--,v.queue(e,fx).length||l.empty.fire()})})),e.nodeType1&&(heightin t||widthin t)&&(n.overflowp.overflow,p.overflowX,p.overflowY,v.css(e,display)inline&&v.css(e,float)none&&(!v.support.inlineBlockNeedsLayout||nn(e.nodeName)inline?p.displayinline-block:p.zoom1)),n.overflow&&(p.overflowhidden,v.support.shrinkWrapBlocks||h.done(function(){p.overflown.overflow0,p.overflowXn.overflow1,p.overflowYn.overflow2}));for(r in t){str;if(Un.exec(s)){delete tr,aa||stoggle;if(s(g?hide:show))continue;m.push(r)}}om.length;if(o){uv._data(e,fxshow)||v._data(e,fxshow,{}),hiddenin u&&(gu.hidden),a&&(u.hidden!g),g?v(e).show():h.done(function(){v(e).hide()}),h.done(function(){var t;v.removeData(e,fxshow,!0);for(t in d)v.style(e,t,dt)});for(r0;ro;r++)imr,fh.createTween(i,g?ui:0),diui||v.style(e,i),i in u||(uif.start,g&&(f.endf.start,f.startiwidth||iheight?1:0))}}function Yn(e,t,n,r,i){return new Yn.prototype.init(e,t,n,r,i)}function Zn(e,t){var n,r{height:e},i0;tt?1:0;for(;i4;i+2-t)n$ti,rmargin+nrpadding+ne;return t&&(r.opacityr.widthe),r}function tr(e){return v.isWindow(e)?e:e.nodeType9?e.defaultView||e.parentWindow:!1}var n,r,ie.document,se.location,oe.navigator,ue.jQuery,ae.$,fArray.prototype.push,lArray.prototype.slice,cArray.prototype.indexOf,hObject.prototype.toString,pObject.prototype.hasOwnProperty,dString.prototype.trim,vfunction(e,t){return new v.fn.init(e,t,n)},m/\-+?(?:\d*\.|)\d+(?:eE\-+?\d+|)/.source,g/\S/,y/\s+/,b/^\s\uFEFF\xA0+|\s\uFEFF\xA0+$/g,w/^(?:^#*(\w\W+>)^>*$|#(\w\-*)$)/,E/^(\w+)\s*\/?>(?:\/\1>|)$/,S/^\,:{}\s*$/,x/(?:^|:|,)(?:\s*\)+/g,T/\\(?:\\\/bfnrt|u\da-fA-F{4})/g,N/^\\\r\n*|true|false|null|-?(?:\d\d*\.|)\d+(?:eE\-+?\d+|)/g,C/^-ms-/,k/-(\da-z)/gi,Lfunction(e,t){return(t+).toUpperCase()},Afunction(){i.addEventListener?(i.removeEventListener(DOMContentLoaded,A,!1),v.ready()):i.readyStatecomplete&&(i.detachEvent(onreadystatechange,A),v.ready())},O{};v.fnv.prototype{constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.contextthis0e,this.length1,this;if(typeof estring){e.charAt(0)&&e.charAt(e.length-1)>&&e.length>3?snull,e,null:sw.exec(e);if(s&&(s1||!n)){if(s1)return nn instanceof v?n0:n,an&&n.nodeType?n.ownerDocument||n:i,ev.parseHTML(s1,a,!0),E.test(s1)&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);oi.getElementById(s2);if(o&&o.parentNode){if(o.id!s2)return r.find(e);this.length1,this0o}return this.contexti,this.selectore,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!t&&(this.selectore.selector,this.contexte.context),v.makeArray(e,this))},selector:,jquery:1.8.3,length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return enull?this.toArray():e0?thisthis.length+e:thise},pushStack:function(e,t,n){var rv.merge(this.constructor(),e);return r.prevObjectthis,r.contextthis.context,tfind?r.selectorthis.selector+(this.selector? :)+n:t&&(r.selectorthis.selector+.+t+(+n+)),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e+e,e-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),slice,l.call(arguments).join(,))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:.sort,splice:.splice},v.fn.init.prototypev.fn,v.extendv.fn.extendfunction(){var e,n,r,i,s,o,uarguments0||{},a1,farguments.length,l!1;typeof uboolean&&(lu,uarguments1||{},a2),typeof u!object&&!v.isFunction(u)&&(u{}),fa&&(uthis,--a);for(;af;a++)if((eargumentsa)!null)for(n in e){run,ien;if(ui)continue;l&&i&&(v.isPlainObject(i)||(sv.isArray(i)))?(s?(s!1,or&&v.isArray(r)?r:):or&&v.isPlainObject(r)?r:{},unv.extend(l,o,i)):i!t&&(uni)}return u},v.extend({noConflict:function(t){return e.$v&&(e.$a),t&&e.jQueryv&&(e.jQueryu),v},isReady:!1,readyWait:1,holdReady:function(e){e?v.readyWait++:v.ready(!0)},ready:function(e){if(e!0?--v.readyWait:v.isReady)return;if(!i.body)return setTimeout(v.ready,1);v.isReady!0;if(e!!0&&--v.readyWait>0)return;r.resolveWith(i,v),v.fn.trigger&&v(i).trigger(ready).off(ready)},isFunction:function(e){return v.type(e)function},isArray:Array.isArray||function(e){return v.type(e)array},isWindow:function(e){return e!null&&ee.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return enull?String(e):Oh.call(e)||object},isPlainObject:function(e){if(!e||v.type(e)!object||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,constructor)&&!p.call(e.constructor.prototype,isPrototypeOf))return!1}catch(n){return!1}var r;for(r in e);return rt||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!string?null:(typeof tboolean&&(nt,t0),tt||i,(rE.exec(e))?t.createElement(r1):(rv.buildFragment(e,t,n?null:),v.merge(,(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!string)return null;tv.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,@).replace(N,).replace(x,)))return(new Function(return +t))();v.error(Invalid JSON: +t)},parseXML:function(n){var r,i;if(!n||typeof n!string)return null;try{e.DOMParser?(inew DOMParser,ri.parseFromString(n,text/xml)):(rnew ActiveXObject(Microsoft.XMLDOM),r.asyncfalse,r.loadXML(n))}catch(s){rt}return(!r||!r.documentElement||r.getElementsByTagName(parsererror).length)&&v.error(Invalid XML: +n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,ms-).replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()t.toLowerCase()},each:function(e,n,r){var i,s0,oe.length,uot||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(ei,r)!1)break}else for(;so;)if(n.apply(es++,r)!1)break}else if(u){for(i in e)if(n.call(ei,i,ei)!1)break}else for(;so;)if(n.call(es,s,es++)!1)break;return e},trim:d&&!d.call(\ufeff\u00a0)?function(e){return enull?:d.call(e)}:function(e){return enull?:(e+).replace(b,)},makeArray:function(e,t){var n,rt||;return e!null&&(nv.type(e),e.lengthnull||nstring||nfunction||nregexp||v.isWindow(e)?f.call(r,e):v.merge(r,e)),r},inArray:function(e,t,n){var r;if(t){if(c)return c.call(t,e,n);rt.length,nn?n0?Math.max(0,r+n):n:0;for(;nr;n++)if(n in t&&tne)return n}return-1},merge:function(e,n){var rn.length,ie.length,s0;if(typeof rnumber)for(;sr;s++)ei++ns;else while(ns!t)ei++ns++;return e.lengthi,e},grep:function(e,t,n){var r,i,s0,oe.length;n!!n;for(;so;s++)r!!t(es,s),n!r&&i.push(es);return i},map:function(e,n,r){var i,s,o,u0,ae.length,fe instanceof v||a!t&&typeof anumber&&(a>0&&e0&&ea-1||a0||v.isArray(e));if(f)for(;ua;u++)in(eu,u,r),i!null&&(oo.lengthi);else for(s in e)in(es,s,r),i!null&&(oo.lengthi);return o.concat.apply(,o)},guid:1,proxy:function(e,n){var r,i,s;return typeof nstring&&(ren,ne,er),v.isFunction(e)?(il.call(arguments,2),sfunction(){return e.apply(n,i.concat(l.call(arguments)))},s.guide.guide.guid||v.guid++,s):t},access:function(e,n,r,i,s,o,u){var a,frnull,l0,ce.length;if(r&&typeof robject){for(l in r)v.access(e,n,l,rl,1,o,i);s1}else if(i!t){aut&&v.isFunction(i),f&&(a?(an,nfunction(e,t,n){return a.call(v(e),n)}):(n.call(e,i),nnull));if(n)for(;lc;l++)n(el,r,a?i.call(el,l,n(el,r)):i,u);s1}return s?e:f?n.call(e):c?n(e0,r):o},now:function(){return(new Date).getTime()}}),v.ready.promisefunction(t){if(!r){rv.Deferred();if(i.readyStatecomplete)setTimeout(v.ready,1);else if(i.addEventListener)i.addEventListener(DOMContentLoaded,A,!1),e.addEventListener(load,v.ready,!1);else{i.attachEvent(onreadystatechange,A),e.attachEvent(onload,v.ready);var n!1;try{ne.frameElementnull&&i.documentElement}catch(s){}n&&n.doScroll&&function o(){if(!v.isReady){try{n.doScroll(left)}catch(e){return setTimeout(o,50)}v.ready()}}()}}return r.promise(t)},v.each(Boolean Number String Function Array Date RegExp Object.split( ),function(e,t){Oobject +t+t.toLowerCase()}),nv(i);var M{};v.Callbacksfunction(e){etypeof estring?Me||_(e):v.extend({},e);var n,r,i,s,o,u,a,f!e.once&&,lfunction(t){ne.memory&&t,r!0,us||0,s0,oa.length,i!0;for(;a&&uo;u++)if(au.apply(t0,t1)!1&&e.stopOnFalse){n!1;break}i!1,a&&(f?f.length&&l(f.shift()):n?a:c.disable())},c{add:function(){if(a){var ta.length;(function r(t){v.each(t,function(t,n){var iv.type(n);ifunction?(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&i!string&&r(n)})})(arguments),i?oa.length:n&&(st,l(n))}return this},remove:function(){return a&&v.each(arguments,function(e,t){var n;while((nv.inArray(t,a,n))>-1)a.splice(n,1),i&&(no&&o--,nu&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a,this},disable:function(){return afnt,this},disabled:function(){return!a},lock:function(){return ft,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return tt||,te,t.slice?t.slice():t,a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var tresolve,done,v.Callbacks(once memory),resolved,reject,fail,v.Callbacks(once memory),rejected,notify,progress,v.Callbacks(memory),npending,r{state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var earguments;return v.Deferred(function(n){v.each(t,function(t,r){var sr0,oet;ir1(v.isFunction(o)?function(){var eo.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):ns+With(thisi?n:this,e)}:ns)}),enull}).promise()},promise:function(e){return e!null?v.extend(e,r):r}},i{};return r.piper.then,v.each(t,function(e,s){var os2,us3;rs1o.add,u&&o.add(function(){nu},te^12.disable,t22.lock),is0o.fire,is0+Witho.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t0,nl.call(arguments),rn.length,ir!1||e&&v.isFunction(e.promise)?r:0,si1?e:v.Deferred(),ofunction(e,t,n){return function(r){tethis,nearguments.length>1?l.call(arguments):r,nu?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){unew Array(r),anew Array(r),fnew Array(r);for(;tr;t++)nt&&v.isFunction(nt.promise)?nt.promise().done(o(t,f,n)).fail(s.reject).progress(o(t,a,u)):--i}return i||s.resolveWith(f,n),s.promise()}}),v.supportfunction(){var t,n,r,s,o,u,a,f,l,c,h,pi.createElement(div);p.setAttribute(className,t),p.innerHTML link/>table>/table>a href/a>a/a>input typecheckbox/>,np.getElementsByTagName(*),rp.getElementsByTagName(a)0;if(!n||!r||!n.length)return{};si.createElement(select),os.appendChild(i.createElement(option)),up.getElementsByTagName(input)0,r.style.cssTexttop:1px;float:left;opacity:.5,t{leadingWhitespace:p.firstChild.nodeType3,tbody:!p.getElementsByTagName(tbody).length,htmlSerialize:!!p.getElementsByTagName(link).length,style:/top/.test(r.getAttribute(style)),hrefNormalized:r.getAttribute(href)/a,opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.valueon,optSelected:o.selected,getSetAttribute:p.className!t,enctype:!!i.createElement(form).enctype,html5Clone:i.createElement(nav).cloneNode(!0).outerHTML!:nav>/:nav>,boxModel:i.compatModeCSS1Compat,submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked!0,t.noCloneCheckedu.cloneNode(!0).checked,s.disabled!0,t.optDisabled!o.disabled;try{delete p.test}catch(d){t.deleteExpando!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent(onclick,hfunction(){t.noCloneEvent!1}),p.cloneNode(!0).fireEvent(onclick),p.detachEvent(onclick,h)),ui.createElement(input),u.valuet,u.setAttribute(type,radio),t.radioValueu.valuet,u.setAttribute(checked,checked),u.setAttribute(name,t),p.appendChild(u),ai.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClonea.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendCheckedu.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})fon+l,cf in p,c||(p.setAttribute(f,return;),ctypeof pffunction),tl+Bubblesc;return v(function(){var n,r,s,o,upadding:0;margin:0;border:0;display:block;overflow:hidden;,ai.getElementsByTagName(body)0;if(!a)return;ni.createElement(div),n.style.cssTextvisibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px,a.insertBefore(n,a.firstChild),ri.createElement(div),n.appendChild(r),r.innerHTMLtable>tr>td>/td>td>t/td>/tr>/table>,sr.getElementsByTagName(td),s0.style.cssTextpadding:0;margin:0;border:0;display:none,cs0.offsetHeight0,s0.style.display,s1.style.displaynone,t.reliableHiddenOffsetsc&&s0.offsetHeight0,r.innerHTML,r.style.cssTextbox-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;,t.boxSizingr.offsetWidth4,t.doesNotIncludeMarginInBodyOffseta.offsetTop!1,e.getComputedStyle&&(t.pixelPosition(e.getComputedStyle(r,null)||{}).top!1%,t.boxSizingReliable(e.getComputedStyle(r,null)||{width:4px}).width4px,oi.createElement(div),o.style.cssTextr.style.cssTextu,o.style.marginRighto.style.width0,r.style.width1px,r.appendChild(o),t.reliableMarginRight!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!undefined&&(r.innerHTML,r.style.cssTextu+width:1px;padding:1px;display:inline;zoom:1,t.inlineBlockNeedsLayoutr.offsetWidth3,r.style.displayblock,r.style.overflowvisible,r.innerHTMLdiv>/div>,r.firstChild.style.width5px,t.shrinkWrapBlocksr.offsetWidth!3,n.style.zoom1),a.removeChild(n),nrsonull}),a.removeChild(p),nrsouapnull,t}();var D/(?:\{\s\S*\}|\\s\S*\)$/,P/(A-Z)/g;v.extend({cache:{},deletedIds:,uuid:0,expando:jQuery+(v.fn.jquery+Math.random()).replace(/\D/g,),noData:{embed:!0,object:clsid:D27CDB6E-AE6D-11cf-96B8-444553540000,applet:!0},hasData:function(e){return ee.nodeType?v.cacheev.expando:ev.expando,!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,uv.expando,atypeof nstring,fe.nodeType,lf?v.cache:e,cf?eu:eu&&u;if((!c||!lc||!i&&!lc.data)&&a&&rt)return;c||(f?eucv.deletedIds.pop()||v.guid++:cu),lc||(lc{},f||(lc.toJSONv.noop));if(typeof nobject||typeof nfunction)i?lcv.extend(lc,n):lc.datav.extend(lc.data,n);return slc,i||(s.data||(s.data{}),ss.data),r!t&&(sv.camelCase(n)r),a?(osn,onull&&(osv.camelCase(n))):os,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,oe.nodeType,uo?v.cache:e,ao?ev.expando:v.expando;if(!ua)return;if(t){rn?ua:ua.data;if(r){v.isArray(t)||(t in r?tt:(tv.camelCase(t),t in r?tt:tt.split( )));for(i0,st.length;is;i++)delete rti;if(!(n?B:v.isEmptyObject)(r))return}}if(!n){delete ua.data;if(!B(ua))return}o?v.cleanData(e,!0):v.support.deleteExpando||u!u.window?delete ua:uanull},_data:function(e,t,n){return v.data(e,t,n,!0)},acceptData:function(e){var te.nodeName&&v.noDatae.nodeName.toLowerCase();return!t||t!!0&&e.getAttribute(classid)t}}),v.fn.extend({data:function(e,n){var r,i,s,o,u,athis0,f0,lnull;if(et){if(this.length){lv.data(a);if(a.nodeType1&&!v._data(a,parsedAttrs)){sa.attributes;for(us.length;fu;f++)osf.name,o.indexOf(data-)||(ov.camelCase(o.substring(5)),H(a,o,lo));v._data(a,parsedAttrs,!0)}}return l}return typeof eobject?this.each(function(){v.data(this,e)}):(re.split(.,2),r1r1?.+r1:,ir1+!,v.access(this,function(n){if(nt)return lthis.triggerHandler(getData+i,r0),lt&&a&&(lv.data(a,e),lH(a,e,l)),lt&&r1?this.data(r0):l;r1n,this.each(function(){var tv(this);t.triggerHandler(setData+i,r),v.data(this,e,n),t.triggerHandler(changeData+i,r)})},null,n,arguments.length>1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t(t||fx)+queue,rv._data(e,t),n&&(!r||v.isArray(n)?rv._data(e,t,v.makeArray(n)):r.push(n)),r||},dequeue:function(e,t){tt||fx;var nv.queue(e,t),rn.length,in.shift(),sv._queueHooks(e,t),ofunction(){v.dequeue(e,t)};iinprogress&&(in.shift(),r--),i&&(tfx&&n.unshift(inprogress),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var nt+queueHooks;return v._data(e,n)||v._data(e,n,{empty:v.Callbacks(once memory).add(function(){v.removeData(e,t+queue,!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r2;return typeof e!string&&(ne,efx,r--),arguments.lengthr?v.queue(this0,e):nt?this:this.each(function(){var tv.queue(this,e,n);v._queueHooks(this,e),efx&&t0!inprogress&&v.dequeue(this,e)})},dequeue:function(e){return this.each(function(){v.dequeue(this,e)})},delay:function(e,t){return ev.fx?v.fx.speedse||e:e,tt||fx,this.queue(t,function(t,n){var rsetTimeout(t,e);n.stopfunction(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||fx,)},promise:function(e,n){var r,i1,sv.Deferred(),othis,uthis.length,afunction(){--i||s.resolveWith(o,o)};typeof e!string&&(ne,et),ee||fx;while(u--)rv._data(ou,e+queueHooks),r&&r.empty&&(i++,r.empty.add(a));return a(),s.promise(n)}});var j,F,I,q/\t\r\n/g,R/\r/g,U/^(?:button|input)$/i,z/^(?:button|input|object|select|textarea)$/i,W/^a(?:rea|)$/i,X/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,Vv.support.getSetAttribute;v.fn.extend({attr:function(e,t){return v.access(this,v.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return ev.propFixe||e,this.each(function(){try{thiset,delete thise}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof estring){te.split(y);for(n0,rthis.length;nr;n++){ithisn;if(i.nodeType1)if(!i.className&&t.length1)i.classNamee;else{s +i.className+ ;for(o0,ut.length;ou;o++)s.indexOf( +to+ )0&&(s+to+ );i.classNamev.trim(s)}}}return this},removeClass:function(e){var n,r,i,s,o,u,a;if(v.isFunction(e))return this.each(function(t){v(this).removeClass(e.call(this,t,this.className))});if(e&&typeof estring||et){n(e||).split(y);for(u0,athis.length;ua;u++){ithisu;if(i.nodeType1&&i.className){r( +i.className+ ).replace(q, );for(s0,on.length;so;s++)while(r.indexOf( +ns+ )>0)rr.replace( +ns+ , );i.classNamee?v.trim(r):}}}return this},toggleClass:function(e,t){var ntypeof e,rtypeof tboolean;return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(nstring){var i,s0,ov(this),ut,ae.split(y);while(ias++)ur?u:!o.hasClass(i),ou?addClass:removeClass(i)}else if(nundefined||nboolean)this.className&&v._data(this,__className__,this.className),this.classNamethis.className||e!1?:v._data(this,__className__)||})},hasClass:function(e){var t +e+ ,n0,rthis.length;for(;nr;n++)if(thisn.nodeType1&&( +thisn.className+ ).replace(q, ).indexOf(t)>0)return!0;return!1},val:function(e){var n,r,i,sthis0;if(!arguments.length){if(s)return nv.valHookss.type||v.valHookss.nodeName.toLowerCase(),n&&getin n&&(rn.get(s,value))!t?r:(rs.value,typeof rstring?r.replace(R,):rnull?:r);return}return iv.isFunction(e),this.each(function(r){var s,ov(this);if(this.nodeType!1)return;i?se.call(this,r,o.val()):se,snull?s:typeof snumber?s+:v.isArray(s)&&(sv.map(s,function(e){return enull?:e+})),nv.valHooksthis.type||v.valHooksthis.nodeName.toLowerCase();if(!n||!(setin n)||n.set(this,s,value)t)this.values})}}),v.extend({valHooks:{option:{get:function(e){var te.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,re.options,ie.selectedIndex,se.typeselect-one||i0,os?null:,us?i+1:r.length,ai0?u:s?i:0;for(;au;a++){nra;if((n.selected||ai)&&(v.support.optDisabled?!n.disabled:n.getAttribute(disabled)null)&&(!n.parentNode.disabled||!v.nodeName(n.parentNode,optgroup))){tv(n).val();if(s)return t;o.push(t)}}return o},set:function(e,t){var nv.makeArray(t);return v(e).find(option).each(function(){this.selectedv.inArray(v(this).val(),n)>0}),n.length||(e.selectedIndex-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,ae.nodeType;if(!e||a3||a8||a2)return;if(i&&v.isFunction(v.fnn))return v(e)n(r);if(typeof e.getAttributeundefined)return v.prop(e,n,r);ua!1||!v.isXMLDoc(e),u&&(nn.toLowerCase(),ov.attrHooksn||(X.test(n)?F:j));if(r!t){if(rnull){v.removeAttr(e,n);return}return o&&setin o&&u&&(so.set(e,r,n))!t?s:(e.setAttribute(n,r+),r)}return o&&getin o&&u&&(so.get(e,n))!null?s:(se.getAttribute(n),snull?t:s)},removeAttr:function(e,t){var n,r,i,s,o0;if(t&&e.nodeType1){rt.split(y);for(;or.length;o++)iro,i&&(nv.propFixi||i,sX.test(i),s||v.attr(e,i,),e.removeAttribute(V?i:n),s&&n in e&&(en!1))}},attrHooks:{type:{set:function(e,t){if(U.test(e.nodeName)&&e.parentNode)v.error(type property cant be changed);else if(!v.support.radioValue&&tradio&&v.nodeName(e,input)){var ne.value;return e.setAttribute(type,t),n&&(e.valuen),t}}},value:{get:function(e,t){return j&&v.nodeName(e,button)?j.get(e,t):t in e?e.value:null},set:function(e,t,n){if(j&&v.nodeName(e,button))return j.set(e,t,n);e.valuet}}},propFix:{tabindex:tabIndex,readonly:readOnly,for:htmlFor,class:className,maxlength:maxLength,cellspacing:cellSpacing,cellpadding:cellPadding,rowspan:rowSpan,colspan:colSpan,usemap:useMap,frameborder:frameBorder,contenteditable:contentEditable},prop:function(e,n,r){var i,s,o,ue.nodeType;if(!e||u3||u8||u2)return;return ou!1||!v.isXMLDoc(e),o&&(nv.propFixn||n,sv.propHooksn),r!t?s&&setin s&&(is.set(e,r,n))!t?i:enr:s&&getin s&&(is.get(e,n))!null?i:en},propHooks:{tabIndex:{get:function(e){var ne.getAttributeNode(tabindex);return n&&n.specified?parseInt(n.value,10):z.test(e.nodeName)||W.test(e.nodeName)&&e.href?0:t}}}}),F{get:function(e,n){var r,iv.prop(e,n);return i!0||typeof i!boolean&&(re.getAttributeNode(n))&&r.nodeValue!!1?n.toLowerCase():t},set:function(e,t,n){var r;return t!1?v.removeAttr(e,n):(rv.propFixn||n,r in e&&(er!0),e.setAttribute(n,n.toLowerCase())),n}},V||(I{name:!0,id:!0,coords:!0},jv.valHooks.button{get:function(e,n){var r;return re.getAttributeNode(n),r&&(In?r.value!:r.specified)?r.value:t},set:function(e,t,n){var re.getAttributeNode(n);return r||(ri.createAttribute(n),e.setAttributeNode(r)),r.valuet+}},v.each(width,height,function(e,t){v.attrHookstv.extend(v.attrHookst,{set:function(e,n){if(n)return e.setAttribute(t,auto),n}})}),v.attrHooks.contenteditable{get:j.get,set:function(e,t,n){t&&(tfalse),j.set(e,t,n)}}),v.support.hrefNormalized||v.each(href,src,width,height,function(e,n){v.attrHooksnv.extend(v.attrHooksn,{get:function(e){var re.getAttribute(n,2);return rnull?t:r}})}),v.support.style||(v.attrHooks.style{get:function(e){return e.style.cssText.toLowerCase()||t},set:function(e,t){return e.style.cssTextt+}}),v.support.optSelected||(v.propHooks.selectedv.extend(v.propHooks.selected,{get:function(e){var te.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),v.support.enctype||(v.propFix.enctypeencoding),v.support.checkOn||v.each(radio,checkbox,function(){v.valHooksthis{get:function(e){return e.getAttribute(value)null?on:e.value}}}),v.each(radio,checkbox,function(){v.valHooksthisv.extend(v.valHooksthis,{set:function(e,t){if(v.isArray(t))return e.checkedv.inArray(v(e).val(),t)>0}})});var $/^(?:textarea|input|select)$/i,J/^(^\.*|)(?:\.(.+)|)$/,K/(?:^|\s)hover(\.\S+|)\b/,Q/^key/,G/^(?:mouse|contextmenu)|click/,Y/^(?:focusinfocus|focusoutblur)$/,Zfunction(e){return v.event.special.hover?e:e.replace(K,mouseenter$1 mouseleave$1)};v.event{add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType3||e.nodeType8||!n||!r||!(ov._data(e)))return;r.handler&&(dr,rd.handler,sd.selector),r.guid||(r.guidv.guid++),ao.events,a||(o.eventsa{}),uo.handle,u||(o.handleufunction(e){return typeof vundefined||!!e&&v.event.triggerede.type?t:v.event.dispatch.apply(u.elem,arguments)},u.eleme),nv.trim(Z(n)).split( );for(f0;fn.length;f++){lJ.exec(nf)||,cl1,h(l2||).split(.).sort(),gv.event.specialc||{},c(s?g.delegateType:g.bindType)||c,gv.event.specialc||{},pv.extend({type:c,origType:l1,data:i,handler:r,guid:r.guid,selector:s,needsContext:s&&v.expr.match.needsContext.test(s),namespace:h.join(.)},d),mac;if(!m){mac,m.delegateCount0;if(!g.setup||g.setup.call(e,i,h,u)!1)e.addEventListener?e.addEventListener(c,u,!1):e.attachEvent&&e.attachEvent(on+c,u)}g.add&&(g.add.call(e,p),p.handler.guid||(p.handler.guidr.guid)),s?m.splice(m.delegateCount++,0,p):m.push(p),v.event.globalc!0}enull},global:{},remove:function(e,t,n,r,i){var s,o,u,a,f,l,c,h,p,d,m,gv.hasData(e)&&v._data(e);if(!g||!(hg.events))return;tv.trim(Z(t||)).split( );for(s0;st.length;s++){oJ.exec(ts)||,uao1,fo2;if(!u){for(u in h)v.event.remove(e,u+ts,n,r,!0);continue}pv.event.specialu||{},u(r?p.delegateType:p.bindType)||u,dhu||,ld.length,ff?new RegExp((^|\\.)+f.split(.).sort().join(\\.(?:.*\\.|))+(\\.|$)):null;for(c0;cd.length;c++)mdc,(i||am.origType)&&(!n||n.guidm.guid)&&(!f||f.test(m.namespace))&&(!r||rm.selector||r**&&m.selector)&&(d.splice(c--,1),m.selector&&d.delegateCount--,p.remove&&p.remove.call(e,m));d.length0&&l!d.length&&((!p.teardown||p.teardown.call(e,f,g.handle)!1)&&v.removeEvent(e,u,g.handle),delete hu)}v.isEmptyObject(h)&&(delete g.handle,v.removeData(e,events,!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(n,r,s,o){if(!s||s.nodeType!3&&s.nodeType!8){var u,a,f,l,c,h,p,d,m,g,yn.type||n,b;if(Y.test(y+v.event.triggered))return;y.indexOf(!)>0&&(yy.slice(0,-1),a!0),y.indexOf(.)>0&&(by.split(.),yb.shift(),b.sort());if((!s||v.event.customEventy)&&!v.event.globaly)return;ntypeof nobject?nv.expando?n:new v.Event(y,n):new v.Event(y),n.typey,n.isTrigger!0,n.exclusivea,n.namespaceb.join(.),n.namespace_ren.namespace?new RegExp((^|\\.)+b.join(\\.(?:.*\\.|))+(\\.|$)):null,hy.indexOf(:)0?on+y:;if(!s){uv.cache;for(f in u)uf.events&&uf.eventsy&&v.event.trigger(n,r,uf.handle.elem,!0);return}n.resultt,n.target||(n.targets),rr!null?v.makeArray(r):,r.unshift(n),pv.event.specialy||{};if(p.trigger&&p.trigger.apply(s,r)!1)return;ms,p.bindType||y;if(!o&&!p.noBubble&&!v.isWindow(s)){gp.delegateType||y,lY.test(g+y)?s:s.parentNode;for(cs;l;ll.parentNode)m.push(l,g),cl;c(s.ownerDocument||i)&&m.push(c.defaultView||c.parentWindow||e,g)}for(f0;fm.length&&!n.isPropagationStopped();f++)lmf0,n.typemf1,d(v._data(l,events)||{})n.type&&v._data(l,handle),d&&d.apply(l,r),dh&&lh,d&&v.acceptData(l)&&d.apply&&d.apply(l,r)!1&&n.preventDefault();return n.typey,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(s.ownerDocument,r)!1)&&(y!click||!v.nodeName(s,a))&&v.acceptData(s)&&h&&sy&&(y!focus&&y!blur||n.target.offsetWidth!0)&&!v.isWindow(s)&&(csh,c&&(shnull),v.event.triggeredy,sy(),v.event.triggeredt,c&&(shc)),n.result}return},dispatch:function(n){nv.event.fix(n||e.event);var r,i,s,o,u,a,f,c,h,p,d(v._data(this,events)||{})n.type||,md.delegateCount,gl.call(arguments),y!n.exclusive&&!n.namespace,bv.event.specialn.type||{},w;g0n,n.delegateTargetthis;if(b.preDispatch&&b.preDispatch.call(this,n)!1)return;if(m&&(!n.button||n.type!click))for(sn.target;s!this;ss.parentNode||this)if(s.disabled!!0||n.type!click){u{},f;for(r0;rm;r++)cdr,hc.selector,uht&&(uhc.needsContext?v(h,this).index(s)>0:v.find(h,this,null,s).length),uh&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r0;rw.length&&!n.isPropagationStopped();r++){awr,n.currentTargeta.elem;for(i0;ia.matches.length&&!n.isImmediatePropagationStopped();i++){ca.matchesi;if(y||!n.namespace&&!c.namespace||n.namespace_re&&n.namespace_re.test(c.namespace))n.datac.data,n.handleObjc,o((v.event.specialc.origType||{}).handle||c.handler).apply(a.elem,g),o!t&&(n.resulto,o!1&&(n.preventDefault(),n.stopPropagation()))}}return b.postDispatch&&b.postDispatch.call(this,n),n.result},props:attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which.split( ),fixHooks:{},keyHooks:{props:char charCode key keyCode.split( ),filter:function(e,t){return e.whichnull&&(e.whicht.charCode!null?t.charCode:t.keyCode),e}},mouseHooks:{props:button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement.split( ),filter:function(e,n){var r,s,o,un.button,an.fromElement;return e.pageXnull&&n.clientX!null&&(re.target.ownerDocument||i,sr.documentElement,or.body,e.pageXn.clientX+(s&&s.scrollLeft||o&&o.scrollLeft||0)-(s&&s.clientLeft||o&&o.clientLeft||0),e.pageYn.clientY+(s&&s.scrollTop||o&&o.scrollTop||0)-(s&&s.clientTop||o&&o.clientTop||0)),!e.relatedTarget&&a&&(e.relatedTargetae.target?n.toElement:a),!e.which&&u!t&&(e.whichu&1?1:u&2?3:u&4?2:0),e}},fix:function(e){if(ev.expando)return e;var t,n,re,sv.event.fixHookse.type||{},os.props?this.props.concat(s.props):this.props;ev.Event(r);for(to.length;t;)no--t,enrn;return e.target||(e.targetr.srcElement||i),e.target.nodeType3&&(e.targete.target.parentNode),e.metaKey!!e.metaKey,s.filter?s.filter(e,r):e},special:{load:{noBubble:!0},focus:{delegateType:focusin},blur:{delegateType:focusout},beforeunload:{setup:function(e,t,n){v.isWindow(this)&&(this.onbeforeunloadn)},teardown:function(e,t){this.onbeforeunloadt&&(this.onbeforeunloadnull)}}},simulate:function(e,t,n,r){var iv.extend(new v.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?v.event.trigger(i,null,t):v.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},v.event.handlev.event.dispatch,v.removeEventi.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var ron+t;e.detachEvent&&(typeof erundefined&&(ernull),e.detachEvent(r,n))},v.Eventfunction(e,t){if(!(this instanceof v.Event))return new v.Event(e,t);e&&e.type?(this.originalEvente,this.typee.type,this.isDefaultPreventede.defaultPrevented||e.returnValue!1||e.getPreventDefault&&e.getPreventDefault()?tt:et):this.typee,t&&v.extend(this,t),this.timeStampe&&e.timeStamp||v.now(),thisv.expando!0},v.Event.prototype{preventDefault:function(){this.isDefaultPreventedtt;var ethis.originalEvent;if(!e)return;e.preventDefault?e.preventDefault():e.returnValue!1},stopPropagation:function(){this.isPropagationStoppedtt;var ethis.originalEvent;if(!e)return;e.stopPropagation&&e.stopPropagation(),e.cancelBubble!0},stopImmediatePropagation:function(){this.isImmediatePropagationStoppedtt,this.stopPropagation()},isDefaultPrevented:et,isPropagationStopped:et,isImmediatePropagationStopped:et},v.each({mouseenter:mouseover,mouseleave:mouseout},function(e,t){v.event.speciale{delegateType:t,bindType:t,handle:function(e){var n,rthis,ie.relatedTarget,se.handleObj,os.selector;if(!i||i!r&&!v.contains(r,i))e.types.origType,ns.handler.apply(this,arguments),e.typet;return n}}}),v.support.submitBubbles||(v.event.special.submit{setup:function(){if(v.nodeName(this,form))return!1;v.event.add(this,click._submit keypress._submit,function(e){var ne.target,rv.nodeName(n,input)||v.nodeName(n,button)?n.form:t;r&&!v._data(r,_submit_attached)&&(v.event.add(r,submit._submit,function(e){e._submit_bubble!0}),v._data(r,_submit_attached,!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&v.event.simulate(submit,this.parentNode,e,!0))},teardown:function(){if(v.nodeName(this,form))return!1;v.event.remove(this,._submit)}}),v.support.changeBubbles||(v.event.special.change{setup:function(){if($.test(this.nodeName)){if(this.typecheckbox||this.typeradio)v.event.add(this,propertychange._change,function(e){e.originalEvent.propertyNamechecked&&(this._just_changed!0)}),v.event.add(this,click._change,function(e){this._just_changed&&!e.isTrigger&&(this._just_changed!1),v.event.simulate(change,this,e,!0)});return!1}v.event.add(this,beforeactivate._change,function(e){var te.target;$.test(t.nodeName)&&!v._data(t,_change_attached)&&(v.event.add(t,change._change,function(e){this.parentNode&&!e.isSimulated&&!e.isTrigger&&v.event.simulate(change,this.parentNode,e,!0)}),v._data(t,_change_attached,!0))})},handle:function(e){var te.target;if(this!t||e.isSimulated||e.isTrigger||t.type!radio&&t.type!checkbox)return e.handleObj.handler.apply(this,arguments)},teardown:function(){return v.event.remove(this,._change),!$.test(this.nodeName)}}),v.support.focusinBubbles||v.each({focus:focusin,blur:focusout},function(e,t){var n0,rfunction(e){v.event.simulate(t,e.target,v.event.fix(e),!0)};v.event.specialt{setup:function(){n++0&&i.addEventListener(e,r,!0)},teardown:function(){--n0&&i.removeEventListener(e,r,!0)}}}),v.fn.extend({on:function(e,n,r,i,s){var o,u;if(typeof eobject){typeof n!string&&(rr||n,nt);for(u in e)this.on(u,n,r,eu,s);return this}rnull&&inull?(in,rnt):inull&&(typeof nstring?(ir,rt):(ir,rn,nt));if(i!1)iet;else if(!i)return this;return s1&&(oi,ifunction(e){return v().off(e),o.apply(this,arguments)},i.guido.guid||(o.guidv.guid++)),this.each(function(){v.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,s;if(e&&e.preventDefault&&e.handleObj)return ie.handleObj,v(e.delegateTarget).off(i.namespace?i.origType+.+i.namespace:i.origType,i.selector,i.handler),this;if(typeof eobject){for(s in e)this.off(s,n,es);return this}if(n!1||typeof nfunction)rn,nt;return r!1&&(ret),this.each(function(){v.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},live:function(e,t,n){return v(this.context).on(e,this.selector,t,n),this},die:function(e,t){return v(this.context).off(e,this.selector||**,t),this},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return arguments.length1?this.off(e,**):this.off(t,e||**,n)},trigger:function(e,t){return this.each(function(){v.event.trigger(e,t,this)})},triggerHandler:function(e,t){if(this0)return v.event.trigger(e,t,this0,!0)},toggle:function(e){var targuments,ne.guid||v.guid++,r0,ifunction(n){var i(v._data(this,lastToggle+e.guid)||0)%r;return v._data(this,lastToggle+e.guid,i+1),n.preventDefault(),ti.apply(this,arguments)||!1};i.guidn;while(rt.length)tr++.guidn;return this.click(i)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),v.each(blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu.split( ),function(e,t){v.fntfunction(e,n){return nnull&&(ne,enull),arguments.length>0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHookstv.event.keyHooks),G.test(t)&&(v.event.fixHookstv.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){nn||,tt||g;var i,s,a,f,lt.nodeType;if(!e||typeof e!string)return n;if(l!1&&l!9)return;ao(t);if(!a&&!r)if(iR.exec(e))if(fi1){if(l9){st.getElementById(f);if(!s||!s.parentNode)return n;if(s.idf)return n.push(s),n}else if(t.ownerDocument&&(st.ownerDocument.getElementById(f))&&u(t,s)&&s.idf)return n.push(s),n}else{if(i2)return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((fi3)&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,$1),t,n,r,a)}function rt(e){return function(t){var nt.nodeName.toLowerCase();return ninput&&t.typee}}function it(e){return function(t){var nt.nodeName.toLowerCase();return(ninput||nbutton)&&t.typee}}function st(e){return N(function(t){return t+t,N(function(n,r){var i,se(,n.length,t),os.length;while(o--)niso&&(ni!(rini))})})}function ot(e,t,n){if(et)return n;var re.nextSibling;while(r){if(rt)return-1;rr.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,lLde+ ;if(l)return t?0:l.slice(0);ue,a,fi.preFilter;while(u){if(!n||(rF.exec(u)))r&&(uu.slice(r0.length)||u),a.push(s);n!1;if(rI.exec(u))s.push(nnew m(r.shift())),uu.slice(n.length),n.typer0.replace(j, );for(o in i.filter)(rJo.exec(u))&&(!fo||(rfo(r)))&&(s.push(nnew m(r.shift())),uu.slice(n.length),n.typeo,n.matchesr);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var it.dir,sr&&t.dirparentNode,ow++;return t.first?function(t,n,r){while(tti)if(s||t.nodeType1)return e(t,n,r)}:function(t,r,u){if(!u){var a,fb+ +o+ ,lf+n;while(tti)if(s||t.nodeType1){if((atd)l)return t.sizset;if(typeof astring&&a.indexOf(f)0){if(t.sizset)return t}else{tdl;if(e(t,r,u))return t.sizset!0,t;t.sizset!1}}}else while(tti)if(s||t.nodeType1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var ie.length;while(i--)if(!ei(t,n,r))return!1;return!0}:e0}function lt(e,t,n,r,i){var s,o,u0,ae.length,ft!null;for(;ua;u++)if(seu)if(!n||n(s,r,i))o.push(s),f&&t.push(u);return o}function ct(e,t,n,r,i,s){return r&&!rd&&(rct(r)),i&&!id&&(ict(i,s)),N(function(s,o,u,a){var f,l,c,h,p,do.length,vs||dt(t||*,u.nodeType?u:u,),me&&(s||!t)?lt(v,h,e,u,a):v,gn?i||(s?e:d||r)?:o:m;n&&n(m,g,u,a);if(r){flt(g,p),r(f,,u,a),lf.length;while(l--)if(cfl)gpl!(mplc)}if(s){if(i||e){if(i){f,lg.length;while(l--)(cgl)&&f.push(mlc);i(null,g,f,a)}lg.length;while(l--)(cgl)&&(fi?T.call(s,c):hl)>-1&&(sf!(ofc))}}else glt(go?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,se.length,oi.relativee0.type,uo||i.relative ,ao?1:0,fat(function(e){return et},u,!0),lat(function(e){return T.call(t,e)>-1},u,!0),hfunction(e,n,r){return!o&&(r||n!c)||((tn).nodeType?f(e,n,r):l(e,n,r))};for(;as;a++)if(ni.relativeea.type)hat(ft(h),n);else{ni.filterea.type.apply(null,ea.matches);if(nd){r++a;for(;rs;r++)if(i.relativeer.type)break;return ct(a>1&&ft(h),a>1&&e.slice(0,a-1).join().replace(j,$1),n,ar&&ht(e.slice(a,r)),rs&&ht(ee.slice(r)),rs&&e.join())}h.push(n)}return ft(h)}function pt(e,t){var rt.length>0,se.length>0,ofunction(u,a,f,l,h){var p,d,v,m,y0,w0,xu&&,Th!null,Nc,Cu||s&&i.find.TAG(*,h&&a.parentNode||a),kb+Nnull?1:Math.E;T&&(ca!g&&a,no.el);for(;(pCw)!null;w++){if(s&&p){for(d0;ved;d++)if(v(p,a,f)){l.push(p);break}T&&(bk,n++o.el)}r&&((p!v&&p)&&y--,u&&x.push(p))}y+w;if(r&&w!y){for(d0;vtd;d++)v(x,m,a,f);if(u){if(y>0)while(w--)!xw&&!mw&&(mwE.call(l));mlt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(bk,cN),x};return o.el0,r?N(o):o}function dt(e,t,n){var r0,it.length;for(;ri;r++)nt(e,tr,n);return n}function vt(e,t,n,r,s){var o,u,f,l,c,hut(e),ph.length;if(!r&&h.length1){uh0h0.slice(0);if(u.length>2&&(fu0).typeID&&t.nodeType9&&!s&&i.relativeu1.type){ti.find.ID(f.matches0.replace($,),t,s)0;if(!t)return n;ee.slice(u.shift().length)}for(oJ.POS.test(e)?-1:u.length-1;o>0;o--){fuo;if(i.relativelf.type)break;if(ci.findl)if(rc(f.matches0.replace($,),z.test(u0.type)&&t.parentNode||t,s)){u.splice(o,1),er.length&&u.join();if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h!0,pundefined,d(sizcache+Math.random()).replace(.,),mString,ge.document,yg.documentElement,b0,w0,E.pop,S.push,x.slice,T.indexOf||function(e){var t0,nthis.length;for(;tn;t++)if(thiste)return t;return-1},Nfunction(e,t){return edtnull||t,e},Cfunction(){var e{},t;return N(function(n,r){return t.push(n)>i.cacheLength&&delete et.shift(),en+ r},e)},kC(),LC(),AC(),O\\x20\\t\\r\\n\\f,M(?:\\\\.|-\\w|^\\x00-\\xa0)+,_M.replace(w,w#),D(*^$|!~?),P\\+O+*(+M+)+O+*(?:+D+O+*(?:(\)((?:\\\\.|^\\\\)*?)\\3|(+_+)|)|)+O+*\\,H:(+M+)(?:\\((?:(\)((?:\\\\.|^\\\\)*?)\\2|(^()\\*|(?:(?:+P+)|^:|\\\\.)*|.*))\\)|),B:(even|odd|eq|gt|lt|nth|first|last)(?:\\(+O+*((?:-\\d)?\\d*)+O+*\\)|)(?^-|$),jnew RegExp(^+O++|((?:^|^\\\\)(?:\\\\.)*)+O++$,g),Fnew RegExp(^+O+*,+O+*),Inew RegExp(^+O+*(\\x20\\t\\r\\n\\f>+~)+O+*),qnew RegExp(H),R/^(?:#(\w\-+)|(\w+)|\.(\w\-+))$/,U/^:not/,z/\x20\t\r\n\f*+~/,W/:not\($/,X/h\d/i,V/input|select|textarea|button/i,$/\\(?!\\)/g,J{ID:new RegExp(^#(+M+)),CLASS:new RegExp(^\\.(+M+)),NAME:new RegExp(^\\name\?(+M+)\?\\),TAG:new RegExp(^(+M.replace(w,w*)+)),ATTR:new RegExp(^+P),PSEUDO:new RegExp(^+H),POS:new RegExp(B,i),CHILD:new RegExp(^:(only|nth|first|last)-child(?:\\(+O+*(even|odd|((+-|)(\\d*)n|)+O+*(?:(+-|)+O+*(\\d+)|))+O+*\\)|),i),needsContext:new RegExp(^+O+*>+~|+B,i)},Kfunction(e){var tg.createElement(div);try{return e(t)}catch(n){return!1}finally{tnull}},QK(function(e){return e.appendChild(g.createComment()),!e.getElementsByTagName(*).length}),GK(function(e){return e.innerHTMLa href#>/a>,e.firstChild&&typeof e.firstChild.getAttribute!p&&e.firstChild.getAttribute(href)#}),YK(function(e){e.innerHTMLselect>/select>;var ttypeof e.lastChild.getAttribute(multiple);return t!boolean&&t!string}),ZK(function(e){return e.innerHTMLdiv classhidden e>/div>div classhidden>/div>,!e.getElementsByClassName||!e.getElementsByClassName(e).length?!1:(e.lastChild.classNamee,e.getElementsByClassName(e).length2)}),etK(function(e){e.idd+0,e.innerHTMLa name+d+>/a>div name+d+>/div>,y.insertBefore(e,y.firstChild);var tg.getElementsByName&&g.getElementsByName(d).length2+g.getElementsByName(d+0).length;return r!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)0.nodeType}catch(tt){xfunction(e){var t,n;for(;tthise;e++)n.push(t);return n}}nt.matchesfunction(e,t){return nt(e,null,null,t)},nt.matchesSelectorfunction(e,t){return nt(t,null,null,e).length>0},snt.getTextfunction(e){var t,n,r0,ie.nodeType;if(i){if(i1||i9||i11){if(typeof e.textContentstring)return e.textContent;for(ee.firstChild;e;ee.nextSibling)n+s(e)}else if(i3||i4)return e.nodeValue}else for(;ter;r++)n+s(t);return n},ont.isXMLfunction(e){var te&&(e.ownerDocument||e).documentElement;return t?t.nodeName!HTML:!1},unt.containsy.contains?function(e,t){var ne.nodeType9?e.documentElement:e,rt&&t.parentNode;return er||!!(r&&r.nodeType1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(tt.parentNode)if(te)return!0;return!1},nt.attrfunction(e,t){var n,ro(e);return r||(tt.toLowerCase()),(ni.attrHandlet)?n(e):r||Y?e.getAttribute(t):(ne.getAttributeNode(t),n?typeof etboolean?et?t:null:n.specified?n.value:null:null)},int.selectors{cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute(href,2)},type:function(e){return e.getAttribute(type)}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!p&&!n){var rt.getElementById(e);return r&&r.parentNode?r:}}:function(e,n,r){if(typeof n.getElementById!p&&!r){var in.getElementById(e);return i?i.ide||typeof i.getAttributeNode!p&&i.getAttributeNode(id).valuee?i:t:}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!p)return t.getElementsByTagName(e)}:function(e,t){var nt.getElementsByTagName(e);if(e*){var r,i,s0;for(;rns;s++)r.nodeType1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!p&&!n)return t.getElementsByClassName(e)}},relative:{>:{dir:parentNode,first:!0}, :{dir:parentNode},+:{dir:previousSibling,first:!0},~:{dir:previousSibling}},preFilter:{ATTR:function(e){return e1e1.replace($,),e3(e4||e5||).replace($,),e2~&&(e3 +e3+ ),e.slice(0,4)},CHILD:function(e){return e1e1.toLowerCase(),e1nth?(e2||nt.error(e0),e3+(e3?e4+(e5||1):2*(e2even||e2odd)),e4+(e6+e7||e2odd)):e2&&nt.error(e0),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e0))return null;if(e3)e2e3;else if(te4)q.test(t)&&(nut(t,!0))&&(nt.indexOf(),t.length-n)-t.length)&&(tt.slice(0,n),e0e0.slice(0,n)),e2t;return e.slice(0,3)}},filter:{ID:r?function(e){return ee.replace($,),function(t){return t.getAttribute(id)e}}:function(e){return ee.replace($,),function(t){var ntypeof t.getAttributeNode!p&&t.getAttributeNode(id);return n&&n.valuee}},TAG:function(e){return e*?function(){return!0}:(ee.replace($,).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()e})},CLASS:function(e){var tkde+ ;return t||(tnew RegExp((^|+O+)+e+(+O+|$)))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!p&&e.getAttribute(class)||)})},ATTR:function(e,t,n){return function(r,i){var snt.attr(r,e);return snull?t!:t?(s+,t?sn:t!?s!n:t^?n&&s.indexOf(n)0:t*?n&&s.indexOf(n)>-1:t$?n&&s.substr(s.length-n.length)n:t~?( +s+ ).indexOf(n)>-1:t|?sn||s.substr(0,n.length+1)n+-:!1):!0}},CHILD:function(e,t,n,r){return enth?function(e){var t,i,se.parentNode;if(n1&&r0)return!0;if(s){i0;for(ts.firstChild;t;tt.nextSibling)if(t.nodeType1){i++;if(et)break}}return i-r,in||i%n0&&i/n>0}:function(t){var nt;switch(e){caseonly:casefirst:while(nn.previousSibling)if(n.nodeType1)return!1;if(efirst)return!0;nt;caselast:while(nn.nextSibling)if(n.nodeType1)return!1;return!0}}},PSEUDO:function(e,t){var n,ri.pseudose||i.setFilterse.toLowerCase()||nt.error(unsupported pseudo: +e);return rd?r(t):r.length>1?(ne,e,,t,i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,sr(e,t),os.length;while(o--)iT.call(e,so),ei!(niso)}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t,n,ra(e.replace(j,$1));return rd?N(function(e,t,n,i){var s,or(e,null,i,),ue.length;while(u--)if(sou)eu!(tus)}):function(e,i,s){return t0e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled!1},disabled:function(e){return e.disabled!0},checked:function(e){var te.nodeName.toLowerCase();return tinput&&!!e.checked||toption&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;ee.firstChild;while(e){if(e.nodeName>@||(te.nodeType)3||t4)return!1;ee.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()input&&(te.type)text&&((ne.getAttribute(type))null||n.toLowerCase()t)},radio:rt(radio),checkbox:rt(checkbox),file:rt(file),password:rt(password),image:rt(image),submit:it(submit),reset:it(reset),button:function(e){var te.nodeName.toLowerCase();return tinput&&e.typebutton||tbutton},input:function(e){return V.test(e.nodeName)},focus:function(e){var te.ownerDocument;return et.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return ee.ownerDocument.activeElement},first:st(function(){return0}),last:st(function(e,t){returnt-1}),eq:st(function(e,t,n){returnn0?n+t:n}),even:st(function(e,t){for(var n0;nt;n+2)e.push(n);return e}),odd:st(function(e,t){for(var n1;nt;n+2)e.push(n);return e}),lt:st(function(e,t,n){for(var rn0?n+t:n;--r>0;)e.push(r);return e}),gt:st(function(e,t,n){for(var rn0?n+t:n;++rt;)e.push(r);return e})}},fy.compareDocumentPosition?function(e,t){return et?(l!0,0):(!e.compareDocumentPosition||!t.compareDocumentPosition?e.compareDocumentPosition:e.compareDocumentPosition(t)&4)?-1:1}:function(e,t){if(et)return l!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var n,r,i,s,oe.parentNode,ut.parentNode,ao;if(ou)return ot(e,t);if(!o)return-1;if(!u)return 1;while(a)i.unshift(a),aa.parentNode;au;while(a)s.unshift(a),aa.parentNode;ni.length,rs.length;for(var f0;fn&&fr;f++)if(if!sf)return ot(if,sf);return fn?ot(e,sf,-1):ot(if,t,1)},0,0.sort(f),h!l,nt.uniqueSortfunction(e){var t,n,r1,i0;lh,e.sort(f);if(l){for(;ter;r++)ter-1&&(in.push(r));while(i--)e.splice(ni,1)}return e},nt.errorfunction(e){throw new Error(Syntax error, unrecognized expression: +e)},ant.compilefunction(e,t){var n,r,i,sAde+ ;if(!s){t||(tut(e)),nt.length;while(n--)sht(tn),sd?r.push(s):i.push(s);sA(e,pt(i,r))}return s},g.querySelectorAll&&function(){var e,tvt,n/|\\/g,r/\\x20\t\r\n\f*(^\*)\x20\t\r\n\f*\/g,i:focus,s:active,uy.matchesSelector||y.mozMatchesSelector||y.webkitMatchesSelector||y.oMatchesSelector||y.msMatchesSelector;K(function(e){e.innerHTMLselect>option selected>/option>/select>,e.querySelectorAll(selected).length||i.push(\\+O+*(?:checked|disabled|ismap|multiple|readonly|selected|value)),e.querySelectorAll(:checked).length||i.push(:checked)}),K(function(e){e.innerHTMLp test>/p>,e.querySelectorAll(test^).length&&i.push(*^$+O+*(?:\\|)),e.innerHTMLinput typehidden/>,e.querySelectorAll(:enabled).length||i.push(:enabled,:disabled)}),inew RegExp(i.join(|)),vtfunction(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l!0,cd,hr,pr.nodeType9&&e;if(r.nodeType1&&r.nodeName.toLowerCase()!object){aut(e),(lr.getAttribute(id))?cl.replace(n,\\$&):r.setAttribute(id,c),cid+c+ ,fa.length;while(f--)afc+af.join();hz.test(e)&&r.parentNode||r,pa.join(,)}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute(id)}}return t(e,r,s,o,u)},u&&(K(function(t){eu.call(t,div);try{u.call(t,test!:sizzle),s.push(!,H)}catch(n){}}),snew RegExp(s.join(|)),nt.matchesSelectorfunction(t,n){nn.replace(r,$1);if(!o(t)&&!s.test(n)&&!i.test(n))try{var au.call(t,n);if(a||e||t.document&&t.document.nodeType!11)return a}catch(f){}return nt(n,null,null,t).length>0})}(),i.pseudos.nthi.pseudos.eq,i.filtersmt.prototypei.pseudos,i.setFiltersnew mt,nt.attrv.attr,v.findnt,v.exprnt.selectors,v.expr:v.expr.pseudos,v.uniquent.uniqueSort,v.textnt.getText,v.isXMLDocnt.isXML,v.containsnt.contains}(e);var nt/Until$/,rt/^(?:parents|prev(?:Until|All))/,it/^.^:#\\.,*$/,stv.expr.match.needsContext,ot{children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,uthis;if(typeof e!string)return v(e).filter(function(){for(t0,nu.length;tn;t++)if(v.contains(ut,this))return!0});othis.pushStack(,find,e);for(t0,nthis.length;tn;t++){ro.length,v.find(e,thist,o);if(t>0)for(ir;io.length;i++)for(s0;sr;s++)if(osoi){o.splice(i--,1);break}}return o},has:function(e){var t,nv(e,this),rn.length;return this.filter(function(){for(t0;tr;t++)if(v.contains(this,nt))return!0})},not:function(e){return this.pushStack(ft(this,e,!1),not,e)},filter:function(e){return this.pushStack(ft(this,e,!0),filter,e)},is:function(e){return!!e&&(typeof estring?st.test(e)?v(e,this.context).index(this0)>0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r0,ithis.length,s,ost.test(e)||typeof e!string?v(e,t||this.context):0;for(;ri;r++){nthisr;while(n&&n.ownerDocument&&n!t&&n.nodeType!11){if(o?o.index(n)>-1:v.find.matchesSelector(n,e)){s.push(n);break}nn.parentNode}}return ss.length>1?v.unique(s):s,this.pushStack(s,closest,e)},index:function(e){return e?typeof estring?v.inArray(this0,v(e)):v.inArray(e.jquery?e0:e,this):this0&&this0.parentNode?this.prevAll().length:-1},add:function(e,t){var ntypeof estring?v(e,t):v.makeArray(e&&e.nodeType?e:e),rv.merge(this.get(),n);return this.pushStack(ut(n0)||ut(r0)?r:v.unique(r))},addBack:function(e){return this.add(enull?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelfv.fn.addBack,v.each({parent:function(e){var te.parentNode;return t&&t.nodeType!11?t:null},parents:function(e){return v.dir(e,parentNode)},parentsUntil:function(e,t,n){return v.dir(e,parentNode,n)},next:function(e){return at(e,nextSibling)},prev:function(e){return at(e,previousSibling)},nextAll:function(e){return v.dir(e,nextSibling)},prevAll:function(e){return v.dir(e,previousSibling)},nextUntil:function(e,t,n){return v.dir(e,nextSibling,n)},prevUntil:function(e,t,n){return v.dir(e,previousSibling,n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,iframe)?e.contentDocument||e.contentWindow.document:v.merge(,e.childNodes)}},function(e,t){v.fnefunction(n,r){var iv.map(this,t,n);return nt.test(e)||(rn),r&&typeof rstring&&(iv.filter(r,i)),ithis.length>1&&!ote?v.unique(i):i,this.length>1&&rt.test(e)&&(ii.reverse()),this.pushStack(i,e,l.call(arguments).join(,))}}),v.extend({filter:function(e,t,n){return n&&(e:not(+e+)),t.length1?v.find.matchesSelector(t0,e)?t0::v.find.matches(e,t)},dir:function(e,n,r){var i,sen;while(s&&s.nodeType!9&&(rt||s.nodeType!1||!v(s).is(r)))s.nodeType1&&i.push(s),ssn;return i},sibling:function(e,t){var n;for(;e;ee.nextSibling)e.nodeType1&&e!t&&n.push(e);return n}});var ctabbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video,ht/ jQuery\d+(?:null|\d+)/g,pt/^\s+/,dt/(?!area|br|col|embed|hr|img|input|link|meta|param)((\w:+)^>*)\/>/gi,vt/(\w:+)/,mt/tbody/i,gt/|?\w+;/,yt/(?:script|style|link)/i,bt/(?:script|object|embed|option|style)/i,wtnew RegExp((?:+ct+)\\s/>,i),Et/^(?:checkbox|radio)$/,St/checked\s*(?:^|\s*.checked.)/i,xt/\/(java|ecma)script/i,Tt/^\s*!(?:\CDATA\|\-\-)|\\-{2}>\s*$/g,Nt{option:1,select multiplemultiple>,/select>,legend:1,fieldset>,/fieldset>,thead:1,table>,/table>,tr:2,table>tbody>,/tbody>/table>,td:3,table>tbody>tr>,/tr>/tbody>/table>,col:2,table>tbody>/tbody>colgroup>,/colgroup>/table>,area:1,map>,/map>,_default:0,,},Ctlt(i),ktCt.appendChild(i.createElement(div));Nt.optgroupNt.option,Nt.tbodyNt.tfootNt.colgroupNt.captionNt.thead,Nt.thNt.td,v.support.htmlSerialize||(Nt._default1,Xdiv>,/div>),v.fn.extend({text:function(e){return v.access(this,function(e){return et?v.text(this):this.empty().append((this0&&this0.ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this0){var tv(e,this0.ownerDocument).eq(0).clone(!0);this0.parentNode&&t.insertBefore(this0),t.map(function(){var ethis;while(e.firstChild&&e.firstChild.nodeType1)ee.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var tv(this),nt.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var tv.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,body)||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType1||this.nodeType11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType1||this.nodeType11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this0))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var ev.clean(arguments);return this.pushStack(v.merge(e,this),before,this.selector)}},after:function(){if(!ut(this0))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var ev.clean(arguments);return this.pushStack(v.merge(this,e),after,this.selector)}},remove:function(e,t){var n,r0;for(;(nthisr)!null;r++)if(!e||v.filter(e,n).length)!t&&n.nodeType1&&(v.cleanData(n.getElementsByTagName(*)),v.cleanData(n)),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t0;for(;(ethist)!null;t++){e.nodeType1&&v.cleanData(e.getElementsByTagName(*));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return eenull?!1:e,ttnull?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var nthis0||{},r0,ithis.length;if(et)return n.nodeType1?n.innerHTML.replace(ht,):t;if(typeof estring&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt(vt.exec(e)||,)1.toLowerCase()){ee.replace(dt,$1>/$2>);try{for(;ri;r++)nthisr||{},n.nodeType1&&(v.cleanData(n.getElementsByTagName(*)),n.innerHTMLe);n0}catch(s){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){return ut(this0)?this.length?this.pushStack(v(v.isFunction(e)?e():e),replaceWith,e):this:v.isFunction(e)?this.each(function(t){var nv(this),rn.html();n.replaceWith(e.call(this,t,r))}):(typeof e!string&&(ev(e).detach()),this.each(function(){var tthis.nextSibling,nthis.parentNode;v(this).remove(),t?v(t).before(e):v(n).append(e)}))},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e.concat.apply(,e);var i,s,o,u,a0,fe0,l,cthis.length;if(!v.support.checkClone&&c>1&&typeof fstring&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var sv(this);e0f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this0){iv.buildFragment(e,this,l),oi.fragment,so.firstChild,o.childNodes.length1&&(os);if(s){nn&&v.nodeName(s,tr);for(ui.cacheable||c-1;ac;a++)r.call(n&&v.nodeName(thisa,table)?Lt(thisa,tbody):thisa,au?o:v.clone(o,!0,!0))}osnull,l.length&&v.each(l,function(e,t){t.src?v.ajax?v.ajax({url:t.src,type:GET,dataType:script,async:!1,global:!1,throws:!0}):v.error(no ajax):v.globalEval((t.text||t.textContent||t.innerHTML||).replace(Tt,)),t.parentNode&&t.parentNode.removeChild(t)})}return this}}),v.buildFragmentfunction(e,n,r){var s,o,u,ae0;return nn||i,n!n.nodeType&&n0||n,nn.ownerDocument||n,e.length1&&typeof astring&&a.length512&&ni&&a.charAt(0)&&!bt.test(a)&&(v.support.checkClone||!St.test(a))&&(v.support.html5Clone||!wt.test(a))&&(o!0,sv.fragmentsa,us!t),s||(sn.createDocumentFragment(),v.clean(e,n,s,r),o&&(v.fragmentsau&&s)),{fragment:s,cacheable:o}},v.fragments{},v.each({appendTo:append,prependTo:prepend,insertBefore:before,insertAfter:after,replaceAll:replaceWith},function(e,t){v.fnefunction(n){var r,i0,s,ov(n),uo.length,athis.length1&&this0.parentNode;if((anull||a&&a.nodeType11&&a.childNodes.length1)&&u1)return ot(this0),this;for(;iu;i++)r(i>0?this.clone(!0):this).get(),v(oi)t(r),ss.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test(+e.nodeName+>)?oe.cloneNode(!0):(kt.innerHTMLe.outerHTML,kt.removeChild(okt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType1||e.nodeType11)&&!v.isXMLDoc(e)){Ot(e,o),rMt(e),iMt(o);for(s0;rs;++s)is&&Ot(rs,is)}if(t){At(e,o);if(n){rMt(e),iMt(o);for(s0;rs;++s)At(rs,is)}}return rinull,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,yti&&Ct,b;if(!t||typeof t.createDocumentFragmentundefined)ti;for(s0;(ues)!null;s++){typeof unumber&&(u+);if(!u)continue;if(typeof ustring)if(!gt.test(u))ut.createTextNode(u);else{yy||lt(t),ct.createElement(div),y.appendChild(c),uu.replace(dt,$1>/$2>),a(vt.exec(u)||,)1.toLowerCase(),fNta||Nt._default,lf0,c.innerHTMLf1+u+f2;while(l--)cc.lastChild;if(!v.support.tbody){hmt.test(u),patable&&!h?c.firstChild&&c.firstChild.childNodes:f1table>&&!h?c.childNodes:;for(op.length-1;o>0;--o)v.nodeName(po,tbody)&&!po.childNodes.length&&po.parentNode.removeChild(po)}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)0),c.firstChild),uc.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(ucynull);if(!v.support.appendChecked)for(s0;(ubs)!null;s++)v.nodeName(u,input)?_t(u):typeof u.getElementsByTagName!undefined&&v.grep(u.getElementsByTagName(input),_t);if(n){mfunction(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s0;(ubs)!null;s++)if(!v.nodeName(u,script)||!m(u))n.appendChild(u),typeof u.getElementsByTagName!undefined&&(gv.grep(v.merge(,u.getElementsByTagName(script)),m),b.splice.apply(b,s+1,0.concat(g)),s+g.length)}return b},cleanData:function(e,t){var n,r,i,s,o0,uv.expando,av.cache,fv.support.deleteExpando,lv.event.special;for(;(ieo)!null;o++)if(t||v.acceptData(i)){riu,nr&&ar;if(n){if(n.events)for(s in n.events)ls?v.event.remove(i,s):v.removeEvent(i,s,n.handle);ar&&(delete ar,f?delete iu:i.removeAttribute?i.removeAttribute(u):iunull,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatchfunction(e){ee.toLowerCase();var t/(chrome) \/(\w.+)/.exec(e)||/(webkit) \/(\w.+)/.exec(e)||/(opera)(?:.*version|) \/(\w.+)/.exec(e)||/(msie) (\w.+)/.exec(e)||e.indexOf(compatible)0&&/(mozilla)(?:.*? rv:(\w.+)|)/.exec(e)||;return{browser:t1||,version:t2||0}},ev.uaMatch(o.userAgent),t{},e.browser&&(te.browser!0,t.versione.version),t.chrome?t.webkit!0:t.webkit&&(t.safari!0),v.browsert,v.subfunction(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclassthis,e.fne.prototypethis(),e.fn.constructore,e.subthis.sub,e.fn.initfunction(r,i){return i&&i instanceof v&&!(i instanceof e)&&(ie(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototypee.fn;var te(i);return e}}();var Dt,Pt,Ht,Bt/alpha\(^)*\)/i,jt/opacity(^)*)/,Ft/^(top|right|bottom|left)$/,It/^(none|table(?!-cea).+)/,qt/^margin/,Rtnew RegExp(^(+m+)(.*)$,i),Utnew RegExp(^(+m+)(?!px)a-z%+$,i),ztnew RegExp(^(-+)(+m+),i),Wt{BODY:block},Xt{position:absolute,visibility:hidden,display:block},Vt{letterSpacing:0,fontWeight:400},$tTop,Right,Bottom,Left,JtWebkit,O,Moz,ms,Ktv.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var ntypeof eboolean;return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var nDt(e,opacity);return n?1:n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:v.support.cssFloat?cssFloat:styleFloat},style:function(e,n,r,i){if(!e||e.nodeType3||e.nodeType8||!e.style)return;var s,o,u,av.camelCase(n),fe.style;nv.cssPropsa||(v.cssPropsaQt(f,a)),uv.cssHooksn||v.cssHooksa;if(rt)return u&&getin u&&(su.get(e,!1,i))!t?s:fn;otypeof r,ostring&&(szt.exec(r))&&(r(s1+1)*s2+parseFloat(v.css(e,n)),onumber);if(rnull||onumber&&isNaN(r))return;onumber&&!v.cssNumbera&&(r+px);if(!u||!(setin u)||(ru.set(e,r,i))!t)try{fnr}catch(l){}},css:function(e,n,r,i){var s,o,u,av.camelCase(n);return nv.cssPropsa||(v.cssPropsaQt(e.style,a)),uv.cssHooksn||v.cssHooksa,u&&getin u&&(su.get(e,!0,i)),st&&(sDt(e,n)),snormal&&n in Vt&&(sVtn),r||i!t?(oparseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s{};for(i in t)sie.stylei,e.styleiti;rn.call(e);for(i in t)e.styleisi;return r}}),e.getComputedStyle?Dtfunction(t,n){var r,i,s,o,ue.getComputedStyle(t,null),at.style;return u&&(ru.getPropertyValue(n)||un,r&&!v.contains(t.ownerDocument,t)&&(rv.style(t,n)),Ut.test(r)&&qt.test(n)&&(ia.width,sa.minWidth,oa.maxWidth,a.minWidtha.maxWidtha.widthr,ru.width,a.widthi,a.minWidths,a.maxWidtho)),r}:i.documentElement.currentStyle&&(Dtfunction(e,t){var n,r,ie.currentStyle&&e.currentStylet,se.style;return inull&&s&&st&&(ist),Ut.test(i)&&!Ft.test(t)&&(ns.left,re.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.lefte.currentStyle.left),s.lefttfontSize?1em:i,is.pixelLeft+px,s.leftn,r&&(e.runtimeStyle.leftr)),i?auto:i}),v.each(height,width,function(e,t){v.cssHookst{get:function(e,n,r){if(n)return e.offsetWidth0&&It.test(Dt(e,display))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,boxSizing)border-box):0)}}}),v.support.opacity||(v.cssHooks.opacity{get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||)?.01*parseFloat(RegExp.$1)+:t?1:},set:function(e,t){var ne.style,re.currentStyle,iv.isNumeric(t)?alpha(opacity+t*100+):,sr&&r.filter||n.filter||;n.zoom1;if(t>1&&v.trim(s.replace(Bt,))&&n.removeAttribute){n.removeAttribute(filter);if(r&&!r.filter)return}n.filterBt.test(s)?s.replace(Bt,i):s+ +i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight{get:function(e,t){return v.swap(e,{display:inline-block},function(){if(t)return Dt(e,marginRight)})}}),!v.support.pixelPosition&&v.fn.position&&v.each(top,left,function(e,t){v.cssHookst{get:function(e,n){if(n){var rDt(e,t);return Ut.test(r)?v(e).position()t+px:r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hiddenfunction(e){return e.offsetWidth0&&e.offsetHeight0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,display))none},v.expr.filters.visiblefunction(e){return!v.expr.filters.hidden(e)}),v.each({margin:,padding:,border:Width},function(e,t){v.cssHookse+t{expand:function(n){var r,itypeof nstring?n.split( ):n,s{};for(r0;r4;r++)se+$tr+tir||ir-2||i0;return s}},qt.test(e)||(v.cssHookse+t.setZt)});var rn/%20/g,sn/\\$/,on/\r?\n/g,un/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var nv(this).val();return nnull?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,\r\n)}}):{name:t.name,value:n.replace(on,\r\n)}}).get()}}),v.paramfunction(e,n){var r,i,sfunction(e,t){tv.isFunction(t)?t():tnull?:t,ii.lengthencodeURIComponent(e)++encodeURIComponent(t)};nt&&(nv.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,er,n,s);return i.join(&).replace(rn,+)};var ln,cn,hn/#.*$/,pn/^(.*?): \t*(^\r\n*)\r?$/mg,dn/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn/^(?:GET|HEAD)$/,mn/^\/\//,gn/\?/,yn/script\b^*(?:(?!\/script>)^*)*\/script>/gi,bn/(?&)_^&*/,wn/^(\w\+\.\-+:)(?:\/\/(^\/?#:*)(?::(\d+)|)|)/,Env.fn.load,Sn{},xn{},Tn*/+*;try{cns.href}catch(Nn){cni.createElement(a),cn.href,cncn.href}lnwn.exec(cn.toLowerCase())||,v.fn.loadfunction(e,n,r){if(typeof e!string&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,uthis,ae.indexOf( );return a>0&&(ie.slice(a,e.length),ee.slice(0,a)),v.isFunction(n)?(rn,nt):n&&typeof nobject&&(sPOST),v.ajax({url:e,type:s,dataType:html,data:n,complete:function(e,t){r&&u.each(r,o||e.responseText,t,e)}}).done(function(e){oarguments,u.html(i?v(div>).append(e.replace(yn,)).find(i):e)}),this},v.each(ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend.split( ),function(e,t){v.fntfunction(e){return this.on(t,e)}}),v.each(get,post,function(e,n){vnfunction(e,r,i,s){return v.isFunction(r)&&(ss||i,ir,rt),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,script)},getJSON:function(e,t,n){return v.get(e,t,n,json)},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(te,ev.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln1),global:!0,type:GET,contentType:application/x-www-form-urlencoded; charsetUTF-8,processData:!0,async:!0,accepts:{xml:application/xml, text/xml,html:text/html,text:text/plain,json:application/json, text/javascript,*:Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:responseXML,text:responseText},converters:{* text:e.String,text html:!0,text json:v.parseJSON,text xml:v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,Tn;if(E2)return;E2,u&&clearTimeout(u),ot,ia||,x.readyStatee>0?4:0,s&&(wAn(c,x,s));if(e>200&&e300||e304)c.ifModified&&(Sx.getResponseHeader(Last-Modified),S&&(v.lastModifiedrS),Sx.getResponseHeader(Etag),S&&(v.etagrS)),e304?(Tnotmodified,l!0):(lOn(c,w),Tl.state,yl.data,bl.error,l!b);else{bT;if(!T||e)Terror,e0&&(e0)}x.statuse,x.statusText(n||T)+,l?d.resolveWith(h,y,T,x):d.rejectWith(h,x,T,b),x.statusCode(g),gt,f&&p.trigger(ajax+(l?Success:Error),x,c,l?y:b),m.fireWith(h,x,T),f&&(p.trigger(ajaxComplete,x,c),--v.active||v.event.trigger(ajaxStop))}typeof eobject&&(ne,et),nn||{};var r,i,s,o,u,a,f,l,cv.ajaxSetup({},n),hc.context||c,ph!c&&(h.nodeType||h instanceof v)?v(h):v.event,dv.Deferred(),mv.Callbacks(once memory),gc.statusCode||{},b{},w{},E0,Scanceled,x{readyState:0,setRequestHeader:function(e,t){if(!E){var ne.toLowerCase();ewnwn||e,bet}return this},getAllResponseHeaders:function(){return E2?i:null},getResponseHeader:function(e){var n;if(E2){if(!s){s{};while(npn.exec(i))sn1.toLowerCase()n2}nse.toLowerCase()}return nt?null:n},overrideMimeType:function(e){return E||(c.mimeTypee),this},abort:function(e){return ee||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.successx.done,x.errorx.fail,x.completem.add,x.statusCodefunction(e){if(e){var t;if(E2)for(t in e)gtgt,et;else tex.status,x.always(t)}return this},c.url((e||c.url)+).replace(hn,).replace(mn,ln1+//),c.dataTypesv.trim(c.dataType||*).toLowerCase().split(y),c.crossDomainnull&&(awn.exec(c.url.toLowerCase()),c.crossDomain!(!a||a1ln1&&a2ln2&&(a3||(a1http:?80:443))(ln3||(ln1http:?80:443)))),c.data&&c.processData&&typeof c.data!string&&(c.datav.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E2)return x;fc.global,c.typec.type.toUpperCase(),c.hasContent!vn.test(c.type),f&&v.active++0&&v.event.trigger(ajaxStart);if(!c.hasContent){c.data&&(c.url+(gn.test(c.url)?&:?)+c.data,delete c.data),rc.url;if(c.cache!1){var Nv.now(),Cc.url.replace(bn,$1_+N);c.urlC+(Cc.url?(gn.test(c.url)?&:?)+_+N:)}}(c.data&&c.hasContent&&c.contentType!!1||n.contentType)&&x.setRequestHeader(Content-Type,c.contentType),c.ifModified&&(rr||c.url,v.lastModifiedr&&x.setRequestHeader(If-Modified-Since,v.lastModifiedr),v.etagr&&x.setRequestHeader(If-None-Match,v.etagr)),x.setRequestHeader(Accept,c.dataTypes0&&c.acceptsc.dataTypes0?c.acceptsc.dataTypes0+(c.dataTypes0!*?, +Tn+; q0.01:):c.accepts*);for(l in c.headers)x.setRequestHeader(l,c.headersl);if(!c.beforeSend||c.beforeSend.call(h,x,c)!!1&&E!2){Sabort;for(l in{success:1,error:1,complete:1})xl(cl);okn(xn,c,n,x);if(!o)T(-1,No Transport);else{x.readyState1,f&&p.trigger(ajaxSend,x,c),c.async&&c.timeout>0&&(usetTimeout(function(){x.abort(timeout)},c.timeout));try{E1,o.send(b,T)}catch(k){if(!(E2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn,_n/\?/,Dn/()\?(?&|$)|\?\?/,Pnv.now();v.ajaxSetup({jsonp:callback,jsonpCallback:function(){var eMn.pop()||v.expando+_+Pn++;return thise!0,e}}),v.ajaxPrefilter(json jsonp,function(n,r,i){var s,o,u,an.data,fn.url,ln.jsonp!!1,cl&&Dn.test(f),hl&&!c&&typeof astring&&!(n.contentType||).indexOf(application/x-www-form-urlencoded)&&Dn.test(a);if(n.dataTypes0jsonp||c||h)return sn.jsonpCallbackv.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,oes,c?n.urlf.replace(Dn,$1+s):h?n.dataa.replace(Dn,$1+s):l&&(n.url+(_n.test(f)?&:?)+n.jsonp++s),n.convertersscript jsonfunction(){return u||v.error(s+ was not called),u0},n.dataTypes0json,esfunction(){uarguments},i.always(function(){eso,ns&&(n.jsonpCallbackr.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u0),uot}),script}),v.ajaxSetup({accepts:{script:text/javascript, application/javascript, application/ecmascript, application/x-ecmascript},contents:{script:/javascript|ecmascript/},converters:{text script:function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter(script,function(e){e.cachet&&(e.cache!1),e.crossDomain&&(e.typeGET,e.global!1)}),v.ajaxTransport(script,function(e){if(e.crossDomain){var n,ri.head||i.getElementsByTagName(head)0||i.documentElement;return{send:function(s,o){ni.createElement(script),n.asyncasync,e.scriptCharset&&(n.charsete.scriptCharset),n.srce.url,n.onloadn.onreadystatechangefunction(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onloadn.onreadystatechangenull,r&&n.parentNode&&r.removeChild(n),nt,i||o(200,success)},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bne.ActiveXObject?function(){for(var e in Hn)Hne(0,1)}:!1,jn0;v.ajaxSettings.xhre.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&withCredentialsin e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,an.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)aun.xhrFieldsu;n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!iX-Requested-With&&(iX-Requested-WithXMLHttpRequest);try{for(u in i)a.setRequestHeader(u,iu)}catch(f){}a.send(n.hasContent&&n.data||null),rfunction(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState4)){rt,o&&(a.onreadystatechangev.noop,Bn&&delete Hno);if(i)a.readyState!4&&a.abort();else{ua.status,la.getAllResponseHeaders(),c{},ha.responseXML,h&&h.documentElement&&(c.xmlh);try{c.texta.responseText}catch(p){}try{fa.statusText}catch(p){f}!u&&n.isLocal&&!n.crossDomain?uc.text?200:404:u1223&&(u204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState4?setTimeout(r,0):(o++jn,Bn&&(Hn||(Hn{},v(e).unload(Bn)),Hnor),a.onreadystatechanger):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un/^(?:toggle|show|hide)$/,znnew RegExp(^(?:(-+)|)(+m+)(a-z%*)$,i),Wn/queueHooks$/,XnGn,Vn{*:function(e,t){var n,r,ithis.createTween(e,t),szn.exec(t),oi.cur(),u+o||0,a1,f20;if(s){n+s2,rs3||(v.cssNumbere?:px);if(r!px&&u){uv.css(i.elem,e,!0)||n||1;do aa||.5,u/a,v.style(i.elem,e,u+r);while(a!(ai.cur()/o)&&a!1&&--f)}i.unitr,i.startu,i.ends1?u+(s1+1)*n:n}return i}};v.Animationv.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(te,e*):ee.split( );var n,r0,ie.length;for(;ri;r++)ner,VnnVnn||,Vnn.unshift(t)},prefilter:function(e,t){t?Xn.unshift(e):Xn.push(e)}}),v.TweenYn,Yn.prototype{constructor:Yn,init:function(e,t,n,r,i,s){this.eleme,this.propn,this.easingi||swing,this.optionst,this.startthis.nowthis.cur(),this.endr,this.units||(v.cssNumbern?:px)},cur:function(){var eYn.propHooksthis.prop;return e&&e.get?e.get(this):Yn.propHooks._default.get(this)},run:function(e){var t,nYn.propHooksthis.prop;return this.options.duration?this.postv.easingthis.easing(e,this.options.duration*e,0,1,this.options.duration):this.poste,this.now(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Yn.propHooks._default.set(this),this}},Yn.prototype.init.prototypeYn.prototype,Yn.propHooks{_default:{get:function(e){var t;return e.eleme.propnull||!!e.elem.style&&e.elem.stylee.prop!null?(tv.css(e.elem,e.prop,!1,),!t||tauto?0:t):e.eleme.prop},set:function(e){v.fx.stepe.prop?v.fx.stepe.prop(e):e.elem.style&&(e.elem.stylev.cssPropse.prop!null||v.cssHookse.prop)?v.style(e.elem,e.prop,e.now+e.unit):e.eleme.prope.now}}},Yn.propHooks.scrollTopYn.propHooks.scrollLeft{set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.eleme.prope.now)}},v.each(toggle,show,hide,function(e,t){var nv.fnt;v.fntfunction(r,i,s){return rnull||typeof rboolean||!e&&v.isFunction(r)&&v.isFunction(i)?n.apply(this,arguments):this.animate(Zn(t,!0),r,i,s)}}),v.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Gt).css(opacity,0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var iv.isEmptyObject(e),sv.speed(t,n,r),ofunction(){var tKn(this,v.extend({},e),s);i&&t.stop(!0)};return i||s.queue!1?this.each(o):this.queue(s.queue,o)},stop:function(e,n,r){var ifunction(e){var te.stop;delete e.stop,t(r)};return typeof e!string&&(rn,ne,et),n&&e!!1&&this.queue(e||fx,),this.each(function(){var t!0,ne!null&&e+queueHooks,sv.timers,ov._data(this);if(n)on&&on.stop&&i(on);else for(n in o)on&&on.stop&&Wn.test(n)&&i(on);for(ns.length;n--;)sn.elemthis&&(enull||sn.queuee)&&(sn.anim.stop(r),t!1,s.splice(n,1));(t||!r)&&v.dequeue(this,e)})}}),v.each({slideDown:Zn(show),slideUp:Zn(hide),slideToggle:Zn(toggle),fadeIn:{opacity:show},fadeOut:{opacity:hide},fadeToggle:{opacity:toggle}},function(e,t){v.fnefunction(e,n,r){return this.animate(t,e,n,r)}}),v.speedfunction(e,t,n){var re&&typeof eobject?v.extend({},e):{complete:n||!n&&t||v.isFunction(e)&&e,duration:e,easing:n&&t||t&&!v.isFunction(t)&&t};r.durationv.fx.off?0:typeof r.durationnumber?r.duration:r.duration in v.fx.speeds?v.fx.speedsr.duration:v.fx.speeds._default;if(r.queuenull||r.queue!0)r.queuefx;return r.oldr.complete,r.completefunction(){v.isFunction(r.old)&&r.old.call(this),r.queue&&v.dequeue(this,r.queue)},r},v.easing{linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},v.timers,v.fxYn.prototype.init,v.fx.tickfunction(){var e,nv.timers,r0;qnv.now();for(;rn.length;r++)enr,!e()&&nre&&n.splice(r--,1);n.length||v.fx.stop(),qnt},v.fx.timerfunction(e){e()&&v.timers.push(e)&&!Rn&&(RnsetInterval(v.fx.tick,v.fx.interval))},v.fx.interval13,v.fx.stopfunction(){clearInterval(Rn),Rnnull},v.fx.speeds{slow:600,fast:200,_default:400},v.fx.step{},v.expr&&v.expr.filters&&(v.expr.filters.animatedfunction(e){return v.grep(v.timers,function(t){return et.elem}).length});var er/^(?:body|html)$/i;v.fn.offsetfunction(e){if(arguments.length)return et?this:this.each(function(t){v.offset.setOffset(this,e,t)});var n,r,i,s,o,u,a,f{top:0,left:0},lthis0,cl&&l.ownerDocument;if(!c)return;return(rc.body)l?v.offset.bodyOffset(l):(nc.documentElement,v.contains(n,l)?(typeof l.getBoundingClientRect!undefined&&(fl.getBoundingClientRect()),itr(c),sn.clientTop||r.clientTop||0,on.clientLeft||r.clientLeft||0,ui.pageYOffset||n.scrollTop,ai.pageXOffset||n.scrollLeft,{top:f.top+u-s,left:f.left+a-o}):f)},v.offset{bodyOffset:function(e){var te.offsetTop,ne.offsetLeft;return v.support.doesNotIncludeMarginInBodyOffset&&(t+parseFloat(v.css(e,marginTop))||0,n+parseFloat(v.css(e,marginLeft))||0),{top:t,left:n}},setOffset:function(e,t,n){var rv.css(e,position);rstatic&&(e.style.positionrelative);var iv(e),si.offset(),ov.css(e,top),uv.css(e,left),a(rabsolute||rfixed)&&v.inArray(auto,o,u)>-1,f{},l{},c,h;a?(li.position(),cl.top,hl.left):(cparseFloat(o)||0,hparseFloat(u)||0),v.isFunction(t)&&(tt.call(e,n,s)),t.top!null&&(f.topt.top-s.top+c),t.left!null&&(f.leftt.left-s.left+h),usingin t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this0)return;var ethis0,tthis.offsetParent(),nthis.offset(),rer.test(t0.nodeName)?{top:0,left:0}:t.offset();return n.top-parseFloat(v.css(e,marginTop))||0,n.left-parseFloat(v.css(e,marginLeft))||0,r.top+parseFloat(v.css(t0,borderTopWidth))||0,r.left+parseFloat(v.css(t0,borderLeftWidth))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var ethis.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,position)static)ee.offsetParent;return e||i.body})}}),v.each({scrollLeft:pageXOffset,scrollTop:pageYOffset},function(e,n){var r/Y/.test(n);v.fnefunction(i){return v.access(this,function(e,i,s){var otr(e);if(st)return o?n in o?on:o.document.documentElementi:ei;o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):eis},e,i,arguments.length,null)}}),v.each({Height:height,Width:width},function(e,n){v.each({padding:inner+e,content:n,:outer+e},function(r,i){v.fnifunction(i,s){var oarguments.length&&(r||typeof i!boolean),ur||(i!0||s!0?margin:border);return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElementclient+e:n.nodeType9?(sn.documentElement,Math.max(n.bodyscroll+e,sscroll+e,n.bodyoffset+e,soffset+e,sclient+e)):it?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuerye.$v,typeof definefunction&&define.amd&&define.amd.jQuery&&define(jquery,,function(){return v})})(window);//>/script>script idjqueryArea typetext/javascript>//!CDATA/*jQuery.encoding.digests.sha1.jsSHA-1 digest and associated utility functionsCopyright (c) UnaMesa Association 2009Dual licensed under the MIT and GPL licenses: http://www.opensource.org/licenses/mit-license.php http://www.gnu.org/licenses/gpl.html*/(function($) {if(!$.encoding) $.encoding {}; $.extend($.encoding,{ strToBe32s: function(str) { // Convert a string to an array of big-endian 32-bit words var be; var lenMath.floor(str.length/4); var i, j; for(i0, j0; ilen; i++, j+4) { bei((str.charCodeAt(j)&0xff) 24)|((str.charCodeAt(j+1)&0xff) 16)|((str.charCodeAt(j+2)&0xff) 8)|(str.charCodeAt(j+3)&0xff); } while(jstr.length) { bej>>2 | (str.charCodeAt(j)&0xff)(24-(j*8)%32); j++; } return be; }, be32sToStr: function(be) { // Convert an array of big-endian 32-bit words to a string var str; for(var i0;ibe.length*32;i+8) { str + String.fromCharCode((bei>>5>>>(24-i%32)) & 0xff); } return str; }, be32sToHex: function(be) { // Convert an array of big-endian 32-bit words to a hex string var hex0123456789ABCDEF; var str; for(var i0;ibe.length*4;i++) { str + hex.charAt((bei>>2>>((3-i%4)*8+4))&0xF) + hex.charAt((bei>>2>>((3-i%4)*8))&0xF); } return str; } });})(jQuery);(function($) {if(!$.encoding.digests) $.encoding.digests {}; $.extend($.encoding.digests,{ hexSha1Str: function(str) { // Return, in hex, the SHA-1 hash of a string return $.encoding.be32sToHex($.encoding.digests.sha1Str(str)); }, sha1Str: function(str) { // Return the SHA-1 hash of a string return sha1($.encoding.strToBe32s(str),str.length); }, sha1: function(x,blen) { // Calculate the SHA-1 hash of an array of blen bytes of big-endian 32-bit words return sha1($.encoding.strToBe32s(str),str.length); } }); // Private functions. function sha1(x,blen) { // Calculate the SHA-1 hash of an array of blen bytes of big-endian 32-bit words function add32(a,b) { // Add 32-bit integers, wrapping at 32 bits // Uses 16-bit operations internally to work around bugs in some JavaScript interpreters. var lsw(a&0xFFFF)+(b&0xFFFF); var msw(a>>16)+(b>>16)+(lsw>>16); return (msw16)|(lsw&0xFFFF); } function AA(a,b,c,d,e) { // Cryptographic round helper function. Add five 32-bit integers, wrapping at 32 bits, second parameter is rotated left 5 bits before the addition // Uses 16-bit operations internally to work around bugs in some JavaScript interpreters. b(b>>>27)|(b5); var lsw(a&0xFFFF)+(b&0xFFFF)+(c&0xFFFF)+(d&0xFFFF)+(e&0xFFFF); var msw(a>>16)+(b>>16)+(c>>16)+(d>>16)+(e>>16)+(lsw>>16); return (msw16)|(lsw&0xFFFF); } function RR(w,j) { // Cryptographic round helper function. var nwj-3^wj-8^wj-14^wj-16; return (n>>>31)|(n1); } var lenblen*8; xlen>>5 | 0x80 (24-len%32); x((len+64>>9)4)+15len; var wnew Array(80); var k10x5A827999; var k20x6ED9EBA1; var k30x8F1BBCDC; var k40xCA62C1D6; var h00x67452301; var h10xEFCDAB89; var h20x98BADCFE; var h30x10325476; var h40xC3D2E1F0; for(var i0;ix.length;i+16) { var j0; var t; var ah0; var bh1; var ch2; var dh3; var eh4; while(j16) { wjxi+j; tAA(e,a,d^(b&(c^d)),wj,k1); ed; dc; c(b>>>2)|(b30); ba; at; j++; } while(j20) { wjRR(w,j); tAA(e,a,d^(b&(c^d)),wj,k1); ed; dc; c(b>>>2)|(b30); ba; at; j++; } while(j40) { wjRR(w,j); tAA(e,a,b^c^d,wj,k2); ed; dc; c(b>>>2)|(b30); ba; at; j++; } while(j60) { wjRR(w,j); tAA(e,a,(b&c)|(d&(b|c)),wj,k3); ed; dc; c(b>>>2)|(b30); ba; at; j++; } while(j80) { wjRR(w,j); tAA(e,a,b^c^d,wj,k4); ed; dc; c(b>>>2)|(b30); ba; at; j++; } h0add32(h0,a); h1add32(h1,b); h2add32(h2,c); h3add32(h3,d); h4add32(h4,e); } return h0,h1,h2,h3,h4; }})(jQuery);/*jQuery.twStylesheet.jsjQuery plugin to dynamically insert CSS rules into a documentUsage: jQuery.twStylesheet applies style definitions jQuery.twStylesheet.remove neutralizes style definitionsCopyright (c) UnaMesa Association 2009Triple licensed under the BSD, MIT and GPL licenses: http://www.opensource.org/licenses/bsd-license.php http://www.opensource.org/licenses/mit-license.php http://www.gnu.org/licenses/gpl.html*/(function($) {var defaultId customStyleSheet; // XXX: rename to dynamicStyleSheet?// Add or replace a style sheet// css argument is a string of CSS rule sets// options.id is an optional name identifying the style sheet// options.doc is an optional document reference// N.B.: Uses DOM methods instead of jQuery to ensure cross-browser comaptibility.$.twStylesheet function(css, options) { options options || {}; var id options.id || defaultId; var doc options.doc || document; var el doc.getElementById(id); if(doc.createStyleSheet) { // IE-specific handling if(el) { el.parentNode.removeChild(el); } doc.getElementsByTagName(head)0.insertAdjacentHTML(beforeEnd, style id + id + typetext/css> + css + /style>); // fails without } else { // modern browsers if(el) { el.replaceChild(doc.createTextNode(css), el.firstChild); } else { el doc.createElement(style); el.type text/css; el.id id; el.appendChild(doc.createTextNode(css)); doc.getElementsByTagName(head)0.appendChild(el); } }};// Remove existing style sheet// options.id is an optional name identifying the style sheet// options.doc is an optional document reference$.twStylesheet.remove function(options) { options options || {}; var id options.id || defaultId; var doc options.doc || document; var el doc.getElementById(id); if(el) { el.parentNode.removeChild(el); }};})(jQuery);//>/script>script typetext/javascript>//!CDATAif(useJavaSaver) document.write(applet styleposition:absolute;left:-1px nameTiddlySaver codeTiddlySaver.class archiveTiddlySaver.jar width1 height1>/applet>);//>/script>!--POST-SCRIPT-START-->!--POST-SCRIPT-END-->/body>/html>
Port 443
HTTP/1.1 200 OKDate: Wed, 23 Oct 2024 06:16:53 GMTServer: ApacheLast-Modified: Fri, 14 Jun 2024 18:06:31 GMTAccept-Ranges: bytesContent-Length: 670771Content-Type: text/html !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd>html xmlnshttp://www.w3.org/1999/xhtml xml:langpt langpt>head>script idversionArea typetext/javascript>//!CDATAvar version {title: TiddlyWiki, major: 2, minor: 8, revision: 1, date: new Date(June 23, 2013), extensions: {}};//>/script>meta http-equivContent-Type contenttext/html;charsetutf-8 />meta namecopyright contentTiddlyWiki created by Jeremy Ruston, (jeremy at osmosoft dot com)Copyright (c) Jeremy Ruston 2004-2007Copyright (c) UnaMesa Association 2007-2012Redistribution and use in source and binary forms, with or without modification,are permitted provided that the following conditions are met:Redistributions of source code must retain the above copyright notice, thislist of conditions and the following disclaimer.Redistributions in binary form must reproduce the above copyright notice, thislist of conditions and the following disclaimer in the documentation and/or othermaterials provided with the distribution.Neither the name of the UnaMesa Association nor the names of its contributors may beused to endorse or promote products derived from this software without specificprior written permission.THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANYEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIESOF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENTSHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITEDTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; ORBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER INCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING INANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCHDAMAGE. />!--PRE-HEAD-START-->!--{{{-->link relalternate typeapplication/rss+xml titleRSS hrefindex.xml />!--}}}-->!--PRE-HEAD-END-->title> Blank Curso /title>style idstyleArea typetext/css>#saveTest {display:none;}#messageArea {display:none;}#copyright {display:none;}#storeArea {display:none;}#storeArea div {padding:0.5em; margin:1em 0em 0em 0em; border-color:#fff #666 #444 #ddd; border-style:solid; border-width:2px; overflow:auto;}#shadowArea {display:none;}#javascriptWarning {width:100%; text-align:center; font-weight:bold; background-color:#dd1100; color:#fff; padding:1em 0em;}/style>!--POST-HEAD-START-->!--POST-HEAD-END-->/head>body onloadmain(); onunloadif(window.unload) unload();>!--PRE-BODY-START-->!--PRE-BODY-END-->div idcopyright>Welcome to TiddlyWiki created by Jeremy Ruston; Copyright © 2004-2007 Jeremy Ruston, Copyright © 2007-2011 UnaMesa Association/div>noscript>div idjavascriptWarning>This page requires JavaScript to function properly.br />br />If you are using Microsoft Internet Explorer you may need to click on the yellow bar above and select Allow Blocked Content. You must then click Yes on the following security warning./div>/noscript>div idsaveTest>/div>div idbackstageCloak>/div>div idbackstageButton>/div>div idbackstageArea>div idbackstageToolbar>/div>/div>div idbackstage> div idbackstagePanel>/div>/div>div idcontentWrapper>/div>div idcontentStash>/div>div idshadowArea>div titleColorPalette>pre>Background: #fffForeground: #000PrimaryPale: #8cfPrimaryLight: #18fPrimaryMid: #04bPrimaryDark: #014SecondaryPale: #ffcSecondaryLight: #fe8SecondaryMid: #db4SecondaryDark: #841TertiaryPale: #eeeTertiaryLight: #cccTertiaryMid: #999TertiaryDark: #666Error: #f88/pre>/div>div titleEditTemplate>pre><!--{{{--><div classtoolbar macrotoolbar ToolbarCommands::EditToolbar></div><div classtitle macroview title></div><div classeditor macroedit title></div><div macroannotations></div><div classeditor macroedit text></div><div classeditor macroedit tags></div><div classeditorFooter><span macromessage views.editor.tagPrompt></span><span macrotagChooser excludeLists></span></div><!--}}}-->/pre>/div>div titleGettingStarted>pre>To get started with this blank TiddlyWiki, youll need to modify the following tiddlers:* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)* MainMenu: The menu (usually on the left)* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is openedYoull also need to enter your username for signing your edits: <<option txtUserName>>/pre>/div>div titleImportTiddlers>pre><<importTiddlers>>/pre>/div>div titleMarkupPreHead>pre><!--{{{--><link relalternate typeapplication/rss+xml titleRSS hrefindex.xml /><!--}}}-->/pre>/div>div titleOptionsPanel>pre>These InterfaceOptions for customising TiddlyWiki are saved in your browserYour username for signing your edits. Write it as a WikiWord (eg JoeBloggs)<<option txtUserName>><<option chkSaveBackups>> SaveBackups<<option chkAutoSave>> AutoSave<<option chkRegExpSearch>> RegExpSearch<<option chkCaseSensitiveSearch>> CaseSensitiveSearch<<option chkAnimate>> EnableAnimations----Also see AdvancedOptions/pre>/div>div titlePageTemplate>pre><!--{{{--><div classheader rolebanner macrogradient vert ColorPalette::PrimaryLight ColorPalette::PrimaryMid><div classheaderShadow><span classsiteTitle refreshcontent tiddlerSiteTitle></span> <span classsiteSubtitle refreshcontent tiddlerSiteSubtitle></span></div><div classheaderForeground><span classsiteTitle refreshcontent tiddlerSiteTitle></span> <span classsiteSubtitle refreshcontent tiddlerSiteSubtitle></span></div></div><div idmainMenu rolenavigation refreshcontent tiddlerMainMenu></div><div idsidebar><div idsidebarOptions rolenavigation refreshcontent tiddlerSideBarOptions></div><div idsidebarTabs rolecomplementary refreshcontent forcetrue tiddlerSideBarTabs></div></div><div iddisplayArea rolemain><div idmessageArea></div><div idtiddlerDisplay></div></div><!--}}}-->/pre>/div>div titleStyleSheetColors>pre>/*{{{*/body {background:ColorPalette::Background; color:ColorPalette::Foreground;}a {color:ColorPalette::PrimaryMid;}a:hover {background-color:ColorPalette::PrimaryMid; color:ColorPalette::Background;}a img {border:0;}h1,h2,h3,h4,h5,h6 {color:ColorPalette::SecondaryDark; background:transparent;}h1 {border-bottom:2px solid ColorPalette::TertiaryLight;}h2,h3 {border-bottom:1px solid ColorPalette::TertiaryLight;}.button {color:ColorPalette::PrimaryDark; border:1px solid ColorPalette::Background;}.button:hover {color:ColorPalette::PrimaryDark; background:ColorPalette::SecondaryLight; border-color:ColorPalette::SecondaryMid;}.button:active {color:ColorPalette::Background; background:ColorPalette::SecondaryMid; border:1px solid ColorPalette::SecondaryDark;}.header {background:ColorPalette::PrimaryMid;}.headerShadow {color:ColorPalette::Foreground;}.headerShadow a {font-weight:normal; color:ColorPalette::Foreground;}.headerForeground {color:ColorPalette::Background;}.headerForeground a {font-weight:normal; color:ColorPalette::PrimaryPale;}.tabSelected {color:ColorPalette::PrimaryDark; background:ColorPalette::TertiaryPale; border-left:1px solid ColorPalette::TertiaryLight; border-top:1px solid ColorPalette::TertiaryLight; border-right:1px solid ColorPalette::TertiaryLight;}.tabUnselected {color:ColorPalette::Background; background:ColorPalette::TertiaryMid;}.tabContents {color:ColorPalette::PrimaryDark; background:ColorPalette::TertiaryPale; border:1px solid ColorPalette::TertiaryLight;}.tabContents .button {border:0;}#sidebar {}#sidebarOptions input {border:1px solid ColorPalette::PrimaryMid;}#sidebarOptions .sliderPanel {background:ColorPalette::PrimaryPale;}#sidebarOptions .sliderPanel a {border:none;color:ColorPalette::PrimaryMid;}#sidebarOptions .sliderPanel a:hover {color:ColorPalette::Background; background:ColorPalette::PrimaryMid;}#sidebarOptions .sliderPanel a:active {color:ColorPalette::PrimaryMid; background:ColorPalette::Background;}.wizard {background:ColorPalette::PrimaryPale; border:1px solid ColorPalette::PrimaryMid;}.wizard h1 {color:ColorPalette::PrimaryDark; border:none;}.wizard h2 {color:ColorPalette::Foreground; border:none;}.wizardStep {background:ColorPalette::Background; color:ColorPalette::Foreground; border:1px solid ColorPalette::PrimaryMid;}.wizardStep.wizardStepDone {background:ColorPalette::TertiaryLight;}.wizardFooter {background:ColorPalette::PrimaryPale;}.wizardFooter .status {background:ColorPalette::PrimaryDark; color:ColorPalette::Background;}.wizard .button {color:ColorPalette::Foreground; background:ColorPalette::SecondaryLight; border: 1px solid; border-color:ColorPalette::SecondaryPale ColorPalette::SecondaryDark ColorPalette::SecondaryDark ColorPalette::SecondaryPale;}.wizard .button:hover {color:ColorPalette::Foreground; background:ColorPalette::Background;}.wizard .button:active {color:ColorPalette::Background; background:ColorPalette::Foreground; border: 1px solid; border-color:ColorPalette::PrimaryDark ColorPalette::PrimaryPale ColorPalette::PrimaryPale ColorPalette::PrimaryDark;}.wizard .notChanged {background:transparent;}.wizard .changedLocally {background:#80ff80;}.wizard .changedServer {background:#8080ff;}.wizard .changedBoth {background:#ff8080;}.wizard .notFound {background:#ffff80;}.wizard .putToServer {background:#ff80ff;}.wizard .gotFromServer {background:#80ffff;}#messageArea {border:1px solid ColorPalette::SecondaryMid; background:ColorPalette::SecondaryLight; color:ColorPalette::Foreground;}#messageArea .button {color:ColorPalette::PrimaryMid; background:ColorPalette::SecondaryPale; border:none;}.popupTiddler {background:ColorPalette::TertiaryPale; border:2px solid ColorPalette::TertiaryMid;}.popup {background:ColorPalette::TertiaryPale; color:ColorPalette::TertiaryDark; border-left:1px solid ColorPalette::TertiaryMid; border-top:1px solid ColorPalette::TertiaryMid; border-right:2px solid ColorPalette::TertiaryDark; border-bottom:2px solid ColorPalette::TertiaryDark;}.popup hr {color:ColorPalette::PrimaryDark; background:ColorPalette::PrimaryDark; border-bottom:1px;}.popup li.disabled {color:ColorPalette::TertiaryMid;}.popup li a, .popup li a:visited {color:ColorPalette::Foreground; border: none;}.popup li a:hover {background:ColorPalette::SecondaryLight; color:ColorPalette::Foreground; border: none;}.popup li a:active {background:ColorPalette::SecondaryPale; color:ColorPalette::Foreground; border: none;}.popupHighlight {background:ColorPalette::Background; color:ColorPalette::Foreground;}.listBreak div {border-bottom:1px solid ColorPalette::TertiaryDark;}.tiddler .defaultCommand {font-weight:bold;}.shadow .title {color:ColorPalette::TertiaryDark;}.title {color:ColorPalette::SecondaryDark;}.subtitle {color:ColorPalette::TertiaryDark;}.toolbar {color:ColorPalette::PrimaryMid;}.toolbar a {color:ColorPalette::TertiaryLight;}.selected .toolbar a {color:ColorPalette::TertiaryMid;}.selected .toolbar a:hover {color:ColorPalette::Foreground;}.tagging, .tagged {border:1px solid ColorPalette::TertiaryPale; background-color:ColorPalette::TertiaryPale;}.selected .tagging, .selected .tagged {background-color:ColorPalette::TertiaryLight; border:1px solid ColorPalette::TertiaryMid;}.tagging .listTitle, .tagged .listTitle {color:ColorPalette::PrimaryDark;}.tagging .button, .tagged .button {border:none;}.footer {color:ColorPalette::TertiaryLight;}.selected .footer {color:ColorPalette::TertiaryMid;}.error, .errorButton {color:ColorPalette::Foreground; background:ColorPalette::Error;}.warning {color:ColorPalette::Foreground; background:ColorPalette::SecondaryPale;}.lowlight {background:ColorPalette::TertiaryLight;}.zoomer {background:none; color:ColorPalette::TertiaryMid; border:3px solid ColorPalette::TertiaryMid;}.imageLink, #displayArea .imageLink {background:transparent;}.annotation {background:ColorPalette::SecondaryLight; color:ColorPalette::Foreground; border:2px solid ColorPalette::SecondaryMid;}.viewer .listTitle {list-style-type:none; margin-left:-2em;}.viewer .button {border:1px solid ColorPalette::SecondaryMid;}.viewer blockquote {border-left:3px solid ColorPalette::TertiaryDark;}.viewer table, table.twtable {border:2px solid ColorPalette::TertiaryDark;}.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:ColorPalette::SecondaryMid; border:1px solid ColorPalette::TertiaryDark; color:ColorPalette::Background;}.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid ColorPalette::TertiaryDark;}.viewer pre {border:1px solid ColorPalette::SecondaryLight; background:ColorPalette::SecondaryPale;}.viewer code {color:ColorPalette::SecondaryDark;}.viewer hr {border:0; border-top:dashed 1px ColorPalette::TertiaryDark; color:ColorPalette::TertiaryDark;}.highlight, .marked {background:ColorPalette::SecondaryLight;}.editor input {border:1px solid ColorPalette::PrimaryMid;}.editor textarea {border:1px solid ColorPalette::PrimaryMid; width:100%;}.editorFooter {color:ColorPalette::TertiaryMid;}.readOnly {background:ColorPalette::TertiaryPale;}#backstageArea {background:ColorPalette::Foreground; color:ColorPalette::TertiaryMid;}#backstageArea a {background:ColorPalette::Foreground; color:ColorPalette::Background; border:none;}#backstageArea a:hover {background:ColorPalette::SecondaryLight; color:ColorPalette::Foreground; }#backstageArea a.backstageSelTab {background:ColorPalette::Background; color:ColorPalette::Foreground;}#backstageButton a {background:none; color:ColorPalette::Background; border:none;}#backstageButton a:hover {background:ColorPalette::Foreground; color:ColorPalette::Background; border:none;}#backstagePanel {background:ColorPalette::Background; border-color: ColorPalette::Background ColorPalette::TertiaryDark ColorPalette::TertiaryDark ColorPalette::TertiaryDark;}.backstagePanelFooter .button {border:none; color:ColorPalette::Background;}.backstagePanelFooter .button:hover {color:ColorPalette::Foreground;}#backstageCloak {background:ColorPalette::Foreground; opacity:0.6; filter:alpha(opacity60);}/*}}}*//pre>/div>div titleStyleSheetLayout>pre>/*{{{*/* html .tiddler {height:1%;}body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}h4,h5,h6 {margin-top:1em;}h1 {font-size:1.35em;}h2 {font-size:1.25em;}h3 {font-size:1.1em;}h4 {font-size:1em;}h5 {font-size:.9em;}hr {height:1px;}a {text-decoration:none;}dt {font-weight:bold;}ol {list-style-type:decimal;}ol ol {list-style-type:lower-alpha;}ol ol ol {list-style-type:lower-roman;}ol ol ol ol {list-style-type:decimal;}ol ol ol ol ol {list-style-type:lower-alpha;}ol ol ol ol ol ol {list-style-type:lower-roman;}ol ol ol ol ol ol ol {list-style-type:decimal;}.txtOptionInput {width:11em;}#contentWrapper .chkOptionInput {border:0;}.externalLink {text-decoration:underline;}.indent {margin-left:3em;}.outdent {margin-left:3em; text-indent:-3em;}code.escaped {white-space:nowrap;}.tiddlyLinkExisting {font-weight:bold;}.tiddlyLinkNonExisting {font-style:italic;}/* the a is required for IE, otherwise it renders the whole tiddler in bold */a.tiddlyLinkNonExisting.shadow {font-weight:bold;}#mainMenu .tiddlyLinkExisting, #mainMenu .tiddlyLinkNonExisting, #sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}.header {position:relative;}.header a:hover {background:transparent;}.headerShadow {position:relative; padding:4.5em 0 1em 1em; left:-1px; top:-1px;}.headerForeground {position:absolute; padding:4.5em 0 1em 1em; left:0; top:0;}.siteTitle {font-size:3em;}.siteSubtitle {font-size:1.2em;}#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}#sidebarOptions {padding-top:0.3em;}#sidebarOptions a {margin:0 0.2em; padding:0.2em 0.3em; display:block;}#sidebarOptions input {margin:0.4em 0.5em;}#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}#sidebarOptions .sliderPanel input {margin:0 0 0.3em 0;}#sidebarTabs .tabContents {width:15em; overflow:hidden;}.wizard {padding:0.1em 1em 0 2em;}.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}.wizardStep {padding:1em 1em 1em 1em;}.wizard .button {margin:0.5em 0 0; font-size:1.2em;}.wizardFooter {padding:0.8em 0.4em 0.8em 0;}.wizardFooter .status {padding:0 0.4em; margin-left:1em;}.wizard .button {padding:0.1em 0.2em;}#messageArea {position:fixed; top:2em; right:0; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}.messageToolbar {display:block; text-align:right; padding:0.2em;}#messageArea a {text-decoration:underline;}.tiddlerPopupButton {padding:0.2em;}.popupTiddler {position: absolute; z-index:300; padding:1em; margin:0;}.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}.popup .popupMessage {padding:0.4em;}.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0;}.popup li.disabled {padding:0.4em;}.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}.listBreak {font-size:1px; line-height:1px;}.listBreak div {margin:2px 0;}.tabset {padding:1em 0 0 0.5em;}.tab {margin:0 0 0 0.25em; padding:2px;}.tabContents {padding:0.5em;}.tabContents ul, .tabContents ol {margin:0; padding:0;}.txtMainTab .tabContents li {list-style:none;}.tabContents li.listLink { margin-left:.75em;}#contentWrapper {display:block;}#splashScreen {display:none;}#displayArea {margin:1em 17em 0 14em;}.toolbar {text-align:right; font-size:.9em;}.tiddler {padding:1em 1em 0;}.missing .viewer,.missing .title {font-style:italic;}.title {font-size:1.6em; font-weight:bold;}.missing .subtitle {display:none;}.subtitle {font-size:1.1em;}.tiddler .button {padding:0.2em 0.4em;}.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}.isTag .tagging {display:block;}.tagged {margin:0.5em; float:right;}.tagging, .tagged {font-size:0.9em; padding:0.25em;}.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}.tagClear {clear:both;}.footer {font-size:.9em;}.footer li {display:inline;}.annotation {padding:0.5em; margin:0.5em;}* html .viewer pre {width:99%; padding:0 0 1em 0;}.viewer {line-height:1.4em; padding-top:0.5em;}.viewer .button {margin:0 0.25em; padding:0 0.25em;}.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}table.listView {font-size:0.85em; margin:0.8em 1.0em;}table.listView th, table.listView td, table.listView tr {padding:0 3px 0 3px;}.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}.viewer code {font-size:1.2em; line-height:1.4em;}.editor {font-size:1.1em;}.editor input, .editor textarea {display:block; width:100%; font:inherit;}.editorFooter {padding:0.25em 0; font-size:.9em;}.editorFooter .button {padding-top:0; padding-bottom:0;}.fieldsetFix {border:0; padding:0; margin:1px 0px;}.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}.zoomer div {padding:1em;}* html #backstage {width:99%;}* html #backstageArea {width:99%;}#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em;}#backstageToolbar {position:relative;}#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}#backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}#backstageButton a {padding:0.1em 0.4em; margin:0.1em;}#backstage {position:relative; width:100%; z-index:50;}#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}.backstagePanelFooter {padding-top:0.2em; float:right;}.backstagePanelFooter a {padding:0.2em 0.4em;}#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}.whenBackstage {display:none;}.backstageVisible .whenBackstage {display:block;}/*}}}*//pre>/div>div titleStyleSheetLocale>pre>/***StyleSheet for use when a translation requires any css style changes.This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.***//*{{{*/body {font-size:0.8em;}#sidebarOptions {font-size:1.05em;}#sidebarOptions a {font-style:normal;}#sidebarOptions .sliderPanel {font-size:0.95em;}.subtitle {font-size:0.8em;}.viewer table.listView {font-size:0.95em;}/*}}}*//pre>/div>div titleStyleSheetPrint>pre>/*{{{*/@media print {#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}#displayArea {margin: 1em 1em 0em;}noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */}/*}}}*//pre>/div>div titleViewTemplate>pre><!--{{{--><div classtoolbar rolenavigation macrotoolbar ToolbarCommands::ViewToolbar></div><div classtitle macroview title></div><div classsubtitle><span macroview modifier link></span>, <span macroview modified date></span> (<span macromessage views.wikified.createdPrompt></span> <span macroview created date></span>)</div><div classtagging macrotagging></div><div classtagged macrotags></div><div classviewer macroview text wikified></div><div classtagClear></div><!--}}}-->/pre>/div>/div>!--POST-SHADOWAREA-->div idstoreArea>div titleBem Vindo modifierOSeuNome created201807270309 modified202004151855 tagsexcludeLists sistem server.page.revision201909290434 server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.typefile changecount8>pre><script>if(!localStorage.username){return "Parece que essa é sua primeira visita em nossa página. Por favor, faça o login, o sistema se lembrará de você. Caso você precise acessar por computadores diferentes ou você limper os registros do navegador....será preciso fazer o login|Login novamente.<br>"}</script>A esquerda estão os links da navegação para o curso. Clicar neles para acessar as áreas de seu interesse.Nos links você pode ver apresentações feitas anteriormente, temas estudados, listas dos participantes e...muito mais!!!! Navegar e ver o que você pode encontrar!!!Em caso que achas links ou partes quais não estam funcionando, me mandar email ou whatsapp, como os detalhes e vou acertar o mais rapido posivel.SKYE.<script>sessionStorage.continuando"";config.options.chkUploadTiddlerfalse;</script>/pre>/div>div titleBlogLogin creatorOSeuNome modifierOSeuNome created202101202254 modified202101221543 tagsnoTitle changecount19>pre>Em caso que voce participo em no curso PDC oferecidos por SEDUC, voce só precisa confirma, e voce tem accesso a plataforma dirietamente:-<script>config.options.txtUsernamelocalStorage.username;config.options.cursolocalStorage.curso;config.options.txtEmaillocalStorage.email;</script><<option txtUsername>> Nome<<option txtCurso>> Curso<script label"Confirma Curso">if(config.options.txtUsername"undefined"){return "<br>Aparece o plataforma te esqueci, qual foi seu nome no curso?";}localStorage.usernameconfig.options.txtUsername;localStorage.cursoconfig.options.txtCurso;if(localStorage.email"undefined"){var emailprompt("Aparece esquecemos seu email, porfavor digitar seu email institucinal");localStorage.emailemail;}var lista""; var xmlHttp null; xmlHttp new XMLHttpRequest(); var discFilelocalStorage.curso+".txt";//return discFile; xmlHttp.open( "GET",discFile, false); xmlHttp.send( null ); var indexListaxmlHttp.responseText;if(localStorage.curso"PDCProfs"){//return "lists"+indexLista;if(indexLista.indexOf(config.options.txtUsername)-1){return "<br><br>{{big{Não tenho esse Nome na lista autorizada.... redigitar seu nome e tentar de novo}}}";}}if(localStorage.curso!"PDCProfs"){if(indexLista.indexOf(localStorage.email)-1){return "<br><br>{{big{Não tenho esse Email na lista autorizada.... redigitar seu email (institucional) e tentar de novo}}}";}}localStorage.usernameconfig.options.txtUsername;if(localStorage.whatsapp"undefined"){var whatsappprompt("Puxa...não temos seu numero de Whatsapp tambem....qual é?");localStorage.whatsappwhatsapp;}localStorage.language"br";if(localStorage.escla"undefined"){var escolaprompt("Puxa...tampouco não sabemos qual é sua escola tambem....qual é?");localStorage.escolaescola;}if(localStorage.disciplina"undefined"){var disciplinaprompt("Puxa...e sua disciplina tambem....qual é?");localStorage.disciplinadisciplina;}localStorage.escolasResilientes"aprovado";var Osnavigator.userAgent;//if(Os.indexOf("Android")!-1){window.location"http://www.unigaia-brasil.org/PDC/android";}window.location"http://www.unigaia-brasil.org/EscolasBlog/index.html";</script>----Em caso que você ainda não faz curso do PDC com SEDUC, mas você é um professor em uma escola EMTI em Ceará, por favor completar esses detalhes. Esse forma mandara um email para Skye, pedindo que ele se autoriza entrar a plataforma. Ele se responda por whatsapp o mais rápido possível. Grato.<<option txtNome>>Nome<<option txtEscola>>Escola (EMTI.....)<<option txtDisciplina>>Seu Disciplina Principal<<option txtEmail>> Email, institucional<script label"Mandar Email">localStorage.usernameconfig.options.txtNome;localStorage.escolaconfig.options.txtEscola;localStorage.disciplinaconfig.options.txtDisciplina;localStorage.emailconfig.options.txtEmail;localStorage.escolasResilientes"pending";localStorage.curso"Escolas_Resilientes";return <script src"pedirBlogsClearance.php?Nome+config.options.txtNome+&Escola+config.options.txtEscola+&Disciplina+config.options.txtDisciplina+&Email+config.options.txtEmail+">return "<br>{{big{Mandamos seu email a Skye, espera por ele responde}}}";</scr+ipt>;</script>/pre>/div>div titleCompleta_Registro creatorOSeuNome modifierOSeuNome created202101212151 modified202101212311 changecount4>pre><script>config.options.txtCursolocalStorage.curso;if(localStorage.username){config.options.txtUsernamelocalStorage.username;}else{config.options.txtUsername"";}if(localStorage.email){config.options.txtEmaillocalStorage.email;}else{config.options.txtEmail"";}config.options.txtWhatsApp"";if(localStorage.language){config.options.txtLanguagelocalStorage.language;}else{config.options.txtLanguage"";}</script><<option txtCurso>> Codigo do Curso<<option txtUsername>> Nome Login (simples, sem espacos, sem acentos)<<option txtEmail>> Seu email<<option txtWhatsApp>> Seu telefone(do Whatsapp)..lembra o DDD{{bookmarklet{<script label"Completar seu Registração"> //// verifica com lista dos alunos do curso!!! - quando aluno paga...criar sua pasta com senha e arquivos necesarios! var xmlHttp null; xmlHttp new XMLHttpRequest(); var discFilelocalStorage.curso+"/.txt";//return discFile; xmlHttp.open( "GET",discFile, false); xmlHttp.send( null ); var indexListaxmlHttp.responseText;if(xmlHttp.status!"200"){alerta("Aparece isso não é um curso valido");return "";}if(indexLista.indexOf(localStorage.email)-1){return "<br><br>{{big{Não tenho esse Email na lista autorizada.... redigitar seu email e tentar de novo}}}";}if(indexLista.indexOf(localStorage.email)!-1){if(config.options.txtWhatsApp"undefined"){return "<br>Não tem Whatsapp, por minimo precisamos um numero telefone!";}localStorage.whatsappconfig.options.txtWhatsApp;if(localStorage.curso"PDC_Individual"){localStorage.PDCIndividual"aprovado";}if(localStorage.curso"AdaptaProfunda"){localStorage.AdapatProfunda"aprovado";}if(localStorage.curso"IntroPC"){localStorage.IntroPC"aprovado";}if(localStorage.curso"EscolasResilientes"){localStorage.EscolasResilientes"aprovado";}var Osnavigator.userAgent;//if(Os.indexOf("Android")!-1){window.location"http://www.unigaia-brasil.org/PDC/android";}return <script src"chkLogin.php?Nome+localStorage.name+&Username+localStorage.username+&Curso+localStorage.curso+&Email+localStorage.email+&WhatsApp+localStorage.whatsapp+&Language+localStorage.language+"></scr+ipt>;window.locationhttp://www.unigaia-brasil.org/+localStorage.curso/index.html";</script>/pre>/div>div titleConfigTweaks modifierELSDesignStudios created200603110808 modified200811121616 tagsexcludeLists systemConfig server.typefile server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.page.revision200811121616>pre>//{{{// re-label default text for some standard UI elementsconfig.commands.permalink.text"link";config.commands.references.text"references";merge(config.macros.toolbar,{ moreLabel: more\u25BC, lessLabel: \u25C4less });// allows custom response when tiddler does not exist (e.g. redirection to alternative tiddler)config.shadowTiddlers.MissingTiddlerconfig.views.wikified.defaultText.replace(/%0/,$1); // default to standard messageconfig.views.wikified.defaultText<<tiddler MissingTiddler with: %0>>;// wrap AdvancedOptions and PluginManager default content in a groupbox (and use a smaller font)config.shadowTiddlers.AdvancedOptions config.shadowTiddlers.AdvancedOptions.replace( /<<options>>/, "{{small groupbox{<<options>>}}}");config.shadowTiddlers.PluginManager config.shadowTiddlers.PluginManager.replace( /<<plugins>>/, "{{small groupbox{<<plugins>>}}}");// message used by ConfirmExitPlugin when no changes have been madeconfig.messages.confirmExit_nochanges\tTiddlyTools... Small Tools for Big Ideas™\n\t +store.getTiddlerText("SiteUrl",document.location.protocol"http"?document.location.href:"");//}}}/pre>/div>div titleCoreTweaks modifierELSDesignStudios created200608201502 modified201112270158 tagsexcludeLists systemConfig server.typefile server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.page.revision201112270158>pre>/***|Name|CoreTweaks||Source|http://www.TiddlyTools.com/#CoreTweaks||Version|||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.2.0||Type|plugin||Description|a small collection of overrides to TW core functions|This tiddler contains small changes to TW core functions that correct or enhance standard features or behaviors.***///{{{// calculate TW version number - used to determine which tweaks should be appliedvar verversion.major+version.minor/10+version.revision/100;//}}}/***----***/// // closed: wont fix //(leave as core tweaks)//// // {{block{/***!!!637 TiddlyLink tooltip - custom formatting***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/637 - CLOSED: WONT FIXThis tweak modifies the tooltip format that appears when you mouseover a link to a tiddler. It adds an option to control the date format, as well as displaying the size of the tiddler (in bytes)Tiddler link tooltip format:{{stretch{<<option txtTiddlerLinkTootip>>}}}^^where: %0title, %1username, %2modification date, %3size in bytes, %4description slice, %5first N characters of tiddler content^^Tiddler link tooltip date format:{{stretch{<<option txtTiddlerLinkTooltipDate>>}}}Tiddler excerpt limit (chars):{{stretch{<<option txtTiddlerLinkTooltipLimit>>}}}***///{{{config.messages.tiddlerLinkTooltip%0 - %1, %2 (%3 bytes) - %4;config.messages.tiddlerLinkTooltipDateDDD, MMM DDth YYYY 0hh12:0mm AM;config.messages.tiddlerLinkTooltipLimit50;config.options.txtTiddlerLinkTootip config.options.txtTiddlerLinkTootip||config.messages.tiddlerLinkTooltip;config.options.txtTiddlerLinkTooltipDate config.options.txtTiddlerLinkTooltipDate||config.messages.tiddlerLinkTooltipDate;config.options.txtTiddlerLinkTooltipLimit config.options.txtTiddlerLinkTooltipLimit||config.messages.tiddlerLinkTooltipLimit;Tiddler.prototype.getSubtitle function() { var modifier this.modifier; if(!modifier) modifier config.messages.subtitleUnknown; var modified this.modified; if(modified) modified modified.formatString(config.options.txtTiddlerLinkTooltipDate); else modified config.messages.subtitleUnknown; var descrstore.getTiddlerSlice(this.title,Description)||; var txtthis.text.substr(0,config.options.txtTiddlerLinkTooltipLimit); if (this.text.length>config.options.txtTiddlerLinkTooltipLimit) txt+"..."; return config.options.txtTiddlerLinkTootip.format(this.title,modifier,modified,this.text.length,descr,txt);};//}}}// // }}}}}}// // {{block{/***!!!607 add HREF link on permaview command***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/607 - CLOSED: WONT FIXThis tweak automatically sets the HREF for the permaview sidebar command link so you can use the right click context menu for faster, easier bookmarking. Note that this does not automatically set the permaview in the browsers current location URL... it just sets the HREF on the command link. You still have to click the link to apply the permaview.***///{{{config.macros.permaview.handler function(place){ var btncreateTiddlyButton(place,this.label,this.prompt,this.onClick); addEvent(btn,mouseover,this.setHREF); addEvent(btn,focus,this.setHREF);};config.macros.permaview.setHREF function(event){ var links ; story.forEachTiddler(function(title,element) { links.push(String.encodeTiddlyLink(title)); }); var newURLdocument.location.href; var hashPosnewURL.indexOf(#); if (hashPos!-1) newURLnewURL.substr(0,hashPos); this.hrefnewURL+#+encodeURIComponent(links.join( ));}//}}}// // }}}}}}// // {{block{/***!!!458 add permalink-like HREFs on internal TiddlyLinks***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/458 - CLOSED: WONT FIXThis tweak assigns a permalink-like HREF to internal Tiddler links (which normally do not have any HREF defined). This permits the links context menu (right-click) to include open link in another window/tab command. Based on a request from Dustin Spicuzza.***///{{{window.coreTweaks_createTiddlyLinkwindow.createTiddlyLink;window.createTiddlyLinkfunction(place,title,includeText,theClass,isStatic,linkedFromTiddler,noToggle){ // create the core button, then add the HREF (to internal links only) var linkwindow.coreTweaks_createTiddlyLink.apply(this,arguments); if (!isStatic) link.hrefdocument.location.href.split(#)0+#+encodeURIComponent(String.encodeTiddlyLink(title)); return link;}//}}}// // }}}}}}// // to be fixed in 2.6.0:// // {{block{/***!!!1151 adjust popup placement when root element is in scrolled DIV***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/1151When a popup link is placed inside a DIV with style "overflow:scroll" or "overflow:auto" and that DIV is then scrolled, the position of the resulting popup appears further down the page that intended, because it is not adjusting for the relative scroll offset of the containing DIV. This tweak patches the Popup.place() function to calculate and subtract the current scroll offset from the computed popup position, so that it appears in the correct location on the page.Test case: //(scroll to the bottom of this DIV and click on "test popup")//{{groupbox{ <<tiddler ScrollBox with: CoreTweaks##1151test 12em>>}}}/%!1151test<<tiddler About>><<showPopup tiddler:About label:"test popup" tip:About popupClass:sticky>>!end%/***///{{{window.findScrollOffsetXfunction(obj) { var x0; while(obj) { if (obj.scrollLeft && obj.nodeName!HTML) x+obj.scrollLeft; objobj.parentNode; } return -x;}window.findScrollOffsetYfunction(obj) { var y0; while(obj) { if (obj.scrollTop && obj.nodeName!HTML) y+obj.scrollTop; objobj.parentNode; } return -y;}var fnPopup.place.toString();if (fn.indexOf(findScrollOffsetX)-1) { // only once fnfn.replace(/var\s*rootLeft\s*/,var rootLeft window.findScrollOffsetX(root) +); fnfn.replace(/var\s*rootTop\s*/,var rootTop window.findScrollOffsetY(root) +); eval(Popup.place+fn);}//}}}// // }}}}}}// // {{block{/***!!!1147 tiddler macro with params does not refresh***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/1147when the {{{<<tiddler SomeTiddler>>}}} macro is handled, the resulting span has extra attributes: {{{refreshcontent}}} and {{{tiddlerSomeTiddler}}}. If SomeTiddler is changed, {{{store.notify(SomeTiddler)}}} triggers {{{refreshDisplay()}}}, which automatically re-renders transcluded content in any span that has these extra attributes. However, when additional arguments are passed by using {{{<<tiddler SomeTiddler with: arg arg arg ...>>}}} then the resulting span does NOT get the extra attributes noted above and, as a consequence, the transcluded content is not being refreshed, even though the underlying tiddler has changedTo correct this, in {{{config.macros.tiddler.handler}}}:*set the refresh and tiddler attributes even when arguments are present in the macro*store the arguments themselves in an attribute (e.g, args), using as a space-separated, bracketed listThen, in {{{config.refreshers.content}}}:*retrieve the stored arguments (if any) and the tiddler source*substitute arguments into source and re-render the span with the updated content***///{{{config.refreshers.contentfunction(e,changeList) { var title e.getAttribute("tiddler"); var force e.getAttribute("force"); var args e.getAttribute("args"); // ADDED if(force ! null || changeList null || changeList.indexOf(title) ! -1) { removeChildren(e);// wikify(store.getTiddlerText(title,""),e,null,store.fetchTiddler(title)); // REMOVED config.macros.tiddler.transclude(e,title,args); // ADDED return true; } else return false;};config.macros.tiddler.handlerfunction(place,macroName,params,wikifier,paramString,tiddler) { params paramString.parseParams("name",null,true,false,true); var names params0"name"; var tiddlerName names0; var className names1 || null; var args params0"with"; var wrapper createTiddlyElement(place,"span",null,className);// if(!args) { // REMOVED wrapper.setAttribute("refresh","content"); wrapper.setAttribute("tiddler",tiddlerName);// } // REMOVED if(args!undefined) wrapper.setAttribute("args",+args.join( )+); // ADDED this.transclude(wrapper,tiddlerName,args); // REFACTORED TO ...tiddler.transclude}// REFACTORED FROM ...tiddler.handlerconfig.macros.tiddler.transcludefunction(wrapper,tiddlerName,args) { var text store.getTiddlerText(tiddlerName); if (!text) return; var stack config.macros.tiddler.tiddlerStack; if(stack.indexOf(tiddlerName) ! -1) return; stack.push(tiddlerName); try { if (typeof args "string") argsargs.readBracketedList(); // ADDED var n args ? Math.min(args.length,9) : 0; for(var i0; i<n; i++) { var placeholderRE new RegExp("\\$" + (i + 1),"mg"); text text.replace(placeholderRE,argsi); } config.macros.tiddler.renderText(wrapper,text,tiddlerName,null); // REMOVED UNUSED params } finally { stack.pop(); }};//}}}// // }}}}}}// // {{block{/***!!!1134 allow leading whitespace in section headings / TBD handle shadow tiddler sections***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/1134This tweak REPLACES and extends {{{store.getTiddlerText()}}} so it can return sections defined in shadow tiddlers as well as permitting use of leading whitespace in section headings.***///{{{TiddlyWiki.prototype.getTiddlerText function(title,defaultText){ if(!title) return defaultText; var parts title.split(config.textPrimitives.sectionSeparator); var title parts0; var section parts1; var parts title.split(config.textPrimitives.sliceSeparator); var title parts0; var slice parts1?this.getTiddlerSlice(title,parts1):null; if(slice) return slice; var tiddler this.fetchTiddler(title); var text defaultText; if(this.isShadowTiddler(title)) text this.getShadowTiddlerText(title); if(tiddler) text tiddler.text; if(!section) return text; var re new RegExp("(^!{1,6} \t*" + section.escapeRegExp() + " \t*\n)","mg"); re.lastIndex 0; var match re.exec(text); if(match) { var t text.substr(match.index+match1.length); var re2 /^!/mg; re2.lastIndex 0; match re2.exec(t); //# search for the next heading if(match) t t.substr(0,match.index-1);//# dont include final \n return t; } return defaultText;};//}}}// // }}}}}}// // {{block{/***!!!824 ~WindowTitle - alternative to combined ~SiteTitle/~SiteSubtitle in window titlebar***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/824 - OPENThis tweak allows definition of an optional WindowTitle tiddler that, when present, provides alternative text for display in the browser windows titlebar, instead of using the combined text content from SiteTitle and SiteSubtitle (which will still be displayed as usual in the TiddlyWiki document header area).Note: this ticket replaces http://trac.tiddlywiki.org/ticket/401 (closed), which proposed using a custom PageTitle tiddler for this purpose. If you were using the previous 401 ~PageTitle tweak, you will need to rename PageTitle to WindowTitle to continue to use your custom window title text***///{{{config.shadowTiddlers.WindowTitle<<tiddler SiteTitle>> - <<tiddler SiteSubtitle>>;window.getPageTitlefunction() { return wikifyPlain(WindowTitle); }store.addNotification(WindowTitle,refreshPageTitle); // so title stays in sync with tiddler changes//}}}// // }}}}}}// // {{block{/***!!!471 creator field for new tiddlers***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/471 - OPENThis tweak HIJACKS the cores saveTiddler() function to automatically add a creator field to a tiddler when it is FIRST created. You can use """<<view creator>>""" (or """<<view creator wikified>>""" if you prefer) to show this value embedded directly within the tiddler content, or {{{<span macro"view creator"></span>}}} in the ViewTemplate and/or EditTemplate to display the creator value in each tiddler. ***///{{{// hijack saveTiddler()TiddlyWiki.prototype.CoreTweaks_creatorSaveTiddlerTiddlyWiki.prototype.saveTiddler;TiddlyWiki.prototype.saveTiddlerfunction(title,newTitle,newBody,modifier,modified,tags,fields){ var existingstore.tiddlerExists(title); var tiddlerthis.CoreTweaks_creatorSaveTiddler.apply(this,arguments); if (!existing) store.setValue(title,creator,config.options.txtUserName); return tiddler;}//}}}// // }}}}}}// // fixed in ~TW2.4.3// // {{block{/***!!!444 tiddler and place - global variables for use in computed macro parameters***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/444 - CLOSED:FIXED - TW2.4.3 - http://trac.tiddlywiki.org/changeset/8367When invoking a macro, this tweak makes the current containing tiddler object and DOM rendering location available as global variables (window.tiddler and window.place, respectively). These globals can then be used within //computed macro parameters// to retrieve tiddler-relative and/or DOM-relative values or perform tiddler-specific side-effect functionality.***///{{{if (ver<2.43) {window.coreTweaks_invokeMacro window.invokeMacro;window.invokeMacro function(place,macro,params,wikifier,tiddler) { var herestory.findContainingTiddler(place); window.tiddlerhere?store.getTiddler(here.getAttribute(tiddler)):tiddler; window.placeplace; window.coreTweaks_invokeMacro.apply(this,arguments);}}//}}}// // }}}}}}// // fixed in ~TW2.4.2:// // {{block{/***!!!823 apply option values via paramifiers (e.g. #chk...and #txt...)***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/823 - CLOSED:FIXED - TW2.4.2 http://trac.tiddlywiki.org/changeset/7988This tweak extends and //replaces// the core {{{invokeParamifier()}}} function to support use of option paramifiers that set TiddlyWiki option values on-the-fly, directly from a document URL.If a paramifier begins with chk (checkbox) or txt (text field), its value will be automatically stored in {{{config.options.*}}}, adding to or overriding any existing chk or txt option values that may have already been loaded from browser cookies and/or assigned by the TW core or plugin initialization functions using hard-coded default values. Note: option values that have been overriden by paramifiers are only applied during the current document session, and are not //automatically// retained. However, if you edit an overridden option value during that session, then the modified value is, of course, saved in a browser cookie, as usual.***///{{{if (ver<2.42) {function invokeParamifier(params,handler){ if(!params || params.length undefined || params.length < 1) return; for(var t1; t<params.length; t++) { var p config.paramifiersparamst.name; if(p && phandler instanceof Function) phandler(paramst.value); else { // not a paramifier with handler()... check for an option prefix var hconfig.optionHandlersparamst.name.substr(0,3); if (h && h.set instanceof Function) h.set(paramst.name,paramst.value); } }}}//}}}// // }}}}}}// // open tickets:// // {{block{/***!!!608/609/610 toolbars - toggles, separators and transclusion***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/608 - OPEN (more/less toggle)http://trac.tiddlywiki.org/ticket/609 - OPEN (separators)http://trac.tiddlywiki.org/ticket/610 - OPEN (wikify tiddler/slice/section content)This combination tweak extends the """<<toolbar>>""" macro to add use of < to insert a less menu command (the opposite of > more), as well as use of * to insert linebreaks and "!" to insert a vertical line separator between toolbar items. In addition, this tweak add the ability to use references to tiddlernames, slices, or sections and render their content inline within the toolbar, allowing easy creation of new toolbar commands using TW content (such as macros, links, inline scripts, etc.)To produce a one-line style, with "less" at the end, use| ViewToolbar| foo bar baz > yabba dabba doo < |or to use a two-line style with more/less toggle:| ViewToolbar| foo bar baz > < * yabba dabba doo |***///{{{merge(config.macros.toolbar,{ moreLabel: more\u25BC, morePrompt: Show additional commands, lessLabel: \u25C4less, lessPrompt: Hide additional commands, separator: |});config.macros.toolbar.onClickMore function(ev) { var e this.nextSibling; e.style.display inline; // show menu this.style.display none; // hide button return false;};config.macros.toolbar.onClickLess function(ev) { var e this.parentNode; var m e.previousSibling; e.style.display none; // hide menu m.style.display inline; // show button return false;};config.macros.toolbar.handler function(place,macroName,params,wikifier,paramString,tiddler) { for(var t0; t<params.length; t++) { var c paramst; switch(c) { case !: // ELS - SEPARATOR (added) createTiddlyText(place,this.separator); break; case *: // ELS - LINEBREAK (added) createTiddlyElement(place,BR); break; case <: // ELS - LESS COMMAND (added) var btn createTiddlyButton(place, this.lessLabel,this.lessPrompt,config.macros.toolbar.onClickLess,moreCommand); break; case >: var btn createTiddlyButton(place, this.moreLabel,this.morePrompt,config.macros.toolbar.onClickMore,moreCommand); var e createTiddlyElement(place,span,null,moreCommand); e.style.display none; place e; break; default: var theClass ; switch(c.substr(0,1)) { case +: theClass defaultCommand; c c.substr(1); break; case -: theClass cancelCommand; c c.substr(1); break; } if(c in config.commands) this.createCommand(place,c,tiddler,theClass); else { // ELS - WIKIFY TIDDLER/SLICE/SECTION (added) if (c.substr(0,1)~) cc.substr(1); // ignore leading ~ var txtstore.getTiddlerText(c); if (txt) { // trim any leading/trailing newlines txttxt.replace(/^\n*/,).replace(/\n*$/,); // trim PRE format wrapper if any txttxt.replace(/^\{\{\{\n/,).replace(/\n\}\}\}$/,); // render content into toolbar wikify(txt,createTiddlyElement(place,span),null,tiddler); } } // ELS - end WIKIFY CONTENT break; } }};//}}}// // }}}}}}// // {{block{/***!!!529 IE fixup - case-sensitive element lookup of tiddler elements***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/529 - OPENThis tweak hijacks the standard browser function, document.getElementById(), to work-around the case-INsensitivity error in Internet Explorer (all versions up to and including IE7) //Note: This tweak is only applied when using IE, and only for lookups of rendered tiddler elements within the containing tiddlerDisplay element.//***///{{{if (config.browser.isIE) {document.coreTweaks_coreGetElementByIddocument.getElementById;document.getElementByIdfunction(id) { var edocument.coreTweaks_coreGetElementById(id); if (!e || !e.parentNode || e.parentNode.id!tiddlerDisplay) return e; for (var i0; i<e.parentNode.childNodes.length; i++) if (ide.parentNode.childNodesi.id) return e.parentNode.childNodesi; return null;};}//}}}// // }}}}}}// // {{block{/***!!!890 add conditional test to """<<tiddler>>""" macro***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/890 - OPENThis tweak extends the {{{<<tiddler>>}}} macro syntax so you can include a javascript-based //test expression// to determine if the tiddler transclusion should be performed:{{{<<tiddler TiddlerName if:{{...}} with: param param etc.>>}}}If the test is true, then the tiddler is transcluded as usual. If the test is false, then the transclusion is skipped and //no output is produced//.***///{{{config.macros.tiddler.if_handler config.macros.tiddler.handler;config.macros.tiddler.handler function(place,macroName,params,wikifier,paramString,tiddler){ params paramString.parseParams(name,null,true,false,true); if (!getParam(params,if,true)) return; this.if_handler.apply(this,arguments);};//}}}// // }}}}}}// // {{block{/***!!!831 backslash-quoting for embedding newlines in line-mode formats***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/831 - OPENThis tweak pre-processes source content to convert double-backslash-newline into {{{<br>}}} before wikify(), so that literal newlines can be embedded in line-mode wiki syntax (e.g., tables, bullets, etc.)***///{{{window.coreWikify wikify;window.wikify function(source,output,highlightRegExp,tiddler){ if (source) arguments0source.replace(/\\\\\n/mg,<br>); coreWikify.apply(this,arguments);}//}}}// // }}}}}}// // {{block{/***!!!683 FireFox3 Import bug: browse button replacement***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/683 - OPENThe web standard typefile input control that has been used as a local path/file picker for TiddlyWiki no longer works as expected in FireFox3, which has, for security reasons, limited javascript access to this control so that *no* local filesystem path information can be revealed, even when it is intentional and necessary, as it is with TiddlyWiki. This tweak provides alternative HTML source that patches the backstage import panel. It replaces the typefile input control with a text+button combination of controls that invokes a system-native secure file-chooser dialog box to provide TiddlyWiki with access to a complete path+filename so that TW functions properly locate user-selected local files.>Note: This tweak also requires http://trac.tiddlywiki.org/ticket/604 - cross-platform askForFilename()***///{{{if (window.Components) { var fixhtml<input name"txtBrowse" style"width:30em"><input type"button" value"..." + onClick"window.browseForFilename(this.previousSibling,true)">; var cmiconfig.macros.importTiddlers; cmi.step1Htmlcmi.step1Html.replace(/<input typefile size50 nametxtBrowse>/,fixhtml);}merge(config.messages,{selectFile:Please enter or select a file}); // ready for I18N translationwindow.browseForFilenamefunction(target,mustExist) { // note: both params are optional var msgconfig.messages.selectFile; if (target && target.title) msgtarget.title; // use target field tooltip (if any) as dialog prompt text // get local path for current document var pathgetLocalPath(document.location.href); var ppath.lastIndexOf(/); if (p-1) ppath.lastIndexOf(\\); // Unix or Windows if (p!-1) pathpath.substr(0,p+1); // remove filename, leave trailing slash var file var resultwindow.askForFilename(msg,path,file,mustExist); // requires #604 if (target && result.length) // set target field and trigger handling { target.valueresult; target.onchange(); } return result; }//}}}// // }}}}}}// // {{block{/***!!!604 cross-platform askForFilename()***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/604 - OPENinvokes a system-native secure file-chooser dialog box to provide TiddlyWiki with access to a complete path+filename so that TW functions properly locate user-selected local files.***///{{{window.askForFilenamefunction(msg,path,file,mustExist) { var r window.mozAskForFilename(msg,path,file,mustExist); if(rnull || rfalse) r window.ieAskForFilename(msg,path,file,mustExist); if(rnull || rfalse) r window.javaAskForFilename(msg,path,file,mustExist); if(rnull || rfalse) r prompt(msg,path+file); return r||;}window.mozAskForFilenamefunction(msg,path,file,mustExist) { if(!window.Components) return false; try { netscape.security.PrivilegeManager.enablePrivilege(UniversalXPConnect); var nsIFilePicker window.Components.interfaces.nsIFilePicker; var picker Components.classes@mozilla.org/filepicker;1.createInstance(nsIFilePicker); picker.init(window, msg, mustExist?nsIFilePicker.modeOpen:nsIFilePicker.modeSave); var thispath Components.classes@mozilla.org/file/local;1.createInstance(Components.interfaces.nsILocalFile); thispath.initWithPath(path); picker.displayDirectorythispath; picker.defaultExtensionhtml; picker.defaultStringfile; picker.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterText|nsIFilePicker.filterHTML); if (picker.show()!nsIFilePicker.returnCancel) var resultpicker.file.path; } catch(ex) { displayMessage(ex.toString()); } return result;}window.ieAskForFilenamefunction(msg,path,file,mustExist) { if(!config.browser.isIE) return false; try { var s new ActiveXObject(UserAccounts.CommonDialog); s.FilterAll files|*.*|Text files|*.txt|HTML files|*.htm;*.html|; s.FilterIndex3; // default to HTML files; s.InitialDirpath; s.FileNamefile; return s.showOpen()?s.FileName:; } catch(ex) { displayMessage(ex.toString()); } return result;}window.javaAskForFilenamefunction(msg,path,file,mustExist) { if(!document.appletsTiddlySaver) return false; // TBD: implement java-based askFile(...) function try { return document.appletsTiddlySaver.askFile(msg,path,file,mustExist); } catch(ex) { displayMessage(ex.toString()); }}//}}}// // }}}}}}// // {{block{/***!!!657 wrap tabs onto multiple lines***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/657 - OPENThis tweak inserts an extra space element following each tab, allowing them to wrap onto multiple lines if needed.***///{{{config.macros.tabs.handler function(place,macroName,params){ var cookie params0; var numTabs (params.length-1)/3; var wrapper createTiddlyElement(null,div,null,tabsetWrapper + cookie); var tabset createTiddlyElement(wrapper,div,null,tabset); tabset.setAttribute(cookie,cookie); var validTab false; for(var t0; t<numTabs; t++) { var label paramst*3+1; var prompt paramst*3+2; var content paramst*3+3; var tab createTiddlyButton(tabset,label,prompt,this.onClickTab,tab tabUnselected); createTiddlyElement(tab,span,null,null, ,{style:font-size:0pt;line-height:0px}); // ELS tab.setAttribute(tab,label); tab.setAttribute(content,content); tab.title prompt; if(config.optionscookie label) validTab true; } if(!validTab) config.optionscookie params1; place.appendChild(wrapper); this.switchTab(tabset,config.optionscookie);};//}}}// // }}}}}}// // {{block{/***!!!628 hide no such macro errors***/// // {{groupbox small{/***http://trac.tiddlywiki.org/ticket/628 - OPENWhen invoking a macro that is not defined, this tweak prevents the display of the error in macro... no such macro message. This is useful when rendering tiddler content or templates that reference macros that are defined by //optional// plugins that have not been installed in the current document.<<option chkHideMissingMacros>> hide no such macro error messages***///{{{if (config.options.chkHideMissingMacrosundefined) config.options.chkHideMissingMacrosfalse;window.coreTweaks_missingMacro_invokeMacro window.invokeMacro;window.invokeMacro function(place,macro,params,wikifier,tiddler) { if (!config.macrosmacro || !config.macrosmacro.handler) if (config.options.chkHideMissingMacros) return; window.coreTweaks_missingMacro_invokeMacro.apply(this,arguments);}//}}}// // }}}}}}// // <<foldHeadings>>/pre>/div>div titleDefaultTiddlers modifierOSeuNome created201304201350 modified202005232249 tagsexcludeLists formatting changecount11 server.page.revision201304201350 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre>StartHere/pre>/div>div titleEditTemplate modifierOSeuNome created201304201336 modified201304201341 tagsexcludeLists server.typefile server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.page.revision201304201341>pre><!--{{{--><div classtoolbar macrotoolbar ToolbarCommands::EditToolbar></div><div classtitle macroview title></div><div classeditor macroedit title></div><div classeditor macroedit tags></div><div macroannotations></div><div classeditor macroedit text></div><div>macrotagChooser excludeLists></div><div classeditorFooter><span macromessage views.editor.tagPrompt></span></div><!--}}}-->/pre>/div>div titleExtraStyleSheet creatorOSeuNome modifierOSeuNome created202001170129 modified202004160949 tagsexcludeLists core autosave server.typefile server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.page.revision202003290151>pre>body { background:-moz-linear-gradient(top, palegreen, beige);font-family: Helvetica;color:#996633;}/pre>/div>div titleFour creatorOSeuNome modifierOSeuNome created202005240208 modified202406112026 changecount23>pre>/pre>/div>div titleFull_Login creatorOSeuNome modifierOSeuNome created202003310112 modified202107312118 tagsnoTitle changecount213>pre>__{{big{ Registração por Usuararios Novos}}}__Nota:Antes de registrar/acessar esse curso..... precisar tem seu email institucional autorizado por SEDUC e Aceita o convite para entra a plataforma do Classroom por esse curso.<script>config.options.txtCursolocalStorage.curso;if(localStorage.username){config.options.txtUsernamelocalStorage.username;}else{config.options.txtUsername"";}if(localStorage.cpf){config.options.txtCPFlocalStorage.cpf;}else{config.options.txtCPF"";}</script><<option txtCurso>> Curso<<option txtUsername>>Nome Usuario<<option txtCPF>> CPF<<option txtWhatsApp>> Seu telefone(do Whatsapp)..lembra o DDD<script label"Registra"> var xmlHttp null; xmlHttp new XMLHttpRequest(); var discFilelocalStorage.curso+".txt";//return discFile; xmlHttp.open( "GET",discFile, false); xmlHttp.send( null ); var indexListaxmlHttp.responseText;if(localStorage.curso"PDCProfs"){//return "lists"+indexLista;if(indexLista.indexOf(config.options.txtUsername)-1){return "{{big{Não tenho esse Nome na lista autorizada.... redigitar seu nome e tentar de novo}}}";}}if(localStorage.curso!"PDCProfs"){//var cpfconfig.options.replace(/./g,"");if(indexLista.indexOf(config.options.txtCPF)-1){return "{{big{Não tenho esse CPF ("+config.options.txtCPF+") na lista autorizada.... redigitar seu cpf e tentar de novo}}}";}var studentListindexLista.split("#");for(i0;i<studentList.length;i++){if(studentListi.indexOf(config.options.txtCPF)!-1){var thisDatastudentListi.split(",");localStorage.namethisData1;localStorage.usernamethisData2;localStorage.escolathisData3;localStorage.disciplinathisData4;localStorage.cpfthisData0;localStorage.emailthisData5;localStorage.language"br";}}confirm(" Bem Vindo "+localStorage.name+", CPF numero "+localStorage.cpf+". ...Vou chamar voce: "+localStorage.username+" .. e vou incluir voce no grupo do whatsapp do curso....Agora clicar OK, e vamos abrira a plataforma do curso");var Osnavigator.userAgent;return <br><script src"chkLogin.php?Nome+localStorage.name+&Username+localStorage.username+&CPF+localStorage.cpf+&Curso+localStorage.curso+&Escola+localStorage.escola+&Disciplina+localStorage.disciplina+&Email+localStorage.email+&WhatsApp+localStorage.whatsapp+&Language+localStorage.language+&Plataforma+Os+">;window.location"http://www.unigaia-brasil.org/PDC/index.html#txtTema:Iniciando";</scr+ipt>;}return "Oooops!! - Hustão...temos uma problema!";</script>{{bold{Nota: Verifica que a informação acima é certa, e depois clicar Registrar, para confirma e registrar por o curso. Voce será direcionado por a plataforma do curso, e lembra que só precisa esta confirmação na primeira visita a plataforma.}}}/pre>/div>div titleGetRefs creatorOSeuNome modifierOSeuNome created201908281722 modified202004150355 tagsexcludeLists android changecount4>pre><script src"dir.php?pathTemas"></script>{{small{{{fourcolumns{<script>sessionStorage.pdfdisplay"closed";var lista""; var xmlHttp null; xmlHttp new XMLHttpRequest(); var discFile"Temas/lista.txt";//return discFile; xmlHttp.open( "GET",discFile, false); xmlHttp.send( null ); var indexListaxmlHttp.responseText;var listingsindexLista.split("|");listingslistings.sort();//return listings1;/pre>/div>div titleGettingStarted modifierOSeuNome created201304200117 modified201304200155 server.typefile server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.page.revision201304200155>pre>To get started with this blank TiddlyWiki, youll need to modify the following tiddlers:* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)* MainMenu: The menu (usually on the left)* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is openedYoull also need to enter your username for signing your edits: <<option txtUserName>><<tiddler Options>><<tiddler SideBarTabs>>/pre>/div>div titleHideWhenPlugin modifierOSeuNome created201807270533 modified201902182204 tagsexcludeLists systemConfig changecount2 server.page.revision201902180242 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre>/***|Name:|HideWhenPlugin||Description:|Allows conditional inclusion/exclusion in templates||Version:|3.2a||Date:|27-Jun-2011||Source:|http://mptw.tiddlyspot.com/#HideWhenPlugin||Author:|Simon Baird <simon.baird@gmail.com>||License:|http://mptw.tiddlyspot.com/#TheBSDLicense|For use in ViewTemplate and EditTemplate. Example usage:{{{<div macro"showWhenTagged Task">TaskToolbar</div>}}}{{{<div macro"showWhen tiddler.modifier BartSimpson"><img src"bart.gif"/></div>}}}Warning: the showWhen and hideWhen macros will blindly eval paramString.This could be used to execute harmful javascript from a tiddler.(TODO: Make some effort to sanitize paramString. Perhaps disallow the equals sign?)***///{{{window.hideWhenLastTest false;window.removeElementWhen function(test,place) { window.hideWhenLastTest test; if (test) { jQuery(place).empty() place.parentNode.removeChild(place); }};merge(config.macros,{ hideWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( eval(paramString), place ); }}, showWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( !eval(paramString), place ); }}, hideWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( tiddler.tags.containsAll(params), place ); }}, showWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( !tiddler.tags.containsAll(params), place ); }}, hideWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( tiddler.tags.containsAny(params), place ); }}, showWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( !tiddler.tags.containsAny(params), place ); }}, hideWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( tiddler.tags.containsAll(params), place ); }}, showWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( !tiddler.tags.containsAll(params), place ); }}, hideWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( store.tiddlerExists(params0) || store.isShadowTiddler(params0), place ); }}, showWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( !(store.tiddlerExists(params0) || store.isShadowTiddler(params0)), place ); }}, hideWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( tiddler.title params0, place ); }}, showWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( tiddler.title ! params0, place ); }}, else: { handler: function(place,macroName,params,wikifier,paramString,tiddler) { removeElementWhen( !window.hideWhenLastTest, place ); }}});//}}}/pre>/div>div titleImageSizePlugin modifierOSeuNome created201304200127 modified201908291922 tagssystemConfig android server.typefile server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.page.revision201304201251 changecount14>pre>/***|Name|ImageSizePlugin||Source|http://www.TiddlyTools.com/#ImageSizePlugin||Version|1.2.1||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.1||Type|plugin||Description|adds support for resizing images|This plugin adds optional syntax to scale an image to a specified width and height and/or interactively resize the image with the mouse.!!!!!Usage<<<The extended image syntax is:{{{img(w+,h+)......}}}where (w,h) indicates the desired width and height (in CSS units, e.g., px, em, cm, in, or %). Use auto (or a blank value) for either dimension to scale that dimension proportionally (i.e., maintain the aspect ratio). You can also calculate a CSS value on-the-fly by using a //javascript expression// enclosed between """{{""" and """}}""". Appending a plus sign (+) to a dimension enables interactive resizing in that dimension (by dragging the mouse inside the image). Use ~SHIFT-click to show the full-sized (un-scaled) image. Use ~CTRL-click to restore the starting size (either scaled or full-sized).<<<!!!!!Examples<<<{{{img(100px+,75px+)images/meow2.jpg}}}img(100px+,75px+)images/meow2.jpg{{{<img(34%+,+)images/meow.gif<img(21% ,+)images/meow.gif<img(13%+, )images/meow.gif<img( 8%+, )images/meow.gif<img( 5% , )images/meow.gif<img( 3% , )images/meow.gif<img( 2% , )images/meow.gifimg( 1%+,+)images/meow.gif}}}<img(34%+,+)images/meow.gif<img(21% ,+)images/meow.gif<img(13%+, )images/meow.gif<img( 8%+, )images/meow.gif<img( 5% , )images/meow.gif<img( 3% , )images/meow.gif<img( 2% , )images/meow.gifimg( 1%+,+)images/meow.gif{{tagClear{}}}<<<!!!!!Revisions<<<2009.02.24 1.2.1 cleanup width/height regexp, use + suffix for resizing2009.02.22 1.2.0 added stretchable images2008.01.19 1.1.0 added evaluated width/height values2008.01.18 1.0.1 regexp for "(width,height)" now passes all CSS values to browser for validation2008.01.17 1.0.0 initial release<<<!!!!!Code***///{{{version.extensions.ImageSizePlugin {major: 1, minor: 2, revision: 1, date: new Date(2009,2,24)};//}}}//{{{var fconfig.formattersconfig.formatters.findByField("name","image");f.match"\\<>?IiMmGg(?:\\(^,*,^\\)*\\))?\\";f.lookaheadRegExp/\(<?)(>?)IiMmGg(?:\((^,*),(^\)*)\))?\(?:(^\|\+)\|)?(^\\\|+)\(?:\(^\*)\)?\/mg;f.handlerfunction(w) { this.lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch this.lookaheadRegExp.exec(w.source) if(lookaheadMatch && lookaheadMatch.index w.matchStart) { var floatLeftlookaheadMatch1; var floatRightlookaheadMatch2; var widthlookaheadMatch3; var heightlookaheadMatch4; var tooltiplookaheadMatch5; var srclookaheadMatch6; var linklookaheadMatch7; // Simple bracketted link var e w.output; if(link) { // LINKED IMAGE if (config.formatterHelpers.isExternalLink(link)) { if (config.macros.attach && config.macros.attach.isAttachment(link)) { // see AttachFilePluginFormatters e createExternalLink(w.output,link); e.hrefconfig.macros.attach.getAttachment(link); e.title config.macros.attach.linkTooltip + link; } else e createExternalLink(w.output,link); } else e createTiddlyLink(w.output,link,false,null,w.isStatic); addClass(e,"imageLink"); } var img createTiddlyElement(e,"img"); if(floatLeft) img.align"left"; else if(floatRight) img.align"right"; if(width||height) { var xwidth.trim(); var yheight.trim(); var stretchW(x.substr(x.length-1,1)+); if (stretchW) xx.substr(0,x.length-1); var stretchH(y.substr(y.length-1,1)+); if (stretchH) yy.substr(0,y.length-1); if (x.substr(0,2)"{{") { try{xeval(x.substr(2,x.length-4))} catch(e){displayMessage(e.description||e.toString())} } if (y.substr(0,2)"{{") { try{yeval(y.substr(2,y.length-4))} catch(e){displayMessage(e.description||e.toString())} } img.style.widthx.trim(); img.style.heighty.trim(); config.formatterHelpers.addStretchHandlers(img,stretchW,stretchH); } if(tooltip) img.title tooltip; // GET IMAGE SOURCE if (config.macros.attach && config.macros.attach.isAttachment(src)) srcconfig.macros.attach.getAttachment(src); // see AttachFilePluginFormatters else if (config.formatterHelpers.resolvePath) { // see ImagePathPlugin if (config.browser.isIE || config.browser.isSafari) { img.onerror(function(){ this.srcconfig.formatterHelpers.resolvePath(this.src,false); return false; }); } else srcconfig.formatterHelpers.resolvePath(src,true); } img.srcsrc; w.nextMatch this.lookaheadRegExp.lastIndex; }}config.formatterHelpers.addStretchHandlersfunction(e,stretchW,stretchH) { e.title((stretchW||stretchH)?DRAGstretch/shrink, :) +SHIFT-CLICKshow full size, CTRL-CLICKrestore initial size; e.statusMsgwidth%0, height%1; e.style.cursormove; e.originalWe.style.width; e.originalHe.style.height; e.minWMath.max(e.offsetWidth/20,10); e.minHMath.max(e.offsetHeight/20,10); e.stretchWstretchW; e.stretchHstretchH; e.onmousedownfunction(ev) { var evev||window.event; this.sizingtrue; this.startX!config.browser.isIE?ev.pageX:(ev.clientX+findScrollX()); this.startY!config.browser.isIE?ev.pageY:(ev.clientY+findScrollY()); this.startWthis.offsetWidth; this.startHthis.offsetHeight; return false; }; e.onmousemovefunction(ev) { var evev||window.event; if (this.sizing) { var sthis.style; var currX!config.browser.isIE?ev.pageX:(ev.clientX+findScrollX()); var currY!config.browser.isIE?ev.pageY:(ev.clientY+findScrollY()); var newW(currX-this.offsetLeft)/(this.startX-this.offsetLeft)*this.startW; var newH(currY-this.offsetTop )/(this.startY-this.offsetTop )*this.startH; if (this.stretchW) s.width Math.floor(Math.max(newW,this.minW))+px; if (this.stretchH) s.heightMath.floor(Math.max(newH,this.minH))+px; clearMessage(); displayMessage(this.statusMsg.format(s.width,s.height)); } return false; }; e.onmouseupfunction(ev) { var evev||window.event; if (ev.shiftKey) { this.style.widththis.style.height; } if (ev.ctrlKey) { this.style.widththis.originalW; this.style.heightthis.originalH; } this.sizingfalse; clearMessage(); return false; }; e.onmouseoutfunction(ev) { var evev||window.event; this.sizingfalse; clearMessage(); return false; };}//}}}/pre>/div>div titleIndividual_Login creatorOSeuNome modifierOSeuNome created202006140227 modified202105291747 changecount43>pre>__{{big{ Registração por Usuararios Novos}}}__Aparece isso é sua primeira visita aqui, e que vocẽ esta querendo registrar por um curso.Que bom. Existe tres passos necesario.1/ Usar esta forma parar mandar seu pedido para ser registrado a Skye.2/ Fazer seu pagamento e mandar um imagem dela a Skye (whatsapp 85 9881821687. Auxiliara muito quando você marcar seu deposito com seu nome e nome do curso.3/ Voltara aqui, e completar o fase final da registração.... incluindo detalhes com seu number de whatsapp...... isso liberar seu acesso a pagina inical do curso. Nota que, depois terminar sua registração, em frente o sistema vem reconhece você e autamaticamente direcioná vocẽ por o curso.<script>config.options.txtCursosessionStorage.curso;if(localStorage.username){config.options.txtUsernamelocalStorage.username;}else{config.options.txtUsername"";}</script><<option txtCurso>> Curso<<option txtName>> Seu Nome<<option txtEmail>> Seu email (tem cuidado a acertar seu email){{bookmarklet{<script label"Registrar">localStorage.usernameconfig.options.txtUsername;localStorage.cursoconfig.options.txtCurso;var emailconfig.options.txtEmail;if(config.options.txtEmail"undefined" || email.indexOf("@")-1 ){return "<br>Precisa um email valido!!!";}localStorage.emailconfig.options.txtEmail;localStorage.language"br";return <script src"startReg.php?Curso+localStorage.curso+&Username+localStorage.username+&Email+localStorage.email+&Language+localStorage.language+&Browser+navigator.userAgent+&Platform+navigator.platform+"></scr+ipt>;</script>/pre>/div>div titleInlineJavascriptPlugin modifierELSDesignStudios created200512130544 modified201012151753 tagssystemConfig excludeLists server.typefile server.hosthttp://tiddlytools.com server.page.revision201012151753>pre>/***|Name|InlineJavascriptPlugin||Source|http://www.TiddlyTools.com/#InlineJavascriptPlugin||Documentation|http://www.TiddlyTools.com/#InlineJavascriptPluginInfo||Version|1.9.6||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.1||Type|plugin||Description|Insert Javascript executable code directly into your tiddler content.|Call directly into TW core utility routines, define new functions, calculate values, add dynamically-generated TiddlyWiki-formatted output into tiddler content, or perform any other programmatic actions each time the tiddler is rendered.!!!!!Documentation>see InlineJavascriptPluginInfo!!!!!Revisions<<<2010.12.15 1.9.6 allow (but ignore) type"..." syntax|please see InlineJavascriptPluginInfo for additional revision details|2005.11.08 1.0.0 initial release<<<!!!!!Code***///{{{version.extensions.InlineJavascriptPlugin {major: 1, minor: 9, revision: 6, date: new Date(2010,12,15)};config.formatters.push( { name: "inlineJavascript", match: "\\<script", lookahead: "\\<script(?: type\\\"^\\\"*\\\")?(?: src\\\"(^\\\"*)\\\")?(?: label\\\"(^\\\"*)\\\")?(?: title\\\"(^\\\"*)\\\")?(?: key\\\"(^\\\"*)\\\")?( show)?\\>((?:.|\\n)*?)\\</script\\>", handler: function(w) { var lookaheadRegExp new RegExp(this.lookahead,"mg"); lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch lookaheadRegExp.exec(w.source) if(lookaheadMatch && lookaheadMatch.index w.matchStart) { var srclookaheadMatch1; var labellookaheadMatch2; var tiplookaheadMatch3; var keylookaheadMatch4; var showlookaheadMatch5; var codelookaheadMatch6; if (src) { // external script library var script document.createElement("script"); script.src src; document.body.appendChild(script); document.body.removeChild(script); } if (code) { // inline code if (show) // display source in tiddler wikify("{{{\n"+lookaheadMatch0+"\n}}}\n",w.output); if (label) { // create onclick command link var linkcreateTiddlyElement(w.output,"a",null,"tiddlyLinkExisting",wikifyPlainText(label)); var fixupcode.replace(/document.write\s*\(/gi,place.bufferedHTML+(); link.code"function _out(place,tiddler){"+fixup+"\n};_out(this,this.tiddler);" link.tiddlerw.tiddler; link.onclickfunction(){ this.bufferedHTML""; try{ var reval(this.code); if(this.bufferedHTML.length || (typeof(r)"string")&&r.length) var sthis.parentNode.insertBefore(document.createElement("span"),this.nextSibling); if(this.bufferedHTML.length) s.innerHTMLthis.bufferedHTML; if((typeof(r)"string")&&r.length) { wikify(r,s,null,this.tiddler); return false; } else return r!undefined?r:false; } catch(e){alert(e.description||e.toString());return false;} }; link.setAttribute("title",tip||""); var URIcodejavascript:void(eval(decodeURIComponent(%22(function(){try{; URIcode+encodeURIComponent(encodeURIComponent(code.replace(/\n/g, ))); URIcode+}catch(e){alert(e.description||e.toString())}})()%22))); link.setAttribute("href",URIcode); link.style.cursor"pointer"; if (key) link.accessKeykey.substr(0,1); // single character only } else { // run script immediately var fixupcode.replace(/document.write\s*\(/gi,place.innerHTML+(); var c"function _out(place,tiddler){"+fixup+"\n};_out(w.output,w.tiddler);"; try { var outeval(c); } catch(e) { oute.description?e.description:e.toString(); } if (out && out.length) wikify(out,w.output,w.highlightRegExp,w.tiddler); } } w.nextMatch lookaheadMatch.index + lookaheadMatch0.length; } }} )//}}}// // Backward-compatibility for TW2.1.x and earlier//{{{if (typeof(wikifyPlainText)"undefined") window.wikifyPlainTextfunction(text,limit,tiddler) { if(limit > 0) text text.substr(0,limit); var wikifier new Wikifier(text,formatter,null,tiddler); return wikifier.wikifyPlain();}//}}}// // GLOBAL FUNCTION: $(...) -- shorthand convenience syntax for document.getElementById()//{{{if (typeof($)undefined) { function $(id) { return document.getElementById(id.replace(/^#/,)); } }//}}}/pre>/div>div titleInscrive creatorOSeuNome modifierOSeuNome created202402231640 modified202405211623 tagsInscrive changecount8>pre><script>var Reg"$1";if(Reg"Accessar os Planos das Aulas"){sessionStorage.reg$1; config.refreshers.content(document.getElementById("loginMenu"));}</script>/pre>/div>div titleLoadTiddlersPlugin creatorOSeuNome modifierOSeuNome created200703220614 modified202001200046 tagssystemConfig excludeLists changecount3 server.page.revision200910070458 server.hosthttp://localhost/xampp/htdocs/Adapta/www.tiddlytools.com.htm server.typefile>pre>/***|Name|LoadTiddlersPlugin||Source|http://www.TiddlyTools.com/#LoadTiddlersPlugin||Documentation|http://www.TiddlyTools.com/#LoadTiddlersPluginInfo||Version|3.8.1||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.1||Type|plugin||Description|macro for automated updates or one-click installations of tiddlers from remote sources|!!!!!Documentation>see LoadTiddlersPluginInfo!!!!!Configuration<<<<<option chkLoadTiddlersShowReport>>after loading tiddlers, automatically display ImportedTiddlers (if created)__password-protected server settings //(optional, if needed)//:__>username: <<option txtRemoteUsername>> password: <<option txtRemotePassword>>>{{{usage: <<option txtRemoteUsername>> <<option txtRemotePassword>>}}}>note: these settings are also used by ExternalTiddlersPlugin and ImportTiddlersPlugin<<<!!!!!Revisions<<<2009.10.08 3.8.1 removed switchTheme() from doImport()... causes an INFINITE cycle of imports!|please see LoadTiddlersPluginInfo for additional revision details|2005.07.20 1.0.0 Initial Release<<<!!!!!Code***///{{{version.extensions.LoadTiddlersPlugin {major: 3, minor: 8, revision: 1, date: new Date(2009,10,8)};if (config.options.chkLoadTiddlersShowReportundefined) config.options.chkLoadTiddlersShowReporttrue;config.macros.loadTiddlers { label: , tip: "add/update tiddlers from %0", lockedTag: noReload, // if existing tiddler has this tag value, dont overwrite it, even if inbound tiddler is newer askMsg: Please enter a local path/filename or a remote URL, openMsg: Opening %0, openErrMsg: Could not open %0 - error%1, readMsg: Read %0 bytes from %1, foundMsg: Found %0 tiddlers in %1, nochangeMsg: "%0 is up-to-date... skipped.", lockedMsg: "%0 is tagged %1... skipped.", skippedMsg: skipped (cancelled by user), loadedMsg: Loaded %0 of %1 tiddlers from %2, reportTitle: ImportedTiddlers, warning: "Warning!! Processing %0 as a systemConfig (plugin) tiddler may produce unexpected results! Are you sure you want to proceed?", handler: function(place,macroName,params) { var label(params0 && params0.substr(0,6)label:)?params.shift().substr(6):this.label; var tip(params0 && params0.substr(0,7)prompt:)?params.shift().substr(7):this.tip; var filterupdates; if (params0 && (params0all || params0new || params0changes || params0updates || params0.substr(0,8)tiddler: || params0.substr(0,4)tag:)) filterparams.shift(); var srcparams.shift(); if (!src || !src.length) return; // filename is required var quiet(params0quiet); if (quiet) params.shift(); var ask(params0confirm); if (ask) params.shift(); var force(params0force); if (force) params.shift(); var init(params0init); if (init) params.shift(); var nodirty(params0nodirty); if (nodirty) params.shift(); var norefresh(params0norefresh); if (norefresh) params.shift(); var noreport(params0noreport); if (noreport) params.shift(); this.newTags; if (params0) this.newTagsparams; // any remaining params are used as autotags if (label.trim().length) { // link triggers load tiddlers from another file/URL and then applies filtering rules to add/replace tiddlers in the store createTiddlyButton(place,label.format(src.replace(/%20/g, )),tip.format(src.replace(/%20/g, )), function() { if (srcask) srcprompt(this.askMsg); config.macros.loadTiddlers.loadFile(src,config.macros.loadTiddlers.doImport,{quiet:quiet,ask:ask,filter:filter,force:force,init:init,noreport:noreport}); return false; }) } else { // load tiddlers from another file/URL and then apply filtering rules to add/replace tiddlers in the store if (srcask) srcprompt(this.askMsg); config.macros.loadTiddlers.loadFile(src,config.macros.loadTiddlers.doImport,{quiet:quiet,ask:ask,filter:filter,force:force,init:init,nodirty:nodirty,norefresh:norefresh,noreport:noreport}); } }, loadFile: function(src,callback,params) { var quietparams.quiet; if (srcundefined || !src.length) return null; // filename is required if (!quiet) clearMessage(); if (!quiet) displayMessage(this.openMsg.format(src.replace(/%20/g, ))); // if working locally and src is not a URL, read from local filesystem if (document.location.protocolfile: && src.substr(0,5)!http: && src.substr(0,5)!file:) { var txtloadFile(src); if (!txt) { // file didnt load, might be relative path.. try fixup var pathPrefixdocument.location.href; // get current document path and trim off filename var slashpospathPrefix.lastIndexOf(/); if (slashpos-1) slashpospathPrefix.lastIndexOf(); if (slashpos!-1 && slashpos!pathPrefix.length-1) pathPrefixpathPrefix.substr(0,slashpos+1); srcpathPrefix+src; if (pathPrefix.substr(0,5)!http:) srcgetLocalPath(src); var txtloadFile(src); } if (!txt) { // file still didnt load, report error if (!quiet) displayMessage(this.openErrMsg.format(src.replace(/%20/g, ),(unknown))); } else { if (!quiet) displayMessage(this.readMsg.format(txt.length,src.replace(/%20/g, ))); if (version.major+version.minor*.1+version.revision*.01!2.52) txtconvertUTF8ToUnicode(txt); if (callback) callback(true,params,txt,src,null); } } else { // use XMLHttpRequest doHttp(GET,src,null,null,config.options.txtRemoteUsername,config.options.txtRemotePassword,callback,params,null); } }, readTiddlersFromHTML: function(html) { // for TW2.2+ if (TiddlyWiki.prototype.importTiddlyWiki!undefined) { var remoteStorenew TiddlyWiki(); remoteStore.importTiddlyWiki(html); return remoteStore.getTiddlers(title); } }, readTiddlersFromCSV: function(CSV) { var remoteStorenew TiddlyWiki(); // GET NAMES var linesCSV.replace(/r/g,).split(n); var nameslines.shift().replace(/"/g,).split(,); CSVlines.join(n); // ENCODE commas and newlines within quoted values var comma!~comma~!; var commaREnew RegExp(comma,g); var newline!~newline~!; var newlineREnew RegExp(newline,g); CSVCSV.replace(/"(^"*?)"/g, function(x){ return x.replace(/,/g,comma).replace(/n/g,newline); }); // PARSE lines var linesCSV.split(n); for (var i0; i<lines.length; i++) { if (!linesi.length) continue; var valueslinesi.split(,); // DECODE commas, newlines, and doubled-quotes, and remove enclosing quotes (if any) for (var v0; v<values.length; v++) valuesvvaluesv.replace(commaRE,,).replace(newlineRE,n) .replace(/^"|"$/g,).replace(/""/g,"); // EXTRACT tiddler values var title; var text; var tags; var fields{}; var creatednull; var whennew Date(); var whoconfig.options.txtUserName; for (var v0; v<values.length; v++) { var valvaluesv; if (namesv) switch(namesv.toLowerCase()) { case title: titleval.replace(/|/g,_); break; case created: creatednew Date(val); break; case modified:whennew Date(val); break; case modifier:whoval; break; case text: textval; break; case tags: tagsval.readBracketedList(); break; default: fieldsnamesv.toLowerCase()val; break; } } // CREATE tiddler in temporary store if (title.length) remoteStore.saveTiddler(title,title,text,who,when,tags,fields,true,created||when); } return remoteStore.getTiddlers(title); }, createTiddlerFromFile: function(src,txt) { var tnew Tiddler(); var possrc.lastIndexOf("/"); if (pos-1) possrc.lastIndexOf(""); t.titlepos-1?src:src.substr(pos+1); t.texttxt; t.createdt.modifiednew Date(); t.modifierconfig.options.txtUserName; if (src.substr(src.length-3,3).js) t.tagssystemConfig; return t; }, doImport: function(status,params,html,src,xhr) { var cmlconfig.macros.loadTiddlers; // abbrev srcsrc.split(?)0; // strip off "?nocache..." if (!status) { displayMessage(cml.openErrMsg.format(src.replace(/%20/g, ),xhr.status)); return false; } var quietparams.quiet; var askparams.ask; var filterparams.filter; var forceparams.force; var initparams.init; var nodirtyparams.nodirty; var norefreshparams.norefresh; var noreportparams.noreport; var tiddlers cml.readTiddlersFromHTML(html); if (!tiddlers||!tiddlers.length) tiddlerscml.readTiddlersFromCSV(html); if (!tiddlers||!tiddlers.length) tiddlerscml.createTiddlerFromFile(src,html); var counttiddlers?tiddlers.length:0; if (!quiet) displayMessage(cml.foundMsg.format(count,src.replace(/%20/g, ))); var wasDirtystore.isDirty(); store.suspendNotifications(); var count0; if (tiddlers) for (var t0;t<tiddlers.length;t++) { var inbound tiddlerst; var theExisting store.getTiddler(inbound.title); if (inbound.titlecml.reportTitle) continue; // skip ImportedTiddlers history from the other document... if (theExisting && theExisting.tags.contains(cml.lockedTag)) { if (!quiet) displayMessage(cml.lockedMsg.format(theExisting.title,cml.lockedTag)); continue; // skip existing tiddler if tagged with noReload } // apply the all/new/changes/updates filter (if any) if (filter && filter!all) { if ((filternew) && theExisting) // skip existing tiddlers continue; if ((filterchanges) && !theExisting) // skip new tiddlers continue; if ((filter.substr(0,4)tag:) && inbound.tags.indexOf(filter.substr(4))-1) // must match specific tag value continue; if ((filter.substr(0,8)tiddler:) && inbound.title!filter.substr(8)) // must match specific tiddler name continue; if (!force && store.tiddlerExists(inbound.title) && ((theExisting.modified.getTime()-inbound.modified.getTime())>0)) { var msgcml.nochangeMsg; if (!quiet&&msg.length) displayMessage(msg.format(inbound.title)); continue; } } // get confirmation if required var msg(theExisting?Update:Add)+" tiddler "+inbound.title+"n" +from +src.replace(/%20/g, )+nnOK to proceed?; if (ask && !confirm(msg)) { tiddlerst.statuscml.skippedMsg; continue; } // DO IT! var tagsnew Array().concat(inbound.tags,cml.newTags); store.saveTiddler(inbound.title, inbound.title, inbound.text, inbound.modifier, inbound.modified, tags, inbound.fields, true, inbound.created); // force creation date to imported value - needed for TW2.1.3 or earlier store.fetchTiddler(inbound.title).created inbound.created; tiddlerst.statustheExisting?updated:added if (init && tags.contains(systemConfig) && !tags.contains(systemConfigDisable)) { var oktrue; if (ask||!quiet) okconfirm(cml.warning.format(inbound.title)) if (ok) { // run the plugin try { window.eval(inbound.text); tiddlerst.status+ (plugin initialized); } catch(ex) { displayMessage(config.messages.pluginError.format(exceptionText(ex))); } } } count++; } store.resumeNotifications(); if (count) { // set/clear unsaved changes flag, refresh page display, and generate a report store.setDirty(wasDirty||!nodirty); if (!norefresh) { story.forEachTiddler(function(t,e){ if(!story.isDirty(t))story.refreshTiddler(t,null,true) }); store.notifyAll(); } if (!noreport) cml.report(src,tiddlers,count,quiet); } // show message whenver tiddlers are actually loaded if (!quiet||count) displayMessage(cml.loadedMsg.format(count,tiddlers.length,src.replace(/%20/g, ))); }, showReport: true, report: function(src,tiddlers,count,quiet) { var cmlconfig.macros.loadTiddlers; // abbrev // format the new report content var newText On +(new Date()).toLocaleString()+, ; newText + config.options.txtUserName+ loaded +count+ tiddlers ; newText + fromn+src+|+src+:n; newText + <<<n; for (var t0; t<tiddlers.length; t++) if (tiddlerst.status) newText + #+tiddlerst.title+ - +tiddlerst.status+n; newText + <<<n; var titlecml.reportTitle; var currText; var tstore.getTiddler(title); if (t) currText(t.text.length?n----n:)+t.text; store.saveTiddler(title, title, newText+currText, config.options.txtUserName, new Date(), t?t.tags:null, t?t.fields:null); if (!quiet) { if (config.options.chkLoadTiddlersShowReport) story.displayTiddler(null,title); story.refreshTiddler(title,null,true); } }}//}}}/pre>/div>div titleLogin creatorOSeuNome modifierOSeuNome created202006132347 modified202406141808 changecount99>pre><<wikify {{<<tiddler Login##+sessionStorage.login+>+>}}>>/%!!Introducao_a_Permacultura{{block500{<<tiddler Login##Empty>>Isso é uma breve curso de 20 horas para introduzir a Permacultura.O curso explica em forma breve a historia do desenvolvimento da Permacultura e suas inspirações. Com mais dettalhes esudamos as eticas e principios de design da Permacultura. Consideramos a importança da Permacultura no contexto dos desafios que a humanidade esta enfrentando, e a completar, indiciamos algumas praticas simples que participantes podem aplicar com facildade em suas casas, escolas ou comunidades.O curso é autodirigido, e gratis para participar{{center{<<tiddler OpenWindow2 with:Inscreve no Introducao_a_Permacultura http://www.unigaia-brasil.org/Permacultura/index.html?Cursos/Introducao_a_Permacultura>>img(450px,auto)https://www.carboninq.com/document/VG}}}}}}!!Etica_Economica{{block500{<<tiddler Login##Empty>>{{center{{{medium{A Etica Economica}}}}}}Todos nos são embutidos no sistema economico, e passa um grande parte cada dia em atividades ligadas a economia.No mesmo tempo, é a economia que é responsavel por a mioria parte da destruição ambiental, a corrupção publico, disigualdade social, e os conflitos internacionais. Não tem sentido culpar só o "capitalismo", sendo que paises não-capitalista tambem são destruindo seu ambiente, emitindo grande quantidades de gas carbonico e tem seu parte na disigualdade social. È o sistema economico.Mas poucos de nos entende como a economia funciona. Poucos entendem de onde vem dinheiro. Não importa partidos politicos do direito ou esquerda, os ambos usar os mesmos misconceitos, erros ou simplesmente mentiras.Nesse curso, estudamos a macroeconomia desde o perspectiva da Teoria Monetaria Moderna, e depois aprofundamos nas praticas e estrategias economicas mais relevantes funcional por Permacultores atuan.{{center{<<tiddler OpenWindow2 with:Inscreve no A Etica Economica http://www.unigaia-brasil.org/Permacultura/index.html?Curso/Etica_Economica>>img(450px,auto)https://www.repstatic.it/content/nazionale/img/2021/05/11/144110977-ebf03624-2767-47a1-bc93-b619b0036e82.jpg}}}Nota: Esse curso é uma estudo profundo ligada a tercera etica em Permacultura, a "Partilha Justa", que ate agora não foi bem desenvolvido a dentro o movimento Permacultural.}}}!!Adaptando_as_Mudancas_Climaticas{{block500{<<tiddler Login##Empty>>{{center{{{medium{Adaptando as Mudanças Climaticas}}}}}}O mundo, e todos seus habitantes estam enfrentando um seres dos desafios fortes, e ate existenciais. O mais preocupante e urgente é as Mudanças Climaticas. A maioria dos politicos só apresenta falas vazias, ou simplesmente negam a realidade. Quando os empresarios continuaram motivados por ganhança, lucrando desde a destruição da planeta.O futuro é preocupante!Mas uma coisa é certo. O futuro será bem diferente do que existe agora. Toda nossa sociedade é ameaçada e por mínimo vai se transformar radicalmente. Estamos preparados por isso?Mesmo que continuamos pressionando e buscando mitigar os impactos mais duros, precisamos começar adaptar e preparar por as realidades que estam chegando com força.Esse curso é uma oportunidade olha com mais clareza a situação global atual e considerar algumas das opções e possibilidades que isso vem apresentando.{{center{<<tiddler OpenWindow2 with:Inscreve no Adaptando as Mudanças Climaticas http://www.unigaia-brasil.org/Permacultura/index.html?Curso/Curso_Adaptando_as_Mudancas_Climaticas>>img(450px,auto)https://uploads.metropoles.com/wp-content/uploads/2022/01/27141810/WhatsApp-Image-2022-01-27-at-14.17.25-2.jpeg}}}}}}!!Horta_Organica{{block500{<<tiddler Login##Empty>>{{center{{{medium{Horta_Organica}}}}}}Antes do que podemos discutir politicas ou tomar ação ambiental ou ate pensar em ser mais ecologica, precisamos comer e beber água. A maioria de nos, esperam que teremos condição comer tres vezes por dia. Por isso a maioria dos Permacultor(a) começam com a pratica de uma horta organica.Horta porque gostamos comer. Organica porque preferemos cuidar nossa saude (e a saude de nossa familia), preferemos comer alimnetos que nos-nutriam (diferenciado as alimnetos comerciais que só encher barriga). E porque respeitamos a Natureza, e nossos vizinhos.Esse curso é um breve introdução as praticas basicas para iniciar uma horta em casa (ou na escola). A melhor forma aprendaer cuidar uma horta, sera fazer amistade com um vizinho que tem horta boa. Quando isso é faltando, esse curso podem iniciar seus estudos e praticas. {{center{<<tiddler OpenWindow2 with:Inscreve na Horta Organica http://www.unigaia-brasil.org/Permacultura/index.html?Curso/Horta_Organica>>img(450px,auto)https://hips.hearstapps.com/hmg-prod/images/backyard-vegetable-garden-1525293686.jpg?resize1200:*}}}!!Agua_Verde{{block500{<<tiddler Login##Empty>>{{center{{{medium{Àgua Verde}}}}}}Isso é um frase estranho e pouco ouvido. No mesmo tempo entendemos a importança da água. Precisamos consumir água para nossa saude. Precisamos água para produzir nossos alimentos. Precisamos água para banhar, cozinar e limpar nosso ambiente. Em verdade, nosso clima e nossa sociedade é totalmente depende en água, seus ciclos e suas carateristicas estranhas.Quando falamos de "àgua verde" estamos falando da água que infiltra no solo, e que as plantas usam para seu crescimento e deselvolvimento. Todas as florestas, areas naturais e agricultura são dependente em água verde.Nesse curso, concentramos em praticas para manegar a água verde.{{center{<<tiddler OpenWindow2 with:Inscreve na Àgua Verde http://www.unigaia-brasil.org/Permacultura/index.html?Curso/Agua_Verde>>img(450px,auto)http://www.inadesformation.net/wp-content/uploads/2018/11/Zaipit-5.jpg}}}!!Empty<script label"fechar">sessionStorage.login"empty";config.refreshers.content(document.getElementById("login"));</script><<setIcon Logos/no.png "" notext>>!!UCE{{blockMedium{{{floatleft{<script label"fechar">sessionStorage.login"empty";config.refreshers.content(document.getElementById("login"));</script><<setIcon Logos/no.png "" notext>>}}} <html><nowiki><form action"chkReg.php" method"POST" target"responseFrame"><input typetext nameusername value"">Nome<br><input typetext namecpf value"">CPF<br><input typehidden namewhen value""><input typetext nameemail value"">Email<br><input typehidden namecurso value"UCE"><input typetext namewhatsapp value"">Whatsapp<br><input typesubmit value"Confirma Seus Detalhes" onclicklocalStorage.usernamethis.form.username.value;localStorage.emailthis.form.email.value;localStorage.curso"UCE";localStorage.cpfthis.form.cpf.value;localStorage.escolathis.form.escola.value;localStorage.disciplinathis.form.disciplina.valuelocalStorage.whatsappthis.form.whatsapp.value;//window.open("http://www.unigaia-brasil.org/Permacultura/index.html?"+localStorage.cpf,"_parent");></form><iframe src"" name"responseFrame" id"responseFrame" width500px height50px style"border:0;"></iframe></html><script>var formplace.lastChild.getElementsByTagName(form)0;form.username.valuelocalStorage.username;form.cpf.valuelocalStorage.CPF;form.escola.valuelocalStorage.escola;form.disciplina.valuelocalStorage.disciplina;form.email.valuelocalStorage.email;form.whatsapp.valuelocalStorage.whatsapp;</script>Nota:Porfavor confirmar que suas dados são certos. Clicar "Confirma Seus Detalhes"..voçe será registrado e sistema redirecionar vocẽ por a pagina inicial da Plataforma Unigaia.!!???{{blockMedium{{{floatleft{<script label"fechar"> sessionStorage.login"empty";config.refreshers.content(document.getElementById("login"));</script><<setIcon ../Logos/no.png "" notext>>}}} <html><nowiki><form action"chkReg.php" method"POST" target"responseFrame"><input typetext nameusername value"">Nome<br><input typetext namecpf value"">CPF<br><input typehidden namewhen value""><input typehidden nameescola><input typehidden namedisciplina><input typetext nameemail value"">Email<br><input typetext namewhatsapp value"">Whatsapp<br><input typehidden namecurso value"Que_e_Permacultura"><input typesubmit value"Confirma Seus Detalhes" onclicklocalStorage.usernamethis.form.username.value;localStorage.emailthis.form.email.value;localStorage.cpfthis.form.cpf.value;localStorage.whatsappthis.form.whatsapp.value;localStorage.cursosessionStorage.login;localStorage.cpfthis.form.cpf.value;localStorage.escola"";localStorage.disciplina"";></form><iframe src"" name"responseFrame" id"responseFrame" width500px height50px style"border:0;"></iframe></html><script>var formplace.lastChild.getElementsByTagName(form)0;form.username.valuelocalStorage.username;form.cpf.valuelocalStorage.CPF;form.email.valuelocalStorage.email;form.whatsapp.valuelocalStorage.whatsapp;form.curso.valuesessionStorage.login;</script>Nota:Porfavor confirmar que suas dados são certos. Clicar "Confirma Seus Detalhes"..voce sra registrado e o sistema redirecionar vocẽ por a pagina inicial da Plataforma Unigaia.}}}!!Adaptacao_Profunda{{blockMedium{{{floatleft{<script label"fechar"> sessionStorage.login"empty";config.refreshers.content(document.getElementById("login"));</script><<setIcon ../Logos/no.png "" notext>>}}}<<tiddler Login##MiniCurso>>!!MiniCurso <html><nowiki><form action"chkReg.php" method"POST" target"responseFrame"><input typetext nameusername value"">Nome<br><input typetext namecpf value"">CPF<br><input typehidden namewhen value""><input typehidden nameescola><input typehidden namedisciplina><input typetext nameemail value"">Email<br><input typetext namewhatsapp value"">Whatsapp<br><input typetext namecurso value"">MiniCurso<br><input typesubmit value"Confirma Seus Detalhes" onclicklocalStorage.usernamethis.form.username.value;localStorage.emailthis.form.email.value;localStorage.cpfthis.form.cpf.value;localStorage.whatsappthis.form.whatsapp.value;localStorage.cursosessionStorage.login;localStorage.cpfthis.form.cpf.value;localStorage.escola"";localStorage.disciplina"";></form><iframe src"" name"responseFrame" id"responseFrame" width500px height50px style"border:0;"></iframe></html><script>var formplace.lastChild.getElementsByTagName(form)0;form.username.valuelocalStorage.username;form.cpf.valuelocalStorage.CPF;form.escola.valuelocalStorage.escola;form.disciplina.valuelocalStorage.disciplina;form.email.valuelocalStorage.email;form.whatsapp.valuelocalStorage.whatsapp;form.curso.valuesessionStorage.login;</script>Nota:Porfavor confirmar que suas dados são certos. Clicar "Confirma Seus Detalhes"..voce sra registrado e o sistema redirecionar vocẽ por a pagina inicial da Plataforma Unigaia.!!PDCVirtual{{blockMedium{{{floatleft{<script label"fechar"> sessionStorage.login"empty";config.refreshers.content(document.getElementById("login"));</script><<setIcon ../Logos/no.png "" notext>>}}} <html><nowiki><form action"chkReg.php" method"POST" target"responseFrame"><input typetext nameusername value"">Nome<br><input typetext namecpf value"">CPF<br><input typehidden nameescola><input typehidden namedisciplina><input typehidden namewhen value""><input typetext nameemail value"">Email<br><input typetext namewhatsapp value"">Whatsapp<br><input typesubmit value"Confirma Seus Detalhes" onclicklocalStorage.usernamethis.form.username.value;localStorage.emailthis.form.email.value;localStorage.cpfthis.form.cpf.value;localStorage.escola"";localStorage.disciplina"";localStorage.curso"PDCVirtual";localStorage.whatsappthis.form.whatsapp.value;></form><iframe src"" name"responseFrame" id"responseFrame" width500px height50px style"border:0;"></iframe></html><script>var formplace.lastChild.getElementsByTagName(form)0;form.email.valuelocalStorage.email;form.whatsapp.valuelocalStorage.whatsapp;</script>Depois mandar seu Inscripção, usar esse qcode para fazer seu pagamento por PIX. Quando confirmamaos o pagamento, mandamos por voce o codigo que dé voce acesso a plataforma.{{center{img(250px,auto)Images/PDCVirtual/qrcode.svg}}}ou{{{00020101021126370014br.gov.bcb.pix01117339464514902005204000053039865406600.005802BR5904SKYE6009FORTALEZA62070503pix63040FC9}}}}}}!!Biblioteca{{blockMedium{{{floatleft{<script label"fechar"> sessionStorage.login"empty";config.refreshers.content(document.getElementById("login"));</script><<setIcon ../Logos/no.png "" notext>>}}} <html><nowiki><form action"chkReg.php" method"POST" target"responseFrame"><input typetext nameusername value"">Nome<br><input typetext namecpf value"">CPF<br><input typehidden namewhen value""><input typehidden nameescola><input typehidden namedisciplina><input typetext nameemail value"">Email<br><input typetext namewhatsapp value"">Whatsapp<br><input typehidden namecurso value"Biblioteca"><input typesubmit value"Confirma Seus Detalhes" onclicklocalStorage.usernamethis.form.username.value;localStorage.emailthis.form.email.value;localStorage.cpfthis.form.cpf.value;localStorage.whatsappthis.form.whatsapp.value;localStorage.cursosessionStorage.login;localStorage.cpfthis.form.cpf.value;localStorage.escola"";localStorage.disciplina"";></form><iframe src"" name"responseFrame" id"responseFrame" width500px height50px style"border:0;"></iframe></html><script>var formplace.lastChild.getElementsByTagName(form)0;form.username.valuelocalStorage.username;form.cpf.valuelocalStorage.CPF;form.email.valuelocalStorage.email;form.whatsapp.valuelocalStorage.whatsapp;form.curso.valuesessionStorage.login;</script>Nota:Porfavor confirmar que suas dados são certos. Clicar "Confirma Seus Detalhes"..voce sra registrado e o sistema redirecionar vocẽ por a pagina inicial da Plataforma Unigaia.}}}!!fechar!!end%/ /%/pre>/div>div titleMainHead creatorOSeuNome modifierOSeuNome created201909050131 modified202406112020 tagsexcludeLists formatting changecount14 server.page.revision202003290646 server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.typefile>pre> {{center{{{grand{<<showPopup tiddler:admin label:"Estuda a Permacultura com UniGaia-Brasil.org" width:800px popupClass:sticky>> }}} }}}/pre>/div>div titleNine creatorOSeuNome modifierOSeuNome created202006140155 modified202406141810 changecount119>pre>{{block9{<<wikify {{<<tiddler Nine##+sessionStorage.Nine+>+>}}>>/%!!start{{center{img(450px,auto)https://telema.com.br/wp-content/uploads/2019/04/principios-da-permacultura-diagrama-holmgren-800px-768x816.jpg}}}!!PDC{{center{{{large{PDC}}}}}}O curso do certificado em Design em Permacultura é o curso basico para forma Permacultores, e é reconhecida internacionalmente.O curriculo basico desse curso foi escrito por Bill Mollison mesmo, e agora atualizado por as avanças tecnologicas e as realidades do secula 21.Esse curso tem como carga horario um minimo de 80 horas, e originalmente foi apresentado em forma residencial de 3 semanas.O curso cobrir as conceitos e fundamentos da Permacultura, e bastante das praticas relevantes e utilizadas em sistemas Permaculturais.O eixo central da Permacultura é design. Por isso o curso termina com uma pratica real de um design Permacultura de uma propriedade real. Mesmo em forma presencial ou virtual, o design é a avaliação final do curso.Lembra que o curso não é só a respeito hortas organicas, sistemas agroflorestais ou ate tecnicas da construição ecologica. Aprendemos com ver o mundo com novos olhos, como os olhos de um Permacultor(a). Aprendemos ser Permacultor(a)s.{{center{img(400px,auto)https://i.pinimg.com/originals/8f/27/13/8f271398744ac8282ad572f2306e6289.jpg}}}!Presencial{{large{{{center{PDC Pratica/Virtual}}}}}}Algumas vezes por ano, apresentamos o curso do PDC em forma prática/virtual em parceira com Marcelo Bueno (IPEMA) e NEOS, ambos do Ubatuba, SP. {{center{img(300px,auto)https://www.ipemabrasil.org.br/event-details|https://static.wixstatic.com/media/e1c714_e366dfe7bb42461abf8f794cf54503f0~mv2.jpg/v1/fill/w_505,h_580,fp_0.50_0.50,q_80,usm_0.66_1.00_0.01,enc_auto/e1c714_e366dfe7bb42461abf8f794cf54503f0~mv2.jpg}}}Na proxima pratica será 23 a 28 de Julho. <<tiddler OpenWindow2 with:Inscrive-se https://www.ipemabrasil.org.br/event-details>>O curso pratica/virtual é não só uma oportunidade para aprender os principios, eticas e praticas da Permacultura, alem da plataforma UniGaia. Mas tambem um oportunidade a viver em uma comunidade da aprendizagem e praticar muito do que aprendemos. È uma imersão total, que a maioria das participantes contam que mudou seu vida e sua visão da vida.UniGaia-org tambem é disponivel a apresentar cursos residenciais em outras localidades e ate por empresas ou ONGs em forma interna. Contatar o UniGaia|mailto:skyepermacultor@unigaia-brasil.org para saber mais.!!Virtual{{large{{{center{PDC Virtual}}}}}}Por muitas pessoas 9 ou 10 dias para participar em um curso presencial é dificil organizar. Todos nos tem muitas demandas por nosso tempo e muitas obrigações a atender. Por isso, oferecemos um curso do PDC em forma virtual, auto-dirigido.Nesse curso voce terá acesso a plataforma do UniGaia onde pode estudar as temas da Permacultura em seu próprio tempo, e ritmo. Cada tema tem textos explicativos, videos a assistir, referencias e tarefas a ser feitos. Muitas das temas tem apresenetações para assistir e estudar. Voce terá acesso um banco dos dados e uma biblioteca virtual com centenas dos livros relevantes a Permacultura.Durante o curso você tem comunicação (via whatsapp) com os professores video conferencias podem será marcadas. A avaliação do curso é feito por um seres das tarefas a ser feitos, o maior deles sendo a pratica do design permacultural por seu propria propriedade, escola ou comunidade.{{center{<<tiddler OpenWindow2 with:Inscrição por PDC Virtual http://www.unigaia-brasil.org/Permacultura/index.html?Cursos/PDC>>}}}{{center{img(400px,auto)https://www.appliedglobal.com/wp-content/uploads/Higher-Learning-AGT.png}}}!!Biblioteca{{center{{{large{Biblioteca Permacultural}}}}}}Nos anos estudando e pesquisando, a UniGaia.org,eu vem acumular uma coleção de livros relevantes a Permacultura e forma pdf. Acesso esse biblioteca é livre e os livros podem ser lido on line ou ate abaixado para que voce podem estudar mesmo quando não conectado ao internet.{{center{<<tiddler OpenWindow2 with:Acessar a Biblioteca Permacultural http://www.unigaia-brasil.org/PDFs/test.html>>}}}{{center{img(400px,auto)https://1.bp.blogspot.com/-YpjRq78pL8w/YLBiZD_TU-I/AAAAAAAAAFg/ZvIf4vJLSaUsUlwpy5VIBnYjYHCnxU82ACLcBGAsYHQ/s1920/biblioteca-virtual-756955.jpg}}}!!???{{center{{{large{Qual é Permacultura}}}}}}Por muitas pessoas Permacultura é um conceito novo e ate estranho. Por isso construimos esta plataforma e permite acesso livre algumos cursos da introdução. Isso pode gerar questões ou duvidas a respeito a Permacultura e as temas embutidass. Por isso criamos um espaço onde pessoas interessadas podem lançar suas perguntas e receber respostas. Um tipo blog/perguntas frequentes. Acesso é livre.{{center{<<tiddler OpenWindow2 with:Acessar a Plataforma das Perguntas http://www.unigaia-brasil.org/PermaQue>>}}}{{center{img(400px,auto)https://jcra.ncsu.edu/events/2016/1277/permaculture-garden.jpg}}}!!MiniCursos{{center{{{large{Mini-Cursos}}}}}}Esses cursos introduzir a Permacultura, ou são cursos onde estudamos temas ligadas a Permacultura. A ideia é estudar temas de interesse especifica, sem necessidade fazer o compromiso a completar todo um PDC.As vezes são cursos mais introdutorios as temas da Permacultura e as vezes são efeitavemente cursos onde estudamos temas ligadas a Permacultura com MAIS profundidade do que seja posivel em um PDC. Em geral as cursos da introdução são livres para assistir, quandoos cursos aprofundizados são pagos. Estas cursos aprofundizados normalmente incluir tarefas a sera completadas e avaliadas e incluir uma certificação ao conclusão do curso.|{{medium{Cursos Aprofundizados}}}|{{medium{Cursos Introdutorios}}}||<<tiddler Nine##Aprofundizados>>|<<tiddler Nine##Introdutorios>>|{{center{img(350px,auto)https://i.pinimg.com/originals/e7/e7/dd/e7e7ddaccc353436acdfe748abd9cbbb.jpg}}}!!Aprofundizados{{mini{<script label"A Etica_Economica"> sessionStorage.login"Etica_Economica";config.refreshers.content(document.getElementById("login"));</script>}}}{{mini{<script label"Àgua Verde"> sessionStorage.login"Agua_Verde";config.refreshers.content(document.getElementById("login"));</script>}}}!!Introdutorios{{mini{<script label"Introdução a Permacultura">sessionStorage.login"Introducao_a_Permacultura";config.refreshers.content(document.getElementById("login"));</script>}}}{{mini{<script label"Adaptando as Mudancas Climaticas">sessionStorage.login"Adaptando_as_Mudancas_Climaticas"; config.refreshers.content(document.getElementById("login"));</script>}}}{{mini{<script label"Horta Organica"> sessionStorage.login"Horta_Organica";config.refreshers.content(document.getElementById("login"));</script>}}}!!UCE<img(150px,auto)../Images/SEDUC/UCE_2024.png{{center{{{large{UCEs}}} }}}Esses planos das aulas foram desenvolvido com Secretario da Educação do Ceará como recursos didáticas por professores do rede estadual da educação, responsáveis por UCEs ligadas a Permacultura. Eles são disponibilizados por todas as professores do SEDUC por platafaormaa interna, mas aqui são disponibilizados por professores afora o rede estudual e ate afora o estado.Accesso é livre.Cada plano da aula, tem lista das aulas por o UCE, com atividades, referencias, BNCC definidas e, varios incluim tambem apresentações disponiveis por os professores.Temas atualmente disponivel:{{medium{CNT041 - <<tiddler OpenWindow2 with:Introdução a Permacultura http://www.unigaia-brasil.org/Permacultura/index.html?Introducao_a_Permacultura(UCE)>>CNT030 - <<tiddler OpenWindow2 with:Biofilia http://www.unigaia-brasil.org/Permacultura/index.html?Biofilia(UCE)>>CNT018 - <<tiddler OpenWindow2 with:Mudanças Ambientais Globais http://www.unigaia-brasil.org/Permacultura/index.html?Desafios_Hoje>>CNT042 - <<tiddler OpenWindow2 with:Permacultura Urbana http://www.unigaia-brasil.org/Permacultura/index.html?Permacultira_Urbana>>CNT033 - <<tiddler OpenWindow2 with:Construindo Escola Sustentavel http://www.unigaia-brasil.org/Permacultura/index.html?Escola_Sustentavel>>CNT013 - <<tiddler OpenWindow2 with:Horta na Escola http://www.unigaia-brasil.org/Permacultura/index.html?Hortas_na_Escola>>CNT015 - <<tiddler OpenWindow2 with:Medicina Popular http://www.unigaia-brasil.org/Permacultura/index.html?Medicina_Popular>>CNT014 - <<tiddler OpenWindow2 with:Manejo Àgua na Escola http://www.unigaia-brasil.org/Permacultura/index.html?Manejo_Agua_na_Escola>>CNT058 - <<tiddler OpenWindow2 with:Mulheres que Inspiram a Ciençia http://www.unigaia-brasil.org/Permacultura/index.html?Mulheres_na_Ciencia>>CNS028 - <<tiddler OpenWindow2 with:Historia Moderna http://www.unigaia-brasil.org/Permacultura/index.html?Historia_Moderna>>CNT099 - <<tiddler OpenWindow2 with:Ciençia na Ficcão Cientifica http://www.unigaia-brasil.org/Permacultura/index.html?Ficcão_na_Ciencia>>CNS099 - <<tiddler OpenWindow2 with:Comviviencia com o SemiArido http://www.unigaia-brasil.org/Permacultura/index.html?Comviviencia_com_SemiArido>>CNT044 - <<tiddler OpenWindow2 with:Os Objetivos do desenvolvimento Sustentavel (UNO) http://www.unigaia-brasil.org/Permacultura/index.html?ODSs(UCE)>>}}}Professores do SEDUC (Ceará) como email institucional pode acessar os planos das aulas por <<tiddler OpenWindow2 with:Lista no AVA/CED https://drive.google.com/drive/u/4/folders/1gFfDAos_8uCzAq-7n4l_wuykp6PR3Zi2 >>!!Praticas{{center{{{large{Práticas de Permacultura}}}Além da Permacultura como uma ciência, uma filosofia da Vida e um movimento social, Permacultura também promove varias práticas. Atividades que em isolação não constituir um sistema Permacultural, mas que são utis na construção uma vida mais sustentável, mas ecológica e ate mais resiliente.Isso é uma lista ainda na produção e criação, com ideia auxiliar começar fazer algumas atividades simples em sua casa, sua escola ou sua comunidade.}}}<<tiddler OpenWindow2 with:Lista da Práticas http://www.unigaia-brasil.org/Permacultura/index.html?Curso_Praticas_Permaculturais>>Temas disponiveis ate agora, incluem:{{twocolumns{{{bold{Adubos CaseirosBerço AgroflorestalBiofertilizantesCanteiro InstantâneoCanteiro com Copos de CocoGongo-ompostagemHorta em BaldesHorta Olho de ChaveHorta em Paletes - Horta VerticalMinhocano - Vermicostagem SimplesMulch - Cuidando do SoloSAFS/Sistemas AgroflorestaisSombraVermicomposteira CaseiraPátios ProdutivosBunds - Infiltrando Água da ChuvaBarreiras com PlantasCı́rculos de BananeirasDique ao Conturno/SwaleJardins de ChuvaParedes de Pedras - Coletando mais ÁguaPiquete das GalinhasTrator de Galinhas}}}}}}{{center{img(300px,auto)https://greenglobaltravel.com/wp-content/uploads/Permaculture-Garden-Guide-Permaculture-Garden-by-Irene-Knightley-via-CC-e1457299182465.jpg}}}!!end%/}}}/pre>/div>div titleOne creatorOSeuNome modifierOSeuNome created202005240210 modified202406121740 changecount71>pre>{{block500{<img(120px,auto)http://veracidade.eco.br/wp-content/uploads/2017/09/12-principios-permacultura2.png{{center{Curso{{medium{Certificado de Design em Permacultura}}}{{large{<script label"PDC">sessionStorage.Nine"PDC"; config.refreshers.content(document.getElementById("nine"));</script>}}}O unico curso da Permacultura reconhecido internacionalmente, baseado no curricula original do Bill Mollison e atualizado por a secula 21.{{large{<script label"Hibrida">sessionStorage.Nine"Presencial"; config.refreshers.content(document.getElementById("nine"));</script> ou <script label"Virtual">sessionStorage.Nine"Virtual";config.refreshers.content(document.getElementById("nine"));</script>}}}}}}}}}{{block500{<img(120px,auto)https://hips.hearstapps.com/hmg-prod.s3.amazonaws.com/images/heart-healthy-food-1580231690.jpg{{large{{{center{<script label"Mini Cursos">sessionStorage.Nine"MiniCursos";config.refreshers.content(document.getElementById("nine"));</script>}}}}}}A UniGaia-Brasil.org oferece varios cursos cortos ligados a tema da Permacultura. A maioria são virtual usando sua propria plataforma, mas outras, as vezes são oferecidas em forma presencial.}}}{{block500{<img(80px,auto)../Images/SEDUC/UCE_2024.png{{center{Planos das Aulas{{large{<script label"Unidades Curriculares Eletivos">sessionStorage.Nine"UCE";config.refreshers.content(document.getElementById("nine"));</script>}}}{{medium{SEDUC - 2024}}} }}}Disponibilizamos planos das aulas por temas ligadas a Permacultura no catelogo dos UCEs publicados por SEDUC (Ceara) por 2024. Acesso é gratis.}}}{{block500{<img(80px,auto)../Images/SEDUC/Praticas.png{{center{{{large{<script label"Praticas de Permacultura">sessionStorage.Nine"Praticas";config.refreshers.content(document.getElementById("nine"));</script>}}}Descrições simples das varias das praticas mais utilizadas em Permacultura. Uma referencia bem Util.}}}}}}{{block500{{{center{{{large{<script label"Biblioteca Permacultural">sessionStorage.Nine"Biblioteca";config.refreshers.content(document.getElementById("nine"));</script>}}}}}}}}}{{block500{{{center{{{large{<script label"Que é Permacultura?">sessionStorage.Nine"???";config.refreshers.content(document.getElementById("nine"));</script>}}}}}}}}}/pre>/div>div titleOpenWindow2 creatorOSeuNome modifierOSeuNome created202406112102 modified202406121517 tagstransclucao changecount2>pre>{{mini{<script label"$1">window.open("$2","_parent","toolbaryes,scrollbarsyes,resizableyes,top50,left50");</script>}}}/pre>/div>div titlePageTemplate modifierOSeuNome created201304200112 modified202402202100 tagsexcludeLists formatting core report autosave server.typefile server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.page.revision201902171940 changecount7>pre><div idmainHead refreshcontent forcetrue tiddlerMainHead></div><div idstaticLocation refreshcontent forcetrue tiddlerStaticLocation></div><div idone refreshcontent forcetrue tiddlerOne></div><div idtwo refreshcontent forcetrue tiddlerTwo></div><div idthree refreshcontent forcetrue tiddlerThree></div><div idfour refreshcontent forcetrue tiddlerFour></div><div idnine refreshcontent forcetrue tiddlerNine></div><div idlogin refreshcontent forcetrue tiddlerLogin></div><div iddisplayArea><div idmessageArea></div><div idtiddlerDisplay></div></div>/pre>/div>div titlePasswordOptionPlugin modifierOSeuNome created200701172059 modified201304201341 tagssystemConfig excludeLists server.typefile server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.page.revision201304201341>pre>/***|Name:|PasswordOptionPlugin||Description:|Extends TiddlyWiki options with non encrypted password option.||Version:|1.0.2||Date:|Apr 19, 2007||Source:|http://tiddlywiki.bidix.info/#PasswordOptionPlugin||Author:|BidiX (BidiX (at) bidix (dot) info)||License:|BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ||~CoreVersion:|2.2.0 (Beta 5)|***///{{{version.extensions.PasswordOptionPlugin { major: 1, minor: 0, revision: 2, date: new Date("Apr 19, 2007"), source: http://tiddlywiki.bidix.info/#PasswordOptionPlugin, author: BidiX (BidiX (at) bidix (dot) info, license: BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D, coreVersion: 2.2.0 (Beta 5)};config.macros.option.passwordCheckboxLabel "Save this password on this computer";config.macros.option.passwordInputType "password"; // password | textsetStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");merge(config.macros.option.types, { pas: { elementType: "input", valueField: "value", eventName: "onkeyup", className: "pasOptionInput", typeValue: config.macros.option.passwordInputType, create: function(place,type,opt,className,desc) { // password field config.macros.option.genericCreate(place,pas,opt,className,desc); // checkbox linked with this password "save this password on this computer" config.macros.option.genericCreate(place,chk,chk+opt,className,desc); // text savePasswordCheckboxLabel place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel)); }, onChange: config.macros.option.genericOnChange }});merge(config.optionHandlerschk, { get: function(name) { // is there an option linked with this chk ? var opt name.substr(3); if (config.optionsopt) saveOptionCookie(opt); return config.optionsname ? "true" : "false"; }});merge(config.optionHandlers, { pas: { get: function(name) { if (config.options"chk"+name) { return encodeCookie(config.optionsname.toString()); } else { return ""; } }, set: function(name,value) {config.optionsname decodeCookie(value);} }});// need to reload options to load passwordOptionsloadOptionsCookie();/*if (!config.optionspasPassword) config.optionspasPassword ;merge(config.optionsDesc,{ pasPassword: "Test password" });*///}}}/pre>/div>div titlePluginManager modifierOSeuNome created201304201344 modified202004150345 tagsexcludeLists changecount1 server.page.revision201304201344 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre><<plugins>>/pre>/div>div titlePortugueseTranslationPlugin modifierOSeuNome created200805120944 modified201304200123 tagsexcludeLists systemConfig server.typefile server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.page.revision201304200123>pre>/***|Name:|PortugueseTranslationPlugin||Description:|Translation of TiddlyWiki into European Portuguese||Author:|Paulo Soares||Source:|http://www.math.ist.utl.pt/~psoares/addons.html||Version:|2.6.2||Date:|Jan 18, 2011||License:|Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/ ||~CoreVersion:|2.6.0|***//*{{{*/config.locale "pt"; // W3C language tagif (config.options.txtUserName"YourName") merge(config.options,{txtUserName: "OSeuNome"});merge(config.tasks,{ save: {text: "guardar", tooltip: "Guarda as alteracoes a este TiddlyWiki", action: saveChanges}, sync: {text: "sincronizar", tooltip: "Sincroniza alteracoes com outros ficheiros TiddlyWiki ou servidores", content: <<sync>>}, importTask: {text: "importar", tooltip: "Importa tiddlers e plugins de outros ficheiros TiddlyWiki ou servidores", content: <<importTiddlers>>}, tweak: {text: "configurar", tooltip: "Configura a aparencia e o comportamento do TiddlyWiki", content: <<options>>}, upgrade: {text: "actualizar", tooltip: "Actualiza o codigo central do TiddlyWiki", content: <<upgrade>>}, plugins: {text: "plugins", tooltip: "Gerir plugins instalados", content: <<plugins>>}});// Options that can be set in the options panel and/or cookiesmerge(config.optionsDesc,{ txtUserName: "Nome de utilizador para assinar as edicoes", chkRegExpSearch: "Activar expressoes regulares na procura", chkCaseSensitiveSearch: "Procura sense­vel a maiusculas", chkIncrementalSearch: "Procura incremental caracter-a-caracter", chkAnimate: "Activar animacoes", chkSaveBackups: "Manter ficheiro de salvaguarda ao guardar alteracoes", chkAutoSave: "Guardar alteracoes automaticamente", chkGenerateAnRssFeed: "Gerar um ficheiro RSS ao guardar alteracoes", chkSaveEmptyTemplate: "Gerar um modelo vazio ao guardar alteracoes", chkOpenInNewWindow: "Abrir ligacoes externas em novas janelas", chkToggleLinks: "Clicar em ligacoes para tiddlers abertos, fecha-os", chkHttpReadOnly: "Esconde funcoes de edicao quando acedido por HTTP", chkForceMinorUpdate: "Nao actualizar o nome de utilizador nem a data ao editar tiddlers", chkConfirmDelete: "Requerer confirmacao ao eliminar tiddlers", chkInsertTabs: "Usar a tecla TAB para inserir caracteres de tabulacao em vez de saltar para o proximo campo", txtBackupFolder: "Nome do directorio para os ficheiros de salvaguarda", txtMaxEditRows: "Numero maximo de linhas nas caixas de edicao", txtTheme: "Nome do tema a usar", txtFileSystemCharSet: "Codigo de caracteres por omissao para guardar alteracoes (apenas em Firefox/Mozilla)"});merge(config.messages,{ customConfigError: "Foram encontrados problemas ao carregar plugins. Veja o PluginManager para mais detalhes", pluginError: "Erro: %0", pluginDisabled: "Nao executado porque foi desactivado pela etiqueta systemConfigDisable", pluginForced: "Executado porque foi forcado pela etiqueta systemConfigForce", pluginVersionError: "Nao executado porque este plugin requer uma versao mais recente do TiddlyWiki", nothingSelected: "Nada esta selecionado. Deve selecionar um ou mais itens primeiro", savedSnapshotError: "Parece que este TiddlyWiki foi guardado incorrectamente. Por favor veja http://www.tiddlywiki.com/#Download para mais detalhes", subtitleUnknown: "(desconhecido)", undefinedTiddlerToolTip: "O tiddler %0 ainda nao existe", shadowedTiddlerToolTip: "O tiddler %0 ainda nao existe, mas tem um modelo pre-definido", tiddlerLinkTooltip: "%0 - %1, %2", externalLinkTooltip: "Ligacao externa a %0", noTags: "Nao ha tiddlers com etiquetas", notFileUrlError: "e‰ necessario guardar este TiddlyWiki num ficheiro antes de poder guardar alteracoes", cantSaveError: "Nao e posse­vel guardar alteracoes. Posse­veis razoes incluem:\n- o seu browser nao o permite (funciona sob Firefox, Internet Explorer, Safari ou Opera se estes estiverem configurados adequadamente)\n- o nome do caminho para o seu ficheiro TiddlyWiki contem caracteres ilegais\n- o nome ou a localizacao do ficheiro TiddlyWiki foram alterados", invalidFileError: "O ficheiro original %0 nao parece ser um TiddlyWiki valido", backupSaved: "Ficheiro de salvaguarda guardado", backupFailed: "Falha ao guardar o ficheiro de salvaguarda", rssSaved: "Ficheiro RSS guardado", rssFailed: "Falha ao guardar o ficheiro RSS", emptySaved: "Modelo vazio guardado", emptyFailed: "Falha ao guardar o modelo vazio", mainSaved: "Ficheiro principal de TiddlyWiki guardado", mainFailed: "Falha ao guardar o ficheiro principal de TiddlyWiki. As suas alteracoes nao foram guardadas", macroError: "Erro na macro <<%0>>", macroErrorDetails: "Erro ao executar a macro <<%0>>:\n%1", missingMacro: "Essa macro nao existe", overwriteWarning: "Um tiddler chamado %0 ja existe. Escolha OK para substitue­-lo", unsavedChangesWarning: "ATENCAO! Ha alteracoes no TiddlyWiki que ainda nao foram guardadas\n\nEscolha OK para guardar\nEscolha CANCEL para abandonar as alteracoes", confirmExit: "--------------------------------\n\nHa alteracoes no TiddlyWiki que ainda nao foram guardadas. Se continuar ira perder essas alteracoes\n\n--------------------------------", saveInstructions: "GuardarAlteracoes", unsupportedTWFormat: "Formato TiddlyWiki nao suportado %0", tiddlerSaveError: "Erro ao guardar tiddler %0", tiddlerLoadError: "Erro ao carregar tiddler %0", wrongSaveFormat: "Nao e posse­vel guardar no formato de armazenamento %0. Use o formato padrao para guardar.", invalidFieldName: "Nome de campo invalido %0", loadingMissingTiddler: "Tentando obter o tiddler %0 do servidor %1 em:\n\n%2 no espaco de trabalho %3", upgradeDone: "A actualizacao para a versao %0 esta completa\n\nClique OK para recarregar o TiddlyWiki actualizado", invalidCookie: "Cookie invalida %0"});merge(config.messages.messageClose,{ text: "fechar", tooltip: "fecha esta area de mensagens"});config.messages.backstage { open: {text: "bastidores", tooltip: "Abre a area de bastidores para executar tarefas de edicao e administracao"}, close: {text: "fechar", tooltip: "Fecha a area de bastidores"}, prompt: "bastidores: ", decal: { edit: {text: "editar", tooltip: "Edita o tiddler %0"} }};config.messages.listView { tiddlerTooltip: "Clique para ver o texto completo deste tiddler", previewUnavailable: "(antevisao nao dispone­vel)"};config.messages.dates.months "Janeiro","Fevereiro","Marco","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro";config.messages.dates.days "Domingo","Segunda","Terca","Quarta","Quinta","Sexta","Sabado";config.messages.dates.shortMonths "Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez";config.messages.dates.shortDays "Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab";merge(config.messages.tiddlerPopup,{ });merge(config.views.wikified.tag,{ labelNoTags: "sem etiquetas", labelTags: "etiquetas: ", openTag: "Abrir etiqueta %0", tooltip: "Abrir tiddlers etiquetados com %0", openAllText: "Abrir todos", openAllTooltip: "Abrir todos estes tiddlers", popupNone: "Nao ha outros tiddlers etiquetados com %0"});merge(config.views.wikified,{ defaultText: "O tiddler %0 ainda nao existe. Faca duplo-clique para cria-lo", defaultModifier: "(em falta)", shadowModifier: "(tiddler sombra pre-definido)", dateFormat: "DD MMM YYYY", createdPrompt: "criado em"});merge(config.views.editor,{ tagPrompt: "Escreva as etiquetas separadas por espacos, use duplos parenteses rectos se necessario, ou atribua existentes", defaultText: "Escreva o texto para %0"});merge(config.views.editor.tagChooser,{ text: "etiquetas", tooltip: "Escolha entre as etiquetas existentes para atribuir a este tiddler", popupNone: "Nao ha etiquetas definidas", tagTooltip: "Atribuir a etiqueta %0"});merge(config.messages,{ sizeTemplates: {unit: 1024*1024*1024, template: "%0\u00a0GB"}, {unit: 1024*1024, template: "%0\u00a0MB"}, {unit: 1024, template: "%0\u00a0KB"}, {unit: 1, template: "%0\u00a0B"} });merge(config.macros.search,{ label: "procurar", prompt: "Procura neste TiddlyWiki", accessKey: "F", successMsg: "%0 tiddlers encontrados que contem %1", failureMsg: "Nao foi encontrado nenhum tiddler que contenha %0"});merge(config.macros.tagging,{ label: "etiquetando:", labelNotTag: "nao etiquetando", tooltip: "Lista de tiddlers etiquetados com %0"});merge(config.macros.timeline,{ dateFormat: "DD MMM YYYY"});merge(config.macros.allTags,{ tooltip: "Mostra tiddlers com a etiqueta %0", noTags: "Nao ha tiddlers etiquetados"});config.macros.list.all.prompt "Todos os tiddlers em ordem alfabetica";config.macros.list.missing.prompt "Tiddlers com ligacoes para eles mas que nao existem";config.macros.list.orphans.prompt "Tiddlers sem ligacoes de outros tiddlers";config.macros.list.shadowed.prompt "Tiddlers na sombra com conteudo pre-definido";config.macros.list.touched.prompt "Tiddlers que foram modificados localmente";merge(config.macros.closeAll,{ label: "fechar todos", prompt: "Fecha todos os tiddlers abertos (excepto os que estao a ser editados)"});merge(config.macros.permaview,{ label: "permavista", prompt: "Ligacao a um URL que mostra todos os tiddlers que estao abertos"});merge(config.macros.saveChanges,{ label: "guardar alteracoes", prompt: "Guarda todas as alteracoes em ficheiro", accessKey: "S"});merge(config.macros.newTiddler,{ label: "novo tiddler", prompt: "Cria um novo tiddler", title: "Novo tiddler", accessKey: "N"});merge(config.macros.newJournal,{ label: "novo diario", prompt: "Cria um novo tiddler com a data e hora actuais", accessKey: "J"});merge(config.macros.options,{ wizardTitle: "Configurar opcoes avancadas", step1Title: "Estas opcoes sao guardadas em cookies no seu browser", step1Html: "<input typehidden namemarkList></input><br><input typecheckbox checkedfalse namechkUnknown>Mostra opcoes desconhecidas</input>", unknownDescription: "//(desconhecido)//", listViewTemplate: { columns: {name: Option, field: option, title: "Opcao", type: String}, {name: Description, field: description, title: "Descricao", type: WikiText}, {name: Name, field: name, title: "Nome", type: String} , rowClasses: {className: lowlight, field: lowlight} } });merge(config.macros.plugins,{ wizardTitle: "Gerir plugins", step1Title: "Plugins carregados", step1Html: "<input typehidden namemarkList></input>", // DO NOT TRANSLATE skippedText: "(Este plugin nao foi executado porque foi incluido depois do arranque)", noPluginText: "Nao ha plugins instalados", confirmDeleteText: "Tem a a certeza que quer eliminar estes plugins:\n\n%0", removeLabel: "remover a etiqueta systemConfig", removePrompt: "Remove a etiqueta systemConfig", deleteLabel: "eliminar", deletePrompt: "Elimina estes tiddlers para sempre", listViewTemplate: { columns: {name: Selected, field: Selected, rowName: title, type: Selector}, {name: Tiddler, field: tiddler, title: "Tiddler", type: Tiddler}, {name: Description, field: Description, title: "Descricao", type: String}, {name: Version, field: Version, title: "Versao", type: String}, {name: Size, field: size, tiddlerLink: size, title: "Tamanho", type: Size}, {name: Forced, field: forced, title: "Forcado", tag: systemConfigForce, type: TagCheckbox}, {name: Disabled, field: disabled, title: "Desactivado", tag: systemConfigDisable, type: TagCheckbox}, {name: Executed, field: executed, title: "Carregado", type: Boolean, trueText: "Sim", falseText: "Nao"}, {name: Startup Time, field: startupTime, title: "Tempo de arranque", type: String}, {name: Error, field: error, title: "Estado", type: Boolean, trueText: "Erro", falseText: "OK"}, {name: Log, field: log, title: "Registo", type: StringList} , rowClasses: {className: error, field: error}, {className: warning, field: warning} }, listViewTemplateReadOnly: { columns: {name: Tiddler, field: tiddler, title: "Tiddler", type: Tiddler}, {name: Description, field: Description, title: "Descricao", type: String}, {name: Version, field: Version, title: "Versao", type: String}, {name: Size, field: size, tiddlerLink: size, title: "Tamanho", type: Size}, {name: Executed, field: executed, title: "Carregado", type: Boolean, trueText: "Sim", falseText: "Nao"}, {name: Startup Time, field: startupTime, title: "Tempo de inicializacao", type: String}, {name: Error, field: error, title: "Estado", type: Boolean, trueText: "Erro", falseText: "OK"}, {name: Log, field: log, title: "Registo", type: StringList} , rowClasses: {className: error, field: error}, {className: warning, field: warning} } });merge(config.macros.toolbar,{ moreLabel: "mais", morePrompt: "Mostra comandos adicionais", lessLabel: "menos", lessPrompt: "Esconde comandos adicionais", separator: "|" });merge(config.macros.refreshDisplay,{ label: "refresca", prompt: "Refresca a apresentacao de todo o TiddlyWiki" });merge(config.macros.importTiddlers,{ readOnlyWarning: "Nao pode importar para um ficheiro TiddlyWiki so de leitura. Tente abrir a partir de um URL do tipo file://", wizardTitle: "Importar tiddlers de outro ficheiro TiddlyWiki ou servidor", step1Title: "Passo 1: Localize o servidor ou o ficheiro TiddlyWiki", step1Html: "Especifique o tipo de servidor: <select nameselTypes><option value>Escolha...</option></select><br>Escreva o URL ou o caminho aqui: <input typetext size50 nametxtPath><br>...ou procure um ficheiro: <input typefile size50 nametxtBrowse><br><hr>...ou selecione uma localizacao pre-definida: <select nameselFeeds><option value>Escolha...</option></select>", openLabel: "abrir", openPrompt: "Abre a ligacao a este ficheiro ou servidor", statusOpenHost: "Abrindo o anfitriao", statusGetWorkspaceList: "Obtendo a lista de espacos de trabalho dispone­veis", step2Title: "Passo 2: Escolha o espaco de trabalho", step2Html: "Escreva o nome de um espaco de trabalho: <input typetext size50 nametxtWorkspace><br>...or selecione um espaco de trabalho: <select nameselWorkspace><option value>Escolha...</option></select>", cancelLabel: "cancelar", cancelPrompt: "Cancela esta importacao", statusOpenWorkspace: "Abrindo o espaco de trabalho", statusGetTiddlerList: "Obtendo a lista de tiddlers dispone­veis", errorGettingTiddlerList: "Erro ao transferir a lista de tiddlers, clique em Cancelar para tentar novamente", step3Title: "Passo 3: Escolha os tiddlers para importar", step3Html: "<input typehidden namemarkList></input><br><input typecheckbox checkedtrue namechkSync>Manter estes tiddlers ligados a este servidor para poder sincronizar mudancas subsequentes</input><br><input typecheckbox namechkSave>Guardar os detalhes deste servidor num tiddler systemServer chamado:</input> <input typetext size25 nametxtSaveTiddler>", importLabel: "importar", importPrompt: "Importa estes tiddlers", confirmOverwriteText: "Tem a certeza que quer substituir estes tiddlers:\n\n%0", step4Title: "Passo 4: Importando %0 tiddler(s)", step4Html: "<input typehidden namemarkReport></input>", // DO NOT TRANSLATE doneLabel: "fechar", donePrompt: "Fecha este assistente", statusDoingImport: "Importando tiddlers", statusDoneImport: "Todos os tiddlers importados", systemServerNamePattern: "%2 de %1", systemServerNamePatternNoWorkspace: "%1", confirmOverwriteSaveTiddler: "O tiddler %0 ja existe. Clique OK para o substituir pelos detalhes deste servidor, ou Cancel para manter sem alteracoes", serverSaveTemplate: "|Tipo:|%0|\n|URL:|%1|\n|Espaco de trabalho:|%2|\n\nEste tiddler foi criado automaticamente para registar os detalhes deste servidor", serverSaveModifier: "(Sistema)", listViewTemplate: { columns: {name: Selected, field: Selected, rowName: title, type: Selector}, {name: Tiddler, field: tiddler, title: "Tiddler", type: Tiddler}, {name: Size, field: size, tiddlerLink: size, title: "Tamanho", type: Size}, {name: Tags, field: tags, title: "Etiquetas", type: Tags} , rowClasses: } });merge(config.macros.upgrade,{ wizardTitle: "Actualizacao do codigo central do TiddlyWiki", step1Title: "Actualize ou repare este TiddlyWiki para a versao mais recente", step1Html: "Vai proceder com a actualizacao para o codigo central do TiddlyWiki mais recente (a partir de <a href%0 classexternalLink target_blank>%1</a>). O seu conteudo sera preservado pela actualizacao.<br><br>Note que as actualizacoes do codigo central podem interferir com plugins antigos. Se tiver problemas com o ficheiro actualizado, veja <a hrefhttp://www.tiddlywiki.org/wiki/CoreUpgrades classexternalLink target_blank>http://www.tiddlywiki.org/wiki/CoreUpgrades</a>", errorCantUpgrade: "Nao e posse­vel actualizar este TiddlyWiki. So sao posse­veis as actualizacoes de ficheiros TiddlyWiki guardados localmente", errorNotSaved: "e‰ necessario guardar modificacoes antes de actualizar", step2Title: "Confirme os detalhes da actualizacao", step2Html_downgrade: "Vai regredir para a versao %0 do TiddlyWiki a partir da versao %1.<br><br>Regredir para uma versao anterior do codigo central nao e recomendado", step2Html_restore: "Parece que este TiddlyWiki ja usa a ultima versao do codigo central (%0).<br><br>Pode continuar a actualizacao para garantir que o codigo central nao foi corrompido ou danificado", step2Html_upgrade: "Vai actualizar o TiddlyWiki da versao %1 para a versao %0", upgradeLabel: "actualizar", upgradePrompt: "Prepare-se para o processo de actualizacao", statusPreparingBackup: "A preparar copia de seguranca", statusSavingBackup: "A guardar copia de seguranca", errorSavingBackup: "Ocorreu um problema ao guardar a copia de seguranca", statusLoadingCore: "A transferir o codigo central", errorLoadingCore: "Erro ao transferir o codigo central", errorCoreFormat: "Erro com o novo codigo central", statusSavingCore: "A guardar o novo codigo central", statusReloadingCore: "A recarregar o novo codigo central", startLabel: "iniciar", startPrompt: "Inicie a actualizacao", cancelLabel: "cancelar", cancelPrompt: "Cancele a actualizacao", step3Title: "Actualizacao cancelada", step3Html: "A actualizacao foi cancelada" });merge(config.macros.sync,{ listViewTemplate: { columns: {name: Selected, field: selected, rowName: title, type: Selector}, {name: Tiddler, field: tiddler, title: "Tiddler", type: Tiddler}, {name: Server Type, field: serverType, title: "Tipo de servidor", type: String}, {name: Server Host, field: serverHost, title: "Anfitriao do servidor", type: String}, {name: Server Workspace, field: serverWorkspace, title: "Espaco de trabalho do servidor", type: String}, {name: Status, field: status, title: "Estado da sincronizacao", type: String}, {name: Server URL, field: serverUrl, title: "URL do servidor", text: "Ver", type: Link} , rowClasses: , buttons: {caption: "Sincroniza este tiddlers", name: sync} }, wizardTitle: "Sincronizar com ficheiros ou servidores externos", step1Title: "Escolha os tiddlers que quer sincronizar", step1Html: "<input typehidden namemarkList></input>", // DO NOT TRANSLATE syncLabel: "sincronizar", syncPrompt: "Sincroniza este tiddlers", hasChanged: "Alterado enquanto desligado", hasNotChanged: "Sem alteracoes enquanto desligado", syncStatusList: { none: {text: "...", display:none, className:notChanged}, changedServer: {text: "Alterado no servidor", display:null, className:changedServer}, changedLocally: {text: "Alterado enquanto desligado", display:null, className:changedLocally}, changedBoth: {text: "Alterado enquanto desligado e no servidor", display:null, className:changedBoth}, notFound: {text: "Nao encontrado no servidor", display:null, className:notFound}, putToServer: {text: "Actualizado no servidor", display:null, className:putToServer}, gotFromServer: {text: "Obtida actualizacao do servidor", display:null, className:gotFromServer} } });merge(config.macros.annotations,{ });merge(config.commands.closeTiddler,{ text: "fechar", tooltip: "Fecha este tiddler"});merge(config.commands.closeOthers,{ text: "isolar", tooltip: "Fecha todos os outros tiddlers"});merge(config.commands.editTiddler,{ text: "editar", tooltip: "Edita este tiddler", readOnlyText: "ver", readOnlyTooltip: "Ver o conteudo deste tiddler"});merge(config.commands.saveTiddler,{ text: "guardar", tooltip: "Guarda as alteracoes a este tiddler"});merge(config.commands.cancelTiddler,{ text: "cancelar", tooltip: "Cancela as alteracoes a este tiddler", warning: "Tem a certeza que quer cancelar as alteracoes a %0?", readOnlyText: "voltar", readOnlyTooltip: "Ver este tiddler normalmente"});merge(config.commands.deleteTiddler,{ text: "eliminar", tooltip: "Elimina este tiddler", warning: "Tem a certeza que quer eliminar %0?"});merge(config.commands.permalink,{ text: "permaligacao", tooltip: "Permaligacao para este tiddler"});merge(config.commands.references,{ text: "referencias", tooltip: "Mostra tiddlers que ligam a este", popupNone: "Sem referencias"});merge(config.commands.jump,{ text: "saltar", tooltip: "Salta para outro tiddler aberto"});merge(config.commands.syncing,{ text: "sinc", tooltip: "Controla sincronizacao deste tiddler com um servidor ou ficheiro externo", currentlySyncing: "<div>Sincronizando via <span classpopupHighlight>%0</span> para:</"+"div><div>anfitriao: <span classpopupHighlight>%1</span></"+"div><div>espaco de trabalho: <span classpopupHighlight>%2</span></"+"div>", // Note escaping of closing <div> tag notCurrentlySyncing: "Sem sincronizacao", captionUnSync: "Parar sincronizacao deste tiddler", chooseServer: "Sincronizar este tiddler com outro servidor:", currServerMarker: "\u25cf ", notCurrServerMarker: " "});merge(config.commands.fields,{ text: "campos", tooltip: "Mostra os campos estendidos deste tiddler", emptyText: "Este tiddler nao tem campos estendidos", listViewTemplate: { columns: {name: Field, field: field, title: "Campo", type: String}, {name: Value, field: value, title: "Valor", type: String} , rowClasses: , buttons: }});merge(config.shadowTiddlers,{ DefaultTiddlers: "ComoIniciar", MainMenu: "ComoIniciar", ComoIniciar: "Para comecar a usar este TiddlyWiki vazio tera de modificar os seguintes tiddlers:\n* SiteTitle & SiteSubtitle: O te­tulo e o subte­tulo do site, como pode ver acima (depois de guardar as alteracoes, eles aparecerao tambem na barra de te­tulo do browser)\n* MainMenu: O menu (usualmente e esquerda)\n* DefaultTiddlers: Contem o nome dos tiddlers que pretende que aparecam quando o TiddlyWiki e aberto\nSera tambem necessario inserir o nome de utilizador que servira para assinar as edicoes: <<option txtUserName>>", SiteTitle: "O meu TiddlyWiki", SiteSubtitle: "um bloco de notas reutilizavel e nao-linear na web", SiteUrl: "", SideBarOptions: <<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal "DD MMM YYYY">><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "opcoes \u00bb" "Muda as opcoes avancadas do TiddlyWiki">>, OptionsPanel: "Estas opcoes de personalizacao do TiddlyWiki ficam guardadas no seu browser\n\nO seu nome de utilizador para assinar os textos. Use uma PalavraWiki (eg, JoseSilva)\n\n<<option txtUserName>>\n<<option chkSaveBackups>> GuardarSalvaguardas\n<<option chkAutoSave>> AutoGuardar\n<<option chkRegExpSearch>> ProcuraExpReg\n<<option chkCaseSensitiveSearch>> ProcuraSense­vMaiusc\n<<option chkAnimate>> ActivarAnimacoes\n\n----\nVeja as OpcoesAvancadas|AdvancedOptions", SideBarTabs: <<tabs txtMainTab "Data" "Tiddlers por ordem cronologica" TabTimeline "Te­tulo" "Tiddlers por ordem alfabetica" TabAll "Etiquetas" "Todas as etiquetas" TabTags "Mais" "Mais listas" TabMore>>, TabMore: <<tabs txtMoreTab "Em falta" "Tiddlers em falta" TabMoreMissing "e“rfaos" "Tiddlers sem ligacoes de outros tiddlers" TabMoreOrphans "Sombra" "Tiddlers na sombra" TabMoreShadowed>>, ToolbarCommands: "|~ViewToolbar|closeTiddler closeOthers +editTiddler > fields syncing permalink references jump|\n|~EditToolbar|+saveTiddler -cancelTiddler deleteTiddler|"});merge(config.annotations,{ AdvancedOptions: "Este tiddler sombra da acesso a varias opcoes avancadas", ColorPalette: "Estes valores neste tiddler sombra determinam o esquema de cores do interface de utilizador do ~TiddlyWiki", DefaultTiddlers: "Os tiddlers listados neste tiddler sombra serao automaticamente abertos no arranque do ~TiddlyWiki", EditTemplate: "O modelo em HTML neste tiddler sombra determina o aspecto dos tiddlers enquanto sao editados", ComoIniciar: "Este tiddler sombra fornece algumas instrucoes basicas de utilizacao", ImportTiddlers: "Este tiddler sombra da acesso e importacao de tiddlers", MainMenu: "Este tiddler sombra e usado como conteudo do menu principal na coluna da esquerda do ecran", MarkupPreHead: "Este tiddler e inserido no topo da seccao <head> do ficheiro TiddlyWiki", MarkupPostHead: "Este tiddler e inserido no fundo da seccao <head> do ficheiro TiddlyWiki", MarkupPreBody: "Este tiddler e inserido no topo da seccao <body> do ficheiro TiddlyWiki", MarkupPostBody: "Este tiddler e inserido no fim da seccao <head> do ficheiro TiddlyWiki immediatamente apos o bloco <script>", OptionsPanel: "Este tiddler sombra e usado como conteudo do painel deslizante de opcoes na barra lateral da direita", PageTemplate: "O modelo em HTML neste tiddler sombra determina o aspecto geral do ~TiddlyWiki", PluginManager: "Este tiddler sombra da acesso ao gestor de plugins", SideBarOptions: "Este tiddler sombra e usado como conteudo do painel de opcoes na barra lateral da direita", SideBarTabs: "Este tiddler sombra e usado como conteudo do painel de abas na barra lateral da direita", SiteSubtitle: "Este tiddler sombra e usado como a segunda parte do te­tulo da pagina", SiteTitle: "Este tiddler sombra e usado como a primeira parte do te­tulo da pagina", SiteUrl: "Este tiddler sombra deve conter o URL completo para publicacao", StyleSheetColors: "Este tiddler sombra contem definicoes CSS relacionadas com a cor dos elementos da pagina. NeÆ’O EDITE ESTE TIDDLER, em vez disso faca as suas alteracoes no tiddler sombra StyleSheet", StyleSheet: "Este tiddler pode conter definicoes CSS do utilizador", StyleSheetLayout: "Este tiddler sombra contem definicoes CSS relacionadas com a disposicao dos elementos da pagina. NeÆ’O EDITE ESTE TIDDLER, em vez disso faca as suas alteracoes no tiddler sombra StyleSheet", StyleSheetLocale: "Este tiddler sombra contem definicoes CSS relacionadas com traducoes", StyleSheetPrint: "Este tiddler sombra contem definicoes CSS relacionadas com a impressao", SystemSettings: "Este tiddler e usado para guardar opcoes de configuracao deste documento ~TiddlyWiki", TabAll: "Este tiddler sombra define o conteudo da aba Te­tulo na barra lateral da direita", TabMore: "Este tiddler sombra define o conteudo da aba Mais na barra lateral da direita", TabMoreMissing: "Este tiddler sombra define o conteudo da aba Em falta na barra lateral da direita", TabMoreOrphans: "Este tiddler sombra define o conteudo da aba e“rfaos na barra lateral da direita", TabMoreShadowed: "Este tiddler sombra define o conteudo da aba Sombra na barra lateral da direita", TabTags: "Este tiddler sombra define o conteudo da aba Etiquetas na barra lateral da direita", TabTimeline: "Este tiddler sombra define o conteudo da aba Data na barra lateral da direita", ToolbarCommands: "Este tiddler sombra determina quais os comandos que aparecem na barra de ferramentas dos tiddlers", ViewTemplate: "O modelo em HTML neste tiddler sombra determina o aspecto dos tiddlers" });delete config.shadowTiddlers.GettingStarted;/*}}}*//pre>/div>div titleProjetos modifierOSeuNome created201805271833 modified202005232141 tagsexcludeLists android changecount32 server.typefile server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.page.revision201805282300>pre>{{right{<<showPopup tiddler:Projetos##Texto label:TextoNovo width:500px popupClass:sticky>> . <<showPopup tiddler:Projetos##PDF label:UploadPDF width:500px popupClass:sticky>>}}}Um parte essencial do curso, é seu projeto pratico. Mostrando o eixo central da Permacultura, o planejamento. Projetos podem tomar varias formas, paisagistas, organizacional, criação cursos ou apresentações...... Projetos podem ser individual ou em consorcio com colegas na mesma escola ou comunidade.Aqui buscamos arrumar os documentos que voce produzira em suporte seu projeto.__Doc Existentes__<script>var lista""; var xmlHttp null; xmlHttp new XMLHttpRequest(); var discFile"Cursos/"+localStorage.curso+"/"+localStorage.username+"/Projeto/lista.txt"; xmlHttp.open( "GET",discFile, false); xmlHttp.send( null ); var indexListaxmlHttp.responseText;if(xmlHttp.status!200){indexLista"empty";}//return indexLista+"no"+xmlHttp.status;var tidsindexLista.split("#");for(i0;i<tids.length-1;i++){var detstidsi.split("|");dets3dets3.replace(".pdf","");var link"";if(dets3){link<script label"+dets3+">sessionStorage.item"+dets3+";sessionStorage.dir"Cursos/+localStorage.curso+/+localStorage.username+/Projeto";sessionStorage.tipo"pdf";if(sessionStorage.pdfdisplay"closed"){displayTiddler(true,"PDFDisplay");}if(sessionStorage.pdfdisplay"open"){story.refreshTiddler("PDFDisplay", null,true);}sessionStorage.pdfdisplay"open";</scri+pt>;}lista+__+dets1+__ ( +dets0+) +dets2+ - +link+<br>;}return lista;</script>/%!!PDF<html><nowiki><form enctype"multipart/form-data" action"http://www.unigaia-brasil.org/escolasResilientes/uploadFile.php" method"POST" targetresponseframe><input type"text" name "titulo" value"" style"width:200px;">Titulo Simples (sem espacos e sem acentos)<br><textarea name"comment" rows"6" cols"48" style"width:400px;"></textarea><br>Breve Descrição (opcional)<br><input typehidden name"username"><input typehidden name"escola"><input typehidden name"curso"><input typehidden name"when"><input type"file" name"fileToUpload" id"fileToUpload" style"width:200px;"><br><input type"submit" value"submit" onclick><br></form><iframe src"" name"responseframe" id"responseframe" marginheight0 style"display:block;border:0;padding:0;margin:0;width:100%;height:4em;"></iframe></html><script>var formplace.lastChild.getElementsByTagName(form)0;form.username.valuelocalStorage.username;form.escola.valuelocalStorage.escola;form.curso.valuelocalStorage.curso;var datenew Date();form.when.valuedate.formatString("YYYY-MM-DD");</script>!! Texto<html><nowiki><form action"addProjetoTexto.php" method"POST" targetresponseframe><input type"text" name "titulo" value"" style"width:200px;">Titulo Simples (sem espacos e sem acentos)<br><textarea name"comment" rows"18" cols"48" style"width:400px;"></textarea><br>Descrição<br><input typehidden name"username"><input typehidden name"escola"><input typehidden name"curso"><input typehidden name"when"><input type"submit" value"submit" onclick></form><iframe src"" name"responseframe" id"responseframe" marginheight0 style"display:block;border:0;padding:0;margin:0;width:100%;height:4em;"></iframe></html><script>var formplace.lastChild.getElementsByTagName(form)0;form.username.valuelocalStorage.username;form.escola.valuelocalStorage.escola;form.curso.valuelocalStorage.curso;var datenew Date();form.when.valuedate.formatString("YYYY-MM-DD");</script>!!end%//pre>/div>div titleRegSEDUC creatorOSeuNome modifierOSeuNome created202109102312 modified202402231717 changecount27>pre> <html><nowiki><form action"chkReg.php" method"POST" target"responseFrame"><input typetext namecurso value"">Curso<br><input typetext namefullname value"">Nome Completo<br><input typetext namecpf value"">CPF<br><input typetext nameusername value"">Nome Usuario por esse Curso<br><input typehidden namewhen value""><input typetext nameescola value""><br><input typetext namedisciplina value""><br><input typetext nameemail value"">Email<br><input typetext namewhatsapp value"">Whatsapp<br><input typesubmit value"Confirma Seus Detalhes" onclicklocalStorage.usernamethis.form.username.value;localStorage.emailthis.form.email.value;localStorage.cpfthis.form.cpf.value;localStorage.escolathis.form.escola.value;localStorage.whatsappthis.form.whatsapp.value;window.location.assign("http://www.unigaia-brasil.org/PDC/index.html#txtTema:CoverPage");></form><iframe src"" name"responseFrame" id"responseFrame" width500px height50px style"border:0;"></iframe></html><script>var formplace.lastChild.getElementsByTagName(form)0;form.curso.valuelocalStorage.curso;form.fullname.valuelocalStorage.fullname;form.cpf.valuelocalStorage.cpf;form.username.valuelocalStorage.username;form.escola.valuelocalStorage.escola;form.disciplina.valuelocalStorage.disciplina;form.email.valuelocalStorage.email;form.whatsapp.valuelocalStorage.whatsapp;</script>Nota:Porfavor confirmar que suas dados são certos. Onde necessario. Clicar "Confirma Seus Detalhes"..e o sistema redirecionar vocẽ por a pagina inicial da Plataforma Unigaia.Como nome usuario do curso, usamos seu nome e sobrenome (simples e sim acentos). Em caso que vocẽ é reconhecido por outro nome (muitas pessoas usam a segunda nome quando seu primeiro nome é mais comun), vocẽ podem digitar esse nome mais reconhecido, mas porfavor digitar esse nome em formato "NomePreferido_Sobrenome". Em caso que isso gera uma duplicação a dentro nosso sistema, vamos te avisa.<script label"??">var usernameprompt("nome do usurario");localStorage.usernameusername;var cpfprompt("seu CPF - 11 numeros");localStorage.cpfcpf;localStorage.curso"PDC_SEDUC_2021";return "voce esta tentando registrar como "+localStorage.username+ " - CPF:"+localStorage.cpf;</script>/pre>/div>div titleRegUDV creatorOSeuNome modifierOSeuNome created202109102322 modified202109102322 changecount2>pre><html><nowiki><form action"chkReg.php" method"POST" target"responseFrame"><input typetexxt namecurso value"">Curso<br><input typetext namefullname value"">Nome Completo<br><input typetext namecpf value"">CPF<br><input typetext name"username" value"">Nome Usuario por esse Curso<br><input typehidden namewhen value""><input typetext nameemail value"">Email<br><input typetext namewhatsapp value"">Whatsapp<br><input typesubmit value"Confirma Seus Detalhes" onclickwindow.location.assign("http://www.unigaia-brasil.org/PDC/index.html#txtTema:CoverPage");></form><iframe src"" name"responseFrame" id"responseFrame" width500px height50px style"border:0;"></iframe></html><script>var formplace.lastChild.getElementsByTagName(form)0;form.curso.valuelocalStorage.curso;form.fullname.valuelocalStorage.fullname;form.cpf.valuelocalStorage.cpf;form.username.valuelocalStorage.username;form.email.valuelocalStorage.email;form.whatsapp.valuelocalStorage.whatsapp;</script>Nota:Porfavor confirmar que suas dados são certos. Onde necessario. Clicar "Confirma Seus Detalhes"..e o sistema redirecionar vocẽ por a pagina inicial da Plataforma Unigaia.Como nome usuario do curso, usamos seu nome e sobrenome (simples e sim acentos). Em caso que vocẽ é reconhecido por outro nome (muitas pessoas usam a segunda nome quando seu primeiro nome é mais comun), vocẽ podem digitar esse nome mais reconhecido, mas porfavor digitar esse nome em formato "NomePreferido_Sobrenome". Em caso que isso gera uma duplicação a dentro nosso sistema, vamos te avisa./pre>/div>div titleRightHere creatorOSeuNome modifierOSeuNome created202004070029 modified202004070142 tagsexcludeLists formatting changecount43>pre>{{floatright{<script>/// $1 no items, $2width, $3tipo (img,youtube.... $4url do $3.........var item"";var lista"";var limit"$1";return limit;for(i1;ilimit;i++){itemi"$"+parseInt(i);}return item4;</script>}}}<<tiddler RightHere with: 6 300 img http://www.bbc.co.uk/staticarchive/e11416dac86f6d3a5ce40bf75f23f4f25fd89eb6.jpg img http://www.bbc.co.uk/staticarchive/e11416dac86f6d3a5ce40bf75f23f4f25fd89eb6.jpg>>for(i3;i<$1*2;i+2){item"$"+parseInt(i+1);url"$"+parseInt(i+2);return i+" item"+item+" url"+url;if(item"img"){return "found one";lista+"img("+$2+"px,auto)url";}}return "{{{"+lista+"}}}";/pre>/div>div titleSetIconPlugin creatorOSeuNome modifierOSeuNome created200805091124 modified201908291922 tagsexcludeLists systemConfig changecount1 server.typefile server.hosthttp://tiddlytools.com server.page.revision201110030355>pre>/***|Name|SetIconPlugin||Source|http://www.TiddlyTools.com/#SetIconPlugin||Documentation|http://www.TiddlyTools.com/#SetIconPluginInfo||Version|1.9.1||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.3||Type|plugin||Description|add an image to a toolbar, macro, or slider link|!!!!!Documentation>see SetIconPluginInfo!!!!!Configuration<<<<<option chkIconsShowImage>> show images on links<<option chkIconsShowText>> include link text with imagesdefault image style: {{stretch{<<option txtIconsCSS>>}}}<<<!!!!!Revisions<<<2011.10.02 1.9.1 use plain text instead of innerHTML for link tooltips2011.10.02 1.9.0 added find:... macro param (for use with tabsets)| see SetIconPluginInfo for additional revision details |2008.05.09 1.0.0 initial release (as inline script)<<<!!!!!Code***///{{{version.extensions.SetIconPlugin {major: 1, minor: 9, revision: 1, date: new Date(2011,10,2)};if (config.options.chkIconsShowImageundefined) config.options.chkIconsShowImagetrue;if (config.options.chkIconsShowTextundefined) config.options.chkIconsShowTexttrue;if (config.options.txtIconsCSSundefined) config.options.txtIconsCSS"vertical-align:middle;width:auto;height:auto";config.macros.setIcon { handler: function(place,macroName,params,wikifier,paramString,tiddler) { if (!config.options.chkIconsShowImage) return; // text-only - do nothing var srcparams0; if (!src) return; // no image src specified - do nothing var pparamString.parseParams(name,null,true,false,true); var labelgetParam(p,find); if (label) params.shift(); // optional find:"..." var cssparams1; if (!css||!css.length) cssconfig.options.txtIconsCSS; var afterparams2&¶ms2.toUpperCase()"RIGHT"; var notextparams2&¶ms2.toUpperCase()"NOTEXT"; // find nearest link element var btnplace.lastChild; // look for sibling link while (btn && (btn.nodeName!"A" || label&&!btn.innerHTML.startsWith(label))) btnbtn.previousSibling; if (!btn) { // look for child link var linksplace.getElementsByTagName("A"); for (var ilinks.length-1; i>0; i--) if (!label || linksi.innerHTML.startsWith(label)) { btnlinksi; break; } } if (!btn) { // look for parent link var btnplace.parentNode.lastChild; while (btn && (btn.nodeName!"A" || label&&!btn.innerHTML.startsWith(label))) btnbtn.previousSibling; } if (!btn) { // look for cousin link (e.g. TABS in TABSETS) var linksplace.parentNode.getElementsByTagName("A"); for (var ilinks.length-1; i>0; i--) if (!label || linksi.innerHTML.startsWith(label)) { btnlinksi; alert(found); break; } } if (!btn) return; // cant find a link - do nothing // set icon and command text/tip var txtbtn.innerHTML; var tipgetPlainText(btn); if (config.macros.attach && config.macros.attach.isAttachment(src)) srcconfig.macros.attach.getAttachment(src); // retrieve attachment (if any) btn.innerHTML"<img src"+src+" style"+css+">"; if (config.options.chkIconsShowText && !notext) btn.innerHTMLafter?txt+btn.innerHTML:btn.innerHTML+txt; else btn.titletip+" - "+btn.title; // add text to tooltip // adjust nested slider button text/tip if (btn.getAttribute("closedtext")!null) { btn.setAttribute("closedtext",btn.innerHTML); btn.setAttribute("openedtext",btn.innerHTML); if (!config.options.chkIconsShowText || notext) { btn.setAttribute("closedtip",txt.toUpperCase()+": "+btn.getAttribute("closedtip")); btn.setAttribute("openedtip",txt.toUpperCase()+": "+btn.getAttribute("openedtip")); } } }};//}}}/pre>/div>div titleShowPopupPlugin modifierOSeuNome created201105061548 modified201902180258 tagsexcludeLists systemConfig server.page.revision201902180258 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre>/***|Name|ShowPopupPlugin||Source|http://www.TiddlyTools.com/#ShowPopupPlugin||Version|2.1.1||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.1||Type|plugin||Description|display tiddler content in a TiddlyWiki popup panel|!!!!!Documenatation>see ShowPopupPluginInfo!!!!!Revisions<<<2011.03.13 2.1.1 in click(), removed check for popup already shown (prevents nested popups!)| Please see ShowPopupPluginInfo for previous revision details |2006.09.09 1.0.0 initial release (transclusion)<<<!!!!!Code***///{{{version.extensions.ShowPopupPlugin { major:2, minor:1, revision:1, date:new Date(2011,3,13) };config.macros.showPopup { tip: display "%0" in a popup, init: function() { config.shadowTiddlers.ShowPopup <<showPopup tiddler:$1 label:"$2" tip:"$3" buttonClass:"button $4" width:"$5" popupClass:"$6" "$7">>; config.annotations.ShowPopup created by ShowPopupPlugin; }, handler: function(place,macroName,params,wikifier,paramString,tiddler) { var pparamString.parseParams(name,null,true,false,true); var tidgetParam(p,tiddler,TiddlerName); var labelgetParam(p,label,tid); var tipgetParam(p,tip,this.tip.format(tid)); var buttonClassgetParam(p,buttonClass,); var widthgetParam(p,width,auto); var popupClassgetParam(p,popupClass,); var aboveparams.contains(above); var mouseoverparams.contains(mouseover); var bcreateTiddlyButton(place, label, tip, this.click, buttonClass, null, null, { tid:tid, popupClass:popupClass, width:width, above:above }); b.innerHTMLlabel; // render HTML for entities, images, etc if (mouseover) b.onmouseoverb.onclick; // option: mouseover triggers click }, click: function(ev) { var evev||window.event; // DISABLED if (Popup.find(this)!-1)return false; // popup already shown! var pPopup.create(this); if(!p)return false; // popup not created! addClass(p,this.getAttribute(popupClass)); var dcreateTiddlyElement(p,div); var sd.style; s.whiteSpacenormal; s.widththis.getAttribute(width); s.padding2px; wikify(store.getTiddlerText(this.getAttribute(tid),),d); if (this.getAttribute(above)!true) Popup.show(); else Popup.show(top,left,{x:0,y:-jQuery(d).outerHeight()}); ev.cancelBubbletrue; if(ev.stopPropagation)ev.stopPropagation(); return false; }}//}}}/pre>/div>div titleSideBarOptions modifierOSeuNome created201208262109 modified201902202150 tagsexcludeLists server.page.revision201808090146 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile changecount1>pre><<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal "DD MMM YYYY" "journal">><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "options »" "Change TiddlyWiki advanced options">>{{fourcolumns{<<tiddler SideBarTabs>>}}}/pre>/div>div titleSimpleMessagePlugin modifierOSeuNome created201012282040 modified201902180256 tagsexcludeLists systemConfig server.page.revision201902180256 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre>/***|Name|SimpleMessagePlugin||Version|0.1||Author|Michael Mahemoff, Osmosoft||License:|BSD open source license||~CoreVersion|2.2|***//*{{{*/(function() {if(!version.extensions.SimpleMessagePlugin) { version.extensions.SimpleMessagePlugin {installed:true}; version.extensions.SimpleMessagePlugin.delay 2000; var timer; var _displayMessage displayMessage; displayMessage function() { if (timer) { timernull; clearTimeout(timer); } timer setTimeout(clearMessage, version.extensions.SimpleMessagePlugin.delay); _displayMessage.apply(this, arguments); } var _clearMessage clearMessage; clearMessage function() { clearTimeout(timer); return _clearMessage.apply(this, arguments); }} // end of install only once})();/*}}}*//pre>/div>div titleSinglePageModePlugin modifierOSeuNome created200508151715 modified201806261722 tagsexcludeLists systemConfig server.page.revision201806261722 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre>/***|Name|SinglePageModePlugin||Source|http://www.TiddlyTools.com/#SinglePageModePlugin||Documentation|http://www.TiddlyTools.com/#SinglePageModePluginInfo||Version|2.9.7||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.1||Type|plugin||Description|Show tiddlers one at a time with automatic permalink, or always open tiddlers at top/bottom of page.|This plugin allows you to configure TiddlyWiki to navigate more like a traditional multipage web site with only one tiddler displayed at a time.!!!!!Documentation>see SinglePageModePluginInfo!!!!!Configuration<<<<<option chkSinglePageMode>> Display one tiddler at a time><<option chkSinglePagePermalink>> Automatically permalink current tiddler><<option chkSinglePageKeepFoldedTiddlers>> Dont close tiddlers that are folded><<option chkSinglePageKeepEditedTiddlers>> Dont close tiddlers that are being edited<<option chkTopOfPageMode>> Open tiddlers at the top of the page<<option chkBottomOfPageMode>> Open tiddlers at the bottom of the page<<option chkSinglePageAutoScroll>> Automatically scroll tiddler into view (if needed)Notes:* The "display one tiddler at a time" option can also be //temporarily// set/reset by including a paramifier in the document URL: {{{#SPM:true}}} or {{{#SPM:false}}}.* If more than one display mode is selected, one at a time display takes precedence over both top and bottom settings, and if one at a time setting is not used, top of page takes precedence over bottom of page.* When using Apples Safari browser, automatically setting the permalink causes an error and is disabled.<<<!!!!!Revisions<<<2010.11.30 2.9.7 use story.getTiddler()2008.10.17 2.9.6 changed chkSinglePageAutoScroll default to false| Please see SinglePageModePluginInfo for previous revision details |2005.08.15 1.0.0 Initial Release. Support for BACK/FORWARD buttons adapted from code developed by Clint Checketts.<<<!!!!!Code***///{{{version.extensions.SinglePageModePlugin {major: 2, minor: 9, revision: 7, date: new Date(2010,11,30)};//}}}//{{{config.paramifiers.SPM { onstart: function(v) { config.options.chkSinglePageModeeval(v); if (config.options.chkSinglePageMode && config.options.chkSinglePagePermalink && !config.browser.isSafari) { config.lastURL window.location.hash; if (!config.SPMTimer) config.SPMTimerwindow.setInterval(function() {checkLastURL();},1000); }} };//}}}//{{{if (config.options.chkSinglePageModeundefined) config.options.chkSinglePageModefalse;if (config.options.chkSinglePagePermalinkundefined) config.options.chkSinglePagePermalinktrue;if (config.options.chkSinglePageKeepFoldedTiddlersundefined) config.options.chkSinglePageKeepFoldedTiddlersfalse;if (config.options.chkSinglePageKeepEditedTiddlersundefined) config.options.chkSinglePageKeepEditedTiddlersfalse;if (config.options.chkTopOfPageModeundefined) config.options.chkTopOfPageModefalse;if (config.options.chkBottomOfPageModeundefined) config.options.chkBottomOfPageModefalse;if (config.options.chkSinglePageAutoScrollundefined) config.options.chkSinglePageAutoScrollfalse;//}}}//{{{config.SPMTimer 0;config.lastURL window.location.hash;function checkLastURL(){ if (!config.options.chkSinglePageMode) { window.clearInterval(config.SPMTimer); config.SPMTimer0; return; } if (config.lastURL window.location.hash) return; // no change in hash var tidsdecodeURIComponent(window.location.hash.substr(1)).readBracketedList(); if (tids.length1) // permalink (single tiddler in URL) story.displayTiddler(null,tids0); else { // restore permaview or default view config.lastURL window.location.hash; if (!tids.length) tidsstore.getTiddlerText("DefaultTiddlers").readBracketedList(); story.closeAllTiddlers(); story.displayTiddlers(null,tids); }}if (Story.prototype.SPM_coreDisplayTiddlerundefined) Story.prototype.SPM_coreDisplayTiddlerStory.prototype.displayTiddler;Story.prototype.displayTiddler function(srcElement,tiddler,template,animate,slowly){ var title(tiddler instanceof Tiddler)?tiddler.title:tiddler; var tiddlerElemstory.getTiddler(title); // null unless tiddler is already displayed var optconfig.options; var singleopt.chkSinglePageMode && !startingUp; var topopt.chkTopOfPageMode && !startingUp; var bottomopt.chkBottomOfPageMode && !startingUp; if (single) { story.forEachTiddler(function(tid,elem) { // skip current tiddler and, optionally, tiddlers that are folded. if ( tidtitle || (opt.chkSinglePageKeepFoldedTiddlers && elem.getAttribute("folded")"true")) return; // if a tiddler is being edited, ask before closing if (elem.getAttribute("dirty")"true") { if (opt.chkSinglePageKeepEditedTiddlers) return; // if tiddler to be displayed is already shown, then leave active tiddler editor as is // (occurs when switching between view and edit modes) if (tiddlerElem) return; // otherwise, ask for permission var msg""+tid+" is currently being edited.nn"; msg+"Press OK to save and close this tiddlernor press Cancel to leave it opened"; if (!confirm(msg)) return; else story.saveTiddler(tid); } story.closeTiddler(tid); }); } else if (top) arguments0null; else if (bottom) arguments0"bottom"; if (single && opt.chkSinglePagePermalink && !config.browser.isSafari) { window.location.hash encodeURIComponent(String.encodeTiddlyLink(title)); config.lastURL window.location.hash; document.title wikifyPlain("SiteTitle") + " - " + title; if (!config.SPMTimer) config.SPMTimerwindow.setInterval(function() {checkLastURL();},1000); } if (tiddlerElem && tiddlerElem.getAttribute("dirty")"true") { // editing... move tiddler without re-rendering var isTopTiddler(tiddlerElem.previousSiblingnull); if (!isTopTiddler && (single || top)) tiddlerElem.parentNode.insertBefore(tiddlerElem,tiddlerElem.parentNode.firstChild); else if (bottom) tiddlerElem.parentNode.insertBefore(tiddlerElem,null); else this.SPM_coreDisplayTiddler.apply(this,arguments); // let CORE render tiddler } else this.SPM_coreDisplayTiddler.apply(this,arguments); // let CORE render tiddler var tiddlerElemstory.getTiddler(title); if (tiddlerElem&&opt.chkSinglePageAutoScroll) { // scroll to top of page or top of tiddler var isTopTiddler(tiddlerElem.previousSiblingnull); var yPosisTopTiddler?0:ensureVisible(tiddlerElem); // if animating, defer scroll until after animation completes var delayopt.chkAnimate?config.animDuration+10:0; setTimeout("window.scrollTo(0,"+yPos+")",delay); }}if (Story.prototype.SPM_coreDisplayTiddlersundefined) Story.prototype.SPM_coreDisplayTiddlersStory.prototype.displayTiddlers;Story.prototype.displayTiddlers function() { // suspend single/top/bottom modes when showing multiple tiddlers var optconfig.options; var saveSPMopt.chkSinglePageMode; opt.chkSinglePageModefalse; var saveTPMopt.chkTopOfPageMode; opt.chkTopOfPageModefalse; var saveBPMopt.chkBottomOfPageMode; opt.chkBottomOfPageModefalse; this.SPM_coreDisplayTiddlers.apply(this,arguments); opt.chkBottomOfPageModesaveBPM; opt.chkTopOfPageModesaveTPM; opt.chkSinglePageModesaveSPM;}//}}}/pre>/div>div titleStartHere creatorYourName modifierOSeuNome created201606150012 modified202406112244 tagsnoTitle server.typefile server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.page.revision201909160126 changecount127>pre><script>sessionStorage.Nine"start";config.refreshers.content(document.getElementById("nine"));</script>/pre>/div>div titleStaticLocation creatorOSeuNome modifierOSeuNome created202005250317 modified202005250405 tagsexcludeLists noTitle changecount6>pre>/pre>/div>div titleStickyPopupPlugin modifierOSeuNome created201105061550 modified201902180257 tagsexcludeLists systemConfig server.page.revision201902180257 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre>/***|Name|StickyPopupPlugin||Source|http://www.TiddlyTools.com/#StickyPopupPlugin||Version|1.0.1||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.1||Type|plugin||Description|allow mouse interactions inside popups without automatically closing them|Usually, when a TW popup is displayed, it is automatically closed whenever a click occurs //anywhere// in the document, either //inside// or //outside// the popup itself. This plugin makes popups persistent (a.k.a, "sticky"), allowing you to perform multiple mouse interactions on content //inside// the popup (e.g., entering form fields, opening links, selecting text, etc.), remaining visible until you click //outside// the popup or perform an action that opens another popup (only one popup can be displayed at any given time).!!!!!Configuration<<<You can cause popups to behave in a persistent ("sticky") manner simply by selecting the option checkbox below. The selected popup display behavior will be applied to ALL popups in the document automatically.><<option chkStickyPopups>> make all popups "sticky">{{{usage: <<option chkStickyPopups>>}}}<<<!!!!!Usage<<<If you are developing your own plugins or inline scripts that create popups programmatically using the core function:{{{Popup.create(this)}}}you can provide additional parameters that specify the desired CSS classname(s) to assign to the popup DOM element. The default class when none is specified is simply "popup". To create a //sticky// popup, simply enter a custom class combination like this:{{{Popup.create(this,null,"sticky popup")}}}<<<!!!!!Revisions<<<2008.05.16 1.0.1 added try..catch around addEvent/removeEvent calls to avoid error in Opera2007.11.25 1.0.0 initial release - moved from CoreTweaks<<<!!!!!Code***///{{{version.extensions.StickyPopupPlugin {major: 1, minor: 0, revision: 1, date: new Date(2008,5,16)};if (config.options.chkStickyPopupsundefined) config.options.chkStickyPopupsfalse;Popup.stickyPopup_onDocumentClick function(ev){ // if click is in a sticky popup, ignore it so popup will remain visible var e ev ? ev : window.event; var target resolveTarget(e); var ptarget; while (p) { if (hasClass(p,"popup") && (hasClass(p,"sticky")||config.options.chkStickyPopups)) break; else pp.parentNode; } if (!p) // not in sticky popup (or sticky popups disabled)... use normal click handling Popup.onDocumentClick(ev); return true;};try{removeEvent(document,"click",Popup.onDocumentClick);}catch(e){};try{addEvent(document,"click",Popup.stickyPopup_onDocumentClick);}catch(e){};//}}}/pre>/div>div titleStyleSheet modifierOSeuNome created201304200113 modified202406112207 tagsexcludeLists noTitle server.page.revision202003290151 server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.typefile changecount495>pre>body { background-color:#C4F6F8;font-family: Helvetica; color:#024D51;}#contentWrapper a:link, a:visited, a:active {text-decoration: bold; color:#1A7074; background-color: transparent; }#contentWrapper a:hover {text-decoration: none; color:#10585C; background-color: ColorB1; }#contentWrapper .button {background-color: transparent; border-color: ColorS2; border-width: 0px;}#contentWrapper .button:hover {background-color: ColorB1; border-width: 0px;}#contentWrapper {border:0; color:maroon;margin:0 auto;color:#052224;}#contentWrapper{width:1000px;height:800px;background-color:#C4F6F8;}#staticLocation{position:static;left:10px;top:30px;width:1px;height:1px;background-color:yellow;}#mainHead {position:relative;left:0px; height:80px;width:1000px;background-color:transparent;}#one {position:relative; top:-30px;left:0px;height:600px;width:500px; opacity:0.8; z-index:10; background_color:red;}#nine {position:relative;left:510px;top:-630px;height:600px;width:490px;z-index:25; opacity:0.8;background-color:lightyellow;}#login {position:relative;left:300px;top:-1150px;height:10px;width:10px;z-index:35; background-color:transparent;}#displayArea {position:relative; top:-560px; left:-180px;width:500px;height:600px;z-index:20;}.header { background-color: #edead5; height: 50px;left:150px; top:-50px;}.tiddlyLinkExisting .tiddlyLink {color:red;}.externalLink {color:red;} .viewer img{margin-right:10px;}.viewer {text-align: left; width: 100%; height:100%;padding: 0.5em 20px 0em .5em;z-index:30;}/*.viewer h1, h2, h3, h4 {color: ColorT1; background-color: transparent; font-weight: bold; font-style: italic; padding: 0em 0em 0em 0em; margin: 0em 0em 0em 0em; display: block;}/*.viewer h1 {font-sytle: normal; font-variant: small-caps; background-color: ColorB1;}/*.viewer img {width: 95%; margin: 0em 20px 0em 20px;}/*.title {font-weight: normal; color: ColorT3; display: inline; padding: 0.2em 1em 1em 0.25em; border-style: solid; border-width: 1px 0px 0px 1px; border-padding: 0em 0em 0em 0em; border-color: ColorT3; }*/.toolbar {color:#BF2323; border-bottom:1px solid#BF2323; }/*.subtitle {display: none; padding: 0em 0em 0em 3em; }*/.editor {padding: 0.75em 0em 0em 2em; height: 550% ; line-height: 100%; }.editor textarea {height: 40em; }.title {font-size:10pt;font-weight:bold;}.popup {background-color:springgreen; color:brown; width:auto; height:auto;border-style:solid;border-radius:1em;padding:5px 5px 5px 5px;}.popup a:link {color:blue;font-weight:bold;border-width:0px;}.popupInfo {background-color:beige; color:brown; width:auto; height:auto;border-style:solid;border-radius:1em;padding:5px 5px 5px 5px;}.yellow {background-color:yellow; color:brown; width:auto; height:auto;border-style:solid;border-radius:0.1em;padding:1px 5px 5px 1px;}.palegreen {background-color:palegreen; color:deepgreen; width:auto; height:auto;border-style:solid;border-radius:0.1em;padding:1px 5px 5px 1px;}.sandybrown {background-color:sandybrown; color:beige; width:auto; height:auto;border-style:solid;border-radius:1em;padding:5px 5px 5px 5px;}.orange {color:orange; width:auto; height:auto;border-style:none;border-radius:1em;padding:5px 5px 5px 5px;}.brown {background-color:orange; color:blown; width:auto; height:auto;border-style:solid;border-radius:1em;padding:5px 5px 5px 5px;}.black {color:black; width:auto; height:auto;border-style:none;border-radius:1em;padding:5px 5px 5px 5px;}/* IE fix */body {position:static;}.tagClear{margin-top:1em;clear:both;}#messageArea {background-color: ColorB1; position: absolute; top: 0; right: 0; }#backstageButton a{background:none;color:transparent;}#backstageButton a:link{background:none;color:transparent;}.breadCrumbs a {border: 1px solid; padding: 0px 1em; -moz-border-radius-topleft:.5em; -moz-border-radius-topright:.5em; -webkit-border-top-left-radius:.5em; -webkit-border-top-right-radius:.5em;}.foto1{position:relative;top:0px;left:0px;width:600px;height:400px;border-width:1px 3px 3px 1px;border-radius: .1em;z-index:30;}.foto2{position:relative;top:-450px;left:0px;width:600px;height:400px;border-width:1px 3px 3px 1px;border-radius: .1em;z-index:31;opacity:0.8;}.foto3{position:relative;top:-900px;left:0px;width:600px;height:400px;border-width:1px 3px 3px 1px;border-radius: .1em;z-index:32;opacity:0.8;}StyleSheetShortcuts/pre>/div>div titleStyleSheetLayout creatorOSeuNome modifierOSeuNome created201908281819 modified202005240052 tagsexcludeLists sistem changecount2 server.typefile server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.page.revision201912070152>pre>/*{{{*/* html .tiddler {height:1%;}body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}h4,h5,h6 {margin-top:1em;}h1 {font-size:1.35em;}h2 {font-size:1.25em;}h3 {font-size:1.1em;}h4 {font-size:1em;}h5 {font-size:.9em;}hr {height:1px;}a {text-decoration:none;}dt {font-weight:bold;}ol {list-style-type:decimal;}ol ol {list-style-type:lower-alpha;}ol ol ol {list-style-type:lower-roman;}ol ol ol ol {list-style-type:decimal;}ol ol ol ol ol {list-style-type:lower-alpha;}ol ol ol ol ol ol {list-style-type:lower-roman;}ol ol ol ol ol ol ol {list-style-type:decimal;}.txtOptionInput {width:11em;}#contentWrapper .chkOptionInput {border:0;}.externalLink {text-decoration:underline;}.indent {margin-left:3em;}.outdent {margin-left:3em; text-indent:-3em;}code.escaped {white-space:nowrap;}.tiddlyLinkExisting {font-weight:bold;}.tiddlyLinkNonExisting {font-style:italic;}/* the a is required for IE, otherwise it renders the whole tiddler in bold */a.tiddlyLinkNonExisting.shadow {font-weight:bold;}#mainMenu .tiddlyLinkExisting, #mainMenu .tiddlyLinkNonExisting, #sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}.header {position:relative;}.header a:hover {background:transparent;}.headerShadow {position:relative; padding:4.5em 0 1em 1em; left:-1px; top:-1px;}.headerForeground {position:absolute; padding:4.5em 0 1em 1em; left:0; top:0;}.siteTitle {font-size:3em;}.siteSubtitle {font-size:1.2em;}#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}#sidebarOptions {padding-top:0.3em;}#sidebarOptions a {margin:0 0.2em; padding:0.2em 0.3em; display:block;}#sidebarOptions input {margin:0.4em 0.5em;}#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}#sidebarOptions .sliderPanel input {margin:0 0 0.3em 0;}#sidebarTabs .tabContents {width:15em; overflow:hidden;}.wizard {padding:0.1em 1em 0 2em;}.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}.wizardStep {padding:1em 1em 1em 1em;}.wizard .button {margin:0.5em 0 0; font-size:1.2em;}.wizardFooter {padding:0.8em 0.4em 0.8em 0;}.wizardFooter .status {padding:0 0.4em; margin-left:1em;}.wizard .button {padding:0.1em 0.2em;}#messageArea {position:fixed; top:2em; right:0; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}.messageToolbar {display:block; text-align:right; padding:0.2em;}#messageArea a {text-decoration:underline;}.tiddlerPopupButton {padding:0.2em;}.popupTiddler {position: absolute; z-index:300; padding:1em; margin:0;}.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}.popup .popupMessage {padding:0.4em;}.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0;}.popup li.disabled {padding:0.4em;}.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}.listBreak {font-size:1px; line-height:1px;}.listBreak div {margin:2px 0;}.tabset {padding:1em 0 0 0.5em;}.tab {margin:0 0 0 0.25em; padding:2px;}.tabContents {padding:0.5em;}.tabContents ul, .tabContents ol {margin:0; padding:0;}.txtMainTab .tabContents li {list-style:none;}.tabContents li.listLink { margin-left:.75em;}#contentWrapper {display:block;}#splashScreen {display:none;}#displayArea {margin:1em 17em 0 14em;}.toolbar {text-align:right; font-size:.9em;}//.tiddler {padding:1em 1em 0;}.tiddler {padding:0em 1em 0;}.missing .viewer,.missing .title {font-style:italic;}.title {font-size:1.6em; font-weight:bold;}.missing .subtitle {display:none;}.subtitle {font-size:1.1em;}.tiddler .button {padding:0.2em 0.4em;}.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}.isTag .tagging {display:block;}.tagged {margin:0.5em; float:right;}.tagging, .tagged {font-size:0.9em; padding:0.25em;}.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}.tagClear {clear:both;}.footer {font-size:.9em;}.footer li {display:inline;}.annotation {padding:0.5em; margin:0.5em;}* html .viewer pre {width:99%; padding:0 0 1em 0;}.viewer {line-height:1.4em; padding-top:0.5em;}.viewer .button {margin:0 0.25em; padding:0 0.25em;}.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}table.listView {font-size:0.85em; margin:0.8em 1.0em;}table.listView th, table.listView td, table.listView tr {padding:0 3px 0 3px;}.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}.viewer code {font-size:1.2em; line-height:1.4em;}.editor {font-size:1.1em;}.editor input, .editor textarea {display:block; width:100%; font:inherit;}.editorFooter {padding:0.25em 0; font-size:.9em;}.editorFooter .button {padding-top:0; padding-bottom:0;}.fieldsetFix {border:0; padding:0; margin:1px 0px;}.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}.zoomer div {padding:1em;}* html #backstage {width:99%;}* html #backstageArea {width:99%;}#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em;}#backstageToolbar {position:relative;}#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}#backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}#backstageButton a {padding:0.1em 0.4em; margin:0.1em;}#backstage {position:relative; width:100%; z-index:50;}#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}.backstagePanelFooter {padding-top:0.2em; float:right;}.backstagePanelFooter a {padding:0.2em 0.4em;}#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}.whenBackstage {display:none;}.backstageVisible .whenBackstage {display:block;}/*}}}*//pre>/div>div titleStyleSheetShortcuts modifierOSeuNome created201304200139 modified202406112207 tagsexcludeLists formatting core autosave android server.page.revision202003271627 server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.typefile changecount56>pre>/***|Name|StyleSheetShortcuts||Source|http://www.TiddlyTools.com/#StyleSheetShortcuts||Version|||Author|Eric Shulman - ELS Design Studios||License|http://www.TiddlyTools.com/#LegalStatements <br>and Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/||~CoreVersion|2.1||Type|CSS||Requires|||Overrides|||Description|convenience classes for common formatting, alignment, boxes, tables, etc.|These style tweaks can be easily included in other stylesheet tiddler so they can share a baseline look-and-feel that can then be customized to create a wide variety of flavors.***//*{{{*//* text alignments */.left { display:block;text-align:left; }.center { display:block;text-align:center;z-indez:2; }.right { display:block;text-align:right; }.justify { display:block;text-align:justify; }.indent { display:block;margin:0;padding:0;border:0;margin-left:2em; }.floatleft { float:left; }.floatright { float:right; }.valignTop, .valignTop table, .valignTop tbody, .valignTop th, .valignTop tr, .valignTop td { vertical-align:top; }.valignBottom, .valignBottom table, .valignBottom tbody, .valignBottom th, .valignBottom tr, .valignBottom td { vertical-align:bottom; }.clear { clear:both; }.wrap { white-space:normal; }.nowrap { white-space:nowrap; }.hidden { display:none; }.show { display:inline !important; }.span { display:span; }.block { display:block; }.relative { position:relative; }.absolute { position:absolute; }.vertical {-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg); -o-transform: rotate(270deg);}/* font sizes */.grand { font-size:24pt;line-height:150%;font-weight:bold; font-family:Tahoma, sans-serif;}.large { font-size:18pt;line-height:120%;font-weight:bold; }.big { font-size:14pt;line-height:110% }.medium { font-size:12pt;line-height:110% }.normal { font-size:9pt;line-height:120% }.small { font-size:8pt;line-height:120% }.fine { font-size:7pt;line-height:120% }.tiny { font-size:6pt;line-height:120% }.larger { font-size:120%; }.smaller { font-size:80%; }.blink {text-decoration:blink;}/* font styles */.bold { font-weight:bold; }.italic { font-style:italic; }.underline { text-decoration:underline; }/* plain list items (no bullets or indent) */.nobullets li { list-style-type: none; margin-left:-2em; }/* multi-column tiddler content (not supported in Internet Explorer) */.twocolumns { display:block; -moz-column-count:2; -moz-column-gap:1em; -moz-column-width:50%; /* FireFox */ -webkit-column-count:2; -webkit-column-gap:1em; -webkit-column-width:50%; /* Safari */ column-count:2; column-gap:1em; column-width:50%; /* Opera */}.threecolumns { display:block; -moz-column-count:3; -moz-column-gap:1em; -moz-column-width:33%; /* FireFox */ -webkit-column-count:3; -webkit-column-gap:1em; -webkit-column-width:33%; /* Safari */ column-count:3; column-gap:1em; column-width:33%; /* Opera */}.fourcolumns { display:block; -moz-column-count:4; -moz-column-gap:1em; -moz-column-width:25%; /* FireFox */ -webkit-column-count:4; -webkit-column-gap:1em; -webkit-column-width:25%; /* Safari */ column-count:4; column-gap:1em; column-width:25%; /* Opera */}.fivecolumns { display:block; -moz-column-count:5; -moz-column-gap:1em; -moz-column-width:20%; /* FireFox */ -webkit-column-count:5; -webkit-column-gap:1em; -webkit-column-width:20%; /* Safari */ column-count:5; column-gap:1em; column-width:20%; /* Opera */}/* show/hide browser-specific content for InternetExplorer vs. non-IE ("moz") browsers */*class"ieOnly" { display:none; } /* hide in moz (uses CSS selector) */* html .mozOnly, *:first-child+html .mozOnly { display: none; } /* hide in IE (uses IE6/IE7 CSS hacks) *//* borderless tables */.borderless, .borderless table, .borderless td, .borderless tr, .borderless th, .borderless tbody { border:0 !important; margin:0 !important; padding:0 !important; }.widetable, .widetable table { width:100%; }/* thumbnail images (fixed-sized scaled images) */.thumbnail img { height:5em !important; }/* stretchable images (auto-size to fit tiddler) */.stretch img { width:95%; }/* grouped content */.outline { display:block; padding:5px; border:1px solid; background-color:beige; }.outlineDiscuss { display:block; padding:5px; border:1px solid; background-color:beige;width:300px;height:200px; }.menubox { display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; border:1px solid; background:#fff; color:#000; }.menubox .button, .menubox .tiddlyLinkExisting, .menubox .tiddlyLinkNonExisting { color:#009 !important; }.groupbox { display:block; padding:2px; border-style:solid;border-color:#996633;border-width:1px 3px 1px 3px;border-radius: 1em; background: -webkit-gradient(linear, left top, left bottom, from(DashBoard::top), to(DashBoard::button)); background: -moz-linear-gradient(top, DashBoard::top, DashBoard::button);color:#000; }.bookmarklet{padding:2px; border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color:bisque; }.apresenta{padding:2px; border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color:bisque; }.dropdown{padding:2px; border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color:azure; }.materia{padding:2px; border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color:gold; }.openWindow{padding:2px; border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color:lightgrey; }.mini{display:line;padding:2px; border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color: ivory;width:50px; }.mini:hover{display:line;padding:2px; border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color: #00e6e6;width:50px; }.blockMedium{display:block;padding:2px; border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color:lightyellow;width:400px; }.block500{display:block;padding:2px; border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color:#d1f8fa;width:500px; opacity:0.9;}.block9{display:block;padding:2px; border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color:#d1f8fa;width:480px; height:600px;opacity:0.9;}.login{display:block;padding:2px;border-radius:.5em;-webkit-border-radius:.5em; border:1px solid; background-color:lightgreen;width:500px; height:500px;opacity:0.95;}.groupbox a, .groupbox .button, .groupbox .tiddlyLinkExisting, .groupbox .tiddlyLinkNonExisting { color:#009 !important; }.groupbox code { color:#333 !important; }.borderleft { margin:0;padding:0;border:0;margin-left:1em; border-left:1px dotted; padding-left:.5em; }.borderright { margin:0;padding:0;border:0;margin-right:1em; border-right:1px dotted; padding-right:.5em; }.borderbottom { margin:0;padding:1px 0;border:0;border-bottom:1px dotted; margin-bottom:1px; padding-bottom:1px; }.bordertop { margin:0;padding:0;border:0;border-top:1px dotted; margin-top:1px; padding-top:1px; }/* compact form */.smallform { white-space:nowrap; }.smallform input, .smallform textarea, .smallform button, .smallform checkbox, .smallform radio, .smallform select { font-size:8pt; }/* stretchable edit fields and textareas (auto-size to fit tiddler) */.stretch input { width:99%; }.stretch textarea { width:99%; }/* compact input fields (limited to a few characters for entering percentages and other small values) */.onechar input { width:1em; }.twochar input { width:2em; }.threechar input { width:3em; }.fourchar input { width:4em; }.fivechar input { width:5em; }/* text colors */.green { color:#0c0 !important }.red { color:#f66 !important }.blue { color:#99f !important }.gray { color:#999 !important }/* rollover highlighting */.mouseover {color:ColorPalette::TertiaryLight !important;}.mouseover a {color:ColorPalette::TertiaryLight !important;}.selected .mouseover {color:ColorPalette::Foreground !important;}.selected .mouseover .button, .selected .mouseover a {color:ColorPalette::PrimaryDark !important;}/* rollover zoom text */.zoomover { font-size:80% !important; }.selected .zoomover { font-size:100% !important; }/*}}}*//pre>/div>div titleTaggedTemplateTweak modifierOSeuNome created201902171846 tagsexcludeLists systemConfig server.typefile server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.page.revision201902171846>pre>/***|Name|TaggedTemplateTweak||Source|http://www.TiddlyTools.com/#TaggedTemplateTweak||Documentation|http://www.TiddlyTools.com/#TaggedTemplateTweakInfo||Version|1.6.1||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.1||Type|plugin||Description|use alternative ViewTemplate/EditTemplate for specific tiddlers|This plugin extends the core function, story.chooseTemplateForTiddler(), so that any given tiddler can be viewed and/or edited using alternatives to the standard tiddler templates.!!!!!Documentation>see TaggedTemplateTweakInfo!!!!!Revisions<<<2009.09.02 1.6.1 apply field-based template (if any) *before* tag-based template| please see TaggedTemplateTweakInfo for previous revision details |2007.06.11 1.0.0 initial release<<<!!!!!Code***///{{{version.extensions.TaggedTemplateTweak {major: 1, minor: 6, revision: 1, date: new Date(2009,9,2)};if (!config.options.txtTemplateTweakFieldname) config.options.txtTemplateTweakFieldnametemplate;Story.prototype.taggedTemplate_chooseTemplateForTiddler Story.prototype.chooseTemplateForTiddlerStory.prototype.chooseTemplateForTiddler function(title,template){ // get core template and split into theme and template name var coreTemplatethis.taggedTemplate_chooseTemplateForTiddler.apply(this,arguments); var theme""; var templatecoreTemplate; var partstemplate.split(config.textPrimitives.sectionSeparator); if (parts1) { themeparts0; templateparts1; } else themeconfig.options.txtTheme||""; // if theme is not specified theme+config.textPrimitives.sectionSeparator; // look for template using title as prefix if (!store.getTaggedTiddlers(title).length) { // if tiddler is not a tag if (store.getTiddlerText(theme+title+template)) { return theme+title+template; } // theme##TitleTemplate if (store.getTiddlerText(title+template)) { return title+template; } // TitleTemplate } // look for templates using custom field value as prefix var vstore.getValue(title,config.options.txtTemplateTweakFieldname); if (store.getTiddlerText(theme+v+template)) { return theme+v+template; } // theme##valueTemplate if (store.getTiddlerText(v+template)) { return v+template; } // valueTemplate // look for template using tags as prefix var tiddlerstore.getTiddler(title); if (!tiddler) return coreTemplate; // tiddler doesnt exist... use core result for (i0; i<tiddler.tags.length; i++) { var ttiddler.tagsi+template; // add tag prefix to template var ct.substr(0,1).toUpperCase()+t.substr(1); // capitalized for WikiWord title if (store.getTiddlerText(theme+t)) { return theme+t; } // theme##tagTemplate if (store.getTiddlerText(theme+c)) { return theme+c; } // theme##TagTemplate if (store.getTiddlerText(t)) { return t; } // tagTemplate if (store.getTiddlerText(c)) { return c; } // TagTemplate } // no match... use core result return coreTemplate;}//}}}/pre>/div>div titleThree creatorOSeuNome modifierOSeuNome created202005240159 modified202406112025 changecount30>pre>/pre>/div>div titleThumbThing creatorOSeuNome modifierOSeuNome created200905241650 modified201902202052 tagsexcludeLists changecount2 server.page.revision200909120140 server.hosthttp://tiddlytools.com server.typefile>pre>/%!info|Name|ThumbThing||Source|http://www.TiddlyTools.com/#ThumbThing||Version|1.2.0||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.1||Type|transclusion||Description|display a scaled thumbnail image with popup for full-sized image|Usage:<<<{{{<<tiddler ThumbThing with: image thumbWidth thumbHeight fullWidth fullHeight>>}}}*{{{image}}} is one of:**a local path/file**a remote URL reference**the title of a tiddler containing an attached image (see AttachFilePlugin)*{{{thumbWidth, thumbHeight, fullWidth, fullHeight}}} are CSS measurements. Use auto (or omit values) for default (full-sized) image height and/or width. For proportional scaling, specify a fixed-width OR fixed-height and use auto for the other dimension.<<<Example:<<<{{{<<tiddler ThumbThing with: images/meow2.jpg 100px>>}}}<<tiddler ThumbThing with: images/meow2.jpg 100px>><<<See also:>AllThumbs!end!show<html><hide linebreaks><img src"$1" style"border0;width:$2;height:$3;" title"$1" onclick" var pPopup.create(this); if (!p) return; var sp.style; s.borders.padding0; s.backgroundnone; p.innerHTML<img src\x22$1\x22 style\x22border:1px solid #999;background:#eee;width:$4;height:$5\x22>; Popup.show(); event.cancelBubbletrue; if(event.stopPropagation)event.stopPropagation(); return(false);"></html>!end%/<<tiddler {{ThumbThing##+($1$+1?info:show)}} with: {{var cmaconfig.macros.attach; (cma&&cma.isAttachment($1))?cma.getAttachment($1):$1;}} $2 $3 $4 $5>>/pre>/div>div titleTiddlerTweakerPlugin creatorYourName modifierYourName created202004120428 modified202004120455 tagssystemConfig support excludeLists changecount2>pre>/***|Name|TiddlerTweakerPlugin||Source|http://www.TiddlyTools.com/#TiddlerTweakerPlugin||Version|2.4.5||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.1||Type|plugin||Description|select multiple tiddlers and modify author, created, modified and/or tag values|~TiddlerTweaker is a power tool for TiddlyWiki authors. Select multiple tiddlers from a listbox and bulk modify the creator, author, created, modified and/or tag values of those tiddlers using a compact set of form fields. The values you enter into the fields simultaneously overwrite the existing values in all tiddlers you have selected.!!!!!Usage<<<{{{<<tiddlerTweaker>>}}}{{smallform{<<tiddlerTweaker>>}}}By default, any tags you enter into the TiddlerTweaker will //replace// the existing tags in all the tiddlers you have selected. However, you can also use TiddlerTweaker to quickly filter specified tags from the selected tiddlers, while leaving any other tags assigned to those tiddlers unchanged:>Any tag preceded by a + (plus) or - (minus), will be added or removed from the existing tags //instead of replacing the entire tag definition// of each tiddler (e.g., enter -excludeLists to remove that tag from all selected tiddlers. When using this syntax, care should be taken to ensure that //every// tag is preceded by + or -, to avoid inadvertently overwriting any other existing tags on the selected tiddlers. (note: the + or - prefix on each tag value is NOT part of the tag value, and is only used by TiddlerTweaker to control how that tag value is processed)Important Notes:* TiddlerTweaker is a power user tool that can make changes to many tiddlers at once. You should always have a recent backup of your document (or save changes just *before* tweaking the tiddlers), just in case you accidentally shoot yourself in the foot.* The date and author information on any tiddlers you tweak will ONLY be updated if the corresponding checkboxes have been selected. As a general rule, after using TiddlerTweaker, always //remember to save your document// when you are done, even though the tiddler timeline tab may not show any recently modified tiddlers.* Selecting and updating all tiddlers in a document can take a while. Your browser may warn about an unresponsive script. Usually, if you allow it to continue, it should complete the processing... eventually. Nonetheless, be sure to save your work before you begin tweaking lots of tiddlers, just in case something does get stuck.<<<!!!!!Revisions<<<2011.01.21 2.4.5 auto-selection: use "-" for untagged tiddlers. Also, added opened, invert2009.09.15 2.4.4 added edit button. moved html definition to separate section2009.09.13 2.4.3 in settiddlers(), convert backslashed chars (\n\b\s\t) in replacement text2009.06.26 2.4.2 only add brackets around tags containing spaces2009.06.22 2.4.1 in setFields(), add brackets around all tags shown tweaker edit field2009.03.30 2.4.0 added sort by modifier2009.01.22 2.3.0 added support for text pattern find/replace2008.10.27 2.2.3 in setTiddlers(), fixed Safari bug by replacing static Array.concat(...) with new Array().concat(...)2008.09.07 2.2.2 added removeCookie() function for compatibility with CookieManagerPlugin2008.05.12 2.2.1 replace built-in backstage tweak task with tiddler tweaker control panel (moved from BackstageTweaks)2008.01.13 2.2.0 added auto-selection links: all, changed, tags, title, text2007.12.26 2.1.0 added support for managing creator custom field (see CoreTweaks)2007.11.01 2.0.3 added config.options.txtTweakerSortBy for cookie-based persistence of list display order preference setting.2007.09.28 2.0.2 in settiddlers() and deltiddlers(), added suspend/resume notification handling (improves performance when operating on multiple tiddlers)2007.08.03 2.0.1 added shadow definition for TiddlerTweaker tiddler for use as parameter references with {{{<<tiddler>>, <<slider>> or <<tabs>>}}} macros.2007.08.03 2.0.0 converted from inline script2006.01.01 1.0.0 initial release<<<!!!!!Code***///{{{version.extensions.TiddlerTweakerPlugin {major: 2, minor: 4, revision: 5, date: new Date(2011,1,21)};// shadow tiddlerconfig.shadowTiddlers.TiddlerTweaker<<tiddlerTweaker>>;// defaultsif (config.options.txtTweakerSortByundefined) config.options.txtTweakerSortBymodified;// backstage taskif (config.tasks) { // for TW2.2b3 or above config.tasks.tweak.tooltipreview/modify tiddler internals: dates, authors, tags, etc.; config.tasks.tweak.content{{smallform small groupbox{<<tiddlerTweaker>>}}};}// if removeCookie() function is not defined by TW core, define it here.if (window.removeCookieundefined) { window.removeCookiefunction(name) { document.cookie name+; expiresThu, 01-Jan-1970 00:00:01 UTC; path/;; }}config.macros.tiddlerTweaker { handler: function(place,macroName,params,wikifier,paramString,tiddler) { var spancreateTiddlyElement(place,span); span.innerHTMLstore.getTiddlerText(TiddlerTweakerPlugin##html); this.init(span.getElementsByTagName(form)0,config.options.txtTweakerSortBy); }, init: function(f,sortby) { // set form controls if (!f) return; // form might not be rendered yet... while (f.list.options0) f.list.options0null; // empty the list var tidsstore.getTiddlers(sortby); if (sortbysize) // descending order tids.sort(function(a,b) {return a.text.length > b.text.length ? -1 : (a.text.length b.text.length ? 0 : +1);}); var who; for (i0; i<tids.length; i++) { var ttidsi; var labelt.title; var valuet.title; switch (sortby) { case modified: case created: var ttidstids.length-i-1; // reverse order var whentsortby.formatString(YY.0MM.0DD 0hh:0mm ); labelwhen+t.title; valuet.title; break; case size: label+t.text.length+ +label; break; case modifier: case creator: if (who!tsortby) { whotsortby; f.list.optionsf.list.lengthnew Option(by +who+:,,false,false); } label\xa0\xa0\xa0+label; // indent break; } f.list.optionsf.list.lengthnew Option(label,value,false,false); } f.title.valuef.who.valuef.creator.valuef.tags.value; f.cm.valuef.cd.valuef.cy.valuef.ch.valuef.cn.value; f.mm.valuef.md.valuef.my.valuef.mh.valuef.mn.value; f.stats.disabledf.set.disabledf.del.disabledf.edit.disabledf.display.disabledtrue; f.settitle.disabledfalse; config.options.txtTweakerSortBysortby; f.sortby.valuesortby; // sync droplist if (sortby!modified) saveOptionCookie(txtTweakerSortBy); else removeCookie(txtTweakerSortBy); }, enablefields: function(here) { // enables/disables inputs based on #items selected var fhere.form; var listf.list; var c0; for (i0;i<list.length;i++) if (list.optionsi.selected) c++; if (c>1) f.title.disabledtrue; if (c>1) f.settitle.checkedfalse; f.set.disabled(c0); f.del.disabled(c0); f.edit.disabled(c0); f.display.disabled(c0); f.settitle.disabled(c>1); f.stats.disabled(c0); var msg(c0)?select tiddlers:(c+ tiddler+(c!1?s:)+ selected); here.previousSibling.firstChild.firstChild.nextSibling.innerHTMLmsg; if (c) clearMessage(); else displayMessage(no tiddlers selected); }, setfields: function(here) { // set fields from first selected tiddler var fhere.form; if (!here.value.length) { f.title.valuef.who.valuef.creator.valuef.tags.value; f.cm.valuef.cd.valuef.cy.valuef.ch.valuef.cn.value; f.mm.valuef.md.valuef.my.valuef.mh.valuef.mn.value; return; } var tidstore.getTiddler(here.value); if (!tid) return; f.title.valuetid.title; f.who.valuetid.modifier; f.creator.valuetid.fieldscreator||; // custom field - might not exist f.tags.valuetid.tags.map(function(t){return String.encodeTiddlyLink(t)}).join( ); var ctid.created; var mtid.modified; f.cm.valuec.getMonth()+1; f.cd.valuec.getDate(); f.cy.valuec.getFullYear(); f.ch.valuec.getHours(); f.cn.valuec.getMinutes(); f.mm.valuem.getMonth()+1; f.md.valuem.getDate(); f.my.valuem.getFullYear(); f.mh.valuem.getHours(); f.mn.valuem.getMinutes(); }, selecttiddlers: function(here,callback) { var fhere; while (f&&f.nodeName.toLowerCase()!form)ff.parentNode; for (var tf.list.options.length-1; t>0; t--) f.list.optionst.selectedcallback(f.list.optionst); config.macros.tiddlerTweaker.enablefields(f.list); return false; }, settiddlers: function(here) { var fhere.form; var listf.list; var tids; for (i0;i<list.length;i++) if (list.optionsi.selected) tids.push(list.optionsi.value); if (!tids.length) { alert(please select at least one tiddler); return; } var cdatenew Date(f.cy.value,f.cm.value-1,f.cd.value,f.ch.value,f.cn.value); var mdatenew Date(f.my.value,f.mm.value-1,f.md.value,f.mh.value,f.mn.value); if (tids.length>1 && !confirm(Are you sure you want to update these tiddlers:\n\n+tids.join(, ))) return; store.suspendNotifications(); for (t0;t<tids.length;t++) { var tidstore.getTiddler(tidst); if (!tid) continue; var title!f.settitle.checked?tid.title:f.title.value; var who!f.setwho.checked?tid.modifier:f.who.value; var texttid.text; if (f.replacetext.checked) { var rf.replacement.value.replace(/\\t/mg,\t).unescapeLineBreaks(); texttext.replace(new RegExp(f.pattern.value,mg),r); } var tagstid.tags; if (f.settags.checked) { var intagsf.tags.value.readBracketedList(); var addtags; var deltags; var reptags; for (i0;i<intags.length;i++) { if (intagsi.substr(0,1)+) addtags.push(intagsi.substr(1)); else if (intagsi.substr(0,1)-) deltags.push(intagsi.substr(1)); else reptags.push(intagsi); } if (reptags.length) tagsreptags; if (addtags.length) tagsnew Array().concat(tags,addtags); if (deltags.length) for (i0;i<deltags.length;i++) { var postags.indexOf(deltagsi); if (pos!-1) tags.splice(pos,1); } } if (!f.setcdate.checked) cdatetid.created; if (!f.setmdate.checked) mdatetid.modified; store.saveTiddler(tid.title,title,text,who,mdate,tags,tid.fields); if (f.setcreator.checked) store.setValue(tid.title,creator,f.creator.value); // set creator if (f.setcdate.checked) tid.assign(null,null,null,null,null,cdate); // set create date } store.resumeNotifications(); this.init(f,f.sortby.value); }, displaytiddlers: function(here,edit) { var fhere.form; var listf.list; var tids; for (i0; i<list.length;i++) if (list.optionsi.selected) tids.push(list.optionsi.value); if (!tids.length) { alert(please select at least one tiddler); return; } story.displayTiddlers(story.findContainingTiddler(f),tids,edit?DEFAULT_EDIT_TEMPLATE:null); }, deltiddlers: function(here) { var fhere.form; var listf.list; var tids; for (i0;i<list.length;i++) if (list.optionsi.selected) tids.push(list.optionsi.value); if (!tids.length) { alert(please select at least one tiddler); return; } if (!confirm(Are you sure you want to delete these tiddlers:\n\n+tids.join(, ))) return; store.suspendNotifications(); for (t0;t<tids.length;t++) { var tidstore.getTiddler(tidst); if (!tid) continue; if (tid.tags.contains(systemConfig)) { var msgtid.title+ is tagged with systemConfig. +\n\nRemoving this tiddler may cause unexpected results. Are you sure?; if (!confirm(msg)) continue; } store.removeTiddler(tid.title); story.closeTiddler(tid.title); } store.resumeNotifications(); this.init(f,f.sortby.value); }, stats: function(here) { var fhere.form; var listf.list; var tids; var out; var tot0; var targetf.nextSibling; for (i0;i<list.length;i++) if (list.optionsi.selected) tids.push(list.optionsi.value); if (!tids.length) { alert(please select at least one tiddler); return; } for (t0;t<tids.length;t++) { var tidstore.getTiddler(tidst); if (!tid) continue; out++tid.title+ +tid.text.length+\n; tot+tid.text.length; } var avgtot/tids.length; outtot+ bytes in +tids.length+ selected tiddlers (+avg+ bytes/tiddler)\n<<<\n+out+<<<\n; removeChildren(target); target.innerHTML"<hr><font size-2><a hrefjavascript:; stylefloat:right " +"onclickthis.parentNode.parentNode.style.display\"none\">close</a></font>"; wikify(out,target); target.style.displayblock; }};//}}}/***//{{{!html<style>.tiddlerTweaker table,.tiddlerTweaker table tr,.tiddlerTweaker table td { padding:0;margin:0;border:0;white-space:nowrap; }</style><form classtiddlerTweaker><!----><table style"width:100%"><tr valign"top"><!----><td style"text-align:center;width:99%;"><!-- --><font size-2><div style"text-align:left;"><span style"float:right"><!-- --> <a href"javascript:;" title"select all tiddlers" onclick"return config.macros.tiddlerTweaker.selecttiddlers(this,function(opt){ return opt.value.length; });">all</a><!-- --> <a href"javascript:;" title"select tiddlers currently displayed in the story column" onclick"return config.macros.tiddlerTweaker.selecttiddlers(this,function(opt){ return story.getTiddler(opt.value); });">opened</a><!-- --> <a href"javascript:;" title"select tiddlers that are new/changed since the last file save" onclick"var lastmodnew Date(document.lastModified); return config.macros.tiddlerTweaker.selecttiddlers(this,function(opt){ var tidstore.getTiddler(opt.value); return tid&&tid.modified>lastmod; }); ">changed</a><!-- --> <a href"javascript:;" title"select tiddlers with at least one matching tag" onclick"var tprompt(Enter space-separated tags (match one or more). Use \x22-\x22 to match untagged tiddlers); if (!t||!t.length) return false; var tagst.readBracketedList(); return config.macros.tiddlerTweaker.selecttiddlers(this,function(opt){ var tidstore.getTiddler(opt.value); return tid&&tags0-?!tid.tags.length:tid.tags.containsAny(tags); }); ">tags</a><!-- --> <a href"javascript:;" title"select tiddlers whose titles include matching text" onclick"var tprompt(Enter a title (or portion of a title) to match); if (!t||!t.length) return false; return config.macros.tiddlerTweaker.selecttiddlers(this,function(opt){ return opt.value.indexOf(t)!-1; }); ">titles</a><!-- --> <a href"javascript:;" title"select tiddlers containing matching text" onclick"var tprompt(Enter tiddler text (content) to match); if (!t||!t.length) return false; return config.macros.tiddlerTweaker.selecttiddlers(this,function(opt){ var ttstore.getTiddlerText(opt.value,); return tt.indexOf(t)!-1; }); ">text</a><!-- --> <a href"javascript:;" title"reverse selection of all list items" onclick"return config.macros.tiddlerTweaker.selecttiddlers(this,function(opt){ return !opt.selected; });">invert</a><!-- --></span><span>select tiddlers</span><!-- --></div><!-- --></font><select multiple namelist size"11" style"width:99.99%" title"use click, shift-click and/or ctrl-click to select multiple tiddler titles" onclick"config.macros.tiddlerTweaker.enablefields(this)" onchange"config.macros.tiddlerTweaker.setfields(this)"><!-- --></select><br><!-- -->show<input typetext size1 value"11" onchange"this.form.list.sizethis.value; this.form.list.multiple(this.value>1);"><!-- -->by<!-- --><select namesortby size1 onchange"config.macros.tiddlerTweaker.init(this.form,this.value)"><!-- --><option value"title">title</option><!-- --><option value"size">size</option><!-- --><option value"modified">modified</option><!-- --><option value"created">created</option><!-- --><option value"modifier">modifier</option><!-- --></select><!-- --><input type"button" value"refresh" onclick"config.macros.tiddlerTweaker.init(this.form,this.form.sortby.value)"<!-- --> <input type"button" name"stats" disabled value"totals..." onclick"config.macros.tiddlerTweaker.stats(this)"><!----></td><td style"width:1%"><!-- --><div style"text-align:left"><font size-2> modify values</font></div><!-- --><table style"width:100%;"><tr><!-- --><td style"padding:1px"><!-- --><input typecheckbox namesettitle unchecked title"allow changes to tiddler title (rename tiddler)" onclick"this.form.title.disabled!this.checked">title<!-- --></td><td style"padding:1px"><!-- --><input typetext nametitle size35 style"width:98%" disabled><!-- --></td></tr><tr><td style"padding:1px"><!-- --><input typecheckbox namesetcreator unchecked title"allow changes to tiddler creator" onclick"this.form.creator.disabled!this.checked">created by<!-- --></td><td style"padding:1px;"><!-- --><input typetext namecreator size35 style"width:98%" disabled><!-- --></td></tr><tr><td style"padding:1px"><!-- --><input typecheckbox namesetwho unchecked title"allow changes to tiddler author" onclick"this.form.who.disabled!this.checked">modified by<!-- --></td><td style"padding:1px"><!-- --><input typetext namewho size35 style"width:98%" disabled><!-- --></td></tr><tr><td style"padding:1px"><!-- --><input typecheckbox namesetcdate unchecked title"allow changes to created date" onclick"var fthis.form; f.cm.disabledf.cd.disabledf.cy.disabledf.ch.disabledf.cn.disabled!this.checked"><!-- -->created on<!-- --></td><td style"padding:1px"><!-- --><input typetext namecm size2 style"width:2em;padding:0;text-align:center" disabled><!-- --> / <input typetext namecd size2 style"width:2em;padding:0;text-align:center" disabled><!-- --> / <input typetext namecy size4 style"width:3em;padding:0;text-align:center" disabled><!-- --> at <input typetext namech size2 style"width:2em;padding:0;text-align:center" disabled><!-- --> : <input typetext namecn size2 style"width:2em;padding:0;text-align:center" disabled><!-- --></td></tr><tr><td style"padding:1px"><!-- --><input typecheckbox namesetmdate unchecked title"allow changes to modified date" onclick"var fthis.form; f.mm.disabledf.md.disabledf.my.disabledf.mh.disabledf.mn.disabled!this.checked"><!-- -->modified on<!-- --></td><td style"padding:1px"><!-- --><input typetext namemm size2 style"width:2em;padding:0;text-align:center" disabled><!-- --> / <input typetext namemd size2 style"width:2em;padding:0;text-align:center" disabled><!-- --> / <input typetext namemy size4 style"width:3em;padding:0;text-align:center" disabled><!-- --> at <input typetext namemh size2 style"width:2em;padding:0;text-align:center" disabled><!-- --> : <input typetext namemn size2 style"width:2em;padding:0;text-align:center" disabled><!-- --></td></tr><tr><td style"padding:1px"><!-- --><input typecheckbox namereplacetext unchecked title"find/replace matching text" onclick"this.form.pattern.disabledthis.form.replacement.disabled!this.checked">replace text<!-- --></td><td style"padding:1px"><!-- --><input typetext namepattern size15 value"" style"width:40%" disabled title"enter TEXT PATTERN (regular expression)"> with<!-- --><input typetext namereplacement size15 value"" style"width:40%" disabled title"enter REPLACEMENT TEXT"><!-- --></td></tr><tr><td style"padding:1px"><!-- --><input typecheckbox namesettags checked title"allow changes to tiddler tags" onclick"this.form.tags.disabled!this.checked">tags<!-- --></td><td style"padding:1px"><!-- --><input typetext nametags size35 value"" style"width:98%" title"enter new tags or use +tag and -tag to add/remove tags from existing tags"><!-- --></td></tr></table><!-- --><div style"text-align:center"><!-- --><nobr><input typebutton namedisplay disabled style"width:24%" value"display" title"show selected tiddlers" onclick"config.macros.tiddlerTweaker.displaytiddlers(this,false)"><!-- --> <input typebutton nameedit disabled style"width:23%" value"edit" title"edit selected tiddlers" onclick"config.macros.tiddlerTweaker.displaytiddlers(this,true)"><!-- --> <input typebutton namedel disabled style"width:24%" value"delete" title"remove selected tiddlers" onclick"config.macros.tiddlerTweaker.deltiddlers(this)"><!-- --> <input typebutton nameset disabled style"width:24%" value"update" title"update selected tiddlers" onclick"config.macros.tiddlerTweaker.settiddlers(this)"></nobr><!-- --></div><!----></td></tr></table><!----></form><span style"display:none"><!--content replaced by tiddler "stats"--></span>!end//}}}***/ /pre>/div>div titleToolbarCommands modifierOSeuNome created201304200230 modified202002190134 tagsexcludeLists formatting changecount3 server.page.revision201304200230 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre>|~ViewToolbar|collapseTiddler closeTiddler closeOthers +editTiddler > fields syncing permalink references jump||~EditToolbar|+saveTiddler -cancelTiddler deleteTiddler|/%!!SkyeToolbarcollapseTiddler closeTiddler closeOthers +editTiddler > fields syncing permalink references jump!!end%//pre>/div>div titleTwo creatorOSeuNome modifierOSeuNome created202005240157 modified202406112023 changecount57>pre>/pre>/div>div titleUpdateIndex creatorOSeuNome modifierOSeuNome created202001170106 modified202001170111 tagsexcludeLists changecount4>pre><<loadTiddlers tag:adapta "http://www.unigaia-brasil.org/escolasResilientes/index.html" quiet report>>/pre>/div>div titleUpdateSys creatorOSeuNome modifierOSeuNome created202001170113 modified202002190122 tagsexcludeLists sistem changecount10>pre><<loadTiddlers tag:adapta "../escolasResilientes/index.html" quiet noreport>>/pre>/div>div titleUploadLog modifierOSeuNome created202003302332 modified202005231941 changecount1>pre>| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin || 30/03/2020 23:32:02 | OSeuNome | /|http://www.unigaia-brasil.org/PDC/ | store.php|http://www.unigaia-brasil.org/PDC/store.php | . | index.html | http://www.unigaia-brasil.org/PDC/index.html | | failed || 30/03/2020 23:33:17 | OSeuNome | /|http://www.unigaia-brasil.org/PDC/ | store.php|http://www.unigaia-brasil.org/PDC/store.php | . | index.html | http://www.unigaia-brasil.org/PDC/index.html | | failed || 30/03/2020 23:34:24 | OSeuNome | /|http://www.unigaia-brasil.org/PDC/ | store.php|http://www.unigaia-brasil.org/PDC/store.php | . | index.html | http://www.unigaia-brasil.org/PDC/index.html | | failed || 14/04/2020 22:26:19 | OSeuNome | index-IntroPC_br.html|http://www.unigaia-brasil.org/PDC/index-IntroPC_br.html | store.php|http://www.unigaia-brasil.org/PDC/store.php | . | index.html | http://www.unigaia-brasil.org/PDC/index.html | || 23/05/2020 16:41:10 | OSeuNome | index-Blank_br.html|http://www.unigaia-brasil.org/PDC/index-Blank_br.html | store.php|http://www.unigaia-brasil.org/PDC/store.php | . | index-Blank_br.html | http://www.unigaia-brasil.org/PDC/index-Blank_br.html | |/pre>/div>div titleUploadPlugin modifierSkye created200703021728 modified201308300507 tagssystemConfig excludeLists server.typefile server.hosthttp://www.unigaia-brasil.org/escolasResilientes/indexOld.html server.page.revision201308300507>pre>/***|Name:|UploadPlugin||Description:|Save to web a TiddlyWiki||Version:|4.1.4||Date:|2008-08-11||Source:|http://tiddlywiki.bidix.info/#UploadPlugin||Documentation:|http://tiddlywiki.bidix.info/#UploadPluginDoc||Author:|BidiX (BidiX (at) bidix (dot) info)||License:|BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ||~CoreVersion:|2.2.0||Requires:|PasswordOptionPlugin|***///{{{version.extensions.UploadPlugin { major: 4, minor: 1, revision: 4, date: new Date("2008-08-11"), source: http://tiddlywiki.bidix.info/#UploadPlugin, author: BidiX (BidiX (at) bidix (dot) info, coreVersion: 2.2.0};//// Environment//if (!window.bidix) window.bidix {}; // bidix namespacebidix.debugMode false; // true to activate both in Plugin and UploadService //// Upload Macro//config.macros.upload {// default values defaultBackupDir: , //no backup defaultStoreScript: "store.php", defaultToFilename: "index.html", defaultUploadDir: ".", authenticateUser: true // UploadService Authenticate User}; config.macros.upload.label { promptOption: "Save and Upload this TiddlyWiki with UploadOptions", promptParamMacro: "Save and Upload this TiddlyWiki in %0", saveLabel: "save to web", saveToDisk: "save to disk", uploadLabel: "upload" };config.macros.upload.messages { noStoreUrl: "No store URL in parmeters or options", usernameOrPasswordMissing: "Username or password missing"};config.macros.upload.handler function(place,macroName,params) { if (readOnly) return; var label; if (document.location.toString().substr(0,4) "http") label this.label.saveLabel; else label this.label.uploadLabel; var prompt; if (params0) { prompt this.label.promptParamMacro.toString().format(this.destFile(params0, (params1 ? params1:bidix.basename(window.location.toString())), params3)); } else { prompt this.label.promptOption; } createTiddlyButton(place, label, prompt, function() {config.macros.upload.action(params);}, null, null, this.accessKey);};config.macros.upload.action function(params){ // for missing macro parameter set value from options if (!params) params {}; var storeUrl params0 ? params0 : config.options.txtUploadStoreUrl; var toFilename params1 ? params1 : config.options.txtUploadFilename; var backupDir params2 ? params2 : config.options.txtUploadBackupDir; var uploadDir params3 ? params3 : config.options.txtUploadDir; var username params4 ? params4 : config.options.txtUploadUserName; var password config.options.pasUploadPassword; // for security reason no password as macro parameter // for still missing parameter set default value if ((!storeUrl) && (document.location.toString().substr(0,4) "http")) storeUrl bidix.dirname(document.location.toString())+/+config.macros.upload.defaultStoreScript; if (storeUrl.substr(0,4) ! "http") storeUrl bidix.dirname(document.location.toString()) +/+ storeUrl; if (!toFilename) toFilename bidix.basename(window.location.toString()); if (!toFilename) toFilename config.macros.upload.defaultToFilename; if (!uploadDir) uploadDir config.macros.upload.defaultUploadDir; if (!backupDir) backupDir config.macros.upload.defaultBackupDir; // report error if still missing if (!storeUrl) { alert(config.macros.upload.messages.noStoreUrl); clearMessage(); return false; } if (config.macros.upload.authenticateUser && (!username || !password)) { alert(config.macros.upload.messages.usernameOrPasswordMissing); clearMessage(); return false; } bidix.upload.uploadChanges(false,null,storeUrl, toFilename, uploadDir, backupDir, username, password); return false; };config.macros.upload.destFile function(storeUrl, toFilename, uploadDir) { if (!storeUrl) return null; var dest bidix.dirname(storeUrl); if (uploadDir && uploadDir ! .) dest dest + / + uploadDir; dest dest + / + toFilename; return dest;};//// uploadOptions Macro//config.macros.uploadOptions { handler: function(place,macroName,params) { var wizard new Wizard(); wizard.createWizard(place,this.wizardTitle); wizard.addStep(this.step1Title,this.step1Html); var markList wizard.getElement("markList"); var listWrapper document.createElement("div"); markList.parentNode.insertBefore(listWrapper,markList); wizard.setValue("listWrapper",listWrapper); this.refreshOptions(listWrapper,false); var uploadCaption; if (document.location.toString().substr(0,4) "http") uploadCaption config.macros.upload.label.saveLabel; else uploadCaption config.macros.upload.label.uploadLabel; wizard.setButtons( {caption: uploadCaption, tooltip: config.macros.upload.label.promptOption, onClick: config.macros.upload.action}, {caption: this.cancelButton, tooltip: this.cancelButtonPrompt, onClick: this.onCancel} ); }, options: "txtUploadUserName", "pasUploadPassword", "txtUploadStoreUrl", "txtUploadDir", "txtUploadFilename", "txtUploadBackupDir", "chkUploadLog", "txtUploadLogMaxLine" , refreshOptions: function(listWrapper) { var opts ; for(i0; i<this.options.length; i++) { var opt {}; opts.push(); opt.option ""; n this.optionsi; opt.name n; opt.lowlight !config.optionsDescn; opt.description opt.lowlight ? this.unknownDescription : config.optionsDescn; opts.push(opt); } var listview ListView.create(listWrapper,opts,this.listViewTemplate); for(n0; n<opts.length; n++) { var type optsn.name.substr(0,3); var h config.macros.option.typestype; if (h && h.create) { h.create(optsn.colElementsoption,type,optsn.name,optsn.name,"no"); } } }, onCancel: function(e) { backstage.switchTab(null); return false; }, wizardTitle: "Upload with options", step1Title: "These options are saved in cookies in your browser", step1Html: "<input typehidden namemarkList></input><br>", cancelButton: "Cancel", cancelButtonPrompt: "Cancel prompt", listViewTemplate: { columns: {name: Description, field: description, title: "Description", type: WikiText}, {name: Option, field: option, title: "Option", type: String}, {name: Name, field: name, title: "Name", type: String} , rowClasses: {className: lowlight, field: lowlight} }};//// upload functions//if (!bidix.upload) bidix.upload {};if (!bidix.upload.messages) bidix.upload.messages { //from saving invalidFileError: "The original file %0 does not appear to be a valid TiddlyWiki", backupSaved: "Backup saved", backupFailed: "Failed to upload backup file", rssSaved: "RSS feed uploaded", rssFailed: "Failed to upload RSS feed file", emptySaved: "Empty template uploaded", emptyFailed: "Failed to upload empty template file", mainSaved: "Main TiddlyWiki file uploaded", mainFailed: "Failed to upload main TiddlyWiki file. Your changes have not been saved", //specific upload loadOriginalHttpPostError: "Cant get original file", aboutToSaveOnHttpPost: About to upload on %0 ..., storePhpNotFound: "The store script %0 was not found."};bidix.upload.uploadChanges function(onlyIfDirty,tiddlers,storeUrl,toFilename,uploadDir,backupDir,username,password){ var callback function(status,uploadParams,original,url,xhr) { if (!status) { displayMessage(bidix.upload.messages.loadOriginalHttpPostError); return; } if (bidix.debugMode) alert(original.substr(0,500)+"\n..."); // Locate the storeArea divs var posDiv locateStoreArea(original); if((posDiv0 -1) || (posDiv1 -1)) { alert(config.messages.invalidFileError.format(localPath)); return; } bidix.upload.uploadRss(uploadParams,original,posDiv); }; if(onlyIfDirty && !store.isDirty()) return; clearMessage(); // save on localdisk ? if (document.location.toString().substr(0,4) "file") { var path document.location.toString(); var localPath getLocalPath(path); saveChanges(); } // get original var uploadParams new Array(storeUrl,toFilename,uploadDir,backupDir,username,password); var originalPath document.location.toString(); // If url is a directory : add index.html if (originalPath.charAt(originalPath.length-1) "/") originalPath originalPath + "index.html"; var dest config.macros.upload.destFile(storeUrl,toFilename,uploadDir); var log new bidix.UploadLog(); log.startUpload(storeUrl, dest, uploadDir, backupDir); displayMessage(bidix.upload.messages.aboutToSaveOnHttpPost.format(dest)); if (bidix.debugMode) alert("about to execute Http - GET on "+originalPath); var r doHttp("GET",originalPath,null,null,username,password,callback,uploadParams,null); if (typeof r "string") displayMessage(r); return r;};bidix.upload.uploadRss function(uploadParams,original,posDiv) { var callback function(status,params,responseText,url,xhr) { if(status) { var destfile responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:"))); displayMessage(bidix.upload.messages.rssSaved,bidix.dirname(url)+/+destfile); bidix.upload.uploadMain(params0,params1,params2); } else { displayMessage(bidix.upload.messages.rssFailed); } }; // do uploadRss if(config.options.chkGenerateAnRssFeed) { var rssPath uploadParams1.substr(0,uploadParams1.lastIndexOf(".")) + ".xml"; var rssUploadParams new Array(uploadParams0,rssPath,uploadParams2,,uploadParams4,uploadParams5); var rssString generateRss(); // no UnicodeToUTF8 conversion needed when location is "file" !!! if (document.location.toString().substr(0,4) ! "file") rssString convertUnicodeToUTF8(rssString); bidix.upload.httpUpload(rssUploadParams,rssString,callback,Array(uploadParams,original,posDiv)); } else { bidix.upload.uploadMain(uploadParams,original,posDiv); }};bidix.upload.uploadMain function(uploadParams,original,posDiv) { var callback function(status,params,responseText,url,xhr) { var log new bidix.UploadLog(); if(status) { // if backupDir specified if ((params3) && (responseText.indexOf("backupfile:") > -1)) { var backupfile responseText.substring(responseText.indexOf("backupfile:")+11,responseText.indexOf("\n", responseText.indexOf("backupfile:"))); displayMessage(bidix.upload.messages.backupSaved,bidix.dirname(url)+/+backupfile); } var destfile responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:"))); displayMessage(bidix.upload.messages.mainSaved,bidix.dirname(url)+/+destfile); store.setDirty(false); log.endUpload("ok"); } else { alert(bidix.upload.messages.mainFailed); displayMessage(bidix.upload.messages.mainFailed); log.endUpload("failed"); } }; // do uploadMain var revised bidix.upload.updateOriginal(original,posDiv); bidix.upload.httpUpload(uploadParams,revised,callback,uploadParams);};bidix.upload.httpUpload function(uploadParams,data,callback,params){ var localCallback function(status,params,responseText,url,xhr) { url (url.indexOf("nocache") < 0 ? url : url.substring(0,url.indexOf("nocache")-1)); if (xhr.status 404) alert(bidix.upload.messages.storePhpNotFound.format(url)); if ((bidix.debugMode) || (responseText.indexOf("Debug mode") > 0 )) { alert(responseText); if (responseText.indexOf("Debug mode") > 0 ) responseText responseText.substring(responseText.indexOf("\n\n")+2); } else if (responseText.charAt(0) ! 0) alert(responseText); if (responseText.charAt(0) ! 0) status null; callback(status,params,responseText,url,xhr); }; // do httpUpload var boundary "---------------------------"+"AaB03x"; var uploadFormName "UploadPlugin"; // compose headers data var sheader ""; sheader + "--" + boundary + "\r\nContent-disposition: form-data; name\""; sheader + uploadFormName +"\"\r\n\r\n"; sheader + "backupDir"+uploadParams3 + ";user" + uploadParams4 + ";password" + uploadParams5 + ";uploaddir" + uploadParams2; if (bidix.debugMode) sheader + ";debug1"; sheader + ";;\r\n"; sheader + "\r\n" + "--" + boundary + "\r\n"; sheader + "Content-disposition: form-data; name\"userfile\"; filename\""+uploadParams1+"\"\r\n"; sheader + "Content-Type: text/html;charsetUTF-8" + "\r\n"; sheader + "Content-Length: " + data.length + "\r\n\r\n"; // compose trailer data var strailer new String(); strailer "\r\n--" + boundary + "--\r\n"; data sheader + data + strailer; if (bidix.debugMode) alert("about to execute Http - POST on "+uploadParams0+"\n with \n"+data.substr(0,500)+ " ... "); var r doHttp("POST",uploadParams0,data,"multipart/form-data; ;charsetUTF-8; boundary"+boundary,uploadParams4,uploadParams5,localCallback,params,null); if (typeof r "string") displayMessage(r); return r;};// same as Savings updateOriginal but without convertUnicodeToUTF8 callsbidix.upload.updateOriginal function(original, posDiv){ if (!posDiv) posDiv locateStoreArea(original); if((posDiv0 -1) || (posDiv1 -1)) { alert(config.messages.invalidFileError.format(localPath)); return; } var revised original.substr(0,posDiv0 + startSaveArea.length) + "\n" + store.allTiddlersAsHtml() + "\n" + original.substr(posDiv1); var newSiteTitle getPageTitle().htmlEncode(); revised revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " "); revised updateMarkupBlock(revised,"PRE-HEAD","MarkupPreHead"); revised updateMarkupBlock(revised,"POST-HEAD","MarkupPostHead"); revised updateMarkupBlock(revised,"PRE-BODY","MarkupPreBody"); revised updateMarkupBlock(revised,"POST-SCRIPT","MarkupPostBody"); return revised;};//// UploadLog// // config.options.chkUploadLog :// false : no logging// true : logging// config.options.txtUploadLogMaxLine :// -1 : no limit// 0 : no Log lines but UploadLog is still in place// n : the last n lines are only kept// NaN : no limit (-1)bidix.UploadLog function() { if (!config.options.chkUploadLog) return; // this.tiddler null this.tiddler store.getTiddler("UploadLog"); if (!this.tiddler) { this.tiddler new Tiddler(); this.tiddler.title "UploadLog"; this.tiddler.text "| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |"; this.tiddler.created new Date(); this.tiddler.modifier config.options.txtUserName; this.tiddler.modified new Date(); store.addTiddler(this.tiddler); } return this;};bidix.UploadLog.prototype.addText function(text) { if (!this.tiddler) return; // retrieve maxLine when we need it var maxLine parseInt(config.options.txtUploadLogMaxLine,10); if (isNaN(maxLine)) maxLine -1; // add text if (maxLine ! 0) this.tiddler.text this.tiddler.text + text; // Trunck to maxLine if (maxLine > 0) { var textArray this.tiddler.text.split(\n); if (textArray.length > maxLine + 1) textArray.splice(1,textArray.length-1-maxLine); this.tiddler.text textArray.join(\n); } // update tiddler fields this.tiddler.modifier config.options.txtUserName; this.tiddler.modified new Date(); store.addTiddler(this.tiddler); // refresh and notifiy for immediate update story.refreshTiddler(this.tiddler.title); store.notify(this.tiddler.title, true);};bidix.UploadLog.prototype.startUpload function(storeUrl, toFilename, uploadDir, backupDir) { if (!this.tiddler) return; var now new Date(); var text "\n| "; var filename bidix.basename(document.location.toString()); if (!filename) filename /; text + now.formatString("0DD/0MM/YYYY 0hh:0mm:0ss") +" | "; text + config.options.txtUserName + " | "; text + ""+filename+"|"+location + " |"; text + " " + bidix.basename(storeUrl) + "|" + storeUrl + " | "; text + uploadDir + " | "; text + "" + bidix.basename(toFilename) + " | " +toFilename + " | "; text + backupDir + " |"; this.addText(text);};bidix.UploadLog.prototype.endUpload function(status) { if (!this.tiddler) return; this.addText(" "+status+" |");};//// Utilities// bidix.checkPlugin function(plugin, major, minor, revision) { var ext version.extensionsplugin; if (! (ext && ((ext.major > major) || ((ext.major major) && (ext.minor > minor)) || ((ext.major major) && (ext.minor minor) && (ext.revision > revision))))) { // write error in PluginManager if (pluginInfo) pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision); eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined" }};bidix.dirname function(filePath) { if (!filePath) return; var lastpos; if ((lastpos filePath.lastIndexOf("/")) ! -1) { return filePath.substring(0, lastpos); } else { return filePath.substring(0, filePath.lastIndexOf("\\")); }};bidix.basename function(filePath) { if (!filePath) return; var lastpos; if ((lastpos filePath.lastIndexOf("#")) ! -1) filePath filePath.substring(0, lastpos); if ((lastpos filePath.lastIndexOf("/")) ! -1) { return filePath.substring(lastpos + 1); } else return filePath.substring(filePath.lastIndexOf("\\")+1);};bidix.initOption function(name,value) { if (!config.optionsname) config.optionsname value;};//// Initializations//// require PasswordOptionPlugin 1.0.1 or betterbidix.checkPlugin("PasswordOptionPlugin", 1, 0, 1);// styleSheetsetStylesheet(.txtUploadStoreUrl, .txtUploadBackupDir, .txtUploadDir {width: 22em;},"uploadPluginStyles");//optionsDescmerge(config.optionsDesc,{ txtUploadStoreUrl: "Url of the UploadService script (default: store.php)", txtUploadFilename: "Filename of the uploaded file (default: in index.html)", txtUploadDir: "Relative Directory where to store the file (default: . (downloadService directory))", txtUploadBackupDir: "Relative Directory where to backup the file. If empty no backup. (default: (empty))", txtUploadUserName: "Upload Username", pasUploadPassword: "Upload Password", chkUploadLog: "do Logging in UploadLog (default: true)", txtUploadLogMaxLine: "Maximum of lines in UploadLog (default: 10)"});// Options Initializationsbidix.initOption(txtUploadStoreUrl,);bidix.initOption(txtUploadFilename,);bidix.initOption(txtUploadDir,);bidix.initOption(txtUploadBackupDir,);bidix.initOption(txtUploadUserName,);bidix.initOption(pasUploadPassword,);bidix.initOption(chkUploadLog,true);bidix.initOption(txtUploadLogMaxLine,10);// Backstagemerge(config.tasks,{ uploadOptions: {text: "upload", tooltip: "Change UploadOptions and Upload", content: <<uploadOptions>>}});config.backstageTasks.push("uploadOptions");//}}}/pre>/div>div titleUploadPluginTweak modifierELSDesignStudios created200611082203 modified200611082235 tagsexcludeLists systemConfig server.typefile server.hosthttp://tiddlytools.com server.page.revision200611082235>pre>// null logger : no more UploadLog and no upload logging// BidiX - 2006/11/8//{{{config.macros.upload.UploadLog function() {return this;};config.macros.upload.UploadLog.prototype.startUpload function(storeUrl, toFilename, uploadDir, backupDir) {};config.macros.upload.UploadLog.prototype.endUpload function() {};//}}}/pre>/div>div titleUploadTiddlerMacro modifierSkye created200809302120 modified201308300507 tagsexcludeLists systemConfig server.typefile server.hosthttp://www.unigaia-brasil.org/escolasResilientes/indexOld.html server.page.revision201308300507>pre>/***|Name:|UploadTiddlerMacro||Description:|Define a macro to upload a tiddler using UploadTiddlerPlugin (see UploadTiddlerPlugin for details).||Version:|1.0.0||Date:|2008-09-30||Source:|http://tiddlywiki.bidix.info/#UploadTiddlerMacro||Usage:|{{{<<uploadTiddler tiddlerTitle>>}}}<br>{{{tiddlerTitle: if omitted the title of the current tiddler}}}||Author:|BidiX (BidiX (at) bidix (dot) info)||License:|BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ||CoreVersion:|2.2.0||Requires:|UploadTiddlerPlugin|***///{{{version.extensions.UploadTiddlerMacro { major: 1, minor: 0, revision: 0, date: new Date("2008-09-30"), source: http://tiddlywiki.bidix.info/#UploadTiddlerMacro, author: BidiX (BidiX (at) bidix (dot) info, coreVersion: 2.2.0};config.macros.uploadTiddler { label: "uploadTiddler", prompt: "upload tiddler %0 using UploadTiddlerOptions ", warning: "Are you sure you want to upload %0?", messages: { fileUploaded: "tiddler %0 uploaded to file %1", fileNotUploaded: "tiddler %0 NOT uploaded" }, handler: function(place, macroName, params, wikifier,paramString, tiddler) { var tiddlerTitle params0; if (!tiddlerTitle) { tiddlerTitle tiddler.title; } else { tiddler store.getTiddler(tiddlerTitle); } createTiddlyButton(place, this.label, this.prompt.format(tiddlerTitle), function () { config.macros.uploadTiddler.upload(tiddlerTitle, tiddler); return false;}, null, null, null); }, upload: function(tiddlerTitle, tiddler) { var saved_chkUploadTiddler config.options.chkUploadTiddler; config.options.chkUploadTiddler true; bidix.uploadTiddler.upload(tiddlerTitle, tiddler,tiddlerTitle); config.options.chkUploadTiddler saved_chkUploadTiddler; }};//// Utilities// if (!window.bidix) window.bidix {}; // bidix namespacebidix.checkPlugin function(plugin, major, minor, revision) { var ext version.extensionsplugin; if (! (ext && ((ext.major > major) || ((ext.major major) && (ext.minor > minor)) || ((ext.major major) && (ext.minor minor) && (ext.revision > revision))))) { // write error in PluginManager if (pluginInfo) pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision); eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined" }};//// Initializations//// require UploadTiddlerPlugin 1.2.2 or betterbidix.checkPlugin("UploadTiddlerPlugin", 1, 2, 2);//}}}/pre>/div>div titleUploadTiddlerPlugin modifierSkye created200802222218 modified201308300507 tagsexcludeLists systemConfig server.typefile server.hosthttp://www.unigaia-brasil.org/escolasResilientes/indexOld.html server.page.revision201308300507>pre>/***|Name:|UploadTiddlerPlugin||Description:|Upload a tiddler and Update a remote TiddlyWiki ||Version:|1.2.2||Date:|2008-09-13||Source:|http://tiddlywiki.bidix.info/#UploadTiddlerPlugin||Usage:|Uses {{{<<uploadOptions>>}}}<br>with those UploadTiddler Options : <br>chkUploadTiddler: <<option chkUploadTiddler>><br>txtUploadTiddlerStoreUrl: <<option txtUploadTiddlerStoreUrl>><br>chkUploadTiddlerFromFile: <<option chkUploadTiddlerFromFile>>||Author:|BidiX (BidiX (at) bidix (dot) info)||License:|BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ||CoreVersion:|2.3.0|***///{{{version.extensions.UploadTiddlerPlugin { major: 1, minor: 2, revision: 2, date: new Date("2008-09-13"), source: http://tiddlywiki.bidix.info/#UploadTiddlerPlugin, author: BidiX (BidiX (at) bidix (dot) info, coreVersion: 2.3.0};if (!window.bidix) window.bidix {}; // bidix namespacebidix.debugMode false;bidix.uploadTiddler { messages: { aboutToSaveTiddler: "About to update tiddler %0...", aboutToRemotelySaveTiddler: "About to REMOTELY update tiddler %0...", storeTiddlerNotFound: "Script store tiddler %0 not found", tiddlerSaved: "Tiddler %0 updated in %1 using %2 " }, upload: function(title,tiddler,oldTitle) { var callback function(status,params,responseText,url,xhr) { if (xhr.status 404) { alert(bidix.uploadTiddler.messages.storeTiddlerNotFound.format(url)); return; } if ((bidix.debugMode) || (responseText.indexOf("Debug mode") > 0 )) { alert(responseText); if (responseText.indexOf("Debug mode") > 0 ) responseText responseText.substring(responseText.indexOf("\n\n")+2); } else if (responseText.charAt(0) ! 0) alert(responseText); else displayMessage(bidix.uploadTiddler.messages.tiddlerSaved.format(params0, params1, params2)); store.setDirty(false); } if ((config.optionschkUploadTiddler) && ((document.location.toString().substr(0,4) "http") || config.optionschkUploadTiddlerFromFile)) { clearMessage(); if (document.location.toString().substr(0,4) ! "http") displayMessage(bidix.uploadTiddler.messages.aboutToRemotelySaveTiddler.format(title)); else displayMessage(bidix.uploadTiddler.messages.aboutToSaveTiddler.format(title)); var ExtTiddler null; var html null; if (tiddler) { ExtTiddler store.getSaver().externalizeTiddler(store,tiddler); html wikifyStatic(tiddler.text,null,tiddler).htmlEncode(); } var form "title"+encodeURIComponent(title); form form + "&tiddler"+(ExtTiddler?encodeURIComponent(ExtTiddler):); form form + "&html"+(html?encodeURIComponent(html):); var filename (config.optionstxtUploadFilename?config.optionstxtUploadFilename:index.html); form form +"&oldTitle"+encodeURIComponent(oldTitle); form form +"&fileName"+encodeURIComponent(filename); form form +"&backupDir"+encodeURIComponent(config.optionstxtUploadBackupDir); form form +"&user"+encodeURIComponent(config.optionstxtUploadUserName); form form +"&password"+encodeURIComponent(config.optionspasUploadPassword); form form +"&uploadir"+encodeURIComponent(config.optionstxtUploadDir); form form +"&debug"+encodeURIComponent(0); var storeScript (config.options.txtUploadTiddlerStoreUrl ? config.options.txtUploadTiddlerStoreUrl : storeTiddler.php); var r doHttp("POST",storeScript,form+"\n",application/x-www-form-urlencoded, config.optionstxtUploadUserName,config.optionspasUploadPassword,callback,Array(title,filename, storeScript),null); } }}TiddlyWiki.prototype.saveTiddler_bidix TiddlyWiki.prototype.saveTiddler;TiddlyWiki.prototype.saveTiddler function(oldTitle,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created) { var tiddler TiddlyWiki.prototype.saveTiddler_bidix.apply(this,arguments); var title (newTitle?newTitle:oldTitle); if (oldTitle title) oldTitle ; bidix.uploadTiddler.upload(title, tiddler, oldTitle);}TiddlyWiki.prototype.removeTiddler_bidix TiddlyWiki.prototype.removeTiddler;TiddlyWiki.prototype.removeTiddler function(title) { TiddlyWiki.prototype.removeTiddler_bidix.apply(this,arguments); bidix.uploadTiddler.upload(title, null);}//// Initializations//bidix.initOption function(name,value) { if (!config.optionsname) config.optionsname value;};// styleSheetsetStylesheet(.txtUploadTiddlerStoreUrl {width: 22em;},"uploadTiddlerPluginStyles");//optionsDescmerge(config.optionsDesc,{ txtUploadTiddlerStoreUrl: "Url of the UploadTiddlerService script (default: storeTiddler.php)", chkUploadTiddler: "Do per Tiddler upload using txtUploadTiddlerStoreUrl (default: false)", chkUploadTiddlerFromFile: "Upload tiddler even if TiddlyWiki is located on local file (default: false)"});// Options Initializationsbidix.initOption(txtUploadTiddlerStoreUrl,);bidix.initOption(chkUploadTiddler,);bidix.initOption(chkUploadTiddlerFromFile,);// add options in backstage UploadOptionsif (config.macros.uploadOptions) { if (config.macros.uploadOptions.options) { config.macros.uploadOptions.options.push("txtUploadTiddlerStoreUrl","chkUploadTiddler", "chkUploadTiddlerFromFile"); }}//}}}/pre>/div>div titleViewTemplate modifierOSeuNome created201304200126 modified202005250407 tagsexcludeLists formatting changecount83 server.page.revision201807270207 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre><!--{{{--><div classtitle macroview title></div><div macro"showWhen localStorage.username Skye"><div classtoolbar macrotoolbar ToolbarCommands::ViewToolbar></div></div><div macro"showWhen localStorage.username Ivone"><div classtoolbar macrotoolbar ToolbarCommands::ViewToolbar><span macrotiddler newHere##OpenNote></span><span macrotiddler newHere##Corr_Nota></span><span macrotiddler NossasVisitas></span><span macrotiddler Atualiza><span macrotiddler Imprimir></span></span></div></div><div macro"showWhen localStorage.username Aline"><div classtoolbar macrotoolbar ToolbarCommands::ViewToolbar><span macrotiddler newHere##OpenNote></span><span macrotiddler newHere##Corr_Nota></span><span macrotiddler NossasVisitas></span><span macrotiddler Atualiza><span macrotiddler Imprimir></span></span></div></div><div classviewer macroview text wikified></div><div classtagClear></div><!--}}}-->/pre>/div>div titleWikifyPlugin modifierOSeuNome created201105061709 modified201902180258 tagsexcludeLists systemConfig server.page.revision201902180258 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre>/***|Name|WikifyPlugin||Source|http://www.TiddlyTools.com/#WikifyPlugin||Documentation|http://www.TiddlyTools.com/#WikifyPluginInfo||Version|1.2.0||Author|Eric Shulman||License|http://www.TiddlyTools.com/#LegalStatements||~CoreVersion|2.1||Type|plugin||Description|insert sections, slices, fields, literals, or computed values into a wiki-format output|!!!!!Documentation> see WikifyPluginInfo!!!!!Revisions<<<2011.03.07 1.2.0 added handling in getFieldReference() for retrieving section values|please see WikifyPluginInfo for additional revision details|2007.06.22 1.0.0 initial release<<<!!!!!Code***///{{{version.extensions.WikifyPlugin {major: 1, minor: 2, revision: 0, date: new Date(2011,3,7)};config.macros.wikify{ handler: function(place,macroName,params,wikifier,paramString,tiddler) { var fmtparams.shift(); var values; var out""; if (!fmt.match(/%0-9/g) && params.length) // format has no markers, just join all params with spaces outfmt+" "+params.join(" "); else { // format param has markers, get values and perform substitution while (pparams.shift()) values.push(this.getFieldReference(place,p)); outfmt.format(values); } if (macroName"wikiCalc") outeval(out).toString(); wikify(out.unescapeLineBreaks(),place,null,tiddler); }, getFieldReference: function(place,p) { if (typeof p ! "string") return p; // literal non-string value... just return it... var valundefined; var herestory.findContainingTiddler(place); var currenthere?here.getAttribute(tiddler):; // SLICES: "::slicename" OR "here::slicename" OR "tiddlername::slicename" var partsp.split(config.textPrimitives.sliceSeparator); var tidparts0; var sliceparts1; if (slice) { // slice reference if (!tid || !tid.length || tid"here") tidcurrent; var valstore.getTiddlerSlice(tid,slice); } // SECTIONS: "##sectionname" OR "here##sectionname" OR "tiddlername##sectionname" if (!slice) { var partsp.split(config.textPrimitives.sectionSeparator); var tidparts0; var sectionparts1; if (section) { if (!tid || !tid.length || tid"here") tidcurrent; var valstore.getTiddlerText(tid+config.textPrimitives.sectionSeparator+section); } } // FIELDS: "fieldname" OR "fieldname@tiddlername" if (!slice && !section) { var partsp.split("@"); var fieldparts0; var tidparts1; if (!tid || !tid.length || tid"here") tidcurrent; var valstore.getValue(tid,field); } // not a slice, section or field, or value not found... return value unchanged return valundefined?p:val; }}//}}}//{{{// define alternative macroName for triggering pre-rendering call to eval()config.macros.wikiCalcconfig.macros.wikify;//}}}/pre>/div>div titleWindowTitle modifierOSeuNome created201304201454 modified202005280234 tagsexcludeLists sistem changecount6 server.typefile server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.page.revision202003271525>pre>UniGaia-Brasil/pre>/div>div titleadmin modifierOSeuNome created201807280048 modified202005232247 tagsexcludeLists sistem changecount111 server.page.revision201902172203 server.hosthttp://www.unigaia-brasil.org/escolasResilientes/index.html server.typefile>pre><<tiddler SideBarOptions>>/pre>/div>div titlenoTitleViewTemplate creatorOSeuNome modifierOSeuNome created201909241343 modified202004020633 tagsexcludeLists sistem noTitle changecount35>pre><!--{{{--><div macroshowWhen tiddler.tags.indexOf("show")!-1><div classtoolbar macrotiddler Show></div></div><div macro"showWhen localStorage.username Skye"><div classtoolbar macrotoolbar ToolbarCommands::ViewToolbar><span macrotiddler newHere##OpenNote></span><span macrotiddler newHere##NoticiaBreve></span><span macrotiddler newHere##Corr_Nota></span><span macrotiddler newHere##Corr_Estudo></span><span macrotiddler NossasVisitas></span><span macrotiddler Atualiza><span macrotiddler Imprimir></span></span></span></div></div><div macro"showWhen localStorage.username Ivone"><div classtoolbar macrotoolbar ToolbarCommands::ViewToolbar><span macrotiddler newHere##OpenNote></span><span macrotiddler newHere##NoticiaBreve></span><span macrotiddler newHere##Corr_Nota></span><span macrotiddler NossasVisitas></span><span macrotiddler Atualiza><span macrotiddler Imprimir></span></span></div></div><div macro"showWhen localStorage.username Aline"><div classtoolbar macrotoolbar ToolbarCommands::ViewToolbar><span macrotiddler newHere##OpenNote></span><span macrotiddler newHere##NoticiaBreve></span><span macrotiddler newHere##Corr_Nota></span><span macrotiddler NossasVisitas></span><span macrotiddler Atualiza><span macrotiddler Imprimir></span></span></div></div><div classviewer macroview text wikified></div><div classtagClear></div><!--}}}-->/pre>/div>div titlexxConfig modifierOSeuNome created201304201334 modified202403041720 tagsexcludeLists systemConfig changecount9 server.typefile server.hosthttp://www.unigaia-brasil.org/PDC/index_old.html server.page.revision201910031856>pre>config.options.txUploadFilenameconfig.options.txtCursoIndexconfig.options.txtUploadStoreUrl"store.php"config.options.txtUploadFilename"index.html"config.options.txtUploadUserName"Skye"config.options.txtUploadTiddlerStoreUrl"storeTiddler.php"config.options.chkUploadTiddlertrueconfig.options.chkSinglePageModetrueconfig.options.chkSinglePagePermalinkfalsechkHttpReadOnlyfalseconfig.options.chkBackstagefalsereadOnlyfalseconfig.options.pasUploadPassword"6y7"/pre>/div>/div>!--POST-STOREAREA-->!--POST-BODY-START-->!--POST-BODY-END-->script idjsArea typetext/javascript>//!CDATA//// Please note://// * This code is designed to be readable but for compactness it only includes brief comments. You can see fuller comments// in the project repository at https://github.com/TiddlyWiki/tiddlywiki//// * You should never need to modify this source code directly. TiddlyWiki is carefully designed to allow deep customisation// without changing the core code. Please consult the development group at http://groups.google.com/group/TiddlyWikiDev//// JSLint directives/*global jQuery:false, version:false *//*jslint bitwise:true, browser:true, confusion:true, eqeq:true, evil:true, forin:true, maxerr:100, plusplus:true, regexp:true, sloppy:true, sub:true, undef:true, unparam:true, vars:true, white:true *///--//-- Configuration repository//--// Miscellaneous optionsvar config { numRssItems: 20, // Number of items in the RSS feed animDuration: 400, // Duration of UI animations in milliseconds cascadeFast: 20, // Speed for cascade animations (higher slower) cascadeSlow: 60, // Speed for EasterEgg cascade animations cascadeDepth: 5, // Depth of cascade animation locale: en // W3C language tag};// Hashmap of alternative parsers for the wikifierconfig.parsers {};// Adaptorsconfig.adaptors {};config.defaultAdaptor null;// Backstage tasksconfig.tasks {};// Annotationsconfig.annotations {};// Custom fields to be automatically added to new tiddlersconfig.defaultCustomFields {};// Messagesconfig.messages { messageClose: {}, dates: {}, tiddlerPopup: {}};// Options that can be set in the options panel and/or cookiesconfig.options { chkRegExpSearch: false, chkCaseSensitiveSearch: false, chkIncrementalSearch: true, chkAnimate: true, chkSaveBackups: true, chkAutoSave: false, chkGenerateAnRssFeed: false, chkSaveEmptyTemplate: false, chkOpenInNewWindow: true, chkToggleLinks: false, chkHttpReadOnly: true, chkForceMinorUpdate: false, chkConfirmDelete: true, chkInsertTabs: false, chkUsePreForStorage: true, // Whether to use pre> format for storage chkDisplayInstrumentation: false, txtBackupFolder: , txtEditorFocus: text, txtMainTab: tabTimeline, txtMoreTab: moreTabAll, txtMaxEditRows: 30, txtFileSystemCharSet: UTF-8, txtTheme: };config.optionsDesc {};config.optionsSource {};// Default tiddler templatesvar DEFAULT_VIEW_TEMPLATE 1;var DEFAULT_EDIT_TEMPLATE 2;config.tiddlerTemplates { 1: ViewTemplate, 2: EditTemplate};// More messages (rather a legacy layout that should not really be like this)config.views { wikified: { tag: {} }, editor: { tagChooser: {} }};// Backstage tasksconfig.backstageTasks save,importTask,tweak,upgrade,plugins;// Extensionsconfig.extensions {};// Macros; each has a handler member that is inserted laterconfig.macros { today: {}, version: {}, search: {sizeTextbox: 15}, tiddler: {}, tag: {}, tags: {}, tagging: {}, timeline: {}, allTags: {}, list: { all: {}, missing: {}, orphans: {}, shadowed: {}, touched: {}, filter: {} }, closeAll: {}, permaview: {}, saveChanges: {}, slider: {}, option: {}, options: {}, newTiddler: {}, newJournal: {}, tabs: {}, gradient: {}, message: {}, view: {defaultView: text}, edit: {}, tagChooser: {}, toolbar: {}, plugins: {}, refreshDisplay: {}, importTiddlers: {}, upgrade: { source: http://tiddlywiki-releases.tiddlyspace.com/upgrade, backupExtension: pre.core.upgrade }, sync: {}, annotations: {}};// Commands supported by the toolbar macroconfig.commands { closeTiddler: {}, closeOthers: {}, editTiddler: {}, saveTiddler: {hideReadOnly: true}, cancelTiddler: {}, deleteTiddler: {hideReadOnly: true}, permalink: {}, references: {type: popup}, jump: {type: popup}, syncing: {type: popup}, fields: {type: popup}};// Control of macro parameter evaluationconfig.evaluateMacroParameters all;// Basic regular expressionsconfig.textPrimitives { upperLetter: A-Z\u00c0-\u00de\u0150\u0170, lowerLetter: a-z0-9_\\-\u00df-\u00ff\u0151\u0171, anyLetter: A-Za-z0-9_\\-\u00c0-\u00de\u00df-\u00ff\u0150\u0170\u0151\u0171, anyLetterStrict: A-Za-z0-9\u00c0-\u00de\u00df-\u00ff\u0150\u0170\u0151\u0171};if(!((new RegExp(\u0150\u0170,g)).test(\u0150))) { config.textPrimitives { upperLetter: A-Z\u00c0-\u00de, lowerLetter: a-z0-9_\\-\u00df-\u00ff, anyLetter: A-Za-z0-9_\\-\u00c0-\u00de\u00df-\u00ff, anyLetterStrict: A-Za-z0-9\u00c0-\u00de\u00df-\u00ff };}config.textPrimitives.sliceSeparator ::;config.textPrimitives.sectionSeparator ##;config.textPrimitives.urlPattern (?:file|http|https|mailto|ftp|irc|news|data):^\\s\+(?:/|\\b);config.textPrimitives.unWikiLink ~;config.textPrimitives.wikiLink (?:(?: + config.textPrimitives.upperLetter + + + config.textPrimitives.lowerLetter + + + config.textPrimitives.upperLetter + config.textPrimitives.anyLetter + *)|(?: + config.textPrimitives.upperLetter + {2,} + config.textPrimitives.lowerLetter + +));config.textPrimitives.cssLookahead (?:( + config.textPrimitives.anyLetter + +)\\((^\\)\\|\\n+)(?:\\):))|(?:( + config.textPrimitives.anyLetter + +):(^;\\|\\n+););config.textPrimitives.cssLookaheadRegExp new RegExp(config.textPrimitives.cssLookahead,mg);config.textPrimitives.brackettedLink \\\\(^\\+)\\\\;config.textPrimitives.titledBrackettedLink \\\\(^\\\\\\|+)\\|(^\\\\\\|+)\\\\;config.textPrimitives.tiddlerForcedLinkRegExp new RegExp((?: + config.textPrimitives.titledBrackettedLink + )|(?: + config.textPrimitives.brackettedLink + )|(?: + config.textPrimitives.urlPattern + ),mg);config.textPrimitives.tiddlerAnyLinkRegExp new RegExp((+ config.textPrimitives.wikiLink + )|(?: + config.textPrimitives.titledBrackettedLink + )|(?: + config.textPrimitives.brackettedLink + )|(?: + config.textPrimitives.urlPattern + ),mg);config.glyphs { currBrowser: null, browsers: , codes: {}};//--//-- Shadow tiddlers//--config.shadowTiddlers { StyleSheet: , MarkupPreHead: , MarkupPostHead: , MarkupPreBody: , MarkupPostBody: , TabTimeline: timeline>>, TabAll: list all>>, TabTags: allTags excludeLists>>, TabMoreMissing: list missing>>, TabMoreOrphans: list orphans>>, TabMoreShadowed: list shadowed>>, AdvancedOptions: options>>, PluginManager: plugins>>, SystemSettings: , ToolbarCommands: |~ViewToolbar|closeTiddler closeOthers +editTiddler > fields syncing permalink references jump|\n|~EditToolbar|+saveTiddler -cancelTiddler deleteTiddler|, WindowTitle: tiddler SiteTitle>> - tiddler SiteSubtitle>>};// Browser detection... In a very few places, theres nothing else for it but to know what browser were using.config.userAgent navigator.userAgent.toLowerCase();config.browser { isIE: config.userAgent.indexOf(msie) ! -1 && config.userAgent.indexOf(opera) -1, isGecko: navigator.product Gecko && config.userAgent.indexOf(WebKit) -1, ieVersion: /MSIE (\d{1,2}.\d)/i.exec(config.userAgent), // config.browser.ieVersion1, if it exists, will be the IE version string, eg 6.0 isSafari: config.userAgent.indexOf(applewebkit) ! -1, isBadSafari: !((new RegExp(\u0150\u0170,g)).test(\u0150)), firefoxDate: /gecko\/(\d{8})/i.exec(config.userAgent), // config.browser.firefoxDate1, if it exists, will be Firefox release date as YYYYMMDD isOpera: config.userAgent.indexOf(opera) ! -1, isChrome: config.userAgent.indexOf(chrome) > -1, isLinux: config.userAgent.indexOf(linux) ! -1, isUnix: config.userAgent.indexOf(x11) ! -1, isMac: config.userAgent.indexOf(mac) ! -1, isWindows: config.userAgent.indexOf(win) ! -1};merge(config.glyphs,{ browsers: function() {return config.browser.isIE;}, function() {return true;} , codes: { downTriangle: \u25BC,\u25BE, downArrow: \u2193,\u2193, bentArrowLeft: \u2190,\u21A9, bentArrowRight: \u2192,\u21AA }});//--//-- Translateable strings//--// Strings in double quotes should be translated; strings in single quotes should be left alonemerge(config.options,{ txtUserName: YourName});merge(config.tasks,{ save: {text: save, tooltip: Save your changes to this TiddlyWiki}, importTask: {text: import, tooltip: Import tiddlers and plugins from other TiddlyWiki files and servers, content: importTiddlers>>}, tweak: {text: tweak, tooltip: Tweak the appearance and behaviour of TiddlyWiki, content: options>>}, upgrade: {text: upgrade, tooltip: Upgrade TiddlyWiki core code, content: upgrade>>}, plugins: {text: plugins, tooltip: Manage installed plugins, content: plugins>>}});// Options that can be set in the options panel and/or cookiesmerge(config.optionsDesc,{ txtUserName: Username for signing your edits, chkRegExpSearch: Enable regular expressions for searches, chkCaseSensitiveSearch: Case-sensitive searching, chkIncrementalSearch: Incremental key-by-key searching, chkAnimate: Enable animations, chkSaveBackups: Keep backup file when saving changes, chkAutoSave: Automatically save changes, chkGenerateAnRssFeed: Generate an RSS feed when saving changes, chkSaveEmptyTemplate: Generate an empty template when saving changes, chkOpenInNewWindow: Open external links in a new window, chkToggleLinks: Clicking on links to open tiddlers causes them to close, chkHttpReadOnly: Hide editing features when viewed over HTTP, chkForceMinorUpdate: Dont update modifier username and date when editing tiddlers, chkConfirmDelete: Require confirmation before deleting tiddlers, chkInsertTabs: Use the tab key to insert tab characters instead of moving between fields, txtBackupFolder: Name of folder to use for backups, txtMaxEditRows: Maximum number of rows in edit boxes, txtTheme: Name of the theme to use, txtFileSystemCharSet: Default character set for saving changes (Firefox/Mozilla only)});merge(config.messages,{ customConfigError: Problems were encountered loading plugins. See PluginManager for details, pluginError: Error: %0, pluginDisabled: Not executed because disabled via systemConfigDisable tag, pluginForced: Executed because forced via systemConfigForce tag, pluginVersionError: Not executed because this plugin needs a newer version of TiddlyWiki, nothingSelected: Nothing is selected. You must select one or more items first, savedSnapshotError: It appears that this TiddlyWiki has been incorrectly saved. Please see http://www.tiddlywiki.com/#Download for details, subtitleUnknown: (unknown), undefinedTiddlerToolTip: The tiddler %0 doesnt yet exist, shadowedTiddlerToolTip: The tiddler %0 doesnt yet exist, but has a pre-defined shadow value, tiddlerLinkTooltip: %0 - %1, %2, externalLinkTooltip: External link to %0, noTags: There are no tagged tiddlers, notFileUrlError: You need to save this TiddlyWiki to a file before you can save changes, cantSaveError: Its not possible to save changes. Possible reasons include:\n- your browser doesnt support saving (Firefox, Internet Explorer, Safari and Opera all work if properly configured)\n- the pathname to your TiddlyWiki file contains illegal characters\n- the TiddlyWiki HTML file has been moved or renamed, invalidFileError: The original file %0 does not appear to be a valid TiddlyWiki, backupSaved: Backup saved, backupFailed: Failed to save backup file, rssSaved: RSS feed saved, rssFailed: Failed to save RSS feed file, emptySaved: Empty template saved, emptyFailed: Failed to save empty template file, mainSaved: Main TiddlyWiki file saved, mainDownload: Downloading/saving main TiddlyWiki file, mainDownloadManual: RIGHT CLICK HERE to download/save main TiddlyWiki file, mainFailed: Failed to save main TiddlyWiki file. Your changes have not been saved, macroError: Error in macro %0>>, macroErrorDetails: Error while executing macro %0>>:\n%1, missingMacro: No such macro, overwriteWarning: A tiddler named %0 already exists. Choose OK to overwrite it, unsavedChangesWarning: WARNING! There are unsaved changes in TiddlyWiki\n\nChoose OK to save\nChoose CANCEL to discard, confirmExit: --------------------------------\n\nThere are unsaved changes in TiddlyWiki. If you continue you will lose those changes\n\n--------------------------------, saveInstructions: SaveChanges, unsupportedTWFormat: Unsupported TiddlyWiki format %0, tiddlerSaveError: Error when saving tiddler %0, tiddlerLoadError: Error when loading tiddler %0, wrongSaveFormat: Cannot save with storage format %0. Using standard format for save., invalidFieldName: Invalid field name %0, fieldCannotBeChanged: Field %0 cannot be changed, loadingMissingTiddler: Attempting to retrieve the tiddler %0 from the %1 server at:\n\n%2 in the workspace %3, upgradeDone: The upgrade to version %0 is now complete\n\nClick OK to reload the newly upgraded TiddlyWiki, invalidCookie: Invalid cookie %0});merge(config.messages.messageClose,{ text: close, tooltip: close this message area});config.messages.backstage { open: {text: backstage, tooltip: Open the backstage area to perform authoring and editing tasks}, close: {text: close, tooltip: Close the backstage area}, prompt: backstage: , decal: { edit: {text: edit, tooltip: Edit the tiddler %0} }};config.messages.listView { tiddlerTooltip: Click for the full text of this tiddler, previewUnavailable: (preview not available)};config.messages.dates.months January, February, March, April, May, June, July, August, September, October, November,December;config.messages.dates.days Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday;config.messages.dates.shortMonths Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec;config.messages.dates.shortDays Sun, Mon, Tue, Wed, Thu, Fri, Sat;// suffixes for dates, eg 1st,2nd,3rd...30th,31stconfig.messages.dates.daySuffixes st,nd,rd,th,th,th,th,th,th,th, th,th,th,th,th,th,th,th,th,th, st,nd,rd,th,th,th,th,th,th,th, st;config.messages.dates.am am;config.messages.dates.pm pm;merge(config.messages.tiddlerPopup,{ });merge(config.views.wikified.tag,{ labelNoTags: no tags, labelTags: tags: , openTag: Open tag %0, tooltip: Show tiddlers tagged with %0, openAllText: Open all, openAllTooltip: Open all of these tiddlers, popupNone: No other tiddlers tagged with %0});merge(config.views.wikified,{ defaultText: The tiddler %0 doesnt yet exist. Double-click to create it, defaultModifier: (missing), shadowModifier: (built-in shadow tiddler), dateFormat: DD MMM YYYY, createdPrompt: created});merge(config.views.editor,{ tagPrompt: Type tags separated with spaces, use double square brackets if necessary, or add existing, defaultText: Type the text for %0});merge(config.views.editor.tagChooser,{ text: tags, tooltip: Choose existing tags to add to this tiddler, popupNone: There are no tags defined, tagTooltip: Add the tag %0});merge(config.messages,{ sizeTemplates: {unit: 1024*1024*1024, template: %0\u00a0GB}, {unit: 1024*1024, template: %0\u00a0MB}, {unit: 1024, template: %0\u00a0KB}, {unit: 1, template: %0\u00a0B} });merge(config.macros.search,{ label: search, prompt: Search this TiddlyWiki, placeholder: , accessKey: F, successMsg: %0 tiddlers found matching %1, failureMsg: No tiddlers found matching %0});merge(config.macros.tagging,{ label: tagging: , labelNotTag: not tagging, tooltip: List of tiddlers tagged with %0});merge(config.macros.timeline,{ dateFormat: DD MMM YYYY});merge(config.macros.allTags,{ tooltip: Show tiddlers tagged with %0, noTags: There are no tagged tiddlers});config.macros.list.all.prompt All tiddlers in alphabetical order;config.macros.list.missing.prompt Tiddlers that have links to them but are not defined;config.macros.list.orphans.prompt Tiddlers that are not linked to from any other tiddlers;config.macros.list.shadowed.prompt Tiddlers shadowed with default contents;config.macros.list.touched.prompt Tiddlers that have been modified locally;merge(config.macros.closeAll,{ label: close all, prompt: Close all displayed tiddlers (except any that are being edited)});merge(config.macros.permaview,{ label: permaview, prompt: Link to an URL that retrieves all the currently displayed tiddlers});merge(config.macros.saveChanges,{ label: save changes, prompt: Save all tiddlers to create a new TiddlyWiki, accessKey: S});merge(config.macros.newTiddler,{ label: new tiddler, prompt: Create a new tiddler, title: New Tiddler, accessKey: N});merge(config.macros.newJournal,{ label: new journal, prompt: Create a new tiddler from the current date and time, accessKey: J});merge(config.macros.options,{ wizardTitle: Tweak advanced options, step1Title: These options are saved in cookies in your browser, step1Html: input typehidden namemarkList>/input>br>input typecheckbox checkedfalse namechkUnknown>Show unknown options/input>, unknownDescription: //(unknown)//, listViewTemplate: { columns: {name: Option, field: option, title: Option, type: String}, {name: Description, field: description, title: Description, type: WikiText}, {name: Name, field: name, title: Name, type: String} , rowClasses: {className: lowlight, field: lowlight} } });merge(config.macros.plugins,{ wizardTitle: Manage plugins, step1Title: Currently loaded plugins, step1Html: input typehidden namemarkList>/input>, // DO NOT TRANSLATE skippedText: (This plugin has not been executed because it was added since startup), noPluginText: There are no plugins installed, confirmDeleteText: Are you sure you want to delete these plugins:\n\n%0, removeLabel: remove systemConfig tag, removePrompt: Remove systemConfig tag, deleteLabel: delete, deletePrompt: Delete these tiddlers forever, listViewTemplate: { columns: {name: Selected, field: Selected, rowName: title, type: Selector}, {name: Tiddler, field: tiddler, title: Tiddler, type: Tiddler}, {name: Description, field: Description, title: Description, type: String}, {name: Version, field: Version, title: Version, type: String}, {name: Size, field: size, tiddlerLink: size, title: Size, type: Size}, {name: Forced, field: forced, title: Forced, tag: systemConfigForce, type: TagCheckbox}, {name: Disabled, field: disabled, title: Disabled, tag: systemConfigDisable, type: TagCheckbox}, {name: Executed, field: executed, title: Loaded, type: Boolean, trueText: Yes, falseText: No}, {name: Startup Time, field: startupTime, title: Startup Time, type: String}, {name: Error, field: error, title: Status, type: Boolean, trueText: Error, falseText: OK}, {name: Log, field: log, title: Log, type: StringList} , rowClasses: {className: error, field: error}, {className: warning, field: warning} }, listViewTemplateReadOnly: { columns: {name: Tiddler, field: tiddler, title: Tiddler, type: Tiddler}, {name: Description, field: Description, title: Description, type: String}, {name: Version, field: Version, title: Version, type: String}, {name: Size, field: size, tiddlerLink: size, title: Size, type: Size}, {name: Executed, field: executed, title: Loaded, type: Boolean, trueText: Yes, falseText: No}, {name: Startup Time, field: startupTime, title: Startup Time, type: String}, {name: Error, field: error, title: Status, type: Boolean, trueText: Error, falseText: OK}, {name: Log, field: log, title: Log, type: StringList} , rowClasses: {className: error, field: error}, {className: warning, field: warning} } });merge(config.macros.toolbar,{ moreLabel: more, morePrompt: Show additional commands, lessLabel: less, lessPrompt: Hide additional commands, separator: | });merge(config.macros.refreshDisplay,{ label: refresh, prompt: Redraw the entire TiddlyWiki display });merge(config.macros.importTiddlers,{ readOnlyWarning: You cannot import into a read-only TiddlyWiki file. Try opening it from a file:// URL, wizardTitle: Import tiddlers from another file or server, step1Title: Step 1: Locate the server or TiddlyWiki file, step1Html: Specify the type of the server: select nameselTypes>option value>Choose.../option>/select>br>Enter the URL or pathname here: input typetext size50 nametxtPath>br>...or browse for a file: input typefile size50 nametxtBrowse>br>hr>...or select a pre-defined feed: select nameselFeeds>option value>Choose.../option>/select>, openLabel: open, openPrompt: Open the connection to this file or server, statusOpenHost: Opening the host, statusGetWorkspaceList: Getting the list of available workspaces, step2Title: Step 2: Choose the workspace, step2Html: Enter a workspace name: input typetext size50 nametxtWorkspace>br>...or select a workspace: select nameselWorkspace>option value>Choose.../option>/select>, cancelLabel: cancel, cancelPrompt: Cancel this import, statusOpenWorkspace: Opening the workspace, statusGetTiddlerList: Getting the list of available tiddlers, errorGettingTiddlerList: Error getting list of tiddlers, click Cancel to try again, errorGettingTiddlerListHttp404: Error retrieving tiddlers from url, please ensure the url exists. Click Cancel to try again., errorGettingTiddlerListHttp: Error retrieving tiddlers from url, please ensure this url exists and is a hrefhttp://enable-cors.org/>CORS/a> enabled, errorGettingTiddlerListFile: Error retrieving tiddlers from local file, please make sure the file is in the same directory as your TiddlyWiki. Click Cancel to try again., step3Title: Step 3: Choose the tiddlers to import, step3Html: input typehidden namemarkList>/input>br>input typecheckbox checkedtrue namechkSync>Keep these tiddlers linked to this server so that you can synchronise subsequent changes/input>br>input typecheckbox namechkSave>Save the details of this server in a systemServer tiddler called:/input> input typetext size25 nametxtSaveTiddler>, importLabel: import, importPrompt: Import these tiddlers, confirmOverwriteText: Are you sure you want to overwrite these tiddlers:\n\n%0, step4Title: Step 4: Importing %0 tiddler(s), step4Html: input typehidden namemarkReport>/input>, // DO NOT TRANSLATE doneLabel: done, donePrompt: Close this wizard, statusDoingImport: Importing tiddlers, statusDoneImport: All tiddlers imported, systemServerNamePattern: %2 on %1, systemServerNamePatternNoWorkspace: %1, confirmOverwriteSaveTiddler: The tiddler %0 already exists. Click OK to overwrite it with the details of this server, or Cancel to leave it unchanged, serverSaveTemplate: |Type:|%0|\n|URL:|%1|\n|Workspace:|%2|\n\nThis tiddler was automatically created to record the details of this server, serverSaveModifier: (System), listViewTemplate: { columns: {name: Selected, field: Selected, rowName: title, type: Selector}, {name: Tiddler, field: tiddler, title: Tiddler, type: Tiddler}, {name: Size, field: size, tiddlerLink: size, title: Size, type: Size}, {name: Tags, field: tags, title: Tags, type: Tags} , rowClasses: } });merge(config.macros.upgrade,{ wizardTitle: Upgrade TiddlyWiki core code, step1Title: Update or repair this TiddlyWiki to the latest release, step1Html: You are about to upgrade to the latest release of the TiddlyWiki core code (from a href%0 classexternalLink target_blank>%1/a>). Your content will be preserved across the upgrade.br>br>Note that core upgrades have been known to interfere with older plugins. If you run into problems with the upgraded file, see a hrefhttp://www.tiddlywiki.org/wiki/CoreUpgrades classexternalLink target_blank>http://www.tiddlywiki.org/wiki/CoreUpgrades/a>, errorCantUpgrade: Unable to upgrade this TiddlyWiki. You can only perform upgrades on TiddlyWiki files stored locally, errorNotSaved: You must save changes before you can perform an upgrade, step2Title: Confirm the upgrade details, step2Html_downgrade: You are about to downgrade to TiddlyWiki version %0 from %1.br>br>Downgrading to an earlier version of the core code is not recommended, step2Html_restore: This TiddlyWiki appears to be already using the latest version of the core code (%0).br>br>You can continue to upgrade anyway to ensure that the core code hasnt been corrupted or damaged, step2Html_upgrade: You are about to upgrade to TiddlyWiki version %0 from %1, upgradeLabel: upgrade, upgradePrompt: Prepare for the upgrade process, statusPreparingBackup: Preparing backup, statusSavingBackup: Saving backup file, errorSavingBackup: There was a problem saving the backup file, statusLoadingCore: Loading core code, errorLoadingCore: Error loading the core code, errorCoreFormat: Error with the new core code, statusSavingCore: Saving the new core code, statusReloadingCore: Reloading the new core code, startLabel: start, startPrompt: Start the upgrade process, cancelLabel: cancel, cancelPrompt: Cancel the upgrade process, step3Title: Upgrade cancelled, step3Html: You have cancelled the upgrade process });merge(config.macros.annotations,{ });merge(config.commands.closeTiddler,{ text: close, tooltip: Close this tiddler});merge(config.commands.closeOthers,{ text: close others, tooltip: Close all other tiddlers});merge(config.commands.editTiddler,{ text: edit, tooltip: Edit this tiddler, readOnlyText: view, readOnlyTooltip: View the source of this tiddler});merge(config.commands.saveTiddler,{ text: done, tooltip: Save changes to this tiddler});merge(config.commands.cancelTiddler,{ text: cancel, tooltip: Undo changes to this tiddler, warning: Are you sure you want to abandon your changes to %0?, readOnlyText: done, readOnlyTooltip: View this tiddler normally});merge(config.commands.deleteTiddler,{ text: delete, tooltip: Delete this tiddler, warning: Are you sure you want to delete %0?});merge(config.commands.permalink,{ text: permalink, tooltip: Permalink for this tiddler});merge(config.commands.references,{ text: references, tooltip: Show tiddlers that link to this one, popupNone: No references});merge(config.commands.jump,{ text: jump, tooltip: Jump to another open tiddler});merge(config.commands.fields,{ text: fields, tooltip: Show the extended fields of this tiddler, emptyText: There are no extended fields for this tiddler, listViewTemplate: { columns: {name: Field, field: field, title: Field, type: String}, {name: Value, field: value, title: Value, type: String} , rowClasses: , buttons: }});merge(config.shadowTiddlers,{ DefaultTiddlers: GettingStarted, MainMenu: GettingStarted, SiteTitle: My TiddlyWiki, SiteSubtitle: a reusable non-linear personal web notebook, SiteUrl: , SideBarOptions: search>>closeAll>>permaview>>newTiddler>>newJournal DD MMM YYYY journal>>saveChanges>>slider chkSliderOptionsPanel OptionsPanel options \u00bb Change TiddlyWiki advanced options>>, SideBarTabs: tabs txtMainTab Timeline Timeline TabTimeline All All tiddlers TabAll Tags All tags TabTags More More lists TabMore>>, TabMore: tabs txtMoreTab Missing Missing tiddlers TabMoreMissing Orphans Orphaned tiddlers TabMoreOrphans Shadowed Shadowed tiddlers TabMoreShadowed>> });merge(config.annotations,{ AdvancedOptions: This shadow tiddler provides access to several advanced options, ColorPalette: These values in this shadow tiddler determine the colour scheme of the ~TiddlyWiki user interface, DefaultTiddlers: The tiddlers listed in this shadow tiddler will be automatically displayed when ~TiddlyWiki starts up, EditTemplate: The HTML template in this shadow tiddler determines how tiddlers look while they are being edited, GettingStarted: This shadow tiddler provides basic usage instructions, ImportTiddlers: This shadow tiddler provides access to importing tiddlers, MainMenu: This shadow tiddler is used as the contents of the main menu in the left-hand column of the screen, MarkupPreHead: This tiddler is inserted at the top of the head> section of the TiddlyWiki HTML file, MarkupPostHead: This tiddler is inserted at the bottom of the head> section of the TiddlyWiki HTML file, MarkupPreBody: This tiddler is inserted at the top of the body> section of the TiddlyWiki HTML file, MarkupPostBody: This tiddler is inserted at the end of the body> section of the TiddlyWiki HTML file immediately after the script block, OptionsPanel: This shadow tiddler is used as the contents of the options panel slider in the right-hand sidebar, PageTemplate: The HTML template in this shadow tiddler determines the overall ~TiddlyWiki layout, PluginManager: This shadow tiddler provides access to the plugin manager, SideBarOptions: This shadow tiddler is used as the contents of the option panel in the right-hand sidebar, SideBarTabs: This shadow tiddler is used as the contents of the tabs panel in the right-hand sidebar, SiteSubtitle: This shadow tiddler is used as the second part of the page title, SiteTitle: This shadow tiddler is used as the first part of the page title, SiteUrl: This shadow tiddler should be set to the full target URL for publication, StyleSheetColors: This shadow tiddler contains CSS definitions related to the color of page elements. DO NOT EDIT THIS TIDDLER, instead make your changes in the StyleSheet shadow tiddler, StyleSheet: This tiddler can contain custom CSS definitions, StyleSheetLayout: This shadow tiddler contains CSS definitions related to the layout of page elements. DO NOT EDIT THIS TIDDLER, instead make your changes in the StyleSheet shadow tiddler, StyleSheetLocale: This shadow tiddler contains CSS definitions related to the translation locale, StyleSheetPrint: This shadow tiddler contains CSS definitions for printing, SystemSettings: This tiddler is used to store configuration options for this TiddlyWiki document, TabAll: This shadow tiddler contains the contents of the All tab in the right-hand sidebar, TabMore: This shadow tiddler contains the contents of the More tab in the right-hand sidebar, TabMoreMissing: This shadow tiddler contains the contents of the Missing tab in the right-hand sidebar, TabMoreOrphans: This shadow tiddler contains the contents of the Orphans tab in the right-hand sidebar, TabMoreShadowed: This shadow tiddler contains the contents of the Shadowed tab in the right-hand sidebar, TabTags: This shadow tiddler contains the contents of the Tags tab in the right-hand sidebar, TabTimeline: This shadow tiddler contains the contents of the Timeline tab in the right-hand sidebar, ToolbarCommands: This shadow tiddler determines which commands are shown in tiddler toolbars, ViewTemplate: The HTML template in this shadow tiddler determines how tiddlers look });//--//-- Main//--var params null; // Command line parametersvar store null; // TiddlyWiki storagevar story null; // Main storyvar formatter null; // Default formatters for the wikifiervar anim typeof Animator function ? new Animator() : null; // Animation enginevar readOnly false; // Whether were in readonly modevar highlightHack null; // Embarrassing hack department...var hadConfirmExit false; // Dont warn more than oncevar safeMode false; // Disable all plugins and cookiesvar showBackstage; // Whether to include the backstage areavar installedPlugins ; // Information filled in when plugins are executedvar startingUp false; // Whether were in the process of starting upvar pluginInfo,tiddler; // Used to pass information to plugins in loadPlugins()// Whether this file can be saved back to the same location Preemptionwindow.allowSave window.allowSave || function(l){ return true;}// Whether this file is being viewed locallywindow.isLocal function(){ return (document.location.protocol file:);}// Whether to use the JavaSaver appletvar useJavaSaver window.isLocal() && (config.browser.isSafari || config.browser.isOpera);// Allow preemption code a chance to tweak config and useJavaSaver Preemptionif (window.tweakConfig) window.tweakConfig();if(!window || !window.console) { console {tiddlywiki:true,log:function(message) {displayMessage(message);}};}// Starting upfunction main(){ window.originalHTMLrecreateOriginal(); var t10,t9,t8,t7,t6,t5,t4,t3,t2,t1,t0 new Date(); startingUp true; var doc jQuery(document); jQuery.noConflict(); window.onbeforeunload function(e) {if(window.confirmExit) return confirmExit();}; params getParameters(); if(params) params params.parseParams(open,null,false); store new TiddlyWiki({config:config}); invokeParamifier(params,oninit); story new Story(tiddlerDisplay,tiddler); addEvent(document,click,Popup.onDocumentClick); saveTest(); var s; for(s0; sconfig.notifyTiddlers.length; s++) store.addNotification(config.notifyTiddlerss.name,config.notifyTiddlerss.notify); t1 new Date(); loadShadowTiddlers(); doc.trigger(loadShadows); t2 new Date(); store.loadFromDiv(storeArea,store,true); doc.trigger(loadTiddlers); loadOptions(); t3 new Date(); invokeParamifier(params,onload); t4 new Date(); readOnly window.isLocal() ? false : config.options.chkHttpReadOnly; var pluginProblem loadPlugins(systemConfig); doc.trigger(loadPlugins); t5 new Date(); formatter new Formatter(config.formatters); invokeParamifier(params,onconfig); story.switchTheme(config.options.txtTheme); showBackstage showBackstage ! undefined ? showBackstage : !readOnly; t6 new Date(); var m; for(m in config.macros) { if(config.macrosm.init) config.macrosm.init(); } t7 new Date(); store.notifyAll(); t8 new Date(); restart(); refreshDisplay(); t9 new Date(); if(pluginProblem) { story.displayTiddler(null,PluginManager); displayMessage(config.messages.customConfigError); } if(showBackstage) backstage.init(); t10 new Date(); if(config.options.chkDisplayInstrumentation) { displayMessage(LoadShadows + (t2-t1) + ms); displayMessage(LoadFromDiv + (t3-t2) + ms); displayMessage(LoadPlugins + (t5-t4) + ms); displayMessage(Macro init + (t7-t6) + ms); displayMessage(Notify + (t8-t7) + ms); displayMessage(Restart + (t9-t8) + ms); displayMessage(Total: + (t10-t0) + ms); } startingUp false; doc.trigger(startup);}// Called on unload. All functions called conditionally since they themselves may have been unloaded.function unload(){ if(window.checkUnsavedChanges) checkUnsavedChanges(); if(window.scrubNodes) scrubNodes(document.body);}// Restartingfunction restart(){ invokeParamifier(params,onstart); if(story.isEmpty()) { story.displayDefaultTiddlers(); } window.scrollTo(0,0);}function saveTest(){ var s document.getElementById(saveTest); if(s.hasChildNodes()) alert(config.messages.savedSnapshotError); s.appendChild(document.createTextNode(savetest));}function loadShadowTiddlers(){ var shadows new TiddlyWiki(); shadows.loadFromDiv(shadowArea,shadows,true); shadows.forEachTiddler(function(title,tiddler){config.shadowTiddlerstitle tiddler.text;});}function loadPlugins(tag){ if(safeMode) return false; var tiddlers store.getTaggedTiddlers(tag); tiddlers.sort(function(a,b) {return a.title b.title ? -1 : (a.title b.title ? 0 : 1);}); var toLoad ; var nLoaded 0; var map {}; var nPlugins tiddlers.length; installedPlugins ; var i; for(i0; inPlugins; i++) { var p getPluginInfo(tiddlersi); installedPluginsi p; var n p.Name || p.title; if(n) mapn p; n p.Source; if(n) mapn p; } var visit function(p) { if(!p || p.done) return; p.done 1; var reqs p.Requires; if(reqs) { reqs reqs.readBracketedList(); var i; for(i0; ireqs.length; i++) visit(mapreqsi); } toLoad.push(p); }; for(i0; inPlugins; i++) visit(installedPluginsi); for(i0; itoLoad.length; i++) { p toLoadi; pluginInfo p; tiddler p.tiddler; if(isPluginExecutable(p)) { if(isPluginEnabled(p)) { p.executed true; var startTime new Date(); try { if(tiddler.text) window.eval(tiddler.text); nLoaded++; } catch(ex) { p.log.push(config.messages.pluginError.format(exceptionText(ex))); p.error true; if(!console.tiddlywiki) { console.log(error evaluating + tiddler.title, ex); } } pluginInfo.startupTime String((new Date()) - startTime) + ms; } else { nPlugins--; } } else { p.warning true; } } return nLoaded ! nPlugins;}function getPluginInfo(tiddler){ var p store.getTiddlerSlices(tiddler.title,Name,Description,Version,Requires,CoreVersion,Date,Source,Author,License,Browsers); p.tiddler tiddler; p.title tiddler.title; p.log ; return p;}// Check that a particular plugin is valid for executionfunction isPluginExecutable(plugin){ if(plugin.tiddler.isTagged(systemConfigForce)) { plugin.log.push(config.messages.pluginForced); return true; } if(pluginCoreVersion) { var coreVersion pluginCoreVersion.split(.); var w parseInt(coreVersion0,10) - version.major; if(w 0 && coreVersion1) w parseInt(coreVersion1,10) - version.minor; if(w 0 && coreVersion2) w parseInt(coreVersion2,10) - version.revision; if(w > 0) { plugin.log.push(config.messages.pluginVersionError); return false; } } return true;}function isPluginEnabled(plugin){ if(plugin.tiddler.isTagged(systemConfigDisable)) { plugin.log.push(config.messages.pluginDisabled); return false; } return true;}//--//-- Paramifiers//--function getParameters(){ var p null; if(window.location.hash) { p decodeURIComponent(window.location.hash.substr(1)); if(config.browser.firefoxDate ! null && config.browser.firefoxDate1 20051111) p convertUTF8ToUnicode(p); } return p;}function invokeParamifier(params,handler){ if(!params || params.length undefined || params.length 1) return; var i; for(i1; iparams.length; i++) { var p config.paramifiersparamsi.name; if(p && phandler instanceof Function) phandler(paramsi.value); else { var h config.optionHandlersparamsi.name.substr(0,3); if(h && h.set instanceof Function) h.set(paramsi.name,paramsi.value); } }}config.paramifiers {};config.paramifiers.start { oninit: function(v) { safeMode v.toLowerCase() safe; }};config.paramifiers.open { onstart: function(v) { if(!readOnly || store.tiddlerExists(v) || store.isShadowTiddler(v)) story.displayTiddler(bottom,v,null,false,null); }};config.paramifiers.story { onstart: function(v) { var list store.getTiddlerText(v,).parseParams(open,null,false); invokeParamifier(list,onstart); }};config.paramifiers.search { onstart: function(v) { story.search(v,false,false); }};config.paramifiers.searchRegExp { onstart: function(v) { story.prototype.search(v,false,true); }};config.paramifiers.tag { onstart: function(v) { story.displayTiddlers(null,store.filterTiddlers(tag+v+),null,false,null); }};config.paramifiers.newTiddler { onstart: function(v) { var args v.parseParams(anon, null, null)0; var title args.title ? args.title0 : v; var customFields args.fields ? args.fields0 : null; if(!readOnly) { story.displayTiddler(null,title,DEFAULT_EDIT_TEMPLATE,false,null,customFields); story.focusTiddler(title,text); var i,tags args.tag || ; for(i0;itags.length;i++) { story.setTiddlerTag(title,tagsi,+1); } } }};config.paramifiers.newJournal { onstart: function(v) { if(!readOnly) { var now new Date(); var title now.formatString(v.trim()); story.displayTiddler(null,title,DEFAULT_EDIT_TEMPLATE); story.focusTiddler(title,text); } }};config.paramifiers.readOnly { onconfig: function(v) { var p v.toLowerCase(); readOnly p yes ? true : (p no ? false : readOnly); }};config.paramifiers.theme { onconfig: function(v) { story.switchTheme(v); }};config.paramifiers.upgrade { onstart: function(v) { upgradeFrom(v); }};config.paramifiers.recent { onstart: function(v) { var titles; var i,tiddlersstore.getTiddlers(modified,excludeLists).reverse(); for(i0; iv && itiddlers.length; i++) titles.push(tiddlersi.title); story.displayTiddlers(null,titles); }};config.paramifiers.filter { onstart: function(v) { story.displayTiddlers(null,store.filterTiddlers(v),null,false); }};//--//-- Formatter helpers//--function Formatter(formatters){ var n; this.formatters ; var pattern ; for(n0; nformatters.length; n++) { pattern.push(( + formattersn.match + )); this.formatters.push(formattersn); } this.formatterRegExp new RegExp(pattern.join(|),mg);}config.formatterHelpers { createElementAndWikify: function(w) { w.subWikifyTerm(createTiddlyElement(w.output,this.element),this.termRegExp); }, inlineCssHelper: function(w) { var styles ; config.textPrimitives.cssLookaheadRegExp.lastIndex w.nextMatch; var lookaheadMatch config.textPrimitives.cssLookaheadRegExp.exec(w.source); while(lookaheadMatch && lookaheadMatch.index w.nextMatch) { var s,v; if(lookaheadMatch1) { s lookaheadMatch1.unDash(); v lookaheadMatch2; } else { s lookaheadMatch3.unDash(); v lookaheadMatch4; } if(sbgcolor) s backgroundColor; if(sfloat) s cssFloat; styles.push({style: s, value: v}); w.nextMatch lookaheadMatch.index + lookaheadMatch0.length; config.textPrimitives.cssLookaheadRegExp.lastIndex w.nextMatch; lookaheadMatch config.textPrimitives.cssLookaheadRegExp.exec(w.source); } return styles; }, applyCssHelper: function(e,styles) { var t; for(t0; t styles.length; t++) { try { e.stylestylest.style stylest.value; } catch (ex) { } } }, enclosedTextHelper: function(w) { this.lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch this.lookaheadRegExp.exec(w.source); if(lookaheadMatch && lookaheadMatch.index w.matchStart) { var text lookaheadMatch1; if(config.browser.isIE && (config.browser.ieVersion1 10)) text text.replace(/\n/g,\r); createTiddlyElement(w.output,this.element,null,null,text); w.nextMatch lookaheadMatch.index + lookaheadMatch0.length; } }, isExternalLink: function(link) { if(store.tiddlerExists(link) || store.isShadowTiddler(link)) { return false; } var urlRegExp new RegExp(config.textPrimitives.urlPattern,mg); if(urlRegExp.exec(link)) { return true; } if(link.indexOf(.)!-1 || link.indexOf(\\)!-1 || link.indexOf(/)!-1 || link.indexOf(#)!-1) { return true; } return false; }};//--//-- Standard formatters//--config.formatters { name: table, match: ^\\|(?:^\\n*)\\|(?:fhck?)$, lookaheadRegExp: /^\|(^\n*)\|(fhck?)$/mg, rowTermRegExp: /(\|(?:fhck?)$\n?)/mg, cellRegExp: /(?:\|(^\n\|*)\|)|(\|fhck?$\n?)/mg, cellTermRegExp: /((?:\x20*)\|)/mg, rowTypes: {c:caption, h:thead, :tbody, f:tfoot}, handler: function(w) { var table createTiddlyElement(w.output,table,null,twtable); var prevColumns ; var currRowType null; var rowContainer; var rowCount 0; var onmouseover function() {jQuery(this).addClass(hoverRow);}; var onmouseout function() {jQuery(this).removeClass(hoverRow);}; w.nextMatch w.matchStart; this.lookaheadRegExp.lastIndex w.nextMatch; var lookaheadMatch this.lookaheadRegExp.exec(w.source); while(lookaheadMatch && lookaheadMatch.index w.nextMatch) { var nextRowType lookaheadMatch2; if(nextRowType k) { table.className lookaheadMatch1; w.nextMatch + lookaheadMatch0.length+1; } else { if(nextRowType ! currRowType) { rowContainer createTiddlyElement(table,this.rowTypesnextRowType); currRowType nextRowType; } if(currRowType c) { // Caption w.nextMatch++; if(rowContainer ! table.firstChild) table.insertBefore(rowContainer,table.firstChild); rowContainer.setAttribute(align,rowCount 0?top:bottom); w.subWikifyTerm(rowContainer,this.rowTermRegExp); } else { var theRow createTiddlyElement(rowContainer,tr,null,rowCount%2?oddRow:evenRow); theRow.onmouseover onmouseover; theRow.onmouseout onmouseout; this.rowHandler(w,theRow,prevColumns); rowCount++; } } this.lookaheadRegExp.lastIndex w.nextMatch; lookaheadMatch this.lookaheadRegExp.exec(w.source); } }, rowHandler: function(w,e,prevColumns) { var col 0; var colSpanCount 1; var prevCell null; this.cellRegExp.lastIndex w.nextMatch; var cellMatch this.cellRegExp.exec(w.source); while(cellMatch && cellMatch.index w.nextMatch) { if(cellMatch1 ~) { // Rowspan var last prevColumnscol; if(last) { last.rowSpanCount++; last.element.setAttribute(rowspan,last.rowSpanCount); last.element.setAttribute(rowSpan,last.rowSpanCount); // Needed for IE last.element.valign center; if(colSpanCount > 1) { last.element.setAttribute(colspan,colSpanCount); last.element.setAttribute(colSpan,colSpanCount); // Needed for IE colSpanCount 1; } } w.nextMatch this.cellRegExp.lastIndex-1; } else if(cellMatch1 >) { // Colspan colSpanCount++; w.nextMatch this.cellRegExp.lastIndex-1; } else if(cellMatch2) { // End of row if(prevCell && colSpanCount > 1) { prevCell.setAttribute(colspan,colSpanCount); prevCell.setAttribute(colSpan,colSpanCount); // Needed for IE } w.nextMatch this.cellRegExp.lastIndex; break; } else { // Cell w.nextMatch++; var styles config.formatterHelpers.inlineCssHelper(w); var spaceLeft false; var chr w.source.substr(w.nextMatch,1); while(chr ) { spaceLeft true; w.nextMatch++; chr w.source.substr(w.nextMatch,1); } var cell; if(chr !) { cell createTiddlyElement(e,th); w.nextMatch++; } else { cell createTiddlyElement(e,td); } prevCell cell; prevColumnscol {rowSpanCount:1,element:cell}; if(colSpanCount > 1) { cell.setAttribute(colspan,colSpanCount); cell.setAttribute(colSpan,colSpanCount); // Needed for IE colSpanCount 1; } config.formatterHelpers.applyCssHelper(cell,styles); w.subWikifyTerm(cell,this.cellTermRegExp); if(w.matchText.substr(w.matchText.length-2,1) ) // spaceRight cell.align spaceLeft ? center : left; else if(spaceLeft) cell.align right; w.nextMatch--; } col++; this.cellRegExp.lastIndex w.nextMatch; cellMatch this.cellRegExp.exec(w.source); } }},{ name: heading, match: ^!{1,6}, termRegExp: /(\n)/mg, handler: function(w) { w.subWikifyTerm(createTiddlyElement(w.output,h + w.matchLength),this.termRegExp); }},{ name: list, match: ^(?:\\*#;:+), lookaheadRegExp: /^(?:(?:(\*)|(#)|(;)|(:))+)/mg, termRegExp: /(\n)/mg, handler: function(w) { var stack w.output; var currLevel 0, currType null; var listLevel, listType, itemType, baseType; w.nextMatch w.matchStart; this.lookaheadRegExp.lastIndex w.nextMatch; var lookaheadMatch this.lookaheadRegExp.exec(w.source); while(lookaheadMatch && lookaheadMatch.index w.nextMatch) { if(lookaheadMatch1) { listType ul; itemType li; } else if(lookaheadMatch2) { listType ol; itemType li; } else if(lookaheadMatch3) { listType dl; itemType dt; } else if(lookaheadMatch4) { listType dl; itemType dd; } if(!baseType) baseType listType; listLevel lookaheadMatch0.length; w.nextMatch + lookaheadMatch0.length; var t; if(listLevel > currLevel) { for(tcurrLevel; tlistLevel; t++) { var target (currLevel 0) ? stackstack.length-1 : stackstack.length-1.lastChild; stack.push(createTiddlyElement(target,listType)); } } else if(listType!baseType && listLevel1) { w.nextMatch - lookaheadMatch0.length; return; } else if(listLevel currLevel) { for(tcurrLevel; t>listLevel; t--) stack.pop(); } else if(listLevel currLevel && listType ! currType) { stack.pop(); stack.push(createTiddlyElement(stackstack.length-1.lastChild,listType)); } currLevel listLevel; currType listType; var e createTiddlyElement(stackstack.length-1,itemType); w.subWikifyTerm(e,this.termRegExp); this.lookaheadRegExp.lastIndex w.nextMatch; lookaheadMatch this.lookaheadRegExp.exec(w.source); } }},{ name: quoteByBlock, match: ^\\n, termRegExp: /(^(\n|$))/mg, element: blockquote, handler: config.formatterHelpers.createElementAndWikify},{ name: quoteByLine, match: ^>+, lookaheadRegExp: /^>+/mg, termRegExp: /(\n)/mg, element: blockquote, handler: function(w) { var stack w.output; var currLevel 0; var newLevel w.matchLength; var t,matched; do { if(newLevel > currLevel) { for(tcurrLevel; tnewLevel; t++) stack.push(createTiddlyElement(stackstack.length-1,this.element)); } else if(newLevel currLevel) { for(tcurrLevel; t>newLevel; t--) stack.pop(); } currLevel newLevel; w.subWikifyTerm(stackstack.length-1,this.termRegExp); createTiddlyElement(stackstack.length-1,br); this.lookaheadRegExp.lastIndex w.nextMatch; var lookaheadMatch this.lookaheadRegExp.exec(w.source); matched lookaheadMatch && lookaheadMatch.index w.nextMatch; if(matched) { newLevel lookaheadMatch0.length; w.nextMatch + lookaheadMatch0.length; } } while(matched); }},{ name: rule, match: ^----+$\\n?|hr ?/?>\\n?, handler: function(w) { createTiddlyElement(w.output,hr); }},{ name: monospacedByLine, match: ^(?:/\\*\\{\\{\\{\\*/|\\{\\{\\{|//\\{\\{\\{|!--\\{\\{\\{-->)\\n, element: pre, handler: function(w) { switch(w.matchText) { case /*{{{*/\n: // CSS this.lookaheadRegExp /\/\*\{\{\{\*\/\n*((?:^^\n*\n)+?)(\n*^\f*\/\*\}\}\}\*\/$\n?)/mg; break; case {{{\n: // monospaced block this.lookaheadRegExp /^\{\{\{\n((?:^^\n*\n)+?)(^\f*\}\}\}$\n?)/mg; break; case //{{{\n: // plugin this.lookaheadRegExp /^\/\/\{\{\{\n\n*((?:^^\n*\n)+?)(\n*^\f*\/\/\}\}\}$\n?)/mg; break; case !--{{{-->\n: //template this.lookaheadRegExp /!--\{\{\{-->\n*((?:^^\n*\n)+?)(\n*^\f*!--\}\}\}-->$\n?)/mg; break; default: break; } config.formatterHelpers.enclosedTextHelper.call(this,w); }},{ name: wikifyComment, match: ^(?:/\\*\\*\\*|!---)\\n, handler: function(w) { var termRegExp (w.matchText /***\n) ? (/(^\*\*\*\/\n)/mg) : (/(^--->\n)/mg); w.subWikifyTerm(w.output,termRegExp); }},{ name: macro, match: , lookaheadRegExp: /(^>\s+)(?:\s*)((?:^>|(?:>(?!>)))*)>>/mg, handler: function(w) { this.lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch this.lookaheadRegExp.exec(w.source); if(lookaheadMatch && lookaheadMatch.index w.matchStart && lookaheadMatch1) { w.nextMatch this.lookaheadRegExp.lastIndex; invokeMacro(w.output,lookaheadMatch1,lookaheadMatch2,w,w.tiddler); } }},{ name: prettyLink, match: \\\\, lookaheadRegExp: /\\(.*?)(?:\|(~)?(.*?))?\\/mg, handler: function(w) { this.lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch this.lookaheadRegExp.exec(w.source); if(lookaheadMatch && lookaheadMatch.index w.matchStart) { var e; var text lookaheadMatch1; if(lookaheadMatch3) { // Pretty bracketted link var link lookaheadMatch3; e (!lookaheadMatch2 && config.formatterHelpers.isExternalLink(link)) ? createExternalLink(w.output,link) : createTiddlyLink(w.output,link,false,null,w.isStatic,w.tiddler); } else { // Simple bracketted link e createTiddlyLink(w.output,text,false,null,w.isStatic,w.tiddler); } createTiddlyText(e,text); w.nextMatch this.lookaheadRegExp.lastIndex; } }},{ name: wikiLink, match: config.textPrimitives.unWikiLink+?+config.textPrimitives.wikiLink, handler: function(w) { if(w.matchText.substr(0,1) config.textPrimitives.unWikiLink) { w.outputText(w.output,w.matchStart+1,w.nextMatch); return; } if(w.matchStart > 0) { var preRegExp new RegExp(config.textPrimitives.anyLetterStrict,mg); preRegExp.lastIndex w.matchStart-1; var preMatch preRegExp.exec(w.source); if(preMatch.index w.matchStart-1) { w.outputText(w.output,w.matchStart,w.nextMatch); return; } } if(w.autoLinkWikiWords || store.isShadowTiddler(w.matchText)) { var link createTiddlyLink(w.output,w.matchText,false,null,w.isStatic,w.tiddler); w.outputText(link,w.matchStart,w.nextMatch); } else { w.outputText(w.output,w.matchStart,w.nextMatch); } }},{ name: urlLink, match: config.textPrimitives.urlPattern, handler: function(w) { w.outputText(createExternalLink(w.output,w.matchText),w.matchStart,w.nextMatch); }},{ name: image, match: \\>?IiMmGg\\, lookaheadRegExp: /\(?)(>?)IiMmGg\(?:(^\|\+)\|)?(^\\\|+)\(?:\(^\*)\)?\/mg, handler: function(w) { this.lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch this.lookaheadRegExp.exec(w.source); if(lookaheadMatch && lookaheadMatch.index w.matchStart) { var e w.output; if(lookaheadMatch5) { var link lookaheadMatch5; e config.formatterHelpers.isExternalLink(link) ? createExternalLink(w.output,link) : createTiddlyLink(w.output,link,false,null,w.isStatic,w.tiddler); jQuery(e).addClass(imageLink); } var img createTiddlyElement(e,img); if(lookaheadMatch1) img.align left; else if(lookaheadMatch2) img.align right; if(lookaheadMatch3) { img.title lookaheadMatch3; img.setAttribute(alt,lookaheadMatch3); } img.src lookaheadMatch4; w.nextMatch this.lookaheadRegExp.lastIndex; } }},{ name: html, match: HhTtMmLl>, lookaheadRegExp: /HhTtMmLl>((?:.|\n)*?)\/HhTtMmLl>/mg, handler: function(w) { this.lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch this.lookaheadRegExp.exec(w.source); if(lookaheadMatch && lookaheadMatch.index w.matchStart) { createTiddlyElement(w.output,span).innerHTML lookaheadMatch1; w.nextMatch this.lookaheadRegExp.lastIndex; } }},{ name: commentByBlock, match: /%, lookaheadRegExp: /\/%((?:.|\n)*?)%\//mg, handler: function(w) { this.lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch this.lookaheadRegExp.exec(w.source); if(lookaheadMatch && lookaheadMatch.index w.matchStart) w.nextMatch this.lookaheadRegExp.lastIndex; }},{ name: characterFormat, match: |//|__|\\^\\^|~~|--(?!\\s|$)|\\{\\{\\{, handler: function(w) { switch(w.matchText) { case : w.subWikifyTerm(w.output.appendChild(document.createElement(strong)),/()/mg); break; case //: w.subWikifyTerm(createTiddlyElement(w.output,em),/(\/\/)/mg); break; case __: w.subWikifyTerm(createTiddlyElement(w.output,u),/(__)/mg); break; case ^^: w.subWikifyTerm(createTiddlyElement(w.output,sup),/(\^\^)/mg); break; case ~~: w.subWikifyTerm(createTiddlyElement(w.output,sub),/(~~)/mg); break; case --: w.subWikifyTerm(createTiddlyElement(w.output,strike),/(--)/mg); break; case {{{: var lookaheadRegExp /\{\{\{((?:.|\n)*?)\}\}\}/mg; lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch lookaheadRegExp.exec(w.source); if(lookaheadMatch && lookaheadMatch.index w.matchStart) { createTiddlyElement(w.output,code,null,null,lookaheadMatch1); w.nextMatch lookaheadRegExp.lastIndex; } break; } }},{ name: customFormat, match: @@|\\{\\{, handler: function(w) { switch(w.matchText) { case @@: var e createTiddlyElement(w.output,span); var styles config.formatterHelpers.inlineCssHelper(w); if(styles.length 0) e.className marked; else config.formatterHelpers.applyCssHelper(e,styles); w.subWikifyTerm(e,/(@@)/mg); break; case {{: var lookaheadRegExp /\{\{\s*(\w+\s\w*)\s*\{(\n?)/mg; lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch lookaheadRegExp.exec(w.source); if(lookaheadMatch) { w.nextMatch lookaheadRegExp.lastIndex; e createTiddlyElement(w.output,lookaheadMatch2 \n ? div : span,null,lookaheadMatch1); w.subWikifyTerm(e,/(\}\}\})/mg); } break; } }},{ name: mdash, match: --, handler: function(w) { createTiddlyElement(w.output,span).innerHTML —; }},{ name: lineBreak, match: \\n|br ?/?>, handler: function(w) { createTiddlyElement(w.output,br); }},{ name: rawText, match: \{3}|nowiki>, lookaheadRegExp: /(?:\{3}|nowiki>)((?:.|\n)*?)(?:\{3}|\/nowiki>)/mg, handler: function(w) { this.lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch this.lookaheadRegExp.exec(w.source); if(lookaheadMatch && lookaheadMatch.index w.matchStart) { createTiddlyElement(w.output,span,null,null,lookaheadMatch1); w.nextMatch this.lookaheadRegExp.lastIndex; } }},{ name: htmlEntitiesEncoding, match: (?:(?:?a-zA-Z0-9{2,8};|.)(?:?(?:x0*(?:30-60-9a-fA-F|1Dc-fC-F0-9a-fA-F|20d-fD-F0-9a-fA-F|FE20-9a-fA-F)|0*(?:7689|77-90-9|80-70-9|7616-9|762-70-9|840-30-9|8440-7|65056-9|65060-9|65070-1));)+|?a-zA-Z0-9{2,8};), handler: function(w) { createTiddlyElement(w.output,span).innerHTML w.matchText; }};//--//-- Wikifier//--function getParser(tiddler,format){ if(tiddler) { if(!format) format tiddler.fieldswikiformat; var i; if(format) { for(i in config.parsers) { if(format config.parsersi.format) return config.parsersi; } } else { for(i in config.parsers) { if(tiddler.isTagged(config.parsersi.formatTag)) return config.parsersi; } } } return formatter;}function Wikifier(source,formatter,highlightRegExp,tiddler){ this.source source; this.output null; this.formatter formatter; this.nextMatch 0; this.autoLinkWikiWords tiddler && tiddler.autoLinkWikiWords() false ? false : true; this.highlightRegExp highlightRegExp; this.highlightMatch null; this.isStatic false; if(highlightRegExp) { highlightRegExp.lastIndex 0; this.highlightMatch highlightRegExp.exec(source); } this.tiddler tiddler;}Wikifier.prototype.wikifyPlain function(){ var e createTiddlyElement(document.body,div); e.style.display none; this.subWikify(e); var text jQuery(e).text(); jQuery(e).remove(); return text;};Wikifier.prototype.subWikify function(output,terminator){ try { if(terminator) this.subWikifyTerm(output,new RegExp(( + terminator + ),mg)); else this.subWikifyUnterm(output); } catch(ex) { showException(ex); }};Wikifier.prototype.subWikifyUnterm function(output){ var oldOutput this.output; this.output output; this.formatter.formatterRegExp.lastIndex this.nextMatch; var formatterMatch this.formatter.formatterRegExp.exec(this.source); while(formatterMatch) { // Output any text before the match if(formatterMatch.index > this.nextMatch) this.outputText(this.output,this.nextMatch,formatterMatch.index); // Set the match parameters for the handler this.matchStart formatterMatch.index; this.matchLength formatterMatch0.length; this.matchText formatterMatch0; this.nextMatch this.formatter.formatterRegExp.lastIndex; var t; for(t1; tformatterMatch.length; t++) { if(formatterMatcht) { this.formatter.formatterst-1.handler(this); this.formatter.formatterRegExp.lastIndex this.nextMatch; break; } } formatterMatch this.formatter.formatterRegExp.exec(this.source); } if(this.nextMatch this.source.length) { this.outputText(this.output,this.nextMatch,this.source.length); this.nextMatch this.source.length; } this.output oldOutput;};Wikifier.prototype.subWikifyTerm function(output,terminatorRegExp){ var oldOutput this.output; this.output output; terminatorRegExp.lastIndex this.nextMatch; var terminatorMatch terminatorRegExp.exec(this.source); this.formatter.formatterRegExp.lastIndex this.nextMatch; var formatterMatch this.formatter.formatterRegExp.exec(terminatorMatch ? this.source.substr(0,terminatorMatch.index) : this.source); while(terminatorMatch || formatterMatch) { if(terminatorMatch && (!formatterMatch || terminatorMatch.index formatterMatch.index)) { if(terminatorMatch.index > this.nextMatch) this.outputText(this.output,this.nextMatch,terminatorMatch.index); this.matchText terminatorMatch1; this.matchLength terminatorMatch1.length; this.matchStart terminatorMatch.index; this.nextMatch this.matchStart + this.matchLength; this.output oldOutput; return; } if(formatterMatch.index > this.nextMatch) this.outputText(this.output,this.nextMatch,formatterMatch.index); this.matchStart formatterMatch.index; this.matchLength formatterMatch0.length; this.matchText formatterMatch0; this.nextMatch this.formatter.formatterRegExp.lastIndex; var t; for(t1; tformatterMatch.length; t++) { if(formatterMatcht) { this.formatter.formatterst-1.handler(this); this.formatter.formatterRegExp.lastIndex this.nextMatch; break; } } terminatorRegExp.lastIndex this.nextMatch; terminatorMatch terminatorRegExp.exec(this.source); formatterMatch this.formatter.formatterRegExp.exec(terminatorMatch ? this.source.substr(0,terminatorMatch.index) : this.source); } if(this.nextMatch this.source.length) { this.outputText(this.output,this.nextMatch,this.source.length); this.nextMatch this.source.length; } this.output oldOutput;};Wikifier.prototype.outputText function(place,startPos,endPos){ while(this.highlightMatch && (this.highlightRegExp.lastIndex > startPos) && (this.highlightMatch.index endPos) && (startPos endPos)) { if(this.highlightMatch.index > startPos) { createTiddlyText(place,this.source.substring(startPos,this.highlightMatch.index)); startPos this.highlightMatch.index; } var highlightEnd Math.min(this.highlightRegExp.lastIndex,endPos); createTiddlyElement(place,span,null,highlight,this.source.substring(startPos,highlightEnd)); startPos highlightEnd; if(startPos > this.highlightRegExp.lastIndex) this.highlightMatch this.highlightRegExp.exec(this.source); } if(startPos endPos) { createTiddlyText(place,this.source.substring(startPos,endPos)); }};function wikify(source,output,highlightRegExp,tiddler){ if(source) { var wikifier new Wikifier(source,getParser(tiddler),highlightRegExp,tiddler); var t0 new Date(); wikifier.subWikify(output); if(tiddler && config.options.chkDisplayInstrumentation) displayMessage(wikify: +tiddler.title+ in + (new Date()-t0) + ms); }}function wikifyStatic(source,highlightRegExp,tiddler,format){ var e createTiddlyElement(document.body,pre); e.style.display none; var html ; if(source && source ! ) { if(!tiddler) tiddler new Tiddler(temp); var wikifier new Wikifier(source,getParser(tiddler,format),highlightRegExp,tiddler); wikifier.isStatic true; wikifier.subWikify(e); html e.innerHTML; jQuery(e).remove(); } return html;}function wikifyPlainText(text,limit,tiddler){ if(limit > 0) text text.substr(0,limit); var wikifier new Wikifier(text,formatter,null,tiddler); return wikifier.wikifyPlain();}function highlightify(source,output,highlightRegExp,tiddler){ if(source) { var wikifier new Wikifier(source,formatter,highlightRegExp,tiddler); wikifier.outputText(output,0,source.length); }}//--//-- Macro definitions//--function invokeMacro(place,macro,params,wikifier,tiddler){ try { var m config.macrosmacro; if(m && m.handler) { var tiddlerElem story.findContainingTiddler(place); window.tiddler tiddlerElem ? store.getTiddler(tiddlerElem.getAttribute(tiddler)) : null; window.place place; var allowEval true; if(config.evaluateMacroParameterssystem) { if(!tiddler || tiddler.tags.indexOf(systemAllowEval) -1) { allowEval false; } } m.handler(place,macro,m.noPreParse?null:params.readMacroParams(!allowEval),wikifier,params,tiddler); } else { createTiddlyError(place,config.messages.macroError.format(macro),config.messages.macroErrorDetails.format(macro,config.messages.missingMacro)); } } catch(ex) { createTiddlyError(place,config.messages.macroError.format(macro),config.messages.macroErrorDetails.format(macro,ex.toString())); }}config.macros.version.handler function(place){ jQuery(span/>).text(formatVersion()).appendTo(place);};config.macros.today.handler function(place,macroName,params){ var now new Date(); var text params0 ? now.formatString(params0.trim()) : now.toLocaleString(); jQuery(span/>).text(text).appendTo(place);};config.macros.list.template view title link>>;config.macros.list.handler function(place,macroName,params,wikifier,paramString){ var list document.createElement(ul); jQuery(list).attr({ refresh: macro, macroName: macroName }).data(params, paramString); place.appendChild(list); this.refresh(list);};config.macros.list.refresh function(list) { var paramString jQuery(list).data(params); var params paramString.readMacroParams(); var args paramString.parseParams(anon, null, null)0; var type args.anon ? args.anon0 : all; jQuery(list).empty().addClass(list list- + type); var template args.template ? store.getTiddlerText(args.template0) : false; if(!template) { template config.macros.list.template; } if(thistype.prompt) createTiddlyElement(list,li,null,listTitle,thistype.prompt); var results; if(thistype.handler) results thistype.handler(params); var t; for(t 0; t results.length; t++) { var li document.createElement(li); list.appendChild(li); var tiddler resultst; if(typeof(tiddler) string) { // deal with missing etc.. tiddler store.getTiddler(tiddler) || new Tiddler(tiddler); } wikify(template, li, null, tiddler); } if(results.length 0 && args.emptyMessage) { jQuery(list).addClass(emptyList); jQuery(li />).text(args.emptyMessage0).appendTo(list); }};config.macros.list.all.handler function(params){ return store.reverseLookup(tags,excludeLists,false,title);};config.macros.list.missing.handler function(params){ return store.getMissingLinks();};config.macros.list.orphans.handler function(params){ return store.getOrphans();};config.macros.list.shadowed.handler function(params){ return store.getShadowed();};config.macros.list.touched.handler function(params){ return store.getTouched();};config.macros.list.filter.handler function(params){ var filter params1; var results ; if(filter) { var tiddlers store.filterTiddlers(filter); var t; for(t0; ttiddlers.length; t++) results.push(tiddlerst.title); } return results;};config.macros.allTags.handler function(place,macroName,params){ var tags store.getTags(params0); var ul createTiddlyElement(place,ul); if(tags.length 0) createTiddlyElement(ul,li,null,listTitle,this.noTags); var t; for(t0; ttags.length; t++) { var title tagst0; var info getTiddlyLinkInfo(title); var li createTiddlyElement(ul,li); var btn createTiddlyButton(li,title + ( + tagst1 + ),this.tooltip.format(title),onClickTag,info.classes); btn.setAttribute(tag,title); btn.setAttribute(refresh,link); btn.setAttribute(tiddlyLink,title); if(params1) { btn.setAttribute(sortby,params1); } }};var macro config.macros.timeline;merge(macro, { handler: function(place,macroName,params, wikifier, paramString, tiddler) { var container jQuery(div />).attr(params, paramString). attr(macroName, macroName).appendTo(place)0; macro.refresh(container); }, refresh: function(container) { jQuery(container).attr(refresh, macro).empty(); var paramString jQuery(container).attr(params); var args paramString.parseParams(anon, null, null)0; var params args.anon || ; var field params0 || modified; var prefix field.charAt(0); var no_prefix_field prefix - || prefix + ? field.substr(1, field.length) : field; var dateFormat params2 || this.dateFormat; var groupTemplate macro.groupTemplate.format(no_prefix_field, dateFormat); groupTemplate args.groupTemplate ? store.getTiddlerText(args.groupTemplate0) || groupTemplate : groupTemplate; var itemTemplate macro.itemTemplate; itemTemplate args.template ? store.getTiddlerText(args.template0) || itemTemplate : itemTemplate; var tiddlers args.filter ? store.sortTiddlers(store.filterTiddlers(args.filter0), field) : store.reverseLookup(tags, excludeLists, false, field); var lastGroup , ul; var last params1 ? tiddlers.length-Math.min(tiddlers.length,parseInt(params1,10)) : 0; var t; for(ttiddlers.length-1; t>last; t--) { var tiddler tiddlerst; var theGroup wikifyPlainText(groupTemplate,0,tiddler); if(typeof(ul) undefined || theGroup ! lastGroup) { ul document.createElement(ul); jQuery(ul).addClass(timeline); container.appendChild(ul); createTiddlyElement(ul,li,null,listTitle,theGroup); lastGroup theGroup; } var item createTiddlyElement(ul,li,null,listLink); wikify(itemTemplate,item,null,tiddler); } }, groupTemplate: view %0 date %1>>, itemTemplate: view title link>>});config.macros.tiddler.handler function(place,macroName,params,wikifier,paramString,tiddler){ var allowEval true; var stack config.macros.tiddler.tiddlerStack; if(stack.length > 0 && config.evaluateMacroParameters system) { // included tiddler and system evaluation required, so check tiddler tagged appropriately var title stackstack.length-1; var pos title.indexOf(config.textPrimitives.sectionSeparator); if(pos ! -1) { title title.substr(0,pos); // get the base tiddler title } var t store.getTiddler(title); if(!t || t.tags.indexOf(systemAllowEval) -1) { allowEval false; } } params paramString.parseParams(name,null,allowEval,false,true); var names params0name; var tiddlerName names0; var className names1 || null; var args params0with; var wrapper createTiddlyElement(place,span,null,className,null,{ refresh: content, tiddler: tiddlerName }); if(args!undefined) wrapper.setAttribute(args,+args.join( )+); this.transclude(wrapper,tiddlerName,args);};config.macros.tiddler.transclude function(wrapper,tiddlerName,args){ var text store.getTiddlerText(tiddlerName); if(!text) return; var stack config.macros.tiddler.tiddlerStack; if(stack.indexOf(tiddlerName) ! -1) return; stack.push(tiddlerName); try { if(typeof args string) args args.readBracketedList(); var n args ? Math.min(args.length,9) : 0; var i; for(i0; in; i++) { var placeholderRE new RegExp(\\$ + (i + 1),mg); text text.replace(placeholderRE,argsi); } config.macros.tiddler.renderText(wrapper,text,tiddlerName); } finally { stack.pop(); }};config.macros.tiddler.renderText function(place,text,tiddlerName){ wikify(text,place,null,store.getTiddler(tiddlerName));};config.macros.tiddler.tiddlerStack ;config.macros.tag.handler function(place,macroName,params){ var btn createTagButton(place,params0,null,params1,params2); if(params3) { btn.setAttribute(sortby,params3); }};config.macros.tags.handler function(place,macroName,params,wikifier,paramString,tiddler){ params paramString.parseParams(anon,null,true,false,false); var ul createTiddlyElement(place,ul); var title getParam(params,anon,); if(title && store.tiddlerExists(title)) tiddler store.getTiddler(title); var sep getParam(params,sep, ); var lingo config.views.wikified.tag; var label null; var t; for(t0; ttiddler.tags.length; t++) { var tag store.getTiddler(tiddler.tagst); if(!tag || !tag.tags.contains(excludeLists)) { if(!label) label createTiddlyElement(ul,li,null,listTitle,lingo.labelTags.format(tiddler.title)); createTagButton(createTiddlyElement(ul,li),tiddler.tagst,tiddler.title); if(ttiddler.tags.length-1) createTiddlyText(ul,sep); } } if(!label) createTiddlyElement(ul,li,null,listTitle,lingo.labelNoTags.format(tiddler.title));};config.macros.tagging.handler function(place,macroName,params,wikifier,paramString,tiddler){ params paramString.parseParams(anon,null,true,false,false); var ul createTiddlyElement(place,ul); var title getParam(params,anon,); if(title && tiddler instanceof Tiddler) title tiddler.title; var sep getParam(params,sep, ); ul.setAttribute(title,this.tooltip.format(title)); var sortby getParam(params,sortBy,false); var tagged store.getTaggedTiddlers(title,sortby); var prompt tagged.length 0 ? this.labelNotTag : this.label; createTiddlyElement(ul,li,null,listTitle,prompt.format(title,tagged.length)); var t; for(t0; ttagged.length; t++) { createTiddlyLink(createTiddlyElement(ul,li),taggedt.title,true); if(ttagged.length-1) createTiddlyText(ul,sep); }};config.macros.closeAll.handler function(place){ createTiddlyButton(place,this.label,this.prompt,this.onClick);};config.macros.closeAll.onClick function(e){ story.closeAllTiddlers(); return false;};config.macros.permaview.handler function(place){ createTiddlyButton(place,this.label,this.prompt,this.onClick);};config.macros.permaview.onClick function(e){ story.permaView(); return false;};config.macros.saveChanges.handler function(place,macroName,params){ if(!readOnly) createTiddlyButton(place,params0 || this.label,params1 || this.prompt,this.onClick,null,null,this.accessKey);};config.macros.saveChanges.onClick function(e){ saveChanges(); return false;};config.macros.slider.onClickSlider function(ev){ var n this.nextSibling; var cookie n.getAttribute(cookie); var isOpen n.style.display ! none; if(config.options.chkAnimate && anim && typeof Slider function) anim.startAnimating(new Slider(n,!isOpen,null,none)); else n.style.display isOpen ? none : block; config.optionscookie !isOpen; saveOption(cookie); return false;};config.macros.slider.createSlider function(place,cookie,title,tooltip){ var c cookie || ; createTiddlyButton(place,title,tooltip,this.onClickSlider); var panel createTiddlyElement(null,div,null,sliderPanel); panel.setAttribute(cookie,c); panel.style.display config.optionsc ? block : none; place.appendChild(panel); return panel;};config.macros.slider.handler function(place,macroName,params){ var panel this.createSlider(place,params0,params2,params3); var text store.getTiddlerText(params1); panel.setAttribute(refresh,content); panel.setAttribute(tiddler,params1); if(text) wikify(text,panel,null,store.getTiddler(params1));};// gradient tiddler name vert|horiz rgb rgb rgb rgb... >>config.macros.gradient.handler function(place,macroName,params,wikifier,paramString,tiddler){ var panel wikifier ? createTiddlyElement(place,div,null,gradient) : place; panel.style.position relative; panel.style.overflow hidden; panel.style.zIndex 0; if(wikifier) { var styles config.formatterHelpers.inlineCssHelper(wikifier); config.formatterHelpers.applyCssHelper(panel,styles); } params paramString.parseParams(color); var locolors , hicolors ; var t; for(t2; tparams.length; t++) { var c paramst.value; if(paramst.name snap) { hicolorshicolors.length-1 c; } else { locolors.push(c); hicolors.push(c); } } drawGradient(panel,params1.value ! vert,locolors,hicolors); if(wikifier) wikifier.subWikify(panel,>>); if(document.all) { panel.style.height 100%; panel.style.width 100%; }};config.macros.message.handler function(place,macroName,params){ if(params0) { var names params0.split(.); var lookupMessage function(root,nameIndex) { if(rootnamesnameIndex) { if(nameIndex names.length-1) return (lookupMessage(rootnamesnameIndex,nameIndex+1)); else return rootnamesnameIndex; } else return null; }; var m lookupMessage(config,0); if(m null) m lookupMessage(window,0); createTiddlyText(place,m.toString().format(params.splice(1))); }};config.macros.view.depth 0;config.macros.view.values ;config.macros.view.views { text: function(value,place,params,wikifier,paramString,tiddler) { highlightify(value,place,highlightHack,tiddler); }, link: function(value,place,params,wikifier,paramString,tiddler) { createTiddlyLink(place,value,true); }, wikified: function(value,place,params,wikifier,paramString,tiddler) { if(config.macros.view.depth>50) return; if(config.macros.view.depth>0) { if (valueconfig.macros.view.valuesconfig.macros.view.depth-1) { return; } } config.macros.view.valuesconfig.macros.view.depth value; config.macros.view.depth++; if(params2) valueparams2.unescapeLineBreaks().format(value); wikify(value,place,highlightHack,tiddler); config.macros.view.depth--; config.macros.view.valuesconfig.macros.view.depth null; }, date: function(value,place,params,wikifier,paramString,tiddler) { value Date.convertFromYYYYMMDDHHMM(value); createTiddlyText(place,value.formatString(params2 || config.views.wikified.dateFormat)); }};config.macros.view.handler function(place,macroName,params,wikifier,paramString,tiddler){ if((tiddler instanceof Tiddler) && params0) { var value store.getValue(tiddler,params0); if(value) { var type params1 || config.macros.view.defaultView; var handler config.macros.view.viewstype; if(handler) handler(value,place,params,wikifier,paramString,tiddler); } }};config.macros.edit.handler function(place,macroName,params,wikifier,paramString,tiddler){ var field params0; var rows params1 || 0; var defVal params2 || ; if((tiddler instanceof Tiddler) && field) { story.setDirty(tiddler.title,true); var e,v; if(field ! text && !rows) { e createTiddlyElement(null,input,null,null,null,{ type: text, edit: field, size: 40, autocomplete: off }); e.value store.getValue(tiddler,field) || defVal; place.appendChild(e); } else { var wrapper1 createTiddlyElement(null,fieldset,null,fieldsetFix); var wrapper2 createTiddlyElement(wrapper1,div); e createTiddlyElement(wrapper2,textarea); e.value v store.getValue(tiddler,field) || defVal; rows rows || 10; var lines v.match(/\n/mg); var maxLines Math.max(parseInt(config.options.txtMaxEditRows,10),5); if(lines ! null && lines.length > rows) rows lines.length + 5; rows Math.min(rows,maxLines); e.setAttribute(rows,rows); e.setAttribute(edit,field); place.appendChild(wrapper1); } if(tiddler.isReadOnly()) { e.setAttribute(readOnly,readOnly); jQuery(e).addClass(readOnly); } return e; }};config.macros.tagChooser.onClick function(ev){ var e ev || window.event; var lingo config.views.editor.tagChooser; var popup Popup.create(this); var tags store.getTags(this.getAttribute(tags)); if(tags.length 0) jQuery(li/>).text(lingo.popupNone).appendTo(popup); var t; for(t0; ttags.length; t++) { var tag createTiddlyButton(createTiddlyElement(popup,li),tagst0,lingo.tagTooltip.format(tagst0),config.macros.tagChooser.onTagClick); tag.setAttribute(tag,tagst0); tag.setAttribute(tiddler,this.getAttribute(tiddler)); } Popup.show(); e.cancelBubble true; if(e.stopPropagation) e.stopPropagation(); return false;};config.macros.tagChooser.onTagClick function(ev){ var e ev || window.event; if(e.metaKey || e.ctrlKey) stopEvent(e); //# keep popup open on CTRL-click var tag this.getAttribute(tag); var title this.getAttribute(tiddler); if(!readOnly) story.setTiddlerTag(title,tag,0); return false;};config.macros.tagChooser.handler function(place,macroName,params,wikifier,paramString,tiddler){ if(tiddler instanceof Tiddler) { var lingo config.views.editor.tagChooser; var btn createTiddlyButton(place,lingo.text,lingo.tooltip,this.onClick); btn.setAttribute(tiddler,tiddler.title); btn.setAttribute(tags,params0); }};config.macros.refreshDisplay.handler function(place){ createTiddlyButton(place,this.label,this.prompt,this.onClick);};config.macros.refreshDisplay.onClick function(e){ refreshAll(); return false;};config.macros.annotations.handler function(place,macroName,params,wikifier,paramString,tiddler){ var title tiddler ? tiddler.title : null; var a title ? config.annotationstitle : null; if(!tiddler || !title || !a) return; var text a.format(title); wikify(text,createTiddlyElement(place,div,null,annotation),null,tiddler);};//--//-- NewTiddler and NewJournal macros//--config.macros.newTiddler.createNewTiddlerButton function(place,title,params,label,prompt,accessKey,newFocus,isJournal){ var tags ; var t; for(t1; tparams.length; t++) { if((paramst.name anon && t ! 1) || (paramst.name tag)) tags.push(paramst.value); } label getParam(params,label,label); prompt getParam(params,prompt,prompt); accessKey getParam(params,accessKey,accessKey); newFocus getParam(params,focus,newFocus); var customFields getParam(params,fields,); if(!customFields && !store.isShadowTiddler(title)) customFields String.encodeHashMap(config.defaultCustomFields); var btn createTiddlyButton(place,label,prompt,this.onClickNewTiddler,null,null,accessKey); btn.setAttribute(newTitle,title); btn.setAttribute(isJournal,isJournal ? true : false); if(tags.length > 0) btn.setAttribute(params,tags.join(|)); btn.setAttribute(newFocus,newFocus); btn.setAttribute(newTemplate,getParam(params,template,DEFAULT_EDIT_TEMPLATE)); if(customFields ! ) btn.setAttribute(customFields,customFields); var text getParam(params,text); if(text ! undefined) btn.setAttribute(newText,text); return btn;};config.macros.newTiddler.onClickNewTiddler function(){ var title this.getAttribute(newTitle); if(this.getAttribute(isJournal) true) { title new Date().formatString(title.trim()); } var params this.getAttribute(params); var tags params ? params.split(|) : ; var focus this.getAttribute(newFocus); var template this.getAttribute(newTemplate); var customFields this.getAttribute(customFields); if(!customFields && !store.isShadowTiddler(title)) customFields String.encodeHashMap(config.defaultCustomFields); story.displayTiddler(null,title,template,false,null,null); var tiddlerElem story.getTiddler(title); if(customFields) story.addCustomFields(tiddlerElem,customFields); var text this.getAttribute(newText); if(typeof text string && story.getTiddlerField(title,text)) story.getTiddlerField(title,text).value text.format(title); var t; for(t0;ttags.length;t++) story.setTiddlerTag(title,tagst,+1); story.focusTiddler(title,focus); return false;};config.macros.newTiddler.handler function(place,macroName,params,wikifier,paramString){ if(!readOnly) { params paramString.parseParams(anon,null,true,false,false); var title params1 && params1.name anon ? params1.value : this.title; title getParam(params,title,title); this.createNewTiddlerButton(place,title,params,this.label,this.prompt,this.accessKey,title,false); }};config.macros.newJournal.handler function(place,macroName,params,wikifier,paramString){ if(!readOnly) { params paramString.parseParams(anon,null,true,false,false); var title params1 && params1.name anon ? params1.value : config.macros.timeline.dateFormat; title getParam(params,title,title); config.macros.newTiddler.createNewTiddlerButton(place,title,params,this.label,this.prompt,this.accessKey,text,true); }};//--//-- Search macro//--config.macros.search.handler function(place,macroName,params,wikifier,paramString,tiddler){ params paramString.parseParams(anon,null,false,false,false); createTiddlyButton(place,this.label,this.prompt,this.onClick,searchButton); var txt createTiddlyElement(null,input,null,txtOptionInput searchField); txt.value getParam(params,anon,); if(config.browser.isSafari) { txt.setAttribute(type,search); txt.setAttribute(results,5); } else { txt.setAttribute(type,text); } place.appendChild(txt); txt.onkeyup this.onKeyPress; txt.onfocus this.onFocus; txt.setAttribute(size,this.sizeTextbox); txt.setAttribute(accessKey,getParam(params,accesskey,this.accessKey)); txt.setAttribute(autocomplete,off); txt.setAttribute(lastSearchText,); txt.setAttribute(placeholder,getParam(params,placeholder,this.placeholder));};// Global because theres only ever one outstanding incremental search timerconfig.macros.search.timeout null;config.macros.search.doSearch function(txt){ if(txt.value.length > 0) { story.search(txt.value,config.options.chkCaseSensitiveSearch,config.options.chkRegExpSearch); txt.setAttribute(lastSearchText,txt.value); }};config.macros.search.onClick function(e){ config.macros.search.doSearch(this.nextSibling); return false;};config.macros.search.onKeyPress function(ev){ var me config.macros.search; var e ev || window.event; switch(e.keyCode) { case 9: // Tab return; case 13: // Ctrl-Enter case 10: // Ctrl-Enter on IE PC me.doSearch(this); break; case 27: // Escape this.value ; clearMessage(); break; } if(config.options.chkIncrementalSearch) { if(this.value.length > 2) { if(this.value ! this.getAttribute(lastSearchText)) { if(me.timeout) { clearTimeout(me.timeout); } var txt this; me.timeout setTimeout(function() {me.doSearch(txt);},500); } } else { if(me.timeout) { clearTimeout(me.timeout); } } }};config.macros.search.onFocus function(e){ this.select();};//--//-- Tabs macro//--config.macros.tabs.handler function(place,macroName,params){ var cookie params0; var numTabs (params.length-1)/3; var wrapper createTiddlyElement(null,div,null,tabsetWrapper + cookie); var tabset createTiddlyElement(wrapper,div,null,tabset); tabset.setAttribute(cookie,cookie); var validTab false; var t; for(t0; tnumTabs; t++) { var label paramst*3+1; var prompt paramst*3+2; var content paramst*3+3; var tab createTiddlyButton(tabset,label,prompt,this.onClickTab,tab tabUnselected); createTiddlyElement(tab,span,null,null, ,{style:font-size:0pt;line-height:0px}); tab.setAttribute(tab,label); tab.setAttribute(content,content); tab.title prompt; if(config.optionscookie label) validTab true; } if(!validTab) config.optionscookie params1; place.appendChild(wrapper); this.switchTab(tabset,config.optionscookie);};config.macros.tabs.onClickTab function(e){ config.macros.tabs.switchTab(this.parentNode,this.getAttribute(tab)); return false;};config.macros.tabs.switchTab function(tabset,tab){ var cookie tabset.getAttribute(cookie); var theTab null; var nodes tabset.childNodes; var t; for(t0; tnodes.length; t++) { if(nodest.getAttribute && nodest.getAttribute(tab) tab) { theTab nodest; theTab.className tab tabSelected; } else { nodest.className tab tabUnselected; } } if(theTab) { if(tabset.nextSibling && tabset.nextSibling.className tabContents) jQuery(tabset.nextSibling).remove(); var tabContent createTiddlyElement(null,div,null,tabContents); tabset.parentNode.insertBefore(tabContent,tabset.nextSibling); var contentTitle theTab.getAttribute(content); wikify(store.getTiddlerText(contentTitle),tabContent,null,store.getTiddler(contentTitle)); if(cookie) { config.optionscookie tab; saveOption(cookie); } }};//--//-- Tiddler toolbar//--// Create a toolbar command buttonconfig.macros.toolbar.createCommand function(place,commandName,tiddler,className){ if(typeof commandName ! string) { var c null; var t; for(t in config.commands) { if(config.commandst commandName) c t; } commandName c; } if((tiddler instanceof Tiddler) && (typeof commandName string)) { var command config.commandscommandName; if(command.isEnabled ? command.isEnabled(tiddler) : this.isCommandEnabled(command,tiddler)) { var text command.getText ? command.getText(tiddler) : this.getCommandText(command,tiddler); var tooltip command.getTooltip ? command.getTooltip(tiddler) : this.getCommandTooltip(command,tiddler); var cmd command.type popup ? this.onClickPopup : this.onClickCommand; var btn createTiddlyButton(null,text,tooltip,cmd); btn.setAttribute(commandName,commandName); btn.setAttribute(tiddler,tiddler.title); jQuery(btn).addClass(command_ + commandName); if(className) jQuery(btn).addClass(className); place.appendChild(btn); } }};config.macros.toolbar.isCommandEnabled function(command,tiddler){ var title tiddler.title; var ro tiddler.isReadOnly(); var shadow store.isShadowTiddler(title) && !store.tiddlerExists(title); return (!ro || (ro && !command.hideReadOnly)) && !(shadow && command.hideShadow);};config.macros.toolbar.getCommandText function(command,tiddler){ return (tiddler.isReadOnly() && command.readOnlyText) || command.text;};config.macros.toolbar.getCommandTooltip function(command,tiddler){ return (tiddler.isReadOnly() && command.readOnlyTooltip) || command.tooltip;};config.macros.toolbar.onClickCommand function(ev){ var e ev || window.event; e.cancelBubble true; if(e.stopPropagation) e.stopPropagation(); var command config.commandsthis.getAttribute(commandName); return command.handler(e,this,this.getAttribute(tiddler));};config.macros.toolbar.onClickPopup function(ev){ var e ev || window.event; e.cancelBubble true; if(e.stopPropagation) e.stopPropagation(); var popup Popup.create(this); var command config.commandsthis.getAttribute(commandName); var title this.getAttribute(tiddler); popup.setAttribute(tiddler,title); command.handlePopup(popup,title); Popup.show(); return false;};// Invoke the first command encountered from a given place that is tagged with a specified classconfig.macros.toolbar.invokeCommand function(place,className,event){ var children place.getElementsByTagName(a); var t; for(t0; tchildren.length; t++) { var c childrent; if(jQuery(c).hasClass(className) && c.getAttribute && c.getAttribute(commandName)) { if(c.onclick instanceof Function) c.onclick.call(c,event); break; } }};config.macros.toolbar.onClickMore function(ev){ var e this.nextSibling; e.style.display inline; this.style.display none; return false;};config.macros.toolbar.onClickLess function(ev){ var e this.parentNode; var m e.previousSibling; e.style.display none; m.style.display inline; return false;};config.macros.toolbar.handler function(place,macroName,params,wikifier,paramString,tiddler){ var t; for(t0; tparams.length; t++) { var btn; var c paramst; switch(c) { case !: createTiddlyText(place,this.separator); break; case *: createTiddlyElement(place,br); break; case : btn createTiddlyButton(place,this.lessLabel,this.lessPrompt,config.macros.toolbar.onClickLess); jQuery(btn).addClass(lessCommand); break; case >: btn createTiddlyButton(place,this.moreLabel,this.morePrompt,config.macros.toolbar.onClickMore); jQuery(btn).addClass(moreCommand); var e createTiddlyElement(place,span,null,moreCommand); e.style.display none; place e; break; default: var className ; switch(c.substr(0,1)) { case +: className defaultCommand; c c.substr(1); break; case -: className cancelCommand; c c.substr(1); break; } if(config.commandsc) { this.createCommand(place,c,tiddler,className); } else { this.customCommand(place,c,wikifier,tiddler); } break; } }};// Overrideable function to extend toolbar handlerconfig.macros.toolbar.customCommand function(place,command,wikifier,tiddler){};//--//-- Menu and toolbar commands//--config.commands.closeTiddler.handler function(event,src,title){ if(story.isDirty(title) && !readOnly) { if(!confirm(config.commands.cancelTiddler.warning.format(title))) return false; } story.setDirty(title,false); story.closeTiddler(title,true); return false;};config.commands.closeOthers.handler function(event,src,title){ story.closeAllTiddlers(title); return false;};config.commands.editTiddler.handler function(event,src,title){ clearMessage(); var tiddlerElem story.getTiddler(title); var fields tiddlerElem.getAttribute(tiddlyFields); story.displayTiddler(null,title,DEFAULT_EDIT_TEMPLATE,false,null,fields); var e story.getTiddlerField(title,config.options.txtEditorFocus||text); if(e) { setCaretPosition(e,0); } return false;};config.commands.saveTiddler.handler function(event,src,title){ var newTitle story.saveTiddler(title,event.shiftKey); if(newTitle) story.displayTiddler(null,newTitle); return false;};config.commands.cancelTiddler.handler function(event,src,title){ if(story.hasChanges(title) && !readOnly) { if(!confirm(this.warning.format(title))) return false; } story.setDirty(title,false); story.displayTiddler(null,title); return false;};config.commands.deleteTiddler.handler function(event,src,title){ var deleteIt true; if(config.options.chkConfirmDelete) deleteIt confirm(this.warning.format(title)); if(deleteIt) { store.removeTiddler(title); story.closeTiddler(title,true); autoSaveChanges(); } return false;};config.commands.permalink.handler function(event,src,title){ var t encodeURIComponent(String.encodeTiddlyLink(title)); if(window.location.hash ! t) window.location.hash t; return false;};config.commands.references.handlePopup function(popup,title){ var references store.getReferringTiddlers(title); var c false; var r; for(r0; rreferences.length; r++) { if(referencesr.title ! title && !referencesr.isTagged(excludeLists)) { createTiddlyLink(createTiddlyElement(popup,li),referencesr.title,true); c true; } } if(!c) createTiddlyElement(popup,li,null,disabled,this.popupNone);};config.commands.jump.handlePopup function(popup,title){ story.forEachTiddler(function(title,element) { createTiddlyLink(createTiddlyElement(popup,li),title,true,null,false,null,true); });};config.commands.fields.handlePopup function(popup,title){ var tiddler store.fetchTiddler(title); if(!tiddler) return; var items ; store.forEachField(tiddler,function(tiddler,fieldName,value){items.push({field:fieldName,value:value});},true); items.sort(function(a,b) {return a.field b.field ? -1 : (a.field b.field ? 0 : +1);}); if(items.length > 0) ListView.create(popup,items,this.listViewTemplate); else createTiddlyElement(popup,div,null,null,this.emptyText);};//--//-- Tiddler() object//--function Tiddler(title){ this.title title; this.text ; this.creator null; this.modifier null; this.created new Date(); this.modified this.created; this.links ; this.linksUpdated false; this.tags ; this.fields {}; return this;}Tiddler.prototype.getLinks function(){ if(this.linksUpdatedfalse) this.changed(); return this.links;};// Returns the fields that are inherited in string field:value field2:value2 formatTiddler.prototype.getInheritedFields function(){ var f {}; var i; for(i in this.fields) { if(iserver.host || iserver.workspace || iwikiformat|| iserver.type) { fi this.fieldsi; } } return String.encodeHashMap(f);};// Increment the changeCount of a tiddlerTiddler.prototype.incChangeCount function(){ var c this.fieldschangecount; c c ? parseInt(c,10) : 0; this.fieldschangecount String(c+1);};// Clear the changeCount of a tiddlerTiddler.prototype.clearChangeCount function(){ if(this.fieldschangecount) { delete this.fieldschangecount; }};Tiddler.prototype.doNotSave function(){ return this.fieldsdoNotSave;};// Returns true if the tiddler has been updated since the tiddler was created or downloadedTiddler.prototype.isTouched function(){ var changecount this.fields.changecount || 0; return changecount > 0;};// Change the text and other attributes of a tiddlerTiddler.prototype.set function(title,text,modifier,modified,tags,created,fields,creator){ this.assign(title,text,modifier,modified,tags,created,fields,creator); this.changed(); return this;};// Change the text and other attributes of a tiddler without triggered a tiddler.changed() callTiddler.prototype.assign function(title,text,modifier,modified,tags,created,fields,creator){ if(title ! undefined) this.title title; if(text ! undefined) this.text text; if(modifier ! undefined) this.modifier modifier; if(modified ! undefined) this.modified modified; if(creator ! undefined) this.creator creator; if(created ! undefined) this.created created; if(fields ! undefined) this.fields fields; if(tags ! undefined) this.tags (typeof tags string) ? tags.readBracketedList() : tags; else if(this.tags undefined) this.tags ; return this;};// Get the tags for a tiddler as a string (space delimited, using brackets for tags containing spaces)Tiddler.prototype.getTags function(){ return String.encodeTiddlyLinkList(this.tags);};// Test if a tiddler carries a tagTiddler.prototype.isTagged function(tag){ return this.tags.indexOf(tag) ! -1;};// Static method to convert \n to newlines, \s to \Tiddler.unescapeLineBreaks function(text){ return text ? text.unescapeLineBreaks() : ;};// Convert newlines to \n, \ to \sTiddler.prototype.escapeLineBreaks function(){ return this.text.escapeLineBreaks();};// Updates the secondary information (like links array) after a change to a tiddlerTiddler.prototype.changed function(){ this.links ; var text this.text; // remove quoted text before scanning tiddler source text text.replace(/\/%((?:.|\n)*?)%\//g,). replace(/\{{3}((?:.|\n)*?)\}{3}/g,). replace(/((?:.|\n)*?)/g,). replace(/nowiki\>((?:.|\n)*?)\/nowiki\>/g,). replace(/html\>((?:.|\n)*?)\/html\>/g,). replace(/script((?:.|\n)*?)\/script\>/g,); var t this.autoLinkWikiWords() ? 0 : 1; var tiddlerLinkRegExp t0 ? config.textPrimitives.tiddlerAnyLinkRegExp : config.textPrimitives.tiddlerForcedLinkRegExp; tiddlerLinkRegExp.lastIndex 0; var formatMatch tiddlerLinkRegExp.exec(text); while(formatMatch) { var lastIndex tiddlerLinkRegExp.lastIndex; if(t0 && formatMatch1 && formatMatch1 ! this.title) { // wikiWordLink if(formatMatch.index > 0) { var preRegExp new RegExp(config.textPrimitives.unWikiLink+|+config.textPrimitives.anyLetter,mg); preRegExp.lastIndex formatMatch.index-1; var preMatch preRegExp.exec(text); if(preMatch.index ! formatMatch.index-1) this.links.pushUnique(formatMatch1); } else { this.links.pushUnique(formatMatch1); } } else if(formatMatch2-t && !config.formatterHelpers.isExternalLink(formatMatch3-t)) // titledBrackettedLink this.links.pushUnique(formatMatch3-t); else if(formatMatch4-t && formatMatch4-t ! this.title) // brackettedLink this.links.pushUnique(formatMatch4-t); tiddlerLinkRegExp.lastIndex lastIndex; formatMatch tiddlerLinkRegExp.exec(text); } this.linksUpdated true;};Tiddler.prototype.getSubtitle function(){ var modifier this.modifier; if(!modifier) modifier config.messages.subtitleUnknown || ; var modified this.modified; if(modified) modified modified.toLocaleString(); else modified config.messages.subtitleUnknown || ; var f config.messages.tiddlerLinkTooltip || %0 - %1, %2; return f.format(this.title,modifier,modified);};Tiddler.prototype.isReadOnly function(){ return readOnly;};Tiddler.prototype.autoLinkWikiWords function(){ return !(this.isTagged(systemConfig) || this.isTagged(excludeMissing));};Tiddler.prototype.getServerType function(){ var serverType null; if(this.fieldsserver.type) serverType this.fieldsserver.type; if(!serverType) serverType this.fieldswikiformat; if(serverType && !config.adaptorsserverType) serverType null; return serverType;};Tiddler.prototype.getAdaptor function(){ var serverType this.getServerType(); return serverType ? new config.adaptorsserverType() : null;};//--//-- TiddlyWiki instance contains TiddlerS//--function TiddlyWiki(params){ var tiddlers {}; // Hashmap by name of tiddlers if(params && params.config) { this.config config; } this.tiddlersUpdated false; this.namedNotifications ; // Array of {name:,notify:} of notification functions this.notificationLevel 0; this.slices {}; // map tiddlerName->(map sliceName->sliceValue). Lazy. this.clear function() { tiddlers {}; this.setDirty(false); }; this.fetchTiddler function(title) { var t tiddlerstitle; return t instanceof Tiddler ? t : null; }; this.deleteTiddler function(title) { delete this.slicestitle; delete tiddlerstitle; }; this.addTiddler function(tiddler) { delete this.slicestiddler.title; tiddlerstiddler.title tiddler; }; this.forEachTiddler function(callback) { var t; for(t in tiddlers) { var tiddler tiddlerst; if(tiddler instanceof Tiddler) callback.call(this,t,tiddler); } };}TiddlyWiki.prototype.setDirty function(dirty){ this.dirty dirty;};TiddlyWiki.prototype.isDirty function(){ return this.dirty;};TiddlyWiki.prototype.tiddlerExists function(title){ var t this.fetchTiddler(title); return t ! undefined;};TiddlyWiki.prototype.isShadowTiddler function(title){ return config.shadowTiddlerstitle undefined ? false : true;};TiddlyWiki.prototype.isAvailable function(title) { if (!title) return false; var s title ? title.indexOf(config.textPrimitives.sectionSeparator) : -1; if(s!-1) title title.substr(0,s); return this.tiddlerExists(title) || this.isShadowTiddler(title);};TiddlyWiki.prototype.createTiddler function(title){ var tiddler this.fetchTiddler(title); if(!tiddler) { tiddler new Tiddler(title); this.addTiddler(tiddler); this.setDirty(true); } return tiddler;};TiddlyWiki.prototype.getTiddler function(title){ var t this.fetchTiddler(title); if(t ! undefined) return t; else return null;};TiddlyWiki.prototype.getShadowTiddlerText function(title){ if(typeof config.shadowTiddlerstitle string) return config.shadowTiddlerstitle; else return ;};// Retrieve tiddler contentsTiddlyWiki.prototype.getTiddlerText function(title,defaultText){ if(!title) return defaultText; var pos title.indexOf(config.textPrimitives.sectionSeparator); var section null; if(pos ! -1) { section title.substr(pos + config.textPrimitives.sectionSeparator.length); title title.substr(0,pos); } pos title.indexOf(config.textPrimitives.sliceSeparator); if(pos ! -1) { var slice this.getTiddlerSlice(title.substr(0,pos),title.substr(pos + config.textPrimitives.sliceSeparator.length)); if(slice) return slice; } var tiddler this.fetchTiddler(title); var text tiddler ? tiddler.text : null; if(!tiddler && this.isShadowTiddler(title)) { text this.getShadowTiddlerText(title); } if(text) { if(!section) return text; var re new RegExp((^!{1,6} \t* + section.escapeRegExp() + \t*\n),mg); re.lastIndex 0; var match re.exec(text); if(match) { var t text.substr(match.index+match1.length); var re2 /^!/mg; re2.lastIndex 0; match re2.exec(t); //# search for the next heading if(match) t t.substr(0,match.index-1);//# dont include final \n return t; } return defaultText; } if(defaultText ! undefined) return defaultText; return null;};TiddlyWiki.prototype.getRecursiveTiddlerText function(title,defaultText,depth){ var bracketRegExp new RegExp((?:\\\\(^\\+)\\\\),mg); var text this.getTiddlerText(title,null); if(text null) return defaultText; var textOut ; var match,lastPos 0; do { match bracketRegExp.exec(text); if(match) { textOut.push(text.substr(lastPos,match.index-lastPos)); if(match1) { if(depth 0) textOut.push(match1); else textOut.push(this.getRecursiveTiddlerText(match1,,depth-1)); } lastPos match.index + match0.length; } else { textOut.push(text.substr(lastPos)); } } while(match); return textOut.join();};//TiddlyWiki.prototype.slicesRE /(?:^(\\/{0,2})~?(\.\w+)\:\1\t\x20*(^\n+)\t\x20*$)|(?:^\|(\\/{0,2})~?(\.\w+)\:?\4\|\t\x20*(^\n+)\t\x20*\|$)/gm;TiddlyWiki.prototype.slicesRE /(?:^(\\/{0,2})~?(\.\w+)\:\1\t\x20*(^\n*)\t\x20*$)|(?:^\|(\\/{0,2})~?(\.\w+)\:?\4\|\t\x20*(^\|\n*)\t\x20*\|$)/gm;// @internalTiddlyWiki.prototype.calcAllSlices function(title){ var slices {}; var text this.getTiddlerText(title,); this.slicesRE.lastIndex 0; var m this.slicesRE.exec(text); while(m) { if(m2) slicesm2 m3; else slicesm5 m6; m this.slicesRE.exec(text); } return slices;};// Returns the slice of text of the given nameTiddlyWiki.prototype.getTiddlerSlice function(title,sliceName){ var slices this.slicestitle; if(!slices) { slices this.calcAllSlices(title); this.slicestitle slices; } return slicessliceName;};// Build an hashmap of the specified named slices of a tiddlerTiddlyWiki.prototype.getTiddlerSlices function(title,sliceNames){ var t,r {}; for(t0; tsliceNames.length; t++) { var slice this.getTiddlerSlice(title,sliceNamest); if(slice) rsliceNamest slice; } return r;};TiddlyWiki.prototype.suspendNotifications function(){ this.notificationLevel--;};TiddlyWiki.prototype.resumeNotifications function(){ this.notificationLevel++;};// Invoke the notification handlers for a particular tiddlerTiddlyWiki.prototype.notify function(title,doBlanket){ if(!this.notificationLevel) { var t; for(t0; tthis.namedNotifications.length; t++) { var n this.namedNotificationst; if((n.name null && doBlanket) || (n.name title)) n.notify(title); } }};// Invoke the notification handlers for all tiddlersTiddlyWiki.prototype.notifyAll function(){ if(!this.notificationLevel) { var t; for(t0; tthis.namedNotifications.length; t++) { var n this.namedNotificationst; if(n.name) n.notify(n.name); } }};// Add a notification handler to a tiddlerTiddlyWiki.prototype.addNotification function(title,fn){ var i; for(i0; ithis.namedNotifications.length; i++) { if((this.namedNotificationsi.name title) && (this.namedNotificationsi.notify fn)) return this; } this.namedNotifications.push({name: title, notify: fn}); return this;};TiddlyWiki.prototype.removeTiddler function(title){ var tiddler this.fetchTiddler(title); if(tiddler) { this.deleteTiddler(title); this.notify(title,true); this.setDirty(true); }};// Reset the sync status of a freshly synced tiddlerTiddlyWiki.prototype.resetTiddler function(title){ var tiddler this.fetchTiddler(title); if(tiddler) { tiddler.clearChangeCount(); this.notify(title,true); this.setDirty(true); }};TiddlyWiki.prototype.setTiddlerTag function(title,status,tag){ var tiddler this.fetchTiddler(title); if(tiddler) { var t tiddler.tags.indexOf(tag); if(t ! -1) tiddler.tags.splice(t,1); if(status) tiddler.tags.push(tag); tiddler.changed(); tiddler.incChangeCount(); this.notify(title,true); this.setDirty(true); }};TiddlyWiki.prototype.addTiddlerFields function(title,fields){ var tiddler this.fetchTiddler(title); if(!tiddler) return; merge(tiddler.fields,fields); tiddler.changed(); tiddler.incChangeCount(); this.notify(title,true); this.setDirty(true);};// Store tiddler in TiddlyWiki instanceTiddlyWiki.prototype.saveTiddler function(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created,creator){ var tiddler; if(title instanceof Tiddler) { tiddler title; tiddler.fields merge(merge({},tiddler.fields),config.defaultCustomFields,true); title tiddler.title; newTitle title; } else { tiddler this.fetchTiddler(title); if(tiddler) { created created || tiddler.created; // Preserve created date creator creator || tiddler.creator; this.deleteTiddler(title); } else { created created || modified; tiddler new Tiddler(); } fields merge(merge({},fields),config.defaultCustomFields,true); tiddler.set(newTitle,newBody,modifier,modified,tags,created,fields,creator); } this.addTiddler(tiddler); if(clearChangeCount) tiddler.clearChangeCount(); else tiddler.incChangeCount(); if(title ! newTitle) this.notify(title,true); this.notify(newTitle,true); this.setDirty(true); return tiddler;};TiddlyWiki.prototype.incChangeCount function(title){ var tiddler this.fetchTiddler(title); if(tiddler) tiddler.incChangeCount();};TiddlyWiki.prototype.getLoader function(){ if(!this.loader) this.loader new TW21Loader(); return this.loader;};TiddlyWiki.prototype.getSaver function(){ if(!this.saver) this.saver new TW21Saver(); return this.saver;};// Return all tiddlers formatted as an HTML stringTiddlyWiki.prototype.allTiddlersAsHtml function(){ return this.getSaver().externalize(store);};// Load contents of a TiddlyWiki from an HTML DIVTiddlyWiki.prototype.loadFromDiv function(src,idPrefix,noUpdate){ this.idPrefix idPrefix; var storeElem (typeof src string) ? document.getElementById(src) : src; if(!storeElem) return; var tiddlers this.getLoader().loadTiddlers(this,storeElem.childNodes); this.setDirty(false); if(!noUpdate) { var i; for(i 0;itiddlers.length; i++) tiddlersi.changed(); } jQuery(document).trigger(loadTiddlers);};// Load contents of a TiddlyWiki from a string// Returns null if theres an errorTiddlyWiki.prototype.importTiddlyWiki function(text){ var posDiv locateStoreArea(text); if(!posDiv) return null; var content + html> + body> + text.substring(posDiv0,posDiv1 + endSaveArea.length) + + /body> + /html>; // Create the iframe var iframe document.createElement(iframe); iframe.style.display none; document.body.appendChild(iframe); var doc iframe.document; if(iframe.contentDocument) doc iframe.contentDocument; // For NS6 else if(iframe.contentWindow) doc iframe.contentWindow.document; // For IE5.5 and IE6 // Put the content in the iframe doc.open(); doc.writeln(content); doc.close(); // Load the content into a TiddlyWiki() object var storeArea doc.getElementById(storeArea); this.loadFromDiv(storeArea,store); // Get rid of the iframe iframe.parentNode.removeChild(iframe); return this;};TiddlyWiki.prototype.updateTiddlers function(){ this.tiddlersUpdated true; this.forEachTiddler(function(title,tiddler) { tiddler.changed(); });};// Return an array of tiddlers matching a search regular expressionTiddlyWiki.prototype.search function(searchRegExp,sortField,excludeTag,match){ var candidates this.reverseLookup(tags,excludeTag,!!match); var t,results ; for(t0; tcandidates.length; t++) { if((candidatest.title.search(searchRegExp) ! -1) || (candidatest.text.search(searchRegExp) ! -1)) results.push(candidatest); } if(!sortField) sortField title; results.sort(function(a,b) {return asortField bsortField ? -1 : (asortField bsortField ? 0 : +1);}); return results;};// Returns a list of all tags in use// excludeTag - if present, excludes tags that are themselves tagged with excludeTag// Returns an array of arrays where tag0 is the name of the tag and tag1 is the number of occurancesTiddlyWiki.prototype.getTags function(excludeTag){ var results ; this.forEachTiddler(function(title,tiddler) { var g,c; for(g0; gtiddler.tags.length; g++) { var tag tiddler.tagsg; var n true; for(c0; cresults.length; c++) { if(resultsc0 tag) { n false; resultsc1++; } } if(n && excludeTag) { var t this.fetchTiddler(tag); if(t && t.isTagged(excludeTag)) n false; } if(n) results.push(tag,1); } }); results.sort(function(a,b) {return a0.toLowerCase() b0.toLowerCase() ? -1 : (a0.toLowerCase() b0.toLowerCase() ? 0 : +1);}); return results;};// Return an array of the tiddlers that are tagged with a given tagTiddlyWiki.prototype.getTaggedTiddlers function(tag,sortField){ return this.reverseLookup(tags,tag,true,sortField);};TiddlyWiki.prototype.getValueTiddlers function(field,value,sortField){ return this.reverseLookup(field,value,true,sortField);};// Return an array of the tiddlers that link to a given tiddlerTiddlyWiki.prototype.getReferringTiddlers function(title,unusedParameter,sortField){ if(!this.tiddlersUpdated) this.updateTiddlers(); return this.reverseLookup(links,title,true,sortField);};// Return an array of the tiddlers that do or do not have a specified entry in the specified storage array (ie, links or tags)// lookupMatch true to match tiddlers, false to exclude tiddlersTiddlyWiki.prototype.reverseLookup function(lookupField,lookupValue,lookupMatch,sortField){ var results ; this.forEachTiddler(function(title,tiddler) { var f !lookupMatch; var values; if(links, tags.contains(lookupField)) { values tiddlerlookupField; } else { var accessor TiddlyWiki.standardFieldAccesslookupField; if(accessor) { values accessor.get(tiddler) ; } else { values tiddler.fieldslookupField ? tiddler.fieldslookupField : ; } } var lookup; for(lookup0; lookupvalues.length; lookup++) { if(valueslookup lookupValue) f lookupMatch; } if(f) results.push(tiddler); }); if(!sortField) sortField title; return this.sortTiddlers(results,sortField);};// Return the tiddlers as a sorted arrayTiddlyWiki.prototype.getTiddlers function(field,excludeTag){ var results ; this.forEachTiddler(function(title,tiddler) { if(excludeTag undefined || !tiddler.isTagged(excludeTag)) results.push(tiddler); }); if(field) results.sort(function(a,b) {return afield bfield ? -1 : (afield bfield ? 0 : +1);}); return results;};// Return array of names of tiddlers that are referred to but not definedTiddlyWiki.prototype.getMissingLinks function(){ if(!this.tiddlersUpdated) this.updateTiddlers(); var results ; this.forEachTiddler(function (title,tiddler) { if(tiddler.isTagged(excludeMissing) || tiddler.isTagged(systemConfig)) return; var n; for(n0; ntiddler.links.length;n++) { var link tiddler.linksn; if(this.getTiddlerText(link,null) null && !this.isShadowTiddler(link) && !config.macroslink) results.pushUnique(link); } }); results.sort(); return results;};// Return an array of names of tiddlers that are defined but not referred toTiddlyWiki.prototype.getOrphans function(){ var results ; this.forEachTiddler(function (title,tiddler) { if(this.getReferringTiddlers(title).length 0 && !tiddler.isTagged(excludeLists)) results.push(title); }); results.sort(); return results;};// Return an array of names of all the shadow tiddlersTiddlyWiki.prototype.getShadowed function(){ var t,results ; for(t in config.shadowTiddlers) { if(this.isShadowTiddler(t)) results.push(t); } results.sort(); return results;};// Return an array of tiddlers that have been touched since they were downloaded or createdTiddlyWiki.prototype.getTouched function(){ var results ; this.forEachTiddler(function(title,tiddler) { if(tiddler.isTouched()) results.push(tiddler); }); results.sort(); return results;};// Resolves a Tiddler reference or tiddler title into a Tiddler object, or null if it doesnt existTiddlyWiki.prototype.resolveTiddler function(tiddler){ var t (typeof tiddler string) ? this.getTiddler(tiddler) : tiddler; return t instanceof Tiddler ? t : null;};// Sort a list of tiddlersTiddlyWiki.prototype.sortTiddlers function(tiddlers,field){ var asc +1; switch(field.substr(0,1)) { case -: asc -1; field field.substr(1); break; case +: field field.substr(1); break; } if(TiddlyWiki.standardFieldAccessfield) { if(fieldtitle) { tiddlers.sort(function(a,b) {return afield.toLowerCase() bfield.toLowerCase() ? -asc : (afield.toLowerCase() bfield.toLowerCase() ? 0 : asc);}); } else { tiddlers.sort(function(a,b) {return afield bfield ? -asc : (afield bfield ? 0 : asc);}); } } else { tiddlers.sort(function(a,b) {return a.fieldsfield b.fieldsfield ? -asc : (a.fieldsfield b.fieldsfield ? 0 : +asc);}); } return tiddlers;};//--//-- Filter a list of tiddlers//--config.filters { tiddler: function(results,match) { var title match1||match4; var tiddler this.fetchTiddler(title); if(tiddler) { results.pushUnique(tiddler); } else if(this.isShadowTiddler(title)) { tiddler new Tiddler(); tiddler.set(title,this.getTiddlerText(title)); results.pushUnique(tiddler); } else { results.pushUnique(new Tiddler(title)); } return results; }, tag: function(results,match) { var m,matched this.getTaggedTiddlers(match3); for(m0; mmatched.length; m++) { results.pushUnique(matchedm); } return results; }, sort: function(results,match) { return this.sortTiddlers(results,match3); }, limit: function(results,match) { return results.slice(0,parseInt(match3,10)); }, field: function(results,match) { var m,matched this.getValueTiddlers(match2,match3); for (m 0; m matched.length; m++) { results.pushUnique(matchedm); } return results; }};// Filter a list of tiddlersTiddlyWiki.prototype.filterTiddlers function(filter){ var re /(^\s\\+)|(?:\( \w\.\-+)\(^\+)\\)|(?:\\(^\+)\\)/mg; var results ; if(filter) { var match re.exec(filter); while(match) { var handler (match1||match4)?tiddler:config.filtersmatch2?match2:field; results config.filtershandler.call(this,results,match); match re.exec(filter); } } return results;};// Returns true if path is a valid field name (path),// i.e. a sequence of identifiers, separated by .TiddlyWiki.isValidFieldName function(name){ var match /a-zA-Z_\w*(\.a-zA-Z_\w*)*/.exec(name); return match && (match0 name);};// Throws an exception when name is not a valid field name.TiddlyWiki.checkFieldName function(name){ if(!TiddlyWiki.isValidFieldName(name)) throw config.messages.invalidFieldName.format(name);};function StringFieldAccess(n,readOnly){ this.set readOnly ? function(t,v) {if(v ! tn) throw config.messages.fieldCannotBeChanged.format(n);} : function(t,v) {if(v ! tn) {tn v; return true;}}; this.get function(t) {return tn;};}function DateFieldAccess(n){ this.set function(t,v) { var d v instanceof Date ? v : Date.convertFromYYYYMMDDHHMM(v); if(d ! tn) { tn d; return true; } }; this.get function(t) {return tn.convertToYYYYMMDDHHMM();};}function LinksFieldAccess(n){ this.set function(t,v) { var s (typeof v string) ? v.readBracketedList() : v; if(s.toString() ! tn.toString()) { tn s; return true; } }; this.get function(t) {return String.encodeTiddlyLinkList(tn);};}TiddlyWiki.standardFieldAccess { // The set functions return true when setting the data has changed the value. title: new StringFieldAccess(title,true), // Handle the tiddler field name as the title tiddler: new StringFieldAccess(title,true), text: new StringFieldAccess(text), modifier: new StringFieldAccess(modifier), modified: new DateFieldAccess(modified), creator: new StringFieldAccess(creator), created: new DateFieldAccess(created), tags: new LinksFieldAccess(tags)};TiddlyWiki.isStandardField function(name){ return TiddlyWiki.standardFieldAccessname ! undefined;};// Sets the value of the given field of the tiddler to the value.// Setting an ExtendedFields value to null or undefined removes the field.// Setting a namespace to undefined removes all fields of that namespace.// The fieldName is case-insensitive.// All values will be converted to a string value.TiddlyWiki.prototype.setValue function(tiddler,fieldName,value){ TiddlyWiki.checkFieldName(fieldName); var t this.resolveTiddler(tiddler); if(!t) return; fieldName fieldName.toLowerCase(); var isRemove (value undefined) || (value null); var accessor TiddlyWiki.standardFieldAccessfieldName; if(accessor) { if(isRemove) // dont remove StandardFields return; var h TiddlyWiki.standardFieldAccessfieldName; if(!h.set(t,value)) return; } else { var oldValue t.fieldsfieldName; if(isRemove) { if(oldValue ! undefined) { // deletes a single field delete t.fieldsfieldName; } else { // no concrete value is defined for the fieldName // so we guess this is a namespace path. // delete all fields in a namespace var re new RegExp(^+fieldName+\\.); var dirty false; var n; for(n in t.fields) { if(n.match(re)) { delete t.fieldsn; dirty true; } } if(!dirty) return; } } else { // the normal set case. value is defined (not null/undefined) // For convenience provide a nicer conversion Date->String value value instanceof Date ? value.convertToYYYYMMDDHHMMSSMMM() : String(value); if(oldValue value) return; t.fieldsfieldName value; } } // When we are here the tiddler/store really was changed. this.notify(t.title,true); if(!fieldName.match(/^temp\./)) this.setDirty(true);};// Returns the value of the given field of the tiddler.// The fieldName is case-insensitive.// Will only return String values (or undefined).TiddlyWiki.prototype.getValue function(tiddler,fieldName){ var t this.resolveTiddler(tiddler); if(!t) return undefined; if(fieldName.indexOf(config.textPrimitives.sectionSeparator) 0 || fieldName.indexOf(config.textPrimitives.sliceSeparator) 0) { var sliceType fieldName.substr(0, 2); var sliceName fieldName.substring(2); return store.getTiddlerText(%0%1%2.format(t.title,sliceType,sliceName)); } else { fieldName fieldName.toLowerCase(); var accessor TiddlyWiki.standardFieldAccessfieldName; if(accessor) { return accessor.get(t); } } return t.fieldsfieldName;};// Calls the callback function for every field in the tiddler.// When callback function returns a non-false value the iteration stops// and that value is returned.// The order of the fields is not defined.// @param callback a function(tiddler,fieldName,value).TiddlyWiki.prototype.forEachField function(tiddler,callback,onlyExtendedFields){ var t this.resolveTiddler(tiddler); if(!t) return undefined; var n,result; for(n in t.fields) { result callback(t,n,t.fieldsn); if(result) return result; } if(onlyExtendedFields) return undefined; for(n in TiddlyWiki.standardFieldAccess) { if(n ! tiddler) { // even though the title field can also be referenced through the name tiddler // we only visit this field once. result callback(t,n,TiddlyWiki.standardFieldAccessn.get(t)); if(result) return result; } } return undefined;};//--//-- Story functions//--function Story(containerId,idPrefix){ this.container containerId; this.idPrefix idPrefix; this.highlightRegExp null; this.tiddlerId function(title) { title title.replace(/_/g, __).replace(/ /g, _); var id this.idPrefix + title; return idthis.container ? this.idPrefix + _ + title : id; }; this.containerId function() { return this.container; };}Story.prototype.getTiddler function(title){ return document.getElementById(this.tiddlerId(title));};Story.prototype.getContainer function(){ return document.getElementById(this.containerId());};Story.prototype.forEachTiddler function(fn){ var place this.getContainer(); if(!place) return; var e place.firstChild; while(e) { var n e.nextSibling; var title e.getAttribute(tiddler); if(title) { fn.call(this,title,e); } e n; }};Story.prototype.displayDefaultTiddlers function(){ this.displayTiddlers(null,store.filterTiddlers(store.getTiddlerText(DefaultTiddlers)));};Story.prototype.displayTiddlers function(srcElement,titles,template,animate,unused,customFields,toggle){ var t; for(t titles.length-1;t>0;t--) this.displayTiddler(srcElement,titlest,template,animate,unused,customFields);};Story.prototype.displayTiddler function(srcElement,tiddler,template,animate,unused,customFields,toggle,animationSrc){ var title (tiddler instanceof Tiddler) ? tiddler.title : tiddler; var tiddlerElem this.getTiddler(title); if(tiddlerElem) { if(toggle) { if(tiddlerElem.getAttribute(dirty) ! true) this.closeTiddler(title,true); } else { this.refreshTiddler(title,template,false,customFields); } } else { var place this.getContainer(); var before this.positionTiddler(srcElement); tiddlerElem this.createTiddler(place,before,title,template,customFields); } if(animationSrc && typeof animationSrc ! string) { srcElement animationSrc; } if(srcElement && typeof srcElement ! string) { if(config.options.chkAnimate && (animate undefined || animate true) && anim && typeof Zoomer function && typeof Scroller function) anim.startAnimating(new Zoomer(title,srcElement,tiddlerElem),new Scroller(tiddlerElem)); else window.scrollTo(0,ensureVisible(tiddlerElem)); } return tiddlerElem;};Story.prototype.positionTiddler function(srcElement){ var place this.getContainer(); var before null; if(typeof srcElement string) { switch(srcElement) { case top: before place.firstChild; break; case bottom: before null; break; } } else { var after this.findContainingTiddler(srcElement); if(after null) { before place.firstChild; } else if(after.nextSibling) { before after.nextSibling; if(before.nodeType ! 1) before null; } } return before;};Story.prototype.createTiddler function(place,before,title,template,customFields){ var tiddlerElem createTiddlyElement(null,div,this.tiddlerId(title),tiddler); tiddlerElem.setAttribute(refresh,tiddler); if(customFields) tiddlerElem.setAttribute(tiddlyFields,customFields); place.insertBefore(tiddlerElem,before); var defaultText null; if(!store.tiddlerExists(title) && !store.isShadowTiddler(title)) defaultText this.loadMissingTiddler(title,customFields); this.refreshTiddler(title,template,false,customFields,defaultText); return tiddlerElem;};Story.prototype.loadMissingTiddler function(title,fields,callback){ var getTiddlerCallback function(context) { if(context.status) { var t context.tiddler; if(!t.created) t.created new Date(); if(!t.modified) t.modified t.created; var dirty store.isDirty(); context.tiddler store.saveTiddler(t.title,t.title,t.text,t.modifier,t.modified,t.tags,t.fields,true,t.created,t.creator); if(!window.allowSave()) store.setDirty(dirty); autoSaveChanges(); } else { story.refreshTiddler(context.title,null,true); } context.adaptor.close(); if(callback) { callback(context); } }; var tiddler new Tiddler(title); tiddler.fields typeof fields string ? fields.decodeHashMap() : fields||{}; var context {serverType:tiddler.getServerType()}; if(!context.serverType) return ; context.host tiddler.fieldsserver.host; context.workspace tiddler.fieldsserver.workspace; var adaptor new config.adaptorscontext.serverType(); adaptor.getTiddler(title,context,null,getTiddlerCallback); return config.messages.loadingMissingTiddler.format(title,context.serverType,context.host,context.workspace);};Story.prototype.chooseTemplateForTiddler function(title,template){ if(!template) template DEFAULT_VIEW_TEMPLATE; if(template DEFAULT_VIEW_TEMPLATE || template DEFAULT_EDIT_TEMPLATE) template config.tiddlerTemplatestemplate; return template;};Story.prototype.getTemplateForTiddler function(title,template,tiddler){ return store.getRecursiveTiddlerText(template,null,10);};Story.prototype.refreshTiddler function(title,template,force,customFields,defaultText){ var tiddlerElem this.getTiddler(title); if(tiddlerElem) { if(tiddlerElem.getAttribute(dirty) true && !force) return tiddlerElem; template this.chooseTemplateForTiddler(title,template); var currTemplate tiddlerElem.getAttribute(template); if((template ! currTemplate) || force) { var tiddler store.getTiddler(title); if(!tiddler) { tiddler new Tiddler(); if(store.isShadowTiddler(title)) { var tags ; tiddler.set(title,store.getTiddlerText(title),config.views.wikified.shadowModifier,version.date,tags,version.date); } else { var text templateEditTemplate ? config.views.editor.defaultText.format(title) : config.views.wikified.defaultText.format(title); text defaultText || text; var fields customFields ? customFields.decodeHashMap() : null; tiddler.set(title,text,config.views.wikified.defaultModifier,version.date,,version.date,fields); } } tiddlerElem.setAttribute(tags,tiddler.tags.join( )); tiddlerElem.setAttribute(tiddler,title); tiddlerElem.setAttribute(template,template); tiddlerElem.onmouseover this.onTiddlerMouseOver; tiddlerElem.onmouseout this.onTiddlerMouseOut; tiddlerElem.ondblclick this.onTiddlerDblClick; tiddlerElemwindow.event?onkeydown:onkeypress this.onTiddlerKeyPress; tiddlerElem.innerHTML this.getTemplateForTiddler(title,template,tiddler); applyHtmlMacros(tiddlerElem,tiddler); if(store.getTaggedTiddlers(title).length > 0) jQuery(tiddlerElem).addClass(isTag); else jQuery(tiddlerElem).removeClass(isTag); if(store.tiddlerExists(title)) { jQuery(tiddlerElem).removeClass(shadow); jQuery(tiddlerElem).removeClass(missing); } else { jQuery(tiddlerElem).addClass(store.isShadowTiddler(title) ? shadow : missing); } if(customFields) this.addCustomFields(tiddlerElem,customFields); } } return tiddlerElem;};Story.prototype.addCustomFields function(place,customFields){ var fields customFields.decodeHashMap(); var w createTiddlyElement(place,div,null,customFields); w.style.display none; var t; for(t in fields) { var e document.createElement(input); e.setAttribute(type,text); e.setAttribute(value,fieldst); w.appendChild(e); e.setAttribute(edit,t); }};Story.prototype.refreshAllTiddlers function(force){ var e this.getContainer().firstChild; while(e) { var template e.getAttribute(template); if(template && e.getAttribute(dirty) ! true) { this.refreshTiddler(e.getAttribute(tiddler),force ? null : template,true); } e e.nextSibling; }};Story.prototype.onTiddlerMouseOver function(e){ jQuery(this).addClass(selected);};Story.prototype.onTiddlerMouseOut function(e){ jQuery(this).removeClass(selected);};Story.prototype.onTiddlerDblClick function(ev){ var e ev || window.event; var target resolveTarget(e); if(target && target.nodeName.toLowerCase() ! input && target.nodeName.toLowerCase() ! textarea) { if(document.selection && document.selection.empty) document.selection.empty(); config.macros.toolbar.invokeCommand(this,defaultCommand,e); e.cancelBubble true; if(e.stopPropagation) e.stopPropagation(); return true; } return false;};Story.prototype.onTiddlerKeyPress function(ev){ var e ev || window.event; clearMessage(); var consume false; var title this.getAttribute(tiddler); var target resolveTarget(e); switch(e.keyCode) { case 9: // Tab var ed story.getTiddlerField(title,text); if(target.tagName.toLowerCase() input && ed.valueconfig.views.editor.defaultText.format(title)) { // moving from input field and editor still contains default text, so select it ed.focus(); ed.select(); consume true; } if(config.options.chkInsertTabs && target.tagName.toLowerCase() textarea) { replaceSelection(target,String.fromCharCode(9)); consume true; } if(config.isOpera) { target.onblur function() { this.focus(); this.onblur null; }; } break; case 13: // Ctrl-Enter case 10: // Ctrl-Enter on IE PC case 77: // Ctrl-Enter is M on some platforms if(e.ctrlKey) { blurElement(this); config.macros.toolbar.invokeCommand(this,defaultCommand,e); consume true; } break; case 27: // Escape blurElement(this); config.macros.toolbar.invokeCommand(this,cancelCommand,e); consume true; break; } e.cancelBubble consume; if(consume) { if(e.stopPropagation) e.stopPropagation(); // Stop Propagation e.returnValue true; // Cancel The Event in IE if(e.preventDefault ) e.preventDefault(); // Cancel The Event in Moz } return !consume;};Story.prototype.getTiddlerField function(title,field){ var tiddlerElem this.getTiddler(title); var e null; if(tiddlerElem) { var t,children tiddlerElem.getElementsByTagName(*); for(t0; tchildren.length; t++) { var c childrent; if(c.tagName.toLowerCase() input || c.tagName.toLowerCase() textarea) { if(!e) e c; if(c.getAttribute(edit) field) e c; } } } return e;};Story.prototype.focusTiddler function(title,field){ var e this.getTiddlerField(title,field); if(e) { e.focus(); e.select(); }};Story.prototype.blurTiddler function(title){ var tiddlerElem this.getTiddler(title); if(tiddlerElem && tiddlerElem.focus && tiddlerElem.blur) { tiddlerElem.focus(); tiddlerElem.blur(); }};Story.prototype.setTiddlerField function(title,tag,mode,field){ var c this.getTiddlerField(title,field); var tags c.value.readBracketedList(); tags.setItem(tag,mode); c.value String.encodeTiddlyLinkList(tags);};Story.prototype.setTiddlerTag function(title,tag,mode){ this.setTiddlerField(title,tag,mode,tags);};Story.prototype.closeTiddler function(title,animate,unused){ var tiddlerElem this.getTiddler(title); if(tiddlerElem) { clearMessage(); this.scrubTiddler(tiddlerElem); if(config.options.chkAnimate && animate && anim && typeof Slider function) anim.startAnimating(new Slider(tiddlerElem,false,null,all)); else { jQuery(tiddlerElem).remove(); } }};Story.prototype.scrubTiddler function(tiddlerElem){ tiddlerElem.id null;};Story.prototype.setDirty function(title,dirty){ var tiddlerElem this.getTiddler(title); if(tiddlerElem) tiddlerElem.setAttribute(dirty,dirty ? true : false);};Story.prototype.isDirty function(title){ var tiddlerElem this.getTiddler(title); if(tiddlerElem) return tiddlerElem.getAttribute(dirty) true; return null;};Story.prototype.areAnyDirty function(){ var r false; this.forEachTiddler(function(title,element) { if(this.isDirty(title)) r true; }); return r;};Story.prototype.closeAllTiddlers function(exclude){ clearMessage(); this.forEachTiddler(function(title,element) { if((title ! exclude) && element.getAttribute(dirty) ! true) this.closeTiddler(title); }); window.scrollTo(0,ensureVisible(this.container));};Story.prototype.isEmpty function(){ var place this.getContainer(); return place && place.firstChild null;};Story.prototype.search function(text,useCaseSensitive,useRegExp){ this.closeAllTiddlers(); highlightHack new RegExp(useRegExp ? text : text.escapeRegExp(),useCaseSensitive ? mg : img); var matches store.search(highlightHack,title,excludeSearch); this.displayTiddlers(null,matches); highlightHack null; var q useRegExp ? / : ; if(matches.length > 0) displayMessage(config.macros.search.successMsg.format(matches.length.toString(),q + text + q)); else displayMessage(config.macros.search.failureMsg.format(q + text + q));};Story.prototype.findContainingTiddler function(e){ while(e && !jQuery(e).hasClass(tiddler)) { e jQuery(e).hasClass(popup) && Popup.stack0 ? Popup.stack0.root : e.parentNode; } return e;};Story.prototype.gatherSaveFields function(e,fields){ if(e && e.getAttribute) { var f e.getAttribute(edit); if(f) fieldsf e.value.replace(/\r/mg,); if(e.hasChildNodes()) { var t,c e.childNodes; for(t0; tc.length; t++) this.gatherSaveFields(ct,fields); } }};Story.prototype.hasChanges function(title){ var e this.getTiddler(title); if(e) { var fields {}; this.gatherSaveFields(e,fields); if(store.fetchTiddler(title)) { var n; for(n in fields) { if(store.getValue(title,n) ! fieldsn) //# tiddler changed return true; } } else { if(store.isShadowTiddler(title) && store.getShadowTiddlerText(title) fields.text) { //# not checking for title or tags return false; } else { //# changed shadow or new tiddler return true; } } } return false;};Story.prototype.saveTiddler function(title,minorUpdate){ var tiddlerElem this.getTiddler(title); if(tiddlerElem) { var fields {}; this.gatherSaveFields(tiddlerElem,fields); var newTitle fields.title || title; if(!store.tiddlerExists(newTitle)) { newTitle newTitle.trim(); var creator config.options.txtUserName; } if(store.tiddlerExists(newTitle) && newTitle ! title) { if(!confirm(config.messages.overwriteWarning.format(newTitle.toString()))) return null; title newTitle; } if(newTitle ! title) this.closeTiddler(newTitle,false); tiddlerElem.id this.tiddlerId(newTitle); tiddlerElem.setAttribute(tiddler,newTitle); tiddlerElem.setAttribute(template,DEFAULT_VIEW_TEMPLATE); tiddlerElem.setAttribute(dirty,false); if(config.options.chkForceMinorUpdate) minorUpdate !minorUpdate; if(!store.tiddlerExists(newTitle)) minorUpdate false; var newDate new Date(); if(store.tiddlerExists(title)) { var t store.fetchTiddler(title); var extendedFields t.fields; creator t.creator; } else { extendedFields merge({},config.defaultCustomFields); } var n; for(n in fields) { if(!TiddlyWiki.isStandardField(n)) extendedFieldsn fieldsn; } var tiddler store.saveTiddler(title,newTitle,fields.text,minorUpdate ? undefined : config.options.txtUserName,minorUpdate ? undefined : newDate,fields.tags,extendedFields,null,null,creator); autoSaveChanges(null,tiddler); return newTitle; } return null;};Story.prototype.permaView function(){ var links ; this.forEachTiddler(function(title,element) { links.push(String.encodeTiddlyLink(title)); }); var t encodeURIComponent(links.join( )); if(t ) t #; if(window.location.hash ! t) window.location.hash t;};Story.prototype.switchTheme function(theme){ if(safeMode) return; var getSlice function(theme,slice) { var r; if(readOnly) r store.getTiddlerSlice(theme,slice+ReadOnly) || store.getTiddlerSlice(theme,Web+slice); r r || store.getTiddlerSlice(theme,slice); if(r && r.indexOf(config.textPrimitives.sectionSeparator)0) r theme + r; return store.isAvailable(r) ? r : slice; }; var replaceNotification function(i,name,theme,slice) { var newName getSlice(theme,slice); if(name!newName && store.namedNotificationsi.namename) { store.namedNotificationsi.name newName; return newName; } return name; }; var pt config.refresherData.pageTemplate; var vi DEFAULT_VIEW_TEMPLATE; var vt config.tiddlerTemplatesvi; var ei DEFAULT_EDIT_TEMPLATE; var et config.tiddlerTemplatesei; var i; for(i0; iconfig.notifyTiddlers.length; i++) { var name config.notifyTiddlersi.name; switch(name) { case PageTemplate: config.refresherData.pageTemplate replaceNotification(i,config.refresherData.pageTemplate,theme,name); break; case StyleSheet: removeStyleSheet(config.refresherData.styleSheet); config.refresherData.styleSheet replaceNotification(i,config.refresherData.styleSheet,theme,name); break; case ColorPalette: config.refresherData.colorPalette replaceNotification(i,config.refresherData.colorPalette,theme,name); break; default: break; } } config.tiddlerTemplatesvi getSlice(theme,ViewTemplate); config.tiddlerTemplatesei getSlice(theme,EditTemplate); if(!startingUp) { if(config.refresherData.pageTemplate!pt || config.tiddlerTemplatesvi!vt || config.tiddlerTemplatesei!et) { refreshAll(); this.refreshAllTiddlers(true); } else { setStylesheet(store.getRecursiveTiddlerText(config.refresherData.styleSheet,,10),config.refreshers.styleSheet); } config.options.txtTheme theme; saveOption(txtTheme); }};//--//-- Backstage//--// Backstage tasksconfig.tasks.save.action saveChanges;var backstage { area: null, toolbar: null, button: null, showButton: null, hideButton: null, cloak: null, panel: null, panelBody: null, panelFooter: null, currTabName: null, currTabElem: null, content: null, init: function() { var cmb config.messages.backstage; this.area document.getElementById(backstageArea); this.toolbar jQuery(#backstageToolbar).empty()0; this.button jQuery(#backstageButton).empty()0; this.button.style.display block; var t cmb.open.text + + glyph(bentArrowLeft); this.showButton createTiddlyButton(this.button,t,cmb.open.tooltip, function(e) {backstage.show(); return false;},null,backstageShow); t glyph(bentArrowRight) + + cmb.close.text; this.hideButton createTiddlyButton(this.button,t,cmb.close.tooltip, function(e) {backstage.hide(); return false;},null,backstageHide); this.cloak document.getElementById(backstageCloak); this.panel document.getElementById(backstagePanel); this.panelFooter createTiddlyElement(this.panel,div,null,backstagePanelFooter); this.panelBody createTiddlyElement(this.panel,div,null,backstagePanelBody); this.cloak.onmousedown function(e) {backstage.switchTab(null);}; createTiddlyText(this.toolbar,cmb.prompt); for(t0; tconfig.backstageTasks.length; t++) { var taskName config.backstageTaskst; var task config.taskstaskName; var handler task.action ? this.onClickCommand : this.onClickTab; var text task.text + (task.action ? : glyph(downTriangle)); var btn createTiddlyButton(this.toolbar,text,task.tooltip,handler,backstageTab); jQuery(btn).addClass(task.action ? backstageAction : backstageTask); btn.setAttribute(task, taskName); } this.content document.getElementById(contentWrapper); if(config.options.chkBackstage) this.show(); else this.hide(); }, isVisible: function() { return this.area ? this.area.style.display block : false; }, show: function() { this.area.style.display block; if(anim && config.options.chkAnimate) { backstage.toolbar.style.left findWindowWidth() + px; var p {style: left, start: findWindowWidth(), end: 0, template: %0px}; anim.startAnimating(new Morpher(backstage.toolbar,config.animDuration,p)); } else { backstage.area.style.left 0px; } jQuery(this.showButton).hide(); jQuery(this.hideButton).show(); config.options.chkBackstage true; saveOption(chkBackstage); jQuery(this.content).addClass(backstageVisible); }, hide: function() { if(this.currTabElem) { this.switchTab(null); } else { backstage.toolbar.style.left 0px; if(anim && config.options.chkAnimate) { var p {style: left, start: 0, end: findWindowWidth(), template: %0px}; var c function(element,properties) {backstage.area.style.display none;}; anim.startAnimating(new Morpher(backstage.toolbar,config.animDuration,p,c)); } else { this.area.style.display none; } this.showButton.style.display block; this.hideButton.style.display none; config.options.chkBackstage false; saveOption(chkBackstage); jQuery(this.content).removeClass(backstageVisible); } }, onClickCommand: function(e) { var task config.tasksthis.getAttribute(task); if(task.action) { backstage.switchTab(null); task.action(); } return false; }, onClickTab: function(e) { backstage.switchTab(this.getAttribute(task)); return false; }, // Switch to a given tab, or none if null is passed switchTab: function(tabName) { var tabElem null; var e this.toolbar.firstChild; while(e) { if(e.getAttribute && e.getAttribute(task) tabName) tabElem e; e e.nextSibling; } if(tabName backstage.currTabName) { backstage.hidePanel(); return; } if(backstage.currTabElem) { jQuery(this.currTabElem).removeClass(backstageSelTab); } if(tabElem && tabName) { backstage.preparePanel(); jQuery(tabElem).addClass(backstageSelTab); var task config.taskstabName; wikify(task.content,backstage.panelBody,null,null); backstage.showPanel(); } else if(backstage.currTabElem) { backstage.hidePanel(); } backstage.currTabName tabName; backstage.currTabElem tabElem; }, isPanelVisible: function() { return backstage.panel ? backstage.panel.style.display block : false; }, preparePanel: function() { backstage.cloak.style.height findDocHeight() + px; backstage.cloak.style.display block; jQuery(backstage.panelBody).empty(); return backstage.panelBody; }, showPanel: function() { backstage.panel.style.display block; if(anim && config.options.chkAnimate) { backstage.panel.style.top (-backstage.panel.offsetHeight) + px; var p {style: top, start: -backstage.panel.offsetHeight, end: 0, template: %0px}; anim.startAnimating(new Morpher(backstage.panel,config.animDuration,p),new Scroller(backstage.panel,false)); } else { backstage.panel.style.top 0px; } return backstage.panelBody; }, hidePanel: function() { if(backstage.currTabElem) jQuery(backstage.currTabElem).removeClass(backstageSelTab); backstage.currTabElem null; backstage.currTabName null; if(anim && config.options.chkAnimate) { var p {style: top, start: 0, end: -(backstage.panel.offsetHeight), template: %0px}, {style: display, atEnd: none} ; var c function(element,properties) {backstage.cloak.style.display none;}; anim.startAnimating(new Morpher(backstage.panel,config.animDuration,p,c)); } else { jQuery(backstage.panel,backstage.cloak).hide(); } }};config.macros.backstage {};config.macros.backstage.handler function(place,macroName,params){ var backstageTask config.tasksparams0; if(backstageTask) createTiddlyButton(place,backstageTask.text,backstageTask.tooltip,function(e) {backstage.switchTab(params0); return false;});};//--//-- ImportTiddlers macro//--config.macros.importTiddlers.handler function(place,macroName,params,wikifier,paramString,tiddler){ if(readOnly) { createTiddlyElement(place,div,null,marked,this.readOnlyWarning); return; } var w new Wizard(); w.createWizard(place,this.wizardTitle); this.restart(w);};config.macros.importTiddlers.onCancel function(e){ var wizard new Wizard(this); wizard.clear(); config.macros.importTiddlers.restart(wizard); return false;};config.macros.importTiddlers.onClose function(e){ backstage.hidePanel(); return false;};config.macros.importTiddlers.restart function(wizard){ var me config.macros.importTiddlers; wizard.addStep(this.step1Title,this.step1Html); var t,s wizard.getElement(selTypes); for(t in config.adaptors) { var e createTiddlyElement(s,option,null,null,config.adaptorst.serverLabel || t); e.value t; } if(config.defaultAdaptor) s.value config.defaultAdaptor; s wizard.getElement(selFeeds); var feeds this.getFeeds(); for(t in feeds) { e createTiddlyElement(s,option,null,null,t); e.value t; } wizard.setValue(feeds,feeds); s.onchange me.onFeedChange; var fileInput wizard.getElement(txtBrowse); fileInput.onchange me.onBrowseChange; fileInput.onkeyup me.onBrowseChange; wizard.setButtons({caption: this.openLabel, tooltip: this.openPrompt, onClick: me.onOpen}); wizard.formElem.action javascript:;; wizard.formElem.onsubmit function() { if(!this.txtPath || this.txtPath.value.length) //# check for manually entered path in first step this.lastChild.firstChild.onclick(); };};config.macros.importTiddlers.getFeeds function(){ var feeds {}; var t,tagged store.getTaggedTiddlers(systemServer,title); for(t0; ttagged.length; t++) { var title taggedt.title; var serverType store.getTiddlerSlice(title,Type); if(!serverType) serverType file; feedstitle {title: title, url: store.getTiddlerSlice(title,URL), workspace: store.getTiddlerSlice(title,Workspace), workspaceList: store.getTiddlerSlice(title,WorkspaceList), tiddlerFilter: store.getTiddlerSlice(title,TiddlerFilter), serverType: serverType, description: store.getTiddlerSlice(title,Description)}; } return feeds;};config.macros.importTiddlers.onFeedChange function(e){ var wizard new Wizard(this); var selTypes wizard.getElement(selTypes); var fileInput wizard.getElement(txtPath); var feeds wizard.getValue(feeds); var f feedsthis.value; if(f) { selTypes.value f.serverType; fileInput.value f.url; wizard.setValue(feedName,f.serverType); wizard.setValue(feedHost,f.url); wizard.setValue(feedWorkspace,f.workspace); wizard.setValue(feedWorkspaceList,f.workspaceList); wizard.setValue(feedTiddlerFilter,f.tiddlerFilter); } return false;};config.macros.importTiddlers.onBrowseChange function(e){ var wizard new Wizard(this); var file this.value; file file.replace(/^C:\\fakepath\\/i,); // remove fakepath (chrome/opera/safari) if(this.files && this.files0) { try { netscape.security.PrivilegeManager.enablePrivilege(UniversalFileRead); file this.files0.fileName; // REQUIRES PRIVILEGES.. NULL otherwise } catch (ex) { // non-priv fallback: combine filename with path to current document var pathgetLocalPath(document.location.href); var slashpospath.lastIndexOf(/); if (slashpos-1) slashpospath.lastIndexOf(\\); if (slashpos!-1) pathpath.substr(0,slashpos+1); // remove filename, leave trailing slash filepath+file; } } var fileInput wizard.getElement(txtPath); fileInput.value config.macros.importTiddlers.getURLFromLocalPath(file); var serverType wizard.getElement(selTypes); serverType.value file; return true;};config.macros.importTiddlers.getURLFromLocalPath function(v){ if(!v || !v.length) return v; v v.replace(/\\/g,/); // use / for cross-platform consistency var u; var t v.split(:); var p t1 || t0; // remove drive letter (if any) if(t1 && (t0 http || t0 https || t0 file)) { u v; } else if(p.substr(0,1)/) { u document.location.protocol + // + document.location.hostname + (t1 ? / : ) + v; } else { var c document.location.href.replace(/\\/g,/); var pos c.lastIndexOf(/); if(pos!-1) c c.substr(0,pos); // remove filename u c + / + p; } return u;};config.macros.importTiddlers.onOpen function(e){ var me config.macros.importTiddlers; var wizard new Wizard(this); var fileInput wizard.getElement(txtPath); var url fileInput.value; var serverType wizard.getElement(selTypes).value || config.defaultAdaptor; var adaptor new config.adaptorsserverType(); wizard.setValue(adaptor,adaptor); wizard.setValue(serverType,serverType); wizard.setValue(host,url); adaptor.openHost(url,null,wizard,me.onOpenHost); wizard.setButtons({caption: me.cancelLabel, tooltip: me.cancelPrompt, onClick: me.onCancel},me.statusOpenHost); return false;};config.macros.importTiddlers.onOpenHost function(context,wizard){ var me config.macros.importTiddlers; var adaptor wizard.getValue(adaptor); if(context.status ! true) displayMessage(Error in importTiddlers.onOpenHost: + context.statusText); adaptor.getWorkspaceList(context,wizard,me.onGetWorkspaceList); wizard.setButtons({caption: me.cancelLabel, tooltip: me.cancelPrompt, onClick: me.onCancel},me.statusGetWorkspaceList);};config.macros.importTiddlers.onGetWorkspaceList function(context,wizard){ var me config.macros.importTiddlers; if(context.status ! true) displayMessage(Error in importTiddlers.onGetWorkspaceList: + context.statusText); wizard.setValue(context,context); var workspace wizard.getValue(feedWorkspace); if(!workspace && context.workspaces.length1) workspace context.workspaces0.title; if(workspace) { context.adaptor.openWorkspace(workspace,context,wizard,me.onOpenWorkspace); wizard.setValue(workspace,workspace); wizard.setButtons({caption: me.cancelLabel, tooltip: me.cancelPrompt, onClick: me.onCancel},me.statusOpenWorkspace); return; } wizard.addStep(me.step2Title,me.step2Html); var t,s wizard.getElement(selWorkspace); s.onchange me.onWorkspaceChange; for(t0; tcontext.workspaces.length; t++) { var e createTiddlyElement(s,option,null,null,context.workspacest.title); e.value context.workspacest.title; } var workspaceList wizard.getValue(feedWorkspaceList); if(workspaceList) { var n,list workspaceList.parseParams(workspace,null,false,true); for(n1; nlist.length; n++) { if(context.workspaces.findByField(title,listn.value) null) { e createTiddlyElement(s,option,null,null,listn.value); e.value listn.value; } } } if(workspace) { t wizard.getElement(txtWorkspace); t.value workspace; } wizard.setButtons({caption: me.openLabel, tooltip: me.openPrompt, onClick: me.onChooseWorkspace});};config.macros.importTiddlers.onWorkspaceChange function(e){ var wizard new Wizard(this); var t wizard.getElement(txtWorkspace); t.value this.value; this.selectedIndex 0; return false;};config.macros.importTiddlers.onChooseWorkspace function(e){ var me config.macros.importTiddlers; var wizard new Wizard(this); var adaptor wizard.getValue(adaptor); var workspace wizard.getElement(txtWorkspace).value; wizard.setValue(workspace,workspace); var context wizard.getValue(context); adaptor.openWorkspace(workspace,context,wizard,me.onOpenWorkspace); wizard.setButtons({caption: me.cancelLabel, tooltip: me.cancelPrompt, onClick: me.onCancel},me.statusOpenWorkspace); return false;};config.macros.importTiddlers.onOpenWorkspace function(context,wizard){ var me config.macros.importTiddlers; if(context.status ! true) displayMessage(Error in importTiddlers.onOpenWorkspace: + context.statusText); var adaptor wizard.getValue(adaptor); var browsewizard.getElement(txtBrowse); if (browse.files) context.filebrowse.files0; // for HTML5 FileReader adaptor.getTiddlerList(context,wizard,me.onGetTiddlerList,wizard.getValue(feedTiddlerFilter)); wizard.setButtons({caption: me.cancelLabel, tooltip: me.cancelPrompt, onClick: me.onCancel},me.statusGetTiddlerList);};config.macros.importTiddlers.onGetTiddlerList function(context,wizard){ var me config.macros.importTiddlers; if(context.status ! true) { var error context.statusText||me.errorGettingTiddlerList; if(context.host.indexOf(file://) 0) { error me.errorGettingTiddlerListFile; } else { error context.xhr && context.xhr.status 404 ? me.errorGettingTiddlerListHttp404 : me.errorGettingTiddlerListHttp; } wizard.setButtons({caption: me.cancelLabel, tooltip: me.cancelPrompt, onClick: me.onCancel},); jQuery(span.status, wizard.footerEl).html(error); // so error message can be html return; } // Extract data for the listview var listedTiddlers ; if(context.tiddlers) { var n; for(n0; ncontext.tiddlers.length; n++) { var tiddler context.tiddlersn; listedTiddlers.push({ title: tiddler.title, modified: tiddler.modified, modifier: tiddler.modifier, text: tiddler.text ? wikifyPlainText(tiddler.text,100) : , tags: tiddler.tags, size: tiddler.text ? tiddler.text.length : 0, tiddler: tiddler }); } } listedTiddlers.sort(function(a,b) {return a.title b.title ? -1 : (a.title b.title ? 0 : +1);}); // Display the listview wizard.addStep(me.step3Title,me.step3Html); var markList wizard.getElement(markList); var listWrapper document.createElement(div); markList.parentNode.insertBefore(listWrapper,markList); var listView ListView.create(listWrapper,listedTiddlers,me.listViewTemplate); wizard.setValue(listView,listView); wizard.setValue(context,context); var txtSaveTiddler wizard.getElement(txtSaveTiddler); txtSaveTiddler.value me.generateSystemServerName(wizard); wizard.setButtons( {caption: me.cancelLabel, tooltip: me.cancelPrompt, onClick: me.onCancel}, {caption: me.importLabel, tooltip: me.importPrompt, onClick: me.doImport} );};config.macros.importTiddlers.generateSystemServerName function(wizard){ var serverType wizard.getValue(serverType); var host wizard.getValue(host); var workspace wizard.getValue(workspace); var pattern config.macros.importTiddlersworkspace ? systemServerNamePattern : systemServerNamePatternNoWorkspace; return pattern.format(serverType,host,workspace);};config.macros.importTiddlers.saveServerTiddler function(wizard){ var me config.macros.importTiddlers; var txtSaveTiddler wizard.getElement(txtSaveTiddler).value; if(store.tiddlerExists(txtSaveTiddler)) { if(!confirm(me.confirmOverwriteSaveTiddler.format(txtSaveTiddler))) return; store.suspendNotifications(); store.removeTiddler(txtSaveTiddler); store.resumeNotifications(); } var serverType wizard.getValue(serverType); var host wizard.getValue(host); var workspace wizard.getValue(workspace); var text me.serverSaveTemplate.format(serverType,host,workspace); store.saveTiddler(txtSaveTiddler,txtSaveTiddler,text,me.serverSaveModifier,new Date(),systemServer);};config.macros.importTiddlers.doImport function(e){ var me config.macros.importTiddlers; var wizard new Wizard(this); if(wizard.getElement(chkSave).checked) me.saveServerTiddler(wizard); var chkSync wizard.getElement(chkSync).checked; wizard.setValue(sync,chkSync); var listView wizard.getValue(listView); var rowNames ListView.getSelectedRows(listView); var adaptor wizard.getValue(adaptor); var overwrite ; var t; for(t0; trowNames.length; t++) { if(store.tiddlerExists(rowNamest)) overwrite.push(rowNamest); } if(overwrite.length > 0) { if(!confirm(me.confirmOverwriteText.format(overwrite.join(, )))) return false; } wizard.addStep(me.step4Title.format(rowNames.length),me.step4Html); for(t0; trowNames.length; t++) { var link document.createElement(div); createTiddlyLink(link,rowNamest,true); var place wizard.getElement(markReport); place.parentNode.insertBefore(link,place); } wizard.setValue(remainingImports,rowNames.length); wizard.setButtons( {caption: me.cancelLabel, tooltip: me.cancelPrompt, onClick: me.onCancel} ,me.statusDoingImport); var wizardContext wizard.getValue(context); var tiddlers wizardContext ? wizardContext.tiddlers : ; for(t0; trowNames.length; t++) { var context { allowSynchronous:true, tiddler:tiddlerstiddlers.findByField(title,rowNamest) }; adaptor.getTiddler(rowNamest,context,wizard,me.onGetTiddler); } return false;};config.macros.importTiddlers.onGetTiddler function(context,wizard){ var me config.macros.importTiddlers; if(!context.status) displayMessage(Error in importTiddlers.onGetTiddler: + context.statusText); var tiddler context.tiddler; store.suspendNotifications(); store.saveTiddler(tiddler.title, tiddler.title, tiddler.text, tiddler.modifier, tiddler.modified, tiddler.tags, tiddler.fields, true, tiddler.created); if(!wizard.getValue(sync)) { store.setValue(tiddler.title,server,null); } store.resumeNotifications(); if(!context.isSynchronous) store.notify(tiddler.title,true); var remainingImports wizard.getValue(remainingImports)-1; wizard.setValue(remainingImports,remainingImports); if(remainingImports 0) { if(context.isSynchronous) { store.notifyAll(); refreshDisplay(); } wizard.setButtons( {caption: me.doneLabel, tooltip: me.donePrompt, onClick: me.onClose} ,me.statusDoneImport); autoSaveChanges(); }};//--//-- Upgrade macro//--config.macros.upgrade.handler function(place){ var w new Wizard(); w.createWizard(place,this.wizardTitle); w.addStep(this.step1Title,this.step1Html.format(this.source,this.source)); w.setButtons({caption: this.upgradeLabel, tooltip: this.upgradePrompt, onClick: this.onClickUpgrade});};config.macros.upgrade.onClickUpgrade function(e){ var me config.macros.upgrade; var w new Wizard(this); if(!window.allowSave()) { alert(me.errorCantUpgrade); return false; } if(story.areAnyDirty() || store.isDirty()) { alert(me.errorNotSaved); return false; } var localPath getLocalPath(document.location.toString()); var backupPath getBackupPath(localPath,me.backupExtension); w.setValue(backupPath,backupPath); w.setButtons(,me.statusPreparingBackup); var original loadOriginal(localPath); w.setButtons(,me.statusSavingBackup); var backup copyFile(backupPath,localPath); if(!backup) backup saveFile(backupPath,original); if(!backup) { w.setButtons(,me.errorSavingBackup); alert(me.errorSavingBackup); return false; } w.setButtons(,me.statusLoadingCore); var options { type:GET, url:me.source, processData:false, success:function(data,textStatus,jqXHR) { me.onLoadCore(true,w,jqXHR.responseText,me.source,jqXHR); }, error:function(jqXHR,textStatus,errorThrown) { me.onLoadCore(false,w,null,me.source,jqXHR); } }; ajaxReq(options); return false;};config.macros.upgrade.onLoadCore function(status,params,responseText,url,xhr){ var me config.macros.upgrade; var w params; var errMsg; if(!status) errMsg me.errorLoadingCore; var newVer me.extractVersion(responseText); if(!newVer) errMsg me.errorCoreFormat; if(errMsg) { w.setButtons(,errMsg); alert(errMsg); return; } var onStartUpgrade function(e) { w.setButtons(,me.statusSavingCore); var localPath getLocalPath(document.location.toString()); saveFile(localPath,responseText); w.setButtons(,me.statusReloadingCore); var backupPath w.getValue(backupPath); var newLoc document.location.toString() + ?time + new Date().convertToYYYYMMDDHHMM() + #upgrade: + encodeURI(backupPath) + ; window.setTimeout(function () {window.location newLoc;},10); }; var step2 me.step2Html_downgrade,me.step2Html_restore,me.step2Html_upgradecompareVersions(version,newVer) + 1; w.addStep(me.step2Title,step2.format(formatVersion(newVer),formatVersion(version))); w.setButtons({caption: me.startLabel, tooltip: me.startPrompt, onClick: onStartUpgrade},{caption: me.cancelLabel, tooltip: me.cancelPrompt, onClick: me.onCancel});};config.macros.upgrade.onCancel function(e){ var me config.macros.upgrade; var w new Wizard(this); w.addStep(me.step3Title,me.step3Html); w.setButtons(); return false;};config.macros.upgrade.extractVersion function(upgradeFile){ var re /^var version \{title: (^+), major: (\d+), minor: (\d+), revision: (\d+)(, beta: (\d+)){0,1}, date: new Date\((^+)\)/mg; var m re.exec(upgradeFile); return m ? {title: m1, major: m2, minor: m3, revision: m4, beta: m6, date: new Date(m7)} : null;};function upgradeFrom(path){ var importStore new TiddlyWiki(); var tw loadFile(path); if(window.netscape ! undefined) tw convertUTF8ToUnicode(tw); importStore.importTiddlyWiki(tw); importStore.forEachTiddler(function(title,tiddler) { if(!store.getTiddler(title)) { store.addTiddler(tiddler); } }); refreshDisplay(); saveChanges(); //# To create appropriate Markup* sections alert(config.messages.upgradeDone.format(formatVersion())); window.location window.location.toString().substr(0,window.location.toString().lastIndexOf(?));}//--//-- Manager UI for groups of tiddlers//--config.macros.plugins.handler function(place,macroName,params,wikifier,paramString){ var wizard new Wizard(); wizard.createWizard(place,this.wizardTitle); wizard.addStep(this.step1Title,this.step1Html); var markList wizard.getElement(markList); var listWrapper document.createElement(div); markList.parentNode.insertBefore(listWrapper,markList); listWrapper.setAttribute(refresh,macro); listWrapper.setAttribute(macroName,plugins); listWrapper.setAttribute(params,paramString); this.refresh(listWrapper,paramString);};config.macros.plugins.refresh function(listWrapper,params){ var me config.macros.plugins; var wizard new Wizard(listWrapper); var selectedRows ; ListView.forEachSelector(listWrapper,function(e,rowName) { if(e.checked) selectedRows.push(e.getAttribute(rowName)); }); jQuery(listWrapper).empty(); params params.parseParams(anon); var plugins installedPlugins.slice(0); var t,tiddler,p; var configTiddlers store.getTaggedTiddlers(systemConfig); for(t0; tconfigTiddlers.length; t++) { tiddler configTiddlerst; if(plugins.findByField(title,tiddler.title) null) { p getPluginInfo(tiddler); p.executed false; p.log.splice(0,0,this.skippedText); plugins.push(p); } } for(t0; tplugins.length; t++) { p pluginst; p.size p.tiddler.text ? p.tiddler.text.length : 0; p.forced p.tiddler.isTagged(systemConfigForce); p.disabled p.tiddler.isTagged(systemConfigDisable); p.Selected selectedRows.indexOf(pluginst.title) ! -1; } if(plugins.length 0) { createTiddlyElement(listWrapper,em,null,null,this.noPluginText); wizard.setButtons(); } else { var template readOnly ? this.listViewTemplateReadOnly : this.listViewTemplate; var listView ListView.create(listWrapper,plugins,template,this.onSelectCommand); wizard.setValue(listView,listView); if(!readOnly) { wizard.setButtons( {caption: me.removeLabel, tooltip: me.removePrompt, onClick: me.doRemoveTag}, {caption: me.deleteLabel, tooltip: me.deletePrompt, onClick: me.doDelete} ); } }};config.macros.plugins.doRemoveTag function(e){ var wizard new Wizard(this); var listView wizard.getValue(listView); var rowNames ListView.getSelectedRows(listView); if(rowNames.length 0) { alert(config.messages.nothingSelected); } else { var t; for(t0; trowNames.length; t++) { store.setTiddlerTag(rowNamest,false,systemConfig); } autoSaveChanges(); }};config.macros.plugins.doDelete function(e){ var wizard new Wizard(this); var listView wizard.getValue(listView); var rowNames ListView.getSelectedRows(listView); if(rowNames.length 0) { alert(config.messages.nothingSelected); } else { if(confirm(config.macros.plugins.confirmDeleteText.format(rowNames.join(, )))) { var t; for(t0; trowNames.length; t++) { store.removeTiddler(rowNamest); story.closeTiddler(rowNamest,true); } } autoSaveChanges(); }};//--//-- Message area//--function getMessageDiv(){ var msgArea document.getElementById(messageArea); if(!msgArea) return null; if(!msgArea.hasChildNodes()) createTiddlyButton(createTiddlyElement(msgArea,div,null,messageToolbar), config.messages.messageClose.text, config.messages.messageClose.tooltip, clearMessage); msgArea.style.display block; return createTiddlyElement(msgArea,div);}function displayMessage(text,linkText){ var e getMessageDiv(); if(!e) { alert(text); return; } if(linkText) { var link createTiddlyElement(e,a,null,null,text); link.href linkText; link.target _blank; } else { e.appendChild(document.createTextNode(text)); }}function clearMessage(){ var msgArea document.getElementById(messageArea); if(msgArea) { jQuery(msgArea).empty(); msgArea.style.display none; } return false;}//--//-- Refresh mechanism//--config.notifyTiddlers {name: SystemSettings, notify: onSystemSettingsChange}, {name: StyleSheetLayout, notify: refreshStyles}, {name: StyleSheetColors, notify: refreshStyles}, {name: StyleSheet, notify: refreshStyles}, {name: StyleSheetPrint, notify: refreshStyles}, {name: PageTemplate, notify: refreshPageTemplate}, {name: SiteTitle, notify: refreshPageTitle}, {name: SiteSubtitle, notify: refreshPageTitle}, {name: WindowTitle, notify: refreshPageTitle}, {name: ColorPalette, notify: refreshColorPalette}, {name: null, notify: refreshDisplay};config.refreshers { link: function(e,changeList) { var title e.getAttribute(tiddlyLink); refreshTiddlyLink(e,title); return true; }, tiddler: function(e,changeList) { var title e.getAttribute(tiddler); var template e.getAttribute(template); if(changeList && (changeList.indexOf && changeList.indexOf(title) ! -1) && !story.isDirty(title)) story.refreshTiddler(title,template,true); else refreshElements(e,changeList); return true; }, content: function(e,changeList) { var title e.getAttribute(tiddler); var force e.getAttribute(force); var args e.getAttribute(args); if(force ! null || changeList null || (changeList.indexOf && changeList.indexOf(title) ! -1)) { jQuery(e).empty(); config.macros.tiddler.transclude(e,title,args); return true; } else return false; }, macro: function(e,changeList) { var macro e.getAttribute(macroName); var params e.getAttribute(params); if(macro) macro config.macrosmacro; if(macro && macro.refresh) macro.refresh(e,params); return true; }};config.refresherData { styleSheet: StyleSheet, defaultStyleSheet: StyleSheet, pageTemplate: PageTemplate, defaultPageTemplate: PageTemplate, colorPalette: ColorPalette, defaultColorPalette: ColorPalette};function refreshElements(root,changeList){ var c,nodes root.childNodes; for(c0; cnodes.length; c++) { var e nodesc, type null; if(e.getAttribute && (e.tagName ? e.tagName ! IFRAME : true)) type e.getAttribute(refresh); var refresher config.refresherstype; var refreshed false; if(refresher ! undefined) refreshed refresher(e,changeList); if(e.hasChildNodes() && !refreshed) refreshElements(e,changeList); }}function applyHtmlMacros(root,tiddler){ var e root.firstChild; while(e) { var nextChild e.nextSibling; if(e.getAttribute) { var macro e.getAttribute(macro); if(macro) { e.removeAttribute(macro); var params ; var p macro.indexOf( ); if(p ! -1) { params macro.substr(p+1); macro macro.substr(0,p); } invokeMacro(e,macro,params,null,tiddler); } } if(e.hasChildNodes()) applyHtmlMacros(e,tiddler); e nextChild; }}function refreshPageTemplate(title){ var stash jQuery(div/>).appendTo(body).hide()0; var display story.getContainer(); var nodes,t; if(display) { nodes display.childNodes; for(tnodes.length-1; t>0; t--) stash.appendChild(nodest); } var wrapper document.getElementById(contentWrapper); if(!title || !store.isAvailable(title)) title config.refresherData.pageTemplate; if(!store.isAvailable(title)) title config.refresherData.defaultPageTemplate; //# this one is always avaialable wrapper.innerHTML store.getRecursiveTiddlerText(title,null,10); applyHtmlMacros(wrapper); refreshElements(wrapper); display story.getContainer(); jQuery(display).empty(); if(!display) display createTiddlyElement(wrapper,div,story.containerId()); nodes stash.childNodes; for(tnodes.length-1; t>0; t--) display.appendChild(nodest); jQuery(stash).remove();}function refreshDisplay(hint){ if(typeof hint string) hint hint; var e document.getElementById(contentWrapper); refreshElements(e,hint); if(backstage.isPanelVisible()) { e document.getElementById(backstage); refreshElements(e,hint); }}function refreshPageTitle(){ document.title getPageTitle();}function getPageTitle(){ return wikifyPlainText(store.getTiddlerText(WindowTitle,),null,tiddler);}function refreshStyles(title,doc){ setStylesheet(title null ? : store.getRecursiveTiddlerText(title,,10),title,doc || document);}function refreshColorPalette(title){ if(!startingUp) refreshAll();}function refreshAll(){ refreshPageTemplate(); refreshDisplay(); refreshStyles(StyleSheetLayout); refreshStyles(StyleSheetColors); refreshStyles(config.refresherData.styleSheet); refreshStyles(StyleSheetPrint);}//--//-- Option handling//--config.optionHandlers { txt: { get: function(name) {return encodeCookie(config.optionsname.toString());}, set: function(name,value) {config.optionsname decodeCookie(value);} }, chk: { get: function(name) {return config.optionsname ? true : false;}, set: function(name,value) {config.optionsname value true;} }};function setOption(name,value){ var optType name.substr(0,3); if(config.optionHandlersoptType && config.optionHandlersoptType.set) config.optionHandlersoptType.set(name,value);}// Gets the value of an option as a string. Most code should just read from config.options.* directlyfunction getOption(name){ var optType name.substr(0,3); return config.optionHandlersoptType && config.optionHandlersoptType.get ? config.optionHandlersoptType.get(name) : null;}function loadOptions(){ if(safeMode) return; loadCookies(); loadSystemSettings();}// @Deprecated; retained for backwards compatibilityvar loadOptionsCookie loadOptions;function getCookies(){ var cookieList document.cookie.split(;); var i,cookies {}; for(i0; icookieList.length; i++) { var p cookieListi.indexOf(); if(p ! -1) { var name cookieListi.substr(0,p).trim(); var value cookieListi.substr(p+1).trim(); cookiesname value; } } return cookies;}function loadCookies(){ var i,cookies getCookies(); if(cookiesTiddlyWiki) { cookies cookiesTiddlyWiki.decodeHashMap(); } for(i in cookies) { if(config.optionsSourcei ! setting) { setOption(i,cookiesi); } }}function loadSystemSettings(){ var key,settings store.calcAllSlices(SystemSettings); config.optionsSource {}; for(key in settings) { setOption(key,settingskey); config.optionsSourcekey setting; }}function onSystemSettingsChange(){ if(!startingUp) { loadSystemSettings(); }}function saveOption(name){ if(safeMode) return; if(name.match(/()\s/g, _)) { alert(config.messages.invalidCookie.format(name)); return; } saveCookie(name); if(config.optionsSourcename setting) { saveSystemSetting(name,true); }}// @Deprecated; retained for backwards compatibilityvar saveOptionCookie saveOption;function removeCookie(name){ document.cookie name + ; expiresThu, 01-Jan-1970 00:00:01 UTC; path/;;}function saveCookie(name){ var key,cookies {}; for(key in config.options) { var value getOption(key); value value null ? false : value; cookieskey value; } document.cookie TiddlyWiki + String.encodeHashMap(cookies) + ; expiresFri, 1 Jan 2038 12:00:00 UTC; path/; cookies getCookies(); var c; for(c in cookies) { var optType c.substr(0,3); if(config.optionHandlersoptType) removeCookie(c); }}var systemSettingSave;function commitSystemSettings(storeWasDirty){ if(systemSettingSave) { window.clearTimeout(systemSettingSave); } systemSettingSave window.setTimeout(function() { var tiddler store.getTiddler(SystemSettings); autoSaveChanges(null,tiddler); }, 1000);}function saveSystemSetting(name,saveFile){ var title SystemSettings; var slice store.getTiddlerSlice(title,name); if(readOnly || slice getOption(name)) { return; //# dont save if read-only or the option hasnt changed } var slices store.calcAllSlices(title); var key; for(key in config.optionsSource) { var value getOption(key) || ; if(sliceskey ! value) { sliceskey value; } } var text ; for(key in slices) { text.push(%0: %1.format(key,sliceskey)); } text text.sort().join(\n); var storeWasDirty store.isDirty(); var tiddler store.getTiddler(title); if(tiddler) { tiddler.text text; tiddler store.saveTiddler(tiddler); } else { tiddler store.saveTiddler(title,title,text,System,new Date(),excludeLists,config.defaultCustomFields); } if(saveFile) { commitSystemSettings(storeWasDirty); }}function encodeCookie(s){ return escape(convertUnicodeToHtmlEntities(s));}function decodeCookie(s){ s unescape(s); var re /-9{1,5};/g; return s.replace(re,function($0) {return String.fromCharCode(eval($0.replace(//g,)));});}config.macros.option.genericCreate function(place,type,opt,className,desc){ var typeInfo config.macros.option.typestype; var c document.createElement(typeInfo.elementType); if(typeInfo.typeValue) c.setAttribute(type,typeInfo.typeValue); ctypeInfo.eventName typeInfo.onChange; c.setAttribute(option,opt); c.className className || typeInfo.className; if(config.optionsDescopt) c.setAttribute(title,config.optionsDescopt); place.appendChild(c); if(desc ! no) createTiddlyText(place,config.optionsDescopt || opt); ctypeInfo.valueField config.optionsopt; return c;};config.macros.option.genericOnChange function(e){ var opt this.getAttribute(option); if(opt) { var optType opt.substr(0,3); var handler config.macros.option.typesoptType; if(handler.elementType && handler.valueField) config.macros.option.propagateOption(opt,handler.valueField,thishandler.valueField,handler.elementType,this); } return true;};config.macros.option.types { txt: { elementType: input, valueField: value, eventName: onchange, className: txtOptionInput, create: config.macros.option.genericCreate, onChange: config.macros.option.genericOnChange }, chk: { elementType: input, valueField: checked, eventName: onclick, className: chkOptionInput, typeValue: checkbox, create: config.macros.option.genericCreate, onChange: config.macros.option.genericOnChange }};config.macros.option.propagateOption function(opt,valueField,value,elementType,elem){ config.optionsopt value; saveOption(opt); var t,nodes document.getElementsByTagName(elementType); for(t0; tnodes.length; t++) { var optNode nodest.getAttribute(option); if(opt optNode && nodest!elem) nodestvalueField value; }};config.macros.option.handler function(place,macroName,params,wikifier,paramString){ params paramString.parseParams(anon,null,true,false,false); var opt (params1 && params1.name anon) ? params1.value : getParam(params,name,null); var className (params2 && params2.name anon) ? params2.value : getParam(params,class,null); var desc getParam(params,desc,no); var type opt.substr(0,3); var h config.macros.option.typestype; if(h && h.create) h.create(place,type,opt,className,desc);};config.macros.options.handler function(place,macroName,params,wikifier,paramString){ params paramString.parseParams(anon,null,true,false,false); var showUnknown getParam(params,showUnknown,no); var wizard new Wizard(); wizard.createWizard(place,this.wizardTitle); wizard.addStep(this.step1Title,this.step1Html); var markList wizard.getElement(markList); var chkUnknown wizard.getElement(chkUnknown); chkUnknown.checked showUnknown yes; chkUnknown.onchange this.onChangeUnknown; var listWrapper document.createElement(div); markList.parentNode.insertBefore(listWrapper,markList); wizard.setValue(listWrapper,listWrapper); this.refreshOptions(listWrapper,showUnknown yes);};config.macros.options.refreshOptions function(listWrapper,showUnknown){ var n,opts ; for(n in config.options) { var opt {}; opt.option ; opt.name n; opt.lowlight !config.optionsDescn; opt.description opt.lowlight ? this.unknownDescription : config.optionsDescn; if(!opt.lowlight || showUnknown) opts.push(opt); } opts.sort(function(a,b) {return a.name.substr(3) b.name.substr(3) ? -1 : (a.name.substr(3) b.name.substr(3) ? 0 : +1);}); ListView.create(listWrapper,opts,this.listViewTemplate); for(n0; nopts.length; n++) { var type optsn.name.substr(0,3); var h config.macros.option.typestype; if(h && h.create) { h.create(optsn.colElementsoption,type,optsn.name,null,no); } }};config.macros.options.onChangeUnknown function(e){ var wizard new Wizard(this); var listWrapper wizard.getValue(listWrapper); jQuery(listWrapper).empty(); config.macros.options.refreshOptions(listWrapper,this.checked); return false;};//--//-- Saving//--var saveUsingSafari false;var startSaveArea div id + storeArea>; // Split up into two so that indexOf() of this source doesnt find itvar startSaveAreaRE /((div)|(DIV)) ((id)|(ID))?storeArea?>/; // Used for IE6var endSaveArea /d + iv>;var endSaveAreaCaps /D + IV>;// If there are unsaved changes, force the user to confirm before exittingfunction confirmExit(){ hadConfirmExit true; if((store && store.isDirty && store.isDirty()) || (story && story.areAnyDirty && story.areAnyDirty())) return config.messages.confirmExit;}// Give the user a chance to save changes before exittingfunction checkUnsavedChanges(){ if(store && store.isDirty && store.isDirty() && window.hadConfirmExit false) { if(confirm(config.messages.unsavedChangesWarning)) saveChanges(); }}function updateLanguageAttribute(s){ if(config.locale) { var mRE /(html(?:.*?)?)(?: xml:lang\(a-z+))?(?: lang\(a-z+))?>/; var m mRE.exec(s); if(m) { var t m1; if(m2) t + xml:lang + config.locale + ; if(m3) t + lang + config.locale + ; t + >; s s.substr(0,m.index) + t + s.substr(m.index+m0.length); } } return s;}function updateMarkupBlock(s,blockName,tiddlerName){ return s.replaceChunk( !--%0-START-->.format(blockName), !--%0-END-->.format(blockName), \n + convertUnicodeToFileFormat(store.getRecursiveTiddlerText(tiddlerName,)) + \n);}function updateOriginal(original,posDiv,localPath){ if(!posDiv) posDiv locateStoreArea(original); if(!posDiv) { alert(config.messages.invalidFileError.format(localPath)); return null; } var revised original.substr(0,posDiv0 + startSaveArea.length) + \n + convertUnicodeToFileFormat(store.allTiddlersAsHtml()) + \n + original.substr(posDiv1); var newSiteTitle convertUnicodeToFileFormat(getPageTitle()).htmlEncode(); revised revised.replaceChunk(title+>,/title+>, + newSiteTitle + ); revised updateLanguageAttribute(revised); revised updateMarkupBlock(revised,PRE-HEAD,MarkupPreHead); revised updateMarkupBlock(revised,POST-HEAD,MarkupPostHead); revised updateMarkupBlock(revised,PRE-BODY,MarkupPreBody); revised updateMarkupBlock(revised,POST-SCRIPT,MarkupPostBody); return revised;}function locateStoreArea(original){ // Locate the storeArea divs if(!original) return null; var posOpeningDiv original.search(startSaveAreaRE); var limitClosingDiv original.indexOf(+!--POST-STOREAREA--+>); if(limitClosingDiv -1) limitClosingDiv original.indexOf(+!--POST-BODY-START--+>); var start limitClosingDiv -1 ? original.length : limitClosingDiv; var posClosingDiv original.lastIndexOf(endSaveArea,start); if(posClosingDiv -1) posClosingDiv original.lastIndexOf(endSaveAreaCaps,start); return (posOpeningDiv ! -1 && posClosingDiv ! -1) ? posOpeningDiv,posClosingDiv : null;}function autoSaveChanges(onlyIfDirty,tiddlers){ if(config.options.chkAutoSave) saveChanges(onlyIfDirty,tiddlers);}function loadOriginal(localPath){ var contentloadFile(localPath); if (!content) contentwindow.originalHTML||recreateOriginal(); return content;}function recreateOriginal(){ // construct doctype var content !DOCTYPE ; var tdocument.doctype; if (!t) content+html else { content+t.name; if (t.publicId) content+ PUBLIC +t.publicId+; else if (t.systemId) content+ SYSTEM +t.systemId+; } content+ http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd; content+>\n; // append current document content content+document.documentElement.outerHTML; contentcontent.replace(/div idsaveTest>savetest\/div>/,div idsaveTest>/div>); contentcontent.replace(/script>applet ^\>*>\/applet>/g,script>); contentcontent.replace(/>head>/,>\nhead>); contentcontent.replace(/\n\n\/body>\/html>$/,/body>\n/html>\n); contentcontent.replace(/((meta) ^\>*^\/)>/g,$1 />); contentcontent.replace(/noscript>^\*\/noscript>/, function(m){return m.replace(/</g,).replace(/>/g,>);}); contentcontent.replace(/div idcopyright>^\*\/div>/, function(m){return m.replace(/\xA9/g,©);}); return content;}// Save this tiddlywiki with the pending changesfunction saveChanges(onlyIfDirty,tiddlers){ if(onlyIfDirty && !store.isDirty()) return; clearMessage(); var t0 new Date(); var msg config.messages; var originalPath document.location.toString(); if(!window.allowSave()) { alert(msg.notFileUrlError); if(store.tiddlerExists(msg.saveInstructions)) story.displayTiddler(null,msg.saveInstructions); return; } var localPath getLocalPath(originalPath); var original loadOriginal(localPath); if(original null) { alert(msg.cantSaveError); if(store.tiddlerExists(msg.saveInstructions)) story.displayTiddler(null,msg.saveInstructions); return; } var posDiv locateStoreArea(original); if(!posDiv) { alert(msg.invalidFileError.format(localPath)); return; } var coconfig.options; //# abbreviation config.saveByDownloadfalse; config.saveByManualDownloadfalse; saveMain(localPath,original,posDiv); if (!config.saveByDownload && !config.saveByManualDownload) { if(co.chkSaveBackups) saveBackup(localPath,original); if(co.chkSaveEmptyTemplate) saveEmpty(localPath,original,posDiv); if(co.chkGenerateAnRssFeed && saveRss instanceof Function) saveRss(localPath); } if(co.chkDisplayInstrumentation) displayMessage(saveChanges + (new Date()-t0) + ms);}function saveMain(localPath,original,posDiv){ var save; try { var revised updateOriginal(original,posDiv,localPath); save saveFile(localPath,revised); } catch (ex) { showException(ex); } if(save) { if (!config.saveByManualDownload) { if (config.saveByDownload) { //# set by HTML5DownloadSaveFile() var link getDataURI(revised); var msg config.messages.mainDownload; } else { var link file:// + localPath; var msg config.messages.mainSaved; } displayMessage(msg,link); } store.setDirty(false); } else { alert(config.messages.mainFailed); }}function saveBackup(localPath,original){ var backupPath getBackupPath(localPath); var backup copyFile(backupPath,localPath); if(!backup) backup saveFile(backupPath,original); if(backup) displayMessage(config.messages.backupSaved,file:// + backupPath); else alert(config.messages.backupFailed);}function saveEmpty(localPath,original,posDiv){ var emptyPath,p; if((p localPath.lastIndexOf(/)) ! -1) emptyPath localPath.substr(0,p) + /; else if((p localPath.lastIndexOf(\\)) ! -1) emptyPath localPath.substr(0,p) + \\; else emptyPath localPath + .; emptyPath + empty.html; var empty original.substr(0,posDiv0 + startSaveArea.length) + original.substr(posDiv1); var emptySave saveFile(emptyPath,empty); if(emptySave) displayMessage(config.messages.emptySaved,file:// + emptyPath); else alert(config.messages.emptyFailed);}// Translate URL to local path Preemptionwindow.getLocalPath window.getLocalPath || function(origPath){ var originalPath convertUriToUTF8(origPath,config.options.txtFileSystemCharSet); // Remove any location or query part of the URL var argPos originalPath.indexOf(?); if(argPos ! -1) originalPath originalPath.substr(0,argPos); var hashPos originalPath.indexOf(#); if(hashPos ! -1) originalPath originalPath.substr(0,hashPos); // Convert file://localhost/ to file:/// if(originalPath.indexOf(file://localhost/) 0) originalPath file:// + originalPath.substr(16); // Convert to a native file format var localPath; if(originalPath.charAt(9) :) // pc local file localPath unescape(originalPath.substr(8)).replace(new RegExp(/,g),\\); else if(originalPath.indexOf(file://///) 0) // FireFox pc network file localPath \\\\ + unescape(originalPath.substr(10)).replace(new RegExp(/,g),\\); else if(originalPath.indexOf(file:///) 0) // mac/unix local file localPath unescape(originalPath.substr(7)); else if(originalPath.indexOf(file:/) 0) // mac/unix local file localPath unescape(originalPath.substr(5)); else // pc network file localPath \\\\ + unescape(originalPath.substr(7)).replace(new RegExp(/,g),\\); return localPath;}function getBackupPath(localPath,title,extension){ var slash \\; var dirPathPos localPath.lastIndexOf(\\); if(dirPathPos -1) { dirPathPos localPath.lastIndexOf(/); slash /; } var backupFolder config.options.txtBackupFolder; if(!backupFolder || backupFolder ) backupFolder .; var backupPath localPath.substr(0,dirPathPos) + slash + backupFolder + localPath.substr(dirPathPos); backupPath backupPath.substr(0,backupPath.lastIndexOf(.)) + .; if(title) backupPath + title.replace(/\\\/\*\?\:> /g,_) + .; backupPath + (new Date()).convertToYYYYMMDDHHMMSSMMM() + . + (extension || html); return backupPath;}//--//-- RSS Saving//--function saveRss(localPath){ var rssPath localPath.substr(0,localPath.lastIndexOf(.)) + .xml; if(saveFile(rssPath,convertUnicodeToFileFormat(generateRss()))) displayMessage(config.messages.rssSaved,file:// + rssPath); else alert(config.messages.rssFailed);}tiddlerToRssItem function(tiddler,uri){ var s title + > + tiddler.title.htmlEncode() + /title + >\n; s + description> + wikifyStatic(tiddler.text,null,tiddler).htmlEncode() + /description>\n; var i; for(i0; itiddler.tags.length; i++) s + category> + tiddler.tagsi + /category>\n; s + link> + uri + # + encodeURIComponent(String.encodeTiddlyLink(tiddler.title)) + /link>\n; s +pubDate> + tiddler.modified.toGMTString() + /pubDate>\n; return s;};function generateRss(){ var s ; var d new Date(); var u store.getTiddlerText(SiteUrl); // Assemble the header s.push( + ?xml version\1.0\? + >); s.push(rss version\2.0\>); s.push(channel>); s.push(title + > + wikifyPlainText(store.getTiddlerText(SiteTitle,),null,tiddler).htmlEncode() + /title + >); if(u) s.push(link> + u.htmlEncode() + /link>); s.push(description> + wikifyPlainText(store.getTiddlerText(SiteSubtitle,),null,tiddler).htmlEncode() + /description>); s.push(language> + config.locale + /language>); s.push(copyright>Copyright + d.getFullYear() + + config.options.txtUserName.htmlEncode() + /copyright>); s.push(pubDate> + d.toGMTString() + /pubDate>); s.push(lastBuildDate> + d.toGMTString() + /lastBuildDate>); s.push(docs>http://blogs.law.harvard.edu/tech/rss/docs>); s.push(generator>TiddlyWiki + formatVersion() + /generator>); // The body var tiddlers store.getTiddlers(modified,excludeLists); var i,n config.numRssItems > tiddlers.length ? 0 : tiddlers.length-config.numRssItems; for(itiddlers.length-1; i>n; i--) { s.push(item>\n + tiddlerToRssItem(tiddlersi,u) + \n/item>); } // And footer s.push(/channel>); s.push(/rss>); // Save it all return s.join(\n);}//--//-- Filesystem code//--// Copy a file in filesystem Preemptionwindow.copyFile window.copyFile || function(dest,source){ return config.browser.isIE ? ieCopyFile(dest,source) : false;}// Save a file in filesystem Preemptionwindow.saveFile window.saveFile || function(fileUrl,content){ var r mozillaSaveFile(fileUrl,content); if(!r) r ieSaveFile(fileUrl,content); if(!r) r javaSaveFile(fileUrl,content); if(!r) r HTML5DownloadSaveFile(fileUrl,content); if(!r) r manualSaveFile(fileUrl,content); return r;}// Load a file from filesystem Preemptionwindow.loadFile window.loadFile || function(fileUrl){ var r mozillaLoadFile(fileUrl); if((r null) || (r false)) r ieLoadFile(fileUrl); if((r null) || (r false)) r javaLoadFile(fileUrl); return r;}function ieCreatePath(path){ try { var fso new ActiveXObject(Scripting.FileSystemObject); } catch(ex) { return null; } var pos path.lastIndexOf(\\); if(pos-1) pos path.lastIndexOf(/); if(pos!-1) path path.substring(0,pos+1); var scan path; var parent fso.GetParentFolderName(path); while(parent && !fso.FolderExists(parent)) { scan.push(parent); parent fso.GetParentFolderName(parent); } for(iscan.length-1;i>0;i--) { if(!fso.FolderExists(scani)) { fso.CreateFolder(scani); } } return true;}// Returns null if it cant do it, false if theres an error, true if it saved OKfunction ieSaveFile(filePath,content){ ieCreatePath(filePath); try { var fso new ActiveXObject(Scripting.FileSystemObject); } catch(ex) { return null; } var file fso.OpenTextFile(filePath,2,-1,0); file.Write(content); file.Close(); return true;}// Returns null if it cant do it, false if theres an error, or a string of the content if successfulfunction ieLoadFile(filePath){ try { var fso new ActiveXObject(Scripting.FileSystemObject); var file fso.OpenTextFile(filePath,1); var content file.ReadAll(); file.Close(); } catch(ex) { return null; } return content;}function ieCopyFile(dest,source){ ieCreatePath(dest); try { var fso new ActiveXObject(Scripting.FileSystemObject); fso.GetFile(source).Copy(dest); } catch(ex) { return false; } return true;}// Returns null if it cant do it, false if theres an error, true if it saved OKfunction mozillaSaveFile(filePath,content){ if(window.Components) { try { netscape.security.PrivilegeManager.enablePrivilege(UniversalXPConnect); var file Components.classes@mozilla.org/file/local;1.createInstance(Components.interfaces.nsILocalFile); file.initWithPath(filePath); if(!file.exists()) file.create(0,0x01B4);// 0x01B4 0664 var out Components.classes@mozilla.org/network/file-output-stream;1.createInstance(Components.interfaces.nsIFileOutputStream); out.init(file,0x22,0x04,null); out.write(content,content.length); out.flush(); out.close(); return true; } catch(ex) { return false; } } return null;}// Returns null if it cant do it, false if theres an error, or a string of the content if successfulfunction mozillaLoadFile(filePath){ if(window.Components) { try { netscape.security.PrivilegeManager.enablePrivilege(UniversalXPConnect); var file Components.classes@mozilla.org/file/local;1.createInstance(Components.interfaces.nsILocalFile); file.initWithPath(filePath); if(!file.exists()) return null; var inputStream Components.classes@mozilla.org/network/file-input-stream;1.createInstance(Components.interfaces.nsIFileInputStream); inputStream.init(file,0x01,0x04,null); var sInputStream Components.classes@mozilla.org/scriptableinputstream;1.createInstance(Components.interfaces.nsIScriptableInputStream); sInputStream.init(inputStream); var contents sInputStream.read(sInputStream.available()); sInputStream.close(); inputStream.close(); return contents; } catch(ex) { return false; } } return null;}function javaUrlToFilename(url){ var f //localhost; if(url.indexOf(f) 0) return url.substring(f.length); var i url.indexOf(:); return i > 0 ? url.substring(i-1) : url;}/* * * in between when the applet has been started * and the user has given permission to run the applet * we get an applet object, but it doesnt have the methods * we expect yet. * */var LOG_TIDDLYSAVER true;function logTiddlySaverException(msg, ex) { var applet document.appletsTiddlySaver; console.log(msg + : + ex); if (LOG_TIDDLYSAVER && applet) { try { console.log(msg + : + applet.getLastErrorMsg()); console.log(msg + : + applet.getLastErrorStackTrace()); } catch (ex) {} }}function javaDebugInformation () { var applet document.appletsTiddlySaver; var what Java Version, applet.getJavaVersion, Last Exception, applet.getLastErrorMessage, Last Exception Stack Trace, applet.getLastErrorStackTrace, System Properties, applet.getSystemProperties ; function formatItem (description, method) { try { result String(method.call(applet)); } catch (ex) { result String(ex) } return description + : + result } return jQuery.map(what, function (item) { return formatItem.apply(this, item) }) .join(\n\n)}function javaSaveFile(filePath,content){ var applet document.appletsTiddlySaver; try { if (applet && filePath) return applet.saveFile(javaUrlToFilename(filePath), UTF-8, content); } catch(ex) { logTiddlySaverException(javaSaveFile, ex); } // is this next block working anywhere ? -- grmble try { var s new java.io.PrintStream(new java.io.FileOutputStream(javaUrlToFilename(filePath))); s.print(content); s.close(); } catch(ex2) { return null; } return true;}function javaLoadFile(filePath){ var applet document.appletsTiddlySaver; try { if (applet && filePath) { var ret applet.loadFile(javaUrlToFilename(filePath),UTF-8); if(!ret) return null; return String(ret); } } catch(ex) { logTiddlySaverException(javaLoadFile, ex); } // is this next block working anywhere ? -- grmble var content ; try { var r new java.io.BufferedReader(new java.io.FileReader(javaUrlToFilename(filePath))); var line; while((line r.readLine()) ! null) content.push(String(line)); r.close(); } catch(ex2) { return null; } return content.join(\n);}function HTML5DownloadSaveFile(filePath,content){ if(document.createElement(a).download ! undefined) { config.saveByDownloadtrue; var slashposfilePath.lastIndexOf(/); if (slashpos-1) slashposfilePath.lastIndexOf(\\); var filenamefilePath.substr(slashpos+1); var uri getDataURI(content); var link document.createElement(a); link.setAttribute(target,_blank); link.setAttribute(href,uri); link.setAttribute(download,filename); document.body.appendChild(link); link.click(); document.body.removeChild(link); return true; } return null;}// Returns null if it cant do it, false if theres an error, true if it saved OKfunction manualSaveFile(filePath,content){ // FALLBACK for showing a link to data: URI config.saveByManualDownloadtrue; var slashposfilePath.lastIndexOf(/); if (slashpos-1) slashposfilePath.lastIndexOf(\\); var filenamefilePath.substr(slashpos+1); var uri getDataURI(content); displayMessage(config.messages.mainDownloadManual,uri); return true;}// construct data URI (using base64 encoding to preserve multi-byte encodings)function getDataURI(data) { if (config.browser.isIE) return data:text/html,+encodeURIComponent(data); else return data:text/html;base64,+encodeBase64(data);}function encodeBase64(data) { if (!data) return ; var keyStr ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/; var out ; var chr1,chr2,chr3; var enc1,enc2,enc3,enc4; for (var count0,i0; idata.length; ) { chr1data.charCodeAt(i++); chr2data.charCodeAt(i++); chr3data.charCodeAt(i++); enc1chr1 >> 2; enc2((chr1 & 3) 4) | (chr2 >> 4); enc3((chr2 & 15) 2) | (chr3 >> 6); enc4chr3 & 63; if (isNaN(chr2)) enc3enc464; else if (isNaN(chr3)) enc464; out+keyStr.charAt(enc1)+keyStr.charAt(enc2)+keyStr.charAt(enc3)+keyStr.charAt(enc4); chr1chr2chr3enc1enc2enc3enc4; } return out;}//--//-- Filesystem utilities//--function convertUTF8ToUnicode(u){ return config.browser.isOpera || !window.netscape ? manualConvertUTF8ToUnicode(u) : mozConvertUTF8ToUnicode(u);}function manualConvertUTF8ToUnicode(utf){ var uni utf; var src 0; var dst 0; var b1, b2, b3; var c; while(src utf.length) { b1 utf.charCodeAt(src++); if(b1 0x80) { dst++; } else if(b1 0xE0) { b2 utf.charCodeAt(src++); c String.fromCharCode(((b1 & 0x1F) 6) | (b2 & 0x3F)); uni uni.substring(0,dst++).concat(c,utf.substr(src)); } else { b2 utf.charCodeAt(src++); b3 utf.charCodeAt(src++); c String.fromCharCode(((b1 & 0xF) 12) | ((b2 & 0x3F) 6) | (b3 & 0x3F)); uni uni.substring(0,dst++).concat(c,utf.substr(src)); } } return uni;}function mozConvertUTF8ToUnicode(u){ try { netscape.security.PrivilegeManager.enablePrivilege(UniversalXPConnect); var converter Components.classes@mozilla.org/intl/scriptableunicodeconverter.createInstance(Components.interfaces.nsIScriptableUnicodeConverter); converter.charset UTF-8; } catch(ex) { return manualConvertUTF8ToUnicode(u); } // fallback var s converter.ConvertToUnicode(u); var fin converter.Finish(); return fin.length > 0 ? s+fin : s;}function convertUnicodeToFileFormat(s){ return config.browser.isOpera || !window.netscape ? (config.browser.isIE ? convertUnicodeToHtmlEntities(s) : s) : mozConvertUnicodeToUTF8(s);}function convertUnicodeToHtmlEntities(s){ var re /^\u0000-\u007F/g; return s.replace(re,function($0) {return + $0.charCodeAt(0).toString() + ;;});}function convertUnicodeToUTF8(s){// return convertUnicodeToFileFormat to allow plugin migration return convertUnicodeToFileFormat(s);}function manualConvertUnicodeToUTF8(s){ return unescape(encodeURIComponent(s));}function mozConvertUnicodeToUTF8(s){ try { netscape.security.PrivilegeManager.enablePrivilege(UniversalXPConnect); var converter Components.classes@mozilla.org/intl/scriptableunicodeconverter.createInstance(Components.interfaces.nsIScriptableUnicodeConverter); converter.charset UTF-8; } catch(ex) { return manualConvertUnicodeToUTF8(s); } // fallback var u converter.ConvertFromUnicode(s); var fin converter.Finish(); return fin.length > 0 ? u + fin : u;}function convertUriToUTF8(uri,charSet){ if(window.netscape undefined || charSet undefined || charSet ) return uri; try { netscape.security.PrivilegeManager.enablePrivilege(UniversalXPConnect); var converter Components.classes@mozilla.org/intl/utf8converterservice;1.getService(Components.interfaces.nsIUTF8ConverterService); } catch(ex) { return uri; } return converter.convertURISpecToUTF8(uri,charSet);}//--//-- Server adaptor base class//--function AdaptorBase(){ this.host null; this.store null; return this;}AdaptorBase.prototype.close function(){ return true;};AdaptorBase.prototype.fullHostName function(host){ if(!host) return ; host host.trim(); if(!host.match(/:\/\//)) host http:// + host; if(host.substr(host.length-1) /) host host.substr(0,host.length-1); return host;};AdaptorBase.minHostName function(host){ return host;};AdaptorBase.prototype.setContext function(context,userParams,callback){ if(!context) context {}; context.userParams userParams; if(callback) context.callback callback; context.adaptor this; if(!context.host) context.host this.host; context.host this.fullHostName(context.host); if(!context.workspace) context.workspace this.workspace; return context;};// Open the specified hostAdaptorBase.prototype.openHost function(host,context,userParams,callback){ this.host host; context this.setContext(context,userParams,callback); context.status true; if(callback) window.setTimeout(function() {context.callback(context,userParams);},10); return true;};// Open the specified workspaceAdaptorBase.prototype.openWorkspace function(workspace,context,userParams,callback){ this.workspace workspace; context this.setContext(context,userParams,callback); context.status true; if(callback) window.setTimeout(function() {callback(context,userParams);},10); return true;};//--//-- Server adaptor for talking to static TiddlyWiki files//--function FileAdaptor(){}FileAdaptor.prototype new AdaptorBase();FileAdaptor.serverType file;FileAdaptor.serverLabel TiddlyWiki;FileAdaptor.loadTiddlyWikiSuccess function(context,jqXHR){ context.status true; context.adaptor.store new TiddlyWiki(); if(!context.adaptor.store.importTiddlyWiki(jqXHR.responseText)) { context.statusText config.messages.invalidFileError.format(context.host); context.status false; } context.complete(context,context.userParams);};FileAdaptor.loadTiddlyWikiError function(context,jqXHR){ context.status false; context.statusText jqXHR.message; context.complete(context,context.userParams);};// Get the list of workspaces on a given serverFileAdaptor.prototype.getWorkspaceList function(context,userParams,callback){ context this.setContext(context,userParams,callback); context.workspaces {title:(default)}; context.status true; if(callback) window.setTimeout(function() {callback(context,userParams);},10); return true;};// Gets the list of tiddlers within a given workspaceFileAdaptor.prototype.getTiddlerList function(context,userParams,callback,filter){ context this.setContext(context,userParams,callback); if(!context.filter) context.filter filter; context.complete FileAdaptor.getTiddlerListComplete; if(this.store) { return context.complete(context,context.userParams); } var options { type:GET, url:context.host, file:context.file, // for HTML5 FileReader processData:false, success:function(data,textStatus,jqXHR) { FileAdaptor.loadTiddlyWikiSuccess(context,jqXHR); }, error:function(jqXHR,textStatus,errorThrown) { context.xhr jqXHR; FileAdaptor.loadTiddlyWikiError(context,jqXHR); } }; return ajaxReq(options);};FileAdaptor.getTiddlerListComplete function(context,userParams){ if(context.status) { if(context.filter) { context.tiddlers context.adaptor.store.filterTiddlers(context.filter); } else { context.tiddlers ; context.adaptor.store.forEachTiddler(function(title,tiddler) {context.tiddlers.push(tiddler);}); } var i; for(i0; icontext.tiddlers.length; i++) { context.tiddlersi.fieldsserver.type FileAdaptor.serverType; context.tiddlersi.fieldsserver.host AdaptorBase.minHostName(context.host); context.tiddlersi.fieldsserver.page.revision context.tiddlersi.modified.convertToYYYYMMDDHHMM(); } context.status true; } if(context.callback) { window.setTimeout(function() {context.callback(context,userParams);},10); } return true;};FileAdaptor.prototype.generateTiddlerInfo function(tiddler){ var info {}; info.uri tiddler.fieldsserver.host + # + tiddler.title; return info;};// Retrieve a tiddler from a given workspace on a given serverFileAdaptor.prototype.getTiddler function(title,context,userParams,callback){ context this.setContext(context,userParams,callback); context.title title; context.complete FileAdaptor.getTiddlerComplete; if(context.adaptor.store) { return context.complete(context,context.userParams); } var options { type:GET, url:context.host, processData:false, success:function(data,textStatus,jqXHR) { FileAdaptor.loadTiddlyWikiSuccess(context,jqXHR); }, error:function(jqXHR,textStatus,errorThrown) { FileAdaptor.loadTiddlyWikiError(context,jqXHR); } }; return ajaxReq(options);};FileAdaptor.getTiddlerComplete function(context,userParams){ var t context.adaptor.store.fetchTiddler(context.title); if(t) { t.fieldsserver.type FileAdaptor.serverType; t.fieldsserver.host AdaptorBase.minHostName(context.host); t.fieldsserver.page.revision t.modified.convertToYYYYMMDDHHMM(); context.tiddler t; context.status true; } else { //# tiddler does not exist in document context.status false; } if(context.allowSynchronous) { context.isSynchronous true; context.callback(context,userParams); } else { window.setTimeout(function() {context.callback(context,userParams);},10); } return true;};FileAdaptor.prototype.close function(){ this.store null;};config.adaptorsFileAdaptor.serverType FileAdaptor;config.defaultAdaptor FileAdaptor.serverType;//--//-- HTTP request code//--function ajaxReq(args){ if (args.file || args.url.startsWith(file)) // LOCAL FILE return localAjax(args); return jQuery.ajax(args);}function localAjax(args){ var successfunction(data) { args.success(data,success,{ responseText:data }); } var failurefunction(who) { args.error({ message:who+: cannot read local file },error,0); } if (args.file) try { // HTML5 FileReader (Chrome, FF20+, Safari, etc.) var readernew FileReader(); reader.onloadfunction(e) { success(e.target.result); } reader.onerrorfunction(e) { failure(FileReader); } reader.readAsText(args.file); return true; } catch (ex) { ; } try { // local file I/O (IE, FF with TiddlyFox, Chrome/Safari with TiddlySaver, etc.) var dataloadFile(getLocalPath(args.url)); if (data) success(data); else failure(loadFile); return true; } catch (ex) { ; } return true;}function httpReq(type,url,callback,params,headers,data,contentType,username,password,allowCache){ var httpSuccess function(xhr) { try { // IE error sometimes returns 1223 when it should be 204 so treat it as success, see #1450 return (!xhr.status && location.protocol file:) || (xhr.status > 200 && xhr.status 300) || xhr.status 304 || xhr.status 1223; } catch(e) {} return false; }; var options { type:type, url:url, processData:false, data:data, cache:!!allowCache, beforeSend: function(xhr) { var i; for(i in headers) xhr.setRequestHeader(i,headersi); } }; if(callback) { options.complete function(xhr,textStatus) { if(httpSuccess(xhr)) callback(true,params,xhr.responseText,url,xhr); else callback(false,params,null,url,xhr); }; } if(contentType) options.contentType contentType; if(username) options.username username; if(password) options.password password; try { if(window.Components && window.netscape && window.netscape.security && document.location.protocol.indexOf(http) -1) window.netscape.security.PrivilegeManager.enablePrivilege(UniversalBrowserRead); } catch (ex) { } return jQuery.ajax(options);}//--//-- TiddlyWiki-specific utility functions//--// Returns TiddlyWiki version stringfunction formatVersion(v){ v v || version; return v.major + . + v.minor + . + v.revision + (v.alpha ? (alpha + v.alpha + ) : ) + (v.beta ? (beta + v.beta + ) : );}function compareVersions(v1,v2){ var x1,x2,i,a major,minor,revision; for(i 0; ia.length; i++) { x1 v1ai || 0; x2 v2ai || 0; if(x1x2) return 1; if(x1>x2) return -1; } x1 v1.beta || 9999; x2 v2.beta || 9999; if(x1x2) return 1; return x1 > x2 ? -1 : 0;}function merge(dst,src,preserveExisting){ var i; for(i in src) { if(!preserveExisting || dsti undefined) dsti srci; } return dst;}// Resolve the target object of an eventfunction resolveTarget(e){ var obj; if(e.target) obj e.target; else if(e.srcElement) obj e.srcElement; if(obj.nodeType 3) // defeat Safari bug obj obj.parentNode; return obj;}// Returns a string containing the description of an exception, optionally prepended by a messagefunction exceptionText(e,message){ var s e.description || e.toString(); return message ? %0:\n%1.format(message,s) : s;}// Displays an alert of an exception description with optional messagefunction showException(e,message){ alert(exceptionText(e,message));}function alertAndThrow(m){ alert(m); throw(m);}function glyph(name){ var g config.glyphs; var b g.currBrowser; if(b null) { b 0; while(b g.browsers.length-1 && !g.browsersb()) b++; g.currBrowser b; } if(!g.codesname) return ; return g.codesnameb;}function createTiddlyText(parent,text){ return parent.appendChild(document.createTextNode(text));}function createTiddlyCheckbox(parent,caption,checked,onChange){ var cb document.createElement(input); cb.setAttribute(type,checkbox); cb.onclick onChange; parent.appendChild(cb); cb.checked checked; cb.className chkOptionInput; if(caption) wikify(caption,parent); return cb;}function createTiddlyElement(parent,element,id,className,text,attribs){ var n,e document.createElement(element); if(className ! null) e.className className; if(id ! null) e.setAttribute(id,id); if(text ! null) e.appendChild(document.createTextNode(text)); if(attribs) { for(n in attribs) { e.setAttribute(n,attribsn); } } if(parent ! null) parent.appendChild(e); return e;}function createTiddlyButton(parent,text,tooltip,action,className,id,accessKey,attribs){ var i,btn document.createElement(a); btn.setAttribute(href,javascript:;); if(action) { btn.onclick action; } if(tooltip) btn.setAttribute(title,tooltip); if(text) btn.appendChild(document.createTextNode(text)); btn.className className || button; if(id) btn.id id; if(attribs) { for(i in attribs) { btn.setAttribute(i,attribsi); } } if(parent) parent.appendChild(btn); if(accessKey) btn.setAttribute(accessKey,accessKey); return btn;}function createExternalLink(place,url,label){ var link document.createElement(a); link.className externalLink; link.href url; var f config.messages.externalLinkTooltip; link.title f ? f.format(url) : url; if(config.options.chkOpenInNewWindow) link.target _blank; place.appendChild(link); if(label) createTiddlyText(link, label); return link;}function getTiddlyLinkInfo(title,currClasses){ var classes currClasses ? currClasses.split( ) : ; classes.pushUnique(tiddlyLink); var tiddler store.fetchTiddler(title); var subTitle; if(tiddler) { subTitle tiddler.getSubtitle(); classes.pushUnique(tiddlyLinkExisting); classes.remove(tiddlyLinkNonExisting); classes.remove(shadow); } else { var f; classes.remove(tiddlyLinkExisting); classes.pushUnique(tiddlyLinkNonExisting); if(store.isShadowTiddler(title)) { f config.messages.shadowedTiddlerToolTip; classes.pushUnique(shadow); } else { f config.messages.undefinedTiddlerToolTip; classes.remove(shadow); } subTitle f ? f.format(title) : ; } if(typeof config.annotationstitlestring) subTitle config.annotationstitle; return {classes: classes.join( ),subTitle: subTitle};}// Event handler for clicking on a tiddly linkfunction onClickTiddlerLink(ev){ var e ev || window.event; var target resolveTarget(e); var link target; var title null; var fields null; var noToggle null; do { title link.getAttribute(tiddlyLink); fields link.getAttribute(tiddlyFields); noToggle link.getAttribute(noToggle); link link.parentNode; } while(title null && link ! null); if(!store.isShadowTiddler(title)) { var f fields ? fields.decodeHashMap() : {}; fields String.encodeHashMap(merge(f,config.defaultCustomFields,true)); } if(title) { var toggling e.metaKey || e.ctrlKey; if(config.options.chkToggleLinks) toggling !toggling; if(noToggle) toggling false; if(store.getTiddler(title)) fields null; story.displayTiddler(target,title,null,true,null,fields,toggling); } clearMessage(); return false;}function createTiddlyLink(place,title,includeText,className,isStatic,linkedFromTiddler,noToggle){ var title jQuery.trim(title); var text includeText ? title : null; var i getTiddlyLinkInfo(title,className); var btn isStatic ? createExternalLink(place,store.getTiddlerText(SiteUrl,null) + # + title) : createTiddlyButton(place,text,i.subTitle,onClickTiddlerLink,i.classes); if(isStatic) btn.className + + className; btn.setAttribute(refresh,link); btn.setAttribute(tiddlyLink,title); if(noToggle) btn.setAttribute(noToggle,true); if(linkedFromTiddler) { var fields linkedFromTiddler.getInheritedFields(); if(fields) btn.setAttribute(tiddlyFields,fields); } return btn;}function refreshTiddlyLink(e,title){ var i getTiddlyLinkInfo(title,e.className); e.className i.classes; e.title i.subTitle;}function createTiddlyDropDown(place,onchange,options,defaultValue){ var sel createTiddlyElement(place,select); sel.onchange onchange; var t; for(t0; toptions.length; t++) { var e createTiddlyElement(sel,option,null,null,optionst.caption); e.value optionst.name; if(optionst.name defaultValue) e.selected true; } return sel;}//--//-- TiddlyWiki-specific popup utility functions//--// Event handler for open all on a tiddler popupfunction onClickTagOpenAll(ev){ var tiddlers store.getTaggedTiddlers(this.getAttribute(tag)); var sortby this.getAttribute(sortby); if(sortby&&sortby.length) { store.sortTiddlers(tiddlers,sortby); } story.displayTiddlers(this,tiddlers); return false;}// Event handler for clicking on a tiddler tagfunction onClickTag(ev){ var e ev || window.event; var popup Popup.create(this); jQuery(popup).addClass(taggedTiddlerList); var tag this.getAttribute(tag); var title this.getAttribute(tiddler); if(popup && tag) { var tagged tag.indexOf()-1 ? store.getTaggedTiddlers(tag) : store.filterTiddlers(tag); var sortby this.getAttribute(sortby); if(sortby&&sortby.length) { store.sortTiddlers(tagged,sortby); } var titles ; var r; for(r0;rtagged.length;r++) { if(taggedr.title ! title) titles.push(taggedr.title); } var lingo config.views.wikified.tag; if(titles.length > 0) { var openAll createTiddlyButton(createTiddlyElement(popup,li),lingo.openAllText.format(tag),lingo.openAllTooltip,onClickTagOpenAll); openAll.setAttribute(tag,tag); openAll.setAttribute(sortby,sortby); createTiddlyElement(createTiddlyElement(popup,li,null,listBreak),div); for(r0; rtitles.length; r++) { createTiddlyLink(createTiddlyElement(popup,li),titlesr,true); } } else { createTiddlyElement(popup,li,null,disabled,lingo.popupNone.format(tag)); } createTiddlyElement(createTiddlyElement(popup,li,null,listBreak),div); var h createTiddlyLink(createTiddlyElement(popup,li),tag,false); createTiddlyText(h,lingo.openTag.format(tag)); } Popup.show(); e.cancelBubble true; if(e.stopPropagation) e.stopPropagation(); return false;}// Create a button for a tag with a popup listing all the tiddlers that it tagsfunction createTagButton(place,tag,excludeTiddler,title,tooltip){ var btn createTiddlyButton(place,title||tag,(tooltip||config.views.wikified.tag.tooltip).format(tag),onClickTag); btn.setAttribute(tag,tag); if(excludeTiddler) btn.setAttribute(tiddler,excludeTiddler); return btn;}function onClickTiddlyPopup(ev){ var e ev || window.event; var tiddler this.tiddler; if(tiddler.text) { var popup Popup.create(this,div,popupTiddler); wikify(tiddler.text,popup,null,tiddler); Popup.show(); } if(e) e.cancelBubble true; if(e && e.stopPropagation) e.stopPropagation(); return false;}function createTiddlyPopup(place,caption,tooltip,tiddler){ if(tiddler.text) { createTiddlyLink(place,caption,true); var btn createTiddlyButton(place,glyph(downArrow),tooltip,onClickTiddlyPopup,tiddlerPopupButton); btn.tiddler tiddler; } else { createTiddlyText(place,caption); }}function onClickError(ev){ var e ev || window.event; var popup Popup.create(this); var lines this.getAttribute(errorText).split(\n); var t; for(t0; tlines.length; t++) createTiddlyElement(popup,li,null,null,linest); Popup.show(); e.cancelBubble true; if(e.stopPropagation) e.stopPropagation(); return false;}function createTiddlyError(place,title,text){ var btn createTiddlyButton(place,title,null,onClickError,errorButton); if(text) btn.setAttribute(errorText,text);}//-//- Animation engine//-function Animator(){ this.running 0; // Incremented at start of each animation, decremented afterwards. If zero, the interval timer is disabled this.timerID 0; // ID of the timer used for animating this.animations ; // List of animations in progress return this;}// Start animation engineAnimator.prototype.startAnimating function() //# Variable number of arguments{ var t; for(t0; targuments.length; t++) this.animations.push(argumentst); if(this.running 0) { var me this; this.timerID window.setInterval(function() {me.doAnimate(me);},10); } this.running + arguments.length;};// Perform an animation engine tick, calling each of the known animation modulesAnimator.prototype.doAnimate function(me){ var a 0; while(a me.animations.length) { var animation me.animationsa; if(animation.tick()) { a++; } else { me.animations.splice(a,1); if(--me.running 0) window.clearInterval(me.timerID); } }};Animator.slowInSlowOut function(progress){ return(1-((Math.cos(progress * Math.PI)+1)/2));};//--//-- Morpher animation//--// Animate a set of properties of an elementfunction Morpher(element,duration,properties,callback){ this.element element; this.duration duration; this.properties properties; this.startTime new Date(); this.endTime Number(this.startTime) + duration; this.callback callback; this.tick(); return this;}Morpher.prototype.assignStyle function(element,style,value){ switch(style) { case -tw-vertScroll: window.scrollTo(findScrollX(),value); break; case -tw-horizScroll: window.scrollTo(value,findScrollY()); break; default: element.stylestyle value; break; }};Morpher.prototype.stop function(){ var t; for(t0; tthis.properties.length; t++) { var p this.propertiest; if(p.atEnd ! undefined) { this.assignStyle(this.element,p.style,p.atEnd); } } if(this.callback) this.callback(this.element,this.properties);};Morpher.prototype.tick function(){ var currTime Number(new Date()); var t,progress Animator.slowInSlowOut(Math.min(1,(currTime-this.startTime)/this.duration)); for(t0; tthis.properties.length; t++) { var p this.propertiest; if(p.start ! undefined && p.end ! undefined) { var template p.template || %0; switch(p.format) { case undefined: case style: var v p.start + (p.end-p.start) * progress; this.assignStyle(this.element,p.style,template.format(v)); break; case color: break; } } } if(currTime > this.endTime) { this.stop(); return false; } return true;};//--//-- Zoomer animation//--function Zoomer(text,startElement,targetElement,unused){ var e createTiddlyElement(document.body,div,null,zoomer); createTiddlyElement(e,div,null,null,text); var winWidth findWindowWidth(); var winHeight findWindowHeight(); var p {style: left, start: findPosX(startElement), end: findPosX(targetElement), template: %0px}, {style: top, start: findPosY(startElement), end: findPosY(targetElement), template: %0px}, {style: width, start: Math.min(startElement.scrollWidth,winWidth), end: Math.min(targetElement.scrollWidth,winWidth), template: %0px, atEnd: auto}, {style: height, start: Math.min(startElement.scrollHeight,winHeight), end: Math.min(targetElement.scrollHeight,winHeight), template: %0px, atEnd: auto}, {style: fontSize, start: 8, end: 24, template: %0pt} ; var c function(element,properties) {jQuery(element).remove();}; return new Morpher(e,config.animDuration,p,c);}//--//-- Scroller animation//--function Scroller(targetElement){ var p {style: -tw-vertScroll, start: findScrollY(), end: ensureVisible(targetElement)}; return new Morpher(targetElement,config.animDuration,p);}//--//-- Slider animation//--// deleteMode - none, all delete target element and its children, only children but not the target elementfunction Slider(element,opening,unused,deleteMode){ element.style.overflow hidden; if(opening) element.style.height 0px; // Resolves a Firefox flashing bug element.style.display block; var height element.scrollHeight; var p ; var c null; if(opening) { p.push({style: height, start: 0, end: height, template: %0px, atEnd: auto}); p.push({style: opacity, start: 0, end: 1, template: %0}); p.push({style: filter, start: 0, end: 100, template: alpha(opacity:%0)}); } else { p.push({style: height, start: height, end: 0, template: %0px}); p.push({style: display, atEnd: none}); p.push({style: opacity, start: 1, end: 0, template: %0}); p.push({style: filter, start: 100, end: 0, template: alpha(opacity:%0)}); switch(deleteMode) { case all: c function(element,properties) {jQuery(element).remove();}; break; case children: c function(element,properties) {jQuery(element).empty();}; break; } } return new Morpher(element,config.animDuration,p,c);}//--//-- Popup menu//--var Popup { stack: // Array of objects with members root: and popup: };Popup.create function(root,elem,className){ var stackPosition this.find(root,popup); Popup.remove(stackPosition+1); var popup createTiddlyElement(document.body,elem || ol,popup,className || popup); popup.stackPosition stackPosition; Popup.stack.push({root: root, popup: popup}); return popup;};Popup.onDocumentClick function(ev){ var e ev || window.event; if(e.eventPhase undefined) Popup.remove(); else if(e.eventPhase Event.BUBBLING_PHASE || e.eventPhase Event.AT_TARGET) Popup.remove(); return true;};Popup.show function(valign,halign,offset){ var curr Popup.stackPopup.stack.length-1; this.place(curr.root,curr.popup,valign,halign,offset); jQuery(curr.root).addClass(highlight); if(config.options.chkAnimate && anim && typeof Scroller function) anim.startAnimating(new Scroller(curr.popup)); else window.scrollTo(0,ensureVisible(curr.popup));};Popup.place function(root,popup,valign,halign,offset){ if(!offset) offset {x:0,y:0}; if(popup.stackPosition > 0 && !valign && !halign) { offset.x offset.x + root.offsetWidth; } else { offset.x (halign right) ? offset.x + root.offsetWidth : offset.x; offset.y (valign top) ? offset.y : offset.y + root.offsetHeight; } var rootLeft findPosX(root); var rootTop findPosY(root); var popupLeft rootLeft + offset.x; var popupTop rootTop + offset.y; var winWidth findWindowWidth(); if(popup.offsetWidth > winWidth*0.75) popup.style.width winWidth*0.75 + px; var popupWidth popup.offsetWidth; var scrollWidth winWidth - document.body.offsetWidth; if(popupLeft + popupWidth > winWidth - scrollWidth - 1) { if(halign right) popupLeft popupLeft - root.offsetWidth - popupWidth; else popupLeft winWidth - popupWidth - scrollWidth - 1; } popup.style.left popupLeft + px; popup.style.top popupTop + px; popup.style.display block;};Popup.find function(e){ var t,pos -1; for(tthis.stack.length-1; t>0; t--) { if(isDescendant(e,this.stackt.popup)) pos t; } return pos;};Popup.remove function(pos){ if(!pos) pos 0; if(Popup.stack.length > pos) { Popup.removeFrom(pos); }};Popup.removeFrom function(from){ var t; for(tPopup.stack.length-1; t>from; t--) { var p Popup.stackt; jQuery(p.root).removeClass(highlight); jQuery(p.popup).remove(); } Popup.stack Popup.stack.slice(0,from);};//--//-- Wizard support//--function Wizard(elem){ if(elem) { this.formElem findRelated(elem,wizard,className); this.bodyElem findRelated(this.formElem.firstChild,wizardBody,className,nextSibling); this.footElem findRelated(this.formElem.firstChild,wizardFooter,className,nextSibling); } else { this.formElem null; this.bodyElem null; this.footElem null; }}Wizard.prototype.setValue function(name,value){ jQuery(this.formElem).data(name, value);};Wizard.prototype.getValue function(name){ return this.formElem ? jQuery(this.formElem).data(name) : null;};Wizard.prototype.createWizard function(place,title){ this.formElem createTiddlyElement(place,form,null,wizard); createTiddlyElement(this.formElem,h1,null,null,title); this.bodyElem createTiddlyElement(this.formElem,div,null,wizardBody); this.footElem createTiddlyElement(this.formElem,div,null,wizardFooter); return this.formElem;};Wizard.prototype.clear function(){ jQuery(this.bodyElem).empty();};Wizard.prototype.setButtons function(buttonInfo,status){ jQuery(this.footElem).empty(); var t; for(t0; tbuttonInfo.length; t++) { createTiddlyButton(this.footElem,buttonInfot.caption,buttonInfot.tooltip,buttonInfot.onClick); insertSpacer(this.footElem); } if(typeof status string) { createTiddlyElement(this.footElem,span,null,status,status); }};Wizard.prototype.addStep function(stepTitle,html){ jQuery(this.bodyElem).empty(); var w createTiddlyElement(this.bodyElem,div); createTiddlyElement(w,h2,null,null,stepTitle); var step createTiddlyElement(w,div,null,wizardStep); step.innerHTML html; applyHtmlMacros(step,tiddler);};Wizard.prototype.getElement function(name){ return this.formElem.elementsname;};//--//-- ListView gadget//--var ListView {};// Create a listviewListView.create function(place,listObject,listTemplate,callback,className){ var table createTiddlyElement(place,table,null,className || listView twtable); var thead createTiddlyElement(table,thead); var t,r createTiddlyElement(thead,tr); for(t0; tlistTemplate.columns.length; t++) { var columnTemplate listTemplate.columnst; var c createTiddlyElement(r,th); var colType ListView.columnTypescolumnTemplate.type; if(colType && colType.createHeader) { colType.createHeader(c,columnTemplate,t); if(columnTemplate.className) jQuery(c).addClass(columnTemplate.className); } } var rc,tbody createTiddlyElement(table,tbody); for(rc0; rclistObject.length; rc++) { var rowObject listObjectrc; r createTiddlyElement(tbody,tr); for(c0; clistTemplate.rowClasses.length; c++) { if(rowObjectlistTemplate.rowClassesc.field) jQuery(r).addClass(listTemplate.rowClassesc.className); } rowObject.rowElement r; rowObject.colElements {}; var cc; for(cc0; cclistTemplate.columns.length; cc++) { c createTiddlyElement(r,td); columnTemplate listTemplate.columnscc; var field columnTemplate.field; colType ListView.columnTypescolumnTemplate.type; if(colType && colType.createItem) { colType.createItem(c,rowObject,field,columnTemplate,cc,rc); if(columnTemplate.className) jQuery(c).addClass(columnTemplate.className); } rowObject.colElementsfield c; } } if(callback && listTemplate.actions) createTiddlyDropDown(place,ListView.getCommandHandler(callback),listTemplate.actions); if(callback && listTemplate.buttons) { for(t0; tlistTemplate.buttons.length; t++) { var a listTemplate.buttonst; if(a && a.name ! ) createTiddlyButton(place,a.caption,null,ListView.getCommandHandler(callback,a.name,a.allowEmptySelection)); } } return table;};ListView.getCommandHandler function(callback,name,allowEmptySelection){ return function(e) { var view findRelated(this,TABLE,null,previousSibling); var tiddlers ; ListView.forEachSelector(view,function(e,rowName) { if(e.checked) tiddlers.push(rowName); }); if(tiddlers.length 0 && !allowEmptySelection) { alert(config.messages.nothingSelected); } else { if(this.nodeName.toLowerCase() select) { callback(view,this.value,tiddlers); this.selectedIndex 0; } else { callback(view,name,tiddlers); } } };};// Invoke a callback for each selector checkbox in the listviewListView.forEachSelector function(view,callback){ var checkboxes view.getElementsByTagName(input); var t,hadOne false; for(t0; tcheckboxes.length; t++) { var cb checkboxest; if(cb.getAttribute(type) checkbox) { var rn cb.getAttribute(rowName); if(rn) { callback(cb,rn); hadOne true; } } } return hadOne;};ListView.getSelectedRows function(view){ var rowNames ; ListView.forEachSelector(view,function(e,rowName) { if(e.checked) rowNames.push(rowName); }); return rowNames;};ListView.columnTypes {};ListView.columnTypes.String { createHeader: function(place,columnTemplate,col) { createTiddlyText(place,columnTemplate.title); }, createItem: function(place,listObject,field,columnTemplate,col,row) { var v listObjectfield; if(v ! undefined) createTiddlyText(place,v); }};ListView.columnTypes.WikiText { createHeader: ListView.columnTypes.String.createHeader, createItem: function(place,listObject,field,columnTemplate,col,row) { var v listObjectfield; if(v ! undefined) wikify(v,place,null,null); }};ListView.columnTypes.Tiddler { createHeader: ListView.columnTypes.String.createHeader, createItem: function(place,listObject,field,columnTemplate,col,row) { var v listObjectfield; if(v ! undefined && v.title) createTiddlyPopup(place,v.title,config.messages.listView.tiddlerTooltip,v); }};ListView.columnTypes.Size { createHeader: ListView.columnTypes.String.createHeader, createItem: function(place,listObject,field,columnTemplate,col,row) { var msg config.messages.sizeTemplates; var v listObjectfield; if(v ! undefined) { var t 0; while(tmsg.length-1 && vmsgt.unit) t++; createTiddlyText(place,msgt.template.format(Math.round(v/msgt.unit))); } }};ListView.columnTypes.Link { createHeader: ListView.columnTypes.String.createHeader, createItem: function(place,listObject,field,columnTemplate,col,row) { var v listObjectfield; var c columnTemplate.text; if(v ! undefined) createExternalLink(place,v,c || v); }};ListView.columnTypes.Date { createHeader: ListView.columnTypes.String.createHeader, createItem: function(place,listObject,field,columnTemplate,col,row) { var v listObjectfield; if(v ! undefined) createTiddlyText(place,v.formatString(columnTemplate.dateFormat)); }};ListView.columnTypes.StringList { createHeader: ListView.columnTypes.String.createHeader, createItem: function(place,listObject,field,columnTemplate,col,row) { var v listObjectfield; if(v ! undefined) { var t; for(t0; tv.length; t++) { createTiddlyText(place,vt); createTiddlyElement(place,br); } } }};ListView.columnTypes.Selector { createHeader: function(place,columnTemplate,col) { createTiddlyCheckbox(place,null,false,this.onHeaderChange); }, createItem: function(place,listObject,field,columnTemplate,col,row) { var e createTiddlyCheckbox(place,null,listObjectfield,null); e.setAttribute(rowName,listObjectcolumnTemplate.rowName); }, onHeaderChange: function(e) { var state this.checked; var view findRelated(this,TABLE); if(!view) return; ListView.forEachSelector(view,function(e,rowName) { e.checked state; }); }};ListView.columnTypes.Tags { createHeader: ListView.columnTypes.String.createHeader, createItem: function(place,listObject,field,columnTemplate,col,row) { var tags listObjectfield; createTiddlyText(place,String.encodeTiddlyLinkList(tags)); }};ListView.columnTypes.Boolean { createHeader: ListView.columnTypes.String.createHeader, createItem: function(place,listObject,field,columnTemplate,col,row) { if(listObjectfield true) createTiddlyText(place,columnTemplate.trueText); if(listObjectfield false) createTiddlyText(place,columnTemplate.falseText); }};ListView.columnTypes.TagCheckbox { createHeader: ListView.columnTypes.String.createHeader, createItem: function(place,listObject,field,columnTemplate,col,row) { var e createTiddlyCheckbox(place,null,listObjectfield,this.onChange); e.setAttribute(tiddler,listObject.title); e.setAttribute(tag,columnTemplate.tag); }, onChange : function(e) { var tag this.getAttribute(tag); var tiddler this.getAttribute(tiddler); store.setTiddlerTag(tiddler,this.checked,tag); }};ListView.columnTypes.TiddlerLink { createHeader: ListView.columnTypes.String.createHeader, createItem: function(place,listObject,field,columnTemplate,col,row) { var v listObjectfield; if(v ! undefined) { var link createTiddlyLink(place,listObjectcolumnTemplate.tiddlerLink,false,null); createTiddlyText(link,listObjectfield); } }};//--//-- Augmented methods for the JavaScript Array() object//--// Add indexOf function if browser does not support itif(!Array.indexOf) {Array.prototype.indexOf function(item,from){ if(!from) from 0; var i; for(ifrom; ithis.length; i++) { if(thisi item) return i; } return -1;};}// Find an entry in a given field of the members of an arrayArray.prototype.findByField function(field,value){ var t; for(t0; tthis.length; t++) { if(thistfield value) return t; } return null;};// Return whether an entry exists in an arrayArray.prototype.contains function(item){ return this.indexOf(item) ! -1;};// Adds, removes or toggles a particular value within an array// value - value to add// mode - +1 to add value, -1 to remove value, 0 to toggle itArray.prototype.setItem function(value,mode){ var p this.indexOf(value); if(mode 0) mode (p -1) ? +1 : -1; if(mode +1) { if(p -1) this.push(value); } else if(mode -1) { if(p ! -1) this.splice(p,1); }};// Return whether one of a list of values exists in an arrayArray.prototype.containsAny function(items){ var i; for(i0; iitems.length; i++) { if(this.indexOf(itemsi) ! -1) return true; } return false;};// Return whether all of a list of values exists in an arrayArray.prototype.containsAll function(items){ var i; for(i 0; iitems.length; i++) { if(this.indexOf(itemsi) -1) return false; } return true;};// Push a new value into an array only if it is not already present in the array. If the optional unique parameter is false, it reverts to a normal pushArray.prototype.pushUnique function(item,unique){ if(unique false) { this.push(item); } else { if(this.indexOf(item) -1) this.push(item); }};Array.prototype.remove function(item){ var p this.indexOf(item); if(p ! -1) this.splice(p,1);};if(!Array.prototype.map) {Array.prototype.map function(fn,thisObj){ var scope thisObj || window; var i,j,a ; for(i0, jthis.length; i j; ++i) { a.push(fn.call(scope,thisi,i,this)); } return a;};}//--//-- Augmented methods for the JavaScript String() object//--// Get characters from the right end of a stringString.prototype.right function(n){ return n this.length ? this.slice(this.length-n) : this;};// Trim whitespace from both ends of a stringString.prototype.trim function(){ return this.replace(/^\s*|\s*$/g,);};// Convert a string from a CSS style property name to a JavaScript style name (background-color -> backgroundColor)String.prototype.unDash function(){ var t,s this.split(-); if(s.length > 1) { for(t1; ts.length; t++) st st.substr(0,1).toUpperCase() + st.substr(1); } return s.join();};// Substitute substrings from an array into a format string that includes %1-type specifiersString.prototype.format function(s){ var substrings s && s.constructor Array ? s : arguments; var subRegExp /(?:%(\d+))/mg; var currPos 0; var match,r ; do { match subRegExp.exec(this); if(match && match1) { if(match.index > currPos) r.push(this.substring(currPos,match.index)); r.push(substringsparseInt(match1,10)); currPos subRegExp.lastIndex; } } while(match); if(currPos this.length) r.push(this.substring(currPos,this.length)); return r.join();};// Escape any special RegExp characters with that character preceded by a backslashString.prototype.escapeRegExp function(){ var s \\^$*+?()!|,{}.; var t,c this; for(t0; ts.length; t++) c c.replace(new RegExp(\\ + s.substr(t,1),g),\\ + s.substr(t,1)); return c;};// Convert \ to \s, newlines to \n (and remove carriage returns)String.prototype.escapeLineBreaks function(){ return this.replace(/\\/mg,\\s).replace(/\n/mg,\\n).replace(/\r/mg,);};// Convert \n to newlines, \b to , \s to \ (and remove carriage returns)String.prototype.unescapeLineBreaks function(){ return this.replace(/\\n/mg,\n).replace(/\\b/mg, ).replace(/\\s/mg,\\).replace(/\r/mg,);};// Convert & to &, to <, > to > and to "String.prototype.htmlEncode function(){ return this.replace(/&/mg,&).replace(//mg,<).replace(/>/mg,>).replace(/\/mg,");};// Convert & to &, < to , > to > and " to String.prototype.htmlDecode function(){ return this.replace(/</mg,).replace(/>/mg,>).replace(/"/mg,\).replace(/&/mg,&);};// Parse a space-separated string of name:value parameters// The result is an array of objects:// result0 object with a member for each parameter name, value of that member being an array of values// result1..n one object for each parameter, with name and value membersString.prototype.parseParams function(defaultName,defaultValue,allowEval,noNames,cascadeDefaults){ var parseToken function(match,p) { var n; if(matchp) // Double quoted n matchp; else if(matchp+1) // Single quoted n matchp+1; else if(matchp+2) // Double-square-bracket quoted n matchp+2; else if(matchp+3) // Double-brace quoted try { n matchp+3; if(allowEval && config.evaluateMacroParameters ! none) { if(config.evaluateMacroParameters restricted) { if(window.restrictedEval) { n window.restrictedEval(n); } } else { n window.eval(n); } } } catch(ex) { throw Unable to evaluate {{ + matchp+3 + }}: + exceptionText(ex); } else if(matchp+4) // Unquoted n matchp+4; else if(matchp+5) // empty quote n ; return n; }; var r {}; var dblQuote (?:\((?:(?:\\\\\)|^\)+)\); var sngQuote (?:((?:(?:\\\\\)|^)+)); var dblSquare (?:\\\\((?:\\s|\\S)*?)\\\\); var dblBrace (?:\\{\\{((?:\\s|\\S)*?)\\}\\}); var unQuoted noNames ? (^\\\s\\S*) : (^\:\\s^\\s:*); var emptyQuote ((?:\\)|(?:)); var skipSpace (?:\\s*); var token (?: + dblQuote + | + sngQuote + | + dblSquare + | + dblBrace + | + unQuoted + | + emptyQuote + ); var re noNames ? new RegExp(token,mg) : new RegExp(skipSpace + token + skipSpace + (?:(\\:) + skipSpace + token + )?,mg); var match; do { match re.exec(this); if(match) { var n parseToken(match,1); if(noNames) { r.push({name:,value:n}); } else { var v parseToken(match,8); if(v null && defaultName) { v n; n defaultName; } else if(v null && defaultValue) { v defaultValue; } r.push({name:n,value:v}); if(cascadeDefaults) { defaultName n; defaultValue v; } } } } while(match); // Summarise parameters into first element var t; for(t1; tr.length; t++) { if(r0rt.name) r0rt.name.push(rt.value); else r0rt.name rt.value; } return r;};// Process a string list of macro parameters into an array. Parameters can be quoted with , ,// , {{ }} or left unquoted (and therefore space-separated). Double-braces {{}} results in// an *evaluated* parameter: e.g. {{config.options.txtUserName}} results in the current users name.String.prototype.readMacroParams function(notAllowEval){ var p this.parseParams(list,null,!notAllowEval,true); var t,n ; for(t1; tp.length; t++) n.push(pt.value); return n;};// Process a string list of unique tiddler names into an array. Tiddler names that have spaces in them must be bracketedString.prototype.readBracketedList function(unique){ var p this.parseParams(list,null,false,true); var t,n ; for(t1; tp.length; t++) { if(pt.value) n.pushUnique(pt.value,unique); } return n;};// Returns array with start and end index of chunk between given start and end marker, or undefined.String.prototype.getChunkRange function(start,end){ var s this.indexOf(start); if(s ! -1) { s + start.length; var e this.indexOf(end,s); if(e ! -1) return s,e; }};// Replace a chunk of a string given start and end markersString.prototype.replaceChunk function(start,end,sub){ var r this.getChunkRange(start,end); return r ? this.substring(0,r0) + sub + this.substring(r1) : this;};// Returns a chunk of a string between start and end markers, or undefinedString.prototype.getChunk function(start,end){ var r this.getChunkRange(start,end); if(r) return this.substring(r0,r1);};// Static method to bracket a string with double square brackets if it contains a spaceString.encodeTiddlyLink function(title){ return title.indexOf( ) -1 ? title : + title + ;};// Static method to encodeTiddlyLink for every item in an array and join them with spacesString.encodeTiddlyLinkList function(list){ if(list) { var t,results ; for(t0; tlist.length; t++) results.push(String.encodeTiddlyLink(listt)); return results.join( ); } else { return ; }};// Convert a string as a sequence of name:value pairs into a hashmapString.prototype.decodeHashMap function(){ var fields this.parseParams(anon,,false); var t,r {}; for(t1; tfields.length; t++) rfieldst.name fieldst.value; return r;};// Static method to encode a hashmap into a name:value... stringString.encodeHashMap function(hashmap){ var t,r ; for(t in hashmap) r.push(t + : + hashmapt + ); return r.join( );};// Static method to left-pad a string with 0s to a certain widthString.zeroPad function(n,d){ var s n.toString(); if(s.length d) s 000000000000000000000000000.substr(0,d-s.length) + s; return s;};String.prototype.startsWith function(prefix){ return !prefix || this.substring(0,prefix.length) prefix;};// Returns the first value of the given named parameter.function getParam(params,name,defaultValue){ if(!params) return defaultValue; var p params0name; return p ? p0 : defaultValue;}// Returns the first value of the given boolean named parameter.function getFlag(params,name,defaultValue){ return !!getParam(params,name,defaultValue);}//--//-- Augmented methods for the JavaScript Date() object//--// Substitute date components into a stringDate.prototype.formatString function(template){ var t template.replace(/0hh12/g,String.zeroPad(this.getHours12(),2)); t t.replace(/hh12/g,this.getHours12()); t t.replace(/0hh/g,String.zeroPad(this.getHours(),2)); t t.replace(/hh/g,this.getHours()); t t.replace(/mmm/g,config.messages.dates.shortMonthsthis.getMonth()); t t.replace(/0mm/g,String.zeroPad(this.getMinutes(),2)); t t.replace(/mm/g,this.getMinutes()); t t.replace(/0ss/g,String.zeroPad(this.getSeconds(),2)); t t.replace(/ss/g,this.getSeconds()); t t.replace(/apm/g,this.getAmPm().toLowerCase()); t t.replace(/APM/g,this.getAmPm().toUpperCase()); t t.replace(/wYYYY/g,this.getYearForWeekNo()); t t.replace(/wYY/g,String.zeroPad(this.getYearForWeekNo()-2000,2)); t t.replace(/YYYY/g,this.getFullYear()); t t.replace(/YY/g,String.zeroPad(this.getFullYear()-2000,2)); t t.replace(/MMM/g,config.messages.dates.monthsthis.getMonth()); t t.replace(/0MM/g,String.zeroPad(this.getMonth()+1,2)); t t.replace(/MM/g,this.getMonth()+1); t t.replace(/0WW/g,String.zeroPad(this.getWeek(),2)); t t.replace(/WW/g,this.getWeek()); t t.replace(/DDD/g,config.messages.dates.daysthis.getDay()); t t.replace(/ddd/g,config.messages.dates.shortDaysthis.getDay()); t t.replace(/0DD/g,String.zeroPad(this.getDate(),2)); t t.replace(/DDth/g,this.getDate()+this.daySuffix()); t t.replace(/DD/g,this.getDate()); var tz this.getTimezoneOffset(); var atz Math.abs(tz); t t.replace(/TZD/g,(tz 0 ? + : -) + String.zeroPad(Math.floor(atz / 60),2) + : + String.zeroPad(atz % 60,2)); t t.replace(/\\/g,); return t;};Date.prototype.getWeek function(){ var dt new Date(this.getTime()); var d dt.getDay(); if(d0) d7;// JavaScript Sun0, ISO Sun7 dt.setTime(dt.getTime()+(4-d)*86400000);// shift day to Thurs of same week to calculate weekNo var n Math.floor((dt.getTime()-new Date(dt.getFullYear(),0,1)+3600000)/86400000); return Math.floor(n/7)+1;};Date.prototype.getYearForWeekNo function(){ var dt new Date(this.getTime()); var d dt.getDay(); if(d0) d7;// JavaScript Sun0, ISO Sun7 dt.setTime(dt.getTime()+(4-d)*86400000);// shift day to Thurs of same week return dt.getFullYear();};Date.prototype.getHours12 function(){ var h this.getHours(); return h > 12 ? h-12 : ( h > 0 ? h : 12 );};Date.prototype.getAmPm function(){ return this.getHours() > 12 ? config.messages.dates.pm : config.messages.dates.am;};Date.prototype.daySuffix function(){ return config.messages.dates.daySuffixesthis.getDate()-1;};// Convert a date to local YYYYMMDDHHMM string formatDate.prototype.convertToLocalYYYYMMDDHHMM function(){ return this.getFullYear() + String.zeroPad(this.getMonth()+1,2) + String.zeroPad(this.getDate(),2) + String.zeroPad(this.getHours(),2) + String.zeroPad(this.getMinutes(),2);};// Convert a date to UTC YYYYMMDDHHMM string formatDate.prototype.convertToYYYYMMDDHHMM function(){ return this.getUTCFullYear() + String.zeroPad(this.getUTCMonth()+1,2) + String.zeroPad(this.getUTCDate(),2) + String.zeroPad(this.getUTCHours(),2) + String.zeroPad(this.getUTCMinutes(),2);};// Convert a date to UTC YYYYMMDD.HHMMSSMMM string formatDate.prototype.convertToYYYYMMDDHHMMSSMMM function(){ return this.getUTCFullYear() + String.zeroPad(this.getUTCMonth()+1,2) + String.zeroPad(this.getUTCDate(),2) + . + String.zeroPad(this.getUTCHours(),2) + String.zeroPad(this.getUTCMinutes(),2) + String.zeroPad(this.getUTCSeconds(),2) + String.zeroPad(this.getUTCMilliseconds(),3) +0;};// Static method to create a date from a UTC YYYYMMDDHHMM format stringDate.convertFromYYYYMMDDHHMM function(d){ d d?d.replace(/^0-9/g, ):; return Date.convertFromYYYYMMDDHHMMSSMMM(d.substr(0,12));};// Static method to create a date from a UTC YYYYMMDDHHMMSS format stringDate.convertFromYYYYMMDDHHMMSS function(d){ d d?d.replace(/^0-9/g, ):; return Date.convertFromYYYYMMDDHHMMSSMMM(d.substr(0,14));};// Static method to create a date from a UTC YYYYMMDDHHMMSSMMM format stringDate.convertFromYYYYMMDDHHMMSSMMM function(d){ d d ? d.replace(/^0-9/g, ) : ; return new Date(Date.UTC(parseInt(d.substr(0,4),10), parseInt(d.substr(4,2),10)-1, parseInt(d.substr(6,2),10), parseInt(d.substr(8,2)||00,10), parseInt(d.substr(10,2)||00,10), parseInt(d.substr(12,2)||00,10), parseInt(d.substr(14,3)||000,10)));};//--//-- RGB colour object//--// Construct an RGB colour object from a #rrggbb, #rgb or rgb(n,n,n) string or from separate r,g,b valuesfunction RGB(r,g,b){ this.r 0; this.g 0; this.b 0; if(typeof r string) { if(r.substr(0,1) #) { if(r.length 7) { this.r parseInt(r.substr(1,2),16)/255; this.g parseInt(r.substr(3,2),16)/255; this.b parseInt(r.substr(5,2),16)/255; } else { this.r parseInt(r.substr(1,1),16)/15; this.g parseInt(r.substr(2,1),16)/15; this.b parseInt(r.substr(3,1),16)/15; } } else { var rgbPattern /rgb\s*\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/; var c r.match(rgbPattern); if(c) { this.r parseInt(c1,10)/255; this.g parseInt(c2,10)/255; this.b parseInt(c3,10)/255; } } } else { this.r r; this.g g; this.b b; } return this;}// Mixes this colour with another in a specified proportion// c other colour to mix// f 0..1 where 0 is this colour and 1 is the new colour// Returns an RGB objectRGB.prototype.mix function(c,f){ return new RGB(this.r + (c.r-this.r) * f,this.g + (c.g-this.g) * f,this.b + (c.b-this.b) * f);};// Return an rgb colour as a #rrggbb format hex stringRGB.prototype.toString function(){ var clamp function(x,min,max) { return x min ? min : (x > max ? max : x); }; return # + (0 + Math.floor(clamp(this.r,0,1) * 255).toString(16)).right(2) + (0 + Math.floor(clamp(this.g,0,1) * 255).toString(16)).right(2) + (0 + Math.floor(clamp(this.b,0,1) * 255).toString(16)).right(2);};//--//-- DOM utilities - many derived from www.quirksmode.org//--function drawGradient(place,horiz,locolors,hicolors){ if(!hicolors) hicolors locolors; var t; for(t0; t 100; t+2) { var bar document.createElement(div); place.appendChild(bar); bar.style.position absolute; bar.style.left horiz ? t + % : 0; bar.style.top horiz ? 0 : t + %; bar.style.width horiz ? (101-t) + % : 100%; bar.style.height horiz ? 100% : (101-t) + %; bar.style.zIndex -1; var p t/100*(locolors.length-1); var hc hicolorsMath.floor(p); if(typeof hc string) hc new RGB(hc); var lc locolorsMath.ceil(p); if(typeof lc string) lc new RGB(lc); bar.style.backgroundColor hc.mix(lc,p-Math.floor(p)).toString(); }}function addEvent(obj,type,fn){ if(obj.attachEvent) { obje+type+fn fn; objtype+fn function(){obje+type+fn(window.event);}; obj.attachEvent(on+type,objtype+fn); } else { obj.addEventListener(type,fn,false); }}function removeEvent(obj,type,fn){ if(obj.detachEvent) { obj.detachEvent(on+type,objtype+fn); objtype+fn null; } else { obj.removeEventListener(type,fn,false); }}// Find the closest relative with a given property value (property defaults to tagName, relative defaults to parentNode)function findRelated(e,value,name,relative){ name name || tagName; relative relative || parentNode; if(name className) { while(e && !jQuery(e).hasClass(value)) { e erelative; } } else { while(e && ename ! value) { e erelative; } } return e;}// Get the scroll position for window.scrollTo necessary to scroll a given element into viewfunction ensureVisible(e){ var posTop findPosY(e); var posBot posTop + e.offsetHeight; var winTop findScrollY(); var winHeight findWindowHeight(); var winBot winTop + winHeight; if(posTop winTop) { return posTop; } else if(posBot > winBot) { if(e.offsetHeight winHeight) return posTop - (winHeight - e.offsetHeight); else return posTop; } else { return winTop; }}// Get the current width of the display windowfunction findWindowWidth(){ return window.innerWidth || document.documentElement.clientWidth;}// Get the current height of the display windowfunction findWindowHeight(){ return window.innerHeight || document.documentElement.clientHeight;}// Get the current height of the documentfunction findDocHeight() { var D document; return Math.max( Math.max(D.body.scrollHeight, D.documentElement.scrollHeight), Math.max(D.body.offsetHeight, D.documentElement.offsetHeight), Math.max(D.body.clientHeight, D.documentElement.clientHeight) );}// Get the current horizontal page scroll positionfunction findScrollX(){ return window.scrollX || document.documentElement.scrollLeft;}// Get the current vertical page scroll positionfunction findScrollY(){ return window.scrollY || document.documentElement.scrollTop;}function findPosX(obj){ var curleft 0; while(obj.offsetParent) { curleft + obj.offsetLeft; obj obj.offsetParent; } return curleft;}function findPosY(obj){ var curtop 0; while(obj.offsetParent) { curtop + obj.offsetTop; obj obj.offsetParent; } return curtop;}// Blur a particular elementfunction blurElement(e){ if(e && e.focus && e.blur) { e.focus(); e.blur(); }}// Create a non-breaking spacefunction insertSpacer(place){ var e document.createTextNode(String.fromCharCode(160)); if(place) place.appendChild(e); return e;}// Replace the current selection of a textarea or text input and scroll it into viewfunction replaceSelection(e,text){ if(e.setSelectionRange) { var oldpos e.selectionStart; var isRange e.selectionEnd > e.selectionStart; e.value e.value.substr(0,e.selectionStart) + text + e.value.substr(e.selectionEnd); e.setSelectionRange(isRange ? oldpos : oldpos + text.length,oldpos + text.length); var linecount e.value.split(\n).length; var thisline e.value.substr(0,e.selectionStart).split(\n).length-1; e.scrollTop Math.floor((thisline - e.rows / 2) * e.scrollHeight / linecount); } else if(document.selection) { var range document.selection.createRange(); if(range.parentElement() e) { var isCollapsed range.text ; range.text text; if(!isCollapsed) { range.moveStart(character, -text.length); range.select(); } } }}// Set the caret position in a text areafunction setCaretPosition(e,pos){ if(e.selectionStart || e.selectionStart 0) { e.selectionStart pos; e.selectionEnd pos; e.focus(); } else if(document.selection) { // IE support e.focus (); var sel document.selection.createRange(); sel.moveStart(character, -e.value.length); sel.moveStart(character,pos); sel.moveEnd(character,0); sel.select(); }}// Returns the text of the given (text) node, possibly merging subsequent text nodesfunction getNodeText(e){ var t ; while(e && e.nodeName #text) { t + e.nodeValue; e e.nextSibling; } return t;}// Returns true if the element e has a given ancestor elementfunction isDescendant(e,ancestor){ while(e) { if(e ancestor) return true; e e.parentNode; } return false;}// deprecate the following...// Prevent an event from bubblingfunction stopEvent(e){ var ev e || window.event; ev.cancelBubble true; if(ev.stopPropagation) ev.stopPropagation(); return false;}// Remove any event handlers or non-primitve custom attributesfunction scrubNode(e){ if(!config.browser.isIE) return; var att e.attributes; if(att) { var t; for(t0; tatt.length; t++) { var n attt.name; if(n ! style && (typeof en function || (typeof en object && en ! null))) { try { en null; } catch(ex) { } } } } var c e.firstChild; while(c) { scrubNode(c); c c.nextSibling; }}function setStylesheet(s,id,doc){ jQuery.twStylesheet(s,{id:id,doc:doc});}function removeStyleSheet(id){ jQuery.twStylesheet.remove({id:id});}//--//-- LoaderBase and SaverBase//--function LoaderBase() {}LoaderBase.prototype.loadTiddler function(store,node,tiddlers){ var title this.getTitle(store,node); if(safeMode && store.isShadowTiddler(title)) return; if(title) { var tiddler store.createTiddler(title); this.internalizeTiddler(store,tiddler,title,node); tiddlers.push(tiddler); }};LoaderBase.prototype.loadTiddlers function(store,nodes){ var t,tiddlers ; for(t 0; t nodes.length; t++) { try { this.loadTiddler(store,nodest,tiddlers); } catch(ex) { showException(ex,config.messages.tiddlerLoadError.format(this.getTitle(store,nodest))); } } return tiddlers;};function SaverBase() {}SaverBase.prototype.externalize function(store){ var results ; var t,tiddlers store.getTiddlers(title); for(t 0; t tiddlers.length; t++) { if(!tiddlerst.doNotSave()) results.push(this.externalizeTiddler(store, tiddlerst)); } return results.join(\n);};//--//-- TW21Loader (inherits from LoaderBase)//--function TW21Loader() {}TW21Loader.prototype new LoaderBase();TW21Loader.prototype.getTitle function(store,node){ var title null; if(node.getAttribute) { title node.getAttribute(title); if(!title) title node.getAttribute(tiddler); } if(!title && node.id) { var lenPrefix store.idPrefix.length; if(node.id.substr(0,lenPrefix) store.idPrefix) title node.id.substr(lenPrefix); } return title;};TW21Loader.prototype.internalizeTiddler function(store,tiddler,title,node){ var e node.firstChild; var text null; if(node.getAttribute(tiddler)) { text getNodeText(e).unescapeLineBreaks(); } else { while(e.nodeName!PRE && e.nodeName!pre) { e e.nextSibling; } text e.innerHTML.replace(/\r/mg,).htmlDecode(); } var creator node.getAttribute(creator); var modifier node.getAttribute(modifier); var c node.getAttribute(created); var m node.getAttribute(modified); var created c ? Date.convertFromYYYYMMDDHHMMSS(c) : version.date; var modified m ? Date.convertFromYYYYMMDDHHMMSS(m) : created; var tags node.getAttribute(tags); var fields {}; var i,attrs node.attributes; for(i attrs.length-1; i > 0; i--) { var name attrsi.name; if(attrsi.specified && !TiddlyWiki.isStandardField(name)) { fieldsname attrsi.value.unescapeLineBreaks(); } } tiddler.assign(title,text,modifier,modified,tags,created,fields,creator); return tiddler;};//--//-- TW21Saver (inherits from SaverBase)//--function TW21Saver() {}TW21Saver.prototype new SaverBase();TW21Saver.prototype.externalizeTiddler function(store,tiddler){ try { var extendedAttributes ; var usePre config.options.chkUsePreForStorage; store.forEachField(tiddler, function(tiddler,fieldName,value) { // dont store stuff from the temp namespace if(typeof value ! string) value ; if(!fieldName.match(/^temp\./)) extendedAttributes + %0%1.format(fieldName,value.escapeLineBreaks().htmlEncode()); },true); var created tiddler.created; var modified tiddler.modified; var attributes tiddler.creator ? creator + tiddler.creator.htmlEncode() + : ; attributes + tiddler.modifier ? modifier + tiddler.modifier.htmlEncode() + : ; attributes + (usePre && created version.date) ? : created + created.convertToYYYYMMDDHHMM() + ; attributes + (usePre && modified created) ? : modified + modified.convertToYYYYMMDDHHMM() +; var tags tiddler.getTags(); if(!usePre || tags) attributes + tags + tags.htmlEncode() + ; return (div %0%1%2%3>%4/+div>).format( usePre ? title : tiddler, tiddler.title.htmlEncode(), attributes, extendedAttributes, usePre ? \npre> + tiddler.text.htmlEncode() + /pre>\n : tiddler.text.escapeLineBreaks().htmlEncode() ); } catch (ex) { throw exceptionText(ex,config.messages.tiddlerSaveError.format(tiddler.title)); }};//>/script>script idjsdeprecatedArea typetext/javascript>//!CDATA//--//-- Deprecated Crypto functions and associated conversion routines.//-- Use the jQuery.encoding functions directly instead.//--// Crypto namespacefunction Crypto() {}// Convert a string to an array of big-endian 32-bit wordsCrypto.strToBe32s function(str){ return jQuery.encoding.strToBe32s(str);};// Convert an array of big-endian 32-bit words to a stringCrypto.be32sToStr function(be){ return jQuery.encoding.be32sToStr(be);};// Convert an array of big-endian 32-bit words to a hex stringCrypto.be32sToHex function(be){ return jQuery.encoding.be32sToHex(be);};// Return, in hex, the SHA-1 hash of a stringCrypto.hexSha1Str function(str){ return jQuery.encoding.digests.hexSha1Str(str);};// Return the SHA-1 hash of a stringCrypto.sha1Str function(str){ return jQuery.encoding.digests.sha1Str(str);};// Calculate the SHA-1 hash of an array of blen bytes of big-endian 32-bit wordsCrypto.sha1 function(x,blen){ return jQuery.encoding.digests.sha1(x,blen);};//--//-- Deprecated code//--// @Deprecated: Use createElementAndWikify and this.termRegExp insteadconfig.formatterHelpers.charFormatHelper function(w){ w.subWikify(createTiddlyElement(w.output,this.element),this.terminator);};// @Deprecated: Use enclosedTextHelper and this.lookaheadRegExp insteadconfig.formatterHelpers.monospacedByLineHelper function(w){ var lookaheadRegExp new RegExp(this.lookahead,mg); lookaheadRegExp.lastIndex w.matchStart; var lookaheadMatch lookaheadRegExp.exec(w.source); if(lookaheadMatch && lookaheadMatch.index w.matchStart) { var text lookaheadMatch1; if(config.browser.isIE) text text.replace(/\n/g,\r); createTiddlyElement(w.output,pre,null,null,text); w.nextMatch lookaheadRegExp.lastIndex; }};// @Deprecated: Use br> or br /> instead of br>>config.macros.br {};config.macros.br.handler function(place){ createTiddlyElement(place,br);};// Find an entry in an array. Returns the array index or null// @Deprecated: Use indexOf insteadArray.prototype.find function(item){ var i this.indexOf(item); return i -1 ? null : i;};// Load a tiddler from an HTML DIV. The caller should make sure to later call Tiddler.changed()// @Deprecated: Use store.getLoader().internalizeTiddler insteadTiddler.prototype.loadFromDiv function(divRef,title){ return store.getLoader().internalizeTiddler(store,this,title,divRef);};// Format the text for storage in an HTML DIV// @Deprecated Use store.getSaver().externalizeTiddler instead.Tiddler.prototype.saveToDiv function(){ return store.getSaver().externalizeTiddler(store,this);};// @Deprecated: Use store.allTiddlersAsHtml() insteadfunction allTiddlersAsHtml(){ return store.allTiddlersAsHtml();}// @Deprecated: Use refreshPageTemplate insteadfunction applyPageTemplate(title){ refreshPageTemplate(title);}// @Deprecated: Use story.displayTiddlers insteadfunction displayTiddlers(srcElement,titles,template,unused1,unused2,animate,unused3){ story.displayTiddlers(srcElement,titles,template,animate);}// @Deprecated: Use story.displayTiddler insteadfunction displayTiddler(srcElement,title,template,unused1,unused2,animate,unused3){ story.displayTiddler(srcElement,title,template,animate);}// @Deprecated: Use functions on right hand side directly insteadvar createTiddlerPopup Popup.create;var scrollToTiddlerPopup Popup.show;var hideTiddlerPopup Popup.remove;// @Deprecated: Use right hand side directly insteadvar regexpBackSlashEn new RegExp(\\\\n,mg);var regexpBackSlash new RegExp(\\\\,mg);var regexpBackSlashEss new RegExp(\\\\s,mg);var regexpNewLine new RegExp(\n,mg);var regexpCarriageReturn new RegExp(\r,mg);//--//-- Deprecated FileAdaptor functions//--FileAdaptor.loadTiddlyWikiCallback function(status,context,responseText,url,xhr){ context.status status; if(!status) { context.statusText Error reading file; } else { context.adaptor.store new TiddlyWiki(); if(!context.adaptor.store.importTiddlyWiki(responseText)) { context.statusText config.messages.invalidFileError.format(url); context.status false; } } context.complete(context,context.userParams);};//--//-- Deprecated HTTP request code//-- Use the jQuery ajax functions directly instead//--function loadRemoteFile(url,callback,params){ return httpReq(GET,url,callback,params);}function doHttp(type,url,data,contentType,username,password,callback,params,headers,allowCache){ return httpReq(type,url,callback,params,headers,data,contentType,username,password,allowCache);}//--//-- Deprecated String functions//--// @Deprecated: no direct replacement, since not used in core codeString.prototype.toJSONString function(){ // Convert a string to its JSON representation by encoding control characters, double quotes and backslash. See json.org var m { \b: \\b, \f: \\f, \n: \\n, \r: \\r, \t: \\t, : \\, \\: \\\\ }; var replaceFn function(a,b) { var c mb; if(c) return c; c b.charCodeAt(); return \\u00 + Math.floor(c / 16).toString(16) + (c % 16).toString(16); }; if(/\\\x00-\x1f/.test(this)) return + this.replace(/(\x00-\x1f\\)/g,replaceFn) + ; return + this + ;};//--//-- Deprecated Tiddler code//--// @Deprecated: Use tiddlerToRssItem(tiddler,uri) insteadTiddler.prototype.toRssItem function(uri){ return tiddlerToRssItem(this,uri);};// @Deprecated: Use item>\n + tiddlerToRssItem(tiddler,uri) + \n/item> insteadTiddler.prototype.saveToRss function(uri){ return item>\n + tiddlerToRssItem(this,uri) + \n/item>;};// @Deprecated: Use jQuery.encoding.digests.hexSha1Str insteadTiddler.prototype.generateFingerprint function(){ return 0x + Crypto.hexSha1Str(this.text);};//--//-- Deprecated Number functions//--// @Deprecated: no direct replacement, since not used in core code// Clamp a number to a rangeNumber.prototype.clamp function(min,max){ var c this; if(c min) c min; if(c > max) c max; return Number(c);};//--//-- Deprecated utility functions//-- Use the jQuery functions directly instead//--// Remove all children of a nodefunction removeChildren(e){ jQuery(e).empty();}// Remove a node and all its childrenfunction removeNode(e){ jQuery(e).remove();}// Return the content of an element as plain text with no formattingfunction getPlainText(e){ return jQuery(e).text();}function addClass(e,className){ jQuery(e).addClass(className);}function removeClass(e,className){ jQuery(e).removeClass(className);}function hasClass(e,className){ return jQuery(e).hasClass(className);}//--//-- Deprecated Wikifier code//--function wikifyPlain(title,theStore,limit){ if(!theStore) theStore store; if(theStore.tiddlerExists(title) || theStore.isShadowTiddler(title)) { return wikifyPlainText(theStore.getTiddlerText(title),limit,tiddler); } else { return ; }}//>/script>script idjslibArea typetext/javascript>//!CDATA/*! jQuery v1.8.3 jquery.com | jquery.org/license */(function(e,t){function _(e){var tMe{};return v.each(e.split(y),function(e,n){tn!0}),t}function H(e,n,r){if(rt&&e.nodeType1){var idata-+n.replace(P,-$1).toLowerCase();re.getAttribute(i);if(typeof rstring){try{rrtrue?!0:rfalse?!1:rnull?null:+r+r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else rt}return r}function B(e){var t;for(t in e){if(tdata&&v.isEmptyObject(et))continue;if(t!toJSON)return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType11}function at(e,t){do eet;while(e&&e.nodeType!1);return e}function ft(e,t,n){tt||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i!!t.call(e,r,e);return in});if(t.nodeType)return v.grep(e,function(e,r){return etn});if(typeof tstring){var rv.grep(e,function(e){return e.nodeType1});if(it.test(t))return v.filter(t,r,!n);tv.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>0n})}function lt(e){var tct.split(|),ne.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)0||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!1||!v.hasData(e))return;var n,r,i,sv._data(e),ov._data(t,s),us.events;if(u){delete o.handle,o.events{};for(n in u)for(r0,iun.length;ri;r++)v.event.add(t,n,unr)}o.data&&(o.datav.extend({},o.data))}function Ot(e,t){var n;if(t.nodeType!1)return;t.clearAttributes&&t.clearAttributes(),t.mergeAttributes&&t.mergeAttributes(e),nt.nodeName.toLowerCase(),nobject?(t.parentNode&&(t.outerHTMLe.outerHTML),v.support.html5Clone&&e.innerHTML&&!v.trim(t.innerHTML)&&(t.innerHTMLe.innerHTML)):ninput&&Et.test(e.type)?(t.defaultCheckedt.checkede.checked,t.value!e.value&&(t.valuee.value)):noption?t.selectede.defaultSelected:ninput||ntextarea?t.defaultValuee.defaultValue:nscript&&t.text!e.text&&(t.texte.text),t.removeAttribute(v.expando)}function Mt(e){return typeof e.getElementsByTagName!undefined?e.getElementsByTagName(*):typeof e.querySelectorAll!undefined?e.querySelectorAll(*):}function _t(e){Et.test(e.type)&&(e.defaultCheckede.checked)}function Qt(e,t){if(t in e)return t;var nt.charAt(0).toUpperCase()+t.slice(1),rt,iJt.length;while(i--){tJti+n;if(t in e)return t}return r}function Gt(e,t){return et||e,v.css(e,display)none||!v.contains(e.ownerDocument,e)}function Yt(e,t){var n,r,i,s0,oe.length;for(;so;s++){nes;if(!n.style)continue;isv._data(n,olddisplay),t?(!is&&n.style.displaynone&&(n.style.display),n.style.display&&Gt(n)&&(isv._data(n,olddisplay,nn(n.nodeName)))):(rDt(n,display),!is&&r!none&&v._data(n,olddisplay,r))}for(s0;so;s++){nes;if(!n.style)continue;if(!t||n.style.displaynone||n.style.display)n.style.displayt?is||:none}return e}function Zt(e,t,n){var rRt.exec(t);return r?Math.max(0,r1-(n||0))+(r2||px):t}function en(e,t,n,r){var in(r?border:content)?4:twidth?1:0,s0;for(;i4;i+2)nmargin&&(s+v.css(e,n+$ti,!0)),r?(ncontent&&(s-parseFloat(Dt(e,padding+$ti))||0),n!margin&&(s-parseFloat(Dt(e,border+$ti+Width))||0)):(s+parseFloat(Dt(e,padding+$ti))||0,n!padding&&(s+parseFloat(Dt(e,border+$ti+Width))||0));return s}function tn(e,t,n){var rtwidth?e.offsetWidth:e.offsetHeight,i!0,sv.support.boxSizing&&v.css(e,boxSizing)border-box;if(r0||rnull){rDt(e,t);if(r0||rnull)re.stylet;if(Ut.test(r))return r;is&&(v.support.boxSizingReliable||re.stylet),rparseFloat(r)||0}return r+en(e,t,n||(s?border:content),i)+px}function nn(e){if(Wte)return Wte;var tv(+e+>).appendTo(i.body),nt.css(display);t.remove();if(nnone||n){Pti.body.appendChild(Pt||v.extend(i.createElement(iframe),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht(Pt.contentWindow||Pt.contentDocument).document,Ht.write(!doctype html>html>body>),Ht.close();tHt.body.appendChild(Ht.createElement(e)),nDt(t,display),i.body.removeChild(Pt)}return Wten,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e++(typeof iobject?t:)+,i,n,r)});else if(!n&&v.type(t)object)for(i in t)fn(e++i+,ti,n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!string&&(nt,t*);var r,i,s,ot.toLowerCase().split(y),u0,ao.length;if(v.isFunction(n))for(;ua;u++)rou,s/^\+/.test(r),s&&(rr.substr(1)||*),ierer||,is?unshift:push(n)}}function kn(e,n,r,i,s,o){ss||n.dataTypes0,oo||{},os!0;var u,aes,f0,la?a.length:0,ceSn;for(;fl&&(c||!u);f++)uaf(n,r,i),typeof ustring&&(!c||ou?ut:(n.dataTypes.unshift(u),ukn(e,n,r,i,u,o)));return(c||!u)&&!o*&&(ukn(e,n,r,i,*,o)),u}function Ln(e,n){var r,i,sv.ajaxSettings.flatOptions||{};for(r in n)nr!t&&((sr?e:i||(i{}))rnr);i&&v.extend(!0,e,i)}function An(e,n,r){var i,s,o,u,ae.contents,fe.dataTypes,le.responseFields;for(s in l)s in r&&(nlsrs);while(f0*)f.shift(),it&&(ie.mimeType||n.getResponseHeader(content-type));if(i)for(s in a)if(as&&as.test(i)){f.unshift(s);break}if(f0in r)of0;else{for(s in r){if(!f0||e.converterss+ +f0){os;break}u||(us)}oo||u}if(o)return o!f0&&f.unshift(o),ro}function On(e,t){var n,r,i,s,oe.dataTypes.slice(),uo0,a{},f0;e.dataFilter&&(te.dataFilter(t,e.dataType));if(o1)for(n in e.converters)an.toLowerCase()e.convertersn;for(;io++f;)if(i!*){if(u!*&&u!i){nau+ +i||a* +i;if(!n)for(r in a){sr.split( );if(s1i){nau+ +s0||a* +s0;if(n){n!0?nar:ar!!0&&(is0,o.splice(f--,0,i));break}}}if(n!!0)if(n&ðrows)tn(t);else try{tn(t)}catch(l){return{state:parsererror,error:n?l:No conversion from +u+ to +i}}}ui}return{state:success,data:t}}function Fn(){try{return new e.XMLHttpRequest}catch(t){}}function In(){try{return new e.ActiveXObject(Microsoft.XMLHTTP)}catch(t){}}function $n(){return setTimeout(function(){qnt},0),qnv.now()}function Jn(e,t){v.each(t,function(t,n){var r(Vnt||).concat(Vn*),i0,sr.length;for(;is;i++)if(ri.call(e,t,n))return})}function Kn(e,t,n){var r,i0,s0,oXn.length,uv.Deferred().always(function(){delete a.elem}),afunction(){var tqn||$n(),nMath.max(0,f.startTime+f.duration-t),rn/f.duration||0,i1-r,s0,of.tweens.length;for(;so;s++)f.tweenss.run(i);return u.notifyWith(e,f,i,n),i1&&o?n:(u.resolveWith(e,f),!1)},fu.promise({elem:e,props:v.extend({},t),opts:v.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:qn||$n(),duration:n.duration,tweens:,createTween:function(t,n,r){var iv.Tween(e,f.opts,t,n,f.opts.specialEasingt||f.opts.easing);return f.tweens.push(i),i},stop:function(t){var n0,rt?f.tweens.length:0;for(;nr;n++)f.tweensn.run(1);return t?u.resolveWith(e,f,t):u.rejectWith(e,f,t),this}}),lf.props;Qn(l,f.opts.specialEasing);for(;io;i++){rXni.call(f,e,l,f.opts);if(r)return r}return Jn(f,l),v.isFunction(f.opts.start)&&f.opts.start.call(e,f),v.fx.timer(v.extend(a,{anim:f,queue:f.opts.queue,elem:e})),f.progress(f.opts.progress).done(f.opts.done,f.opts.complete).fail(f.opts.fail).always(f.opts.always)}function Qn(e,t){var n,r,i,s,o;for(n in e){rv.camelCase(n),itr,sen,v.isArray(s)&&(is1,sens0),n!r&&(ers,delete en),ov.cssHooksr;if(o&&expandin o){so.expand(s),delete er;for(n in s)n in e||(ensn,tni)}else tri}}function Gn(e,t,n){var r,i,s,o,u,a,f,l,c,hthis,pe.style,d{},m,ge.nodeType&&Gt(e);n.queue||(lv._queueHooks(e,fx),l.unqueuednull&&(l.unqueued0,cl.empty.fire,l.empty.firefunction(){l.unqueued||c()}),l.unqueued++,h.always(function(){h.always(function(){l.unqueued--,v.queue(e,fx).length||l.empty.fire()})})),e.nodeType1&&(heightin t||widthin t)&&(n.overflowp.overflow,p.overflowX,p.overflowY,v.css(e,display)inline&&v.css(e,float)none&&(!v.support.inlineBlockNeedsLayout||nn(e.nodeName)inline?p.displayinline-block:p.zoom1)),n.overflow&&(p.overflowhidden,v.support.shrinkWrapBlocks||h.done(function(){p.overflown.overflow0,p.overflowXn.overflow1,p.overflowYn.overflow2}));for(r in t){str;if(Un.exec(s)){delete tr,aa||stoggle;if(s(g?hide:show))continue;m.push(r)}}om.length;if(o){uv._data(e,fxshow)||v._data(e,fxshow,{}),hiddenin u&&(gu.hidden),a&&(u.hidden!g),g?v(e).show():h.done(function(){v(e).hide()}),h.done(function(){var t;v.removeData(e,fxshow,!0);for(t in d)v.style(e,t,dt)});for(r0;ro;r++)imr,fh.createTween(i,g?ui:0),diui||v.style(e,i),i in u||(uif.start,g&&(f.endf.start,f.startiwidth||iheight?1:0))}}function Yn(e,t,n,r,i){return new Yn.prototype.init(e,t,n,r,i)}function Zn(e,t){var n,r{height:e},i0;tt?1:0;for(;i4;i+2-t)n$ti,rmargin+nrpadding+ne;return t&&(r.opacityr.widthe),r}function tr(e){return v.isWindow(e)?e:e.nodeType9?e.defaultView||e.parentWindow:!1}var n,r,ie.document,se.location,oe.navigator,ue.jQuery,ae.$,fArray.prototype.push,lArray.prototype.slice,cArray.prototype.indexOf,hObject.prototype.toString,pObject.prototype.hasOwnProperty,dString.prototype.trim,vfunction(e,t){return new v.fn.init(e,t,n)},m/\-+?(?:\d*\.|)\d+(?:eE\-+?\d+|)/.source,g/\S/,y/\s+/,b/^\s\uFEFF\xA0+|\s\uFEFF\xA0+$/g,w/^(?:^#*(\w\W+>)^>*$|#(\w\-*)$)/,E/^(\w+)\s*\/?>(?:\/\1>|)$/,S/^\,:{}\s*$/,x/(?:^|:|,)(?:\s*\)+/g,T/\\(?:\\\/bfnrt|u\da-fA-F{4})/g,N/^\\\r\n*|true|false|null|-?(?:\d\d*\.|)\d+(?:eE\-+?\d+|)/g,C/^-ms-/,k/-(\da-z)/gi,Lfunction(e,t){return(t+).toUpperCase()},Afunction(){i.addEventListener?(i.removeEventListener(DOMContentLoaded,A,!1),v.ready()):i.readyStatecomplete&&(i.detachEvent(onreadystatechange,A),v.ready())},O{};v.fnv.prototype{constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.contextthis0e,this.length1,this;if(typeof estring){e.charAt(0)&&e.charAt(e.length-1)>&&e.length>3?snull,e,null:sw.exec(e);if(s&&(s1||!n)){if(s1)return nn instanceof v?n0:n,an&&n.nodeType?n.ownerDocument||n:i,ev.parseHTML(s1,a,!0),E.test(s1)&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);oi.getElementById(s2);if(o&&o.parentNode){if(o.id!s2)return r.find(e);this.length1,this0o}return this.contexti,this.selectore,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!t&&(this.selectore.selector,this.contexte.context),v.makeArray(e,this))},selector:,jquery:1.8.3,length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return enull?this.toArray():e0?thisthis.length+e:thise},pushStack:function(e,t,n){var rv.merge(this.constructor(),e);return r.prevObjectthis,r.contextthis.context,tfind?r.selectorthis.selector+(this.selector? :)+n:t&&(r.selectorthis.selector+.+t+(+n+)),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e+e,e-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),slice,l.call(arguments).join(,))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:.sort,splice:.splice},v.fn.init.prototypev.fn,v.extendv.fn.extendfunction(){var e,n,r,i,s,o,uarguments0||{},a1,farguments.length,l!1;typeof uboolean&&(lu,uarguments1||{},a2),typeof u!object&&!v.isFunction(u)&&(u{}),fa&&(uthis,--a);for(;af;a++)if((eargumentsa)!null)for(n in e){run,ien;if(ui)continue;l&&i&&(v.isPlainObject(i)||(sv.isArray(i)))?(s?(s!1,or&&v.isArray(r)?r:):or&&v.isPlainObject(r)?r:{},unv.extend(l,o,i)):i!t&&(uni)}return u},v.extend({noConflict:function(t){return e.$v&&(e.$a),t&&e.jQueryv&&(e.jQueryu),v},isReady:!1,readyWait:1,holdReady:function(e){e?v.readyWait++:v.ready(!0)},ready:function(e){if(e!0?--v.readyWait:v.isReady)return;if(!i.body)return setTimeout(v.ready,1);v.isReady!0;if(e!!0&&--v.readyWait>0)return;r.resolveWith(i,v),v.fn.trigger&&v(i).trigger(ready).off(ready)},isFunction:function(e){return v.type(e)function},isArray:Array.isArray||function(e){return v.type(e)array},isWindow:function(e){return e!null&&ee.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return enull?String(e):Oh.call(e)||object},isPlainObject:function(e){if(!e||v.type(e)!object||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,constructor)&&!p.call(e.constructor.prototype,isPrototypeOf))return!1}catch(n){return!1}var r;for(r in e);return rt||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!string?null:(typeof tboolean&&(nt,t0),tt||i,(rE.exec(e))?t.createElement(r1):(rv.buildFragment(e,t,n?null:),v.merge(,(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!string)return null;tv.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,@).replace(N,).replace(x,)))return(new Function(return +t))();v.error(Invalid JSON: +t)},parseXML:function(n){var r,i;if(!n||typeof n!string)return null;try{e.DOMParser?(inew DOMParser,ri.parseFromString(n,text/xml)):(rnew ActiveXObject(Microsoft.XMLDOM),r.asyncfalse,r.loadXML(n))}catch(s){rt}return(!r||!r.documentElement||r.getElementsByTagName(parsererror).length)&&v.error(Invalid XML: +n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,ms-).replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()t.toLowerCase()},each:function(e,n,r){var i,s0,oe.length,uot||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(ei,r)!1)break}else for(;so;)if(n.apply(es++,r)!1)break}else if(u){for(i in e)if(n.call(ei,i,ei)!1)break}else for(;so;)if(n.call(es,s,es++)!1)break;return e},trim:d&&!d.call(\ufeff\u00a0)?function(e){return enull?:d.call(e)}:function(e){return enull?:(e+).replace(b,)},makeArray:function(e,t){var n,rt||;return e!null&&(nv.type(e),e.lengthnull||nstring||nfunction||nregexp||v.isWindow(e)?f.call(r,e):v.merge(r,e)),r},inArray:function(e,t,n){var r;if(t){if(c)return c.call(t,e,n);rt.length,nn?n0?Math.max(0,r+n):n:0;for(;nr;n++)if(n in t&&tne)return n}return-1},merge:function(e,n){var rn.length,ie.length,s0;if(typeof rnumber)for(;sr;s++)ei++ns;else while(ns!t)ei++ns++;return e.lengthi,e},grep:function(e,t,n){var r,i,s0,oe.length;n!!n;for(;so;s++)r!!t(es,s),n!r&&i.push(es);return i},map:function(e,n,r){var i,s,o,u0,ae.length,fe instanceof v||a!t&&typeof anumber&&(a>0&&e0&&ea-1||a0||v.isArray(e));if(f)for(;ua;u++)in(eu,u,r),i!null&&(oo.lengthi);else for(s in e)in(es,s,r),i!null&&(oo.lengthi);return o.concat.apply(,o)},guid:1,proxy:function(e,n){var r,i,s;return typeof nstring&&(ren,ne,er),v.isFunction(e)?(il.call(arguments,2),sfunction(){return e.apply(n,i.concat(l.call(arguments)))},s.guide.guide.guid||v.guid++,s):t},access:function(e,n,r,i,s,o,u){var a,frnull,l0,ce.length;if(r&&typeof robject){for(l in r)v.access(e,n,l,rl,1,o,i);s1}else if(i!t){aut&&v.isFunction(i),f&&(a?(an,nfunction(e,t,n){return a.call(v(e),n)}):(n.call(e,i),nnull));if(n)for(;lc;l++)n(el,r,a?i.call(el,l,n(el,r)):i,u);s1}return s?e:f?n.call(e):c?n(e0,r):o},now:function(){return(new Date).getTime()}}),v.ready.promisefunction(t){if(!r){rv.Deferred();if(i.readyStatecomplete)setTimeout(v.ready,1);else if(i.addEventListener)i.addEventListener(DOMContentLoaded,A,!1),e.addEventListener(load,v.ready,!1);else{i.attachEvent(onreadystatechange,A),e.attachEvent(onload,v.ready);var n!1;try{ne.frameElementnull&&i.documentElement}catch(s){}n&&n.doScroll&&function o(){if(!v.isReady){try{n.doScroll(left)}catch(e){return setTimeout(o,50)}v.ready()}}()}}return r.promise(t)},v.each(Boolean Number String Function Array Date RegExp Object.split( ),function(e,t){Oobject +t+t.toLowerCase()}),nv(i);var M{};v.Callbacksfunction(e){etypeof estring?Me||_(e):v.extend({},e);var n,r,i,s,o,u,a,f!e.once&&,lfunction(t){ne.memory&&t,r!0,us||0,s0,oa.length,i!0;for(;a&&uo;u++)if(au.apply(t0,t1)!1&&e.stopOnFalse){n!1;break}i!1,a&&(f?f.length&&l(f.shift()):n?a:c.disable())},c{add:function(){if(a){var ta.length;(function r(t){v.each(t,function(t,n){var iv.type(n);ifunction?(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&i!string&&r(n)})})(arguments),i?oa.length:n&&(st,l(n))}return this},remove:function(){return a&&v.each(arguments,function(e,t){var n;while((nv.inArray(t,a,n))>-1)a.splice(n,1),i&&(no&&o--,nu&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a,this},disable:function(){return afnt,this},disabled:function(){return!a},lock:function(){return ft,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return tt||,te,t.slice?t.slice():t,a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var tresolve,done,v.Callbacks(once memory),resolved,reject,fail,v.Callbacks(once memory),rejected,notify,progress,v.Callbacks(memory),npending,r{state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var earguments;return v.Deferred(function(n){v.each(t,function(t,r){var sr0,oet;ir1(v.isFunction(o)?function(){var eo.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):ns+With(thisi?n:this,e)}:ns)}),enull}).promise()},promise:function(e){return e!null?v.extend(e,r):r}},i{};return r.piper.then,v.each(t,function(e,s){var os2,us3;rs1o.add,u&&o.add(function(){nu},te^12.disable,t22.lock),is0o.fire,is0+Witho.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t0,nl.call(arguments),rn.length,ir!1||e&&v.isFunction(e.promise)?r:0,si1?e:v.Deferred(),ofunction(e,t,n){return function(r){tethis,nearguments.length>1?l.call(arguments):r,nu?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){unew Array(r),anew Array(r),fnew Array(r);for(;tr;t++)nt&&v.isFunction(nt.promise)?nt.promise().done(o(t,f,n)).fail(s.reject).progress(o(t,a,u)):--i}return i||s.resolveWith(f,n),s.promise()}}),v.supportfunction(){var t,n,r,s,o,u,a,f,l,c,h,pi.createElement(div);p.setAttribute(className,t),p.innerHTML link/>table>/table>a href/a>a/a>input typecheckbox/>,np.getElementsByTagName(*),rp.getElementsByTagName(a)0;if(!n||!r||!n.length)return{};si.createElement(select),os.appendChild(i.createElement(option)),up.getElementsByTagName(input)0,r.style.cssTexttop:1px;float:left;opacity:.5,t{leadingWhitespace:p.firstChild.nodeType3,tbody:!p.getElementsByTagName(tbody).length,htmlSerialize:!!p.getElementsByTagName(link).length,style:/top/.test(r.getAttribute(style)),hrefNormalized:r.getAttribute(href)/a,opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.valueon,optSelected:o.selected,getSetAttribute:p.className!t,enctype:!!i.createElement(form).enctype,html5Clone:i.createElement(nav).cloneNode(!0).outerHTML!:nav>/:nav>,boxModel:i.compatModeCSS1Compat,submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked!0,t.noCloneCheckedu.cloneNode(!0).checked,s.disabled!0,t.optDisabled!o.disabled;try{delete p.test}catch(d){t.deleteExpando!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent(onclick,hfunction(){t.noCloneEvent!1}),p.cloneNode(!0).fireEvent(onclick),p.detachEvent(onclick,h)),ui.createElement(input),u.valuet,u.setAttribute(type,radio),t.radioValueu.valuet,u.setAttribute(checked,checked),u.setAttribute(name,t),p.appendChild(u),ai.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClonea.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendCheckedu.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})fon+l,cf in p,c||(p.setAttribute(f,return;),ctypeof pffunction),tl+Bubblesc;return v(function(){var n,r,s,o,upadding:0;margin:0;border:0;display:block;overflow:hidden;,ai.getElementsByTagName(body)0;if(!a)return;ni.createElement(div),n.style.cssTextvisibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px,a.insertBefore(n,a.firstChild),ri.createElement(div),n.appendChild(r),r.innerHTMLtable>tr>td>/td>td>t/td>/tr>/table>,sr.getElementsByTagName(td),s0.style.cssTextpadding:0;margin:0;border:0;display:none,cs0.offsetHeight0,s0.style.display,s1.style.displaynone,t.reliableHiddenOffsetsc&&s0.offsetHeight0,r.innerHTML,r.style.cssTextbox-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;,t.boxSizingr.offsetWidth4,t.doesNotIncludeMarginInBodyOffseta.offsetTop!1,e.getComputedStyle&&(t.pixelPosition(e.getComputedStyle(r,null)||{}).top!1%,t.boxSizingReliable(e.getComputedStyle(r,null)||{width:4px}).width4px,oi.createElement(div),o.style.cssTextr.style.cssTextu,o.style.marginRighto.style.width0,r.style.width1px,r.appendChild(o),t.reliableMarginRight!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!undefined&&(r.innerHTML,r.style.cssTextu+width:1px;padding:1px;display:inline;zoom:1,t.inlineBlockNeedsLayoutr.offsetWidth3,r.style.displayblock,r.style.overflowvisible,r.innerHTMLdiv>/div>,r.firstChild.style.width5px,t.shrinkWrapBlocksr.offsetWidth!3,n.style.zoom1),a.removeChild(n),nrsonull}),a.removeChild(p),nrsouapnull,t}();var D/(?:\{\s\S*\}|\\s\S*\)$/,P/(A-Z)/g;v.extend({cache:{},deletedIds:,uuid:0,expando:jQuery+(v.fn.jquery+Math.random()).replace(/\D/g,),noData:{embed:!0,object:clsid:D27CDB6E-AE6D-11cf-96B8-444553540000,applet:!0},hasData:function(e){return ee.nodeType?v.cacheev.expando:ev.expando,!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,uv.expando,atypeof nstring,fe.nodeType,lf?v.cache:e,cf?eu:eu&&u;if((!c||!lc||!i&&!lc.data)&&a&&rt)return;c||(f?eucv.deletedIds.pop()||v.guid++:cu),lc||(lc{},f||(lc.toJSONv.noop));if(typeof nobject||typeof nfunction)i?lcv.extend(lc,n):lc.datav.extend(lc.data,n);return slc,i||(s.data||(s.data{}),ss.data),r!t&&(sv.camelCase(n)r),a?(osn,onull&&(osv.camelCase(n))):os,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,oe.nodeType,uo?v.cache:e,ao?ev.expando:v.expando;if(!ua)return;if(t){rn?ua:ua.data;if(r){v.isArray(t)||(t in r?tt:(tv.camelCase(t),t in r?tt:tt.split( )));for(i0,st.length;is;i++)delete rti;if(!(n?B:v.isEmptyObject)(r))return}}if(!n){delete ua.data;if(!B(ua))return}o?v.cleanData(e,!0):v.support.deleteExpando||u!u.window?delete ua:uanull},_data:function(e,t,n){return v.data(e,t,n,!0)},acceptData:function(e){var te.nodeName&&v.noDatae.nodeName.toLowerCase();return!t||t!!0&&e.getAttribute(classid)t}}),v.fn.extend({data:function(e,n){var r,i,s,o,u,athis0,f0,lnull;if(et){if(this.length){lv.data(a);if(a.nodeType1&&!v._data(a,parsedAttrs)){sa.attributes;for(us.length;fu;f++)osf.name,o.indexOf(data-)||(ov.camelCase(o.substring(5)),H(a,o,lo));v._data(a,parsedAttrs,!0)}}return l}return typeof eobject?this.each(function(){v.data(this,e)}):(re.split(.,2),r1r1?.+r1:,ir1+!,v.access(this,function(n){if(nt)return lthis.triggerHandler(getData+i,r0),lt&&a&&(lv.data(a,e),lH(a,e,l)),lt&&r1?this.data(r0):l;r1n,this.each(function(){var tv(this);t.triggerHandler(setData+i,r),v.data(this,e,n),t.triggerHandler(changeData+i,r)})},null,n,arguments.length>1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t(t||fx)+queue,rv._data(e,t),n&&(!r||v.isArray(n)?rv._data(e,t,v.makeArray(n)):r.push(n)),r||},dequeue:function(e,t){tt||fx;var nv.queue(e,t),rn.length,in.shift(),sv._queueHooks(e,t),ofunction(){v.dequeue(e,t)};iinprogress&&(in.shift(),r--),i&&(tfx&&n.unshift(inprogress),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var nt+queueHooks;return v._data(e,n)||v._data(e,n,{empty:v.Callbacks(once memory).add(function(){v.removeData(e,t+queue,!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r2;return typeof e!string&&(ne,efx,r--),arguments.lengthr?v.queue(this0,e):nt?this:this.each(function(){var tv.queue(this,e,n);v._queueHooks(this,e),efx&&t0!inprogress&&v.dequeue(this,e)})},dequeue:function(e){return this.each(function(){v.dequeue(this,e)})},delay:function(e,t){return ev.fx?v.fx.speedse||e:e,tt||fx,this.queue(t,function(t,n){var rsetTimeout(t,e);n.stopfunction(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||fx,)},promise:function(e,n){var r,i1,sv.Deferred(),othis,uthis.length,afunction(){--i||s.resolveWith(o,o)};typeof e!string&&(ne,et),ee||fx;while(u--)rv._data(ou,e+queueHooks),r&&r.empty&&(i++,r.empty.add(a));return a(),s.promise(n)}});var j,F,I,q/\t\r\n/g,R/\r/g,U/^(?:button|input)$/i,z/^(?:button|input|object|select|textarea)$/i,W/^a(?:rea|)$/i,X/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,Vv.support.getSetAttribute;v.fn.extend({attr:function(e,t){return v.access(this,v.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return ev.propFixe||e,this.each(function(){try{thiset,delete thise}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof estring){te.split(y);for(n0,rthis.length;nr;n++){ithisn;if(i.nodeType1)if(!i.className&&t.length1)i.classNamee;else{s +i.className+ ;for(o0,ut.length;ou;o++)s.indexOf( +to+ )0&&(s+to+ );i.classNamev.trim(s)}}}return this},removeClass:function(e){var n,r,i,s,o,u,a;if(v.isFunction(e))return this.each(function(t){v(this).removeClass(e.call(this,t,this.className))});if(e&&typeof estring||et){n(e||).split(y);for(u0,athis.length;ua;u++){ithisu;if(i.nodeType1&&i.className){r( +i.className+ ).replace(q, );for(s0,on.length;so;s++)while(r.indexOf( +ns+ )>0)rr.replace( +ns+ , );i.classNamee?v.trim(r):}}}return this},toggleClass:function(e,t){var ntypeof e,rtypeof tboolean;return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(nstring){var i,s0,ov(this),ut,ae.split(y);while(ias++)ur?u:!o.hasClass(i),ou?addClass:removeClass(i)}else if(nundefined||nboolean)this.className&&v._data(this,__className__,this.className),this.classNamethis.className||e!1?:v._data(this,__className__)||})},hasClass:function(e){var t +e+ ,n0,rthis.length;for(;nr;n++)if(thisn.nodeType1&&( +thisn.className+ ).replace(q, ).indexOf(t)>0)return!0;return!1},val:function(e){var n,r,i,sthis0;if(!arguments.length){if(s)return nv.valHookss.type||v.valHookss.nodeName.toLowerCase(),n&&getin n&&(rn.get(s,value))!t?r:(rs.value,typeof rstring?r.replace(R,):rnull?:r);return}return iv.isFunction(e),this.each(function(r){var s,ov(this);if(this.nodeType!1)return;i?se.call(this,r,o.val()):se,snull?s:typeof snumber?s+:v.isArray(s)&&(sv.map(s,function(e){return enull?:e+})),nv.valHooksthis.type||v.valHooksthis.nodeName.toLowerCase();if(!n||!(setin n)||n.set(this,s,value)t)this.values})}}),v.extend({valHooks:{option:{get:function(e){var te.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,re.options,ie.selectedIndex,se.typeselect-one||i0,os?null:,us?i+1:r.length,ai0?u:s?i:0;for(;au;a++){nra;if((n.selected||ai)&&(v.support.optDisabled?!n.disabled:n.getAttribute(disabled)null)&&(!n.parentNode.disabled||!v.nodeName(n.parentNode,optgroup))){tv(n).val();if(s)return t;o.push(t)}}return o},set:function(e,t){var nv.makeArray(t);return v(e).find(option).each(function(){this.selectedv.inArray(v(this).val(),n)>0}),n.length||(e.selectedIndex-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,ae.nodeType;if(!e||a3||a8||a2)return;if(i&&v.isFunction(v.fnn))return v(e)n(r);if(typeof e.getAttributeundefined)return v.prop(e,n,r);ua!1||!v.isXMLDoc(e),u&&(nn.toLowerCase(),ov.attrHooksn||(X.test(n)?F:j));if(r!t){if(rnull){v.removeAttr(e,n);return}return o&&setin o&&u&&(so.set(e,r,n))!t?s:(e.setAttribute(n,r+),r)}return o&&getin o&&u&&(so.get(e,n))!null?s:(se.getAttribute(n),snull?t:s)},removeAttr:function(e,t){var n,r,i,s,o0;if(t&&e.nodeType1){rt.split(y);for(;or.length;o++)iro,i&&(nv.propFixi||i,sX.test(i),s||v.attr(e,i,),e.removeAttribute(V?i:n),s&&n in e&&(en!1))}},attrHooks:{type:{set:function(e,t){if(U.test(e.nodeName)&&e.parentNode)v.error(type property cant be changed);else if(!v.support.radioValue&&tradio&&v.nodeName(e,input)){var ne.value;return e.setAttribute(type,t),n&&(e.valuen),t}}},value:{get:function(e,t){return j&&v.nodeName(e,button)?j.get(e,t):t in e?e.value:null},set:function(e,t,n){if(j&&v.nodeName(e,button))return j.set(e,t,n);e.valuet}}},propFix:{tabindex:tabIndex,readonly:readOnly,for:htmlFor,class:className,maxlength:maxLength,cellspacing:cellSpacing,cellpadding:cellPadding,rowspan:rowSpan,colspan:colSpan,usemap:useMap,frameborder:frameBorder,contenteditable:contentEditable},prop:function(e,n,r){var i,s,o,ue.nodeType;if(!e||u3||u8||u2)return;return ou!1||!v.isXMLDoc(e),o&&(nv.propFixn||n,sv.propHooksn),r!t?s&&setin s&&(is.set(e,r,n))!t?i:enr:s&&getin s&&(is.get(e,n))!null?i:en},propHooks:{tabIndex:{get:function(e){var ne.getAttributeNode(tabindex);return n&&n.specified?parseInt(n.value,10):z.test(e.nodeName)||W.test(e.nodeName)&&e.href?0:t}}}}),F{get:function(e,n){var r,iv.prop(e,n);return i!0||typeof i!boolean&&(re.getAttributeNode(n))&&r.nodeValue!!1?n.toLowerCase():t},set:function(e,t,n){var r;return t!1?v.removeAttr(e,n):(rv.propFixn||n,r in e&&(er!0),e.setAttribute(n,n.toLowerCase())),n}},V||(I{name:!0,id:!0,coords:!0},jv.valHooks.button{get:function(e,n){var r;return re.getAttributeNode(n),r&&(In?r.value!:r.specified)?r.value:t},set:function(e,t,n){var re.getAttributeNode(n);return r||(ri.createAttribute(n),e.setAttributeNode(r)),r.valuet+}},v.each(width,height,function(e,t){v.attrHookstv.extend(v.attrHookst,{set:function(e,n){if(n)return e.setAttribute(t,auto),n}})}),v.attrHooks.contenteditable{get:j.get,set:function(e,t,n){t&&(tfalse),j.set(e,t,n)}}),v.support.hrefNormalized||v.each(href,src,width,height,function(e,n){v.attrHooksnv.extend(v.attrHooksn,{get:function(e){var re.getAttribute(n,2);return rnull?t:r}})}),v.support.style||(v.attrHooks.style{get:function(e){return e.style.cssText.toLowerCase()||t},set:function(e,t){return e.style.cssTextt+}}),v.support.optSelected||(v.propHooks.selectedv.extend(v.propHooks.selected,{get:function(e){var te.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),v.support.enctype||(v.propFix.enctypeencoding),v.support.checkOn||v.each(radio,checkbox,function(){v.valHooksthis{get:function(e){return e.getAttribute(value)null?on:e.value}}}),v.each(radio,checkbox,function(){v.valHooksthisv.extend(v.valHooksthis,{set:function(e,t){if(v.isArray(t))return e.checkedv.inArray(v(e).val(),t)>0}})});var $/^(?:textarea|input|select)$/i,J/^(^\.*|)(?:\.(.+)|)$/,K/(?:^|\s)hover(\.\S+|)\b/,Q/^key/,G/^(?:mouse|contextmenu)|click/,Y/^(?:focusinfocus|focusoutblur)$/,Zfunction(e){return v.event.special.hover?e:e.replace(K,mouseenter$1 mouseleave$1)};v.event{add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType3||e.nodeType8||!n||!r||!(ov._data(e)))return;r.handler&&(dr,rd.handler,sd.selector),r.guid||(r.guidv.guid++),ao.events,a||(o.eventsa{}),uo.handle,u||(o.handleufunction(e){return typeof vundefined||!!e&&v.event.triggerede.type?t:v.event.dispatch.apply(u.elem,arguments)},u.eleme),nv.trim(Z(n)).split( );for(f0;fn.length;f++){lJ.exec(nf)||,cl1,h(l2||).split(.).sort(),gv.event.specialc||{},c(s?g.delegateType:g.bindType)||c,gv.event.specialc||{},pv.extend({type:c,origType:l1,data:i,handler:r,guid:r.guid,selector:s,needsContext:s&&v.expr.match.needsContext.test(s),namespace:h.join(.)},d),mac;if(!m){mac,m.delegateCount0;if(!g.setup||g.setup.call(e,i,h,u)!1)e.addEventListener?e.addEventListener(c,u,!1):e.attachEvent&&e.attachEvent(on+c,u)}g.add&&(g.add.call(e,p),p.handler.guid||(p.handler.guidr.guid)),s?m.splice(m.delegateCount++,0,p):m.push(p),v.event.globalc!0}enull},global:{},remove:function(e,t,n,r,i){var s,o,u,a,f,l,c,h,p,d,m,gv.hasData(e)&&v._data(e);if(!g||!(hg.events))return;tv.trim(Z(t||)).split( );for(s0;st.length;s++){oJ.exec(ts)||,uao1,fo2;if(!u){for(u in h)v.event.remove(e,u+ts,n,r,!0);continue}pv.event.specialu||{},u(r?p.delegateType:p.bindType)||u,dhu||,ld.length,ff?new RegExp((^|\\.)+f.split(.).sort().join(\\.(?:.*\\.|))+(\\.|$)):null;for(c0;cd.length;c++)mdc,(i||am.origType)&&(!n||n.guidm.guid)&&(!f||f.test(m.namespace))&&(!r||rm.selector||r**&&m.selector)&&(d.splice(c--,1),m.selector&&d.delegateCount--,p.remove&&p.remove.call(e,m));d.length0&&l!d.length&&((!p.teardown||p.teardown.call(e,f,g.handle)!1)&&v.removeEvent(e,u,g.handle),delete hu)}v.isEmptyObject(h)&&(delete g.handle,v.removeData(e,events,!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(n,r,s,o){if(!s||s.nodeType!3&&s.nodeType!8){var u,a,f,l,c,h,p,d,m,g,yn.type||n,b;if(Y.test(y+v.event.triggered))return;y.indexOf(!)>0&&(yy.slice(0,-1),a!0),y.indexOf(.)>0&&(by.split(.),yb.shift(),b.sort());if((!s||v.event.customEventy)&&!v.event.globaly)return;ntypeof nobject?nv.expando?n:new v.Event(y,n):new v.Event(y),n.typey,n.isTrigger!0,n.exclusivea,n.namespaceb.join(.),n.namespace_ren.namespace?new RegExp((^|\\.)+b.join(\\.(?:.*\\.|))+(\\.|$)):null,hy.indexOf(:)0?on+y:;if(!s){uv.cache;for(f in u)uf.events&&uf.eventsy&&v.event.trigger(n,r,uf.handle.elem,!0);return}n.resultt,n.target||(n.targets),rr!null?v.makeArray(r):,r.unshift(n),pv.event.specialy||{};if(p.trigger&&p.trigger.apply(s,r)!1)return;ms,p.bindType||y;if(!o&&!p.noBubble&&!v.isWindow(s)){gp.delegateType||y,lY.test(g+y)?s:s.parentNode;for(cs;l;ll.parentNode)m.push(l,g),cl;c(s.ownerDocument||i)&&m.push(c.defaultView||c.parentWindow||e,g)}for(f0;fm.length&&!n.isPropagationStopped();f++)lmf0,n.typemf1,d(v._data(l,events)||{})n.type&&v._data(l,handle),d&&d.apply(l,r),dh&&lh,d&&v.acceptData(l)&&d.apply&&d.apply(l,r)!1&&n.preventDefault();return n.typey,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(s.ownerDocument,r)!1)&&(y!click||!v.nodeName(s,a))&&v.acceptData(s)&&h&&sy&&(y!focus&&y!blur||n.target.offsetWidth!0)&&!v.isWindow(s)&&(csh,c&&(shnull),v.event.triggeredy,sy(),v.event.triggeredt,c&&(shc)),n.result}return},dispatch:function(n){nv.event.fix(n||e.event);var r,i,s,o,u,a,f,c,h,p,d(v._data(this,events)||{})n.type||,md.delegateCount,gl.call(arguments),y!n.exclusive&&!n.namespace,bv.event.specialn.type||{},w;g0n,n.delegateTargetthis;if(b.preDispatch&&b.preDispatch.call(this,n)!1)return;if(m&&(!n.button||n.type!click))for(sn.target;s!this;ss.parentNode||this)if(s.disabled!!0||n.type!click){u{},f;for(r0;rm;r++)cdr,hc.selector,uht&&(uhc.needsContext?v(h,this).index(s)>0:v.find(h,this,null,s).length),uh&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r0;rw.length&&!n.isPropagationStopped();r++){awr,n.currentTargeta.elem;for(i0;ia.matches.length&&!n.isImmediatePropagationStopped();i++){ca.matchesi;if(y||!n.namespace&&!c.namespace||n.namespace_re&&n.namespace_re.test(c.namespace))n.datac.data,n.handleObjc,o((v.event.specialc.origType||{}).handle||c.handler).apply(a.elem,g),o!t&&(n.resulto,o!1&&(n.preventDefault(),n.stopPropagation()))}}return b.postDispatch&&b.postDispatch.call(this,n),n.result},props:attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which.split( ),fixHooks:{},keyHooks:{props:char charCode key keyCode.split( ),filter:function(e,t){return e.whichnull&&(e.whicht.charCode!null?t.charCode:t.keyCode),e}},mouseHooks:{props:button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement.split( ),filter:function(e,n){var r,s,o,un.button,an.fromElement;return e.pageXnull&&n.clientX!null&&(re.target.ownerDocument||i,sr.documentElement,or.body,e.pageXn.clientX+(s&&s.scrollLeft||o&&o.scrollLeft||0)-(s&&s.clientLeft||o&&o.clientLeft||0),e.pageYn.clientY+(s&&s.scrollTop||o&&o.scrollTop||0)-(s&&s.clientTop||o&&o.clientTop||0)),!e.relatedTarget&&a&&(e.relatedTargetae.target?n.toElement:a),!e.which&&u!t&&(e.whichu&1?1:u&2?3:u&4?2:0),e}},fix:function(e){if(ev.expando)return e;var t,n,re,sv.event.fixHookse.type||{},os.props?this.props.concat(s.props):this.props;ev.Event(r);for(to.length;t;)no--t,enrn;return e.target||(e.targetr.srcElement||i),e.target.nodeType3&&(e.targete.target.parentNode),e.metaKey!!e.metaKey,s.filter?s.filter(e,r):e},special:{load:{noBubble:!0},focus:{delegateType:focusin},blur:{delegateType:focusout},beforeunload:{setup:function(e,t,n){v.isWindow(this)&&(this.onbeforeunloadn)},teardown:function(e,t){this.onbeforeunloadt&&(this.onbeforeunloadnull)}}},simulate:function(e,t,n,r){var iv.extend(new v.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?v.event.trigger(i,null,t):v.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},v.event.handlev.event.dispatch,v.removeEventi.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var ron+t;e.detachEvent&&(typeof erundefined&&(ernull),e.detachEvent(r,n))},v.Eventfunction(e,t){if(!(this instanceof v.Event))return new v.Event(e,t);e&&e.type?(this.originalEvente,this.typee.type,this.isDefaultPreventede.defaultPrevented||e.returnValue!1||e.getPreventDefault&&e.getPreventDefault()?tt:et):this.typee,t&&v.extend(this,t),this.timeStampe&&e.timeStamp||v.now(),thisv.expando!0},v.Event.prototype{preventDefault:function(){this.isDefaultPreventedtt;var ethis.originalEvent;if(!e)return;e.preventDefault?e.preventDefault():e.returnValue!1},stopPropagation:function(){this.isPropagationStoppedtt;var ethis.originalEvent;if(!e)return;e.stopPropagation&&e.stopPropagation(),e.cancelBubble!0},stopImmediatePropagation:function(){this.isImmediatePropagationStoppedtt,this.stopPropagation()},isDefaultPrevented:et,isPropagationStopped:et,isImmediatePropagationStopped:et},v.each({mouseenter:mouseover,mouseleave:mouseout},function(e,t){v.event.speciale{delegateType:t,bindType:t,handle:function(e){var n,rthis,ie.relatedTarget,se.handleObj,os.selector;if(!i||i!r&&!v.contains(r,i))e.types.origType,ns.handler.apply(this,arguments),e.typet;return n}}}),v.support.submitBubbles||(v.event.special.submit{setup:function(){if(v.nodeName(this,form))return!1;v.event.add(this,click._submit keypress._submit,function(e){var ne.target,rv.nodeName(n,input)||v.nodeName(n,button)?n.form:t;r&&!v._data(r,_submit_attached)&&(v.event.add(r,submit._submit,function(e){e._submit_bubble!0}),v._data(r,_submit_attached,!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&v.event.simulate(submit,this.parentNode,e,!0))},teardown:function(){if(v.nodeName(this,form))return!1;v.event.remove(this,._submit)}}),v.support.changeBubbles||(v.event.special.change{setup:function(){if($.test(this.nodeName)){if(this.typecheckbox||this.typeradio)v.event.add(this,propertychange._change,function(e){e.originalEvent.propertyNamechecked&&(this._just_changed!0)}),v.event.add(this,click._change,function(e){this._just_changed&&!e.isTrigger&&(this._just_changed!1),v.event.simulate(change,this,e,!0)});return!1}v.event.add(this,beforeactivate._change,function(e){var te.target;$.test(t.nodeName)&&!v._data(t,_change_attached)&&(v.event.add(t,change._change,function(e){this.parentNode&&!e.isSimulated&&!e.isTrigger&&v.event.simulate(change,this.parentNode,e,!0)}),v._data(t,_change_attached,!0))})},handle:function(e){var te.target;if(this!t||e.isSimulated||e.isTrigger||t.type!radio&&t.type!checkbox)return e.handleObj.handler.apply(this,arguments)},teardown:function(){return v.event.remove(this,._change),!$.test(this.nodeName)}}),v.support.focusinBubbles||v.each({focus:focusin,blur:focusout},function(e,t){var n0,rfunction(e){v.event.simulate(t,e.target,v.event.fix(e),!0)};v.event.specialt{setup:function(){n++0&&i.addEventListener(e,r,!0)},teardown:function(){--n0&&i.removeEventListener(e,r,!0)}}}),v.fn.extend({on:function(e,n,r,i,s){var o,u;if(typeof eobject){typeof n!string&&(rr||n,nt);for(u in e)this.on(u,n,r,eu,s);return this}rnull&&inull?(in,rnt):inull&&(typeof nstring?(ir,rt):(ir,rn,nt));if(i!1)iet;else if(!i)return this;return s1&&(oi,ifunction(e){return v().off(e),o.apply(this,arguments)},i.guido.guid||(o.guidv.guid++)),this.each(function(){v.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,s;if(e&&e.preventDefault&&e.handleObj)return ie.handleObj,v(e.delegateTarget).off(i.namespace?i.origType+.+i.namespace:i.origType,i.selector,i.handler),this;if(typeof eobject){for(s in e)this.off(s,n,es);return this}if(n!1||typeof nfunction)rn,nt;return r!1&&(ret),this.each(function(){v.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},live:function(e,t,n){return v(this.context).on(e,this.selector,t,n),this},die:function(e,t){return v(this.context).off(e,this.selector||**,t),this},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return arguments.length1?this.off(e,**):this.off(t,e||**,n)},trigger:function(e,t){return this.each(function(){v.event.trigger(e,t,this)})},triggerHandler:function(e,t){if(this0)return v.event.trigger(e,t,this0,!0)},toggle:function(e){var targuments,ne.guid||v.guid++,r0,ifunction(n){var i(v._data(this,lastToggle+e.guid)||0)%r;return v._data(this,lastToggle+e.guid,i+1),n.preventDefault(),ti.apply(this,arguments)||!1};i.guidn;while(rt.length)tr++.guidn;return this.click(i)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),v.each(blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu.split( ),function(e,t){v.fntfunction(e,n){return nnull&&(ne,enull),arguments.length>0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHookstv.event.keyHooks),G.test(t)&&(v.event.fixHookstv.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){nn||,tt||g;var i,s,a,f,lt.nodeType;if(!e||typeof e!string)return n;if(l!1&&l!9)return;ao(t);if(!a&&!r)if(iR.exec(e))if(fi1){if(l9){st.getElementById(f);if(!s||!s.parentNode)return n;if(s.idf)return n.push(s),n}else if(t.ownerDocument&&(st.ownerDocument.getElementById(f))&&u(t,s)&&s.idf)return n.push(s),n}else{if(i2)return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((fi3)&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,$1),t,n,r,a)}function rt(e){return function(t){var nt.nodeName.toLowerCase();return ninput&&t.typee}}function it(e){return function(t){var nt.nodeName.toLowerCase();return(ninput||nbutton)&&t.typee}}function st(e){return N(function(t){return t+t,N(function(n,r){var i,se(,n.length,t),os.length;while(o--)niso&&(ni!(rini))})})}function ot(e,t,n){if(et)return n;var re.nextSibling;while(r){if(rt)return-1;rr.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,lLde+ ;if(l)return t?0:l.slice(0);ue,a,fi.preFilter;while(u){if(!n||(rF.exec(u)))r&&(uu.slice(r0.length)||u),a.push(s);n!1;if(rI.exec(u))s.push(nnew m(r.shift())),uu.slice(n.length),n.typer0.replace(j, );for(o in i.filter)(rJo.exec(u))&&(!fo||(rfo(r)))&&(s.push(nnew m(r.shift())),uu.slice(n.length),n.typeo,n.matchesr);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var it.dir,sr&&t.dirparentNode,ow++;return t.first?function(t,n,r){while(tti)if(s||t.nodeType1)return e(t,n,r)}:function(t,r,u){if(!u){var a,fb+ +o+ ,lf+n;while(tti)if(s||t.nodeType1){if((atd)l)return t.sizset;if(typeof astring&&a.indexOf(f)0){if(t.sizset)return t}else{tdl;if(e(t,r,u))return t.sizset!0,t;t.sizset!1}}}else while(tti)if(s||t.nodeType1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var ie.length;while(i--)if(!ei(t,n,r))return!1;return!0}:e0}function lt(e,t,n,r,i){var s,o,u0,ae.length,ft!null;for(;ua;u++)if(seu)if(!n||n(s,r,i))o.push(s),f&&t.push(u);return o}function ct(e,t,n,r,i,s){return r&&!rd&&(rct(r)),i&&!id&&(ict(i,s)),N(function(s,o,u,a){var f,l,c,h,p,do.length,vs||dt(t||*,u.nodeType?u:u,),me&&(s||!t)?lt(v,h,e,u,a):v,gn?i||(s?e:d||r)?:o:m;n&&n(m,g,u,a);if(r){flt(g,p),r(f,,u,a),lf.length;while(l--)if(cfl)gpl!(mplc)}if(s){if(i||e){if(i){f,lg.length;while(l--)(cgl)&&f.push(mlc);i(null,g,f,a)}lg.length;while(l--)(cgl)&&(fi?T.call(s,c):hl)>-1&&(sf!(ofc))}}else glt(go?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,se.length,oi.relativee0.type,uo||i.relative ,ao?1:0,fat(function(e){return et},u,!0),lat(function(e){return T.call(t,e)>-1},u,!0),hfunction(e,n,r){return!o&&(r||n!c)||((tn).nodeType?f(e,n,r):l(e,n,r))};for(;as;a++)if(ni.relativeea.type)hat(ft(h),n);else{ni.filterea.type.apply(null,ea.matches);if(nd){r++a;for(;rs;r++)if(i.relativeer.type)break;return ct(a>1&&ft(h),a>1&&e.slice(0,a-1).join().replace(j,$1),n,ar&&ht(e.slice(a,r)),rs&&ht(ee.slice(r)),rs&&e.join())}h.push(n)}return ft(h)}function pt(e,t){var rt.length>0,se.length>0,ofunction(u,a,f,l,h){var p,d,v,m,y0,w0,xu&&,Th!null,Nc,Cu||s&&i.find.TAG(*,h&&a.parentNode||a),kb+Nnull?1:Math.E;T&&(ca!g&&a,no.el);for(;(pCw)!null;w++){if(s&&p){for(d0;ved;d++)if(v(p,a,f)){l.push(p);break}T&&(bk,n++o.el)}r&&((p!v&&p)&&y--,u&&x.push(p))}y+w;if(r&&w!y){for(d0;vtd;d++)v(x,m,a,f);if(u){if(y>0)while(w--)!xw&&!mw&&(mwE.call(l));mlt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(bk,cN),x};return o.el0,r?N(o):o}function dt(e,t,n){var r0,it.length;for(;ri;r++)nt(e,tr,n);return n}function vt(e,t,n,r,s){var o,u,f,l,c,hut(e),ph.length;if(!r&&h.length1){uh0h0.slice(0);if(u.length>2&&(fu0).typeID&&t.nodeType9&&!s&&i.relativeu1.type){ti.find.ID(f.matches0.replace($,),t,s)0;if(!t)return n;ee.slice(u.shift().length)}for(oJ.POS.test(e)?-1:u.length-1;o>0;o--){fuo;if(i.relativelf.type)break;if(ci.findl)if(rc(f.matches0.replace($,),z.test(u0.type)&&t.parentNode||t,s)){u.splice(o,1),er.length&&u.join();if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h!0,pundefined,d(sizcache+Math.random()).replace(.,),mString,ge.document,yg.documentElement,b0,w0,E.pop,S.push,x.slice,T.indexOf||function(e){var t0,nthis.length;for(;tn;t++)if(thiste)return t;return-1},Nfunction(e,t){return edtnull||t,e},Cfunction(){var e{},t;return N(function(n,r){return t.push(n)>i.cacheLength&&delete et.shift(),en+ r},e)},kC(),LC(),AC(),O\\x20\\t\\r\\n\\f,M(?:\\\\.|-\\w|^\\x00-\\xa0)+,_M.replace(w,w#),D(*^$|!~?),P\\+O+*(+M+)+O+*(?:+D+O+*(?:(\)((?:\\\\.|^\\\\)*?)\\3|(+_+)|)|)+O+*\\,H:(+M+)(?:\\((?:(\)((?:\\\\.|^\\\\)*?)\\2|(^()\\*|(?:(?:+P+)|^:|\\\\.)*|.*))\\)|),B:(even|odd|eq|gt|lt|nth|first|last)(?:\\(+O+*((?:-\\d)?\\d*)+O+*\\)|)(?^-|$),jnew RegExp(^+O++|((?:^|^\\\\)(?:\\\\.)*)+O++$,g),Fnew RegExp(^+O+*,+O+*),Inew RegExp(^+O+*(\\x20\\t\\r\\n\\f>+~)+O+*),qnew RegExp(H),R/^(?:#(\w\-+)|(\w+)|\.(\w\-+))$/,U/^:not/,z/\x20\t\r\n\f*+~/,W/:not\($/,X/h\d/i,V/input|select|textarea|button/i,$/\\(?!\\)/g,J{ID:new RegExp(^#(+M+)),CLASS:new RegExp(^\\.(+M+)),NAME:new RegExp(^\\name\?(+M+)\?\\),TAG:new RegExp(^(+M.replace(w,w*)+)),ATTR:new RegExp(^+P),PSEUDO:new RegExp(^+H),POS:new RegExp(B,i),CHILD:new RegExp(^:(only|nth|first|last)-child(?:\\(+O+*(even|odd|((+-|)(\\d*)n|)+O+*(?:(+-|)+O+*(\\d+)|))+O+*\\)|),i),needsContext:new RegExp(^+O+*>+~|+B,i)},Kfunction(e){var tg.createElement(div);try{return e(t)}catch(n){return!1}finally{tnull}},QK(function(e){return e.appendChild(g.createComment()),!e.getElementsByTagName(*).length}),GK(function(e){return e.innerHTMLa href#>/a>,e.firstChild&&typeof e.firstChild.getAttribute!p&&e.firstChild.getAttribute(href)#}),YK(function(e){e.innerHTMLselect>/select>;var ttypeof e.lastChild.getAttribute(multiple);return t!boolean&&t!string}),ZK(function(e){return e.innerHTMLdiv classhidden e>/div>div classhidden>/div>,!e.getElementsByClassName||!e.getElementsByClassName(e).length?!1:(e.lastChild.classNamee,e.getElementsByClassName(e).length2)}),etK(function(e){e.idd+0,e.innerHTMLa name+d+>/a>div name+d+>/div>,y.insertBefore(e,y.firstChild);var tg.getElementsByName&&g.getElementsByName(d).length2+g.getElementsByName(d+0).length;return r!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)0.nodeType}catch(tt){xfunction(e){var t,n;for(;tthise;e++)n.push(t);return n}}nt.matchesfunction(e,t){return nt(e,null,null,t)},nt.matchesSelectorfunction(e,t){return nt(t,null,null,e).length>0},snt.getTextfunction(e){var t,n,r0,ie.nodeType;if(i){if(i1||i9||i11){if(typeof e.textContentstring)return e.textContent;for(ee.firstChild;e;ee.nextSibling)n+s(e)}else if(i3||i4)return e.nodeValue}else for(;ter;r++)n+s(t);return n},ont.isXMLfunction(e){var te&&(e.ownerDocument||e).documentElement;return t?t.nodeName!HTML:!1},unt.containsy.contains?function(e,t){var ne.nodeType9?e.documentElement:e,rt&&t.parentNode;return er||!!(r&&r.nodeType1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(tt.parentNode)if(te)return!0;return!1},nt.attrfunction(e,t){var n,ro(e);return r||(tt.toLowerCase()),(ni.attrHandlet)?n(e):r||Y?e.getAttribute(t):(ne.getAttributeNode(t),n?typeof etboolean?et?t:null:n.specified?n.value:null:null)},int.selectors{cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute(href,2)},type:function(e){return e.getAttribute(type)}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!p&&!n){var rt.getElementById(e);return r&&r.parentNode?r:}}:function(e,n,r){if(typeof n.getElementById!p&&!r){var in.getElementById(e);return i?i.ide||typeof i.getAttributeNode!p&&i.getAttributeNode(id).valuee?i:t:}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!p)return t.getElementsByTagName(e)}:function(e,t){var nt.getElementsByTagName(e);if(e*){var r,i,s0;for(;rns;s++)r.nodeType1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!p&&!n)return t.getElementsByClassName(e)}},relative:{>:{dir:parentNode,first:!0}, :{dir:parentNode},+:{dir:previousSibling,first:!0},~:{dir:previousSibling}},preFilter:{ATTR:function(e){return e1e1.replace($,),e3(e4||e5||).replace($,),e2~&&(e3 +e3+ ),e.slice(0,4)},CHILD:function(e){return e1e1.toLowerCase(),e1nth?(e2||nt.error(e0),e3+(e3?e4+(e5||1):2*(e2even||e2odd)),e4+(e6+e7||e2odd)):e2&&nt.error(e0),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e0))return null;if(e3)e2e3;else if(te4)q.test(t)&&(nut(t,!0))&&(nt.indexOf(),t.length-n)-t.length)&&(tt.slice(0,n),e0e0.slice(0,n)),e2t;return e.slice(0,3)}},filter:{ID:r?function(e){return ee.replace($,),function(t){return t.getAttribute(id)e}}:function(e){return ee.replace($,),function(t){var ntypeof t.getAttributeNode!p&&t.getAttributeNode(id);return n&&n.valuee}},TAG:function(e){return e*?function(){return!0}:(ee.replace($,).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()e})},CLASS:function(e){var tkde+ ;return t||(tnew RegExp((^|+O+)+e+(+O+|$)))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!p&&e.getAttribute(class)||)})},ATTR:function(e,t,n){return function(r,i){var snt.attr(r,e);return snull?t!:t?(s+,t?sn:t!?s!n:t^?n&&s.indexOf(n)0:t*?n&&s.indexOf(n)>-1:t$?n&&s.substr(s.length-n.length)n:t~?( +s+ ).indexOf(n)>-1:t|?sn||s.substr(0,n.length+1)n+-:!1):!0}},CHILD:function(e,t,n,r){return enth?function(e){var t,i,se.parentNode;if(n1&&r0)return!0;if(s){i0;for(ts.firstChild;t;tt.nextSibling)if(t.nodeType1){i++;if(et)break}}return i-r,in||i%n0&&i/n>0}:function(t){var nt;switch(e){caseonly:casefirst:while(nn.previousSibling)if(n.nodeType1)return!1;if(efirst)return!0;nt;caselast:while(nn.nextSibling)if(n.nodeType1)return!1;return!0}}},PSEUDO:function(e,t){var n,ri.pseudose||i.setFilterse.toLowerCase()||nt.error(unsupported pseudo: +e);return rd?r(t):r.length>1?(ne,e,,t,i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,sr(e,t),os.length;while(o--)iT.call(e,so),ei!(niso)}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t,n,ra(e.replace(j,$1));return rd?N(function(e,t,n,i){var s,or(e,null,i,),ue.length;while(u--)if(sou)eu!(tus)}):function(e,i,s){return t0e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled!1},disabled:function(e){return e.disabled!0},checked:function(e){var te.nodeName.toLowerCase();return tinput&&!!e.checked||toption&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;ee.firstChild;while(e){if(e.nodeName>@||(te.nodeType)3||t4)return!1;ee.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()input&&(te.type)text&&((ne.getAttribute(type))null||n.toLowerCase()t)},radio:rt(radio),checkbox:rt(checkbox),file:rt(file),password:rt(password),image:rt(image),submit:it(submit),reset:it(reset),button:function(e){var te.nodeName.toLowerCase();return tinput&&e.typebutton||tbutton},input:function(e){return V.test(e.nodeName)},focus:function(e){var te.ownerDocument;return et.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return ee.ownerDocument.activeElement},first:st(function(){return0}),last:st(function(e,t){returnt-1}),eq:st(function(e,t,n){returnn0?n+t:n}),even:st(function(e,t){for(var n0;nt;n+2)e.push(n);return e}),odd:st(function(e,t){for(var n1;nt;n+2)e.push(n);return e}),lt:st(function(e,t,n){for(var rn0?n+t:n;--r>0;)e.push(r);return e}),gt:st(function(e,t,n){for(var rn0?n+t:n;++rt;)e.push(r);return e})}},fy.compareDocumentPosition?function(e,t){return et?(l!0,0):(!e.compareDocumentPosition||!t.compareDocumentPosition?e.compareDocumentPosition:e.compareDocumentPosition(t)&4)?-1:1}:function(e,t){if(et)return l!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var n,r,i,s,oe.parentNode,ut.parentNode,ao;if(ou)return ot(e,t);if(!o)return-1;if(!u)return 1;while(a)i.unshift(a),aa.parentNode;au;while(a)s.unshift(a),aa.parentNode;ni.length,rs.length;for(var f0;fn&&fr;f++)if(if!sf)return ot(if,sf);return fn?ot(e,sf,-1):ot(if,t,1)},0,0.sort(f),h!l,nt.uniqueSortfunction(e){var t,n,r1,i0;lh,e.sort(f);if(l){for(;ter;r++)ter-1&&(in.push(r));while(i--)e.splice(ni,1)}return e},nt.errorfunction(e){throw new Error(Syntax error, unrecognized expression: +e)},ant.compilefunction(e,t){var n,r,i,sAde+ ;if(!s){t||(tut(e)),nt.length;while(n--)sht(tn),sd?r.push(s):i.push(s);sA(e,pt(i,r))}return s},g.querySelectorAll&&function(){var e,tvt,n/|\\/g,r/\\x20\t\r\n\f*(^\*)\x20\t\r\n\f*\/g,i:focus,s:active,uy.matchesSelector||y.mozMatchesSelector||y.webkitMatchesSelector||y.oMatchesSelector||y.msMatchesSelector;K(function(e){e.innerHTMLselect>option selected>/option>/select>,e.querySelectorAll(selected).length||i.push(\\+O+*(?:checked|disabled|ismap|multiple|readonly|selected|value)),e.querySelectorAll(:checked).length||i.push(:checked)}),K(function(e){e.innerHTMLp test>/p>,e.querySelectorAll(test^).length&&i.push(*^$+O+*(?:\\|)),e.innerHTMLinput typehidden/>,e.querySelectorAll(:enabled).length||i.push(:enabled,:disabled)}),inew RegExp(i.join(|)),vtfunction(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l!0,cd,hr,pr.nodeType9&&e;if(r.nodeType1&&r.nodeName.toLowerCase()!object){aut(e),(lr.getAttribute(id))?cl.replace(n,\\$&):r.setAttribute(id,c),cid+c+ ,fa.length;while(f--)afc+af.join();hz.test(e)&&r.parentNode||r,pa.join(,)}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute(id)}}return t(e,r,s,o,u)},u&&(K(function(t){eu.call(t,div);try{u.call(t,test!:sizzle),s.push(!,H)}catch(n){}}),snew RegExp(s.join(|)),nt.matchesSelectorfunction(t,n){nn.replace(r,$1);if(!o(t)&&!s.test(n)&&!i.test(n))try{var au.call(t,n);if(a||e||t.document&&t.document.nodeType!11)return a}catch(f){}return nt(n,null,null,t).length>0})}(),i.pseudos.nthi.pseudos.eq,i.filtersmt.prototypei.pseudos,i.setFiltersnew mt,nt.attrv.attr,v.findnt,v.exprnt.selectors,v.expr:v.expr.pseudos,v.uniquent.uniqueSort,v.textnt.getText,v.isXMLDocnt.isXML,v.containsnt.contains}(e);var nt/Until$/,rt/^(?:parents|prev(?:Until|All))/,it/^.^:#\\.,*$/,stv.expr.match.needsContext,ot{children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,uthis;if(typeof e!string)return v(e).filter(function(){for(t0,nu.length;tn;t++)if(v.contains(ut,this))return!0});othis.pushStack(,find,e);for(t0,nthis.length;tn;t++){ro.length,v.find(e,thist,o);if(t>0)for(ir;io.length;i++)for(s0;sr;s++)if(osoi){o.splice(i--,1);break}}return o},has:function(e){var t,nv(e,this),rn.length;return this.filter(function(){for(t0;tr;t++)if(v.contains(this,nt))return!0})},not:function(e){return this.pushStack(ft(this,e,!1),not,e)},filter:function(e){return this.pushStack(ft(this,e,!0),filter,e)},is:function(e){return!!e&&(typeof estring?st.test(e)?v(e,this.context).index(this0)>0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r0,ithis.length,s,ost.test(e)||typeof e!string?v(e,t||this.context):0;for(;ri;r++){nthisr;while(n&&n.ownerDocument&&n!t&&n.nodeType!11){if(o?o.index(n)>-1:v.find.matchesSelector(n,e)){s.push(n);break}nn.parentNode}}return ss.length>1?v.unique(s):s,this.pushStack(s,closest,e)},index:function(e){return e?typeof estring?v.inArray(this0,v(e)):v.inArray(e.jquery?e0:e,this):this0&&this0.parentNode?this.prevAll().length:-1},add:function(e,t){var ntypeof estring?v(e,t):v.makeArray(e&&e.nodeType?e:e),rv.merge(this.get(),n);return this.pushStack(ut(n0)||ut(r0)?r:v.unique(r))},addBack:function(e){return this.add(enull?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelfv.fn.addBack,v.each({parent:function(e){var te.parentNode;return t&&t.nodeType!11?t:null},parents:function(e){return v.dir(e,parentNode)},parentsUntil:function(e,t,n){return v.dir(e,parentNode,n)},next:function(e){return at(e,nextSibling)},prev:function(e){return at(e,previousSibling)},nextAll:function(e){return v.dir(e,nextSibling)},prevAll:function(e){return v.dir(e,previousSibling)},nextUntil:function(e,t,n){return v.dir(e,nextSibling,n)},prevUntil:function(e,t,n){return v.dir(e,previousSibling,n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,iframe)?e.contentDocument||e.contentWindow.document:v.merge(,e.childNodes)}},function(e,t){v.fnefunction(n,r){var iv.map(this,t,n);return nt.test(e)||(rn),r&&typeof rstring&&(iv.filter(r,i)),ithis.length>1&&!ote?v.unique(i):i,this.length>1&&rt.test(e)&&(ii.reverse()),this.pushStack(i,e,l.call(arguments).join(,))}}),v.extend({filter:function(e,t,n){return n&&(e:not(+e+)),t.length1?v.find.matchesSelector(t0,e)?t0::v.find.matches(e,t)},dir:function(e,n,r){var i,sen;while(s&&s.nodeType!9&&(rt||s.nodeType!1||!v(s).is(r)))s.nodeType1&&i.push(s),ssn;return i},sibling:function(e,t){var n;for(;e;ee.nextSibling)e.nodeType1&&e!t&&n.push(e);return n}});var ctabbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video,ht/ jQuery\d+(?:null|\d+)/g,pt/^\s+/,dt/(?!area|br|col|embed|hr|img|input|link|meta|param)((\w:+)^>*)\/>/gi,vt/(\w:+)/,mt/tbody/i,gt/|?\w+;/,yt/(?:script|style|link)/i,bt/(?:script|object|embed|option|style)/i,wtnew RegExp((?:+ct+)\\s/>,i),Et/^(?:checkbox|radio)$/,St/checked\s*(?:^|\s*.checked.)/i,xt/\/(java|ecma)script/i,Tt/^\s*!(?:\CDATA\|\-\-)|\\-{2}>\s*$/g,Nt{option:1,select multiplemultiple>,/select>,legend:1,fieldset>,/fieldset>,thead:1,table>,/table>,tr:2,table>tbody>,/tbody>/table>,td:3,table>tbody>tr>,/tr>/tbody>/table>,col:2,table>tbody>/tbody>colgroup>,/colgroup>/table>,area:1,map>,/map>,_default:0,,},Ctlt(i),ktCt.appendChild(i.createElement(div));Nt.optgroupNt.option,Nt.tbodyNt.tfootNt.colgroupNt.captionNt.thead,Nt.thNt.td,v.support.htmlSerialize||(Nt._default1,Xdiv>,/div>),v.fn.extend({text:function(e){return v.access(this,function(e){return et?v.text(this):this.empty().append((this0&&this0.ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this0){var tv(e,this0.ownerDocument).eq(0).clone(!0);this0.parentNode&&t.insertBefore(this0),t.map(function(){var ethis;while(e.firstChild&&e.firstChild.nodeType1)ee.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var tv(this),nt.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var tv.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,body)||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType1||this.nodeType11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType1||this.nodeType11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this0))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var ev.clean(arguments);return this.pushStack(v.merge(e,this),before,this.selector)}},after:function(){if(!ut(this0))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var ev.clean(arguments);return this.pushStack(v.merge(this,e),after,this.selector)}},remove:function(e,t){var n,r0;for(;(nthisr)!null;r++)if(!e||v.filter(e,n).length)!t&&n.nodeType1&&(v.cleanData(n.getElementsByTagName(*)),v.cleanData(n)),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t0;for(;(ethist)!null;t++){e.nodeType1&&v.cleanData(e.getElementsByTagName(*));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return eenull?!1:e,ttnull?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var nthis0||{},r0,ithis.length;if(et)return n.nodeType1?n.innerHTML.replace(ht,):t;if(typeof estring&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt(vt.exec(e)||,)1.toLowerCase()){ee.replace(dt,$1>/$2>);try{for(;ri;r++)nthisr||{},n.nodeType1&&(v.cleanData(n.getElementsByTagName(*)),n.innerHTMLe);n0}catch(s){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){return ut(this0)?this.length?this.pushStack(v(v.isFunction(e)?e():e),replaceWith,e):this:v.isFunction(e)?this.each(function(t){var nv(this),rn.html();n.replaceWith(e.call(this,t,r))}):(typeof e!string&&(ev(e).detach()),this.each(function(){var tthis.nextSibling,nthis.parentNode;v(this).remove(),t?v(t).before(e):v(n).append(e)}))},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e.concat.apply(,e);var i,s,o,u,a0,fe0,l,cthis.length;if(!v.support.checkClone&&c>1&&typeof fstring&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var sv(this);e0f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this0){iv.buildFragment(e,this,l),oi.fragment,so.firstChild,o.childNodes.length1&&(os);if(s){nn&&v.nodeName(s,tr);for(ui.cacheable||c-1;ac;a++)r.call(n&&v.nodeName(thisa,table)?Lt(thisa,tbody):thisa,au?o:v.clone(o,!0,!0))}osnull,l.length&&v.each(l,function(e,t){t.src?v.ajax?v.ajax({url:t.src,type:GET,dataType:script,async:!1,global:!1,throws:!0}):v.error(no ajax):v.globalEval((t.text||t.textContent||t.innerHTML||).replace(Tt,)),t.parentNode&&t.parentNode.removeChild(t)})}return this}}),v.buildFragmentfunction(e,n,r){var s,o,u,ae0;return nn||i,n!n.nodeType&&n0||n,nn.ownerDocument||n,e.length1&&typeof astring&&a.length512&&ni&&a.charAt(0)&&!bt.test(a)&&(v.support.checkClone||!St.test(a))&&(v.support.html5Clone||!wt.test(a))&&(o!0,sv.fragmentsa,us!t),s||(sn.createDocumentFragment(),v.clean(e,n,s,r),o&&(v.fragmentsau&&s)),{fragment:s,cacheable:o}},v.fragments{},v.each({appendTo:append,prependTo:prepend,insertBefore:before,insertAfter:after,replaceAll:replaceWith},function(e,t){v.fnefunction(n){var r,i0,s,ov(n),uo.length,athis.length1&&this0.parentNode;if((anull||a&&a.nodeType11&&a.childNodes.length1)&&u1)return ot(this0),this;for(;iu;i++)r(i>0?this.clone(!0):this).get(),v(oi)t(r),ss.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test(+e.nodeName+>)?oe.cloneNode(!0):(kt.innerHTMLe.outerHTML,kt.removeChild(okt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType1||e.nodeType11)&&!v.isXMLDoc(e)){Ot(e,o),rMt(e),iMt(o);for(s0;rs;++s)is&&Ot(rs,is)}if(t){At(e,o);if(n){rMt(e),iMt(o);for(s0;rs;++s)At(rs,is)}}return rinull,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,yti&&Ct,b;if(!t||typeof t.createDocumentFragmentundefined)ti;for(s0;(ues)!null;s++){typeof unumber&&(u+);if(!u)continue;if(typeof ustring)if(!gt.test(u))ut.createTextNode(u);else{yy||lt(t),ct.createElement(div),y.appendChild(c),uu.replace(dt,$1>/$2>),a(vt.exec(u)||,)1.toLowerCase(),fNta||Nt._default,lf0,c.innerHTMLf1+u+f2;while(l--)cc.lastChild;if(!v.support.tbody){hmt.test(u),patable&&!h?c.firstChild&&c.firstChild.childNodes:f1table>&&!h?c.childNodes:;for(op.length-1;o>0;--o)v.nodeName(po,tbody)&&!po.childNodes.length&&po.parentNode.removeChild(po)}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)0),c.firstChild),uc.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(ucynull);if(!v.support.appendChecked)for(s0;(ubs)!null;s++)v.nodeName(u,input)?_t(u):typeof u.getElementsByTagName!undefined&&v.grep(u.getElementsByTagName(input),_t);if(n){mfunction(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s0;(ubs)!null;s++)if(!v.nodeName(u,script)||!m(u))n.appendChild(u),typeof u.getElementsByTagName!undefined&&(gv.grep(v.merge(,u.getElementsByTagName(script)),m),b.splice.apply(b,s+1,0.concat(g)),s+g.length)}return b},cleanData:function(e,t){var n,r,i,s,o0,uv.expando,av.cache,fv.support.deleteExpando,lv.event.special;for(;(ieo)!null;o++)if(t||v.acceptData(i)){riu,nr&&ar;if(n){if(n.events)for(s in n.events)ls?v.event.remove(i,s):v.removeEvent(i,s,n.handle);ar&&(delete ar,f?delete iu:i.removeAttribute?i.removeAttribute(u):iunull,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatchfunction(e){ee.toLowerCase();var t/(chrome) \/(\w.+)/.exec(e)||/(webkit) \/(\w.+)/.exec(e)||/(opera)(?:.*version|) \/(\w.+)/.exec(e)||/(msie) (\w.+)/.exec(e)||e.indexOf(compatible)0&&/(mozilla)(?:.*? rv:(\w.+)|)/.exec(e)||;return{browser:t1||,version:t2||0}},ev.uaMatch(o.userAgent),t{},e.browser&&(te.browser!0,t.versione.version),t.chrome?t.webkit!0:t.webkit&&(t.safari!0),v.browsert,v.subfunction(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclassthis,e.fne.prototypethis(),e.fn.constructore,e.subthis.sub,e.fn.initfunction(r,i){return i&&i instanceof v&&!(i instanceof e)&&(ie(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototypee.fn;var te(i);return e}}();var Dt,Pt,Ht,Bt/alpha\(^)*\)/i,jt/opacity(^)*)/,Ft/^(top|right|bottom|left)$/,It/^(none|table(?!-cea).+)/,qt/^margin/,Rtnew RegExp(^(+m+)(.*)$,i),Utnew RegExp(^(+m+)(?!px)a-z%+$,i),ztnew RegExp(^(-+)(+m+),i),Wt{BODY:block},Xt{position:absolute,visibility:hidden,display:block},Vt{letterSpacing:0,fontWeight:400},$tTop,Right,Bottom,Left,JtWebkit,O,Moz,ms,Ktv.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var ntypeof eboolean;return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var nDt(e,opacity);return n?1:n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:v.support.cssFloat?cssFloat:styleFloat},style:function(e,n,r,i){if(!e||e.nodeType3||e.nodeType8||!e.style)return;var s,o,u,av.camelCase(n),fe.style;nv.cssPropsa||(v.cssPropsaQt(f,a)),uv.cssHooksn||v.cssHooksa;if(rt)return u&&getin u&&(su.get(e,!1,i))!t?s:fn;otypeof r,ostring&&(szt.exec(r))&&(r(s1+1)*s2+parseFloat(v.css(e,n)),onumber);if(rnull||onumber&&isNaN(r))return;onumber&&!v.cssNumbera&&(r+px);if(!u||!(setin u)||(ru.set(e,r,i))!t)try{fnr}catch(l){}},css:function(e,n,r,i){var s,o,u,av.camelCase(n);return nv.cssPropsa||(v.cssPropsaQt(e.style,a)),uv.cssHooksn||v.cssHooksa,u&&getin u&&(su.get(e,!0,i)),st&&(sDt(e,n)),snormal&&n in Vt&&(sVtn),r||i!t?(oparseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s{};for(i in t)sie.stylei,e.styleiti;rn.call(e);for(i in t)e.styleisi;return r}}),e.getComputedStyle?Dtfunction(t,n){var r,i,s,o,ue.getComputedStyle(t,null),at.style;return u&&(ru.getPropertyValue(n)||un,r&&!v.contains(t.ownerDocument,t)&&(rv.style(t,n)),Ut.test(r)&&qt.test(n)&&(ia.width,sa.minWidth,oa.maxWidth,a.minWidtha.maxWidtha.widthr,ru.width,a.widthi,a.minWidths,a.maxWidtho)),r}:i.documentElement.currentStyle&&(Dtfunction(e,t){var n,r,ie.currentStyle&&e.currentStylet,se.style;return inull&&s&&st&&(ist),Ut.test(i)&&!Ft.test(t)&&(ns.left,re.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.lefte.currentStyle.left),s.lefttfontSize?1em:i,is.pixelLeft+px,s.leftn,r&&(e.runtimeStyle.leftr)),i?auto:i}),v.each(height,width,function(e,t){v.cssHookst{get:function(e,n,r){if(n)return e.offsetWidth0&&It.test(Dt(e,display))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,boxSizing)border-box):0)}}}),v.support.opacity||(v.cssHooks.opacity{get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||)?.01*parseFloat(RegExp.$1)+:t?1:},set:function(e,t){var ne.style,re.currentStyle,iv.isNumeric(t)?alpha(opacity+t*100+):,sr&&r.filter||n.filter||;n.zoom1;if(t>1&&v.trim(s.replace(Bt,))&&n.removeAttribute){n.removeAttribute(filter);if(r&&!r.filter)return}n.filterBt.test(s)?s.replace(Bt,i):s+ +i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight{get:function(e,t){return v.swap(e,{display:inline-block},function(){if(t)return Dt(e,marginRight)})}}),!v.support.pixelPosition&&v.fn.position&&v.each(top,left,function(e,t){v.cssHookst{get:function(e,n){if(n){var rDt(e,t);return Ut.test(r)?v(e).position()t+px:r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hiddenfunction(e){return e.offsetWidth0&&e.offsetHeight0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,display))none},v.expr.filters.visiblefunction(e){return!v.expr.filters.hidden(e)}),v.each({margin:,padding:,border:Width},function(e,t){v.cssHookse+t{expand:function(n){var r,itypeof nstring?n.split( ):n,s{};for(r0;r4;r++)se+$tr+tir||ir-2||i0;return s}},qt.test(e)||(v.cssHookse+t.setZt)});var rn/%20/g,sn/\\$/,on/\r?\n/g,un/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var nv(this).val();return nnull?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,\r\n)}}):{name:t.name,value:n.replace(on,\r\n)}}).get()}}),v.paramfunction(e,n){var r,i,sfunction(e,t){tv.isFunction(t)?t():tnull?:t,ii.lengthencodeURIComponent(e)++encodeURIComponent(t)};nt&&(nv.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,er,n,s);return i.join(&).replace(rn,+)};var ln,cn,hn/#.*$/,pn/^(.*?): \t*(^\r\n*)\r?$/mg,dn/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn/^(?:GET|HEAD)$/,mn/^\/\//,gn/\?/,yn/script\b^*(?:(?!\/script>)^*)*\/script>/gi,bn/(?&)_^&*/,wn/^(\w\+\.\-+:)(?:\/\/(^\/?#:*)(?::(\d+)|)|)/,Env.fn.load,Sn{},xn{},Tn*/+*;try{cns.href}catch(Nn){cni.createElement(a),cn.href,cncn.href}lnwn.exec(cn.toLowerCase())||,v.fn.loadfunction(e,n,r){if(typeof e!string&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,uthis,ae.indexOf( );return a>0&&(ie.slice(a,e.length),ee.slice(0,a)),v.isFunction(n)?(rn,nt):n&&typeof nobject&&(sPOST),v.ajax({url:e,type:s,dataType:html,data:n,complete:function(e,t){r&&u.each(r,o||e.responseText,t,e)}}).done(function(e){oarguments,u.html(i?v(div>).append(e.replace(yn,)).find(i):e)}),this},v.each(ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend.split( ),function(e,t){v.fntfunction(e){return this.on(t,e)}}),v.each(get,post,function(e,n){vnfunction(e,r,i,s){return v.isFunction(r)&&(ss||i,ir,rt),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,script)},getJSON:function(e,t,n){return v.get(e,t,n,json)},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(te,ev.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln1),global:!0,type:GET,contentType:application/x-www-form-urlencoded; charsetUTF-8,processData:!0,async:!0,accepts:{xml:application/xml, text/xml,html:text/html,text:text/plain,json:application/json, text/javascript,*:Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:responseXML,text:responseText},converters:{* text:e.String,text html:!0,text json:v.parseJSON,text xml:v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,Tn;if(E2)return;E2,u&&clearTimeout(u),ot,ia||,x.readyStatee>0?4:0,s&&(wAn(c,x,s));if(e>200&&e300||e304)c.ifModified&&(Sx.getResponseHeader(Last-Modified),S&&(v.lastModifiedrS),Sx.getResponseHeader(Etag),S&&(v.etagrS)),e304?(Tnotmodified,l!0):(lOn(c,w),Tl.state,yl.data,bl.error,l!b);else{bT;if(!T||e)Terror,e0&&(e0)}x.statuse,x.statusText(n||T)+,l?d.resolveWith(h,y,T,x):d.rejectWith(h,x,T,b),x.statusCode(g),gt,f&&p.trigger(ajax+(l?Success:Error),x,c,l?y:b),m.fireWith(h,x,T),f&&(p.trigger(ajaxComplete,x,c),--v.active||v.event.trigger(ajaxStop))}typeof eobject&&(ne,et),nn||{};var r,i,s,o,u,a,f,l,cv.ajaxSetup({},n),hc.context||c,ph!c&&(h.nodeType||h instanceof v)?v(h):v.event,dv.Deferred(),mv.Callbacks(once memory),gc.statusCode||{},b{},w{},E0,Scanceled,x{readyState:0,setRequestHeader:function(e,t){if(!E){var ne.toLowerCase();ewnwn||e,bet}return this},getAllResponseHeaders:function(){return E2?i:null},getResponseHeader:function(e){var n;if(E2){if(!s){s{};while(npn.exec(i))sn1.toLowerCase()n2}nse.toLowerCase()}return nt?null:n},overrideMimeType:function(e){return E||(c.mimeTypee),this},abort:function(e){return ee||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.successx.done,x.errorx.fail,x.completem.add,x.statusCodefunction(e){if(e){var t;if(E2)for(t in e)gtgt,et;else tex.status,x.always(t)}return this},c.url((e||c.url)+).replace(hn,).replace(mn,ln1+//),c.dataTypesv.trim(c.dataType||*).toLowerCase().split(y),c.crossDomainnull&&(awn.exec(c.url.toLowerCase()),c.crossDomain!(!a||a1ln1&&a2ln2&&(a3||(a1http:?80:443))(ln3||(ln1http:?80:443)))),c.data&&c.processData&&typeof c.data!string&&(c.datav.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E2)return x;fc.global,c.typec.type.toUpperCase(),c.hasContent!vn.test(c.type),f&&v.active++0&&v.event.trigger(ajaxStart);if(!c.hasContent){c.data&&(c.url+(gn.test(c.url)?&:?)+c.data,delete c.data),rc.url;if(c.cache!1){var Nv.now(),Cc.url.replace(bn,$1_+N);c.urlC+(Cc.url?(gn.test(c.url)?&:?)+_+N:)}}(c.data&&c.hasContent&&c.contentType!!1||n.contentType)&&x.setRequestHeader(Content-Type,c.contentType),c.ifModified&&(rr||c.url,v.lastModifiedr&&x.setRequestHeader(If-Modified-Since,v.lastModifiedr),v.etagr&&x.setRequestHeader(If-None-Match,v.etagr)),x.setRequestHeader(Accept,c.dataTypes0&&c.acceptsc.dataTypes0?c.acceptsc.dataTypes0+(c.dataTypes0!*?, +Tn+; q0.01:):c.accepts*);for(l in c.headers)x.setRequestHeader(l,c.headersl);if(!c.beforeSend||c.beforeSend.call(h,x,c)!!1&&E!2){Sabort;for(l in{success:1,error:1,complete:1})xl(cl);okn(xn,c,n,x);if(!o)T(-1,No Transport);else{x.readyState1,f&&p.trigger(ajaxSend,x,c),c.async&&c.timeout>0&&(usetTimeout(function(){x.abort(timeout)},c.timeout));try{E1,o.send(b,T)}catch(k){if(!(E2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn,_n/\?/,Dn/()\?(?&|$)|\?\?/,Pnv.now();v.ajaxSetup({jsonp:callback,jsonpCallback:function(){var eMn.pop()||v.expando+_+Pn++;return thise!0,e}}),v.ajaxPrefilter(json jsonp,function(n,r,i){var s,o,u,an.data,fn.url,ln.jsonp!!1,cl&&Dn.test(f),hl&&!c&&typeof astring&&!(n.contentType||).indexOf(application/x-www-form-urlencoded)&&Dn.test(a);if(n.dataTypes0jsonp||c||h)return sn.jsonpCallbackv.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,oes,c?n.urlf.replace(Dn,$1+s):h?n.dataa.replace(Dn,$1+s):l&&(n.url+(_n.test(f)?&:?)+n.jsonp++s),n.convertersscript jsonfunction(){return u||v.error(s+ was not called),u0},n.dataTypes0json,esfunction(){uarguments},i.always(function(){eso,ns&&(n.jsonpCallbackr.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u0),uot}),script}),v.ajaxSetup({accepts:{script:text/javascript, application/javascript, application/ecmascript, application/x-ecmascript},contents:{script:/javascript|ecmascript/},converters:{text script:function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter(script,function(e){e.cachet&&(e.cache!1),e.crossDomain&&(e.typeGET,e.global!1)}),v.ajaxTransport(script,function(e){if(e.crossDomain){var n,ri.head||i.getElementsByTagName(head)0||i.documentElement;return{send:function(s,o){ni.createElement(script),n.asyncasync,e.scriptCharset&&(n.charsete.scriptCharset),n.srce.url,n.onloadn.onreadystatechangefunction(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onloadn.onreadystatechangenull,r&&n.parentNode&&r.removeChild(n),nt,i||o(200,success)},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bne.ActiveXObject?function(){for(var e in Hn)Hne(0,1)}:!1,jn0;v.ajaxSettings.xhre.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&withCredentialsin e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,an.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)aun.xhrFieldsu;n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!iX-Requested-With&&(iX-Requested-WithXMLHttpRequest);try{for(u in i)a.setRequestHeader(u,iu)}catch(f){}a.send(n.hasContent&&n.data||null),rfunction(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState4)){rt,o&&(a.onreadystatechangev.noop,Bn&&delete Hno);if(i)a.readyState!4&&a.abort();else{ua.status,la.getAllResponseHeaders(),c{},ha.responseXML,h&&h.documentElement&&(c.xmlh);try{c.texta.responseText}catch(p){}try{fa.statusText}catch(p){f}!u&&n.isLocal&&!n.crossDomain?uc.text?200:404:u1223&&(u204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState4?setTimeout(r,0):(o++jn,Bn&&(Hn||(Hn{},v(e).unload(Bn)),Hnor),a.onreadystatechanger):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un/^(?:toggle|show|hide)$/,znnew RegExp(^(?:(-+)|)(+m+)(a-z%*)$,i),Wn/queueHooks$/,XnGn,Vn{*:function(e,t){var n,r,ithis.createTween(e,t),szn.exec(t),oi.cur(),u+o||0,a1,f20;if(s){n+s2,rs3||(v.cssNumbere?:px);if(r!px&&u){uv.css(i.elem,e,!0)||n||1;do aa||.5,u/a,v.style(i.elem,e,u+r);while(a!(ai.cur()/o)&&a!1&&--f)}i.unitr,i.startu,i.ends1?u+(s1+1)*n:n}return i}};v.Animationv.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(te,e*):ee.split( );var n,r0,ie.length;for(;ri;r++)ner,VnnVnn||,Vnn.unshift(t)},prefilter:function(e,t){t?Xn.unshift(e):Xn.push(e)}}),v.TweenYn,Yn.prototype{constructor:Yn,init:function(e,t,n,r,i,s){this.eleme,this.propn,this.easingi||swing,this.optionst,this.startthis.nowthis.cur(),this.endr,this.units||(v.cssNumbern?:px)},cur:function(){var eYn.propHooksthis.prop;return e&&e.get?e.get(this):Yn.propHooks._default.get(this)},run:function(e){var t,nYn.propHooksthis.prop;return this.options.duration?this.postv.easingthis.easing(e,this.options.duration*e,0,1,this.options.duration):this.poste,this.now(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Yn.propHooks._default.set(this),this}},Yn.prototype.init.prototypeYn.prototype,Yn.propHooks{_default:{get:function(e){var t;return e.eleme.propnull||!!e.elem.style&&e.elem.stylee.prop!null?(tv.css(e.elem,e.prop,!1,),!t||tauto?0:t):e.eleme.prop},set:function(e){v.fx.stepe.prop?v.fx.stepe.prop(e):e.elem.style&&(e.elem.stylev.cssPropse.prop!null||v.cssHookse.prop)?v.style(e.elem,e.prop,e.now+e.unit):e.eleme.prope.now}}},Yn.propHooks.scrollTopYn.propHooks.scrollLeft{set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.eleme.prope.now)}},v.each(toggle,show,hide,function(e,t){var nv.fnt;v.fntfunction(r,i,s){return rnull||typeof rboolean||!e&&v.isFunction(r)&&v.isFunction(i)?n.apply(this,arguments):this.animate(Zn(t,!0),r,i,s)}}),v.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Gt).css(opacity,0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var iv.isEmptyObject(e),sv.speed(t,n,r),ofunction(){var tKn(this,v.extend({},e),s);i&&t.stop(!0)};return i||s.queue!1?this.each(o):this.queue(s.queue,o)},stop:function(e,n,r){var ifunction(e){var te.stop;delete e.stop,t(r)};return typeof e!string&&(rn,ne,et),n&&e!!1&&this.queue(e||fx,),this.each(function(){var t!0,ne!null&&e+queueHooks,sv.timers,ov._data(this);if(n)on&&on.stop&&i(on);else for(n in o)on&&on.stop&&Wn.test(n)&&i(on);for(ns.length;n--;)sn.elemthis&&(enull||sn.queuee)&&(sn.anim.stop(r),t!1,s.splice(n,1));(t||!r)&&v.dequeue(this,e)})}}),v.each({slideDown:Zn(show),slideUp:Zn(hide),slideToggle:Zn(toggle),fadeIn:{opacity:show},fadeOut:{opacity:hide},fadeToggle:{opacity:toggle}},function(e,t){v.fnefunction(e,n,r){return this.animate(t,e,n,r)}}),v.speedfunction(e,t,n){var re&&typeof eobject?v.extend({},e):{complete:n||!n&&t||v.isFunction(e)&&e,duration:e,easing:n&&t||t&&!v.isFunction(t)&&t};r.durationv.fx.off?0:typeof r.durationnumber?r.duration:r.duration in v.fx.speeds?v.fx.speedsr.duration:v.fx.speeds._default;if(r.queuenull||r.queue!0)r.queuefx;return r.oldr.complete,r.completefunction(){v.isFunction(r.old)&&r.old.call(this),r.queue&&v.dequeue(this,r.queue)},r},v.easing{linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},v.timers,v.fxYn.prototype.init,v.fx.tickfunction(){var e,nv.timers,r0;qnv.now();for(;rn.length;r++)enr,!e()&&nre&&n.splice(r--,1);n.length||v.fx.stop(),qnt},v.fx.timerfunction(e){e()&&v.timers.push(e)&&!Rn&&(RnsetInterval(v.fx.tick,v.fx.interval))},v.fx.interval13,v.fx.stopfunction(){clearInterval(Rn),Rnnull},v.fx.speeds{slow:600,fast:200,_default:400},v.fx.step{},v.expr&&v.expr.filters&&(v.expr.filters.animatedfunction(e){return v.grep(v.timers,function(t){return et.elem}).length});var er/^(?:body|html)$/i;v.fn.offsetfunction(e){if(arguments.length)return et?this:this.each(function(t){v.offset.setOffset(this,e,t)});var n,r,i,s,o,u,a,f{top:0,left:0},lthis0,cl&&l.ownerDocument;if(!c)return;return(rc.body)l?v.offset.bodyOffset(l):(nc.documentElement,v.contains(n,l)?(typeof l.getBoundingClientRect!undefined&&(fl.getBoundingClientRect()),itr(c),sn.clientTop||r.clientTop||0,on.clientLeft||r.clientLeft||0,ui.pageYOffset||n.scrollTop,ai.pageXOffset||n.scrollLeft,{top:f.top+u-s,left:f.left+a-o}):f)},v.offset{bodyOffset:function(e){var te.offsetTop,ne.offsetLeft;return v.support.doesNotIncludeMarginInBodyOffset&&(t+parseFloat(v.css(e,marginTop))||0,n+parseFloat(v.css(e,marginLeft))||0),{top:t,left:n}},setOffset:function(e,t,n){var rv.css(e,position);rstatic&&(e.style.positionrelative);var iv(e),si.offset(),ov.css(e,top),uv.css(e,left),a(rabsolute||rfixed)&&v.inArray(auto,o,u)>-1,f{},l{},c,h;a?(li.position(),cl.top,hl.left):(cparseFloat(o)||0,hparseFloat(u)||0),v.isFunction(t)&&(tt.call(e,n,s)),t.top!null&&(f.topt.top-s.top+c),t.left!null&&(f.leftt.left-s.left+h),usingin t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this0)return;var ethis0,tthis.offsetParent(),nthis.offset(),rer.test(t0.nodeName)?{top:0,left:0}:t.offset();return n.top-parseFloat(v.css(e,marginTop))||0,n.left-parseFloat(v.css(e,marginLeft))||0,r.top+parseFloat(v.css(t0,borderTopWidth))||0,r.left+parseFloat(v.css(t0,borderLeftWidth))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var ethis.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,position)static)ee.offsetParent;return e||i.body})}}),v.each({scrollLeft:pageXOffset,scrollTop:pageYOffset},function(e,n){var r/Y/.test(n);v.fnefunction(i){return v.access(this,function(e,i,s){var otr(e);if(st)return o?n in o?on:o.document.documentElementi:ei;o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):eis},e,i,arguments.length,null)}}),v.each({Height:height,Width:width},function(e,n){v.each({padding:inner+e,content:n,:outer+e},function(r,i){v.fnifunction(i,s){var oarguments.length&&(r||typeof i!boolean),ur||(i!0||s!0?margin:border);return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElementclient+e:n.nodeType9?(sn.documentElement,Math.max(n.bodyscroll+e,sscroll+e,n.bodyoffset+e,soffset+e,sclient+e)):it?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuerye.$v,typeof definefunction&&define.amd&&define.amd.jQuery&&define(jquery,,function(){return v})})(window);//>/script>script idjqueryArea typetext/javascript>//!CDATA/*jQuery.encoding.digests.sha1.jsSHA-1 digest and associated utility functionsCopyright (c) UnaMesa Association 2009Dual licensed under the MIT and GPL licenses: http://www.opensource.org/licenses/mit-license.php http://www.gnu.org/licenses/gpl.html*/(function($) {if(!$.encoding) $.encoding {}; $.extend($.encoding,{ strToBe32s: function(str) { // Convert a string to an array of big-endian 32-bit words var be; var lenMath.floor(str.length/4); var i, j; for(i0, j0; ilen; i++, j+4) { bei((str.charCodeAt(j)&0xff) 24)|((str.charCodeAt(j+1)&0xff) 16)|((str.charCodeAt(j+2)&0xff) 8)|(str.charCodeAt(j+3)&0xff); } while(jstr.length) { bej>>2 | (str.charCodeAt(j)&0xff)(24-(j*8)%32); j++; } return be; }, be32sToStr: function(be) { // Convert an array of big-endian 32-bit words to a string var str; for(var i0;ibe.length*32;i+8) { str + String.fromCharCode((bei>>5>>>(24-i%32)) & 0xff); } return str; }, be32sToHex: function(be) { // Convert an array of big-endian 32-bit words to a hex string var hex0123456789ABCDEF; var str; for(var i0;ibe.length*4;i++) { str + hex.charAt((bei>>2>>((3-i%4)*8+4))&0xF) + hex.charAt((bei>>2>>((3-i%4)*8))&0xF); } return str; } });})(jQuery);(function($) {if(!$.encoding.digests) $.encoding.digests {}; $.extend($.encoding.digests,{ hexSha1Str: function(str) { // Return, in hex, the SHA-1 hash of a string return $.encoding.be32sToHex($.encoding.digests.sha1Str(str)); }, sha1Str: function(str) { // Return the SHA-1 hash of a string return sha1($.encoding.strToBe32s(str),str.length); }, sha1: function(x,blen) { // Calculate the SHA-1 hash of an array of blen bytes of big-endian 32-bit words return sha1($.encoding.strToBe32s(str),str.length); } }); // Private functions. function sha1(x,blen) { // Calculate the SHA-1 hash of an array of blen bytes of big-endian 32-bit words function add32(a,b) { // Add 32-bit integers, wrapping at 32 bits // Uses 16-bit operations internally to work around bugs in some JavaScript interpreters. var lsw(a&0xFFFF)+(b&0xFFFF); var msw(a>>16)+(b>>16)+(lsw>>16); return (msw16)|(lsw&0xFFFF); } function AA(a,b,c,d,e) { // Cryptographic round helper function. Add five 32-bit integers, wrapping at 32 bits, second parameter is rotated left 5 bits before the addition // Uses 16-bit operations internally to work around bugs in some JavaScript interpreters. b(b>>>27)|(b5); var lsw(a&0xFFFF)+(b&0xFFFF)+(c&0xFFFF)+(d&0xFFFF)+(e&0xFFFF); var msw(a>>16)+(b>>16)+(c>>16)+(d>>16)+(e>>16)+(lsw>>16); return (msw16)|(lsw&0xFFFF); } function RR(w,j) { // Cryptographic round helper function. var nwj-3^wj-8^wj-14^wj-16; return (n>>>31)|(n1); } var lenblen*8; xlen>>5 | 0x80 (24-len%32); x((len+64>>9)4)+15len; var wnew Array(80); var k10x5A827999; var k20x6ED9EBA1; var k30x8F1BBCDC; var k40xCA62C1D6; var h00x67452301; var h10xEFCDAB89; var h20x98BADCFE; var h30x10325476; var h40xC3D2E1F0; for(var i0;ix.length;i+16) { var j0; var t; var ah0; var bh1; var ch2; var dh3; var eh4; while(j16) { wjxi+j; tAA(e,a,d^(b&(c^d)),wj,k1); ed; dc; c(b>>>2)|(b30); ba; at; j++; } while(j20) { wjRR(w,j); tAA(e,a,d^(b&(c^d)),wj,k1); ed; dc; c(b>>>2)|(b30); ba; at; j++; } while(j40) { wjRR(w,j); tAA(e,a,b^c^d,wj,k2); ed; dc; c(b>>>2)|(b30); ba; at; j++; } while(j60) { wjRR(w,j); tAA(e,a,(b&c)|(d&(b|c)),wj,k3); ed; dc; c(b>>>2)|(b30); ba; at; j++; } while(j80) { wjRR(w,j); tAA(e,a,b^c^d,wj,k4); ed; dc; c(b>>>2)|(b30); ba; at; j++; } h0add32(h0,a); h1add32(h1,b); h2add32(h2,c); h3add32(h3,d); h4add32(h4,e); } return h0,h1,h2,h3,h4; }})(jQuery);/*jQuery.twStylesheet.jsjQuery plugin to dynamically insert CSS rules into a documentUsage: jQuery.twStylesheet applies style definitions jQuery.twStylesheet.remove neutralizes style definitionsCopyright (c) UnaMesa Association 2009Triple licensed under the BSD, MIT and GPL licenses: http://www.opensource.org/licenses/bsd-license.php http://www.opensource.org/licenses/mit-license.php http://www.gnu.org/licenses/gpl.html*/(function($) {var defaultId customStyleSheet; // XXX: rename to dynamicStyleSheet?// Add or replace a style sheet// css argument is a string of CSS rule sets// options.id is an optional name identifying the style sheet// options.doc is an optional document reference// N.B.: Uses DOM methods instead of jQuery to ensure cross-browser comaptibility.$.twStylesheet function(css, options) { options options || {}; var id options.id || defaultId; var doc options.doc || document; var el doc.getElementById(id); if(doc.createStyleSheet) { // IE-specific handling if(el) { el.parentNode.removeChild(el); } doc.getElementsByTagName(head)0.insertAdjacentHTML(beforeEnd, style id + id + typetext/css> + css + /style>); // fails without } else { // modern browsers if(el) { el.replaceChild(doc.createTextNode(css), el.firstChild); } else { el doc.createElement(style); el.type text/css; el.id id; el.appendChild(doc.createTextNode(css)); doc.getElementsByTagName(head)0.appendChild(el); } }};// Remove existing style sheet// options.id is an optional name identifying the style sheet// options.doc is an optional document reference$.twStylesheet.remove function(options) { options options || {}; var id options.id || defaultId; var doc options.doc || document; var el doc.getElementById(id); if(el) { el.parentNode.removeChild(el); }};})(jQuery);//>/script>script typetext/javascript>//!CDATAif(useJavaSaver) document.write(applet styleposition:absolute;left:-1px nameTiddlySaver codeTiddlySaver.class archiveTiddlySaver.jar width1 height1>/applet>);//>/script>!--POST-SCRIPT-START-->!--POST-SCRIPT-END-->/body>/html>
Subdomains
Date
Domain
IP
skye.unigaia-brasil.org
2024-09-09
66.154.14.46
www.unigaia-brasil.org
2024-10-23
66.154.14.46
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]