diff --git a/InstallPackages/00_jQuery.cycle2.core_2.1.5.zip b/InstallPackages/00_jQuery.cycle2.core_2.1.5.zip
new file mode 100644
index 00000000..556a555b
Binary files /dev/null and b/InstallPackages/00_jQuery.cycle2.core_2.1.5.zip differ
diff --git a/InstallPackages/01_jQuery.cycle2.tmpl_2.1.5.zip b/InstallPackages/01_jQuery.cycle2.tmpl_2.1.5.zip
new file mode 100644
index 00000000..8b464f4d
Binary files /dev/null and b/InstallPackages/01_jQuery.cycle2.tmpl_2.1.5.zip differ
diff --git a/InstallPackages/02_jQuery.cycle2.autoheight_2.1.5.zip b/InstallPackages/02_jQuery.cycle2.autoheight_2.1.5.zip
new file mode 100644
index 00000000..788a6143
Binary files /dev/null and b/InstallPackages/02_jQuery.cycle2.autoheight_2.1.5.zip differ
diff --git a/InstallPackages/02_jQuery.cycle2.caption_2.1.5.zip b/InstallPackages/02_jQuery.cycle2.caption_2.1.5.zip
new file mode 100644
index 00000000..a8e1de62
Binary files /dev/null and b/InstallPackages/02_jQuery.cycle2.caption_2.1.5.zip differ
diff --git a/InstallPackages/02_jQuery.cycle2.command_2.1.5.zip b/InstallPackages/02_jQuery.cycle2.command_2.1.5.zip
new file mode 100644
index 00000000..f90ba737
Binary files /dev/null and b/InstallPackages/02_jQuery.cycle2.command_2.1.5.zip differ
diff --git a/InstallPackages/02_jQuery.cycle2.hash_2.1.5.zip b/InstallPackages/02_jQuery.cycle2.hash_2.1.5.zip
new file mode 100644
index 00000000..4d8ee174
Binary files /dev/null and b/InstallPackages/02_jQuery.cycle2.hash_2.1.5.zip differ
diff --git a/InstallPackages/02_jQuery.cycle2.loader_2.1.5.zip b/InstallPackages/02_jQuery.cycle2.loader_2.1.5.zip
new file mode 100644
index 00000000..223143ec
Binary files /dev/null and b/InstallPackages/02_jQuery.cycle2.loader_2.1.5.zip differ
diff --git a/InstallPackages/02_jQuery.cycle2.pager_2.1.5.zip b/InstallPackages/02_jQuery.cycle2.pager_2.1.5.zip
new file mode 100644
index 00000000..762cd768
Binary files /dev/null and b/InstallPackages/02_jQuery.cycle2.pager_2.1.5.zip differ
diff --git a/InstallPackages/02_jQuery.cycle2.prevnext_2.1.5.zip b/InstallPackages/02_jQuery.cycle2.prevnext_2.1.5.zip
new file mode 100644
index 00000000..7b3227e5
Binary files /dev/null and b/InstallPackages/02_jQuery.cycle2.prevnext_2.1.5.zip differ
diff --git a/InstallPackages/02_jQuery.cycle2.progressive_2.1.5.zip b/InstallPackages/02_jQuery.cycle2.progressive_2.1.5.zip
new file mode 100644
index 00000000..6c9d51d6
Binary files /dev/null and b/InstallPackages/02_jQuery.cycle2.progressive_2.1.5.zip differ
diff --git a/InstallPackages/03_jQuery.cycle2_2.1.5.zip b/InstallPackages/03_jQuery.cycle2_2.1.5.zip
new file mode 100644
index 00000000..af19873f
Binary files /dev/null and b/InstallPackages/03_jQuery.cycle2_2.1.5.zip differ
diff --git a/InstallPackages/bootstrap.accessibility_1.0.2.zip b/InstallPackages/bootstrap.accessibility_1.0.2.zip
new file mode 100644
index 00000000..0adce0fa
Binary files /dev/null and b/InstallPackages/bootstrap.accessibility_1.0.2.zip differ
diff --git a/InstallPackages/bootstrap.accessibility_1.0.3.zip b/InstallPackages/bootstrap.accessibility_1.0.3.zip
new file mode 100644
index 00000000..31a13a95
Binary files /dev/null and b/InstallPackages/bootstrap.accessibility_1.0.3.zip differ
diff --git a/InstallPackages/html5shiv_3.7.2.zip b/InstallPackages/html5shiv_3.7.2.zip
new file mode 100644
index 00000000..2bdfc63d
Binary files /dev/null and b/InstallPackages/html5shiv_3.7.2.zip differ
diff --git a/InstallPackages/jquery.cycle2.caption2_2.1.5.zip b/InstallPackages/jquery.cycle2.caption2_2.1.5.zip
new file mode 100644
index 00000000..f63fa9cf
Binary files /dev/null and b/InstallPackages/jquery.cycle2.caption2_2.1.5.zip differ
diff --git a/InstallPackages/jquery.cycle2.carousel_2.1.5.zip b/InstallPackages/jquery.cycle2.carousel_2.1.5.zip
new file mode 100644
index 00000000..b67a6268
Binary files /dev/null and b/InstallPackages/jquery.cycle2.carousel_2.1.5.zip differ
diff --git a/InstallPackages/jquery.cycle2.center_2.1.5.zip b/InstallPackages/jquery.cycle2.center_2.1.5.zip
new file mode 100644
index 00000000..bc193248
Binary files /dev/null and b/InstallPackages/jquery.cycle2.center_2.1.5.zip differ
diff --git a/InstallPackages/jquery.cycle2.flip_2.1.5.zip b/InstallPackages/jquery.cycle2.flip_2.1.5.zip
new file mode 100644
index 00000000..011728fd
Binary files /dev/null and b/InstallPackages/jquery.cycle2.flip_2.1.5.zip differ
diff --git a/InstallPackages/jquery.cycle2.ie-fade_2.1.5.zip b/InstallPackages/jquery.cycle2.ie-fade_2.1.5.zip
new file mode 100644
index 00000000..ca115a25
Binary files /dev/null and b/InstallPackages/jquery.cycle2.ie-fade_2.1.5.zip differ
diff --git a/InstallPackages/jquery.cycle2.scrollVert_2.1.5.zip b/InstallPackages/jquery.cycle2.scrollVert_2.1.5.zip
new file mode 100644
index 00000000..03f7d1d0
Binary files /dev/null and b/InstallPackages/jquery.cycle2.scrollVert_2.1.5.zip differ
diff --git a/InstallPackages/jquery.cycle2.shuffle_2.1.5.zip b/InstallPackages/jquery.cycle2.shuffle_2.1.5.zip
new file mode 100644
index 00000000..2d938c43
Binary files /dev/null and b/InstallPackages/jquery.cycle2.shuffle_2.1.5.zip differ
diff --git a/InstallPackages/jquery.cycle2.swipe_2.1.5.zip b/InstallPackages/jquery.cycle2.swipe_2.1.5.zip
new file mode 100644
index 00000000..ab4f621b
Binary files /dev/null and b/InstallPackages/jquery.cycle2.swipe_2.1.5.zip differ
diff --git a/InstallPackages/jquery.cycle2.tile_2.1.5.zip b/InstallPackages/jquery.cycle2.tile_2.1.5.zip
new file mode 100644
index 00000000..f417ba5e
Binary files /dev/null and b/InstallPackages/jquery.cycle2.tile_2.1.5.zip differ
diff --git a/InstallPackages/jquery.cycle2.video_2.1.5.zip b/InstallPackages/jquery.cycle2.video_2.1.5.zip
new file mode 100644
index 00000000..723f2a2b
Binary files /dev/null and b/InstallPackages/jquery.cycle2.video_2.1.5.zip differ
diff --git a/InstallPackages/jquery.tcycle_2.1.5.zip b/InstallPackages/jquery.tcycle_2.1.5.zip
new file mode 100644
index 00000000..f59c1d69
Binary files /dev/null and b/InstallPackages/jquery.tcycle_2.1.5.zip differ
diff --git a/InstallPackages/knockout.validation_2.0.0-pre.3.zip b/InstallPackages/knockout.validation_2.0.0-pre.3.zip
new file mode 100644
index 00000000..0d7a2c38
Binary files /dev/null and b/InstallPackages/knockout.validation_2.0.0-pre.3.zip differ
diff --git a/InstallPackages/zeroclipboard_1.3.5.zip b/InstallPackages/zeroclipboard_1.3.5.zip
index c068df9a..075707e2 100644
Binary files a/InstallPackages/zeroclipboard_1.3.5.zip and b/InstallPackages/zeroclipboard_1.3.5.zip differ
diff --git a/bootstrap.accessibility/bootstrap.accessibility_1.0.2/CHANGES.htm b/bootstrap.accessibility/bootstrap.accessibility_1.0.2/CHANGES.htm
new file mode 100644
index 00000000..c35d3042
--- /dev/null
+++ b/bootstrap.accessibility/bootstrap.accessibility_1.0.2/CHANGES.htm
@@ -0,0 +1,16 @@
+
+
+
Version 1.0.2
+
Initial release, provides accessibility for:
+
+
Alert
+
Tooltip
+
Popover
+
Modal dialog
+
Dropdown menu
+
Tab panel
+
Collapse
+
Carousel
+
+
+
\ No newline at end of file
diff --git a/bootstrap.accessibility/bootstrap.accessibility_1.0.2/LICENSE.htm b/bootstrap.accessibility/bootstrap.accessibility_1.0.2/LICENSE.htm
new file mode 100644
index 00000000..090b5eff
--- /dev/null
+++ b/bootstrap.accessibility/bootstrap.accessibility_1.0.2/LICENSE.htm
@@ -0,0 +1 @@
+
Copyright 2014, eBay Software Foundation under the BSD license.
\ No newline at end of file
diff --git a/bootstrap.accessibility/bootstrap.accessibility_1.0.2/Resources.zip b/bootstrap.accessibility/bootstrap.accessibility_1.0.2/Resources.zip
new file mode 100644
index 00000000..825d8440
Binary files /dev/null and b/bootstrap.accessibility/bootstrap.accessibility_1.0.2/Resources.zip differ
diff --git a/bootstrap.accessibility/bootstrap.accessibility_1.0.2/bootstrap-accessibility.js b/bootstrap.accessibility/bootstrap.accessibility_1.0.2/bootstrap-accessibility.js
new file mode 100644
index 00000000..c43363a9
--- /dev/null
+++ b/bootstrap.accessibility/bootstrap.accessibility_1.0.2/bootstrap-accessibility.js
@@ -0,0 +1,406 @@
+/* ========================================================================
+* Extends Bootstrap v3.1.1
+
+* Copyright (c) <2014> eBay Software Foundation
+
+* All rights reserved.
+
+* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+* Neither the name of eBay or any of its subsidiaries or affiliates nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+* ======================================================================== */
+
+(function($) {
+ "use strict";
+
+ var uniqueId = function(prefix) {
+ return (prefix || 'ui-id') + '-' + Math.floor((Math.random()*1000)+1)
+ }
+
+ // Alert Extension
+ // ===============================
+
+ $('.alert').attr('role', 'alert')
+ $('.close').removeAttr('aria-hidden').wrapInner('').append('Close')
+
+ // TOOLTIP Extension
+ // ===============================
+
+ var showTooltip = $.fn.tooltip.Constructor.prototype.show
+ , hideTooltip = $.fn.tooltip.Constructor.prototype.hide
+
+ $.fn.tooltip.Constructor.prototype.show = function () {
+ showTooltip.apply(this, arguments)
+ var $tip = this.tip()
+ , tooltipID = $tip.attr('id') || uniqueId('ui-tooltip')
+ $tip.attr({'role':'tooltip','id' : tooltipID})
+ this.$element.attr('aria-describedby', tooltipID)
+ }
+
+ $.fn.tooltip.Constructor.prototype.hide = function () {
+ hideTooltip.apply(this, arguments)
+ removeMultiValAttributes(this.$element, 'aria-describedby', this.tip().attr('id'))
+ return this
+ }
+
+ // Popover Extension
+ // ===============================
+ var showPopover = $.fn.popover.Constructor.prototype.setContent
+ , hideTPopover = $.fn.popover.Constructor.prototype.hide
+
+ $.fn.popover.Constructor.prototype.setContent = function(){
+ showPopover.apply(this, arguments)
+ var $tip = this.tip()
+ , tooltipID = $tip.attr('id') || uniqueId('ui-tooltip')
+ $tip.attr({'role':'alert','id' : tooltipID})
+ this.$element.attr('aria-describedby', tooltipID)
+ this.$element.focus()
+ }
+ $.fn.popover.Constructor.prototype.hide = function(){
+ hideTooltip.apply(this, arguments)
+ removeMultiValAttributes(this.$element, 'aria-describedby', this.tip().attr('id'))
+ }
+
+ //Modal Extension
+ $('.modal-dialog').attr( {'role' : 'document'})
+ var modalhide = $.fn.modal.Constructor.prototype.hide
+ $.fn.modal.Constructor.prototype.hide = function(){
+ var modalOpener = this.$element.parent().find('[data-target="#' + this.$element.attr('id') + '"]')
+ modalhide.apply(this, arguments)
+ modalOpener.focus()
+ }
+
+ // DROPDOWN Extension
+ // ===============================
+
+ var toggle = '[data-toggle=dropdown]'
+ , $par
+ , firstItem
+ , focusDelay = 200
+ , menus = $(toggle).parent().find('ul').attr('role','menu')
+ , lis = menus.find('li').attr('role','presentation')
+
+ lis.find('a').attr({'role':'menuitem', 'tabIndex':'-1'})
+ $(toggle).attr({ 'aria-haspopup':'true', 'aria-expanded': 'false'})
+
+ $(toggle).parent().on('shown.bs.dropdown',function(e){
+ $par = $(this)
+ var $toggle = $par.find(toggle)
+ $toggle.attr('aria-expanded','true')
+
+ setTimeout(function(){
+ firstItem = $('.dropdown-menu [role=menuitem]:visible', $par)[0]
+ try{ firstItem.focus()} catch(ex) {}
+ }, focusDelay)
+ })
+
+ $(toggle).parent().on('hidden.bs.dropdown',function(e){
+ $par = $(this)
+ var $toggle = $par.find(toggle)
+ $toggle.attr('aria-expanded','false')
+ })
+
+ //Adding Space Key Behaviour, opens on spacebar
+ $.fn.dropdown.Constructor.prototype.keydown = function (e) {
+ var $par
+ , firstItem
+ if (!/(32)/.test(e.keyCode)) return
+ $par = $(this).parent()
+ $(this).trigger ("click")
+ e.preventDefault() && e.stopPropagation()
+ }
+
+ $(document)
+ .on('focusout.dropdown.data-api', '.dropdown-menu', function(e){
+ var $this = $(this)
+ , that = this
+ setTimeout(function() {
+ if(!$.contains(that, document.activeElement)){
+ $this.parent().removeClass('open')
+ $this.parent().find('[data-toggle=dropdown]').attr('aria-expanded','false')
+ }
+ }, 150)
+ })
+ .on('keydown.bs.dropdown.data-api', toggle + ', [role=menu]' , $.fn.dropdown.Constructor.prototype.keydown)
+
+
+ // Tab Extension
+ // ===============================
+
+ var $tablist = $('.nav-tabs')
+ , $lis = $tablist.children('li')
+ , $tabs = $tablist.find('[data-toggle="tab"], [data-toggle="pill"]')
+
+ $tablist.attr('role', 'tablist')
+ $lis.attr('role', 'presentation')
+ $tabs.attr('role', 'tab')
+
+ $tabs.each(function( index ) {
+ var tabpanel = $($(this).attr('href'))
+ , tab = $(this)
+ , tabid = tab.attr('id') || uniqueId('ui-tab')
+
+ tab.attr('id', tabid)
+
+ if(tab.parent().hasClass('active')){
+ tab.attr( { 'tabIndex' : '0', 'aria-expanded' : 'true', 'aria-selected' : 'true', 'aria-controls': tab.attr('href').substr(1) } )
+ tabpanel.attr({ 'role' : 'tabpanel', 'tabIndex' : '0', 'aria-hidden' : 'false', 'aria-labelledby':tabid })
+ }else{
+ tab.attr( { 'tabIndex' : '-1', 'aria-expanded' : 'false', 'aria-selected' : 'false', 'aria-controls': tab.attr('href').substr(1) } )
+ tabpanel.attr( { 'role' : 'tabpanel', 'tabIndex' : '-1', 'aria-hidden' : 'true', 'aria-labelledby':tabid } )
+ }
+ })
+
+ $.fn.tab.Constructor.prototype.keydown = function (e) {
+ var $this = $(this)
+ , $items
+ , $ul = $this.closest('ul[role=tablist] ')
+ , index
+ , k = e.which || e.keyCode
+
+ $this = $(this)
+ if (!/(37|38|39|40)/.test(k)) return
+
+ $items = $ul.find('[role=tab]:visible')
+ index = $items.index($items.filter(':focus'))
+
+ if (k == 38 || k == 37) index-- // up & left
+ if (k == 39 || k == 40) index++ // down & right
+
+
+ if(index < 0) index = $items.length -1
+ if(index == $items.length) index = 0
+
+ var nextTab = $items.eq(index)
+ if(nextTab.attr('role') ==='tab'){
+
+ nextTab.tab('show') //Comment this line for dynamically loaded tabPabels, to save Ajax requests on arrow key navigation
+ .focus()
+ }
+ // nextTab.focus()
+
+ e.preventDefault()
+ e.stopPropagation()
+ }
+
+ $(document).on('keydown.tab.data-api','[data-toggle="tab"], [data-toggle="pill"]' , $.fn.tab.Constructor.prototype.keydown)
+
+ var tabactivate = $.fn.tab.Constructor.prototype.activate;
+ $.fn.tab.Constructor.prototype.activate = function (element, container, callback) {
+ var $active = container.find('> .active')
+ $active.find('[data-toggle=tab]').attr({ 'tabIndex' : '-1','aria-selected' : false,'aria-expanded' : false })
+ $active.filter('.tab-pane').attr({ 'aria-hidden' : true,'tabIndex' : '-1' })
+
+ tabactivate.apply(this, arguments)
+
+ element.addClass('active')
+ element.find('[data-toggle=tab]').attr({ 'tabIndex' : '0','aria-selected' : true,'aria-expanded' : true })
+ element.filter('.tab-pane').attr({ 'aria-hidden' : false,'tabIndex' : '0' })
+ }
+
+
+ // Collapse Extension
+ // ===============================
+
+ var $colltabs = $('[data-toggle="collapse"]')
+ $colltabs.attr({ 'role':'tab', 'aria-selected':'false', 'aria-expanded':'false' })
+ $colltabs.each(function( index ) {
+ var colltab = $(this)
+ , collpanel = (colltab.attr('data-target')) ? $(colltab.attr('data-target')) : $(colltab.attr('href'))
+ , parent = colltab.attr('data-parent')
+ , collparent = parent && $(parent)
+ , collid = colltab.attr('id') || uniqueId('ui-collapse')
+
+ $(collparent).find('div:not(.collapse,.panel-body), h4').attr('role','presentation')
+
+ colltab.attr('id', collid)
+ if(collparent){
+ collparent.attr({ 'role' : 'tablist', 'aria-multiselectable' : 'true' })
+ if(collpanel.hasClass('in')){
+ colltab.attr({ 'aria-controls': colltab.attr('href').substr(1), 'aria-selected':'true', 'aria-expanded':'true', 'tabindex':'0' })
+ collpanel.attr({ 'role':'tabpanel', 'tabindex':'0', 'aria-labelledby':collid, 'aria-hidden':'false' })
+ }else{
+ colltab.attr({'aria-controls' : colltab.attr('href').substr(1), 'tabindex':'-1' })
+ collpanel.attr({ 'role':'tabpanel', 'tabindex':'-1', 'aria-labelledby':collid, 'aria-hidden':'true' })
+ }
+ }
+ })
+
+ var collToggle = $.fn.collapse.Constructor.prototype.toggle
+ $.fn.collapse.Constructor.prototype.toggle = function(){
+ var prevTab = this.$parent && this.$parent.find('[aria-expanded="true"]') , href
+
+ if(prevTab){
+ var prevPanel = prevTab.attr('data-target') || (href = prevTab.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')
+ , $prevPanel = $(prevPanel)
+ , $curPanel = this.$element
+ , par = this.$parent
+ , curTab
+
+ if (this.$parent) curTab = this.$parent.find('[data-toggle=collapse][href="#' + this.$element.attr('id') + '"]')
+
+ collToggle.apply(this, arguments)
+
+ if ($.support.transition) {
+ this.$element.one($.support.transition.end, function(){
+
+ prevTab.attr({ 'aria-selected':'false','aria-expanded':'false', 'tabIndex':'-1' })
+ $prevPanel.attr({ 'aria-hidden' : 'true','tabIndex' : '-1'})
+
+ curTab.attr({ 'aria-selected':'true','aria-expanded':'true', 'tabIndex':'0' })
+
+ if($curPanel.hasClass('in')){
+ $curPanel.attr({ 'aria-hidden' : 'false','tabIndex' : '0' })
+ }else{
+ curTab.attr({ 'aria-selected':'false','aria-expanded':'false'})
+ $curPanel.attr({ 'aria-hidden' : 'true','tabIndex' : '-1' })
+ }
+ })
+ }
+ }else{
+ collToggle.apply(this, arguments)
+ }
+ }
+
+ $.fn.collapse.Constructor.prototype.keydown = function (e) {
+ var $this = $(this)
+ , $items
+ , $tablist = $this.closest('div[role=tablist] ')
+ , index
+ , k = e.which || e.keyCode
+
+ $this = $(this)
+ if (!/(32|37|38|39|40)/.test(k)) return
+ if(k==32) $this.click()
+
+ $items = $tablist.find('[role=tab]')
+ index = $items.index($items.filter(':focus'))
+
+ if (k == 38 || k == 37) index-- // up & left
+ if (k == 39 || k == 40) index++ // down & right
+ if(index < 0) index = $items.length -1
+ if(index == $items.length) index = 0
+
+ $items.eq(index).focus()
+
+ e.preventDefault()
+ e.stopPropagation()
+
+ }
+
+ $(document).on('keydown.collapse.data-api','[data-toggle="collapse"]' , $.fn.collapse.Constructor.prototype.keydown)
+
+ // Carousel Extension
+ // ===============================
+
+ $('.carousel').each(function (index) {
+ var $this = $(this)
+ , prev = $this.find('[data-slide="prev"]')
+ , next = $this.find('[data-slide="next"]')
+ , $options = $this.find('.item')
+ , $listbox = $options.parent()
+
+ $this.attr( { 'data-interval' : 'false', 'data-wrap' : 'false' } )
+ $listbox.attr('role', 'listbox')
+ $options.attr('role', 'option')
+
+ var spanPrev = document.createElement('span')
+ spanPrev.setAttribute('class', 'sr-only')
+ spanPrev.innerHTML='Previous'
+
+ var spanNext = document.createElement('span')
+ spanNext.setAttribute('class', 'sr-only')
+ spanNext.innerHTML='Next'
+
+ prev.attr('role', 'button')
+ next.attr('role', 'button')
+
+ prev.append(spanPrev)
+ next.append(spanNext)
+
+ $options.each(function () {
+ var item = $(this)
+ if(item.hasClass('active')){
+ item.attr({ 'aria-selected': 'true', 'tabindex' : '0' })
+ }else{
+ item.attr({ 'aria-selected': 'false', 'tabindex' : '-1' })
+ }
+ })
+ })
+
+ var slideCarousel = $.fn.carousel.Constructor.prototype.slide
+ $.fn.carousel.Constructor.prototype.slide = function (type, next) {
+ var $active = this.$element.find('.item.active')
+ , $next = next || $active[type]()
+
+ slideCarousel.apply(this, arguments)
+
+ $active
+ .one($.support.transition.end, function () {
+ $active.attr({'aria-selected':false, 'tabIndex': '-1'})
+ $next.attr({'aria-selected':true, 'tabIndex': '0'})
+ //.focus()
+ })
+ }
+
+ $.fn.carousel.Constructor.prototype.keydown = function (e) {
+ var $this = $(this)
+ , $ul = $this.closest('div[role=listbox]')
+ , $items = $ul.find('[role=option]')
+ , $parent = $ul.parent()
+ , k = e.which || e.keyCode
+ , index
+ , i
+
+ if (!/(37|38|39|40)/.test(k)) return
+
+ index = $items.index($items.filter('.active'))
+ if (k == 37 || k == 38) { // Up
+ $parent.carousel('prev')
+ index--
+ if(index < 0) index = $items.length -1
+ else $this.prev().focus()
+
+ }
+ if (k == 39 || k == 40) { // Down
+ $parent.carousel('next')
+ index++
+ if(index == $items.length) index = 0
+ else {
+ $this.one($.support.transition.end, function () {
+ $this.next().focus()
+ })
+ }
+
+ }
+
+ e.preventDefault()
+ e.stopPropagation()
+ }
+ $(document).on('keydown.carousel.data-api', 'div[role=option]', $.fn.carousel.Constructor.prototype.keydown)
+
+ // GENERAL UTILITY FUNCTIONS
+ // ===============================
+
+ var removeMultiValAttributes = function (el, attr, val) {
+ var describedby = (el.attr( attr ) || "").split( /\s+/ )
+ , index = $.inArray(val, describedby)
+ if ( index !== -1 ) {
+ describedby.splice( index, 1 )
+ }
+ describedby = $.trim( describedby.join( " " ) )
+ if (describedby ) {
+ el.attr( attr, describedby )
+ } else {
+ el.removeAttr( attr )
+ }
+ }
+
+
+})(jQuery);
diff --git a/bootstrap.accessibility/bootstrap.accessibility_1.0.2/bootstrap.accessibility.dnn b/bootstrap.accessibility/bootstrap.accessibility_1.0.2/bootstrap.accessibility.dnn
new file mode 100644
index 00000000..3abf47b2
--- /dev/null
+++ b/bootstrap.accessibility/bootstrap.accessibility_1.0.2/bootstrap.accessibility.dnn
@@ -0,0 +1,45 @@
+
+
+
+ Bootstrap Accessibility Plugin
+ http://paypal.github.io/bootstrap-accessibility-plugin/demo.html]]>
+
+ Engage Software
+ Engage Software
+ http://www.engagesoftware.com
+ support@engagesoftware.com
+
+
+
+ true
+
+ jQuery
+
+
+
+
+ bootstrap.accessibility
+ bootstrap-accessibility.js
+ BodyBottom
+
+
+
+
+ bootstrap.accessibility
+
+ bootstrap-accessibility.js
+
+
+
+
+
+ Resources\Libraries\bootstrap.accessibility\1.0.2
+
+ Resources.zip
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bootstrap.accessibility/bootstrap.accessibility_1.0.3/CHANGES.htm b/bootstrap.accessibility/bootstrap.accessibility_1.0.3/CHANGES.htm
new file mode 100644
index 00000000..c35d3042
--- /dev/null
+++ b/bootstrap.accessibility/bootstrap.accessibility_1.0.3/CHANGES.htm
@@ -0,0 +1,16 @@
+
+
+
Version 1.0.2
+
Initial release, provides accessibility for:
+
+
Alert
+
Tooltip
+
Popover
+
Modal dialog
+
Dropdown menu
+
Tab panel
+
Collapse
+
Carousel
+
+
+
\ No newline at end of file
diff --git a/bootstrap.accessibility/bootstrap.accessibility_1.0.3/LICENSE.htm b/bootstrap.accessibility/bootstrap.accessibility_1.0.3/LICENSE.htm
new file mode 100644
index 00000000..090b5eff
--- /dev/null
+++ b/bootstrap.accessibility/bootstrap.accessibility_1.0.3/LICENSE.htm
@@ -0,0 +1 @@
+
Copyright 2014, eBay Software Foundation under the BSD license.
\ No newline at end of file
diff --git a/bootstrap.accessibility/bootstrap.accessibility_1.0.3/Resources.zip b/bootstrap.accessibility/bootstrap.accessibility_1.0.3/Resources.zip
new file mode 100644
index 00000000..3d1381fb
Binary files /dev/null and b/bootstrap.accessibility/bootstrap.accessibility_1.0.3/Resources.zip differ
diff --git a/bootstrap.accessibility/bootstrap.accessibility_1.0.3/bootstrap-accessibility.js b/bootstrap.accessibility/bootstrap.accessibility_1.0.3/bootstrap-accessibility.js
new file mode 100644
index 00000000..d4576110
--- /dev/null
+++ b/bootstrap.accessibility/bootstrap.accessibility_1.0.3/bootstrap-accessibility.js
@@ -0,0 +1,407 @@
+/* ========================================================================
+* Extends Bootstrap v3.1.1
+
+* Copyright (c) <2014> eBay Software Foundation
+
+* All rights reserved.
+
+* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+* Neither the name of eBay or any of its subsidiaries or affiliates nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+* ======================================================================== */
+
+
+ (function($) {
+ "use strict";
+
+ // GENERAL UTILITY FUNCTIONS
+ // ===============================
+
+ var uniqueId = function(prefix) {
+ return (prefix || 'ui-id') + '-' + Math.floor((Math.random()*1000)+1)
+ }
+
+
+ var removeMultiValAttributes = function (el, attr, val) {
+ var describedby = (el.attr( attr ) || "").split( /\s+/ )
+ , index = $.inArray(val, describedby)
+ if ( index !== -1 ) {
+ describedby.splice( index, 1 )
+ }
+ describedby = $.trim( describedby.join( " " ) )
+ if (describedby ) {
+ el.attr( attr, describedby )
+ } else {
+ el.removeAttr( attr )
+ }
+ }
+// Alert Extension
+// ===============================
+
+$('.alert').attr('role', 'alert')
+$('.close').removeAttr('aria-hidden').wrapInner('').append('Close')
+
+ // TOOLTIP Extension
+ // ===============================
+
+ var showTooltip = $.fn.tooltip.Constructor.prototype.show
+ , hideTooltip = $.fn.tooltip.Constructor.prototype.hide
+
+ $.fn.tooltip.Constructor.prototype.show = function () {
+ showTooltip.apply(this, arguments)
+ var $tip = this.tip()
+ , tooltipID = $tip.attr('id') || uniqueId('ui-tooltip')
+ $tip.attr({'role':'tooltip','id' : tooltipID})
+ this.$element.attr('aria-describedby', tooltipID)
+ }
+
+ $.fn.tooltip.Constructor.prototype.hide = function () {
+ hideTooltip.apply(this, arguments)
+ removeMultiValAttributes(this.$element, 'aria-describedby', this.tip().attr('id'))
+ return this
+ }
+ // Popover Extension
+ // ===============================
+
+ var showPopover = $.fn.popover.Constructor.prototype.setContent
+ , hidePopover = $.fn.popover.Constructor.prototype.hide
+
+ $.fn.popover.Constructor.prototype.setContent = function(){
+ showPopover.apply(this, arguments)
+ var $tip = this.tip()
+ , tooltipID = $tip.attr('id') || uniqueId('ui-tooltip')
+ $tip.attr({'role':'alert','id' : tooltipID})
+ this.$element.attr('aria-describedby', tooltipID)
+ this.$element.focus()
+ }
+ $.fn.popover.Constructor.prototype.hide = function(){
+ hidePopover.apply(this, arguments)
+ removeMultiValAttributes(this.$element, 'aria-describedby', this.tip().attr('id'))
+ return this
+ }
+
+ // Modal Extension
+ // ===============================
+
+ $('.modal-dialog').attr( {'role' : 'document'})
+ var modalhide = $.fn.modal.Constructor.prototype.hide
+ $.fn.modal.Constructor.prototype.hide = function(){
+ var modalOpener = this.$element.parent().find('[data-target="#' + this.$element.attr('id') + '"]')
+ modalhide.apply(this, arguments)
+ console.log('modalOpener' , modalOpener)
+ modalOpener.focus()
+ }
+ // DROPDOWN Extension
+ // ===============================
+
+ var toggle = '[data-toggle=dropdown]'
+ , $par
+ , firstItem
+ , focusDelay = 200
+ , menus = $(toggle).parent().find('ul').attr('role','menu')
+ , lis = menus.find('li').attr('role','presentation')
+
+ lis.find('a').attr({'role':'menuitem', 'tabIndex':'-1'})
+ $(toggle).attr({ 'aria-haspopup':'true', 'aria-expanded': 'false'})
+
+ $(toggle).parent().on('shown.bs.dropdown',function(e){
+ $par = $(this)
+ var $toggle = $par.find(toggle)
+ $toggle.attr('aria-expanded','true')
+
+ setTimeout(function(){
+ firstItem = $('.dropdown-menu [role=menuitem]:visible', $par)[0]
+ try{ firstItem.focus()} catch(ex) {}
+ }, focusDelay)
+ })
+
+ $(toggle).parent().on('hidden.bs.dropdown',function(e){
+ $par = $(this)
+ var $toggle = $par.find(toggle)
+ $toggle.attr('aria-expanded','false')
+ })
+
+ //Adding Space Key Behaviour, opens on spacebar
+ $.fn.dropdown.Constructor.prototype.keydown = function (e) {
+ var $par
+ , firstItem
+ if (!/(32)/.test(e.keyCode)) return
+ $par = $(this).parent()
+ $(this).trigger ("click")
+ e.preventDefault() && e.stopPropagation()
+ }
+
+ $(document)
+ .on('focusout.dropdown.data-api', '.dropdown-menu', function(e){
+ var $this = $(this)
+ , that = this
+ setTimeout(function() {
+ if(!$.contains(that, document.activeElement)){
+ $this.parent().removeClass('open')
+ $this.parent().find('[data-toggle=dropdown]').attr('aria-expanded','false')
+ }
+ }, 150)
+ })
+ .on('keydown.bs.dropdown.data-api', toggle + ', [role=menu]' , $.fn.dropdown.Constructor.prototype.keydown)
+ // Tab Extension
+ // ===============================
+
+ var $tablist = $('.nav-tabs, .nav-pills')
+ , $lis = $tablist.children('li')
+ , $tabs = $tablist.find('[data-toggle="tab"], [data-toggle="pill"]')
+
+ $tablist.attr('role', 'tablist')
+ $lis.attr('role', 'presentation')
+ $tabs.attr('role', 'tab')
+
+ $tabs.each(function( index ) {
+ var tabpanel = $($(this).attr('href'))
+ , tab = $(this)
+ , tabid = tab.attr('id') || uniqueId('ui-tab')
+
+ tab.attr('id', tabid)
+
+ if(tab.parent().hasClass('active')){
+ tab.attr( { 'tabIndex' : '0', 'aria-selected' : 'true', 'aria-controls': tab.attr('href').substr(1) } )
+ tabpanel.attr({ 'role' : 'tabpanel', 'tabIndex' : '0', 'aria-hidden' : 'false', 'aria-labelledby':tabid })
+ }else{
+ tab.attr( { 'tabIndex' : '-1', 'aria-selected' : 'false', 'aria-controls': tab.attr('href').substr(1) } )
+ tabpanel.attr( { 'role' : 'tabpanel', 'tabIndex' : '-1', 'aria-hidden' : 'true', 'aria-labelledby':tabid } )
+ }
+ })
+
+ $.fn.tab.Constructor.prototype.keydown = function (e) {
+ var $this = $(this)
+ , $items
+ , $ul = $this.closest('ul[role=tablist] ')
+ , index
+ , k = e.which || e.keyCode
+
+ $this = $(this)
+ if (!/(37|38|39|40)/.test(k)) return
+
+ $items = $ul.find('[role=tab]:visible')
+ index = $items.index($items.filter(':focus'))
+
+ if (k == 38 || k == 37) index-- // up & left
+ if (k == 39 || k == 40) index++ // down & right
+
+
+ if(index < 0) index = $items.length -1
+ if(index == $items.length) index = 0
+
+ var nextTab = $items.eq(index)
+ if(nextTab.attr('role') ==='tab'){
+
+ nextTab.tab('show') //Comment this line for dynamically loaded tabPabels, to save Ajax requests on arrow key navigation
+ .focus()
+ }
+ // nextTab.focus()
+
+ e.preventDefault()
+ e.stopPropagation()
+ }
+
+ $(document).on('keydown.tab.data-api','[data-toggle="tab"], [data-toggle="pill"]' , $.fn.tab.Constructor.prototype.keydown)
+
+ var tabactivate = $.fn.tab.Constructor.prototype.activate;
+ $.fn.tab.Constructor.prototype.activate = function (element, container, callback) {
+ var $active = container.find('> .active')
+ $active.find('[data-toggle=tab], [data-toggle=pill]').attr({ 'tabIndex' : '-1','aria-selected' : false })
+ $active.filter('.tab-pane').attr({ 'aria-hidden' : true,'tabIndex' : '-1' })
+
+ tabactivate.apply(this, arguments)
+
+ element.addClass('active')
+ element.find('[data-toggle=tab], [data-toggle=pill]').attr({ 'tabIndex' : '0','aria-selected' : true })
+ element.filter('.tab-pane').attr({ 'aria-hidden' : false,'tabIndex' : '0' })
+ }
+
+ // Collapse Extension
+ // ===============================
+
+ var $colltabs = $('[data-toggle="collapse"]')
+ $colltabs.attr({ 'role':'tab', 'aria-selected':'false', 'aria-expanded':'false' })
+ $colltabs.each(function( index ) {
+ var colltab = $(this)
+ , collpanel = (colltab.attr('data-target')) ? $(colltab.attr('data-target')) : $(colltab.attr('href'))
+ , parent = colltab.attr('data-parent')
+ , collparent = parent && $(parent)
+ , collid = colltab.attr('id') || uniqueId('ui-collapse')
+
+ $(collparent).find('div:not(.collapse,.panel-body), h4').attr('role','presentation')
+
+ colltab.attr('id', collid)
+ if(collparent){
+ collparent.attr({ 'role' : 'tablist', 'aria-multiselectable' : 'true' })
+ if(collpanel.hasClass('in')){
+ colltab.attr({ 'aria-controls': colltab.attr('href').substr(1), 'aria-selected':'true', 'aria-expanded':'true', 'tabindex':'0' })
+ collpanel.attr({ 'role':'tabpanel', 'tabindex':'0', 'aria-labelledby':collid, 'aria-hidden':'false' })
+ }else{
+ colltab.attr({'aria-controls' : colltab.attr('href').substr(1), 'tabindex':'-1' })
+ collpanel.attr({ 'role':'tabpanel', 'tabindex':'-1', 'aria-labelledby':collid, 'aria-hidden':'true' })
+ }
+ }
+ })
+
+ var collToggle = $.fn.collapse.Constructor.prototype.toggle
+ $.fn.collapse.Constructor.prototype.toggle = function(){
+ var prevTab = this.$parent && this.$parent.find('[aria-expanded="true"]') , href
+
+ if(prevTab){
+ var prevPanel = prevTab.attr('data-target') || (href = prevTab.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')
+ , $prevPanel = $(prevPanel)
+ , $curPanel = this.$element
+ , par = this.$parent
+ , curTab
+
+ if (this.$parent) curTab = this.$parent.find('[data-toggle=collapse][href="#' + this.$element.attr('id') + '"]')
+
+ collToggle.apply(this, arguments)
+
+ if ($.support.transition) {
+ this.$element.one($.support.transition.end, function(){
+
+ prevTab.attr({ 'aria-selected':'false','aria-expanded':'false', 'tabIndex':'-1' })
+ $prevPanel.attr({ 'aria-hidden' : 'true','tabIndex' : '-1'})
+
+ curTab.attr({ 'aria-selected':'true','aria-expanded':'true', 'tabIndex':'0' })
+
+ if($curPanel.hasClass('in')){
+ $curPanel.attr({ 'aria-hidden' : 'false','tabIndex' : '0' })
+ }else{
+ curTab.attr({ 'aria-selected':'false','aria-expanded':'false'})
+ $curPanel.attr({ 'aria-hidden' : 'true','tabIndex' : '-1' })
+ }
+ })
+ }
+ }else{
+ collToggle.apply(this, arguments)
+ }
+ }
+
+ $.fn.collapse.Constructor.prototype.keydown = function (e) {
+ var $this = $(this)
+ , $items
+ , $tablist = $this.closest('div[role=tablist] ')
+ , index
+ , k = e.which || e.keyCode
+
+ $this = $(this)
+ if (!/(32|37|38|39|40)/.test(k)) return
+ if(k==32) $this.click()
+
+ $items = $tablist.find('[role=tab]')
+ index = $items.index($items.filter(':focus'))
+
+ if (k == 38 || k == 37) index-- // up & left
+ if (k == 39 || k == 40) index++ // down & right
+ if(index < 0) index = $items.length -1
+ if(index == $items.length) index = 0
+
+ $items.eq(index).focus()
+
+ e.preventDefault()
+ e.stopPropagation()
+
+ }
+
+ $(document).on('keydown.collapse.data-api','[data-toggle="collapse"]' , $.fn.collapse.Constructor.prototype.keydown)
+
+ // Carousel Extension
+ // ===============================
+
+ $('.carousel').each(function (index) {
+ var $this = $(this)
+ , prev = $this.find('[data-slide="prev"]')
+ , next = $this.find('[data-slide="next"]')
+ , $options = $this.find('.item')
+ , $listbox = $options.parent()
+
+ $this.attr( { 'data-interval' : 'false', 'data-wrap' : 'false' } )
+ $listbox.attr('role', 'listbox')
+ $options.attr('role', 'option')
+
+ var spanPrev = document.createElement('span')
+ spanPrev.setAttribute('class', 'sr-only')
+ spanPrev.innerHTML='Previous'
+
+ var spanNext = document.createElement('span')
+ spanNext.setAttribute('class', 'sr-only')
+ spanNext.innerHTML='Next'
+
+ prev.attr('role', 'button')
+ next.attr('role', 'button')
+
+ prev.append(spanPrev)
+ next.append(spanNext)
+
+ $options.each(function () {
+ var item = $(this)
+ if(item.hasClass('active')){
+ item.attr({ 'aria-selected': 'true', 'tabindex' : '0' })
+ }else{
+ item.attr({ 'aria-selected': 'false', 'tabindex' : '-1' })
+ }
+ })
+ })
+
+ var slideCarousel = $.fn.carousel.Constructor.prototype.slide
+ $.fn.carousel.Constructor.prototype.slide = function (type, next) {
+ var $active = this.$element.find('.item.active')
+ , $next = next || $active[type]()
+
+ slideCarousel.apply(this, arguments)
+
+ $active
+ .one($.support.transition.end, function () {
+ $active.attr({'aria-selected':false, 'tabIndex': '-1'})
+ $next.attr({'aria-selected':true, 'tabIndex': '0'})
+ //.focus()
+ })
+ }
+
+ $.fn.carousel.Constructor.prototype.keydown = function (e) {
+ var $this = $(this)
+ , $ul = $this.closest('div[role=listbox]')
+ , $items = $ul.find('[role=option]')
+ , $parent = $ul.parent()
+ , k = e.which || e.keyCode
+ , index
+ , i
+
+ if (!/(37|38|39|40)/.test(k)) return
+
+ index = $items.index($items.filter('.active'))
+ if (k == 37 || k == 38) { // Up
+ $parent.carousel('prev')
+ index--
+ if(index < 0) index = $items.length -1
+ else $this.prev().focus()
+
+ }
+ if (k == 39 || k == 40) { // Down
+ $parent.carousel('next')
+ index++
+ if(index == $items.length) index = 0
+ else {
+ $this.one($.support.transition.end, function () {
+ $this.next().focus()
+ })
+ }
+
+ }
+
+ e.preventDefault()
+ e.stopPropagation()
+ }
+ $(document).on('keydown.carousel.data-api', 'div[role=option]', $.fn.carousel.Constructor.prototype.keydown)
+
+ })(jQuery);
\ No newline at end of file
diff --git a/bootstrap.accessibility/bootstrap.accessibility_1.0.3/bootstrap.accessibility.dnn b/bootstrap.accessibility/bootstrap.accessibility_1.0.3/bootstrap.accessibility.dnn
new file mode 100644
index 00000000..832a4aad
--- /dev/null
+++ b/bootstrap.accessibility/bootstrap.accessibility_1.0.3/bootstrap.accessibility.dnn
@@ -0,0 +1,45 @@
+
+
+
+ Bootstrap Accessibility Plugin
+ http://paypal.github.io/bootstrap-accessibility-plugin/demo.html]]>
+
+ Engage Software
+ Engage Software
+ http://www.engagesoftware.com
+ support@engagesoftware.com
+
+
+
+ true
+
+ jQuery
+
+
+
+
+ bootstrap.accessibility
+ bootstrap-accessibility.js
+ BodyBottom
+
+
+
+
+ bootstrap.accessibility
+
+ bootstrap-accessibility.js
+
+
+
+
+
+ Resources\Libraries\bootstrap.accessibility\01_00_03
+
+ Resources.zip
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/html5shiv/html5shiv_3.7.2/CHANGES.htm b/html5shiv/html5shiv_3.7.2/CHANGES.htm
new file mode 100644
index 00000000..3dd977eb
--- /dev/null
+++ b/html5shiv/html5shiv_3.7.2/CHANGES.htm
@@ -0,0 +1,67 @@
+
+
+ v 3.3
+
+
complete refactoring by jdalton
+
+
+
huge performance improvement on createElement (more than 10 times faster compared to 3.2)
+
improved inline documentation
+
+ v 3.1/3.2
+
+
+
fixed issue with vml elements
+
small performance improvement for createElement (1.6 times faster compared to 3.0)
+
+ v 3.0
+
+
Complete rewrite by jonathantneal
+
+
+
print iframe fix
+
includes normalized styles for unknown elements
+
fixes createElement/createDocumentFragement for unknown elements
here is the list of fixed issues and made changes. I have also added a list of known issues (The first one is really critical, but needs a lot work...).
+
+
+ Fixes:
+
+
+
print error on second print/print preview
+
allow styling through body id (i.e.: body#some-id article)
+
wrong selector parsing in IE8 (subbug: @media print { } blocks in media=all stylesheets are ignored, but fixed a lot more than just that)
+
alternate/disabled stylesheets aren't parsed (can solve problems with mediaqueries polyfills/styleswitchers)
+
styles with multiple media declaration or mediaqueries (i.e.:media="screen, projection", media="only screen...") are not used as print styles (unless, they have print or all medium) (this also fixes a lot of slowness and crashes)
+
reset default media type to "all", with every new stylesheet (fixes errors, if a stylesheet had no media attribute, but the previous had a non-print media-attribute)
+
+ Features:
+
+
+ Configuration:
+
+
+
iepp.html5elements: override shimed html5elements (developer can add additional html5elements or reduce the elements)
+
iepp.disablePP: disables print protection without disabling standard shiv (in case, print protection causes too much trouble, it's still a big hack)
+
+ Extras:
+
+
+
simple testsuite
+
[unofficial] API (created for testing, but can be used for monkey patching)
+
+ Known issues:
+
+
+
+ @media screen {} blocks in media all are treated as print-styles (This would need a big rewrite)
+
selector order (Currently, this seems "by design", but should be changed. Also needs a big rewrite)
+
change of selector specificity (.iepp_article <-> article) (Currently this seems "by design", but for IE7 and IE8, it can be changed to[data-iepp-elem="article"]<-> article)
+
Before someone is looking into the first two known issues, we should create good performance tests. Fixing last issue only makes sense, if we also fix the selector order...
+
\ No newline at end of file
diff --git a/html5shiv/html5shiv_3.7.2/LICENSE.htm b/html5shiv/html5shiv_3.7.2/LICENSE.htm
new file mode 100644
index 00000000..7552c80f
--- /dev/null
+++ b/html5shiv/html5shiv_3.7.2/LICENSE.htm
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/jQuery.cycle2/jQuery.cycle2_2.1.5/02_jQuery.cycle2.caption_2.1.5/jQuery.cycle2.caption.dnn b/jQuery.cycle2/jQuery.cycle2_2.1.5/02_jQuery.cycle2.caption_2.1.5/jQuery.cycle2.caption.dnn
new file mode 100644
index 00000000..883e85b8
--- /dev/null
+++ b/jQuery.cycle2/jQuery.cycle2_2.1.5/02_jQuery.cycle2.caption_2.1.5/jQuery.cycle2.caption.dnn
@@ -0,0 +1,40 @@
+
+
+
+
+ Cycle2 Caption plugin
+ the demo. It is included by default in the jQuery.Cycle2 library.]]>
+
+ Engage Software
+ Engage Software
+ http://www.engagesoftware.com
+ support@engagesoftware.com
+
+
+
+ true
+
+ jQuery
+ jQuery.cycle2.core
+ jQuery.cycle2.tmpl
+
+
+
+
+ jQuery.cycle2.caption
+ jQuery.cycle2.caption.js
+ BodyBottom
+
+
+
+
+ jQuery.cycle2.caption
+
+ jQuery.cycle2.caption.js
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jQuery.cycle2/jQuery.cycle2_2.1.5/02_jQuery.cycle2.caption_2.1.5/jquery.cycle2.caption.min.js b/jQuery.cycle2/jQuery.cycle2_2.1.5/02_jQuery.cycle2.caption_2.1.5/jquery.cycle2.caption.min.js
new file mode 100644
index 00000000..59aefbec
--- /dev/null
+++ b/jQuery.cycle2/jQuery.cycle2_2.1.5/02_jQuery.cycle2.caption_2.1.5/jquery.cycle2.caption.min.js
@@ -0,0 +1,2 @@
+/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140415 */
+!function(a){"use strict";a.extend(a.fn.cycle.defaults,{caption:"> .cycle-caption",captionTemplate:"{{slideNum}} / {{slideCount}}",overlay:"> .cycle-overlay",overlayTemplate:"
{{title}}
{{desc}}
",captionModule:"caption"}),a(document).on("cycle-update-view",function(b,c,d,e){if("caption"===c.captionModule){a.each(["caption","overlay"],function(){var a=this,b=d[a+"Template"],f=c.API.getComponent(a);f.length&&b?(f.html(c.API.tmpl(b,d,c,e)),f.show()):f.hide()})}}),a(document).on("cycle-destroyed",function(b,c){var d;a.each(["caption","overlay"],function(){var a=this,b=c[a+"Template"];c[a]&&b&&(d=c.API.getComponent("caption"),d.empty())})})}(jQuery);
\ No newline at end of file
diff --git a/jQuery.cycle2/jQuery.cycle2_2.1.5/02_jQuery.cycle2.command_2.1.5/LICENSE.htm b/jQuery.cycle2/jQuery.cycle2_2.1.5/02_jQuery.cycle2.command_2.1.5/LICENSE.htm
new file mode 100644
index 00000000..ebef1aa5
--- /dev/null
+++ b/jQuery.cycle2/jQuery.cycle2_2.1.5/02_jQuery.cycle2.command_2.1.5/LICENSE.htm
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/jQuery.cycle2/jQuery.cycle2_2.1.5/jquery.tcycle_2.1.5/jQuery.tcycle.dnn b/jQuery.cycle2/jQuery.cycle2_2.1.5/jquery.tcycle_2.1.5/jQuery.tcycle.dnn
new file mode 100644
index 00000000..4ca5604f
--- /dev/null
+++ b/jQuery.cycle2/jQuery.cycle2_2.1.5/jquery.tcycle_2.1.5/jQuery.tcycle.dnn
@@ -0,0 +1,38 @@
+
+
+
+
+ tCycle
+ the demo.]]>
+
+ Engage Software
+ Engage Software
+ http://www.engagesoftware.com
+ support@engagesoftware.com
+
+
+
+ true
+
+ jQuery
+
+
+
+
+ jQuery.tcycle
+ jQuery.tcycle.js
+ BodyBottom
+
+
+
+
+ jQuery.tcycle
+
+ jQuery.tcycle.js
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jQuery.cycle2/jQuery.cycle2_2.1.5/jquery.tcycle_2.1.5/jquery.tcycle.js b/jQuery.cycle2/jQuery.cycle2_2.1.5/jquery.tcycle_2.1.5/jquery.tcycle.js
new file mode 100644
index 00000000..6293127f
--- /dev/null
+++ b/jQuery.cycle2/jQuery.cycle2_2.1.5/jquery.tcycle_2.1.5/jquery.tcycle.js
@@ -0,0 +1,37 @@
+/*! tCycle (c) 2013 M.Alsup MIT/GPL 20131130 */
+(function($){
+"use strict";
+$.fn.tcycle = function(){
+
+return this.each(function(){
+ var i=0, c=$(this), s=c.children(), o=$.extend({speed:500,timeout:4000},c.data()), f=o.fx!='scroll',
+ l=s.length, w=c.width(), z=o.speed, t=o.timeout, css={overflow:'hidden'}, p='position', a='absolute',
+ tfn=function(){setTimeout(tx,t);}, scss = $.extend({position:a,top:0}, f?{left:0}:{left:w}, o.scss);
+ if (c.css(p)=='static')
+ css[p]='relative';
+ c.prepend($(s[0]).clone().css('visibility','hidden')).css(css);
+ s.css(scss);
+ if(f)
+ s.hide().eq(0).show();
+ else
+ s.eq(0).css('left',0);
+ setTimeout(tx,t);
+
+ function tx(){
+ var n = i==(l-1) ? 0 : (i+1), w=c.width(), a=$(s[i]), b=$(s[n]);
+ if (f){
+ a.fadeOut(z);
+ b.fadeIn(z,tfn);
+ }else{
+ a.animate({left:-w},z,function(){
+ a.hide();
+ });
+ b.css({'left':w,display:'block'}).animate({left:0},z,tfn);
+ }
+ i = i==(l-1) ? 0 : (i+1);
+ }
+});
+
+};
+$(function(){$('.tcycle').tcycle();});
+})(jQuery);
\ No newline at end of file
diff --git a/knockout.validation/knockout.validation_2.0.0-pre.3/CHANGES.htm b/knockout.validation/knockout.validation_2.0.0-pre.3/CHANGES.htm
new file mode 100644
index 00000000..35d28516
--- /dev/null
+++ b/knockout.validation/knockout.validation_2.0.0-pre.3/CHANGES.htm
@@ -0,0 +1,14 @@
+
+
+ 2.0.0-pre.3 - October, 2013
+
+
Requires Knockout 3
+
+
+
+ 1.0.2 - October 30, 2012
+
+
Support for Knockout 2.2
+
+
+
\ No newline at end of file
diff --git a/knockout.validation/knockout.validation_2.0.0-pre.3/LICENSE.htm b/knockout.validation/knockout.validation_2.0.0-pre.3/LICENSE.htm
new file mode 100644
index 00000000..1641c699
--- /dev/null
+++ b/knockout.validation/knockout.validation_2.0.0-pre.3/LICENSE.htm
@@ -0,0 +1 @@
+