app-781e0ec9cb.js
181 KB
!function(){"use strict";angular.module("dialoga",["ngAnimate","ngCookies","ngTouch","ngSanitize","ui.router","ngStorage","720kb.socialshare","slugifier","ncy-angular-breadcrumb","ngMessages","vcRecaptcha"])}(),function(){"use strict";function e(e,a,o,s,r,t){var i=this;i.DialogaService=e,i.$scope=a,i.$rootScope=o,i.$location=s,i.$filter=r,i.$log=t,i.init(),i.loadData(),i.attachListeners(),i.$rootScope.focusMainContent(),t.debug("RespostasPageController")}e.$inject=["DialogaService","$scope","$rootScope","$location","$filter","$log"],angular.module("dialoga").controller("RespostasPageController",e),e.prototype.init=function(){var e=this;e.page=1,e.per_page=10,e.themes=null,e.selectedTheme=null,e.filtredProposals=null,e.query=null,e.search=e.$location.search(),e.search.tema&&(e._filtredByThemeSlug=e.search.tema),e.search.filtro&&(e._filtredByQuery=e.search.filtro),(e.search.tema||e.search.filtro)&&(e.loadingFilter=!0),e.loading=null,e.error=null},e.prototype.loadData=function(){var e=this;e.loading=!0,e.loadingThemes=!0,e.DialogaService.getThemes(function(a){for(var o=[],s=a.length-1;s>=0;s--){var r=a[s];r.archived&&o.push(r)}e.themes=o,e.loadingThemes=!1,e.loading=!1,e.filter()},function(a){e.error=a,e.$log.error(a),e.loadingThemes=!1,e.loading=!1})},e.prototype.attachListeners=function(){var e=this;e.$scope.$on("change-selectedCategory",function(a,o){e.selectedTheme=o}),e.$scope.$watch("pageRespostas.selectedTheme",function(a){e.search.tema=a?a.slug:null,e.$location.search("tema",e.search.tema),e.loadingFilter||e.filterProposals()}),e.$scope.$watch("pageRespostas.query",function(a){e.search.filtro=a?a:null,e.$location.search("filtro",e.search.filtro),e.loadingFilter||e.filterProposals()})},e.prototype.resetFilterValues=function(){var e=this;e.query=null,e.selectedTheme=null},e.prototype.changePage=function(e){var a=this;a.page=e,a.filterProposals(e)},e.prototype.filter=function(){var e=this;if(e.loadingThemes||e.loadingProposals)return void e.$log.info("No proposals or themes loaded yet. Abort.");if(e._filtredByThemeSlug){var a=e._filtredByThemeSlug;e.DialogaService.getThemeBySlug(a,function(a){e.selectedTheme=a},function(a){e.$log.error('Error when try to "getThemeBySlug"',a)})}e._filtredByQuery&&(e.query=e._filtredByQuery),(e._filtredByThemeSlug||e._filtredByQuery)&&(e.filterProposals(),e.loadingFilter=!1)},e.prototype.filterProposals=function(e,a){var o=this;if(o.loadingProposals)return void o.$log.debug("Content is not loaded yet.");var s=e||o.page,r=a||o.per_page,t=o.query,i={page:s,per_page:r,has_children:!0,"fields[]":["id","body","abstract","hits","ranking_position","votes_against","votes_count","votes_for","parent","categories","slug","url","image","title","archived"]};o.selectedTheme&&(i.category_ids=o.selectedTheme.id),t&&(i.query=t),o.loadingProposals=!0,o.DialogaService.searchProposals(i,function(e){o.total_proposals=parseInt(e._obj.headers("total")),o.filtredProposals=e.articles,o.loadingProposals=!1},function(e){o.error=e,o.$log.error(e),o.loadingProposals=!1})},e.prototype.submitSearch=function(){var e=this,a=angular.element("#search-result");a&&a.length>0?(angular.element("html,body").animate({scrollTop:a.offset().top},"fast"),e.filterProposals()):e.$log.warn("#search-result element not found.")}}(),function(){"use strict";function e(e,a,o,s,r,t){var i=this;i.DialogaService=e,i.$scope=a,i.$rootScope=o,i.$location=s,i.$filter=r,i.$log=t,i.init(),i.loadData(),i.attachListeners(),i.$rootScope.focusMainContent(),t.debug("RankingPageController")}e.$inject=["DialogaService","$scope","$rootScope","$location","$filter","$log"],angular.module("dialoga").controller("RankingPageController",e),e.prototype.init=function(){var e=this;e.page=1,e.per_page=10,e.themes=null,e.selectedTheme=null,e.filtredPrograms=null,e.selectedProgram=null,e.filtredProposals=null,e.query=null,e.search=e.$location.search(),e.slug=e.$location.$$path,e.search.tema&&(e._filtredByThemeSlug=e.search.tema),e.search.programa&&(e._filtredByProgramSlug=e.search.programa),(e.search.tema||e.search.programa)&&(e.loadingFilter=!0),e.loading=null,e.error=null},e.prototype.loadData=function(){var e=this;e.loading=!0,e.loadingThemes=!0,e.DialogaService.getThemes(function(a){e.themes=a,e.loadingThemes=!1;var o=null;if(e.search.tema||e._filtredByThemeSlug){var s=e.themes.filter(function(a){return a.slug===e.search.tema||a.slug===e._filtredByThemeSlug});s&&s.length>0&&(o=s[0],e.selectedTheme=o)}o||(e.selectedTheme=e.themes[Math.floor(Math.random()*e.themes.length)]);var r=e.selectedTheme.id;e.loadPrograms(r,function(){e.loading=!1,e.loadingFilter=!1})},function(a){e.error=a,e.$log.error(a),e.loadingThemes=!1,e.loading=!1})},e.prototype.loadPrograms=function(e,a){var o=this;o.DialogaService.getProgramsByThemeId(e,function(e){o.filtredPrograms=e;var s=null;if(o.search.programa||o._filtredByProgramSlug){var r=o.filtredPrograms.filter(function(e){return e.slug===o.search.programa||e.slug===o._filtredByProgramSlug});r&&r.length>0&&(s=r[0],o.selectedProgram=s)}s||(o.selectedProgram=o.filtredPrograms[Math.floor(Math.random()*o.filtredPrograms.length)]),a&&a()},function(e){o.$log.error(e),a&&a()})},e.prototype.attachListeners=function(){var e=this;e.$scope.$on("change-selectedCategory",function(a,o){e.selectedTheme=o}),e.$scope.$watch("pageRanking.selectedTheme",function(a){e.search.tema=a?a.slug:null,e.$location.search("tema",e.search.tema),!e.loadingFilter&&e.selectedTheme&&e.selectedTheme.id&&e.loadPrograms(e.selectedTheme.id,function(){e.filterProposals()})}),e.$scope.$on("change-selectedTopic",function(a,o){e.selectedProgram=o}),e.$scope.$watch("pageRanking.selectedProgram",function(a){e.search.programa=a?a.slug:null,e.$location.search("programa",e.search.programa),e.loadingFilter||e.filterProposals()}),e.$scope.$watch("pageRanking.query",function(a){e.search.filtro=a?a:null,e.$location.search("filtro",e.search.filtro),e.loadingFilter||e.filterProposals()})},e.prototype.resetFilterValues=function(){var e=this;e.query=null,e.selectedTheme=null},e.prototype.changePage=function(e){var a=this;a.page=e,a.filterProposals(e)},e.prototype.filterProposals=function(e,a){var o=this;if(o.loadingProposals)return void o.$log.debug("Content is not loaded yet.");var s=e||o.page,r=a||o.per_page,t=o.query,i=o.selectedProgram,n={page:s,per_page:r};i&&(n.parent_id=i.id),t&&(n.query=t),o.loadingProposals=!0,o.DialogaService.searchProposals(n,function(e){o.total_proposals=parseInt(e._obj.headers("total")),o.filtredProposals=e.articles,o.loadingProposals=!1},function(e){o.error=e,o.$log.error(e),o.loadingProposals=!1})}}(),function(){"use strict";function e(e,a,o,s,r,t){var i=this;i.DialogaService=e,i.$scope=a,i.$rootScope=o,i.$location=s,i.$filter=r,i.$log=t,i.init(),i.loadData(),i.attachListeners(),i.$rootScope.focusMainContent(),t.debug("PropostasPageController")}e.$inject=["DialogaService","$scope","$rootScope","$location","$filter","$log"],angular.module("dialoga").controller("PropostasPageController",e),e.prototype.init=function(){var e=this;e.page=1,e.per_page=10,e.themes=null,e.selectedTheme=null,e.filtredProposals=null,e.query=null,e.search=e.$location.search(),e.search.tema&&(e._filtredByThemeSlug=e.search.tema),e.search.filtro&&(e._filtredByQuery=e.search.filtro),(e.search.tema||e.search.filtro)&&(e.loadingFilter=!0),e.loading=null,e.error=null},e.prototype.loadData=function(){var e=this;e.loading=!0,e.loadingThemes=!0,e.DialogaService.getThemes(function(a){e.themes=a,e.loadingThemes=!1,e.loading=!1,e.filter()},function(a){e.error=a,e.$log.error(a),e.loadingThemes=!1,e.loading=!1})},e.prototype.attachListeners=function(){var e=this;e.$scope.$on("change-selectedCategory",function(a,o){e.selectedTheme=o}),e.$scope.$watch("pagePropostas.selectedTheme",function(a){e.search.tema=a?a.slug:null,e.$location.search("tema",e.search.tema),e.page=1,e.loadingFilter||e.filterProposals()}),e.$scope.$watch("pagePropostas.query",function(a){e.search.filtro=a?a:null,e.$location.search("filtro",e.search.filtro),e.loadingFilter||e.filterProposals()})},e.prototype.resetFilterValues=function(){var e=this;e.query=null,e.selectedTheme=null},e.prototype.changePage=function(e){var a=this;a.page=e,a.filterProposals(e)},e.prototype.filter=function(){var e=this;if(e.loadingThemes||e.loadingProposals)return void e.$log.info("No proposals or themes loaded yet. Abort.");if(e._filtredByThemeSlug){var a=e._filtredByThemeSlug;e.DialogaService.getThemeBySlug(a,function(a){e.selectedTheme=a},function(a){e.$log.error('Error when try to "getThemeBySlug"',a)})}e._filtredByQuery&&(e.query=e._filtredByQuery),(e._filtredByThemeSlug||e._filtredByQuery)&&(e.filterProposals(),e.loadingFilter=!1)},e.prototype.filterProposals=function(e,a){var o=this;if(o.loadingProposals)return void o.$log.debug("Content is not loaded yet.");var s=e||o.page,r=a||o.per_page,t=o.query,i={page:s,per_page:r};o.selectedTheme&&(i.category_ids=o.selectedTheme.id),t&&(i.query=t),o.loadingProposals=!0,o.DialogaService.searchProposals(i,function(e){o.total_proposals=parseInt(e._obj.headers("total")),o.filtredProposals=e.articles,o.loadingProposals=!1},function(e){o.error=e,o.$log.error(e),o.loadingProposals=!1})},e.prototype.submitSearch=function(){var e=this,a=angular.element("#search-result");a&&a.length>0?(angular.element("html,body").animate({scrollTop:a.offset().top},"fast"),e.filterProposals()):e.$log.warn("#search-result element not found.")}}(),function(){"use strict";function e(e,a,o,s,r,t){var i=this;i.DialogaService=e,i.$scope=a,i.$rootScope=o,i.$location=s,i.$filter=r,i.$log=t,i.init(),i.loadData(),i.attachListeners(),i.$rootScope.focusMainContent(),i.$log.debug("ProgramasPageController")}e.$inject=["DialogaService","$scope","$rootScope","$location","$filter","$log"],angular.module("dialoga").controller("ProgramasPageController",e),e.prototype.init=function(){var e=this;e.themes=null,e.selectedTheme=null,e.programs=null,e.filtredPrograms=null,e.query=null,e.search=e.$location.search(),e.search.tema&&(e._filtredByThemeSlug=e.search.tema),e.search.filtro&&(e._filtredByQuery=e.search.filtro),(e.search.tema||e.search.filtro)&&(e.loadingFilter=!0),e.loading=null,e.error=null},e.prototype.loadData=function(){var e=this;e.loading=!0,e.loadingPrograms=!0,e.DialogaService.getPrograms(function(a){e.programs=a,e.filtredPrograms=e.programs,e.loadingPrograms=!1,e.filter()},function(a){e.error=a,e.$log.error(a),e.loadingPrograms=!1}),e.loadingThemes=!0,e.DialogaService.getThemes(function(a){e.themes=a,e.loadingThemes=!1,e.filter()},function(a){e.error=a,e.$log.error(a),e.loadingThemes=!1})},e.prototype.attachListeners=function(){var e=this;e.$scope.$on("change-selectedCategory",function(a,o){e.selectedTheme=o,e.$log.debug("vm.selectedTheme",e.selectedTheme)}),e.$scope.$watch("pageProgramas.selectedTheme",function(a){e.search.tema=a?a.slug:null,e.$location.search("tema",e.search.tema),e.loadingFilter||(e.filtredPrograms=e.getFiltredPrograms())}),e.$scope.$watch("pageProgramas.query",function(a){e.search.filtro=a?a:null,e.$location.search("filtro",e.search.filtro),e.loadingFilter||(e.filtredPrograms=e.getFiltredPrograms())})},e.prototype.filter=function(){var e=this;if(e.loadingThemes||e.loadingPrograms)return void e.$log.info("No programs or themes loaded yet. Abort.");if(e._filtredByThemeSlug){var a=e._filtredByThemeSlug;e.DialogaService.getThemeBySlug(a,function(a){e.selectedTheme=a},function(a){e.$log.error('Error when try to "getThemeBySlug"',a)})}e._filtredByQuery&&(e.query=e._filtredByQuery),(e._filtredByThemeSlug||e._filtredByQuery)&&(e.filtredPrograms=e.getFiltredPrograms(),e.loadingFilter=!1)},e.prototype.submitSearch=function(){var e=this;e.loadingFilter=!0;var a=angular.element("#search-result");a&&a.length>0?(angular.element("html,body").animate({scrollTop:a.offset().top},"fast"),e.filtredPrograms=e.getFiltredPrograms()):e.$log.warn("#search-result element not found.")},e.prototype.showAllPrograms=function(e){var a=this;e.stopPropagation(),a.resetFilterValues(),a._showAllFlag=!0,a.filtredPrograms=a.getFiltredPrograms()},e.prototype.resetFilterValues=function(){var e=this;e.query=null,e.selectedTheme=null},e.prototype.getFiltredPrograms=function(){var e=this;if(!e.programs)return e.$log.info("No programs loaded yet. Abort."),null;var a=e.programs,o=a,s=e.query,r=e.selectedTheme,t=e.$filter("filter");return r&&(o=e._filterByCategory(o,r)),s&&(o=t(o,s,!1)),s||r||!e._showAllFlag||(o=e._balanceByCategory(o)),o},e.prototype._filterByCategory=function(e,a){var o=this;if(e=e||[],!a)return e;for(var s=[],r=0;r<e.length;r++){var t=e[r];t.categories&&0!==t.categories.length?t.categories[0].slug===a.slug&&s.push(t):o.$log.warn("Program without theme (category)",t.slug)}return s},e.prototype._balanceByCategory=function(e){for(var a=this,o=[],s={},r=0;r<e.length;r++){var t=e[r];if(t.categories&&0!==t.categories.length){var i=t.categories[0].slug;s[i]||(s[i]=[]),s[i].push(t)}else a.$log.warn("Program without theme (category)",t.slug)}for(var n=null,l=null,c=!0;c;){var p=!1;n=null,l=null;for(n in s)if(s.hasOwnProperty(n)&&(l=s[n],l.length>0)){var d=l.pop();o.push(d),p=!0}p||(c=!1)}return o}}(),function(){"use strict";function e(e,a,o,s,r,t,i,n,l,c,p){var d=this;d.DialogaService=e,d.PATH=a,d.VOTE_OPTIONS=o,d.PROPOSAL_STATUS=s,d.$state=r,d.$location=t,d.$scope=i,d.$rootScope=n,d.$element=l,d.$sce=c,d.$log=p,d.init(),d.loadData(),d.attachListeners(),d.$rootScope.focusMainContent(),d.$log.debug("ProgramaPageController")}e.$inject=["DialogaService","PATH","VOTE_OPTIONS","PROPOSAL_STATUS","$state","$location","$scope","$rootScope","$element","$sce","$log"],angular.module("dialoga").controller("ProgramaPageController",e),e.prototype.init=function(){var e=this;e.article=null,e.category=null,e.loading=null,e.loadingTopProposals=null,e.loadingProposalBox=null,e.sendProposalRedirectURI=null,e.showDetailAboutArchived=!1,e.search=e.$location.search(),e.error=!1},e.prototype.loadData=function(){var e=this;e.loading=!0,e.proposalStatus=null;var a=e.$state.params.slug;return a?void e.DialogaService.getProgramBySlug(a,function(o){e.article=o,e.category=e.article.categories[0],e.sendProposalRedirectURI="state=programa&task=send-proposal&slug="+a,e.$rootScope.contentTitle=e.article.title,!e.banner&&e.article.image&&(e.banner={src:e.PATH.image+e.article.image.url,alt:"Imagem de destaque do conteúdo"}),e.article.body&&!e.article.bodyTrusted&&(e.article.bodyTrusted=e.$sce.trustAsHtml(e.article.body)),e.loadingTopProposals=!0,e.DialogaService.getProposalsByTopicIdRanked(e.article.id,{limit:5},function(a){e.total_proposals=parseInt(e.article.children_count),e.proposals=a.articles?a.articles:a.proposals,e.proposalsTopFive=e.proposals.slice(0,5),e.proposalsTopRated=e.proposals.slice(0,3),e.loadingTopProposals=!1;for(var o=e.proposalsTopRated.length-1;o>=0;o--){var s=e.proposalsTopRated[o];s.body=s&&s.body&&s.body.length>0?String(s.body).replace(/<[^>]+>/gm,""):e.banner.src}if(e.article.archived&&e.search.proposal_id){for(var r=!1,t=parseInt(e.search.proposal_id),i=e.proposalsTopRated.length-1;i>=0;i--){var n=e.proposalsTopRated[i];if(n.id===t){r=!0;break}}if(!r)return void e.$log.debug("Proposal is not one of top 3.");e.$rootScope.findElAsyncAndFocus(".sub-section-"+t)}},function(a){e.$log.error(a),e.loadingTopProposals=!1}),e.article.archived||(e.search.proposal_id?e.loadProposalById(e.search.proposal_id):e.loadRandomProposal()),e.loading=!1},function(a){e.$log.error(a),e.error=a,e.loading=!1}):(e.$log.warn("slug not defined."),e.$log.info("Rollback to home page."),void e.$state.go("inicio",{},{location:"replace"}))},e.prototype.attachListeners=function(){var e=this;e.$scope.$on("proposal-carousel:showProposalsList",function(){e.showProposalsList()}),e.$scope.$on("cadastro-proposa:startSendProposal",function(a,o){e.proposalStatus=e.PROPOSAL_STATUS.SENDING;var s=e.article.categories[0].id;e.DialogaService.createProposal(o,e.article.id,s,function(a){e.$log.debug("response",a),e.proposalStatus=e.PROPOSAL_STATUS.SUCCESS},function(a){e.$log.error(a),e.error=a,400===e.error.code&&(angular.equals(a.message,"Resumo é muito longo (máximo: 200 caracteres)")?e.error.message="Proposta muito longa (máximo: 200 caracteres)":(e.error.message="",e.error.message+="Não foi possível enviar a proposta.<br>",e.error.message+="Este problema já foi registrado em nossos servidores.<br>",e.error.message+="Por favor, tente novamente mais tarde.")),e.proposalStatus=e.PROPOSAL_STATUS.ERROR})})},e.prototype.loadProposalById=function(e){var a=this;a.loadingProposalBox=!0,a.DialogaService.getProposalById(e,{limit:"1"},a._handleSuccessOnGetProposal.bind(a),a._handleErrorOnGetProposal.bind(a))},e.prototype.loadRandomProposal=function(){var e=this;e.loadingProposalBox=!0,e.DialogaService.getProposalsByTopicId(e.article.id,{order:"random()",limit:"1",t:Date.now()},e._handleSuccessOnGetProposal.bind(e),e._handleErrorOnGetProposal.bind(e))},e.prototype._handleSuccessOnGetProposal=function(e){var a=this;if(e&&e.articles){var o=e.articles.length;a.randomProposal=e.articles[Math.floor(Math.random()*o)],a.loadingProposalBox=!1,a.$scope.$broadcast("proposal-box:proposal-loaded",{success:!0})}a.search.proposal_id&&a.$rootScope.findElAsyncAndFocus(".focused-proposal")},e.prototype._handleErrorOnGetProposal=function(e){var a=this;a.$log.error(e),a.$scope.$broadcast("proposal-box:proposal-loaded",{error:!0})},e.prototype.voteSkip=function(){var e=this;e.loadRandomProposal()},e.prototype.vote=function(e,a){var o=this;return o.article.archived?void o.$log.info("Article archived. Abort."):a===o.VOTE_OPTIONS.SKIP?void o.voteSkip():void o.DialogaService.voteProposal(e,{value:a}).then(function(e){o.$log.debug("voteProposal response",e),e.success=!0,o.$scope.$broadcast("proposal-box:vote-response",e)},function(e){o.$log.debug("voteProposal error",e),e.error=!0,o.$scope.$broadcast("proposal-box:vote-response",e)})["finally"](function(e){o.$log.debug("voteProposal finally",e)})},e.prototype.showProposalsList=function(){var e=this;e.findAndShow("#section-proposal-list")},e.prototype.hideProposalsList=function(){var e=this;e.findAndHide("#section-proposal-list")},e.prototype.showProposalForm=function(){var e=this;return e.article.archived?void e.$log.info("Article archived. Abort."):void e.findAndShow("#section-proposal-form")},e.prototype.hideProposalForm=function(){var e=this;e.findAndHide("#section-proposal-form")},e.prototype.findAndShow=function(e){var a=this,o=a.$element.find(e);o.slideDown(),angular.element("html,body").animate({scrollTop:o.offset().top},"fast")},e.prototype.findAndHide=function(e){var a=this;a.$element.find(e).slideUp()},e.prototype.sendAnotherProposal=function(){var e=this;e.proposalStatus=null},e.prototype.toggleContentVisibility=function(){var e=this,a=angular.element(".section-content");return a&&0!==a.length?void(a.is(":visible")?a.slideUp():(a.slideDown(),angular.element("html,body").animate({scrollTop:a.offset().top},"fast"))):void e.$log.warn('".section-content" not found.')},e.prototype.toggleResponseVisibility=function(e){function a(){var a=angular.element(".gov-response-"+e.id);a.is(":visible")?a.slideUp():a.slideDown(100,function(){angular.element("html,body").animate({scrollTop:a.offset().top},"fast")})}var o=this;return e?void(e.response?a():(e.response={loading:!0,error:!1,content:null},o.DialogaService.getResponseByProposalId(e.proposal_id).then(function(o){e.response.content=o.articles[0].body,a()})["catch"](function(){e.response.error=!1})["finally"](function(){e.response.loading=!1}))):void o.$log.error("Error - proposal is:",e)}}(),function(){"use strict";function e(e,a,o,s,r,t,i){var n=this;n.DialogaService=e,n.$scope=a,n.$location=o,n.$filter=s,n.$sce=r,n.$timeout=t,n.$log=i,n.init(),n.loadData(),n.attachListeners(),n.$log.debug("InicioPageController")}function a(e){for(var a=[],o={},s=0;s<e.length;s++){var r=e[s],t=r.categories[0].slug;o[t]||(o[t]=[]),o[t].push(r)}for(var i=null,n=null,l=!0;l;){var c=!1;i=null,n=null;for(i in o)if(o.hasOwnProperty(i)&&(n=o[i],n.length>0)){var p=n.pop();a.push(p),c=!0}c||(l=!1)}return a}function o(){var e=document.createElement("script");e.src="https://www.youtube.com/iframe_api";var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(e,a)}function s(){var e=angular.element.find(".js-iframe iframe"),a=window.YT.Player;new a(e[0],{events:{onReady:r}})}function r(e){e.target.playVideo(),t(1e3)}function t(e){var a=angular.element.find(".video-background");angular.element(a).fadeOut(e||100)}e.$inject=["DialogaService","$scope","$location","$filter","$sce","$timeout","$log"],angular.module("dialoga").controller("InicioPageController",e),e.prototype.init=function(){var e=this;e.article=null,e.events=null,e.featuredEvent=null,e.bannerRespostas=!0,e.themes=null,e.selectedTheme=null,e.programs=null,e.filtredPrograms=null,e.query=null,e.scroll=null,e.search=e.$location.search(),e.search.tema&&(e._filtredByThemeSlug=e.search.tema),e.search.filtro&&(e._filtredByQuery=e.search.filtro),(e.search.tema||e.search.filtro)&&(e.loadingFilter=!0),e.search.scroll&&(e.scroll=e.search.scroll),e.loading=null,e.error=null},e.prototype.loadData=function(){function e(){o.loadingThemes=!0,o.DialogaService.getThemes(function(e){o.themes=e,o.loadingThemes=!1,o.filter()},function(e){o.$log.error("Error on getThemes.",e),o.loadingThemes=!1,o.errorThemes=e}),o.loadingPrograms=!0,o.DialogaService.getProgramsRandom({},function(e){o.programs=o.article.children,o.filtredPrograms=e.articles,o.loadingPrograms=!1,o.filter(),a()},function(e){o.$log.error("Error on getPrograms.",e),o.loadingPrograms=!1,o.errorPrograms=e})}function a(){o._scrollHandler()}var o=this;o.loading=!0,o.DialogaService.getHome(function(a){o.article=a.article,o.article.videoIsLoaded&&t(2e3),e(),o.loading=!1},function(e){o.$log.error("Error on getHome.",e),o.loading=!1,o.error=e}),o.loadingEvents=!0,o.DialogaService.getEvents().then(function(e){o.$log.debug("getEvents.success",e),o.events=e.articles;var a=o.$filter("orderBy");o.featuredEvent=a(o.events,"start_date",!1)[0]},function(e){o.$log.debug("Error on getEvents.",e),o.eventsError=e},function(e){o.$log.debug("{UPDATE}",e)})["finally"](function(e){o.$log.debug("{FINALLY}",e),o.loadingEvents=!1})},e.prototype._scrollHandler=function(){var e=this;if(e.search.scroll){var a=e.search.scroll,o=0;if(angular.isNumber(a))o=parseInt(a);else{var s=angular.element("#"+e.search.scroll);s&&s.length>0?o=s.offset().top:e.$log.warn("element not found:",e.search.scroll)}e.$timeout(function(){angular.element("html,body").animate({scrollTop:o},"fast")},0)}},e.prototype.attachListeners=function(){var e=this;e.$scope.$on("change-selectedCategory",function(a,o){e.selectedTheme=o}),e.$scope.$watch("pageInicio.selectedTheme",function(a){e.search.tema=a?a.slug:null,e.$location.search("tema",e.search.tema),e.loadingFilter||(e.filtredPrograms=e.getFiltredPrograms())}),e.$scope.$watch("pageInicio.query",function(a){e.search.filtro=a?a:null,e.$location.search("filtro",e.search.filtro),e.loadingFilter||(e.filtredPrograms=e.getFiltredPrograms())})},e.prototype.showVideo=function(){var e=this;return e.article.videoIsLoaded?(t(0),void e.$log.debug("The content already cached. Show-it!")):(o(),window.onYouTubeIframeAPIReady=window.onYouTubeIframeAPIReady||s,window.onYouTubePlayerReady=window.onYouTubePlayerReady||r,void(e.article.videoIsLoaded=!0))},e.prototype.showEventVideo=function(){var e=this;t(0),e.featuredEvent.canView=!0,e.featuredEvent.bodyTrusted=e.$sce.trustAsHtml(e.featuredEvent.body)},e.prototype.submitSearch=function(){var e=this;e.loadingFilter=!0;var a=angular.element("#search-result");a&&a.length>0?(angular.element("html,body").animate({scrollTop:a.offset().top},"fast"),e.filtredPrograms=e.getFiltredPrograms()):e.$log.warn("#search-result element not found.")},e.prototype.filter=function(){var e=this;if(e.loadingThemes||e.loadingPrograms)return void e.$log.info("No programs or themes loaded yet. Abort.");if(e._filtredByThemeSlug){var a=e._filtredByThemeSlug;e.DialogaService.getThemeBySlug(a,function(a){e.selectedTheme=a},function(a){e.$log.error('Error when try to "getThemeBySlug"',a)})}e._filtredByQuery&&(e.query=e._filtredByQuery),(e._filtredByThemeSlug||e._filtredByQuery)&&(e.filtredPrograms=e.getFiltredPrograms(),e.loadingFilter=!1)},e.prototype.showAllPrograms=function(e){var a=this;e.stopPropagation(),a.resetFilterValues(),a.filtredPrograms=a.getFiltredPrograms()},e.prototype.resetFilterValues=function(){var e=this;e.query=null,e.selectedTheme=null},e.prototype.getFiltredPrograms=function(){var e=this;if(!e.programs)return e.$log.debug("No programs loaded yet. Abort."),null;var o=e.programs,s=o,r=e.query,t=e.selectedTheme,i=e.$filter("filter");return e.loadingFilter=!0,t&&(s=e._filterByCategory(s,t)),r&&(s=i(s,r,!1)),r||t||(s=a(s)),e.loadingFilter=!1,s},e.prototype._filterByCategory=function(e,a){var o=this;if(e=e||[],!a)return e;for(var s=[],r=0;r<e.length;r++){var t=e[r];t.categories&&0!==t.categories.length?t.categories[0].slug===a.slug&&s.push(t):o.$log.warn("Program without theme (category)",t.slug)}return s}}(),function(){"use strict";function e(e,a,o,s){var r=this;r.DialogaService=e,r.$log=s,r.init(),r.loadData(),r.$log.debug("SitemapPageController")}function a(e){for(var a={},o=e.length,s=0;o>s;s++){var r=e[s],t=r.categories[0],i=a[t.slug]||{};angular.isArray(i.programs)||(i=t,i.programs=[],a[i.slug]=i),i.programs.push(r)}return a}e.$inject=["DialogaService","$state","$sce","$log"],angular.module("dialoga").controller("SitemapPageController",e),e.prototype.init=function(){var e=this;e.programsPerThemes=null},e.prototype.loadData=function(){var e=this;e.DialogaService.getPrograms(function(o){e.programsPerThemes=a(o)},function(a){e.error=a,e.$log.error(a)})}}(),function(){"use strict";function e(e,a,o,s,r,t){t.debug("DuvidasPageController");var i=this;i.DialogaService=e,i.APP=a,i.$interval=o,i.$window=s,i.vcRecaptchaService=r,i.$log=t,i.init(),i.loadData(),i.attachListeners()}e.$inject=["DialogaService","APP","$interval","$window","vcRecaptchaService","$log"],angular.module("dialoga").controller("DuvidasPageController",e),e.prototype.init=function(){var e=this;e.loadingQuestions=!1,e.error=!1,e.sendingContactForm=!1,e.questions=[],e.recaptchaResponse=null,e.recaptchaWidgetId=null},e.prototype.loadData=function(){var e=this;e.loadingQuestions=!0,e.DialogaService.getQuestions().then(function(a){e.questions=a.articles})["catch"](function(a){e.$log.error("error",a)})["finally"](function(){e.loadingQuestions=!1})},e.prototype.attachListeners=function(){var e=this;e.setWidgetId=function(a){e.$log.info("Created widget ID:",a),e.recaptchaWidgetId=a},e.setResponse=function(a){e.$log.debug("Response available",a),e.recaptchaResponse=a},e.cbExpiration=function(){e.$log.debug("cbExpiration")}},e.prototype.submitContactForm=function(e,a){var o=this;o.$log.debug("submitContactForm contactForm",a),o.sendingContactForm=!0;var s={name:a.inputName.$modelValue,email:a.inputEmail.$modelValue,subject:a.inputSubject.$modelValue,message:a.inputMessage.$modelValue};s.g_recaptcha_response=o.recaptchaResponse,o.DialogaService.sendContactForm(s).then(function(e){o.$log.debug("sendContactForm success",e),o.successMessage="Mensagem enviada com sucesso!"},function(e){o.$log.warn("sendContactForm error",e),o.errorMessage="Erro ao enviar mensagem. Tente novamente mais tarde."})["finally"](function(e){o.$log.debug("sendContactForm finally",e),o.sendingContactForm=!1})}}(),function(){"use strict";function e(e,a,o){var s=this;s.AuthService=e,s.$state=a,s.$log=o,s.init(),s.$log.debug("NewPasswordPageController")}e.$inject=["AuthService","$state","$log"],angular.module("dialoga").controller("NewPasswordPageController",e),e.prototype.init=function(){var e=this;e.loading=!1,e.submitNewPasswordSuccess=!1,e.submitNewPasswordError=!1,e.token=e.$state.params.token},e.prototype.submitNewPassword=function(e,a){var o=this;if(!a.$valid)return void o.$log.warn("Form validation: fail.");o.loading=!0,o.submitNewPasswordSuccess=!1,o.submitNewPasswordError=!1;var s={code:o.token,newPassword:a.newPassword.$modelValue,newPasswordConfirmation:a.newPasswordConfirmation.$modelValue},r=o.AuthService.changePassword(s);r.then(function(e){o.$log.debug("new password success:",e),o.submitNewPasswordSuccess=!0})["catch"](function(e){o.$log.debug("new password error:",e),o.submitNewPasswordError=!0,o.submitNewPasswordErrorMessage=e.data.message||"Não foi possível configurar nova senha.",e.status>=500&&e.status<600&&(o.internalError=!0)})["finally"](function(){o.loading=!1})}}(),function(){"use strict";function e(e,a,o,s,r,t,i,n,l,c,p,d,g,u){var v=this;v.$scope=e,v.$rootScope=a,v.$window=o,v.$location=s,v.$state=r,v.$timeout=t,v.$interval=i,v.APP=n,v.AUTH_EVENTS=l,v.AuthService=c,v.DialogaService=p,v.Session=d,v.vcRecaptchaService=g,v.$log=u,v.init(),v.loadData(),v.attachListeners(),v.$rootScope.focusMainContent(),v.$log.debug("AuthPageController")}e.$inject=["$scope","$rootScope","$window","$location","$state","$timeout","$interval","APP","AUTH_EVENTS","AuthService","DialogaService","Session","vcRecaptchaService","$log"],angular.module("dialoga").controller("AuthPageController",e),e.prototype.init=function(){var e=this;e.signin={},e.signup={},e.terms=null,e.loadingTerms=null,e.delay=3,e.countdown=0,e.recaptchaResponse=null,e.recaptchaWidgetId=null,e.search=e.$location.search();var a=e.search.redirect_uri||"";a&&a.length>0&&(e.params=JSON.parse('{"'+decodeURI(a).replace(/"/g,'\\"').replace(/&/g,'","').replace(/=/g,'":"')+'"}'),e.hasRedirect=!0),e.currentUser=e.Session.getCurrentUser(),e.$scope.$on(e.AUTH_EVENTS.loginSuccess,function(){e.currentUser=e.Session.getCurrentUser()}),e.$scope.$on(e.AUTH_EVENTS.logoutSuccess,function(){e.clearMessages(),e.currentUser=e.Session.getCurrentUser()})},e.prototype.loadData=function(){var e=this;e.loadingTerms=!0,e.DialogaService.getTerms(function(a){e.loadingTerms=!1,e.terms=a.article},function(a){e.loadingTerms=!1,e.error=a})},e.prototype.attachListeners=function(){var e=this;e.$scope.$on(e.AUTH_EVENTS.registerSuccess,function(a,o){e.$log.debug("[register success] response",o)}),e.$scope.$on(e.AUTH_EVENTS.registerFailed,function(a,o){e.$log.debug("[register error] response",o)}),e.$scope.$on("oauthClientPluginResult",function(a,o){e.$log.debug("response",o);var s=o.data.logged_in,r=o.data.private_token;if(o.data.user&&!o.data.user.private_token&&(o.data.user.private_token=r),s){var t=e.Session.create(o.data);e.$rootScope.currentUser=t,e.$rootScope.$broadcast(e.AUTH_EVENTS.loginSuccess,t)}}),e.setWidgetId=function(a){e.$log.info("Created widget ID:",a),e.recaptchaWidgetId=a},e.setResponse=function(a){e.$log.debug("Response available",a),e.recaptchaResponse=a},e.cbExpiration=function(){e.$log.debug("cbExpiration")}},e.prototype.onClickLogout=function(){var e=this;e.AuthService.logout()},e.prototype.submitSignup=function(e,a){var o=this;a.g_recaptcha_response=o.recaptchaResponse,o.AuthService.register(a).then(function(){o.signupSuccess=!0})["catch"](function(e){if(o.vcRecaptchaService.reload(o.recaptchaWidgetId),o.signupError=!0,o.signupErrorTitle="Erro!",o.signupErrorMessage=e.data.message,e.status>=400&&e.status<500){var a=JSON.parse(e.data.message);a&&a.email&&(o.signupErrorMessage="E-mail já está em uso.")}e.status>=500&&e.status<600&&(o.internalError=!0)})["finally"](function(){})},e.prototype.submitSignin=function(e){var a=this;a.AuthService.login(e).then(function(){a.showSigninSuccessMessage(),a._startRedirect()},function(e){a.$log.error('Error on "submitSignin"',e),a.signinError=!0,e.status>=400&&e.status<500&&(a.signinErrorTitle="Erro!",a.signinErrorContent=e.data.message,401===e.status&&(a.signinErrorTitle="Acesso não autorizado!",a.signinErrorContent="E-mail ou senha incorretos."))})},e.prototype.submitRecover=function(e,a){var o=this;o.loadingSubmitRecover=!0;var s={login:a.login.$modelValue,g_recaptcha_response:o.recaptchaResponse},r=o.AuthService.forgotPassword(s);r.then(function(e){o.$log.debug("recover success.response",e),o.recoverSuccess=!0;
}),r["catch"](function(e){o.$log.debug("recover error.response",e),o.recoverError=!0,o.recoverErrorMessage=e.data.message,e.status>=400&&e.status<500&&404===e.status&&(o.recoverErrorMessage="E-mail não cadastrado no Dialoga Brasil."),e.status>=500&&e.status<600&&(o.internalError=!0)}),r["finally"](function(){o.loadingSubmitRecover=!1})},e.prototype.submitConfirmationForm=function(e,a){var o=this,s={login:a.login.$modelValue,g_recaptcha_response:o.recaptchaResponse};o.AuthService.resendConfirmation(s).then(function(e){o.$log.debug("resendConfirmation success.response",e),o.resendConfirmationSuccess=!0;var a=e.data.users[0];a&&a.activated===!0?(o.resendConfirmationSuccessTitle="Usuário já está ativo!",o.resendConfirmationSuccessMessage="O e-mail informado já foi confirmado."):(o.resendConfirmationSuccessTitle="Pronto!",o.resendConfirmationSuccessMessage="Em instantes você receberá em seu e-mail um link para confirmar o seu cadastro.")})["catch"](function(e){o.$log.debug("resendConfirmation error.response",e),o.resendConfirmationError=!0,o.resendConfirmationErrorMessage=e.data.message,e.status>=500&&e.status<600&&(o.internalError=!0)})["finally"](function(){})},e.prototype.clearMessages=function(){var e=this;e.signupSuccess=!1,e.signinSuccess=!1,e.confirmSuccess=!1,e.signinError=!1,e.signupError=!1},e.prototype.showSigninSuccessMessage=function(){var e=this;e.signinSuccess=!0,e.successMessage="Login efetuado com sucesso!"},e.prototype._startRedirect=function(){var e=this;if(!e.hasRedirect)return void e.$log.debug("No redirect params defined.");e.countdown=e.delay;var a=null;a=e.$interval(function(){e.countdown--,e.countdown<=0&&(e.$interval.cancel(a),a=void 0)},1e3),e.$timeout(function(){var a=e.params.state;switch(a){case"inicio":e.$state.go(a,{event_id:e.params.event_id,task:e.params.task});break;case"programa":e.$state.go(a,{slug:e.params.slug,task:e.params.task,proposal_id:e.params.proposal_id});break;default:e.$log.debug("State not handled yet:",a)}},1e3*e.delay)},e.prototype.authWithFacebook=function(){var e=this,a="http://hom.login.dialoga.gov.br/plugin/oauth_client/facebook?oauth_client_popup=true&id="+e.APP.facebook_app_id;e.$window.oauthClientAction(a)},e.prototype.authWithGooglePlus=function(){var e=this,a="http://hom.login.dialoga.gov.br/plugin/oauth_client/google_oauth2?oauth_client_popup=true&id="+e.APP.google_app_id;e.$window.oauthClientAction(a)}}(),function(){"use strict";function e(e,a,o){var s=this;s.AuthService=e,s.$state=a,s.$log=o,s.init(),s.doActivation(),s.$log.debug("ActivePageController")}e.$inject=["AuthService","$state","$log"],angular.module("dialoga").controller("ActivePageController",e),e.prototype.init=function(){var e=this;e.loading=!0,e.activation_code=e.$state.params.activation_code},e.prototype.doActivation=function(){var e=this;e.AuthService.activate(e.activation_code).then(function(a){e.$log.info("response",a),e.successMessageTitle="Pronto!",e.successMessageContent="Conta ativada com sucesso!"},function(a){e.$log.error("response",a),e.errorMessageTitle="Erro!",(a.status>=500||a.status<600)&&(e.errorMessageContent="Código de ativação incorreto.")})["finally"](function(a){e.$log.debug("finally",a),e.loading=!1})}}(),function(){"use strict";function e(e,a,o,s,r){var t=this;t.DialogaService=e,t.$rootScope=a,t.$state=o,t.$sce=s,t.$log=r,t.init(),t.loadData(),t.$rootScope.focusMainContent(),t.$log.debug("ArticlePageController")}e.$inject=["DialogaService","$rootScope","$state","$sce","$log"],angular.module("dialoga").controller("ArticlePageController",e),e.prototype.init=function(){var e=this;e.page=e.$state.current.name,e.article=null,e.loading=!0,e.$log.debug("vm.page",e.page)},e.prototype.loadData=function(){function e(e){o.loading=!1,o.article=e.article}function a(e){o.loading=!1,o.error=e}var o=this;switch(o.page){case"acessibilidade":o.DialogaService.getAcessibility(e,a);break;case"sobre":o.DialogaService.getAbout(e,a);break;case"termos-de-uso":o.DialogaService.getTerms(e,a);break;default:o.$log.debug("Page not handled:",o.page)}}}(),function(){"use strict";function e(){function e(e){e.debug("validationMessagesController");var a=this;a.$log=e,a.init()}e.$inject=["$log"],e.prototype.init=function(){var e=this;e.required||(e.required="Ops, o campo é obrigatório."),e.minlength||(e.minlength="O campo deve ser maior."),e.maxlength||(e.maxlength="O campo deve ser menor"),e.email||(e.email="O endereço de e-mail deve ser válido")};var a={restrict:"E",templateUrl:"app/components/validation-messages/validation-messages.html",scope:{field:"=",required:"=",minlength:"=",maxlength:"=",email:"="},controller:e,controllerAs:"vm",bindToController:!0};return a}angular.module("dialoga").directive("validationMessages",e)}(),function(){"use strict";function e(e,a,o){function s(a,o){return e.get(a,o).then(t)["catch"](i)}function r(a,o){return e.post(a,o).then(t)["catch"](i)}function t(e){return o.debug("[SUCCESS]",e),e.data._obj=e,e.data}function i(e){return o.debug("[ERROR]",e),o.error("XHR Failed on Service.\n"+angular.toJson(e.data,!0)),a.reject(angular.isObject(e.data)?e.data:"An unknown error occurred.")}o.debug("UtilService");var n={get:s,post:r,handleSuccess:t,handleError:i};return n}e.$inject=["$http","$q","$log"],angular.module("dialoga").factory("UtilService",e)}(),function(){"use strict";function e(){function e(e,a){a.debug("TopicsSelectController");var o=this;o.$rootScope=e,o.$log=a,o.init()}e.$inject=["$rootScope","$log"],e.prototype.init=function(){},e.prototype.selectTopic=function(){var e=this;return null===e.selectedTopic?void e.$log.debug("Default topic selected."):void e.$rootScope.$broadcast("change-selectedTopic",e.selectedTopic)};var a={restrict:"E",templateUrl:"app/components/topics-select/topics-select.html",scope:{topics:"=",selectedTopic:"="},controller:e,controllerAs:"vm",bindToController:!0};return a}angular.module("dialoga").directive("topicsSelect",e)}(),function(){"use strict";function e(){function e(e,a,o,s,r){r.debug("TopicListController");var t=this;t.$scope=e,t.$element=a,t.$location=o,t.$filter=s,t.$log=r,t.defaultLimit=6,t.init()}e.$inject=["$scope","$element","$location","$filter","$log"],e.prototype.init=function(){var e=this;if(!e.article)return void e.$log.debug("no article to display. Tip: use a ng-if before use this directive");if(e.categories=e.article.categories,e.programs=e.article.children,e.orderCriteries=[{label:"Título",name:"titulo"},{label:"Tema",name:"tema"},{label:"Aleatório",name:"aleatorio"}],e.filtredProgramList=e.getFiltredPrograms(),e.search=e.$location.search(),e.query=e.search&&e.search.filtro?e.search.filtro:null,e.limitTo=e.search&&e.search.limite?parseInt(e.search.limite,10):e.defaultLimit,e.categoryFilter=e.search&&e.search.tema?e.getCategoryBySlug(e.search.tema):null,e.orderCriteria=e.search&&e.search.ordem?{name:e.search.ordem}:null,e.reverse=e.search&&e.search.reverso?!0:!1,!angular.equals({},e.search)){var a=e.$element;angular.element("html,body").animate({scrollTop:a.offset().top},"slow")}e.$scope.$watch("vm.query",function(a){e.search.filtro=a?a:null,e.$location.search("filtro",e.search.filtro),e.limitTo=e.search.filtro?e.programs.length:e.defaultLimit,e.filtredProgramList=e.getFiltredPrograms()}),e.$scope.$watch("vm.limitTo",function(a){e.search.limite=a&&a!==e.defaultLimit?a:null,e.$location.search("limite",e.search.limite),e.filtredProgramList=e.getFiltredPrograms()}),e.$scope.$watch("vm.categoryFilter",function(a){e.search.tema=a?a.slug:null,e.$location.search("tema",e.search.tema),e.search.tema&&(e.limitTo=e.programs.length),e.filtredProgramList=e.getFiltredPrograms()}),e.$scope.$watch("vm.orderCriteria",function(a){e.search.ordem=a&&a.name?a.name:null,e.$location.search("ordem",e.search.ordem),e.filtredProgramList=e.getFiltredPrograms()}),e.$scope.$watch("vm.reverse",function(a){e.search.reverso=a?a:null,e.$location.search("reverso",e.search.reverso),e.filtredProgramList=e.getFiltredPrograms()})},e.prototype.resetFilterValues=function(){var e=this;e.query=null,e.limitTo=e.defaultLimit,e.categoryFilter=null,e.orderCriteria=null},e.prototype.getIconClasses=function(e){var a=this;return a.$log.debug("[TODO] getIconClasses of category:",e),"glyphicon glyphicon-exclamation-sign"},e.prototype.getCategoryBySlug=function(e){var a=this,o=null;return angular.forEach(a.categories,function(a){a.slug===e&&(o=a)}),o},e.prototype.filterByCategory=function(e,a){var o=this;a.stopPropagation(),o.categoryFilter=e!==o.categoryFilter?e:null},e.prototype.showAll=function(e){var a=this;e.stopPropagation(),a.resetFilterValues(),a.limitTo=a.programs.length},e.prototype.getFiltredPrograms=function(){var e=this,o=e.programs,s=o,r=e.query,t=e.categoryFilter,i=e.orderCriteria?e.orderCriteria:{name:"aleatorio"},n=e.$filter("filter"),l=e.$filter("orderBy"),c=e.$filter("limitTo"),p=e.limitTo?e.limitTo:4;switch(t&&(s=a(s,t)),r&&(s=n(s,r,!1)),i.name){case"titulo":s=l(s,"title",e.reverse);break;case"tema":s=l(s,"categories[0].name",e.reverse);break;case"more_participants":e.$log.info("Criteria not handled yet: ",i);break;case"aleatorio":s=e.filterShuffle(s),e.reverse&&(s=s.slice().reverse());break;default:e.$log.warn("Criteria not matched: ",i)}return s=c(s,p)},e.prototype.filterShuffle=function(e){for(var a=[],s={},r=0;r<e.length;r++){var t=e[r],i=t.categories[0].slug;s[i]||(s[i]=[]),s[i].push(t)}var n=null,l=null;for(n in s)s.hasOwnProperty(n)&&(l=s[n],s[n]=o(l));for(var c=!0;c;){var p=!1;n=null,l=null;for(n in s)if(s.hasOwnProperty(n)&&(l=s[n],l.length>0)){var d=l.pop();a.push(d),p=!0}p||(c=!1)}return a};var s={restrict:"E",templateUrl:"app/components/programas/programas.html",scope:{article:"="},controller:e,controllerAs:"vm",bindToController:!0};return s}function a(e,a){if(e=e||[],!a)return e;for(var o=[],s=0;s<e.length;s++){var r=e[s];r.categories[0].slug===a.slug&&o.push(r)}return o}function o(e){for(var a,o,s=e.length;0!==s;)o=Math.floor(Math.random()*s),s-=1,a=e[s],e[s]=e[o],e[o]=a;return e}angular.module("dialoga").directive("topicList",e)}(),function(){"use strict";function e(){function e(e){e.debug("SocialShareController");var a=this;a.socialVia=a.socialVia||"687948707977695",a.socialUrl=a.socialUrl||"http://hom.dialoga.gov.br/",a.socialImage=a.socialImage||"http://hom.dialoga.gov.br/images/logo.png",a.socialText=a.socialText||"Conheça o Dialoga Brasil. Dialoga Brasil | O País fica melhor quando VOCÊ PARTICIPA."}e.$inject=["$log"];var a={restrict:"E",templateUrl:"app/components/social-share/social-share.html",scope:{socialVia:"=",socialUrl:"=",socialImage:"=",socialText:"=",arrowClass:"@"},controller:e,controllerAs:"vm",bindToController:!0};return a}angular.module("dialoga").directive("socialShare",e)}(),function(){"use strict";function e(){function e(e){e.debug("ShowMessageController")}e.$inject=["$log"];var a={restrict:"E",templateUrl:"app/components/show-message/show-message.html",scope:{type:"=",message:"=",description:"="},controller:e,controllerAs:"vm",bindToController:!0};return a}angular.module("dialoga").directive("showMessage",e)}(),function(){"use strict";function e(){var e={restrict:"E",templateUrl:"app/components/proposal-stats/proposal-stats.html"};return e}angular.module("dialoga").directive("proposalStats",e)}(),function(){"use strict";function e(){function e(e,a,o,s){s.debug("ProposalListController");var r=this;r.$state=e,r.$element=a,r.$timeout=o,r.$log=s,r.init()}function a(){var e=this;e.popover=angular.element(e.$element.find(".btn-question")),e.popover.popover({html:!0,placement:"bottom",animation:!0,title:"Regra de posição das propostas",content:"<p>É calculada pelo saldo de interações das propostas (curtidas - não curtidas) dividido pela diferença de exibições entre elas.</p><p>O objetivo dessa correção é compensar o saldo de interações e a diferença de exibições das propostas que não tiveram muitas oportunidades de visualização ou das propostas que tiveram mais oportunidades de visualização que a média.</p><p>Com essa correção, é possível comparar propostas que entraram em diferentes momentos, durante todo o período da consulta.</p>"})}e.$inject=["$state","$element","$timeout","$log"],e.prototype.init=function(){var e=this;if(!e.proposals)throw{name:"NotDefined",message:'The attribute "proposals" is undefined.'};e.$timeout(function(){a.call(e)},0)},e.prototype.showContent=function(e){var a=this;a.$state.go("programa",{slug:e.parent.slug,proposal_id:e.proposal_id},{location:!0,reload:!0})};var o={restrict:"E",templateUrl:"app/components/proposal-list/proposal-list.html",scope:{proposals:"="},controller:e,controllerAs:"vm",bindToController:!0};return o}angular.module("dialoga").directive("proposalList",e)}(),function(){"use strict";function e(){function e(e,a,o,s,r,t){t.debug("ProposalGridController");var i=this;i.$scope=e,i.$rootScope=a,i.$element=o,i.$location=s,i.$filter=r,i.$log=t,i.init(),i.attachListeners()}e.$inject=["$scope","$rootScope","$element","$location","$filter","$log"],e.prototype.init=function(){},e.prototype.attachListeners=function(){};var a={restrict:"E",templateUrl:"app/components/proposal-grid/proposal-grid.html",scope:{proposals:"="},controller:e,controllerAs:"vm",bindToController:!0};return a}angular.module("dialoga").directive("proposalGrid",e)}(),function(){"use strict";function e(){function e(e,a,o,s,r){r.debug("ProposalCarouselController");var t=this;t.$scope=e,t.$state=a,t.$element=o,t.$timeout=s,t.$log=r,t.init()}e.$inject=["$scope","$state","$element","$timeout","$log"],e.prototype.init=function(){var e=this;if(!e.proposals)throw{name:"NotDefined",message:'The attribute "proposals" is undefined.'};e.activeIndex=0,e.archived=e.archived||!1,e.loading=!1,e.proposalsLength=e.proposals.length},e.prototype.swipeLeft=function(){var e=this;e.activeIndex=e.activeIndex<e.proposalsLength-1?++e.activeIndex:0},e.prototype.swipeRight=function(){var e=this;e.activeIndex=e.activeIndex>0?--e.activeIndex:e.proposalsLength-1},e.prototype.switchProposal=function(e){var a=this;e>=0&&e<a.proposalsLength?a.activeIndex=e:a.$log.warn('[switchProposal] "index" not handled:',e)},e.prototype.showProposalsList=function(){var e=this;e.$scope.$emit("proposal-carousel:showProposalsList")},e.prototype.showContent=function(e){var a=this;a.$state.go("programa",{slug:e.parent.slug,proposal_id:e.proposal_id},{location:!0,reload:!0})};var a={restrict:"E",templateUrl:"app/components/proposal-carousel/proposal-carousel.html",scope:{archived:"=",proposals:"="},controller:e,controllerAs:"vm",bindToController:!0};return a}angular.module("dialoga").directive("proposalCarousel",e)}(),function(){"use strict";function e(){function e(e,a,o,s,r,t,i,n,l,c,p,d,g,u){u.debug("ProposalBoxController");var v=this;v.$scope=e,v.$location=a,v.$rootScope=o,v.$state=s,v.$timeout=r,v.$interval=t,v.$window=i,v.APP=n,v.VOTE_STATUS=l,v.VOTE_OPTIONS=c,v.AuthService=p,v.vcRecaptchaService=g,v.$log=u,v.init(),v.addListeners()}e.$inject=["$scope","$location","$rootScope","$state","$timeout","$interval","$window","APP","VOTE_STATUS","VOTE_OPTIONS","AuthService","DialogaService","vcRecaptchaService","$log"],e.prototype.init=function(){var e=this;e.showVote=e.showVote||!1,e.archived=e.archived||!1,e.focus=e.focus||!1,e.STATE=null,e.errorOnSkip=!1,e.showCaptchaForm=null,e.recaptchaWidgetId=null,e.recaptchaResponse=null,e.voteProposalRedirectURI=null,e.proposalsImg=null;var a=e.topic.slug,o=e.proposal.id;e.voteProposalRedirectURI="state=programa&task=vote-proposal&slug="+a+"&proposal_id="+o,e.proposalsImg=String(e.proposal.body).replace(/<[^>]+>/gm,""),e.ProposalBody="undefined"!==e.proposalsImg?!1:!0},e.prototype.addListeners=function(){var e=this;e.$scope.$on("proposal-box:proposal-loaded",function(a,o){o.success&&(e.STATE=null),o.error&&(e.errorOnSkip=o.error)}),e.$scope.$on("proposal-box:vote-response",function(a,o){o.success&&(e.STATE=e.VOTE_STATUS.SUCCESS),o.error&&(e.STATE=e.VOTE_STATUS.ERROR),401===o.code&&(e.message="Não autorizado."),e.messageCode=o.code}),e.setWidgetId=function(a){e.$log.info("Created widget ID:",a),e.recaptchaWidgetId=a},e.setResponse=function(a){e.$log.debug("Response available",a),e.recaptchaResponse=a},e.cbExpiration=function(){e.$log.debug("cbExpiration")}},e.prototype.canVote=function(){var e=this;return!!e.$rootScope.temporaryToken||e.$rootScope.currentUser&&!!e.$rootScope.currentUser.private_token},e.prototype.submitCaptcha=function(e,a){{var o=this,s=e.target;angular.element(s)}o.sendingCaptcha=!0,o.AuthService.loginCaptcha({g_recaptcha_response:o.recaptchaResponse}).then(function(e){o.$log.debug("register success.data",e),o._oldVoteValue&&(o.vote(o._oldVoteValue),o._oldVoteValue=null),o.showCaptchaForm=!1})["catch"](function(e){o.$log.debug("register error.data",e),o.vcRecaptchaService.reload(o.recaptchaWidgetId),o.sendingCaptchaError={},o.sendingCaptchaError.code=e.status,o.sendingCaptchaError.message=e.message||"Erro ("+e.status+"). Já estamos trabalhando para resolver o problema.<br/>Por favor, tente novamente mais tarde",angular.equals(o.sendingCaptchaError.message,"Internal captcha validation error")&&(o.sendingCaptchaError.message="Erro interno ao tentar validar captcha.<br/><br/>Já estamos trabalhando para resolver o problema.<br/>Por favor, tente novamente mais tarde.")})["finally"](function(){o.sendingCaptcha=!1})},e.prototype.captchaTryAgain=function(){var e=this;e.showCaptchaForm=!0,e.sendingCaptcha=!1,e.sendingCaptchaError=!1,e.message=null,e.vcRecaptchaService.reload(e.recaptchaWidgetId)},e.prototype.vote=function(e){var a=this;return a.archived===!0?void a.$log.info("Article archived. Abort."):(a._oldVoteValue=e,void(a.canVote()?a.doVote?a.doVote({proposal_id:a.proposal.id,value:e}):a.$log.error("No vote function to handler votes"):(a.$log.debug("You cannot vote."),a.showCaptchaForm=!0,angular.element("#captcha_text").focus())))},e.prototype.skip=function(){var e=this;return e.archived===!0?void e.$log.info("Article archived. Abort."):(e.errorOnSkip=!1,e.STATE=e.VOTE_STATUS.LOADING,e.doVote({proposal_id:e.proposal.id,value:e.VOTE_OPTIONS.SKIP}),void e.$log.debug("Sending vote"))},e.prototype.getSocialUrl=function(){var e=this;return e.$state.href("programa",{slug:e.topic.slug,proposal_id:e.proposal.id},{absolute:!0})},e.prototype.getSocialText=function(){var e=this;return e.proposal["abstract"]},e.prototype.getSocialImage=function(){var e=this;return e.$rootScope.basePath+e.topic.image.url};var a={restrict:"E",templateUrl:"app/components/proposal-box/proposal-box.html",scope:{archived:"=",category:"=",doVote:"&",focus:"@",proposal:"=",showVote:"=",topic:"=",location:"="},controller:e,controllerAs:"vm",bindToController:!0};return a}angular.module("dialoga").directive("proposalBox",e)}(),function(){"use strict";function e(){var e={};return e.generate=function(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()},e}angular.module("dialoga").factory("GUID",e)}(),function(){"use strict";function e(){function e(e,a,o,s,r){r.debug("EventListController");var t=this;t.ArticleService=e,t.$scope=a,t.$rootScope=o,t.$state=s,t.$log=r,t.init()}e.$inject=["ArticleService","$scope","$rootScope","$state","$log"],e.prototype.init=function(){var e=this;if(!e.events)throw{name:"NotDefined",message:'The attribute "events" is undefined.'};e.isCollapsed||(e.isCollapsed=!0)},e.prototype.toggleView=function(){var e=this;e.isCollapsed=!e.isCollapsed},e.prototype.subscribe=function(e){var a=this,o=e.id;return a.$rootScope.currentUser?(e._loading=!0,void a.ArticleService.subscribeToEvent(o).then(function(o){a.$log.debug("success",o),o.success===!0&&(e.already_follow=!0),o.success===!1&&o.already_follow===!0&&(e.already_follow=!0)},function(e){a.$log.debug("error",e)},function(e){a.$log.debug("update",e)})["finally"](function(o){a.$log.debug("finally",o),e._loading=!1})):(a.$log.info("User is not logged in. Redirect to Auth page."),void a.$state.go("entrar",{redirect_uri:"state=inicio&task=subscribe&event_id="+o},{location:!0}))};var a={restrict:"E",templateUrl:"app/components/event-list/event-list.html",scope:{events:"=",isCollapsed:"="},controller:e,controllerAs:"vm",bindToController:!0};return a}angular.module("dialoga").directive("eventList",e)}(),function(){"use strict";function e(){function e(e){return"param required: "+e}var a={paramRequired:e};return a}angular.module("dialoga").service("ErrorService",e)}(),function(){"use strict";function e(e,a,o,s,r,t,i){function n(e,a){D.home?e(D.home):s.getArticleById(o.articleId.home,{"fields[]":["id","abstract","body","categories","children","children_count","title","slug","image","url","archived"],content_type:"ProposalsDiscussionPlugin::DiscussionTopic"},function(a){D.home=a,T(a),C(a),k(a),_(a),e(a)},a)}function l(e,a){D.about?e(D.about):s.getArticleById(o.articleId.about,{},function(a){D.about=a,e(D.about)},a)}function c(e,a){D.acessibility?e(D.acessibility):s.getArticleById(o.articleId.acessibility,{},function(a){D.acessibility=a,e(D.acessibility)},a)}function p(e,a){D.terms?e(D.terms):s.getArticleById(o.articleId.terms,{},function(a){D.terms=a,e(D.terms)},a)}function d(e,a){D.themes?e(D.themes):n(function(){if(!D.hasOwnProperty("themes"))throw{name:"NotFound",message:'"themes" is not defined. "article.categories" was loaded?'};e(D.themes)},a)}function g(e,a,o){function s(){for(var o=null,s=D.themes.length-1;s>=0;s--){var r=D.themes[s];if(r&&r.slug&&r.slug===e){o=r;break}}a(o)}D.themes?s(D.themes):d(s,o)}function u(e,a){D.programs?e(D.programs):n(function(){if(!D.hasOwnProperty("programs"))throw{name:"NotFound",message:'"programs" is not defined. "article.children" was handled?'};e(D.programs)},a)}function v(e,a,o){function s(){var o=D.programs.filter(function(a){return angular.equals(a.slug,e)?!0:!1});a(o[0])}D.programs?s():u(s,o)}function m(e,a,o){function s(){var o=D.programs.filter(function(a){var o=a.categories[0];return o&&angular.equals(o.id,e)?!0:!1});a(o)}D.programs?s():u(s,o)}function h(e,a,s){if(D.programsRandom)a(D.programsRandom);else{var t=!!D.programs,i=U.serviceDialoga+"random_topics/"+o.articleId.home,n=null;n=t?["id","title","slug"]:[];var l=angular.extend({"fields[]":n},e);r.get(i,{params:l}).then(function(e){I(t,e,a)})["catch"](function(e){s(e)})}}function f(e){var a=angular.extend({},e);return s.getEvents(o.communityId,a)}function b(e){return s.getResponseByProposalId(e)}function y(){var e=o.articleId.faq,a={};return s.getArtcilesByParentId(e,a)}function w(e,a,o){s.searchTopics({query:e},a,o)}function P(e,a,o){s.searchProposals(e,a,o)}function $(e){return s.sendContactForm(o.communityId,e)}function S(e,a){return angular.isArray(e)?e.filter(function(e){return e.parent?e.parent.categories&&0!==e.parent.categories.length?e.parent.categories[0].slug===a:(i.warn("Proposal parent has no categories."),!1):(i.warn("Proposal without a parent."),!1)}):(i.error("Input is not a Array."),[])}function A(e,a){return angular.isArray(e)?e.filter(function(e){return e.parent&&e.parent.id?e.parent.id===a:(i.warn("Proposal has no parent."),!1)}):(i.error("Input is not a Array."),[])}function T(e){var o=e.article["abstract"];o=F(o),o=B(o),e.article["abstract"]=o,e.article.abstractTrusted=a.trustAsHtml(o)}function C(e){e.article.slug||(e.article.slug=t.slugify(e.article.title));for(var a=e.article.children.length-1;a>=0;a--){var o=e.article.children[a];o.slug||(o.slug=t.slugify(o.title))}}function k(e){D.hasOwnProperty("themes")||(D.themes=e.article.categories),R(e),x(e)}function x(e){for(var a=e.article.children,o=e.article.categories,s=o.length-1;s>=0;s--){for(var r=o[s],t=a.length-1;t>=0;t--){var i=a[t];if(i.categories&&i.categories.length>0&&angular.equals(i.categories[0].slug,r.slug)&&i.archived){r.archived=!0;break}}r.archived||(r.archived=!1)}}function _(e){D.hasOwnProperty("programs")||(D.programs=e.article.children,D.programs_count=e.article.children_count),E(D.programs)}function E(a){if(angular.isArray(a))for(var o=null,s=null,r=a.length-1;r>=0;r--)o=a[r],o.summary||(s=o["abstract"].split("<hr />"),o.summary=e.stripHtml(s[0]).trim(),s.length>1&&(o.summaryExtended=s[1].trim()))}function R(e){e.article.categories}function I(e,a,o){if(e){for(var s=[],r=a.articles,t=D.programs.length-1;t>=0;t--)for(var i=D.programs[t],n=r.length-1;n>=0;n--){var l=r[n];l.id===i.id&&s.push(i)}a.articles=s}o(a)}function F(e){var a='<iframe src="',o=e.indexOf(a);if(-1===o)return e;var s=o+a.length,r=e.indexOf('"',s),t=e.substring(s,r),i=t,n=-1!==t.indexOf("?")?"&":"";return-1===t.indexOf("enablejsapi=1")&&(i+=n+"enablejsapi=1",n="&"),-1===t.indexOf("wmode=opaque")&&(i+=n+"wmode=opaque"),e=e.replace(t,i)}function B(e){var a='style="',o=e.indexOf("<iframe"),s=e.indexOf('style="',o);if(-1===s)return e;var r=s+a.length,t=e.indexOf('"',r),i=e.substring(r,t);return e.replace(i,"")}i.debug("DialogaService");var U=angular.extend({},s);U.serviceDialoga=e.basePath+"/api/v1/dialoga_plugin/",U.getHome=n,U.getAbout=l,U.getAcessibility=c,U.getTerms=p,U.getThemes=d,U.getThemeBySlug=g,U.getPrograms=u,U.getProgramBySlug=v,U.getProgramsByThemeId=m,U.getProgramsRandom=h,U.getEvents=f,U.getResponseByProposalId=b,U.getQuestions=y,U.searchPrograms=w,U.searchProposals=P,U.sendContactForm=$,U.filterProposalsByCategorySlug=S,U.filterProposalsByProgramId=A;var D={};return U}e.$inject=["$rootScope","$sce","API","ArticleService","UtilService","Slug","$log"],angular.module("dialoga").factory("DialogaService",e)}(),function(){"use strict";function e(){function e(e,a,o,s){s.debug("CategoryListController");var r=this;r.$rootScope=e,r.$location=a,r.$element=o,r.$log=s,r.init()}e.$inject=["$rootScope","$location","$element","$log"],e.prototype.init=function(){var e=this;e.isRankingPage="/ranking"===e.$location.path(),e.showCloseBtn=!0,e.isRankingPage&&(e.showCloseBtn=!1),e.isCollapsed=!1},e.prototype._disableUnselect=function(){var e=this;return e.disableUnselect&&"true"===e.disableUnselect?!0:!1},e.prototype.selectCategory=function(e,a){var o=this;if(a.stopPropagation(),e!==o.selectedCategory)o.selectedCategory=e,o.isRankingPage&&(o._getListGroup().slideUp(),o.isCollapsed=!0);else{if(o._disableUnselect())return void o.$log.info("Unselect is disabled.");o.selectedCategory=null}o.$rootScope.$broadcast("change-selectedCategory",o.selectedCategory)},e.prototype.toogleList=function(){var e=this;e.isCollapsed?e._getListGroup().slideDown():e._getListGroup().slideUp(),e.isCollapsed=!e.isCollapsed},e.prototype._getListGroup=function(){var e=this;return e._listGroup||(e._listGroup=e.$element.find(".js-list-group")),e._listGroup};var a={restrict:"E",templateUrl:"app/components/category-list/category-list.html",scope:{categories:"=",selectedCategory:"=",disableUnselect:"@"},controller:e,controllerAs:"vm",bindToController:!0};return a}angular.module("dialoga").directive("categoryList",e)}(),function(){"use strict";function e(){function e(e,a,o,s){s.debug("cadastroPropostaController");var r=this;r.$scope=e,r.$element=a,r.$timeout=o,r.$log=s,r.init()}function a(){var e=this;e.popover=angular.element(e.$element.find(".btn-question")),e.popover.popover({html:!0,placement:"bottom",animation:!0,title:"Regra de posição das propostas",content:"<p>Poderia escrever a sua proposta em um texto simples e breve?</p><br><p>Sua proposta passará pela fase de moderação. Assim que ela estiver pronta para compartilhar, avisaremos você."})}e.$inject=["$scope","$element","$timeout","$log"],e.prototype.init=function(){var e=this;e.$timeout(function(){a.call(e)},200)},e.prototype.sendProposal=function(e){var a=this;a.$scope.$emit("cadastro-proposa:startSendProposal",e)};var o={restrict:"E",templateUrl:"app/components/cadastro-proposta/cadastro-proposta.html",scope:{program:"="},controller:e,controllerAs:"vm",bindToController:!0};return o}angular.module("dialoga").directive("cadastroProposta",e)}(),function(){"use strict";function e(){function e(e,a,o,s,r){r.debug("AuthUserController");var t=this;t.$scope=e,t.AuthService=a,t.Session=o,t.AUTH_EVENTS=s,t.$log=r,t.init()}e.$inject=["$scope","AuthService","Session","AUTH_EVENTS","$log"],e.prototype.init=function(){var e=this;e.currentUser=e.Session.getCurrentUser(),e.$scope.$on(e.AUTH_EVENTS.loginSuccess,function(){e.currentUser=e.Session.getCurrentUser()}),e.$scope.$on(e.AUTH_EVENTS.logoutSuccess,function(){e.currentUser=e.Session.getCurrentUser()})},e.prototype.onClickLogout=function(){var e=this;e.AuthService.logout()};var a={restrict:"E",templateUrl:"app/components/auth-user/auth-user.html",controller:e,controllerAs:"vm",bindToController:!0};return a}angular.module("dialoga").directive("authUser",e)}(),function(){"use strict";function e(e,a,o,s,r,t,i,n){function l(t){var l=i.host+"/api/v1/register";n.debug("data",t);var c="";return c+="name="+t.name,c+="&email="+t.email,c+="&login="+t.email.substr(0,t.email.indexOf("@")).toLowerCase().replace(/\W+/g,"").substr(0,25)+"-"+Date.now(),c+="&email="+t.email,c+="&password="+t.password,c+="&password_confirmation="+t.password_confirmation,c+="&user_terms_accepted="+t.user_terms_accepted,c+="&g_recaptcha_response="+t.g_recaptcha_response,a.post(l,c).then(function(e){n.debug("AuthService.register [SUCCESS] response",e);var a=e.data;if(a.user&&a.user.activated===!1,a.user&&a.user.activated===!0){var t=s.create(a);o.currentUser=t,o.$broadcast(r.loginSuccess,t)}return o.$broadcast(r.registerSuccess,a.user),e},function(a){return n.debug("AuthService.register [FAIL] response",a),o.$broadcast(r.registerFailed,a),e.reject(a)})}function c(s){var t=i.host+"/api/v1/activate",l="activation_code="+s;return a.patch(t,l).then(function(e){return n.debug("AuthService.activate [SUCCESS] response",e),o.$broadcast(r.activateSuccess,e),e},function(a){return n.debug("AuthService.activate [FAIL] response",a),o.$broadcast(r.activateFailed),e.reject(a)})}function p(s){var t=i.host+"/api/v1/resend_activation_code",l=["value="+s.login,"g_recaptcha_response="+s.g_recaptcha_response].join("&");return t+="?"+l,a.post(t).then(function(e){return n.debug("AuthService.resendConfirmation [SUCCESS] response",e),o.$broadcast(r.resendConfirmationSuccess,e),e},function(a){return n.debug("AuthService.resendConfirmation [FAIL] response",a),o.$broadcast(r.resendConfirmationFailed),e.reject(a)})}function d(s){var t=i.host+"/api/v1/new_password",l="code="+s.code;return l+="&password="+s.newPassword,l+="&password_confirmation="+s.newPasswordConfirmation,a.patch(t+"?"+l).then(function(e){return n.debug("AuthService.changePassword [SUCCESS] response",e),o.$broadcast(r.changePasswordSuccess,e),e},function(a){return n.debug("AuthService.changePassword [FAIL] response",a),o.$broadcast(r.changePasswordFailed),e.reject(a)})}function g(s){var t=i.host+"/api/v1/forgot_password",l=["value="+s.login,"g_recaptcha_response="+s.g_recaptcha_response].join("&");return a.post(t,l).then(function(e){return n.debug("AuthService.forgotPassword [SUCCESS] response",e),o.$broadcast(r.forgotPasswordSuccess,e),e},function(a){return n.debug("AuthService.forgotPassword [FAIL] response",a),o.$broadcast(r.forgotPasswordFailed),e.reject(a)})}function u(t){var l=i.host+"/api/v1/login",c="login="+t.username+"&password="+t.password;return a.post(l,c).then(function(e){n.debug("AuthService.login [SUCCESS] response",e);var a=s.create(e.data);return o.currentUser=a,o.$broadcast(r.loginSuccess,a),a},function(a){return n.debug("AuthService.login [FAIL] response",a),o.$broadcast(r.loginFailed),e.reject(a)})}function v(r){var t=i.host+"/api/v1/login-captcha",l=angular.element.param(r);return a.post(t,l).then(function(e){n.debug("AuthService.loginCaptcha [SUCCESS] response",e);var a=e.data.private_token;return s.setTemporaryToken(a),o.temporaryToken=a,a},function(a){return e.reject(a.data)})}function m(){s.destroy(),o.currentUser=void 0,o.$broadcast(r.logoutSuccess)}function h(){return!!s.userId}function f(e){return angular.isArray(e)||(e=[e]),b.isAuthenticated()&&-1!==e.indexOf(s.userRole)}var b={register:l,activate:c,resendConfirmation:p,changePassword:d,forgotPassword:g,login:u,loginCaptcha:v,logout:m,isAuthenticated:h,isAuthorized:f};return n.debug("AuthService",b),
b}function a(e,a){var o={};return o.create=function(o){return e.currentUser=o.user,a.debug("User session created.",e.currentUser),e.currentUser},o.destroy=function(){delete e.currentUser,a.debug("User session destroyed.")},o.getCurrentUser=function(){return e.currentUser},o.setTemporaryToken=function(a){e.temporaryToken=a},o.getTemporaryToken=function(){return e.temporaryToken},o}function o(e,a,o){return{responseError:function(s){return e.$broadcast({401:o.notAuthenticated,403:o.notAuthorized,419:o.sessionTimeout,440:o.sessionTimeout}[s.status],s),a.reject(s)}}}e.$inject=["$q","$http","$rootScope","Session","AUTH_EVENTS","API","PATH","$log"],a.$inject=["$localStorage","$log"],o.$inject=["$rootScope","$q","AUTH_EVENTS"],angular.module("dialoga").factory("Session",a).factory("AuthService",e).factory("AuthInterceptor",o)}(),function(){"use strict";function e(e,a,o,s,r,t,i,n){function l(e,a,o,s){var t=I.apiArticles+e,i=angular.extend({},a);r.get(t,{params:i}).then(function(e){o(e)})["catch"](function(e){s(e)})}function c(e,a,o,s){l(e,a,o,s)}function p(){throw{name:"NotImplementedYet",message:'The service "getArticleBySlug" is not implemented yet.'}}function d(e,a){var o=I.apiArticles+e+"/children",s=angular.extend({"fields[]":["id","slug","title","body"]},a);return r.get(o,{params:s})}function g(e,a,o,s){var t=I.apiArticles+e,i=angular.extend({"fields[]":["id","categories"]},a);r.get(t,{params:i}).then(function(e){o(e)})["catch"](function(e){s(e)})}function u(){throw{name:"NotImplementedYet",message:'The service "getArticleBySlug" is not implemented yet.'}}function v(e,a,o){m(s.articleId.home,e,a,o)}function m(e,a,o,s){var t=I.apiArticles+e+"/children",i=angular.extend({"fields[]":["id","categories"]},a);r.get(t,{params:i}).then(function(e){o(e)})["catch"](function(e){s(e)})}function h(e,a,o){var s=angular.extend({query:""},e);x(s,a,o)}function f(e,a,o,s){var t=I.apiArticles+e,i=angular.extend({limit:"1",content_type:"ProposalsDiscussionPlugin::Proposal"},a);r.get(t,{params:i}).then(function(e){_(e),o(e)})["catch"](function(e){s(e)})}function b(e,a,o,s){var t=I.apiProposals+e+"/ranking?per_page=5&page=1",i=angular.extend({limit:"1",content_type:"ProposalsDiscussionPlugin::Proposal"},a);r.get(t,{params:i}).then(function(e){E(e),o(e)})["catch"](function(e){s(e)})}function y(e,a,o,s){f(e+"/children",a,o,s)}function w(e,a,o,s){b(e,a,o,s)}function P(e){var a=I.apiArticles+e+"/children?content_type=ProposalsDiscussionPlugin::Response&limit=1";return r.get(a)}function $(e,a,s,t,n){if(o.currentUser){var l=I.apiProposals+a+"/propose",c=[];c.push("article%5Babstract%5D="+e),c.push("article%5Bcategory_ids%5D%5B%5D="+s),c.push("article%5Btype%5D=ProposalsDiscussionPlugin%3A%3AProposal"),c.push("content_type=ProposalsDiscussionPlugin%3A%3AProposal"),c.push("private_token="+o.currentUser.private_token),c.push("fields=id"),c.push("article[name]=article_"+i.generate()),c=c.join("&"),r.post(l,c).then(function(e){t(e)})["catch"](function(e){n(e)})}else n({message:"Usuário não logado."})}function S(e,a){var s=I.apiArticles+e+"/vote",t=null;t=o.currentUser&&o.currentUser.private_token?o.currentUser.private_token:o.temporaryToken;var i=angular.extend({private_token:t},a),n=angular.element.param(i);return r.post(s,n)}function A(e,a){var o=I.apiCommunities+e+"/articles",s=angular.extend({"fields[]":["id","title","abstract","body","setting","presenter","created_at","update_at","start_date","end_date","followers_count","image","url"],content_type:"Event"},a);return r.get(o,{params:s}).then(function(e){return R(e),e})}function T(e){var a=I.apiArticles+e+"/follow",s="private_token="+o.currentUser.private_token;return r.post(a,s)}function C(e,a){var o=I.apiCommunities+e+"/contact",s=["contact[name]="+a.name,"contact[email]="+a.email,"contact[subject]="+a.subject,"contact[message]="+a.message].join("&");return r.post(o,s)}function k(e,a,o){var s=I.apiSearch+"article",t=angular.extend({type:"ProposalsDiscussionPlugin::Topic"},e);r.get(s,{params:t}).then(function(e){a(e)})["catch"](function(e){o(e)})}function x(e,a,o){var s=I.apiSearch+"article",t=angular.extend({page:1,per_page:10,type:"ProposalsDiscussionPlugin::Proposal","fields[]":["id","abstract","hits","ranking_position","votes_against","votes_count","votes_for","parent","categories","slug","url","image","title","archived"]},e);r.get(s,{params:t}).then(function(e){_(e),a(e)})["catch"](function(e){o(e)})}function _(e){!e.articles&&e.article&&(e.articles=[e.article]);for(var a=e.articles,o=a.length-1;o>=0;o--){var s=a[o];s.parent&&!s.parent.slug&&(s.parent.slug=t.slugify(s.parent.title))}}function E(e){!e.proposals&&e.proposals&&(e.proposals=[e.proposals]);for(var a=e.proposals,o=a.length-1;o>=0;o--){var s=a[o];s.parent&&!s.parent.slug&&(s.parent.slug=t.slugify(s.parent.title))}}function R(e){!e.articles&&e.article&&(e.articles=[e.article],e.article=null);for(var a=(new Date).getTime(),o=null,s=e.articles,r=[],t=s.length-1;t>=0;t--){var i=s[t];i.end_date&&(o=new Date(i.end_date)),o.getTime()>=a&&r.push(i)}e.articles=r}n.debug("ArticleService");var I={apiArticles:o.basePath+"/api/v1/articles/",apiCommunities:o.basePath+"/api/v1/communities/",apiProposals:o.basePath+"/api/v1/proposals_discussion_plugin/",apiSearch:o.basePath+"/api/v1/search/",getArticleById:c,getArticleBySlug:p,getArtcilesByParentId:d,getCategories:g,getCategoryBySlug:u,getTopics:v,getTopicById:m,getProposals:h,getProposalById:f,getProposalsByTopicId:y,getProposalsByTopicIdRanked:w,getResponseByProposalId:P,createProposal:$,voteProposal:S,getEvents:A,subscribeToEvent:T,searchTopics:k,searchProposals:x,sendContactForm:C};return I}e.$inject=["$http","$q","$rootScope","API","UtilService","Slug","GUID","$log"],angular.module("dialoga").factory("ArticleService",e)}(),function(){"use strict";function e(){function e(e,a,o){o.debug("ArticlePreviewController");var s=this;s.$state=e,s.PATH=a,s.$log=o,s.init()}e.$inject=["$state","PATH","$log"],e.prototype.init=function(){var e=this;if(!e.article.slug)throw{name:"NotDefined",message:'The attribute "slug" is undefined.'};e.category||(e.category=e.article.categories[0]),e.banner||(e.banner={src:e.PATH.image+e.article.image.url,alt:"Imagem de destaque do programa"})},e.prototype.showContent=function(){var e=this;e.$state.go("conheca-o-programa",{slug:e.article.slug},{location:!0})};var a={restrict:"E",templateUrl:"app/components/article-preview/article-preview.html",scope:{article:"="},controller:e,controllerAs:"vm",bindToController:!0};return a}angular.module("dialoga").directive("articlePreview",e)}(),function(){"use strict";function e(){function e(e,a,o,s,r,t){t.debug("ArticleGridController");var i=this;i.$scope=e,i.$rootScope=a,i.$element=o,i.$location=s,i.$filter=r,i.$log=t,i.defaultLimit=6,i.init(),i.attachListeners()}e.$inject=["$scope","$rootScope","$element","$location","$filter","$log"],e.prototype.init=function(){},e.prototype.attachListeners=function(){};var a={restrict:"E",templateUrl:"app/components/article-grid/article-grid.html",scope:{articles:"="},controller:e,controllerAs:"vm",bindToController:!0};return a}angular.module("dialoga").directive("articleGrid",e)}(),function(){"use strict";function e(){function e(e,a,o){o.debug("ArticleBoxController");var s=this;s.$state=e,s.PATH=a,s.$log=o,s.init()}e.$inject=["$state","PATH","$log"],e.prototype.init=function(){var e=this;if(!e.article.slug)throw{name:"NotDefined",message:'The attribute "slug" is undefined.'};if(!e.category)throw{name:"NotDefined",message:'The attribute "category" is undefined.'};!e.image&&e.article.image&&(e.image={src:e.PATH.image+e.article.image.url,alt:"Imagem de destaque do conteúdo"})},e.prototype.showContent=function(){var e=this;e.$state.go("programa",{slug:e.article.slug},{location:!0})};var a={restrict:"E",templateUrl:"app/components/article-box/article-box.html",scope:{article:"=",category:"="},controller:e,controllerAs:"vm",bindToController:!0};return a}angular.module("dialoga").directive("articleBox",e)}(),function(){"use strict";function e(){function e(e,a,o,s){s.debug("ArticleBarController");var r=this;r.$scope=e,r.$rootScope=a,r.$state=o,r.theme="blue",r.currentCategory=r.category,r.$scope.$watch("vm.currentCategory",function(e,a){e!==a&&r.$state.go("inicio",{tema:e.slug},{location:!0})}),r.goBack=function(){var e=this,a=e.$rootScope.$previousState;a&&a.state.name?e.$state.go(a.state.name,a.params):e.$state.go("inicio")}}e.$inject=["$scope","$rootScope","$state","$log"];var a={restrict:"E",templateUrl:"app/components/article-bar/article-bar.html",scope:{category:"=",categories:"="},controller:e,controllerAs:"vm",bindToController:!0};return a}angular.module("dialoga").directive("articleBar",e)}(),function(){"use strict";function e(){function e(e,a){var o=this;o.$scope=e,o.$log=a,o.init(),o.attachListeners(),a.debug("AppPaginatorController")}e.$inject=["$scope","$log"],e.prototype.init=function(){var e=this;e.page=e.page||1,e.perPage=e.perPage||20,e.total=e.total||0,e.calcArrayPages()},e.prototype.calcArrayPages=function(){var e=this;e.pages=e.total%e.perPage===0?e.total/e.perPage:e.total/e.perPage+1,e.arraypages=new Array(Math.floor(e.pages))},e.prototype.attachListeners=function(){var e=this;e.$scope.$watch("vm.perPage",function(){e.calcArrayPages()}),e.$scope.$watch("vm.total",function(){e.calcArrayPages()})},e.prototype.showPage=function(e){var a=this;1>e&&(e=1),e>a.pages&&(e=a.pages),a.changePage&&a.changePage({pageIndex:e})};var a={restrict:"E",templateUrl:"app/components/app-paginator/app-paginator.html",scope:{page:"=",perPage:"=",total:"=",changePage:"&"},controller:e,controllerAs:"vm",bindToController:!0};return a}angular.module("dialoga").directive("appPaginator",e)}(),function(){"use strict";function e(){function e(e,a){a.debug("NavbarController");var o=this;o.AuthService=e,o.$log=a}e.$inject=["AuthService","$log"],e.prototype.onClickLogout=function(){var e=this;e.AuthService.logout()};var a={restrict:"E",templateUrl:"app/components/app-navbar/app-navbar.html",scope:{creationDate:"="},controller:e,controllerAs:"vm",bindToController:!0};return a}angular.module("dialoga").directive("appNavbar",e)}(),function(){"use strict";function e(){var e={restrict:"E",templateUrl:"app/components/app-header/app-header.html"};return e}angular.module("dialoga").directive("appHeader",e)}(),function(){"use strict";function e(){var e={restrict:"E",templateUrl:"app/components/app-footer/app-footer.html"};return e}angular.module("dialoga").directive("appFooter",e)}(),function(){"use strict";function e(){var e={restrict:"E",templateUrl:"app/components/a11y-bar/a11y-bar.html"};return e}angular.module("dialoga").directive("a11yBar",e)}(),function(){"use strict";function e(e,a,o,s,r,t){function i(e){var a=angular.element(document).find("body");angular.element(a).toggleClass("contraste",!!e)}var n="true"===s.get("dialoga_contraste");i(n),e.actionContrast=function(){n=!n,s.put("dialoga_contraste",n),i(n)},e.focusOn=function(a,o){var s=angular.element(a);e.scrollTo(s,o),s.attr("tabIndex",-1).focus()},e.focusMainContent=function(o){var s=document.querySelector('[role="main"]');s?a(function(){e.scrollTo(angular.element(s),o)},90):t.info('role="main" not found.')},e.focusOnSearch=function(a){a&&a.preventDefault();var o=angular.element('input[type="search"]:visible');if(o&&o.length>0)angular.element("html,body").animate({scrollTop:o.offset().top},"fast"),o.focus();else{var s=r.go("inicio",{reload:!0});s.then(function(){e.findElAsyncAndFocus('input[type="search"]:visible')})}},e.findElAsyncAndFocus=function(a,o,s){return e.findElAsync(a,function(e){angular.element("html,body").animate({scrollTop:e.offset().top},"fast"),e.focus()},o,s)},e.findElAsync=function(e,a,s,r){s=s||200,r=r||20;var i=0,n=null;n=o(function(){var s=angular.element(e);s&&s.length>0?(a(s),i=r):t.debug("[findElAsync] element not found."),i++,i>=r&&(o.cancel(n),n=void 0)},s)},e.scrollTo=function(e,a){a&&a.preventDefault(),angular.isString(e)&&(e=angular.element(e)),angular.element("html,body").animate({scrollTop:e.offset().top},"fast")},t.debug("[RUN] Accessibility end.")}function a(e,a,o,s,r,t){e.$on("$stateChangeStart",function(a,o){if(!o.data||!o.data.authorizedRoles)return void t.debug("[RUN] Auth: public url/state");var i=o.data.authorizedRoles;r.isAuthorized(i)||(a.preventDefault(),r.isAuthenticated()?(t.debug("user is not allowed"),e.$broadcast(s.notAuthorized)):(t.debug("user is not logged in"),e.$broadcast(s.notAuthenticated)))}),e.currentUser=a.currentUser,e.temporaryToken=a.temporaryToken,t.debug("[RUN] Auth end.")}function o(e,a,o){var s="fdbcdc7a0b754ee7ae9d865fda740f17";e.initCaptcha=function(r){var t=angular.element(r);if(t.data("captcha"))return void a.info("Captcha already initialized. Abort.");var i=new e.captcha_serpro_gov_br;t.val(""),t.data("captcha",i),i.clienteId=s,i.criarUI(r,"css","serpro_captcha_component_",o.generate())},e.reloadCaptcha=function(e){var a=angular.element(e);a.data("captcha")&&a.data("captcha").recarregar()},a.debug("runCaptcha")}function s(e){var a=20;e.$previousState=e.$previousState||[],e.$on("$stateChangeSuccess",function(o,s,r,t,i){e.$previousState.push({state:t,params:i}),e.$previousState.splice(-a,a)}),e.goBack=e.goBack||function(){return e.$previousState.pop()}}function r(e,a){a(document).ready(function(){e({bgColor:"#f25648",color:"#ffffff",lowerThan:"boxShadow",languagePath:""})})}function t(e,a,o,s){e.basePath=a.host,s.debug("[RUN] Path end.")}function i(e,a,o){e.oauthClientAction=function(a){var s=e.open(a,"_blank"),r=o(function(){try{s.closed||s.postMessage({message:"requestOauthClientPluginResult"},"*")}catch(e){s.closed&&(o.cancel(r),r=void 0)}},300)},e.addEventListener("message",function(e){"oauthClientPluginResult"===e.data.message&&(a.$broadcast("oauthClientPluginResult",e),e.source.close())})}function n(e,a){e.$on("change-selectedCategory",function(){var o=a(".section--articles .header");o&&o.length>0&&e.scrollTo(o)})}function l(e){e.stripHtml=function(e){return String(e).replace(/<[^>]+>/gm,"")}}function c(e){e.debug("[RUN] Block end.")}e.$inject=["$rootScope","$timeout","$interval","$cookies","$state","$log"],a.$inject=["$rootScope","$localStorage","USER_ROLES","AUTH_EVENTS","AuthService","$log"],o.$inject=["$window","$log","GUID"],s.$inject=["$rootScope"],r.$inject=["outdatedBrowser","jQuery"],t.$inject=["$rootScope","PATH","$window","$log"],i.$inject=["$window","$rootScope","$interval"],n.$inject=["$rootScope","jQuery"],l.$inject=["$rootScope"],c.$inject=["$log"],angular.module("dialoga").run(e).run(a).run(o).run(s).run(r).run(t).run(i).run(n).run(l).run(c)}(),function(){"use strict";function e(e,a){e.state("inicio",{url:"/?tema&filtro&scroll",ncyBreadcrumb:{label:"Home"},reloadOnSearch:!1,views:{main:{templateUrl:"app/pages/inicio/inicio.html",controller:"InicioPageController",controllerAs:"pageInicio"}}}).state("entrar",{url:"/entrar?redirect_uri&message",ncyBreadcrumb:{label:"Entrar"},views:{main:{templateUrl:"app/pages/auth/signin.html",controller:"AuthPageController",controllerAs:"pageAuth"}}}).state("reenviar-email",{url:"/reenviar-email",ncyBreadcrumb:{label:"Re-enviar e-mail de confirmação"},views:{main:{templateUrl:"app/pages/auth/resend-confirmation.html",controller:"AuthPageController",controllerAs:"pageAuth"}}}).state("ativar",{url:"/ativar/:activation_code",ncyBreadcrumb:{label:"Ativar e-mail"},views:{main:{templateUrl:"app/pages/auth/active.html",controller:"ActivePageController",controllerAs:"pageActive"}}}).state("recuperar",{url:"/recuperar",ncyBreadcrumb:{label:"Recuperar senha"},views:{main:{templateUrl:"app/pages/auth/recover.html",controller:"AuthPageController",controllerAs:"pageAuth"}}}).state("nova-senha",{url:"/nova-senha/:token",ncyBreadcrumb:{label:"Nova senha"},views:{main:{templateUrl:"app/pages/auth/new-password.html",controller:"NewPasswordPageController",controllerAs:"pageNewPassword"}}}).state("cadastrar",{url:"/cadastrar",ncyBreadcrumb:{label:"Cadastrar"},views:{main:{templateUrl:"app/pages/auth/signup.html",controller:"AuthPageController",controllerAs:"pageSignup"}}}).state("programas",{url:"/programas?tema&filtro&task",reloadOnSearch:!1,ncyBreadcrumb:{label:"Programas"},views:{main:{templateUrl:"app/pages/programas/programas.html",controller:"ProgramasPageController",controllerAs:"pageProgramas"}}}).state("programa",{url:"/programa/:slug?proposal_id&task",reloadOnSearch:!1,ncyBreadcrumb:{label:"{{$parent.$root.contentTitle}}",parent:"programas"},views:{main:{templateUrl:"app/pages/programas/programa.html",controller:"ProgramaPageController",controllerAs:"pagePrograma"}}}).state("propostas",{url:"/propostas?tema&filtro",reloadOnSearch:!1,ncyBreadcrumb:{label:"Propostas"},views:{main:{templateUrl:"app/pages/propostas/propostas.html",controller:"PropostasPageController",controllerAs:"pagePropostas"}}}).state("ranking",{url:"/ranking?tema&programa&filtro",reloadOnSearch:!1,ncyBreadcrumb:{label:"Ranking"},views:{main:{templateUrl:"app/pages/ranking/ranking.html",controller:"RankingPageController",controllerAs:"pageRanking"}}}).state("duvidas",{url:"/duvidas",ncyBreadcrumb:{label:"Dúvidas"},views:{main:{templateUrl:"app/pages/duvidas/duvidas.html",controller:"DuvidasPageController",controllerAs:"pageDuvidas"}}}).state("respostas",{url:"/respostas?tema&filtro",reloadOnSearch:!1,ncyBreadcrumb:{label:"Respostas"},views:{main:{templateUrl:"app/pages/respostas/respostas.html",controller:"RespostasPageController",controllerAs:"pageRespostas"}}}).state("sobre",{url:"/sobre",ncyBreadcrumb:{label:"Sobre"},views:{main:{templateUrl:"app/pages/article/article.html",controller:"ArticlePageController",controllerAs:"pageArticle"}}}).state("acessibilidade",{url:"/acessibilidade",ncyBreadcrumb:{label:"Acessibilidade"},views:{main:{templateUrl:"app/pages/article/article.html",controller:"ArticlePageController",controllerAs:"pageArticle"}}}).state("mapa-do-site",{url:"/mapa-do-site",ncyBreadcrumb:{label:"Mapa do Site"},views:{main:{templateUrl:"app/pages/mapa-do-site/mapa-do-site.html",controller:"SitemapPageController",controllerAs:"sitemap"}}}).state("erro",{url:"/erro",ncyBreadcrumb:{label:"Erro"},views:{main:{templateUrl:"app/pages/erro/erro.html"}}}),a.otherwise("/erro")}e.$inject=["$stateProvider","$urlRouterProvider"],angular.module("dialoga").config(e)}(),function(){"use strict";angular.module("dialoga").constant("PATH",{host:"http://hom.dialoga.gov.br",image:"http://hom.login.dialoga.gov.br"}).constant("APP",{facebook_app_id:"1",google_app_id:"4",recaptcha_key:"6LeDTRUTAAAAAA1VMOmIa2oqqWaPfXsv7J90r_49"}).constant("API",{token:null,articleId:{home:"103358",about:"108073",acessibility:"117319",terms:"107880",faq:"117322"},communityId:"19195"}).constant("AUTH_EVENTS",{loginSuccess:"auth-login-success",loginFailed:"auth-login-failed",registerSuccess:"auth-register-success",registerFailed:"auth-register-failed",activateSuccess:"auth-activate-success",activateFailed:"auth-activate-failed",resendConfirmationSuccess:"auth-resend-confirmation-success",resendConfirmationFailed:"auth-resend-confirmation-failed",changePasswordSuccess:"auth-changePassword-success",changePasswordFailed:"auth-changePassword-failed",forgotPassowrdSuccess:"auth-forgotPassowrd-success",forgotPassowrdFailed:"auth-forgotPassowrd-failed",sessionTimeout:"auth-session-timeout",notAuthenticated:"auth-not-authenticated",notAuthorized:"auth-not-authorized"}).constant("VOTE_STATUS",{SUCCESS:1,ERROR:2,LOADING:4,LOADED:8}).constant("VOTE_OPTIONS",{UP:1,DOWN:-1,SKIP:0}).constant("PROPOSAL_STATUS",{SUCCESS:1,ERROR:2,LOADING:4,LOADED:8,SENDING:16,SENT:32}).constant("USER_ROLES",{all:"*",admin:"admin",restrict:"restrict",visitor:"visitor"}).constant("Modernizr",window.Modernizr).constant("jQuery",window.jQuery).constant("outdatedBrowser",window.outdatedBrowser)}(),function(){"use strict";function e(e){e.defaults.headers.common={},e.defaults.headers.post={},e.defaults.headers.put={},e.defaults.headers.patch={},e.defaults.headers.post={"Content-Type":"application/x-www-form-urlencoded; charset=utf-8"},e.defaults.transformRequest=!1,e.interceptors.push(["$injector",function(e){return e.get("AuthInterceptor")}])}function a(e,a){a.history&&e.html5Mode(!0)}function o(e){e.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|tel|file|whatsapp):/)}function s(e){e.setOptions({prefixStateName:"inicio",templateUrl:"app/components/breadcrumb/template.html"})}function r(e){e.debugEnabled(!0)}e.$inject=["$httpProvider"],a.$inject=["$locationProvider","Modernizr"],o.$inject=["$compileProvider"],s.$inject=["$breadcrumbProvider"],r.$inject=["$logProvider"],angular.module("dialoga").config(e).config(a).config(o).config(s).config(r)}(),angular.module("dialoga").run(["$templateCache",function(e){e.put("app/components/a11y-bar/a11y-bar.html",'<div class="a11y-bar"><div class="container"><div class="row"><div class="col-sm-6"><ul class="skip-links list-inline list-unstyled"><li><a class="color-theme-common-fg" accesskey="1" href="#content" id="skip-to-content" ng-click="focusOn(\'#content\', $event)">Ir para o conteúdo <span class="color-theme-common-bg">1</span></a></li><li><a class="color-theme-common-fg" accesskey="2" href="#navigation" id="skip-to-navigation" ng-click="focusOn(\'#navigation\', $event)">Ir para o menu <span class="color-theme-common-bg">2</span></a></li><li><a class="color-theme-common-fg" accesskey="3" id="skip-to-search" href="#search" ng-click="focusOnSearch($event)">Ir para a busca <span class="color-theme-common-bg">3</span></a></li></ul></div><div class="col-sm-6"><ul class="action-links list-inline list-unstyled"><li><a id="siteaction-accessibility" class="color-theme-common-fg" ui-sref="acessibilidade" title="Leia sobre a acessibilidade do Dialoga Brasil" accesskey="5">Acessibilidade</a></li><li><a id="siteaction-contrast" class="color-theme-common-fg" href="#" title="Alto Contraste" accesskey="6" ng-click="actionContrast()">Alto Contraste</a></li><li><a id="siteaction-sitemap" class="color-theme-common-fg" ui-sref="mapa-do-site" title="Mapa do Site" accesskey="7" ng-click="actionSitemap()">Mapa do Site</a></li></ul></div></div></div></div>'),e.put("app/components/app-footer/app-footer.html",'<div id="footer"><div class="container"><div class="row"><div class="col-xs-12 text-center"><a href="#header" style="position:absolute;right:0;top:-10px;" ng-click="scrollTo(\'#header\')">Voltar para o topo</a></div></div></div></div>'),e.put("app/components/app-header/app-header.html",'<header id="header" class="container"><div class="row hidden-xs"><div class="col-sm-12"><auth-user></auth-user></div></div><div class="row"><div class="col-sm-12"><app-navbar></app-navbar></div></div></header>'),e.put("app/components/app-navbar/app-navbar.html",'<div class="app-navbar"><nav id="navigation" class="header-navbar navbar" role="navigation"><div class="navbar-header"><div class="row"><div class="row-height"><div class="col-xs-10 col-xs-height col-middle"><a class="navbar-brand" ui-sref="inicio"><img src="/assets/images/logo.png" class="img-responsive" alt="Dialoga Brasil | O país fica melhor quando você participa"></a></div><div class="col-xs-2 col-xs-height col-middle"><button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse" aria-expanded="false"><span class="sr-only">Alternar menu de navegação</span> <span class="icon-bar" aria-hidden="true"></span> <span class="icon-bar" aria-hidden="true"></span> <span class="icon-bar" aria-hidden="true"></span></button></div></div></div></div><div id="navbar-collapse" class="collapse navbar-collapse"><ul class="nav navbar-nav navbar-right"><li class="hidden-sm hidden-md hidden-lg"><a ng-show="$root.currentUser === undefined" ui-sref="entrar">Entrar</a> <a ng-show="$root.currentUser !== undefined" href="#" ng-click="vm.onClickLogout()">Sair</a></li><li ui-sref-active="active"><a ui-sref="inicio">Início</a></li><li ui-sref-active="active"><a ui-sref="sobre">Sobre</a></li><li ui-sref-active="active"><a ui-sref="programas">Programas</a></li><li ui-sref-active="active"><a ui-sref="propostas">Propostas</a></li><li ui-sref-active="active"><a ui-sref="ranking">Ranking</a></li><li ui-sref-active="active"><a ui-sref="duvidas">Dúvidas</a></li><li ui-sref-active="active"><a ui-sref="respostas">Respostas</a></li><li role="separator" class="divider hidden-xs hidden-sm"><span>|</span></li><li class="dropdown" style="border: none;"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Compartilhar <span aria-hidden="true" class="icon icon-social-share-small"></span></a><social-share class="dropdown-menu dropdown-menu-right" arrow-class="social-share--arrow"></social-share><div class="clearfix"></div></li><li class="hidden-sm hidden-md hidden-lg" style="border: none; margin-top: 15px; padding-bottom: 10px !important;"><div class="text text-right" style="padding-right: 20px;">DIALOGA <b>NAS REDES</b></div><ul class="social-share list-inline"><li><a href="https://www.facebook.com/DialogaBrasil" target="_blank"><span aria-hidden="true" class="icon-circle icon-small icon-circle-social-facebook"><span class="icon icon-social-facebook"></span></span> <span class="sr-only">Visitar perfil no Facebook</span></a></li><li><a href="https://twitter.com/dialogabrasil" target="_blank"><span aria-hidden="true" class="icon-circle icon-small icon-circle-social-twitter"><span class="icon icon-social-twitter"></span></span> <span class="sr-only">Visitar perfil no Twitter</span></a></li><li><a href="https://www.youtube.com/channel/UCtjaJwOWwGu2legqFVAzhIA" target="_blank"><span aria-hidden="true" class="icon-circle icon-small icon-circle-social-youtube"><span class="icon icon-social-youtube"></span></span> <span class="sr-only">Visitar canal no Youtube</span></a></li><li><a href="https://www.flickr.com/photos/dialogabrasil" target="_blank"><span aria-hidden="true" class="icon-circle icon-small icon-circle-social-flickr"><span class="icon icon-social-flickr"></span></span> <span class="sr-only">Visitar canal no Flickr</span></a></li></ul><div class="clearfix"></div></li></ul></div></nav><div id="dialoga-nas-redes" class="hidden-xs"><div class="text text-right"><p>DIALOGA<br><b>NAS REDES</b></p></div><ul class="social-share list-inline"><li><a href="https://www.facebook.com/DialogaBrasil" target="_blank"><span aria-hidden="true" class="icon-circle icon-small icon-circle-social-facebook"><span class="icon icon-social-facebook"></span></span> <span class="sr-only">Visitar perfil no Facebook</span></a></li><li><a href="https://twitter.com/dialogabrasil" target="_blank"><span aria-hidden="true" class="icon-circle icon-small icon-circle-social-twitter"><span class="icon icon-social-twitter"></span></span> <span class="sr-only">Visitar perfil no Twitter</span></a></li><li><a href="https://www.youtube.com/channel/UCtjaJwOWwGu2legqFVAzhIA" target="_blank"><span aria-hidden="true" class="icon-circle icon-small icon-circle-social-youtube"><span class="icon icon-social-youtube"></span></span> <span class="sr-only">Visitar canal no Youtube</span></a></li><li><a href="https://www.flickr.com/photos/dialogabrasil" target="_blank"><span aria-hidden="true" class="icon-circle icon-small icon-circle-social-flickr"><span class="icon icon-social-flickr"></span></span> <span class="sr-only">Visitar canal no Flickr</span></a></li></ul></div></div>'),e.put("app/components/app-paginator/app-paginator.html",'<nav class="app-paginator" ng-if="vm.arraypages.length > 1"><ul class="pagination"><li ng-style="{\'visibility\': (vm.page === 1) ? \'hidden\' : \'visible\'}"><a class="btn-pagination" href="#" aria-label="Previous" ng-click="vm.showPage(vm.page-1)"><span aria-hidden="true" class="glyphicon glyphicon-chevron-left pagination-icon"></span></a></li><li ng-repeat="paginas in vm.arraypages track by $index" ng-class="{ \'active\' : ($index) === (vm.page - 1) }"><a class="btn-pagination" href="#" ng-click="vm.showPage($index + 1)">{{::($index)+1}}</a></li><li ng-style="{\'visibility\': (vm.page === vm.arraypages.length) ? \'hidden\' : \'visible\'}"><a class="btn-pagination" href="#" aria-label="Next" ng-click="vm.showPage(vm.page+1)"><span aria-hidden="true" class="glyphicon glyphicon-chevron-right pagination-icon"></span></a></li></ul></nav>'),e.put("app/components/article-bar/article-bar.html",'<div class="article-bar" ng-class="vm.theme"><div class="navbar"><div class="navbar-header"><button class="article-bar--item btn btn-link" ng-click="vm.goBack()"><span class="glyphicon glyphicon-arrow-left" aria-hidden="true"></span> Voltar</button></div><div class="navbar-left" ng-if="vm.category"><button class="article-bar--item article-bar--category-button btn btn-link"><span class="icon" ng-class="\'icon-tema-\' + vm.category.slug"></span> <span class="category-name">{{::vm.category.name}}</span></button></div><div class="navbar-right" ng-if="vm.categories"><label for="selectCategory" class="control-label sr-only" title="Selecione uma opção para acessar os programas do tema">Temas:</label><select id="selectCategory" name="selectCategory" class="article-bar--item form-control" ng-model="vm.currentCategory" ng-options="category.name for category in vm.categories track by category.slug"></select></div></div></div>'),e.put("app/components/article-box/article-box.html",'<article class="article-box" ng-click="vm.showContent()" ng-class="vm.category.slug"><div><h2 class="article-box--category">{{ ::vm.category.name }}</h2><div class="article-box--image-wrapper"><div class="article-box--image" ng-style="{ \'background-image\' : \'url({{ vm.image.src }})\' }"><div ng-if="vm.article.archived" class="img-mask--background"><div class="icon icon-programa-respondido"><div class="icon-circle"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span></div></div></div></div></div><div class="article-box--title"><h1>{{::vm.article.title}}</h1></div><div class="article-box--abstract" ng-bind-html="vm.article.summary"></div><div class="row"><div class="col-sm-5 text-center"><span class="qtd-propostas">{{::vm.article.children_count}} propostas nesse programa</span></div><div class="col-sm-7"><div class="button--themed"><button class="btn btn-block"><span ng-show="{{::vm.article.archived}}">Veja as respostas</span> <span ng-show="{{::!vm.article.archived}}">Participe</span></button></div></div></div></div></article>'),e.put("app/components/article-preview/article-preview.html",'<article class="article-preview" ng-class="vm.category.slug"><header class="article-banner"><img class="article-banner--image" ng-src="{{vm.banner.src}}" alt="{{vm.banner.alt}}"><div class="article-banner--strip"><h1 class="article-banner--title">{{::vm.article.title}}</h1><p class="article-banner--abstract" ng-bind-html="vm.article.abstract"></p></div></header><section class="call-to-action--section"><div class="row show-content-row"><div class="col-xs-10 col-xs-offset-1 col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3"><div class="button--themed"><button class="btn btn-block" ng-click="vm.showContent()">Conheça o programa</button></div></div></div><div class="row proposal-row"><div class="row-height"><div class="col-md-6 col-height"><div class="inside-full-height"><div class="proposal-box make-proposal"><h2 class="proposal-box--title">Faça uma proposta</h2><p class="proposal-box--text">Qual a sua sugestão para melhorar este programa?</p><div class="row"><div class="col-xs-8 col-xs-offset-2"><div class="button--themed"><button class="btn btn-block" ng-click="vm.goSendProposal()">Envie sua proposta</button></div></div></div></div></div></div><div class="col-md-6 col-height"><div class="inside-full-height"><div class="proposal-box support-proposal"><h2 class="proposal-box--title">Apoie outras propostas</h2><p class="proposal-box--text">Lorem qual a sua sugestão para melhorar este programa Lorem qual a sua sugestão para melhorar este programa Lorem qual a sua sugestão para melhorar este programa Lorem qual a sua sugestão para melhorar este programa Lorem qual a sua sugestão para melhorar este programa Lorem qual a sua sugestão para melhorar este programa?</p><div class="col-lg-12"><div class="col-xs-8 col-xs-offset-2 col-sm-10 col-sm-offset-1 col-md-8 col-md-offset-2"><div class="button--themed vote-buttons"><button class="btn btn-circle vote-buttons-up" ng-click="vm.vote(1)"><span class="sr-only">Eu <b>apoio</b> esta proposta.</span> <span class="glyphicon glyphicon-ok" aria-hidden="true"></span></button> <button class="btn btn-circle vote-buttons-down" ng-click="vm.vote(-1)"><span class="sr-only">Eu <b>não apoio</b> esta proposta.</span> <span class="glyphicon glyphicon-remove" aria-hidden="true"></span></button> <button class="btn btn-block vote-buttons-skip" ng-click="vm.vote(0)"><span class="sr-only">Pular esta proposta.</span> <span class="icon" aria-hidden="true"></span> Pular</button></div></div></div><div class="col-lg-12"><div class="col-xs-8 col-xs-offset-2 col-sm-10 col-sm-offset-1 col-md-8 col-md-offset-2"><div class="text-center"><button class="btn btn-link" ng-click="vm.showResults()">Resultados</button></div></div></div><div class="col-md-12"><div class="col-xs-12"><div class="text-center"><span>Compartilhe esta proposta</span><social-share></social-share></div></div></div><div class="clearfix"></div></div></div></div></div></div><div class="talk-proposal row proposal-row"><div class="row-height"><div class="col-md-12 col-height"><div class=""><h2>Bate-papo virtual com ministr@s</h2></div></div></div></div></section></article>'),
e.put("app/components/article-grid/article-grid.html",'<div class="article-grid row"><div ng-repeat="article in vm.articles as results"><article-box article="article" category="article.categories[0]" class="col-xs-12 col-sm-6"></article-box><div ng-if="$odd" class="clearfix"></div></div><div class="animate-repeat" ng-if="results.length == 0">Nenhum programa encontrado.</div></div>'),e.put("app/components/auth-user/auth-user.html",'<div class="auth-user"><div ng-if="vm.currentUser" class="pull-right"><span ng-if="vm.currentUser.person">{{::vm.currentUser.person.name}}</span> <span ng-if="!vm.currentUser.person">{{::vm.currentUser.login}}</span> <span>|</span> <button type="button" class="btn btn-link" ng-click="vm.onClickLogout()">Sair</button></div><div ng-if="!vm.currentUser"><button type="button" class="btn btn-link pull-right" ui-sref="entrar">Entrar</button></div></div>'),e.put("app/components/breadcrumb/template.html",'<div class="custom-breadcrumb"><ol class="breadcrumb"><li ng-repeat="step in steps | limitTo:(steps.length-1)"><a href="{{step.ncyBreadcrumbLink}}" ng-if="$index === 0" ng-class="{\'item-home\': $index === 0}"><span class="glyphicon glyphicon-home" aria-hidden="true"></span></a> <a href="{{step.ncyBreadcrumbLink}}" ng-if="$index !== 0" ng-class="{\'item-home\': $index === 0}" ng-bind-html="step.ncyBreadcrumbLabel"></a></li><li ng-repeat="step in steps | limitTo:-1" class="active"><span ng-bind-html="step.ncyBreadcrumbLabel"></span></li></ol></div>'),e.put("app/components/cadastro-proposta/cadastro-proposta.html",'<div id="message" class="envio-proposta"><div class="row linha-proposta"><div class="col-sm-8"><span class="titulo-envio-proposta">Faça sua proposta</span><p>Aqui você cadastra sua proposta e ajuda a construir um Brasil melhor.</p></div></div><div class="row linha-proposta"><div class="col-sm-8"><p>Você está fazendo uma proposta para o programa:</p><div class="bloco-programa"><span class="texto-programa">{{::vm.program.title}}</span></div></div></div><form role="form" name="formPropostas" ng-submit="vm.sendProposal(proposta)" novalidate=""><div class="form-group"><div class="row linha-proposta"><div class="col-sm-8"><label for="proposta-textarea">Descrição da proposta*</label> <a tabindex="0" class="btn btn-link btn-question" role="button" data-toggle="popover" data-trigger="focus">?</a> <textarea id="proposta-textarea" name="proposta" class="texto-proposta form-control" ng-class="{ \'has-error\' : formPropostas.proposta.$invalid && formPropostas.proposta.$touched }" ng-model="proposta" ng-trim="false" ng-maxlength="200" maxlength="200" required=""></textarea><validation-messages field="formPropostas.proposta" maxlength="\'Ops, esse campo não pode ser maior que 200 caracteres.\'"></validation-messages><div class="row"><div class="col-xs-6"><span>*Dados obrigatórios</span></div><div class="col-xs-6 text-right"><span>Máx. 200 caracteres</span> <span ng-if="proposta.length > 0">(restam {{(200 - proposta.length)}} caracteres)</span></div></div></div></div></div><div class="form-group"><div class="col-sm-4"><button class="btn btn-lg btn-block btn-submit" type="submit">Enviar Proposta</button></div></div></form></div>'),e.put("app/components/category-list/category-list.html",'<div class="category-list" ng-class="vm.selectedCategory.slug"><nav class="navigation"><h3 class="category-list--title" ng-click="vm.toogleList()"><b>Filtrar</b> por Tema <span class="glyphicon glyphicon-filter pull-right"></span></h3><div class="list-group is-mobile js-list-group"><button type="button" class="list-group-item category-list--item" ng-repeat="category in vm.categories" ng-class="{active: vm.selectedCategory.slug === category.slug}" ng-click="vm.selectCategory(category, $event)"><span class="category-list--icon-circle" aria-hidden="true" ng-class="category.slug"></span> <span class="category-list--icon icon" aria-hidden="true" ng-class="\'icon-tema-\' + category.slug + \'-small\'"></span> <span class="category-list--label">{{::category.name}}</span> <span class="category-list--icon--right glyphicon glyphicon-chevron-right hidden-xs" ng-hide="vm.selectedCategory.slug === category.slug"></span> <span ng-if="vm.showCloseBtn" class="category-list--icon--right glyphicon glyphicon-remove hidden-xs" ng-show="vm.selectedCategory.slug === category.slug"></span><div ng-if="category.archived" class="category-list--icon-archived"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span></div></button></div><div class="list-group is-mobile js-selected-category"><button type="button" class="list-group-item category-list--item active" ng-if="vm.isCollapsed"><span class="category-list--icon-circle" aria-hidden="true" ng-class="vm.selectedCategory.slug"></span> <span class="category-list--icon icon" aria-hidden="true" ng-class="\'icon-tema-\' + vm.selectedCategory.slug + \'-small\'"></span> <span class="category-list--label">{{vm.selectedCategory.name}}</span> <span class="category-list--icon--right glyphicon glyphicon-chevron-right hidden-xs"></span><div ng-if="vm.selectedCategory.archived" class="category-list--icon-archived"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span></div></button></div></nav></div>'),e.put("app/components/event-list/event-list.html",'<div class="event-list"><section class="color-theme-common-bg"><div class="container"><div class="event-bar--trigger" ng-click="vm.toggleView()"><div class="event-bar--trigger-top"><div class="col-sm-6"><h1 class="title"><span class="glyphicon glyphicon-calendar icon-circle color-theme-common-fg"></span> Agenda <b>Dialoga Brasil</b></h1></div><div class="col-sm-6 text-right"><h2 class="event-bar--trigger-toggle text-right"><span><b>{{vm.events.length}}</b> bate papos <b>agendados</b></span> <span ng-if="vm.isCollapsed" class="glyphicon glyphicon-menu-down" aria-hidden="true"></span> <span ng-if="!vm.isCollapsed" class="glyphicon glyphicon-menu-up" aria-hidden="true"></span></h2></div></div><div class="clearfix"></div></div></div></section><section class="section-table"><div class="container"><div class="event-list--panel ng-hide" ng-show="!vm.isCollapsed"><div class="event-list--table-wrapper"><div class="row row-level-1" ng-repeat="event in vm.events | orderBy:\'start_date\':false"><div class="col-xs-12 col-sm-4 col-md-3 vcenter"><span class="date-wrapper"><span class="glyphicon glyphicon-calendar"></span> <span class="date">{{event.start_date | date : "dd/MM/yyyy"}}</span></span> <span class="time-wrapper"><span class="glyphicon glyphicon-time"></span> <span class="time">{{event.start_date | date : "HH:mm"}}</span></span></div><div class="col-xs-12 col-sm-4 col-md-5 vcenter"><span class="description">{{::event.setting.presenter}}</span></div><div class="col-xs-12 col-sm-4 col-md-4 text-right vcenter" style="padding-right: 20px;"><div class="row"><div class="col-xs-6 text-right"><div ng-if="event.followers_count > 50"><b>{{::event.followers_count}}</b><br><span>Inscritos</span></div></div><div class="col-xs-6"><div ng-show="!event.already_follow"><button type="button" class="btn btn-subscribe" ng-click="vm.subscribe(event)">Inscreva-se <span class="sr-only">no bate-papo com (ministro) no dia {event.start_date | date : "dd/MM/yyyy"}} as {{event.start_date | date : "HH:mm"}} horas</span></button></div><div ng-show="event.already_follow"><button type="button" class="btn btn-subscribed disabled" disabled="disabled"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Inscrito <span class="sr-only">Você já está inscrito neste evento.</span></button></div></div></div></div></div></div></div></div><div class="container visible-xs" ng-show="!vm.isCollapsed"><div class="minimize" ng-click="vm.toggleView()"><div class="row color-theme-common-bg"><div class="col-xs-6"><button type="button" class="btn btn-link" ng-click="">MINIMIZAR</button></div><div class="col-xs-5 text-right"><span class="glyphicon glyphicon-menu-up" aria-hidden="true"></span></div></div></div></div></section></div>'),e.put("app/components/proposal-box/proposal-box.html",'<div class="proposal-box" ng-class="[{\'focus\': (vm.focus || (vm.STATE === vm.VOTE_STATUS.LOADING) )}, vm.category.slug]"><div ng-show="(vm.STATE === vm.VOTE_STATUS.SUCCESS) || (vm.STATE === vm.VOTE_STATUS.ERROR)"><div class="proposal-message-panel"><div class="row"><div class="row-height"><div class="col-sm-12 col-height col-middle"><div class="inside inside-full-height"><div class="content text-center show-message"><div class="row"><div class="col-xs-12"><div class="message-icon color-fg-white" ng-class="{\'success\': (vm.STATE === vm.VOTE_STATUS.SUCCESS), \'error\': vm.STATE === vm.VOTE_STATUS.ERROR}"><span ng-if="vm.STATE === vm.VOTE_STATUS.SUCCESS" class="glyphicon glyphicon-ok" aria-hidden="true"></span> <span ng-if="vm.STATE === vm.VOTE_STATUS.ERROR" class="glyphicon glyphicon-remove" aria-hidden="true"></span></div></div></div><div class="row"><div class="col-xs-12"><div class="feedback" ng-if="vm.STATE === vm.VOTE_STATUS.SUCCESS"><p class="feedback--title">Obrigado por participar!</p><div class="row feedback--message"><div class="col-xs-6 feedback--share"><div class="row"><span>Compartilhe<br>esta proposta</span></div><div class="row"><button class="btn btn-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="Mostrar ou esconder a lista redes sociais para compartilhamento"><span class="icon icon-social-share" aria-hidden="true"></span></button><social-share social-url="vm.getSocialUrl()" social-text="vm.getSocialText()" social-image="vm.getSocialImage()" class="dropdown-menu dropdown-menu-right"></social-share></div></div><div class="col-xs-6 feedback--next"><div class="row"><span>Próxima<br>proposta</span></div><div class="row"><button class="btn btn-link" aria-label="Ir para próxima proposta" ng-click="vm.skip()"><div class="icon-circle play"><span class="glyphicon glyphicon-play" aria-hidden="true"></span></div></button></div></div></div></div><div class="feedback" ng-if="vm.STATE === vm.VOTE_STATUS.ERROR"><p class="feedback--title">Erro!</p><p class="feedback--message" ng-if="vm.messageCode === 401">Não autorizado. Insira um novo captcha.<br><button type="button" class="btn btn-link" ng-click="vm.captchaTryAgain()">Gerar novo captcha</button></p></div></div></div></div></div></div></div></div></div></div><div ng-show="vm.showCaptchaForm"><div class="proposal-message-panel"><div class="row"><div class="row-height"><div class="col-sm-12 col-height col-middle"><div class="inside inside-full-height"><div class="content text-center"><div ng-show="vm.sendingCaptcha"><p>Enviando captcha...</p></div><div ng-hide="vm.sendingCaptcha"><div class="row feedback-message" ng-show="vm.sendingCaptchaError"><div class="col-sm-12"><div class="feedback--title alert alert-danger">Erro!</div><div class="feedback--message" ng-if="!vm.message"><p ng-bind-html="vm.sendingCaptchaError.message"></p></div><div><button type="reset" class="btn btn-link" ng-click="vm.captchaTryAgain()">Tentar novamente</button> <button type="reset" class="btn btn-link" ng-click="vm.showCaptchaForm = false">Voltar</button></div></div></div><div ng-hide="vm.sendingCaptchaError"><form name="captchaForm" ng-submit="vm.submitCaptcha($event, captchaForm)"><div class="form-group"><div vc-recaptcha="" theme="\'light\'" key="vm.APP.recaptcha_key" on-create="vm.setWidgetId(widgetId)" on-success="vm.setResponse(response)" on-expire="vm.cbExpiration()"></div></div><div class="form-group"><button type="submit" class="btn btn-lg btn-block btn-submit">Enviar</button></div><div class="form-group"><button type="reset" class="btn btn-link" ng-click="vm.showCaptchaForm = false">Voltar</button></div></form></div></div></div></div></div></div></div></div></div><div ng-show="vm.STATE === vm.VOTE_STATUS.LOADING"><div class="proposal-message-panel"><div class="row"><div class="row-height"><div class="col-sm-12 col-height col-middle"><div class="inside inside-full-height"><div class="content text-center"><div ng-show="!vm.errorOnSkip"><p>Carregando...</p></div><div ng-show="vm.errorOnSkip"><p>Erro ao carregar nova proposta proposta.</p></div></div></div></div></div></div></div></div><div class="proposal-box--top"><div class="proposal-box--theme color-theme-bg-complementar-2">{{vm.category.name}}</div><div ng-show="vm.ProposalBody"><div class="proposal-box--program color-theme-bg">{{vm.topic.title}}</div></div><div ng-show="!vm.ProposalBody"><div class="color-theme-bg" style="background: url( {{::vm.proposalsImg}} );"><div class="img-mask--background proposal-box--program">{{vm.topic.title}}</div></div></div></div><div class="proposal-box--middle"><div class="proposal-box--content"><div class="proposal-box--content-inner">{{vm.proposal.abstract}}</div></div><div ng-hide="vm.showVote" class="proposal-box--join"><a class="btn btn-link color-theme-common-fg" ng-if="vm.archived === false" ui-sref="programa({slug: vm.topic.slug, proposal_id: vm.proposal.id})" ui-sref-opts="{location: true}">Participe</a></div><div ng-show="vm.showVote" class="proposal-box--actions text-center"><div class="row"><div class="col-xs-4"><div class="action vote_for" ng-click="vm.vote(vm.VOTE_OPTIONS.UP)"><div class="icon-circle"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span></div><div class="action-label">Apoio</div></div></div><div class="col-xs-4"><div class="action skip" ng-click="vm.skip()"><div class="icon-circle"><span class="glyphicon glyphicon-share-alt" aria-hidden="true"></span></div><div class="action-label">Pular</div></div></div><div class="col-xs-4"><div class="action vote_against" ng-click="vm.vote(vm.VOTE_OPTIONS.DOWN)"><div class="icon-circle"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></div><div class="action-label">Não Apoio</div></div></div></div></div></div><div class="proposal-box--bottom text-center" ng-class="{archived: vm.archived}"><div class="proposal-box--share" ng-class="{\'text-right\': vm.location == \'/respostas\' }"><span ng-hide="vm.location == \'/respostas\'">COMPARTILHE ESTA <b>PROPOSTA</b></span><div class="dropdown"><button id="dropdown-share-btn" class="btn btn-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="Mostrar ou esconder a lista redes sociais para compartilhamento"><span class="icon icon-social-share-small" aria-hidden="true"></span></button><social-share class="dropdown-menu dropdown-menu-right"></social-share><social-share social-url="vm.getSocialUrl()" social-text="vm.getSocialText()" social-image="vm.getSocialImage()" class="dropdown-menu dropdown-menu-right"></social-share></div></div><div ng-if="vm.archived === true"><div class="proposal-box--archived color-theme-bg-complementar-2"><div class="proposal-box--archived-inner"><a ui-sref="programa({slug: vm.topic.slug, proposal_id: vm.proposal.id})" ui-sref-opts="{location: true}">Veja as respostas e compromissos assumidos <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span></a></div></div></div><div ng-if="vm.archived === false"><div class="proposal-box--ranking"><div class="proposal-box--ranking-inner"><span class="icon icon-small icon-ranking" aria-hidden="true"></span> <span>Colocação nos resultados:</span> <span>{{vm.proposal.ranking_position}}º</span></div></div></div></div></div>'),e.put("app/components/proposal-carousel/proposal-carousel.html",'<div class="proposal-carousel"><div ng-if="vm.proposals"><div class="proposal-carousel-top color-theme-bg-complementar-2"><div class="proposal-carousel-position" ng-repeat="proposal in vm.proposals"><span ng-show="vm.activeIndex === $index">{{::($index+1)}}º</span> <span ng-show="vm.activeIndex === $index">Lugar</span></div><div class="proposal-carousel-top-triggers" ng-if="vm.proposals"><ul class="list-inline"><li class="item-dot" ng-repeat="proposal in vm.proposals"><button type="button" ng-class="{\'active\': vm.activeIndex === $index}" ng-click="vm.switchProposal($index)" title="Apersentar proposta {{ ( $index + 1 ) }}"></button></li></ul></div></div><div class="proposal-carousel-middle" ng-swipe-left="vm.swipeLeft()" ng-swipe-right="vm.swipeRight()"><div ng-repeat="proposal in vm.proposals" class="animation-swipe"><div class="content"><div ng-show="vm.activeIndex === $index"><div class="inner">{{::proposal.abstract}}</div></div></div><div class="join" ng-if="vm.archived === false" ng-show="vm.activeIndex === $index"><button type="button" class="btn btn-link btn-rate color-theme-common-fg" ng-click="vm.showContent(proposal)">Participe <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span></button></div><div class="proposal-carousel-middle-watermark" ng-show="vm.activeIndex === $index"><span>{{::($index+1)}}º</span></div></div></div><div class="proposal-carousel-bottom color-theme-common-bg" ng-click="vm.showProposalsList()"><div>Veja as propostas mais votadas</div><div class="proposal-carousel-bottom-icon"><span class="glyphicon glyphicon-chevron-down pull-right color-theme-common-fg" aria-hidden="true"></span></div></div></div></div>'),e.put("app/components/proposal-grid/proposal-grid.html",'<div class="proposal-grid row"><div ng-repeat="proposal in vm.proposals as results"><proposal-box archived="proposal.parent.archived" proposal="proposal" topic="proposal.parent" category="proposal.parent.categories[0]" show-vote="false" class="col-xs-12 col-sm-6" location="vm.$location.path()"></proposal-box><div ng-if="$odd" class="clearfix"></div></div><div class="animate-repeat" ng-if="results.length == 0">Nenhum programa encontrado.</div></div>'),e.put("app/components/proposal-list/proposal-list.html",'<div class="proposal-list"><div class="" ng-if="vm.proposals"><table class="table table-striped"><thead><tr><th>Colocação <a tabindex="0" class="btn btn-link btn-question" role="button" data-toggle="popover" data-trigger="focus">?</a></th><th><span>{{vm.proposals.length}} PROPOSTAS</span> <span class="pull-right">Posição atualizada a cada 5 minutos</span></th></tr></thead><tbody><tr ng-repeat="proposal in vm.proposals | orderBy:[\'ranking_position\',\'position\']"><td class="color-theme-fg"><span ng-show="proposal.ranking_position" class="position">{{::proposal.ranking_position}}º</span> <span ng-show="proposal.position" class="position">{{::proposal.position}}º</span></td><td><div class="row"><div class="col-xs-12"><div class="abstract" ng-bind-html="proposal.abstract"></div></div></div><div class="row row-actions"><div class="col-sm-8"><div ng-if="proposal.parent.archived === false"><button type="button" class="btn btn-link btn-rate color-theme-common-fg" ng-click="vm.showContent(proposal)">Participe</button></div><div ng-if="proposal.parent.archived === true"><button type="button" class="btn btn-link btn-rate color-theme-common-fg" ng-click="vm.showContent(proposal)">Ir para o programa</button></div></div><div class="col-sm-4"><proposal-stats class="text-right" views="{{::proposal.hits}}" up="{{::proposal.votes_for}}" down="{{::proposal.votes_against}}"></proposal-stats></div></div></td></tr></tbody></table></div></div>'),e.put("app/components/proposal-stats/proposal-stats.html",'<div class="proposal-stats"><ul class="list-inline"><li class="proposal-stats-up"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> <span>{{proposal.votes_for}}</span></li><li class="proposal-stats-down"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span> <span>{{proposal.votes_against}}</span></li><li class="proposal-stats-views"><span class="glyphicon glyphicon-eye-open" aria-hidden="true"></span> <span>{{proposal.hits}}</span></li></ul></div>'),e.put("app/components/show-message/show-message.html",'<div id="message" class="show-message"><div class="row"><div class="col-sm-2 col-sm-offset-2 message-icon-wrapper text-right text-center-sm"><div class="message-icon text-center color-fg-white" ng-class="[vm.type]"><span ng-if="vm.type === \'success\'" class="glyphicon glyphicon-ok" aria-hidden="true"></span> <span ng-if="vm.type === \'alert\'" class="glyphicon glyphicon-alert" aria-hidden="true"></span> <span ng-if="vm.type === \'error\'" class="glyphicon glyphicon-remove" aria-hidden="true"></span></div></div><div class="col-sm-8 message-content text-center-sm"><h3>{{ ::vm.message }}</h3><div ng-bind-html="vm.description"></div></div></div></div>'),e.put("app/components/social-share/social-share.html",'<div ng-if="vm.arrowClass"><div ng-class="vm.arrowClass"></div></div><ul class="social-share list-inline"><li class="social-share--item-facebook"><a href="#" role="button" socialshare="" socialshare-provider="facebook" socialshare-type="feed" socialshare-via="{{vm.socialVia}}" socialshare-url="{{vm.socialUrl}}" socialshare-redirect-uri="https://dialoga.gov.br/" socialshare-media="{{vm.socialImage}}" socialshare-text="{{vm.socialText}}" title="Compartilhar no Facebook"><span aria-hidden="true" class="icon-circle icon-small icon-circle-social-facebook"><span class="icon icon-social-facebook"></span></span> <span class="sr-only">Compartilhar no Facebook</span></a></li><li class="social-share--item-twitter"><a href="#" role="button" socialshare="" socialshare-provider="twitter" socialshare-url="{{vm.socialUrl}}" socialshare-text="{{vm.socialText}}" socialshare-hastags="dialogabrasil" title="Compartilhar no Twitter"><span aria-hidden="true" class="icon-circle icon-small icon-circle-social-twitter"><span class="icon icon-social-twitter"></span></span> <span class="sr-only">Compartilhar no Twitter</span></a></li><li class="social-share--item-google"><a href="#" role="button" socialshare="" socialshare-provider="google+" socialshare-url="{{vm.socialUrl}}" socialshare-text="{{vm.socialText}}" title="Compartilhar no Google Plus"><span aria-hidden="true" class="icon-circle icon-small icon-circle-social-googleplus"><span class="icon icon-social-googleplus"></span></span> <span class="sr-only">Compartilhar no Google Plus</span></a></li><li class="social-share--item-whatsapp"><a href="whatsapp://send?text=Dialoga Brasil - {{vm.socialUrl}}" title="Compartilhar no WhatsApp"><span aria-hidden="true" class="icon-circle icon-small icon-circle-social-whatsapp"><span class="icon icon-social-whatsapp"></span></span> <span class="sr-only">Compartilhar no WhatsApp</span></a></li></ul>'),e.put("app/components/topics-select/topics-select.html",'<div class="topics-select"><h3 class="category-list--title">Filtrar por <b>Programa</b></h3><div class="topics-dropdown"><select ng-model="vm.selectedTopic" ng-change="vm.selectTopic()" ng-options="topic.title for topic in vm.topics track by topic.slug" class="form-control"></select></div></div>'),e.put("app/components/validation-messages/validation-messages.html",'<div ng-show="vm.field.$touched"><div ng-messages="vm.field.$error"><div class="error-message"><div ng-message="required">{{vm.required}}</div><div ng-message="minlength">{{vm.minlength}}</div><div ng-message="maxlength">{{vm.maxlength}}</div><div ng-message="email">{{vm.email}}</div></div></div></div>'),e.put("app/pages/article/article.html",'<div class="container"><div class="row"><div class="col-sm-12"><div ncy-breadcrumb=""></div></div></div></div><div class="container" role="main"><div class="row"><div ng-if="pageArticle.loading"><div class="alert alert-info">Carregando conteúdo...</div></div><div ng-if="pageArticle.error"><div class="alert alert-info">Erro ao carregar conteúdo.</div></div></div></div><div class="container" ng-if="pageArticle.article"><div class="row"><div class="col-sm-12"><h1>{{::pageArticle.article.title}}</h1></div></div></div><div class="container"><div class="row"><div class="col-sm-12"><div ng-bind-html="pageArticle.article.body"></div></div></div></div>'),e.put("app/pages/auth/active.html",'<div class="page--auth-active"><div class="container"><div class="row"><div class="col-sm-12"><h2>Ativar conta</h2></div></div></div><section role="main" class="section-gray vertical-padding"><div class="container"><div class="row"><div class="col-sm-8 col-sm-offset-2"><div ng-if="pageActive.loading"><h3>Aguarde...</h3><p>Estamos ativando a sua conta ({{::pageActive.activation_code}}).</p></div><div ng-if="pageActive.successMessageTitle"><show-message type="\'success\'" message="pageActive.successMessageTitle" description="pageActive.successMessageContent"></show-message><div class="row"><div class="col-sm-8 col-sm-offset-4"><p><a ui-sref="entrar" class="btn btn-default">Entrar</a></p></div></div></div><div ng-if="pageActive.errorMessageTitle"><show-message type="\'error\'" message="pageActive.errorMessageTitle" description="pageActive.errorMessageContent"></show-message><div class="row"><div class="col-sm-8 col-sm-offset-4"><p><a ui-sref="reenviar-email" class="btn btn-default">Re-enviar e-mail de confirmação</a></p></div></div></div></div></div></div></section></div>'),e.put("app/pages/auth/new-password.html",'<div class="page--new-password"><div class="container"><div class="row"><div class="col-sm-12"><h2>Cadastrar nova senha</h2><h5>Agora é só informar e confirmar sua nova senha.</h5></div></div></div><section role="main" class="section-gray vertical-padding"><div class="container"><div class="row"><div class="col-sm-8 col-sm-offset-2"><div ng-if="pageNewPassword.loading"><h3>Aguarde...</h3><p>Estamos configurando a sua nova senha.</p></div><div ng-if="!pageNewPassword.loading"><div ng-if="pageNewPassword.submitNewPasswordSuccess"><div class="alert alert-success"><strong>Feito!</strong> Sua senha foi configurada com sucesso.</div></div><div ng-if="pageNewPassword.submitNewPasswordError"><div class="alert alert-danger"><strong>Erro!</strong> {{::pageNewPassword.submitNewPasswordErrorMessage}}</div><p>Tente novamente ou <a ui-sref="duvidas">entre em contato</a>.</p></div><form novalidate="" name="newPasswordForm" ng-submit="newPasswordForm.$valid && pageNewPassword.submitNewPassword($event, newPasswordForm)"><div class="row"><div class="col-md-6"><div class="form-group"><label for="newPassword">Senha*</label> <input type="password" id="newPassword" name="newPassword" class="form-control input-lg" ng-class="{ \'has-error\' : newPasswordForm.newPassword.$invalid && newPasswordForm.newPassword.$touched }" ng-minlength="6" ng-model="newPassword" required=""><validation-messages field="newPasswordForm.newPassword"></validation-messages></div></div><div class="col-md-6"><div class="form-group"><label for="newPasswordConfirmation">Confirmar senha*</label> <input type="password" id="newPasswordConfirmation" name="newPasswordConfirmation" class="form-control input-lg" ng-class="{ \'has-error\' : newPasswordForm.newPasswordConfirmation.$invalid && newPasswordForm.newPasswordConfirmation.$touched }" ng-minlength="6" ng-model="newPasswordConfirmation" required=""><validation-messages field="newPasswordForm.newPasswordConfirmation"></validation-messages></div></div></div><div class="row"><div class="col-sm-12" ng-show="(newPasswordForm.newPassword.$viewValue.length > 0 && newPasswordForm.newPasswordConfirmation.$viewValue.length > 0) && (newPasswordForm.newPassword.$viewValue !== newPasswordForm.newPasswordConfirmation.$viewValue)"><div class="error-message">As senhas estão diferentes.</div></div><div class="col-sm-12"><div class="text" ng-show="newPasswordForm.newPassword.$viewValue.length > 0 && newPasswordForm.newPassword.$viewValue.length < 6"><div class="error-message">A senha deve ter 6 ou mais caracteres e conter números e letras.</div></div></div></div><br><div class="row"><div class="col-md-6 col-sm-offset-3"><div class="form-group"><button class="btn btn-lg btn-block btn-submit" type="submit" ng-disabled="newPasswordForm.$invalid || ((newPasswordForm.newPassword.$viewValue.length > 0 && newPasswordForm.newPasswordConfirmation.$viewValue.length > 0) && (newPasswordForm.newPassword.$viewValue !== newPasswordForm.newPasswordConfirmation.$viewValue))">Confirmar alteração de senha</button></div></div></div></form></div></div></div></div></section></div>'),e.put("app/pages/auth/recover.html",'<div class="page--recover"><div class="container"><div class="row"><div class="col-sm-12"><h2>Esqueci minha senha</h2><h5>Calma, podemos ajudar! Informe o seu e-mail que a gente envia um link de alteração.</h5></div></div></div><section role="main" class="section-gray vertical-padding"><div class="container"><div class="row"><div ng-if="pageAuth.recoverSuccess"><div class="col-sm-8 col-sm-offset-2"><div class="feedback-message"><show-message type="\'success\'" message="\'Pronto!\'" description="\'Em instantes você receberá em seu e-mail um link para criação de uma nova senha.\'"></show-message><div class="row"><div class="col-sm-8 col-sm-offset-4"><p><a ui-sref="inicio">Ir para página inicial</a></p></div></div></div></div></div><div ng-if="!pageAuth.recoverSuccess"><br><div class="col-sm-8 col-sm-offset-2"><div class="row" ng-if="pageAuth.recoverError"><div class="col-sm-12"><div class="alert alert-danger">{{pageAuth.recoverErrorMessage}}</div><div ng-if="vm.internalError"><p>Este erro parece ser um problema interno.<br>Por favor, tente novamente mais tarde.</p><p>Caso o problema persista, entre em contato!</p><p><a ui-sref="duvidas">Ir para página de contato</a></p></div></div></div><div class="row"><div class="col-md-12"><form name="recoverPassForm" ng-submit="pageAuth.submitRecover($event, recoverPassForm)"><div class="form-group"><label for="recover-login">E-mail*</label> <input type="email" id="recover-login" name="login" class="form-control input-lg" ng-class="{ \'has-error\' : recoverPassForm.login.$invalid && recoverPassForm.login.$touched }" ng-model="pageAuth.credentials.username" required=""><validation-messages field="recoverPassForm.login"></validation-messages></div><div class="form-group"><div vc-recaptcha="" theme="\'light\'" key="pageAuth.APP.recaptcha_key" on-create="pageAuth.setWidgetId(widgetId)" on-success="pageAuth.setResponse(response)" on-expire="pageAuth.cbExpiration()"></div></div><div class="form-group"><button class="btn btn-lg btn-submit" type="submit">Solicitar alteração de senha</button></div></form></div></div></div><br></div></div></div></section></div>'),e.put("app/pages/auth/resend-confirmation.html",'<div class="page--resend-confirmation"><div class="container"><div class="row"><div class="col-sm-12"><h2>Não recebeu o e-mail de confirmação?</h2><h5>Calma, podemos te ajudar!<br>Basta informar o seu e-mail cadastrado que a gente envia um novo e-mail de confirmação.</h5></div></div></div><section role="main" class="section-gray vertical-padding"><div class="container"><div class="row"><div ng-if="pageAuth.resendConfirmationSuccess"><div class="col-sm-8 col-sm-offset-2"><div class="feedback-message"><show-message type="\'success\'" message="pageAuth.resendConfirmationSuccessTitle" description="pageAuth.resendConfirmationSuccessMessage"></show-message><div class="row"><div class="col-sm-8 col-sm-offset-4"><p>Ir para: <a ui-sref="inicio" class="btn btn-default">Página inicial</a> ou <a ui-sref="entrar" class="btn btn-primary">Entrar</a></p></div></div></div></div></div><div ng-if="!pageAuth.resendConfirmationSuccess"><br><div class="col-sm-8 col-sm-offset-2"><div class="row" ng-if="pageAuth.resendConfirmationError"><div class="col-sm-12"><div class="alert alert-danger"><strong>Erro!</strong> O e-mail informado não possui cadastro no Dialoga Brasil.</div><div ng-if="pageAuth.internalError"><p>Este erro parece ser um problema interno.<br>Por favor, tente novamente mais tarde.</p><p>Caso o problema persista, entre em contato!</p><p><a ui-sref="duvidas">Ir para página de contato</a></p></div></div></div><div class="row"><div class="col-md-12"><form name="confirmationForm" ng-submit="pageAuth.submitConfirmationForm($event, confirmationForm)"><div class="form-group"><label for="confirmation-login">E-mail*</label> <input type="email" id="confirmation-login" name="login" class="form-control input-lg" ng-class="{ \'has-error\' : confirmationForm.login.$invalid && confirmationForm.login.$touched }" ng-model="pageAuth.credentials.username" required=""><validation-messages field="confirmationForm.login"></validation-messages></div><div class="form-group"><div vc-recaptcha="" theme="\'light\'" key="pageAuth.APP.recaptcha_key" on-create="pageAuth.setWidgetId(widgetId)" on-success="pageAuth.setResponse(response)" on-expire="pageAuth.cbExpiration()"></div></div><div class="form-group"><button class="btn btn-lg btn-submit" type="submit">Solicitar novo e-mail de confirmação</button></div></form></div></div></div><br></div></div></div></section></div>'),
e.put("app/pages/auth/signin.html",'<div class="container"><div class="row"><div class="col-sm-12"><h2>Cadastrar ou entrar</h2></div></div></div><section role="main" class="section-gray auth-content"><div class="container"><div class="row"><div ng-if="pageAuth.signupSuccess || pageAuth.confirmSuccess || pageAuth.signinSuccess"><div class="row"><div class="col-sm-8 col-sm-offset-2"><div class="feedback-message"><div ng-if="pageAuth.signupSuccess"><show-message type="\'success\'" message="\'Cadastro efetuado com sucesso :)\'" description="\'Agora você faz parte do Dialoga Brasil. Em instantes você receberá um link de ativação em seu e-mail. Basta clicar e ativar.\'"></show-message><div class="row"><div class="col-sm-4"></div><div class="col-sm-8 text-center-sm"><a class="btn btn-link" ui-sref="reenviar-email" style="padding: 10px 0;" title="Re-enviar e-mail de confirmação."><span class="glyphicon glyphicon-chevron-right" aria-hidden=""></span>Não recebi o e-mail.</a></div></div></div><div ng-if="pageAuth.confirmSuccess"><show-message type="\'success\'" message="\'Pronto!\'" description="\'Agora você faz parte do Dialoga Brasil.\'"></show-message><div class="row"><div class="col-sm-4"></div><div class="col-sm-8 text-center-sm"><div ng-if="pageAuth.countdown > 0"><p>Você será redirecionado para a página inicial em <b>{{pageAuth.countdown}} segundos</b>.</p></div><div ng-if="!pageAuth.hasRedirect"><a ui-sref="inicio" class="btn btn-primary">Ir para a Página Inicial</a></div></div></div></div><div ng-if="pageAuth.signinSuccess"><show-message type="\'success\'" message="\'Login efetuado com sucesso!\'" description="\'\'"></show-message><div class="row"><div class="col-sm-4"></div><div class="col-sm-8 text-center-sm"><div ng-if="pageAuth.countdown > 0"><p>Você será redirecionado para a página anterior em <b>{{pageAuth.countdown}} segundos</b>.</p></div><div ng-if="!pageAuth.hasRedirect"><a ui-sref="inicio" class="btn btn-primary">Ir para a Página Inicial</a> ou <button type="button" class="btn btn-default" ng-click="vm.onClickLogout()">Sair</button></div></div></div></div></div></div></div></div><div ng-if="pageAuth.currentUser && !(pageAuth.signupSuccess || pageAuth.confirmSuccess || pageAuth.signinSuccess)"><br><show-message type="\'success\'" message="\'Você já está logado!\'" description="\'Mas você ainda pode:\'"></show-message><div class="row"><div class="col-sm-4"></div><div class="col-sm-8 text-center-sm"><div ng-if="!pageAuth.hasRedirect"><a ui-sref="inicio" class="btn btn-primary">Ir para a Página Inicial</a> ou <button type="button" class="btn btn-default" ng-click="vm.onClickLogout()">Sair</button></div></div></div><br></div><div ng-if="!pageAuth.currentUser && !(pageAuth.signupSuccess || pageAuth.confirmSuccess || pageAuth.signinSuccess)"><div class="col-sm-5"><div class="row"><div class="col-md-12"><h2>Já possui cadastro?</h2><p>Use seus dados para acessar o Dialoga Brasil</p><div ng-if="pageAuth.signinError"><div class="alert alert-danger" role="alert"><strong>{{pageAuth.signinErrorTitle}}</strong> {{pageAuth.signinErrorContent}}</div></div><form role="form" name="signinForm" ng-submit="pageAuth.submitSignin(pageAuth.signin)" novalidate=""><div class="form-group"><label for="signin-form--login">E-mail*</label> <input type="email" id="signin-form--login" name="login" class="form-control input-lg" ng-class="{ \'has-error\' : signinForm.login.$invalid && signinForm.login.$touched }" ng-model="pageAuth.signin.username" required=""><validation-messages field="signinForm.login"></validation-messages></div><div class="form-group"><label for="signin-form--password">Senha*</label> <input type="password" id="signin-form--password" name="password" class="form-control input-lg" ng-class="{ \'has-error\' : signinForm.password.$invalid && signinForm.password.$touched }" ng-model="pageAuth.signin.password" required=""><validation-messages field="signinForm.password"></validation-messages></div><div class="form-group"><button class="btn btn-lg btn-block btn-submit" type="submit">Entrar</button></div><div class="form-group"><a ui-sref="recuperar" class="btn btn-lg btn-link" style="padding: 10px 0;">Esqueci minha senha</a></div></form></div></div><div class="row"><div class="col-md-12"><hr class="separator separator-or"></div></div><div class="row"><div class="col-xs-6"><button type="button" ng-click="pageAuth.authWithFacebook()" class="btn btn-lg btn-block btn-social btn-facebook"><span aria-hidden="true" class="icon-circle icon-small icon-circle-social-facebook"><span class="icon icon-social-facebook"></span></span> <span class="text">Entrar com Facebook</span></button></div><div class="col-xs-6"><button type="button" ng-click="pageAuth.authWithGooglePlus()" class="btn btn-lg btn-block btn-social btn-google-plus"><span aria-hidden="true" class="icon-circle icon-small icon-circle-social-googleplus"><span class="icon icon-social-googleplus"></span></span> <span class="text">Entrar com Google+</span></button></div></div></div><div class="col-sm-1"></div><div class="col-sm-6"><div class="row"><div class="col-sm-12"><h2>Ou cadastre-se</h2><p>Para fazer parte do Dialoga Brasil, interagir com as propostas e enviar as suas!</p></div></div><div class="row" ng-if="pageAuth.signupError"><div class="col-sm-12"><div class="alert alert-danger"><strong>{{pageAuth.signupErrorTitle}}</strong> {{pageAuth.signupErrorMessage}}</div><div ng-if="vm.internalError"><p>Este erro parece ser um problema interno.<br>Por favor, tente novamente mais tarde.</p><p>Caso o problema persista, entre em contato!</p><p><a ui-sref="duvidas">Ir para página de contato</a></p></div></div></div><div class="row"><div class="col-sm-12"><form name="signupForm" ng-submit="pageAuth.submitSignup($event, pageAuth.signup)"><div class="form-group"><label for="signup-form--name">Nome*:</label> <span class="pull-right">*Dados obrigatórios</span> <input type="text" id="signup-form--name" name="name" class="form-control input-lg" ng-class="{ \'has-error\' : signupForm.name.$invalid && signupForm.name.$touched }" ng-model="pageAuth.signup.name" ng-minlength="" ng-maxlength="" required=""><validation-messages field="signupForm.name"></validation-messages></div><div class="form-group"><label for="signup-form--email">E-mail*:</label> <input type="email" id="signup-form--email" name="email" class="form-control input-lg" ng-class="{ \'has-error\' : signupForm.email.$invalid && signupForm.email.$touched }" ng-model="pageAuth.signup.email" ng-minlength="" ng-maxlength="" required=""><validation-messages field="signupForm.email"></validation-messages></div><div class="row"><div class="col-sm-6"><div class="form-group"><label for="signup-form--password">Senha*:</label> <input type="password" id="signup-form--password" name="password" class="form-control input-lg" ng-class="{ \'has-error\' : signupForm.password.$invalid && signupForm.password.$touched }" ng-model="pageAuth.signup.password" ng-minlength="" ng-maxlength="" required=""><validation-messages field="signupForm.password"></validation-messages></div></div><div class="col-sm-6"><div class="form-group"><label for="signup-form--password-confirmation">Confirmar Senha*:</label> <input type="password" id="signup-form--password-confirmation" name="password_confirmation" class="form-control input-lg" ng-class="{ \'has-error\' : signupForm.password_confirmation.$invalid && signupForm.password_confirmation.$touched }" ng-model="pageAuth.signup.password_confirmation" ng-minlength="" ng-maxlength="" required=""><validation-messages field="signupForm.password_confirmation"></validation-messages></div></div></div><div class="row"><div class="col-sm-12" ng-show="(signupForm.password.$viewValue.length > 0 && signupForm.password_confirmation.$viewValue.length > 0) && (signupForm.password.$viewValue !== signupForm.password_confirmation.$viewValue)"><div class="error-message">As senhas estão diferentes.</div></div><div class="col-sm-12"><span class="text" ng-show="signupForm.password.$viewValue.length > 0 && signupForm.password.$viewValue.length < 6"><div class="error-message">A senha deve ter 6 ou mais caracteres e conter números e letras.</div></span></div></div><div class="form-group"><div class="checkbox"><label for="user_terms_accepted"><input type="checkbox" id="user_terms_accepted" name="user_terms_accepted" value="aceito" ng-model="pageAuth.signup.user_terms_accepted" required=""> Já li e concordo com os <button type="button" class="btn btn-link" style="padding:0 0 4px 0;" data-toggle="modal" data-target="#modalTermosDeUso">Termos de Uso</button></label></div><validation-messages field="signupForm.user_terms_accepted"></validation-messages></div><div class="form-group"><div vc-recaptcha="" theme="\'light\'" key="pageAuth.APP.recaptcha_key" on-create="pageAuth.setWidgetId(widgetId)" on-success="pageAuth.setResponse(response)" on-expire="pageAuth.cbExpiration()"></div></div><div class="form-group"><button type="submit" class="btn btn-lg btn-block btn-submit" ng-class="{\'disabled\' : !pageAuth.signup.user_terms_accepted }">Cadastrar</button></div><div class="form-group"><a ui-sref="reenviar-email" class="btn btn-lg btn-link" style="padding: 10px 0;">Re-enviar e-mail de confirmação</a></div></form></div></div></div></div></div></div></section><div class="modal fade" id="modalTermosDeUso" tabindex="-1" role="dialog" aria-labelledby="termosDeUsoLabel"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header modal-termos-uso-header"><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true" class="modal-fechar-pequeno">FECHAR</span> <span aria-hidden="true" class="modal-fechar-grande">X</span></button></div><div class="modal-body modal-termos-uso-body"><div class="modal-termos-uso-body-inner" ng-if="pageAuth.terms"><div ng-bind-html="pageAuth.terms.body"></div></div></div></div></div></div>'),e.put("app/pages/duvidas/duvidas.html",'<div class="page--duvidas" role="main"><div class="container"><div class="row"><div class="col-sm-12"><h2>Dúvidas frequentes</h2><p>Talvez a sua dúvida já tenha uma resposta. Caso contrário, você pode enviar sua pergunta pelo campo abaixo que em breve responderemos.</p></div></div></div><section class="section-gray"><div class="container"><div class="row"><div class="panel-group" id="accordion-duvidas" role="tablist" aria-multiselectable="false"><div class="panel panel-default"><div ng-if="pageDuvidas.loadingQuestions"><div class="alert alert-info" role="alert">Carregando as dúvidas frequentes.</div></div><div ng-if="pageDuvidas.loadingQuestionsError"><div class="alert alert-danger" role="alert"><b>Erro!</b> Não foi possível carregar as dúvidas frequêntes.</div></div><div ng-if="!pageDuvidas.loadingQuestions && pageDuvidas.questions"><div class="question-item" ng-repeat="question in pageDuvidas.questions"><div id="duvida-{{($index + 1)}}" class="panel-heading" role="tab"><div class="panel-title" role="button" data-target="#collapse-{{($index + 1)}}" aria-expanded="($index === 0) ? \'true\' : \'false\'" aria-controls="collapse-{{($index + 1)}}" data-toggle="collapse" data-parent="#accordion-duvidas"><span class="num-duvida">{{($index + 1)}}</span> <span class="panel-title">{{question.title}}</span> <span class="glyphicon glyphicon-chevron-down icon-white pull-right" aria-hidden="true"></span></div></div><div id="collapse-{{($index + 1)}}" class="panel-collapse collapse" ng-class="{ \'in\': ($index === 0) }" role="tabpanel" aria-expanded="($index === 0) ? \'true\' : \'false\'" aria-labelledby="duvida-{{($index + 1)}}"><div class="panel-body" ng-bind-html="question.body"></div></div></div></div></div></div></div></div></section><section><div class="container"><div class="row"><h2>Tem outras dúvidas ou sugestões?</h2></div><div class="row"><div class="col-sm-12"><form role="form" name="contactForm" ng-submit="pageDuvidas.submitContactForm($event, contactForm)"><div class="row"><div class="col-sm-6"><div class="form-group"><label for="inputSubject">Assunto*</label><select id="inputSubject" name="inputSubject" class="form-control input-lg dark-input" ng-model="data.inputSubject" required=""><option value="">-- Selecione um Assunto --</option><option value="Dúvidas">Dúvidas</option><option value="Sugestões">Sugestões</option><option value="Outro">Outro</option></select><validation-messages field="contactForm.inputSubject"></validation-messages></div></div></div><div class="row"><div class="col-sm-6"><div class="form-group"><label for="inputName">Nome*</label> <input type="text" id="inputName" name="inputName" class="form-control input-lg light-input" ng-class="{ \'has-error\' : contactForm.inputName.$invalid && contactForm.inputName.$touched }" ng-model="inputName" ng-minlength="" ng-maxlength="" required=""><validation-messages field="contactForm.inputName"></validation-messages></div></div><div class="col-sm-6"><div class="form-group"><label for="inputEmail">E-mail*</label> <input type="email" id="inputEmail" name="inputEmail" class="form-control input-lg light-input" ng-class="{ \'has-error\' : contactForm.inputEmail.$invalid && contactForm.inputEmail.$touched }" ng-model="inputEmail" ng-minlength="" ng-maxlength="" required=""><validation-messages field="contactForm.inputEmail"></validation-messages></div></div></div><div class="form-group"><label for="inputMessage">Mensagem*</label> <textarea id="inputMessage" name="inputMessage" class="mensagem-text-area form-control light-input" ng-class="{ \'has-error\' : contactForm.inputMessage.$invalid && contactForm.inputMessage.$touched }" ng-model="inputMessage" required=""></textarea><validation-messages field="contactForm.inputMessage"></validation-messages></div><span class="pull-left">*Dados obrigatórios</span><div class="row"><div class="col-sm-4 form-group pull-right"><div class="form-group"><div vc-recaptcha="" theme="\'light\'" key="pageDuvidas.APP.recaptcha_key" on-create="pageDuvidas.setWidgetId(widgetId)" on-success="pageDuvidas.setResponse(response)" on-expire="pageDuvidas.cbExpiration()"></div></div><div class="row" ng-show="pageDuvidas.sendingContactForm"><div class="col-sm-12"><div class="alert alert-info" role="alert">Enviando formulário...</div></div></div><div class="row" ng-if="pageDuvidas.successMessage"><div class="col-sm-12"><div class="alert alert-success" role="alert">{{pageDuvidas.successMessage}}</div></div></div><div class="row" ng-if="pageDuvidas.errorMessage"><div class="col-sm-12"><div class="alert alert-danger" role="alert">{{pageDuvidas.errorMessage}}</div></div></div><button class="btn btn-lg btn-block btn-submit" type="submit" ng-class="{\'disabled\' : (contactForm.$invalid && !contactForm.$touched) }">Enviar Mensagem</button></div></div></form></div></div></div></section></div>'),e.put("app/pages/erro/erro.html",'<div class="page--erro"><div class="container"><div class="row"><div class="col-sm-8 col-sm-offset-2"><show-message type="\'error\'" message="\'Erro!\'" description="\'Página não encontrada.\'"></show-message><div class="row"><div class="col-sm-4"></div><div class="col-sm-6"><p><span style="font-weight:bold;">Mas você ainda pode:</span><br><button type="button" class="btn btn-link" ui-sref="inicio">retornar à página inicial</button></p></div></div></div></div></div></div>'),e.put("app/pages/inicio/inicio.html",'<div class="page--inicio" role="main"><section class="section-video"><div class="container"><div class="row"><div class="col-md-8" ng-class="{\'col-md-offset-2\': (!pageInicio.featuredEvent && !pageInicio.bannerRespostas)}"><div class="video-player js-youtube"><div class="embed-responsive embed-responsive-16by9"><div ng-if="!pageInicio.featuredEvent || !pageInicio.featuredEvent.canView"><div class="js-iframe" ng-if="pageInicio.article.videoIsLoaded" ng-bind-html="pageInicio.article.abstractTrusted"></div></div><div ng-if="pageInicio.featuredEvent && pageInicio.featuredEvent.canView"><div class="js-iframe" ng-bind-html="pageInicio.featuredEvent.bodyTrusted"></div></div><div class="video-background" ng-click="pageInicio.showVideo()"><div class="video-thumbnail" aria-hidden="true" style="background-image:url(/assets/images/youtube-background.png)"></div><button class="video-play-button" aria-live="assertive" aria-label="Assistir o vídeo tutorial Dialoga Brasil"><svg height="100%" version="1.1" viewbox="0 0 68 48" width="100%"><path class="ytp-play-button-bg" d="m .66,37.62 c 0,0 .66,4.70 2.70,6.77 2.58,2.71 5.98,2.63 7.49,2.91 5.43,.52 23.10,.68 23.12,.68 .00,-1.3e-5 14.29,-0.02 23.81,-0.71 1.32,-0.15 4.22,-0.17 6.81,-2.89 2.03,-2.07 2.70,-6.77 2.70,-6.77 0,0 .67,-5.52 .67,-11.04 l 0,-5.17 c 0,-5.52 -0.67,-11.04 -0.67,-11.04 0,0 -0.66,-4.70 -2.70,-6.77 C 62.03,.86 59.13,.84 57.80,.69 48.28,0 34.00,0 34.00,0 33.97,0 19.69,0 10.18,.69 8.85,.84 5.95,.86 3.36,3.58 1.32,5.65 .66,10.35 .66,10.35 c 0,0 -0.55,4.50 -0.66,9.45 l 0,8.36 c .10,4.94 .66,9.45 .66,9.45 z" fill="#1f1f1e" fill-opacity="0.9"></path><path d="m 26.96,13.67 18.37,9.62 -18.37,9.55 -0.00,-19.17 z" fill="#fff"></path><path d="M 45.02,23.46 45.32,23.28 26.96,13.67 43.32,24.34 45.02,23.46 z" fill="#ccc"></path></svg></button></div></div></div></div><div class="col-md-4" ng-hide="true" ng-show="pageInicio.featuredEvent"><div class="row"><div class="featured-event--box" ng-click="pageInicio.showEventVideo()"><div class="box-top col-xs-12 col-sm-4 col-md-12"><h2 class="box-title">Bate papo com <b>MINISTROS/AS</b></h2></div><div class="box-middle col-xs-12 col-sm-4 col-md-12"><div class="video" ng-style="{\'background-image\': \'url(\' + pageInicio.featuredEvent.image.url + \')\'}"></div></div><div class="box-bottom col-xs-12 col-sm-4 col-md-12"><div class="date">{{pageInicio.featuredEvent.start_date | date : "dd/MM/yyyy"}}</div><div class="live">AO VIVO</div><div class="description" ng-bind-html="pageInicio.featuredEvent.abstract"></div></div><div class="clearfix"></div></div></div></div><div class="col-md-4" ng-hide="true" ng-show="pageInicio.bannerRespostas"><div class="banner-respostas"><a ui-sref="respostas" class="banner-respostas--link-top"><span class="banner-respostas--background-image" aria-hidden="true"></span> <img class="banner-respostas--logo" src="/assets/images/banner-logo--dialoga-brasil.png" alt="Logo Dialoga Brasil"><br><span class="banner-respostas--text1">O dialoga já respondeu</span><br><span class="banner-respostas--text2">às suas solicitações!</span><br><span class="banner-respostas--text3">Vários programas contaram com centenas de participações e elas foram respondidas, confira já quais propostas foram respondidas:</span></a> <a ui-sref="respostas" class="banner-respostas--link-bottom">Veja todas as respostas das propostas</a></div></div><div class="col-md-4" ng-show="pageInicio.bannerRespostas"><div class="banner-respostas"><a ui-sref="respostas"><img class="banner-respostas--logo banner-respostas--logo-small img-responsive banner-responsive" src="/assets/images/banner_home_2.png" alt="O governo federal segue dialogando com a sociedade. Você fez sua parte mandando participando com propostas para melhorar o país e o governo respondeu. Confira aqui o resultado!"></a></div><br></div></div></div></section><section class="section-event"><div ng-if="pageInicio.events"><event-list events="pageInicio.events"></event-list></div><div ng-if="!pageInicio.events && pageInicio.loadingEvents" class="container"><div class="row"><div class="col-sm-12"><div class="alert alert-info" role="alert">Carregando lista de eventos.</div></div></div></div><div ng-if="!pageInicio.events && pageInicio.eventsError" class="container"><div class="row"><div class="col-sm-12"><div class="alert alert-danger" role="alert">Não foi possível carregar a lista de eventos neste momento.</div></div></div></div></section><section class="section-info" ng-if="pageInicio.loading || pageInicio.error"><div class="container"><div class="row"><div class="col-md-12"><div ng-if="pageInicio.loading && !pageInicio.error"><div class="alert alert-info" role="alert">Carregando conteúdo...</div></div><div ng-if="pageInicio.error"><div class="alert alert-danger" role="alert">Erro ao carregar o conteúdo principal.</div></div></div></div></div></section><section class="section--articles section-gray section-space-up" ng-if="pageInicio.article"><div class="container"><div id="lista-de-programas" class="row"><div class="col-sm-4 col-md-3"><div class="row visible-xs"><div class="col-xs-12"><div class="input-group input-group-lg input-group-search"><label for="articleQueryFilter1" class="control-label sr-only">Buscar programas:</label> <input id="articleQueryFilter1" type="search" class="form-control input-search" ng-model="pageInicio.query" placeholder="Buscar programas" aria-label="Buscar programas"> <span class="input-group-btn"><button type="button" class="btn btn-default" ng-click="pageInicio.submitSearch()"><span class="icon-circle icon-small color-theme-common-bg"><span class="glyphicon glyphicon-search"></span></span> <span class="sr-only">Buscar</span></button></span></div><br></div></div><div ng-if="pageInicio.themes && !vm.loadingFilter"><category-list categories="pageInicio.themes" selected-category="pageInicio.selectedTheme"></category-list></div><div ng-if="!pageInicio.themes && pageInicio.loadingThemes"><div class="alert alert-info" role="alert">Carregando temas.</div></div><div ng-if="!pageInicio.themes && pageInicio.themesError"><div class="alert alert-danger" role="alert">Não foi possível carregar a lista de temas neste momento.</div></div></div><div class="col-sm-8 col-md-9"><div class="row hidden-xs"><div class="col-xs-12"><div class="input-group input-group-lg input-group-search"><label for="articleQueryFilter2" class="control-label sr-only">Buscar programas:</label> <input id="articleQueryFilter2" type="search" class="form-control input-search" ng-model="pageInicio.query" placeholder="Buscar programas" aria-label="Buscar programas"> <span class="input-group-btn"><button type="button" class="btn btn-default" ng-click="pageInicio.submitSearch()"><span class="icon-circle icon-small color-theme-common-bg"><span class="glyphicon glyphicon-search"></span></span> <span class="sr-only">Buscar</span></button></span></div></div></div><div id="search-result" class="row"><div class="col-sm-12"><header class="header"><h2>Programas</h2><button type="button" class="btn btn-link" ng-click="pageInicio.showAllPrograms($event)"><span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span> Ver todos os {{::pageInicio.programs.length}} programas</button></header></div></div><div class="row"><div class="col-sm-12" ng-if="pageInicio.filtredPrograms && !vm.loadingFilter"><article-grid articles="pageInicio.filtredPrograms"></article-grid></div><div ng-if="!pageInicio.programs && pageInicio.loadingPrograms"><div class="alert alert-info" role="alert">Carregando programas.</div></div><div ng-if="!pageInicio.programs && pageInicio.programsError"><div class="alert alert-danger" role="alert">Não foi possível carregar a lista de programas neste momento.</div></div></div></div></div></div></section></div>'),e.put("app/pages/mapa-do-site/mapa-do-site.html",'<div class="container"><div class="row"><div class="col-sm-11 col-sm-offset-1"><h2>Mapa do Site</h2><p>Uma visão geral do conteúdo disponível no site.</p></div></div></div><div class="page--mapa"><div class="container"><div class="row"><div class="col-sm-11 col-sm-offset-1"><ul class="list-sitemap"><li class="list-sitemap--item level-1"><a ui-sref="sobre" title="Conheça mais sobre o Dialoga Brasil">Sobre</a></li><li class="list-sitemap--item level-1"><a ui-sref="programas" title="Acesse a lista de programas">Programas</a><ul ng-if="sitemap.programsPerThemes"><li ng-if="!sitemap.programsPerThemes">Carregando lista de programas...</li><li ng-if="sitemap.programsPerThemes" class="list-sitemap--item level-2" ng-repeat="(slug, theme) in sitemap.programsPerThemes"><a ui-sref="programas({tema: slug})" ui-sref-opts="{location: true}" title="Acesse a lista de programas do {{theme.name}}">{{theme.name}}</a><ul><li class="list-sitemap--item level-3" ng-repeat="program in theme.programs"><a ui-sref="programa({slug: program.slug})" ui-sref-opts="{location: true}" title="Acesse o programa {{::program.title}}">{{::program.title}}</a></li></ul></li></ul></li><li class="list-sitemap--item level-1"><a ui-sref="propostas" title="Acesse a lista de propostas">Propostas</a></li><li class="list-sitemap--item level-1"><a ui-sref="ranking" title="Acesse o ranking de propostas">Ranking</a></li><li class="list-sitemap--item level-1"><a ui-sref="duvidas" title="Acesse para ler as principais dúvidas ou enviar a sua.">Dúvidas e sugestões</a></li><li class="list-sitemap--item level-1"><a ui-sref="entrar" title="Acesse para ler as principais dúvidas ou enviar a sua.">Entrar</a></li><li class="list-sitemap--item level-1"><span>Dialoga nas redes</span><ul><li class="list-sitemap--item level-2"><a href="#" role="button" socialshare="" socialshare-provider="facebook" socialshare-url="http://hom.dialoga.gov.br" socialshare-text="Conheça o Dialoga Brasil. Dialoga Brasil | O País fica melhor quando VOCÊ PARTICIPA." title="Compartilhar no Facebook"><span>Facebook</span></a></li><li class="list-sitemap--item level-2"><a href="#" role="button" socialshare="" socialshare-provider="twitter" socialshare-url="http://hom.dialoga.gov.br" socialshare-text="Conheça o Dialoga Brasil. Dialoga Brasil | O País fica melhor quando VOCÊ PARTICIPA." socialshare-hastags="dialogabrasil" title="Compartilhar no Twitter"><span>Twitter</span></a></li><li class="list-sitemap--item level-2"><a href="#" role="button" socialshare="" socialshare-provider="google+" socialshare-url="http://hom.dialoga.gov.br" socialshare-text="Conheça o Dialoga Brasil. Dialoga Brasil | O País fica melhor quando VOCÊ PARTICIPA." title="Compartilhar no Google Plus"><span>Google Plus</span></a></li><li class="list-sitemap--item level-2"><a href="whatsapp://send?text=Aqui suas ideias viram propostas e você ajuda a melhorar as ações do governo http://hom.dialoga.gov.br/" title="Compartilhar no WhatsApp"><span>WhatsApp</span></a></li></ul></li><li class="list-sitemap--item level-1"><span>Compartilhar</span><ul><li class="list-sitemap--item level-2"><a href="#" role="button" socialshare="" socialshare-provider="facebook" socialshare-url="http://hom.dialoga.gov.br" socialshare-text="Conheça o Dialoga Brasil. Dialoga Brasil | O País fica melhor quando VOCÊ PARTICIPA." title="Compartilhar no Facebook"><span>Facebook</span></a></li><li class="list-sitemap--item level-2"><a href="#" role="button" socialshare="" socialshare-provider="twitter" socialshare-url="http://hom.dialoga.gov.br" socialshare-text="Conheça o Dialoga Brasil. Dialoga Brasil | O País fica melhor quando VOCÊ PARTICIPA." socialshare-hastags="dialogabrasil" title="Compartilhar no Twitter"><span>Twitter</span></a></li><li class="list-sitemap--item level-2"><a href="#" role="button" socialshare="" socialshare-provider="google+" socialshare-url="http://hom.dialoga.gov.br" socialshare-text="Conheça o Dialoga Brasil. Dialoga Brasil | O País fica melhor quando VOCÊ PARTICIPA." title="Compartilhar no Google Plus"><span>Google Plus</span></a></li><li class="list-sitemap--item level-2"><a href="whatsapp://send?text=Aqui suas ideias viram propostas e você ajuda a melhorar as ações do governo http://hom.dialoga.gov.br/" title="Compartilhar no WhatsApp"><span>WhatsApp</span></a></li></ul></li><li class="list-sitemap--item level-1"><a ui-sref="termos-de-uso" title="Acesse para ler os termos de uso do Dialoga Brasil">Termos de uso</a></li></ul></div></div><button type="button" class="btn btn-link" ui-sref="inicio">Retornar à página inicial</button></div></div>'),e.put("app/pages/programas/programa.html",'<div class="container"><div class="row"><div class="col-sm-12"><div ncy-breadcrumb=""></div></div></div></div><div class="page--program"><section ng-if="!pagePrograma.article"><div class="container"><div class="row"><div class="col-sm-12"><div ng-if="pagePrograma.loading" class="alert alert-info" role="alert">Carregando detalhes sobre o progama...</div><div ng-if="pagePrograma.error" class="alert alert-warning" role="alert">Erro ao carregar o programa.</div></div></div></div></section><div role="main" ng-class="pagePrograma.category.slug"><section ng-if="pagePrograma.article.body"><div class="container"><div class="row"><article class="program-preview" ng-class="{ \'program-preview--archived\': pagePrograma.article.archived }"><div class="col-md-12"><h1 class="program-preview--title color-theme-fg">{{::pagePrograma.article.title}}</h1></div><div class="col-md-8"><div class="program-preview--box contraste-box"><div class="program-preview--banner" ng-style="{\'background-image\':\'url( {{::pagePrograma.banner.src}} )\'}"><div ng-if="pagePrograma.article.archived" class="img-mask--background"><div class="icon icon-programa-respondido"><div class="icon-circle"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span></div></div></div></div><div class="program-preview--box--content-wrapper"><div class="program-preview--icon icon-wrapper-rounded color-theme-bg" ng-class="pagePrograma.category.slug"><span class="icon" ng-class="\'icon-tema-\' + pagePrograma.category.slug"></span></div><div class="program-preview--abstract color-theme-fg" ng-if="pagePrograma.article.archived === false"><h2>{{::stripHtml(pagePrograma.article.summary)}}</h2></div><div class="program-preview--abstract-details" ng-if="pagePrograma.article.archived === false"><div ng-bind-html="pagePrograma.article.summaryExtended"></div></div><div class="program-preview--share"><div ng-show="!pagePrograma.article.archived" class="program-preview--share-label">COMPARTILHE ESTE <b>PROGRAMA</b></div><div ng-show="pagePrograma.article.archived" class="row text-right"><div class="col-xs-12"><a ui-sref="ranking({tema: pagePrograma.category.slug, programa: pagePrograma.article.slug})" class="btn btn-link"><span>Ver Propostas</span> <span class="glyphicon glyphicon-chevron-right color-theme-common-fg" aria-hidden="true"></span></a></div></div><div ng-show="pagePrograma.article.archived" class="program-preview--share-label">COMPARTILHE ESSA <b>RESPOSTA</b></div><div class="dropdown"><button id="dropdown-share-btn" class="btn btn-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="Mostrar ou esconder a lista redes sociais para compartilhamento"><span class="icon icon-social-share-small" aria-hidden="true"></span></button><social-share social-url="pagePrograma.$state.href(\'programa\', {slug: pagePrograma.article.slug}, {absolute: true})" social-text="pagePrograma.article.title" social-image="pagePrograma.banner.src" arrow-class="social-share--arrow" class="dropdown-menu dropdown-menu-right"></social-share></div></div><div class="program-preview--make-proposal" ng-if="pagePrograma.article.archived === false"><div class="row"><div class="col-sm-6"><div class="button--themed"><button type="button" class="btn btn-block" ng-click="pagePrograma.showProposalForm()">Faça uma proposta</button></div></div></div></div></div></div></div><div class="col-md-4"><div class="row" ng-if="!pagePrograma.article.archived"><div><div ng-if="pagePrograma.loadingTopProposals"><div class="alert alert-info" role="alert">Carregando propostas mais votadas...</div></div><div class="col-xs-12" ng-if="!pagePrograma.loadingTopProposals && pagePrograma.proposalsTopRated && pagePrograma.proposalsTopRated.length > 0"><h3 class="color-theme-fg">Propostas mais votadas</h3><proposal-carousel proposals="pagePrograma.proposalsTopRated" archived="pagePrograma.article.archived"></proposal-carousel></div></div><div><div class="col-xs-12" ng-if="!pagePrograma.loadingProposalBox && pagePrograma.randomProposal" ng-class="{\'focused-proposal\': !!pagePrograma.search.proposal_id}"><h3 class="color-theme-fg">Apoie outras propostas</h3><proposal-box proposal="pagePrograma.randomProposal" topic="pagePrograma.article" category="pagePrograma.category" show-vote="true" focus="{{pagePrograma.search.proposal_id}}" do-vote="pagePrograma.vote(proposal_id, value)" archived="pagePrograma.article.archived"></proposal-box></div><div ng-if="pagePrograma.loadingProposalBox"><div class="alert alert-info" role="alert">Carregando propostas nesse programa...</div></div></div><div ng-if="!pagePrograma.loadingTopProposals && !pagePrograma.loadingProposalBox"><div class="col-xs-12" ng-if="!pagePrograma.randomProposal && !(pagePrograma.proposalsTopRated && pagePrograma.proposalsTopRated.length > 0)"><h3>Programas sem propostas</h3><p>Este programa ainda não possui nenhuma proposta.<div class="button--themed"><button type="button" class="btn btn-block" ng-click="pagePrograma.showProposalForm()">Faça uma proposta</button></div></p></div></div></div><div class="row" ng-if="pagePrograma.article.archived"><div class="col-sm-12"><div class="gov-response--link-list" ng-repeat="proposal in pagePrograma.proposalsTopRated"><div class="gov-response--link-item"><div class="button--themed"><button type="button" class="btn btn-block" ng-click="pagePrograma.toggleResponseVisibility(proposal)"><span style="font-weight:300;">Veja o que o governo respondeu</span><br><span>{{:: ( $index + 1 ) }}ª proposta mais votada</span></button></div></div></div></div></div></div></article></div></div></section><section id="section-proposal-list" class="proposal-extended-section" style="display:none;" ng-if="pagePrograma.proposalsTopFive && pagePrograma.proposalsTopFive.length > 0"><div class="container"><div class="proposal-extended-section-header"><h3 class="color-theme-fg">Resultados de propostas mais votadas</h3><button type="button" aria-label="Close" class="btn btn-close" ng-click="pagePrograma.hideProposalsList()"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></button></div><div class="proposal-extended-section-content"><proposal-list proposals="pagePrograma.proposalsTopFive" archived="pagePrograma.article.archived"></proposal-list><div class="row text-center"><div class="col-xs-12"><a ng-show="pagePrograma.total_proposals > 5" ui-sref="ranking({tema: pagePrograma.category.slug, programa: pagePrograma.article.slug})" class="btn btn-link"><span>Veja todas as {{pagePrograma.total_proposals}} propostas</span></a></div></div></div></div></section><section id="section-proposal-form" class="proposal-extended-section" style="display:none;"><div class="container"><div class="proposal-extended-section-header"><button type="button" aria-label="Close" class="btn btn-close" ng-click="pagePrograma.hideProposalForm()"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></button></div><div ng-if="!pagePrograma.$rootScope.currentUser"><show-message type="\'alert\'" message="\'Você não está logado!\'" description="\'Você precisa estar logado para enviar uma proposta.\'"></show-message><div class="row"><div class="col-sm-4"></div><div class="col-sm-8 text-center-sm"><a ui-sref="entrar({redirect_uri: pagePrograma.sendProposalRedirectURI})">Clique aqui para ir para a página de login</a></div></div></div><div ng-if="pagePrograma.$rootScope.currentUser"><div class="proposal-extended-section-content"><div ng-if="pagePrograma.proposalStatus === pagePrograma.PROPOSAL_STATUS.SUCCESS"><show-message type="\'success\'" message="\'Proposta enviada com sucesso!\'" description="\'Sua proposta foi enviada para a nossa equipe de moderação. Em aproximadamente 72 horas você receberá em seu endereço de e-mail uma resposta sobre a sua proposta.\'"></show-message><div class="row"><div class="col-sm-4"></div><div class="col-sm-8 text-center-sm"><button type="button" class="btn btn-link" ng-click="pagePrograma.sendAnotherProposal()">Clique aqui para enviar outra proposta</button></div></div></div><div ng-if="pagePrograma.proposalStatus === pagePrograma.PROPOSAL_STATUS.SENDING">Enviando...</div><div ng-if="pagePrograma.proposalStatus === pagePrograma.PROPOSAL_STATUS.ERROR"><show-message type="\'error\'" message="\'Erro \' + pagePrograma.error.code + \'!\'" description="pagePrograma.error.message"></show-message><div class="row"><div class="col-sm-4"></div><div class="col-sm-8 text-center-sm"><button type="button" class="btn btn-link" ng-click="pagePrograma.sendAnotherProposal()">Clique aqui para enviar outra proposta</button></div></div></div><div ng-if="!pagePrograma.proposalStatus"><cadastro-proposta program="pagePrograma.article" status="pagePrograma.proposalStatus"></cadastro-proposta></div></div></div></div></section><section id="section-archived-banner" class="color-theme-bg" ng-if="pagePrograma.article.archived"><div class="container"><div class="row"><div class="col-sm-12"><h2><div class="program-banner--icon" aria-hidden="true"><div class="icon icon-respostas"></div></div><span class="archived-banner--title1">As propostas para este programa já foram</span><br><span class="archived-banner--title2">respondidas pelo governo federal. Confira!</span></h2></div></div></div></section><section id="section-response" ng-if="pagePrograma.article.archived"><div ng-if="!pagePrograma.proposalsTopRated"><div class="container"><div class="row"><div class="col-sm-12"><div class="alert alert-info" role="alert">Carregando propostas mais votadas...</div></div></div></div></div><div ng-if="pagePrograma.proposalsTopRated"><div ng-repeat="proposal in pagePrograma.proposalsTopRated"><div class="sub-section sub-section-{{::proposal.id}}" ng-class="{\'sub-section-even\': ( ($index+1) % 2 === 0), \'sub-section-odd\': ( ($index+1) % 2 === 1)}"><div class="container"><div class="row"><div class="col-xs-6 col-sm-4 col-md-3"><div class="img-mask--container" ng-style="{\'background-image\':\'url( {{::proposal.body}} )\'}"><div class="img-mask--background ng-scope"><div class="icon icon-programa-respondido"><div class="icon-circle"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span></div></div></div></div></div><div class="col-xs-6 col-sm-8 col-md-9"><br><h3 class="color-theme-fg">{{($index+1)}}ª proposta mais votada:</h3><p>{{::proposal.abstract}}</p><div class="hidden-xs"><div class="button--themed" style="margin: 10px 0;"><button class="btn btn-block btn-responsive" ng-click="pagePrograma.toggleResponseVisibility(proposal)">Veja a resposta e o compromisso do governo<div class="button-left-icon"><span class="glyphicon glyphicon-chevron-down pull-right color-theme-common-fg" aria-hidden="true"></span></div></button></div><br></div></div><div class="col-xs-12 visible-xs"><div class="button--themed" style="margin: 10px 0;"><button class="btn btn-block btn-responsive" ng-click="pagePrograma.toggleResponseVisibility(proposal)">Veja a resposta e o compromisso do governo<div class="button-left-icon"><span class="glyphicon glyphicon-chevron-down pull-right color-theme-common-fg" aria-hidden="true"></span></div></button></div></div></div></div></div><div ng-if="proposal.response" class="gov-response gov-response-{{::proposal.id}}" style="display:none;"><div class="container"><div class="row"><div class="col-sm-12"><div ng-if="proposal.response.loading" class="alert alert-info" role="alert">Carregando a resposta e compromisso do governo.</div><div ng-if="proposal.response.error" class="alert alert-warning" role="alert">Erro ao carregar a resposta e compromisso. Tente novamente ou <a ui-sref="duvidas">entre em contato</a>.</div><div ng-if="proposal.response.content"><div class="gov-response--content"><div ng-bind-html="proposal.response.content"></div></div></div></div></div><div class="row"><div class="col-sm-12"><button class="btn btn-block btn-close-response pull-right color-theme-common-fg" ng-click="pagePrograma.toggleResponseVisibility(proposal)">FECHAR<div class="button-right-icon icon-circle icon-small icon-circle-close-response color-theme-common-bg pull-right"><span class="glyphicon glyphicon-remove icon-white" aria-hidden="true"></span></div></button></div></div></div></div></div><div class="response--context vertical-padding"><div class="container"><div class="row"><div class="col-sm-5"><div class="button--themed"><a class="btn btn-block" ui-sref="respostas"><span>Veja todas as propostas</span><br><span>Respondidas pelo governo</span> <span class="glyphicon glyphicon-chevron-right"></span></a></div></div><div class="col-sm-2"></div><div class="col-sm-5"><div class="button--themed"><button type="button" class="btn btn-block" ng-click="pagePrograma.toggleContentVisibility()"><span>Saiba mais sobre o programa</span><br><span>{{::pagePrograma.article.title}}</span> <span class="glyphicon glyphicon-chevron-right"></span></button></div></div></div></div></div></div></section><section class="section-content" ng-style="{ display: pagePrograma.article.archived ? \'none\': \'block\' }"><div ng-if="pagePrograma.article.archived"><div class="container"><div class="row"><div class="col-sm-12 color-theme-fg"><h3 style="font-weight: bold;">Sobre o programa:</h3></div></div></div></div><article class="program-content" ng-if="pagePrograma.article" ng-class="pagePrograma.article.slug"><div ng-bind-html="pagePrograma.article.bodyTrusted"></div></article></section></div></div>'),
e.put("app/pages/programas/programas.html",'<div class="container"><div class="row"><div class="col-sm-12"><div ncy-breadcrumb=""></div></div></div></div><div class="page--programas" role="main"><section class="section--info"><div class="container"><div class="row"><div class="col-sm-12"><h1>Programas</h1></div></div></div></section><section class="section--articles section-gray section-space-up" ng-if="pageProgramas.programs"><div class="container"><div id="lista-de-programas" class="row"><div class="col-sm-4 col-md-3"><div class="row visible-xs"><div class="col-xs-12"><div class="input-group input-group-lg input-group-search"><label for="articleQueryFilter" class="control-label sr-only">Buscar programas:</label> <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pageProgramas.query" placeholder="Buscar programas" aria-label="Buscar programas"> <span class="input-group-btn"><button type="button" class="btn btn-default" ng-click="pageProgramas.submitSearch()"><span class="icon-circle icon-small color-theme-common-bg"><span class="glyphicon glyphicon-search"></span></span> <span class="sr-only">Buscar</span></button></span></div><br></div></div><div ng-if="pageProgramas.themes && !vm.loadingFilter"><category-list categories="pageProgramas.themes" selected-category="pageProgramas.selectedTheme"></category-list></div><div ng-if="!pageProgramas.themes && pageProgramas.loadingThemes"><div class="alert alert-info" role="alert">Carregando temas.</div></div><div ng-if="!pageProgramas.themes && pageProgramas.themesError"><div class="alert alert-danger" role="alert">Não foi possível carregar a lista de temas neste momento.</div></div></div><div class="col-sm-8 col-md-9"><div class="row hidden-xs"><div class="col-xs-12"><div class="input-group input-group-lg input-group-search"><label for="articleQueryFilter" class="control-label sr-only">Buscar programas:</label> <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pageProgramas.query" placeholder="Buscar programas" aria-label="Buscar programas"> <span class="input-group-btn"><button type="button" class="btn btn-default" ng-click="pageProgramas.submitSearch()"><span class="icon-circle icon-small color-theme-common-bg"><span class="glyphicon glyphicon-search"></span></span> <span class="sr-only">Buscar</span></button></span></div></div></div><div id="search-result" class="row"><div class="col-sm-12"><header class="header"><h2>Conheça os programas</h2><button type="button" class="btn btn-link" ng-click="pageProgramas.showAllPrograms($event)"><span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span> Ver todos os {{::pageProgramas.programs.length}} programas</button></header></div></div><div class="row"><div class="col-sm-12" ng-if="pageProgramas.filtredPrograms && !vm.loadingFilter"><article-grid articles="pageProgramas.filtredPrograms"></article-grid></div><div ng-if="!pageProgramas.programs && pageProgramas.loadingPrograms"><div class="alert alert-info" role="alert">Carregando programas.</div></div><div ng-if="!pageProgramas.programs && pageProgramas.programsError"><div class="alert alert-danger" role="alert">Não foi possível carregar a lista de programas neste momento.</div></div></div></div></div></div></section></div>'),e.put("app/pages/propostas/propostas.html",'<div class="container"><div class="row"><div class="col-sm-12"><div ncy-breadcrumb=""></div></div></div></div><div class="page--propostas" role="main"><section class="section-info" ng-if="pagePropostas.loading || pagePropostas.error"><div class="container"><div class="row"><div class="col-md-12"><div ng-if="pagePropostas.loading && !pagePropostas.error"><div class="alert alert-info" role="alert">Carregando conteúdo...</div></div><div ng-if="pagePropostas.error"><div class="alert alert-danger" role="alert">Erro ao carregar o conteúdo principal.</div></div></div></div></div></section><section class="section--header" ng-if="pagePropostas.filtredProposals || pagePropostas.themes"><div class="container"><div class="row"><div class="col-sm-12"><h1>Propostas</h1></div></div></div></section><section class="section--articles section-gray section-space-up" ng-if="pagePropostas.filtredProposals || pagePropostas.themes"><div class="container"><div id="lista-de-propostas" class="row"><div class="col-sm-4 col-md-3"><div class="row visible-xs"><div class="col-xs-12"><div class="input-group input-group-lg input-group-search"><label for="articleQueryFilter" class="control-label sr-only">Buscar propostas:</label> <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pagePropostas.query" placeholder="Buscar propostas" aria-label="Buscar propostas"><div class="input-group-btn"><button type="button" class="btn btn-default" ng-click="pagePropostas.submitSearch()"><div class="icon-circle icon-small color-theme-common-bg"><span class="glyphicon glyphicon-search"></span></div><span class="sr-only">Buscar</span></button></div></div><br></div></div><div ng-if="pagePropostas.themes"><category-list categories="pagePropostas.themes" selected-category="pagePropostas.selectedTheme"></category-list></div><div ng-if="!pagePropostas.themes && pagePropostas.loadingThemes"><div class="alert alert-info" role="alert">Carregando temas.</div></div><div ng-if="!pagePropostas.themes && pagePropostas.themesError"><div class="alert alert-danger" role="alert">Não foi possível carregar a lista de temas neste momento.</div></div></div><div class="col-sm-8 col-md-9"><div class="row hidden-xs" ng-if="pagePropostas.filtredProposals"><div class="col-xs-12"><div class="input-group input-group-lg input-group-search"><label for="articleQueryFilter" class="control-label sr-only">Buscar propostas:</label> <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pagePropostas.query" placeholder="Buscar propostas" aria-label="Buscar propostas"><div class="input-group-btn"><button type="button" class="btn btn-default" ng-click="pagePropostas.submitSearch()"><div class="icon-circle icon-small color-theme-common-bg"><span class="glyphicon glyphicon-search"></span></div><span class="sr-only">Buscar</span></button></div></div></div></div><div id="search-result" class="row" ng-if="pagePropostas.filtredProposals"><div class="col-sm-12"><header class="header"><h2>Total de Propostas: "<b>{{pagePropostas.total_proposals}} propostas</b>"</h2></header></div></div><div class="row"><div class="col-sm-12" ng-if="!pagePropostas.loadingProposals && pagePropostas.filtredProposals && pagePropostas.total_proposals"><proposal-grid proposals="pagePropostas.filtredProposals"></proposal-grid><app-paginator page="pagePropostas.page" per-page="pagePropostas.per_page" total="pagePropostas.total_proposals" change-page="pagePropostas.changePage(pageIndex)"></app-paginator></div><div ng-if="pagePropostas.loadingProposals"><div class="alert alert-info" role="alert">Carregando propostas.</div></div><div ng-if="!pagePropostas.loadingProposals && pagePropostas.proposalsError"><div class="alert alert-danger" role="alert">Não foi possível carregar a lista de propostas neste momento.</div></div></div></div></div></div></section></div>'),e.put("app/pages/ranking/ranking.html",'<div class="container"><div class="row"><div class="col-sm-12"><div ncy-breadcrumb=""></div></div></div></div><div class="page--ranking" role="main"><section class="section-info" ng-if="pageRanking.loading || pageRanking.error"><div class="container"><div class="row"><div class="col-md-12"><div ng-if="pageRanking.loading && !pageRanking.error"><div class="alert alert-info" role="alert">Carregando conteúdo...</div></div><div ng-if="pageRanking.error"><div class="alert alert-danger" role="alert">Erro ao carregar o conteúdo principal.</div></div></div></div></div></section><section class="section--info" ng-if="pageRanking.filtredProposals || pageRanking.themes"><div class="container"><div class="row"><div class="col-sm-12"><h1>Ranking</h1></div></div></div></section><section class="section--articles section-gray section-space-up" ng-if="pageRanking.filtredProposals || pageRanking.themes"><div class="container"><div id="lista-de-propostas" class="row"><div class="col-sm-4 col-md-3"><div ng-if="pageRanking.themes"><category-list categories="pageRanking.themes" selected-category="pageRanking.selectedTheme" disable-unselect="true"></category-list></div><div ng-if="pageRanking.filtredPrograms && pageRanking.selectedProgram" class="topics-select--wrapper"><topics-select topics="pageRanking.filtredPrograms" selected-topic="pageRanking.selectedProgram"></topics-select></div><div ng-if="!pageRanking.themes && pageRanking.loadingThemes"><div class="alert alert-info" role="alert">Carregando temas.</div></div><div ng-if="!pageRanking.themes && pageRanking.themesError"><div class="alert alert-danger" role="alert">Não foi possível carregar a lista de temas neste momento.</div></div></div><div class="col-sm-8 col-md-9"><div class="row"><div class="col-sm-12"><header class="header"><h2 style="margin-top:0;">Total de Propostas: "<span>{{pageRanking.total_proposals}} propostas</span>"</h2></header></div></div><div class="row"><div class="col-sm-12" ng-if="pageRanking.filtredProposals && pageRanking.total_proposals"><proposal-list proposals="pageRanking.filtredProposals" per-page="pageRanking.per_page" total="pageRanking.total_proposals"></proposal-list><app-paginator page="pageRanking.page" per-page="pageRanking.per_page" total="pageRanking.total_proposals" change-page="pageRanking.changePage(pageIndex)"></app-paginator></div><div class="col-sm-12" ng-if="pageRanking.loadingProposals"><div class="alert alert-info" role="alert">Carregando propostas.</div></div><div class="col-sm-12" ng-if="pageRanking.proposalsError"><div class="alert alert-danger" role="alert">Não foi possível carregar a lista de propostas neste momento.</div></div></div></div></div></div></section></div>'),e.put("app/pages/respostas/respostas.html",'<div class="container"><div class="row"><div class="col-sm-12"><div ncy-breadcrumb=""></div></div></div></div><div class="page--respostas" role="main"><section class="section-info" ng-if="pageRespostas.loading || pageRespostas.error"><div class="container"><div class="row"><div class="col-md-12"><div ng-if="pageRespostas.loading && !pageRespostas.error"><div class="alert alert-info" role="alert">Carregando conteúdo...</div></div><div ng-if="pageRespostas.error"><div class="alert alert-danger" role="alert">Erro ao carregar o conteúdo principal.</div></div></div></div></div></section><section class="section--header" ng-if="pageRespostas.filtredProposals || pageRespostas.themes"><div class="container"><div class="row"><div class="col-sm-12"><h1>O Governo Federal segue dialogando com a sociedade</h1><p>Você fez sua parte participando com propostas para melhorar o país e o Governo respondeu. Confira as propostas respondidas.</p></div></div></div></section><section class="section--articles section-gray section-space-up" ng-if="pageRespostas.filtredProposals || pageRespostas.themes"><div class="container"><div id="lista-de-respostas" class="row"><div class="col-sm-4 col-md-3"><div class="row visible-xs"><div class="col-xs-12"><div class="input-group input-group-lg input-group-search"><label for="articleQueryFilter" class="control-label sr-only">Buscar respostas:</label> <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pageRespostas.query" placeholder="Buscar respostas" aria-label="Buscar respostas"><div class="input-group-btn"><button type="button" class="btn btn-default" ng-click="pageRespostas.submitSearch()"><div class="icon-circle icon-small color-theme-common-bg"><span class="glyphicon glyphicon-search"></span></div><span class="sr-only">Buscar</span></button></div></div><br></div></div><div ng-if="pageRespostas.themes"><category-list categories="pageRespostas.themes" selected-category="pageRespostas.selectedTheme"></category-list></div><div ng-if="!pageRespostas.themes && pageRespostas.loadingThemes"><div class="alert alert-info" role="alert">Carregando temas.</div></div><div ng-if="!pageRespostas.themes && pageRespostas.themesError"><div class="alert alert-danger" role="alert">Não foi possível carregar a lista de temas neste momento.</div></div></div><div class="col-sm-8 col-md-9"><div class="row hidden-xs" ng-if="pageRespostas.filtredProposals"><div class="col-xs-12"><div class="input-group input-group-lg input-group-search"><label for="articleQueryFilter" class="control-label sr-only">Buscar propostas:</label> <input id="articleQueryFilter" type="search" class="form-control input-search" ng-model="pageRespostas.query" placeholder="Buscar respostas" aria-label="Buscar respostas"><div class="input-group-btn"><button type="button" class="btn btn-default" ng-click="pageRespostas.submitSearch()"><div class="icon-circle icon-small color-theme-common-bg"><span class="glyphicon glyphicon-search"></span></div><span class="sr-only">Buscar</span></button></div></div></div></div><div id="search-result" class="row" ng-if="pageRespostas.filtredProposals"><div class="col-sm-12"><header class="header"><h2>Total de Propostas: "<b>{{pageRespostas.total_proposals}} propostas</b>"</h2></header></div></div><div class="row"><div class="col-sm-12" ng-if="!pageRespostas.loadingProposals && pageRespostas.filtredProposals && pageRespostas.total_proposals"><proposal-grid proposals="pageRespostas.filtredProposals"></proposal-grid><app-paginator page="pageRespostas.page" per-page="pageRespostas.per_page" total="pageRespostas.total_proposals" change-page="pageRespostas.changePage(pageIndex)"></app-paginator></div><div ng-if="pageRespostas.loadingProposals"><div class="alert alert-info" role="alert">Carregando propostas.</div></div><div ng-if="!pageRespostas.loadingProposals && pageRespostas.proposalsError"><div class="alert alert-danger" role="alert">Não foi possível carregar a lista de propostas neste momento.</div></div></div></div></div></div></section></div>')}]);