diff --git a/AdminPanel.md b/AdminPanel.md new file mode 100644 index 0000000..6d621ff --- /dev/null +++ b/AdminPanel.md @@ -0,0 +1 @@ +# Admin Panel \ No newline at end of file diff --git a/docs/_book/features.html b/docs/_book/features.html index 2ab0934..4f43920 100644 --- a/docs/_book/features.html +++ b/docs/_book/features.html @@ -362,7 +362,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Mogućnosti","level":"3.2","depth":1,"next":{"title":"Posete","level":"3.3","depth":1,"path":"visits.md","ref":"visits.md","articles":[]},"previous":{"title":"Korisnici","level":"3.1","depth":1,"path":"users.md","ref":"users.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":true},"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"features.md","mtime":"2019-03-11T10:06:17.089Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-11T10:28:15.854Z"},"basePath":".","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Mogućnosti","level":"3.2","depth":1,"next":{"title":"Posete","level":"3.3","depth":1,"path":"visits.md","ref":"visits.md","articles":[]},"previous":{"title":"Korisnici","level":"3.1","depth":1,"path":"users.md","ref":"users.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":true},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"features.md","mtime":"2020-06-22T18:04:13.832Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-06-22T18:33:42.250Z"},"basePath":".","book":{"language":""}}); }); @@ -372,10 +372,6 @@

No results matching " - - - - diff --git a/docs/_book/gitbook/gitbook-plugin-livereload/plugin.js b/docs/_book/gitbook/gitbook-plugin-livereload/plugin.js deleted file mode 100644 index 923b3ae..0000000 --- a/docs/_book/gitbook/gitbook-plugin-livereload/plugin.js +++ /dev/null @@ -1,11 +0,0 @@ -(function() { - var newEl = document.createElement('script'), - firstScriptTag = document.getElementsByTagName('script')[0]; - - if (firstScriptTag) { - newEl.async = 1; - newEl.src = '//' + window.location.hostname + ':35729/livereload.js'; - firstScriptTag.parentNode.insertBefore(newEl, firstScriptTag); - } - -})(); diff --git a/docs/_book/index.html b/docs/_book/index.html index 27cd8fa..cb050b5 100644 --- a/docs/_book/index.html +++ b/docs/_book/index.html @@ -333,7 +333,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Uvod","level":"1.1","depth":1,"next":{"title":"Ideja","level":"2.1","depth":1,"path":"intro/idea.md","ref":"intro/idea.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":true},"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"README.md","mtime":"2019-03-11T10:25:57.917Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-11T10:28:15.854Z"},"basePath":".","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Uvod","level":"1.1","depth":1,"next":{"title":"Ideja","level":"2.1","depth":1,"path":"intro/idea.md","ref":"intro/idea.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":true},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"README.md","mtime":"2020-06-22T18:04:13.800Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-06-22T18:33:42.250Z"},"basePath":".","book":{"language":""}}); }); @@ -343,10 +343,6 @@

No results matching " - - - - diff --git a/docs/_book/intro/idea.html b/docs/_book/intro/idea.html index f4ad543..a9afd5b 100644 --- a/docs/_book/intro/idea.html +++ b/docs/_book/intro/idea.html @@ -333,7 +333,7 @@

No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Ideja","level":"2.1","depth":1,"next":{"title":"Rešenje","level":"2.2","depth":1,"path":"intro/solution.md","ref":"intro/solution.md","articles":[]},"previous":{"title":"Uvod","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":true},"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"intro/idea.md","mtime":"2019-03-11T10:06:17.109Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-11T10:28:15.854Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Ideja","level":"2.1","depth":1,"next":{"title":"Rešenje","level":"2.2","depth":1,"path":"intro/solution.md","ref":"intro/solution.md","articles":[]},"previous":{"title":"Uvod","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":true},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"intro/idea.md","mtime":"2020-06-22T18:04:13.832Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-06-22T18:33:42.250Z"},"basePath":"..","book":{"language":""}}); }); @@ -343,10 +343,6 @@

No results matching " - - - - diff --git a/docs/_book/intro/installation.html b/docs/_book/intro/installation.html index 8671877..4b5701d 100644 --- a/docs/_book/intro/installation.html +++ b/docs/_book/intro/installation.html @@ -310,9 +310,9 @@

