Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/news.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2016-01-23 19:08:45 +0300
committerBernhard Posselt <dev@bernhard-posselt.com>2016-01-23 19:08:45 +0300
commite3ae4ea0bebc05e7ef16326501a9654ca9095310 (patch)
treedb2d945082ea76a00b472f9ab5b7077e38c22804
parent120a94582f62da9cf3ed32ad611ccdd226e5a751 (diff)
add german feeds and allow to change the language
-rw-r--r--css/explore.css29
-rw-r--r--css/news.min.css2
-rw-r--r--css/news.min.css.map2
-rw-r--r--explore/feeds/feeds.de.json57
-rw-r--r--explore/feeds/feeds.en.json287
-rw-r--r--js/app/Config.js9
-rw-r--r--js/build/app.js43
-rw-r--r--js/build/app.min.js4
-rw-r--r--js/build/app.min.js.map2
-rw-r--r--js/controller/ExploreController.js22
-rw-r--r--js/controller/NavigationController.js4
-rw-r--r--js/service/SettingsResource.js8
-rw-r--r--templates/part.content.explore.php53
-rw-r--r--templates/part.navigation.explore.php4
14 files changed, 341 insertions, 185 deletions
diff --git a/css/explore.css b/css/explore.css
index 704429322..9945b39bf 100644
--- a/css/explore.css
+++ b/css/explore.css
@@ -26,7 +26,6 @@
#explore .grid-item {
float: left;
width: 300px;
- padding: 30px;
border-collapse: collapse;
border: 1px solid #ccc;
margin: 0 25px 25px 0;
@@ -41,22 +40,31 @@
background-position: 0 center;
}
+#explore h1 a {
+ word-wrap: break-word;
+}
+
#explore h1 a:hover {
text-decoration: underline;
}
+#explore .category-wrapper {
+ text-align: center;
+}
+
#explore .category {
- display: inline-block;
font-weight: normal;
font-size: 10pt;
color: #fff;
background-color: #1d2d44;
- padding: 5px;
- float: right;
- border-radius: 3px;
+ padding: 10px;
font-weight: bold;
}
+#explore .grid-item-content {
+ padding: 30px;
+}
+
#explore .explore-logo {
text-align: center;
margin-top: 25px;
@@ -75,6 +83,17 @@
padding-top: 25px;
}
+#explore .explore-filter {
+ text-align: right;
+ padding: 30px;
+}
+
+#explore .explore-filter input,
+#explore .explore-filter select {
+ margin-left: 10px;
+ display: inline-block;
+}
+
#explore .explore-filter input {
width: 200px;
}
diff --git a/css/news.min.css b/css/news.min.css
index 838878bcb..a347c6237 100644
--- a/css/news.min.css
+++ b/css/news.min.css
@@ -1,2 +1,2 @@
-#app-content #searchresults,#undo{display:none}#app-content .body a,#app-content .body h3,#app-content .heading a:hover,#app-content .subtitle a:hover,#app-settings-content a,#explore .explore-header a,#explore h1 a:hover,#notification a,#undo a:hover{text-decoration:underline}#global-loading{width:100%;height:100%}#undo-container{position:fixed;top:0;width:100%;text-align:center;z-index:101;line-height:1.2}#undo{z-index:101;background-color:#fc4;border:0;padding:0 .7em .3em;position:relative;top:0;border-bottom-left-radius:1em;border-bottom-right-radius:1em}#undo a{font-weight:700}#searchbox{display:block!important}#app-content .no-feeds-available{text-align:center;color:#333;font-size:16pt;min-height:100%;height:100%;width:100%;display:table}#app-content .no-feeds-available p{vertical-align:middle;display:table-cell}#app-content-wrapper,#articles{height:100%}#app-content .podcast{height:30px;z-index:10000;background-color:#111}#app-content .podcast audio{display:block;float:left;width:calc(100% - 60px);height:30px;border-radius:0}#app-content .podcast a,#app-content .podcast button{display:block;float:left;height:30px;width:30px;border:0;border-radius:0;margin:0;background-color:transparent;background-repeat:no-repeat;background-position:center}#app-content .podcast-close{background-size:25px;background-image:url(../img/close.svg)}#app-content .podcast-download{transform:rotate(270deg);background-size:20px;background-image:url(../img/arrow-white.svg)}#app-content .podcast audio::-webkit-media-controls-enclosure{max-width:inherit}#app-content .podcast.fixed{position:absolute;right:0;left:0}#notification a{color:#00f}#notification li{display:block}#app-content.loading-content{background:url(../img/loading.gif) calc(50% - 16px) calc(50% - 16px) no-repeat;transition:none!important;-webkit-transition:none!important;-moz-webkit-transition:none!important}#app-content.loading-content #app-content-wrapper{display:none}#app-content:not(.explore) #articles:after{content:'';display:block;height:100%;background-repeat:no-repeat}#app-content .autopaging: #articles:after{content:'';background-image:url(../img/loading.gif);background-position:calc(50% - 16px) calc(50% - 16px);transition:none!important;-webkit-transition:none!important;-moz-webkit-transition:none!important}#app-content .finished-auto-paging #articles:after{background-image:-o-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:-moz-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:-webkit-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:-ms-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:linear-gradient(to top,#eee 0,#FEFEFE 100%)}.pull-to-refresh{height:0;overflow:hidden;text-align:center;background-image:-moz-linear-gradient(top,#eee 0,#fefefe 100%);background-image:-webkit-linear-gradient(top,#eee 0,#fefefe 100%);background-image:-ms-linear-gradient(top,#eee 0,#fefefe 100%);background-image:linear-gradient(top,#eee 0,#fefefe 100%)}.pull-to-refresh.show-pull-to-refresh{transition:all .5s ease;padding-top:10px;height:44px}#app-content .only-in-expanded{display:block}#app-content .compact .only-in-expanded,#app-content .only-in-compact{display:none}#app-content .compact .only-in-compact{display:block}#app-content .item{cursor:default;border-bottom:1px solid #eee;background-image:linear-gradient(top,#f8f8f8 0,#fff 84px)}#app-content .item:last-child{border-bottom:0}#app-content .utils{width:100%;line-height:52px;box-sizing:border-box;padding:15px 50px 0 15px}#app-content .compact .utils{cursor:pointer;padding-top:0}#app-content .utils ul{height:40px;list-style-type:none;display:flex;margin:0;padding:0}#app-content .open .utils ul{height:auto}#app-content .utils ul>li{min-width:0}#app-content .util-spacer{width:20px}#app-content .compact .util-spacer{width:19px}#app-content .utils li{line-height:40px;vertical-align:middle}#app-content .utils>ul>li:last-child{padding-right:0}#app-content .utils>ul>li:first-child{padding-left:0}#app-content .utils .util{padding:0 6px}#app-content .utils .external,#app-content .utils button{padding:0;margin:0;height:40px;width:40px;border:0;float:left;background-color:transparent;background-repeat:no-repeat;background-size:25px;background-position:center}#app-content .utils .external,#app-content .utils .icon-toggle,#app-content .utils .menu button{display:inline-block;opacity:.3}#app-content .utils .external:hover,#app-content .utils .icon-toggle.keep-unread,#app-content .utils .icon-toggle:hover,#app-content .utils .menu button:hover{opacity:1}#app-content .utils .star{background-image:url(../img/inactive_star.svg)}#app-content .utils .star:hover,#app-content .utils .starred{background-image:url(../img/active_star.svg)}#app-content .utils .more button{opacity:.3}#app-content .utils .more button:hover{opacity:1}#app-content .utils .more{position:relative}#app-content .article-actions{display:none;filter:drop-shadow(0 0 5px rgba(150, 150, 150, .75));-webkit-filter:drop-shadow(0 0 5px rgba(150, 150, 150, .75));-moz-filter:drop-shadow(0 0 5px rgba(150, 150, 150, .75));position:absolute;top:40px;border-radius:3px;z-index:1000;border:1px solid transparent;background-color:#fff;margin:0;padding:0}#app-content .article-actions ul{display:flex;float:left}#app-content .article-actions li{float:left;width:52px!important}#app-content #articles:not(.compact) .article-actions{left:6px}#app-content #articles:not(.compact) .article-actions:after,#app-content #articles:not(.compact) .article-actions:before{left:20px}#app-content #articles.compact .article-actions{right:-10px}#app-content #articles.compact .article-actions:after,#app-content #articles.compact .article-actions:before{right:9px}#app-content .article-actions:after,#app-content .article-actions:before{bottom:100%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}#app-content .article-actions:after{border-color:rgba(255,255,255,0);border-bottom-color:#fff;border-width:5px;margin-left:-5px}#app-content .article-actions:before{border-color:rgba(255,255,255,0);border-bottom-color:#fff;border-width:9px;margin-left:-9px}#app-content .utils .title{width:100%;padding-left:45px;background-position:10px 10px;background-size:20px 20px;background-repeat:no-repeat}#app-content .feed-view .utils .title{background:0 0!important;padding-left:10px}#app-content .utils .title h1 a{white-space:nowrap;overflow:hidden;width:100%;display:inline-block;color:#222;font-weight:700;font-size:16px;line-height:1.5;padding-top:8px;min-height:40px}#app-content .read .utils .title h1 a,#app-content .title .intro{font-weight:400;color:#777}#app-content .open .title .intro{display:none}#app-content .title .intro{font-size:10pt;margin-left:20px}#app-content .open .utils .title h1 a{overflow:auto;white-space:normal}#app-content .utils .date{padding:0 15px;margin-right:25px}#app-content .heading{padding:25px 0 10px}#app-content .heading h1{font-size:19px;max-width:770px;word-wrap:break-word}#app-content .heading a{font-weight:700;color:#222}#app-content .heading .date{float:right;display:inline-block;font-size:15px;padding:0 10px}#app-content .compact .article,#app-content .feed-view .source{display:none}#app-content .read .heading a{font-weight:400!important;color:#777}#app-content .article{min-height:69px;padding:0 50px 50px}#app-content .open .article{display:block}#app-content .subtitle{color:#777;font-size:15px;max-width:770px;padding-bottom:25px}#app-content .subtitle a{color:#777}#app-content .date{color:#777;white-space:nowrap}#app-content .author{color:#777;font-size:15px}#app-content .author a{color:inherit}#app-content .author a:hover{text-decoration:underline}#app-content .enclosure{padding:20px 0;max-width:770px;margin-bottom:15px}#app-content .enclosure audio,#app-content .enclosure img,#app-content .enclosure video{width:100%}#app-content .enclosure video{background-color:#000;margin-bottom:20px}#app-content .enclosure-error{line-height:1.5;height:40px}#app-content .body{max-width:770px;font-size:14px;clear:both;overflow-x:auto}#app-content .body p{line-height:1.5;margin:7px 0 14px}#app-content .body img,#app-content .body table{max-width:100%;height:auto;overflow:auto;word-wrap:break-word;white-space:normal}#app-content .body>div>:first-child>img:first-child,#app-content .body>div>img:first-child{padding:0 14px 0 0;float:left}#app-content .body h1,#app-content .body h2{font-size:17px;font-weight:700;color:#222;margin:21px 0 0}#app-content .body h3{font-size:15px;font-weight:700;color:#222;margin:21px 0 0}#app-content .body h4,#app-content .body h5,#app-content .body h6{font-weight:700}#app-content .body>div{margin:7px 0}#app-content .body a{color:#00f}#app-content .body ul{margin:7px 0;padding-left:14px;list-style-type:disc}#app-content .body ol{margin:7px 0;padding-left:21px}#app-content .body ul li{cursor:default;line-height:21px}#app-content .body pre{padding:7px 7px 7px 14px;background-color:#dadada;border:1px solid #ccc;margin:7px 0 14px;overflow-y:auto}#app-content .body pre::-webkit-scrollbar{height:10px}#app-content .body pre::-webkit-scrollbar-thumb{background:#333}#app-content .body pre::-webkit-scrollbar-track-piece{background:#ddd}#app-content .body code,#app-content .body pre{font-family:monospace;font-size:16px}#app-content .body blockquote{border-left:1px solid #d2d2d2;margin:25px 0;padding:0 0 0 15px;font-style:italic}#app-content .body em{font-style:italic;opacity:1}#app-content [dir=rtl]{text-align:right}#app-content .custom-heise-de .body p>span:first-child{display:inline-block;float:left;margin-right:10px;padding:6px 0}#app-content .custom-slashdot-org .body div>i{display:block;border-left:1px solid #d2d2d2;margin:25px 0;padding:0 0 0 15px}#app-content .custom-sueddeutsche-de .body img{float:none!important}#app-shortcuts table{border-collapse:collapse;width:100%;white-space:normal}#app-shortcuts tr:first-child{background-color:#f5f5f5}#app-shortcuts td,#app-shortcuts th{padding:10px}#app-shortcuts td{padding-right:15px}#app-shortcuts th{font-weight:700}#app-shortcuts td:first-child,#app-shortcuts th:first-child{text-align:right;font-weight:700;width:140px;-moz-box-sizing:content-box;box-sizing:content-box}@media (max-width:770px){#app-content .utils .date{display:none}#app-shortcuts th:first-child{padding-left:44px}}@media (max-width:600px){#app-content .article-actions ul{max-width:164px}#app-content .heading .date{display:none}#app-content .heading h1{margin-right:0}#app-content .utils{padding-right:15px}#app-content .article{padding-right:15px;padding-left:44px}}@media (max-width:340px){#app-content .article-actions{max-width:82px}}- #app-navigation .add-new .heading{height:44px;width:100%}#app-navigation .add-new .heading:hover{background-color:#ccc}#app-navigation .add-new .heading button{padding:0 0 0 44px;line-height:44px;width:100%;border:0;margin:0;text-align:left;font-weight:400;background-color:transparent;background-position:14px center}#app-navigation .add-new-popup{display:none;padding:10px;box-shadow:inset 0 0 10px #dedede;border-top:1px solid #dedede;border-bottom:1px solid #dedede}#app-navigation input.ng-invalid{border:1px solid #d14}#app-navigation .add-new-popup input,#app-navigation .add-new-popup select{width:100%;height:36px;padding:5px;margin-right:0}#app-navigation #new-feed [name=folderName],#app-navigation .add-new-popup select{width:calc(100% - 36px);border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;float:left}#app-navigation .add-new-popup .add-new-folder-primary{float:right;border-bottom-left-radius:0;border-top-left-radius:0;width:36px;height:36px;margin-left:0;margin-right:0}#app-navigation .add-new-popup .error{padding:0 0 10px}#app-navigation .icon-starred{background-image:url(../img/starred.png)}.icon-rss{background-image:url(../img/rss.svg)!important}.icon-full-text-enabled{background-image:url(../img/fulltext.svg);background-size:50%;opacity:.5}.icon-full-text-disabled{background-image:url(../img/nonfulltext.svg);background-size:50%;opacity:.5}#app-navigation .unread>a{font-weight:700}#app-navigation .entry-loading{background-image:url(../img/loading.gif)!important}#app-navigation input.entry-loading{background-size:20px}#app-navigation p.error{line-height:25px}#app-navigation .folder-rename-error{height:auto}#app-navigation .error-message{padding:15px;background-color:#DE1212;color:#fff;position:relative}#app-navigation .ui-state-disabled{opacity:1}#app-navigation .error-message .title{font-weight:700;padding-right:30px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#app-navigation .error-message button{top:0;right:0;position:absolute;margin:0;height:44px;width:44px;padding:15px;border:0;background-size:25px;background-color:transparent;background-image:url(../img/close.svg);background-repeat:no-repeat;background-position:right 5px top 5px;opacity:.9}#app-navigation .animate-show,#app-navigation .error-message button:hover{opacity:1}#app-navigation .animate-show.ng-hide-add,#app-navigation .animate-show.ng-hide-remove{transition:0s linear opacity}#app-navigation .animate-show.ng-hide-add-active,#app-navigation .animate-show.ng-hide-remove-active{transition:.2s linear opacity}#app-navigation .animate-show.ng-hide{opacity:0}#app-navigation .feed-no-ordering{transform:rotate(270deg)}#app-navigation .feed-reverse-ordering{transform:rotate(180deg)}#app-navigation .icon-pinned{background-image:url(../img/pinned.svg)}#app-navigation .icon-unpinned{background-image:url(../img/unpinned.svg)}#app-navigation .icon-updatemode-default{background-image:url(../img/updatemodedefault.svg)}#app-navigation .icon-updatemode-unread{background-image:url(../img/updatemodeunread.svg)}#app-navigation .updateerror a{background-color:orange!important}#app-navigation .add-new button,#app-navigation li a{opacity:1!important;color:#000!important}#app-navigation .active,#app-navigation .active a,#app-navigation li>a:hover{background-color:#ddd}#app-settings input[type=file]{position:absolute;left:-30000px}#app-settings .opened:hover{background-color:transparent!important}#app-settings-content{padding-bottom:25px}#app-settings-content h3{padding:5px 0;font-weight:700}#app-settings-content a{color:#00F}#app-settings-content p{padding:2px 2px 2px 10px}#app-settings-content label{display:block;padding-left:18px}#app-settings .import-export a,#explore .category{display:inline-block}#app-settings-content label input[type=checkbox]{margin-left:-18px;max-width:16px}.button-icon-label{background-position:10px center;background-size:16px;padding-left:25px}#app-settings .import-export h3{padding-top:15px;padding-bottom:5px}#app-settings .import-export a,#app-settings .import-export button{width:113px;height:30px;margin:0;vertical-align:middle;background-position:center}#explore,.explore #app-content-wrapper{height:100%}#app-settings .disabled{color:#aaa}#explore{width:100%;padding:45px 0 45px 45px}#explore .grid-item{float:left;width:300px;padding:30px;border-collapse:collapse;border:1px solid #ccc;margin:0 25px 25px 0}#explore h1{font-size:13pt;background-repeat:no-repeat;background-size:24px 24px;padding:5px 0 0 35px;background-position:0 center}#explore .category{font-size:10pt;color:#fff;background-color:#1d2d44;padding:5px;float:right;border-radius:3px;font-weight:700}#explore .explore-logo{text-align:center;margin-top:25px}#explore .explore-logo img{width:100%}#explore .explore-subscribe{padding-top:15px;text-align:right}#explore .explore-content{padding-top:25px}#explore .explore-filter input{width:200px}#explore .explore-header{margin:0 45px 45px 0;text-align:center}#explore .explore-header a{color:#00A}
+#app-content #searchresults,#undo{display:none}#app-content .body a,#app-content .body h3,#app-content .heading a:hover,#app-content .subtitle a:hover,#app-settings-content a,#explore .explore-header a,#explore h1 a:hover,#notification a,#undo a:hover{text-decoration:underline}#global-loading{width:100%;height:100%}#undo-container{position:fixed;top:0;width:100%;text-align:center;z-index:101;line-height:1.2}#undo{z-index:101;background-color:#fc4;border:0;padding:0 .7em .3em;position:relative;top:0;border-bottom-left-radius:1em;border-bottom-right-radius:1em}#undo a{font-weight:700}#searchbox{display:block!important}#app-content .no-feeds-available{text-align:center;color:#333;font-size:16pt;min-height:100%;height:100%;width:100%;display:table}#app-content .no-feeds-available p{vertical-align:middle;display:table-cell}#app-content-wrapper,#articles{height:100%}#app-content .podcast{height:30px;z-index:10000;background-color:#111}#app-content .podcast audio{display:block;float:left;width:calc(100% - 60px);height:30px;border-radius:0}#app-content .podcast a,#app-content .podcast button{display:block;float:left;height:30px;width:30px;border:0;border-radius:0;margin:0;background-color:transparent;background-repeat:no-repeat;background-position:center}#app-content .podcast-close{background-size:25px;background-image:url(../img/close.svg)}#app-content .podcast-download{transform:rotate(270deg);background-size:20px;background-image:url(../img/arrow-white.svg)}#app-content .podcast audio::-webkit-media-controls-enclosure{max-width:inherit}#app-content .podcast.fixed{position:absolute;right:0;left:0}#notification a{color:#00f}#notification li{display:block}#app-content.loading-content{background:url(../img/loading.gif) calc(50% - 16px) calc(50% - 16px) no-repeat;transition:none!important;-webkit-transition:none!important;-moz-webkit-transition:none!important}#app-content.loading-content #app-content-wrapper{display:none}#app-content:not(.explore) #articles:after{content:'';display:block;height:100%;background-repeat:no-repeat}#app-content .autopaging: #articles:after{content:'';background-image:url(../img/loading.gif);background-position:calc(50% - 16px) calc(50% - 16px);transition:none!important;-webkit-transition:none!important;-moz-webkit-transition:none!important}#app-content .finished-auto-paging #articles:after{background-image:-o-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:-moz-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:-webkit-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:-ms-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:linear-gradient(to top,#eee 0,#FEFEFE 100%)}.pull-to-refresh{height:0;overflow:hidden;text-align:center;background-image:-moz-linear-gradient(top,#eee 0,#fefefe 100%);background-image:-webkit-linear-gradient(top,#eee 0,#fefefe 100%);background-image:-ms-linear-gradient(top,#eee 0,#fefefe 100%);background-image:linear-gradient(top,#eee 0,#fefefe 100%)}.pull-to-refresh.show-pull-to-refresh{transition:all .5s ease;padding-top:10px;height:44px}#app-content .only-in-expanded{display:block}#app-content .compact .only-in-expanded,#app-content .only-in-compact{display:none}#app-content .compact .only-in-compact{display:block}#app-content .item{cursor:default;border-bottom:1px solid #eee;background-image:linear-gradient(top,#f8f8f8 0,#fff 84px)}#app-content .item:last-child{border-bottom:0}#app-content .utils{width:100%;line-height:52px;box-sizing:border-box;padding:15px 50px 0 15px}#app-content .compact .utils{cursor:pointer;padding-top:0}#app-content .utils ul{height:40px;list-style-type:none;display:flex;margin:0;padding:0}#app-content .open .utils ul{height:auto}#app-content .utils ul>li{min-width:0}#app-content .util-spacer{width:20px}#app-content .compact .util-spacer{width:19px}#app-content .utils li{line-height:40px;vertical-align:middle}#app-content .utils>ul>li:last-child{padding-right:0}#app-content .utils>ul>li:first-child{padding-left:0}#app-content .utils .util{padding:0 6px}#app-content .utils .external,#app-content .utils button{padding:0;margin:0;height:40px;width:40px;border:0;float:left;background-color:transparent;background-repeat:no-repeat;background-size:25px;background-position:center}#app-content .utils .external,#app-content .utils .icon-toggle,#app-content .utils .menu button{display:inline-block;opacity:.3}#app-content .utils .external:hover,#app-content .utils .icon-toggle.keep-unread,#app-content .utils .icon-toggle:hover,#app-content .utils .menu button:hover{opacity:1}#app-content .utils .star{background-image:url(../img/inactive_star.svg)}#app-content .utils .star:hover,#app-content .utils .starred{background-image:url(../img/active_star.svg)}#app-content .utils .more button{opacity:.3}#app-content .utils .more button:hover{opacity:1}#app-content .utils .more{position:relative}#app-content .article-actions{display:none;filter:drop-shadow(0 0 5px rgba(150, 150, 150, .75));-webkit-filter:drop-shadow(0 0 5px rgba(150, 150, 150, .75));-moz-filter:drop-shadow(0 0 5px rgba(150, 150, 150, .75));position:absolute;top:40px;border-radius:3px;z-index:1000;border:1px solid transparent;background-color:#fff;margin:0;padding:0}#app-content .article-actions ul{display:flex;float:left}#app-content .article-actions li{float:left;width:52px!important}#app-content #articles:not(.compact) .article-actions{left:6px}#app-content #articles:not(.compact) .article-actions:after,#app-content #articles:not(.compact) .article-actions:before{left:20px}#app-content #articles.compact .article-actions{right:-10px}#app-content #articles.compact .article-actions:after,#app-content #articles.compact .article-actions:before{right:9px}#app-content .article-actions:after,#app-content .article-actions:before{bottom:100%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}#app-content .article-actions:after{border-color:rgba(255,255,255,0);border-bottom-color:#fff;border-width:5px;margin-left:-5px}#app-content .article-actions:before{border-color:rgba(255,255,255,0);border-bottom-color:#fff;border-width:9px;margin-left:-9px}#app-content .utils .title{width:100%;padding-left:45px;background-position:10px 10px;background-size:20px 20px;background-repeat:no-repeat}#app-content .feed-view .utils .title{background:0 0!important;padding-left:10px}#app-content .utils .title h1 a{white-space:nowrap;overflow:hidden;width:100%;display:inline-block;color:#222;font-weight:700;font-size:16px;line-height:1.5;padding-top:8px;min-height:40px}#app-content .read .utils .title h1 a,#app-content .title .intro{font-weight:400;color:#777}#app-content .open .title .intro{display:none}#app-content .title .intro{font-size:10pt;margin-left:20px}#app-content .open .utils .title h1 a{overflow:auto;white-space:normal}#app-content .utils .date{padding:0 15px;margin-right:25px}#app-content .heading{padding:25px 0 10px}#app-content .heading h1{font-size:19px;max-width:770px;word-wrap:break-word}#app-content .heading a{font-weight:700;color:#222}#app-content .heading .date{float:right;display:inline-block;font-size:15px;padding:0 10px}#app-content .compact .article,#app-content .feed-view .source{display:none}#app-content .read .heading a{font-weight:400!important;color:#777}#app-content .article{min-height:69px;padding:0 50px 50px}#app-content .open .article{display:block}#app-content .subtitle{color:#777;font-size:15px;max-width:770px;padding-bottom:25px}#app-content .subtitle a{color:#777}#app-content .date{color:#777;white-space:nowrap}#app-content .author{color:#777;font-size:15px}#app-content .author a{color:inherit}#app-content .author a:hover{text-decoration:underline}#app-content .enclosure{padding:20px 0;max-width:770px;margin-bottom:15px}#app-content .enclosure audio,#app-content .enclosure img,#app-content .enclosure video{width:100%}#app-content .enclosure video{background-color:#000;margin-bottom:20px}#app-content .enclosure-error{line-height:1.5;height:40px}#app-content .body{max-width:770px;font-size:14px;clear:both;overflow-x:auto}#app-content .body p{line-height:1.5;margin:7px 0 14px}#app-content .body img,#app-content .body table{max-width:100%;height:auto;overflow:auto;word-wrap:break-word;white-space:normal}#app-content .body>div>:first-child>img:first-child,#app-content .body>div>img:first-child{padding:0 14px 0 0;float:left}#app-content .body h1,#app-content .body h2{font-size:17px;font-weight:700;color:#222;margin:21px 0 0}#app-content .body h3{font-size:15px;font-weight:700;color:#222;margin:21px 0 0}#app-content .body h4,#app-content .body h5,#app-content .body h6{font-weight:700}#app-content .body>div{margin:7px 0}#app-content .body a{color:#00f}#app-content .body ul{margin:7px 0;padding-left:14px;list-style-type:disc}#app-content .body ol{margin:7px 0;padding-left:21px}#app-content .body ul li{cursor:default;line-height:21px}#app-content .body pre{padding:7px 7px 7px 14px;background-color:#dadada;border:1px solid #ccc;margin:7px 0 14px;overflow-y:auto}#app-content .body pre::-webkit-scrollbar{height:10px}#app-content .body pre::-webkit-scrollbar-thumb{background:#333}#app-content .body pre::-webkit-scrollbar-track-piece{background:#ddd}#app-content .body code,#app-content .body pre{font-family:monospace;font-size:16px}#app-content .body blockquote{border-left:1px solid #d2d2d2;margin:25px 0;padding:0 0 0 15px;font-style:italic}#app-content .body em{font-style:italic;opacity:1}#app-content [dir=rtl]{text-align:right}#app-content .custom-heise-de .body p>span:first-child{display:inline-block;float:left;margin-right:10px;padding:6px 0}#app-content .custom-slashdot-org .body div>i{display:block;border-left:1px solid #d2d2d2;margin:25px 0;padding:0 0 0 15px}#app-content .custom-sueddeutsche-de .body img{float:none!important}#app-shortcuts table{border-collapse:collapse;width:100%;white-space:normal}#app-shortcuts tr:first-child{background-color:#f5f5f5}#app-shortcuts td,#app-shortcuts th{padding:10px}#app-shortcuts td{padding-right:15px}#app-shortcuts th{font-weight:700}#app-shortcuts td:first-child,#app-shortcuts th:first-child{text-align:right;font-weight:700;width:140px;-moz-box-sizing:content-box;box-sizing:content-box}@media (max-width:770px){#app-content .utils .date{display:none}#app-shortcuts th:first-child{padding-left:44px}}@media (max-width:600px){#app-content .article-actions ul{max-width:164px}#app-content .heading .date{display:none}#app-content .heading h1{margin-right:0}#app-content .utils{padding-right:15px}#app-content .article{padding-right:15px;padding-left:44px}}@media (max-width:340px){#app-content .article-actions{max-width:82px}}- #app-navigation .add-new .heading{height:44px;width:100%}#app-navigation .add-new .heading:hover{background-color:#ccc}#app-navigation .add-new .heading button{padding:0 0 0 44px;line-height:44px;width:100%;border:0;margin:0;text-align:left;font-weight:400;background-color:transparent;background-position:14px center}#app-navigation .add-new-popup{display:none;padding:10px;box-shadow:inset 0 0 10px #dedede;border-top:1px solid #dedede;border-bottom:1px solid #dedede}#app-navigation input.ng-invalid{border:1px solid #d14}#app-navigation .add-new-popup input,#app-navigation .add-new-popup select{width:100%;height:36px;padding:5px;margin-right:0}#app-navigation #new-feed [name=folderName],#app-navigation .add-new-popup select{width:calc(100% - 36px);border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;float:left}#app-navigation .add-new-popup .add-new-folder-primary{float:right;border-bottom-left-radius:0;border-top-left-radius:0;width:36px;height:36px;margin-left:0;margin-right:0}#app-navigation .add-new-popup .error{padding:0 0 10px}#app-navigation .icon-starred{background-image:url(../img/starred.png)}.icon-rss{background-image:url(../img/rss.svg)!important}.icon-full-text-enabled{background-image:url(../img/fulltext.svg);background-size:50%;opacity:.5}.icon-full-text-disabled{background-image:url(../img/nonfulltext.svg);background-size:50%;opacity:.5}#app-navigation .unread>a{font-weight:700}#app-navigation .entry-loading{background-image:url(../img/loading.gif)!important}#app-navigation input.entry-loading{background-size:20px}#app-navigation p.error{line-height:25px}#app-navigation .folder-rename-error{height:auto}#app-navigation .error-message{padding:15px;background-color:#DE1212;color:#fff;position:relative}#app-navigation .ui-state-disabled{opacity:1}#app-navigation .error-message .title{font-weight:700;padding-right:30px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#app-navigation .error-message button{top:0;right:0;position:absolute;margin:0;height:44px;width:44px;padding:15px;border:0;background-size:25px;background-color:transparent;background-image:url(../img/close.svg);background-repeat:no-repeat;background-position:right 5px top 5px;opacity:.9}#app-navigation .animate-show,#app-navigation .error-message button:hover{opacity:1}#app-navigation .animate-show.ng-hide-add,#app-navigation .animate-show.ng-hide-remove{transition:0s linear opacity}#app-navigation .animate-show.ng-hide-add-active,#app-navigation .animate-show.ng-hide-remove-active{transition:.2s linear opacity}#app-navigation .animate-show.ng-hide{opacity:0}#app-navigation .feed-no-ordering{transform:rotate(270deg)}#app-navigation .feed-reverse-ordering{transform:rotate(180deg)}#app-navigation .icon-pinned{background-image:url(../img/pinned.svg)}#app-navigation .icon-unpinned{background-image:url(../img/unpinned.svg)}#app-navigation .icon-updatemode-default{background-image:url(../img/updatemodedefault.svg)}#app-navigation .icon-updatemode-unread{background-image:url(../img/updatemodeunread.svg)}#app-navigation .updateerror a{background-color:orange!important}#app-navigation .add-new button,#app-navigation li a{opacity:1!important;color:#000!important}#app-navigation .active,#app-navigation .active a,#app-navigation li>a:hover{background-color:#ddd}#app-settings input[type=file]{position:absolute;left:-30000px}#app-settings .opened:hover{background-color:transparent!important}#app-settings-content{padding-bottom:25px}#app-settings-content h3{padding:5px 0;font-weight:700}#app-settings-content a{color:#00F}#app-settings-content p{padding:2px 2px 2px 10px}#app-settings-content label{display:block;padding-left:18px}#app-settings-content label input[type=checkbox]{margin-left:-18px;max-width:16px}.button-icon-label{background-position:10px center;background-size:16px;padding-left:25px}#app-settings .import-export h3{padding-top:15px;padding-bottom:5px}#app-settings .import-export a,#app-settings .import-export button{width:113px;height:30px;margin:0;vertical-align:middle;background-position:center}#explore,.explore #app-content-wrapper{height:100%}#app-settings .import-export a{display:inline-block}#app-settings .disabled{color:#aaa}#explore{width:100%;padding:45px 0 45px 45px}#explore .grid-item{float:left;width:300px;border-collapse:collapse;border:1px solid #ccc;margin:0 25px 25px 0}#explore h1{font-size:13pt;background-repeat:no-repeat;background-size:24px 24px;padding:5px 0 0 35px;background-position:0 center}#explore h1 a{word-wrap:break-word}#explore .category-wrapper{text-align:center}#explore .category{font-size:10pt;color:#fff;background-color:#1d2d44;padding:10px;font-weight:700}#explore .grid-item-content{padding:30px}#explore .explore-logo{text-align:center;margin-top:25px}#explore .explore-logo img{width:100%}#explore .explore-subscribe{padding-top:15px;text-align:right}#explore .explore-content{padding-top:25px}#explore .explore-filter{text-align:right;padding:30px}#explore .explore-filter input,#explore .explore-filter select{margin-left:10px;display:inline-block}#explore .explore-filter input{width:200px}#explore .explore-header{margin:0 45px 45px 0;text-align:center}#explore .explore-header a{color:#00A}
/*# sourceMappingURL=news.min.css.map */ \ No newline at end of file
diff --git a/css/news.min.css.map b/css/news.min.css.map
index 7d1e07ac4..eb629b435 100644
--- a/css/news.min.css.map
+++ b/css/news.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../css/content.css","../css/app.css","../css/settings.css","../css/explore.css","../css/custom.css","../css/shortcuts.css","../css/mobile.css","../css/navigation.css"],"names":[],"mappings":"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"} \ No newline at end of file
+{"version":3,"sources":["../css/content.css","../css/app.css","../css/settings.css","../css/explore.css","../css/custom.css","../css/shortcuts.css","../css/mobile.css","../css/navigation.css"],"names":[],"mappings":"AASA,4BCcA,MDbI,QAAS,KA0kBT,qBAlBA,sBA1II,8BAkDR,+BE/cA,wBC8EA,2BA3DA,oBHwCA,gBC/CI,cEoEH,gBAAiB,UFlGlB,gBACI,MAAO,KACP,OAAQ,KAGZ,gBACI,SAAU,MACV,IAAK,EACL,MAAO,KACP,WAAY,OACZ,QAAS,IACT,YAAa,IAGjB,MACI,QAAQ,IACR,iBAAiB,KACjB,OAAO,EACP,QAAQ,EAAE,KAAK,KAEf,SAAU,SACV,IAAI,EACJ,0BAA0B,IAC1B,2BAA2B,IAG3B,QACI,YAAa,IAOrB,WACI,QAAS,gBD/Bb,iCACI,WAAY,OACZ,MAAO,KACP,UAAW,KACX,WAAY,KACZ,OAAQ,KACR,MAAO,KACP,QAAS,MAGb,mCACI,eAAgB,OAChB,QAAS,WAIb,qBADA,UAEI,OAAQ,KAMZ,sBACI,OAAQ,KACR,QAAS,MACT,iBAAkB,KAGtB,4BACI,QAAS,MACT,MAAO,KACP,MAAO,kBACP,OAAQ,KACR,cAAe,EAInB,wBADA,6BAEI,QAAS,MACT,MAAO,KACP,OAAQ,KACR,MAAO,KACP,OAAQ,EACR,cAAe,EACf,OAAQ,EAER,iBAAkB,YAClB,kBAAmB,UACnB,oBAAqB,OAGzB,4BACI,gBAAiB,KACjB,iBAAkB,sBAGtB,+BACI,UAAW,eACX,gBAAiB,KACjB,iBAAkB,4BAGtB,8DACI,UAAW,QAGf,4BACI,SAAU,SACV,MAAO,EACP,KAAM,EAGV,gBAEI,MAAO,KAGX,iBACI,QAAS,MAMb,6BACI,WAAY,wBACS,iBAAiB,iBADD,UAGrC,WAAmG,eACnG,mBAAoB,eACpB,uBAAwB,eAG5B,kDACI,QAAS,KAGb,2CACI,QAAS,GACT,QAAS,MACT,OAAQ,KACR,kBAAmB,UAGvB,0CACI,QAAS,GACT,iBAAkB,wBAClB,oBAAqB,iBAAiB,iBAEtC,WAAwL,eACxL,mBAAoB,eACpB,uBAAwB,eAG5B,mDACI,iBAAkB,4CAClB,iBAAkB,8CAClB,iBAAkB,iDAClB,iBAAkB,6CAClB,iBAAkB,4CAOtB,iBACI,OAAQ,EACR,SAAU,OACV,WAAY,OACZ,iBAAiB,8CACjB,iBAAiB,iDACjB,iBAAiB,6CACjB,iBAAiB,yCAGrB,sCACI,WAAY,IAAI,IAAK,KACrB,YAAa,KACb,OAAQ,KAOZ,+BACI,QAAS,MAGb,wCAIA,8BAHI,QAAS,KAOb,uCACI,QAAS,MAGb,mBACI,OAAQ,QACR,cAAe,IAAI,MAAM,KACzB,iBAAkB,yCAMtB,8BACI,cAAe,EAMnB,oBACI,MAAO,KACP,YAAa,KACb,WAAY,WACZ,QAAS,KAAK,KAAK,EAAE,KAGzB,6BACI,OAAQ,QACR,YAAa,EAGjB,uBACI,OAAQ,KACR,gBAAiB,KACjB,QAAS,KACT,OAAQ,EACR,QAAS,EAGb,6BACI,OAAQ,KAGR,0BACI,UAAW,EAGf,0BACI,MAAO,KAGX,mCACI,MAAO,KAGX,uBACI,YAAa,KACb,eAAgB,OAGpB,qCACI,cAAe,EAGnB,sCACI,aAAc,EAGlB,0BACI,QAAS,EAAE,IAQf,8BADA,2BAEI,QAAS,EACT,OAAQ,EACR,OAAQ,KACR,MAAO,KACP,OAAQ,EACR,MAAO,KACP,iBAAkB,YAElB,kBAAmB,UACnB,gBAAiB,KACjB,oBAAqB,OAGzB,8BAEA,iCADA,iCAEI,QAAS,aACT,QAAS,GAGb,oCAGA,6CADA,uCADA,uCAGI,QAAS,EAGb,0BACI,iBAAkB,8BAItB,gCADA,6BAEI,iBAAkB,4BAGtB,iCACI,QAAS,GAGb,uCACI,QAAS,EAGb,0BACI,SAAU,SAGd,8BACI,QAAS,KACT,OAAQ,8CACR,eAAgB,8CAChB,YAAa,8CACb,SAAU,SACV,IAAK,KACL,cAAe,IACf,QAAS,KACT,OAAQ,IAAI,MAAM,YAClB,iBAAkB,KAClB,OAAQ,EACR,QAAS,EAGb,iCACI,QAAS,KACT,MAAO,KAGX,iCACI,MAAO,KACP,MAAO,eAGX,sDACI,KAAM,IAGV,4DACA,6DACI,KAAM,KAGV,gDACI,MAAO,MAGX,sDACA,uDACI,MAAO,IAGX,oCACA,qCACC,OAAQ,KACR,OAAQ,MAAM,YACd,QAAS,IACT,OAAQ,EACR,MAAO,EACP,SAAU,SACV,eAAgB,KAGjB,oCACC,aAAc,oBACd,oBAAqB,KACrB,aAAc,IACd,YAAa,KAEd,qCACC,aAAc,oBACd,oBAAqB,KACrB,aAAc,IACd,YAAa,KAMd,2BACI,MAAO,KACP,aAAc,KACd,oBAAqB,KAAK,KAC1B,gBAAiB,KAAK,KACtB,kBAAmB,UAGvB,sCACI,yBACA,aAAc,KAGlB,gCAEI,YAAiD,OACjD,SAAU,OACV,MAAO,KACP,QAAS,aACT,MAAO,KACP,YAAa,IACb,UAAW,KACX,YAAa,IACb,YAAa,IACb,WAAY,KAmBhB,sCAZA,2BAaI,YAAa,IACb,MAAO,KAlBX,iCACI,QAAS,KAGb,2BAEI,UAAW,KAEX,YAAa,KAGjB,sCACI,SAAU,KACV,YAAa,OAQjB,0BACI,QAAS,EAAE,KACX,aAAc,KAOtB,sBACI,QAAS,KAAK,EAAE,KAGpB,yBACI,UAAW,KACX,UAAW,MACX,UAAW,WAGX,wBACI,YAAa,IACb,MAAO,KAMf,4BACI,MAAO,MACP,QAAS,aACT,UAAW,KACX,QAAS,EAAE,KAoBf,+BAZA,gCAaI,QAAS,KAlBb,8BACI,YAAa,cACb,MAAO,KAUX,sBACI,WAAY,KACZ,QAAS,EAAE,KAAK,KAOpB,4BACI,QAAS,MAMb,uBACI,MAAO,KACP,UAAW,KACX,UAAW,MACX,eAAgB,KAGpB,yBACI,MAAO,KAOX,mBACI,MAAO,KACP,YAAa,OAMjB,qBACI,MAAO,KACP,UAAW,KAGX,uBACI,MAAO,QAGP,6BACI,gBAAiB,UAM7B,wBACI,QAAS,KAAK,EACd,UAAW,MACX,cAAe,KAGnB,8BAEA,4BADA,8BAEI,MAAO,KAGX,8BACI,iBAAkB,KAClB,cAAe,KAGnB,8BACI,YAAa,IACb,OAAQ,KAMZ,mBACI,UAAW,MACX,UAAW,KACX,MAAO,KACP,WAAY,KAGZ,qBACI,YAAa,IACb,OAAQ,IAAI,EAAE,KAGlB,uBACA,yBACI,UAAW,KACX,OAAQ,KACR,SAAU,KACV,UAAW,WACX,YAAY,OAIhB,oDADA,uCAEI,QAAS,EAAE,KAAK,EAAE,EAClB,MAAO,KAGX,sBACA,sBACI,UAAW,KACX,YAAa,IACb,MAAO,KACP,OAAQ,KAAK,EAAE,EAGnB,sBACI,UAAW,KACX,YAAa,IACb,MAAO,KACP,OAAQ,KAAK,EAAE,EAInB,sBACA,sBACA,sBACI,YAAa,IAGjB,uBACI,OAAQ,IAAI,EAGhB,qBACI,MAAO,KAIX,sBACI,OAAQ,IAAI,EACZ,aAAc,KACd,gBAAiB,KAGrB,sBACI,OAAQ,IAAI,EACZ,aAAc,KAGd,yBACI,OAAQ,QACR,YAAa,KAGrB,uBACI,QAAS,IAAI,IAAI,IAAI,KACrB,iBAAkB,QAClB,OAAQ,IAAI,MAAM,KAClB,OAAQ,IAAI,EAAE,KACd,WAAY,KAEZ,0CACI,OAAQ,KAGZ,gDACI,WAAY,KAGhB,sDACI,WAAY,KAGhB,wBACA,uBACI,YAAa,UACb,UAAW,KAGnB,8BACI,YAAa,IAAI,MAAM,QACvB,OAAQ,KAAK,EACb,QAAS,EAAE,EAAE,EAAE,KACf,WAAY,OAGhB,sBACI,WAAY,OACZ,QAAS,EAGb,uBACI,WAAY,MI5oBpB,uDACI,QAAS,aACT,MAAO,KACP,aAAc,KACd,QAAS,IAAI,EAGjB,8CACI,QAAS,MACT,YAAa,IAAI,MAAM,QACvB,OAAQ,KAAK,EACb,QAAS,EAAE,EAAE,EAAE,KAGnB,+CACI,MAAO,eCfX,qBACI,gBAAiB,SACjB,MAAO,KACP,YAAa,OAGjB,8BACI,iBAAkB,QAItB,kBADA,kBAEI,QAAS,KAGb,kBACI,cAAe,KAGnB,kBACI,YAAa,IAIjB,8BADA,8BAEI,WAAY,MACZ,YAAa,IACb,MAAO,MACP,gBAAiB,YACjB,WAAY,YChChB,yBACI,0BACI,QAAS,KAGb,8BACI,aAAc,MAKtB,yBACI,iCACI,UAAW,MAGf,4BACI,QAAS,KAGb,yBACI,aAAc,EAGlB,oBACI,cAAe,KAGnB,sBACI,cAAe,KACf,aAAc,MAItB,yBACI,8BACI,UAAW,MCpCnB,sCAaI,OAAQ,KACR,MAAO,KAGX,wCACI,iBAAkB,KAGtB,yCACI,QAAS,EAAE,EAAE,EAAE,KACf,YAAa,KACb,MAAO,KACP,OAAQ,EACR,OAAQ,EACR,WAAY,KACZ,YAAa,IACb,iBAAkB,YAClB,oBAAqB,KAAK,OAQ9B,+BACI,QAAS,KACT,QAAS,KACT,WAAY,MAAM,EAAI,EAAI,KAAK,QAC/B,WAAY,IAAI,MAAM,QACtB,cAAe,IAAI,MAAM,QAI7B,iCACI,OAAQ,IAAI,MAAM,KAGtB,qCACA,sCACI,MAAO,KACP,OAAQ,KACR,QAAS,IACT,aAAc,EAIlB,4CADA,sCAEI,MAAO,kBACP,aAAc,EACd,wBAAyB,EACzB,2BAA4B,EAC5B,MAAO,KAGX,uDACI,MAAO,MACP,0BAA2B,EAC3B,uBAAwB,EACxB,MAAO,KACP,OAAQ,KACR,YAAa,EACb,aAAc,EAIlB,sCACI,QAAS,EAAE,EAAE,KAIjB,8BACI,iBAAkB,wBAGtB,UACI,iBAAkB,8BAGtB,wBACI,iBAAkB,yBAClB,gBAAiB,IACjB,QAAS,GAIb,yBACI,iBAAkB,4BAClB,gBAAiB,IACjB,QAAS,GAGb,0BACI,YAAa,IAGjB,+BACI,iBAAkB,kCAGtB,oCACI,gBAAiB,KAGrB,wBACI,YAAa,KAGjB,qCACI,OAAQ,KAMZ,+BACI,QAAS,KACT,iBAAkB,QAClB,MAAO,KACP,SAAU,SAGd,mCACI,QAAS,EAGb,sCACI,YAAa,IACb,cAAe,KACf,SAAU,OACV,cAAe,SACf,YAAa,OAQjB,sCACI,IAAK,EACL,MAAO,EACP,SAAU,SACV,OAAQ,EAER,OAAQ,KACR,MAAO,KACP,QAAS,KACT,OAAQ,EACR,gBAAiB,KACjB,iBAAkB,YAClB,iBAAkB,sBAClB,kBAAmB,UACnB,oBAAqB,MAAM,IAAI,IAAI,IACnC,QAAS,GAmBb,8BAhBA,4CAiBI,QAAS,EAbb,0CACA,6CAEE,WACiD,GAAG,OAAO,QAG7D,iDACA,oDACE,WAAY,IAAI,OAAO,QAOzB,sCACI,QAAS,EAGb,kCACI,UAAW,eAGf,uCACI,UAAW,eAMf,6BACI,iBAAkB,uBAGtB,+BACI,iBAAkB,yBAGtB,yCACI,iBAAkB,kCAGtB,wCACI,iBAAkB,iCAGtB,+BACI,iBAAkB,iBAOtB,gCADA,qBAEI,QAAS,YACT,MAAO,eAEX,wBACA,0BACA,2BACI,iBAAkB,KLnOtB,+BACI,SAAU,SACV,KAAM,SAGV,4BACI,iBAAkB,sBAGtB,sBACI,eAAgB,KAGpB,yBACI,QAAS,IAAI,EACb,YAAa,IAGjB,wBACI,MAAO,KAKX,wBACI,QAAS,IAAI,IAAI,IAAI,KAGzB,4BACI,QAAS,MACT,aAAc,KAGlB,iDACI,YAAa,MACb,UAAW,KAGf,mBACI,oBAAqB,KAAK,OAC1B,gBAAiB,KACjB,aAAc,KAGlB,gCACI,YAAa,KACb,eAAgB,IAIpB,+BADA,oCAEI,MAAO,MACP,OAAQ,KACR,OAAQ,EACR,eAAgB,OAChB,oBAAqB,OC/CzB,SAJA,8BAKC,OAAQ,KDiDT,+BACI,QAAS,aAGb,wBACI,MAAO,KCvDX,SAEC,MAAO,KACP,QAAS,KACM,EADN,KAAA,KAKV,oBACC,MAAO,KACP,MAAO,MACP,gBAAiB,SACjB,OAAQ,IAAI,MAAM,KAClB,OAAQ,EAAE,KAAK,KAAK,EAGrB,YACC,UAAW,KACX,kBAAmB,UAEnB,gBAAiB,KAAK,KACtB,QAAS,IAAI,EAAE,EAAE,KACjB,oBAAqB,EAAE,OAGxB,cACC,UAAW,WAOZ,2BACC,WAAY,OAGb,mBAEC,UAAW,KACX,MAAO,KACP,iBAAkB,QAClB,QAAS,KACT,YAAa,IAGd,4BACC,QAAS,KAGV,uBACC,WAAY,OACZ,WAAY,KAGb,2BACC,MAAO,KAGR,4BACC,YAAa,KACb,WAAY,MAGb,0BACC,YAAa,KAGd,yBACC,WAAY,MACZ,QAAS,KAGV,+BACA,gCACC,YAAa,KACb,QAAS,aAGV,+BACC,MAAO,MAGR,yBACC,OAAQ,EAAE,KAAK,KAAK,EACpB,WAAY,OAGb,2BACC,MAAO"} \ No newline at end of file
diff --git a/explore/feeds/feeds.de.json b/explore/feeds/feeds.de.json
new file mode 100644
index 000000000..e13cc793e
--- /dev/null
+++ b/explore/feeds/feeds.de.json
@@ -0,0 +1,57 @@
+{
+ "Technologie": [{
+ "title": "ComputerBase",
+ "favicon": "https:\/\/computerbase.de\/favicon.ico",
+ "url": "http:\/\/www.computerbase.de\/",
+ "feed": "http:\/\/www.computerbase.de\/rss\/news.xml",
+ "description": "Unabh\u00e4ngiges Tech-Magazin",
+ "votes": 100
+ }, {
+ "title": "Golem.de",
+ "favicon": "http:\/\/golem.de\/favicon.ico",
+ "url": "http:\/\/www.golem.de\/",
+ "feed": "http:\/\/golem.de.dynamic.feedsportal.com\/pf\/578068\/http:\/\/rss.golem.de\/rss.php?feed=RSS1.0",
+ "description": "IT-News fuer Profis",
+ "votes": 100,
+ "image": "http:\/\/www.golem.de\/staticrl\/images\/golem-rss.png"
+ }, {
+ "title": "derStandard.at \u203a Web",
+ "favicon": "https:\/\/derstandard.at\/img\/derstandard.at.ico",
+ "url": "http:\/\/derstandard.at\/Web",
+ "feed": "http:\/\/derstandard.at\/?page=rss&ressort=web",
+ "description": "Nachrichten in Echtzeit. derStandard.at: Permanent aktualisierte Nachrichten aus aller Welt vom Online-Newsroom der f\u00fchrenden Qualit\u00e4tszeitung \u00d6sterreichs. Plus die ganze Tageszeitung gratis im WWW. News in German, brought to you by the leading quality newspaper from Austria.",
+ "votes": 100
+ }, {
+ "title": "Pro-Linux News",
+ "favicon": "http:\/\/www.pro-linux.de\/favicon.ico",
+ "url": "http:\/\/www.pro-linux.de\/",
+ "feed": "http:\/\/www.pro-linux.de\/rss\/index1.xml",
+ "description": "Wir geben Ihrem Computer das Leben zur\u00fcck",
+ "votes": 100,
+ "image": "http:\/\/www.pro-linux.de\/images\/NB3\/base\/global\/pl-logo_i70.png"
+ }, {
+ "title": "heise online News",
+ "favicon": "https:\/\/www.heise.de\/favicon.ico",
+ "url": "http:\/\/www.heise.de\/newsticker\/",
+ "feed": "http:\/\/heise.de.feedsportal.com\/c\/35207\/f\/653901\/index.rss",
+ "description": "Nachrichten nicht nur aus der Welt der Computer",
+ "votes": 100
+ }],
+ "FOSS": [{
+ "title": "heise open news",
+ "favicon": "https:\/\/www.heise.de\/favicon.ico",
+ "url": "http:\/\/www.heise.de\/open\/news\/",
+ "feed": "http:\/\/heise.de.open.feedsportal.com\/c\/32509\/f\/480599\/index.rss",
+ "description": "Nachrichten zu Open Source",
+ "votes": 100
+ }
+ ],
+ "Nachrichten": [{
+ "title": "derStandard.at",
+ "favicon": "https:\/\/derstandard.at\/img\/derstandard.at.ico",
+ "url": "http:\/\/derstandard.at\/",
+ "feed": "http:\/\/derstandard.at\/?page=rss&ressort=seite1",
+ "description": "Nachrichten in Echtzeit. derStandard.at: Permanent aktualisierte Nachrichten aus aller Welt vom Online-Newsroom der f\u00fchrenden Qualit\u00e4tszeitung \u00d6sterreichs. Plus die ganze Tageszeitung gratis im WWW. News in German, brought to you by the leading quality newspaper from Austria.",
+ "votes": 100
+ }]
+}
diff --git a/explore/feeds/feeds.en.json b/explore/feeds/feeds.en.json
index 4ad6729de..dc138349c 100644
--- a/explore/feeds/feeds.en.json
+++ b/explore/feeds/feeds.en.json
@@ -1,145 +1,146 @@
{
- "ownCloud": [
- {
- "title": "ownCloud Planet",
- "favicon": "https://owncloud.org/wp-content/themes/owncloudorgnew/assets/img/common/favicon.png",
- "url": "https://owncloud.org/news/",
- "feed": "https://owncloud.org/feed/",
- "description": "ownCloud Planet is a blog feed aggregator",
- "votes": 1000
- },
- {
- "title": "News app releases",
- "favicon": "https://owncloud.org/wp-content/themes/owncloudorgnew/assets/img/common/favicon.png",
- "url": "https://github.com/owncloud/news/releases",
- "feed": "https://github.com/owncloud/news/releases.atom",
- "description": "ownCloud News app releases page. Get notified when a new release comes out",
- "votes": 900
- }
- ],
- "FOSS": [
- {
- "title": "Planet GNOME",
- "favicon": "http:\/\/planet.gnome.org\/img\/gnome-16.png",
- "url": "http:\/\/planet.gnome.org\/",
- "feed": "http:\/\/planet.gnome.org\/rss20.xml",
- "description": "Planet GNOME - http:\/\/planet.gnome.org\/",
- "votes": 100
- },
- {
- "title": "Planet KDE",
- "favicon": "https:\/\/planetkde.org\/favicon.ico",
- "url": "http:\/\/planetKDE.org\/",
- "feed": "http:\/\/planetKDE.org\/rss20.xml",
- "description": "Planet KDE - http:\/\/planetKDE.org\/",
- "votes": 100
- }
- ],
- "Tech": [
- {
- "title": "Slashdot",
- "favicon": "https://slashdot.org/favicon.ico",
- "url": "https://slashdot.org",
- "feed": "https://rss.slashdot.org/Slashdot/slashdot",
- "description": "Slashdot: News for nerds, stuff that matters",
- "votes": 500
- }
- ],
- "UX": [
- {
- "title": "Mozilla UX blog",
- "favicon": "https://blog.mozilla.org/ux/wp-content/themes/OneMozilla/img/favicon.ico",
- "url": "https://blog.mozilla.org/ux/",
- "feed": "https://blog.mozilla.org/ux/feed/",
- "description": "Designing great products that make sense & bring joy",
- "votes": 500
- },
- {
- "title": "Little Big Details",
- "url": "http://littlebigdetails.com/",
- "feed": "http://littlebigdetails.com/rss",
- "favicon": "http://33.media.tumblr.com/avatar_21babec3285d_128.png",
- "description": "UX eastereggs and goodies",
- "votes": 1000
- },
- {
- "title": "Ignore the code",
- "favicon": "http://ignorethecode.net/blog_images/iphone.png",
- "url": "http://ignorethecode.net/blog/",
- "feed": "http://feeds.feedburner.com/IgnoreTheCode",
- "description": "A blog about usability",
- "votes": 500
- },
- {
- "title": "Elezea",
- "url": "http://www.elezea.com",
- "feed": "http://feedpress.me/elezea",
- "description": "Links and articles about technology, design, and sociology. Written by Rian van der Merwe.",
- "votes": 500
- }
- ],
- "Music": [
- {
- "title": "Pebber Brown",
- "favicon": "https:\/\/s.ytimg.com\/yts\/img\/favicon-vflz7uhzw.ico",
- "url": "http:\/\/www.youtube.com\/channel\/UCbA-Tt8ELg8v0d7RdieeZyA",
- "feed": "http:\/\/www.youtube.com\/feeds\/videos.xml?channel_id=UCbA-Tt8ELg8v0d7RdieeZyA",
- "description": "Videos about music theory and scales",
- "votes": 100
- }
- ],
- "Science": [
- {
- "title": "Numberphile",
- "favicon": "https:\/\/s.ytimg.com\/yts\/img\/favicon-vflz7uhzw.ico",
- "url": "http:\/\/www.youtube.com\/channel\/UCoxcjq-8xIDTYp3uz647V5A",
- "feed": "http:\/\/www.youtube.com\/feeds\/videos.xml?channel_id=UCoxcjq-8xIDTYp3uz647V5A",
- "description": "Awesome mathematics videos",
- "votes": 500
- },
- {
- "title": "Periodic Videos",
- "favicon": "https:\/\/s.ytimg.com\/yts\/img\/favicon-vflz7uhzw.ico",
- "url": "http:\/\/www.youtube.com\/channel\/UCtESv1e7ntJaLJYKIO1FoYw",
- "feed": "http:\/\/www.youtube.com\/feeds\/videos.xml?channel_id=UCtESv1e7ntJaLJYKIO1FoYw",
- "description": "Videos about elements and chemistry",
- "votes": 1000
- }
- ],
- "Food": [
- {
- "title": "Smitten Kitchen",
- "favicon": "http://smittenkitchen.com/uploads/favicon.ico",
- "url": "http://smittenkitchen.com/",
- "feed": "http://feeds.feedburner.com/smittenkitchen",
- "description": "A home cooking weblog from a tiny kitchen in New York City. The place to find all of your new favorite things to cook",
- "votes": 500
- },
- {
- "title": "Food in Jars",
- "favicon": "http://foodinjars.com.s164546.gridserver.com/arugulapesto/wp-content/uploads/2013/05/jar-favicon.png",
- "url": "http://foodinjars.com/",
- "feed": "http://feedpress.me/FIJ",
- "description": "A blog dedicated to canning, preserving, and pantry staples made from scratch.",
- "votes": 500
- }
- ],
- "Comics": [
- {
- "title": "Explosm.net",
- "favicon": "http://explosm.net/favicons/favicon.ico",
- "url": "http:\/\/www.explosm.net\/rss.php",
- "feed": "http:\/\/feeds.feedburner.com\/Explosm",
- "description": "Flash Animations, Daily Comics and more!",
- "votes": 100
- },
- {
- "title": "The Oatmeal - Comics, Quizzes, & Stories",
- "favicon": "http:\/\/theoatmeal.com\/favicon.ico",
- "url": "http:\/\/theoatmeal.com\/",
- "feed": "http:\/\/feeds.feedburner.com\/oatmealfeed",
- "description": "The oatmeal tastes better than stale skittles found under the couch cushions",
- "votes": 100
- }
- ]
+ "ownCloud": [{
+ "title": "ownCloud Planet",
+ "favicon": "https://owncloud.org/wp-content/themes/owncloudorgnew/assets/img/common/favicon.png",
+ "url": "https://owncloud.org/news/",
+ "feed": "https://owncloud.org/feed/",
+ "description": "ownCloud Planet is a blog feed aggregator",
+ "votes": 1000
+ }, {
+ "title": "News app releases",
+ "favicon": "https://owncloud.org/wp-content/themes/owncloudorgnew/assets/img/common/favicon.png",
+ "url": "https://github.com/owncloud/news/releases",
+ "feed": "https://github.com/owncloud/news/releases.atom",
+ "description": "ownCloud News app releases page. Get notified when a new release comes out",
+ "votes": 900
+ }],
+ "FOSS": [{
+ "title": "Planet GNOME",
+ "favicon": "http:\/\/planet.gnome.org\/img\/gnome-16.png",
+ "url": "http:\/\/planet.gnome.org\/",
+ "feed": "http:\/\/planet.gnome.org\/rss20.xml",
+ "description": "Planet GNOME - http:\/\/planet.gnome.org\/",
+ "votes": 100
+ }, {
+ "title": "Planet KDE",
+ "favicon": "https:\/\/planetkde.org\/favicon.ico",
+ "url": "http:\/\/planetKDE.org\/",
+ "feed": "http:\/\/planetKDE.org\/rss20.xml",
+ "description": "Planet KDE - http:\/\/planetKDE.org\/",
+ "votes": 100
+ }, {
+ "title": "Planet Mozilla",
+ "favicon": "https:\/\/planet.mozilla.org\/img\/mozilla-16.png",
+ "url": "http:\/\/planet.mozilla.org\/",
+ "feed": "http:\/\/planet.mozilla.org\/atom.xml",
+ "description": "Planet Mozilla - Mozilla Blogs",
+ "votes": 100
+ }
+
+ ],
+ "Tech": [{
+ "title": "Slashdot",
+ "favicon": "https://slashdot.org/favicon.ico",
+ "url": "https://slashdot.org",
+ "feed": "https://rss.slashdot.org/Slashdot/slashdot",
+ "description": "Slashdot: News for nerds, stuff that matters",
+ "votes": 500
+ }],
+ "Gaming": [{
+ "title": "TotalBiscuit, The Cynical Brit",
+ "favicon": "https:\/\/s.ytimg.com\/yts\/img\/favicon-vflz7uhzw.ico",
+ "url": "http:\/\/www.youtube.com\/channel\/UCy1Ms_5qBTawC-k7PVjHXKQ",
+ "feed": "http:\/\/www.youtube.com\/feeds\/videos.xml?channel_id=UCy1Ms_5qBTawC-k7PVjHXKQ",
+ "description": "",
+ "votes": 100
+ }, {
+ "title": "Force Gaming",
+ "favicon": "https:\/\/s.ytimg.com\/yts\/img\/favicon-vflz7uhzw.ico",
+ "url": "http:\/\/www.youtube.com\/channel\/UCGhs9S33RAeT5DEuKTO4Oew",
+ "feed": "http:\/\/www.youtube.com\/feeds\/videos.xml?channel_id=UCGhs9S33RAeT5DEuKTO4Oew",
+ "description": "",
+ "votes": 100
+ }
+ ],
+ "UX": [{
+ "title": "Mozilla UX blog",
+ "favicon": "https://blog.mozilla.org/ux/wp-content/themes/OneMozilla/img/favicon.ico",
+ "url": "https://blog.mozilla.org/ux/",
+ "feed": "https://blog.mozilla.org/ux/feed/",
+ "description": "Designing great products that make sense & bring joy",
+ "votes": 500
+ }, {
+ "title": "Little Big Details",
+ "url": "http://littlebigdetails.com/",
+ "feed": "http://littlebigdetails.com/rss",
+ "favicon": "http://33.media.tumblr.com/avatar_21babec3285d_128.png",
+ "description": "UX eastereggs and goodies",
+ "votes": 1000
+ }, {
+ "title": "Ignore the code",
+ "favicon": "http://ignorethecode.net/blog_images/iphone.png",
+ "url": "http://ignorethecode.net/blog/",
+ "feed": "http://feeds.feedburner.com/IgnoreTheCode",
+ "description": "A blog about usability",
+ "votes": 500
+ }, {
+ "title": "Elezea",
+ "url": "http://www.elezea.com",
+ "feed": "http://feedpress.me/elezea",
+ "description": "Links and articles about technology, design, and sociology. Written by Rian van der Merwe.",
+ "votes": 500
+ }],
+ "Music": [{
+ "title": "Pebber Brown",
+ "favicon": "https:\/\/s.ytimg.com\/yts\/img\/favicon-vflz7uhzw.ico",
+ "url": "http:\/\/www.youtube.com\/channel\/UCbA-Tt8ELg8v0d7RdieeZyA",
+ "feed": "http:\/\/www.youtube.com\/feeds\/videos.xml?channel_id=UCbA-Tt8ELg8v0d7RdieeZyA",
+ "description": "Videos about music theory and scales",
+ "votes": 100
+ }],
+ "Science": [{
+ "title": "Numberphile",
+ "favicon": "https:\/\/s.ytimg.com\/yts\/img\/favicon-vflz7uhzw.ico",
+ "url": "http:\/\/www.youtube.com\/channel\/UCoxcjq-8xIDTYp3uz647V5A",
+ "feed": "http:\/\/www.youtube.com\/feeds\/videos.xml?channel_id=UCoxcjq-8xIDTYp3uz647V5A",
+ "description": "Awesome mathematics videos",
+ "votes": 500
+ }, {
+ "title": "Periodic Videos",
+ "favicon": "https:\/\/s.ytimg.com\/yts\/img\/favicon-vflz7uhzw.ico",
+ "url": "http:\/\/www.youtube.com\/channel\/UCtESv1e7ntJaLJYKIO1FoYw",
+ "feed": "http:\/\/www.youtube.com\/feeds\/videos.xml?channel_id=UCtESv1e7ntJaLJYKIO1FoYw",
+ "description": "Videos about elements and chemistry",
+ "votes": 1000
+ }],
+ "Food": [{
+ "title": "Smitten Kitchen",
+ "favicon": "http://smittenkitchen.com/uploads/favicon.ico",
+ "url": "http://smittenkitchen.com/",
+ "feed": "http://feeds.feedburner.com/smittenkitchen",
+ "description": "A home cooking weblog from a tiny kitchen in New York City. The place to find all of your new favorite things to cook",
+ "votes": 500
+ }, {
+ "title": "Food in Jars",
+ "favicon": "http://foodinjars.com.s164546.gridserver.com/arugulapesto/wp-content/uploads/2013/05/jar-favicon.png",
+ "url": "http://foodinjars.com/",
+ "feed": "http://feedpress.me/FIJ",
+ "description": "A blog dedicated to canning, preserving, and pantry staples made from scratch.",
+ "votes": 500
+ }],
+ "Comics": [{
+ "title": "Explosm.net",
+ "favicon": "http://explosm.net/favicons/favicon.ico",
+ "url": "http:\/\/www.explosm.net\/rss.php",
+ "feed": "http:\/\/feeds.feedburner.com\/Explosm",
+ "description": "Flash Animations, Daily Comics and more!",
+ "votes": 100
+ }, {
+ "title": "The Oatmeal - Comics, Quizzes, & Stories",
+ "favicon": "http:\/\/theoatmeal.com\/favicon.ico",
+ "url": "http:\/\/theoatmeal.com\/",
+ "feed": "http:\/\/feeds.feedburner.com\/oatmealfeed",
+ "description": "The oatmeal tastes better than stale skittles found under the couch cushions",
+ "votes": 100
+ }]
}
diff --git a/js/app/Config.js b/js/app/Config.js
index c711b92c3..df7cc60e5 100644
--- a/js/app/Config.js
+++ b/js/app/Config.js
@@ -137,16 +137,21 @@ app.config(function ($routeProvider, $provide, $httpProvider) {
var getExploreResolve = function () {
return {
sites: /* @ngInject */ function (
- $http, $q, BASE_URL, Publisher, SettingsResource) {
+ $http, $q, BASE_URL, $location, Publisher, SettingsResource) {
var deferred = $q.defer();
+ // always use the code from the url
+ var language = $location.search().lang;
+ if (!language) {
+ language = SettingsResource.get('language');
+ }
+
$http.get(BASE_URL + '/settings').then(function (data) {
Publisher.publishAll(data);
// get url and strip trailing slashes
var url = SettingsResource.get('exploreUrl')
.replace(/\/+$/, '');
- var language = SettingsResource.get('language');
var exploreUrl = url + '/feeds.' + language + '.json';
var defaultExploreUrl = url + '/feeds.en.json';
diff --git a/js/build/app.js b/js/build/app.js
index a46342698..8c2124c02 100644
--- a/js/build/app.js
+++ b/js/build/app.js
@@ -134,17 +134,22 @@ app.config(["$routeProvider", "$provide", "$httpProvider", function ($routeProvi
var getExploreResolve = function () {
return {
- sites: /* @ngInject */ ["$http", "$q", "BASE_URL", "Publisher", "SettingsResource", function (
- $http, $q, BASE_URL, Publisher, SettingsResource) {
+ sites: /* @ngInject */ ["$http", "$q", "BASE_URL", "$location", "Publisher", "SettingsResource", function (
+ $http, $q, BASE_URL, $location, Publisher, SettingsResource) {
var deferred = $q.defer();
+ // always use the code from the url
+ var language = $location.search().lang;
+ if (!language) {
+ language = SettingsResource.get('language');
+ }
+
$http.get(BASE_URL + '/settings').then(function (data) {
Publisher.publishAll(data);
// get url and strip trailing slashes
var url = SettingsResource.get('exploreUrl')
.replace(/\/+$/, '');
- var language = SettingsResource.get('language');
var exploreUrl = url + '/feeds.' + language + '.json';
var defaultExploreUrl = url + '/feeds.en.json';
@@ -535,7 +540,8 @@ app.controller('ContentController',
};
}]);
-app.controller('ExploreController', ["sites", "$rootScope", "FeedResource", function (sites, $rootScope, FeedResource) {
+app.controller('ExploreController',
+["sites", "$rootScope", "FeedResource", "SettingsResource", "$location", function (sites, $rootScope, FeedResource, SettingsResource, $location) {
'use strict';
this.sites = sites;
@@ -565,7 +571,25 @@ app.controller('ExploreController', ["sites", "$rootScope", "FeedResource", func
}).length > 0;
};
+ this.getSupportedLanguageCodes = function () {
+ return SettingsResource.getSupportedLanguageCodes();
+ };
+
+ this.getCurrentLanguageCode = function () {
+ var language = $location.search().lang;
+ if (!language) {
+ language = SettingsResource.get('language');
+ }
+ return language;
+ };
+
+ this.showLanguage = function (languageCode) {
+ $location.url('/explore/?lang=' + languageCode);
+ };
+
+ this.selectedLanguageCode = this.getCurrentLanguageCode();
}]);
+
app.controller('NavigationController',
["$route", "FEED_TYPE", "FeedResource", "FolderResource", "ItemResource", "SettingsResource", "Publisher", "$rootScope", "$location", "$q", function ($route, FEED_TYPE, FeedResource, FolderResource, ItemResource,
SettingsResource, Publisher, $rootScope, $location, $q) {
@@ -584,6 +608,10 @@ app.controller('NavigationController',
return parseInt($route.current.params.id, 10);
};
+ this.getLanguageCode = function () {
+ return SettingsResource.get('language');
+ };
+
this.getFeeds = function () {
return FeedResource.getAll();
};
@@ -2002,13 +2030,17 @@ app.service('SettingsResource', ["$http", "BASE_URL", function ($http, BASE_URL)
};
this.defaultLanguageCode = 'en';
this.supportedLanguageCodes = [
- 'ar-ma', 'ar', 'bg', 'ca', 'cs', 'cv', 'da', 'de', 'el', 'en-ca',
+ 'ar-ma', 'ar', 'bg', 'ca', 'cs', 'cv', 'da', 'de', 'el', 'en', 'en-ca',
'en-gb', 'eo', 'es', 'et', 'eu', 'fi', 'fr-ca', 'fr', 'gl', 'he', 'hi',
'hu', 'id', 'is', 'it', 'ja', 'ka', 'ko', 'lv', 'ms-my', 'nb', 'ne',
'nl', 'pl', 'pt-br', 'pt', 'ro', 'ru', 'sk', 'sl', 'sv', 'th', 'tr',
'tzm-la', 'tzm', 'uk', 'zh-cn', 'zh-tw'
];
+ this.getSupportedLanguageCodes = function () {
+ return this.supportedLanguageCodes;
+ };
+
this.receive = function (data) {
var self = this;
Object.keys(data).forEach(function (key) {
@@ -2058,6 +2090,7 @@ app.service('SettingsResource', ["$http", "BASE_URL", function ($http, BASE_URL)
};
}]);
+
/**
* This prefills the add feed section if an external link has ?subsribe_to
* filled out
diff --git a/js/build/app.min.js b/js/build/app.min.js
index 9e0608a0a..00d0c87b5 100644
--- a/js/build/app.min.js
+++ b/js/build/app.min.js
@@ -1,3 +1,3 @@
-!function(a,b,c,d,e,f,g,h,i){"use strict";var j=d.module("News",["ngRoute","ngSanitize","ngAnimate"]);j.config(["$routeProvider","$provide","$httpProvider",function(a,b,c){var d={FEED:0,FOLDER:1,STARRED:2,SUBSCRIPTIONS:3,SHARED:4,EXPLORE:5};b.constant("REFRESH_RATE",60),b.constant("ITEM_BATCH_SIZE",40),b.constant("ITEM_AUTO_PAGE_SIZE",20),b.constant("BASE_URL",f.generateUrl("/apps/news")),b.constant("FEED_TYPE",d),b.constant("MARK_READ_TIMEOUT",.5),b.constant("SCROLL_TIMEOUT",.1),b.factory("CSRFInterceptor",["$q","BASE_URL","$window",function(a,b,c){return{request:function(d){var e=c.location.href.split(c.location.pathname)[0];return(0===d.url.indexOf(b)||0===d.url.indexOf(e))&&(d.headers.requesttoken=g),d||a.when(d)}}}]);var e={0:t("news","Request failed, network connection unavailable!"),401:t("news","Request unauthorized. Are you logged in?"),403:t("news","Request forbidden. Are you an admin?"),412:t("news","Token expired or app not enabled! Reload the page!"),500:t("news","Internal server error! Please check your data/owncloud.log file for additional information!"),503:t("news","Request failed, ownCloud is in currently in maintenance mode!")};b.factory("ConnectionErrorInterceptor",["$q","$timeout",function(a,b){var c;return{responseError:function(d){return d.status in e&&(c&&b.cancel(c),f.Notification.hide(),f.Notification.showHtml(e[d.status]),c=b(function(){f.Notification.hide()},5e3)),a.reject(d)}}}]),c.interceptors.push("CSRFInterceptor"),c.interceptors.push("ConnectionErrorInterceptor");var h=function(a){return{data:["$http","$route","$q","$location","BASE_URL","ITEM_BATCH_SIZE","FEED_TYPE","SettingsResource","FeedResource",function(b,c,d,e,f,g,h,j,k){var l=j.get("showAll"),m=j.get("oldestFirst"),n=e.search().search||"",o=d.defer();if(null===l||null===m)o.resolve({});else{var p={type:a,limit:g,showAll:l,oldestFirst:m,search:n};if(c.current.params.id!==i&&(p.id=c.current.params.id),a===h.FEED){var q=k.getById(p.id);q===i||2===q.ordering?p.oldestFirst=!1:1===q.ordering&&(p.oldestFirst=!0)}b({url:f+"/items",method:"GET",params:p}).success(function(a){o.resolve(a)})}return o.promise}]}},j=function(){return{sites:["$http","$q","BASE_URL","Publisher","SettingsResource",function(a,b,c,d,e){var f=b.defer();return a.get(c+"/settings").then(function(b){d.publishAll(b);var c=e.get("exploreUrl").replace(/\/+$/,""),f=e.get("language"),g=c+"/feeds."+f+".json",h=c+"/feeds.en.json";return a.get(g)["catch"](function(){return a.get(h)})}).then(function(a){f.resolve(a.data)})["catch"](function(){f.reject()}),f.promise}]}};a.when("/items",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.SUBSCRIPTIONS),type:d.SUBSCRIPTIONS}).when("/items/starred",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.STARRED),type:d.STARRED}).when("/items/feeds/:id",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.FEED),type:d.FEED}).when("/items/folders/:id",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.FOLDER),type:d.FOLDER}).when("/explore",{controller:"ExploreController as Explore",templateUrl:"explore.html",resolve:j(),type:d.EXPLORE}).when("/shortcuts",{templateUrl:"shortcuts.html",type:-1})}]),j.run(["$rootScope","$location","$http","$q","$interval","$route","Loading","ItemResource","FeedResource","FolderResource","SettingsResource","Publisher","BASE_URL","FEED_TYPE","REFRESH_RATE",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){g.setLoading("global",!0),l.subscribe(h).toChannels(["items","newestItemId","starred"]),l.subscribe(j).toChannels(["folders"]),l.subscribe(i).toChannels(["feeds"]),l.subscribe(k).toChannels(["settings"]);var p=d.defer();c.get(m+"/settings").success(function(a){l.publishAll(a),p.resolve()});var q=d.defer(),r=b.path();c.get(m+"/feeds/active").success(function(a){var c;switch(a.activeFeed.type){case n.FEED:c="/items/feeds/"+a.activeFeed.id;break;case n.FOLDER:c="/items/folders/"+a.activeFeed.id;break;case n.STARRED:c="/items/starred";break;case n.EXPLORE:c="/explore";break;default:c="/items"}/^\/items(\/(starred|explore|feeds\/\d+|folders\/\d+))?\/?$/.test(r)||b.path(c),q.resolve()});var s,t=d.defer();c.get(m+"/feeds").success(function(a){s=a,t.resolve()});var u,v=d.defer();c.get(m+"/folders").success(function(a){u=a,v.resolve()}),d.all([t.promise,v.promise]).then(function(){l.publishAll(s),l.publishAll(u),0===s.feeds.length&&0===u.folders.length&&b.path("/explore")}),d.all([p.promise,q.promise,t.promise,v.promise]).then(function(){f.reload(),g.setLoading("global",!1)}),e(function(){c.get(m+"/feeds").success(function(a){l.publishAll(a)}),c.get(m+"/folders").success(function(a){l.publishAll(a)})},1e3*o),a.$on("$routeChangeStart",function(){g.setLoading("content",!0)}),a.$on("$routeChangeSuccess",function(){g.setLoading("content",!1)}),a.$on("$routeChangeError",function(){b.path("/items")})}]),j.controller("AppController",["Loading","FeedResource","FolderResource",function(a,b,c){this.loading=a,this.isFirstRun=function(){return 0===b.size()&&0===c.size()},this.play=function(a){this.playingItem=a}}]),j.controller("ContentController",["Publisher","FeedResource","ItemResource","SettingsResource","data","$route","$routeParams","$location","FEED_TYPE","ITEM_AUTO_PAGE_SIZE","Loading",function(a,b,c,d,e,f,g,h,j,k,l){c.clear(),a.publishAll(e),this.isAutoPagingEnabled=!0,c.size()>=k?this.isNothingMoreToAutoPage=!1:this.isNothingMoreToAutoPage=!0,this.getItems=function(){return c.getAll()},this.toggleStar=function(a){c.toggleStar(a)},this.toggleItem=function(a){this.isCompactView()&&(a.show=!a.show)},this.isShowAll=function(){return d.get("showAll")},this.markRead=function(a){var d=c.get(a);d.keepUnread||d.unread!==!0||(c.markItemRead(a),b.markItemOfFeedRead(d.feedId))},this.getFeed=function(a){return b.getById(a)},this.toggleKeepUnread=function(a){var d=c.get(a);d.unread||(b.markItemOfFeedUnread(d.feedId),c.markItemRead(a,!1)),d.keepUnread=!d.keepUnread};var m=this,n=function(){var a=d.get("oldestFirst");if(m.isFeed()){var c=b.getById(g.id);c&&1===c.ordering?a=!0:c&&2===c.ordering&&(a=!1)}return a};this.orderBy=function(){return n()?"id":"-id"},this.isCompactView=function(){return d.get("compact")},this.isCompactExpand=function(){return d.get("compactExpand")},this.autoPagingEnabled=function(){return this.isAutoPagingEnabled},this.markReadEnabled=function(){return!d.get("preventReadOnScroll")},this.scrollRead=function(a){var d=[],e=[];a.forEach(function(a){var b=c.get(a);b.keepUnread||(d.push(a),e.push(b.feedId))}),d.length>0&&(b.markItemsOfFeedsRead(e),c.markItemsRead(d))},this.isFeed=function(){return f.current.$$route.type===j.FEED},this.autoPage=function(){if(!this.isNothingMoreToAutoPage){if(!this.isAutoPagingEnabled)return void(this.autoPageAgain=!0);this.isAutoPagingEnabled=!1,this.autoPageAgain=!1;var b=f.current.$$route.type,e=g.id,i=n(),j=d.get("showAll"),m=this,o=h.search().search;l.setLoading("autopaging",!0),c.autoPage(b,e,i,j,o).success(function(b){a.publishAll(b),b.items.length>=k?m.isAutoPagingEnabled=!0:m.isNothingMoreToAutoPage=!0,m.isAutoPagingEnabled&&m.autoPageAgain&&m.autoPage()}).error(function(){m.isAutoPagingEnabled=!0})["finally"](function(){l.setLoading("autopaging",!1)})}},this.getRelativeDate=function(a){if(a!==i&&""!==a){var b=d.get("language"),c=moment.unix(a).locale(b).fromNow()+"";return c}return""},this.refresh=function(){f.reload()},this.getMediaType=function(a){return a&&0===a.indexOf("audio")?"audio":a&&0===a.indexOf("video")?"video":i}}]),j.controller("ExploreController",["sites","$rootScope","FeedResource",function(a,b,c){this.sites=a,this.feeds=Object.keys(a).map(function(b){return[b,a[b]]}).reduce(function(a,b){var c=b[0],d=b[1];return d.forEach(function(a){a.category=c}),a.concat(d)},[]),this.feedExists=function(a){return c.getByLocation(a)!==i},this.subscribeTo=function(a){b.$broadcast("addFeed",a)},this.isCategoryShown=function(a){return a.filter(function(a){return c.getByLocation(a.feed)===i}).length>0}}]),j.controller("NavigationController",["$route","FEED_TYPE","FeedResource","FolderResource","ItemResource","SettingsResource","Publisher","$rootScope","$location","$q",function(a,b,c,d,e,f,g,h,j,k){this.feedError="",this.showNewFolder=!1,this.renamingFolder=!1,this.addingFeed=!1,this.addingFolder=!1,this.folderError="",this.renameError="",this.feed={};var l=function(){return parseInt(a.current.params.id,10)};this.getFeeds=function(){return c.getAll()},this.getFolders=function(){return d.getAll()},this.markFolderRead=function(a){c.markFolderRead(a),c.getByFolderId(a).forEach(function(a){e.markFeedRead(a.id)})},this.markFeedRead=function(a){e.markFeedRead(a),c.markFeedRead(a)},this.markRead=function(){e.markRead(),c.markRead()},this.isShowAll=function(){return f.get("showAll")},this.getFeedsOfFolder=function(a){return c.getByFolderId(a)},this.getUnreadCount=function(){return c.getUnreadCount()},this.isUnread=function(){return this.getUnreadCount()>0},this.getFeedUnreadCount=function(a){var b=c.getById(a);return b!==i?b.unreadCount:0},this.isFeedUnread=function(a){return this.getFeedUnreadCount(a)>0},this.getFolderUnreadCount=function(a){return c.getFolderUnreadCount(a)},this.isFolderUnread=function(a){return this.getFolderUnreadCount(a)>0},this.getStarredCount=function(){return e.getStarredCount()},this.isStarredUnread=function(){return this.getStarredCount()>0},this.toggleFolder=function(a){d.toggleOpen(a)},this.hasFeeds=function(a){return c.getFolderUnreadCount(a)!==i},this.subFeedActive=function(d){var e=a.current.$$route.type;if(e===b.FEED){var f=c.getById(l());if(f!==i&&f.folderId===d)return!0}return!1},this.isSubscriptionsActive=function(){return a.current&&a.current.$$route.type===b.SUBSCRIPTIONS},this.isStarredActive=function(){return a.current&&a.current.$$route.type===b.STARRED},this.isExploreActive=function(){return a.current&&a.current.$$route.type===b.EXPLORE},this.isFolderActive=function(c){return a.current&&a.current.$$route.type===b.FOLDER&&l()===c},this.isFeedActive=function(c){return a.current&&a.current.$$route.type===b.FEED&&l()===c},this.folderNameExists=function(a){return a=a||"",d.get(a.trim())!==i},this.feedUrlExists=function(a){return a=a||"",a=a.trim(),c.get(a)!==i||c.get("http://"+a)!==i},this.createFeed=function(a){var b=this;this.showNewFolder=!1,this.addingFeed=!0;var e=a.newFolder,f=a.existingFolder||{id:0};e===i||""===e?(f.getsFeed=!0,c.create(a.url,f.id,i).then(function(a){g.publishAll(a),j.path("/items/feeds/"+a.feeds[0].id+"/")})["finally"](function(){f.getsFeed=i,a.url="",b.addingFeed=!1})):d.create(e).then(function(c){g.publishAll(c),a.existingFolder=d.get(c.folders[0].name),a.newFolder=i,b.createFeed(a)})},this.createFolder=function(a){var b=this;this.addingFolder=!0,d.create(a.name).then(function(a){g.publishAll(a)})["finally"](function(){b.addingFolder=!1,a.name=""})},this.moveFeed=function(b,d){var e=!1,f=c.getById(b);f.folderId!==d&&((this.isFolderActive(f.folderId)||this.isFolderActive(d))&&(e=!0),c.move(b,d),e&&a.reload())},this.renameFeed=function(a){c.patch(a.id,{title:a.title}),a.editing=!1},this.renameFolder=function(a,b){a.renameError="",this.renamingFolder=!0;var c=this;a.name===b?(a.renameError="",a.editing=!1,this.renamingFolder=!1):d.rename(a.name,b).then(function(){a.renameError="",a.editing=!1},function(b){a.renameError=b})["finally"](function(){c.renamingFolder=!1})},this.reversiblyDeleteFeed=function(b){c.reversiblyDelete(b.id)["finally"](function(){a.reload()})},this.undoDeleteFeed=function(b){c.undoDelete(b.id)["finally"](function(){a.reload()})},this.deleteFeed=function(a){c["delete"](a.url)},this.reversiblyDeleteFolder=function(b){k.all(c.reversiblyDeleteFolder(b.id),d.reversiblyDelete(b.name))["finally"](function(){a.reload()})},this.undoDeleteFolder=function(b){k.all(c.undoDeleteFolder(b.id),d.undoDelete(b.name))["finally"](function(){a.reload()})},this.deleteFolder=function(a){c.deleteFolder(a.id),d["delete"](a.name)},this.setOrdering=function(b,d){c.patch(b.id,{ordering:d}),a.reload()},this.togglePinned=function(a){var b=c.getById(a);return b?c.patch(a,{pinned:!b.pinned}):void 0},this.setUpdateMode=function(a,b){return c.patch(a,{updateMode:b})},this.toggleFullText=function(b){h.$broadcast("$routeChangeStart"),c.toggleFullText(b.id)["finally"](function(){h.$broadcast("$routeChangeSuccess"),a.reload()})},this.search=function(a){""===a?j.search("search",null):j.search("search",a)};var m=this;h.$on("moveFeedToFolder",function(a,b){m.moveFeed(b.feedId,b.folderId)});var n=function(){var e;a.current&&(e=a.current.$$route.type);var f=0;if(e===b.FOLDER)f=l();else if(e===b.FEED){var g=c.getById(l());g&&(f=g.folderId)}var h;0!==f&&(h=d.getById(f)),m.feed.existingFolder=h};h.$on("$routeChangeSuccess",function(){n()})}]),j.controller("SettingsController",["$route","$q","SettingsResource","ItemResource","OPMLParser","OPMLImporter","Publisher",function(a,b,c,d,e,f,g){this.isOPMLImporting=!1,this.isArticlesImporting=!1,this.opmlImportError=!1,this.articleImportError=!1;var h=function(b,d){c.set(b,d),["showAll","oldestFirst","compact"].indexOf(b)>=0&&a.reload()};this.toggleSetting=function(a){h(a,!this.getSetting(a))},this.getSetting=function(a){return c.get(a)},this.importOPML=function(a){this.opmlImportError=!1,this.articleImportError=!1;try{this.isOPMLImporting=!1;var b=e.parse(a),c=this,d=5;f.importFolders(b).then(function(a){return f.importFeedQueue(a,d)})["finally"](function(){c.isOPMLImporting=!1})}catch(g){console.error(g),this.isOPMLImporting=!1,this.opmlImportError=!0}},this.importArticles=function(a){this.opmlImportError=!1,this.articleImportError=!1;try{this.isArticlesImporting=!0;var b=JSON.parse(a),c=this;d.importArticles(b).success(function(a){g.publishAll(a)})["finally"](function(){c.isArticlesImporting=!1})}catch(e){console.error(e),this.articleImportError=!0,this.isArticlesImporting=!1}}}]),j.filter("trustUrl",["$sce",function(a){return function(b){return a.trustAsResourceUrl(b)}}]),j.filter("unreadCountFormatter",function(){return function(a){return a>999?"999+":a}}),j.factory("FeedResource",["Resource","$http","BASE_URL","$q",function(a,b,c,d){var e=function(b,c,d){a.call(this,b,c,"url"),this.ids={},this.locations={},this.unreadCount=0,this.folderUnreadCount={},this.folderIds={},this.$q=d};return e.prototype=Object.create(a.prototype),e.prototype.receive=function(b){a.prototype.receive.call(this,b),this.updateUnreadCache(),this.updateFolderCache()},e.prototype.clear=function(){a.prototype.clear.call(this),this.unreadCount=0,this.folderUnreadCount={},this.folderIds={},this.ids={},this.locations={}},e.prototype.updateUnreadCache=function(){this.unreadCount=0,this.folderUnreadCount={};var a=this;this.values.forEach(function(b){b.unreadCount&&(a.unreadCount+=b.unreadCount),b.folderId!==i&&(a.folderUnreadCount[b.folderId]=a.folderUnreadCount[b.folderId]||0,a.folderUnreadCount[b.folderId]+=b.unreadCount)})},e.prototype.updateFolderCache=function(){this.folderIds={};var a=this;this.values.forEach(function(b){a.folderIds[b.folderId]=a.folderIds[b.folderId]||[],a.folderIds[b.folderId].push(b)})},e.prototype.add=function(b){a.prototype.add.call(this,b),b.id!==i&&(this.ids[b.id]=this.hashMap[b.url]),b.location!==i&&(this.locations[b.location]=this.hashMap[b.url])},e.prototype.markRead=function(){this.values.forEach(function(a){a.unreadCount=0}),this.updateUnreadCache()},e.prototype.markFeedRead=function(a){this.ids[a].unreadCount=0,this.updateUnreadCache()},e.prototype.markFolderRead=function(a){this.values.forEach(function(b){b.folderId===a&&(b.unreadCount=0)}),this.updateUnreadCache()},e.prototype.markItemOfFeedRead=function(a){this.ids[a].unreadCount-=1,this.updateUnreadCache()},e.prototype.markItemsOfFeedsRead=function(a){var b=this;a.forEach(function(a){b.ids[a].unreadCount-=1}),this.updateUnreadCache()},e.prototype.markItemOfFeedUnread=function(a){this.ids[a].unreadCount+=1,this.updateUnreadCache()},e.prototype.getUnreadCount=function(){return this.unreadCount},e.prototype.getFolderUnreadCount=function(a){return this.folderUnreadCount[a]},e.prototype.getByFolderId=function(a){return this.folderIds[a]||[]},e.prototype.getById=function(a){return this.ids[a]},e.prototype.getByLocation=function(a){return this.locations[a]},e.prototype.move=function(a,b){var c=this.getById(a);return c.folderId=b,this.updateFolderCache(),this.updateUnreadCache(),this.patch(a,{folderId:b})},e.prototype.create=function(a,b,c){a=a.trim(),a.startsWith("http")||(a="https://"+a),c!==i&&(c=c.trim());var d={url:a,folderId:b||0,title:c||a,unreadCount:0};this.add(d),this.updateFolderCache();var e=this.$q.defer();return this.http({method:"POST",url:this.BASE_URL+"/feeds",data:{url:a,parentFolderId:b||0,title:c}}).success(function(a){e.resolve(a)}).error(function(a){d.faviconLink="",d.error=a.message,e.reject()}),e.promise},e.prototype.reversiblyDelete=function(a,b,c){var d=this.getById(a);return d&&c!==!0&&(d.deleted=!0),b!==!1&&this.updateUnreadCache(),this.http["delete"](this.BASE_URL+"/feeds/"+a)},e.prototype.reversiblyDeleteFolder=function(a){var b=this,c=[];this.getByFolderId(a).forEach(function(a){c.push(b.reversiblyDelete(a.id,!1,!0))}),this.updateUnreadCache();var d=this.$q.all(c);return d.promise},e.prototype["delete"]=function(b,c){var d=this.get(b);return d!==i&&d.id&&delete this.ids[d.id],d!==i&&d.location&&delete this.locations[d.location],a.prototype["delete"].call(this,b),c!==!1&&(this.updateUnreadCache(),this.updateFolderCache()),d},e.prototype.deleteFolder=function(a){var b=this;this.getByFolderId(a).forEach(function(a){b["delete"](a.url,!1)}),this.updateUnreadCache(),this.updateFolderCache()},e.prototype.undoDelete=function(a,b){var c=this.getById(a);return c&&(c.deleted=!1),b!==!1&&this.updateUnreadCache(),this.http.post(this.BASE_URL+"/feeds/"+a+"/restore")},e.prototype.undoDeleteFolder=function(a){var b=this,c=[];this.getByFolderId(a).forEach(function(a){c.push(b.undoDelete(a.id,!1))}),this.updateUnreadCache();var d=this.$q.all(c);return d.promise},e.prototype.setOrdering=function(a,b){var c=this.getById(a);if(c){c.ordering=b;var d=this.BASE_URL+"/feeds/"+a;return this.http.patch(d,{ordering:b})}},e.prototype.setPinned=function(a,b){var c=this.getById(a);if(c){c.pinned=b;var d=this.BASE_URL+"/feeds/"+a;return this.http.patch(d,{pinned:b})}},e.prototype.patch=function(a,b){var c=this.getById(a);if(c){Object.keys(b).forEach(function(a){c[a]=b[a]});var d=this.BASE_URL+"/feeds/"+a;return this.http.patch(d,b)}},e.prototype.toggleFullText=function(a){var b=this.getById(a);return this.patch(a,{fullTextEnabled:!b.fullTextEnabled})},new e(b,c,d)}]),j.factory("FolderResource",["Resource","$http","BASE_URL","$q",function(a,b,c,d){var e=function(b,c,d){a.call(this,b,c,"name"),this.deleted=null,this.$q=d,this.ids={}};return e.prototype=Object.create(a.prototype),e.prototype.add=function(b){a.prototype.add.call(this,b),b.id!==i&&(this.ids[b.id]=this.hashMap[b.name])},e.prototype.clear=function(){a.prototype.clear.call(this),this.ids={}},e.prototype["delete"]=function(b){var c=this.get(b);return c!==i&&c.id&&delete this.ids[c.id],a.prototype["delete"].call(this,b),c},e.prototype.toggleOpen=function(a){var b=this.get(a);return b.opened=!b.opened,this.http({url:this.BASE_URL+"/folders/"+b.id+"/open",method:"POST",data:{folderId:b.id,open:b.opened}})},e.prototype.rename=function(a,b){var c=this.get(a),d=this.$q.defer(),e=this;return this.http({url:this.BASE_URL+"/folders/"+c.id+"/rename",method:"POST",data:{folderName:b}}).success(function(){c.name=b,delete e.hashMap[a],e.hashMap[b]=c,d.resolve()}).error(function(a){d.reject(a.message)}),d.promise},e.prototype.getById=function(a){return this.ids[a]},e.prototype.create=function(a){a=a.trim();var b={name:a};this.add(b);var c=this.$q.defer();return this.http({url:this.BASE_URL+"/folders",method:"POST",data:{folderName:a}}).success(function(a){c.resolve(a)}).error(function(a){b.error=a.message}),c.promise},e.prototype.reversiblyDelete=function(a){var b=this.get(a),c=b.id;return b.deleted=!0,this.http["delete"](this.BASE_URL+"/folders/"+c)},e.prototype.undoDelete=function(a){var b=this.get(a),c=b.id;return b.deleted=!1,this.http.post(this.BASE_URL+"/folders/"+c+"/restore")},new e(b,c,d)}]),j.factory("ItemResource",["Resource","$http","BASE_URL","ITEM_BATCH_SIZE",function(a,b,c,d){var e=function(b,c,d){a.call(this,b,c),this.batchSize=d,this.clear()};return e.prototype=Object.create(a.prototype),e.prototype.clear=function(){this.starredCount=0,this.lowestId=0,this.highestId=0,a.prototype.clear.call(this)},e.prototype.receive=function(b,c){switch(c){case"newestItemId":this.newestItemId=b;break;case"starred":this.starredCount=b;break;default:var d=this;b.forEach(function(a){0===d.lowestId&&(d.lowestId=a.id),0===d.highestId&&(d.highestId=a.id),a.id>d.highestId&&(d.highestId=a.id),a.id<d.lowestId&&(d.lowestId=a.id)}),a.prototype.receive.call(this,b,c)}},e.prototype.getNewestItemId=function(){return this.newestItemId},e.prototype.getStarredCount=function(){return this.starredCount},e.prototype.star=function(a,b){b===i&&(b=!0);var c=this.get(a),d=this.BASE_URL+"/items/"+c.feedId+"/"+c.guidHash+"/star";return c.starred=b,b?this.starredCount+=1:this.starredCount-=1,this.http({url:d,method:"POST",data:{isStarred:b}})},e.prototype.toggleStar=function(a){this.get(a).starred?this.star(a,!1):this.star(a,!0)},e.prototype.markItemRead=function(a,b){return b===i&&(b=!0),this.get(a).unread=!b,this.http({url:this.BASE_URL+"/items/"+a+"/read",method:"POST",data:{isRead:b}})},e.prototype.markItemsRead=function(a){var b=this;return a.forEach(function(a){b.get(a).unread=!1}),this.http({url:this.BASE_URL+"/items/read/multiple",method:"POST",data:{itemIds:a}})},e.prototype.markFeedRead=function(a,b){b===i&&(b=!0);var c=this.values.filter(function(b){return b.feedId===a});return c.forEach(function(a){a.unread=!b}),this.http.post(this.BASE_URL+"/feeds/"+a+"/read",{highestItemId:this.getNewestItemId()})},e.prototype.markRead=function(){return this.values.forEach(function(a){a.unread=!1}),this.http({url:this.BASE_URL+"/items/read",method:"POST",data:{highestItemId:this.getNewestItemId()}})},e.prototype.autoPage=function(a,b,c,d,e){var f;return f=c?this.highestId:this.lowestId,this.http({url:this.BASE_URL+"/items",method:"GET",params:{type:a,id:b,offset:f,limit:this.batchSize,oldestFirst:c,showAll:d,search:e}})},e.prototype.importArticles=function(a){return this.http({url:this.BASE_URL+"/feeds/import/articles",method:"POST",data:{json:a}})},new e(b,c,d)}]),j.service("Loading",function(){this.loading={global:!1,content:!1,autopaging:!1},this.setLoading=function(a,b){this.loading[a]=b},this.isLoading=function(a){return this.loading[a]}}),j.service("OPMLImporter",["FeedResource","FolderResource","Publisher","$q",function(a,b,c,d){var e=function(f){var g=d.defer();if(f.length>0){var h=f.pop(),j=h.url,k=h.title,l=0,m=h.folderName;if(m!==i&&b.get(m)!==i){var n=b.get(m);n.opened=!0,l=n.id,n.getsFeed=!0,n.getsFeedCounter=n.getsFeedCounter||0,n.getsFeedCounter+=1}j!==i&&a.get(j)===i&&a.create(j,l,k).then(function(a){c.publishAll(a)})["finally"](function(){0!==l&&(n.getsFeedCounter-=1,0===n.getsFeedCounter&&(n.getsFeed=!1)),e(f)})}else g.resolve();return g.promise};this.importFolders=function(a){var e=[],f=[];a.folders.forEach(function(a){if(a.name!==i){if(b.get(a.name)===i){var d=b.create(a.name).then(function(a){c.publishAll(a)});f.push(d)}a.feeds.forEach(function(b){b.folderName=a.name,e.push(b)})}}),e=e.concat(a.feeds);var g=d.defer();return d.all(f)["finally"](function(){g.resolve(e)}),g.promise},this.importFeedQueue=function(a,b){for(var c=d.defer(),f=[],g=0;b>g;g+=1)f.push(e(a));return d.all(f).then(function(){c.resolve()}),c.promise}}]),j.service("OPMLParser",function(){var a=function(a){var b=a.attr("xmlUrl")||a.attr("htmlUrl"),c=a.attr("title")||a.attr("text")||b;return b===i?{type:"folder",name:c,feeds:[]}:{type:"feed",name:c,url:b}},b=function(c,d,f){for(var g=0;g<c.length;g+=1){var h=e(c[g]),i=a(h);"feed"===i.type?d.feeds.push(i):f?(b(h.children("outline"),i,!1),d.folders.push(i)):b(h.children("outline"),d,!1)}return d};this.parse=function(a){a=e.parseXML(a);var c=e(a).find("body > outline"),d={feeds:[],folders:[]};return b(c,d,!0)}}),j.service("Publisher",function(){this.channels={},this.subscribe=function(a){var b=this;return{toChannels:function(c){c.forEach(function(c){b.channels[c]=b.channels[c]||[],b.channels[c].push(a)})}}},this.publishAll=function(a){var b=this;Object.keys(a).forEach(function(c){var d=b.channels[c];d!==i&&d.forEach(function(b){b.receive(a[c],c)})})}}),j.factory("Resource",function(){var a=function(a,b,c){this.id=c||"id",this.values=[],this.hashMap={},this.http=a,this.BASE_URL=b};return a.prototype.receive=function(a){var b=this;a.forEach(function(a){b.add(a)})},a.prototype.add=function(a){var b=this.hashMap[a[this.id]];b===i?(this.values.push(a),this.hashMap[a[this.id]]=a):Object.keys(a).forEach(function(c){b[c]=a[c]})},a.prototype.size=function(){return this.values.length},a.prototype.get=function(a){return this.hashMap[a]},a.prototype["delete"]=function(a){var b=this,c=this.values.findIndex(function(c){return c[b.id]===a});c!==i&&this.values.splice(c,1),this.hashMap[a]!==i&&delete this.hashMap[a]},a.prototype.clear=function(){for(this.hashMap={};this.values.length>0;)this.values.pop()},a.prototype.getAll=function(){return this.values},a}),j.service("SettingsResource",["$http","BASE_URL",function(a,b){this.settings={language:"en",showAll:null,compact:!1,oldestFirst:null,preventReadOnScroll:!1,compactExpand:!1,exploreUrl:""},this.defaultLanguageCode="en",this.supportedLanguageCodes=["ar-ma","ar","bg","ca","cs","cv","da","de","el","en-ca","en-gb","eo","es","et","eu","fi","fr-ca","fr","gl","he","hi","hu","id","is","it","ja","ka","ko","lv","ms-my","nb","ne","nl","pl","pt-br","pt","ro","ru","sk","sl","sv","th","tr","tzm-la","tzm","uk","zh-cn","zh-tw"],this.receive=function(a){var b=this;Object.keys(a).forEach(function(c){var d=a[c];"language"===c&&(d=b.processLanguageCode(d)),b.settings[c]=d})},this.get=function(a){return this.settings[a]},this.set=function(c,d){return this.settings[c]=d,a({url:b+"/settings",method:"PUT",data:{language:this.settings.language,showAll:this.settings.showAll,compact:this.settings.compact,oldestFirst:this.settings.oldestFirst,compactExpand:this.settings.compactExpand,preventReadOnScroll:this.settings.preventReadOnScroll}})},this.processLanguageCode=function(a){return a=a.replace("_","-").toLowerCase(),this.supportedLanguageCodes.indexOf(a)<0&&(a=a.split("-")[0]),this.supportedLanguageCodes.indexOf(a)<0&&(a=this.defaultLanguageCode),a}}]),function(a,b,c,d,e,f){var g=a.location,h=a.localStorage,i=function(a,b,d){var e=c.isContentHandlerRegistered,f=function(a,b){return e?"new"!==e(a,b):h.getItem("registeredHandler")===b};c.registerContentHandler&&!f(a,b)&&(c.registerContentHandler(a,k,d),e||h.setItem("registeredHandler",b))},j=g.protocol+"//"+g.host+g.pathname,k=j+"?subscribe_to=%s",l="application/vnd.mozilla.maybe.feed",m="ownCloud News @ "+j;i(l,k,m),e(b).ready(function(){var b=a.decodeURIComponent(d("?subscribe_to"));if(b&&"null"!==b){e("#new-feed").show();var c=e('input[ng-model="Navigation.feed.url"]');c.val(b),c.trigger("input"),setTimeout(function(){c.focus()},1e3)}})}(b,c,a,h,e),function(a,b){a.addEventListener("beforeunload",function(){var a=b.querySelector("#app-content");a.scrollTo(0,0)})}(b,c),function(a,b,c){var d=function(a){return!(a.is("input")||a.is("select")||a.is("textarea")||a.is("checkbox"))},e=function(a){return!(a.shiftKey||a.altKey||a.ctrlKey||a.metaKey)},f=function(a){var b=".active > .app-navigation-entry-menu .mark-read button",c=a.find(b);c.length>0&&c.trigger("click")},g=function(a,b){var c=a.offset().top-b.offset().top,d=c+a.height(),e=b.height();return c>=0&&e>d},h=function(a,b,c){0===a.length||!c&&g(a,b)||b.scrollTop(a.offset().top-b.offset().top+b.scrollTop())},i=function(a){var b=a.find(".active");h(b,a.children("ul"),!0)},j=function(a){a.find(".active > a:visible").trigger("click")},k=function(a,b){if(0===b.scrollTop()){var c=b.find(".pull-to-refresh");c.hasClass("show-pull-to-refresh")?c.hasClass("done")&&j(a):c.addClass("show-pull-to-refresh")}},l=function(a,b){a.children("a:visible").trigger("click"),h(a,b.children("ul"))},m=function(a){var b=a.find(".active"),d=a.find(".explore-feed,.subscriptions-feed:visible,.starred-feed:visible,.feed:visible");if(b.hasClass("folder"))for(;b.length>0;){var e=b.find(".feed:visible");if(e.length>0)return void l(c(e[0]),a);b=b.next(".folder")}else for(var f=0;f<d.length-1;f+=1){var g=d[f];if(g===b[0]){var h=d[f+1];l(c(h),a);break}}},n=function(a){return a.parent().parent(".folder")},o=function(a,b){var d,e=a.find(".folder:visible");d=b?e.length-1:0,e.length>0&&l(c(e[d]),a)},p=function(a){var b=a.find(".active");if(b.hasClass("folder"))l(b.prevAll(".folder:visible").first(),a);else if(b.hasClass("feed")){var c=n(b);c.length>0?l(c,a):o(a,!0)}else o(a,!0)},q=function(a){var b=a.find(".active");if(b.hasClass("folder"))l(b.nextAll(".folder:visible").first(),a);else if(b.hasClass("feed")){var c=n(b);c.length>0?l(c.nextAll(".folder:visible").first(),a):o(a)}else o(a)},r=function(a){var b=a.find(".active"),d=a.find(".explore-feed,.subscriptions-feed:visible,.starred-feed:visible,.feed:visible");if(b.hasClass("folder")){for(var e=b.prev(".folder");e.length>0;){var f=e.find(".feed:visible");if(f.length>0)return void l(c(f[f.length-1]),a);e=e.prev(".folder")}var g=b.siblings(".feed");if(g.length>0)return void l(c(g[g.length-1]),a);var h=c(".starred-feed:visible");return void(h.length>0&&l(h,a))}for(var i=d.length-1;i>0;i-=1){var j=d[i];if(j===b[0]){var k=d[i-1];l(c(k),a);break}}},s=function(a,b){var d=a.find(".item");d.each(function(a,d){return d=c(d),d.height()+d.position().top>30?(b(d),!1):void 0})},t=function(a){s(a,function(a){a.find(".toggle-keep-unread").trigger("click")})},u=function(a){s(a,function(a){a.find(".star").trigger("click")})},v=function(a){s(a,function(a){a.find(".utils").trigger("click")})},w=function(b){s(b,function(b){b.trigger("click"),a.open(b.find(".external:visible").attr("href"),"_blank")})},x=function(a,b,c){a.scrollTop(b.offset().top-a.offset().top+a.scrollTop()),c&&s(a,function(a){a.hasClass("open")||a.find(".utils").trigger("click")})},y=function(a,b){var d=a.find(".item"),e=!1;d.each(function(d,f){return f=c(f),0===f.position().top&&b&&!f.hasClass("open")||f.position().top>10?(x(a,f,b),e=!0,!1):void 0}),e||a.scrollTop(a.prop("scrollHeight"))},z=function(a,b,d){var e=b.find(".item"),f=!1;e.each(function(e,g){if(g=c(g),g.position().top+10>=0){var h=g.prev();return h.length>0?x(b,h,d):(k(a,b),b.scrollTop(0)),f=!0,!1}}),!f&&e.length>0&&x(b,e.last())};c(b).keyup(function(a){var b=a.keyCode,g=c("#app-content"),h=c("#app-navigation"),l=c("#articles.compact").length>0,n="true"===c("#articles").attr("news-compact-expand"),o=l&&n;d(c(":focus"))&&e(a)?[74,78,39].indexOf(b)>=0?(a.preventDefault(),y(g,o)):[75,80,37].indexOf(b)>=0?(a.preventDefault(),z(h,g,o)):[85].indexOf(b)>=0?(a.preventDefault(),t(g)):[69].indexOf(b)>=0?(a.preventDefault(),v(g)):[73,83,76].indexOf(b)>=0?(a.preventDefault(),u(g)):[72].indexOf(b)>=0?(a.preventDefault(),u(g),y(g)):[79].indexOf(b)>=0?(a.preventDefault(),w(g)):[82].indexOf(b)>=0?(a.preventDefault(),j(h)):[70].indexOf(b)>=0?(a.preventDefault(),m(h)):[68].indexOf(b)>=0?(a.preventDefault(),r(h)):[67].indexOf(b)>=0?(a.preventDefault(),p(h)):[65].indexOf(b)>=0?(a.preventDefault(),i(h)):[86].indexOf(b)>=0?(a.preventDefault(),q(h)):[81].indexOf(b)>=0?(a.preventDefault(),c("#searchbox").focus()):[33].indexOf(b)>=0&&k(h,g):d(c(":focus"))&&a.shiftKey&&[65].indexOf(b)>=0&&(a.preventDefault(),f(h))})}(b,c,e),b.News=b.News||{},function(a,b,c,d,e){var f=[];d.addArticleAction=function(a){f.push(a)},d.getArticleActionPlugins=function(){return f}}(b,c,jQuery,b.News),j.run(["$document","$rootScope",function(a,b){a.click(function(a){b.$broadcast("documentClicked",a)})}]),j.directive("appNavigationEntryUtils",function(){return{restrict:"C",link:function(a,b){
-var c=b.siblings(".app-navigation-entry-menu"),d=e(b).find(".app-navigation-entry-utils-menu-button button");d.click(function(){c.toggleClass("open")}),a.$on("documentClicked",function(a,b){b.target!==d[0]&&c.removeClass("open")})}}}),j.directive("newsAddFeed",["$rootScope","$timeout",function(a,b){return{restrict:"A",link:function(c,d){a.$on("addFeed",function(a,e){b(function(){d.is(":animated")?(d.stop(!0,!0),d.show()):d.is(":visible")||d.slideDown(),d.find('[ng-model="Navigation.feed.url"]').focus()}),c.Navigation.feed.url=e})}}}]),j.directive("newsArticleActions",function(){return{restrict:"A",scope:{newsArticleActions:"=",noPlugins:"="},link:function(a,b){for(var c=News.getArticleActionPlugins(),d=0;d<c.length;d+=1)c[d](b,a.newsArticleActions);a.noPlugins=0===c.length}}}),j.directive("newsAutoFocus",["$timeout",function(a){return function(b,c,d){var f=c;d.newsAutoFocus&&(f=e(d.newsAutoFocus)),a(function(){f.focus()},0)}}]),j.directive("newsBindHtmlUnsafe",function(){return function(a,b,c){a.$watch(c.newsBindHtmlUnsafe,function(){b.html(a.$eval(c.newsBindHtmlUnsafe))})}}),j.directive("newsDraggable",function(){return function(a,b,c){var e=a.$eval(c.newsDraggable);d.isDefined(e)?b.draggable(e):b.draggable(),c.$observe("newsDraggableDisable",function(a){"true"===a?b.draggable("disable"):b.draggable("enable")})}}),j.directive("newsDroppable",["$rootScope",function(a){return function(b,c,d){var f={accept:".feed",hoverClass:"drag-and-drop",greedy:!0,drop:function(f,g){e(".drag-and-drop").removeClass("drag-and-drop");var h={folderId:parseInt(c.data("id"),10),feedId:parseInt(e(g.draggable).data("id"),10)};a.$broadcast("moveFeedToFolder",h),b.$apply(d.droppable)}};c.droppable(f)}}]),j.directive("newsFinishedTransition",function(){return function(a,b,c){b.on("transitionend",function(){b.addClass(c.newsFinishedTransition)})}}),j.directive("newsFocus",["$timeout","$interpolate",function(a,b){return function(c,d,f){d.click(function(){var d=e(b(f.newsFocus)(c));a(function(){d.focus()},500)})}}]),j.directive("newsInstantNotification",function(){return{restrict:"E",link:function(a,b){b.hide();var c=b.html();f.Notification.showHtml(c)}}}),j.directive("newsPlayOne",["$rootScope",function(a){return{restrict:"A",link:function(b,c){c.on("play",function(){a.$broadcast("playing",c)}),a.$on("playing",function(a,b){b[0]!==c[0]&&c[0].pause()})}}}]),j.directive("newsPullToRefresh",["$rootScope",function(a){var b=!1;return{restrict:"A",scope:{newsPullToRefresh:"="},link:function(c,d){a.$on("$routeChangeStart",function(){b=!1,c.newsPullToRefresh=!1}),d.on("scroll",function(){0===d.scrollTop()&&b&&(c.newsPullToRefresh=!0),b=!0})}}}]),j.directive("newsReadFile",function(){return function(a,b,c){b.change(function(){var d=b[0].files[0],e=new FileReader;e.onload=function(b){a.$fileContent=b.target.result,a.$apply(c.newsReadFile)},e.readAsText(d)})}}),j.directive("newsRefreshMasonry",["$timeout",function(a){var b=function(b){a(function(){a(function(){b.parent().masonry({itemSelector:".grid-item",gutter:25,columnWidth:300})})})};return function(a,c){a.$last&&b(c)}}]),j.directive("newsScroll",["$timeout","ITEM_AUTO_PAGE_SIZE","MARK_READ_TIMEOUT","SCROLL_TIMEOUT",function(a,b,c,d){var f,g=function(a,b,c){for(var d=0,f=b.find(".item"),g=f.length-1;g>=0;g-=1){var h=e(f[g]);if(d>=a)break;if(h.position().top<0){c.$apply(c.newsScrollAutoPage);break}d+=1}},h=function(a,b,c){if(a){var d=[],f=b.find(".item:not(.read)");f.each(function(a,b){var c=e(b);return c.position().top<=-10?void d.push(parseInt(c.data("id"),10)):!1}),c.itemIds=d,c.$apply(c.newsScrollMarkRead)}};return{restrict:"A",scope:{newsScroll:"@",newsScrollAutoPage:"&",newsScrollMarkRead:"&",newsScrollEnabledMarkRead:"="},link:function(j,k){var l=!0,m=k;j.newsScroll&&(m=e(j.newsScroll));var n=function(){l&&(l=!1,a(function(){l=!0},1e3*d),g(b,k,j),f&&a.cancel(f),f=a(function(){h(j.newsScrollEnabledMarkRead,k,j),f=i},1e3*c))};m.on("scroll",n),j.$on("$destroy",function(){m.off("scroll",n)})}}}]),j.directive("newsSearch",["$document","$location",function(a,b){return{restrict:"E",scope:{onSearch:"="},link:function(a){var c=e("#searchbox");c.val(b.search().search);var d=function(){var b=c.val();a.$apply(function(){a.onSearch(b)})};c.on("search keyup",function(a){("search"===a.type||13===a.keyCode)&&d()}),a.$watch(function(){return b.search()},function(a){a&&a.search?c.val(a.search):c.val("")})}}}]),j.directive("newsStickyMenu",function(){return function(a,b,c){var d=40;e(c.newsStickyMenu).scroll(function(){var a=e(this).scrollTop();a>d?(b.addClass("fixed"),b.css("top",a)):b.removeClass("fixed")})}}),j.directive("newsStopPropagation",function(){return{restrict:"A",link:function(a,b){b.bind("click",function(a){a.stopPropagation()})}}}),j.directive("newsTimeout",["$timeout","$rootScope",function(a,b){return{restrict:"A",scope:{newsTimeout:"&"},link:function(c,d){var e=!1,f=7,g=a(c.newsTimeout,1e3*f);c.$on("$destroy",function(){e=!0,a.cancel(g)}),b.$on("$locationChangeStart",function(){a.cancel(g),e||(e=!0,d.remove(),c.newsTimeout())})}}}]),j.directive("newsTitleUnreadCount",["$window",function(a){var b=a.document.title,c=b.split("-"),d=c[0]||"News",e=c[1]||"ownCloud";return{restrict:"E",scope:{unreadCount:"@"},link:function(b,c,f){f.$observe("unreadCount",function(b){"0"!==b?a.document.title=d+"("+b+") - "+e:a.document.title=d+" - "+e})}}}]),j.directive("newsToggleShow",function(){return{restrict:"A",scope:{newsToggleShow:"@"},link:function(a,b){b.click(function(){var b=e(a.newsToggleShow);b.toggle()})}}}),j.directive("newsTriggerClick",function(){return function(a,b,c){b.click(function(){e(c.newsTriggerClick).trigger("click")})}})}(navigator,window,document,angular,jQuery,OC,oc_requesttoken,url);
+!function(a,b,c,d,e,f,g,h,i){"use strict";var j=d.module("News",["ngRoute","ngSanitize","ngAnimate"]);j.config(["$routeProvider","$provide","$httpProvider",function(a,b,c){var d={FEED:0,FOLDER:1,STARRED:2,SUBSCRIPTIONS:3,SHARED:4,EXPLORE:5};b.constant("REFRESH_RATE",60),b.constant("ITEM_BATCH_SIZE",40),b.constant("ITEM_AUTO_PAGE_SIZE",20),b.constant("BASE_URL",f.generateUrl("/apps/news")),b.constant("FEED_TYPE",d),b.constant("MARK_READ_TIMEOUT",.5),b.constant("SCROLL_TIMEOUT",.1),b.factory("CSRFInterceptor",["$q","BASE_URL","$window",function(a,b,c){return{request:function(d){var e=c.location.href.split(c.location.pathname)[0];return(0===d.url.indexOf(b)||0===d.url.indexOf(e))&&(d.headers.requesttoken=g),d||a.when(d)}}}]);var e={0:t("news","Request failed, network connection unavailable!"),401:t("news","Request unauthorized. Are you logged in?"),403:t("news","Request forbidden. Are you an admin?"),412:t("news","Token expired or app not enabled! Reload the page!"),500:t("news","Internal server error! Please check your data/owncloud.log file for additional information!"),503:t("news","Request failed, ownCloud is in currently in maintenance mode!")};b.factory("ConnectionErrorInterceptor",["$q","$timeout",function(a,b){var c;return{responseError:function(d){return d.status in e&&(c&&b.cancel(c),f.Notification.hide(),f.Notification.showHtml(e[d.status]),c=b(function(){f.Notification.hide()},5e3)),a.reject(d)}}}]),c.interceptors.push("CSRFInterceptor"),c.interceptors.push("ConnectionErrorInterceptor");var h=function(a){return{data:["$http","$route","$q","$location","BASE_URL","ITEM_BATCH_SIZE","FEED_TYPE","SettingsResource","FeedResource",function(b,c,d,e,f,g,h,j,k){var l=j.get("showAll"),m=j.get("oldestFirst"),n=e.search().search||"",o=d.defer();if(null===l||null===m)o.resolve({});else{var p={type:a,limit:g,showAll:l,oldestFirst:m,search:n};if(c.current.params.id!==i&&(p.id=c.current.params.id),a===h.FEED){var q=k.getById(p.id);q===i||2===q.ordering?p.oldestFirst=!1:1===q.ordering&&(p.oldestFirst=!0)}b({url:f+"/items",method:"GET",params:p}).success(function(a){o.resolve(a)})}return o.promise}]}},j=function(){return{sites:["$http","$q","BASE_URL","$location","Publisher","SettingsResource",function(a,b,c,d,e,f){var g=b.defer(),h=d.search().lang;return h||(h=f.get("language")),a.get(c+"/settings").then(function(b){e.publishAll(b);var c=f.get("exploreUrl").replace(/\/+$/,""),d=c+"/feeds."+h+".json",g=c+"/feeds.en.json";return a.get(d)["catch"](function(){return a.get(g)})}).then(function(a){g.resolve(a.data)})["catch"](function(){g.reject()}),g.promise}]}};a.when("/items",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.SUBSCRIPTIONS),type:d.SUBSCRIPTIONS}).when("/items/starred",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.STARRED),type:d.STARRED}).when("/items/feeds/:id",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.FEED),type:d.FEED}).when("/items/folders/:id",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.FOLDER),type:d.FOLDER}).when("/explore",{controller:"ExploreController as Explore",templateUrl:"explore.html",resolve:j(),type:d.EXPLORE}).when("/shortcuts",{templateUrl:"shortcuts.html",type:-1})}]),j.run(["$rootScope","$location","$http","$q","$interval","$route","Loading","ItemResource","FeedResource","FolderResource","SettingsResource","Publisher","BASE_URL","FEED_TYPE","REFRESH_RATE",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){g.setLoading("global",!0),l.subscribe(h).toChannels(["items","newestItemId","starred"]),l.subscribe(j).toChannels(["folders"]),l.subscribe(i).toChannels(["feeds"]),l.subscribe(k).toChannels(["settings"]);var p=d.defer();c.get(m+"/settings").success(function(a){l.publishAll(a),p.resolve()});var q=d.defer(),r=b.path();c.get(m+"/feeds/active").success(function(a){var c;switch(a.activeFeed.type){case n.FEED:c="/items/feeds/"+a.activeFeed.id;break;case n.FOLDER:c="/items/folders/"+a.activeFeed.id;break;case n.STARRED:c="/items/starred";break;case n.EXPLORE:c="/explore";break;default:c="/items"}/^\/items(\/(starred|explore|feeds\/\d+|folders\/\d+))?\/?$/.test(r)||b.path(c),q.resolve()});var s,t=d.defer();c.get(m+"/feeds").success(function(a){s=a,t.resolve()});var u,v=d.defer();c.get(m+"/folders").success(function(a){u=a,v.resolve()}),d.all([t.promise,v.promise]).then(function(){l.publishAll(s),l.publishAll(u),0===s.feeds.length&&0===u.folders.length&&b.path("/explore")}),d.all([p.promise,q.promise,t.promise,v.promise]).then(function(){f.reload(),g.setLoading("global",!1)}),e(function(){c.get(m+"/feeds").success(function(a){l.publishAll(a)}),c.get(m+"/folders").success(function(a){l.publishAll(a)})},1e3*o),a.$on("$routeChangeStart",function(){g.setLoading("content",!0)}),a.$on("$routeChangeSuccess",function(){g.setLoading("content",!1)}),a.$on("$routeChangeError",function(){b.path("/items")})}]),j.controller("AppController",["Loading","FeedResource","FolderResource",function(a,b,c){this.loading=a,this.isFirstRun=function(){return 0===b.size()&&0===c.size()},this.play=function(a){this.playingItem=a}}]),j.controller("ContentController",["Publisher","FeedResource","ItemResource","SettingsResource","data","$route","$routeParams","$location","FEED_TYPE","ITEM_AUTO_PAGE_SIZE","Loading",function(a,b,c,d,e,f,g,h,j,k,l){c.clear(),a.publishAll(e),this.isAutoPagingEnabled=!0,c.size()>=k?this.isNothingMoreToAutoPage=!1:this.isNothingMoreToAutoPage=!0,this.getItems=function(){return c.getAll()},this.toggleStar=function(a){c.toggleStar(a)},this.toggleItem=function(a){this.isCompactView()&&(a.show=!a.show)},this.isShowAll=function(){return d.get("showAll")},this.markRead=function(a){var d=c.get(a);d.keepUnread||d.unread!==!0||(c.markItemRead(a),b.markItemOfFeedRead(d.feedId))},this.getFeed=function(a){return b.getById(a)},this.toggleKeepUnread=function(a){var d=c.get(a);d.unread||(b.markItemOfFeedUnread(d.feedId),c.markItemRead(a,!1)),d.keepUnread=!d.keepUnread};var m=this,n=function(){var a=d.get("oldestFirst");if(m.isFeed()){var c=b.getById(g.id);c&&1===c.ordering?a=!0:c&&2===c.ordering&&(a=!1)}return a};this.orderBy=function(){return n()?"id":"-id"},this.isCompactView=function(){return d.get("compact")},this.isCompactExpand=function(){return d.get("compactExpand")},this.autoPagingEnabled=function(){return this.isAutoPagingEnabled},this.markReadEnabled=function(){return!d.get("preventReadOnScroll")},this.scrollRead=function(a){var d=[],e=[];a.forEach(function(a){var b=c.get(a);b.keepUnread||(d.push(a),e.push(b.feedId))}),d.length>0&&(b.markItemsOfFeedsRead(e),c.markItemsRead(d))},this.isFeed=function(){return f.current.$$route.type===j.FEED},this.autoPage=function(){if(!this.isNothingMoreToAutoPage){if(!this.isAutoPagingEnabled)return void(this.autoPageAgain=!0);this.isAutoPagingEnabled=!1,this.autoPageAgain=!1;var b=f.current.$$route.type,e=g.id,i=n(),j=d.get("showAll"),m=this,o=h.search().search;l.setLoading("autopaging",!0),c.autoPage(b,e,i,j,o).success(function(b){a.publishAll(b),b.items.length>=k?m.isAutoPagingEnabled=!0:m.isNothingMoreToAutoPage=!0,m.isAutoPagingEnabled&&m.autoPageAgain&&m.autoPage()}).error(function(){m.isAutoPagingEnabled=!0})["finally"](function(){l.setLoading("autopaging",!1)})}},this.getRelativeDate=function(a){if(a!==i&&""!==a){var b=d.get("language"),c=moment.unix(a).locale(b).fromNow()+"";return c}return""},this.refresh=function(){f.reload()},this.getMediaType=function(a){return a&&0===a.indexOf("audio")?"audio":a&&0===a.indexOf("video")?"video":i}}]),j.controller("ExploreController",["sites","$rootScope","FeedResource","SettingsResource","$location",function(a,b,c,d,e){this.sites=a,this.feeds=Object.keys(a).map(function(b){return[b,a[b]]}).reduce(function(a,b){var c=b[0],d=b[1];return d.forEach(function(a){a.category=c}),a.concat(d)},[]),this.feedExists=function(a){return c.getByLocation(a)!==i},this.subscribeTo=function(a){b.$broadcast("addFeed",a)},this.isCategoryShown=function(a){return a.filter(function(a){return c.getByLocation(a.feed)===i}).length>0},this.getSupportedLanguageCodes=function(){return d.getSupportedLanguageCodes()},this.getCurrentLanguageCode=function(){var a=e.search().lang;return a||(a=d.get("language")),a},this.showLanguage=function(a){e.url("/explore/?lang="+a)},this.selectedLanguageCode=this.getCurrentLanguageCode()}]),j.controller("NavigationController",["$route","FEED_TYPE","FeedResource","FolderResource","ItemResource","SettingsResource","Publisher","$rootScope","$location","$q",function(a,b,c,d,e,f,g,h,j,k){this.feedError="",this.showNewFolder=!1,this.renamingFolder=!1,this.addingFeed=!1,this.addingFolder=!1,this.folderError="",this.renameError="",this.feed={};var l=function(){return parseInt(a.current.params.id,10)};this.getLanguageCode=function(){return f.get("language")},this.getFeeds=function(){return c.getAll()},this.getFolders=function(){return d.getAll()},this.markFolderRead=function(a){c.markFolderRead(a),c.getByFolderId(a).forEach(function(a){e.markFeedRead(a.id)})},this.markFeedRead=function(a){e.markFeedRead(a),c.markFeedRead(a)},this.markRead=function(){e.markRead(),c.markRead()},this.isShowAll=function(){return f.get("showAll")},this.getFeedsOfFolder=function(a){return c.getByFolderId(a)},this.getUnreadCount=function(){return c.getUnreadCount()},this.isUnread=function(){return this.getUnreadCount()>0},this.getFeedUnreadCount=function(a){var b=c.getById(a);return b!==i?b.unreadCount:0},this.isFeedUnread=function(a){return this.getFeedUnreadCount(a)>0},this.getFolderUnreadCount=function(a){return c.getFolderUnreadCount(a)},this.isFolderUnread=function(a){return this.getFolderUnreadCount(a)>0},this.getStarredCount=function(){return e.getStarredCount()},this.isStarredUnread=function(){return this.getStarredCount()>0},this.toggleFolder=function(a){d.toggleOpen(a)},this.hasFeeds=function(a){return c.getFolderUnreadCount(a)!==i},this.subFeedActive=function(d){var e=a.current.$$route.type;if(e===b.FEED){var f=c.getById(l());if(f!==i&&f.folderId===d)return!0}return!1},this.isSubscriptionsActive=function(){return a.current&&a.current.$$route.type===b.SUBSCRIPTIONS},this.isStarredActive=function(){return a.current&&a.current.$$route.type===b.STARRED},this.isExploreActive=function(){return a.current&&a.current.$$route.type===b.EXPLORE},this.isFolderActive=function(c){return a.current&&a.current.$$route.type===b.FOLDER&&l()===c},this.isFeedActive=function(c){return a.current&&a.current.$$route.type===b.FEED&&l()===c},this.folderNameExists=function(a){return a=a||"",d.get(a.trim())!==i},this.feedUrlExists=function(a){return a=a||"",a=a.trim(),c.get(a)!==i||c.get("http://"+a)!==i},this.createFeed=function(a){var b=this;this.showNewFolder=!1,this.addingFeed=!0;var e=a.newFolder,f=a.existingFolder||{id:0};e===i||""===e?(f.getsFeed=!0,c.create(a.url,f.id,i).then(function(a){g.publishAll(a),j.path("/items/feeds/"+a.feeds[0].id+"/")})["finally"](function(){f.getsFeed=i,a.url="",b.addingFeed=!1})):d.create(e).then(function(c){g.publishAll(c),a.existingFolder=d.get(c.folders[0].name),a.newFolder=i,b.createFeed(a)})},this.createFolder=function(a){var b=this;this.addingFolder=!0,d.create(a.name).then(function(a){g.publishAll(a)})["finally"](function(){b.addingFolder=!1,a.name=""})},this.moveFeed=function(b,d){var e=!1,f=c.getById(b);f.folderId!==d&&((this.isFolderActive(f.folderId)||this.isFolderActive(d))&&(e=!0),c.move(b,d),e&&a.reload())},this.renameFeed=function(a){c.patch(a.id,{title:a.title}),a.editing=!1},this.renameFolder=function(a,b){a.renameError="",this.renamingFolder=!0;var c=this;a.name===b?(a.renameError="",a.editing=!1,this.renamingFolder=!1):d.rename(a.name,b).then(function(){a.renameError="",a.editing=!1},function(b){a.renameError=b})["finally"](function(){c.renamingFolder=!1})},this.reversiblyDeleteFeed=function(b){c.reversiblyDelete(b.id)["finally"](function(){a.reload()})},this.undoDeleteFeed=function(b){c.undoDelete(b.id)["finally"](function(){a.reload()})},this.deleteFeed=function(a){c["delete"](a.url)},this.reversiblyDeleteFolder=function(b){k.all(c.reversiblyDeleteFolder(b.id),d.reversiblyDelete(b.name))["finally"](function(){a.reload()})},this.undoDeleteFolder=function(b){k.all(c.undoDeleteFolder(b.id),d.undoDelete(b.name))["finally"](function(){a.reload()})},this.deleteFolder=function(a){c.deleteFolder(a.id),d["delete"](a.name)},this.setOrdering=function(b,d){c.patch(b.id,{ordering:d}),a.reload()},this.togglePinned=function(a){var b=c.getById(a);return b?c.patch(a,{pinned:!b.pinned}):void 0},this.setUpdateMode=function(a,b){return c.patch(a,{updateMode:b})},this.toggleFullText=function(b){h.$broadcast("$routeChangeStart"),c.toggleFullText(b.id)["finally"](function(){h.$broadcast("$routeChangeSuccess"),a.reload()})},this.search=function(a){""===a?j.search("search",null):j.search("search",a)};var m=this;h.$on("moveFeedToFolder",function(a,b){m.moveFeed(b.feedId,b.folderId)});var n=function(){var e;a.current&&(e=a.current.$$route.type);var f=0;if(e===b.FOLDER)f=l();else if(e===b.FEED){var g=c.getById(l());g&&(f=g.folderId)}var h;0!==f&&(h=d.getById(f)),m.feed.existingFolder=h};h.$on("$routeChangeSuccess",function(){n()})}]),j.controller("SettingsController",["$route","$q","SettingsResource","ItemResource","OPMLParser","OPMLImporter","Publisher",function(a,b,c,d,e,f,g){this.isOPMLImporting=!1,this.isArticlesImporting=!1,this.opmlImportError=!1,this.articleImportError=!1;var h=function(b,d){c.set(b,d),["showAll","oldestFirst","compact"].indexOf(b)>=0&&a.reload()};this.toggleSetting=function(a){h(a,!this.getSetting(a))},this.getSetting=function(a){return c.get(a)},this.importOPML=function(a){this.opmlImportError=!1,this.articleImportError=!1;try{this.isOPMLImporting=!1;var b=e.parse(a),c=this,d=5;f.importFolders(b).then(function(a){return f.importFeedQueue(a,d)})["finally"](function(){c.isOPMLImporting=!1})}catch(g){console.error(g),this.isOPMLImporting=!1,this.opmlImportError=!0}},this.importArticles=function(a){this.opmlImportError=!1,this.articleImportError=!1;try{this.isArticlesImporting=!0;var b=JSON.parse(a),c=this;d.importArticles(b).success(function(a){g.publishAll(a)})["finally"](function(){c.isArticlesImporting=!1})}catch(e){console.error(e),this.articleImportError=!0,this.isArticlesImporting=!1}}}]),j.filter("trustUrl",["$sce",function(a){return function(b){return a.trustAsResourceUrl(b)}}]),j.filter("unreadCountFormatter",function(){return function(a){return a>999?"999+":a}}),j.factory("FeedResource",["Resource","$http","BASE_URL","$q",function(a,b,c,d){var e=function(b,c,d){a.call(this,b,c,"url"),this.ids={},this.locations={},this.unreadCount=0,this.folderUnreadCount={},this.folderIds={},this.$q=d};return e.prototype=Object.create(a.prototype),e.prototype.receive=function(b){a.prototype.receive.call(this,b),this.updateUnreadCache(),this.updateFolderCache()},e.prototype.clear=function(){a.prototype.clear.call(this),this.unreadCount=0,this.folderUnreadCount={},this.folderIds={},this.ids={},this.locations={}},e.prototype.updateUnreadCache=function(){this.unreadCount=0,this.folderUnreadCount={};var a=this;this.values.forEach(function(b){b.unreadCount&&(a.unreadCount+=b.unreadCount),b.folderId!==i&&(a.folderUnreadCount[b.folderId]=a.folderUnreadCount[b.folderId]||0,a.folderUnreadCount[b.folderId]+=b.unreadCount)})},e.prototype.updateFolderCache=function(){this.folderIds={};var a=this;this.values.forEach(function(b){a.folderIds[b.folderId]=a.folderIds[b.folderId]||[],a.folderIds[b.folderId].push(b)})},e.prototype.add=function(b){a.prototype.add.call(this,b),b.id!==i&&(this.ids[b.id]=this.hashMap[b.url]),b.location!==i&&(this.locations[b.location]=this.hashMap[b.url])},e.prototype.markRead=function(){this.values.forEach(function(a){a.unreadCount=0}),this.updateUnreadCache()},e.prototype.markFeedRead=function(a){this.ids[a].unreadCount=0,this.updateUnreadCache()},e.prototype.markFolderRead=function(a){this.values.forEach(function(b){b.folderId===a&&(b.unreadCount=0)}),this.updateUnreadCache()},e.prototype.markItemOfFeedRead=function(a){this.ids[a].unreadCount-=1,this.updateUnreadCache()},e.prototype.markItemsOfFeedsRead=function(a){var b=this;a.forEach(function(a){b.ids[a].unreadCount-=1}),this.updateUnreadCache()},e.prototype.markItemOfFeedUnread=function(a){this.ids[a].unreadCount+=1,this.updateUnreadCache()},e.prototype.getUnreadCount=function(){return this.unreadCount},e.prototype.getFolderUnreadCount=function(a){return this.folderUnreadCount[a]},e.prototype.getByFolderId=function(a){return this.folderIds[a]||[]},e.prototype.getById=function(a){return this.ids[a]},e.prototype.getByLocation=function(a){return this.locations[a]},e.prototype.move=function(a,b){var c=this.getById(a);return c.folderId=b,this.updateFolderCache(),this.updateUnreadCache(),this.patch(a,{folderId:b})},e.prototype.create=function(a,b,c){a=a.trim(),a.startsWith("http")||(a="https://"+a),c!==i&&(c=c.trim());var d={url:a,folderId:b||0,title:c||a,unreadCount:0};this.add(d),this.updateFolderCache();var e=this.$q.defer();return this.http({method:"POST",url:this.BASE_URL+"/feeds",data:{url:a,parentFolderId:b||0,title:c}}).success(function(a){e.resolve(a)}).error(function(a){d.faviconLink="",d.error=a.message,e.reject()}),e.promise},e.prototype.reversiblyDelete=function(a,b,c){var d=this.getById(a);return d&&c!==!0&&(d.deleted=!0),b!==!1&&this.updateUnreadCache(),this.http["delete"](this.BASE_URL+"/feeds/"+a)},e.prototype.reversiblyDeleteFolder=function(a){var b=this,c=[];this.getByFolderId(a).forEach(function(a){c.push(b.reversiblyDelete(a.id,!1,!0))}),this.updateUnreadCache();var d=this.$q.all(c);return d.promise},e.prototype["delete"]=function(b,c){var d=this.get(b);return d!==i&&d.id&&delete this.ids[d.id],d!==i&&d.location&&delete this.locations[d.location],a.prototype["delete"].call(this,b),c!==!1&&(this.updateUnreadCache(),this.updateFolderCache()),d},e.prototype.deleteFolder=function(a){var b=this;this.getByFolderId(a).forEach(function(a){b["delete"](a.url,!1)}),this.updateUnreadCache(),this.updateFolderCache()},e.prototype.undoDelete=function(a,b){var c=this.getById(a);return c&&(c.deleted=!1),b!==!1&&this.updateUnreadCache(),this.http.post(this.BASE_URL+"/feeds/"+a+"/restore")},e.prototype.undoDeleteFolder=function(a){var b=this,c=[];this.getByFolderId(a).forEach(function(a){c.push(b.undoDelete(a.id,!1))}),this.updateUnreadCache();var d=this.$q.all(c);return d.promise},e.prototype.setOrdering=function(a,b){var c=this.getById(a);if(c){c.ordering=b;var d=this.BASE_URL+"/feeds/"+a;return this.http.patch(d,{ordering:b})}},e.prototype.setPinned=function(a,b){var c=this.getById(a);if(c){c.pinned=b;var d=this.BASE_URL+"/feeds/"+a;return this.http.patch(d,{pinned:b})}},e.prototype.patch=function(a,b){var c=this.getById(a);if(c){Object.keys(b).forEach(function(a){c[a]=b[a]});var d=this.BASE_URL+"/feeds/"+a;return this.http.patch(d,b)}},e.prototype.toggleFullText=function(a){var b=this.getById(a);return this.patch(a,{fullTextEnabled:!b.fullTextEnabled})},new e(b,c,d)}]),j.factory("FolderResource",["Resource","$http","BASE_URL","$q",function(a,b,c,d){var e=function(b,c,d){a.call(this,b,c,"name"),this.deleted=null,this.$q=d,this.ids={}};return e.prototype=Object.create(a.prototype),e.prototype.add=function(b){a.prototype.add.call(this,b),b.id!==i&&(this.ids[b.id]=this.hashMap[b.name])},e.prototype.clear=function(){a.prototype.clear.call(this),this.ids={}},e.prototype["delete"]=function(b){var c=this.get(b);return c!==i&&c.id&&delete this.ids[c.id],a.prototype["delete"].call(this,b),c},e.prototype.toggleOpen=function(a){var b=this.get(a);return b.opened=!b.opened,this.http({url:this.BASE_URL+"/folders/"+b.id+"/open",method:"POST",data:{folderId:b.id,open:b.opened}})},e.prototype.rename=function(a,b){var c=this.get(a),d=this.$q.defer(),e=this;return this.http({url:this.BASE_URL+"/folders/"+c.id+"/rename",method:"POST",data:{folderName:b}}).success(function(){c.name=b,delete e.hashMap[a],e.hashMap[b]=c,d.resolve()}).error(function(a){d.reject(a.message)}),d.promise},e.prototype.getById=function(a){return this.ids[a]},e.prototype.create=function(a){a=a.trim();var b={name:a};this.add(b);var c=this.$q.defer();return this.http({url:this.BASE_URL+"/folders",method:"POST",data:{folderName:a}}).success(function(a){c.resolve(a)}).error(function(a){b.error=a.message}),c.promise},e.prototype.reversiblyDelete=function(a){var b=this.get(a),c=b.id;return b.deleted=!0,this.http["delete"](this.BASE_URL+"/folders/"+c)},e.prototype.undoDelete=function(a){var b=this.get(a),c=b.id;return b.deleted=!1,this.http.post(this.BASE_URL+"/folders/"+c+"/restore")},new e(b,c,d)}]),j.factory("ItemResource",["Resource","$http","BASE_URL","ITEM_BATCH_SIZE",function(a,b,c,d){var e=function(b,c,d){a.call(this,b,c),this.batchSize=d,this.clear()};return e.prototype=Object.create(a.prototype),e.prototype.clear=function(){this.starredCount=0,this.lowestId=0,this.highestId=0,a.prototype.clear.call(this)},e.prototype.receive=function(b,c){switch(c){case"newestItemId":this.newestItemId=b;break;case"starred":this.starredCount=b;break;default:var d=this;b.forEach(function(a){0===d.lowestId&&(d.lowestId=a.id),0===d.highestId&&(d.highestId=a.id),a.id>d.highestId&&(d.highestId=a.id),a.id<d.lowestId&&(d.lowestId=a.id)}),a.prototype.receive.call(this,b,c)}},e.prototype.getNewestItemId=function(){return this.newestItemId},e.prototype.getStarredCount=function(){return this.starredCount},e.prototype.star=function(a,b){b===i&&(b=!0);var c=this.get(a),d=this.BASE_URL+"/items/"+c.feedId+"/"+c.guidHash+"/star";return c.starred=b,b?this.starredCount+=1:this.starredCount-=1,this.http({url:d,method:"POST",data:{isStarred:b}})},e.prototype.toggleStar=function(a){this.get(a).starred?this.star(a,!1):this.star(a,!0)},e.prototype.markItemRead=function(a,b){return b===i&&(b=!0),this.get(a).unread=!b,this.http({url:this.BASE_URL+"/items/"+a+"/read",method:"POST",data:{isRead:b}})},e.prototype.markItemsRead=function(a){var b=this;return a.forEach(function(a){b.get(a).unread=!1}),this.http({url:this.BASE_URL+"/items/read/multiple",method:"POST",data:{itemIds:a}})},e.prototype.markFeedRead=function(a,b){b===i&&(b=!0);var c=this.values.filter(function(b){return b.feedId===a});return c.forEach(function(a){a.unread=!b}),this.http.post(this.BASE_URL+"/feeds/"+a+"/read",{highestItemId:this.getNewestItemId()})},e.prototype.markRead=function(){return this.values.forEach(function(a){a.unread=!1}),this.http({url:this.BASE_URL+"/items/read",method:"POST",data:{highestItemId:this.getNewestItemId()}})},e.prototype.autoPage=function(a,b,c,d,e){var f;return f=c?this.highestId:this.lowestId,this.http({url:this.BASE_URL+"/items",method:"GET",params:{type:a,id:b,offset:f,limit:this.batchSize,oldestFirst:c,showAll:d,search:e}})},e.prototype.importArticles=function(a){return this.http({url:this.BASE_URL+"/feeds/import/articles",method:"POST",data:{json:a}})},new e(b,c,d)}]),j.service("Loading",function(){this.loading={global:!1,content:!1,autopaging:!1},this.setLoading=function(a,b){this.loading[a]=b},this.isLoading=function(a){return this.loading[a]}}),j.service("OPMLImporter",["FeedResource","FolderResource","Publisher","$q",function(a,b,c,d){var e=function(f){var g=d.defer();if(f.length>0){var h=f.pop(),j=h.url,k=h.title,l=0,m=h.folderName;if(m!==i&&b.get(m)!==i){var n=b.get(m);n.opened=!0,l=n.id,n.getsFeed=!0,n.getsFeedCounter=n.getsFeedCounter||0,n.getsFeedCounter+=1}j!==i&&a.get(j)===i&&a.create(j,l,k).then(function(a){c.publishAll(a)})["finally"](function(){0!==l&&(n.getsFeedCounter-=1,0===n.getsFeedCounter&&(n.getsFeed=!1)),e(f)})}else g.resolve();return g.promise};this.importFolders=function(a){var e=[],f=[];a.folders.forEach(function(a){if(a.name!==i){if(b.get(a.name)===i){var d=b.create(a.name).then(function(a){c.publishAll(a)});f.push(d)}a.feeds.forEach(function(b){b.folderName=a.name,e.push(b)})}}),e=e.concat(a.feeds);var g=d.defer();return d.all(f)["finally"](function(){g.resolve(e)}),g.promise},this.importFeedQueue=function(a,b){for(var c=d.defer(),f=[],g=0;b>g;g+=1)f.push(e(a));return d.all(f).then(function(){c.resolve()}),c.promise}}]),j.service("OPMLParser",function(){var a=function(a){var b=a.attr("xmlUrl")||a.attr("htmlUrl"),c=a.attr("title")||a.attr("text")||b;return b===i?{type:"folder",name:c,feeds:[]}:{type:"feed",name:c,url:b}},b=function(c,d,f){for(var g=0;g<c.length;g+=1){var h=e(c[g]),i=a(h);"feed"===i.type?d.feeds.push(i):f?(b(h.children("outline"),i,!1),d.folders.push(i)):b(h.children("outline"),d,!1)}return d};this.parse=function(a){a=e.parseXML(a);var c=e(a).find("body > outline"),d={feeds:[],folders:[]};return b(c,d,!0)}}),j.service("Publisher",function(){this.channels={},this.subscribe=function(a){var b=this;return{toChannels:function(c){c.forEach(function(c){b.channels[c]=b.channels[c]||[],b.channels[c].push(a)})}}},this.publishAll=function(a){var b=this;Object.keys(a).forEach(function(c){var d=b.channels[c];d!==i&&d.forEach(function(b){b.receive(a[c],c)})})}}),j.factory("Resource",function(){var a=function(a,b,c){this.id=c||"id",this.values=[],this.hashMap={},this.http=a,this.BASE_URL=b};return a.prototype.receive=function(a){var b=this;a.forEach(function(a){b.add(a)})},a.prototype.add=function(a){var b=this.hashMap[a[this.id]];b===i?(this.values.push(a),this.hashMap[a[this.id]]=a):Object.keys(a).forEach(function(c){b[c]=a[c]})},a.prototype.size=function(){return this.values.length},a.prototype.get=function(a){return this.hashMap[a]},a.prototype["delete"]=function(a){var b=this,c=this.values.findIndex(function(c){return c[b.id]===a});c!==i&&this.values.splice(c,1),this.hashMap[a]!==i&&delete this.hashMap[a]},a.prototype.clear=function(){for(this.hashMap={};this.values.length>0;)this.values.pop()},a.prototype.getAll=function(){return this.values},a}),j.service("SettingsResource",["$http","BASE_URL",function(a,b){this.settings={language:"en",showAll:null,compact:!1,oldestFirst:null,preventReadOnScroll:!1,compactExpand:!1,exploreUrl:""},this.defaultLanguageCode="en",this.supportedLanguageCodes=["ar-ma","ar","bg","ca","cs","cv","da","de","el","en","en-ca","en-gb","eo","es","et","eu","fi","fr-ca","fr","gl","he","hi","hu","id","is","it","ja","ka","ko","lv","ms-my","nb","ne","nl","pl","pt-br","pt","ro","ru","sk","sl","sv","th","tr","tzm-la","tzm","uk","zh-cn","zh-tw"],this.getSupportedLanguageCodes=function(){return this.supportedLanguageCodes},this.receive=function(a){var b=this;Object.keys(a).forEach(function(c){var d=a[c];"language"===c&&(d=b.processLanguageCode(d)),b.settings[c]=d})},this.get=function(a){return this.settings[a]},this.set=function(c,d){return this.settings[c]=d,a({url:b+"/settings",method:"PUT",data:{language:this.settings.language,showAll:this.settings.showAll,compact:this.settings.compact,oldestFirst:this.settings.oldestFirst,compactExpand:this.settings.compactExpand,preventReadOnScroll:this.settings.preventReadOnScroll}})},this.processLanguageCode=function(a){return a=a.replace("_","-").toLowerCase(),this.supportedLanguageCodes.indexOf(a)<0&&(a=a.split("-")[0]),this.supportedLanguageCodes.indexOf(a)<0&&(a=this.defaultLanguageCode),a}}]),function(a,b,c,d,e,f){var g=a.location,h=a.localStorage,i=function(a,b,d){var e=c.isContentHandlerRegistered,f=function(a,b){return e?"new"!==e(a,b):h.getItem("registeredHandler")===b};c.registerContentHandler&&!f(a,b)&&(c.registerContentHandler(a,k,d),e||h.setItem("registeredHandler",b))},j=g.protocol+"//"+g.host+g.pathname,k=j+"?subscribe_to=%s",l="application/vnd.mozilla.maybe.feed",m="ownCloud News @ "+j;i(l,k,m),e(b).ready(function(){var b=a.decodeURIComponent(d("?subscribe_to"));if(b&&"null"!==b){e("#new-feed").show();var c=e('input[ng-model="Navigation.feed.url"]');c.val(b),c.trigger("input"),setTimeout(function(){c.focus()},1e3)}})}(b,c,a,h,e),function(a,b){a.addEventListener("beforeunload",function(){var a=b.querySelector("#app-content");a.scrollTo(0,0)})}(b,c),function(a,b,c){var d=function(a){return!(a.is("input")||a.is("select")||a.is("textarea")||a.is("checkbox"))},e=function(a){return!(a.shiftKey||a.altKey||a.ctrlKey||a.metaKey)},f=function(a){var b=".active > .app-navigation-entry-menu .mark-read button",c=a.find(b);c.length>0&&c.trigger("click")},g=function(a,b){var c=a.offset().top-b.offset().top,d=c+a.height(),e=b.height();return c>=0&&e>d},h=function(a,b,c){0===a.length||!c&&g(a,b)||b.scrollTop(a.offset().top-b.offset().top+b.scrollTop())},i=function(a){var b=a.find(".active");h(b,a.children("ul"),!0)},j=function(a){a.find(".active > a:visible").trigger("click")},k=function(a,b){if(0===b.scrollTop()){var c=b.find(".pull-to-refresh");c.hasClass("show-pull-to-refresh")?c.hasClass("done")&&j(a):c.addClass("show-pull-to-refresh")}},l=function(a,b){a.children("a:visible").trigger("click"),h(a,b.children("ul"))},m=function(a){var b=a.find(".active"),d=a.find(".explore-feed,.subscriptions-feed:visible,.starred-feed:visible,.feed:visible");if(b.hasClass("folder"))for(;b.length>0;){var e=b.find(".feed:visible");if(e.length>0)return void l(c(e[0]),a);b=b.next(".folder")}else for(var f=0;f<d.length-1;f+=1){var g=d[f];if(g===b[0]){var h=d[f+1];l(c(h),a);break}}},n=function(a){return a.parent().parent(".folder")},o=function(a,b){var d,e=a.find(".folder:visible");d=b?e.length-1:0,e.length>0&&l(c(e[d]),a)},p=function(a){var b=a.find(".active");if(b.hasClass("folder"))l(b.prevAll(".folder:visible").first(),a);else if(b.hasClass("feed")){var c=n(b);c.length>0?l(c,a):o(a,!0)}else o(a,!0)},q=function(a){var b=a.find(".active");if(b.hasClass("folder"))l(b.nextAll(".folder:visible").first(),a);else if(b.hasClass("feed")){var c=n(b);c.length>0?l(c.nextAll(".folder:visible").first(),a):o(a)}else o(a)},r=function(a){var b=a.find(".active"),d=a.find(".explore-feed,.subscriptions-feed:visible,.starred-feed:visible,.feed:visible");if(b.hasClass("folder")){for(var e=b.prev(".folder");e.length>0;){var f=e.find(".feed:visible");if(f.length>0)return void l(c(f[f.length-1]),a);e=e.prev(".folder")}var g=b.siblings(".feed");if(g.length>0)return void l(c(g[g.length-1]),a);var h=c(".starred-feed:visible");return void(h.length>0&&l(h,a))}for(var i=d.length-1;i>0;i-=1){var j=d[i];if(j===b[0]){var k=d[i-1];l(c(k),a);break}}},s=function(a,b){var d=a.find(".item");d.each(function(a,d){return d=c(d),d.height()+d.position().top>30?(b(d),!1):void 0})},t=function(a){s(a,function(a){a.find(".toggle-keep-unread").trigger("click")})},u=function(a){s(a,function(a){a.find(".star").trigger("click")})},v=function(a){s(a,function(a){a.find(".utils").trigger("click")})},w=function(b){s(b,function(b){b.trigger("click"),a.open(b.find(".external:visible").attr("href"),"_blank")})},x=function(a,b,c){a.scrollTop(b.offset().top-a.offset().top+a.scrollTop()),c&&s(a,function(a){a.hasClass("open")||a.find(".utils").trigger("click")})},y=function(a,b){var d=a.find(".item"),e=!1;d.each(function(d,f){return f=c(f),0===f.position().top&&b&&!f.hasClass("open")||f.position().top>10?(x(a,f,b),e=!0,!1):void 0}),e||a.scrollTop(a.prop("scrollHeight"))},z=function(a,b,d){var e=b.find(".item"),f=!1;e.each(function(e,g){if(g=c(g),g.position().top+10>=0){var h=g.prev();return h.length>0?x(b,h,d):(k(a,b),b.scrollTop(0)),f=!0,!1}}),!f&&e.length>0&&x(b,e.last())};c(b).keyup(function(a){var b=a.keyCode,g=c("#app-content"),h=c("#app-navigation"),l=c("#articles.compact").length>0,n="true"===c("#articles").attr("news-compact-expand"),o=l&&n;d(c(":focus"))&&e(a)?[74,78,39].indexOf(b)>=0?(a.preventDefault(),y(g,o)):[75,80,37].indexOf(b)>=0?(a.preventDefault(),z(h,g,o)):[85].indexOf(b)>=0?(a.preventDefault(),t(g)):[69].indexOf(b)>=0?(a.preventDefault(),v(g)):[73,83,76].indexOf(b)>=0?(a.preventDefault(),u(g)):[72].indexOf(b)>=0?(a.preventDefault(),u(g),y(g)):[79].indexOf(b)>=0?(a.preventDefault(),w(g)):[82].indexOf(b)>=0?(a.preventDefault(),j(h)):[70].indexOf(b)>=0?(a.preventDefault(),m(h)):[68].indexOf(b)>=0?(a.preventDefault(),r(h)):[67].indexOf(b)>=0?(a.preventDefault(),p(h)):[65].indexOf(b)>=0?(a.preventDefault(),i(h)):[86].indexOf(b)>=0?(a.preventDefault(),q(h)):[81].indexOf(b)>=0?(a.preventDefault(),
+c("#searchbox").focus()):[33].indexOf(b)>=0&&k(h,g):d(c(":focus"))&&a.shiftKey&&[65].indexOf(b)>=0&&(a.preventDefault(),f(h))})}(b,c,e),b.News=b.News||{},function(a,b,c,d,e){var f=[];d.addArticleAction=function(a){f.push(a)},d.getArticleActionPlugins=function(){return f}}(b,c,jQuery,b.News),j.run(["$document","$rootScope",function(a,b){a.click(function(a){b.$broadcast("documentClicked",a)})}]),j.directive("appNavigationEntryUtils",function(){return{restrict:"C",link:function(a,b){var c=b.siblings(".app-navigation-entry-menu"),d=e(b).find(".app-navigation-entry-utils-menu-button button");d.click(function(){c.toggleClass("open")}),a.$on("documentClicked",function(a,b){b.target!==d[0]&&c.removeClass("open")})}}}),j.directive("newsAddFeed",["$rootScope","$timeout",function(a,b){return{restrict:"A",link:function(c,d){a.$on("addFeed",function(a,e){b(function(){d.is(":animated")?(d.stop(!0,!0),d.show()):d.is(":visible")||d.slideDown(),d.find('[ng-model="Navigation.feed.url"]').focus()}),c.Navigation.feed.url=e})}}}]),j.directive("newsArticleActions",function(){return{restrict:"A",scope:{newsArticleActions:"=",noPlugins:"="},link:function(a,b){for(var c=News.getArticleActionPlugins(),d=0;d<c.length;d+=1)c[d](b,a.newsArticleActions);a.noPlugins=0===c.length}}}),j.directive("newsAutoFocus",["$timeout",function(a){return function(b,c,d){var f=c;d.newsAutoFocus&&(f=e(d.newsAutoFocus)),a(function(){f.focus()},0)}}]),j.directive("newsBindHtmlUnsafe",function(){return function(a,b,c){a.$watch(c.newsBindHtmlUnsafe,function(){b.html(a.$eval(c.newsBindHtmlUnsafe))})}}),j.directive("newsDraggable",function(){return function(a,b,c){var e=a.$eval(c.newsDraggable);d.isDefined(e)?b.draggable(e):b.draggable(),c.$observe("newsDraggableDisable",function(a){"true"===a?b.draggable("disable"):b.draggable("enable")})}}),j.directive("newsDroppable",["$rootScope",function(a){return function(b,c,d){var f={accept:".feed",hoverClass:"drag-and-drop",greedy:!0,drop:function(f,g){e(".drag-and-drop").removeClass("drag-and-drop");var h={folderId:parseInt(c.data("id"),10),feedId:parseInt(e(g.draggable).data("id"),10)};a.$broadcast("moveFeedToFolder",h),b.$apply(d.droppable)}};c.droppable(f)}}]),j.directive("newsFinishedTransition",function(){return function(a,b,c){b.on("transitionend",function(){b.addClass(c.newsFinishedTransition)})}}),j.directive("newsFocus",["$timeout","$interpolate",function(a,b){return function(c,d,f){d.click(function(){var d=e(b(f.newsFocus)(c));a(function(){d.focus()},500)})}}]),j.directive("newsInstantNotification",function(){return{restrict:"E",link:function(a,b){b.hide();var c=b.html();f.Notification.showHtml(c)}}}),j.directive("newsPlayOne",["$rootScope",function(a){return{restrict:"A",link:function(b,c){c.on("play",function(){a.$broadcast("playing",c)}),a.$on("playing",function(a,b){b[0]!==c[0]&&c[0].pause()})}}}]),j.directive("newsPullToRefresh",["$rootScope",function(a){var b=!1;return{restrict:"A",scope:{newsPullToRefresh:"="},link:function(c,d){a.$on("$routeChangeStart",function(){b=!1,c.newsPullToRefresh=!1}),d.on("scroll",function(){0===d.scrollTop()&&b&&(c.newsPullToRefresh=!0),b=!0})}}}]),j.directive("newsReadFile",function(){return function(a,b,c){b.change(function(){var d=b[0].files[0],e=new FileReader;e.onload=function(b){a.$fileContent=b.target.result,a.$apply(c.newsReadFile)},e.readAsText(d)})}}),j.directive("newsRefreshMasonry",["$timeout",function(a){var b=function(b){a(function(){a(function(){b.parent().masonry({itemSelector:".grid-item",gutter:25,columnWidth:300})})})};return function(a,c){a.$last&&b(c)}}]),j.directive("newsScroll",["$timeout","ITEM_AUTO_PAGE_SIZE","MARK_READ_TIMEOUT","SCROLL_TIMEOUT",function(a,b,c,d){var f,g=function(a,b,c){for(var d=0,f=b.find(".item"),g=f.length-1;g>=0;g-=1){var h=e(f[g]);if(d>=a)break;if(h.position().top<0){c.$apply(c.newsScrollAutoPage);break}d+=1}},h=function(a,b,c){if(a){var d=[],f=b.find(".item:not(.read)");f.each(function(a,b){var c=e(b);return c.position().top<=-10?void d.push(parseInt(c.data("id"),10)):!1}),c.itemIds=d,c.$apply(c.newsScrollMarkRead)}};return{restrict:"A",scope:{newsScroll:"@",newsScrollAutoPage:"&",newsScrollMarkRead:"&",newsScrollEnabledMarkRead:"="},link:function(j,k){var l=!0,m=k;j.newsScroll&&(m=e(j.newsScroll));var n=function(){l&&(l=!1,a(function(){l=!0},1e3*d),g(b,k,j),f&&a.cancel(f),f=a(function(){h(j.newsScrollEnabledMarkRead,k,j),f=i},1e3*c))};m.on("scroll",n),j.$on("$destroy",function(){m.off("scroll",n)})}}}]),j.directive("newsSearch",["$document","$location",function(a,b){return{restrict:"E",scope:{onSearch:"="},link:function(a){var c=e("#searchbox");c.val(b.search().search);var d=function(){var b=c.val();a.$apply(function(){a.onSearch(b)})};c.on("search keyup",function(a){("search"===a.type||13===a.keyCode)&&d()}),a.$watch(function(){return b.search()},function(a){a&&a.search?c.val(a.search):c.val("")})}}}]),j.directive("newsStickyMenu",function(){return function(a,b,c){var d=40;e(c.newsStickyMenu).scroll(function(){var a=e(this).scrollTop();a>d?(b.addClass("fixed"),b.css("top",a)):b.removeClass("fixed")})}}),j.directive("newsStopPropagation",function(){return{restrict:"A",link:function(a,b){b.bind("click",function(a){a.stopPropagation()})}}}),j.directive("newsTimeout",["$timeout","$rootScope",function(a,b){return{restrict:"A",scope:{newsTimeout:"&"},link:function(c,d){var e=!1,f=7,g=a(c.newsTimeout,1e3*f);c.$on("$destroy",function(){e=!0,a.cancel(g)}),b.$on("$locationChangeStart",function(){a.cancel(g),e||(e=!0,d.remove(),c.newsTimeout())})}}}]),j.directive("newsTitleUnreadCount",["$window",function(a){var b=a.document.title,c=b.split("-"),d=c[0]||"News",e=c[1]||"ownCloud";return{restrict:"E",scope:{unreadCount:"@"},link:function(b,c,f){f.$observe("unreadCount",function(b){"0"!==b?a.document.title=d+"("+b+") - "+e:a.document.title=d+" - "+e})}}}]),j.directive("newsToggleShow",function(){return{restrict:"A",scope:{newsToggleShow:"@"},link:function(a,b){b.click(function(){var b=e(a.newsToggleShow);b.toggle()})}}}),j.directive("newsTriggerClick",function(){return function(a,b,c){b.click(function(){e(c.newsTriggerClick).trigger("click")})}})}(navigator,window,document,angular,jQuery,OC,oc_requesttoken,url);
//# sourceMappingURL=app.min.js.map \ No newline at end of file
diff --git a/js/build/app.min.js.map b/js/build/app.min.js.map
index 5576a3e30..eac319ae3 100644
--- a/js/build/app.min.js.map
+++ b/js/build/app.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["app.js"],"names":["navigator","window","document","angular","$","OC","csrfToken","url","undefined","app","module","config","$routeProvider","$provide","$httpProvider","feedType","FEED","FOLDER","STARRED","SUBSCRIPTIONS","SHARED","EXPLORE","constant","generateUrl","factory","$q","BASE_URL","$window","request","domain","location","href","split","pathname","indexOf","headers","requesttoken","when","errorMessages",0,"t",401,403,412,500,503,"$timeout","timer","responseError","response","status","cancel","Notification","hide","showHtml","reject","interceptors","push","getItemResolve","type","data","$http","$route","$location","ITEM_BATCH_SIZE","FEED_TYPE","SettingsResource","FeedResource","showAll","get","oldestFirst","search","deferred","defer","resolve","parameters","limit","current","params","id","feed","getById","ordering","method","success","promise","getExploreResolve","sites","Publisher","then","publishAll","replace","language","exploreUrl","defaultExploreUrl","controller","templateUrl","run","$rootScope","$interval","Loading","ItemResource","FolderResource","REFRESH_RATE","setLoading","subscribe","toChannels","settingsDeferred","activeFeedDeferred","path","activeFeed","test","feeds","feedDeferred","folders","folderDeferred","all","length","reload","$on","this","loading","isFirstRun","size","play","item","playingItem","$routeParams","ITEM_AUTO_PAGE_SIZE","clear","isAutoPagingEnabled","isNothingMoreToAutoPage","getItems","getAll","toggleStar","itemId","toggleItem","isCompactView","show","isShowAll","markRead","keepUnread","unread","markItemRead","markItemOfFeedRead","feedId","getFeed","toggleKeepUnread","markItemOfFeedUnread","self","getOrdering","isFeed","orderBy","isCompactExpand","autoPagingEnabled","markReadEnabled","scrollRead","itemIds","ids","feedIds","forEach","markItemsOfFeedsRead","markItemsRead","$$route","autoPage","autoPageAgain","items","error","getRelativeDate","timestamp","languageCode","date","moment","unix","locale","fromNow","refresh","getMediaType","Object","keys","map","key","reduce","xs","x","category","feedList","concat","feedExists","getByLocation","subscribeTo","$broadcast","isCategoryShown","filter","element","feedError","showNewFolder","renamingFolder","addingFeed","addingFolder","folderError","renameError","getRouteId","parseInt","getFeeds","getFolders","markFolderRead","folderId","getByFolderId","markFeedRead","getFeedsOfFolder","getUnreadCount","isUnread","getFeedUnreadCount","unreadCount","isFeedUnread","getFolderUnreadCount","isFolderUnread","getStarredCount","isStarredUnread","toggleFolder","folderName","toggleOpen","hasFeeds","subFeedActive","isSubscriptionsActive","isStarredActive","isExploreActive","isFolderActive","isFeedActive","folderNameExists","trim","feedUrlExists","createFeed","newFolder","existingFolder","getsFeed","create","name","createFolder","folder","moveFeed","move","renameFeed","patch","title","editing","renameFolder","rename","message","reversiblyDeleteFeed","reversiblyDelete","undoDeleteFeed","undoDelete","deleteFeed","reversiblyDeleteFolder","undoDeleteFolder","deleteFolder","setOrdering","togglePinned","pinned","setUpdateMode","updateMode","toggleFullText","value","scope","setSelectedFolderForRoute","OPMLParser","OPMLImporter","isOPMLImporting","isArticlesImporting","opmlImportError","articleImportError","set","toggleSetting","getSetting","importOPML","content","parsedContent","parse","jobSize","importFolders","feedQueue","importFeedQueue","console","importArticles","articles","JSON","$sce","trustAsResourceUrl","Resource","call","locations","folderUnreadCount","folderIds","prototype","receive","updateUnreadCache","updateFolderCache","values","add","hashMap","startsWith","http","parentFolderId","faviconLink","updateCache","isFolder","deleted","promises","post","setPinned","isPinned","diff","fullTextEnabled","opened","open","toFolderName","batchSize","starredCount","lowestId","highestId","channel","newestItemId","getNewestItemId","star","isStarred","it","guidHash","starred","isRead","read","highestItemId","offset","json","service","global","autopaging","area","isLoading","startFeedJob","queue","pop","getsFeedCounter","folderPromises","jobPromises","i","parseOutline","outline","attr","recursivelyParse","level","root","firstLevel","entry","children","xml","parseXML","find","channels","obj","listeners","listener","objs","existing","deleteAtIndex","findIndex","splice","settings","compact","preventReadOnScroll","compactExpand","defaultLanguageCode","supportedLanguageCodes","processLanguageCode","toLowerCase","storage","localStorage","registerHandler","mime","registered","isContentHandlerRegistered","isRegistered","getItem","registerContentHandler","subscribeUrl","setItem","cleanUrl","protocol","host","mimeType","ready","subscription","decodeURIComponent","input","val","trigger","setTimeout","focus","addEventListener","querySelector","scrollTo","noInputFocused","is","noModifierKey","event","shiftKey","altKey","ctrlKey","metaKey","markAllRead","navigationArea","selector","button","isInScrollView","elem","scrollArea","elemTop","top","elemBottom","height","areaBottom","scrollToNavigationElement","toTop","scrollTop","scrollToActiveNavigationEntry","reloadFeed","tryReload","pullToRefresh","hasClass","addClass","activateNavigationEntry","nextFeed","elements","subfeeds","next","getParentFolder","parent","selectFirstOrLastFolder","isLast","index","previousFolder","prevAll","first","parentFolder","nextFolder","nextAll","previousFeed","prev","siblings","previous","onActiveItem","callback","each","position","toggleUnread","expandItem","openLink","scrollToItem","expandItemInCompact","scrollToNextItem","jumped","prop","scrollToPreviousItem","last","keyup","keyCode","isExpandItem","preventDefault","News","exports","articleActionPlugins","addArticleAction","action","getArticleActionPlugins","jQuery","$document","click","directive","restrict","link","elm","menu","toggleClass","target","removeClass","_","stop","slideDown","Navigation","newsArticleActions","noPlugins","plugins","attrs","toFocus","newsAutoFocus","$watch","newsBindHtmlUnsafe","html","$eval","options","newsDraggable","isDefined","draggable","$observe","details","accept","hoverClass","greedy","drop","ui","$apply","droppable","on","newsFinishedTransition","$interpolate","toReadd","newsFocus","notification","args","pause","scrolled","newsPullToRefresh","change","file","files","reader","FileReader","onload","$fileContent","result","newsReadFile","readAsText","masonry","itemSelector","gutter","columnWidth","$last","MARK_READ_TIMEOUT","SCROLL_TIMEOUT","counter","newsScrollAutoPage","enabled","article","newsScrollMarkRead","newsScroll","newsScrollEnabledMarkRead","allowScroll","scrollHandler","off","onSearch","box","doSearch","newsStickyMenu","scroll","scrollHeight","css","bind","stopPropagation","newsTimeout","destroyed","seconds","remove","baseTitle","titles","appName","ownCloudName","newsToggleShow","toggle","newsTriggerClick","oc_requesttoken"],"mappings":"CAAA,SAAUA,EAAWC,EAAQC,EAAUC,EAASC,EAAGC,EAAIC,EAAWC,EAAKC,GAEvE,YAIA,IAAIC,GAAMN,EAAQO,OAAO,QAAS,UAAW,aAAc,aAC3DD,GAAIE,QAAQ,iBAAkB,WAAY,gBAAiB,SAAUC,EAAgBC,EAAUC,GAG3F,GAAIC,IACAC,KAAM,EACNC,OAAQ,EACRC,QAAS,EACTC,cAAe,EACfC,OAAQ,EACRC,QAAS,EAIbR,GAASS,SAAS,eAAgB,IAClCT,EAASS,SAAS,kBAAmB,IAErCT,EAASS,SAAS,sBAAuB,IACzCT,EAASS,SAAS,WAAYjB,EAAGkB,YAAY,eAC7CV,EAASS,SAAS,YAAaP,GAC/BF,EAASS,SAAS,oBAAqB,IACvCT,EAASS,SAAS,iBAAkB,IAGpCT,EAASW,QAAQ,mBAAoB,KAAM,WAAY,UAAW,SAAUC,EAAIC,EAAUC,GACtF,OACIC,QAAS,SAAUjB,GACf,GAAIkB,GACAF,EAAQG,SAASC,KAAKC,MAAML,EAAQG,SAASG,UAAU,EAM3D,QALqC,IAAjCtB,EAAOJ,IAAI2B,QAAQR,IACY,IAA/Bf,EAAOJ,IAAI2B,QAAQL,MACnBlB,EAAOwB,QAAQC,aAAe9B,GAG3BK,GAAUc,EAAGY,KAAK1B,OAIrC,IAAI2B,IACAC,EAAGC,EAAE,OAAQ,mDACbC,IAAKD,EAAE,OAAQ,4CACfE,IAAKF,EAAE,OAAQ,wCACfG,IAAKH,EAAE,OAAQ,sDACfI,IAAKJ,EAAE,OAAQ,+FAGfK,IAAKL,EAAE,OAAQ,iEAGnB3B,GAASW,QAAQ,8BAA+B,KAAM,WAAY,SAAUC,EAAIqB,GAC5E,GAAIC,EACJ,QACIC,cAAe,SAAUC,GAYrB,MAVIA,GAASC,SAAUZ,KACfS,GACAD,EAASK,OAAOJ,GAEpB1C,EAAG+C,aAAaC,OAChBhD,EAAG+C,aAAaE,SAAShB,EAAcW,EAASC,SAChDH,EAAQD,EAAS,WACbzC,EAAG+C,aAAaC,QACjB,MAEA5B,EAAG8B,OAAON,QAI7BnC,EAAc0C,aAAaC,KAAK,mBAChC3C,EAAc0C,aAAaC,KAAK,6BAGhC,IAAIC,GAAiB,SAAUC,GAC3B,OAEIC,MAAuB,QAAS,SAAU,KAAM,YAAa,WAAY,kBAAmB,YAAa,mBAAoB,eAAgB,SAC7IC,EAAOC,EAAQrC,EAAIsC,EAAWrC,EAAUsC,EAAiBC,EACzDC,EAAkBC,GAEd,GAAIC,GAAUF,EAAiBG,IAAI,WAC/BC,EAAcJ,EAAiBG,IAAI,eACnCE,EAASR,EAAUQ,SAASA,QAAU,GAEtCC,EAAW/C,EAAGgD,OAIlB,IAAgB,OAAZL,GAAoC,OAAhBE,EACpBE,EAASE,gBACN,CACH,GAAIC,IACAhB,KAAMA,EACNiB,MAAOZ,EACPI,QAASA,EACTE,YAAaA,EACbC,OAAQA,EAQZ,IALIT,EAAOe,QAAQC,OAAOC,KAAOvE,IAC7BmE,EAAWI,GAAKjB,EAAOe,QAAQC,OAAOC,IAItCpB,IAASM,EAAUjD,KAAM,CACzB,GAAIgE,GAAOb,EAAac,QAAQN,EAAWI,GAGvCC,KAASxE,GAA+B,IAAlBwE,EAAKE,SAC3BP,EAAWL,aAAc,EACA,IAAlBU,EAAKE,WACZP,EAAWL,aAAc,GAIjCT,GACItD,IAAMmB,EAAW,SACjByD,OAAQ,MACRL,OAAQH,IACTS,QAAQ,SAAUxB,GACjBY,EAASE,QAAQd,KAIzB,MAAOY,GAASa,YAKxBC,EAAoB,WACpB,OACIC,OAAwB,QAAS,KAAM,WAAY,YAAa,mBAAoB,SACpF1B,EAAOpC,EAAIC,EAAU8D,EAAWtB,GAC5B,GAAIM,GAAW/C,EAAGgD,OAwBlB,OAtBAZ,GAAMQ,IAAI3C,EAAW,aAAa+D,KAAK,SAAU7B,GAC7C4B,EAAUE,WAAW9B,EAGrB,IAAIrD,GAAM2D,EAAiBG,IAAI,cAC1BsB,QAAQ,OAAQ,IACjBC,EAAW1B,EAAiBG,IAAI,YAEhCwB,EAAatF,EAAM,UAAYqF,EAAW,QAC1CE,EAAoBvF,EAAM,gBAC9B,OAAOsD,GACFQ,IAAIwB,GADFhC,SAEI,WACH,MAAOA,GAAMQ,IAAIyB,OAG1BL,KAAK,SAAU7B,GACdY,EAASE,QAAQd,EAAKA,QAjB1BC,SAkBS,WACLW,EAASjB,WAGNiB,EAASa,WAK5BzE,GACKyB,KAAK,UACF0D,WAAY,+BACZC,YAAa,eACbtB,QAAShB,EAAe3C,EAASI,eACjCwC,KAAM5C,EAASI,gBAElBkB,KAAK,kBACF0D,WAAY,+BACZC,YAAa,eACbtB,QAAShB,EAAe3C,EAASG,SACjCyC,KAAM5C,EAASG,UAElBmB,KAAK,oBACF0D,WAAY,+BACZC,YAAa,eACbtB,QAAShB,EAAe3C,EAASC,MACjC2C,KAAM5C,EAASC,OAElBqB,KAAK,sBACF0D,WAAY,+BACZC,YAAa,eACbtB,QAAShB,EAAe3C,EAASE,QACjC0C,KAAM5C,EAASE,SAChBoB,KAAK,YACJ0D,WAAY,+BACZC,YAAa,eACbtB,QAASY,IACT3B,KAAM5C,EAASM,UAChBgB,KAAK,cACJ2D,YAAa,iBACbrC,KAAM,QAKlBlD,EAAIwF,KAAK,aAAc,YAAa,QAAS,KAAM,YAAa,SAAU,UAAW,eAAgB,eAAgB,iBAAkB,mBAAoB,YAAa,WAAY,YAAa,eAAgB,SAAUC,EAAYnC,EAAWF,EAAOpC,EAAI0E,EAAWrC,EAAQsC,EACvQC,EAAclC,EAAcmC,EAAgBpC,EAC3CsB,EAAW9D,EAAUuC,EAAWsC,GAItCH,EAAQI,WAAW,UAAU,GAI7BhB,EAAUiB,UAAUJ,GAAcK,YAAY,QAAS,eACT,YAC9ClB,EAAUiB,UAAUH,GAAgBI,YAAY,YAChDlB,EAAUiB,UAAUtC,GAAcuC,YAAY,UAC9ClB,EAAUiB,UAAUvC,GAAkBwC,YAAY,YAGlD,IAAIC,GAAmBlF,EAAGgD,OAC1BZ,GAAMQ,IAAI3C,EAAW,aAAa0D,QAAQ,SAAUxB,GAChD4B,EAAUE,WAAW9B,GACrB+C,EAAiBjC,WAGrB,IAAIkC,GAAqBnF,EAAGgD,QACxBoC,EAAO9C,EAAU8C,MACrBhD,GAAMQ,IAAI3C,EAAW,iBAAiB0D,QAAQ,SAAUxB,GACpD,GAAIrD,EAEJ,QAAQqD,EAAKkD,WAAWnD,MAExB,IAAKM,GAAUjD,KACXT,EAAM,gBAAkBqD,EAAKkD,WAAW/B,EACxC,MAEJ,KAAKd,GAAUhD,OACXV,EAAM,kBAAoBqD,EAAKkD,WAAW/B,EAC1C,MAEJ,KAAKd,GAAU/C,QACXX,EAAM,gBACN,MAEJ,KAAK0D,GAAU5C,QACXd,EAAM,UACN,MAEJ,SACIA,EAAM,SAIL,6DACAwG,KAAKF,IACN9C,EAAU8C,KAAKtG,GAGnBqG,EAAmBlC,WAGvB,IACIsC,GADAC,EAAexF,EAAGgD,OAEtBZ,GAAMQ,IAAI3C,EAAW,UAAU0D,QAAQ,SAAUxB,GAC7CoD,EAAQpD,EACRqD,EAAavC,WAGjB,IACIwC,GADAC,EAAiB1F,EAAGgD,OAExBZ,GAAMQ,IAAI3C,EAAW,YAAY0D,QAAQ,SAAUxB,GAC/CsD,EAAUtD,EACVuD,EAAezC,YAGnBjD,EAAG2F,KACCH,EAAa5B,QACb8B,EAAe9B,UAChBI,KAAK,WAGJD,EAAUE,WAAWsB,GACrBxB,EAAUE,WAAWwB,GACM,IAAvBF,EAAMA,MAAMK,QAA2C,IAA3BH,EAAQA,QAAQG,QAC5CtD,EAAU8C,KAAK,cAKvBpF,EAAG2F,KAEKT,EAAiBtB,QACjBuB,EAAmBvB,QACnB4B,EAAa5B,QACb8B,EAAe9B,UAGlBI,KAAK,WACF3B,EAAOwD,SACPlB,EAAQI,WAAW,UAAU,KAIrCL,EAAU,WACNtC,EAAMQ,IAAI3C,EAAW,UAAU0D,QAAQ,SAAUxB,GAC7C4B,EAAUE,WAAW9B,KAEzBC,EAAMQ,IAAI3C,EAAW,YAAY0D,QAAQ,SAAUxB,GAC/C4B,EAAUE,WAAW9B,MAEX,IAAf2C,GAGHL,EAAWqB,IAAI,oBAAqB,WAChCnB,EAAQI,WAAW,WAAW,KAGlCN,EAAWqB,IAAI,sBAAuB,WAClCnB,EAAQI,WAAW,WAAW,KAIlCN,EAAWqB,IAAI,oBAAqB,WAChCxD,EAAU8C,KAAK,eAIvBpG,EAAIsF,WAAW,iBACd,UAAW,eAAgB,iBAAkB,SAAUK,EAASjC,EAAcmC,GAG3EkB,KAAKC,QAAUrB,EAEfoB,KAAKE,WAAa,WACd,MAA+B,KAAxBvD,EAAawD,QAA0C,IAA1BrB,EAAeqB,QAGvDH,KAAKI,KAAO,SAAUC,GAClBL,KAAKM,YAAcD,MAG3BpH,EAAIsF,WAAW,qBACd,YAAa,eAAgB,eAAgB,mBAAoB,OAAQ,SAAU,eAAgB,YAAa,YAAa,sBAAuB,UAAW,SAAUP,EAAWrB,EAAckC,EAAcnC,EAAkBN,EAC/NE,EAAQiE,EAAchE,EAAWE,EAAW+D,EAAqB5B,GAGjEC,EAAa4B,QAGbzC,EAAUE,WAAW9B,GAGrB4D,KAAKU,qBAAsB,EAIvB7B,EAAasB,QAAUK,EACvBR,KAAKW,yBAA0B,EAE/BX,KAAKW,yBAA0B,EAGnCX,KAAKY,SAAW,WACZ,MAAO/B,GAAagC,UAGxBb,KAAKc,WAAa,SAAUC,GACxBlC,EAAaiC,WAAWC,IAG5Bf,KAAKgB,WAAa,SAAUX,GAEpBL,KAAKiB,kBACLZ,EAAKa,MAAQb,EAAKa,OAI1BlB,KAAKmB,UAAY,WACb,MAAOzE,GAAiBG,IAAI,YAGhCmD,KAAKoB,SAAW,SAAUL,GACtB,GAAIV,GAAOxB,EAAahC,IAAIkE,EAEvBV,GAAKgB,YAAchB,EAAKiB,UAAW,IACpCzC,EAAa0C,aAAaR,GAC1BpE,EAAa6E,mBAAmBnB,EAAKoB,UAI7CzB,KAAK0B,QAAU,SAAUD,GACrB,MAAO9E,GAAac,QAAQgE,IAGhCzB,KAAK2B,iBAAmB,SAAUZ,GAC9B,GAAIV,GAAOxB,EAAahC,IAAIkE,EACvBV,GAAKiB,SACN3E,EAAaiF,qBAAqBvB,EAAKoB,QACvC5C,EAAa0C,aAAaR,GAAQ,IAGtCV,EAAKgB,YAAchB,EAAKgB,WAG5B,IAAIQ,GAAO7B,KACP8B,EAAc,WACd,GAAIpE,GAAWhB,EAAiBG,IAAI,cAEpC,IAAIgF,EAAKE,SAAU,CACf,GAAIvE,GAAOb,EAAac,QAAQ8C,EAAahD,GACzCC,IAA0B,IAAlBA,EAAKE,SACbA,GAAW,EACJF,GAA0B,IAAlBA,EAAKE,WACpBA,GAAW,GAInB,MAAOA,GAGXsC,MAAKgC,QAAU,WACX,MAAIF,KACO,KAEA,OAIf9B,KAAKiB,cAAgB,WACjB,MAAOvE,GAAiBG,IAAI,YAGhCmD,KAAKiC,gBAAkB,WACnB,MAAOvF,GAAiBG,IAAI,kBAGhCmD,KAAKkC,kBAAoB,WACrB,MAAOlC,MAAKU,qBAGhBV,KAAKmC,gBAAkB,WACnB,OAAQzF,EAAiBG,IAAI,wBAGjCmD,KAAKoC,WAAa,SAAUC,GACxB,GAAIC,MACAC,IAEJF,GAAQG,QAAQ,SAAUzB,GACtB,GAAIV,GAAOxB,EAAahC,IAAIkE,EACvBV,GAAKgB,aACNiB,EAAIrG,KAAK8E,GACTwB,EAAQtG,KAAKoE,EAAKoB,WAItBa,EAAIzC,OAAS,IACblD,EAAa8F,qBAAqBF,GAClC1D,EAAa6D,cAAcJ,KAInCtC,KAAK+B,OAAS,WACV,MAAOzF,GAAOe,QAAQsF,QAAQxG,OAASM,EAAUjD,MAGrDwG,KAAK4C,SAAW,WACZ,IAAI5C,KAAKW,wBAAT,CAMA,IAAKX,KAAKU,oBAEN,YADAV,KAAK6C,eAAgB,EAIzB7C,MAAKU,qBAAsB,EAC3BV,KAAK6C,eAAgB,CAErB,IAAI1G,GAAOG,EAAOe,QAAQsF,QAAQxG,KAC9BoB,EAAKgD,EAAahD,GAClBT,EAAcgF,IACdlF,EAAUF,EAAiBG,IAAI,WAC/BgF,EAAO7B,KACPjD,EAASR,EAAUQ,SAASA,MAEhC6B,GAAQI,WAAW,cAAc,GAEjCH,EAAa+D,SAASzG,EAAMoB,EAAIT,EAAaF,EAASG,GACrDa,QAAQ,SAAUxB,GACf4B,EAAUE,WAAW9B,GAEjBA,EAAK0G,MAAMjD,QAAUW,EACrBqB,EAAKnB,qBAAsB,EAE3BmB,EAAKlB,yBAA0B,EAG/BkB,EAAKnB,qBAAuBmB,EAAKgB,eACjChB,EAAKe,aAEVG,MAAM,WACLlB,EAAKnB,qBAAsB,IAd/B7B,WAeW,WACPD,EAAQI,WAAW,cAAc,OAIzCgB,KAAKgD,gBAAkB,SAAUC,GAC7B,GAAIA,IAAcjK,GAA2B,KAAdiK,EAAkB,CAC7C,GAAIC,GAAexG,EAAiBG,IAAI,YACpCsG,EACAC,OAAOC,KAAKJ,GAAWK,OAAOJ,GAAcK,UAAY,EAC5D,OAAOJ,GAEP,MAAO,IAIfnD,KAAKwD,QAAU,WACXlH,EAAOwD,UAGXE,KAAKyD,aAAe,SAAUtH,GAC1B,MAAIA,IAAkC,IAA1BA,EAAKzB,QAAQ,SACd,QACAyB,GAAkC,IAA1BA,EAAKzB,QAAQ,SACrB,QAEA1B,MAKnBC,EAAIsF,WAAW,qBAAsB,QAAS,aAAc,eAAgB,SAAUR,EAAOW,EAAY/B,GAGxGqD,KAAKjC,MAAQA,EAEbiC,KAAKR,MAAQkE,OAAOC,KAAK5F,GAAO6F,IAAI,SAAUC,GAC7C,OAAQA,EAAK9F,EAAM8F,MACjBC,OAAO,SAAUC,EAAIC,GACvB,GAAIC,GAAWD,EAAE,GACbE,EAAWF,EAAE,EAIjB,OAHAE,GAAS1B,QAAQ,SAAUhF,GAC1BA,EAAKyG,SAAWA,IAEVF,EAAGI,OAAOD,QAGlBlE,KAAKoE,WAAa,SAAU9J,GAC3B,MAAOqC,GAAa0H,cAAc/J,KAActB,GAGjDgH,KAAKsE,YAAc,SAAUhK,GAC5BoE,EAAW6F,WAAW,UAAWjK,IAGlC0F,KAAKwE,gBAAkB,SAAUpI,GAChC,MAAOA,GAAKqI,OAAO,SAAUC,GAC3B,MAAO/H,GAAa0H,cAAcK,EAAQlH,QAAUxE,IAClD6G,OAAS,MAIf5G,EAAIsF,WAAW,wBACd,SAAU,YAAa,eAAgB,iBAAkB,eAAgB,mBAAoB,YAAa,aAAc,YAAa,KAAM,SAAUjC,EAAQG,EAAWE,EAAcmC,EAAgBD,EACnMnC,EAAkBsB,EAAWU,EAAYnC,EAAWtC,GAGpD+F,KAAK2E,UAAY,GACjB3E,KAAK4E,eAAgB,EACrB5E,KAAK6E,gBAAiB,EACtB7E,KAAK8E,YAAa,EAClB9E,KAAK+E,cAAe,EACpB/E,KAAKgF,YAAc,GACnBhF,KAAKiF,YAAc,GACnBjF,KAAKxC,OAEL,IAAI0H,GAAa,WACb,MAAOC,UAAS7I,EAAOe,QAAQC,OAAOC,GAAI,IAG9CyC,MAAKoF,SAAW,WACZ,MAAOzI,GAAakE,UAGxBb,KAAKqF,WAAa,WACd,MAAOvG,GAAe+B,UAG1Bb,KAAKsF,eAAiB,SAAUC,GAC5B5I,EAAa2I,eAAeC,GAE5B5I,EAAa6I,cAAcD,GAAU/C,QAAQ,SAAUhF,GACnDqB,EAAa4G,aAAajI,EAAKD,OAIvCyC,KAAKyF,aAAe,SAAUhE,GAC1B5C,EAAa4G,aAAahE,GAC1B9E,EAAa8I,aAAahE,IAG9BzB,KAAKoB,SAAW,WACZvC,EAAauC,WACbzE,EAAayE,YAGjBpB,KAAKmB,UAAY,WACb,MAAOzE,GAAiBG,IAAI,YAGhCmD,KAAK0F,iBAAmB,SAAUH,GAC9B,MAAO5I,GAAa6I,cAAcD,IAGtCvF,KAAK2F,eAAiB,WAClB,MAAOhJ,GAAagJ,kBAGxB3F,KAAK4F,SAAW,WACZ,MAAO5F,MAAK2F,iBAAmB,GAGnC3F,KAAK6F,mBAAqB,SAAUpE,GAChC,GAAIjE,GAAOb,EAAac,QAAQgE,EAChC,OAAIjE,KAASxE,EACFwE,EAAKsI,YAEL,GAIf9F,KAAK+F,aAAe,SAAUtE,GAC1B,MAAOzB,MAAK6F,mBAAmBpE,GAAU,GAG7CzB,KAAKgG,qBAAsB,SAAUT,GACjC,MAAO5I,GAAaqJ,qBAAqBT,IAG7CvF,KAAKiG,eAAiB,SAAUV,GAC5B,MAAOvF,MAAKgG,qBAAqBT,GAAY,GAGjDvF,KAAKkG,gBAAkB,WACnB,MAAOrH,GAAaqH,mBAGxBlG,KAAKmG,gBAAkB,WACnB,MAAOnG,MAAKkG,kBAAoB,GAGpClG,KAAKoG,aAAe,SAAUC,GAC1BvH,EAAewH,WAAWD,IAG9BrG,KAAKuG,SAAW,SAAUhB,GACtB,MAAO5I,GAAaqJ,qBAAqBT,KAAcvM,GAG3DgH,KAAKwG,cAAgB,SAAUjB,GAC3B,GAAIpJ,GAAOG,EAAOe,QAAQsF,QAAQxG,IAElC,IAAIA,IAASM,EAAUjD,KAAM,CACzB,GAAIgE,GAAOb,EAAac,QAAQyH,IAEhC,IAAI1H,IAASxE,GAAawE,EAAK+H,WAAaA,EACxC,OAAO,EAIf,OAAO,GAGXvF,KAAKyG,sBAAwB,WACzB,MAAOnK,GAAOe,SACVf,EAAOe,QAAQsF,QAAQxG,OAASM,EAAU9C,eAGlDqG,KAAK0G,gBAAkB,WACnB,MAAOpK,GAAOe,SACVf,EAAOe,QAAQsF,QAAQxG,OAASM,EAAU/C,SAGlDsG,KAAK2G,gBAAkB,WACnB,MAAOrK,GAAOe,SACVf,EAAOe,QAAQsF,QAAQxG,OAASM,EAAU5C,SAGlDmG,KAAK4G,eAAiB,SAAUrB,GAC5B,MAAOjJ,GAAOe,SACVf,EAAOe,QAAQsF,QAAQxG,OAASM,EAAUhD,QAC1CyL,MAAiBK,GAGzBvF,KAAK6G,aAAe,SAAUpF,GAC1B,MAAOnF,GAAOe,SACVf,EAAOe,QAAQsF,QAAQxG,OAASM,EAAUjD,MAC1C0L,MAAiBzD,GAGzBzB,KAAK8G,iBAAmB,SAAUT,GAE9B,MADAA,GAAaA,GAAc,GACpBvH,EAAejC,IAAIwJ,EAAWU,UAAY/N,GAGrDgH,KAAKgH,cAAgB,SAAUjO,GAG3B,MAFAA,GAAMA,GAAO,GACbA,EAAMA,EAAIgO,OACHpK,EAAaE,IAAI9D,KAASC,GAC7B2D,EAAaE,IAAI,UAAY9D,KAASC,GAG9CgH,KAAKiH,WAAa,SAAUzJ,GACxB,GAAIqE,GAAO7B,IACXA,MAAK4E,eAAgB,EACrB5E,KAAK8E,YAAa,CAElB,IAAIoC,GAAY1J,EAAK0J,UACjBC,EAAiB3J,EAAK2J,iBAAmB5J,GAAI,EAG7C2J,KAAclO,GAA2B,KAAdkO,GAG3BC,EAAeC,UAAW,EAE1BzK,EAAa0K,OAAO7J,EAAKzE,IAAKoO,EAAe5J,GAAIvE,GAChDiF,KAAK,SAAU7B,GAEZ4B,EAAUE,WAAW9B,GAGrBG,EAAU8C,KAAK,gBAAkBjD,EAAKoD,MAAM,GAAGjC,GAAK,OANxDZ,WAQW,WACPwK,EAAeC,SAAWpO,EAC1BwE,EAAKzE,IAAM,GACX8I,EAAKiD,YAAa,KAKtBhG,EAAeuI,OAAOH,GAAWjJ,KAAK,SAAU7B,GAE5C4B,EAAUE,WAAW9B,GAIrBoB,EAAK2J,eAAiBrI,EAAejC,IAAIT,EAAKsD,QAAQ,GAAG4H,MACzD9J,EAAK0J,UAAYlO,EACjB6I,EAAKoF,WAAWzJ,MAK5BwC,KAAKuH,aAAe,SAAUC,GAC1B,GAAI3F,GAAO7B,IACXA,MAAK+E,cAAe,EACpBjG,EAAeuI,OAAOG,EAAOF,MAAMrJ,KAAK,SAAU7B,GAC9C4B,EAAUE,WAAW9B,KADzB0C,WAEW,WACP+C,EAAKkD,cAAe,EACpByC,EAAOF,KAAO,MAItBtH,KAAKyH,SAAW,SAAUhG,EAAQ8D,GAC9B,GAAIzF,IAAS,EACTtC,EAAOb,EAAac,QAAQgE,EAE5BjE,GAAK+H,WAAaA,KAIlBvF,KAAK4G,eAAepJ,EAAK+H,WACzBvF,KAAK4G,eAAerB,MACpBzF,GAAS,GAGbnD,EAAa+K,KAAKjG,EAAQ8D,GAEtBzF,GACAxD,EAAOwD,WAIfE,KAAK2H,WAAa,SAAUnK,GACxBb,EAAaiL,MAAMpK,EAAKD,IAAKsK,MAAOrK,EAAKqK,QACzCrK,EAAKsK,SAAU,GAGnB9H,KAAK+H,aAAe,SAAUP,EAAQF,GAClCE,EAAOvC,YAAc,GACrBjF,KAAK6E,gBAAiB,CACtB,IAAIhD,GAAO7B,IAEPwH,GAAOF,OAASA,GAChBE,EAAOvC,YAAc,GACrBuC,EAAOM,SAAU,EACjB9H,KAAK6E,gBAAiB,GAEtB/F,EAAekJ,OAAOR,EAAOF,KAAMA,GAAMrJ,KAAK,WAC1CuJ,EAAOvC,YAAc,GACrBuC,EAAOM,SAAU,GAClB,SAAUG,GACTT,EAAOvC,YAAcgD,IAJzBnJ,WAKW,WACP+C,EAAKgD,gBAAiB,KAKlC7E,KAAKkI,qBAAuB,SAAU1K,GAClCb,EAAawL,iBAAiB3K,EAAKD,IAAnCZ,WAA+C,WAC3CL,EAAOwD,YAIfE,KAAKoI,eAAiB,SAAU5K,GAC5Bb,EAAa0L,WAAW7K,EAAKD,IAA7BZ,WAAyC,WACrCL,EAAOwD,YAIfE,KAAKsI,WAAa,SAAU9K,GACxBb,EAAAA,UAAoBa,EAAKzE,MAI7BiH,KAAKuI,uBAAyB,SAAUf,GACpCvN,EAAG2F,IACCjD,EAAa4L,uBAAuBf,EAAOjK,IAC3CuB,EAAeqJ,iBAAiBX,EAAOF,OAF3CrN,WAGU,WACNqC,EAAOwD,YAIfE,KAAKwI,iBAAmB,SAAUhB,GAC9BvN,EAAG2F,IACCjD,EAAa6L,iBAAiBhB,EAAOjK,IACrCuB,EAAeuJ,WAAWb,EAAOF,OAFrCrN,WAGU,WACNqC,EAAOwD,YAIfE,KAAKyI,aAAe,SAAUjB,GAC1B7K,EAAa8L,aAAajB,EAAOjK,IACjCuB,EAAAA,UAAsB0I,EAAOF,OAGjCtH,KAAK0I,YAAc,SAAUlL,EAAME,GAC/Bf,EAAaiL,MAAMpK,EAAKD,IAAKG,SAAUA,IACvCpB,EAAOwD,UAGXE,KAAK2I,aAAe,SAAUlH,GAC1B,GAAIjE,GAAOb,EAAac,QAAQgE,EAChC,OAAIjE,GACOb,EAAaiL,MAAMnG,GAASmH,QAASpL,EAAKoL,SADrD,QAKJ5I,KAAK6I,cAAgB,SAAUpH,EAAQqH,GACnC,MAAOnM,GAAaiL,MAAMnG,GAASqH,WAAYA,KAGnD9I,KAAK+I,eAAiB,SAAUvL,GAC5BkB,EAAW6F,WAAW,qBACtB5H,EAAaoM,eAAevL,EAAKD,IAAjCZ,WAA6C,WACzC+B,EAAW6F,WAAW,uBACtBjI,EAAOwD,YAIfE,KAAKjD,OAAS,SAAUiM,GACN,KAAVA,EACAzM,EAAUQ,OAAO,SAAU,MAE3BR,EAAUQ,OAAO,SAAUiM,GAInC,IAAInH,GAAO7B,IAEXtB,GAAWqB,IAAI,mBAAoB,SAAUkJ,EAAO7M,GAChDyF,EAAK4F,SAASrL,EAAKqF,OAAQrF,EAAKmJ,WAKpC,IAAI2D,GAA4B,WAC5B,GAAI/M,EACAG,GAAOe,UACPlB,EAAOG,EAAOe,QAAQsF,QAAQxG,KAGlC,IAAIoJ,GAAW,CAEf,IAAIpJ,IAASM,EAAUhD,OACnB8L,EAAWL,QACR,IAAI/I,IAASM,EAAUjD,KAAM,CAChC,GAAIgE,GAAOb,EAAac,QAAQyH,IAE5B1H,KACA+H,EAAW/H,EAAK+H,UAIxB,GAAIiC,EACa,KAAbjC,IACAiC,EAAS1I,EAAerB,QAAQ8H,IAGpC1D,EAAKrE,KAAK2J,eAAiBK,EAG/B9I,GAAWqB,IAAI,sBAAuB,WAClCmJ,SAKRjQ,EAAIsF,WAAW,sBACd,SAAU,KAAM,mBAAoB,eAAgB,aAAc,eAAgB,YAAa,SAAUjC,EAAQrC,EAAIyC,EAAkBmC,EAAcsK,EAC5IC,EAAcpL,GAGpBgC,KAAKqJ,iBAAkB,EACvBrJ,KAAKsJ,qBAAsB,EAC3BtJ,KAAKuJ,iBAAkB,EACvBvJ,KAAKwJ,oBAAqB,CAE1B,IAAIC,GAAM,SAAU5F,EAAKmF,GACrBtM,EAAiB+M,IAAI5F,EAAKmF,IAErB,UAAW,cAAe,WAAWtO,QAAQmJ,IAAQ,GACtDvH,EAAOwD,SAIfE,MAAK0J,cAAgB,SAAU7F,GAC3B4F,EAAI5F,GAAM7D,KAAK2J,WAAW9F,KAG9B7D,KAAK2J,WAAa,SAAU9F,GACxB,MAAOnH,GAAiBG,IAAIgH,IAGhC7D,KAAK4J,WAAa,SAAUC,GACxB7J,KAAKuJ,iBAAkB,EACvBvJ,KAAKwJ,oBAAqB,CAE1B,KACIxJ,KAAKqJ,iBAAkB,CACvB,IAAIS,GAAgBX,EAAWY,MAAMF,GAEjChI,EAAO7B,KACPgK,EAAU,CAEdZ,GAAaa,cAAcH,GAC1B7L,KAAK,SAAUiM,GACZ,MAAOd,GAAae,gBAAgBD,EAAWF,KAFnDZ,WAGW,WACPvH,EAAKwH,iBAAkB,IAG7B,MAAOtG,GACLqH,QAAQrH,MAAMA,GACd/C,KAAKqJ,iBAAkB,EACvBrJ,KAAKuJ,iBAAkB,IAI/BvJ,KAAKqK,eAAiB,SAAUR,GAC5B7J,KAAKuJ,iBAAkB,EACvBvJ,KAAKwJ,oBAAqB,CAE1B,KACIxJ,KAAKsJ,qBAAsB,CAC3B,IAAIgB,GAAWC,KAAKR,MAAMF,GAEtBhI,EAAO7B,IACXnB,GAAawL,eAAeC,GAAU1M,QAAQ,SAAUxB,GACpD4B,EAAUE,WAAW9B,KADzByC,WAEW,WACPgD,EAAKyH,qBAAsB,IAGjC,MAAOvG,GACLqH,QAAQrH,MAAMA,GACd/C,KAAKwJ,oBAAqB,EAC1BxJ,KAAKsJ,qBAAsB,OAKvCrQ,EAAIwL,OAAO,YAAa,OAAQ,SAAU+F,GAGtC,MAAO,UAAUzR,GACb,MAAOyR,GAAKC,mBAAmB1R,OAGvCE,EAAIwL,OAAO,uBAAwB,WAG/B,MAAO,UAAUqB,GACb,MAAIA,GAAc,IACP,OAEJA,KAGf7M,EAAIe,QAAQ,gBAAiB,WAAY,QAAS,WAAY,KAAM,SAAU0Q,EAAUrO,EAAOnC,EAAUD,GAGrG,GAAI0C,GAAe,SAAUN,EAAOnC,EAAUD,GAC1CyQ,EAASC,KAAK3K,KAAM3D,EAAOnC,EAAU,OACrC8F,KAAKsC,OACLtC,KAAK4K,aACL5K,KAAK8F,YAAc,EACnB9F,KAAK6K,qBACL7K,KAAK8K,aACL9K,KAAK/F,GAAKA,EA0Ud,OAvUA0C,GAAaoO,UAAYrH,OAAO2D,OAAOqD,EAASK,WAEhDpO,EAAaoO,UAAUC,QAAU,SAAU5O,GACvCsO,EAASK,UAAUC,QAAQL,KAAK3K,KAAM5D,GACtC4D,KAAKiL,oBACLjL,KAAKkL,qBAGTvO,EAAaoO,UAAUtK,MAAQ,WAC3BiK,EAASK,UAAUtK,MAAMkK,KAAK3K,MAC9BA,KAAK8F,YAAc,EACnB9F,KAAK6K,qBACL7K,KAAK8K,aACL9K,KAAKsC,OACLtC,KAAK4K,cAGTjO,EAAaoO,UAAUE,kBAAoB,WACvCjL,KAAK8F,YAAc,EACnB9F,KAAK6K,oBAEL,IAAIhJ,GAAO7B,IACXA,MAAKmL,OAAO3I,QAAQ,SAAUhF,GACtBA,EAAKsI,cACLjE,EAAKiE,aAAetI,EAAKsI,aAEzBtI,EAAK+H,WAAavM,IAClB6I,EAAKgJ,kBAAkBrN,EAAK+H,UACxB1D,EAAKgJ,kBAAkBrN,EAAK+H,WAAa,EAC7C1D,EAAKgJ,kBAAkBrN,EAAK+H,WAAa/H,EAAKsI,gBAM1DnJ,EAAaoO,UAAUG,kBAAoB,WACvClL,KAAK8K,YAEL,IAAIjJ,GAAO7B,IACXA,MAAKmL,OAAO3I,QAAQ,SAAUhF,GAC1BqE,EAAKiJ,UAAUtN,EAAK+H,UAChB1D,EAAKiJ,UAAUtN,EAAK+H,cACxB1D,EAAKiJ,UAAUtN,EAAK+H,UAAUtJ,KAAKuB,MAK3Cb,EAAaoO,UAAUK,IAAM,SAAUpC,GACnC0B,EAASK,UAAUK,IAAIT,KAAK3K,KAAMgJ,GAC9BA,EAAMzL,KAAOvE,IACbgH,KAAKsC,IAAI0G,EAAMzL,IAAMyC,KAAKqL,QAAQrC,EAAMjQ,MAExCiQ,EAAM1O,WAAatB,IACnBgH,KAAK4K,UAAU5B,EAAM1O,UAAY0F,KAAKqL,QAAQrC,EAAMjQ,OAK5D4D,EAAaoO,UAAU3J,SAAW,WAC9BpB,KAAKmL,OAAO3I,QAAQ,SAAUhF,GAC1BA,EAAKsI,YAAc,IAGvB9F,KAAKiL,qBAITtO,EAAaoO,UAAUtF,aAAe,SAAUhE,GAC5CzB,KAAKsC,IAAIb,GAAQqE,YAAc,EAC/B9F,KAAKiL,qBAITtO,EAAaoO,UAAUzF,eAAiB,SAAUC,GAC9CvF,KAAKmL,OAAO3I,QAAQ,SAAUhF,GACtBA,EAAK+H,WAAaA,IAClB/H,EAAKsI,YAAc,KAI3B9F,KAAKiL,qBAITtO,EAAaoO,UAAUvJ,mBAAqB,SAAUC,GAClDzB,KAAKsC,IAAIb,GAAQqE,aAAe,EAChC9F,KAAKiL,qBAITtO,EAAaoO,UAAUtI,qBAAuB,SAAUF,GACpD,GAAIV,GAAO7B,IACXuC,GAAQC,QAAQ,SAAUf,GACtBI,EAAKS,IAAIb,GAAQqE,aAAe,IAGpC9F,KAAKiL,qBAITtO,EAAaoO,UAAUnJ,qBAAuB,SAAUH,GACpDzB,KAAKsC,IAAIb,GAAQqE,aAAe,EAChC9F,KAAKiL,qBAITtO,EAAaoO,UAAUpF,eAAiB,WACpC,MAAO3F,MAAK8F,aAIhBnJ,EAAaoO,UAAU/E,qBAAuB,SAAUT,GACpD,MAAOvF,MAAK6K,kBAAkBtF,IAIlC5I,EAAaoO,UAAUvF,cAAgB,SAAUD,GAC7C,MAAOvF,MAAK8K,UAAUvF,QAI1B5I,EAAaoO,UAAUtN,QAAU,SAAUgE,GACvC,MAAOzB,MAAKsC,IAAIb,IAIpB9E,EAAaoO,UAAU1G,cAAgB,SAAU/J,GAC7C,MAAO0F,MAAK4K,UAAUtQ,IAI1BqC,EAAaoO,UAAUrD,KAAO,SAAUjG,EAAQ8D,GAC5C,GAAI/H,GAAOwC,KAAKvC,QAAQgE,EAMxB,OALAjE,GAAK+H,SAAWA,EAEhBvF,KAAKkL,oBACLlL,KAAKiL,oBAEEjL,KAAK4H,MAAMnG,GAAS8D,SAAUA,KAKzC5I,EAAaoO,UAAU1D,OAAS,SAAUtO,EAAKwM,EAAUsC,GACrD9O,EAAMA,EAAIgO,OACLhO,EAAIuS,WAAW,UAChBvS,EAAM,WAAaA,GAGnB8O,IAAU7O,IACV6O,EAAQA,EAAMd,OAGlB,IAAIvJ,IACAzE,IAAKA,EACLwM,SAAUA,GAAY,EACtBsC,MAAOA,GAAS9O,EAChB+M,YAAa,EAGjB9F,MAAKoL,IAAI5N,GACTwC,KAAKkL,mBAEL,IAAIlO,GAAWgD,KAAK/F,GAAGgD,OAkBvB,OAhBA+C,MAAKuL,MACD5N,OAAQ,OACR5E,IAAKiH,KAAK9F,SAAW,SACrBkC,MACIrD,IAAKA,EACLyS,eAAgBjG,GAAY,EAC5BsC,MAAOA,KAEZjK,QAAQ,SAAUxB,GACjBY,EAASE,QAAQd,KAClB2G,MAAM,SAAU3G,GACfoB,EAAKiO,YAAc,GACnBjO,EAAKuF,MAAQ3G,EAAK6L,QAClBjL,EAASjB,WAGNiB,EAASa,SAIpBlB,EAAaoO,UAAU5C,iBAAmB,SAAU5K,EAAImO,EACJC,GAChD,GAAInO,GAAOwC,KAAKvC,QAAQF,EAcxB,OARIC,IAAQmO,KAAa,IACrBnO,EAAKoO,SAAU,GAGfF,KAAgB,GAChB1L,KAAKiL,oBAGFjL,KAAKuL,KAALvL,UAAiBA,KAAK9F,SAAW,UAAYqD,IAIxDZ,EAAaoO,UAAUxC,uBAAyB,SAAUhD,GACtD,GAAI1D,GAAO7B,KACP6L,IACJ7L,MAAKwF,cAAcD,GAAU/C,QAAQ,SAAUhF,GAC3CqO,EAAS5P,KAAK4F,EAAKsG,iBAAiB3K,EAAKD,IAAI,GAAO,MAGxDyC,KAAKiL,mBAEL,IAAIjO,GAAWgD,KAAK/F,GAAG2F,IAAIiM,EAC3B,OAAO7O,GAASa,SAIpBlB,EAAaoO,UAAbpO,UAAgC,SAAU5D,EAAK2S,GAC3C,GAAIlO,GAAOwC,KAAKnD,IAAI9D,EAgBpB,OAfIyE,KAASxE,GAAawE,EAAKD,UACpByC,MAAKsC,IAAI9E,EAAKD,IAGrBC,IAASxE,GAAawE,EAAKlD,gBACpB0F,MAAK4K,UAAUpN,EAAKlD,UAG/BoQ,EAASK,UAATL,UAA0BC,KAAK3K,KAAMjH,GAEjC2S,KAAgB,IAChB1L,KAAKiL,oBACLjL,KAAKkL,qBAGF1N,GAIXb,EAAaoO,UAAUtC,aAAe,SAAUlD,GAC5C,GAAI1D,GAAO7B,IACXA,MAAKwF,cAAcD,GAAU/C,QAAQ,SAAUhF,GAC3CqE,EAAAA,UAAYrE,EAAKzE,KAAK,KAG1BiH,KAAKiL,oBACLjL,KAAKkL,qBAITvO,EAAaoO,UAAU1C,WAAa,SAAU9K,EAAImO,GAC9C,GAAIlO,GAAOwC,KAAKvC,QAAQF,EAUxB,OARIC,KACAA,EAAKoO,SAAU,GAGfF,KAAgB,GAChB1L,KAAKiL,oBAGFjL,KAAKuL,KAAKO,KAAK9L,KAAK9F,SAAW,UAAYqD,EAAK,aAI3DZ,EAAaoO,UAAUvC,iBAAmB,SAAUjD,GAChD,GAAI1D,GAAO7B,KACP6L,IAEJ7L,MAAKwF,cAAcD,GAAU/C,QAAQ,SAAUhF,GAC3CqO,EAAS5P,KAAK4F,EAAKwG,WAAW7K,EAAKD,IAAI,MAG3CyC,KAAKiL,mBAEL,IAAIjO,GAAWgD,KAAK/F,GAAG2F,IAAIiM,EAC3B,OAAO7O,GAASa,SAIpBlB,EAAaoO,UAAUrC,YAAc,SAAUjH,EAAQ/D,GACnD,GAAIF,GAAOwC,KAAKvC,QAAQgE,EAExB,IAAIjE,EAAM,CACNA,EAAKE,SAAWA,CAChB,IAAI3E,GAAMiH,KAAK9F,SAAW,UAAYuH,CACtC,OAAOzB,MAAKuL,KAAK3D,MAAM7O,GACnB2E,SAAUA,MAMtBf,EAAaoO,UAAUgB,UAAY,SAAUtK,EAAQuK,GACjD,GAAIxO,GAAOwC,KAAKvC,QAAQgE,EAExB,IAAIjE,EAAM,CACNA,EAAKoL,OAASoD,CACd,IAAIjT,GAAMiH,KAAK9F,SAAW,UAAYuH,CACtC,OAAOzB,MAAKuL,KAAK3D,MAAM7O,GACnB6P,OAAQoD,MAMpBrP,EAAaoO,UAAUnD,MAAQ,SAAUnG,EAAQwK,GAC7C,GAAIzO,GAAOwC,KAAKvC,QAAQgE,EAExB,IAAIjE,EAAM,CACNkG,OAAOC,KAAKsI,GAAMzJ,QAAQ,SAASqB,GAC/BrG,EAAKqG,GAAOoI,EAAKpI,IAErB,IAAI9K,GAAMiH,KAAK9F,SAAW,UAAYuH,CACtC,OAAOzB,MAAKuL,KAAK3D,MAAM7O,EAAKkT,KAKpCtP,EAAaoO,UAAUhC,eAAiB,SAAUtH,GAC9C,GAAIjE,GAAOwC,KAAKvC,QAAQgE,EAExB,OAAOzB,MAAK4H,MAAMnG,GAASyK,iBAAkB1O,EAAK0O,mBAI/C,GAAIvP,GAAaN,EAAOnC,EAAUD,MAG7ChB,EAAIe,QAAQ,kBAAmB,WAAY,QAAS,WAAY,KAAM,SAAU0Q,EAAUrO,EAAOnC,EAAUD,GAGvG,GAAI6E,GAAiB,SAAUzC,EAAOnC,EAAUD,GAC5CyQ,EAASC,KAAK3K,KAAM3D,EAAOnC,EAAU,QACrC8F,KAAK4L,QAAU,KACf5L,KAAK/F,GAAKA,EACV+F,KAAKsC,OAkHT,OA/GAxD,GAAeiM,UAAYrH,OAAO2D,OAAOqD,EAASK,WAGlDjM,EAAeiM,UAAUK,IAAM,SAAUpC,GACrC0B,EAASK,UAAUK,IAAIT,KAAK3K,KAAMgJ,GAC9BA,EAAMzL,KAAOvE,IACbgH,KAAKsC,IAAI0G,EAAMzL,IAAMyC,KAAKqL,QAAQrC,EAAM1B,QAIhDxI,EAAeiM,UAAUtK,MAAQ,WAC7BiK,EAASK,UAAUtK,MAAMkK,KAAK3K,MAC9BA,KAAKsC,QAGTxD,EAAeiM,UAAfjM,UAAkC,SAAUwI,GACxC,GAAIE,GAASxH,KAAKnD,IAAIyK,EAOtB,OANIE,KAAWxO,GAAawO,EAAOjK,UACxByC,MAAKsC,IAAIkF,EAAOjK,IAG3BmN,EAASK,UAATL,UAA0BC,KAAK3K,KAAMsH,GAE9BE,GAGX1I,EAAeiM,UAAUzE,WAAa,SAAUD,GAC5C,GAAImB,GAASxH,KAAKnD,IAAIwJ,EAGtB,OAFAmB,GAAO2E,QAAU3E,EAAO2E,OAEjBnM,KAAKuL,MACRxS,IAAKiH,KAAK9F,SAAW,YAAcsN,EAAOjK,GAAK,QAC/CI,OAAQ,OACRvB,MACImJ,SAAUiC,EAAOjK,GACjB6O,KAAM5E,EAAO2E,WAMzBrN,EAAeiM,UAAU/C,OAAS,SAAU3B,EAAYgG,GACpD,GAAI7E,GAASxH,KAAKnD,IAAIwJ,GAClBrJ,EAAWgD,KAAK/F,GAAGgD,QACnB4E,EAAO7B,IAkBX,OAhBAA,MAAKuL,MACDxS,IAAKiH,KAAK9F,SAAW,YAAcsN,EAAOjK,GAAK,UAC/CI,OAAQ,OACRvB,MACIiK,WAAYgG,KAEjBzO,QAAQ,WACP4J,EAAOF,KAAO+E,QACPxK,GAAKwJ,QAAQhF,GACpBxE,EAAKwJ,QAAQgB,GAAgB7E,EAE7BxK,EAASE,YACV6F,MAAM,SAAU3G,GACfY,EAASjB,OAAOK,EAAK6L,WAGlBjL,EAASa,SAGpBiB,EAAeiM,UAAUtN,QAAU,SAAUF,GACzC,MAAOyC,MAAKsC,IAAI/E,IAGpBuB,EAAeiM,UAAU1D,OAAS,SAAUhB,GACxCA,EAAaA,EAAWU,MACxB,IAAIS,IACAF,KAAMjB,EAGVrG,MAAKoL,IAAI5D,EAET,IAAIxK,GAAWgD,KAAK/F,GAAGgD,OAcvB,OAZA+C,MAAKuL,MACDxS,IAAKiH,KAAK9F,SAAW,WACrByD,OAAQ,OACRvB,MACIiK,WAAYA,KAEjBzI,QAAQ,SAAUxB,GACjBY,EAASE,QAAQd,KAClB2G,MAAM,SAAU3G,GACfoL,EAAOzE,MAAQ3G,EAAK6L,UAGjBjL,EAASa,SAIpBiB,EAAeiM,UAAU5C,iBAAmB,SAAUb,GAClD,GAAIE,GAASxH,KAAKnD,IAAIyK,GAClB/J,EAAKiK,EAAOjK,EAEhB,OADAiK,GAAOoE,SAAU,EACV5L,KAAKuL,KAALvL,UAAiBA,KAAK9F,SAAW,YAAcqD,IAI1DuB,EAAeiM,UAAU1C,WAAa,SAAUf,GAC5C,GAAIE,GAASxH,KAAKnD,IAAIyK,GAClB/J,EAAKiK,EAAOjK,EAEhB,OADAiK,GAAOoE,SAAU,EACV5L,KAAKuL,KAAKO,KAAK9L,KAAK9F,SAAW,YAAcqD,EAAK,aAItD,GAAIuB,GAAezC,EAAOnC,EAAUD,MAE/ChB,EAAIe,QAAQ,gBAAiB,WAAY,QAAS,WAAY,kBAAmB,SAAU0Q,EAAUrO,EAAOnC,EACtEsC,GAGlC,GAAIqC,GAAe,SAAUxC,EAAOnC,EAAUsC,GAC1CkO,EAASC,KAAK3K,KAAM3D,EAAOnC,GAC3B8F,KAAKsM,UAAY9P,EACjBwD,KAAKS,QAsMT,OAnMA5B,GAAakM,UAAYrH,OAAO2D,OAAOqD,EAASK,WAEhDlM,EAAakM,UAAUtK,MAAQ,WAC3BT,KAAKuM,aAAe,EACpBvM,KAAKwM,SAAW,EAChBxM,KAAKyM,UAAY,EACjB/B,EAASK,UAAUtK,MAAMkK,KAAK3K,OAGlCnB,EAAakM,UAAUC,QAAU,SAAUhC,EAAO0D,GAC9C,OAAQA,GAER,IAAK,eACD1M,KAAK2M,aAAe3D,CACpB,MAEJ,KAAK,UACDhJ,KAAKuM,aAAevD,CACpB,MAEJ,SACI,GAAInH,GAAO7B,IACXgJ,GAAMxG,QAAQ,SAAUnC,GAEE,IAAlBwB,EAAK2K,WACL3K,EAAK2K,SAAWnM,EAAK9C,IAEF,IAAnBsE,EAAK4K,YACL5K,EAAK4K,UAAYpM,EAAK9C,IAGtB8C,EAAK9C,GAAKsE,EAAK4K,YACf5K,EAAK4K,UAAYpM,EAAK9C,IAEtB8C,EAAK9C,GAAKsE,EAAK2K,WACf3K,EAAK2K,SAAWnM,EAAK9C,MAI7BmN,EAASK,UAAUC,QAAQL,KAAK3K,KAAMgJ,EAAO0D,KAKrD7N,EAAakM,UAAU6B,gBAAkB,WACrC,MAAO5M,MAAK2M,cAIhB9N,EAAakM,UAAU7E,gBAAkB,WACrC,MAAOlG,MAAKuM,cAIhB1N,EAAakM,UAAU8B,KAAO,SAAU9L,EAAQ+L,GACxCA,IAAc9T,IACd8T,GAAY,EAGhB,IAAIC,GAAK/M,KAAKnD,IAAIkE,GACdhI,EAAMiH,KAAK9F,SACX,UAAY6S,EAAGtL,OAAS,IAAMsL,EAAGC,SAAW,OAUhD,OARAD,GAAGE,QAAUH,EAETA,EACA9M,KAAKuM,cAAgB,EAErBvM,KAAKuM,cAAgB,EAGlBvM,KAAKuL,MACRxS,IAAKA,EACL4E,OAAQ,OACRvB,MACI0Q,UAAWA,MAMvBjO,EAAakM,UAAUjK,WAAa,SAAUC,GACtCf,KAAKnD,IAAIkE,GAAQkM,QACjBjN,KAAK6M,KAAK9L,GAAQ,GAElBf,KAAK6M,KAAK9L,GAAQ,IAK1BlC,EAAakM,UAAUxJ,aAAe,SAAUR,EAAQmM,GAOpD,MANIA,KAAWlU,IACXkU,GAAS,GAGblN,KAAKnD,IAAIkE,GAAQO,QAAU4L,EAEpBlN,KAAKuL,MACRxS,IAAKiH,KAAK9F,SAAW,UAAY6G,EAAS,QAC1CpD,OAAQ,OACRvB,MACI8Q,OAAQA,MAMpBrO,EAAakM,UAAUrI,cAAgB,SAAUL,GAC7C,GAAIR,GAAO7B,IAMX,OAJAqC,GAAQG,QAAQ,SAASzB,GACrBc,EAAKhF,IAAIkE,GAAQO,QAAS,IAGvBtB,KAAKuL,MACRxS,IAAKiH,KAAK9F,SAAW,uBACrByD,OAAQ,OACRvB,MACIiG,QAASA,MAMrBxD,EAAakM,UAAUtF,aAAe,SAAUhE,EAAQ0L,GAChDA,IAASnU,IACTmU,GAAO,EAGX,IAAIrK,GAAQ9C,KAAKmL,OAAO1G,OAAO,SAAUC,GACrC,MAAOA,GAAQjD,SAAWA,GAO9B,OAJAqB,GAAMN,QAAQ,SAAUnC,GACpBA,EAAKiB,QAAU6L,IAGZnN,KAAKuL,KAAKO,KAAK9L,KAAK9F,SAAW,UAAYuH,EAAS,SACvD2L,cAAepN,KAAK4M,qBAK5B/N,EAAakM,UAAU3J,SAAW,WAK9B,MAJApB,MAAKmL,OAAO3I,QAAQ,SAAUnC,GAC1BA,EAAKiB,QAAS,IAGXtB,KAAKuL,MACRxS,IAAKiH,KAAK9F,SAAW,cACrByD,OAAQ,OACRvB,MACIgR,cAAepN,KAAK4M,sBAMhC/N,EAAakM,UAAUnI,SAAW,SAAUzG,EAAMoB,EAAIT,EACtDF,EAASG,GACL,GAAIsQ,EAQJ,OALIA,GADAvQ,EACSkD,KAAKyM,UAELzM,KAAKwM,SAGXxM,KAAKuL,MACRxS,IAAKiH,KAAK9F,SAAW,SACrByD,OAAQ,MACRL,QACInB,KAAMA,EACNoB,GAAIA,EACJ8P,OAAQA,EACRjQ,MAAO4C,KAAKsM,UACZxP,YAAaA,EACbF,QAASA,EACTG,OAAQA,MAMpB8B,EAAakM,UAAUV,eAAiB,SAAUiD,GAC9C,MAAOtN,MAAKuL,MACRxS,IAAKiH,KAAK9F,SAAW,yBACrByD,OAAQ,OACRvB,MACIkR,KAAMA,MAMX,GAAIzO,GAAaxC,EAAOnC,EAAUsC,MAE7CvD,EAAIsU,QAAQ,UAAW,WAGnBvN,KAAKC,SACDuN,QAAQ,EACR3D,SAAS,EACT4D,YAAY,GAGhBzN,KAAKhB,WAAa,SAAU0O,EAAMC,GAC9B3N,KAAKC,QAAQyN,GAAQC,GAGzB3N,KAAK2N,UAAY,SAAUD,GACvB,MAAO1N,MAAKC,QAAQyN,MAI5BzU,EAAIsU,QAAQ,gBAAiB,eAAgB,iBAAkB,YAAa,KAAM,SAAU5Q,EAAcmC,EAAgBd,EACpF/D,GAElC,GAAI2T,GAAe,SAAUC,GACzB,GAAI7Q,GAAW/C,EAAGgD,OAElB,IAAI4Q,EAAMhO,OAAS,EAAG,CAClB,GAAIrC,GAAOqQ,EAAMC,MACb/U,EAAMyE,EAAKzE,IACX8O,EAAQrK,EAAKqK,MACbtC,EAAW,EACXc,EAAa7I,EAAK6I,UAEtB,IAAIA,IAAerN,GACf8F,EAAejC,IAAIwJ,KAAgBrN,EAAW,CAC9C,GAAIwO,GAAS1I,EAAejC,IAAIwJ,EAChCmB,GAAO2E,QAAS,EAChB5G,EAAWiC,EAAOjK,GAGlBiK,EAAOJ,UAAW,EAClBI,EAAOuG,gBAAkBvG,EAAOuG,iBAAmB,EACnDvG,EAAOuG,iBAAmB,EAI1BhV,IAAQC,GAAa2D,EAAaE,IAAI9D,KAASC,GAC/C2D,EAAa0K,OAAOtO,EAAKwM,EAAUsC,GAClC5J,KAAK,SAAU7B,GACZ4B,EAAUE,WAAW9B,KAFzBO,WAIS,WACY,IAAb4I,IACAiC,EAAOuG,iBAAmB,EAEK,IAA3BvG,EAAOuG,kBACPvG,EAAOJ,UAAW,IAG1BwG,EAAaC,SAIrB7Q,GAASE,SAGb,OAAOF,GAASa,QAGpBmC,MAAKiK,cAAgB,SAAUJ,GAG3B,GAAIK,MACA8D,IACJnE,GAAQnK,QAAQ8C,QAAQ,SAAUgF,GAC9B,GAAIA,EAAOF,OAAStO,EAAW,CAE3B,GAAI8F,EAAejC,IAAI2K,EAAOF,QAAUtO,EAAW,CAC/C,GAAI6E,GAAUiB,EAAeuI,OAAOG,EAAOF,MAC1CrJ,KAAK,SAAU7B,GACZ4B,EAAUE,WAAW9B,IAEzB4R,GAAe/R,KAAK4B,GAGxB2J,EAAOhI,MAAMgD,QAAQ,SAAUhF,GAC3BA,EAAK6I,WAAamB,EAAOF,KACzB4C,EAAUjO,KAAKuB,QAI3B0M,EAAYA,EAAU/F,OAAO0F,EAAQrK,MAErC,IAAIxC,GAAW/C,EAAGgD,OAMlB,OAJAhD,GAAG2F,IAAIoO,GAAP/T,WAA+B,WAC3B+C,EAASE,QAAQgN,KAGdlN,EAASa,SAGpBmC,KAAKmK,gBAAkB,SAAUD,EAAWF,GAKxC,IAAK,GAHDhN,GAAW/C,EAAGgD,QAEdgR,KACKC,EAAE,EAAKlE,EAAFkE,EAAWA,GAAG,EACxBD,EAAYhS,KAAK2R,EAAa1D,GAOlC,OAJAjQ,GAAG2F,IAAIqO,GAAahQ,KAAK,WACrBjB,EAASE,YAGNF,EAASa,YAIxB5E,EAAIsU,QAAQ,aAAc,WAGtB,GAAIY,GAAe,SAAUC,GACzB,GAAIrV,GAAMqV,EAAQC,KAAK,WAAaD,EAAQC,KAAK,WAC7C/G,EAAO8G,EAAQC,KAAK,UAAYD,EAAQC,KAAK,SAAWtV,CAG5D,OAAIA,KAAQC,GAEJmD,KAAM,SACNmL,KAAMA,EACN9H,WAMArD,KAAM,OACNmL,KAAMA,EACNvO,IAAKA,IAObuV,EAAmB,SAAUC,EAAOC,EAAMC,GAC1C,IAAK,GAAIP,GAAE,EAAGA,EAAEK,EAAM1O,OAAQqO,GAAG,EAAG,CAChC,GAAIE,GAAUxV,EAAE2V,EAAML,IAElBQ,EAAQP,EAAaC,EAEN,UAAfM,EAAMvS,KACNqS,EAAKhP,MAAMvD,KAAKyS,GAIZD,GACAH,EAAiBF,EAAQO,SAAS,WAAYD,GAAO,GACrDF,EAAK9O,QAAQzD,KAAKyS,IAElBJ,EAAiBF,EAAQO,SAAS,WAAYH,GAAM,GAKhE,MAAOA,GAGXxO,MAAK+J,MAAQ,SAAU6E,GACnBA,EAAMhW,EAAEiW,SAASD,EACjB,IAAIH,GAAa7V,EAAEgW,GAAKE,KAAK,kBAEzBN,GACAhP,SACAE,WAGJ,OAAO4O,GAAiBG,EAAYD,GAAM,MAKlDvV,EAAIsU,QAAQ,YAAa,WAGrBvN,KAAK+O,YAEL/O,KAAKf,UAAY,SAAU+P,GACvB,GAAInN,GAAO7B,IAEX,QACId,WAAY,SAAU6P,GAClBA,EAASvM,QAAQ,SAAUkK,GACvB7K,EAAKkN,SAASrC,GAAW7K,EAAKkN,SAASrC,OACvC7K,EAAKkN,SAASrC,GAASzQ,KAAK+S,QAO5ChP,KAAK9B,WAAa,SAAU9B,GACxB,GAAIyF,GAAO7B,IAEX0D,QAAOC,KAAKvH,GAAMoG,QAAQ,SAAUkK,GAChC,GAAIuC,GAAYpN,EAAKkN,SAASrC,EAC1BuC,KAAcjW,GACdiW,EAAUzM,QAAQ,SAAU0M,GACxBA,EAASlE,QAAQ5O,EAAKsQ,GAAUA,UAOpDzT,EAAIe,QAAQ,WAAY,WAGpB,GAAI0Q,GAAW,SAAUa,EAAMrR,EAAUqD,GACrCyC,KAAKzC,GAAKA,GAAM,KAChByC,KAAKmL,UACLnL,KAAKqL,WACLrL,KAAKuL,KAAOA,EACZvL,KAAK9F,SAAWA,EAuEpB,OAnEAwQ,GAASK,UAAUC,QAAU,SAAUmE,GACnC,GAAItN,GAAO7B,IACXmP,GAAK3M,QAAQ,SAAUwM,GACnBnN,EAAKuJ,IAAI4D,MAKjBtE,EAASK,UAAUK,IAAM,SAAU4D,GAC/B,GAAII,GAAWpP,KAAKqL,QAAQ2D,EAAIhP,KAAKzC,IAEjC6R,KAAapW,GACbgH,KAAKmL,OAAOlP,KAAK+S,GACjBhP,KAAKqL,QAAQ2D,EAAIhP,KAAKzC,KAAOyR,GAG7BtL,OAAOC,KAAKqL,GAAKxM,QAAQ,SAAUqB,GAC/BuL,EAASvL,GAAOmL,EAAInL,MAMhC6G,EAASK,UAAU5K,KAAO,WACtB,MAAOH,MAAKmL,OAAOtL,QAIvB6K,EAASK,UAAUlO,IAAM,SAAUU,GAC/B,MAAOyC,MAAKqL,QAAQ9N,IAIxBmN,EAASK,UAATL,UAA4B,SAAUnN,GAElC,GAAIsE,GAAO7B,KACPqP,EAAgBrP,KAAKmL,OAAOmE,UAAU,SAAS5K,GAC/C,MAAOA,GAAQ7C,EAAKtE,MAAQA,GAG5B8R,KAAkBrW,GAClBgH,KAAKmL,OAAOoE,OAAOF,EAAe,GAGlCrP,KAAKqL,QAAQ9N,KAAQvE,SACdgH,MAAKqL,QAAQ9N,IAK5BmN,EAASK,UAAUtK,MAAQ,WAMvB,IALAT,KAAKqL,WAKErL,KAAKmL,OAAOtL,OAAS,GACxBG,KAAKmL,OAAO2C,OAKpBpD,EAASK,UAAUlK,OAAS,WACxB,MAAOb,MAAKmL,QAITT,IAGXzR,EAAIsU,QAAQ,oBAAqB,QAAS,WAAY,SAAUlR,EAAOnC,GAGnE8F,KAAKwP,UACDpR,SAAU,KACVxB,QAAS,KACT6S,SAAS,EACT3S,YAAa,KACb4S,qBAAqB,EACrBC,eAAe,EACftR,WAAY,IAEhB2B,KAAK4P,oBAAsB,KAC3B5P,KAAK6P,wBACD,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QACzD,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAClE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QAAS,KAAM,KAC/D,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC/D,SAAU,MAAO,KAAM,QAAS,SAGpC7P,KAAKgL,QAAU,SAAU5O,GACrB,GAAIyF,GAAO7B,IACX0D,QAAOC,KAAKvH,GAAMoG,QAAQ,SAAUqB,GAChC,GAAImF,GAAQ5M,EAAKyH,EAEL,cAARA,IACAmF,EAAQnH,EAAKiO,oBAAoB9G,IAGrCnH,EAAK2N,SAAS3L,GAAOmF,KAI7BhJ,KAAKnD,IAAM,SAAUgH,GACjB,MAAO7D,MAAKwP,SAAS3L,IAGzB7D,KAAKyJ,IAAM,SAAU5F,EAAKmF,GAGtB,MAFAhJ,MAAKwP,SAAS3L,GAAOmF,EAEd3M,GACHtD,IAAKmB,EAAW,YAChByD,OAAQ,MACRvB,MACIgC,SAAU4B,KAAKwP,SAASpR,SACxBxB,QAASoD,KAAKwP,SAAS5S,QACvB6S,QAASzP,KAAKwP,SAASC,QACvB3S,YAAakD,KAAKwP,SAAS1S,YAC3B6S,cAAe3P,KAAKwP,SAASG,cAC7BD,oBAAqB1P,KAAKwP,SAASE,wBAK/C1P,KAAK8P,oBAAsB,SAAU5M,GAWjC,MAVAA,GAAeA,EAAa/E,QAAQ,IAAK,KAAK4R,cAE1C/P,KAAK6P,uBAAuBnV,QAAQwI,GAAgB,IACpDA,EAAeA,EAAa1I,MAAM,KAAK,IAGvCwF,KAAK6P,uBAAuBnV,QAAQwI,GAAgB,IACpDA,EAAelD,KAAK4P,qBAGjB1M,MAQf,SAAWzK,EAAQC,EAAUF,EAAWO,EAAKH,EAAGI,GAI5C,GAAIsB,GAAW7B,EAAO6B,SAClB0V,EAAUvX,EAAOwX,aAIjBC,EAAkB,SAAUC,EAAMpX,EAAK8O,GACvC,GAAIuI,GAAa5X,EAAU6X,2BAEvBC,EAAe,SAAUH,EAAMpX,GAC/B,MAAIqX,GACiC,QAA1BA,EAAWD,EAAMpX,GAEjBiX,EAAQO,QAAQ,uBAAyBxX,EAIpDP,GAAUgY,yBAA2BF,EAAaH,EAAMpX,KACxDP,EAAUgY,uBAAuBL,EAAMM,EAAc5I,GAChDuI,GACDJ,EAAQU,QAAQ,oBAAqB3X,KAK7C4X,EAAWrW,EAASsW,SAAW,KAAOtW,EAASuW,KAAOvW,EAASG,SAE/DgW,EAAeE,EAAW,mBAC1BG,EAAW,qCACXjJ,EAAQ,mBAAqB8I,CAEjCT,GAAgBY,EAAUL,EAAc5I,GAGxCjP,EAAEF,GAAUqY,MAAM,WACd,GAAIC,GAAevY,EAAOwY,mBAAmBlY,EAAI,iBAEjD,IAAIiY,GAAiC,SAAjBA,EAAyB,CACzCpY,EAAE,aAAasI,MAEf,IAAIgQ,GAAQtY,EAAE,wCACdsY,GAAMC,IAAIH,GACVE,EAAME,QAAQ,SAIdC,WAAW,WACPH,EAAMI,SACP,SAIZ7Y,EAAQC,EAAUF,EAAWO,EAAKH,GAMrC,SAAWH,EAAQC,GAMfD,EAAO8Y,iBAAiB,eAAgB,WACpC,GAAI1H,GAAUnR,EAAS8Y,cAAc,eACrC3H,GAAQ4H,SAAS,EAAG,MAGzBhZ,EAAQC,GAMV,SAAUD,EAAQC,EAAUE,GAGzB,GAAI8Y,GAAiB,SAAUhN,GAC3B,QACIA,EAAQiN,GAAG,UACXjN,EAAQiN,GAAG,WACXjN,EAAQiN,GAAG,aACXjN,EAAQiN,GAAG,cAIfC,EAAgB,SAAUC,GAC1B,QACIA,EAAMC,UACND,EAAME,QACNF,EAAMG,SACNH,EAAMI,UAIVC,EAAc,SAAUC,GACxB,GAAIC,GAAW,yDACXC,EAASF,EAAerD,KAAKsD,EAC7BC,GAAOxS,OAAS,GAChBwS,EAAOjB,QAAQ,UAInBkB,EAAiB,SAAUC,EAAMC,GAEjC,GAAIC,GAAUF,EAAKlF,SAASqF,IAAMF,EAAWnF,SAASqF,IAClDC,EAAaF,EAAUF,EAAKK,SAE5BC,EAAaL,EAAWI,QAE5B,OAAOH,IAAW,GAAkBI,EAAbF,GAGvBG,EAA4B,SAAUP,EAAMC,EAAYO,GACpC,IAAhBR,EAAK1S,SAAkBkT,GAAST,EAAeC,EAAMC,IAGzDA,EAAWQ,UACPT,EAAKlF,SAASqF,IAAMF,EAAWnF,SAASqF,IAAMF,EAAWQ,cAI7DC,EAAgC,SAAUd,GAC1C,GAAIzN,GAAUyN,EAAerD,KAAK,UAClCgE,GAA0BpO,EAASyN,EAAexD,SAAS,OAAO,IAGlEuE,EAAa,SAAUf,GACvBA,EAAerD,KAAK,uBAAuBsC,QAAQ,UAGnD+B,EAAY,SAAUhB,EAAgBK,GACtC,GAA+B,IAA3BA,EAAWQ,YAAmB,CAC9B,GAAII,GAAgBZ,EAAW1D,KAAK,mBAC/BsE,GAAcC,SAAS,wBAEjBD,EAAcC,SAAS,SAC9BH,EAAWf,GAFXiB,EAAcE,SAAS,0BAO/BC,EAA0B,SAAU7O,EAASyN,GAC7CzN,EAAQiK,SAAS,aAAayC,QAAQ,SACtC0B,EAA0BpO,EAASyN,EAAexD,SAAS,QAG3D6E,EAAW,SAAUrB,GACrB,GAAI9U,GAAU8U,EAAerD,KAAK,WAC9B2E,EAAWtB,EAAerD,KAAK,gFAKnC,IAAIzR,EAAQgW,SAAS,UACjB,KAAOhW,EAAQwC,OAAS,GAAG,CACvB,GAAI6T,GAAWrW,EAAQyR,KAAK,gBAC5B,IAAI4E,EAAS7T,OAAS,EAElB,WADA0T,GAAwB3a,EAAE8a,EAAS,IAAKvB,EAG5C9U,GAAUA,EAAQsW,KAAK,eAS/B,KAAK,GAAIzF,GAAE,EAAGA,EAAEuF,EAAS5T,OAAO,EAAGqO,GAAG,EAAG,CACrC,GAAIxJ,GAAU+O,EAASvF,EAEvB,IAAIxJ,IAAYrH,EAAQ,GAAI,CACxB,GAAIsW,GAAOF,EAASvF,EAAE,EACtBqF,GAAwB3a,EAAE+a,GAAOxB,EACjC,UAKRyB,EAAkB,SAAUvW,GAC5B,MAAOA,GAAQwW,SAASA,OAAO,YAG/BC,EAA0B,SAAU3B,EAAgB4B,GACpD,GAEIC,GAFAtU,EAAUyS,EAAerD,KAAK,kBAI9BkF,GADAD,EACQrU,EAAQG,OAAS,EAEjB,EAGRH,EAAQG,OAAS,GACjB0T,EAAwB3a,EAAE8G,EAAQsU,IAAS7B,IAI/C8B,EAAiB,SAAU9B,GAC3B,GAAI9U,GAAU8U,EAAerD,KAAK,UAGlC,IAAIzR,EAAQgW,SAAS,UACjBE,EAAwBlW,EAAQ6W,QAAQ,mBAAmBC,QACvDhC,OACD,IAAI9U,EAAQgW,SAAS,QAAS,CACjC,GAAIe,GAAeR,EAAgBvW,EAC/B+W,GAAavU,OAAS,EAEtB0T,EAAwBa,EAAcjC,GAEtC2B,EAAwB3B,GAAgB,OAG5C2B,GAAwB3B,GAAgB,IAI5CkC,EAAa,SAAUlC,GACvB,GAAI9U,GAAU8U,EAAerD,KAAK,UAGlC,IAAIzR,EAAQgW,SAAS,UACjBE,EAAwBlW,EAAQiX,QAAQ,mBAAmBH,QACvDhC,OACD,IAAI9U,EAAQgW,SAAS,QAAS,CACjC,GAAIe,GAAeR,EAAgBvW,EAC/B+W,GAAavU,OAAS,EACtB0T,EACIa,EAAaE,QAAQ,mBAAmBH,QACxChC,GAGJ2B,EAAwB3B,OAG5B2B,GAAwB3B,IAI5BoC,EAAe,SAAUpC,GACzB,GAAI9U,GAAU8U,EAAerD,KAAK,WAC9B2E,EAAWtB,EAAerD,KAAK,gFAMnC,IAAIzR,EAAQgW,SAAS,UAAW,CAG5B,IAFA,GAAIY,GAAiB5W,EAAQmX,KAAK,WAE3BP,EAAepU,OAAS,GAAG,CAC9B,GAAI6T,GAAWO,EAAenF,KAAK,gBACnC,IAAI4E,EAAS7T,OAAS,EAGlB,WAFA0T,GAAwB3a,EAAE8a,EAASA,EAAS7T,OAAO,IAC/CsS,EAGR8B,GAAiBA,EAAeO,KAAK,WAIzC,GAAIhV,GAAQnC,EAAQoX,SAAS,QAE7B,IAAIjV,EAAMK,OAAS,EAGf,WAFA0T,GAAwB3a,EAAE4G,EAAMA,EAAMK,OAAO,IACzCsS,EAMR,IAAIlF,GAAUrU,EAAE,wBAKhB,aAJIqU,EAAQpN,OAAS,GACjB0T,EAAwBtG,EAASkF,IAQzC,IAAK,GAAIjE,GAAEuF,EAAS5T,OAAO,EAAGqO,EAAE,EAAGA,GAAG,EAAG,CACrC,GAAIxJ,GAAU+O,EAASvF,EAEvB,IAAIxJ,IAAYrH,EAAQ,GAAI,CACxB,GAAIqX,GAAWjB,EAASvF,EAAE,EAC1BqF,GAAwB3a,EAAE8b,GAAWvC,EACrC,UAKRwC,EAAe,SAAUnC,EAAYoC,GACrC,GAAI9R,GAAQ0P,EAAW1D,KAAK,QAE5BhM,GAAM+R,KAAK,SAAUb,EAAO3T,GAIxB,MAHAA,GAAOzH,EAAEyH,GAGJA,EAAKuS,SAAWvS,EAAKyU,WAAWpC,IAAO,IACxCkC,EAASvU,IAEF,GAHX,UASJ0U,EAAe,SAAUvC,GACzBmC,EAAanC,EAAY,SAAUnS,GAC/BA,EAAKyO,KAAK,uBAAuBsC,QAAQ,YAI7CtQ,EAAa,SAAU0R,GACvBmC,EAAanC,EAAY,SAAUnS,GAC/BA,EAAKyO,KAAK,SAASsC,QAAQ,YAI/B4D,EAAa,SAAUxC,GACvBmC,EAAanC,EAAY,SAAUnS,GAC/BA,EAAKyO,KAAK,UAAUsC,QAAQ,YAIhC6D,EAAW,SAAUzC,GACrBmC,EAAanC,EAAY,SAAUnS,GAC/BA,EAAK+Q,QAAQ,SACb3Y,EAAO2T,KAAK/L,EAAKyO,KAAK,qBAAqBT,KAAK,QAAS,aAI7D6G,EAAe,SAAU1C,EAAYnS,EAAM8U,GAG3C3C,EAAWQ,UACP3S,EAAKgN,SAASqF,IAAMF,EAAWnF,SAASqF,IAAMF,EAAWQ,aAGzDmC,GACAR,EAAanC,EAAY,SAAUnS,GAC1BA,EAAKgT,SAAS,SACfhT,EAAKyO,KAAK,UAAUsC,QAAQ,YAMxCgE,EAAmB,SAAU5C,EAAY2C,GACzC,GAAIrS,GAAQ0P,EAAW1D,KAAK,SACxBuG,GAAS,CAEbvS,GAAM+R,KAAK,SAAUb,EAAO3T,GAMxB,MALAA,GAAOzH,EAAEyH,GAKoB,IAAxBA,EAAKyU,WAAWpC,KAAayC,IAC5B9U,EAAKgT,SAAS,SAChBhT,EAAKyU,WAAWpC,IAAM,IACtBwC,EAAa1C,EAAYnS,EAAM8U,GAE/BE,GAAS,GAEF,GAPX,SAYCA,GACD7C,EAAWQ,UAAUR,EAAW8C,KAAK,kBAKzCC,EAAuB,SAAUpD,EAAgBK,EAChB2C,GACjC,GAAIrS,GAAQ0P,EAAW1D,KAAK,SACxBuG,GAAS,CAEbvS,GAAM+R,KAAK,SAAUb,EAAO3T,GAGxB,GAFAA,EAAOzH,EAAEyH,GAEJA,EAAKyU,WAAWpC,IAAM,IAAO,EAAG,CACjC,GAAIgC,GAAWrU,EAAKmU,MAYpB,OATIE,GAAS7U,OAAS,EAClBqV,EAAa1C,EAAYkC,EAAUS,IAEnChC,EAAUhB,EAAgBK,GAC1BA,EAAWQ,UAAU,IAGzBqC,GAAS,GAEF,MAKVA,GAAUvS,EAAMjD,OAAS,GAC1BqV,EAAa1C,EAAY1P,EAAM0S,QAKvC5c,GAAEF,GAAU+c,MAAM,SAAU5D,GACxB,GAAI6D,GAAU7D,EAAM6D,QAChBlD,EAAa5Z,EAAE,gBACfuZ,EAAiBvZ,EAAE,mBACnBqI,EAAgBrI,EAAE,qBAAqBiH,OAAS,EAChD8V,EACiC,SADlB/c,EAAE,aAChByV,KAAK,uBACN8G,EAAsBlU,GAAiB0U,CAEvCjE,GAAe9Y,EAAE,YAAcgZ,EAAcC,IAExC,GAAI,GAAI,IAAInX,QAAQgb,IAAY,GAEjC7D,EAAM+D,iBACNR,EAAiB5C,EAAY2C,KAGrB,GAAI,GAAI,IAAIza,QAAQgb,IAAY,GAExC7D,EAAM+D,iBACNL,EAAqBpD,EAAgBK,EAChB2C,KAGb,IAAIza,QAAQgb,IAAY,GAEhC7D,EAAM+D,iBACNb,EAAavC,KAGL,IAAI9X,QAAQgb,IAAY,GAEhC7D,EAAM+D,iBACNZ,EAAWxC,KAGH,GAAI,GAAI,IAAI9X,QAAQgb,IAAY,GAExC7D,EAAM+D,iBACN9U,EAAW0R,KAGH,IAAI9X,QAAQgb,IAAY,GAEhC7D,EAAM+D,iBACN9U,EAAW0R,GACX4C,EAAiB5C,KAGT,IAAI9X,QAAQgb,IAAY,GAEhC7D,EAAM+D,iBACNX,EAASzC,KAGD,IAAI9X,QAAQgb,IAAY,GAEhC7D,EAAM+D,iBACN1C,EAAWf,KAGH,IAAIzX,QAAQgb,IAAY,GAEhC7D,EAAM+D,iBACNpC,EAASrB,KAGD,IAAIzX,QAAQgb,IAAY,GAEhC7D,EAAM+D,iBACNrB,EAAapC,KAGL,IAAIzX,QAAQgb,IAAY,GAEhC7D,EAAM+D,iBACN3B,EAAe9B,KAGP,IAAIzX,QAAQgb,IAAY,GAEhC7D,EAAM+D,iBACN3C,EAA8Bd,KAGtB,IAAIzX,QAAQgb,IAAY,GAEhC7D,EAAM+D,iBACNvB,EAAWlC,KAGH,IAAIzX,QAAQgb,IAAY,GAEhC7D,EAAM+D,iBACNhd,EAAE,cAAc0Y,UAGR,IAAI5W,QAAQgb,IAAY,GAEhCvC,EAAUhB,EAAgBK,GAKvBd,EAAe9Y,EAAE,YAAciZ,EAAMC,WAGvC,IAAIpX,QAAQgb,IAAY,IAEzB7D,EAAM+D,iBACN1D,EAAYC,OAM1B1Z,EAAQC,EAAUE,GAEpBH,EAAOod,KAAOpd,EAAOod,SAGrB,SAAWpd,EAAQC,EAAUE,EAAGkd,EAAS9c,GAGrC,GAAI+c,KAEJD,GAAQE,iBAAmB,SAAUC,GACjCF,EAAqB9Z,KAAKga,IAG9BH,EAAQI,wBAA0B,WAC9B,MAAOH,KAGZtd,EAAQC,EAAUyd,OAAQ1d,EAAOod,MAGpC5c,EAAIwF,KAAK,YAAa,aAAc,SAAU2X,EAAW1X,GAErD0X,EAAUC,MAAM,SAAUxE,GACtBnT,EAAW6F,WAAW,kBAAmBsN,QAIjD5Y,EAAIqd,UAAU,0BAA2B,WAErC,OACIC,SAAU,IACVC,KAAM,SAAUvN,EAAOwN;AACnB,GAAIC,GAAOD,EAAIhC,SAAS,8BACpBpC,EAASzZ,EAAE6d,GACV3H,KAAK,iDAEVuD,GAAOgE,MAAM,WACTK,EAAKC,YAAY,UAGrB1N,EAAMlJ,IAAI,kBAAmB,SAAUkJ,EAAO4I,GACtCA,EAAM+E,SAAWvE,EAAO,IACxBqE,EAAKG,YAAY,cAMrC5d,EAAIqd,UAAU,eAAgB,aAAc,WAAY,SAAU5X,EAAYpD,GAG1E,OACIib,SAAU,IACVC,KAAM,SAAUvN,EAAOsJ,GACnB7T,EAAWqB,IAAI,UAAW,SAAU+W,EAAG/d,GAEnCuC,EAAS,WACDiX,EAAKZ,GAAG,cACRY,EAAKwE,MAAK,GAAM,GAChBxE,EAAKrR,QACGqR,EAAKZ,GAAG,aAChBY,EAAKyE,YAETzE,EAAKzD,KAAK,oCAAoCwC,UAGlDrI,EAAMgO,WAAWzZ,KAAKzE,IAAMA,SAK5CE,EAAIqd,UAAU,qBAAsB,WAEhC,OACIC,SAAU,IACVtN,OACIiO,mBAAoB,IACpBC,UAAW,KAEfX,KAAM,SAAUvN,EAAOsJ,GAGnB,IAAK,GAFD6E,GAAUvB,KAAKK,0BAEVhI,EAAE,EAAGA,EAAEkJ,EAAQvX,OAAQqO,GAAG,EAC/BkJ,EAAQlJ,GAAGqE,EAAMtJ,EAAMiO,mBAG3BjO,GAAMkO,UAA+B,IAAnBC,EAAQvX,WAKtC5G,EAAIqd,UAAU,iBAAkB,WAAY,SAAUhb,GAElD,MAAO,UAAU2N,EAAOsJ,EAAM8E,GAC1B,GAAIC,GAAU/E,CAEV8E,GAAME,gBACND,EAAU1e,EAAEye,EAAME,gBAItBjc,EAAS,WACLgc,EAAQhG,SACT,OAGXrY,EAAIqd,UAAU,qBAAsB,WAGhC,MAAO,UAAUrN,EAAOsJ,EAAMlE,GAC1BpF,EAAMuO,OAAOnJ,EAAKoJ,mBAAoB,WAClClF,EAAKmF,KAAKzO,EAAM0O,MAAMtJ,EAAKoJ,0BAIvCxe,EAAIqd,UAAU,gBAAiB,WAG3B,MAAO,UAAUrN,EAAOsJ,EAAMlE,GAC1B,GAAIuJ,GAAU3O,EAAM0O,MAAMtJ,EAAKwJ,cAE3Blf,GAAQmf,UAAUF,GAClBrF,EAAKwF,UAAUH,GAEfrF,EAAKwF,YAGT1J,EAAK2J,SAAS,uBAAwB,SAAUhP,GAC9B,SAAVA,EACAuJ,EAAKwF,UAAU,WAEfxF,EAAKwF,UAAU,eAK/B9e,EAAIqd,UAAU,iBAAkB,aAAc,SAAU5X,GAGpD,MAAO,UAAUuK,EAAOsJ,EAAMlE,GAC1B,GAAI4J,IACAC,OAAQ,QACRC,WAAY,gBACZC,QAAQ,EACRC,KAAM,SAAUxG,EAAOyG,GAEnB1f,EAAE,kBAAkBie,YAAY,gBAEhC,IAAIza,IACAmJ,SAAUJ,SAASoN,EAAKnW,KAAK,MAAO,IACpCqF,OAAQ0D,SAASvM,EAAE0f,EAAGP,WAAW3b,KAAK,MAAO,IAGjDsC,GAAW6F,WAAW,mBAAoBnI,GAC1C6M,EAAMsP,OAAOlK,EAAKmK,YAI1BjG,GAAKiG,UAAUP,OAGvBhf,EAAIqd,UAAU,yBAA0B,WAGpC,MAAO,UAAUrN,EAAOsJ,EAAM8E,GAC1B9E,EAAKkG,GAAG,gBAAiB,WACrBlG,EAAKe,SAAS+D,EAAMqB,6BAKhCzf,EAAIqd,UAAU,aAAc,WAAY,eAAgB,SAAUhb,EAAUqd,GAGxE,MAAO,UAAU1P,EAAOsJ,EAAM8E,GAC1B9E,EAAK8D,MAAM,WACP,GAAIuC,GAAUhgB,EAAE+f,EAAatB,EAAMwB,WAAW5P,GAC9C3N,GAAS,WACLsd,EAAQtH,SACT,WAKfrY,EAAIqd,UAAU,0BAA2B,WAGrC,OACIC,SAAU,IACVC,KAAM,SAAUvN,EAAOsJ,GACnBA,EAAK1W,MAEL,IAAIid,GAAevG,EAAKmF,MACxB7e,GAAG+C,aAAaE,SAASgd,OAQrC7f,EAAIqd,UAAU,eAAgB,aAAc,SAAU5X,GAElD,OACI6X,SAAU,IACVC,KAAM,SAAUvN,EAAOsJ,GACnBA,EAAKkG,GAAG,OAAQ,WACZ/Z,EAAW6F,WAAW,UAAWgO,KAGrC7T,EAAWqB,IAAI,UAAW,SAAUkJ,EAAO8P,GACnCA,EAAK,KAAOxG,EAAK,IACjBA,EAAK,GAAGyG,eAM5B/f,EAAIqd,UAAU,qBAAsB,aAAc,SAAU5X,GAGxD,GAAIua,IAAW,CAEf,QACI1C,SAAU,IACVtN,OACIiQ,kBAAmB,KAEvB1C,KAAM,SAAUvN,EAAOvE,GAInBhG,EAAWqB,IAAI,oBAAqB,WAChCkZ,GAAW,EACXhQ,EAAMiQ,mBAAoB,IAG9BxU,EAAQ+T,GAAG,SAAU,WACW,IAAxB/T,EAAQsO,aAAqBiG,IAC7BhQ,EAAMiQ,mBAAoB,GAE9BD,GAAW,SAK3BhgB,EAAIqd,UAAU,eAAgB,WAG1B,MAAO,UAAUrN,EAAOsJ,EAAMlE,GAE1BkE,EAAK4G,OAAO,WAER,GAAIC,GAAO7G,EAAK,GAAG8G,MAAM,GACrBC,EAAS,GAAIC,WAEjBD,GAAOE,OAAS,SAAU3H,GAGtB5I,EAAMwQ,aAAe5H,EAAM+E,OAAO8C,OAClCzQ,EAAMsP,OAAOlK,EAAKsL,eAGtBL,EAAOM,WAAWR,QAI9BngB,EAAIqd,UAAU,sBAAuB,WAAY,SAAUhb,GAE1D,GAAIkI,GAAU,SAAU+O,GACvBjX,EAAS,WACRA,EAAS,WACRiX,EAAKsB,SAASgG,SACbC,aAAc,aACdC,OAAQ,GACRC,YAAa,UAMjB,OAAO,UAAU/Q,EAAOsJ,GACnBtJ,EAAMgR,OACTzW,EAAQ+O,OAIXtZ,EAAIqd,UAAU,cAAe,WAAY,sBAAuB,oBAAqB,iBAAkB,SAAUhb,EAAUkF,EACvH0Z,EAAmBC,GAEnB,GAAI5e,GAGAqH,EAAW,SAAUxF,EAAOmV,EAAMtJ,GAIlC,IAAK,GAHDmR,GAAU,EACV9P,EAAWiI,EAAKzD,KAAK,SAEhBZ,EAAI5D,EAASzK,OAAS,EAAGqO,GAAK,EAAGA,GAAK,EAAG,CAC9C,GAAI7N,GAAOzH,EAAE0R,EAAS4D,GAMtB,IAAIkM,GAAWhd,EACX,KAMJ,IAAIiD,EAAKyU,WAAWpC,IAAM,EAAG,CACzBzJ,EAAMsP,OAAOtP,EAAMoR,mBACnB,OAGJD,GAAW,IAKfhZ,EAAW,SAAUkZ,EAAS/H,EAAMtJ,GACpC,GAAIqR,EAAS,CACT,GAAIhY,MACAgI,EAAWiI,EAAKzD,KAAK,mBAEzBxE,GAASuK,KAAK,SAASb,EAAOuG,GAC1B,GAAIla,GAAOzH,EAAE2hB,EAEb,OAAIla,GAAKyU,WAAWpC,KAAO,QACvBpQ,GAAIrG,KAAKkJ,SAAS9E,EAAKjE,KAAK,MAAO,MAE5B,IAIf6M,EAAM5G,QAAUC,EAChB2G,EAAMsP,OAAOtP,EAAMuR,qBAI3B,QACIjE,SAAU,IACVtN,OACIwR,WAAc,IACdJ,mBAAsB,IACtBG,mBAAsB,IACtBE,0BAA6B,KAEjClE,KAAM,SAAUvN,EAAOsJ,GACnB,GAAIoI,IAAc,EACdnI,EAAaD,CAEbtJ,GAAMwR,aACNjI,EAAa5Z,EAAEqQ,EAAMwR,YAGzB,IAAIG,GAAgB,WAEZD,IACAA,GAAc,EAEdrf,EAAS,WACLqf,GAAc,GACA,IAAfR,GAEHvX,EAASpC,EAAqB+R,EAAMtJ,GAGhC1N,GACAD,EAASK,OAAOJ,GAIpBA,EAAQD,EAAS,WACb8F,EAAS6H,EAAMyR,0BACNnI,EACAtJ,GACT1N,EAAQvC,GACS,IAAlBkhB,IAIX1H,GAAWiG,GAAG,SAAUmC,GAGxB3R,EAAMlJ,IAAI,WAAY,WAClByS,EAAWqI,IAAI,SAAUD,UAKzC3hB,EAAIqd,UAAU,cAAe,YAAa,YAAa,SAAUF,EAAW7Z,GAGxE,OACIga,SAAU,IACVtN,OACI6R,SAAY,KAEhBtE,KAAM,SAAUvN,GACZ,GAAI8R,GAAMniB,EAAE,aACZmiB,GAAI5J,IAAI5U,EAAUQ,SAASA,OAE3B,IAAIie,GAAW,WACX,GAAIhS,GAAQ+R,EAAI5J,KAChBlI,GAAMsP,OAAO,WACTtP,EAAM6R,SAAS9R,KAIvB+R,GAAItC,GAAG,eAAgB,SAAU5G,IACV,WAAfA,EAAM1V,MAAuC,KAAlB0V,EAAM6D,UACjCsF,MAKR/R,EAAMuO,OAAO,WACT,MAAOjb,GAAUQ,UAClB,SAAUA,GACLA,GAAUA,EAAOA,OACjBge,EAAI5J,IAAIpU,EAAOA,QAEfge,EAAI5J,IAAI,WAO5BlY,EAAIqd,UAAU,iBAAkB,WAG5B,MAAO,UAAUrN,EAAOsJ,EAAMlE,GAC1B,GAAIuE,GAAS,EAEbha,GAAEyV,EAAK4M,gBAAgBC,OAAO,WAC1B,GAAIC,GAAeviB,EAAEoH,MAAMgT,WAEvBmI,GAAevI,GACfL,EAAKe,SAAS,SACdf,EAAK6I,IAAI,MAAOD,IAEhB5I,EAAKsE,YAAY,cAKjC5d,EAAIqd,UAAU,sBAAuB,WAEjC,OACIC,SAAU,IACVC,KAAM,SAAUvN,EAAOvE,GACnBA,EAAQ2W,KAAK,QAAS,SAAUxJ,GAC5BA,EAAMyJ,wBAKtBriB,EAAIqd,UAAU,eAAgB,WAAY,aAAc,SAAUhb,EAAUoD,GAGxE,OACI6X,SAAU,IACVtN,OACIsS,YAAe,KAEnB/E,KAAM,SAAUvN,EAAOvE,GACnB,GAAI8W,IAAY,EACZC,EAAU,EACVlgB,EAAQD,EAAS2N,EAAMsS,YAAuB,IAAVE,EAIxCxS,GAAMlJ,IAAI,WAAY,WAClByb,GAAY,EACZlgB,EAASK,OAAOJ,KAKpBmD,EAAWqB,IAAI,uBAAwB,WAInCzE,EAASK,OAAOJ,GACXigB,IACDA,GAAY,EACZ9W,EAAQgX,SACRzS,EAAMsS,sBAM1BtiB,EAAIqd,UAAU,wBAAyB,UAAW,SAAUnc,GAGxD,GAAIwhB,GAAYxhB,EAAQzB,SAASmP,MAC7B+T,EAASD,EAAUnhB,MAAM,KACzBqhB,EAAUD,EAAO,IAAM,OACvBE,EAAeF,EAAO,IAAM,UAEhC,QACIrF,SAAU,IACVtN,OACInD,YAAa,KAEjB0Q,KAAM,SAAUvN,EAAOsJ,EAAM8E,GACzBA,EAAMW,SAAS,cAAe,SAAUhP,GACtB,MAAVA,EACA7O,EAAQzB,SAASmP,MAAQgU,EACrB,IAAM7S,EAAQ,OAAS8S,EAE3B3hB,EAAQzB,SAASmP,MAAQgU,EAAU,MAAQC,SAO/D7iB,EAAIqd,UAAU,iBAAkB,WAE5B,OACIC,SAAU,IACVtN,OACI8S,eAAkB,KAEtBvF,KAAM,SAAUvN,EAAOsJ,GACnBA,EAAK8D,MAAM,WACP,GAAIO,GAAShe,EAAEqQ,EAAM8S,eACrBnF,GAAOoF,eAMvB/iB,EAAIqd,UAAU,mBAAoB,WAG9B,MAAO,UAAUrN,EAAOwN,EAAKpI,GACzBoI,EAAIJ,MAAM,WACNzd,EAAEyV,EAAK4N,kBAAkB7K,QAAQ,eAM1C5Y,UAAWC,OAAQC,SAAUC,QAASwd,OAAStd,GAAIqjB,gBAAiBnjB","file":"app.min.js"} \ No newline at end of file
+{"version":3,"sources":["app.js"],"names":["navigator","window","document","angular","$","OC","csrfToken","url","undefined","app","module","config","$routeProvider","$provide","$httpProvider","feedType","FEED","FOLDER","STARRED","SUBSCRIPTIONS","SHARED","EXPLORE","constant","generateUrl","factory","$q","BASE_URL","$window","request","domain","location","href","split","pathname","indexOf","headers","requesttoken","when","errorMessages",0,"t",401,403,412,500,503,"$timeout","timer","responseError","response","status","cancel","Notification","hide","showHtml","reject","interceptors","push","getItemResolve","type","data","$http","$route","$location","ITEM_BATCH_SIZE","FEED_TYPE","SettingsResource","FeedResource","showAll","get","oldestFirst","search","deferred","defer","resolve","parameters","limit","current","params","id","feed","getById","ordering","method","success","promise","getExploreResolve","sites","Publisher","language","lang","then","publishAll","replace","exploreUrl","defaultExploreUrl","controller","templateUrl","run","$rootScope","$interval","Loading","ItemResource","FolderResource","REFRESH_RATE","setLoading","subscribe","toChannels","settingsDeferred","activeFeedDeferred","path","activeFeed","test","feeds","feedDeferred","folders","folderDeferred","all","length","reload","$on","this","loading","isFirstRun","size","play","item","playingItem","$routeParams","ITEM_AUTO_PAGE_SIZE","clear","isAutoPagingEnabled","isNothingMoreToAutoPage","getItems","getAll","toggleStar","itemId","toggleItem","isCompactView","show","isShowAll","markRead","keepUnread","unread","markItemRead","markItemOfFeedRead","feedId","getFeed","toggleKeepUnread","markItemOfFeedUnread","self","getOrdering","isFeed","orderBy","isCompactExpand","autoPagingEnabled","markReadEnabled","scrollRead","itemIds","ids","feedIds","forEach","markItemsOfFeedsRead","markItemsRead","$$route","autoPage","autoPageAgain","items","error","getRelativeDate","timestamp","languageCode","date","moment","unix","locale","fromNow","refresh","getMediaType","Object","keys","map","key","reduce","xs","x","category","feedList","concat","feedExists","getByLocation","subscribeTo","$broadcast","isCategoryShown","filter","element","getSupportedLanguageCodes","getCurrentLanguageCode","showLanguage","selectedLanguageCode","feedError","showNewFolder","renamingFolder","addingFeed","addingFolder","folderError","renameError","getRouteId","parseInt","getLanguageCode","getFeeds","getFolders","markFolderRead","folderId","getByFolderId","markFeedRead","getFeedsOfFolder","getUnreadCount","isUnread","getFeedUnreadCount","unreadCount","isFeedUnread","getFolderUnreadCount","isFolderUnread","getStarredCount","isStarredUnread","toggleFolder","folderName","toggleOpen","hasFeeds","subFeedActive","isSubscriptionsActive","isStarredActive","isExploreActive","isFolderActive","isFeedActive","folderNameExists","trim","feedUrlExists","createFeed","newFolder","existingFolder","getsFeed","create","name","createFolder","folder","moveFeed","move","renameFeed","patch","title","editing","renameFolder","rename","message","reversiblyDeleteFeed","reversiblyDelete","undoDeleteFeed","undoDelete","deleteFeed","reversiblyDeleteFolder","undoDeleteFolder","deleteFolder","setOrdering","togglePinned","pinned","setUpdateMode","updateMode","toggleFullText","value","scope","setSelectedFolderForRoute","OPMLParser","OPMLImporter","isOPMLImporting","isArticlesImporting","opmlImportError","articleImportError","set","toggleSetting","getSetting","importOPML","content","parsedContent","parse","jobSize","importFolders","feedQueue","importFeedQueue","console","importArticles","articles","JSON","$sce","trustAsResourceUrl","Resource","call","locations","folderUnreadCount","folderIds","prototype","receive","updateUnreadCache","updateFolderCache","values","add","hashMap","startsWith","http","parentFolderId","faviconLink","updateCache","isFolder","deleted","promises","post","setPinned","isPinned","diff","fullTextEnabled","opened","open","toFolderName","batchSize","starredCount","lowestId","highestId","channel","newestItemId","getNewestItemId","star","isStarred","it","guidHash","starred","isRead","read","highestItemId","offset","json","service","global","autopaging","area","isLoading","startFeedJob","queue","pop","getsFeedCounter","folderPromises","jobPromises","i","parseOutline","outline","attr","recursivelyParse","level","root","firstLevel","entry","children","xml","parseXML","find","channels","obj","listeners","listener","objs","existing","deleteAtIndex","findIndex","splice","settings","compact","preventReadOnScroll","compactExpand","defaultLanguageCode","supportedLanguageCodes","processLanguageCode","toLowerCase","storage","localStorage","registerHandler","mime","registered","isContentHandlerRegistered","isRegistered","getItem","registerContentHandler","subscribeUrl","setItem","cleanUrl","protocol","host","mimeType","ready","subscription","decodeURIComponent","input","val","trigger","setTimeout","focus","addEventListener","querySelector","scrollTo","noInputFocused","is","noModifierKey","event","shiftKey","altKey","ctrlKey","metaKey","markAllRead","navigationArea","selector","button","isInScrollView","elem","scrollArea","elemTop","top","elemBottom","height","areaBottom","scrollToNavigationElement","toTop","scrollTop","scrollToActiveNavigationEntry","reloadFeed","tryReload","pullToRefresh","hasClass","addClass","activateNavigationEntry","nextFeed","elements","subfeeds","next","getParentFolder","parent","selectFirstOrLastFolder","isLast","index","previousFolder","prevAll","first","parentFolder","nextFolder","nextAll","previousFeed","prev","siblings","previous","onActiveItem","callback","each","position","toggleUnread","expandItem","openLink","scrollToItem","expandItemInCompact","scrollToNextItem","jumped","prop","scrollToPreviousItem","last","keyup","keyCode","isExpandItem","preventDefault","News","exports","articleActionPlugins","addArticleAction","action","getArticleActionPlugins","jQuery","$document","click","directive","restrict","link","elm","menu","toggleClass","target","removeClass","_","stop","slideDown","Navigation","newsArticleActions","noPlugins","plugins","attrs","toFocus","newsAutoFocus","$watch","newsBindHtmlUnsafe","html","$eval","options","newsDraggable","isDefined","draggable","$observe","details","accept","hoverClass","greedy","drop","ui","$apply","droppable","on","newsFinishedTransition","$interpolate","toReadd","newsFocus","notification","args","pause","scrolled","newsPullToRefresh","change","file","files","reader","FileReader","onload","$fileContent","result","newsReadFile","readAsText","masonry","itemSelector","gutter","columnWidth","$last","MARK_READ_TIMEOUT","SCROLL_TIMEOUT","counter","newsScrollAutoPage","enabled","article","newsScrollMarkRead","newsScroll","newsScrollEnabledMarkRead","allowScroll","scrollHandler","off","onSearch","box","doSearch","newsStickyMenu","scroll","scrollHeight","css","bind","stopPropagation","newsTimeout","destroyed","seconds","remove","baseTitle","titles","appName","ownCloudName","newsToggleShow","toggle","newsTriggerClick","oc_requesttoken"],"mappings":"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","file":"app.min.js"} \ No newline at end of file
diff --git a/js/controller/ExploreController.js b/js/controller/ExploreController.js
index 16d263ed3..61ecb4385 100644
--- a/js/controller/ExploreController.js
+++ b/js/controller/ExploreController.js
@@ -7,7 +7,8 @@
* @author Bernhard Posselt <dev@bernhard-posselt.com>
* @copyright Bernhard Posselt 2014
*/
-app.controller('ExploreController', function (sites, $rootScope, FeedResource) {
+app.controller('ExploreController',
+function (sites, $rootScope, FeedResource, SettingsResource, $location) {
'use strict';
this.sites = sites;
@@ -37,4 +38,21 @@ app.controller('ExploreController', function (sites, $rootScope, FeedResource) {
}).length > 0;
};
-}); \ No newline at end of file
+ this.getSupportedLanguageCodes = function () {
+ return SettingsResource.getSupportedLanguageCodes();
+ };
+
+ this.getCurrentLanguageCode = function () {
+ var language = $location.search().lang;
+ if (!language) {
+ language = SettingsResource.get('language');
+ }
+ return language;
+ };
+
+ this.showLanguage = function (languageCode) {
+ $location.url('/explore/?lang=' + languageCode);
+ };
+
+ this.selectedLanguageCode = this.getCurrentLanguageCode();
+});
diff --git a/js/controller/NavigationController.js b/js/controller/NavigationController.js
index 800978b16..160f77bac 100644
--- a/js/controller/NavigationController.js
+++ b/js/controller/NavigationController.js
@@ -25,6 +25,10 @@ function ($route, FEED_TYPE, FeedResource, FolderResource, ItemResource,
return parseInt($route.current.params.id, 10);
};
+ this.getLanguageCode = function () {
+ return SettingsResource.get('language');
+ };
+
this.getFeeds = function () {
return FeedResource.getAll();
};
diff --git a/js/service/SettingsResource.js b/js/service/SettingsResource.js
index 5b31e9085..3a4fa1226 100644
--- a/js/service/SettingsResource.js
+++ b/js/service/SettingsResource.js
@@ -23,13 +23,17 @@ app.service('SettingsResource', function ($http, BASE_URL) {
};
this.defaultLanguageCode = 'en';
this.supportedLanguageCodes = [
- 'ar-ma', 'ar', 'bg', 'ca', 'cs', 'cv', 'da', 'de', 'el', 'en-ca',
+ 'ar-ma', 'ar', 'bg', 'ca', 'cs', 'cv', 'da', 'de', 'el', 'en', 'en-ca',
'en-gb', 'eo', 'es', 'et', 'eu', 'fi', 'fr-ca', 'fr', 'gl', 'he', 'hi',
'hu', 'id', 'is', 'it', 'ja', 'ka', 'ko', 'lv', 'ms-my', 'nb', 'ne',
'nl', 'pl', 'pt-br', 'pt', 'ro', 'ru', 'sk', 'sl', 'sv', 'th', 'tr',
'tzm-la', 'tzm', 'uk', 'zh-cn', 'zh-tw'
];
+ this.getSupportedLanguageCodes = function () {
+ return this.supportedLanguageCodes;
+ };
+
this.receive = function (data) {
var self = this;
Object.keys(data).forEach(function (key) {
@@ -78,4 +82,4 @@ app.service('SettingsResource', function ($http, BASE_URL) {
return languageCode;
};
-}); \ No newline at end of file
+});
diff --git a/templates/part.content.explore.php b/templates/part.content.explore.php
index 740957d59..c7e971e4f 100644
--- a/templates/part.content.explore.php
+++ b/templates/part.content.explore.php
@@ -6,32 +6,47 @@
<input ng-model="Explore.filter" type="search" placeholder="<?php p(addslashes($l->t('filter'))) ?>" news-auto-focus>
</label>
</div>-->
+
<div class="explore-header">
<a href="https://github.com/owncloud/news/wiki/Explore-Feed-Section"><?php p($l->t('Got more awesome feeds? Share them with us!')) ?></a>
</div>
+
+ <div class="explore-filter">
+ <label for="explorelanguagecode"><?php p($l->t('Language')) ?>: </label>
+ <select id="explorelanguagecode" name="explorelanguagecode"
+ ng-change="Explore.showLanguage(Explore.selectedLanguageCode)"
+ ng-options="language as language for language in Explore.getSupportedLanguageCodes()"
+ ng-model="Explore.selectedLanguageCode"></select>
+ </div>
<div class="grid">
<div ng-repeat="entry in Explore.feeds | filter:Explore.filter | orderBy:'-votes'" ng-show="!Explore.feedExists(entry.feed)" class="explore-feed grid-item" news-refresh-masonry>
- <span class="category">{{ entry.category }}</span>
- <h1 ng-show="entry.favicon"
- ng-style="{ backgroundImage: 'url(' + entry.favicon + ')'}">
- <a target="_blank" ng-href="{{ entry.url }}">{{ entry.title }}</a>
- </h1>
- <h1 ng-hide="entry.favicon" class="icon-rss">
- {{ entry.title }}
- </h1>
- <div style="clear:both"></div>
- <div class="explore-content">
- <p>{{ entry.description }}</p>
-
- <div class="explore-logo">
- <img ng-src="{{ entry.image }}" ng-if="entry.image">
+ <div class="category-wrapper">
+ <div class="category">
+ {{ entry.category }}
</div>
</div>
- <div class="explore-subscribe">
- <button ng-click="Explore.subscribeTo(entry.feed)">
- <?php p($l->t('Subscribe')) ?>
- </button>
+ <div class="grid-item-content">
+ <h1 ng-show="entry.favicon"
+ ng-style="{ backgroundImage: 'url(' + entry.favicon + ')'}">
+ <a target="_blank" ng-href="{{ entry.url }}">{{ entry.title }}</a>
+ </h1>
+ <h1 ng-hide="entry.favicon" class="icon-rss">
+ {{ entry.title }}
+ </h1>
+ <div style="clear:both"></div>
+ <div class="explore-content">
+ <p>{{ entry.description }}</p>
+
+ <div class="explore-logo">
+ <img ng-src="{{ entry.image }}" ng-if="entry.image">
+ </div>
+ </div>
+ <div class="explore-subscribe">
+ <button ng-click="Explore.subscribeTo(entry.feed)">
+ <?php p($l->t('Subscribe')) ?>
+ </button>
+ </div>
</div>
</div>
</div>
-</div> \ No newline at end of file
+</div>
diff --git a/templates/part.navigation.explore.php b/templates/part.navigation.explore.php
index acae91b2d..8575afb1c 100644
--- a/templates/part.navigation.explore.php
+++ b/templates/part.navigation.explore.php
@@ -1,5 +1,5 @@
<li ng-class="{active: Navigation.isExploreActive()}" class="explore-feed">
- <a class="icon-link" ng-href="#/explore/">
+ <a class="icon-link" ng-href="#/explore/?lang={{Navigation.getLanguageCode()}}">
<?php p($l->t('Explore')) ?>
</a>
-</li> \ No newline at end of file
+</li>