From 4c92e73cf1400f20f1213a03218e679b2db10c9a Mon Sep 17 00:00:00 2001 From: yuanke <249218296@qq.com> Date: Mon, 6 Jun 2016 09:34:45 +0800 Subject: [PATCH 001/106] =?UTF-8?q?=E6=A0=B9=E6=8D=AEhttp=E5=92=8Chttps?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E8=A7=86=E9=A2=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/javascripts/application.js | 39 ++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/public/javascripts/application.js b/public/javascripts/application.js index 468bf64e9..b8d9da240 100644 --- a/public/javascripts/application.js +++ b/public/javascripts/application.js @@ -1347,6 +1347,43 @@ function pop_up_box(value,tWidth,tTop,tLeft){ } } +//显示的时候根据当前网址是http 还是https 选择视频显示方式直接显示还是弹框 +function autoMedia(id){ + var rootPath = getRootPath(); + + function _mediaType(src) { + if (/\.(rm|rmvb)(\?|$)/i.test(src)) { + return 'audio/x-pn-realaudio-plugin'; + } + if (/\.(swf|flv)(\?|$)/i.test(src)) { + return 'application/x-shockwave-flash'; + } + return 'video/x-ms-asf-plugin'; + } + + if (rootPath.indexOf("https") < 0){ + $("#"+id+" img").each(function(){ + if ($(this).attr("class") == "mediaIco"){ + var href = $(this).parent().attr("href"); + //正则取地址 + if (href){ + var url = href.split("open('")[1].split("',")[0]; + if (url != ""){ + var type = _mediaType(url); + //1.video/x-ms-asf-plugin 类型的视频播放不了,2.audio/x-pn-realaudio-plugin没试过3.application/x-shockwave-flash可以播放 + if (type != "video/x-ms-asf-plugin"){ + var width = 550; + var height = 400; + var html = ''; + $(this).parent().replaceWith(html); + } + } + } + } + }); + } +} + //yk 自动识别URL 并加上链接 function autoUrl(id){ if ($("#"+id).children().length > 0 ){ @@ -1387,6 +1424,6 @@ function autoUrl(id){ }); $("#"+id).html(html); } + autoMedia(id); } - From c6d36bd73890e8da7c1d2425e4b3272c82fff1bf Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 6 Jun 2016 14:21:58 +0800 Subject: [PATCH 002/106] =?UTF-8?q?=E6=9C=AA=E7=99=BB=E5=BD=95=E7=95=99?= =?UTF-8?q?=E8=A8=80=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org_document_comments_controller.rb | 2 +- .../organizations/_show_org_document.html.erb | 24 +++++++++++-------- app/views/users/_show_unlogged.html.erb | 0 3 files changed, 15 insertions(+), 11 deletions(-) create mode 100644 app/views/users/_show_unlogged.html.erb diff --git a/app/controllers/org_document_comments_controller.rb b/app/controllers/org_document_comments_controller.rb index c938a2d4b..dd237de17 100644 --- a/app/controllers/org_document_comments_controller.rb +++ b/app/controllers/org_document_comments_controller.rb @@ -1,6 +1,6 @@ class OrgDocumentCommentsController < ApplicationController before_filter :find_organization, :only => [:new, :create, :show, :index] - before_filter :authorize_allowed, :only => [:create] + before_filter :authorize_allowed, :only => [:create, :add_reply] helper :attachments,:organizations layout 'base_org' diff --git a/app/views/organizations/_show_org_document.html.erb b/app/views/organizations/_show_org_document.html.erb index 3042ca9ae..594063629 100644 --- a/app/views/organizations/_show_org_document.html.erb +++ b/app/views/organizations/_show_org_document.html.erb @@ -115,17 +115,21 @@ <%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33", :alt => "用户头像"), user_url_in_org(User.current.id) %>
-
- <%= form_for('new_form', :url => add_reply_org_document_comment_path(:id => document.id, :act_id => act.id, :flag => flag), :method => "post", :remote => true) do |f| %> - -
- - + <% if User.current.logged? %> +
+ <%= form_for('new_form', :url => add_reply_org_document_comment_path(:id => document.id, :act_id => act.id, :flag => flag), :method => "post", :remote => true) do |f| %> + +
+ + -
-

- <% end %> -
+
+

+ <% end %> +
+ <% else %> + <%= render :partial => "users/show_unlogged" %> + <% end %>
diff --git a/app/views/users/_show_unlogged.html.erb b/app/views/users/_show_unlogged.html.erb new file mode 100644 index 000000000..e69de29bb From d3c6c0ca99d9e13b29c0194006902269cc28f857 Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 6 Jun 2016 14:29:33 +0800 Subject: [PATCH 003/106] =?UTF-8?q?=E4=BA=8C=E7=BA=A7=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E6=9C=AA=E7=99=BB=E5=BD=95=E6=97=B6=E5=9B=9E=E5=A4=8D=E6=8F=90?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sub_document_comments_controller.rb | 2 +- .../_show_sub_document.html.erb | 25 +++++++++++-------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/app/controllers/sub_document_comments_controller.rb b/app/controllers/sub_document_comments_controller.rb index d6b335006..80c14f004 100644 --- a/app/controllers/sub_document_comments_controller.rb +++ b/app/controllers/sub_document_comments_controller.rb @@ -1,7 +1,7 @@ class SubDocumentCommentsController < ApplicationController before_filter :find_subdomain_and_subfield, :only => [:new, :create, :show, :index, :destroy, :edit] before_filter :find_subfield_content, :only => [:show, :index] - before_filter :authorize_allowed, :only => [:create] + before_filter :authorize_allowed, :only => [:create, :add_reply] helper :attachments,:organizations layout 'base_sub_domain' diff --git a/app/views/sub_document_comments/_show_sub_document.html.erb b/app/views/sub_document_comments/_show_sub_document.html.erb index 135a48268..2eec92209 100644 --- a/app/views/sub_document_comments/_show_sub_document.html.erb +++ b/app/views/sub_document_comments/_show_sub_document.html.erb @@ -123,17 +123,20 @@ <%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33", :alt => "用户头像"), user_url_in_org(User.current.id) %>
-
- <%= form_for('new_form', :url => add_reply_org_subfield_sub_domain_sub_document_comment_path(:id => document.id, :act_id => act.id, :flag => flag), :method => "post", :remote => true) do |f| %> - -
- - - -
-

- <% end %> -
+ <% if User.current.logged? %> +
+ <%= form_for('new_form', :url => add_reply_org_subfield_sub_domain_sub_document_comment_path(:id => document.id, :act_id => act.id, :flag => flag), :method => "post", :remote => true) do |f| %> + +
+ + +
+

+ <% end %> +
+ <% else %> + <%= render :partial => "users/show_unlogged" %> + <% end %>
From a44cb47a269eb252fe7fbf941cbb5a689631bb98 Mon Sep 17 00:00:00 2001 From: Tim Date: Mon, 6 Jun 2016 14:41:18 +0800 Subject: [PATCH 004/106] =?UTF-8?q?=E7=BB=84=E7=BB=87=E6=9C=AA=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E5=9B=9E=E5=A4=8D=E6=A1=86=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/users/_show_unlogged.html.erb | 1 + public/stylesheets/org.css | 3 +++ 2 files changed, 4 insertions(+) diff --git a/app/views/users/_show_unlogged.html.erb b/app/views/users/_show_unlogged.html.erb index e69de29bb..48cf73f15 100644 --- a/app/views/users/_show_unlogged.html.erb +++ b/app/views/users/_show_unlogged.html.erb @@ -0,0 +1 @@ +
登录 后可添加回复
\ No newline at end of file diff --git a/public/stylesheets/org.css b/public/stylesheets/org.css index 3e3f59f18..459d050e1 100644 --- a/public/stylesheets/org.css +++ b/public/stylesheets/org.css @@ -178,3 +178,6 @@ a.teacher-select {font-size:13px; color:#fff; padding:3px 18px; background-color a.teacher-select:hover {background-color:#297fb8;} a.follow-button {font-size:13px; color:#272727; padding:3px 5px; background-color:#f2efef;} a.follow-button:hover {background-color:#c1c1c1;} + +/*组织未登录提示*/ +.visitor-box {width:620px; height:33px; line-height:33px; text-align:center; vertical-align: middle; border:1px solid #ccc; background-color: #fff;} From 4ea12a6dc581dd3facddcc9211973aa38f712cb2 Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 6 Jun 2016 14:55:13 +0800 Subject: [PATCH 005/106] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=8C=BF=E5=90=8D?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=95=B0=E6=8D=AE=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/migrate/20160606064856_delete_anonymous_org.rb | 8 ++++++++ db/schema.rb | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20160606064856_delete_anonymous_org.rb diff --git a/db/migrate/20160606064856_delete_anonymous_org.rb b/db/migrate/20160606064856_delete_anonymous_org.rb new file mode 100644 index 000000000..c1bc895cb --- /dev/null +++ b/db/migrate/20160606064856_delete_anonymous_org.rb @@ -0,0 +1,8 @@ +class DeleteAnonymousOrg < ActiveRecord::Migration + def up + OrgDocumentComment.where(:organization_id => 23, :creator_id => 2).delete_all + end + + def down + end +end diff --git a/db/schema.rb b/db/schema.rb index 05a6f4e22..504849d39 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20160601073753) do +ActiveRecord::Schema.define(:version => 20160606064856) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false From df8df117a8538968df8f269448abd5aa837ecfb3 Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 6 Jun 2016 15:02:11 +0800 Subject: [PATCH 006/106] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=8C=BF=E5=90=8D?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=99=BB=E5=BD=95=E9=97=AE=E9=A2=98=EF=BC=88?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E5=99=A8=E5=92=8Cview=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/users/_show_unlogged.html.erb | 4 +++- public/stylesheets/users.css | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/views/users/_show_unlogged.html.erb b/app/views/users/_show_unlogged.html.erb index 48cf73f15..258ebe7af 100644 --- a/app/views/users/_show_unlogged.html.erb +++ b/app/views/users/_show_unlogged.html.erb @@ -1 +1,3 @@ -
登录 后可添加回复
\ No newline at end of file +
+ <%= link_to "登录", signin_path, :class => "linkBlue", :target => "_blank" %>后可添加回复 +
\ No newline at end of file diff --git a/public/stylesheets/users.css b/public/stylesheets/users.css index 6fa7ec6a0..eaefb8d1b 100644 --- a/public/stylesheets/users.css +++ b/public/stylesheets/users.css @@ -1,4 +1,7 @@ #RSide{ min-height:1px;} + + + /* 左侧信息*/ .users_info{background:#fff; padding:10px; width:230px; padding-right:0px; margin-bottom:10px; } .pic_head{ width:214px; height:214px; border:1px solid #cbcbcb; padding:2px; position:relative;} From bfa447c19589f558cab90eb3c6b5d576d75cd011 Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 6 Jun 2016 15:11:07 +0800 Subject: [PATCH 007/106] =?UTF-8?q?=E6=9C=AA=E7=99=BB=E5=BD=95=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E4=B8=8Banonymos=E6=94=B9=E4=B8=BA=E6=9C=AA=E7=99=BB?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/application_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 3aa7d8a4a..46fdb02f3 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1080,7 +1080,7 @@ module ApplicationHelper elsif @user title << @user.try(:realname) else - title << User.current.try(:realname) + title << (User.current.id == 2 ? "未登录" : User.current.try(:realname)) end if first_page.nil? || first_page.web_title.nil? title << Setting.app_title unless Setting.app_title == title.last From 793978f1962e8ba57b51efb39b3e4c5701b51281 Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 6 Jun 2016 16:15:35 +0800 Subject: [PATCH 008/106] =?UTF-8?q?=E7=BB=84=E7=BB=87--=E5=90=8D=E5=B8=88?= =?UTF-8?q?=E3=80=81=E5=AD=A6=E9=9C=B8=EF=BC=9A=E5=A6=82=E5=9B=BE=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E7=BB=93=E6=9E=9C=E6=9C=89=E5=A4=9A=E9=A1=B5=EF=BC=8C?= =?UTF-8?q?=E7=BF=BB=E9=A1=B5=E5=90=8E=E5=BB=BA=E8=AE=AE=E8=BE=93=E5=85=A5?= =?UTF-8?q?=E7=9A=84=E6=90=9C=E7=B4=A2=E6=9D=A1=E4=BB=B6=E4=BB=8D=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E5=9C=A8=E6=90=9C=E7=B4=A2=E6=A1=86=E5=86=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/organizations/courses.js.erb | 4 ++-- app/views/organizations/projects.js.erb | 3 +-- app/views/organizations/students.js.erb | 3 +-- app/views/organizations/teachers.js.erb | 3 +-- 4 files changed, 5 insertions(+), 8 deletions(-) diff --git a/app/views/organizations/courses.js.erb b/app/views/organizations/courses.js.erb index dc42c115c..48868be39 100644 --- a/app/views/organizations/courses.js.erb +++ b/app/views/organizations/courses.js.erb @@ -1,3 +1,3 @@ $("#org_container_list").html('<%= escape_javascript( render :partial => 'organizations/org_container', :locals => {:containers => @containers})%>'); -$("#pages").html('<%= pagination_links_full @atta_pages, @container_count, :per_page_links => false, :remote => @is_remote, :flag => true %>'); -$("#org_student_search").attr('href','<%= courses_organization_path(@organization, :type => @type) %>'); \ No newline at end of file +$("#pages").html('<%= pagination_links_full @atta_pages, @container_count, :per_page_links => false, :remote => true, :flag => true %>'); +//$("#org_student_search").attr('href','<%#= courses_organization_path(@organization, :type => @type) %>'); \ No newline at end of file diff --git a/app/views/organizations/projects.js.erb b/app/views/organizations/projects.js.erb index e8d4f244a..cf3216fdf 100644 --- a/app/views/organizations/projects.js.erb +++ b/app/views/organizations/projects.js.erb @@ -1,3 +1,2 @@ $("#org_container_list").html('<%= escape_javascript( render :partial => 'organizations/org_container', :locals => {:containers => @containers})%>'); -$("#pages").html('<%= pagination_links_full @atta_pages, @container_count, :per_page_links => false, :remote => @is_remote, :flag => true %>'); -$("#org_student_search").attr('href','<%= projects_organization_path(@organization, :type => @type) %>'); \ No newline at end of file +$("#pages").html('<%= pagination_links_full @atta_pages, @container_count, :per_page_links => false, :remote => true, :flag => true %>'); diff --git a/app/views/organizations/students.js.erb b/app/views/organizations/students.js.erb index c65f8f861..7a427c1ac 100644 --- a/app/views/organizations/students.js.erb +++ b/app/views/organizations/students.js.erb @@ -1,3 +1,2 @@ $("#org_students_list").html('<%= escape_javascript( render :partial => 'organizations/org_students_list', :locals => {:org_students => @org_students})%>'); -$("#pages").html('<%= pagination_links_full @atta_pages, @students_count, :per_page_links => false, :remote => @is_remote, :flag => true %>'); -$("#org_student_search").attr('href','<%= students_organization_path(@organization, :type => @type) %>'); \ No newline at end of file +$("#pages").html('<%= pagination_links_full @atta_pages, @students_count, :per_page_links => false, :remote => true, :flag => true %>'); diff --git a/app/views/organizations/teachers.js.erb b/app/views/organizations/teachers.js.erb index cd7323a4a..04eecb810 100644 --- a/app/views/organizations/teachers.js.erb +++ b/app/views/organizations/teachers.js.erb @@ -1,3 +1,2 @@ $("#org_teachers_list").html('<%= escape_javascript( render :partial => 'organizations/org_teachers_list', :locals => {:org_teachers => @org_teachers})%>'); -$("#pages").html('<%= pagination_links_full @atta_pages, @teachers_count, :per_page_links => false, :remote => @is_remote, :flag => true %>'); -$("#org_teacher_search").attr('href','<%= teachers_organization_path(@organization, :type => @type) %>'); \ No newline at end of file +$("#pages").html('<%= pagination_links_full @atta_pages, @teachers_count, :per_page_links => false, :remote => true, :flag => true %>'); \ No newline at end of file From 5b2c22d26453fbe8bc45fb9f629e8b442860a3c8 Mon Sep 17 00:00:00 2001 From: Tim Date: Mon, 6 Jun 2016 16:42:41 +0800 Subject: [PATCH 009/106] =?UTF-8?q?=E5=8E=86=E5=8F=B2=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E8=BF=87=E9=95=BF=E5=AF=BC=E8=87=B4=E6=8A=98?= =?UTF-8?q?=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/attachments/_attachment_history_download.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/attachments/_attachment_history_download.html.erb b/app/views/attachments/_attachment_history_download.html.erb index c805960f0..c3e586fb1 100644 --- a/app/views/attachments/_attachment_history_download.html.erb +++ b/app/views/attachments/_attachment_history_download.html.erb @@ -13,7 +13,7 @@ <%= link_to truncate(@attachment.filename,length: 35, omission: '...'), download_named_attachment_path(@attachment.id, @attachment.filename), - :title => @attachment.filename+"\n"+@attachment.description.to_s, :style => "overflow: hidden; white-space: nowrap;text-overflow: ellipsis; max-width:300px;",:class => "linkBlue f14 fb link_file_a2 fl" %> + :title => @attachment.filename+"\n"+@attachment.description.to_s, :style => "overflow: hidden; white-space: nowrap;text-overflow: ellipsis; max-width:280px;",:class => "linkBlue f14 fb link_file_a2 fl" %> 版本号:当前
From b8d49f0079e88028dd9bde0aeb2f8b5ac756869b Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 6 Jun 2016 18:24:12 +0800 Subject: [PATCH 010/106] 0 --- app/controllers/repositories_controller.rb | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index 531f0cb90..857f98afc 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -325,13 +325,10 @@ update def show ## TODO: the below will move to filter, done. - if !User.current.member_of?(@project) - if @project.hidden_repo - render_403 - return -1 - end + if !User.current.member_of?(@project) && @project.hidden_repo + render_403 + return end - @entries = @repository.entries(@path, @rev) @changeset = @repository.find_changeset_by_name(@rev) if request.xhr? From 1553eadc58294f8bf98a9164487941b1853a61c3 Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 7 Jun 2016 10:17:16 +0800 Subject: [PATCH 011/106] =?UTF-8?q?=E5=AE=BD=E5=BA=A6=E6=94=B9=E6=88=90100?= =?UTF-8?q?0=E4=BA=8C=E7=BA=A7=E7=9B=AE=E5=BD=95=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E4=BA=8C=E6=A0=B7=E5=BC=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sub_document_comments_controller.rb | 6 +++--- .../layouts/_org_subdomain_footer.html.erb | 13 ++++++++++++ app/views/layouts/base_org_custom.html.erb | 6 +++--- app/views/layouts/base_sub_domain.html.erb | 20 ++----------------- public/stylesheets/org2.css | 16 +++++++-------- 5 files changed, 29 insertions(+), 32 deletions(-) create mode 100644 app/views/layouts/_org_subdomain_footer.html.erb diff --git a/app/controllers/sub_document_comments_controller.rb b/app/controllers/sub_document_comments_controller.rb index 80c14f004..2e0890e27 100644 --- a/app/controllers/sub_document_comments_controller.rb +++ b/app/controllers/sub_document_comments_controller.rb @@ -3,7 +3,7 @@ class SubDocumentCommentsController < ApplicationController before_filter :find_subfield_content, :only => [:show, :index] before_filter :authorize_allowed, :only => [:create, :add_reply] helper :attachments,:organizations - layout 'base_sub_domain' + layout 'base_org_custom' def new @sub_document_comment = SubDocumentComment.new @@ -41,7 +41,7 @@ class SubDocumentCommentsController < ApplicationController if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization) @document = SubDocumentComment.find(params[:id]) respond_to do |format| - format.html {render :layout => @organization.switch_type ? 'base_sub_domain' : 'base_org'} + format.html {render :layout => @organization.switch_type ? 'base_org_custom' : 'base_org'} end else render_403 @@ -58,7 +58,7 @@ class SubDocumentCommentsController < ApplicationController @offset ||= @atta_pages.offset @documents = paginateHelper @documents,20 respond_to do |format| - format.html {render :layout => @organization.switch_type ? 'base_sub_domain' : 'base_org'} + format.html {render :layout => @organization.switch_type ? 'base_org_custom' : 'base_org'} end else render_403 diff --git a/app/views/layouts/_org_subdomain_footer.html.erb b/app/views/layouts/_org_subdomain_footer.html.erb new file mode 100644 index 000000000..dd991d900 --- /dev/null +++ b/app/views/layouts/_org_subdomain_footer.html.erb @@ -0,0 +1,13 @@ +
+ +
\ No newline at end of file diff --git a/app/views/layouts/base_org_custom.html.erb b/app/views/layouts/base_org_custom.html.erb index bfa76a221..8f071bfb2 100644 --- a/app/views/layouts/base_org_custom.html.erb +++ b/app/views/layouts/base_org_custom.html.erb @@ -9,16 +9,16 @@ <%= favicon %> <%= javascript_heads %> <%= heads_for_theme %> - <%= stylesheet_link_tag 'new_user', 'public', 'org_custom','jquery/jquery-ui-1.9.2' %> + <%= stylesheet_link_tag 'new_user', 'public', 'org_custom','jquery/jquery-ui-1.9.2', 'org2' %> <%= call_hook :view_layouts_base_html_head %> <%= yield :header_tags -%> - <%=render :partial => "math_js" %> + <%#=render :partial => "math_js" %> <% update_visiti_count @organization %>
- <%= render :partial => 'org_custom_header', :locals => {:subfield_content => @subfield_content} %> + <%= render :partial => 'organizations/org_custom_header', :locals => {:subfield_content => @subfield_content} %>
<%# 内容开始 %> diff --git a/app/views/layouts/base_sub_domain.html.erb b/app/views/layouts/base_sub_domain.html.erb index 871e2cdea..0e6509e70 100644 --- a/app/views/layouts/base_sub_domain.html.erb +++ b/app/views/layouts/base_sub_domain.html.erb @@ -160,30 +160,14 @@
- -
- -
+ <%= render :partial => "layouts/org_custom_footer" %>
- - + diff --git a/public/stylesheets/org2.css b/public/stylesheets/org2.css index 3d46a9296..6672eb073 100644 --- a/public/stylesheets/org2.css +++ b/public/stylesheets/org2.css @@ -166,17 +166,17 @@ a.more-btn{ display:block; width:185px; height:30px; text-align:center; backgrou /* 内页新闻列表 */ .sn-inner-body{ width:100%; background-color:#fff;} -.sn-innner-content{ width:1200px; margin:0 auto;} +.sn-innner-content{ width:1000px; margin:0 auto;} .sn-inner-newsh2{ font-size:20px; font-weight:normal; padding-bottom:5px; border-bottom:1px dashed #eee;} .sn-circle{ margin:18px 5px 0 5px ;border:1px solid #24366e; width:5px; height:5px; -webkit-border-radius:50px; -moz-border-radius:50px; -o-border-radius:50px; border-radius:50px; } .sn-inner-newslist ul li{ line-height:42px; font-size:15px; border-bottom:1px solid #eee;} .sn-inner-newslist a{font-size:15px; color:#888;} .sn-inner-newslist a:hover{ color:#24366e;} -a.sn-newslist-titile{ font-size:15px;width:840px; display:block;overflow:hidden;white-space:nowrap; text-overflow:ellipsis;} +a.sn-newslist-titile{ font-size:15px;width:700px; display:block;overflow:hidden;white-space:nowrap; text-overflow:ellipsis;} a:hover.sn-newslist-reply,a:hover.sn-newslist-zan{ color:#379be9;} /* 内页新闻展示 */ -.sn-inner-newscon{ width:1200px; padding:5px 0 50px; border-bottom:1px solid #e8e8e8; margin-bottom:30px; color:#999; font-size:14px; } +.sn-inner-newscon{ width:1000px; padding:5px 0 50px; border-bottom:1px solid #e8e8e8; margin-bottom:30px; color:#999; font-size:14px; } .sn-inner-pcon{text-indent:2em; overflow:hidden;} .sn-inner-newscon img{ display:block; max-width:830px; margin:25px auto 5px;} .sn-inner-psmall{ color:#999; font-size:12px; margin-bottom:15px;} @@ -186,8 +186,8 @@ a:hover.sn-newslist-zan{ background:url(../images/zan.gif) 0 -21px no-repeat; } /* 留言 */ .sn-replybox{ margin-bottom:100px;} .sn-reply-h2{ font-size:18px; font-weight:normal; color:#24366e; margin-bottom:6px;} -.sn-reply-form{ width:1200px;height:180px; border:1px solid #e8e8e8; -webkit-border-radius:3px; -moz-border-radius:3px; -o-border-radius:3px; border-radius:3px; background:#fff; margin-bottom:20px; } -.sn-reply-text{ width:1200px; height:130px; background:#fff; border:none; resize:none;} +.sn-reply-form{ width:1000px;height:180px; border:1px solid #e8e8e8; -webkit-border-radius:3px; -moz-border-radius:3px; -o-border-radius:3px; border-radius:3px; background:#fff; margin-bottom:20px; } +.sn-reply-text{ width:1000px; height:130px; background:#fff; border:none; resize:none;} .sn-reply-btnbox{border-top:1px solid #e8e8e8; height:48px;} a.submit-btn{ display:block; color:#fff; text-align:center; font-size:14px; line-height:27px; width:79px; height:27px; -webkit-border-radius:3px; -moz-border-radius:3px; -o-border-radius:3px; border-radius:3px; background:#24366e; margin:8px 0 0 10px;} a:hover.submit-btn{ color:#16275c; color:#fff;} @@ -196,10 +196,10 @@ a:hover.submit-btn{ color:#16275c; color:#fff;} .sn-reply-userpic img{ width:40px; height:40px;-webkit-border-radius:50px; -moz-border-radius:50px; -o-border-radius:50px; border-radius:50px;} a.sn-reply-zan{ display:block; background:url(../images/zan.gif) 0 4px no-repeat; width:54px; height:16px; padding-left:12px; color:#999; } a:hover.sn-reply-zan{ background:url(../images/zan.gif) 0 -32px no-repeat; } -.sn-comment-listbox{ padding:23px 0; width:1200px;border-bottom:1px solid #e8e8e8;} +.sn-comment-listbox{ padding:23px 0; width:1000px;border-bottom:1px solid #e8e8e8;} a.sn-reply-username { color:#24366e; margin-right:15px; } -.sn-reply-usertxt{ width:1145px; font-size:14px; } -.sn-reply-more{ width:1200px; height:25px; background:#ddd; text-align:center; line-height:25px;} +.sn-reply-usertxt{ width:945px; font-size:14px; } +.sn-reply-more{ width:1000px; height:25px; background:#ddd; text-align:center; line-height:25px;} /*用户图像*/ .topnav_login_list{ border:1px solid #eaeaea; background:#fff; padding-left:10px; padding-bottom:10px; padding-top:8px; width:60px; left:-7px; position:absolute; z-index:9999; line-height:2; box-shadow: 0px 2px 8px rgba(146, 153, 169, 0.5); margin-top: 1px;} From 59988f17da95111fffeaf8e3173d0248f485ad38 Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 7 Jun 2016 14:48:43 +0800 Subject: [PATCH 012/106] =?UTF-8?q?=E5=B8=96=E5=AD=90=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/organizations_controller.rb | 7 ++- app/helpers/organizations_helper.rb | 43 ++++++++++++++++-- .../_show_custom_org_subfield.html.erb | 44 +++++++++++++++++++ app/views/organizations/show.html.erb | 9 +++- 4 files changed, 97 insertions(+), 6 deletions(-) create mode 100644 app/views/organizations/_show_custom_org_subfield.html.erb diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index a0ef84798..ef11dc9da 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -28,6 +28,7 @@ class OrganizationsController < ApplicationController helper :project_score helper :issues include UsersHelper + include OrganizationsHelper before_filter :find_organization, :only => [:show, :members, :apply_subdomain, :select_org_layout, :teachers, :students, :projects, :courses] before_filter :allow_as_admin, :only => [:students, :teachers, :projects, :courses, :acts] layout 'base_org' @@ -77,8 +78,12 @@ class OrganizationsController < ApplicationController def show # 组织新类型 show_mode:判断标准 1为新类型,0为旧 - if @organization.switch_type && params[:org_subfield_id].nil? && params[:list] .nil? + if @organization.switch_type && params[:list] .nil? if @organization.is_public? || User.current.admin? || User.current.member_of_org?(@organization) + unless params[:org_subfield_id].nil? + @org_subfield = OrgSubfield.where(:id => params[:org_subfield_id]).first + @subfield_acts = get_subfield_acts(@org_subfield) + end @subfield_content = @organization.org_subfields.order("priority") shield_project_ids = ShieldActivity.where("container_type='Organization' and container_id=#{@organization.id} and shield_type='Project'").map(&:shield_id) shield_course_ids = ShieldActivity.where("container_type='Organization' and container_id=#{@organization.id} and shield_type='Course'").map(&:shield_id) diff --git a/app/helpers/organizations_helper.rb b/app/helpers/organizations_helper.rb index fa0d33f6e..c523ec287 100644 --- a/app/helpers/organizations_helper.rb +++ b/app/helpers/organizations_helper.rb @@ -115,6 +115,41 @@ module OrganizationsHelper end end + # 组织的栏目类型标题 + def subfield_title_type obj + case obj.org_act_type + when "OrgDocumentComment" + obj.org_act.title + when "Message" + obj.org_act.parent_id.nil? ? obj.org_act.subject : obj.org_act.parent.subject + when "News" + obj.org_act.title + end + end + + # 组织的栏目类型时间 + def subfield_time_type obj + case obj.org_act_type + when "OrgDocumentComment" + obj.org_act.updated_at + when "Message" + obj.org_act.updated_on + when "News" + obj.org_act.created_on + end + end + + def subfield_reply_count_type obj + case obj.org_act_type + when "OrgDocumentComment" + obj.org_act.children.count + when "Message" + obj.org_act.children.count + when "News" + obj.org_act.comments_count + end + end + #排列下拉框 def subfield_status_option type = [] @@ -186,9 +221,11 @@ module OrganizationsHelper end def get_subfield_acts field - org_subfield = OrgSubfield.find(field.id) - org_subfield_ids = org_subfield.org_document_comments.map(&:id) << 0 - org_acts = OrgActivity.where("(org_act_type='OrgDocumentComment'and org_act_id in (#{org_subfield_ids.join(",")})) || (container_type='OrgSubfield' and container_id=#{org_subfield.id})").order('updated_at desc') + unless field.nil? + org_subfield = OrgSubfield.find(field.id) + org_subfield_ids = org_subfield.org_document_comments.map(&:id) << 0 + org_acts = OrgActivity.where("(org_act_type='OrgDocumentComment'and org_act_id in (#{org_subfield_ids.join(",")})) || (container_type='OrgSubfield' and container_id=#{org_subfield.id})").order('updated_at desc') + end end def allow_to_create?(org, type) diff --git a/app/views/organizations/_show_custom_org_subfield.html.erb b/app/views/organizations/_show_custom_org_subfield.html.erb new file mode 100644 index 000000000..473a5757d --- /dev/null +++ b/app/views/organizations/_show_custom_org_subfield.html.erb @@ -0,0 +1,44 @@ +<% if @subfield_acts.blank? %> +<% else %> +
+
+
+
+ 您的位置:<%= link_to "首页", organization_path(@organization), :class => "sn-link-grey2" %> > + <%=link_to @org_subfield.name, organization_path(@organization, :org_subfield_id => @org_subfield.id), :class => "sn-link-grey2" %> +
+
+
+

<%= @organization.name %>

+
    + <% @subfield_acts.each do |act| %> + <% title = subfield_title_type(act) %> + <% time = subfield_time_type(act) %> + <% reply_count = subfield_reply_count_type(act) %> + <% document = act.org_act %> +
  • +
    + <% if act.org_act_type == "OrgDocumentComment" %> + <%=link_to title, org_document_comment_path(act.org_act, :organization_id => @organization.id), :class => "sn-newslist-titile fl", :target => "_blank" %> + <% elsif act.org_act_type == "News" %> + <%=link_to title, news_path(act.org_act), :class => "sn-newslist-titile fl", :target => "_blank" %> + <% elsif act.org_act_type == "Message" %> + <%=link_to title, board_message_path(act.org_act.board.id, act.org_act.id), :class => "sn-newslist-titile fl", :target => "_blank" %> + <% end %> + <%= format_date(time) %> + 回复(<%= reply_count %>) +
    +
  • + <% end %> +
+ + + + + + + +
+
+
+<% end %> diff --git a/app/views/organizations/show.html.erb b/app/views/organizations/show.html.erb index 72e95ded9..ab3120a5d 100644 --- a/app/views/organizations/show.html.erb +++ b/app/views/organizations/show.html.erb @@ -1,6 +1,11 @@ <%# 区分两种模式 params[:org_subfield_id] 不为空的时候则跳到栏目%> -<% if @organization.switch_type && params[:org_subfield_id].nil? %> - <%= render :partial => 'show_custom' %> +<% if @organization.switch_type %> + <% if params[:org_subfield_id].nil? %> + <%= render :partial => 'show_custom' %> + <% else %> + <%#= 单个栏目模式二中显示 %> + <%= render :partial => 'show_custom_org_subfield' %> + <% end %> <% else %> <%= javascript_include_tag "jquery.infinitescroll.js" %> From f5da2ba5f670ec2a14082bdaa2492c3735baf181 Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Tue, 7 Jun 2016 15:40:16 +0800 Subject: [PATCH 013/106] =?UTF-8?q?=E5=B0=86current=20page=E6=8F=90?= =?UTF-8?q?=E5=89=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/javascripts/wechat/app.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/public/javascripts/wechat/app.js b/public/javascripts/wechat/app.js index 641e95bed..edd8b5386 100644 --- a/public/javascripts/wechat/app.js +++ b/public/javascripts/wechat/app.js @@ -75,6 +75,11 @@ app.controller('ActivityController',function($anchorScroll, $location,$scope, $h console.log("ActivityController load"); $scope.page = 0; + var current_page = rms.get('current_page'); + if(typeof current_page !== 'undefined'){ + $scope.page = current_page; + } + $scope.activities = rms.get("activities") || []; var savePageConfig = function(){ @@ -84,13 +89,11 @@ app.controller('ActivityController',function($anchorScroll, $location,$scope, $h } var loadPageConfig = function(){ - var current_page = rms.get('current_page'); + var has_more = rms.get('has_more'); var activities = rms.get('activities'); - if(typeof current_page !== 'undefined'){ - $scope.page = current_page; - } + if(typeof has_more !== 'undefined'){ $scope.has_more = has_more; } @@ -98,7 +101,7 @@ app.controller('ActivityController',function($anchorScroll, $location,$scope, $h } var loadActData = function(page){ - if (page <= 0 && $scope.activities.length >0){ //应该是返回过来的 + if (page > 0 && $scope.activities.length >0){ //应该是返回过来的 loadPageConfig(); var yOffset = rms.get("yoffset"); $location.hash(yOffset); From acf4a64e6ae833a2a9662df644094d2a0c941712 Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 7 Jun 2016 15:40:28 +0800 Subject: [PATCH 014/106] =?UTF-8?q?=E4=BA=8C=E7=BA=A7=E5=B8=96=E5=AD=90?= =?UTF-8?q?=E5=AD=90=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org_document_comments_controller.rb | 7 +- ..._show_custom_org_document_comment.html.erb | 111 ++++++++++ app/views/org_document_comments/show.html.erb | 196 +++++++++--------- 3 files changed, 217 insertions(+), 97 deletions(-) create mode 100644 app/views/org_document_comments/_show_custom_org_document_comment.html.erb diff --git a/app/controllers/org_document_comments_controller.rb b/app/controllers/org_document_comments_controller.rb index dd237de17..43e95a0e9 100644 --- a/app/controllers/org_document_comments_controller.rb +++ b/app/controllers/org_document_comments_controller.rb @@ -38,6 +38,11 @@ class OrgDocumentCommentsController < ApplicationController def show @document = OrgDocumentComment.find(params[:id]) + @org_subfield = OrgSubfield.where(:id => @document.org_subfield_id).first + @subfield_content = @organization.org_subfields.order("priority") + respond_to do |format| + format.html {render :layout => @organization.switch_type ? 'base_org_custom' : 'base_org'} + end end def index @@ -91,7 +96,7 @@ class OrgDocumentCommentsController < ApplicationController def add_reply_in_doc @document = OrgDocumentComment.find(params[:id]).root @comment = OrgDocumentComment.new(:organization_id => @document.organization_id, :creator_id => User.current.id, :reply_id => params[:id]) - @comment.content = params[:org_comment][:org_content] + @comment.content = params[:org_content] @document.children << @comment @document.save respond_to do |format| diff --git a/app/views/org_document_comments/_show_custom_org_document_comment.html.erb b/app/views/org_document_comments/_show_custom_org_document_comment.html.erb new file mode 100644 index 000000000..ec2a1ca8f --- /dev/null +++ b/app/views/org_document_comments/_show_custom_org_document_comment.html.erb @@ -0,0 +1,111 @@ +
+
+
您的位置:<%= link_to "首页", organization_path(@organization), :class => "sn-link-grey2" %> > + <%=link_to @org_subfield.name, organization_path(@organization, :org_subfield_id => @org_subfield.id), :class => "sn-link-grey2" %> > + <%= @document.title %> +
+
+
+

<%= @document.title %>

+
+

来源:<%= @org_subfield.name %> 发布时间:<%= format_date(@document.created_at) %>

+

<%= @document.content.html_safe %>

+
+
+ + <% if User.current.logged? %> + <% comments_for_doc = @document.children.reorder("created_at desc") %> + <% count = @document.children.count() %> +
+

留言板<%= count %>条留言

+ <%= form_for :org_comment, :url => {:action => 'add_reply_in_doc',:controller => 'org_document_comments', :id => @document.id, :flag => true}, :html => {:multipart => true, :id => 'message_form', :class => "sn-reply-form", } do |f| %> + + <%#= f.kindeditor :sub_content,:width=>'99%',:height => '100px;',:editor_id=>'message_content_editor', :class => "sn-reply-text" %> +
+ 发表 +
+ + <%#= link_to l(:button_cancel), "javascript:void(0)", :onclick => 'message_content_editor.html("");', :class => " grey_btn fr c_white mt10 mr5" %> + <% end %> + +
+

全部评论

+ +
+ <% comments_for_doc.each_with_index do |reply,i| %> +
+ + <%= link_to User.find(reply.creator_id).realname, user_url_in_org(reply.creator_id), :class => "sn-reply-username fl" %><%= time_from_now(reply.created_at) %> +
+ <%=render :partial =>"users/intro_content", :locals=>{:user_activity_id => reply.id, :content=> reply.content} %> + <%#= reply.content.html_safe unless reply.content.nil? %> +
+ +
+
+ <% end %> +
+ <% if count > 3 %> + + <% end %> +
+
+ <% end %> +
+ + \ No newline at end of file diff --git a/app/views/org_document_comments/show.html.erb b/app/views/org_document_comments/show.html.erb index c7adc39fb..dfa37bfb6 100644 --- a/app/views/org_document_comments/show.html.erb +++ b/app/views/org_document_comments/show.html.erb @@ -1,72 +1,75 @@ -<%= javascript_include_tag "/assets/kindeditor/kindeditor",'/assets/kindeditor/pasteimg',"create_kindeditor",'blog' %> - -
-
-
- <%= link_to image_tag(url_to_avatar(User.find(@document.creator_id)), :width => 45, :heigth => 45), user_url_in_org(@document.creator_id) %> -
-
-
- <%= link_to User.find(@document.creator_id), user_url_in_org(@document.creator_id), :class => "newsBlue mr15" %> - TO  <%= link_to @document.organization.name, organization_path(@document.organization), :class => "newsBlue" %> - | - <% if @document.organization.home_id == @document.id %> - 首页 - <% else %> - 组织文章 - <% end %> -
-
<%= link_to @document.title, org_document_comment_path(:id => @document.id, :organization_id => @document.organization.id) %>
-
- 发布时间:<%= format_activity_day(@document.created_at) %> <%= format_time(@document.created_at, false) %>
- <% unless @document.content.blank? %> -
- <%= @document.content.html_safe %> +<% if @organization.switch_type %> + <%= render :partial => 'show_custom_org_document_comment' %> +<% else %> + <%= javascript_include_tag "/assets/kindeditor/kindeditor",'/assets/kindeditor/pasteimg',"create_kindeditor",'blog' %> + +
+
+
+ <%= link_to image_tag(url_to_avatar(User.find(@document.creator_id)), :width => 45, :heigth => 45), user_url_in_org(@document.creator_id) %> +
+
+
+ <%= link_to User.find(@document.creator_id), user_url_in_org(@document.creator_id), :class => "newsBlue mr15" %> + TO  <%= link_to @document.organization.name, organization_path(@document.organization), :class => "newsBlue" %> + | + <% if @document.organization.home_id == @document.id %> + 首页 + <% else %> + 组织文章 + <% end %>
- <% end %> -
- <%= render :partial=>"attachments/activity_attach", :locals=>{:activity => @document} %> - <%#= link_to_attachments_course @document, :author => false %> -
- - <% if User.current.admin? || User.current.admin_of_org?(Organization.find(@document.organization_id) || User.current.id == @document.creator_id) %> -
-
    -
  • -
      -
    • - <%= form_for('new_form', :url => {:controller => 'organizations', :action => 'set_homepage', :id => @document.organization_id, :home_id => @document.id}, :method => "put", :remote => true) do |f| %> - 设为首页 - <% end %> -
    • -
    • - <%= link_to "编辑文章", edit_org_document_comment_path(:id => @document.id, :organization_id => @document.organization_id, :flag => 1), :class => "postOptionLink" %> -
    • -
    • - <%= link_to "删除文章", org_document_comment_path(:id => @document.id, :organization_id => @document.organization_id, :detail_page => 1), :method => 'delete', - :data => {:confirm => l(:text_are_you_sure)}, - :remote => true, :class => 'postOptionLink' %> + <% if User.current.admin? || User.current.admin_of_org?(Organization.find(@document.organization_id) || User.current.id == @document.creator_id) %> +
      +
        +
      • +
          +
        • + <%= form_for('new_form', :url => {:controller => 'organizations', :action => 'set_homepage', :id => @document.organization_id, :home_id => @document.id}, :method => "put", :remote => true) do |f| %> + 设为首页 + <% end %> +
        • +
        • + <%= link_to "编辑文章", edit_org_document_comment_path(:id => @document.id, :organization_id => @document.organization_id, :flag => 1), :class => "postOptionLink" %> +
        • +
        • + <%= link_to "删除文章", org_document_comment_path(:id => @document.id, :organization_id => @document.organization_id, :detail_page => 1), :method => 'delete', + :data => {:confirm => l(:text_are_you_sure)}, + :remote => true, :class => 'postOptionLink' %> +
        • +
      -
    • -
    -
-
- <% end %> -
-
- <% comments_for_doc = @document.children.reorder("created_at desc") %> - <% count = @document.children.count() %> +
+
+ <% end %> +
+
+ <% comments_for_doc = @document.children.reorder("created_at desc") %> + <% count = @document.children.count() %> -
- <%# if count > 0 %> +
+ <%# if count > 0 %>
回复 <%= count>0 ? "(#{count})" : "" %> @@ -123,50 +126,51 @@ <% end %>
- <%# end %> - <%# if User.current.logged?%> + <%# end %> + <%# if User.current.logged?%>
<%= form_for :org_comment, :url => {:action => 'add_reply_in_doc',:controller => 'org_document_comments', :id => @document.id}, :html => {:multipart => true, :id => 'message_form'} do |f| %> - <%= f.kindeditor :org_content,:width=>'99%',:height => '100px;',:editor_id=>'message_content_editor' %> + <%= f.kindeditor :org_content,:width=>'99%',:height => '100px;',:editor_id=>'message_content_editor' %> <%= link_to l(:button_cancel), "javascript:void(0)", :onclick => 'message_content_editor.html("");', :class => " grey_btn fr c_white mt10 mr5" %> <%= link_to l(:button_reply), "javascript:void(0)", :onclick => "message_content_editor.sync();$('#message_form').submit();", :class => "blue_btn fr c_white mt10 mb10", :style => "margin-right: 5px;" %> <% end %>
- <%# end %> -
-
+ <%# end %> +
+
- \ No newline at end of file + +<% end %> From c5bccf1adbfedfbd03c522b8e5863d3a57d7e723 Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 7 Jun 2016 16:02:46 +0800 Subject: [PATCH 015/106] =?UTF-8?q?=E7=BB=84=E7=BB=87=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E6=8C=89=E6=9B=B4=E6=96=B0=E6=97=B6=E9=97=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/organizations_controller.rb | 4 +-- app/helpers/organizations_helper.rb | 32 ++++++++++----------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index ef11dc9da..b247f5a41 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -105,9 +105,9 @@ class OrganizationsController < ApplicationController end # 最新动态, 来自我关联的项目和课程 if @organization.org_subfields.where(:field_type => "Compact", :hide => 0).count > 0 - @acts = UserActivity.find_by_sql("SELECT * FROM `user_activities` where act_type in ('HomeworkCommon', 'News', 'Message', 'Issue') and + @acts = UserActivity.find_by_sql("SELECT * FROM `user_activities` where act_type in ('HomeworkCommon', 'News', 'Message', 'Issue', 'JournalsForMessage') and ((container_type = 'Course' and container_id in (#{course_ids.join(',')})) or (container_type = 'Project' and container_id in (#{project_ids.join(',')}))) - order by created_at desc limit 6;") + order by updated_at desc limit 6;") end render :layout => 'base_org_custom' else diff --git a/app/helpers/organizations_helper.rb b/app/helpers/organizations_helper.rb index c523ec287..181dfccb9 100644 --- a/app/helpers/organizations_helper.rb +++ b/app/helpers/organizations_helper.rb @@ -66,52 +66,52 @@ module OrganizationsHelper def org_user_by_type obj case obj.act_type when "Message" - user = obj.act.author + obj.act.author when "News" - user = obj.act.author + obj.act.author when "HomeworkCommon" - user = obj.act.user + obj.act.user when "Issue" - user = obj.act.author + obj.act.author end end def org_title_by_type obj case obj.act_type when "Message" - user = obj.act.parent_id.nil? ? obj.act.subject : obj.act.parent.subject + obj.act.parent_id.nil? ? obj.act.subject : obj.act.parent.subject when "News" - user = obj.act.title + obj.act.title when "HomeworkCommon" - user = obj.act.name + obj.act.name when "Issue" - user = obj.act.subject + obj.act.subject end end def org_content_by_type obj case obj.act_type when "Message" - user = obj.act.parent_id.nil? ? obj.act.content : obj.act.parent.content + obj.act.parent_id.nil? ? obj.act.content : obj.act.parent.content when "News" - user = obj.act.description + obj.act.description when "HomeworkCommon" - user = obj.act.description + obj.act.description when "Issue" - user = obj.act.description + obj.act.description end end def org_time_by_type obj case obj.act_type when "Message" - time = obj.act.updated_on + obj.act.updated_on when "News" - user = obj.act.created_on + obj.act.created_on when "HomeworkCommon" - user = obj.act.updated_at + obj.act.updated_at when "Issue" - user = obj.act.updated_on + obj.act.updated_on end end From 3e2810129b0ade5745db75c34a427d1c5741fa3d Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 7 Jun 2016 16:24:02 +0800 Subject: [PATCH 016/106] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E7=95=99=E8=A8=80?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E8=BF=87=E6=BB=A4=E6=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/organizations_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index b247f5a41..a75a0e698 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -105,7 +105,7 @@ class OrganizationsController < ApplicationController end # 最新动态, 来自我关联的项目和课程 if @organization.org_subfields.where(:field_type => "Compact", :hide => 0).count > 0 - @acts = UserActivity.find_by_sql("SELECT * FROM `user_activities` where act_type in ('HomeworkCommon', 'News', 'Message', 'Issue', 'JournalsForMessage') and + @acts = UserActivity.find_by_sql("SELECT * FROM `user_activities` where act_type in ('HomeworkCommon', 'News', 'Message', 'Issue') and ((container_type = 'Course' and container_id in (#{course_ids.join(',')})) or (container_type = 'Project' and container_id in (#{project_ids.join(',')}))) order by updated_at desc limit 6;") end From 33780759a92f16047af1292badb9a3e2dc861ddf Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Tue, 7 Jun 2016 16:39:42 +0800 Subject: [PATCH 017/106] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=BAhtml5mode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/wechat.yml | 4 ++-- public/javascripts/wechat/app.js | 4 ++-- public/javascripts/wechat/vue.min.js | 8 ++++++++ 3 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 public/javascripts/wechat/vue.min.js diff --git a/config/wechat.yml b/config/wechat.yml index 3d679c4ce..c8337521e 100644 --- a/config/wechat.yml +++ b/config/wechat.yml @@ -3,8 +3,8 @@ default: &default # corpsecret: "corpsecret" # agentid: 1 # Or if using public account, only need above two line - appid: "wxc09454f171153c2d" - secret: "dff5b606e34dcafe24163ec82c2715f8" + appid: "wxf694495398c7d470" + secret: "743e038392f1d89540e95f8f7645849a" token: "123456" access_token: "1234567" encrypt_mode: false # if true must fill encoding_aes_key diff --git a/public/javascripts/wechat/app.js b/public/javascripts/wechat/app.js index edd8b5386..730226df8 100644 --- a/public/javascripts/wechat/app.js +++ b/public/javascripts/wechat/app.js @@ -525,9 +525,9 @@ app.directive('loadingSpinner', function ($http) { }; }); -app.config(['$routeProvider',"$httpProvider",function ($routeProvider, $httpProvider) { +app.config(['$routeProvider',"$httpProvider",function ($routeProvider, $httpProvider, $locationProvider) { var rootPath = '/assets/wechat/' - + $locationProvider.html5Mode(true); $routeProvider .when('/activities', { templateUrl: rootPath + 'activities.html', diff --git a/public/javascripts/wechat/vue.min.js b/public/javascripts/wechat/vue.min.js new file mode 100644 index 000000000..c8e12c31b --- /dev/null +++ b/public/javascripts/wechat/vue.min.js @@ -0,0 +1,8 @@ +/*! + * Vue.js v1.0.24 + * (c) 2016 Evan You + * Released under the MIT License. + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.Vue=e()}(this,function(){"use strict";function t(e,n,r){if(i(e,n))return void(e[n]=r);if(e._isVue)return void t(e._data,n,r);var s=e.__ob__;if(!s)return void(e[n]=r);if(s.convert(n,r),s.dep.notify(),s.vms)for(var o=s.vms.length;o--;){var a=s.vms[o];a._proxy(n),a._digest()}return r}function e(t,e){if(i(t,e)){delete t[e];var n=t.__ob__;if(!n)return void(t._isVue&&(delete t._data[e],t._digest()));if(n.dep.notify(),n.vms)for(var r=n.vms.length;r--;){var s=n.vms[r];s._unproxy(e),s._digest()}}}function i(t,e){return Ai.call(t,e)}function n(t){return Oi.test(t)}function r(t){var e=(t+"").charCodeAt(0);return 36===e||95===e}function s(t){return null==t?"":t.toString()}function o(t){if("string"!=typeof t)return t;var e=Number(t);return isNaN(e)?t:e}function a(t){return"true"===t?!0:"false"===t?!1:t}function h(t){var e=t.charCodeAt(0),i=t.charCodeAt(t.length-1);return e!==i||34!==e&&39!==e?t:t.slice(1,-1)}function l(t){return t.replace(Ti,c)}function c(t,e){return e?e.toUpperCase():""}function u(t){return t.replace(Ni,"$1-$2").toLowerCase()}function f(t){return t.replace(ji,c)}function p(t,e){return function(i){var n=arguments.length;return n?n>1?t.apply(e,arguments):t.call(e,i):t.call(e)}}function d(t,e){e=e||0;for(var i=t.length-e,n=new Array(i);i--;)n[i]=t[i+e];return n}function v(t,e){for(var i=Object.keys(e),n=i.length;n--;)t[i[n]]=e[i[n]];return t}function m(t){return null!==t&&"object"==typeof t}function g(t){return Ei.call(t)===Si}function _(t,e,i,n){Object.defineProperty(t,e,{value:i,enumerable:!!n,writable:!0,configurable:!0})}function y(t,e){var i,n,r,s,o,a=function h(){var a=Date.now()-s;e>a&&a>=0?i=setTimeout(h,e-a):(i=null,o=t.apply(r,n),i||(r=n=null))};return function(){return r=this,n=arguments,s=Date.now(),i||(i=setTimeout(a,e)),o}}function b(t,e){for(var i=t.length;i--;)if(t[i]===e)return i;return-1}function w(t){var e=function i(){return i.cancelled?void 0:t.apply(this,arguments)};return e.cancel=function(){e.cancelled=!0},e}function C(t,e){return t==e||(m(t)&&m(e)?JSON.stringify(t)===JSON.stringify(e):!1)}function $(t){this.size=0,this.limit=t,this.head=this.tail=void 0,this._keymap=Object.create(null)}function k(){var t,e=Xi.slice(rn,en).trim();if(e){t={};var i=e.match(un);t.name=i[0],i.length>1&&(t.args=i.slice(1).map(x))}t&&(Yi.filters=Yi.filters||[]).push(t),rn=en+1}function x(t){if(fn.test(t))return{value:o(t),dynamic:!1};var e=h(t),i=e===t;return{value:i?t:e,dynamic:i}}function A(t){var e=cn.get(t);if(e)return e;for(Xi=t,sn=on=!1,an=hn=ln=0,rn=0,Yi={},en=0,nn=Xi.length;nn>en;en++)if(tn=Ki,Ki=Xi.charCodeAt(en),sn)39===Ki&&92!==tn&&(sn=!sn);else if(on)34===Ki&&92!==tn&&(on=!on);else if(124===Ki&&124!==Xi.charCodeAt(en+1)&&124!==Xi.charCodeAt(en-1))null==Yi.expression?(rn=en+1,Yi.expression=Xi.slice(0,en).trim()):k();else switch(Ki){case 34:on=!0;break;case 39:sn=!0;break;case 40:ln++;break;case 41:ln--;break;case 91:hn++;break;case 93:hn--;break;case 123:an++;break;case 125:an--}return null==Yi.expression?Yi.expression=Xi.slice(0,en).trim():0!==rn&&k(),cn.put(t,Yi),Yi}function O(t){return t.replace(dn,"\\$&")}function T(){var t=O(Cn.delimiters[0]),e=O(Cn.delimiters[1]),i=O(Cn.unsafeDelimiters[0]),n=O(Cn.unsafeDelimiters[1]);mn=new RegExp(i+"((?:.|\\n)+?)"+n+"|"+t+"((?:.|\\n)+?)"+e,"g"),gn=new RegExp("^"+i+".*"+n+"$"),vn=new $(1e3)}function N(t){vn||T();var e=vn.get(t);if(e)return e;if(!mn.test(t))return null;for(var i,n,r,s,o,a,h=[],l=mn.lastIndex=0;i=mn.exec(t);)n=i.index,n>l&&h.push({value:t.slice(l,n)}),r=gn.test(i[0]),s=r?i[1]:i[2],o=s.charCodeAt(0),a=42===o,s=a?s.slice(1):s,h.push({tag:!0,value:s.trim(),html:r,oneTime:a}),l=n+i[0].length;return l1?t.map(function(t){return E(t,e)}).join("+"):E(t[0],e,!0)}function E(t,e,i){return t.tag?t.oneTime&&e?'"'+e.$eval(t.value)+'"':S(t.value,i):'"'+t.value+'"'}function S(t,e){if(_n.test(t)){var i=A(t);return i.filters?"this._applyFilters("+i.expression+",null,"+JSON.stringify(i.filters)+",false)":"("+t+")"}return e?t:"("+t+")"}function F(t,e,i,n){R(t,1,function(){e.appendChild(t)},i,n)}function D(t,e,i,n){R(t,1,function(){V(t,e)},i,n)}function P(t,e,i){R(t,-1,function(){z(t)},e,i)}function R(t,e,i,n,r){var s=t.__v_trans;if(!s||!s.hooks&&!Bi||!n._isCompiled||n.$parent&&!n.$parent._isCompiled)return i(),void(r&&r());var o=e>0?"enter":"leave";s[o](i,r)}function L(t){if("string"==typeof t){t=document.querySelector(t)}return t}function H(t){if(!t)return!1;var e=t.ownerDocument.documentElement,i=t.parentNode;return e===t||e===i||!(!i||1!==i.nodeType||!e.contains(i))}function I(t,e){var i=t.getAttribute(e);return null!==i&&t.removeAttribute(e),i}function M(t,e){var i=I(t,":"+e);return null===i&&(i=I(t,"v-bind:"+e)),i}function W(t,e){return t.hasAttribute(e)||t.hasAttribute(":"+e)||t.hasAttribute("v-bind:"+e)}function V(t,e){e.parentNode.insertBefore(t,e)}function B(t,e){e.nextSibling?V(t,e.nextSibling):e.parentNode.appendChild(t)}function z(t){t.parentNode.removeChild(t)}function U(t,e){e.firstChild?V(t,e.firstChild):e.appendChild(t)}function J(t,e){var i=t.parentNode;i&&i.replaceChild(e,t)}function q(t,e,i,n){t.addEventListener(e,i,n)}function Q(t,e,i){t.removeEventListener(e,i)}function G(t){var e=t.className;return"object"==typeof e&&(e=e.baseVal||""),e}function Z(t,e){Hi&&!/svg$/.test(t.namespaceURI)?t.className=e:t.setAttribute("class",e)}function X(t,e){if(t.classList)t.classList.add(e);else{var i=" "+G(t)+" ";i.indexOf(" "+e+" ")<0&&Z(t,(i+e).trim())}}function Y(t,e){if(t.classList)t.classList.remove(e);else{for(var i=" "+G(t)+" ",n=" "+e+" ";i.indexOf(n)>=0;)i=i.replace(n," ");Z(t,i.trim())}t.className||t.removeAttribute("class")}function K(t,e){var i,n;if(it(t)&&at(t.content)&&(t=t.content),t.hasChildNodes())for(tt(t),n=e?document.createDocumentFragment():document.createElement("div");i=t.firstChild;)n.appendChild(i);return n}function tt(t){for(var e;e=t.firstChild,et(e);)t.removeChild(e);for(;e=t.lastChild,et(e);)t.removeChild(e)}function et(t){return t&&(3===t.nodeType&&!t.data.trim()||8===t.nodeType)}function it(t){return t.tagName&&"template"===t.tagName.toLowerCase()}function nt(t,e){var i=Cn.debug?document.createComment(t):document.createTextNode(e?" ":"");return i.__v_anchor=!0,i}function rt(t){if(t.hasAttributes())for(var e=t.attributes,i=0,n=e.length;n>i;i++){var r=e[i].name;if(xn.test(r))return l(r.replace(xn,""))}}function st(t,e,i){for(var n;t!==e;)n=t.nextSibling,i(t),t=n;i(e)}function ot(t,e,i,n,r){function s(){if(a++,o&&a>=h.length){for(var t=0;tr;r++){var o=n[r];An.test(o)||On.test(o)||(e=i[o],g(e)&&(i[o]=bi.extend(e)))}}function dt(t){var e,i,n=t.props;if(Fi(n))for(t.props={},e=n.length;e--;)i=n[e],"string"==typeof i?t.props[i]=null:i.name&&(t.props[i.name]=i);else if(g(n)){var r=Object.keys(n);for(e=r.length;e--;)i=n[r[e]],"function"==typeof i&&(n[r[e]]={type:i})}}function vt(t){if(Fi(t)){for(var e,i={},n=t.length;n--;){e=t[n];var r="function"==typeof e?e.options&&e.options.name||e.id:e.name||e.id;r&&(i[r]=e)}return i}return t}function mt(t,e,n){function r(i){var r=Tn[i]||Nn;o[i]=r(t[i],e[i],n,i)}pt(e),dt(e);var s,o={};if(e["extends"]&&(t="function"==typeof e["extends"]?mt(t,e["extends"].options,n):mt(t,e["extends"],n)),e.mixins)for(var a=0,h=e.mixins.length;h>a;a++)t=mt(t,e.mixins[a],n);for(s in t)r(s);for(s in e)i(t,s)||r(s);return o}function gt(t,e,i,n){if("string"==typeof i){var r,s=t[e],o=s[i]||s[r=l(i)]||s[r.charAt(0).toUpperCase()+r.slice(1)];return o}}function _t(){this.id=jn++,this.subs=[]}function yt(t){Dn=!1,t(),Dn=!0}function bt(t){if(this.value=t,this.dep=new _t,_(t,"__ob__",this),Fi(t)){var e=Di?wt:Ct;e(t,Sn,Fn),this.observeArray(t)}else this.walk(t)}function wt(t,e){t.__proto__=e}function Ct(t,e,i){for(var n=0,r=i.length;r>n;n++){var s=i[n];_(t,s,e[s])}}function $t(t,e){if(t&&"object"==typeof t){var n;return i(t,"__ob__")&&t.__ob__ instanceof bt?n=t.__ob__:Dn&&(Fi(t)||g(t))&&Object.isExtensible(t)&&!t._isVue&&(n=new bt(t)),n&&e&&n.addVm(e),n}}function kt(t,e,i){var n=new _t,r=Object.getOwnPropertyDescriptor(t,e);if(!r||r.configurable!==!1){var s=r&&r.get,o=r&&r.set,a=$t(i);Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(t):i;if(_t.target&&(n.depend(),a&&a.dep.depend(),Fi(e)))for(var r,o=0,h=e.length;h>o;o++)r=e[o],r&&r.__ob__&&r.__ob__.dep.depend();return e},set:function(e){var r=s?s.call(t):i;e!==r&&(o?o.call(t,e):i=e,a=$t(e),n.notify())}})}}function xt(t){t.prototype._init=function(t){t=t||{},this.$el=null,this.$parent=t.parent,this.$root=this.$parent?this.$parent.$root:this,this.$children=[],this.$refs={},this.$els={},this._watchers=[],this._directives=[],this._uid=Rn++,this._isVue=!0,this._events={},this._eventsCount={},this._isFragment=!1,this._fragment=this._fragmentStart=this._fragmentEnd=null,this._isCompiled=this._isDestroyed=this._isReady=this._isAttached=this._isBeingDestroyed=this._vForRemoving=!1,this._unlinkFn=null,this._context=t._context||this.$parent,this._scope=t._scope,this._frag=t._frag,this._frag&&this._frag.children.push(this),this.$parent&&this.$parent.$children.push(this),t=this.$options=mt(this.constructor.options,t,this),this._updateRef(),this._data={},this._callHook("init"),this._initState(),this._initEvents(),this._callHook("created"),t.el&&this.$mount(t.el)}}function At(t){if(void 0===t)return"eof";var e=t.charCodeAt(0);switch(e){case 91:case 93:case 46:case 34:case 39:case 48:return t;case 95:case 36:return"ident";case 32:case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"ws"}return e>=97&&122>=e||e>=65&&90>=e?"ident":e>=49&&57>=e?"number":"else"}function Ot(t){var e=t.trim();return"0"===t.charAt(0)&&isNaN(t)?!1:n(e)?h(e):"*"+e}function Tt(t){function e(){var e=t[c+1];return u===qn&&"'"===e||u===Qn&&'"'===e?(c++,n="\\"+e,p[Hn](),!0):void 0}var i,n,r,s,o,a,h,l=[],c=-1,u=Vn,f=0,p=[];for(p[In]=function(){void 0!==r&&(l.push(r),r=void 0)},p[Hn]=function(){void 0===r?r=n:r+=n},p[Mn]=function(){p[Hn](),f++},p[Wn]=function(){if(f>0)f--,u=Jn,p[Hn]();else{if(f=0,r=Ot(r),r===!1)return!1;p[In]()}};null!=u;)if(c++,i=t[c],"\\"!==i||!e()){if(s=At(i),h=Xn[u],o=h[s]||h["else"]||Zn,o===Zn)return;if(u=o[0],a=p[o[1]],a&&(n=o[2],n=void 0===n?i:n,a()===!1))return;if(u===Gn)return l.raw=t,l}}function Nt(t){var e=Ln.get(t);return e||(e=Tt(t),e&&Ln.put(t,e)),e}function jt(t,e){return Ht(e).get(t)}function Et(e,i,n){var r=e;if("string"==typeof i&&(i=Tt(i)),!i||!m(e))return!1;for(var s,o,a=0,h=i.length;h>a;a++)s=e,o=i[a],"*"===o.charAt(0)&&(o=Ht(o.slice(1)).get.call(r,r)),h-1>a?(e=e[o],m(e)||(e={},t(s,o,e))):Fi(e)?e.$set(o,n):o in e?e[o]=n:t(e,o,n);return!0}function St(t,e){var i=ur.length;return ur[i]=e?t.replace(sr,"\\n"):t,'"'+i+'"'}function Ft(t){var e=t.charAt(0),i=t.slice(1);return er.test(i)?t:(i=i.indexOf('"')>-1?i.replace(ar,Dt):i,e+"scope."+i)}function Dt(t,e){return ur[e]}function Pt(t){nr.test(t),ur.length=0;var e=t.replace(or,St).replace(rr,"");return e=(" "+e).replace(lr,Ft).replace(ar,Dt),Rt(e)}function Rt(t){try{return new Function("scope","return "+t+";")}catch(e){}}function Lt(t){var e=Nt(t);return e?function(t,i){Et(t,e,i)}:void 0}function Ht(t,e){t=t.trim();var i=Kn.get(t);if(i)return e&&!i.set&&(i.set=Lt(i.exp)),i;var n={exp:t};return n.get=It(t)&&t.indexOf("[")<0?Rt("scope."+t):Pt(t),e&&(n.set=Lt(t)),Kn.put(t,n),n}function It(t){return hr.test(t)&&!cr.test(t)&&"Math."!==t.slice(0,5)}function Mt(){pr.length=0,dr.length=0,vr={},mr={},gr=!1}function Wt(){for(var t=!0;t;)t=!1,Vt(pr),Vt(dr),pr.length?t=!0:(Ri&&Cn.devtools&&Ri.emit("flush"),Mt())}function Vt(t){for(var e=0;e0){var o=s+(n?e:ht(e));r=jr.get(o),r||(r=Fe(i,t.$options,!0),jr.put(o,r))}else r=Fe(i,t.$options,!0);this.linker=r}function se(t,e,i){var n=t.node.previousSibling;if(n){for(t=n.__v_frag;!(t&&t.forId===i&&t.inserted||n===e);){if(n=n.previousSibling,!n)return;t=n.__v_frag}return t}}function oe(t){var e=t.node;if(t.end)for(;!e.__vue__&&e!==t.end&&e.nextSibling;)e=e.nextSibling;return e.__vue__}function ae(t){for(var e=-1,i=new Array(Math.floor(t));++ea;a++)if(n=t.options[a],s=i?n.hasAttribute("selected"):n.selected){if(r=n.hasOwnProperty("_value")?n._value:n.value,!e)return r;o.push(r)}return o}function ce(t,e){for(var i=t.length;i--;)if(C(t[i],e))return i;return-1}function ue(t,e){var i=e.map(function(t){var e=t.charCodeAt(0);return e>47&&58>e?parseInt(t,10):1===t.length&&(e=t.toUpperCase().charCodeAt(0),e>64&&91>e)?e:Xr[t]});return i=[].concat.apply([],i),function(e){return i.indexOf(e.keyCode)>-1?t.call(this,e):void 0}}function fe(t){return function(e){return e.stopPropagation(),t.call(this,e)}}function pe(t){return function(e){return e.preventDefault(),t.call(this,e)}}function de(t){return function(e){return e.target===e.currentTarget?t.call(this,e):void 0}}function ve(t){if(is[t])return is[t];var e=me(t);return is[t]=is[e]=e,e}function me(t){t=u(t);var e=l(t),i=e.charAt(0).toUpperCase()+e.slice(1);ns||(ns=document.createElement("div"));var n,r=Kr.length;if("filter"!==e&&e in ns.style)return{kebab:t,camel:e};for(;r--;)if(n=ts[r]+i,n in ns.style)return{kebab:Kr[r]+t,camel:n}}function ge(t){var e=[];if(Fi(t))for(var i=0,n=t.length;n>i;i++){var r=t[i];if(r)if("string"==typeof r)e.push(r);else for(var s in r)r[s]&&e.push(s)}else if(m(t))for(var o in t)t[o]&&e.push(o);return e}function _e(t,e,i){if(e=e.trim(),-1===e.indexOf(" "))return void i(t,e);for(var n=e.split(/\s+/),r=0,s=n.length;s>r;r++)i(t,n[r])}function ye(t,e,i){function n(){++s>=r?i():t[s].call(e,n)}var r=t.length,s=0;t[0].call(e,n)}function be(t,e,i){for(var r,s,o,a,h,c,f,p=[],d=Object.keys(e),v=d.length;v--;)s=d[v],r=e[s]||ys,h=l(s),bs.test(h)&&(f={name:s,path:h,options:r,mode:_s.ONE_WAY,raw:null},o=u(s),null===(a=M(t,o))&&(null!==(a=M(t,o+".sync"))?f.mode=_s.TWO_WAY:null!==(a=M(t,o+".once"))&&(f.mode=_s.ONE_TIME)),null!==a?(f.raw=a,c=A(a),a=c.expression,f.filters=c.filters,n(a)&&!c.filters?f.optimizedLiteral=!0:f.dynamic=!0,f.parentPath=a):null!==(a=I(t,o))&&(f.raw=a),p.push(f));return we(p)}function we(t){return function(e,n){e._props={};for(var r,s,l,c,f,p=e.$options.propsData,d=t.length;d--;)if(r=t[d],f=r.raw,s=r.path,l=r.options,e._props[s]=r,p&&i(p,s)&&$e(e,r,p[s]),null===f)$e(e,r,void 0);else if(r.dynamic)r.mode===_s.ONE_TIME?(c=(n||e._context||e).$get(r.parentPath),$e(e,r,c)):e._context?e._bindDir({name:"prop",def:Cs,prop:r},null,null,n):$e(e,r,e.$get(r.parentPath));else if(r.optimizedLiteral){var v=h(f);c=v===f?a(o(f)):v,$e(e,r,c)}else c=l.type!==Boolean||""!==f&&f!==u(r.name)?f:!0,$e(e,r,c)}}function Ce(t,e,i,n){var r=e.dynamic&&It(e.parentPath),s=i;void 0===s&&(s=xe(t,e)),s=Oe(e,s);var o=s!==i;Ae(e,s,t)||(s=void 0),r&&!o?yt(function(){n(s)}):n(s)}function $e(t,e,i){Ce(t,e,i,function(i){kt(t,e.path,i)})}function ke(t,e,i){Ce(t,e,i,function(i){t[e.path]=i})}function xe(t,e){var n=e.options;if(!i(n,"default"))return n.type===Boolean?!1:void 0;var r=n["default"];return m(r),"function"==typeof r&&n.type!==Function?r.call(t):r}function Ae(t,e,i){if(!t.options.required&&(null===t.raw||null==e))return!0;var n=t.options,r=n.type,s=!r,o=[];if(r){Fi(r)||(r=[r]);for(var a=0;ar;r++)n[r]._bind();return n}function Pe(t,e){return t=t.descriptor.def.priority||Is,e=e.descriptor.def.priority||Is,t>e?-1:t===e?0:1}function Re(t,e,i,n){function r(r){Le(t,e,r),i&&n&&Le(i,n)}return r.dirs=e,r}function Le(t,e,i){for(var n=e.length;n--;)e[n]._teardown()}function He(t,e,i,n){var r=be(e,i,t),s=De(function(){r(t,n)},t);return Re(t,s)}function Ie(t,e,i){var n,r,s=e._containerAttrs,o=e._replacerAttrs;return 11!==t.nodeType&&(e._asComponent?(s&&i&&(n=Ke(s,i)),o&&(r=Ke(o,e))):r=Ke(t.attributes,e)),e._containerAttrs=e._replacerAttrs=null,function(t,e,i){var s,o=t._context;o&&n&&(s=De(function(){n(o,e,null,i)},o));var a=De(function(){r&&r(t,e)},t);return Re(t,a,o,s)}}function Me(t,e){var i=t.nodeType;return 1!==i||ni(t)?3===i&&t.data.trim()?Ve(t,e):null:We(t,e)}function We(t,e){if("TEXTAREA"===t.tagName){var i=N(t.value);i&&(t.setAttribute(":value",j(i)),t.value="")}var n,r=t.hasAttributes(),s=r&&d(t.attributes);return r&&(n=Ze(t,s,e)),n||(n=Qe(t,e)),n||(n=Ge(t,e)),!n&&r&&(n=Ke(s,e)),n}function Ve(t,e){if(t._skip)return Be;var i=N(t.wholeText);if(!i)return null;for(var n=t.nextSibling;n&&3===n.nodeType;)n._skip=!0,n=n.nextSibling;for(var r,s,o=document.createDocumentFragment(),a=0,h=i.length;h>a;a++)s=i[a],r=s.tag?ze(s,e):document.createTextNode(s.value),o.appendChild(r);return Ue(i,o,e)}function Be(t,e){z(e)}function ze(t,e){function i(e){if(!t.descriptor){var i=A(t.value);t.descriptor={name:e,def:vs[e],expression:i.expression,filters:i.filters}}}var n;return t.oneTime?n=document.createTextNode(t.value):t.html?(n=document.createComment("v-html"),i("html")):(n=document.createTextNode(" "),i("text")),n}function Ue(t,e){return function(i,n,r,s){for(var o,a,h,l=e.cloneNode(!0),c=d(l.childNodes),u=0,f=t.length;f>u;u++)o=t[u],a=o.value,o.tag&&(h=c[u],o.oneTime?(a=(s||i).$eval(a),o.html?J(h,Zt(a,!0)):h.data=a):i._bindDir(o.descriptor,h,r,s));J(n,l)}}function Je(t,e){for(var i,n,r,s=[],o=0,a=t.length;a>o;o++)r=t[o],i=Me(r,e),n=i&&i.terminal||"SCRIPT"===r.tagName||!r.hasChildNodes()?null:Je(r.childNodes,e),s.push(i,n);return s.length?qe(s):null}function qe(t){return function(e,i,n,r,s){for(var o,a,h,l=0,c=0,u=t.length;u>l;c++){o=i[c],a=t[l++],h=t[l++];var f=d(o.childNodes);a&&a(e,o,n,r,s),h&&h(e,f,n,r,s)}}}function Qe(t,e){var i=t.tagName.toLowerCase();if(!An.test(i)){var n=gt(e,"elementDirectives",i);return n?Ye(t,i,"",e,n):void 0}}function Ge(t,e){var i=lt(t,e);if(i){var n=rt(t),r={name:"component",ref:n,expression:i.id,def:Fs.component,modifiers:{literal:!i.dynamic}},s=function(t,e,i,s,o){n&&kt((s||t).$refs,n,null),t._bindDir(r,e,i,s,o)};return s.terminal=!0,s}}function Ze(t,e,i){if(null!==I(t,"v-pre"))return Xe;if(t.hasAttribute("v-else")){var n=t.previousElementSibling;if(n&&n.hasAttribute("v-if"))return Xe}for(var r,s,o,a,h,l,c,u,f,p,d=0,v=e.length;v>d;d++)r=e[d],s=r.name.replace(Ls,""),(h=s.match(Rs))&&(f=gt(i,"directives",h[1]),f&&f.terminal&&(!p||(f.priority||Ms)>p.priority)&&(p=f,c=r.name,a=ti(r.name),o=r.value,l=h[1],u=h[2]));return p?Ye(t,l,o,i,p,c,u,a):void 0}function Xe(){}function Ye(t,e,i,n,r,s,o,a){var h=A(i),l={name:e,arg:o,expression:h.expression,filters:h.filters,raw:i,attr:s,modifiers:a,def:r};("for"===e||"router-view"===e)&&(l.ref=rt(t));var c=function(t,e,i,n,r){l.ref&&kt((n||t).$refs,l.ref,null),t._bindDir(l,e,i,n,r)};return c.terminal=!0,c}function Ke(t,e){function i(t,e,i){var n=i&&ii(i),r=!n&&A(s);v.push({name:t,attr:o,raw:a,def:e,arg:l,modifiers:c,expression:r&&r.expression,filters:r&&r.filters,interp:i,hasOneTime:n})}for(var n,r,s,o,a,h,l,c,u,f,p,d=t.length,v=[];d--;)if(n=t[d],r=o=n.name,s=a=n.value,f=N(s),l=null,c=ti(r),r=r.replace(Ls,""),f)s=j(f),l=r,i("bind",vs.bind,f);else if(Hs.test(r))c.literal=!Ds.test(r),i("transition",Fs.transition);else if(Ps.test(r))l=r.replace(Ps,""),i("on",vs.on);else if(Ds.test(r))h=r.replace(Ds,""),"style"===h||"class"===h?i(h,Fs[h]):(l=h,i("bind",vs.bind));else if(p=r.match(Rs)){if(h=p[1],l=p[2],"else"===h)continue;u=gt(e,"directives",h,!0),u&&i(h,u)}return v.length?ei(v):void 0}function ti(t){var e=Object.create(null),i=t.match(Ls);if(i)for(var n=i.length;n--;)e[i[n].slice(1)]=!0;return e}function ei(t){return function(e,i,n,r,s){for(var o=t.length;o--;)e._bindDir(t[o],i,n,r,s)}}function ii(t){for(var e=t.length;e--;)if(t[e].oneTime)return!0}function ni(t){return"SCRIPT"===t.tagName&&(!t.hasAttribute("type")||"text/javascript"===t.getAttribute("type"))}function ri(t,e){return e&&(e._containerAttrs=oi(t)),it(t)&&(t=Zt(t)),e&&(e._asComponent&&!e.template&&(e.template=""),e.template&&(e._content=K(t),t=si(t,e))),at(t)&&(U(nt("v-start",!0),t),t.appendChild(nt("v-end",!0))),t}function si(t,e){var i=e.template,n=Zt(i,!0);if(n){var r=n.firstChild,s=r.tagName&&r.tagName.toLowerCase();return e.replace?(t===document.body,n.childNodes.length>1||1!==r.nodeType||"component"===s||gt(e,"components",s)||W(r,"is")||gt(e,"elementDirectives",s)||r.hasAttribute("v-for")||r.hasAttribute("v-if")?n:(e._replacerAttrs=oi(r),ai(t,r),r)):(t.appendChild(n),t)}}function oi(t){return 1===t.nodeType&&t.hasAttributes()?d(t.attributes):void 0}function ai(t,e){for(var i,n,r=t.attributes,s=r.length;s--;)i=r[s].name,n=r[s].value,e.hasAttribute(i)||Ws.test(i)?"class"===i&&!N(n)&&(n=n.trim())&&n.split(/\s+/).forEach(function(t){X(e,t)}):e.setAttribute(i,n)}function hi(t,e){if(e){for(var i,n,r=t._slotContents=Object.create(null),s=0,o=e.children.length;o>s;s++)i=e.children[s],(n=i.getAttribute("slot"))&&(r[n]||(r[n]=[])).push(i);for(n in r)r[n]=li(r[n],e);if(e.hasChildNodes()){var a=e.childNodes;if(1===a.length&&3===a[0].nodeType&&!a[0].data.trim())return;r["default"]=li(e.childNodes,e)}}}function li(t,e){var i=document.createDocumentFragment();t=d(t);for(var n=0,r=t.length;r>n;n++){var s=t[n];!it(s)||s.hasAttribute("v-if")||s.hasAttribute("v-for")||(e.removeChild(s),s=Zt(s,!0)),i.appendChild(s)}return i}function ci(t){function e(){}function n(t,e){var i=new zt(e,t,null,{lazy:!0});return function(){return i.dirty&&i.evaluate(),_t.target&&i.depend(),i.value}}Object.defineProperty(t.prototype,"$data",{get:function(){return this._data},set:function(t){t!==this._data&&this._setData(t)}}),t.prototype._initState=function(){this._initProps(),this._initMeta(),this._initMethods(),this._initData(),this._initComputed()},t.prototype._initProps=function(){var t=this.$options,e=t.el,i=t.props;e=t.el=L(e),this._propsUnlinkFn=e&&1===e.nodeType&&i?He(this,e,i,this._scope):null},t.prototype._initData=function(){var t=this.$options.data,e=this._data=t?t():{};g(e)||(e={});var n,r,s=this._props,o=Object.keys(e);for(n=o.length;n--;)r=o[n],s&&i(s,r)||this._proxy(r);$t(e,this)},t.prototype._setData=function(t){t=t||{};var e=this._data;this._data=t;var n,r,s;for(n=Object.keys(e),s=n.length;s--;)r=n[s],r in t||this._unproxy(r);for(n=Object.keys(t),s=n.length;s--;)r=n[s],i(this,r)||this._proxy(r);e.__ob__.removeVm(this),$t(t,this),this._digest()},t.prototype._proxy=function(t){if(!r(t)){var e=this;Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return e._data[t]},set:function(i){e._data[t]=i}})}},t.prototype._unproxy=function(t){r(t)||delete this[t]},t.prototype._digest=function(){for(var t=0,e=this._watchers.length;e>t;t++)this._watchers[t].update(!0)},t.prototype._initComputed=function(){var t=this.$options.computed;if(t)for(var i in t){var r=t[i],s={enumerable:!0,configurable:!0};"function"==typeof r?(s.get=n(r,this),s.set=e):(s.get=r.get?r.cache!==!1?n(r.get,this):p(r.get,this):e,s.set=r.set?p(r.set,this):e),Object.defineProperty(this,i,s)}},t.prototype._initMethods=function(){var t=this.$options.methods;if(t)for(var e in t)this[e]=p(t[e],this)},t.prototype._initMeta=function(){var t=this.$options._meta;if(t)for(var e in t)kt(this,e,t[e])}}function ui(t){function e(t,e){for(var i,n,r,s=e.attributes,o=0,a=s.length;a>o;o++)i=s[o].name,Bs.test(i)&&(i=i.replace(Bs,""),n=s[o].value,It(n)&&(n+=".apply(this, $arguments)"),r=(t._scope||t._context).$eval(n,!0),r._fromParent=!0,t.$on(i.replace(Bs),r))}function i(t,e,i){if(i){var r,s,o,a;for(s in i)if(r=i[s],Fi(r))for(o=0,a=r.length;a>o;o++)n(t,e,s,r[o]);else n(t,e,s,r)}}function n(t,e,i,r,s){var o=typeof r;if("function"===o)t[e](i,r,s);else if("string"===o){var a=t.$options.methods,h=a&&a[r];h&&t[e](i,h,s)}else r&&"object"===o&&n(t,e,i,r.handler,r)}function r(){this._isAttached||(this._isAttached=!0,this.$children.forEach(s))}function s(t){!t._isAttached&&H(t.$el)&&t._callHook("attached")}function o(){this._isAttached&&(this._isAttached=!1,this.$children.forEach(a))}function a(t){t._isAttached&&!H(t.$el)&&t._callHook("detached")}t.prototype._initEvents=function(){var t=this.$options;t._asComponent&&e(this,t.el),i(this,"$on",t.events),i(this,"$watch",t.watch)},t.prototype._initDOMHooks=function(){this.$on("hook:attached",r),this.$on("hook:detached",o)},t.prototype._callHook=function(t){this.$emit("pre-hook:"+t);var e=this.$options[t];if(e)for(var i=0,n=e.length;n>i;i++)e[i].call(this);this.$emit("hook:"+t)}}function fi(){}function pi(t,e,i,n,r,s){this.vm=e,this.el=i,this.descriptor=t,this.name=t.name,this.expression=t.expression,this.arg=t.arg,this.modifiers=t.modifiers,this.filters=t.filters,this.literal=this.modifiers&&this.modifiers.literal,this._locked=!1,this._bound=!1,this._listeners=null,this._host=n,this._scope=r,this._frag=s}function di(t){t.prototype._updateRef=function(t){var e=this.$options._ref;if(e){var i=(this._scope||this._context).$refs;t?i[e]===this&&(i[e]=null):i[e]=this}},t.prototype._compile=function(t){var e=this.$options,i=t;if(t=ri(t,e),this._initElement(t),1!==t.nodeType||null===I(t,"v-pre")){var n=this._context&&this._context.$options,r=Ie(t,e,n);hi(this,e._content);var s,o=this.constructor;e._linkerCachable&&(s=o.linker,s||(s=o.linker=Fe(t,e)));var a=r(this,t,this._scope),h=s?s(this,t):Fe(t,e)(this,t);this._unlinkFn=function(){a(),h(!0)},e.replace&&J(i,t),this._isCompiled=!0,this._callHook("compiled")}},t.prototype._initElement=function(t){at(t)?(this._isFragment=!0,this.$el=this._fragmentStart=t.firstChild,this._fragmentEnd=t.lastChild,3===this._fragmentStart.nodeType&&(this._fragmentStart.data=this._fragmentEnd.data=""),this._fragment=t):this.$el=t,this.$el.__vue__=this,this._callHook("beforeCompile")},t.prototype._bindDir=function(t,e,i,n,r){this._directives.push(new pi(t,this,e,i,n,r))},t.prototype._destroy=function(t,e){if(this._isBeingDestroyed)return void(e||this._cleanup());var i,n,r=this,s=function(){!i||n||e||r._cleanup()};t&&this.$el&&(n=!0,this.$remove(function(){n=!1,s()})),this._callHook("beforeDestroy"),this._isBeingDestroyed=!0;var o,a=this.$parent;for(a&&!a._isBeingDestroyed&&(a.$children.$remove(this), +this._updateRef(!0)),o=this.$children.length;o--;)this.$children[o].$destroy();for(this._propsUnlinkFn&&this._propsUnlinkFn(),this._unlinkFn&&this._unlinkFn(),o=this._watchers.length;o--;)this._watchers[o].teardown();this.$el&&(this.$el.__vue__=null),i=!0,s()},t.prototype._cleanup=function(){this._isDestroyed||(this._frag&&this._frag.children.$remove(this),this._data&&this._data.__ob__&&this._data.__ob__.removeVm(this),this.$el=this.$parent=this.$root=this.$children=this._watchers=this._context=this._scope=this._directives=null,this._isDestroyed=!0,this._callHook("destroyed"),this.$off())}}function vi(t){t.prototype._applyFilters=function(t,e,i,n){var r,s,o,a,h,l,c,u,f;for(l=0,c=i.length;c>l;l++)if(r=i[n?c-l-1:l],s=gt(this.$options,"filters",r.name,!0),s&&(s=n?s.write:s.read||s,"function"==typeof s)){if(o=n?[t,e]:[t],h=n?2:1,r.args)for(u=0,f=r.args.length;f>u;u++)a=r.args[u],o[u+h]=a.dynamic?this.$get(a.value):a.value;t=s.apply(this,o)}return t},t.prototype._resolveComponent=function(e,i){var n;if(n="function"==typeof e?e:gt(this.$options,"components",e,!0))if(n.options)i(n);else if(n.resolved)i(n.resolved);else if(n.requested)n.pendingCallbacks.push(i);else{n.requested=!0;var r=n.pendingCallbacks=[i];n.call(this,function(e){g(e)&&(e=t.extend(e)),n.resolved=e;for(var i=0,s=r.length;s>i;i++)r[i](e)},function(t){})}}}function mi(t){function i(t){return JSON.parse(JSON.stringify(t))}t.prototype.$get=function(t,e){var i=Ht(t);if(i){if(e){var n=this;return function(){n.$arguments=d(arguments);var t=i.get.call(n,n);return n.$arguments=null,t}}try{return i.get.call(this,this)}catch(r){}}},t.prototype.$set=function(t,e){var i=Ht(t,!0);i&&i.set&&i.set.call(this,this,e)},t.prototype.$delete=function(t){e(this._data,t)},t.prototype.$watch=function(t,e,i){var n,r=this;"string"==typeof t&&(n=A(t),t=n.expression);var s=new zt(r,t,e,{deep:i&&i.deep,sync:i&&i.sync,filters:n&&n.filters,user:!i||i.user!==!1});return i&&i.immediate&&e.call(r,s.value),function(){s.teardown()}},t.prototype.$eval=function(t,e){if(zs.test(t)){var i=A(t),n=this.$get(i.expression,e);return i.filters?this._applyFilters(n,null,i.filters):n}return this.$get(t,e)},t.prototype.$interpolate=function(t){var e=N(t),i=this;return e?1===e.length?i.$eval(e[0].value)+"":e.map(function(t){return t.tag?i.$eval(t.value):t.value}).join(""):t},t.prototype.$log=function(t){var e=t?jt(this._data,t):this._data;if(e&&(e=i(e)),!t){var n;for(n in this.$options.computed)e[n]=i(this[n]);if(this._props)for(n in this._props)e[n]=i(this[n])}console.log(e)}}function gi(t){function e(t,e,n,r,s,o){e=i(e);var a=!H(e),h=r===!1||a?s:o,l=!a&&!t._isAttached&&!H(t.$el);return t._isFragment?(st(t._fragmentStart,t._fragmentEnd,function(i){h(i,e,t)}),n&&n()):h(t.$el,e,t,n),l&&t._callHook("attached"),t}function i(t){return"string"==typeof t?document.querySelector(t):t}function n(t,e,i,n){e.appendChild(t),n&&n()}function r(t,e,i,n){V(t,e),n&&n()}function s(t,e,i){z(t),i&&i()}t.prototype.$nextTick=function(t){Qi(t,this)},t.prototype.$appendTo=function(t,i,r){return e(this,t,i,r,n,F)},t.prototype.$prependTo=function(t,e,n){return t=i(t),t.hasChildNodes()?this.$before(t.firstChild,e,n):this.$appendTo(t,e,n),this},t.prototype.$before=function(t,i,n){return e(this,t,i,n,r,D)},t.prototype.$after=function(t,e,n){return t=i(t),t.nextSibling?this.$before(t.nextSibling,e,n):this.$appendTo(t.parentNode,e,n),this},t.prototype.$remove=function(t,e){if(!this.$el.parentNode)return t&&t();var i=this._isAttached&&H(this.$el);i||(e=!1);var n=this,r=function(){i&&n._callHook("detached"),t&&t()};if(this._isFragment)ot(this._fragmentStart,this._fragmentEnd,this,this._fragment,r);else{var o=e===!1?s:P;o(this.$el,this,r)}return this}}function _i(t){function e(t,e,n){var r=t.$parent;if(r&&n&&!i.test(e))for(;r;)r._eventsCount[e]=(r._eventsCount[e]||0)+n,r=r.$parent}t.prototype.$on=function(t,i){return(this._events[t]||(this._events[t]=[])).push(i),e(this,t,1),this},t.prototype.$once=function(t,e){function i(){n.$off(t,i),e.apply(this,arguments)}var n=this;return i.fn=e,this.$on(t,i),this},t.prototype.$off=function(t,i){var n;if(!arguments.length){if(this.$parent)for(t in this._events)n=this._events[t],n&&e(this,t,-n.length);return this._events={},this}if(n=this._events[t],!n)return this;if(1===arguments.length)return e(this,t,-n.length),this._events[t]=null,this;for(var r,s=n.length;s--;)if(r=n[s],r===i||r.fn===i){e(this,t,-1),n.splice(s,1);break}return this},t.prototype.$emit=function(t){var e="string"==typeof t;t=e?t:t.name;var i=this._events[t],n=e||!i;if(i){i=i.length>1?d(i):i;var r=e&&i.some(function(t){return t._fromParent});r&&(n=!1);for(var s=d(arguments,1),o=0,a=i.length;a>o;o++){var h=i[o],l=h.apply(this,s);l!==!0||r&&!h._fromParent||(n=!0)}}return n},t.prototype.$broadcast=function(t){var e="string"==typeof t;if(t=e?t:t.name,this._eventsCount[t]){var i=this.$children,n=d(arguments);e&&(n[0]={name:t,source:this});for(var r=0,s=i.length;s>r;r++){var o=i[r],a=o.$emit.apply(o,n);a&&o.$broadcast.apply(o,n)}return this}},t.prototype.$dispatch=function(t){var e=this.$emit.apply(this,arguments);if(e){var i=this.$parent,n=d(arguments);for(n[0]={name:t,source:this};i;)e=i.$emit.apply(i,n),i=e?i.$parent:null;return this}};var i=/^hook:/}function yi(t){function e(){this._isAttached=!0,this._isReady=!0,this._callHook("ready")}t.prototype.$mount=function(t){return this._isCompiled?void 0:(t=L(t),t||(t=document.createElement("div")),this._compile(t),this._initDOMHooks(),H(this.$el)?(this._callHook("attached"),e.call(this)):this.$once("hook:attached",e),this)},t.prototype.$destroy=function(t,e){this._destroy(t,e)},t.prototype.$compile=function(t,e,i,n){return Fe(t,this.$options,!0)(this,t,e,i,n)}}function bi(t){this._init(t)}function wi(t,e,i){return i=i?parseInt(i,10):0,e=o(e),"number"==typeof e?t.slice(i,i+e):t}function Ci(t,e,i){if(t=Qs(t),null==e)return t;if("function"==typeof e)return t.filter(e);e=(""+e).toLowerCase();for(var n,r,s,o,a="in"===i?3:2,h=Array.prototype.concat.apply([],d(arguments,a)),l=[],c=0,u=t.length;u>c;c++)if(n=t[c],s=n&&n.$value||n,o=h.length){for(;o--;)if(r=h[o],"$key"===r&&ki(n.$key,e)||ki(jt(s,r),e)){l.push(n);break}}else ki(n,e)&&l.push(n);return l}function $i(t){function e(t,e,i){var r=n[i];return r&&("$key"!==r&&(m(t)&&"$value"in t&&(t=t.$value),m(e)&&"$value"in e&&(e=e.$value)),t=m(t)?jt(t,r):t,e=m(e)?jt(e,r):e),t===e?0:t>e?s:-s}var i=null,n=void 0;t=Qs(t);var r=d(arguments,1),s=r[r.length-1];"number"==typeof s?(s=0>s?-1:1,r=r.length>1?r.slice(0,-1):r):s=1;var o=r[0];return o?("function"==typeof o?i=function(t,e){return o(t,e)*s}:(n=Array.prototype.concat.apply([],r),i=function(t,r,s){return s=s||0,s>=n.length-1?e(t,r,s):e(t,r,s)||i(t,r,s+1)}),t.slice().sort(i)):t}function ki(t,e){var i;if(g(t)){var n=Object.keys(t);for(i=n.length;i--;)if(ki(t[n[i]],e))return!0}else if(Fi(t)){for(i=t.length;i--;)if(ki(t[i],e))return!0}else if(null!=t)return t.toString().toLowerCase().indexOf(e)>-1}function xi(i){function n(t){return new Function("return function "+f(t)+" (options) { this._init(options) }")()}i.options={directives:vs,elementDirectives:qs,filters:Zs,transitions:{},components:{},partials:{},replace:!0},i.util=Pn,i.config=Cn,i.set=t,i["delete"]=e,i.nextTick=Qi,i.compiler=Vs,i.FragmentFactory=re,i.internalDirectives=Fs,i.parsers={path:Yn,text:yn,template:Tr,directive:pn,expression:fr},i.cid=0;var r=1;i.extend=function(t){t=t||{};var e=this,i=0===e.cid;if(i&&t._Ctor)return t._Ctor;var s=t.name||e.options.name,o=n(s||"VueComponent");return o.prototype=Object.create(e.prototype),o.prototype.constructor=o,o.cid=r++,o.options=mt(e.options,t),o["super"]=e,o.extend=e.extend,Cn._assetTypes.forEach(function(t){o[t]=e[t]}),s&&(o.options.components[s]=o),i&&(t._Ctor=o),o},i.use=function(t){if(!t.installed){var e=d(arguments,1);return e.unshift(this),"function"==typeof t.install?t.install.apply(t,e):t.apply(null,e),t.installed=!0,this}},i.mixin=function(t){i.options=mt(i.options,t)},Cn._assetTypes.forEach(function(t){i[t]=function(e,n){return n?("component"===t&&g(n)&&(n.name=e,n=i.extend(n)),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}}),v(i.transition,kn)}var Ai=Object.prototype.hasOwnProperty,Oi=/^\s?(true|false|-?[\d\.]+|'[^']*'|"[^"]*")\s?$/,Ti=/-(\w)/g,Ni=/([a-z\d])([A-Z])/g,ji=/(?:^|[-_\/])(\w)/g,Ei=Object.prototype.toString,Si="[object Object]",Fi=Array.isArray,Di="__proto__"in{},Pi="undefined"!=typeof window&&"[object Object]"!==Object.prototype.toString.call(window),Ri=Pi&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,Li=Pi&&window.navigator.userAgent.toLowerCase(),Hi=Li&&Li.indexOf("msie 9.0")>0,Ii=Li&&Li.indexOf("android")>0,Mi=Li&&/(iphone|ipad|ipod|ios)/i.test(Li),Wi=Li&&Li.indexOf("micromessenger")>0,Vi=void 0,Bi=void 0,zi=void 0,Ui=void 0;if(Pi&&!Hi){var Ji=void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend,qi=void 0===window.onanimationend&&void 0!==window.onwebkitanimationend;Vi=Ji?"WebkitTransition":"transition",Bi=Ji?"webkitTransitionEnd":"transitionend",zi=qi?"WebkitAnimation":"animation",Ui=qi?"webkitAnimationEnd":"animationend"}var Qi=function(){function t(){n=!1;var t=i.slice(0);i=[];for(var e=0;ee;e++)t[e].update()};var En=Array.prototype,Sn=Object.create(En);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(t){var e=En[t];_(Sn,t,function(){for(var i=arguments.length,n=new Array(i);i--;)n[i]=arguments[i];var r,s=e.apply(this,n),o=this.__ob__;switch(t){case"push":r=n;break;case"unshift":r=n;break;case"splice":r=n.slice(2)}return r&&o.observeArray(r),o.dep.notify(),s})}),_(En,"$set",function(t,e){return t>=this.length&&(this.length=Number(t)+1),this.splice(t,1,e)[0]}),_(En,"$remove",function(t){if(this.length){var e=b(this,t);return e>-1?this.splice(e,1):void 0}});var Fn=Object.getOwnPropertyNames(Sn),Dn=!0;bt.prototype.walk=function(t){for(var e=Object.keys(t),i=0,n=e.length;n>i;i++)this.convert(e[i],t[e[i]])},bt.prototype.observeArray=function(t){for(var e=0,i=t.length;i>e;e++)$t(t[e])},bt.prototype.convert=function(t,e){kt(this.value,t,e)},bt.prototype.addVm=function(t){(this.vms||(this.vms=[])).push(t)},bt.prototype.removeVm=function(t){this.vms.$remove(t)};var Pn=Object.freeze({defineReactive:kt,set:t,del:e,hasOwn:i,isLiteral:n,isReserved:r,_toString:s,toNumber:o,toBoolean:a,stripQuotes:h,camelize:l,hyphenate:u,classify:f,bind:p,toArray:d,extend:v,isObject:m,isPlainObject:g,def:_,debounce:y,indexOf:b,cancellable:w,looseEqual:C,isArray:Fi,hasProto:Di,inBrowser:Pi,devtools:Ri,isIE9:Hi,isAndroid:Ii,isIos:Mi,isWechat:Wi,get transitionProp(){return Vi},get transitionEndEvent(){return Bi},get animationProp(){return zi},get animationEndEvent(){return Ui},nextTick:Qi,get _Set(){return Gi},query:L,inDoc:H,getAttr:I,getBindAttr:M,hasBindAttr:W,before:V,after:B,remove:z,prepend:U,replace:J,on:q,off:Q,setClass:Z,addClass:X,removeClass:Y,extractContent:K,trimNode:tt,isTemplate:it,createAnchor:nt,findRef:rt,mapNodeRange:st,removeNodeRange:ot,isFragment:at,getOuterHTML:ht,mergeOptions:mt,resolveAsset:gt,checkComponentAttr:lt,commonTagRE:An,reservedTagRE:On,warn:$n}),Rn=0,Ln=new $(1e3),Hn=0,In=1,Mn=2,Wn=3,Vn=0,Bn=1,zn=2,Un=3,Jn=4,qn=5,Qn=6,Gn=7,Zn=8,Xn=[];Xn[Vn]={ws:[Vn],ident:[Un,Hn],"[":[Jn],eof:[Gn]},Xn[Bn]={ws:[Bn],".":[zn],"[":[Jn],eof:[Gn]},Xn[zn]={ws:[zn],ident:[Un,Hn]},Xn[Un]={ident:[Un,Hn],0:[Un,Hn],number:[Un,Hn],ws:[Bn,In],".":[zn,In],"[":[Jn,In],eof:[Gn,In]},Xn[Jn]={"'":[qn,Hn],'"':[Qn,Hn],"[":[Jn,Mn],"]":[Bn,Wn],eof:Zn,"else":[Jn,Hn]},Xn[qn]={"'":[Jn,Hn],eof:Zn,"else":[qn,Hn]},Xn[Qn]={'"':[Jn,Hn],eof:Zn,"else":[Qn,Hn]};var Yn=Object.freeze({parsePath:Nt,getPath:jt,setPath:Et}),Kn=new $(1e3),tr="Math,Date,this,true,false,null,undefined,Infinity,NaN,isNaN,isFinite,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,parseInt,parseFloat",er=new RegExp("^("+tr.replace(/,/g,"\\b|")+"\\b)"),ir="break,case,class,catch,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,in,instanceof,let,return,super,switch,throw,try,var,while,with,yield,enum,await,implements,package,protected,static,interface,private,public",nr=new RegExp("^("+ir.replace(/,/g,"\\b|")+"\\b)"),rr=/\s/g,sr=/\n/g,or=/[\{,]\s*[\w\$_]+\s*:|('(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`)|new |typeof |void /g,ar=/"(\d+)"/g,hr=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['.*?'\]|\[".*?"\]|\[\d+\]|\[[A-Za-z_$][\w$]*\])*$/,lr=/[^\w$\.](?:[A-Za-z_$][\w$]*)/g,cr=/^(?:true|false)$/,ur=[],fr=Object.freeze({parseExpression:Ht,isSimplePath:It}),pr=[],dr=[],vr={},mr={},gr=!1,_r=0;zt.prototype.get=function(){this.beforeGet();var t,e=this.scope||this.vm;try{t=this.getter.call(e,e)}catch(i){}return this.deep&&Ut(t),this.preProcess&&(t=this.preProcess(t)),this.filters&&(t=e._applyFilters(t,null,this.filters,!1)),this.postProcess&&(t=this.postProcess(t)),this.afterGet(),t},zt.prototype.set=function(t){var e=this.scope||this.vm;this.filters&&(t=e._applyFilters(t,this.value,this.filters,!0));try{this.setter.call(e,e,t)}catch(i){}var n=e.$forContext;if(n&&n.alias===this.expression){if(n.filters)return;n._withLock(function(){e.$key?n.rawValue[e.$key]=t:n.rawValue.$set(e.$index,t)})}},zt.prototype.beforeGet=function(){_t.target=this},zt.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},zt.prototype.afterGet=function(){_t.target=null;for(var t=this.deps.length;t--;){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var i=this.depIds;this.depIds=this.newDepIds,this.newDepIds=i,this.newDepIds.clear(),i=this.deps,this.deps=this.newDeps,this.newDeps=i,this.newDeps.length=0},zt.prototype.update=function(t){this.lazy?this.dirty=!0:this.sync||!Cn.async?this.run():(this.shallow=this.queued?t?this.shallow:!1:!!t,this.queued=!0,Bt(this))},zt.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||(m(t)||this.deep)&&!this.shallow){var e=this.value;this.value=t;this.prevError;this.cb.call(this.vm,t,e)}this.queued=this.shallow=!1}},zt.prototype.evaluate=function(){var t=_t.target;this.value=this.get(),this.dirty=!1,_t.target=t},zt.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},zt.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||this.vm._vForRemoving||this.vm._watchers.$remove(this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1,this.vm=this.cb=this.value=null}};var yr=new Gi,br={bind:function(){this.attr=3===this.el.nodeType?"data":"textContent"},update:function(t){this.el[this.attr]=s(t)}},wr=new $(1e3),Cr=new $(1e3),$r={efault:[0,"",""],legend:[1,"
","
"],tr:[2,"","
"],col:[2,"","
"]};$r.td=$r.th=[3,"","
"],$r.option=$r.optgroup=[1,'"],$r.thead=$r.tbody=$r.colgroup=$r.caption=$r.tfoot=[1,"","
"],$r.g=$r.defs=$r.symbol=$r.use=$r.image=$r.text=$r.circle=$r.ellipse=$r.line=$r.path=$r.polygon=$r.polyline=$r.rect=[1,'',""];var kr=/<([\w:-]+)/,xr=/&#?\w+?;/,Ar=function(){if(Pi){var t=document.createElement("div");return t.innerHTML="",!t.cloneNode(!0).firstChild.innerHTML}return!1}(),Or=function(){if(Pi){var t=document.createElement("textarea");return t.placeholder="t","t"===t.cloneNode(!0).value}return!1}(),Tr=Object.freeze({cloneNode:Gt,parseTemplate:Zt}),Nr={bind:function(){8===this.el.nodeType&&(this.nodes=[],this.anchor=nt("v-html"),J(this.el,this.anchor))},update:function(t){t=s(t),this.nodes?this.swap(t):this.el.innerHTML=t},swap:function(t){for(var e=this.nodes.length;e--;)z(this.nodes[e]);var i=Zt(t,!0,!0);this.nodes=d(i.childNodes),V(i,this.anchor)}};Xt.prototype.callHook=function(t){var e,i;for(e=0,i=this.childFrags.length;i>e;e++)this.childFrags[e].callHook(t);for(e=0,i=this.children.length;i>e;e++)t(this.children[e])},Xt.prototype.beforeRemove=function(){var t,e;for(t=0,e=this.childFrags.length;e>t;t++)this.childFrags[t].beforeRemove(!1);for(t=0,e=this.children.length;e>t;t++)this.children[t].$destroy(!1,!0);var i=this.unlink.dirs;for(t=0,e=i.length;e>t;t++)i[t]._watcher&&i[t]._watcher.teardown()},Xt.prototype.destroy=function(){this.parentFrag&&this.parentFrag.childFrags.$remove(this),this.node.__v_frag=null,this.unlink()};var jr=new $(5e3);re.prototype.create=function(t,e,i){var n=Gt(this.template);return new Xt(this.linker,this.vm,n,t,e,i)};var Er=700,Sr=800,Fr=850,Dr=1100,Pr=1500,Rr=1500,Lr=1750,Hr=2100,Ir=2200,Mr=2300,Wr=0,Vr={priority:Ir,terminal:!0,params:["track-by","stagger","enter-stagger","leave-stagger"],bind:function(){var t=this.expression.match(/(.*) (?:in|of) (.*)/);if(t){var e=t[1].match(/\((.*),(.*)\)/);e?(this.iterator=e[1].trim(),this.alias=e[2].trim()):this.alias=t[1].trim(),this.expression=t[2]}if(this.alias){this.id="__v-for__"+ ++Wr;var i=this.el.tagName;this.isOption=("OPTION"===i||"OPTGROUP"===i)&&"SELECT"===this.el.parentNode.tagName,this.start=nt("v-for-start"),this.end=nt("v-for-end"),J(this.el,this.end),V(this.start,this.end),this.cache=Object.create(null),this.factory=new re(this.vm,this.el)}},update:function(t){this.diff(t),this.updateRef(),this.updateModel()},diff:function(t){var e,n,r,s,o,a,h=t[0],l=this.fromObject=m(h)&&i(h,"$key")&&i(h,"$value"),c=this.params.trackBy,u=this.frags,f=this.frags=new Array(t.length),p=this.alias,d=this.iterator,v=this.start,g=this.end,_=H(v),y=!u;for(e=0,n=t.length;n>e;e++)h=t[e],s=l?h.$key:null,o=l?h.$value:h,a=!m(o),r=!y&&this.getCachedFrag(o,e,s),r?(r.reused=!0,r.scope.$index=e,s&&(r.scope.$key=s),d&&(r.scope[d]=null!==s?s:e),(c||l||a)&&yt(function(){r.scope[p]=o})):(r=this.create(o,p,e,s),r.fresh=!y),f[e]=r,y&&r.before(g);if(!y){var b=0,w=u.length-f.length;for(this.vm._vForRemoving=!0,e=0,n=u.length;n>e;e++)r=u[e],r.reused||(this.deleteCachedFrag(r),this.remove(r,b++,w,_));this.vm._vForRemoving=!1,b&&(this.vm._watchers=this.vm._watchers.filter(function(t){return t.active}));var C,$,k,x=0;for(e=0,n=f.length;n>e;e++)r=f[e],C=f[e-1],$=C?C.staggerCb?C.staggerAnchor:C.end||C.node:v,r.reused&&!r.staggerCb?(k=se(r,v,this.id),k===C||k&&se(k,v,this.id)===C||this.move(r,$)):this.insert(r,x++,$,_),r.reused=r.fresh=!1}},create:function(t,e,i,n){var r=this._host,s=this._scope||this.vm,o=Object.create(s);o.$refs=Object.create(s.$refs),o.$els=Object.create(s.$els),o.$parent=s,o.$forContext=this,yt(function(){kt(o,e,t)}),kt(o,"$index",i),n?kt(o,"$key",n):o.$key&&_(o,"$key",null),this.iterator&&kt(o,this.iterator,null!==n?n:i);var a=this.factory.create(r,o,this._frag);return a.forId=this.id,this.cacheFrag(t,a,i,n),a},updateRef:function(){var t=this.descriptor.ref;if(t){var e,i=(this._scope||this.vm).$refs;this.fromObject?(e={},this.frags.forEach(function(t){e[t.scope.$key]=oe(t)})):e=this.frags.map(oe),i[t]=e}},updateModel:function(){if(this.isOption){var t=this.start.parentNode,e=t&&t.__v_model;e&&e.forceUpdate()}},insert:function(t,e,i,n){t.staggerCb&&(t.staggerCb.cancel(),t.staggerCb=null);var r=this.getStagger(t,e,null,"enter");if(n&&r){var s=t.staggerAnchor;s||(s=t.staggerAnchor=nt("stagger-anchor"),s.__v_frag=t),B(s,i);var o=t.staggerCb=w(function(){t.staggerCb=null,t.before(s),z(s)});setTimeout(o,r)}else{var a=i.nextSibling;a||(B(this.end,i),a=this.end),t.before(a)}},remove:function(t,e,i,n){if(t.staggerCb)return t.staggerCb.cancel(),void(t.staggerCb=null);var r=this.getStagger(t,e,i,"leave");if(n&&r){var s=t.staggerCb=w(function(){t.staggerCb=null,t.remove()});setTimeout(s,r)}else t.remove()},move:function(t,e){e.nextSibling||this.end.parentNode.appendChild(this.end),t.before(e.nextSibling,!1)},cacheFrag:function(t,e,n,r){var s,o=this.params.trackBy,a=this.cache,h=!m(t);r||o||h?(s=he(n,r,t,o),a[s]||(a[s]=e)):(s=this.id,i(t,s)?null===t[s]&&(t[s]=e):Object.isExtensible(t)&&_(t,s,e)),e.raw=t},getCachedFrag:function(t,e,i){var n,r=this.params.trackBy,s=!m(t);if(i||r||s){var o=he(e,i,t,r);n=this.cache[o]}else n=t[this.id];return n&&(n.reused||n.fresh),n},deleteCachedFrag:function(t){var e=t.raw,n=this.params.trackBy,r=t.scope,s=r.$index,o=i(r,"$key")&&r.$key,a=!m(e);if(n||o||a){var h=he(s,o,e,n);this.cache[h]=null}else e[this.id]=null,t.raw=null},getStagger:function(t,e,i,n){n+="Stagger";var r=t.node.__v_trans,s=r&&r.hooks,o=s&&(s[n]||s.stagger);return o?o.call(t,e,i):e*parseInt(this.params[n]||this.params.stagger,10)},_preProcess:function(t){return this.rawValue=t,t},_postProcess:function(t){if(Fi(t))return t;if(g(t)){for(var e,i=Object.keys(t),n=i.length,r=new Array(n);n--;)e=i[n],r[n]={$key:e,$value:t[e]};return r}return"number"!=typeof t||isNaN(t)||(t=ae(t)),t||[]},unbind:function(){if(this.descriptor.ref&&((this._scope||this.vm).$refs[this.descriptor.ref]=null),this.frags)for(var t,e=this.frags.length;e--;)t=this.frags[e],this.deleteCachedFrag(t),t.destroy()}},Br={priority:Hr,terminal:!0,bind:function(){var t=this.el;if(t.__vue__)this.invalid=!0;else{var e=t.nextElementSibling;e&&null!==I(e,"v-else")&&(z(e),this.elseEl=e),this.anchor=nt("v-if"),J(t,this.anchor)}},update:function(t){this.invalid||(t?this.frag||this.insert():this.remove())},insert:function(){this.elseFrag&&(this.elseFrag.remove(),this.elseFrag=null),this.factory||(this.factory=new re(this.vm,this.el)),this.frag=this.factory.create(this._host,this._scope,this._frag),this.frag.before(this.anchor)},remove:function(){this.frag&&(this.frag.remove(),this.frag=null),this.elseEl&&!this.elseFrag&&(this.elseFactory||(this.elseFactory=new re(this.elseEl._context||this.vm,this.elseEl)),this.elseFrag=this.elseFactory.create(this._host,this._scope,this._frag),this.elseFrag.before(this.anchor))},unbind:function(){this.frag&&this.frag.destroy(),this.elseFrag&&this.elseFrag.destroy()}},zr={bind:function(){var t=this.el.nextElementSibling;t&&null!==I(t,"v-else")&&(this.elseEl=t)},update:function(t){this.apply(this.el,t),this.elseEl&&this.apply(this.elseEl,!t)},apply:function(t,e){function i(){t.style.display=e?"":"none"}H(t)?R(t,e?1:-1,i,this.vm):i()}},Ur={bind:function(){var t=this,e=this.el,i="range"===e.type,n=this.params.lazy,r=this.params.number,s=this.params.debounce,a=!1;if(Ii||i||(this.on("compositionstart",function(){a=!0}),this.on("compositionend",function(){a=!1,n||t.listener()})),this.focused=!1,i||n||(this.on("focus",function(){t.focused=!0}),this.on("blur",function(){t.focused=!1,(!t._frag||t._frag.inserted)&&t.rawListener()})),this.listener=this.rawListener=function(){if(!a&&t._bound){var n=r||i?o(e.value):e.value;t.set(n),Qi(function(){t._bound&&!t.focused&&t.update(t._watcher.value)})}},s&&(this.listener=y(this.listener,s)),this.hasjQuery="function"==typeof jQuery,this.hasjQuery){var h=jQuery.fn.on?"on":"bind";jQuery(e)[h]("change",this.rawListener),n||jQuery(e)[h]("input",this.listener)}else this.on("change",this.rawListener),n||this.on("input",this.listener);!n&&Hi&&(this.on("cut",function(){Qi(t.listener)}),this.on("keyup",function(e){(46===e.keyCode||8===e.keyCode)&&t.listener()})),(e.hasAttribute("value")||"TEXTAREA"===e.tagName&&e.value.trim())&&(this.afterBind=this.listener)},update:function(t){this.el.value=s(t)},unbind:function(){var t=this.el;if(this.hasjQuery){var e=jQuery.fn.off?"off":"unbind";jQuery(t)[e]("change",this.listener),jQuery(t)[e]("input",this.listener)}}},Jr={bind:function(){var t=this,e=this.el;this.getValue=function(){if(e.hasOwnProperty("_value"))return e._value;var i=e.value;return t.params.number&&(i=o(i)),i},this.listener=function(){t.set(t.getValue())},this.on("change",this.listener),e.hasAttribute("checked")&&(this.afterBind=this.listener)},update:function(t){this.el.checked=C(t,this.getValue())}},qr={bind:function(){var t=this,e=this.el;this.forceUpdate=function(){t._watcher&&t.update(t._watcher.get())};var i=this.multiple=e.hasAttribute("multiple");this.listener=function(){var n=le(e,i);n=t.params.number?Fi(n)?n.map(o):o(n):n,t.set(n)},this.on("change",this.listener);var n=le(e,i,!0);(i&&n.length||!i&&null!==n)&&(this.afterBind=this.listener),this.vm.$on("hook:attached",this.forceUpdate)},update:function(t){var e=this.el;e.selectedIndex=-1;for(var i,n,r=this.multiple&&Fi(t),s=e.options,o=s.length;o--;)i=s[o],n=i.hasOwnProperty("_value")?i._value:i.value,i.selected=r?ce(t,n)>-1:C(t,n)},unbind:function(){this.vm.$off("hook:attached",this.forceUpdate)}},Qr={bind:function(){function t(){var t=i.checked;return t&&i.hasOwnProperty("_trueValue")?i._trueValue:!t&&i.hasOwnProperty("_falseValue")?i._falseValue:t}var e=this,i=this.el;this.getValue=function(){return i.hasOwnProperty("_value")?i._value:e.params.number?o(i.value):i.value},this.listener=function(){var n=e._watcher.value;if(Fi(n)){var r=e.getValue();i.checked?b(n,r)<0&&n.push(r):n.$remove(r)}else e.set(t())},this.on("change",this.listener),i.hasAttribute("checked")&&(this.afterBind=this.listener)},update:function(t){var e=this.el;Fi(t)?e.checked=b(t,this.getValue())>-1:e.hasOwnProperty("_trueValue")?e.checked=C(t,e._trueValue):e.checked=!!t}},Gr={text:Ur,radio:Jr,select:qr,checkbox:Qr},Zr={priority:Sr,twoWay:!0,handlers:Gr,params:["lazy","number","debounce"],bind:function(){this.checkFilters(),this.hasRead&&!this.hasWrite;var t,e=this.el,i=e.tagName;if("INPUT"===i)t=Gr[e.type]||Gr.text;else if("SELECT"===i)t=Gr.select;else{if("TEXTAREA"!==i)return;t=Gr.text}e.__v_model=this,t.bind.call(this),this.update=t.update,this._unbind=t.unbind},checkFilters:function(){var t=this.filters;if(t)for(var e=t.length;e--;){var i=gt(this.vm.$options,"filters",t[e].name);("function"==typeof i||i.read)&&(this.hasRead=!0),i.write&&(this.hasWrite=!0)}},unbind:function(){this.el.__v_model=null,this._unbind&&this._unbind()}},Xr={esc:27,tab:9,enter:13,space:32,"delete":[8,46],up:38,left:37,right:39,down:40},Yr={priority:Er,acceptStatement:!0,keyCodes:Xr,bind:function(){if("IFRAME"===this.el.tagName&&"load"!==this.arg){var t=this;this.iframeBind=function(){q(t.el.contentWindow,t.arg,t.handler,t.modifiers.capture)},this.on("load",this.iframeBind)}},update:function(t){if(this.descriptor.raw||(t=function(){}),"function"==typeof t){this.modifiers.stop&&(t=fe(t)),this.modifiers.prevent&&(t=pe(t)),this.modifiers.self&&(t=de(t));var e=Object.keys(this.modifiers).filter(function(t){return"stop"!==t&&"prevent"!==t&&"self"!==t&&"capture"!==t});e.length&&(t=ue(t,e)),this.reset(),this.handler=t,this.iframeBind?this.iframeBind():q(this.el,this.arg,this.handler,this.modifiers.capture)}},reset:function(){var t=this.iframeBind?this.el.contentWindow:this.el;this.handler&&Q(t,this.arg,this.handler)},unbind:function(){this.reset()}},Kr=["-webkit-","-moz-","-ms-"],ts=["Webkit","Moz","ms"],es=/!important;?$/,is=Object.create(null),ns=null,rs={deep:!0,update:function(t){"string"==typeof t?this.el.style.cssText=t:Fi(t)?this.handleObject(t.reduce(v,{})):this.handleObject(t||{})},handleObject:function(t){var e,i,n=this.cache||(this.cache={});for(e in n)e in t||(this.handleSingle(e,null),delete n[e]);for(e in t)i=t[e],i!==n[e]&&(n[e]=i,this.handleSingle(e,i))},handleSingle:function(t,e){if(t=ve(t))if(null!=e&&(e+=""),e){var i=es.test(e)?"important":"";i?(e=e.replace(es,"").trim(),this.el.style.setProperty(t.kebab,e,i)):this.el.style[t.camel]=e}else this.el.style[t.camel]=""}},ss="http://www.w3.org/1999/xlink",os=/^xlink:/,as=/^v-|^:|^@|^(?:is|transition|transition-mode|debounce|track-by|stagger|enter-stagger|leave-stagger)$/,hs=/^(?:value|checked|selected|muted)$/,ls=/^(?:draggable|contenteditable|spellcheck)$/,cs={value:"_value","true-value":"_trueValue","false-value":"_falseValue"},us={priority:Fr,bind:function(){var t=this.arg,e=this.el.tagName;t||(this.deep=!0);var i=this.descriptor,n=i.interp;n&&(i.hasOneTime&&(this.expression=j(n,this._scope||this.vm)),(as.test(t)||"name"===t&&("PARTIAL"===e||"SLOT"===e))&&(this.el.removeAttribute(t),this.invalid=!0))},update:function(t){if(!this.invalid){var e=this.arg;this.arg?this.handleSingle(e,t):this.handleObject(t||{})}},handleObject:rs.handleObject,handleSingle:function(t,e){var i=this.el,n=this.descriptor.interp;if(this.modifiers.camel&&(t=l(t)),!n&&hs.test(t)&&t in i){var r="value"===t&&null==e?"":e;i[t]!==r&&(i[t]=r)}var s=cs[t];if(!n&&s){i[s]=e;var o=i.__v_model;o&&o.listener()}return"value"===t&&"TEXTAREA"===i.tagName?void i.removeAttribute(t):void(ls.test(t)?i.setAttribute(t,e?"true":"false"):null!=e&&e!==!1?"class"===t?(i.__v_trans&&(e+=" "+i.__v_trans.id+"-transition"), +Z(i,e)):os.test(t)?i.setAttributeNS(ss,t,e===!0?"":e):i.setAttribute(t,e===!0?"":e):i.removeAttribute(t))}},fs={priority:Pr,bind:function(){if(this.arg){var t=this.id=l(this.arg),e=(this._scope||this.vm).$els;i(e,t)?e[t]=this.el:kt(e,t,this.el)}},unbind:function(){var t=(this._scope||this.vm).$els;t[this.id]===this.el&&(t[this.id]=null)}},ps={bind:function(){}},ds={bind:function(){var t=this.el;this.vm.$once("pre-hook:compiled",function(){t.removeAttribute("v-cloak")})}},vs={text:br,html:Nr,"for":Vr,"if":Br,show:zr,model:Zr,on:Yr,bind:us,el:fs,ref:ps,cloak:ds},ms={deep:!0,update:function(t){t?"string"==typeof t?this.setClass(t.trim().split(/\s+/)):this.setClass(ge(t)):this.cleanup()},setClass:function(t){this.cleanup(t);for(var e=0,i=t.length;i>e;e++){var n=t[e];n&&_e(this.el,n,X)}this.prevKeys=t},cleanup:function(t){var e=this.prevKeys;if(e)for(var i=e.length;i--;){var n=e[i];(!t||t.indexOf(n)<0)&&_e(this.el,n,Y)}}},gs={priority:Rr,params:["keep-alive","transition-mode","inline-template"],bind:function(){this.el.__vue__||(this.keepAlive=this.params.keepAlive,this.keepAlive&&(this.cache={}),this.params.inlineTemplate&&(this.inlineTemplate=K(this.el,!0)),this.pendingComponentCb=this.Component=null,this.pendingRemovals=0,this.pendingRemovalCb=null,this.anchor=nt("v-component"),J(this.el,this.anchor),this.el.removeAttribute("is"),this.el.removeAttribute(":is"),this.descriptor.ref&&this.el.removeAttribute("v-ref:"+u(this.descriptor.ref)),this.literal&&this.setComponent(this.expression))},update:function(t){this.literal||this.setComponent(t)},setComponent:function(t,e){if(this.invalidatePending(),t){var i=this;this.resolveComponent(t,function(){i.mountComponent(e)})}else this.unbuild(!0),this.remove(this.childVM,e),this.childVM=null},resolveComponent:function(t,e){var i=this;this.pendingComponentCb=w(function(n){i.ComponentName=n.options.name||("string"==typeof t?t:null),i.Component=n,e()}),this.vm._resolveComponent(t,this.pendingComponentCb)},mountComponent:function(t){this.unbuild(!0);var e=this,i=this.Component.options.activate,n=this.getCached(),r=this.build();i&&!n?(this.waitingFor=r,ye(i,r,function(){e.waitingFor===r&&(e.waitingFor=null,e.transition(r,t))})):(n&&r._updateRef(),this.transition(r,t))},invalidatePending:function(){this.pendingComponentCb&&(this.pendingComponentCb.cancel(),this.pendingComponentCb=null)},build:function(t){var e=this.getCached();if(e)return e;if(this.Component){var i={name:this.ComponentName,el:Gt(this.el),template:this.inlineTemplate,parent:this._host||this.vm,_linkerCachable:!this.inlineTemplate,_ref:this.descriptor.ref,_asComponent:!0,_isRouterView:this._isRouterView,_context:this.vm,_scope:this._scope,_frag:this._frag};t&&v(i,t);var n=new this.Component(i);return this.keepAlive&&(this.cache[this.Component.cid]=n),n}},getCached:function(){return this.keepAlive&&this.cache[this.Component.cid]},unbuild:function(t){this.waitingFor&&(this.keepAlive||this.waitingFor.$destroy(),this.waitingFor=null);var e=this.childVM;return!e||this.keepAlive?void(e&&(e._inactive=!0,e._updateRef(!0))):void e.$destroy(!1,t)},remove:function(t,e){var i=this.keepAlive;if(t){this.pendingRemovals++,this.pendingRemovalCb=e;var n=this;t.$remove(function(){n.pendingRemovals--,i||t._cleanup(),!n.pendingRemovals&&n.pendingRemovalCb&&(n.pendingRemovalCb(),n.pendingRemovalCb=null)})}else e&&e()},transition:function(t,e){var i=this,n=this.childVM;switch(n&&(n._inactive=!0),t._inactive=!1,this.childVM=t,i.params.transitionMode){case"in-out":t.$before(i.anchor,function(){i.remove(n,e)});break;case"out-in":i.remove(n,function(){t.$before(i.anchor,e)});break;default:i.remove(n),t.$before(i.anchor,e)}},unbind:function(){if(this.invalidatePending(),this.unbuild(),this.cache){for(var t in this.cache)this.cache[t].$destroy();this.cache=null}}},_s=Cn._propBindingModes,ys={},bs=/^[$_a-zA-Z]+[\w$]*$/,ws=Cn._propBindingModes,Cs={bind:function(){var t=this.vm,e=t._context,i=this.descriptor.prop,n=i.path,r=i.parentPath,s=i.mode===ws.TWO_WAY,o=this.parentWatcher=new zt(e,r,function(e){ke(t,i,e)},{twoWay:s,filters:i.filters,scope:this._scope});if($e(t,i,o.value),s){var a=this;t.$once("pre-hook:created",function(){a.childWatcher=new zt(t,n,function(t){o.set(t)},{sync:!0})})}},unbind:function(){this.parentWatcher.teardown(),this.childWatcher&&this.childWatcher.teardown()}},$s=[],ks=!1,xs="transition",As="animation",Os=Vi+"Duration",Ts=zi+"Duration",Ns=Pi&&window.requestAnimationFrame,js=Ns?function(t){Ns(function(){Ns(t)})}:function(t){setTimeout(t,50)},Es=Ee.prototype;Es.enter=function(t,e){this.cancelPending(),this.callHook("beforeEnter"),this.cb=e,X(this.el,this.enterClass),t(),this.entered=!1,this.callHookWithCb("enter"),this.entered||(this.cancel=this.hooks&&this.hooks.enterCancelled,Ne(this.enterNextTick))},Es.enterNextTick=function(){var t=this;this.justEntered=!0,js(function(){t.justEntered=!1});var e=this.enterDone,i=this.getCssTransitionType(this.enterClass);this.pendingJsCb?i===xs&&Y(this.el,this.enterClass):i===xs?(Y(this.el,this.enterClass),this.setupCssCb(Bi,e)):i===As?this.setupCssCb(Ui,e):e()},Es.enterDone=function(){this.entered=!0,this.cancel=this.pendingJsCb=null,Y(this.el,this.enterClass),this.callHook("afterEnter"),this.cb&&this.cb()},Es.leave=function(t,e){this.cancelPending(),this.callHook("beforeLeave"),this.op=t,this.cb=e,X(this.el,this.leaveClass),this.left=!1,this.callHookWithCb("leave"),this.left||(this.cancel=this.hooks&&this.hooks.leaveCancelled,this.op&&!this.pendingJsCb&&(this.justEntered?this.leaveDone():Ne(this.leaveNextTick)))},Es.leaveNextTick=function(){var t=this.getCssTransitionType(this.leaveClass);if(t){var e=t===xs?Bi:Ui;this.setupCssCb(e,this.leaveDone)}else this.leaveDone()},Es.leaveDone=function(){this.left=!0,this.cancel=this.pendingJsCb=null,this.op(),Y(this.el,this.leaveClass),this.callHook("afterLeave"),this.cb&&this.cb(),this.op=null},Es.cancelPending=function(){this.op=this.cb=null;var t=!1;this.pendingCssCb&&(t=!0,Q(this.el,this.pendingCssEvent,this.pendingCssCb),this.pendingCssEvent=this.pendingCssCb=null),this.pendingJsCb&&(t=!0,this.pendingJsCb.cancel(),this.pendingJsCb=null),t&&(Y(this.el,this.enterClass),Y(this.el,this.leaveClass)),this.cancel&&(this.cancel.call(this.vm,this.el),this.cancel=null)},Es.callHook=function(t){this.hooks&&this.hooks[t]&&this.hooks[t].call(this.vm,this.el)},Es.callHookWithCb=function(t){var e=this.hooks&&this.hooks[t];e&&(e.length>1&&(this.pendingJsCb=w(this[t+"Done"])),e.call(this.vm,this.el,this.pendingJsCb))},Es.getCssTransitionType=function(t){if(!(!Bi||document.hidden||this.hooks&&this.hooks.css===!1||Se(this.el))){var e=this.type||this.typeCache[t];if(e)return e;var i=this.el.style,n=window.getComputedStyle(this.el),r=i[Os]||n[Os];if(r&&"0s"!==r)e=xs;else{var s=i[Ts]||n[Ts];s&&"0s"!==s&&(e=As)}return e&&(this.typeCache[t]=e),e}},Es.setupCssCb=function(t,e){this.pendingCssEvent=t;var i=this,n=this.el,r=this.pendingCssCb=function(s){s.target===n&&(Q(n,t,r),i.pendingCssEvent=i.pendingCssCb=null,!i.pendingJsCb&&e&&e())};q(n,t,r)};var Ss={priority:Dr,update:function(t,e){var i=this.el,n=gt(this.vm.$options,"transitions",t);t=t||"v",i.__v_trans=new Ee(i,t,n,this.vm),e&&Y(i,e+"-transition"),X(i,t+"-transition")}},Fs={style:rs,"class":ms,component:gs,prop:Cs,transition:Ss},Ds=/^v-bind:|^:/,Ps=/^v-on:|^@/,Rs=/^v-([^:]+)(?:$|:(.*)$)/,Ls=/\.[^\.]+/g,Hs=/^(v-bind:|:)?transition$/,Is=1e3,Ms=2e3;Xe.terminal=!0;var Ws=/[^\w\-:\.]/,Vs=Object.freeze({compile:Fe,compileAndLinkProps:He,compileRoot:Ie,transclude:ri,resolveSlots:hi}),Bs=/^v-on:|^@/;pi.prototype._bind=function(){var t=this.name,e=this.descriptor;if(("cloak"!==t||this.vm._isCompiled)&&this.el&&this.el.removeAttribute){var i=e.attr||"v-"+t;this.el.removeAttribute(i)}var n=e.def;if("function"==typeof n?this.update=n:v(this,n),this._setupParams(),this.bind&&this.bind(),this._bound=!0,this.literal)this.update&&this.update(e.raw);else if((this.expression||this.modifiers)&&(this.update||this.twoWay)&&!this._checkStatement()){var r=this;this.update?this._update=function(t,e){r._locked||r.update(t,e)}:this._update=fi;var s=this._preProcess?p(this._preProcess,this):null,o=this._postProcess?p(this._postProcess,this):null,a=this._watcher=new zt(this.vm,this.expression,this._update,{filters:this.filters,twoWay:this.twoWay,deep:this.deep,preProcess:s,postProcess:o,scope:this._scope});this.afterBind?this.afterBind():this.update&&this.update(a.value)}},pi.prototype._setupParams=function(){if(this.params){var t=this.params;this.params=Object.create(null);for(var e,i,n,r=t.length;r--;)e=u(t[r]),n=l(e),i=M(this.el,e),null!=i?this._setupParamWatcher(n,i):(i=I(this.el,e),null!=i&&(this.params[n]=""===i?!0:i))}},pi.prototype._setupParamWatcher=function(t,e){var i=this,n=!1,r=(this._scope||this.vm).$watch(e,function(e,r){if(i.params[t]=e,n){var s=i.paramWatchers&&i.paramWatchers[t];s&&s.call(i,e,r)}else n=!0},{immediate:!0,user:!1});(this._paramUnwatchFns||(this._paramUnwatchFns=[])).push(r)},pi.prototype._checkStatement=function(){var t=this.expression;if(t&&this.acceptStatement&&!It(t)){var e=Ht(t).get,i=this._scope||this.vm,n=function(t){i.$event=t,e.call(i,i),i.$event=null};return this.filters&&(n=i._applyFilters(n,null,this.filters)),this.update(n),!0}},pi.prototype.set=function(t){this.twoWay&&this._withLock(function(){this._watcher.set(t)})},pi.prototype._withLock=function(t){var e=this;e._locked=!0,t.call(e),Qi(function(){e._locked=!1})},pi.prototype.on=function(t,e,i){q(this.el,t,e,i),(this._listeners||(this._listeners=[])).push([t,e])},pi.prototype._teardown=function(){if(this._bound){this._bound=!1,this.unbind&&this.unbind(),this._watcher&&this._watcher.teardown();var t,e=this._listeners;if(e)for(t=e.length;t--;)Q(this.el,e[t][0],e[t][1]);var i=this._paramUnwatchFns;if(i)for(t=i.length;t--;)i[t]();this.vm=this.el=this._watcher=this._listeners=null}};var zs=/[^|]\|[^|]/;xt(bi),ci(bi),ui(bi),di(bi),vi(bi),mi(bi),gi(bi),_i(bi),yi(bi);var Us={priority:Mr,params:["name"],bind:function(){var t=this.params.name||"default",e=this.vm._slotContents&&this.vm._slotContents[t];e&&e.hasChildNodes()?this.compile(e.cloneNode(!0),this.vm._context,this.vm):this.fallback()},compile:function(t,e,i){if(t&&e){if(this.el.hasChildNodes()&&1===t.childNodes.length&&1===t.childNodes[0].nodeType&&t.childNodes[0].hasAttribute("v-if")){var n=document.createElement("template");n.setAttribute("v-else",""),n.innerHTML=this.el.innerHTML,n._context=this.vm,t.appendChild(n)}var r=i?i._scope:this._scope;this.unlink=e.$compile(t,i,r,this._frag)}t?J(this.el,t):z(this.el)},fallback:function(){this.compile(K(this.el,!0),this.vm)},unbind:function(){this.unlink&&this.unlink()}},Js={priority:Lr,params:["name"],paramWatchers:{name:function(t){Br.remove.call(this),t&&this.insert(t)}},bind:function(){this.anchor=nt("v-partial"),J(this.el,this.anchor),this.insert(this.params.name)},insert:function(t){var e=gt(this.vm.$options,"partials",t,!0);e&&(this.factory=new re(this.vm,e),Br.insert.call(this))},unbind:function(){this.frag&&this.frag.destroy()}},qs={slot:Us,partial:Js},Qs=Vr._postProcess,Gs=/(\d{3})(?=\d)/g,Zs={orderBy:$i,filterBy:Ci,limitBy:wi,json:{read:function(t,e){return"string"==typeof t?t:JSON.stringify(t,null,Number(e)||2)},write:function(t){try{return JSON.parse(t)}catch(e){return t}}},capitalize:function(t){return t||0===t?(t=t.toString(),t.charAt(0).toUpperCase()+t.slice(1)):""},uppercase:function(t){return t||0===t?t.toString().toUpperCase():""},lowercase:function(t){return t||0===t?t.toString().toLowerCase():""},currency:function(t,e,i){if(t=parseFloat(t),!isFinite(t)||!t&&0!==t)return"";e=null!=e?e:"$",i=null!=i?i:2;var n=Math.abs(t).toFixed(i),r=i?n.slice(0,-1-i):n,s=r.length%3,o=s>0?r.slice(0,s)+(r.length>3?",":""):"",a=i?n.slice(-1-i):"",h=0>t?"-":"";return h+e+o+r.slice(s).replace(Gs,"$1,")+a},pluralize:function(t){var e=d(arguments,1);return e.length>1?e[t%10-1]||e[e.length-1]:e[0]+(1===t?"":"s")},debounce:function(t,e){return t?(e||(e=300),y(t,e)):void 0}};return xi(bi),bi.version="1.0.24",setTimeout(function(){Cn.devtools&&Ri&&Ri.emit("init",bi)},0),bi}); \ No newline at end of file From c3db6afd75fcb78a58bf79d732e90b0a8fa59846 Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 7 Jun 2016 16:42:33 +0800 Subject: [PATCH 018/106] =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E4=BA=8C=E5=AF=BC?= =?UTF-8?q?=E8=88=AA=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organizations/_org_custom_header.html.erb | 22 ++++++++++++++++++- .../_org_left_subfield_list.html.erb | 4 ---- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/app/views/organizations/_org_custom_header.html.erb b/app/views/organizations/_org_custom_header.html.erb index e05d52747..7d2043904 100644 --- a/app/views/organizations/_org_custom_header.html.erb +++ b/app/views/organizations/_org_custom_header.html.erb @@ -63,8 +63,28 @@ <% end %>
+ <% elsif field.field_type == "Comptec" %> +
  • + <%= link_to "#{field.name}", teachers_organization_path(@organization, :org_subfield_id => field.id, :type => "famous"), :class => "sn-link-white", :target => "_blank" %> +
  • + <% elsif field.field_type == "Compstu" %> +
  • + <%= link_to "#{field.name}", students_organization_path(@organization, :org_subfield_id => field.id, :type => "famous"), :class => "sn-link-white", :target => "_blank" %> +
  • + <% elsif field.field_type == "Comppro" %> +
  • + <%= link_to "#{field.name}", projects_organization_path(@organization, :org_subfield_id => field.id, :type => "famous"), :class => "sn-link-white", :target => "_blank" %> +
  • + <% elsif field.field_type == "Compcou" %> +
  • + <%= link_to "#{field.name}", courses_organization_path(@organization, :org_subfield_id => field.id, :type => "famous"), :class => "sn-link-white", :target => "_blank" %> +
  • + <% elsif field.field_type == "Compact" %> +
  • + <%= link_to "#{field.name}", acts_organization_path(@organization, :org_subfield_id => field.id), :class => "sn-link-white", :target => "_blank" %> +
  • <% elsif field.field_type == "Resource" && field.hide == 0 %> -
  • <%= link_to field.name, org_subfield_files_path(field), :class => "sn-link-white", :target => "_blank" %>
  • <% end %> diff --git a/app/views/organizations/_org_left_subfield_list.html.erb b/app/views/organizations/_org_left_subfield_list.html.erb index 30234c300..c1cc3a20f 100644 --- a/app/views/organizations/_org_left_subfield_list.html.erb +++ b/app/views/organizations/_org_left_subfield_list.html.erb @@ -125,10 +125,6 @@
    <%= link_to "#{field.name}", students_organization_path(organization, :org_subfield_id => field.id), :class => "homepageMenuText homepageMenuControl hidden", :onclick => "$('#homepageLeftMenuPost').slideToggle();" %>
    - <% elsif field.field_type == "Compstu" && User.current.admin? %> -
    - <%= link_to "#{field.name}", students_organization_path(organization, :org_subfield_id => field.id), :class => "homepageMenuText homepageMenuControl hidden", :onclick => "$('#homepageLeftMenuPost').slideToggle();" %> -
    <% elsif field.field_type == "Comppro" && User.current.admin? %>
    <%= link_to "#{field.name}", projects_organization_path(organization, :org_subfield_id => field.id), :class => "homepageMenuText homepageMenuControl hidden", :onclick => "$('#homepageLeftMenuPost').slideToggle();" %> From eee8a8adb683be02a0243a3e59e30049297cbd59 Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Tue, 7 Jun 2016 16:43:37 +0800 Subject: [PATCH 019/106] fix --- public/javascripts/wechat/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/javascripts/wechat/app.js b/public/javascripts/wechat/app.js index 730226df8..3fc14f60c 100644 --- a/public/javascripts/wechat/app.js +++ b/public/javascripts/wechat/app.js @@ -525,7 +525,7 @@ app.directive('loadingSpinner', function ($http) { }; }); -app.config(['$routeProvider',"$httpProvider",function ($routeProvider, $httpProvider, $locationProvider) { +app.config(['$routeProvider',"$httpProvider", "$locationProvider",function ($routeProvider, $httpProvider, $locationProvider) { var rootPath = '/assets/wechat/' $locationProvider.html5Mode(true); $routeProvider From 90ac57ed6abeda7810c34d106519f2a2dbcf7561 Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Tue, 7 Jun 2016 16:46:10 +0800 Subject: [PATCH 020/106] base --- public/assets/wechat/app.html | 1 + 1 file changed, 1 insertion(+) diff --git a/public/assets/wechat/app.html b/public/assets/wechat/app.html index 63e88490f..98363b36e 100644 --- a/public/assets/wechat/app.html +++ b/public/assets/wechat/app.html @@ -1,6 +1,7 @@ + 最新动态 From 81e35de2b650c397d576c174a2c72138c351cfb6 Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Tue, 7 Jun 2016 16:47:06 +0800 Subject: [PATCH 021/106] base --- app/views/wechats/user_activities.html.erb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/views/wechats/user_activities.html.erb b/app/views/wechats/user_activities.html.erb index b45587ae0..7eddb2861 100644 --- a/app/views/wechats/user_activities.html.erb +++ b/app/views/wechats/user_activities.html.erb @@ -1,6 +1,7 @@ + 最新动态 From 09ff5954bd9cf9a6e6ebecb2dc7a45b1584f5717 Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 7 Jun 2016 16:56:20 +0800 Subject: [PATCH 022/106] =?UTF-8?q?=E5=AD=97=E4=BD=93=E8=BF=87=E9=95=BF?= =?UTF-8?q?=E6=BC=94=E7=A4=BA=E9=97=AE=E9=A2=98=EF=BC=88=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E4=BA=8C=E5=AD=90=E9=A1=B5=E9=9D=A2=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_show_custom_org_document_comment.html.erb | 6 +++--- .../organizations/_show_custom_org_subfield.html.erb | 8 ++++---- public/stylesheets/org2.css | 8 -------- 3 files changed, 7 insertions(+), 15 deletions(-) diff --git a/app/views/org_document_comments/_show_custom_org_document_comment.html.erb b/app/views/org_document_comments/_show_custom_org_document_comment.html.erb index ec2a1ca8f..d3c98da13 100644 --- a/app/views/org_document_comments/_show_custom_org_document_comment.html.erb +++ b/app/views/org_document_comments/_show_custom_org_document_comment.html.erb @@ -1,11 +1,11 @@
    -
    您的位置:<%= link_to "首页", organization_path(@organization), :class => "sn-link-grey2" %> > +
    您的位置:<%= link_to "首页", organization_path(@organization), :class => "sn-link-grey2" %> > <%=link_to @org_subfield.name, organization_path(@organization, :org_subfield_id => @org_subfield.id), :class => "sn-link-grey2" %> > - <%= @document.title %> + <%= @document.title %>
    -
    +

    <%= @document.title %>

    来源:<%= @org_subfield.name %> 发布时间:<%= format_date(@document.created_at) %>

    diff --git a/app/views/organizations/_show_custom_org_subfield.html.erb b/app/views/organizations/_show_custom_org_subfield.html.erb index 473a5757d..10ac31637 100644 --- a/app/views/organizations/_show_custom_org_subfield.html.erb +++ b/app/views/organizations/_show_custom_org_subfield.html.erb @@ -3,13 +3,13 @@
    -
    +
    您的位置:<%= link_to "首页", organization_path(@organization), :class => "sn-link-grey2" %> > - <%=link_to @org_subfield.name, organization_path(@organization, :org_subfield_id => @org_subfield.id), :class => "sn-link-grey2" %> + <%= @org_subfield.name %>
    -
    -

    <%= @organization.name %>

    +
    +

    <%= @org_subfield.name %>

      <% @subfield_acts.each do |act| %> <% title = subfield_title_type(act) %> diff --git a/public/stylesheets/org2.css b/public/stylesheets/org2.css index 6672eb073..9e19fb5cb 100644 --- a/public/stylesheets/org2.css +++ b/public/stylesheets/org2.css @@ -1,14 +1,6 @@ @charset "utf-8"; /* CSS Document */ /* 样式重置 */ -body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{ margin:0; padding:0;} -body,table,input,textarea,select,button { font-family: "微软雅黑","宋体"; font-size:12px;line-height:1.9; background:#f2f2f2;} -div,img,tr,td,table{ border:0;} -table,tr,td{border:0;cellspacing:0; cellpadding:0;} -ol,ul,li{ list-style-type:none} -a:link,a:visited{color:#000;text-decoration:none;} -a:hover,a:active{color:#24366e;} - .sn-fl {float:left;} .sn-fr {float:right;} .sn-cl {clear:both;content:".";display:block;font-size:0;height:0;line-height:0;visibility:hidden} From b01a671fb40e5dc294635b6f83994fe4c67ed815 Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Tue, 7 Jun 2016 16:59:26 +0800 Subject: [PATCH 023/106] base --- public/javascripts/wechat/app.js | 55 +++++++++----------------------- 1 file changed, 15 insertions(+), 40 deletions(-) diff --git a/public/javascripts/wechat/app.js b/public/javascripts/wechat/app.js index 3fc14f60c..5e201fca4 100644 --- a/public/javascripts/wechat/app.js +++ b/public/javascripts/wechat/app.js @@ -75,38 +75,10 @@ app.controller('ActivityController',function($anchorScroll, $location,$scope, $h console.log("ActivityController load"); $scope.page = 0; - var current_page = rms.get('current_page'); - if(typeof current_page !== 'undefined'){ - $scope.page = current_page; - } - $scope.activities = rms.get("activities") || []; - var savePageConfig = function(){ - rms.save('current_page', $scope.current_page); - rms.save('has_more', $scope.has_more); - rms.save('activities', $scope.activities); - } - - var loadPageConfig = function(){ - - var has_more = rms.get('has_more'); - var activities = rms.get('activities'); - - - if(typeof has_more !== 'undefined'){ - $scope.has_more = has_more; - } - - } var loadActData = function(page){ - if (page > 0 && $scope.activities.length >0){ //应该是返回过来的 - loadPageConfig(); - var yOffset = rms.get("yoffset"); - $location.hash(yOffset); - return; - } $scope.page = page; $http({ @@ -126,19 +98,22 @@ app.controller('ActivityController',function($anchorScroll, $location,$scope, $h console.log(response.data); - rms.save('current_page', $scope.page); - rms.save('has_more', $scope.has_more); - rms.save('activities', $scope.activities); }, function errorCallback(response) { }); }; - auth.getOpenId().then( - function successCallback(response){ - loadActData($scope.page); - }, function errorCallback(response) { - alert("获取openid出错:"+response); - } - ); + + if($scope.activities.length<=0){ + + auth.getOpenId().then( + function successCallback(response){ + loadActData($scope.page); + }, function errorCallback(response) { + alert("获取openid出错:"+response); + } + ); + + } + $scope.loadActData = loadActData; @@ -529,7 +504,7 @@ app.config(['$routeProvider',"$httpProvider", "$locationProvider",function ($rou var rootPath = '/assets/wechat/' $locationProvider.html5Mode(true); $routeProvider - .when('/activities', { + .when('/', { templateUrl: rootPath + 'activities.html', controller: 'ActivityController' }) @@ -562,7 +537,7 @@ app.config(['$routeProvider',"$httpProvider", "$locationProvider",function ($rou controller: 'BlogController' }) .otherwise({ - redirectTo: '/activities' + redirectTo: '/' }); //监听异步请求,实现加载中显隐标记 From 5fe41d80e97b85127c32363f2836a7b794f099c3 Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Tue, 7 Jun 2016 17:06:13 +0800 Subject: [PATCH 024/106] base --- public/javascripts/wechat/app.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/public/javascripts/wechat/app.js b/public/javascripts/wechat/app.js index 5e201fca4..b1b1f3858 100644 --- a/public/javascripts/wechat/app.js +++ b/public/javascripts/wechat/app.js @@ -77,6 +77,10 @@ app.controller('ActivityController',function($anchorScroll, $location,$scope, $h $scope.page = 0; $scope.activities = rms.get("activities") || []; + if($scope.activities.length>0){ + return; + } + var loadActData = function(page){ @@ -94,6 +98,9 @@ app.controller('ActivityController',function($anchorScroll, $location,$scope, $h } else { $scope.activities = response.data.data; } + + rms.save("activities", $scope.activities); + $scope.has_more = (response.data.count + response.data.page * 10) < response.data.all_count; console.log(response.data); From 8fb88dfdead7e3e78f923ac4e175250e175cd092 Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Tue, 7 Jun 2016 17:17:14 +0800 Subject: [PATCH 025/106] base --- public/javascripts/wechat/app.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/public/javascripts/wechat/app.js b/public/javascripts/wechat/app.js index b1b1f3858..91dc41015 100644 --- a/public/javascripts/wechat/app.js +++ b/public/javascripts/wechat/app.js @@ -67,7 +67,7 @@ app.factory('rms', function(){ return {save: save, get: get}; }); -app.controller('ActivityController',function($anchorScroll, $location,$scope, $http, auth, rms, common){ +app.controller('ActivityController',function($anchorScroll, $location,$scope, $http, $document,$window, auth, rms, common){ $scope.replaceUrl = function(url){ return url; }; @@ -78,6 +78,12 @@ app.controller('ActivityController',function($anchorScroll, $location,$scope, $h $scope.activities = rms.get("activities") || []; if($scope.activities.length>0){ + + $timeout(function () { + $window.scroll(0,rms.get("yoffset")); + }); + + return; } @@ -101,6 +107,8 @@ app.controller('ActivityController',function($anchorScroll, $location,$scope, $h rms.save("activities", $scope.activities); + rms.save("yoffset", $document.body.scrollHeight); + $scope.has_more = (response.data.count + response.data.page * 10) < response.data.all_count; console.log(response.data); From f993fa87ff6ec497cfd49dfe757a5b4302bf286c Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Tue, 7 Jun 2016 17:18:28 +0800 Subject: [PATCH 026/106] base --- public/javascripts/wechat/app.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/javascripts/wechat/app.js b/public/javascripts/wechat/app.js index 91dc41015..5dc1e90fd 100644 --- a/public/javascripts/wechat/app.js +++ b/public/javascripts/wechat/app.js @@ -107,7 +107,7 @@ app.controller('ActivityController',function($anchorScroll, $location,$scope, $h rms.save("activities", $scope.activities); - rms.save("yoffset", $document.body.scrollHeight); + $scope.has_more = (response.data.count + response.data.page * 10) < response.data.all_count; @@ -135,7 +135,7 @@ app.controller('ActivityController',function($anchorScroll, $location,$scope, $h //跳到详情页 $scope.goDetail = function(type, act_id,id){ - rms.save("yoffset",'act_'+id); + rms.save("yoffset", $document.body.scrollHeight); $location.path('/'+type+'/'+act_id); } From a8b68d64ee4873ee43dac2216f32343d4095af56 Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 7 Jun 2016 17:19:19 +0800 Subject: [PATCH 027/106] =?UTF-8?q?=E5=AF=BC=E8=88=AA=E6=9D=83=E9=99=90?= =?UTF-8?q?=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/organizations_controller.rb | 10 +++++----- .../organizations/_org_container.html.erb | 4 +++- .../organizations/_org_custom_header.html.erb | 8 ++++---- .../_org_left_subfield_list.html.erb | 18 +++++++++--------- .../organizations/_org_students_list.html.erb | 2 +- .../organizations/_org_teachers_list.html.erb | 9 +-------- 6 files changed, 23 insertions(+), 28 deletions(-) diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index a75a0e698..ae1119609 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -30,7 +30,7 @@ class OrganizationsController < ApplicationController include UsersHelper include OrganizationsHelper before_filter :find_organization, :only => [:show, :members, :apply_subdomain, :select_org_layout, :teachers, :students, :projects, :courses] - before_filter :allow_as_admin, :only => [:students, :teachers, :projects, :courses, :acts] + # before_filter :allow_as_admin, :only => [:students, :teachers, :projects, :courses, :acts] layout 'base_org' def index @@ -180,7 +180,7 @@ class OrganizationsController < ApplicationController q = params[:search].nil? ? "" : "#{params[:search].strip}" @field = params[:org_subfield_id].nil? ? OrgSubfield.where("organization_id =? and field_type =?", params[:id].to_i, "Comptec").first : OrgSubfield.find(params[:org_subfield_id]) @type = params[:type] - if @type == "courses" || @type.nil? + if @type.blank? @org_teachers = User.find_by_sql("select u.*, ue.technical_title, ue.school_id,(select count(*) from courses where courses.tea_id = u.id) as course_count from users u, user_extensions ue where u.id = ue.user_id and ue.identity=0 and concat(lastname,firstname,login) like '%#{q}%' order by course_count desc") elsif @type == "famous" @@ -204,7 +204,7 @@ class OrganizationsController < ApplicationController q = params[:search].nil? ? "" : "#{params[:search].strip}" @field = params[:org_subfield_id].nil? ? OrgSubfield.where("organization_id =? and field_type =?", params[:id].to_i, "Compstu").first : OrgSubfield.find(params[:org_subfield_id]) @type = params[:type] - if @type == "courses" || @type.nil? + if @type.blank? @org_students = User.find_by_sql("select u.*, ue.student_id, ue.school_id,(select count(*) from courses where courses.tea_id = u.id) as course_count from users u, user_extensions ue where u.id = ue.user_id and ue.identity= 1 and concat(lastname,firstname,login) like '%#{q}%' order by course_count desc") elsif @type == "famous" @@ -240,7 +240,7 @@ class OrganizationsController < ApplicationController q = params[:search].nil? ? "" : "#{params[:search].strip}" @field = params[:org_subfield_id].nil? ? OrgSubfield.where("organization_id =? and field_type =?", params[:id].to_i, "Comppro").first : OrgSubfield.find(params[:org_subfield_id]) @type = params[:type] - if @type.nil? + if @type.blank? @containers = Project.find_by_sql("select p.*, (select count(*) from forge_activities where forge_activities.project_id = p.id) as project_count from projects p where p.status =1 and p.is_public =1 and name like '%#{q}%' order by project_count desc;") elsif @type == "famous" @@ -254,7 +254,7 @@ class OrganizationsController < ApplicationController q = params[:search].nil? ? "" : "#{params[:search].strip}" @field = params[:org_subfield_id].nil? ? OrgSubfield.where("organization_id =? and field_type =?", params[:id].to_i, "Compstu").first : OrgSubfield.find(params[:org_subfield_id]) @type = params[:type] - if @type.nil? + if @type.blank? @containers = Course.find_by_sql("select c.*, (select count(*) from course_activities where course_activities.course_id = c.id) as course_count from courses c where c.is_delete =0 and c.is_public =1 and name like '%#{q}%' order by course_count desc;") elsif @type == "famous" diff --git a/app/views/organizations/_org_container.html.erb b/app/views/organizations/_org_container.html.erb index 59ac4d95c..d91ed649e 100644 --- a/app/views/organizations/_org_container.html.erb +++ b/app/views/organizations/_org_container.html.erb @@ -16,7 +16,9 @@
      资源
    - <%= container.class == Course ? (container.is_excellent == 0 ? "设为精品" : "取消精品") : (container.hot ==0 ? "设为热门" : "取消热门") %> + <% if User.current.admin? %> + <%= container.class == Course ? (container.is_excellent == 0 ? "设为精品" : "取消精品") : (container.hot ==0 ? "设为热门" : "取消热门") %> + <% end %>
    diff --git a/app/views/organizations/_org_custom_header.html.erb b/app/views/organizations/_org_custom_header.html.erb index 7d2043904..91ca5aafb 100644 --- a/app/views/organizations/_org_custom_header.html.erb +++ b/app/views/organizations/_org_custom_header.html.erb @@ -65,19 +65,19 @@
    <% elsif field.field_type == "Comptec" %>
  • - <%= link_to "#{field.name}", teachers_organization_path(@organization, :org_subfield_id => field.id, :type => "famous"), :class => "sn-link-white", :target => "_blank" %> + <%= link_to "#{field.name}", teachers_organization_path(@organization, :org_subfield_id => field.id, :type => "#{User.current.admin? ? "" : "famous"}"), :class => "sn-link-white", :target => "_blank" %>
  • <% elsif field.field_type == "Compstu" %>
  • - <%= link_to "#{field.name}", students_organization_path(@organization, :org_subfield_id => field.id, :type => "famous"), :class => "sn-link-white", :target => "_blank" %> + <%= link_to "#{field.name}", students_organization_path(@organization, :org_subfield_id => field.id, :type => "#{User.current.admin? ? "" : "famous"}"), :class => "sn-link-white", :target => "_blank" %>
  • <% elsif field.field_type == "Comppro" %>
  • - <%= link_to "#{field.name}", projects_organization_path(@organization, :org_subfield_id => field.id, :type => "famous"), :class => "sn-link-white", :target => "_blank" %> + <%= link_to "#{field.name}", projects_organization_path(@organization, :org_subfield_id => field.id, :type => "#{User.current.admin? ? "" : "famous"}"), :class => "sn-link-white", :target => "_blank" %>
  • <% elsif field.field_type == "Compcou" %>
  • - <%= link_to "#{field.name}", courses_organization_path(@organization, :org_subfield_id => field.id, :type => "famous"), :class => "sn-link-white", :target => "_blank" %> + <%= link_to "#{field.name}", courses_organization_path(@organization, :org_subfield_id => field.id, :type => "#{User.current.admin? ? "" : "famous"}"), :class => "sn-link-white", :target => "_blank" %>
  • <% elsif field.field_type == "Compact" %>
  • diff --git a/app/views/organizations/_org_left_subfield_list.html.erb b/app/views/organizations/_org_left_subfield_list.html.erb index c1cc3a20f..ddc504640 100644 --- a/app/views/organizations/_org_left_subfield_list.html.erb +++ b/app/views/organizations/_org_left_subfield_list.html.erb @@ -117,23 +117,23 @@
  • <% end %> - <% elsif field.field_type == "Comptec" && User.current.admin? %> + <% elsif field.field_type == "Comptec" %>
    - <%= link_to "#{field.name}", teachers_organization_path(organization, :org_subfield_id => field.id), :class => "homepageMenuText homepageMenuControl hidden", :onclick => "$('#homepageLeftMenuPost').slideToggle();" %> + <%= link_to "#{field.name}", teachers_organization_path(organization, :org_subfield_id => field.id, :type => "#{User.current.admin? ? "" : "famous"}"), :class => "homepageMenuText homepageMenuControl hidden", :onclick => "$('#homepageLeftMenuPost').slideToggle();" %>
    - <% elsif field.field_type == "Compstu" && User.current.admin? %> + <% elsif field.field_type == "Compstu" %>
    - <%= link_to "#{field.name}", students_organization_path(organization, :org_subfield_id => field.id), :class => "homepageMenuText homepageMenuControl hidden", :onclick => "$('#homepageLeftMenuPost').slideToggle();" %> + <%= link_to "#{field.name}", students_organization_path(organization, :org_subfield_id => field.id, :type => "#{User.current.admin? ? "" : "famous"}"), :class => "homepageMenuText homepageMenuControl hidden", :onclick => "$('#homepageLeftMenuPost').slideToggle();" %>
    - <% elsif field.field_type == "Comppro" && User.current.admin? %> + <% elsif field.field_type == "Comppro" %>
    - <%= link_to "#{field.name}", projects_organization_path(organization, :org_subfield_id => field.id), :class => "homepageMenuText homepageMenuControl hidden", :onclick => "$('#homepageLeftMenuPost').slideToggle();" %> + <%= link_to "#{field.name}", projects_organization_path(organization, :org_subfield_id => field.id, :type => "#{User.current.admin? ? "" : "famous"}"), :class => "homepageMenuText homepageMenuControl hidden", :onclick => "$('#homepageLeftMenuPost').slideToggle();" %>
    - <% elsif field.field_type == "Compcou" && User.current.admin? %> + <% elsif field.field_type == "Compcou" %>
    - <%= link_to "#{field.name}", courses_organization_path(organization, :org_subfield_id => field.id), :class => "homepageMenuText homepageMenuControl hidden", :onclick => "$('#homepageLeftMenuPost').slideToggle();" %> + <%= link_to "#{field.name}", courses_organization_path(organization, :org_subfield_id => field.id, :type => "#{User.current.admin? ? "" : "famous"}"), :class => "homepageMenuText homepageMenuControl hidden", :onclick => "$('#homepageLeftMenuPost').slideToggle();" %>
    - <% elsif field.field_type == "Compact" && User.current.admin? %> + <% elsif field.field_type == "Compact" %>
    <%= link_to "#{field.name}", acts_organization_path(organization, :org_subfield_id => field.id), :class => "homepageMenuText homepageMenuControl hidden", :onclick => "$('#homepageLeftMenuPost').slideToggle();" %>
    diff --git a/app/views/organizations/_org_students_list.html.erb b/app/views/organizations/_org_students_list.html.erb index d3db6fbf6..482447c56 100644 --- a/app/views/organizations/_org_students_list.html.erb +++ b/app/views/organizations/_org_students_list.html.erb @@ -21,7 +21,7 @@
    资源数
    - <% if User.current.admin_of_org?(@organization) %> + <% if User.current.admin? %> <%= org_student.excellent_student ==0 ? "设为学霸" : "取消设置" %> <% end %>
    diff --git a/app/views/organizations/_org_teachers_list.html.erb b/app/views/organizations/_org_teachers_list.html.erb index f2523fb9f..90467d870 100644 --- a/app/views/organizations/_org_teachers_list.html.erb +++ b/app/views/organizations/_org_teachers_list.html.erb @@ -28,15 +28,8 @@
    资源数
    - <% if User.current.admin_of_org?(@organization) %> + <% if User.current.admin? %> <%= org_teacher.excellent_teacher==0?"设为名师":"取消设置" %> - - <% else %> - - - - - <% end %>
    From fbfb382d789da8fad45249693dd70be11baddc3c Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Tue, 7 Jun 2016 17:22:57 +0800 Subject: [PATCH 028/106] base --- public/javascripts/wechat/app.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/javascripts/wechat/app.js b/public/javascripts/wechat/app.js index 5dc1e90fd..a2351b367 100644 --- a/public/javascripts/wechat/app.js +++ b/public/javascripts/wechat/app.js @@ -67,7 +67,7 @@ app.factory('rms', function(){ return {save: save, get: get}; }); -app.controller('ActivityController',function($anchorScroll, $location,$scope, $http, $document,$window, auth, rms, common){ +app.controller('ActivityController',function($anchorScroll, $location,$scope, $http, auth, rms, common){ $scope.replaceUrl = function(url){ return url; }; @@ -80,7 +80,7 @@ app.controller('ActivityController',function($anchorScroll, $location,$scope, $h if($scope.activities.length>0){ $timeout(function () { - $window.scroll(0,rms.get("yoffset")); + window.scroll(0,rms.get("yoffset")); }); @@ -135,7 +135,7 @@ app.controller('ActivityController',function($anchorScroll, $location,$scope, $h //跳到详情页 $scope.goDetail = function(type, act_id,id){ - rms.save("yoffset", $document.body.scrollHeight); + rms.save("yoffset", window.document.body.scrollHeight); $location.path('/'+type+'/'+act_id); } From 5b34f498c957a26c49e429ed41f2cc26da726e18 Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Tue, 7 Jun 2016 17:23:56 +0800 Subject: [PATCH 029/106] base --- public/javascripts/wechat/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/javascripts/wechat/app.js b/public/javascripts/wechat/app.js index a2351b367..06a1d86d9 100644 --- a/public/javascripts/wechat/app.js +++ b/public/javascripts/wechat/app.js @@ -67,7 +67,7 @@ app.factory('rms', function(){ return {save: save, get: get}; }); -app.controller('ActivityController',function($anchorScroll, $location,$scope, $http, auth, rms, common){ +app.controller('ActivityController',function($anchorScroll, $location,$scope, $http, $timeout, auth, rms, common){ $scope.replaceUrl = function(url){ return url; }; From 37975552c98e00c3d1a3c834b63ccac2db167b36 Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Tue, 7 Jun 2016 17:27:17 +0800 Subject: [PATCH 030/106] base --- public/javascripts/wechat/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/javascripts/wechat/app.js b/public/javascripts/wechat/app.js index 06a1d86d9..0fceed85f 100644 --- a/public/javascripts/wechat/app.js +++ b/public/javascripts/wechat/app.js @@ -135,7 +135,7 @@ app.controller('ActivityController',function($anchorScroll, $location,$scope, $h //跳到详情页 $scope.goDetail = function(type, act_id,id){ - rms.save("yoffset", window.document.body.scrollHeight); + rms.save("yoffset", window.document.body.scrollTop); $location.path('/'+type+'/'+act_id); } From 1251e31061d781e2108ff3db2f9a0a9bf4d3dd49 Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Tue, 7 Jun 2016 17:36:11 +0800 Subject: [PATCH 031/106] =?UTF-8?q?=20=20=E4=B8=8D=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/javascripts/wechat/app.js | 45 ++++++++------------------------ 1 file changed, 11 insertions(+), 34 deletions(-) diff --git a/public/javascripts/wechat/app.js b/public/javascripts/wechat/app.js index 0fceed85f..54c4bd90e 100644 --- a/public/javascripts/wechat/app.js +++ b/public/javascripts/wechat/app.js @@ -74,21 +74,11 @@ app.controller('ActivityController',function($anchorScroll, $location,$scope, $h console.log("ActivityController load"); - $scope.page = 0; + $scope.page = rms.get('page') || 0; $scope.activities = rms.get("activities") || []; + $scope.has_more = rms.get("has_more"); - if($scope.activities.length>0){ - - $timeout(function () { - window.scroll(0,rms.get("yoffset")); - }); - - - return; - } - - - var loadActData = function(page){ + $scope.loadActData = function(page){ $scope.page = page; $http({ @@ -96,20 +86,16 @@ app.controller('ActivityController',function($anchorScroll, $location,$scope, $h url: apiUrl+ "activities", data: {openid: auth.openid(), page: page} }).then(function successCallback(response) { - $scope.current_page = 0; - console.log($scope.current_page); - console.log(response.data.page); - if($scope.current_page < response.data.page) { + if(response.data.page >0) { $scope.activities = $scope.activities.concat(response.data.data); } else { $scope.activities = response.data.data; } rms.save("activities", $scope.activities); - - - $scope.has_more = (response.data.count + response.data.page * 10) < response.data.all_count; + rms.save('has_more', $scope.has_more); + rms.save('page', response.data.page); console.log(response.data); @@ -118,20 +104,14 @@ app.controller('ActivityController',function($anchorScroll, $location,$scope, $h }; if($scope.activities.length<=0){ - auth.getOpenId().then( function successCallback(response){ - loadActData($scope.page); + $scope.loadActData(0); }, function errorCallback(response) { alert("获取openid出错:"+response); } ); - - } - - - - $scope.loadActData = loadActData; + }; //跳到详情页 $scope.goDetail = function(type, act_id,id){ @@ -146,9 +126,6 @@ app.controller('ActivityController',function($anchorScroll, $location,$scope, $h $scope.decreasePraise = function(act){ common.decreaseCommonPraise(act); }; - - - }); app.factory('common', function($http, auth, $routeParams){ @@ -517,9 +494,9 @@ app.directive('loadingSpinner', function ($http) { app.config(['$routeProvider',"$httpProvider", "$locationProvider",function ($routeProvider, $httpProvider, $locationProvider) { var rootPath = '/assets/wechat/' - $locationProvider.html5Mode(true); + //$locationProvider.html5Mode(true); $routeProvider - .when('/', { + .when('/activites', { templateUrl: rootPath + 'activities.html', controller: 'ActivityController' }) @@ -552,7 +529,7 @@ app.config(['$routeProvider',"$httpProvider", "$locationProvider",function ($rou controller: 'BlogController' }) .otherwise({ - redirectTo: '/' + redirectTo: '/activites' }); //监听异步请求,实现加载中显隐标记 From 9c01bb63e77a9a7997138ac7a8be4c4017465a90 Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 7 Jun 2016 17:36:33 +0800 Subject: [PATCH 032/106] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=91=98=E6=A0=8F=E7=9B=AE=E6=9D=83=E9=99=90?= =?UTF-8?q?=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/organizations_helper.rb | 10 +++++----- app/views/organizations/_subfield_list.html.erb | 6 +++++- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/app/helpers/organizations_helper.rb b/app/helpers/organizations_helper.rb index 181dfccb9..60714f597 100644 --- a/app/helpers/organizations_helper.rb +++ b/app/helpers/organizations_helper.rb @@ -213,11 +213,11 @@ module OrganizationsHelper # 系统栏目只有管理员才能看到 def subfield_to_addmin?(org) - if User.current.admin? - @organization.org_subfields.order("priority") - else - @organization.org_subfields.select { |os| (os.field_type != "Comptec" && os.field_type != "Compstu" && os.field_type != "Comppro" && os.field_type != "Compcou" && os.field_type != "Compact") }.sort_by {|os| os.priority} - end + # if User.current.admin? + @organization.org_subfields.order("priority") + # else + # @organization.org_subfields.select { |os| (os.field_type != "Comptec" && os.field_type != "Compstu" && os.field_type != "Comppro" && os.field_type != "Compcou" && os.field_type != "Compact") }.sort_by {|os| os.priority} + # end end def get_subfield_acts field diff --git a/app/views/organizations/_subfield_list.html.erb b/app/views/organizations/_subfield_list.html.erb index 946043a62..aa1084304 100644 --- a/app/views/organizations/_subfield_list.html.erb +++ b/app/views/organizations/_subfield_list.html.erb @@ -89,7 +89,11 @@
  • <%= field.hide==0?"隐藏":"可见" %> | - <%= link_to "删除", org_subfield_path(field), :method => 'delete', :remote => true, :confirm => "您确定删除吗?", :class => "linkGrey fr ml5 mr5" %> + <% if (field.field_type == "Comptec" || field.field_type == "Compstu" || field.field_type == "Comppro" || field.field_type == "Compcou" || field.field_type == "Compact") && !User.current.admin? %> + 默认 + <% else %> + <%= link_to "删除", org_subfield_path(field), :method => 'delete', :remote => true, :confirm => "您确定删除吗?", :class => "linkGrey fr ml5 mr5" %> + <% end %> | 编辑 <% unless field.field_type == "Resource" || field.field_type == "Comptec" || field.field_type == "Compstu" || field.field_type == "Comppro" || field.field_type == "Compcou" || field.field_type == "Compact" %> From 8b05b33e38747e7d0a9b23017ffb9526c867a689 Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Tue, 7 Jun 2016 17:38:38 +0800 Subject: [PATCH 033/106] =?UTF-8?q?=20=20=E4=B8=8D=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/javascripts/wechat/app.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/public/javascripts/wechat/app.js b/public/javascripts/wechat/app.js index 54c4bd90e..4e1df0381 100644 --- a/public/javascripts/wechat/app.js +++ b/public/javascripts/wechat/app.js @@ -111,7 +111,12 @@ app.controller('ActivityController',function($anchorScroll, $location,$scope, $h alert("获取openid出错:"+response); } ); - }; + } else { + $timeout(function(){ + window.scrollTo(0, rms.get("yoffset")); + }); + + } //跳到详情页 $scope.goDetail = function(type, act_id,id){ From 5999189f3a3e4b11502136398f99dfac7f2a05cc Mon Sep 17 00:00:00 2001 From: yuanke <249218296@qq.com> Date: Wed, 8 Jun 2016 09:02:00 +0800 Subject: [PATCH 034/106] =?UTF-8?q?1.=E8=A7=86=E9=A2=91=E6=A0=B9=E6=8D=AEh?= =?UTF-8?q?ttp=E8=BF=98=E6=98=AFhttps=E5=88=86=E7=B1=BB=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E3=80=82=202.=E8=A1=A8=E6=A0=BC=E5=86=85=E5=AE=B9=E8=B6=85?= =?UTF-8?q?=E5=87=BA=E8=A1=A8=E6=A0=BC=E7=9A=84=E6=94=B9=E4=B8=BA=E6=8D=A2?= =?UTF-8?q?=E8=A1=8C=E3=80=82=203.=E6=9C=89=E4=BA=9B=E6=B5=8F=E8=A7=88?= =?UTF-8?q?=E5=99=A8=E7=BC=A9=E8=BF=9B=E4=BB=8D=E7=84=B6=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E6=96=B9=E6=A1=86=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/assets/kindeditor/kindeditor.js | 6 +++++- public/assets/kindeditor/plugins/code/previewcode.css | 2 +- public/assets/kindeditor/plugins/table/table.js | 2 +- public/javascripts/application.js | 4 +++- public/stylesheets/courses.css | 6 +++--- public/stylesheets/new_user.css | 6 +++--- public/stylesheets/project.css | 4 ++-- public/stylesheets/public.css | 4 ++-- 8 files changed, 20 insertions(+), 14 deletions(-) diff --git a/public/assets/kindeditor/kindeditor.js b/public/assets/kindeditor/kindeditor.js index 5503af1fe..0354ed467 100644 --- a/public/assets/kindeditor/kindeditor.js +++ b/public/assets/kindeditor/kindeditor.js @@ -815,7 +815,8 @@ function _formatHtml(html, htmlTags, urlType, wellFormatted, indentChar) { startNewline = endNewline = ''; } } - if (attr !== '') { + //blockquote 单独加上style 之后再改成接口 给别的加上默认的 + if (attr !== '' || (tagName === 'blockquote')) { var attrMap = _getAttrList(full); if (tagName === 'font') { var fontStyleMap = {}, fontStyle = ''; @@ -877,6 +878,9 @@ function _formatHtml(html, htmlTags, urlType, wellFormatted, indentChar) { } }); attr = ''; + if (tagName === 'blockquote') { + attrMap['style'] = "margin: 0 0 0 40px; border: none; padding: 0px;background: none;background-color: ;"; + } _each(attrMap, function(key, val) { if (key === 'style' && val === '') { return; diff --git a/public/assets/kindeditor/plugins/code/previewcode.css b/public/assets/kindeditor/plugins/code/previewcode.css index f9f7c4b78..0db8eb45b 100644 --- a/public/assets/kindeditor/plugins/code/previewcode.css +++ b/public/assets/kindeditor/plugins/code/previewcode.css @@ -46,7 +46,7 @@ .ke-content div.ref .ref_body {margin:0;padding:2px;line-height:20px;color:#666;font-size:9pt;} -.ke-content blockquote {margin:15px 10px;border:2px solid #eee;padding:5px 5px 5px 35px;} +.ke-content blockquote{background: none;border: none;padding: 0px;margin: 0 0 0 40px;} span.at {color:#269ac9;} span.at a{color:#269ac9;text-decoration: none;} diff --git a/public/assets/kindeditor/plugins/table/table.js b/public/assets/kindeditor/plugins/table/table.js index 74b14b118..3f3cbb27c 100644 --- a/public/assets/kindeditor/plugins/table/table.js +++ b/public/assets/kindeditor/plugins/table/table.js @@ -284,7 +284,7 @@ KindEditor.plugin('table', function(K) { for (var i = 0; i < rows; i++) { html += ''; for (var j = 0; j < cols; j++) { - html += '' + (K.IE ? ' ' : '
    ') + ''; + html += ' Date: Wed, 8 Jun 2016 09:15:35 +0800 Subject: [PATCH 035/106] =?UTF-8?q?=E9=94=81=E5=AE=9A=E5=B8=96=E5=AD=90?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E5=9B=9E=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/assets/wechat/blog_detail.html | 4 ++-- public/assets/wechat/course_discussion.html | 4 ++-- public/assets/wechat/project_discussion.html | 4 ++-- public/stylesheets/weui/weixin.css | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/public/assets/wechat/blog_detail.html b/public/assets/wechat/blog_detail.html index b820ed591..424df2bc6 100644 --- a/public/assets/wechat/blog_detail.html +++ b/public/assets/wechat/blog_detail.html @@ -5,7 +5,7 @@
    -
    {{blog.title}}
    +
    {{blog.title}}
    {{blog.user.realname}}发表博客
    @@ -32,7 +32,7 @@
    -
    +
    diff --git a/public/assets/wechat/course_discussion.html b/public/assets/wechat/course_discussion.html index f02c01ff6..e8d347a88 100644 --- a/public/assets/wechat/course_discussion.html +++ b/public/assets/wechat/course_discussion.html @@ -6,7 +6,7 @@
    -
    {{discussion.subject}}
    +
    {{discussion.subject}}
    @@ -39,7 +39,7 @@ -
    +
    diff --git a/public/assets/wechat/project_discussion.html b/public/assets/wechat/project_discussion.html index bd863f5ed..abec64c50 100644 --- a/public/assets/wechat/project_discussion.html +++ b/public/assets/wechat/project_discussion.html @@ -5,7 +5,7 @@
    -
    {{discussion.subject}}
    +
    {{discussion.subject}}
    发布者: {{discussion.user.realname}}
    @@ -38,7 +38,7 @@ -
    +
    diff --git a/public/stylesheets/weui/weixin.css b/public/stylesheets/weui/weixin.css index 4a88f9705..ab5695e3d 100644 --- a/public/stylesheets/weui/weixin.css +++ b/public/stylesheets/weui/weixin.css @@ -4,6 +4,7 @@ /*基本样式*/ body,table,input,textarea,select,button { font-family: "微软雅黑","宋体";} h1,h2,h3,h4,h5,p,pre {padding:0px; margin:0px;} +img {max-width:100%;} blockquote { border:1px solid #d4d4d4; padding: 0.6em; @@ -63,7 +64,6 @@ a.underline {text-decoration:underline;} .fr {float:right;} .cl {clear:both; overflow:hidden;} .post-content {width:100%; font-size:13px; line-height:18px; height:90px; overflow:hidden; word-break:break-all; word-wrap:break-word;} -.post-content img {max-width:100%;} .post-interactive {width:100%; height:35px; line-height:35px; vertical-align:middle; border-top:1px solid #e6e6e6; background-color:#f8f9fb;} .post-interactive-column, .post-interactive-reply, From e4f48f046be13c2a13992892da7fbc73d714b135 Mon Sep 17 00:00:00 2001 From: huang Date: Wed, 8 Jun 2016 09:16:57 +0800 Subject: [PATCH 036/106] =?UTF-8?q?=E5=AD=90=E9=A1=B5=E9=9D=A2=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E5=86=85=E5=AE=B9=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/organizations_controller.rb | 9 +++- .../_show_custom_org_subfield.html.erb | 1 + app/views/organizations/acts.html.erb | 45 +++++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 app/views/organizations/acts.html.erb diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index ae1119609..098cefceb 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -29,7 +29,7 @@ class OrganizationsController < ApplicationController helper :issues include UsersHelper include OrganizationsHelper - before_filter :find_organization, :only => [:show, :members, :apply_subdomain, :select_org_layout, :teachers, :students, :projects, :courses] + before_filter :find_organization, :only => [:show, :members, :apply_subdomain, :select_org_layout, :teachers, :students, :projects, :courses, :acts] # before_filter :allow_as_admin, :only => [:students, :teachers, :projects, :courses, :acts] layout 'base_org' def index @@ -265,6 +265,13 @@ class OrganizationsController < ApplicationController end def acts + @subfield_content = @organization.org_subfields.order("priority") + @org_subfield = OrgSubfield.where(:id => params[:org_subfield_id]).first + @subfield_acts = get_subfield_acts(@org_subfield) + respond_to do |format| + format.html{render :layout => 'base_org_custom'} + format.js + end end def searchmember_by_name members, name diff --git a/app/views/organizations/_show_custom_org_subfield.html.erb b/app/views/organizations/_show_custom_org_subfield.html.erb index 10ac31637..54416b6f0 100644 --- a/app/views/organizations/_show_custom_org_subfield.html.erb +++ b/app/views/organizations/_show_custom_org_subfield.html.erb @@ -1,4 +1,5 @@ <% if @subfield_acts.blank? %> +

    该模块暂时没有相关内容

    <% else %>
    diff --git a/app/views/organizations/acts.html.erb b/app/views/organizations/acts.html.erb new file mode 100644 index 000000000..da6b79ee6 --- /dev/null +++ b/app/views/organizations/acts.html.erb @@ -0,0 +1,45 @@ +<% if @subfield_acts.blank? %> +

    该模块暂时没有相关内容

    +<% else %> +
    +
    +
    +
    + 您的位置:<%= link_to "首页", organization_path(@organization), :class => "sn-link-grey2" %> > + <%= @org_subfield.name %> +
    +
    +
    +

    <%= @org_subfield.name %>

    +
      + <% @subfield_acts.each do |act| %> + <% title = subfield_title_type(act) %> + <% time = subfield_time_type(act) %> + <% reply_count = subfield_reply_count_type(act) %> + <% document = act.org_act %> +
    • +
      + <% if act.org_act_type == "OrgDocumentComment" %> + <%=link_to title, org_document_comment_path(act.org_act, :organization_id => @organization.id), :class => "sn-newslist-titile fl", :target => "_blank" %> + <% elsif act.org_act_type == "News" %> + <%=link_to title, news_path(act.org_act), :class => "sn-newslist-titile fl", :target => "_blank" %> + <% elsif act.org_act_type == "Message" %> + <%=link_to title, board_message_path(act.org_act.board.id, act.org_act.id), :class => "sn-newslist-titile fl", :target => "_blank" %> + <% end %> + <%= format_date(time) %> + 回复(<%= reply_count %>) +
      +
    • + <% end %> +
    + + + + + + + +
    +
    +
    +<% end %> From 67f0cad331227dd5d3fe05718ec92553ea915d85 Mon Sep 17 00:00:00 2001 From: huang Date: Wed, 8 Jun 2016 09:40:05 +0800 Subject: [PATCH 037/106] =?UTF-8?q?=E7=BB=84=E7=BB=87=E7=BD=91=E7=AB=99?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E6=96=B0=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/organizations_controller.rb | 8 +++++- app/helpers/organizations_helper.rb | 15 ++++++++++ app/views/organizations/acts.html.erb | 31 +++++++++++++-------- 3 files changed, 41 insertions(+), 13 deletions(-) diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index 098cefceb..97fd65aa7 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -267,7 +267,13 @@ class OrganizationsController < ApplicationController def acts @subfield_content = @organization.org_subfields.order("priority") @org_subfield = OrgSubfield.where(:id => params[:org_subfield_id]).first - @subfield_acts = get_subfield_acts(@org_subfield) + shield_project_ids = ShieldActivity.where("container_type='Organization' and container_id=#{@organization.id} and shield_type='Project'").map(&:shield_id) + shield_course_ids = ShieldActivity.where("container_type='Organization' and container_id=#{@organization.id} and shield_type='Course'").map(&:shield_id) + project_ids = (@organization.projects.map(&:id) - shield_project_ids) << 0 + course_ids = (@organization.courses.map(&:id) - shield_course_ids) << 0 + @org_acts = UserActivity.find_by_sql("SELECT * FROM `user_activities` where act_type in ('HomeworkCommon', 'News', 'Message', 'Issue') and + ((container_type = 'Course' and container_id in (#{course_ids.join(',')})) or (container_type = 'Project' and container_id in (#{project_ids.join(',')}))) + order by updated_at desc limit 6;") respond_to do |format| format.html{render :layout => 'base_org_custom'} format.js diff --git a/app/helpers/organizations_helper.rb b/app/helpers/organizations_helper.rb index 60714f597..4099ea451 100644 --- a/app/helpers/organizations_helper.rb +++ b/app/helpers/organizations_helper.rb @@ -115,6 +115,19 @@ module OrganizationsHelper end end + def org_reply_count_type obj + case obj.act_type + when "HomeworkCommon" + obj.act.journals_for_messages.count + when "Issue" + obj.act.journals.count + when "Message" + obj.act.children.count + when "News" + obj.act.comments_count + end + end + # 组织的栏目类型标题 def subfield_title_type obj case obj.org_act_type @@ -124,6 +137,8 @@ module OrganizationsHelper obj.org_act.parent_id.nil? ? obj.org_act.subject : obj.org_act.parent.subject when "News" obj.org_act.title + when "Issue" + obj.org_act.subject end end diff --git a/app/views/organizations/acts.html.erb b/app/views/organizations/acts.html.erb index da6b79ee6..8bd664711 100644 --- a/app/views/organizations/acts.html.erb +++ b/app/views/organizations/acts.html.erb @@ -1,4 +1,4 @@ -<% if @subfield_acts.blank? %> +<% if @org_acts.blank? %>

    该模块暂时没有相关内容

    <% else %>
    @@ -12,20 +12,27 @@

    <%= @org_subfield.name %>

      - <% @subfield_acts.each do |act| %> - <% title = subfield_title_type(act) %> - <% time = subfield_time_type(act) %> - <% reply_count = subfield_reply_count_type(act) %> - <% document = act.org_act %> + <% @org_acts.each do |obj| %> + <% user = org_user_by_type(obj) %> + <% title = org_title_by_type(obj) %> + <% content = org_content_by_type(obj) %> + <% time = org_time_by_type(obj) %> + <% reply_count = org_reply_count_type(obj) %>
    • - <% if act.org_act_type == "OrgDocumentComment" %> - <%=link_to title, org_document_comment_path(act.org_act, :organization_id => @organization.id), :class => "sn-newslist-titile fl", :target => "_blank" %> - <% elsif act.org_act_type == "News" %> - <%=link_to title, news_path(act.org_act), :class => "sn-newslist-titile fl", :target => "_blank" %> - <% elsif act.org_act_type == "Message" %> - <%=link_to title, board_message_path(act.org_act.board.id, act.org_act.id), :class => "sn-newslist-titile fl", :target => "_blank" %> + <% if obj.act_type == "Message" %> + <%= link_to title, board_message_path(obj.act.board.id, obj.act.id), :class => "sn-newslist-titile fl", :target => "_blank" %> + <% elsif obj.act_type == "News" %> + <%= link_to title, news_path(obj.act.id), :class => "sn-newslist-titile fl", :target => "_blank" %> + <% elsif obj.act_type == "HomeworkCommon" %> + <%= link_to title, student_work_index_url_in_org(obj.act.id), :class => "sn-newslist-titile fl", :target => "_blank" %> + <% elsif obj.act_type == "Issue" %> + <%= link_to title, issue_path(obj.act.id), :class => "sn-newslist-titile fl", :target => "_blank" %> <% end %> + + + + <%= format_date(time) %> 回复(<%= reply_count %>)
      From 49406681efc3b0167b12c61861e8e6ad4447d0a7 Mon Sep 17 00:00:00 2001 From: huang Date: Wed, 8 Jun 2016 10:02:10 +0800 Subject: [PATCH 038/106] =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E7=95=99=E8=A8=80=E4=B8=BA=E7=A9=BA=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/org_document_comments_controller.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/controllers/org_document_comments_controller.rb b/app/controllers/org_document_comments_controller.rb index 43e95a0e9..1b9280749 100644 --- a/app/controllers/org_document_comments_controller.rb +++ b/app/controllers/org_document_comments_controller.rb @@ -96,7 +96,12 @@ class OrgDocumentCommentsController < ApplicationController def add_reply_in_doc @document = OrgDocumentComment.find(params[:id]).root @comment = OrgDocumentComment.new(:organization_id => @document.organization_id, :creator_id => User.current.id, :reply_id => params[:id]) - @comment.content = params[:org_content] + if params[:org_comment].blank? + @comment.content = params[:org_content] + else + @comment.content = params[:org_comment][:org_content] + end + @document.children << @comment @document.save respond_to do |format| From 4cb4213a5211672a9b0833da5155cdfb9acf0d97 Mon Sep 17 00:00:00 2001 From: yuanke <249218296@qq.com> Date: Wed, 8 Jun 2016 10:44:58 +0800 Subject: [PATCH 039/106] =?UTF-8?q?=E4=BF=AE=E6=94=B9blockquote=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/stylesheets/courses.css | 3 --- public/stylesheets/new_user.css | 3 --- public/stylesheets/project.css | 2 -- public/stylesheets/public.css | 2 -- 4 files changed, 10 deletions(-) diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css index 5c37f2fbf..967d49389 100644 --- a/public/stylesheets/courses.css +++ b/public/stylesheets/courses.css @@ -152,7 +152,6 @@ a.postTypeGrey:hover {color:#269ac9;} .homepagePostIntro ul li{list-style-type: disc;margin-left: 40px;} .homepagePostIntro td,.homepagePostIntro tr {border: 1px solid; border-color: inherit;} .homepagePostIntro a{color: #136ec2;} -.homepagePostIntro blockquote{background: none;border: none;padding: 0px;margin: 0 0 0 40px;} .homepagePostDeadline {font-size:12px; color:#888888; float:left; margin-top: 2px;} .homepagePostDate {font-size:12px; color:#888888;margin-bottom: 5px;} .homepagePostReply {width:710px; margin:0px auto; background-color:#f1f1f1; margin-top:10px;} @@ -195,7 +194,6 @@ a.postOptionLink2:hover {color:#ffffff; background-color:#269ac9;} .homepagePostReplyContent ul li{list-style-type: disc;margin-left: 20px;} .homepagePostReplyContent td,.homepagePostReplyContent tr {border: 1px solid; border-color: inherit;} .homepagePostReplyContent a{color: #136ec2;} -.homepagePostReplyContent blockquote{background: none;border: none;padding: 0px;margin: 0 0 0 40px;} .table_maxWidth table {max-width: 642px;} .homepagePostProjectState {width:52px; height:20px; line-height:20px; border-radius:1px; background-color:#28be6c; color:#ffffff; text-align:center; vertical-align:middle; font-size:12px; display:inline-block; margin-left:5px;} .homepagePostAssignTo {float:left; font-size:14px; color:#269ac9;} @@ -1144,7 +1142,6 @@ a.link_file_a2{ background:url(../images/pic_file.png) 0 -15px no-repeat; paddin .postDetailDes ul li{list-style-type: disc;margin-left: 40px;} .postDetailDes td,.postDetailDes tr {border: 1px solid; border-color: inherit;} .postDetailDes a{color: #136ec2;} -.postDetailDes blockquote{background: none;border: none;padding: 0px;margin: 0 0 0 40px;} .homepagePostIntro p,.homepagePostIntro div,.homepagePostIntro em, .homepagePostIntro span{text-align: justify; text-justify:inter-ideograph; word-break: normal !important; word-wrap: break-word !important; } .postDetailCreater {color:#888888; font-size:12px; float:left; margin-right:25px;} .postDetailDate {color:#888888; font-size:12px; float:left;} diff --git a/public/stylesheets/new_user.css b/public/stylesheets/new_user.css index cece47704..32e727ba4 100644 --- a/public/stylesheets/new_user.css +++ b/public/stylesheets/new_user.css @@ -683,7 +683,6 @@ a.postTypeGrey:hover {color:#269ac9;} .homepagePostIntro ul li{list-style-type: disc;margin-left: 40px;} .homepagePostIntro td,.homepagePostIntro tr {border: 1px solid; border-color: inherit;} .homepagePostIntro a{color: #136ec2;} -.homepagePostIntro blockquote{background: none;border: none;padding: 0px;margin: 0 0 0 40px;} .homepagePostReplyBanner {width:718px; height:33px; border:1px solid #e4e4e4; line-height:33px; vertical-align:middle; font-size:12px; color:#888888; position: relative;} .borderBottomNone {border-bottom:none !important;} .homepagePostReplyBanner {width:718px; height:33px; border:1px solid #e4e4e4; line-height:33px; vertical-align:middle; font-size:12px; color:#888888;} @@ -724,7 +723,6 @@ a.postOptionLink:hover {color:#ffffff; background-color:#269ac9;} .homepagePostReplyContent ul li{list-style-type: disc;margin-left: 40px;} .homepagePostReplyContent td,.homepagePostReplyContent tr {border: 1px solid; border-color: inherit;} .homepagePostReplyContent a{color: #136ec2;} -.homepagePostReplyContent blockquote{background: none;border: none;padding: 0px;margin: 0 0 0 40px;} .table_maxWidth table {max-width: 642px;} .homepagePostProjectState {width:52px; height:20px; line-height:20px; border-radius:1px; background-color:#28be6c; color:#ffffff; text-align:center; vertical-align:middle; font-size:12px; display:inline-block; margin-left:5px;} .homepagePostAssignTo {float:left; font-size:14px; color:#269ac9;} @@ -870,7 +868,6 @@ a.sortArrowActiveU {background:url(images/post_image_list.png) -17px -20px no-re .postDetailDes ul li{list-style-type: disc;margin-left: 40px;} .postDetailDes td,.postDetailDes tr {border: 1px solid; border-color: inherit;} .postDetailDes a{color: #136ec2;} -.postDetailDes blockquote{background: none;border: none;padding: 0px;margin: 0 0 0 40px;} .homepagePostIntro p,.homepagePostIntro div,.homepagePostIntro em, .homepagePostIntro span{text-align: justify; text-justify:inter-ideograph; word-break: normal !important; word-wrap: break-word !important; } /*line-height: 18px !important;*/ .postDetailCreater {color:#888888; font-size:12px; float:left; margin-right:25px;} .postDetailDate {color:#888888; font-size:12px; float:left;} diff --git a/public/stylesheets/project.css b/public/stylesheets/project.css index 17e0c3554..90a94b52f 100644 --- a/public/stylesheets/project.css +++ b/public/stylesheets/project.css @@ -978,7 +978,6 @@ a:hover.Reply_pic{border:1px solid #64bdd9;} .homepagePostIntro ul li{list-style-type: disc;margin-left: 40px;} .homepagePostIntro td,.homepagePostIntro tr {border: 1px solid; border-color: inherit;} .homepagePostIntro a{color: #136ec2;} -.homepagePostIntro blockquote{background: none;border: none;padding: 0px;margin: 0 0 0 40px;} .topBorder { border-top: 1px solid #E4E4E4; } @@ -1121,7 +1120,6 @@ a:hover.BlueCirBtnMini{ background:#269ac9; color:#fff;} .postDetailDes ul li{list-style-type: disc;margin-left: 40px;} .postDetailDes td,.postDetailDes tr {border: 1px solid; border-color: inherit;} .postDetailDes a{color: #136ec2;} -.postDetailDes blockquote{background: none;border: none;padding: 0px;margin: 0 0 0 40px;} .homepagePostIntro p,.homepagePostIntro div,.homepagePostIntro em, .homepagePostIntro span{text-align: justify; text-justify:inter-ideograph; word-break: normal !important; word-wrap: break-word !important;} .postDetailCreater {color:#888888; font-size:12px; float:left; margin-right:25px;} .postDetailDate {color:#888888; font-size:12px; float:left;} diff --git a/public/stylesheets/public.css b/public/stylesheets/public.css index 20385b3e9..311503489 100644 --- a/public/stylesheets/public.css +++ b/public/stylesheets/public.css @@ -617,7 +617,6 @@ a.postTypeGrey:hover {color:#269ac9;} .homepagePostIntro ul li{list-style-type: disc;margin-left: 40px;} .homepagePostIntro td,.homepagePostIntro tr {border: 1px solid; border-color: inherit;} .homepagePostIntro a{color: #136ec2;} -.homepagePostIntro blockquote{background: none;border: none;padding: 0px;margin: 0 0 0 40px;} .homepagePostDeadline {font-size:12px; color:#888888; float:left; margin-top: 2px;} .homepagePostDate {font-size:12px; color:#888888;margin-bottom: 5px;} .homepagePostReplyBanner {width:708px; height:33px; border:1px solid #e4e4e4; line-height:33px; vertical-align:middle; font-size:12px; color:#888888; position: relative;} @@ -655,7 +654,6 @@ a.postReplyCancel:hover {color:#ffffff;} .homepagePostReplyContent ul li{list-style-type: disc;margin-left: 40px;} .homepagePostReplyContent td,.homepagePostReplyContent tr {border: 1px solid; border-color: inherit;} .homepagePostReplyContent a{color: #136ec2;} -.homepagePostReplyContent blockquote{background: none;border: none;padding: 0px;margin: 0 0 0 40px;} .table_maxWidth table {max-width: 642px;} .homepagePostProjectState {width:42px; height:20px; line-height:20px; border-radius:1px; background-color:#28be6c; color:#ffffff; text-align:center; vertical-align:middle; font-size:12px; display:inline-block; margin-left:5px;} .homepagePostAssignTo {float:left; font-size:14px; color:#15bccf;} From 6cdccc3b084c665d0cb92d63c9f9656c1d0a7da4 Mon Sep 17 00:00:00 2001 From: huang Date: Wed, 8 Jun 2016 10:53:56 +0800 Subject: [PATCH 040/106] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/organizations/_show_org_document.html.erb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/views/organizations/_show_org_document.html.erb b/app/views/organizations/_show_org_document.html.erb index 594063629..688497cfd 100644 --- a/app/views/organizations/_show_org_document.html.erb +++ b/app/views/organizations/_show_org_document.html.erb @@ -41,8 +41,14 @@
      • - <%= form_for('new_form', :url => {:controller => 'organizations', :action => 'set_homepage', :id => document.organization_id, :home_id => document.id, :show_homepage => 1}, :method => "put", :remote => true) do |f| %> - 设为首页 + <% if document.organization.home_id == document.id %> + <%= form_for('new_form', :url => {:controller => 'organizations', :action => 'cancel_homepage', :id => document.organization_id, :home_id => document.id}, :method => "put", :remote => true) do |f| %> + 取消首页 + <% end %> + <% else %> + <%= form_for('new_form', :url => {:controller => 'organizations', :action => 'set_homepage', :id => document.organization_id, :home_id => document.id, :show_homepage => 1}, :method => "put", :remote => true) do |f| %> + 设为首页 + <% end %> <% end %>
      • From a138ee31ab7c59a05364466df2c618a278657bb4 Mon Sep 17 00:00:00 2001 From: huang Date: Wed, 8 Jun 2016 11:00:19 +0800 Subject: [PATCH 041/106] =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E9=A6=96=E9=A1=B5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/org_document_comments/show.html.erb | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/app/views/org_document_comments/show.html.erb b/app/views/org_document_comments/show.html.erb index dfa37bfb6..dbeabfa72 100644 --- a/app/views/org_document_comments/show.html.erb +++ b/app/views/org_document_comments/show.html.erb @@ -23,6 +23,9 @@ <% else %> 组织文章 <% end %> + <% if @document.organization.home_id == @document.id %> + 已设为首页 + <% end %>
    <%= link_to @document.title, org_document_comment_path(:id => @document.id, :organization_id => @document.organization.id) %>
    @@ -45,8 +48,14 @@
    • - <%= form_for('new_form', :url => {:controller => 'organizations', :action => 'set_homepage', :id => @document.organization_id, :home_id => @document.id}, :method => "put", :remote => true) do |f| %> - 设为首页 + <% if @document.organization.home_id == @document.id %> + <%= form_for('new_form', :url => {:controller => 'organizations', :action => 'cancel_homepage', :id => @document.organization_id, :home_id => @document.id}, :method => "put", :remote => true) do |f| %> + 取消首页 + <% end %> + <% else %> + <%= form_for('new_form', :url => {:controller => 'organizations', :action => 'set_homepage', :id => @document.organization_id, :home_id => @document.id}, :method => "put", :remote => true) do |f| %> + 设为首页 + <% end %> <% end %>
    • From e4312674c4a164033134132e6c79c4fc88f3d92e Mon Sep 17 00:00:00 2001 From: yuanke <249218296@qq.com> Date: Wed, 8 Jun 2016 11:11:32 +0800 Subject: [PATCH 042/106] =?UTF-8?q?KE=E8=A1=A8=E6=A0=BC=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/assets/kindeditor/plugins/table/table.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/assets/kindeditor/plugins/table/table.js b/public/assets/kindeditor/plugins/table/table.js index 3f3cbb27c..c181449ea 100644 --- a/public/assets/kindeditor/plugins/table/table.js +++ b/public/assets/kindeditor/plugins/table/table.js @@ -284,7 +284,7 @@ KindEditor.plugin('table', function(K) { for (var i = 0; i < rows; i++) { html += '
  • '; for (var j = 0; j < cols; j++) { - html += ''; } html += ''; } From 2f9dcc8a31c8bc51a04be0a5549feb623b1eb356 Mon Sep 17 00:00:00 2001 From: huang Date: Wed, 8 Jun 2016 11:23:16 +0800 Subject: [PATCH 043/106] =?UTF-8?q?=E6=96=87=E7=AB=A0=E7=82=B9=E5=87=BB500?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/org_document_comments_controller.rb | 2 +- app/views/org_document_comments/show.html.erb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/org_document_comments_controller.rb b/app/controllers/org_document_comments_controller.rb index 1b9280749..264c1fc9f 100644 --- a/app/controllers/org_document_comments_controller.rb +++ b/app/controllers/org_document_comments_controller.rb @@ -41,7 +41,7 @@ class OrgDocumentCommentsController < ApplicationController @org_subfield = OrgSubfield.where(:id => @document.org_subfield_id).first @subfield_content = @organization.org_subfields.order("priority") respond_to do |format| - format.html {render :layout => @organization.switch_type ? 'base_org_custom' : 'base_org'} + format.html {render :layout => (@organization.switch_type && @document && !@document.org_subfield_id.blank?) ? 'base_org_custom' : 'base_org'} end end diff --git a/app/views/org_document_comments/show.html.erb b/app/views/org_document_comments/show.html.erb index dbeabfa72..bcb1a61ef 100644 --- a/app/views/org_document_comments/show.html.erb +++ b/app/views/org_document_comments/show.html.erb @@ -1,4 +1,4 @@ -<% if @organization.switch_type %> +<% if @organization.switch_type && @document && !@document.org_subfield_id.blank? %> <%= render :partial => 'show_custom_org_document_comment' %> <% else %> <%= javascript_include_tag "/assets/kindeditor/kindeditor",'/assets/kindeditor/pasteimg',"create_kindeditor",'blog' %> From 90aaaa544a23810aaf6c28048427d141b52da74f Mon Sep 17 00:00:00 2001 From: huang Date: Wed, 8 Jun 2016 11:36:32 +0800 Subject: [PATCH 044/106] =?UTF-8?q?=E6=9C=80=E6=96=B0=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E6=8C=89=E5=88=9B=E5=BB=BA=E6=97=B6=E9=97=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/organizations_controller.rb | 4 ++-- app/helpers/organizations_helper.rb | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index 97fd65aa7..b36ef592d 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -107,7 +107,7 @@ class OrganizationsController < ApplicationController if @organization.org_subfields.where(:field_type => "Compact", :hide => 0).count > 0 @acts = UserActivity.find_by_sql("SELECT * FROM `user_activities` where act_type in ('HomeworkCommon', 'News', 'Message', 'Issue') and ((container_type = 'Course' and container_id in (#{course_ids.join(',')})) or (container_type = 'Project' and container_id in (#{project_ids.join(',')}))) - order by updated_at desc limit 6;") + order by created_at desc limit 6;") end render :layout => 'base_org_custom' else @@ -273,7 +273,7 @@ class OrganizationsController < ApplicationController course_ids = (@organization.courses.map(&:id) - shield_course_ids) << 0 @org_acts = UserActivity.find_by_sql("SELECT * FROM `user_activities` where act_type in ('HomeworkCommon', 'News', 'Message', 'Issue') and ((container_type = 'Course' and container_id in (#{course_ids.join(',')})) or (container_type = 'Project' and container_id in (#{project_ids.join(',')}))) - order by updated_at desc limit 6;") + order by created_at desc limit 6;") respond_to do |format| format.html{render :layout => 'base_org_custom'} format.js diff --git a/app/helpers/organizations_helper.rb b/app/helpers/organizations_helper.rb index 4099ea451..cb06bd688 100644 --- a/app/helpers/organizations_helper.rb +++ b/app/helpers/organizations_helper.rb @@ -105,13 +105,13 @@ module OrganizationsHelper def org_time_by_type obj case obj.act_type when "Message" - obj.act.updated_on + obj.act.created_on when "News" obj.act.created_on when "HomeworkCommon" - obj.act.updated_at + obj.act.created_at when "Issue" - obj.act.updated_on + obj.act.created_on end end From 871a4d2d7bbbba193c306bb40c97fa43c668578c Mon Sep 17 00:00:00 2001 From: huang Date: Wed, 8 Jun 2016 13:15:08 +0800 Subject: [PATCH 045/106] =?UTF-8?q?=E7=BB=84=E7=BB=87=E8=AE=BE=E4=B8=BA?= =?UTF-8?q?=E9=A6=96=E9=A1=B5500=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/organizations/_org_activities.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/organizations/_org_activities.html.erb b/app/views/organizations/_org_activities.html.erb index 7ee94215c..8696cd426 100644 --- a/app/views/organizations/_org_activities.html.erb +++ b/app/views/organizations/_org_activities.html.erb @@ -55,7 +55,7 @@ <% when 'Issue' %> <%= render :partial => 'users/project_issue', :locals => {:activity => Issue.find(act.org_act_id),:user_activity_id =>act.id} %> <% when 'Message' %> - <%= render :partial => 'users/project_message', :locals => {:activity => Message.find(act.org_act_id),:user_activity_id =>act.id} %> + <%= render :partial => 'users/project_message', :locals => {:activity => Message.find(act.org_act_id),:user_activity_id =>act.id, :is_course=>0, :is_board=>0} %> <% when 'Project'%> <%= render :partial => 'users/project_create', :locals => {:activity => act,:user_activity_id =>act.id} %> <% end %> From 5f26e9e3ee70e896cd2628d35a0696585ec5008a Mon Sep 17 00:00:00 2001 From: txz Date: Wed, 8 Jun 2016 15:02:06 +0800 Subject: [PATCH 046/106] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E5=9B=9E=E5=A4=8D?= =?UTF-8?q?=E6=96=87=E5=AD=97=E6=A0=BC=E5=BC=8F=E4=B8=8D=E4=B8=80=E8=87=B4?= =?UTF-8?q?=EF=BC=8C=E5=BE=AE=E4=BF=A1=E5=9B=9E=E5=A4=8D=E6=8D=A2=E8=A1=8C?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/assets/wechat/blog_detail.html | 4 +- public/assets/wechat/course_discussion.html | 4 +- public/assets/wechat/course_notice.html | 4 +- public/assets/wechat/homework_detail.html | 4 +- public/assets/wechat/issue_detail.html | 4 +- public/assets/wechat/jour_message_detail.html | 4 +- public/assets/wechat/project_discussion.html | 4 +- public/javascripts/wechat/app.js | 5 +- .../javascripts/code_review.js | 706 +++--- .../stylesheets/activity.css | 6 +- .../stylesheets/code_review.css | 192 +- .../stylesheets/window_js/MIT-LICENSE | 38 +- .../stylesheets/window_js/alert.css | 238 +- .../stylesheets/window_js/alert_lite.css | 176 +- .../stylesheets/window_js/alphacube.css | 300 +-- .../stylesheets/window_js/behavior.htc | 100 +- .../stylesheets/window_js/darkX.css | 242 +-- .../stylesheets/window_js/debug.css | 50 +- .../stylesheets/window_js/default.css | 310 +-- .../stylesheets/window_js/iefix/iepngfix.css | 6 +- .../stylesheets/window_js/iefix/iepngfix.htc | 106 +- .../stylesheets/window_js/lighting.css | 1920 ++++++++--------- .../window_js/lighting/pngbehavior.htc | 134 +- .../stylesheets/window_js/mac_os_x.css | 666 +++--- .../stylesheets/window_js/mac_os_x_dialog.css | 320 +-- .../stylesheets/window_js/nuncio.css | 328 +-- .../stylesheets/window_js/spread.css | 216 +- public/stylesheets/weui/weixin.css | 14 +- 28 files changed, 3047 insertions(+), 3054 deletions(-) diff --git a/public/assets/wechat/blog_detail.html b/public/assets/wechat/blog_detail.html index 424df2bc6..509e0171a 100644 --- a/public/assets/wechat/blog_detail.html +++ b/public/assets/wechat/blog_detail.html @@ -8,7 +8,7 @@
    {{blog.title}}
    {{blog.user.realname}}发表博客
    -
    +
    {{blog.created_at}}
    @@ -24,7 +24,7 @@
    -
    
    +                            
    {{journal.lasted_comment}}
    回复
    diff --git a/public/assets/wechat/course_discussion.html b/public/assets/wechat/course_discussion.html index e8d347a88..2e7ed3151 100644 --- a/public/assets/wechat/course_discussion.html +++ b/public/assets/wechat/course_discussion.html @@ -15,7 +15,7 @@
    发布者: {{discussion.user.realname}}
    ' + (K.IE ? ' ' : '
    ') + '
    来   源: {{discussion.course_project_name}}  |  课程问答区
    -
    +
    {{discussion.created_on}}
    @@ -31,7 +31,7 @@
    -
    
    +                            
    {{journal.lasted_comment}}
    回复
    diff --git a/public/assets/wechat/course_notice.html b/public/assets/wechat/course_notice.html index 0a85ed089..cca135681 100644 --- a/public/assets/wechat/course_notice.html +++ b/public/assets/wechat/course_notice.html @@ -14,7 +14,7 @@ 来   源: {{news.course_name}}  |  课程通知 -
    +
    {{news.created_on}}
    @@ -30,7 +30,7 @@
    -
    
    +                        
    {{comments.created_on}}
    回复
    diff --git a/public/assets/wechat/homework_detail.html b/public/assets/wechat/homework_detail.html index e416b7313..e1b648051 100644 --- a/public/assets/wechat/homework_detail.html +++ b/public/assets/wechat/homework_detail.html @@ -16,7 +16,7 @@ 来   源: {{homework.course_name}}  |  课程作业 -
    +
    迟交扣分:{{homework.late_penalty}}分
    缺评扣分:{{homework.absence_penalty}}分/作品
    匿评开启时间:{{homework.evaluation_start}}
    @@ -36,7 +36,7 @@
    -
    
    +                        
    {{journal.lasted_comment}}
    回复
    diff --git a/public/assets/wechat/issue_detail.html b/public/assets/wechat/issue_detail.html index 7b5db0afa..1d7f9a536 100644 --- a/public/assets/wechat/issue_detail.html +++ b/public/assets/wechat/issue_detail.html @@ -14,7 +14,7 @@ 来   源: {{issue.project_name}}  |  项目问题 -
    +
    状   态:{{issue.issue_status}}
    优先级:{{issue.issue_priority}}
    指派给:{{issue.issue_assigned_to}}
    @@ -34,7 +34,7 @@
    -
    
    +                        
    {{journal.created_on}}
    回复
    diff --git a/public/assets/wechat/jour_message_detail.html b/public/assets/wechat/jour_message_detail.html index fada796f8..dc6b1409f 100644 --- a/public/assets/wechat/jour_message_detail.html +++ b/public/assets/wechat/jour_message_detail.html @@ -7,7 +7,7 @@
    {{message.user.realname}}给您留言了
    {{message.created_on}}
    -
    +
    @@ -22,7 +22,7 @@
    -
    
    +                            
    {{journal.lasted_comment}}
    回复
    diff --git a/public/assets/wechat/project_discussion.html b/public/assets/wechat/project_discussion.html index abec64c50..4831e1521 100644 --- a/public/assets/wechat/project_discussion.html +++ b/public/assets/wechat/project_discussion.html @@ -14,7 +14,7 @@ 来   源: {{discussion.course_project_name}}  |  项目讨论区 -
    +
    {{discussion.created_on}}
    @@ -30,7 +30,7 @@
    -
    
    +                            
    {{journal.lasted_comment}}
    回复
    diff --git a/public/javascripts/wechat/app.js b/public/javascripts/wechat/app.js index 4e1df0381..78925558e 100644 --- a/public/javascripts/wechat/app.js +++ b/public/javascripts/wechat/app.js @@ -140,12 +140,13 @@ app.factory('common', function($http, auth, $routeParams){ return; } + var temp = data.comment.replace(/\n/g,'
    '); + var userInfo = { type: type, - content: data.comment, + content: temp, openid: auth.openid() }; - //回复按钮禁用 data.disabled = true; diff --git a/public/plugin_assets/redmine_code_review/javascripts/code_review.js b/public/plugin_assets/redmine_code_review/javascripts/code_review.js index 4f4d81691..625f376c9 100644 --- a/public/plugin_assets/redmine_code_review/javascripts/code_review.js +++ b/public/plugin_assets/redmine_code_review/javascripts/code_review.js @@ -1,354 +1,354 @@ -/* -# Code Review plugin for Redmine -# Copyright (C) 2009-2013 Haruyuki Iida -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -var topZindex = 1000; -var action_type = ''; -var rev = ''; -var rev_to = ''; -var path = ''; -var urlprefix = ''; -var review_form_dialog = null; -var add_form_title = null; -var review_dialog_title = null; -var repository_id = null; -var filenames = []; - -var ReviewCount = function(total, open, progress){ - this.total = total; - this.open = open; - this.closed = total - open; - this.progress = progress -}; - -var CodeReview = function(id) { - this.id = id; - this.path = ''; - this.line = 0; - this.url = ''; - this.is_closed = false; -}; - -var review_counts = new Array(); -var code_reviews_map = new Array(); -var code_reviews_dialog_map = new Array(); - -function UpdateRepositoryView(title) { - var header = $("table.changesets thead tr:first"); - var th = $(''); - th.html(title); - header.append(th); - $('tr.changeset td.id a').each(function(i){ - var revision = this.getAttribute("href"); - revision = revision.substr(revision.lastIndexOf("/") + 1); - var review = review_counts['revision_' + revision]; - var td = $('',{ - 'class':'progress' - }); - td.html(review.progress); - $(this.parentNode.parentNode).append(td); - }); - } -//add function $.down -if(! $.fn.down) -(function($) { - $.fn.down = function() { - var el = this[0] && this[0].firstChild; - while (el && el.nodeType != 1) - el = el.nextSibling; - return $(el); - }; -})(jQuery); - -function UpdateRevisionView() { - $('li.change').each(function(){ - var li = $(this); - if (li.hasClass('folder')) return; - - var a = li.down('a'); - if (a.size() == 0) return; - var path = a.attr('href').replace(urlprefix, '').replace(/\?.*$/, ''); - - var reviewlist = code_reviews_map[path]; - if (reviewlist == null) return; - - var ul = $('
      '); - for (var j = 0; j < reviewlist.length; j++) { - var review = reviewlist[j]; - var icon = review.is_closed? 'icon-closed-review': 'icon-review'; - var item = $('
    • ', { - 'class': 'icon ' + icon + ' code_review_summary' - }); - item.html(review.url); - ul.append(item); - } - li.append(ul); - }); -} - -function setAddReviewButton(url, change_id, image_tag, is_readonly, is_diff, attachment_id){ - var filetables = []; - var j = 0; - $('table').each(function(){ - if($(this).hasClass('filecontent')){ - filetables[j++] = this; - } - }); - j = 0; - $('table.filecontent th.filename').each(function(){ - filenames[j] = $.trim($(this).text()); - j++; - }); - addReviewUrl = url + '?change_id=' + change_id + '&action_type=' + action_type + - '&rev=' + rev + '&rev_to=' + rev_to + - '&attachment_id=' + attachment_id + '&repository_id=' + encodeURIComponent(repository_id); - if (path != null && path.length > 0) { - addReviewUrl = addReviewUrl + '&path=' + encodeURIComponent(path); - } - var num = 0; - if (is_diff) { - num = 1; - } - var i, l, tl; - for (i = 0, tl = filetables.length; i < tl; i++) { - var table = filetables[i]; - var trs = table.getElementsByTagName('tr'); - - for (j = 0,l = trs.length; j < l; j++) { - var tr = trs[j]; - var ths = tr.getElementsByTagName('th'); - - var th = ths[num]; - if (th == null) { - continue; - } - - var th_html = th.innerHTML; - - var line = th_html.match(/[0-9]+/); - if (line == null) { - continue; - } - - var span_html = ''; - - if (!is_readonly) { - span_html += image_tag; - } - span_html += ''; - th.innerHTML = th_html + span_html; - - var img = th.getElementsByTagName('img')[0]; - if (img != null ) { - img.id = 'add_revew_img_' + line + '_' + i; - $(img).click(clickPencil); - } - } - } - - -} - -function clickPencil(e) -{ -// alert('$(e.target).attr("id") = ' + $(e.target).attr("id")); - var result = $(e.target).attr("id").match(/([0-9]+)_([0-9]+)/); - var line = result[1]; - var file_count = eval(result[2]); - var url = addReviewUrl + '&line=' + line + '&file_count=' + file_count; - - if (path == null || path.length == 0) { - url = url + '&path=' + encodeURIComponent(filenames[file_count]) + '&diff_all=true'; - } - addReview(url); - formPopup(e.pageX, e.pageY); - e.preventDefault(); -} -var addReviewUrl = null; -var showReviewUrl = null; -var showReviewImageTag = null; -var showClosedReviewImageTag = null; - -function setShowReviewButton(line, review_id, is_closed, file_count) { - //alert('file_count = ' + file_count); - var span = $('#review_span_' + line + '_' + file_count); - if (span.size() == 0) { - return; - } - var innerSpan = $('',{id: 'review_' + review_id}); - span.append(innerSpan); - innerSpan.html(is_closed? showClosedReviewImageTag : showReviewImageTag); - var div = $('
      ', { - 'class':'draggable', - id: 'show_review_' + review_id - }); - $('#code_review').append(div); - innerSpan.down('img').click(function(e) { - var review_id = $(e.target).parent().attr('id').match(/[0-9]+/)[0]; - var span = $('#review_' + review_id); // span element of view review button - var pos = span.offset(); - showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top + 25); - }); -} - -function popupReview(review_id) { - var span = $('#review_' + review_id); // span element of view review button - var pos = span.offset(); - $('html,body').animate({ scrollTop: pos.top }, - {duration: 'fast', - complete: function(){showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top)}}); - // position and show popup dialog - // create popup dialog - //var win = showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top); -// win.toFront(); -} - -function showReview(url, review_id, x, y) { - if (code_reviews_dialog_map[review_id] != null) { - var cur_win = code_reviews_dialog_map[review_id]; - cur_win.hide(); - code_reviews_dialog_map[review_id] = null; - } - $('#show_review_' + review_id).load(url, {review_id: review_id}); - var review = getReviewObjById(review_id); - - var win = $('#show_review_' + review_id).dialog({ - show: {effect:'scale'},// ? 'top-left' - //position: [x, y + 5], - width:640, - zIndex: topZindex, - title: review_dialog_title - }); -// win.getContent().style.color = "#484848"; -// win.getContent().style.background = "#ffffff"; - topZindex++; - code_reviews_dialog_map[review_id] = win; - return win -} - -function getReviewObjById(review_id) { - for (var reviewlist in code_reviews_map) { - for (var i = 0; i < reviewlist.length; i++) { - var review = reviewlist[i]; - if (review.id == review_id) { - return review; - } - } - } - return null; -} - -function formPopup(x, y){ - //@see http://docs.jquery.com/UI/Effects/Scale - var win = $('#review-form-frame').dialog({ - show: {effect:'scale', direction: 'both'},// ? 'top-left' -// position: [x, y + 5], - width:640, - zIndex: topZindex, - title: add_form_title - }); -// win.getContent().style.background = "#ffffff"; - if (review_form_dialog != null) { - review_form_dialog.destroy(); - review_form_dialog = null; - } - review_form_dialog = win; - topZindex += 10; - return false; -} - -function hideForm() { - if (review_form_dialog == null) { - return; - } - review_form_dialog.dialog('close'); - review_form_dialog = null; - $('#review-form').html(''); -} -function addReview(url) { - $('#review-form').load(url); -} - -function deleteReview(review_id) { - $('show_review_' + review_id).remove(); - $('review_' + review_id).remove(); - -} - -function changeImage(review_id, is_closed) { - var span = $('review_' + review_id); - var new_image = null; - var dummy = new Element('span'); - if (is_closed) { - dummy.insert(showClosedReviewImageTag); - } - else { - dummy.insert(showReviewImageTag); - } - new_image = dummy.down().getAttribute('src'); - //alert(new_image); - span.down('img').setAttribute('src', new_image); - -} - -function make_addreview_link(project, link) { - var alist = $('#content p a'); - if (alist == null) { - return; - } - var a = alist[0]; - var p = a.parentNode; - p.innerHTML = p.innerHTML + " | " + link; -} - -function call_update_revisions(url) { - var changeset_ids = ''; - var links = $$('table.changesets tbody tr.changeset td.id a'); - for (var i = 0; i < links.length; i++) { - var link = links[i]; - var href = link.getAttribute('href'); - var id = href.replace(/^.*\/revisions\//, ''); - if (i > 0) { - changeset_ids += ','; - } - changeset_ids += id; - } - new Ajax.Updater('code_review_revisions', url, - { - evalScripts:true, - method:'get', - parameters: 'changeset_ids=' + encodeURI(changeset_ids) - }); -} - -$.fn.serialize2json = function() -{ - var o = {}; - var a = this.serializeArray(); - $.each(a, function() { - if (o[this.name]) { - if (!o[this.name].push) { - o[this.name] = [o[this.name]]; - } - o[this.name].push(this.value || ''); - } else { - o[this.name] = this.value || ''; - } - }); - return o; +/* +# Code Review plugin for Redmine +# Copyright (C) 2009-2013 Haruyuki Iida +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +var topZindex = 1000; +var action_type = ''; +var rev = ''; +var rev_to = ''; +var path = ''; +var urlprefix = ''; +var review_form_dialog = null; +var add_form_title = null; +var review_dialog_title = null; +var repository_id = null; +var filenames = []; + +var ReviewCount = function(total, open, progress){ + this.total = total; + this.open = open; + this.closed = total - open; + this.progress = progress +}; + +var CodeReview = function(id) { + this.id = id; + this.path = ''; + this.line = 0; + this.url = ''; + this.is_closed = false; +}; + +var review_counts = new Array(); +var code_reviews_map = new Array(); +var code_reviews_dialog_map = new Array(); + +function UpdateRepositoryView(title) { + var header = $("table.changesets thead tr:first"); + var th = $(''); + th.html(title); + header.append(th); + $('tr.changeset td.id a').each(function(i){ + var revision = this.getAttribute("href"); + revision = revision.substr(revision.lastIndexOf("/") + 1); + var review = review_counts['revision_' + revision]; + var td = $('',{ + 'class':'progress' + }); + td.html(review.progress); + $(this.parentNode.parentNode).append(td); + }); + } +//add function $.down +if(! $.fn.down) +(function($) { + $.fn.down = function() { + var el = this[0] && this[0].firstChild; + while (el && el.nodeType != 1) + el = el.nextSibling; + return $(el); + }; +})(jQuery); + +function UpdateRevisionView() { + $('li.change').each(function(){ + var li = $(this); + if (li.hasClass('folder')) return; + + var a = li.down('a'); + if (a.size() == 0) return; + var path = a.attr('href').replace(urlprefix, '').replace(/\?.*$/, ''); + + var reviewlist = code_reviews_map[path]; + if (reviewlist == null) return; + + var ul = $('
        '); + for (var j = 0; j < reviewlist.length; j++) { + var review = reviewlist[j]; + var icon = review.is_closed? 'icon-closed-review': 'icon-review'; + var item = $('
      • ', { + 'class': 'icon ' + icon + ' code_review_summary' + }); + item.html(review.url); + ul.append(item); + } + li.append(ul); + }); +} + +function setAddReviewButton(url, change_id, image_tag, is_readonly, is_diff, attachment_id){ + var filetables = []; + var j = 0; + $('table').each(function(){ + if($(this).hasClass('filecontent')){ + filetables[j++] = this; + } + }); + j = 0; + $('table.filecontent th.filename').each(function(){ + filenames[j] = $.trim($(this).text()); + j++; + }); + addReviewUrl = url + '?change_id=' + change_id + '&action_type=' + action_type + + '&rev=' + rev + '&rev_to=' + rev_to + + '&attachment_id=' + attachment_id + '&repository_id=' + encodeURIComponent(repository_id); + if (path != null && path.length > 0) { + addReviewUrl = addReviewUrl + '&path=' + encodeURIComponent(path); + } + var num = 0; + if (is_diff) { + num = 1; + } + var i, l, tl; + for (i = 0, tl = filetables.length; i < tl; i++) { + var table = filetables[i]; + var trs = table.getElementsByTagName('tr'); + + for (j = 0,l = trs.length; j < l; j++) { + var tr = trs[j]; + var ths = tr.getElementsByTagName('th'); + + var th = ths[num]; + if (th == null) { + continue; + } + + var th_html = th.innerHTML; + + var line = th_html.match(/[0-9]+/); + if (line == null) { + continue; + } + + var span_html = ''; + + if (!is_readonly) { + span_html += image_tag; + } + span_html += ''; + th.innerHTML = th_html + span_html; + + var img = th.getElementsByTagName('img')[0]; + if (img != null ) { + img.id = 'add_revew_img_' + line + '_' + i; + $(img).click(clickPencil); + } + } + } + + +} + +function clickPencil(e) +{ +// alert('$(e.target).attr("id") = ' + $(e.target).attr("id")); + var result = $(e.target).attr("id").match(/([0-9]+)_([0-9]+)/); + var line = result[1]; + var file_count = eval(result[2]); + var url = addReviewUrl + '&line=' + line + '&file_count=' + file_count; + + if (path == null || path.length == 0) { + url = url + '&path=' + encodeURIComponent(filenames[file_count]) + '&diff_all=true'; + } + addReview(url); + formPopup(e.pageX, e.pageY); + e.preventDefault(); +} +var addReviewUrl = null; +var showReviewUrl = null; +var showReviewImageTag = null; +var showClosedReviewImageTag = null; + +function setShowReviewButton(line, review_id, is_closed, file_count) { + //alert('file_count = ' + file_count); + var span = $('#review_span_' + line + '_' + file_count); + if (span.size() == 0) { + return; + } + var innerSpan = $('',{id: 'review_' + review_id}); + span.append(innerSpan); + innerSpan.html(is_closed? showClosedReviewImageTag : showReviewImageTag); + var div = $('
        ', { + 'class':'draggable', + id: 'show_review_' + review_id + }); + $('#code_review').append(div); + innerSpan.down('img').click(function(e) { + var review_id = $(e.target).parent().attr('id').match(/[0-9]+/)[0]; + var span = $('#review_' + review_id); // span element of view review button + var pos = span.offset(); + showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top + 25); + }); +} + +function popupReview(review_id) { + var span = $('#review_' + review_id); // span element of view review button + var pos = span.offset(); + $('html,body').animate({ scrollTop: pos.top }, + {duration: 'fast', + complete: function(){showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top)}}); + // position and show popup dialog + // create popup dialog + //var win = showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top); +// win.toFront(); +} + +function showReview(url, review_id, x, y) { + if (code_reviews_dialog_map[review_id] != null) { + var cur_win = code_reviews_dialog_map[review_id]; + cur_win.hide(); + code_reviews_dialog_map[review_id] = null; + } + $('#show_review_' + review_id).load(url, {review_id: review_id}); + var review = getReviewObjById(review_id); + + var win = $('#show_review_' + review_id).dialog({ + show: {effect:'scale'},// ? 'top-left' + //position: [x, y + 5], + width:640, + zIndex: topZindex, + title: review_dialog_title + }); +// win.getContent().style.color = "#484848"; +// win.getContent().style.background = "#ffffff"; + topZindex++; + code_reviews_dialog_map[review_id] = win; + return win +} + +function getReviewObjById(review_id) { + for (var reviewlist in code_reviews_map) { + for (var i = 0; i < reviewlist.length; i++) { + var review = reviewlist[i]; + if (review.id == review_id) { + return review; + } + } + } + return null; +} + +function formPopup(x, y){ + //@see http://docs.jquery.com/UI/Effects/Scale + var win = $('#review-form-frame').dialog({ + show: {effect:'scale', direction: 'both'},// ? 'top-left' +// position: [x, y + 5], + width:640, + zIndex: topZindex, + title: add_form_title + }); +// win.getContent().style.background = "#ffffff"; + if (review_form_dialog != null) { + review_form_dialog.destroy(); + review_form_dialog = null; + } + review_form_dialog = win; + topZindex += 10; + return false; +} + +function hideForm() { + if (review_form_dialog == null) { + return; + } + review_form_dialog.dialog('close'); + review_form_dialog = null; + $('#review-form').html(''); +} +function addReview(url) { + $('#review-form').load(url); +} + +function deleteReview(review_id) { + $('show_review_' + review_id).remove(); + $('review_' + review_id).remove(); + +} + +function changeImage(review_id, is_closed) { + var span = $('review_' + review_id); + var new_image = null; + var dummy = new Element('span'); + if (is_closed) { + dummy.insert(showClosedReviewImageTag); + } + else { + dummy.insert(showReviewImageTag); + } + new_image = dummy.down().getAttribute('src'); + //alert(new_image); + span.down('img').setAttribute('src', new_image); + +} + +function make_addreview_link(project, link) { + var alist = $('#content p a'); + if (alist == null) { + return; + } + var a = alist[0]; + var p = a.parentNode; + p.innerHTML = p.innerHTML + " | " + link; +} + +function call_update_revisions(url) { + var changeset_ids = ''; + var links = $$('table.changesets tbody tr.changeset td.id a'); + for (var i = 0; i < links.length; i++) { + var link = links[i]; + var href = link.getAttribute('href'); + var id = href.replace(/^.*\/revisions\//, ''); + if (i > 0) { + changeset_ids += ','; + } + changeset_ids += id; + } + new Ajax.Updater('code_review_revisions', url, + { + evalScripts:true, + method:'get', + parameters: 'changeset_ids=' + encodeURI(changeset_ids) + }); +} + +$.fn.serialize2json = function() +{ + var o = {}; + var a = this.serializeArray(); + $.each(a, function() { + if (o[this.name]) { + if (!o[this.name].push) { + o[this.name] = [o[this.name]]; + } + o[this.name].push(this.value || ''); + } else { + o[this.name] = this.value || ''; + } + }); + return o; }; \ No newline at end of file diff --git a/public/plugin_assets/redmine_code_review/stylesheets/activity.css b/public/plugin_assets/redmine_code_review/stylesheets/activity.css index 202ed54e3..e3cdc3d55 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/activity.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/activity.css @@ -1,4 +1,4 @@ - -dt.code_review { - background-image: url(../images/review.png); + +dt.code_review { + background-image: url(../images/review.png); } \ No newline at end of file diff --git a/public/plugin_assets/redmine_code_review/stylesheets/code_review.css b/public/plugin_assets/redmine_code_review/stylesheets/code_review.css index e25dc6d72..11939ae79 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/code_review.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/code_review.css @@ -1,97 +1,97 @@ -/* -# Code Review plugin for Redmine -# Copyright (C) 2009 Haruyuki Iida -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ -#review-form-frame { -height: 100%; -} - -.autoscroll table.filecontent th.line-num { - white-space: nowrap; - vertical-align: bottom; - padding-top: 0; - padding-bottom: 0; - text-align:left; -} - -table.filecontent th.line-num img{ - padding: 0; - margin: 0; - cursor: pointer; -} - - -.code-review-form-title { - background-color: #002059; - color: white; - padding-left: 2px; - padding-right: 2px; - cursor: default; -} - - -.code_review_viewer { - - min-width: 300px; - /* - max-width: 60%; - */ - /* max-height: 400px; */ -} - -.code_review_viewer .issue{ - -} - -.code_review_body { - background-color: white; - - padding:2px; - -} - -#code_review_list table.list td { - text-align: center; -} - -#code_review_list table.list td.path { - text-align: left; -} - -#code_review_list table.list td.subject { - text-align: left; -} - -.icon-review { - background-image: url(../images/review.png); - background-repeat: no-repeat; -} - -.icon-closed-review { - background-image: url(../images/closed_review.png); - background-repeat: no-repeat; -} - -.icon-settings { - background-image: url(../../../images/changeset.png); - background-repeat: no-repeat; -} - - -li.code_review_summary { - list-style-type: none; +/* +# Code Review plugin for Redmine +# Copyright (C) 2009 Haruyuki Iida +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ +#review-form-frame { +height: 100%; +} + +.autoscroll table.filecontent th.line-num { + white-space: nowrap; + vertical-align: bottom; + padding-top: 0; + padding-bottom: 0; + text-align:left; +} + +table.filecontent th.line-num img{ + padding: 0; + margin: 0; + cursor: pointer; +} + + +.code-review-form-title { + background-color: #002059; + color: white; + padding-left: 2px; + padding-right: 2px; + cursor: default; +} + + +.code_review_viewer { + + min-width: 300px; + /* + max-width: 60%; + */ + /* max-height: 400px; */ +} + +.code_review_viewer .issue{ + +} + +.code_review_body { + background-color: white; + + padding:2px; + +} + +#code_review_list table.list td { + text-align: center; +} + +#code_review_list table.list td.path { + text-align: left; +} + +#code_review_list table.list td.subject { + text-align: left; +} + +.icon-review { + background-image: url(../images/review.png); + background-repeat: no-repeat; +} + +.icon-closed-review { + background-image: url(../images/closed_review.png); + background-repeat: no-repeat; +} + +.icon-settings { + background-image: url(../../../images/changeset.png); + background-repeat: no-repeat; +} + + +li.code_review_summary { + list-style-type: none; } \ No newline at end of file diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/MIT-LICENSE b/public/plugin_assets/redmine_code_review/stylesheets/window_js/MIT-LICENSE index 0a7cf9ad1..5bcdad1bd 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/MIT-LICENSE +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/MIT-LICENSE @@ -1,19 +1,19 @@ -Copyright (c) 2006 Sébastien Gruhier (http://xilinus.com, http://itseb.com) - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Copyright (c) 2006 Sébastien Gruhier (http://xilinus.com, http://itseb.com) + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert.css index 4846e6185..432d14e36 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert.css @@ -1,119 +1,119 @@ -.overlay_alert { - background-color: #85BBEF; - filter:alpha(opacity=60); - -moz-opacity: 0.6; - opacity: 0.6; -} - -.alert_nw { - width: 5px; - height: 5px; - background: transparent url(alert/top_left.gif) no-repeat bottom left; -} - -.alert_n { - height: 5px; - background: transparent url(alert/top.gif) repeat-x bottom left; -} - -.alert_ne { - width: 5px; - height: 5px; - background: transparent url(alert/top_right.gif) no-repeat bottom left -} - -.alert_e { - width: 5px; - background: transparent url(alert/right.gif) repeat-y 0 0; -} - -.alert_w { - width: 5px; - background: transparent url(alert/left.gif) repeat-y 0 0; -} - -.alert_sw { - width: 5px; - height: 5px; - background: transparent url(alert/bottom_left.gif) no-repeat 0 0; -} - -.alert_s { - height: 5px; - background: transparent url(alert/bottom.gif) repeat-x 0 0; -} - -.alert_se, .alert_sizer { - width: 5px; - height: 5px; - background: transparent url(alert/bottom_right.gif) no-repeat 0 0; -} - -.alert_close { - width:0px; - height:0px; - display:none; -} - -.alert_minimize { - width:0px; - height:0px; - display:none; -} - -.alert_maximize { - width:0px; - height:0px; - display:none; -} - -.alert_title { - float:left; - height:1px; - width:100%; -} - -.alert_content { - overflow:visible; - color: #000; - font-family: Tahoma, Arial, sans-serif; - font: 12px arial; - background: #FFF; -} - -/* For alert/confirm dialog */ -.alert_window { - background: #FFF; - padding:20px; - margin-left:auto; - margin-right:auto; - width:400px; -} - -.alert_message { - font: 12px arial; - width:100%; - color:#F00; - padding-bottom:10px; -} - -.alert_buttons { - text-align:center; - width:100%; -} - -.alert_buttons input { - width:20%; - margin:10px; -} - -.alert_progress { - float:left; - margin:auto; - text-align:center; - width:100%; - height:16px; - background: #FFF url('alert/progress.gif') no-repeat center center -} - - +.overlay_alert { + background-color: #85BBEF; + filter:alpha(opacity=60); + -moz-opacity: 0.6; + opacity: 0.6; +} + +.alert_nw { + width: 5px; + height: 5px; + background: transparent url(alert/top_left.gif) no-repeat bottom left; +} + +.alert_n { + height: 5px; + background: transparent url(alert/top.gif) repeat-x bottom left; +} + +.alert_ne { + width: 5px; + height: 5px; + background: transparent url(alert/top_right.gif) no-repeat bottom left +} + +.alert_e { + width: 5px; + background: transparent url(alert/right.gif) repeat-y 0 0; +} + +.alert_w { + width: 5px; + background: transparent url(alert/left.gif) repeat-y 0 0; +} + +.alert_sw { + width: 5px; + height: 5px; + background: transparent url(alert/bottom_left.gif) no-repeat 0 0; +} + +.alert_s { + height: 5px; + background: transparent url(alert/bottom.gif) repeat-x 0 0; +} + +.alert_se, .alert_sizer { + width: 5px; + height: 5px; + background: transparent url(alert/bottom_right.gif) no-repeat 0 0; +} + +.alert_close { + width:0px; + height:0px; + display:none; +} + +.alert_minimize { + width:0px; + height:0px; + display:none; +} + +.alert_maximize { + width:0px; + height:0px; + display:none; +} + +.alert_title { + float:left; + height:1px; + width:100%; +} + +.alert_content { + overflow:visible; + color: #000; + font-family: Tahoma, Arial, sans-serif; + font: 12px arial; + background: #FFF; +} + +/* For alert/confirm dialog */ +.alert_window { + background: #FFF; + padding:20px; + margin-left:auto; + margin-right:auto; + width:400px; +} + +.alert_message { + font: 12px arial; + width:100%; + color:#F00; + padding-bottom:10px; +} + +.alert_buttons { + text-align:center; + width:100%; +} + +.alert_buttons input { + width:20%; + margin:10px; +} + +.alert_progress { + float:left; + margin:auto; + text-align:center; + width:100%; + height:16px; + background: #FFF url('alert/progress.gif') no-repeat center center +} + + diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert_lite.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert_lite.css index a74fc71c3..c2ad538ca 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert_lite.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert_lite.css @@ -1,88 +1,88 @@ -.overlay_alert_lite { - background-color: #85BBEF; - filter:alpha(opacity=60); - -moz-opacity: 0.6; - opacity: 0.6; -} - -.alert_lite_sizer { - width:0px; - height:0px; - display:none; -} - -.alert_lite_close { - width:0px; - height:0px; - display:none; -} - -.alert_lite_minimize { - width:0px; - height:0px; - display:none; -} - -.alert_lite_maximize { - width:0px; - height:0px; - display:none; -} - -.alert_lite_title { - width:0px; - height:0px; - display:none; -} - -.alert_lite_content { - overflow:auto; - color: #000; - font-family: Tahoma, Arial, sans-serif; - font-size: 10px; - background: #FFF; -} - - -/* For alert/confirm dialog */ -.alert_lite_window { - border:1px solid #F00; - background: #FFF; - padding:20px; - margin-left:auto; - margin-right:auto; - width:400px; -} - -.alert_lite_message { - font-size:16px; - text-align:center; - width:100%; - color:#F00; - padding-bottom:10px; -} - -.alert_lite_buttons { - text-align:center; - width:100%; -} - -.alert_lite_buttons input { - width:20%; - margin:10px; -} - -.alert_lite_progress { - float:left; - margin:auto; - text-align:center; - width:100%; - height:16px; - background: #FFF url('alert/progress.gif') no-repeat center center -} - -table.alert_lite_header { - border:1px solid #F00; - background:#FFF -} - +.overlay_alert_lite { + background-color: #85BBEF; + filter:alpha(opacity=60); + -moz-opacity: 0.6; + opacity: 0.6; +} + +.alert_lite_sizer { + width:0px; + height:0px; + display:none; +} + +.alert_lite_close { + width:0px; + height:0px; + display:none; +} + +.alert_lite_minimize { + width:0px; + height:0px; + display:none; +} + +.alert_lite_maximize { + width:0px; + height:0px; + display:none; +} + +.alert_lite_title { + width:0px; + height:0px; + display:none; +} + +.alert_lite_content { + overflow:auto; + color: #000; + font-family: Tahoma, Arial, sans-serif; + font-size: 10px; + background: #FFF; +} + + +/* For alert/confirm dialog */ +.alert_lite_window { + border:1px solid #F00; + background: #FFF; + padding:20px; + margin-left:auto; + margin-right:auto; + width:400px; +} + +.alert_lite_message { + font-size:16px; + text-align:center; + width:100%; + color:#F00; + padding-bottom:10px; +} + +.alert_lite_buttons { + text-align:center; + width:100%; +} + +.alert_lite_buttons input { + width:20%; + margin:10px; +} + +.alert_lite_progress { + float:left; + margin:auto; + text-align:center; + width:100%; + height:16px; + background: #FFF url('alert/progress.gif') no-repeat center center +} + +table.alert_lite_header { + border:1px solid #F00; + background:#FFF +} + diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/alphacube.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/alphacube.css index 6d2862c0e..7d2790e75 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/alphacube.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/alphacube.css @@ -1,150 +1,150 @@ -.overlay_alphacube { - background-color: #85BBEF; - filter:alpha(opacity=60); - -moz-opacity: 0.6; - opacity: 0.6; -} - -.alphacube_nw { - background: transparent url(alphacube/left-top.gif) no-repeat 0 0; - width:10px; - height:25px; -} - -.alphacube_n { - background: transparent url(alphacube/top-middle.gif) repeat-x 0 0; - height:25px; -} - -.alphacube_ne { - background: transparent url(alphacube/right-top.gif) no-repeat 0 0; - width:10px; - height:25px; -} - -.alphacube_w { - background: transparent url(alphacube/frame-left.gif) repeat-y top left; - width:7px; -} - -.alphacube_e { - background: transparent url(alphacube/frame-right.gif) repeat-y top right; - width:7px; -} - -.alphacube_sw { - background: transparent url(alphacube/bottom-left-c.gif) no-repeat 0 0; - width:7px; - height:7px; -} - -.alphacube_s { - background: transparent url(alphacube/bottom-middle.gif) repeat-x 0 0; - height:7px; -} - -.alphacube_se, .alphacube_sizer { - background: transparent url(alphacube/bottom-right-c.gif) no-repeat 0 0; - width:7px; - height:7px; -} - -.alphacube_sizer { - cursor:se-resize; -} - -.alphacube_close { - width: 23px; - height: 23px; - background: transparent url(alphacube/button-close-focus.gif) no-repeat 0 0; - position:absolute; - top:0px; - right:11px; - cursor:pointer; - z-index:1000; -} - -.alphacube_minimize { - width: 23px; - height: 23px; - background: transparent url(alphacube/button-min-focus.gif) no-repeat 0 0; - position:absolute; - top:0px; - right:55px; - cursor:pointer; - z-index:1000; -} - -.alphacube_maximize { - width: 23px; - height: 23px; - background: transparent url(alphacube/button-max-focus.gif) no-repeat 0 0; - position:absolute; - top:0px; - right:33px; - cursor:pointer; - z-index:1000; -} - -.alphacube_title { - float:left; - height:14px; - font-size:14px; - text-align:center; - margin-top:2px; - width:100%; - color:#123456; -} - -.alphacube_content { - overflow:auto; - color: #000; - font-family: Tahoma, Arial, sans-serif; - font: 12px arial; - background:#FDFDFD; -} - -/* For alert/confirm dialog */ -.alphacube_window { - border:1px solid #F00; - background: #FFF; - padding:20px; - margin-left:auto; - margin-right:auto; - width:400px; -} - -.alphacube_message { - font: 12px arial; - text-align:center; - width:100%; - padding-bottom:10px; -} - -.alphacube_buttons { - text-align:center; - width:100%; -} - -.alphacube_buttons input { - width:20%; - margin:10px; -} - -.alphacube_progress { - float:left; - margin:auto; - text-align:center; - width:100%; - height:16px; - background: #FFF url('alert/progress.gif') no-repeat center center -} - -.alphacube_wired_frame { - background: #FFF; - filter:alpha(opacity=60); - -moz-opacity: 0.6; - opacity: 0.6; -} - - +.overlay_alphacube { + background-color: #85BBEF; + filter:alpha(opacity=60); + -moz-opacity: 0.6; + opacity: 0.6; +} + +.alphacube_nw { + background: transparent url(alphacube/left-top.gif) no-repeat 0 0; + width:10px; + height:25px; +} + +.alphacube_n { + background: transparent url(alphacube/top-middle.gif) repeat-x 0 0; + height:25px; +} + +.alphacube_ne { + background: transparent url(alphacube/right-top.gif) no-repeat 0 0; + width:10px; + height:25px; +} + +.alphacube_w { + background: transparent url(alphacube/frame-left.gif) repeat-y top left; + width:7px; +} + +.alphacube_e { + background: transparent url(alphacube/frame-right.gif) repeat-y top right; + width:7px; +} + +.alphacube_sw { + background: transparent url(alphacube/bottom-left-c.gif) no-repeat 0 0; + width:7px; + height:7px; +} + +.alphacube_s { + background: transparent url(alphacube/bottom-middle.gif) repeat-x 0 0; + height:7px; +} + +.alphacube_se, .alphacube_sizer { + background: transparent url(alphacube/bottom-right-c.gif) no-repeat 0 0; + width:7px; + height:7px; +} + +.alphacube_sizer { + cursor:se-resize; +} + +.alphacube_close { + width: 23px; + height: 23px; + background: transparent url(alphacube/button-close-focus.gif) no-repeat 0 0; + position:absolute; + top:0px; + right:11px; + cursor:pointer; + z-index:1000; +} + +.alphacube_minimize { + width: 23px; + height: 23px; + background: transparent url(alphacube/button-min-focus.gif) no-repeat 0 0; + position:absolute; + top:0px; + right:55px; + cursor:pointer; + z-index:1000; +} + +.alphacube_maximize { + width: 23px; + height: 23px; + background: transparent url(alphacube/button-max-focus.gif) no-repeat 0 0; + position:absolute; + top:0px; + right:33px; + cursor:pointer; + z-index:1000; +} + +.alphacube_title { + float:left; + height:14px; + font-size:14px; + text-align:center; + margin-top:2px; + width:100%; + color:#123456; +} + +.alphacube_content { + overflow:auto; + color: #000; + font-family: Tahoma, Arial, sans-serif; + font: 12px arial; + background:#FDFDFD; +} + +/* For alert/confirm dialog */ +.alphacube_window { + border:1px solid #F00; + background: #FFF; + padding:20px; + margin-left:auto; + margin-right:auto; + width:400px; +} + +.alphacube_message { + font: 12px arial; + text-align:center; + width:100%; + padding-bottom:10px; +} + +.alphacube_buttons { + text-align:center; + width:100%; +} + +.alphacube_buttons input { + width:20%; + margin:10px; +} + +.alphacube_progress { + float:left; + margin:auto; + text-align:center; + width:100%; + height:16px; + background: #FFF url('alert/progress.gif') no-repeat center center +} + +.alphacube_wired_frame { + background: #FFF; + filter:alpha(opacity=60); + -moz-opacity: 0.6; + opacity: 0.6; +} + + diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/behavior.htc b/public/plugin_assets/redmine_code_review/stylesheets/window_js/behavior.htc index e5c6edc1c..437c5ec92 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/behavior.htc +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/behavior.htc @@ -1,51 +1,51 @@ - - - + + + \ No newline at end of file diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/darkX.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/darkX.css index e3df3e0a4..2f83cfd46 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/darkX.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/darkX.css @@ -1,121 +1,121 @@ -.overlay_darkX { - background-color: #85BBEF; - filter:alpha(opacity=60); - -moz-opacity: 0.6; - opacity: 0.6; -} - -.darkX_nw { - background: transparent url(darkX/titlebar-left-focused.png) no-repeat 0 0; - width:6px; - height:21px; -} -.darkX_n { - background: transparent url(darkX/titlebar-mid-focused.png) repeat-x 0 0; - height:21px; -} -.darkX_ne { - background: transparent url(darkX/titlebar-right-focused.png) no-repeat 0 0; - width:6px; - height:21px; -} -.darkX_w { - background: transparent url(darkX/frame-left-focused.png) repeat-y top left; - width:3px; -} - -.darkX_e { - background: transparent url(darkX/frame-right-focused.png) repeat-y top right; - width:3px; -} - -.darkX_sw { - background: transparent url(darkX/frame-bottom-left-focused.png) no-repeat 0 0; - width:5px; - height:3px; -} -.darkX_s { - background: transparent url(darkX/frame-bottom-mid-focused.png) repeat-x 0 0; - height:3px; -} -.darkX_se, .darkX_sizer { - background: transparent url(darkX/frame-bottom-right-focused.png) no-repeat 0 0; - width:5px; - height:3px; -} - -.darkX_sizer { - cursor:se-resize; -} - -.darkX_close { - width: 21px; - height: 21px; - background: transparent url(darkX/button-close-focused.png) no-repeat 0 0; - position:absolute; - top:0px; - right:5px; - cursor:pointer; - z-index:1000; -} - -.darkX_minimize { - width: 21px; - height: 21px; - background: transparent url(darkX/button-minimize-focused.png) no-repeat 0 0; - position:absolute; - top:0px; - right:26px; - cursor:pointer; - z-index:1000; -} - -.darkX_maximize { - width: 21px; - height: 21px; - background: transparent url(darkX/button-maximize-focused.png) no-repeat 0 0; - position:absolute; - top:0px; - right:47px; - cursor:pointer; - z-index:1000; -} - - -.darkX_title { - float:left; - height:14px; - font-size:12px; - text-align:center; - margin-top:2px; - width:100%; - color:#FFF; -} - -.darkX_content { - overflow:auto; - color: #E6DF2A; - font-family: Tahoma, Arial, sans-serif; - font-size: 14px; - background:#5E5148; -} - - -/* FOR IE */ -* html .darkX_minimize { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-minimize-focused.png", sizingMethod="crop"); -} - -* html .darkX_maximize { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-maximize-focused.png", sizingMethod="scale"); -} - -* html .darkX_close { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-close-focused.png", sizingMethod="crop"); -} +.overlay_darkX { + background-color: #85BBEF; + filter:alpha(opacity=60); + -moz-opacity: 0.6; + opacity: 0.6; +} + +.darkX_nw { + background: transparent url(darkX/titlebar-left-focused.png) no-repeat 0 0; + width:6px; + height:21px; +} +.darkX_n { + background: transparent url(darkX/titlebar-mid-focused.png) repeat-x 0 0; + height:21px; +} +.darkX_ne { + background: transparent url(darkX/titlebar-right-focused.png) no-repeat 0 0; + width:6px; + height:21px; +} +.darkX_w { + background: transparent url(darkX/frame-left-focused.png) repeat-y top left; + width:3px; +} + +.darkX_e { + background: transparent url(darkX/frame-right-focused.png) repeat-y top right; + width:3px; +} + +.darkX_sw { + background: transparent url(darkX/frame-bottom-left-focused.png) no-repeat 0 0; + width:5px; + height:3px; +} +.darkX_s { + background: transparent url(darkX/frame-bottom-mid-focused.png) repeat-x 0 0; + height:3px; +} +.darkX_se, .darkX_sizer { + background: transparent url(darkX/frame-bottom-right-focused.png) no-repeat 0 0; + width:5px; + height:3px; +} + +.darkX_sizer { + cursor:se-resize; +} + +.darkX_close { + width: 21px; + height: 21px; + background: transparent url(darkX/button-close-focused.png) no-repeat 0 0; + position:absolute; + top:0px; + right:5px; + cursor:pointer; + z-index:1000; +} + +.darkX_minimize { + width: 21px; + height: 21px; + background: transparent url(darkX/button-minimize-focused.png) no-repeat 0 0; + position:absolute; + top:0px; + right:26px; + cursor:pointer; + z-index:1000; +} + +.darkX_maximize { + width: 21px; + height: 21px; + background: transparent url(darkX/button-maximize-focused.png) no-repeat 0 0; + position:absolute; + top:0px; + right:47px; + cursor:pointer; + z-index:1000; +} + + +.darkX_title { + float:left; + height:14px; + font-size:12px; + text-align:center; + margin-top:2px; + width:100%; + color:#FFF; +} + +.darkX_content { + overflow:auto; + color: #E6DF2A; + font-family: Tahoma, Arial, sans-serif; + font-size: 14px; + background:#5E5148; +} + + +/* FOR IE */ +* html .darkX_minimize { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-minimize-focused.png", sizingMethod="crop"); +} + +* html .darkX_maximize { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-maximize-focused.png", sizingMethod="scale"); +} + +* html .darkX_close { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-close-focused.png", sizingMethod="crop"); +} diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/debug.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/debug.css index d7981e9ca..69e3b7fc2 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/debug.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/debug.css @@ -1,25 +1,25 @@ -div.inspector div.inspectable { - padding: 0.25em 0 0.25em 1em; - background-color: Gray; - color: white; - border: outset 2px white; - cursor: pointer; -} - -div.inspector div.child { - margin: 0 0 0 1em; -} - -#debug_window_content { /* DIV container for debug sizing*/ - width:250px; - height:100px; - background-color:#000; -} - -#debug { /* DIV container for debug contents*/ - padding:3px; - color:#0f0; - font-family:monaco, Tahoma, Verdana, Arial, Helvetica, sans-serif; - font-size:10px; -} - +div.inspector div.inspectable { + padding: 0.25em 0 0.25em 1em; + background-color: Gray; + color: white; + border: outset 2px white; + cursor: pointer; +} + +div.inspector div.child { + margin: 0 0 0 1em; +} + +#debug_window_content { /* DIV container for debug sizing*/ + width:250px; + height:100px; + background-color:#000; +} + +#debug { /* DIV container for debug contents*/ + padding:3px; + color:#0f0; + font-family:monaco, Tahoma, Verdana, Arial, Helvetica, sans-serif; + font-size:10px; +} + diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/default.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/default.css index 591451723..6ab13789d 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/default.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/default.css @@ -1,155 +1,155 @@ -.overlay_dialog { - background-color: #666666; - filter:alpha(opacity=60); - -moz-opacity: 0.6; - opacity: 0.6; -} - -.overlay___invisible__ { - background-color: #666666; - filter:alpha(opacity=0); - -moz-opacity: 0; - opacity: 0; -} - -.dialog_nw { - width: 9px; - height: 23px; - background: transparent url(default/top_left.gif) no-repeat 0 0; -} - -.dialog_n { - background: transparent url(default/top_mid.gif) repeat-x 0 0; - height: 23px; -} - -.dialog_ne { - width: 9px; - height: 23px; - background: transparent url(default/top_right.gif) no-repeat 0 0; -} - -.dialog_e { - width: 2px; - background: transparent url(default/center_right.gif) repeat-y 0 0; -} - -.dialog_w { - width: 2px; - background: transparent url(default/center_left.gif) repeat-y 0 0; -} - -.dialog_sw { - width: 9px; - height: 19px; - background: transparent url(default/bottom_left.gif) no-repeat 0 0; -} - -.dialog_s { - background: transparent url(default/bottom_mid.gif) repeat-x 0 0; - height: 19px; -} - -.dialog_se { - width: 9px; - height: 19px; - background: transparent url(default/bottom_right.gif) no-repeat 0 0; -} - -.dialog_sizer { - width: 9px; - height: 19px; - background: transparent url(default/sizer.gif) no-repeat 0 0; - cursor:se-resize; -} - -.dialog_close { - width: 14px; - height: 14px; - background: transparent url(default/close.gif) no-repeat 0 0; - position:absolute; - top:5px; - left:8px; - cursor:pointer; - z-index:2000; -} - -.dialog_minimize { - width: 14px; - height: 15px; - background: transparent url(default/minimize.gif) no-repeat 0 0; - position:absolute; - top:5px; - left:28px; - cursor:pointer; - z-index:2000; -} - -.dialog_maximize { - width: 14px; - height: 15px; - background: transparent url(default/maximize.gif) no-repeat 0 0; - position:absolute; - top:5px; - left:49px; - cursor:pointer; - z-index:2000; -} - -.dialog_title { - float:left; - height:14px; - font-family: Tahoma, Arial, sans-serif; - font-size:12px; - text-align:center; - width:100%; - color:#000; -} - -.dialog_content { - overflow:auto; - color: #DDD; - font-family: Tahoma, Arial, sans-serif; - font-size: 10px; - background-color:#123; -} - -.top_draggable, .bottom_draggable { - cursor:move; -} - -.status_bar { - font-size:12px; -} -.status_bar input{ - font-size:12px; -} - -.wired_frame { - display: block; - position: absolute; - border: 1px #000 dashed; -} - -/* DO NOT CHANGE THESE VALUES*/ -.dialog { - display: block; - position: absolute; -} - -.dialog table.table_window { - border-collapse: collapse; - border-spacing: 0; - width: 100%; - margin: 0px; - padding:0px; -} - -.dialog table.table_window td , .dialog table.table_window th { - padding: 0; -} - -.dialog .title_window { - -moz-user-select:none; -} - +.overlay_dialog { + background-color: #666666; + filter:alpha(opacity=60); + -moz-opacity: 0.6; + opacity: 0.6; +} + +.overlay___invisible__ { + background-color: #666666; + filter:alpha(opacity=0); + -moz-opacity: 0; + opacity: 0; +} + +.dialog_nw { + width: 9px; + height: 23px; + background: transparent url(default/top_left.gif) no-repeat 0 0; +} + +.dialog_n { + background: transparent url(default/top_mid.gif) repeat-x 0 0; + height: 23px; +} + +.dialog_ne { + width: 9px; + height: 23px; + background: transparent url(default/top_right.gif) no-repeat 0 0; +} + +.dialog_e { + width: 2px; + background: transparent url(default/center_right.gif) repeat-y 0 0; +} + +.dialog_w { + width: 2px; + background: transparent url(default/center_left.gif) repeat-y 0 0; +} + +.dialog_sw { + width: 9px; + height: 19px; + background: transparent url(default/bottom_left.gif) no-repeat 0 0; +} + +.dialog_s { + background: transparent url(default/bottom_mid.gif) repeat-x 0 0; + height: 19px; +} + +.dialog_se { + width: 9px; + height: 19px; + background: transparent url(default/bottom_right.gif) no-repeat 0 0; +} + +.dialog_sizer { + width: 9px; + height: 19px; + background: transparent url(default/sizer.gif) no-repeat 0 0; + cursor:se-resize; +} + +.dialog_close { + width: 14px; + height: 14px; + background: transparent url(default/close.gif) no-repeat 0 0; + position:absolute; + top:5px; + left:8px; + cursor:pointer; + z-index:2000; +} + +.dialog_minimize { + width: 14px; + height: 15px; + background: transparent url(default/minimize.gif) no-repeat 0 0; + position:absolute; + top:5px; + left:28px; + cursor:pointer; + z-index:2000; +} + +.dialog_maximize { + width: 14px; + height: 15px; + background: transparent url(default/maximize.gif) no-repeat 0 0; + position:absolute; + top:5px; + left:49px; + cursor:pointer; + z-index:2000; +} + +.dialog_title { + float:left; + height:14px; + font-family: Tahoma, Arial, sans-serif; + font-size:12px; + text-align:center; + width:100%; + color:#000; +} + +.dialog_content { + overflow:auto; + color: #DDD; + font-family: Tahoma, Arial, sans-serif; + font-size: 10px; + background-color:#123; +} + +.top_draggable, .bottom_draggable { + cursor:move; +} + +.status_bar { + font-size:12px; +} +.status_bar input{ + font-size:12px; +} + +.wired_frame { + display: block; + position: absolute; + border: 1px #000 dashed; +} + +/* DO NOT CHANGE THESE VALUES*/ +.dialog { + display: block; + position: absolute; +} + +.dialog table.table_window { + border-collapse: collapse; + border-spacing: 0; + width: 100%; + margin: 0px; + padding:0px; +} + +.dialog table.table_window td , .dialog table.table_window th { + padding: 0; +} + +.dialog .title_window { + -moz-user-select:none; +} + diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.css index 249388be5..257a1b1e3 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.css @@ -1,3 +1,3 @@ -/* PNG fix for all themes that uses PNG images on IE */ -td, div { behavior: url(../themes/iefix/iepngfix.htc) } - +/* PNG fix for all themes that uses PNG images on IE */ +td, div { behavior: url(../themes/iefix/iepngfix.htc) } + diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.htc b/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.htc index 9a13f32bf..a6c683b9f 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.htc +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.htc @@ -1,54 +1,54 @@ - - - - + + + + \ No newline at end of file diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting.css index 0d955c3d7..95ec287a9 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting.css @@ -1,960 +1,960 @@ -.overlay___invisible__ { - background-color: #666; - filter:alpha(opacity=0); - -moz-opacity: 0; - opacity: 0; -} - -.top_draggable, .bottom_draggable { - cursor:move; -} - -.status_bar { - font-size:12px; -} -.status_bar input{ - font-size:12px; -} - -.wired_frame { - display:block; - position:absolute; - border:1px #000 dashed; -} - - - -.overlay_bluelighting { - background-color:#FFF; - filter:alpha(opacity=60); - -moz-opacity:0.6; - opacity:0.6; -} - -.bluelighting_wired_frame { - background:#FFF; - filter:alpha(opacity=60); - -moz-opacity:0.6; - opacity:0.6; -} - -.bluelighting_nw { - background:transparent url(lighting/top-left-blue.png) no-repeat 0 0; - width:9px; - height:28px; -} - -.bluelighting_n { - background:transparent url(lighting/top-middle-blue.png) repeat-x 0 0; - height:28px; -} - -.bluelighting_ne { - background:transparent url(lighting/top-right-blue.png) no-repeat 0 0; - width:15px; - height:28px; -} - -.bluelighting_w { - background:transparent url(lighting/left-blue.png) repeat-y top left; - width:9px; -} - -.bluelighting_e { - background:transparent url(lighting/right-blue.png) repeat-y top right; - width:15px; -} - -.bluelighting_sw { - background:transparent url(lighting/bottom-left-blue.png) no-repeat 0 0; - width:9px; - height:15px; -} - -.bluelighting_s { - background:transparent url(lighting/bottom-middle-blue.png) repeat-x 0 0; - height:15px; -} - -.bluelighting_se, .bluelighting_sizer { - background:transparent url(lighting/bottom-right-blue.png) no-repeat 0 0; - width:15px; - height:15px; -} - -.bluelighting_sizer { - cursor:se-resize; -} - -.bluelighting_close { - width:15px; - height:9px; - background:transparent url(lighting/button-close-blue.png) no-repeat 0 0; - position:absolute; - top:11px; - right:10px; - cursor:pointer; - z-index:1000; -} - -.bluelighting_maximize { - width:15px; - height:9px; - background:transparent url(lighting/button-maximize-blue.png) no-repeat 0 0; - position:absolute; - top:11px; - right:25px; - cursor:pointer; - z-index:1000; -} - -.bluelighting_minimize { - width:15px; - height:9px; - background:transparent url(lighting/button-minimize-blue.png) no-repeat 0 0; - position:absolute; - top:11px; - right:40px; - cursor:pointer; - z-index:1000; -} - -.bluelighting_title { - float:left; - height:14px; - font-size:14px; - font-weight:bold; - font-family:Verdana, Arial, sans-serif; - text-align:center; - margin-top:2px; - width:100%; - color:#17385B; -} - -.bluelighting_content { - overflow:auto; - color:#000; - font-family:Verdana, Arial, sans-serif; - font-size:12px; - background:#BFDBFF; -} - -/* For alert/confirm dialog */ -.bluelighting_window { - border:1px solid #F00; - background:#FFF; - padding:20px; - margin-left:auto; - margin-right:auto; - width:400px; -} - -.bluelighting_message { - font-size:12px; - text-align:center; - width:100%; - padding-bottom:10px; -} - -.bluelighting_buttons { - text-align:center; - width:100%; -} - -.bluelighting_buttons input { - border:1px solid #999; - border-top-color:#CCC; - border-left-color:#CCC; - padding:2px; - background-color:#FFF; - color:#333; - background-image:url(lighting/background_buttons.gif); - background-repeat:repeat-x; - font-family:Verdana, Arial, sans-serif; - font-size:10px; - font-weight:bold; - text-align:center; -} - -.bluelighting_progress { - float:left; - margin:auto; - text-align:center; - width:100%; - height:16px; - background:transparent url('lighting/spinner.gif') no-repeat center center -} - -/* FOR IE */ -* html .bluelighting_nw { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-blue.png", sizingMethod="crop"); -} - -* html .bluelighting_n { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-blue.png", sizingMethod="scale"); -} - -* html .bluelighting_ne { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-blue.png", sizingMethod="crop"); -} - -* html .bluelighting_w { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-blue.png", sizingMethod="scale"); -} - -* html .bluelighting_e { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-blue.png", sizingMethod="scale"); -} - -* html .bluelighting_sw { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-blue.png", sizingMethod="crop"); -} - -* html .bluelighting_s { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-blue.png", sizingMethod="scale"); -} - -* html .bluelighting_se, * html .bluelighting_sizer { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-blue.png", sizingMethod="crop"); -} - -* html .bluelighting_close { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-blue.png", sizingMethod="crop"); -} - -* html .bluelighting_minimize { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-blue.png", sizingMethod="crop"); -} - -* html .bluelighting_maximize { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-blue.png", sizingMethod="crop"); -} - -* html .bluelighting_content { - background:#B8D7FF; -} - - - -.overlay_greylighting { - background-color:#FFF; - filter:alpha(opacity=60); - -moz-opacity:0.6; - opacity:0.6; -} - -.greylighting_wired_frame { - background:#FFF; - filter:alpha(opacity=60); - -moz-opacity:0.6; - opacity:0.6; -} - -.greylighting_nw { - background:transparent url(lighting/top-left-grey.png) no-repeat 0 0; - width:9px; - height:28px; -} - -.greylighting_n { - background:transparent url(lighting/top-middle-grey.png) repeat-x 0 0; - height:28px; -} - -.greylighting_ne { - background:transparent url(lighting/top-right-grey.png) no-repeat 0 0; - width:15px; - height:28px; -} - -.greylighting_w { - background:transparent url(lighting/left-grey.png) repeat-y top left; - width:9px; -} - -.greylighting_e { - background:transparent url(lighting/right-grey.png) repeat-y top right; - width:15px; -} - -.greylighting_sw { - background:transparent url(lighting/bottom-left-grey.png) no-repeat 0 0; - width:9px; - height:15px; -} - -.greylighting_s { - background:transparent url(lighting/bottom-middle-grey.png) repeat-x 0 0; - height:15px; -} - -.greylighting_se, .greylighting_sizer { - background:transparent url(lighting/bottom-right-grey.png) no-repeat 0 0; - width:15px; - height:15px; -} - -.greylighting_sizer { - cursor:se-resize; -} - -.greylighting_close { - width:15px; - height:9px; - background:transparent url(lighting/button-close-grey.png) no-repeat 0 0; - position:absolute; - top:11px; - right:10px; - cursor:pointer; - z-index:1000; -} - -.greylighting_maximize { - width:15px; - height:9px; - background:transparent url(lighting/button-maximize-grey.png) no-repeat 0 0; - position:absolute; - top:11px; - right:25px; - cursor:pointer; - z-index:1000; -} - -.greylighting_minimize { - width:15px; - height:9px; - background:transparent url(lighting/button-minimize-grey.png) no-repeat 0 0; - position:absolute; - top:11px; - right:40px; - cursor:pointer; - z-index:1000; -} - -.greylighting_title { - float:left; - height:14px; - font-size:14px; - font-weight:bold; - font-family:Verdana, Arial, sans-serif; - text-align:center; - margin-top:2px; - width:100%; - color:#525252; -} - -.greylighting_content { - overflow:auto; - color:#000; - font-family:Verdana, Arial, sans-serif; - font-size:12px; - background:#CDCDCD; -} - -/* For alert/confirm dialog */ -.greylighting_window { - border:1px solid #F00; - background:#FFF; - padding:20px; - margin-left:auto; - margin-right:auto; - width:400px; -} - -.greylighting_message { - font-size:12px; - text-align:center; - width:100%; - padding-bottom:10px; -} - -.greylighting_buttons { - text-align:center; - width:100%; -} - -.greylighting_buttons input { - border:1px solid #999; - border-top-color:#CCC; - border-left-color:#CCC; - padding:2px; - background-color:#FFF; - color:#333; - background-image:url(lighting/background_buttons.gif); - background-repeat:repeat-x; - font-family:Verdana, Arial, sans-serif; - font-size:10px; - font-weight:bold; - text-align:center; -} - -.greylighting_progress { - float:left; - margin:auto; - text-align:center; - width:100%; - height:16px; - background:transparent url('lighting/spinner.gif') no-repeat center center -} - -/* FOR IE */ -* html .greylighting_nw { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-grey.png", sizingMethod="crop"); -} - -* html .greylighting_n { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-grey.png", sizingMethod="scale"); -} - -* html .greylighting_ne { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-grey.png", sizingMethod="crop"); -} - -* html .greylighting_w { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-grey.png", sizingMethod="scale"); -} - -* html .greylighting_e { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-grey.png", sizingMethod="scale"); -} - -* html .greylighting_sw { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-grey.png", sizingMethod="crop"); -} - -* html .greylighting_s { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-grey.png", sizingMethod="scale"); -} - -* html greylighting_se, * html .greylighting_sizer { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-grey.png", sizingMethod="crop"); -} - -* html .greylighting_close { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-grey.png", sizingMethod="crop"); -} - -* html .greylighting_minimize { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-grey.png", sizingMethod="crop"); -} - -* html .greylighting_maximize { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-grey.png", sizingMethod="crop"); -} - -* html .greylighting_content { - background:#C7C7C7; -} - - - -.overlay_greenlighting { - background-color:#FFF; - filter:alpha(opacity=60); - -moz-opacity:0.6; - opacity:0.6; -} - -.greenlighting_wired_frame { - background:#FFF; - filter:alpha(opacity=60); - -moz-opacity:0.6; - opacity:0.6; -} - -.greenlighting_nw { - background:transparent url(lighting/top-left-green.png) no-repeat 0 0; - width:9px; - height:28px; -} - -.greenlighting_n { - background:transparent url(lighting/top-middle-green.png) repeat-x 0 0; - height:28px; -} - -.greenlighting_ne { - background:transparent url(lighting/top-right-green.png) no-repeat 0 0; - width:15px; - height:28px; -} - -.greenlighting_w { - background:transparent url(lighting/left-green.png) repeat-y top left; - width:9px; -} - -.greenlighting_e { - background:transparent url(lighting/right-green.png) repeat-y top right; - width:15px; -} - -.greenlighting_sw { - background:transparent url(lighting/bottom-left-green.png) no-repeat 0 0; - width:9px; - height:15px; -} - -.greenlighting_s { - background:transparent url(lighting/bottom-middle-green.png) repeat-x 0 0; - height:15px; -} - -.greenlighting_se, .greenlighting_sizer { - background:transparent url(lighting/bottom-right-green.png) no-repeat 0 0; - width:15px; - height:15px; -} - -.greenlighting_sizer { - cursor:se-resize; -} - -.greenlighting_close { - width:15px; - height:9px; - background:transparent url(lighting/button-close-green.png) no-repeat 0 0; - position:absolute; - top:11px; - right:10px; - cursor:pointer; - z-index:1000; -} - -.greenlighting_maximize { - width:15px; - height:9px; - background:transparent url(lighting/button-maximize-green.png) no-repeat 0 0; - position:absolute; - top:11px; - right:25px; - cursor:pointer; - z-index:1000; -} - -.greenlighting_minimize { - width:15px; - height:9px; - background:transparent url(lighting/button-minimize-green.png) no-repeat 0 0; - position:absolute; - top:11px; - right:40px; - cursor:pointer; - z-index:1000; -} - -.greenlighting_title { - float:left; - height:14px; - font-size:14px; - font-weight:bold; - font-family:Verdana, Arial, sans-serif; - text-align:center; - margin-top:2px; - width:100%; - color:#2A6002; -} - -.greenlighting_content { - overflow:auto; - color:#000; - font-family:Verdana, Arial, sans-serif; - font-size:12px; - background:#ACFCAF; -} - -/* For alert/confirm dialog */ -.greenlighting_window { - border:1px solid #F00; - background:#FFF; - padding:20px; - margin-left:auto; - margin-right:auto; - width:400px; -} - -.greenlighting_message { - font-size:12px; - text-align:center; - width:100%; - padding-bottom:10px; -} - -.greenlighting_buttons { - text-align:center; - width:100%; -} - -.greenlighting_buttons input { - border:1px solid #999; - border-top-color:#CCC; - border-left-color:#CCC; - padding:2px; - background-color:#FFF; - color:#333; - background-image:url(lighting/background_buttons.gif); - background-repeat:repeat-x; - font-family:Verdana, Arial, sans-serif; - font-size:10px; - font-weight:bold; - text-align:center; -} - -.greenlighting_progress { - float:left; - margin:auto; - text-align:center; - width:100%; - height:16px; - background:transparent url('lighting/spinner.gif') no-repeat center center -} - -/* FOR IE */ -* html .greenlighting_nw { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-green.png", sizingMethod="crop"); -} - -* html .greenlighting_n { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-green.png", sizingMethod="scale"); -} - -* html .greenlighting_ne { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-green.png", sizingMethod="crop"); -} - -* html .greenlighting_w { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-green.png", sizingMethod="scale"); -} - -* html .greenlighting_e { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-green.png", sizingMethod="scale"); -} - -* html .greenlighting_sw { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-green.png", sizingMethod="crop"); -} - -* html .greenlighting_s { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-green.png", sizingMethod="scale"); -} - -* html greenlighting_se, * html .greenlighting_sizer { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-green.png", sizingMethod="crop"); -} - -* html .greenlighting_close { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-green.png", sizingMethod="crop"); -} - -* html .greenlighting_minimize { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-green.png", sizingMethod="crop"); -} - -* html .greenlighting_maximize { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-green.png", sizingMethod="crop"); -} - -* html .greenlighting_content { - background:#A4FCA7; -} - - - -.overlay_darkbluelighting { - background-color:#FFF; - filter:alpha(opacity=60); - -moz-opacity:0.6; - opacity:0.6; -} - -.darkbluelighting_wired_frame { - background:#FFF; - filter:alpha(opacity=60); - -moz-opacity:0.6; - opacity:0.6; -} - -.darkbluelighting_nw { - background:transparent url(lighting/top-left-darkblue.png) no-repeat 0 0; - width:9px; - height:28px; -} - -.darkbluelighting_n { - background:transparent url(lighting/top-middle-darkblue.png) repeat-x 0 0; - height:28px; -} - -.darkbluelighting_ne { - background:transparent url(lighting/top-right-darkblue.png) no-repeat 0 0; - width:15px; - height:28px; -} - -.darkbluelighting_w { - background:transparent url(lighting/left-darkblue.png) repeat-y top left; - width:9px; -} - -.darkbluelighting_e { - background:transparent url(lighting/right-darkblue.png) repeat-y top right; - width:15px; -} - -.darkbluelighting_sw { - background:transparent url(lighting/bottom-left-darkblue.png) no-repeat 0 0; - width:9px; - height:15px; -} - -.darkbluelighting_s { - background:transparent url(lighting/bottom-middle-darkblue.png) repeat-x 0 0; - height:15px; -} - -.darkbluelighting_se, .darkbluelighting_sizer { - background:transparent url(lighting/bottom-right-darkblue.png) no-repeat 0 0; - width:15px; - height:15px; -} - -.darkbluelighting_sizer { - cursor:se-resize; -} - -.darkbluelighting_close { - width:15px; - height:9px; - background:transparent url(lighting/button-close-darkblue.png) no-repeat 0 0; - position:absolute; - top:11px; - right:10px; - cursor:pointer; - z-index:1000; -} - -.darkbluelighting_maximize { - width:15px; - height:9px; - background:transparent url(lighting/button-maximize-darkblue.png) no-repeat 0 0; - position:absolute; - top:11px; - right:25px; - cursor:pointer; - z-index:1000; -} - -.darkbluelighting_minimize { - width:15px; - height:9px; - background:transparent url(lighting/button-minimize-darkblue.png) no-repeat 0 0; - position:absolute; - top:11px; - right:40px; - cursor:pointer; - z-index:1000; -} - -.darkbluelighting_title { - float:left; - height:14px; - font-size:14px; - font-weight:bold; - font-family:Verdana, Arial, sans-serif; - text-align:center; - margin-top:2px; - width:100%; - color:#E4EFFD; -} - -.darkbluelighting_content { - overflow:auto; - color:#FFF; - font-family:Verdana, Arial, sans-serif; - font-size:12px; - background:#0413C0; -} - -/* For alert/confirm dialog */ -.darkbluelighting_window { - border:1px solid #F00; - background:#FFF; - padding:20px; - margin-left:auto; - margin-right:auto; - width:400px; -} - -.darkbluelighting_message { - font-size:12px; - text-align:center; - width:100%; - padding-bottom:10px; -} - -.darkbluelighting_buttons { - text-align:center; - width:100%; -} - -.darkbluelighting_buttons input { - border:1px solid #999; - border-top-color:#CCC; - border-left-color:#CCC; - padding:2px; - background-color:#FFF; - color:#333; - background-image:url(lighting/background_buttons.gif); - background-repeat:repeat-x; - font-family:Verdana, Arial, sans-serif; - font-size:10px; - font-weight:bold; - text-align:center; -} - -.darkbluelighting_progress { - float:left; - margin:auto; - text-align:center; - width:100%; - height:16px; - background:transparent url('lighting/spinner.gif') no-repeat center center -} - -/* FOR IE */ -* html .darkbluelighting_nw { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-darkblue.png", sizingMethod="crop"); -} - -* html .darkbluelighting_n { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-darkblue.png", sizingMethod="scale"); -} - -* html .darkbluelighting_ne { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-darkblue.png", sizingMethod="crop"); -} - -* html .darkbluelighting_w { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-darkblue.png", sizingMethod="scale"); -} - -* html .darkbluelighting_e { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-darkblue.png", sizingMethod="scale"); -} - -* html .darkbluelighting_sw { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-darkblue.png", sizingMethod="crop"); -} - -* html .darkbluelighting_s { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-darkblue.png", sizingMethod="scale"); -} - -* html darkbluelighting_se, * html .darkbluelighting_sizer { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-darkblue.png", sizingMethod="crop"); -} - -* html .darkbluelighting_close { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-darkblue.png", sizingMethod="crop"); -} - -* html .darkbluelighting_minimize { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-darkblue.png", sizingMethod="crop"); -} - -* html .darkbluelighting_maximize { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-darkblue.png", sizingMethod="crop"); -} - -* html .darkbluelighting_content { - background:#020EBA; -} - +.overlay___invisible__ { + background-color: #666; + filter:alpha(opacity=0); + -moz-opacity: 0; + opacity: 0; +} + +.top_draggable, .bottom_draggable { + cursor:move; +} + +.status_bar { + font-size:12px; +} +.status_bar input{ + font-size:12px; +} + +.wired_frame { + display:block; + position:absolute; + border:1px #000 dashed; +} + + + +.overlay_bluelighting { + background-color:#FFF; + filter:alpha(opacity=60); + -moz-opacity:0.6; + opacity:0.6; +} + +.bluelighting_wired_frame { + background:#FFF; + filter:alpha(opacity=60); + -moz-opacity:0.6; + opacity:0.6; +} + +.bluelighting_nw { + background:transparent url(lighting/top-left-blue.png) no-repeat 0 0; + width:9px; + height:28px; +} + +.bluelighting_n { + background:transparent url(lighting/top-middle-blue.png) repeat-x 0 0; + height:28px; +} + +.bluelighting_ne { + background:transparent url(lighting/top-right-blue.png) no-repeat 0 0; + width:15px; + height:28px; +} + +.bluelighting_w { + background:transparent url(lighting/left-blue.png) repeat-y top left; + width:9px; +} + +.bluelighting_e { + background:transparent url(lighting/right-blue.png) repeat-y top right; + width:15px; +} + +.bluelighting_sw { + background:transparent url(lighting/bottom-left-blue.png) no-repeat 0 0; + width:9px; + height:15px; +} + +.bluelighting_s { + background:transparent url(lighting/bottom-middle-blue.png) repeat-x 0 0; + height:15px; +} + +.bluelighting_se, .bluelighting_sizer { + background:transparent url(lighting/bottom-right-blue.png) no-repeat 0 0; + width:15px; + height:15px; +} + +.bluelighting_sizer { + cursor:se-resize; +} + +.bluelighting_close { + width:15px; + height:9px; + background:transparent url(lighting/button-close-blue.png) no-repeat 0 0; + position:absolute; + top:11px; + right:10px; + cursor:pointer; + z-index:1000; +} + +.bluelighting_maximize { + width:15px; + height:9px; + background:transparent url(lighting/button-maximize-blue.png) no-repeat 0 0; + position:absolute; + top:11px; + right:25px; + cursor:pointer; + z-index:1000; +} + +.bluelighting_minimize { + width:15px; + height:9px; + background:transparent url(lighting/button-minimize-blue.png) no-repeat 0 0; + position:absolute; + top:11px; + right:40px; + cursor:pointer; + z-index:1000; +} + +.bluelighting_title { + float:left; + height:14px; + font-size:14px; + font-weight:bold; + font-family:Verdana, Arial, sans-serif; + text-align:center; + margin-top:2px; + width:100%; + color:#17385B; +} + +.bluelighting_content { + overflow:auto; + color:#000; + font-family:Verdana, Arial, sans-serif; + font-size:12px; + background:#BFDBFF; +} + +/* For alert/confirm dialog */ +.bluelighting_window { + border:1px solid #F00; + background:#FFF; + padding:20px; + margin-left:auto; + margin-right:auto; + width:400px; +} + +.bluelighting_message { + font-size:12px; + text-align:center; + width:100%; + padding-bottom:10px; +} + +.bluelighting_buttons { + text-align:center; + width:100%; +} + +.bluelighting_buttons input { + border:1px solid #999; + border-top-color:#CCC; + border-left-color:#CCC; + padding:2px; + background-color:#FFF; + color:#333; + background-image:url(lighting/background_buttons.gif); + background-repeat:repeat-x; + font-family:Verdana, Arial, sans-serif; + font-size:10px; + font-weight:bold; + text-align:center; +} + +.bluelighting_progress { + float:left; + margin:auto; + text-align:center; + width:100%; + height:16px; + background:transparent url('lighting/spinner.gif') no-repeat center center +} + +/* FOR IE */ +* html .bluelighting_nw { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-blue.png", sizingMethod="crop"); +} + +* html .bluelighting_n { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-blue.png", sizingMethod="scale"); +} + +* html .bluelighting_ne { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-blue.png", sizingMethod="crop"); +} + +* html .bluelighting_w { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-blue.png", sizingMethod="scale"); +} + +* html .bluelighting_e { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-blue.png", sizingMethod="scale"); +} + +* html .bluelighting_sw { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-blue.png", sizingMethod="crop"); +} + +* html .bluelighting_s { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-blue.png", sizingMethod="scale"); +} + +* html .bluelighting_se, * html .bluelighting_sizer { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-blue.png", sizingMethod="crop"); +} + +* html .bluelighting_close { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-blue.png", sizingMethod="crop"); +} + +* html .bluelighting_minimize { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-blue.png", sizingMethod="crop"); +} + +* html .bluelighting_maximize { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-blue.png", sizingMethod="crop"); +} + +* html .bluelighting_content { + background:#B8D7FF; +} + + + +.overlay_greylighting { + background-color:#FFF; + filter:alpha(opacity=60); + -moz-opacity:0.6; + opacity:0.6; +} + +.greylighting_wired_frame { + background:#FFF; + filter:alpha(opacity=60); + -moz-opacity:0.6; + opacity:0.6; +} + +.greylighting_nw { + background:transparent url(lighting/top-left-grey.png) no-repeat 0 0; + width:9px; + height:28px; +} + +.greylighting_n { + background:transparent url(lighting/top-middle-grey.png) repeat-x 0 0; + height:28px; +} + +.greylighting_ne { + background:transparent url(lighting/top-right-grey.png) no-repeat 0 0; + width:15px; + height:28px; +} + +.greylighting_w { + background:transparent url(lighting/left-grey.png) repeat-y top left; + width:9px; +} + +.greylighting_e { + background:transparent url(lighting/right-grey.png) repeat-y top right; + width:15px; +} + +.greylighting_sw { + background:transparent url(lighting/bottom-left-grey.png) no-repeat 0 0; + width:9px; + height:15px; +} + +.greylighting_s { + background:transparent url(lighting/bottom-middle-grey.png) repeat-x 0 0; + height:15px; +} + +.greylighting_se, .greylighting_sizer { + background:transparent url(lighting/bottom-right-grey.png) no-repeat 0 0; + width:15px; + height:15px; +} + +.greylighting_sizer { + cursor:se-resize; +} + +.greylighting_close { + width:15px; + height:9px; + background:transparent url(lighting/button-close-grey.png) no-repeat 0 0; + position:absolute; + top:11px; + right:10px; + cursor:pointer; + z-index:1000; +} + +.greylighting_maximize { + width:15px; + height:9px; + background:transparent url(lighting/button-maximize-grey.png) no-repeat 0 0; + position:absolute; + top:11px; + right:25px; + cursor:pointer; + z-index:1000; +} + +.greylighting_minimize { + width:15px; + height:9px; + background:transparent url(lighting/button-minimize-grey.png) no-repeat 0 0; + position:absolute; + top:11px; + right:40px; + cursor:pointer; + z-index:1000; +} + +.greylighting_title { + float:left; + height:14px; + font-size:14px; + font-weight:bold; + font-family:Verdana, Arial, sans-serif; + text-align:center; + margin-top:2px; + width:100%; + color:#525252; +} + +.greylighting_content { + overflow:auto; + color:#000; + font-family:Verdana, Arial, sans-serif; + font-size:12px; + background:#CDCDCD; +} + +/* For alert/confirm dialog */ +.greylighting_window { + border:1px solid #F00; + background:#FFF; + padding:20px; + margin-left:auto; + margin-right:auto; + width:400px; +} + +.greylighting_message { + font-size:12px; + text-align:center; + width:100%; + padding-bottom:10px; +} + +.greylighting_buttons { + text-align:center; + width:100%; +} + +.greylighting_buttons input { + border:1px solid #999; + border-top-color:#CCC; + border-left-color:#CCC; + padding:2px; + background-color:#FFF; + color:#333; + background-image:url(lighting/background_buttons.gif); + background-repeat:repeat-x; + font-family:Verdana, Arial, sans-serif; + font-size:10px; + font-weight:bold; + text-align:center; +} + +.greylighting_progress { + float:left; + margin:auto; + text-align:center; + width:100%; + height:16px; + background:transparent url('lighting/spinner.gif') no-repeat center center +} + +/* FOR IE */ +* html .greylighting_nw { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-grey.png", sizingMethod="crop"); +} + +* html .greylighting_n { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-grey.png", sizingMethod="scale"); +} + +* html .greylighting_ne { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-grey.png", sizingMethod="crop"); +} + +* html .greylighting_w { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-grey.png", sizingMethod="scale"); +} + +* html .greylighting_e { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-grey.png", sizingMethod="scale"); +} + +* html .greylighting_sw { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-grey.png", sizingMethod="crop"); +} + +* html .greylighting_s { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-grey.png", sizingMethod="scale"); +} + +* html greylighting_se, * html .greylighting_sizer { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-grey.png", sizingMethod="crop"); +} + +* html .greylighting_close { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-grey.png", sizingMethod="crop"); +} + +* html .greylighting_minimize { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-grey.png", sizingMethod="crop"); +} + +* html .greylighting_maximize { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-grey.png", sizingMethod="crop"); +} + +* html .greylighting_content { + background:#C7C7C7; +} + + + +.overlay_greenlighting { + background-color:#FFF; + filter:alpha(opacity=60); + -moz-opacity:0.6; + opacity:0.6; +} + +.greenlighting_wired_frame { + background:#FFF; + filter:alpha(opacity=60); + -moz-opacity:0.6; + opacity:0.6; +} + +.greenlighting_nw { + background:transparent url(lighting/top-left-green.png) no-repeat 0 0; + width:9px; + height:28px; +} + +.greenlighting_n { + background:transparent url(lighting/top-middle-green.png) repeat-x 0 0; + height:28px; +} + +.greenlighting_ne { + background:transparent url(lighting/top-right-green.png) no-repeat 0 0; + width:15px; + height:28px; +} + +.greenlighting_w { + background:transparent url(lighting/left-green.png) repeat-y top left; + width:9px; +} + +.greenlighting_e { + background:transparent url(lighting/right-green.png) repeat-y top right; + width:15px; +} + +.greenlighting_sw { + background:transparent url(lighting/bottom-left-green.png) no-repeat 0 0; + width:9px; + height:15px; +} + +.greenlighting_s { + background:transparent url(lighting/bottom-middle-green.png) repeat-x 0 0; + height:15px; +} + +.greenlighting_se, .greenlighting_sizer { + background:transparent url(lighting/bottom-right-green.png) no-repeat 0 0; + width:15px; + height:15px; +} + +.greenlighting_sizer { + cursor:se-resize; +} + +.greenlighting_close { + width:15px; + height:9px; + background:transparent url(lighting/button-close-green.png) no-repeat 0 0; + position:absolute; + top:11px; + right:10px; + cursor:pointer; + z-index:1000; +} + +.greenlighting_maximize { + width:15px; + height:9px; + background:transparent url(lighting/button-maximize-green.png) no-repeat 0 0; + position:absolute; + top:11px; + right:25px; + cursor:pointer; + z-index:1000; +} + +.greenlighting_minimize { + width:15px; + height:9px; + background:transparent url(lighting/button-minimize-green.png) no-repeat 0 0; + position:absolute; + top:11px; + right:40px; + cursor:pointer; + z-index:1000; +} + +.greenlighting_title { + float:left; + height:14px; + font-size:14px; + font-weight:bold; + font-family:Verdana, Arial, sans-serif; + text-align:center; + margin-top:2px; + width:100%; + color:#2A6002; +} + +.greenlighting_content { + overflow:auto; + color:#000; + font-family:Verdana, Arial, sans-serif; + font-size:12px; + background:#ACFCAF; +} + +/* For alert/confirm dialog */ +.greenlighting_window { + border:1px solid #F00; + background:#FFF; + padding:20px; + margin-left:auto; + margin-right:auto; + width:400px; +} + +.greenlighting_message { + font-size:12px; + text-align:center; + width:100%; + padding-bottom:10px; +} + +.greenlighting_buttons { + text-align:center; + width:100%; +} + +.greenlighting_buttons input { + border:1px solid #999; + border-top-color:#CCC; + border-left-color:#CCC; + padding:2px; + background-color:#FFF; + color:#333; + background-image:url(lighting/background_buttons.gif); + background-repeat:repeat-x; + font-family:Verdana, Arial, sans-serif; + font-size:10px; + font-weight:bold; + text-align:center; +} + +.greenlighting_progress { + float:left; + margin:auto; + text-align:center; + width:100%; + height:16px; + background:transparent url('lighting/spinner.gif') no-repeat center center +} + +/* FOR IE */ +* html .greenlighting_nw { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-green.png", sizingMethod="crop"); +} + +* html .greenlighting_n { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-green.png", sizingMethod="scale"); +} + +* html .greenlighting_ne { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-green.png", sizingMethod="crop"); +} + +* html .greenlighting_w { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-green.png", sizingMethod="scale"); +} + +* html .greenlighting_e { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-green.png", sizingMethod="scale"); +} + +* html .greenlighting_sw { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-green.png", sizingMethod="crop"); +} + +* html .greenlighting_s { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-green.png", sizingMethod="scale"); +} + +* html greenlighting_se, * html .greenlighting_sizer { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-green.png", sizingMethod="crop"); +} + +* html .greenlighting_close { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-green.png", sizingMethod="crop"); +} + +* html .greenlighting_minimize { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-green.png", sizingMethod="crop"); +} + +* html .greenlighting_maximize { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-green.png", sizingMethod="crop"); +} + +* html .greenlighting_content { + background:#A4FCA7; +} + + + +.overlay_darkbluelighting { + background-color:#FFF; + filter:alpha(opacity=60); + -moz-opacity:0.6; + opacity:0.6; +} + +.darkbluelighting_wired_frame { + background:#FFF; + filter:alpha(opacity=60); + -moz-opacity:0.6; + opacity:0.6; +} + +.darkbluelighting_nw { + background:transparent url(lighting/top-left-darkblue.png) no-repeat 0 0; + width:9px; + height:28px; +} + +.darkbluelighting_n { + background:transparent url(lighting/top-middle-darkblue.png) repeat-x 0 0; + height:28px; +} + +.darkbluelighting_ne { + background:transparent url(lighting/top-right-darkblue.png) no-repeat 0 0; + width:15px; + height:28px; +} + +.darkbluelighting_w { + background:transparent url(lighting/left-darkblue.png) repeat-y top left; + width:9px; +} + +.darkbluelighting_e { + background:transparent url(lighting/right-darkblue.png) repeat-y top right; + width:15px; +} + +.darkbluelighting_sw { + background:transparent url(lighting/bottom-left-darkblue.png) no-repeat 0 0; + width:9px; + height:15px; +} + +.darkbluelighting_s { + background:transparent url(lighting/bottom-middle-darkblue.png) repeat-x 0 0; + height:15px; +} + +.darkbluelighting_se, .darkbluelighting_sizer { + background:transparent url(lighting/bottom-right-darkblue.png) no-repeat 0 0; + width:15px; + height:15px; +} + +.darkbluelighting_sizer { + cursor:se-resize; +} + +.darkbluelighting_close { + width:15px; + height:9px; + background:transparent url(lighting/button-close-darkblue.png) no-repeat 0 0; + position:absolute; + top:11px; + right:10px; + cursor:pointer; + z-index:1000; +} + +.darkbluelighting_maximize { + width:15px; + height:9px; + background:transparent url(lighting/button-maximize-darkblue.png) no-repeat 0 0; + position:absolute; + top:11px; + right:25px; + cursor:pointer; + z-index:1000; +} + +.darkbluelighting_minimize { + width:15px; + height:9px; + background:transparent url(lighting/button-minimize-darkblue.png) no-repeat 0 0; + position:absolute; + top:11px; + right:40px; + cursor:pointer; + z-index:1000; +} + +.darkbluelighting_title { + float:left; + height:14px; + font-size:14px; + font-weight:bold; + font-family:Verdana, Arial, sans-serif; + text-align:center; + margin-top:2px; + width:100%; + color:#E4EFFD; +} + +.darkbluelighting_content { + overflow:auto; + color:#FFF; + font-family:Verdana, Arial, sans-serif; + font-size:12px; + background:#0413C0; +} + +/* For alert/confirm dialog */ +.darkbluelighting_window { + border:1px solid #F00; + background:#FFF; + padding:20px; + margin-left:auto; + margin-right:auto; + width:400px; +} + +.darkbluelighting_message { + font-size:12px; + text-align:center; + width:100%; + padding-bottom:10px; +} + +.darkbluelighting_buttons { + text-align:center; + width:100%; +} + +.darkbluelighting_buttons input { + border:1px solid #999; + border-top-color:#CCC; + border-left-color:#CCC; + padding:2px; + background-color:#FFF; + color:#333; + background-image:url(lighting/background_buttons.gif); + background-repeat:repeat-x; + font-family:Verdana, Arial, sans-serif; + font-size:10px; + font-weight:bold; + text-align:center; +} + +.darkbluelighting_progress { + float:left; + margin:auto; + text-align:center; + width:100%; + height:16px; + background:transparent url('lighting/spinner.gif') no-repeat center center +} + +/* FOR IE */ +* html .darkbluelighting_nw { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-darkblue.png", sizingMethod="crop"); +} + +* html .darkbluelighting_n { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-darkblue.png", sizingMethod="scale"); +} + +* html .darkbluelighting_ne { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-darkblue.png", sizingMethod="crop"); +} + +* html .darkbluelighting_w { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-darkblue.png", sizingMethod="scale"); +} + +* html .darkbluelighting_e { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-darkblue.png", sizingMethod="scale"); +} + +* html .darkbluelighting_sw { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-darkblue.png", sizingMethod="crop"); +} + +* html .darkbluelighting_s { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-darkblue.png", sizingMethod="scale"); +} + +* html darkbluelighting_se, * html .darkbluelighting_sizer { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-darkblue.png", sizingMethod="crop"); +} + +* html .darkbluelighting_close { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-darkblue.png", sizingMethod="crop"); +} + +* html .darkbluelighting_minimize { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-darkblue.png", sizingMethod="crop"); +} + +* html .darkbluelighting_maximize { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-darkblue.png", sizingMethod="crop"); +} + +* html .darkbluelighting_content { + background:#020EBA; +} + diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting/pngbehavior.htc b/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting/pngbehavior.htc index 92248c665..36ea182e7 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting/pngbehavior.htc +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting/pngbehavior.htc @@ -1,67 +1,67 @@ - - - - - - - + diff --git a/public/assets/wechat/app.html b/public/assets/wechat/app.html index 0b68eb0e8..8e3d38005 100644 --- a/public/assets/wechat/app.html +++ b/public/assets/wechat/app.html @@ -17,12 +17,8 @@
        - - - - - + diff --git a/public/javascripts/wechat/app.js b/public/javascripts/wechat/app.js index 4e1df0381..1a734b8e8 100644 --- a/public/javascripts/wechat/app.js +++ b/public/javascripts/wechat/app.js @@ -4,7 +4,7 @@ var debug = false; //调试标志,如果在本地请置为true if(debug===true){ //apiUrl = 'http://localhost:3000/api/v1/'; - apiUrl = 'https://www.trustie.net/api/v1/'; + apiUrl = 'http://www.trustie.net/api/v1/'; } @@ -16,7 +16,7 @@ app.factory('auth', function($http,$routeParams, $cookies, $q){ } if(debug===true){ - _openid = "1"; + _openid = "orgVLv8TlS6e7FDiI6xdTGHRaaRo"; //guange的帐号 } var getOpenId = function() { @@ -478,24 +478,13 @@ app.directive('inputAuto',function(){ } }); -app.directive('loadingSpinner', function ($http) { +app.directive('loadingSpinner', ['$http', function ($http) { return { restrict: 'A', replace: true, - template: '
        加载中...
        ', - link: function (scope, element, attrs) { - - scope.$watch('activeCalls', function (newVal, oldVal) { - if (newVal == 0) { - $(element).hide(); - } - else { - $(element).show(); - } - }); - } + template: '
        加载中...
        ', }; -}); +}]); app.config(['$routeProvider',"$httpProvider", "$locationProvider",function ($routeProvider, $httpProvider, $locationProvider) { var rootPath = '/assets/wechat/' diff --git a/public/javascripts/wechat/build/angular.all.min.js b/public/javascripts/wechat/build/angular.all.min.js new file mode 100644 index 000000000..72e4e89cd --- /dev/null +++ b/public/javascripts/wechat/build/angular.all.min.js @@ -0,0 +1,8 @@ +!function(e,t,n){"use strict";function r(e,t){return t=t||Error,function(){var n,r,i=2,o=arguments,a=o[0],s="["+(e?e+":":"")+a+"] ",u=o[1];for(s+=u.replace(/\{\d+\}/g,function(e){var t=+e.slice(1,-1),n=t+i;return n0&&t-1 in e}function o(e,t,n){var r,a;if(e)if(k(e))for(r in e)"prototype"==r||"length"==r||"name"==r||e.hasOwnProperty&&!e.hasOwnProperty(r)||t.call(n,e[r],r,e);else if(Ir(e)||i(e)){var s="object"!=typeof e;for(r=0,a=e.length;a>r;r++)(s||r in e)&&t.call(n,e[r],r,e)}else if(e.forEach&&e.forEach!==o)e.forEach(t,n,e);else if(x(e))for(r in e)t.call(n,e[r],r,e);else if("function"==typeof e.hasOwnProperty)for(r in e)e.hasOwnProperty(r)&&t.call(n,e[r],r,e);else for(r in e)yr.call(e,r)&&t.call(n,e[r],r,e);return e}function a(e,t,n){for(var r=Object.keys(e).sort(),i=0;ii;++i){var a=t[i];if(w(a)||k(a))for(var s=Object.keys(a),u=0,f=s.length;f>u;u++){var h=s[u],p=a[h];n&&w(p)?C(p)?e[h]=new Date(p.valueOf()):A(p)?e[h]=new RegExp(p):(w(e[h])||(e[h]=Ir(p)?[]:{}),l(e[h],[p],!0)):e[h]=p}}return c(e,r),e}function f(e){return l(e,Ar.call(arguments,1),!1)}function h(e){return l(e,Ar.call(arguments,1),!0)}function p(e){return parseInt(e,10)}function d(e,t){return f(Object.create(e),t)}function $(){}function v(e){return e}function m(e){return function(){return e}}function g(e){return k(e.toString)&&e.toString!==Object.prototype.toString}function y(e){return"undefined"==typeof e}function b(e){return"undefined"!=typeof e}function w(e){return null!==e&&"object"==typeof e}function x(e){return null!==e&&"object"==typeof e&&!Nr(e)}function S(e){return"string"==typeof e}function E(e){return"number"==typeof e}function C(e){return"[object Date]"===Tr.call(e)}function k(e){return"function"==typeof e}function A(e){return"[object RegExp]"===Tr.call(e)}function O(e){return e&&e.window===e}function M(e){return e&&e.$evalAsync&&e.$watch}function T(e){return"[object File]"===Tr.call(e)}function N(e){return"[object FormData]"===Tr.call(e)}function V(e){return"[object Blob]"===Tr.call(e)}function j(e){return"boolean"==typeof e}function P(e){return e&&k(e.then)}function D(e){return Rr.test(Tr.call(e))}function I(e){return!(!e||!(e.nodeName||e.prop&&e.attr&&e.find))}function R(e){var t,n={},r=e.split(",");for(t=0;t=0&&e.splice(n,1),n}function F(e,t,n,r){if(O(e)||M(e))throw Vr("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");if(D(t))throw Vr("cpta","Can't copy! TypedArray destination cannot be mutated.");if(t){if(e===t)throw Vr("cpi","Can't copy! Source and destination are identical.");n=n||[],r=r||[],w(e)&&(n.push(e),r.push(t));var i;if(Ir(e)){t.length=0;for(var a=0;an;n++)t[n]=e[n]}else if(w(e)){t=t||{};for(var i in e)"$"===i.charAt(0)&&"$"===i.charAt(1)||(t[i]=e[i])}return t||e}function B(e,t){if(e===t)return!0;if(null===e||null===t)return!1;if(e!==e&&t!==t)return!0;var n,r,i,o=typeof e,a=typeof t;if(o==a&&"object"==o){if(!Ir(e)){if(C(e))return C(t)?B(e.getTime(),t.getTime()):!1;if(A(e))return A(t)?e.toString()==t.toString():!1;if(M(e)||M(t)||O(e)||O(t)||Ir(t)||C(t)||A(t))return!1;i=ve();for(r in e)if("$"!==r.charAt(0)&&!k(e[r])){if(!B(e[r],t[r]))return!1;i[r]=!0}for(r in t)if(!(r in i)&&"$"!==r.charAt(0)&&b(t[r])&&!k(t[r]))return!1;return!0}if(!Ir(t))return!1;if((n=e.length)==t.length){for(r=0;n>r;r++)if(!B(e[r],t[r]))return!1;return!0}}return!1}function H(e,t,n){return e.concat(Ar.call(t,n))}function L(e,t){return Ar.call(e,t||0)}function z(e,t){var n=arguments.length>2?L(arguments,2):[];return!k(t)||t instanceof RegExp?t:n.length?function(){return arguments.length?t.apply(e,H(n,arguments,0)):t.apply(e,n)}:function(){return arguments.length?t.apply(e,arguments):t.call(e)}}function W(e,r){var i=r;return"string"==typeof e&&"$"===e.charAt(0)&&"$"===e.charAt(1)?i=n:O(r)?i="$WINDOW":r&&t===r?i="$DOCUMENT":M(r)&&(i="$SCOPE"),i}function G(e,t){return"undefined"==typeof e?n:(E(t)||(t=t?2:null),JSON.stringify(e,W,t))}function Y(e){return S(e)?JSON.parse(e):e}function J(e,t){var n=Date.parse("Jan 01, 1970 00:00:00 "+e)/6e4;return isNaN(n)?t:n}function K(e,t){return e=new Date(e.getTime()),e.setMinutes(e.getMinutes()+t),e}function Z(e,t,n){n=n?-1:1;var r=J(t,e.getTimezoneOffset());return K(e,n*(r-e.getTimezoneOffset()))}function X(e){e=Er(e).clone();try{e.empty()}catch(t){}var n=Er("
        ").append(e).html();try{return e[0].nodeType===Gr?gr(n):n.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(e,t){return"<"+gr(t)})}catch(t){return gr(n)}}function Q(e){try{return decodeURIComponent(e)}catch(t){}}function ee(e){var t={};return o((e||"").split("&"),function(e){var n,r,i;e&&(r=e=e.replace(/\+/g,"%20"),n=e.indexOf("="),-1!==n&&(r=e.substring(0,n),i=e.substring(n+1)),r=Q(r),b(r)&&(i=b(i)?Q(i):!0,yr.call(t,r)?Ir(t[r])?t[r].push(i):t[r]=[t[r],i]:t[r]=i))}),t}function te(e){var t=[];return o(e,function(e,n){Ir(e)?o(e,function(e){t.push(re(n,!0)+(e===!0?"":"="+re(e,!0)))}):t.push(re(n,!0)+(e===!0?"":"="+re(e,!0)))}),t.length?t.join("&"):""}function ne(e){return re(e,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function re(e,t){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,t?"%20":"+")}function ie(e,t){var n,r,i=Br.length;for(r=0;i>r;++r)if(n=Br[r]+t,S(n=e.getAttribute(n)))return n;return null}function oe(e,t){var n,r,i={};o(Br,function(t){var i=t+"app";!n&&e.hasAttribute&&e.hasAttribute(i)&&(n=e,r=e.getAttribute(i))}),o(Br,function(t){var i,o=t+"app";!n&&(i=e.querySelector("["+o.replace(":","\\:")+"]"))&&(n=i,r=i.getAttribute(o))}),n&&(i.strictDi=null!==ie(n,"strict-di"),t(n,r?[r]:[],i))}function ae(n,r,i){w(i)||(i={});var a={strictDi:!1};i=f(a,i);var s=function(){if(n=Er(n),n.injector()){var e=n[0]===t?"document":X(n);throw Vr("btstrpd","App Already Bootstrapped with this Element '{0}'",e.replace(//,">"))}r=r||[],r.unshift(["$provide",function(e){e.value("$rootElement",n)}]),i.debugInfoEnabled&&r.push(["$compileProvider",function(e){e.debugInfoEnabled(!0)}]),r.unshift("ng");var o=Xe(r,i.strictDi);return o.invoke(["$rootScope","$rootElement","$compile","$injector",function(e,t,n,r){e.$apply(function(){t.data("$injector",r),n(t)(e)})}]),o},u=/^NG_ENABLE_DEBUG_INFO!/,c=/^NG_DEFER_BOOTSTRAP!/;return e&&u.test(e.name)&&(i.debugInfoEnabled=!0,e.name=e.name.replace(u,"")),e&&!c.test(e.name)?s():(e.name=e.name.replace(c,""),jr.resumeBootstrap=function(e){return o(e,function(e){r.push(e)}),s()},void(k(jr.resumeDeferredBootstrap)&&jr.resumeDeferredBootstrap()))}function se(){e.name="NG_ENABLE_DEBUG_INFO!"+e.name,e.location.reload()}function ue(e){var t=jr.element(e).injector();if(!t)throw Vr("test","no injector found for element argument to getTestability");return t.get("$$testability")}function ce(e,t){return t=t||"_",e.replace(Hr,function(e,n){return(n?t:"")+e.toLowerCase()})}function le(){var t;if(!Lr){var r=Ur();Cr=y(r)?e.jQuery:r?e[r]:n,Cr&&Cr.fn.on?(Er=Cr,f(Cr.fn,{scope:fi.scope,isolateScope:fi.isolateScope,controller:fi.controller,injector:fi.injector,inheritedData:fi.inheritedData}),t=Cr.cleanData,Cr.cleanData=function(e){var n;if(Dr)Dr=!1;else for(var r,i=0;null!=(r=e[i]);i++)n=Cr._data(r,"events"),n&&n.$destroy&&Cr(r).triggerHandler("$destroy");t(e)}):Er=Oe,jr.element=Er,Lr=!0}}function fe(e,t,n){if(!e)throw Vr("areq","Argument '{0}' is {1}",t||"?",n||"required");return e}function he(e,t,n){return n&&Ir(e)&&(e=e[e.length-1]),fe(k(e),t,"not a function, got "+(e&&"object"==typeof e?e.constructor.name||"Object":typeof e)),e}function pe(e,t){if("hasOwnProperty"===e)throw Vr("badname","hasOwnProperty is not a valid {0} name",t)}function de(e,t,n){if(!t)return e;for(var r,i=t.split("."),o=e,a=i.length,s=0;a>s;s++)r=i[s],e&&(e=(o=e)[r]);return!n&&k(e)?z(o,e):e}function $e(e){for(var t,n=e[0],r=e[e.length-1],i=1;n!==r&&(n=n.nextSibling);i++)(t||e[i]!==n)&&(t||(t=Er(Ar.call(e,0,i))),t.push(n));return t||e}function ve(){return Object.create(null)}function me(e){function t(e,t,n){return e[t]||(e[t]=n())}var n=r("$injector"),i=r("ng"),o=t(e,"angular",Object);return o.$$minErr=o.$$minErr||r,t(o,"module",function(){var e={};return function(r,o,a){var s=function(e,t){if("hasOwnProperty"===e)throw i("badname","hasOwnProperty is not a valid {0} name",t)};return s(r,"module"),o&&e.hasOwnProperty(r)&&(e[r]=null),t(e,r,function(){function e(e,t,n,r){return r||(r=i),function(){return r[n||"push"]([e,t,arguments]),l}}function t(e,t){return function(n,o){return o&&k(o)&&(o.$$moduleName=r),i.push([e,t,arguments]),l}}if(!o)throw n("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",r);var i=[],s=[],u=[],c=e("$injector","invoke","push",s),l={_invokeQueue:i,_configBlocks:s,_runBlocks:u,requires:o,name:r,provider:t("$provide","provider"),factory:t("$provide","factory"),service:t("$provide","service"),value:e("$provide","value"),constant:e("$provide","constant","unshift"),decorator:t("$provide","decorator"),animation:t("$animateProvider","register"),filter:t("$filterProvider","register"),controller:t("$controllerProvider","register"),directive:t("$compileProvider","directive"),config:c,run:function(e){return u.push(e),this}};return a&&c(a),l})}})}function ge(e){var t=[];return JSON.stringify(e,function(e,n){if(n=W(e,n),w(n)){if(t.indexOf(n)>=0)return"...";t.push(n)}return n})}function ye(e){return"function"==typeof e?e.toString().replace(/ \{[\s\S]*$/,""):y(e)?"undefined":"string"!=typeof e?ge(e):e}function be(t){f(t,{bootstrap:ae,copy:F,extend:f,merge:h,equals:B,element:Er,forEach:o,injector:Xe,noop:$,bind:z,toJson:G,fromJson:Y,identity:v,isUndefined:y,isDefined:b,isString:S,isFunction:k,isObject:w,isNumber:E,isElement:I,isArray:Ir,version:Zr,isDate:C,lowercase:gr,uppercase:br,callbacks:{counter:0},getTestability:ue,$$minErr:r,$$csp:Fr,reloadWithDebugInfo:se}),(kr=me(e))("ng",["ngLocale"],["$provide",function(e){e.provider({$$sanitizeUri:$n}),e.provider("$compile",ut).directive({a:fo,input:Mo,textarea:Mo,form:mo,script:wa,select:Ea,style:ka,option:Ca,ngBind:Vo,ngBindHtml:Po,ngBindTemplate:jo,ngClass:Io,ngClassEven:_o,ngClassOdd:Ro,ngCloak:qo,ngController:Fo,ngForm:go,ngHide:$a,ngIf:Ho,ngInclude:Lo,ngInit:Wo,ngNonBindable:aa,ngPluralize:la,ngRepeat:fa,ngShow:da,ngStyle:va,ngSwitch:ma,ngSwitchWhen:ga,ngSwitchDefault:ya,ngOptions:ca,ngTransclude:ba,ngModel:ra,ngList:Go,ngChange:Do,pattern:Oa,ngPattern:Oa,required:Aa,ngRequired:Aa,minlength:Ta,ngMinlength:Ta,maxlength:Ma,ngMaxlength:Ma,ngValue:No,ngModelOptions:oa}).directive({ngInclude:zo}).directive(ho).directive(Uo),e.provider({$anchorScroll:Qe,$animate:ki,$animateCss:Ai,$$animateQueue:Ci,$$AnimateRunner:Ei,$browser:ot,$cacheFactory:at,$controller:pt,$document:dt,$exceptionHandler:$t,$filter:Mn,$$forceReflow:Vi,$interpolate:Mt,$interval:Tt,$http:Ct,$httpParamSerializer:mt,$httpParamSerializerJQLike:gt,$httpBackend:At,$location:Lt,$log:zt,$parse:cn,$rootScope:dn,$q:ln,$$q:fn,$sce:yn,$sceDelegate:gn,$sniffer:bn,$templateCache:st,$templateRequest:wn,$$testability:xn,$timeout:Sn,$window:kn,$$rAF:pn,$$jqLite:Ge,$$HashMap:$i,$$cookieReader:On})}])}function we(){return++Qr}function xe(e){return e.replace(ni,function(e,t,n,r){return r?n.toUpperCase():n}).replace(ri,"Moz$1")}function Se(e){return!si.test(e)}function Ee(e){var t=e.nodeType;return t===zr||!t||t===Jr}function Ce(e){for(var t in Xr[e.ng339])return!0;return!1}function ke(e,t){var n,r,i,a,s=t.createDocumentFragment(),u=[];if(Se(e))u.push(t.createTextNode(e));else{for(n=n||s.appendChild(t.createElement("div")),r=(ui.exec(e)||["",""])[1].toLowerCase(),i=li[r]||li._default,n.innerHTML=i[1]+e.replace(ci,"<$1>")+i[2],a=i[0];a--;)n=n.lastChild;u=H(u,n.childNodes),n=s.firstChild,n.textContent=""}return s.textContent="",s.innerHTML="",o(u,function(e){s.appendChild(e)}),s}function Ae(e,n){n=n||t;var r;return(r=ai.exec(e))?[n.createElement(r[1])]:(r=ke(e,n))?r.childNodes:[]}function Oe(e){if(e instanceof Oe)return e;var t;if(S(e)&&(e=_r(e),t=!0),!(this instanceof Oe)){if(t&&"<"!=e.charAt(0))throw oi("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new Oe(e)}t?_e(this,Ae(e)):_e(this,e)}function Me(e){return e.cloneNode(!0)}function Te(e,t){if(t||Ve(e),e.querySelectorAll)for(var n=e.querySelectorAll("*"),r=0,i=n.length;i>r;r++)Ve(n[r])}function Ne(e,t,n,r){if(b(r))throw oi("offargs","jqLite#off() does not support the `selector` argument");var i=je(e),a=i&&i.events,s=i&&i.handle;if(s)if(t)o(t.split(" "),function(t){if(b(n)){var r=a[t];if(q(r||[],n),r&&r.length>0)return}ti(e,t,s),delete a[t]});else for(t in a)"$destroy"!==t&&ti(e,t,s),delete a[t]}function Ve(e,t){var r=e.ng339,i=r&&Xr[r];if(i){if(t)return void delete i.data[t];i.handle&&(i.events.$destroy&&i.handle({},"$destroy"),Ne(e)),delete Xr[r],e.ng339=n}}function je(e,t){var r=e.ng339,i=r&&Xr[r];return t&&!i&&(e.ng339=r=we(),i=Xr[r]={events:{},data:{},handle:n}),i}function Pe(e,t,n){if(Ee(e)){var r=b(n),i=!r&&t&&!w(t),o=!t,a=je(e,!i),s=a&&a.data;if(r)s[t]=n;else{if(o)return s;if(i)return s&&s[t];f(s,t)}}}function De(e,t){return e.getAttribute?(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+t+" ")>-1:!1}function Ie(e,t){t&&e.setAttribute&&o(t.split(" "),function(t){e.setAttribute("class",_r((" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+_r(t)+" "," ")))})}function Re(e,t){if(t&&e.setAttribute){var n=(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");o(t.split(" "),function(e){e=_r(e),-1===n.indexOf(" "+e+" ")&&(n+=e+" ")}),e.setAttribute("class",_r(n))}}function _e(e,t){if(t)if(t.nodeType)e[e.length++]=t;else{var n=t.length;if("number"==typeof n&&t.window!==t){if(n)for(var r=0;n>r;r++)e[e.length++]=t[r]}else e[e.length++]=t}}function qe(e,t){return Fe(e,"$"+(t||"ngController")+"Controller")}function Fe(e,t,n){e.nodeType==Jr&&(e=e.documentElement);for(var r=Ir(t)?t:[t];e;){for(var i=0,o=r.length;o>i;i++)if(b(n=Er.data(e,r[i])))return n;e=e.parentNode||e.nodeType===Kr&&e.host}}function Ue(e){for(Te(e,!0);e.firstChild;)e.removeChild(e.firstChild)}function Be(e,t){t||Te(e);var n=e.parentNode;n&&n.removeChild(e)}function He(t,n){n=n||e,"complete"===n.document.readyState?n.setTimeout(t):Er(n).on("load",t)}function Le(e,t){var n=hi[t.toLowerCase()];return n&&pi[_(e)]&&n}function ze(e){return di[e]}function We(e,t){var n=function(n,r){n.isDefaultPrevented=function(){return n.defaultPrevented};var i=t[r||n.type],o=i?i.length:0;if(o){if(y(n.immediatePropagationStopped)){var a=n.stopImmediatePropagation;n.stopImmediatePropagation=function(){n.immediatePropagationStopped=!0,n.stopPropagation&&n.stopPropagation(),a&&a.call(n)}}n.isImmediatePropagationStopped=function(){return n.immediatePropagationStopped===!0},o>1&&(i=U(i));for(var s=0;o>s;s++)n.isImmediatePropagationStopped()||i[s].call(e,n)}};return n.elem=e,n}function Ge(){this.$get=function(){return f(Oe,{hasClass:function(e,t){return e.attr&&(e=e[0]),De(e,t)},addClass:function(e,t){return e.attr&&(e=e[0]),Re(e,t)},removeClass:function(e,t){return e.attr&&(e=e[0]),Ie(e,t)}})}}function Ye(e,t){var n=e&&e.$$hashKey;if(n)return"function"==typeof n&&(n=e.$$hashKey()),n;var r=typeof e;return n="function"==r||"object"==r&&null!==e?e.$$hashKey=r+":"+(t||u)():r+":"+e}function Je(e,t){if(t){var n=0;this.nextUid=function(){return++n}}o(e,this.put,this)}function Ke(e){var t=e.toString().replace(yi,""),n=t.match(vi);return n?"function("+(n[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function Ze(e,t,n){var r,i,a,s;if("function"==typeof e){if(!(r=e.$inject)){if(r=[],e.length){if(t)throw S(n)&&n||(n=e.name||Ke(e)),bi("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",n);i=e.toString().replace(yi,""),a=i.match(vi),o(a[1].split(mi),function(e){e.replace(gi,function(e,t,n){r.push(n)})})}e.$inject=r}}else Ir(e)?(s=e.length-1,he(e[s],"fn"),r=e.slice(0,s)):he(e,"fn",!0);return r}function Xe(e,t){function r(e){return function(t,n){return w(t)?void o(t,s(e)):e(t,n)}}function i(e,t){if(pe(e,"service"),(k(t)||Ir(t))&&(t=E.instantiate(t)),!t.$get)throw bi("pget","Provider '{0}' must define $get factory method.",e);return x[e+v]=t}function a(e,t){return function(){var n=A.invoke(t,this);if(y(n))throw bi("undef","Provider '{0}' must return a value from $get factory method.",e);return n}}function u(e,t,n){return i(e,{$get:n!==!1?a(e,t):t})}function c(e,t){return u(e,["$injector",function(e){return e.instantiate(t)}])}function l(e,t){return u(e,m(t),!1)}function f(e,t){pe(e,"constant"),x[e]=t,C[e]=t}function h(e,t){var n=E.get(e+v),r=n.$get;n.$get=function(){var e=A.invoke(r,n);return A.invoke(t,null,{$delegate:e})}}function p(e){fe(y(e)||Ir(e),"modulesToLoad","not an array");var t,n=[];return o(e,function(e){function r(e){var t,n;for(t=0,n=e.length;n>t;t++){var r=e[t],i=E.get(r[0]);i[r[1]].apply(i,r[2])}}if(!b.get(e)){b.put(e,!0);try{S(e)?(t=kr(e),n=n.concat(p(t.requires)).concat(t._runBlocks),r(t._invokeQueue),r(t._configBlocks)):k(e)?n.push(E.invoke(e)):Ir(e)?n.push(E.invoke(e)):he(e,"module")}catch(i){throw Ir(e)&&(e=e[e.length-1]),i.message&&i.stack&&-1==i.stack.indexOf(i.message)&&(i=i.message+"\n"+i.stack),bi("modulerr","Failed to instantiate module {0} due to:\n{1}",e,i.stack||i.message||i)}}}),n}function d(e,n){function r(t,r){if(e.hasOwnProperty(t)){if(e[t]===$)throw bi("cdep","Circular dependency found: {0}",t+" <- "+g.join(" <- "));return e[t]}try{return g.unshift(t),e[t]=$,e[t]=n(t,r)}catch(i){throw e[t]===$&&delete e[t],i}finally{g.shift()}}function i(e,n,i,o){"string"==typeof i&&(o=i,i=null);var a,s,u,c=[],l=Xe.$$annotate(e,t,o);for(s=0,a=l.length;a>s;s++){if(u=l[s],"string"!=typeof u)throw bi("itkn","Incorrect injection token! Expected service name as string, got {0}",u);c.push(i&&i.hasOwnProperty(u)?i[u]:r(u,o))}return Ir(e)&&(e=e[a]),e.apply(n,c)}function o(e,t,n){var r=Object.create((Ir(e)?e[e.length-1]:e).prototype||null),o=i(e,r,t,n);return w(o)||k(o)?o:r}return{invoke:i,instantiate:o,get:r,annotate:Xe.$$annotate,has:function(t){return x.hasOwnProperty(t+v)||e.hasOwnProperty(t)}}}t=t===!0;var $={},v="Provider",g=[],b=new Je([],!0),x={$provide:{provider:r(i),factory:r(u),service:r(c),value:r(l),constant:r(f),decorator:h}},E=x.$injector=d(x,function(e,t){throw jr.isString(t)&&g.push(t),bi("unpr","Unknown provider: {0}",g.join(" <- "))}),C={},A=C.$injector=d(C,function(e,t){var r=E.get(e+v,t);return A.invoke(r.$get,r,n,e)});return o(p(e),function(e){e&&A.invoke(e)}),A}function Qe(){var e=!0;this.disableAutoScrolling=function(){e=!1},this.$get=["$window","$location","$rootScope",function(t,n,r){function i(e){var t=null;return Array.prototype.some.call(e,function(e){return"a"===_(e)?(t=e,!0):void 0}),t}function o(){var e=s.yOffset;if(k(e))e=e();else if(I(e)){var n=e[0],r=t.getComputedStyle(n);e="fixed"!==r.position?0:n.getBoundingClientRect().bottom}else E(e)||(e=0);return e}function a(e){if(e){e.scrollIntoView();var n=o();if(n){var r=e.getBoundingClientRect().top;t.scrollBy(0,r-n)}}else t.scrollTo(0,0)}function s(e){e=S(e)?e:n.hash();var t;e?(t=u.getElementById(e))?a(t):(t=i(u.getElementsByName(e)))?a(t):"top"===e&&a(null):a(null)}var u=t.document;return e&&r.$watch(function(){return n.hash()},function(e,t){e===t&&""===e||He(function(){r.$evalAsync(s)})}),s}]}function et(e,t){return e||t?e?t?(Ir(e)&&(e=e.join(" ")),Ir(t)&&(t=t.join(" ")),e+" "+t):e:t:""}function tt(e){for(var t=0;tc&&this.remove(p.key),t}},get:function(e){if(c").parent()[0])});var a=P(e,t,e,n,r,i);V.$$addScopeClass(e);var s=null;return function(t,n,r){fe(t,"scope"),r=r||{};var i=r.parentBoundTranscludeFn,o=r.transcludeControllers,u=r.futureParentElement;i&&i.$$boundTransclude&&(i=i.$$boundTransclude),s||(s=j(u));var c;if(c="html"!==s?Er(Q(s,Er("
        ").append(e).html())):n?fi.clone.call(e):e,o)for(var l in o)c.data("$"+l+"Controller",o[l].instance);return V.$$addScopeInfo(c,t),n&&n(c,t),a&&a(t,c,c,i),c}}function j(e){var t=e&&e[0];return t&&"foreignobject"!==_(t)&&t.toString().match(/SVG/)?"svg":"html"}function P(e,t,r,i,o,a){function s(e,r,i,o){var a,s,u,c,l,f,h,p,v;if(d){var m=r.length;for(v=new Array(m),l=0;l<$.length;l+=3)h=$[l],v[h]=r[h]}else v=r;for(l=0,f=$.length;f>l;)if(u=v[$[l++]],a=$[l++],s=$[l++],a){if(a.scope){c=e.$new(),V.$$addScopeInfo(Er(u),c);var g=a.$$destroyBindings;g&&(a.$$destroyBindings=null,c.$on("$destroyed",g))}else c=e;p=a.transcludeOnThisElement?D(e,a.transclude,o):!a.templateOnThisElement&&o?o:!o&&t?D(e,t):null,a(s,c,u,i,p,a)}else s&&s(e,u.childNodes,n,o)}for(var u,c,l,f,h,p,d,$=[],v=0;vg;g++){var b=!1,x=!1;c=m[g],l=c.name,$=_r(c.value),d=ct(l),(v=he.test(d))&&(l=l.replace(Mi,"").substr(8).replace(/_(.)/g,function(e,t){return t.toUpperCase()}));var E=d.replace(/(Start|End)$/,"");W(E)&&d===E+"Start"&&(b=l,x=l.substr(0,l.length-5)+"end",l=l.substr(0,l.length-6)),f=ct(l.toLowerCase()),u[f]=l,!v&&n.hasOwnProperty(f)||(n[f]=$,Le(e,f)&&(n[f]=!0)),te(e,t,$,f,v),z(t,f,"A",r,i,b,x)}if(a=e.className,w(a)&&(a=a.animVal),S(a)&&""!==a)for(;o=p.exec(a);)f=ct(o[2]),z(t,f,"C",r,i)&&(n[f]=_r(o[3])),a=a.substr(o.index+o[0].length);break;case Gr:if(11===Sr)for(;e.parentNode&&e.nextSibling&&e.nextSibling.nodeType===Gr;)e.nodeValue=e.nodeValue+e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);Z(t,e.nodeValue);break;case Yr:try{o=h.exec(e.nodeValue),o&&(f=ct(o[1]),z(t,f,"M",r,i)&&(n[f]=_r(o[2])))}catch(C){}}return t.sort(J),t}function R(e,t,n){var r=[],i=0;if(t&&e.hasAttribute&&e.hasAttribute(t)){do{if(!e)throw Oi("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",t,n);e.nodeType==zr&&(e.hasAttribute(t)&&i++,e.hasAttribute(n)&&i--),r.push(e),e=e.nextSibling}while(i>0)}else r.push(e);return Er(r)}function F(e,t,n){return function(r,i,o,a,s){return i=R(i[0],t,n),e(r,i,o,a,s)}}function U(e,r,o,a,s,c,l,f,h){function p(e,t,n,r){e&&(n&&(e=F(e,n,r)),e.require=m.require,e.directiveName=g,(T===m||m.$$isolateScope)&&(e=re(e,{isolateScope:!0})),l.push(e)),t&&(n&&(t=F(t,n,r)),t.require=m.require,t.directiveName=g,(T===m||m.$$isolateScope)&&(t=re(t,{isolateScope:!0})),f.push(t))}function d(e,t,n,r){var i;if(S(t)){var o=t.match(x),a=t.substring(o[0].length),s=o[1]||o[3],u="?"===o[2];if("^^"===s?n=n.parent():(i=r&&r[a],i=i&&i.instance),!i){var c="$"+a+"Controller";i=s?n.inheritedData(c):n.data(c)}if(!i&&!u)throw Oi("ctreq","Controller '{0}', required by directive '{1}', can't be found!",a,e)}else if(Ir(t)){i=[];for(var l=0,f=t.length;f>l;l++)i[l]=d(e,t[l],n,r)}return i||null}function $(e,t,n,r,i,o){var a=ve();for(var s in r){var c=r[s],l={$scope:c===T||c.$$isolateScope?i:o,$element:e,$attrs:t,$transclude:n},f=c.controller;"@"==f&&(f=t[c.name]);var h=u(f,l,!0,c.controllerAs);a[c.name]=h,_||e.data("$"+c.name+"Controller",h.instance)}return a}function v(e,t,i,a,s,u){function c(e,t,r){var i;return M(e)||(r=t,t=e,e=n),_&&(i=y),r||(r=_?w.parent():w),s(e,t,i,r,j)}var h,p,v,m,g,y,b,w,x;if(r===i?(x=o,w=o.$$element):(w=Er(i),x=new ae(w,o)),T&&(g=t.$new(!0)),s&&(b=c,b.$$boundTransclude=s),O&&(y=$(w,x,b,O,g,t)),T&&(V.$$addScopeInfo(w,g,!0,!(N&&(N===T||N===T.$$originalDirective))),V.$$addScopeClass(w,!0),g.$$isolateBindings=T.$$isolateBindings,oe(t,x,g,g.$$isolateBindings,T,g)),y){var S,E,C=T||A;C&&y[C.name]&&(S=C.$$bindings.bindToController,m=y[C.name],m&&m.identifier&&S&&(E=m,u.$$destroyBindings=oe(t,x,m.instance,S,C)));for(h in y){m=y[h];var k=m();k!==m.instance&&(m.instance=k,w.data("$"+h+"Controller",k),m===E&&(u.$$destroyBindings(),u.$$destroyBindings=oe(t,x,k,S,C)))}}for(h=0,p=l.length;p>h;h++)v=l[h],ie(v,v.isolateScope?g:t,w,x,v.require&&d(v.directiveName,v.require,w,y),b);var j=t;for(T&&(T.template||null===T.templateUrl)&&(j=g),e&&e(j,i.childNodes,n,s),h=f.length-1;h>=0;h--)v=f[h],ie(v,v.isolateScope?g:t,w,x,v.require&&d(v.directiveName,v.require,w,y),b)}h=h||{};for(var m,g,y,b,E,C=-Number.MAX_VALUE,A=h.newScopeDirective,O=h.controllerDirectives,T=h.newIsolateScopeDirective,N=h.templateDirective,j=h.nonTlbTranscludeDirective,P=!1,D=!1,_=h.hasElementTranscludeDirective,q=o.$$element=Er(r),U=c,B=a,z=0,W=e.length;W>z;z++){m=e[z];var J=m.$$start,Z=m.$$end;if(J&&(q=R(r,J,Z)),y=n,C>m.priority)break;if((E=m.scope)&&(m.templateUrl||(w(E)?(K("new/isolated scope",T||A,m,q),T=m):K("new/isolated scope",T,m,q)),A=A||m),g=m.name,!m.templateUrl&&m.controller&&(E=m.controller,O=O||ve(),K("'"+g+"' controller",O[g],m,q),O[g]=m), +(E=m.transclude)&&(P=!0,m.$$tlb||(K("transclusion",j,m,q),j=m),"element"==E?(_=!0,C=m.priority,y=q,q=o.$$element=Er(t.createComment(" "+g+": "+o[g]+" ")),r=q[0],ne(s,L(y),r),B=V(y,a,C,U&&U.name,{nonTlbTranscludeDirective:j})):(y=Er(Me(r)).contents(),q.empty(),B=V(y,a))),m.template)if(D=!0,K("template",N,m,q),N=m,E=k(m.template)?m.template(q,o):m.template,E=le(E),m.replace){if(U=m,y=Se(E)?[]:ft(Q(m.templateNamespace,_r(E))),r=y[0],1!=y.length||r.nodeType!==zr)throw Oi("tplrt","Template for directive '{0}' must have exactly one root element. {1}",g,"");ne(s,q,r);var ee={$attr:{}},te=I(r,[],ee),se=e.splice(z+1,e.length-(z+1));T&&H(te),e=e.concat(te).concat(se),G(o,ee),W=e.length}else q.html(E);if(m.templateUrl)D=!0,K("template",N,m,q),N=m,m.replace&&(U=m),v=Y(e.splice(z,e.length-z),q,o,s,P&&B,l,f,{controllerDirectives:O,newScopeDirective:A!==m&&A,newIsolateScopeDirective:T,templateDirective:N,nonTlbTranscludeDirective:j}),W=e.length;else if(m.compile)try{b=m.compile(q,o,B),k(b)?p(null,b,J,Z):b&&p(b.pre,b.post,J,Z)}catch(ue){i(ue,X(q))}m.terminal&&(v.terminal=!0,C=Math.max(C,m.priority))}return v.scope=A&&A.scope===!0,v.transcludeOnThisElement=P,v.templateOnThisElement=D,v.transclude=B,h.hasElementTranscludeDirective=_,v}function H(e){for(var t=0,n=e.length;n>t;t++)e[t]=d(e[t],{$$isolateScope:!0})}function z(t,n,r,o,a,s,u){if(n===a)return null;var f=null;if(c.hasOwnProperty(n))for(var h,p=e.get(n+l),$=0,v=p.length;v>$;$++)try{h=p[$],(y(o)||o>h.priority)&&-1!=h.restrict.indexOf(r)&&(s&&(h=d(h,{$$start:s,$$end:u})),t.push(h),f=h)}catch(m){i(m)}return f}function W(t){if(c.hasOwnProperty(t))for(var n,r=e.get(t+l),i=0,o=r.length;o>i;i++)if(n=r[i],n.multiElement)return!0;return!1}function G(e,t){var n=t.$attr,r=e.$attr,i=e.$$element;o(e,function(r,i){"$"!=i.charAt(0)&&(t[i]&&t[i]!==r&&(r+=("style"===i?";":" ")+t[i]),e.$set(i,r,!0,n[i]))}),o(t,function(t,o){"class"==o?(N(i,t),e["class"]=(e["class"]?e["class"]+" ":"")+t):"style"==o?(i.attr("style",i.attr("style")+";"+t),e.style=(e.style?e.style+";":"")+t):"$"==o.charAt(0)||e.hasOwnProperty(o)||(e[o]=t,r[o]=n[o])})}function Y(e,t,n,r,i,s,u,c){var l,f,h=[],p=t[0],$=e.shift(),v=d($,{templateUrl:null,transclude:null,replace:null,$$originalDirective:$}),m=k($.templateUrl)?$.templateUrl(t,n):$.templateUrl,g=$.templateNamespace;return t.empty(),a(m).then(function(a){var d,y,b,x;if(a=le(a),$.replace){if(b=Se(a)?[]:ft(Q(g,_r(a))),d=b[0],1!=b.length||d.nodeType!==zr)throw Oi("tplrt","Template for directive '{0}' must have exactly one root element. {1}",$.name,m);y={$attr:{}},ne(r,t,d);var S=I(d,[],y);w($.scope)&&H(S),e=S.concat(e),G(n,y)}else d=p,t.html(a);for(e.unshift(v),l=U(e,d,n,i,t,$,s,u,c),o(r,function(e,n){e==d&&(r[n]=t[0])}),f=P(t[0].childNodes,i);h.length;){var E=h.shift(),C=h.shift(),k=h.shift(),A=h.shift(),O=t[0];if(!E.$$destroyed){if(C!==p){var M=C.className;c.hasElementTranscludeDirective&&$.replace||(O=Me(d)),ne(k,Er(C),O),N(Er(O),M)}x=l.transcludeOnThisElement?D(E,l.transclude,A):A,l(f,E,O,r,x,l)}}h=null}),function(e,t,n,r,i){var o=i;t.$$destroyed||(h?h.push(t,n,r,o):(l.transcludeOnThisElement&&(o=D(t,l.transclude,i)),l(f,t,n,r,o,l)))}}function J(e,t){var n=t.priority-e.priority;return 0!==n?n:e.name!==t.name?e.name"+n+"",r.childNodes[0].childNodes;default:return n}}function ee(e,t){if("srcdoc"==t)return A.HTML;var n=_(e);return"xlinkHref"==t||"form"==n&&"action"==t||"img"!=n&&("src"==t||"ngSrc"==t)?A.RESOURCE_URL:void 0}function te(e,t,n,i,o){var a=ee(e,i);o=g[i]||o;var s=r(n,!0,a,o);if(s){if("multiple"===i&&"select"===_(e))throw Oi("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",X(e));t.push({priority:100,compile:function(){return{pre:function(e,t,u){var c=u.$$observers||(u.$$observers={});if(E.test(i))throw Oi("nodomevents","Interpolations for HTML DOM event attributes are disallowed. Please use the ng- versions (such as ng-click instead of onclick) instead.");var l=u[i];l!==n&&(s=l&&r(l,!0,a,o),n=l),s&&(u[i]=s(e),(c[i]||(c[i]=[])).$$inter=!0,(u.$$observers&&u.$$observers[i].$$scope||e).$watch(s,function(e,t){"class"===i&&e!=t?u.$updateClass(e,t):u.$set(i,e)}))}}}})}}function ne(e,n,r){var i,o,a=n[0],s=n.length,u=a.parentNode;if(e)for(i=0,o=e.length;o>i;i++)if(e[i]==a){e[i++]=r;for(var c=i,l=c+s-1,f=e.length;f>c;c++,l++)f>l?e[c]=e[l]:delete e[c];e.length-=s-1,e.context===a&&(e.context=r);break}u&&u.replaceChild(r,a);var h=t.createDocumentFragment();h.appendChild(a),Er.hasData(a)&&(Er(r).data(Er(a).data()),Cr?(Dr=!0,Cr.cleanData([a])):delete Er.cache[a[Er.expando]]);for(var p=1,d=n.length;d>p;p++){var $=n[p];Er($).remove(),h.appendChild($),delete n[p]}n[0]=r,n.length=1}function re(e,t){return f(function(){return e.apply(null,arguments)},e,t)}function ie(e,t,n,r,o,a){try{e(t,n,r,o,a)}catch(s){i(s,X(n))}}function oe(e,t,n,i,a,u){var c;o(i,function(i,o){var u,l,f,h,p=i.attrName,d=i.optional,v=i.mode;switch(v){case"@":d||yr.call(t,p)||(n[o]=t[p]=void 0),t.$observe(p,function(e){S(e)&&(n[o]=e)}),t.$$observers[p].$$scope=e,S(t[p])&&(n[o]=r(t[p])(e));break;case"=":if(!yr.call(t,p)){if(d)break;t[p]=void 0}if(d&&!t[p])break;l=s(t[p]),h=l.literal?B:function(e,t){return e===t||e!==e&&t!==t},f=l.assign||function(){throw u=n[o]=l(e),Oi("nonassign","Expression '{0}' used with directive '{1}' is non-assignable!",t[p],a.name)},u=n[o]=l(e);var m=function(t){return h(t,n[o])||(h(t,u)?f(e,t=n[o]):n[o]=t),u=t};m.$stateful=!0;var g;g=i.collection?e.$watchCollection(t[p],m):e.$watch(s(t[p],m),null,l.literal),c=c||[],c.push(g);break;case"&":if(l=t.hasOwnProperty(p)?s(t[p]):$,l===$&&d)break;n[o]=function(t){return l(e,t)}}});var l=c?function(){for(var e=0,t=c.length;t>e;++e)c[e]()}:$;return u&&l!==$?(u.$on("$destroy",l),$):l}var ae=function(e,t){if(t){var n,r,i,o=Object.keys(t);for(n=0,r=o.length;r>n;n++)i=o[n],this[i]=t[i]}else this.$attr={};this.$$element=e};ae.prototype={$normalize:ct,$addClass:function(e){e&&e.length>0&&O.addClass(this.$$element,e)},$removeClass:function(e){e&&e.length>0&&O.removeClass(this.$$element,e)},$updateClass:function(e,t){var n=lt(e,t);n&&n.length&&O.addClass(this.$$element,n);var r=lt(t,e);r&&r.length&&O.removeClass(this.$$element,r)},$set:function(e,t,n,r){var a,s=this.$$element[0],u=Le(s,e),c=ze(e),l=e;if(u?(this.$$element.prop(e,t),r=u):c&&(this[c]=t,l=c),this[e]=t,r?this.$attr[e]=r:(r=this.$attr[e],r||(this.$attr[e]=r=ce(e,"-"))),a=_(this.$$element),"a"===a&&"href"===e||"img"===a&&"src"===e)this[e]=t=T(t,"src"===e);else if("img"===a&&"srcset"===e){for(var f="",h=_r(t),p=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,d=/\s/.test(h)?p:/(,)/,$=h.split(d),v=Math.floor($.length/2),m=0;v>m;m++){var g=2*m;f+=T(_r($[g]),!0),f+=" "+_r($[g+1])}var b=_r($[2*m]).split(/\s/);f+=T(_r(b[0]),!0),2===b.length&&(f+=" "+_r(b[1])),this[e]=t=f}n!==!1&&(null===t||y(t)?this.$$element.removeAttr(r):this.$$element.attr(r,t));var w=this.$$observers;w&&o(w[l],function(e){try{e(t)}catch(n){i(n)}})},$observe:function(e,t){var n=this,r=n.$$observers||(n.$$observers=ve()),i=r[e]||(r[e]=[]);return i.push(t),m.$evalAsync(function(){i.$$inter||!n.hasOwnProperty(e)||y(n[e])||t(n[e])}),function(){q(i,t)}}};var se=r.startSymbol(),ue=r.endSymbol(),le="{{"==se||"}}"==ue?v:function(e){return e.replace(/\{\{/g,se).replace(/}}/g,ue)},he=/^ngAttr[A-Z]/;return V.$$addBindingInfo=C?function(e,t){var n=e.data("$binding")||[];Ir(t)?n=n.concat(t):n.push(t),e.data("$binding",n)}:$,V.$$addBindingClass=C?function(e){N(e,"ng-binding")}:$,V.$$addScopeInfo=C?function(e,t,n,r){var i=n?r?"$isolateScopeNoTemplate":"$isolateScope":"$scope";e.data(i,t)}:$,V.$$addScopeClass=C?function(e,t){N(e,t?"ng-isolate-scope":"ng-scope")}:$,V}]}function ct(e){return xe(e.replace(Mi,""))}function lt(e,t){var n="",r=e.split(/\s+/),i=t.split(/\s+/);e:for(var o=0;o0?" ":"")+a}return n}function ft(e){e=Er(e);var t=e.length;if(1>=t)return e;for(;t--;){var n=e[t];n.nodeType===Yr&&Or.call(e,t,1)}return e}function ht(e,t){if(t&&S(t))return t;if(S(e)){var n=Ni.exec(e);if(n)return n[3]}}function pt(){var e={},t=!1;this.register=function(t,n){pe(t,"controller"),w(t)?f(e,t):e[t]=n},this.allowGlobals=function(){t=!0},this.$get=["$injector","$window",function(i,o){function a(e,t,n,i){if(!e||!w(e.$scope))throw r("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",i,t);e.$scope[t]=n}return function(r,s,u,c){var l,h,p,d;if(u=u===!0,c&&S(c)&&(d=c),S(r)){if(h=r.match(Ni),!h)throw Ti("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",r);p=h[1],d=d||h[3],r=e.hasOwnProperty(p)?e[p]:de(s.$scope,p,!0)||(t?de(o,p,!0):n),he(r,p,!0)}if(u){var $=(Ir(r)?r[r.length-1]:r).prototype;l=Object.create($||null),d&&a(s,d,l,p||r.name);var v;return v=f(function(){var e=i.invoke(r,l,s,p);return e!==l&&(w(e)||k(e))&&(l=e,d&&a(s,d,l,p||r.name)),l},{instance:l,identifier:d})}return l=i.instantiate(r,s,p),d&&a(s,d,l,p||r.name),l}}]}function dt(){this.$get=["$window",function(e){return Er(e.document)}]}function $t(){this.$get=["$log",function(e){return function(t,n){e.error.apply(e,arguments)}}]}function vt(e){return w(e)?C(e)?e.toISOString():G(e):e}function mt(){this.$get=function(){return function(e){if(!e)return"";var t=[];return a(e,function(e,n){null===e||y(e)||(Ir(e)?o(e,function(e,r){t.push(re(n)+"="+re(vt(e)))}):t.push(re(n)+"="+re(vt(e))))}),t.join("&")}}}function gt(){this.$get=function(){return function(e){function t(e,r,i){null===e||y(e)||(Ir(e)?o(e,function(e,n){t(e,r+"["+(w(e)?n:"")+"]")}):w(e)&&!C(e)?a(e,function(e,n){t(e,r+(i?"":"[")+n+(i?"":"]"))}):n.push(re(r)+"="+re(vt(e))))}if(!e)return"";var n=[];return t(e,"",!0),n.join("&")}}}function yt(e,t){if(S(e)){var n=e.replace(Ri,"").trim();if(n){var r=t("Content-Type");(r&&0===r.indexOf(ji)||bt(n))&&(e=Y(n))}}return e}function bt(e){var t=e.match(Di);return t&&Ii[t[0]].test(e)}function wt(e){function t(e,t){e&&(r[e]=r[e]?r[e]+", "+t:t)}var n,r=ve();return S(e)?o(e.split("\n"),function(e){n=e.indexOf(":"),t(gr(_r(e.substr(0,n))),_r(e.substr(n+1)))}):w(e)&&o(e,function(e,n){t(gr(n),_r(e))}),r}function xt(e){var t;return function(n){if(t||(t=wt(e)),n){var r=t[gr(n)];return void 0===r&&(r=null),r}return t}}function St(e,t,n,r){return k(r)?r(e,t,n):(o(r,function(r){e=r(e,t,n)}),e)}function Et(e){return e>=200&&300>e}function Ct(){var e=this.defaults={transformResponse:[yt],transformRequest:[function(e){return!w(e)||T(e)||V(e)||N(e)?e:G(e)}],headers:{common:{Accept:"application/json, text/plain, */*"},post:U(Pi),put:U(Pi),patch:U(Pi)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer"},t=!1;this.useApplyAsync=function(e){return b(e)?(t=!!e,this):t};var i=!0;this.useLegacyPromiseExtensions=function(e){return b(e)?(i=!!e,this):i};var a=this.interceptors=[];this.$get=["$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector",function(s,u,c,l,h,p){function d(t){function a(e){var t=f({},e);return e.data?t.data=St(e.data,e.headers,e.status,c.transformResponse):t.data=e.data,Et(e.status)?t:h.reject(t)}function s(e,t){var n,r={};return o(e,function(e,i){k(e)?(n=e(t),null!=n&&(r[i]=n)):r[i]=e}),r}function u(t){var n,r,i,o=e.headers,a=f({},t.headers);o=f({},o.common,o[gr(t.method)]);e:for(n in o){r=gr(n);for(i in a)if(gr(i)===r)continue e;a[n]=o[n]}return s(a,U(t))}if(!jr.isObject(t))throw r("$http")("badreq","Http request configuration must be an object. Received: {0}",t);var c=f({method:"get",transformRequest:e.transformRequest,transformResponse:e.transformResponse,paramSerializer:e.paramSerializer},t);c.headers=u(t),c.method=br(c.method),c.paramSerializer=S(c.paramSerializer)?p.get(c.paramSerializer):c.paramSerializer;var l=function(t){var r=t.headers,i=St(t.data,xt(r),n,t.transformRequest);return y(i)&&o(r,function(e,t){"content-type"===gr(t)&&delete r[t]}),y(t.withCredentials)&&!y(e.withCredentials)&&(t.withCredentials=e.withCredentials),m(t,i).then(a,a)},d=[l,n],$=h.when(c);for(o(E,function(e){(e.request||e.requestError)&&d.unshift(e.request,e.requestError),(e.response||e.responseError)&&d.push(e.response,e.responseError)});d.length;){var v=d.shift(),g=d.shift();$=$.then(v,g)}return i?($.success=function(e){return he(e,"fn"),$.then(function(t){e(t.data,t.status,t.headers,c)}),$},$.error=function(e){return he(e,"fn"),$.then(null,function(t){e(t.data,t.status,t.headers,c)}),$}):($.success=qi("success"),$.error=qi("error")),$}function $(e){o(arguments,function(e){d[e]=function(t,n){return d(f({},n||{},{method:e,url:t}))}})}function v(e){o(arguments,function(e){d[e]=function(t,n,r){return d(f({},r||{},{method:e,url:t,data:n}))}})}function m(r,i){function o(e,n,r,i){function o(){a(n,e,r,i)}p&&(Et(e)?p.put(E,[e,n,wt(r),i]):p.remove(E)),t?l.$applyAsync(o):(o(),l.$$phase||l.$apply())}function a(e,t,n,i){t=t>=-1?t:0,(Et(t)?v.resolve:v.reject)({data:e,status:t,headers:xt(n),config:r,statusText:i})}function c(e){a(e.data,e.status,U(e.headers()),e.statusText)}function f(){var e=d.pendingRequests.indexOf(r);-1!==e&&d.pendingRequests.splice(e,1)}var p,$,v=h.defer(),m=v.promise,S=r.headers,E=g(r.url,r.paramSerializer(r.params));if(d.pendingRequests.push(r),m.then(f,f),!r.cache&&!e.cache||r.cache===!1||"GET"!==r.method&&"JSONP"!==r.method||(p=w(r.cache)?r.cache:w(e.cache)?e.cache:x),p&&($=p.get(E),b($)?P($)?$.then(c,c):Ir($)?a($[1],$[0],U($[2]),$[3]):a($,200,{},"OK"):p.put(E,m)),y($)){var C=Cn(r.url)?u()[r.xsrfCookieName||e.xsrfCookieName]:n;C&&(S[r.xsrfHeaderName||e.xsrfHeaderName]=C),s(r.method,E,i,o,S,r.timeout,r.withCredentials,r.responseType)}return m}function g(e,t){return t.length>0&&(e+=(-1==e.indexOf("?")?"?":"&")+t),e}var x=c("$http");e.paramSerializer=S(e.paramSerializer)?p.get(e.paramSerializer):e.paramSerializer;var E=[];return o(a,function(e){E.unshift(S(e)?p.get(e):p.invoke(e))}),d.pendingRequests=[],$("get","delete","head","jsonp"),v("post","put","patch"),d.defaults=e,d}]}function kt(){return new e.XMLHttpRequest}function At(){this.$get=["$browser","$window","$document",function(e,t,n){return Ot(e,kt,e.defer,t.angular.callbacks,n[0])}]}function Ot(e,t,n,r,i){function a(e,t,n){var o=i.createElement("script"),a=null;return o.type="text/javascript",o.src=e,o.async=!0,a=function(e){ti(o,"load",a),ti(o,"error",a),i.body.removeChild(o),o=null;var s=-1,u="unknown";e&&("load"!==e.type||r[t].called||(e={type:"error"}),u=e.type,s="error"===e.type?404:200),n&&n(s,u)},ei(o,"load",a),ei(o,"error",a),i.body.appendChild(o),a}return function(i,s,u,c,l,f,h,p){function d(){g&&g(),w&&w.abort()}function v(t,r,i,o,a){b(E)&&n.cancel(E),g=w=null,t(r,i,o,a),e.$$completeOutstandingRequest($)}if(e.$$incOutstandingRequestCount(),s=s||e.url(),"jsonp"==gr(i)){var m="_"+(r.counter++).toString(36);r[m]=function(e){r[m].data=e,r[m].called=!0};var g=a(s.replace("JSON_CALLBACK","angular.callbacks."+m),m,function(e,t){v(c,e,r[m].data,"",t),r[m]=$})}else{var w=t();w.open(i,s,!0),o(l,function(e,t){b(e)&&w.setRequestHeader(t,e)}),w.onload=function(){var e=w.statusText||"",t="response"in w?w.response:w.responseText,n=1223===w.status?204:w.status;0===n&&(n=t?200:"file"==En(s).protocol?404:0),v(c,n,t,w.getAllResponseHeaders(),e)};var x=function(){v(c,-1,null,null,"")};if(w.onerror=x,w.onabort=x,h&&(w.withCredentials=!0),p)try{w.responseType=p}catch(S){if("json"!==p)throw S}w.send(y(u)?null:u)}if(f>0)var E=n(d,f);else P(f)&&f.then(d)}}function Mt(){var e="{{",t="}}";this.startSymbol=function(t){return t?(e=t,this):e},this.endSymbol=function(e){return e?(t=e,this):t},this.$get=["$parse","$exceptionHandler","$sce",function(n,r,i){function o(e){return"\\\\\\"+e}function a(n){return n.replace(h,e).replace(p,t)}function s(e){if(null==e)return"";switch(typeof e){case"string":break;case"number":e=""+e;break;default:e=G(e)}return e}function u(o,u,h,p){function d(e){try{return e=O(e),p&&!b(e)?e:s(e)}catch(t){r(Fi.interr(o,t))}}p=!!p;for(var $,v,m,g=0,w=[],x=[],S=o.length,E=[],C=[];S>g;){if(-1==($=o.indexOf(e,g))||-1==(v=o.indexOf(t,$+c))){g!==S&&E.push(a(o.substring(g)));break}g!==$&&E.push(a(o.substring(g,$))),m=o.substring($+c,v),w.push(m),x.push(n(m,d)),g=v+l,C.push(E.length),E.push("")}if(h&&E.length>1&&Fi.throwNoconcat(o),!u||w.length){var A=function(e){for(var t=0,n=w.length;n>t;t++){if(p&&y(e[t]))return;E[C[t]]=e[t]}return E.join("")},O=function(e){return h?i.getTrusted(h,e):i.valueOf(e)};return f(function(e){var t=0,n=w.length,i=new Array(n);try{for(;n>t;t++)i[t]=x[t](e);return A(i)}catch(a){r(Fi.interr(o,a))}},{exp:o,expressions:w,$$watchDelegate:function(e,t){var n;return e.$watchGroup(x,function(r,i){var o=A(r);k(t)&&t.call(this,o,r!==i?n:o,e),n=o})}})}}var c=e.length,l=t.length,h=new RegExp(e.replace(/./g,o),"g"),p=new RegExp(t.replace(/./g,o),"g");return u.startSymbol=function(){return e},u.endSymbol=function(){return t},u}]}function Tt(){this.$get=["$rootScope","$window","$q","$$q",function(e,t,n,r){function i(i,a,s,u){var c=arguments.length>4,l=c?L(arguments,4):[],f=t.setInterval,h=t.clearInterval,p=0,d=b(u)&&!u,$=(d?r:n).defer(),v=$.promise;return s=b(s)?s:0,v.then(null,null,c?function(){i.apply(null,l)}:i),v.$$intervalId=f(function(){$.notify(p++),s>0&&p>=s&&($.resolve(p),h(v.$$intervalId),delete o[v.$$intervalId]),d||e.$apply()},a),o[v.$$intervalId]=$,v}var o={};return i.cancel=function(e){return e&&e.$$intervalId in o?(o[e.$$intervalId].reject("canceled"),t.clearInterval(e.$$intervalId),delete o[e.$$intervalId],!0):!1},i}]}function Nt(e){for(var t=e.split("/"),n=t.length;n--;)t[n]=ne(t[n]);return t.join("/")}function Vt(e,t){var n=En(e);t.$$protocol=n.protocol,t.$$host=n.hostname,t.$$port=p(n.port)||Bi[n.protocol]||null}function jt(e,t){var n="/"!==e.charAt(0);n&&(e="/"+e);var r=En(e);t.$$path=decodeURIComponent(n&&"/"===r.pathname.charAt(0)?r.pathname.substring(1):r.pathname),t.$$search=ee(r.search),t.$$hash=decodeURIComponent(r.hash),t.$$path&&"/"!=t.$$path.charAt(0)&&(t.$$path="/"+t.$$path)}function Pt(e,t){return 0===t.indexOf(e)?t.substr(e.length):void 0}function Dt(e){var t=e.indexOf("#");return-1==t?e:e.substr(0,t)}function It(e){return e.replace(/(#.+)|#$/,"$1")}function Rt(e){return e.substr(0,Dt(e).lastIndexOf("/")+1)}function _t(e){return e.substring(0,e.indexOf("/",e.indexOf("//")+2))}function qt(e,t,n){this.$$html5=!0,n=n||"",Vt(e,this),this.$$parse=function(e){var n=Pt(t,e);if(!S(n))throw Hi("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',e,t);jt(n,this),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var e=te(this.$$search),n=this.$$hash?"#"+ne(this.$$hash):"";this.$$url=Nt(this.$$path)+(e?"?"+e:"")+n,this.$$absUrl=t+this.$$url.substr(1)},this.$$parseLinkUrl=function(r,i){if(i&&"#"===i[0])return this.hash(i.slice(1)),!0;var o,a,s;return b(o=Pt(e,r))?(a=o,s=b(o=Pt(n,o))?t+(Pt("/",o)||o):e+a):b(o=Pt(t,r))?s=t+o:t==r+"/"&&(s=t),s&&this.$$parse(s),!!s}}function Ft(e,t,n){Vt(e,this),this.$$parse=function(r){function i(e,t,n){var r,i=/^\/[A-Z]:(\/.*)/;return 0===t.indexOf(n)&&(t=t.replace(n,"")),i.exec(t)?e:(r=i.exec(e),r?r[1]:e)}var o,a=Pt(e,r)||Pt(t,r);y(a)||"#"!==a.charAt(0)?this.$$html5?o=a:(o="",y(a)&&(e=r,this.replace())):(o=Pt(n,a),y(o)&&(o=a)),jt(o,this),this.$$path=i(this.$$path,o,e),this.$$compose()},this.$$compose=function(){var t=te(this.$$search),r=this.$$hash?"#"+ne(this.$$hash):"";this.$$url=Nt(this.$$path)+(t?"?"+t:"")+r,this.$$absUrl=e+(this.$$url?n+this.$$url:"")},this.$$parseLinkUrl=function(t,n){return Dt(e)==Dt(t)?(this.$$parse(t),!0):!1}}function Ut(e,t,n){this.$$html5=!0,Ft.apply(this,arguments),this.$$parseLinkUrl=function(r,i){if(i&&"#"===i[0])return this.hash(i.slice(1)),!0;var o,a;return e==Dt(r)?o=r:(a=Pt(t,r))?o=e+n+a:t===r+"/"&&(o=t),o&&this.$$parse(o),!!o},this.$$compose=function(){var t=te(this.$$search),r=this.$$hash?"#"+ne(this.$$hash):"";this.$$url=Nt(this.$$path)+(t?"?"+t:"")+r,this.$$absUrl=e+n+this.$$url}}function Bt(e){return function(){return this[e]}}function Ht(e,t){return function(n){return y(n)?this[e]:(this[e]=t(n),this.$$compose(),this)}}function Lt(){var e="",t={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(t){return b(t)?(e=t,this):e},this.html5Mode=function(e){return j(e)?(t.enabled=e,this):w(e)?(j(e.enabled)&&(t.enabled=e.enabled),j(e.requireBase)&&(t.requireBase=e.requireBase),j(e.rewriteLinks)&&(t.rewriteLinks=e.rewriteLinks),this):t},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(n,r,i,o,a){function s(e,t,n){var i=c.url(),o=c.$$state;try{r.url(e,t,n),c.$$state=r.state()}catch(a){throw c.url(i),c.$$state=o,a}}function u(e,t){n.$broadcast("$locationChangeSuccess",c.absUrl(),e,c.$$state,t)}var c,l,f,h=r.baseHref(),p=r.url();if(t.enabled){if(!h&&t.requireBase)throw Hi("nobase","$location in HTML5 mode requires a tag to be present!");f=_t(p)+(h||"/"),l=i.history?qt:Ut}else f=Dt(p),l=Ft;var d=Rt(f);c=new l(f,d,"#"+e),c.$$parseLinkUrl(p,p),c.$$state=r.state();var $=/^\s*(javascript|mailto):/i;o.on("click",function(e){if(t.rewriteLinks&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&2!=e.which&&2!=e.button){for(var i=Er(e.target);"a"!==_(i[0]);)if(i[0]===o[0]||!(i=i.parent())[0])return;var s=i.prop("href"),u=i.attr("href")||i.attr("xlink:href");w(s)&&"[object SVGAnimatedString]"===s.toString()&&(s=En(s.animVal).href),$.test(s)||!s||i.attr("target")||e.isDefaultPrevented()||c.$$parseLinkUrl(s,u)&&(e.preventDefault(),c.absUrl()!=r.url()&&(n.$apply(),a.angular["ff-684208-preventDefault"]=!0))}}),It(c.absUrl())!=It(p)&&r.url(c.absUrl(),!0);var v=!0;return r.onUrlChange(function(e,t){return y(Pt(d,e))?void(a.location.href=e):(n.$evalAsync(function(){var r,i=c.absUrl(),o=c.$$state;c.$$parse(e),c.$$state=t,r=n.$broadcast("$locationChangeStart",e,i,t,o).defaultPrevented,c.absUrl()===e&&(r?(c.$$parse(i),c.$$state=o,s(i,!1,o)):(v=!1,u(i,o)))}),void(n.$$phase||n.$digest()))}),n.$watch(function(){var e=It(r.url()),t=It(c.absUrl()),o=r.state(),a=c.$$replace,l=e!==t||c.$$html5&&i.history&&o!==c.$$state;(v||l)&&(v=!1,n.$evalAsync(function(){var t=c.absUrl(),r=n.$broadcast("$locationChangeStart",t,e,c.$$state,o).defaultPrevented;c.absUrl()===t&&(r?(c.$$parse(e),c.$$state=o):(l&&s(t,a,o===c.$$state?null:c.$$state),u(e,o)))})),c.$$replace=!1}),c}]}function zt(){var e=!0,t=this;this.debugEnabled=function(t){return b(t)?(e=t,this):e},this.$get=["$window",function(n){function r(e){return e instanceof Error&&(e.stack?e=e.message&&-1===e.stack.indexOf(e.message)?"Error: "+e.message+"\n"+e.stack:e.stack:e.sourceURL&&(e=e.message+"\n"+e.sourceURL+":"+e.line)),e}function i(e){var t=n.console||{},i=t[e]||t.log||$,a=!1;try{a=!!i.apply}catch(s){}return a?function(){var e=[];return o(arguments,function(t){e.push(r(t))}),i.apply(t,e)}:function(e,t){i(e,null==t?"":t)}}return{log:i("log"),info:i("info"),warn:i("warn"),error:i("error"),debug:function(){var n=i("debug");return function(){e&&n.apply(t,arguments)}}()}}]}function Wt(e,t){if(e=w(e)&&e.toString?e.toString():e,"__defineGetter__"===e||"__defineSetter__"===e||"__lookupGetter__"===e||"__lookupSetter__"===e||"__proto__"===e)throw zi("isecfld","Attempting to access a disallowed field in Angular expressions! Expression: {0}",t);return e}function Gt(e,t){if(e){if(e.constructor===e)throw zi("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",t);if(e.window===e)throw zi("isecwindow","Referencing the Window in Angular expressions is disallowed! Expression: {0}",t);if(e.children&&(e.nodeName||e.prop&&e.attr&&e.find))throw zi("isecdom","Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}",t);if(e===Object)throw zi("isecobj","Referencing Object in Angular expressions is disallowed! Expression: {0}",t)}return e}function Yt(e,t){if(e){if(e.constructor===e)throw zi("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",t);if(e===Wi||e===Gi||e===Yi)throw zi("isecff","Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}",t)}}function Jt(e,t){return"undefined"!=typeof e?e:t}function Kt(e,t){return"undefined"==typeof e?t:"undefined"==typeof t?e:e+t}function Zt(e,t){var n=e(t);return!n.$stateful}function Xt(e,t){var n,r;switch(e.type){case Xi.Program:n=!0,o(e.body,function(e){Xt(e.expression,t),n=n&&e.expression.constant}),e.constant=n;break;case Xi.Literal:e.constant=!0,e.toWatch=[];break;case Xi.UnaryExpression:Xt(e.argument,t),e.constant=e.argument.constant,e.toWatch=e.argument.toWatch;break;case Xi.BinaryExpression:Xt(e.left,t),Xt(e.right,t),e.constant=e.left.constant&&e.right.constant,e.toWatch=e.left.toWatch.concat(e.right.toWatch);break;case Xi.LogicalExpression:Xt(e.left,t),Xt(e.right,t),e.constant=e.left.constant&&e.right.constant,e.toWatch=e.constant?[]:[e];break;case Xi.ConditionalExpression:Xt(e.test,t),Xt(e.alternate,t),Xt(e.consequent,t),e.constant=e.test.constant&&e.alternate.constant&&e.consequent.constant,e.toWatch=e.constant?[]:[e];break;case Xi.Identifier:e.constant=!1,e.toWatch=[e];break;case Xi.MemberExpression:Xt(e.object,t),e.computed&&Xt(e.property,t),e.constant=e.object.constant&&(!e.computed||e.property.constant),e.toWatch=[e];break;case Xi.CallExpression:n=e.filter?Zt(t,e.callee.name):!1,r=[],o(e.arguments,function(e){Xt(e,t),n=n&&e.constant,e.constant||r.push.apply(r,e.toWatch)}),e.constant=n,e.toWatch=e.filter&&Zt(t,e.callee.name)?r:[e];break;case Xi.AssignmentExpression:Xt(e.left,t),Xt(e.right,t),e.constant=e.left.constant&&e.right.constant,e.toWatch=[e];break;case Xi.ArrayExpression:n=!0,r=[],o(e.elements,function(e){Xt(e,t),n=n&&e.constant,e.constant||r.push.apply(r,e.toWatch)}),e.constant=n,e.toWatch=r;break;case Xi.ObjectExpression:n=!0,r=[],o(e.properties,function(e){Xt(e.value,t),n=n&&e.value.constant,e.value.constant||r.push.apply(r,e.value.toWatch)}),e.constant=n,e.toWatch=r;break;case Xi.ThisExpression:e.constant=!1,e.toWatch=[]}}function Qt(e){if(1==e.length){var t=e[0].expression,r=t.toWatch;return 1!==r.length?r:r[0]!==t?r:n}}function en(e){return e.type===Xi.Identifier||e.type===Xi.MemberExpression}function tn(e){return 1===e.body.length&&en(e.body[0].expression)?{type:Xi.AssignmentExpression,left:e.body[0].expression,right:{type:Xi.NGValueParameter},operator:"="}:void 0}function nn(e){return 0===e.body.length||1===e.body.length&&(e.body[0].expression.type===Xi.Literal||e.body[0].expression.type===Xi.ArrayExpression||e.body[0].expression.type===Xi.ObjectExpression)}function rn(e){return e.constant}function on(e,t){this.astBuilder=e,this.$filter=t}function an(e,t){this.astBuilder=e,this.$filter=t}function sn(e){return"constructor"==e}function un(e){return k(e.valueOf)?e.valueOf():eo.call(e)}function cn(){var e=ve(),t=ve();this.$get=["$filter",function(r){function i(e,t){return null==e||null==t?e===t:"object"==typeof e&&(e=un(e),"object"==typeof e)?!1:e===t||e!==e&&t!==t}function a(e,t,r,o,a){var s,u=o.inputs;if(1===u.length){var c=i;return u=u[0],e.$watch(function(e){var t=u(e);return i(t,c)||(s=o(e,n,n,[t]),c=t&&un(t)),s},t,r,a)}for(var l=[],f=[],h=0,p=u.length;p>h;h++)l[h]=i,f[h]=null;return e.$watch(function(e){for(var t=!1,r=0,a=u.length;a>r;r++){var c=u[r](e);(t||(t=!i(c,l[r])))&&(f[r]=c,l[r]=c&&un(c))}return t&&(s=o(e,n,n,f)),s},t,r,a)}function s(e,t,n,r){var i,o;return i=e.$watch(function(e){return r(e)},function(e,n,r){o=e,k(t)&&t.apply(this,arguments),b(e)&&r.$$postDigest(function(){b(o)&&i()})},n)}function u(e,t,n,r){function i(e){var t=!0;return o(e,function(e){b(e)||(t=!1)}),t}var a,s;return a=e.$watch(function(e){return r(e)},function(e,n,r){s=e,k(t)&&t.call(this,e,n,r),i(e)&&r.$$postDigest(function(){i(s)&&a()})},n)}function c(e,t,n,r){var i;return i=e.$watch(function(e){return r(e)},function(e,n,r){k(t)&&t.apply(this,arguments),i()},n)}function l(e,t){if(!t)return e;var n=e.$$watchDelegate,r=n!==u&&n!==s,i=r?function(n,r,i,o){var a=e(n,r,i,o);return t(a,n,r)}:function(n,r,i,o){var a=e(n,r,i,o),s=t(a,n,r);return b(a)?s:a};return e.$$watchDelegate&&e.$$watchDelegate!==a?i.$$watchDelegate=e.$$watchDelegate:t.$stateful||(i.$$watchDelegate=a,i.inputs=e.inputs?e.inputs:[e]),i}var f=Fr().noUnsafeEval,h={csp:f,expensiveChecks:!1},p={csp:f,expensiveChecks:!0};return function(n,i,o){var f,d,v;switch(typeof n){case"string":n=n.trim(),v=n;var m=o?t:e;if(f=m[v],!f){":"===n.charAt(0)&&":"===n.charAt(1)&&(d=!0,n=n.substring(2));var g=o?p:h,y=new Zi(g),b=new Qi(y,r,g);f=b.parse(n),f.constant?f.$$watchDelegate=c:d?f.$$watchDelegate=f.literal?u:s:f.inputs&&(f.$$watchDelegate=a),m[v]=f}return l(f,i);case"function":return l(n,i);default:return $}}}]}function ln(){this.$get=["$rootScope","$exceptionHandler",function(e,t){return hn(function(t){e.$evalAsync(t)},t)}]}function fn(){this.$get=["$browser","$exceptionHandler",function(e,t){return hn(function(t){e.defer(t)},t)}]}function hn(e,t){function i(e,t,n){function r(t){return function(n){i||(i=!0,t.call(e,n))}}var i=!1;return[r(t),r(n)]}function a(){this.$$state={status:0}}function s(e,t){return function(n){t.call(e,n)}}function u(e){var r,i,o;o=e.pending,e.processScheduled=!1,e.pending=n;for(var a=0,s=o.length;s>a;++a){i=o[a][0],r=o[a][e.status];try{k(r)?i.resolve(r(e.value)):1===e.status?i.resolve(e.value):i.reject(e.value)}catch(u){i.reject(u),t(u)}}}function c(t){!t.processScheduled&&t.pending&&(t.processScheduled=!0,e(function(){u(t)}))}function l(){this.promise=new a,this.resolve=s(this,this.resolve),this.reject=s(this,this.reject),this.notify=s(this,this.notify)}function h(e){var t=new l,n=0,r=Ir(e)?[]:{};return o(e,function(e,i){n++,g(e).then(function(e){r.hasOwnProperty(i)||(r[i]=e,--n||t.resolve(r))},function(e){r.hasOwnProperty(i)||t.reject(e)})}),0===n&&t.resolve(r),t.promise}var p=r("$q",TypeError),d=function(){return new l};f(a.prototype,{then:function(e,t,n){if(y(e)&&y(t)&&y(n))return this;var r=new l;return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([r,e,t,n]),this.$$state.status>0&&c(this.$$state),r.promise},"catch":function(e){return this.then(null,e)},"finally":function(e,t){return this.then(function(t){return m(t,!0,e)},function(t){return m(t,!1,e)},t)}}),f(l.prototype,{resolve:function(e){this.promise.$$state.status||(e===this.promise?this.$$reject(p("qcycle","Expected promise to be resolved with value other than itself '{0}'",e)):this.$$resolve(e))},$$resolve:function(e){var n,r;r=i(this,this.$$resolve,this.$$reject);try{(w(e)||k(e))&&(n=e&&e.then),k(n)?(this.promise.$$state.status=-1,n.call(e,r[0],r[1],this.notify)):(this.promise.$$state.value=e,this.promise.$$state.status=1,c(this.promise.$$state))}catch(o){r[1](o),t(o)}},reject:function(e){this.promise.$$state.status||this.$$reject(e)},$$reject:function(e){this.promise.$$state.value=e,this.promise.$$state.status=2,c(this.promise.$$state)},notify:function(n){var r=this.promise.$$state.pending;this.promise.$$state.status<=0&&r&&r.length&&e(function(){for(var e,i,o=0,a=r.length;a>o;o++){i=r[o][0],e=r[o][3];try{i.notify(k(e)?e(n):n)}catch(s){t(s)}}})}});var $=function(e){var t=new l;return t.reject(e),t.promise},v=function(e,t){var n=new l;return t?n.resolve(e):n.reject(e),n.promise},m=function(e,t,n){var r=null;try{k(n)&&(r=n())}catch(i){return v(i,!1)}return P(r)?r.then(function(){return v(e,t)},function(e){return v(e,!1)}):v(e,t)},g=function(e,t,n,r){var i=new l;return i.resolve(e),i.promise.then(t,n,r)},b=g,x=function S(e){function t(e){r.resolve(e)}function n(e){r.reject(e)}if(!k(e))throw p("norslvr","Expected resolverFn, got '{0}'",e);if(!(this instanceof S))return new S(e); +var r=new l;return e(t,n),r.promise};return x.defer=d,x.reject=$,x.when=g,x.resolve=b,x.all=h,x}function pn(){this.$get=["$window","$timeout",function(e,t){var n=e.requestAnimationFrame||e.webkitRequestAnimationFrame,r=e.cancelAnimationFrame||e.webkitCancelAnimationFrame||e.webkitCancelRequestAnimationFrame,i=!!n,o=i?function(e){var t=n(e);return function(){r(t)}}:function(e){var n=t(e,16.66,!1);return function(){t.cancel(n)}};return o.supported=i,o}]}function dn(){function e(e){function t(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$id=u(),this.$$ChildScope=null}return t.prototype=e,t}var t=10,n=r("$rootScope"),a=null,s=null;this.digestTtl=function(e){return arguments.length&&(t=e),t},this.$get=["$injector","$exceptionHandler","$parse","$browser",function(r,c,l,f){function h(e){e.currentScope.$$destroyed=!0}function p(){this.$id=u(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this.$root=this,this.$$destroyed=!1,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$$isolateBindings=null}function d(e){if(E.$$phase)throw n("inprog","{0} already in progress",E.$$phase);E.$$phase=e}function v(){E.$$phase=null}function m(e,t){do e.$$watchersCount+=t;while(e=e.$parent)}function g(e,t,n){do e.$$listenerCount[n]-=t,0===e.$$listenerCount[n]&&delete e.$$listenerCount[n];while(e=e.$parent)}function b(){}function x(){for(;O.length;)try{O.shift()()}catch(e){c(e)}s=null}function S(){null===s&&(s=f.defer(function(){E.$apply(x)}))}p.prototype={constructor:p,$new:function(t,n){var r;return n=n||this,t?(r=new p,r.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=e(this)),r=new this.$$ChildScope),r.$parent=n,r.$$prevSibling=n.$$childTail,n.$$childHead?(n.$$childTail.$$nextSibling=r,n.$$childTail=r):n.$$childHead=n.$$childTail=r,(t||n!=this)&&r.$on("$destroy",h),r},$watch:function(e,t,n,r){var i=l(e);if(i.$$watchDelegate)return i.$$watchDelegate(this,t,n,i,e);var o=this,s=o.$$watchers,u={fn:t,last:b,get:i,exp:r||e,eq:!!n};return a=null,k(t)||(u.fn=$),s||(s=o.$$watchers=[]),s.unshift(u),m(this,1),function(){q(s,u)>=0&&m(o,-1),a=null}},$watchGroup:function(e,t){function n(){u=!1,c?(c=!1,t(i,i,s)):t(i,r,s)}var r=new Array(e.length),i=new Array(e.length),a=[],s=this,u=!1,c=!0;if(!e.length){var l=!0;return s.$evalAsync(function(){l&&t(i,i,s)}),function(){l=!1}}return 1===e.length?this.$watch(e[0],function(e,n,o){i[0]=e,r[0]=n,t(i,e===n?i:r,o)}):(o(e,function(e,t){var o=s.$watch(e,function(e,o){i[t]=e,r[t]=o,u||(u=!0,s.$evalAsync(n))});a.push(o)}),function(){for(;a.length;)a.shift()()})},$watchCollection:function(e,t){function n(e){o=e;var t,n,r,s,u;if(!y(o)){if(w(o))if(i(o)){a!==p&&(a=p,v=a.length=0,f++),t=o.length,v!==t&&(f++,a.length=v=t);for(var c=0;t>c;c++)u=a[c],s=o[c],r=u!==u&&s!==s,r||u===s||(f++,a[c]=s)}else{a!==d&&(a=d={},v=0,f++),t=0;for(n in o)yr.call(o,n)&&(t++,s=o[n],u=a[n],n in a?(r=u!==u&&s!==s,r||u===s||(f++,a[n]=s)):(v++,a[n]=s,f++));if(v>t){f++;for(n in a)yr.call(o,n)||(v--,delete a[n])}}else a!==o&&(a=o,f++);return f}}function r(){if($?($=!1,t(o,o,u)):t(o,s,u),c)if(w(o))if(i(o)){s=new Array(o.length);for(var e=0;e1,f=0,h=l(e,n),p=[],d={},$=!0,v=0;return this.$watch(h,r)},$digest:function(){var e,r,i,o,u,l,h,p,$,m,g=t,y=this,w=[];d("$digest"),f.$$checkUrlChange(),this===E&&null!==s&&(f.defer.cancel(s),x()),a=null;do{for(l=!1,p=y;C.length;){try{m=C.shift(),m.scope.$eval(m.expression,m.locals)}catch(S){c(S)}a=null}e:do{if(o=p.$$watchers)for(u=o.length;u--;)try{if(e=o[u])if((r=e.get(p))===(i=e.last)||(e.eq?B(r,i):"number"==typeof r&&"number"==typeof i&&isNaN(r)&&isNaN(i))){if(e===a){l=!1;break e}}else l=!0,a=e,e.last=e.eq?F(r,null):r,e.fn(r,i===b?r:i,p),5>g&&($=4-g,w[$]||(w[$]=[]),w[$].push({msg:k(e.exp)?"fn: "+(e.exp.name||e.exp.toString()):e.exp,newVal:r,oldVal:i}))}catch(S){c(S)}if(!(h=p.$$watchersCount&&p.$$childHead||p!==y&&p.$$nextSibling))for(;p!==y&&!(h=p.$$nextSibling);)p=p.$parent}while(p=h);if((l||C.length)&&!g--)throw v(),n("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",t,w)}while(l||C.length);for(v();A.length;)try{A.shift()()}catch(S){c(S)}},$destroy:function(){if(!this.$$destroyed){var e=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,this===E&&f.$$applicationDestroyed(),m(this,-this.$$watchersCount);for(var t in this.$$listenerCount)g(this,this.$$listenerCount[t],t);e&&e.$$childHead==this&&(e.$$childHead=this.$$nextSibling),e&&e.$$childTail==this&&(e.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=$,this.$on=this.$watch=this.$watchGroup=function(){return $},this.$$listeners={},this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=this.$$watchers=null}},$eval:function(e,t){return l(e)(this,t)},$evalAsync:function(e,t){E.$$phase||C.length||f.defer(function(){C.length&&E.$digest()}),C.push({scope:this,expression:e,locals:t})},$$postDigest:function(e){A.push(e)},$apply:function(e){try{d("$apply");try{return this.$eval(e)}finally{v()}}catch(t){c(t)}finally{try{E.$digest()}catch(t){throw c(t),t}}},$applyAsync:function(e){function t(){n.$eval(e)}var n=this;e&&O.push(t),S()},$on:function(e,t){var n=this.$$listeners[e];n||(this.$$listeners[e]=n=[]),n.push(t);var r=this;do r.$$listenerCount[e]||(r.$$listenerCount[e]=0),r.$$listenerCount[e]++;while(r=r.$parent);var i=this;return function(){var r=n.indexOf(t);-1!==r&&(n[r]=null,g(i,1,e))}},$emit:function(e,t){var n,r,i,o=[],a=this,s=!1,u={name:e,targetScope:a,stopPropagation:function(){s=!0},preventDefault:function(){u.defaultPrevented=!0},defaultPrevented:!1},l=H([u],arguments,1);do{for(n=a.$$listeners[e]||o,u.currentScope=a,r=0,i=n.length;i>r;r++)if(n[r])try{n[r].apply(null,l)}catch(f){c(f)}else n.splice(r,1),r--,i--;if(s)return u.currentScope=null,u;a=a.$parent}while(a);return u.currentScope=null,u},$broadcast:function(e,t){var n=this,r=n,i=n,o={name:e,targetScope:n,preventDefault:function(){o.defaultPrevented=!0},defaultPrevented:!1};if(!n.$$listenerCount[e])return o;for(var a,s,u,l=H([o],arguments,1);r=i;){for(o.currentScope=r,a=r.$$listeners[e]||[],s=0,u=a.length;u>s;s++)if(a[s])try{a[s].apply(null,l)}catch(f){c(f)}else a.splice(s,1),s--,u--;if(!(i=r.$$listenerCount[e]&&r.$$childHead||r!==n&&r.$$nextSibling))for(;r!==n&&!(i=r.$$nextSibling);)r=r.$parent}return o.currentScope=null,o}};var E=new p,C=E.$$asyncQueue=[],A=E.$$postDigestQueue=[],O=E.$$applyAsyncQueue=[];return E}]}function $n(){var e=/^\s*(https?|ftp|mailto|tel|file):/,t=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(t){return b(t)?(e=t,this):e},this.imgSrcSanitizationWhitelist=function(e){return b(e)?(t=e,this):t},this.$get=function(){return function(n,r){var i,o=r?t:e;return i=En(n).href,""===i||i.match(o)?n:"unsafe:"+i}}}function vn(e){if("self"===e)return e;if(S(e)){if(e.indexOf("***")>-1)throw to("iwcard","Illegal sequence *** in string matcher. String: {0}",e);return e=qr(e).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+e+"$")}if(A(e))return new RegExp("^"+e.source+"$");throw to("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}function mn(e){var t=[];return b(e)&&o(e,function(e){t.push(vn(e))}),t}function gn(){this.SCE_CONTEXTS=no;var e=["self"],t=[];this.resourceUrlWhitelist=function(t){return arguments.length&&(e=mn(t)),e},this.resourceUrlBlacklist=function(e){return arguments.length&&(t=mn(e)),t},this.$get=["$injector",function(n){function r(e,t){return"self"===e?Cn(t):!!e.exec(t.href)}function i(n){var i,o,a=En(n.toString()),s=!1;for(i=0,o=e.length;o>i;i++)if(r(e[i],a)){s=!0;break}if(s)for(i=0,o=t.length;o>i;i++)if(r(t[i],a)){s=!1;break}return s}function o(e){var t=function(e){this.$$unwrapTrustedValue=function(){return e}};return e&&(t.prototype=new e),t.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},t.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},t}function a(e,t){var n=f.hasOwnProperty(e)?f[e]:null;if(!n)throw to("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",e,t);if(null===t||y(t)||""===t)return t;if("string"!=typeof t)throw to("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",e);return new n(t)}function s(e){return e instanceof l?e.$$unwrapTrustedValue():e}function u(e,t){if(null===t||y(t)||""===t)return t;var n=f.hasOwnProperty(e)?f[e]:null;if(n&&t instanceof n)return t.$$unwrapTrustedValue();if(e===no.RESOURCE_URL){if(i(t))return t;throw to("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}",t.toString())}if(e===no.HTML)return c(t);throw to("unsafe","Attempting to use an unsafe value in a safe context.")}var c=function(e){throw to("unsafe","Attempting to use an unsafe value in a safe context.")};n.has("$sanitize")&&(c=n.get("$sanitize"));var l=o(),f={};return f[no.HTML]=o(l),f[no.CSS]=o(l),f[no.URL]=o(l),f[no.JS]=o(l),f[no.RESOURCE_URL]=o(f[no.URL]),{trustAs:a,getTrusted:u,valueOf:s}}]}function yn(){var e=!0;this.enabled=function(t){return arguments.length&&(e=!!t),e},this.$get=["$parse","$sceDelegate",function(t,n){if(e&&8>Sr)throw to("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode. You can fix this by adding the text to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information.");var r=U(no);r.isEnabled=function(){return e},r.trustAs=n.trustAs,r.getTrusted=n.getTrusted,r.valueOf=n.valueOf,e||(r.trustAs=r.getTrusted=function(e,t){return t},r.valueOf=v),r.parseAs=function(e,n){var i=t(n);return i.literal&&i.constant?i:t(n,function(t){return r.getTrusted(e,t)})};var i=r.parseAs,a=r.getTrusted,s=r.trustAs;return o(no,function(e,t){var n=gr(t);r[xe("parse_as_"+n)]=function(t){return i(e,t)},r[xe("get_trusted_"+n)]=function(t){return a(e,t)},r[xe("trust_as_"+n)]=function(t){return s(e,t)}}),r}]}function bn(){this.$get=["$window","$document",function(e,t){var n,r,i={},o=p((/android (\d+)/.exec(gr((e.navigator||{}).userAgent))||[])[1]),a=/Boxee/i.test((e.navigator||{}).userAgent),s=t[0]||{},u=/^(Moz|webkit|ms)(?=[A-Z])/,c=s.body&&s.body.style,l=!1,f=!1;if(c){for(var h in c)if(r=u.exec(h)){n=r[0],n=n.substr(0,1).toUpperCase()+n.substr(1);break}n||(n="WebkitOpacity"in c&&"webkit"),l=!!("transition"in c||n+"Transition"in c),f=!!("animation"in c||n+"Animation"in c),!o||l&&f||(l=S(c.webkitTransition),f=S(c.webkitAnimation))}return{history:!(!e.history||!e.history.pushState||4>o||a),hasEvent:function(e){if("input"===e&&11>=Sr)return!1;if(y(i[e])){var t=s.createElement("div");i[e]="on"+e in t}return i[e]},csp:Fr(),vendorPrefix:n,transitions:l,animations:f,android:o}}]}function wn(){this.$get=["$templateCache","$http","$q","$sce",function(e,t,n,r){function i(o,a){function s(e){if(!a)throw Oi("tpload","Failed to load template: {0} (HTTP status: {1} {2})",o,e.status,e.statusText);return n.reject(e)}i.totalPendingRequests++,S(o)&&e.get(o)||(o=r.getTrustedResourceUrl(o));var u=t.defaults&&t.defaults.transformResponse;Ir(u)?u=u.filter(function(e){return e!==yt}):u===yt&&(u=null);var c={cache:e,transformResponse:u};return t.get(o,c)["finally"](function(){i.totalPendingRequests--}).then(function(t){return e.put(o,t.data),t.data},s)}return i.totalPendingRequests=0,i}]}function xn(){this.$get=["$rootScope","$browser","$location",function(e,t,n){var r={};return r.findBindings=function(e,t,n){var r=e.getElementsByClassName("ng-binding"),i=[];return o(r,function(e){var r=jr.element(e).data("$binding");r&&o(r,function(r){if(n){var o=new RegExp("(^|\\s)"+qr(t)+"(\\s|\\||$)");o.test(r)&&i.push(e)}else-1!=r.indexOf(t)&&i.push(e)})}),i},r.findModels=function(e,t,n){for(var r=["ng-","data-ng-","ng\\:"],i=0;i0&&(u=t(o.substring(0,s)),y(r[u])&&(r[u]=t(o.substring(s+1))));return r}}function On(){this.$get=An}function Mn(e){function t(r,i){if(w(r)){var a={};return o(r,function(e,n){a[n]=t(n,e)}),a}return e.factory(r+n,i)}var n="Filter";this.register=t,this.$get=["$injector",function(e){return function(t){return e.get(t+n)}}],t("currency",Pn),t("date",Gn),t("filter",Tn),t("json",Yn),t("limitTo",Jn),t("lowercase",co),t("number",Dn),t("orderBy",Kn),t("uppercase",lo)}function Tn(){return function(e,t,n){if(!i(e)){if(null==e)return e;throw r("filter")("notarray","Expected array but received: {0}",e)}var o,a,s=jn(t);switch(s){case"function":o=t;break;case"boolean":case"null":case"number":case"string":a=!0;case"object":o=Nn(t,n,a);break;default:return e}return Array.prototype.filter.call(e,o)}}function Nn(e,t,n){var r,i=w(e)&&"$"in e;return t===!0?t=B:k(t)||(t=function(e,t){return y(e)?!1:null===e||null===t?e===t:w(t)||w(e)&&!g(e)?!1:(e=gr(""+e),t=gr(""+t),-1!==e.indexOf(t))}),r=function(r){return i&&!w(r)?Vn(r,e.$,t,!1):Vn(r,e,t,n)}}function Vn(e,t,n,r,i){var o=jn(e),a=jn(t);if("string"===a&&"!"===t.charAt(0))return!Vn(e,t.substring(1),n,r);if(Ir(e))return e.some(function(e){return Vn(e,t,n,r)});switch(o){case"object":var s;if(r){for(s in e)if("$"!==s.charAt(0)&&Vn(e[s],t,n,!0))return!0;return i?!1:Vn(e,t,n,!1)}if("object"===a){for(s in t){var u=t[s];if(!k(u)&&!y(u)){var c="$"===s,l=c?e:e[s];if(!Vn(l,u,n,c,c))return!1}}return!0}return n(e,t);case"function":return!1;default:return n(e,t)}}function jn(e){return null===e?"null":typeof e}function Pn(e){var t=e.NUMBER_FORMATS;return function(e,n,r){return y(n)&&(n=t.CURRENCY_SYM),y(r)&&(r=t.PATTERNS[1].maxFrac),null==e?e:In(e,t.PATTERNS[1],t.GROUP_SEP,t.DECIMAL_SEP,r).replace(/\u00A4/g,n)}}function Dn(e){var t=e.NUMBER_FORMATS;return function(e,n){return null==e?e:In(e,t.PATTERNS[0],t.GROUP_SEP,t.DECIMAL_SEP,n)}}function In(e,t,n,r,i){if(w(e))return"";var o=0>e;e=Math.abs(e);var a=e===1/0;if(!a&&!isFinite(e))return"";var s=e+"",u="",c=!1,l=[];if(a&&(u="∞"),!a&&-1!==s.indexOf("e")){var f=s.match(/([\d\.]+)e(-?)(\d+)/);f&&"-"==f[2]&&f[3]>i+1?e=0:(u=s,c=!0)}if(a||c)i>0&&1>e&&(u=e.toFixed(i),e=parseFloat(u));else{var h=(s.split(oo)[1]||"").length;y(i)&&(i=Math.min(Math.max(t.minFrac,h),t.maxFrac)),e=+(Math.round(+(e.toString()+"e"+i)).toString()+"e"+-i);var p=(""+e).split(oo),d=p[0];p=p[1]||"";var $,v=0,m=t.lgSize,g=t.gSize;if(d.length>=m+g)for(v=d.length-m,$=0;v>$;$++)(v-$)%g===0&&0!==$&&(u+=n),u+=d.charAt($);for($=v;$e&&(r="-",e=-e),e=""+e;e.length0||o>-n)&&(o+=n),0===o&&-12==n&&(o=12),Rn(o,t,r)}}function qn(e,t){return function(n,r){var i=n["get"+e](),o=br(t?"SHORT"+e:e);return r[o][i]}}function Fn(e,t,n){var r=-1*n,i=r>=0?"+":"";return i+=Rn(Math[r>0?"floor":"ceil"](r/60),2)+Rn(Math.abs(r%60),2)}function Un(e){var t=new Date(e,0,1).getDay();return new Date(e,0,(4>=t?5:12)-t)}function Bn(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate()+(4-e.getDay()))}function Hn(e){return function(t){var n=Un(t.getFullYear()),r=Bn(t),i=+r-+n,o=1+Math.round(i/6048e5);return Rn(o,e)}}function Ln(e,t){return e.getHours()<12?t.AMPMS[0]:t.AMPMS[1]}function zn(e,t){return e.getFullYear()<=0?t.ERAS[0]:t.ERAS[1]}function Wn(e,t){return e.getFullYear()<=0?t.ERANAMES[0]:t.ERANAMES[1]}function Gn(e){function t(e){var t;if(t=e.match(n)){var r=new Date(0),i=0,o=0,a=t[8]?r.setUTCFullYear:r.setFullYear,s=t[8]?r.setUTCHours:r.setHours;t[9]&&(i=p(t[9]+t[10]),o=p(t[9]+t[11])),a.call(r,p(t[1]),p(t[2])-1,p(t[3]));var u=p(t[4]||0)-i,c=p(t[5]||0)-o,l=p(t[6]||0),f=Math.round(1e3*parseFloat("0."+(t[7]||0)));return s.call(r,u,c,l,f),r}return e}var n=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(n,r,i){var a,s,u="",c=[];if(r=r||"mediumDate",r=e.DATETIME_FORMATS[r]||r,S(n)&&(n=uo.test(n)?p(n):t(n)),E(n)&&(n=new Date(n)),!C(n)||!isFinite(n.getTime()))return n;for(;r;)s=so.exec(r),s?(c=H(c,s,1),r=c.pop()):(c.push(r),r=null);var l=n.getTimezoneOffset();return i&&(l=J(i,n.getTimezoneOffset()),n=Z(n,i,!0)),o(c,function(t){a=ao[t],u+=a?a(n,e.DATETIME_FORMATS,l):t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),u}}function Yn(){return function(e,t){return y(t)&&(t=2),G(e,t)}}function Jn(){return function(e,t,n){return t=Math.abs(Number(t))===1/0?Number(t):p(t),isNaN(t)?e:(E(e)&&(e=e.toString()),Ir(e)||S(e)?(n=!n||isNaN(n)?0:p(n),n=0>n&&n>=-e.length?e.length+n:n,t>=0?e.slice(n,n+t):0===n?e.slice(t,e.length):e.slice(Math.max(0,n+t),n)):e)}}function Kn(e){function t(t,n){return n=n?-1:1,t.map(function(t){var r=1,i=v;if(k(t))i=t;else if(S(t)&&("+"!=t.charAt(0)&&"-"!=t.charAt(0)||(r="-"==t.charAt(0)?-1:1,t=t.substring(1)),""!==t&&(i=e(t),i.constant))){var o=i();i=function(e){return e[o]}}return{get:i,descending:r*n}})}function n(e){switch(typeof e){case"number":case"boolean":case"string":return!0;default:return!1}}function r(e,t){return"function"==typeof e.valueOf&&(e=e.valueOf(),n(e))?e:g(e)&&(e=e.toString(),n(e))?e:t}function o(e,t){var n=typeof e;return null===e?(n="string",e="null"):"string"===n?e=e.toLowerCase():"object"===n&&(e=r(e,t)),{value:e,type:n}}function a(e,t){var n=0;return e.type===t.type?e.value!==t.value&&(n=e.valuer&&!(n=a(e.predicateValues[r],t.predicateValues[r])*c[r].descending);++r);return n}if(!i(e))return e;Ir(n)||(n=[n]),0===n.length&&(n=["+"]);var c=t(n,r);c.push({get:function(){return{}},descending:r?-1:1});var l=Array.prototype.map.call(e,s);return l.sort(u),e=l.map(function(e){return e.value})}}function Zn(e){return k(e)&&(e={link:e}),e.restrict=e.restrict||"AC",m(e)}function Xn(e,t){e.$name=t}function Qn(e,t,r,i,a){var s=this,u=[];s.$error={},s.$$success={},s.$pending=n,s.$name=a(t.name||t.ngForm||"")(r),s.$dirty=!1,s.$pristine=!0,s.$valid=!0,s.$invalid=!1,s.$submitted=!1,s.$$parentForm=po,s.$rollbackViewValue=function(){o(u,function(e){e.$rollbackViewValue()})},s.$commitViewValue=function(){o(u,function(e){e.$commitViewValue()})},s.$addControl=function(e){pe(e.$name,"input"),u.push(e),e.$name&&(s[e.$name]=e),e.$$parentForm=s},s.$$renameControl=function(e,t){var n=e.$name;s[n]===e&&delete s[n],s[t]=e,e.$name=t},s.$removeControl=function(e){e.$name&&s[e.$name]===e&&delete s[e.$name],o(s.$pending,function(t,n){s.$setValidity(n,null,e)}),o(s.$error,function(t,n){s.$setValidity(n,null,e)}),o(s.$$success,function(t,n){s.$setValidity(n,null,e)}),q(u,e),e.$$parentForm=po},dr({ctrl:this,$element:e,set:function(e,t,n){var r=e[t];if(r){var i=r.indexOf(n);-1===i&&r.push(n)}else e[t]=[n]},unset:function(e,t,n){var r=e[t];r&&(q(r,n),0===r.length&&delete e[t])},$animate:i}),s.$setDirty=function(){i.removeClass(e,Ko),i.addClass(e,Zo),s.$dirty=!0,s.$pristine=!1,s.$$parentForm.$setDirty()},s.$setPristine=function(){i.setClass(e,Ko,Zo+" "+$o),s.$dirty=!1,s.$pristine=!0,s.$submitted=!1,o(u,function(e){e.$setPristine()})},s.$setUntouched=function(){o(u,function(e){e.$setUntouched()})},s.$setSubmitted=function(){i.addClass(e,$o),s.$submitted=!0,s.$$parentForm.$setSubmitted()}}function er(e){e.$formatters.push(function(t){return e.$isEmpty(t)?t:t.toString()})}function tr(e,t,n,r,i,o){nr(e,t,n,r,i,o),er(r)}function nr(e,t,n,r,i,o){var a=gr(t[0].type);if(!i.android){var s=!1;t.on("compositionstart",function(e){s=!0}),t.on("compositionend",function(){s=!1,u()})}var u=function(e){if(c&&(o.defer.cancel(c),c=null),!s){var i=t.val(),u=e&&e.type;"password"===a||n.ngTrim&&"false"===n.ngTrim||(i=_r(i)),(r.$viewValue!==i||""===i&&r.$$hasNativeValidators)&&r.$setViewValue(i,u)}};if(i.hasEvent("input"))t.on("input",u);else{var c,l=function(e,t,n){c||(c=o.defer(function(){c=null,t&&t.value===n||u(e)}))};t.on("keydown",function(e){var t=e.keyCode;91===t||t>15&&19>t||t>=37&&40>=t||l(e,this,this.value)}),i.hasEvent("paste")&&t.on("paste cut",l)}t.on("change",u),r.$render=function(){var e=r.$isEmpty(r.$viewValue)?"":r.$viewValue;t.val()!==e&&t.val(e)}}function rr(e,t){if(C(e))return e;if(S(e)){Co.lastIndex=0;var n=Co.exec(e);if(n){var r=+n[1],i=+n[2],o=0,a=0,s=0,u=0,c=Un(r),l=7*(i-1);return t&&(o=t.getHours(),a=t.getMinutes(),s=t.getSeconds(),u=t.getMilliseconds()),new Date(r,0,c.getDate()+l,o,a,s,u)}}return NaN}function ir(e,t){return function(n,r){var i,a;if(C(n))return n;if(S(n)){if('"'==n.charAt(0)&&'"'==n.charAt(n.length-1)&&(n=n.substring(1,n.length-1)),yo.test(n))return new Date(n);if(e.lastIndex=0,i=e.exec(n))return i.shift(),a=r?{yyyy:r.getFullYear(),MM:r.getMonth()+1,dd:r.getDate(),HH:r.getHours(),mm:r.getMinutes(),ss:r.getSeconds(),sss:r.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},o(i,function(e,n){n=v},s.$observe("min",function(e){v=p(e),u.$validate()})}if(b(s.max)||s.ngMax){var m;u.$validators.max=function(e){return!h(e)||y(m)||r(e)<=m},s.$observe("max",function(e){m=p(e),u.$validate()})}}}function ar(e,t,r,i){var o=t[0],a=i.$$hasNativeValidators=w(o.validity);a&&i.$parsers.push(function(e){var r=t.prop(mr)||{};return r.badInput&&!r.typeMismatch?n:e})}function sr(e,t,r,i,o,a){if(ar(e,t,r,i),nr(e,t,r,i,o,a),i.$$parserName="number",i.$parsers.push(function(e){return i.$isEmpty(e)?null:xo.test(e)?parseFloat(e):n}),i.$formatters.push(function(e){if(!i.$isEmpty(e)){if(!E(e))throw ta("numfmt","Expected `{0}` to be a number",e);e=e.toString()}return e}),b(r.min)||r.ngMin){var s;i.$validators.min=function(e){return i.$isEmpty(e)||y(s)||e>=s},r.$observe("min",function(e){b(e)&&!E(e)&&(e=parseFloat(e,10)),s=E(e)&&!isNaN(e)?e:n,i.$validate()})}if(b(r.max)||r.ngMax){var u;i.$validators.max=function(e){return i.$isEmpty(e)||y(u)||u>=e},r.$observe("max",function(e){b(e)&&!E(e)&&(e=parseFloat(e,10)),u=E(e)&&!isNaN(e)?e:n,i.$validate()})}}function ur(e,t,n,r,i,o){nr(e,t,n,r,i,o),er(r),r.$$parserName="url",r.$validators.url=function(e,t){var n=e||t;return r.$isEmpty(n)||bo.test(n)}}function cr(e,t,n,r,i,o){nr(e,t,n,r,i,o),er(r),r.$$parserName="email",r.$validators.email=function(e,t){var n=e||t;return r.$isEmpty(n)||wo.test(n)}}function lr(e,t,n,r){y(n.name)&&t.attr("name",u());var i=function(e){t[0].checked&&r.$setViewValue(n.value,e&&e.type)};t.on("click",i),r.$render=function(){var e=n.value;t[0].checked=e==r.$viewValue},n.$observe("value",r.$render)}function fr(e,t,n,r,i){var o;if(b(r)){if(o=e(r),!o.constant)throw ta("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",n,r);return o(t)}return i}function hr(e,t,n,r,i,o,a,s){var u=fr(s,e,"ngTrueValue",n.ngTrueValue,!0),c=fr(s,e,"ngFalseValue",n.ngFalseValue,!1),l=function(e){r.$setViewValue(t[0].checked,e&&e.type)};t.on("click",l),r.$render=function(){t[0].checked=r.$viewValue},r.$isEmpty=function(e){return e===!1},r.$formatters.push(function(e){return B(e,u)}),r.$parsers.push(function(e){return e?u:c})}function pr(e,t){return e="ngClass"+e,["$animate",function(n){function r(e,t){var n=[];e:for(var r=0;r0||n[e])&&(n[e]=(n[e]||0)+t,n[e]===+(t>0)&&r.push(e))}),s.data("$classCounts",n),r.join(" ")}function h(e,t){var i=r(t,e),o=r(e,t);i=f(i,1),o=f(o,-1),i&&i.length&&n.addClass(s,i),o&&o.length&&n.removeClass(s,o)}function p(e){if(t===!0||a.$index%2===t){var n=i(e||[]);if(d){if(!B(e,d)){var r=i(d);h(r,n)}}else c(n)}d=U(e)}var d;a.$watch(u[e],p,!0),u.$observe("class",function(t){p(a.$eval(u[e]))}),"ngClass"!==e&&a.$watch("$index",function(n,r){var o=1&n;if(o!==(1&r)){var s=i(a.$eval(u[e]));o===t?c(s):l(s)}})}}}]}function dr(e){function t(e,t,u){y(t)?r("$pending",e,u):i("$pending",e,u),j(t)?t?(f(s.$error,e,u),l(s.$$success,e,u)):(l(s.$error,e,u),f(s.$$success,e,u)):(f(s.$error,e,u),f(s.$$success,e,u)),s.$pending?(o(ea,!0),s.$valid=s.$invalid=n,a("",null)):(o(ea,!1),s.$valid=$r(s.$error),s.$invalid=!s.$valid,a("",s.$valid));var c;c=s.$pending&&s.$pending[e]?n:s.$error[e]?!1:s.$$success[e]?!0:null,a(e,c),s.$$parentForm.$setValidity(e,c,s)}function r(e,t,n){s[e]||(s[e]={}),l(s[e],t,n)}function i(e,t,r){s[e]&&f(s[e],t,r),$r(s[e])&&(s[e]=n)}function o(e,t){t&&!c[e]?(h.addClass(u,e),c[e]=!0):!t&&c[e]&&(h.removeClass(u,e),c[e]=!1)}function a(e,t){e=e?"-"+ce(e,"-"):"",o(Yo+e,t===!0),o(Jo+e,t===!1)}var s=e.ctrl,u=e.$element,c={},l=e.set,f=e.unset,h=e.$animate;c[Jo]=!(c[Yo]=u.hasClass(Yo)),s.$setValidity=t}function $r(e){if(e)for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}var vr=/^\/(.+)\/([a-z]*)$/,mr="validity",gr=function(e){return S(e)?e.toLowerCase():e},yr=Object.prototype.hasOwnProperty,br=function(e){return S(e)?e.toUpperCase():e},wr=function(e){return S(e)?e.replace(/[A-Z]/g,function(e){return String.fromCharCode(32|e.charCodeAt(0))}):e},xr=function(e){return S(e)?e.replace(/[a-z]/g,function(e){return String.fromCharCode(-33&e.charCodeAt(0))}):e};"i"!=="I".toLowerCase()&&(gr=wr,br=xr);var Sr,Er,Cr,kr,Ar=[].slice,Or=[].splice,Mr=[].push,Tr=Object.prototype.toString,Nr=Object.getPrototypeOf,Vr=r("ng"),jr=e.angular||(e.angular={}),Pr=0;Sr=t.documentMode,$.$inject=[],v.$inject=[];var Dr,Ir=Array.isArray,Rr=/^\[object (Uint8(Clamped)?)|(Uint16)|(Uint32)|(Int8)|(Int16)|(Int32)|(Float(32)|(64))Array\]$/,_r=function(e){return S(e)?e.trim():e},qr=function(e){return e.replace(/([-()\[\]{}+?*.$\^|,:#n;++n)if(r=Br[n],e=t.querySelector("["+r.replace(":","\\:")+"jq]")){i=e.getAttribute(r+"jq");break}return Ur.name_=i},Br=["ng-","data-ng-","ng:","x-ng-"],Hr=/[A-Z]/g,Lr=!1,zr=1,Wr=2,Gr=3,Yr=8,Jr=9,Kr=11,Zr={full:"1.4.6",major:1,minor:4,dot:6,codeName:"multiplicative-elevation"};Oe.expando="ng339";var Xr=Oe.cache={},Qr=1,ei=function(e,t,n){e.addEventListener(t,n,!1)},ti=function(e,t,n){e.removeEventListener(t,n,!1)};Oe._data=function(e){return this.cache[e[this.expando]]||{}};var ni=/([\:\-\_]+(.))/g,ri=/^moz([A-Z])/,ii={mouseleave:"mouseout",mouseenter:"mouseover"},oi=r("jqLite"),ai=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,si=/<|&#?\w+;/,ui=/<([\w:]+)/,ci=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,li={option:[1,'"],thead:[1,"","
        "],col:[2,"","
        "],tr:[2,"","
        "],td:[3,"","
        "],_default:[0,"",""]};li.optgroup=li.option,li.tbody=li.tfoot=li.colgroup=li.caption=li.thead,li.th=li.td;var fi=Oe.prototype={ready:function(n){function r(){i||(i=!0,n())}var i=!1;"complete"===t.readyState?setTimeout(r):(this.on("DOMContentLoaded",r),Oe(e).on("load",r))},toString:function(){var e=[];return o(this,function(t){e.push(""+t)}),"["+e.join(", ")+"]"},eq:function(e){return Er(e>=0?this[e]:this[this.length+e])},length:0,push:Mr,sort:[].sort,splice:[].splice},hi={};o("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(e){hi[gr(e)]=e});var pi={};o("input,select,option,textarea,button,form,details".split(","),function(e){pi[e]=!0});var di={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};o({data:Pe,removeData:Ve,hasData:Ce},function(e,t){Oe[t]=e}),o({data:Pe,inheritedData:Fe,scope:function(e){return Er.data(e,"$scope")||Fe(e.parentNode||e,["$isolateScope","$scope"])},isolateScope:function(e){return Er.data(e,"$isolateScope")||Er.data(e,"$isolateScopeNoTemplate")},controller:qe,injector:function(e){return Fe(e,"$injector")},removeAttr:function(e,t){e.removeAttribute(t)},hasClass:De,css:function(e,t,n){return t=xe(t),b(n)?void(e.style[t]=n):e.style[t]},attr:function(e,t,r){var i=e.nodeType;if(i!==Gr&&i!==Wr&&i!==Yr){var o=gr(t);if(hi[o]){if(!b(r))return e[t]||(e.attributes.getNamedItem(t)||$).specified?o:n;r?(e[t]=!0,e.setAttribute(t,o)):(e[t]=!1,e.removeAttribute(o))}else if(b(r))e.setAttribute(t,r);else if(e.getAttribute){var a=e.getAttribute(t,2);return null===a?n:a}}},prop:function(e,t,n){return b(n)?void(e[t]=n):e[t]},text:function(){function e(e,t){if(y(t)){var n=e.nodeType;return n===zr||n===Gr?e.textContent:""}e.textContent=t}return e.$dv="",e}(),val:function(e,t){if(y(t)){if(e.multiple&&"select"===_(e)){var n=[];return o(e.options,function(e){e.selected&&n.push(e.value||e.text)}),0===n.length?null:n}return e.value}e.value=t},html:function(e,t){return y(t)?e.innerHTML:(Te(e,!0),void(e.innerHTML=t))},empty:Ue},function(e,t){Oe.prototype[t]=function(t,n){ +var r,i,o=this.length;if(e!==Ue&&y(2==e.length&&e!==De&&e!==qe?t:n)){if(w(t)){for(r=0;o>r;r++)if(e===Pe)e(this[r],t);else for(i in t)e(this[r],i,t[i]);return this}for(var a=e.$dv,s=y(a)?Math.min(o,1):o,u=0;s>u;u++){var c=e(this[u],t,n);a=a?a+c:c}return a}for(r=0;o>r;r++)e(this[r],t,n);return this}}),o({removeData:Ve,on:function Na(e,t,n,r){if(b(r))throw oi("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");if(Ee(e)){var i=je(e,!0),o=i.events,a=i.handle;a||(a=i.handle=We(e,o));for(var s=t.indexOf(" ")>=0?t.split(" "):[t],u=s.length;u--;){t=s[u];var c=o[t];c||(o[t]=[],"mouseenter"===t||"mouseleave"===t?Na(e,ii[t],function(e){var n=this,r=e.relatedTarget;r&&(r===n||n.contains(r))||a(e,t)}):"$destroy"!==t&&ei(e,t,a),c=o[t]),c.push(n)}}},off:Ne,one:function(e,t,n){e=Er(e),e.on(t,function r(){e.off(t,n),e.off(t,r)}),e.on(t,n)},replaceWith:function(e,t){var n,r=e.parentNode;Te(e),o(new Oe(t),function(t){n?r.insertBefore(t,n.nextSibling):r.replaceChild(t,e),n=t})},children:function(e){var t=[];return o(e.childNodes,function(e){e.nodeType===zr&&t.push(e)}),t},contents:function(e){return e.contentDocument||e.childNodes||[]},append:function(e,t){var n=e.nodeType;if(n===zr||n===Kr){t=new Oe(t);for(var r=0,i=t.length;i>r;r++){var o=t[r];e.appendChild(o)}}},prepend:function(e,t){if(e.nodeType===zr){var n=e.firstChild;o(new Oe(t),function(t){e.insertBefore(t,n)})}},wrap:function(e,t){t=Er(t).eq(0).clone()[0];var n=e.parentNode;n&&n.replaceChild(t,e),t.appendChild(e)},remove:Be,detach:function(e){Be(e,!0)},after:function(e,t){var n=e,r=e.parentNode;t=new Oe(t);for(var i=0,o=t.length;o>i;i++){var a=t[i];r.insertBefore(a,n.nextSibling),n=a}},addClass:Re,removeClass:Ie,toggleClass:function(e,t,n){t&&o(t.split(" "),function(t){var r=n;y(r)&&(r=!De(e,t)),(r?Re:Ie)(e,t)})},parent:function(e){var t=e.parentNode;return t&&t.nodeType!==Kr?t:null},next:function(e){return e.nextElementSibling},find:function(e,t){return e.getElementsByTagName?e.getElementsByTagName(t):[]},clone:Me,triggerHandler:function(e,t,n){var r,i,a,s=t.type||t,u=je(e),c=u&&u.events,l=c&&c[s];l&&(r={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return this.defaultPrevented===!0},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return this.immediatePropagationStopped===!0},stopPropagation:$,type:s,target:e},t.type&&(r=f(r,t)),i=U(l),a=n?[r].concat(n):[r],o(i,function(t){r.isImmediatePropagationStopped()||t.apply(e,a)}))}},function(e,t){Oe.prototype[t]=function(t,n,r){for(var i,o=0,a=this.length;a>o;o++)y(i)?(i=e(this[o],t,n,r),b(i)&&(i=Er(i))):_e(i,e(this[o],t,n,r));return b(i)?i:this},Oe.prototype.bind=Oe.prototype.on,Oe.prototype.unbind=Oe.prototype.off}),Je.prototype={put:function(e,t){this[Ye(e,this.nextUid)]=t},get:function(e){return this[Ye(e,this.nextUid)]},remove:function(e){var t=this[e=Ye(e,this.nextUid)];return delete this[e],t}};var $i=[function(){this.$get=[function(){return Je}]}],vi=/^[^\(]*\(\s*([^\)]*)\)/m,mi=/,/,gi=/^\s*(_?)(\S+?)\1\s*$/,yi=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,bi=r("$injector");Xe.$$annotate=Ze;var wi=r("$animate"),xi=1,Si="ng-animate",Ei=function(){this.$get=["$q","$$rAF",function(e,t){function n(){}return n.all=$,n.chain=$,n.prototype={end:$,cancel:$,resume:$,pause:$,complete:$,then:function(n,r){return e(function(e){t(function(){e()})}).then(n,r)}},n}]},Ci=function(){var e=new Je,t=[];this.$get=["$$AnimateRunner","$rootScope",function(n,r){function i(e,t,n){var r=!1;return t&&(t=S(t)?t.split(" "):Ir(t)?t:[],o(t,function(t){t&&(r=!0,e[t]=n)})),r}function a(){o(t,function(t){var n=e.get(t);if(n){var r=nt(t.attr("class")),i="",a="";o(n,function(e,t){var n=!!r[t];e!==n&&(e?i+=(i.length?" ":"")+t:a+=(a.length?" ":"")+t)}),o(t,function(e){i&&Re(e,i),a&&Ie(e,a)}),e.remove(t)}}),t.length=0}function s(n,o,s){var u=e.get(n)||{},c=i(u,o,!0),l=i(u,s,!1);(c||l)&&(e.put(n,u),t.push(n),1===t.length&&r.$$postDigest(a))}return{enabled:$,on:$,off:$,pin:$,push:function(e,t,r,i){return i&&i(),r=r||{},r.from&&e.css(r.from),r.to&&e.css(r.to),(r.addClass||r.removeClass)&&s(e,r.addClass,r.removeClass),new n}}}]},ki=["$provide",function(e){var t=this;this.$$registeredAnimations=Object.create(null),this.register=function(n,r){if(n&&"."!==n.charAt(0))throw wi("notcsel","Expecting class selector starting with '.' got '{0}'.",n);var i=n+"-animation";t.$$registeredAnimations[n.substr(1)]=i,e.factory(i,r)},this.classNameFilter=function(e){if(1===arguments.length&&(this.$$classNameFilter=e instanceof RegExp?e:null,this.$$classNameFilter)){var t=new RegExp("(\\s+|\\/)"+Si+"(\\s+|\\/)");if(t.test(this.$$classNameFilter.toString()))throw wi("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',Si)}return this.$$classNameFilter},this.$get=["$$animateQueue",function(e){function t(e,t,n){if(n){var r=tt(n);!r||r.parentNode||r.previousElementSibling||(n=null)}n?n.after(e):t.prepend(e)}return{on:e.on,off:e.off,pin:e.pin,enabled:e.enabled,cancel:function(e){e.end&&e.end()},enter:function(n,r,i,o){return r=r&&Er(r),i=i&&Er(i),r=r||i.parent(),t(n,r,i),e.push(n,"enter",rt(o))},move:function(n,r,i,o){return r=r&&Er(r),i=i&&Er(i),r=r||i.parent(),t(n,r,i),e.push(n,"move",rt(o))},leave:function(t,n){return e.push(t,"leave",rt(n),function(){t.remove()})},addClass:function(t,n,r){return r=rt(r),r.addClass=et(r.addclass,n),e.push(t,"addClass",r)},removeClass:function(t,n,r){return r=rt(r),r.removeClass=et(r.removeClass,n),e.push(t,"removeClass",r)},setClass:function(t,n,r,i){return i=rt(i),i.addClass=et(i.addClass,n),i.removeClass=et(i.removeClass,r),e.push(t,"setClass",i)},animate:function(t,n,r,i,o){return o=rt(o),o.from=o.from?f(o.from,n):n,o.to=o.to?f(o.to,r):r,i=i||"ng-inline-animate",o.tempClasses=et(o.tempClasses,i),e.push(t,"animate",o)}}}]}],Ai=function(){this.$get=["$$rAF","$q",function(e,t){var n=function(){};return n.prototype={done:function(e){this.defer&&this.defer[e===!0?"reject":"resolve"]()},end:function(){this.done()},cancel:function(){this.done(!0)},getPromise:function(){return this.defer||(this.defer=t.defer()),this.defer.promise},then:function(e,t){return this.getPromise().then(e,t)},"catch":function(e){return this.getPromise()["catch"](e)},"finally":function(e){return this.getPromise()["finally"](e)}},function(t,r){function i(){return e(function(){o(),a||s.done(),a=!0}),s}function o(){r.addClass&&(t.addClass(r.addClass),r.addClass=null),r.removeClass&&(t.removeClass(r.removeClass),r.removeClass=null),r.to&&(t.css(r.to),r.to=null)}r.from&&(t.css(r.from),r.from=null);var a,s=new n;return{start:i,end:i}}}]},Oi=r("$compile");ut.$inject=["$provide","$$sanitizeUriProvider"];var Mi=/^((?:x|data)[\:\-_])/i,Ti=r("$controller"),Ni=/^(\S+)(\s+as\s+(\w+))?$/,Vi=function(){this.$get=["$document",function(e){return function(t){return t?!t.nodeType&&t instanceof Er&&(t=t[0]):t=e[0].body,t.offsetWidth+1}}]},ji="application/json",Pi={"Content-Type":ji+";charset=utf-8"},Di=/^\[|^\{(?!\{)/,Ii={"[":/]$/,"{":/}$/},Ri=/^\)\]\}',?\n/,_i=r("$http"),qi=function(e){return function(){throw _i("legacy","The method `{0}` on the promise returned from `$http` has been disabled.",e)}},Fi=jr.$interpolateMinErr=r("$interpolate");Fi.throwNoconcat=function(e){throw Fi("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce",e)},Fi.interr=function(e,t){return Fi("interr","Can't interpolate: {0}\n{1}",e,t.toString())};var Ui=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,Bi={http:80,https:443,ftp:21},Hi=r("$location"),Li={$$html5:!1,$$replace:!1,absUrl:Bt("$$absUrl"),url:function(e){if(y(e))return this.$$url;var t=Ui.exec(e);return(t[1]||""===e)&&this.path(decodeURIComponent(t[1])),(t[2]||t[1]||""===e)&&this.search(t[3]||""),this.hash(t[5]||""),this},protocol:Bt("$$protocol"),host:Bt("$$host"),port:Bt("$$port"),path:Ht("$$path",function(e){return e=null!==e?e.toString():"","/"==e.charAt(0)?e:"/"+e}),search:function(e,t){switch(arguments.length){case 0:return this.$$search;case 1:if(S(e)||E(e))e=e.toString(),this.$$search=ee(e);else{if(!w(e))throw Hi("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");e=F(e,{}),o(e,function(t,n){null==t&&delete e[n]}),this.$$search=e}break;default:y(t)||null===t?delete this.$$search[e]:this.$$search[e]=t}return this.$$compose(),this},hash:Ht("$$hash",function(e){return null!==e?e.toString():""}),replace:function(){return this.$$replace=!0,this}};o([Ut,Ft,qt],function(e){e.prototype=Object.create(Li),e.prototype.state=function(t){if(!arguments.length)return this.$$state;if(e!==qt||!this.$$html5)throw Hi("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=y(t)?null:t,this}});var zi=r("$parse"),Wi=Function.prototype.call,Gi=Function.prototype.apply,Yi=Function.prototype.bind,Ji=ve();o("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(e){Ji[e]=!0});var Ki={n:"\n",f:"\f",r:"\r",t:" ",v:"\x0B","'":"'",'"':'"'},Zi=function(e){this.options=e};Zi.prototype={constructor:Zi,lex:function(e){for(this.text=e,this.index=0,this.tokens=[];this.index="0"&&"9">=e&&"string"==typeof e},isWhitespace:function(e){return" "===e||"\r"===e||" "===e||"\n"===e||"\x0B"===e||" "===e},isIdent:function(e){return e>="a"&&"z">=e||e>="A"&&"Z">=e||"_"===e||"$"===e},isExpOperator:function(e){return"-"===e||"+"===e||this.isNumber(e)},throwError:function(e,t,n){n=n||this.index;var r=b(t)?"s "+t+"-"+this.index+" ["+this.text.substring(t,n)+"]":" "+n;throw zi("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",e,r,this.text)},readNumber:function(){for(var e="",t=this.index;this.index0&&!this.peek("}",")",";","]")&&e.push(this.expressionStatement()),!this.expect(";"))return{type:Xi.Program,body:e}},expressionStatement:function(){return{type:Xi.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var e,t=this.expression();e=this.expect("|");)t=this.filter(t);return t},expression:function(){return this.assignment()},assignment:function(){var e=this.ternary();return this.expect("=")&&(e={type:Xi.AssignmentExpression,left:e,right:this.assignment(),operator:"="}),e},ternary:function(){var e,t,n=this.logicalOR();return this.expect("?")&&(e=this.expression(),this.consume(":"))?(t=this.expression(),{type:Xi.ConditionalExpression,test:n,alternate:e,consequent:t}):n},logicalOR:function(){for(var e=this.logicalAND();this.expect("||");)e={type:Xi.LogicalExpression,operator:"||",left:e,right:this.logicalAND()};return e},logicalAND:function(){for(var e=this.equality();this.expect("&&");)e={type:Xi.LogicalExpression,operator:"&&",left:e,right:this.equality()};return e},equality:function(){for(var e,t=this.relational();e=this.expect("==","!=","===","!==");)t={type:Xi.BinaryExpression,operator:e.text,left:t,right:this.relational()};return t},relational:function(){for(var e,t=this.additive();e=this.expect("<",">","<=",">=");)t={type:Xi.BinaryExpression,operator:e.text,left:t,right:this.additive()};return t},additive:function(){for(var e,t=this.multiplicative();e=this.expect("+","-");)t={type:Xi.BinaryExpression,operator:e.text,left:t,right:this.multiplicative()};return t},multiplicative:function(){for(var e,t=this.unary();e=this.expect("*","/","%");)t={type:Xi.BinaryExpression,operator:e.text,left:t,right:this.unary()};return t},unary:function(){var e;return(e=this.expect("+","-","!"))?{type:Xi.UnaryExpression,operator:e.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var e;this.expect("(")?(e=this.filterChain(),this.consume(")")):this.expect("[")?e=this.arrayDeclaration():this.expect("{")?e=this.object():this.constants.hasOwnProperty(this.peek().text)?e=F(this.constants[this.consume().text]):this.peek().identifier?e=this.identifier():this.peek().constant?e=this.constant():this.throwError("not a primary expression",this.peek());for(var t;t=this.expect("(","[",".");)"("===t.text?(e={type:Xi.CallExpression,callee:e,arguments:this.parseArguments()},this.consume(")")):"["===t.text?(e={type:Xi.MemberExpression,object:e,property:this.expression(),computed:!0},this.consume("]")):"."===t.text?e={type:Xi.MemberExpression,object:e,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return e},filter:function(e){for(var t=[e],n={type:Xi.CallExpression,callee:this.identifier(),arguments:t,filter:!0};this.expect(":");)t.push(this.expression());return n},parseArguments:function(){var e=[];if(")"!==this.peekToken().text)do e.push(this.expression());while(this.expect(","));return e},identifier:function(){var e=this.consume();return e.identifier||this.throwError("is not a valid identifier",e),{type:Xi.Identifier,name:e.text}},constant:function(){return{type:Xi.Literal,value:this.consume().value}},arrayDeclaration:function(){var e=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;e.push(this.expression())}while(this.expect(","));return this.consume("]"),{type:Xi.ArrayExpression,elements:e}},object:function(){var e,t=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;e={type:Xi.Property,kind:"init"},this.peek().constant?e.key=this.constant():this.peek().identifier?e.key=this.identifier():this.throwError("invalid key",this.peek()),this.consume(":"),e.value=this.expression(),t.push(e)}while(this.expect(","));return this.consume("}"),{type:Xi.ObjectExpression,properties:t}},throwError:function(e,t){throw zi("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",t.text,e,t.index+1,this.text,this.text.substring(t.index))},consume:function(e){if(0===this.tokens.length)throw zi("ueoe","Unexpected end of expression: {0}",this.text);var t=this.expect(e);return t||this.throwError("is unexpected, expecting ["+e+"]",this.peek()),t},peekToken:function(){if(0===this.tokens.length)throw zi("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(e,t,n,r){return this.peekAhead(0,e,t,n,r)},peekAhead:function(e,t,n,r,i){if(this.tokens.length>e){var o=this.tokens[e],a=o.text;if(a===t||a===n||a===r||a===i||!t&&!n&&!r&&!i)return o}return!1},expect:function(e,t,n,r){var i=this.peek(e,t,n,r);return i?(this.tokens.shift(),i):!1},constants:{"true":{type:Xi.Literal,value:!0},"false":{type:Xi.Literal,value:!1},"null":{type:Xi.Literal,value:null},undefined:{type:Xi.Literal,value:n},"this":{type:Xi.ThisExpression}}},on.prototype={compile:function(e,t){var r=this,i=this.astBuilder.ast(e);this.state={nextId:0,filters:{},expensiveChecks:t,fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]},Xt(i,r.$filter);var a,s="";if(this.stage="assign",a=tn(i)){this.state.computing="assign";var u=this.nextId();this.recurse(a,u),this.return_(u),s="fn.assign="+this.generateFunction("assign","s,v,l")}var c=Qt(i.body);r.stage="inputs",o(c,function(e,t){var n="fn"+t;r.state[n]={vars:[],body:[],own:{}},r.state.computing=n;var i=r.nextId();r.recurse(e,i),r.return_(i),r.state.inputs.push(n),e.watchId=t}),this.state.computing="fn",this.stage="main",this.recurse(i);var l='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+s+this.watchFns()+"return fn;",f=new Function("$filter","ensureSafeMemberName","ensureSafeObject","ensureSafeFunction","ifDefined","plus","text",l)(this.$filter,Wt,Gt,Yt,Jt,Kt,e);return this.state=this.stage=n,f.literal=nn(i),f.constant=rn(i),f},USE:"use",STRICT:"strict",watchFns:function(){var e=[],t=this.state.inputs,n=this;return o(t,function(t){e.push("var "+t+"="+n.generateFunction(t,"s"))}),t.length&&e.push("fn.inputs=["+t.join(",")+"];"),e.join("")},generateFunction:function(e,t){return"function("+t+"){"+this.varsPrefix(e)+this.body(e)+"};"},filterPrefix:function(){var e=[],t=this;return o(this.state.filters,function(n,r){e.push(n+"=$filter("+t.escape(r)+")")}),e.length?"var "+e.join(",")+";":""},varsPrefix:function(e){return this.state[e].vars.length?"var "+this.state[e].vars.join(",")+";":""},body:function(e){return this.state[e].body.join("")},recurse:function(e,t,r,i,a,s){var u,c,l,f,h=this;if(i=i||$,!s&&b(e.watchId))return t=t||this.nextId(),void this.if_("i",this.lazyAssign(t,this.computedMember("i",e.watchId)),this.lazyRecurse(e,t,r,i,a,!0));switch(e.type){case Xi.Program:o(e.body,function(t,r){h.recurse(t.expression,n,n,function(e){c=e}),r!==e.body.length-1?h.current().body.push(c,";"):h.return_(c)});break;case Xi.Literal:f=this.escape(e.value),this.assign(t,f),i(f);break;case Xi.UnaryExpression:this.recurse(e.argument,n,n,function(e){c=e}),f=e.operator+"("+this.ifDefined(c,0)+")",this.assign(t,f),i(f);break;case Xi.BinaryExpression:this.recurse(e.left,n,n,function(e){u=e}),this.recurse(e.right,n,n,function(e){c=e}),f="+"===e.operator?this.plus(u,c):"-"===e.operator?this.ifDefined(u,0)+e.operator+this.ifDefined(c,0):"("+u+")"+e.operator+"("+c+")",this.assign(t,f),i(f);break;case Xi.LogicalExpression:t=t||this.nextId(),h.recurse(e.left,t),h.if_("&&"===e.operator?t:h.not(t),h.lazyRecurse(e.right,t)),i(t);break;case Xi.ConditionalExpression:t=t||this.nextId(),h.recurse(e.test,t),h.if_(t,h.lazyRecurse(e.alternate,t),h.lazyRecurse(e.consequent,t)),i(t);break;case Xi.Identifier:t=t||this.nextId(),r&&(r.context="inputs"===h.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",e.name)+"?l:s"),r.computed=!1,r.name=e.name),Wt(e.name),h.if_("inputs"===h.stage||h.not(h.getHasOwnProperty("l",e.name)),function(){h.if_("inputs"===h.stage||"s",function(){a&&1!==a&&h.if_(h.not(h.nonComputedMember("s",e.name)),h.lazyAssign(h.nonComputedMember("s",e.name),"{}")),h.assign(t,h.nonComputedMember("s",e.name))})},t&&h.lazyAssign(t,h.nonComputedMember("l",e.name))),(h.state.expensiveChecks||sn(e.name))&&h.addEnsureSafeObject(t),i(t);break;case Xi.MemberExpression:u=r&&(r.context=this.nextId())||this.nextId(),t=t||this.nextId(),h.recurse(e.object,u,n,function(){h.if_(h.notNull(u),function(){e.computed?(c=h.nextId(),h.recurse(e.property,c),h.addEnsureSafeMemberName(c),a&&1!==a&&h.if_(h.not(h.computedMember(u,c)),h.lazyAssign(h.computedMember(u,c),"{}")),f=h.ensureSafeObject(h.computedMember(u,c)),h.assign(t,f),r&&(r.computed=!0,r.name=c)):(Wt(e.property.name),a&&1!==a&&h.if_(h.not(h.nonComputedMember(u,e.property.name)),h.lazyAssign(h.nonComputedMember(u,e.property.name),"{}")),f=h.nonComputedMember(u,e.property.name),(h.state.expensiveChecks||sn(e.property.name))&&(f=h.ensureSafeObject(f)),h.assign(t,f),r&&(r.computed=!1,r.name=e.property.name))},function(){h.assign(t,"undefined")}),i(t)},!!a);break;case Xi.CallExpression:t=t||this.nextId(),e.filter?(c=h.filter(e.callee.name),l=[],o(e.arguments,function(e){var t=h.nextId();h.recurse(e,t),l.push(t)}),f=c+"("+l.join(",")+")",h.assign(t,f),i(t)):(c=h.nextId(),u={},l=[],h.recurse(e.callee,c,u,function(){h.if_(h.notNull(c),function(){h.addEnsureSafeFunction(c),o(e.arguments,function(e){h.recurse(e,h.nextId(),n,function(e){l.push(h.ensureSafeObject(e))})}),u.name?(h.state.expensiveChecks||h.addEnsureSafeObject(u.context),f=h.member(u.context,u.name,u.computed)+"("+l.join(",")+")"):f=c+"("+l.join(",")+")",f=h.ensureSafeObject(f),h.assign(t,f)},function(){h.assign(t,"undefined")}),i(t)}));break;case Xi.AssignmentExpression:if(c=this.nextId(),u={},!en(e.left))throw zi("lval","Trying to assing a value to a non l-value");this.recurse(e.left,n,u,function(){h.if_(h.notNull(u.context),function(){h.recurse(e.right,c),h.addEnsureSafeObject(h.member(u.context,u.name,u.computed)),f=h.member(u.context,u.name,u.computed)+e.operator+c,h.assign(t,f),i(t||f)})},1);break;case Xi.ArrayExpression:l=[],o(e.elements,function(e){h.recurse(e,h.nextId(),n,function(e){l.push(e)})}),f="["+l.join(",")+"]",this.assign(t,f),i(f);break;case Xi.ObjectExpression:l=[],o(e.properties,function(e){h.recurse(e.value,h.nextId(),n,function(t){l.push(h.escape(e.key.type===Xi.Identifier?e.key.name:""+e.key.value)+":"+t)})}),f="{"+l.join(",")+"}",this.assign(t,f),i(f);break;case Xi.ThisExpression:this.assign(t,"s"),i("s");break;case Xi.NGValueParameter:this.assign(t,"v"),i("v")}},getHasOwnProperty:function(e,t){var n=e+"."+t,r=this.current().own;return r.hasOwnProperty(n)||(r[n]=this.nextId(!1,e+"&&("+this.escape(t)+" in "+e+")")),r[n]},assign:function(e,t){return e?(this.current().body.push(e,"=",t,";"),e):void 0},filter:function(e){return this.state.filters.hasOwnProperty(e)||(this.state.filters[e]=this.nextId(!0)),this.state.filters[e]},ifDefined:function(e,t){return"ifDefined("+e+","+this.escape(t)+")"},plus:function(e,t){return"plus("+e+","+t+")"},return_:function(e){this.current().body.push("return ",e,";")},if_:function(e,t,n){if(e===!0)t();else{var r=this.current().body;r.push("if(",e,"){"),t(),r.push("}"),n&&(r.push("else{"),n(),r.push("}"))}},not:function(e){return"!("+e+")"},notNull:function(e){return e+"!=null"},nonComputedMember:function(e,t){return e+"."+t},computedMember:function(e,t){return e+"["+t+"]"},member:function(e,t,n){return n?this.computedMember(e,t):this.nonComputedMember(e,t)},addEnsureSafeObject:function(e){this.current().body.push(this.ensureSafeObject(e),";")},addEnsureSafeMemberName:function(e){this.current().body.push(this.ensureSafeMemberName(e),";")},addEnsureSafeFunction:function(e){this.current().body.push(this.ensureSafeFunction(e),";")},ensureSafeObject:function(e){return"ensureSafeObject("+e+",text)"},ensureSafeMemberName:function(e){return"ensureSafeMemberName("+e+",text)"},ensureSafeFunction:function(e){return"ensureSafeFunction("+e+",text)"},lazyRecurse:function(e,t,n,r,i,o){var a=this;return function(){a.recurse(e,t,n,r,i,o)}},lazyAssign:function(e,t){var n=this;return function(){n.assign(e,t)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)},escape:function(e){if(S(e))return"'"+e.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(E(e))return e.toString();if(e===!0)return"true";if(e===!1)return"false";if(null===e)return"null";if("undefined"==typeof e)return"undefined";throw zi("esc","IMPOSSIBLE")},nextId:function(e,t){var n="v"+this.state.nextId++;return e||this.current().vars.push(n+(t?"="+t:"")),n},current:function(){return this.state[this.state.computing]}},an.prototype={compile:function(e,t){var n=this,r=this.astBuilder.ast(e);this.expression=e,this.expensiveChecks=t,Xt(r,n.$filter);var i,a;(i=tn(r))&&(a=this.recurse(i));var s,u=Qt(r.body);u&&(s=[],o(u,function(e,t){var r=n.recurse(e);e.input=r,s.push(r),e.watchId=t}));var c=[];o(r.body,function(e){c.push(n.recurse(e.expression))});var l=0===r.body.length?function(){}:1===r.body.length?c[0]:function(e,t){var n;return o(c,function(r){n=r(e,t)}),n};return a&&(l.assign=function(e,t,n){return a(e,n,t)}),s&&(l.inputs=s),l.literal=nn(r),l.constant=rn(r),l},recurse:function(e,t,r){var i,a,s,u=this;if(e.input)return this.inputs(e.input,e.watchId);switch(e.type){case Xi.Literal:return this.value(e.value,t);case Xi.UnaryExpression:return a=this.recurse(e.argument),this["unary"+e.operator](a,t);case Xi.BinaryExpression:return i=this.recurse(e.left),a=this.recurse(e.right),this["binary"+e.operator](i,a,t);case Xi.LogicalExpression:return i=this.recurse(e.left),a=this.recurse(e.right),this["binary"+e.operator](i,a,t);case Xi.ConditionalExpression:return this["ternary?:"](this.recurse(e.test),this.recurse(e.alternate),this.recurse(e.consequent),t);case Xi.Identifier:return Wt(e.name,u.expression),u.identifier(e.name,u.expensiveChecks||sn(e.name),t,r,u.expression);case Xi.MemberExpression:return i=this.recurse(e.object,!1,!!r),e.computed||(Wt(e.property.name,u.expression),a=e.property.name),e.computed&&(a=this.recurse(e.property)),e.computed?this.computedMember(i,a,t,r,u.expression):this.nonComputedMember(i,a,u.expensiveChecks,t,r,u.expression);case Xi.CallExpression:return s=[],o(e.arguments,function(e){s.push(u.recurse(e))}),e.filter&&(a=this.$filter(e.callee.name)),e.filter||(a=this.recurse(e.callee,!0)),e.filter?function(e,r,i,o){for(var u=[],c=0;c":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)>t(r,i,o,a);return n?{value:s}:s}},"binary<=":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)<=t(r,i,o,a);return n?{value:s}:s}},"binary>=":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)>=t(r,i,o,a);return n?{value:s}:s}},"binary&&":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)&&t(r,i,o,a);return n?{value:s}:s}},"binary||":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)||t(r,i,o,a);return n?{value:s}:s}},"ternary?:":function(e,t,n,r){return function(i,o,a,s){var u=e(i,o,a,s)?t(i,o,a,s):n(i,o,a,s);return r?{value:u}:u}},value:function(e,t){return function(){return t?{context:n,name:n,value:e}:e}},identifier:function(e,t,r,i,o){return function(a,s,u,c){var l=s&&e in s?s:a;i&&1!==i&&l&&!l[e]&&(l[e]={});var f=l?l[e]:n;return t&&Gt(f,o),r?{context:l,name:e,value:f}:f}},computedMember:function(e,t,n,r,i){return function(o,a,s,u){var c,l,f=e(o,a,s,u);return null!=f&&(c=t(o,a,s,u),Wt(c,i),r&&1!==r&&f&&!f[c]&&(f[c]={}),l=f[c],Gt(l,i)),n?{context:f,name:c,value:l}:l}},nonComputedMember:function(e,t,r,i,o,a){return function(s,u,c,l){var f=e(s,u,c,l);o&&1!==o&&f&&!f[t]&&(f[t]={});var h=null!=f?f[t]:n;return(r||sn(t))&&Gt(h,a),i?{context:f,name:t,value:h}:h}},inputs:function(e,t){return function(n,r,i,o){return o?o[t]:e(n,r,i)}}};var Qi=function(e,t,n){this.lexer=e,this.$filter=t,this.options=n,this.ast=new Xi(this.lexer),this.astCompiler=n.csp?new an(this.ast,t):new on(this.ast,t)};Qi.prototype={constructor:Qi,parse:function(e){return this.astCompiler.compile(e,this.options.expensiveChecks)}};var eo=(ve(),ve(),Object.prototype.valueOf),to=r("$sce"),no={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},Oi=r("$compile"),ro=t.createElement("a"),io=En(e.location.href);An.$inject=["$document"],Mn.$inject=["$provide"],Pn.$inject=["$locale"],Dn.$inject=["$locale"];var oo=".",ao={yyyy:_n("FullYear",4),yy:_n("FullYear",2,0,!0),y:_n("FullYear",1),MMMM:qn("Month"),MMM:qn("Month",!0),MM:_n("Month",2,1),M:_n("Month",1,1),dd:_n("Date",2),d:_n("Date",1),HH:_n("Hours",2),H:_n("Hours",1),hh:_n("Hours",2,-12),h:_n("Hours",1,-12),mm:_n("Minutes",2),m:_n("Minutes",1),ss:_n("Seconds",2),s:_n("Seconds",1),sss:_n("Milliseconds",3),EEEE:qn("Day"),EEE:qn("Day",!0),a:Ln,Z:Fn,ww:Hn(2),w:Hn(1),G:zn,GG:zn,GGG:zn,GGGG:Wn},so=/((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,uo=/^\-?\d+$/;Gn.$inject=["$locale"];var co=m(gr),lo=m(br); +Kn.$inject=["$parse"];var fo=m({restrict:"E",compile:function(e,t){return t.href||t.xlinkHref?void 0:function(e,t){if("a"===t[0].nodeName.toLowerCase()){var n="[object SVGAnimatedString]"===Tr.call(t.prop("href"))?"xlink:href":"href";t.on("click",function(e){t.attr(n)||e.preventDefault()})}}}}),ho={};o(hi,function(e,t){function n(e,n,i){e.$watch(i[r],function(e){i.$set(t,!!e)})}if("multiple"!=e){var r=ct("ng-"+t),i=n;"checked"===e&&(i=function(e,t,i){i.ngModel!==i[r]&&n(e,t,i)}),ho[r]=function(){return{restrict:"A",priority:100,link:i}}}}),o(di,function(e,t){ho[t]=function(){return{priority:100,link:function(e,n,r){if("ngPattern"===t&&"/"==r.ngPattern.charAt(0)){var i=r.ngPattern.match(vr);if(i)return void r.$set("ngPattern",new RegExp(i[1],i[2]))}e.$watch(r[t],function(e){r.$set(t,e)})}}}}),o(["src","srcset","href"],function(e){var t=ct("ng-"+e);ho[t]=function(){return{priority:99,link:function(n,r,i){var o=e,a=e;"href"===e&&"[object SVGAnimatedString]"===Tr.call(r.prop("href"))&&(a="xlinkHref",i.$attr[a]="xlink:href",o=null),i.$observe(t,function(t){return t?(i.$set(a,t),void(Sr&&o&&r.prop(o,i[a]))):void("href"===e&&i.$set(a,null))})}}}});var po={$addControl:$,$$renameControl:Xn,$removeControl:$,$setValidity:$,$setDirty:$,$setPristine:$,$setSubmitted:$},$o="ng-submitted";Qn.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var vo=function(e){return["$timeout","$parse",function(t,r){function i(e){return""===e?r('this[""]').assign:r(e).assign||$}var o={name:"form",restrict:e?"EAC":"E",require:["form","^^?form"],controller:Qn,compile:function(r,o){r.addClass(Ko).addClass(Yo);var a=o.name?"name":e&&o.ngForm?"ngForm":!1;return{pre:function(e,r,o,s){var u=s[0];if(!("action"in o)){var c=function(t){e.$apply(function(){u.$commitViewValue(),u.$setSubmitted()}),t.preventDefault()};ei(r[0],"submit",c),r.on("$destroy",function(){t(function(){ti(r[0],"submit",c)},0,!1)})}var l=s[1]||u.$$parentForm;l.$addControl(u);var h=a?i(u.$name):$;a&&(h(e,u),o.$observe(a,function(t){u.$name!==t&&(h(e,n),u.$$parentForm.$$renameControl(u,t),(h=i(u.$name))(e,u))})),r.on("$destroy",function(){u.$$parentForm.$removeControl(u),h(e,n),f(u,po)})}}}};return o}]},mo=vo(),go=vo(!0),yo=/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/,bo=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,wo=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,xo=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,So=/^(\d{4})-(\d{2})-(\d{2})$/,Eo=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Co=/^(\d{4})-W(\d\d)$/,ko=/^(\d{4})-(\d\d)$/,Ao=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Oo={text:tr,date:or("date",So,ir(So,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":or("datetimelocal",Eo,ir(Eo,["yyyy","MM","dd","HH","mm","ss","sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:or("time",Ao,ir(Ao,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:or("week",Co,rr,"yyyy-Www"),month:or("month",ko,ir(ko,["yyyy","MM"]),"yyyy-MM"),number:sr,url:ur,email:cr,radio:lr,checkbox:hr,hidden:$,button:$,submit:$,reset:$,file:$},Mo=["$browser","$sniffer","$filter","$parse",function(e,t,n,r){return{restrict:"E",require:["?ngModel"],link:{pre:function(i,o,a,s){s[0]&&(Oo[gr(a.type)]||Oo.text)(i,o,a,s[0],t,e,n,r)}}}}],To=/^(true|false|\d+)$/,No=function(){return{restrict:"A",priority:100,compile:function(e,t){return To.test(t.ngValue)?function(e,t,n){n.$set("value",e.$eval(n.ngValue))}:function(e,t,n){e.$watch(n.ngValue,function(e){n.$set("value",e)})}}}},Vo=["$compile",function(e){return{restrict:"AC",compile:function(t){return e.$$addBindingClass(t),function(t,n,r){e.$$addBindingInfo(n,r.ngBind),n=n[0],t.$watch(r.ngBind,function(e){n.textContent=y(e)?"":e})}}}}],jo=["$interpolate","$compile",function(e,t){return{compile:function(n){return t.$$addBindingClass(n),function(n,r,i){var o=e(r.attr(i.$attr.ngBindTemplate));t.$$addBindingInfo(r,o.expressions),r=r[0],i.$observe("ngBindTemplate",function(e){r.textContent=y(e)?"":e})}}}}],Po=["$sce","$parse","$compile",function(e,t,n){return{restrict:"A",compile:function(r,i){var o=t(i.ngBindHtml),a=t(i.ngBindHtml,function(e){return(e||"").toString()});return n.$$addBindingClass(r),function(t,r,i){n.$$addBindingInfo(r,i.ngBindHtml),t.$watch(a,function(){r.html(e.getTrustedHtml(o(t))||"")})}}}}],Do=m({restrict:"A",require:"ngModel",link:function(e,t,n,r){r.$viewChangeListeners.push(function(){e.$eval(n.ngChange)})}}),Io=pr("",!0),Ro=pr("Odd",0),_o=pr("Even",1),qo=Zn({compile:function(e,t){t.$set("ngCloak",n),e.removeClass("ng-cloak")}}),Fo=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],Uo={},Bo={blur:!0,focus:!0};o("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(e){var t=ct("ng-"+e);Uo[t]=["$parse","$rootScope",function(n,r){return{restrict:"A",compile:function(i,o){var a=n(o[t],null,!0);return function(t,n){n.on(e,function(n){var i=function(){a(t,{$event:n})};Bo[e]&&r.$$phase?t.$evalAsync(i):t.$apply(i)})}}}}]});var Ho=["$animate",function(e){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(n,r,i,o,a){var s,u,c;n.$watch(i.ngIf,function(n){n?u||a(function(n,o){u=o,n[n.length++]=t.createComment(" end ngIf: "+i.ngIf+" "),s={clone:n},e.enter(n,r.parent(),r)}):(c&&(c.remove(),c=null),u&&(u.$destroy(),u=null),s&&(c=$e(s.clone),e.leave(c).then(function(){c=null}),s=null))})}}}],Lo=["$templateRequest","$anchorScroll","$animate",function(e,t,n){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:jr.noop,compile:function(r,i){var o=i.ngInclude||i.src,a=i.onload||"",s=i.autoscroll;return function(r,i,u,c,l){var f,h,p,d=0,$=function(){h&&(h.remove(),h=null),f&&(f.$destroy(),f=null),p&&(n.leave(p).then(function(){h=null}),h=p,p=null)};r.$watch(o,function(o){var u=function(){!b(s)||s&&!r.$eval(s)||t()},h=++d;o?(e(o,!0).then(function(e){if(h===d){var t=r.$new();c.template=e;var s=l(t,function(e){$(),n.enter(e,null,i).then(u)});f=t,p=s,f.$emit("$includeContentLoaded",o),r.$eval(a)}},function(){h===d&&($(),r.$emit("$includeContentError",o))}),r.$emit("$includeContentRequested",o)):($(),c.template=null)})}}}}],zo=["$compile",function(e){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(n,r,i,o){return/SVG/.test(r[0].toString())?(r.empty(),void e(ke(o.template,t).childNodes)(n,function(e){r.append(e)},{futureParentElement:r})):(r.html(o.template),void e(r.contents())(n))}}}],Wo=Zn({priority:450,compile:function(){return{pre:function(e,t,n){e.$eval(n.ngInit)}}}}),Go=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(e,t,r,i){var a=t.attr(r.$attr.ngList)||", ",s="false"!==r.ngTrim,u=s?_r(a):a,c=function(e){if(!y(e)){var t=[];return e&&o(e.split(u),function(e){e&&t.push(s?_r(e):e)}),t}};i.$parsers.push(c),i.$formatters.push(function(e){return Ir(e)?e.join(a):n}),i.$isEmpty=function(e){return!e||!e.length}}}},Yo="ng-valid",Jo="ng-invalid",Ko="ng-pristine",Zo="ng-dirty",Xo="ng-untouched",Qo="ng-touched",ea="ng-pending",ta=r("ngModel"),na=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(e,t,r,i,a,s,u,c,l,f){this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=n,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=n,this.$name=f(r.name||"",!1)(e),this.$$parentForm=po;var h,p=a(r.ngModel),d=p.assign,v=p,m=d,g=null,w=this;this.$$setOptions=function(e){if(w.$options=e,e&&e.getterSetter){var t=a(r.ngModel+"()"),n=a(r.ngModel+"($$$p)");v=function(e){var n=p(e);return k(n)&&(n=t(e)),n},m=function(e,t){k(p(e))?n(e,{$$$p:w.$modelValue}):d(e,w.$modelValue)}}else if(!p.assign)throw ta("nonassign","Expression '{0}' is non-assignable. Element: {1}",r.ngModel,X(i))},this.$render=$,this.$isEmpty=function(e){return y(e)||""===e||null===e||e!==e};var x=0;dr({ctrl:this,$element:i,set:function(e,t){e[t]=!0},unset:function(e,t){delete e[t]},$animate:s}),this.$setPristine=function(){w.$dirty=!1,w.$pristine=!0,s.removeClass(i,Zo),s.addClass(i,Ko)},this.$setDirty=function(){w.$dirty=!0,w.$pristine=!1,s.removeClass(i,Ko),s.addClass(i,Zo),w.$$parentForm.$setDirty()},this.$setUntouched=function(){w.$touched=!1,w.$untouched=!0,s.setClass(i,Xo,Qo)},this.$setTouched=function(){w.$touched=!0,w.$untouched=!1,s.setClass(i,Qo,Xo)},this.$rollbackViewValue=function(){u.cancel(g),w.$viewValue=w.$$lastCommittedViewValue,w.$render()},this.$validate=function(){if(!E(w.$modelValue)||!isNaN(w.$modelValue)){var e=w.$$lastCommittedViewValue,t=w.$$rawModelValue,r=w.$valid,i=w.$modelValue,o=w.$options&&w.$options.allowInvalid;w.$$runValidators(t,e,function(e){o||r===e||(w.$modelValue=e?t:n,w.$modelValue!==i&&w.$$writeModelToScope())})}},this.$$runValidators=function(e,t,r){function i(){var e=w.$$parserName||"parse";return y(h)?(u(e,null),!0):(h||(o(w.$validators,function(e,t){u(t,null)}),o(w.$asyncValidators,function(e,t){u(t,null)})),u(e,h),h)}function a(){var n=!0;return o(w.$validators,function(r,i){var o=r(e,t);n=n&&o,u(i,o)}),n?!0:(o(w.$asyncValidators,function(e,t){u(t,null)}),!1)}function s(){var r=[],i=!0;o(w.$asyncValidators,function(o,a){var s=o(e,t);if(!P(s))throw ta("$asyncValidators","Expected asynchronous validator to return a promise but got '{0}' instead.",s);u(a,n),r.push(s.then(function(){u(a,!0)},function(e){i=!1,u(a,!1)}))}),r.length?l.all(r).then(function(){c(i)},$):c(!0)}function u(e,t){f===x&&w.$setValidity(e,t)}function c(e){f===x&&r(e)}x++;var f=x;return i()&&a()?void s():void c(!1)},this.$commitViewValue=function(){var e=w.$viewValue;u.cancel(g),(w.$$lastCommittedViewValue!==e||""===e&&w.$$hasNativeValidators)&&(w.$$lastCommittedViewValue=e,w.$pristine&&this.$setDirty(),this.$$parseAndValidate())},this.$$parseAndValidate=function(){function t(){w.$modelValue!==a&&w.$$writeModelToScope()}var r=w.$$lastCommittedViewValue,i=r;if(h=y(i)?n:!0)for(var o=0;oo;o++){var u=e===n?o:n[o],c=(e[u],S(e[u],u)),l=v(e[u],c);if(t.push(l),s[2]||s[1]){var f=g(r,c);t.push(f)}if(s[4]){var h=b(r,c);t.push(h)}}return t}),getOptions:function(){for(var e=[],t={},n=w(r)||[],i=a(n),s=i.length,u=0;s>u;u++){var c=n===i?u:i[u],l=n[c],h=S(l,c),p=d(r,h),$=v(p,h),x=g(r,h),E=y(r,h),C=b(r,h),k=new o($,p,x,E,C);e.push(k),t[$]=k}return{items:e,selectValueMap:t,getOptionFromViewValue:function(e){return t[m(e)]},getViewValueFromOption:function(e){return f?jr.copy(e.viewValue):e.viewValue}}}}}var a=t.createElement("option"),s=t.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","?ngModel"],link:function(t,n,i,u){function c(e,t){e.element=t,t.disabled=e.disabled,e.value!==t.value&&(t.value=e.selectValue),e.label!==t.label&&(t.label=e.label,t.textContent=e.label)}function l(e,t,n,r){var i;return t&&gr(t.nodeName)===n?i=t:(i=r.cloneNode(!1),t?e.insertBefore(i,t):e.appendChild(i)),i}function f(e){for(var t;e;)t=e.nextSibling,Be(e),e=t}function h(e){var t=$&&$[0],n=x&&x[0];if(t||n)for(;e&&(e===t||e===n);)e=e.nextSibling;return e}function p(){var e=S&&v.readValue();S=E.getOptions();var t={},r=n[0].firstChild;if(w&&n.prepend($),r=h(r),S.items.forEach(function(e){var i,o,u;e.group?(i=t[e.group],i||(o=l(n[0],r,"optgroup",s),r=o.nextSibling,o.label=e.group,i=t[e.group]={groupElement:o,currentOptionElement:o.firstChild}),u=l(i.groupElement,i.currentOptionElement,"option",a),c(e,u),i.currentOptionElement=u.nextSibling):(u=l(n[0],r,"option",a),c(e,u),r=u.nextSibling)}),Object.keys(t).forEach(function(e){f(t[e].currentOptionElement)}),f(r),d.$render(),!d.$isEmpty(e)){var i=v.readValue();(E.trackBy?B(e,i):e===i)||(d.$setViewValue(i),d.$render())}}var d=u[1];if(d){for(var $,v=u[0],m=i.multiple,g=0,y=n.children(),b=y.length;b>g;g++)if(""===y[g].value){$=y.eq(g);break}var w=!!$,x=Er(a.cloneNode(!1));x.val("?");var S,E=r(i.ngOptions,n,t),C=function(){w||n.prepend($),n.val(""),$.prop("selected",!0),$.attr("selected",!0)},k=function(){w||$.remove()},A=function(){n.prepend(x),n.val("?"),x.prop("selected",!0),x.attr("selected",!0)},O=function(){x.remove()};m?(d.$isEmpty=function(e){return!e||0===e.length},v.writeValue=function(e){S.items.forEach(function(e){e.element.selected=!1}),e&&e.forEach(function(e){var t=S.getOptionFromViewValue(e);t&&!t.disabled&&(t.element.selected=!0)})},v.readValue=function(){var e=n.val()||[],t=[];return o(e,function(e){var n=S.selectValueMap[e];n&&!n.disabled&&t.push(S.getViewValueFromOption(n))}),t},E.trackBy&&t.$watchCollection(function(){return Ir(d.$viewValue)?d.$viewValue.map(function(e){return E.getTrackByValue(e)}):void 0},function(){d.$render()})):(v.writeValue=function(e){var t=S.getOptionFromViewValue(e);t&&!t.disabled?n[0].value!==t.selectValue&&(O(),k(),n[0].value=t.selectValue,t.element.selected=!0,t.element.setAttribute("selected","selected")):null===e||w?(O(),C()):(k(),A())},v.readValue=function(){var e=S.selectValueMap[n.val()];return e&&!e.disabled?(k(),O(),S.getViewValueFromOption(e)):null},E.trackBy&&t.$watch(function(){return E.getTrackByValue(d.$viewValue)},function(){d.$render()})),w?($.remove(),e($)(t),$.removeClass("ng-scope")):$=Er(a.cloneNode(!1)),p(),t.$watchCollection(E.getWatchables,p)}}}}],la=["$locale","$interpolate","$log",function(e,t,n){var r=/{}/g,i=/^when(Minus)?(.+)$/;return{link:function(a,s,u){function c(e){s.text(e||"")}var l,f=u.count,h=u.$attr.when&&s.attr(u.$attr.when),p=u.offset||0,d=a.$eval(h)||{},v={},m=t.startSymbol(),g=t.endSymbol(),b=m+f+"-"+p+g,w=jr.noop;o(u,function(e,t){var n=i.exec(t);if(n){var r=(n[1]?"-":"")+gr(n[2]);d[r]=s.attr(u.$attr[t])}}),o(d,function(e,n){v[n]=t(e.replace(r,b))}),a.$watch(f,function(t){var r=parseFloat(t),i=isNaN(r);if(i||r in d||(r=e.pluralCat(r-p)),r!==l&&!(i&&E(l)&&isNaN(l))){w();var o=v[r];y(o)?(null!=t&&n.debug("ngPluralize: no rule defined for '"+r+"' in "+h),w=$,c()):w=a.$watch(o,c),l=r}})}}}],fa=["$parse","$animate",function(e,a){var s="$$NG_REMOVED",u=r("ngRepeat"),c=function(e,t,n,r,i,o,a){e[n]=r,i&&(e[i]=o),e.$index=t,e.$first=0===t,e.$last=t===a-1,e.$middle=!(e.$first||e.$last),e.$odd=!(e.$even=0===(1&t))},l=function(e){return e.clone[0]},f=function(e){return e.clone[e.clone.length-1]};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function(r,h){var p=h.ngRepeat,d=t.createComment(" end ngRepeat: "+p+" "),$=p.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!$)throw u("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",p);var v=$[1],m=$[2],g=$[3],y=$[4];if($=v.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/),!$)throw u("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",v);var b=$[3]||$[1],w=$[2];if(g&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(g)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(g)))throw u("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",g);var x,S,E,C,k={$id:Ye};return y?x=e(y):(E=function(e,t){return Ye(t)},C=function(e){return e}),function(e,t,r,h,$){x&&(S=function(t,n,r){return w&&(k[w]=t),k[b]=n,k.$index=r,x(e,k)});var v=ve();e.$watchCollection(m,function(r){var h,m,y,x,k,A,O,M,T,N,V,j,P=t[0],D=ve();if(g&&(e[g]=r),i(r))T=r,M=S||E;else{M=S||C,T=[];for(var I in r)yr.call(r,I)&&"$"!==I.charAt(0)&&T.push(I)}for(x=T.length,V=new Array(x),h=0;x>h;h++)if(k=r===T?h:T[h],A=r[k],O=M(k,A,h),v[O])N=v[O],delete v[O],D[O]=N,V[h]=N;else{if(D[O])throw o(V,function(e){e&&e.scope&&(v[e.id]=e)}),u("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",p,O,A);V[h]={id:O,scope:n,clone:n},D[O]=!0}for(var R in v){if(N=v[R],j=$e(N.clone),a.leave(j),j[0].parentNode)for(h=0,m=j.length;m>h;h++)j[h][s]=!0;N.scope.$destroy()}for(h=0;x>h;h++)if(k=r===T?h:T[h],A=r[k],N=V[h],N.scope){y=P;do y=y.nextSibling;while(y&&y[s]);l(N)!=y&&a.move($e(N.clone),null,Er(P)),P=f(N),c(N.scope,h,b,A,w,k,x)}else $(function(e,t){N.scope=t;var n=d.cloneNode(!1);e[e.length++]=n,a.enter(e,null,Er(P)),P=n,N.clone=e,D[N.id]=N,c(N.scope,h,b,A,w,k,x)});v=D})}}}}],ha="ng-hide",pa="ng-hide-animate",da=["$animate",function(e){return{restrict:"A",multiElement:!0,link:function(t,n,r){t.$watch(r.ngShow,function(t){e[t?"removeClass":"addClass"](n,ha,{tempClasses:pa})})}}}],$a=["$animate",function(e){return{restrict:"A",multiElement:!0,link:function(t,n,r){t.$watch(r.ngHide,function(t){e[t?"addClass":"removeClass"](n,ha,{tempClasses:pa})})}}}],va=Zn(function(e,t,n){e.$watch(n.ngStyle,function(e,n){n&&e!==n&&o(n,function(e,n){t.css(n,"")}),e&&t.css(e)},!0)}),ma=["$animate",function(e){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(n,r,i,a){var s=i.ngSwitch||i.on,u=[],c=[],l=[],f=[],h=function(e,t){return function(){e.splice(t,1)}};n.$watch(s,function(n){var r,i;for(r=0,i=l.length;i>r;++r)e.cancel(l[r]);for(l.length=0,r=0,i=f.length;i>r;++r){var s=$e(c[r].clone);f[r].$destroy();var p=l[r]=e.leave(s);p.then(h(l,r))}c.length=0,f.length=0,(u=a.cases["!"+n]||a.cases["?"])&&o(u,function(n){n.transclude(function(r,i){f.push(i);var o=n.element;r[r.length++]=t.createComment(" end ngSwitchWhen: ");var a={clone:r};c.push(a),e.enter(r,o.parent(),o)})})})}}}],ga=Zn({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,r,i){r.cases["!"+n.ngSwitchWhen]=r.cases["!"+n.ngSwitchWhen]||[],r.cases["!"+n.ngSwitchWhen].push({transclude:i,element:t})}}),ya=Zn({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,r,i){r.cases["?"]=r.cases["?"]||[],r.cases["?"].push({transclude:i,element:t})}}),ba=Zn({restrict:"EAC",link:function(e,t,n,i,o){if(!o)throw r("ngTransclude")("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",X(t));o(function(e){t.empty(),t.append(e)})}}),wa=["$templateCache",function(e){return{restrict:"E",terminal:!0,compile:function(t,n){if("text/ng-template"==n.type){var r=n.id,i=t[0].text;e.put(r,i)}}}}],xa={$setViewValue:$,$render:$},Sa=["$element","$scope","$attrs",function(e,r,i){var o=this,a=new Je;o.ngModelCtrl=xa,o.unknownOption=Er(t.createElement("option")),o.renderUnknownOption=function(t){var n="? "+Ye(t)+" ?";o.unknownOption.val(n),e.prepend(o.unknownOption),e.val(n)},r.$on("$destroy",function(){o.renderUnknownOption=$}),o.removeUnknownOption=function(){o.unknownOption.parent()&&o.unknownOption.remove()},o.readValue=function(){return o.removeUnknownOption(),e.val()},o.writeValue=function(t){o.hasOption(t)?(o.removeUnknownOption(),e.val(t),""===t&&o.emptyOption.prop("selected",!0)):null==t&&o.emptyOption?(o.removeUnknownOption(),e.val("")):o.renderUnknownOption(t)},o.addOption=function(e,t){pe(e,'"option value"'),""===e&&(o.emptyOption=t);var n=a.get(e)||0;a.put(e,n+1)},o.removeOption=function(e){var t=a.get(e);t&&(1===t?(a.remove(e),""===e&&(o.emptyOption=n)):a.put(e,t-1))},o.hasOption=function(e){return!!a.get(e)}}],Ea=function(){return{restrict:"E",require:["select","?ngModel"],controller:Sa,link:function(e,t,n,r){var i=r[1];if(i){var a=r[0];if(a.ngModelCtrl=i,i.$render=function(){a.writeValue(i.$viewValue)},t.on("change",function(){e.$apply(function(){i.$setViewValue(a.readValue())})}),n.multiple){a.readValue=function(){var e=[];return o(t.find("option"),function(t){t.selected&&e.push(t.value)}),e},a.writeValue=function(e){var n=new Je(e);o(t.find("option"),function(e){e.selected=b(n.get(e.value))})};var s,u=NaN;e.$watch(function(){u!==i.$viewValue||B(s,i.$viewValue)||(s=U(i.$viewValue),i.$render()),u=i.$viewValue}),i.$isEmpty=function(e){return!e||0===e.length}}}}}},Ca=["$interpolate",function(e){function t(e){e[0].hasAttribute("selected")&&(e[0].selected=!0)}return{restrict:"E",priority:100,compile:function(n,r){if(b(r.value))var i=e(r.value,!0);else{var o=e(n.text(),!0);o||r.$set("value",n.text())}return function(e,n,r){function a(e){c.addOption(e,n),c.ngModelCtrl.$render(),t(n)}var s="$selectController",u=n.parent(),c=u.data(s)||u.parent().data(s);if(c&&c.ngModelCtrl){if(i){var l;r.$observe("value",function(e){b(l)&&c.removeOption(l),l=e,a(e)})}else o?e.$watch(o,function(e,t){r.$set("value",e),t!==e&&c.removeOption(t),a(e)}):a(r.value);n.on("$destroy",function(){c.removeOption(r.value),c.ngModelCtrl.$render()})}}}}}],ka=m({restrict:"E",terminal:!1}),Aa=function(){return{restrict:"A",require:"?ngModel",link:function(e,t,n,r){r&&(n.required=!0,r.$validators.required=function(e,t){return!n.required||!r.$isEmpty(t)},n.$observe("required",function(){r.$validate()}))}}},Oa=function(){return{restrict:"A",require:"?ngModel",link:function(e,t,i,o){if(o){var a,s=i.ngPattern||i.pattern;i.$observe("pattern",function(e){if(S(e)&&e.length>0&&(e=new RegExp("^"+e+"$")),e&&!e.test)throw r("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",s,e,X(t));a=e||n,o.$validate()}),o.$validators.pattern=function(e,t){return o.$isEmpty(t)||y(a)||a.test(t)}}}}},Ma=function(){return{restrict:"A",require:"?ngModel",link:function(e,t,n,r){if(r){var i=-1;n.$observe("maxlength",function(e){var t=p(e);i=isNaN(t)?-1:t,r.$validate()}),r.$validators.maxlength=function(e,t){return 0>i||r.$isEmpty(t)||t.length<=i}}}}},Ta=function(){return{restrict:"A",require:"?ngModel",link:function(e,t,n,r){if(r){var i=0;n.$observe("minlength",function(e){i=p(e)||0,r.$validate()}),r.$validators.minlength=function(e,t){return r.$isEmpty(t)||t.length>=i}}}}};return e.angular.bootstrap?void console.log("WARNING: Tried to load angular more than once."):(le(),be(jr),jr.module("ngLocale",[],["$provide",function(e){function t(e){e+="";var t=e.indexOf(".");return-1==t?0:e.length-t-1}function r(e,r){var i=r;n===i&&(i=Math.min(t(e),3));var o=Math.pow(10,i),a=(e*o|0)%o;return{v:i,f:a}}var i={ZERO:"zero",ONE:"one",TWO:"two",FEW:"few",MANY:"many",OTHER:"other"};e.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],SHORTDAY:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],SHORTMONTH:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a","short":"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-¤",negSuf:"",posPre:"¤",posSuf:""}]},id:"en-us",pluralCat:function(e,t){var n=0|e,o=r(e,t);return 1==n&&0==o.v?i.ONE:i.OTHER}})}]),void Er(t).ready(function(){oe(t,ae)}))}(window,document),!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend(''); +!function(e,r,t){"use strict";function n(){function e(e,t){return r.extend(Object.create(e),t)}function t(e,r){var t=r.caseInsensitiveMatch,n={originalPath:e,regexp:e},a=n.keys=[];return e=e.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)([\?\*])?/g,function(e,r,t,n){var o="?"===n?n:null,i="*"===n?n:null;return a.push({name:t,optional:!!o}),r=r||"",""+(o?"":r)+"(?:"+(o?r:"")+(i&&"(.+?)"||"([^/]+)")+(o||"")+")"+(o||"")}).replace(/([\/$\*])/g,"\\$1"),n.regexp=new RegExp("^"+e+"$",t?"i":""),n}var n={};this.when=function(e,a){var o=r.copy(a);if(r.isUndefined(o.reloadOnSearch)&&(o.reloadOnSearch=!0),r.isUndefined(o.caseInsensitiveMatch)&&(o.caseInsensitiveMatch=this.caseInsensitiveMatch),n[e]=r.extend(o,e&&t(e,o)),e){var i="/"==e[e.length-1]?e.substr(0,e.length-1):e+"/";n[i]=r.extend({redirectTo:e},t(i,o))}return this},this.caseInsensitiveMatch=!1,this.otherwise=function(e){return"string"==typeof e&&(e={redirectTo:e}),this.when(null,e),this},this.$get=["$rootScope","$location","$routeParams","$q","$injector","$templateRequest","$sce",function(t,a,o,i,c,l,s){function h(e,r){var t=r.keys,n={};if(!r.regexp)return null;var a=r.regexp.exec(e);if(!a)return null;for(var o=1,i=a.length;i>o;++o){var c=t[o-1],u=a[o];c&&u&&(n[c.name]=u)}return n}function $(e){var n=w.current;v=f(),m=v&&n&&v.$$route===n.$$route&&r.equals(v.pathParams,n.pathParams)&&!v.reloadOnSearch&&!g,m||!n&&!v||t.$broadcast("$routeChangeStart",v,n).defaultPrevented&&e&&e.preventDefault()}function p(){var e=w.current,n=v;m?(e.params=n.params,r.copy(e.params,o),t.$broadcast("$routeUpdate",e)):(n||e)&&(g=!1,w.current=n,n&&n.redirectTo&&(r.isString(n.redirectTo)?a.path(d(n.redirectTo,n.params)).search(n.params).replace():a.url(n.redirectTo(n.pathParams,a.path(),a.search())).replace()),i.when(n).then(function(){if(n){var e,t,a=r.extend({},n.resolve);return r.forEach(a,function(e,t){a[t]=r.isString(e)?c.get(e):c.invoke(e,null,null,t)}),r.isDefined(e=n.template)?r.isFunction(e)&&(e=e(n.params)):r.isDefined(t=n.templateUrl)&&(r.isFunction(t)&&(t=t(n.params)),r.isDefined(t)&&(n.loadedTemplateUrl=s.valueOf(t),e=l(t))),r.isDefined(e)&&(a.$template=e),i.all(a)}}).then(function(a){n==w.current&&(n&&(n.locals=a,r.copy(n.params,o)),t.$broadcast("$routeChangeSuccess",n,e))},function(r){n==w.current&&t.$broadcast("$routeChangeError",n,e,r)}))}function f(){var t,o;return r.forEach(n,function(n,i){!o&&(t=h(a.path(),n))&&(o=e(n,{params:r.extend({},a.search(),t),pathParams:t}),o.$$route=n)}),o||n[null]&&e(n[null],{params:{},pathParams:{}})}function d(e,t){var n=[];return r.forEach((e||"").split(":"),function(e,r){if(0===r)n.push(e);else{var a=e.match(/(\w+)(?:[?*])?(.*)/),o=a[1];n.push(t[o]),n.push(a[2]||""),delete t[o]}}),n.join("")}var v,m,g=!1,w={routes:n,reload:function(){g=!0,t.$evalAsync(function(){$(),p()})},updateParams:function(e){if(!this.current||!this.current.$$route)throw u("norout","Tried updating route when with no current route");e=r.extend({},this.current.params,e),a.path(d(this.current.$$route.originalPath,e)),a.search(e)}};return t.$on("$locationChangeStart",$),t.$on("$locationChangeSuccess",p),w}]}function a(){this.$get=function(){return{}}}function o(e,t,n){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(a,o,i,c,u){function l(){p&&(n.cancel(p),p=null),h&&(h.$destroy(),h=null),$&&(p=n.leave($),p.then(function(){p=null}),$=null)}function s(){var i=e.current&&e.current.locals,c=i&&i.$template;if(r.isDefined(c)){var s=a.$new(),p=e.current,v=u(s,function(e){n.enter(e,null,$||o).then(function(){!r.isDefined(f)||f&&!a.$eval(f)||t()}),l()});$=v,h=p.scope=s,h.$emit("$viewContentLoaded"),h.$eval(d)}else l()}var h,$,p,f=i.autoscroll,d=i.onload||"";a.$on("$routeChangeSuccess",s),s()}}}function i(e,r,t){return{restrict:"ECA",priority:-400,link:function(n,a){var o=t.current,i=o.locals;a.html(i.$template);var c=e(a.contents());if(o.controller){i.$scope=n;var u=r(o.controller,i);o.controllerAs&&(n[o.controllerAs]=u),a.data("$ngControllerController",u),a.children().data("$ngControllerController",u)}c(n)}}}var c=r.module("ngRoute",["ng"]).provider("$route",n),u=r.$$minErr("ngRoute");c.provider("$routeParams",a),c.directive("ngView",o),c.directive("ngView",i),o.$inject=["$route","$anchorScroll","$animate"],i.$inject=["$compile","$controller","$route"]}(window,window.angular); +!function(e,n,o){"use strict";function t(e,o,t){function i(e,t,i){var u,c;i=i||{},c=i.expires,u=n.isDefined(i.path)?i.path:r,n.isUndefined(t)&&(c="Thu, 01 Jan 1970 00:00:00 GMT",t=""),n.isString(c)&&(c=new Date(c));var s=encodeURIComponent(e)+"="+encodeURIComponent(t);s+=u?";path="+u:"",s+=i.domain?";domain="+i.domain:"",s+=c?";expires="+c.toUTCString():"",s+=i.secure?";secure":"";var f=s.length+1;return f>4096&&o.warn("Cookie '"+e+"' possibly not set or overflowed because it was too large ("+f+" > 4096 bytes)!"),s}var r=t.baseHref(),u=e[0];return function(e,n,o){u.cookie=i(e,n,o)}}n.module("ngCookies",["ng"]).provider("$cookies",[function(){function e(e){return e?n.extend({},t,e):t}var t=this.defaults={};this.$get=["$$cookieReader","$$cookieWriter",function(t,i){return{get:function(e){return t()[e]},getObject:function(e){var o=this.get(e);return o?n.fromJson(o):o},getAll:function(){return t()},put:function(n,o,t){i(n,o,e(t))},putObject:function(e,o,t){this.put(e,n.toJson(o),t)},remove:function(n,t){i(n,o,e(t))}}}]}]),n.module("ngCookies").factory("$cookieStore",["$cookies",function(e){return{get:function(n){return e.getObject(n)},put:function(n,o){e.putObject(n,o)},remove:function(n){e.remove(n)}}}]),t.$inject=["$document","$log","$browser"],n.module("ngCookies").provider("$$cookieWriter",function(){this.$get=t})}(window,window.angular); +!function(e,t,r){"use strict";function n(e){var r=[];return l(r,t.noop).chars(e),r.join("")}function a(e,r){var n,a={},i=e.split(",");for(n=0;n=0&&b[i]!=n;i--);if(i>=0){for(a=b.length-1;a>=i;a--)r.end&&r.end(b[a]);b.length=i}}"string"!=typeof e&&(e=null===e||"undefined"==typeof e?"":""+e);var i,o,l,b=[],k=e;for(b.last=function(){return b[b.length-1]};e;){if(l="",o=!0,b.last()&&$[b.last()]?(e=e.replace(new RegExp("([\\W\\w]*)<\\s*\\/\\s*"+b.last()+"[^>]*>","i"),function(e,t){return t=t.replace(f,"$1").replace(x,"$1"),r.chars&&r.chars(s(t)),""}),a("",b.last())):(0===e.indexOf("",i)===i&&(r.comment&&r.comment(e.substring(4,i)),e=e.substring(i+3),o=!1)):m.test(e)?(i=e.match(m))&&(e=e.replace(i[0],""),o=!1):g.test(e)?(i=e.match(p))&&(e=e.substring(i[0].length),i[0].replace(p,a),o=!1):d.test(e)&&((i=e.match(u))?(i[4]&&(e=e.substring(i[0].length),i[0].replace(u,n)),o=!1):(l+="<",e=e.substring(1))),o&&(i=e.indexOf("<"),l+=0>i?e:e.substring(0,i),e=0>i?"":e.substring(i),r.chars&&r.chars(s(l)))),e==k)throw c("badparse",e);k=e}a()}function s(e){return e?(E.innerHTML=e.replace(//g,">")}function l(e,r){var n=!1,a=t.bind(e,e.push);return{start:function(e,i,s){e=t.lowercase(e),!n&&$[e]&&(n=e),n||!0!==A[e]||(a("<"),a(e),t.forEach(i,function(n,i){var s=t.lowercase(i),l="img"===e&&"src"===s||"background"===s;!0!==D[s]||!0===C[s]&&!r(n,l)||(a(" "),a(i),a('="'),a(o(n)),a('"'))}),a(s?"/>":">"))},end:function(e){e=t.lowercase(e),n||!0!==A[e]||(a("")),e==n&&(n=!1)},chars:function(e){n||a(o(e))}}}var c=t.$$minErr("$sanitize"),u=/^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/,p=/^<\/\s*([\w:-]+)[^>]*>/,h=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,d=/^]*?)>/i,x=/"\u201d\u2019]/i,a=/^mailto:/i;return function(i,s){function o(e){e&&d.push(n(e))}function l(e,r){d.push("'),o(r),d.push("")}if(!i)return i;for(var c,u,p,h=i,d=[];c=h.match(r);)u=c[0],c[2]||c[4]||(u=(c[3]?"http://":"mailto:")+u),p=c.index,o(h.substr(0,p)),l(u,c[0].replace(a,"")),h=h.substring(p+c[0].length);return o(h),e(d.join(""))}}])}(window,window.angular); \ No newline at end of file diff --git a/public/javascripts/wechat/gulpfile.js b/public/javascripts/wechat/gulpfile.js new file mode 100644 index 000000000..a6726bd22 --- /dev/null +++ b/public/javascripts/wechat/gulpfile.js @@ -0,0 +1,10 @@ +var gulp = require('gulp'), + uglify = require('gulp-uglify'); +var concat = require('gulp-concat'); + +gulp.task('minify', function () { + gulp.src(['angular.js', 'angular-route.js', 'angular-cookies.js', 'angular-sanitize.min.js']) + .pipe(uglify()) + .pipe(concat('angular.all.min.js')) + .pipe(gulp.dest('build')) +}); diff --git a/public/plugin_assets/redmine_code_review/javascripts/code_review.js b/public/plugin_assets/redmine_code_review/javascripts/code_review.js index 4f4d81691..625f376c9 100644 --- a/public/plugin_assets/redmine_code_review/javascripts/code_review.js +++ b/public/plugin_assets/redmine_code_review/javascripts/code_review.js @@ -1,354 +1,354 @@ -/* -# Code Review plugin for Redmine -# Copyright (C) 2009-2013 Haruyuki Iida -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -var topZindex = 1000; -var action_type = ''; -var rev = ''; -var rev_to = ''; -var path = ''; -var urlprefix = ''; -var review_form_dialog = null; -var add_form_title = null; -var review_dialog_title = null; -var repository_id = null; -var filenames = []; - -var ReviewCount = function(total, open, progress){ - this.total = total; - this.open = open; - this.closed = total - open; - this.progress = progress -}; - -var CodeReview = function(id) { - this.id = id; - this.path = ''; - this.line = 0; - this.url = ''; - this.is_closed = false; -}; - -var review_counts = new Array(); -var code_reviews_map = new Array(); -var code_reviews_dialog_map = new Array(); - -function UpdateRepositoryView(title) { - var header = $("table.changesets thead tr:first"); - var th = $(''); - th.html(title); - header.append(th); - $('tr.changeset td.id a').each(function(i){ - var revision = this.getAttribute("href"); - revision = revision.substr(revision.lastIndexOf("/") + 1); - var review = review_counts['revision_' + revision]; - var td = $('',{ - 'class':'progress' - }); - td.html(review.progress); - $(this.parentNode.parentNode).append(td); - }); - } -//add function $.down -if(! $.fn.down) -(function($) { - $.fn.down = function() { - var el = this[0] && this[0].firstChild; - while (el && el.nodeType != 1) - el = el.nextSibling; - return $(el); - }; -})(jQuery); - -function UpdateRevisionView() { - $('li.change').each(function(){ - var li = $(this); - if (li.hasClass('folder')) return; - - var a = li.down('a'); - if (a.size() == 0) return; - var path = a.attr('href').replace(urlprefix, '').replace(/\?.*$/, ''); - - var reviewlist = code_reviews_map[path]; - if (reviewlist == null) return; - - var ul = $('
          '); - for (var j = 0; j < reviewlist.length; j++) { - var review = reviewlist[j]; - var icon = review.is_closed? 'icon-closed-review': 'icon-review'; - var item = $('
        • ', { - 'class': 'icon ' + icon + ' code_review_summary' - }); - item.html(review.url); - ul.append(item); - } - li.append(ul); - }); -} - -function setAddReviewButton(url, change_id, image_tag, is_readonly, is_diff, attachment_id){ - var filetables = []; - var j = 0; - $('table').each(function(){ - if($(this).hasClass('filecontent')){ - filetables[j++] = this; - } - }); - j = 0; - $('table.filecontent th.filename').each(function(){ - filenames[j] = $.trim($(this).text()); - j++; - }); - addReviewUrl = url + '?change_id=' + change_id + '&action_type=' + action_type + - '&rev=' + rev + '&rev_to=' + rev_to + - '&attachment_id=' + attachment_id + '&repository_id=' + encodeURIComponent(repository_id); - if (path != null && path.length > 0) { - addReviewUrl = addReviewUrl + '&path=' + encodeURIComponent(path); - } - var num = 0; - if (is_diff) { - num = 1; - } - var i, l, tl; - for (i = 0, tl = filetables.length; i < tl; i++) { - var table = filetables[i]; - var trs = table.getElementsByTagName('tr'); - - for (j = 0,l = trs.length; j < l; j++) { - var tr = trs[j]; - var ths = tr.getElementsByTagName('th'); - - var th = ths[num]; - if (th == null) { - continue; - } - - var th_html = th.innerHTML; - - var line = th_html.match(/[0-9]+/); - if (line == null) { - continue; - } - - var span_html = ''; - - if (!is_readonly) { - span_html += image_tag; - } - span_html += ''; - th.innerHTML = th_html + span_html; - - var img = th.getElementsByTagName('img')[0]; - if (img != null ) { - img.id = 'add_revew_img_' + line + '_' + i; - $(img).click(clickPencil); - } - } - } - - -} - -function clickPencil(e) -{ -// alert('$(e.target).attr("id") = ' + $(e.target).attr("id")); - var result = $(e.target).attr("id").match(/([0-9]+)_([0-9]+)/); - var line = result[1]; - var file_count = eval(result[2]); - var url = addReviewUrl + '&line=' + line + '&file_count=' + file_count; - - if (path == null || path.length == 0) { - url = url + '&path=' + encodeURIComponent(filenames[file_count]) + '&diff_all=true'; - } - addReview(url); - formPopup(e.pageX, e.pageY); - e.preventDefault(); -} -var addReviewUrl = null; -var showReviewUrl = null; -var showReviewImageTag = null; -var showClosedReviewImageTag = null; - -function setShowReviewButton(line, review_id, is_closed, file_count) { - //alert('file_count = ' + file_count); - var span = $('#review_span_' + line + '_' + file_count); - if (span.size() == 0) { - return; - } - var innerSpan = $('',{id: 'review_' + review_id}); - span.append(innerSpan); - innerSpan.html(is_closed? showClosedReviewImageTag : showReviewImageTag); - var div = $('
          ', { - 'class':'draggable', - id: 'show_review_' + review_id - }); - $('#code_review').append(div); - innerSpan.down('img').click(function(e) { - var review_id = $(e.target).parent().attr('id').match(/[0-9]+/)[0]; - var span = $('#review_' + review_id); // span element of view review button - var pos = span.offset(); - showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top + 25); - }); -} - -function popupReview(review_id) { - var span = $('#review_' + review_id); // span element of view review button - var pos = span.offset(); - $('html,body').animate({ scrollTop: pos.top }, - {duration: 'fast', - complete: function(){showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top)}}); - // position and show popup dialog - // create popup dialog - //var win = showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top); -// win.toFront(); -} - -function showReview(url, review_id, x, y) { - if (code_reviews_dialog_map[review_id] != null) { - var cur_win = code_reviews_dialog_map[review_id]; - cur_win.hide(); - code_reviews_dialog_map[review_id] = null; - } - $('#show_review_' + review_id).load(url, {review_id: review_id}); - var review = getReviewObjById(review_id); - - var win = $('#show_review_' + review_id).dialog({ - show: {effect:'scale'},// ? 'top-left' - //position: [x, y + 5], - width:640, - zIndex: topZindex, - title: review_dialog_title - }); -// win.getContent().style.color = "#484848"; -// win.getContent().style.background = "#ffffff"; - topZindex++; - code_reviews_dialog_map[review_id] = win; - return win -} - -function getReviewObjById(review_id) { - for (var reviewlist in code_reviews_map) { - for (var i = 0; i < reviewlist.length; i++) { - var review = reviewlist[i]; - if (review.id == review_id) { - return review; - } - } - } - return null; -} - -function formPopup(x, y){ - //@see http://docs.jquery.com/UI/Effects/Scale - var win = $('#review-form-frame').dialog({ - show: {effect:'scale', direction: 'both'},// ? 'top-left' -// position: [x, y + 5], - width:640, - zIndex: topZindex, - title: add_form_title - }); -// win.getContent().style.background = "#ffffff"; - if (review_form_dialog != null) { - review_form_dialog.destroy(); - review_form_dialog = null; - } - review_form_dialog = win; - topZindex += 10; - return false; -} - -function hideForm() { - if (review_form_dialog == null) { - return; - } - review_form_dialog.dialog('close'); - review_form_dialog = null; - $('#review-form').html(''); -} -function addReview(url) { - $('#review-form').load(url); -} - -function deleteReview(review_id) { - $('show_review_' + review_id).remove(); - $('review_' + review_id).remove(); - -} - -function changeImage(review_id, is_closed) { - var span = $('review_' + review_id); - var new_image = null; - var dummy = new Element('span'); - if (is_closed) { - dummy.insert(showClosedReviewImageTag); - } - else { - dummy.insert(showReviewImageTag); - } - new_image = dummy.down().getAttribute('src'); - //alert(new_image); - span.down('img').setAttribute('src', new_image); - -} - -function make_addreview_link(project, link) { - var alist = $('#content p a'); - if (alist == null) { - return; - } - var a = alist[0]; - var p = a.parentNode; - p.innerHTML = p.innerHTML + " | " + link; -} - -function call_update_revisions(url) { - var changeset_ids = ''; - var links = $$('table.changesets tbody tr.changeset td.id a'); - for (var i = 0; i < links.length; i++) { - var link = links[i]; - var href = link.getAttribute('href'); - var id = href.replace(/^.*\/revisions\//, ''); - if (i > 0) { - changeset_ids += ','; - } - changeset_ids += id; - } - new Ajax.Updater('code_review_revisions', url, - { - evalScripts:true, - method:'get', - parameters: 'changeset_ids=' + encodeURI(changeset_ids) - }); -} - -$.fn.serialize2json = function() -{ - var o = {}; - var a = this.serializeArray(); - $.each(a, function() { - if (o[this.name]) { - if (!o[this.name].push) { - o[this.name] = [o[this.name]]; - } - o[this.name].push(this.value || ''); - } else { - o[this.name] = this.value || ''; - } - }); - return o; +/* +# Code Review plugin for Redmine +# Copyright (C) 2009-2013 Haruyuki Iida +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +var topZindex = 1000; +var action_type = ''; +var rev = ''; +var rev_to = ''; +var path = ''; +var urlprefix = ''; +var review_form_dialog = null; +var add_form_title = null; +var review_dialog_title = null; +var repository_id = null; +var filenames = []; + +var ReviewCount = function(total, open, progress){ + this.total = total; + this.open = open; + this.closed = total - open; + this.progress = progress +}; + +var CodeReview = function(id) { + this.id = id; + this.path = ''; + this.line = 0; + this.url = ''; + this.is_closed = false; +}; + +var review_counts = new Array(); +var code_reviews_map = new Array(); +var code_reviews_dialog_map = new Array(); + +function UpdateRepositoryView(title) { + var header = $("table.changesets thead tr:first"); + var th = $(''); + th.html(title); + header.append(th); + $('tr.changeset td.id a').each(function(i){ + var revision = this.getAttribute("href"); + revision = revision.substr(revision.lastIndexOf("/") + 1); + var review = review_counts['revision_' + revision]; + var td = $('',{ + 'class':'progress' + }); + td.html(review.progress); + $(this.parentNode.parentNode).append(td); + }); + } +//add function $.down +if(! $.fn.down) +(function($) { + $.fn.down = function() { + var el = this[0] && this[0].firstChild; + while (el && el.nodeType != 1) + el = el.nextSibling; + return $(el); + }; +})(jQuery); + +function UpdateRevisionView() { + $('li.change').each(function(){ + var li = $(this); + if (li.hasClass('folder')) return; + + var a = li.down('a'); + if (a.size() == 0) return; + var path = a.attr('href').replace(urlprefix, '').replace(/\?.*$/, ''); + + var reviewlist = code_reviews_map[path]; + if (reviewlist == null) return; + + var ul = $('
            '); + for (var j = 0; j < reviewlist.length; j++) { + var review = reviewlist[j]; + var icon = review.is_closed? 'icon-closed-review': 'icon-review'; + var item = $('
          • ', { + 'class': 'icon ' + icon + ' code_review_summary' + }); + item.html(review.url); + ul.append(item); + } + li.append(ul); + }); +} + +function setAddReviewButton(url, change_id, image_tag, is_readonly, is_diff, attachment_id){ + var filetables = []; + var j = 0; + $('table').each(function(){ + if($(this).hasClass('filecontent')){ + filetables[j++] = this; + } + }); + j = 0; + $('table.filecontent th.filename').each(function(){ + filenames[j] = $.trim($(this).text()); + j++; + }); + addReviewUrl = url + '?change_id=' + change_id + '&action_type=' + action_type + + '&rev=' + rev + '&rev_to=' + rev_to + + '&attachment_id=' + attachment_id + '&repository_id=' + encodeURIComponent(repository_id); + if (path != null && path.length > 0) { + addReviewUrl = addReviewUrl + '&path=' + encodeURIComponent(path); + } + var num = 0; + if (is_diff) { + num = 1; + } + var i, l, tl; + for (i = 0, tl = filetables.length; i < tl; i++) { + var table = filetables[i]; + var trs = table.getElementsByTagName('tr'); + + for (j = 0,l = trs.length; j < l; j++) { + var tr = trs[j]; + var ths = tr.getElementsByTagName('th'); + + var th = ths[num]; + if (th == null) { + continue; + } + + var th_html = th.innerHTML; + + var line = th_html.match(/[0-9]+/); + if (line == null) { + continue; + } + + var span_html = ''; + + if (!is_readonly) { + span_html += image_tag; + } + span_html += ''; + th.innerHTML = th_html + span_html; + + var img = th.getElementsByTagName('img')[0]; + if (img != null ) { + img.id = 'add_revew_img_' + line + '_' + i; + $(img).click(clickPencil); + } + } + } + + +} + +function clickPencil(e) +{ +// alert('$(e.target).attr("id") = ' + $(e.target).attr("id")); + var result = $(e.target).attr("id").match(/([0-9]+)_([0-9]+)/); + var line = result[1]; + var file_count = eval(result[2]); + var url = addReviewUrl + '&line=' + line + '&file_count=' + file_count; + + if (path == null || path.length == 0) { + url = url + '&path=' + encodeURIComponent(filenames[file_count]) + '&diff_all=true'; + } + addReview(url); + formPopup(e.pageX, e.pageY); + e.preventDefault(); +} +var addReviewUrl = null; +var showReviewUrl = null; +var showReviewImageTag = null; +var showClosedReviewImageTag = null; + +function setShowReviewButton(line, review_id, is_closed, file_count) { + //alert('file_count = ' + file_count); + var span = $('#review_span_' + line + '_' + file_count); + if (span.size() == 0) { + return; + } + var innerSpan = $('',{id: 'review_' + review_id}); + span.append(innerSpan); + innerSpan.html(is_closed? showClosedReviewImageTag : showReviewImageTag); + var div = $('
            ', { + 'class':'draggable', + id: 'show_review_' + review_id + }); + $('#code_review').append(div); + innerSpan.down('img').click(function(e) { + var review_id = $(e.target).parent().attr('id').match(/[0-9]+/)[0]; + var span = $('#review_' + review_id); // span element of view review button + var pos = span.offset(); + showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top + 25); + }); +} + +function popupReview(review_id) { + var span = $('#review_' + review_id); // span element of view review button + var pos = span.offset(); + $('html,body').animate({ scrollTop: pos.top }, + {duration: 'fast', + complete: function(){showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top)}}); + // position and show popup dialog + // create popup dialog + //var win = showReview(showReviewUrl, review_id, pos.left + 10 + 5, pos.top); +// win.toFront(); +} + +function showReview(url, review_id, x, y) { + if (code_reviews_dialog_map[review_id] != null) { + var cur_win = code_reviews_dialog_map[review_id]; + cur_win.hide(); + code_reviews_dialog_map[review_id] = null; + } + $('#show_review_' + review_id).load(url, {review_id: review_id}); + var review = getReviewObjById(review_id); + + var win = $('#show_review_' + review_id).dialog({ + show: {effect:'scale'},// ? 'top-left' + //position: [x, y + 5], + width:640, + zIndex: topZindex, + title: review_dialog_title + }); +// win.getContent().style.color = "#484848"; +// win.getContent().style.background = "#ffffff"; + topZindex++; + code_reviews_dialog_map[review_id] = win; + return win +} + +function getReviewObjById(review_id) { + for (var reviewlist in code_reviews_map) { + for (var i = 0; i < reviewlist.length; i++) { + var review = reviewlist[i]; + if (review.id == review_id) { + return review; + } + } + } + return null; +} + +function formPopup(x, y){ + //@see http://docs.jquery.com/UI/Effects/Scale + var win = $('#review-form-frame').dialog({ + show: {effect:'scale', direction: 'both'},// ? 'top-left' +// position: [x, y + 5], + width:640, + zIndex: topZindex, + title: add_form_title + }); +// win.getContent().style.background = "#ffffff"; + if (review_form_dialog != null) { + review_form_dialog.destroy(); + review_form_dialog = null; + } + review_form_dialog = win; + topZindex += 10; + return false; +} + +function hideForm() { + if (review_form_dialog == null) { + return; + } + review_form_dialog.dialog('close'); + review_form_dialog = null; + $('#review-form').html(''); +} +function addReview(url) { + $('#review-form').load(url); +} + +function deleteReview(review_id) { + $('show_review_' + review_id).remove(); + $('review_' + review_id).remove(); + +} + +function changeImage(review_id, is_closed) { + var span = $('review_' + review_id); + var new_image = null; + var dummy = new Element('span'); + if (is_closed) { + dummy.insert(showClosedReviewImageTag); + } + else { + dummy.insert(showReviewImageTag); + } + new_image = dummy.down().getAttribute('src'); + //alert(new_image); + span.down('img').setAttribute('src', new_image); + +} + +function make_addreview_link(project, link) { + var alist = $('#content p a'); + if (alist == null) { + return; + } + var a = alist[0]; + var p = a.parentNode; + p.innerHTML = p.innerHTML + " | " + link; +} + +function call_update_revisions(url) { + var changeset_ids = ''; + var links = $$('table.changesets tbody tr.changeset td.id a'); + for (var i = 0; i < links.length; i++) { + var link = links[i]; + var href = link.getAttribute('href'); + var id = href.replace(/^.*\/revisions\//, ''); + if (i > 0) { + changeset_ids += ','; + } + changeset_ids += id; + } + new Ajax.Updater('code_review_revisions', url, + { + evalScripts:true, + method:'get', + parameters: 'changeset_ids=' + encodeURI(changeset_ids) + }); +} + +$.fn.serialize2json = function() +{ + var o = {}; + var a = this.serializeArray(); + $.each(a, function() { + if (o[this.name]) { + if (!o[this.name].push) { + o[this.name] = [o[this.name]]; + } + o[this.name].push(this.value || ''); + } else { + o[this.name] = this.value || ''; + } + }); + return o; }; \ No newline at end of file diff --git a/public/plugin_assets/redmine_code_review/stylesheets/activity.css b/public/plugin_assets/redmine_code_review/stylesheets/activity.css index 202ed54e3..e3cdc3d55 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/activity.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/activity.css @@ -1,4 +1,4 @@ - -dt.code_review { - background-image: url(../images/review.png); + +dt.code_review { + background-image: url(../images/review.png); } \ No newline at end of file diff --git a/public/plugin_assets/redmine_code_review/stylesheets/code_review.css b/public/plugin_assets/redmine_code_review/stylesheets/code_review.css index e25dc6d72..11939ae79 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/code_review.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/code_review.css @@ -1,97 +1,97 @@ -/* -# Code Review plugin for Redmine -# Copyright (C) 2009 Haruyuki Iida -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ -#review-form-frame { -height: 100%; -} - -.autoscroll table.filecontent th.line-num { - white-space: nowrap; - vertical-align: bottom; - padding-top: 0; - padding-bottom: 0; - text-align:left; -} - -table.filecontent th.line-num img{ - padding: 0; - margin: 0; - cursor: pointer; -} - - -.code-review-form-title { - background-color: #002059; - color: white; - padding-left: 2px; - padding-right: 2px; - cursor: default; -} - - -.code_review_viewer { - - min-width: 300px; - /* - max-width: 60%; - */ - /* max-height: 400px; */ -} - -.code_review_viewer .issue{ - -} - -.code_review_body { - background-color: white; - - padding:2px; - -} - -#code_review_list table.list td { - text-align: center; -} - -#code_review_list table.list td.path { - text-align: left; -} - -#code_review_list table.list td.subject { - text-align: left; -} - -.icon-review { - background-image: url(../images/review.png); - background-repeat: no-repeat; -} - -.icon-closed-review { - background-image: url(../images/closed_review.png); - background-repeat: no-repeat; -} - -.icon-settings { - background-image: url(../../../images/changeset.png); - background-repeat: no-repeat; -} - - -li.code_review_summary { - list-style-type: none; +/* +# Code Review plugin for Redmine +# Copyright (C) 2009 Haruyuki Iida +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ +#review-form-frame { +height: 100%; +} + +.autoscroll table.filecontent th.line-num { + white-space: nowrap; + vertical-align: bottom; + padding-top: 0; + padding-bottom: 0; + text-align:left; +} + +table.filecontent th.line-num img{ + padding: 0; + margin: 0; + cursor: pointer; +} + + +.code-review-form-title { + background-color: #002059; + color: white; + padding-left: 2px; + padding-right: 2px; + cursor: default; +} + + +.code_review_viewer { + + min-width: 300px; + /* + max-width: 60%; + */ + /* max-height: 400px; */ +} + +.code_review_viewer .issue{ + +} + +.code_review_body { + background-color: white; + + padding:2px; + +} + +#code_review_list table.list td { + text-align: center; +} + +#code_review_list table.list td.path { + text-align: left; +} + +#code_review_list table.list td.subject { + text-align: left; +} + +.icon-review { + background-image: url(../images/review.png); + background-repeat: no-repeat; +} + +.icon-closed-review { + background-image: url(../images/closed_review.png); + background-repeat: no-repeat; +} + +.icon-settings { + background-image: url(../../../images/changeset.png); + background-repeat: no-repeat; +} + + +li.code_review_summary { + list-style-type: none; } \ No newline at end of file diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/MIT-LICENSE b/public/plugin_assets/redmine_code_review/stylesheets/window_js/MIT-LICENSE index 0a7cf9ad1..5bcdad1bd 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/MIT-LICENSE +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/MIT-LICENSE @@ -1,19 +1,19 @@ -Copyright (c) 2006 Sébastien Gruhier (http://xilinus.com, http://itseb.com) - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Copyright (c) 2006 Sébastien Gruhier (http://xilinus.com, http://itseb.com) + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert.css index 4846e6185..432d14e36 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert.css @@ -1,119 +1,119 @@ -.overlay_alert { - background-color: #85BBEF; - filter:alpha(opacity=60); - -moz-opacity: 0.6; - opacity: 0.6; -} - -.alert_nw { - width: 5px; - height: 5px; - background: transparent url(alert/top_left.gif) no-repeat bottom left; -} - -.alert_n { - height: 5px; - background: transparent url(alert/top.gif) repeat-x bottom left; -} - -.alert_ne { - width: 5px; - height: 5px; - background: transparent url(alert/top_right.gif) no-repeat bottom left -} - -.alert_e { - width: 5px; - background: transparent url(alert/right.gif) repeat-y 0 0; -} - -.alert_w { - width: 5px; - background: transparent url(alert/left.gif) repeat-y 0 0; -} - -.alert_sw { - width: 5px; - height: 5px; - background: transparent url(alert/bottom_left.gif) no-repeat 0 0; -} - -.alert_s { - height: 5px; - background: transparent url(alert/bottom.gif) repeat-x 0 0; -} - -.alert_se, .alert_sizer { - width: 5px; - height: 5px; - background: transparent url(alert/bottom_right.gif) no-repeat 0 0; -} - -.alert_close { - width:0px; - height:0px; - display:none; -} - -.alert_minimize { - width:0px; - height:0px; - display:none; -} - -.alert_maximize { - width:0px; - height:0px; - display:none; -} - -.alert_title { - float:left; - height:1px; - width:100%; -} - -.alert_content { - overflow:visible; - color: #000; - font-family: Tahoma, Arial, sans-serif; - font: 12px arial; - background: #FFF; -} - -/* For alert/confirm dialog */ -.alert_window { - background: #FFF; - padding:20px; - margin-left:auto; - margin-right:auto; - width:400px; -} - -.alert_message { - font: 12px arial; - width:100%; - color:#F00; - padding-bottom:10px; -} - -.alert_buttons { - text-align:center; - width:100%; -} - -.alert_buttons input { - width:20%; - margin:10px; -} - -.alert_progress { - float:left; - margin:auto; - text-align:center; - width:100%; - height:16px; - background: #FFF url('alert/progress.gif') no-repeat center center -} - - +.overlay_alert { + background-color: #85BBEF; + filter:alpha(opacity=60); + -moz-opacity: 0.6; + opacity: 0.6; +} + +.alert_nw { + width: 5px; + height: 5px; + background: transparent url(alert/top_left.gif) no-repeat bottom left; +} + +.alert_n { + height: 5px; + background: transparent url(alert/top.gif) repeat-x bottom left; +} + +.alert_ne { + width: 5px; + height: 5px; + background: transparent url(alert/top_right.gif) no-repeat bottom left +} + +.alert_e { + width: 5px; + background: transparent url(alert/right.gif) repeat-y 0 0; +} + +.alert_w { + width: 5px; + background: transparent url(alert/left.gif) repeat-y 0 0; +} + +.alert_sw { + width: 5px; + height: 5px; + background: transparent url(alert/bottom_left.gif) no-repeat 0 0; +} + +.alert_s { + height: 5px; + background: transparent url(alert/bottom.gif) repeat-x 0 0; +} + +.alert_se, .alert_sizer { + width: 5px; + height: 5px; + background: transparent url(alert/bottom_right.gif) no-repeat 0 0; +} + +.alert_close { + width:0px; + height:0px; + display:none; +} + +.alert_minimize { + width:0px; + height:0px; + display:none; +} + +.alert_maximize { + width:0px; + height:0px; + display:none; +} + +.alert_title { + float:left; + height:1px; + width:100%; +} + +.alert_content { + overflow:visible; + color: #000; + font-family: Tahoma, Arial, sans-serif; + font: 12px arial; + background: #FFF; +} + +/* For alert/confirm dialog */ +.alert_window { + background: #FFF; + padding:20px; + margin-left:auto; + margin-right:auto; + width:400px; +} + +.alert_message { + font: 12px arial; + width:100%; + color:#F00; + padding-bottom:10px; +} + +.alert_buttons { + text-align:center; + width:100%; +} + +.alert_buttons input { + width:20%; + margin:10px; +} + +.alert_progress { + float:left; + margin:auto; + text-align:center; + width:100%; + height:16px; + background: #FFF url('alert/progress.gif') no-repeat center center +} + + diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert_lite.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert_lite.css index a74fc71c3..c2ad538ca 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert_lite.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/alert_lite.css @@ -1,88 +1,88 @@ -.overlay_alert_lite { - background-color: #85BBEF; - filter:alpha(opacity=60); - -moz-opacity: 0.6; - opacity: 0.6; -} - -.alert_lite_sizer { - width:0px; - height:0px; - display:none; -} - -.alert_lite_close { - width:0px; - height:0px; - display:none; -} - -.alert_lite_minimize { - width:0px; - height:0px; - display:none; -} - -.alert_lite_maximize { - width:0px; - height:0px; - display:none; -} - -.alert_lite_title { - width:0px; - height:0px; - display:none; -} - -.alert_lite_content { - overflow:auto; - color: #000; - font-family: Tahoma, Arial, sans-serif; - font-size: 10px; - background: #FFF; -} - - -/* For alert/confirm dialog */ -.alert_lite_window { - border:1px solid #F00; - background: #FFF; - padding:20px; - margin-left:auto; - margin-right:auto; - width:400px; -} - -.alert_lite_message { - font-size:16px; - text-align:center; - width:100%; - color:#F00; - padding-bottom:10px; -} - -.alert_lite_buttons { - text-align:center; - width:100%; -} - -.alert_lite_buttons input { - width:20%; - margin:10px; -} - -.alert_lite_progress { - float:left; - margin:auto; - text-align:center; - width:100%; - height:16px; - background: #FFF url('alert/progress.gif') no-repeat center center -} - -table.alert_lite_header { - border:1px solid #F00; - background:#FFF -} - +.overlay_alert_lite { + background-color: #85BBEF; + filter:alpha(opacity=60); + -moz-opacity: 0.6; + opacity: 0.6; +} + +.alert_lite_sizer { + width:0px; + height:0px; + display:none; +} + +.alert_lite_close { + width:0px; + height:0px; + display:none; +} + +.alert_lite_minimize { + width:0px; + height:0px; + display:none; +} + +.alert_lite_maximize { + width:0px; + height:0px; + display:none; +} + +.alert_lite_title { + width:0px; + height:0px; + display:none; +} + +.alert_lite_content { + overflow:auto; + color: #000; + font-family: Tahoma, Arial, sans-serif; + font-size: 10px; + background: #FFF; +} + + +/* For alert/confirm dialog */ +.alert_lite_window { + border:1px solid #F00; + background: #FFF; + padding:20px; + margin-left:auto; + margin-right:auto; + width:400px; +} + +.alert_lite_message { + font-size:16px; + text-align:center; + width:100%; + color:#F00; + padding-bottom:10px; +} + +.alert_lite_buttons { + text-align:center; + width:100%; +} + +.alert_lite_buttons input { + width:20%; + margin:10px; +} + +.alert_lite_progress { + float:left; + margin:auto; + text-align:center; + width:100%; + height:16px; + background: #FFF url('alert/progress.gif') no-repeat center center +} + +table.alert_lite_header { + border:1px solid #F00; + background:#FFF +} + diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/alphacube.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/alphacube.css index 6d2862c0e..7d2790e75 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/alphacube.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/alphacube.css @@ -1,150 +1,150 @@ -.overlay_alphacube { - background-color: #85BBEF; - filter:alpha(opacity=60); - -moz-opacity: 0.6; - opacity: 0.6; -} - -.alphacube_nw { - background: transparent url(alphacube/left-top.gif) no-repeat 0 0; - width:10px; - height:25px; -} - -.alphacube_n { - background: transparent url(alphacube/top-middle.gif) repeat-x 0 0; - height:25px; -} - -.alphacube_ne { - background: transparent url(alphacube/right-top.gif) no-repeat 0 0; - width:10px; - height:25px; -} - -.alphacube_w { - background: transparent url(alphacube/frame-left.gif) repeat-y top left; - width:7px; -} - -.alphacube_e { - background: transparent url(alphacube/frame-right.gif) repeat-y top right; - width:7px; -} - -.alphacube_sw { - background: transparent url(alphacube/bottom-left-c.gif) no-repeat 0 0; - width:7px; - height:7px; -} - -.alphacube_s { - background: transparent url(alphacube/bottom-middle.gif) repeat-x 0 0; - height:7px; -} - -.alphacube_se, .alphacube_sizer { - background: transparent url(alphacube/bottom-right-c.gif) no-repeat 0 0; - width:7px; - height:7px; -} - -.alphacube_sizer { - cursor:se-resize; -} - -.alphacube_close { - width: 23px; - height: 23px; - background: transparent url(alphacube/button-close-focus.gif) no-repeat 0 0; - position:absolute; - top:0px; - right:11px; - cursor:pointer; - z-index:1000; -} - -.alphacube_minimize { - width: 23px; - height: 23px; - background: transparent url(alphacube/button-min-focus.gif) no-repeat 0 0; - position:absolute; - top:0px; - right:55px; - cursor:pointer; - z-index:1000; -} - -.alphacube_maximize { - width: 23px; - height: 23px; - background: transparent url(alphacube/button-max-focus.gif) no-repeat 0 0; - position:absolute; - top:0px; - right:33px; - cursor:pointer; - z-index:1000; -} - -.alphacube_title { - float:left; - height:14px; - font-size:14px; - text-align:center; - margin-top:2px; - width:100%; - color:#123456; -} - -.alphacube_content { - overflow:auto; - color: #000; - font-family: Tahoma, Arial, sans-serif; - font: 12px arial; - background:#FDFDFD; -} - -/* For alert/confirm dialog */ -.alphacube_window { - border:1px solid #F00; - background: #FFF; - padding:20px; - margin-left:auto; - margin-right:auto; - width:400px; -} - -.alphacube_message { - font: 12px arial; - text-align:center; - width:100%; - padding-bottom:10px; -} - -.alphacube_buttons { - text-align:center; - width:100%; -} - -.alphacube_buttons input { - width:20%; - margin:10px; -} - -.alphacube_progress { - float:left; - margin:auto; - text-align:center; - width:100%; - height:16px; - background: #FFF url('alert/progress.gif') no-repeat center center -} - -.alphacube_wired_frame { - background: #FFF; - filter:alpha(opacity=60); - -moz-opacity: 0.6; - opacity: 0.6; -} - - +.overlay_alphacube { + background-color: #85BBEF; + filter:alpha(opacity=60); + -moz-opacity: 0.6; + opacity: 0.6; +} + +.alphacube_nw { + background: transparent url(alphacube/left-top.gif) no-repeat 0 0; + width:10px; + height:25px; +} + +.alphacube_n { + background: transparent url(alphacube/top-middle.gif) repeat-x 0 0; + height:25px; +} + +.alphacube_ne { + background: transparent url(alphacube/right-top.gif) no-repeat 0 0; + width:10px; + height:25px; +} + +.alphacube_w { + background: transparent url(alphacube/frame-left.gif) repeat-y top left; + width:7px; +} + +.alphacube_e { + background: transparent url(alphacube/frame-right.gif) repeat-y top right; + width:7px; +} + +.alphacube_sw { + background: transparent url(alphacube/bottom-left-c.gif) no-repeat 0 0; + width:7px; + height:7px; +} + +.alphacube_s { + background: transparent url(alphacube/bottom-middle.gif) repeat-x 0 0; + height:7px; +} + +.alphacube_se, .alphacube_sizer { + background: transparent url(alphacube/bottom-right-c.gif) no-repeat 0 0; + width:7px; + height:7px; +} + +.alphacube_sizer { + cursor:se-resize; +} + +.alphacube_close { + width: 23px; + height: 23px; + background: transparent url(alphacube/button-close-focus.gif) no-repeat 0 0; + position:absolute; + top:0px; + right:11px; + cursor:pointer; + z-index:1000; +} + +.alphacube_minimize { + width: 23px; + height: 23px; + background: transparent url(alphacube/button-min-focus.gif) no-repeat 0 0; + position:absolute; + top:0px; + right:55px; + cursor:pointer; + z-index:1000; +} + +.alphacube_maximize { + width: 23px; + height: 23px; + background: transparent url(alphacube/button-max-focus.gif) no-repeat 0 0; + position:absolute; + top:0px; + right:33px; + cursor:pointer; + z-index:1000; +} + +.alphacube_title { + float:left; + height:14px; + font-size:14px; + text-align:center; + margin-top:2px; + width:100%; + color:#123456; +} + +.alphacube_content { + overflow:auto; + color: #000; + font-family: Tahoma, Arial, sans-serif; + font: 12px arial; + background:#FDFDFD; +} + +/* For alert/confirm dialog */ +.alphacube_window { + border:1px solid #F00; + background: #FFF; + padding:20px; + margin-left:auto; + margin-right:auto; + width:400px; +} + +.alphacube_message { + font: 12px arial; + text-align:center; + width:100%; + padding-bottom:10px; +} + +.alphacube_buttons { + text-align:center; + width:100%; +} + +.alphacube_buttons input { + width:20%; + margin:10px; +} + +.alphacube_progress { + float:left; + margin:auto; + text-align:center; + width:100%; + height:16px; + background: #FFF url('alert/progress.gif') no-repeat center center +} + +.alphacube_wired_frame { + background: #FFF; + filter:alpha(opacity=60); + -moz-opacity: 0.6; + opacity: 0.6; +} + + diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/behavior.htc b/public/plugin_assets/redmine_code_review/stylesheets/window_js/behavior.htc index e5c6edc1c..437c5ec92 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/behavior.htc +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/behavior.htc @@ -1,51 +1,51 @@ - - - + + + \ No newline at end of file diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/darkX.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/darkX.css index e3df3e0a4..2f83cfd46 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/darkX.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/darkX.css @@ -1,121 +1,121 @@ -.overlay_darkX { - background-color: #85BBEF; - filter:alpha(opacity=60); - -moz-opacity: 0.6; - opacity: 0.6; -} - -.darkX_nw { - background: transparent url(darkX/titlebar-left-focused.png) no-repeat 0 0; - width:6px; - height:21px; -} -.darkX_n { - background: transparent url(darkX/titlebar-mid-focused.png) repeat-x 0 0; - height:21px; -} -.darkX_ne { - background: transparent url(darkX/titlebar-right-focused.png) no-repeat 0 0; - width:6px; - height:21px; -} -.darkX_w { - background: transparent url(darkX/frame-left-focused.png) repeat-y top left; - width:3px; -} - -.darkX_e { - background: transparent url(darkX/frame-right-focused.png) repeat-y top right; - width:3px; -} - -.darkX_sw { - background: transparent url(darkX/frame-bottom-left-focused.png) no-repeat 0 0; - width:5px; - height:3px; -} -.darkX_s { - background: transparent url(darkX/frame-bottom-mid-focused.png) repeat-x 0 0; - height:3px; -} -.darkX_se, .darkX_sizer { - background: transparent url(darkX/frame-bottom-right-focused.png) no-repeat 0 0; - width:5px; - height:3px; -} - -.darkX_sizer { - cursor:se-resize; -} - -.darkX_close { - width: 21px; - height: 21px; - background: transparent url(darkX/button-close-focused.png) no-repeat 0 0; - position:absolute; - top:0px; - right:5px; - cursor:pointer; - z-index:1000; -} - -.darkX_minimize { - width: 21px; - height: 21px; - background: transparent url(darkX/button-minimize-focused.png) no-repeat 0 0; - position:absolute; - top:0px; - right:26px; - cursor:pointer; - z-index:1000; -} - -.darkX_maximize { - width: 21px; - height: 21px; - background: transparent url(darkX/button-maximize-focused.png) no-repeat 0 0; - position:absolute; - top:0px; - right:47px; - cursor:pointer; - z-index:1000; -} - - -.darkX_title { - float:left; - height:14px; - font-size:12px; - text-align:center; - margin-top:2px; - width:100%; - color:#FFF; -} - -.darkX_content { - overflow:auto; - color: #E6DF2A; - font-family: Tahoma, Arial, sans-serif; - font-size: 14px; - background:#5E5148; -} - - -/* FOR IE */ -* html .darkX_minimize { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-minimize-focused.png", sizingMethod="crop"); -} - -* html .darkX_maximize { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-maximize-focused.png", sizingMethod="scale"); -} - -* html .darkX_close { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-close-focused.png", sizingMethod="crop"); -} +.overlay_darkX { + background-color: #85BBEF; + filter:alpha(opacity=60); + -moz-opacity: 0.6; + opacity: 0.6; +} + +.darkX_nw { + background: transparent url(darkX/titlebar-left-focused.png) no-repeat 0 0; + width:6px; + height:21px; +} +.darkX_n { + background: transparent url(darkX/titlebar-mid-focused.png) repeat-x 0 0; + height:21px; +} +.darkX_ne { + background: transparent url(darkX/titlebar-right-focused.png) no-repeat 0 0; + width:6px; + height:21px; +} +.darkX_w { + background: transparent url(darkX/frame-left-focused.png) repeat-y top left; + width:3px; +} + +.darkX_e { + background: transparent url(darkX/frame-right-focused.png) repeat-y top right; + width:3px; +} + +.darkX_sw { + background: transparent url(darkX/frame-bottom-left-focused.png) no-repeat 0 0; + width:5px; + height:3px; +} +.darkX_s { + background: transparent url(darkX/frame-bottom-mid-focused.png) repeat-x 0 0; + height:3px; +} +.darkX_se, .darkX_sizer { + background: transparent url(darkX/frame-bottom-right-focused.png) no-repeat 0 0; + width:5px; + height:3px; +} + +.darkX_sizer { + cursor:se-resize; +} + +.darkX_close { + width: 21px; + height: 21px; + background: transparent url(darkX/button-close-focused.png) no-repeat 0 0; + position:absolute; + top:0px; + right:5px; + cursor:pointer; + z-index:1000; +} + +.darkX_minimize { + width: 21px; + height: 21px; + background: transparent url(darkX/button-minimize-focused.png) no-repeat 0 0; + position:absolute; + top:0px; + right:26px; + cursor:pointer; + z-index:1000; +} + +.darkX_maximize { + width: 21px; + height: 21px; + background: transparent url(darkX/button-maximize-focused.png) no-repeat 0 0; + position:absolute; + top:0px; + right:47px; + cursor:pointer; + z-index:1000; +} + + +.darkX_title { + float:left; + height:14px; + font-size:12px; + text-align:center; + margin-top:2px; + width:100%; + color:#FFF; +} + +.darkX_content { + overflow:auto; + color: #E6DF2A; + font-family: Tahoma, Arial, sans-serif; + font-size: 14px; + background:#5E5148; +} + + +/* FOR IE */ +* html .darkX_minimize { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-minimize-focused.png", sizingMethod="crop"); +} + +* html .darkX_maximize { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-maximize-focused.png", sizingMethod="scale"); +} + +* html .darkX_close { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-close-focused.png", sizingMethod="crop"); +} diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/debug.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/debug.css index d7981e9ca..69e3b7fc2 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/debug.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/debug.css @@ -1,25 +1,25 @@ -div.inspector div.inspectable { - padding: 0.25em 0 0.25em 1em; - background-color: Gray; - color: white; - border: outset 2px white; - cursor: pointer; -} - -div.inspector div.child { - margin: 0 0 0 1em; -} - -#debug_window_content { /* DIV container for debug sizing*/ - width:250px; - height:100px; - background-color:#000; -} - -#debug { /* DIV container for debug contents*/ - padding:3px; - color:#0f0; - font-family:monaco, Tahoma, Verdana, Arial, Helvetica, sans-serif; - font-size:10px; -} - +div.inspector div.inspectable { + padding: 0.25em 0 0.25em 1em; + background-color: Gray; + color: white; + border: outset 2px white; + cursor: pointer; +} + +div.inspector div.child { + margin: 0 0 0 1em; +} + +#debug_window_content { /* DIV container for debug sizing*/ + width:250px; + height:100px; + background-color:#000; +} + +#debug { /* DIV container for debug contents*/ + padding:3px; + color:#0f0; + font-family:monaco, Tahoma, Verdana, Arial, Helvetica, sans-serif; + font-size:10px; +} + diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/default.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/default.css index 591451723..6ab13789d 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/default.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/default.css @@ -1,155 +1,155 @@ -.overlay_dialog { - background-color: #666666; - filter:alpha(opacity=60); - -moz-opacity: 0.6; - opacity: 0.6; -} - -.overlay___invisible__ { - background-color: #666666; - filter:alpha(opacity=0); - -moz-opacity: 0; - opacity: 0; -} - -.dialog_nw { - width: 9px; - height: 23px; - background: transparent url(default/top_left.gif) no-repeat 0 0; -} - -.dialog_n { - background: transparent url(default/top_mid.gif) repeat-x 0 0; - height: 23px; -} - -.dialog_ne { - width: 9px; - height: 23px; - background: transparent url(default/top_right.gif) no-repeat 0 0; -} - -.dialog_e { - width: 2px; - background: transparent url(default/center_right.gif) repeat-y 0 0; -} - -.dialog_w { - width: 2px; - background: transparent url(default/center_left.gif) repeat-y 0 0; -} - -.dialog_sw { - width: 9px; - height: 19px; - background: transparent url(default/bottom_left.gif) no-repeat 0 0; -} - -.dialog_s { - background: transparent url(default/bottom_mid.gif) repeat-x 0 0; - height: 19px; -} - -.dialog_se { - width: 9px; - height: 19px; - background: transparent url(default/bottom_right.gif) no-repeat 0 0; -} - -.dialog_sizer { - width: 9px; - height: 19px; - background: transparent url(default/sizer.gif) no-repeat 0 0; - cursor:se-resize; -} - -.dialog_close { - width: 14px; - height: 14px; - background: transparent url(default/close.gif) no-repeat 0 0; - position:absolute; - top:5px; - left:8px; - cursor:pointer; - z-index:2000; -} - -.dialog_minimize { - width: 14px; - height: 15px; - background: transparent url(default/minimize.gif) no-repeat 0 0; - position:absolute; - top:5px; - left:28px; - cursor:pointer; - z-index:2000; -} - -.dialog_maximize { - width: 14px; - height: 15px; - background: transparent url(default/maximize.gif) no-repeat 0 0; - position:absolute; - top:5px; - left:49px; - cursor:pointer; - z-index:2000; -} - -.dialog_title { - float:left; - height:14px; - font-family: Tahoma, Arial, sans-serif; - font-size:12px; - text-align:center; - width:100%; - color:#000; -} - -.dialog_content { - overflow:auto; - color: #DDD; - font-family: Tahoma, Arial, sans-serif; - font-size: 10px; - background-color:#123; -} - -.top_draggable, .bottom_draggable { - cursor:move; -} - -.status_bar { - font-size:12px; -} -.status_bar input{ - font-size:12px; -} - -.wired_frame { - display: block; - position: absolute; - border: 1px #000 dashed; -} - -/* DO NOT CHANGE THESE VALUES*/ -.dialog { - display: block; - position: absolute; -} - -.dialog table.table_window { - border-collapse: collapse; - border-spacing: 0; - width: 100%; - margin: 0px; - padding:0px; -} - -.dialog table.table_window td , .dialog table.table_window th { - padding: 0; -} - -.dialog .title_window { - -moz-user-select:none; -} - +.overlay_dialog { + background-color: #666666; + filter:alpha(opacity=60); + -moz-opacity: 0.6; + opacity: 0.6; +} + +.overlay___invisible__ { + background-color: #666666; + filter:alpha(opacity=0); + -moz-opacity: 0; + opacity: 0; +} + +.dialog_nw { + width: 9px; + height: 23px; + background: transparent url(default/top_left.gif) no-repeat 0 0; +} + +.dialog_n { + background: transparent url(default/top_mid.gif) repeat-x 0 0; + height: 23px; +} + +.dialog_ne { + width: 9px; + height: 23px; + background: transparent url(default/top_right.gif) no-repeat 0 0; +} + +.dialog_e { + width: 2px; + background: transparent url(default/center_right.gif) repeat-y 0 0; +} + +.dialog_w { + width: 2px; + background: transparent url(default/center_left.gif) repeat-y 0 0; +} + +.dialog_sw { + width: 9px; + height: 19px; + background: transparent url(default/bottom_left.gif) no-repeat 0 0; +} + +.dialog_s { + background: transparent url(default/bottom_mid.gif) repeat-x 0 0; + height: 19px; +} + +.dialog_se { + width: 9px; + height: 19px; + background: transparent url(default/bottom_right.gif) no-repeat 0 0; +} + +.dialog_sizer { + width: 9px; + height: 19px; + background: transparent url(default/sizer.gif) no-repeat 0 0; + cursor:se-resize; +} + +.dialog_close { + width: 14px; + height: 14px; + background: transparent url(default/close.gif) no-repeat 0 0; + position:absolute; + top:5px; + left:8px; + cursor:pointer; + z-index:2000; +} + +.dialog_minimize { + width: 14px; + height: 15px; + background: transparent url(default/minimize.gif) no-repeat 0 0; + position:absolute; + top:5px; + left:28px; + cursor:pointer; + z-index:2000; +} + +.dialog_maximize { + width: 14px; + height: 15px; + background: transparent url(default/maximize.gif) no-repeat 0 0; + position:absolute; + top:5px; + left:49px; + cursor:pointer; + z-index:2000; +} + +.dialog_title { + float:left; + height:14px; + font-family: Tahoma, Arial, sans-serif; + font-size:12px; + text-align:center; + width:100%; + color:#000; +} + +.dialog_content { + overflow:auto; + color: #DDD; + font-family: Tahoma, Arial, sans-serif; + font-size: 10px; + background-color:#123; +} + +.top_draggable, .bottom_draggable { + cursor:move; +} + +.status_bar { + font-size:12px; +} +.status_bar input{ + font-size:12px; +} + +.wired_frame { + display: block; + position: absolute; + border: 1px #000 dashed; +} + +/* DO NOT CHANGE THESE VALUES*/ +.dialog { + display: block; + position: absolute; +} + +.dialog table.table_window { + border-collapse: collapse; + border-spacing: 0; + width: 100%; + margin: 0px; + padding:0px; +} + +.dialog table.table_window td , .dialog table.table_window th { + padding: 0; +} + +.dialog .title_window { + -moz-user-select:none; +} + diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.css index 249388be5..257a1b1e3 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.css @@ -1,3 +1,3 @@ -/* PNG fix for all themes that uses PNG images on IE */ -td, div { behavior: url(../themes/iefix/iepngfix.htc) } - +/* PNG fix for all themes that uses PNG images on IE */ +td, div { behavior: url(../themes/iefix/iepngfix.htc) } + diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.htc b/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.htc index 9a13f32bf..a6c683b9f 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.htc +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/iefix/iepngfix.htc @@ -1,54 +1,54 @@ - - - - + + + + \ No newline at end of file diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting.css b/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting.css index 0d955c3d7..95ec287a9 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting.css +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting.css @@ -1,960 +1,960 @@ -.overlay___invisible__ { - background-color: #666; - filter:alpha(opacity=0); - -moz-opacity: 0; - opacity: 0; -} - -.top_draggable, .bottom_draggable { - cursor:move; -} - -.status_bar { - font-size:12px; -} -.status_bar input{ - font-size:12px; -} - -.wired_frame { - display:block; - position:absolute; - border:1px #000 dashed; -} - - - -.overlay_bluelighting { - background-color:#FFF; - filter:alpha(opacity=60); - -moz-opacity:0.6; - opacity:0.6; -} - -.bluelighting_wired_frame { - background:#FFF; - filter:alpha(opacity=60); - -moz-opacity:0.6; - opacity:0.6; -} - -.bluelighting_nw { - background:transparent url(lighting/top-left-blue.png) no-repeat 0 0; - width:9px; - height:28px; -} - -.bluelighting_n { - background:transparent url(lighting/top-middle-blue.png) repeat-x 0 0; - height:28px; -} - -.bluelighting_ne { - background:transparent url(lighting/top-right-blue.png) no-repeat 0 0; - width:15px; - height:28px; -} - -.bluelighting_w { - background:transparent url(lighting/left-blue.png) repeat-y top left; - width:9px; -} - -.bluelighting_e { - background:transparent url(lighting/right-blue.png) repeat-y top right; - width:15px; -} - -.bluelighting_sw { - background:transparent url(lighting/bottom-left-blue.png) no-repeat 0 0; - width:9px; - height:15px; -} - -.bluelighting_s { - background:transparent url(lighting/bottom-middle-blue.png) repeat-x 0 0; - height:15px; -} - -.bluelighting_se, .bluelighting_sizer { - background:transparent url(lighting/bottom-right-blue.png) no-repeat 0 0; - width:15px; - height:15px; -} - -.bluelighting_sizer { - cursor:se-resize; -} - -.bluelighting_close { - width:15px; - height:9px; - background:transparent url(lighting/button-close-blue.png) no-repeat 0 0; - position:absolute; - top:11px; - right:10px; - cursor:pointer; - z-index:1000; -} - -.bluelighting_maximize { - width:15px; - height:9px; - background:transparent url(lighting/button-maximize-blue.png) no-repeat 0 0; - position:absolute; - top:11px; - right:25px; - cursor:pointer; - z-index:1000; -} - -.bluelighting_minimize { - width:15px; - height:9px; - background:transparent url(lighting/button-minimize-blue.png) no-repeat 0 0; - position:absolute; - top:11px; - right:40px; - cursor:pointer; - z-index:1000; -} - -.bluelighting_title { - float:left; - height:14px; - font-size:14px; - font-weight:bold; - font-family:Verdana, Arial, sans-serif; - text-align:center; - margin-top:2px; - width:100%; - color:#17385B; -} - -.bluelighting_content { - overflow:auto; - color:#000; - font-family:Verdana, Arial, sans-serif; - font-size:12px; - background:#BFDBFF; -} - -/* For alert/confirm dialog */ -.bluelighting_window { - border:1px solid #F00; - background:#FFF; - padding:20px; - margin-left:auto; - margin-right:auto; - width:400px; -} - -.bluelighting_message { - font-size:12px; - text-align:center; - width:100%; - padding-bottom:10px; -} - -.bluelighting_buttons { - text-align:center; - width:100%; -} - -.bluelighting_buttons input { - border:1px solid #999; - border-top-color:#CCC; - border-left-color:#CCC; - padding:2px; - background-color:#FFF; - color:#333; - background-image:url(lighting/background_buttons.gif); - background-repeat:repeat-x; - font-family:Verdana, Arial, sans-serif; - font-size:10px; - font-weight:bold; - text-align:center; -} - -.bluelighting_progress { - float:left; - margin:auto; - text-align:center; - width:100%; - height:16px; - background:transparent url('lighting/spinner.gif') no-repeat center center -} - -/* FOR IE */ -* html .bluelighting_nw { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-blue.png", sizingMethod="crop"); -} - -* html .bluelighting_n { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-blue.png", sizingMethod="scale"); -} - -* html .bluelighting_ne { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-blue.png", sizingMethod="crop"); -} - -* html .bluelighting_w { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-blue.png", sizingMethod="scale"); -} - -* html .bluelighting_e { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-blue.png", sizingMethod="scale"); -} - -* html .bluelighting_sw { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-blue.png", sizingMethod="crop"); -} - -* html .bluelighting_s { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-blue.png", sizingMethod="scale"); -} - -* html .bluelighting_se, * html .bluelighting_sizer { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-blue.png", sizingMethod="crop"); -} - -* html .bluelighting_close { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-blue.png", sizingMethod="crop"); -} - -* html .bluelighting_minimize { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-blue.png", sizingMethod="crop"); -} - -* html .bluelighting_maximize { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-blue.png", sizingMethod="crop"); -} - -* html .bluelighting_content { - background:#B8D7FF; -} - - - -.overlay_greylighting { - background-color:#FFF; - filter:alpha(opacity=60); - -moz-opacity:0.6; - opacity:0.6; -} - -.greylighting_wired_frame { - background:#FFF; - filter:alpha(opacity=60); - -moz-opacity:0.6; - opacity:0.6; -} - -.greylighting_nw { - background:transparent url(lighting/top-left-grey.png) no-repeat 0 0; - width:9px; - height:28px; -} - -.greylighting_n { - background:transparent url(lighting/top-middle-grey.png) repeat-x 0 0; - height:28px; -} - -.greylighting_ne { - background:transparent url(lighting/top-right-grey.png) no-repeat 0 0; - width:15px; - height:28px; -} - -.greylighting_w { - background:transparent url(lighting/left-grey.png) repeat-y top left; - width:9px; -} - -.greylighting_e { - background:transparent url(lighting/right-grey.png) repeat-y top right; - width:15px; -} - -.greylighting_sw { - background:transparent url(lighting/bottom-left-grey.png) no-repeat 0 0; - width:9px; - height:15px; -} - -.greylighting_s { - background:transparent url(lighting/bottom-middle-grey.png) repeat-x 0 0; - height:15px; -} - -.greylighting_se, .greylighting_sizer { - background:transparent url(lighting/bottom-right-grey.png) no-repeat 0 0; - width:15px; - height:15px; -} - -.greylighting_sizer { - cursor:se-resize; -} - -.greylighting_close { - width:15px; - height:9px; - background:transparent url(lighting/button-close-grey.png) no-repeat 0 0; - position:absolute; - top:11px; - right:10px; - cursor:pointer; - z-index:1000; -} - -.greylighting_maximize { - width:15px; - height:9px; - background:transparent url(lighting/button-maximize-grey.png) no-repeat 0 0; - position:absolute; - top:11px; - right:25px; - cursor:pointer; - z-index:1000; -} - -.greylighting_minimize { - width:15px; - height:9px; - background:transparent url(lighting/button-minimize-grey.png) no-repeat 0 0; - position:absolute; - top:11px; - right:40px; - cursor:pointer; - z-index:1000; -} - -.greylighting_title { - float:left; - height:14px; - font-size:14px; - font-weight:bold; - font-family:Verdana, Arial, sans-serif; - text-align:center; - margin-top:2px; - width:100%; - color:#525252; -} - -.greylighting_content { - overflow:auto; - color:#000; - font-family:Verdana, Arial, sans-serif; - font-size:12px; - background:#CDCDCD; -} - -/* For alert/confirm dialog */ -.greylighting_window { - border:1px solid #F00; - background:#FFF; - padding:20px; - margin-left:auto; - margin-right:auto; - width:400px; -} - -.greylighting_message { - font-size:12px; - text-align:center; - width:100%; - padding-bottom:10px; -} - -.greylighting_buttons { - text-align:center; - width:100%; -} - -.greylighting_buttons input { - border:1px solid #999; - border-top-color:#CCC; - border-left-color:#CCC; - padding:2px; - background-color:#FFF; - color:#333; - background-image:url(lighting/background_buttons.gif); - background-repeat:repeat-x; - font-family:Verdana, Arial, sans-serif; - font-size:10px; - font-weight:bold; - text-align:center; -} - -.greylighting_progress { - float:left; - margin:auto; - text-align:center; - width:100%; - height:16px; - background:transparent url('lighting/spinner.gif') no-repeat center center -} - -/* FOR IE */ -* html .greylighting_nw { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-grey.png", sizingMethod="crop"); -} - -* html .greylighting_n { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-grey.png", sizingMethod="scale"); -} - -* html .greylighting_ne { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-grey.png", sizingMethod="crop"); -} - -* html .greylighting_w { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-grey.png", sizingMethod="scale"); -} - -* html .greylighting_e { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-grey.png", sizingMethod="scale"); -} - -* html .greylighting_sw { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-grey.png", sizingMethod="crop"); -} - -* html .greylighting_s { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-grey.png", sizingMethod="scale"); -} - -* html greylighting_se, * html .greylighting_sizer { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-grey.png", sizingMethod="crop"); -} - -* html .greylighting_close { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-grey.png", sizingMethod="crop"); -} - -* html .greylighting_minimize { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-grey.png", sizingMethod="crop"); -} - -* html .greylighting_maximize { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-grey.png", sizingMethod="crop"); -} - -* html .greylighting_content { - background:#C7C7C7; -} - - - -.overlay_greenlighting { - background-color:#FFF; - filter:alpha(opacity=60); - -moz-opacity:0.6; - opacity:0.6; -} - -.greenlighting_wired_frame { - background:#FFF; - filter:alpha(opacity=60); - -moz-opacity:0.6; - opacity:0.6; -} - -.greenlighting_nw { - background:transparent url(lighting/top-left-green.png) no-repeat 0 0; - width:9px; - height:28px; -} - -.greenlighting_n { - background:transparent url(lighting/top-middle-green.png) repeat-x 0 0; - height:28px; -} - -.greenlighting_ne { - background:transparent url(lighting/top-right-green.png) no-repeat 0 0; - width:15px; - height:28px; -} - -.greenlighting_w { - background:transparent url(lighting/left-green.png) repeat-y top left; - width:9px; -} - -.greenlighting_e { - background:transparent url(lighting/right-green.png) repeat-y top right; - width:15px; -} - -.greenlighting_sw { - background:transparent url(lighting/bottom-left-green.png) no-repeat 0 0; - width:9px; - height:15px; -} - -.greenlighting_s { - background:transparent url(lighting/bottom-middle-green.png) repeat-x 0 0; - height:15px; -} - -.greenlighting_se, .greenlighting_sizer { - background:transparent url(lighting/bottom-right-green.png) no-repeat 0 0; - width:15px; - height:15px; -} - -.greenlighting_sizer { - cursor:se-resize; -} - -.greenlighting_close { - width:15px; - height:9px; - background:transparent url(lighting/button-close-green.png) no-repeat 0 0; - position:absolute; - top:11px; - right:10px; - cursor:pointer; - z-index:1000; -} - -.greenlighting_maximize { - width:15px; - height:9px; - background:transparent url(lighting/button-maximize-green.png) no-repeat 0 0; - position:absolute; - top:11px; - right:25px; - cursor:pointer; - z-index:1000; -} - -.greenlighting_minimize { - width:15px; - height:9px; - background:transparent url(lighting/button-minimize-green.png) no-repeat 0 0; - position:absolute; - top:11px; - right:40px; - cursor:pointer; - z-index:1000; -} - -.greenlighting_title { - float:left; - height:14px; - font-size:14px; - font-weight:bold; - font-family:Verdana, Arial, sans-serif; - text-align:center; - margin-top:2px; - width:100%; - color:#2A6002; -} - -.greenlighting_content { - overflow:auto; - color:#000; - font-family:Verdana, Arial, sans-serif; - font-size:12px; - background:#ACFCAF; -} - -/* For alert/confirm dialog */ -.greenlighting_window { - border:1px solid #F00; - background:#FFF; - padding:20px; - margin-left:auto; - margin-right:auto; - width:400px; -} - -.greenlighting_message { - font-size:12px; - text-align:center; - width:100%; - padding-bottom:10px; -} - -.greenlighting_buttons { - text-align:center; - width:100%; -} - -.greenlighting_buttons input { - border:1px solid #999; - border-top-color:#CCC; - border-left-color:#CCC; - padding:2px; - background-color:#FFF; - color:#333; - background-image:url(lighting/background_buttons.gif); - background-repeat:repeat-x; - font-family:Verdana, Arial, sans-serif; - font-size:10px; - font-weight:bold; - text-align:center; -} - -.greenlighting_progress { - float:left; - margin:auto; - text-align:center; - width:100%; - height:16px; - background:transparent url('lighting/spinner.gif') no-repeat center center -} - -/* FOR IE */ -* html .greenlighting_nw { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-green.png", sizingMethod="crop"); -} - -* html .greenlighting_n { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-green.png", sizingMethod="scale"); -} - -* html .greenlighting_ne { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-green.png", sizingMethod="crop"); -} - -* html .greenlighting_w { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-green.png", sizingMethod="scale"); -} - -* html .greenlighting_e { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-green.png", sizingMethod="scale"); -} - -* html .greenlighting_sw { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-green.png", sizingMethod="crop"); -} - -* html .greenlighting_s { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-green.png", sizingMethod="scale"); -} - -* html greenlighting_se, * html .greenlighting_sizer { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-green.png", sizingMethod="crop"); -} - -* html .greenlighting_close { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-green.png", sizingMethod="crop"); -} - -* html .greenlighting_minimize { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-green.png", sizingMethod="crop"); -} - -* html .greenlighting_maximize { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-green.png", sizingMethod="crop"); -} - -* html .greenlighting_content { - background:#A4FCA7; -} - - - -.overlay_darkbluelighting { - background-color:#FFF; - filter:alpha(opacity=60); - -moz-opacity:0.6; - opacity:0.6; -} - -.darkbluelighting_wired_frame { - background:#FFF; - filter:alpha(opacity=60); - -moz-opacity:0.6; - opacity:0.6; -} - -.darkbluelighting_nw { - background:transparent url(lighting/top-left-darkblue.png) no-repeat 0 0; - width:9px; - height:28px; -} - -.darkbluelighting_n { - background:transparent url(lighting/top-middle-darkblue.png) repeat-x 0 0; - height:28px; -} - -.darkbluelighting_ne { - background:transparent url(lighting/top-right-darkblue.png) no-repeat 0 0; - width:15px; - height:28px; -} - -.darkbluelighting_w { - background:transparent url(lighting/left-darkblue.png) repeat-y top left; - width:9px; -} - -.darkbluelighting_e { - background:transparent url(lighting/right-darkblue.png) repeat-y top right; - width:15px; -} - -.darkbluelighting_sw { - background:transparent url(lighting/bottom-left-darkblue.png) no-repeat 0 0; - width:9px; - height:15px; -} - -.darkbluelighting_s { - background:transparent url(lighting/bottom-middle-darkblue.png) repeat-x 0 0; - height:15px; -} - -.darkbluelighting_se, .darkbluelighting_sizer { - background:transparent url(lighting/bottom-right-darkblue.png) no-repeat 0 0; - width:15px; - height:15px; -} - -.darkbluelighting_sizer { - cursor:se-resize; -} - -.darkbluelighting_close { - width:15px; - height:9px; - background:transparent url(lighting/button-close-darkblue.png) no-repeat 0 0; - position:absolute; - top:11px; - right:10px; - cursor:pointer; - z-index:1000; -} - -.darkbluelighting_maximize { - width:15px; - height:9px; - background:transparent url(lighting/button-maximize-darkblue.png) no-repeat 0 0; - position:absolute; - top:11px; - right:25px; - cursor:pointer; - z-index:1000; -} - -.darkbluelighting_minimize { - width:15px; - height:9px; - background:transparent url(lighting/button-minimize-darkblue.png) no-repeat 0 0; - position:absolute; - top:11px; - right:40px; - cursor:pointer; - z-index:1000; -} - -.darkbluelighting_title { - float:left; - height:14px; - font-size:14px; - font-weight:bold; - font-family:Verdana, Arial, sans-serif; - text-align:center; - margin-top:2px; - width:100%; - color:#E4EFFD; -} - -.darkbluelighting_content { - overflow:auto; - color:#FFF; - font-family:Verdana, Arial, sans-serif; - font-size:12px; - background:#0413C0; -} - -/* For alert/confirm dialog */ -.darkbluelighting_window { - border:1px solid #F00; - background:#FFF; - padding:20px; - margin-left:auto; - margin-right:auto; - width:400px; -} - -.darkbluelighting_message { - font-size:12px; - text-align:center; - width:100%; - padding-bottom:10px; -} - -.darkbluelighting_buttons { - text-align:center; - width:100%; -} - -.darkbluelighting_buttons input { - border:1px solid #999; - border-top-color:#CCC; - border-left-color:#CCC; - padding:2px; - background-color:#FFF; - color:#333; - background-image:url(lighting/background_buttons.gif); - background-repeat:repeat-x; - font-family:Verdana, Arial, sans-serif; - font-size:10px; - font-weight:bold; - text-align:center; -} - -.darkbluelighting_progress { - float:left; - margin:auto; - text-align:center; - width:100%; - height:16px; - background:transparent url('lighting/spinner.gif') no-repeat center center -} - -/* FOR IE */ -* html .darkbluelighting_nw { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-darkblue.png", sizingMethod="crop"); -} - -* html .darkbluelighting_n { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-darkblue.png", sizingMethod="scale"); -} - -* html .darkbluelighting_ne { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-darkblue.png", sizingMethod="crop"); -} - -* html .darkbluelighting_w { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-darkblue.png", sizingMethod="scale"); -} - -* html .darkbluelighting_e { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-darkblue.png", sizingMethod="scale"); -} - -* html .darkbluelighting_sw { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-darkblue.png", sizingMethod="crop"); -} - -* html .darkbluelighting_s { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-darkblue.png", sizingMethod="scale"); -} - -* html darkbluelighting_se, * html .darkbluelighting_sizer { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-darkblue.png", sizingMethod="crop"); -} - -* html .darkbluelighting_close { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-darkblue.png", sizingMethod="crop"); -} - -* html .darkbluelighting_minimize { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-darkblue.png", sizingMethod="crop"); -} - -* html .darkbluelighting_maximize { - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-darkblue.png", sizingMethod="crop"); -} - -* html .darkbluelighting_content { - background:#020EBA; -} - +.overlay___invisible__ { + background-color: #666; + filter:alpha(opacity=0); + -moz-opacity: 0; + opacity: 0; +} + +.top_draggable, .bottom_draggable { + cursor:move; +} + +.status_bar { + font-size:12px; +} +.status_bar input{ + font-size:12px; +} + +.wired_frame { + display:block; + position:absolute; + border:1px #000 dashed; +} + + + +.overlay_bluelighting { + background-color:#FFF; + filter:alpha(opacity=60); + -moz-opacity:0.6; + opacity:0.6; +} + +.bluelighting_wired_frame { + background:#FFF; + filter:alpha(opacity=60); + -moz-opacity:0.6; + opacity:0.6; +} + +.bluelighting_nw { + background:transparent url(lighting/top-left-blue.png) no-repeat 0 0; + width:9px; + height:28px; +} + +.bluelighting_n { + background:transparent url(lighting/top-middle-blue.png) repeat-x 0 0; + height:28px; +} + +.bluelighting_ne { + background:transparent url(lighting/top-right-blue.png) no-repeat 0 0; + width:15px; + height:28px; +} + +.bluelighting_w { + background:transparent url(lighting/left-blue.png) repeat-y top left; + width:9px; +} + +.bluelighting_e { + background:transparent url(lighting/right-blue.png) repeat-y top right; + width:15px; +} + +.bluelighting_sw { + background:transparent url(lighting/bottom-left-blue.png) no-repeat 0 0; + width:9px; + height:15px; +} + +.bluelighting_s { + background:transparent url(lighting/bottom-middle-blue.png) repeat-x 0 0; + height:15px; +} + +.bluelighting_se, .bluelighting_sizer { + background:transparent url(lighting/bottom-right-blue.png) no-repeat 0 0; + width:15px; + height:15px; +} + +.bluelighting_sizer { + cursor:se-resize; +} + +.bluelighting_close { + width:15px; + height:9px; + background:transparent url(lighting/button-close-blue.png) no-repeat 0 0; + position:absolute; + top:11px; + right:10px; + cursor:pointer; + z-index:1000; +} + +.bluelighting_maximize { + width:15px; + height:9px; + background:transparent url(lighting/button-maximize-blue.png) no-repeat 0 0; + position:absolute; + top:11px; + right:25px; + cursor:pointer; + z-index:1000; +} + +.bluelighting_minimize { + width:15px; + height:9px; + background:transparent url(lighting/button-minimize-blue.png) no-repeat 0 0; + position:absolute; + top:11px; + right:40px; + cursor:pointer; + z-index:1000; +} + +.bluelighting_title { + float:left; + height:14px; + font-size:14px; + font-weight:bold; + font-family:Verdana, Arial, sans-serif; + text-align:center; + margin-top:2px; + width:100%; + color:#17385B; +} + +.bluelighting_content { + overflow:auto; + color:#000; + font-family:Verdana, Arial, sans-serif; + font-size:12px; + background:#BFDBFF; +} + +/* For alert/confirm dialog */ +.bluelighting_window { + border:1px solid #F00; + background:#FFF; + padding:20px; + margin-left:auto; + margin-right:auto; + width:400px; +} + +.bluelighting_message { + font-size:12px; + text-align:center; + width:100%; + padding-bottom:10px; +} + +.bluelighting_buttons { + text-align:center; + width:100%; +} + +.bluelighting_buttons input { + border:1px solid #999; + border-top-color:#CCC; + border-left-color:#CCC; + padding:2px; + background-color:#FFF; + color:#333; + background-image:url(lighting/background_buttons.gif); + background-repeat:repeat-x; + font-family:Verdana, Arial, sans-serif; + font-size:10px; + font-weight:bold; + text-align:center; +} + +.bluelighting_progress { + float:left; + margin:auto; + text-align:center; + width:100%; + height:16px; + background:transparent url('lighting/spinner.gif') no-repeat center center +} + +/* FOR IE */ +* html .bluelighting_nw { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-blue.png", sizingMethod="crop"); +} + +* html .bluelighting_n { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-blue.png", sizingMethod="scale"); +} + +* html .bluelighting_ne { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-blue.png", sizingMethod="crop"); +} + +* html .bluelighting_w { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-blue.png", sizingMethod="scale"); +} + +* html .bluelighting_e { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-blue.png", sizingMethod="scale"); +} + +* html .bluelighting_sw { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-blue.png", sizingMethod="crop"); +} + +* html .bluelighting_s { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-blue.png", sizingMethod="scale"); +} + +* html .bluelighting_se, * html .bluelighting_sizer { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-blue.png", sizingMethod="crop"); +} + +* html .bluelighting_close { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-blue.png", sizingMethod="crop"); +} + +* html .bluelighting_minimize { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-blue.png", sizingMethod="crop"); +} + +* html .bluelighting_maximize { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-blue.png", sizingMethod="crop"); +} + +* html .bluelighting_content { + background:#B8D7FF; +} + + + +.overlay_greylighting { + background-color:#FFF; + filter:alpha(opacity=60); + -moz-opacity:0.6; + opacity:0.6; +} + +.greylighting_wired_frame { + background:#FFF; + filter:alpha(opacity=60); + -moz-opacity:0.6; + opacity:0.6; +} + +.greylighting_nw { + background:transparent url(lighting/top-left-grey.png) no-repeat 0 0; + width:9px; + height:28px; +} + +.greylighting_n { + background:transparent url(lighting/top-middle-grey.png) repeat-x 0 0; + height:28px; +} + +.greylighting_ne { + background:transparent url(lighting/top-right-grey.png) no-repeat 0 0; + width:15px; + height:28px; +} + +.greylighting_w { + background:transparent url(lighting/left-grey.png) repeat-y top left; + width:9px; +} + +.greylighting_e { + background:transparent url(lighting/right-grey.png) repeat-y top right; + width:15px; +} + +.greylighting_sw { + background:transparent url(lighting/bottom-left-grey.png) no-repeat 0 0; + width:9px; + height:15px; +} + +.greylighting_s { + background:transparent url(lighting/bottom-middle-grey.png) repeat-x 0 0; + height:15px; +} + +.greylighting_se, .greylighting_sizer { + background:transparent url(lighting/bottom-right-grey.png) no-repeat 0 0; + width:15px; + height:15px; +} + +.greylighting_sizer { + cursor:se-resize; +} + +.greylighting_close { + width:15px; + height:9px; + background:transparent url(lighting/button-close-grey.png) no-repeat 0 0; + position:absolute; + top:11px; + right:10px; + cursor:pointer; + z-index:1000; +} + +.greylighting_maximize { + width:15px; + height:9px; + background:transparent url(lighting/button-maximize-grey.png) no-repeat 0 0; + position:absolute; + top:11px; + right:25px; + cursor:pointer; + z-index:1000; +} + +.greylighting_minimize { + width:15px; + height:9px; + background:transparent url(lighting/button-minimize-grey.png) no-repeat 0 0; + position:absolute; + top:11px; + right:40px; + cursor:pointer; + z-index:1000; +} + +.greylighting_title { + float:left; + height:14px; + font-size:14px; + font-weight:bold; + font-family:Verdana, Arial, sans-serif; + text-align:center; + margin-top:2px; + width:100%; + color:#525252; +} + +.greylighting_content { + overflow:auto; + color:#000; + font-family:Verdana, Arial, sans-serif; + font-size:12px; + background:#CDCDCD; +} + +/* For alert/confirm dialog */ +.greylighting_window { + border:1px solid #F00; + background:#FFF; + padding:20px; + margin-left:auto; + margin-right:auto; + width:400px; +} + +.greylighting_message { + font-size:12px; + text-align:center; + width:100%; + padding-bottom:10px; +} + +.greylighting_buttons { + text-align:center; + width:100%; +} + +.greylighting_buttons input { + border:1px solid #999; + border-top-color:#CCC; + border-left-color:#CCC; + padding:2px; + background-color:#FFF; + color:#333; + background-image:url(lighting/background_buttons.gif); + background-repeat:repeat-x; + font-family:Verdana, Arial, sans-serif; + font-size:10px; + font-weight:bold; + text-align:center; +} + +.greylighting_progress { + float:left; + margin:auto; + text-align:center; + width:100%; + height:16px; + background:transparent url('lighting/spinner.gif') no-repeat center center +} + +/* FOR IE */ +* html .greylighting_nw { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-grey.png", sizingMethod="crop"); +} + +* html .greylighting_n { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-grey.png", sizingMethod="scale"); +} + +* html .greylighting_ne { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-grey.png", sizingMethod="crop"); +} + +* html .greylighting_w { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-grey.png", sizingMethod="scale"); +} + +* html .greylighting_e { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-grey.png", sizingMethod="scale"); +} + +* html .greylighting_sw { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-grey.png", sizingMethod="crop"); +} + +* html .greylighting_s { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-grey.png", sizingMethod="scale"); +} + +* html greylighting_se, * html .greylighting_sizer { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-grey.png", sizingMethod="crop"); +} + +* html .greylighting_close { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-grey.png", sizingMethod="crop"); +} + +* html .greylighting_minimize { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-grey.png", sizingMethod="crop"); +} + +* html .greylighting_maximize { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-grey.png", sizingMethod="crop"); +} + +* html .greylighting_content { + background:#C7C7C7; +} + + + +.overlay_greenlighting { + background-color:#FFF; + filter:alpha(opacity=60); + -moz-opacity:0.6; + opacity:0.6; +} + +.greenlighting_wired_frame { + background:#FFF; + filter:alpha(opacity=60); + -moz-opacity:0.6; + opacity:0.6; +} + +.greenlighting_nw { + background:transparent url(lighting/top-left-green.png) no-repeat 0 0; + width:9px; + height:28px; +} + +.greenlighting_n { + background:transparent url(lighting/top-middle-green.png) repeat-x 0 0; + height:28px; +} + +.greenlighting_ne { + background:transparent url(lighting/top-right-green.png) no-repeat 0 0; + width:15px; + height:28px; +} + +.greenlighting_w { + background:transparent url(lighting/left-green.png) repeat-y top left; + width:9px; +} + +.greenlighting_e { + background:transparent url(lighting/right-green.png) repeat-y top right; + width:15px; +} + +.greenlighting_sw { + background:transparent url(lighting/bottom-left-green.png) no-repeat 0 0; + width:9px; + height:15px; +} + +.greenlighting_s { + background:transparent url(lighting/bottom-middle-green.png) repeat-x 0 0; + height:15px; +} + +.greenlighting_se, .greenlighting_sizer { + background:transparent url(lighting/bottom-right-green.png) no-repeat 0 0; + width:15px; + height:15px; +} + +.greenlighting_sizer { + cursor:se-resize; +} + +.greenlighting_close { + width:15px; + height:9px; + background:transparent url(lighting/button-close-green.png) no-repeat 0 0; + position:absolute; + top:11px; + right:10px; + cursor:pointer; + z-index:1000; +} + +.greenlighting_maximize { + width:15px; + height:9px; + background:transparent url(lighting/button-maximize-green.png) no-repeat 0 0; + position:absolute; + top:11px; + right:25px; + cursor:pointer; + z-index:1000; +} + +.greenlighting_minimize { + width:15px; + height:9px; + background:transparent url(lighting/button-minimize-green.png) no-repeat 0 0; + position:absolute; + top:11px; + right:40px; + cursor:pointer; + z-index:1000; +} + +.greenlighting_title { + float:left; + height:14px; + font-size:14px; + font-weight:bold; + font-family:Verdana, Arial, sans-serif; + text-align:center; + margin-top:2px; + width:100%; + color:#2A6002; +} + +.greenlighting_content { + overflow:auto; + color:#000; + font-family:Verdana, Arial, sans-serif; + font-size:12px; + background:#ACFCAF; +} + +/* For alert/confirm dialog */ +.greenlighting_window { + border:1px solid #F00; + background:#FFF; + padding:20px; + margin-left:auto; + margin-right:auto; + width:400px; +} + +.greenlighting_message { + font-size:12px; + text-align:center; + width:100%; + padding-bottom:10px; +} + +.greenlighting_buttons { + text-align:center; + width:100%; +} + +.greenlighting_buttons input { + border:1px solid #999; + border-top-color:#CCC; + border-left-color:#CCC; + padding:2px; + background-color:#FFF; + color:#333; + background-image:url(lighting/background_buttons.gif); + background-repeat:repeat-x; + font-family:Verdana, Arial, sans-serif; + font-size:10px; + font-weight:bold; + text-align:center; +} + +.greenlighting_progress { + float:left; + margin:auto; + text-align:center; + width:100%; + height:16px; + background:transparent url('lighting/spinner.gif') no-repeat center center +} + +/* FOR IE */ +* html .greenlighting_nw { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-green.png", sizingMethod="crop"); +} + +* html .greenlighting_n { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-green.png", sizingMethod="scale"); +} + +* html .greenlighting_ne { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-green.png", sizingMethod="crop"); +} + +* html .greenlighting_w { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-green.png", sizingMethod="scale"); +} + +* html .greenlighting_e { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-green.png", sizingMethod="scale"); +} + +* html .greenlighting_sw { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-green.png", sizingMethod="crop"); +} + +* html .greenlighting_s { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-green.png", sizingMethod="scale"); +} + +* html greenlighting_se, * html .greenlighting_sizer { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-green.png", sizingMethod="crop"); +} + +* html .greenlighting_close { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-green.png", sizingMethod="crop"); +} + +* html .greenlighting_minimize { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-green.png", sizingMethod="crop"); +} + +* html .greenlighting_maximize { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-green.png", sizingMethod="crop"); +} + +* html .greenlighting_content { + background:#A4FCA7; +} + + + +.overlay_darkbluelighting { + background-color:#FFF; + filter:alpha(opacity=60); + -moz-opacity:0.6; + opacity:0.6; +} + +.darkbluelighting_wired_frame { + background:#FFF; + filter:alpha(opacity=60); + -moz-opacity:0.6; + opacity:0.6; +} + +.darkbluelighting_nw { + background:transparent url(lighting/top-left-darkblue.png) no-repeat 0 0; + width:9px; + height:28px; +} + +.darkbluelighting_n { + background:transparent url(lighting/top-middle-darkblue.png) repeat-x 0 0; + height:28px; +} + +.darkbluelighting_ne { + background:transparent url(lighting/top-right-darkblue.png) no-repeat 0 0; + width:15px; + height:28px; +} + +.darkbluelighting_w { + background:transparent url(lighting/left-darkblue.png) repeat-y top left; + width:9px; +} + +.darkbluelighting_e { + background:transparent url(lighting/right-darkblue.png) repeat-y top right; + width:15px; +} + +.darkbluelighting_sw { + background:transparent url(lighting/bottom-left-darkblue.png) no-repeat 0 0; + width:9px; + height:15px; +} + +.darkbluelighting_s { + background:transparent url(lighting/bottom-middle-darkblue.png) repeat-x 0 0; + height:15px; +} + +.darkbluelighting_se, .darkbluelighting_sizer { + background:transparent url(lighting/bottom-right-darkblue.png) no-repeat 0 0; + width:15px; + height:15px; +} + +.darkbluelighting_sizer { + cursor:se-resize; +} + +.darkbluelighting_close { + width:15px; + height:9px; + background:transparent url(lighting/button-close-darkblue.png) no-repeat 0 0; + position:absolute; + top:11px; + right:10px; + cursor:pointer; + z-index:1000; +} + +.darkbluelighting_maximize { + width:15px; + height:9px; + background:transparent url(lighting/button-maximize-darkblue.png) no-repeat 0 0; + position:absolute; + top:11px; + right:25px; + cursor:pointer; + z-index:1000; +} + +.darkbluelighting_minimize { + width:15px; + height:9px; + background:transparent url(lighting/button-minimize-darkblue.png) no-repeat 0 0; + position:absolute; + top:11px; + right:40px; + cursor:pointer; + z-index:1000; +} + +.darkbluelighting_title { + float:left; + height:14px; + font-size:14px; + font-weight:bold; + font-family:Verdana, Arial, sans-serif; + text-align:center; + margin-top:2px; + width:100%; + color:#E4EFFD; +} + +.darkbluelighting_content { + overflow:auto; + color:#FFF; + font-family:Verdana, Arial, sans-serif; + font-size:12px; + background:#0413C0; +} + +/* For alert/confirm dialog */ +.darkbluelighting_window { + border:1px solid #F00; + background:#FFF; + padding:20px; + margin-left:auto; + margin-right:auto; + width:400px; +} + +.darkbluelighting_message { + font-size:12px; + text-align:center; + width:100%; + padding-bottom:10px; +} + +.darkbluelighting_buttons { + text-align:center; + width:100%; +} + +.darkbluelighting_buttons input { + border:1px solid #999; + border-top-color:#CCC; + border-left-color:#CCC; + padding:2px; + background-color:#FFF; + color:#333; + background-image:url(lighting/background_buttons.gif); + background-repeat:repeat-x; + font-family:Verdana, Arial, sans-serif; + font-size:10px; + font-weight:bold; + text-align:center; +} + +.darkbluelighting_progress { + float:left; + margin:auto; + text-align:center; + width:100%; + height:16px; + background:transparent url('lighting/spinner.gif') no-repeat center center +} + +/* FOR IE */ +* html .darkbluelighting_nw { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-left-darkblue.png", sizingMethod="crop"); +} + +* html .darkbluelighting_n { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-middle-darkblue.png", sizingMethod="scale"); +} + +* html .darkbluelighting_ne { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/top-right-darkblue.png", sizingMethod="crop"); +} + +* html .darkbluelighting_w { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/left-darkblue.png", sizingMethod="scale"); +} + +* html .darkbluelighting_e { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/right-darkblue.png", sizingMethod="scale"); +} + +* html .darkbluelighting_sw { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-left-darkblue.png", sizingMethod="crop"); +} + +* html .darkbluelighting_s { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-middle-darkblue.png", sizingMethod="scale"); +} + +* html darkbluelighting_se, * html .darkbluelighting_sizer { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/bottom-right-darkblue.png", sizingMethod="crop"); +} + +* html .darkbluelighting_close { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-close-darkblue.png", sizingMethod="crop"); +} + +* html .darkbluelighting_minimize { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-minimize-darkblue.png", sizingMethod="crop"); +} + +* html .darkbluelighting_maximize { + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/lighting/button-maximize-darkblue.png", sizingMethod="crop"); +} + +* html .darkbluelighting_content { + background:#020EBA; +} + diff --git a/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting/pngbehavior.htc b/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting/pngbehavior.htc index 92248c665..36ea182e7 100644 --- a/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting/pngbehavior.htc +++ b/public/plugin_assets/redmine_code_review/stylesheets/window_js/lighting/pngbehavior.htc @@ -1,67 +1,67 @@ - - - - diff --git a/public/javascripts/wechat/app.js b/public/javascripts/wechat/app.js index e3ecf9b37..ca9682db2 100644 --- a/public/javascripts/wechat/app.js +++ b/public/javascripts/wechat/app.js @@ -1,4 +1,4 @@ -var app = angular.module('wechat', ['ngRoute','ngCookies']); +var app = angular.module('wechat', ['ngRoute']); var apiUrl = '/api/v1/'; var debug = false; //调试标志,如果在本地请置为true @@ -8,7 +8,7 @@ if(debug===true){ } -app.factory('auth', function($http,$routeParams, $cookies, $q){ +app.factory('auth', function($http,$routeParams, $q){ var _openid = ''; if(typeof g_openid !== 'undefined'){ @@ -31,15 +31,6 @@ app.factory('auth', function($http,$routeParams, $cookies, $q){ method: 'POST' }).then(function successCallback(response) { _openid = response.data.openid; - if(typeof _openid !== 'undefined' && _openid.length>0){ - if(debug !== true){ //如果是生产环境,就存到cookies中 - $cookies.put("openid", _openid); - } - } else { - if(debug!==true){//考虑从cookies中取出 - _openid = $cookies.get('openid'); - } - } deferred.resolve(_openid); }, function errorCallback(response) { deferred.reject(response); diff --git a/public/javascripts/wechat/build/angular.all.min.js b/public/javascripts/wechat/build/angular.all.min.js index 72e4e89cd..106f2a167 100644 --- a/public/javascripts/wechat/build/angular.all.min.js +++ b/public/javascripts/wechat/build/angular.all.min.js @@ -1,8 +1,9 @@ +!function(){function e(e,t){t.src?h.ajax({url:t.src,async:!1,dataType:"script"}):h.globalEval(t.text||t.textContent||t.innerHTML||""),t.parentNode&&t.parentNode.removeChild(t)}function t(){return+new Date}function n(e,t){return e[0]&&parseInt(h.curCSS(e[0],t,!0),10)||0}function r(){return!1}function i(){return!0}function o(e){var t=RegExp("(^|\\.)"+e.type+"(\\.|$)"),n=!0,r=[];return h.each(h.data(this,"events").live||[],function(n,i){if(t.test(i.type)){var o=h(e.target).closest(i.data)[0];o&&r.push({elem:o,fn:i})}}),r.sort(function(e,t){return h.data(e.elem,"closest")-h.data(t.elem,"closest")}),h.each(r,function(){return this.fn.call(this.elem,e,this.fn.data)===!1?n=!1:void 0}),n}function a(e,t){return["live",e,t.replace(/\./g,"`").replace(/ /g,"|")].join(".")}function s(){S||(S=!0,document.addEventListener?document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,!1),h.ready()},!1):document.attachEvent&&(document.attachEvent("onreadystatechange",function(){"complete"===document.readyState&&(document.detachEvent("onreadystatechange",arguments.callee),h.ready())}),document.documentElement.doScroll&&u==u.top&&!function(){if(!h.isReady){try{document.documentElement.doScroll("left")}catch(e){return void setTimeout(arguments.callee,0)}h.ready()}}()),h.event.add(u,"load",h.ready))}function l(e,t){var n={};return h.each(L.concat.apply([],L.slice(0,t)),function(){n[this]=e}),n}var c,u=this,d=u.jQuery,f=u.$,h=u.jQuery=u.$=function(e,t){return new h.fn.init(e,t)},p=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,m=/^.[^:#\[\.,]*$/;h.fn=h.prototype={init:function(e,t){if(e=e||document,e.nodeType)return this[0]=e,this.length=1,this.context=e,this;if("string"==typeof e){var n=p.exec(e);if(!n||!n[1]&&t)return h(t).find(e);if(!n[1]){var r=document.getElementById(n[3]);if(r&&r.id!=n[3])return h().find(e);var i=h(r||[]);return i.context=document,i.selector=e,i}e=h.clean([n[1]],t)}else if(h.isFunction(e))return h(document).ready(e);return e.selector&&e.context&&(this.selector=e.selector,this.context=e.context),this.setArray(h.isArray(e)?e:h.makeArray(e))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(e){return e===c?Array.prototype.slice.call(this):this[e]},pushStack:function(e,t,n){var r=h(e);return r.prevObject=this,r.context=this.context,"find"===t?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},setArray:function(e){return this.length=0,Array.prototype.push.apply(this,e),this},each:function(e,t){return h.each(this,e,t)},index:function(e){return h.inArray(e&&e.jquery?e[0]:e,this)},attr:function(e,t,n){var r=e;if("string"==typeof e){if(t===c)return this[0]&&h[n||"attr"](this[0],e);r={},r[e]=t}return this.each(function(t){for(e in r)h.attr(n?this.style:this,e,h.prop(this,r[e],n,t,e))})},css:function(e,t){return("width"==e||"height"==e)&&parseFloat(t)<0&&(t=c),this.attr(e,t,"curCSS")},text:function(e){if("object"!=typeof e&&null!=e)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(e));var t="";return h.each(e||this,function(){h.each(this.childNodes,function(){8!=this.nodeType&&(t+=1!=this.nodeType?this.nodeValue:h.fn.text([this]))})}),t},wrapAll:function(e){if(this[0]){var t=h(e,this[0].ownerDocument).clone();this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstChild;)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return this.each(function(){h(this).contents().wrapAll(e)})},wrap:function(e){return this.each(function(){h(this).wrapAll(e)})},append:function(){return this.domManip(arguments,!0,function(e){1==this.nodeType&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){1==this.nodeType&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)})},end:function(){return this.prevObject||h([])},push:[].push,sort:[].sort,splice:[].splice,find:function(e){if(1===this.length){var t=this.pushStack([],"find",e);return t.length=0,h.find(e,this[0],t),t}return this.pushStack(h.unique(h.map(this,function(t){return h.find(e,t)})),"find",e)},clone:function(e){var t=this.map(function(){if(h.support.noCloneEvent||h.isXMLDoc(this))return this.cloneNode(!0);var e=this.outerHTML;if(!e){var t=this.ownerDocument.createElement("div");t.appendChild(this.cloneNode(!0)),e=t.innerHTML}return h.clean([e.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]});if(e===!0){var n=this.find("*").andSelf(),r=0;t.find("*").andSelf().each(function(){if(this.nodeName===n[r].nodeName){var e=h.data(n[r],"events");for(var t in e)for(var i in e[t])h.event.add(this,t,e[t][i],e[t][i].data);r++}})}return t},filter:function(e){return this.pushStack(h.isFunction(e)&&h.grep(this,function(t,n){return e.call(t,n)})||h.multiFilter(e,h.grep(this,function(e){return 1===e.nodeType})),"filter",e)},closest:function(e){var t=h.expr.match.POS.test(e)?h(e):null,n=0;return this.map(function(){for(var r=this;r&&r.ownerDocument;){if(t?t.index(r)>-1:h(r).is(e))return h.data(r,"closest",n),r;r=r.parentNode,n++}})},not:function(e){if("string"==typeof e){if(m.test(e))return this.pushStack(h.multiFilter(e,this,!0),"not",e);e=h.multiFilter(e,this)}var t=e.length&&e[e.length-1]!==c&&!e.nodeType;return this.filter(function(){return t?h.inArray(this,e)<0:this!=e})},add:function(e){return this.pushStack(h.unique(h.merge(this.get(),"string"==typeof e?h(e):h.makeArray(e))))},is:function(e){return!!e&&h.multiFilter(e,this).length>0},hasClass:function(e){return!!e&&this.is("."+e)},val:function(e){if(e===c){var t=this[0];if(t){if(h.nodeName(t,"option"))return(t.attributes.value||{}).specified?t.value:t.text;if(h.nodeName(t,"select")){var n=t.selectedIndex,r=[],i=t.options,o="select-one"==t.type;if(0>n)return null;for(var a=o?n:0,s=o?n+1:i.length;s>a;a++){var l=i[a];if(l.selected){if(e=h(l).val(),o)return e;r.push(e)}}return r}return(t.value||"").replace(/\r/g,"")}return c}return"number"==typeof e&&(e+=""),this.each(function(){if(1==this.nodeType)if(h.isArray(e)&&/radio|checkbox/.test(this.type))this.checked=h.inArray(this.value,e)>=0||h.inArray(this.name,e)>=0;else if(h.nodeName(this,"select")){var t=h.makeArray(e);h("option",this).each(function(){this.selected=h.inArray(this.value,t)>=0||h.inArray(this.text,t)>=0}),t.length||(this.selectedIndex=-1)}else this.value=e})},html:function(e){return e===c?this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null:this.empty().append(e)},replaceWith:function(e){return this.after(e).remove()},eq:function(e){return this.slice(e,+e+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(e){return this.pushStack(h.map(this,function(t,n){return e.call(t,n,t)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(t,n,r){function i(e,t){return n&&h.nodeName(e,"table")&&h.nodeName(t,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}if(this[0]){var o=(this[0].ownerDocument||this[0]).createDocumentFragment(),a=h.clean(t,this[0].ownerDocument||this[0],o),s=o.firstChild;if(s)for(var l=0,c=this.length;c>l;l++)r.call(i(this[l],s),this.length>1||l>0?o.cloneNode(!0):o);a&&h.each(a,e)}return this}},h.fn.init.prototype=h.fn,h.extend=h.fn.extend=function(){var e,t=arguments[0]||{},n=1,r=arguments.length,i=!1;for("boolean"==typeof t&&(i=t,t=arguments[1]||{},n=2),"object"==typeof t||h.isFunction(t)||(t={}),r==n&&(t=this,--n);r>n;n++)if(null!=(e=arguments[n]))for(var o in e){var a=t[o],s=e[o];t!==s&&(i&&s&&"object"==typeof s&&!s.nodeType?t[o]=h.extend(i,a||(null!=s.length?[]:{}),s):s!==c&&(t[o]=s))}return t};var v=/z-?index|font-?weight|opacity|zoom|line-?height/i,y=document.defaultView||{},g=Object.prototype.toString;h.extend({noConflict:function(e){return u.$=f,e&&(u.jQuery=d),h},isFunction:function(e){return"[object Function]"===g.call(e)},isArray:function(e){return"[object Array]"===g.call(e)},isXMLDoc:function(e){return 9===e.nodeType&&"HTML"!==e.documentElement.nodeName||!!e.ownerDocument&&h.isXMLDoc(e.ownerDocument)},globalEval:function(e){if(e&&/\S/.test(e)){var t=document.getElementsByTagName("head")[0]||document.documentElement,n=document.createElement("script");n.type="text/javascript",h.support.scriptEval?n.appendChild(document.createTextNode(e)):n.text=e,t.insertBefore(n,t.firstChild),t.removeChild(n)}},nodeName:function(e,t){return e.nodeName&&e.nodeName.toUpperCase()==t.toUpperCase()},each:function(e,t,n){var r,i=0,o=e.length;if(n)if(o===c){for(r in e)if(t.apply(e[r],n)===!1)break}else for(;o>i&&t.apply(e[i++],n)!==!1;);else if(o===c){for(r in e)if(t.call(e[r],r,e[r])===!1)break}else for(var a=e[0];o>i&&t.call(a,i,a)!==!1;a=e[++i]);return e},prop:function(e,t,n,r,i){return h.isFunction(t)&&(t=t.call(e,r)),"number"!=typeof t||"curCSS"!=n||v.test(i)?t:t+"px"},className:{add:function(e,t){h.each((t||"").split(/\s+/),function(t,n){1!=e.nodeType||h.className.has(e.className,n)||(e.className+=(e.className?" ":"")+n)})},remove:function(e,t){1==e.nodeType&&(e.className=t!==c?h.grep(e.className.split(/\s+/),function(e){return!h.className.has(t,e)}).join(" "):"")},has:function(e,t){return e&&h.inArray(t,(e.className||e).toString().split(/\s+/))>-1}},swap:function(e,t,n){var r={};for(var i in t)r[i]=e.style[i],e.style[i]=t[i];n.call(e);for(var i in t)e.style[i]=r[i]},css:function(e,t,n,r){function i(){o="width"==t?e.offsetWidth:e.offsetHeight,"border"!==r&&h.each(s,function(){r||(o-=parseFloat(h.curCSS(e,"padding"+this,!0))||0),"margin"===r?o+=parseFloat(h.curCSS(e,"margin"+this,!0))||0:o-=parseFloat(h.curCSS(e,"border"+this+"Width",!0))||0})}if("width"==t||"height"==t){var o,a={position:"absolute",visibility:"hidden",display:"block"},s="width"==t?["Left","Right"]:["Top","Bottom"];return 0!==e.offsetWidth?i():h.swap(e,a,i),Math.max(0,Math.round(o))}return h.curCSS(e,t,n)},curCSS:function(e,t,n){var r,i=e.style;if("opacity"==t&&!h.support.opacity)return r=h.attr(i,"opacity"),""==r?"1":r;if(t.match(/float/i)&&(t=w),!n&&i&&i[t])r=i[t];else if(y.getComputedStyle){t.match(/float/i)&&(t="float"),t=t.replace(/([A-Z])/g,"-$1").toLowerCase();var o=y.getComputedStyle(e,null);o&&(r=o.getPropertyValue(t)),"opacity"==t&&""==r&&(r="1")}else if(e.currentStyle){var a=t.replace(/\-(\w)/g,function(e,t){return t.toUpperCase()});if(r=e.currentStyle[t]||e.currentStyle[a],!/^\d+(px)?$/i.test(r)&&/^\d/.test(r)){var s=i.left,l=e.runtimeStyle.left;e.runtimeStyle.left=e.currentStyle.left,i.left=r||0,r=i.pixelLeft+"px",i.left=s,e.runtimeStyle.left=l}}return r},clean:function(e,t,n){if(t=t||document,"undefined"==typeof t.createElement&&(t=t.ownerDocument||t[0]&&t[0].ownerDocument||document),!n&&1===e.length&&"string"==typeof e[0]){var r=/^<(\w+)\s*\/?>$/.exec(e[0]);if(r)return[t.createElement(r[1])]}var i=[],o=[],a=t.createElement("div");if(h.each(e,function(e,n){if("number"==typeof n&&(n+=""),n){if("string"==typeof n){n=n.replace(/(<(\w+)[^>]*?)\/>/g,function(e,t,n){return n.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?e:t+">"});var r=n.replace(/^\s+/,"").substring(0,10).toLowerCase(),o=!r.indexOf("",""]||!r.indexOf("",""]||r.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
            "]||!r.indexOf("",""]||(!r.indexOf("",""]||!r.indexOf("",""]||!h.support.htmlSerialize&&[1,"div
            ","
            "]||[0,"",""];for(a.innerHTML=o[1]+n+o[2];o[0]--;)a=a.lastChild;if(!h.support.tbody)for(var s=/"!=o[1]||s?[]:a.childNodes:a.firstChild&&a.firstChild.childNodes,c=l.length-1;c>=0;--c)h.nodeName(l[c],"tbody")&&!l[c].childNodes.length&&l[c].parentNode.removeChild(l[c]);!h.support.leadingWhitespace&&/^\s/.test(n)&&a.insertBefore(t.createTextNode(n.match(/^\s*/)[0]),a.firstChild),n=h.makeArray(a.childNodes)}n.nodeType?i.push(n):i=h.merge(i,n)}}),n){for(var s=0;i[s];s++)!h.nodeName(i[s],"script")||i[s].type&&"text/javascript"!==i[s].type.toLowerCase()?(1===i[s].nodeType&&i.splice.apply(i,[s+1,0].concat(h.makeArray(i[s].getElementsByTagName("script")))),n.appendChild(i[s])):o.push(i[s].parentNode?i[s].parentNode.removeChild(i[s]):i[s]);return o}return i},attr:function(e,t,n){if(!e||3==e.nodeType||8==e.nodeType)return c;var r=!h.isXMLDoc(e),i=n!==c;if(t=r&&h.props[t]||t,e.tagName){var o=/href|src|style/.test(t);if("selected"==t&&e.parentNode&&e.parentNode.selectedIndex,t in e&&r&&!o){if(i){if("type"==t&&h.nodeName(e,"input")&&e.parentNode)throw"type property can't be changed";e[t]=n}if(h.nodeName(e,"form")&&e.getAttributeNode(t))return e.getAttributeNode(t).nodeValue;if("tabIndex"==t){var a=e.getAttributeNode("tabIndex");return a&&a.specified?a.value:e.nodeName.match(/(button|input|object|select|textarea)/i)?0:e.nodeName.match(/^(a|area)$/i)&&e.href?0:c}return e[t]}if(!h.support.style&&r&&"style"==t)return h.attr(e.style,"cssText",n);i&&e.setAttribute(t,""+n);var s=!h.support.hrefNormalized&&r&&o?e.getAttribute(t,2):e.getAttribute(t);return null===s?c:s}return h.support.opacity||"opacity"!=t?(t=t.replace(/-([a-z])/gi,function(e,t){return t.toUpperCase()}),i&&(e[t]=n),e[t]):(i&&(e.zoom=1,e.filter=(e.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(n)+""=="NaN"?"":"alpha(opacity="+100*n+")")),e.filter&&e.filter.indexOf("opacity=")>=0?parseFloat(e.filter.match(/opacity=([^)]*)/)[1])/100+"":"")},trim:function(e){return(e||"").replace(/^\s+|\s+$/g,"")},makeArray:function(e){var t=[];if(null!=e){var n=e.length;if(null==n||"string"==typeof e||h.isFunction(e)||e.setInterval)t[0]=e;else for(;n;)t[--n]=e[n]}return t},inArray:function(e,t){for(var n=0,r=t.length;r>n;n++)if(t[n]===e)return n;return-1},merge:function(e,t){var n,r=0,i=e.length;if(h.support.getAll)for(;null!=(n=t[r++]);)e[i++]=n;else for(;null!=(n=t[r++]);)8!=n.nodeType&&(e[i++]=n);return e},unique:function(e){var t=[],n={};try{for(var r=0,i=e.length;i>r;r++){var o=h.data(e[r]);n[o]||(n[o]=!0,t.push(e[r]))}}catch(a){t=e}return t},grep:function(e,t,n){for(var r=[],i=0,o=e.length;o>i;i++)!n!=!t(e[i],i)&&r.push(e[i]);return r},map:function(e,t){for(var n=[],r=0,i=e.length;i>r;r++){var o=t(e[r],r);null!=o&&(n[n.length]=o)}return n.concat.apply([],n)}});var b=navigator.userAgent.toLowerCase();h.browser={version:(b.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(b),opera:/opera/.test(b),msie:/msie/.test(b)&&!/opera/.test(b),mozilla:/mozilla/.test(b)&&!/(compatible|webkit)/.test(b)},h.each({parent:function(e){return e.parentNode},parents:function(e){return h.dir(e,"parentNode")},next:function(e){return h.nth(e,2,"nextSibling")},prev:function(e){return h.nth(e,2,"previousSibling")},nextAll:function(e){return h.dir(e,"nextSibling")},prevAll:function(e){return h.dir(e,"previousSibling")},siblings:function(e){return h.sibling(e.parentNode.firstChild,e)},children:function(e){return h.sibling(e.firstChild)},contents:function(e){return h.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:h.makeArray(e.childNodes)}},function(e,t){h.fn[e]=function(n){var r=h.map(this,t);return n&&"string"==typeof n&&(r=h.multiFilter(n,r)),this.pushStack(h.unique(r),e,n)}}),h.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){h.fn[e]=function(n){for(var r=[],i=h(n),o=0,a=i.length;a>o;o++){var s=(o>0?this.clone(!0):this).get();h.fn[t].apply(h(i[o]),s),r=r.concat(s)}return this.pushStack(r,e,n)}}),h.each({removeAttr:function(e){h.attr(this,e,""),1==this.nodeType&&this.removeAttribute(e)},addClass:function(e){h.className.add(this,e)},removeClass:function(e){h.className.remove(this,e)},toggleClass:function(e,t){"boolean"!=typeof t&&(t=!h.className.has(this,e)),h.className[t?"add":"remove"](this,e)},remove:function(e){e&&!h.filter(e,[this]).length||(h("*",this).add([this]).each(function(){h.event.remove(this),h.removeData(this)}),this.parentNode&&this.parentNode.removeChild(this))},empty:function(){for(h(this).children().remove();this.firstChild;)this.removeChild(this.firstChild)}},function(e,t){h.fn[e]=function(){return this.each(t,arguments)}});var x="jQuery"+t(),T=0,N={};h.extend({cache:{},data:function(e,t,n){e=e==u?N:e;var r=e[x];return r||(r=e[x]=++T),t&&!h.cache[r]&&(h.cache[r]={}),n!==c&&(h.cache[r][t]=n),t?h.cache[r][t]:r},removeData:function(e,t){e=e==u?N:e;var n=e[x];if(t){if(h.cache[n]){delete h.cache[n][t],t="";for(t in h.cache[n])break;t||h.removeData(e)}}else{try{delete e[x]}catch(r){e.removeAttribute&&e.removeAttribute(x)}delete h.cache[n]}},queue:function(e,t,n){if(e){t=(t||"fx")+"queue";var r=h.data(e,t);!r||h.isArray(n)?r=h.data(e,t,h.makeArray(n)):n&&r.push(n)}return r},dequeue:function(e,t){var n=h.queue(e,t),r=n.shift();t&&"fx"!==t||(r=n[0]),r!==c&&r.call(e)}}),h.fn.extend({data:function(e,t){var n=e.split(".");if(n[1]=n[1]?"."+n[1]:"",t===c){var r=this.triggerHandler("getData"+n[1]+"!",[n[0]]);return r===c&&this.length&&(r=h.data(this[0],e)),r===c&&n[1]?this.data(n[0]):r}return this.trigger("setData"+n[1]+"!",[n[0],t]).each(function(){h.data(this,e,t)})},removeData:function(e){return this.each(function(){h.removeData(this,e)})},queue:function(e,t){return"string"!=typeof e&&(t=e,e="fx"),t===c?h.queue(this[0],e):this.each(function(){var n=h.queue(this,e,t);"fx"==e&&1==n.length&&n[0].call(this)})},dequeue:function(e){return this.each(function(){h.dequeue(this,e)})}}),function(){function e(e,t,n,r,i,o){for(var a="previousSibling"==e&&!o,s=0,l=r.length;l>s;s++){var c=r[s];if(c){a&&1===c.nodeType&&(c.sizcache=n,c.sizset=s),c=c[e];for(var u=!1;c;){if(c.sizcache===n){u=r[c.sizset];break}if(1!==c.nodeType||o||(c.sizcache=n,c.sizset=s),c.nodeName===t){u=c;break}c=c[e]}r[s]=u}}}function t(e,t,n,r,i,a){for(var s="previousSibling"==e&&!a,l=0,c=r.length;c>l;l++){var u=r[l];if(u){s&&1===u.nodeType&&(u.sizcache=n,u.sizset=l),u=u[e];for(var d=!1;u;){if(u.sizcache===n){d=r[u.sizset];break}if(1===u.nodeType)if(a||(u.sizcache=n,u.sizset=l),"string"!=typeof t){if(u===t){d=!0;break}}else if(o.filter(t,[u]).length>0){d=u;break}u=u[e]}r[l]=d}}}var n=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,r=0,i=Object.prototype.toString,o=function(e,t,r,l){if(r=r||[],t=t||document,1!==t.nodeType&&9!==t.nodeType)return[];if(!e||"string"!=typeof e)return r;var c,d,h,y,g=[],b=!0;for(n.lastIndex=0;null!==(c=n.exec(e));)if(g.push(c[1]),c[2]){y=RegExp.rightContext;break}if(g.length>1&&s.exec(e))if(2===g.length&&a.relative[g[0]])d=v(g[0]+g[1],t);else for(d=a.relative[g[0]]?[t]:o(g.shift(),t);g.length;)e=g.shift(),a.relative[e]&&(e+=g.shift()),d=v(e,d);else{var x=l?{expr:g.pop(),set:u(l)}:o.find(g.pop(),1===g.length&&t.parentNode?t.parentNode:t,m(t));for(d=o.filter(x.expr,x.set),g.length>0?h=u(d):b=!1;g.length;){var T=g.pop(),N=T;a.relative[T]?N=g.pop():T="",null==N&&(N=t),a.relative[T](h,N,m(t))}}if(h||(h=d),!h)throw"Syntax error, unrecognized expression: "+(T||e);if("[object Array]"===i.call(h))if(b)if(1===t.nodeType)for(var E=0;null!=h[E];E++)h[E]&&(h[E]===!0||1===h[E].nodeType&&p(t,h[E]))&&r.push(d[E]);else for(var E=0;null!=h[E];E++)h[E]&&1===h[E].nodeType&&r.push(d[E]);else r.push.apply(r,h);else u(h,r);if(y&&(o(y,t,r,l),f&&(hasDuplicate=!1,r.sort(f),hasDuplicate)))for(var E=1;Eo;o++){var i,l=a.order[o];if(i=a.match[l].exec(e)){var c=RegExp.leftContext;if("\\"!==c.substr(c.length-1)&&(i[1]=(i[1]||"").replace(/\\/g,""),r=a.find[l](i,t,n),null!=r)){e=e.replace(a.match[l],"");break}}}return r||(r=t.getElementsByTagName("*")),{set:r,expr:e}},o.filter=function(e,t,n,r){for(var i,o,s=e,l=[],u=t,d=t&&t[0]&&m(t[0]);e&&t.length;){for(var f in a.filter)if(null!=(i=a.match[f].exec(e))){var h,p,v=a.filter[f];if(o=!1,u==l&&(l=[]),a.preFilter[f])if(i=a.preFilter[f](i,u,n,l,r,d)){if(i===!0)continue}else o=h=!0;if(i)for(var y=0;null!=(p=u[y]);y++)if(p){h=v(p,i,y,u);var g=r^!!h;n&&null!=h?g?o=!0:u[y]=!1:g&&(l.push(p),o=!0)}if(h!==c){if(n||(u=l),e=e.replace(a.match[f],""),!o)return[];break}}if(e==s){if(null==o)throw"Syntax error, unrecognized expression: "+e;break}s=e}return u};var a=o.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")}},relative:{"+":function(e,t,n){var r="string"==typeof t,i=r&&!/\W/.test(t),a=r&&!i;i&&!n&&(t=t.toUpperCase());for(var s,l=0,c=e.length;c>l;l++)if(s=e[l]){for(;(s=s.previousSibling)&&1!==s.nodeType;);e[l]=a||s&&s.nodeName===t?s||!1:s===t}a&&o.filter(t,e,!0)},">":function(e,t,n){var r="string"==typeof t;if(r&&!/\W/.test(t)){t=n?t:t.toUpperCase();for(var i=0,a=e.length;a>i;i++){var s=e[i];if(s){var l=s.parentNode;e[i]=l.nodeName===t?l:!1}}}else{for(var i=0,a=e.length;a>i;i++){var s=e[i];s&&(e[i]=r?s.parentNode:s.parentNode===t)}r&&o.filter(t,e,!0)}},"":function(n,i,o){var a=r++,s=t;if(!i.match(/\W/)){var l=i=o?i:i.toUpperCase();s=e}s("parentNode",i,a,n,l,o)},"~":function(n,i,o){var a=r++,s=t;if("string"==typeof i&&!i.match(/\W/)){var l=i=o?i:i.toUpperCase();s=e}s("previousSibling",i,a,n,l,o)}},find:{ID:function(e,t,n){if("undefined"!=typeof t.getElementById&&!n){var r=t.getElementById(e[1]);return r?[r]:[]}},NAME:function(e,t,n){if("undefined"!=typeof t.getElementsByName){for(var r=[],i=t.getElementsByName(e[1]),o=0,a=i.length;a>o;o++)i[o].getAttribute("name")===e[1]&&r.push(i[o]);return 0===r.length?null:r}},TAG:function(e,t){return t.getElementsByTagName(e[1])}},preFilter:{CLASS:function(e,t,n,r,i,o){if(e=" "+e[1].replace(/\\/g,"")+" ",o)return e;for(var a,s=0;null!=(a=t[s]);s++)a&&(i^(a.className&&(" "+a.className+" ").indexOf(e)>=0)?n||r.push(a):n&&(t[s]=!1));return!1},ID:function(e){return e[1].replace(/\\/g,"")},TAG:function(e,t){for(var n=0;t[n]===!1;n++);return t[n]&&m(t[n])?e[1]:e[1].toUpperCase()},CHILD:function(e){if("nth"==e[1]){var t=/(-?)(\d*)n((?:\+|-)?\d*)/.exec("even"==e[2]&&"2n"||"odd"==e[2]&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=t[1]+(t[2]||1)-0,e[3]=t[3]-0}return e[0]=r++,e},ATTR:function(e,t,n,r,i,o){var s=e[1].replace(/\\/g,"");return!o&&a.attrMap[s]&&(e[1]=a.attrMap[s]),"~="===e[2]&&(e[4]=" "+e[4]+" "),e},PSEUDO:function(e,t,r,i,s){if("not"===e[1]){if(!(e[3].match(n).length>1||/^\w/.test(e[3]))){var l=o.filter(e[3],t,r,!0^s);return r||i.push.apply(i,l),!1}e[3]=o(e[3],null,null,t)}else if(a.match.POS.test(e[0])||a.match.CHILD.test(e[0]))return!0;return e},POS:function(e){return e.unshift(!0),e}},filters:{enabled:function(e){return e.disabled===!1&&"hidden"!==e.type},disabled:function(e){return e.disabled===!0},checked:function(e){return e.checked===!0},selected:function(e){return e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!!e.firstChild},empty:function(e){return!e.firstChild},has:function(e,t,n){return!!o(n[3],e).length},header:function(e){return/h\d/i.test(e.nodeName)},text:function(e){return"text"===e.type},radio:function(e){return"radio"===e.type},checkbox:function(e){return"checkbox"===e.type},file:function(e){return"file"===e.type},password:function(e){return"password"===e.type},submit:function(e){return"submit"===e.type},image:function(e){return"image"===e.type},reset:function(e){return"reset"===e.type},button:function(e){return"button"===e.type||"BUTTON"===e.nodeName.toUpperCase()},input:function(e){return/input|select|textarea|button/i.test(e.nodeName)}},setFilters:{first:function(e,t){return 0===t},last:function(e,t,n,r){return t===r.length-1},even:function(e,t){return t%2===0},odd:function(e,t){return t%2===1},lt:function(e,t,n){return tn[3]-0},nth:function(e,t,n){return n[3]-0==t},eq:function(e,t,n){return n[3]-0==t}},filter:{PSEUDO:function(e,t,n,r){var i=t[1],o=a.filters[i];if(o)return o(e,n,t,r);if("contains"===i)return(e.textContent||e.innerText||"").indexOf(t[3])>=0;if("not"===i){for(var s=t[3],n=0,l=s.length;l>n;n++)if(s[n]===e)return!1;return!0}},CHILD:function(e,t){var n=t[1],r=e;switch(n){case"only":case"first":for(;r=r.previousSibling;)if(1===r.nodeType)return!1;if("first"==n)return!0;r=e;case"last":for(;r=r.nextSibling;)if(1===r.nodeType)return!1;return!0;case"nth":var i=t[2],o=t[3];if(1==i&&0==o)return!0;var a=t[0],s=e.parentNode;if(s&&(s.sizcache!==a||!e.nodeIndex)){var l=0;for(r=s.firstChild;r;r=r.nextSibling)1===r.nodeType&&(r.nodeIndex=++l);s.sizcache=a}var c=e.nodeIndex-o;return 0==i?0==c:c%i==0&&c/i>=0}},ID:function(e,t){return 1===e.nodeType&&e.getAttribute("id")===t},TAG:function(e,t){return"*"===t&&1===e.nodeType||e.nodeName===t},CLASS:function(e,t){return(" "+(e.className||e.getAttribute("class"))+" ").indexOf(t)>-1},ATTR:function(e,t){var n=t[1],r=a.attrHandle[n]?a.attrHandle[n](e):null!=e[n]?e[n]:e.getAttribute(n),i=r+"",o=t[2],s=t[4];return null==r?"!="===o:"="===o?i===s:"*="===o?i.indexOf(s)>=0:"~="===o?(" "+i+" ").indexOf(s)>=0:s?"!="===o?i!=s:"^="===o?0===i.indexOf(s):"$="===o?i.substr(i.length-s.length)===s:"|="===o?i===s||i.substr(0,s.length+1)===s+"-":!1:i&&r!==!1},POS:function(e,t,n,r){var i=t[2],o=a.setFilters[i];return o?o(e,n,t,r):void 0}}},s=a.match.POS;for(var l in a.match)a.match[l]=RegExp(a.match[l].source+/(?![^\[]*\])(?![^\(]*\))/.source);var u=function(e,t){return e=Array.prototype.slice.call(e),t?(t.push.apply(t,e),t):e};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(d){u=function(e,t){var n=t||[];if("[object Array]"===i.call(e))Array.prototype.push.apply(n,e);else if("number"==typeof e.length)for(var r=0,o=e.length;o>r;r++)n.push(e[r]);else for(var r=0;e[r];r++)n.push(e[r]);return n}}var f;document.documentElement.compareDocumentPosition?f=function(e,t){var n=4&e.compareDocumentPosition(t)?-1:e===t?0:1;return 0===n&&(hasDuplicate=!0),n}:"sourceIndex"in document.documentElement?f=function(e,t){var n=e.sourceIndex-t.sourceIndex;return 0===n&&(hasDuplicate=!0),n}:document.createRange&&(f=function(e,t){var n=e.ownerDocument.createRange(),r=t.ownerDocument.createRange();n.selectNode(e),n.collapse(!0),r.selectNode(t),r.collapse(!0);var i=n.compareBoundaryPoints(Range.START_TO_END,r);return 0===i&&(hasDuplicate=!0),i}),function(){var e=document.createElement("form"),t="script"+(new Date).getTime();e.innerHTML="";var n=document.documentElement;n.insertBefore(e,n.firstChild),document.getElementById(t)&&(a.find.ID=function(e,t,n){if("undefined"!=typeof t.getElementById&&!n){var r=t.getElementById(e[1]);return r?r.id===e[1]||"undefined"!=typeof r.getAttributeNode&&r.getAttributeNode("id").nodeValue===e[1]?[r]:c:[]}},a.filter.ID=function(e,t){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return 1===e.nodeType&&n&&n.nodeValue===t}),n.removeChild(e)}(),function(){var e=document.createElement("div");e.appendChild(document.createComment("")),e.getElementsByTagName("*").length>0&&(a.find.TAG=function(e,t){var n=t.getElementsByTagName(e[1]);if("*"===e[1]){for(var r=[],i=0;n[i];i++)1===n[i].nodeType&&r.push(n[i]);n=r}return n}),e.innerHTML="",e.firstChild&&"undefined"!=typeof e.firstChild.getAttribute&&"#"!==e.firstChild.getAttribute("href")&&(a.attrHandle.href=function(e){return e.getAttribute("href",2)})}(),document.querySelectorAll&&!function(){var e=o,t=document.createElement("div");t.innerHTML="

            ",t.querySelectorAll&&0===t.querySelectorAll(".TEST").length||(o=function(t,n,r,i){if(n=n||document,!i&&9===n.nodeType&&!m(n))try{return u(n.querySelectorAll(t),r)}catch(o){}return e(t,n,r,i)},o.find=e.find,o.filter=e.filter,o.selectors=e.selectors,o.matches=e.matches)}(),document.getElementsByClassName&&document.documentElement.getElementsByClassName&&!function(){var e=document.createElement("div");e.innerHTML="
            ",0!==e.getElementsByClassName("e").length&&(e.lastChild.className="e",1!==e.getElementsByClassName("e").length&&(a.order.splice(1,0,"CLASS"),a.find.CLASS=function(e,t,n){return"undefined"==typeof t.getElementsByClassName||n?void 0:t.getElementsByClassName(e[1])}))}();var p=document.compareDocumentPosition?function(e,t){return 16&e.compareDocumentPosition(t)}:function(e,t){return e!==t&&(e.contains?e.contains(t):!0)},m=function(e){return 9===e.nodeType&&"HTML"!==e.documentElement.nodeName||!!e.ownerDocument&&m(e.ownerDocument)},v=function(e,t){for(var n,r=[],i="",s=t.nodeType?[t]:t;n=a.match.PSEUDO.exec(e);)i+=n[0],e=e.replace(a.match.PSEUDO,"");e=a.relative[e]?e+"*":e;for(var l=0,c=s.length;c>l;l++)o(e,s[l],r);return o.filter(i,r)};h.find=o,h.filter=o.filter,h.expr=o.selectors,h.expr[":"]=h.expr.filters,o.selectors.filters.hidden=function(e){return 0===e.offsetWidth||0===e.offsetHeight},o.selectors.filters.visible=function(e){return e.offsetWidth>0||e.offsetHeight>0},o.selectors.filters.animated=function(e){return h.grep(h.timers,function(t){return e===t.elem}).length},h.multiFilter=function(e,t,n){return n&&(e=":not("+e+")"),o.matches(e,t)},h.dir=function(e,t){for(var n=[],r=e[t];r&&r!=document;)1==r.nodeType&&n.push(r),r=r[t];return n},h.nth=function(e,t,n,r){t=t||1;for(var i=0;e&&(1!=e.nodeType||++i!=t);e=e[n]);return e},h.sibling=function(e,t){for(var n=[];e;e=e.nextSibling)1==e.nodeType&&e!=t&&n.push(e);return n}}(),h.event={add:function(e,t,n,r){if(3!=e.nodeType&&8!=e.nodeType){if(e.setInterval&&e!=u&&(e=u),n.guid||(n.guid=this.guid++),r!==c){var i=n;n=this.proxy(i),n.data=r}var o=h.data(e,"events")||h.data(e,"events",{}),a=h.data(e,"handle")||h.data(e,"handle",function(){return"undefined"==typeof h||h.event.triggered?c:h.event.handle.apply(arguments.callee.elem,arguments)});a.elem=e,h.each(t.split(/\s+/),function(t,i){var s=i.split(".");i=s.shift(),n.type=s.slice().sort().join(".");var l=o[i];h.event.specialAll[i]&&h.event.specialAll[i].setup.call(e,r,s),l||(l=o[i]={},h.event.special[i]&&h.event.special[i].setup.call(e,r,s)!==!1||(e.addEventListener?e.addEventListener(i,a,!1):e.attachEvent&&e.attachEvent("on"+i,a))),l[n.guid]=n,h.event.global[i]=!0}),e=null}},guid:1,global:{},remove:function(e,t,n){if(3!=e.nodeType&&8!=e.nodeType){var r,i=h.data(e,"events");if(i){if(t===c||"string"==typeof t&&"."==t.charAt(0))for(var o in i)this.remove(e,o+(t||""));else t.type&&(n=t.handler,t=t.type),h.each(t.split(/\s+/),function(t,o){var a=o.split(".");o=a.shift();var s=RegExp("(^|\\.)"+a.slice().sort().join(".*\\.")+"(\\.|$)");if(i[o]){if(n)delete i[o][n.guid];else for(var l in i[o])s.test(i[o][l].type)&&delete i[o][l];h.event.specialAll[o]&&h.event.specialAll[o].teardown.call(e,a);for(r in i[o])break;r||(h.event.special[o]&&h.event.special[o].teardown.call(e,a)!==!1||(e.removeEventListener?e.removeEventListener(o,h.data(e,"handle"),!1):e.detachEvent&&e.detachEvent("on"+o,h.data(e,"handle"))),r=null,delete i[o])}});for(r in i)break;if(!r){var a=h.data(e,"handle");a&&(a.elem=null),h.removeData(e,"events"),h.removeData(e,"handle")}}}},trigger:function(e,t,n,r){var i=e.type||e;if(!r){if(e="object"==typeof e?e[x]?e:h.extend(h.Event(i),e):h.Event(i),i.indexOf("!")>=0&&(e.type=i=i.slice(0,-1),e.exclusive=!0), +n||(e.stopPropagation(),this.global[i]&&h.each(h.cache,function(){this.events&&this.events[i]&&h.event.trigger(e,t,this.handle.elem)})),!n||3==n.nodeType||8==n.nodeType)return c;e.result=c,e.target=n,t=h.makeArray(t),t.unshift(e)}e.currentTarget=n;var o=h.data(n,"handle");if(o&&o.apply(n,t),(!n[i]||h.nodeName(n,"a")&&"click"==i)&&n["on"+i]&&n["on"+i].apply(n,t)===!1&&(e.result=!1),!r&&n[i]&&!e.isDefaultPrevented()&&(!h.nodeName(n,"a")||"click"!=i)){this.triggered=!0;try{n[i]()}catch(a){}}if(this.triggered=!1,!e.isPropagationStopped()){var s=n.parentNode||n.ownerDocument;s&&h.event.trigger(e,t,s,!0)}},handle:function(e){var t,n;e=arguments[0]=h.event.fix(e||u.event),e.currentTarget=this;var r=e.type.split(".");e.type=r.shift(),t=!r.length&&!e.exclusive;var i=RegExp("(^|\\.)"+r.slice().sort().join(".*\\.")+"(\\.|$)");n=(h.data(this,"events")||{})[e.type];for(var o in n){var a=n[o];if(t||i.test(a.type)){e.handler=a,e.data=a.data;var s=a.apply(this,arguments);if(s!==c&&(e.result=s,s===!1&&(e.preventDefault(),e.stopPropagation())),e.isImmediatePropagationStopped())break}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(e){if(e[x])return e;var t=e;e=h.Event(t);for(var n,r=this.props.length;r;)n=this.props[--r],e[n]=t[n];if(e.target||(e.target=e.srcElement||document),3==e.target.nodeType&&(e.target=e.target.parentNode),!e.relatedTarget&&e.fromElement&&(e.relatedTarget=e.fromElement==e.target?e.toElement:e.fromElement),null==e.pageX&&null!=e.clientX){var i=document.documentElement,o=document.body;e.pageX=e.clientX+(i&&i.scrollLeft||o&&o.scrollLeft||0)-(i.clientLeft||0),e.pageY=e.clientY+(i&&i.scrollTop||o&&o.scrollTop||0)-(i.clientTop||0)}return!e.which&&(e.charCode||0===e.charCode?e.charCode:e.keyCode)&&(e.which=e.charCode||e.keyCode),!e.metaKey&&e.ctrlKey&&(e.metaKey=e.ctrlKey),!e.which&&e.button&&(e.which=1&e.button?1:2&e.button?3:4&e.button?2:0),e},proxy:function(e,t){return t=t||function(){return e.apply(this,arguments)},t.guid=e.guid=e.guid||t.guid||this.guid++,t},special:{ready:{setup:s,teardown:function(){}}},specialAll:{live:{setup:function(e,t){h.event.add(this,t[0],o)},teardown:function(e){if(e.length){var t=0,n=RegExp("(^|\\.)"+e[0]+"(\\.|$)");h.each(h.data(this,"events").live||{},function(){n.test(this.type)&&t++}),1>t&&h.event.remove(this,e[0],o)}}}}},h.Event=function(e){return this.preventDefault?(e&&e.type?(this.originalEvent=e,this.type=e.type):this.type=e,this.timeStamp=t(),void(this[x]=!0)):new h.Event(e)},h.Event.prototype={preventDefault:function(){this.isDefaultPrevented=i;var e=this.originalEvent;e&&(e.preventDefault&&e.preventDefault(),e.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=i;var e=this.originalEvent;e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=i,this.stopPropagation()},isDefaultPrevented:r,isPropagationStopped:r,isImmediatePropagationStopped:r};var E=function(e){for(var t=e.relatedTarget;t&&t!=this;)try{t=t.parentNode}catch(n){t=this}t!=this&&(e.type=e.data,h.event.handle.apply(this,arguments))};h.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(e,t){h.event.special[t]={setup:function(){h.event.add(this,e,E,t)},teardown:function(){h.event.remove(this,e,E)}}}),h.fn.extend({bind:function(e,t,n){return"unload"==e?this.one(e,t,n):this.each(function(){h.event.add(this,e,n||t,n&&t)})},one:function(e,t,n){var r=h.event.proxy(n||t,function(e){return h(this).unbind(e,r),(n||t).apply(this,arguments)});return this.each(function(){h.event.add(this,e,r,n&&t)})},unbind:function(e,t){return this.each(function(){h.event.remove(this,e,t)})},trigger:function(e,t){return this.each(function(){h.event.trigger(e,t,this)})},triggerHandler:function(e,t){if(this[0]){var n=h.Event(e);return n.preventDefault(),n.stopPropagation(),h.event.trigger(n,t,this[0]),n.result}},toggle:function(e){for(var t=arguments,n=1;n=0){var i=e.slice(r,e.length);e=e.slice(0,r)}var o="GET";t&&(h.isFunction(t)?(n=t,t=null):"object"==typeof t&&(t=h.param(t),o="POST"));var a=this;return h.ajax({url:e,type:o,dataType:"html",data:t,complete:function(e,t){"success"!=t&&"notmodified"!=t||a.html(i?h("
            ").append(e.responseText.replace(//g,"")).find(i):e.responseText),n&&a.each(n,[e.responseText,t,e])}}),this},serialize:function(){return h.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?h.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(e,t){var n=h(this).val();return null==n?null:h.isArray(n)?h.map(n,function(e,n){return{name:t.name,value:e}}):{name:t.name,value:n}}).get()}}),h.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(e,t){h.fn[t]=function(e){return this.bind(t,e)}});var C=t();h.extend({get:function(e,t,n,r){return h.isFunction(t)&&(n=t,t=null),h.ajax({type:"GET",url:e,data:t,success:n,dataType:r})},getScript:function(e,t){return h.get(e,null,t,"script")},getJSON:function(e,t,n){return h.get(e,t,n,"json")},post:function(e,t,n,r){return h.isFunction(t)&&(n=t,t={}),h.ajax({type:"POST",url:e,data:t,success:n,dataType:r})},ajaxSetup:function(e){h.extend(h.ajaxSettings,e)},ajaxSettings:{url:location.href,global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,xhr:function(){return u.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(e){function n(){e.success&&e.success(a,o),e.global&&h.event.trigger("ajaxSuccess",[b,e])}function r(){e.complete&&e.complete(b,o),e.global&&h.event.trigger("ajaxComplete",[b,e]),e.global&&!--h.active&&h.event.trigger("ajaxStop")}e=h.extend(!0,e,h.extend(!0,{},h.ajaxSettings,e));var i,o,a,s=/=\?(&|$)/g,l=e.type.toUpperCase();if(e.data&&e.processData&&"string"!=typeof e.data&&(e.data=h.param(e.data)),"jsonp"==e.dataType&&("GET"==l?e.url.match(s)||(e.url+=(e.url.match(/\?/)?"&":"?")+(e.jsonp||"callback")+"=?"):e.data&&e.data.match(s)||(e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?"),e.dataType="json"),"json"==e.dataType&&(e.data&&e.data.match(s)||e.url.match(s))&&(i="jsonp"+C++,e.data&&(e.data=(e.data+"").replace(s,"="+i+"$1")),e.url=e.url.replace(s,"="+i+"$1"),e.dataType="script",u[i]=function(e){a=e,n(),r(),u[i]=c;try{delete u[i]}catch(t){}m&&m.removeChild(v)}),"script"==e.dataType&&null==e.cache&&(e.cache=!1),e.cache===!1&&"GET"==l){var d=t(),f=e.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+d+"$2");e.url=f+(f==e.url?(e.url.match(/\?/)?"&":"?")+"_="+d:"")}e.data&&"GET"==l&&(e.url+=(e.url.match(/\?/)?"&":"?")+e.data,e.data=null),e.global&&!h.active++&&h.event.trigger("ajaxStart");var p=/^(\w+:)?\/\/([^\/?#]+)/.exec(e.url);if("script"==e.dataType&&"GET"==l&&p&&(p[1]&&p[1]!=location.protocol||p[2]!=location.host)){var m=document.getElementsByTagName("head")[0],v=document.createElement("script");if(v.src=e.url,e.scriptCharset&&(v.charset=e.scriptCharset),!i){var y=!1;v.onload=v.onreadystatechange=function(){y||this.readyState&&"loaded"!=this.readyState&&"complete"!=this.readyState||(y=!0,n(),r(),v.onload=v.onreadystatechange=null,m.removeChild(v))}}return m.appendChild(v),c}var g=!1,b=e.xhr();e.username?b.open(l,e.url,e.async,e.username,e.password):b.open(l,e.url,e.async);try{e.data&&b.setRequestHeader("Content-Type",e.contentType),e.ifModified&&b.setRequestHeader("If-Modified-Since",h.lastModified[e.url]||"Thu, 01 Jan 1970 00:00:00 GMT"),b.setRequestHeader("X-Requested-With","XMLHttpRequest"),b.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(x){}if(e.beforeSend&&e.beforeSend(b,e)===!1)return e.global&&!--h.active&&h.event.trigger("ajaxStop"),b.abort(),!1;e.global&&h.event.trigger("ajaxSend",[b,e]);var T=function(t){if(0==b.readyState)N&&(clearInterval(N),N=null,e.global&&!--h.active&&h.event.trigger("ajaxStop"));else if(!g&&b&&(4==b.readyState||"timeout"==t)){if(g=!0,N&&(clearInterval(N),N=null),o="timeout"==t?"timeout":h.httpSuccess(b)?e.ifModified&&h.httpNotModified(b,e.url)?"notmodified":"success":"error","success"==o)try{a=h.httpData(b,e.dataType,e)}catch(s){o="parsererror"}if("success"==o){var l;try{l=b.getResponseHeader("Last-Modified")}catch(s){}e.ifModified&&l&&(h.lastModified[e.url]=l),i||n()}else h.handleError(e,b,o);r(),t&&b.abort(),e.async&&(b=null)}};if(e.async){var N=setInterval(T,13);e.timeout>0&&setTimeout(function(){b&&!g&&T("timeout")},e.timeout)}try{b.send(e.data)}catch(x){h.handleError(e,b,null,x)}return e.async||T(),b},handleError:function(e,t,n,r){e.error&&e.error(t,n,r),e.global&&h.event.trigger("ajaxError",[t,e,r])},active:0,httpSuccess:function(e){try{return!e.status&&"file:"==location.protocol||e.status>=200&&e.status<300||304==e.status||1223==e.status}catch(t){}return!1},httpNotModified:function(e,t){try{var n=e.getResponseHeader("Last-Modified");return 304==e.status||n==h.lastModified[t]}catch(r){}return!1},httpData:function(e,t,n){var r=e.getResponseHeader("content-type"),i="xml"==t||!t&&r&&r.indexOf("xml")>=0,o=i?e.responseXML:e.responseText;if(i&&"parsererror"==o.documentElement.tagName)throw"parsererror";return n&&n.dataFilter&&(o=n.dataFilter(o,t)),"string"==typeof o&&("script"==t&&h.globalEval(o),"json"==t&&(o=u.eval("("+o+")"))),o},param:function(e){function t(e,t){n[n.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)}var n=[];if(h.isArray(e)||e.jquery)h.each(e,function(){t(this.name,this.value)});else for(var r in e)h.isArray(e[r])?h.each(e[r],function(){t(r,this)}):t(r,h.isFunction(e[r])?e[r]():e[r]);return n.join("&").replace(/%20/g,"+")}});var A,D={},L=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];h.fn.extend({show:function(e,t){if(e)return this.animate(l("show",3),e,t);for(var n=0,r=this.length;r>n;n++){var i=h.data(this[n],"olddisplay");if(this[n].style.display=i||"","none"===h.css(this[n],"display")){var o,a=this[n].tagName;if(D[a])o=D[a];else{var s=h("<"+a+" />").appendTo("body");o=s.css("display"),"none"===o&&(o="block"),s.remove(),D[a]=o}h.data(this[n],"olddisplay",o)}}for(var n=0,r=this.length;r>n;n++)this[n].style.display=h.data(this[n],"olddisplay")||"";return this},hide:function(e,t){if(e)return this.animate(l("hide",3),e,t);for(var n=0,r=this.length;r>n;n++){var i=h.data(this[n],"olddisplay");i||"none"===i||h.data(this[n],"olddisplay",h.css(this[n],"display"))}for(var n=0,r=this.length;r>n;n++)this[n].style.display="none";return this},_toggle:h.fn.toggle,toggle:function(e,t){var n="boolean"==typeof e;return h.isFunction(e)&&h.isFunction(t)?this._toggle.apply(this,arguments):null==e||n?this.each(function(){var t=n?e:h(this).is(":hidden");h(this)[t?"show":"hide"]()}):this.animate(l("toggle",3),e,t)},fadeTo:function(e,t,n){return this.animate({opacity:t},e,n)},animate:function(e,t,n,r){var i=h.speed(t,n,r);return this[i.queue===!1?"each":"queue"](function(){var t,n=h.extend({},i),r=1==this.nodeType&&h(this).is(":hidden"),o=this;for(t in e){if("hide"==e[t]&&r||"show"==e[t]&&!r)return n.complete.call(this);"height"!=t&&"width"!=t||!this.style||(n.display=h.css(this,"display"),n.overflow=this.style.overflow)}return null!=n.overflow&&(this.style.overflow="hidden"),n.curAnim=h.extend({},e),h.each(e,function(t,i){var a=new h.fx(o,n,t);if(/toggle|show|hide/.test(i))a["toggle"==i?r?"show":"hide":i](e);else{var s=i.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),l=a.cur(!0)||0;if(s){var c=parseFloat(s[2]),u=s[3]||"px";"px"!=u&&(o.style[t]=(c||1)+u,l=(c||1)/a.cur(!0)*l,o.style[t]=l+u),s[1]&&(c=("-="==s[1]?-1:1)*c+l),a.custom(l,c,u)}else a.custom(l,i,"")}}),!0})},stop:function(e,t){var n=h.timers;return e&&this.queue([]),this.each(function(){for(var e=n.length-1;e>=0;e--)n[e].elem==this&&(t&&n[e](!0),n.splice(e,1))}),t||this.dequeue(),this}}),h.each({slideDown:l("show",1),slideUp:l("hide",1),slideToggle:l("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(e,t){h.fn[e]=function(e,n){return this.animate(t,e,n)}}),h.extend({speed:function(e,t,n){var r="object"==typeof e?e:{complete:n||!n&&t||h.isFunction(e)&&e,duration:e,easing:n&&t||t&&!h.isFunction(t)&&t};return r.duration=h.fx.off?0:"number"==typeof r.duration?r.duration:h.fx.speeds[r.duration]||h.fx.speeds._default,r.old=r.complete,r.complete=function(){r.queue!==!1&&h(this).dequeue(),h.isFunction(r.old)&&r.old.call(this)},r},easing:{linear:function(e,t,n,r){return n+r*e},swing:function(e,t,n,r){return(-Math.cos(e*Math.PI)/2+.5)*r+n}},timers:[],fx:function(e,t,n){this.options=t,this.elem=e,this.prop=n,t.orig||(t.orig={})}}),h.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(h.fx.step[this.prop]||h.fx.step._default)(this),"height"!=this.prop&&"width"!=this.prop||!this.elem.style||(this.elem.style.display="block")},cur:function(e){if(null!=this.elem[this.prop]&&(!this.elem.style||null==this.elem.style[this.prop]))return this.elem[this.prop];var t=parseFloat(h.css(this.elem,this.prop,e));return t&&t>-1e4?t:parseFloat(h.curCSS(this.elem,this.prop))||0},custom:function(e,n,r){function i(e){return o.step(e)}this.startTime=t(),this.start=e,this.end=n,this.unit=r||this.unit||"px",this.now=this.start,this.pos=this.state=0;var o=this;i.elem=this.elem,i()&&h.timers.push(i)&&!A&&(A=setInterval(function(){for(var e=h.timers,t=0;t=this.options.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),this.options.curAnim[this.prop]=!0;var r=!0;for(var i in this.options.curAnim)this.options.curAnim[i]!==!0&&(r=!1);if(r){if(null!=this.options.display&&(this.elem.style.overflow=this.options.overflow,this.elem.style.display=this.options.display,"none"==h.css(this.elem,"display")&&(this.elem.style.display="block")),this.options.hide&&h(this.elem).hide(),this.options.hide||this.options.show)for(var o in this.options.curAnim)h.attr(this.elem.style,o,this.options.orig[o]);this.options.complete.call(this.elem)}return!1}var a=n-this.startTime;return this.state=a/this.options.duration,this.pos=h.easing[this.options.easing||(h.easing.swing?"swing":"linear")](this.state,a,0,1,this.options.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update(),!0}},h.extend(h.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(e){h.attr(e.elem.style,"opacity",e.now)},_default:function(e){e.elem.style&&null!=e.elem.style[e.prop]?e.elem.style[e.prop]=e.now+e.unit:e.elem[e.prop]=e.now}}}),document.documentElement.getBoundingClientRect?h.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return h.offset.bodyOffset(this[0]);var e=this[0].getBoundingClientRect(),t=this[0].ownerDocument,n=t.body,r=t.documentElement,i=r.clientTop||n.clientTop||0,o=r.clientLeft||n.clientLeft||0,a=e.top+(self.pageYOffset||h.boxModel&&r.scrollTop||n.scrollTop)-i,s=e.left+(self.pageXOffset||h.boxModel&&r.scrollLeft||n.scrollLeft)-o;return{top:a,left:s}}:h.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return h.offset.bodyOffset(this[0]);h.offset.initialized||h.offset.initialize();for(var e,t=this[0],n=t.offsetParent,r=t,i=t.ownerDocument,o=i.documentElement,a=i.body,s=i.defaultView,l=s.getComputedStyle(t,null),c=t.offsetTop,u=t.offsetLeft;(t=t.parentNode)&&t!==a&&t!==o;)e=s.getComputedStyle(t,null),c-=t.scrollTop,u-=t.scrollLeft,t===n&&(c+=t.offsetTop,u+=t.offsetLeft,!h.offset.doesNotAddBorder||h.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(t.tagName)||(c+=parseInt(e.borderTopWidth,10)||0,u+=parseInt(e.borderLeftWidth,10)||0),r=n,n=t.offsetParent),h.offset.subtractsBorderForOverflowNotVisible&&"visible"!==e.overflow&&(c+=parseInt(e.borderTopWidth,10)||0,u+=parseInt(e.borderLeftWidth,10)||0),l=e;return"relative"!==l.position&&"static"!==l.position||(c+=a.offsetTop,u+=a.offsetLeft),"fixed"===l.position&&(c+=Math.max(o.scrollTop,a.scrollTop),u+=Math.max(o.scrollLeft,a.scrollLeft)),{top:c,left:u}},h.offset={initialize:function(){if(!this.initialized){var e,t,n,r,i,o=document.body,a=document.createElement("div"),s=o.style.marginTop,l='
            ';r={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(i in r)a.style[i]=r[i];a.innerHTML=l,o.insertBefore(a,o.firstChild),e=a.firstChild,t=e.firstChild,n=e.nextSibling.firstChild.firstChild,this.doesNotAddBorder=5!==t.offsetTop,this.doesAddBorderForTableAndCells=5===n.offsetTop,e.style.overflow="hidden",e.style.position="relative",this.subtractsBorderForOverflowNotVisible=-5===t.offsetTop,o.style.marginTop="1px",this.doesNotIncludeMarginInBodyOffset=0===o.offsetTop,o.style.marginTop=s,o.removeChild(a),this.initialized=!0}},bodyOffset:function(e){h.offset.initialized||h.offset.initialize();var t=e.offsetTop,n=e.offsetLeft;return h.offset.doesNotIncludeMarginInBodyOffset&&(t+=parseInt(h.curCSS(e,"marginTop",!0),10)||0,n+=parseInt(h.curCSS(e,"marginLeft",!0),10)||0),{top:t,left:n}}},h.fn.extend({position:function(){var e;if(this[0]){var t=this.offsetParent(),r=this.offset(),i=/^body|html$/i.test(t[0].tagName)?{top:0,left:0}:t.offset();r.top-=n(this,"marginTop"),r.left-=n(this,"marginLeft"),i.top+=n(t,"borderTopWidth"),i.left+=n(t,"borderLeftWidth"),e={top:r.top-i.top,left:r.left-i.left}}return e},offsetParent:function(){for(var e=this[0].offsetParent||document.body;e&&!/^body|html$/i.test(e.tagName)&&"static"==h.css(e,"position");)e=e.offsetParent;return h(e)}}),h.each(["Left","Top"],function(e,t){var n="scroll"+t;h.fn[n]=function(t){return this[0]?t!==c?this.each(function(){this==u||this==document?u.scrollTo(e?h(u).scrollLeft():t,e?t:h(u).scrollTop()):this[n]=t}):this[0]==u||this[0]==document?self[e?"pageYOffset":"pageXOffset"]||h.boxModel&&document.documentElement[n]||document.body[n]:this[0][n]:null}}),h.each(["Height","Width"],function(e,t){var n=t.toLowerCase();h.fn["inner"+t]=function(){return this[0]?h.css(this[0],n,!1,"padding"):null},h.fn["outer"+t]=function(e){return this[0]?h.css(this[0],n,!1,e?"margin":"border"):null};var r=t.toLowerCase();h.fn[r]=function(e){return this[0]==u?"CSS1Compat"==document.compatMode&&document.documentElement["client"+t]||document.body["client"+t]:this[0]==document?Math.max(document.documentElement["client"+t],document.body["scroll"+t],document.documentElement["scroll"+t],document.body["offset"+t],document.documentElement["offset"+t]):e===c?this.length?h.css(this[0],r):null:this.css(r,"string"==typeof e?e:e+"px")}})}(); !function(e,t,n){"use strict";function r(e,t){return t=t||Error,function(){var n,r,i=2,o=arguments,a=o[0],s="["+(e?e+":":"")+a+"] ",u=o[1];for(s+=u.replace(/\{\d+\}/g,function(e){var t=+e.slice(1,-1),n=t+i;return n0&&t-1 in e}function o(e,t,n){var r,a;if(e)if(k(e))for(r in e)"prototype"==r||"length"==r||"name"==r||e.hasOwnProperty&&!e.hasOwnProperty(r)||t.call(n,e[r],r,e);else if(Ir(e)||i(e)){var s="object"!=typeof e;for(r=0,a=e.length;a>r;r++)(s||r in e)&&t.call(n,e[r],r,e)}else if(e.forEach&&e.forEach!==o)e.forEach(t,n,e);else if(x(e))for(r in e)t.call(n,e[r],r,e);else if("function"==typeof e.hasOwnProperty)for(r in e)e.hasOwnProperty(r)&&t.call(n,e[r],r,e);else for(r in e)yr.call(e,r)&&t.call(n,e[r],r,e);return e}function a(e,t,n){for(var r=Object.keys(e).sort(),i=0;ii;++i){var a=t[i];if(w(a)||k(a))for(var s=Object.keys(a),u=0,f=s.length;f>u;u++){var h=s[u],p=a[h];n&&w(p)?C(p)?e[h]=new Date(p.valueOf()):A(p)?e[h]=new RegExp(p):(w(e[h])||(e[h]=Ir(p)?[]:{}),l(e[h],[p],!0)):e[h]=p}}return c(e,r),e}function f(e){return l(e,Ar.call(arguments,1),!1)}function h(e){return l(e,Ar.call(arguments,1),!0)}function p(e){return parseInt(e,10)}function d(e,t){return f(Object.create(e),t)}function $(){}function v(e){return e}function m(e){return function(){return e}}function g(e){return k(e.toString)&&e.toString!==Object.prototype.toString}function y(e){return"undefined"==typeof e}function b(e){return"undefined"!=typeof e}function w(e){return null!==e&&"object"==typeof e}function x(e){return null!==e&&"object"==typeof e&&!Nr(e)}function S(e){return"string"==typeof e}function E(e){return"number"==typeof e}function C(e){return"[object Date]"===Tr.call(e)}function k(e){return"function"==typeof e}function A(e){return"[object RegExp]"===Tr.call(e)}function O(e){return e&&e.window===e}function M(e){return e&&e.$evalAsync&&e.$watch}function T(e){return"[object File]"===Tr.call(e)}function N(e){return"[object FormData]"===Tr.call(e)}function V(e){return"[object Blob]"===Tr.call(e)}function j(e){return"boolean"==typeof e}function P(e){return e&&k(e.then)}function D(e){return Rr.test(Tr.call(e))}function I(e){return!(!e||!(e.nodeName||e.prop&&e.attr&&e.find))}function R(e){var t,n={},r=e.split(",");for(t=0;t=0&&e.splice(n,1),n}function F(e,t,n,r){if(O(e)||M(e))throw Vr("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");if(D(t))throw Vr("cpta","Can't copy! TypedArray destination cannot be mutated.");if(t){if(e===t)throw Vr("cpi","Can't copy! Source and destination are identical.");n=n||[],r=r||[],w(e)&&(n.push(e),r.push(t));var i;if(Ir(e)){t.length=0;for(var a=0;an;n++)t[n]=e[n]}else if(w(e)){t=t||{};for(var i in e)"$"===i.charAt(0)&&"$"===i.charAt(1)||(t[i]=e[i])}return t||e}function B(e,t){if(e===t)return!0;if(null===e||null===t)return!1;if(e!==e&&t!==t)return!0;var n,r,i,o=typeof e,a=typeof t;if(o==a&&"object"==o){if(!Ir(e)){if(C(e))return C(t)?B(e.getTime(),t.getTime()):!1;if(A(e))return A(t)?e.toString()==t.toString():!1;if(M(e)||M(t)||O(e)||O(t)||Ir(t)||C(t)||A(t))return!1;i=ve();for(r in e)if("$"!==r.charAt(0)&&!k(e[r])){if(!B(e[r],t[r]))return!1;i[r]=!0}for(r in t)if(!(r in i)&&"$"!==r.charAt(0)&&b(t[r])&&!k(t[r]))return!1;return!0}if(!Ir(t))return!1;if((n=e.length)==t.length){for(r=0;n>r;r++)if(!B(e[r],t[r]))return!1;return!0}}return!1}function H(e,t,n){return e.concat(Ar.call(t,n))}function L(e,t){return Ar.call(e,t||0)}function z(e,t){var n=arguments.length>2?L(arguments,2):[];return!k(t)||t instanceof RegExp?t:n.length?function(){return arguments.length?t.apply(e,H(n,arguments,0)):t.apply(e,n)}:function(){return arguments.length?t.apply(e,arguments):t.call(e)}}function W(e,r){var i=r;return"string"==typeof e&&"$"===e.charAt(0)&&"$"===e.charAt(1)?i=n:O(r)?i="$WINDOW":r&&t===r?i="$DOCUMENT":M(r)&&(i="$SCOPE"),i}function G(e,t){return"undefined"==typeof e?n:(E(t)||(t=t?2:null),JSON.stringify(e,W,t))}function Y(e){return S(e)?JSON.parse(e):e}function J(e,t){var n=Date.parse("Jan 01, 1970 00:00:00 "+e)/6e4;return isNaN(n)?t:n}function K(e,t){return e=new Date(e.getTime()),e.setMinutes(e.getMinutes()+t),e}function Z(e,t,n){n=n?-1:1;var r=J(t,e.getTimezoneOffset());return K(e,n*(r-e.getTimezoneOffset()))}function X(e){e=Er(e).clone();try{e.empty()}catch(t){}var n=Er("
            ").append(e).html();try{return e[0].nodeType===Gr?gr(n):n.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(e,t){return"<"+gr(t)})}catch(t){return gr(n)}}function Q(e){try{return decodeURIComponent(e)}catch(t){}}function ee(e){var t={};return o((e||"").split("&"),function(e){var n,r,i;e&&(r=e=e.replace(/\+/g,"%20"),n=e.indexOf("="),-1!==n&&(r=e.substring(0,n),i=e.substring(n+1)),r=Q(r),b(r)&&(i=b(i)?Q(i):!0,yr.call(t,r)?Ir(t[r])?t[r].push(i):t[r]=[t[r],i]:t[r]=i))}),t}function te(e){var t=[];return o(e,function(e,n){Ir(e)?o(e,function(e){t.push(re(n,!0)+(e===!0?"":"="+re(e,!0)))}):t.push(re(n,!0)+(e===!0?"":"="+re(e,!0)))}),t.length?t.join("&"):""}function ne(e){return re(e,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function re(e,t){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,t?"%20":"+")}function ie(e,t){var n,r,i=Br.length;for(r=0;i>r;++r)if(n=Br[r]+t,S(n=e.getAttribute(n)))return n;return null}function oe(e,t){var n,r,i={};o(Br,function(t){var i=t+"app";!n&&e.hasAttribute&&e.hasAttribute(i)&&(n=e,r=e.getAttribute(i))}),o(Br,function(t){var i,o=t+"app";!n&&(i=e.querySelector("["+o.replace(":","\\:")+"]"))&&(n=i,r=i.getAttribute(o))}),n&&(i.strictDi=null!==ie(n,"strict-di"),t(n,r?[r]:[],i))}function ae(n,r,i){w(i)||(i={});var a={strictDi:!1};i=f(a,i);var s=function(){if(n=Er(n),n.injector()){var e=n[0]===t?"document":X(n);throw Vr("btstrpd","App Already Bootstrapped with this Element '{0}'",e.replace(//,">"))}r=r||[],r.unshift(["$provide",function(e){e.value("$rootElement",n)}]),i.debugInfoEnabled&&r.push(["$compileProvider",function(e){e.debugInfoEnabled(!0)}]),r.unshift("ng");var o=Xe(r,i.strictDi);return o.invoke(["$rootScope","$rootElement","$compile","$injector",function(e,t,n,r){e.$apply(function(){t.data("$injector",r),n(t)(e)})}]),o},u=/^NG_ENABLE_DEBUG_INFO!/,c=/^NG_DEFER_BOOTSTRAP!/;return e&&u.test(e.name)&&(i.debugInfoEnabled=!0,e.name=e.name.replace(u,"")),e&&!c.test(e.name)?s():(e.name=e.name.replace(c,""),jr.resumeBootstrap=function(e){return o(e,function(e){r.push(e)}),s()},void(k(jr.resumeDeferredBootstrap)&&jr.resumeDeferredBootstrap()))}function se(){e.name="NG_ENABLE_DEBUG_INFO!"+e.name,e.location.reload()}function ue(e){var t=jr.element(e).injector();if(!t)throw Vr("test","no injector found for element argument to getTestability");return t.get("$$testability")}function ce(e,t){return t=t||"_",e.replace(Hr,function(e,n){return(n?t:"")+e.toLowerCase()})}function le(){var t;if(!Lr){var r=Ur();Cr=y(r)?e.jQuery:r?e[r]:n,Cr&&Cr.fn.on?(Er=Cr,f(Cr.fn,{scope:fi.scope,isolateScope:fi.isolateScope,controller:fi.controller,injector:fi.injector,inheritedData:fi.inheritedData}),t=Cr.cleanData,Cr.cleanData=function(e){var n;if(Dr)Dr=!1;else for(var r,i=0;null!=(r=e[i]);i++)n=Cr._data(r,"events"),n&&n.$destroy&&Cr(r).triggerHandler("$destroy");t(e)}):Er=Oe,jr.element=Er,Lr=!0}}function fe(e,t,n){if(!e)throw Vr("areq","Argument '{0}' is {1}",t||"?",n||"required");return e}function he(e,t,n){return n&&Ir(e)&&(e=e[e.length-1]),fe(k(e),t,"not a function, got "+(e&&"object"==typeof e?e.constructor.name||"Object":typeof e)),e}function pe(e,t){if("hasOwnProperty"===e)throw Vr("badname","hasOwnProperty is not a valid {0} name",t)}function de(e,t,n){if(!t)return e;for(var r,i=t.split("."),o=e,a=i.length,s=0;a>s;s++)r=i[s],e&&(e=(o=e)[r]);return!n&&k(e)?z(o,e):e}function $e(e){for(var t,n=e[0],r=e[e.length-1],i=1;n!==r&&(n=n.nextSibling);i++)(t||e[i]!==n)&&(t||(t=Er(Ar.call(e,0,i))),t.push(n));return t||e}function ve(){return Object.create(null)}function me(e){function t(e,t,n){return e[t]||(e[t]=n())}var n=r("$injector"),i=r("ng"),o=t(e,"angular",Object);return o.$$minErr=o.$$minErr||r,t(o,"module",function(){var e={};return function(r,o,a){var s=function(e,t){if("hasOwnProperty"===e)throw i("badname","hasOwnProperty is not a valid {0} name",t)};return s(r,"module"),o&&e.hasOwnProperty(r)&&(e[r]=null),t(e,r,function(){function e(e,t,n,r){return r||(r=i),function(){return r[n||"push"]([e,t,arguments]),l}}function t(e,t){return function(n,o){return o&&k(o)&&(o.$$moduleName=r),i.push([e,t,arguments]),l}}if(!o)throw n("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",r);var i=[],s=[],u=[],c=e("$injector","invoke","push",s),l={_invokeQueue:i,_configBlocks:s,_runBlocks:u,requires:o,name:r,provider:t("$provide","provider"),factory:t("$provide","factory"),service:t("$provide","service"),value:e("$provide","value"),constant:e("$provide","constant","unshift"),decorator:t("$provide","decorator"),animation:t("$animateProvider","register"),filter:t("$filterProvider","register"),controller:t("$controllerProvider","register"),directive:t("$compileProvider","directive"),config:c,run:function(e){return u.push(e),this}};return a&&c(a),l})}})}function ge(e){var t=[];return JSON.stringify(e,function(e,n){if(n=W(e,n),w(n)){if(t.indexOf(n)>=0)return"...";t.push(n)}return n})}function ye(e){return"function"==typeof e?e.toString().replace(/ \{[\s\S]*$/,""):y(e)?"undefined":"string"!=typeof e?ge(e):e}function be(t){f(t,{bootstrap:ae,copy:F,extend:f,merge:h,equals:B,element:Er,forEach:o,injector:Xe,noop:$,bind:z,toJson:G,fromJson:Y,identity:v,isUndefined:y,isDefined:b,isString:S,isFunction:k,isObject:w,isNumber:E,isElement:I,isArray:Ir,version:Zr,isDate:C,lowercase:gr,uppercase:br,callbacks:{counter:0},getTestability:ue,$$minErr:r,$$csp:Fr,reloadWithDebugInfo:se}),(kr=me(e))("ng",["ngLocale"],["$provide",function(e){e.provider({$$sanitizeUri:$n}),e.provider("$compile",ut).directive({a:fo,input:Mo,textarea:Mo,form:mo,script:wa,select:Ea,style:ka,option:Ca,ngBind:Vo,ngBindHtml:Po,ngBindTemplate:jo,ngClass:Io,ngClassEven:_o,ngClassOdd:Ro,ngCloak:qo,ngController:Fo,ngForm:go,ngHide:$a,ngIf:Ho,ngInclude:Lo,ngInit:Wo,ngNonBindable:aa,ngPluralize:la,ngRepeat:fa,ngShow:da,ngStyle:va,ngSwitch:ma,ngSwitchWhen:ga,ngSwitchDefault:ya,ngOptions:ca,ngTransclude:ba,ngModel:ra,ngList:Go,ngChange:Do,pattern:Oa,ngPattern:Oa,required:Aa,ngRequired:Aa,minlength:Ta,ngMinlength:Ta,maxlength:Ma,ngMaxlength:Ma,ngValue:No,ngModelOptions:oa}).directive({ngInclude:zo}).directive(ho).directive(Uo),e.provider({$anchorScroll:Qe,$animate:ki,$animateCss:Ai,$$animateQueue:Ci,$$AnimateRunner:Ei,$browser:ot,$cacheFactory:at,$controller:pt,$document:dt,$exceptionHandler:$t,$filter:Mn,$$forceReflow:Vi,$interpolate:Mt,$interval:Tt,$http:Ct,$httpParamSerializer:mt,$httpParamSerializerJQLike:gt,$httpBackend:At,$location:Lt,$log:zt,$parse:cn,$rootScope:dn,$q:ln,$$q:fn,$sce:yn,$sceDelegate:gn,$sniffer:bn,$templateCache:st,$templateRequest:wn,$$testability:xn,$timeout:Sn,$window:kn,$$rAF:pn,$$jqLite:Ge,$$HashMap:$i,$$cookieReader:On})}])}function we(){return++Qr}function xe(e){return e.replace(ni,function(e,t,n,r){return r?n.toUpperCase():n}).replace(ri,"Moz$1")}function Se(e){return!si.test(e)}function Ee(e){var t=e.nodeType;return t===zr||!t||t===Jr}function Ce(e){for(var t in Xr[e.ng339])return!0;return!1}function ke(e,t){var n,r,i,a,s=t.createDocumentFragment(),u=[];if(Se(e))u.push(t.createTextNode(e));else{for(n=n||s.appendChild(t.createElement("div")),r=(ui.exec(e)||["",""])[1].toLowerCase(),i=li[r]||li._default,n.innerHTML=i[1]+e.replace(ci,"<$1>")+i[2],a=i[0];a--;)n=n.lastChild;u=H(u,n.childNodes),n=s.firstChild,n.textContent=""}return s.textContent="",s.innerHTML="",o(u,function(e){s.appendChild(e)}),s}function Ae(e,n){n=n||t;var r;return(r=ai.exec(e))?[n.createElement(r[1])]:(r=ke(e,n))?r.childNodes:[]}function Oe(e){if(e instanceof Oe)return e;var t;if(S(e)&&(e=_r(e),t=!0),!(this instanceof Oe)){if(t&&"<"!=e.charAt(0))throw oi("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new Oe(e)}t?_e(this,Ae(e)):_e(this,e)}function Me(e){return e.cloneNode(!0)}function Te(e,t){if(t||Ve(e),e.querySelectorAll)for(var n=e.querySelectorAll("*"),r=0,i=n.length;i>r;r++)Ve(n[r])}function Ne(e,t,n,r){if(b(r))throw oi("offargs","jqLite#off() does not support the `selector` argument");var i=je(e),a=i&&i.events,s=i&&i.handle;if(s)if(t)o(t.split(" "),function(t){if(b(n)){var r=a[t];if(q(r||[],n),r&&r.length>0)return}ti(e,t,s),delete a[t]});else for(t in a)"$destroy"!==t&&ti(e,t,s),delete a[t]}function Ve(e,t){var r=e.ng339,i=r&&Xr[r];if(i){if(t)return void delete i.data[t];i.handle&&(i.events.$destroy&&i.handle({},"$destroy"),Ne(e)),delete Xr[r],e.ng339=n}}function je(e,t){var r=e.ng339,i=r&&Xr[r];return t&&!i&&(e.ng339=r=we(),i=Xr[r]={events:{},data:{},handle:n}),i}function Pe(e,t,n){if(Ee(e)){var r=b(n),i=!r&&t&&!w(t),o=!t,a=je(e,!i),s=a&&a.data;if(r)s[t]=n;else{if(o)return s;if(i)return s&&s[t];f(s,t)}}}function De(e,t){return e.getAttribute?(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+t+" ")>-1:!1}function Ie(e,t){t&&e.setAttribute&&o(t.split(" "),function(t){e.setAttribute("class",_r((" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+_r(t)+" "," ")))})}function Re(e,t){if(t&&e.setAttribute){var n=(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");o(t.split(" "),function(e){e=_r(e),-1===n.indexOf(" "+e+" ")&&(n+=e+" ")}),e.setAttribute("class",_r(n))}}function _e(e,t){if(t)if(t.nodeType)e[e.length++]=t;else{var n=t.length;if("number"==typeof n&&t.window!==t){if(n)for(var r=0;n>r;r++)e[e.length++]=t[r]}else e[e.length++]=t}}function qe(e,t){return Fe(e,"$"+(t||"ngController")+"Controller")}function Fe(e,t,n){e.nodeType==Jr&&(e=e.documentElement);for(var r=Ir(t)?t:[t];e;){for(var i=0,o=r.length;o>i;i++)if(b(n=Er.data(e,r[i])))return n;e=e.parentNode||e.nodeType===Kr&&e.host}}function Ue(e){for(Te(e,!0);e.firstChild;)e.removeChild(e.firstChild)}function Be(e,t){t||Te(e);var n=e.parentNode;n&&n.removeChild(e)}function He(t,n){n=n||e,"complete"===n.document.readyState?n.setTimeout(t):Er(n).on("load",t)}function Le(e,t){var n=hi[t.toLowerCase()];return n&&pi[_(e)]&&n}function ze(e){return di[e]}function We(e,t){var n=function(n,r){n.isDefaultPrevented=function(){return n.defaultPrevented};var i=t[r||n.type],o=i?i.length:0;if(o){if(y(n.immediatePropagationStopped)){var a=n.stopImmediatePropagation;n.stopImmediatePropagation=function(){n.immediatePropagationStopped=!0,n.stopPropagation&&n.stopPropagation(),a&&a.call(n)}}n.isImmediatePropagationStopped=function(){return n.immediatePropagationStopped===!0},o>1&&(i=U(i));for(var s=0;o>s;s++)n.isImmediatePropagationStopped()||i[s].call(e,n)}};return n.elem=e,n}function Ge(){this.$get=function(){return f(Oe,{hasClass:function(e,t){return e.attr&&(e=e[0]),De(e,t)},addClass:function(e,t){return e.attr&&(e=e[0]),Re(e,t)},removeClass:function(e,t){return e.attr&&(e=e[0]),Ie(e,t)}})}}function Ye(e,t){var n=e&&e.$$hashKey;if(n)return"function"==typeof n&&(n=e.$$hashKey()),n;var r=typeof e;return n="function"==r||"object"==r&&null!==e?e.$$hashKey=r+":"+(t||u)():r+":"+e}function Je(e,t){if(t){var n=0;this.nextUid=function(){return++n}}o(e,this.put,this)}function Ke(e){var t=e.toString().replace(yi,""),n=t.match(vi);return n?"function("+(n[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function Ze(e,t,n){var r,i,a,s;if("function"==typeof e){if(!(r=e.$inject)){if(r=[],e.length){if(t)throw S(n)&&n||(n=e.name||Ke(e)),bi("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",n);i=e.toString().replace(yi,""),a=i.match(vi),o(a[1].split(mi),function(e){e.replace(gi,function(e,t,n){r.push(n)})})}e.$inject=r}}else Ir(e)?(s=e.length-1,he(e[s],"fn"),r=e.slice(0,s)):he(e,"fn",!0);return r}function Xe(e,t){function r(e){return function(t,n){return w(t)?void o(t,s(e)):e(t,n)}}function i(e,t){if(pe(e,"service"),(k(t)||Ir(t))&&(t=E.instantiate(t)),!t.$get)throw bi("pget","Provider '{0}' must define $get factory method.",e);return x[e+v]=t}function a(e,t){return function(){var n=A.invoke(t,this);if(y(n))throw bi("undef","Provider '{0}' must return a value from $get factory method.",e);return n}}function u(e,t,n){return i(e,{$get:n!==!1?a(e,t):t})}function c(e,t){return u(e,["$injector",function(e){return e.instantiate(t)}])}function l(e,t){return u(e,m(t),!1)}function f(e,t){pe(e,"constant"),x[e]=t,C[e]=t}function h(e,t){var n=E.get(e+v),r=n.$get;n.$get=function(){var e=A.invoke(r,n);return A.invoke(t,null,{$delegate:e})}}function p(e){fe(y(e)||Ir(e),"modulesToLoad","not an array");var t,n=[];return o(e,function(e){function r(e){var t,n;for(t=0,n=e.length;n>t;t++){var r=e[t],i=E.get(r[0]);i[r[1]].apply(i,r[2])}}if(!b.get(e)){b.put(e,!0);try{S(e)?(t=kr(e),n=n.concat(p(t.requires)).concat(t._runBlocks),r(t._invokeQueue),r(t._configBlocks)):k(e)?n.push(E.invoke(e)):Ir(e)?n.push(E.invoke(e)):he(e,"module")}catch(i){throw Ir(e)&&(e=e[e.length-1]),i.message&&i.stack&&-1==i.stack.indexOf(i.message)&&(i=i.message+"\n"+i.stack),bi("modulerr","Failed to instantiate module {0} due to:\n{1}",e,i.stack||i.message||i)}}}),n}function d(e,n){function r(t,r){if(e.hasOwnProperty(t)){if(e[t]===$)throw bi("cdep","Circular dependency found: {0}",t+" <- "+g.join(" <- "));return e[t]}try{return g.unshift(t),e[t]=$,e[t]=n(t,r)}catch(i){throw e[t]===$&&delete e[t],i}finally{g.shift()}}function i(e,n,i,o){"string"==typeof i&&(o=i,i=null);var a,s,u,c=[],l=Xe.$$annotate(e,t,o);for(s=0,a=l.length;a>s;s++){if(u=l[s],"string"!=typeof u)throw bi("itkn","Incorrect injection token! Expected service name as string, got {0}",u);c.push(i&&i.hasOwnProperty(u)?i[u]:r(u,o))}return Ir(e)&&(e=e[a]),e.apply(n,c)}function o(e,t,n){var r=Object.create((Ir(e)?e[e.length-1]:e).prototype||null),o=i(e,r,t,n);return w(o)||k(o)?o:r}return{invoke:i,instantiate:o,get:r,annotate:Xe.$$annotate,has:function(t){return x.hasOwnProperty(t+v)||e.hasOwnProperty(t)}}}t=t===!0;var $={},v="Provider",g=[],b=new Je([],!0),x={$provide:{provider:r(i),factory:r(u),service:r(c),value:r(l),constant:r(f),decorator:h}},E=x.$injector=d(x,function(e,t){throw jr.isString(t)&&g.push(t),bi("unpr","Unknown provider: {0}",g.join(" <- "))}),C={},A=C.$injector=d(C,function(e,t){var r=E.get(e+v,t);return A.invoke(r.$get,r,n,e)});return o(p(e),function(e){e&&A.invoke(e)}),A}function Qe(){var e=!0;this.disableAutoScrolling=function(){e=!1},this.$get=["$window","$location","$rootScope",function(t,n,r){function i(e){var t=null;return Array.prototype.some.call(e,function(e){return"a"===_(e)?(t=e,!0):void 0}),t}function o(){var e=s.yOffset;if(k(e))e=e();else if(I(e)){var n=e[0],r=t.getComputedStyle(n);e="fixed"!==r.position?0:n.getBoundingClientRect().bottom}else E(e)||(e=0);return e}function a(e){if(e){e.scrollIntoView();var n=o();if(n){var r=e.getBoundingClientRect().top;t.scrollBy(0,r-n)}}else t.scrollTo(0,0)}function s(e){e=S(e)?e:n.hash();var t;e?(t=u.getElementById(e))?a(t):(t=i(u.getElementsByName(e)))?a(t):"top"===e&&a(null):a(null)}var u=t.document;return e&&r.$watch(function(){return n.hash()},function(e,t){e===t&&""===e||He(function(){r.$evalAsync(s)})}),s}]}function et(e,t){return e||t?e?t?(Ir(e)&&(e=e.join(" ")),Ir(t)&&(t=t.join(" ")),e+" "+t):e:t:""}function tt(e){for(var t=0;tc&&this.remove(p.key),t}},get:function(e){if(c").parent()[0])});var a=P(e,t,e,n,r,i);V.$$addScopeClass(e);var s=null;return function(t,n,r){fe(t,"scope"),r=r||{};var i=r.parentBoundTranscludeFn,o=r.transcludeControllers,u=r.futureParentElement;i&&i.$$boundTransclude&&(i=i.$$boundTransclude),s||(s=j(u));var c;if(c="html"!==s?Er(Q(s,Er("
            ").append(e).html())):n?fi.clone.call(e):e,o)for(var l in o)c.data("$"+l+"Controller",o[l].instance);return V.$$addScopeInfo(c,t),n&&n(c,t),a&&a(t,c,c,i),c}}function j(e){var t=e&&e[0];return t&&"foreignobject"!==_(t)&&t.toString().match(/SVG/)?"svg":"html"}function P(e,t,r,i,o,a){function s(e,r,i,o){var a,s,u,c,l,f,h,p,v;if(d){var m=r.length;for(v=new Array(m),l=0;l<$.length;l+=3)h=$[l],v[h]=r[h]}else v=r;for(l=0,f=$.length;f>l;)if(u=v[$[l++]],a=$[l++],s=$[l++],a){if(a.scope){c=e.$new(),V.$$addScopeInfo(Er(u),c);var g=a.$$destroyBindings;g&&(a.$$destroyBindings=null,c.$on("$destroyed",g))}else c=e;p=a.transcludeOnThisElement?D(e,a.transclude,o):!a.templateOnThisElement&&o?o:!o&&t?D(e,t):null,a(s,c,u,i,p,a)}else s&&s(e,u.childNodes,n,o)}for(var u,c,l,f,h,p,d,$=[],v=0;vg;g++){var b=!1,x=!1;c=m[g],l=c.name,$=_r(c.value),d=ct(l),(v=he.test(d))&&(l=l.replace(Mi,"").substr(8).replace(/_(.)/g,function(e,t){return t.toUpperCase()}));var E=d.replace(/(Start|End)$/,"");W(E)&&d===E+"Start"&&(b=l,x=l.substr(0,l.length-5)+"end",l=l.substr(0,l.length-6)),f=ct(l.toLowerCase()),u[f]=l,!v&&n.hasOwnProperty(f)||(n[f]=$,Le(e,f)&&(n[f]=!0)),te(e,t,$,f,v),z(t,f,"A",r,i,b,x)}if(a=e.className,w(a)&&(a=a.animVal),S(a)&&""!==a)for(;o=p.exec(a);)f=ct(o[2]),z(t,f,"C",r,i)&&(n[f]=_r(o[3])),a=a.substr(o.index+o[0].length);break;case Gr:if(11===Sr)for(;e.parentNode&&e.nextSibling&&e.nextSibling.nodeType===Gr;)e.nodeValue=e.nodeValue+e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);Z(t,e.nodeValue);break;case Yr:try{o=h.exec(e.nodeValue),o&&(f=ct(o[1]),z(t,f,"M",r,i)&&(n[f]=_r(o[2])))}catch(C){}}return t.sort(J),t}function R(e,t,n){var r=[],i=0;if(t&&e.hasAttribute&&e.hasAttribute(t)){do{if(!e)throw Oi("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",t,n);e.nodeType==zr&&(e.hasAttribute(t)&&i++,e.hasAttribute(n)&&i--),r.push(e),e=e.nextSibling}while(i>0)}else r.push(e);return Er(r)}function F(e,t,n){return function(r,i,o,a,s){return i=R(i[0],t,n),e(r,i,o,a,s)}}function U(e,r,o,a,s,c,l,f,h){function p(e,t,n,r){e&&(n&&(e=F(e,n,r)),e.require=m.require,e.directiveName=g,(T===m||m.$$isolateScope)&&(e=re(e,{isolateScope:!0})),l.push(e)),t&&(n&&(t=F(t,n,r)),t.require=m.require,t.directiveName=g,(T===m||m.$$isolateScope)&&(t=re(t,{isolateScope:!0})),f.push(t))}function d(e,t,n,r){var i;if(S(t)){var o=t.match(x),a=t.substring(o[0].length),s=o[1]||o[3],u="?"===o[2];if("^^"===s?n=n.parent():(i=r&&r[a],i=i&&i.instance),!i){var c="$"+a+"Controller";i=s?n.inheritedData(c):n.data(c)}if(!i&&!u)throw Oi("ctreq","Controller '{0}', required by directive '{1}', can't be found!",a,e)}else if(Ir(t)){i=[];for(var l=0,f=t.length;f>l;l++)i[l]=d(e,t[l],n,r)}return i||null}function $(e,t,n,r,i,o){var a=ve();for(var s in r){var c=r[s],l={$scope:c===T||c.$$isolateScope?i:o,$element:e,$attrs:t,$transclude:n},f=c.controller;"@"==f&&(f=t[c.name]);var h=u(f,l,!0,c.controllerAs);a[c.name]=h,_||e.data("$"+c.name+"Controller",h.instance)}return a}function v(e,t,i,a,s,u){function c(e,t,r){var i;return M(e)||(r=t,t=e,e=n),_&&(i=y),r||(r=_?w.parent():w),s(e,t,i,r,j)}var h,p,v,m,g,y,b,w,x;if(r===i?(x=o,w=o.$$element):(w=Er(i),x=new ae(w,o)),T&&(g=t.$new(!0)),s&&(b=c,b.$$boundTransclude=s),O&&(y=$(w,x,b,O,g,t)),T&&(V.$$addScopeInfo(w,g,!0,!(N&&(N===T||N===T.$$originalDirective))),V.$$addScopeClass(w,!0),g.$$isolateBindings=T.$$isolateBindings,oe(t,x,g,g.$$isolateBindings,T,g)),y){var S,E,C=T||A;C&&y[C.name]&&(S=C.$$bindings.bindToController,m=y[C.name],m&&m.identifier&&S&&(E=m,u.$$destroyBindings=oe(t,x,m.instance,S,C)));for(h in y){m=y[h];var k=m();k!==m.instance&&(m.instance=k,w.data("$"+h+"Controller",k),m===E&&(u.$$destroyBindings(),u.$$destroyBindings=oe(t,x,k,S,C)))}}for(h=0,p=l.length;p>h;h++)v=l[h],ie(v,v.isolateScope?g:t,w,x,v.require&&d(v.directiveName,v.require,w,y),b);var j=t;for(T&&(T.template||null===T.templateUrl)&&(j=g),e&&e(j,i.childNodes,n,s),h=f.length-1;h>=0;h--)v=f[h],ie(v,v.isolateScope?g:t,w,x,v.require&&d(v.directiveName,v.require,w,y),b)}h=h||{};for(var m,g,y,b,E,C=-Number.MAX_VALUE,A=h.newScopeDirective,O=h.controllerDirectives,T=h.newIsolateScopeDirective,N=h.templateDirective,j=h.nonTlbTranscludeDirective,P=!1,D=!1,_=h.hasElementTranscludeDirective,q=o.$$element=Er(r),U=c,B=a,z=0,W=e.length;W>z;z++){m=e[z];var J=m.$$start,Z=m.$$end;if(J&&(q=R(r,J,Z)),y=n,C>m.priority)break;if((E=m.scope)&&(m.templateUrl||(w(E)?(K("new/isolated scope",T||A,m,q),T=m):K("new/isolated scope",T,m,q)),A=A||m),g=m.name,!m.templateUrl&&m.controller&&(E=m.controller,O=O||ve(),K("'"+g+"' controller",O[g],m,q),O[g]=m), (E=m.transclude)&&(P=!0,m.$$tlb||(K("transclusion",j,m,q),j=m),"element"==E?(_=!0,C=m.priority,y=q,q=o.$$element=Er(t.createComment(" "+g+": "+o[g]+" ")),r=q[0],ne(s,L(y),r),B=V(y,a,C,U&&U.name,{nonTlbTranscludeDirective:j})):(y=Er(Me(r)).contents(),q.empty(),B=V(y,a))),m.template)if(D=!0,K("template",N,m,q),N=m,E=k(m.template)?m.template(q,o):m.template,E=le(E),m.replace){if(U=m,y=Se(E)?[]:ft(Q(m.templateNamespace,_r(E))),r=y[0],1!=y.length||r.nodeType!==zr)throw Oi("tplrt","Template for directive '{0}' must have exactly one root element. {1}",g,"");ne(s,q,r);var ee={$attr:{}},te=I(r,[],ee),se=e.splice(z+1,e.length-(z+1));T&&H(te),e=e.concat(te).concat(se),G(o,ee),W=e.length}else q.html(E);if(m.templateUrl)D=!0,K("template",N,m,q),N=m,m.replace&&(U=m),v=Y(e.splice(z,e.length-z),q,o,s,P&&B,l,f,{controllerDirectives:O,newScopeDirective:A!==m&&A,newIsolateScopeDirective:T,templateDirective:N,nonTlbTranscludeDirective:j}),W=e.length;else if(m.compile)try{b=m.compile(q,o,B),k(b)?p(null,b,J,Z):b&&p(b.pre,b.post,J,Z)}catch(ue){i(ue,X(q))}m.terminal&&(v.terminal=!0,C=Math.max(C,m.priority))}return v.scope=A&&A.scope===!0,v.transcludeOnThisElement=P,v.templateOnThisElement=D,v.transclude=B,h.hasElementTranscludeDirective=_,v}function H(e){for(var t=0,n=e.length;n>t;t++)e[t]=d(e[t],{$$isolateScope:!0})}function z(t,n,r,o,a,s,u){if(n===a)return null;var f=null;if(c.hasOwnProperty(n))for(var h,p=e.get(n+l),$=0,v=p.length;v>$;$++)try{h=p[$],(y(o)||o>h.priority)&&-1!=h.restrict.indexOf(r)&&(s&&(h=d(h,{$$start:s,$$end:u})),t.push(h),f=h)}catch(m){i(m)}return f}function W(t){if(c.hasOwnProperty(t))for(var n,r=e.get(t+l),i=0,o=r.length;o>i;i++)if(n=r[i],n.multiElement)return!0;return!1}function G(e,t){var n=t.$attr,r=e.$attr,i=e.$$element;o(e,function(r,i){"$"!=i.charAt(0)&&(t[i]&&t[i]!==r&&(r+=("style"===i?";":" ")+t[i]),e.$set(i,r,!0,n[i]))}),o(t,function(t,o){"class"==o?(N(i,t),e["class"]=(e["class"]?e["class"]+" ":"")+t):"style"==o?(i.attr("style",i.attr("style")+";"+t),e.style=(e.style?e.style+";":"")+t):"$"==o.charAt(0)||e.hasOwnProperty(o)||(e[o]=t,r[o]=n[o])})}function Y(e,t,n,r,i,s,u,c){var l,f,h=[],p=t[0],$=e.shift(),v=d($,{templateUrl:null,transclude:null,replace:null,$$originalDirective:$}),m=k($.templateUrl)?$.templateUrl(t,n):$.templateUrl,g=$.templateNamespace;return t.empty(),a(m).then(function(a){var d,y,b,x;if(a=le(a),$.replace){if(b=Se(a)?[]:ft(Q(g,_r(a))),d=b[0],1!=b.length||d.nodeType!==zr)throw Oi("tplrt","Template for directive '{0}' must have exactly one root element. {1}",$.name,m);y={$attr:{}},ne(r,t,d);var S=I(d,[],y);w($.scope)&&H(S),e=S.concat(e),G(n,y)}else d=p,t.html(a);for(e.unshift(v),l=U(e,d,n,i,t,$,s,u,c),o(r,function(e,n){e==d&&(r[n]=t[0])}),f=P(t[0].childNodes,i);h.length;){var E=h.shift(),C=h.shift(),k=h.shift(),A=h.shift(),O=t[0];if(!E.$$destroyed){if(C!==p){var M=C.className;c.hasElementTranscludeDirective&&$.replace||(O=Me(d)),ne(k,Er(C),O),N(Er(O),M)}x=l.transcludeOnThisElement?D(E,l.transclude,A):A,l(f,E,O,r,x,l)}}h=null}),function(e,t,n,r,i){var o=i;t.$$destroyed||(h?h.push(t,n,r,o):(l.transcludeOnThisElement&&(o=D(t,l.transclude,i)),l(f,t,n,r,o,l)))}}function J(e,t){var n=t.priority-e.priority;return 0!==n?n:e.name!==t.name?e.name"+n+"",r.childNodes[0].childNodes;default:return n}}function ee(e,t){if("srcdoc"==t)return A.HTML;var n=_(e);return"xlinkHref"==t||"form"==n&&"action"==t||"img"!=n&&("src"==t||"ngSrc"==t)?A.RESOURCE_URL:void 0}function te(e,t,n,i,o){var a=ee(e,i);o=g[i]||o;var s=r(n,!0,a,o);if(s){if("multiple"===i&&"select"===_(e))throw Oi("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",X(e));t.push({priority:100,compile:function(){return{pre:function(e,t,u){var c=u.$$observers||(u.$$observers={});if(E.test(i))throw Oi("nodomevents","Interpolations for HTML DOM event attributes are disallowed. Please use the ng- versions (such as ng-click instead of onclick) instead.");var l=u[i];l!==n&&(s=l&&r(l,!0,a,o),n=l),s&&(u[i]=s(e),(c[i]||(c[i]=[])).$$inter=!0,(u.$$observers&&u.$$observers[i].$$scope||e).$watch(s,function(e,t){"class"===i&&e!=t?u.$updateClass(e,t):u.$set(i,e)}))}}}})}}function ne(e,n,r){var i,o,a=n[0],s=n.length,u=a.parentNode;if(e)for(i=0,o=e.length;o>i;i++)if(e[i]==a){e[i++]=r;for(var c=i,l=c+s-1,f=e.length;f>c;c++,l++)f>l?e[c]=e[l]:delete e[c];e.length-=s-1,e.context===a&&(e.context=r);break}u&&u.replaceChild(r,a);var h=t.createDocumentFragment();h.appendChild(a),Er.hasData(a)&&(Er(r).data(Er(a).data()),Cr?(Dr=!0,Cr.cleanData([a])):delete Er.cache[a[Er.expando]]);for(var p=1,d=n.length;d>p;p++){var $=n[p];Er($).remove(),h.appendChild($),delete n[p]}n[0]=r,n.length=1}function re(e,t){return f(function(){return e.apply(null,arguments)},e,t)}function ie(e,t,n,r,o,a){try{e(t,n,r,o,a)}catch(s){i(s,X(n))}}function oe(e,t,n,i,a,u){var c;o(i,function(i,o){var u,l,f,h,p=i.attrName,d=i.optional,v=i.mode;switch(v){case"@":d||yr.call(t,p)||(n[o]=t[p]=void 0),t.$observe(p,function(e){S(e)&&(n[o]=e)}),t.$$observers[p].$$scope=e,S(t[p])&&(n[o]=r(t[p])(e));break;case"=":if(!yr.call(t,p)){if(d)break;t[p]=void 0}if(d&&!t[p])break;l=s(t[p]),h=l.literal?B:function(e,t){return e===t||e!==e&&t!==t},f=l.assign||function(){throw u=n[o]=l(e),Oi("nonassign","Expression '{0}' used with directive '{1}' is non-assignable!",t[p],a.name)},u=n[o]=l(e);var m=function(t){return h(t,n[o])||(h(t,u)?f(e,t=n[o]):n[o]=t),u=t};m.$stateful=!0;var g;g=i.collection?e.$watchCollection(t[p],m):e.$watch(s(t[p],m),null,l.literal),c=c||[],c.push(g);break;case"&":if(l=t.hasOwnProperty(p)?s(t[p]):$,l===$&&d)break;n[o]=function(t){return l(e,t)}}});var l=c?function(){for(var e=0,t=c.length;t>e;++e)c[e]()}:$;return u&&l!==$?(u.$on("$destroy",l),$):l}var ae=function(e,t){if(t){var n,r,i,o=Object.keys(t);for(n=0,r=o.length;r>n;n++)i=o[n],this[i]=t[i]}else this.$attr={};this.$$element=e};ae.prototype={$normalize:ct,$addClass:function(e){e&&e.length>0&&O.addClass(this.$$element,e)},$removeClass:function(e){e&&e.length>0&&O.removeClass(this.$$element,e)},$updateClass:function(e,t){var n=lt(e,t);n&&n.length&&O.addClass(this.$$element,n);var r=lt(t,e);r&&r.length&&O.removeClass(this.$$element,r)},$set:function(e,t,n,r){var a,s=this.$$element[0],u=Le(s,e),c=ze(e),l=e;if(u?(this.$$element.prop(e,t),r=u):c&&(this[c]=t,l=c),this[e]=t,r?this.$attr[e]=r:(r=this.$attr[e],r||(this.$attr[e]=r=ce(e,"-"))),a=_(this.$$element),"a"===a&&"href"===e||"img"===a&&"src"===e)this[e]=t=T(t,"src"===e);else if("img"===a&&"srcset"===e){for(var f="",h=_r(t),p=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,d=/\s/.test(h)?p:/(,)/,$=h.split(d),v=Math.floor($.length/2),m=0;v>m;m++){var g=2*m;f+=T(_r($[g]),!0),f+=" "+_r($[g+1])}var b=_r($[2*m]).split(/\s/);f+=T(_r(b[0]),!0),2===b.length&&(f+=" "+_r(b[1])),this[e]=t=f}n!==!1&&(null===t||y(t)?this.$$element.removeAttr(r):this.$$element.attr(r,t));var w=this.$$observers;w&&o(w[l],function(e){try{e(t)}catch(n){i(n)}})},$observe:function(e,t){var n=this,r=n.$$observers||(n.$$observers=ve()),i=r[e]||(r[e]=[]);return i.push(t),m.$evalAsync(function(){i.$$inter||!n.hasOwnProperty(e)||y(n[e])||t(n[e])}),function(){q(i,t)}}};var se=r.startSymbol(),ue=r.endSymbol(),le="{{"==se||"}}"==ue?v:function(e){return e.replace(/\{\{/g,se).replace(/}}/g,ue)},he=/^ngAttr[A-Z]/;return V.$$addBindingInfo=C?function(e,t){var n=e.data("$binding")||[];Ir(t)?n=n.concat(t):n.push(t),e.data("$binding",n)}:$,V.$$addBindingClass=C?function(e){N(e,"ng-binding")}:$,V.$$addScopeInfo=C?function(e,t,n,r){var i=n?r?"$isolateScopeNoTemplate":"$isolateScope":"$scope";e.data(i,t)}:$,V.$$addScopeClass=C?function(e,t){N(e,t?"ng-isolate-scope":"ng-scope")}:$,V}]}function ct(e){return xe(e.replace(Mi,""))}function lt(e,t){var n="",r=e.split(/\s+/),i=t.split(/\s+/);e:for(var o=0;o0?" ":"")+a}return n}function ft(e){e=Er(e);var t=e.length;if(1>=t)return e;for(;t--;){var n=e[t];n.nodeType===Yr&&Or.call(e,t,1)}return e}function ht(e,t){if(t&&S(t))return t;if(S(e)){var n=Ni.exec(e);if(n)return n[3]}}function pt(){var e={},t=!1;this.register=function(t,n){pe(t,"controller"),w(t)?f(e,t):e[t]=n},this.allowGlobals=function(){t=!0},this.$get=["$injector","$window",function(i,o){function a(e,t,n,i){if(!e||!w(e.$scope))throw r("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",i,t);e.$scope[t]=n}return function(r,s,u,c){var l,h,p,d;if(u=u===!0,c&&S(c)&&(d=c),S(r)){if(h=r.match(Ni),!h)throw Ti("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",r);p=h[1],d=d||h[3],r=e.hasOwnProperty(p)?e[p]:de(s.$scope,p,!0)||(t?de(o,p,!0):n),he(r,p,!0)}if(u){var $=(Ir(r)?r[r.length-1]:r).prototype;l=Object.create($||null),d&&a(s,d,l,p||r.name);var v;return v=f(function(){var e=i.invoke(r,l,s,p);return e!==l&&(w(e)||k(e))&&(l=e,d&&a(s,d,l,p||r.name)),l},{instance:l,identifier:d})}return l=i.instantiate(r,s,p),d&&a(s,d,l,p||r.name),l}}]}function dt(){this.$get=["$window",function(e){return Er(e.document)}]}function $t(){this.$get=["$log",function(e){return function(t,n){e.error.apply(e,arguments)}}]}function vt(e){return w(e)?C(e)?e.toISOString():G(e):e}function mt(){this.$get=function(){return function(e){if(!e)return"";var t=[];return a(e,function(e,n){null===e||y(e)||(Ir(e)?o(e,function(e,r){t.push(re(n)+"="+re(vt(e)))}):t.push(re(n)+"="+re(vt(e))))}),t.join("&")}}}function gt(){this.$get=function(){return function(e){function t(e,r,i){null===e||y(e)||(Ir(e)?o(e,function(e,n){t(e,r+"["+(w(e)?n:"")+"]")}):w(e)&&!C(e)?a(e,function(e,n){t(e,r+(i?"":"[")+n+(i?"":"]"))}):n.push(re(r)+"="+re(vt(e))))}if(!e)return"";var n=[];return t(e,"",!0),n.join("&")}}}function yt(e,t){if(S(e)){var n=e.replace(Ri,"").trim();if(n){var r=t("Content-Type");(r&&0===r.indexOf(ji)||bt(n))&&(e=Y(n))}}return e}function bt(e){var t=e.match(Di);return t&&Ii[t[0]].test(e)}function wt(e){function t(e,t){e&&(r[e]=r[e]?r[e]+", "+t:t)}var n,r=ve();return S(e)?o(e.split("\n"),function(e){n=e.indexOf(":"),t(gr(_r(e.substr(0,n))),_r(e.substr(n+1)))}):w(e)&&o(e,function(e,n){t(gr(n),_r(e))}),r}function xt(e){var t;return function(n){if(t||(t=wt(e)),n){var r=t[gr(n)];return void 0===r&&(r=null),r}return t}}function St(e,t,n,r){return k(r)?r(e,t,n):(o(r,function(r){e=r(e,t,n)}),e)}function Et(e){return e>=200&&300>e}function Ct(){var e=this.defaults={transformResponse:[yt],transformRequest:[function(e){return!w(e)||T(e)||V(e)||N(e)?e:G(e)}],headers:{common:{Accept:"application/json, text/plain, */*"},post:U(Pi),put:U(Pi),patch:U(Pi)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer"},t=!1;this.useApplyAsync=function(e){return b(e)?(t=!!e,this):t};var i=!0;this.useLegacyPromiseExtensions=function(e){return b(e)?(i=!!e,this):i};var a=this.interceptors=[];this.$get=["$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector",function(s,u,c,l,h,p){function d(t){function a(e){var t=f({},e);return e.data?t.data=St(e.data,e.headers,e.status,c.transformResponse):t.data=e.data,Et(e.status)?t:h.reject(t)}function s(e,t){var n,r={};return o(e,function(e,i){k(e)?(n=e(t),null!=n&&(r[i]=n)):r[i]=e}),r}function u(t){var n,r,i,o=e.headers,a=f({},t.headers);o=f({},o.common,o[gr(t.method)]);e:for(n in o){r=gr(n);for(i in a)if(gr(i)===r)continue e;a[n]=o[n]}return s(a,U(t))}if(!jr.isObject(t))throw r("$http")("badreq","Http request configuration must be an object. Received: {0}",t);var c=f({method:"get",transformRequest:e.transformRequest,transformResponse:e.transformResponse,paramSerializer:e.paramSerializer},t);c.headers=u(t),c.method=br(c.method),c.paramSerializer=S(c.paramSerializer)?p.get(c.paramSerializer):c.paramSerializer;var l=function(t){var r=t.headers,i=St(t.data,xt(r),n,t.transformRequest);return y(i)&&o(r,function(e,t){"content-type"===gr(t)&&delete r[t]}),y(t.withCredentials)&&!y(e.withCredentials)&&(t.withCredentials=e.withCredentials),m(t,i).then(a,a)},d=[l,n],$=h.when(c);for(o(E,function(e){(e.request||e.requestError)&&d.unshift(e.request,e.requestError),(e.response||e.responseError)&&d.push(e.response,e.responseError)});d.length;){var v=d.shift(),g=d.shift();$=$.then(v,g)}return i?($.success=function(e){return he(e,"fn"),$.then(function(t){e(t.data,t.status,t.headers,c)}),$},$.error=function(e){return he(e,"fn"),$.then(null,function(t){e(t.data,t.status,t.headers,c)}),$}):($.success=qi("success"),$.error=qi("error")),$}function $(e){o(arguments,function(e){d[e]=function(t,n){return d(f({},n||{},{method:e,url:t}))}})}function v(e){o(arguments,function(e){d[e]=function(t,n,r){return d(f({},r||{},{method:e,url:t,data:n}))}})}function m(r,i){function o(e,n,r,i){function o(){a(n,e,r,i)}p&&(Et(e)?p.put(E,[e,n,wt(r),i]):p.remove(E)),t?l.$applyAsync(o):(o(),l.$$phase||l.$apply())}function a(e,t,n,i){t=t>=-1?t:0,(Et(t)?v.resolve:v.reject)({data:e,status:t,headers:xt(n),config:r,statusText:i})}function c(e){a(e.data,e.status,U(e.headers()),e.statusText)}function f(){var e=d.pendingRequests.indexOf(r);-1!==e&&d.pendingRequests.splice(e,1)}var p,$,v=h.defer(),m=v.promise,S=r.headers,E=g(r.url,r.paramSerializer(r.params));if(d.pendingRequests.push(r),m.then(f,f),!r.cache&&!e.cache||r.cache===!1||"GET"!==r.method&&"JSONP"!==r.method||(p=w(r.cache)?r.cache:w(e.cache)?e.cache:x),p&&($=p.get(E),b($)?P($)?$.then(c,c):Ir($)?a($[1],$[0],U($[2]),$[3]):a($,200,{},"OK"):p.put(E,m)),y($)){var C=Cn(r.url)?u()[r.xsrfCookieName||e.xsrfCookieName]:n;C&&(S[r.xsrfHeaderName||e.xsrfHeaderName]=C),s(r.method,E,i,o,S,r.timeout,r.withCredentials,r.responseType)}return m}function g(e,t){return t.length>0&&(e+=(-1==e.indexOf("?")?"?":"&")+t),e}var x=c("$http");e.paramSerializer=S(e.paramSerializer)?p.get(e.paramSerializer):e.paramSerializer;var E=[];return o(a,function(e){E.unshift(S(e)?p.get(e):p.invoke(e))}),d.pendingRequests=[],$("get","delete","head","jsonp"),v("post","put","patch"),d.defaults=e,d}]}function kt(){return new e.XMLHttpRequest}function At(){this.$get=["$browser","$window","$document",function(e,t,n){return Ot(e,kt,e.defer,t.angular.callbacks,n[0])}]}function Ot(e,t,n,r,i){function a(e,t,n){var o=i.createElement("script"),a=null;return o.type="text/javascript",o.src=e,o.async=!0,a=function(e){ti(o,"load",a),ti(o,"error",a),i.body.removeChild(o),o=null;var s=-1,u="unknown";e&&("load"!==e.type||r[t].called||(e={type:"error"}),u=e.type,s="error"===e.type?404:200),n&&n(s,u)},ei(o,"load",a),ei(o,"error",a),i.body.appendChild(o),a}return function(i,s,u,c,l,f,h,p){function d(){g&&g(),w&&w.abort()}function v(t,r,i,o,a){b(E)&&n.cancel(E),g=w=null,t(r,i,o,a),e.$$completeOutstandingRequest($)}if(e.$$incOutstandingRequestCount(),s=s||e.url(),"jsonp"==gr(i)){var m="_"+(r.counter++).toString(36);r[m]=function(e){r[m].data=e,r[m].called=!0};var g=a(s.replace("JSON_CALLBACK","angular.callbacks."+m),m,function(e,t){v(c,e,r[m].data,"",t),r[m]=$})}else{var w=t();w.open(i,s,!0),o(l,function(e,t){b(e)&&w.setRequestHeader(t,e)}),w.onload=function(){var e=w.statusText||"",t="response"in w?w.response:w.responseText,n=1223===w.status?204:w.status;0===n&&(n=t?200:"file"==En(s).protocol?404:0),v(c,n,t,w.getAllResponseHeaders(),e)};var x=function(){v(c,-1,null,null,"")};if(w.onerror=x,w.onabort=x,h&&(w.withCredentials=!0),p)try{w.responseType=p}catch(S){if("json"!==p)throw S}w.send(y(u)?null:u)}if(f>0)var E=n(d,f);else P(f)&&f.then(d)}}function Mt(){var e="{{",t="}}";this.startSymbol=function(t){return t?(e=t,this):e},this.endSymbol=function(e){return e?(t=e,this):t},this.$get=["$parse","$exceptionHandler","$sce",function(n,r,i){function o(e){return"\\\\\\"+e}function a(n){return n.replace(h,e).replace(p,t)}function s(e){if(null==e)return"";switch(typeof e){case"string":break;case"number":e=""+e;break;default:e=G(e)}return e}function u(o,u,h,p){function d(e){try{return e=O(e),p&&!b(e)?e:s(e)}catch(t){r(Fi.interr(o,t))}}p=!!p;for(var $,v,m,g=0,w=[],x=[],S=o.length,E=[],C=[];S>g;){if(-1==($=o.indexOf(e,g))||-1==(v=o.indexOf(t,$+c))){g!==S&&E.push(a(o.substring(g)));break}g!==$&&E.push(a(o.substring(g,$))),m=o.substring($+c,v),w.push(m),x.push(n(m,d)),g=v+l,C.push(E.length),E.push("")}if(h&&E.length>1&&Fi.throwNoconcat(o),!u||w.length){var A=function(e){for(var t=0,n=w.length;n>t;t++){if(p&&y(e[t]))return;E[C[t]]=e[t]}return E.join("")},O=function(e){return h?i.getTrusted(h,e):i.valueOf(e)};return f(function(e){var t=0,n=w.length,i=new Array(n);try{for(;n>t;t++)i[t]=x[t](e);return A(i)}catch(a){r(Fi.interr(o,a))}},{exp:o,expressions:w,$$watchDelegate:function(e,t){var n;return e.$watchGroup(x,function(r,i){var o=A(r);k(t)&&t.call(this,o,r!==i?n:o,e),n=o})}})}}var c=e.length,l=t.length,h=new RegExp(e.replace(/./g,o),"g"),p=new RegExp(t.replace(/./g,o),"g");return u.startSymbol=function(){return e},u.endSymbol=function(){return t},u}]}function Tt(){this.$get=["$rootScope","$window","$q","$$q",function(e,t,n,r){function i(i,a,s,u){var c=arguments.length>4,l=c?L(arguments,4):[],f=t.setInterval,h=t.clearInterval,p=0,d=b(u)&&!u,$=(d?r:n).defer(),v=$.promise;return s=b(s)?s:0,v.then(null,null,c?function(){i.apply(null,l)}:i),v.$$intervalId=f(function(){$.notify(p++),s>0&&p>=s&&($.resolve(p),h(v.$$intervalId),delete o[v.$$intervalId]),d||e.$apply()},a),o[v.$$intervalId]=$,v}var o={};return i.cancel=function(e){return e&&e.$$intervalId in o?(o[e.$$intervalId].reject("canceled"),t.clearInterval(e.$$intervalId),delete o[e.$$intervalId],!0):!1},i}]}function Nt(e){for(var t=e.split("/"),n=t.length;n--;)t[n]=ne(t[n]);return t.join("/")}function Vt(e,t){var n=En(e);t.$$protocol=n.protocol,t.$$host=n.hostname,t.$$port=p(n.port)||Bi[n.protocol]||null}function jt(e,t){var n="/"!==e.charAt(0);n&&(e="/"+e);var r=En(e);t.$$path=decodeURIComponent(n&&"/"===r.pathname.charAt(0)?r.pathname.substring(1):r.pathname),t.$$search=ee(r.search),t.$$hash=decodeURIComponent(r.hash),t.$$path&&"/"!=t.$$path.charAt(0)&&(t.$$path="/"+t.$$path)}function Pt(e,t){return 0===t.indexOf(e)?t.substr(e.length):void 0}function Dt(e){var t=e.indexOf("#");return-1==t?e:e.substr(0,t)}function It(e){return e.replace(/(#.+)|#$/,"$1")}function Rt(e){return e.substr(0,Dt(e).lastIndexOf("/")+1)}function _t(e){return e.substring(0,e.indexOf("/",e.indexOf("//")+2))}function qt(e,t,n){this.$$html5=!0,n=n||"",Vt(e,this),this.$$parse=function(e){var n=Pt(t,e);if(!S(n))throw Hi("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',e,t);jt(n,this),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var e=te(this.$$search),n=this.$$hash?"#"+ne(this.$$hash):"";this.$$url=Nt(this.$$path)+(e?"?"+e:"")+n,this.$$absUrl=t+this.$$url.substr(1)},this.$$parseLinkUrl=function(r,i){if(i&&"#"===i[0])return this.hash(i.slice(1)),!0;var o,a,s;return b(o=Pt(e,r))?(a=o,s=b(o=Pt(n,o))?t+(Pt("/",o)||o):e+a):b(o=Pt(t,r))?s=t+o:t==r+"/"&&(s=t),s&&this.$$parse(s),!!s}}function Ft(e,t,n){Vt(e,this),this.$$parse=function(r){function i(e,t,n){var r,i=/^\/[A-Z]:(\/.*)/;return 0===t.indexOf(n)&&(t=t.replace(n,"")),i.exec(t)?e:(r=i.exec(e),r?r[1]:e)}var o,a=Pt(e,r)||Pt(t,r);y(a)||"#"!==a.charAt(0)?this.$$html5?o=a:(o="",y(a)&&(e=r,this.replace())):(o=Pt(n,a),y(o)&&(o=a)),jt(o,this),this.$$path=i(this.$$path,o,e),this.$$compose()},this.$$compose=function(){var t=te(this.$$search),r=this.$$hash?"#"+ne(this.$$hash):"";this.$$url=Nt(this.$$path)+(t?"?"+t:"")+r,this.$$absUrl=e+(this.$$url?n+this.$$url:"")},this.$$parseLinkUrl=function(t,n){return Dt(e)==Dt(t)?(this.$$parse(t),!0):!1}}function Ut(e,t,n){this.$$html5=!0,Ft.apply(this,arguments),this.$$parseLinkUrl=function(r,i){if(i&&"#"===i[0])return this.hash(i.slice(1)),!0;var o,a;return e==Dt(r)?o=r:(a=Pt(t,r))?o=e+n+a:t===r+"/"&&(o=t),o&&this.$$parse(o),!!o},this.$$compose=function(){var t=te(this.$$search),r=this.$$hash?"#"+ne(this.$$hash):"";this.$$url=Nt(this.$$path)+(t?"?"+t:"")+r,this.$$absUrl=e+n+this.$$url}}function Bt(e){return function(){return this[e]}}function Ht(e,t){return function(n){return y(n)?this[e]:(this[e]=t(n),this.$$compose(),this)}}function Lt(){var e="",t={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(t){return b(t)?(e=t,this):e},this.html5Mode=function(e){return j(e)?(t.enabled=e,this):w(e)?(j(e.enabled)&&(t.enabled=e.enabled),j(e.requireBase)&&(t.requireBase=e.requireBase),j(e.rewriteLinks)&&(t.rewriteLinks=e.rewriteLinks),this):t},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(n,r,i,o,a){function s(e,t,n){var i=c.url(),o=c.$$state;try{r.url(e,t,n),c.$$state=r.state()}catch(a){throw c.url(i),c.$$state=o,a}}function u(e,t){n.$broadcast("$locationChangeSuccess",c.absUrl(),e,c.$$state,t)}var c,l,f,h=r.baseHref(),p=r.url();if(t.enabled){if(!h&&t.requireBase)throw Hi("nobase","$location in HTML5 mode requires a tag to be present!");f=_t(p)+(h||"/"),l=i.history?qt:Ut}else f=Dt(p),l=Ft;var d=Rt(f);c=new l(f,d,"#"+e),c.$$parseLinkUrl(p,p),c.$$state=r.state();var $=/^\s*(javascript|mailto):/i;o.on("click",function(e){if(t.rewriteLinks&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&2!=e.which&&2!=e.button){for(var i=Er(e.target);"a"!==_(i[0]);)if(i[0]===o[0]||!(i=i.parent())[0])return;var s=i.prop("href"),u=i.attr("href")||i.attr("xlink:href");w(s)&&"[object SVGAnimatedString]"===s.toString()&&(s=En(s.animVal).href),$.test(s)||!s||i.attr("target")||e.isDefaultPrevented()||c.$$parseLinkUrl(s,u)&&(e.preventDefault(),c.absUrl()!=r.url()&&(n.$apply(),a.angular["ff-684208-preventDefault"]=!0))}}),It(c.absUrl())!=It(p)&&r.url(c.absUrl(),!0);var v=!0;return r.onUrlChange(function(e,t){return y(Pt(d,e))?void(a.location.href=e):(n.$evalAsync(function(){var r,i=c.absUrl(),o=c.$$state;c.$$parse(e),c.$$state=t,r=n.$broadcast("$locationChangeStart",e,i,t,o).defaultPrevented,c.absUrl()===e&&(r?(c.$$parse(i),c.$$state=o,s(i,!1,o)):(v=!1,u(i,o)))}),void(n.$$phase||n.$digest()))}),n.$watch(function(){var e=It(r.url()),t=It(c.absUrl()),o=r.state(),a=c.$$replace,l=e!==t||c.$$html5&&i.history&&o!==c.$$state;(v||l)&&(v=!1,n.$evalAsync(function(){var t=c.absUrl(),r=n.$broadcast("$locationChangeStart",t,e,c.$$state,o).defaultPrevented;c.absUrl()===t&&(r?(c.$$parse(e),c.$$state=o):(l&&s(t,a,o===c.$$state?null:c.$$state),u(e,o)))})),c.$$replace=!1}),c}]}function zt(){var e=!0,t=this;this.debugEnabled=function(t){return b(t)?(e=t,this):e},this.$get=["$window",function(n){function r(e){return e instanceof Error&&(e.stack?e=e.message&&-1===e.stack.indexOf(e.message)?"Error: "+e.message+"\n"+e.stack:e.stack:e.sourceURL&&(e=e.message+"\n"+e.sourceURL+":"+e.line)),e}function i(e){var t=n.console||{},i=t[e]||t.log||$,a=!1;try{a=!!i.apply}catch(s){}return a?function(){var e=[];return o(arguments,function(t){e.push(r(t))}),i.apply(t,e)}:function(e,t){i(e,null==t?"":t)}}return{log:i("log"),info:i("info"),warn:i("warn"),error:i("error"),debug:function(){var n=i("debug");return function(){e&&n.apply(t,arguments)}}()}}]}function Wt(e,t){if(e=w(e)&&e.toString?e.toString():e,"__defineGetter__"===e||"__defineSetter__"===e||"__lookupGetter__"===e||"__lookupSetter__"===e||"__proto__"===e)throw zi("isecfld","Attempting to access a disallowed field in Angular expressions! Expression: {0}",t);return e}function Gt(e,t){if(e){if(e.constructor===e)throw zi("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",t);if(e.window===e)throw zi("isecwindow","Referencing the Window in Angular expressions is disallowed! Expression: {0}",t);if(e.children&&(e.nodeName||e.prop&&e.attr&&e.find))throw zi("isecdom","Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}",t);if(e===Object)throw zi("isecobj","Referencing Object in Angular expressions is disallowed! Expression: {0}",t)}return e}function Yt(e,t){if(e){if(e.constructor===e)throw zi("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",t);if(e===Wi||e===Gi||e===Yi)throw zi("isecff","Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}",t)}}function Jt(e,t){return"undefined"!=typeof e?e:t}function Kt(e,t){return"undefined"==typeof e?t:"undefined"==typeof t?e:e+t}function Zt(e,t){var n=e(t);return!n.$stateful}function Xt(e,t){var n,r;switch(e.type){case Xi.Program:n=!0,o(e.body,function(e){Xt(e.expression,t),n=n&&e.expression.constant}),e.constant=n;break;case Xi.Literal:e.constant=!0,e.toWatch=[];break;case Xi.UnaryExpression:Xt(e.argument,t),e.constant=e.argument.constant,e.toWatch=e.argument.toWatch;break;case Xi.BinaryExpression:Xt(e.left,t),Xt(e.right,t),e.constant=e.left.constant&&e.right.constant,e.toWatch=e.left.toWatch.concat(e.right.toWatch);break;case Xi.LogicalExpression:Xt(e.left,t),Xt(e.right,t),e.constant=e.left.constant&&e.right.constant,e.toWatch=e.constant?[]:[e];break;case Xi.ConditionalExpression:Xt(e.test,t),Xt(e.alternate,t),Xt(e.consequent,t),e.constant=e.test.constant&&e.alternate.constant&&e.consequent.constant,e.toWatch=e.constant?[]:[e];break;case Xi.Identifier:e.constant=!1,e.toWatch=[e];break;case Xi.MemberExpression:Xt(e.object,t),e.computed&&Xt(e.property,t),e.constant=e.object.constant&&(!e.computed||e.property.constant),e.toWatch=[e];break;case Xi.CallExpression:n=e.filter?Zt(t,e.callee.name):!1,r=[],o(e.arguments,function(e){Xt(e,t),n=n&&e.constant,e.constant||r.push.apply(r,e.toWatch)}),e.constant=n,e.toWatch=e.filter&&Zt(t,e.callee.name)?r:[e];break;case Xi.AssignmentExpression:Xt(e.left,t),Xt(e.right,t),e.constant=e.left.constant&&e.right.constant,e.toWatch=[e];break;case Xi.ArrayExpression:n=!0,r=[],o(e.elements,function(e){Xt(e,t),n=n&&e.constant,e.constant||r.push.apply(r,e.toWatch)}),e.constant=n,e.toWatch=r;break;case Xi.ObjectExpression:n=!0,r=[],o(e.properties,function(e){Xt(e.value,t),n=n&&e.value.constant,e.value.constant||r.push.apply(r,e.value.toWatch)}),e.constant=n,e.toWatch=r;break;case Xi.ThisExpression:e.constant=!1,e.toWatch=[]}}function Qt(e){if(1==e.length){var t=e[0].expression,r=t.toWatch;return 1!==r.length?r:r[0]!==t?r:n}}function en(e){return e.type===Xi.Identifier||e.type===Xi.MemberExpression}function tn(e){return 1===e.body.length&&en(e.body[0].expression)?{type:Xi.AssignmentExpression,left:e.body[0].expression,right:{type:Xi.NGValueParameter},operator:"="}:void 0}function nn(e){return 0===e.body.length||1===e.body.length&&(e.body[0].expression.type===Xi.Literal||e.body[0].expression.type===Xi.ArrayExpression||e.body[0].expression.type===Xi.ObjectExpression)}function rn(e){return e.constant}function on(e,t){this.astBuilder=e,this.$filter=t}function an(e,t){this.astBuilder=e,this.$filter=t}function sn(e){return"constructor"==e}function un(e){return k(e.valueOf)?e.valueOf():eo.call(e)}function cn(){var e=ve(),t=ve();this.$get=["$filter",function(r){function i(e,t){return null==e||null==t?e===t:"object"==typeof e&&(e=un(e),"object"==typeof e)?!1:e===t||e!==e&&t!==t}function a(e,t,r,o,a){var s,u=o.inputs;if(1===u.length){var c=i;return u=u[0],e.$watch(function(e){var t=u(e);return i(t,c)||(s=o(e,n,n,[t]),c=t&&un(t)),s},t,r,a)}for(var l=[],f=[],h=0,p=u.length;p>h;h++)l[h]=i,f[h]=null;return e.$watch(function(e){for(var t=!1,r=0,a=u.length;a>r;r++){var c=u[r](e);(t||(t=!i(c,l[r])))&&(f[r]=c,l[r]=c&&un(c))}return t&&(s=o(e,n,n,f)),s},t,r,a)}function s(e,t,n,r){var i,o;return i=e.$watch(function(e){return r(e)},function(e,n,r){o=e,k(t)&&t.apply(this,arguments),b(e)&&r.$$postDigest(function(){b(o)&&i()})},n)}function u(e,t,n,r){function i(e){var t=!0;return o(e,function(e){b(e)||(t=!1)}),t}var a,s;return a=e.$watch(function(e){return r(e)},function(e,n,r){s=e,k(t)&&t.call(this,e,n,r),i(e)&&r.$$postDigest(function(){i(s)&&a()})},n)}function c(e,t,n,r){var i;return i=e.$watch(function(e){return r(e)},function(e,n,r){k(t)&&t.apply(this,arguments),i()},n)}function l(e,t){if(!t)return e;var n=e.$$watchDelegate,r=n!==u&&n!==s,i=r?function(n,r,i,o){var a=e(n,r,i,o);return t(a,n,r)}:function(n,r,i,o){var a=e(n,r,i,o),s=t(a,n,r);return b(a)?s:a};return e.$$watchDelegate&&e.$$watchDelegate!==a?i.$$watchDelegate=e.$$watchDelegate:t.$stateful||(i.$$watchDelegate=a,i.inputs=e.inputs?e.inputs:[e]),i}var f=Fr().noUnsafeEval,h={csp:f,expensiveChecks:!1},p={csp:f,expensiveChecks:!0};return function(n,i,o){var f,d,v;switch(typeof n){case"string":n=n.trim(),v=n;var m=o?t:e;if(f=m[v],!f){":"===n.charAt(0)&&":"===n.charAt(1)&&(d=!0,n=n.substring(2));var g=o?p:h,y=new Zi(g),b=new Qi(y,r,g);f=b.parse(n),f.constant?f.$$watchDelegate=c:d?f.$$watchDelegate=f.literal?u:s:f.inputs&&(f.$$watchDelegate=a),m[v]=f}return l(f,i);case"function":return l(n,i);default:return $}}}]}function ln(){this.$get=["$rootScope","$exceptionHandler",function(e,t){return hn(function(t){e.$evalAsync(t)},t)}]}function fn(){this.$get=["$browser","$exceptionHandler",function(e,t){return hn(function(t){e.defer(t)},t)}]}function hn(e,t){function i(e,t,n){function r(t){return function(n){i||(i=!0,t.call(e,n))}}var i=!1;return[r(t),r(n)]}function a(){this.$$state={status:0}}function s(e,t){return function(n){t.call(e,n)}}function u(e){var r,i,o;o=e.pending,e.processScheduled=!1,e.pending=n;for(var a=0,s=o.length;s>a;++a){i=o[a][0],r=o[a][e.status];try{k(r)?i.resolve(r(e.value)):1===e.status?i.resolve(e.value):i.reject(e.value)}catch(u){i.reject(u),t(u)}}}function c(t){!t.processScheduled&&t.pending&&(t.processScheduled=!0,e(function(){u(t)}))}function l(){this.promise=new a,this.resolve=s(this,this.resolve),this.reject=s(this,this.reject),this.notify=s(this,this.notify)}function h(e){var t=new l,n=0,r=Ir(e)?[]:{};return o(e,function(e,i){n++,g(e).then(function(e){r.hasOwnProperty(i)||(r[i]=e,--n||t.resolve(r))},function(e){r.hasOwnProperty(i)||t.reject(e)})}),0===n&&t.resolve(r),t.promise}var p=r("$q",TypeError),d=function(){return new l};f(a.prototype,{then:function(e,t,n){if(y(e)&&y(t)&&y(n))return this;var r=new l;return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([r,e,t,n]),this.$$state.status>0&&c(this.$$state),r.promise},"catch":function(e){return this.then(null,e)},"finally":function(e,t){return this.then(function(t){return m(t,!0,e)},function(t){return m(t,!1,e)},t)}}),f(l.prototype,{resolve:function(e){this.promise.$$state.status||(e===this.promise?this.$$reject(p("qcycle","Expected promise to be resolved with value other than itself '{0}'",e)):this.$$resolve(e))},$$resolve:function(e){var n,r;r=i(this,this.$$resolve,this.$$reject);try{(w(e)||k(e))&&(n=e&&e.then),k(n)?(this.promise.$$state.status=-1,n.call(e,r[0],r[1],this.notify)):(this.promise.$$state.value=e,this.promise.$$state.status=1,c(this.promise.$$state))}catch(o){r[1](o),t(o)}},reject:function(e){this.promise.$$state.status||this.$$reject(e)},$$reject:function(e){this.promise.$$state.value=e,this.promise.$$state.status=2,c(this.promise.$$state)},notify:function(n){var r=this.promise.$$state.pending;this.promise.$$state.status<=0&&r&&r.length&&e(function(){for(var e,i,o=0,a=r.length;a>o;o++){i=r[o][0],e=r[o][3];try{i.notify(k(e)?e(n):n)}catch(s){t(s)}}})}});var $=function(e){var t=new l;return t.reject(e),t.promise},v=function(e,t){var n=new l;return t?n.resolve(e):n.reject(e),n.promise},m=function(e,t,n){var r=null;try{k(n)&&(r=n())}catch(i){return v(i,!1)}return P(r)?r.then(function(){return v(e,t)},function(e){return v(e,!1)}):v(e,t)},g=function(e,t,n,r){var i=new l;return i.resolve(e),i.promise.then(t,n,r)},b=g,x=function S(e){function t(e){r.resolve(e)}function n(e){r.reject(e)}if(!k(e))throw p("norslvr","Expected resolverFn, got '{0}'",e);if(!(this instanceof S))return new S(e); var r=new l;return e(t,n),r.promise};return x.defer=d,x.reject=$,x.when=g,x.resolve=b,x.all=h,x}function pn(){this.$get=["$window","$timeout",function(e,t){var n=e.requestAnimationFrame||e.webkitRequestAnimationFrame,r=e.cancelAnimationFrame||e.webkitCancelAnimationFrame||e.webkitCancelRequestAnimationFrame,i=!!n,o=i?function(e){var t=n(e);return function(){r(t)}}:function(e){var n=t(e,16.66,!1);return function(){t.cancel(n)}};return o.supported=i,o}]}function dn(){function e(e){function t(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$id=u(),this.$$ChildScope=null}return t.prototype=e,t}var t=10,n=r("$rootScope"),a=null,s=null;this.digestTtl=function(e){return arguments.length&&(t=e),t},this.$get=["$injector","$exceptionHandler","$parse","$browser",function(r,c,l,f){function h(e){e.currentScope.$$destroyed=!0}function p(){this.$id=u(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this.$root=this,this.$$destroyed=!1,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$$isolateBindings=null}function d(e){if(E.$$phase)throw n("inprog","{0} already in progress",E.$$phase);E.$$phase=e}function v(){E.$$phase=null}function m(e,t){do e.$$watchersCount+=t;while(e=e.$parent)}function g(e,t,n){do e.$$listenerCount[n]-=t,0===e.$$listenerCount[n]&&delete e.$$listenerCount[n];while(e=e.$parent)}function b(){}function x(){for(;O.length;)try{O.shift()()}catch(e){c(e)}s=null}function S(){null===s&&(s=f.defer(function(){E.$apply(x)}))}p.prototype={constructor:p,$new:function(t,n){var r;return n=n||this,t?(r=new p,r.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=e(this)),r=new this.$$ChildScope),r.$parent=n,r.$$prevSibling=n.$$childTail,n.$$childHead?(n.$$childTail.$$nextSibling=r,n.$$childTail=r):n.$$childHead=n.$$childTail=r,(t||n!=this)&&r.$on("$destroy",h),r},$watch:function(e,t,n,r){var i=l(e);if(i.$$watchDelegate)return i.$$watchDelegate(this,t,n,i,e);var o=this,s=o.$$watchers,u={fn:t,last:b,get:i,exp:r||e,eq:!!n};return a=null,k(t)||(u.fn=$),s||(s=o.$$watchers=[]),s.unshift(u),m(this,1),function(){q(s,u)>=0&&m(o,-1),a=null}},$watchGroup:function(e,t){function n(){u=!1,c?(c=!1,t(i,i,s)):t(i,r,s)}var r=new Array(e.length),i=new Array(e.length),a=[],s=this,u=!1,c=!0;if(!e.length){var l=!0;return s.$evalAsync(function(){l&&t(i,i,s)}),function(){l=!1}}return 1===e.length?this.$watch(e[0],function(e,n,o){i[0]=e,r[0]=n,t(i,e===n?i:r,o)}):(o(e,function(e,t){var o=s.$watch(e,function(e,o){i[t]=e,r[t]=o,u||(u=!0,s.$evalAsync(n))});a.push(o)}),function(){for(;a.length;)a.shift()()})},$watchCollection:function(e,t){function n(e){o=e;var t,n,r,s,u;if(!y(o)){if(w(o))if(i(o)){a!==p&&(a=p,v=a.length=0,f++),t=o.length,v!==t&&(f++,a.length=v=t);for(var c=0;t>c;c++)u=a[c],s=o[c],r=u!==u&&s!==s,r||u===s||(f++,a[c]=s)}else{a!==d&&(a=d={},v=0,f++),t=0;for(n in o)yr.call(o,n)&&(t++,s=o[n],u=a[n],n in a?(r=u!==u&&s!==s,r||u===s||(f++,a[n]=s)):(v++,a[n]=s,f++));if(v>t){f++;for(n in a)yr.call(o,n)||(v--,delete a[n])}}else a!==o&&(a=o,f++);return f}}function r(){if($?($=!1,t(o,o,u)):t(o,s,u),c)if(w(o))if(i(o)){s=new Array(o.length);for(var e=0;e1,f=0,h=l(e,n),p=[],d={},$=!0,v=0;return this.$watch(h,r)},$digest:function(){var e,r,i,o,u,l,h,p,$,m,g=t,y=this,w=[];d("$digest"),f.$$checkUrlChange(),this===E&&null!==s&&(f.defer.cancel(s),x()),a=null;do{for(l=!1,p=y;C.length;){try{m=C.shift(),m.scope.$eval(m.expression,m.locals)}catch(S){c(S)}a=null}e:do{if(o=p.$$watchers)for(u=o.length;u--;)try{if(e=o[u])if((r=e.get(p))===(i=e.last)||(e.eq?B(r,i):"number"==typeof r&&"number"==typeof i&&isNaN(r)&&isNaN(i))){if(e===a){l=!1;break e}}else l=!0,a=e,e.last=e.eq?F(r,null):r,e.fn(r,i===b?r:i,p),5>g&&($=4-g,w[$]||(w[$]=[]),w[$].push({msg:k(e.exp)?"fn: "+(e.exp.name||e.exp.toString()):e.exp,newVal:r,oldVal:i}))}catch(S){c(S)}if(!(h=p.$$watchersCount&&p.$$childHead||p!==y&&p.$$nextSibling))for(;p!==y&&!(h=p.$$nextSibling);)p=p.$parent}while(p=h);if((l||C.length)&&!g--)throw v(),n("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",t,w)}while(l||C.length);for(v();A.length;)try{A.shift()()}catch(S){c(S)}},$destroy:function(){if(!this.$$destroyed){var e=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,this===E&&f.$$applicationDestroyed(),m(this,-this.$$watchersCount);for(var t in this.$$listenerCount)g(this,this.$$listenerCount[t],t);e&&e.$$childHead==this&&(e.$$childHead=this.$$nextSibling),e&&e.$$childTail==this&&(e.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=$,this.$on=this.$watch=this.$watchGroup=function(){return $},this.$$listeners={},this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=this.$$watchers=null}},$eval:function(e,t){return l(e)(this,t)},$evalAsync:function(e,t){E.$$phase||C.length||f.defer(function(){C.length&&E.$digest()}),C.push({scope:this,expression:e,locals:t})},$$postDigest:function(e){A.push(e)},$apply:function(e){try{d("$apply");try{return this.$eval(e)}finally{v()}}catch(t){c(t)}finally{try{E.$digest()}catch(t){throw c(t),t}}},$applyAsync:function(e){function t(){n.$eval(e)}var n=this;e&&O.push(t),S()},$on:function(e,t){var n=this.$$listeners[e];n||(this.$$listeners[e]=n=[]),n.push(t);var r=this;do r.$$listenerCount[e]||(r.$$listenerCount[e]=0),r.$$listenerCount[e]++;while(r=r.$parent);var i=this;return function(){var r=n.indexOf(t);-1!==r&&(n[r]=null,g(i,1,e))}},$emit:function(e,t){var n,r,i,o=[],a=this,s=!1,u={name:e,targetScope:a,stopPropagation:function(){s=!0},preventDefault:function(){u.defaultPrevented=!0},defaultPrevented:!1},l=H([u],arguments,1);do{for(n=a.$$listeners[e]||o,u.currentScope=a,r=0,i=n.length;i>r;r++)if(n[r])try{n[r].apply(null,l)}catch(f){c(f)}else n.splice(r,1),r--,i--;if(s)return u.currentScope=null,u;a=a.$parent}while(a);return u.currentScope=null,u},$broadcast:function(e,t){var n=this,r=n,i=n,o={name:e,targetScope:n,preventDefault:function(){o.defaultPrevented=!0},defaultPrevented:!1};if(!n.$$listenerCount[e])return o;for(var a,s,u,l=H([o],arguments,1);r=i;){for(o.currentScope=r,a=r.$$listeners[e]||[],s=0,u=a.length;u>s;s++)if(a[s])try{a[s].apply(null,l)}catch(f){c(f)}else a.splice(s,1),s--,u--;if(!(i=r.$$listenerCount[e]&&r.$$childHead||r!==n&&r.$$nextSibling))for(;r!==n&&!(i=r.$$nextSibling);)r=r.$parent}return o.currentScope=null,o}};var E=new p,C=E.$$asyncQueue=[],A=E.$$postDigestQueue=[],O=E.$$applyAsyncQueue=[];return E}]}function $n(){var e=/^\s*(https?|ftp|mailto|tel|file):/,t=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(t){return b(t)?(e=t,this):e},this.imgSrcSanitizationWhitelist=function(e){return b(e)?(t=e,this):t},this.$get=function(){return function(n,r){var i,o=r?t:e;return i=En(n).href,""===i||i.match(o)?n:"unsafe:"+i}}}function vn(e){if("self"===e)return e;if(S(e)){if(e.indexOf("***")>-1)throw to("iwcard","Illegal sequence *** in string matcher. String: {0}",e);return e=qr(e).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+e+"$")}if(A(e))return new RegExp("^"+e.source+"$");throw to("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}function mn(e){var t=[];return b(e)&&o(e,function(e){t.push(vn(e))}),t}function gn(){this.SCE_CONTEXTS=no;var e=["self"],t=[];this.resourceUrlWhitelist=function(t){return arguments.length&&(e=mn(t)),e},this.resourceUrlBlacklist=function(e){return arguments.length&&(t=mn(e)),t},this.$get=["$injector",function(n){function r(e,t){return"self"===e?Cn(t):!!e.exec(t.href)}function i(n){var i,o,a=En(n.toString()),s=!1;for(i=0,o=e.length;o>i;i++)if(r(e[i],a)){s=!0;break}if(s)for(i=0,o=t.length;o>i;i++)if(r(t[i],a)){s=!1;break}return s}function o(e){var t=function(e){this.$$unwrapTrustedValue=function(){return e}};return e&&(t.prototype=new e),t.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},t.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},t}function a(e,t){var n=f.hasOwnProperty(e)?f[e]:null;if(!n)throw to("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",e,t);if(null===t||y(t)||""===t)return t;if("string"!=typeof t)throw to("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",e);return new n(t)}function s(e){return e instanceof l?e.$$unwrapTrustedValue():e}function u(e,t){if(null===t||y(t)||""===t)return t;var n=f.hasOwnProperty(e)?f[e]:null;if(n&&t instanceof n)return t.$$unwrapTrustedValue();if(e===no.RESOURCE_URL){if(i(t))return t;throw to("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}",t.toString())}if(e===no.HTML)return c(t);throw to("unsafe","Attempting to use an unsafe value in a safe context.")}var c=function(e){throw to("unsafe","Attempting to use an unsafe value in a safe context.")};n.has("$sanitize")&&(c=n.get("$sanitize"));var l=o(),f={};return f[no.HTML]=o(l),f[no.CSS]=o(l),f[no.URL]=o(l),f[no.JS]=o(l),f[no.RESOURCE_URL]=o(f[no.URL]),{trustAs:a,getTrusted:u,valueOf:s}}]}function yn(){var e=!0;this.enabled=function(t){return arguments.length&&(e=!!t),e},this.$get=["$parse","$sceDelegate",function(t,n){if(e&&8>Sr)throw to("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode. You can fix this by adding the text to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information.");var r=U(no);r.isEnabled=function(){return e},r.trustAs=n.trustAs,r.getTrusted=n.getTrusted,r.valueOf=n.valueOf,e||(r.trustAs=r.getTrusted=function(e,t){return t},r.valueOf=v),r.parseAs=function(e,n){var i=t(n);return i.literal&&i.constant?i:t(n,function(t){return r.getTrusted(e,t)})};var i=r.parseAs,a=r.getTrusted,s=r.trustAs;return o(no,function(e,t){var n=gr(t);r[xe("parse_as_"+n)]=function(t){return i(e,t)},r[xe("get_trusted_"+n)]=function(t){return a(e,t)},r[xe("trust_as_"+n)]=function(t){return s(e,t)}}),r}]}function bn(){this.$get=["$window","$document",function(e,t){var n,r,i={},o=p((/android (\d+)/.exec(gr((e.navigator||{}).userAgent))||[])[1]),a=/Boxee/i.test((e.navigator||{}).userAgent),s=t[0]||{},u=/^(Moz|webkit|ms)(?=[A-Z])/,c=s.body&&s.body.style,l=!1,f=!1;if(c){for(var h in c)if(r=u.exec(h)){n=r[0],n=n.substr(0,1).toUpperCase()+n.substr(1);break}n||(n="WebkitOpacity"in c&&"webkit"),l=!!("transition"in c||n+"Transition"in c),f=!!("animation"in c||n+"Animation"in c),!o||l&&f||(l=S(c.webkitTransition),f=S(c.webkitAnimation))}return{history:!(!e.history||!e.history.pushState||4>o||a),hasEvent:function(e){if("input"===e&&11>=Sr)return!1;if(y(i[e])){var t=s.createElement("div");i[e]="on"+e in t}return i[e]},csp:Fr(),vendorPrefix:n,transitions:l,animations:f,android:o}}]}function wn(){this.$get=["$templateCache","$http","$q","$sce",function(e,t,n,r){function i(o,a){function s(e){if(!a)throw Oi("tpload","Failed to load template: {0} (HTTP status: {1} {2})",o,e.status,e.statusText);return n.reject(e)}i.totalPendingRequests++,S(o)&&e.get(o)||(o=r.getTrustedResourceUrl(o));var u=t.defaults&&t.defaults.transformResponse;Ir(u)?u=u.filter(function(e){return e!==yt}):u===yt&&(u=null);var c={cache:e,transformResponse:u};return t.get(o,c)["finally"](function(){i.totalPendingRequests--}).then(function(t){return e.put(o,t.data),t.data},s)}return i.totalPendingRequests=0,i}]}function xn(){this.$get=["$rootScope","$browser","$location",function(e,t,n){var r={};return r.findBindings=function(e,t,n){var r=e.getElementsByClassName("ng-binding"),i=[];return o(r,function(e){var r=jr.element(e).data("$binding");r&&o(r,function(r){if(n){var o=new RegExp("(^|\\s)"+qr(t)+"(\\s|\\||$)");o.test(r)&&i.push(e)}else-1!=r.indexOf(t)&&i.push(e)})}),i},r.findModels=function(e,t,n){for(var r=["ng-","data-ng-","ng\\:"],i=0;i0&&(u=t(o.substring(0,s)),y(r[u])&&(r[u]=t(o.substring(s+1))));return r}}function On(){this.$get=An}function Mn(e){function t(r,i){if(w(r)){var a={};return o(r,function(e,n){a[n]=t(n,e)}),a}return e.factory(r+n,i)}var n="Filter";this.register=t,this.$get=["$injector",function(e){return function(t){return e.get(t+n)}}],t("currency",Pn),t("date",Gn),t("filter",Tn),t("json",Yn),t("limitTo",Jn),t("lowercase",co),t("number",Dn),t("orderBy",Kn),t("uppercase",lo)}function Tn(){return function(e,t,n){if(!i(e)){if(null==e)return e;throw r("filter")("notarray","Expected array but received: {0}",e)}var o,a,s=jn(t);switch(s){case"function":o=t;break;case"boolean":case"null":case"number":case"string":a=!0;case"object":o=Nn(t,n,a);break;default:return e}return Array.prototype.filter.call(e,o)}}function Nn(e,t,n){var r,i=w(e)&&"$"in e;return t===!0?t=B:k(t)||(t=function(e,t){return y(e)?!1:null===e||null===t?e===t:w(t)||w(e)&&!g(e)?!1:(e=gr(""+e),t=gr(""+t),-1!==e.indexOf(t))}),r=function(r){return i&&!w(r)?Vn(r,e.$,t,!1):Vn(r,e,t,n)}}function Vn(e,t,n,r,i){var o=jn(e),a=jn(t);if("string"===a&&"!"===t.charAt(0))return!Vn(e,t.substring(1),n,r);if(Ir(e))return e.some(function(e){return Vn(e,t,n,r)});switch(o){case"object":var s;if(r){for(s in e)if("$"!==s.charAt(0)&&Vn(e[s],t,n,!0))return!0;return i?!1:Vn(e,t,n,!1)}if("object"===a){for(s in t){var u=t[s];if(!k(u)&&!y(u)){var c="$"===s,l=c?e:e[s];if(!Vn(l,u,n,c,c))return!1}}return!0}return n(e,t);case"function":return!1;default:return n(e,t)}}function jn(e){return null===e?"null":typeof e}function Pn(e){var t=e.NUMBER_FORMATS;return function(e,n,r){return y(n)&&(n=t.CURRENCY_SYM),y(r)&&(r=t.PATTERNS[1].maxFrac),null==e?e:In(e,t.PATTERNS[1],t.GROUP_SEP,t.DECIMAL_SEP,r).replace(/\u00A4/g,n)}}function Dn(e){var t=e.NUMBER_FORMATS;return function(e,n){return null==e?e:In(e,t.PATTERNS[0],t.GROUP_SEP,t.DECIMAL_SEP,n)}}function In(e,t,n,r,i){if(w(e))return"";var o=0>e;e=Math.abs(e);var a=e===1/0;if(!a&&!isFinite(e))return"";var s=e+"",u="",c=!1,l=[];if(a&&(u="∞"),!a&&-1!==s.indexOf("e")){var f=s.match(/([\d\.]+)e(-?)(\d+)/);f&&"-"==f[2]&&f[3]>i+1?e=0:(u=s,c=!0)}if(a||c)i>0&&1>e&&(u=e.toFixed(i),e=parseFloat(u));else{var h=(s.split(oo)[1]||"").length;y(i)&&(i=Math.min(Math.max(t.minFrac,h),t.maxFrac)),e=+(Math.round(+(e.toString()+"e"+i)).toString()+"e"+-i);var p=(""+e).split(oo),d=p[0];p=p[1]||"";var $,v=0,m=t.lgSize,g=t.gSize;if(d.length>=m+g)for(v=d.length-m,$=0;v>$;$++)(v-$)%g===0&&0!==$&&(u+=n),u+=d.charAt($);for($=v;$e&&(r="-",e=-e),e=""+e;e.length0||o>-n)&&(o+=n),0===o&&-12==n&&(o=12),Rn(o,t,r)}}function qn(e,t){return function(n,r){var i=n["get"+e](),o=br(t?"SHORT"+e:e);return r[o][i]}}function Fn(e,t,n){var r=-1*n,i=r>=0?"+":"";return i+=Rn(Math[r>0?"floor":"ceil"](r/60),2)+Rn(Math.abs(r%60),2)}function Un(e){var t=new Date(e,0,1).getDay();return new Date(e,0,(4>=t?5:12)-t)}function Bn(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate()+(4-e.getDay()))}function Hn(e){return function(t){var n=Un(t.getFullYear()),r=Bn(t),i=+r-+n,o=1+Math.round(i/6048e5);return Rn(o,e)}}function Ln(e,t){return e.getHours()<12?t.AMPMS[0]:t.AMPMS[1]}function zn(e,t){return e.getFullYear()<=0?t.ERAS[0]:t.ERAS[1]}function Wn(e,t){return e.getFullYear()<=0?t.ERANAMES[0]:t.ERANAMES[1]}function Gn(e){function t(e){var t;if(t=e.match(n)){var r=new Date(0),i=0,o=0,a=t[8]?r.setUTCFullYear:r.setFullYear,s=t[8]?r.setUTCHours:r.setHours;t[9]&&(i=p(t[9]+t[10]),o=p(t[9]+t[11])),a.call(r,p(t[1]),p(t[2])-1,p(t[3]));var u=p(t[4]||0)-i,c=p(t[5]||0)-o,l=p(t[6]||0),f=Math.round(1e3*parseFloat("0."+(t[7]||0)));return s.call(r,u,c,l,f),r}return e}var n=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(n,r,i){var a,s,u="",c=[];if(r=r||"mediumDate",r=e.DATETIME_FORMATS[r]||r,S(n)&&(n=uo.test(n)?p(n):t(n)),E(n)&&(n=new Date(n)),!C(n)||!isFinite(n.getTime()))return n;for(;r;)s=so.exec(r),s?(c=H(c,s,1),r=c.pop()):(c.push(r),r=null);var l=n.getTimezoneOffset();return i&&(l=J(i,n.getTimezoneOffset()),n=Z(n,i,!0)),o(c,function(t){a=ao[t],u+=a?a(n,e.DATETIME_FORMATS,l):t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),u}}function Yn(){return function(e,t){return y(t)&&(t=2),G(e,t)}}function Jn(){return function(e,t,n){return t=Math.abs(Number(t))===1/0?Number(t):p(t),isNaN(t)?e:(E(e)&&(e=e.toString()),Ir(e)||S(e)?(n=!n||isNaN(n)?0:p(n),n=0>n&&n>=-e.length?e.length+n:n,t>=0?e.slice(n,n+t):0===n?e.slice(t,e.length):e.slice(Math.max(0,n+t),n)):e)}}function Kn(e){function t(t,n){return n=n?-1:1,t.map(function(t){var r=1,i=v;if(k(t))i=t;else if(S(t)&&("+"!=t.charAt(0)&&"-"!=t.charAt(0)||(r="-"==t.charAt(0)?-1:1,t=t.substring(1)),""!==t&&(i=e(t),i.constant))){var o=i();i=function(e){return e[o]}}return{get:i,descending:r*n}})}function n(e){switch(typeof e){case"number":case"boolean":case"string":return!0;default:return!1}}function r(e,t){return"function"==typeof e.valueOf&&(e=e.valueOf(),n(e))?e:g(e)&&(e=e.toString(),n(e))?e:t}function o(e,t){var n=typeof e;return null===e?(n="string",e="null"):"string"===n?e=e.toLowerCase():"object"===n&&(e=r(e,t)),{value:e,type:n}}function a(e,t){var n=0;return e.type===t.type?e.value!==t.value&&(n=e.valuer&&!(n=a(e.predicateValues[r],t.predicateValues[r])*c[r].descending);++r);return n}if(!i(e))return e;Ir(n)||(n=[n]),0===n.length&&(n=["+"]);var c=t(n,r);c.push({get:function(){return{}},descending:r?-1:1});var l=Array.prototype.map.call(e,s);return l.sort(u),e=l.map(function(e){return e.value})}}function Zn(e){return k(e)&&(e={link:e}),e.restrict=e.restrict||"AC",m(e)}function Xn(e,t){e.$name=t}function Qn(e,t,r,i,a){var s=this,u=[];s.$error={},s.$$success={},s.$pending=n,s.$name=a(t.name||t.ngForm||"")(r),s.$dirty=!1,s.$pristine=!0,s.$valid=!0,s.$invalid=!1,s.$submitted=!1,s.$$parentForm=po,s.$rollbackViewValue=function(){o(u,function(e){e.$rollbackViewValue()})},s.$commitViewValue=function(){o(u,function(e){e.$commitViewValue()})},s.$addControl=function(e){pe(e.$name,"input"),u.push(e),e.$name&&(s[e.$name]=e),e.$$parentForm=s},s.$$renameControl=function(e,t){var n=e.$name;s[n]===e&&delete s[n],s[t]=e,e.$name=t},s.$removeControl=function(e){e.$name&&s[e.$name]===e&&delete s[e.$name],o(s.$pending,function(t,n){s.$setValidity(n,null,e)}),o(s.$error,function(t,n){s.$setValidity(n,null,e)}),o(s.$$success,function(t,n){s.$setValidity(n,null,e)}),q(u,e),e.$$parentForm=po},dr({ctrl:this,$element:e,set:function(e,t,n){var r=e[t];if(r){var i=r.indexOf(n);-1===i&&r.push(n)}else e[t]=[n]},unset:function(e,t,n){var r=e[t];r&&(q(r,n),0===r.length&&delete e[t])},$animate:i}),s.$setDirty=function(){i.removeClass(e,Ko),i.addClass(e,Zo),s.$dirty=!0,s.$pristine=!1,s.$$parentForm.$setDirty()},s.$setPristine=function(){i.setClass(e,Ko,Zo+" "+$o),s.$dirty=!1,s.$pristine=!0,s.$submitted=!1,o(u,function(e){e.$setPristine()})},s.$setUntouched=function(){o(u,function(e){e.$setUntouched()})},s.$setSubmitted=function(){i.addClass(e,$o),s.$submitted=!0,s.$$parentForm.$setSubmitted()}}function er(e){e.$formatters.push(function(t){return e.$isEmpty(t)?t:t.toString()})}function tr(e,t,n,r,i,o){nr(e,t,n,r,i,o),er(r)}function nr(e,t,n,r,i,o){var a=gr(t[0].type);if(!i.android){var s=!1;t.on("compositionstart",function(e){s=!0}),t.on("compositionend",function(){s=!1,u()})}var u=function(e){if(c&&(o.defer.cancel(c),c=null),!s){var i=t.val(),u=e&&e.type;"password"===a||n.ngTrim&&"false"===n.ngTrim||(i=_r(i)),(r.$viewValue!==i||""===i&&r.$$hasNativeValidators)&&r.$setViewValue(i,u)}};if(i.hasEvent("input"))t.on("input",u);else{var c,l=function(e,t,n){c||(c=o.defer(function(){c=null,t&&t.value===n||u(e)}))};t.on("keydown",function(e){var t=e.keyCode;91===t||t>15&&19>t||t>=37&&40>=t||l(e,this,this.value)}),i.hasEvent("paste")&&t.on("paste cut",l)}t.on("change",u),r.$render=function(){var e=r.$isEmpty(r.$viewValue)?"":r.$viewValue;t.val()!==e&&t.val(e)}}function rr(e,t){if(C(e))return e;if(S(e)){Co.lastIndex=0;var n=Co.exec(e);if(n){var r=+n[1],i=+n[2],o=0,a=0,s=0,u=0,c=Un(r),l=7*(i-1);return t&&(o=t.getHours(),a=t.getMinutes(),s=t.getSeconds(),u=t.getMilliseconds()),new Date(r,0,c.getDate()+l,o,a,s,u)}}return NaN}function ir(e,t){return function(n,r){var i,a;if(C(n))return n;if(S(n)){if('"'==n.charAt(0)&&'"'==n.charAt(n.length-1)&&(n=n.substring(1,n.length-1)),yo.test(n))return new Date(n);if(e.lastIndex=0,i=e.exec(n))return i.shift(),a=r?{yyyy:r.getFullYear(),MM:r.getMonth()+1,dd:r.getDate(),HH:r.getHours(),mm:r.getMinutes(),ss:r.getSeconds(),sss:r.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},o(i,function(e,n){n=v},s.$observe("min",function(e){v=p(e),u.$validate()})}if(b(s.max)||s.ngMax){var m;u.$validators.max=function(e){return!h(e)||y(m)||r(e)<=m},s.$observe("max",function(e){m=p(e),u.$validate()})}}}function ar(e,t,r,i){var o=t[0],a=i.$$hasNativeValidators=w(o.validity);a&&i.$parsers.push(function(e){var r=t.prop(mr)||{};return r.badInput&&!r.typeMismatch?n:e})}function sr(e,t,r,i,o,a){if(ar(e,t,r,i),nr(e,t,r,i,o,a),i.$$parserName="number",i.$parsers.push(function(e){return i.$isEmpty(e)?null:xo.test(e)?parseFloat(e):n}),i.$formatters.push(function(e){if(!i.$isEmpty(e)){if(!E(e))throw ta("numfmt","Expected `{0}` to be a number",e);e=e.toString()}return e}),b(r.min)||r.ngMin){var s;i.$validators.min=function(e){return i.$isEmpty(e)||y(s)||e>=s},r.$observe("min",function(e){b(e)&&!E(e)&&(e=parseFloat(e,10)),s=E(e)&&!isNaN(e)?e:n,i.$validate()})}if(b(r.max)||r.ngMax){var u;i.$validators.max=function(e){return i.$isEmpty(e)||y(u)||u>=e},r.$observe("max",function(e){b(e)&&!E(e)&&(e=parseFloat(e,10)),u=E(e)&&!isNaN(e)?e:n,i.$validate()})}}function ur(e,t,n,r,i,o){nr(e,t,n,r,i,o),er(r),r.$$parserName="url",r.$validators.url=function(e,t){var n=e||t;return r.$isEmpty(n)||bo.test(n)}}function cr(e,t,n,r,i,o){nr(e,t,n,r,i,o),er(r),r.$$parserName="email",r.$validators.email=function(e,t){var n=e||t;return r.$isEmpty(n)||wo.test(n)}}function lr(e,t,n,r){y(n.name)&&t.attr("name",u());var i=function(e){t[0].checked&&r.$setViewValue(n.value,e&&e.type)};t.on("click",i),r.$render=function(){var e=n.value;t[0].checked=e==r.$viewValue},n.$observe("value",r.$render)}function fr(e,t,n,r,i){var o;if(b(r)){if(o=e(r),!o.constant)throw ta("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",n,r);return o(t)}return i}function hr(e,t,n,r,i,o,a,s){var u=fr(s,e,"ngTrueValue",n.ngTrueValue,!0),c=fr(s,e,"ngFalseValue",n.ngFalseValue,!1),l=function(e){r.$setViewValue(t[0].checked,e&&e.type)};t.on("click",l),r.$render=function(){t[0].checked=r.$viewValue},r.$isEmpty=function(e){return e===!1},r.$formatters.push(function(e){return B(e,u)}),r.$parsers.push(function(e){return e?u:c})}function pr(e,t){return e="ngClass"+e,["$animate",function(n){function r(e,t){var n=[];e:for(var r=0;r0||n[e])&&(n[e]=(n[e]||0)+t,n[e]===+(t>0)&&r.push(e))}),s.data("$classCounts",n),r.join(" ")}function h(e,t){var i=r(t,e),o=r(e,t);i=f(i,1),o=f(o,-1),i&&i.length&&n.addClass(s,i),o&&o.length&&n.removeClass(s,o)}function p(e){if(t===!0||a.$index%2===t){var n=i(e||[]);if(d){if(!B(e,d)){var r=i(d);h(r,n)}}else c(n)}d=U(e)}var d;a.$watch(u[e],p,!0),u.$observe("class",function(t){p(a.$eval(u[e]))}),"ngClass"!==e&&a.$watch("$index",function(n,r){var o=1&n;if(o!==(1&r)){var s=i(a.$eval(u[e]));o===t?c(s):l(s)}})}}}]}function dr(e){function t(e,t,u){y(t)?r("$pending",e,u):i("$pending",e,u),j(t)?t?(f(s.$error,e,u),l(s.$$success,e,u)):(l(s.$error,e,u),f(s.$$success,e,u)):(f(s.$error,e,u),f(s.$$success,e,u)),s.$pending?(o(ea,!0),s.$valid=s.$invalid=n,a("",null)):(o(ea,!1),s.$valid=$r(s.$error),s.$invalid=!s.$valid,a("",s.$valid));var c;c=s.$pending&&s.$pending[e]?n:s.$error[e]?!1:s.$$success[e]?!0:null,a(e,c),s.$$parentForm.$setValidity(e,c,s)}function r(e,t,n){s[e]||(s[e]={}),l(s[e],t,n)}function i(e,t,r){s[e]&&f(s[e],t,r),$r(s[e])&&(s[e]=n)}function o(e,t){t&&!c[e]?(h.addClass(u,e),c[e]=!0):!t&&c[e]&&(h.removeClass(u,e),c[e]=!1)}function a(e,t){e=e?"-"+ce(e,"-"):"",o(Yo+e,t===!0),o(Jo+e,t===!1)}var s=e.ctrl,u=e.$element,c={},l=e.set,f=e.unset,h=e.$animate;c[Jo]=!(c[Yo]=u.hasClass(Yo)),s.$setValidity=t}function $r(e){if(e)for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}var vr=/^\/(.+)\/([a-z]*)$/,mr="validity",gr=function(e){return S(e)?e.toLowerCase():e},yr=Object.prototype.hasOwnProperty,br=function(e){return S(e)?e.toUpperCase():e},wr=function(e){return S(e)?e.replace(/[A-Z]/g,function(e){return String.fromCharCode(32|e.charCodeAt(0))}):e},xr=function(e){return S(e)?e.replace(/[a-z]/g,function(e){return String.fromCharCode(-33&e.charCodeAt(0))}):e};"i"!=="I".toLowerCase()&&(gr=wr,br=xr);var Sr,Er,Cr,kr,Ar=[].slice,Or=[].splice,Mr=[].push,Tr=Object.prototype.toString,Nr=Object.getPrototypeOf,Vr=r("ng"),jr=e.angular||(e.angular={}),Pr=0;Sr=t.documentMode,$.$inject=[],v.$inject=[];var Dr,Ir=Array.isArray,Rr=/^\[object (Uint8(Clamped)?)|(Uint16)|(Uint32)|(Int8)|(Int16)|(Int32)|(Float(32)|(64))Array\]$/,_r=function(e){return S(e)?e.trim():e},qr=function(e){return e.replace(/([-()\[\]{}+?*.$\^|,:#n;++n)if(r=Br[n],e=t.querySelector("["+r.replace(":","\\:")+"jq]")){i=e.getAttribute(r+"jq");break}return Ur.name_=i},Br=["ng-","data-ng-","ng:","x-ng-"],Hr=/[A-Z]/g,Lr=!1,zr=1,Wr=2,Gr=3,Yr=8,Jr=9,Kr=11,Zr={full:"1.4.6",major:1,minor:4,dot:6,codeName:"multiplicative-elevation"};Oe.expando="ng339";var Xr=Oe.cache={},Qr=1,ei=function(e,t,n){e.addEventListener(t,n,!1)},ti=function(e,t,n){e.removeEventListener(t,n,!1)};Oe._data=function(e){return this.cache[e[this.expando]]||{}};var ni=/([\:\-\_]+(.))/g,ri=/^moz([A-Z])/,ii={mouseleave:"mouseout",mouseenter:"mouseover"},oi=r("jqLite"),ai=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,si=/<|&#?\w+;/,ui=/<([\w:]+)/,ci=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,li={option:[1,'"],thead:[1,"","
            "],col:[2,"","
            "],tr:[2,"","
            "],td:[3,"","
            "],_default:[0,"",""]};li.optgroup=li.option,li.tbody=li.tfoot=li.colgroup=li.caption=li.thead,li.th=li.td;var fi=Oe.prototype={ready:function(n){function r(){i||(i=!0,n())}var i=!1;"complete"===t.readyState?setTimeout(r):(this.on("DOMContentLoaded",r),Oe(e).on("load",r))},toString:function(){var e=[];return o(this,function(t){e.push(""+t)}),"["+e.join(", ")+"]"},eq:function(e){return Er(e>=0?this[e]:this[this.length+e])},length:0,push:Mr,sort:[].sort,splice:[].splice},hi={};o("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(e){hi[gr(e)]=e});var pi={};o("input,select,option,textarea,button,form,details".split(","),function(e){pi[e]=!0});var di={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};o({data:Pe,removeData:Ve,hasData:Ce},function(e,t){Oe[t]=e}),o({data:Pe,inheritedData:Fe,scope:function(e){return Er.data(e,"$scope")||Fe(e.parentNode||e,["$isolateScope","$scope"])},isolateScope:function(e){return Er.data(e,"$isolateScope")||Er.data(e,"$isolateScopeNoTemplate")},controller:qe,injector:function(e){return Fe(e,"$injector")},removeAttr:function(e,t){e.removeAttribute(t)},hasClass:De,css:function(e,t,n){return t=xe(t),b(n)?void(e.style[t]=n):e.style[t]},attr:function(e,t,r){var i=e.nodeType;if(i!==Gr&&i!==Wr&&i!==Yr){var o=gr(t);if(hi[o]){if(!b(r))return e[t]||(e.attributes.getNamedItem(t)||$).specified?o:n;r?(e[t]=!0,e.setAttribute(t,o)):(e[t]=!1,e.removeAttribute(o))}else if(b(r))e.setAttribute(t,r);else if(e.getAttribute){var a=e.getAttribute(t,2);return null===a?n:a}}},prop:function(e,t,n){return b(n)?void(e[t]=n):e[t]},text:function(){function e(e,t){if(y(t)){var n=e.nodeType;return n===zr||n===Gr?e.textContent:""}e.textContent=t}return e.$dv="",e}(),val:function(e,t){if(y(t)){if(e.multiple&&"select"===_(e)){var n=[];return o(e.options,function(e){e.selected&&n.push(e.value||e.text)}),0===n.length?null:n}return e.value}e.value=t},html:function(e,t){return y(t)?e.innerHTML:(Te(e,!0),void(e.innerHTML=t))},empty:Ue},function(e,t){Oe.prototype[t]=function(t,n){ var r,i,o=this.length;if(e!==Ue&&y(2==e.length&&e!==De&&e!==qe?t:n)){if(w(t)){for(r=0;o>r;r++)if(e===Pe)e(this[r],t);else for(i in t)e(this[r],i,t[i]);return this}for(var a=e.$dv,s=y(a)?Math.min(o,1):o,u=0;s>u;u++){var c=e(this[u],t,n);a=a?a+c:c}return a}for(r=0;o>r;r++)e(this[r],t,n);return this}}),o({removeData:Ve,on:function Na(e,t,n,r){if(b(r))throw oi("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");if(Ee(e)){var i=je(e,!0),o=i.events,a=i.handle;a||(a=i.handle=We(e,o));for(var s=t.indexOf(" ")>=0?t.split(" "):[t],u=s.length;u--;){t=s[u];var c=o[t];c||(o[t]=[],"mouseenter"===t||"mouseleave"===t?Na(e,ii[t],function(e){var n=this,r=e.relatedTarget;r&&(r===n||n.contains(r))||a(e,t)}):"$destroy"!==t&&ei(e,t,a),c=o[t]),c.push(n)}}},off:Ne,one:function(e,t,n){e=Er(e),e.on(t,function r(){e.off(t,n),e.off(t,r)}),e.on(t,n)},replaceWith:function(e,t){var n,r=e.parentNode;Te(e),o(new Oe(t),function(t){n?r.insertBefore(t,n.nextSibling):r.replaceChild(t,e),n=t})},children:function(e){var t=[];return o(e.childNodes,function(e){e.nodeType===zr&&t.push(e)}),t},contents:function(e){return e.contentDocument||e.childNodes||[]},append:function(e,t){var n=e.nodeType;if(n===zr||n===Kr){t=new Oe(t);for(var r=0,i=t.length;i>r;r++){var o=t[r];e.appendChild(o)}}},prepend:function(e,t){if(e.nodeType===zr){var n=e.firstChild;o(new Oe(t),function(t){e.insertBefore(t,n)})}},wrap:function(e,t){t=Er(t).eq(0).clone()[0];var n=e.parentNode;n&&n.replaceChild(t,e),t.appendChild(e)},remove:Be,detach:function(e){Be(e,!0)},after:function(e,t){var n=e,r=e.parentNode;t=new Oe(t);for(var i=0,o=t.length;o>i;i++){var a=t[i];r.insertBefore(a,n.nextSibling),n=a}},addClass:Re,removeClass:Ie,toggleClass:function(e,t,n){t&&o(t.split(" "),function(t){var r=n;y(r)&&(r=!De(e,t)),(r?Re:Ie)(e,t)})},parent:function(e){var t=e.parentNode;return t&&t.nodeType!==Kr?t:null},next:function(e){return e.nextElementSibling},find:function(e,t){return e.getElementsByTagName?e.getElementsByTagName(t):[]},clone:Me,triggerHandler:function(e,t,n){var r,i,a,s=t.type||t,u=je(e),c=u&&u.events,l=c&&c[s];l&&(r={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return this.defaultPrevented===!0},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return this.immediatePropagationStopped===!0},stopPropagation:$,type:s,target:e},t.type&&(r=f(r,t)),i=U(l),a=n?[r].concat(n):[r],o(i,function(t){r.isImmediatePropagationStopped()||t.apply(e,a)}))}},function(e,t){Oe.prototype[t]=function(t,n,r){for(var i,o=0,a=this.length;a>o;o++)y(i)?(i=e(this[o],t,n,r),b(i)&&(i=Er(i))):_e(i,e(this[o],t,n,r));return b(i)?i:this},Oe.prototype.bind=Oe.prototype.on,Oe.prototype.unbind=Oe.prototype.off}),Je.prototype={put:function(e,t){this[Ye(e,this.nextUid)]=t},get:function(e){return this[Ye(e,this.nextUid)]},remove:function(e){var t=this[e=Ye(e,this.nextUid)];return delete this[e],t}};var $i=[function(){this.$get=[function(){return Je}]}],vi=/^[^\(]*\(\s*([^\)]*)\)/m,mi=/,/,gi=/^\s*(_?)(\S+?)\1\s*$/,yi=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,bi=r("$injector");Xe.$$annotate=Ze;var wi=r("$animate"),xi=1,Si="ng-animate",Ei=function(){this.$get=["$q","$$rAF",function(e,t){function n(){}return n.all=$,n.chain=$,n.prototype={end:$,cancel:$,resume:$,pause:$,complete:$,then:function(n,r){return e(function(e){t(function(){e()})}).then(n,r)}},n}]},Ci=function(){var e=new Je,t=[];this.$get=["$$AnimateRunner","$rootScope",function(n,r){function i(e,t,n){var r=!1;return t&&(t=S(t)?t.split(" "):Ir(t)?t:[],o(t,function(t){t&&(r=!0,e[t]=n)})),r}function a(){o(t,function(t){var n=e.get(t);if(n){var r=nt(t.attr("class")),i="",a="";o(n,function(e,t){var n=!!r[t];e!==n&&(e?i+=(i.length?" ":"")+t:a+=(a.length?" ":"")+t)}),o(t,function(e){i&&Re(e,i),a&&Ie(e,a)}),e.remove(t)}}),t.length=0}function s(n,o,s){var u=e.get(n)||{},c=i(u,o,!0),l=i(u,s,!1);(c||l)&&(e.put(n,u),t.push(n),1===t.length&&r.$$postDigest(a))}return{enabled:$,on:$,off:$,pin:$,push:function(e,t,r,i){return i&&i(),r=r||{},r.from&&e.css(r.from),r.to&&e.css(r.to),(r.addClass||r.removeClass)&&s(e,r.addClass,r.removeClass),new n}}}]},ki=["$provide",function(e){var t=this;this.$$registeredAnimations=Object.create(null),this.register=function(n,r){if(n&&"."!==n.charAt(0))throw wi("notcsel","Expecting class selector starting with '.' got '{0}'.",n);var i=n+"-animation";t.$$registeredAnimations[n.substr(1)]=i,e.factory(i,r)},this.classNameFilter=function(e){if(1===arguments.length&&(this.$$classNameFilter=e instanceof RegExp?e:null,this.$$classNameFilter)){var t=new RegExp("(\\s+|\\/)"+Si+"(\\s+|\\/)");if(t.test(this.$$classNameFilter.toString()))throw wi("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',Si)}return this.$$classNameFilter},this.$get=["$$animateQueue",function(e){function t(e,t,n){if(n){var r=tt(n);!r||r.parentNode||r.previousElementSibling||(n=null)}n?n.after(e):t.prepend(e)}return{on:e.on,off:e.off,pin:e.pin,enabled:e.enabled,cancel:function(e){e.end&&e.end()},enter:function(n,r,i,o){return r=r&&Er(r),i=i&&Er(i),r=r||i.parent(),t(n,r,i),e.push(n,"enter",rt(o))},move:function(n,r,i,o){return r=r&&Er(r),i=i&&Er(i),r=r||i.parent(),t(n,r,i),e.push(n,"move",rt(o))},leave:function(t,n){return e.push(t,"leave",rt(n),function(){t.remove()})},addClass:function(t,n,r){return r=rt(r),r.addClass=et(r.addclass,n),e.push(t,"addClass",r)},removeClass:function(t,n,r){return r=rt(r),r.removeClass=et(r.removeClass,n),e.push(t,"removeClass",r)},setClass:function(t,n,r,i){return i=rt(i),i.addClass=et(i.addClass,n),i.removeClass=et(i.removeClass,r),e.push(t,"setClass",i)},animate:function(t,n,r,i,o){return o=rt(o),o.from=o.from?f(o.from,n):n,o.to=o.to?f(o.to,r):r,i=i||"ng-inline-animate",o.tempClasses=et(o.tempClasses,i),e.push(t,"animate",o)}}}]}],Ai=function(){this.$get=["$$rAF","$q",function(e,t){var n=function(){};return n.prototype={done:function(e){this.defer&&this.defer[e===!0?"reject":"resolve"]()},end:function(){this.done()},cancel:function(){this.done(!0)},getPromise:function(){return this.defer||(this.defer=t.defer()),this.defer.promise},then:function(e,t){return this.getPromise().then(e,t)},"catch":function(e){return this.getPromise()["catch"](e)},"finally":function(e){return this.getPromise()["finally"](e)}},function(t,r){function i(){return e(function(){o(),a||s.done(),a=!0}),s}function o(){r.addClass&&(t.addClass(r.addClass),r.addClass=null),r.removeClass&&(t.removeClass(r.removeClass),r.removeClass=null),r.to&&(t.css(r.to),r.to=null)}r.from&&(t.css(r.from),r.from=null);var a,s=new n;return{start:i,end:i}}}]},Oi=r("$compile");ut.$inject=["$provide","$$sanitizeUriProvider"];var Mi=/^((?:x|data)[\:\-_])/i,Ti=r("$controller"),Ni=/^(\S+)(\s+as\s+(\w+))?$/,Vi=function(){this.$get=["$document",function(e){return function(t){return t?!t.nodeType&&t instanceof Er&&(t=t[0]):t=e[0].body,t.offsetWidth+1}}]},ji="application/json",Pi={"Content-Type":ji+";charset=utf-8"},Di=/^\[|^\{(?!\{)/,Ii={"[":/]$/,"{":/}$/},Ri=/^\)\]\}',?\n/,_i=r("$http"),qi=function(e){return function(){throw _i("legacy","The method `{0}` on the promise returned from `$http` has been disabled.",e)}},Fi=jr.$interpolateMinErr=r("$interpolate");Fi.throwNoconcat=function(e){throw Fi("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce",e)},Fi.interr=function(e,t){return Fi("interr","Can't interpolate: {0}\n{1}",e,t.toString())};var Ui=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,Bi={http:80,https:443,ftp:21},Hi=r("$location"),Li={$$html5:!1,$$replace:!1,absUrl:Bt("$$absUrl"),url:function(e){if(y(e))return this.$$url;var t=Ui.exec(e);return(t[1]||""===e)&&this.path(decodeURIComponent(t[1])),(t[2]||t[1]||""===e)&&this.search(t[3]||""),this.hash(t[5]||""),this},protocol:Bt("$$protocol"),host:Bt("$$host"),port:Bt("$$port"),path:Ht("$$path",function(e){return e=null!==e?e.toString():"","/"==e.charAt(0)?e:"/"+e}),search:function(e,t){switch(arguments.length){case 0:return this.$$search;case 1:if(S(e)||E(e))e=e.toString(),this.$$search=ee(e);else{if(!w(e))throw Hi("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");e=F(e,{}),o(e,function(t,n){null==t&&delete e[n]}),this.$$search=e}break;default:y(t)||null===t?delete this.$$search[e]:this.$$search[e]=t}return this.$$compose(),this},hash:Ht("$$hash",function(e){return null!==e?e.toString():""}),replace:function(){return this.$$replace=!0,this}};o([Ut,Ft,qt],function(e){e.prototype=Object.create(Li),e.prototype.state=function(t){if(!arguments.length)return this.$$state;if(e!==qt||!this.$$html5)throw Hi("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=y(t)?null:t,this}});var zi=r("$parse"),Wi=Function.prototype.call,Gi=Function.prototype.apply,Yi=Function.prototype.bind,Ji=ve();o("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(e){Ji[e]=!0});var Ki={n:"\n",f:"\f",r:"\r",t:" ",v:"\x0B","'":"'",'"':'"'},Zi=function(e){this.options=e};Zi.prototype={constructor:Zi,lex:function(e){for(this.text=e,this.index=0,this.tokens=[];this.index="0"&&"9">=e&&"string"==typeof e},isWhitespace:function(e){return" "===e||"\r"===e||" "===e||"\n"===e||"\x0B"===e||" "===e},isIdent:function(e){return e>="a"&&"z">=e||e>="A"&&"Z">=e||"_"===e||"$"===e},isExpOperator:function(e){return"-"===e||"+"===e||this.isNumber(e)},throwError:function(e,t,n){n=n||this.index;var r=b(t)?"s "+t+"-"+this.index+" ["+this.text.substring(t,n)+"]":" "+n;throw zi("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",e,r,this.text)},readNumber:function(){for(var e="",t=this.index;this.index0&&!this.peek("}",")",";","]")&&e.push(this.expressionStatement()),!this.expect(";"))return{type:Xi.Program,body:e}},expressionStatement:function(){return{type:Xi.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var e,t=this.expression();e=this.expect("|");)t=this.filter(t);return t},expression:function(){return this.assignment()},assignment:function(){var e=this.ternary();return this.expect("=")&&(e={type:Xi.AssignmentExpression,left:e,right:this.assignment(),operator:"="}),e},ternary:function(){var e,t,n=this.logicalOR();return this.expect("?")&&(e=this.expression(),this.consume(":"))?(t=this.expression(),{type:Xi.ConditionalExpression,test:n,alternate:e,consequent:t}):n},logicalOR:function(){for(var e=this.logicalAND();this.expect("||");)e={type:Xi.LogicalExpression,operator:"||",left:e,right:this.logicalAND()};return e},logicalAND:function(){for(var e=this.equality();this.expect("&&");)e={type:Xi.LogicalExpression,operator:"&&",left:e,right:this.equality()};return e},equality:function(){for(var e,t=this.relational();e=this.expect("==","!=","===","!==");)t={type:Xi.BinaryExpression,operator:e.text,left:t,right:this.relational()};return t},relational:function(){for(var e,t=this.additive();e=this.expect("<",">","<=",">=");)t={type:Xi.BinaryExpression,operator:e.text,left:t,right:this.additive()};return t},additive:function(){for(var e,t=this.multiplicative();e=this.expect("+","-");)t={type:Xi.BinaryExpression,operator:e.text,left:t,right:this.multiplicative()};return t},multiplicative:function(){for(var e,t=this.unary();e=this.expect("*","/","%");)t={type:Xi.BinaryExpression,operator:e.text,left:t,right:this.unary()};return t},unary:function(){var e;return(e=this.expect("+","-","!"))?{type:Xi.UnaryExpression,operator:e.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var e;this.expect("(")?(e=this.filterChain(),this.consume(")")):this.expect("[")?e=this.arrayDeclaration():this.expect("{")?e=this.object():this.constants.hasOwnProperty(this.peek().text)?e=F(this.constants[this.consume().text]):this.peek().identifier?e=this.identifier():this.peek().constant?e=this.constant():this.throwError("not a primary expression",this.peek());for(var t;t=this.expect("(","[",".");)"("===t.text?(e={type:Xi.CallExpression,callee:e,arguments:this.parseArguments()},this.consume(")")):"["===t.text?(e={type:Xi.MemberExpression,object:e,property:this.expression(),computed:!0},this.consume("]")):"."===t.text?e={type:Xi.MemberExpression,object:e,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return e},filter:function(e){for(var t=[e],n={type:Xi.CallExpression,callee:this.identifier(),arguments:t,filter:!0};this.expect(":");)t.push(this.expression());return n},parseArguments:function(){var e=[];if(")"!==this.peekToken().text)do e.push(this.expression());while(this.expect(","));return e},identifier:function(){var e=this.consume();return e.identifier||this.throwError("is not a valid identifier",e),{type:Xi.Identifier,name:e.text}},constant:function(){return{type:Xi.Literal,value:this.consume().value}},arrayDeclaration:function(){var e=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;e.push(this.expression())}while(this.expect(","));return this.consume("]"),{type:Xi.ArrayExpression,elements:e}},object:function(){var e,t=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;e={type:Xi.Property,kind:"init"},this.peek().constant?e.key=this.constant():this.peek().identifier?e.key=this.identifier():this.throwError("invalid key",this.peek()),this.consume(":"),e.value=this.expression(),t.push(e)}while(this.expect(","));return this.consume("}"),{type:Xi.ObjectExpression,properties:t}},throwError:function(e,t){throw zi("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",t.text,e,t.index+1,this.text,this.text.substring(t.index))},consume:function(e){if(0===this.tokens.length)throw zi("ueoe","Unexpected end of expression: {0}",this.text);var t=this.expect(e);return t||this.throwError("is unexpected, expecting ["+e+"]",this.peek()),t},peekToken:function(){if(0===this.tokens.length)throw zi("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(e,t,n,r){return this.peekAhead(0,e,t,n,r)},peekAhead:function(e,t,n,r,i){if(this.tokens.length>e){var o=this.tokens[e],a=o.text;if(a===t||a===n||a===r||a===i||!t&&!n&&!r&&!i)return o}return!1},expect:function(e,t,n,r){var i=this.peek(e,t,n,r);return i?(this.tokens.shift(),i):!1},constants:{"true":{type:Xi.Literal,value:!0},"false":{type:Xi.Literal,value:!1},"null":{type:Xi.Literal,value:null},undefined:{type:Xi.Literal,value:n},"this":{type:Xi.ThisExpression}}},on.prototype={compile:function(e,t){var r=this,i=this.astBuilder.ast(e);this.state={nextId:0,filters:{},expensiveChecks:t,fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]},Xt(i,r.$filter);var a,s="";if(this.stage="assign",a=tn(i)){this.state.computing="assign";var u=this.nextId();this.recurse(a,u),this.return_(u),s="fn.assign="+this.generateFunction("assign","s,v,l")}var c=Qt(i.body);r.stage="inputs",o(c,function(e,t){var n="fn"+t;r.state[n]={vars:[],body:[],own:{}},r.state.computing=n;var i=r.nextId();r.recurse(e,i),r.return_(i),r.state.inputs.push(n),e.watchId=t}),this.state.computing="fn",this.stage="main",this.recurse(i);var l='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+s+this.watchFns()+"return fn;",f=new Function("$filter","ensureSafeMemberName","ensureSafeObject","ensureSafeFunction","ifDefined","plus","text",l)(this.$filter,Wt,Gt,Yt,Jt,Kt,e);return this.state=this.stage=n,f.literal=nn(i),f.constant=rn(i),f},USE:"use",STRICT:"strict",watchFns:function(){var e=[],t=this.state.inputs,n=this;return o(t,function(t){e.push("var "+t+"="+n.generateFunction(t,"s"))}),t.length&&e.push("fn.inputs=["+t.join(",")+"];"),e.join("")},generateFunction:function(e,t){return"function("+t+"){"+this.varsPrefix(e)+this.body(e)+"};"},filterPrefix:function(){var e=[],t=this;return o(this.state.filters,function(n,r){e.push(n+"=$filter("+t.escape(r)+")")}),e.length?"var "+e.join(",")+";":""},varsPrefix:function(e){return this.state[e].vars.length?"var "+this.state[e].vars.join(",")+";":""},body:function(e){return this.state[e].body.join("")},recurse:function(e,t,r,i,a,s){var u,c,l,f,h=this;if(i=i||$,!s&&b(e.watchId))return t=t||this.nextId(),void this.if_("i",this.lazyAssign(t,this.computedMember("i",e.watchId)),this.lazyRecurse(e,t,r,i,a,!0));switch(e.type){case Xi.Program:o(e.body,function(t,r){h.recurse(t.expression,n,n,function(e){c=e}),r!==e.body.length-1?h.current().body.push(c,";"):h.return_(c)});break;case Xi.Literal:f=this.escape(e.value),this.assign(t,f),i(f);break;case Xi.UnaryExpression:this.recurse(e.argument,n,n,function(e){c=e}),f=e.operator+"("+this.ifDefined(c,0)+")",this.assign(t,f),i(f);break;case Xi.BinaryExpression:this.recurse(e.left,n,n,function(e){u=e}),this.recurse(e.right,n,n,function(e){c=e}),f="+"===e.operator?this.plus(u,c):"-"===e.operator?this.ifDefined(u,0)+e.operator+this.ifDefined(c,0):"("+u+")"+e.operator+"("+c+")",this.assign(t,f),i(f);break;case Xi.LogicalExpression:t=t||this.nextId(),h.recurse(e.left,t),h.if_("&&"===e.operator?t:h.not(t),h.lazyRecurse(e.right,t)),i(t);break;case Xi.ConditionalExpression:t=t||this.nextId(),h.recurse(e.test,t),h.if_(t,h.lazyRecurse(e.alternate,t),h.lazyRecurse(e.consequent,t)),i(t);break;case Xi.Identifier:t=t||this.nextId(),r&&(r.context="inputs"===h.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",e.name)+"?l:s"),r.computed=!1,r.name=e.name),Wt(e.name),h.if_("inputs"===h.stage||h.not(h.getHasOwnProperty("l",e.name)),function(){h.if_("inputs"===h.stage||"s",function(){a&&1!==a&&h.if_(h.not(h.nonComputedMember("s",e.name)),h.lazyAssign(h.nonComputedMember("s",e.name),"{}")),h.assign(t,h.nonComputedMember("s",e.name))})},t&&h.lazyAssign(t,h.nonComputedMember("l",e.name))),(h.state.expensiveChecks||sn(e.name))&&h.addEnsureSafeObject(t),i(t);break;case Xi.MemberExpression:u=r&&(r.context=this.nextId())||this.nextId(),t=t||this.nextId(),h.recurse(e.object,u,n,function(){h.if_(h.notNull(u),function(){e.computed?(c=h.nextId(),h.recurse(e.property,c),h.addEnsureSafeMemberName(c),a&&1!==a&&h.if_(h.not(h.computedMember(u,c)),h.lazyAssign(h.computedMember(u,c),"{}")),f=h.ensureSafeObject(h.computedMember(u,c)),h.assign(t,f),r&&(r.computed=!0,r.name=c)):(Wt(e.property.name),a&&1!==a&&h.if_(h.not(h.nonComputedMember(u,e.property.name)),h.lazyAssign(h.nonComputedMember(u,e.property.name),"{}")),f=h.nonComputedMember(u,e.property.name),(h.state.expensiveChecks||sn(e.property.name))&&(f=h.ensureSafeObject(f)),h.assign(t,f),r&&(r.computed=!1,r.name=e.property.name))},function(){h.assign(t,"undefined")}),i(t)},!!a);break;case Xi.CallExpression:t=t||this.nextId(),e.filter?(c=h.filter(e.callee.name),l=[],o(e.arguments,function(e){var t=h.nextId();h.recurse(e,t),l.push(t)}),f=c+"("+l.join(",")+")",h.assign(t,f),i(t)):(c=h.nextId(),u={},l=[],h.recurse(e.callee,c,u,function(){h.if_(h.notNull(c),function(){h.addEnsureSafeFunction(c),o(e.arguments,function(e){h.recurse(e,h.nextId(),n,function(e){l.push(h.ensureSafeObject(e))})}),u.name?(h.state.expensiveChecks||h.addEnsureSafeObject(u.context),f=h.member(u.context,u.name,u.computed)+"("+l.join(",")+")"):f=c+"("+l.join(",")+")",f=h.ensureSafeObject(f),h.assign(t,f)},function(){h.assign(t,"undefined")}),i(t)}));break;case Xi.AssignmentExpression:if(c=this.nextId(),u={},!en(e.left))throw zi("lval","Trying to assing a value to a non l-value");this.recurse(e.left,n,u,function(){h.if_(h.notNull(u.context),function(){h.recurse(e.right,c),h.addEnsureSafeObject(h.member(u.context,u.name,u.computed)),f=h.member(u.context,u.name,u.computed)+e.operator+c,h.assign(t,f),i(t||f)})},1);break;case Xi.ArrayExpression:l=[],o(e.elements,function(e){h.recurse(e,h.nextId(),n,function(e){l.push(e)})}),f="["+l.join(",")+"]",this.assign(t,f),i(f);break;case Xi.ObjectExpression:l=[],o(e.properties,function(e){h.recurse(e.value,h.nextId(),n,function(t){l.push(h.escape(e.key.type===Xi.Identifier?e.key.name:""+e.key.value)+":"+t)})}),f="{"+l.join(",")+"}",this.assign(t,f),i(f);break;case Xi.ThisExpression:this.assign(t,"s"),i("s");break;case Xi.NGValueParameter:this.assign(t,"v"),i("v")}},getHasOwnProperty:function(e,t){var n=e+"."+t,r=this.current().own;return r.hasOwnProperty(n)||(r[n]=this.nextId(!1,e+"&&("+this.escape(t)+" in "+e+")")),r[n]},assign:function(e,t){return e?(this.current().body.push(e,"=",t,";"),e):void 0},filter:function(e){return this.state.filters.hasOwnProperty(e)||(this.state.filters[e]=this.nextId(!0)),this.state.filters[e]},ifDefined:function(e,t){return"ifDefined("+e+","+this.escape(t)+")"},plus:function(e,t){return"plus("+e+","+t+")"},return_:function(e){this.current().body.push("return ",e,";")},if_:function(e,t,n){if(e===!0)t();else{var r=this.current().body;r.push("if(",e,"){"),t(),r.push("}"),n&&(r.push("else{"),n(),r.push("}"))}},not:function(e){return"!("+e+")"},notNull:function(e){return e+"!=null"},nonComputedMember:function(e,t){return e+"."+t},computedMember:function(e,t){return e+"["+t+"]"},member:function(e,t,n){return n?this.computedMember(e,t):this.nonComputedMember(e,t)},addEnsureSafeObject:function(e){this.current().body.push(this.ensureSafeObject(e),";")},addEnsureSafeMemberName:function(e){this.current().body.push(this.ensureSafeMemberName(e),";")},addEnsureSafeFunction:function(e){this.current().body.push(this.ensureSafeFunction(e),";")},ensureSafeObject:function(e){return"ensureSafeObject("+e+",text)"},ensureSafeMemberName:function(e){return"ensureSafeMemberName("+e+",text)"},ensureSafeFunction:function(e){return"ensureSafeFunction("+e+",text)"},lazyRecurse:function(e,t,n,r,i,o){var a=this;return function(){a.recurse(e,t,n,r,i,o)}},lazyAssign:function(e,t){var n=this;return function(){n.assign(e,t)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)},escape:function(e){if(S(e))return"'"+e.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(E(e))return e.toString();if(e===!0)return"true";if(e===!1)return"false";if(null===e)return"null";if("undefined"==typeof e)return"undefined";throw zi("esc","IMPOSSIBLE")},nextId:function(e,t){var n="v"+this.state.nextId++;return e||this.current().vars.push(n+(t?"="+t:"")),n},current:function(){return this.state[this.state.computing]}},an.prototype={compile:function(e,t){var n=this,r=this.astBuilder.ast(e);this.expression=e,this.expensiveChecks=t,Xt(r,n.$filter);var i,a;(i=tn(r))&&(a=this.recurse(i));var s,u=Qt(r.body);u&&(s=[],o(u,function(e,t){var r=n.recurse(e);e.input=r,s.push(r),e.watchId=t}));var c=[];o(r.body,function(e){c.push(n.recurse(e.expression))});var l=0===r.body.length?function(){}:1===r.body.length?c[0]:function(e,t){var n;return o(c,function(r){n=r(e,t)}),n};return a&&(l.assign=function(e,t,n){return a(e,n,t)}),s&&(l.inputs=s),l.literal=nn(r),l.constant=rn(r),l},recurse:function(e,t,r){var i,a,s,u=this;if(e.input)return this.inputs(e.input,e.watchId);switch(e.type){case Xi.Literal:return this.value(e.value,t);case Xi.UnaryExpression:return a=this.recurse(e.argument),this["unary"+e.operator](a,t);case Xi.BinaryExpression:return i=this.recurse(e.left),a=this.recurse(e.right),this["binary"+e.operator](i,a,t);case Xi.LogicalExpression:return i=this.recurse(e.left),a=this.recurse(e.right),this["binary"+e.operator](i,a,t);case Xi.ConditionalExpression:return this["ternary?:"](this.recurse(e.test),this.recurse(e.alternate),this.recurse(e.consequent),t);case Xi.Identifier:return Wt(e.name,u.expression),u.identifier(e.name,u.expensiveChecks||sn(e.name),t,r,u.expression);case Xi.MemberExpression:return i=this.recurse(e.object,!1,!!r),e.computed||(Wt(e.property.name,u.expression),a=e.property.name),e.computed&&(a=this.recurse(e.property)),e.computed?this.computedMember(i,a,t,r,u.expression):this.nonComputedMember(i,a,u.expensiveChecks,t,r,u.expression);case Xi.CallExpression:return s=[],o(e.arguments,function(e){s.push(u.recurse(e))}),e.filter&&(a=this.$filter(e.callee.name)),e.filter||(a=this.recurse(e.callee,!0)),e.filter?function(e,r,i,o){for(var u=[],c=0;c":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)>t(r,i,o,a);return n?{value:s}:s}},"binary<=":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)<=t(r,i,o,a);return n?{value:s}:s}},"binary>=":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)>=t(r,i,o,a);return n?{value:s}:s}},"binary&&":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)&&t(r,i,o,a);return n?{value:s}:s}},"binary||":function(e,t,n){return function(r,i,o,a){var s=e(r,i,o,a)||t(r,i,o,a);return n?{value:s}:s}},"ternary?:":function(e,t,n,r){return function(i,o,a,s){var u=e(i,o,a,s)?t(i,o,a,s):n(i,o,a,s);return r?{value:u}:u}},value:function(e,t){return function(){return t?{context:n,name:n,value:e}:e}},identifier:function(e,t,r,i,o){return function(a,s,u,c){var l=s&&e in s?s:a;i&&1!==i&&l&&!l[e]&&(l[e]={});var f=l?l[e]:n;return t&&Gt(f,o),r?{context:l,name:e,value:f}:f}},computedMember:function(e,t,n,r,i){return function(o,a,s,u){var c,l,f=e(o,a,s,u);return null!=f&&(c=t(o,a,s,u),Wt(c,i),r&&1!==r&&f&&!f[c]&&(f[c]={}),l=f[c],Gt(l,i)),n?{context:f,name:c,value:l}:l}},nonComputedMember:function(e,t,r,i,o,a){return function(s,u,c,l){var f=e(s,u,c,l);o&&1!==o&&f&&!f[t]&&(f[t]={});var h=null!=f?f[t]:n;return(r||sn(t))&&Gt(h,a),i?{context:f,name:t,value:h}:h}},inputs:function(e,t){return function(n,r,i,o){return o?o[t]:e(n,r,i)}}};var Qi=function(e,t,n){this.lexer=e,this.$filter=t,this.options=n,this.ast=new Xi(this.lexer),this.astCompiler=n.csp?new an(this.ast,t):new on(this.ast,t)};Qi.prototype={constructor:Qi,parse:function(e){return this.astCompiler.compile(e,this.options.expensiveChecks)}};var eo=(ve(),ve(),Object.prototype.valueOf),to=r("$sce"),no={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},Oi=r("$compile"),ro=t.createElement("a"),io=En(e.location.href);An.$inject=["$document"],Mn.$inject=["$provide"],Pn.$inject=["$locale"],Dn.$inject=["$locale"];var oo=".",ao={yyyy:_n("FullYear",4),yy:_n("FullYear",2,0,!0),y:_n("FullYear",1),MMMM:qn("Month"),MMM:qn("Month",!0),MM:_n("Month",2,1),M:_n("Month",1,1),dd:_n("Date",2),d:_n("Date",1),HH:_n("Hours",2),H:_n("Hours",1),hh:_n("Hours",2,-12),h:_n("Hours",1,-12),mm:_n("Minutes",2),m:_n("Minutes",1),ss:_n("Seconds",2),s:_n("Seconds",1),sss:_n("Milliseconds",3),EEEE:qn("Day"),EEE:qn("Day",!0),a:Ln,Z:Fn,ww:Hn(2),w:Hn(1),G:zn,GG:zn,GGG:zn,GGGG:Wn},so=/((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,uo=/^\-?\d+$/;Gn.$inject=["$locale"];var co=m(gr),lo=m(br); Kn.$inject=["$parse"];var fo=m({restrict:"E",compile:function(e,t){return t.href||t.xlinkHref?void 0:function(e,t){if("a"===t[0].nodeName.toLowerCase()){var n="[object SVGAnimatedString]"===Tr.call(t.prop("href"))?"xlink:href":"href";t.on("click",function(e){t.attr(n)||e.preventDefault()})}}}}),ho={};o(hi,function(e,t){function n(e,n,i){e.$watch(i[r],function(e){i.$set(t,!!e)})}if("multiple"!=e){var r=ct("ng-"+t),i=n;"checked"===e&&(i=function(e,t,i){i.ngModel!==i[r]&&n(e,t,i)}),ho[r]=function(){return{restrict:"A",priority:100,link:i}}}}),o(di,function(e,t){ho[t]=function(){return{priority:100,link:function(e,n,r){if("ngPattern"===t&&"/"==r.ngPattern.charAt(0)){var i=r.ngPattern.match(vr);if(i)return void r.$set("ngPattern",new RegExp(i[1],i[2]))}e.$watch(r[t],function(e){r.$set(t,e)})}}}}),o(["src","srcset","href"],function(e){var t=ct("ng-"+e);ho[t]=function(){return{priority:99,link:function(n,r,i){var o=e,a=e;"href"===e&&"[object SVGAnimatedString]"===Tr.call(r.prop("href"))&&(a="xlinkHref",i.$attr[a]="xlink:href",o=null),i.$observe(t,function(t){return t?(i.$set(a,t),void(Sr&&o&&r.prop(o,i[a]))):void("href"===e&&i.$set(a,null))})}}}});var po={$addControl:$,$$renameControl:Xn,$removeControl:$,$setValidity:$,$setDirty:$,$setPristine:$,$setSubmitted:$},$o="ng-submitted";Qn.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var vo=function(e){return["$timeout","$parse",function(t,r){function i(e){return""===e?r('this[""]').assign:r(e).assign||$}var o={name:"form",restrict:e?"EAC":"E",require:["form","^^?form"],controller:Qn,compile:function(r,o){r.addClass(Ko).addClass(Yo);var a=o.name?"name":e&&o.ngForm?"ngForm":!1;return{pre:function(e,r,o,s){var u=s[0];if(!("action"in o)){var c=function(t){e.$apply(function(){u.$commitViewValue(),u.$setSubmitted()}),t.preventDefault()};ei(r[0],"submit",c),r.on("$destroy",function(){t(function(){ti(r[0],"submit",c)},0,!1)})}var l=s[1]||u.$$parentForm;l.$addControl(u);var h=a?i(u.$name):$;a&&(h(e,u),o.$observe(a,function(t){u.$name!==t&&(h(e,n),u.$$parentForm.$$renameControl(u,t),(h=i(u.$name))(e,u))})),r.on("$destroy",function(){u.$$parentForm.$removeControl(u),h(e,n),f(u,po)})}}}};return o}]},mo=vo(),go=vo(!0),yo=/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/,bo=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,wo=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,xo=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,So=/^(\d{4})-(\d{2})-(\d{2})$/,Eo=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Co=/^(\d{4})-W(\d\d)$/,ko=/^(\d{4})-(\d\d)$/,Ao=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Oo={text:tr,date:or("date",So,ir(So,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":or("datetimelocal",Eo,ir(Eo,["yyyy","MM","dd","HH","mm","ss","sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:or("time",Ao,ir(Ao,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:or("week",Co,rr,"yyyy-Www"),month:or("month",ko,ir(ko,["yyyy","MM"]),"yyyy-MM"),number:sr,url:ur,email:cr,radio:lr,checkbox:hr,hidden:$,button:$,submit:$,reset:$,file:$},Mo=["$browser","$sniffer","$filter","$parse",function(e,t,n,r){return{restrict:"E",require:["?ngModel"],link:{pre:function(i,o,a,s){s[0]&&(Oo[gr(a.type)]||Oo.text)(i,o,a,s[0],t,e,n,r)}}}}],To=/^(true|false|\d+)$/,No=function(){return{restrict:"A",priority:100,compile:function(e,t){return To.test(t.ngValue)?function(e,t,n){n.$set("value",e.$eval(n.ngValue))}:function(e,t,n){e.$watch(n.ngValue,function(e){n.$set("value",e)})}}}},Vo=["$compile",function(e){return{restrict:"AC",compile:function(t){return e.$$addBindingClass(t),function(t,n,r){e.$$addBindingInfo(n,r.ngBind),n=n[0],t.$watch(r.ngBind,function(e){n.textContent=y(e)?"":e})}}}}],jo=["$interpolate","$compile",function(e,t){return{compile:function(n){return t.$$addBindingClass(n),function(n,r,i){var o=e(r.attr(i.$attr.ngBindTemplate));t.$$addBindingInfo(r,o.expressions),r=r[0],i.$observe("ngBindTemplate",function(e){r.textContent=y(e)?"":e})}}}}],Po=["$sce","$parse","$compile",function(e,t,n){return{restrict:"A",compile:function(r,i){var o=t(i.ngBindHtml),a=t(i.ngBindHtml,function(e){return(e||"").toString()});return n.$$addBindingClass(r),function(t,r,i){n.$$addBindingInfo(r,i.ngBindHtml),t.$watch(a,function(){r.html(e.getTrustedHtml(o(t))||"")})}}}}],Do=m({restrict:"A",require:"ngModel",link:function(e,t,n,r){r.$viewChangeListeners.push(function(){e.$eval(n.ngChange)})}}),Io=pr("",!0),Ro=pr("Odd",0),_o=pr("Even",1),qo=Zn({compile:function(e,t){t.$set("ngCloak",n),e.removeClass("ng-cloak")}}),Fo=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],Uo={},Bo={blur:!0,focus:!0};o("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(e){var t=ct("ng-"+e);Uo[t]=["$parse","$rootScope",function(n,r){return{restrict:"A",compile:function(i,o){var a=n(o[t],null,!0);return function(t,n){n.on(e,function(n){var i=function(){a(t,{$event:n})};Bo[e]&&r.$$phase?t.$evalAsync(i):t.$apply(i)})}}}}]});var Ho=["$animate",function(e){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(n,r,i,o,a){var s,u,c;n.$watch(i.ngIf,function(n){n?u||a(function(n,o){u=o,n[n.length++]=t.createComment(" end ngIf: "+i.ngIf+" "),s={clone:n},e.enter(n,r.parent(),r)}):(c&&(c.remove(),c=null),u&&(u.$destroy(),u=null),s&&(c=$e(s.clone),e.leave(c).then(function(){c=null}),s=null))})}}}],Lo=["$templateRequest","$anchorScroll","$animate",function(e,t,n){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:jr.noop,compile:function(r,i){var o=i.ngInclude||i.src,a=i.onload||"",s=i.autoscroll;return function(r,i,u,c,l){var f,h,p,d=0,$=function(){h&&(h.remove(),h=null),f&&(f.$destroy(),f=null),p&&(n.leave(p).then(function(){h=null}),h=p,p=null)};r.$watch(o,function(o){var u=function(){!b(s)||s&&!r.$eval(s)||t()},h=++d;o?(e(o,!0).then(function(e){if(h===d){var t=r.$new();c.template=e;var s=l(t,function(e){$(),n.enter(e,null,i).then(u)});f=t,p=s,f.$emit("$includeContentLoaded",o),r.$eval(a)}},function(){h===d&&($(),r.$emit("$includeContentError",o))}),r.$emit("$includeContentRequested",o)):($(),c.template=null)})}}}}],zo=["$compile",function(e){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(n,r,i,o){return/SVG/.test(r[0].toString())?(r.empty(),void e(ke(o.template,t).childNodes)(n,function(e){r.append(e)},{futureParentElement:r})):(r.html(o.template),void e(r.contents())(n))}}}],Wo=Zn({priority:450,compile:function(){return{pre:function(e,t,n){e.$eval(n.ngInit)}}}}),Go=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(e,t,r,i){var a=t.attr(r.$attr.ngList)||", ",s="false"!==r.ngTrim,u=s?_r(a):a,c=function(e){if(!y(e)){var t=[];return e&&o(e.split(u),function(e){e&&t.push(s?_r(e):e)}),t}};i.$parsers.push(c),i.$formatters.push(function(e){return Ir(e)?e.join(a):n}),i.$isEmpty=function(e){return!e||!e.length}}}},Yo="ng-valid",Jo="ng-invalid",Ko="ng-pristine",Zo="ng-dirty",Xo="ng-untouched",Qo="ng-touched",ea="ng-pending",ta=r("ngModel"),na=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(e,t,r,i,a,s,u,c,l,f){this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=n,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=n,this.$name=f(r.name||"",!1)(e),this.$$parentForm=po;var h,p=a(r.ngModel),d=p.assign,v=p,m=d,g=null,w=this;this.$$setOptions=function(e){if(w.$options=e,e&&e.getterSetter){var t=a(r.ngModel+"()"),n=a(r.ngModel+"($$$p)");v=function(e){var n=p(e);return k(n)&&(n=t(e)),n},m=function(e,t){k(p(e))?n(e,{$$$p:w.$modelValue}):d(e,w.$modelValue)}}else if(!p.assign)throw ta("nonassign","Expression '{0}' is non-assignable. Element: {1}",r.ngModel,X(i))},this.$render=$,this.$isEmpty=function(e){return y(e)||""===e||null===e||e!==e};var x=0;dr({ctrl:this,$element:i,set:function(e,t){e[t]=!0},unset:function(e,t){delete e[t]},$animate:s}),this.$setPristine=function(){w.$dirty=!1,w.$pristine=!0,s.removeClass(i,Zo),s.addClass(i,Ko)},this.$setDirty=function(){w.$dirty=!0,w.$pristine=!1,s.removeClass(i,Ko),s.addClass(i,Zo),w.$$parentForm.$setDirty()},this.$setUntouched=function(){w.$touched=!1,w.$untouched=!0,s.setClass(i,Xo,Qo)},this.$setTouched=function(){w.$touched=!0,w.$untouched=!1,s.setClass(i,Qo,Xo)},this.$rollbackViewValue=function(){u.cancel(g),w.$viewValue=w.$$lastCommittedViewValue,w.$render()},this.$validate=function(){if(!E(w.$modelValue)||!isNaN(w.$modelValue)){var e=w.$$lastCommittedViewValue,t=w.$$rawModelValue,r=w.$valid,i=w.$modelValue,o=w.$options&&w.$options.allowInvalid;w.$$runValidators(t,e,function(e){o||r===e||(w.$modelValue=e?t:n,w.$modelValue!==i&&w.$$writeModelToScope())})}},this.$$runValidators=function(e,t,r){function i(){var e=w.$$parserName||"parse";return y(h)?(u(e,null),!0):(h||(o(w.$validators,function(e,t){u(t,null)}),o(w.$asyncValidators,function(e,t){u(t,null)})),u(e,h),h)}function a(){var n=!0;return o(w.$validators,function(r,i){var o=r(e,t);n=n&&o,u(i,o)}),n?!0:(o(w.$asyncValidators,function(e,t){u(t,null)}),!1)}function s(){var r=[],i=!0;o(w.$asyncValidators,function(o,a){var s=o(e,t);if(!P(s))throw ta("$asyncValidators","Expected asynchronous validator to return a promise but got '{0}' instead.",s);u(a,n),r.push(s.then(function(){u(a,!0)},function(e){i=!1,u(a,!1)}))}),r.length?l.all(r).then(function(){c(i)},$):c(!0)}function u(e,t){f===x&&w.$setValidity(e,t)}function c(e){f===x&&r(e)}x++;var f=x;return i()&&a()?void s():void c(!1)},this.$commitViewValue=function(){var e=w.$viewValue;u.cancel(g),(w.$$lastCommittedViewValue!==e||""===e&&w.$$hasNativeValidators)&&(w.$$lastCommittedViewValue=e,w.$pristine&&this.$setDirty(),this.$$parseAndValidate())},this.$$parseAndValidate=function(){function t(){w.$modelValue!==a&&w.$$writeModelToScope()}var r=w.$$lastCommittedViewValue,i=r;if(h=y(i)?n:!0)for(var o=0;oo;o++){var u=e===n?o:n[o],c=(e[u],S(e[u],u)),l=v(e[u],c);if(t.push(l),s[2]||s[1]){var f=g(r,c);t.push(f)}if(s[4]){var h=b(r,c);t.push(h)}}return t}),getOptions:function(){for(var e=[],t={},n=w(r)||[],i=a(n),s=i.length,u=0;s>u;u++){var c=n===i?u:i[u],l=n[c],h=S(l,c),p=d(r,h),$=v(p,h),x=g(r,h),E=y(r,h),C=b(r,h),k=new o($,p,x,E,C);e.push(k),t[$]=k}return{items:e,selectValueMap:t,getOptionFromViewValue:function(e){return t[m(e)]},getViewValueFromOption:function(e){return f?jr.copy(e.viewValue):e.viewValue}}}}}var a=t.createElement("option"),s=t.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","?ngModel"],link:function(t,n,i,u){function c(e,t){e.element=t,t.disabled=e.disabled,e.value!==t.value&&(t.value=e.selectValue),e.label!==t.label&&(t.label=e.label,t.textContent=e.label)}function l(e,t,n,r){var i;return t&&gr(t.nodeName)===n?i=t:(i=r.cloneNode(!1),t?e.insertBefore(i,t):e.appendChild(i)),i}function f(e){for(var t;e;)t=e.nextSibling,Be(e),e=t}function h(e){var t=$&&$[0],n=x&&x[0];if(t||n)for(;e&&(e===t||e===n);)e=e.nextSibling;return e}function p(){var e=S&&v.readValue();S=E.getOptions();var t={},r=n[0].firstChild;if(w&&n.prepend($),r=h(r),S.items.forEach(function(e){var i,o,u;e.group?(i=t[e.group],i||(o=l(n[0],r,"optgroup",s),r=o.nextSibling,o.label=e.group,i=t[e.group]={groupElement:o,currentOptionElement:o.firstChild}),u=l(i.groupElement,i.currentOptionElement,"option",a),c(e,u),i.currentOptionElement=u.nextSibling):(u=l(n[0],r,"option",a),c(e,u),r=u.nextSibling)}),Object.keys(t).forEach(function(e){f(t[e].currentOptionElement)}),f(r),d.$render(),!d.$isEmpty(e)){var i=v.readValue();(E.trackBy?B(e,i):e===i)||(d.$setViewValue(i),d.$render())}}var d=u[1];if(d){for(var $,v=u[0],m=i.multiple,g=0,y=n.children(),b=y.length;b>g;g++)if(""===y[g].value){$=y.eq(g);break}var w=!!$,x=Er(a.cloneNode(!1));x.val("?");var S,E=r(i.ngOptions,n,t),C=function(){w||n.prepend($),n.val(""),$.prop("selected",!0),$.attr("selected",!0)},k=function(){w||$.remove()},A=function(){n.prepend(x),n.val("?"),x.prop("selected",!0),x.attr("selected",!0)},O=function(){x.remove()};m?(d.$isEmpty=function(e){return!e||0===e.length},v.writeValue=function(e){S.items.forEach(function(e){e.element.selected=!1}),e&&e.forEach(function(e){var t=S.getOptionFromViewValue(e);t&&!t.disabled&&(t.element.selected=!0)})},v.readValue=function(){var e=n.val()||[],t=[];return o(e,function(e){var n=S.selectValueMap[e];n&&!n.disabled&&t.push(S.getViewValueFromOption(n))}),t},E.trackBy&&t.$watchCollection(function(){return Ir(d.$viewValue)?d.$viewValue.map(function(e){return E.getTrackByValue(e)}):void 0},function(){d.$render()})):(v.writeValue=function(e){var t=S.getOptionFromViewValue(e);t&&!t.disabled?n[0].value!==t.selectValue&&(O(),k(),n[0].value=t.selectValue,t.element.selected=!0,t.element.setAttribute("selected","selected")):null===e||w?(O(),C()):(k(),A())},v.readValue=function(){var e=S.selectValueMap[n.val()];return e&&!e.disabled?(k(),O(),S.getViewValueFromOption(e)):null},E.trackBy&&t.$watch(function(){return E.getTrackByValue(d.$viewValue)},function(){d.$render()})),w?($.remove(),e($)(t),$.removeClass("ng-scope")):$=Er(a.cloneNode(!1)),p(),t.$watchCollection(E.getWatchables,p)}}}}],la=["$locale","$interpolate","$log",function(e,t,n){var r=/{}/g,i=/^when(Minus)?(.+)$/;return{link:function(a,s,u){function c(e){s.text(e||"")}var l,f=u.count,h=u.$attr.when&&s.attr(u.$attr.when),p=u.offset||0,d=a.$eval(h)||{},v={},m=t.startSymbol(),g=t.endSymbol(),b=m+f+"-"+p+g,w=jr.noop;o(u,function(e,t){var n=i.exec(t);if(n){var r=(n[1]?"-":"")+gr(n[2]);d[r]=s.attr(u.$attr[t])}}),o(d,function(e,n){v[n]=t(e.replace(r,b))}),a.$watch(f,function(t){var r=parseFloat(t),i=isNaN(r);if(i||r in d||(r=e.pluralCat(r-p)),r!==l&&!(i&&E(l)&&isNaN(l))){w();var o=v[r];y(o)?(null!=t&&n.debug("ngPluralize: no rule defined for '"+r+"' in "+h),w=$,c()):w=a.$watch(o,c),l=r}})}}}],fa=["$parse","$animate",function(e,a){var s="$$NG_REMOVED",u=r("ngRepeat"),c=function(e,t,n,r,i,o,a){e[n]=r,i&&(e[i]=o),e.$index=t,e.$first=0===t,e.$last=t===a-1,e.$middle=!(e.$first||e.$last),e.$odd=!(e.$even=0===(1&t))},l=function(e){return e.clone[0]},f=function(e){return e.clone[e.clone.length-1]};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function(r,h){var p=h.ngRepeat,d=t.createComment(" end ngRepeat: "+p+" "),$=p.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!$)throw u("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",p);var v=$[1],m=$[2],g=$[3],y=$[4];if($=v.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/),!$)throw u("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",v);var b=$[3]||$[1],w=$[2];if(g&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(g)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(g)))throw u("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",g);var x,S,E,C,k={$id:Ye};return y?x=e(y):(E=function(e,t){return Ye(t)},C=function(e){return e}),function(e,t,r,h,$){x&&(S=function(t,n,r){return w&&(k[w]=t),k[b]=n,k.$index=r,x(e,k)});var v=ve();e.$watchCollection(m,function(r){var h,m,y,x,k,A,O,M,T,N,V,j,P=t[0],D=ve();if(g&&(e[g]=r),i(r))T=r,M=S||E;else{M=S||C,T=[];for(var I in r)yr.call(r,I)&&"$"!==I.charAt(0)&&T.push(I)}for(x=T.length,V=new Array(x),h=0;x>h;h++)if(k=r===T?h:T[h],A=r[k],O=M(k,A,h),v[O])N=v[O],delete v[O],D[O]=N,V[h]=N;else{if(D[O])throw o(V,function(e){e&&e.scope&&(v[e.id]=e)}),u("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",p,O,A);V[h]={id:O,scope:n,clone:n},D[O]=!0}for(var R in v){if(N=v[R],j=$e(N.clone),a.leave(j),j[0].parentNode)for(h=0,m=j.length;m>h;h++)j[h][s]=!0;N.scope.$destroy()}for(h=0;x>h;h++)if(k=r===T?h:T[h],A=r[k],N=V[h],N.scope){y=P;do y=y.nextSibling;while(y&&y[s]);l(N)!=y&&a.move($e(N.clone),null,Er(P)),P=f(N),c(N.scope,h,b,A,w,k,x)}else $(function(e,t){N.scope=t;var n=d.cloneNode(!1);e[e.length++]=n,a.enter(e,null,Er(P)),P=n,N.clone=e,D[N.id]=N,c(N.scope,h,b,A,w,k,x)});v=D})}}}}],ha="ng-hide",pa="ng-hide-animate",da=["$animate",function(e){return{restrict:"A",multiElement:!0,link:function(t,n,r){t.$watch(r.ngShow,function(t){e[t?"removeClass":"addClass"](n,ha,{tempClasses:pa})})}}}],$a=["$animate",function(e){return{restrict:"A",multiElement:!0,link:function(t,n,r){t.$watch(r.ngHide,function(t){e[t?"addClass":"removeClass"](n,ha,{tempClasses:pa})})}}}],va=Zn(function(e,t,n){e.$watch(n.ngStyle,function(e,n){n&&e!==n&&o(n,function(e,n){t.css(n,"")}),e&&t.css(e)},!0)}),ma=["$animate",function(e){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(n,r,i,a){var s=i.ngSwitch||i.on,u=[],c=[],l=[],f=[],h=function(e,t){return function(){e.splice(t,1)}};n.$watch(s,function(n){var r,i;for(r=0,i=l.length;i>r;++r)e.cancel(l[r]);for(l.length=0,r=0,i=f.length;i>r;++r){var s=$e(c[r].clone);f[r].$destroy();var p=l[r]=e.leave(s);p.then(h(l,r))}c.length=0,f.length=0,(u=a.cases["!"+n]||a.cases["?"])&&o(u,function(n){n.transclude(function(r,i){f.push(i);var o=n.element;r[r.length++]=t.createComment(" end ngSwitchWhen: ");var a={clone:r};c.push(a),e.enter(r,o.parent(),o)})})})}}}],ga=Zn({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,r,i){r.cases["!"+n.ngSwitchWhen]=r.cases["!"+n.ngSwitchWhen]||[],r.cases["!"+n.ngSwitchWhen].push({transclude:i,element:t})}}),ya=Zn({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,r,i){r.cases["?"]=r.cases["?"]||[],r.cases["?"].push({transclude:i,element:t})}}),ba=Zn({restrict:"EAC",link:function(e,t,n,i,o){if(!o)throw r("ngTransclude")("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",X(t));o(function(e){t.empty(),t.append(e)})}}),wa=["$templateCache",function(e){return{restrict:"E",terminal:!0,compile:function(t,n){if("text/ng-template"==n.type){var r=n.id,i=t[0].text;e.put(r,i)}}}}],xa={$setViewValue:$,$render:$},Sa=["$element","$scope","$attrs",function(e,r,i){var o=this,a=new Je;o.ngModelCtrl=xa,o.unknownOption=Er(t.createElement("option")),o.renderUnknownOption=function(t){var n="? "+Ye(t)+" ?";o.unknownOption.val(n),e.prepend(o.unknownOption),e.val(n)},r.$on("$destroy",function(){o.renderUnknownOption=$}),o.removeUnknownOption=function(){o.unknownOption.parent()&&o.unknownOption.remove()},o.readValue=function(){return o.removeUnknownOption(),e.val()},o.writeValue=function(t){o.hasOption(t)?(o.removeUnknownOption(),e.val(t),""===t&&o.emptyOption.prop("selected",!0)):null==t&&o.emptyOption?(o.removeUnknownOption(),e.val("")):o.renderUnknownOption(t)},o.addOption=function(e,t){pe(e,'"option value"'),""===e&&(o.emptyOption=t);var n=a.get(e)||0;a.put(e,n+1)},o.removeOption=function(e){var t=a.get(e);t&&(1===t?(a.remove(e),""===e&&(o.emptyOption=n)):a.put(e,t-1))},o.hasOption=function(e){return!!a.get(e)}}],Ea=function(){return{restrict:"E",require:["select","?ngModel"],controller:Sa,link:function(e,t,n,r){var i=r[1];if(i){var a=r[0];if(a.ngModelCtrl=i,i.$render=function(){a.writeValue(i.$viewValue)},t.on("change",function(){e.$apply(function(){i.$setViewValue(a.readValue())})}),n.multiple){a.readValue=function(){var e=[];return o(t.find("option"),function(t){t.selected&&e.push(t.value)}),e},a.writeValue=function(e){var n=new Je(e);o(t.find("option"),function(e){e.selected=b(n.get(e.value))})};var s,u=NaN;e.$watch(function(){u!==i.$viewValue||B(s,i.$viewValue)||(s=U(i.$viewValue),i.$render()),u=i.$viewValue}),i.$isEmpty=function(e){return!e||0===e.length}}}}}},Ca=["$interpolate",function(e){function t(e){e[0].hasAttribute("selected")&&(e[0].selected=!0)}return{restrict:"E",priority:100,compile:function(n,r){if(b(r.value))var i=e(r.value,!0);else{var o=e(n.text(),!0);o||r.$set("value",n.text())}return function(e,n,r){function a(e){c.addOption(e,n),c.ngModelCtrl.$render(),t(n)}var s="$selectController",u=n.parent(),c=u.data(s)||u.parent().data(s);if(c&&c.ngModelCtrl){if(i){var l;r.$observe("value",function(e){b(l)&&c.removeOption(l),l=e,a(e)})}else o?e.$watch(o,function(e,t){r.$set("value",e),t!==e&&c.removeOption(t),a(e)}):a(r.value);n.on("$destroy",function(){c.removeOption(r.value),c.ngModelCtrl.$render()})}}}}}],ka=m({restrict:"E",terminal:!1}),Aa=function(){return{restrict:"A",require:"?ngModel",link:function(e,t,n,r){r&&(n.required=!0,r.$validators.required=function(e,t){return!n.required||!r.$isEmpty(t)},n.$observe("required",function(){r.$validate()}))}}},Oa=function(){return{restrict:"A",require:"?ngModel",link:function(e,t,i,o){if(o){var a,s=i.ngPattern||i.pattern;i.$observe("pattern",function(e){if(S(e)&&e.length>0&&(e=new RegExp("^"+e+"$")),e&&!e.test)throw r("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",s,e,X(t));a=e||n,o.$validate()}),o.$validators.pattern=function(e,t){return o.$isEmpty(t)||y(a)||a.test(t)}}}}},Ma=function(){return{restrict:"A",require:"?ngModel",link:function(e,t,n,r){if(r){var i=-1;n.$observe("maxlength",function(e){var t=p(e);i=isNaN(t)?-1:t,r.$validate()}),r.$validators.maxlength=function(e,t){return 0>i||r.$isEmpty(t)||t.length<=i}}}}},Ta=function(){return{restrict:"A",require:"?ngModel",link:function(e,t,n,r){if(r){var i=0;n.$observe("minlength",function(e){i=p(e)||0,r.$validate()}),r.$validators.minlength=function(e,t){return r.$isEmpty(t)||t.length>=i}}}}};return e.angular.bootstrap?void console.log("WARNING: Tried to load angular more than once."):(le(),be(jr),jr.module("ngLocale",[],["$provide",function(e){function t(e){e+="";var t=e.indexOf(".");return-1==t?0:e.length-t-1}function r(e,r){var i=r;n===i&&(i=Math.min(t(e),3));var o=Math.pow(10,i),a=(e*o|0)%o;return{v:i,f:a}}var i={ZERO:"zero",ONE:"one",TWO:"two",FEW:"few",MANY:"many",OTHER:"other"};e.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],SHORTDAY:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],SHORTMONTH:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a","short":"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-¤",negSuf:"",posPre:"¤",posSuf:""}]},id:"en-us",pluralCat:function(e,t){var n=0|e,o=r(e,t);return 1==n&&0==o.v?i.ONE:i.OTHER}})}]),void Er(t).ready(function(){oe(t,ae)}))}(window,document),!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend(''); !function(e,r,t){"use strict";function n(){function e(e,t){return r.extend(Object.create(e),t)}function t(e,r){var t=r.caseInsensitiveMatch,n={originalPath:e,regexp:e},a=n.keys=[];return e=e.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)([\?\*])?/g,function(e,r,t,n){var o="?"===n?n:null,i="*"===n?n:null;return a.push({name:t,optional:!!o}),r=r||"",""+(o?"":r)+"(?:"+(o?r:"")+(i&&"(.+?)"||"([^/]+)")+(o||"")+")"+(o||"")}).replace(/([\/$\*])/g,"\\$1"),n.regexp=new RegExp("^"+e+"$",t?"i":""),n}var n={};this.when=function(e,a){var o=r.copy(a);if(r.isUndefined(o.reloadOnSearch)&&(o.reloadOnSearch=!0),r.isUndefined(o.caseInsensitiveMatch)&&(o.caseInsensitiveMatch=this.caseInsensitiveMatch),n[e]=r.extend(o,e&&t(e,o)),e){var i="/"==e[e.length-1]?e.substr(0,e.length-1):e+"/";n[i]=r.extend({redirectTo:e},t(i,o))}return this},this.caseInsensitiveMatch=!1,this.otherwise=function(e){return"string"==typeof e&&(e={redirectTo:e}),this.when(null,e),this},this.$get=["$rootScope","$location","$routeParams","$q","$injector","$templateRequest","$sce",function(t,a,o,i,c,l,s){function h(e,r){var t=r.keys,n={};if(!r.regexp)return null;var a=r.regexp.exec(e);if(!a)return null;for(var o=1,i=a.length;i>o;++o){var c=t[o-1],u=a[o];c&&u&&(n[c.name]=u)}return n}function $(e){var n=w.current;v=f(),m=v&&n&&v.$$route===n.$$route&&r.equals(v.pathParams,n.pathParams)&&!v.reloadOnSearch&&!g,m||!n&&!v||t.$broadcast("$routeChangeStart",v,n).defaultPrevented&&e&&e.preventDefault()}function p(){var e=w.current,n=v;m?(e.params=n.params,r.copy(e.params,o),t.$broadcast("$routeUpdate",e)):(n||e)&&(g=!1,w.current=n,n&&n.redirectTo&&(r.isString(n.redirectTo)?a.path(d(n.redirectTo,n.params)).search(n.params).replace():a.url(n.redirectTo(n.pathParams,a.path(),a.search())).replace()),i.when(n).then(function(){if(n){var e,t,a=r.extend({},n.resolve);return r.forEach(a,function(e,t){a[t]=r.isString(e)?c.get(e):c.invoke(e,null,null,t)}),r.isDefined(e=n.template)?r.isFunction(e)&&(e=e(n.params)):r.isDefined(t=n.templateUrl)&&(r.isFunction(t)&&(t=t(n.params)),r.isDefined(t)&&(n.loadedTemplateUrl=s.valueOf(t),e=l(t))),r.isDefined(e)&&(a.$template=e),i.all(a)}}).then(function(a){n==w.current&&(n&&(n.locals=a,r.copy(n.params,o)),t.$broadcast("$routeChangeSuccess",n,e))},function(r){n==w.current&&t.$broadcast("$routeChangeError",n,e,r)}))}function f(){var t,o;return r.forEach(n,function(n,i){!o&&(t=h(a.path(),n))&&(o=e(n,{params:r.extend({},a.search(),t),pathParams:t}),o.$$route=n)}),o||n[null]&&e(n[null],{params:{},pathParams:{}})}function d(e,t){var n=[];return r.forEach((e||"").split(":"),function(e,r){if(0===r)n.push(e);else{var a=e.match(/(\w+)(?:[?*])?(.*)/),o=a[1];n.push(t[o]),n.push(a[2]||""),delete t[o]}}),n.join("")}var v,m,g=!1,w={routes:n,reload:function(){g=!0,t.$evalAsync(function(){$(),p()})},updateParams:function(e){if(!this.current||!this.current.$$route)throw u("norout","Tried updating route when with no current route");e=r.extend({},this.current.params,e),a.path(d(this.current.$$route.originalPath,e)),a.search(e)}};return t.$on("$locationChangeStart",$),t.$on("$locationChangeSuccess",p),w}]}function a(){this.$get=function(){return{}}}function o(e,t,n){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(a,o,i,c,u){function l(){p&&(n.cancel(p),p=null),h&&(h.$destroy(),h=null),$&&(p=n.leave($),p.then(function(){p=null}),$=null)}function s(){var i=e.current&&e.current.locals,c=i&&i.$template;if(r.isDefined(c)){var s=a.$new(),p=e.current,v=u(s,function(e){n.enter(e,null,$||o).then(function(){!r.isDefined(f)||f&&!a.$eval(f)||t()}),l()});$=v,h=p.scope=s,h.$emit("$viewContentLoaded"),h.$eval(d)}else l()}var h,$,p,f=i.autoscroll,d=i.onload||"";a.$on("$routeChangeSuccess",s),s()}}}function i(e,r,t){return{restrict:"ECA",priority:-400,link:function(n,a){var o=t.current,i=o.locals;a.html(i.$template);var c=e(a.contents());if(o.controller){i.$scope=n;var u=r(o.controller,i);o.controllerAs&&(n[o.controllerAs]=u),a.data("$ngControllerController",u),a.children().data("$ngControllerController",u)}c(n)}}}var c=r.module("ngRoute",["ng"]).provider("$route",n),u=r.$$minErr("ngRoute");c.provider("$routeParams",a),c.directive("ngView",o),c.directive("ngView",i),o.$inject=["$route","$anchorScroll","$animate"],i.$inject=["$compile","$controller","$route"]}(window,window.angular); -!function(e,n,o){"use strict";function t(e,o,t){function i(e,t,i){var u,c;i=i||{},c=i.expires,u=n.isDefined(i.path)?i.path:r,n.isUndefined(t)&&(c="Thu, 01 Jan 1970 00:00:00 GMT",t=""),n.isString(c)&&(c=new Date(c));var s=encodeURIComponent(e)+"="+encodeURIComponent(t);s+=u?";path="+u:"",s+=i.domain?";domain="+i.domain:"",s+=c?";expires="+c.toUTCString():"",s+=i.secure?";secure":"";var f=s.length+1;return f>4096&&o.warn("Cookie '"+e+"' possibly not set or overflowed because it was too large ("+f+" > 4096 bytes)!"),s}var r=t.baseHref(),u=e[0];return function(e,n,o){u.cookie=i(e,n,o)}}n.module("ngCookies",["ng"]).provider("$cookies",[function(){function e(e){return e?n.extend({},t,e):t}var t=this.defaults={};this.$get=["$$cookieReader","$$cookieWriter",function(t,i){return{get:function(e){return t()[e]},getObject:function(e){var o=this.get(e);return o?n.fromJson(o):o},getAll:function(){return t()},put:function(n,o,t){i(n,o,e(t))},putObject:function(e,o,t){this.put(e,n.toJson(o),t)},remove:function(n,t){i(n,o,e(t))}}}]}]),n.module("ngCookies").factory("$cookieStore",["$cookies",function(e){return{get:function(n){return e.getObject(n)},put:function(n,o){e.putObject(n,o)},remove:function(n){e.remove(n)}}}]),t.$inject=["$document","$log","$browser"],n.module("ngCookies").provider("$$cookieWriter",function(){this.$get=t})}(window,window.angular); !function(e,t,r){"use strict";function n(e){var r=[];return l(r,t.noop).chars(e),r.join("")}function a(e,r){var n,a={},i=e.split(",");for(n=0;n=0&&b[i]!=n;i--);if(i>=0){for(a=b.length-1;a>=i;a--)r.end&&r.end(b[a]);b.length=i}}"string"!=typeof e&&(e=null===e||"undefined"==typeof e?"":""+e);var i,o,l,b=[],k=e;for(b.last=function(){return b[b.length-1]};e;){if(l="",o=!0,b.last()&&$[b.last()]?(e=e.replace(new RegExp("([\\W\\w]*)<\\s*\\/\\s*"+b.last()+"[^>]*>","i"),function(e,t){return t=t.replace(f,"$1").replace(x,"$1"),r.chars&&r.chars(s(t)),""}),a("",b.last())):(0===e.indexOf("",i)===i&&(r.comment&&r.comment(e.substring(4,i)),e=e.substring(i+3),o=!1)):m.test(e)?(i=e.match(m))&&(e=e.replace(i[0],""),o=!1):g.test(e)?(i=e.match(p))&&(e=e.substring(i[0].length),i[0].replace(p,a),o=!1):d.test(e)&&((i=e.match(u))?(i[4]&&(e=e.substring(i[0].length),i[0].replace(u,n)),o=!1):(l+="<",e=e.substring(1))),o&&(i=e.indexOf("<"),l+=0>i?e:e.substring(0,i),e=0>i?"":e.substring(i),r.chars&&r.chars(s(l)))),e==k)throw c("badparse",e);k=e}a()}function s(e){return e?(E.innerHTML=e.replace(//g,">")}function l(e,r){var n=!1,a=t.bind(e,e.push);return{start:function(e,i,s){e=t.lowercase(e),!n&&$[e]&&(n=e),n||!0!==A[e]||(a("<"),a(e),t.forEach(i,function(n,i){var s=t.lowercase(i),l="img"===e&&"src"===s||"background"===s;!0!==D[s]||!0===C[s]&&!r(n,l)||(a(" "),a(i),a('="'),a(o(n)),a('"'))}),a(s?"/>":">"))},end:function(e){e=t.lowercase(e),n||!0!==A[e]||(a("")),e==n&&(n=!1)},chars:function(e){n||a(o(e))}}}var c=t.$$minErr("$sanitize"),u=/^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/,p=/^<\/\s*([\w:-]+)[^>]*>/,h=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,d=/^]*?)>/i,x=/"\u201d\u2019]/i,a=/^mailto:/i;return function(i,s){function o(e){e&&d.push(n(e))}function l(e,r){d.push("'),o(r),d.push("")}if(!i)return i;for(var c,u,p,h=i,d=[];c=h.match(r);)u=c[0],c[2]||c[4]||(u=(c[3]?"http://":"mailto:")+u),p=c.index,o(h.substr(0,p)),l(u,c[0].replace(a,"")),h=h.substring(p+c[0].length);return o(h),e(d.join(""))}}])}(window,window.angular); \ No newline at end of file diff --git a/public/javascripts/wechat/gulpfile.js b/public/javascripts/wechat/gulpfile.js index a6726bd22..439b6ae5d 100644 --- a/public/javascripts/wechat/gulpfile.js +++ b/public/javascripts/wechat/gulpfile.js @@ -3,7 +3,7 @@ var gulp = require('gulp'), var concat = require('gulp-concat'); gulp.task('minify', function () { - gulp.src(['angular.js', 'angular-route.js', 'angular-cookies.js', 'angular-sanitize.min.js']) + gulp.src(['../jquery-1.3.2.js','angular.js', 'angular-route.js', 'angular-sanitize.min.js']) .pipe(uglify()) .pipe(concat('angular.all.min.js')) .pipe(gulp.dest('build')) diff --git a/public/javascripts/wechat/jquery.min.js b/public/javascripts/wechat/jquery.min.js deleted file mode 100644 index c4643af62..000000000 --- a/public/javascripts/wechat/jquery.min.js +++ /dev/null @@ -1,5 +0,0 @@ -/*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.1",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="
            ",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b) -},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*\s*$/g,ib={option:[1,""],thead:[1,"","
            "],col:[2,"","
            "],tr:[2,"","
            "],td:[3,"","
            "],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("