Instalacija

  • Pokrenuti `vagrant up kako bi se pokrenula virtualna mašina.
  • Pokrenuti vagrant ssh kako bi pristupili mašini.
  • Pokrenuti cd /vagrant kako bi promenili direktorijum.
  • +
  • Pokrenuti php artisan key:generate.
  • Pokrenuti php artisan storage:link.
  • Pokrenuti php artisan migrate --seed, kako bi pokrenuli migraciju i popunjavanje tabela.
  • -
  • Pokrenuti php artisan key:generate kako bi generisali kripto ključeve.
  • Pristupiti projektu preko podešenog URL-a.
  • @@ -358,7 +358,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Instalacija","level":"2.3","depth":1,"next":{"title":"Korisnici","level":"3.1","depth":1,"path":"users.md","ref":"users.md","articles":[]},"previous":{"title":"Rešenje","level":"2.2","depth":1,"path":"intro/solution.md","ref":"intro/solution.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":true},"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"intro/installation.md","mtime":"2019-03-11T10:06:17.109Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-11T10:28:15.854Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Instalacija","level":"2.3","depth":1,"next":{"title":"Korisnici","level":"3.1","depth":1,"path":"users.md","ref":"users.md","articles":[]},"previous":{"title":"Rešenje","level":"2.2","depth":1,"path":"intro/solution.md","ref":"intro/solution.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":true},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"intro/installation.md","mtime":"2020-06-22T18:04:13.832Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-06-22T18:33:42.250Z"},"basePath":"..","book":{"language":""}}); }); @@ -368,10 +368,6 @@

    No results matching " - - - - diff --git a/docs/_book/intro/solution.html b/docs/_book/intro/solution.html index 0b89b3e..4fb1635 100644 --- a/docs/_book/intro/solution.html +++ b/docs/_book/intro/solution.html @@ -409,7 +409,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Rešenje","level":"2.2","depth":1,"next":{"title":"Instalacija","level":"2.3","depth":1,"path":"intro/installation.md","ref":"intro/installation.md","articles":[]},"previous":{"title":"Ideja","level":"2.1","depth":1,"path":"intro/idea.md","ref":"intro/idea.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":true},"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"intro/solution.md","mtime":"2019-03-11T10:06:17.109Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-11T10:28:15.854Z"},"basePath":"..","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Rešenje","level":"2.2","depth":1,"next":{"title":"Instalacija","level":"2.3","depth":1,"path":"intro/installation.md","ref":"intro/installation.md","articles":[]},"previous":{"title":"Ideja","level":"2.1","depth":1,"path":"intro/idea.md","ref":"intro/idea.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":true},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"intro/solution.md","mtime":"2020-06-22T18:04:13.832Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-06-22T18:33:42.250Z"},"basePath":"..","book":{"language":""}}); }); @@ -419,10 +419,6 @@

    No results matching " - - - - diff --git a/docs/_book/logging.html b/docs/_book/logging.html index b507efd..7ff2ccb 100644 --- a/docs/_book/logging.html +++ b/docs/_book/logging.html @@ -388,7 +388,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Logovanje","level":"3.5","depth":1,"previous":{"title":"Pretplata","level":"3.4","depth":1,"path":"subscription.md","ref":"subscription.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":true},"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"logging.md","mtime":"2019-03-11T10:06:17.109Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-11T10:28:15.854Z"},"basePath":".","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Logovanje","level":"3.5","depth":1,"previous":{"title":"Pretplata","level":"3.4","depth":1,"path":"subscription.md","ref":"subscription.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":true},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"logging.md","mtime":"2020-06-22T18:04:13.832Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-06-22T18:33:42.250Z"},"basePath":".","book":{"language":""}}); }); @@ -398,10 +398,6 @@

    No results matching " - - - - diff --git a/docs/_book/search_index.json b/docs/_book/search_index.json index dcef9cb..5b5875d 100644 --- a/docs/_book/search_index.json +++ b/docs/_book/search_index.json @@ -1 +1 @@ -{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["5.6","7.2.6","bitno","es6","gledati","izrad","je","korišćeni","laravel","modernim","php","pregledačima.","prilikom","projekat","projekta","scss","sledec","su","tehnologij","tehnologije:","u","uvod","veb","vrlo"],"intro/idea.html":["\"kratak\"","alati","aplikaciju.","bi","broj","da","dana","gde","ideja","ima","imao","implementacija","iz","jak","je","kako","kao","karaktera","ko","komunikaciju,","korisnik","link","link,pa","link.","linka.","marketinški","mogućnost","može","mreža,","njegov","njegovog","ograničavaju","ova","ovu","poruci.","poseta","posetio","potencijal,","potpun","potrebno","praćenja","preko","razloga","razni","rodila","samim","se","skrati","skratiti","skraćenog","socijalnih","tako","takođ","tim","tog","u","uvid","veliki","već","za"],"intro/solution.html":["(csprng).","(istih","(redirektovan)","**napomena:","000","1","1.682667016983","1.6866478919983","1.7188358306885","1.7203500270844","1.7273991107941","1.7576761245728","1.796245098114","1.8076210021973","1.8290400505066","1.8754560947418","10","2","3","4","5","5.4669740200043","5.5145440101624","5.5180299282074","5.5527658462524","5.5624511241913","5.5683920383453","5.5897090435028","5.5975389480591","5.666111946106","5.7265629768372","6","7","7.0","7.2.6","8","9","`random_bytes()","ali","bajtovima","biti","bolj","broj","broja.","brz","brzinu","brža","brža,","bude","csprng","da","direktno","dolazi","dosta","drugačiju","funckije,","funkcij","funkcija","funkcija,","funkcije,","gener","generatora","generisanj","generisanja","generišu","gore.","hash","heš","heš,","heš.","heševa","ima","implementaciju","int","iskoristi","ispod.","isti","je","jedinstvenog","jedna","jednostavan.","kao","kasnij","koja","koje","koji","kojih","kolizija","korak","koraku:","korisnik","korisniku","koristi","kriptografski","link","link.","linka","mana","manj","mogućnost","može","na","najbrži","nalaz","nastavku.","navedenih","način","način.","načina","našem","ne","neki","nesiguran","nije","nje","njega","obrat","od","oni","operativni","operativnom","opisani","originalan","otvaranjem","ov","ovaj","ovakva","ovog","pa","pažnju","performans","php","pisanja","pisanja,","po","podeli.","pokazala","pokazuj","pomenuta,","ponavljanja","ponavljanja.","postoji","potreban","prethodno","preusmeren","prilikom","prilično","problem","pruža","radi","rand","rand()","rand().","random","random_byt","random_bytes()","random_bytes().","random_int()","random_int().","razliku","različ","rezultati","rešen","rešenj","reši","sa","se","siguran","sigurn","sigurna","sistem","sistem,","sistemu","slučaju","spor","spora,","spora.","statistika","string","stringa.","su","svaki","svakom","tabe","takođ","takođe,","testiranja","time","toga","treba","trenutku","treći","tri","u","uvek","uz","uzm","velika","verzija","već","vidljivo","više","vrati","vrednosti","vrednosti),","za","zasebnu","zato","zbog","će","čak","česta","što"],"intro/installation.html":[",",".env",".env.",".env.exampl","/vagrant","127.0.0.1:8000.","192.168.10.10.","`vagrant","a.","artisan","bazi.","bi","cd","compos","da","direktorijum.","dva","fajl","fajl,","fajla,","generisali","generisati","homestead","host","im","instalacija","install.","instancu.","izmen","izmenitihomestead.yaml","je","jednostavniji","jednostavno,","kako","key:gener","ključeve.","koji","kopiju","koristi","kripto","laravelom","make","mašina.","mašine.","mašine:","mašini.","migraciju","migrat","moguć","mu","na","naprav","način:","načina.","o","operativnog","ovo","php","podes","podešenog","podigli","pokazuj","pokrenula","pokrenuli","pokrenuti","pokretanj","popunjavanj","postav","pravljenj","preko","prilično","pristup","pristupili","projekat","projekat.","projekta","projektu","promen","promenili","prvi","sajtu.","se","seed,","server","sistema,","ssh","storage:link.","tabela.","tabelu","tako","takođ","u","up","upotrebljen","url","vagrant","vendor\\\\bin\\\\homestead","virtualna","virtueln","više","vrednosti.","za","zato","će","što","željeni"],"logging.html":["$request","':boom:',","'browser'","'critical',","'driver'","'emoji'","'ip'","'level'","'linkcutt","'referer'","'slack'","'slack',","'url'","'username'","(middlewar",".env","//","0","1","2","3","4","5","5424","6","7","=>","=>$request",">ip(),",">server('http_referer'),",">server('http_user_agent'),","[","]);","],","access","action","admin","administr","administratora","administratora.","alert:","aplikacij","automatski","biva","code","condit","config\\logging.php","critic","critical.","critical:","da","debug","debug:","desi,","dodati","dodatni","dode","emergency:","env('log_slack_webhook_url'),","error","error:","fajl","fajlu","fasade:","ga","gore","grešk","greška","greške,a","greške.","grešku","hook","https://api.slack.com/incom","https://tools.ietf.org/html/rfc5424","ima","immedi","inform","informational:","iskopirati","izgleda","izrad","izuzetak","izuzetaka","je","je:","kad","kako","kanala:","kao","koja","koji","konfiguraciji","korisnik","koristi","laravel","level","li","log","log',","log,","log::alert($message);","log::critical($message);","log::critical('someon","log::debug($message);","log::emergency($message);","log::error($message);","log::info($message);","log::notice($message);","log::warning($message);","log_slack_webhook_url","logavanj","logovanj","logovanja","logovanje:","loguj","logujemo","mail.","messag","minimalni","moguć","može","možemo","na","nalazi","napravi","način","neko","nekom","nema","nivo","njegov","normal","notice:","numer","obavestimo","obaveštava","obaveštenj","obradu","obradu.","obuhvata","od","odavd","odgovarajuć","određen","okruženje,","opcija.","ovd","ovo","pa","panel.',","permisij","permisije.","po","podešen","pomoću","poruku:","posredniku","potencijaln","potrebno","pratiti","preko","pretvara","prijavljuj","prilikom","primi","pristupi","profesinalniji","promen","proverava","radi","recimo","rešen.","rfc","se","sentri","sentry.","sever","signific","singl","sistemu","slack","specifikaciji.","standardni","statu","storage\\logs\\laravel.log","svaka","svaki","system","taj","taken","takođ","task","tima.","trenutno","tri","u","u)","u.","u:","unus","urad","url","važno","važnosti","važnosti:","veb","vid","više","vrlo","vrši","warn","warning:","webhook","za","čiji","članova","šalj","šalju","želi","želimo"],"users.html":["admin","admin,","administr","ako","ali","bazi","biti","bitno","biće","da","dinamički","dobija","dok","druge","ga","generiš","gost","gost.","gosta,","gostu","heš","heš,","heš.","ili","ima","ist","iz","je","jedinstven","jedinstven.","jer","kada","kao","koje","koji","koji,","korisnici","korisnik","korisnik,","korisnika","korisnika.","koristinka:","li","link","linka","linka,","moguć","mogućnost","mora","može","na","nastavku","ne","ne,","neki","nema","nije","novi","od","odabere.","opcij","opcija","opisan","ovo","paketa,","panelu.","planova","pomoću","postojeći","postoji","postoji.","početnoj","pošalj","prati","praćenja","pretplati","pretplatu.","prijavi","prilikom","pristup","pristupi","projekat","provera","prošir","razloga","raznih","registrovani","sa","sadrži","sajtu","samo","se","skrati","skraćenog","skraćivanj","skraćivanja","slučaju","statistike,","statistiku","strane,","strani.","suprotnom","svaki","sve","taj","takođe,","teksta","tipova","tri","u","uradi","uz","već","vodi","vraća","vrste","za","zagarantovan","zahtev","što","želi","željeni"],"visits.html":["\"najbolje\"","(geografska","(jedinstven","(na","(preusmeravanje)","a.","adresa","adresa.","adrese)","adresom","ako","ali","aplikacij","aplikacija","atributima","bez","bogata","broj","da","dobija","dobić","dodatna","dolaz","dođe","došao","država.","dužina).","ga","gore","grad.","heš","hešu,","id","ideja","identifikacioni","interesanta","ip","jasnu","je","jedinstven","jedinstven.","jedinstvena","jedinstvena.","jedinstveni","jedinstvenih","jedinstvenosti","jedna","jest","kada","kako","kao","koja","koji","koju","kolačić","kolačić,","kolačića","kolačićima","korisnik","korisnik.","korisniku","koristi","koristi.","korsnik","li","link","link.","linka,","lokacija","mogućnost","mora","može","na","naravno","način","ne","nego","neki","nije","niti","od","odakl","odlučeno","odmah","određivanj","određivanja","onda","opisano.","osnovu","ovakav","ovim","ovom","pamti","pamćenja","paradoks,","poklapaju.","poklop","poset","poseta","poseta,","poseta?","poseti","posetili","posetio","posetioca","postoji","potrebno","prati","prati,","prati.","praćenj","praćenja","pre","preciznijim.","pregledačem","pretraživač","pretraživača,","pretraživača.","preusmeri","prilikom","prilično","pristupi","projekta","prover","provera","proveri","proverimo","prva","prvobitni","računa","rešenj","sa","sajta).","samo","se","sesij","sistem,","sledeć","sliku","slučaju","statistik","statistika","su","suprotnom","svaka","svaki","svakog","taj","tačna","tim","tip","tip,","tu","u","unikatno","uopšt","veb","verzija","već","vpn","vrednosti","vrednosti:","vrlo","za","znači","čini","čuvaju","širina","šta","što"],"subscription.html":["a.","administr","ako","bazi","biće","broj","cashier","da","dana,","dinamički","dobija","godina.","ili","ima","informacij","isteka","izaber","je","kada","karticama,","kartice,","koji","korisnik","korisniku","kraju","kreditnim","laravel","meseci","može","n","na","način","ne","nedelja,","neko","nema","novac","nudi","o","odmah","određeni","opcija.","opcijama.","opciju","opet","paket","plaćanja","potpuno","preko","pretpatu","pretplat","pretplata","pretplate,","pretplate.","pretplati","pristup","razloga","realizovan","realizovano","realizovano,","sa","se","sigurnosnih","skida","skinut","stipe","svaki","sve","svim","trajanj","traje","u","unet","već","za","zbog","čuvaju"],"features.html":["'dashboardcontroller@index')","(middlewar","1.","2.","=>","['dashboard']],","a).","adres","ako","atributa","atributi.","bi","brisati","da","detektor","dinamički","dodatn","dodavati,","dolazi","dolazimo","eager","featur","featuremiddlewar","function()","gde","god","groupa","grupa.","grupe","heš","hešu.","https://laravel.com/docs/5.6/eloqu","ih","ili","ima","imati","inicijalnih","isto","iz","izvućemo","javlja","je","jedinstven","jedinstvenih","jedno","kad","kada","kako","koje","koji","kojima","kolekciju","kontrola","korisnik","korisnika","korisnika.","korisničkom","korišćenjem","kroz","laravelu,","li","linka","linka.","load","loading2","lokacij","lokacija","moguć","mogućnost","mogućnosti","mogućnosti.","mora","moći","n+11","na","nastaj","naziv","način","naš","ne.","neke","nekoj","neku","nema","neće","njegov","njegova","njegovi","od","određen","ogranič","ograničava","ograniči","onda","opcij","opcija","opciju","ovaj","ovd","panel","panelu.","po","pomoću","poset","poseta","posrednik","posrednik,","posrednika","pošto","prati","praćenj","preko","prenet","prenosi","pretplata","pretplate.","pretplatom","pretplatu,","prilikom","pristup","pristupa","pristupi","pristupljeno","prisupa","problem","problem,","problem.","projekat:","prover","provera","proveravamo","proveri","prođemo","relationships#eag","rešen","route::get('/dashboard',","route::group(['features'","ruta","ruta.","rutama","ruter","rutera.","ruteru.","sa","samo","se","slug","stalno","statistika","stavku","stvari.","su","svaku","sve","svi","svoje","svojom","ta","tako","tehnik","tu","u","unes","upita","uveden","uvid","uzimamo","vezana","vezivati","vpn","vratimo","vraća","vraćanja","vršila","za","zadužen","zahteva","zavisnosti","znači","{","});","će","čest","što","želi","želji.","↩"]},"length":9},"tokenStore":{"root":{"0":{"0":{"0":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}}},"docs":{}},"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"1":{"0":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"0":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"1":{"0":{"docs":{},".":{"1":{"0":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"6":{"8":{"2":{"6":{"6":{"7":{"0":{"1":{"6":{"9":{"8":{"3":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"6":{"6":{"4":{"7":{"8":{"9":{"1":{"9":{"9":{"8":{"3":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"1":{"8":{"8":{"3":{"5":{"8":{"3":{"0":{"6":{"8":{"8":{"5":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"2":{"0":{"3":{"5":{"0":{"0":{"2":{"7":{"0":{"8":{"4":{"4":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"3":{"9":{"9":{"1":{"1":{"0":{"7":{"9":{"4":{"1":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"5":{"7":{"6":{"7":{"6":{"1":{"2":{"4":{"5":{"7":{"2":{"8":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"9":{"6":{"2":{"4":{"5":{"0":{"9":{"8":{"1":{"1":{"4":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"8":{"0":{"7":{"6":{"2":{"1":{"0":{"0":{"2":{"1":{"9":{"7":{"3":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"2":{"9":{"0":{"4":{"0":{"0":{"5":{"0":{"5":{"0":{"6":{"6":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"5":{"4":{"5":{"6":{"0":{"9":{"4":{"7":{"4":{"1":{"8":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"2":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"3":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"4":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"5":{"4":{"2":{"4":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"docs":{}},"docs":{}},"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"4":{"6":{"6":{"9":{"7":{"4":{"0":{"2":{"0":{"0":{"0":{"4":{"3":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"5":{"1":{"4":{"5":{"4":{"4":{"0":{"1":{"0":{"1":{"6":{"2":{"4":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"8":{"0":{"2":{"9":{"9":{"2":{"8":{"2":{"0":{"7":{"4":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"5":{"2":{"7":{"6":{"5":{"8":{"4":{"6":{"2":{"5":{"2":{"4":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"6":{"2":{"4":{"5":{"1":{"1":{"2":{"4":{"1":{"9":{"1":{"3":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"8":{"3":{"9":{"2":{"0":{"3":{"8":{"3":{"4":{"5":{"3":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"8":{"9":{"7":{"0":{"9":{"0":{"4":{"3":{"5":{"0":{"2":{"8":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"9":{"7":{"5":{"3":{"8":{"9":{"4":{"8":{"0":{"5":{"9":{"1":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"6":{"6":{"6":{"1":{"1":{"1":{"9":{"4":{"6":{"1":{"0":{"6":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"./":{"ref":"./","tf":0.043478260869565216}}},"7":{"2":{"6":{"5":{"6":{"2":{"9":{"7":{"6":{"8":{"3":{"7":{"2":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"6":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"7":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"0":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"2":{"docs":{},".":{"6":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}}},"docs":{}}},"8":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"9":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{},"b":{"docs":{},"i":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/installation.html":{"ref":"intro/installation.html","tf":0.043243243243243246},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"users.html":{"ref":"users.html","tf":0.0053475935828877}}}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877}}}},"v":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"ć":{"docs":{},"e":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.029850746268656716},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"a":{"docs":{},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"z":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"ž":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"a":{"docs":{},"j":{"docs":{},"t":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}},"z":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}},"o":{"docs":{},"l":{"docs":{},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"u":{"docs":{},"d":{"docs":{},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"e":{"docs":{},"z":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"e":{"docs":{},"s":{"6":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}},"docs":{}},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}},"n":{"docs":{},"v":{"docs":{},"(":{"docs":{},"'":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"_":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}}}}}}},"d":{"docs":{},"e":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"features.html":{"ref":"features.html","tf":0.006993006993006993}}}},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"l":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811}}}},"t":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}},"š":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"s":{"docs":{},"t":{"docs":{"users.html":{"ref":"users.html","tf":0.026737967914438502}},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"a":{"docs":{},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}},"u":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},"d":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},".":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"r":{"docs":{},"e":{"docs":{},"š":{"docs":{},"k":{"docs":{"logging.html":{"ref":"logging.html","tf":0.009404388714733543}},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"e":{"docs":{},",":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"u":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"a":{"docs":{},"d":{"docs":{},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"u":{"docs":{},"p":{"docs":{},"a":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"e":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993}}}}}}},"i":{"docs":{},"z":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"u":{"docs":{},"z":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"k":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"v":{"docs":{},"u":{"docs":{},"ć":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}},"d":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}},"e":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":10.029850746268657},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"k":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}}}}}}},"m":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811}},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.029850746268656716},"intro/solution.html":{"ref":"intro/solution.html","tf":0.01644736842105263},"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"users.html":{"ref":"users.html","tf":0.03208556149732621},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"features.html":{"ref":"features.html","tf":0.02097902097902098}},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}},"t":{"docs":{},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"n":{"docs":{},"t":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":10.005405405405405}}}}}}},"l":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811}}}}},"n":{"docs":{},"c":{"docs":{},"u":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{},"l":{"docs":{},"n":{"docs":{},"i":{"docs":{},"h":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"d":{"docs":{},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"t":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.009868421052631578}}},"e":{"docs":{},"k":{"docs":{},"a":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"l":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"p":{"docs":{"visits.html":{"ref":"visits.html","tf":0.017543859649122806}}},"h":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"j":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/idea.html":{"ref":"intro/idea.html","tf":0.029850746268656716},"intro/solution.html":{"ref":"intro/solution.html","tf":0.03289473684210526},"intro/installation.html":{"ref":"intro/installation.html","tf":0.021621621621621623},"logging.html":{"ref":"logging.html","tf":0.03761755485893417},"users.html":{"ref":"users.html","tf":0.016042780748663103},"visits.html":{"ref":"visits.html","tf":0.0456140350877193},"subscription.html":{"ref":"subscription.html","tf":0.04395604395604396},"features.html":{"ref":"features.html","tf":0.03146853146853147}},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"o":{"docs":{},"g":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"h":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"n":{"docs":{},"i":{"docs":{},"j":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}},"o":{"docs":{},",":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}}}}}}}},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"r":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"s":{"docs":{},"t":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"a":{"docs":{},"k":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}},"s":{"docs":{},"n":{"docs":{},"u":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"v":{"docs":{},"l":{"docs":{},"j":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"k":{"docs":{},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}},"r":{"docs":{},"i":{"docs":{},"š":{"docs":{},"ć":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}},"j":{"docs":{},"e":{"docs":{},"m":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993}}}}}}}}},"s":{"docs":{},"n":{"docs":{},"i":{"docs":{},"k":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.029850746268656716},"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"users.html":{"ref":"users.html","tf":0.03208556149732621},"visits.html":{"ref":"visits.html","tf":0.021052631578947368},"subscription.html":{"ref":"subscription.html","tf":0.03296703296703297},"features.html":{"ref":"features.html","tf":0.02097902097902098}},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.006993006993006993}},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"c":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":10.005347593582888}}}},"č":{"docs":{},"k":{"docs":{},"o":{"docs":{},"m":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"t":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406},"logging.html":{"ref":"logging.html","tf":0.006269592476489028},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"n":{"docs":{},"k":{"docs":{},"a":{"docs":{},":":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"a":{"docs":{},"k":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.03289473684210526}},"u":{"docs":{},":":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"s":{"docs":{},"n":{"docs":{},"i":{"docs":{},"k":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"m":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"k":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"u":{"docs":{},",":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.017482517482517484}}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406},"logging.html":{"ref":"logging.html","tf":0.018808777429467086},"users.html":{"ref":"users.html","tf":0.0106951871657754},"visits.html":{"ref":"visits.html","tf":0.010526315789473684},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"features.html":{"ref":"features.html","tf":0.01048951048951049}},"h":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"m":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"u":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"a":{"docs":{},"č":{"docs":{},"i":{"docs":{},"ć":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},",":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}},"e":{"docs":{},"k":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"u":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"j":{"docs":{},"u":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811}}}}}},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}},"a":{"docs":{},"k":{"docs":{},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/installation.html":{"ref":"intro/installation.html","tf":0.043243243243243246},"logging.html":{"ref":"logging.html","tf":0.009404388714733543},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.006269592476489028},"users.html":{"ref":"users.html","tf":0.016042780748663103},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}},"r":{"docs":{},"a":{"docs":{},"k":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"m":{"docs":{},"a":{"docs":{},",":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"e":{"docs":{},",":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}},"s":{"docs":{},"n":{"docs":{},"i":{"docs":{},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"d":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"f":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}}}}}}}}}}}}},"a":{"docs":{},"j":{"docs":{},"u":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}}},"o":{"docs":{},"z":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811}}}}}}}}}},"l":{"docs":{},"j":{"docs":{},"u":{"docs":{},"č":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"logging.html":{"ref":"logging.html","tf":0.012539184952978056},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"o":{"docs":{},"m":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}},"u":{"docs":{},",":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"users.html":{"ref":"users.html","tf":0.0106951871657754},"visits.html":{"ref":"visits.html","tf":0.017543859649122806},"features.html":{"ref":"features.html","tf":0.017482517482517484}},"n":{"docs":{},"k":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"users.html":{"ref":"users.html","tf":0.026737967914438502},"visits.html":{"ref":"visits.html","tf":0.017543859649122806}},",":{"docs":{},"p":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}},".":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.010526315789473684}}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},".":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"o":{"docs":{},"g":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}},"'":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},":":{"docs":{},":":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},"'":{"docs":{},"s":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"n":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":10.009404388714733}},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"e":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},"u":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"k":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"a":{"docs":{},"d":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"i":{"docs":{},"n":{"docs":{},"g":{"2":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"docs":{}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}}}}}}},"g":{"docs":{},"u":{"docs":{},"ć":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811},"logging.html":{"ref":"logging.html","tf":0.006269592476489028},"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0213903743315508},"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"features.html":{"ref":"features.html","tf":0.01048951048951049}},"i":{"docs":{"features.html":{"ref":"features.html","tf":10.027972027972028}},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}},"ž":{"docs":{},"e":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"m":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"r":{"docs":{},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"features.html":{"ref":"features.html","tf":0.006993006993006993}}}},"ć":{"docs":{},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"š":{"docs":{},"k":{"docs":{},"i":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"k":{"docs":{},"e":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}},"š":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}},"e":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}},":":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}},"i":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}}},"i":{"docs":{},"l":{"docs":{},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"r":{"docs":{},"e":{"docs":{},"ž":{"docs":{},"a":{"docs":{},",":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}}},"i":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"u":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811}}}}}},"t":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811}}}}}},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"n":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}}}}}}}},"u":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}}},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}},"p":{"docs":{},"h":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/solution.html":{"ref":"intro/solution.html","tf":0.009868421052631578},"intro/installation.html":{"ref":"intro/installation.html","tf":0.032432432432432434}}}},"r":{"docs":{},"e":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"č":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}}}}},"e":{"docs":{},"m":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}},"k":{"docs":{},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/installation.html":{"ref":"intro/installation.html","tf":0.016216216216216217},"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"features.html":{"ref":"features.html","tf":0.006993006993006993}}}},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"n":{"docs":{},"o":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.02197802197802198}},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}},"u":{"docs":{},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},",":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"a":{"docs":{"subscription.html":{"ref":"subscription.html","tf":10.021978021978022},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"e":{"docs":{},",":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}},".":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"features.html":{"ref":"features.html","tf":0.01048951048951049}}}},"o":{"docs":{},"m":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"r":{"docs":{},"a":{"docs":{},"ž":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"č":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"a":{"docs":{},",":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}}}}}}},"c":{"docs":{},"i":{"docs":{},"z":{"docs":{},"n":{"docs":{},"i":{"docs":{},"j":{"docs":{},"i":{"docs":{},"m":{"docs":{},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"k":{"docs":{},"o":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"features.html":{"ref":"features.html","tf":0.006993006993006993}}}}},"č":{"docs":{},"n":{"docs":{},"o":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811},"users.html":{"ref":"users.html","tf":0.0106951871657754},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"features.html":{"ref":"features.html","tf":0.006993006993006993}},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"l":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"l":{"docs":{},"j":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"l":{"docs":{},"j":{"docs":{},"u":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}},"m":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"k":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811},"users.html":{"ref":"users.html","tf":0.0053475935828877}},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}},":":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/installation.html":{"ref":"intro/installation.html","tf":0.016216216216216217},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"u":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811}}}}}}},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"features.html":{"ref":"features.html","tf":0.01048951048951049}},",":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}}}},"f":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"n":{"docs":{},"i":{"docs":{},"j":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"v":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"m":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"m":{"docs":{},"o":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"š":{"docs":{},"i":{"docs":{},"r":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},"đ":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"a":{"docs":{},"ć":{"docs":{},"e":{"docs":{},"n":{"docs":{},"j":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"features.html":{"ref":"features.html","tf":0.013986013986013986}},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"v":{"docs":{},"l":{"docs":{},"j":{"docs":{},"e":{"docs":{},"n":{"docs":{},"j":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}}}},"t":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"t":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},",":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},"u":{"docs":{},"ž":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"v":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"o":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"n":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}}}}}}}}},"o":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.006269592476489028},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"i":{"docs":{},".":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}},"k":{"docs":{},"u":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"visits.html":{"ref":"visits.html","tf":10.007017543859648},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"visits.html":{"ref":"visits.html","tf":0.010526315789473684},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},",":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"?":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}},"c":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"l":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.014035087719298246}},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754}}}},"e":{"docs":{},"ć":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}},"a":{"docs":{},"v":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"n":{"docs":{},"i":{"docs":{},"k":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"u":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},",":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}},"n":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"n":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}},"o":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"n":{"docs":{},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"a":{"docs":{},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"s":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}},"š":{"docs":{},"e":{"docs":{},"n":{"docs":{"logging.html":{"ref":"logging.html","tf":0.012539184952978056}},"o":{"docs":{},"g":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}}}},"i":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}}},"k":{"docs":{},"a":{"docs":{},"z":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"u":{"docs":{},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811}}}},"t":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.07567567567567568}}}}}},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}}}},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"j":{"docs":{},"u":{"docs":{},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"o":{"docs":{},"p":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}},"o":{"docs":{},"ć":{"docs":{},"u":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.006993006993006993}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"l":{"docs":{},"j":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"n":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811}}}}}}}}}}},"č":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{},"j":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}}},"š":{"docs":{},"a":{"docs":{},"l":{"docs":{},"j":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},"t":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"ž":{"docs":{},"n":{"docs":{},"j":{"docs":{},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993}},".":{"docs":{},"'":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"u":{"docs":{},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.006993006993006993}}}}}}},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"a":{"docs":{},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}},"m":{"docs":{},"t":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"ć":{"docs":{},"e":{"docs":{},"n":{"docs":{},"j":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"k":{"docs":{},"s":{"docs":{},",":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"e":{"docs":{},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}},"ć":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{},"a":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}}}},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}},"ć":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},"u":{"docs":{},"č":{"docs":{},"a":{"docs":{},"j":{"docs":{},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},"g":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"logging.html":{"ref":"logging.html","tf":0.0219435736677116}}}}},"i":{"docs":{},"k":{"docs":{},"u":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},"u":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"features.html":{"ref":"features.html","tf":0.006993006993006993}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{},"m":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.010526315789473684},"subscription.html":{"ref":"subscription.html","tf":0.02197802197802198},"features.html":{"ref":"features.html","tf":0.01048951048951049}},"m":{"docs":{},"i":{"docs":{},"m":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}},"o":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"j":{"docs":{},"t":{"docs":{},"u":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}},"a":{"docs":{},")":{"docs":{},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"d":{"docs":{},"r":{"docs":{},"ž":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}},"e":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.019736842105263157},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406},"logging.html":{"ref":"logging.html","tf":0.03134796238244514},"users.html":{"ref":"users.html","tf":0.026737967914438502},"visits.html":{"ref":"visits.html","tf":0.05263157894736842},"subscription.html":{"ref":"subscription.html","tf":0.03296703296703297},"features.html":{"ref":"features.html","tf":0.038461538461538464}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811}}}}},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.012539184952978056}}},"y":{"docs":{},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"s":{"docs":{},"i":{"docs":{},"j":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}}}}},"k":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"users.html":{"ref":"users.html","tf":0.0106951871657754}},"t":{"docs":{},"i":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}},"ć":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"g":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"n":{"docs":{},"u":{"docs":{},"t":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{},"l":{"docs":{},"n":{"docs":{},"i":{"docs":{},"h":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}}}},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"o":{"docs":{},"s":{"docs":{},"n":{"docs":{},"i":{"docs":{},"h":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"a":{"docs":{},",":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}}}},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"a":{"docs":{},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"k":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"i":{"docs":{},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"k":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"e":{"docs":{},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}},"u":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}}},"u":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"n":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},"l":{"docs":{},"n":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"v":{"docs":{},"k":{"docs":{},"u":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}},"a":{"docs":{},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}},"i":{"docs":{},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}}}},"\\":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"s":{"docs":{},"\\":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"p":{"docs":{},"e":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"v":{"docs":{},"a":{"docs":{},"k":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.006269592476489028},"users.html":{"ref":"users.html","tf":0.0106951871657754},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}},"o":{"docs":{},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"g":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}}},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"u":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"e":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"features.html":{"ref":"features.html","tf":0.006993006993006993}}},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"m":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"o":{"docs":{},"m":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"s":{"docs":{},"h":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"t":{"docs":{},"e":{"docs":{},"h":{"docs":{},"n":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}}}}}}}}},"i":{"docs":{},"k":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}},"k":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"k":{"docs":{},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"đ":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"e":{"docs":{},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}},"e":{"docs":{},"n":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"b":{"docs":{},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"l":{"docs":{},"a":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811}}}},"u":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"users.html":{"ref":"users.html","tf":0.016042780748663103},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}},"s":{"docs":{},"k":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"č":{"docs":{},"n":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},"i":{"docs":{},"m":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"a":{"docs":{},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"p":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},",":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"o":{"docs":{},"g":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.013157894736842105}}}},"n":{"docs":{},"u":{"docs":{},"t":{"docs":{},"k":{"docs":{},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"n":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"ć":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"e":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"u":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"features.html":{"ref":"features.html","tf":0.006993006993006993}}}},"u":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/idea.html":{"ref":"intro/idea.html","tf":0.029850746268656716},"intro/solution.html":{"ref":"intro/solution.html","tf":0.019736842105263157},"intro/installation.html":{"ref":"intro/installation.html","tf":0.021621621621621623},"logging.html":{"ref":"logging.html","tf":0.025078369905956112},"users.html":{"ref":"users.html","tf":0.0213903743315508},"visits.html":{"ref":"visits.html","tf":0.010526315789473684},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"features.html":{"ref":"features.html","tf":0.013986013986013986}},"v":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":10}}}},"i":{"docs":{},"d":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"e":{"docs":{},"k":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"z":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877}},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"m":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"p":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}},"o":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"l":{"docs":{},"j":{"docs":{},"e":{"docs":{},"n":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"r":{"docs":{},"l":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.016216216216216217},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"a":{"docs":{},"d":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}},")":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"i":{"docs":{},"k":{"docs":{},"a":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"e":{"docs":{},"t":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}},"s":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"o":{"docs":{},"p":{"docs":{},"š":{"docs":{},"t":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"v":{"docs":{},"e":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"visits.html":{"ref":"visits.html","tf":0.014035087719298246}}},"l":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"ć":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.010526315789473684},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}},"r":{"docs":{},"z":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\\":{"docs":{},"\\":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\\":{"docs":{},"\\":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}},"m":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"ć":{"docs":{},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"n":{"docs":{},"j":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"e":{"docs":{},"d":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},")":{"docs":{},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}},":":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}},"š":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"l":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}},"i":{"docs":{},"d":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"l":{"docs":{},"j":{"docs":{},"i":{"docs":{},"v":{"docs":{},"o":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}},"š":{"docs":{},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"r":{"docs":{},"t":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"n":{"docs":{},"a":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811}}}}}}},"ž":{"docs":{},"n":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},"p":{"docs":{},"n":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"features.html":{"ref":"features.html","tf":0.006993006993006993}}}}},"\"":{"docs":{},"k":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"k":{"docs":{},"\"":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"j":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"j":{"docs":{},"e":{"docs":{},"\"":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.009868421052631578},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"k":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"u":{"docs":{},".":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.032432432432432434}}}}}}}},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028},"users.html":{"ref":"users.html","tf":0.0053475935828877}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"users.html":{"ref":"users.html","tf":0.0106951871657754},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"e":{"docs":{},")":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"o":{"docs":{},"m":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}},"k":{"docs":{},"o":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"visits.html":{"ref":"visits.html","tf":0.017543859649122806},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"features.html":{"ref":"features.html","tf":0.006993006993006993}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993}}}}}}}}},")":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"d":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.02631578947368421},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406},"logging.html":{"ref":"logging.html","tf":0.02821316614420063},"users.html":{"ref":"users.html","tf":0.0374331550802139},"visits.html":{"ref":"visits.html","tf":0.04912280701754386},"subscription.html":{"ref":"subscription.html","tf":0.02197802197802198},"features.html":{"ref":"features.html","tf":0.038461538461538464}},"n":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}},",":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"k":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"j":{"docs":{},"u":{"docs":{},"m":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"č":{"docs":{},"k":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"z":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"m":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"n":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},",":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"e":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"b":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"ć":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"k":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"đ":{"docs":{},"e":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"š":{"docs":{},"a":{"docs":{},"o":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},"r":{"docs":{},"u":{"docs":{},"g":{"docs":{},"a":{"docs":{},"č":{"docs":{},"i":{"docs":{},"j":{"docs":{},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"e":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},"ž":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"v":{"docs":{},"a":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"s":{"docs":{},"i":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"t":{"docs":{},"e":{"docs":{},"k":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}},"u":{"docs":{},"ž":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},")":{"docs":{},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}},"n":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"j":{"docs":{},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"g":{"docs":{},"o":{"docs":{},"v":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"o":{"docs":{},"g":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.01644736842105263},"intro/installation.html":{"ref":"intro/installation.html","tf":0.016216216216216217},"logging.html":{"ref":"logging.html","tf":0.0219435736677116},"users.html":{"ref":"users.html","tf":0.016042780748663103},"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"subscription.html":{"ref":"subscription.html","tf":0.02197802197802198},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"j":{"docs":{},"b":{"docs":{},"r":{"docs":{},"ž":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"l":{"docs":{},"a":{"docs":{},"z":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"v":{"docs":{},"k":{"docs":{},"u":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"j":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{},"h":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}},"č":{"docs":{},"i":{"docs":{},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.01644736842105263},"logging.html":{"ref":"logging.html","tf":0.012539184952978056},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.02197802197802198},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}},":":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}},"š":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"e":{"docs":{},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"p":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.016216216216216217}},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"n":{"docs":{},"o":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"z":{"docs":{},"i":{"docs":{},"v":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.016042780748663103},"visits.html":{"ref":"visits.html","tf":0.010526315789473684},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"k":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0106951871657754},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"m":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"j":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"e":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"u":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}},"m":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"users.html":{"ref":"users.html","tf":0.0053475935828877},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"g":{"docs":{},"o":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"j":{"docs":{},"a":{"docs":{},",":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"ć":{"docs":{},"e":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"i":{"docs":{},"j":{"docs":{},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0106951871657754},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}}},"v":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}},"t":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"v":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"a":{"docs":{},"c":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.02197802197802198}}}}}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"d":{"docs":{},"i":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"+":{"1":{"1":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"docs":{}},"docs":{}}},"o":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"č":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"j":{"docs":{},"u":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}}},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}},"v":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"features.html":{"ref":"features.html","tf":0.006993006993006993}}},"k":{"docs":{},"v":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"a":{"docs":{},"v":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},"u":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}},"o":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406},"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"users.html":{"ref":"users.html","tf":0.0053475935828877}},"g":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"m":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"d":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"i":{"docs":{},"m":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"d":{"docs":{},"u":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"š":{"docs":{},"t":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}}},"e":{"docs":{},"n":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"u":{"docs":{},"h":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},"d":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.013157894736842105},"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"users.html":{"ref":"users.html","tf":0.016042780748663103},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"features.html":{"ref":"features.html","tf":0.013986013986013986}},"a":{"docs":{},"v":{"docs":{},"d":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}},"k":{"docs":{},"l":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}}}},"g":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"j":{"docs":{},"u":{"docs":{},"ć":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"đ":{"docs":{},"e":{"docs":{},"n":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"i":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"č":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"m":{"docs":{},"a":{"docs":{},"h":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"n":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"d":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"n":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"o":{"docs":{},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"g":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}}}}}},"t":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"o":{"docs":{},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.01048951048951049}},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.006993006993006993}},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}},"m":{"docs":{},"a":{"docs":{},".":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"u":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}}}}}}}}}}},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{},"e":{"docs":{},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}}},"k":{"docs":{},"r":{"docs":{},"u":{"docs":{},"ž":{"docs":{},"e":{"docs":{},"n":{"docs":{},"j":{"docs":{},"e":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"v":{"docs":{},"u":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"r":{"docs":{},"a":{"docs":{},"z":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"users.html":{"ref":"users.html","tf":0.0053475935828877},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"i":{"docs":{},"k":{"docs":{},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"č":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"n":{"docs":{},"i":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}},"h":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}},"d":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"n":{"docs":{},"d":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"(":{"docs":{},")":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"o":{"docs":{},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}}}}},"č":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{},":":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"/":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"'":{"docs":{},",":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"(":{"docs":{},"[":{"docs":{},"'":{"docs":{},"f":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"'":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"z":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}},"š":{"docs":{},"e":{"docs":{},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"features.html":{"ref":"features.html","tf":0.006993006993006993}},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":10.00328947368421},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"c":{"docs":{},"i":{"docs":{},"m":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"o":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},",":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"p":{"docs":{},"s":{"docs":{},"#":{"docs":{},"e":{"docs":{},"a":{"docs":{},"g":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}}}}}}}}},"f":{"docs":{},"c":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"m":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"e":{"docs":{},"r":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"a":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"u":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}},"z":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.029850746268656716},"intro/solution.html":{"ref":"intro/solution.html","tf":0.019736842105263157},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406},"logging.html":{"ref":"logging.html","tf":0.009404388714733543},"users.html":{"ref":"users.html","tf":0.0106951871657754},"visits.html":{"ref":"visits.html","tf":0.010526315789473684},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"features.html":{"ref":"features.html","tf":0.013986013986013986}},"s":{"docs":{},"e":{"docs":{},"b":{"docs":{},"n":{"docs":{},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"t":{"docs":{},"o":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}},"g":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"v":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"d":{"docs":{},"u":{"docs":{},"ž":{"docs":{},"e":{"docs":{},"n":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"g":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"n":{"docs":{},"a":{"docs":{},"č":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.010526315789473684},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"(":{"docs":{},"c":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"h":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"k":{"docs":{},"t":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},")":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"f":{"docs":{},"s":{"docs":{},"k":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}}},"j":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"u":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{},"e":{"docs":{},")":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}}}}}}}}},"*":{"docs":{},"*":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},":":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}}}}},"`":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}}}}}},"c":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"n":{"docs":{},"g":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"d":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811}}}}}},"d":{"docs":{},"e":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"logging.html":{"ref":"logging.html","tf":0.012539184952978056}}}}},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"\\":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"p":{"docs":{},"h":{"docs":{},"p":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"a":{"docs":{},"l":{"docs":{},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{},"j":{"docs":{},"e":{"docs":{},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}},"k":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.01644736842105263}},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}}}},"e":{"docs":{},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}},"a":{"docs":{},"j":{"docs":{},"l":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},",":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}},"a":{"docs":{},",":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811}}}},"u":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"s":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"e":{"docs":{},"š":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0106951871657754},"visits.html":{"ref":"visits.html","tf":0.010526315789473684},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"users.html":{"ref":"users.html","tf":0.0053475935828877}}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0106951871657754}}},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"u":{"docs":{},",":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.016216216216216217}}}}}}}}},"s":{"docs":{},"t":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}},"o":{"docs":{},"k":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},".":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"/":{"docs":{},"r":{"docs":{},"f":{"docs":{},"c":{"5":{"4":{"2":{"4":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"5":{"docs":{},".":{"6":{"docs":{},"/":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"q":{"docs":{},"u":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},"ć":{"docs":{},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"č":{"docs":{},"a":{"docs":{},"k":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"i":{"docs":{},"j":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"n":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"u":{"docs":{},"v":{"docs":{},"a":{"docs":{},"j":{"docs":{},"u":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}},"š":{"docs":{},"t":{"docs":{},"o":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.009868421052631578},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.014035087719298246},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"a":{"docs":{},"l":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"u":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"i":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},",":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.010810810810810811}}}}}}}}}}}}},"/":{"docs":{},"v":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406}}}}}}}}},"/":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}},"ž":{"docs":{},"e":{"docs":{},"l":{"docs":{},"j":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005405405405405406},"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},"i":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514},"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"m":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"$":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}}}}}}}},"'":{"docs":{},":":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"m":{"docs":{},":":{"docs":{},"'":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"b":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"'":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"@":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"'":{"docs":{},")":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"j":{"docs":{},"i":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"i":{"docs":{},"p":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},"=":{"docs":{},">":{"docs":{"logging.html":{"ref":"logging.html","tf":0.025078369905956112},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"$":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},">":{"docs":{},"i":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"'":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"[":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}},"'":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"'":{"docs":{},"]":{"docs":{},"]":{"docs":{},",":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}}}}}}}},"]":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},"e":{"docs":{},"b":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}}}}}}},"{":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"}":{"docs":{},")":{"docs":{},";":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"↩":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993}}}},"length":4454},"corpusTokens":["\"kratak\"","\"najbolje\"","$request","':boom:',","'browser'","'critical',","'dashboardcontroller@index')","'driver'","'emoji'","'ip'","'level'","'linkcutt","'referer'","'slack'","'slack',","'url'","'username'","(csprng).","(geografska","(istih","(jedinstven","(middlewar","(na","(preusmeravanje)","(redirektovan)","**napomena:",",",".env",".env.",".env.exampl","//","/vagrant","0","000","1","1.","1.682667016983","1.6866478919983","1.7188358306885","1.7203500270844","1.7273991107941","1.7576761245728","1.796245098114","1.8076210021973","1.8290400505066","1.8754560947418","10","127.0.0.1:8000.","192.168.10.10.","2","2.","3","4","5","5.4669740200043","5.5145440101624","5.5180299282074","5.5527658462524","5.5624511241913","5.5683920383453","5.5897090435028","5.5975389480591","5.6","5.666111946106","5.7265629768372","5424","6","7","7.0","7.2.6","8","9","=>","=>$request",">ip(),",">server('http_referer'),",">server('http_user_agent'),","[","['dashboard']],","]);","],","`random_bytes()","`vagrant","a).","a.","access","action","admin","admin,","administr","administratora","administratora.","adres","adresa","adresa.","adrese)","adresom","ako","alati","alert:","ali","aplikacij","aplikacija","aplikaciju.","artisan","atributa","atributi.","atributima","automatski","bajtovima","bazi","bazi.","bez","bi","biti","bitno","biva","biće","bogata","bolj","brisati","broj","broja.","brz","brzinu","brža","brža,","bude","cashier","cd","code","compos","condit","config\\logging.php","critic","critical.","critical:","csprng","da","dana","dana,","debug","debug:","desi,","detektor","dinamički","direktno","direktorijum.","dobija","dobić","dodati","dodatn","dodatna","dodatni","dodavati,","dode","dok","dolaz","dolazi","dolazimo","dosta","dođe","došao","drugačiju","druge","država.","dužina).","dva","eager","emergency:","env('log_slack_webhook_url'),","error","error:","es6","fajl","fajl,","fajla,","fajlu","fasade:","featur","featuremiddlewar","funckije,","function()","funkcij","funkcija","funkcija,","funkcije,","ga","gde","gener","generatora","generisali","generisanj","generisanja","generisati","generiš","generišu","gledati","god","godina.","gore","gore.","gost","gost.","gosta,","gostu","grad.","grešk","greška","greške,a","greške.","grešku","groupa","grupa.","grupe","hash","heš","heš,","heš.","heševa","hešu,","hešu.","homestead","hook","host","https://api.slack.com/incom","https://laravel.com/docs/5.6/eloqu","https://tools.ietf.org/html/rfc5424","id","ideja","identifikacioni","ih","ili","im","ima","imao","imati","immedi","implementacija","implementaciju","inform","informacij","informational:","inicijalnih","instalacija","install.","instancu.","int","interesanta","ip","iskopirati","iskoristi","ispod.","ist","isteka","isti","isto","iz","izaber","izgleda","izmen","izmenitihomestead.yaml","izrad","izuzetak","izuzetaka","izvućemo","jak","jasnu","javlja","je","je:","jedinstven","jedinstven.","jedinstvena","jedinstvena.","jedinstveni","jedinstvenih","jedinstvenog","jedinstvenosti","jedna","jedno","jednostavan.","jednostavniji","jednostavno,","jer","jest","kad","kada","kako","kanala:","kao","karaktera","karticama,","kartice,","kasnij","key:gener","ključeve.","ko","koja","koje","koji","koji,","kojih","kojima","koju","kolačić","kolačić,","kolačića","kolačićima","kolekciju","kolizija","komunikaciju,","konfiguraciji","kontrola","kopiju","korak","koraku:","korisnici","korisnik","korisnik,","korisnik.","korisnika","korisnika.","korisniku","korisničkom","koristi","koristi.","koristinka:","korišćeni","korišćenjem","korsnik","kraju","kreditnim","kripto","kriptografski","kroz","laravel","laravelom","laravelu,","level","li","link","link,pa","link.","linka","linka,","linka.","load","loading2","log","log',","log,","log::alert($message);","log::critical($message);","log::critical('someon","log::debug($message);","log::emergency($message);","log::error($message);","log::info($message);","log::notice($message);","log::warning($message);","log_slack_webhook_url","logavanj","logovanj","logovanja","logovanje:","loguj","logujemo","lokacij","lokacija","mail.","make","mana","manj","marketinški","mašina.","mašine.","mašine:","mašini.","meseci","messag","migraciju","migrat","minimalni","modernim","moguć","mogućnost","mogućnosti","mogućnosti.","mora","moći","može","možemo","mreža,","mu","n","n+11","na","najbrži","nalaz","nalazi","naprav","napravi","naravno","nastaj","nastavku","nastavku.","navedenih","naziv","način","način.","način:","načina","načina.","naš","našem","ne","ne,","ne.","nedelja,","nego","neke","neki","neko","nekoj","nekom","neku","nema","nesiguran","neće","nije","niti","nivo","nje","njega","njegov","njegova","njegovi","njegovog","normal","notice:","novac","novi","nudi","numer","o","obavestimo","obaveštava","obaveštenj","obradu","obradu.","obrat","obuhvata","od","odabere.","odakl","odavd","odgovarajuć","odlučeno","odmah","određen","određeni","određivanj","određivanja","ogranič","ograničava","ograničavaju","ograniči","okruženje,","onda","oni","opcij","opcija","opcija.","opcijama.","opciju","operativni","operativnog","operativnom","opet","opisan","opisani","opisano.","originalan","osnovu","otvaranjem","ov","ova","ovaj","ovakav","ovakva","ovd","ovim","ovo","ovog","ovom","ovu","pa","paket","paketa,","pamti","pamćenja","panel","panel.',","panelu.","paradoks,","pažnju","performans","permisij","permisije.","php","pisanja","pisanja,","planova","plaćanja","po","podeli.","podes","podešen","podešenog","podigli","pokazala","pokazuj","poklapaju.","poklop","pokrenula","pokrenuli","pokrenuti","pokretanj","pomenuta,","pomoću","ponavljanja","ponavljanja.","popunjavanj","poruci.","poruku:","poset","poseta","poseta,","poseta?","poseti","posetili","posetio","posetioca","posrednik","posrednik,","posrednika","posredniku","postav","postojeći","postoji","postoji.","potencijal,","potencijaln","potpun","potpuno","potreban","potrebno","početnoj","pošalj","pošto","prati","prati,","prati.","pratiti","pravljenj","praćenj","praćenja","pre","preciznijim.","pregledačem","pregledačima.","preko","prenet","prenosi","prethodno","pretpatu","pretplat","pretplata","pretplate,","pretplate.","pretplati","pretplatom","pretplatu,","pretplatu.","pretraživač","pretraživača,","pretraživača.","pretvara","preusmeren","preusmeri","prijavi","prijavljuj","prilikom","prilično","primi","pristup","pristupa","pristupi","pristupili","pristupljeno","prisupa","problem","problem,","problem.","profesinalniji","projekat","projekat.","projekat:","projekta","projektu","promen","promenili","prover","provera","proverava","proveravamo","proveri","proverimo","prođemo","prošir","pruža","prva","prvi","prvobitni","radi","rand","rand()","rand().","random","random_byt","random_bytes()","random_bytes().","random_int()","random_int().","razliku","različ","razloga","razni","raznih","računa","realizovan","realizovano","realizovano,","recimo","registrovani","relationships#eag","rezultati","rešen","rešen.","rešenj","reši","rfc","rodila","route::get('/dashboard',","route::group(['features'","ruta","ruta.","rutama","ruter","rutera.","ruteru.","sa","sadrži","sajta).","sajtu","sajtu.","samim","samo","scss","se","seed,","sentri","sentry.","server","sesij","sever","signific","siguran","sigurn","sigurna","sigurnosnih","singl","sistem","sistem,","sistema,","sistemu","skida","skinut","skrati","skratiti","skraćenog","skraćivanj","skraćivanja","slack","sledec","sledeć","sliku","slug","slučaju","socijalnih","specifikaciji.","spor","spora,","spora.","ssh","stalno","standardni","statistik","statistika","statistike,","statistiku","statu","stavku","stipe","storage:link.","storage\\logs\\laravel.log","strane,","strani.","string","stringa.","stvari.","su","suprotnom","svaka","svaki","svakog","svakom","svaku","sve","svi","svim","svoje","svojom","system","ta","tabe","tabela.","tabelu","taj","taken","tako","takođ","takođe,","task","tačna","tehnik","tehnologij","tehnologije:","teksta","testiranja","tim","tima.","time","tip","tip,","tipova","tog","toga","trajanj","traje","treba","trenutku","trenutno","treći","tri","tu","u","u)","u.","u:","unes","unet","unikatno","unus","uopšt","up","upita","upotrebljen","urad","uradi","url","uveden","uvek","uvid","uvod","uz","uzimamo","uzm","vagrant","važno","važnosti","važnosti:","veb","velika","veliki","vendor\\\\bin\\\\homestead","verzija","vezana","vezivati","već","vid","vidljivo","virtualna","virtueln","više","vodi","vpn","vrati","vratimo","vraća","vraćanja","vrednosti","vrednosti),","vrednosti.","vrednosti:","vrlo","vrste","vrši","vršila","warn","warning:","webhook","za","zadužen","zagarantovan","zahtev","zahteva","zasebnu","zato","zavisnosti","zbog","znači","{","});","će","čak","čest","česta","čiji","čini","članova","čuvaju","šalj","šalju","širina","šta","što","želi","želimo","željeni","želji.","↩"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"Uvod","keywords":"","body":"Tehnologije\nVrlo je bitno projekat gledati u modernim veb pregledačima.\nPrilikom izrade projekta korišćeni su sledece tehnologije:\n\nPHP 7.2.6\nLaravel 5.6\nSCSS\nES6\n\n"},"intro/idea.html":{"url":"intro/idea.html","title":"Ideja","keywords":"","body":"Ideja\nDanas veliki broj socijalnih mreža, kao i razni alati za komunikaciju, ograničavaju broj karaktera u poruci. Iz tog razloga je potrebno skratiti link,pa se tako rodila ideja za ovu aplikaciju.\nTakođe ova implementacija ima jak marketinški potencijal, gde korisnik ima potpun uvid u to ko je posetio njegov link. Samim tim korisnik može da skrati i već \"kratak\" link kako bi imao mogućnost praćenja poseta preko njegovog skraćenog linka.\n"},"intro/solution.html":{"url":"intro/solution.html","title":"Rešenje","keywords":"","body":"Rešenje\nNačin na koji je problem rešen je prilično jednostavan. Uzme se originalan link i za njega se korisniku da neki heš, koji korisnik kasnije može da podeli. Otvaranjem heš linka korisnik će biti preusmeren (redirektovan) na originalan link.\n\nLink generator treba da ima što manje kolizija (istih vrednosti), takođe to NE treba da bude hash funkcija koja će za isti string da vrati isti heš, već za isti string treba da vrati uvek različiti heš.\nPrilikom pisanja ovog generatora treba obratiti pažnju na brzinu generisanja stringa. Postoji više načina da se reši ovaj problem i oni su opisani u nastavku.\nSpor i siguran način\nOvaj način koristi funkcije koje generišu kriptografski sigurne vrednosti (CSPRNG). Ovakva funkcija u PHP-u je random_int().\nRandom int ima drugačiju implementaciju na svakom operativnom sistemu i time pruža mogućnost da se iskoristi sistem za generisanje jedinstvenog broja.\nVelika mana ove funkcije je što je vidljivo spora.\nBrz i nesiguran način\nZa razliku od random_int() funckije, rand() je dosta brža funkcija, ali nije kriptografski sigurna i u našem slučaju ima česta ponavljanja. Zato je potreban treći način.\nNajbrži i siguran način\nU trenutku pisanja, PHP verzija 7.2.6 ima tri CSPRNG funkcije, od kojih je jedna već prethodno pomenuta, i pokazala se kao spora, ali funkcija koja pokazuje bolje performanse od nje je random_bytes().\nrandom_bytes() funkcija, takođe, ima zasebnu implementaciju za svaki operativni sistem, ali zbog toga što radi direktno sa bajtovima dosta je brža, pa čak i od rand().\n**Napomena: Funkcija `random_bytes() dolazi uz PHP 7.0 pa na gore.\nStatistika\nRezultati testiranja navedenih funkcija se nalaze u tabeli ispod.\n\n\n\nPonavljanja\nrandom_bytes\nrand\n\n\n\n\nKorak 1\n1.7273991107941\n5.7265629768372\n\n\nKorak 2\n1.8290400505066\n5.5975389480591\n\n\nKorak 3\n1.7188358306885\n5.4669740200043\n\n\nKorak 4\n1.8076210021973\n5.666111946106\n\n\nKorak 5\n1.796245098114\n5.5624511241913\n\n\nKorak 6\n1.8754560947418\n5.5897090435028\n\n\nKorak 7\n1.6866478919983\n5.5180299282074\n\n\nKorak 8\n1.7576761245728\n5.5145440101624\n\n\nKorak 9\n1.7203500270844\n5.5683920383453\n\n\nKorak 10\n1.682667016983\n5.5527658462524\n\n\n\nBroj heševa po koraku: 1 000 000\n"},"intro/installation.html":{"url":"intro/installation.html","title":"Instalacija","keywords":"","body":"Instalacija\nPokretanje projekta je prilično jednostavno, zato što je upotrebljen Homestead koji koristi Vagrant za pravljenje virtuelne mašine. Više o Homestead-u na Laravelom sajtu.\nMoguće je pokrenuti projekat na dva načina.\nPrvi i jednostavniji način:\n\nPokrenuti composer install.\nNapraviti tabelu u bazi.\nNapraviti kopiju .env.example fajla, promeniti mu ime u .env i podesiti vrednosti.\nPokrenuti php artisan migrate --seed, kako bi pokrenuli migraciju i popunjavanje tabela.\nPokrenuti php artisan key:generate kako bi generisali kripto ključeve.\nPokrenuti php artisan server kako bi podigli projekat.\nPristupiti projektu preko 127.0.0.1:8000.\n\nTakođe projekat je moguće pokrenuti preko virtuelne mašine:\n\nPokrenuti composer install.\nNapraviti kopiju .env.example fajla, i promeniti mu ime u .env.\nPokrenuti vendor\\\\bin\\\\homestead make , ovo će generisati Homestead instancu.\nIzmenitiHomestead.yaml fajl, postaviti željeni URL projekta\nIzmeniti hosts fajl operativnog sistema, tako da URL projekta pokazuje na 192.168.10.10.\nPokrenuti `vagrant up kako bi se pokrenula virtualna mašina.\nPokrenuti vagrant ssh kako bi pristupili mašini.\nPokrenuti cd /vagrant kako bi promenili direktorijum.\nPokrenuti php artisan storage:link.\nPokrenuti php artisan migrate --seed, kako bi pokrenuli migraciju i popunjavanje tabela.\nPokrenuti php artisan key:generate kako bi generisali kripto ključeve.\nPristupiti projektu preko podešenog URL-a.\n\n"},"logging.html":{"url":"logging.html","title":"Logovanje","keywords":"","body":"Logovanje\nPrilikom izrade veb aplikacije vrlo je važno pratiti potencijalne greške,a kako se ovde koristi Laravel okruženje, logavanje se vrši automatski za svaki vid greške.\nLog fajl se nalazi u: storage\\logs\\laravel.log\nLaravel je podešen da radi logovanje na više kanala:\n\nSingle - Njegov standardni log,\nSlack\n\nSlack\nSlack je podešen da prijavljuje greške čiji je minimalni nivo važnosti critical.\nOvo je moguće promeniti u konfiguraciji za logovanje: config\\logging.php\nTrenutno kako je podešen slack je:\n'slack' => [\n 'driver' => 'slack',\n 'url' => env('LOG_SLACK_WEBHOOK_URL'),\n 'username' => 'LinkCutter Log',\n 'emoji' => ':boom:',\n 'level' => 'critical', // Minimalni nivo\n],\n\n\nStatus greške je određen po RFC 5424 specifikaciji.\nhttps://tools.ietf.org/html/rfc5424\nGreške po važnosti:\nNumerical Severity\nCode\n\n0 Emergency: system is unusable\n1 Alert: action must be taken immediately\n2 Critical: critical conditions\n3 Error: error conditions\n4 Warning: warning conditions\n5 Notice: normal but significant condition\n6 Informational: informational messages\n7 Debug: debug-level messages\n\nNačin na koji laravel obaveštava slack je pomoću webhook-a koji je podešen u Slack-u.\nhttps://api.slack.com/incoming-webhooks\nKad se napravi hook potrebno je iskopirati URL do hook-a i dodati ga u .env fajlu kao LOG_SLACK_WEBHOOK_URL opcija.\nLaravel logovanje\nNačin na koji možemo da logujemo grešku je preko Log fasade:\nLog::emergency($message);\nLog::alert($message);\nLog::critical($message); // Odavde pa na gore se loguje u slack-u\nLog::error($message);\nLog::warning($message);\nLog::notice($message);\nLog::info($message);\nLog::debug($message);\n\nRecimo da želimo da obavestimo administratora da neko želi da pristupi admin sistemu a za to nema odgovarajuće permisije. To je moguće uraditi u posredniku (middleware-u) koji proverava da li korisnik ima permisije i obaveštava administratora.\nLog::critical('Someone tried to access the admin panel.', [\n 'IP' => $request->ip(),\n 'Browser' => $request->server('HTTP_USER_AGENT'),\n 'Referer' =>$request->server('HTTP_REFERER'),\n]);\n\nKako to izgleda kad administrator primi poruku:\n\nSentry\nKao dodatni i profesinalniji način logovanja koristi se Sentry. Sentry obuhvata obradu izuzetaka koji se šalju Sentry-u na obradu.\n\nSvaka greška koja se desi, Sentry pretvara u task koji može da se dodeli nekom od članova tima. Na taj način svaki izuzetak biva rešen.\nObaveštenje se takođe šalje na mail.\n"},"users.html":{"url":"users.html","title":"Korisnici","keywords":"","body":"Korisnici\nProjekat sadrži tri vrste koristinka: admin, korisnik i gost. U nastavku teksta biće opisan svaki od tipova korisnika.\nGost\nSvaki korisnik koji pristupi sajtu je gost i on ima pristup samo početnoj strani. Gost može da skrati link ali prilikom skraćivanja linka nema mogućnost statistike, takođe, gostu nije zagarantovan jedinstven heš.\n\nKada gost pošalje zahtev za skraćivanje linka, u bazi se uradi provera da li taj link već postoji. Ako taj link postoji vraća se postojeći heš, u suprotnom se generiše novi heš.\nOvo je iz razloga što nije bitno da li gost ima jedinstven heš ili ne, sve dok ga taj heš vodi na željeni link jer opcija praćenja ne postoji.\nKorisnik\nRegistrovani korisnik ima mogućnost da se pretplati na neki od paketa, kao i mogućnost da skrati link koji ne želi da prati i koji, kao u slučaju gosta, ne mora biti jedinstven. Sa druge strane, korisnik ima mogućnost da prati statistiku skraćenog linka ako to odabere.\n\nOpcije korisnika je moguće dinamički proširiti pomoću raznih opcija koje korisnik dobija kada se prijavi na neki od planova za pretplatu.\nAdministrator\nAdministrator ima iste opcije kao korisnik, a uz to ima i pristup admin panelu.\n"},"visits.html":{"url":"visits.html","title":"Posete","keywords":"","body":"Posete\nKako je jedna od ideja projekta mogućnost praćenja statistike svakog linka, potrebno je da se svaka poseta (preusmeravanje) prati. Kada korisnik poseti neki heš pre nego što ga aplikacija preusmeri na prvobitni link čuvaju se sledeće vrednosti:\n\nTip veb pretraživača.\nIP adresa.\nLokacija (na osnovu IP adrese)\nTačna lokacija (geografska širina i dužina).\nGrad.\nDržava.\n\n\nDa li je IP adresa sa VPN-a.\nOdakle je došao korisnik.\n\nSa ovim atributima dobija se prilično bogata statistika koja može da da korisniku vrlo jasnu sliku odakle dolaze koju su posetili link.\nJedna vrlo interesanta mogućnost aplikacije je praćenje jedinstvenih poseta, naravno tu je i paradoks, šta se računa kao jedinstvena poseta?\nJedinstvena poseta\nNe postoji unikatno niti \"najbolje\" rešenje za određivanje jedinstvene posete ali je u ovom slučaju odlučeno da se prati IP adresa i veb pretraživač koji korisnik koristi.\n\nKada korisnik pristupi hešu, prva provera je da li se taj heš uopšte prati, ako se ne prati može odmah da se preusmeri korisnik na prvobitni link. Ako se heš prati, mora se proveriti da li u kolačićima postoji identifikacioni broj sesije (jedinstven za svakog posetioca sajta). Ako postoji kolačić, proverimo da li se link id i id sesije poklapaju. Ako se vrednosti poklope znači da je taj korsnik već posetio link što znači da link nije jedinstven. U suprotnom znači da je link jedinstven.\n\nSvaki korisnik koji dođe bez kolačića dobiće jedinstveni kolačić koji se koristi za praćenje kao što je gore opisano.\n\nDodatna provera koja postoji jeste da se proveri da li je korisnik sa IP adresom i tim veb pregledačem već posetio link. Ako nije onda je poseta jedinstvena.\n\nPrilikom pamćenja veb pretraživača, ne pamti se samo tip, već verzija i sistem, što ovakav način određivanja jedinstvenosti čini preciznijim.\n\n"},"subscription.html":{"url":"subscription.html","title":"Pretplata","keywords":"","body":"Pretplata\nKorisnik ima opciju pretplate, svaki paket za pretpatu nudi određeni broj opcija. Kada se korisnik pretplati odmah dobija pristup svim opcijama. Na kraju isteka pretplate korisniku se opet skida novac sa unete kartice, ako korisnik nema novac biće skinut sa pretplate.\nTrajanje pretplate je potpuno dinamički realizovano, administrator može da izabere da pretplata traje n dana, nedelja, meseci ili godina.\nZbog sigurnosnih razloga u bazi se ne čuvaju informacije o kreditnim karticama, već je sve realizovano neko Stipe-a\nNačin na koji je realizovan način plaćanja je preko Laravel Cashier-a.\n"},"features.html":{"url":"features.html","title":"Mogućnosti","keywords":"","body":"Mogućnosti\nMogućnosti su opcije koje korisnik ima u zavisnosti od pretplate. Neke od inicijalnih opcija sa kojima dolazi projekat:\n\nPraćenje - mogućnost da se prati statistika linka.\nPanel - pristup korisničkom panelu.\nJedinstvene posete - praćenje jedinstvenih korisnika.\nLokacija - praćenje sa koje lokacije je pristupljeno hešu.\nVPN detektor - praćenje da li je poseta sa VPN adrese ili ne.\nNaziv linka - mogućnost da se unese heš po želji.\n\nOpcije je moguće dinamički dodavati, brisati i isto tako ih vezivati za određene pretplate.\nKontrola pristupa\nPošto je opcija vezana za pretplatu, mora se ograničiti da korisnik svojom pretplatom ima samo opcije svoje pretplate. Što znači ako korisnik nema opciju panel on neće moći da pristupi panelu.\nOvaj problem je rešen korišćenjem posrednika (middleware-a). Uveden je FeatureMiddleware posrednik, koji je zadužen da proveri da li korisnik ima mogućnosti koje su prenete preko rutera.\n\nRuter\nNačin na koji se ograničava pristup rutama je pomoću atributa grupe u ruteru.\nRoute::group(['features' => ['dashboard']], function() {\n Route::get('/dashboard', 'DashboardController@index')\n});\n\nPreko atributa features prenosi se slug mogućnosti za koje se želi da se ograniči groupa ruta.\nPrilikom prisupa nekoj od ruta iz grupe naš posrednik će proveriti da li korisnik ima SVE mogućnosti koje zahteva ta grupa.\nSve mogućnosti korisnika\nKako bi se vršila provera da li korisnik ima neku od mogućnosti mora se stalno imati uvid u njegove mogućnosti. Ovde nastaje problem, ako uzimamo mogućnosti kad god proveravamo da li on ima tu mogućnost dolazimo do N+11 problem.\nOvaj problem je rešen korišćenjem Eager loading2 tehnike u laravelu, gde se prilikom vraćanja korisnika vraća njegova pretplata i svi njegovi atributi.\n\n1. Čest problem koji se javlja kada pomoću jedno upita vratimo kolekciju i onda prođemo kroz tu kolekciju gde za svaku stavku izvućemo dodatne stvari. ↩\n\n\n2. https://laravel.com/docs/5.6/eloquent-relationships#eager-loading ↩\n\n"}}} \ No newline at end of file +{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["5.6","7.2.6","bitno","es6","gledati","izrad","je","korišćeni","laravel","modernim","php","pregledačima.","prilikom","projekat","projekta","scss","sledec","su","tehnologij","tehnologije:","u","uvod","veb","vrlo"],"intro/idea.html":["\"kratak\"","alati","aplikaciju.","bi","broj","da","dana","gde","ideja","ima","imao","implementacija","iz","jak","je","kako","kao","karaktera","ko","komunikaciju,","korisnik","link","link,pa","link.","linka.","marketinški","mogućnost","može","mreža,","njegov","njegovog","ograničavaju","ova","ovu","poruci.","poseta","posetio","potencijal,","potpun","potrebno","praćenja","preko","razloga","razni","rodila","samim","se","skrati","skratiti","skraćenog","socijalnih","tako","takođ","tim","tog","u","uvid","veliki","već","za"],"intro/solution.html":["(csprng).","(istih","(redirektovan)","**napomena:","000","1","1.682667016983","1.6866478919983","1.7188358306885","1.7203500270844","1.7273991107941","1.7576761245728","1.796245098114","1.8076210021973","1.8290400505066","1.8754560947418","10","2","3","4","5","5.4669740200043","5.5145440101624","5.5180299282074","5.5527658462524","5.5624511241913","5.5683920383453","5.5897090435028","5.5975389480591","5.666111946106","5.7265629768372","6","7","7.0","7.2.6","8","9","`random_bytes()","ali","bajtovima","biti","bolj","broj","broja.","brz","brzinu","brža","brža,","bude","csprng","da","direktno","dolazi","dosta","drugačiju","funckije,","funkcij","funkcija","funkcija,","funkcije,","gener","generatora","generisanj","generisanja","generišu","gore.","hash","heš","heš,","heš.","heševa","ima","implementaciju","int","iskoristi","ispod.","isti","je","jedinstvenog","jedna","jednostavan.","kao","kasnij","koja","koje","koji","kojih","kolizija","korak","koraku:","korisnik","korisniku","koristi","kriptografski","link","link.","linka","mana","manj","mogućnost","može","na","najbrži","nalaz","nastavku.","navedenih","način","način.","načina","našem","ne","neki","nesiguran","nije","nje","njega","obrat","od","oni","operativni","operativnom","opisani","originalan","otvaranjem","ov","ovaj","ovakva","ovog","pa","pažnju","performans","php","pisanja","pisanja,","po","podeli.","pokazala","pokazuj","pomenuta,","ponavljanja","ponavljanja.","postoji","potreban","prethodno","preusmeren","prilikom","prilično","problem","pruža","radi","rand","rand()","rand().","random","random_byt","random_bytes()","random_bytes().","random_int()","random_int().","razliku","različ","rezultati","rešen","rešenj","reši","sa","se","siguran","sigurn","sigurna","sistem","sistem,","sistemu","slučaju","spor","spora,","spora.","statistika","string","stringa.","su","svaki","svakom","tabe","takođ","takođe,","testiranja","time","toga","treba","trenutku","treći","tri","u","uvek","uz","uzm","velika","verzija","već","vidljivo","više","vrati","vrednosti","vrednosti),","za","zasebnu","zato","zbog","će","čak","česta","što"],"intro/installation.html":[",",".env",".env.",".env.exampl","/vagrant","127.0.0.1:8000.","192.168.10.10.","`vagrant","a.","artisan","bazi.","bi","cd","compos","da","direktorijum.","dva","fajl","fajl,","fajla,","generisali","generisati","homestead","host","im","instalacija","install.","instancu.","izmen","izmenitihomestead.yaml","je","jednostavniji","jednostavno,","kako","key:gener","key:generate.","ključeve.","koji","kopiju","koristi","kripto","laravelom","make","mašina.","mašine.","mašine:","mašini.","migraciju","migrat","moguć","mu","na","naprav","način:","načina.","o","operativnog","ovo","php","podes","podešenog","podigli","pokazuj","pokrenula","pokrenuli","pokrenuti","pokretanj","popunjavanj","postav","pravljenj","preko","prilično","pristup","pristupili","projekat","projekat.","projekta","projektu","promen","promenili","prvi","sajtu.","se","seed,","server","sistema,","ssh","storage:link.","tabela.","tabelu","tako","takođ","u","up","upotrebljen","url","vagrant","vendor\\\\bin\\\\homestead","virtualna","virtueln","više","vrednosti.","za","zato","će","što","željeni"],"users.html":["admin","admin,","administr","ako","ali","bazi","biti","bitno","biće","da","dinamički","dobija","dok","druge","ga","generiš","gost","gost.","gosta,","gostu","heš","heš,","heš.","ili","ima","ist","iz","je","jedinstven","jedinstven.","jer","kada","kao","koje","koji","koji,","korisnici","korisnik","korisnik,","korisnika","korisnika.","koristinka:","li","link","linka","linka,","moguć","mogućnost","mora","može","na","nastavku","ne","ne,","neki","nema","nije","novi","od","odabere.","opcij","opcija","opisan","ovo","paketa,","panelu.","planova","pomoću","postojeći","postoji","postoji.","početnoj","pošalj","prati","praćenja","pretplati","pretplatu.","prijavi","prilikom","pristup","pristupi","projekat","provera","prošir","razloga","raznih","registrovani","sa","sadrži","sajtu","samo","se","skrati","skraćenog","skraćivanj","skraćivanja","slučaju","statistike,","statistiku","strane,","strani.","suprotnom","svaki","sve","taj","takođe,","teksta","tipova","tri","u","uradi","uz","već","vodi","vraća","vrste","za","zagarantovan","zahtev","što","želi","željeni"],"features.html":["'dashboardcontroller@index')","(middlewar","1.","2.","=>","['dashboard']],","a).","adres","ako","atributa","atributi.","bi","brisati","da","detektor","dinamički","dodatn","dodavati,","dolazi","dolazimo","eager","featur","featuremiddlewar","function()","gde","god","groupa","grupa.","grupe","heš","hešu.","https://laravel.com/docs/5.6/eloqu","ih","ili","ima","imati","inicijalnih","isto","iz","izvućemo","javlja","je","jedinstven","jedinstvenih","jedno","kad","kada","kako","koje","koji","kojima","kolekciju","kontrola","korisnik","korisnika","korisnika.","korisničkom","korišćenjem","kroz","laravelu,","li","linka","linka.","load","loading2","lokacij","lokacija","moguć","mogućnost","mogućnosti","mogućnosti.","mora","moći","n+11","na","nastaj","naziv","način","naš","ne.","neke","nekoj","neku","nema","neće","njegov","njegova","njegovi","od","određen","ogranič","ograničava","ograniči","onda","opcij","opcija","opciju","ovaj","ovd","panel","panelu.","po","pomoću","poset","poseta","posrednik","posrednik,","posrednika","pošto","prati","praćenj","preko","prenet","prenosi","pretplata","pretplate.","pretplatom","pretplatu,","prilikom","pristup","pristupa","pristupi","pristupljeno","prisupa","problem","problem,","problem.","projekat:","prover","provera","proveravamo","proveri","prođemo","relationships#eag","rešen","route::get('/dashboard',","route::group(['features'","ruta","ruta.","rutama","ruter","rutera.","ruteru.","sa","samo","se","slug","stalno","statistika","stavku","stvari.","su","svaku","sve","svi","svoje","svojom","ta","tako","tehnik","tu","u","unes","upita","uveden","uvid","uzimamo","vezana","vezivati","vpn","vratimo","vraća","vraćanja","vršila","za","zadužen","zahteva","zavisnosti","znači","{","});","će","čest","što","želi","želji.","↩"],"visits.html":["\"najbolje\"","(geografska","(jedinstven","(na","(preusmeravanje)","a.","adresa","adresa.","adrese)","adresom","ako","ali","aplikacij","aplikacija","atributima","bez","bogata","broj","da","dobija","dobić","dodatna","dolaz","dođe","došao","država.","dužina).","ga","gore","grad.","heš","hešu,","id","ideja","identifikacioni","interesanta","ip","jasnu","je","jedinstven","jedinstven.","jedinstvena","jedinstvena.","jedinstveni","jedinstvenih","jedinstvenosti","jedna","jest","kada","kako","kao","koja","koji","koju","kolačić","kolačić,","kolačića","kolačićima","korisnik","korisnik.","korisniku","koristi","koristi.","korsnik","li","link","link.","linka,","lokacija","mogućnost","mora","može","na","naravno","način","ne","nego","neki","nije","niti","od","odakl","odlučeno","odmah","određivanj","određivanja","onda","opisano.","osnovu","ovakav","ovim","ovom","pamti","pamćenja","paradoks,","poklapaju.","poklop","poset","poseta","poseta,","poseta?","poseti","posetili","posetio","posetioca","postoji","potrebno","prati","prati,","prati.","praćenj","praćenja","pre","preciznijim.","pregledačem","pretraživač","pretraživača,","pretraživača.","preusmeri","prilikom","prilično","pristupi","projekta","prover","provera","proveri","proverimo","prva","prvobitni","računa","rešenj","sa","sajta).","samo","se","sesij","sistem,","sledeć","sliku","slučaju","statistik","statistika","su","suprotnom","svaka","svaki","svakog","taj","tačna","tim","tip","tip,","tu","u","unikatno","uopšt","veb","verzija","već","vpn","vrednosti","vrednosti:","vrlo","za","znači","čini","čuvaju","širina","šta","što"],"subscription.html":["a.","administr","ako","bazi","biće","broj","cashier","da","dana,","dinamički","dobija","godina.","ili","ima","informacij","isteka","izaber","je","kada","karticama,","kartice,","koji","korisnik","korisniku","kraju","kreditnim","laravel","meseci","može","n","na","način","ne","nedelja,","neko","nema","novac","nudi","o","odmah","određeni","opcija.","opcijama.","opciju","opet","paket","plaćanja","potpuno","preko","pretpatu","pretplat","pretplata","pretplate,","pretplate.","pretplati","pristup","razloga","realizovan","realizovano","realizovano,","sa","se","sigurnosnih","skida","skinut","stipe","svaki","sve","svim","trajanj","traje","u","unet","već","za","zbog","čuvaju"],"logging.html":["$request","':boom:',","'browser'","'critical',","'driver'","'emoji'","'ip'","'level'","'linkcutt","'referer'","'slack'","'slack',","'url'","'username'","(middlewar",".env","//","0","1","2","3","4","5","5424","6","7","=>","=>$request",">ip(),",">server('http_referer'),",">server('http_user_agent'),","[","]);","],","access","action","admin","administr","administratora","administratora.","alert:","aplikacij","automatski","biva","code","condit","config\\logging.php","critic","critical.","critical:","da","debug","debug:","desi,","dodati","dodatni","dode","emergency:","env('log_slack_webhook_url'),","error","error:","fajl","fajlu","fasade:","ga","gore","grešk","greška","greške,a","greške.","grešku","hook","https://api.slack.com/incom","https://tools.ietf.org/html/rfc5424","ima","immedi","inform","informational:","iskopirati","izgleda","izrad","izuzetak","izuzetaka","je","je:","kad","kako","kanala:","kao","koja","koji","konfiguraciji","korisnik","koristi","laravel","level","li","log","log',","log,","log::alert($message);","log::critical($message);","log::critical('someon","log::debug($message);","log::emergency($message);","log::error($message);","log::info($message);","log::notice($message);","log::warning($message);","log_slack_webhook_url","logavanj","logovanj","logovanja","logovanje:","loguj","logujemo","mail.","messag","minimalni","moguć","može","možemo","na","nalazi","napravi","način","neko","nekom","nema","nivo","njegov","normal","notice:","numer","obavestimo","obaveštava","obaveštenj","obradu","obradu.","obuhvata","od","odavd","odgovarajuć","određen","okruženje,","opcija.","ovd","ovo","pa","panel.',","permisij","permisije.","po","podešen","pomoću","poruku:","posredniku","potencijaln","potrebno","pratiti","preko","pretvara","prijavljuj","prilikom","primi","pristupi","profesinalniji","promen","proverava","radi","recimo","rešen.","rfc","se","sentri","sentry.","sever","signific","singl","sistemu","slack","specifikaciji.","standardni","statu","storage\\logs\\laravel.log","svaka","svaki","system","taj","taken","takođ","task","tima.","trenutno","tri","u","u)","u.","u:","unus","urad","url","važno","važnosti","važnosti:","veb","vid","više","vrlo","vrši","warn","warning:","webhook","za","čiji","članova","šalj","šalju","želi","želimo"]},"length":9},"tokenStore":{"root":{"0":{"0":{"0":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}}},"docs":{}},"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"1":{"0":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"0":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"1":{"0":{"docs":{},".":{"1":{"0":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"6":{"8":{"2":{"6":{"6":{"7":{"0":{"1":{"6":{"9":{"8":{"3":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"6":{"6":{"4":{"7":{"8":{"9":{"1":{"9":{"9":{"8":{"3":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"1":{"8":{"8":{"3":{"5":{"8":{"3":{"0":{"6":{"8":{"8":{"5":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"2":{"0":{"3":{"5":{"0":{"0":{"2":{"7":{"0":{"8":{"4":{"4":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"3":{"9":{"9":{"1":{"1":{"0":{"7":{"9":{"4":{"1":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"5":{"7":{"6":{"7":{"6":{"1":{"2":{"4":{"5":{"7":{"2":{"8":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"9":{"6":{"2":{"4":{"5":{"0":{"9":{"8":{"1":{"1":{"4":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"8":{"0":{"7":{"6":{"2":{"1":{"0":{"0":{"2":{"1":{"9":{"7":{"3":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"2":{"9":{"0":{"4":{"0":{"0":{"5":{"0":{"5":{"0":{"6":{"6":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"5":{"4":{"5":{"6":{"0":{"9":{"4":{"7":{"4":{"1":{"8":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"2":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"3":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"4":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"5":{"4":{"2":{"4":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"docs":{}},"docs":{}},"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"4":{"6":{"6":{"9":{"7":{"4":{"0":{"2":{"0":{"0":{"0":{"4":{"3":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"5":{"1":{"4":{"5":{"4":{"4":{"0":{"1":{"0":{"1":{"6":{"2":{"4":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"8":{"0":{"2":{"9":{"9":{"2":{"8":{"2":{"0":{"7":{"4":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"5":{"2":{"7":{"6":{"5":{"8":{"4":{"6":{"2":{"5":{"2":{"4":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"6":{"2":{"4":{"5":{"1":{"1":{"2":{"4":{"1":{"9":{"1":{"3":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"8":{"3":{"9":{"2":{"0":{"3":{"8":{"3":{"4":{"5":{"3":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"8":{"9":{"7":{"0":{"9":{"0":{"4":{"3":{"5":{"0":{"2":{"8":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"9":{"7":{"5":{"3":{"8":{"9":{"4":{"8":{"0":{"5":{"9":{"1":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"6":{"6":{"6":{"1":{"1":{"1":{"9":{"4":{"6":{"1":{"0":{"6":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"./":{"ref":"./","tf":0.043478260869565216}}},"7":{"2":{"6":{"5":{"6":{"2":{"9":{"7":{"6":{"8":{"3":{"7":{"2":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"6":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"7":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"0":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"2":{"docs":{},".":{"6":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}}},"docs":{}}},"8":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"9":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{},"b":{"docs":{},"i":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/installation.html":{"ref":"intro/installation.html","tf":0.03888888888888889},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"users.html":{"ref":"users.html","tf":0.0053475935828877}}}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877}}}},"ć":{"docs":{},"e":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"v":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.029850746268656716},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"a":{"docs":{},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"z":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"ž":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"a":{"docs":{},"j":{"docs":{},"t":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}},"z":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}},"o":{"docs":{},"l":{"docs":{},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"u":{"docs":{},"d":{"docs":{},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"e":{"docs":{},"z":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"e":{"docs":{},"s":{"6":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}},"docs":{}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}},"n":{"docs":{},"v":{"docs":{},"(":{"docs":{},"'":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"_":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}}}}}}},"d":{"docs":{},"e":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"features.html":{"ref":"features.html","tf":0.006993006993006993}}}},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"l":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"t":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}},"š":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"s":{"docs":{},"t":{"docs":{"users.html":{"ref":"users.html","tf":0.026737967914438502}},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"a":{"docs":{},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}},"u":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},"d":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},".":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"u":{"docs":{},"p":{"docs":{},"a":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"e":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993}}}}},"a":{"docs":{},"d":{"docs":{},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"e":{"docs":{},"š":{"docs":{},"k":{"docs":{"logging.html":{"ref":"logging.html","tf":0.009404388714733543}},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"e":{"docs":{},",":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"u":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"i":{"docs":{},"z":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"u":{"docs":{},"ć":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"u":{"docs":{},"z":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"k":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"d":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}},"e":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":10.029850746268657},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"k":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}}}}}}},"m":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.029850746268656716},"intro/solution.html":{"ref":"intro/solution.html","tf":0.01644736842105263},"users.html":{"ref":"users.html","tf":0.03208556149732621},"features.html":{"ref":"features.html","tf":0.02097902097902098},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}},"t":{"docs":{},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"n":{"docs":{},"t":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":10.005555555555556}}}}}}},"l":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}},"n":{"docs":{},"c":{"docs":{},"u":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{},"l":{"docs":{},"n":{"docs":{},"i":{"docs":{},"h":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"d":{"docs":{},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"t":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.009868421052631578}}},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"e":{"docs":{},"k":{"docs":{},"a":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}},"l":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"h":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"p":{"docs":{"visits.html":{"ref":"visits.html","tf":0.017543859649122806}}}},"j":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/idea.html":{"ref":"intro/idea.html","tf":0.029850746268656716},"intro/solution.html":{"ref":"intro/solution.html","tf":0.03289473684210526},"intro/installation.html":{"ref":"intro/installation.html","tf":0.022222222222222223},"users.html":{"ref":"users.html","tf":0.016042780748663103},"features.html":{"ref":"features.html","tf":0.03146853146853147},"visits.html":{"ref":"visits.html","tf":0.0456140350877193},"subscription.html":{"ref":"subscription.html","tf":0.04395604395604396},"logging.html":{"ref":"logging.html","tf":0.03761755485893417}},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"o":{"docs":{},"g":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"h":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"n":{"docs":{},"i":{"docs":{},"j":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}},"o":{"docs":{},",":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}}}}},"r":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"s":{"docs":{},"t":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"a":{"docs":{},"k":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}},"v":{"docs":{},"l":{"docs":{},"j":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"s":{"docs":{},"n":{"docs":{},"u":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"k":{"docs":{},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}},"r":{"docs":{},"i":{"docs":{},"š":{"docs":{},"ć":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}},"j":{"docs":{},"e":{"docs":{},"m":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993}}}}}}}}},"s":{"docs":{},"n":{"docs":{},"i":{"docs":{},"k":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.029850746268656716},"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"users.html":{"ref":"users.html","tf":0.03208556149732621},"features.html":{"ref":"features.html","tf":0.02097902097902098},"visits.html":{"ref":"visits.html","tf":0.021052631578947368},"subscription.html":{"ref":"subscription.html","tf":0.03296703296703297},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.006993006993006993}},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"c":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":10.005347593582888}}}},"č":{"docs":{},"k":{"docs":{},"o":{"docs":{},"m":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"t":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"logging.html":{"ref":"logging.html","tf":0.006269592476489028}},"n":{"docs":{},"k":{"docs":{},"a":{"docs":{},":":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"a":{"docs":{},"k":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.03289473684210526}},"u":{"docs":{},":":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"s":{"docs":{},"n":{"docs":{},"i":{"docs":{},"k":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"m":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"k":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"u":{"docs":{},",":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.017482517482517484}}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.01048951048951049},"visits.html":{"ref":"visits.html","tf":0.010526315789473684},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.018808777429467086}},"h":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"m":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"u":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"e":{"docs":{},"k":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"u":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993}}}}}}}},"a":{"docs":{},"č":{"docs":{},"i":{"docs":{},"ć":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},",":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"j":{"docs":{},"u":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}},"a":{"docs":{},"k":{"docs":{},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/installation.html":{"ref":"intro/installation.html","tf":0.03888888888888889},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"logging.html":{"ref":"logging.html","tf":0.009404388714733543}}}},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.016042780748663103},"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}},"r":{"docs":{},"a":{"docs":{},"k":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"m":{"docs":{},"a":{"docs":{},",":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"e":{"docs":{},",":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}},"s":{"docs":{},"n":{"docs":{},"i":{"docs":{},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"d":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"logging.html":{"ref":"logging.html","tf":0.006269592476489028}},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"f":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}}}}}}}}}}}}},"o":{"docs":{},"z":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"a":{"docs":{},"j":{"docs":{},"u":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}}}},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}}}}}}},"l":{"docs":{},"j":{"docs":{},"u":{"docs":{},"č":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.012539184952978056}},"o":{"docs":{},"m":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"u":{"docs":{},",":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.017482517482517484},"visits.html":{"ref":"visits.html","tf":0.017543859649122806},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"n":{"docs":{},"k":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"users.html":{"ref":"users.html","tf":0.026737967914438502},"visits.html":{"ref":"visits.html","tf":0.017543859649122806}},",":{"docs":{},"p":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}},".":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.010526315789473684}}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},".":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"i":{"docs":{},"n":{"docs":{},"g":{"2":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"docs":{}}}}}},"k":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}}}}}}},"g":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}},"'":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},":":{"docs":{},":":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},"'":{"docs":{},"s":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"n":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":10.009404388714733}},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"e":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},"u":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}}}}}}},"g":{"docs":{},"u":{"docs":{},"ć":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112},"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"logging.html":{"ref":"logging.html","tf":0.006269592476489028}},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0213903743315508},"features.html":{"ref":"features.html","tf":0.01048951048951049},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}},"i":{"docs":{"features.html":{"ref":"features.html","tf":10.027972027972028}},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}},"ž":{"docs":{},"e":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"m":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"r":{"docs":{},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.006993006993006993},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"ć":{"docs":{},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"š":{"docs":{},"k":{"docs":{},"i":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"k":{"docs":{},"e":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"š":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"e":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}},":":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"i":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}},"i":{"docs":{},"l":{"docs":{},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"r":{"docs":{},"e":{"docs":{},"ž":{"docs":{},"a":{"docs":{},",":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}}},"i":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"u":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}}},"t":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}}},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"n":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}}}}}}}},"u":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}}}}}},"p":{"docs":{},"h":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/solution.html":{"ref":"intro/solution.html","tf":0.009868421052631578},"intro/installation.html":{"ref":"intro/installation.html","tf":0.03333333333333333}}}},"r":{"docs":{},"e":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"č":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}}}}},"e":{"docs":{},"m":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}},"k":{"docs":{},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/installation.html":{"ref":"intro/installation.html","tf":0.016666666666666666},"features.html":{"ref":"features.html","tf":0.006993006993006993},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"n":{"docs":{},"o":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.02197802197802198}},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}},"u":{"docs":{},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},",":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"subscription.html":{"ref":"subscription.html","tf":10.021978021978022}}},"e":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.01048951048951049},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}},",":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"o":{"docs":{},"m":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"r":{"docs":{},"a":{"docs":{},"ž":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"č":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"a":{"docs":{},",":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"u":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"c":{"docs":{},"i":{"docs":{},"z":{"docs":{},"n":{"docs":{},"i":{"docs":{},"j":{"docs":{},"i":{"docs":{},"m":{"docs":{},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"k":{"docs":{},"o":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.006993006993006993},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"č":{"docs":{},"n":{"docs":{},"o":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112},"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.006993006993006993},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"l":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"l":{"docs":{},"j":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"l":{"docs":{},"j":{"docs":{},"u":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},"m":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"k":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112},"users.html":{"ref":"users.html","tf":0.0053475935828877}},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}},":":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/installation.html":{"ref":"intro/installation.html","tf":0.016666666666666666},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"u":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}}}},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"features.html":{"ref":"features.html","tf":0.01048951048951049}},",":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}},"v":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"m":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"m":{"docs":{},"o":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"š":{"docs":{},"i":{"docs":{},"r":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},"đ":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"f":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"n":{"docs":{},"i":{"docs":{},"j":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}},"a":{"docs":{},"ć":{"docs":{},"e":{"docs":{},"n":{"docs":{},"j":{"docs":{"features.html":{"ref":"features.html","tf":0.013986013986013986},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"v":{"docs":{},"l":{"docs":{},"j":{"docs":{},"e":{"docs":{},"n":{"docs":{},"j":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}},"t":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}},",":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"t":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"u":{"docs":{},"ž":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"v":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"o":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"n":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}}}}}}}}},"o":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"logging.html":{"ref":"logging.html","tf":0.006269592476489028}},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"i":{"docs":{},".":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}},"k":{"docs":{},"u":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":10.007017543859648}},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.010526315789473684}},",":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"?":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}},"c":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"l":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.014035087719298246}},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754}}}},"e":{"docs":{},"ć":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}},"a":{"docs":{},"v":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"n":{"docs":{},"i":{"docs":{},"k":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},",":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"u":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}},"n":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"n":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}},"o":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"n":{"docs":{},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"a":{"docs":{},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"s":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}},"š":{"docs":{},"e":{"docs":{},"n":{"docs":{"logging.html":{"ref":"logging.html","tf":0.012539184952978056}},"o":{"docs":{},"g":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}},"i":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}},"k":{"docs":{},"a":{"docs":{},"z":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"u":{"docs":{},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}},"t":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.07777777777777778}}}}}},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"j":{"docs":{},"u":{"docs":{},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"o":{"docs":{},"p":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}},"o":{"docs":{},"ć":{"docs":{},"u":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.006993006993006993},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"l":{"docs":{},"j":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"n":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}}}}}}}},"č":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{},"j":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}}},"š":{"docs":{},"a":{"docs":{},"l":{"docs":{},"j":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},"t":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"ž":{"docs":{},"n":{"docs":{},"j":{"docs":{},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"a":{"docs":{},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993}},"u":{"docs":{},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.006993006993006993}}}},".":{"docs":{},"'":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"m":{"docs":{},"t":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"ć":{"docs":{},"e":{"docs":{},"n":{"docs":{},"j":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"k":{"docs":{},"s":{"docs":{},",":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"e":{"docs":{},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}},"ć":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{},"a":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}}}},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}},"ć":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},"u":{"docs":{},"č":{"docs":{},"a":{"docs":{},"j":{"docs":{},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},"g":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"i":{"docs":{},"k":{"docs":{},"u":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"logging.html":{"ref":"logging.html","tf":0.0219435736677116}}}}}},"u":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"features.html":{"ref":"features.html","tf":0.006993006993006993},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{},"m":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.01048951048951049},"visits.html":{"ref":"visits.html","tf":0.010526315789473684},"subscription.html":{"ref":"subscription.html","tf":0.02197802197802198}},"m":{"docs":{},"i":{"docs":{},"m":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}},"o":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"j":{"docs":{},"t":{"docs":{},"u":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"a":{"docs":{},")":{"docs":{},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"d":{"docs":{},"r":{"docs":{},"ž":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}},"e":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.019736842105263157},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"users.html":{"ref":"users.html","tf":0.026737967914438502},"features.html":{"ref":"features.html","tf":0.038461538461538464},"visits.html":{"ref":"visits.html","tf":0.05263157894736842},"subscription.html":{"ref":"subscription.html","tf":0.03296703296703297},"logging.html":{"ref":"logging.html","tf":0.03134796238244514}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}},"s":{"docs":{},"i":{"docs":{},"j":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.012539184952978056}}},"y":{"docs":{},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"k":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"users.html":{"ref":"users.html","tf":0.0106951871657754}},"t":{"docs":{},"i":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}},"ć":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"g":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"n":{"docs":{},"u":{"docs":{},"t":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{},"l":{"docs":{},"n":{"docs":{},"i":{"docs":{},"h":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}}}},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"o":{"docs":{},"s":{"docs":{},"n":{"docs":{},"i":{"docs":{},"h":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"a":{"docs":{},",":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"a":{"docs":{},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"k":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"i":{"docs":{},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"k":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"e":{"docs":{},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}},"u":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}}},"u":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"l":{"docs":{},"n":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"v":{"docs":{},"k":{"docs":{},"u":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"n":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}},"a":{"docs":{},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}},"i":{"docs":{},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}},"\\":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"s":{"docs":{},"\\":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"i":{"docs":{},"p":{"docs":{},"e":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"v":{"docs":{},"a":{"docs":{},"k":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0106951871657754},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}},"o":{"docs":{},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"g":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}}},"u":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"e":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.006993006993006993},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"m":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"o":{"docs":{},"m":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"s":{"docs":{},"h":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"t":{"docs":{},"e":{"docs":{},"h":{"docs":{},"n":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}}}}}}}}},"i":{"docs":{},"k":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}},"k":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"k":{"docs":{},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"đ":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"e":{"docs":{},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}},"e":{"docs":{},"n":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"b":{"docs":{},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"l":{"docs":{},"a":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}},"u":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}},"j":{"docs":{"users.html":{"ref":"users.html","tf":0.016042780748663103},"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"č":{"docs":{},"n":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"s":{"docs":{},"k":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"i":{"docs":{},"m":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"a":{"docs":{},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"p":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},",":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"o":{"docs":{},"g":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.013157894736842105}}}},"n":{"docs":{},"u":{"docs":{},"t":{"docs":{},"k":{"docs":{},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"n":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"ć":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"e":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"u":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"u":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/idea.html":{"ref":"intro/idea.html","tf":0.029850746268656716},"intro/solution.html":{"ref":"intro/solution.html","tf":0.019736842105263157},"intro/installation.html":{"ref":"intro/installation.html","tf":0.022222222222222223},"users.html":{"ref":"users.html","tf":0.0213903743315508},"features.html":{"ref":"features.html","tf":0.013986013986013986},"visits.html":{"ref":"visits.html","tf":0.010526315789473684},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.025078369905956112}},"v":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":10}}}},"i":{"docs":{},"d":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"e":{"docs":{},"k":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"z":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877}},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"m":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"p":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}},"o":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"l":{"docs":{},"j":{"docs":{},"e":{"docs":{},"n":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"r":{"docs":{},"l":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.016666666666666666},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"a":{"docs":{},"d":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"t":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"i":{"docs":{},"k":{"docs":{},"a":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"u":{"docs":{},"s":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"o":{"docs":{},"p":{"docs":{},"š":{"docs":{},"t":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},")":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"v":{"docs":{},"e":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"visits.html":{"ref":"visits.html","tf":0.014035087719298246},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"l":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"ć":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.010526315789473684},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}},"r":{"docs":{},"z":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\\":{"docs":{},"\\":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\\":{"docs":{},"\\":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}},"m":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"ć":{"docs":{},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"n":{"docs":{},"j":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"e":{"docs":{},"d":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},")":{"docs":{},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}},":":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},"š":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"l":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"i":{"docs":{},"d":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"l":{"docs":{},"j":{"docs":{},"i":{"docs":{},"v":{"docs":{},"o":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}},"š":{"docs":{},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"r":{"docs":{},"t":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"n":{"docs":{},"a":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}}}},"ž":{"docs":{},"n":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},"p":{"docs":{},"n":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"\"":{"docs":{},"k":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"k":{"docs":{},"\"":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"j":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"j":{"docs":{},"e":{"docs":{},"\"":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.009868421052631578},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"k":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"u":{"docs":{},".":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.03333333333333333}}}}}}}},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"logging.html":{"ref":"logging.html","tf":0.006269592476489028}},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"e":{"docs":{},")":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"o":{"docs":{},"m":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"k":{"docs":{},"o":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.006993006993006993},"visits.html":{"ref":"visits.html","tf":0.017543859649122806},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},")":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993}}},"i":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"m":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.02631578947368421},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"users.html":{"ref":"users.html","tf":0.0374331550802139},"features.html":{"ref":"features.html","tf":0.038461538461538464},"visits.html":{"ref":"visits.html","tf":0.04912280701754386},"subscription.html":{"ref":"subscription.html","tf":0.02197802197802198},"logging.html":{"ref":"logging.html","tf":0.02821316614420063}},"n":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}},",":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"k":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"j":{"docs":{},"u":{"docs":{},"m":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"č":{"docs":{},"k":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"z":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"m":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}}}}},"b":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"ć":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"k":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"n":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},",":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"e":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"đ":{"docs":{},"e":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"š":{"docs":{},"a":{"docs":{},"o":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},"r":{"docs":{},"u":{"docs":{},"g":{"docs":{},"a":{"docs":{},"č":{"docs":{},"i":{"docs":{},"j":{"docs":{},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"e":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},"ž":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"v":{"docs":{},"a":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"k":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"s":{"docs":{},"i":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"u":{"docs":{},"ž":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},")":{"docs":{},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}},"n":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"j":{"docs":{},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"g":{"docs":{},"o":{"docs":{},"v":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"o":{"docs":{},"g":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.01644736842105263},"intro/installation.html":{"ref":"intro/installation.html","tf":0.016666666666666666},"users.html":{"ref":"users.html","tf":0.016042780748663103},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"subscription.html":{"ref":"subscription.html","tf":0.02197802197802198},"logging.html":{"ref":"logging.html","tf":0.0219435736677116}},"j":{"docs":{},"b":{"docs":{},"r":{"docs":{},"ž":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"l":{"docs":{},"a":{"docs":{},"z":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"v":{"docs":{},"k":{"docs":{},"u":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"j":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{},"h":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}},"č":{"docs":{},"i":{"docs":{},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.01644736842105263},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.02197802197802198},"logging.html":{"ref":"logging.html","tf":0.012539184952978056}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},":":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}},"š":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"e":{"docs":{},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"p":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.016666666666666666}},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"z":{"docs":{},"i":{"docs":{},"v":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"n":{"docs":{},"o":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.016042780748663103},"visits.html":{"ref":"visits.html","tf":0.010526315789473684},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"k":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0106951871657754},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"e":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"o":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"j":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"m":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"u":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"m":{"docs":{},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"ć":{"docs":{},"e":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"g":{"docs":{},"o":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"j":{"docs":{},"a":{"docs":{},",":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}}},"i":{"docs":{},"j":{"docs":{},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0106951871657754},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}}},"t":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"v":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}}},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"a":{"docs":{},"c":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.02197802197802198}}}}},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"+":{"1":{"1":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"docs":{}},"docs":{}},"u":{"docs":{},"d":{"docs":{},"i":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"o":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"č":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"j":{"docs":{},"u":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}}},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}},"v":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"features.html":{"ref":"features.html","tf":0.006993006993006993}}},"k":{"docs":{},"v":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"a":{"docs":{},"v":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},"u":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}},"o":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"users.html":{"ref":"users.html","tf":0.0053475935828877},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"g":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"m":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"d":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"i":{"docs":{},"m":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"d":{"docs":{},"u":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"š":{"docs":{},"t":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}}},"e":{"docs":{},"n":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"u":{"docs":{},"h":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},"d":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.013157894736842105},"users.html":{"ref":"users.html","tf":0.016042780748663103},"features.html":{"ref":"features.html","tf":0.013986013986013986},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}},"k":{"docs":{},"l":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}}},"v":{"docs":{},"d":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"r":{"docs":{},"e":{"docs":{},"đ":{"docs":{},"e":{"docs":{},"n":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"i":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"č":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"m":{"docs":{},"a":{"docs":{},"h":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"g":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"j":{"docs":{},"u":{"docs":{},"ć":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"d":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"n":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"o":{"docs":{},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"g":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}}},"t":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"o":{"docs":{},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.01048951048951049}},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.006993006993006993}},".":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"m":{"docs":{},"a":{"docs":{},".":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"u":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}}}}}}}}}}},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{},"e":{"docs":{},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}}},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"v":{"docs":{},"u":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"k":{"docs":{},"r":{"docs":{},"u":{"docs":{},"ž":{"docs":{},"e":{"docs":{},"n":{"docs":{},"j":{"docs":{},"e":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"z":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"users.html":{"ref":"users.html","tf":0.0053475935828877},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"i":{"docs":{},"k":{"docs":{},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"č":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"n":{"docs":{},"i":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}},"h":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}},"d":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"n":{"docs":{},"d":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"(":{"docs":{},")":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"o":{"docs":{},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}}}}},"č":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{},":":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"/":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"'":{"docs":{},",":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"(":{"docs":{},"[":{"docs":{},"'":{"docs":{},"f":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"'":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"z":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}},"š":{"docs":{},"e":{"docs":{},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"features.html":{"ref":"features.html","tf":0.006993006993006993}},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":10.00328947368421},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"p":{"docs":{},"s":{"docs":{},"#":{"docs":{},"e":{"docs":{},"a":{"docs":{},"g":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"o":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},",":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}}}}}},"c":{"docs":{},"i":{"docs":{},"m":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"m":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"e":{"docs":{},"r":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"a":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"u":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"f":{"docs":{},"c":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"z":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.029850746268656716},"intro/solution.html":{"ref":"intro/solution.html","tf":0.019736842105263157},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.013986013986013986},"visits.html":{"ref":"visits.html","tf":0.010526315789473684},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.009404388714733543}},"s":{"docs":{},"e":{"docs":{},"b":{"docs":{},"n":{"docs":{},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"t":{"docs":{},"o":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"g":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"v":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"d":{"docs":{},"u":{"docs":{},"ž":{"docs":{},"e":{"docs":{},"n":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"g":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"n":{"docs":{},"a":{"docs":{},"č":{"docs":{},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.010526315789473684}}}}}}},"(":{"docs":{},"c":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"h":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"k":{"docs":{},"t":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},")":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"f":{"docs":{},"s":{"docs":{},"k":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}}},"j":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"u":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{},"e":{"docs":{},")":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}}}}}}}}},"*":{"docs":{},"*":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},":":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}}}}},"`":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}}},"c":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"n":{"docs":{},"g":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"d":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}}},"d":{"docs":{},"e":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"logging.html":{"ref":"logging.html","tf":0.012539184952978056}}}}},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"\\":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"p":{"docs":{},"h":{"docs":{},"p":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"a":{"docs":{},"l":{"docs":{},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{},"j":{"docs":{},"e":{"docs":{},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}},"k":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.01644736842105263}},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}}}},"e":{"docs":{},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}},"a":{"docs":{},"j":{"docs":{},"l":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},",":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}},"a":{"docs":{},",":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}},"u":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"s":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"e":{"docs":{},"š":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.010526315789473684}},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"users.html":{"ref":"users.html","tf":0.0053475935828877}}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0106951871657754}}},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"u":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},",":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.016666666666666666}}}}}}}}},"s":{"docs":{},"t":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"o":{"docs":{},"k":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"5":{"docs":{},".":{"6":{"docs":{},"/":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"q":{"docs":{},"u":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},".":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"/":{"docs":{},"r":{"docs":{},"f":{"docs":{},"c":{"5":{"4":{"2":{"4":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"ć":{"docs":{},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"č":{"docs":{},"a":{"docs":{},"k":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"j":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"u":{"docs":{},"v":{"docs":{},"a":{"docs":{},"j":{"docs":{},"u":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},"š":{"docs":{},"t":{"docs":{},"o":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.009868421052631578},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.014035087719298246}}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"i":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"a":{"docs":{},"l":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"u":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},",":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}}}}}}}}}},"/":{"docs":{},"v":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}},"/":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}},"ž":{"docs":{},"e":{"docs":{},"l":{"docs":{},"j":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},"i":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"m":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"'":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"@":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"'":{"docs":{},")":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},":":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"m":{"docs":{},":":{"docs":{},"'":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"b":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"'":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"j":{"docs":{},"i":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"i":{"docs":{},"p":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},"=":{"docs":{},">":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"logging.html":{"ref":"logging.html","tf":0.025078369905956112}},"$":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},"[":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}},"'":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"'":{"docs":{},"]":{"docs":{},"]":{"docs":{},",":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}}}}}}}},"{":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"}":{"docs":{},")":{"docs":{},";":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"↩":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993}}},"$":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}}}}}}}},">":{"docs":{},"i":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"'":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},"e":{"docs":{},"b":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}}}}}}}},"length":1180},"corpusTokens":["\"kratak\"","\"najbolje\"","$request","':boom:',","'browser'","'critical',","'dashboardcontroller@index')","'driver'","'emoji'","'ip'","'level'","'linkcutt","'referer'","'slack'","'slack',","'url'","'username'","(csprng).","(geografska","(istih","(jedinstven","(middlewar","(na","(preusmeravanje)","(redirektovan)","**napomena:",",",".env",".env.",".env.exampl","//","/vagrant","0","000","1","1.","1.682667016983","1.6866478919983","1.7188358306885","1.7203500270844","1.7273991107941","1.7576761245728","1.796245098114","1.8076210021973","1.8290400505066","1.8754560947418","10","127.0.0.1:8000.","192.168.10.10.","2","2.","3","4","5","5.4669740200043","5.5145440101624","5.5180299282074","5.5527658462524","5.5624511241913","5.5683920383453","5.5897090435028","5.5975389480591","5.6","5.666111946106","5.7265629768372","5424","6","7","7.0","7.2.6","8","9","=>","=>$request",">ip(),",">server('http_referer'),",">server('http_user_agent'),","[","['dashboard']],","]);","],","`random_bytes()","`vagrant","a).","a.","access","action","admin","admin,","administr","administratora","administratora.","adres","adresa","adresa.","adrese)","adresom","ako","alati","alert:","ali","aplikacij","aplikacija","aplikaciju.","artisan","atributa","atributi.","atributima","automatski","bajtovima","bazi","bazi.","bez","bi","biti","bitno","biva","biće","bogata","bolj","brisati","broj","broja.","brz","brzinu","brža","brža,","bude","cashier","cd","code","compos","condit","config\\logging.php","critic","critical.","critical:","csprng","da","dana","dana,","debug","debug:","desi,","detektor","dinamički","direktno","direktorijum.","dobija","dobić","dodati","dodatn","dodatna","dodatni","dodavati,","dode","dok","dolaz","dolazi","dolazimo","dosta","dođe","došao","drugačiju","druge","država.","dužina).","dva","eager","emergency:","env('log_slack_webhook_url'),","error","error:","es6","fajl","fajl,","fajla,","fajlu","fasade:","featur","featuremiddlewar","funckije,","function()","funkcij","funkcija","funkcija,","funkcije,","ga","gde","gener","generatora","generisali","generisanj","generisanja","generisati","generiš","generišu","gledati","god","godina.","gore","gore.","gost","gost.","gosta,","gostu","grad.","grešk","greška","greške,a","greške.","grešku","groupa","grupa.","grupe","hash","heš","heš,","heš.","heševa","hešu,","hešu.","homestead","hook","host","https://api.slack.com/incom","https://laravel.com/docs/5.6/eloqu","https://tools.ietf.org/html/rfc5424","id","ideja","identifikacioni","ih","ili","im","ima","imao","imati","immedi","implementacija","implementaciju","inform","informacij","informational:","inicijalnih","instalacija","install.","instancu.","int","interesanta","ip","iskopirati","iskoristi","ispod.","ist","isteka","isti","isto","iz","izaber","izgleda","izmen","izmenitihomestead.yaml","izrad","izuzetak","izuzetaka","izvućemo","jak","jasnu","javlja","je","je:","jedinstven","jedinstven.","jedinstvena","jedinstvena.","jedinstveni","jedinstvenih","jedinstvenog","jedinstvenosti","jedna","jedno","jednostavan.","jednostavniji","jednostavno,","jer","jest","kad","kada","kako","kanala:","kao","karaktera","karticama,","kartice,","kasnij","key:gener","key:generate.","ključeve.","ko","koja","koje","koji","koji,","kojih","kojima","koju","kolačić","kolačić,","kolačića","kolačićima","kolekciju","kolizija","komunikaciju,","konfiguraciji","kontrola","kopiju","korak","koraku:","korisnici","korisnik","korisnik,","korisnik.","korisnika","korisnika.","korisniku","korisničkom","koristi","koristi.","koristinka:","korišćeni","korišćenjem","korsnik","kraju","kreditnim","kripto","kriptografski","kroz","laravel","laravelom","laravelu,","level","li","link","link,pa","link.","linka","linka,","linka.","load","loading2","log","log',","log,","log::alert($message);","log::critical($message);","log::critical('someon","log::debug($message);","log::emergency($message);","log::error($message);","log::info($message);","log::notice($message);","log::warning($message);","log_slack_webhook_url","logavanj","logovanj","logovanja","logovanje:","loguj","logujemo","lokacij","lokacija","mail.","make","mana","manj","marketinški","mašina.","mašine.","mašine:","mašini.","meseci","messag","migraciju","migrat","minimalni","modernim","moguć","mogućnost","mogućnosti","mogućnosti.","mora","moći","može","možemo","mreža,","mu","n","n+11","na","najbrži","nalaz","nalazi","naprav","napravi","naravno","nastaj","nastavku","nastavku.","navedenih","naziv","način","način.","način:","načina","načina.","naš","našem","ne","ne,","ne.","nedelja,","nego","neke","neki","neko","nekoj","nekom","neku","nema","nesiguran","neće","nije","niti","nivo","nje","njega","njegov","njegova","njegovi","njegovog","normal","notice:","novac","novi","nudi","numer","o","obavestimo","obaveštava","obaveštenj","obradu","obradu.","obrat","obuhvata","od","odabere.","odakl","odavd","odgovarajuć","odlučeno","odmah","određen","određeni","određivanj","određivanja","ogranič","ograničava","ograničavaju","ograniči","okruženje,","onda","oni","opcij","opcija","opcija.","opcijama.","opciju","operativni","operativnog","operativnom","opet","opisan","opisani","opisano.","originalan","osnovu","otvaranjem","ov","ova","ovaj","ovakav","ovakva","ovd","ovim","ovo","ovog","ovom","ovu","pa","paket","paketa,","pamti","pamćenja","panel","panel.',","panelu.","paradoks,","pažnju","performans","permisij","permisije.","php","pisanja","pisanja,","planova","plaćanja","po","podeli.","podes","podešen","podešenog","podigli","pokazala","pokazuj","poklapaju.","poklop","pokrenula","pokrenuli","pokrenuti","pokretanj","pomenuta,","pomoću","ponavljanja","ponavljanja.","popunjavanj","poruci.","poruku:","poset","poseta","poseta,","poseta?","poseti","posetili","posetio","posetioca","posrednik","posrednik,","posrednika","posredniku","postav","postojeći","postoji","postoji.","potencijal,","potencijaln","potpun","potpuno","potreban","potrebno","početnoj","pošalj","pošto","prati","prati,","prati.","pratiti","pravljenj","praćenj","praćenja","pre","preciznijim.","pregledačem","pregledačima.","preko","prenet","prenosi","prethodno","pretpatu","pretplat","pretplata","pretplate,","pretplate.","pretplati","pretplatom","pretplatu,","pretplatu.","pretraživač","pretraživača,","pretraživača.","pretvara","preusmeren","preusmeri","prijavi","prijavljuj","prilikom","prilično","primi","pristup","pristupa","pristupi","pristupili","pristupljeno","prisupa","problem","problem,","problem.","profesinalniji","projekat","projekat.","projekat:","projekta","projektu","promen","promenili","prover","provera","proverava","proveravamo","proveri","proverimo","prođemo","prošir","pruža","prva","prvi","prvobitni","radi","rand","rand()","rand().","random","random_byt","random_bytes()","random_bytes().","random_int()","random_int().","razliku","različ","razloga","razni","raznih","računa","realizovan","realizovano","realizovano,","recimo","registrovani","relationships#eag","rezultati","rešen","rešen.","rešenj","reši","rfc","rodila","route::get('/dashboard',","route::group(['features'","ruta","ruta.","rutama","ruter","rutera.","ruteru.","sa","sadrži","sajta).","sajtu","sajtu.","samim","samo","scss","se","seed,","sentri","sentry.","server","sesij","sever","signific","siguran","sigurn","sigurna","sigurnosnih","singl","sistem","sistem,","sistema,","sistemu","skida","skinut","skrati","skratiti","skraćenog","skraćivanj","skraćivanja","slack","sledec","sledeć","sliku","slug","slučaju","socijalnih","specifikaciji.","spor","spora,","spora.","ssh","stalno","standardni","statistik","statistika","statistike,","statistiku","statu","stavku","stipe","storage:link.","storage\\logs\\laravel.log","strane,","strani.","string","stringa.","stvari.","su","suprotnom","svaka","svaki","svakog","svakom","svaku","sve","svi","svim","svoje","svojom","system","ta","tabe","tabela.","tabelu","taj","taken","tako","takođ","takođe,","task","tačna","tehnik","tehnologij","tehnologije:","teksta","testiranja","tim","tima.","time","tip","tip,","tipova","tog","toga","trajanj","traje","treba","trenutku","trenutno","treći","tri","tu","u","u)","u.","u:","unes","unet","unikatno","unus","uopšt","up","upita","upotrebljen","urad","uradi","url","uveden","uvek","uvid","uvod","uz","uzimamo","uzm","vagrant","važno","važnosti","važnosti:","veb","velika","veliki","vendor\\\\bin\\\\homestead","verzija","vezana","vezivati","već","vid","vidljivo","virtualna","virtueln","više","vodi","vpn","vrati","vratimo","vraća","vraćanja","vrednosti","vrednosti),","vrednosti.","vrednosti:","vrlo","vrste","vrši","vršila","warn","warning:","webhook","za","zadužen","zagarantovan","zahtev","zahteva","zasebnu","zato","zavisnosti","zbog","znači","{","});","će","čak","čest","česta","čiji","čini","članova","čuvaju","šalj","šalju","širina","šta","što","želi","želimo","željeni","želji.","↩"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"Uvod","keywords":"","body":"Tehnologije\nVrlo je bitno projekat gledati u modernim veb pregledačima.\nPrilikom izrade projekta korišćeni su sledece tehnologije:\n\nPHP 7.2.6\nLaravel 5.6\nSCSS\nES6\n\n"},"intro/idea.html":{"url":"intro/idea.html","title":"Ideja","keywords":"","body":"Ideja\nDanas veliki broj socijalnih mreža, kao i razni alati za komunikaciju, ograničavaju broj karaktera u poruci. Iz tog razloga je potrebno skratiti link,pa se tako rodila ideja za ovu aplikaciju.\nTakođe ova implementacija ima jak marketinški potencijal, gde korisnik ima potpun uvid u to ko je posetio njegov link. Samim tim korisnik može da skrati i već \"kratak\" link kako bi imao mogućnost praćenja poseta preko njegovog skraćenog linka.\n"},"intro/solution.html":{"url":"intro/solution.html","title":"Rešenje","keywords":"","body":"Rešenje\nNačin na koji je problem rešen je prilično jednostavan. Uzme se originalan link i za njega se korisniku da neki heš, koji korisnik kasnije može da podeli. Otvaranjem heš linka korisnik će biti preusmeren (redirektovan) na originalan link.\n\nLink generator treba da ima što manje kolizija (istih vrednosti), takođe to NE treba da bude hash funkcija koja će za isti string da vrati isti heš, već za isti string treba da vrati uvek različiti heš.\nPrilikom pisanja ovog generatora treba obratiti pažnju na brzinu generisanja stringa. Postoji više načina da se reši ovaj problem i oni su opisani u nastavku.\nSpor i siguran način\nOvaj način koristi funkcije koje generišu kriptografski sigurne vrednosti (CSPRNG). Ovakva funkcija u PHP-u je random_int().\nRandom int ima drugačiju implementaciju na svakom operativnom sistemu i time pruža mogućnost da se iskoristi sistem za generisanje jedinstvenog broja.\nVelika mana ove funkcije je što je vidljivo spora.\nBrz i nesiguran način\nZa razliku od random_int() funckije, rand() je dosta brža funkcija, ali nije kriptografski sigurna i u našem slučaju ima česta ponavljanja. Zato je potreban treći način.\nNajbrži i siguran način\nU trenutku pisanja, PHP verzija 7.2.6 ima tri CSPRNG funkcije, od kojih je jedna već prethodno pomenuta, i pokazala se kao spora, ali funkcija koja pokazuje bolje performanse od nje je random_bytes().\nrandom_bytes() funkcija, takođe, ima zasebnu implementaciju za svaki operativni sistem, ali zbog toga što radi direktno sa bajtovima dosta je brža, pa čak i od rand().\n**Napomena: Funkcija `random_bytes() dolazi uz PHP 7.0 pa na gore.\nStatistika\nRezultati testiranja navedenih funkcija se nalaze u tabeli ispod.\n\n\n\nPonavljanja\nrandom_bytes\nrand\n\n\n\n\nKorak 1\n1.7273991107941\n5.7265629768372\n\n\nKorak 2\n1.8290400505066\n5.5975389480591\n\n\nKorak 3\n1.7188358306885\n5.4669740200043\n\n\nKorak 4\n1.8076210021973\n5.666111946106\n\n\nKorak 5\n1.796245098114\n5.5624511241913\n\n\nKorak 6\n1.8754560947418\n5.5897090435028\n\n\nKorak 7\n1.6866478919983\n5.5180299282074\n\n\nKorak 8\n1.7576761245728\n5.5145440101624\n\n\nKorak 9\n1.7203500270844\n5.5683920383453\n\n\nKorak 10\n1.682667016983\n5.5527658462524\n\n\n\nBroj heševa po koraku: 1 000 000\n"},"intro/installation.html":{"url":"intro/installation.html","title":"Instalacija","keywords":"","body":"Instalacija\nPokretanje projekta je prilično jednostavno, zato što je upotrebljen Homestead koji koristi Vagrant za pravljenje virtuelne mašine. Više o Homestead-u na Laravelom sajtu.\nMoguće je pokrenuti projekat na dva načina.\nPrvi i jednostavniji način:\n\nPokrenuti composer install.\nNapraviti tabelu u bazi.\nNapraviti kopiju .env.example fajla, promeniti mu ime u .env i podesiti vrednosti.\nPokrenuti php artisan migrate --seed, kako bi pokrenuli migraciju i popunjavanje tabela.\nPokrenuti php artisan key:generate kako bi generisali kripto ključeve.\nPokrenuti php artisan server kako bi podigli projekat.\nPristupiti projektu preko 127.0.0.1:8000.\n\nTakođe projekat je moguće pokrenuti preko virtuelne mašine:\n\nPokrenuti composer install.\nNapraviti kopiju .env.example fajla, i promeniti mu ime u .env.\nPokrenuti vendor\\\\bin\\\\homestead make , ovo će generisati Homestead instancu.\nIzmenitiHomestead.yaml fajl, postaviti željeni URL projekta\nIzmeniti hosts fajl operativnog sistema, tako da URL projekta pokazuje na 192.168.10.10.\nPokrenuti `vagrant up kako bi se pokrenula virtualna mašina.\nPokrenuti vagrant ssh kako bi pristupili mašini.\nPokrenuti cd /vagrant kako bi promenili direktorijum.\nPokrenuti php artisan key:generate.\nPokrenuti php artisan storage:link.\nPokrenuti php artisan migrate --seed, kako bi pokrenuli migraciju i popunjavanje tabela.\nPristupiti projektu preko podešenog URL-a.\n\n"},"users.html":{"url":"users.html","title":"Korisnici","keywords":"","body":"Korisnici\nProjekat sadrži tri vrste koristinka: admin, korisnik i gost. U nastavku teksta biće opisan svaki od tipova korisnika.\nGost\nSvaki korisnik koji pristupi sajtu je gost i on ima pristup samo početnoj strani. Gost može da skrati link ali prilikom skraćivanja linka nema mogućnost statistike, takođe, gostu nije zagarantovan jedinstven heš.\n\nKada gost pošalje zahtev za skraćivanje linka, u bazi se uradi provera da li taj link već postoji. Ako taj link postoji vraća se postojeći heš, u suprotnom se generiše novi heš.\nOvo je iz razloga što nije bitno da li gost ima jedinstven heš ili ne, sve dok ga taj heš vodi na željeni link jer opcija praćenja ne postoji.\nKorisnik\nRegistrovani korisnik ima mogućnost da se pretplati na neki od paketa, kao i mogućnost da skrati link koji ne želi da prati i koji, kao u slučaju gosta, ne mora biti jedinstven. Sa druge strane, korisnik ima mogućnost da prati statistiku skraćenog linka ako to odabere.\n\nOpcije korisnika je moguće dinamički proširiti pomoću raznih opcija koje korisnik dobija kada se prijavi na neki od planova za pretplatu.\nAdministrator\nAdministrator ima iste opcije kao korisnik, a uz to ima i pristup admin panelu.\n"},"features.html":{"url":"features.html","title":"Mogućnosti","keywords":"","body":"Mogućnosti\nMogućnosti su opcije koje korisnik ima u zavisnosti od pretplate. Neke od inicijalnih opcija sa kojima dolazi projekat:\n\nPraćenje - mogućnost da se prati statistika linka.\nPanel - pristup korisničkom panelu.\nJedinstvene posete - praćenje jedinstvenih korisnika.\nLokacija - praćenje sa koje lokacije je pristupljeno hešu.\nVPN detektor - praćenje da li je poseta sa VPN adrese ili ne.\nNaziv linka - mogućnost da se unese heš po želji.\n\nOpcije je moguće dinamički dodavati, brisati i isto tako ih vezivati za određene pretplate.\nKontrola pristupa\nPošto je opcija vezana za pretplatu, mora se ograničiti da korisnik svojom pretplatom ima samo opcije svoje pretplate. Što znači ako korisnik nema opciju panel on neće moći da pristupi panelu.\nOvaj problem je rešen korišćenjem posrednika (middleware-a). Uveden je FeatureMiddleware posrednik, koji je zadužen da proveri da li korisnik ima mogućnosti koje su prenete preko rutera.\n\nRuter\nNačin na koji se ograničava pristup rutama je pomoću atributa grupe u ruteru.\nRoute::group(['features' => ['dashboard']], function() {\n Route::get('/dashboard', 'DashboardController@index')\n});\n\nPreko atributa features prenosi se slug mogućnosti za koje se želi da se ograniči groupa ruta.\nPrilikom prisupa nekoj od ruta iz grupe naš posrednik će proveriti da li korisnik ima SVE mogućnosti koje zahteva ta grupa.\nSve mogućnosti korisnika\nKako bi se vršila provera da li korisnik ima neku od mogućnosti mora se stalno imati uvid u njegove mogućnosti. Ovde nastaje problem, ako uzimamo mogućnosti kad god proveravamo da li on ima tu mogućnost dolazimo do N+11 problem.\nOvaj problem je rešen korišćenjem Eager loading2 tehnike u laravelu, gde se prilikom vraćanja korisnika vraća njegova pretplata i svi njegovi atributi.\n\n1. Čest problem koji se javlja kada pomoću jedno upita vratimo kolekciju i onda prođemo kroz tu kolekciju gde za svaku stavku izvućemo dodatne stvari. ↩\n\n\n2. https://laravel.com/docs/5.6/eloquent-relationships#eager-loading ↩\n\n"},"visits.html":{"url":"visits.html","title":"Posete","keywords":"","body":"Posete\nKako je jedna od ideja projekta mogućnost praćenja statistike svakog linka, potrebno je da se svaka poseta (preusmeravanje) prati. Kada korisnik poseti neki heš pre nego što ga aplikacija preusmeri na prvobitni link čuvaju se sledeće vrednosti:\n\nTip veb pretraživača.\nIP adresa.\nLokacija (na osnovu IP adrese)\nTačna lokacija (geografska širina i dužina).\nGrad.\nDržava.\n\n\nDa li je IP adresa sa VPN-a.\nOdakle je došao korisnik.\n\nSa ovim atributima dobija se prilično bogata statistika koja može da da korisniku vrlo jasnu sliku odakle dolaze koju su posetili link.\nJedna vrlo interesanta mogućnost aplikacije je praćenje jedinstvenih poseta, naravno tu je i paradoks, šta se računa kao jedinstvena poseta?\nJedinstvena poseta\nNe postoji unikatno niti \"najbolje\" rešenje za određivanje jedinstvene posete ali je u ovom slučaju odlučeno da se prati IP adresa i veb pretraživač koji korisnik koristi.\n\nKada korisnik pristupi hešu, prva provera je da li se taj heš uopšte prati, ako se ne prati može odmah da se preusmeri korisnik na prvobitni link. Ako se heš prati, mora se proveriti da li u kolačićima postoji identifikacioni broj sesije (jedinstven za svakog posetioca sajta). Ako postoji kolačić, proverimo da li se link id i id sesije poklapaju. Ako se vrednosti poklope znači da je taj korsnik već posetio link što znači da link nije jedinstven. U suprotnom znači da je link jedinstven.\n\nSvaki korisnik koji dođe bez kolačića dobiće jedinstveni kolačić koji se koristi za praćenje kao što je gore opisano.\n\nDodatna provera koja postoji jeste da se proveri da li je korisnik sa IP adresom i tim veb pregledačem već posetio link. Ako nije onda je poseta jedinstvena.\n\nPrilikom pamćenja veb pretraživača, ne pamti se samo tip, već verzija i sistem, što ovakav način određivanja jedinstvenosti čini preciznijim.\n\n"},"subscription.html":{"url":"subscription.html","title":"Pretplata","keywords":"","body":"Pretplata\nKorisnik ima opciju pretplate, svaki paket za pretpatu nudi određeni broj opcija. Kada se korisnik pretplati odmah dobija pristup svim opcijama. Na kraju isteka pretplate korisniku se opet skida novac sa unete kartice, ako korisnik nema novac biće skinut sa pretplate.\nTrajanje pretplate je potpuno dinamički realizovano, administrator može da izabere da pretplata traje n dana, nedelja, meseci ili godina.\nZbog sigurnosnih razloga u bazi se ne čuvaju informacije o kreditnim karticama, već je sve realizovano neko Stipe-a\nNačin na koji je realizovan način plaćanja je preko Laravel Cashier-a.\n"},"logging.html":{"url":"logging.html","title":"Logovanje","keywords":"","body":"Logovanje\nPrilikom izrade veb aplikacije vrlo je važno pratiti potencijalne greške,a kako se ovde koristi Laravel okruženje, logavanje se vrši automatski za svaki vid greške.\nLog fajl se nalazi u: storage\\logs\\laravel.log\nLaravel je podešen da radi logovanje na više kanala:\n\nSingle - Njegov standardni log,\nSlack\n\nSlack\nSlack je podešen da prijavljuje greške čiji je minimalni nivo važnosti critical.\nOvo je moguće promeniti u konfiguraciji za logovanje: config\\logging.php\nTrenutno kako je podešen slack je:\n'slack' => [\n 'driver' => 'slack',\n 'url' => env('LOG_SLACK_WEBHOOK_URL'),\n 'username' => 'LinkCutter Log',\n 'emoji' => ':boom:',\n 'level' => 'critical', // Minimalni nivo\n],\n\n\nStatus greške je određen po RFC 5424 specifikaciji.\nhttps://tools.ietf.org/html/rfc5424\nGreške po važnosti:\nNumerical Severity\nCode\n\n0 Emergency: system is unusable\n1 Alert: action must be taken immediately\n2 Critical: critical conditions\n3 Error: error conditions\n4 Warning: warning conditions\n5 Notice: normal but significant condition\n6 Informational: informational messages\n7 Debug: debug-level messages\n\nNačin na koji laravel obaveštava slack je pomoću webhook-a koji je podešen u Slack-u.\nhttps://api.slack.com/incoming-webhooks\nKad se napravi hook potrebno je iskopirati URL do hook-a i dodati ga u .env fajlu kao LOG_SLACK_WEBHOOK_URL opcija.\nLaravel logovanje\nNačin na koji možemo da logujemo grešku je preko Log fasade:\nLog::emergency($message);\nLog::alert($message);\nLog::critical($message); // Odavde pa na gore se loguje u slack-u\nLog::error($message);\nLog::warning($message);\nLog::notice($message);\nLog::info($message);\nLog::debug($message);\n\nRecimo da želimo da obavestimo administratora da neko želi da pristupi admin sistemu a za to nema odgovarajuće permisije. To je moguće uraditi u posredniku (middleware-u) koji proverava da li korisnik ima permisije i obaveštava administratora.\nLog::critical('Someone tried to access the admin panel.', [\n 'IP' => $request->ip(),\n 'Browser' => $request->server('HTTP_USER_AGENT'),\n 'Referer' =>$request->server('HTTP_REFERER'),\n]);\n\nKako to izgleda kad administrator primi poruku:\n\nSentry\nKao dodatni i profesinalniji način logovanja koristi se Sentry. Sentry obuhvata obradu izuzetaka koji se šalju Sentry-u na obradu.\n\nSvaka greška koja se desi, Sentry pretvara u task koji može da se dodeli nekom od članova tima. Na taj način svaki izuzetak biva rešen.\nObaveštenje se takođe šalje na mail.\n"}}} \ No newline at end of file diff --git a/docs/_book/subscription.html b/docs/_book/subscription.html index 5ee147d..8cc92b8 100644 --- a/docs/_book/subscription.html +++ b/docs/_book/subscription.html @@ -335,7 +335,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Pretplata","level":"3.4","depth":1,"next":{"title":"Logovanje","level":"3.5","depth":1,"path":"logging.md","ref":"logging.md","articles":[]},"previous":{"title":"Posete","level":"3.3","depth":1,"path":"visits.md","ref":"visits.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":true},"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"subscription.md","mtime":"2019-03-11T10:06:17.089Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-11T10:28:15.854Z"},"basePath":".","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Pretplata","level":"3.4","depth":1,"next":{"title":"Logovanje","level":"3.5","depth":1,"path":"logging.md","ref":"logging.md","articles":[]},"previous":{"title":"Posete","level":"3.3","depth":1,"path":"visits.md","ref":"visits.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":true},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"subscription.md","mtime":"2020-06-22T18:04:13.832Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-06-22T18:33:42.250Z"},"basePath":".","book":{"language":""}}); }); @@ -345,10 +345,6 @@

    No results matching " - - - - diff --git a/docs/_book/users.html b/docs/_book/users.html index 3979b27..c276983 100644 --- a/docs/_book/users.html +++ b/docs/_book/users.html @@ -343,7 +343,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Korisnici","level":"3.1","depth":1,"next":{"title":"Mogućnosti","level":"3.2","depth":1,"path":"features.md","ref":"features.md","articles":[]},"previous":{"title":"Instalacija","level":"2.3","depth":1,"path":"intro/installation.md","ref":"intro/installation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":true},"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"users.md","mtime":"2019-03-11T10:06:17.089Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-11T10:28:15.854Z"},"basePath":".","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Korisnici","level":"3.1","depth":1,"next":{"title":"Mogućnosti","level":"3.2","depth":1,"path":"features.md","ref":"features.md","articles":[]},"previous":{"title":"Instalacija","level":"2.3","depth":1,"path":"intro/installation.md","ref":"intro/installation.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":true},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"users.md","mtime":"2020-06-22T18:04:13.832Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-06-22T18:33:42.250Z"},"basePath":".","book":{"language":""}}); }); @@ -353,10 +353,6 @@

    No results matching " - - - - diff --git a/docs/_book/visits.html b/docs/_book/visits.html index 56f73ec..403fc0a 100644 --- a/docs/_book/visits.html +++ b/docs/_book/visits.html @@ -357,7 +357,7 @@

    No results matching " var gitbook = gitbook || []; gitbook.push(function() { - gitbook.page.hasChanged({"page":{"title":"Posete","level":"3.3","depth":1,"next":{"title":"Pretplata","level":"3.4","depth":1,"path":"subscription.md","ref":"subscription.md","articles":[]},"previous":{"title":"Mogućnosti","level":"3.2","depth":1,"path":"features.md","ref":"features.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":true},"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"visits.md","mtime":"2019-03-11T10:06:17.089Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-03-11T10:28:15.854Z"},"basePath":".","book":{"language":""}}); + gitbook.page.hasChanged({"page":{"title":"Posete","level":"3.3","depth":1,"next":{"title":"Pretplata","level":"3.4","depth":1,"path":"subscription.md","ref":"subscription.md","articles":[]},"previous":{"title":"Mogućnosti","level":"3.2","depth":1,"path":"features.md","ref":"features.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":true},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"visits.md","mtime":"2020-06-22T18:04:13.832Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-06-22T18:33:42.250Z"},"basePath":".","book":{"language":""}}); }); @@ -367,10 +367,6 @@

    No results matching " - - - - diff --git a/features.html b/features.html new file mode 100644 index 0000000..4f43920 --- /dev/null +++ b/features.html @@ -0,0 +1,401 @@ + + + + + + + Mogućnosti · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + +
    + +
    + +
    + + + + + + + + +
    +
    + +
    +
    + +
    + +

    Mogućnosti

    +

    Mogućnosti su opcije koje korisnik ima u zavisnosti od pretplate. Neke od inicijalnih opcija sa kojima dolazi projekat:

    +
      +
    • Praćenje - mogućnost da se prati statistika linka.
    • +
    • Panel - pristup korisničkom panelu.
    • +
    • Jedinstvene posete - praćenje jedinstvenih korisnika.
    • +
    • Lokacija - praćenje sa koje lokacije je pristupljeno hešu.
    • +
    • VPN detektor - praćenje da li je poseta sa VPN adrese ili ne.
    • +
    • Naziv linka - mogućnost da se unese heš po želji.
    • +
    +

    Opcije je moguće dinamički dodavati, brisati i isto tako ih vezivati za određene pretplate.

    +

    Kontrola pristupa

    +

    Pošto je opcija vezana za pretplatu, mora se ograničiti da korisnik svojom pretplatom ima samo opcije svoje pretplate. Što znači ako korisnik nema opciju panel on neće moći da pristupi panelu.

    +

    Ovaj problem je rešen korišćenjem posrednika (middleware-a). Uveden je FeatureMiddleware posrednik, koji je zadužen da proveri da li korisnik ima mogućnosti koje su prenete preko rutera.

    +

    Posrednik tok

    +

    Ruter

    +

    Način na koji se ograničava pristup rutama je pomoću atributa grupe u ruteru.

    +
    Route::group(['features' => ['dashboard']], function() {
    +    Route::get('/dashboard', 'DashboardController@index')
    +});
    +
    +

    Preko atributa features prenosi se slug mogućnosti za koje se želi da se ograniči groupa ruta.

    +

    Prilikom prisupa nekoj od ruta iz grupe naš posrednik će proveriti da li korisnik ima SVE mogućnosti koje zahteva ta grupa.

    +

    Sve mogućnosti korisnika

    +

    Kako bi se vršila provera da li korisnik ima neku od mogućnosti mora se stalno imati uvid u njegove mogućnosti. Ovde nastaje problem, ako uzimamo mogućnosti kad god proveravamo da li on ima tu mogućnost dolazimo do N+11 problem.

    +

    Ovaj problem je rešen korišćenjem Eager loading2 tehnike u laravelu, gde se prilikom vraćanja korisnika vraća njegova pretplata i svi njegovi atributi.

    +
    +1. Čest problem koji se javlja kada pomoću jedno upita vratimo kolekciju i onda prođemo kroz tu kolekciju gde za svaku stavku izvućemo dodatne stvari. +
    +
    +2. https://laravel.com/docs/5.6/eloquent-relationships#eager-loading +
    + + +
    + +
    +
    +
    + +

    results matching ""

    +
      + +
      +
      + +

      No results matching ""

      + +
      +
      +
      + +
      +
      + +
      + + + + + + + + + + + + + + +
      + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gitbook/fonts/fontawesome/FontAwesome.otf b/gitbook/fonts/fontawesome/FontAwesome.otf new file mode 100644 index 0000000..d4de13e Binary files /dev/null and b/gitbook/fonts/fontawesome/FontAwesome.otf differ diff --git a/gitbook/fonts/fontawesome/fontawesome-webfont.eot b/gitbook/fonts/fontawesome/fontawesome-webfont.eot new file mode 100644 index 0000000..c7b00d2 Binary files /dev/null and b/gitbook/fonts/fontawesome/fontawesome-webfont.eot differ diff --git a/gitbook/fonts/fontawesome/fontawesome-webfont.svg b/gitbook/fonts/fontawesome/fontawesome-webfont.svg new file mode 100644 index 0000000..8b66187 --- /dev/null +++ b/gitbook/fonts/fontawesome/fontawesome-webfont.svg @@ -0,0 +1,685 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/gitbook/fonts/fontawesome/fontawesome-webfont.ttf b/gitbook/fonts/fontawesome/fontawesome-webfont.ttf new file mode 100644 index 0000000..f221e50 Binary files /dev/null and b/gitbook/fonts/fontawesome/fontawesome-webfont.ttf differ diff --git a/gitbook/fonts/fontawesome/fontawesome-webfont.woff b/gitbook/fonts/fontawesome/fontawesome-webfont.woff new file mode 100644 index 0000000..6e7483c Binary files /dev/null and b/gitbook/fonts/fontawesome/fontawesome-webfont.woff differ diff --git a/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 b/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 new file mode 100644 index 0000000..7eb74fd Binary files /dev/null and b/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 differ diff --git a/gitbook/gitbook-plugin-fontsettings/fontsettings.js b/gitbook/gitbook-plugin-fontsettings/fontsettings.js new file mode 100644 index 0000000..ff7be71 --- /dev/null +++ b/gitbook/gitbook-plugin-fontsettings/fontsettings.js @@ -0,0 +1,240 @@ +require(['gitbook', 'jquery'], function(gitbook, $) { + // Configuration + var MAX_SIZE = 4, + MIN_SIZE = 0, + BUTTON_ID; + + // Current fontsettings state + var fontState; + + // Default themes + var THEMES = [ + { + config: 'white', + text: 'White', + id: 0 + }, + { + config: 'sepia', + text: 'Sepia', + id: 1 + }, + { + config: 'night', + text: 'Night', + id: 2 + } + ]; + + // Default font families + var FAMILIES = [ + { + config: 'serif', + text: 'Serif', + id: 0 + }, + { + config: 'sans', + text: 'Sans', + id: 1 + } + ]; + + // Return configured themes + function getThemes() { + return THEMES; + } + + // Modify configured themes + function setThemes(themes) { + THEMES = themes; + updateButtons(); + } + + // Return configured font families + function getFamilies() { + return FAMILIES; + } + + // Modify configured font families + function setFamilies(families) { + FAMILIES = families; + updateButtons(); + } + + // Save current font settings + function saveFontSettings() { + gitbook.storage.set('fontState', fontState); + update(); + } + + // Increase font size + function enlargeFontSize(e) { + e.preventDefault(); + if (fontState.size >= MAX_SIZE) return; + + fontState.size++; + saveFontSettings(); + } + + // Decrease font size + function reduceFontSize(e) { + e.preventDefault(); + if (fontState.size <= MIN_SIZE) return; + + fontState.size--; + saveFontSettings(); + } + + // Change font family + function changeFontFamily(configName, e) { + if (e && e instanceof Event) { + e.preventDefault(); + } + + var familyId = getFontFamilyId(configName); + fontState.family = familyId; + saveFontSettings(); + } + + // Change type of color theme + function changeColorTheme(configName, e) { + if (e && e instanceof Event) { + e.preventDefault(); + } + + var $book = gitbook.state.$book; + + // Remove currently applied color theme + if (fontState.theme !== 0) + $book.removeClass('color-theme-'+fontState.theme); + + // Set new color theme + var themeId = getThemeId(configName); + fontState.theme = themeId; + if (fontState.theme !== 0) + $book.addClass('color-theme-'+fontState.theme); + + saveFontSettings(); + } + + // Return the correct id for a font-family config key + // Default to first font-family + function getFontFamilyId(configName) { + // Search for plugin configured font family + var configFamily = $.grep(FAMILIES, function(family) { + return family.config == configName; + })[0]; + // Fallback to default font family + return (!!configFamily)? configFamily.id : 0; + } + + // Return the correct id for a theme config key + // Default to first theme + function getThemeId(configName) { + // Search for plugin configured theme + var configTheme = $.grep(THEMES, function(theme) { + return theme.config == configName; + })[0]; + // Fallback to default theme + return (!!configTheme)? configTheme.id : 0; + } + + function update() { + var $book = gitbook.state.$book; + + $('.font-settings .font-family-list li').removeClass('active'); + $('.font-settings .font-family-list li:nth-child('+(fontState.family+1)+')').addClass('active'); + + $book[0].className = $book[0].className.replace(/\bfont-\S+/g, ''); + $book.addClass('font-size-'+fontState.size); + $book.addClass('font-family-'+fontState.family); + + if(fontState.theme !== 0) { + $book[0].className = $book[0].className.replace(/\bcolor-theme-\S+/g, ''); + $book.addClass('color-theme-'+fontState.theme); + } + } + + function init(config) { + // Search for plugin configured font family + var configFamily = getFontFamilyId(config.family), + configTheme = getThemeId(config.theme); + + // Instantiate font state object + fontState = gitbook.storage.get('fontState', { + size: config.size || 2, + family: configFamily, + theme: configTheme + }); + + update(); + } + + function updateButtons() { + // Remove existing fontsettings buttons + if (!!BUTTON_ID) { + gitbook.toolbar.removeButton(BUTTON_ID); + } + + // Create buttons in toolbar + BUTTON_ID = gitbook.toolbar.createButton({ + icon: 'fa fa-font', + label: 'Font Settings', + className: 'font-settings', + dropdown: [ + [ + { + text: 'A', + className: 'font-reduce', + onClick: reduceFontSize + }, + { + text: 'A', + className: 'font-enlarge', + onClick: enlargeFontSize + } + ], + $.map(FAMILIES, function(family) { + family.onClick = function(e) { + return changeFontFamily(family.config, e); + }; + + return family; + }), + $.map(THEMES, function(theme) { + theme.onClick = function(e) { + return changeColorTheme(theme.config, e); + }; + + return theme; + }) + ] + }); + } + + // Init configuration at start + gitbook.events.bind('start', function(e, config) { + var opts = config.fontsettings; + + // Generate buttons at start + updateButtons(); + + // Init current settings + init(opts); + }); + + // Expose API + gitbook.fontsettings = { + enlargeFontSize: enlargeFontSize, + reduceFontSize: reduceFontSize, + setTheme: changeColorTheme, + setFamily: changeFontFamily, + getThemes: getThemes, + setThemes: setThemes, + getFamilies: getFamilies, + setFamilies: setFamilies + }; +}); + + diff --git a/gitbook/gitbook-plugin-fontsettings/website.css b/gitbook/gitbook-plugin-fontsettings/website.css new file mode 100644 index 0000000..26591fe --- /dev/null +++ b/gitbook/gitbook-plugin-fontsettings/website.css @@ -0,0 +1,291 @@ +/* + * Theme 1 + */ +.color-theme-1 .dropdown-menu { + background-color: #111111; + border-color: #7e888b; +} +.color-theme-1 .dropdown-menu .dropdown-caret .caret-inner { + border-bottom: 9px solid #111111; +} +.color-theme-1 .dropdown-menu .buttons { + border-color: #7e888b; +} +.color-theme-1 .dropdown-menu .button { + color: #afa790; +} +.color-theme-1 .dropdown-menu .button:hover { + color: #73553c; +} +/* + * Theme 2 + */ +.color-theme-2 .dropdown-menu { + background-color: #2d3143; + border-color: #272a3a; +} +.color-theme-2 .dropdown-menu .dropdown-caret .caret-inner { + border-bottom: 9px solid #2d3143; +} +.color-theme-2 .dropdown-menu .buttons { + border-color: #272a3a; +} +.color-theme-2 .dropdown-menu .button { + color: #62677f; +} +.color-theme-2 .dropdown-menu .button:hover { + color: #f4f4f5; +} +.book .book-header .font-settings .font-enlarge { + line-height: 30px; + font-size: 1.4em; +} +.book .book-header .font-settings .font-reduce { + line-height: 30px; + font-size: 1em; +} +.book.color-theme-1 .book-body { + color: #704214; + background: #f3eacb; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section { + background: #f3eacb; +} +.book.color-theme-2 .book-body { + color: #bdcadb; + background: #1c1f2b; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section { + background: #1c1f2b; +} +.book.font-size-0 .book-body .page-inner section { + font-size: 1.2rem; +} +.book.font-size-1 .book-body .page-inner section { + font-size: 1.4rem; +} +.book.font-size-2 .book-body .page-inner section { + font-size: 1.6rem; +} +.book.font-size-3 .book-body .page-inner section { + font-size: 2.2rem; +} +.book.font-size-4 .book-body .page-inner section { + font-size: 4rem; +} +.book.font-family-0 { + font-family: Georgia, serif; +} +.book.font-family-1 { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal { + color: #704214; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal a { + color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h3, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h4, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h5, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 { + color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2 { + border-color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 { + color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal hr { + background-color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal blockquote { + border-color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code { + background: #fdf6e3; + color: #657b83; + border-color: #f8df9c; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal .highlight { + background-color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table th, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table td { + border-color: #f5d06c; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr { + color: inherit; + background-color: #fdf6e3; + border-color: #444444; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) { + background-color: #fbeecb; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal { + color: #bdcadb; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal a { + color: #3eb1d0; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h3, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h4, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h5, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 { + color: #fffffa; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2 { + border-color: #373b4e; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 { + color: #373b4e; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal hr { + background-color: #373b4e; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal blockquote { + border-color: #373b4e; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code { + color: #9dbed8; + background: #2d3143; + border-color: #2d3143; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal .highlight { + background-color: #282a39; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table th, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table td { + border-color: #3b3f54; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr { + color: #b6c2d2; + background-color: #2d3143; + border-color: #3b3f54; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) { + background-color: #35394b; +} +.book.color-theme-1 .book-header { + color: #afa790; + background: transparent; +} +.book.color-theme-1 .book-header .btn { + color: #afa790; +} +.book.color-theme-1 .book-header .btn:hover { + color: #73553c; + background: none; +} +.book.color-theme-1 .book-header h1 { + color: #704214; +} +.book.color-theme-2 .book-header { + color: #7e888b; + background: transparent; +} +.book.color-theme-2 .book-header .btn { + color: #3b3f54; +} +.book.color-theme-2 .book-header .btn:hover { + color: #fffff5; + background: none; +} +.book.color-theme-2 .book-header h1 { + color: #bdcadb; +} +.book.color-theme-1 .book-body .navigation { + color: #afa790; +} +.book.color-theme-1 .book-body .navigation:hover { + color: #73553c; +} +.book.color-theme-2 .book-body .navigation { + color: #383f52; +} +.book.color-theme-2 .book-body .navigation:hover { + color: #fffff5; +} +/* + * Theme 1 + */ +.book.color-theme-1 .book-summary { + color: #afa790; + background: #111111; + border-right: 1px solid rgba(0, 0, 0, 0.07); +} +.book.color-theme-1 .book-summary .book-search { + background: transparent; +} +.book.color-theme-1 .book-summary .book-search input, +.book.color-theme-1 .book-summary .book-search input:focus { + border: 1px solid transparent; +} +.book.color-theme-1 .book-summary ul.summary li.divider { + background: #7e888b; + box-shadow: none; +} +.book.color-theme-1 .book-summary ul.summary li i.fa-check { + color: #33cc33; +} +.book.color-theme-1 .book-summary ul.summary li.done > a { + color: #877f6a; +} +.book.color-theme-1 .book-summary ul.summary li a, +.book.color-theme-1 .book-summary ul.summary li span { + color: #877f6a; + background: transparent; + font-weight: normal; +} +.book.color-theme-1 .book-summary ul.summary li.active > a, +.book.color-theme-1 .book-summary ul.summary li a:hover { + color: #704214; + background: transparent; + font-weight: normal; +} +/* + * Theme 2 + */ +.book.color-theme-2 .book-summary { + color: #bcc1d2; + background: #2d3143; + border-right: none; +} +.book.color-theme-2 .book-summary .book-search { + background: transparent; +} +.book.color-theme-2 .book-summary .book-search input, +.book.color-theme-2 .book-summary .book-search input:focus { + border: 1px solid transparent; +} +.book.color-theme-2 .book-summary ul.summary li.divider { + background: #272a3a; + box-shadow: none; +} +.book.color-theme-2 .book-summary ul.summary li i.fa-check { + color: #33cc33; +} +.book.color-theme-2 .book-summary ul.summary li.done > a { + color: #62687f; +} +.book.color-theme-2 .book-summary ul.summary li a, +.book.color-theme-2 .book-summary ul.summary li span { + color: #c1c6d7; + background: transparent; + font-weight: 600; +} +.book.color-theme-2 .book-summary ul.summary li.active > a, +.book.color-theme-2 .book-summary ul.summary li a:hover { + color: #f4f4f5; + background: #252737; + font-weight: 600; +} diff --git a/gitbook/gitbook-plugin-highlight/ebook.css b/gitbook/gitbook-plugin-highlight/ebook.css new file mode 100644 index 0000000..cecaaab --- /dev/null +++ b/gitbook/gitbook-plugin-highlight/ebook.css @@ -0,0 +1,135 @@ +pre, +code { + /* http://jmblog.github.io/color-themes-for-highlightjs */ + /* Tomorrow Comment */ + /* Tomorrow Red */ + /* Tomorrow Orange */ + /* Tomorrow Yellow */ + /* Tomorrow Green */ + /* Tomorrow Aqua */ + /* Tomorrow Blue */ + /* Tomorrow Purple */ +} +pre .hljs-comment, +code .hljs-comment, +pre .hljs-title, +code .hljs-title { + color: #8e908c; +} +pre .hljs-variable, +code .hljs-variable, +pre .hljs-attribute, +code .hljs-attribute, +pre .hljs-tag, +code .hljs-tag, +pre .hljs-regexp, +code .hljs-regexp, +pre .hljs-deletion, +code .hljs-deletion, +pre .ruby .hljs-constant, +code .ruby .hljs-constant, +pre .xml .hljs-tag .hljs-title, +code .xml .hljs-tag .hljs-title, +pre .xml .hljs-pi, +code .xml .hljs-pi, +pre .xml .hljs-doctype, +code .xml .hljs-doctype, +pre .html .hljs-doctype, +code .html .hljs-doctype, +pre .css .hljs-id, +code .css .hljs-id, +pre .css .hljs-class, +code .css .hljs-class, +pre .css .hljs-pseudo, +code .css .hljs-pseudo { + color: #c82829; +} +pre .hljs-number, +code .hljs-number, +pre .hljs-preprocessor, +code .hljs-preprocessor, +pre .hljs-pragma, +code .hljs-pragma, +pre .hljs-built_in, +code .hljs-built_in, +pre .hljs-literal, +code .hljs-literal, +pre .hljs-params, +code .hljs-params, +pre .hljs-constant, +code .hljs-constant { + color: #f5871f; +} +pre .ruby .hljs-class .hljs-title, +code .ruby .hljs-class .hljs-title, +pre .css .hljs-rules .hljs-attribute, +code .css .hljs-rules .hljs-attribute { + color: #eab700; +} +pre .hljs-string, +code .hljs-string, +pre .hljs-value, +code .hljs-value, +pre .hljs-inheritance, +code .hljs-inheritance, +pre .hljs-header, +code .hljs-header, +pre .hljs-addition, +code .hljs-addition, +pre .ruby .hljs-symbol, +code .ruby .hljs-symbol, +pre .xml .hljs-cdata, +code .xml .hljs-cdata { + color: #718c00; +} +pre .css .hljs-hexcolor, +code .css .hljs-hexcolor { + color: #3e999f; +} +pre .hljs-function, +code .hljs-function, +pre .python .hljs-decorator, +code .python .hljs-decorator, +pre .python .hljs-title, +code .python .hljs-title, +pre .ruby .hljs-function .hljs-title, +code .ruby .hljs-function .hljs-title, +pre .ruby .hljs-title .hljs-keyword, +code .ruby .hljs-title .hljs-keyword, +pre .perl .hljs-sub, +code .perl .hljs-sub, +pre .javascript .hljs-title, +code .javascript .hljs-title, +pre .coffeescript .hljs-title, +code .coffeescript .hljs-title { + color: #4271ae; +} +pre .hljs-keyword, +code .hljs-keyword, +pre .javascript .hljs-function, +code .javascript .hljs-function { + color: #8959a8; +} +pre .hljs, +code .hljs { + display: block; + background: white; + color: #4d4d4c; + padding: 0.5em; +} +pre .coffeescript .javascript, +code .coffeescript .javascript, +pre .javascript .xml, +code .javascript .xml, +pre .tex .hljs-formula, +code .tex .hljs-formula, +pre .xml .javascript, +code .xml .javascript, +pre .xml .vbscript, +code .xml .vbscript, +pre .xml .css, +code .xml .css, +pre .xml .hljs-cdata, +code .xml .hljs-cdata { + opacity: 0.5; +} diff --git a/gitbook/gitbook-plugin-highlight/website.css b/gitbook/gitbook-plugin-highlight/website.css new file mode 100644 index 0000000..6674448 --- /dev/null +++ b/gitbook/gitbook-plugin-highlight/website.css @@ -0,0 +1,434 @@ +.book .book-body .page-wrapper .page-inner section.normal pre, +.book .book-body .page-wrapper .page-inner section.normal code { + /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + /* Tomorrow Comment */ + /* Tomorrow Red */ + /* Tomorrow Orange */ + /* Tomorrow Yellow */ + /* Tomorrow Green */ + /* Tomorrow Aqua */ + /* Tomorrow Blue */ + /* Tomorrow Purple */ +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-comment, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-comment, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-title { + color: #8e908c; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-variable, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-variable, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-attribute, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-tag, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-tag, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-regexp, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-deletion, +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype, +.book .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype, +.book .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype, +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-id, +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-class, +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo { + color: #c82829; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-number, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-number, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-pragma, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-built_in, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-literal, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-literal, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-params, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-params, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-constant, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-constant { + color: #f5871f; +} +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute { + color: #eab700; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-string, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-string, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-value, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-value, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-header, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-header, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-addition, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-addition, +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { + color: #718c00; +} +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor { + color: #3e999f; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-function, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-function, +.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator, +.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator, +.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword, +.book .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub, +.book .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub, +.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title { + color: #4271ae; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-keyword, +.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function, +.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function { + color: #8959a8; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs, +.book .book-body .page-wrapper .page-inner section.normal code .hljs { + display: block; + background: white; + color: #4d4d4c; + padding: 0.5em; +} +.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript, +.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript, +.book .book-body .page-wrapper .page-inner section.normal pre .javascript .xml, +.book .book-body .page-wrapper .page-inner section.normal code .javascript .xml, +.book .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, +.book .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .javascript, +.book .book-body .page-wrapper .page-inner section.normal code .xml .javascript, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript, +.book .book-body .page-wrapper .page-inner section.normal code .xml .vbscript, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .css, +.book .book-body .page-wrapper .page-inner section.normal code .xml .css, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { + opacity: 0.5; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code { + /* + +Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull + +*/ + /* Solarized Green */ + /* Solarized Cyan */ + /* Solarized Blue */ + /* Solarized Yellow */ + /* Solarized Orange */ + /* Solarized Red */ + /* Solarized Violet */ +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs { + display: block; + padding: 0.5em; + background: #fdf6e3; + color: #657b83; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-comment, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-template_comment, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-template_comment, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-header, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-header, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-doctype, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-doctype, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pi, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pi, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-javadoc, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-javadoc { + color: #93a1a1; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-winutils, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-winutils, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .method, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .method, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-addition, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-addition, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-tag, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-tag, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-request, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-request, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-status, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-status, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .nginx .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .nginx .hljs-title { + color: #859900; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-number, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-number, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-command, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-command, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag .hljs-value, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-tag .hljs-value, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-rules .hljs-value, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-rules .hljs-value, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-phpdoc, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-phpdoc, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-hexcolor, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-hexcolor, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_url, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_url { + color: #2aa198; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-localvars, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-localvars, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-chunk, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-chunk, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-decorator, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-decorator, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-identifier, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-identifier, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .vhdl .hljs-literal, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .vhdl .hljs-literal, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-id, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-id, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-function, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-function { + color: #268bd2; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-variable, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-body, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-body, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .smalltalk .hljs-number, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .smalltalk .hljs-number, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-constant, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-class .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-class .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-parent, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-parent, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .haskell .hljs-type, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .haskell .hljs-type, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_reference, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_reference { + color: #b58900; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor .hljs-keyword, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor .hljs-keyword, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-shebang, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-shebang, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-change, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-change, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-special, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-special, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attr_selector, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attr_selector, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-subst, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-subst, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-cdata, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-cdata, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .clojure .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .clojure .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-header, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-header { + color: #cb4b16; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-deletion, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-important, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-important { + color: #dc322f; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_label, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_label { + color: #6c71c4; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula { + background: #eee8d5; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code { + /* Tomorrow Night Bright Theme */ + /* Original theme - https://github.com/chriskempson/tomorrow-theme */ + /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + /* Tomorrow Comment */ + /* Tomorrow Red */ + /* Tomorrow Orange */ + /* Tomorrow Yellow */ + /* Tomorrow Green */ + /* Tomorrow Aqua */ + /* Tomorrow Blue */ + /* Tomorrow Purple */ +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-comment, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-title { + color: #969896; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-variable, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-tag, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-deletion, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-id, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-class, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo { + color: #d54e53; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-number, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-number, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-literal, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-literal, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-params, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-params, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-constant { + color: #e78c45; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute { + color: #e7c547; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-string, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-string, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-value, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-value, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-header, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-header, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-addition, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-addition, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { + color: #b9ca4a; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor { + color: #70c0b1; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-function, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-function, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title { + color: #7aa6da; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function { + color: #c397d8; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs { + display: block; + background: black; + color: #eaeaea; + padding: 0.5em; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .xml, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .xml, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .javascript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .javascript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .vbscript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .css, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .css, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { + opacity: 0.5; +} diff --git a/gitbook/gitbook-plugin-lunr/lunr.min.js b/gitbook/gitbook-plugin-lunr/lunr.min.js new file mode 100644 index 0000000..6aa6bc7 --- /dev/null +++ b/gitbook/gitbook-plugin-lunr/lunr.min.js @@ -0,0 +1,7 @@ +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 0.5.12 + * Copyright (C) 2015 Oliver Nightingale + * MIT Licensed + * @license + */ +!function(){var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.5.12",t.utils={},t.utils.warn=function(t){return function(e){t.console&&console.warn&&console.warn(e)}}(this),t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var t=Array.prototype.slice.call(arguments),e=t.pop(),n=t;if("function"!=typeof e)throw new TypeError("last argument must be a function");n.forEach(function(t){this.hasHandler(t)||(this.events[t]=[]),this.events[t].push(e)},this)},t.EventEmitter.prototype.removeListener=function(t,e){if(this.hasHandler(t)){var n=this.events[t].indexOf(e);this.events[t].splice(n,1),this.events[t].length||delete this.events[t]}},t.EventEmitter.prototype.emit=function(t){if(this.hasHandler(t)){var e=Array.prototype.slice.call(arguments,1);this.events[t].forEach(function(t){t.apply(void 0,e)})}},t.EventEmitter.prototype.hasHandler=function(t){return t in this.events},t.tokenizer=function(t){return arguments.length&&null!=t&&void 0!=t?Array.isArray(t)?t.map(function(t){return t.toLowerCase()}):t.toString().trim().toLowerCase().split(/[\s\-]+/):[]},t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.registeredFunctions[e];if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,n)},t.Pipeline.prototype.remove=function(t){var e=this._stack.indexOf(t);-1!=e&&this._stack.splice(e,1)},t.Pipeline.prototype.run=function(t){for(var e=[],n=t.length,i=this._stack.length,o=0;n>o;o++){for(var r=t[o],s=0;i>s&&(r=this._stack[s](r,o,t),void 0!==r);s++);void 0!==r&&e.push(r)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(en.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t1;){if(r===t)return o;t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o]}return r===t?o:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;)t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o];return r>t?o:t>r?o+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,o=0,r=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>r-1||o>s-1)break;a[i]!==h[o]?a[i]h[o]&&o++:(n.add(a[i]),i++,o++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;return this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone(),i.add.apply(i,n.toArray()),i},t.SortedSet.prototype.toJSON=function(){return this.toArray()},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.Store,this.tokenStore=new t.TokenStore,this.corpusTokens=new t.SortedSet,this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var t=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,t)},t.Index.prototype.off=function(t,e){return this.eventEmitter.removeListener(t,e)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;return n._fields=e.fields,n._ref=e.ref,n.documentStore=t.Store.load(e.documentStore),n.tokenStore=t.TokenStore.load(e.tokenStore),n.corpusTokens=t.SortedSet.load(e.corpusTokens),n.pipeline=t.Pipeline.load(e.pipeline),n},t.Index.prototype.field=function(t,e){var e=e||{},n={name:t,boost:e.boost||1};return this._fields.push(n),this},t.Index.prototype.ref=function(t){return this._ref=t,this},t.Index.prototype.add=function(e,n){var i={},o=new t.SortedSet,r=e[this._ref],n=void 0===n?!0:n;this._fields.forEach(function(n){var r=this.pipeline.run(t.tokenizer(e[n.name]));i[n.name]=r,t.SortedSet.prototype.add.apply(o,r)},this),this.documentStore.set(r,o),t.SortedSet.prototype.add.apply(this.corpusTokens,o.toArray());for(var s=0;s0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(t.tokenizer(e)),i=new t.Vector,o=[],r=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*r,h=this,l=this.tokenStore.expand(e).reduce(function(n,o){var r=h.corpusTokens.indexOf(o),s=h.idf(o),l=1,u=new t.SortedSet;if(o!==e){var c=Math.max(3,o.length-e.length);l=1/Math.log(c)}return r>-1&&i.insert(r,a*s*l),Object.keys(h.tokenStore.get(o)).forEach(function(t){u.add(t)}),n.union(u)},new t.SortedSet);o.push(l)},this);var a=o.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,o=new t.Vector,r=0;i>r;r++){var s=n.elements[r],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);o.insert(this.corpusTokens.indexOf(s),a*h)}return o},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",o=n+"[^aeiouy]*",r=i+"[aeiou]*",s="^("+o+")?"+r+o,a="^("+o+")?"+r+o+"("+r+")?$",h="^("+o+")?"+r+o+r+o,l="^("+o+")?"+i,u=new RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new RegExp(l),p=/^(.+?)(ss|i)es$/,m=/^(.+?)([^s])s$/,v=/^(.+?)eed$/,y=/^(.+?)(ed|ing)$/,g=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),x=new RegExp("^"+o+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,_=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,F=/^(.+?)(s|t)(ion)$/,O=/^(.+?)e$/,P=/ll$/,N=new RegExp("^"+o+i+"[^aeiouwxy]$"),T=function(n){var i,o,r,s,a,h,l;if(n.length<3)return n;if(r=n.substr(0,1),"y"==r&&(n=r.toUpperCase()+n.substr(1)),s=p,a=m,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=v,a=y,s.test(n)){var T=s.exec(n);s=u,s.test(T[1])&&(s=g,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,l=x,a.test(n)?n+="e":h.test(n)?(s=g,n=n.replace(s,"")):l.test(n)&&(n+="e"))}if(s=k,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+t[o])}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+e[o])}if(s=_,a=F,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=O,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=f,h=N,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=P,a=c,s.test(n)&&a.test(n)&&(s=g,n=n.replace(s,"")),"y"==r&&(n=r.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.stopWordFilter=function(e){return e&&t.stopWordFilter.stopWords[e]!==e?e:void 0},t.stopWordFilter.stopWords={a:"a",able:"able",about:"about",across:"across",after:"after",all:"all",almost:"almost",also:"also",am:"am",among:"among",an:"an",and:"and",any:"any",are:"are",as:"as",at:"at",be:"be",because:"because",been:"been",but:"but",by:"by",can:"can",cannot:"cannot",could:"could",dear:"dear",did:"did","do":"do",does:"does",either:"either","else":"else",ever:"ever",every:"every","for":"for",from:"from",get:"get",got:"got",had:"had",has:"has",have:"have",he:"he",her:"her",hers:"hers",him:"him",his:"his",how:"how",however:"however",i:"i","if":"if","in":"in",into:"into",is:"is",it:"it",its:"its",just:"just",least:"least",let:"let",like:"like",likely:"likely",may:"may",me:"me",might:"might",most:"most",must:"must",my:"my",neither:"neither",no:"no",nor:"nor",not:"not",of:"of",off:"off",often:"often",on:"on",only:"only",or:"or",other:"other",our:"our",own:"own",rather:"rather",said:"said",say:"say",says:"says",she:"she",should:"should",since:"since",so:"so",some:"some",than:"than",that:"that",the:"the",their:"their",them:"them",then:"then",there:"there",these:"these",they:"they","this":"this",tis:"tis",to:"to",too:"too",twas:"twas",us:"us",wants:"wants",was:"was",we:"we",were:"were",what:"what",when:"when",where:"where",which:"which","while":"while",who:"who",whom:"whom",why:"why",will:"will","with":"with",would:"would",yet:"yet",you:"you",your:"your"},t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){var e=t.replace(/^\W+/,"").replace(/\W+$/,"");return""===e?void 0:e},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t[0],o=t.slice(1);return i in n||(n[i]={docs:{}}),0===o.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(o,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;no;o++){for(var r=t[o],s=0;i>s&&(r=this._stack[s](r,o,t),void 0!==r);s++);void 0!==r&&e.push(r)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(en.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t1;){if(r===t)return o;t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o]}return r===t?o:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;)t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o];return r>t?o:t>r?o+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,o=0,r=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>r-1||o>s-1)break;a[i]!==h[o]?a[i]h[o]&&o++:(n.add(a[i]),i++,o++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;return this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone(),i.add.apply(i,n.toArray()),i},t.SortedSet.prototype.toJSON=function(){return this.toArray()},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.Store,this.tokenStore=new t.TokenStore,this.corpusTokens=new t.SortedSet,this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var t=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,t)},t.Index.prototype.off=function(t,e){return this.eventEmitter.removeListener(t,e)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;return n._fields=e.fields,n._ref=e.ref,n.documentStore=t.Store.load(e.documentStore),n.tokenStore=t.TokenStore.load(e.tokenStore),n.corpusTokens=t.SortedSet.load(e.corpusTokens),n.pipeline=t.Pipeline.load(e.pipeline),n},t.Index.prototype.field=function(t,e){var e=e||{},n={name:t,boost:e.boost||1};return this._fields.push(n),this},t.Index.prototype.ref=function(t){return this._ref=t,this},t.Index.prototype.add=function(e,n){var i={},o=new t.SortedSet,r=e[this._ref],n=void 0===n?!0:n;this._fields.forEach(function(n){var r=this.pipeline.run(t.tokenizer(e[n.name]));i[n.name]=r,t.SortedSet.prototype.add.apply(o,r)},this),this.documentStore.set(r,o),t.SortedSet.prototype.add.apply(this.corpusTokens,o.toArray());for(var s=0;s0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(t.tokenizer(e)),i=new t.Vector,o=[],r=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*r,h=this,l=this.tokenStore.expand(e).reduce(function(n,o){var r=h.corpusTokens.indexOf(o),s=h.idf(o),l=1,u=new t.SortedSet;if(o!==e){var c=Math.max(3,o.length-e.length);l=1/Math.log(c)}return r>-1&&i.insert(r,a*s*l),Object.keys(h.tokenStore.get(o)).forEach(function(t){u.add(t)}),n.union(u)},new t.SortedSet);o.push(l)},this);var a=o.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,o=new t.Vector,r=0;i>r;r++){var s=n.elements[r],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);o.insert(this.corpusTokens.indexOf(s),a*h)}return o},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",o=n+"[^aeiouy]*",r=i+"[aeiou]*",s="^("+o+")?"+r+o,a="^("+o+")?"+r+o+"("+r+")?$",h="^("+o+")?"+r+o+r+o,l="^("+o+")?"+i,u=new RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new RegExp(l),p=/^(.+?)(ss|i)es$/,m=/^(.+?)([^s])s$/,v=/^(.+?)eed$/,y=/^(.+?)(ed|ing)$/,g=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),x=new RegExp("^"+o+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,_=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,F=/^(.+?)(s|t)(ion)$/,O=/^(.+?)e$/,P=/ll$/,N=new RegExp("^"+o+i+"[^aeiouwxy]$"),T=function(n){var i,o,r,s,a,h,l;if(n.length<3)return n;if(r=n.substr(0,1),"y"==r&&(n=r.toUpperCase()+n.substr(1)),s=p,a=m,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=v,a=y,s.test(n)){var T=s.exec(n);s=u,s.test(T[1])&&(s=g,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,l=x,a.test(n)?n+="e":h.test(n)?(s=g,n=n.replace(s,"")):l.test(n)&&(n+="e"))}if(s=k,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+t[o])}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+e[o])}if(s=_,a=F,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=O,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=f,h=N,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=P,a=c,s.test(n)&&a.test(n)&&(s=g,n=n.replace(s,"")),"y"==r&&(n=r.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.stopWordFilter=function(e){return e&&t.stopWordFilter.stopWords[e]!==e?e:void 0},t.stopWordFilter.stopWords={a:"a",able:"able",about:"about",across:"across",after:"after",all:"all",almost:"almost",also:"also",am:"am",among:"among",an:"an",and:"and",any:"any",are:"are",as:"as",at:"at",be:"be",because:"because",been:"been",but:"but",by:"by",can:"can",cannot:"cannot",could:"could",dear:"dear",did:"did","do":"do",does:"does",either:"either","else":"else",ever:"ever",every:"every","for":"for",from:"from",get:"get",got:"got",had:"had",has:"has",have:"have",he:"he",her:"her",hers:"hers",him:"him",his:"his",how:"how",however:"however",i:"i","if":"if","in":"in",into:"into",is:"is",it:"it",its:"its",just:"just",least:"least",let:"let",like:"like",likely:"likely",may:"may",me:"me",might:"might",most:"most",must:"must",my:"my",neither:"neither",no:"no",nor:"nor",not:"not",of:"of",off:"off",often:"often",on:"on",only:"only",or:"or",other:"other",our:"our",own:"own",rather:"rather",said:"said",say:"say",says:"says",she:"she",should:"should",since:"since",so:"so",some:"some",than:"than",that:"that",the:"the",their:"their",them:"them",then:"then",there:"there",these:"these",they:"they","this":"this",tis:"tis",to:"to",too:"too",twas:"twas",us:"us",wants:"wants",was:"was",we:"we",were:"were",what:"what",when:"when",where:"where",which:"which","while":"while",who:"who",whom:"whom",why:"why",will:"will","with":"with",would:"would",yet:"yet",you:"you",your:"your"},t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){var e=t.replace(/^\W+/,"").replace(/\W+$/,"");return""===e?void 0:e},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t[0],o=t.slice(1);return i in n||(n[i]={docs:{}}),0===o.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(o,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;n element for each result + res.results.forEach(function(res) { + var $li = $('
    • ', { + 'class': 'search-results-item' + }); + + var $title = $('

      '); + + var $link = $('', { + 'href': gitbook.state.basePath + '/' + res.url, + 'text': res.title + }); + + var content = res.body.trim(); + if (content.length > MAX_DESCRIPTION_SIZE) { + content = content.slice(0, MAX_DESCRIPTION_SIZE).trim()+'...'; + } + var $content = $('

      ').html(content); + + $link.appendTo($title); + $title.appendTo($li); + $content.appendTo($li); + $li.appendTo($searchList); + }); + } + + function launchSearch(q) { + // Add class for loading + $body.addClass('with-search'); + $body.addClass('search-loading'); + + // Launch search query + throttle(gitbook.search.query(q, 0, MAX_RESULTS) + .then(function(results) { + displayResults(results); + }) + .always(function() { + $body.removeClass('search-loading'); + }), 1000); + } + + function closeSearch() { + $body.removeClass('with-search'); + $bookSearchResults.removeClass('open'); + } + + function launchSearchFromQueryString() { + var q = getParameterByName('q'); + if (q && q.length > 0) { + // Update search input + $searchInput.val(q); + + // Launch search + launchSearch(q); + } + } + + function bindSearch() { + // Bind DOM + $searchInput = $('#book-search-input input'); + $bookSearchResults = $('#book-search-results'); + $searchList = $bookSearchResults.find('.search-results-list'); + $searchTitle = $bookSearchResults.find('.search-results-title'); + $searchResultsCount = $searchTitle.find('.search-results-count'); + $searchQuery = $searchTitle.find('.search-query'); + + // Launch query based on input content + function handleUpdate() { + var q = $searchInput.val(); + + if (q.length == 0) { + closeSearch(); + } + else { + launchSearch(q); + } + } + + // Detect true content change in search input + // Workaround for IE < 9 + var propertyChangeUnbound = false; + $searchInput.on('propertychange', function(e) { + if (e.originalEvent.propertyName == 'value') { + handleUpdate(); + } + }); + + // HTML5 (IE9 & others) + $searchInput.on('input', function(e) { + // Unbind propertychange event for IE9+ + if (!propertyChangeUnbound) { + $(this).unbind('propertychange'); + propertyChangeUnbound = true; + } + + handleUpdate(); + }); + + // Push to history on blur + $searchInput.on('blur', function(e) { + // Update history state + if (usePushState) { + var uri = updateQueryString('q', $(this).val()); + history.pushState({ path: uri }, null, uri); + } + }); + } + + gitbook.events.on('page.change', function() { + bindSearch(); + closeSearch(); + + // Launch search based on query parameter + if (gitbook.search.isInitialized()) { + launchSearchFromQueryString(); + } + }); + + gitbook.events.on('search.ready', function() { + bindSearch(); + + // Launch search from query param at start + launchSearchFromQueryString(); + }); + + function getParameterByName(name) { + var url = window.location.href; + name = name.replace(/[\[\]]/g, '\\$&'); + var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)', 'i'), + results = regex.exec(url); + if (!results) return null; + if (!results[2]) return ''; + return decodeURIComponent(results[2].replace(/\+/g, ' ')); + } + + function updateQueryString(key, value) { + value = encodeURIComponent(value); + + var url = window.location.href; + var re = new RegExp('([?&])' + key + '=.*?(&|#|$)(.*)', 'gi'), + hash; + + if (re.test(url)) { + if (typeof value !== 'undefined' && value !== null) + return url.replace(re, '$1' + key + '=' + value + '$2$3'); + else { + hash = url.split('#'); + url = hash[0].replace(re, '$1$3').replace(/(&|\?)$/, ''); + if (typeof hash[1] !== 'undefined' && hash[1] !== null) + url += '#' + hash[1]; + return url; + } + } + else { + if (typeof value !== 'undefined' && value !== null) { + var separator = url.indexOf('?') !== -1 ? '&' : '?'; + hash = url.split('#'); + url = hash[0] + separator + key + '=' + value; + if (typeof hash[1] !== 'undefined' && hash[1] !== null) + url += '#' + hash[1]; + return url; + } + else + return url; + } + } +}); diff --git a/gitbook/gitbook-plugin-sharing/buttons.js b/gitbook/gitbook-plugin-sharing/buttons.js new file mode 100644 index 0000000..709a4e4 --- /dev/null +++ b/gitbook/gitbook-plugin-sharing/buttons.js @@ -0,0 +1,90 @@ +require(['gitbook', 'jquery'], function(gitbook, $) { + var SITES = { + 'facebook': { + 'label': 'Facebook', + 'icon': 'fa fa-facebook', + 'onClick': function(e) { + e.preventDefault(); + window.open('http://www.facebook.com/sharer/sharer.php?s=100&p[url]='+encodeURIComponent(location.href)); + } + }, + 'twitter': { + 'label': 'Twitter', + 'icon': 'fa fa-twitter', + 'onClick': function(e) { + e.preventDefault(); + window.open('http://twitter.com/home?status='+encodeURIComponent(document.title+' '+location.href)); + } + }, + 'google': { + 'label': 'Google+', + 'icon': 'fa fa-google-plus', + 'onClick': function(e) { + e.preventDefault(); + window.open('https://plus.google.com/share?url='+encodeURIComponent(location.href)); + } + }, + 'weibo': { + 'label': 'Weibo', + 'icon': 'fa fa-weibo', + 'onClick': function(e) { + e.preventDefault(); + window.open('http://service.weibo.com/share/share.php?content=utf-8&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title)); + } + }, + 'instapaper': { + 'label': 'Instapaper', + 'icon': 'fa fa-instapaper', + 'onClick': function(e) { + e.preventDefault(); + window.open('http://www.instapaper.com/text?u='+encodeURIComponent(location.href)); + } + }, + 'vk': { + 'label': 'VK', + 'icon': 'fa fa-vk', + 'onClick': function(e) { + e.preventDefault(); + window.open('http://vkontakte.ru/share.php?url='+encodeURIComponent(location.href)); + } + } + }; + + + + gitbook.events.bind('start', function(e, config) { + var opts = config.sharing; + + // Create dropdown menu + var menu = $.map(opts.all, function(id) { + var site = SITES[id]; + + return { + text: site.label, + onClick: site.onClick + }; + }); + + // Create main button with dropdown + if (menu.length > 0) { + gitbook.toolbar.createButton({ + icon: 'fa fa-share-alt', + label: 'Share', + position: 'right', + dropdown: [menu] + }); + } + + // Direct actions to share + $.each(SITES, function(sideId, site) { + if (!opts[sideId]) return; + + gitbook.toolbar.createButton({ + icon: site.icon, + label: site.text, + position: 'right', + onClick: site.onClick + }); + }); + }); +}); diff --git a/gitbook/gitbook.js b/gitbook/gitbook.js new file mode 100644 index 0000000..13077b4 --- /dev/null +++ b/gitbook/gitbook.js @@ -0,0 +1,4 @@ +!function e(t,n,r){function o(s,a){if(!n[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(i)return i(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[s]={exports:{}};t[s][0].call(l.exports,function(e){var n=t[s][1][e];return o(n?n:e)},l,l.exports,e,t,n,r)}return n[s].exports}for(var i="function"==typeof require&&require,s=0;s0&&t-1 in e)}function o(e,t,n){return de.isFunction(t)?de.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?de.grep(e,function(e){return e===t!==n}):"string"!=typeof t?de.grep(e,function(e){return se.call(t,e)>-1!==n}):je.test(t)?de.filter(t,e,n):(t=de.filter(t,e),de.grep(e,function(e){return se.call(t,e)>-1!==n&&1===e.nodeType}))}function i(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function s(e){var t={};return de.each(e.match(qe)||[],function(e,n){t[n]=!0}),t}function a(e){return e}function u(e){throw e}function c(e,t,n){var r;try{e&&de.isFunction(r=e.promise)?r.call(e).done(t).fail(n):e&&de.isFunction(r=e.then)?r.call(e,t,n):t.call(void 0,e)}catch(e){n.call(void 0,e)}}function l(){te.removeEventListener("DOMContentLoaded",l),e.removeEventListener("load",l),de.ready()}function f(){this.expando=de.expando+f.uid++}function p(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Ie.test(e)?JSON.parse(e):e)}function h(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Pe,"-$&").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n=p(n)}catch(e){}Re.set(e,t,n)}else n=void 0;return n}function d(e,t,n,r){var o,i=1,s=20,a=r?function(){return r.cur()}:function(){return de.css(e,t,"")},u=a(),c=n&&n[3]||(de.cssNumber[t]?"":"px"),l=(de.cssNumber[t]||"px"!==c&&+u)&&$e.exec(de.css(e,t));if(l&&l[3]!==c){c=c||l[3],n=n||[],l=+u||1;do i=i||".5",l/=i,de.style(e,t,l+c);while(i!==(i=a()/u)&&1!==i&&--s)}return n&&(l=+l||+u||0,o=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=l,r.end=o)),o}function g(e){var t,n=e.ownerDocument,r=e.nodeName,o=Ue[r];return o?o:(t=n.body.appendChild(n.createElement(r)),o=de.css(t,"display"),t.parentNode.removeChild(t),"none"===o&&(o="block"),Ue[r]=o,o)}function m(e,t){for(var n,r,o=[],i=0,s=e.length;i-1)o&&o.push(i);else if(c=de.contains(i.ownerDocument,i),s=v(f.appendChild(i),"script"),c&&y(s),n)for(l=0;i=s[l++];)Ve.test(i.type||"")&&n.push(i);return f}function b(){return!0}function w(){return!1}function T(){try{return te.activeElement}catch(e){}}function C(e,t,n,r,o,i){var s,a;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(a in t)C(e,a,n,r,t[a],i);return e}if(null==r&&null==o?(o=n,r=n=void 0):null==o&&("string"==typeof n?(o=r,r=void 0):(o=r,r=n,n=void 0)),o===!1)o=w;else if(!o)return e;return 1===i&&(s=o,o=function(e){return de().off(e),s.apply(this,arguments)},o.guid=s.guid||(s.guid=de.guid++)),e.each(function(){de.event.add(this,t,o,r,n)})}function j(e,t){return de.nodeName(e,"table")&&de.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e:e}function k(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function E(e){var t=rt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function S(e,t){var n,r,o,i,s,a,u,c;if(1===t.nodeType){if(Fe.hasData(e)&&(i=Fe.access(e),s=Fe.set(t,i),c=i.events)){delete s.handle,s.events={};for(o in c)for(n=0,r=c[o].length;n1&&"string"==typeof d&&!pe.checkClone&&nt.test(d))return e.each(function(n){var i=e.eq(n);g&&(t[0]=d.call(this,n,i.html())),A(i,t,r,o)});if(p&&(i=x(t,e[0].ownerDocument,!1,e,o),s=i.firstChild,1===i.childNodes.length&&(i=s),s||o)){for(a=de.map(v(i,"script"),k),u=a.length;f=0&&nC.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[$]=!0,e}function o(e){var t=L.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function i(e,t){for(var n=e.split("|"),r=n.length;r--;)C.attrHandle[n[r]]=t}function s(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return function(t){return"form"in t?t.parentNode&&t.disabled===!1?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&je(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function l(e){return r(function(t){return t=+t,r(function(n,r){for(var o,i=e([],n.length,t),s=i.length;s--;)n[o=i[s]]&&(n[o]=!(r[o]=n[o]))})})}function f(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function p(){}function h(e){for(var t=0,n=e.length,r="";t1?function(t,n,r){for(var o=e.length;o--;)if(!e[o](t,n,r))return!1;return!0}:e[0]}function m(e,n,r){for(var o=0,i=n.length;o-1&&(r[c]=!(s[c]=f))}}else x=v(x===s?x.splice(d,x.length):x),i?i(null,s,x,u):K.apply(s,x)})}function x(e){for(var t,n,r,o=e.length,i=C.relative[e[0].type],s=i||C.relative[" "],a=i?1:0,u=d(function(e){return e===t},s,!0),c=d(function(e){return ee(t,e)>-1},s,!0),l=[function(e,n,r){var o=!i&&(r||n!==A)||((t=n).nodeType?u(e,n,r):c(e,n,r));return t=null,o}];a1&&g(l),a>1&&h(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(ae,"$1"),n,a0,i=e.length>0,s=function(r,s,a,u,c){var l,f,p,h=0,d="0",g=r&&[],m=[],y=A,x=r||i&&C.find.TAG("*",c),b=B+=null==y?1:Math.random()||.1,w=x.length;for(c&&(A=s===L||s||c);d!==w&&null!=(l=x[d]);d++){if(i&&l){for(f=0,s||l.ownerDocument===L||(O(l),a=!F);p=e[f++];)if(p(l,s||L,a)){u.push(l);break}c&&(B=b)}o&&((l=!p&&l)&&h--,r&&g.push(l))}if(h+=d,o&&d!==h){for(f=0;p=n[f++];)p(g,m,s,a);if(r){if(h>0)for(;d--;)g[d]||m[d]||(m[d]=Q.call(u));m=v(m)}K.apply(u,m),c&&!r&&m.length>0&&h+n.length>1&&t.uniqueSort(u)}return c&&(B=b,A=y),g};return o?r(s):s}var w,T,C,j,k,E,S,N,A,q,D,O,L,H,F,R,I,P,M,$="sizzle"+1*new Date,W=e.document,B=0,_=0,U=n(),z=n(),X=n(),V=function(e,t){return e===t&&(D=!0),0},G={}.hasOwnProperty,Y=[],Q=Y.pop,J=Y.push,K=Y.push,Z=Y.slice,ee=function(e,t){for(var n=0,r=e.length;n+~]|"+ne+")"+ne+"*"),le=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),fe=new RegExp(ie),pe=new RegExp("^"+re+"$"),he={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+ie),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},de=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,xe=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),be=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},we=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,Te=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},Ce=function(){O()},je=d(function(e){return e.disabled===!0&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{K.apply(Y=Z.call(W.childNodes),W.childNodes),Y[W.childNodes.length].nodeType}catch(e){K={apply:Y.length?function(e,t){J.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}T=t.support={},k=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},O=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:W;return r!==L&&9===r.nodeType&&r.documentElement?(L=r,H=L.documentElement,F=!k(L),W!==L&&(n=L.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Ce,!1):n.attachEvent&&n.attachEvent("onunload",Ce)),T.attributes=o(function(e){return e.className="i",!e.getAttribute("className")}),T.getElementsByTagName=o(function(e){return e.appendChild(L.createComment("")),!e.getElementsByTagName("*").length}),T.getElementsByClassName=me.test(L.getElementsByClassName),T.getById=o(function(e){return H.appendChild(e).id=$,!L.getElementsByName||!L.getElementsByName($).length}),T.getById?(C.filter.ID=function(e){var t=e.replace(xe,be);return function(e){return e.getAttribute("id")===t}},C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n=t.getElementById(e);return n?[n]:[]}}):(C.filter.ID=function(e){var t=e.replace(xe,be);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n,r,o,i=t.getElementById(e);if(i){if(n=i.getAttributeNode("id"),n&&n.value===e)return[i];for(o=t.getElementsByName(e),r=0;i=o[r++];)if(n=i.getAttributeNode("id"),n&&n.value===e)return[i]}return[]}}),C.find.TAG=T.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):T.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],o=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[o++];)1===n.nodeType&&r.push(n);return r}return i},C.find.CLASS=T.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&F)return t.getElementsByClassName(e)},I=[],R=[],(T.qsa=me.test(L.querySelectorAll))&&(o(function(e){H.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&R.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||R.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+$+"-]").length||R.push("~="),e.querySelectorAll(":checked").length||R.push(":checked"),e.querySelectorAll("a#"+$+"+*").length||R.push(".#.+[+~]")}),o(function(e){e.innerHTML="";var t=L.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&R.push("name"+ne+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&R.push(":enabled",":disabled"),H.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&R.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),R.push(",.*:")})),(T.matchesSelector=me.test(P=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&o(function(e){T.disconnectedMatch=P.call(e,"*"),P.call(e,"[s!='']:x"),I.push("!=",ie)}),R=R.length&&new RegExp(R.join("|")),I=I.length&&new RegExp(I.join("|")),t=me.test(H.compareDocumentPosition),M=t||me.test(H.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},V=t?function(e,t){if(e===t)return D=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!T.sortDetached&&t.compareDocumentPosition(e)===n?e===L||e.ownerDocument===W&&M(W,e)?-1:t===L||t.ownerDocument===W&&M(W,t)?1:q?ee(q,e)-ee(q,t):0:4&n?-1:1)}:function(e,t){if(e===t)return D=!0,0;var n,r=0,o=e.parentNode,i=t.parentNode,a=[e],u=[t];if(!o||!i)return e===L?-1:t===L?1:o?-1:i?1:q?ee(q,e)-ee(q,t):0;if(o===i)return s(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;a[r]===u[r];)r++;return r?s(a[r],u[r]):a[r]===W?-1:u[r]===W?1:0},L):L},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==L&&O(e),n=n.replace(le,"='$1']"),T.matchesSelector&&F&&!X[n+" "]&&(!I||!I.test(n))&&(!R||!R.test(n)))try{var r=P.call(e,n);if(r||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,L,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==L&&O(e),M(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==L&&O(e);var n=C.attrHandle[t.toLowerCase()],r=n&&G.call(C.attrHandle,t.toLowerCase())?n(e,t,!F):void 0;return void 0!==r?r:T.attributes||!F?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(we,Te)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,o=0;if(D=!T.detectDuplicates,q=!T.sortStable&&e.slice(0),e.sort(V),D){for(;t=e[o++];)t===e[o]&&(r=n.push(o));for(;r--;)e.splice(n[r],1)}return q=null,e},j=t.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=j(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=j(t);return n},C=t.selectors={cacheLength:50,createPseudo:r,match:he,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(xe,be),e[3]=(e[3]||e[4]||e[5]||"").replace(xe,be),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return he.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&fe.test(n)&&(t=E(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(xe,be).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=U[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&U(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(o){var i=t.attr(o,e);return null==i?"!="===n:!n||(i+="","="===n?i===r:"!="===n?i!==r:"^="===n?r&&0===i.indexOf(r):"*="===n?r&&i.indexOf(r)>-1:"$="===n?r&&i.slice(-r.length)===r:"~="===n?(" "+i.replace(se," ")+" ").indexOf(r)>-1:"|="===n&&(i===r||i.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,o){var i="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===o?function(e){return!!e.parentNode}:function(t,n,u){var c,l,f,p,h,d,g=i!==s?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),y=!u&&!a,x=!1;if(m){if(i){for(;g;){for(p=t;p=p[g];)if(a?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;d=g="only"===e&&!d&&"nextSibling"}return!0}if(d=[s?m.firstChild:m.lastChild],s&&y){for(p=m,f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[e]||[],h=c[0]===B&&c[1],x=h&&c[2],p=h&&m.childNodes[h];p=++h&&p&&p[g]||(x=h=0)||d.pop();)if(1===p.nodeType&&++x&&p===t){l[e]=[B,h,x];break}}else if(y&&(p=t,f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[e]||[],h=c[0]===B&&c[1],x=h),x===!1)for(;(p=++h&&p&&p[g]||(x=h=0)||d.pop())&&((a?p.nodeName.toLowerCase()!==v:1!==p.nodeType)||!++x||(y&&(f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),l[e]=[B,x]),p!==t)););return x-=o,x===r||x%r===0&&x/r>=0}}},PSEUDO:function(e,n){var o,i=C.pseudos[e]||C.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return i[$]?i(n):i.length>1?(o=[e,e,"",n],C.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,o=i(e,n),s=o.length;s--;)r=ee(e,o[s]),e[r]=!(t[r]=o[s])}):function(e){return i(e,0,o)}):i}},pseudos:{not:r(function(e){var t=[],n=[],o=S(e.replace(ae,"$1"));return o[$]?r(function(e,t,n,r){for(var i,s=o(e,null,r,[]),a=e.length;a--;)(i=s[a])&&(e[a]=!(t[a]=i))}):function(e,r,i){return t[0]=e,o(t,null,i,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){ +return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(xe,be),function(t){return(t.textContent||t.innerText||j(t)).indexOf(e)>-1}}),lang:r(function(e){return pe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(xe,be).toLowerCase(),function(t){var n;do if(n=F?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===H},focus:function(e){return e===L.activeElement&&(!L.hasFocus||L.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:c(!1),disabled:c(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!C.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return de.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:l(function(){return[0]}),last:l(function(e,t){return[t-1]}),eq:l(function(e,t,n){return[n<0?n+t:n]}),even:l(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:l(function(e,t,n){for(var r=n<0?n+t:n;++r2&&"ID"===(s=i[0]).type&&9===t.nodeType&&F&&C.relative[i[1].type]){if(t=(C.find.ID(s.matches[0].replace(xe,be),t)||[])[0],!t)return n;c&&(t=t.parentNode),e=e.slice(i.shift().value.length)}for(o=he.needsContext.test(e)?0:i.length;o--&&(s=i[o],!C.relative[a=s.type]);)if((u=C.find[a])&&(r=u(s.matches[0].replace(xe,be),ye.test(i[0].type)&&f(t.parentNode)||t))){if(i.splice(o,1),e=r.length&&h(i),!e)return K.apply(n,r),n;break}}return(c||S(e,l))(r,t,!F,n,!t||ye.test(e)&&f(t.parentNode)||t),n},T.sortStable=$.split("").sort(V).join("")===$,T.detectDuplicates=!!D,O(),T.sortDetached=o(function(e){return 1&e.compareDocumentPosition(L.createElement("fieldset"))}),o(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||i("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),T.attributes&&o(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||i("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),o(function(e){return null==e.getAttribute("disabled")})||i(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);de.find=xe,de.expr=xe.selectors,de.expr[":"]=de.expr.pseudos,de.uniqueSort=de.unique=xe.uniqueSort,de.text=xe.getText,de.isXMLDoc=xe.isXML,de.contains=xe.contains,de.escapeSelector=xe.escape;var be=function(e,t,n){for(var r=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&de(e).is(n))break;r.push(e)}return r},we=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},Te=de.expr.match.needsContext,Ce=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,je=/^.[^:#\[\.,]*$/;de.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?de.find.matchesSelector(r,e)?[r]:[]:de.find.matches(e,de.grep(t,function(e){return 1===e.nodeType}))},de.fn.extend({find:function(e){var t,n,r=this.length,o=this;if("string"!=typeof e)return this.pushStack(de(e).filter(function(){for(t=0;t1?de.uniqueSort(n):n},filter:function(e){return this.pushStack(o(this,e||[],!1))},not:function(e){return this.pushStack(o(this,e||[],!0))},is:function(e){return!!o(this,"string"==typeof e&&Te.test(e)?de(e):e||[],!1).length}});var ke,Ee=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,Se=de.fn.init=function(e,t,n){var r,o;if(!e)return this;if(n=n||ke,"string"==typeof e){if(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:Ee.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof de?t[0]:t,de.merge(this,de.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:te,!0)),Ce.test(r[1])&&de.isPlainObject(t))for(r in t)de.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return o=te.getElementById(r[2]),o&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):de.isFunction(e)?void 0!==n.ready?n.ready(e):e(de):de.makeArray(e,this)};Se.prototype=de.fn,ke=de(te);var Ne=/^(?:parents|prev(?:Until|All))/,Ae={children:!0,contents:!0,next:!0,prev:!0};de.fn.extend({has:function(e){var t=de(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&de.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?de.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?se.call(de(e),this[0]):se.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(de.uniqueSort(de.merge(this.get(),de(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),de.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return be(e,"parentNode")},parentsUntil:function(e,t,n){return be(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return be(e,"nextSibling")},prevAll:function(e){return be(e,"previousSibling")},nextUntil:function(e,t,n){return be(e,"nextSibling",n)},prevUntil:function(e,t,n){return be(e,"previousSibling",n)},siblings:function(e){return we((e.parentNode||{}).firstChild,e)},children:function(e){return we(e.firstChild)},contents:function(e){return e.contentDocument||de.merge([],e.childNodes)}},function(e,t){de.fn[e]=function(n,r){var o=de.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(o=de.filter(r,o)),this.length>1&&(Ae[e]||de.uniqueSort(o),Ne.test(e)&&o.reverse()),this.pushStack(o)}});var qe=/[^\x20\t\r\n\f]+/g;de.Callbacks=function(e){e="string"==typeof e?s(e):de.extend({},e);var t,n,r,o,i=[],a=[],u=-1,c=function(){for(o=e.once,r=t=!0;a.length;u=-1)for(n=a.shift();++u-1;)i.splice(n,1),n<=u&&u--}),this},has:function(e){return e?de.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return o=a=[],i=n="",this},disabled:function(){return!i},lock:function(){return o=a=[],n||t||(i=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=n||[],n=[e,n.slice?n.slice():n],a.push(n),t||c()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},de.extend({Deferred:function(t){var n=[["notify","progress",de.Callbacks("memory"),de.Callbacks("memory"),2],["resolve","done",de.Callbacks("once memory"),de.Callbacks("once memory"),0,"resolved"],["reject","fail",de.Callbacks("once memory"),de.Callbacks("once memory"),1,"rejected"]],r="pending",o={state:function(){return r},always:function(){return i.done(arguments).fail(arguments),this},catch:function(e){return o.then(null,e)},pipe:function(){var e=arguments;return de.Deferred(function(t){de.each(n,function(n,r){var o=de.isFunction(e[r[4]])&&e[r[4]];i[r[1]](function(){var e=o&&o.apply(this,arguments);e&&de.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,o?[e]:arguments)})}),e=null}).promise()},then:function(t,r,o){function i(t,n,r,o){return function(){var c=this,l=arguments,f=function(){var e,f;if(!(t=s&&(r!==u&&(c=void 0,l=[e]),n.rejectWith(c,l))}};t?p():(de.Deferred.getStackHook&&(p.stackTrace=de.Deferred.getStackHook()),e.setTimeout(p))}}var s=0;return de.Deferred(function(e){n[0][3].add(i(0,e,de.isFunction(o)?o:a,e.notifyWith)),n[1][3].add(i(0,e,de.isFunction(t)?t:a)),n[2][3].add(i(0,e,de.isFunction(r)?r:u))}).promise()},promise:function(e){return null!=e?de.extend(e,o):o}},i={};return de.each(n,function(e,t){var s=t[2],a=t[5];o[t[1]]=s.add,a&&s.add(function(){r=a},n[3-e][2].disable,n[0][2].lock),s.add(t[3].fire),i[t[0]]=function(){return i[t[0]+"With"](this===i?void 0:this,arguments),this},i[t[0]+"With"]=s.fireWith}),o.promise(i),t&&t.call(i,i),i},when:function(e){var t=arguments.length,n=t,r=Array(n),o=re.call(arguments),i=de.Deferred(),s=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?re.call(arguments):n,--t||i.resolveWith(r,o)}};if(t<=1&&(c(e,i.done(s(n)).resolve,i.reject),"pending"===i.state()||de.isFunction(o[n]&&o[n].then)))return i.then();for(;n--;)c(o[n],s(n),i.reject);return i.promise()}});var De=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;de.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&De.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},de.readyException=function(t){e.setTimeout(function(){throw t})};var Oe=de.Deferred();de.fn.ready=function(e){return Oe.then(e).catch(function(e){de.readyException(e)}),this},de.extend({isReady:!1,readyWait:1,holdReady:function(e){e?de.readyWait++:de.ready(!0)},ready:function(e){(e===!0?--de.readyWait:de.isReady)||(de.isReady=!0,e!==!0&&--de.readyWait>0||Oe.resolveWith(te,[de]))}}),de.ready.then=Oe.then,"complete"===te.readyState||"loading"!==te.readyState&&!te.documentElement.doScroll?e.setTimeout(de.ready):(te.addEventListener("DOMContentLoaded",l),e.addEventListener("load",l));var Le=function(e,t,n,r,o,i,s){var a=0,u=e.length,c=null==n;if("object"===de.type(n)){o=!0;for(a in n)Le(e,t,a,n[a],!0,i,s)}else if(void 0!==r&&(o=!0,de.isFunction(r)||(s=!0),c&&(s?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(de(e),n)})),t))for(;a1,null,!0)},removeData:function(e){return this.each(function(){Re.remove(this,e)})}}),de.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Fe.get(e,t),n&&(!r||de.isArray(n)?r=Fe.access(e,t,de.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=de.queue(e,t),r=n.length,o=n.shift(),i=de._queueHooks(e,t),s=function(){de.dequeue(e,t)};"inprogress"===o&&(o=n.shift(),r--),o&&("fx"===t&&n.unshift("inprogress"),delete i.stop,o.call(e,s,i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Fe.get(e,n)||Fe.access(e,n,{empty:de.Callbacks("once memory").add(function(){Fe.remove(e,[t+"queue",n])})})}}),de.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,Ve=/^$|\/(?:java|ecma)script/i,Ge={option:[1,""],thead:[1,"","
      "],col:[2,"","
      "],tr:[2,"","
      "],td:[3,"","
      "],_default:[0,"",""]};Ge.optgroup=Ge.option,Ge.tbody=Ge.tfoot=Ge.colgroup=Ge.caption=Ge.thead,Ge.th=Ge.td;var Ye=/<|&#?\w+;/;!function(){var e=te.createDocumentFragment(),t=e.appendChild(te.createElement("div")),n=te.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),pe.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="",pe.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Qe=te.documentElement,Je=/^key/,Ke=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ze=/^([^.]*)(?:\.(.+)|)/;de.event={global:{},add:function(e,t,n,r,o){var i,s,a,u,c,l,f,p,h,d,g,m=Fe.get(e);if(m)for(n.handler&&(i=n,n=i.handler,o=i.selector),o&&de.find.matchesSelector(Qe,o),n.guid||(n.guid=de.guid++),(u=m.events)||(u=m.events={}),(s=m.handle)||(s=m.handle=function(t){return"undefined"!=typeof de&&de.event.triggered!==t.type?de.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(qe)||[""],c=t.length;c--;)a=Ze.exec(t[c])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h&&(f=de.event.special[h]||{},h=(o?f.delegateType:f.bindType)||h,f=de.event.special[h]||{},l=de.extend({type:h,origType:g,data:r,handler:n,guid:n.guid,selector:o,needsContext:o&&de.expr.match.needsContext.test(o),namespace:d.join(".")},i),(p=u[h])||(p=u[h]=[],p.delegateCount=0,f.setup&&f.setup.call(e,r,d,s)!==!1||e.addEventListener&&e.addEventListener(h,s)),f.add&&(f.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),o?p.splice(p.delegateCount++,0,l):p.push(l),de.event.global[h]=!0)},remove:function(e,t,n,r,o){var i,s,a,u,c,l,f,p,h,d,g,m=Fe.hasData(e)&&Fe.get(e);if(m&&(u=m.events)){for(t=(t||"").match(qe)||[""],c=t.length;c--;)if(a=Ze.exec(t[c])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h){for(f=de.event.special[h]||{},h=(r?f.delegateType:f.bindType)||h,p=u[h]||[],a=a[2]&&new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=i=p.length;i--;)l=p[i],!o&&g!==l.origType||n&&n.guid!==l.guid||a&&!a.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(p.splice(i,1),l.selector&&p.delegateCount--,f.remove&&f.remove.call(e,l));s&&!p.length&&(f.teardown&&f.teardown.call(e,d,m.handle)!==!1||de.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)de.event.remove(e,h+t[c],n,r,!0);de.isEmptyObject(u)&&Fe.remove(e,"handle events")}},dispatch:function(e){var t,n,r,o,i,s,a=de.event.fix(e),u=new Array(arguments.length),c=(Fe.get(this,"events")||{})[a.type]||[],l=de.event.special[a.type]||{};for(u[0]=a,t=1;t=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||c.disabled!==!0)){for(i=[],s={},n=0;n-1:de.find(o,this,null,[c]).length),s[o]&&i.push(r);i.length&&a.push({elem:c,handlers:i})}return c=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,tt=/\s*$/g;de.extend({htmlPrefilter:function(e){return e.replace(et,"<$1>")},clone:function(e,t,n){var r,o,i,s,a=e.cloneNode(!0),u=de.contains(e.ownerDocument,e);if(!(pe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||de.isXMLDoc(e)))for(s=v(a),i=v(e),r=0,o=i.length;r0&&y(s,!u&&v(e,"script")),a},cleanData:function(e){for(var t,n,r,o=de.event.special,i=0;void 0!==(n=e[i]);i++)if(He(n)){if(t=n[Fe.expando]){if(t.events)for(r in t.events)o[r]?de.event.remove(n,r):de.removeEvent(n,r,t.handle);n[Fe.expando]=void 0}n[Re.expando]&&(n[Re.expando]=void 0)}}}),de.fn.extend({detach:function(e){return q(this,e,!0)},remove:function(e){return q(this,e)},text:function(e){return Le(this,function(e){return void 0===e?de.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=j(this,e);t.appendChild(e)}})},prepend:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=j(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(de.cleanData(v(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return de.clone(this,e,t)})},html:function(e){return Le(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!tt.test(e)&&!Ge[(Xe.exec(e)||["",""])[1].toLowerCase()]){e=de.htmlPrefilter(e);try{for(;n1)}}),de.Tween=I,I.prototype={constructor:I,init:function(e,t,n,r,o,i){this.elem=e,this.prop=n,this.easing=o||de.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(de.cssNumber[n]?"":"px")},cur:function(){var e=I.propHooks[this.prop];return e&&e.get?e.get(this):I.propHooks._default.get(this)},run:function(e){var t,n=I.propHooks[this.prop];return this.options.duration?this.pos=t=de.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):I.propHooks._default.set(this),this}},I.prototype.init.prototype=I.prototype,I.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=de.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){de.fx.step[e.prop]?de.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[de.cssProps[e.prop]]&&!de.cssHooks[e.prop]?e.elem[e.prop]=e.now:de.style(e.elem,e.prop,e.now+e.unit)}}},I.propHooks.scrollTop=I.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},de.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},de.fx=I.prototype.init,de.fx.step={};var ht,dt,gt=/^(?:toggle|show|hide)$/,mt=/queueHooks$/;de.Animation=de.extend(U,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return d(n.elem,e,$e.exec(t),n),n}]},tweener:function(e,t){de.isFunction(e)?(t=e,e=["*"]):e=e.match(qe);for(var n,r=0,o=e.length;r1)},removeAttr:function(e){return this.each(function(){de.removeAttr(this,e)})}}),de.extend({attr:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return"undefined"==typeof e.getAttribute?de.prop(e,t,n):(1===i&&de.isXMLDoc(e)||(o=de.attrHooks[t.toLowerCase()]||(de.expr.match.bool.test(t)?vt:void 0)),void 0!==n?null===n?void de.removeAttr(e,t):o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:(e.setAttribute(t,n+""),n):o&&"get"in o&&null!==(r=o.get(e,t))?r:(r=de.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!pe.radioValue&&"radio"===t&&de.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,o=t&&t.match(qe);if(o&&1===e.nodeType)for(;n=o[r++];)e.removeAttribute(n)}}),vt={set:function(e,t,n){return t===!1?de.removeAttr(e,n):e.setAttribute(n,n),n}},de.each(de.expr.match.bool.source.match(/\w+/g),function(e,t){var n=yt[t]||de.find.attr;yt[t]=function(e,t,r){var o,i,s=t.toLowerCase();return r||(i=yt[s],yt[s]=o,o=null!=n(e,t,r)?s:null,yt[s]=i),o}});var xt=/^(?:input|select|textarea|button)$/i,bt=/^(?:a|area)$/i;de.fn.extend({prop:function(e,t){return Le(this,de.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[de.propFix[e]||e]})}}),de.extend({prop:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&de.isXMLDoc(e)||(t=de.propFix[t]||t,o=de.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:e[t]=n:o&&"get"in o&&null!==(r=o.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=de.find.attr(e,"tabindex");return t?parseInt(t,10):xt.test(e.nodeName)||bt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),pe.optSelected||(de.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),de.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){de.propFix[this.toLowerCase()]=this}),de.fn.extend({addClass:function(e){var t,n,r,o,i,s,a,u=0;if(de.isFunction(e))return this.each(function(t){de(this).addClass(e.call(this,t,X(this)))});if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(s=0;i=t[s++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");a=z(r),o!==a&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,r,o,i,s,a,u=0;if(de.isFunction(e))return this.each(function(t){de(this).removeClass(e.call(this,t,X(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(s=0;i=t[s++];)for(;r.indexOf(" "+i+" ")>-1;)r=r.replace(" "+i+" "," ");a=z(r),o!==a&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):de.isFunction(e)?this.each(function(n){de(this).toggleClass(e.call(this,n,X(this),t),t)}):this.each(function(){var t,r,o,i;if("string"===n)for(r=0,o=de(this),i=e.match(qe)||[];t=i[r++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||(t=X(this),t&&Fe.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||e===!1?"":Fe.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+z(X(n))+" ").indexOf(t)>-1)return!0;return!1}});var wt=/\r/g;de.fn.extend({val:function(e){var t,n,r,o=this[0];{if(arguments.length)return r=de.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=r?e.call(this,n,de(this).val()):e,null==o?o="":"number"==typeof o?o+="":de.isArray(o)&&(o=de.map(o,function(e){return null==e?"":e+""})),t=de.valHooks[this.type]||de.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))});if(o)return t=de.valHooks[o.type]||de.valHooks[o.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:(n=o.value,"string"==typeof n?n.replace(wt,""):null==n?"":n)}}}),de.extend({valHooks:{option:{get:function(e){var t=de.find.attr(e,"value");return null!=t?t:z(de.text(e))}},select:{get:function(e){var t,n,r,o=e.options,i=e.selectedIndex,s="select-one"===e.type,a=s?null:[],u=s?i+1:o.length;for(r=i<0?u:s?i:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),de.each(["radio","checkbox"],function(){de.valHooks[this]={set:function(e,t){if(de.isArray(t))return e.checked=de.inArray(de(e).val(),t)>-1}},pe.checkOn||(de.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Tt=/^(?:focusinfocus|focusoutblur)$/;de.extend(de.event,{trigger:function(t,n,r,o){var i,s,a,u,c,l,f,p=[r||te],h=ce.call(t,"type")?t.type:t,d=ce.call(t,"namespace")?t.namespace.split("."):[];if(s=a=r=r||te,3!==r.nodeType&&8!==r.nodeType&&!Tt.test(h+de.event.triggered)&&(h.indexOf(".")>-1&&(d=h.split("."),h=d.shift(),d.sort()),c=h.indexOf(":")<0&&"on"+h,t=t[de.expando]?t:new de.Event(h,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=d.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:de.makeArray(n,[t]),f=de.event.special[h]||{},o||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!o&&!f.noBubble&&!de.isWindow(r)){for(u=f.delegateType||h,Tt.test(u+h)||(s=s.parentNode);s;s=s.parentNode)p.push(s),a=s;a===(r.ownerDocument||te)&&p.push(a.defaultView||a.parentWindow||e)}for(i=0;(s=p[i++])&&!t.isPropagationStopped();)t.type=i>1?u:f.bindType||h,l=(Fe.get(s,"events")||{})[t.type]&&Fe.get(s,"handle"),l&&l.apply(s,n),l=c&&s[c],l&&l.apply&&He(s)&&(t.result=l.apply(s,n),t.result===!1&&t.preventDefault());return t.type=h,o||t.isDefaultPrevented()||f._default&&f._default.apply(p.pop(),n)!==!1||!He(r)||c&&de.isFunction(r[h])&&!de.isWindow(r)&&(a=r[c],a&&(r[c]=null),de.event.triggered=h,r[h](),de.event.triggered=void 0,a&&(r[c]=a)),t.result}},simulate:function(e,t,n){var r=de.extend(new de.Event,n,{type:e,isSimulated:!0});de.event.trigger(r,null,t)}}),de.fn.extend({trigger:function(e,t){return this.each(function(){de.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return de.event.trigger(e,t,n,!0)}}),de.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){de.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),de.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),pe.focusin="onfocusin"in e,pe.focusin||de.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){de.event.simulate(t,e.target,de.event.fix(e))};de.event.special[t]={setup:function(){var r=this.ownerDocument||this,o=Fe.access(r,t);o||r.addEventListener(e,n,!0),Fe.access(r,t,(o||0)+1)},teardown:function(){var r=this.ownerDocument||this,o=Fe.access(r,t)-1;o?Fe.access(r,t,o):(r.removeEventListener(e,n,!0),Fe.remove(r,t))}}});var Ct=e.location,jt=de.now(),kt=/\?/;de.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||de.error("Invalid XML: "+t),n};var Et=/\[\]$/,St=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;de.param=function(e,t){var n,r=[],o=function(e,t){var n=de.isFunction(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(de.isArray(e)||e.jquery&&!de.isPlainObject(e))de.each(e,function(){o(this.name,this.value)});else for(n in e)V(n,e[n],t,o);return r.join("&")},de.fn.extend({serialize:function(){return de.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=de.prop(this,"elements");return e?de.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!de(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!ze.test(e))}).map(function(e,t){var n=de(this).val();return null==n?null:de.isArray(n)?de.map(n,function(e){return{name:t.name,value:e.replace(St,"\r\n")}}):{name:t.name,value:n.replace(St,"\r\n")}}).get()}});var qt=/%20/g,Dt=/#.*$/,Ot=/([?&])_=[^&]*/,Lt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ht=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ft=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Pt={},Mt="*/".concat("*"),$t=te.createElement("a");$t.href=Ct.href,de.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Ht.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Mt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":de.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Q(Q(e,de.ajaxSettings),t):Q(de.ajaxSettings,e)},ajaxPrefilter:G(It),ajaxTransport:G(Pt),ajax:function(t,n){function r(t,n,r,a){var c,p,h,b,w,T=n;l||(l=!0,u&&e.clearTimeout(u),o=void 0,s=a||"",C.readyState=t>0?4:0,c=t>=200&&t<300||304===t,r&&(b=J(d,C,r)),b=K(d,b,C,c),c?(d.ifModified&&(w=C.getResponseHeader("Last-Modified"),w&&(de.lastModified[i]=w),w=C.getResponseHeader("etag"),w&&(de.etag[i]=w)),204===t||"HEAD"===d.type?T="nocontent":304===t?T="notmodified":(T=b.state,p=b.data,h=b.error,c=!h)):(h=T,!t&&T||(T="error",t<0&&(t=0))),C.status=t,C.statusText=(n||T)+"",c?v.resolveWith(g,[p,T,C]):v.rejectWith(g,[C,T,h]),C.statusCode(x),x=void 0,f&&m.trigger(c?"ajaxSuccess":"ajaxError",[C,d,c?p:h]),y.fireWith(g,[C,T]),f&&(m.trigger("ajaxComplete",[C,d]),--de.active||de.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var o,i,s,a,u,c,l,f,p,h,d=de.ajaxSetup({},n),g=d.context||d,m=d.context&&(g.nodeType||g.jquery)?de(g):de.event,v=de.Deferred(),y=de.Callbacks("once memory"),x=d.statusCode||{},b={},w={},T="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=Lt.exec(s);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return l?s:null},setRequestHeader:function(e,t){return null==l&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)C.always(e[C.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||T;return o&&o.abort(t),r(0,t),this}};if(v.promise(C),d.url=((t||d.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(qe)||[""],null==d.crossDomain){c=te.createElement("a");try{c.href=d.url,c.href=c.href,d.crossDomain=$t.protocol+"//"+$t.host!=c.protocol+"//"+c.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=de.param(d.data,d.traditional)),Y(It,d,n,C),l)return C;f=de.event&&d.global,f&&0===de.active++&&de.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Ft.test(d.type),i=d.url.replace(Dt,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(qt,"+")):(h=d.url.slice(i.length),d.data&&(i+=(kt.test(i)?"&":"?")+d.data,delete d.data),d.cache===!1&&(i=i.replace(Ot,"$1"),h=(kt.test(i)?"&":"?")+"_="+jt++ +h),d.url=i+h),d.ifModified&&(de.lastModified[i]&&C.setRequestHeader("If-Modified-Since",de.lastModified[i]),de.etag[i]&&C.setRequestHeader("If-None-Match",de.etag[i])),(d.data&&d.hasContent&&d.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",d.contentType),C.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Mt+"; q=0.01":""):d.accepts["*"]);for(p in d.headers)C.setRequestHeader(p,d.headers[p]);if(d.beforeSend&&(d.beforeSend.call(g,C,d)===!1||l))return C.abort();if(T="abort",y.add(d.complete),C.done(d.success),C.fail(d.error),o=Y(Pt,d,n,C)){if(C.readyState=1,f&&m.trigger("ajaxSend",[C,d]),l)return C;d.async&&d.timeout>0&&(u=e.setTimeout(function(){C.abort("timeout")},d.timeout));try{l=!1,o.send(b,r)}catch(e){if(l)throw e;r(-1,e)}}else r(-1,"No Transport");return C},getJSON:function(e,t,n){return de.get(e,t,n,"json")},getScript:function(e,t){return de.get(e,void 0,t,"script")}}),de.each(["get","post"],function(e,t){de[t]=function(e,n,r,o){return de.isFunction(n)&&(o=o||r,r=n,n=void 0),de.ajax(de.extend({url:e,type:t,dataType:o,data:n,success:r},de.isPlainObject(e)&&e))}}),de._evalUrl=function(e){return de.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},de.fn.extend({wrapAll:function(e){var t;return this[0]&&(de.isFunction(e)&&(e=e.call(this[0])),t=de(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return de.isFunction(e)?this.each(function(t){de(this).wrapInner(e.call(this,t))}):this.each(function(){var t=de(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=de.isFunction(e);return this.each(function(n){de(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){de(this).replaceWith(this.childNodes)}),this}}),de.expr.pseudos.hidden=function(e){return!de.expr.pseudos.visible(e)},de.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},de.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Wt={0:200,1223:204},Bt=de.ajaxSettings.xhr();pe.cors=!!Bt&&"withCredentials"in Bt,pe.ajax=Bt=!!Bt,de.ajaxTransport(function(t){var n,r;if(pe.cors||Bt&&!t.crossDomain)return{send:function(o,i){var s,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(s in t.xhrFields)a[s]=t.xhrFields[s];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest");for(s in o)a.setRequestHeader(s,o[s]);n=function(e){return function(){n&&(n=r=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?i(0,"error"):i(a.status,a.statusText):i(Wt[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=n(),r=a.onerror=n("error"),void 0!==a.onabort?a.onabort=r:a.onreadystatechange=function(){4===a.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{a.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),de.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),de.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return de.globalEval(e),e}}}),de.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),de.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,o){t=de(" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/intro/idea.html b/intro/idea.html new file mode 100644 index 0000000..a9afd5b --- /dev/null +++ b/intro/idea.html @@ -0,0 +1,372 @@ + + + + + + + Ideja · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +
      + + + + + + + + +
      + +
      + +
      + + + + + + + + +
      +
      + +
      +
      + +
      + +

      Ideja

      +

      Danas veliki broj socijalnih mreža, kao i razni alati za komunikaciju, ograničavaju broj karaktera u poruci. Iz tog razloga je potrebno skratiti link,pa se tako rodila ideja za ovu aplikaciju.

      +

      Takođe ova implementacija ima jak marketinški potencijal, gde korisnik ima potpun uvid u to ko je posetio njegov link. Samim tim korisnik može da skrati i već "kratak" link kako bi imao mogućnost praćenja poseta preko njegovog skraćenog linka.

      + + +
      + +
      +
      +
      + +

      results matching ""

      +
        + +
        +
        + +

        No results matching ""

        + +
        +
        +
        + +
        +
        + +
        + + + + + + + + + + + + + + +
        + + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/intro/installation.html b/intro/installation.html new file mode 100644 index 0000000..4b5701d --- /dev/null +++ b/intro/installation.html @@ -0,0 +1,397 @@ + + + + + + + Instalacija · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        + + + + + + + + +
        + +
        + +
        + + + + + + + + +
        +
        + +
        +
        + +
        + +

        Instalacija

        +

        Pokretanje projekta je prilično jednostavno, zato što je upotrebljen Homestead koji koristi Vagrant za pravljenje virtuelne mašine. Više o Homestead-u na Laravelom sajtu.

        +

        Moguće je pokrenuti projekat na dva načina.

        +

        Prvi i jednostavniji način:

        +
          +
        1. Pokrenuti composer install.
        2. +
        3. Napraviti tabelu u bazi.
        4. +
        5. Napraviti kopiju .env.example fajla, promeniti mu ime u .env i podesiti vrednosti.
        6. +
        7. Pokrenuti php artisan migrate --seed, kako bi pokrenuli migraciju i popunjavanje tabela.
        8. +
        9. Pokrenuti php artisan key:generate kako bi generisali kripto ključeve.
        10. +
        11. Pokrenuti php artisan server kako bi podigli projekat.
        12. +
        13. Pristupiti projektu preko 127.0.0.1:8000.
        14. +
        +

        Takođe projekat je moguće pokrenuti preko virtuelne mašine:

        +
          +
        1. Pokrenuti composer install.
        2. +
        3. Napraviti kopiju .env.example fajla, i promeniti mu ime u .env.
        4. +
        5. Pokrenuti vendor\\bin\\homestead make , ovo će generisati Homestead instancu.
        6. +
        7. IzmenitiHomestead.yaml fajl, postaviti željeni URL projekta
        8. +
        9. Izmeniti hosts fajl operativnog sistema, tako da URL projekta pokazuje na 192.168.10.10.
        10. +
        11. Pokrenuti `vagrant up kako bi se pokrenula virtualna mašina.
        12. +
        13. Pokrenuti vagrant ssh kako bi pristupili mašini.
        14. +
        15. Pokrenuti cd /vagrant kako bi promenili direktorijum.
        16. +
        17. Pokrenuti php artisan key:generate.
        18. +
        19. Pokrenuti php artisan storage:link.
        20. +
        21. Pokrenuti php artisan migrate --seed, kako bi pokrenuli migraciju i popunjavanje tabela.
        22. +
        23. Pristupiti projektu preko podešenog URL-a.
        24. +
        + + +
        + +
        +
        +
        + +

        results matching ""

        +
          + +
          +
          + +

          No results matching ""

          + +
          +
          +
          + +
          +
          + +
          + + + + + + + + + + + + + + +
          + + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/intro/solution.html b/intro/solution.html new file mode 100644 index 0000000..4fb1635 --- /dev/null +++ b/intro/solution.html @@ -0,0 +1,448 @@ + + + + + + + Rešenje · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          + + + + + + + + +
          + +
          + +
          + + + + + + + + +
          +
          + +
          +
          + +
          + +

          Rešenje

          +

          Način na koji je problem rešen je prilično jednostavan. Uzme se originalan link i za njega se korisniku da neki heš, koji korisnik kasnije može da podeli. Otvaranjem heš linka korisnik će biti preusmeren (redirektovan) na originalan link.

          +

          tok generator

          +

          Link generator treba da ima što manje kolizija (istih vrednosti), takođe to NE treba da bude hash funkcija koja će za isti string da vrati isti heš, već za isti string treba da vrati uvek različiti heš.

          +

          Prilikom pisanja ovog generatora treba obratiti pažnju na brzinu generisanja stringa. Postoji više načina da se reši ovaj problem i oni su opisani u nastavku.

          +

          Spor i siguran način

          +

          Ovaj način koristi funkcije koje generišu kriptografski sigurne vrednosti (CSPRNG). Ovakva funkcija u PHP-u je random_int().

          +

          Random int ima drugačiju implementaciju na svakom operativnom sistemu i time pruža mogućnost da se iskoristi sistem za generisanje jedinstvenog broja.

          +

          Velika mana ove funkcije je što je vidljivo spora.

          +

          Brz i nesiguran način

          +

          Za razliku od random_int() funckije, rand() je dosta brža funkcija, ali nije kriptografski sigurna i u našem slučaju ima česta ponavljanja. Zato je potreban treći način.

          +

          Najbrži i siguran način

          +

          U trenutku pisanja, PHP verzija 7.2.6 ima tri CSPRNG funkcije, od kojih je jedna već prethodno pomenuta, i pokazala se kao spora, ali funkcija koja pokazuje bolje performanse od nje je random_bytes().

          +

          random_bytes() funkcija, takođe, ima zasebnu implementaciju za svaki operativni sistem, ali zbog toga što radi direktno sa bajtovima dosta je brža, pa čak i od rand().

          +

          **Napomena: Funkcija `random_bytes() dolazi uz PHP 7.0 pa na gore.

          +

          Statistika

          +

          Rezultati testiranja navedenih funkcija se nalaze u tabeli ispod.

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Ponavljanjarandom_bytesrand
          Korak 11.72739911079415.7265629768372
          Korak 21.82904005050665.5975389480591
          Korak 31.71883583068855.4669740200043
          Korak 41.80762100219735.666111946106
          Korak 51.7962450981145.5624511241913
          Korak 61.87545609474185.5897090435028
          Korak 71.68664789199835.5180299282074
          Korak 81.75767612457285.5145440101624
          Korak 91.72035002708445.5683920383453
          Korak 101.6826670169835.5527658462524
          +

          Broj heševa po koraku: 1 000 000

          + + +
          + +
          +
          +
          + +

          results matching ""

          +
            + +
            +
            + +

            No results matching ""

            + +
            +
            +
            + +
            +
            + +
            + + + + + + + + + + + + + + +
            + + +
            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/logging.html b/logging.html new file mode 100644 index 0000000..7ff2ccb --- /dev/null +++ b/logging.html @@ -0,0 +1,427 @@ + + + + + + + Logovanje · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            +
            + + + + + + + + +
            + +
            + +
            + + + + + + + + +
            +
            + +
            +
            + +
            + +

            Logovanje

            +

            Prilikom izrade veb aplikacije vrlo je važno pratiti potencijalne greške,a kako se ovde koristi Laravel okruženje, logavanje se vrši automatski za svaki vid greške.

            +

            Log fajl se nalazi u: storage\logs\laravel.log

            +

            Laravel je podešen da radi logovanje na više kanala:

            +
              +
            • Single - Njegov standardni log,
            • +
            • Slack
            • +
            +

            Slack

            +

            Slack je podešen da prijavljuje greške čiji je minimalni nivo važnosti critical.

            +

            Ovo je moguće promeniti u konfiguraciji za logovanje: config\logging.php

            +

            Trenutno kako je podešen slack je:

            +
            'slack' => [
            +    'driver' => 'slack',
            +    'url' => env('LOG_SLACK_WEBHOOK_URL'),
            +    'username' => 'LinkCutter Log',
            +    'emoji' => ':boom:',
            +    'level' => 'critical', // Minimalni nivo
            +],
            +
            +
            +

            Status greške je određen po RFC 5424 specifikaciji.

            +

            https://tools.ietf.org/html/rfc5424

            +

            Greške po važnosti:

            +
            Numerical         Severity
            +Code
            +
            +0       Emergency: system is unusable
            +1       Alert: action must be taken immediately
            +2       Critical: critical conditions
            +3       Error: error conditions
            +4       Warning: warning conditions
            +5       Notice: normal but significant condition
            +6       Informational: informational messages
            +7       Debug: debug-level messages
            +
            +

            Način na koji laravel obaveštava slack je pomoću webhook-a koji je podešen u Slack-u.

            +

            https://api.slack.com/incoming-webhooks

            +

            Kad se napravi hook potrebno je iskopirati URL do hook-a i dodati ga u .env fajlu kao LOG_SLACK_WEBHOOK_URL opcija.

            +

            Laravel logovanje

            +

            Način na koji možemo da logujemo grešku je preko Log fasade:

            +
            Log::emergency($message);
            +Log::alert($message);
            +Log::critical($message); // Odavde pa na gore se loguje u slack-u
            +Log::error($message);
            +Log::warning($message);
            +Log::notice($message);
            +Log::info($message);
            +Log::debug($message);
            +
            +

            Recimo da želimo da obavestimo administratora da neko želi da pristupi admin sistemu a za to nema odgovarajuće permisije. To je moguće uraditi u posredniku (middleware-u) koji proverava da li korisnik ima permisije i obaveštava administratora.

            +
            Log::critical('Someone tried to access the admin panel.', [
            +    'IP'        => $request->ip(),
            +    'Browser'   => $request->server('HTTP_USER_AGENT'),
            +    'Referer'  =>$request->server('HTTP_REFERER'),
            +]);
            +
            +

            Kako to izgleda kad administrator primi poruku:

            +

            Slack poruka

            +

            Sentry

            +

            Kao dodatni i profesinalniji način logovanja koristi se Sentry. Sentry obuhvata obradu izuzetaka koji se šalju Sentry-u na obradu.

            +

            Sentry

            +

            Svaka greška koja se desi, Sentry pretvara u task koji može da se dodeli nekom od članova tima. Na taj način svaki izuzetak biva rešen.

            +

            Obaveštenje se takođe šalje na mail.

            + + +
            + +
            +
            +
            + +

            results matching ""

            +
              + +
              +
              + +

              No results matching ""

              + +
              +
              +
              + +
              +
              + +
              + + + + + + + + + + +
              + + +
              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/package-lock.json b/package-lock.json index b4481cc..9962f7e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1442,9 +1442,9 @@ } }, "bootstrap": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.1.1.tgz", - "integrity": "sha512-SpiDSOcbg4J/PjVSt4ny5eY6j74VbVSjROY4Fb/WIUXBV9cnb5luyR4KnPvNoXuGnBK1T+nJIWqRsvU3yP8Mcg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.3.1.tgz", + "integrity": "sha512-rXqOmH1VilAt2DyPzluTi2blhk17bO7ef+zLLPlWvG494pDxcM234pJ8wTc/6R40UWizAIIMgxjvxZg5kmsbag==", "dev": true }, "brace-expansion": { diff --git a/package.json b/package.json index b9a792c..9e77847 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ }, "devDependencies": { "axios": "^0.18", - "bootstrap": "^4.0.0", + "bootstrap": "^4.3.1", "cross-env": "^5.1", "jquery": "^3.3.1", "laravel-mix": "^2.1.11", diff --git a/publish_docs.sh b/publish_docs.sh new file mode 100644 index 0000000..e49a398 --- /dev/null +++ b/publish_docs.sh @@ -0,0 +1,28 @@ +cd docs/ + +# install the plugins and build the static site +gitbook install && gitbook build + +cd ../ + +# checkout to the gh-pages branch +git checkout gh-pages + +# copy the static site files into the current directory. +cp -R docs/_book/* ./ + +# remove 'node_modules' and '_book' directory +git clean -fx node_modules +git clean -fx _book + +# add all files +git add . + +# commit +git commit -a -m "Update docs" + +# push to the origin +git push origin gh-pages + +# checkout to the master branch +git checkout master \ No newline at end of file diff --git a/search_index.json b/search_index.json new file mode 100644 index 0000000..5b5875d --- /dev/null +++ b/search_index.json @@ -0,0 +1 @@ +{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["5.6","7.2.6","bitno","es6","gledati","izrad","je","korišćeni","laravel","modernim","php","pregledačima.","prilikom","projekat","projekta","scss","sledec","su","tehnologij","tehnologije:","u","uvod","veb","vrlo"],"intro/idea.html":["\"kratak\"","alati","aplikaciju.","bi","broj","da","dana","gde","ideja","ima","imao","implementacija","iz","jak","je","kako","kao","karaktera","ko","komunikaciju,","korisnik","link","link,pa","link.","linka.","marketinški","mogućnost","može","mreža,","njegov","njegovog","ograničavaju","ova","ovu","poruci.","poseta","posetio","potencijal,","potpun","potrebno","praćenja","preko","razloga","razni","rodila","samim","se","skrati","skratiti","skraćenog","socijalnih","tako","takođ","tim","tog","u","uvid","veliki","već","za"],"intro/solution.html":["(csprng).","(istih","(redirektovan)","**napomena:","000","1","1.682667016983","1.6866478919983","1.7188358306885","1.7203500270844","1.7273991107941","1.7576761245728","1.796245098114","1.8076210021973","1.8290400505066","1.8754560947418","10","2","3","4","5","5.4669740200043","5.5145440101624","5.5180299282074","5.5527658462524","5.5624511241913","5.5683920383453","5.5897090435028","5.5975389480591","5.666111946106","5.7265629768372","6","7","7.0","7.2.6","8","9","`random_bytes()","ali","bajtovima","biti","bolj","broj","broja.","brz","brzinu","brža","brža,","bude","csprng","da","direktno","dolazi","dosta","drugačiju","funckije,","funkcij","funkcija","funkcija,","funkcije,","gener","generatora","generisanj","generisanja","generišu","gore.","hash","heš","heš,","heš.","heševa","ima","implementaciju","int","iskoristi","ispod.","isti","je","jedinstvenog","jedna","jednostavan.","kao","kasnij","koja","koje","koji","kojih","kolizija","korak","koraku:","korisnik","korisniku","koristi","kriptografski","link","link.","linka","mana","manj","mogućnost","može","na","najbrži","nalaz","nastavku.","navedenih","način","način.","načina","našem","ne","neki","nesiguran","nije","nje","njega","obrat","od","oni","operativni","operativnom","opisani","originalan","otvaranjem","ov","ovaj","ovakva","ovog","pa","pažnju","performans","php","pisanja","pisanja,","po","podeli.","pokazala","pokazuj","pomenuta,","ponavljanja","ponavljanja.","postoji","potreban","prethodno","preusmeren","prilikom","prilično","problem","pruža","radi","rand","rand()","rand().","random","random_byt","random_bytes()","random_bytes().","random_int()","random_int().","razliku","različ","rezultati","rešen","rešenj","reši","sa","se","siguran","sigurn","sigurna","sistem","sistem,","sistemu","slučaju","spor","spora,","spora.","statistika","string","stringa.","su","svaki","svakom","tabe","takođ","takođe,","testiranja","time","toga","treba","trenutku","treći","tri","u","uvek","uz","uzm","velika","verzija","već","vidljivo","više","vrati","vrednosti","vrednosti),","za","zasebnu","zato","zbog","će","čak","česta","što"],"intro/installation.html":[",",".env",".env.",".env.exampl","/vagrant","127.0.0.1:8000.","192.168.10.10.","`vagrant","a.","artisan","bazi.","bi","cd","compos","da","direktorijum.","dva","fajl","fajl,","fajla,","generisali","generisati","homestead","host","im","instalacija","install.","instancu.","izmen","izmenitihomestead.yaml","je","jednostavniji","jednostavno,","kako","key:gener","key:generate.","ključeve.","koji","kopiju","koristi","kripto","laravelom","make","mašina.","mašine.","mašine:","mašini.","migraciju","migrat","moguć","mu","na","naprav","način:","načina.","o","operativnog","ovo","php","podes","podešenog","podigli","pokazuj","pokrenula","pokrenuli","pokrenuti","pokretanj","popunjavanj","postav","pravljenj","preko","prilično","pristup","pristupili","projekat","projekat.","projekta","projektu","promen","promenili","prvi","sajtu.","se","seed,","server","sistema,","ssh","storage:link.","tabela.","tabelu","tako","takođ","u","up","upotrebljen","url","vagrant","vendor\\\\bin\\\\homestead","virtualna","virtueln","više","vrednosti.","za","zato","će","što","željeni"],"users.html":["admin","admin,","administr","ako","ali","bazi","biti","bitno","biće","da","dinamički","dobija","dok","druge","ga","generiš","gost","gost.","gosta,","gostu","heš","heš,","heš.","ili","ima","ist","iz","je","jedinstven","jedinstven.","jer","kada","kao","koje","koji","koji,","korisnici","korisnik","korisnik,","korisnika","korisnika.","koristinka:","li","link","linka","linka,","moguć","mogućnost","mora","može","na","nastavku","ne","ne,","neki","nema","nije","novi","od","odabere.","opcij","opcija","opisan","ovo","paketa,","panelu.","planova","pomoću","postojeći","postoji","postoji.","početnoj","pošalj","prati","praćenja","pretplati","pretplatu.","prijavi","prilikom","pristup","pristupi","projekat","provera","prošir","razloga","raznih","registrovani","sa","sadrži","sajtu","samo","se","skrati","skraćenog","skraćivanj","skraćivanja","slučaju","statistike,","statistiku","strane,","strani.","suprotnom","svaki","sve","taj","takođe,","teksta","tipova","tri","u","uradi","uz","već","vodi","vraća","vrste","za","zagarantovan","zahtev","što","želi","željeni"],"features.html":["'dashboardcontroller@index')","(middlewar","1.","2.","=>","['dashboard']],","a).","adres","ako","atributa","atributi.","bi","brisati","da","detektor","dinamički","dodatn","dodavati,","dolazi","dolazimo","eager","featur","featuremiddlewar","function()","gde","god","groupa","grupa.","grupe","heš","hešu.","https://laravel.com/docs/5.6/eloqu","ih","ili","ima","imati","inicijalnih","isto","iz","izvućemo","javlja","je","jedinstven","jedinstvenih","jedno","kad","kada","kako","koje","koji","kojima","kolekciju","kontrola","korisnik","korisnika","korisnika.","korisničkom","korišćenjem","kroz","laravelu,","li","linka","linka.","load","loading2","lokacij","lokacija","moguć","mogućnost","mogućnosti","mogućnosti.","mora","moći","n+11","na","nastaj","naziv","način","naš","ne.","neke","nekoj","neku","nema","neće","njegov","njegova","njegovi","od","određen","ogranič","ograničava","ograniči","onda","opcij","opcija","opciju","ovaj","ovd","panel","panelu.","po","pomoću","poset","poseta","posrednik","posrednik,","posrednika","pošto","prati","praćenj","preko","prenet","prenosi","pretplata","pretplate.","pretplatom","pretplatu,","prilikom","pristup","pristupa","pristupi","pristupljeno","prisupa","problem","problem,","problem.","projekat:","prover","provera","proveravamo","proveri","prođemo","relationships#eag","rešen","route::get('/dashboard',","route::group(['features'","ruta","ruta.","rutama","ruter","rutera.","ruteru.","sa","samo","se","slug","stalno","statistika","stavku","stvari.","su","svaku","sve","svi","svoje","svojom","ta","tako","tehnik","tu","u","unes","upita","uveden","uvid","uzimamo","vezana","vezivati","vpn","vratimo","vraća","vraćanja","vršila","za","zadužen","zahteva","zavisnosti","znači","{","});","će","čest","što","želi","želji.","↩"],"visits.html":["\"najbolje\"","(geografska","(jedinstven","(na","(preusmeravanje)","a.","adresa","adresa.","adrese)","adresom","ako","ali","aplikacij","aplikacija","atributima","bez","bogata","broj","da","dobija","dobić","dodatna","dolaz","dođe","došao","država.","dužina).","ga","gore","grad.","heš","hešu,","id","ideja","identifikacioni","interesanta","ip","jasnu","je","jedinstven","jedinstven.","jedinstvena","jedinstvena.","jedinstveni","jedinstvenih","jedinstvenosti","jedna","jest","kada","kako","kao","koja","koji","koju","kolačić","kolačić,","kolačića","kolačićima","korisnik","korisnik.","korisniku","koristi","koristi.","korsnik","li","link","link.","linka,","lokacija","mogućnost","mora","može","na","naravno","način","ne","nego","neki","nije","niti","od","odakl","odlučeno","odmah","određivanj","određivanja","onda","opisano.","osnovu","ovakav","ovim","ovom","pamti","pamćenja","paradoks,","poklapaju.","poklop","poset","poseta","poseta,","poseta?","poseti","posetili","posetio","posetioca","postoji","potrebno","prati","prati,","prati.","praćenj","praćenja","pre","preciznijim.","pregledačem","pretraživač","pretraživača,","pretraživača.","preusmeri","prilikom","prilično","pristupi","projekta","prover","provera","proveri","proverimo","prva","prvobitni","računa","rešenj","sa","sajta).","samo","se","sesij","sistem,","sledeć","sliku","slučaju","statistik","statistika","su","suprotnom","svaka","svaki","svakog","taj","tačna","tim","tip","tip,","tu","u","unikatno","uopšt","veb","verzija","već","vpn","vrednosti","vrednosti:","vrlo","za","znači","čini","čuvaju","širina","šta","što"],"subscription.html":["a.","administr","ako","bazi","biće","broj","cashier","da","dana,","dinamički","dobija","godina.","ili","ima","informacij","isteka","izaber","je","kada","karticama,","kartice,","koji","korisnik","korisniku","kraju","kreditnim","laravel","meseci","može","n","na","način","ne","nedelja,","neko","nema","novac","nudi","o","odmah","određeni","opcija.","opcijama.","opciju","opet","paket","plaćanja","potpuno","preko","pretpatu","pretplat","pretplata","pretplate,","pretplate.","pretplati","pristup","razloga","realizovan","realizovano","realizovano,","sa","se","sigurnosnih","skida","skinut","stipe","svaki","sve","svim","trajanj","traje","u","unet","već","za","zbog","čuvaju"],"logging.html":["$request","':boom:',","'browser'","'critical',","'driver'","'emoji'","'ip'","'level'","'linkcutt","'referer'","'slack'","'slack',","'url'","'username'","(middlewar",".env","//","0","1","2","3","4","5","5424","6","7","=>","=>$request",">ip(),",">server('http_referer'),",">server('http_user_agent'),","[","]);","],","access","action","admin","administr","administratora","administratora.","alert:","aplikacij","automatski","biva","code","condit","config\\logging.php","critic","critical.","critical:","da","debug","debug:","desi,","dodati","dodatni","dode","emergency:","env('log_slack_webhook_url'),","error","error:","fajl","fajlu","fasade:","ga","gore","grešk","greška","greške,a","greške.","grešku","hook","https://api.slack.com/incom","https://tools.ietf.org/html/rfc5424","ima","immedi","inform","informational:","iskopirati","izgleda","izrad","izuzetak","izuzetaka","je","je:","kad","kako","kanala:","kao","koja","koji","konfiguraciji","korisnik","koristi","laravel","level","li","log","log',","log,","log::alert($message);","log::critical($message);","log::critical('someon","log::debug($message);","log::emergency($message);","log::error($message);","log::info($message);","log::notice($message);","log::warning($message);","log_slack_webhook_url","logavanj","logovanj","logovanja","logovanje:","loguj","logujemo","mail.","messag","minimalni","moguć","može","možemo","na","nalazi","napravi","način","neko","nekom","nema","nivo","njegov","normal","notice:","numer","obavestimo","obaveštava","obaveštenj","obradu","obradu.","obuhvata","od","odavd","odgovarajuć","određen","okruženje,","opcija.","ovd","ovo","pa","panel.',","permisij","permisije.","po","podešen","pomoću","poruku:","posredniku","potencijaln","potrebno","pratiti","preko","pretvara","prijavljuj","prilikom","primi","pristupi","profesinalniji","promen","proverava","radi","recimo","rešen.","rfc","se","sentri","sentry.","sever","signific","singl","sistemu","slack","specifikaciji.","standardni","statu","storage\\logs\\laravel.log","svaka","svaki","system","taj","taken","takođ","task","tima.","trenutno","tri","u","u)","u.","u:","unus","urad","url","važno","važnosti","važnosti:","veb","vid","više","vrlo","vrši","warn","warning:","webhook","za","čiji","članova","šalj","šalju","želi","želimo"]},"length":9},"tokenStore":{"root":{"0":{"0":{"0":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}}},"docs":{}},"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"1":{"0":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"0":{"0":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"1":{"0":{"docs":{},".":{"1":{"0":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"6":{"8":{"2":{"6":{"6":{"7":{"0":{"1":{"6":{"9":{"8":{"3":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"6":{"6":{"4":{"7":{"8":{"9":{"1":{"9":{"9":{"8":{"3":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"1":{"8":{"8":{"3":{"5":{"8":{"3":{"0":{"6":{"8":{"8":{"5":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"2":{"0":{"3":{"5":{"0":{"0":{"2":{"7":{"0":{"8":{"4":{"4":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"3":{"9":{"9":{"1":{"1":{"0":{"7":{"9":{"4":{"1":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"5":{"7":{"6":{"7":{"6":{"1":{"2":{"4":{"5":{"7":{"2":{"8":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"9":{"6":{"2":{"4":{"5":{"0":{"9":{"8":{"1":{"1":{"4":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"8":{"0":{"7":{"6":{"2":{"1":{"0":{"0":{"2":{"1":{"9":{"7":{"3":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"2":{"9":{"0":{"4":{"0":{"0":{"5":{"0":{"5":{"0":{"6":{"6":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"7":{"5":{"4":{"5":{"6":{"0":{"9":{"4":{"7":{"4":{"1":{"8":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"2":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"3":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"4":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"5":{"4":{"2":{"4":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"docs":{}},"docs":{}},"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"4":{"6":{"6":{"9":{"7":{"4":{"0":{"2":{"0":{"0":{"0":{"4":{"3":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"5":{"1":{"4":{"5":{"4":{"4":{"0":{"1":{"0":{"1":{"6":{"2":{"4":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"8":{"0":{"2":{"9":{"9":{"2":{"8":{"2":{"0":{"7":{"4":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"5":{"2":{"7":{"6":{"5":{"8":{"4":{"6":{"2":{"5":{"2":{"4":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"6":{"2":{"4":{"5":{"1":{"1":{"2":{"4":{"1":{"9":{"1":{"3":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"8":{"3":{"9":{"2":{"0":{"3":{"8":{"3":{"4":{"5":{"3":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"8":{"9":{"7":{"0":{"9":{"0":{"4":{"3":{"5":{"0":{"2":{"8":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"9":{"7":{"5":{"3":{"8":{"9":{"4":{"8":{"0":{"5":{"9":{"1":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"6":{"6":{"6":{"1":{"1":{"1":{"9":{"4":{"6":{"1":{"0":{"6":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{"./":{"ref":"./","tf":0.043478260869565216}}},"7":{"2":{"6":{"5":{"6":{"2":{"9":{"7":{"6":{"8":{"3":{"7":{"2":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"6":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"7":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"0":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"2":{"docs":{},".":{"6":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{}}},"docs":{}}},"8":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"9":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"docs":{},"b":{"docs":{},"i":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/installation.html":{"ref":"intro/installation.html","tf":0.03888888888888889},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"users.html":{"ref":"users.html","tf":0.0053475935828877}}}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877}}}},"ć":{"docs":{},"e":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"v":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.029850746268656716},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"a":{"docs":{},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"z":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"ž":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"a":{"docs":{},"j":{"docs":{},"t":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}},"z":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}},"o":{"docs":{},"l":{"docs":{},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"u":{"docs":{},"d":{"docs":{},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"e":{"docs":{},"z":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"e":{"docs":{},"s":{"6":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}},"docs":{}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}},"n":{"docs":{},"v":{"docs":{},"(":{"docs":{},"'":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"_":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}}}}}}},"d":{"docs":{},"e":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"features.html":{"ref":"features.html","tf":0.006993006993006993}}}},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"l":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"t":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}},"š":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"s":{"docs":{},"t":{"docs":{"users.html":{"ref":"users.html","tf":0.026737967914438502}},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"a":{"docs":{},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}},"u":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},"d":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},".":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"u":{"docs":{},"p":{"docs":{},"a":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"e":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993}}}}},"a":{"docs":{},"d":{"docs":{},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"e":{"docs":{},"š":{"docs":{},"k":{"docs":{"logging.html":{"ref":"logging.html","tf":0.009404388714733543}},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"e":{"docs":{},",":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"u":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"i":{"docs":{},"z":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"y":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"u":{"docs":{},"ć":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"u":{"docs":{},"z":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"k":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"d":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}},"e":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":10.029850746268657},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"k":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}}}}}}},"m":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.029850746268656716},"intro/solution.html":{"ref":"intro/solution.html","tf":0.01644736842105263},"users.html":{"ref":"users.html","tf":0.03208556149732621},"features.html":{"ref":"features.html","tf":0.02097902097902098},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}},"t":{"docs":{},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"n":{"docs":{},"t":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":10.005555555555556}}}}}}},"l":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}},"n":{"docs":{},"c":{"docs":{},"u":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{},"l":{"docs":{},"n":{"docs":{},"i":{"docs":{},"h":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"d":{"docs":{},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"t":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.009868421052631578}}},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"e":{"docs":{},"k":{"docs":{},"a":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}},"l":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"h":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"p":{"docs":{"visits.html":{"ref":"visits.html","tf":0.017543859649122806}}}},"j":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/idea.html":{"ref":"intro/idea.html","tf":0.029850746268656716},"intro/solution.html":{"ref":"intro/solution.html","tf":0.03289473684210526},"intro/installation.html":{"ref":"intro/installation.html","tf":0.022222222222222223},"users.html":{"ref":"users.html","tf":0.016042780748663103},"features.html":{"ref":"features.html","tf":0.03146853146853147},"visits.html":{"ref":"visits.html","tf":0.0456140350877193},"subscription.html":{"ref":"subscription.html","tf":0.04395604395604396},"logging.html":{"ref":"logging.html","tf":0.03761755485893417}},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"o":{"docs":{},"g":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"h":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"n":{"docs":{},"i":{"docs":{},"j":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}},"o":{"docs":{},",":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}}}}},"r":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"s":{"docs":{},"t":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"a":{"docs":{},"k":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}},"v":{"docs":{},"l":{"docs":{},"j":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"s":{"docs":{},"n":{"docs":{},"u":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"k":{"docs":{},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}},"r":{"docs":{},"i":{"docs":{},"š":{"docs":{},"ć":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}},"j":{"docs":{},"e":{"docs":{},"m":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993}}}}}}}}},"s":{"docs":{},"n":{"docs":{},"i":{"docs":{},"k":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.029850746268656716},"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"users.html":{"ref":"users.html","tf":0.03208556149732621},"features.html":{"ref":"features.html","tf":0.02097902097902098},"visits.html":{"ref":"visits.html","tf":0.021052631578947368},"subscription.html":{"ref":"subscription.html","tf":0.03296703296703297},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.006993006993006993}},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"c":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":10.005347593582888}}}},"č":{"docs":{},"k":{"docs":{},"o":{"docs":{},"m":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"t":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"logging.html":{"ref":"logging.html","tf":0.006269592476489028}},"n":{"docs":{},"k":{"docs":{},"a":{"docs":{},":":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"a":{"docs":{},"k":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.03289473684210526}},"u":{"docs":{},":":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"s":{"docs":{},"n":{"docs":{},"i":{"docs":{},"k":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"m":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"k":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"u":{"docs":{},",":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.017482517482517484}}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.01048951048951049},"visits.html":{"ref":"visits.html","tf":0.010526315789473684},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.018808777429467086}},"h":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"m":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"u":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"e":{"docs":{},"k":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"u":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993}}}}}}}},"a":{"docs":{},"č":{"docs":{},"i":{"docs":{},"ć":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},",":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"j":{"docs":{},"u":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}},"a":{"docs":{},"k":{"docs":{},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/installation.html":{"ref":"intro/installation.html","tf":0.03888888888888889},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"logging.html":{"ref":"logging.html","tf":0.009404388714733543}}}},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.016042780748663103},"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}},"r":{"docs":{},"a":{"docs":{},"k":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"m":{"docs":{},"a":{"docs":{},",":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"e":{"docs":{},",":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}},"s":{"docs":{},"n":{"docs":{},"i":{"docs":{},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"d":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"logging.html":{"ref":"logging.html","tf":0.006269592476489028}},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"f":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}}}}}}}}}}}}},"o":{"docs":{},"z":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"a":{"docs":{},"j":{"docs":{},"u":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}}}},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}}}}}}},"l":{"docs":{},"j":{"docs":{},"u":{"docs":{},"č":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.012539184952978056}},"o":{"docs":{},"m":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"u":{"docs":{},",":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.017482517482517484},"visits.html":{"ref":"visits.html","tf":0.017543859649122806},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"n":{"docs":{},"k":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"users.html":{"ref":"users.html","tf":0.026737967914438502},"visits.html":{"ref":"visits.html","tf":0.017543859649122806}},",":{"docs":{},"p":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}},".":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.010526315789473684}}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},".":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"i":{"docs":{},"n":{"docs":{},"g":{"2":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"docs":{}}}}}},"k":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}}}}}}},"g":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}},"'":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},":":{"docs":{},":":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},"'":{"docs":{},"s":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"n":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"$":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":10.009404388714733}},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"e":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},"u":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}}}}}}},"g":{"docs":{},"u":{"docs":{},"ć":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112},"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"logging.html":{"ref":"logging.html","tf":0.006269592476489028}},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0213903743315508},"features.html":{"ref":"features.html","tf":0.01048951048951049},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}},"i":{"docs":{"features.html":{"ref":"features.html","tf":10.027972027972028}},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}},"ž":{"docs":{},"e":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"m":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"r":{"docs":{},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.006993006993006993},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"ć":{"docs":{},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"š":{"docs":{},"k":{"docs":{},"i":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"k":{"docs":{},"e":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"š":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"e":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}},":":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"i":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}},"i":{"docs":{},"l":{"docs":{},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"r":{"docs":{},"e":{"docs":{},"ž":{"docs":{},"a":{"docs":{},",":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}}},"i":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"u":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}}},"t":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}}},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"n":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}}}}}}}},"u":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}}}}}},"p":{"docs":{},"h":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/solution.html":{"ref":"intro/solution.html","tf":0.009868421052631578},"intro/installation.html":{"ref":"intro/installation.html","tf":0.03333333333333333}}}},"r":{"docs":{},"e":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"č":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}}}}},"e":{"docs":{},"m":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}},"k":{"docs":{},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/installation.html":{"ref":"intro/installation.html","tf":0.016666666666666666},"features.html":{"ref":"features.html","tf":0.006993006993006993},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"n":{"docs":{},"o":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.02197802197802198}},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}},"u":{"docs":{},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},",":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"subscription.html":{"ref":"subscription.html","tf":10.021978021978022}}},"e":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.01048951048951049},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}},",":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"o":{"docs":{},"m":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"r":{"docs":{},"a":{"docs":{},"ž":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"č":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"a":{"docs":{},",":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"u":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"c":{"docs":{},"i":{"docs":{},"z":{"docs":{},"n":{"docs":{},"i":{"docs":{},"j":{"docs":{},"i":{"docs":{},"m":{"docs":{},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"k":{"docs":{},"o":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.006993006993006993},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"č":{"docs":{},"n":{"docs":{},"o":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112},"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.006993006993006993},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"l":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"l":{"docs":{},"j":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"l":{"docs":{},"j":{"docs":{},"u":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},"m":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"k":{"docs":{},"a":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112},"users.html":{"ref":"users.html","tf":0.0053475935828877}},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}},":":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"t":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/installation.html":{"ref":"intro/installation.html","tf":0.016666666666666666},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"u":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}}}},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"features.html":{"ref":"features.html","tf":0.01048951048951049}},",":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}},"v":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"m":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"m":{"docs":{},"o":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"š":{"docs":{},"i":{"docs":{},"r":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},"đ":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"f":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"n":{"docs":{},"i":{"docs":{},"j":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}},"a":{"docs":{},"ć":{"docs":{},"e":{"docs":{},"n":{"docs":{},"j":{"docs":{"features.html":{"ref":"features.html","tf":0.013986013986013986},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"v":{"docs":{},"l":{"docs":{},"j":{"docs":{},"e":{"docs":{},"n":{"docs":{},"j":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}},"t":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}},",":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"t":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"u":{"docs":{},"ž":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"v":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"o":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"n":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}}}}}}}}},"o":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"logging.html":{"ref":"logging.html","tf":0.006269592476489028}},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"i":{"docs":{},".":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}},"k":{"docs":{},"u":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":10.007017543859648}},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.010526315789473684}},",":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"?":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}},"c":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"l":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"t":{"docs":{},"o":{"docs":{},"j":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.014035087719298246}},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754}}}},"e":{"docs":{},"ć":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}},"a":{"docs":{},"v":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"n":{"docs":{},"i":{"docs":{},"k":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},",":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"u":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}},"n":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"n":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}},"o":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"n":{"docs":{},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"a":{"docs":{},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"s":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}},"š":{"docs":{},"e":{"docs":{},"n":{"docs":{"logging.html":{"ref":"logging.html","tf":0.012539184952978056}},"o":{"docs":{},"g":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}},"i":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}},"k":{"docs":{},"a":{"docs":{},"z":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"u":{"docs":{},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}},"t":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.07777777777777778}}}}}},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"j":{"docs":{},"u":{"docs":{},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"o":{"docs":{},"p":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}},"o":{"docs":{},"ć":{"docs":{},"u":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.006993006993006993},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"l":{"docs":{},"j":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"n":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}}}}}}}},"č":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{},"j":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}}},"š":{"docs":{},"a":{"docs":{},"l":{"docs":{},"j":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},"t":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"ž":{"docs":{},"n":{"docs":{},"j":{"docs":{},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"a":{"docs":{},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993}},"u":{"docs":{},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.006993006993006993}}}},".":{"docs":{},"'":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"m":{"docs":{},"t":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"ć":{"docs":{},"e":{"docs":{},"n":{"docs":{},"j":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"k":{"docs":{},"s":{"docs":{},",":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"i":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"e":{"docs":{},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}},"ć":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{},"a":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}}}},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}},"ć":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},"u":{"docs":{},"č":{"docs":{},"a":{"docs":{},"j":{"docs":{},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},"g":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"i":{"docs":{},"k":{"docs":{},"u":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"logging.html":{"ref":"logging.html","tf":0.0219435736677116}}}}}},"u":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"features.html":{"ref":"features.html","tf":0.006993006993006993},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{},"m":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.01048951048951049},"visits.html":{"ref":"visits.html","tf":0.010526315789473684},"subscription.html":{"ref":"subscription.html","tf":0.02197802197802198}},"m":{"docs":{},"i":{"docs":{},"m":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}},"o":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"j":{"docs":{},"t":{"docs":{},"u":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"a":{"docs":{},")":{"docs":{},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"d":{"docs":{},"r":{"docs":{},"ž":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}},"e":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.019736842105263157},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"users.html":{"ref":"users.html","tf":0.026737967914438502},"features.html":{"ref":"features.html","tf":0.038461538461538464},"visits.html":{"ref":"visits.html","tf":0.05263157894736842},"subscription.html":{"ref":"subscription.html","tf":0.03296703296703297},"logging.html":{"ref":"logging.html","tf":0.03134796238244514}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}},"s":{"docs":{},"i":{"docs":{},"j":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.012539184952978056}}},"y":{"docs":{},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"k":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"users.html":{"ref":"users.html","tf":0.0106951871657754}},"t":{"docs":{},"i":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}},"ć":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"g":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"n":{"docs":{},"u":{"docs":{},"t":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{},"l":{"docs":{},"n":{"docs":{},"i":{"docs":{},"h":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}}}},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"o":{"docs":{},"s":{"docs":{},"n":{"docs":{},"i":{"docs":{},"h":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"c":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"a":{"docs":{},",":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"a":{"docs":{},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"k":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{},"i":{"docs":{},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"k":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"e":{"docs":{},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}},"u":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}}},"u":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"l":{"docs":{},"n":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"v":{"docs":{},"k":{"docs":{},"u":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"n":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}},"a":{"docs":{},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}},"i":{"docs":{},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}},"\\":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"s":{"docs":{},"\\":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"i":{"docs":{},"p":{"docs":{},"e":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"v":{"docs":{},"a":{"docs":{},"k":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0106951871657754},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}},"o":{"docs":{},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"g":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}}},"u":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"e":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.006993006993006993},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"m":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"o":{"docs":{},"m":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"s":{"docs":{},"h":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"t":{"docs":{},"e":{"docs":{},"h":{"docs":{},"n":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"j":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.043478260869565216}}}}}}}}}},"i":{"docs":{},"k":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}},"k":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"k":{"docs":{},"o":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"đ":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"e":{"docs":{},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}},"e":{"docs":{},"n":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"b":{"docs":{},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"l":{"docs":{},"a":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}},"u":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}},"j":{"docs":{"users.html":{"ref":"users.html","tf":0.016042780748663103},"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"č":{"docs":{},"n":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"s":{"docs":{},"k":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"i":{"docs":{},"m":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"a":{"docs":{},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"p":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},",":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"o":{"docs":{},"g":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.013157894736842105}}}},"n":{"docs":{},"u":{"docs":{},"t":{"docs":{},"k":{"docs":{},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"n":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"ć":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"e":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"u":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"u":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"intro/idea.html":{"ref":"intro/idea.html","tf":0.029850746268656716},"intro/solution.html":{"ref":"intro/solution.html","tf":0.019736842105263157},"intro/installation.html":{"ref":"intro/installation.html","tf":0.022222222222222223},"users.html":{"ref":"users.html","tf":0.0213903743315508},"features.html":{"ref":"features.html","tf":0.013986013986013986},"visits.html":{"ref":"visits.html","tf":0.010526315789473684},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.025078369905956112}},"v":{"docs":{},"o":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":10}}}},"i":{"docs":{},"d":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"e":{"docs":{},"k":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"z":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0053475935828877}},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"m":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"p":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}},"o":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"l":{"docs":{},"j":{"docs":{},"e":{"docs":{},"n":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"r":{"docs":{},"l":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.016666666666666666},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"a":{"docs":{},"d":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}},"n":{"docs":{},"e":{"docs":{},"s":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"t":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"i":{"docs":{},"k":{"docs":{},"a":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"u":{"docs":{},"s":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"o":{"docs":{},"p":{"docs":{},"š":{"docs":{},"t":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},")":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"v":{"docs":{},"e":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"visits.html":{"ref":"visits.html","tf":0.014035087719298246},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"l":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"ć":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.010526315789473684},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}},"r":{"docs":{},"z":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\\":{"docs":{},"\\":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"\\":{"docs":{},"\\":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.043478260869565216},"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}},"m":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"ć":{"docs":{},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"n":{"docs":{},"j":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"e":{"docs":{},"d":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},")":{"docs":{},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}},":":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},"š":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"l":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"i":{"docs":{},"d":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"l":{"docs":{},"j":{"docs":{},"i":{"docs":{},"v":{"docs":{},"o":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}},"š":{"docs":{},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"r":{"docs":{},"t":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"n":{"docs":{},"a":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}}}},"ž":{"docs":{},"n":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},"p":{"docs":{},"n":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"\"":{"docs":{},"k":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"k":{"docs":{},"\"":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"j":{"docs":{},"b":{"docs":{},"o":{"docs":{},"l":{"docs":{},"j":{"docs":{},"e":{"docs":{},"\"":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.009868421052631578},"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"k":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"u":{"docs":{},".":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.03333333333333333}}}}}}}},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"logging.html":{"ref":"logging.html","tf":0.006269592476489028}},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"e":{"docs":{},")":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"o":{"docs":{},"m":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"k":{"docs":{},"o":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.006993006993006993},"visits.html":{"ref":"visits.html","tf":0.017543859649122806},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},")":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993}}},"i":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"m":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"intro/solution.html":{"ref":"intro/solution.html","tf":0.02631578947368421},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"users.html":{"ref":"users.html","tf":0.0374331550802139},"features.html":{"ref":"features.html","tf":0.038461538461538464},"visits.html":{"ref":"visits.html","tf":0.04912280701754386},"subscription.html":{"ref":"subscription.html","tf":0.02197802197802198},"logging.html":{"ref":"logging.html","tf":0.02821316614420063}},"n":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}},",":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"k":{"docs":{},"t":{"docs":{},"n":{"docs":{},"o":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"j":{"docs":{},"u":{"docs":{},"m":{"docs":{},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"č":{"docs":{},"k":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"z":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"m":{"docs":{},"o":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}}}}},"b":{"docs":{},"i":{"docs":{},"j":{"docs":{},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"ć":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"k":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"n":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},",":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"e":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"đ":{"docs":{},"e":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"š":{"docs":{},"a":{"docs":{},"o":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},"r":{"docs":{},"u":{"docs":{},"g":{"docs":{},"a":{"docs":{},"č":{"docs":{},"i":{"docs":{},"j":{"docs":{},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"e":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},"ž":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"v":{"docs":{},"a":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"k":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"s":{"docs":{},"i":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"u":{"docs":{},"ž":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},")":{"docs":{},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}},"n":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"j":{"docs":{},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"g":{"docs":{},"o":{"docs":{},"v":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"o":{"docs":{},"g":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.01644736842105263},"intro/installation.html":{"ref":"intro/installation.html","tf":0.016666666666666666},"users.html":{"ref":"users.html","tf":0.016042780748663103},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.007017543859649123},"subscription.html":{"ref":"subscription.html","tf":0.02197802197802198},"logging.html":{"ref":"logging.html","tf":0.0219435736677116}},"j":{"docs":{},"b":{"docs":{},"r":{"docs":{},"ž":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"l":{"docs":{},"a":{"docs":{},"z":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"v":{"docs":{},"k":{"docs":{},"u":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"j":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{},"h":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}},"č":{"docs":{},"i":{"docs":{},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.01644736842105263},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.02197802197802198},"logging.html":{"ref":"logging.html","tf":0.012539184952978056}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},":":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}},"š":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"e":{"docs":{},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"p":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.016666666666666666}},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"z":{"docs":{},"i":{"docs":{},"v":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"n":{"docs":{},"o":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.016042780748663103},"visits.html":{"ref":"visits.html","tf":0.010526315789473684},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"k":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0106951871657754},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},"e":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"o":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"j":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"m":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"u":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}},",":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"m":{"docs":{},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"ć":{"docs":{},"e":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"g":{"docs":{},"o":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"j":{"docs":{},"a":{"docs":{},",":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}}},"i":{"docs":{},"j":{"docs":{},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0106951871657754},"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}}},"t":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"v":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}}},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}},"a":{"docs":{},"c":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.02197802197802198}}}}},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"+":{"1":{"1":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"docs":{}},"docs":{}},"u":{"docs":{},"d":{"docs":{},"i":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"o":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"č":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"j":{"docs":{},"u":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}}},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}},"v":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"features.html":{"ref":"features.html","tf":0.006993006993006993}}},"k":{"docs":{},"v":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"a":{"docs":{},"v":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},"u":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}},"o":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"users.html":{"ref":"users.html","tf":0.0053475935828877},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"g":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"m":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"d":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"i":{"docs":{},"m":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"d":{"docs":{},"u":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"š":{"docs":{},"t":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}}},"e":{"docs":{},"n":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"u":{"docs":{},"h":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},"d":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.013157894736842105},"users.html":{"ref":"users.html","tf":0.016042780748663103},"features.html":{"ref":"features.html","tf":0.013986013986013986},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}},"k":{"docs":{},"l":{"docs":{"visits.html":{"ref":"visits.html","tf":0.007017543859649123}}}},"v":{"docs":{},"d":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"r":{"docs":{},"e":{"docs":{},"đ":{"docs":{},"e":{"docs":{},"n":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"i":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"č":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"m":{"docs":{},"a":{"docs":{},"h":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"g":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"j":{"docs":{},"u":{"docs":{},"ć":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"d":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"n":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"o":{"docs":{},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"g":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}}},"t":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"n":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}},"o":{"docs":{},".":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.01048951048951049}},"a":{"docs":{"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.006993006993006993}},".":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"m":{"docs":{},"a":{"docs":{},".":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}},"u":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}}}}}}}}}}},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{},"e":{"docs":{},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}}},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"v":{"docs":{},"u":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"k":{"docs":{},"r":{"docs":{},"u":{"docs":{},"ž":{"docs":{},"e":{"docs":{},"n":{"docs":{},"j":{"docs":{},"e":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"z":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358},"users.html":{"ref":"users.html","tf":0.0053475935828877},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"i":{"docs":{},"k":{"docs":{},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"č":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"n":{"docs":{},"i":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}},"h":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}},"d":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"n":{"docs":{},"d":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"(":{"docs":{},")":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"o":{"docs":{},"m":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}}}}},"č":{"docs":{},"u":{"docs":{},"n":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.014925373134328358}}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{},":":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"/":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"'":{"docs":{},",":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"(":{"docs":{},"[":{"docs":{},"'":{"docs":{},"f":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"'":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"z":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}},"š":{"docs":{},"e":{"docs":{},"n":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"features.html":{"ref":"features.html","tf":0.006993006993006993}},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":10.00328947368421},"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"i":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"p":{"docs":{},"s":{"docs":{},"#":{"docs":{},"e":{"docs":{},"a":{"docs":{},"g":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},"o":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}},",":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}}}}}},"c":{"docs":{},"i":{"docs":{},"m":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"m":{"docs":{},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"e":{"docs":{},"r":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"a":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"u":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}},"f":{"docs":{},"c":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"z":{"docs":{},"a":{"docs":{"intro/idea.html":{"ref":"intro/idea.html","tf":0.029850746268656716},"intro/solution.html":{"ref":"intro/solution.html","tf":0.019736842105263157},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.013986013986013986},"visits.html":{"ref":"visits.html","tf":0.010526315789473684},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099},"logging.html":{"ref":"logging.html","tf":0.009404388714733543}},"s":{"docs":{},"e":{"docs":{},"b":{"docs":{},"n":{"docs":{},"u":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"t":{"docs":{},"o":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"g":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"e":{"docs":{},"v":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877}},"a":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"d":{"docs":{},"u":{"docs":{},"ž":{"docs":{},"e":{"docs":{},"n":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"n":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"g":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}},"n":{"docs":{},"a":{"docs":{},"č":{"docs":{},"i":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.010526315789473684}}}}}}},"(":{"docs":{},"c":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"h":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"k":{"docs":{},"t":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},")":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"f":{"docs":{},"s":{"docs":{},"k":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}}},"j":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"u":{"docs":{},"s":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"j":{"docs":{},"e":{"docs":{},")":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}}}}}}}}}}}}},"*":{"docs":{},"*":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},":":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}}}}},"`":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"_":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}}},"c":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"n":{"docs":{},"g":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"d":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}}},"d":{"docs":{},"e":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"logging.html":{"ref":"logging.html","tf":0.012539184952978056}}}}},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"\\":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"p":{"docs":{},"h":{"docs":{},"p":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}}},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"a":{"docs":{},"l":{"docs":{},".":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{},"j":{"docs":{},"e":{"docs":{},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}},"k":{"docs":{},"c":{"docs":{},"i":{"docs":{},"j":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.01644736842105263}},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052}}}},"e":{"docs":{},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}}}}}},"a":{"docs":{},"j":{"docs":{},"l":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},",":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}},"a":{"docs":{},",":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}},"u":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"s":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"e":{"docs":{},"š":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0106951871657754},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.010526315789473684}},",":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"users.html":{"ref":"users.html","tf":0.0053475935828877}}},".":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526},"users.html":{"ref":"users.html","tf":0.0106951871657754}}},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}},"u":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},",":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.016666666666666666}}}}}}}}},"s":{"docs":{},"t":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}},"o":{"docs":{},"k":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"5":{"docs":{},".":{"6":{"docs":{},"/":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"q":{"docs":{},"u":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},".":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"/":{"docs":{},"r":{"docs":{},"f":{"docs":{},"c":{"5":{"4":{"2":{"4":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"ć":{"docs":{},"e":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.006578947368421052},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}},"č":{"docs":{},"a":{"docs":{},"k":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}},"a":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.003289473684210526}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"j":{"docs":{},"i":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"u":{"docs":{},"v":{"docs":{},"a":{"docs":{},"j":{"docs":{},"u":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615},"subscription.html":{"ref":"subscription.html","tf":0.01098901098901099}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"o":{"docs":{},"v":{"docs":{},"a":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},"š":{"docs":{},"t":{"docs":{},"o":{"docs":{"intro/solution.html":{"ref":"intro/solution.html","tf":0.009868421052631578},"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"visits.html":{"ref":"visits.html","tf":0.014035087719298246}}},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}},"i":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{"visits.html":{"ref":"visits.html","tf":0.0035087719298245615}}}}}}},"a":{"docs":{},"l":{"docs":{},"j":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"u":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},",":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},".":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.011111111111111112}}}}}}}}}}}}},"/":{"docs":{},"v":{"docs":{},"a":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556}}}}}}}}},"/":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}},"ž":{"docs":{},"e":{"docs":{},"l":{"docs":{},"j":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{"intro/installation.html":{"ref":"intro/installation.html","tf":0.005555555555555556},"users.html":{"ref":"users.html","tf":0.0053475935828877}}}}},"i":{"docs":{},".":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"i":{"docs":{"users.html":{"ref":"users.html","tf":0.0053475935828877},"features.html":{"ref":"features.html","tf":0.0034965034965034965},"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"m":{"docs":{},"o":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"'":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"@":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"'":{"docs":{},")":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},":":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"m":{"docs":{},":":{"docs":{},"'":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"b":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"'":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"j":{"docs":{},"i":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}},"i":{"docs":{},"p":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"'":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},"=":{"docs":{},">":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965},"logging.html":{"ref":"logging.html","tf":0.025078369905956112}},"$":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},"[":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}},"'":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"'":{"docs":{},"]":{"docs":{},"]":{"docs":{},",":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}}}}}}}}}}}}}},"{":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}},"}":{"docs":{},")":{"docs":{},";":{"docs":{"features.html":{"ref":"features.html","tf":0.0034965034965034965}}}}},"↩":{"docs":{"features.html":{"ref":"features.html","tf":0.006993006993006993}}},"$":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}}}}}}}},">":{"docs":{},"i":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"'":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"'":{"docs":{},")":{"docs":{},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"]":{"docs":{},")":{"docs":{},";":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},",":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{"logging.html":{"ref":"logging.html","tf":0.003134796238244514}}}}}}}}},"e":{"docs":{},"b":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"logging.html":{"ref":"logging.html","tf":0.006269592476489028}}}}}}}}}},"length":1180},"corpusTokens":["\"kratak\"","\"najbolje\"","$request","':boom:',","'browser'","'critical',","'dashboardcontroller@index')","'driver'","'emoji'","'ip'","'level'","'linkcutt","'referer'","'slack'","'slack',","'url'","'username'","(csprng).","(geografska","(istih","(jedinstven","(middlewar","(na","(preusmeravanje)","(redirektovan)","**napomena:",",",".env",".env.",".env.exampl","//","/vagrant","0","000","1","1.","1.682667016983","1.6866478919983","1.7188358306885","1.7203500270844","1.7273991107941","1.7576761245728","1.796245098114","1.8076210021973","1.8290400505066","1.8754560947418","10","127.0.0.1:8000.","192.168.10.10.","2","2.","3","4","5","5.4669740200043","5.5145440101624","5.5180299282074","5.5527658462524","5.5624511241913","5.5683920383453","5.5897090435028","5.5975389480591","5.6","5.666111946106","5.7265629768372","5424","6","7","7.0","7.2.6","8","9","=>","=>$request",">ip(),",">server('http_referer'),",">server('http_user_agent'),","[","['dashboard']],","]);","],","`random_bytes()","`vagrant","a).","a.","access","action","admin","admin,","administr","administratora","administratora.","adres","adresa","adresa.","adrese)","adresom","ako","alati","alert:","ali","aplikacij","aplikacija","aplikaciju.","artisan","atributa","atributi.","atributima","automatski","bajtovima","bazi","bazi.","bez","bi","biti","bitno","biva","biće","bogata","bolj","brisati","broj","broja.","brz","brzinu","brža","brža,","bude","cashier","cd","code","compos","condit","config\\logging.php","critic","critical.","critical:","csprng","da","dana","dana,","debug","debug:","desi,","detektor","dinamički","direktno","direktorijum.","dobija","dobić","dodati","dodatn","dodatna","dodatni","dodavati,","dode","dok","dolaz","dolazi","dolazimo","dosta","dođe","došao","drugačiju","druge","država.","dužina).","dva","eager","emergency:","env('log_slack_webhook_url'),","error","error:","es6","fajl","fajl,","fajla,","fajlu","fasade:","featur","featuremiddlewar","funckije,","function()","funkcij","funkcija","funkcija,","funkcije,","ga","gde","gener","generatora","generisali","generisanj","generisanja","generisati","generiš","generišu","gledati","god","godina.","gore","gore.","gost","gost.","gosta,","gostu","grad.","grešk","greška","greške,a","greške.","grešku","groupa","grupa.","grupe","hash","heš","heš,","heš.","heševa","hešu,","hešu.","homestead","hook","host","https://api.slack.com/incom","https://laravel.com/docs/5.6/eloqu","https://tools.ietf.org/html/rfc5424","id","ideja","identifikacioni","ih","ili","im","ima","imao","imati","immedi","implementacija","implementaciju","inform","informacij","informational:","inicijalnih","instalacija","install.","instancu.","int","interesanta","ip","iskopirati","iskoristi","ispod.","ist","isteka","isti","isto","iz","izaber","izgleda","izmen","izmenitihomestead.yaml","izrad","izuzetak","izuzetaka","izvućemo","jak","jasnu","javlja","je","je:","jedinstven","jedinstven.","jedinstvena","jedinstvena.","jedinstveni","jedinstvenih","jedinstvenog","jedinstvenosti","jedna","jedno","jednostavan.","jednostavniji","jednostavno,","jer","jest","kad","kada","kako","kanala:","kao","karaktera","karticama,","kartice,","kasnij","key:gener","key:generate.","ključeve.","ko","koja","koje","koji","koji,","kojih","kojima","koju","kolačić","kolačić,","kolačića","kolačićima","kolekciju","kolizija","komunikaciju,","konfiguraciji","kontrola","kopiju","korak","koraku:","korisnici","korisnik","korisnik,","korisnik.","korisnika","korisnika.","korisniku","korisničkom","koristi","koristi.","koristinka:","korišćeni","korišćenjem","korsnik","kraju","kreditnim","kripto","kriptografski","kroz","laravel","laravelom","laravelu,","level","li","link","link,pa","link.","linka","linka,","linka.","load","loading2","log","log',","log,","log::alert($message);","log::critical($message);","log::critical('someon","log::debug($message);","log::emergency($message);","log::error($message);","log::info($message);","log::notice($message);","log::warning($message);","log_slack_webhook_url","logavanj","logovanj","logovanja","logovanje:","loguj","logujemo","lokacij","lokacija","mail.","make","mana","manj","marketinški","mašina.","mašine.","mašine:","mašini.","meseci","messag","migraciju","migrat","minimalni","modernim","moguć","mogućnost","mogućnosti","mogućnosti.","mora","moći","može","možemo","mreža,","mu","n","n+11","na","najbrži","nalaz","nalazi","naprav","napravi","naravno","nastaj","nastavku","nastavku.","navedenih","naziv","način","način.","način:","načina","načina.","naš","našem","ne","ne,","ne.","nedelja,","nego","neke","neki","neko","nekoj","nekom","neku","nema","nesiguran","neće","nije","niti","nivo","nje","njega","njegov","njegova","njegovi","njegovog","normal","notice:","novac","novi","nudi","numer","o","obavestimo","obaveštava","obaveštenj","obradu","obradu.","obrat","obuhvata","od","odabere.","odakl","odavd","odgovarajuć","odlučeno","odmah","određen","određeni","određivanj","određivanja","ogranič","ograničava","ograničavaju","ograniči","okruženje,","onda","oni","opcij","opcija","opcija.","opcijama.","opciju","operativni","operativnog","operativnom","opet","opisan","opisani","opisano.","originalan","osnovu","otvaranjem","ov","ova","ovaj","ovakav","ovakva","ovd","ovim","ovo","ovog","ovom","ovu","pa","paket","paketa,","pamti","pamćenja","panel","panel.',","panelu.","paradoks,","pažnju","performans","permisij","permisije.","php","pisanja","pisanja,","planova","plaćanja","po","podeli.","podes","podešen","podešenog","podigli","pokazala","pokazuj","poklapaju.","poklop","pokrenula","pokrenuli","pokrenuti","pokretanj","pomenuta,","pomoću","ponavljanja","ponavljanja.","popunjavanj","poruci.","poruku:","poset","poseta","poseta,","poseta?","poseti","posetili","posetio","posetioca","posrednik","posrednik,","posrednika","posredniku","postav","postojeći","postoji","postoji.","potencijal,","potencijaln","potpun","potpuno","potreban","potrebno","početnoj","pošalj","pošto","prati","prati,","prati.","pratiti","pravljenj","praćenj","praćenja","pre","preciznijim.","pregledačem","pregledačima.","preko","prenet","prenosi","prethodno","pretpatu","pretplat","pretplata","pretplate,","pretplate.","pretplati","pretplatom","pretplatu,","pretplatu.","pretraživač","pretraživača,","pretraživača.","pretvara","preusmeren","preusmeri","prijavi","prijavljuj","prilikom","prilično","primi","pristup","pristupa","pristupi","pristupili","pristupljeno","prisupa","problem","problem,","problem.","profesinalniji","projekat","projekat.","projekat:","projekta","projektu","promen","promenili","prover","provera","proverava","proveravamo","proveri","proverimo","prođemo","prošir","pruža","prva","prvi","prvobitni","radi","rand","rand()","rand().","random","random_byt","random_bytes()","random_bytes().","random_int()","random_int().","razliku","različ","razloga","razni","raznih","računa","realizovan","realizovano","realizovano,","recimo","registrovani","relationships#eag","rezultati","rešen","rešen.","rešenj","reši","rfc","rodila","route::get('/dashboard',","route::group(['features'","ruta","ruta.","rutama","ruter","rutera.","ruteru.","sa","sadrži","sajta).","sajtu","sajtu.","samim","samo","scss","se","seed,","sentri","sentry.","server","sesij","sever","signific","siguran","sigurn","sigurna","sigurnosnih","singl","sistem","sistem,","sistema,","sistemu","skida","skinut","skrati","skratiti","skraćenog","skraćivanj","skraćivanja","slack","sledec","sledeć","sliku","slug","slučaju","socijalnih","specifikaciji.","spor","spora,","spora.","ssh","stalno","standardni","statistik","statistika","statistike,","statistiku","statu","stavku","stipe","storage:link.","storage\\logs\\laravel.log","strane,","strani.","string","stringa.","stvari.","su","suprotnom","svaka","svaki","svakog","svakom","svaku","sve","svi","svim","svoje","svojom","system","ta","tabe","tabela.","tabelu","taj","taken","tako","takođ","takođe,","task","tačna","tehnik","tehnologij","tehnologije:","teksta","testiranja","tim","tima.","time","tip","tip,","tipova","tog","toga","trajanj","traje","treba","trenutku","trenutno","treći","tri","tu","u","u)","u.","u:","unes","unet","unikatno","unus","uopšt","up","upita","upotrebljen","urad","uradi","url","uveden","uvek","uvid","uvod","uz","uzimamo","uzm","vagrant","važno","važnosti","važnosti:","veb","velika","veliki","vendor\\\\bin\\\\homestead","verzija","vezana","vezivati","već","vid","vidljivo","virtualna","virtueln","više","vodi","vpn","vrati","vratimo","vraća","vraćanja","vrednosti","vrednosti),","vrednosti.","vrednosti:","vrlo","vrste","vrši","vršila","warn","warning:","webhook","za","zadužen","zagarantovan","zahtev","zahteva","zasebnu","zato","zavisnosti","zbog","znači","{","});","će","čak","čest","česta","čiji","čini","članova","čuvaju","šalj","šalju","širina","šta","što","želi","želimo","željeni","želji.","↩"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"Uvod","keywords":"","body":"Tehnologije\nVrlo je bitno projekat gledati u modernim veb pregledačima.\nPrilikom izrade projekta korišćeni su sledece tehnologije:\n\nPHP 7.2.6\nLaravel 5.6\nSCSS\nES6\n\n"},"intro/idea.html":{"url":"intro/idea.html","title":"Ideja","keywords":"","body":"Ideja\nDanas veliki broj socijalnih mreža, kao i razni alati za komunikaciju, ograničavaju broj karaktera u poruci. Iz tog razloga je potrebno skratiti link,pa se tako rodila ideja za ovu aplikaciju.\nTakođe ova implementacija ima jak marketinški potencijal, gde korisnik ima potpun uvid u to ko je posetio njegov link. Samim tim korisnik može da skrati i već \"kratak\" link kako bi imao mogućnost praćenja poseta preko njegovog skraćenog linka.\n"},"intro/solution.html":{"url":"intro/solution.html","title":"Rešenje","keywords":"","body":"Rešenje\nNačin na koji je problem rešen je prilično jednostavan. Uzme se originalan link i za njega se korisniku da neki heš, koji korisnik kasnije može da podeli. Otvaranjem heš linka korisnik će biti preusmeren (redirektovan) na originalan link.\n\nLink generator treba da ima što manje kolizija (istih vrednosti), takođe to NE treba da bude hash funkcija koja će za isti string da vrati isti heš, već za isti string treba da vrati uvek različiti heš.\nPrilikom pisanja ovog generatora treba obratiti pažnju na brzinu generisanja stringa. Postoji više načina da se reši ovaj problem i oni su opisani u nastavku.\nSpor i siguran način\nOvaj način koristi funkcije koje generišu kriptografski sigurne vrednosti (CSPRNG). Ovakva funkcija u PHP-u je random_int().\nRandom int ima drugačiju implementaciju na svakom operativnom sistemu i time pruža mogućnost da se iskoristi sistem za generisanje jedinstvenog broja.\nVelika mana ove funkcije je što je vidljivo spora.\nBrz i nesiguran način\nZa razliku od random_int() funckije, rand() je dosta brža funkcija, ali nije kriptografski sigurna i u našem slučaju ima česta ponavljanja. Zato je potreban treći način.\nNajbrži i siguran način\nU trenutku pisanja, PHP verzija 7.2.6 ima tri CSPRNG funkcije, od kojih je jedna već prethodno pomenuta, i pokazala se kao spora, ali funkcija koja pokazuje bolje performanse od nje je random_bytes().\nrandom_bytes() funkcija, takođe, ima zasebnu implementaciju za svaki operativni sistem, ali zbog toga što radi direktno sa bajtovima dosta je brža, pa čak i od rand().\n**Napomena: Funkcija `random_bytes() dolazi uz PHP 7.0 pa na gore.\nStatistika\nRezultati testiranja navedenih funkcija se nalaze u tabeli ispod.\n\n\n\nPonavljanja\nrandom_bytes\nrand\n\n\n\n\nKorak 1\n1.7273991107941\n5.7265629768372\n\n\nKorak 2\n1.8290400505066\n5.5975389480591\n\n\nKorak 3\n1.7188358306885\n5.4669740200043\n\n\nKorak 4\n1.8076210021973\n5.666111946106\n\n\nKorak 5\n1.796245098114\n5.5624511241913\n\n\nKorak 6\n1.8754560947418\n5.5897090435028\n\n\nKorak 7\n1.6866478919983\n5.5180299282074\n\n\nKorak 8\n1.7576761245728\n5.5145440101624\n\n\nKorak 9\n1.7203500270844\n5.5683920383453\n\n\nKorak 10\n1.682667016983\n5.5527658462524\n\n\n\nBroj heševa po koraku: 1 000 000\n"},"intro/installation.html":{"url":"intro/installation.html","title":"Instalacija","keywords":"","body":"Instalacija\nPokretanje projekta je prilično jednostavno, zato što je upotrebljen Homestead koji koristi Vagrant za pravljenje virtuelne mašine. Više o Homestead-u na Laravelom sajtu.\nMoguće je pokrenuti projekat na dva načina.\nPrvi i jednostavniji način:\n\nPokrenuti composer install.\nNapraviti tabelu u bazi.\nNapraviti kopiju .env.example fajla, promeniti mu ime u .env i podesiti vrednosti.\nPokrenuti php artisan migrate --seed, kako bi pokrenuli migraciju i popunjavanje tabela.\nPokrenuti php artisan key:generate kako bi generisali kripto ključeve.\nPokrenuti php artisan server kako bi podigli projekat.\nPristupiti projektu preko 127.0.0.1:8000.\n\nTakođe projekat je moguće pokrenuti preko virtuelne mašine:\n\nPokrenuti composer install.\nNapraviti kopiju .env.example fajla, i promeniti mu ime u .env.\nPokrenuti vendor\\\\bin\\\\homestead make , ovo će generisati Homestead instancu.\nIzmenitiHomestead.yaml fajl, postaviti željeni URL projekta\nIzmeniti hosts fajl operativnog sistema, tako da URL projekta pokazuje na 192.168.10.10.\nPokrenuti `vagrant up kako bi se pokrenula virtualna mašina.\nPokrenuti vagrant ssh kako bi pristupili mašini.\nPokrenuti cd /vagrant kako bi promenili direktorijum.\nPokrenuti php artisan key:generate.\nPokrenuti php artisan storage:link.\nPokrenuti php artisan migrate --seed, kako bi pokrenuli migraciju i popunjavanje tabela.\nPristupiti projektu preko podešenog URL-a.\n\n"},"users.html":{"url":"users.html","title":"Korisnici","keywords":"","body":"Korisnici\nProjekat sadrži tri vrste koristinka: admin, korisnik i gost. U nastavku teksta biće opisan svaki od tipova korisnika.\nGost\nSvaki korisnik koji pristupi sajtu je gost i on ima pristup samo početnoj strani. Gost može da skrati link ali prilikom skraćivanja linka nema mogućnost statistike, takođe, gostu nije zagarantovan jedinstven heš.\n\nKada gost pošalje zahtev za skraćivanje linka, u bazi se uradi provera da li taj link već postoji. Ako taj link postoji vraća se postojeći heš, u suprotnom se generiše novi heš.\nOvo je iz razloga što nije bitno da li gost ima jedinstven heš ili ne, sve dok ga taj heš vodi na željeni link jer opcija praćenja ne postoji.\nKorisnik\nRegistrovani korisnik ima mogućnost da se pretplati na neki od paketa, kao i mogućnost da skrati link koji ne želi da prati i koji, kao u slučaju gosta, ne mora biti jedinstven. Sa druge strane, korisnik ima mogućnost da prati statistiku skraćenog linka ako to odabere.\n\nOpcije korisnika je moguće dinamički proširiti pomoću raznih opcija koje korisnik dobija kada se prijavi na neki od planova za pretplatu.\nAdministrator\nAdministrator ima iste opcije kao korisnik, a uz to ima i pristup admin panelu.\n"},"features.html":{"url":"features.html","title":"Mogućnosti","keywords":"","body":"Mogućnosti\nMogućnosti su opcije koje korisnik ima u zavisnosti od pretplate. Neke od inicijalnih opcija sa kojima dolazi projekat:\n\nPraćenje - mogućnost da se prati statistika linka.\nPanel - pristup korisničkom panelu.\nJedinstvene posete - praćenje jedinstvenih korisnika.\nLokacija - praćenje sa koje lokacije je pristupljeno hešu.\nVPN detektor - praćenje da li je poseta sa VPN adrese ili ne.\nNaziv linka - mogućnost da se unese heš po želji.\n\nOpcije je moguće dinamički dodavati, brisati i isto tako ih vezivati za određene pretplate.\nKontrola pristupa\nPošto je opcija vezana za pretplatu, mora se ograničiti da korisnik svojom pretplatom ima samo opcije svoje pretplate. Što znači ako korisnik nema opciju panel on neće moći da pristupi panelu.\nOvaj problem je rešen korišćenjem posrednika (middleware-a). Uveden je FeatureMiddleware posrednik, koji je zadužen da proveri da li korisnik ima mogućnosti koje su prenete preko rutera.\n\nRuter\nNačin na koji se ograničava pristup rutama je pomoću atributa grupe u ruteru.\nRoute::group(['features' => ['dashboard']], function() {\n Route::get('/dashboard', 'DashboardController@index')\n});\n\nPreko atributa features prenosi se slug mogućnosti za koje se želi da se ograniči groupa ruta.\nPrilikom prisupa nekoj od ruta iz grupe naš posrednik će proveriti da li korisnik ima SVE mogućnosti koje zahteva ta grupa.\nSve mogućnosti korisnika\nKako bi se vršila provera da li korisnik ima neku od mogućnosti mora se stalno imati uvid u njegove mogućnosti. Ovde nastaje problem, ako uzimamo mogućnosti kad god proveravamo da li on ima tu mogućnost dolazimo do N+11 problem.\nOvaj problem je rešen korišćenjem Eager loading2 tehnike u laravelu, gde se prilikom vraćanja korisnika vraća njegova pretplata i svi njegovi atributi.\n\n1. Čest problem koji se javlja kada pomoću jedno upita vratimo kolekciju i onda prođemo kroz tu kolekciju gde za svaku stavku izvućemo dodatne stvari. ↩\n\n\n2. https://laravel.com/docs/5.6/eloquent-relationships#eager-loading ↩\n\n"},"visits.html":{"url":"visits.html","title":"Posete","keywords":"","body":"Posete\nKako je jedna od ideja projekta mogućnost praćenja statistike svakog linka, potrebno je da se svaka poseta (preusmeravanje) prati. Kada korisnik poseti neki heš pre nego što ga aplikacija preusmeri na prvobitni link čuvaju se sledeće vrednosti:\n\nTip veb pretraživača.\nIP adresa.\nLokacija (na osnovu IP adrese)\nTačna lokacija (geografska širina i dužina).\nGrad.\nDržava.\n\n\nDa li je IP adresa sa VPN-a.\nOdakle je došao korisnik.\n\nSa ovim atributima dobija se prilično bogata statistika koja može da da korisniku vrlo jasnu sliku odakle dolaze koju su posetili link.\nJedna vrlo interesanta mogućnost aplikacije je praćenje jedinstvenih poseta, naravno tu je i paradoks, šta se računa kao jedinstvena poseta?\nJedinstvena poseta\nNe postoji unikatno niti \"najbolje\" rešenje za određivanje jedinstvene posete ali je u ovom slučaju odlučeno da se prati IP adresa i veb pretraživač koji korisnik koristi.\n\nKada korisnik pristupi hešu, prva provera je da li se taj heš uopšte prati, ako se ne prati može odmah da se preusmeri korisnik na prvobitni link. Ako se heš prati, mora se proveriti da li u kolačićima postoji identifikacioni broj sesije (jedinstven za svakog posetioca sajta). Ako postoji kolačić, proverimo da li se link id i id sesije poklapaju. Ako se vrednosti poklope znači da je taj korsnik već posetio link što znači da link nije jedinstven. U suprotnom znači da je link jedinstven.\n\nSvaki korisnik koji dođe bez kolačića dobiće jedinstveni kolačić koji se koristi za praćenje kao što je gore opisano.\n\nDodatna provera koja postoji jeste da se proveri da li je korisnik sa IP adresom i tim veb pregledačem već posetio link. Ako nije onda je poseta jedinstvena.\n\nPrilikom pamćenja veb pretraživača, ne pamti se samo tip, već verzija i sistem, što ovakav način određivanja jedinstvenosti čini preciznijim.\n\n"},"subscription.html":{"url":"subscription.html","title":"Pretplata","keywords":"","body":"Pretplata\nKorisnik ima opciju pretplate, svaki paket za pretpatu nudi određeni broj opcija. Kada se korisnik pretplati odmah dobija pristup svim opcijama. Na kraju isteka pretplate korisniku se opet skida novac sa unete kartice, ako korisnik nema novac biće skinut sa pretplate.\nTrajanje pretplate je potpuno dinamički realizovano, administrator može da izabere da pretplata traje n dana, nedelja, meseci ili godina.\nZbog sigurnosnih razloga u bazi se ne čuvaju informacije o kreditnim karticama, već je sve realizovano neko Stipe-a\nNačin na koji je realizovan način plaćanja je preko Laravel Cashier-a.\n"},"logging.html":{"url":"logging.html","title":"Logovanje","keywords":"","body":"Logovanje\nPrilikom izrade veb aplikacije vrlo je važno pratiti potencijalne greške,a kako se ovde koristi Laravel okruženje, logavanje se vrši automatski za svaki vid greške.\nLog fajl se nalazi u: storage\\logs\\laravel.log\nLaravel je podešen da radi logovanje na više kanala:\n\nSingle - Njegov standardni log,\nSlack\n\nSlack\nSlack je podešen da prijavljuje greške čiji je minimalni nivo važnosti critical.\nOvo je moguće promeniti u konfiguraciji za logovanje: config\\logging.php\nTrenutno kako je podešen slack je:\n'slack' => [\n 'driver' => 'slack',\n 'url' => env('LOG_SLACK_WEBHOOK_URL'),\n 'username' => 'LinkCutter Log',\n 'emoji' => ':boom:',\n 'level' => 'critical', // Minimalni nivo\n],\n\n\nStatus greške je određen po RFC 5424 specifikaciji.\nhttps://tools.ietf.org/html/rfc5424\nGreške po važnosti:\nNumerical Severity\nCode\n\n0 Emergency: system is unusable\n1 Alert: action must be taken immediately\n2 Critical: critical conditions\n3 Error: error conditions\n4 Warning: warning conditions\n5 Notice: normal but significant condition\n6 Informational: informational messages\n7 Debug: debug-level messages\n\nNačin na koji laravel obaveštava slack je pomoću webhook-a koji je podešen u Slack-u.\nhttps://api.slack.com/incoming-webhooks\nKad se napravi hook potrebno je iskopirati URL do hook-a i dodati ga u .env fajlu kao LOG_SLACK_WEBHOOK_URL opcija.\nLaravel logovanje\nNačin na koji možemo da logujemo grešku je preko Log fasade:\nLog::emergency($message);\nLog::alert($message);\nLog::critical($message); // Odavde pa na gore se loguje u slack-u\nLog::error($message);\nLog::warning($message);\nLog::notice($message);\nLog::info($message);\nLog::debug($message);\n\nRecimo da želimo da obavestimo administratora da neko želi da pristupi admin sistemu a za to nema odgovarajuće permisije. To je moguće uraditi u posredniku (middleware-u) koji proverava da li korisnik ima permisije i obaveštava administratora.\nLog::critical('Someone tried to access the admin panel.', [\n 'IP' => $request->ip(),\n 'Browser' => $request->server('HTTP_USER_AGENT'),\n 'Referer' =>$request->server('HTTP_REFERER'),\n]);\n\nKako to izgleda kad administrator primi poruku:\n\nSentry\nKao dodatni i profesinalniji način logovanja koristi se Sentry. Sentry obuhvata obradu izuzetaka koji se šalju Sentry-u na obradu.\n\nSvaka greška koja se desi, Sentry pretvara u task koji može da se dodeli nekom od članova tima. Na taj način svaki izuzetak biva rešen.\nObaveštenje se takođe šalje na mail.\n"}}} \ No newline at end of file diff --git a/styles/website.css b/styles/website.css new file mode 100644 index 0000000..0b1f431 --- /dev/null +++ b/styles/website.css @@ -0,0 +1,14 @@ +.markdown-section blockquote { + border-width: 0; + border-left-width: 0px; + border-left: 5px solid #00bcf2; + background-color: #eff6fb; + margin: 20px 0; + padding: 10px 20px; + font-size: 15px; +} + +.markdown-section blockquote p { + margin: 0 20px; + color: #333; +} \ No newline at end of file diff --git a/subscription.html b/subscription.html new file mode 100644 index 0000000..8cc92b8 --- /dev/null +++ b/subscription.html @@ -0,0 +1,374 @@ + + + + + + + Pretplata · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              +
              + + + + + + + + +
              + +
              + +
              + + + + + + + + +
              +
              + +
              +
              + +
              + +

              Pretplata

              +

              Korisnik ima opciju pretplate, svaki paket za pretpatu nudi određeni broj opcija. Kada se korisnik pretplati odmah dobija pristup svim opcijama. Na kraju isteka pretplate korisniku se opet skida novac sa unete kartice, ako korisnik nema novac biće skinut sa pretplate.

              +

              Trajanje pretplate je potpuno dinamički realizovano, administrator može da izabere da pretplata traje n dana, nedelja, meseci ili godina.

              +

              Zbog sigurnosnih razloga u bazi se ne čuvaju informacije o kreditnim karticama, već je sve realizovano neko Stipe-a

              +

              Način na koji je realizovan način plaćanja je preko Laravel Cashier-a.

              + + +
              + +
              +
              +
              + +

              results matching ""

              +
                + +
                +
                + +

                No results matching ""

                + +
                +
                +
                + +
                +
                + +
                + + + + + + + + + + + + + + +
                + + +
                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/users.html b/users.html new file mode 100644 index 0000000..c276983 --- /dev/null +++ b/users.html @@ -0,0 +1,382 @@ + + + + + + + Korisnici · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                +
                + + + + + + + + +
                + +
                + +
                + + + + + + + + +
                +
                + +
                +
                + +
                + +

                Korisnici

                +

                Projekat sadrži tri vrste koristinka: admin, korisnik i gost. U nastavku teksta biće opisan svaki od tipova korisnika.

                +

                Gost

                +

                Svaki korisnik koji pristupi sajtu je gost i on ima pristup samo početnoj strani. Gost može da skrati link ali prilikom skraćivanja linka nema mogućnost statistike, takođe, gostu nije zagarantovan jedinstven heš.

                +

                Gost flow

                +

                Kada gost pošalje zahtev za skraćivanje linka, u bazi se uradi provera da li taj link već postoji. Ako taj link postoji vraća se postojeći heš, u suprotnom se generiše novi heš.

                +

                Ovo je iz razloga što nije bitno da li gost ima jedinstven heš ili ne, sve dok ga taj heš vodi na željeni link jer opcija praćenja ne postoji.

                +

                Korisnik

                +

                Registrovani korisnik ima mogućnost da se pretplati na neki od paketa, kao i mogućnost da skrati link koji ne želi da prati i koji, kao u slučaju gosta, ne mora biti jedinstven. Sa druge strane, korisnik ima mogućnost da prati statistiku skraćenog linka ako to odabere.

                +

                Korisnik tok

                +

                Opcije korisnika je moguće dinamički proširiti pomoću raznih opcija koje korisnik dobija kada se prijavi na neki od planova za pretplatu.

                +

                Administrator

                +

                Administrator ima iste opcije kao korisnik, a uz to ima i pristup admin panelu.

                + + +
                + +
                +
                +
                + +

                results matching ""

                +
                  + +
                  +
                  + +

                  No results matching ""

                  + +
                  +
                  +
                  + +
                  +
                  + +
                  + + + + + + + + + + + + + + +
                  + + +
                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/visits.html b/visits.html new file mode 100644 index 0000000..403fc0a --- /dev/null +++ b/visits.html @@ -0,0 +1,396 @@ + + + + + + + Posete · GitBook + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                  +
                  + + + + + + + + +
                  + +
                  + +
                  + + + + + + + + +
                  +
                  + +
                  +
                  + +
                  + +

                  Posete

                  +

                  Kako je jedna od ideja projekta mogućnost praćenja statistike svakog linka, potrebno je da se svaka poseta (preusmeravanje) prati. Kada korisnik poseti neki heš pre nego što ga aplikacija preusmeri na prvobitni link čuvaju se sledeće vrednosti:

                  +
                    +
                  • Tip veb pretraživača.
                  • +
                  • IP adresa.
                  • +
                  • Lokacija (na osnovu IP adrese)
                      +
                    • Tačna lokacija (geografska širina i dužina).
                    • +
                    • Grad.
                    • +
                    • Država.
                    • +
                    +
                  • +
                  • Da li je IP adresa sa VPN-a.
                  • +
                  • Odakle je došao korisnik.
                  • +
                  +

                  Sa ovim atributima dobija se prilično bogata statistika koja može da da korisniku vrlo jasnu sliku odakle dolaze koju su posetili link.

                  +

                  Jedna vrlo interesanta mogućnost aplikacije je praćenje jedinstvenih poseta, naravno tu je i paradoks, šta se računa kao jedinstvena poseta?

                  +

                  Jedinstvena poseta

                  +

                  Ne postoji unikatno niti "najbolje" rešenje za određivanje jedinstvene posete ali je u ovom slučaju odlučeno da se prati IP adresa i veb pretraživač koji korisnik koristi.

                  +

                  Tok jedinstvene posete

                  +

                  Kada korisnik pristupi hešu, prva provera je da li se taj heš uopšte prati, ako se ne prati može odmah da se preusmeri korisnik na prvobitni link. Ako se heš prati, mora se proveriti da li u kolačićima postoji identifikacioni broj sesije (jedinstven za svakog posetioca sajta). Ako postoji kolačić, proverimo da li se link id i id sesije poklapaju. Ako se vrednosti poklope znači da je taj korsnik već posetio link što znači da link nije jedinstven. U suprotnom znači da je link jedinstven.

                  +
                  +

                  Svaki korisnik koji dođe bez kolačića dobiće jedinstveni kolačić koji se koristi za praćenje kao što je gore opisano.

                  +
                  +

                  Dodatna provera koja postoji jeste da se proveri da li je korisnik sa IP adresom i tim veb pregledačem već posetio link. Ako nije onda je poseta jedinstvena.

                  +
                  +

                  Prilikom pamćenja veb pretraživača, ne pamti se samo tip, već verzija i sistem, što ovakav način određivanja jedinstvenosti čini preciznijim.

                  +
                  + + +
                  + +
                  +
                  +
                  + +

                  results matching ""

                  +
                    + +
                    +
                    + +

                    No results matching ""

                    + +
                    +
                    +
                    + +
                    +
                    + +
                    + + + + + + + + + + + + + + +
                    + + +
                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/yarn.lock b/yarn.lock index 8d55dd8..28b8224 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1009,9 +1009,9 @@ boom@2.x.x: dependencies: hoek "2.x.x" -bootstrap@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.1.1.tgz#3aec85000fa619085da8d2e4983dfd67cf2114cb" +bootstrap@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.3.1.tgz#280ca8f610504d99d7b6b4bfc4b68cec601704ac" boxen@^1.2.1: version "1.3.0" @@ -1655,7 +1655,7 @@ compressible@~2.0.13: compression@^1.5.2: version "1.7.2" - resolved "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz#aaffbcd6aaf854b44ebb280353d5ad1651f59a69" + resolved "https://registry.npmjs.org/compression/-/compression-1.7.2.tgz#aaffbcd6aaf854b44ebb280353d5ad1651f59a69" dependencies: accepts "~1.3.4" bytes "3.0.0" @@ -5805,7 +5805,7 @@ once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0, once@~1.4.0: onetime@^1.0.0: version "1.1.0" - resolved "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + resolved "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" opener@~1.4.3: version "1.4.3"